Messages in this thread | | | Date | Tue, 7 Mar 2023 19:23:35 -0800 | Subject | Re: [PATCH v3 0/3] Add RISC-V 32 NOMMU support | From | Randy Dunlap <> |
| |
On 3/7/23 18:54, Jesse Taube wrote: > > > On 3/7/23 21:51, Randy Dunlap wrote: >> >> >> On 3/7/23 18:33, Randy Dunlap wrote: >>> >>> >>> On 3/7/23 18:30, Jesse Taube wrote: >>>> >>>> >>>> On 3/7/23 21:16, Randy Dunlap wrote: >>>>> 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. >>>> >>>> Hmmm, it links fine for me. >>>> >>>> objdump -x vmlinux | grep k210_clk_early_init >>>> 81e40124 g F .init.text 00000088 k210_clk_early_init >>>> >>>> gcc version 11.3.0 (Buildroot 2022.11-361-g1be0d438f7) >>>> GNU assembler version 2.38 (riscv32-buildroot-linux-uclibc) >>>> GNU ld (GNU Binutils) 2.38 >>>> >>>> what gcc version are you using? >>> >>> >>> gcc (SUSE Linux) 12.2.1 20230124 [revision 193f7e62815b4089dfaed4c2bd34fd4f10209e27] >>> from opensuse Tumbleweed. >>> >>> I'll try it on a current tree... >> >> 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.
> Thanks, > Jesse Taube >> >> Sorry to bother you. >> >> Thanks. >> >>>>> >>>>>>> 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
| |