diff options
| author | H.J. Lu <hjl.tools@gmail.com> | 2021-02-04 10:39:34 -0800 |
|---|---|---|
| committer | H.J. Lu <hjl.tools@gmail.com> | 2021-02-07 08:01:14 -0800 |
| commit | 5ab25c88758810269607a066fcac399e29863510 (patch) | |
| tree | fff85c2b2b481b413d71872bd5753f870557d89a /sysdeps/x86/include | |
| parent | c3479fb7939898ec22c655c383454d6e8b982a67 (diff) | |
| download | glibc-5ab25c88758810269607a066fcac399e29863510.tar.xz glibc-5ab25c88758810269607a066fcac399e29863510.zip | |
x86: Add PTWRITE feature detection [BZ #27346]
1. Add CPUID_INDEX_14_ECX_0 for CPUID leaf 0x14 to detect PTWRITE feature
in EBX of CPUID leaf 0x14 with ECX == 0.
2. Add PTWRITE detection to CPU feature tests.
3. Add 2 static CPU feature tests.
Diffstat (limited to 'sysdeps/x86/include')
| -rw-r--r-- | sysdeps/x86/include/cpu-features.h | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/sysdeps/x86/include/cpu-features.h b/sysdeps/x86/include/cpu-features.h index 475e877294..dabe6b9d86 100644 --- a/sysdeps/x86/include/cpu-features.h +++ b/sysdeps/x86/include/cpu-features.h @@ -29,7 +29,7 @@ enum { - CPUID_INDEX_MAX = CPUID_INDEX_19 + 1 + CPUID_INDEX_MAX = CPUID_INDEX_14_ECX_0 + 1 }; enum @@ -307,6 +307,11 @@ enum #define bit_cpu_AESKLE (1u << 0) #define bit_cpu_WIDE_KL (1u << 2) +/* CPUID_INDEX_14_ECX_0. */ + +/* EBX. */ +#define bit_cpu_PTWRITE (1u << 4) + /* CPUID_INDEX_1. */ /* ECX. */ @@ -532,6 +537,11 @@ enum #define index_cpu_AESKLE CPUID_INDEX_19 #define index_cpu_WIDE_KL CPUID_INDEX_19 +/* CPUID_INDEX_14_ECX_0. */ + +/* EBX. */ +#define index_cpu_PTWRITE CPUID_INDEX_14_ECX_0 + /* CPUID_INDEX_1. */ /* ECX. */ @@ -757,6 +767,11 @@ enum #define reg_AESKLE ebx #define reg_WIDE_KL ebx +/* CPUID_INDEX_14_ECX_0. */ + +/* EBX. */ +#define reg_PTWRITE ebx + /* PREFERRED_FEATURE_INDEX_1. */ #define bit_arch_I586 (1u << 0) #define bit_arch_I686 (1u << 1) |
