diff --git a/arch/x86/kernel/smpboot_32.c b/arch/x86/kernel/smpboot_32.c index 6be36d3eea4e3f4990653d12b209840e390b3a49..ae23b603978c081e6bbc2b5ad5275ae96b60f042 100644 --- a/arch/x86/kernel/smpboot_32.c +++ b/arch/x86/kernel/smpboot_32.c @@ -118,6 +118,12 @@ static void __init disable_smp(void) static int __init smp_sanity_check(unsigned max_cpus) { + if (!physid_isset(hard_smp_processor_id(), phys_cpu_present_map)) { + printk(KERN_WARNING "weird, boot CPU (#%d) not listed" + "by the BIOS.\n", hard_smp_processor_id()); + physid_set(hard_smp_processor_id(), phys_cpu_present_map); + } + /* * If we couldn't find an SMP configuration at boot time, * get out of here now!