diff options
-rw-r--r-- | arch/x86/kernel/smpboot_32.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/x86/kernel/smpboot_32.c b/arch/x86/kernel/smpboot_32.c index 75fb5064af66..14db038b6b48 100644 --- a/arch/x86/kernel/smpboot_32.c +++ b/arch/x86/kernel/smpboot_32.c | |||
@@ -106,7 +106,11 @@ static void __init disable_smp(void) | |||
106 | cpu_possible_map = cpumask_of_cpu(0); | 106 | cpu_possible_map = cpumask_of_cpu(0); |
107 | cpu_present_map = cpumask_of_cpu(0); | 107 | cpu_present_map = cpumask_of_cpu(0); |
108 | smpboot_clear_io_apic_irqs(); | 108 | smpboot_clear_io_apic_irqs(); |
109 | phys_cpu_present_map = physid_mask_of_physid(0); | 109 | if (smp_found_config) |
110 | phys_cpu_present_map = | ||
111 | physid_mask_of_physid(boot_cpu_physical_apicid); | ||
112 | else | ||
113 | phys_cpu_present_map = physid_mask_of_physid(0); | ||
110 | map_cpu_to_logical_apicid(); | 114 | map_cpu_to_logical_apicid(); |
111 | cpu_set(0, per_cpu(cpu_sibling_map, 0)); | 115 | cpu_set(0, per_cpu(cpu_sibling_map, 0)); |
112 | cpu_set(0, per_cpu(cpu_core_map, 0)); | 116 | cpu_set(0, per_cpu(cpu_core_map, 0)); |