diff options
author | Jaymes Wilks <mjwilks@us.ibm.com> | 2018-03-08 16:30:41 -0600 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2018-04-06 12:30:40 -0400 |
commit | be53610329532c64c3a924db343c0d474079b95d (patch) | |
tree | c3f3e95129ad545d5be44e59bb3d42124d8251cb /src/include/usr | |
parent | d5ba4627b254190f6b37ee487b3be1951c056e08 (diff) | |
download | talos-hostboot-be53610329532c64c3a924db343c0d474079b95d.tar.gz talos-hostboot-be53610329532c64c3a924db343c0d474079b95d.zip |
Propagate TPM information into HDAT on non-master nodes
Extends HDAT population to add TPM data to all functional nodes
- Added message sends from the master to each node
- Each node updates # of instances, sizes of structures, etc.
- Each node navigates to its appropriate offset in HDAT
- HDAT now populates entries for all TPMs in the blueprint
- Physical presence interaction mechanism is master-only obtained
- TPM SRTM and DRTM logs are no longer interlaced between TPM info
- Single node workaround reverted
Change-Id: Ic77cbeb7ba3d35a9f02ba68525ed79f27159e9bf
RTC:167290
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/55283
Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: ILYA SMIRNOV <ismirno@us.ibm.com>
Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/include/usr')
-rw-r--r-- | src/include/usr/mbox/ipc_msg_types.H | 1 | ||||
-rw-r--r-- | src/include/usr/mbox/mbox_queues.H | 1 | ||||
-rw-r--r-- | src/include/usr/runtime/runtime.H | 14 |
3 files changed, 14 insertions, 2 deletions
diff --git a/src/include/usr/mbox/ipc_msg_types.H b/src/include/usr/mbox/ipc_msg_types.H index 7009c01d1..59582fa9f 100644 --- a/src/include/usr/mbox/ipc_msg_types.H +++ b/src/include/usr/mbox/ipc_msg_types.H @@ -42,6 +42,7 @@ namespace IPC IPC_CLOSE_TCES, IPC_FREQ_ATTR_DATA, // frequency attribute data from master to other drawers + IPC_POPULATE_TPM_INFO_BY_NODE, }; }; // namespace IPC diff --git a/src/include/usr/mbox/mbox_queues.H b/src/include/usr/mbox/mbox_queues.H index 5b76c51f8..d431099ef 100644 --- a/src/include/usr/mbox/mbox_queues.H +++ b/src/include/usr/mbox/mbox_queues.H @@ -56,6 +56,7 @@ namespace MBOX HB_SBE_SYSCONFIG_MSGQ = 12, //For SBE System Config response HB_CLOSE_TCES_MSGQ = 13, // close/disable TCEs HB_FREQ_ATTR_DATA_MSGQ = 14, // freq attributes data from master to all other drawers + HB_POP_TPM_INFO_MSGQ = 15, // response to populate TPM info by node // Add HB mbox msg queue ids (services) before this line HB_LAST_VALID_MSGQ, // end of valid HB mbox msgQ ids diff --git a/src/include/usr/runtime/runtime.H b/src/include/usr/runtime/runtime.H index fdb8e9a49..4613b1d73 100644 --- a/src/include/usr/runtime/runtime.H +++ b/src/include/usr/runtime/runtime.H @@ -121,11 +121,21 @@ errlHndl_t populate_hbSecurebootData( void ); errlHndl_t populate_hbTpmInfo( void ); /** - * @brief Fills in Tpm Info in HDAT for current node + * @brief Fills in Tpm Info in HDAT for node passed in to the specified HDAT + * instance + * + * @param[in] i_instance - the instance number to use to populate the current + * node's data into HDAT, as directed by the master node. + * This function is typically called upon receiving a + * message of type IPC_POPULATE_TPM_INFO_BY_NODE, which + * provides the instance to use as an MBOX parameter. Each + * node must have a unique instance number, but beyond that + * there is no guaranteed direct correlation between nodes + * and instances at all. * * @return errlHndl_t nullptr on success else pointer to error log */ -errlHndl_t populate_TpmInfoByNode(); +errlHndl_t populate_TpmInfoByNode(const uint64_t i_instance); /** * @brief Timer function for safe error handling in sendSBESystemConfig |