]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
KVM: SVM: add GMET bit definitions
authorPaolo Bonzini <pbonzini@redhat.com>
Wed, 8 Apr 2026 15:42:13 +0000 (11:42 -0400)
committerPaolo Bonzini <pbonzini@redhat.com>
Sun, 10 May 2026 12:55:07 +0000 (14:55 +0200)
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@alien8.de>
Tested-by: David Riley <d.riley@proxmox.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/include/asm/cpufeatures.h
arch/x86/include/asm/svm.h

index de7bd88e539db36cb051c919d8d6d4da4289732d..d58dbce83f456ade10755629f8ab75195e473d6d 100644 (file)
 #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 */
 #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 */
index bcfeb5e7c0edf26ec222d68fcefee76c566445ce..aa63431ba92c318448a9836acff62080bd77bf70 100644 (file)
@@ -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)
 
 #define SVM_MISC2_ENABLE_V_LBR BIT_ULL(0)
 #define SVM_MISC2_ENABLE_V_VMLOAD_VMSAVE       BIT_ULL(1)