[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