RISC-V: Increase range and default value of NR_CPUS
authorAnup Patel <apatel@ventanamicro.com>
Wed, 20 Apr 2022 11:24:08 +0000 (16:54 +0530)
committerPalmer Dabbelt <palmer@rivosinc.com>
Tue, 4 Oct 2022 20:16:44 +0000 (13:16 -0700)
Currently, the range and default value of NR_CPUS is too restrictive
for high-end RISC-V systems with large number of HARTs. The latest
QEMU virt machine supports upto 512 CPUs so the current NR_CPUS is
restrictive for QEMU as well. Other major architectures (such as
ARM64, x86_64, MIPS, etc) have a much higher range and default
value of NR_CPUS.

This patch increases NR_CPUS range to 2-512 and default value to
XLEN (i.e. 32 for RV32 and 64 for RV64).

Signed-off-by: Anup Patel <apatel@ventanamicro.com>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Link: https://lore.kernel.org/r/20220420112408.155561-1-apatel@ventanamicro.com/
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
arch/riscv/Kconfig

index d557cc50295dbbef27200155d166b86bad705a28..f06ce10a589b022faa944c593289fa55907ee36a 100644 (file)
@@ -309,10 +309,13 @@ config SMP
          If you don't know what to do here, say N.
 
 config NR_CPUS
-       int "Maximum number of CPUs (2-32)"
-       range 2 32
+       int "Maximum number of CPUs (2-512)"
        depends on SMP
-       default "8"
+       range 2 512 if !SBI_V01
+       range 2 32 if SBI_V01 && 32BIT
+       range 2 64 if SBI_V01 && 64BIT
+       default "32" if 32BIT
+       default "64" if 64BIT
 
 config HOTPLUG_CPU
        bool "Support for hot-pluggable CPUs"