瀏覽代碼

MIPS: bootm.c: add support for 'prep' and 'go' subcommands

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>
Gabor Juhos 12 年之前
父節點
當前提交
9c170e2ef4
共有 1 個文件被更改,包括 13 次插入2 次删除
  1. 13 2
      arch/mips/lib/bootm.c

+ 13 - 2
arch/mips/lib/bootm.c

@@ -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);