KVM: PPC: Pass init/destroy vm and prepare/commit memory region ops down
[pandora-kernel.git] / arch / powerpc / kvm / powerpc.c
index 616dd51..0c80e15 100644 (file)
@@ -73,7 +73,8 @@ int kvmppc_kvm_pv(struct kvm_vcpu *vcpu)
        }
        case HC_VENDOR_KVM | KVM_HC_FEATURES:
                r = HC_EV_SUCCESS;
-#if defined(CONFIG_PPC_BOOK3S) /* XXX Missing magic page on BookE */
+#if defined(CONFIG_PPC_BOOK3S) || defined(CONFIG_KVM_E500)
+               /* XXX Missing magic page on 44x */
                r2 |= (1 << KVM_FEATURE_MAGIC_PAGE);
 #endif
 
@@ -147,7 +148,7 @@ void kvm_arch_check_processor_compat(void *rtn)
 
 int kvm_arch_init_vm(struct kvm *kvm)
 {
-       return 0;
+       return kvmppc_core_init_vm(kvm);
 }
 
 void kvm_arch_destroy_vm(struct kvm *kvm)
@@ -163,6 +164,9 @@ void kvm_arch_destroy_vm(struct kvm *kvm)
                kvm->vcpus[i] = NULL;
 
        atomic_set(&kvm->online_vcpus, 0);
+
+       kvmppc_core_destroy_vm(kvm);
+
        mutex_unlock(&kvm->lock);
 }
 
@@ -211,7 +215,7 @@ int kvm_arch_prepare_memory_region(struct kvm *kvm,
                                    struct kvm_userspace_memory_region *mem,
                                    int user_alloc)
 {
-       return 0;
+       return kvmppc_core_prepare_memory_region(kvm, mem);
 }
 
 void kvm_arch_commit_memory_region(struct kvm *kvm,
@@ -219,7 +223,7 @@ void kvm_arch_commit_memory_region(struct kvm *kvm,
                struct kvm_memory_slot old,
                int user_alloc)
 {
-       return;
+       kvmppc_core_commit_memory_region(kvm, mem);
 }