[PATCH 1/1] sbi: make SBI_HARTMASK_MAX_BITS customizable, default 256

Heinrich Schuchardt heinrich.schuchardt at canonical.com
Mon Jul 6 09:05:44 PDT 2026


Linux has raised the default number of 64bit CPUs to 256 in commit
0fa749771993 ("riscv: Raise default NR_CPUS for 64BIT to 256").
OpenSBI should use a matching value for SBI_HARTMASK_MAX_BITS.

Introduce configuration variable CONFIG_HARTMASK_MAX_BITS with
range 32-512 and default 256.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
---
 include/sbi/sbi_hartmask.h | 2 +-
 lib/sbi/Kconfig            | 9 +++++++++
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/include/sbi/sbi_hartmask.h b/include/sbi/sbi_hartmask.h
index 200ab6e5..339cd40f 100644
--- a/include/sbi/sbi_hartmask.h
+++ b/include/sbi/sbi_hartmask.h
@@ -20,7 +20,7 @@
  * also represents the maximum number of HART ids generic OpenSBI
  * can handle.
  */
-#define SBI_HARTMASK_MAX_BITS		128
+#define SBI_HARTMASK_MAX_BITS		CONFIG_HARTMASK_MAX_BITS
 
 /** Representation of hartmask */
 struct sbi_hartmask {
diff --git a/lib/sbi/Kconfig b/lib/sbi/Kconfig
index e76aecca..24132eaa 100644
--- a/lib/sbi/Kconfig
+++ b/lib/sbi/Kconfig
@@ -2,6 +2,15 @@
 
 menu "Generic SBI Support"
 
+config HARTMASK_MAX_BITS
+	int "Maximum number of hart mask bits (32-512)"
+	range 32 512
+	default 256
+	help
+	  The hartmask is indexed using physical hart IDs so this setting
+	  also represents the maximum number of hart IDs generic OpenSBI
+	  can handle.
+
 config DEFAULT_HART_STACK_SIZE
 	int "Default per-HART stack size (bytes)"
 	range 8192 1048576
-- 
2.53.0




More information about the opensbi mailing list