]> git.sur5r.net Git - u-boot/commitdiff
cmd_bootm.c: Make bootz consume 'bootz' from argv, decrement argc
authorTom Rini <trini@ti.com>
Tue, 9 Jul 2013 19:32:34 +0000 (15:32 -0400)
committerTom Rini <trini@ti.com>
Wed, 10 Jul 2013 13:15:15 +0000 (09:15 -0400)
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>
common/cmd_bootm.c

index 70d9891faff884c854ca43c9783b1bd6e685f0e9..377acb1042108e46ad58636b003331ceb0a7b349 100644 (file)
@@ -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;