diff options
Diffstat (limited to 'arch')
| -rw-r--r-- | arch/sandbox/cpu/start.c | 12 | ||||
| -rw-r--r-- | arch/sandbox/include/asm/state.h | 2 | 
2 files changed, 13 insertions, 1 deletions
| diff --git a/arch/sandbox/cpu/start.c b/arch/sandbox/cpu/start.c index 895c4d82b..579ece447 100644 --- a/arch/sandbox/cpu/start.c +++ b/arch/sandbox/cpu/start.c @@ -77,7 +77,8 @@ int sandbox_main_loop_init(void)  	/* Execute command if required */  	if (state->cmd) {  		run_command_list(state->cmd, -1, 0); -		os_exit(state->exit_type); +		if (!state->interactive) +			os_exit(state->exit_type);  	}  	return 0; @@ -98,6 +99,15 @@ static int sandbox_cmdline_cb_fdt(struct sandbox_state *state, const char *arg)  }  SANDBOX_CMDLINE_OPT_SHORT(fdt, 'd', 1, "Specify U-Boot's control FDT"); +static int sandbox_cmdline_cb_interactive(struct sandbox_state *state, +					  const char *arg) +{ +	state->interactive = true; +	return 0; +} + +SANDBOX_CMDLINE_OPT_SHORT(interactive, 'i', 0, "Enter interactive mode"); +  int main(int argc, char *argv[])  {  	struct sandbox_state *state; diff --git a/arch/sandbox/include/asm/state.h b/arch/sandbox/include/asm/state.h index a38820bde..df196b79f 100644 --- a/arch/sandbox/include/asm/state.h +++ b/arch/sandbox/include/asm/state.h @@ -7,6 +7,7 @@  #define __SANDBOX_STATE_H  #include <config.h> +#include <stdbool.h>  /* How we exited U-Boot */  enum exit_type_id { @@ -23,6 +24,7 @@ struct sandbox_spi_info {  /* The complete state of the test system */  struct sandbox_state {  	const char *cmd;		/* Command to execute */ +	bool interactive;		/* Enable cmdline after execute */  	const char *fdt_fname;		/* Filename of FDT binary */  	enum exit_type_id exit_type;	/* How we exited U-Boot */  	const char *parse_err;		/* Error to report from parsing */ |