|
@@ -252,6 +252,13 @@ static void __cpuinit init_intel(struct cpuinfo_x86 *c)
|
|
|
|
|
|
intel_workarounds(c);
|
|
|
|
|
|
+ /*
|
|
|
+ * Detect the extended topology information if available. This
|
|
|
+ * will reinitialise the initial_apicid which will be used
|
|
|
+ * in init_intel_cacheinfo()
|
|
|
+ */
|
|
|
+ detect_extended_topology(c);
|
|
|
+
|
|
|
l2 = init_intel_cacheinfo(c);
|
|
|
if (c->cpuid_level > 9) {
|
|
|
unsigned eax = cpuid_eax(10);
|
|
@@ -323,7 +330,6 @@ static void __cpuinit init_intel(struct cpuinfo_x86 *c)
|
|
|
|
|
|
#endif
|
|
|
|
|
|
- detect_extended_topology(c);
|
|
|
if (!cpu_has(c, X86_FEATURE_XTOPOLOGY)) {
|
|
|
/*
|
|
|
* let's use the legacy cpuid vector 0x1 and 0x4 for topology
|