At present it is not possible to know whether an image can be booted by a 32- or 64-bit bootloader. This means that U-Boot may attempt to boot the wrong image. This may cause a crash which might be hard to debug.
Add a new property to make this explicit. The existing 'RISC-V' is now taken to mean 32-bit. Signed-off-by: Simon Glass <s...@chromium.org> --- boot/image.c | 3 ++- include/image.h | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/boot/image.c b/boot/image.c index 958dbf853474..3f75069695f8 100644 --- a/boot/image.c +++ b/boot/image.c @@ -95,7 +95,8 @@ static const table_entry_t uimage_arch[] = { { IH_ARCH_ARC, "arc", "ARC", }, { IH_ARCH_X86_64, "x86_64", "AMD x86_64", }, { IH_ARCH_XTENSA, "xtensa", "Xtensa", }, - { IH_ARCH_RISCV, "riscv", "RISC-V", }, + { IH_ARCH_RISCV, "riscv", "RISC-V 32 Bit",}, + { IH_ARCH_RISCV64, "riscv64", "RISC-V 64 Bit",}, { -1, "", "", }, }; diff --git a/include/image.h b/include/image.h index 7717a4c13d38..a3bdcc6e7f80 100644 --- a/include/image.h +++ b/include/image.h @@ -138,7 +138,8 @@ enum { IH_ARCH_ARC, /* Synopsys DesignWare ARC */ IH_ARCH_X86_64, /* AMD x86_64, Intel and Via */ IH_ARCH_XTENSA, /* Xtensa */ - IH_ARCH_RISCV, /* RISC-V */ + IH_ARCH_RISCV, /* RISC-V 32-Bit */ + IH_ARCH_RISCV64, /* RISC-V 64 Bit */ IH_ARCH_COUNT, }; -- 2.40.0.348.gf938b09366-goog