summaryrefslogtreecommitdiffstats
path: root/src/usr/htmgt
diff options
context:
space:
mode:
authorAndres Lugo-Reyes <aalugore@us.ibm.com>2018-06-14 14:43:33 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-06-28 22:46:43 -0400
commitcf258fcfb753bafcfac0659ded5f312c793d047d (patch)
treeb5eeba5e34946ec888c66fd80e73e81375a74e64 /src/usr/htmgt
parent5015187c64ab52d41bb94992e7d288a897476ead (diff)
downloadtalos-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.C6
-rw-r--r--src/usr/htmgt/htmgt_occ.C9
-rw-r--r--src/usr/htmgt/htmgt_utility.H3
-rw-r--r--src/usr/htmgt/occError.C24
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
{
OpenPOWER on IntegriCloud