diff --git a/[refs] b/[refs] index 406c1199f609..d492c4caa218 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 83f7eb9c674c1bcaad6ca258fdd7dd3b96465a62 +refs/heads/master: bd7b47ba5e4ced4e20bed2394c9580637d44550a diff --git a/trunk/arch/x86/kernel/smpboot_32.c b/trunk/arch/x86/kernel/smpboot_32.c index 75fb5064af66..14db038b6b48 100644 --- a/trunk/arch/x86/kernel/smpboot_32.c +++ b/trunk/arch/x86/kernel/smpboot_32.c @@ -106,7 +106,11 @@ static void __init disable_smp(void) cpu_possible_map = cpumask_of_cpu(0); cpu_present_map = cpumask_of_cpu(0); smpboot_clear_io_apic_irqs(); - phys_cpu_present_map = physid_mask_of_physid(0); + if (smp_found_config) + phys_cpu_present_map = + physid_mask_of_physid(boot_cpu_physical_apicid); + else + phys_cpu_present_map = physid_mask_of_physid(0); map_cpu_to_logical_apicid(); cpu_set(0, per_cpu(cpu_sibling_map, 0)); cpu_set(0, per_cpu(cpu_core_map, 0));