Patchwork [13/15] KVM: PPC: Book3S HV: Add H_SET_MODE DAWR/X setting

login
register
mail settings
Submitter Paul Mackerras
Date Nov. 9, 2013, 11:05 a.m.
Message ID <1383995103-24732-14-git-send-email-paulus@samba.org>
Download mbox | patch
Permalink /patch/289984/
State New
Headers show

Comments

Paul Mackerras - Nov. 9, 2013, 11:05 a.m.
From: Michael Neuling <mikey@neuling.org>

This add setting the DAWR/X via the H_SET_MODE hcall.  This is set per vcpu.

Signed-off-by: Michael Neuling <mikey@neuling.org>
---
 arch/powerpc/kvm/book3s_hv.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

Patch

diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c
index 0c309d9..3bafc6f 100644
--- a/arch/powerpc/kvm/book3s_hv.c
+++ b/arch/powerpc/kvm/book3s_hv.c
@@ -568,6 +568,16 @@  static int kvmppc_h_set_mode(struct kvm_vcpu *vcpu, unsigned long mflags,
 	int n;
 
 	switch (resource) {
+	case H_SET_MODE_RESOURCE_SET_DAWR:
+		if (!kvmppc_power8_compatible(vcpu))
+			return H_P2;
+		if (mflags)
+			return H_UNSUPPORTED_FLAG_START;
+		if (value2 & DABRX_HYP)
+			return H_P4;
+		vcpu->arch.dawr  = value1;
+		vcpu->arch.dawrx = value2;
+		return H_SUCCESS;
 	case H_SET_MODE_RESOURCE_ADDR_TRANS_MODE:
 		if (!kvmppc_power8_compatible(vcpu))
 			return H_P2;