Using CMD_* configs from spl doesn't make logical sense. Therefore this patch replaces the checks for CMD_BOOT[IZ] with newly added configs SPL_HAS_BOOT[IZ].
An imply clause has been added for CMD_BOOTZ to avoid breaking configs that rely on CMD_BOOTZ in falcon boot. There is no such need for CMD_BOOTI since it's already enabled by default for the platforms that support the image format. More info: https://lore.kernel.org/u-boot/20250310135544.GV2640854@bill-the-cat/ Signed-off-by: Anshul Dalal <ansh...@ti.com> --- Changes in v3: * Add imply clause for CMD_BOOTZ to enable SPL_HAS_BOOTZ * Fix broken check for bootz_setup v2: https://lore.kernel.org/u-boot/20250312094241.629707-1-ansh...@ti.com/ Changes in v2: * Add SPL_HAS_BOOT[IZ] configs v1: https://lore.kernel.org/u-boot/20250311093709.3372104-1-ansh...@ti.com/ --- arch/arm/lib/Makefile | 4 ++-- cmd/Kconfig | 1 + common/spl/Kconfig | 13 +++++++++++++ common/spl/spl.c | 5 +++-- 4 files changed, 19 insertions(+), 4 deletions(-) diff --git a/arch/arm/lib/Makefile b/arch/arm/lib/Makefile index 1c95dd6fed2..e857adddd03 100644 --- a/arch/arm/lib/Makefile +++ b/arch/arm/lib/Makefile @@ -36,8 +36,8 @@ obj-$(CONFIG_CMD_BOOTZ) += bootm.o zimage.o else obj-$(CONFIG_$(PHASE_)FRAMEWORK) += spl.o ifdef CONFIG_SPL_FRAMEWORK -obj-$(CONFIG_CMD_BOOTI) += image.o -obj-$(CONFIG_CMD_BOOTZ) += zimage.o +obj-$(CONFIG_SPL_HAS_BOOTI) += image.o +obj-$(CONFIG_SPL_HAS_BOOTZ) += zimage.o endif obj-$(CONFIG_OF_LIBFDT) += bootm-fdt.o endif diff --git a/cmd/Kconfig b/cmd/Kconfig index a04fcaa0e08..9f2ba4d02f8 100644 --- a/cmd/Kconfig +++ b/cmd/Kconfig @@ -352,6 +352,7 @@ config BOOTM_ELF config CMD_BOOTZ bool "bootz" + imply SPL_HAS_BOOTZ help Boot the Linux zImage diff --git a/common/spl/Kconfig b/common/spl/Kconfig index 21a5cefee7a..e0e804ae8dc 100644 --- a/common/spl/Kconfig +++ b/common/spl/Kconfig @@ -1153,6 +1153,19 @@ config SPL_OS_BOOT Enable booting directly to an OS from SPL. for more info read doc/README.falcon +config SPL_HAS_BOOTZ + bool "Allow booting to kernel zimage from SPL" + depends on SPL_OS_BOOT + help + Boot a linux zimage from memory in falcon boot. + +config SPL_HAS_BOOTI + bool "Allow booting to kernel image from SPL" + depends on SPL_OS_BOOT + default y if ARM64 || RISCV || SANDBOX + help + Boot an uncompressed linux kernel image from memory in falcon boot. + config SPL_PAYLOAD_ARGS_ADDR hex "Address in memory to load 'args' file for Falcon Mode to" depends on SPL_OS_BOOT || SPL_LOAD_FIT_OPENSBI_OS_BOOT diff --git a/common/spl/spl.c b/common/spl/spl.c index 76fd56dfe4b..445c3ef24fe 100644 --- a/common/spl/spl.c +++ b/common/spl/spl.c @@ -335,7 +335,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 (CONFIG_IS_ENABLED(OS_BOOT) && IS_ENABLED(CONFIG_SPL_HAS_BOOTI)) { ulong start, size; if (!booti_setup((ulong)header, &start, &size, 0)) { @@ -349,7 +349,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 (CONFIG_IS_ENABLED(OS_BOOT) && + IS_ENABLED(CONFIG_SPL_HAS_BOOTZ)) { ulong start, end; if (!bootz_setup((ulong)header, &start, &end)) { -- 2.43.0