From b94747d501ad7e4347b50c3ea55e615422d96212 Mon Sep 17 00:00:00 2001 From: Randall Spangler Date: Fri, 5 Aug 2016 10:25:42 -0700 Subject: cr50: reset only the TPM state on SYS_RST_L Rather than doing a full cr50 reset when the system reset SYS_RST_L is asserted, just reset the state of the TPM task and library. Re-clear .bss for those modules, then re-initialize. BRANCH=none BUG=chrome-os-partner:52366 CQ-DEPEND=CL:366792 TEST=make buildall; test on Gru Trigger a SYS_RST_L by using the AP's reboot command, power off/on, log in/out/in. See that the Cr50 does not reboot and the firmware and userspace are still happy about the TPM. Change-Id: I32cd2bb72316f68c74db77a20a8d09112b402d4b Signed-off-by: Randall Spangler Signed-off-by: Bill Richardson Reviewed-on: https://chromium-review.googlesource.com/361680 --- include/link_defs.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'include/link_defs.h') diff --git a/include/link_defs.h b/include/link_defs.h index 69b964d1d8..e55da8bd50 100644 --- a/include/link_defs.h +++ b/include/link_defs.h @@ -87,6 +87,12 @@ extern const void *__irqhandler[]; /* Shared memory buffer. Use via shared_mem.h interface. */ extern uint8_t __shared_mem_buf[]; +/* Image sections used by the TPM2 library */ +extern uint8_t *__bss_libtpm2_start; +extern uint8_t *__bss_libtpm2_end; +extern uint8_t *__data_libtpm2_start; +extern uint8_t *__data_libtpm2_end; + /* Image sections. */ extern const void *__ro_end; extern const void *__data_start; -- cgit v1.2.1