[PATCH 12/12] lib: sbi: Remove cold_boot from sbi_double_trap_init
Xiang W
wxjstz at 126.com
Wed Jun 11 05:16:02 PDT 2025
As long as there is a HART supporting Ssdbltrp, sse event must to
be registered. So remove cold_boot from sbi_double_trap_init.
Signed-off-by: Xiang W <wxjstz at 126.com>
---
include/sbi/sbi_double_trap.h | 2 +-
lib/sbi/sbi_double_trap.c | 9 ++++++---
lib/sbi/sbi_init.c | 2 +-
3 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/include/sbi/sbi_double_trap.h b/include/sbi/sbi_double_trap.h
index 1c9f6472..c3d64dfd 100644
--- a/include/sbi/sbi_double_trap.h
+++ b/include/sbi/sbi_double_trap.h
@@ -15,6 +15,6 @@
int sbi_double_trap_handler(struct sbi_trap_context *tcntx);
-void sbi_double_trap_init(struct sbi_scratch *scratch, bool cold_boot);
+void sbi_double_trap_init(struct sbi_scratch *scratch);
#endif
diff --git a/lib/sbi/sbi_double_trap.c b/lib/sbi/sbi_double_trap.c
index 0e3951b8..301a4d2f 100644
--- a/lib/sbi/sbi_double_trap.c
+++ b/lib/sbi/sbi_double_trap.c
@@ -30,10 +30,13 @@ int sbi_double_trap_handler(struct sbi_trap_context *tcntx)
return sbi_sse_inject_event(SBI_SSE_EVENT_LOCAL_DOUBLE_TRAP);
}
-void sbi_double_trap_init(struct sbi_scratch *scratch, bool cold_boot)
+void sbi_double_trap_init(struct sbi_scratch *scratch)
{
- if (!cold_boot)
- return;
+ /*
+ * As long as there is a HART supporting Ssdbltrp,
+ * sse event must to be registered.
+ * This function need run all HARTs
+ */
if (sbi_hart_has_extension(scratch, SBI_HART_EXT_SSDBLTRP))
sbi_sse_add_event(SBI_SSE_EVENT_LOCAL_DOUBLE_TRAP, NULL);
}
diff --git a/lib/sbi/sbi_init.c b/lib/sbi/sbi_init.c
index 73d35933..41f96bc5 100644
--- a/lib/sbi/sbi_init.c
+++ b/lib/sbi/sbi_init.c
@@ -294,7 +294,7 @@ static void __noreturn init_startup(struct sbi_scratch *scratch, u32 hartid, boo
if (cold_boot)
sbi_boot_print_banner(scratch);
- sbi_double_trap_init(scratch, cold_boot);
+ sbi_double_trap_init(scratch);
rc = sbi_irqchip_init(scratch, cold_boot);
if (rc) {
--
2.47.2
More information about the opensbi
mailing list