diff options
| author | Anshul Dalal <[email protected]> | 2025-10-27 19:47:02 +0530 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2025-11-03 11:52:05 -0600 |
| commit | 823e453987a6590af67e2226ad3e73fb399c205d (patch) | |
| tree | 423861938792062759cd55f8b30ba8ea52aadae6 /common | |
| parent | 9094482ca7576877b2bfaa57c8e73cfeb536f8b9 (diff) | |
spl: remove usage of CMD_BOOTx from image parsing
Using CMD_* configs from spl doesn't make logical sense. Therefore
this patch replaces the checks for CMD_BOOTx with newly added library
symbols LIB_BOOT[IMZ] and SPL_LIB_BOOT[IMZ] which are enabled by their
respective CMD_* or SPL_* counterparts.
On platforms with non-secure falcon mode, SPL_BOOTZ is enabled by
default for 32-bit ARM systems and SPL_BOOTI is enabled by default for
64-bit ARM and RISCV.
The respective C files (image.c/zimage.c) are compiled based on library
symbols $(PHASE_)LIB_BOOTx instead which are in turn selected by both
CMD_BOOTx and SPL_BOOTx as required.
Signed-off-by: Anshul Dalal <[email protected]>
Reviewed-by: Tom Rini <[email protected]>
Diffstat (limited to 'common')
| -rw-r--r-- | common/spl/Kconfig | 16 | ||||
| -rw-r--r-- | common/spl/spl.c | 5 |
2 files changed, 19 insertions, 2 deletions
diff --git a/common/spl/Kconfig b/common/spl/Kconfig index 24d6ce5d739..6027f24b1fe 100644 --- a/common/spl/Kconfig +++ b/common/spl/Kconfig @@ -1216,6 +1216,22 @@ config SPL_OS_BOOT_SECURE to use falcon mode by disabling certain inherently non-securable options in the SPL boot flow. +config SPL_BOOTZ + bool "Allow booting a zImage style Linux kernel from SPL" + depends on SPL_OS_BOOT && !SPL_OS_BOOT_SECURE + default y if ARM && !ARM64 + select SPL_LIB_BOOTZ + help + Boot a linux zimage from memory in falcon boot. + +config SPL_BOOTI + bool "Allow booting an Image style Linux kernel from SPL" + depends on SPL_OS_BOOT && !SPL_OS_BOOT_SECURE + default y if ARM64 || RISCV + select SPL_LIB_BOOTI + help + Boot an uncompressed linux kernel image from memory in falcon boot. + config SPL_OS_BOOT_ARGS bool "Allow SPL to load args for kernel in falcon mode" depends on (SPL_OS_BOOT || SPL_LOAD_FIT_OPENSBI_OS_BOOT) && !SPL_OS_BOOT_SECURE diff --git a/common/spl/spl.c b/common/spl/spl.c index 64313cb8dfe..4dae3d0940d 100644 --- a/common/spl/spl.c +++ b/common/spl/spl.c @@ -340,7 +340,7 @@ int spl_parse_image_header(struct spl_image_info *spl_image, panic("** no mkimage signature but raw image not supported"); } - if (CONFIG_IS_ENABLED(OS_BOOT) && IS_ENABLED(CONFIG_CMD_BOOTI)) { + if (IS_ENABLED(CONFIG_SPL_OS_BOOT) && IS_ENABLED(CONFIG_SPL_BOOTI)) { ulong start, size; if (!booti_setup((ulong)header, &start, &size, 0)) { @@ -354,7 +354,8 @@ int spl_parse_image_header(struct spl_image_info *spl_image, spl_image->load_addr, spl_image->size); return 0; } - } else if (CONFIG_IS_ENABLED(OS_BOOT) && IS_ENABLED(CONFIG_CMD_BOOTZ)) { + } else if (IS_ENABLED(CONFIG_SPL_OS_BOOT) && + IS_ENABLED(CONFIG_SPL_BOOTZ)) { ulong start, end; if (!bootz_setup((ulong)header, &start, &end)) { |
