diff options
author | Yinghai Lu <yhlu.kernel@gmail.com> | 2008-06-08 21:29:22 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-06-10 05:32:09 -0400 |
commit | e0da33646826b66ef933d47ea2fb7a693fd849bf (patch) | |
tree | 398d86b96531e574c4710ea1538806b7e0ae0fef /arch/x86/kernel/mpparse.c | |
parent | c3ff01672a23fabb40d4b80ff25a845582fd07c2 (diff) |
x86: introduce max_physical_apicid for bigsmp switching
a multi-socket test-system with 3 or 4 ioapics, when 4 dualcore cpus or
2 quadcore cpus installed, needs to switch to bigsmp or physflat.
CPU apic id is [4,11] instead of [0,7], and we need to check max apic
id instead of cpu numbers.
also add check for 32 bit when acpi is not compiled in or acpi=off.
Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/mpparse.c')
-rw-r--r-- | arch/x86/kernel/mpparse.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/x86/kernel/mpparse.c b/arch/x86/kernel/mpparse.c index b4a950da2f97..7591325e616d 100644 --- a/arch/x86/kernel/mpparse.c +++ b/arch/x86/kernel/mpparse.c | |||
@@ -473,6 +473,11 @@ static int __init smp_read_mpc(struct mp_config_table *mpc, unsigned early) | |||
473 | ++mpc_record; | 473 | ++mpc_record; |
474 | #endif | 474 | #endif |
475 | } | 475 | } |
476 | |||
477 | #ifdef CONFIG_X86_GENERICARCH | ||
478 | generic_bigsmp_probe(); | ||
479 | #endif | ||
480 | |||
476 | setup_apic_routing(); | 481 | setup_apic_routing(); |
477 | if (!num_processors) | 482 | if (!num_processors) |
478 | printk(KERN_ERR "MPTABLE: no processors registered!\n"); | 483 | printk(KERN_ERR "MPTABLE: no processors registered!\n"); |