KVM: x86: Define AMD's #HV, #VC, and #SX exception vectors

Add {HV,CP,SX}_VECTOR definitions for AMD's Hypervisor Injection Exception,
VMM Communication Exception, and SVM Security Exception vectors, along with
human friendly formatting for trace_kvm_inj_exception().

Note, KVM is all but guaranteed to never observe or inject #SX, and #HV is
also unlikely to go unused.  Add the architectural collateral mostly for
completeness, and on the off chance that hardware goes off the rails.

Link: https://lore.kernel.org/r/20250919223258.1604852-44-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
This commit is contained in:
Sean Christopherson
2025-09-19 15:32:50 -07:00
parent f2f5519aa4
commit fddd07626b
2 changed files with 6 additions and 1 deletions

View File

@@ -37,6 +37,10 @@
#define VE_VECTOR 20
#define CP_VECTOR 21
#define HV_VECTOR 28
#define VC_VECTOR 29
#define SX_VECTOR 30
/* Select x86 specific features in <linux/kvm.h> */
#define __KVM_HAVE_PIT
#define __KVM_HAVE_IOAPIC

View File

@@ -462,7 +462,8 @@ TRACE_EVENT(kvm_inj_virq,
#define kvm_trace_sym_exc \
EXS(DE), EXS(DB), EXS(BP), EXS(OF), EXS(BR), EXS(UD), EXS(NM), \
EXS(DF), EXS(TS), EXS(NP), EXS(SS), EXS(GP), EXS(PF), EXS(MF), \
EXS(AC), EXS(MC), EXS(XM), EXS(VE), EXS(CP)
EXS(AC), EXS(MC), EXS(XM), EXS(VE), EXS(CP), \
EXS(HV), EXS(VC), EXS(SX)
/*
* Tracepoint for kvm interrupt injection: