summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorTom Rini <trini@ti.com>2013-07-09 15:32:34 -0400
committerTom Rini <trini@ti.com>2013-07-10 09:15:15 -0400
commit2b9599e010603879f99ed867f47fca6268902661 (patch)
tree946398c294b9a4fe718078be317ccdff93b0f756 /common
parentfb1b139bb79741e361bae421ece69d305b68d302 (diff)
downloadu-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')
-rw-r--r--common/cmd_bootm.c18
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;