From 7516bfebeef5bbc1f2f4d9f20d08ec085e35b986 Mon Sep 17 00:00:00 2001 From: whensun Date: Tue, 3 Nov 2026 19:36:10 -0700 Subject: [PATCH] Increase ACE OpenSBI hart stack size to 16 KiB Signed-off-by: whensun --- security-monitor/platform/generic/platform.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/security-monitor/platform/generic/platform.c b/security-monitor/platform/generic/platform.c index 553128ec..4b7db3e8 100644 --- a/security-monitor/platform/generic/platform.c +++ b/security-monitor/platform/generic/platform.c @@ -380,6 +380,13 @@ const struct sbi_platform_operations platform_ops = { .vendor_ext_provider = generic_vendor_ext_provider, }; +/* + * OpenSBI reserves 4 KiB of each hart stack region for scratch data. + * ACE requires additional stack space during security monitor initialization. + * A 16 KiB region provides 12 KiB of usable stack. + */ +#define ACE_OPENSBI_HART_STACK_SIZE (16 * 1024) + struct sbi_platform platform = { .opensbi_version = OPENSBI_VERSION, .platform_version = @@ -389,7 +396,7 @@ struct sbi_platform platform = { .features = SBI_PLATFORM_DEFAULT_FEATURES, .hart_count = SBI_HARTMASK_MAX_BITS, .hart_index2id = generic_hart_index2id, - .hart_stack_size = SBI_PLATFORM_DEFAULT_HART_STACK_SIZE, + .hart_stack_size = ACE_OPENSBI_HART_STACK_SIZE, .heap_size = SBI_PLATFORM_DEFAULT_HEAP_SIZE(0), .platform_ops_addr = (unsigned long)&platform_ops }; \ No newline at end of file