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

From: Damien Le Moal
Date: Tue Mar 07 2023 - 23:11:37 EST


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