From: Simon Glass Date: Thu, 27 Feb 2014 20:26:16 +0000 (-0700) Subject: sandbox: Add -j option to indicate a jump from a previous U-Boot X-Git-Tag: v2014.04-rc3~36 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=bda7773f044a13cf69cbbcb016285dd217b981c3;p=oweals%2Fu-boot.git sandbox: Add -j option to indicate a jump from a previous U-Boot In order to support the 'go' command we allow the jumping U-Boot to pass its filename to the new U-Boot image. This can then be used to delete that image if required. Reviewed-by: Simon Glass Tested-by: Che-Liang Chiou Signed-off-by: Simon Glass --- diff --git a/arch/sandbox/cpu/start.c b/arch/sandbox/cpu/start.c index 1df21d49fa..2d19fe795e 100644 --- a/arch/sandbox/cpu/start.c +++ b/arch/sandbox/cpu/start.c @@ -107,6 +107,22 @@ static int sandbox_cmdline_cb_interactive(struct sandbox_state *state, SANDBOX_CMDLINE_OPT_SHORT(interactive, 'i', 0, "Enter interactive mode"); +static int sandbox_cmdline_cb_jump(struct sandbox_state *state, + const char *arg) +{ + state->jumped = 1; + + /* + * TODO(sjg@chromium.org): Note this causes problems for gdb which + * wants to read debug data from the image. + * + * os_unlink(arg); + */ + + return 0; +} +SANDBOX_CMDLINE_OPT_SHORT(jump, 'j', 1, "Jumped from previous U-Boot"); + static int sandbox_cmdline_cb_memory(struct sandbox_state *state, const char *arg) { diff --git a/arch/sandbox/include/asm/state.h b/arch/sandbox/include/asm/state.h index e8e4fea1b5..304104e058 100644 --- a/arch/sandbox/include/asm/state.h +++ b/arch/sandbox/include/asm/state.h @@ -30,7 +30,8 @@ struct sandbox_state { enum exit_type_id exit_type; /* How we exited U-Boot */ const char *parse_err; /* Error to report from parsing */ int argc; /* Program arguments */ - char **argv; + char **argv; /* Command line arguments */ + bool jumped; /* Jumped from previous U_Boot */ uint8_t *ram_buf; /* Emulated RAM buffer */ unsigned int ram_size; /* Size of RAM buffer */ const char *ram_buf_fname; /* Filename to use for RAM buffer */