From 2b9599e010603879f99ed867f47fca6268902661 Mon Sep 17 00:00:00 2001 From: Tom Rini Date: Tue, 9 Jul 2013 15:32:34 -0400 Subject: [PATCH] cmd_bootm.c: Make bootz consume 'bootz' from argv, decrement argc Like 'bootm', 'bootz' needs to consume 'bootz' so that the rest of the state functions will work. Signed-off-by: Tom Rini --- common/cmd_bootm.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c index 70d9891faf..377acb1042 100644 --- a/common/cmd_bootm.c +++ b/common/cmd_bootm.c @@ -1767,12 +1767,12 @@ static int bootz_start(cmd_tbl_t *cmdtp, int flag, int argc, images, 1); /* Setup Linux kernel zImage entry point */ - if (argc < 2) { + if (!argc) { images->ep = load_addr; debug("* kernel: default image load address = 0x%08lx\n", load_addr); } else { - images->ep = simple_strtoul(argv[1], NULL, 16); + images->ep = simple_strtoul(argv[0], NULL, 16); debug("* kernel: cmdline image address = 0x%08lx\n", images->ep); } @@ -1783,16 +1783,24 @@ static int bootz_start(cmd_tbl_t *cmdtp, int flag, int argc, lmb_reserve(&images->lmb, images->ep, zi_end - zi_start); - ret = do_bootm_states(cmdtp, flag, argc, argv, BOOTM_STATE_FINDOTHER, - images, 1); + if (bootm_find_ramdisk(flag, argc, argv)) + return 1; - return ret; +#if defined(CONFIG_OF_LIBFDT) + if (bootm_find_fdt(flag, argc, argv)) + return 1; +#endif + + return 0; } int do_bootz(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) { int ret; + /* Consume 'bootz' */ + argc--; argv++; + if (bootz_start(cmdtp, flag, argc, argv, &images)) return 1; -- 2.39.2