]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - arch/powerpc/kvm/e500mc.c
KVM: PPC: Move kvm_vcpu_init() invocation to common code
[linux.git] / arch / powerpc / kvm / e500mc.c
index 6c782b8bae0d0e84056abfa49a54f896d4f2ebec..e6b06cb2b92c8e5fabeb4efa7435c04df0295b26 100644 (file)
@@ -301,8 +301,7 @@ static int kvmppc_set_one_reg_e500mc(struct kvm_vcpu *vcpu, u64 id,
        return r;
 }
 
-static int kvmppc_core_vcpu_create_e500mc(struct kvm *kvm, struct kvm_vcpu *vcpu,
-                                         unsigned int id)
+static int kvmppc_core_vcpu_create_e500mc(struct kvm_vcpu *vcpu)
 {
        struct kvmppc_vcpu_e500 *vcpu_e500;
        int err;
@@ -310,16 +309,12 @@ static int kvmppc_core_vcpu_create_e500mc(struct kvm *kvm, struct kvm_vcpu *vcpu
        BUILD_BUG_ON(offsetof(struct kvmppc_vcpu_e500, vcpu) != 0);
        vcpu_e500 = to_e500(vcpu);
 
-       err = kvm_vcpu_init(vcpu, kvm, id);
-       if (err)
-               return err;
-
        /* Invalid PIR value -- this LPID dosn't have valid state on any cpu */
        vcpu->arch.oldpir = 0xffffffff;
 
        err = kvmppc_e500_tlb_init(vcpu_e500);
        if (err)
-               goto uninit_vcpu;
+               return err;
 
        vcpu->arch.shared = (void *)__get_free_page(GFP_KERNEL | __GFP_ZERO);
        if (!vcpu->arch.shared) {
@@ -331,8 +326,6 @@ static int kvmppc_core_vcpu_create_e500mc(struct kvm *kvm, struct kvm_vcpu *vcpu
 
 uninit_tlb:
        kvmppc_e500_tlb_uninit(vcpu_e500);
-uninit_vcpu:
-       kvm_vcpu_uninit(vcpu);
        return err;
 }
 
@@ -342,7 +335,6 @@ static void kvmppc_core_vcpu_free_e500mc(struct kvm_vcpu *vcpu)
 
        free_page((unsigned long)vcpu->arch.shared);
        kvmppc_e500_tlb_uninit(vcpu_e500);
-       kvm_vcpu_uninit(vcpu);
 }
 
 static int kvmppc_core_init_vm_e500mc(struct kvm *kvm)