mirror of
https://xff.cz/git/u-boot/
synced 2025-09-01 16:52:14 +02:00
sandbox: Allow Ctrl-C to work in sandbox
It is useful for Cltl-C to be handled by U-Boot as it is on other boards. But it is also useful to be able to terminate U-Boot with Ctrl-C. Add an option to enable signals while in raw mode, and make this the default. Add an option to leave the terminal cooked, which is useful for redirecting output. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
@@ -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]
|
||||
|
Reference in New Issue
Block a user