
On Oct 21, 2008, at 2:30 PM, Wolfgang Denk wrote:
Dear Kumar Gala,
In message <1224520091-26756-1-git-send-email-galak@kernel.crashing.org
you wrote: 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
This looks mostly OK to me, but I haven't actually tested any of this code yet - can you please comment to what extend you tested it?
I've tested this on FSL 85xx HW. I'm able to boot using a sequence of bootm subcommands + a few other commands as well as plain old bootm.
--- a/common/cmd_bootm.c +++ b/common/cmd_bootm.c
...
@@ -1022,6 +1170,9 @@ static int do_bootm_netbsd (int flag, int argc, char *argv[], char *consdev; char *cmdline;
- if ((flag != 0) && (flag != BOOTM_STATE_OS_GO))
return 1;
This is a test that repeats quite often... Maybe e can optimize this as
if ((flag ^ BOOTM_STATE_OS_GO) != 0) return 1;
Hmm, this isn't equivalent:
0 ^ BOOTM_STATE_OS_GO => BOOTM_STATE_OS_GO BOOTM_STATE_OS_GO != 0 return 1.
- k