diff options
author | Ingo Molnar <mingo@elte.hu> | 2008-02-26 02:34:21 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-04-17 11:40:50 -0400 |
commit | 0f8d2b926d15a68eac9c19edfdcb58a5d80b2960 (patch) | |
tree | df6e523314b22d19f46d3be844a5613e1e48b21f /include/asm-x86/cpufeature.h | |
parent | d32de19ca9076eeed1e9bfd678e550fbad437535 (diff) |
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.h | 6 |
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 @@ | |||
120 | extern const char * const x86_cap_flags[NCAPINTS*32]; | 120 | extern const char * const x86_cap_flags[NCAPINTS*32]; |
121 | extern const char * const x86_power_flags[32]; | 121 | extern const char * const x86_power_flags[32]; |
122 | 122 | ||
123 | #define test_cpu_cap(c, bit) \ | ||
124 | test_bit(bit, (unsigned long *)((c)->x86_capability)) | ||
125 | |||
123 | #define cpu_has(c, bit) \ | 126 | #define cpu_has(c, bit) \ |
124 | (__builtin_constant_p(bit) && \ | 127 | (__builtin_constant_p(bit) && \ |
125 | ( (((bit)>>5)==0 && (1UL<<((bit)&31) & REQUIRED_MASK0)) || \ | 128 | ( (((bit)>>5)==0 && (1UL<<((bit)&31) & REQUIRED_MASK0)) || \ |
@@ -131,7 +134,8 @@ extern const char * const x86_power_flags[32]; | |||
131 | (((bit)>>5)==6 && (1UL<<((bit)&31) & REQUIRED_MASK6)) || \ | 134 | (((bit)>>5)==6 && (1UL<<((bit)&31) & REQUIRED_MASK6)) || \ |
132 | (((bit)>>5)==7 && (1UL<<((bit)&31) & REQUIRED_MASK7)) ) \ | 135 | (((bit)>>5)==7 && (1UL<<((bit)&31) & REQUIRED_MASK7)) ) \ |
133 | ? 1 : \ | 136 | ? 1 : \ |
134 | test_bit(bit, (unsigned long *)((c)->x86_capability))) | 137 | test_cpu_cap(c, bit)) |
138 | |||
135 | #define boot_cpu_has(bit) cpu_has(&boot_cpu_data, bit) | 139 | #define boot_cpu_has(bit) cpu_has(&boot_cpu_data, bit) |
136 | 140 | ||
137 | #define set_cpu_cap(c, bit) set_bit(bit, (unsigned long *)((c)->x86_capability)) | 141 | #define set_cpu_cap(c, bit) set_bit(bit, (unsigned long *)((c)->x86_capability)) |