summaryrefslogtreecommitdiffstats
path: root/arch/riscv
diff options
context:
space:
mode:
authorAhmad Fatoum <a.fatoum@pengutronix.de>2024-03-04 20:00:06 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2024-03-05 16:28:06 +0100
commit1c8a0198f2ddaddebbffa51c9708ff61fbbed41d (patch)
treefcb39451b493c661743cc4c29cddde0748997969 /arch/riscv
parentde32a6e176a704053558b80c502dcdfe04047616 (diff)
downloadbarebox-1c8a0198f2ddaddebbffa51c9708ff61fbbed41d.tar.gz
barebox-1c8a0198f2ddaddebbffa51c9708ff61fbbed41d.tar.xz
filetype: add new file types for EFI-enabled Linux images
We currently detect EFI-stubbed Linux images for ARM64 and RISC-V as normal kernel images and would boot them that way. As these images additionally start with MZ like normal PE executables, lets have new filetypes for them. No functional change yet, but we can use a different bootm handler for them in the future when boot is configured to be EFI-enabled. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20240304190038.3486881-82-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/riscv')
-rw-r--r--arch/riscv/lib/bootm.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/riscv/lib/bootm.c b/arch/riscv/lib/bootm.c
index 6984f282be..a6655b8aaf 100644
--- a/arch/riscv/lib/bootm.c
+++ b/arch/riscv/lib/bootm.c
@@ -36,6 +36,12 @@ static struct image_handler riscv_linux_handler = {
.filetype = filetype_riscv_linux_image,
};
+static struct image_handler riscv_linux_efi_handler = {
+ .name = "RISC-V Linux/EFI image",
+ .bootm = do_bootm_linux,
+ .filetype = filetype_riscv_efi_linux_image,
+};
+
static struct image_handler riscv_fit_handler = {
.name = "FIT image",
.bootm = do_bootm_linux,
@@ -51,6 +57,7 @@ static struct image_handler riscv_barebox_handler = {
static int riscv_register_image_handler(void)
{
register_image_handler(&riscv_linux_handler);
+ register_image_handler(&riscv_linux_efi_handler);
register_image_handler(&riscv_barebox_handler);
if (IS_ENABLED(CONFIG_FITIMAGE))