x86: use physical id when disabling smp
authorGlauber de Oliveira Costa <gcosta@redhat.com>
Wed, 19 Mar 2008 17:26:03 +0000 (14:26 -0300)
committerIngo Molnar <mingo@elte.hu>
Thu, 17 Apr 2008 15:41:04 +0000 (17:41 +0200)
if smp configuration is not found at all, hook into 0.
This is done to match x86_64

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/smpboot_32.c

index 75fb5064af66b7baf20bb9081eae15e6aebe2b48..14db038b6b48bced259294d9fe198637721865ba 100644 (file)
@@ -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));