Re: [PATCH 23/28] KVM: SVM: add GMET bit definitions
From: mlevitsk
Date: Tue Jun 02 2026 - 10:45:08 EST
On Tue, 2026-05-05 at 21:52 +0200, Paolo Bonzini wrote:
> GMET (Guest Mode Execute Trap) is an AMD virtualization feature,
> essentially the nested paging version of SMEP. Hyper-V uses it;
> add it in preparation for making it available to hypervisors
> running under KVM.
>
> Acked-by: Borislav Petkov (AMD) <bp@xxxxxxxxx>
> Tested-by: David Riley <d.riley@xxxxxxxxxxx>
> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
> ---
> arch/x86/include/asm/cpufeatures.h | 1 +
> arch/x86/include/asm/svm.h | 1 +
> 2 files changed, 2 insertions(+)
>
> diff --git a/arch/x86/include/asm/cpufeatures.h b/arch/x86/include/asm/cpufeatures.h
> index de7bd88e539d..d58dbce83f45 100644
> --- a/arch/x86/include/asm/cpufeatures.h
> +++ b/arch/x86/include/asm/cpufeatures.h
> @@ -379,6 +379,7 @@
> #define X86_FEATURE_AVIC (15*32+13) /* "avic" Virtual Interrupt Controller */
> #define X86_FEATURE_V_VMSAVE_VMLOAD (15*32+15) /* "v_vmsave_vmload" Virtual VMSAVE VMLOAD */
> #define X86_FEATURE_VGIF (15*32+16) /* "vgif" Virtual GIF */
> +#define X86_FEATURE_GMET (15*32+17) /* Guest Mode Execution Trap */
Hi!
Looks OK: APM states 'CPUID Fn8000_000A EDX[17]=1'
> #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 */
> diff --git a/arch/x86/include/asm/svm.h b/arch/x86/include/asm/svm.h
> index bcfeb5e7c0ed..aa63431ba92c 100644
> --- a/arch/x86/include/asm/svm.h
> +++ b/arch/x86/include/asm/svm.h
> @@ -243,6 +243,7 @@ struct __attribute__ ((__packed__)) vmcb_control_area {
> #define SVM_MISC_ENABLE_NP BIT(0)
> #define SVM_MISC_ENABLE_SEV BIT(1)
> #define SVM_MISC_ENABLE_SEV_ES BIT(2)
> +#define SVM_MISC_ENABLE_GMET BIT(3)
Looks OK: "The GMET mode is selected for a targeted guest by setting bit 3 of VMCB offset 090h to 1
>
> #define SVM_MISC2_ENABLE_V_LBR BIT_ULL(0)
> #define SVM_MISC2_ENABLE_V_VMLOAD_VMSAVE BIT_ULL(1)
Reviewed-by: Maxim Levitsky <mlevitsk@xxxxxxxxxx>
Best regards,
Maxim Levitsky