]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
x86/cpufeatures: Add X86_FEATURE_SGX_EUPDATESVN feature flag
authorElena Reshetova <elena.reshetova@intel.com>
Thu, 16 Oct 2025 13:11:05 +0000 (16:11 +0300)
committerDave Hansen <dave.hansen@linux.intel.com>
Thu, 16 Oct 2025 21:42:08 +0000 (14:42 -0700)
Add a flag indicating whenever ENCLS[EUPDATESVN] SGX instruction is
supported. This will be used by SGX driver to perform CPU SVN updates.

Signed-off-by: Elena Reshetova <elena.reshetova@intel.com>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>
Reviewed-by: Kai Huang <kai.huang@intel.com>
Reviewed-by: Dave Hansen <dave.hansen@linux.intel.com>
Tested-by: Nataliia Bondarevska <bondarn@google.com>
arch/x86/include/asm/cpufeatures.h
arch/x86/kernel/cpu/cpuid-deps.c
arch/x86/kernel/cpu/scattered.c

index 4091a776e37aaed67ca93b0a0cd23cc25dbc33d4..76364b6dd93b2f0518b28ba7a589ac34f646b63f 100644 (file)
 #define X86_FEATURE_IBPB_EXIT_TO_USER  (21*32+14) /* Use IBPB on exit-to-userspace, see VMSCAPE bug */
 #define X86_FEATURE_ABMC               (21*32+15) /* Assignable Bandwidth Monitoring Counters */
 #define X86_FEATURE_MSR_IMM            (21*32+16) /* MSR immediate form instructions */
+#define X86_FEATURE_SGX_EUPDATESVN     (21*32+17) /* Support for ENCLS[EUPDATESVN] instruction */
 
 /*
  * BUG word(s)
index 46efcbd6afa41ce8201229612fc082a3f3760868..3d9f49ad0efd23a4e9c8ad7e59a9241c46e86176 100644 (file)
@@ -79,6 +79,7 @@ static const struct cpuid_dep cpuid_deps[] = {
        { X86_FEATURE_SGX_LC,                   X86_FEATURE_SGX       },
        { X86_FEATURE_SGX1,                     X86_FEATURE_SGX       },
        { X86_FEATURE_SGX2,                     X86_FEATURE_SGX1      },
+       { X86_FEATURE_SGX_EUPDATESVN,           X86_FEATURE_SGX1      },
        { X86_FEATURE_SGX_EDECCSSA,             X86_FEATURE_SGX1      },
        { X86_FEATURE_XFD,                      X86_FEATURE_XSAVES    },
        { X86_FEATURE_XFD,                      X86_FEATURE_XGETBV1   },
index caa4dc885c214f70b7667154e151eefc34dc2f33..37850356a9b56818977365b1b543f12ee748371f 100644 (file)
@@ -43,6 +43,7 @@ static const struct cpuid_bit cpuid_bits[] = {
        { X86_FEATURE_PER_THREAD_MBA,           CPUID_ECX,  0, 0x00000010, 3 },
        { X86_FEATURE_SGX1,                     CPUID_EAX,  0, 0x00000012, 0 },
        { X86_FEATURE_SGX2,                     CPUID_EAX,  1, 0x00000012, 0 },
+       { X86_FEATURE_SGX_EUPDATESVN,           CPUID_EAX, 10, 0x00000012, 0 },
        { X86_FEATURE_SGX_EDECCSSA,             CPUID_EAX, 11, 0x00000012, 0 },
        { X86_FEATURE_HW_PSTATE,                CPUID_EDX,  7, 0x80000007, 0 },
        { X86_FEATURE_CPB,                      CPUID_EDX,  9, 0x80000007, 0 },