On Mon, 2019-06-24 at 07:43 +0200, Christoph Hellwig wrote: > From: Damien Le Moal <Damien.LeMoal@xxxxxxx> > > When in M-Mode, we can use the mhartid CSR to get the ID of the > running > HART. Doing so, direct M-Mode boot without firmware is possible. > > Signed-off-by: Damien Le Moal <damien.lemoal@xxxxxxx> > Signed-off-by: Christoph Hellwig <hch@xxxxxx> > --- > arch/riscv/kernel/head.S | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/arch/riscv/kernel/head.S b/arch/riscv/kernel/head.S > index e5fa5481aa99..a4c170e41a34 100644 > --- a/arch/riscv/kernel/head.S > +++ b/arch/riscv/kernel/head.S > @@ -18,6 +18,14 @@ ENTRY(_start) > csrw CSR_XIE, zero > csrw CSR_XIP, zero > > +#ifdef CONFIG_M_MODE > + /* > + * The hartid in a0 is expected later on, and we have no > firmware > + * to hand it to us. > + */ > + csrr a0, mhartid I think you should add SR_MHARTID and use that instead of direct csr name. The following patch replaced all occurrence of csr name usage from kernel with CSR numbers. https://patchwork.kernel.org/patch/10916293/ With that change, Reviewed-by: Atish Patra <atish.patra@xxxxxxx> > +#endif > + > /* Load the global pointer */ > .option push > .option norelax -- Regards, Atish