diff options
author | Suresh Siddha <suresh.b.siddha@intel.com> | 2008-08-23 11:47:10 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-08-23 11:47:10 -0400 |
commit | bbb65d2d365efe9951290e61678dcf81ec60add4 (patch) | |
tree | f3eacf1b1313d729e084064ed6dda5db64522bf4 /include | |
parent | 87ce786ae5f24e336195805a9fc7428a6f922478 (diff) |
x86: use cpuid vector 0xb when available for detecting cpu topology
cpuid leaf 0xb provides extended topology enumeration. This interface provides
the 32-bit x2APIC id of the logical processor and it also provides a new
mechanism to detect SMT and core siblings (which provides increased
addressability).
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-x86/cpufeature.h | 1 | ||||
-rw-r--r-- | include/asm-x86/processor.h | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/include/asm-x86/cpufeature.h b/include/asm-x86/cpufeature.h index 5fc4d55906d4..8d842af4cf7a 100644 --- a/include/asm-x86/cpufeature.h +++ b/include/asm-x86/cpufeature.h | |||
@@ -81,6 +81,7 @@ | |||
81 | #define X86_FEATURE_LFENCE_RDTSC (3*32+18) /* Lfence synchronizes RDTSC */ | 81 | #define X86_FEATURE_LFENCE_RDTSC (3*32+18) /* Lfence synchronizes RDTSC */ |
82 | #define X86_FEATURE_11AP (3*32+19) /* Bad local APIC aka 11AP */ | 82 | #define X86_FEATURE_11AP (3*32+19) /* Bad local APIC aka 11AP */ |
83 | #define X86_FEATURE_NOPL (3*32+20) /* The NOPL (0F 1F) instructions */ | 83 | #define X86_FEATURE_NOPL (3*32+20) /* The NOPL (0F 1F) instructions */ |
84 | #define X86_FEATURE_XTOPOLOGY (3*32+21) /* cpu topology enum extensions */ | ||
84 | 85 | ||
85 | /* Intel-defined CPU features, CPUID level 0x00000001 (ecx), word 4 */ | 86 | /* Intel-defined CPU features, CPUID level 0x00000001 (ecx), word 4 */ |
86 | #define X86_FEATURE_XMM3 (4*32+ 0) /* Streaming SIMD Extensions-3 */ | 87 | #define X86_FEATURE_XMM3 (4*32+ 0) /* Streaming SIMD Extensions-3 */ |
diff --git a/include/asm-x86/processor.h b/include/asm-x86/processor.h index 5f58da401b43..79338fe965d2 100644 --- a/include/asm-x86/processor.h +++ b/include/asm-x86/processor.h | |||
@@ -161,6 +161,7 @@ extern void init_scattered_cpuid_features(struct cpuinfo_x86 *c); | |||
161 | extern unsigned int init_intel_cacheinfo(struct cpuinfo_x86 *c); | 161 | extern unsigned int init_intel_cacheinfo(struct cpuinfo_x86 *c); |
162 | extern unsigned short num_cache_leaves; | 162 | extern unsigned short num_cache_leaves; |
163 | 163 | ||
164 | extern void detect_extended_topology(struct cpuinfo_x86 *c); | ||
164 | #if defined(CONFIG_X86_HT) || defined(CONFIG_X86_64) | 165 | #if defined(CONFIG_X86_HT) || defined(CONFIG_X86_64) |
165 | extern void detect_ht(struct cpuinfo_x86 *c); | 166 | extern void detect_ht(struct cpuinfo_x86 *c); |
166 | #else | 167 | #else |