aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-x86/cpufeature.h
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2008-08-27 21:53:07 -0400
committerH. Peter Anvin <hpa@zytor.com>2008-08-27 22:25:44 -0400
commitf1240c002679a77990fd7c198991ed15a437d691 (patch)
treedb92021a7bb1a0931611e00c9f0cee3c113430d2 /include/asm-x86/cpufeature.h
parent7414aa41a63348c3bc72d8c37b716024c29b6d50 (diff)
x86: cpufeature: add Intel features from CPUID and AVX specs
Add all Intel CPUID features currently documented in the CPUID spec (AP-485, 241618-032, Dec 2007) and the AVX Programming Reference (319433-003, Aug 2008). Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'include/asm-x86/cpufeature.h')
-rw-r--r--include/asm-x86/cpufeature.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/asm-x86/cpufeature.h b/include/asm-x86/cpufeature.h
index 611da2898b2b..7bd98b724fd5 100644
--- a/include/asm-x86/cpufeature.h
+++ b/include/asm-x86/cpufeature.h
@@ -91,6 +91,8 @@
91 91
92/* Intel-defined CPU features, CPUID level 0x00000001 (ecx), word 4 */ 92/* Intel-defined CPU features, CPUID level 0x00000001 (ecx), word 4 */
93#define X86_FEATURE_XMM3 (4*32+ 0) /* "pni" SSE-3 */ 93#define X86_FEATURE_XMM3 (4*32+ 0) /* "pni" SSE-3 */
94#define X86_FEATURE_PCLMULQDQ (4*32+ 1) /* PCLMULQDQ instruction */
95#define X86_FEATURE_DTES64 (4*32+ 2) /* 64-bit Debug Store */
94#define X86_FEATURE_MWAIT (4*32+ 3) /* "monitor" Monitor/Mwait support */ 96#define X86_FEATURE_MWAIT (4*32+ 3) /* "monitor" Monitor/Mwait support */
95#define X86_FEATURE_DSCPL (4*32+ 4) /* "ds_cpl" CPL Qual. Debug Store */ 97#define X86_FEATURE_DSCPL (4*32+ 4) /* "ds_cpl" CPL Qual. Debug Store */
96#define X86_FEATURE_VMX (4*32+ 5) /* Hardware virtualization */ 98#define X86_FEATURE_VMX (4*32+ 5) /* Hardware virtualization */
@@ -99,11 +101,18 @@
99#define X86_FEATURE_TM2 (4*32+ 8) /* Thermal Monitor 2 */ 101#define X86_FEATURE_TM2 (4*32+ 8) /* Thermal Monitor 2 */
100#define X86_FEATURE_SSSE3 (4*32+ 9) /* Supplemental SSE-3 */ 102#define X86_FEATURE_SSSE3 (4*32+ 9) /* Supplemental SSE-3 */
101#define X86_FEATURE_CID (4*32+10) /* Context ID */ 103#define X86_FEATURE_CID (4*32+10) /* Context ID */
104#define X86_FEATURE_FMA (4*32+12) /* Fused multiply-add */
102#define X86_FEATURE_CX16 (4*32+13) /* CMPXCHG16B */ 105#define X86_FEATURE_CX16 (4*32+13) /* CMPXCHG16B */
103#define X86_FEATURE_XTPR (4*32+14) /* Send Task Priority Messages */ 106#define X86_FEATURE_XTPR (4*32+14) /* Send Task Priority Messages */
107#define X86_FEATURE_PDCM (4*32+15) /* Performance Capabilities */
104#define X86_FEATURE_DCA (4*32+18) /* Direct Cache Access */ 108#define X86_FEATURE_DCA (4*32+18) /* Direct Cache Access */
105#define X86_FEATURE_XMM4_1 (4*32+19) /* "sse4_1" SSE-4.1 */ 109#define X86_FEATURE_XMM4_1 (4*32+19) /* "sse4_1" SSE-4.1 */
106#define X86_FEATURE_XMM4_2 (4*32+20) /* "sse4_2" SSE-4.2 */ 110#define X86_FEATURE_XMM4_2 (4*32+20) /* "sse4_2" SSE-4.2 */
111#define X86_FEATURE_X2APIC (4*32+21) /* x2APIC */
112#define X86_FEATURE_AES (4*32+25) /* AES instructions */
113#define X86_FEATURE_XSAVE (4*32+26) /* XSAVE/XRSTOR/XSETBV/XGETBV */
114#define X86_FEATURE_OSXSAVE (4*32+27) /* "" XSAVE enabled in the OS */
115#define X86_FEATURE_AVX (4*32+28) /* Advanced Vector Extensions */
107 116
108/* VIA/Cyrix/Centaur-defined CPU features, CPUID level 0xC0000001, word 5 */ 117/* VIA/Cyrix/Centaur-defined CPU features, CPUID level 0xC0000001, word 5 */
109#define X86_FEATURE_XSTORE (5*32+ 2) /* "rng" RNG present (xstore) */ 118#define X86_FEATURE_XSTORE (5*32+ 2) /* "rng" RNG present (xstore) */
@@ -213,7 +222,10 @@ extern const char * const x86_power_flags[32];
213#define cpu_has_gbpages boot_cpu_has(X86_FEATURE_GBPAGES) 222#define cpu_has_gbpages boot_cpu_has(X86_FEATURE_GBPAGES)
214#define cpu_has_arch_perfmon boot_cpu_has(X86_FEATURE_ARCH_PERFMON) 223#define cpu_has_arch_perfmon boot_cpu_has(X86_FEATURE_ARCH_PERFMON)
215#define cpu_has_pat boot_cpu_has(X86_FEATURE_PAT) 224#define cpu_has_pat boot_cpu_has(X86_FEATURE_PAT)
225#define cpu_has_xmm4_1 boot_cpu_has(X86_FEATURE_XMM4_1)
216#define cpu_has_xmm4_2 boot_cpu_has(X86_FEATURE_XMM4_2) 226#define cpu_has_xmm4_2 boot_cpu_has(X86_FEATURE_XMM4_2)
227#define cpu_has_x2apic boot_cpu_has(X86_FEATURE_X2APIC)
228#define cpu_has_xsave boot_cpu_has(X86_FEATURE_XSAVE)
217 229
218#if defined(CONFIG_X86_INVLPG) || defined(CONFIG_X86_64) 230#if defined(CONFIG_X86_INVLPG) || defined(CONFIG_X86_64)
219# define cpu_has_invlpg 1 231# define cpu_has_invlpg 1