Re: [PATCH v2] riscv: keep 32-bit kernel to 32-bit phys_addr_t
From: Paul Walmsley
Date: Fri Jan 10 2020 - 20:16:39 EST
On Fri, 10 Jan 2020, Palmer Dabbelt wrote:
> On Mon, 06 Jan 2020 15:20:24 PST (-0800), Olof Johansson wrote:
> > While rv32 technically has 34-bit physical addresses, no current platforms
> > use it and it's likely to shake out driver bugs.
> >
> > Let's keep 64-bit phys_addr_t off on 32-bit builds until one shows up,
> > since other work will be needed to make such a system useful anyway.
> >
> > PHYS_ADDR_T_64BIT is def_bool 64BIT, so just remove the select.
> >
> > Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
> > ---
> >
> > v2: Just remove the select, since it's set by default if CONFIG_64BIT
> >
> > arch/riscv/Kconfig | 2 --
> > 1 file changed, 2 deletions(-)
> >
> > diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
> > index a31169b02ec06..569fc6deb94d6 100644
> > --- a/arch/riscv/Kconfig
> > +++ b/arch/riscv/Kconfig
> > @@ -12,8 +12,6 @@ config 32BIT
> >
> > config RISCV
> > def_bool y
> > - # even on 32-bit, physical (and DMA) addresses are > 32-bits
> > - select PHYS_ADDR_T_64BIT
> > select OF
> > select OF_EARLY_FLATTREE
> > select OF_IRQ
>
> I gave 5.5-rc5 a quick test on a 32-bit QEMU with 8GiB of RAM and the system
> wouldn't boot, so we've got at least some bugs floating around somewhere.
> Given that this doesn't work I don't see any reason to keep it around as an
> option, as if someone wants to make it work there's a lot more to do than make
> things compile.
>
> I've put this on for-next. If anyone cares about 34-bit physical addresses on
> rv32 then now is the right time to speak up... ideally by fixing it :)
You know, if, according to
https://freenode.logbot.info/riscv/20200106
the main reason for doing this is to avoid autobuilder warnings, I'd be
tempted to suggest we leave it in there so people have some incentive to
go fix the real bugs ;-)
(that said, the patch is basically okay by me until at least QEMU is
fixed or hardware appears)
- Paul