On Tue, Oct 22, 2024 at 05:48:07AM +0000, Manali Shukla wrote: > From: Manali Shukla <Manali.Shukla@xxxxxxx> > > The Idle HLT Intercept feature allows for the HLT instruction > execution by a vCPU to be intercepted by the hypervisor only if there > are no pending events (V_INTR and V_NMI) for the vCPU. When the vCPU > is expected to service the pending events (V_INTR and V_NMI), the Idle > HLT intercept won’t trigger. The feature allows the hypervisor to > determine if the vCPU is idle and reduces wasteful VMEXITs. > > In addition to the aforementioned use case, the Idle HLT intercept > feature is also used for enlightened guests who aim to securely manage > events without the hypervisor’s awareness. If a HLT occurs while > a virtual event is pending and the hypervisor is unaware of this > pending event (as could be the case with enlightened guests), the > absence of the Idle HLT intercept feature could result in a vCPU being > suspended indefinitely. > > Presence of Idle HLT intercept feature for guests is indicated via CPUID > function 0x8000000A_EDX[30]. > > Signed-off-by: Manali Shukla <Manali.Shukla@xxxxxxx> > Acked-by: Borislav Petkov (AMD) <bp@xxxxxxxxx> > --- > 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 dd4682857c12..7461a49e1045 100644 > --- a/arch/x86/include/asm/cpufeatures.h > +++ b/arch/x86/include/asm/cpufeatures.h > @@ -382,6 +382,7 @@ > #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_SVME_ADDR_CHK (15*32+28) /* SVME addr check */ > +#define X86_FEATURE_IDLE_HLT (15*32+30) /* "" IDLE HLT intercept */ Whoever commits this, you can remove the "" in the comment now as they're not needed anymore. Thx. -- Regards/Gruss, Boris. https://people.kernel.org/tglx/notes-about-netiquette