[PATCH v2] RISC-V: Add CONFIG_{NON,}PORTABLE

Niklas Cassel Niklas.Cassel at wdc.com
Thu Apr 14 05:47:33 PDT 2022


On Wed, Apr 13, 2022 at 06:40:10PM -0700, Palmer Dabbelt wrote:
> From: Palmer Dabbelt <palmer at 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 at rivosinc.com>
> 
> ---
> 
> Changes since v1:
> 
> * Fix a bunch of spelling mistakes.
> * Move NONPORTABLE under the "Platform type" sub-heading.
> * Fix the rv32i dependency.
> ---
>  arch/riscv/Kconfig | 28 ++++++++++++++++++++++++++--
>  1 file changed, 26 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
> index 5adcbd9b5e88..3d8eb44eb889 100644
> --- a/arch/riscv/Kconfig
> +++ b/arch/riscv/Kconfig
> @@ -213,6 +213,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 knows

nit: s/knows/known ?


Kind regards,
Niklas


More information about the linux-riscv mailing list