diff options
author | Daniel Thompson <daniel.thompson@linaro.org> | 2014-03-28 09:28:11 +0000 |
---|---|---|
committer | Daniel Thompson <daniel.thompson@linaro.org> | 2015-07-06 13:57:46 +0100 |
commit | 29cf8a9b1453bc0037e38b511407f8fe1bd8373f (patch) | |
tree | d5b698e56678941196b934941ac4ad6dd8b30438 /lib | |
parent | d770e558e21961ad6cfdf0ff7df0eb5d7d4f0754 (diff) | |
download | linux-29cf8a9b1453bc0037e38b511407f8fe1bd8373f.tar.gz |
serial: Emulate break using control characters
Currently the magic SysRq functions are accessed by sending a break.
Unfortunately some networked serial proxies makes is difficult to send
a break meaning SysRq functions cannot be reached. We avoid this problem
by allowing the (fairly unlikely) sequence of ^B^R^K characters to
emulate a real break.
This approach is very nearly as robust as normal sysrq/break handling
because all trigger recognition happens during interrupt handling however
to emulate a break we must enter the ISR four times (instead of twice) and
manage an extra byte of state.
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Kconfig.debug | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index e2894b23efb6..9563d5315cf1 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@ -372,6 +372,21 @@ config MAGIC_SYSRQ_DEFAULT_ENABLE This may be set to 1 or 0 to enable or disable them all, or to a bitmask as described in Documentation/sysrq.txt. +config MAGIC_SYSRQ_BREAK_EMULATION + bool "Enable magic SysRq serial break emulation" + depends on MAGIC_SYSRQ && SERIAL_CORE_CONSOLE + default n + help + If you say Y here, then you can use the character sequence ^B^R^K + to simulate a BREAK on the serial console. This is useful if for + some reason you cannot send a BREAK to your console's serial port. + For example, if you have a serial device server that cannot + send a BREAK. Enabling this feature can delay the delivery of + characters to the TTY because the ^B and a subsequent ^R will be + delayed until we know what the next character is. + + If unsure, say N. + config DEBUG_KERNEL bool "Kernel debugging" help |