sandbox: Support multiple reset types
authorSimon Glass <sjg@chromium.org>
Mon, 6 Jul 2015 18:54:26 +0000 (12:54 -0600)
committerSimon Glass <sjg@chromium.org>
Tue, 21 Jul 2015 23:39:31 +0000 (17:39 -0600)
Add settings for the last reset generated, and the types of resets which
are permitted. This will be used for testing.

Signed-off-by: Simon Glass <sjg@chromium.org>
arch/sandbox/cpu/state.c
arch/sandbox/include/asm/state.h

index cae731c8f16ede3e01b193fad1c438fced894121..7e5d03e8460bf945b40577bd40c4b9cb3fd85fbf 100644 (file)
@@ -345,6 +345,10 @@ int state_init(void)
        state->ram_buf = os_malloc(state->ram_size);
        assert(state->ram_buf);
 
+       /* No reset yet, so mark it as such. Always allow power reset */
+       state->last_reset = RESET_COUNT;
+       state->reset_allowed[RESET_POWER] = true;
+
        /*
         * Example of how to use GPIOs:
         *
index a57480a996f33bf9b5b419e50235fdd44f4305f7..2bd28f6b1c1739b5857407d1e055676698330435 100644 (file)
@@ -7,6 +7,7 @@
 #define __SANDBOX_STATE_H
 
 #include <config.h>
+#include <reset.h>
 #include <stdbool.h>
 #include <linux/stringify.h>
 
@@ -59,6 +60,8 @@ struct sandbox_state {
        bool write_state;               /* Write sandbox state on exit */
        bool ignore_missing_state_on_read;      /* No error if state missing */
        bool show_lcd;                  /* Show LCD on start-up */
+       enum reset_t last_reset;        /* Last reset type */
+       bool reset_allowed[RESET_COUNT];        /* Allowed reset types */
        enum state_terminal_raw term_raw;       /* Terminal raw/cooked */
 
        /* Pointer to information for each SPI bus/cs */