MIPS: bootm.c: add support for 'prep' and 'go' subcommands
authorGabor Juhos <juhosg@openwrt.org>
Mon, 7 Jan 2013 02:53:42 +0000 (02:53 +0000)
committerDaniel Schwierzeck <daniel.schwierzeck@gmail.com>
Wed, 16 Jan 2013 09:52:07 +0000 (10:52 +0100)
The bootm command supports subcommands since long time
however those subcommands are not yet usable on MIPS.

The patch is based on the ARM implementation, and it adds
support for the 'prep' and 'go' subcommands only.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Cc: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>
arch/mips/lib/bootm.c

index 8c2e5082439d84aff6698d911118826f3d7f5786..a36154a892c1ea687b5148772d1d384da664712d 100644 (file)
@@ -104,8 +104,19 @@ static void boot_jump_linux(bootm_headers_t *images)
 int do_bootm_linux(int flag, int argc, char * const argv[],
                        bootm_headers_t *images)
 {
-       if ((flag != 0) && (flag != BOOTM_STATE_OS_GO))
-               return 1;
+       /* No need for those on MIPS */
+       if (flag & BOOTM_STATE_OS_BD_T || flag & BOOTM_STATE_OS_CMDLINE)
+               return -1;
+
+       if (flag & BOOTM_STATE_OS_PREP) {
+               boot_prep_linux(images);
+               return 0;
+       }
+
+       if (flag & BOOTM_STATE_OS_GO) {
+               boot_jump_linux(images);
+               return 0;
+       }
 
        boot_prep_linux(images);
        boot_jump_linux(images);