summaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
authorWei-Ning Huang <wnhuang@google.com>2017-04-22 06:26:39 +0800
committerchrome-bot <chrome-bot@chromium.org>2017-04-27 06:38:14 -0700
commit4bc509b0608ef8ce41356415bc1bb1d1ec619a37 (patch)
tree250e3753761e1b9af2e5c12c352abbbfb9d9eaa7 /util
parentfb387c4f4a0fa38521d5e30fe971fef529f10548 (diff)
downloadchrome-ec-4bc509b0608ef8ce41356415bc1bb1d1ec619a37.tar.gz
rwsig: add host command for getting rwsig status
Add a new host command EC_CMD_RWSIG_CHECK_STATUS for getting rwsig status and rw firmware hash. This command is used to check the RW signature of newly updated RW image. A new subcommand is also added to ectool. BRANCH=none BUG=b:37584134 TEST=on rose board `ectool rwsigstatus` works Change-Id: I33d8709f5248d3a4b8bedb36ded84a93dc8c971f Signed-off-by: Wei-Ning Huang <wnhuang@google.com> Reviewed-on: https://chromium-review.googlesource.com/485079 Commit-Ready: Wei-Ning Huang <wnhuang@chromium.org> Tested-by: Wei-Ning Huang <wnhuang@chromium.org> Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
Diffstat (limited to 'util')
-rw-r--r--util/ectool.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/util/ectool.c b/util/ectool.c
index 00a2395bfc..8e3f21b8cc 100644
--- a/util/ectool.c
+++ b/util/ectool.c
@@ -208,6 +208,8 @@ const char help_str[] =
" Set real-time clock alarm to go off in <sec> seconds\n"
" rwhashpd <dev_id> <HASH[0] ... <HASH[4]>\n"
" Set entry in PD MCU's device rw_hash table.\n"
+ " rwsigstatus\n"
+ " Run RW signature verification and get status.\n"
" sertest\n"
" Serial output test for COM2\n"
" switches\n"
@@ -1019,6 +1021,21 @@ int cmd_rw_hash_pd(int argc, char *argv[])
return rv;
}
+int cmd_rwsig_status(int argc, char *argv[])
+{
+ int rv;
+ struct ec_response_rwsig_check_status resp;
+
+ rv = ec_command(EC_CMD_RWSIG_CHECK_STATUS, 0, NULL, 0,
+ &resp, sizeof(resp));
+ if (rv < 0)
+ return rv;
+
+ printf("RW signature check: %s\n", resp.status ? "OK" : "FAILED");
+
+ return 0;
+}
+
/**
* determine if in GFU mode or not.
*
@@ -7048,6 +7065,7 @@ const struct command commands[] = {
{"rtcset", cmd_rtc_set},
{"rtcsetalarm", cmd_rtc_set_alarm},
{"rwhashpd", cmd_rw_hash_pd},
+ {"rwsigstatus", cmd_rwsig_status},
{"sertest", cmd_serial_test},
{"port80flood", cmd_port_80_flood},
{"switches", cmd_switches},