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

Jesse Taube mr.bossman075 at gmail.com
Tue Mar 7 17:26:16 PST 2023



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
> 
> 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(-)
>>>
>>
> 



More information about the linux-riscv mailing list