diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2020-07-06 06:57:08 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2020-07-06 06:57:08 -0700 |
commit | 28c13ae5bbc81aa2ae67890ce53e65257d4703a4 (patch) | |
tree | c8087d523f97f00791cd4433751d753d24c7f917 | |
parent | f8b4630ef673486c2c77bd291a08ef132981e149 (diff) | |
download | glibc-28c13ae5bbc81aa2ae67890ce53e65257d4703a4.zip glibc-28c13ae5bbc81aa2ae67890ce53e65257d4703a4.tar.gz glibc-28c13ae5bbc81aa2ae67890ce53e65257d4703a4.tar.bz2 |
x86: Detect Extended Feature Disable (XFD)
An extension called extended feature disable (XFD) is an extension added
for Intel AMX to the XSAVE feature set that allows an operating system
to enable a feature while preventing specific user threads from using
the feature.
-rw-r--r-- | sysdeps/x86/cpu-features.h | 3 | ||||
-rw-r--r-- | sysdeps/x86/tst-get-cpu-features.c | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/sysdeps/x86/cpu-features.h b/sysdeps/x86/cpu-features.h index f25df77..bc42546 100644 --- a/sysdeps/x86/cpu-features.h +++ b/sysdeps/x86/cpu-features.h @@ -393,6 +393,7 @@ extern const struct cpu_features *__get_cpu_features (void) #define bit_cpu_XSAVEC (1u << 1) #define bit_cpu_XGETBV_ECX_1 (1u << 2) #define bit_cpu_XSAVES (1u << 3) +#define bit_cpu_XFD (1u << 4) /* COMMON_CPUID_INDEX_80000007. */ @@ -578,6 +579,7 @@ extern const struct cpu_features *__get_cpu_features (void) #define index_cpu_XSAVEC COMMON_CPUID_INDEX_D_ECX_1 #define index_cpu_XGETBV_ECX_1 COMMON_CPUID_INDEX_D_ECX_1 #define index_cpu_XSAVES COMMON_CPUID_INDEX_D_ECX_1 +#define index_cpu_XFD COMMON_CPUID_INDEX_D_ECX_1 /* COMMON_CPUID_INDEX_80000007. */ @@ -763,6 +765,7 @@ extern const struct cpu_features *__get_cpu_features (void) #define reg_XSAVEC eax #define reg_XGETBV_ECX_1 eax #define reg_XSAVES eax +#define reg_XFD eax /* COMMON_CPUID_INDEX_80000007. */ diff --git a/sysdeps/x86/tst-get-cpu-features.c b/sysdeps/x86/tst-get-cpu-features.c index dafd664..2cff2e8 100644 --- a/sysdeps/x86/tst-get-cpu-features.c +++ b/sysdeps/x86/tst-get-cpu-features.c @@ -214,6 +214,7 @@ do_test (void) CHECK_CPU_FEATURE (XSAVEC); CHECK_CPU_FEATURE (XGETBV_ECX_1); CHECK_CPU_FEATURE (XSAVES); + CHECK_CPU_FEATURE (XFD); CHECK_CPU_FEATURE (INVARIANT_TSC); CHECK_CPU_FEATURE (WBNOINVD); CHECK_CPU_FEATURE (AVX512_BF16); |