KVM: SVM: Drop tlb flush workaround in npt
authorAvi Kivity <avi@redhat.com>
Mon, 10 Aug 2009 12:42:41 +0000 (15:42 +0300)
committerAvi Kivity <avi@redhat.com>
Thu, 10 Sep 2009 07:46:40 +0000 (10:46 +0300)
It is no longer possible to reproduce the problem any more, so presumably
it has been fixed.

Signed-off-by: Avi Kivity <avi@redhat.com>
arch/x86/kvm/svm.c

index 8f7751a66a2b6f8a8f8c4f531761885ac932eccc..944cc9c04b3cea96be481838bf2fd890ed1edc5a 100644 (file)
@@ -1187,17 +1187,8 @@ static int pf_interception(struct vcpu_svm *svm, struct kvm_run *kvm_run)
        error_code = svm->vmcb->control.exit_info_1;
 
        trace_kvm_page_fault(fault_address, error_code);
-       /*
-        * FIXME: Tis shouldn't be necessary here, but there is a flush
-        * missing in the MMU code. Until we find this bug, flush the
-        * complete TLB here on an NPF
-        */
-       if (npt_enabled)
-               svm_flush_tlb(&svm->vcpu);
-       else {
-               if (kvm_event_needs_reinjection(&svm->vcpu))
-                       kvm_mmu_unprotect_page_virt(&svm->vcpu, fault_address);
-       }
+       if (!npt_enabled && kvm_event_needs_reinjection(&svm->vcpu))
+               kvm_mmu_unprotect_page_virt(&svm->vcpu, fault_address);
        return kvm_mmu_page_fault(&svm->vcpu, fault_address, error_code);
 }