]> Git Repo - J-u-boot.git/blobdiff - cmd/bootm.c
net: wget: integrate struct wget_info into legacy wget code
[J-u-boot.git] / cmd / bootm.c
index 6ded091dd559c50e92f3566f1502912cfb14824c..bee683d05807335a8dcc2e3e4df4b8c8d0831047 100644 (file)
@@ -7,7 +7,6 @@
 /*
  * Boot support
  */
-#include <common.h>
 #include <bootm.h>
 #include <command.h>
 #include <env.h>
@@ -76,6 +75,7 @@ static ulong bootm_get_addr(int argc, char *const argv[])
 static int do_bootm_subcommand(struct cmd_tbl *cmdtp, int flag, int argc,
                               char *const argv[])
 {
+       struct bootm_info bmi;
        int ret = 0;
        long state;
        struct cmd_tbl *c;
@@ -103,7 +103,21 @@ static int do_bootm_subcommand(struct cmd_tbl *cmdtp, int flag, int argc,
                return CMD_RET_USAGE;
        }
 
-       ret = do_bootm_states(cmdtp, flag, argc, argv, state, &images, 0);
+       bootm_init(&bmi);
+       if (argc)
+               bmi.addr_img = argv[0];
+       if (argc > 1)
+               bmi.conf_ramdisk = argv[1];
+       if (argc > 2)
+               bmi.conf_fdt = argv[2];
+       bmi.cmd_name = "bootm";
+       bmi.boot_progress = false;
+
+       /* set up argc and argv[] since some OSes use them */
+       bmi.argc = argc;
+       bmi.argv = argv;
+
+       ret = bootm_run_states(&bmi, state);
 
 #if defined(CONFIG_CMD_BOOTM_PRE_LOAD)
        if (!ret && (state & BOOTM_STATE_PRE_LOAD))
@@ -120,7 +134,7 @@ static int do_bootm_subcommand(struct cmd_tbl *cmdtp, int flag, int argc,
 
 int do_bootm(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
 {
-       int states;
+       struct bootm_info bmi;
        int ret;
 
        /* determine if we have a sub command */
@@ -141,17 +155,19 @@ int do_bootm(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
                        return do_bootm_subcommand(cmdtp, flag, argc, argv);
        }
 
-       states = BOOTM_STATE_START | BOOTM_STATE_FINDOS | BOOTM_STATE_PRE_LOAD |
-               BOOTM_STATE_FINDOTHER | BOOTM_STATE_LOADOS |
-               BOOTM_STATE_OS_PREP | BOOTM_STATE_OS_FAKE_GO |
-               BOOTM_STATE_OS_GO;
-       if (IS_ENABLED(CONFIG_SYS_BOOT_RAMDISK_HIGH))
-               states |= BOOTM_STATE_RAMDISK;
-       if (IS_ENABLED(CONFIG_MEASURED_BOOT))
-               states |= BOOTM_STATE_MEASURE;
-       if (IS_ENABLED(CONFIG_PPC) || IS_ENABLED(CONFIG_MIPS))
-               states |= BOOTM_STATE_OS_CMDLINE;
-       ret = do_bootm_states(cmdtp, flag, argc, argv, states, &images, 1);
+       bootm_init(&bmi);
+       if (argc)
+               bmi.addr_img = argv[0];
+       if (argc > 1)
+               bmi.conf_ramdisk = argv[1];
+       if (argc > 2)
+               bmi.conf_fdt = argv[2];
+
+       /* set up argc and argv[] since some OSes use them */
+       bmi.argc = argc;
+       bmi.argv = argv;
+
+       ret = bootm_run(&bmi);
 
        return ret ? CMD_RET_FAILURE : 0;
 }
@@ -240,7 +256,6 @@ U_BOOT_CMD(
 
 #endif
 
-
 /*******************************************************************/
 /* iminfo - print header info for a requested image */
 /*******************************************************************/
@@ -345,7 +360,6 @@ U_BOOT_CMD(
 );
 #endif
 
-
 /*******************************************************************/
 /* imls - list all images found in flash */
 /*******************************************************************/
This page took 0.027088 seconds and 4 git commands to generate.