All of lore.kernel.org
 help / color / mirror / Atom feed
From: Randy Dunlap <rdunlap@infradead.org>
To: Jesse Taube <mr.bossman075@gmail.com>,
	Damien Le Moal <damien.lemoal@opensource.wdc.com>,
	linux-riscv@lists.infradead.org
Cc: linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org,
	Yimin Gu <ustcymgu@gmail.com>,
	Damien Le Moal <damien.lemoal@wdc.com>,
	Stephen Boyd <sboyd@kernel.org>,
	Michael Turquette <mturquette@baylibre.com>,
	Waldemar Brodkorb <wbx@openadk.org>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Paul Walmsley <paul.walmsley@sifive.com>
Subject: Re: [PATCH v3 0/3] Add RISC-V 32 NOMMU support
Date: Tue, 7 Mar 2023 18:33:03 -0800	[thread overview]
Message-ID: <1d858dbb-ae85-95a0-3e46-b67017733c04@infradead.org> (raw)
In-Reply-To: <c7941231-8ebd-dea5-81f8-3180cfc3f286@gmail.com>



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

WARNING: multiple messages have this Message-ID (diff)
From: Randy Dunlap <rdunlap@infradead.org>
To: Jesse Taube <mr.bossman075@gmail.com>,
	Damien Le Moal <damien.lemoal@opensource.wdc.com>,
	linux-riscv@lists.infradead.org
Cc: linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org,
	Yimin Gu <ustcymgu@gmail.com>,
	Damien Le Moal <damien.lemoal@wdc.com>,
	Stephen Boyd <sboyd@kernel.org>,
	Michael Turquette <mturquette@baylibre.com>,
	Waldemar Brodkorb <wbx@openadk.org>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Paul Walmsley <paul.walmsley@sifive.com>
Subject: Re: [PATCH v3 0/3] Add RISC-V 32 NOMMU support
Date: Tue, 7 Mar 2023 18:33:03 -0800	[thread overview]
Message-ID: <1d858dbb-ae85-95a0-3e46-b67017733c04@infradead.org> (raw)
In-Reply-To: <c7941231-8ebd-dea5-81f8-3180cfc3f286@gmail.com>



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

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

  reply	other threads:[~2023-03-08  2:33 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-01  0:26 [PATCH v3 0/3] Add RISC-V 32 NOMMU support Jesse Taube
2023-03-01  0:26 ` Jesse Taube
2023-03-01  0:26 ` [PATCH v3 1/3] clk: k210: remove an implicit 64-bit division Jesse Taube
2023-03-01  0:26   ` Jesse Taube
2023-03-01  1:19   ` Damien Le Moal
2023-03-01  1:19     ` Damien Le Moal
2023-03-06 22:31   ` Stephen Boyd
2023-03-06 22:31     ` Stephen Boyd
2023-03-06 22:35     ` Conor Dooley
2023-03-06 22:35       ` Conor Dooley
2023-03-06 22:37       ` Stephen Boyd
2023-03-06 22:37         ` Stephen Boyd
2023-03-06 22:41   ` Stephen Boyd
2023-03-06 22:41     ` Stephen Boyd
2023-03-06 22:48     ` Palmer Dabbelt
2023-03-06 22:48       ` Palmer Dabbelt
2023-03-01  0:26 ` [PATCH v3 2/3] riscv: Kconfig: Allow RV32 to build with no MMU Jesse Taube
2023-03-01  0:26   ` Jesse Taube
2023-03-01  1:22   ` Damien Le Moal
2023-03-01  1:22     ` Damien Le Moal
2023-03-01  0:26 ` [PATCH v3 3/3] riscv: configs: Add nommu PHONY defconfig for RV32 Jesse Taube
2023-03-01  0:26   ` Jesse Taube
2023-03-01  4:07 ` [PATCH v3 0/3] Add RISC-V 32 NOMMU support Randy Dunlap
2023-03-01  4:07   ` Randy Dunlap
2023-03-01  4:42   ` Damien Le Moal
2023-03-01  4:42     ` Damien Le Moal
2023-03-08  1:26     ` Jesse Taube
2023-03-08  1:26       ` Jesse Taube
2023-03-08  2:16       ` Randy Dunlap
2023-03-08  2:16         ` Randy Dunlap
2023-03-08  2:30         ` Jesse Taube
2023-03-08  2:30           ` Jesse Taube
2023-03-08  2:33           ` Randy Dunlap [this message]
2023-03-08  2:33             ` Randy Dunlap
2023-03-08  2:51             ` Randy Dunlap
2023-03-08  2:51               ` Randy Dunlap
2023-03-08  2:54               ` Jesse Taube
2023-03-08  2:54                 ` Jesse Taube
2023-03-08  3:23                 ` Randy Dunlap
2023-03-08  3:23                   ` Randy Dunlap
2023-03-08  3:42                   ` Damien Le Moal
2023-03-08  3:42                     ` Damien Le Moal
2023-03-08  3:46                     ` Jesse Taube
2023-03-08  3:46                       ` Jesse Taube
2023-03-08  4:11                       ` Damien Le Moal
2023-03-08  4:11                         ` Damien Le Moal
2023-03-14 18:35                         ` Jesse Taube
2023-03-14 18:35                           ` Jesse Taube
2023-03-14 19:16                           ` Conor Dooley
2023-03-14 19:16                             ` Conor Dooley
2023-03-08  3:51                     ` Randy Dunlap
2023-03-08  3:51                       ` Randy Dunlap
2023-03-25 11:57 ` Conor Dooley
2023-03-25 11:57   ` Conor Dooley
2023-03-28 18:50 ` (subset) " Palmer Dabbelt
2023-03-28 18:50   ` Palmer Dabbelt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1d858dbb-ae85-95a0-3e46-b67017733c04@infradead.org \
    --to=rdunlap@infradead.org \
    --cc=aou@eecs.berkeley.edu \
    --cc=damien.lemoal@opensource.wdc.com \
    --cc=damien.lemoal@wdc.com \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=mr.bossman075@gmail.com \
    --cc=mturquette@baylibre.com \
    --cc=palmer@dabbelt.com \
    --cc=paul.walmsley@sifive.com \
    --cc=sboyd@kernel.org \
    --cc=ustcymgu@gmail.com \
    --cc=wbx@openadk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.