|
@@ -6019,6 +6019,12 @@ static void vcpu_scan_ioapic(struct kvm_vcpu *vcpu)
|
|
|
kvm_apic_update_tmr(vcpu, tmr);
|
|
|
}
|
|
|
|
|
|
+static void kvm_vcpu_flush_tlb(struct kvm_vcpu *vcpu)
|
|
|
+{
|
|
|
+ ++vcpu->stat.tlb_flush;
|
|
|
+ kvm_x86_ops->tlb_flush(vcpu);
|
|
|
+}
|
|
|
+
|
|
|
/*
|
|
|
* Returns 1 to let __vcpu_run() continue the guest execution loop without
|
|
|
* exiting to the userspace. Otherwise, the value will be returned to the
|
|
@@ -6048,7 +6054,7 @@ static int vcpu_enter_guest(struct kvm_vcpu *vcpu)
|
|
|
if (kvm_check_request(KVM_REQ_MMU_SYNC, vcpu))
|
|
|
kvm_mmu_sync_roots(vcpu);
|
|
|
if (kvm_check_request(KVM_REQ_TLB_FLUSH, vcpu))
|
|
|
- kvm_x86_ops->tlb_flush(vcpu);
|
|
|
+ kvm_vcpu_flush_tlb(vcpu);
|
|
|
if (kvm_check_request(KVM_REQ_REPORT_TPR_ACCESS, vcpu)) {
|
|
|
vcpu->run->exit_reason = KVM_EXIT_TPR_ACCESS;
|
|
|
r = 0;
|