To allow booting EFI payloads on ARM and to control whether EFI stub or
normal DT boot should be attempted, add a filetype for EFI-stubbed
zImages.

Signed-off-by: Ahmad Fatoum <[email protected]>
---
 common/filetype.c  | 4 +++-
 include/filetype.h | 1 +
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/common/filetype.c b/common/filetype.c
index 196591698768..b82667c30a4b 100644
--- a/common/filetype.c
+++ b/common/filetype.c
@@ -31,6 +31,7 @@ static const struct filetype_str filetype_str[] = {
        [filetype_unknown] = { "unknown", "unknown" },
        [filetype_empty] = { "empty", "empty" },
        [filetype_arm_zimage] = { "ARM Linux zImage", "arm-zimage" },
+       [filetype_arm_efi_zimage] = { "ARM/EFI Linux zImage", "arm-efi-zimage" 
},
        [filetype_lzo_compressed] = { "LZO compressed", "lzo" },
        [filetype_lz4_compressed] = { "LZ4 compressed", "lz4" },
        [filetype_arm_barebox] = { "ARM barebox image", "arm-barebox" },
@@ -441,7 +442,7 @@ enum filetype file_detect_type(const void *_buf, size_t 
bufsize)
        if (is_barebox_arm_head(_buf))
                return filetype_arm_barebox;
        if (buf[9] == 0x016f2818 || buf[9] == 0x18286f01)
-               return filetype_arm_zimage;
+               return is_dos_exe(buf8) ? filetype_arm_efi_zimage : 
filetype_arm_zimage;
 
        if (is_dos_exe(buf8))
                return filetype_exe;
@@ -585,6 +586,7 @@ bool filetype_is_barebox_image(enum filetype ft)
 bool filetype_is_linux_efi_image(enum filetype ft)
 {
        switch (ft) {
+       case filetype_arm_efi_zimage:
        case filetype_arm64_efi_linux_image:
        case filetype_riscv_efi_linux_image:
        case filetype_x86_efi_linux_image:
diff --git a/include/filetype.h b/include/filetype.h
index 283b8fee4c70..aed02fcc2566 100644
--- a/include/filetype.h
+++ b/include/filetype.h
@@ -13,6 +13,7 @@ enum filetype {
        filetype_unknown,
        filetype_empty,
        filetype_arm_zimage,
+       filetype_arm_efi_zimage,
        filetype_lzo_compressed,
        filetype_lz4_compressed,
        filetype_arm_barebox,
-- 
2.47.3


Reply via email to