summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/prdf
diff options
context:
space:
mode:
authorPrem Shanker Jha <premjha2@in.ibm.com>2013-04-19 01:24:53 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2013-06-11 09:11:38 -0500
commitb3ec9ee42b932f75f20d0f4408346c07975b1eb0 (patch)
treef1f18931b68849911ff5540fb74b8686420b7c3c /src/usr/diag/prdf
parent25a05966a93786736212b4f35aa84929423a48e4 (diff)
downloadtalos-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')
-rwxr-xr-xsrc/usr/diag/prdf/common/framework/rule/prdrCompile.C1
-rwxr-xr-xsrc/usr/diag/prdf/common/framework/service/prdfTargetServices.C2
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/CommonActions.rule104
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Ex.rule88
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Mcs.rule156
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Proc_acts_ABUS.rule123
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Proc_acts_PB.rule390
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Proc_regs_XBUS.rule2
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/prdfP8Proc.C77
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
OpenPOWER on IntegriCloud