[PATCH] cmd: Make bootvx independent of bootelf
Simon Glass
sjg at chromium.org
Mon Sep 30 20:52:13 CEST 2024
Hi Daniel,
On Sun, 29 Sept 2024 at 03:27, Daniel Palmer <daniel at 0x0f.com> wrote:
>
> There are lots of usecases for running baremetal ELF
> binaries via bootelf but if you enable bootelf you
> get bootvx as well and you probably don't want or need
> it.
>
> Hide bootvx behind it's own configuration option.
>
> Signed-off-by: Daniel Palmer <daniel at 0x0f.com>
> ---
> cmd/Kconfig | 11 +++++++++--
> cmd/elf.c | 6 ++++++
> 2 files changed, 15 insertions(+), 2 deletions(-)
>
> diff --git a/cmd/Kconfig b/cmd/Kconfig
> index 978f44eda426..262c4118f7f6 100644
> --- a/cmd/Kconfig
> +++ b/cmd/Kconfig
> @@ -491,11 +491,18 @@ config CMD_CEDIT
> loading and saving of configuration as well as showing an editor.
>
> config CMD_ELF
> - bool "bootelf, bootvx"
> + bool "bootelf"
> default y
> select LIB_ELF
> help
> - Boot an ELF/vxWorks image from the memory.
> + Boot an ELF image from memory.
> +
> +config CMD_ELF_BOOTVX
> + bool "bootvx"
> + default y
> + depends on CMD_ELF
> + help
> + Boot a vxWorks image from memory
>
> config CMD_ELF_FDT_SETUP
> bool "Flattened Device Tree setup in bootelf cmd"
> diff --git a/cmd/elf.c b/cmd/elf.c
> index 673c6c30511c..fe7f06ef74eb 100644
> --- a/cmd/elf.c
> +++ b/cmd/elf.c
> @@ -10,8 +10,10 @@
> #include <env.h>
> #include <image.h>
> #include <log.h>
> +#ifdef CONFIG_CMD_ELF_BOOTVX
> #include <net.h>
> #include <vxworks.h>
> +#endif
No need to #idef headers files. Just include them always.
> #ifdef CONFIG_X86
> #include <vesa.h>
> #include <asm/cache.h>
> @@ -100,6 +102,7 @@ int do_bootelf(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
> return rcode;
> }
>
> +#ifdef CONFIG_CMD_ELF_BOOTVX
> /*
> * Interpreter command to boot VxWorks from a memory image. The image can
> * be either an ELF image or a raw binary. Will attempt to setup the
> @@ -307,6 +310,7 @@ int do_bootvx(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
>
> return 1;
> }
> +#endif
>
> U_BOOT_CMD(
> bootelf, CONFIG_SYS_MAXARGS, 0, do_bootelf,
> @@ -323,8 +327,10 @@ U_BOOT_CMD(
> #endif
> );
>
> +#ifdef CONFIG_CMD_ELF_BOOTVX
> U_BOOT_CMD(
> bootvx, 2, 0, do_bootvx,
> "Boot vxWorks from an ELF image",
> " [address] - load address of vxWorks ELF image."
> );
This needs a doc/usage/cmd update
I'm not sure if it is possible to test it in CI?
> +#endif
> --
> 2.43.0
>
Regards,
Simon
More information about the U-Boot
mailing list