diff options
author | Andrey Pronin <apronin@google.com> | 2016-07-25 18:00:47 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2016-07-26 23:54:33 -0700 |
commit | 16cacfa043c6153843873467ad4fc510b9fbcf44 (patch) | |
tree | 52af5f84d56ebce87c5cc8ec7ecb9ecbd2161a52 /firmware/include/tpm2_tss_constants.h | |
parent | 5be84679e5157aaa6d785083b98c4c393630e491 (diff) | |
download | vboot-16cacfa043c6153843873467ad4fc510b9fbcf44.tar.gz |
tlcl: implement clear, startup, shutdown, self teststabilize-8647.B
Implement TlclStartup, TlclSaveState, TlclResume, TlclSelfTestFull,
TlclContinueSelfTest, TlclForceClear.
BRANCH=none
BUG=chrome-os-partner:55210
BUG=chrome-os-partner:55250
TEST=boot on kevin in recovery mode, verify that 'tpmc ctest',
'tpmc startup', 'tpmc clear' work.
Change-Id: I00839eae1984e24c0138ec5bdab8299379e1bcb6
Reviewed-on: https://chromium-review.googlesource.com/362996
Commit-Ready: Andrey Pronin <apronin@chromium.org>
Tested-by: Andrey Pronin <apronin@chromium.org>
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Diffstat (limited to 'firmware/include/tpm2_tss_constants.h')
-rw-r--r-- | firmware/include/tpm2_tss_constants.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/firmware/include/tpm2_tss_constants.h b/firmware/include/tpm2_tss_constants.h index 98df06e4..bee607be 100644 --- a/firmware/include/tpm2_tss_constants.h +++ b/firmware/include/tpm2_tss_constants.h @@ -18,8 +18,12 @@ /* TPM2 command codes. */ #define TPM2_Hierarchy_Control ((TPM_CC)0x00000121) +#define TPM2_Clear ((TPM_CC)0x00000126) #define TPM2_NV_Write ((TPM_CC)0x00000137) #define TPM2_NV_WriteLock ((TPM_CC)0x00000138) +#define TPM2_SelfTest ((TPM_CC)0x00000143) +#define TPM2_Startup ((TPM_CC)0x00000144) +#define TPM2_Shutdown ((TPM_CC)0x00000145) #define TPM2_NV_Read ((TPM_CC)0x0000014E) #define TPM2_GetCapability ((TPM_CC)0x0000017A) @@ -50,6 +54,10 @@ #define TPM_PT_PERMANENT (PT_VAR + 0) #define TPM_PT_STARTUP_CLEAR (PT_VAR + 1) +/* TPM startup types. */ +#define TPM_SU_CLEAR ((TPM_SU)0x0000) +#define TPM_SU_STATE ((TPM_SU)0x0001) + typedef uint8_t TPMI_YES_NO; typedef uint32_t TPM_CC; typedef uint32_t TPM_HANDLE; @@ -57,6 +65,7 @@ typedef TPM_HANDLE TPMI_RH_NV_INDEX; typedef TPM_HANDLE TPMI_RH_ENABLES; typedef uint32_t TPM_CAP; typedef uint32_t TPM_PT; +typedef uint16_t TPM_SU; typedef struct { uint16_t size; @@ -117,6 +126,18 @@ struct tpm2_get_capability_cmd { uint32_t property_count; }; +struct tpm2_self_test_cmd { + TPMI_YES_NO full_test; +}; + +struct tpm2_startup_cmd { + TPM_SU startup_type; +}; + +struct tpm2_shutdown_cmd { + TPM_SU shutdown_type; +}; + /* Common command/response header. */ struct tpm_header { uint16_t tpm_tag; |