Re: [PATCH v3 5/7] riscv: Kconfig.socs: Allow SOC_CANAAN with MMU for K230
From: Damien Le Moal <dlemoal@kernel.org>
Date: 2024-03-15 08:19:07
Also in:
linux-riscv, lkml
On 3/14/24 01:56, Yangyu Chen wrote:
quoted
Hi, Thanks for the review comments. After thinking about it for a while, I think we don't need to change it as we have changed the help message which deleted the "K210". And the dts on k210.dtsi shows mmu-type is riscv.none, I think if someone noticed this would know why it fails to boot on the S-Mode MMU Kernel on K210. The only special thing for ARCH_CANAAN is that a loader.bin will be built when M-Mode is on arch/riscv/Makefile. However, Canaan has no other M-Mode chips except for K210. So I think we don't need to change it.
You completely lost me here. I do not understand what you are trying to say.
quoted
Another reason is that SOC_CANAAN for K210 is somehow hard to change. If we continue using SOC_CANAAN for K210 but not for other Canaan SoCs such as K230, it will cause some confusion to users. If we rename SOC_CANAAN to SOC_CANAAN_K210, it will change many drivers in many subsystems like my patch v5 [1]. So I don't think we need to fix it. If we don't change it, A concern for this is that some drivers for K210 will be built when SOC_CANAAN=y and if we add this to defconfig, all riscv builds will also build some K210 drivers even on MMU. But I think this will not be a problem just need some memory/storage for a slightly bigger kernel. Also, we will enable some new configs in defconfig when a new soc gets supported, it's normal for K210 SoC drivers. Thus, I think we don't need to change it. If you have some other opinions, please let me know.
1) Rename SOC_CANAAN to SOC_CANAAN_K210 and use that for any conditional code or driver selection that is specific to the K210, which is what's done now. 2) Create a "new" SOC_CANAAN config and make SOC_CANAAN_K210 depend on it and on !MMU You could also add SOC_CANAAN_K230 if needed and make it depend on SOC_CANAAN && MMU. With that, dirvers common to both the K210 and K230 can easilly be selected and selecting SOC_CANAAN will end up either building for the K230 or the K210, depending on MMU being set or not. That's my 2 cents. Feel free to ignore. I am not involved that much with riscv these days and I am far too busy with other kernel areas to be of any help. But I really think that allowing building the K210 when MMU is enabled and "hoping that the user understand his mistake" is not a great approach. -- Damien Le Moal Western Digital Research