diff options
author | Andres Lugo-Reyes <aalugore@us.ibm.com> | 2018-06-27 11:21:53 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2018-07-24 11:25:09 -0500 |
commit | d1c85ffcab108ee526f5a0c91ce3c15996541633 (patch) | |
tree | cdd4c9f2398c28fe2478bd55fb0abfa248c8ff20 /src/usr/htmgt/occError.C | |
parent | 98e6e05479d562eb91cf5436bd8bea6256a88bb9 (diff) | |
download | talos-hostboot-d1c85ffcab108ee526f5a0c91ce3c15996541633.tar.gz talos-hostboot-d1c85ffcab108ee526f5a0c91ce3c15996541633.zip |
HTMGT: Save WOF reset reasons across all WOF resets
-Add query command to retrieve these reset reasons
Change-Id: I55436031b73eff95ec7e69020050dad556f4809a
RTC:192844
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/61903
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Martha Broyles <mbroyles@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: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/htmgt/occError.C')
-rw-r--r-- | src/usr/htmgt/occError.C | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/src/usr/htmgt/occError.C b/src/usr/htmgt/occError.C index 15e8a48bb..e491009d6 100644 --- a/src/usr/htmgt/occError.C +++ b/src/usr/htmgt/occError.C @@ -109,6 +109,11 @@ namespace HTMGT TMGT_BIN("OCC ELOG", l_occElog, 256); + + // Get user details section + const occErrlUsrDtls_t *l_usrDtls_ptr = (occErrlUsrDtls_t *) + ((uint8_t*)l_occElog + sizeof(occErrlEntry_t)); + const uint32_t l_occSrc = OCCC_COMP_ID | l_occElog->reasonCode; ERRORLOG::errlSeverity_t severity = ERRORLOG::ERRL_SEV_INFORMATIONAL; @@ -130,13 +135,27 @@ namespace HTMGT bool l_occReset = false; elogProcessActions(l_occElog->actions, l_occReset, severity); + + + // Need to add WOF reason code to OCC object regardless of + // whether WOF resets are disabled. + if( l_occElog->actions & TMGT_ERRL_ACTIONS_WOF_RESET_REQUIRED ) + { + iv_wofResetReasons |= l_usrDtls_ptr->userData1; + TMGT_ERR("WOF Reset Reasons for OCC%d = 0x%08x", + iv_instance, + iv_wofResetReasons); + + } + // Check if we need a WOF requested reset if(iv_needsWofReset == true) { TMGT_ERR("WOF Reset detected! SRC = 0x%X", l_occSrc); + // We compare against one less than the threshold because - // the WOF reset count doesnt get incremented until resetPrep + // the WOF reset count doesn't get incremented until resetPrep if( iv_wofResetCount < (WOF_RESET_COUNT_THRESHOLD-1) ) { // Not at WOF reset threshold yet. Set sev to INFO @@ -156,8 +175,6 @@ namespace HTMGT // srcs which have similar uniqueness // NOTE: SRC tags are NOT required here as these logs will get // parsed with the OCC src tags - const occErrlUsrDtls_t *l_usrDtls_ptr = (occErrlUsrDtls_t *) - ((uint8_t*)l_occElog + sizeof(occErrlEntry_t)); bldErrLog(l_errlHndl, (htmgtModuleId)(l_usrDtls_ptr->modId & 0x00FF), (htmgtReasonCode)l_occSrc, // occ reason code |