bootm: Add subcommands
Add the ability to break the steps of the bootm command into several
subcommands: start, loados, ramdisk, fdt, bdt, cmdline, prep, go.
This allows us to do things like manipulate device trees before
they are passed to a booting kernel or setup memory for a secondary
core in multicore situations.
Not all OS types support all subcommands (currently only start, loados,
ramdisk, fdt, and go are supported).
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
diff --git a/lib_sh/bootm.c b/lib_sh/bootm.c
index 078a24d..ae1f869 100644
--- a/lib_sh/bootm.c
+++ b/lib_sh/bootm.c
@@ -56,6 +56,9 @@
unsigned long size = images->ep - (unsigned long)param;
char *bootargs = getenv("bootargs");
+ if ((flag != 0) && (flag != BOOTM_STATE_OS_GO))
+ return 1;
+
/* Setup parameters */
memset(param, 0, size); /* Clear zero page */
strcpy(cmdline, bootargs);