All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yu-Chien Peter Lin <peter.lin@sifive.com>
To: Pawandeep Oza <pawandeep.oza@oss.qualcomm.com>
Cc: Anup Patel <anup@brainfault.org>,
	opensbi@lists.infradead.org, zong.li@sifive.com,
	greentime.hu@sifive.com, scott@riscstar.com, conor@kernel.org,
	dave.patel@riscstar.com, raymond.mao@riscstar.com,
	robin.randhawa@sifive.com, samuel.holland@sifive.com
Subject: Re: [RFC PATCH 09/12] platform: generic: parse root domain WID config from DT
Date: Tue, 21 Jul 2026 14:24:54 +0800	[thread overview]
Message-ID: <al8Qtr44PCu0F4Nl@plin-1878> (raw)
In-Reply-To: <CAAVgOk+YPQNyTzYFaEyihzSdtuDLXSC0z_-nf5fL+BaB6WshTg@mail.gmail.com>

On Mon, Jul 20, 2026 at 02:14:16PM -0700, Pawandeep Oza wrote:
> I gave the comment on your cover letter which was defining DT. pasting
> it here for the reference.
> 
> Oza: lets start a bit from here from device tree.
> 
> cpus {
>     riscv,nworlds = <4>;
> 
>     cpu@0 {
>         riscv,pmwid      = <3>;       /* M-mode lives in World 3 */
>         riscv,pmwidlist  = <0x0 0xf>; /* M-mode can access Worlds 0-3 */
>         riscv,pmlwidlist = <0x0 0xf>; /* S/U-mode can use Worlds 0-3 */
>     };
> };
> 
> chosen {
>     opensbi-domains {
>         /* WID 3 — M-mode (implicit, via pmwid) */
>         trusted-domain {
>             wid     = <2>;       /* WID 2 — trusted S-mode */
>             widlist = <0x0 0x4>; /* can delegate WID 2 to U-mode */
>         };
>         untrusted-domain {
>             wid     = <1>;       /* WID 1 — untrusted S-mode */
>             widlist = <0x0 0x0>; /* no delegation */
>         };
>         root-domain {
>             wid     = <0>;       /* WID 0 — root/unprotected */
>             widlist = <0x0 0x0>;

Ah, I overlooked that reply, thanks Anup and Oza for suggestion.
I will follow it.

Regards,
Peter Lin

> 
> On Mon, Jul 20, 2026 at 3:39 AM Anup Patel <anup@brainfault.org> wrote:
> >
> > On Mon, Jul 20, 2026 at 2:24 PM Yu-Chien Peter Lin <peter.lin@sifive.com> wrote:
> > >
> > > On Wed, Jul 08, 2026 at 05:39:34PM -0700, Pawandeep Oza wrote:
> > > > On Fri, Jun 26, 2026 at 3:17 AM Yu-Chien Peter Lin <peter.lin@sifive.com> wrote:
> > > > >
> > > > > Parse root-domain-next-wid (32-bit) and root-domain-next-widlist
> > > > > (64-bit) properties from /chosen/opensbi,config node during
> > > > > generic_domains_init(). Sets root.next_wid/has_next_wid and
> > > > > root.next_widlist.
> > > > >
> > > > > Signed-off-by: Yu-Chien Peter Lin <peter.lin@sifive.com>
> > > > > ---
> > > > >  platform/generic/platform.c | 20 +++++++++++++++++++-
> > > > >  1 file changed, 19 insertions(+), 1 deletion(-)
> > > > >
> > > > > diff --git a/platform/generic/platform.c b/platform/generic/platform.c
> > > > > index 51e9f342..de12deb5 100644
> > > > > --- a/platform/generic/platform.c
> > > > > +++ b/platform/generic/platform.c
> > > > > @@ -11,6 +11,7 @@
> > > > >  #include <platform_override.h>
> > > > >  #include <sbi/riscv_asm.h>
> > > > >  #include <sbi/sbi_bitops.h>
> > > > > +#include <sbi/sbi_domain.h>
> > > > >  #include <sbi/sbi_hartmask.h>
> > > > >  #include <sbi/sbi_heap.h>
> > > > >  #include <sbi/sbi_platform.h>
> > > > > @@ -276,7 +277,9 @@ int generic_extensions_init(bool cold_boot)
> > > > >  int generic_domains_init(void)
> > > > >  {
> > > > >         const void *fdt = fdt_get_address();
> > > > > -       int offset, ret;
> > > > > +       const fdt32_t *val;
> > > > > +       int len, offset, ret;
> > > > > +       u64 val64;
> > > > >
> > > > >         ret = fdt_domains_populate(fdt);
> > > > >         if (ret < 0)
> > > > > @@ -290,6 +293,21 @@ int generic_domains_init(void)
> > > > >                 if (offset >= 0 &&
> > > > >                     fdt_get_property(fdt, offset, "system-suspend-test", NULL))
> > > > >                         sbi_system_suspend_test_enable();
> > > > > +
> > > > > +               if (offset >= 0) {
> > > > > +                       val = fdt_getprop(fdt, offset, "root-domain-next-wid", &len);
> > > > > +                       if (val && len == sizeof(fdt32_t)) {
> > > > > +                               root.next_wid = fdt32_to_cpu(val[0]);
> > > > > +                               root.has_next_wid = true;
> > > > > +                       }
> > > > > +
> > > > > +                       val = fdt_getprop(fdt, offset, "root-domain-next-widlist", &len);
> > > > Oza: Root domain WID config is semantically identical to per-domain
> > > > WID config but lives in a completely different DT location
> > > > root can be another default domain under chosen { opensbi-domains {
> > >
> > > Sure, it would be better to have root domain wid configuration
> > > specified under the opensbi-domain parent node alongside other
> > > domains. I also am planning to introduce "opensbi,domain,instance,root"
> > > compatible string.
> >
> > Another approach is to treat DT node named "root" under path
> > "/chosen/opensbi-domains" for RISC-V worlds related DT property.
> > In the future, same "root" DT node can be used other root domain
> > DT properties.
> >
> > Regards,
> > Anup
> >
> > >
> > > Thanks,
> > > Peter Lin
> > >
> > > > > +                       if (val && (len == (2 * sizeof(fdt32_t)))) {
> > > > > +                               val64 = fdt32_to_cpu(val[0]);
> > > > > +                               val64 = (val64 << 32) | fdt32_to_cpu(val[1]);
> > > > > +                               root.next_widlist = val64;
> > > > > +                       }
> > > > > +               }
> > > > >         }
> > > > >
> > > > >         return 0;
> > > > > --
> > > > > 2.43.7
> > > > >
> > > > >
> > > > > --
> > > > > opensbi mailing list
> > > > > opensbi@lists.infradead.org
> > > > > http://lists.infradead.org/mailman/listinfo/opensbi

-- 
opensbi mailing list
opensbi@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/opensbi

  reply	other threads:[~2026-07-21  6:25 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-26 10:14 [RFC PATCH 00/12] Add RISC-V Worlds ISA support to OpenSBI Yu-Chien Peter Lin
2026-06-26 10:14 ` [RFC PATCH 01/12] lib: sbi_hart: detect RISC-V Worlds ISA extensions Yu-Chien Peter Lin
2026-07-13 20:58   ` Pawandeep Oza
2026-07-20  3:14     ` Yu-Chien Peter Lin
2026-06-26 10:14 ` [RFC PATCH 02/12] lib: utils: fdt_helper: parse RISC-V Worlds DT properties Yu-Chien Peter Lin
2026-07-09  0:36   ` Pawandeep Oza
2026-07-09  0:42     ` Pawandeep Oza
2026-07-13 21:13       ` Pawandeep Oza
2026-07-20  6:41         ` Yu-Chien Peter Lin
2026-07-20  5:55       ` Yu-Chien Peter Lin
2026-07-20  3:29     ` Yu-Chien Peter Lin
2026-06-26 10:14 ` [RFC PATCH 03/12] lib: sbi_hart: enforce riscv,pmwid for Worlds ISA Yu-Chien Peter Lin
2026-07-13 21:26   ` Pawandeep Oza
2026-07-20  7:01     ` Yu-Chien Peter Lin
2026-06-26 10:14 ` [RFC PATCH 04/12] lib: sbi_hart: lock mwid CSR for RoT immutability Yu-Chien Peter Lin
2026-07-13 21:28   ` Pawandeep Oza
2026-07-20  7:36     ` Yu-Chien Peter Lin
2026-06-26 10:14 ` [RFC PATCH 05/12] include: sbi_domain: add Worlds WID fields Yu-Chien Peter Lin
2026-07-13 21:52   ` Pawandeep Oza
2026-07-20  7:55     ` Yu-Chien Peter Lin
2026-06-26 10:14 ` [RFC PATCH 06/12] include: sbi_types: add PRIx64 format macro Yu-Chien Peter Lin
2026-06-26 10:14 ` [RFC PATCH 07/12] lib: sbi_domain: print World ID config at boot Yu-Chien Peter Lin
2026-07-13 23:48   ` Pawandeep Oza
2026-07-20  8:24     ` Yu-Chien Peter Lin
2026-06-26 10:14 ` [RFC PATCH 08/12] lib: sbi_init: print M-mode World ID " Yu-Chien Peter Lin
2026-06-26 10:14 ` [RFC PATCH 09/12] platform: generic: parse root domain WID config from DT Yu-Chien Peter Lin
2026-07-09  0:39   ` Pawandeep Oza
2026-07-20  8:54     ` Yu-Chien Peter Lin
2026-07-20 10:39       ` Anup Patel
2026-07-20 21:14         ` Pawandeep Oza
2026-07-21  6:24           ` Yu-Chien Peter Lin [this message]
2026-06-26 10:14 ` [RFC PATCH 10/12] lib: utils: fdt_domain: parse per-domain WID properties Yu-Chien Peter Lin
2026-06-26 10:14 ` [RFC PATCH 11/12] lib: sbi_domain: add Worlds CSR config on domain entry Yu-Chien Peter Lin
2026-06-26 10:14 ` [RFC PATCH 12/12] docs: add RISC-V Worlds next-wid/next-widlist DT properties Yu-Chien Peter Lin
2026-07-09  0:44 ` [RFC PATCH 00/12] Add RISC-V Worlds ISA support to OpenSBI Pawandeep Oza
2026-07-14  0:33   ` Pawandeep Oza

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=al8Qtr44PCu0F4Nl@plin-1878 \
    --to=peter.lin@sifive.com \
    --cc=anup@brainfault.org \
    --cc=conor@kernel.org \
    --cc=dave.patel@riscstar.com \
    --cc=greentime.hu@sifive.com \
    --cc=opensbi@lists.infradead.org \
    --cc=pawandeep.oza@oss.qualcomm.com \
    --cc=raymond.mao@riscstar.com \
    --cc=robin.randhawa@sifive.com \
    --cc=samuel.holland@sifive.com \
    --cc=scott@riscstar.com \
    --cc=zong.li@sifive.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.