diff options
author | Vadim Bendebury <vbendeb@chromium.org> | 2016-10-27 23:48:02 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2016-10-27 23:48:02 +0000 |
commit | f5c999fc03d558b398fcda431cd6ea82f03b7453 (patch) | |
tree | 832b7c2970fe46e90f6913c92c49b50d554e1a3e | |
parent | 04f5f822dba86823792483e19d9ea077f5d781d9 (diff) | |
parent | 412a7d2d11dd827b45f88950aba6e2d30aeadc08 (diff) | |
download | tpm2-f5c999fc03d558b398fcda431cd6ea82f03b7453.tar.gz |
Get firmware version values from the platform am: 15d53c3aca am: d041491105 am: 8844e2b5fc
am: 412a7d2d11
Change-Id: I00d72ff7712e8bbcc4d6d0ea771b205e82220c86
-rw-r--r-- | Manufacture.c | 8 | ||||
-rw-r--r-- | NV.c | 4 | ||||
-rw-r--r-- | include/tpm2/Platform.h | 9 |
3 files changed, 19 insertions, 2 deletions
diff --git a/Manufacture.c b/Manufacture.c index 543aca7..cce1b50 100644 --- a/Manufacture.c +++ b/Manufacture.c @@ -62,9 +62,12 @@ TPM_Manufacture( // initialize command audit list CommandAuditPreInstall_Init(); // first start up is required to be Startup(CLEAR) - orderlyShutdown = TPM_SU_CLEAR; - NvWriteReserved(NV_ORDERLY, &orderlyShutdown); + orderlyShutdown = TPM_SU_CLEAR; + NvWriteReserved(NV_ORDERLY, &orderlyShutdown); // initialize the firmware version +#ifdef EMBEDDED_MODE + _plat__GetFwVersion(&gp.firmwareV1, &gp.firmwareV2); +#else gp.firmwareV1 = FIRMWARE_V1; #ifdef FIRMWARE_V2 gp.firmwareV2 = FIRMWARE_V2; @@ -73,6 +76,7 @@ TPM_Manufacture( #endif NvWriteReserved(NV_FIRMWARE_V1, &gp.firmwareV1); NvWriteReserved(NV_FIRMWARE_V2, &gp.firmwareV2); +#endif // initialize the total reset counter to 0 NvWriteReserved(NV_TOTAL_RESET_COUNT, &totalResetCount); // initialize the clock stuff @@ -658,8 +658,12 @@ NvReadPersistent( // Algorithm selection persistent data NvReadReserved(NV_ALGORITHM_SET, &gp.algorithmSet); // Firmware version persistent data +#ifdef EMBEDDED_MODE + _plat__GetFwVersion(&gp.firmwareV1, &gp.firmwareV2); +#else NvReadReserved(NV_FIRMWARE_V1, &gp.firmwareV1); NvReadReserved(NV_FIRMWARE_V2, &gp.firmwareV2); +#endif return; } // diff --git a/include/tpm2/Platform.h b/include/tpm2/Platform.h index 7b22404..f7bcbcd 100644 --- a/include/tpm2/Platform.h +++ b/include/tpm2/Platform.h @@ -375,6 +375,15 @@ _plat__GetEntropy( uint32_t amount // amount requested ); +// +// Get firmware version numbers from the platform. +// +LIB_EXPORT void +_plat__GetFwVersion( + uint32_t *fw1, + uint32_t *fw2 +); + int uart_printf(const char *format, ...); #define ecprintf(format, args...) uart_printf(format, ## args); |