diff options
author | Tom Rini <trini@ti.com> | 2013-07-09 15:32:34 -0400 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2013-07-10 09:15:15 -0400 |
commit | 2b9599e010603879f99ed867f47fca6268902661 (patch) | |
tree | 946398c294b9a4fe718078be317ccdff93b0f756 /common/cmd_bootm.c | |
parent | fb1b139bb79741e361bae421ece69d305b68d302 (diff) | |
download | u-boot-imx-2b9599e010603879f99ed867f47fca6268902661.zip u-boot-imx-2b9599e010603879f99ed867f47fca6268902661.tar.gz u-boot-imx-2b9599e010603879f99ed867f47fca6268902661.tar.bz2 |
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 <trini@ti.com>
Diffstat (limited to 'common/cmd_bootm.c')
-rw-r--r-- | common/cmd_bootm.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c index 70d9891..377acb1 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; |