xref: /rk3399_rockchip-uboot/arch/sandbox/include/asm/state.h (revision 1a4596601fd395f3afb8f82f3f840c5e00bdd57a)
16fb62078SSimon Glass /*
26fb62078SSimon Glass  * Copyright (c) 2011-2012 The Chromium OS Authors.
3*1a459660SWolfgang Denk  * SPDX-License-Identifier:	GPL-2.0+
46fb62078SSimon Glass  */
56fb62078SSimon Glass 
66fb62078SSimon Glass #ifndef __SANDBOX_STATE_H
76fb62078SSimon Glass #define __SANDBOX_STATE_H
86fb62078SSimon Glass 
970db4212SSimon Glass #include <config.h>
1070db4212SSimon Glass 
116fb62078SSimon Glass /* How we exited U-Boot */
126fb62078SSimon Glass enum exit_type_id {
136fb62078SSimon Glass 	STATE_EXIT_NORMAL,
146fb62078SSimon Glass 	STATE_EXIT_COLD_REBOOT,
156fb62078SSimon Glass 	STATE_EXIT_POWER_OFF,
166fb62078SSimon Glass };
176fb62078SSimon Glass 
186fb62078SSimon Glass /* The complete state of the test system */
196fb62078SSimon Glass struct sandbox_state {
206fb62078SSimon Glass 	const char *cmd;		/* Command to execute */
21f828bf25SSimon Glass 	const char *fdt_fname;		/* Filename of FDT binary */
226fb62078SSimon Glass 	enum exit_type_id exit_type;	/* How we exited U-Boot */
2370db4212SSimon Glass 	const char *parse_err;		/* Error to report from parsing */
2470db4212SSimon Glass 	int argc;			/* Program arguments */
2570db4212SSimon Glass 	char **argv;
266fb62078SSimon Glass };
276fb62078SSimon Glass 
286fb62078SSimon Glass /**
296fb62078SSimon Glass  * Record the exit type to be reported by the test program.
306fb62078SSimon Glass  *
316fb62078SSimon Glass  * @param exit_type	Exit type to record
326fb62078SSimon Glass  */
336fb62078SSimon Glass void state_record_exit(enum exit_type_id exit_type);
346fb62078SSimon Glass 
356fb62078SSimon Glass /**
366fb62078SSimon Glass  * Gets a pointer to the current state.
376fb62078SSimon Glass  *
386fb62078SSimon Glass  * @return pointer to state
396fb62078SSimon Glass  */
406fb62078SSimon Glass struct sandbox_state *state_get_current(void);
416fb62078SSimon Glass 
426fb62078SSimon Glass /**
436fb62078SSimon Glass  * Initialize the test system state
446fb62078SSimon Glass  */
456fb62078SSimon Glass int state_init(void);
466fb62078SSimon Glass 
476fb62078SSimon Glass #endif
48