[PATCH 1/1] sbi: make SBI_HARTMASK_MAX_BITS customizable, default 256
Anup Patel
anup at brainfault.org
Thu Aug 20 00:46:55 PDT 2026
On Mon, Jul 6, 2026 at 9:35 PM Heinrich Schuchardt
<heinrich.schuchardt at canonical.com> wrote:
>
> 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>
LGTM.
Reviewed-by: Anup Patel <anup at brainfault.org>
Applied this patch to the riscv/opensbi repo.
Thanks,
Anup
> ---
> 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