From: Santosh Shukla Local interrupts can be extended to include more LVT registers in order to allow additional interrupt sources, like Instruction Based Sampling (IBS). The Extended APIC feature register indicates the number of extended Local Vector Table (LVT) registers in the local APIC. Currently, there are 4 extended LVT registers available which are located at APIC offsets (500h-530h). Future AMD processors may expose up to 255 extended LVT registers. The AVIC_EXTLVT (Extended LVT AVIC acceleration support) feature bit changes the behavior associated with reading and writing an extended LVT register when AVIC is enabled. When the AVIC_EXTLVT and AVIC are enabled, a write to an extended LVT register changes from a fault style #VMEXIT to a trap style #VMEXIT and a read of an extended LVT register no longer triggers a #VMEXIT [1]. Presence of the AVIC_EXTLVT feature is indicated via CPUID function 0x8000000A_EDX[27]. [1]: AMD Programmer's Manual Volume 2, Table 15-22. Guest vAPIC Register Access Behavior. https://bugzilla.kernel.org/attachment.cgi?id=306250 Acked-by: Borislav Petkov (AMD) Signed-off-by: Santosh Shukla Signed-off-by: Manali Shukla --- arch/x86/include/asm/cpufeatures.h | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/x86/include/asm/cpufeatures.h b/arch/x86/include/asm/cpufeatures.h index 81f7b3b91986..52882d794b3c 100644 --- a/arch/x86/include/asm/cpufeatures.h +++ b/arch/x86/include/asm/cpufeatures.h @@ -381,6 +381,7 @@ #define X86_FEATURE_X2AVIC (15*32+18) /* "x2avic" Virtual x2apic */ #define X86_FEATURE_V_SPEC_CTRL (15*32+20) /* "v_spec_ctrl" Virtual SPEC_CTRL */ #define X86_FEATURE_VNMI (15*32+25) /* "vnmi" Virtual NMI */ +#define X86_FEATURE_AVIC_EXTLVT (15*32+27) /* Extended LVT AVIC acceleration support */ #define X86_FEATURE_SVME_ADDR_CHK (15*32+28) /* SVME addr check */ #define X86_FEATURE_BUS_LOCK_THRESHOLD (15*32+29) /* Bus lock threshold */ #define X86_FEATURE_IDLE_HLT (15*32+30) /* IDLE HLT intercept */ -- 2.43.0