Re: [PATCH -fixes] riscv: Fix BUILTIN_DTB for sifive and microchip soc
From: Arnd Bergmann
Date: Fri Jun 04 2021 - 14:35:26 EST
On Fri, Jun 4, 2021 at 7:45 PM Vitaly Wool <vitaly.wool@xxxxxxxxxxxx> wrote:
> On Fri, Jun 4, 2021 at 3:18 PM Arnd Bergmann <arnd@xxxxxxxx> wrote:
> > On Fri, Jun 4, 2021 at 2:06 PM Alexandre Ghiti <alex@xxxxxxxx> wrote:
> > >
> > > Fix BUILTIN_DTB config which resulted in a dtb that was actually not built
> > > into the Linux image: in the same manner as Canaan soc does, create an object
> > > file from the dtb file that will get linked into the Linux image.
> > >
> > > Signed-off-by: Alexandre Ghiti <alex@xxxxxxxx>
> >
> > Along the same lines as the comment that Jisheng Zhang made on the fixed
> > address, building a dtb into the kernel itself fundamentally breaks generic
> > kernel images.
> >
> > I can understand using it on K210, which is extremely limited and wouldn't
> > run a generic kernel anyway, but for normal platforms like microchip and
> > sifive, it would be better to disallow CONFIG_BUILTIN_DTB in Kconfig
> > and require a non-broken boot loader.
>
> can't quite agree here. If we take XIP, it does make sense to have
> BUILTIN_DTB, since 1) this will not be a generic kernel anyway 2) we
> may want to skip the bootloader altogether or at least make it as thin
> as possible and 3) copying device tree binaries from bootloader to RAM
> as opposed to having it handy compiled in the kernel will be just a
> waste of RAM.
Indeed, it does make sense in combination with XIP. Maybe there could
be a Kconfig option that depends on CONFIG_EXPERT and that can
be used to guard non-generic options like this?
Arnd