[PATCH] cmd: spl: Remove ATAG support from this command

Tom Rini trini at konsulko.com
Tue Sep 16 16:30:03 CEST 2025


On Tue, Sep 16, 2025 at 11:59:41AM +0530, Anshul Dalal wrote:
> On Tue Sep 16, 2025 at 12:35 AM IST, Tom Rini wrote:
> > While we continue to have some systems which support extremely legacy
> > OS booting methods, we do not have use cases for supporting this in
> > Falcon mode anymore. Remove this support and references from the
> > documentation.
> >
> > Signed-off-by: Tom Rini <trini at konsulko.com>
> > ---
> >  cmd/spl.c               | 18 ---------
> >  doc/README.commands.spl | 14 ++-----
> >  doc/develop/falcon.rst  | 84 ++++-------------------------------------
> >  include/cmd_spl.h       |  3 +-
> >  4 files changed, 11 insertions(+), 108 deletions(-)
> >
> > diff --git a/cmd/spl.c b/cmd/spl.c
> > index 379b512f1ffd..90193b43abf4 100644
> > --- a/cmd/spl.c
> > +++ b/cmd/spl.c
> > @@ -27,19 +27,6 @@ static const char **subcmd_list[] = {
> >  		"cmdline",
> >  		"bdt",
> >  		"prep",
> > -#endif
> > -		NULL,
> > -	},
> > -	[SPL_EXPORT_ATAGS] = (const char * []) {
> > -#ifdef CONFIG_SUPPORT_PASSING_ATAGS
> > -		"start",
> > -		"loados",
> > -#ifdef CONFIG_SYS_BOOT_RAMDISK_HIGH
> > -		"ramdisk",
> > -#endif
> > -		"cmdline",
> > -		"bdt",
> > -		"prep",
> >  #endif
> >  		NULL,
> >  	},
> > @@ -96,7 +83,6 @@ static int call_bootm(int argc, char *const argv[], const char *subcommand[])
> >  
> >  static struct cmd_tbl cmd_spl_export_sub[] = {
> >  	U_BOOT_CMD_MKENT(fdt, 0, 1, (void *)SPL_EXPORT_FDT, "", ""),
> > -	U_BOOT_CMD_MKENT(atags, 0, 1, (void *)SPL_EXPORT_ATAGS, "", ""),
> >  };
> >  
> >  static int spl_export(struct cmd_tbl *cmdtp, int flag, int argc,
> > @@ -128,10 +114,6 @@ static int spl_export(struct cmd_tbl *cmdtp, int flag, int argc,
> >  #endif
> >  			break;
> >  #endif
> > -		case SPL_EXPORT_ATAGS:
> > -			printf("Argument image is now in RAM at: 0x%p\n",
> > -				(void *)gd->bd->bi_boot_params);
> > -			break;
> >  		}
> >  	} else {
> >  		/* Unrecognized command */
> > diff --git a/doc/README.commands.spl b/doc/README.commands.spl
> > index ecfd3ca9ee58..54cc5b1ec421 100644
> > --- a/doc/README.commands.spl
> > +++ b/doc/README.commands.spl
> > @@ -5,24 +5,16 @@ SUBCOMMAND EXPORT
> >  To execute the command everything has to be in place as if bootm should be
> >  used. (kernel image, initrd-image, fdt-image etc.)
> >  
> > -export has two subcommands:
> > -	atags: exports the ATAGS
> > +export has one subcommand:
> >  	fdt: exports the FDT
> 
> Why do we even need the fdt subcommand anymore? Can't we just have the
> command be 'spl export [kernel_addr] [initrd_addr] [fdt_addr]' now?

Because commands are part of our API.

> 
> >  
> >  Call is:
> > -spl export <fdt|atags> [kernel_addr] [initrd_addr] [fdt_addr if fdt]
> > +spl export fdt [kernel_addr] [initrd_addr] [fdt_addr if fdt]
> >  
> 
> Also, we should just drop the 'if fdt' from the command help.

Yes, true, thanks.
> 
> >  
> 
> [snip]  
> 
> > diff --git a/include/cmd_spl.h b/include/cmd_spl.h
> > index 51ec12edb906..45ea91e9bce6 100644
> > --- a/include/cmd_spl.h
> > +++ b/include/cmd_spl.h
> > @@ -8,7 +8,6 @@
> >  #define SPL_EXPORT	(0x00000001)
> >  
> >  #define SPL_EXPORT_FDT		(0x00000001)
> > -#define SPL_EXPORT_ATAGS	(0x00000002)
> > -#define SPL_EXPORT_LAST		SPL_EXPORT_ATAGS
> > +#define SPL_EXPORT_LAST		SPL_EXPORT_FDT
> >  
> >  #endif /* _NAND_SPL_H_ */
> 
> The below diff should also be part of the patch:
> 
> diff --git a/arch/arm/lib/spl.c b/arch/arm/lib/spl.c
> index c43a63f1819..6c7d1fb5629 100644
> --- a/arch/arm/lib/spl.c
> +++ b/arch/arm/lib/spl.c
> @@ -46,8 +46,7 @@ void __weak board_init_f(ulong dummy)
>  }
> 
>  /*
> - * This function jumps to an image with argument. Normally an FDT or ATAGS
> - * image.
> + * This function jumps to an image with argument, usually an FDT.
>   */
>  #if CONFIG_IS_ENABLED(OS_BOOT)
>  #ifdef CONFIG_ARM64
> diff --git a/arch/powerpc/lib/spl.c b/arch/powerpc/lib/spl.c
> index 3a24cbfff3b..a2bf52c5adc 100644
> --- a/arch/powerpc/lib/spl.c
> +++ b/arch/powerpc/lib/spl.c
> @@ -9,8 +9,7 @@
>  #include <linux/compiler.h>
> 
>  /*
> - * This function jumps to an image with argument. Normally an FDT or ATAGS
> - * image.
> + * This function jumps to an image with argument, usually an FDT.
>   */
>  #ifdef CONFIG_SPL_OS_BOOT
>  void __noreturn jump_to_image_linux(struct spl_image_info *spl_image)
> diff --git a/cmd/spl.c b/cmd/spl.c
> index 90193b43abf..f591dc07fb6 100644
> --- a/cmd/spl.c
> +++ b/cmd/spl.c
> @@ -158,11 +158,10 @@ static int do_spl(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
> 
>  U_BOOT_CMD(
>  	spl, 6 , 1, do_spl, "SPL configuration",
> -	"export <img=atags|fdt> [kernel_addr] [initrd_addr] [fdt_addr]\n"
> -	"\timg\t\t\"atags\" or \"fdt\"\n"
> +	"export fdt [kernel_addr] [initrd_addr] [fdt_addr]\n"
>  	"\tkernel_addr\taddress where a kernel image is stored.\n"
>  	"\t\t\tkernel is loaded as part of the boot process, but it is not started.\n"
>  	"\tinitrd_addr\taddress of initial ramdisk\n"
>  	"\t\t\tcan be set to \"-\" if fdt_addr without initrd_addr is used.\n"
> -	"\tfdt_addr\tin case of fdt, the address of the device tree.\n"
> +	"\tfdt_addr\tthe address of the device tree.\n"
>  	);

Ah, thanks. I'll add a Co-developed when I respin since you've changed
almost as much as I have now.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20250916/5fca6a07/attachment.sig>


More information about the U-Boot mailing list