summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-03-19 19:26:15 (GMT)
committerIngo Molnar <mingo@elte.hu>2008-04-17 15:41:01 (GMT)
commit1161705bd66df0c80fa45e87190e456c02e6f145 (patch)
tree022a17bf2ddf7ae63132471db015dea3b9c7d15c
parenta6c422ccdb57924bd20ae408dba8e9db01d09677 (diff)
downloadlinux-1161705bd66df0c80fa45e87190e456c02e6f145.tar.xz
x86: fill cpu to apicid and present map in mpparse, fix
Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r--arch/x86/kernel/mpparse_32.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/x86/kernel/mpparse_32.c b/arch/x86/kernel/mpparse_32.c
index a0cec74..000b51b 100644
--- a/arch/x86/kernel/mpparse_32.c
+++ b/arch/x86/kernel/mpparse_32.c
@@ -75,6 +75,10 @@ unsigned disabled_cpus __cpuinitdata;
/* Bitmask of physically existing CPUs */
physid_mask_t phys_cpu_present_map;
+#ifndef CONFIG_SMP
+DEFINE_PER_CPU(u16, x86_bios_cpu_apicid) = BAD_APICID;
+#endif
+
/*
* Intel MP BIOS table parsing routines:
*/
@@ -229,6 +233,7 @@ static void __cpuinit MP_processor_info (struct mpc_config_processor *m)
def_to_bigsmp = 1;
}
}
+#ifdef CONFIG_SMP
/* are we being called early in kernel startup? */
if (x86_cpu_to_apicid_early_ptr) {
u16 *cpu_to_apicid = x86_cpu_to_apicid_early_ptr;
@@ -240,6 +245,7 @@ static void __cpuinit MP_processor_info (struct mpc_config_processor *m)
per_cpu(x86_cpu_to_apicid, cpu) = m->mpc_apicid;
per_cpu(x86_bios_cpu_apicid, cpu) = m->mpc_apicid;
}
+#endif
cpu_set(cpu, cpu_present_map);
}