x86: more than 8 32-bit CPUs requires X86_BIGSMP
authorMichael K. Johnson <johnsonm@rpath.com>
Wed, 22 Apr 2009 01:44:48 +0000 (21:44 -0400)
committerH. Peter Anvin <hpa@zytor.com>
Wed, 22 Apr 2009 02:34:54 +0000 (19:34 -0700)
$ 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>
arch/x86/Kconfig

index c9086e6307a5e18096ed19d78c85da7931211bdd..b5cda6c03d1d7572c3188c2d6a98d33f042c9303 100644 (file)
@@ -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