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

Palmer Dabbelt palmer at rivosinc.com
Sat May 21 13:46:41 PDT 2022


On Thu, 14 Apr 2022 05:47:33 PDT (-0700), Niklas.Cassel at wdc.com wrote:
> 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 ?

Thanks.  Turns out I've got a bit of an issue here and this results in the
defconfigs breaking, so I've got ahead and sent a v3 that includes the
necessary bits to make those work along with this fixed up.

> Kind regards,
> Niklas



More information about the linux-riscv mailing list