mirror of
https://github.com/riscv-software-src/opensbi.git
synced 2026-06-17 16:41:19 +01:00
lib: sbi: Make per-HART stack size configurable via Kconfig
The per-HART stack size for exception/interrupt handling is currently hardcoded to 8192 bytes in SBI_PLATFORM_DEFAULT_HART_STACK_SIZE. This may not be sufficient for platforms with deeper call stacks (e.g. those enabling additional SBI extensions) or may be wasteful for minimal platforms. Introduce a HART_STACK_SIZE Kconfig option in lib/sbi/Kconfig with a valid range of 8192 to 1048576 bytes and a default of 8192 bytes to preserve existing behavior. The SBI_PLATFORM_DEFAULT_HART_STACK_SIZE macro now resolves to CONFIG_HART_STACK_SIZE, allowing all platforms to benefit from a single configuration knob without any source changes. Signed-off-by: Oriol Catalan <oriol.catalan@openchip.com> Reviewed-by: Anup Patel <anup@brainfault.org> Link: https://lore.kernel.org/r/VI0P192MB3062735A6194BB6DA72083499E002@VI0P192MB3062.EURP192.PROD.OUTLOOK.COM Signed-off-by: Anup Patel <anup@brainfault.org>
This commit is contained in:
committed by
Anup Patel
parent
56c39d1f08
commit
d936372eab
@@ -164,7 +164,7 @@ struct sbi_platform_operations {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/** Platform default per-HART stack size for exception/interrupt handling */
|
/** Platform default per-HART stack size for exception/interrupt handling */
|
||||||
#define SBI_PLATFORM_DEFAULT_HART_STACK_SIZE 8192
|
#define SBI_PLATFORM_DEFAULT_HART_STACK_SIZE CONFIG_DEFAULT_HART_STACK_SIZE
|
||||||
|
|
||||||
/** Platform default heap size */
|
/** Platform default heap size */
|
||||||
#define SBI_PLATFORM_DEFAULT_HEAP_SIZE(__num_hart) \
|
#define SBI_PLATFORM_DEFAULT_HEAP_SIZE(__num_hart) \
|
||||||
|
|||||||
@@ -2,6 +2,11 @@
|
|||||||
|
|
||||||
menu "Generic SBI Support"
|
menu "Generic SBI Support"
|
||||||
|
|
||||||
|
config DEFAULT_HART_STACK_SIZE
|
||||||
|
int "Default per-HART stack size (bytes)"
|
||||||
|
range 8192 1048576
|
||||||
|
default 8192
|
||||||
|
|
||||||
config CONSOLE_EARLY_BUFFER_SIZE
|
config CONSOLE_EARLY_BUFFER_SIZE
|
||||||
int "Early console buffer size (bytes)"
|
int "Early console buffer size (bytes)"
|
||||||
default 256
|
default 256
|
||||||
|
|||||||
Reference in New Issue
Block a user