summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlauber de Oliveira Costa <gcosta@redhat.com>2008-03-19 18:26:03 +0100
committerIngo Molnar <mingo@elte.hu>2008-04-17 17:41:04 +0200
commitbd7b47ba5e4ced4e20bed2394c9580637d44550a (patch)
tree1269adac06a8028b1639c6dc45c639c721ebc935
parentx86: merge native_smp_cpus_done (diff)
downloadlinux-bd7b47ba5e4ced4e20bed2394c9580637d44550a.tar.xz
linux-bd7b47ba5e4ced4e20bed2394c9580637d44550a.zip
x86: use physical id when disabling smp
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>
-rw-r--r--arch/x86/kernel/smpboot_32.c6
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)
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));