[PATCH v3 0/3] Add RISC-V 32 NOMMU support

Damien Le Moal damien.lemoal at opensource.wdc.com
Tue Mar 7 20:11:24 PST 2023


On 3/8/23 12:46, Jesse Taube wrote:
> 
> 
> On 3/7/23 22:42, Damien Le Moal wrote:
>> On 3/8/23 12:23, Randy Dunlap wrote:
>>>>> OK, I don't know how it happened. I cannot reproduce it now.
>>>>> The failing .config files has CONFIG_MMU is not set (for RV32I), which
>>>>> appears to be impossible.
>>>> These patches add `CONFIG_MMU is not set` (for RV32I).
>>>> But no worries it seems to be a non issue  now.
>>>>
>>>> Your thoughts Damien?
>>>>
>>>
>>> Thanks for reminding me.
>>>
>>> With these 3 patches applied to linux-next-20230307,
>>> I still get this build error.
>>
>> Does this help ?
>>
>> diff --git a/drivers/soc/canaan/Kconfig b/drivers/soc/canaan/Kconfig
>> index 2527cf5757ec..7796c5f1d109 100644
>> --- a/drivers/soc/canaan/Kconfig
>> +++ b/drivers/soc/canaan/Kconfig
>> @@ -4,7 +4,8 @@ config SOC_K210_SYSCTL
>>          bool "Canaan Kendryte K210 SoC system controller"
>>          depends on RISCV && SOC_CANAAN && OF
>>          default SOC_CANAAN
>> -        select PM
>> -        select MFD_SYSCON
>> +       select COMMON_CLK_K210
>> +       select PM
>> +       select MFD_SYSCON
>>          help
>>            Canaan Kendryte K210 SoC system controller driver.
>>
>> (just noticed that there are whitespace errors here...)
>>
>> Note that both the sysctl and clk driver depend on RISCV. I think these should
>> probably also depend on 64BIT, and eventually add a "|| COMPILE_TEST" as well.
>> So something like this:
>>
>> diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig
>> index b6c5bf69a2b2..657a36d2640d 100644
>> --- a/drivers/clk/Kconfig
>> +++ b/drivers/clk/Kconfig
>> @@ -431,7 +431,7 @@ config COMMON_CLK_FIXED_MMIO
>>
>>   config COMMON_CLK_K210
>>          bool "Clock driver for the Canaan Kendryte K210 SoC"
>> -       depends on OF && RISCV && SOC_CANAAN
>> +       depends on OF && RISCV && SOC_CANAAN && (64BIT || COMPILE_TEST)
>>          default SOC_CANAAN
>>          help
>>            Support for the Canaan Kendryte K210 RISC-V SoC clocks.
>> diff --git a/drivers/soc/canaan/Kconfig b/drivers/soc/canaan/Kconfig
>> index 2527cf5757ec..1745a614d2a7 100644
>> --- a/drivers/soc/canaan/Kconfig
>> +++ b/drivers/soc/canaan/Kconfig
>> @@ -2,9 +2,10 @@
>>
>>   config SOC_K210_SYSCTL
>>          bool "Canaan Kendryte K210 SoC system controller"
>> -       depends on RISCV && SOC_CANAAN && OF
>> +       depends on RISCV && SOC_CANAAN && OF && (64BIT || COMPILE_TEST)
>>          default SOC_CANAAN
>> -        select PM
>> -        select MFD_SYSCON
>> +       select COMMON_CLK_K210
>> +       select PM
>> +       select MFD_SYSCON
>>          help
>>            Canaan Kendryte K210 SoC system controller driver.
>>
>> COMPILE_TEST is optional though, but I do not see any reason why not eventhough
>> in practice these drivers will likely never end up in 32-bits SoC.
>>
>>
> 
> Oh thanks I was in the in the midst of making a similar patch.
> Do you want to submit it or shall I. Also thanks for the help with this, 
> was using tag 6.2.

I am busy with other stuff and do not have time to properly test this. So please
feel free to go ahead and send something fully tested.

-- 
Damien Le Moal
Western Digital Research




More information about the linux-riscv mailing list