summaryrefslogtreecommitdiffstats
path: root/src/include/usr
diff options
context:
space:
mode:
authorJaymes Wilks <mjwilks@us.ibm.com>2018-03-08 16:30:41 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-04-06 12:30:40 -0400
commitbe53610329532c64c3a924db343c0d474079b95d (patch)
treec3f3e95129ad545d5be44e59bb3d42124d8251cb /src/include/usr
parentd5ba4627b254190f6b37ee487b3be1951c056e08 (diff)
downloadtalos-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.H1
-rw-r--r--src/include/usr/mbox/mbox_queues.H1
-rw-r--r--src/include/usr/runtime/runtime.H14
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
OpenPOWER on IntegriCloud