]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - arch/sandbox/include/asm/state.h
sandbox: Allow Ctrl-C to work in sandbox
[karo-tx-uboot.git] / arch / sandbox / include / asm / state.h
index 895b3a4ec7b3b5f2add23d03f25dbf0511dcab79..56bd9a07b62c7e95292f5767d3c7f0e6bb79ab0b 100644 (file)
@@ -17,6 +17,29 @@ enum exit_type_id {
        STATE_EXIT_POWER_OFF,
 };
 
+/**
+ * Selects the behavior of the serial terminal.
+ *
+ * If Ctrl-C is processed by U-Boot, then the only way to quit sandbox is with
+ * the 'reset' command, or equivalent.
+ *
+ * If the terminal is cooked, then Ctrl-C will terminate U-Boot, and the
+ * command line will not be quite such a faithful emulation.
+ *
+ * Options are:
+ *
+ *     raw-with-sigs           - Raw, but allow signals (Ctrl-C will quit)
+ *     raw                     - Terminal is always raw
+ *     cooked                  - Terminal is always cooked
+ */
+enum state_terminal_raw {
+       STATE_TERM_RAW_WITH_SIGS,       /* Default */
+       STATE_TERM_RAW,
+       STATE_TERM_COOKED,
+
+       STATE_TERM_COUNT,
+};
+
 struct sandbox_spi_info {
        const char *spec;
        const struct sandbox_spi_emu_ops *ops;
@@ -42,6 +65,7 @@ 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 state_terminal_raw term_raw;       /* Terminal raw/cooked */
 
        /* Pointer to information for each SPI bus/cs */
        struct sandbox_spi_info spi[CONFIG_SANDBOX_SPI_MAX_BUS]