diff options
Diffstat (limited to 'arch/sandbox/cpu/start.c')
| -rw-r--r-- | arch/sandbox/cpu/start.c | 23 | 
1 files changed, 15 insertions, 8 deletions
| diff --git a/arch/sandbox/cpu/start.c b/arch/sandbox/cpu/start.c index 36dfc0a40..aad3b8b14 100644 --- a/arch/sandbox/cpu/start.c +++ b/arch/sandbox/cpu/start.c @@ -110,14 +110,8 @@ 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); -	 */ +	/* Remember to delete this U-Boot image later */ +	state->jumped_fname = arg;  	return 0;  } @@ -142,6 +136,15 @@ static int sandbox_cmdline_cb_memory(struct sandbox_state *state,  SANDBOX_CMDLINE_OPT_SHORT(memory, 'm', 1,  			  "Read/write ram_buf memory contents from file"); +static int sandbox_cmdline_cb_rm_memory(struct sandbox_state *state, +					const char *arg) +{ +	state->ram_buf_rm = true; + +	return 0; +} +SANDBOX_CMDLINE_OPT(rm_memory, 0, "Remove memory file after reading"); +  static int sandbox_cmdline_cb_state(struct sandbox_state *state,  				    const char *arg)  { @@ -229,6 +232,10 @@ int main(int argc, char *argv[])  	if (ret)  		goto err; +	/* Remove old memory file if required */ +	if (state->ram_buf_rm && state->ram_buf_fname) +		os_unlink(state->ram_buf_fname); +  	/* Do pre- and post-relocation init */  	board_init_f(0); |