summaryrefslogtreecommitdiffstats
path: root/src/usr/htmgt/occError.C
diff options
context:
space:
mode:
authorAndres Lugo-Reyes <aalugore@us.ibm.com>2018-06-27 11:21:53 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-07-24 11:25:09 -0500
commitd1c85ffcab108ee526f5a0c91ce3c15996541633 (patch)
treecdd4c9f2398c28fe2478bd55fb0abfa248c8ff20 /src/usr/htmgt/occError.C
parent98e6e05479d562eb91cf5436bd8bea6256a88bb9 (diff)
downloadtalos-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.C23
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
OpenPOWER on IntegriCloud