Messages in this thread | | | Date | Tue, 7 Mar 2023 18:51:01 -0800 | Subject | Re: [PATCH v3 0/3] Add RISC-V 32 NOMMU support | From | Randy Dunlap <> |
| |
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.
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
| |