Moving it to generic code will allow us to extend it with ease.

Signed-off-by: Radim Krčmář <rkrc...@redhat.com>
---
 include/linux/kvm_host.h | 12 ------------
 virt/kvm/kvm_main.c      | 16 +++++++++++++---
 2 files changed, 13 insertions(+), 15 deletions(-)

diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
index 397b7b5b1933..ae4e114cb7d1 100644
--- a/include/linux/kvm_host.h
+++ b/include/linux/kvm_host.h
@@ -769,18 +769,6 @@ int kvm_arch_vcpu_should_kick(struct kvm_vcpu *vcpu);
 
 void *kvm_kvzalloc(unsigned long size);
 
-#ifndef __KVM_HAVE_ARCH_VM_ALLOC
-static inline struct kvm *kvm_arch_alloc_vm(void)
-{
-       return kzalloc(sizeof(struct kvm), GFP_KERNEL);
-}
-
-static inline void kvm_arch_free_vm(struct kvm *kvm)
-{
-       kfree(kvm);
-}
-#endif
-
 #ifdef __KVM_HAVE_ARCH_NONCOHERENT_DMA
 void kvm_arch_register_noncoherent_dma(struct kvm *kvm);
 void kvm_arch_unregister_noncoherent_dma(struct kvm *kvm);
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index 357e67cba32e..f03b093abffe 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -604,10 +604,20 @@ static int kvm_create_vm_debugfs(struct kvm *kvm, int fd)
        return 0;
 }
 
+static inline struct kvm *kvm_alloc_vm(void)
+{
+       return kzalloc(sizeof(struct kvm), GFP_KERNEL);
+}
+
+static inline void kvm_free_vm(struct kvm *kvm)
+{
+       kfree(kvm);
+}
+
 static struct kvm *kvm_create_vm(unsigned long type)
 {
        int r, i;
-       struct kvm *kvm = kvm_arch_alloc_vm();
+       struct kvm *kvm = kvm_alloc_vm();
 
        if (!kvm)
                return ERR_PTR(-ENOMEM);
@@ -684,7 +694,7 @@ static struct kvm *kvm_create_vm(unsigned long type)
                kfree(kvm->buses[i]);
        for (i = 0; i < KVM_ADDRESS_SPACE_NUM; i++)
                kvm_free_memslots(kvm, kvm->memslots[i]);
-       kvm_arch_free_vm(kvm);
+       kvm_free_vm(kvm);
        mmdrop(current->mm);
        return ERR_PTR(r);
 }
@@ -744,7 +754,7 @@ static void kvm_destroy_vm(struct kvm *kvm)
                kvm_free_memslots(kvm, kvm->memslots[i]);
        cleanup_srcu_struct(&kvm->irq_srcu);
        cleanup_srcu_struct(&kvm->srcu);
-       kvm_arch_free_vm(kvm);
+       kvm_free_vm(kvm);
        preempt_notifier_dec();
        hardware_disable_all();
        mmdrop(mm);
-- 
2.12.0

Reply via email to