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

From: Randy Dunlap
Date: Tue Mar 07 2023 - 21:16:46 EST


Hi--

On 3/7/23 17:26, Jesse Taube wrote:
>
>
> On 2/28/23 23:42, Damien Le Moal wrote:
>> On 3/1/23 13:07, Randy Dunlap wrote:
>>> Hi--
>>>
>>> On 2/28/23 16:26, Jesse Taube wrote:
>>>> This patch-set aims to add NOMMU support to RV32.
>>>> Many people want to build simple emulators or HDL
>>>> models of RISC-V this patch makes it possible to
>>>> run linux on them.
>>>>
>>>> Yimin Gu is the original author of this set.
>>>> Submitted here:
>>>> https://lists.buildroot.org/pipermail/buildroot/2022-November/656134.html
>>>>
>>>> Though Jesse T rewrote the Dconf.
>>>
>>> Dconf?
>>>
>>>>
>>>> The new set:
>>>> https://lists.buildroot.org/pipermail/buildroot/2022-December/658258.html
>>>> ---
>>>> V1->V2:
>>>>   - Add Conor's clock patch for implicit div64
>>>>   - Fix typo in commit title 3/3
>>>>   - Fix typo in commit description 2/3
>>>> V2->V3
>>>>   - Change from defconfig file to a PHONY config
>>>> ---
>>>
>>> Is this 'rv32_nommu_virt_defconfig' target the only build target
>>> that is supported?
>>>
>>> I ask because I applied the 3 patches and did 25 randconfig builds.
>>> 5 of them failed the same way:
>>>
>>> riscv32-linux-ld: drivers/soc/canaan/k210-sysctl.o: in function `k210_soc_early_init':
>>> k210-sysctl.c:(.init.text+0x78): undefined reference to `k210_clk_early_init'
> I can not recreate this error.
> can you send me the .config you used.
>
> Thanks,
> Jesse Taube

Sure, it's attached.

>> Arg. Forgot about that. k210 is rv64 only and while the clk driver could still
>> compile test with rv32 (or any arch), that driver provides the
>> k210_clk_early_init() function which is called very early in the boot process
>> from k210_soc_early_init(), which is an SOC_EARLY_INIT_DECLARE() call. The
>> problem may be there. Probably should be disabled for rv32 if no SoC need that
>> sort of early init call.
>>
>>>
>>> because
>>> # CONFIG_COMMON_CLK_K210 is not set
>>>
>>>
>>> Maybe SOC_CANAAN needs some more selects for required code?
>>>
>>>> Conor Dooley (1):
>>>>    clk: k210: remove an implicit 64-bit division
>>>>
>>>> Jesse Taube (1):
>>>>    riscv: configs: Add nommu PHONY defconfig for RV32
>>>>
>>>> Yimin Gu (1):
>>>>    riscv: Kconfig: Allow RV32 to build with no MMU
>>>>
>>>>   arch/riscv/Kconfig     | 5 ++---
>>>>   arch/riscv/Makefile    | 4 ++++
>>>>   drivers/clk/clk-k210.c | 2 +-
>>>>   3 files changed, 7 insertions(+), 4 deletions(-)
>>>>
>>>
>>

--
~Randy

Attachment: riscv32-canaan-clk-k210-undef.config
Description: application/config