diff options
-rw-r--r-- | src/usr/hwas/common/hwas.C | 17 | ||||
-rw-r--r-- | src/usr/hwas/common/hwasCallout.C | 4 |
2 files changed, 19 insertions, 2 deletions
diff --git a/src/usr/hwas/common/hwas.C b/src/usr/hwas/common/hwas.C index bc42b4140..396a42e68 100644 --- a/src/usr/hwas/common/hwas.C +++ b/src/usr/hwas/common/hwas.C @@ -1923,11 +1923,17 @@ void presentByAssoc(TargetInfoVector& io_funcTargets, o_targToDeconfig.push_back(l_curTargetInfo); // Remove target from funcTargets io_funcTargets.erase(it); + + //Just erased current MCBIST, MCA/MCS index invalid + l_MCAIndex = __INT_MAX__; + l_MCSIndex = __INT_MAX__; } // Update MCBIST Index else { l_MCBISTIndex = i; + l_MCAIndex = __INT_MAX__; //New MCBIST, MCA index invalid + l_MCSIndex = __INT_MAX__; //New MCBIST, MCS index invalid i++; continue; } @@ -1960,6 +1966,7 @@ void presentByAssoc(TargetInfoVector& io_funcTargets, else { l_MCSIndex = i; + l_MCAIndex = __INT_MAX__; //New MCS, MCA index invalid i++; continue; } @@ -1972,6 +1979,8 @@ void presentByAssoc(TargetInfoVector& io_funcTargets, if ( l_MCBISTIndex != __INT_MAX__ ) { i = l_MCBISTIndex; + l_MCAIndex = __INT_MAX__; //New MCBIST, MCA index invalid + l_MCSIndex = __INT_MAX__; //New MCBIST, MCS index invalid } // Backtrack to beginning if no MCS has been seen yet else @@ -2114,12 +2123,18 @@ void presentByAssoc(TargetInfoVector& io_funcTargets, o_targToDeconfig.push_back(l_curTargetInfo); // Remove target from funcTargets io_funcTargets.erase(it); + l_MCAIndex = __INT_MAX__; //MCA removed, MCA index invalid // Backtrack to last MCS if ( l_MCSIndex != __INT_MAX__ ) { i = l_MCSIndex; } - // Backtrack to beginning if no MCS has been seen yet + // Backtrack to last MCBIST + else if ( l_MCBISTIndex != __INT_MAX__ ) + { + i = l_MCBISTIndex; + } + // Backtrack to beginning if no MCBIST has been seen yet else { i = 0; diff --git a/src/usr/hwas/common/hwasCallout.C b/src/usr/hwas/common/hwasCallout.C index c93cf6c32..bdaaea2f5 100644 --- a/src/usr/hwas/common/hwasCallout.C +++ b/src/usr/hwas/common/hwasCallout.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2012,2015 */ +/* Contributors Listed Below - COPYRIGHT 2012,2016 */ /* [+] Google Inc. */ /* [+] International Business Machines Corp. */ /* */ @@ -49,6 +49,8 @@ namespace HWAS #ifdef __HOSTBOOT_RUNTIME // defined in hwas.C HWAS_TD_t g_trac_imp_hwas = NULL; // important - slow TRAC_INIT(&g_trac_imp_hwas, "HWAS_I", KILOBYTE ); +HWAS_TD_t g_trac_dbg_hwas = NULL; // fast debug +TRAC_INIT(&g_trac_dbg_hwas, "HWAS", KILOBYTE ); #endif using namespace HWAS::COMMON; |