}
#endif
+static void amd_get_topology_early(struct cpuinfo_x86 *c)
+{
+ if (boot_cpu_has(X86_FEATURE_TOPOEXT)) {
+ u32 eax, ebx, ecx, edx;
+
+ cpuid(0x8000001e, &eax, &ebx, &ecx, &edx);
+ smp_num_siblings = ((ebx >> 8) & 0xff) + 1;
+ }
+}
+
/*
* Fixup core topology information for
* (1) AMD multi-node processors
/* F16h erratum 793, CVE-2013-6885 */
if (c->x86 == 0x16 && c->x86_model <= 0xf)
msr_set_bit(MSR_AMD64_LS_CFG, 15);
+
+ amd_get_topology_early(c);
}
static const int amd_erratum_383[];