summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeinrich Schuchardt <heinrich.schuchardt@canonical.com>2026-07-06 18:05:44 +0200
committerAnup Patel <anup@brainfault.org>2026-08-20 17:57:19 +0530
commit3876e7574dd7eff9241e6fb0a3822e4e51731b9f (patch)
treeba5eb0a32e609c7aa9130d0a9596422f1a0b587e
parentc5e90d4286211e5a68c157f435f12745705dfa51 (diff)
downloadopensbi-3876e7574dd7eff9241e6fb0a3822e4e51731b9f.tar.gz
opensbi-3876e7574dd7eff9241e6fb0a3822e4e51731b9f.zip
lib: make SBI_HARTMASK_MAX_BITS customizable, default 256
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@canonical.com> Reviewed-by: Anup Patel <anup@brainfault.org> Link: https://lore.kernel.org/r/20260706160544.697409-1-heinrich.schuchardt@canonical.com Signed-off-by: Anup Patel <anup@brainfault.org>
-rw-r--r--include/sbi/sbi_hartmask.h4
-rw-r--r--lib/sbi/Kconfig9
2 files changed, 13 insertions, 0 deletions
diff --git a/include/sbi/sbi_hartmask.h b/include/sbi/sbi_hartmask.h
index 200ab6e5..da6821ee 100644
--- a/include/sbi/sbi_hartmask.h
+++ b/include/sbi/sbi_hartmask.h
@@ -20,7 +20,11 @@
* also represents the maximum number of HART ids generic OpenSBI
* can handle.
*/
+#ifdef CONFIG_HARTMASK_MAX_BITS
+#define SBI_HARTMASK_MAX_BITS CONFIG_HARTMASK_MAX_BITS
+#else
#define SBI_HARTMASK_MAX_BITS 128
+#endif
/** 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