[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1d858dbb-ae85-95a0-3e46-b67017733c04@infradead.org>
Date: Tue, 7 Mar 2023 18:33:03 -0800
From: Randy Dunlap <rdunlap@...radead.org>
To: Jesse Taube <mr.bossman075@...il.com>,
Damien Le Moal <damien.lemoal@...nsource.wdc.com>,
linux-riscv@...ts.infradead.org
Cc: linux-clk@...r.kernel.org, linux-kernel@...r.kernel.org,
Yimin Gu <ustcymgu@...il.com>,
Damien Le Moal <damien.lemoal@....com>,
Stephen Boyd <sboyd@...nel.org>,
Michael Turquette <mturquette@...libre.com>,
Waldemar Brodkorb <wbx@...nadk.org>,
Albert Ou <aou@...s.berkeley.edu>,
Palmer Dabbelt <palmer@...belt.com>,
Paul Walmsley <paul.walmsley@...ive.com>
Subject: Re: [PATCH v3 0/3] Add RISC-V 32 NOMMU support
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...
>>
>>>> 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
Powered by blists - more mailing lists