]> git.sur5r.net Git - u-boot/blobdiff - arch/sandbox/cpu/start.c
Merge branch 'master' of git://www.denx.de/git/u-boot-microblaze
[u-boot] / arch / sandbox / cpu / start.c
index ec010402d77f47f40b2ca3950d4cb9a5e52355c4..0dda4fc84ea1a322dcca9e286c8e54125db214be 100644 (file)
@@ -4,6 +4,7 @@
  */
 
 #include <common.h>
+#include <errno.h>
 #include <os.h>
 #include <cli.h>
 #include <malloc.h>
@@ -77,12 +78,18 @@ int sandbox_main_loop_init(void)
        struct sandbox_state *state = state_get_current();
 
        /* Execute command if required */
-       if (state->cmd) {
-               int retval;
+       if (state->cmd || state->run_distro_boot) {
+               int retval = 0;
 
                cli_init();
 
-               retval = run_command_list(state->cmd, -1, 0);
+               if (state->cmd)
+                       retval = run_command_list(state->cmd, -1, 0);
+
+               if (state->run_distro_boot)
+                       retval = cli_simple_run_command("run distro_bootcmd",
+                                                       0);
+
                if (!state->interactive)
                        os_exit(retval);
        }
@@ -90,6 +97,14 @@ int sandbox_main_loop_init(void)
        return 0;
 }
 
+static int sandbox_cmdline_cb_boot(struct sandbox_state *state,
+                                     const char *arg)
+{
+       state->run_distro_boot = true;
+       return 0;
+}
+SANDBOX_CMDLINE_OPT_SHORT(boot, 'b', 0, "Run distro boot commands");
+
 static int sandbox_cmdline_cb_command(struct sandbox_state *state,
                                      const char *arg)
 {
@@ -242,6 +257,14 @@ static int sandbox_cmdline_cb_terminal(struct sandbox_state *state,
 SANDBOX_CMDLINE_OPT_SHORT(terminal, 't', 1,
                          "Set terminal to raw/cooked mode");
 
+static int sandbox_cmdline_cb_verbose(struct sandbox_state *state,
+                                     const char *arg)
+{
+       state->show_test_output = true;
+       return 0;
+}
+SANDBOX_CMDLINE_OPT_SHORT(verbose, 'v', 0, "Show test output");
+
 int main(int argc, char *argv[])
 {
        struct sandbox_state *state;