[RFC PATCH 07/12] lib: sbi_domain: print World ID config at boot
Yu-Chien Peter Lin <[email protected]> Fri, 26 Jun 2026 18:14:28 +0800
| Newsgroups | org.infradead.lists.opensbi |
|---|---|
| Message-ID | <[email protected]> |
Extends sbi_domain_dump() to display World ID configuration (next_wid and next_widlist) for each domain at boot. Provides boot-time diagnostic visibility for debugging and verification. Signed-off-by: Yu-Chien Peter Lin <[email protected]> --- lib/sbi/sbi_domain.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/lib/sbi/sbi_domain.c b/lib/sbi/sbi_domain.c index fa69170b..443aa60b 100644 --- a/lib/sbi/sbi_domain.c +++ b/lib/sbi/sbi_domain.c @@ -10,6 +10,7 @@ #include <sbi/riscv_asm.h> #include <sbi/sbi_console.h> #include <sbi/sbi_domain.h> +#include <sbi/sbi_hart.h> #include <sbi/sbi_hartmask.h> #include <sbi/sbi_heap.h> #include <sbi/sbi_hsm.h> @@ -608,6 +609,31 @@ void sbi_domain_dump(const struct sbi_domain *dom, const char *suffix) break; } + if (sbi_hart_has_extension(sbi_scratch_thishart_ptr(), + SBI_HART_EXT_SMLWID)) { + if (dom->has_next_wid) + sbi_printf("Domain%d Next Wid %s: %u\n", + dom->index, suffix, dom->next_wid); + else { + struct sbi_scratch *scratch = sbi_scratch_thishart_ptr(); + const struct sbi_hart_features *hf = sbi_hart_features_ptr(scratch); + sbi_printf("Domain%d Next Wid %s: %u (pmwid)\n", + dom->index, suffix, hf->pmwid); + } + } else { + sbi_printf("Domain%d Next Wid %s: unsupported\n", + dom->index, suffix); + } + + if (sbi_hart_has_extension(sbi_scratch_thishart_ptr(), + SBI_HART_EXT_SMWIDDELEG)) { + sbi_printf("Domain%d Next Widlist%s: 0x%" PRIx64 "\n", + dom->index, suffix, dom->next_widlist); + } else { + sbi_printf("Domain%d Next Widlist%s: unsupported\n", + dom->index, suffix); + } + sbi_printf("Domain%d SysReset %s: %s\n", dom->index, suffix, (dom->system_reset_allowed) ? "yes" : "no"); -- 2.43.7 -- opensbi mailing list [email protected] http://lists.infradead.org/mailman/listinfo/opensbi