All of lore.kernel.org
 help / color / mirror / Atom feed
From: Angelo Dureghello <angelo@kernel-space.org>
To: Simon Glass <sjg@chromium.org>,
	U-Boot Mailing List <u-boot@lists.denx.de>
Cc: Tom Rini <trini@konsulko.com>
Subject: Re: [PATCH 05/18] treewide: bootm: Drop command-line args to boot_os_fn
Date: Sun, 10 Dec 2023 20:54:39 +0100	[thread overview]
Message-ID: <01ecad38-516d-a562-a5ff-3519d39b28f2@kernel-space.org> (raw)
In-Reply-To: <20231203172622.5.Id5671bc2d663f968a6f9da1c7d248525a794a4ba@changeid>

Hi Simon,


Acked-by: Angelo Dureghello <angelo@kernel-space.org>

On 04/12/23 1:26 AM, Simon Glass wrote:
> These arguments are not used now. They cannot be provided when there is
> no bootm command invoked to provide arguments. Drop the argc and argv
> parameters.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>
> ---
> 
>   arch/arc/lib/bootm.c        |  2 +-
>   arch/arm/lib/bootm.c        |  3 +--
>   arch/m68k/lib/bootm.c       |  3 +--
>   arch/microblaze/lib/bootm.c |  3 +--
>   arch/mips/lib/bootm.c       |  3 +--
>   arch/nios2/lib/bootm.c      |  3 +--
>   arch/powerpc/lib/bootm.c    |  3 +--
>   arch/riscv/lib/bootm.c      |  5 ++--
>   arch/sandbox/lib/bootm.c    |  2 +-
>   arch/sh/lib/bootm.c         |  3 +--
>   arch/x86/lib/bootm.c        |  3 +--
>   arch/xtensa/lib/bootm.c     |  2 +-
>   boot/bootm.c                |  6 ++---
>   boot/bootm_os.c             | 46 ++++++++++++++-----------------------
>   include/bootm.h             |  7 +-----
>   15 files changed, 34 insertions(+), 60 deletions(-)
> 
> diff --git a/arch/arc/lib/bootm.c b/arch/arc/lib/bootm.c
> index 44ec5864a1c6..0ae7a21b24b6 100644
> --- a/arch/arc/lib/bootm.c
> +++ b/arch/arc/lib/bootm.c
> @@ -78,7 +78,7 @@ static void boot_jump_linux(struct bootm_headers *images, int flag)
>   		board_jump_and_run(kernel_entry, r0, 0, r2);
>   }
>   
> -int do_bootm_linux(int flag, int argc, char *argv[], struct bootm_headers *images)
> +int do_bootm_linux(int flag, struct bootm_headers *images)
>   {
>   	/* No need for those on ARC */
>   	if ((flag & BOOTM_STATE_OS_BD_T) || (flag & BOOTM_STATE_OS_CMDLINE))
> diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c
> index c56285738a26..ebaac029e094 100644
> --- a/arch/arm/lib/bootm.c
> +++ b/arch/arm/lib/bootm.c
> @@ -378,8 +378,7 @@ static void boot_jump_linux(struct bootm_headers *images, int flag)
>    * DIFFERENCE: Instead of calling prep and go at the end
>    * they are called if subcommand is equal 0.
>    */
> -int do_bootm_linux(int flag, int argc, char *const argv[],
> -		   struct bootm_headers *images)
> +int do_bootm_linux(int flag, struct bootm_headers *images)
>   {
>   	/* No need for those on ARM */
>   	if (flag & BOOTM_STATE_OS_BD_T || flag & BOOTM_STATE_OS_CMDLINE)
> diff --git a/arch/m68k/lib/bootm.c b/arch/m68k/lib/bootm.c
> index 79d8b34c0d56..0720861ae9cc 100644
> --- a/arch/m68k/lib/bootm.c
> +++ b/arch/m68k/lib/bootm.c
> @@ -34,8 +34,7 @@ void arch_lmb_reserve(struct lmb *lmb)
>   	arch_lmb_reserve_generic(lmb, get_sp(), gd->ram_top, 1024);
>   }
>   
> -int do_bootm_linux(int flag, int argc, char *const argv[],
> -		   struct bootm_headers *images)
> +int do_bootm_linux(int flag, struct bootm_headers *images)
>   {
>   	int ret;
>   	struct bd_info  *kbd;
> diff --git a/arch/microblaze/lib/bootm.c b/arch/microblaze/lib/bootm.c
> index f3ec4b741b88..93cdf62e18cf 100644
> --- a/arch/microblaze/lib/bootm.c
> +++ b/arch/microblaze/lib/bootm.c
> @@ -81,8 +81,7 @@ static void boot_prep_linux(struct bootm_headers *images)
>   	}
>   }
>   
> -int do_bootm_linux(int flag, int argc, char *const argv[],
> -		   struct bootm_headers *images)
> +int do_bootm_linux(int flag, struct bootm_headers *images)
>   {
>   	images->cmdline_start = (ulong)env_get("bootargs");
>   
> diff --git a/arch/mips/lib/bootm.c b/arch/mips/lib/bootm.c
> index d6d2f7d9d031..05dbe6131728 100644
> --- a/arch/mips/lib/bootm.c
> +++ b/arch/mips/lib/bootm.c
> @@ -300,8 +300,7 @@ static void boot_jump_linux(struct bootm_headers *images)
>   			linux_extra);
>   }
>   
> -int do_bootm_linux(int flag, int argc, char *const argv[],
> -		   struct bootm_headers *images)
> +int do_bootm_linux(int flag, struct bootm_headers *images)
>   {
>   	/* No need for those on MIPS */
>   	if (flag & BOOTM_STATE_OS_BD_T)
> diff --git a/arch/nios2/lib/bootm.c b/arch/nios2/lib/bootm.c
> index 823d524c9a2d..040a806bc75e 100644
> --- a/arch/nios2/lib/bootm.c
> +++ b/arch/nios2/lib/bootm.c
> @@ -16,8 +16,7 @@ DECLARE_GLOBAL_DATA_PTR;
>   
>   #define NIOS_MAGIC 0x534f494e /* enable command line and initrd passing */
>   
> -int do_bootm_linux(int flag, int argc, char *const argv[],
> -		   struct bootm_headers *images)
> +int do_bootm_linux(int flag, struct bootm_headers *images)
>   {
>   	void (*kernel)(int, int, int, char *) = (void *)images->ep;
>   	char *commandline = env_get("bootargs");
> diff --git a/arch/powerpc/lib/bootm.c b/arch/powerpc/lib/bootm.c
> index 910121ec9c85..4d248cb13b5f 100644
> --- a/arch/powerpc/lib/bootm.c
> +++ b/arch/powerpc/lib/bootm.c
> @@ -223,8 +223,7 @@ static int boot_body_linux(struct bootm_headers *images)
>   	return 0;
>   }
>   
> -noinline int do_bootm_linux(int flag, int argc, char *const argv[],
> -			    struct bootm_headers *images)
> +noinline int do_bootm_linux(int flag, struct bootm_headers *images)
>   {
>   	int	ret;
>   
> diff --git a/arch/riscv/lib/bootm.c b/arch/riscv/lib/bootm.c
> index f9e1e18ae026..d90f26091530 100644
> --- a/arch/riscv/lib/bootm.c
> +++ b/arch/riscv/lib/bootm.c
> @@ -105,8 +105,7 @@ static void boot_jump_linux(struct bootm_headers *images, int flag)
>   	}
>   }
>   
> -int do_bootm_linux(int flag, int argc, char *const argv[],
> -		   struct bootm_headers *images)
> +int do_bootm_linux(int flag, struct bootm_headers *images)
>   {
>   	/* No need for those on RISC-V */
>   	if (flag & BOOTM_STATE_OS_BD_T || flag & BOOTM_STATE_OS_CMDLINE)
> @@ -130,7 +129,7 @@ int do_bootm_linux(int flag, int argc, char *const argv[],
>   int do_bootm_vxworks(int flag, int argc, char *const argv[],
>   		     struct bootm_headers *images)
>   {
> -	return do_bootm_linux(flag, argc, argv, images);
> +	return do_bootm_linux(flag, images);
>   }
>   
>   static ulong get_sp(void)
> diff --git a/arch/sandbox/lib/bootm.c b/arch/sandbox/lib/bootm.c
> index dc8b8e46cb41..d2b514d3f0ca 100644
> --- a/arch/sandbox/lib/bootm.c
> +++ b/arch/sandbox/lib/bootm.c
> @@ -64,7 +64,7 @@ static int boot_prep_linux(struct bootm_headers *images)
>   	return 0;
>   }
>   
> -int do_bootm_linux(int flag, int argc, char *argv[], struct bootm_headers *images)
> +int do_bootm_linux(int flag, struct bootm_headers *images)
>   {
>   	if (flag & BOOTM_STATE_OS_PREP)
>   		return boot_prep_linux(images);
> diff --git a/arch/sh/lib/bootm.c b/arch/sh/lib/bootm.c
> index b205e5e3db1b..d0284582ae0e 100644
> --- a/arch/sh/lib/bootm.c
> +++ b/arch/sh/lib/bootm.c
> @@ -39,8 +39,7 @@ static unsigned long sh_check_cmd_arg(char *cmdline, char *key, int base)
>   	return val;
>   }
>   
> -int do_bootm_linux(int flag, int argc, char *const argv[],
> -		   struct bootm_headers *images)
> +int do_bootm_linux(int flag, struct bootm_headers *images)
>   {
>   	/* Linux kernel load address */
>   	void (*kernel) (void) = (void (*)(void))images->ep;
> diff --git a/arch/x86/lib/bootm.c b/arch/x86/lib/bootm.c
> index 3196f9ddc2c8..34d5c585a55a 100644
> --- a/arch/x86/lib/bootm.c
> +++ b/arch/x86/lib/bootm.c
> @@ -237,8 +237,7 @@ static int boot_jump_linux(struct bootm_headers *images)
>   				 images->os.arch == IH_ARCH_X86_64);
>   }
>   
> -int do_bootm_linux(int flag, int argc, char *const argv[],
> -		   struct bootm_headers *images)
> +int do_bootm_linux(int flag, struct bootm_headers *images)
>   {
>   	/* No need for those on x86 */
>   	if (flag & BOOTM_STATE_OS_BD_T || flag & BOOTM_STATE_OS_CMDLINE)
> diff --git a/arch/xtensa/lib/bootm.c b/arch/xtensa/lib/bootm.c
> index fee339281502..5e8e14021ab3 100644
> --- a/arch/xtensa/lib/bootm.c
> +++ b/arch/xtensa/lib/bootm.c
> @@ -134,7 +134,7 @@ static struct bp_tag *setup_fdt_tag(struct bp_tag *params, void *fdt_start)
>    * Boot Linux.
>    */
>   
> -int do_bootm_linux(int flag, int argc, char *argv[], struct bootm_headers *images)
> +int do_bootm_linux(int flag, struct bootm_headers *images)
>   {
>   	struct bp_tag *params, *params_start;
>   	ulong initrd_start, initrd_end;
> diff --git a/boot/bootm.c b/boot/bootm.c
> index 301cfded05cb..c343f313e80a 100644
> --- a/boot/bootm.c
> +++ b/boot/bootm.c
> @@ -1099,9 +1099,9 @@ int do_bootm_states(struct cmd_tbl *cmdtp, int flag, int argc,
>   
>   	/* Call various other states that are not generally used */
>   	if (!ret && (states & BOOTM_STATE_OS_CMDLINE))
> -		ret = boot_fn(BOOTM_STATE_OS_CMDLINE, argc, argv, images);
> +		ret = boot_fn(BOOTM_STATE_OS_CMDLINE, images);
>   	if (!ret && (states & BOOTM_STATE_OS_BD_T))
> -		ret = boot_fn(BOOTM_STATE_OS_BD_T, argc, argv, images);
> +		ret = boot_fn(BOOTM_STATE_OS_BD_T, images);
>   	if (!ret && (states & BOOTM_STATE_OS_PREP)) {
>   		ret = bootm_process_cmdline_env(images->os.os == IH_OS_LINUX);
>   		if (ret) {
> @@ -1109,7 +1109,7 @@ int do_bootm_states(struct cmd_tbl *cmdtp, int flag, int argc,
>   			ret = CMD_RET_FAILURE;
>   			goto err;
>   		}
> -		ret = boot_fn(BOOTM_STATE_OS_PREP, argc, argv, images);
> +		ret = boot_fn(BOOTM_STATE_OS_PREP, images);
>   	}
>   
>   #ifdef CONFIG_TRACE
> diff --git a/boot/bootm_os.c b/boot/bootm_os.c
> index 598671e576c6..df1aab4b3e4d 100644
> --- a/boot/bootm_os.c
> +++ b/boot/bootm_os.c
> @@ -23,8 +23,7 @@
>   
>   DECLARE_GLOBAL_DATA_PTR;
>   
> -static int do_bootm_standalone(int flag, int argc, char *const argv[],
> -			       struct bootm_headers *images)
> +static int do_bootm_standalone(int flag, struct bootm_headers *images)
>   {
>   	int (*appl)(int, char *const[]);
>   
> @@ -33,7 +32,7 @@ static int do_bootm_standalone(int flag, int argc, char *const argv[],
>   		return 0;
>   	}
>   	appl = (int (*)(int, char * const []))images->ep;
> -	appl(argc, argv);
> +	appl(0, NULL);
>   	return 0;
>   }
>   
> @@ -50,8 +49,7 @@ static void __maybe_unused fit_unsupported_reset(const char *msg)
>   }
>   
>   #ifdef CONFIG_BOOTM_NETBSD
> -static int do_bootm_netbsd(int flag, int argc, char *const argv[],
> -			   struct bootm_headers *images)
> +static int do_bootm_netbsd(int flag, struct bootm_headers *images)
>   {
>   	void (*loader)(struct bd_info *bd, struct legacy_img_hdr *hdr,
>   		       char *console, char *cmdline);
> @@ -113,8 +111,7 @@ static int do_bootm_netbsd(int flag, int argc, char *const argv[],
>   #endif /* CONFIG_BOOTM_NETBSD*/
>   
>   #ifdef CONFIG_BOOTM_RTEMS
> -static int do_bootm_rtems(int flag, int argc, char *const argv[],
> -			  struct bootm_headers *images)
> +static int do_bootm_rtems(int flag, struct bootm_headers *images)
>   {
>   	void (*entry_point)(struct bd_info *);
>   
> @@ -146,8 +143,7 @@ static int do_bootm_rtems(int flag, int argc, char *const argv[],
>   #endif /* CONFIG_BOOTM_RTEMS */
>   
>   #if defined(CONFIG_BOOTM_OSE)
> -static int do_bootm_ose(int flag, int argc, char *const argv[],
> -			struct bootm_headers *images)
> +static int do_bootm_ose(int flag, struct bootm_headers *images)
>   {
>   	void (*entry_point)(void);
>   
> @@ -179,8 +175,7 @@ static int do_bootm_ose(int flag, int argc, char *const argv[],
>   #endif /* CONFIG_BOOTM_OSE */
>   
>   #if defined(CONFIG_BOOTM_PLAN9)
> -static int do_bootm_plan9(int flag, int argc, char *const argv[],
> -			  struct bootm_headers *images)
> +static int do_bootm_plan9(int flag, struct bootm_headers *images)
>   {
>   	void (*entry_point)(void);
>   	char *s;
> @@ -283,8 +278,7 @@ static void do_bootvx_fdt(struct bootm_headers *images)
>   	puts("## vxWorks terminated\n");
>   }
>   
> -static int do_bootm_vxworks_legacy(int flag, int argc, char *const argv[],
> -				   struct bootm_headers *images)
> +static int do_bootm_vxworks_legacy(int flag, struct bootm_headers *images)
>   {
>   	if (flag != BOOTM_STATE_OS_GO)
>   		return 0;
> @@ -294,8 +288,7 @@ static int do_bootm_vxworks_legacy(int flag, int argc, char *const argv[],
>   	return 1;
>   }
>   
> -int do_bootm_vxworks(int flag, int argc, char *const argv[],
> -		     struct bootm_headers *images)
> +int do_bootm_vxworks(int flag, struct bootm_headers *images)
>   {
>   	char *bootargs;
>   	int pos;
> @@ -320,18 +313,17 @@ int do_bootm_vxworks(int flag, int argc, char *const argv[],
>   	if (std_dtb) {
>   		if (flag & BOOTM_STATE_OS_PREP)
>   			printf("   Using standard DTB\n");
> -		return do_bootm_linux(flag, argc, argv, images);
> +		return do_bootm_linux(flag, images);
>   	} else {
>   		if (flag & BOOTM_STATE_OS_PREP)
>   			printf("   !!! WARNING !!! Using legacy DTB\n");
> -		return do_bootm_vxworks_legacy(flag, argc, argv, images);
> +		return do_bootm_vxworks_legacy(flag, images);
>   	}
>   }
>   #endif
>   
>   #if defined(CONFIG_CMD_ELF)
> -static int do_bootm_qnxelf(int flag, int argc, char *const argv[],
> -			   struct bootm_headers *images)
> +static int do_bootm_qnxelf(int flag, struct bootm_headers *images)
>   {
>   	char *local_args[3];
>   	char str[16];
> @@ -369,8 +361,7 @@ static int do_bootm_qnxelf(int flag, int argc, char *const argv[],
>   #endif
>   
>   #ifdef CONFIG_INTEGRITY
> -static int do_bootm_integrity(int flag, int argc, char *const argv[],
> -			      struct bootm_headers *images)
> +static int do_bootm_integrity(int flag, struct bootm_headers *images)
>   {
>   	void (*entry_point)(void);
>   
> @@ -402,8 +393,7 @@ static int do_bootm_integrity(int flag, int argc, char *const argv[],
>   #endif
>   
>   #ifdef CONFIG_BOOTM_OPENRTOS
> -static int do_bootm_openrtos(int flag, int argc, char *const argv[],
> -			     struct bootm_headers *images)
> +static int do_bootm_openrtos(int flag, struct bootm_headers *images)
>   {
>   	void (*entry_point)(void);
>   
> @@ -428,8 +418,7 @@ static int do_bootm_openrtos(int flag, int argc, char *const argv[],
>   #endif
>   
>   #ifdef CONFIG_BOOTM_OPTEE
> -static int do_bootm_tee(int flag, int argc, char *const argv[],
> -			struct bootm_headers *images)
> +static int do_bootm_tee(int flag, struct bootm_headers *images)
>   {
>   	int ret;
>   
> @@ -441,13 +430,12 @@ static int do_bootm_tee(int flag, int argc, char *const argv[],
>   		return ret;
>   
>   	/* From here we can run the regular linux boot path */
> -	return do_bootm_linux(flag, argc, argv, images);
> +	return do_bootm_linux(flag, images);
>   }
>   #endif
>   
>   #ifdef CONFIG_BOOTM_EFI
> -static int do_bootm_efi(int flag, int argc, char *const argv[],
> -			struct bootm_headers *images)
> +static int do_bootm_efi(int flag, struct bootm_headers *images)
>   {
>   	efi_status_t efi_ret;
>   	void *image_buf;
> @@ -544,7 +532,7 @@ int boot_selected_os(int argc, char *const argv[], int state,
>   {
>   	arch_preboot_os();
>   	board_preboot_os();
> -	boot_fn(state, argc, argv, images);
> +	boot_fn(state, images);
>   
>   	/* Stand-alone may return when 'autostart' is 'no' */
>   	if (images->os.type == IH_TYPE_STANDALONE ||
> diff --git a/include/bootm.h b/include/bootm.h
> index f5229ea90b33..0e4662485006 100644
> --- a/include/bootm.h
> +++ b/include/bootm.h
> @@ -25,16 +25,11 @@ struct cmd_tbl;
>    *  - disabled interrupts.
>    *
>    * @flag: Flags indicating what to do (BOOTM_STATE_...)
> - * @argc: Number of arguments. Note that the arguments are shifted down
> - *	 so that 0 is the first argument not processed by U-Boot, and
> - *	 argc is adjusted accordingly. This avoids confusion as to how
> - *	 many arguments are available for the OS.
>    * @images: Pointers to os/initrd/fdt
>    * Return: 1 on error. On success the OS boots so this function does
>    * not return.
>    */
> -typedef int boot_os_fn(int flag, int argc, char *const argv[],
> -			struct bootm_headers *images);
> +typedef int boot_os_fn(int flag, struct bootm_headers *images);
>   
>   extern boot_os_fn do_bootm_linux;
>   extern boot_os_fn do_bootm_vxworks;

  parent reply	other threads:[~2023-12-10 19:55 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-04  0:26 [PATCH 00/18] Complete decoupling of bootm logic from commands Simon Glass
2023-12-04  0:26 ` [PATCH 01/18] bootm: netbds: Drop passing of arguments Simon Glass
2023-12-04 10:48   ` Mark Kettenis
2023-12-04 10:59     ` Martin Husemann
2023-12-06  3:53     ` Simon Glass
2023-12-09 15:56       ` Tom Rini
2023-12-04  0:26 ` [PATCH 02/18] bootm: plan: " Simon Glass
2023-12-04  0:26 ` [PATCH 03/18] bootm: qnxelf: " Simon Glass
2023-12-04  0:26 ` [PATCH 04/18] nios2: Drop separate parsing of bootm args Simon Glass
2023-12-04  0:26 ` [PATCH 05/18] treewide: bootm: Drop command-line args to boot_os_fn Simon Glass
2023-12-04 19:00   ` Angelo Dureghello
2023-12-05  0:52     ` Simon Glass
2023-12-10 19:54   ` Angelo Dureghello [this message]
2023-12-04  0:26 ` [PATCH 06/18] bootm: Drop arguments from boot_selected_os() Simon Glass
2023-12-09 15:58   ` Tom Rini
2023-12-04  0:26 ` [PATCH 07/18] mips: Add a reset_cpu() function Simon Glass
2023-12-09 15:59   ` Tom Rini
2023-12-04  0:26 ` [PATCH 08/18] m68k: " Simon Glass
2023-12-10 19:37   ` Angelo Dureghello
2023-12-04  0:26 ` [PATCH 09/18] ppc: " Simon Glass
2023-12-04  0:26 ` [PATCH 10/18] nios2: " Simon Glass
2023-12-04  0:26 ` [PATCH 11/18] riscv: " Simon Glass
2023-12-04  0:26 ` [PATCH 12/18] bootm: Adjust how the board is reset Simon Glass
2023-12-09 16:01   ` Tom Rini
2023-12-04  0:26 ` [PATCH 13/18] bootm: Drop arguments from do_bootm_states() and rename Simon Glass
2023-12-04  0:26 ` [PATCH 14/18] bootm: Create a function to run through the bootm states Simon Glass
2023-12-04  0:26 ` [PATCH 15/18] stm32: Use local vars in stm32prog for initrd and fdt Simon Glass
2023-12-04  0:26 ` [PATCH 16/18] bootm: Create a function to run through the bootz states Simon Glass
2023-12-04  0:26 ` [PATCH 17/18] stm32: Use bootm_run() and bootz_run() Simon Glass
2023-12-04  0:26 ` [PATCH 18/18] bootm: Create a function to run through the booti states Simon Glass
2023-12-09 19:09 ` [PATCH 00/18] Complete decoupling of bootm logic from commands Tom Rini
2023-12-11 17:52   ` Simon Glass

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=01ecad38-516d-a562-a5ff-3519d39b28f2@kernel-space.org \
    --to=angelo@kernel-space.org \
    --cc=sjg@chromium.org \
    --cc=trini@konsulko.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.