On Wed Mar 12, 2025 at 3:12 PM IST, Anshul Dalal wrote:
> 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].
>
> More info:
> https://lore.kernel.org/u-boot/20250310135544.GV2640854@bill-the-cat/
>
> Signed-off-by: Anshul Dalal <[email protected]>
> ---
> Changes in v2:
>  * Add SPL_HAS_BOOT[IZ] configs
> v1: https://lore.kernel.org/u-boot/[email protected]/
> ---
>  arch/arm/lib/Makefile |  4 ++--
>  common/spl/Kconfig    | 13 +++++++++++++
>  common/spl/spl.c      |  6 +++---
>  3 files changed, 18 insertions(+), 5 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/common/spl/Kconfig b/common/spl/Kconfig
> index 21a5cefee7a..36c0fb063d0 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 AArch64 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..8905c776ea5 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,9 +349,9 @@ 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_BOOTI)) {
>               ulong start, end;
> -
>               if (!bootz_setup((ulong)header, &start, &end)) {
>                       spl_image->name = "Linux";
>                       spl_image->os = IH_OS_LINUX;

Superseded by v3:
https://lore.kernel.org/u-boot/[email protected]/

Anshul

Reply via email to