summaryrefslogtreecommitdiff
path: root/board/cr50/tpm_nvmem_ops.c
diff options
context:
space:
mode:
authorAndrey Pronin <apronin@google.com>2022-01-26 12:47:14 -0800
committerCommit Bot <commit-bot@chromium.org>2022-02-16 09:32:06 +0000
commit43fa560eb5c519f1a5afabe1fb2374943fe88013 (patch)
treeaf638f5b29453da0b9f1bfc477799cc8d1bf0959 /board/cr50/tpm_nvmem_ops.c
parent76eba574138371ca7dfc5bb47133d032113770ee (diff)
downloadchrome-ec-stabilize-14526.67.B-cr50_stab.tar.gz
This CL in case of unorderly TPM reset that doesn't also reset GSC preserves RAM-backed values of orderly nv indices. BUG=b:201101365 TEST=1) create an orderly counter 2) increment it 3) trigger EC reset 4) verify that the counter value was preserved Cq-Depend: chromium:3417937 Change-Id: I799183ad06584055d025c2acf5f83ff2ded32d39 Signed-off-by: Andrey Pronin <apronin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3418122 Reviewed-by: Vadim Bendebury <vbendeb@chromium.org> Commit-Queue: Mary Ruthven <mruthven@chromium.org>
Diffstat (limited to 'board/cr50/tpm_nvmem_ops.c')
-rw-r--r--board/cr50/tpm_nvmem_ops.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/board/cr50/tpm_nvmem_ops.c b/board/cr50/tpm_nvmem_ops.c
index ba295c7f4f..76f740c0ee 100644
--- a/board/cr50/tpm_nvmem_ops.c
+++ b/board/cr50/tpm_nvmem_ops.c
@@ -108,3 +108,15 @@ size_t read_tpm_nvmem_size(uint16_t obj_index)
return size;
}
+
+BUILD_ASSERT(TPM_ORDERLY_STATE_SIZE >= RAM_INDEX_SPACE);
+
+void tpm_orderly_state_capture(char copy[TPM_ORDERLY_STATE_SIZE])
+{
+ NvStateCapture(copy);
+}
+
+void tpm_orderly_state_restore(const char copy[TPM_ORDERLY_STATE_SIZE])
+{
+ NvStateRestore(copy);
+}