diff options
| author | Louis Burda <quent.burda@gmail.com> | 2023-01-25 19:17:07 +0100 |
|---|---|---|
| committer | Louis Burda <quent.burda@gmail.com> | 2023-01-25 19:17:07 +0100 |
| commit | af02fe2bb56116a018cf5d4838690224d3e25898 (patch) | |
| tree | 5285dee4c514b475b39d0fe3b72eba43802de4cf /arch/x86/kvm/svm/svm.c | |
| parent | 3c37217bc401cf31da0f2fa529f71887081de2bb (diff) | |
| download | cachepc-linux-af02fe2bb56116a018cf5d4838690224d3e25898.tar.gz cachepc-linux-af02fe2bb56116a018cf5d4838690224d3e25898.zip | |
Move vm pause out of irq-masked section
Diffstat (limited to 'arch/x86/kvm/svm/svm.c')
| -rw-r--r-- | arch/x86/kvm/svm/svm.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c index 5dddca6d28d7..9ebb60f590e5 100644 --- a/arch/x86/kvm/svm/svm.c +++ b/arch/x86/kvm/svm/svm.c @@ -3440,6 +3440,11 @@ static int svm_handle_exit(struct kvm_vcpu *vcpu, fastpath_t exit_fastpath) struct kvm_run *kvm_run = vcpu->run; u32 exit_code = svm->vmcb->control.exit_code; + if (cachepc_pause_vm) { + CPC_DBG("Pausing vm..\n"); + cachepc_send_pause_event(); + } + trace_kvm_exit(vcpu, KVM_ISA_SVM); /* SEV-ES guests must use the CR write traps to track CR registers. */ @@ -3983,11 +3988,6 @@ static noinstr void svm_vcpu_enter_exit(struct kvm_vcpu *vcpu) put_cpu(); - if (cachepc_pause_vm) { - CPC_DBG("pausing vm..\n"); - cachepc_send_pause_event(); - } - guest_state_exit_irqoff(); } @@ -3995,6 +3995,11 @@ static __no_kcsan fastpath_t svm_vcpu_run(struct kvm_vcpu *vcpu) { struct vcpu_svm *svm = to_svm(vcpu); + if (cachepc_pause_vm) { + CPC_DBG("Pausing vm..\n"); + cachepc_send_pause_event(); + } + trace_kvm_entry(vcpu); svm->vmcb->save.rax = vcpu->arch.regs[VCPU_REGS_RAX]; |
