Messages in this thread | | | From | Atish Patra <> | Subject | Re: [PATCH 10/17] riscv: read the hart ID from mhartid on boot | Date | Mon, 1 Jul 2019 21:15:51 +0000 |
| |
On Mon, 2019-06-24 at 07:43 +0200, Christoph Hellwig wrote: > From: Damien Le Moal <Damien.LeMoal@wdc.com> > > 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@wdc.com> > Signed-off-by: Christoph Hellwig <hch@lst.de> > --- > 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@wdc.com>
> +#endif > + > /* Load the global pointer */ > .option push > .option norelax
-- Regards, Atish
| |