summaryrefslogtreecommitdiffstats
path: root/include/asm-x86/cpufeature.h
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-02-26 08:34:21 +0100
committerIngo Molnar <mingo@elte.hu>2008-04-17 17:40:50 +0200
commit0f8d2b926d15a68eac9c19edfdcb58a5d80b2960 (patch)
treedf6e523314b22d19f46d3be844a5613e1e48b21f /include/asm-x86/cpufeature.h
parentx86: remove wrong setting about CONSTANT_TSC for intel cpu (diff)
downloadlinux-0f8d2b926d15a68eac9c19edfdcb58a5d80b2960.tar.xz
linux-0f8d2b926d15a68eac9c19edfdcb58a5d80b2960.zip
x86: clean up cpu capabilities accesses
introduce test_cpu_cap() for raw access to the real CPU capabilities as they are present in x86_capability. (cpu_has() will shortcut certain tests during build-time) Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/asm-x86/cpufeature.h')
-rw-r--r--include/asm-x86/cpufeature.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/include/asm-x86/cpufeature.h b/include/asm-x86/cpufeature.h
index 065e92966c7c..1e3102eeb823 100644
--- a/include/asm-x86/cpufeature.h
+++ b/include/asm-x86/cpufeature.h
@@ -120,6 +120,9 @@
extern const char * const x86_cap_flags[NCAPINTS*32];
extern const char * const x86_power_flags[32];
+#define test_cpu_cap(c, bit) \
+ test_bit(bit, (unsigned long *)((c)->x86_capability))
+
#define cpu_has(c, bit) \
(__builtin_constant_p(bit) && \
( (((bit)>>5)==0 && (1UL<<((bit)&31) & REQUIRED_MASK0)) || \
@@ -131,7 +134,8 @@ extern const char * const x86_power_flags[32];
(((bit)>>5)==6 && (1UL<<((bit)&31) & REQUIRED_MASK6)) || \
(((bit)>>5)==7 && (1UL<<((bit)&31) & REQUIRED_MASK7)) ) \
? 1 : \
- test_bit(bit, (unsigned long *)((c)->x86_capability)))
+ test_cpu_cap(c, bit))
+
#define boot_cpu_has(bit) cpu_has(&boot_cpu_data, bit)
#define set_cpu_cap(c, bit) set_bit(bit, (unsigned long *)((c)->x86_capability))