On Fri, Jun 4, 2021 at 5:51 PM Palmer Dabbelt <palmer@xxxxxxxxxxx> wrote: > On Fri, 04 Jun 2021 06:08:05 PDT (-0700), Arnd Bergmann 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. > > When we first added BUILTIN_DTB we actually had a compatibility > mechanism in there. There isn't enough in the ISA to handle board > compatibility, but we were hoping to get something to deal with that. > It didn't pan out so we dropped the compatibility mechanism, which is > how we ended up here. > > Maybe the right thing to do here is to add some sort of "be compatible > with the platform spec" Kconfig, which we could then use to disallow all > these features that result in non-portable kernels? Yes, I should have read your email before I replied with the same suggestion to Vitaly ;-) Arnd