aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kvm
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2010-07-29 14:47:55 +0200
committerAvi Kivity <avi@redhat.com>2010-10-24 10:50:49 +0200
commit5fc87407b55f5799418f4dc5931232c2bc06d077 (patch)
treea4551597970f86783b53a02016387c89d1a5c703 /arch/powerpc/kvm
parente8508940a88691ad3d1c46608cd968eb4be9cbc5 (diff)
downloadkernel_samsung_smdk4412-5fc87407b55f5799418f4dc5931232c2bc06d077.zip
kernel_samsung_smdk4412-5fc87407b55f5799418f4dc5931232c2bc06d077.tar.gz
kernel_samsung_smdk4412-5fc87407b55f5799418f4dc5931232c2bc06d077.tar.bz2
KVM: PPC: Expose magic page support to guest
Now that we have the shared page in place and the MMU code knows about the magic page, we can expose that capability to the guest! Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/powerpc/kvm')
-rw-r--r--arch/powerpc/kvm/powerpc.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c
index a4cf4b4..fecfe04 100644
--- a/arch/powerpc/kvm/powerpc.c
+++ b/arch/powerpc/kvm/powerpc.c
@@ -61,8 +61,19 @@ int kvmppc_kvm_pv(struct kvm_vcpu *vcpu)
}
switch (nr) {
+ case HC_VENDOR_KVM | KVM_HC_PPC_MAP_MAGIC_PAGE:
+ {
+ vcpu->arch.magic_page_pa = param1;
+ vcpu->arch.magic_page_ea = param2;
+
+ r = HC_EV_SUCCESS;
+ break;
+ }
case HC_VENDOR_KVM | KVM_HC_FEATURES:
r = HC_EV_SUCCESS;
+#if defined(CONFIG_PPC_BOOK3S) /* XXX Missing magic page on BookE */
+ r2 |= (1 << KVM_FEATURE_MAGIC_PAGE);
+#endif
/* Second return value is in r4 */
kvmppc_set_gpr(vcpu, 4, r2);