]> rtime.felk.cvut.cz Git - lisovros/linux_canprio.git/blobdiff - arch/x86/kvm/vmx.c
KVM: VMX: Add ept_sync_context in flush_tlb
[lisovros/linux_canprio.git] / arch / x86 / kvm / vmx.c
index e0bb28375c89be8c3c32ded66232fc2111410c86..2ce9063038cd87ad2dfd69774c848309a961a350 100644 (file)
@@ -88,6 +88,7 @@ static inline struct vcpu_vmx *to_vmx(struct kvm_vcpu *vcpu)
 }
 
 static int init_rmode(struct kvm *kvm);
+static u64 construct_eptp(unsigned long root_hpa);
 
 static DEFINE_PER_CPU(struct vmcs *, vmxarea);
 static DEFINE_PER_CPU(struct vmcs *, current_vmcs);
@@ -1389,6 +1390,8 @@ static void exit_lmode(struct kvm_vcpu *vcpu)
 static void vmx_flush_tlb(struct kvm_vcpu *vcpu)
 {
        vpid_sync_vcpu_all(to_vmx(vcpu));
+       if (vm_need_ept())
+               ept_sync_context(construct_eptp(vcpu->arch.mmu.root_hpa));
 }
 
 static void vmx_decache_cr4_guest_bits(struct kvm_vcpu *vcpu)