Re: [PATCH] riscv: to make sure the cores in .Lsecondary_park

From: Greentime Hu
Date: Tue Jan 07 2020 - 21:39:49 EST


On Tue, Jan 7, 2020 at 6:54 PM Paul Walmsley <paul.walmsley@xxxxxxxxxx> wrote:
>
> Hi Greentime,
>
> On Tue, 7 Jan 2020, Greentime Hu wrote:
>
> > The code in secondary_park is currently placed in the .init section. The
> > kernel reclaims and clears this code when it finishes booting. That
> > causes the cores parked in it to go to somewhere unpredictable, so we
> > move this function out of init to make sure the cores stay looping there.
> >
> > Signed-off-by: Greentime Hu <greentime.hu@xxxxxxxxxx>
> > ---
> > arch/riscv/kernel/head.S | 13 ++++++++-----
> > 1 file changed, 8 insertions(+), 5 deletions(-)
> >
> > diff --git a/arch/riscv/kernel/head.S b/arch/riscv/kernel/head.S
> > index f8f996916c5b..d8da076fc69e 100644
> > --- a/arch/riscv/kernel/head.S
> > +++ b/arch/riscv/kernel/head.S
> > @@ -217,11 +217,6 @@ relocate:
> > tail smp_callin
> > #endif
> >
> > -.align 2
> > -.Lsecondary_park:
> > - /* We lack SMP support or have too many harts, so park this hart */
> > - wfi
> > - j .Lsecondary_park
> > END(_start)
> >
> > #ifdef CONFIG_RISCV_M_MODE
> > @@ -303,6 +298,14 @@ ENTRY(reset_regs)
> > END(reset_regs)
> > #endif /* CONFIG_RISCV_M_MODE */
> >
> > +__FINIT
> > +.section ".text", "ax",@progbits
>
> Can the __FINIT be dropped?

Yes, Paul.
It can be dropped. I'll send v2.