summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYinghai Lu <yinghai@kernel.org>2009-01-29 14:19:22 -0800
committerIngo Molnar <mingo@elte.hu>2009-01-30 15:24:37 +0100
commit26f7ef14a76b0e590a3797fd7b2f3cee868d9664 (patch)
tree6bb9191db133864a77cab563e4cc0288c3f633a2
parent43f39890db2959b10891cf7bbf3f53fffc8ce3bd (diff)
downloadop-kernel-dev-26f7ef14a76b0e590a3797fd7b2f3cee868d9664.zip
op-kernel-dev-26f7ef14a76b0e590a3797fd7b2f3cee868d9664.tar.gz
x86: don't treat bigsmp as non-standard
just like 64 bit switch from flat logical APIC messages to flat physical mode automatically. Signed-off-by: Yinghai Lu <yinghai@kernel.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r--arch/x86/Kconfig15
-rw-r--r--arch/x86/kernel/acpi/boot.c2
-rw-r--r--arch/x86/kernel/mpparse.c4
-rw-r--r--arch/x86/kernel/setup.c2
-rw-r--r--arch/x86/kernel/smpboot.c2
5 files changed, 12 insertions, 13 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index afaf2cb..c6e567b 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -262,6 +262,12 @@ config X86_MPPARSE
For old smp systems that do not have proper acpi support. Newer systems
(esp with 64bit cpus) with acpi support, MADT and DSDT will override it
+config X86_BIGSMP
+ bool "Support for big SMP systems with more than 8 CPUs"
+ depends on X86_32 && SMP
+ help
+ This option is needed for the systems that have more than 8 CPUs
+
config X86_NON_STANDARD
bool "Support for non-standard x86 platforms"
help
@@ -338,13 +344,6 @@ config X86_32_NON_STANDARD
if you select them all, kernel will probe it one by one. and will
fallback to default.
-config X86_BIGSMP
- bool "Support for big SMP systems with more than 8 CPUs"
- depends on X86_32_NON_STANDARD
- help
- This option is needed for the systems that have more than 8 CPUs
- and if the system is not of any sub-arch type above.
-
config X86_NUMAQ
bool "NUMAQ (IBM/Sequent)"
depends on X86_32_NON_STANDARD
@@ -366,7 +365,7 @@ config X86_SUMMIT
config X86_ES7000
bool "Support for Unisys ES7000 IA32 series"
- depends on X86_32_NON_STANDARD
+ depends on X86_32_NON_STANDARD && X86_BIGSMP
help
Support for Unisys ES7000 systems. Say 'Y' here if this kernel is
supposed to run on an IA32-based Unisys ES7000 system.
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
index 7352c60..3efa996 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -1335,7 +1335,7 @@ static void __init acpi_process_madt(void)
if (!error) {
acpi_lapic = 1;
-#ifdef CONFIG_X86_32_NON_STANDARD
+#ifdef CONFIG_X86_BIGSMP
generic_bigsmp_probe();
#endif
/*
diff --git a/arch/x86/kernel/mpparse.c b/arch/x86/kernel/mpparse.c
index 89aaced..b46ca7d 100644
--- a/arch/x86/kernel/mpparse.c
+++ b/arch/x86/kernel/mpparse.c
@@ -372,8 +372,8 @@ static int __init smp_read_mpc(struct mpc_table *mpc, unsigned early)
(*x86_quirks->mpc_record)++;
}
-#ifdef CONFIG_X86_32_NON_STANDARD
- generic_bigsmp_probe();
+#ifdef CONFIG_X86_BIGSMP
+ generic_bigsmp_probe();
#endif
if (apic->setup_apic_routing)
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index f64e1a4..df64aff 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -936,7 +936,7 @@ void __init setup_arch(char **cmdline_p)
map_vsyscall();
#endif
-#ifdef CONFIG_X86_32_NON_STANDARD
+#if defined(CONFIG_X86_32_NON_STANDARD) || defined(CONFIG_X86_BIGSMP)
generic_apic_probe();
#endif
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
index 4c3cff5..1268a86 100644
--- a/arch/x86/kernel/smpboot.c
+++ b/arch/x86/kernel/smpboot.c
@@ -1007,7 +1007,7 @@ static int __init smp_sanity_check(unsigned max_cpus)
printk(KERN_WARNING
"More than 8 CPUs detected - skipping them.\n"
- "Use CONFIG_X86_32_NON_STANDARD and CONFIG_X86_BIGSMP.\n");
+ "Use CONFIG_X86_BIGSMP.\n");
nr = 0;
for_each_present_cpu(cpu) {
OpenPOWER on IntegriCloud