diff options
Diffstat (limited to 'tests/tpm_lite/tpmtest_writelimit.c')
-rw-r--r-- | tests/tpm_lite/tpmtest_writelimit.c | 74 |
1 files changed, 38 insertions, 36 deletions
diff --git a/tests/tpm_lite/tpmtest_writelimit.c b/tests/tpm_lite/tpmtest_writelimit.c index 952033cb..66dcc036 100644 --- a/tests/tpm_lite/tpmtest_writelimit.c +++ b/tests/tpm_lite/tpmtest_writelimit.c @@ -17,40 +17,42 @@ #define TPM_MAX_NV_WRITES_NOOWNER 64 int main(int argc, char** argv) { - int i; - - uint32_t result; - - TlclLibInit(); - - TPM_CHECK(TlclStartupIfNeeded()); - TPM_CHECK(TlclSelfTestFull()); - TPM_CHECK(TlclAssertPhysicalPresence()); - TPM_CHECK(TlclForceClear()); - TPM_CHECK(TlclSetEnable()); - TPM_CHECK(TlclSetDeactivated(0)); - - for (i = 0; i < TPM_MAX_NV_WRITES_NOOWNER + 2; i++) { - printf("writing %d\n", i); - if ((result = TlclWrite(INDEX0, (uint8_t*)&i, sizeof(i))) != TPM_SUCCESS) { - switch (result) { - case TPM_E_MAXNVWRITES: - VbAssert(i >= TPM_MAX_NV_WRITES_NOOWNER); - break; - default: - VbExError("unexpected error code %d (0x%x)\n", result, result); - } - } - } - - /* Reset write count */ - TPM_CHECK(TlclForceClear()); - TPM_CHECK(TlclSetEnable()); - TPM_CHECK(TlclSetDeactivated(0)); - - /* Try writing again. */ - TPM_CHECK(TlclWrite(INDEX0, (uint8_t*)&i, sizeof(i))); - - printf("TEST SUCCEEDED\n"); - exit(0); + int i; + + uint32_t result; + + TlclLibInit(); + + TPM_CHECK(TlclStartupIfNeeded()); + TPM_CHECK(TlclSelfTestFull()); + TPM_CHECK(TlclAssertPhysicalPresence()); + TPM_CHECK(TlclForceClear()); + TPM_CHECK(TlclSetEnable()); + TPM_CHECK(TlclSetDeactivated(0)); + + for (i = 0; i < TPM_MAX_NV_WRITES_NOOWNER + 2; i++) { + printf("writing %d\n", i); + if ((result = TlclWrite(INDEX0, (uint8_t*)&i, + sizeof(i))) != TPM_SUCCESS) { + switch (result) { + case TPM_E_MAXNVWRITES: + VbAssert(i >= TPM_MAX_NV_WRITES_NOOWNER); + break; + default: + VbExError("unexpected error code %d (0x%x)\n", + result, result); + } + } + } + + /* Reset write count */ + TPM_CHECK(TlclForceClear()); + TPM_CHECK(TlclSetEnable()); + TPM_CHECK(TlclSetDeactivated(0)); + + /* Try writing again. */ + TPM_CHECK(TlclWrite(INDEX0, (uint8_t*)&i, sizeof(i))); + + printf("TEST SUCCEEDED\n"); + exit(0); } |