summaryrefslogtreecommitdiff
path: root/common/system.c
diff options
context:
space:
mode:
authorNicolas Boichat <drinkcat@google.com>2017-03-16 10:24:37 -0700
committerchrome-bot <chrome-bot@chromium.org>2017-03-31 22:33:33 -0700
commit871bf8da2cf5fa9bcfe8771b96af4b55c2503616 (patch)
tree2ef82237fbbeb488cd297010f56b3abf8c1ba5d0 /common/system.c
parent24fd8060fd27f0306d5d3f91faa09d28ed892772 (diff)
downloadchrome-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.c17
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 */