summaryrefslogtreecommitdiffstats
path: root/src/include/usr/secureboot
diff options
context:
space:
mode:
authorChris Engel <cjengel@us.ibm.com>2015-08-03 16:01:14 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2015-12-11 11:17:32 -0600
commite914974751a5125cff6fa7078399db6f3aac5641 (patch)
tree4f50b6677a2a0111f98884813ff7e028459bcca2 /src/include/usr/secureboot
parent0cbd52585b9013430efeaeed6b4c38f6122eea98 (diff)
downloadtalos-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.H14
-rw-r--r--src/include/usr/secureboot/trustedbootif.H5
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
OpenPOWER on IntegriCloud