[PATCH] bootm: Pass SMP core ID and DTB address for ELF-formatted kernels

牛 志宏 Zone.Niuzh at hotmail.com
Tue May 13 11:50:53 CEST 2025


When booting RISC-V ELF-formatted kernel images (IH_TYPE_KERNEL + IH_OS_ELF),
explicitly pass SMP core/hart ID and DTB address to comply with modern
SMP-enabled kernels' boot protocol requirements.

Signed-off-by: Zone.N <zone.niuzh at hotmail.com>
---
 boot/bootm_os.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/boot/bootm_os.c b/boot/bootm_os.c
index a3c7cb5332e..a0f310b1359 100644
--- a/boot/bootm_os.c
+++ b/boot/bootm_os.c
@@ -402,6 +402,11 @@ static int do_bootm_elf(int flag, struct bootm_info *bmi)
        if (flag != BOOTM_STATE_OS_GO)
                return 0;

+#if defined(CONFIG_RISCV)
+       bmi->argc = gd->arch.boot_hart;
+       bmi->argv = (char **)bmi->images->ft_addr;
+#endif
+
        bootelf(bmi->images->ep, flags, bmi->argc, bmi->argv);

        return 1;
--
2.45.2


More information about the U-Boot mailing list