diff options
author | Nicolas Boichat <drinkcat@google.com> | 2017-03-16 10:24:37 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2017-03-31 22:33:33 -0700 |
commit | 871bf8da2cf5fa9bcfe8771b96af4b55c2503616 (patch) | |
tree | 2ef82237fbbeb488cd297010f56b3abf8c1ba5d0 /common/system.c | |
parent | 24fd8060fd27f0306d5d3f91faa09d28ed892772 (diff) | |
download | chrome-ec-871bf8da2cf5fa9bcfe8771b96af4b55c2503616.tar.gz |
system: Add support for emulated sysrq
On keyboard-less design, we will implement a special debug mode,
based on button sequences, to transmit sysrq events to the AP.
This implements the new MKBP event to send sysrq, and a console
command to test it. Later CL will implement debug mode itself.
BRANCH=none
BUG=b:35775099
TEST=sysrq available in EC console
TEST=sysrq h => help message in AP console
TEST=sysrq b => AP reboots
Change-Id: I71d3f77497baf8cc7fac65cd040ce20513b507bc
Reviewed-on: https://chromium-review.googlesource.com/456520
Commit-Ready: Nicolas Boichat <drinkcat@chromium.org>
Tested-by: Nicolas Boichat <drinkcat@chromium.org>
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
Diffstat (limited to 'common/system.c')
-rw-r--r-- | common/system.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/common/system.c b/common/system.c index 72d642f0f4..e152696941 100644 --- a/common/system.c +++ b/common/system.c @@ -1109,6 +1109,23 @@ DECLARE_CONSOLE_COMMAND(jumptags, command_jumptags, "List jump tags"); #endif /* CONFIG_CMD_JUMPTAGS */ +#ifdef CONFIG_EMULATED_SYSRQ +static int command_sysrq(int argc, char **argv) +{ + char key = 'x'; + + if (argc > 1 && argv[1]) + key = argv[1][0]; + + send_sysrq(key); + + return EC_SUCCESS; +} +DECLARE_CONSOLE_COMMAND(sysrq, command_sysrq, + "[key]", + "Simulate sysrq press (default: x)"); +#endif /* CONFIG_EMULATED_SYSRQ */ + /*****************************************************************************/ /* Host commands */ |