diff options
author | Vadim Bendebury <vbendeb@chromium.org> | 2016-12-27 10:19:40 -0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2017-01-05 23:47:07 -0800 |
commit | 02c5bb8392545f99b609943dfe1d92d9f2ffa4ae (patch) | |
tree | 19d43da4f0e9b7f52118193c124f73139e7f7287 | |
parent | 5659d103a669ada5fd173f7b801ed7b0a1066881 (diff) | |
download | chrome-ec-02c5bb8392545f99b609943dfe1d92d9f2ffa4ae.tar.gz |
cr50: vendor command to enable nvmem commits
TPM NVMEM commits are reenabled as soon as the system boots into
Chrome OS. However, sometimes the device does not boot into Chrome OS,
in which case it is necessary to be able to reinstate NVMEM commits
explicitly.
The new vendor command will provide this functionality.
BRANCH=none
BUG=chrome-os-partner:59873
TEST=added code to depthcharge to issue the new vendor command if the
system falls into recovery mode, verify that commits are
re-instated once the command is issued.
Change-Id: I3c06b27175751dc2c095911441935eee62ed9c50
Reviewed-on: https://chromium-review.googlesource.com/424064
Commit-Ready: Vadim Bendebury <vbendeb@chromium.org>
Tested-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
-rw-r--r-- | board/cr50/board.c | 11 | ||||
-rw-r--r-- | include/tpm_vendor_cmds.h | 1 |
2 files changed, 12 insertions, 0 deletions
diff --git a/board/cr50/board.c b/board/cr50/board.c index 229f4ab1f0..fe6a29a26f 100644 --- a/board/cr50/board.c +++ b/board/cr50/board.c @@ -896,3 +896,14 @@ static enum vendor_cmd_rc vc_invalidate_inactive_rw(enum vendor_cmd_cc code, } DECLARE_VENDOR_COMMAND(VENDOR_CC_INVALIDATE_INACTIVE_RW, vc_invalidate_inactive_rw); + +static enum vendor_cmd_rc vc_commit_nvmem(enum vendor_cmd_cc code, + void *buf, + size_t input_size, + size_t *response_size) +{ + nvmem_enable_commits(); + *response_size = 0; + return VENDOR_RC_SUCCESS; +} +DECLARE_VENDOR_COMMAND(VENDOR_CC_COMMIT_NVMEM, vc_commit_nvmem); diff --git a/include/tpm_vendor_cmds.h b/include/tpm_vendor_cmds.h index 4e49455369..f81abf70d0 100644 --- a/include/tpm_vendor_cmds.h +++ b/include/tpm_vendor_cmds.h @@ -32,6 +32,7 @@ enum vendor_cmd_cc { VENDOR_CC_SYSINFO = 18, VENDOR_CC_IMMEDIATE_RESET = 19, VENDOR_CC_INVALIDATE_INACTIVE_RW = 20, + VENDOR_CC_COMMIT_NVMEM = 21, LAST_VENDOR_COMMAND = 65535, }; |