diff options
author | Wei-Ning Huang <wnhuang@google.com> | 2017-04-22 06:26:39 +0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2017-04-27 06:38:14 -0700 |
commit | 4bc509b0608ef8ce41356415bc1bb1d1ec619a37 (patch) | |
tree | 250e3753761e1b9af2e5c12c352abbbfb9d9eaa7 /util | |
parent | fb387c4f4a0fa38521d5e30fe971fef529f10548 (diff) | |
download | chrome-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.c | 18 |
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}, |