diff options
| author | Maxim Levitsky <mlevitsk@redhat.com> | 2024-09-10 16:03:48 -0400 |
|---|---|---|
| committer | Sean Christopherson <seanjc@google.com> | 2024-12-18 15:14:48 -0800 |
| commit | 3e633e7e7d0725b483aee843cbdce22bc9cd1707 (patch) | |
| tree | 902c5db4696f2722ede64ed0e9879f8f949a2b24 /arch/x86/kvm/trace.h | |
| parent | KVM: selftests: Add test case for MMIO during vectoring on x86 (diff) | |
| download | linux-3e633e7e7d0725b483aee843cbdce22bc9cd1707.tar.gz linux-3e633e7e7d0725b483aee843cbdce22bc9cd1707.zip | |
KVM: x86: Add interrupt injection information to the kvm_entry tracepoint
Add VMX/SVM specific interrupt injection info the kvm_entry tracepoint.
As is done with kvm_exit, gather the information via a kvm_x86_ops hook
to avoid the moderately costly VMREADs on VMX when the tracepoint isn't
enabled.
Opportunistically rename the parameters in the get_exit_info()
declaration to match the names used by both SVM and VMX.
Signed-off-by: Maxim Levitsky <mlevitsk@redhat.com>
Link: https://lore.kernel.org/r/20240910200350.264245-2-mlevitsk@redhat.com
[sean: drop is_guest_mode() change, use intr_info/error_code for names]
Signed-off-by: Sean Christopherson <seanjc@google.com>
Diffstat (limited to 'arch/x86/kvm/trace.h')
| -rw-r--r-- | arch/x86/kvm/trace.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/arch/x86/kvm/trace.h b/arch/x86/kvm/trace.h index d3aeffd6ae75..c2edf4a36fad 100644 --- a/arch/x86/kvm/trace.h +++ b/arch/x86/kvm/trace.h @@ -22,15 +22,22 @@ TRACE_EVENT(kvm_entry, __field( unsigned int, vcpu_id ) __field( unsigned long, rip ) __field( bool, immediate_exit ) + __field( u32, intr_info ) + __field( u32, error_code ) ), TP_fast_assign( __entry->vcpu_id = vcpu->vcpu_id; __entry->rip = kvm_rip_read(vcpu); __entry->immediate_exit = force_immediate_exit; + + kvm_x86_call(get_entry_info)(vcpu, &__entry->intr_info, + &__entry->error_code); ), - TP_printk("vcpu %u, rip 0x%lx%s", __entry->vcpu_id, __entry->rip, + TP_printk("vcpu %u, rip 0x%lx intr_info 0x%08x error_code 0x%08x%s", + __entry->vcpu_id, __entry->rip, + __entry->intr_info, __entry->error_code, __entry->immediate_exit ? "[immediate exit]" : "") ); |
