summaryrefslogtreecommitdiffstats
path: root/src/usr/runtime/hdatservice.H
diff options
context:
space:
mode:
authorDan Crowell <dcrowell@us.ibm.com>2013-11-19 15:01:57 -0600
committerA. Patrick Williams III <iawillia@us.ibm.com>2013-12-03 13:46:55 -0600
commit73f53442ca13fdfef1225fa0e761e066c3623454 (patch)
treef871b9b9349485375571c8be7cb7afbad4258c1a /src/usr/runtime/hdatservice.H
parent80a4cd4e48d52cac3dc3a8a93bc4c243aec8777c (diff)
downloadtalos-hostboot-73f53442ca13fdfef1225fa0e761e066c3623454.tar.gz
talos-hostboot-73f53442ca13fdfef1225fa0e761e066c3623454.zip
Return actual size of MDRT in message to DUMP
Change-Id: I813b9853e765f91c777e265600d08be44c9aad52 CQ: SW235398 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/7339 Tested-by: Jenkins Server Reviewed-by: Michael Baiocchi <baiocchi@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/runtime/hdatservice.H')
-rw-r--r--src/usr/runtime/hdatservice.H38
1 files changed, 23 insertions, 15 deletions
diff --git a/src/usr/runtime/hdatservice.H b/src/usr/runtime/hdatservice.H
index 4743f0da1..78bd55fff 100644
--- a/src/usr/runtime/hdatservice.H
+++ b/src/usr/runtime/hdatservice.H
@@ -244,38 +244,46 @@ namespace RUNTIME
hdatSpira_t* iv_spiraS;
/**
- * Count of number of MDRT entries present
- * on MPIPL/Dump. A value of 0 implies it
- * doesn't need to be written
+ * Save the actual count value for sections
+ * -Used to keep track of things across HDAT writes
+ * from FSP
*/
- uint16_t iv_mdrtCnt;
+ uint16_t iv_actuals[RUNTIME::LAST_SECTION+1];
- public:
/**
- * @brief Update the actual count of MDRT. Called by dump
- * and needs to be saved away till populate_attributes. Can't
- * be directly written by dump since FSP will load new value over
+ * Dummy value for unassigned actual
+ */
+ enum {
+ ACTUAL_NOT_SET = 0xFFFF
+ };
+ public:
+ /**
+ * @brief Store the actual count of a section.
+ *
+ * @param[in] i_section Chunk of data to update
* @param[in] i_count Actual count for MDRT entries
*
*/
- void updateMdrtCount( uint16_t i_count )
+ void saveActualCount( RUNTIME::SectionId i_id,
+ uint16_t i_count )
{
- iv_mdrtCnt = i_count;
+ iv_actuals[i_id] = i_count;
}
/**
- * @brief Write the MDRT stored value to SPIRA
+ * @brief Write the stored actual count to SPIRA
+ *
+ * @param[in] i_section Chunk of data to update
*
* @return errlHndl_t NULL on success
*/
- errlHndl_t writeMdrtCount( void )
+ errlHndl_t writeActualCount( RUNTIME::SectionId i_id )
{
errlHndl_t l_err = NULL;
- if(iv_mdrtCnt)
+ if(iv_actuals[i_id] != ACTUAL_NOT_SET)
{
- l_err = updateHostDataSectionActual(
- MS_DUMP_RESULTS_TBL,iv_mdrtCnt);
+ l_err = updateHostDataSectionActual( i_id, iv_actuals[i_id] );
}
return l_err;
}
OpenPOWER on IntegriCloud