
Hi Daniel,
On Sun, 29 Sept 2024 at 03:27, Daniel Palmer daniel@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@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