summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/prdf/common
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/diag/prdf/common')
-rwxr-xr-xsrc/usr/diag/prdf/common/framework/service/prdfTargetServices.H1
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/CommonActions.rule30
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Mba.rule34
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Membuf_acts_MEM.rule8
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Membuf_acts_NEST.rule259
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Membuf_acts_TP.rule21
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Proc_acts_ABUS.rule13
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Proc_acts_PB.rule88
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Proc_acts_TP.rule15
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Proc_acts_XBUS.rule49
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/prdfCenMba.C14
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/prdfCenMembuf.C14
-rw-r--r--src/usr/diag/prdf/common/plat/pegasus/prdfP8Ex.C13
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/prdfP8Mcs.C16
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/prdfP8Proc.C12
15 files changed, 311 insertions, 276 deletions
diff --git a/src/usr/diag/prdf/common/framework/service/prdfTargetServices.H b/src/usr/diag/prdf/common/framework/service/prdfTargetServices.H
index ba3bb7670..a924facf7 100755
--- a/src/usr/diag/prdf/common/framework/service/prdfTargetServices.H
+++ b/src/usr/diag/prdf/common/framework/service/prdfTargetServices.H
@@ -67,6 +67,7 @@ enum PositionBounds
MAX_MBA_PER_MEMBUF = 2,
MAX_PORT_PER_MBA = 2,
MAX_DIMM_PER_PORT = 2,
+ MAX_L4_PER_MEMBUF = 1,
INVALID_POSITION_BOUND = 0xffffffff,
};
diff --git a/src/usr/diag/prdf/common/plat/pegasus/CommonActions.rule b/src/usr/diag/prdf/common/plat/pegasus/CommonActions.rule
index 1f343d63c..6ca7a1aa3 100755
--- a/src/usr/diag/prdf/common/plat/pegasus/CommonActions.rule
+++ b/src/usr/diag/prdf/common/plat/pegasus/CommonActions.rule
@@ -92,15 +92,26 @@ actionclass thresholdOnNode
};
################################################################################
-# Threshold and Mask
+# Threshold and Mask policy
################################################################################
-/** actionclass Threshold and Mask if not in mnfg mode */
-actionclass threshold32pDayAndMask
+
+/**
+ * Threshold 32/day (field) and 1 (mnfg). Do not predictively callout on
+ * threshold in the field, instead just mask.
+ */
+actionclass thresholdAndMask
{
threshold32pday;
funccall("ClearServiceCallFlag");
};
+/** Callout self with "Threshold and Mask" policy. */
+actionclass thresholdAndMask_self
+{
+ calloutSelfMed;
+ thresholdAndMask;
+};
+
################################################################################
# Special Flags #
################################################################################
@@ -162,15 +173,13 @@ actionclass SelfHighThr1
actionclass SelfMedThr1UE
{
- calloutSelfMed;
- threshold1;
+ SelfMedThr1;
SUEGenerationPoint;
};
actionclass SelfHighThr1UE
{
- calloutSelfHigh;
- threshold1;
+ SelfHighThr1;
SUEGenerationPoint;
};
@@ -240,6 +249,13 @@ actionclass callout2ndLvlMedThr1
threshold1;
};
+/** Callout 2nd Level Medium, set SUE generation point */
+actionclass callout2ndLvlMedThr1UE
+{
+ callout2ndLvlMedThr1;
+ SUEGenerationPoint;
+};
+
################################################################################
# Dump Types #
################################################################################
diff --git a/src/usr/diag/prdf/common/plat/pegasus/Mba.rule b/src/usr/diag/prdf/common/plat/pegasus/Mba.rule
index e6593d656..ff38c7fcf 100755
--- a/src/usr/diag/prdf/common/plat/pegasus/Mba.rule
+++ b/src/usr/diag/prdf/common/plat/pegasus/Mba.rule
@@ -5,7 +5,7 @@
#
# IBM CONFIDENTIAL
#
-# COPYRIGHT International Business Machines Corp. 2012,2013
+# COPYRIGHT International Business Machines Corp. 2012,2014
#
# p1
#
@@ -497,7 +497,7 @@ group gMbaFir filter singlebit
/** MBAFIR[7]
* MBAFIRQ_WRD_CAW2_DATA_CE_UE_ERR
*/
- (MbaFir, bit(7)) ? SelfMedThr1;
+ (MbaFir, bit(7)) ? SelfMedThr1UE;
/** MBAFIR[8:14]
* Reserved
@@ -507,12 +507,12 @@ group gMbaFir filter singlebit
/** MBAFIR[15]
* MBAFIRQ_INTERNAL_SCOM_ERROR
*/
- (MbaFir, bit(15)) ? defaultMaskedError;
+ (MbaFir, bit(15)) ? thresholdAndMask_self;
/** MBAFIR[16]
* MBAFIRQ_INTERNAL_SCOM_ERROR_CLONE
*/
- (MbaFir, bit(16)) ? defaultMaskedError;
+ (MbaFir, bit(16)) ? thresholdAndMask_self;
};
################################################################################
@@ -531,32 +531,32 @@ group gMbaSecureFir filter singlebit
/** MBASECUREFIR[0]
* MBASIRQ_INVALID_MBA_CAL0Q_ACCESS
*/
- (MbaSecureFir, bit(0)) ? TBDDefaultCallout;
+ (MbaSecureFir, bit(0)) ? callout2ndLvlMedThr1UE;
/** MBASECUREFIR[1]
* MBASIRQ_INVALID_MBA_CAL1Q_ACCESS
*/
- (MbaSecureFir, bit(1)) ? TBDDefaultCallout;
+ (MbaSecureFir, bit(1)) ? callout2ndLvlMedThr1UE;
/** MBASECUREFIR[2]
* MBASIRQ_INVALID_MBA_CAL2Q_ACCESS
*/
- (MbaSecureFir, bit(2)) ? TBDDefaultCallout;
+ (MbaSecureFir, bit(2)) ? callout2ndLvlMedThr1UE;
/** MBASECUREFIR[3]
* MBASIRQ_INVALID_MBA_CAL3Q_ACCESS
*/
- (MbaSecureFir, bit(3)) ? TBDDefaultCallout;
+ (MbaSecureFir, bit(3)) ? callout2ndLvlMedThr1UE;
/** MBASECUREFIR[4]
* MBASIRQ_INVALID_DDR_CONFIG_REG_ACCESS
*/
- (MbaSecureFir, bit(4)) ? TBDDefaultCallout;
+ (MbaSecureFir, bit(4)) ? callout2ndLvlMedThr1UE;
/** MBASECUREFIR[5]
* MBASIRQ_INVALID_SIR_MASK_OR_ACTION_REGISTER_ACCESS
*/
- (MbaSecureFir, bit(5)) ? TBDDefaultCallout;
+ (MbaSecureFir, bit(5)) ? callout2ndLvlMedThr1UE;
};
################################################################################
@@ -603,7 +603,7 @@ group gMbaDdrPhyFir filter singlebit
/** MBADDRPHYFIR[53]
* PHY01_DDRPHY_FIR_REG_DDR01_FIR_PARITY_ERR
*/
- (MbaDdrPhyFir, bit(53)) ? defaultMaskedError;
+ (MbaDdrPhyFir, bit(53)) ? thresholdAndMask_self;
/** MBADDRPHYFIR[54:55]
* Reserved
@@ -698,7 +698,7 @@ group gMbaCalFir filter singlebit
/** MBACALFIR[9]
* MBACALFIRQ_MBA_WRD_UE
*/
- (MbaCalFir, bit(9)) ? SelfMedThr1;
+ (MbaCalFir, bit(9)) ? SelfMedThr1UE;
/** MBACALFIR[10]
* MBACALFIRQ_MBA_WRD_CE
@@ -708,7 +708,7 @@ group gMbaCalFir filter singlebit
/** MBACALFIR[11]
* MBACALFIRQ_MBA_MAINT_UE
*/
- (MbaCalFir, bit(11)) ? SelfMedThr1;
+ (MbaCalFir, bit(11)) ? SelfMedThr1UE;
/** MBACALFIR[12]
* MBACALFIRQ_MBA_MAINT_CE
@@ -728,7 +728,7 @@ group gMbaCalFir filter singlebit
/** MBACALFIR[15]
* MBACALFIRQ_WRQ_DATA_UE
*/
- (MbaCalFir, bit(15)) ? SelfMedThr1;
+ (MbaCalFir, bit(15)) ? SelfMedThr1UE;
/** MBACALFIR[16]
* MBACALFIRQ_WRQ_DATA_SUE
@@ -748,17 +748,17 @@ group gMbaCalFir filter singlebit
/** MBACALFIR[19]
* MBACALFIRQ_WRD_SCOM_ERROR
*/
- (MbaCalFir, bit(19)) ? defaultMaskedError;
+ (MbaCalFir, bit(19)) ? thresholdAndMask_self;
/** MBACALFIR[20]
* MBACALFIRQ_INTERNAL_SCOM_ERROR
*/
- (MbaCalFir, bit(20)) ? defaultMaskedError;
+ (MbaCalFir, bit(20)) ? thresholdAndMask_self;
/** MBACALFIR[21]
* MBACALFIRQ_INTERNAL_SCOM_ERROR_COPY
*/
- (MbaCalFir, bit(21)) ? defaultMaskedError;
+ (MbaCalFir, bit(21)) ? thresholdAndMask_self;
};
###############################################################################
diff --git a/src/usr/diag/prdf/common/plat/pegasus/Membuf_acts_MEM.rule b/src/usr/diag/prdf/common/plat/pegasus/Membuf_acts_MEM.rule
index 11c2741d6..5aa5874db 100755
--- a/src/usr/diag/prdf/common/plat/pegasus/Membuf_acts_MEM.rule
+++ b/src/usr/diag/prdf/common/plat/pegasus/Membuf_acts_MEM.rule
@@ -5,7 +5,7 @@
#
# IBM CONFIDENTIAL
#
-# COPYRIGHT International Business Machines Corp. 2012,2013
+# COPYRIGHT International Business Machines Corp. 2012,2014
#
# p1
#
@@ -123,9 +123,7 @@ group gMemLFir filter singlebit
/** MEM_LFIR[0]
* CFIR internal parity error
*/
- #TODO via RTC 23125
- # bit is not defined in RAS spreadsheet
- (MemLFir, bit(0)) ? TBDDefaultCallout;
+ (MemLFir, bit(0)) ? thresholdAndMask_self;
/** MEM_LFIR[1]
* Local errors from GPIO (PCB error)
@@ -140,7 +138,7 @@ group gMemLFir filter singlebit
/** MEM_LFIR[3]
* Local errors from CC (OPCG, parity, scan collision, ...)
*/
- (MemLFir, bit(3)) ? SelfMedThr1;
+ (MemLFir, bit(3)) ? defaultMaskedError;
/** MEM_LFIR[4]
* Local errors from PSC (PCB error)
diff --git a/src/usr/diag/prdf/common/plat/pegasus/Membuf_acts_NEST.rule b/src/usr/diag/prdf/common/plat/pegasus/Membuf_acts_NEST.rule
index 0dec080a9..9cf6a075f 100755
--- a/src/usr/diag/prdf/common/plat/pegasus/Membuf_acts_NEST.rule
+++ b/src/usr/diag/prdf/common/plat/pegasus/Membuf_acts_NEST.rule
@@ -5,7 +5,7 @@
#
# IBM CONFIDENTIAL
#
-# COPYRIGHT International Business Machines Corp. 2012,2013
+# COPYRIGHT International Business Machines Corp. 2012,2014
#
# p1
#
@@ -100,9 +100,7 @@ group gNestLFir filter singlebit
/** NEST_LFIR[0]
* CFIR internal parity error
*/
- #TODO via RTC 23125
- # bit is not defined in RAS spreadsheet
- (NestLFir, bit(0)) ? TBDDefaultCallout;
+ (NestLFir, bit(0)) ? thresholdAndMask_self;
/** NEST_LFIR[1]
* Local errors from GPIO (PCB error)
@@ -117,7 +115,7 @@ group gNestLFir filter singlebit
/** NEST_LFIR[3]
* Local errors from CC (OPCG, parity, scan collision, ...)
*/
- (NestLFir, bit(3)) ? SelfMedThr1;
+ (NestLFir, bit(3)) ? defaultMaskedError;
/** NEST_LFIR[4]
* Local errors from PSC (PCB error)
@@ -129,19 +127,15 @@ group gNestLFir filter singlebit
*/
(NestLFir, bit(5)) ? defaultMaskedError;
- #TODO via RTC 23125
- # bit is defined in RAS spreadsheet but some question are present there.
/** NEST_LFIR[6]
* Local errors from Thermal (parity error)
*/
- (NestLFir, bit(6)) ? SelfMedThr1;
+ (NestLFir, bit(6)) ? defaultMaskedError;
- #TODO via RTC 23125
- # bit is defined in RAS spreadsheet but some question are present there.
/** NEST_LFIR[7]
* Local errors from Thermal (PCB error)
*/
- (NestLFir, bit(7)) ? SelfMedThr1;
+ (NestLFir, bit(7)) ? defaultMaskedError;
/** NEST_LFIR[8:10]
* Local errors from Thermal (Trip error)
@@ -176,12 +170,12 @@ group gDmiFir filter singlebit
/** DMIFIR[0]
* FIR_RX_INVALID_STATE_OR_PARITY_ERROR
*/
- (DmiFir, bit(0)) ? defaultMaskedError;
+ (DmiFir, bit(0)) ? SelfHighThr1;
/** DMIFIR[1]
* FIR_TX_INVALID_STATE_OR_PARITY_ERROR
*/
- (DmiFir, bit(1)) ? defaultMaskedError;
+ (DmiFir, bit(1)) ? SelfHighThr1;
/** DMIFIR[2]
* FIR_GCR_HANG_ERROR
@@ -216,7 +210,7 @@ group gDmiFir filter singlebit
/** DMIFIR[12]
* Too Many Bus Errors
*/
- (DmiFir, bit(12)) ? defaultMaskedError;
+ (DmiFir, bit(12)) ? thresholdAndMask_dmiBus;
/** DMIFIR[13:15]
* Reserved
@@ -246,12 +240,12 @@ group gDmiFir filter singlebit
/** DMIFIR[48]
* FIR_SCOMFIR_ERROR
*/
- (DmiFir, bit(48)) ? defaultMaskedError;
+ (DmiFir, bit(48)) ? thresholdAndMask_self;
/** DMIFIR[49]
* FIR_SCOMFIR_ERROR_CLONE
*/
- (DmiFir, bit(49)) ? defaultMaskedError;
+ (DmiFir, bit(49)) ? thresholdAndMask_self;
};
################################################################################
@@ -270,122 +264,127 @@ group gScacFir filter singlebit
/** SCACFIR[0]
* SCAC_LFIR_I2CMINVADDR
*/
- (ScacFir, bit(0)) ? TBDDefaultCallout;
+ (ScacFir, bit(0)) ? defaultMaskedError;
/** SCACFIR[1]
* SCAC_LFIR_I2CMINVWRITE
*/
- (ScacFir, bit(1)) ? TBDDefaultCallout;
+ (ScacFir, bit(1)) ? defaultMaskedError;
/** SCACFIR[2]
* SCAC_LFIR_I2CMINVREAD
*/
- (ScacFir, bit(2)) ? TBDDefaultCallout;
+ (ScacFir, bit(2)) ? defaultMaskedError;
/** SCACFIR[3]
* SCAC_LFIR_I2CMAPAR
*/
- (ScacFir, bit(3)) ? TBDDefaultCallout;
+ (ScacFir, bit(3)) ? defaultMaskedError;
/** SCACFIR[4]
* SCAC_LFIR_I2CMPAR
*/
- (ScacFir, bit(4)) ? TBDDefaultCallout;
+ (ScacFir, bit(4)) ? defaultMaskedError;
/** SCACFIR[5]
* SCAC_LFIR_I2CMLBPAR
*/
- (ScacFir, bit(5)) ? TBDDefaultCallout;
+ (ScacFir, bit(5)) ? defaultMaskedError;
+
+ /** SCACFIR[6:9]
+ * Expansion (Reserved at 0 for exernal macro expansion reporting)
+ */
+ (ScacFir, bit(6|7|8|9)) ? defaultMaskedError;
/** SCACFIR[10]
* SCAC_LFIR_I2CMINVCMD
*/
- (ScacFir, bit(10)) ? TBDDefaultCallout;
+ (ScacFir, bit(10)) ? defaultMaskedError;
/** SCACFIR[11]
* SCAC_LFIR_I2CMPERR
*/
- (ScacFir, bit(11)) ? TBDDefaultCallout;
+ (ScacFir, bit(11)) ? defaultMaskedError;
/** SCACFIR[12]
* SCAC_LFIR_I2CMOVERRUN
*/
- (ScacFir, bit(12)) ? TBDDefaultCallout;
+ (ScacFir, bit(12)) ? defaultMaskedError;
/** SCACFIR[13]
* SCAC_LFIR_I2CMACCESS
*/
- (ScacFir, bit(13)) ? TBDDefaultCallout;
+ (ScacFir, bit(13)) ? defaultMaskedError;
/** SCACFIR[14]
* SCAC_LFIR_I2CMARB
*/
- (ScacFir, bit(14)) ? TBDDefaultCallout;
+ (ScacFir, bit(14)) ? defaultMaskedError;
/** SCACFIR[15]
* SCAC_LFIR_I2CMNACK
*/
- (ScacFir, bit(15)) ? TBDDefaultCallout;
+ (ScacFir, bit(15)) ? defaultMaskedError;
/** SCACFIR[16]
* SCAC_LFIR_I2CMSTOP
*/
- (ScacFir, bit(16)) ? TBDDefaultCallout;
+ (ScacFir, bit(16)) ? defaultMaskedError;
/** SCACFIR[17]
* SCAC_LFIR_LOCALPIB1
*/
- (ScacFir, bit(17)) ? TBDDefaultCallout;
+ (ScacFir, bit(17)) ? defaultMaskedError;
/** SCACFIR[18]
* SCAC_LFIR_LOCALPIB2
*/
- (ScacFir, bit(18)) ? TBDDefaultCallout;
+ (ScacFir, bit(18)) ? defaultMaskedError;
/** SCACFIR[19]
* SCAC_LFIR_LOCALPIB3
*/
- (ScacFir, bit(19)) ? TBDDefaultCallout;
+ (ScacFir, bit(19)) ? defaultMaskedError;
/** SCACFIR[20]
* SCAC_LFIR_LOCALPIB4
*/
- (ScacFir, bit(20)) ? TBDDefaultCallout;
+ (ScacFir, bit(20)) ? defaultMaskedError;
/** SCACFIR[21]
* SCAC_LFIR_LOCALPIB5
*/
- (ScacFir, bit(21)) ? TBDDefaultCallout;
+ (ScacFir, bit(21)) ? defaultMaskedError;
/** SCACFIR[22]
* SCAC_LFIR_LOCALPIB6
*/
- (ScacFir, bit(22)) ? TBDDefaultCallout;
+ (ScacFir, bit(22)) ? defaultMaskedError;
/** SCACFIR[23]
* SCAC_LFIR_LOCALPIB7
*/
- (ScacFir, bit(23)) ? TBDDefaultCallout;
+ (ScacFir, bit(23)) ? defaultMaskedError;
/** SCACFIR[24]
* SCAC_LFIR_STALLERROR
*/
- (ScacFir, bit(24)) ? TBDDefaultCallout;
+ (ScacFir, bit(24)) ? defaultMaskedError;
/** SCACFIR[25]
* SCAC_LFIR_REGPARERR
*/
- (ScacFir, bit(25)) ? TBDDefaultCallout;
+ (ScacFir, bit(25)) ? SelfMedThr1UE;
/** SCACFIR[26]
* SCAC_LFIR_REGPARERRX
*/
- (ScacFir, bit(26)) ? TBDDefaultCallout;
+ (ScacFir, bit(26)) ? SelfMedThr1UE;
/** SCACFIR[32]
* SCAC_LFIR_SMERR
*/
- (ScacFir, bit(32)) ? TBDDefaultCallout;
+ (ScacFir, bit(32)) ? SelfMedThr1;
/** SCACFIR[33]
* SCAC_LFIR_REGACCERR
@@ -395,17 +394,17 @@ group gScacFir filter singlebit
/** SCACFIR[34]
* SCAC_LFIR_RESETERR
*/
- (ScacFir, bit(34)) ? TBDDefaultCallout;
+ (ScacFir, bit(34)) ? defaultMaskedError;
/** SCACFIR[35]
* SCAC_LFIR_INTERNAL_SCOM_ERROR
*/
- (ScacFir, bit(35)) ? TBDDefaultCallout;
+ (ScacFir, bit(35)) ? thresholdAndMask_self;
/** SCACFIR[36]
* SCAC_LFIR_INTERNAL_SCOM_ERROR_CLONE
*/
- (ScacFir, bit(36)) ? TBDDefaultCallout;
+ (ScacFir, bit(36)) ? thresholdAndMask_self;
};
################################################################################
@@ -515,7 +514,7 @@ group gMbiFir filter singlebit
/** MBIFIR[18]
* MBIFIRQ_MULTIPLE_REPLAY
*/
- (MbiFir, bit(18)) ? defaultMaskedError;
+ (MbiFir, bit(18)) ? thresholdAndMask_dmiBus;
/** MBIFIR[19]
* MBIFIRQ_MBICFG_PARITY_SCOM_ERROR
@@ -535,12 +534,12 @@ group gMbiFir filter singlebit
/** MBIFIR[25]
* MBIFIRQ_INTERNAL_SCOM_ERROR_CLONE
*/
- (MbiFir, bit(25)) ? defaultMaskedError;
+ (MbiFir, bit(25)) ? thresholdAndMask_self;
/** MBIFIR[26]
* MBIFIRQ_INTERNAL_SCOM_ERROR_CLONE_COPY
*/
- (MbiFir, bit(26)) ? defaultMaskedError;
+ (MbiFir, bit(26)) ? thresholdAndMask_self;
};
################################################################################
@@ -589,7 +588,7 @@ group gMbsFir filter singlebit
/** MBSFIR[6]
* MBS_FIR_REG_INT_BUFFER_UE
*/
- (MbsFir, bit(6)) ? SelfMedThr1;
+ (MbsFir, bit(6)) ? SelfMedThr1UE;
/** MBSFIR[7]
* MBS_FIR_REG_INT_BUFFER_SUE
@@ -610,7 +609,7 @@ group gMbsFir filter singlebit
/** MBSFIR[10]
* MBS_FIR_REG_CACHE_SRW_UE
*/
- (MbsFir, bit(10)) ? clearSecMbsBitsAndSelfMedThr1;
+ (MbsFir, bit(10)) ? clearSecMbsBitsAndConnL4UE;
/** MBSFIR[11]
* MBS_FIR_REG_CACHE_SRW_SUE
@@ -626,7 +625,7 @@ group gMbsFir filter singlebit
/** MBSFIR[13]
* MBS_FIR_REG_CACHE_CO_UE
*/
- (MbsFir, bit(13)) ? clearSecMbaCalBitsAndSelfMedThr1;
+ (MbsFir, bit(13)) ? clearSecMbaCalBitsAndConnL4UE;
/** MBSFIR[14]
* MBS_FIR_REG_CACHE_CO_SUE
@@ -636,12 +635,12 @@ group gMbsFir filter singlebit
/** MBSFIR[15]
* MBS_FIR_REG_DIR_CE
*/
- (MbsFir, bit(15)) ? SelfMedThr32PerDay;
+ (MbsFir, bit(15)) ? L4CalloutMedThr32PerDay;
/** MBSFIR[16]
* MBS_FIR_REG_DIR_UE
*/
- (MbsFir, bit(16)) ? SelfMedThr1UE;
+ (MbsFir, bit(16)) ? L4CalloutMedThr1UE;
/** MBSFIR[17]
* MBS_FIR_REG_DIR_MEMBER_DELETED
@@ -651,17 +650,17 @@ group gMbsFir filter singlebit
/** MBSFIR[18]
* MBS_FIR_REG_DIR_ALL_MEMBERS_DELETED
*/
- (MbsFir, bit(18)) ? SelfMedThr1UE;
+ (MbsFir, bit(18)) ? L4CalloutMedThr1UE;
/** MBSFIR[19]
* MBS_FIR_REG_LRU_ERROR
*/
- (MbsFir, bit(19)) ? SelfMedThr32PerDay;
+ (MbsFir, bit(19)) ? L4CalloutMedThr32PerDay;
/** MBSFIR[20]
* MBS_FIR_REG_EDRAM_ERROR
*/
- (MbsFir, bit(20)) ? SelfMedThr1UE;
+ (MbsFir, bit(20)) ? L4CalloutMedThr1UE;
/** MBSFIR[21]
* MBS_FIR_REG_EMERGENCY_THROTTLE_SET
@@ -696,7 +695,7 @@ group gMbsFir filter singlebit
/** MBSFIR[27]
* MBS_FIR_REG_SRB_BUFFER_UE
*/
- (MbsFir, bit(27)) ? SelfMedThr1;
+ (MbsFir, bit(27)) ? SelfMedThr1UE;
/** MBSFIR[28]
* MBS_FIR_REG_SRB_BUFFER_SUE
@@ -706,12 +705,12 @@ group gMbsFir filter singlebit
/** MBSFIR[29]
* MBS_FIR_REG_INTERNAL_SCOM_ERROR
*/
- (MbsFir, bit(29)) ? defaultMaskedError;
+ (MbsFir, bit(29)) ? thresholdAndMask_self;
/** MBSFIR[30]
* MBS_FIR_REG_INTERNAL_SCOM_ERROR_COPY
*/
- (MbsFir, bit(30)) ? defaultMaskedError;
+ (MbsFir, bit(30)) ? thresholdAndMask_self;
};
################################################################################
@@ -994,62 +993,62 @@ group gMbsEccFir filter priority(19,41) # UEs highest priority
/** MBA0_MBSECCFIR[46]
* MBECCFIR_RECOVERABLE_CONFIGURATION_REGISTER_PARITY_ERROR
*/
- (Mba0_MbsEccFir, bit(46)) ? SelfMedThr1;
+ (Mba0_MbsEccFir, bit(46)) ? MBA0CalloutMedThr1;
/** MBA1_MBSECCFIR[46]
* MBECCFIR_RECOVERABLE_CONFIGURATION_REGISTER_PARITY_ERROR
*/
- (Mba1_MbsEccFir, bit(46)) ? SelfMedThr1;
+ (Mba1_MbsEccFir, bit(46)) ? MBA1CalloutMedThr1;
/** MBA0_MBSECCFIR[47]
* MBECCFIR_UNRECOVERABLE_CONFIGURATION_REGISTER_PARITY_ERROR
*/
- (Mba0_MbsEccFir, bit(47)) ? SelfMedThr1UE;
+ (Mba0_MbsEccFir, bit(47)) ? MBA0CalloutMedThr1UE;
/** MBA1_MBSECCFIR[47]
* MBECCFIR_UNRECOVERABLE_CONFIGURATION_REGISTER_PARITY_ERROR
*/
- (Mba1_MbsEccFir, bit(47)) ? SelfMedThr1UE;
+ (Mba1_MbsEccFir, bit(47)) ? MBA1CalloutMedThr1UE;
/** MBA0_MBSECCFIR[48]
* MBECCFIR_MASKABLE_CONFIGURATION_REGISTER_PARITY_ERROR
*/
- (Mba0_MbsEccFir, bit(48)) ? defaultMaskedError;
+ (Mba0_MbsEccFir, bit(48)) ? thresholdAndMask_mba0;
/** MBA1_MBSECCFIR[48]
* MBECCFIR_MASKABLE_CONFIGURATION_REGISTER_PARITY_ERROR
*/
- (Mba1_MbsEccFir, bit(48)) ? defaultMaskedError;
+ (Mba1_MbsEccFir, bit(48)) ? thresholdAndMask_mba1;
/** MBA0_MBSECCFIR[49]
* MBECCFIR_ECC_DATAPATH_PARITY_ERROR
*/
- (Mba0_MbsEccFir, bit(49)) ? SelfMedThr1UE;
+ (Mba0_MbsEccFir, bit(49)) ? MBA0CalloutMedThr1UE;
/** MBA1_MBSECCFIR[49]
* MBECCFIR_ECC_DATAPATH_PARITY_ERROR
*/
- (Mba1_MbsEccFir, bit(49)) ? SelfMedThr1UE;
+ (Mba1_MbsEccFir, bit(49)) ? MBA1CalloutMedThr1UE;
/** MBA0_MBSECCFIR[50]
* MBECCFIR_INTERNAL_SCOM_ERROR
*/
- (Mba0_MbsEccFir, bit(50)) ? defaultMaskedError;
+ (Mba0_MbsEccFir, bit(50)) ? thresholdAndMask_mba0;
/** MBA1_MBSECCFIR[50]
* MBECCFIR_INTERNAL_SCOM_ERROR
*/
- (Mba1_MbsEccFir, bit(50)) ? defaultMaskedError;
+ (Mba1_MbsEccFir, bit(50)) ? thresholdAndMask_mba1;
/** MBA0_MBSECCFIR[51]
* MBECCFIR_INTERNAL_SCOM_ERROR_COPY
*/
- (Mba0_MbsEccFir, bit(51)) ? defaultMaskedError;
+ (Mba0_MbsEccFir, bit(51)) ? thresholdAndMask_mba0;
/** MBA1_MBSECCFIR[51]
* MBECCFIR_INTERNAL_SCOM_ERROR_COPY
*/
- (Mba1_MbsEccFir, bit(51)) ? defaultMaskedError;
+ (Mba1_MbsEccFir, bit(51)) ? thresholdAndMask_mba1;
};
################################################################################
@@ -1082,22 +1081,22 @@ group gMcbistFir filter singlebit
/** MBA0_MCBISTFIR[0]
* MBSFIRQ_SCOM_PAR_ERRORS
*/
- (Mba0_McbistFir, bit(0)) ? SelfMedThr1;
+ (Mba0_McbistFir, bit(0)) ? MBA0CalloutMedThr1;
/** MBA1_MCBISTFIR[0]
* MBSFIRQ_SCOM_PAR_ERRORS
*/
- (Mba1_McbistFir, bit(0)) ? SelfMedThr1;
+ (Mba1_McbistFir, bit(0)) ? MBA1CalloutMedThr1;
/** MBA0_MCBISTFIR[1]
* MBSFIRQ_MBX_PAR_ERRORS
*/
- (Mba0_McbistFir, bit(1)) ? SelfMedThr1UE;
+ (Mba0_McbistFir, bit(1)) ? MBA0CalloutMedThr1UE;
/** MBA1_MCBISTFIR[1]
* MBSFIRQ_MBX_PAR_ERRORS
*/
- (Mba1_McbistFir, bit(1)) ? SelfMedThr1UE;
+ (Mba1_McbistFir, bit(1)) ? MBA1CalloutMedThr1UE;
/** MBA0_MCBISTFIR[2:14]
* Reserved
@@ -1112,22 +1111,22 @@ group gMcbistFir filter singlebit
/** MBA0_MCBISTFIR[15]
* MBSFIRQ_INTERNAL_SCOM_ERROR
*/
- (Mba0_McbistFir, bit(15)) ? defaultMaskedError;
+ (Mba0_McbistFir, bit(15)) ? thresholdAndMask_mba0;
/** MBA1_MCBISTFIR[15]
* MBSFIRQ_INTERNAL_SCOM_ERROR
*/
- (Mba1_McbistFir, bit(15)) ? defaultMaskedError;
+ (Mba1_McbistFir, bit(15)) ? thresholdAndMask_mba1;
/** MBA0_MCBISTFIR[16]
* MBSFIRQ_INTERNAL_SCOM_ERROR_CLONE
*/
- (Mba0_McbistFir, bit(16)) ? defaultMaskedError;
+ (Mba0_McbistFir, bit(16)) ? thresholdAndMask_mba0;
/** MBA1_MCBISTFIR[16]
* MBSFIRQ_INTERNAL_SCOM_ERROR_CLONE
*/
- (Mba1_McbistFir, bit(16)) ? defaultMaskedError;
+ (Mba1_McbistFir, bit(16)) ? thresholdAndMask_mba1;
};
################################################################################
@@ -1146,33 +1145,47 @@ group gMbsSecureFir filter singlebit
/** MBSSECUREFIR[0]
* MBSSIRQ_INVALID_MBSXCR_ACCESS
*/
- (MbsSecureFir, bit(0)) ? TBDDefaultCallout;
+ (MbsSecureFir, bit(0)) ? callout2ndLvlMedThr1UE;
/** MBSSECUREFIR[1]
* MBSSIRQ_INVALID_MBAXCR01_ACCESS
*/
- (MbsSecureFir, bit(1)) ? TBDDefaultCallout;
+ (MbsSecureFir, bit(1)) ? callout2ndLvlMedThr1UE;
/** MBSSECUREFIR[2]
* MBSSIRQ_INVALID_MBAXCR23_ACCESS
*/
- (MbsSecureFir, bit(2)) ? TBDDefaultCallout;
+ (MbsSecureFir, bit(2)) ? callout2ndLvlMedThr1UE;
/** MBSSECUREFIR[3]
* MBSSIRQ_INVALID_MBAXCRMS_ACCRESS
*/
- (MbsSecureFir, bit(3)) ? TBDDefaultCallout;
+ (MbsSecureFir, bit(3)) ? callout2ndLvlMedThr1UE;
+
+ /** MBSSECUREFIR[4]
+ * MBSSIRQ_SPARE (Spare)
+ */
+ (MbsSecureFir, bit(4)) ? callout2ndLvlMedThr1UE;
/** MBSSECUREFIR[5]
* MBSSIRQ_INVALID_SIR_MASK_OR_ACTION_REGISTER_ACCESS
*/
- (MbsSecureFir, bit(5)) ? TBDDefaultCallout;
+ (MbsSecureFir, bit(5)) ? callout2ndLvlMedThr1UE;
};
################################################################################
# Actions specific to NEST chiplet
################################################################################
+/** Callout the connected MBA 0 */
+actionclass calloutMba0 { callout(connected(TYPE_MBA, 0), MRU_MED); };
+
+/** Callout the connected MBA 1 */
+actionclass calloutMba1 { callout(connected(TYPE_MBA, 1), MRU_MED); };
+
+/** Callout the connected L4 */
+actionclass calloutL4 { callout(connected(TYPE_L4), MRU_MED); };
+
/** Callout the DMI bus */
actionclass calloutDmiBus
{
@@ -1308,19 +1321,25 @@ actionclass analyzeFetchPreUe0 { funccall("AnalyzeFetchPreUe0"); };
actionclass analyzeFetchPreUe1 { funccall("AnalyzeFetchPreUe1"); };
/** Analyze a fetch UE on MBA0 */
-actionclass analyzeFetchUe0 { funccall("AnalyzeFetchUe0"); threshold1; };
+actionclass analyzeFetchUe0
+{
+ funccall("AnalyzeFetchUe0");
+ threshold1;
+ SUEGenerationPoint;
+};
/** Analyze a fetch UE on MBA1 */
-actionclass analyzeFetchUe1 { funccall("AnalyzeFetchUe1"); threshold1; };
-
-/** Callout 2nd Level Medium, set SUE generation point */
-actionclass callout2ndLvlMedThr1UE
-{ callout2ndLvlMed; threshold1;SUEGenerationPoint; };
+actionclass analyzeFetchUe1
+{
+ funccall("AnalyzeFetchUe1");
+ threshold1;
+ SUEGenerationPoint;
+};
/** Clear MBS SecondaryBits and Line Delete*/
actionclass clearSecMbsBitsAndLineDelete
{
- calloutSelfMed;
+ calloutL4;
threshold( field(32 / day), mfg_file(CEN_L4_CACHE_CES));
funccall("ClearServiceCallFlag");
funccall("ClearMbsSecondaryBits");
@@ -1329,22 +1348,70 @@ actionclass clearSecMbsBitsAndLineDelete
/** Clear MBACAL SecondaryBits and Line Delete*/
actionclass clearSecMbaCalBitsAndLineDelete
{
- calloutSelfMed;
+ calloutL4;
threshold( field(32 / day), mfg_file(CEN_L4_CACHE_CES));
funccall("ClearServiceCallFlag");
funccall("ClearMbaCalSecondaryBits");
};
-/** Clear MBACAL SecondaryBits and Line SelfMedThr1*/
-actionclass clearSecMbaCalBitsAndSelfMedThr1
+/** Clear MBACAL SecondaryBits and callout Connected L4*/
+actionclass clearSecMbaCalBitsAndConnL4UE
{
funccall("ClearMbaCalSecondaryBits");
- SelfMedThr1;
+ calloutL4;
+ SUEGenerationPoint;
};
-/** Clear MBS SecondaryBits and Line SelfMedThr1*/
-actionclass clearSecMbsBitsAndSelfMedThr1
+/** Clear MBS SecondaryBits and callout Connected L4*/
+actionclass clearSecMbsBitsAndConnL4UE
{
funccall("ClearMbsSecondaryBits");
- SelfMedThr1;
+ calloutL4;
+ SUEGenerationPoint;
+};
+
+/** Callout DMI bus with "Threshold and Mask" policy. */
+actionclass thresholdAndMask_dmiBus { calloutDmiBus; thresholdAndMask; };
+
+/** Callout MBA0 with "Threshold and Mask" policy. */
+actionclass thresholdAndMask_mba0 { calloutMba0; thresholdAndMask; };
+
+/** Callout MBA1 with "Threshold and Mask" policy. */
+actionclass thresholdAndMask_mba1 { calloutMba1; thresholdAndMask; };
+
+actionclass L4CalloutMedThr32PerDay
+{
+ calloutL4;
+ threshold32pday;
+};
+
+actionclass L4CalloutMedThr1UE
+{
+ calloutL4;
+ threshold1;
+ SUEGenerationPoint;
+};
+
+actionclass MBA0CalloutMedThr1
+{
+ calloutMba0;
+ threshold1;
+};
+
+actionclass MBA1CalloutMedThr1
+{
+ calloutMba1;
+ threshold1;
+};
+
+actionclass MBA0CalloutMedThr1UE
+{
+ MBA0CalloutMedThr1;
+ SUEGenerationPoint;
+};
+
+actionclass MBA1CalloutMedThr1UE
+{
+ MBA1CalloutMedThr1;
+ SUEGenerationPoint;
};
diff --git a/src/usr/diag/prdf/common/plat/pegasus/Membuf_acts_TP.rule b/src/usr/diag/prdf/common/plat/pegasus/Membuf_acts_TP.rule
index c944630fd..379f22bba 100755
--- a/src/usr/diag/prdf/common/plat/pegasus/Membuf_acts_TP.rule
+++ b/src/usr/diag/prdf/common/plat/pegasus/Membuf_acts_TP.rule
@@ -60,9 +60,7 @@ group gTpLFir filter singlebit
/** TP_LFIR[0]
* CFIR internal parity error
*/
- #TODO via RTC 23125
- # bit is not defined in RAS spreadsheet
- (TpLFir, bit(0)) ? TBDDefaultCallout;
+ (TpLFir, bit(0)) ? thresholdAndMask_self;
/** TP_LFIR[1]
* Local errors from GPIO (PCB error)
@@ -77,7 +75,7 @@ group gTpLFir filter singlebit
/** TP_LFIR[3]
* Local errors from CC (OPCG, parity, scan collision, ...)
*/
- (TpLFir, bit(3)) ? SelfMedThr1;
+ (TpLFir, bit(3)) ? defaultMaskedError;
/** TP_LFIR[4]
* Local errors from PSC (PCB error)
@@ -109,10 +107,15 @@ group gTpLFir filter singlebit
*/
(TpLFir, bit(11|12)) ? defaultMaskedError;
- /** TP_LFIR[13:15]
+ /** TP_LFIR[13:14]
* Local errors from ITR
*/
- (TpLFir, bit(13|14|15)) ? defaultMaskedError;
+ (TpLFir, bit(13|14)) ? thresholdAndMask_self;
+
+ /** TP_LFIR[15]
+ * Local errors from ITR ( itr_tc_pcbsl_slave_fir_err )
+ */
+ (TpLFir, bit(15)) ? defaultMaskedError;
/** TP_LFIR[16:18]
* Local errors from PIB
@@ -135,6 +138,12 @@ group gTpLFir filter singlebit
*/
(TpLFir, bit(20)) ? threshold32pday;
+ /** TP_LFIR[40]
+ * local errors from mem PLL
+ *
+ * Malfunction alert (local xstop in another chiplet)
+ */
+ (TpLFir, bit(40)) ? defaultMaskedError;
};
################################################################################
diff --git a/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_ABUS.rule b/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_ABUS.rule
index d3c79dae6..2414c38a2 100755
--- a/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_ABUS.rule
+++ b/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_ABUS.rule
@@ -351,12 +351,12 @@ group gIoaFir filter singlebit
/** IOAFIR[0]
* FIR_RX_INVALID_STATE_OR_PARITY_ERROR
*/
- (IoaFir, bit(0)) ? thresholdMaskAbus;
+ (IoaFir, bit(0)) ? thresholdAndMask_self;
/** IOAFIR[1]
* FIR_TX_INVALID_STATE_OR_PARITY_ERROR
*/
- (IoaFir, bit(1)) ? thresholdMaskAbus;
+ (IoaFir, bit(1)) ? thresholdAndMask_self;
/** IOAFIR[2]
* FIR_GCR_HANG_ERROR
@@ -541,15 +541,6 @@ actionclass calloutAbus2InterfaceTh5
funccall("ClearServiceCallFlag");
};
-/** Threshold and Mask the abus error in non mnfg environment */
-actionclass thresholdMaskAbus
-{
- # Since we don't know which abus instance has caused the error,
- # so calling out Proc.
- calloutSelfMed;
- threshold32pDayAndMask;
-};
-
/** Lane Repair: spare deployed - ABUS 0 */
actionclass spareDeployed_abus0
{ calloutAbus0Interface; funccall("spareDeployed_abus0"); };
diff --git a/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_PB.rule b/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_PB.rule
index a86ae47ef..13647d1c6 100755
--- a/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_PB.rule
+++ b/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_PB.rule
@@ -2571,12 +2571,12 @@ group gIomcFir_0 filter singlebit
/** IOMCFIR_0[0]
* FIR_RX_INVALID_STATE_OR_PARITY_ERROR
*/
- (IomcFir_0, bit(0)) ? defaultMaskedError;
+ (IomcFir_0, bit(0)) ? SelfHighThr1;
/** IOMCFIR_0[1]
* FIR_TX_INVALID_STATE_OR_PARITY_ERROR
*/
- (IomcFir_0, bit(1)) ? defaultMaskedError;
+ (IomcFir_0, bit(1)) ? SelfHighThr1;
/** IOMCFIR_0[2]
* FIR_GCR_HANG_ERROR
@@ -2611,7 +2611,7 @@ group gIomcFir_0 filter singlebit
/** IOMCFIR_0[12]
* MCS0 Too Many Bus Errors
*/
- (IomcFir_0, bit(12)) ? tooManyBusErrors_dmiBus0;
+ (IomcFir_0, bit(12)) ? thresholdAndMask_dmiBus0;
/** IOMCFIR_0[13:15]
* Reserved
@@ -2641,7 +2641,7 @@ group gIomcFir_0 filter singlebit
/** IOMCFIR_0[20]
* MCS1 Too Many Bus Errors
*/
- (IomcFir_0, bit(20)) ? tooManyBusErrors_dmiBus1;
+ (IomcFir_0, bit(20)) ? thresholdAndMask_dmiBus1;
/** IOMCFIR_0[21:23]
* Reserved
@@ -2671,7 +2671,7 @@ group gIomcFir_0 filter singlebit
/** IOMCFIR_0[28]
* MCS2 Too Many Bus Errors
*/
- (IomcFir_0, bit(28)) ? tooManyBusErrors_dmiBus2;
+ (IomcFir_0, bit(28)) ? thresholdAndMask_dmiBus2;
/** IOMCFIR_0[29:31]
* Reserved
@@ -2701,7 +2701,7 @@ group gIomcFir_0 filter singlebit
/** IOMCFIR_0[36]
* MCS3 Too Many Bus Errors
*/
- (IomcFir_0, bit(36)) ? tooManyBusErrors_dmiBus3;
+ (IomcFir_0, bit(36)) ? thresholdAndMask_dmiBus3;
/** IOMCFIR_0[37:39]
* Reserved
@@ -2740,12 +2740,12 @@ group gIomcFir_1 filter singlebit
/** IOMCFIR_1[0]
* FIR_RX_INVALID_STATE_OR_PARITY_ERROR
*/
- (IomcFir_1, bit(0)) ? defaultMaskedError;
+ (IomcFir_1, bit(0)) ? SelfHighThr1;
/** IOMCFIR_1[1]
* FIR_TX_INVALID_STATE_OR_PARITY_ERROR
*/
- (IomcFir_1, bit(1)) ? defaultMaskedError;
+ (IomcFir_1, bit(1)) ? SelfHighThr1;
/** IOMCFIR_1[2]
* FIR_GCR_HANG_ERROR
@@ -2780,7 +2780,7 @@ group gIomcFir_1 filter singlebit
/** IOMCFIR_1[12]
* MCS4 Too Many Bus Errors
*/
- (IomcFir_1, bit(12)) ? tooManyBusErrors_dmiBus4;
+ (IomcFir_1, bit(12)) ? thresholdAndMask_dmiBus4;
/** IOMCFIR_1[13:15]
* Reserved
@@ -2810,7 +2810,7 @@ group gIomcFir_1 filter singlebit
/** IOMCFIR_1[20]
* MCS5 Too Many Bus Errors
*/
- (IomcFir_1, bit(20)) ? tooManyBusErrors_dmiBus5;
+ (IomcFir_1, bit(20)) ? thresholdAndMask_dmiBus5;
/** IOMCFIR_1[21:23]
* Reserved
@@ -2840,7 +2840,7 @@ group gIomcFir_1 filter singlebit
/** IOMCFIR_1[28]
* MCS6 Too Many Bus Errors
*/
- (IomcFir_1, bit(28)) ? tooManyBusErrors_dmiBus6;
+ (IomcFir_1, bit(28)) ? thresholdAndMask_dmiBus6;
/** IOMCFIR_1[29:31]
* Reserved
@@ -2870,7 +2870,7 @@ group gIomcFir_1 filter singlebit
/** IOMCFIR_1[36]
* MCS7 Too Many Bus Errors
*/
- (IomcFir_1, bit(36)) ? tooManyBusErrors_dmiBus7;
+ (IomcFir_1, bit(36)) ? thresholdAndMask_dmiBus7;
/** IOMCFIR_1[37:39]
* Reserved
@@ -3076,61 +3076,29 @@ actionclass maxSparesExceeded_dmiBus6
actionclass maxSparesExceeded_dmiBus7
{ calloutDmiBus7Th1; funccall("maxSparesExceeded_dmiBus7"); };
-/** Threshold and Mask too many bus errors on dmi bus0*/
-actionclass tooManyBusErrors_dmiBus0
-{
- calloutDmiBus0;
- threshold32pDayAndMask;
-};
+/** Callout DMI bus 0 with "Threshold and Mask" policy. */
+actionclass thresholdAndMask_dmiBus0 { calloutDmiBus0; thresholdAndMask; };
-/** Threshold and Mask too many bus errors on dmi bus1*/
-actionclass tooManyBusErrors_dmiBus1
-{
- calloutDmiBus1;
- threshold32pDayAndMask;
-};
+/** Callout DMI bus 1 with "Threshold and Mask" policy. */
+actionclass thresholdAndMask_dmiBus1 { calloutDmiBus1; thresholdAndMask; };
-/** Threshold and Mask too many bus errors on dmi bus2*/
-actionclass tooManyBusErrors_dmiBus2
-{
- calloutDmiBus2;
- threshold32pDayAndMask;
-};
+/** Callout DMI bus 2 with "Threshold and Mask" policy. */
+actionclass thresholdAndMask_dmiBus2 { calloutDmiBus2; thresholdAndMask; };
-/** Threshold and Mask too many bus errors on dmi bus3*/
-actionclass tooManyBusErrors_dmiBus3
-{
- calloutDmiBus3;
- threshold32pDayAndMask;
-};
+/** Callout DMI bus 3 with "Threshold and Mask" policy. */
+actionclass thresholdAndMask_dmiBus3 { calloutDmiBus3; thresholdAndMask; };
-/** Threshold and Mask too many bus errors on dmi bus4*/
-actionclass tooManyBusErrors_dmiBus4
-{
- calloutDmiBus4;
- threshold32pDayAndMask;
-};
+/** Callout DMI bus 4 with "Threshold and Mask" policy. */
+actionclass thresholdAndMask_dmiBus4 { calloutDmiBus4; thresholdAndMask; };
-/** Threshold and Mask too many bus errors on dmi bus5*/
-actionclass tooManyBusErrors_dmiBus5
-{
- calloutDmiBus5;
- threshold32pDayAndMask;
-};
+/** Callout DMI bus 5 with "Threshold and Mask" policy. */
+actionclass thresholdAndMask_dmiBus5 { calloutDmiBus5; thresholdAndMask; };
-/** Threshold and Mask too many bus errors on dmi bus6*/
-actionclass tooManyBusErrors_dmiBus6
-{
- calloutDmiBus6;
- threshold32pDayAndMask;
-};
+/** Callout DMI bus 6 with "Threshold and Mask" policy. */
+actionclass thresholdAndMask_dmiBus6 { calloutDmiBus6; thresholdAndMask; };
-/** Threshold and Mask too many bus errors on dmi bus7*/
-actionclass tooManyBusErrors_dmiBus7
-{
- calloutDmiBus7;
- threshold32pDayAndMask;
-};
+/** Callout DMI bus 7 with "Threshold and Mask" policy. */
+actionclass thresholdAndMask_dmiBus7 { calloutDmiBus7; thresholdAndMask; };
/** Callout 2nd level support of first instance */
actionclass callout2ndLvlMedThr1
diff --git a/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_TP.rule b/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_TP.rule
index 567b87569..414f46eaf 100755
--- a/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_TP.rule
+++ b/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_TP.rule
@@ -408,7 +408,7 @@ group gOccFir filter singlebit
/** OCCFIR[10]
* OCC_SCOM_OCCFIR_SRT_CE
*/
- (OccFir, bit(10)) ? ThresholdNoCallout;
+ (OccFir, bit(10)) ? thresholdAndMask_self;
/** OCCFIR[11]
* OCC_SCOM_OCCFIR_SRT_READ_ERROR
@@ -553,12 +553,12 @@ group gOccFir filter singlebit
/** OCCFIR[39]
* OCC_SCOM_OCCFIR_C405_ECC_CE
*/
- (OccFir, bit(39)) ? ThresholdNoCallout;
+ (OccFir, bit(39)) ? thresholdAndMask_self;
/** OCCFIR[40]
* OCC_SCOM_OCCFIR_C405_OCI_MACHINECHECK
*/
- (OccFir, bit(40)) ? defaultMaskedError;
+ (OccFir, bit(40)) ? defaultMaskedError;
/** OCCFIR[41]
* OCC_SCOM_OCCFIR_SRAM_SPARE_DIRECT_ERROR0
@@ -1142,15 +1142,6 @@ actionclass analyzeMcs31
analyze(connected(TYPE_MCS, 7));
};
-
-/** In the field, don't callout hw */
-actionclass ThresholdNoCallout
-{
- threshold( field(32 / day), mfg( 1 ) );
- calloutSelfMed;
- funccall("ClearServiceCallFlag");
-};
-
/** PLL error action */
actionclass PllError
{
diff --git a/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_XBUS.rule b/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_XBUS.rule
index 9e81fd878..246c46db6 100755
--- a/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_XBUS.rule
+++ b/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_XBUS.rule
@@ -312,12 +312,12 @@ group gIoxFir_0 filter singlebit
/** IOXFIR_0[0]
* FIR_RX_INVALID_STATE_OR_PARITY_ERROR
*/
- (IoxFir_0, bit(0)) ? thresholdMaskXbus0;
+ (IoxFir_0, bit(0)) ? thresholdAndMask_xbus0;
/** IOXFIR_0[1]
* FIR_TX_INVALID_STATE_OR_PARITY_ERROR
*/
- (IoxFir_0, bit(1)) ? thresholdMaskXbus0;
+ (IoxFir_0, bit(1)) ? thresholdAndMask_xbus0;
/** IOXFIR_0[2]
* FIR_GCR_HANG_ERROR
@@ -405,12 +405,12 @@ group gIoxFir_1 filter singlebit
/** IOXFIR_1[0]
* FIR_RX_INVALID_STATE_OR_PARITY_ERROR
*/
- (IoxFir_1, bit(0)) ? thresholdMaskXbus1;
+ (IoxFir_1, bit(0)) ? thresholdAndMask_xbus1;
/** IOXFIR_1[1]
* FIR_TX_INVALID_STATE_OR_PARITY_ERROR
*/
- (IoxFir_1, bit(1)) ? thresholdMaskXbus1;
+ (IoxFir_1, bit(1)) ? thresholdAndMask_xbus1;
/** IOXFIR_1[2]
* FIR_GCR_HANG_ERROR
@@ -498,12 +498,12 @@ group gIoxFir_2 filter singlebit
/** IOXFIR_2[0]
* FIR_RX_INVALID_STATE_OR_PARITY_ERROR
*/
- (IoxFir_2, bit(0)) ? thresholdMaskXbus2;
+ (IoxFir_2, bit(0)) ? thresholdAndMask_xbus2;
/** IOXFIR_2[1]
* FIR_TX_INVALID_STATE_OR_PARITY_ERROR
*/
- (IoxFir_2, bit(1)) ? thresholdMaskXbus2;
+ (IoxFir_2, bit(1)) ? thresholdAndMask_xbus2;
/** IOXFIR_2[2]
* FIR_GCR_HANG_ERROR
@@ -591,12 +591,12 @@ group gIoxFir_3 filter singlebit
/** IOXFIR_3[0]
* FIR_RX_INVALID_STATE_OR_PARITY_ERROR
*/
- (IoxFir_3, bit(0)) ? thresholdMaskXbus3;
+ (IoxFir_3, bit(0)) ? thresholdAndMask_xbus3;
/** IOXFIR_3[1]
* FIR_TX_INVALID_STATE_OR_PARITY_ERROR
*/
- (IoxFir_3, bit(1)) ? thresholdMaskXbus3;
+ (IoxFir_3, bit(1)) ? thresholdAndMask_xbus3;
/** IOXFIR_3[2]
* FIR_GCR_HANG_ERROR
@@ -796,30 +796,15 @@ actionclass calloutXbus3InterfaceTh5pDay
funccall("ClearServiceCallFlag");
};
-/** Threshold and Mask the xbus0 error in non mnfg environment */
-actionclass thresholdMaskXbus0
-{
- calloutXbus0Interface;
- threshold32pDayAndMask;
-};
+/** Callout XBUS 0 with "Threshold and Mask" policy. */
+actionclass thresholdAndMask_xbus0 { calloutXbus0Interface; thresholdAndMask; };
-/** Threshold and Mask the xbus1 error in non mnfg environment */
-actionclass thresholdMaskXbus1
-{
- calloutXbus1Interface;
- threshold32pDayAndMask;
-};
+/** Callout XBUS 1 with "Threshold and Mask" policy. */
+actionclass thresholdAndMask_xbus1 { calloutXbus1Interface; thresholdAndMask; };
-/** Threshold and Mask the xbus2 error in non mnfg environment */
-actionclass thresholdMaskXbus2
-{
- calloutXbus2Interface;
- threshold32pDayAndMask;
-};
+/** Callout XBUS 2 with "Threshold and Mask" policy. */
+actionclass thresholdAndMask_xbus2 { calloutXbus2Interface; thresholdAndMask; };
+
+/** Callout XBUS 3 with "Threshold and Mask" policy. */
+actionclass thresholdAndMask_xbus3 { calloutXbus3Interface; thresholdAndMask; };
-/** Threshold and Mask the xbus3 error in non mnfg environment */
-actionclass thresholdMaskXbus3
-{
- calloutXbus3Interface;
- threshold32pDayAndMask;
-};
diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfCenMba.C b/src/usr/diag/prdf/common/plat/pegasus/prdfCenMba.C
index dfa43ccd5..0aee4193c 100755
--- a/src/usr/diag/prdf/common/plat/pegasus/prdfCenMba.C
+++ b/src/usr/diag/prdf/common/plat/pegasus/prdfCenMba.C
@@ -162,17 +162,19 @@ int32_t CalloutMbaAndDimm( ExtensibleChip * i_chip,
return o_rc;
}
+//------------------------------------------------------------------------------
+
/**
- * @brief When not in MNFG mode, clear the service call flag so that
- * thresholding will still be done, but not visible errorlog.
- * @param i_chip MemBuf chip
- * @param i_sc service data collector
- * @returns Success
+ * @brief When not in MNFG mode, clear the service call flag so that
+ * thresholding will still be done, but no visible error log committed.
+ * @param i_chip MBA chip
+ * @param i_sc Step code data struct
+ * @returns SUCCESS always
*/
int32_t ClearServiceCallFlag( ExtensibleChip * i_chip,
STEP_CODE_DATA_STRUCT & i_sc )
{
- if( i_sc.service_data->IsAtThreshold() && !mfgMode() )
+ if ( i_sc.service_data->IsAtThreshold() && !mfgMode() )
{
i_sc.service_data->ClearFlag(ServiceDataCollector::SERVICE_CALL);
}
diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfCenMembuf.C b/src/usr/diag/prdf/common/plat/pegasus/prdfCenMembuf.C
index 480169b4d..e0cf9e8b1 100755
--- a/src/usr/diag/prdf/common/plat/pegasus/prdfCenMembuf.C
+++ b/src/usr/diag/prdf/common/plat/pegasus/prdfCenMembuf.C
@@ -1026,17 +1026,19 @@ int32_t checkChnlReplayTimeOut( ExtensibleChip * i_chip,
#undef PRDF_FUNC
} PRDF_PLUGIN_DEFINE( Membuf, checkChnlReplayTimeOut );
+//------------------------------------------------------------------------------
+
/**
- * @brief When not in MNFG mode, clear the service call flag so that
- * thresholding will still be done, but not visible errorlog.
- * @param i_chip The Centaur chip
- * @param i_sc service data collector
- * @returns Success
+ * @brief When not in MNFG mode, clear the service call flag so that
+ * thresholding will still be done, but no visible error log committed.
+ * @param i_chip Centaur chip
+ * @param i_sc Step code data struct
+ * @returns SUCCESS always
*/
int32_t ClearServiceCallFlag( ExtensibleChip * i_chip,
STEP_CODE_DATA_STRUCT & i_sc )
{
- if( i_sc.service_data->IsAtThreshold() && !mfgMode() )
+ if ( i_sc.service_data->IsAtThreshold() && !mfgMode() )
{
i_sc.service_data->ClearFlag(ServiceDataCollector::SERVICE_CALL);
}
diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfP8Ex.C b/src/usr/diag/prdf/common/plat/pegasus/prdfP8Ex.C
index e3cb7b096..109f63ed1 100644
--- a/src/usr/diag/prdf/common/plat/pegasus/prdfP8Ex.C
+++ b/src/usr/diag/prdf/common/plat/pegasus/prdfP8Ex.C
@@ -38,20 +38,22 @@
namespace PRDF
{
+using namespace PlatServices;
+
namespace Ex
{
/**
* @brief When not in MNFG mode, clear the service call flag so that
- * thresholding will still be done, but not visible errorlog.
- * @param i_chip Ex rulechip
- * @param i_sc service data collector
- * @returns Success
+ * thresholding will still be done, but no visible error log committed.
+ * @param i_chip EX chip
+ * @param i_sc Step code data struct
+ * @returns SUCCESS always
*/
int32_t ClearServiceCallFlag( ExtensibleChip * i_chip,
STEP_CODE_DATA_STRUCT & i_sc )
{
- if( i_sc.service_data->IsAtThreshold() && !PlatServices::mfgMode() )
+ if ( i_sc.service_data->IsAtThreshold() && !mfgMode() )
{
i_sc.service_data->ClearFlag(ServiceDataCollector::SERVICE_CALL);
}
@@ -60,7 +62,6 @@ int32_t ClearServiceCallFlag( ExtensibleChip * i_chip,
}
PRDF_PLUGIN_DEFINE( Ex, ClearServiceCallFlag );
-
} // namespace Ex ends
}// namespace PRDF ends
diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfP8Mcs.C b/src/usr/diag/prdf/common/plat/pegasus/prdfP8Mcs.C
index d572847e6..cd2aeb8cc 100755
--- a/src/usr/diag/prdf/common/plat/pegasus/prdfP8Mcs.C
+++ b/src/usr/diag/prdf/common/plat/pegasus/prdfP8Mcs.C
@@ -49,6 +49,8 @@
namespace PRDF
{
+using namespace PlatServices;
+
namespace Mcs
{
@@ -252,17 +254,19 @@ int32_t ClearMbsSecondaryBits( ExtensibleChip * i_chip,
#undef PRDF_FUNC
} PRDF_PLUGIN_DEFINE( Mcs, ClearMbsSecondaryBits );
+//------------------------------------------------------------------------------
+
/**
- * @brief When not in MNFG mode, clear the service call flag so that
- * thresholding will still be done, but not visible errorlog.
- * @param i_chip Mcs rulechip
- * @param i_sc service data collector
- * @returns Success
+ * @brief When not in MNFG mode, clear the service call flag so that
+ * thresholding will still be done, but no visible error log committed.
+ * @param i_chip MCS chip
+ * @param i_sc Step code data struct
+ * @returns SUCCESS always
*/
int32_t ClearServiceCallFlag( ExtensibleChip * i_chip,
STEP_CODE_DATA_STRUCT & i_sc )
{
- if( i_sc.service_data->IsAtThreshold() && !PlatServices::mfgMode() )
+ if ( i_sc.service_data->IsAtThreshold() && !mfgMode() )
{
i_sc.service_data->ClearFlag(ServiceDataCollector::SERVICE_CALL);
}
diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfP8Proc.C b/src/usr/diag/prdf/common/plat/pegasus/prdfP8Proc.C
index 8557867de..899c39064 100755
--- a/src/usr/diag/prdf/common/plat/pegasus/prdfP8Proc.C
+++ b/src/usr/diag/prdf/common/plat/pegasus/prdfP8Proc.C
@@ -552,16 +552,16 @@ PLUGIN_PHB_CONFIGURED( 2 )
//------------------------------------------------------------------------------
/**
- * @brief When not in MNFG mode, clear the service call flag so that
- * thresholding will still be done, but not visible errorlog.
- * @param i_chip P8 chip
- * @param i_sc service data collector
- * @returns Success
+ * @brief When not in MNFG mode, clear the service call flag so that
+ * thresholding will still be done, but no visible error log committed.
+ * @param i_chip P8 chip
+ * @param i_sc Step code data struct
+ * @returns SUCCESS always
*/
int32_t ClearServiceCallFlag( ExtensibleChip * i_chip,
STEP_CODE_DATA_STRUCT & i_sc )
{
- if( i_sc.service_data->IsAtThreshold() && !mfgMode() )
+ if ( i_sc.service_data->IsAtThreshold() && !mfgMode() )
{
i_sc.service_data->ClearFlag(ServiceDataCollector::SERVICE_CALL);
}
OpenPOWER on IntegriCloud