2 * Copyright (c) 2011-2012 The Chromium OS Authors.
3 * SPDX-License-Identifier: GPL-2.0+
6 #ifndef __SANDBOX_STATE_H
7 #define __SANDBOX_STATE_H
12 /* How we exited U-Boot */
15 STATE_EXIT_COLD_REBOOT,
19 struct sandbox_spi_info {
21 const struct sandbox_spi_emu_ops *ops;
24 /* The complete state of the test system */
25 struct sandbox_state {
26 const char *cmd; /* Command to execute */
27 bool interactive; /* Enable cmdline after execute */
28 const char *fdt_fname; /* Filename of FDT binary */
29 enum exit_type_id exit_type; /* How we exited U-Boot */
30 const char *parse_err; /* Error to report from parsing */
31 int argc; /* Program arguments */
33 uint8_t *ram_buf; /* Emulated RAM buffer */
34 unsigned int ram_size; /* Size of RAM buffer */
35 const char *ram_buf_fname; /* Filename to use for RAM buffer */
36 bool write_ram_buf; /* Write RAM buffer on exit */
38 /* Pointer to information for each SPI bus/cs */
39 struct sandbox_spi_info spi[CONFIG_SANDBOX_SPI_MAX_BUS]
40 [CONFIG_SANDBOX_SPI_MAX_CS];
44 * Record the exit type to be reported by the test program.
46 * @param exit_type Exit type to record
48 void state_record_exit(enum exit_type_id exit_type);
51 * Gets a pointer to the current state.
53 * @return pointer to state
55 struct sandbox_state *state_get_current(void);
58 * Initialize the test system state
63 * Uninitialize the test system state, writing out state if configured to
66 * @return 0 if OK, -ve on error
68 int state_uninit(void);