summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/prdf/common/plat/p9/p9_ec_actions.rule
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/diag/prdf/common/plat/p9/p9_ec_actions.rule')
-rw-r--r--src/usr/diag/prdf/common/plat/p9/p9_ec_actions.rule27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/usr/diag/prdf/common/plat/p9/p9_ec_actions.rule b/src/usr/diag/prdf/common/plat/p9/p9_ec_actions.rule
index 0a7ff0273..8000b84c3 100644
--- a/src/usr/diag/prdf/common/plat/p9/p9_ec_actions.rule
+++ b/src/usr/diag/prdf/common/plat/p9/p9_ec_actions.rule
@@ -28,3 +28,30 @@ actionclass self_level2_th_5perHour
callout2ndLvlMed;
threshold5phour;
};
+
+###############################################################################
+# Core checkstop action classes
+###############################################################################
+actionclass analyzeThisCore
+{
+ funccall("CheckCoreCheckstop");
+ analyze(gCOREFIR);
+};
+
+actionclass returnFailure
+{
+ funccall("ReturnFailure");
+};
+
+# Core checkstop is only supported on PHYP systems. PHYP only supports
+# fused-cores. When a normal core checkstops, its fused-core neighbor will
+# checkstop along with it. Both cores will end up reporting core checkstop
+# attentions. This actionclass checks if this core's fused-core neighbor has the
+# real Core checkstop that we should be analyzing. If so, we will return a
+# failing RC so that the analysis will continue to the next chip at attention
+actionclass analyzeCOREFIR
+{
+ try( funccall("neighborCoreCS"), analyzeThisCore );
+ try( funccall("notNeighborCoreCS"), returnFailure );
+};
+
OpenPOWER on IntegriCloud