summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/cpu/intel_64.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-09-05 09:21:21 +0200
committerIngo Molnar <mingo@elte.hu>2008-09-05 09:21:21 +0200
commit9042763808c5285a1a61b45b0fe98a710a4c903c (patch)
tree349be736a3b56a64c8835df03f127959bfc6e0e0 /arch/x86/kernel/cpu/intel_64.c
parent446d27338d3b422dd3dfe496d0f362230994d059 (diff)
parentaa3341a168883654d1b13f5931c5ed2762537831 (diff)
Merge branch 'x86/x2apic' into x86/core
Conflicts: arch/x86/kernel/cpu/common_64.c Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/cpu/intel_64.c')
-rw-r--r--arch/x86/kernel/cpu/intel_64.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/x86/kernel/cpu/intel_64.c b/arch/x86/kernel/cpu/intel_64.c
index 0a8128a240d..0c0a58dfe09 100644
--- a/arch/x86/kernel/cpu/intel_64.c
+++ b/arch/x86/kernel/cpu/intel_64.c
@@ -80,7 +80,10 @@ static void __cpuinit init_intel(struct cpuinfo_x86 *c)
if (c->x86 == 6)
set_cpu_cap(c, X86_FEATURE_REP_GOOD);
set_cpu_cap(c, X86_FEATURE_LFENCE_RDTSC);
- c->x86_max_cores = intel_num_cpu_cores(c);
+
+ detect_extended_topology(c);
+ if (!cpu_has(c, X86_FEATURE_XTOPOLOGY))
+ c->x86_max_cores = intel_num_cpu_cores(c);
srat_detect_node();
}