diff options
author | Dan Crowell <dcrowell@us.ibm.com> | 2013-11-19 15:01:57 -0600 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2013-12-03 13:46:55 -0600 |
commit | 73f53442ca13fdfef1225fa0e761e066c3623454 (patch) | |
tree | f871b9b9349485375571c8be7cb7afbad4258c1a /src/usr/runtime/hdatservice.H | |
parent | 80a4cd4e48d52cac3dc3a8a93bc4c243aec8777c (diff) | |
download | talos-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.H | 38 |
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; } |