diff options
author | Andres Lugo-Reyes <aalugore@us.ibm.com> | 2018-06-14 14:43:33 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2018-06-28 22:46:43 -0400 |
commit | cf258fcfb753bafcfac0659ded5f312c793d047d (patch) | |
tree | b5eeba5e34946ec888c66fd80e73e81375a74e64 /src/usr/htmgt | |
parent | 5015187c64ab52d41bb94992e7d288a897476ead (diff) | |
download | talos-hostboot-cf258fcfb753bafcfac0659ded5f312c793d047d.tar.gz talos-hostboot-cf258fcfb753bafcfac0659ded5f312c793d047d.zip |
HTMGT: WOF Reset Disable Flag
Change-Id: Ia4c8b0342b668a150f1f79c49f9c7bba2614ca34
RTC:192844
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/61148
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: Christopher J. Cain <cjcain@us.ibm.com>
Reviewed-by: Sheldon Bailey <baileysh@us.ibm.com>
Reviewed-by: Martha Broyles <mbroyles@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/htmgt')
-rw-r--r-- | src/usr/htmgt/htmgt_cfgdata.C | 6 | ||||
-rw-r--r-- | src/usr/htmgt/htmgt_occ.C | 9 | ||||
-rw-r--r-- | src/usr/htmgt/htmgt_utility.H | 3 | ||||
-rw-r--r-- | src/usr/htmgt/occError.C | 24 |
4 files changed, 31 insertions, 11 deletions
diff --git a/src/usr/htmgt/htmgt_cfgdata.C b/src/usr/htmgt/htmgt_cfgdata.C index 20cff5a52..ef9915160 100644 --- a/src/usr/htmgt/htmgt_cfgdata.C +++ b/src/usr/htmgt/htmgt_cfgdata.C @@ -1579,8 +1579,10 @@ bool check_wof_support(uint16_t & o_nominal, } else if( largest_wof_reset_count >= WOF_RESET_COUNT_THRESHOLD ) { - TMGT_INF("WOF reset count reached for OCC%d. WOF disabled.", - occ_instance); + TMGT_INF("WOF reset count reached for " + "OCC%d count: %d. WOF disabled.", + occ_instance, + largest_wof_reset_count ); G_wofSupported = false; o_ultra = WOF_RESET_COUNT_REACHED; } diff --git a/src/usr/htmgt/htmgt_occ.C b/src/usr/htmgt/htmgt_occ.C index 28f862a04..8c081f2f6 100644 --- a/src/usr/htmgt/htmgt_occ.C +++ b/src/usr/htmgt/htmgt_occ.C @@ -192,8 +192,13 @@ namespace HTMGT uint8_t cmdData[2]; cmdData[0] = OCC_RESET_CMD_VERSION; - TMGT_INF("resetPrep: OCC%d (failed=%c, reset count=%d)", - iv_instance, iv_failed?'y':'n', iv_resetCount); + TMGT_INF("resetPrep: OCC%d (failed=%c, reset count=%d)" + " reset reason=0x%x", + iv_instance, + iv_failed?'y':'n', + iv_resetCount, + iv_resetReason); + if(iv_failed) { cmdData[1] = OCC_RESET_FAIL_THIS_OCC; diff --git a/src/usr/htmgt/htmgt_utility.H b/src/usr/htmgt/htmgt_utility.H index b773d624b..e119a611a 100644 --- a/src/usr/htmgt/htmgt_utility.H +++ b/src/usr/htmgt/htmgt_utility.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2014,2017 */ +/* Contributors Listed Below - COPYRIGHT 2014,2018 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -131,6 +131,7 @@ namespace HTMGT enum internalFlagTypes { FLAG_HALT_ON_OCC_SRC = 0x00800000, // Prevent resets after SRC + FLAG_WOF_RESET_DISABLED = 0x00001000, // Disable ONLY WOF resets FLAG_DISABLE_MEM_CONFIG = 0x00000800, // Disable sending mem config FLAG_HALT_ON_RESET_FAIL = 0x00000100, // Stop additional resets FLAG_EXT_RESET_DISABLED = 0x00000080, // Ignore opal-prd/BMC resets diff --git a/src/usr/htmgt/occError.C b/src/usr/htmgt/occError.C index 37bd6595c..15e8a48bb 100644 --- a/src/usr/htmgt/occError.C +++ b/src/usr/htmgt/occError.C @@ -133,6 +133,8 @@ namespace HTMGT // 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 if( iv_wofResetCount < (WOF_RESET_COUNT_THRESHOLD-1) ) @@ -400,20 +402,30 @@ namespace HTMGT } // end Occ::elogAddCallout() - void Occ::elogProcessActions(const uint8_t i_actions, bool & o_occReset, ERRORLOG::errlSeverity_t & o_errlSeverity) { if (i_actions & TMGT_ERRL_ACTIONS_WOF_RESET_REQUIRED) { - o_occReset = true; iv_failed = false; - iv_needsWofReset = true; iv_resetReason = OCC_RESET_REASON_WOF_REQUEST; - - TMGT_INF("elogProcessActions: OCC%d requested a WOF reset", - iv_instance); + // Check if WOF resets are disabled + if(int_flags_set(FLAG_WOF_RESET_DISABLED) == true) + { + o_occReset = false; + iv_needsWofReset = false; + TMGT_INF("elogProcessActions: OCC%d requested a WOF reset " + "but WOF resets are DISABLED", + iv_instance); + } + else // WOF resets are enabled + { + o_occReset = true; + iv_needsWofReset = true; + TMGT_INF("elogProcessActions: OCC%d requested a WOF reset", + iv_instance); + } } else { |