summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvi Kivity <avi@redhat.com>2009-08-06 14:40:02 -0300
committerGreg Kroah-Hartman <gregkh@suse.de>2009-09-08 20:17:23 -0700
commit174289f2746a4f7d74e37f7ce2db640abe7db952 (patch)
treea68ff95c677c863ce065b59ea620138264995373
parentc8ad967ceb6cb90124162aada5a407c10d4b599c (diff)
KVM: Make paravirt tlb flush also reload the PAE PDPTRs
(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>
-rw-r--r--arch/x86/kvm/mmu.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c
index 0376c8e7b7d4..f23e7a49bdb3 100644
--- a/arch/x86/kvm/mmu.c
+++ b/arch/x86/kvm/mmu.c
@@ -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;
}