diff --git a/arch/sw_64/kvm/kvm-sw64.c b/arch/sw_64/kvm/kvm-sw64.c index 9d209141820cd4d6679662b30e6f26130a05aacf..06e969caaaa6f12881fb61ccb61ebc3f82ce99fa 100644 --- a/arch/sw_64/kvm/kvm-sw64.c +++ b/arch/sw_64/kvm/kvm-sw64.c @@ -308,6 +308,12 @@ int kvm_arch_prepare_memory_region(struct kvm *kvm, if (change == KVM_MR_FLAGS_ONLY || change == KVM_MR_DELETE) return 0; + if (test_bit(IO_MARK_BIT, &(mem->guest_phys_addr))) + return 0; + + if (test_bit(IO_MARK_BIT + 1, &(mem->guest_phys_addr))) + return 0; + #ifndef CONFIG_KVM_MEMHOTPLUG if (mem->guest_phys_addr) { pr_info("%s, No KVM MEMHOTPLUG support!\n", __func__); @@ -315,12 +321,6 @@ int kvm_arch_prepare_memory_region(struct kvm *kvm, } #endif - if (test_bit(IO_MARK_BIT, &(mem->guest_phys_addr))) - return 0; - - if (test_bit(IO_MARK_BIT + 1, &(mem->guest_phys_addr))) - return 0; - if (!sw64_kvm_pool) return -ENOMEM;