[PATCH] lib: sbi: Hang when next mode not support

Xiang W wxjstz at 126.com
Thu Jun 15 22:54:58 PDT 2023


在 2023-06-16星期五的 08:34 +0530,Anup Patel写道:
> On Fri, Jun 16, 2023 at 8:11 AM Xiang W <wxjstz at 126.com> wrote:
> > 
> > The original code may let the hart that does not support next mode
> > enter init_warmboot. Fix this.
> > 
> > Signed-off-by: Xiang W <wxjstz at 126.com>
> 
> For platforms (like SiFive Unleashed/Unmatched), we have E-core
> without S-mode. The current approach allows users to run some
> piece software on E-core using OpenSBI domains.
Yes, at sbi_domain_finalize can fix the domain via fdt and
let E-core run other stuff.

Thank,
Xiang
> 
> NACK to this patch because it breaks OpenSBI domains
> 
> Regards,
> Anup
> 
> > ---
> >  lib/sbi/sbi_init.c | 8 ++++----
> >  1 file changed, 4 insertions(+), 4 deletions(-)
> > 
> > diff --git a/lib/sbi/sbi_init.c b/lib/sbi/sbi_init.c
> > index 423e6d8..d148bd2 100644
> > --- a/lib/sbi/sbi_init.c
> > +++ b/lib/sbi/sbi_init.c
> > @@ -532,10 +532,11 @@ void __noreturn sbi_init(struct sbi_scratch *scratch)
> >                 if (misa_extension('U'))
> >                         next_mode_supported = true;
> >                 break;
> > -       default:
> > -               sbi_hart_hang();
> >         }
> > 
> > +       if (next_mode_supported == false)
> > +               sbi_hart_hang();
> > +
> >         /*
> >          * Only the HART supporting privilege mode specified in the
> >          * scratch->next_mode should be allowed to become the coldboot
> > @@ -547,8 +548,7 @@ void __noreturn sbi_init(struct sbi_scratch *scratch)
> >          */
> > 
> >         if (sbi_platform_cold_boot_allowed(plat, hartid)) {
> > -               if (next_mode_supported &&
> > -                   atomic_xchg(&coldboot_lottery, 1) == 0)
> > +               if (atomic_xchg(&coldboot_lottery, 1) == 0)
> >                         coldboot = true;
> >         }
> > 
> > --
> > 2.39.2
> > 
> > 
> > --
> > opensbi mailing list
> > opensbi at lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/opensbi



More information about the opensbi mailing list