diff options
author | Chris Engel <cjengel@us.ibm.com> | 2015-08-03 16:01:14 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2015-12-11 11:17:32 -0600 |
commit | e914974751a5125cff6fa7078399db6f3aac5641 (patch) | |
tree | 4f50b6677a2a0111f98884813ff7e028459bcca2 /src/include/usr/secureboot | |
parent | 0cbd52585b9013430efeaeed6b4c38f6122eea98 (diff) | |
download | talos-hostboot-e914974751a5125cff6fa7078399db6f3aac5641.tar.gz talos-hostboot-e914974751a5125cff6fa7078399db6f3aac5641.zip |
Trustedboot: Additional commands in trusted boot init sequence
- getCap FW Version
- TPM Command marshal/unmarshal code
Change-Id: Ia9a90b1160c9c3b5d818318771bff21eb013bdf4
RTC: 125287
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/20056
Tested-by: Jenkins Server
Tested-by: Jenkins OP Build CI
Reviewed-by: STEPHEN M. CPREK <smcprek@us.ibm.com>
Reviewed-by: Timothy R. Block <block@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/include/usr/secureboot')
-rw-r--r-- | src/include/usr/secureboot/trustedboot_reasoncodes.H | 14 | ||||
-rw-r--r-- | src/include/usr/secureboot/trustedbootif.H | 5 |
2 files changed, 16 insertions, 3 deletions
diff --git a/src/include/usr/secureboot/trustedboot_reasoncodes.H b/src/include/usr/secureboot/trustedboot_reasoncodes.H index 53fb6f8fc..4ee9a16e1 100644 --- a/src/include/usr/secureboot/trustedboot_reasoncodes.H +++ b/src/include/usr/secureboot/trustedboot_reasoncodes.H @@ -33,7 +33,11 @@ namespace TRUSTEDBOOT { MOD_HOST_UPDATE_MASTER_TPM = 0x00, MOD_TPM_INITIALIZE = 0x01, - }; + MOD_TPM_CMD_STARTUP = 0x02, + MOD_TPM_CMD_GETCAPFWVERSION = 0x03, + MOD_TPM_MARSHALCMDDATA = 0x04, + MOD_TPM_UNMARSHALRESPDATA = 0x05, + }; enum TRUSTEDReasonCode { @@ -41,6 +45,14 @@ namespace TRUSTEDBOOT RC_TPM_START_FAIL = SECURE_COMP_ID | 0xA0, RC_TPM_EXISTENCE_FAIL = SECURE_COMP_ID | 0xA1, + RC_TPM_GETCAP_FAIL = SECURE_COMP_ID | 0xA2, + RC_TPM_GETCAP_FW_INVALID_RESP = SECURE_COMP_ID | 0xA3, + RC_TPM_GETCAP2_FAIL = SECURE_COMP_ID | 0xA4, + RC_TPM_GETCAP2_FW_INVALID_RESP = SECURE_COMP_ID | 0xA5, + RC_TPM_MARSHAL_INVALID_CMD = SECURE_COMP_ID | 0xA6, + RC_TPM_MARSHALING_FAIL = SECURE_COMP_ID | 0xA7, + RC_TPM_UNMARSHAL_INVALID_CMD = SECURE_COMP_ID | 0xA8, + RC_TPM_UNMARSHALING_FAIL = SECURE_COMP_ID | 0xA9, }; } diff --git a/src/include/usr/secureboot/trustedbootif.H b/src/include/usr/secureboot/trustedbootif.H index d59cd1e14..dea32b959 100644 --- a/src/include/usr/secureboot/trustedbootif.H +++ b/src/include/usr/secureboot/trustedbootif.H @@ -45,13 +45,14 @@ namespace TRUSTEDBOOT TARGETING::Target* nodeTarget; ///< Node target ptr TPMDD::tpm_chip_types_t chip; ///< Chip Pri vs Backup uint8_t initAttempted:1;///< Has TPM init been run + uint8_t available:1; ///< Is TPM physically in system uint8_t failed:1; ///< Is TPM currently failed mutex_t tpmMutex; ///< TPM Mutex TpmTarget(); }; - /// TPM PCR designations + /// TPM PCR designations enum TPM_Pcr { PCR_0 = 0, @@ -73,7 +74,7 @@ namespace TRUSTEDBOOT void* host_update_master_tpm( void *io_pArgs ); /** - * @brief Extend a measurement into the TPMs and log + * @brief Extend a measurement into the TPMs and log atomically * @param[in] i_pcr PCR to write to * @param[in] i_digest Digest value to write to PCR * @param[in] i_digestSize Byte size of i_digest data |