diff options
author | Bilicon Patil <bilpatil@in.ibm.com> | 2013-12-31 01:19:51 -0600 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2014-01-15 13:38:15 -0600 |
commit | e91a4bcf3d4a30aa5b7750f01036c969cf26d79c (patch) | |
tree | 60f7be47a52862cbfd7517fa10daa4a352ed31cc /src/usr | |
parent | c04465ebb93eee015d3ef1d6868a72c4726d4b3f (diff) | |
download | talos-hostboot-e91a4bcf3d4a30aa5b7750f01036c969cf26d79c.tar.gz talos-hostboot-e91a4bcf3d4a30aa5b7750f01036c969cf26d79c.zip |
PRD: Update for changes to Centaur RAS Spreadsheet(v43)
Change-Id: Ie7541191f8a87c17a07c29be6322291938fe9fc5
RTC: 86495
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/7874
Tested-by: Jenkins Server
Reviewed-by: Zane Shelley <zshelle@us.ibm.com>
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/8063
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr')
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); } |