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 <sjg@chromium.org>
Tested-by: Che-Liang Chiou <clchiou@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
master
Simon Glass 11 years ago
parent 47f5fcfb41
commit bda7773f04
  1. 16
      arch/sandbox/cpu/start.c
  2. 3
      arch/sandbox/include/asm/state.h

@ -107,6 +107,22 @@ static int sandbox_cmdline_cb_interactive(struct sandbox_state *state,
SANDBOX_CMDLINE_OPT_SHORT(interactive, 'i', 0, "Enter interactive mode"); 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, static int sandbox_cmdline_cb_memory(struct sandbox_state *state,
const char *arg) const char *arg)
{ {

@ -30,7 +30,8 @@ struct sandbox_state {
enum exit_type_id exit_type; /* How we exited U-Boot */ enum exit_type_id exit_type; /* How we exited U-Boot */
const char *parse_err; /* Error to report from parsing */ const char *parse_err; /* Error to report from parsing */
int argc; /* Program arguments */ 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 */ uint8_t *ram_buf; /* Emulated RAM buffer */
unsigned int ram_size; /* Size of RAM buffer */ unsigned int ram_size; /* Size of RAM buffer */
const char *ram_buf_fname; /* Filename to use for RAM buffer */ const char *ram_buf_fname; /* Filename to use for RAM buffer */

Loading…
Cancel
Save