diff options
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.rule | 27 |
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 ); +}; + |