]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
KVM: Make paravirt tlb flush also reload the PAE PDPTRs
authorAvi Kivity <avi@redhat.com>
Thu, 6 Aug 2009 17:40:02 +0000 (14:40 -0300)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 9 Sep 2009 03:17:23 +0000 (20:17 -0700)
(cherry picked from commit a8cd0244e9cebcf9b358d24c7e7410062f3665cb)

The paravirt tlb flush may be used not only to flush TLBs, but also
to reload the four page-directory-pointer-table entries, as it is used
as a replacement for reloading CR3.  Change the code to do the entire
CR3 reloading dance instead of simply flushing the TLB.

Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
arch/x86/kvm/mmu.c

index 0376c8e7b7d4193ce7802e5f56682bef09541eef..f23e7a49bdb34dffe7b51f4f436a5ad556ef568a 100644 (file)
@@ -2233,7 +2233,7 @@ static int kvm_pv_mmu_write(struct kvm_vcpu *vcpu,
 
 static int kvm_pv_mmu_flush_tlb(struct kvm_vcpu *vcpu)
 {
-       kvm_x86_ops->tlb_flush(vcpu);
+       kvm_set_cr3(vcpu, vcpu->arch.cr3);
        return 1;
 }