[PATCH] riscv: Support riscv64 image type

Rick Chen rick at andestech.com
Mon Apr 10 09:27:18 CEST 2023


Allow U-Boot to load 32 or 64 bits RISC-V Kernel Image
distinguishly. It helps to avoid someone maybe make a mistake
to run 32-bit U-Boot to load 64-bit kernel.

Signed-off-by: Rick Chen <rick at andestech.com>

---
The patchset is based on Simon's patch:
riscv: Add a 64-bit image type
---
---
 arch/riscv/include/asm/u-boot.h | 4 ++++
 cmd/booti.c                     | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/arch/riscv/include/asm/u-boot.h b/arch/riscv/include/asm/u-boot.h
index d5e1d5f323..e3b4a0357c 100644
--- a/arch/riscv/include/asm/u-boot.h
+++ b/arch/riscv/include/asm/u-boot.h
@@ -23,6 +23,10 @@
 #include <asm/u-boot-riscv.h>
 
 /* For image.h:image_check_target_arch() */
+#ifdef CONFIG_ARCH_RV64I
+#define IH_ARCH_DEFAULT IH_ARCH_RISCV64
+#else
 #define IH_ARCH_DEFAULT IH_ARCH_RISCV
+#endif
 
 #endif	/* _U_BOOT_H_ */
diff --git a/cmd/booti.c b/cmd/booti.c
index 6ac39193db..dc0b0ae41c 100644
--- a/cmd/booti.c
+++ b/cmd/booti.c
@@ -119,7 +119,7 @@ int do_booti(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
 
 	images.os.os = IH_OS_LINUX;
 #ifdef CONFIG_RISCV_SMODE
-	images.os.arch = IH_ARCH_RISCV;
+	images.os.arch = IH_ARCH_DEFAULT;
 #elif CONFIG_ARM64
 	images.os.arch = IH_ARCH_ARM64;
 #endif
-- 
2.17.1



More information about the U-Boot mailing list