Re: [PATCHv4 1/8] x86/cpu: Add CPUID feature bit for VNMI

From: Jim Mattson
Date: Wed Aug 31 2022 - 19:42:21 EST


On Mon, Aug 29, 2022 at 3:09 AM Santosh Shukla <santosh.shukla@xxxxxxx> wrote:
>
> VNMI feature allows the hypervisor to inject NMI into the guest w/o
> using Event injection mechanism, The benefit of using VNMI over the
> event Injection that does not require tracking the Guest's NMI state and
> intercepting the IRET for the NMI completion. VNMI achieves that by
> exposing 3 capability bits in VMCB intr_cntrl which helps with
> virtualizing NMI injection and NMI_Masking.
>
> The presence of this feature is indicated via the CPUID function
> 0x8000000A_EDX[25].
>
> Reviewed-by: Maxim Levitsky <mlevitsk@xxxxxxxxxx>
> Signed-off-by: Santosh Shukla <santosh.shukla@xxxxxxx>
> ---
> 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 ef4775c6db01..33e3603be09e 100644
> --- a/arch/x86/include/asm/cpufeatures.h
> +++ b/arch/x86/include/asm/cpufeatures.h
> @@ -356,6 +356,7 @@
> #define X86_FEATURE_VGIF (15*32+16) /* Virtual GIF */
> #define X86_FEATURE_X2AVIC (15*32+18) /* Virtual x2apic */
> #define X86_FEATURE_V_SPEC_CTRL (15*32+20) /* Virtual SPEC_CTRL */
> +#define X86_FEATURE_V_NMI (15*32+25) /* Virtual NMI */
> #define X86_FEATURE_SVME_ADDR_CHK (15*32+28) /* "" SVME addr check */

Why is it "V_NMI," but "VGIF"?

Reviewed-by: Jim Mattson <jmattson@xxxxxxxxxx>