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

Yu-Chien Peter Lin peter.lin at sifive.com
Mon Jul 20 01:24:17 PDT 2026


On Mon, Jul 13, 2026 at 04:48:00PM -0700, Pawandeep Oza wrote:
> 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

Sure, will update.

> > +                       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