[RFC PATCH v7 1/2] riscv: cpu: Add callback to init each core

Green Wan green.wan at sifive.com
Sat May 1 13:57:46 CEST 2021


Thanks for the review. Will fix the issues and remove the RFC.

- Green

Bin Meng <bmeng.cn at gmail.com>於 2021年5月1日 週六,下午7:55寫道:

> Hi Green,
>
> On Thu, Apr 22, 2021 at 5:18 PM Green Wan <green.wan at sifive.com> wrote:
> >
> > Add a callback harts_early_init() to start.S to allow different riscv
> > hart perform setup code for each hart as early as possible. Since all
> > the harts enter the callback, they must be able to run the same
> > setup.
> >
> > Signed-off-by: Green Wan <green.wan at sifive.com>
> > Reviewed-by: Rick Chen <rick at andestech.com>
> > ---
> >  arch/riscv/cpu/cpu.c   | 11 +++++++++++
> >  arch/riscv/cpu/start.S |  6 ++++++
> >  2 files changed, 17 insertions(+)
> >
> > diff --git a/arch/riscv/cpu/cpu.c b/arch/riscv/cpu/cpu.c
> > index 85592f5bee..43c086ca19 100644
> > --- a/arch/riscv/cpu/cpu.c
> > +++ b/arch/riscv/cpu/cpu.c
> > @@ -140,3 +140,14 @@ int arch_early_init_r(void)
> >  {
> >         return riscv_cpu_probe();
> >  }
> > +
> > +/**
> > + * harts_early_init() - A callback function called by start.S to
> configure
> > + * feature settings of each hart.
> > + *
> > + * In a multi-core system, memory access shall be careful here, it shall
> > + * take care race conditions.
>
> nits: take care of
>
> > + */
> > +__weak void harts_early_init(void)
> > +{
> > +}
> > diff --git a/arch/riscv/cpu/start.S b/arch/riscv/cpu/start.S
> > index 8589509e01..bdd5517bca 100644
> > --- a/arch/riscv/cpu/start.S
> > +++ b/arch/riscv/cpu/start.S
> > @@ -117,6 +117,12 @@ call_board_init_f_0:
> >         mv      sp, a0
> >  #endif
> >
> > +       /*
> > +        * Configure proprietary settings and customized CRSs of harts
>
> nits: use single line comment if this does exceed 80 characters
>
> CRSs => CSRs
>
> > +        */
> > +call_harts_early_init:
> > +       jal     harts_early_init
> > +
> >  #ifndef CONFIG_XIP
> >         /*
> >          * Pick hart to initialize global data and run U-Boot. The other
> harts
> > --
>
> Otherwise,
> Reviewed-by: Bin Meng <bmeng.cn at gmail.com>
>
> I think you can remove the RFC tag in the next version.
>
> Regards,
> Bin
>


More information about the U-Boot mailing list