aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/kernel/apic_64.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/arch/x86/kernel/apic_64.c b/arch/x86/kernel/apic_64.c
index d8d03e09dea2..7d8ffdaa0ab3 100644
--- a/arch/x86/kernel/apic_64.c
+++ b/arch/x86/kernel/apic_64.c
@@ -1180,9 +1180,19 @@ __cpuinit int apic_is_clustered_box(void)
1180{ 1180{
1181 int i, clusters, zeros; 1181 int i, clusters, zeros;
1182 unsigned id; 1182 unsigned id;
1183 u16 *bios_cpu_apicid = x86_bios_cpu_apicid_early_ptr; 1183 u16 *bios_cpu_apicid;
1184 DECLARE_BITMAP(clustermap, NUM_APIC_CLUSTERS); 1184 DECLARE_BITMAP(clustermap, NUM_APIC_CLUSTERS);
1185 1185
1186 /*
1187 * there is not this kind of box with AMD CPU yet.
1188 * Some AMD box with quadcore cpu and 8 sockets apicid
1189 * will be [4, 0x23] or [8, 0x27] could be thought to
1190 * have three apic_clusters. So go out early.
1191 */
1192 if (boot_cpu_data.x86_vendor == X86_VENDOR_AMD)
1193 return 0;
1194
1195 bios_cpu_apicid = x86_bios_cpu_apicid_early_ptr;
1186 bitmap_zero(clustermap, NUM_APIC_CLUSTERS); 1196 bitmap_zero(clustermap, NUM_APIC_CLUSTERS);
1187 1197
1188 for (i = 0; i < NR_CPUS; i++) { 1198 for (i = 0; i < NR_CPUS; i++) {