summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/usr/hwas/common/hwas.C17
-rw-r--r--src/usr/hwas/common/hwasCallout.C4
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;
OpenPOWER on IntegriCloud