[RFC PATCH 07/12] lib: sbi_domain: print World ID config at boot

Pawandeep Oza pawandeep.oza at oss.qualcomm.com
Mon Jul 13 16:48:00 PDT 2026


On Fri, Jun 26, 2026 at 3:17 AM Yu-Chien Peter Lin <peter.lin at sifive.com> wrote:
>
> 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 <peter.lin at sifive.com>
> ---
>  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();
use local variable to store 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
> opensbi at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/opensbi



More information about the opensbi mailing list