lkml.org 
[lkml]   [2022]   [Sep]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCHv4 1/8] x86/cpu: Add CPUID feature bit for VNMI
From
Hi Jim,

On 9/1/2022 5:12 AM, Jim Mattson wrote:
> On Mon, Aug 29, 2022 at 3:09 AM Santosh Shukla <santosh.shukla@amd.com> 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@redhat.com>
>> Signed-off-by: Santosh Shukla <santosh.shukla@amd.com>
>> ---
>> 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"?
>
I guess you are asking why I chose V_NMI and not VNMI, right?
if so then there are two reasons for going with V_NMI - IP bits are named in order
V_NMI, V_NMI_MASK, and V_NMI_ENABLE style and also Intel already using VNMI (X86_FEATURE_VNMI)

Thanks,
Santosh

> Reviewed-by: Jim Mattson <jmattson@google.com>

\
 
 \ /
  Last update: 2022-09-01 14:46    [W:0.098 / U:0.992 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site