summary refs log tree commit diff
path: root/arch/x86
diff options
context:
space:
mode:
authorMichael K. Johnson <johnsonm@rpath.com>2009-04-21 21:44:48 -0400
committerH. Peter Anvin <hpa@zytor.com>2009-04-21 19:34:54 -0700
commit2a3313f494c2f3f74a27d66f0f14b38558b7dba2 (patch)
tree3f5799fd8efb0c8cf7fd6f8ce5c768ef59279b6b /arch/x86
parentfcc5c4a2feea3886dc058498b28508b2731720d5 (diff)
downloadlinux-2a3313f494c2f3f74a27d66f0f14b38558b7dba2.tar.gz
x86: more than 8 32-bit CPUs requires X86_BIGSMP
$ cat x86-more-than-8-cpus-requires-bigsmp.patch

Enforce NR_CPUS <= 8 limitation if X86_BIGSMP not set

Configuring more than 8 logical CPUs on 32-bit x86 requires
X86_BIGSMP to be set in order to boot successfully, if more than 8
logical CPUs are actually found at boot time.  The X86_BIGSMP help
text describes that it is required to be set if more than 8 CPUs
are configured, but this was previously not enforced.

This configuration error has affected multiple distributions:
    https://bugzilla.redhat.com/show_bug.cgi?id=480844
    https://issues.rpath.com/browse/RPL-3022

Signed-off-by: Michael K Johnson <johnsonm@rpath.com>
LKML-Reference: <20090422014448.GB32541@logo.rdu.rpath.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'arch/x86')
-rw-r--r--arch/x86/Kconfig1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index c9086e6307a5..b5cda6c03d1d 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -664,6 +664,7 @@ config MAXSMP
 
 config NR_CPUS
 	int "Maximum number of CPUs" if SMP && !MAXSMP
+	range 2 8 if SMP && X86_32 && !X86_BIGSMP
 	range 2 512 if SMP && !MAXSMP
 	default "1" if !SMP
 	default "4096" if MAXSMP