Messages in this thread Patch in this message | | | From | Geert Uytterhoeven <> | Date | Fri, 15 Jul 2022 09:47:58 +0200 | Subject | Re: [PATCH v3] RISC-V: Add CONFIG_{NON,}PORTABLE |
| |
Hi Palmer,
On Sat, May 21, 2022 at 10:49 PM Palmer Dabbelt <palmer@rivosinc.com> wrote: > From: Palmer Dabbelt <palmer@rivosinc.com> > > The RISC-V port has collected a handful of options that are > fundamentally non-portable. To prevent users from shooting themselves > in the foot, hide them all behind a config entry that explicitly calls > out that non-portable binaries may be produced. > > Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com> > Reviewed-by: Arnd Bergmann <arnd@arndb.de> > Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
Thanks for your patch, which is now commit 44c1e84a38a03175 ("RISC-V: Add CONFIG_{NON,}PORTABLE") in riscv/for-next
> --- a/arch/riscv/Kconfig > +++ b/arch/riscv/Kconfig > @@ -222,6 +222,21 @@ source "arch/riscv/Kconfig.erratas" > > menu "Platform type" > > +config NONPORTABLE > + bool "Allow configurations that result in non-portable kernels" > + help > + RISC-V kernel binaries are compatible between all known systems > + whenever possible, but there are some use cases that can only be > + satisfied by configurations that result in kernel binaries that are > + not portable between systems. > + > + Selecting N does not guarantee kernels will be portable to all known > + systems. Selecting any of the options guarded by NONPORTABLE will > + result in kernel binaries that are unlikely to be portable between > + systems. > + > + If unsure, say N.
Doing it this way means allmodconfig will enable NONPORTABLE, which may not be what we want?
> + > choice > prompt "Base ISA" > default ARCH_RV64I
> @@ -554,7 +571,7 @@ config PHYS_RAM_BASE > > config XIP_KERNEL > bool "Kernel Execute-In-Place from ROM" > - depends on MMU && SPARSEMEM > + depends on MMU && SPARSEMEM && NONPORTABLE
Nice! Would we get something like this on arm32 past rmk?
> # This prevents XIP from being enabled by all{yes,mod}config, which > # fail to build since XIP doesn't support large kernels. > depends on !COMPILE_TEST > @@ -594,9 +611,16 @@ endmenu > > config BUILTIN_DTB > bool > - depends on OF > + depends on OF && NONPORTABLE > default y if XIP_KERNEL > > +config PORTABLE > + bool > + default !NONPORTABLE > + select EFI > + select OF > + select MMU > + > menu "Power management options" >
Gr{oetje,eeting}s,
Geert
-- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
| |