On Tue, Oct 22, 2024, Borislav Petkov wrote: > 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. Ya, will do.