diff options
author | Prem Shanker Jha <premjha2@in.ibm.com> | 2013-04-19 01:24:53 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2013-06-11 09:11:38 -0500 |
commit | b3ec9ee42b932f75f20d0f4408346c07975b1eb0 (patch) | |
tree | f1f18931b68849911ff5540fb74b8686420b7c3c /src/usr/diag/prdf | |
parent | 25a05966a93786736212b4f35aa84929423a48e4 (diff) | |
download | talos-hostboot-b3ec9ee42b932f75f20d0f4408346c07975b1eb0.tar.gz talos-hostboot-b3ec9ee42b932f75f20d0f4408346c07975b1eb0.zip |
PRDF:Fir Update after Ras review
- PB EAST
- PB WEST
- PB CENTER
- MCIFIR
- PBES
- PCIE
- PCINESTFIR_x
RTC: 23127
Change-Id: Idf8c44222c541e6ac9b2fad95f6851ce4f372cc6
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/4227
Tested-by: Jenkins Server
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Reviewed-by: Zane Shelley <zshelle@us.ibm.com>
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/4936
Diffstat (limited to 'src/usr/diag/prdf')
9 files changed, 665 insertions, 278 deletions
diff --git a/src/usr/diag/prdf/common/framework/rule/prdrCompile.C b/src/usr/diag/prdf/common/framework/rule/prdrCompile.C index e6ec51503..6ad1ab940 100755 --- a/src/usr/diag/prdf/common/framework/rule/prdrCompile.C +++ b/src/usr/diag/prdf/common/framework/rule/prdrCompile.C @@ -475,6 +475,7 @@ uint32_t prdrActionArgMap(const std::string & i_arg) g_ActionArgMap["TYPE_MCS"] = TARGETING::TYPE_MCS; g_ActionArgMap["TYPE_MEMBUF"] = TARGETING::TYPE_MEMBUF; g_ActionArgMap["TYPE_MBA"] = TARGETING::TYPE_MBA; + g_ActionArgMap["TYPE_PCI"] = TARGETING::TYPE_PCI; // Initialize symbolic callouts. for ( SymCallout_t * i = symCalloutArray; NULL != i->str; i++ ) diff --git a/src/usr/diag/prdf/common/framework/service/prdfTargetServices.C b/src/usr/diag/prdf/common/framework/service/prdfTargetServices.C index 1a9e5b219..53652a9e5 100755 --- a/src/usr/diag/prdf/common/framework/service/prdfTargetServices.C +++ b/src/usr/diag/prdf/common/framework/service/prdfTargetServices.C @@ -95,7 +95,7 @@ TARGETING::TargetHandle_t getTarget( const TARGETING::EntityPath & i_path ) TargetHandle_t o_target = targetService().toTarget( i_path ); if ( NULL == o_target ) { - PRDF_ERR( "[getTarget] Failed: i_path=" ); i_path.dump(); + PRDF_ERR( "[getTarget] Failed: i_path = " ); i_path.dump(); } return o_target; diff --git a/src/usr/diag/prdf/common/plat/pegasus/CommonActions.rule b/src/usr/diag/prdf/common/plat/pegasus/CommonActions.rule index 760f0b5f3..6a30df0e2 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/CommonActions.rule +++ b/src/usr/diag/prdf/common/plat/pegasus/CommonActions.rule @@ -23,8 +23,12 @@ ################################################################################ # This file is intended to create a common set of actionclasses for all rule -# files. Simply add the following line at the top the actionclass section of -# each rule file. +# files. These actionclasses will be created for all rule files, regardless if +# they are actually used. Please limit this file to relatively common actions. +# Otherwise, it will cause unwanted code size and memory usage. +# +# Simply add the following line at the top the actionclass section of each rule +# file: # # .include "CommonActions.rule" # @@ -32,7 +36,7 @@ ################################################################################ ################################################################################ -# Thresholds and Flags # +# Thresholds # ################################################################################ # Threshold syntax: @@ -66,9 +70,16 @@ actionclass threshold32pday threshold( field(32 / day) ); }; -actionclass SUEGenerationPoint +/** Threshold of 5 per hour */ +actionclass threshold5phour { - flag(UERE); + threshold( field(5 / hour) ); +}; + +/** Threshold of 5 per day */ +actionclass threshold5pday +{ + threshold( field(5 / day) ); }; /** Threshold OnNode Bus CE */ @@ -77,25 +88,47 @@ actionclass thresholdOnNode threshold( field(32 / day), mfg_file(P8CHIP_ONNODE_BUS_CES)); }; +################################################################################ +# Special Flags # +################################################################################ + +/** Set SUE generation point */ +actionclass SUEGenerationPoint +{ + flag(UERE); +}; ################################################################################ # Simple Callouts # ################################################################################ -/** Callout 2nd Level Support, priority medium */ +# Callout self +actionclass calloutSelfHigh { callout(MRU_HIGH); }; +actionclass calloutSelfMed { callout(MRU_MED); }; +actionclass calloutSelfMedA { callout(MRU_MEDA); }; +actionclass calloutSelfLow { callout(MRU_LOW); }; + +# 2nd Level Support actionclass callout2ndLvlMed -{ - callout(procedure(NextLevelSupport_ENUM), MRU_MED); -}; +{ callout(procedure(NextLevelSupport_ENUM), MRU_MED); }; + +actionclass callout2ndLvlLow +{ callout(procedure(NextLevelSupport_ENUM), MRU_LOW); }; + +################################################################################ +# Callouts with thresholds # +################################################################################ -actionclass calloutSelfMed +actionclass calloutParentProcMedThr1 { - callout(MRU_MED); + callout(connected(TYPE_PROC),MRU_MED); + threshold1; }; -actionclass calloutSelfLow +actionclass calloutParentProcHighThr1 { - callout(MRU_LOW); + callout(connected(TYPE_PROC),MRU_HIGH); + threshold1; }; actionclass SelfMedThr1 @@ -104,6 +137,12 @@ actionclass SelfMedThr1 threshold1; }; +actionclass SelfHighThr1 +{ + calloutSelfHigh; + threshold1; +}; + actionclass SelfMedThr1UE { calloutSelfMed; @@ -111,6 +150,13 @@ actionclass SelfMedThr1UE SUEGenerationPoint; }; +actionclass SelfHighThr1UE +{ + calloutSelfHigh; + threshold1; + SUEGenerationPoint; +}; + actionclass SelfLowLevel2MedThr1 { calloutSelfLow; @@ -124,16 +170,22 @@ actionclass SelfMedThr32PerDay threshold32pday; }; -actionclass calloutSelfMedThr1 +actionclass SelfMedThr5PerHour { calloutSelfMed; - threshold1; + threshold5phour; }; -actionclass CalloutLevel2Thr1 +actionclass SelfHighThr5PerHour { - callout2ndLvlMed; - threshold1; + calloutSelfHigh; + threshold5phour; +}; + +actionclass SelfHighThr32PerDay +{ + calloutSelfHigh; + threshold32pday; }; actionclass calloutSelfAndLevel2MedThr1 @@ -143,6 +195,20 @@ actionclass calloutSelfAndLevel2MedThr1 threshold1; }; +actionclass calloutProcLevel2MedThr1 +{ + calloutSelfLow; + callout2ndLvlMed; + threshold1; +}; + +actionclass calloutProcHighThr1SUE +{ + calloutSelfHigh; + SUEGenerationPoint; + threshold1; +}; + ################################################################################ # Dump Types # ################################################################################ @@ -173,5 +239,3 @@ actionclass TBDDefaultCallout threshold( field(32 / day), mfg(32 / day) ); }; - - diff --git a/src/usr/diag/prdf/common/plat/pegasus/Ex.rule b/src/usr/diag/prdf/common/plat/pegasus/Ex.rule index e88340852..e598e3b50 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/Ex.rule +++ b/src/usr/diag/prdf/common/plat/pegasus/Ex.rule @@ -843,22 +843,22 @@ group gL2Fir filter singlebit /** L2FIR[6] * DIR_CE_DETECTED */ - (L2Fir, bit(6)) ? SelfMedThr32PerDay; + (L2Fir, bit(6)) ? L2DirCE; /** L2FIR[7] * DIR_UE_DETECTED */ - (L2Fir, bit(7)) ? SelfMedThr1; + (L2Fir, bit(7)) ? SelfHighThr1; /** L2FIR[8] * DIR_STUCK_BIT_CE */ - (L2Fir, bit(8)) ? calloutSelfMedThr1; + (L2Fir, bit(8)) ? SelfHighThr1; /** L2FIR[9] * DIR_SBCE_REPAIR_FAILED */ - (L2Fir, bit(9)) ? SelfMedThr1; + (L2Fir, bit(9)) ? SelfHighThr1; /** L2FIR[10] * MULTIPLE_DIR_ERRORS_DETECTED @@ -868,17 +868,17 @@ group gL2Fir filter singlebit /** L2FIR[11] * LRU_READ_ERROR_DETECTED */ - (L2Fir, bit(11)) ? SelfMedThr32PerDay; + (L2Fir, bit(11)) ? SelfHighThr32PerDay; /** L2FIR[12] * RC_POWERBUS_DATA_TIMEOUT */ - (L2Fir, bit(12)) ? CalloutLevel2Thr1; + (L2Fir, bit(12)) ? callout2ndLvlMed; /** L2FIR[13] * NCU_POWERBUS_DATA_TIMEOUT */ - (L2Fir, bit(13)) ? CalloutLevel2Thr1; + (L2Fir, bit(13)) ? callout2ndLvlMed; /** L2FIR[14] * HW_CONTROL_ERROR @@ -888,22 +888,22 @@ group gL2Fir filter singlebit /** L2FIR[15] * LRU_ALL_MEMBERS_IN_CGC_ARE_LINE_DELETED */ - (L2Fir, bit(15)) ? SelfMedThr1; + (L2Fir, bit(15)) ? SelfHighThr1; /** L2FIR[16] * CACHE_INHIBITED_HIT_CACHEABLE_ERROR */ - (L2Fir, bit(16)) ? SelfMedThr1; + (L2Fir, bit(16)) ? SelfHighThr1; /** L2FIR[17] * RC_LOAD_RECIVED_PB_CRESP_ADR_ERR */ - (L2Fir, bit(17)) ? SelfMedThr1UE; + (L2Fir, bit(17)) ? SelfHighThr1UE; /** L2FIR[18] * RC_STORE_RECIVED_PB_CRESP_ADR_ERR */ - (L2Fir, bit(18)) ? SelfMedThr1; + (L2Fir, bit(18)) ? SelfHighThr1; /** L2FIR[19] * RC_POWBUS_DATA_CE_ERR_FROM_F2CHK @@ -913,7 +913,7 @@ group gL2Fir filter singlebit /** L2FIR[20] * RC_POWBUS_DATA_UE_ERR_FROM_F2CHK */ - (L2Fir, bit(20)) ? SelfMedThr1UE; + (L2Fir, bit(20)) ? SelfHighThr1UE; /** L2FIR[21] * RC_POWBUS_DATA_SUE_ERR_FROM_F2CHK @@ -923,7 +923,7 @@ group gL2Fir filter singlebit /** L2FIR[22] * CO_ICSW_UE_SUE_DATA_ERR_FROM_F2CHK */ - (L2Fir, bit(22)) ? SelfMedThr1; + (L2Fir, bit(22)) ? SelfHighThr1; /** L2FIR[23] * RC_LOAD_RECIVED_PB_CRESP_ADR_ERR_FOR_HYP @@ -933,7 +933,7 @@ group gL2Fir filter singlebit /** L2FIR[24] * RCDAT_RD_PARITY_ERR */ - (L2Fir, bit(24)) ? SelfMedThr1UE; + (L2Fir, bit(24)) ? SelfHighThr1UE; /** L2FIR[25] * CO_ICSW_RTY_BUSY_ABT_ERR @@ -1061,7 +1061,7 @@ group gL3Fir filter singlebit /** L3FIR[8] * L3 Cache Write UE from PowerBus */ - (L3Fir, bit(8)) ? SelfMedThr1UE; + (L3Fir, bit(8)) ? SelfHighThr1UE; /** L3FIR[9] * L3 Cache Write SUE from PowerBus @@ -1071,12 +1071,12 @@ group gL3Fir filter singlebit /** L3FIR[10] * L3 Cache Write CE from L2 */ - (L3Fir, bit(10)) ? SelfMedThr32PerDay; + (L3Fir, bit(10)) ? SelfHighThr32PerDay; /** L3FIR[11] * L3 Cache Write UE from L2 */ - (L3Fir, bit(11)) ? SelfMedThr1UE; + (L3Fir, bit(11)) ? L3UE; /** L3FIR[12] * L3 Cache Write SUE from L2 @@ -1091,7 +1091,7 @@ group gL3Fir filter singlebit /** L3FIR[14] * L3 Dir Read UE */ - (L3Fir, bit(14)) ? SelfMedThr1UE; + (L3Fir, bit(14)) ? SelfHighThr1UE; /** L3FIR[15] * L3 Dir Read \"Phantom Error\" @@ -1106,7 +1106,7 @@ group gL3Fir filter singlebit /** L3FIR[17] * L3 Load Address Error (from Prefetch Machine) */ - (L3Fir, bit(17)) ? SelfMedThr1; + (L3Fir, bit(17)) ? SelfHighThr1; /** L3FIR[18] * L3 Address Hang @@ -1141,7 +1141,7 @@ group gL3Fir filter singlebit /** L3FIR[24] * L3 Hw Control Error */ - (L3Fir, bit(24)) ? SelfMedThr1; + (L3Fir, bit(24)) ? SelfHighThr1; /** L3FIR[25] * L3 Snoop Sw error detected @@ -1156,22 +1156,22 @@ group gL3Fir filter singlebit /** L3FIR[27] * L3 DRAM Logic Error */ - (L3Fir, bit(27)) ? SelfMedThr1; + (L3Fir, bit(27)) ? SelfHighThr1; /** L3FIR[28] * L3 LRU SRAM Logic Recoverable Error */ - (L3Fir, bit(28)) ? SelfMedThr32PerDay; + (L3Fir, bit(28)) ? SelfHighThr32PerDay; /** L3FIR[29] * L3 Cache Congruence Class Deleted */ - (L3Fir, bit(29)) ? SelfMedThr1; + (L3Fir, bit(29)) ? SelfHighThr1; /** L3FIR[30] * L3 Cache Timer Refresh Error */ - (L3Fir, bit(30)) ? SelfMedThr1; + (L3Fir, bit(30)) ? SelfHighThr1; /** L3FIR[31] * L3 HA Consumer SW Access Error @@ -1225,7 +1225,7 @@ group gNcuFir filter singlebit /** NCUFIR[0] * CONTROL_ERR: H/W control error. */ - (NcuFir, bit(0)) ? SelfMedThr1; + (NcuFir, bit(0)) ? SelfHighThr1; /** NCUFIR[1] * TLBIE_SW_ERR: TLBIE received illegal AP/LP field from core. @@ -1246,27 +1246,27 @@ group gNcuFir filter singlebit /** NCUFIR[4] * ST_FOREIGN0_ACK_DEAD: Store received ack_dead on foreign link0. */ - (NcuFir, bit(4)) ? SelfMedThr32PerDay; + (NcuFir, bit(4)) ? SelfHighThr32PerDay; /** NCUFIR[5] * ST_FOREIGN1_ACK_DEAD: Store received ack_dead on foreign link1. */ - (NcuFir, bit(5)) ? SelfMedThr32PerDay; + (NcuFir, bit(5)) ? SelfHighThr32PerDay; /** NCUFIR[6] * LD_FOREIGN0_ACK_DEAD: Load received ack_dead on foreign link0. */ - (NcuFir, bit(6)) ? SelfMedThr32PerDay; + (NcuFir, bit(6)) ? SelfHighThr32PerDay; /** NCUFIR[7] * LD_FOREIGN1_ACK_DEAD: Load received ack_dead on foreign link1. */ - (NcuFir, bit(7)) ? SelfMedThr32PerDay; + (NcuFir, bit(7)) ? SelfHighThr32PerDay; /** NCUFIR[8] * STQ_DATA_PARITY_ERR: Store data parity error from regfile detected. */ - (NcuFir, bit(8)) ? SelfMedThr1UE; + (NcuFir, bit(8)) ? SelfHighThr1UE; /** NCUFIR[9] * STORE_TIMEOUT: Store timed out on PB. @@ -1281,7 +1281,7 @@ group gNcuFir filter singlebit /** NCUFIR[11] * TLBIE_SNOOP_TIMEOUT: TLBIE snooper timed out waiting for core. */ - (NcuFir, bit(11)) ? SelfMedThr1; + (NcuFir, bit(11)) ? SelfHighThr1; /** NCUFIR[12] * HTM_IMA_TIMEOUT: HTM/IMA address machine timed out on PB. @@ -1312,7 +1312,7 @@ group gNcuFir filter singlebit * PMISC_CRESP_ADDR_ERR: PMISC received address error cresp. */ - (NcuFir, bit(17)) ? calloutProcMed; + (NcuFir, bit(17)) ? calloutParentProcHighThr1; /** NCUFIR[18] * TLBIE_CONTROL_ERR: TLBIE control error. @@ -1394,19 +1394,19 @@ actionclass analyzeNcuFir actionclass L3DirCE { - calloutSelfMed; + calloutSelfHigh; threshold( field(32 / day), mfg_file(P8EX_L3_DIR_CES) ); }; actionclass L3UE { - SelfMedThr1UE; + SelfHighThr1UE; funccall("L3UE"); }; actionclass L3CE { - calloutSelfMed; + calloutSelfHigh; threshold( field(32 / day), mfg_file(P8EX_L3_CACHE_CES) ); funccall("L3CE"); }; @@ -1414,35 +1414,30 @@ actionclass L3CE actionclass L2CE { - calloutSelfMed; + calloutSelfHigh; threshold( field(32 / day), mfg_file(P8EX_L2_CACHE_CES) ); funccall("L2CE"); }; actionclass L2UE { - SelfMedThr1UE; + SelfHighThr1UE; funccall("L2UE"); }; actionclass L2DirCE { - calloutSelfMed; + calloutSelfHigh; threshold( field(32 / day), mfg_file(P8EX_L2_DIR_CES) ); }; actionclass L2ChipLevel2 { - calloutProcLow; + calloutParentProcLow; callout2ndLvlMed; threshold1; }; -actionclass calloutProcLow -{ - callout(connected(TYPE_PROC),MRU_LOW); -}; - actionclass L2PowerBusCE { #cannot callout L2 so calling out the chiplet @@ -1450,8 +1445,7 @@ actionclass L2PowerBusCE threshold1; }; - -actionclass calloutProcMed +actionclass calloutParentProcLow { - callout(connected(TYPE_PROC),MRU_MED); + callout(connected(TYPE_PROC),MRU_LOW); }; diff --git a/src/usr/diag/prdf/common/plat/pegasus/Mcs.rule b/src/usr/diag/prdf/common/plat/pegasus/Mcs.rule index e5e211d34..8a65235b0 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/Mcs.rule +++ b/src/usr/diag/prdf/common/plat/pegasus/Mcs.rule @@ -147,7 +147,8 @@ chip Mcs ################################################################################ # PB Chiplet MCIFIR ################################################################################ - +# MCIFIR updated based on p8dd1_mss_FFDC_37_ reviewd.xls +############################################################################### rule MciFir { CHECK_STOP: MCIFIR & ~MCIFIR_MASK & ~MCIFIR_ACT0 & ~MCIFIR_ACT1; @@ -164,62 +165,63 @@ group gMciFir attntype CHECK_STOP, RECOVERABLE, SPECIAL, UNIT_CS /** MCIFIR[0] * MCIFIRQ_REPLAY_TIMEOUT */ - (MciFir, bit(0)) ? TBDDefaultCallout; + (MciFir, bit(0)) ? calloutDmiBusTh1; /** MCIFIR[1] * MCIFIRQ_CHANNEL_FAIL */ - (MciFir, bit(1)) ? TBDDefaultCallout; + (MciFir, bit(1)) ? defaultMaskedError; /** MCIFIR[2] * MCIFIRQ_CRC_ERROR */ - (MciFir, bit(2)) ? TBDDefaultCallout; + (MciFir, bit(2)) ? defaultMaskedError; /** MCIFIR[3] * MCIFIRQ_FRAME_NOACK */ - (MciFir, bit(3)) ? TBDDefaultCallout; + (MciFir, bit(3)) ? defaultMaskedError; /** MCIFIR[4] * MCIFIRQ_SEQID_OUT_OF_ORDER */ - (MciFir, bit(4)) ? TBDDefaultCallout; + (MciFir, bit(4)) ? calloutDmiBusAndLvl2Th1; /** MCIFIR[5] * MCIFIRQ_REPLAY_BUFFER_ECC_CE */ - (MciFir, bit(5)) ? TBDDefaultCallout; + (MciFir, bit(5)) ? SelfHighThr5PerHour; /** MCIFIR[6] * MCIFIRQ_REPLAY_BUFFER_ECC_UE */ - (MciFir, bit(6)) ? TBDDefaultCallout; + (MciFir, bit(6)) ? SelfHighThr1 ; /** MCIFIR[7] * MCIFIRQ_MCI_CHINIT_STATE_MACHINE_TIMEOUT */ - (MciFir, bit(7)) ? TBDDefaultCallout; + (MciFir, bit(7)) ? defaultMaskedError; /** MCIFIR[8] * MCIFIRQ_MCI_INTERNAL_CONTROL_PARITY_ERROR */ - (MciFir, bit(8)) ? TBDDefaultCallout; + (MciFir, bit(8)) ? SelfHighThr1; /** MCIFIR[9] * MCIFIRQ_MCI_DATA_FLOW_PARITY_ERROR */ - (MciFir, bit(9)) ? TBDDefaultCallout; + (MciFir, bit(9)) ? SelfHighThr1; /** MCIFIR[10] * MCIFIRQ_CRC_PERFORMANCE_DEGRADATION */ - (MciFir, bit(10)) ? TBDDefaultCallout; + # FIXME RTC 23127 To be updated in a separate activity along with MBIFIR[10] + (MciFir, bit(10)) ? defaultMaskedError; /** MCIFIR[11] * MCIFIRQ_CHANNEL_INTERLOCK_FAIL */ - (MciFir, bit(11)) ? TBDDefaultCallout; + (MciFir, bit(11)) ? defaultMaskedError; /** MCIFIR[12] * MCIFIRQ_CENTAUR_CHECKSTOP @@ -235,12 +237,12 @@ group gMciFir attntype CHECK_STOP, RECOVERABLE, SPECIAL, UNIT_CS /** MCIFIR[13] * MCIFIRQ_CENTAUR_TRACESTOP */ - (MciFir, bit(13)) ? TBDDefaultCallout; + (MciFir, bit(13)) ? defaultMaskedError; /** MCIFIR[14] * MCIFIRQ_FPGA_INTERRUPT */ - (MciFir, bit(14)) ? TBDDefaultCallout; + (MciFir, bit(14)) ? defaultMaskedError; /** MCIFIR[15] * MCIFIRQ_CENTAUR_RECOVERABLE_ERROR @@ -266,42 +268,67 @@ group gMciFir attntype CHECK_STOP, RECOVERABLE, SPECIAL, UNIT_CS /** MCIFIR[18] * MCIFIRQ_CENTAUR_INBAND_PIB_ERROR */ - (MciFir, bit(18)) ? TBDDefaultCallout; + (MciFir, bit(18)) ? defaultMaskedError; + + /** MCIFIR[19] + * FRTL Conter Overflow + */ + (MciFir, bit(19)) ? defaultMaskedError; + + /** MCIFIR[20] + * SCOM Register parity Error + */ + (MciFir, bit(20)) ? SelfHighThr1; + + /** MCIFIR[21] + * SCOM Register parity Error + */ + (MciFir, bit(21)) ? defaultMaskedError; + + /** MCIFIR[22] + * SCOM Register parity Error + */ + (MciFir, bit(22)) ? calloutConnCenTh1; + + /** MCIFIR[23] + * SCOM Register parity Error + */ + (MciFir, bit(23)) ? calloutDmiBusTh1; /** MCIFIR[24] * MCIFIRQ_MCS_RECOVERABLE_ERROR */ - (MciFir, bit(24)) ? TBDDefaultCallout; + (MciFir, bit(24)) ? SelfHighThr1; /** MCIFIR[25] * MCIFIRQ_MCS_INTERNAL_NONRECOVERABLE_ERROR */ - (MciFir, bit(25)) ? TBDDefaultCallout; + (MciFir, bit(25)) ? SelfHighThr1; /** MCIFIR[26] * MCIFIRQ_POWERBUS_PROTOCOL_ERROR */ - (MciFir, bit(26)) ? TBDDefaultCallout; + (MciFir, bit(26)) ? callout2ndLvlMed; /** MCIFIR[27] * MCIFIRQ_MCS_COMMAND_LIST_TIMEOUT_DUE_TO_POWERBUS */ - (MciFir, bit(27)) ? TBDDefaultCallout; + (MciFir, bit(27)) ? callout2ndLvlMed; /** MCIFIR[28] * MCIFIRQ_MCS_COMMAND_LIST_TIMEOUT_DUE_TO_EDI_CHANNEL */ - (MciFir, bit(28)) ? TBDDefaultCallout; + (MciFir, bit(28)) ? SelfLowLevel2MedThr1; /** MCIFIR[29] * MCIFIRQ_INBAND_BAR_HIT_WITH_INCORRECT_TTYPE */ - (MciFir, bit(29)) ? TBDDefaultCallout; + (MciFir, bit(29)) ? SelfLowLevel2MedThr1; /** MCIFIR[30] * MCIFIRQ_MULTIPLE_BAR_HIT */ - (MciFir, bit(30)) ? TBDDefaultCallout; + (MciFir, bit(30)) ? SelfLowLevel2MedThr1; /** MCIFIR[31] * MCIFIRQ_CHANNEL_FAIL_SIGNAL_ACTIVE @@ -314,47 +341,84 @@ group gMciFir attntype CHECK_STOP, RECOVERABLE, SPECIAL, UNIT_CS /** MCIFIR[32] * MCIFIRQ_MIRROR_ACTION_OCCURRED */ - (MciFir, bit(32)) ? TBDDefaultCallout; + # FIXME RTC 23127 TBD if this is needed as part of mirror error handling + (MciFir, bit(32)) ? defaultMaskedError; /** MCIFIR[33] * MCIFIRQ_NONFOREIGN_ACCESS_TO_FOREIGN_BAR */ - (MciFir, bit(33)) ? TBDDefaultCallout; + (MciFir, bit(33)) ? callout2ndLvlMed; /** MCIFIR[34] * MCIFIRQ_CENTAUR_SYNC_COMMAND_DETECTED */ - (MciFir, bit(34)) ? TBDDefaultCallout; + (MciFir, bit(34)) ? defaultMaskedError; /** MCIFIR[35] * MCIFIRQ_POWERBUS_WRITE_DATA_BUFFER_CE */ - (MciFir, bit(35)) ? TBDDefaultCallout; + (MciFir, bit(35)) ? calloutProcHighThr5PerHr; /** MCIFIR[36] * MCIFIRQ_POWERBUS_WRITE_DATA_BUFFER_UE */ - (MciFir, bit(36)) ? TBDDefaultCallout; + (MciFir, bit(36)) ? calloutParentProcHighThr1; /** MCIFIR[37] * MCIFIRQ_POWERBUS_WRITE_DATA_BUFFER_SUE */ - (MciFir, bit(37)) ? TBDDefaultCallout; + (MciFir, bit(37)) ? defaultMaskedError; /** MCIFIR[38] * MCIFIRQ_HA_ILLEGAL_CONSUMER_ACCESS_ERROR */ - (MciFir, bit(38)) ? TBDDefaultCallout; + (MciFir, bit(38)) ? callout2ndLvlMed; + + /** MCIFIR[39] + * MCIFIRQ_HA_ILLEGAL_CONSUMER_ACCESS_ERROR + */ + (MciFir, bit(39)) ? callout2ndLvlMed; + + /** MCIFIR[40] + * CHANNEL TIMEOUT ERROR + */ + # FIXME RTC 23127 No decision on MRU as yet + (MciFir, bit(40)) ? defaultMaskedError; + + /** MCIFIR[41] + * CENTAUR FAULT LINE + */ + (MciFir, bit(41)) ? defaultMaskedError; + + /** MCIFIR[42] + * MCS WAT + */ + (MciFir, bit(42)) ? defaultMaskedError; + + /** MCIFIR[43] + * INVALID ADDRESS + */ + (MciFir, bit(43)) ? defaultMaskedError; + + /** MCIFIR[44|45|46] + * Reserved + */ + (MciFir, bit(44|45|46)) ? defaultMaskedError; + + /** MCIFIR[47] + * MCS WRITE DATAFLOW SUE + */ + (MciFir, bit(47)) ? defaultMaskedError; /** MCIFIR[48] * MCIFIRQ_INTERNAL_SCOM_ERROR */ - (MciFir, bit(48)) ? TBDDefaultCallout; + (MciFir, bit(48)) ? defaultMaskedError; /** MCIFIR[49] * MCIFIRQ_INTERNAL_SCOM_ERROR_CLONE */ - (MciFir, bit(49)) ? TBDDefaultCallout; + (MciFir, bit(49)) ? defaultMaskedError; }; ############################################################################## @@ -374,3 +438,31 @@ group gMciFir attntype CHECK_STOP, RECOVERABLE, SPECIAL, UNIT_CS /** Analyze the connected Centaur */ actionclass analyzeConnectedCentaur { analyze(connected(TYPE_MEMBUF)); }; +actionclass calloutProcHighThr5PerHr +{ + callout(connected(TYPE_PROC),MRU_HIGH); + threshold5phour; +}; + +/** Callout the connected Centaur, threshold 1 */ +actionclass calloutConnCenTh1 +{ + callout(connected(TYPE_MEMBUF), MRU_MED); + threshold1; +}; + +/** Callout the DMI bus (MEDA), threshold 1 */ +actionclass calloutDmiBusTh1 +{ + calloutSelfMedA; + callout(connected(TYPE_MEMBUF), MRU_MEDA); + callout(procedure(MEMBUS_ERROR_ENUM), MRU_LOW); + threshold1; +}; + +/** Callout the DMI bus (MEDA) and 2nd Level Support (LOW), threshold 1 */ +actionclass calloutDmiBusAndLvl2Th1 +{ + calloutDmiBusTh1; + callout2ndLvlLow; +}; 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 0bde3e7b7..48db96c38 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 @@ -117,7 +117,8 @@ group gAbusLFir filter singlebit ################################################################################ # ABUS Chiplet PBESFIR ################################################################################ - +# based on p8dd1_mss_FFDC_37_ reviewd.xls +################################################################################ rule PbesFir { CHECK_STOP: @@ -131,192 +132,192 @@ group gPbesFir filter singlebit /** PBESFIR[0] * A0LINK_FMR_ERROR: a0link_fmr_error */ - (PbesFir, bit(0)) ? TBDDefaultCallout; + (PbesFir, bit(0)) ? SelfHighThr1; /** PBESFIR[1] * A1LINK_FMR_ERROR: a1link_fmr_error */ - (PbesFir, bit(1)) ? TBDDefaultCallout; + (PbesFir, bit(1)) ? SelfHighThr1; /** PBESFIR[2] * A2LINK_FMR_ERROR: a2link_fmr_error */ - (PbesFir, bit(2)) ? TBDDefaultCallout; + (PbesFir, bit(2)) ? SelfHighThr1; /** PBESFIR[3] * A0LINK_PSR_ERR: a0link_psr_err */ - (PbesFir, bit(3)) ? TBDDefaultCallout; + (PbesFir, bit(3)) ? SelfHighThr1; /** PBESFIR[4] * A1LINK_PSR_ERR: a1link_psr_err */ - (PbesFir, bit(4)) ? TBDDefaultCallout; + (PbesFir, bit(4)) ? SelfHighThr1; /** PBESFIR[5] * A2LINK_PSR_ERR: a2link_psr_err */ - (PbesFir, bit(5)) ? TBDDefaultCallout; + (PbesFir, bit(5)) ? SelfHighThr1; /** PBESFIR[6] * A0LINK_PSR_COR_ERR */ - (PbesFir, bit(6)) ? TBDDefaultCallout; + (PbesFir, bit(6)) ? calloutAbus0AndProcThr5; /** PBESFIR[7] * A0LINK_PSR_DERR_ERR */ - (PbesFir, bit(7)) ? TBDDefaultCallout; + (PbesFir, bit(7)) ? defaultMaskedError; /** PBESFIR[8] * A0LINK_PSR_UNC_ERR */ - (PbesFir, bit(8)) ? TBDDefaultCallout; + (PbesFir, bit(8)) ? calloutAbus0AndProcThr1; /** PBESFIR[9] * A1LINK_PSR_COR_ERR */ - (PbesFir, bit(9)) ? TBDDefaultCallout; + (PbesFir, bit(9)) ? calloutAbus1AndProcThr5; /** PBESFIR[10] * A1LINK_PSR_DERR_ERR */ - (PbesFir, bit(10)) ? TBDDefaultCallout; + (PbesFir, bit(10)) ? defaultMaskedError; /** PBESFIR[11] * A1LINK_PSR_UNC_ERR */ - (PbesFir, bit(11)) ? TBDDefaultCallout; + (PbesFir, bit(11)) ? calloutAbus1AndProcThr1; /** PBESFIR[12] * A2LINK_PSR_COR_ERR */ - (PbesFir, bit(12)) ? TBDDefaultCallout; + (PbesFir, bit(12)) ? calloutAbus2AndProcThr5; /** PBESFIR[13] * A2LINK_PSR_DERR_ERR */ - (PbesFir, bit(13)) ? TBDDefaultCallout; + (PbesFir, bit(13)) ? defaultMaskedError; /** PBESFIR[14] * NK_PSR_UNC_ERR */ - (PbesFir, bit(14)) ? TBDDefaultCallout; + (PbesFir, bit(14)) ? calloutAbus2AndProcThr1; /** PBESFIR[15] * A0LINK_FMR_COR_ERR_HI */ - (PbesFir, bit(15)) ? TBDDefaultCallout; + (PbesFir, bit(15)) ? SelfHighThr32PerDay; /** PBESFIR[16] * A0LINK_FMR_COR_ERR_LO */ - (PbesFir, bit(16)) ? TBDDefaultCallout; + (PbesFir, bit(16)) ? SelfHighThr32PerDay; /** PBESFIR[17] * A0LINK_FMR_SUE_ERR_HI */ - (PbesFir, bit(17)) ? TBDDefaultCallout; + (PbesFir, bit(17)) ? defaultMaskedError; /** PBESFIR[18] * A0LINK_FMR_SUE_ERR_LO */ - (PbesFir, bit(18)) ? TBDDefaultCallout; + (PbesFir, bit(18)) ? defaultMaskedError; /** PBESFIR[19] * A0LINK_FMR_UNC_ERR_HI */ - (PbesFir, bit(19)) ? TBDDefaultCallout; + (PbesFir, bit(19)) ? calloutProcHighThr1SUE; /** PBESFIR[20] * A0LINK_FMR_UNC_ERR_LO */ - (PbesFir, bit(20)) ? TBDDefaultCallout; + (PbesFir, bit(20)) ? calloutProcHighThr1SUE; /** PBESFIR[21] * A1LINK_FMR_COR_ERR_HI */ - (PbesFir, bit(21)) ? TBDDefaultCallout; + (PbesFir, bit(21)) ? SelfHighThr32PerDay; /** PBESFIR[22] * A1LINK_FMR_COR_ERR_LO */ - (PbesFir, bit(22)) ? TBDDefaultCallout; + (PbesFir, bit(22)) ? SelfHighThr32PerDay; /** PBESFIR[23] * A1LINK_FMR_SUE_ERR_HI */ - (PbesFir, bit(23)) ? TBDDefaultCallout; + (PbesFir, bit(23)) ? defaultMaskedError; /** PBESFIR[24] * A1LINK_FMR_SUE_ERR_LO */ - (PbesFir, bit(24)) ? TBDDefaultCallout; + (PbesFir, bit(24)) ? defaultMaskedError; /** PBESFIR[25] * A1LINK_FMR_UNC_ERR_HI */ - (PbesFir, bit(25)) ? TBDDefaultCallout; + (PbesFir, bit(25)) ? calloutProcHighThr1SUE; /** PBESFIR[26] * A1LINK_FMR_UNC_ERR_LO */ - (PbesFir, bit(26)) ? TBDDefaultCallout; + (PbesFir, bit(26)) ? calloutProcHighThr1SUE; /** PBESFIR[27] * A2LINK_FMR_COR_ERR_HI */ - (PbesFir, bit(27)) ? TBDDefaultCallout; + (PbesFir, bit(27)) ? SelfHighThr32PerDay; /** PBESFIR[28] * A2LINK_FMR_COR_ERR_LO */ - (PbesFir, bit(28)) ? TBDDefaultCallout; + (PbesFir, bit(28)) ? SelfHighThr32PerDay; /** PBESFIR[29] * A2LINK_FMR_SUE_ERR_HI */ - (PbesFir, bit(29)) ? TBDDefaultCallout; + (PbesFir, bit(29)) ? defaultMaskedError; /** PBESFIR[30] * A2LINK_FMR_SUE_ERR_LO */ - (PbesFir, bit(30)) ? TBDDefaultCallout; + (PbesFir, bit(30)) ? defaultMaskedError; /** PBESFIR[31] * A2LINK_FMR_UNC_ERR_HI */ - (PbesFir, bit(31)) ? TBDDefaultCallout; + (PbesFir, bit(31)) ? calloutProcHighThr1SUE; /** PBESFIR[32] * A2LINK_FMR_UNC_ERR_LO */ - (PbesFir, bit(32)) ? TBDDefaultCallout; + (PbesFir, bit(32)) ? calloutProcHighThr1SUE; /** PBESFIR[33] * A0_OBS_CR_OVERFLOW_FIR_ERR */ - (PbesFir, bit(33)) ? TBDDefaultCallout; + (PbesFir, bit(33)) ? SelfHighThr1; /** PBESFIR[34] * A1_OBS_CR_OVERFLOW_FIR_ERR */ - (PbesFir, bit(34)) ? TBDDefaultCallout; + (PbesFir, bit(34)) ? SelfHighThr1; /** PBESFIR[35] * A2_OBS_CR_OVERFLOW_FIR_ERR */ - (PbesFir, bit(35)) ? TBDDefaultCallout; + (PbesFir, bit(35)) ? SelfHighThr1; /** PBESFIR[36] * FIR_SCOM_ERR_DUP */ - (PbesFir, bit(36)) ? TBDDefaultCallout; + (PbesFir, bit(36)) ? defaultMaskedError; /** PBESFIR[37] * FIR_SCOM_ERR */ - (PbesFir, bit(37)) ? TBDDefaultCallout; + (PbesFir, bit(37)) ? defaultMaskedError; }; ################################################################################ @@ -578,3 +579,47 @@ actionclass abus2TooManyBusErrors funccall("abus2TooManyErrors"); threshold1; }; + +actionclass calloutAbus0AndProcThr5 +{ + callout(procedure(PassiveFabric_OffNode_ENUM), MRU_MED); + funccall("calloutProcsConnectedToAbus0"); + threshold5pday; +}; + + +actionclass calloutAbus1AndProcThr5 +{ + callout(procedure(PassiveFabric_OffNode_ENUM), MRU_MED); + funccall("calloutProcsConnectedToAbus1"); + threshold5pday; +}; + +actionclass calloutAbus2AndProcThr5 +{ + callout(procedure(PassiveFabric_OffNode_ENUM), MRU_MED); + funccall("calloutProcsConnectedToAbus2"); + threshold5pday; +}; + +actionclass calloutAbus0AndProcThr1 +{ + callout(procedure(PassiveFabric_OffNode_ENUM), MRU_MED); + funccall("calloutProcsConnectedToAbus0"); + threshold1; +}; + + +actionclass calloutAbus1AndProcThr1 +{ + callout(procedure(PassiveFabric_OffNode_ENUM), MRU_MED); + funccall("calloutProcsConnectedToAbus1"); + threshold1; +}; + +actionclass calloutAbus2AndProcThr1 +{ + callout(procedure(PassiveFabric_OffNode_ENUM), MRU_MED); + funccall("calloutProcsConnectedToAbus2"); + threshold1; +}; 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 4dc1f7b6e..0eda12fcb 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 @@ -1030,6 +1030,10 @@ group gMcdFir filter singlebit # rule code parser does not have the support for something like this. # Maybe we can add this as a later feature. +################################################################################ +# based on p8dd1_mss_FFDC_37_ reviewd.xls +################################################################################ + rule PbEastFir { CHECK_STOP: PBEASTFIR & ~PBEASTFIR_MASK & ~PBEASTFIR_ACT0 & ~PBEASTFIR_ACT1; @@ -1047,302 +1051,322 @@ group gPbWestEastFir filter singlebit /** PBWESTFIR[0] * PB_WEST_PBIEX01_PBH_HW_ERROR */ - (PbWestFir, bit(0)) ? TBDDefaultCallout; + (PbWestFir, bit(0)) ? SelfHighThr1; /** PBEASTFIR[0] * PB_EAST_PBIEX04_PBH_HW_ERROR */ - (PbEastFir, bit(0)) ? TBDDefaultCallout; + (PbEastFir, bit(0)) ? SelfHighThr1; /** PBWESTFIR[1] * PB_WEST_PBIEX01_PBH_RECOV_ERROR */ - (PbWestFir, bit(1)) ? TBDDefaultCallout; + (PbWestFir, bit(1)) ? SelfHighThr1; /** PBEASTFIR[1] * PB_EAST_PBIEX04_PBH_RECOV_ERROR */ - (PbEastFir, bit(1)) ? TBDDefaultCallout; + (PbEastFir, bit(1)) ? SelfHighThr1; /** PBWESTFIR[2] * PB_WEST_PBIEX01_PBH_PROTOCOL_ERROR */ - (PbWestFir, bit(2)) ? TBDDefaultCallout; + (PbWestFir, bit(2)) ? calloutProcLevel2MedThr1; /** PBEASTFIR[2] * PB_EAST_PBIEX04_PBH_PROTOCOL_ERROR */ - (PbEastFir, bit(2)) ? TBDDefaultCallout; + (PbEastFir, bit(2)) ? calloutProcLevel2MedThr1; /** PBWESTFIR[3] * PB_WEST_PBIEX01_PBH_OVERFLOW_ERROR */ - (PbWestFir, bit(3)) ? TBDDefaultCallout; + (PbWestFir, bit(3)) ? calloutProcLevel2MedThr1; /** PBEASTFIR[3] * PB_EAST_PBIEX04_PBH_OVERFLOW_ERROR */ - (PbEastFir, bit(3)) ? TBDDefaultCallout; + (PbEastFir, bit(3)) ? calloutProcLevel2MedThr1; /** PBWESTFIR[4] * PB_WEST_PBIEX02_PBH_HW_ERROR */ - (PbWestFir, bit(4)) ? TBDDefaultCallout; + (PbWestFir, bit(4)) ? SelfHighThr1; /** PBEASTFIR[4] * PB_EAST_PBIEX05_PBH_HW_ERROR */ - (PbEastFir, bit(4)) ? TBDDefaultCallout; + (PbEastFir, bit(4)) ? SelfHighThr1; /** PBWESTFIR[5] * PB_WEST_PBIEX02_PBH_RECOV_ERROR */ - (PbWestFir, bit(5)) ? TBDDefaultCallout; + (PbWestFir, bit(5)) ? SelfHighThr1; /** PBEASTFIR[5] * PB_EAST_PBIEX05_PBH_RECOV_ERROR */ - (PbEastFir, bit(5)) ? TBDDefaultCallout; + (PbEastFir, bit(5)) ? SelfHighThr1; /** PBWESTFIR[6] * PB_WEST_PBIEX02_PBH_PROTOCOL_ERROR */ - (PbWestFir, bit(6)) ? TBDDefaultCallout; + (PbWestFir, bit(6)) ? calloutProcLevel2MedThr1; /** PBEASTFIR[6] * PB_EAST_PBIEX05_PBH_PROTOCOL_ERROR */ - (PbEastFir, bit(6)) ? TBDDefaultCallout; + (PbEastFir, bit(6)) ? calloutProcLevel2MedThr1; /** PBWESTFIR[7] * PB_WEST_PBIEX02_PBH_OVERFLOW_ERROR */ - (PbWestFir, bit(7)) ? TBDDefaultCallout; + (PbWestFir, bit(7)) ? calloutProcLevel2MedThr1; /** PBEASTFIR[7] * PB_EAST_PBIEX05_PBH_OVERFLOW_ERROR */ - (PbEastFir, bit(7)) ? TBDDefaultCallout; + (PbEastFir, bit(7)) ? calloutProcLevel2MedThr1; /** PBWESTFIR[8] * PB_WEST_PBIEX03_PBH_HW_ERROR */ - (PbWestFir, bit(8)) ? TBDDefaultCallout; + (PbWestFir, bit(8)) ? SelfHighThr1; /** PBEASTFIR[8] * PB_EAST_PBIEX06_PBH_HW_ERROR */ - (PbEastFir, bit(8)) ? TBDDefaultCallout; + (PbEastFir, bit(8)) ? SelfHighThr1; /** PBWESTFIR[9] * PB_WEST_PBIEX03_PBH_RECOV_ERROR */ - (PbWestFir, bit(9)) ? TBDDefaultCallout; + (PbWestFir, bit(9)) ? SelfHighThr1; /** PBEASTFIR[9] * PB_EAST_PBIEX06_PBH_RECOV_ERROR */ - (PbEastFir, bit(9)) ? TBDDefaultCallout; + (PbEastFir, bit(9)) ? SelfHighThr1; /** PBWESTFIR[10] * PB_WEST_PBIEX03_PBH_PROTOCOL_ERROR */ - (PbWestFir, bit(10)) ? TBDDefaultCallout; + (PbWestFir, bit(10)) ? calloutProcLevel2MedThr1; /** PBEASTFIR[10] * PB_EAST_PBIEX06_PBH_PROTOCOL_ERROR */ - (PbEastFir, bit(10)) ? TBDDefaultCallout; + (PbEastFir, bit(10)) ? calloutProcLevel2MedThr1; /** PBWESTFIR[11] * PB_WEST_PBIEX03_PBH_OVERFLOW_ERROR */ - (PbWestFir, bit(11)) ? TBDDefaultCallout; + (PbWestFir, bit(11)) ? calloutProcLevel2MedThr1; /** PBEASTFIR[11] * PB_EAST_PBIEX06_PBH_OVERFLOW_ERROR */ - (PbEastFir, bit(11)) ? TBDDefaultCallout; + (PbEastFir, bit(11)) ? calloutProcLevel2MedThr1; /** PBWESTFIR[12] * PB_WEST_PBIEX09_PBH_HW_ERROR */ - (PbWestFir, bit(12)) ? TBDDefaultCallout; + (PbWestFir, bit(12)) ? SelfHighThr1; /** PBEASTFIR[12] * PB_EAST_PBIEX12_PBH_HW_ERROR */ - (PbEastFir, bit(12)) ? TBDDefaultCallout; + (PbEastFir, bit(12)) ? SelfHighThr1; /** PBWESTFIR[13] * PB_WEST_PBIEX09_PBH_RECOV_ERROR */ - (PbWestFir, bit(13)) ? TBDDefaultCallout; + (PbWestFir, bit(13)) ? SelfHighThr1; /** PBEASTFIR[13] * PB_EAST_PBIEX12_PBH_RECOV_ERROR */ - (PbEastFir, bit(13)) ? TBDDefaultCallout; + (PbEastFir, bit(13)) ? SelfHighThr1; /** PBWESTFIR[14] * PB_WEST_PBIEX09_PBH_PROTOCOL_ERROR */ - (PbWestFir, bit(14)) ? TBDDefaultCallout; + (PbWestFir, bit(14)) ? calloutProcLevel2MedThr1; /** PBEASTFIR[14] * PB_EAST_PBIEX12_PBH_PROTOCOL_ERROR */ - (PbEastFir, bit(14)) ? TBDDefaultCallout; + (PbEastFir, bit(14)) ? calloutProcLevel2MedThr1; /** PBWESTFIR[15] * PB_WEST_PBIEX09_PBH_OVERFLOW_ERROR */ - (PbWestFir, bit(15)) ? TBDDefaultCallout; + (PbWestFir, bit(15)) ? calloutProcLevel2MedThr1; /** PBEASTFIR[15] * PB_EAST_PBIEX12_PBH_OVERFLOW_ERROR */ - (PbEastFir, bit(15)) ? TBDDefaultCallout; + (PbEastFir, bit(15)) ? calloutProcLevel2MedThr1; /** PBWESTFIR[16] * PB_WEST_PBIEX10_PBH_HW_ERROR */ - (PbWestFir, bit(16)) ? TBDDefaultCallout; + (PbWestFir, bit(16)) ? SelfHighThr1; /** PBEASTFIR[16] * PB_EAST_PBIEX13_PBH_HW_ERROR */ - (PbEastFir, bit(16)) ? TBDDefaultCallout; + (PbEastFir, bit(16)) ? SelfHighThr1; /** PBWESTFIR[17] * PB_WEST_PBIEX10_PBH_RECOV_ERROR */ - (PbWestFir, bit(17)) ? TBDDefaultCallout; + (PbWestFir, bit(17)) ? SelfHighThr1; /** PBEASTFIR[17] * PB_EAST_PBIEX13_PBH_RECOV_ERROR */ - (PbEastFir, bit(17)) ? TBDDefaultCallout; + (PbEastFir, bit(17)) ? SelfHighThr1; /** PBWESTFIR[18] * PB_WEST_PBIEX10_PBH_PROTOCOL_ERROR */ - (PbWestFir, bit(18)) ? TBDDefaultCallout; + (PbWestFir, bit(18)) ? calloutProcLevel2MedThr1; /** PBEASTFIR[18] * PB_EAST_PBIEX13_PBH_PROTOCOL_ERROR */ - (PbEastFir, bit(18)) ? TBDDefaultCallout; + (PbEastFir, bit(18)) ? calloutProcLevel2MedThr1; /** PBWESTFIR[19] * PB_WEST_PBIEX10_PBH_OVERFLOW_ERROR */ - (PbWestFir, bit(19)) ? TBDDefaultCallout; + (PbWestFir, bit(19)) ? calloutProcLevel2MedThr1; /** PBEASTFIR[19] * PB_EAST_PBIEX13_PBH_OVERFLOW_ERROR */ - (PbEastFir, bit(19)) ? TBDDefaultCallout; + (PbEastFir, bit(19)) ? calloutProcLevel2MedThr1; /** PBWESTFIR[20] * PB_WEST_PBIEX11_PBH_HW_ERROR */ - (PbWestFir, bit(20)) ? TBDDefaultCallout; + (PbWestFir, bit(20)) ? SelfHighThr1; /** PBEASTFIR[20] * PB_EAST_PBIEX14_PBH_HW_ERROR */ - (PbEastFir, bit(20)) ? TBDDefaultCallout; + (PbEastFir, bit(20)) ? SelfHighThr1; /** PBWESTFIR[21] * PB_WEST_PBIEX11_PBH_RECOV_ERROR */ - (PbWestFir, bit(21)) ? TBDDefaultCallout; + (PbWestFir, bit(21)) ? SelfHighThr1; /** PBEASTFIR[21] * PB_EAST_PBIEX14_PBH_RECOV_ERROR */ - (PbEastFir, bit(21)) ? TBDDefaultCallout; + (PbEastFir, bit(21)) ? SelfHighThr1; /** PBWESTFIR[22] * PB_WEST_PBIEX11_PBH_PROTOCOL_ERROR */ - (PbWestFir, bit(22)) ? TBDDefaultCallout; + (PbWestFir, bit(22)) ? calloutProcLevel2MedThr1; /** PBEASTFIR[22] * PB_EAST_PBIEX14_PBH_PROTOCOL_ERROR */ - (PbEastFir, bit(22)) ? TBDDefaultCallout; + (PbEastFir, bit(22)) ? calloutProcLevel2MedThr1; /** PBWESTFIR[23] * PB_WEST_PBIEX11_PBH_OVERFLOW_ERROR */ - (PbWestFir, bit(23)) ? TBDDefaultCallout; + (PbWestFir, bit(23)) ? calloutProcLevel2MedThr1; /** PBEASTFIR[23] * PB_EAST_PBIEX14_PBH_OVERFLOW_ERROR */ - (PbEastFir, bit(23)) ? TBDDefaultCallout; + (PbEastFir, bit(23)) ? calloutProcLevel2MedThr1; /** PBWESTFIR[24] * PB_WEST_DATA_OVERFLOW_ERROR */ - (PbWestFir, bit(24)) ? TBDDefaultCallout; + (PbWestFir, bit(24)) ? calloutProcLevel2MedThr1; /** PBEASTFIR[24] * PB_EAST_DATA_OVERFLOW_ERROR */ - (PbEastFir, bit(24)) ? TBDDefaultCallout; + (PbEastFir, bit(24)) ? calloutProcLevel2MedThr1; /** PBWESTFIR[25] * PB_WEST_DATA_PROTOCOL_ERROR */ - (PbWestFir, bit(25)) ? TBDDefaultCallout; + (PbWestFir, bit(25)) ? calloutProcLevel2MedThr1; /** PBEASTFIR[25] * PB_EAST_DATA_PROTOCOL_ERROR */ - (PbEastFir, bit(25)) ? TBDDefaultCallout; + (PbEastFir, bit(25)) ? calloutProcLevel2MedThr1; /** PBWESTFIR[26] * PB_WEST_DATA_ROUTE_ERROR */ - (PbWestFir, bit(26)) ? TBDDefaultCallout; + (PbWestFir, bit(26)) ? calloutProcLevel2MedThr1; /** PBEASTFIR[26] * PB_EAST_DATA_ROUTE_ERROR */ - (PbEastFir, bit(26)) ? TBDDefaultCallout; + (PbEastFir, bit(26)) ? calloutProcLevel2MedThr1; /** PBWESTFIR[27] * PB_WEST_CMD_OVERFLOW_ERROR */ - (PbWestFir, bit(27)) ? TBDDefaultCallout; + (PbWestFir, bit(27)) ? calloutProcLevel2MedThr1; /** PBEASTFIR[27] * PB_EAST_CMD_OVERFLOW_ERROR */ - (PbEastFir, bit(27)) ? TBDDefaultCallout; + (PbEastFir, bit(27)) ? calloutProcLevel2MedThr1; + + /** PBWESTFIR[28] + * PB_WEST_CMD_OVERFLOW_ERROR + */ + (PbWestFir, bit(28)) ? calloutProcLevel2MedThr1; + + /** PBEASTFIR[28] + * PB_EAST_CMD_OVERFLOW_ERROR + */ + (PbEastFir, bit(28)) ? calloutProcLevel2MedThr1; + + /** PBWESTFIR[29|30|31] + * PB_WEST_FIR_SPARE_0,1 and 2 + */ + (PbWestFir, bit(29|30|31)) ? defaultMaskedError; + + /** PBEASTFIR[29|30|31] + * PB_EAST_FIR_SPARE_0,1 and 2 + */ + (PbEastFir, bit(29|30|31)) ? defaultMaskedError; /** PBWESTFIR[32] * FIR_SCOM_WEST_ERR */ - (PbWestFir, bit(32)) ? TBDDefaultCallout; + (PbWestFir, bit(32)) ? defaultMaskedError; /** PBEASTFIR[32] * FIR_SCOM_EAST_ERR */ - (PbEastFir, bit(32)) ? TBDDefaultCallout; + (PbEastFir, bit(32)) ? defaultMaskedError; /** PBWESTFIR[33] * FIR_SCOM_WEST_ERR_DUP */ - (PbWestFir, bit(33)) ? TBDDefaultCallout; + (PbWestFir, bit(33)) ? defaultMaskedError; /** PBEASTFIR[33] * FIR_SCOM_EAST_ERR_DUP */ - (PbEastFir, bit(33)) ? TBDDefaultCallout; + (PbEastFir, bit(33)) ? defaultMaskedError; }; ################################################################################ @@ -1361,27 +1385,27 @@ group gPbCentFir filter singlebit /** PBCENTFIR[0] * PB_CENT_PROTOCOL_ERROR */ - (PbCentFir, bit(0)) ? TBDDefaultCallout; + (PbCentFir, bit(0)) ? calloutProcLevel2MedThr1; /** PBCENTFIR[1] * PB_CENT_OVERFLOW_ERROR */ - (PbCentFir, bit(1)) ? TBDDefaultCallout; + (PbCentFir, bit(1)) ? calloutProcLevel2MedThr1; /** PBCENTFIR[2] * PB_CENT_HW_PARITY_ERROR */ - (PbCentFir, bit(2)) ? TBDDefaultCallout; + (PbCentFir, bit(2)) ? calloutProcLevel2MedThr1; /** PBCENTFIR[3] * PB_CENT_TLBIE_TM_TIMEOUT_ERROR */ - (PbCentFir, bit(3)) ? TBDDefaultCallout; + (PbCentFir, bit(3)) ? defaultMaskedError; /** PBCENTFIR[4] * PB_CENT_COHERENCY_ERROR */ - (PbCentFir, bit(4)) ? TBDDefaultCallout; + (PbCentFir, bit(4)) ? calloutProcLevel2MedThr1; /** PBCENTFIR[5] * PB_CENT_CRESP_ADDR_ERROR @@ -1391,22 +1415,22 @@ group gPbCentFir filter singlebit /** PBCENTFIR[6] * PB_CENT_CRESP_ERROR */ - (PbCentFir, bit(6)) ? TBDDefaultCallout; + (PbCentFir, bit(6)) ? calloutProcLevel2MedThr1; /** PBCENTFIR[7] * PB_CENT_HANG_RECOVERY_LIMIT_ERROR */ - (PbCentFir, bit(7)) ? TBDDefaultCallout; + (PbCentFir, bit(7)) ? defaultMaskedError; /** PBCENTFIR[8] * PB_CENT_DATA_ROUTE_ERROR */ - (PbCentFir, bit(8)) ? TBDDefaultCallout; + (PbCentFir, bit(8)) ? calloutProcLevel2MedThr1; /** PBCENTFIR[9] * PB_CENT_HANG_RECOVERY_GTE_LEVEL1 */ - (PbCentFir, bit(9)) ? TBDDefaultCallout; + (PbCentFir, bit(9)) ? defaultMaskedError; /** PBCENTFIR[10] * PB_CENT_FORCE_MP_IPL @@ -1416,37 +1440,37 @@ group gPbCentFir filter singlebit /** PBCENTFIR[11] * PB_CENT_FIR_SPARE_0 */ - (PbCentFir, bit(11)) ? TBDDefaultCallout; + (PbCentFir, bit(11)) ? calloutProcLevel2MedThr1; /** PBCENTFIR[12] * PB_CENT_F0LINK_ERROR */ - (PbCentFir, bit(12)) ? TBDDefaultCallout; + (PbCentFir, bit(12)) ? calloutProcLevel2MedThr1; /** PBCENTFIR[13] * PB_CENT_F1LINK_ERROR */ - (PbCentFir, bit(13)) ? TBDDefaultCallout; + (PbCentFir, bit(13)) ? calloutProcLevel2MedThr1; /** PBCENTFIR[14] * PB_CENT_F0_OVERFLOW */ - (PbCentFir, bit(14)) ? TBDDefaultCallout; + (PbCentFir, bit(14)) ? calloutProcLevel2MedThr1; /** PBCENTFIR[15] * PB_CENT_F1_OVERFLOW */ - (PbCentFir, bit(15)) ? TBDDefaultCallout; + (PbCentFir, bit(15)) ? calloutProcLevel2MedThr1; /** PBCENTFIR[16] * FIR_SCOM_CENT_ERR */ - (PbCentFir, bit(16)) ? TBDDefaultCallout; + (PbCentFir, bit(16)) ? defaultMaskedError; /** PBCENTFIR[17] * FIR_SCOM_CENT_ERR_DUP */ - (PbCentFir, bit(17)) ? TBDDefaultCallout; + (PbCentFir, bit(17)) ? defaultMaskedError; }; ################################################################################ @@ -2248,6 +2272,9 @@ group gEnHcaFir filter singlebit # rule code parser does not have the support for something like this. # Maybe we can add this as a later feature. +################################################################################ +# FIR last updated based on p8dd1_mss_FFDC_37_ reviewd.xls +################################################################################ rule PciNestFir_0 { CHECK_STOP: @@ -2277,21 +2304,22 @@ group gPciNestFir filter singlebit /** PCINESTFIR_0[0] * BAR_PE */ - (PciNestFir_0, bit(0)) ? TBDDefaultCallout; + (PciNestFir_0, bit(0)) ? calloutConnPci0Th1; /** PCINESTFIR_1[0] * BAR_PE */ - (PciNestFir_1, bit(0)) ? TBDDefaultCallout; + (PciNestFir_1, bit(0)) ? calloutConnPci1Th1; /** PCINESTFIR_2[0] * BAR_PE */ - (PciNestFir_2, bit(0)) ? TBDDefaultCallout; + (PciNestFir_2, bit(0)) ? calloutConnPci2Th1; /** PCINESTFIR_0[1] * NONBAR_PE */ + # FIXME RTC 23127 Should Phyp Threshold (PciNestFir_0, bit(1)) ? TBDDefaultCallout; /** PCINESTFIR_1[1] @@ -2307,6 +2335,7 @@ group gPciNestFir filter singlebit /** PCINESTFIR_0[2] * PB_TO_PEC_CE */ + # FIXME RTC 23127 PB_TO_PEC under discussion (PciNestFir_0, bit(2)) ? TBDDefaultCallout; /** PCINESTFIR_1[2] @@ -2322,6 +2351,7 @@ group gPciNestFir filter singlebit /** PCINESTFIR_0[3] * PB_TO_PEC_UE */ + # FIXME RTC 23127 PB_TO_PEC under discussion (PciNestFir_0, bit(3)) ? TBDDefaultCallout; /** PCINESTFIR_1[3] @@ -2337,81 +2367,82 @@ group gPciNestFir filter singlebit /** PCINESTFIR_0[4] * PB_TO_PEC_SUE */ - (PciNestFir_0, bit(4)) ? TBDDefaultCallout; + (PciNestFir_0, bit(4)) ? defaultMaskedError; /** PCINESTFIR_1[4] * PB_TO_PEC_SUE */ - (PciNestFir_1, bit(4)) ? TBDDefaultCallout; + (PciNestFir_1, bit(4)) ? defaultMaskedError; /** PCINESTFIR_2[4] * PB_TO_PEC_SUE */ - (PciNestFir_2, bit(4)) ? TBDDefaultCallout; + (PciNestFir_2, bit(4)) ? defaultMaskedError; /** PCINESTFIR_0[5] * ARY_ECC_CE */ - (PciNestFir_0, bit(5)) ? TBDDefaultCallout; + (PciNestFir_0, bit(5)) ? calloutConnPci0Th32; /** PCINESTFIR_1[5] * ARY_ECC_CE */ - (PciNestFir_1, bit(5)) ? TBDDefaultCallout; + (PciNestFir_1, bit(5)) ? calloutConnPci1Th32; /** PCINESTFIR_2[5] * ARY_ECC_CE */ - (PciNestFir_2, bit(5)) ? TBDDefaultCallout; + (PciNestFir_2, bit(5)) ? calloutConnPci2Th32; /** PCINESTFIR_0[6] * ARY_ECC_UE */ - (PciNestFir_0, bit(6)) ? TBDDefaultCallout; + (PciNestFir_0, bit(6)) ? calloutConnPci0Th1; /** PCINESTFIR_1[6] * ARY_ECC_UE */ - (PciNestFir_1, bit(6)) ? TBDDefaultCallout; + (PciNestFir_1, bit(6)) ? calloutConnPci1Th1; /** PCINESTFIR_2[6] * ARY_ECC_UE */ - (PciNestFir_2, bit(6)) ? TBDDefaultCallout; + (PciNestFir_2, bit(6)) ? calloutConnPci2Th1; /** PCINESTFIR_0[7] * ARY_ECC_SUE */ - (PciNestFir_0, bit(7)) ? TBDDefaultCallout; + (PciNestFir_0, bit(7)) ? defaultMaskedError; /** PCINESTFIR_1[7] * ARY_ECC_SUE */ - (PciNestFir_1, bit(7)) ? TBDDefaultCallout; + (PciNestFir_1, bit(7)) ? defaultMaskedError; /** PCINESTFIR_2[7] * ARY_ECC_SUE */ - (PciNestFir_2, bit(7)) ? TBDDefaultCallout; + (PciNestFir_2, bit(7)) ? defaultMaskedError; /** PCINESTFIR_0[8] * REGISTER_ARRAY_PE */ - (PciNestFir_0, bit(8)) ? TBDDefaultCallout; + (PciNestFir_0, bit(8)) ? calloutConnPci0Th1; /** PCINESTFIR_1[8] * REGISTER_ARRAY_PE */ - (PciNestFir_1, bit(8)) ? TBDDefaultCallout; + (PciNestFir_1, bit(8)) ? calloutConnPci1Th1; /** PCINESTFIR_2[8] * REGISTER_ARRAY_PE */ - (PciNestFir_2, bit(8)) ? TBDDefaultCallout; + (PciNestFir_2, bit(8)) ? calloutConnPci2Th1; /** PCINESTFIR_0[9] * PB_INTERFACE_PE */ + # FIXME RTC 23127 MRU PB to PEC under discussion (PciNestFir_0, bit(9)) ? TBDDefaultCallout; /** PCINESTFIR_1[9] @@ -2427,81 +2458,83 @@ group gPciNestFir filter singlebit /** PCINESTFIR_0[10] * PB_DATA_HANG_ERRORS */ - (PciNestFir_0, bit(10)) ? TBDDefaultCallout; + (PciNestFir_0, bit(10)) ? defaultMaskedError; /** PCINESTFIR_1[10] * PB_DATA_HANG_ERRORS */ - (PciNestFir_1, bit(10)) ? TBDDefaultCallout; + (PciNestFir_1, bit(10)) ? defaultMaskedError; /** PCINESTFIR_2[10] * PB_DATA_HANG_ERRORS */ - (PciNestFir_2, bit(10)) ? TBDDefaultCallout; + (PciNestFir_2, bit(10)) ? defaultMaskedError; /** PCINESTFIR_0[11] * PB_HANG_ERRORS */ - (PciNestFir_0, bit(11)) ? TBDDefaultCallout; + (PciNestFir_0, bit(11)) ? defaultMaskedError; /** PCINESTFIR_1[11] * PB_HANG_ERRORS */ - (PciNestFir_1, bit(11)) ? TBDDefaultCallout; + (PciNestFir_1, bit(11)) ? defaultMaskedError; /** PCINESTFIR_2[11] * PB_HANG_ERRORS */ - (PciNestFir_2, bit(11)) ? TBDDefaultCallout; + (PciNestFir_2, bit(11)) ? defaultMaskedError; /** PCINESTFIR_0[12] * RD_ARE_ERRORS */ - (PciNestFir_0, bit(12)) ? TBDDefaultCallout; + (PciNestFir_0, bit(12)) ? calloutProcLevel2MedThr1; /** PCINESTFIR_1[12] * RD_ARE_ERRORS */ - (PciNestFir_1, bit(12)) ? TBDDefaultCallout; + (PciNestFir_1, bit(12)) ? calloutProcLevel2MedThr1; /** PCINESTFIR_2[12] * RD_ARE_ERRORS */ - (PciNestFir_2, bit(12)) ? TBDDefaultCallout; + (PciNestFir_2, bit(12)) ? calloutProcLevel2MedThr1; /** PCINESTFIR_0[13] * NONRD_ARE_ERRORS */ - (PciNestFir_0, bit(13)) ? TBDDefaultCallout; + (PciNestFir_0, bit(13)) ? calloutProcLevel2MedThr1; /** PCINESTFIR_1[13] * NONRD_ARE_ERRORS */ - (PciNestFir_1, bit(13)) ? TBDDefaultCallout; + (PciNestFir_1, bit(13)) ? calloutProcLevel2MedThr1; /** PCINESTFIR_2[13] * NONRD_ARE_ERRORS */ - (PciNestFir_2, bit(13)) ? TBDDefaultCallout; + (PciNestFir_2, bit(13)) ? calloutProcLevel2MedThr1; /** PCINESTFIR_0[14] * PCI_HANG_ERROR */ - (PciNestFir_0, bit(14)) ? TBDDefaultCallout; + # FIXME RTC 23127 PCI All under discussion + (PciNestFir_0, bit(14)) ? calloutConnPci0AndIsolatePathTh1; /** PCINESTFIR_1[14] * PCI_HANG_ERROR */ - (PciNestFir_1, bit(14)) ? TBDDefaultCallout; + (PciNestFir_1, bit(14)) ? calloutConnPci1AndIsolatePathTh1; /** PCINESTFIR_2[14] * PCI_HANG_ERROR */ - (PciNestFir_2, bit(14)) ? TBDDefaultCallout; + (PciNestFir_2, bit(14)) ? calloutConnPci2AndIsolatePathTh1; /** PCINESTFIR_0[15] * PCI_CLOCK_ERROR */ + # FIXME RTC 23127 Clock Isolate is under discussion (PciNestFir_0, bit(15)) ? TBDDefaultCallout; /** PCINESTFIR_1[15] @@ -2517,111 +2550,112 @@ group gPciNestFir filter singlebit /** PCINESTFIR_0[16] * AIB_FENCE */ - (PciNestFir_0, bit(16)) ? TBDDefaultCallout; + (PciNestFir_0, bit(16)) ? calloutConnPci0Th1; /** PCINESTFIR_1[16] * AIB_FENCE */ - (PciNestFir_1, bit(16)) ? TBDDefaultCallout; + (PciNestFir_1, bit(16)) ? calloutConnPci1Th1; /** PCINESTFIR_2[16] * AIB_FENCE */ - (PciNestFir_2, bit(16)) ? TBDDefaultCallout; + (PciNestFir_2, bit(16)) ? calloutConnPci2Th1; /** PCINESTFIR_0[17] * HW_ERRORS */ - (PciNestFir_0, bit(17)) ? TBDDefaultCallout; + (PciNestFir_0, bit(17)) ? calloutConnPci0Th1; /** PCINESTFIR_1[17] * HW_ERRORS */ - (PciNestFir_1, bit(17)) ? TBDDefaultCallout; + (PciNestFir_1, bit(17)) ? calloutConnPci1Th1; /** PCINESTFIR_2[17] * HW_ERRORS */ - (PciNestFir_2, bit(17)) ? TBDDefaultCallout; + (PciNestFir_2, bit(17)) ? calloutConnPci2Th1; /** PCINESTFIR_0[18] * UNSOLICITIEDPBDATA */ - (PciNestFir_0, bit(18)) ? TBDDefaultCallout; + (PciNestFir_0, bit(18)) ? callout2ndLvlMed; /** PCINESTFIR_1[18] * UNSOLICITIEDPBDATA */ - (PciNestFir_1, bit(18)) ? TBDDefaultCallout; + (PciNestFir_1, bit(18)) ? callout2ndLvlMed; /** PCINESTFIR_2[18] * UNSOLICITIEDPBDATA */ - (PciNestFir_2, bit(18)) ? TBDDefaultCallout; + (PciNestFir_2, bit(18)) ? callout2ndLvlMed; /** PCINESTFIR_0[19] * UNEXPECTEDCRESP */ - (PciNestFir_0, bit(19)) ? TBDDefaultCallout; + (PciNestFir_0, bit(19)) ? callout2ndLvlMed; /** PCINESTFIR_1[19] * UNEXPECTEDCRESP */ - (PciNestFir_1, bit(19)) ? TBDDefaultCallout; + (PciNestFir_1, bit(19)) ? callout2ndLvlMed; /** PCINESTFIR_2[19] * UNEXPECTEDCRESP */ - (PciNestFir_2, bit(19)) ? TBDDefaultCallout; + (PciNestFir_2, bit(19)) ? callout2ndLvlMed; /** PCINESTFIR_0[20] * INVALIDCRESP */ - (PciNestFir_0, bit(20)) ? TBDDefaultCallout; + (PciNestFir_0, bit(20)) ? calloutProcLevel2MedThr1; /** PCINESTFIR_1[20] * INVALIDCRESP */ - (PciNestFir_1, bit(20)) ? TBDDefaultCallout; + (PciNestFir_1, bit(20)) ? calloutProcLevel2MedThr1; /** PCINESTFIR_2[20] * INVALIDCRESP */ - (PciNestFir_2, bit(20)) ? TBDDefaultCallout; + (PciNestFir_2, bit(20)) ? calloutProcLevel2MedThr1; /** PCINESTFIR_0[21] * PBUNSUPPORTEDSIZE */ - (PciNestFir_0, bit(21)) ? TBDDefaultCallout; + (PciNestFir_0, bit(21)) ? calloutProcLevel2MedThr1; /** PCINESTFIR_1[21] * PBUNSUPPORTEDSIZE */ - (PciNestFir_1, bit(21)) ? TBDDefaultCallout; + (PciNestFir_1, bit(21)) ? calloutProcLevel2MedThr1; /** PCINESTFIR_2[21] * PBUNSUPPORTEDSIZE */ - (PciNestFir_2, bit(21)) ? TBDDefaultCallout; + (PciNestFir_2, bit(21)) ? calloutProcLevel2MedThr1; /** PCINESTFIR_0[22] * PBUNSUPPORTEDCMD */ - (PciNestFir_0, bit(22)) ? TBDDefaultCallout; + (PciNestFir_0, bit(22)) ? calloutProcLevel2MedThr1; /** PCINESTFIR_1[22] * PBUNSUPPORTEDCMD */ - (PciNestFir_1, bit(22)) ? TBDDefaultCallout; + (PciNestFir_1, bit(22)) ? calloutProcLevel2MedThr1; /** PCINESTFIR_2[22] * PBUNSUPPORTEDCMD */ - (PciNestFir_2, bit(22)) ? TBDDefaultCallout; + (PciNestFir_2, bit(22)) ? calloutProcLevel2MedThr1; /** PCINESTFIR_0[23] * AIB_PE */ + # FIXME RTC 23127 Should Phyp Threshold ? (PciNestFir_0, bit(23)) ? TBDDefaultCallout; /** PCINESTFIR_1[23] @@ -2637,21 +2671,22 @@ group gPciNestFir filter singlebit /** PCINESTFIR_0[24] * ASB_ERROR */ - (PciNestFir_0, bit(24)) ? TBDDefaultCallout; + (PciNestFir_0, bit(24)) ? calloutConnPci0Th1; /** PCINESTFIR_1[24] * ASB_ERROR */ - (PciNestFir_1, bit(24)) ? TBDDefaultCallout; + (PciNestFir_1, bit(24)) ? calloutConnPci1Th1; /** PCINESTFIR_2[24] * ASB_ERROR */ - (PciNestFir_2, bit(24)) ? TBDDefaultCallout; + (PciNestFir_2, bit(24)) ? calloutConnPci2Th1; /** PCINESTFIR_0[25] * FOREIGN_LINK_FAIL */ + # FIXME RTC 23127 Action TBD (PciNestFir_0, bit(25)) ? TBDDefaultCallout; /** PCINESTFIR_1[25] @@ -2667,6 +2702,7 @@ group gPciNestFir filter singlebit /** PCINESTFIR_0[26] * FOREIGN_PB_HANG */ + # FIXME RTC 23127 Action TBD (PciNestFir_0, bit(26)) ? TBDDefaultCallout; /** PCINESTFIR_1[26] @@ -2682,6 +2718,7 @@ group gPciNestFir filter singlebit /** PCINESTFIR_0[27] * CAPP_ERROR */ + # FIXME RTC 23127 Action TBD (PciNestFir_0, bit(27)) ? TBDDefaultCallout; /** PCINESTFIR_1[27] @@ -2697,17 +2734,48 @@ group gPciNestFir filter singlebit /** PCINESTFIR_0[28] * SYNC_SCOM_ERR */ - (PciNestFir_0, bit(28)) ? TBDDefaultCallout; + (PciNestFir_0, bit(28)) ? defaultMaskedError; /** PCINESTFIR_1[28] * SYNC_SCOM_ERR */ - (PciNestFir_1, bit(28)) ? TBDDefaultCallout; + (PciNestFir_1, bit(28)) ? defaultMaskedError; /** PCINESTFIR_2[28] * SYNC_SCOM_ERR */ - (PciNestFir_2, bit(28)) ? TBDDefaultCallout; + (PciNestFir_2, bit(28)) ? defaultMaskedError; + + /** PCINESTFIR_0[29] + * SCOM Engine ERROR 0 + */ + (PciNestFir_0, bit(29)) ? defaultMaskedError; + + /** PCINESTFIR_1[29] + * SCOM Engine ERROR 0 + */ + (PciNestFir_1, bit(29)) ? defaultMaskedError; + + /** PCINESTFIR_2[29] + * SCOM Engine ERROR 0 + */ + (PciNestFir_2, bit(29)) ? defaultMaskedError; + + /** PCINESTFIR_0[30] + * SCOM Engine ERROR 0 + */ + (PciNestFir_0, bit(30)) ? defaultMaskedError; + + /** PCINESTFIR_1[30] + * SCOM Engine ERROR 1 + */ + (PciNestFir_1, bit(30)) ? defaultMaskedError; + + /** PCINESTFIR_2[30] + * SCOM Engine ERROR 1 + */ + (PciNestFir_2, bit(30)) ? defaultMaskedError; + }; ################################################################################ @@ -2922,7 +2990,6 @@ actionclass analyzeMpIPL funccall("analyzeMpIPL"); }; - # DMI Bus 0-3 Spare Deployed actionclass dmiBus0SpareDeployed { @@ -3005,3 +3072,52 @@ actionclass dmiBus3TooManyBusErrors funccall("dmiBus3TooManyErrors"); threshold1; }; + +/** Callout the connected PCI 0 controller. */ +actionclass calloutConnPci0 { callout(connected(TYPE_PCI,0), MRU_MED); }; + +/** Callout the connected PCI 1 controller. */ +actionclass calloutConnPci1 { callout(connected(TYPE_PCI,1), MRU_MED); }; + +/** Callout the connected PCI 2 controller. */ +actionclass calloutConnPci2 { callout(connected(TYPE_PCI,2), MRU_MED); }; + +/** Callout the connected PCI 0 controller, threshold 1 */ +actionclass calloutConnPci0Th1 { calloutConnPci0; threshold1; }; + +/** Callout the connected PCI 1 controller, threshold 1 */ +actionclass calloutConnPci1Th1 { calloutConnPci1; threshold1; }; + +/** Callout the connected PCI 2 controller, threshold 1 */ +actionclass calloutConnPci2Th1 { calloutConnPci2; threshold1; }; + +/** Callout the connected PCI 0 controller, threshold 32 per day */ +actionclass calloutConnPci0Th32 { calloutConnPci0; threshold32pday; }; + +/** Callout the connected PCI 1 controller, threshold 32 per day */ +actionclass calloutConnPci1Th32 { calloutConnPci1; threshold32pday; }; + +/** Callout the connected PCI 2 controller, threshold 32 per day */ +actionclass calloutConnPci2Th32 { calloutConnPci2; threshold32pday; }; + +/** Callout the connected PCI 0 controller and path to adapter, threshold 1 */ +actionclass calloutConnPci0AndIsolatePathTh1 +{ + #FIXME RTC 23127 Need to find right Procedure for PCI path isolation + calloutConnPci0Th1; +}; + +/** Callout the connected PCI 1 controller and path to adapter, threshold 1 */ +actionclass calloutConnPci1AndIsolatePathTh1 +{ + #FIXME RTC 23127 Need to find right Procedure for PCI path isolation + calloutConnPci1Th1; +}; + +/** Callout the connected PCI 2 controller and path to adapter, threshold 1 */ +actionclass calloutConnPci2AndIsolatePathTh1 +{ + #FIXME RTC 23127 Need to find right Procedure for PCI path isolation + calloutConnPci2Th1; +}; + diff --git a/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_XBUS.rule b/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_XBUS.rule index 3b52c4556..43279dd30 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_XBUS.rule +++ b/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_XBUS.rule @@ -280,8 +280,6 @@ { name "PSI.PSI_MAC.PSI_SCOM.FIR_REG"; scomaddr 0x04012400; - reset (&, 0x04012401); - mask (|, 0x04012405); capture group default; }; diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfP8Proc.C b/src/usr/diag/prdf/common/plat/pegasus/prdfP8Proc.C index 39815f782..0d40c9ddd 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/prdfP8Proc.C +++ b/src/usr/diag/prdf/common/plat/pegasus/prdfP8Proc.C @@ -744,5 +744,82 @@ int32_t MaskMCS31IfCentaurCheckstop( ExtensibleChip * i_chip, } PRDF_PLUGIN_DEFINE( Proc, MaskMCS31IfCentaurCheckstop ); +/** + * @brief Calls out chip connected on both ends of the a given bus + * @param i_chip P8 chip + * @param i_sc The step code data struct + * @param i_type type of bus in question + * @param i_pos position asociated with bus target + * @returns Success + */ + +int32_t calloutChip( ExtensibleChip * i_chip, STEP_CODE_DATA_STRUCT & i_sc, + TYPE i_type, uint32_t i_pos ) +{ + //FIXME RTC 72645 Once connection type is supported in getconnected, we + //shall no longer need these plugins using this function.Callout connected + //resolution shall be enough for us to callout connected peer proc. + + TargetHandle_t l_srcProcTgt = i_chip->GetChipHandle( ); + TargetHandle_t l_desPeerProc = PlatServices::getConnectedPeerProc( + l_srcProcTgt,i_type,i_pos ); + PRDpriority l_priority = MRU_MEDA; + if( NULL == l_desPeerProc ) + { + PRDF_ERR("proc::calloutChip failed to get peer proc "); + } + else + { + //FIXME RTC 23127 If Ras Team agrees,we shall just callout A-Bus here + //and not entire Proc chips on both ends of A-Bus. + i_sc.service_data->SetCallout( l_desPeerProc,l_priority ); + } + i_sc.service_data->SetCallout( l_srcProcTgt,l_priority ); + return SUCCESS; +} + +/** + * @brief Called when there is an error on ABus0 connecting two PB chiplet + * @param i_chip P8 chip + * @param i_sc The step code data struct + * @returns Success + */ + +int32_t calloutProcsConnectedToAbus0( ExtensibleChip * i_chip, + STEP_CODE_DATA_STRUCT & i_sc ) +{ + return calloutChip( i_chip,i_sc,TYPE_ABUS,0 ); +} +PRDF_PLUGIN_DEFINE( Proc,calloutProcsConnectedToAbus0 ); + + +/** + * @brief Called when there is an error on ABus1 connecting two PB chiplet + * @param i_chip P8 chip + * @param i_sc The step code data struct + * @returns Success + */ + +int32_t calloutProcsConnectedToAbus1( ExtensibleChip * i_chip, + STEP_CODE_DATA_STRUCT & i_sc ) +{ + return calloutChip( i_chip,i_sc,TYPE_ABUS,1 ); +} +PRDF_PLUGIN_DEFINE( Proc,calloutProcsConnectedToAbus1 ); + +/** + * @brief Called when there is an error on ABus2 connecting two PB chiplet + * @param i_chip P8 chip + * @param i_sc The step code data struct + * @returns Success + */ + +int32_t calloutProcsConnectedToAbus2( ExtensibleChip * i_chip, + STEP_CODE_DATA_STRUCT & i_sc ) +{ + return calloutChip( i_chip,i_sc,TYPE_ABUS,2 ); +} +PRDF_PLUGIN_DEFINE( Proc,calloutProcsConnectedToAbus2 ); + } // end namespace Proc } // end namespace PRDF |