summaryrefslogtreecommitdiffstats
path: root/src/usr
diff options
context:
space:
mode:
authorZane Shelley <zshelle@us.ibm.com>2016-04-08 10:15:50 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2016-05-02 12:00:33 -0400
commit2e1bc4b539ab9ccac5045d8ef7e937378af91901 (patch)
treed558061ece2a5da586301babf0563a03378ff779 /src/usr
parent7057ace0dd090782177982d9dcda3532286e33ab (diff)
downloadtalos-hostboot-2e1bc4b539ab9ccac5045d8ef7e937378af91901.tar.gz
talos-hostboot-2e1bc4b539ab9ccac5045d8ef7e937378af91901.zip
PRD: add initial rule files for P9
All actions for the local FIRs are default TBD. actual RAS actions will be added later. Change-Id: I47fb3c8d7336fc1da28cab7aa2c7a242de0b2617 RTC: 145946 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/23052 Tested-by: Jenkins Server Reviewed-by: Caleb N. Palmer <cnpalmer@us.ibm.com> Reviewed-by: Benjamin J. Weisenbeck <bweisenb@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/23808 Tested-by: FSP CI Jenkins
Diffstat (limited to 'src/usr')
-rw-r--r--src/usr/diag/prdf/common/plat/p9/p9_capp.rule463
-rw-r--r--[-rwxr-xr-x]src/usr/diag/prdf/common/plat/p9/p9_common_actions.rule (renamed from src/usr/diag/prdf/common/plat/pegasus/CommonActions.rule)6
-rw-r--r--src/usr/diag/prdf/common/plat/p9/p9_ec.rule867
-rw-r--r--src/usr/diag/prdf/common/plat/p9/p9_eq.rule492
-rw-r--r--src/usr/diag/prdf/common/plat/p9/p9_ex.rule1588
-rw-r--r--src/usr/diag/prdf/common/plat/p9/p9_mca.rule1213
-rw-r--r--src/usr/diag/prdf/common/plat/p9/p9_mcbist.rule463
-rw-r--r--src/usr/diag/prdf/common/plat/p9/p9_mcs.rule463
-rw-r--r--src/usr/diag/prdf/common/plat/p9/p9_nimbus.rule11707
-rw-r--r--src/usr/diag/prdf/common/plat/p9/p9_obus.rule1239
-rw-r--r--src/usr/diag/prdf/common/plat/p9/p9_pec.rule838
-rw-r--r--src/usr/diag/prdf/common/plat/p9/p9_phb.rule1213
-rw-r--r--src/usr/diag/prdf/common/plat/p9/p9_xbus.rule463
-rw-r--r--src/usr/diag/prdf/common/rule/prdf_rule.mk18
-rw-r--r--src/usr/diag/prdf/common/rule/prdrCompile.C13
-rwxr-xr-xsrc/usr/diag/prdf/rule/makefile4
16 files changed, 21034 insertions, 16 deletions
diff --git a/src/usr/diag/prdf/common/plat/p9/p9_capp.rule b/src/usr/diag/prdf/common/plat/p9/p9_capp.rule
new file mode 100644
index 000000000..de717b42a
--- /dev/null
+++ b/src/usr/diag/prdf/common/plat/p9/p9_capp.rule
@@ -0,0 +1,463 @@
+# IBM_PROLOG_BEGIN_TAG
+# This is an automatically generated prolog.
+#
+# $Source: src/usr/diag/prdf/common/plat/p9/p9_capp.rule $
+#
+# OpenPOWER HostBoot Project
+#
+# Contributors Listed Below - COPYRIGHT 2016
+# [+] International Business Machines Corp.
+#
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# permissions and limitations under the License.
+#
+# IBM_PROLOG_END_TAG
+
+chip p9_capp
+{
+ name "P9 CAPP chiplet";
+ targettype TYPE_CAPP;
+ sigoff 0x9000;
+ dump DUMP_CONTENT_HW;
+ scomlen 64;
+
+ #############################################################################
+ # #
+ # ###### #
+ # # # ###### #### ### #### ##### ###### ##### #### #
+ # # # # # # # # # # # # # #
+ # ###### ##### # # #### # ##### # # #### #
+ # # # # # ### # # # # ##### # #
+ # # # # # # # # # # # # # # # #
+ # # # ###### #### ### #### # ###### # # #### #
+ # #
+ #############################################################################
+
+ ############################################################################
+ # P9 CAPP target CXAFIR
+ ############################################################################
+
+ register CXAFIR
+ {
+ name "P9 CAPP target CXAFIR";
+ scomaddr 0x02010800;
+ reset (&, 0x02010801);
+ mask (|, 0x02010805);
+ capture group default;
+ };
+
+ register CXAFIR_MASK
+ {
+ name "P9 CAPP target CXAFIR MASK";
+ scomaddr 0x02010803;
+ capture group default;
+ };
+
+ register CXAFIR_ACT0
+ {
+ name "P9 CAPP target CXAFIR ACT0";
+ scomaddr 0x02010806;
+ capture group default;
+ capture req nonzero("CXAFIR");
+ };
+
+ register CXAFIR_ACT1
+ {
+ name "P9 CAPP target CXAFIR ACT1";
+ scomaddr 0x02010807;
+ capture group default;
+ capture req nonzero("CXAFIR");
+ };
+
+};
+
+ ##############################################################################
+ # #
+ # #### # #
+ # # # # # # ##### ### # # # ## ##### ### ### # # ### #
+ # # # # # # # # # # # # # # # # # ## # # #
+ # #### # # # #### ### # ####### # # # # # # # # ### #
+ # # # # # # # # # # # # # # # # # # ## # #
+ # # # ### #### ##### ### # # # ## # ### ### # # ### #
+ # #
+ ##############################################################################
+
+################################################################################
+# Summary for CAPP
+################################################################################
+
+rule rCAPP
+{
+ CHECK_STOP:
+ summary( 0, rCXAFIR );
+
+ RECOVERABLE:
+ summary( 0, rCXAFIR );
+
+};
+
+group gCAPP attntype CHECK_STOP, RECOVERABLE
+{
+ (rCAPP, bit(0)) ? analyze(gCXAFIR);
+};
+
+################################################################################
+# P9 CAPP target CXAFIR
+################################################################################
+
+rule rCXAFIR
+{
+ CHECK_STOP:
+ CXAFIR & ~CXAFIR_MASK & ~CXAFIR_ACT0 & ~CXAFIR_ACT1;
+ RECOVERABLE:
+ CXAFIR & ~CXAFIR_MASK & ~CXAFIR_ACT0 & CXAFIR_ACT1;
+};
+
+group gCXAFIR filter singlebit
+{
+ /** CXAFIR[0]
+ *
+ */
+ (rCXAFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** CXAFIR[1]
+ *
+ */
+ (rCXAFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** CXAFIR[2]
+ *
+ */
+ (rCXAFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** CXAFIR[3]
+ *
+ */
+ (rCXAFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** CXAFIR[4]
+ *
+ */
+ (rCXAFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** CXAFIR[5]
+ *
+ */
+ (rCXAFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** CXAFIR[6]
+ *
+ */
+ (rCXAFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** CXAFIR[7]
+ *
+ */
+ (rCXAFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** CXAFIR[8]
+ *
+ */
+ (rCXAFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** CXAFIR[9]
+ *
+ */
+ (rCXAFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** CXAFIR[10]
+ *
+ */
+ (rCXAFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** CXAFIR[11]
+ *
+ */
+ (rCXAFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** CXAFIR[12]
+ *
+ */
+ (rCXAFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** CXAFIR[13]
+ *
+ */
+ (rCXAFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** CXAFIR[14]
+ *
+ */
+ (rCXAFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** CXAFIR[15]
+ *
+ */
+ (rCXAFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** CXAFIR[16]
+ *
+ */
+ (rCXAFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** CXAFIR[17]
+ *
+ */
+ (rCXAFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** CXAFIR[18]
+ *
+ */
+ (rCXAFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** CXAFIR[19]
+ *
+ */
+ (rCXAFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** CXAFIR[20]
+ *
+ */
+ (rCXAFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** CXAFIR[21]
+ *
+ */
+ (rCXAFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** CXAFIR[22]
+ *
+ */
+ (rCXAFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** CXAFIR[23]
+ *
+ */
+ (rCXAFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** CXAFIR[24]
+ *
+ */
+ (rCXAFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** CXAFIR[25]
+ *
+ */
+ (rCXAFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** CXAFIR[26]
+ *
+ */
+ (rCXAFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** CXAFIR[27]
+ *
+ */
+ (rCXAFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** CXAFIR[28]
+ *
+ */
+ (rCXAFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** CXAFIR[29]
+ *
+ */
+ (rCXAFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** CXAFIR[30]
+ *
+ */
+ (rCXAFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** CXAFIR[31]
+ *
+ */
+ (rCXAFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** CXAFIR[32]
+ *
+ */
+ (rCXAFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** CXAFIR[33]
+ *
+ */
+ (rCXAFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** CXAFIR[34]
+ *
+ */
+ (rCXAFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** CXAFIR[35]
+ *
+ */
+ (rCXAFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** CXAFIR[36]
+ *
+ */
+ (rCXAFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** CXAFIR[37]
+ *
+ */
+ (rCXAFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** CXAFIR[38]
+ *
+ */
+ (rCXAFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** CXAFIR[39]
+ *
+ */
+ (rCXAFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** CXAFIR[40]
+ *
+ */
+ (rCXAFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** CXAFIR[41]
+ *
+ */
+ (rCXAFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** CXAFIR[42]
+ *
+ */
+ (rCXAFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** CXAFIR[43]
+ *
+ */
+ (rCXAFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** CXAFIR[44]
+ *
+ */
+ (rCXAFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** CXAFIR[45]
+ *
+ */
+ (rCXAFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** CXAFIR[46]
+ *
+ */
+ (rCXAFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** CXAFIR[47]
+ *
+ */
+ (rCXAFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** CXAFIR[48]
+ *
+ */
+ (rCXAFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** CXAFIR[49]
+ *
+ */
+ (rCXAFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** CXAFIR[50]
+ *
+ */
+ (rCXAFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** CXAFIR[51]
+ *
+ */
+ (rCXAFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** CXAFIR[52]
+ *
+ */
+ (rCXAFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** CXAFIR[53]
+ *
+ */
+ (rCXAFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** CXAFIR[54]
+ *
+ */
+ (rCXAFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** CXAFIR[55]
+ *
+ */
+ (rCXAFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** CXAFIR[56]
+ *
+ */
+ (rCXAFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** CXAFIR[57]
+ *
+ */
+ (rCXAFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** CXAFIR[58]
+ *
+ */
+ (rCXAFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** CXAFIR[59]
+ *
+ */
+ (rCXAFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** CXAFIR[60]
+ *
+ */
+ (rCXAFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** CXAFIR[61]
+ *
+ */
+ (rCXAFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** CXAFIR[62]
+ *
+ */
+ (rCXAFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** CXAFIR[63]
+ *
+ */
+ (rCXAFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+ ##############################################################################
+ # #
+ # # ### #
+ # # # ## ##### ### ### # # # # # # ### ### ### ### #
+ # # # # # # # # # ## # # # # # # # # # #
+ # ####### # # # # # # # # # # ##### ### ### ## ### #
+ # # # # # # # # # # ## # # # # # # # # # #
+ # # # ## # ### ### # # ### ### # # ### ### ### ### #
+ # #
+ ##############################################################################
+
+# Include the common action set.
+.include "p9_common_actions.rule";
+
diff --git a/src/usr/diag/prdf/common/plat/pegasus/CommonActions.rule b/src/usr/diag/prdf/common/plat/p9/p9_common_actions.rule
index 0747c0236..52e2e303f 100755..100644
--- a/src/usr/diag/prdf/common/plat/pegasus/CommonActions.rule
+++ b/src/usr/diag/prdf/common/plat/p9/p9_common_actions.rule
@@ -1,11 +1,11 @@
# IBM_PROLOG_BEGIN_TAG
# This is an automatically generated prolog.
#
-# $Source: src/usr/diag/prdf/common/plat/pegasus/CommonActions.rule $
+# $Source: src/usr/diag/prdf/common/plat/p9/p9_common_actions.rule $
#
# OpenPOWER HostBoot Project
#
-# Contributors Listed Below - COPYRIGHT 2012,2015
+# Contributors Listed Below - COPYRIGHT 2016
# [+] International Business Machines Corp.
#
#
@@ -32,7 +32,7 @@
# Simply add the following line at the top the actionclass section of each rule
# file:
#
-# .include "CommonActions.rule"
+# .include "p9_common_actions.rule"
#
# Note that no indentation can be used for the .include keyword.
################################################################################
diff --git a/src/usr/diag/prdf/common/plat/p9/p9_ec.rule b/src/usr/diag/prdf/common/plat/p9/p9_ec.rule
new file mode 100644
index 000000000..030b62d5f
--- /dev/null
+++ b/src/usr/diag/prdf/common/plat/p9/p9_ec.rule
@@ -0,0 +1,867 @@
+# IBM_PROLOG_BEGIN_TAG
+# This is an automatically generated prolog.
+#
+# $Source: src/usr/diag/prdf/common/plat/p9/p9_ec.rule $
+#
+# OpenPOWER HostBoot Project
+#
+# Contributors Listed Below - COPYRIGHT 2016
+# [+] International Business Machines Corp.
+#
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# permissions and limitations under the License.
+#
+# IBM_PROLOG_END_TAG
+
+chip p9_ec
+{
+ name "P9 EC chiplet";
+ targettype TYPE_CORE;
+ sigoff 0x9000;
+ dump DUMP_CONTENT_HW;
+ scomlen 64;
+
+ #############################################################################
+ # #
+ # ###### #
+ # # # ###### #### ### #### ##### ###### ##### #### #
+ # # # # # # # # # # # # # #
+ # ###### ##### # # #### # ##### # # #### #
+ # # # # # ### # # # # ##### # #
+ # # # # # # # # # # # # # # # #
+ # # # ###### #### ### #### # ###### # # #### #
+ # #
+ #############################################################################
+
+ ############################################################################
+ # EC Chiplet FIR
+ ############################################################################
+
+ register EC_CHIPLET_CS_FIR
+ {
+ name "EC Chiplet Checkstop FIR";
+ scomaddr 0x20040000;
+ capture group default;
+ };
+
+ register EC_CHIPLET_RE_FIR
+ {
+ name "EC Chiplet Recoverable FIR";
+ scomaddr 0x20040001;
+ capture group default;
+ };
+
+ register EC_CHIPLET_FIR_MASK
+ {
+ name "EC Chiplet FIR MASK";
+ scomaddr 0x20040002;
+ capture group default;
+ };
+
+ ############################################################################
+ # P9 EC target EC_LFIR
+ ############################################################################
+
+ register EC_LFIR
+ {
+ name "P9 EC target EC_LFIR";
+ scomaddr 0x2004000a;
+ reset (&, 0x2004000b);
+ mask (|, 0x2004000f);
+ capture group default;
+ };
+
+ register EC_LFIR_MASK
+ {
+ name "P9 EC target EC_LFIR MASK";
+ scomaddr 0x2004000d;
+ capture group default;
+ };
+
+ register EC_LFIR_ACT0
+ {
+ name "P9 EC target EC_LFIR ACT0";
+ scomaddr 0x20040010;
+ capture group default;
+ capture req nonzero("EC_LFIR");
+ };
+
+ register EC_LFIR_ACT1
+ {
+ name "P9 EC target EC_LFIR ACT1";
+ scomaddr 0x20040011;
+ capture group default;
+ capture req nonzero("EC_LFIR");
+ };
+
+ ############################################################################
+ # P9 EC target COREFIR
+ ############################################################################
+
+ register COREFIR
+ {
+ name "P9 EC target COREFIR";
+ scomaddr 0x20010a40;
+ reset (&, 0x20010a41);
+ mask (|, 0x20010a45);
+ capture group default;
+ };
+
+ register COREFIR_MASK
+ {
+ name "P9 EC target COREFIR MASK";
+ scomaddr 0x20010a43;
+ capture group default;
+ };
+
+ register COREFIR_ACT0
+ {
+ name "P9 EC target COREFIR ACT0";
+ scomaddr 0x20010a46;
+ capture group default;
+ capture req nonzero("COREFIR");
+ };
+
+ register COREFIR_ACT1
+ {
+ name "P9 EC target COREFIR ACT1";
+ scomaddr 0x20010a47;
+ capture group default;
+ capture req nonzero("COREFIR");
+ };
+
+};
+
+ ##############################################################################
+ # #
+ # #### # #
+ # # # # # # ##### ### # # # ## ##### ### ### # # ### #
+ # # # # # # # # # # # # # # # # # ## # # #
+ # #### # # # #### ### # ####### # # # # # # # # ### #
+ # # # # # # # # # # # # # # # # # # ## # #
+ # # # ### #### ##### ### # # # ## # ### ### # # ### #
+ # #
+ ##############################################################################
+
+################################################################################
+# EC Chiplet FIR
+################################################################################
+
+rule rEC_CHIPLET_FIR
+{
+ CHECK_STOP:
+ EC_CHIPLET_CS_FIR & ~EC_CHIPLET_FIR_MASK & `1fffffffffffffff`;
+ RECOVERABLE:
+ (EC_CHIPLET_RE_FIR >> 2) & ~EC_CHIPLET_FIR_MASK & `1fffffffffffffff`;
+};
+
+group gEC_CHIPLET_FIR attntype CHECK_STOP, RECOVERABLE filter singlebit
+{
+ /** EC_CHIPLET_FIR[3]
+ * Attention from EC_LFIR
+ */
+ (rEC_CHIPLET_FIR, bit(3)) ? analyze(gEC_LFIR);
+
+ /** EC_CHIPLET_FIR[4]
+ * Attention from COREFIR
+ */
+ (rEC_CHIPLET_FIR, bit(4)) ? analyze(gCOREFIR);
+
+};
+
+################################################################################
+# P9 EC target EC_LFIR
+################################################################################
+
+rule rEC_LFIR
+{
+ CHECK_STOP:
+ EC_LFIR & ~EC_LFIR_MASK & ~EC_LFIR_ACT0 & ~EC_LFIR_ACT1;
+ RECOVERABLE:
+ EC_LFIR & ~EC_LFIR_MASK & ~EC_LFIR_ACT0 & EC_LFIR_ACT1;
+};
+
+group gEC_LFIR filter singlebit
+{
+ /** EC_LFIR[0]
+ *
+ */
+ (rEC_LFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[1]
+ *
+ */
+ (rEC_LFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[2]
+ *
+ */
+ (rEC_LFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[3]
+ *
+ */
+ (rEC_LFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[4]
+ *
+ */
+ (rEC_LFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[5]
+ *
+ */
+ (rEC_LFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[6]
+ *
+ */
+ (rEC_LFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[7]
+ *
+ */
+ (rEC_LFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[8]
+ *
+ */
+ (rEC_LFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[9]
+ *
+ */
+ (rEC_LFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[10]
+ *
+ */
+ (rEC_LFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[11]
+ *
+ */
+ (rEC_LFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[12]
+ *
+ */
+ (rEC_LFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[13]
+ *
+ */
+ (rEC_LFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[14]
+ *
+ */
+ (rEC_LFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[15]
+ *
+ */
+ (rEC_LFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[16]
+ *
+ */
+ (rEC_LFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[17]
+ *
+ */
+ (rEC_LFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[18]
+ *
+ */
+ (rEC_LFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[19]
+ *
+ */
+ (rEC_LFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[20]
+ *
+ */
+ (rEC_LFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[21]
+ *
+ */
+ (rEC_LFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[22]
+ *
+ */
+ (rEC_LFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[23]
+ *
+ */
+ (rEC_LFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[24]
+ *
+ */
+ (rEC_LFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[25]
+ *
+ */
+ (rEC_LFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[26]
+ *
+ */
+ (rEC_LFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[27]
+ *
+ */
+ (rEC_LFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[28]
+ *
+ */
+ (rEC_LFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[29]
+ *
+ */
+ (rEC_LFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[30]
+ *
+ */
+ (rEC_LFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[31]
+ *
+ */
+ (rEC_LFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[32]
+ *
+ */
+ (rEC_LFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[33]
+ *
+ */
+ (rEC_LFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[34]
+ *
+ */
+ (rEC_LFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[35]
+ *
+ */
+ (rEC_LFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[36]
+ *
+ */
+ (rEC_LFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[37]
+ *
+ */
+ (rEC_LFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[38]
+ *
+ */
+ (rEC_LFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[39]
+ *
+ */
+ (rEC_LFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[40]
+ *
+ */
+ (rEC_LFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[41]
+ *
+ */
+ (rEC_LFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[42]
+ *
+ */
+ (rEC_LFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[43]
+ *
+ */
+ (rEC_LFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[44]
+ *
+ */
+ (rEC_LFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[45]
+ *
+ */
+ (rEC_LFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[46]
+ *
+ */
+ (rEC_LFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[47]
+ *
+ */
+ (rEC_LFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[48]
+ *
+ */
+ (rEC_LFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[49]
+ *
+ */
+ (rEC_LFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[50]
+ *
+ */
+ (rEC_LFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[51]
+ *
+ */
+ (rEC_LFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[52]
+ *
+ */
+ (rEC_LFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[53]
+ *
+ */
+ (rEC_LFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[54]
+ *
+ */
+ (rEC_LFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[55]
+ *
+ */
+ (rEC_LFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[56]
+ *
+ */
+ (rEC_LFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[57]
+ *
+ */
+ (rEC_LFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[58]
+ *
+ */
+ (rEC_LFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[59]
+ *
+ */
+ (rEC_LFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[60]
+ *
+ */
+ (rEC_LFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[61]
+ *
+ */
+ (rEC_LFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[62]
+ *
+ */
+ (rEC_LFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** EC_LFIR[63]
+ *
+ */
+ (rEC_LFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+################################################################################
+# P9 EC target COREFIR
+################################################################################
+
+rule rCOREFIR
+{
+ CHECK_STOP:
+ COREFIR & ~COREFIR_MASK & ~COREFIR_ACT0 & ~COREFIR_ACT1;
+ RECOVERABLE:
+ COREFIR & ~COREFIR_MASK & ~COREFIR_ACT0 & COREFIR_ACT1;
+};
+
+group gCOREFIR filter singlebit
+{
+ /** COREFIR[0]
+ *
+ */
+ (rCOREFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** COREFIR[1]
+ *
+ */
+ (rCOREFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** COREFIR[2]
+ *
+ */
+ (rCOREFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** COREFIR[3]
+ *
+ */
+ (rCOREFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** COREFIR[4]
+ *
+ */
+ (rCOREFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** COREFIR[5]
+ *
+ */
+ (rCOREFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** COREFIR[6]
+ *
+ */
+ (rCOREFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** COREFIR[7]
+ *
+ */
+ (rCOREFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** COREFIR[8]
+ *
+ */
+ (rCOREFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** COREFIR[9]
+ *
+ */
+ (rCOREFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** COREFIR[10]
+ *
+ */
+ (rCOREFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** COREFIR[11]
+ *
+ */
+ (rCOREFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** COREFIR[12]
+ *
+ */
+ (rCOREFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** COREFIR[13]
+ *
+ */
+ (rCOREFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** COREFIR[14]
+ *
+ */
+ (rCOREFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** COREFIR[15]
+ *
+ */
+ (rCOREFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** COREFIR[16]
+ *
+ */
+ (rCOREFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** COREFIR[17]
+ *
+ */
+ (rCOREFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** COREFIR[18]
+ *
+ */
+ (rCOREFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** COREFIR[19]
+ *
+ */
+ (rCOREFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** COREFIR[20]
+ *
+ */
+ (rCOREFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** COREFIR[21]
+ *
+ */
+ (rCOREFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** COREFIR[22]
+ *
+ */
+ (rCOREFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** COREFIR[23]
+ *
+ */
+ (rCOREFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** COREFIR[24]
+ *
+ */
+ (rCOREFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** COREFIR[25]
+ *
+ */
+ (rCOREFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** COREFIR[26]
+ *
+ */
+ (rCOREFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** COREFIR[27]
+ *
+ */
+ (rCOREFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** COREFIR[28]
+ *
+ */
+ (rCOREFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** COREFIR[29]
+ *
+ */
+ (rCOREFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** COREFIR[30]
+ *
+ */
+ (rCOREFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** COREFIR[31]
+ *
+ */
+ (rCOREFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** COREFIR[32]
+ *
+ */
+ (rCOREFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** COREFIR[33]
+ *
+ */
+ (rCOREFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** COREFIR[34]
+ *
+ */
+ (rCOREFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** COREFIR[35]
+ *
+ */
+ (rCOREFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** COREFIR[36]
+ *
+ */
+ (rCOREFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** COREFIR[37]
+ *
+ */
+ (rCOREFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** COREFIR[38]
+ *
+ */
+ (rCOREFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** COREFIR[39]
+ *
+ */
+ (rCOREFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** COREFIR[40]
+ *
+ */
+ (rCOREFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** COREFIR[41]
+ *
+ */
+ (rCOREFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** COREFIR[42]
+ *
+ */
+ (rCOREFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** COREFIR[43]
+ *
+ */
+ (rCOREFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** COREFIR[44]
+ *
+ */
+ (rCOREFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** COREFIR[45]
+ *
+ */
+ (rCOREFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** COREFIR[46]
+ *
+ */
+ (rCOREFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** COREFIR[47]
+ *
+ */
+ (rCOREFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** COREFIR[48]
+ *
+ */
+ (rCOREFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** COREFIR[49]
+ *
+ */
+ (rCOREFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** COREFIR[50]
+ *
+ */
+ (rCOREFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** COREFIR[51]
+ *
+ */
+ (rCOREFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** COREFIR[52]
+ *
+ */
+ (rCOREFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** COREFIR[53]
+ *
+ */
+ (rCOREFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** COREFIR[54]
+ *
+ */
+ (rCOREFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** COREFIR[55]
+ *
+ */
+ (rCOREFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** COREFIR[56]
+ *
+ */
+ (rCOREFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** COREFIR[57]
+ *
+ */
+ (rCOREFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** COREFIR[58]
+ *
+ */
+ (rCOREFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** COREFIR[59]
+ *
+ */
+ (rCOREFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** COREFIR[60]
+ *
+ */
+ (rCOREFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** COREFIR[61]
+ *
+ */
+ (rCOREFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** COREFIR[62]
+ *
+ */
+ (rCOREFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** COREFIR[63]
+ *
+ */
+ (rCOREFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+ ##############################################################################
+ # #
+ # # ### #
+ # # # ## ##### ### ### # # # # # # ### ### ### ### #
+ # # # # # # # # # ## # # # # # # # # # #
+ # ####### # # # # # # # # # # ##### ### ### ## ### #
+ # # # # # # # # # # ## # # # # # # # # # #
+ # # # ## # ### ### # # ### ### # # ### ### ### ### #
+ # #
+ ##############################################################################
+
+# Include the common action set.
+.include "p9_common_actions.rule";
+
diff --git a/src/usr/diag/prdf/common/plat/p9/p9_eq.rule b/src/usr/diag/prdf/common/plat/p9/p9_eq.rule
new file mode 100644
index 000000000..c9dba9ef1
--- /dev/null
+++ b/src/usr/diag/prdf/common/plat/p9/p9_eq.rule
@@ -0,0 +1,492 @@
+# IBM_PROLOG_BEGIN_TAG
+# This is an automatically generated prolog.
+#
+# $Source: src/usr/diag/prdf/common/plat/p9/p9_eq.rule $
+#
+# OpenPOWER HostBoot Project
+#
+# Contributors Listed Below - COPYRIGHT 2016
+# [+] International Business Machines Corp.
+#
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# permissions and limitations under the License.
+#
+# IBM_PROLOG_END_TAG
+
+chip p9_eq
+{
+ name "P9 EQ chiplet";
+ targettype TYPE_EQ;
+ sigoff 0x9000;
+ dump DUMP_CONTENT_HW;
+ scomlen 64;
+
+ #############################################################################
+ # #
+ # ###### #
+ # # # ###### #### ### #### ##### ###### ##### #### #
+ # # # # # # # # # # # # # #
+ # ###### ##### # # #### # ##### # # #### #
+ # # # # # ### # # # # ##### # #
+ # # # # # # # # # # # # # # # #
+ # # # ###### #### ### #### # ###### # # #### #
+ # #
+ #############################################################################
+
+ ############################################################################
+ # EQ Chiplet FIR
+ ############################################################################
+
+ register EQ_CHIPLET_CS_FIR
+ {
+ name "EQ Chiplet Checkstop FIR";
+ scomaddr 0x10040000;
+ capture group default;
+ };
+
+ register EQ_CHIPLET_RE_FIR
+ {
+ name "EQ Chiplet Recoverable FIR";
+ scomaddr 0x10040001;
+ capture group default;
+ };
+
+ register EQ_CHIPLET_FIR_MASK
+ {
+ name "EQ Chiplet FIR MASK";
+ scomaddr 0x10040002;
+ capture group default;
+ };
+
+ ############################################################################
+ # P9 EQ target EQ_LFIR
+ ############################################################################
+
+ register EQ_LFIR
+ {
+ name "P9 EQ target EQ_LFIR";
+ scomaddr 0x1004000a;
+ reset (&, 0x1004000b);
+ mask (|, 0x1004000f);
+ capture group default;
+ };
+
+ register EQ_LFIR_MASK
+ {
+ name "P9 EQ target EQ_LFIR MASK";
+ scomaddr 0x1004000d;
+ capture group default;
+ };
+
+ register EQ_LFIR_ACT0
+ {
+ name "P9 EQ target EQ_LFIR ACT0";
+ scomaddr 0x10040010;
+ capture group default;
+ capture req nonzero("EQ_LFIR");
+ };
+
+ register EQ_LFIR_ACT1
+ {
+ name "P9 EQ target EQ_LFIR ACT1";
+ scomaddr 0x10040011;
+ capture group default;
+ capture req nonzero("EQ_LFIR");
+ };
+
+};
+
+ ##############################################################################
+ # #
+ # #### # #
+ # # # # # # ##### ### # # # ## ##### ### ### # # ### #
+ # # # # # # # # # # # # # # # # # ## # # #
+ # #### # # # #### ### # ####### # # # # # # # # ### #
+ # # # # # # # # # # # # # # # # # # ## # #
+ # # # ### #### ##### ### # # # ## # ### ### # # ### #
+ # #
+ ##############################################################################
+
+################################################################################
+# EQ Chiplet FIR
+################################################################################
+
+rule rEQ_CHIPLET_FIR
+{
+ CHECK_STOP:
+ EQ_CHIPLET_CS_FIR & ~EQ_CHIPLET_FIR_MASK & `1fffffffffffffff`;
+ RECOVERABLE:
+ (EQ_CHIPLET_RE_FIR >> 2) & ~EQ_CHIPLET_FIR_MASK & `1fffffffffffffff`;
+};
+
+group gEQ_CHIPLET_FIR attntype CHECK_STOP, RECOVERABLE filter singlebit
+{
+ /** EQ_CHIPLET_FIR[3]
+ * Attention from EQ_LFIR
+ */
+ (rEQ_CHIPLET_FIR, bit(3)) ? analyze(gEQ_LFIR);
+
+};
+
+################################################################################
+# P9 EQ target EQ_LFIR
+################################################################################
+
+rule rEQ_LFIR
+{
+ CHECK_STOP:
+ EQ_LFIR & ~EQ_LFIR_MASK & ~EQ_LFIR_ACT0 & ~EQ_LFIR_ACT1;
+ RECOVERABLE:
+ EQ_LFIR & ~EQ_LFIR_MASK & ~EQ_LFIR_ACT0 & EQ_LFIR_ACT1;
+};
+
+group gEQ_LFIR filter singlebit
+{
+ /** EQ_LFIR[0]
+ *
+ */
+ (rEQ_LFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[1]
+ *
+ */
+ (rEQ_LFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[2]
+ *
+ */
+ (rEQ_LFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[3]
+ *
+ */
+ (rEQ_LFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[4]
+ *
+ */
+ (rEQ_LFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[5]
+ *
+ */
+ (rEQ_LFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[6]
+ *
+ */
+ (rEQ_LFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[7]
+ *
+ */
+ (rEQ_LFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[8]
+ *
+ */
+ (rEQ_LFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[9]
+ *
+ */
+ (rEQ_LFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[10]
+ *
+ */
+ (rEQ_LFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[11]
+ *
+ */
+ (rEQ_LFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[12]
+ *
+ */
+ (rEQ_LFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[13]
+ *
+ */
+ (rEQ_LFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[14]
+ *
+ */
+ (rEQ_LFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[15]
+ *
+ */
+ (rEQ_LFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[16]
+ *
+ */
+ (rEQ_LFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[17]
+ *
+ */
+ (rEQ_LFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[18]
+ *
+ */
+ (rEQ_LFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[19]
+ *
+ */
+ (rEQ_LFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[20]
+ *
+ */
+ (rEQ_LFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[21]
+ *
+ */
+ (rEQ_LFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[22]
+ *
+ */
+ (rEQ_LFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[23]
+ *
+ */
+ (rEQ_LFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[24]
+ *
+ */
+ (rEQ_LFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[25]
+ *
+ */
+ (rEQ_LFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[26]
+ *
+ */
+ (rEQ_LFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[27]
+ *
+ */
+ (rEQ_LFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[28]
+ *
+ */
+ (rEQ_LFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[29]
+ *
+ */
+ (rEQ_LFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[30]
+ *
+ */
+ (rEQ_LFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[31]
+ *
+ */
+ (rEQ_LFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[32]
+ *
+ */
+ (rEQ_LFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[33]
+ *
+ */
+ (rEQ_LFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[34]
+ *
+ */
+ (rEQ_LFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[35]
+ *
+ */
+ (rEQ_LFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[36]
+ *
+ */
+ (rEQ_LFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[37]
+ *
+ */
+ (rEQ_LFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[38]
+ *
+ */
+ (rEQ_LFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[39]
+ *
+ */
+ (rEQ_LFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[40]
+ *
+ */
+ (rEQ_LFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[41]
+ *
+ */
+ (rEQ_LFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[42]
+ *
+ */
+ (rEQ_LFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[43]
+ *
+ */
+ (rEQ_LFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[44]
+ *
+ */
+ (rEQ_LFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[45]
+ *
+ */
+ (rEQ_LFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[46]
+ *
+ */
+ (rEQ_LFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[47]
+ *
+ */
+ (rEQ_LFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[48]
+ *
+ */
+ (rEQ_LFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[49]
+ *
+ */
+ (rEQ_LFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[50]
+ *
+ */
+ (rEQ_LFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[51]
+ *
+ */
+ (rEQ_LFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[52]
+ *
+ */
+ (rEQ_LFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[53]
+ *
+ */
+ (rEQ_LFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[54]
+ *
+ */
+ (rEQ_LFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[55]
+ *
+ */
+ (rEQ_LFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[56]
+ *
+ */
+ (rEQ_LFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[57]
+ *
+ */
+ (rEQ_LFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[58]
+ *
+ */
+ (rEQ_LFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[59]
+ *
+ */
+ (rEQ_LFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[60]
+ *
+ */
+ (rEQ_LFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[61]
+ *
+ */
+ (rEQ_LFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[62]
+ *
+ */
+ (rEQ_LFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** EQ_LFIR[63]
+ *
+ */
+ (rEQ_LFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+ ##############################################################################
+ # #
+ # # ### #
+ # # # ## ##### ### ### # # # # # # ### ### ### ### #
+ # # # # # # # # # ## # # # # # # # # # #
+ # ####### # # # # # # # # # # ##### ### ### ## ### #
+ # # # # # # # # # # ## # # # # # # # # # #
+ # # # ## # ### ### # # ### ### # # ### ### ### ### #
+ # #
+ ##############################################################################
+
+# Include the common action set.
+.include "p9_common_actions.rule";
+
+actionclass analyzeConnectedEX0 { analyze(connected(TYPE_EX, 0)); };
+actionclass analyzeConnectedEX1 { analyze(connected(TYPE_EX, 1)); };
diff --git a/src/usr/diag/prdf/common/plat/p9/p9_ex.rule b/src/usr/diag/prdf/common/plat/p9/p9_ex.rule
new file mode 100644
index 000000000..23d92bdb6
--- /dev/null
+++ b/src/usr/diag/prdf/common/plat/p9/p9_ex.rule
@@ -0,0 +1,1588 @@
+# IBM_PROLOG_BEGIN_TAG
+# This is an automatically generated prolog.
+#
+# $Source: src/usr/diag/prdf/common/plat/p9/p9_ex.rule $
+#
+# OpenPOWER HostBoot Project
+#
+# Contributors Listed Below - COPYRIGHT 2016
+# [+] International Business Machines Corp.
+#
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# permissions and limitations under the License.
+#
+# IBM_PROLOG_END_TAG
+
+chip p9_ex
+{
+ name "P9 EX chiplet";
+ targettype TYPE_EX;
+ sigoff 0x9000;
+ dump DUMP_CONTENT_HW;
+ scomlen 64;
+
+ #############################################################################
+ # #
+ # ###### #
+ # # # ###### #### ### #### ##### ###### ##### #### #
+ # # # # # # # # # # # # # #
+ # ###### ##### # # #### # ##### # # #### #
+ # # # # # ### # # # # ##### # #
+ # # # # # # # # # # # # # # # #
+ # # # ###### #### ### #### # ###### # # #### #
+ # #
+ #############################################################################
+
+ ############################################################################
+ # P9 EX target L2FIR
+ ############################################################################
+
+ register L2FIR
+ {
+ name "P9 EX target L2FIR";
+ scomaddr 0x10010800;
+ reset (&, 0x10010801);
+ mask (|, 0x10010805);
+ capture group default;
+ };
+
+ register L2FIR_MASK
+ {
+ name "P9 EX target L2FIR MASK";
+ scomaddr 0x10010803;
+ capture group default;
+ };
+
+ register L2FIR_ACT0
+ {
+ name "P9 EX target L2FIR ACT0";
+ scomaddr 0x10010806;
+ capture group default;
+ capture req nonzero("L2FIR");
+ };
+
+ register L2FIR_ACT1
+ {
+ name "P9 EX target L2FIR ACT1";
+ scomaddr 0x10010807;
+ capture group default;
+ capture req nonzero("L2FIR");
+ };
+
+ ############################################################################
+ # P9 EX target NCUFIR
+ ############################################################################
+
+ register NCUFIR
+ {
+ name "P9 EX target NCUFIR";
+ scomaddr 0x10011000;
+ reset (&, 0x10011001);
+ mask (|, 0x10011005);
+ capture group default;
+ };
+
+ register NCUFIR_MASK
+ {
+ name "P9 EX target NCUFIR MASK";
+ scomaddr 0x10011003;
+ capture group default;
+ };
+
+ register NCUFIR_ACT0
+ {
+ name "P9 EX target NCUFIR ACT0";
+ scomaddr 0x10011006;
+ capture group default;
+ capture req nonzero("NCUFIR");
+ };
+
+ register NCUFIR_ACT1
+ {
+ name "P9 EX target NCUFIR ACT1";
+ scomaddr 0x10011007;
+ capture group default;
+ capture req nonzero("NCUFIR");
+ };
+
+ ############################################################################
+ # P9 EX target L3FIR
+ ############################################################################
+
+ register L3FIR
+ {
+ name "P9 EX target L3FIR";
+ scomaddr 0x10011800;
+ reset (&, 0x10011801);
+ mask (|, 0x10011805);
+ capture group default;
+ };
+
+ register L3FIR_MASK
+ {
+ name "P9 EX target L3FIR MASK";
+ scomaddr 0x10011803;
+ capture group default;
+ };
+
+ register L3FIR_ACT0
+ {
+ name "P9 EX target L3FIR ACT0";
+ scomaddr 0x10011806;
+ capture group default;
+ capture req nonzero("L3FIR");
+ };
+
+ register L3FIR_ACT1
+ {
+ name "P9 EX target L3FIR ACT1";
+ scomaddr 0x10011807;
+ capture group default;
+ capture req nonzero("L3FIR");
+ };
+
+ ############################################################################
+ # P9 EX target CMEFIR
+ ############################################################################
+
+ register CMEFIR
+ {
+ name "P9 EX target CMEFIR";
+ scomaddr 0x10012000;
+ reset (&, 0x10012001);
+ mask (|, 0x10012005);
+ capture group default;
+ };
+
+ register CMEFIR_MASK
+ {
+ name "P9 EX target CMEFIR MASK";
+ scomaddr 0x10012003;
+ capture group default;
+ };
+
+ register CMEFIR_ACT0
+ {
+ name "P9 EX target CMEFIR ACT0";
+ scomaddr 0x10012006;
+ capture group default;
+ capture req nonzero("CMEFIR");
+ };
+
+ register CMEFIR_ACT1
+ {
+ name "P9 EX target CMEFIR ACT1";
+ scomaddr 0x10012007;
+ capture group default;
+ capture req nonzero("CMEFIR");
+ };
+
+};
+
+ ##############################################################################
+ # #
+ # #### # #
+ # # # # # # ##### ### # # # ## ##### ### ### # # ### #
+ # # # # # # # # # # # # # # # # # ## # # #
+ # #### # # # #### ### # ####### # # # # # # # # ### #
+ # # # # # # # # # # # # # # # # # # ## # #
+ # # # ### #### ##### ### # # # ## # ### ### # # ### #
+ # #
+ ##############################################################################
+
+################################################################################
+# Summary for EX
+################################################################################
+
+rule rEX
+{
+ CHECK_STOP:
+ summary( 0, rL2FIR ) |
+ summary( 1, rNCUFIR ) |
+ summary( 2, rL3FIR ) |
+ summary( 3, rCMEFIR );
+
+ RECOVERABLE:
+ summary( 0, rL2FIR ) |
+ summary( 1, rNCUFIR ) |
+ summary( 2, rL3FIR ) |
+ summary( 3, rCMEFIR );
+
+};
+
+group gEX attntype CHECK_STOP, RECOVERABLE
+{
+ (rEX, bit(0)) ? analyze(gL2FIR);
+ (rEX, bit(1)) ? analyze(gNCUFIR);
+ (rEX, bit(2)) ? analyze(gL3FIR);
+ (rEX, bit(3)) ? analyze(gCMEFIR);
+};
+
+################################################################################
+# P9 EX target L2FIR
+################################################################################
+
+rule rL2FIR
+{
+ CHECK_STOP:
+ L2FIR & ~L2FIR_MASK & ~L2FIR_ACT0 & ~L2FIR_ACT1;
+ RECOVERABLE:
+ L2FIR & ~L2FIR_MASK & ~L2FIR_ACT0 & L2FIR_ACT1;
+};
+
+group gL2FIR filter singlebit
+{
+ /** L2FIR[0]
+ *
+ */
+ (rL2FIR, bit(0)) ? TBDDefaultCallout;
+
+ /** L2FIR[1]
+ *
+ */
+ (rL2FIR, bit(1)) ? TBDDefaultCallout;
+
+ /** L2FIR[2]
+ *
+ */
+ (rL2FIR, bit(2)) ? TBDDefaultCallout;
+
+ /** L2FIR[3]
+ *
+ */
+ (rL2FIR, bit(3)) ? TBDDefaultCallout;
+
+ /** L2FIR[4]
+ *
+ */
+ (rL2FIR, bit(4)) ? TBDDefaultCallout;
+
+ /** L2FIR[5]
+ *
+ */
+ (rL2FIR, bit(5)) ? TBDDefaultCallout;
+
+ /** L2FIR[6]
+ *
+ */
+ (rL2FIR, bit(6)) ? TBDDefaultCallout;
+
+ /** L2FIR[7]
+ *
+ */
+ (rL2FIR, bit(7)) ? TBDDefaultCallout;
+
+ /** L2FIR[8]
+ *
+ */
+ (rL2FIR, bit(8)) ? TBDDefaultCallout;
+
+ /** L2FIR[9]
+ *
+ */
+ (rL2FIR, bit(9)) ? TBDDefaultCallout;
+
+ /** L2FIR[10]
+ *
+ */
+ (rL2FIR, bit(10)) ? TBDDefaultCallout;
+
+ /** L2FIR[11]
+ *
+ */
+ (rL2FIR, bit(11)) ? TBDDefaultCallout;
+
+ /** L2FIR[12]
+ *
+ */
+ (rL2FIR, bit(12)) ? TBDDefaultCallout;
+
+ /** L2FIR[13]
+ *
+ */
+ (rL2FIR, bit(13)) ? TBDDefaultCallout;
+
+ /** L2FIR[14]
+ *
+ */
+ (rL2FIR, bit(14)) ? TBDDefaultCallout;
+
+ /** L2FIR[15]
+ *
+ */
+ (rL2FIR, bit(15)) ? TBDDefaultCallout;
+
+ /** L2FIR[16]
+ *
+ */
+ (rL2FIR, bit(16)) ? TBDDefaultCallout;
+
+ /** L2FIR[17]
+ *
+ */
+ (rL2FIR, bit(17)) ? TBDDefaultCallout;
+
+ /** L2FIR[18]
+ *
+ */
+ (rL2FIR, bit(18)) ? TBDDefaultCallout;
+
+ /** L2FIR[19]
+ *
+ */
+ (rL2FIR, bit(19)) ? TBDDefaultCallout;
+
+ /** L2FIR[20]
+ *
+ */
+ (rL2FIR, bit(20)) ? TBDDefaultCallout;
+
+ /** L2FIR[21]
+ *
+ */
+ (rL2FIR, bit(21)) ? TBDDefaultCallout;
+
+ /** L2FIR[22]
+ *
+ */
+ (rL2FIR, bit(22)) ? TBDDefaultCallout;
+
+ /** L2FIR[23]
+ *
+ */
+ (rL2FIR, bit(23)) ? TBDDefaultCallout;
+
+ /** L2FIR[24]
+ *
+ */
+ (rL2FIR, bit(24)) ? TBDDefaultCallout;
+
+ /** L2FIR[25]
+ *
+ */
+ (rL2FIR, bit(25)) ? TBDDefaultCallout;
+
+ /** L2FIR[26]
+ *
+ */
+ (rL2FIR, bit(26)) ? TBDDefaultCallout;
+
+ /** L2FIR[27]
+ *
+ */
+ (rL2FIR, bit(27)) ? TBDDefaultCallout;
+
+ /** L2FIR[28]
+ *
+ */
+ (rL2FIR, bit(28)) ? TBDDefaultCallout;
+
+ /** L2FIR[29]
+ *
+ */
+ (rL2FIR, bit(29)) ? TBDDefaultCallout;
+
+ /** L2FIR[30]
+ *
+ */
+ (rL2FIR, bit(30)) ? TBDDefaultCallout;
+
+ /** L2FIR[31]
+ *
+ */
+ (rL2FIR, bit(31)) ? TBDDefaultCallout;
+
+ /** L2FIR[32]
+ *
+ */
+ (rL2FIR, bit(32)) ? TBDDefaultCallout;
+
+ /** L2FIR[33]
+ *
+ */
+ (rL2FIR, bit(33)) ? TBDDefaultCallout;
+
+ /** L2FIR[34]
+ *
+ */
+ (rL2FIR, bit(34)) ? TBDDefaultCallout;
+
+ /** L2FIR[35]
+ *
+ */
+ (rL2FIR, bit(35)) ? TBDDefaultCallout;
+
+ /** L2FIR[36]
+ *
+ */
+ (rL2FIR, bit(36)) ? TBDDefaultCallout;
+
+ /** L2FIR[37]
+ *
+ */
+ (rL2FIR, bit(37)) ? TBDDefaultCallout;
+
+ /** L2FIR[38]
+ *
+ */
+ (rL2FIR, bit(38)) ? TBDDefaultCallout;
+
+ /** L2FIR[39]
+ *
+ */
+ (rL2FIR, bit(39)) ? TBDDefaultCallout;
+
+ /** L2FIR[40]
+ *
+ */
+ (rL2FIR, bit(40)) ? TBDDefaultCallout;
+
+ /** L2FIR[41]
+ *
+ */
+ (rL2FIR, bit(41)) ? TBDDefaultCallout;
+
+ /** L2FIR[42]
+ *
+ */
+ (rL2FIR, bit(42)) ? TBDDefaultCallout;
+
+ /** L2FIR[43]
+ *
+ */
+ (rL2FIR, bit(43)) ? TBDDefaultCallout;
+
+ /** L2FIR[44]
+ *
+ */
+ (rL2FIR, bit(44)) ? TBDDefaultCallout;
+
+ /** L2FIR[45]
+ *
+ */
+ (rL2FIR, bit(45)) ? TBDDefaultCallout;
+
+ /** L2FIR[46]
+ *
+ */
+ (rL2FIR, bit(46)) ? TBDDefaultCallout;
+
+ /** L2FIR[47]
+ *
+ */
+ (rL2FIR, bit(47)) ? TBDDefaultCallout;
+
+ /** L2FIR[48]
+ *
+ */
+ (rL2FIR, bit(48)) ? TBDDefaultCallout;
+
+ /** L2FIR[49]
+ *
+ */
+ (rL2FIR, bit(49)) ? TBDDefaultCallout;
+
+ /** L2FIR[50]
+ *
+ */
+ (rL2FIR, bit(50)) ? TBDDefaultCallout;
+
+ /** L2FIR[51]
+ *
+ */
+ (rL2FIR, bit(51)) ? TBDDefaultCallout;
+
+ /** L2FIR[52]
+ *
+ */
+ (rL2FIR, bit(52)) ? TBDDefaultCallout;
+
+ /** L2FIR[53]
+ *
+ */
+ (rL2FIR, bit(53)) ? TBDDefaultCallout;
+
+ /** L2FIR[54]
+ *
+ */
+ (rL2FIR, bit(54)) ? TBDDefaultCallout;
+
+ /** L2FIR[55]
+ *
+ */
+ (rL2FIR, bit(55)) ? TBDDefaultCallout;
+
+ /** L2FIR[56]
+ *
+ */
+ (rL2FIR, bit(56)) ? TBDDefaultCallout;
+
+ /** L2FIR[57]
+ *
+ */
+ (rL2FIR, bit(57)) ? TBDDefaultCallout;
+
+ /** L2FIR[58]
+ *
+ */
+ (rL2FIR, bit(58)) ? TBDDefaultCallout;
+
+ /** L2FIR[59]
+ *
+ */
+ (rL2FIR, bit(59)) ? TBDDefaultCallout;
+
+ /** L2FIR[60]
+ *
+ */
+ (rL2FIR, bit(60)) ? TBDDefaultCallout;
+
+ /** L2FIR[61]
+ *
+ */
+ (rL2FIR, bit(61)) ? TBDDefaultCallout;
+
+ /** L2FIR[62]
+ *
+ */
+ (rL2FIR, bit(62)) ? TBDDefaultCallout;
+
+ /** L2FIR[63]
+ *
+ */
+ (rL2FIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+################################################################################
+# P9 EX target NCUFIR
+################################################################################
+
+rule rNCUFIR
+{
+ CHECK_STOP:
+ NCUFIR & ~NCUFIR_MASK & ~NCUFIR_ACT0 & ~NCUFIR_ACT1;
+ RECOVERABLE:
+ NCUFIR & ~NCUFIR_MASK & ~NCUFIR_ACT0 & NCUFIR_ACT1;
+};
+
+group gNCUFIR filter singlebit
+{
+ /** NCUFIR[0]
+ *
+ */
+ (rNCUFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** NCUFIR[1]
+ *
+ */
+ (rNCUFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** NCUFIR[2]
+ *
+ */
+ (rNCUFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** NCUFIR[3]
+ *
+ */
+ (rNCUFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** NCUFIR[4]
+ *
+ */
+ (rNCUFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** NCUFIR[5]
+ *
+ */
+ (rNCUFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** NCUFIR[6]
+ *
+ */
+ (rNCUFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** NCUFIR[7]
+ *
+ */
+ (rNCUFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** NCUFIR[8]
+ *
+ */
+ (rNCUFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** NCUFIR[9]
+ *
+ */
+ (rNCUFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** NCUFIR[10]
+ *
+ */
+ (rNCUFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** NCUFIR[11]
+ *
+ */
+ (rNCUFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** NCUFIR[12]
+ *
+ */
+ (rNCUFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** NCUFIR[13]
+ *
+ */
+ (rNCUFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** NCUFIR[14]
+ *
+ */
+ (rNCUFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** NCUFIR[15]
+ *
+ */
+ (rNCUFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** NCUFIR[16]
+ *
+ */
+ (rNCUFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** NCUFIR[17]
+ *
+ */
+ (rNCUFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** NCUFIR[18]
+ *
+ */
+ (rNCUFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** NCUFIR[19]
+ *
+ */
+ (rNCUFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** NCUFIR[20]
+ *
+ */
+ (rNCUFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** NCUFIR[21]
+ *
+ */
+ (rNCUFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** NCUFIR[22]
+ *
+ */
+ (rNCUFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** NCUFIR[23]
+ *
+ */
+ (rNCUFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** NCUFIR[24]
+ *
+ */
+ (rNCUFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** NCUFIR[25]
+ *
+ */
+ (rNCUFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** NCUFIR[26]
+ *
+ */
+ (rNCUFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** NCUFIR[27]
+ *
+ */
+ (rNCUFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** NCUFIR[28]
+ *
+ */
+ (rNCUFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** NCUFIR[29]
+ *
+ */
+ (rNCUFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** NCUFIR[30]
+ *
+ */
+ (rNCUFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** NCUFIR[31]
+ *
+ */
+ (rNCUFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** NCUFIR[32]
+ *
+ */
+ (rNCUFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** NCUFIR[33]
+ *
+ */
+ (rNCUFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** NCUFIR[34]
+ *
+ */
+ (rNCUFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** NCUFIR[35]
+ *
+ */
+ (rNCUFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** NCUFIR[36]
+ *
+ */
+ (rNCUFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** NCUFIR[37]
+ *
+ */
+ (rNCUFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** NCUFIR[38]
+ *
+ */
+ (rNCUFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** NCUFIR[39]
+ *
+ */
+ (rNCUFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** NCUFIR[40]
+ *
+ */
+ (rNCUFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** NCUFIR[41]
+ *
+ */
+ (rNCUFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** NCUFIR[42]
+ *
+ */
+ (rNCUFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** NCUFIR[43]
+ *
+ */
+ (rNCUFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** NCUFIR[44]
+ *
+ */
+ (rNCUFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** NCUFIR[45]
+ *
+ */
+ (rNCUFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** NCUFIR[46]
+ *
+ */
+ (rNCUFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** NCUFIR[47]
+ *
+ */
+ (rNCUFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** NCUFIR[48]
+ *
+ */
+ (rNCUFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** NCUFIR[49]
+ *
+ */
+ (rNCUFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** NCUFIR[50]
+ *
+ */
+ (rNCUFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** NCUFIR[51]
+ *
+ */
+ (rNCUFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** NCUFIR[52]
+ *
+ */
+ (rNCUFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** NCUFIR[53]
+ *
+ */
+ (rNCUFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** NCUFIR[54]
+ *
+ */
+ (rNCUFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** NCUFIR[55]
+ *
+ */
+ (rNCUFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** NCUFIR[56]
+ *
+ */
+ (rNCUFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** NCUFIR[57]
+ *
+ */
+ (rNCUFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** NCUFIR[58]
+ *
+ */
+ (rNCUFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** NCUFIR[59]
+ *
+ */
+ (rNCUFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** NCUFIR[60]
+ *
+ */
+ (rNCUFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** NCUFIR[61]
+ *
+ */
+ (rNCUFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** NCUFIR[62]
+ *
+ */
+ (rNCUFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** NCUFIR[63]
+ *
+ */
+ (rNCUFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+################################################################################
+# P9 EX target L3FIR
+################################################################################
+
+rule rL3FIR
+{
+ CHECK_STOP:
+ L3FIR & ~L3FIR_MASK & ~L3FIR_ACT0 & ~L3FIR_ACT1;
+ RECOVERABLE:
+ L3FIR & ~L3FIR_MASK & ~L3FIR_ACT0 & L3FIR_ACT1;
+};
+
+group gL3FIR filter singlebit
+{
+ /** L3FIR[0]
+ *
+ */
+ (rL3FIR, bit(0)) ? TBDDefaultCallout;
+
+ /** L3FIR[1]
+ *
+ */
+ (rL3FIR, bit(1)) ? TBDDefaultCallout;
+
+ /** L3FIR[2]
+ *
+ */
+ (rL3FIR, bit(2)) ? TBDDefaultCallout;
+
+ /** L3FIR[3]
+ *
+ */
+ (rL3FIR, bit(3)) ? TBDDefaultCallout;
+
+ /** L3FIR[4]
+ *
+ */
+ (rL3FIR, bit(4)) ? TBDDefaultCallout;
+
+ /** L3FIR[5]
+ *
+ */
+ (rL3FIR, bit(5)) ? TBDDefaultCallout;
+
+ /** L3FIR[6]
+ *
+ */
+ (rL3FIR, bit(6)) ? TBDDefaultCallout;
+
+ /** L3FIR[7]
+ *
+ */
+ (rL3FIR, bit(7)) ? TBDDefaultCallout;
+
+ /** L3FIR[8]
+ *
+ */
+ (rL3FIR, bit(8)) ? TBDDefaultCallout;
+
+ /** L3FIR[9]
+ *
+ */
+ (rL3FIR, bit(9)) ? TBDDefaultCallout;
+
+ /** L3FIR[10]
+ *
+ */
+ (rL3FIR, bit(10)) ? TBDDefaultCallout;
+
+ /** L3FIR[11]
+ *
+ */
+ (rL3FIR, bit(11)) ? TBDDefaultCallout;
+
+ /** L3FIR[12]
+ *
+ */
+ (rL3FIR, bit(12)) ? TBDDefaultCallout;
+
+ /** L3FIR[13]
+ *
+ */
+ (rL3FIR, bit(13)) ? TBDDefaultCallout;
+
+ /** L3FIR[14]
+ *
+ */
+ (rL3FIR, bit(14)) ? TBDDefaultCallout;
+
+ /** L3FIR[15]
+ *
+ */
+ (rL3FIR, bit(15)) ? TBDDefaultCallout;
+
+ /** L3FIR[16]
+ *
+ */
+ (rL3FIR, bit(16)) ? TBDDefaultCallout;
+
+ /** L3FIR[17]
+ *
+ */
+ (rL3FIR, bit(17)) ? TBDDefaultCallout;
+
+ /** L3FIR[18]
+ *
+ */
+ (rL3FIR, bit(18)) ? TBDDefaultCallout;
+
+ /** L3FIR[19]
+ *
+ */
+ (rL3FIR, bit(19)) ? TBDDefaultCallout;
+
+ /** L3FIR[20]
+ *
+ */
+ (rL3FIR, bit(20)) ? TBDDefaultCallout;
+
+ /** L3FIR[21]
+ *
+ */
+ (rL3FIR, bit(21)) ? TBDDefaultCallout;
+
+ /** L3FIR[22]
+ *
+ */
+ (rL3FIR, bit(22)) ? TBDDefaultCallout;
+
+ /** L3FIR[23]
+ *
+ */
+ (rL3FIR, bit(23)) ? TBDDefaultCallout;
+
+ /** L3FIR[24]
+ *
+ */
+ (rL3FIR, bit(24)) ? TBDDefaultCallout;
+
+ /** L3FIR[25]
+ *
+ */
+ (rL3FIR, bit(25)) ? TBDDefaultCallout;
+
+ /** L3FIR[26]
+ *
+ */
+ (rL3FIR, bit(26)) ? TBDDefaultCallout;
+
+ /** L3FIR[27]
+ *
+ */
+ (rL3FIR, bit(27)) ? TBDDefaultCallout;
+
+ /** L3FIR[28]
+ *
+ */
+ (rL3FIR, bit(28)) ? TBDDefaultCallout;
+
+ /** L3FIR[29]
+ *
+ */
+ (rL3FIR, bit(29)) ? TBDDefaultCallout;
+
+ /** L3FIR[30]
+ *
+ */
+ (rL3FIR, bit(30)) ? TBDDefaultCallout;
+
+ /** L3FIR[31]
+ *
+ */
+ (rL3FIR, bit(31)) ? TBDDefaultCallout;
+
+ /** L3FIR[32]
+ *
+ */
+ (rL3FIR, bit(32)) ? TBDDefaultCallout;
+
+ /** L3FIR[33]
+ *
+ */
+ (rL3FIR, bit(33)) ? TBDDefaultCallout;
+
+ /** L3FIR[34]
+ *
+ */
+ (rL3FIR, bit(34)) ? TBDDefaultCallout;
+
+ /** L3FIR[35]
+ *
+ */
+ (rL3FIR, bit(35)) ? TBDDefaultCallout;
+
+ /** L3FIR[36]
+ *
+ */
+ (rL3FIR, bit(36)) ? TBDDefaultCallout;
+
+ /** L3FIR[37]
+ *
+ */
+ (rL3FIR, bit(37)) ? TBDDefaultCallout;
+
+ /** L3FIR[38]
+ *
+ */
+ (rL3FIR, bit(38)) ? TBDDefaultCallout;
+
+ /** L3FIR[39]
+ *
+ */
+ (rL3FIR, bit(39)) ? TBDDefaultCallout;
+
+ /** L3FIR[40]
+ *
+ */
+ (rL3FIR, bit(40)) ? TBDDefaultCallout;
+
+ /** L3FIR[41]
+ *
+ */
+ (rL3FIR, bit(41)) ? TBDDefaultCallout;
+
+ /** L3FIR[42]
+ *
+ */
+ (rL3FIR, bit(42)) ? TBDDefaultCallout;
+
+ /** L3FIR[43]
+ *
+ */
+ (rL3FIR, bit(43)) ? TBDDefaultCallout;
+
+ /** L3FIR[44]
+ *
+ */
+ (rL3FIR, bit(44)) ? TBDDefaultCallout;
+
+ /** L3FIR[45]
+ *
+ */
+ (rL3FIR, bit(45)) ? TBDDefaultCallout;
+
+ /** L3FIR[46]
+ *
+ */
+ (rL3FIR, bit(46)) ? TBDDefaultCallout;
+
+ /** L3FIR[47]
+ *
+ */
+ (rL3FIR, bit(47)) ? TBDDefaultCallout;
+
+ /** L3FIR[48]
+ *
+ */
+ (rL3FIR, bit(48)) ? TBDDefaultCallout;
+
+ /** L3FIR[49]
+ *
+ */
+ (rL3FIR, bit(49)) ? TBDDefaultCallout;
+
+ /** L3FIR[50]
+ *
+ */
+ (rL3FIR, bit(50)) ? TBDDefaultCallout;
+
+ /** L3FIR[51]
+ *
+ */
+ (rL3FIR, bit(51)) ? TBDDefaultCallout;
+
+ /** L3FIR[52]
+ *
+ */
+ (rL3FIR, bit(52)) ? TBDDefaultCallout;
+
+ /** L3FIR[53]
+ *
+ */
+ (rL3FIR, bit(53)) ? TBDDefaultCallout;
+
+ /** L3FIR[54]
+ *
+ */
+ (rL3FIR, bit(54)) ? TBDDefaultCallout;
+
+ /** L3FIR[55]
+ *
+ */
+ (rL3FIR, bit(55)) ? TBDDefaultCallout;
+
+ /** L3FIR[56]
+ *
+ */
+ (rL3FIR, bit(56)) ? TBDDefaultCallout;
+
+ /** L3FIR[57]
+ *
+ */
+ (rL3FIR, bit(57)) ? TBDDefaultCallout;
+
+ /** L3FIR[58]
+ *
+ */
+ (rL3FIR, bit(58)) ? TBDDefaultCallout;
+
+ /** L3FIR[59]
+ *
+ */
+ (rL3FIR, bit(59)) ? TBDDefaultCallout;
+
+ /** L3FIR[60]
+ *
+ */
+ (rL3FIR, bit(60)) ? TBDDefaultCallout;
+
+ /** L3FIR[61]
+ *
+ */
+ (rL3FIR, bit(61)) ? TBDDefaultCallout;
+
+ /** L3FIR[62]
+ *
+ */
+ (rL3FIR, bit(62)) ? TBDDefaultCallout;
+
+ /** L3FIR[63]
+ *
+ */
+ (rL3FIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+################################################################################
+# P9 EX target CMEFIR
+################################################################################
+
+rule rCMEFIR
+{
+ CHECK_STOP:
+ CMEFIR & ~CMEFIR_MASK & ~CMEFIR_ACT0 & ~CMEFIR_ACT1;
+ RECOVERABLE:
+ CMEFIR & ~CMEFIR_MASK & ~CMEFIR_ACT0 & CMEFIR_ACT1;
+};
+
+group gCMEFIR filter singlebit
+{
+ /** CMEFIR[0]
+ *
+ */
+ (rCMEFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** CMEFIR[1]
+ *
+ */
+ (rCMEFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** CMEFIR[2]
+ *
+ */
+ (rCMEFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** CMEFIR[3]
+ *
+ */
+ (rCMEFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** CMEFIR[4]
+ *
+ */
+ (rCMEFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** CMEFIR[5]
+ *
+ */
+ (rCMEFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** CMEFIR[6]
+ *
+ */
+ (rCMEFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** CMEFIR[7]
+ *
+ */
+ (rCMEFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** CMEFIR[8]
+ *
+ */
+ (rCMEFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** CMEFIR[9]
+ *
+ */
+ (rCMEFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** CMEFIR[10]
+ *
+ */
+ (rCMEFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** CMEFIR[11]
+ *
+ */
+ (rCMEFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** CMEFIR[12]
+ *
+ */
+ (rCMEFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** CMEFIR[13]
+ *
+ */
+ (rCMEFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** CMEFIR[14]
+ *
+ */
+ (rCMEFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** CMEFIR[15]
+ *
+ */
+ (rCMEFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** CMEFIR[16]
+ *
+ */
+ (rCMEFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** CMEFIR[17]
+ *
+ */
+ (rCMEFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** CMEFIR[18]
+ *
+ */
+ (rCMEFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** CMEFIR[19]
+ *
+ */
+ (rCMEFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** CMEFIR[20]
+ *
+ */
+ (rCMEFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** CMEFIR[21]
+ *
+ */
+ (rCMEFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** CMEFIR[22]
+ *
+ */
+ (rCMEFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** CMEFIR[23]
+ *
+ */
+ (rCMEFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** CMEFIR[24]
+ *
+ */
+ (rCMEFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** CMEFIR[25]
+ *
+ */
+ (rCMEFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** CMEFIR[26]
+ *
+ */
+ (rCMEFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** CMEFIR[27]
+ *
+ */
+ (rCMEFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** CMEFIR[28]
+ *
+ */
+ (rCMEFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** CMEFIR[29]
+ *
+ */
+ (rCMEFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** CMEFIR[30]
+ *
+ */
+ (rCMEFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** CMEFIR[31]
+ *
+ */
+ (rCMEFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** CMEFIR[32]
+ *
+ */
+ (rCMEFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** CMEFIR[33]
+ *
+ */
+ (rCMEFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** CMEFIR[34]
+ *
+ */
+ (rCMEFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** CMEFIR[35]
+ *
+ */
+ (rCMEFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** CMEFIR[36]
+ *
+ */
+ (rCMEFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** CMEFIR[37]
+ *
+ */
+ (rCMEFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** CMEFIR[38]
+ *
+ */
+ (rCMEFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** CMEFIR[39]
+ *
+ */
+ (rCMEFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** CMEFIR[40]
+ *
+ */
+ (rCMEFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** CMEFIR[41]
+ *
+ */
+ (rCMEFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** CMEFIR[42]
+ *
+ */
+ (rCMEFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** CMEFIR[43]
+ *
+ */
+ (rCMEFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** CMEFIR[44]
+ *
+ */
+ (rCMEFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** CMEFIR[45]
+ *
+ */
+ (rCMEFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** CMEFIR[46]
+ *
+ */
+ (rCMEFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** CMEFIR[47]
+ *
+ */
+ (rCMEFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** CMEFIR[48]
+ *
+ */
+ (rCMEFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** CMEFIR[49]
+ *
+ */
+ (rCMEFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** CMEFIR[50]
+ *
+ */
+ (rCMEFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** CMEFIR[51]
+ *
+ */
+ (rCMEFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** CMEFIR[52]
+ *
+ */
+ (rCMEFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** CMEFIR[53]
+ *
+ */
+ (rCMEFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** CMEFIR[54]
+ *
+ */
+ (rCMEFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** CMEFIR[55]
+ *
+ */
+ (rCMEFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** CMEFIR[56]
+ *
+ */
+ (rCMEFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** CMEFIR[57]
+ *
+ */
+ (rCMEFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** CMEFIR[58]
+ *
+ */
+ (rCMEFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** CMEFIR[59]
+ *
+ */
+ (rCMEFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** CMEFIR[60]
+ *
+ */
+ (rCMEFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** CMEFIR[61]
+ *
+ */
+ (rCMEFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** CMEFIR[62]
+ *
+ */
+ (rCMEFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** CMEFIR[63]
+ *
+ */
+ (rCMEFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+ ##############################################################################
+ # #
+ # # ### #
+ # # # ## ##### ### ### # # # # # # ### ### ### ### #
+ # # # # # # # # # ## # # # # # # # # # #
+ # ####### # # # # # # # # # # ##### ### ### ## ### #
+ # # # # # # # # # # ## # # # # # # # # # #
+ # # # ## # ### ### # # ### ### # # ### ### ### ### #
+ # #
+ ##############################################################################
+
+# Include the common action set.
+.include "p9_common_actions.rule";
+
diff --git a/src/usr/diag/prdf/common/plat/p9/p9_mca.rule b/src/usr/diag/prdf/common/plat/p9/p9_mca.rule
new file mode 100644
index 000000000..47883169e
--- /dev/null
+++ b/src/usr/diag/prdf/common/plat/p9/p9_mca.rule
@@ -0,0 +1,1213 @@
+# IBM_PROLOG_BEGIN_TAG
+# This is an automatically generated prolog.
+#
+# $Source: src/usr/diag/prdf/common/plat/p9/p9_mca.rule $
+#
+# OpenPOWER HostBoot Project
+#
+# Contributors Listed Below - COPYRIGHT 2016
+# [+] International Business Machines Corp.
+#
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# permissions and limitations under the License.
+#
+# IBM_PROLOG_END_TAG
+
+chip p9_mca
+{
+ name "P9 MCA chiplet";
+ targettype TYPE_MCA;
+ sigoff 0x9000;
+ dump DUMP_CONTENT_HW;
+ scomlen 64;
+
+ #############################################################################
+ # #
+ # ###### #
+ # # # ###### #### ### #### ##### ###### ##### #### #
+ # # # # # # # # # # # # # #
+ # ###### ##### # # #### # ##### # # #### #
+ # # # # # ### # # # # ##### # #
+ # # # # # # # # # # # # # # # #
+ # # # ###### #### ### #### # ###### # # #### #
+ # #
+ #############################################################################
+
+ ############################################################################
+ # P9 MCA target MCACALFIR
+ ############################################################################
+
+ register MCACALFIR
+ {
+ name "P9 MCA target MCACALFIR";
+ scomaddr 0x07010900;
+ reset (&, 0x07010901);
+ mask (|, 0x07010905);
+ capture group default;
+ };
+
+ register MCACALFIR_MASK
+ {
+ name "P9 MCA target MCACALFIR MASK";
+ scomaddr 0x07010903;
+ capture group default;
+ };
+
+ register MCACALFIR_ACT0
+ {
+ name "P9 MCA target MCACALFIR ACT0";
+ scomaddr 0x07010906;
+ capture group default;
+ capture req nonzero("MCACALFIR");
+ };
+
+ register MCACALFIR_ACT1
+ {
+ name "P9 MCA target MCACALFIR ACT1";
+ scomaddr 0x07010907;
+ capture group default;
+ capture req nonzero("MCACALFIR");
+ };
+
+ ############################################################################
+ # P9 MCA target MCAECCFIR
+ ############################################################################
+
+ register MCAECCFIR
+ {
+ name "P9 MCA target MCAECCFIR";
+ scomaddr 0x07010a00;
+ reset (&, 0x07010a01);
+ mask (|, 0x07010a05);
+ capture group default;
+ };
+
+ register MCAECCFIR_MASK
+ {
+ name "P9 MCA target MCAECCFIR MASK";
+ scomaddr 0x07010a03;
+ capture group default;
+ };
+
+ register MCAECCFIR_ACT0
+ {
+ name "P9 MCA target MCAECCFIR ACT0";
+ scomaddr 0x07010a06;
+ capture group default;
+ capture req nonzero("MCAECCFIR");
+ };
+
+ register MCAECCFIR_ACT1
+ {
+ name "P9 MCA target MCAECCFIR ACT1";
+ scomaddr 0x07010a07;
+ capture group default;
+ capture req nonzero("MCAECCFIR");
+ };
+
+ ############################################################################
+ # P9 MCA target DDRPHYFIR
+ ############################################################################
+
+ register DDRPHYFIR
+ {
+ name "P9 MCA target DDRPHYFIR";
+ scomaddr 0x800200900701103F;
+ reset (&, 0x800200910701103F);
+ mask (|, 0x800200950701103F);
+ capture group default;
+ };
+
+ register DDRPHYFIR_MASK
+ {
+ name "P9 MCA target DDRPHYFIR MASK";
+ scomaddr 0x800200930701103F;
+ capture group default;
+ };
+
+ register DDRPHYFIR_ACT0
+ {
+ name "P9 MCA target DDRPHYFIR ACT0";
+ scomaddr 0x800200960701103F;
+ capture group default;
+ capture req nonzero("DDRPHYFIR");
+ };
+
+ register DDRPHYFIR_ACT1
+ {
+ name "P9 MCA target DDRPHYFIR ACT1";
+ scomaddr 0x800200970701103F;
+ capture group default;
+ capture req nonzero("DDRPHYFIR");
+ };
+
+};
+
+ ##############################################################################
+ # #
+ # #### # #
+ # # # # # # ##### ### # # # ## ##### ### ### # # ### #
+ # # # # # # # # # # # # # # # # # ## # # #
+ # #### # # # #### ### # ####### # # # # # # # # ### #
+ # # # # # # # # # # # # # # # # # # ## # #
+ # # # ### #### ##### ### # # # ## # ### ### # # ### #
+ # #
+ ##############################################################################
+
+################################################################################
+# Summary for MCA
+################################################################################
+
+rule rMCA
+{
+ CHECK_STOP:
+ summary( 0, rMCACALFIR ) |
+ summary( 1, rMCAECCFIR ) |
+ summary( 2, rDDRPHYFIR );
+
+ RECOVERABLE:
+ summary( 0, rMCACALFIR ) |
+ summary( 1, rMCAECCFIR ) |
+ summary( 2, rDDRPHYFIR );
+
+};
+
+group gMCA attntype CHECK_STOP, RECOVERABLE
+{
+ (rMCA, bit(0)) ? analyze(gMCACALFIR);
+ (rMCA, bit(1)) ? analyze(gMCAECCFIR);
+ (rMCA, bit(2)) ? analyze(gDDRPHYFIR);
+};
+
+################################################################################
+# P9 MCA target MCACALFIR
+################################################################################
+
+rule rMCACALFIR
+{
+ CHECK_STOP:
+ MCACALFIR & ~MCACALFIR_MASK & ~MCACALFIR_ACT0 & ~MCACALFIR_ACT1;
+ RECOVERABLE:
+ MCACALFIR & ~MCACALFIR_MASK & ~MCACALFIR_ACT0 & MCACALFIR_ACT1;
+};
+
+group gMCACALFIR filter singlebit
+{
+ /** MCACALFIR[0]
+ *
+ */
+ (rMCACALFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[1]
+ *
+ */
+ (rMCACALFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[2]
+ *
+ */
+ (rMCACALFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[3]
+ *
+ */
+ (rMCACALFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[4]
+ *
+ */
+ (rMCACALFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[5]
+ *
+ */
+ (rMCACALFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[6]
+ *
+ */
+ (rMCACALFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[7]
+ *
+ */
+ (rMCACALFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[8]
+ *
+ */
+ (rMCACALFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[9]
+ *
+ */
+ (rMCACALFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[10]
+ *
+ */
+ (rMCACALFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[11]
+ *
+ */
+ (rMCACALFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[12]
+ *
+ */
+ (rMCACALFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[13]
+ *
+ */
+ (rMCACALFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[14]
+ *
+ */
+ (rMCACALFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[15]
+ *
+ */
+ (rMCACALFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[16]
+ *
+ */
+ (rMCACALFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[17]
+ *
+ */
+ (rMCACALFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[18]
+ *
+ */
+ (rMCACALFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[19]
+ *
+ */
+ (rMCACALFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[20]
+ *
+ */
+ (rMCACALFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[21]
+ *
+ */
+ (rMCACALFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[22]
+ *
+ */
+ (rMCACALFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[23]
+ *
+ */
+ (rMCACALFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[24]
+ *
+ */
+ (rMCACALFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[25]
+ *
+ */
+ (rMCACALFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[26]
+ *
+ */
+ (rMCACALFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[27]
+ *
+ */
+ (rMCACALFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[28]
+ *
+ */
+ (rMCACALFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[29]
+ *
+ */
+ (rMCACALFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[30]
+ *
+ */
+ (rMCACALFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[31]
+ *
+ */
+ (rMCACALFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[32]
+ *
+ */
+ (rMCACALFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[33]
+ *
+ */
+ (rMCACALFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[34]
+ *
+ */
+ (rMCACALFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[35]
+ *
+ */
+ (rMCACALFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[36]
+ *
+ */
+ (rMCACALFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[37]
+ *
+ */
+ (rMCACALFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[38]
+ *
+ */
+ (rMCACALFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[39]
+ *
+ */
+ (rMCACALFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[40]
+ *
+ */
+ (rMCACALFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[41]
+ *
+ */
+ (rMCACALFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[42]
+ *
+ */
+ (rMCACALFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[43]
+ *
+ */
+ (rMCACALFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[44]
+ *
+ */
+ (rMCACALFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[45]
+ *
+ */
+ (rMCACALFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[46]
+ *
+ */
+ (rMCACALFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[47]
+ *
+ */
+ (rMCACALFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[48]
+ *
+ */
+ (rMCACALFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[49]
+ *
+ */
+ (rMCACALFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[50]
+ *
+ */
+ (rMCACALFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[51]
+ *
+ */
+ (rMCACALFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[52]
+ *
+ */
+ (rMCACALFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[53]
+ *
+ */
+ (rMCACALFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[54]
+ *
+ */
+ (rMCACALFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[55]
+ *
+ */
+ (rMCACALFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[56]
+ *
+ */
+ (rMCACALFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[57]
+ *
+ */
+ (rMCACALFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[58]
+ *
+ */
+ (rMCACALFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[59]
+ *
+ */
+ (rMCACALFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[60]
+ *
+ */
+ (rMCACALFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[61]
+ *
+ */
+ (rMCACALFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[62]
+ *
+ */
+ (rMCACALFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** MCACALFIR[63]
+ *
+ */
+ (rMCACALFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+################################################################################
+# P9 MCA target MCAECCFIR
+################################################################################
+
+rule rMCAECCFIR
+{
+ CHECK_STOP:
+ MCAECCFIR & ~MCAECCFIR_MASK & ~MCAECCFIR_ACT0 & ~MCAECCFIR_ACT1;
+ RECOVERABLE:
+ MCAECCFIR & ~MCAECCFIR_MASK & ~MCAECCFIR_ACT0 & MCAECCFIR_ACT1;
+};
+
+group gMCAECCFIR filter singlebit
+{
+ /** MCAECCFIR[0]
+ *
+ */
+ (rMCAECCFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[1]
+ *
+ */
+ (rMCAECCFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[2]
+ *
+ */
+ (rMCAECCFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[3]
+ *
+ */
+ (rMCAECCFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[4]
+ *
+ */
+ (rMCAECCFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[5]
+ *
+ */
+ (rMCAECCFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[6]
+ *
+ */
+ (rMCAECCFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[7]
+ *
+ */
+ (rMCAECCFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[8]
+ *
+ */
+ (rMCAECCFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[9]
+ *
+ */
+ (rMCAECCFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[10]
+ *
+ */
+ (rMCAECCFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[11]
+ *
+ */
+ (rMCAECCFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[12]
+ *
+ */
+ (rMCAECCFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[13]
+ *
+ */
+ (rMCAECCFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[14]
+ *
+ */
+ (rMCAECCFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[15]
+ *
+ */
+ (rMCAECCFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[16]
+ *
+ */
+ (rMCAECCFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[17]
+ *
+ */
+ (rMCAECCFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[18]
+ *
+ */
+ (rMCAECCFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[19]
+ *
+ */
+ (rMCAECCFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[20]
+ *
+ */
+ (rMCAECCFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[21]
+ *
+ */
+ (rMCAECCFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[22]
+ *
+ */
+ (rMCAECCFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[23]
+ *
+ */
+ (rMCAECCFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[24]
+ *
+ */
+ (rMCAECCFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[25]
+ *
+ */
+ (rMCAECCFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[26]
+ *
+ */
+ (rMCAECCFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[27]
+ *
+ */
+ (rMCAECCFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[28]
+ *
+ */
+ (rMCAECCFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[29]
+ *
+ */
+ (rMCAECCFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[30]
+ *
+ */
+ (rMCAECCFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[31]
+ *
+ */
+ (rMCAECCFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[32]
+ *
+ */
+ (rMCAECCFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[33]
+ *
+ */
+ (rMCAECCFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[34]
+ *
+ */
+ (rMCAECCFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[35]
+ *
+ */
+ (rMCAECCFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[36]
+ *
+ */
+ (rMCAECCFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[37]
+ *
+ */
+ (rMCAECCFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[38]
+ *
+ */
+ (rMCAECCFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[39]
+ *
+ */
+ (rMCAECCFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[40]
+ *
+ */
+ (rMCAECCFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[41]
+ *
+ */
+ (rMCAECCFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[42]
+ *
+ */
+ (rMCAECCFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[43]
+ *
+ */
+ (rMCAECCFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[44]
+ *
+ */
+ (rMCAECCFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[45]
+ *
+ */
+ (rMCAECCFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[46]
+ *
+ */
+ (rMCAECCFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[47]
+ *
+ */
+ (rMCAECCFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[48]
+ *
+ */
+ (rMCAECCFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[49]
+ *
+ */
+ (rMCAECCFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[50]
+ *
+ */
+ (rMCAECCFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[51]
+ *
+ */
+ (rMCAECCFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[52]
+ *
+ */
+ (rMCAECCFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[53]
+ *
+ */
+ (rMCAECCFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[54]
+ *
+ */
+ (rMCAECCFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[55]
+ *
+ */
+ (rMCAECCFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[56]
+ *
+ */
+ (rMCAECCFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[57]
+ *
+ */
+ (rMCAECCFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[58]
+ *
+ */
+ (rMCAECCFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[59]
+ *
+ */
+ (rMCAECCFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[60]
+ *
+ */
+ (rMCAECCFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[61]
+ *
+ */
+ (rMCAECCFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[62]
+ *
+ */
+ (rMCAECCFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** MCAECCFIR[63]
+ *
+ */
+ (rMCAECCFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+################################################################################
+# P9 MCA target DDRPHYFIR
+################################################################################
+
+rule rDDRPHYFIR
+{
+ CHECK_STOP:
+ DDRPHYFIR & ~DDRPHYFIR_MASK & ~DDRPHYFIR_ACT0 & ~DDRPHYFIR_ACT1;
+ RECOVERABLE:
+ DDRPHYFIR & ~DDRPHYFIR_MASK & ~DDRPHYFIR_ACT0 & DDRPHYFIR_ACT1;
+};
+
+group gDDRPHYFIR filter singlebit
+{
+ /** DDRPHYFIR[0]
+ *
+ */
+ (rDDRPHYFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[1]
+ *
+ */
+ (rDDRPHYFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[2]
+ *
+ */
+ (rDDRPHYFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[3]
+ *
+ */
+ (rDDRPHYFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[4]
+ *
+ */
+ (rDDRPHYFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[5]
+ *
+ */
+ (rDDRPHYFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[6]
+ *
+ */
+ (rDDRPHYFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[7]
+ *
+ */
+ (rDDRPHYFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[8]
+ *
+ */
+ (rDDRPHYFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[9]
+ *
+ */
+ (rDDRPHYFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[10]
+ *
+ */
+ (rDDRPHYFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[11]
+ *
+ */
+ (rDDRPHYFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[12]
+ *
+ */
+ (rDDRPHYFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[13]
+ *
+ */
+ (rDDRPHYFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[14]
+ *
+ */
+ (rDDRPHYFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[15]
+ *
+ */
+ (rDDRPHYFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[16]
+ *
+ */
+ (rDDRPHYFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[17]
+ *
+ */
+ (rDDRPHYFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[18]
+ *
+ */
+ (rDDRPHYFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[19]
+ *
+ */
+ (rDDRPHYFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[20]
+ *
+ */
+ (rDDRPHYFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[21]
+ *
+ */
+ (rDDRPHYFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[22]
+ *
+ */
+ (rDDRPHYFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[23]
+ *
+ */
+ (rDDRPHYFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[24]
+ *
+ */
+ (rDDRPHYFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[25]
+ *
+ */
+ (rDDRPHYFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[26]
+ *
+ */
+ (rDDRPHYFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[27]
+ *
+ */
+ (rDDRPHYFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[28]
+ *
+ */
+ (rDDRPHYFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[29]
+ *
+ */
+ (rDDRPHYFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[30]
+ *
+ */
+ (rDDRPHYFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[31]
+ *
+ */
+ (rDDRPHYFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[32]
+ *
+ */
+ (rDDRPHYFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[33]
+ *
+ */
+ (rDDRPHYFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[34]
+ *
+ */
+ (rDDRPHYFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[35]
+ *
+ */
+ (rDDRPHYFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[36]
+ *
+ */
+ (rDDRPHYFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[37]
+ *
+ */
+ (rDDRPHYFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[38]
+ *
+ */
+ (rDDRPHYFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[39]
+ *
+ */
+ (rDDRPHYFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[40]
+ *
+ */
+ (rDDRPHYFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[41]
+ *
+ */
+ (rDDRPHYFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[42]
+ *
+ */
+ (rDDRPHYFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[43]
+ *
+ */
+ (rDDRPHYFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[44]
+ *
+ */
+ (rDDRPHYFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[45]
+ *
+ */
+ (rDDRPHYFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[46]
+ *
+ */
+ (rDDRPHYFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[47]
+ *
+ */
+ (rDDRPHYFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[48]
+ *
+ */
+ (rDDRPHYFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[49]
+ *
+ */
+ (rDDRPHYFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[50]
+ *
+ */
+ (rDDRPHYFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[51]
+ *
+ */
+ (rDDRPHYFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[52]
+ *
+ */
+ (rDDRPHYFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[53]
+ *
+ */
+ (rDDRPHYFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[54]
+ *
+ */
+ (rDDRPHYFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[55]
+ *
+ */
+ (rDDRPHYFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[56]
+ *
+ */
+ (rDDRPHYFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[57]
+ *
+ */
+ (rDDRPHYFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[58]
+ *
+ */
+ (rDDRPHYFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[59]
+ *
+ */
+ (rDDRPHYFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[60]
+ *
+ */
+ (rDDRPHYFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[61]
+ *
+ */
+ (rDDRPHYFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[62]
+ *
+ */
+ (rDDRPHYFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** DDRPHYFIR[63]
+ *
+ */
+ (rDDRPHYFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+ ##############################################################################
+ # #
+ # # ### #
+ # # # ## ##### ### ### # # # # # # ### ### ### ### #
+ # # # # # # # # # ## # # # # # # # # # #
+ # ####### # # # # # # # # # # ##### ### ### ## ### #
+ # # # # # # # # # # ## # # # # # # # # # #
+ # # # ## # ### ### # # ### ### # # ### ### ### ### #
+ # #
+ ##############################################################################
+
+# Include the common action set.
+.include "p9_common_actions.rule";
+
diff --git a/src/usr/diag/prdf/common/plat/p9/p9_mcbist.rule b/src/usr/diag/prdf/common/plat/p9/p9_mcbist.rule
new file mode 100644
index 000000000..b151c195f
--- /dev/null
+++ b/src/usr/diag/prdf/common/plat/p9/p9_mcbist.rule
@@ -0,0 +1,463 @@
+# IBM_PROLOG_BEGIN_TAG
+# This is an automatically generated prolog.
+#
+# $Source: src/usr/diag/prdf/common/plat/p9/p9_mcbist.rule $
+#
+# OpenPOWER HostBoot Project
+#
+# Contributors Listed Below - COPYRIGHT 2016
+# [+] International Business Machines Corp.
+#
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# permissions and limitations under the License.
+#
+# IBM_PROLOG_END_TAG
+
+chip p9_mcbist
+{
+ name "P9 MCBIST chiplet";
+ targettype TYPE_MCBIST;
+ sigoff 0x9000;
+ dump DUMP_CONTENT_HW;
+ scomlen 64;
+
+ #############################################################################
+ # #
+ # ###### #
+ # # # ###### #### ### #### ##### ###### ##### #### #
+ # # # # # # # # # # # # # #
+ # ###### ##### # # #### # ##### # # #### #
+ # # # # # ### # # # # ##### # #
+ # # # # # # # # # # # # # # # #
+ # # # ###### #### ### #### # ###### # # #### #
+ # #
+ #############################################################################
+
+ ############################################################################
+ # P9 MCBIST target MCBISTFIR
+ ############################################################################
+
+ register MCBISTFIR
+ {
+ name "P9 MCBIST target MCBISTFIR";
+ scomaddr 0x07012300;
+ reset (&, 0x07012301);
+ mask (|, 0x07012305);
+ capture group default;
+ };
+
+ register MCBISTFIR_MASK
+ {
+ name "P9 MCBIST target MCBISTFIR MASK";
+ scomaddr 0x07012303;
+ capture group default;
+ };
+
+ register MCBISTFIR_ACT0
+ {
+ name "P9 MCBIST target MCBISTFIR ACT0";
+ scomaddr 0x07012306;
+ capture group default;
+ capture req nonzero("MCBISTFIR");
+ };
+
+ register MCBISTFIR_ACT1
+ {
+ name "P9 MCBIST target MCBISTFIR ACT1";
+ scomaddr 0x07012307;
+ capture group default;
+ capture req nonzero("MCBISTFIR");
+ };
+
+};
+
+ ##############################################################################
+ # #
+ # #### # #
+ # # # # # # ##### ### # # # ## ##### ### ### # # ### #
+ # # # # # # # # # # # # # # # # # ## # # #
+ # #### # # # #### ### # ####### # # # # # # # # ### #
+ # # # # # # # # # # # # # # # # # # ## # #
+ # # # ### #### ##### ### # # # ## # ### ### # # ### #
+ # #
+ ##############################################################################
+
+################################################################################
+# Summary for MCBIST
+################################################################################
+
+rule rMCBIST
+{
+ CHECK_STOP:
+ summary( 0, rMCBISTFIR );
+
+ RECOVERABLE:
+ summary( 0, rMCBISTFIR );
+
+};
+
+group gMCBIST attntype CHECK_STOP, RECOVERABLE
+{
+ (rMCBIST, bit(0)) ? analyze(gMCBISTFIR);
+};
+
+################################################################################
+# P9 MCBIST target MCBISTFIR
+################################################################################
+
+rule rMCBISTFIR
+{
+ CHECK_STOP:
+ MCBISTFIR & ~MCBISTFIR_MASK & ~MCBISTFIR_ACT0 & ~MCBISTFIR_ACT1;
+ RECOVERABLE:
+ MCBISTFIR & ~MCBISTFIR_MASK & ~MCBISTFIR_ACT0 & MCBISTFIR_ACT1;
+};
+
+group gMCBISTFIR filter singlebit
+{
+ /** MCBISTFIR[0]
+ *
+ */
+ (rMCBISTFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[1]
+ *
+ */
+ (rMCBISTFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[2]
+ *
+ */
+ (rMCBISTFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[3]
+ *
+ */
+ (rMCBISTFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[4]
+ *
+ */
+ (rMCBISTFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[5]
+ *
+ */
+ (rMCBISTFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[6]
+ *
+ */
+ (rMCBISTFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[7]
+ *
+ */
+ (rMCBISTFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[8]
+ *
+ */
+ (rMCBISTFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[9]
+ *
+ */
+ (rMCBISTFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[10]
+ *
+ */
+ (rMCBISTFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[11]
+ *
+ */
+ (rMCBISTFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[12]
+ *
+ */
+ (rMCBISTFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[13]
+ *
+ */
+ (rMCBISTFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[14]
+ *
+ */
+ (rMCBISTFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[15]
+ *
+ */
+ (rMCBISTFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[16]
+ *
+ */
+ (rMCBISTFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[17]
+ *
+ */
+ (rMCBISTFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[18]
+ *
+ */
+ (rMCBISTFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[19]
+ *
+ */
+ (rMCBISTFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[20]
+ *
+ */
+ (rMCBISTFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[21]
+ *
+ */
+ (rMCBISTFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[22]
+ *
+ */
+ (rMCBISTFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[23]
+ *
+ */
+ (rMCBISTFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[24]
+ *
+ */
+ (rMCBISTFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[25]
+ *
+ */
+ (rMCBISTFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[26]
+ *
+ */
+ (rMCBISTFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[27]
+ *
+ */
+ (rMCBISTFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[28]
+ *
+ */
+ (rMCBISTFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[29]
+ *
+ */
+ (rMCBISTFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[30]
+ *
+ */
+ (rMCBISTFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[31]
+ *
+ */
+ (rMCBISTFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[32]
+ *
+ */
+ (rMCBISTFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[33]
+ *
+ */
+ (rMCBISTFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[34]
+ *
+ */
+ (rMCBISTFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[35]
+ *
+ */
+ (rMCBISTFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[36]
+ *
+ */
+ (rMCBISTFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[37]
+ *
+ */
+ (rMCBISTFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[38]
+ *
+ */
+ (rMCBISTFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[39]
+ *
+ */
+ (rMCBISTFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[40]
+ *
+ */
+ (rMCBISTFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[41]
+ *
+ */
+ (rMCBISTFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[42]
+ *
+ */
+ (rMCBISTFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[43]
+ *
+ */
+ (rMCBISTFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[44]
+ *
+ */
+ (rMCBISTFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[45]
+ *
+ */
+ (rMCBISTFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[46]
+ *
+ */
+ (rMCBISTFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[47]
+ *
+ */
+ (rMCBISTFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[48]
+ *
+ */
+ (rMCBISTFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[49]
+ *
+ */
+ (rMCBISTFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[50]
+ *
+ */
+ (rMCBISTFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[51]
+ *
+ */
+ (rMCBISTFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[52]
+ *
+ */
+ (rMCBISTFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[53]
+ *
+ */
+ (rMCBISTFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[54]
+ *
+ */
+ (rMCBISTFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[55]
+ *
+ */
+ (rMCBISTFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[56]
+ *
+ */
+ (rMCBISTFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[57]
+ *
+ */
+ (rMCBISTFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[58]
+ *
+ */
+ (rMCBISTFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[59]
+ *
+ */
+ (rMCBISTFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[60]
+ *
+ */
+ (rMCBISTFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[61]
+ *
+ */
+ (rMCBISTFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[62]
+ *
+ */
+ (rMCBISTFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** MCBISTFIR[63]
+ *
+ */
+ (rMCBISTFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+ ##############################################################################
+ # #
+ # # ### #
+ # # # ## ##### ### ### # # # # # # ### ### ### ### #
+ # # # # # # # # # ## # # # # # # # # # #
+ # ####### # # # # # # # # # # ##### ### ### ## ### #
+ # # # # # # # # # # ## # # # # # # # # # #
+ # # # ## # ### ### # # ### ### # # ### ### ### ### #
+ # #
+ ##############################################################################
+
+# Include the common action set.
+.include "p9_common_actions.rule";
+
diff --git a/src/usr/diag/prdf/common/plat/p9/p9_mcs.rule b/src/usr/diag/prdf/common/plat/p9/p9_mcs.rule
new file mode 100644
index 000000000..4aec67bf3
--- /dev/null
+++ b/src/usr/diag/prdf/common/plat/p9/p9_mcs.rule
@@ -0,0 +1,463 @@
+# IBM_PROLOG_BEGIN_TAG
+# This is an automatically generated prolog.
+#
+# $Source: src/usr/diag/prdf/common/plat/p9/p9_mcs.rule $
+#
+# OpenPOWER HostBoot Project
+#
+# Contributors Listed Below - COPYRIGHT 2016
+# [+] International Business Machines Corp.
+#
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# permissions and limitations under the License.
+#
+# IBM_PROLOG_END_TAG
+
+chip p9_mcs
+{
+ name "P9 MCS chiplet";
+ targettype TYPE_MCS;
+ sigoff 0x9000;
+ dump DUMP_CONTENT_HW;
+ scomlen 64;
+
+ #############################################################################
+ # #
+ # ###### #
+ # # # ###### #### ### #### ##### ###### ##### #### #
+ # # # # # # # # # # # # # #
+ # ###### ##### # # #### # ##### # # #### #
+ # # # # # ### # # # # ##### # #
+ # # # # # # # # # # # # # # # #
+ # # # ###### #### ### #### # ###### # # #### #
+ # #
+ #############################################################################
+
+ ############################################################################
+ # P9 MCS target MCFIR
+ ############################################################################
+
+ register MCFIR
+ {
+ name "P9 MCS target MCFIR";
+ scomaddr 0x03010800;
+ reset (&, 0x03010801);
+ mask (|, 0x03010805);
+ capture group default;
+ };
+
+ register MCFIR_MASK
+ {
+ name "P9 MCS target MCFIR MASK";
+ scomaddr 0x03010803;
+ capture group default;
+ };
+
+ register MCFIR_ACT0
+ {
+ name "P9 MCS target MCFIR ACT0";
+ scomaddr 0x03010806;
+ capture group default;
+ capture req nonzero("MCFIR");
+ };
+
+ register MCFIR_ACT1
+ {
+ name "P9 MCS target MCFIR ACT1";
+ scomaddr 0x03010807;
+ capture group default;
+ capture req nonzero("MCFIR");
+ };
+
+};
+
+ ##############################################################################
+ # #
+ # #### # #
+ # # # # # # ##### ### # # # ## ##### ### ### # # ### #
+ # # # # # # # # # # # # # # # # # ## # # #
+ # #### # # # #### ### # ####### # # # # # # # # ### #
+ # # # # # # # # # # # # # # # # # # ## # #
+ # # # ### #### ##### ### # # # ## # ### ### # # ### #
+ # #
+ ##############################################################################
+
+################################################################################
+# Summary for MCS
+################################################################################
+
+rule rMCS
+{
+ CHECK_STOP:
+ summary( 0, rMCFIR );
+
+ RECOVERABLE:
+ summary( 0, rMCFIR );
+
+};
+
+group gMCS attntype CHECK_STOP, RECOVERABLE
+{
+ (rMCS, bit(0)) ? analyze(gMCFIR);
+};
+
+################################################################################
+# P9 MCS target MCFIR
+################################################################################
+
+rule rMCFIR
+{
+ CHECK_STOP:
+ MCFIR & ~MCFIR_MASK & ~MCFIR_ACT0 & ~MCFIR_ACT1;
+ RECOVERABLE:
+ MCFIR & ~MCFIR_MASK & ~MCFIR_ACT0 & MCFIR_ACT1;
+};
+
+group gMCFIR filter singlebit
+{
+ /** MCFIR[0]
+ *
+ */
+ (rMCFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** MCFIR[1]
+ *
+ */
+ (rMCFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** MCFIR[2]
+ *
+ */
+ (rMCFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** MCFIR[3]
+ *
+ */
+ (rMCFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** MCFIR[4]
+ *
+ */
+ (rMCFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** MCFIR[5]
+ *
+ */
+ (rMCFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** MCFIR[6]
+ *
+ */
+ (rMCFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** MCFIR[7]
+ *
+ */
+ (rMCFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** MCFIR[8]
+ *
+ */
+ (rMCFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** MCFIR[9]
+ *
+ */
+ (rMCFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** MCFIR[10]
+ *
+ */
+ (rMCFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** MCFIR[11]
+ *
+ */
+ (rMCFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** MCFIR[12]
+ *
+ */
+ (rMCFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** MCFIR[13]
+ *
+ */
+ (rMCFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** MCFIR[14]
+ *
+ */
+ (rMCFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** MCFIR[15]
+ *
+ */
+ (rMCFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** MCFIR[16]
+ *
+ */
+ (rMCFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** MCFIR[17]
+ *
+ */
+ (rMCFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** MCFIR[18]
+ *
+ */
+ (rMCFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** MCFIR[19]
+ *
+ */
+ (rMCFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** MCFIR[20]
+ *
+ */
+ (rMCFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** MCFIR[21]
+ *
+ */
+ (rMCFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** MCFIR[22]
+ *
+ */
+ (rMCFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** MCFIR[23]
+ *
+ */
+ (rMCFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** MCFIR[24]
+ *
+ */
+ (rMCFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** MCFIR[25]
+ *
+ */
+ (rMCFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** MCFIR[26]
+ *
+ */
+ (rMCFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** MCFIR[27]
+ *
+ */
+ (rMCFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** MCFIR[28]
+ *
+ */
+ (rMCFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** MCFIR[29]
+ *
+ */
+ (rMCFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** MCFIR[30]
+ *
+ */
+ (rMCFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** MCFIR[31]
+ *
+ */
+ (rMCFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** MCFIR[32]
+ *
+ */
+ (rMCFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** MCFIR[33]
+ *
+ */
+ (rMCFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** MCFIR[34]
+ *
+ */
+ (rMCFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** MCFIR[35]
+ *
+ */
+ (rMCFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** MCFIR[36]
+ *
+ */
+ (rMCFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** MCFIR[37]
+ *
+ */
+ (rMCFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** MCFIR[38]
+ *
+ */
+ (rMCFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** MCFIR[39]
+ *
+ */
+ (rMCFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** MCFIR[40]
+ *
+ */
+ (rMCFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** MCFIR[41]
+ *
+ */
+ (rMCFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** MCFIR[42]
+ *
+ */
+ (rMCFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** MCFIR[43]
+ *
+ */
+ (rMCFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** MCFIR[44]
+ *
+ */
+ (rMCFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** MCFIR[45]
+ *
+ */
+ (rMCFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** MCFIR[46]
+ *
+ */
+ (rMCFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** MCFIR[47]
+ *
+ */
+ (rMCFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** MCFIR[48]
+ *
+ */
+ (rMCFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** MCFIR[49]
+ *
+ */
+ (rMCFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** MCFIR[50]
+ *
+ */
+ (rMCFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** MCFIR[51]
+ *
+ */
+ (rMCFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** MCFIR[52]
+ *
+ */
+ (rMCFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** MCFIR[53]
+ *
+ */
+ (rMCFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** MCFIR[54]
+ *
+ */
+ (rMCFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** MCFIR[55]
+ *
+ */
+ (rMCFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** MCFIR[56]
+ *
+ */
+ (rMCFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** MCFIR[57]
+ *
+ */
+ (rMCFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** MCFIR[58]
+ *
+ */
+ (rMCFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** MCFIR[59]
+ *
+ */
+ (rMCFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** MCFIR[60]
+ *
+ */
+ (rMCFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** MCFIR[61]
+ *
+ */
+ (rMCFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** MCFIR[62]
+ *
+ */
+ (rMCFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** MCFIR[63]
+ *
+ */
+ (rMCFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+ ##############################################################################
+ # #
+ # # ### #
+ # # # ## ##### ### ### # # # # # # ### ### ### ### #
+ # # # # # # # # # ## # # # # # # # # # #
+ # ####### # # # # # # # # # # ##### ### ### ## ### #
+ # # # # # # # # # # ## # # # # # # # # # #
+ # # # ## # ### ### # # ### ### # # ### ### ### ### #
+ # #
+ ##############################################################################
+
+# Include the common action set.
+.include "p9_common_actions.rule";
+
diff --git a/src/usr/diag/prdf/common/plat/p9/p9_nimbus.rule b/src/usr/diag/prdf/common/plat/p9/p9_nimbus.rule
new file mode 100644
index 000000000..11efae9dc
--- /dev/null
+++ b/src/usr/diag/prdf/common/plat/p9/p9_nimbus.rule
@@ -0,0 +1,11707 @@
+# IBM_PROLOG_BEGIN_TAG
+# This is an automatically generated prolog.
+#
+# $Source: src/usr/diag/prdf/common/plat/p9/p9_nimbus.rule $
+#
+# OpenPOWER HostBoot Project
+#
+# Contributors Listed Below - COPYRIGHT 2016
+# [+] International Business Machines Corp.
+#
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# permissions and limitations under the License.
+#
+# IBM_PROLOG_END_TAG
+
+chip p9_nimbus
+{
+ name "P9 Nimbus chip";
+ targettype TYPE_PROC;
+ sigoff 0x9000;
+ dump DUMP_CONTENT_HW;
+ scomlen 64;
+
+ #############################################################################
+ # #
+ # ###### #
+ # # # ###### #### ### #### ##### ###### ##### #### #
+ # # # # # # # # # # # # # #
+ # ###### ##### # # #### # ##### # # #### #
+ # # # # # ### # # # # ##### # #
+ # # # # # # # # # # # # # # # #
+ # # # ###### #### ### #### # ###### # # #### #
+ # #
+ #############################################################################
+
+ ############################################################################
+ # Global Attention FIR
+ ############################################################################
+
+ register GLOBAL_CS_FIR
+ {
+ name "Global Checkstop Attention FIR";
+ scomaddr 0x570F001C;
+ capture group default;
+ };
+
+ register GLOBAL_RE_FIR
+ {
+ name "Global Recoverable Attention FIR";
+ scomaddr 0x570F001B;
+ capture group default;
+ };
+
+ ############################################################################
+ # Global Special Attention FIR
+ ############################################################################
+
+ register GLOBAL_SPA_FIR
+ {
+ name "Global Special Attention FIR";
+ scomaddr 0x570F001A;
+ capture group default;
+ };
+
+ ############################################################################
+ # Global Unit Checkstop FIR
+ ############################################################################
+
+ register GLOBAL_UCS_FIR
+ {
+ name "Global Unit Checkstop FIR";
+ scomaddr 0x57040018;
+ capture group default;
+ };
+
+ ############################################################################
+ # Global Host Attention FIR
+ ############################################################################
+
+ register GLOBAL_HA_FIR
+ {
+ name "Global Host Attention FIR";
+ scomaddr 0x57040009;
+ capture group default;
+ };
+
+ ############################################################################
+ # TP Chiplet FIR
+ ############################################################################
+
+ register TP_CHIPLET_CS_FIR
+ {
+ name "TP Chiplet Checkstop FIR";
+ scomaddr 0x01040000;
+ capture group default;
+ };
+
+ register TP_CHIPLET_RE_FIR
+ {
+ name "TP Chiplet Recoverable FIR";
+ scomaddr 0x01040001;
+ capture group default;
+ };
+
+ register TP_CHIPLET_FIR_MASK
+ {
+ name "TP Chiplet FIR MASK";
+ scomaddr 0x01040002;
+ capture group default;
+ };
+
+ ############################################################################
+ # P9 chip TP_LFIR
+ ############################################################################
+
+ register TP_LFIR
+ {
+ name "P9 chip TP_LFIR";
+ scomaddr 0x0104000a;
+ reset (&, 0x0104000b);
+ mask (|, 0x0104000f);
+ capture group default;
+ };
+
+ register TP_LFIR_MASK
+ {
+ name "P9 chip TP_LFIR MASK";
+ scomaddr 0x0104000d;
+ capture group default;
+ };
+
+ register TP_LFIR_ACT0
+ {
+ name "P9 chip TP_LFIR ACT0";
+ scomaddr 0x01040010;
+ capture group default;
+ capture req nonzero("TP_LFIR");
+ };
+
+ register TP_LFIR_ACT1
+ {
+ name "P9 chip TP_LFIR ACT1";
+ scomaddr 0x01040011;
+ capture group default;
+ capture req nonzero("TP_LFIR");
+ };
+
+ ############################################################################
+ # P9 chip OCCFIR
+ ############################################################################
+
+ register OCCFIR
+ {
+ name "P9 chip OCCFIR";
+ scomaddr 0x01010800;
+ reset (&, 0x01010801);
+ mask (|, 0x01010805);
+ capture group default;
+ };
+
+ register OCCFIR_MASK
+ {
+ name "P9 chip OCCFIR MASK";
+ scomaddr 0x01010803;
+ capture group default;
+ };
+
+ register OCCFIR_ACT0
+ {
+ name "P9 chip OCCFIR ACT0";
+ scomaddr 0x01010806;
+ capture group default;
+ capture req nonzero("OCCFIR");
+ };
+
+ register OCCFIR_ACT1
+ {
+ name "P9 chip OCCFIR ACT1";
+ scomaddr 0x01010807;
+ capture group default;
+ capture req nonzero("OCCFIR");
+ };
+
+ ############################################################################
+ # N0 Chiplet FIR
+ ############################################################################
+
+ register N0_CHIPLET_CS_FIR
+ {
+ name "N0 Chiplet Checkstop FIR";
+ scomaddr 0x02040000;
+ capture group default;
+ };
+
+ register N0_CHIPLET_RE_FIR
+ {
+ name "N0 Chiplet Recoverable FIR";
+ scomaddr 0x02040001;
+ capture group default;
+ };
+
+ register N0_CHIPLET_FIR_MASK
+ {
+ name "N0 Chiplet FIR MASK";
+ scomaddr 0x02040002;
+ capture group default;
+ };
+
+ ############################################################################
+ # P9 chip N0_LFIR
+ ############################################################################
+
+ register N0_LFIR
+ {
+ name "P9 chip N0_LFIR";
+ scomaddr 0x0204000a;
+ reset (&, 0x0204000b);
+ mask (|, 0x0204000f);
+ capture group default;
+ };
+
+ register N0_LFIR_MASK
+ {
+ name "P9 chip N0_LFIR MASK";
+ scomaddr 0x0204000d;
+ capture group default;
+ };
+
+ register N0_LFIR_ACT0
+ {
+ name "P9 chip N0_LFIR ACT0";
+ scomaddr 0x02040010;
+ capture group default;
+ capture req nonzero("N0_LFIR");
+ };
+
+ register N0_LFIR_ACT1
+ {
+ name "P9 chip N0_LFIR ACT1";
+ scomaddr 0x02040011;
+ capture group default;
+ capture req nonzero("N0_LFIR");
+ };
+
+ ############################################################################
+ # P9 chip NXCQFIR
+ ############################################################################
+
+ register NXCQFIR
+ {
+ name "P9 chip NXCQFIR";
+ scomaddr 0x02011080;
+ reset (&, 0x02011081);
+ mask (|, 0x02011085);
+ capture group default;
+ };
+
+ register NXCQFIR_MASK
+ {
+ name "P9 chip NXCQFIR MASK";
+ scomaddr 0x02011083;
+ capture group default;
+ };
+
+ register NXCQFIR_ACT0
+ {
+ name "P9 chip NXCQFIR ACT0";
+ scomaddr 0x02011086;
+ capture group default;
+ capture req nonzero("NXCQFIR");
+ };
+
+ register NXCQFIR_ACT1
+ {
+ name "P9 chip NXCQFIR ACT1";
+ scomaddr 0x02011087;
+ capture group default;
+ capture req nonzero("NXCQFIR");
+ };
+
+ ############################################################################
+ # P9 chip NXDMAENGFIR
+ ############################################################################
+
+ register NXDMAENGFIR
+ {
+ name "P9 chip NXDMAENGFIR";
+ scomaddr 0x02011100;
+ reset (&, 0x02011101);
+ mask (|, 0x02011105);
+ capture group default;
+ };
+
+ register NXDMAENGFIR_MASK
+ {
+ name "P9 chip NXDMAENGFIR MASK";
+ scomaddr 0x02011103;
+ capture group default;
+ };
+
+ register NXDMAENGFIR_ACT0
+ {
+ name "P9 chip NXDMAENGFIR ACT0";
+ scomaddr 0x02011106;
+ capture group default;
+ capture req nonzero("NXDMAENGFIR");
+ };
+
+ register NXDMAENGFIR_ACT1
+ {
+ name "P9 chip NXDMAENGFIR ACT1";
+ scomaddr 0x02011107;
+ capture group default;
+ capture req nonzero("NXDMAENGFIR");
+ };
+
+ ############################################################################
+ # N1 Chiplet FIR
+ ############################################################################
+
+ register N1_CHIPLET_CS_FIR
+ {
+ name "N1 Chiplet Checkstop FIR";
+ scomaddr 0x03040000;
+ capture group default;
+ };
+
+ register N1_CHIPLET_RE_FIR
+ {
+ name "N1 Chiplet Recoverable FIR";
+ scomaddr 0x03040001;
+ capture group default;
+ };
+
+ register N1_CHIPLET_FIR_MASK
+ {
+ name "N1 Chiplet FIR MASK";
+ scomaddr 0x03040002;
+ capture group default;
+ };
+
+ ############################################################################
+ # P9 chip N1_LFIR
+ ############################################################################
+
+ register N1_LFIR
+ {
+ name "P9 chip N1_LFIR";
+ scomaddr 0x0304000a;
+ reset (&, 0x0304000b);
+ mask (|, 0x0304000f);
+ capture group default;
+ };
+
+ register N1_LFIR_MASK
+ {
+ name "P9 chip N1_LFIR MASK";
+ scomaddr 0x0304000d;
+ capture group default;
+ };
+
+ register N1_LFIR_ACT0
+ {
+ name "P9 chip N1_LFIR ACT0";
+ scomaddr 0x03040010;
+ capture group default;
+ capture req nonzero("N1_LFIR");
+ };
+
+ register N1_LFIR_ACT1
+ {
+ name "P9 chip N1_LFIR ACT1";
+ scomaddr 0x03040011;
+ capture group default;
+ capture req nonzero("N1_LFIR");
+ };
+
+ ############################################################################
+ # P9 chip MCDFIR 0
+ ############################################################################
+
+ register MCDFIR_0
+ {
+ name "P9 chip MCDFIR 0";
+ scomaddr 0x03011000;
+ reset (&, 0x03011001);
+ mask (|, 0x03011005);
+ capture group default;
+ };
+
+ register MCDFIR_0_MASK
+ {
+ name "P9 chip MCDFIR 0 MASK";
+ scomaddr 0x03011003;
+ capture group default;
+ };
+
+ register MCDFIR_0_ACT0
+ {
+ name "P9 chip MCDFIR 0 ACT0";
+ scomaddr 0x03011006;
+ capture group default;
+ capture req nonzero("MCDFIR_0");
+ };
+
+ register MCDFIR_0_ACT1
+ {
+ name "P9 chip MCDFIR 0 ACT1";
+ scomaddr 0x03011007;
+ capture group default;
+ capture req nonzero("MCDFIR_0");
+ };
+
+ ############################################################################
+ # P9 chip MCDFIR 1
+ ############################################################################
+
+ register MCDFIR_1
+ {
+ name "P9 chip MCDFIR 1";
+ scomaddr 0x03011400;
+ reset (&, 0x03011401);
+ mask (|, 0x03011405);
+ capture group default;
+ };
+
+ register MCDFIR_1_MASK
+ {
+ name "P9 chip MCDFIR 1 MASK";
+ scomaddr 0x03011403;
+ capture group default;
+ };
+
+ register MCDFIR_1_ACT0
+ {
+ name "P9 chip MCDFIR 1 ACT0";
+ scomaddr 0x03011406;
+ capture group default;
+ capture req nonzero("MCDFIR_1");
+ };
+
+ register MCDFIR_1_ACT1
+ {
+ name "P9 chip MCDFIR 1 ACT1";
+ scomaddr 0x03011407;
+ capture group default;
+ capture req nonzero("MCDFIR_1");
+ };
+
+ ############################################################################
+ # P9 chip VASFIR
+ ############################################################################
+
+ register VASFIR
+ {
+ name "P9 chip VASFIR";
+ scomaddr 0x03011800;
+ reset (&, 0x03011801);
+ mask (|, 0x03011805);
+ capture group default;
+ };
+
+ register VASFIR_MASK
+ {
+ name "P9 chip VASFIR MASK";
+ scomaddr 0x03011803;
+ capture group default;
+ };
+
+ register VASFIR_ACT0
+ {
+ name "P9 chip VASFIR ACT0";
+ scomaddr 0x03011806;
+ capture group default;
+ capture req nonzero("VASFIR");
+ };
+
+ register VASFIR_ACT1
+ {
+ name "P9 chip VASFIR ACT1";
+ scomaddr 0x03011807;
+ capture group default;
+ capture req nonzero("VASFIR");
+ };
+
+ ############################################################################
+ # N2 Chiplet FIR
+ ############################################################################
+
+ register N2_CHIPLET_CS_FIR
+ {
+ name "N2 Chiplet Checkstop FIR";
+ scomaddr 0x04040000;
+ capture group default;
+ };
+
+ register N2_CHIPLET_RE_FIR
+ {
+ name "N2 Chiplet Recoverable FIR";
+ scomaddr 0x04040001;
+ capture group default;
+ };
+
+ register N2_CHIPLET_FIR_MASK
+ {
+ name "N2 Chiplet FIR MASK";
+ scomaddr 0x04040002;
+ capture group default;
+ };
+
+ ############################################################################
+ # P9 chip N2_LFIR
+ ############################################################################
+
+ register N2_LFIR
+ {
+ name "P9 chip N2_LFIR";
+ scomaddr 0x0404000a;
+ reset (&, 0x0404000b);
+ mask (|, 0x0404000f);
+ capture group default;
+ };
+
+ register N2_LFIR_MASK
+ {
+ name "P9 chip N2_LFIR MASK";
+ scomaddr 0x0404000d;
+ capture group default;
+ };
+
+ register N2_LFIR_ACT0
+ {
+ name "P9 chip N2_LFIR ACT0";
+ scomaddr 0x04040010;
+ capture group default;
+ capture req nonzero("N2_LFIR");
+ };
+
+ register N2_LFIR_ACT1
+ {
+ name "P9 chip N2_LFIR ACT1";
+ scomaddr 0x04040011;
+ capture group default;
+ capture req nonzero("N2_LFIR");
+ };
+
+ ############################################################################
+ # P9 chip PSIFIR
+ ############################################################################
+
+ register PSIFIR
+ {
+ name "P9 chip PSIFIR";
+ scomaddr 0x04011800;
+ reset (&, 0x04011801);
+ mask (|, 0x04011805);
+ capture group default;
+ };
+
+ register PSIFIR_MASK
+ {
+ name "P9 chip PSIFIR MASK";
+ scomaddr 0x04011803;
+ capture group default;
+ };
+
+ register PSIFIR_ACT0
+ {
+ name "P9 chip PSIFIR ACT0";
+ scomaddr 0x04011806;
+ capture group default;
+ capture req nonzero("PSIFIR");
+ };
+
+ register PSIFIR_ACT1
+ {
+ name "P9 chip PSIFIR ACT1";
+ scomaddr 0x04011807;
+ capture group default;
+ capture req nonzero("PSIFIR");
+ };
+
+ ############################################################################
+ # N3 Chiplet FIR
+ ############################################################################
+
+ register N3_CHIPLET_CS_FIR
+ {
+ name "N3 Chiplet Checkstop FIR";
+ scomaddr 0x05040000;
+ capture group default;
+ };
+
+ register N3_CHIPLET_RE_FIR
+ {
+ name "N3 Chiplet Recoverable FIR";
+ scomaddr 0x05040001;
+ capture group default;
+ };
+
+ register N3_CHIPLET_FIR_MASK
+ {
+ name "N3 Chiplet FIR MASK";
+ scomaddr 0x05040002;
+ capture group default;
+ };
+
+ ############################################################################
+ # P9 chip N3_LFIR
+ ############################################################################
+
+ register N3_LFIR
+ {
+ name "P9 chip N3_LFIR";
+ scomaddr 0x0504000a;
+ reset (&, 0x0504000b);
+ mask (|, 0x0504000f);
+ capture group default;
+ };
+
+ register N3_LFIR_MASK
+ {
+ name "P9 chip N3_LFIR MASK";
+ scomaddr 0x0504000d;
+ capture group default;
+ };
+
+ register N3_LFIR_ACT0
+ {
+ name "P9 chip N3_LFIR ACT0";
+ scomaddr 0x05040010;
+ capture group default;
+ capture req nonzero("N3_LFIR");
+ };
+
+ register N3_LFIR_ACT1
+ {
+ name "P9 chip N3_LFIR ACT1";
+ scomaddr 0x05040011;
+ capture group default;
+ capture req nonzero("N3_LFIR");
+ };
+
+ ############################################################################
+ # P9 chip NPU0FIR
+ ############################################################################
+
+ register NPU0FIR
+ {
+ name "P9 chip NPU0FIR";
+ scomaddr 0x05011400;
+ reset (&, 0x05011401);
+ mask (|, 0x05011405);
+ capture group default;
+ };
+
+ register NPU0FIR_MASK
+ {
+ name "P9 chip NPU0FIR MASK";
+ scomaddr 0x05011403;
+ capture group default;
+ };
+
+ register NPU0FIR_ACT0
+ {
+ name "P9 chip NPU0FIR ACT0";
+ scomaddr 0x05011406;
+ capture group default;
+ capture req nonzero("NPU0FIR");
+ };
+
+ register NPU0FIR_ACT1
+ {
+ name "P9 chip NPU0FIR ACT1";
+ scomaddr 0x05011407;
+ capture group default;
+ capture req nonzero("NPU0FIR");
+ };
+
+ ############################################################################
+ # P9 chip NPU1FIR
+ ############################################################################
+
+ register NPU1FIR
+ {
+ name "P9 chip NPU1FIR";
+ scomaddr 0x05011440;
+ reset (&, 0x05011441);
+ mask (|, 0x05011445);
+ capture group default;
+ };
+
+ register NPU1FIR_MASK
+ {
+ name "P9 chip NPU1FIR MASK";
+ scomaddr 0x05011443;
+ capture group default;
+ };
+
+ register NPU1FIR_ACT0
+ {
+ name "P9 chip NPU1FIR ACT0";
+ scomaddr 0x05011446;
+ capture group default;
+ capture req nonzero("NPU1FIR");
+ };
+
+ register NPU1FIR_ACT1
+ {
+ name "P9 chip NPU1FIR ACT1";
+ scomaddr 0x05011447;
+ capture group default;
+ capture req nonzero("NPU1FIR");
+ };
+
+ ############################################################################
+ # P9 chip PBWESTFIR
+ ############################################################################
+
+ register PBWESTFIR
+ {
+ name "P9 chip PBWESTFIR";
+ scomaddr 0x05011800;
+ reset (&, 0x05011801);
+ mask (|, 0x05011805);
+ capture group default;
+ };
+
+ register PBWESTFIR_MASK
+ {
+ name "P9 chip PBWESTFIR MASK";
+ scomaddr 0x05011803;
+ capture group default;
+ };
+
+ register PBWESTFIR_ACT0
+ {
+ name "P9 chip PBWESTFIR ACT0";
+ scomaddr 0x05011806;
+ capture group default;
+ capture req nonzero("PBWESTFIR");
+ };
+
+ register PBWESTFIR_ACT1
+ {
+ name "P9 chip PBWESTFIR ACT1";
+ scomaddr 0x05011807;
+ capture group default;
+ capture req nonzero("PBWESTFIR");
+ };
+
+ ############################################################################
+ # P9 chip PBCENTFIR
+ ############################################################################
+
+ register PBCENTFIR
+ {
+ name "P9 chip PBCENTFIR";
+ scomaddr 0x05011c00;
+ reset (&, 0x05011c01);
+ mask (|, 0x05011c05);
+ capture group default;
+ };
+
+ register PBCENTFIR_MASK
+ {
+ name "P9 chip PBCENTFIR MASK";
+ scomaddr 0x05011c03;
+ capture group default;
+ };
+
+ register PBCENTFIR_ACT0
+ {
+ name "P9 chip PBCENTFIR ACT0";
+ scomaddr 0x05011c06;
+ capture group default;
+ capture req nonzero("PBCENTFIR");
+ };
+
+ register PBCENTFIR_ACT1
+ {
+ name "P9 chip PBCENTFIR ACT1";
+ scomaddr 0x05011c07;
+ capture group default;
+ capture req nonzero("PBCENTFIR");
+ };
+
+ ############################################################################
+ # P9 chip PBEASTFIR
+ ############################################################################
+
+ register PBEASTFIR
+ {
+ name "P9 chip PBEASTFIR";
+ scomaddr 0x05012000;
+ reset (&, 0x05012001);
+ mask (|, 0x05012005);
+ capture group default;
+ };
+
+ register PBEASTFIR_MASK
+ {
+ name "P9 chip PBEASTFIR MASK";
+ scomaddr 0x05012003;
+ capture group default;
+ };
+
+ register PBEASTFIR_ACT0
+ {
+ name "P9 chip PBEASTFIR ACT0";
+ scomaddr 0x05012006;
+ capture group default;
+ capture req nonzero("PBEASTFIR");
+ };
+
+ register PBEASTFIR_ACT1
+ {
+ name "P9 chip PBEASTFIR ACT1";
+ scomaddr 0x05012007;
+ capture group default;
+ capture req nonzero("PBEASTFIR");
+ };
+
+ ############################################################################
+ # P9 chip PBPPEFIR
+ ############################################################################
+
+ register PBPPEFIR
+ {
+ name "P9 chip PBPPEFIR";
+ scomaddr 0x05012400;
+ reset (&, 0x05012401);
+ mask (|, 0x05012405);
+ capture group default;
+ };
+
+ register PBPPEFIR_MASK
+ {
+ name "P9 chip PBPPEFIR MASK";
+ scomaddr 0x05012403;
+ capture group default;
+ };
+
+ register PBPPEFIR_ACT0
+ {
+ name "P9 chip PBPPEFIR ACT0";
+ scomaddr 0x05012406;
+ capture group default;
+ capture req nonzero("PBPPEFIR");
+ };
+
+ register PBPPEFIR_ACT1
+ {
+ name "P9 chip PBPPEFIR ACT1";
+ scomaddr 0x05012407;
+ capture group default;
+ capture req nonzero("PBPPEFIR");
+ };
+
+ ############################################################################
+ # P9 chip PBAFIR
+ ############################################################################
+
+ register PBAFIR
+ {
+ name "P9 chip PBAFIR";
+ scomaddr 0x05012840;
+ reset (&, 0x05012841);
+ mask (|, 0x05012845);
+ capture group default;
+ };
+
+ register PBAFIR_MASK
+ {
+ name "P9 chip PBAFIR MASK";
+ scomaddr 0x05012843;
+ capture group default;
+ };
+
+ register PBAFIR_ACT0
+ {
+ name "P9 chip PBAFIR ACT0";
+ scomaddr 0x05012846;
+ capture group default;
+ capture req nonzero("PBAFIR");
+ };
+
+ register PBAFIR_ACT1
+ {
+ name "P9 chip PBAFIR ACT1";
+ scomaddr 0x05012847;
+ capture group default;
+ capture req nonzero("PBAFIR");
+ };
+
+ ############################################################################
+ # P9 chip PSIHBFIR
+ ############################################################################
+
+ register PSIHBFIR
+ {
+ name "P9 chip PSIHBFIR";
+ scomaddr 0x05012900;
+ reset (&, 0x05012901);
+ mask (|, 0x05012905);
+ capture group default;
+ };
+
+ register PSIHBFIR_MASK
+ {
+ name "P9 chip PSIHBFIR MASK";
+ scomaddr 0x05012903;
+ capture group default;
+ };
+
+ register PSIHBFIR_ACT0
+ {
+ name "P9 chip PSIHBFIR ACT0";
+ scomaddr 0x05012906;
+ capture group default;
+ capture req nonzero("PSIHBFIR");
+ };
+
+ register PSIHBFIR_ACT1
+ {
+ name "P9 chip PSIHBFIR ACT1";
+ scomaddr 0x05012907;
+ capture group default;
+ capture req nonzero("PSIHBFIR");
+ };
+
+ ############################################################################
+ # P9 chip PBAMFIR
+ ############################################################################
+
+ register PBAMFIR
+ {
+ name "P9 chip PBAMFIR";
+ scomaddr 0x050129c0;
+ reset (&, 0x050129c1);
+ mask (|, 0x050129c5);
+ capture group default;
+ };
+
+ register PBAMFIR_MASK
+ {
+ name "P9 chip PBAMFIR MASK";
+ scomaddr 0x050129c3;
+ capture group default;
+ };
+
+ register PBAMFIR_ACT0
+ {
+ name "P9 chip PBAMFIR ACT0";
+ scomaddr 0x050129c6;
+ capture group default;
+ capture req nonzero("PBAMFIR");
+ };
+
+ register PBAMFIR_ACT1
+ {
+ name "P9 chip PBAMFIR ACT1";
+ scomaddr 0x050129c7;
+ capture group default;
+ capture req nonzero("PBAMFIR");
+ };
+
+ ############################################################################
+ # P9 chip PBICQFIR
+ ############################################################################
+
+ register PBICQFIR
+ {
+ name "P9 chip PBICQFIR";
+ scomaddr 0x05012c00;
+ reset (&, 0x05012c01);
+ mask (|, 0x05012c05);
+ capture group default;
+ };
+
+ register PBICQFIR_MASK
+ {
+ name "P9 chip PBICQFIR MASK";
+ scomaddr 0x05012c03;
+ capture group default;
+ };
+
+ register PBICQFIR_ACT0
+ {
+ name "P9 chip PBICQFIR ACT0";
+ scomaddr 0x05012c06;
+ capture group default;
+ capture req nonzero("PBICQFIR");
+ };
+
+ register PBICQFIR_ACT1
+ {
+ name "P9 chip PBICQFIR ACT1";
+ scomaddr 0x05012c07;
+ capture group default;
+ capture req nonzero("PBICQFIR");
+ };
+
+ ############################################################################
+ # P9 chip INTCQFIR
+ ############################################################################
+
+ register INTCQFIR
+ {
+ name "P9 chip INTCQFIR";
+ scomaddr 0x05013030;
+ reset (&, 0x05013031);
+ mask (|, 0x05013035);
+ capture group default;
+ };
+
+ register INTCQFIR_MASK
+ {
+ name "P9 chip INTCQFIR MASK";
+ scomaddr 0x05013033;
+ capture group default;
+ };
+
+ register INTCQFIR_ACT0
+ {
+ name "P9 chip INTCQFIR ACT0";
+ scomaddr 0x05013036;
+ capture group default;
+ capture req nonzero("INTCQFIR");
+ };
+
+ register INTCQFIR_ACT1
+ {
+ name "P9 chip INTCQFIR ACT1";
+ scomaddr 0x05013037;
+ capture group default;
+ capture req nonzero("INTCQFIR");
+ };
+
+ ############################################################################
+ # P9 chip PBIOEFIR
+ ############################################################################
+
+ register PBIOEFIR
+ {
+ name "P9 chip PBIOEFIR";
+ scomaddr 0x05013400;
+ reset (&, 0x05013401);
+ mask (|, 0x05013405);
+ capture group default;
+ };
+
+ register PBIOEFIR_MASK
+ {
+ name "P9 chip PBIOEFIR MASK";
+ scomaddr 0x05013403;
+ capture group default;
+ };
+
+ register PBIOEFIR_ACT0
+ {
+ name "P9 chip PBIOEFIR ACT0";
+ scomaddr 0x05013406;
+ capture group default;
+ capture req nonzero("PBIOEFIR");
+ };
+
+ register PBIOEFIR_ACT1
+ {
+ name "P9 chip PBIOEFIR ACT1";
+ scomaddr 0x05013407;
+ capture group default;
+ capture req nonzero("PBIOEFIR");
+ };
+
+ ############################################################################
+ # P9 chip PBIOOFIR
+ ############################################################################
+
+ register PBIOOFIR
+ {
+ name "P9 chip PBIOOFIR";
+ scomaddr 0x05013800;
+ reset (&, 0x05013801);
+ mask (|, 0x05013805);
+ capture group default;
+ };
+
+ register PBIOOFIR_MASK
+ {
+ name "P9 chip PBIOOFIR MASK";
+ scomaddr 0x05013803;
+ capture group default;
+ };
+
+ register PBIOOFIR_ACT0
+ {
+ name "P9 chip PBIOOFIR ACT0";
+ scomaddr 0x05013806;
+ capture group default;
+ capture req nonzero("PBIOOFIR");
+ };
+
+ register PBIOOFIR_ACT1
+ {
+ name "P9 chip PBIOOFIR ACT1";
+ scomaddr 0x05013807;
+ capture group default;
+ capture req nonzero("PBIOOFIR");
+ };
+
+ ############################################################################
+ # XB Chiplet FIR
+ ############################################################################
+
+ register XB_CHIPLET_CS_FIR
+ {
+ name "XB Chiplet Checkstop FIR";
+ scomaddr 0x06040000;
+ capture group default;
+ };
+
+ register XB_CHIPLET_RE_FIR
+ {
+ name "XB Chiplet Recoverable FIR";
+ scomaddr 0x06040001;
+ capture group default;
+ };
+
+ register XB_CHIPLET_FIR_MASK
+ {
+ name "XB Chiplet FIR MASK";
+ scomaddr 0x06040002;
+ capture group default;
+ };
+
+ ############################################################################
+ # P9 chip XB_LFIR
+ ############################################################################
+
+ register XB_LFIR
+ {
+ name "P9 chip XB_LFIR";
+ scomaddr 0x0604000a;
+ reset (&, 0x0604000b);
+ mask (|, 0x0604000f);
+ capture group default;
+ };
+
+ register XB_LFIR_MASK
+ {
+ name "P9 chip XB_LFIR MASK";
+ scomaddr 0x0604000d;
+ capture group default;
+ };
+
+ register XB_LFIR_ACT0
+ {
+ name "P9 chip XB_LFIR ACT0";
+ scomaddr 0x06040010;
+ capture group default;
+ capture req nonzero("XB_LFIR");
+ };
+
+ register XB_LFIR_ACT1
+ {
+ name "P9 chip XB_LFIR ACT1";
+ scomaddr 0x06040011;
+ capture group default;
+ capture req nonzero("XB_LFIR");
+ };
+
+ ############################################################################
+ # MC0 Chiplet FIR
+ ############################################################################
+
+ register MC0_CHIPLET_CS_FIR
+ {
+ name "MC0 Chiplet Checkstop FIR";
+ scomaddr 0x07040000;
+ capture group default;
+ };
+
+ register MC0_CHIPLET_RE_FIR
+ {
+ name "MC0 Chiplet Recoverable FIR";
+ scomaddr 0x07040001;
+ capture group default;
+ };
+
+ register MC0_CHIPLET_FIR_MASK
+ {
+ name "MC0 Chiplet FIR MASK";
+ scomaddr 0x07040002;
+ capture group default;
+ };
+
+ ############################################################################
+ # P9 chip MC_LFIR 0
+ ############################################################################
+
+ register MC_LFIR_0
+ {
+ name "P9 chip MC_LFIR 0";
+ scomaddr 0x0704000a;
+ reset (&, 0x0704000b);
+ mask (|, 0x0704000f);
+ capture group default;
+ };
+
+ register MC_LFIR_0_MASK
+ {
+ name "P9 chip MC_LFIR 0 MASK";
+ scomaddr 0x0704000d;
+ capture group default;
+ };
+
+ register MC_LFIR_0_ACT0
+ {
+ name "P9 chip MC_LFIR 0 ACT0";
+ scomaddr 0x07040010;
+ capture group default;
+ capture req nonzero("MC_LFIR_0");
+ };
+
+ register MC_LFIR_0_ACT1
+ {
+ name "P9 chip MC_LFIR 0 ACT1";
+ scomaddr 0x07040011;
+ capture group default;
+ capture req nonzero("MC_LFIR_0");
+ };
+
+ ############################################################################
+ # MC1 Chiplet FIR
+ ############################################################################
+
+ register MC1_CHIPLET_CS_FIR
+ {
+ name "MC1 Chiplet Checkstop FIR";
+ scomaddr 0x08040000;
+ capture group default;
+ };
+
+ register MC1_CHIPLET_RE_FIR
+ {
+ name "MC1 Chiplet Recoverable FIR";
+ scomaddr 0x08040001;
+ capture group default;
+ };
+
+ register MC1_CHIPLET_FIR_MASK
+ {
+ name "MC1 Chiplet FIR MASK";
+ scomaddr 0x08040002;
+ capture group default;
+ };
+
+ ############################################################################
+ # P9 chip MC_LFIR 1
+ ############################################################################
+
+ register MC_LFIR_1
+ {
+ name "P9 chip MC_LFIR 1";
+ scomaddr 0x0804000a;
+ reset (&, 0x0804000b);
+ mask (|, 0x0804000f);
+ capture group default;
+ };
+
+ register MC_LFIR_1_MASK
+ {
+ name "P9 chip MC_LFIR 1 MASK";
+ scomaddr 0x0804000d;
+ capture group default;
+ };
+
+ register MC_LFIR_1_ACT0
+ {
+ name "P9 chip MC_LFIR 1 ACT0";
+ scomaddr 0x08040010;
+ capture group default;
+ capture req nonzero("MC_LFIR_1");
+ };
+
+ register MC_LFIR_1_ACT1
+ {
+ name "P9 chip MC_LFIR 1 ACT1";
+ scomaddr 0x08040011;
+ capture group default;
+ capture req nonzero("MC_LFIR_1");
+ };
+
+ ############################################################################
+ # PCI0 Chiplet FIR
+ ############################################################################
+
+ register PCI0_CHIPLET_CS_FIR
+ {
+ name "PCI0 Chiplet Checkstop FIR";
+ scomaddr 0x0d040000;
+ capture group default;
+ };
+
+ register PCI0_CHIPLET_RE_FIR
+ {
+ name "PCI0 Chiplet Recoverable FIR";
+ scomaddr 0x0d040001;
+ capture group default;
+ };
+
+ register PCI0_CHIPLET_FIR_MASK
+ {
+ name "PCI0 Chiplet FIR MASK";
+ scomaddr 0x0d040002;
+ capture group default;
+ };
+
+ ############################################################################
+ # PCI1 Chiplet FIR
+ ############################################################################
+
+ register PCI1_CHIPLET_CS_FIR
+ {
+ name "PCI1 Chiplet Checkstop FIR";
+ scomaddr 0x0e040000;
+ capture group default;
+ };
+
+ register PCI1_CHIPLET_RE_FIR
+ {
+ name "PCI1 Chiplet Recoverable FIR";
+ scomaddr 0x0e040001;
+ capture group default;
+ };
+
+ register PCI1_CHIPLET_FIR_MASK
+ {
+ name "PCI1 Chiplet FIR MASK";
+ scomaddr 0x0e040002;
+ capture group default;
+ };
+
+ ############################################################################
+ # PCI2 Chiplet FIR
+ ############################################################################
+
+ register PCI2_CHIPLET_CS_FIR
+ {
+ name "PCI2 Chiplet Checkstop FIR";
+ scomaddr 0x0f040000;
+ capture group default;
+ };
+
+ register PCI2_CHIPLET_RE_FIR
+ {
+ name "PCI2 Chiplet Recoverable FIR";
+ scomaddr 0x0f040001;
+ capture group default;
+ };
+
+ register PCI2_CHIPLET_FIR_MASK
+ {
+ name "PCI2 Chiplet FIR MASK";
+ scomaddr 0x0f040002;
+ capture group default;
+ };
+
+};
+
+ ##############################################################################
+ # #
+ # #### # #
+ # # # # # # ##### ### # # # ## ##### ### ### # # ### #
+ # # # # # # # # # # # # # # # # # ## # # #
+ # #### # # # #### ### # ####### # # # # # # # # ### #
+ # # # # # # # # # # # # # # # # # # ## # #
+ # # # ### #### ##### ### # # # ## # ### ### # # ### #
+ # #
+ ##############################################################################
+
+################################################################################
+# Global Attention FIR
+################################################################################
+
+rule rGLOBAL_FIR
+{
+ CHECK_STOP:
+ GLOBAL_CS_FIR;
+ RECOVERABLE:
+ GLOBAL_RE_FIR;
+};
+
+group gGLOBAL_FIR attntype CHECK_STOP, RECOVERABLE filter singlebit
+{
+ /** GLOBAL_FIR[1]
+ * Attention from TP chiplet
+ */
+ (rGLOBAL_FIR, bit(1)) ? analyze(gTP_CHIPLET_FIR);
+
+ /** GLOBAL_FIR[2]
+ * Attention from N0 chiplet
+ */
+ (rGLOBAL_FIR, bit(2)) ? analyze(gN0_CHIPLET_FIR);
+
+ /** GLOBAL_FIR[3]
+ * Attention from N1 chiplet
+ */
+ (rGLOBAL_FIR, bit(3)) ? analyze(gN1_CHIPLET_FIR);
+
+ /** GLOBAL_FIR[4]
+ * Attention from N2 chiplet
+ */
+ (rGLOBAL_FIR, bit(4)) ? analyze(gN2_CHIPLET_FIR);
+
+ /** GLOBAL_FIR[5]
+ * Attention from N3 chiplet
+ */
+ (rGLOBAL_FIR, bit(5)) ? analyze(gN3_CHIPLET_FIR);
+
+ /** GLOBAL_FIR[6]
+ * Attention from XB chiplet
+ */
+ (rGLOBAL_FIR, bit(6)) ? analyze(gXB_CHIPLET_FIR);
+
+ /** GLOBAL_FIR[7]
+ * Attention from MC0 chiplet
+ */
+ (rGLOBAL_FIR, bit(7)) ? analyze(gMC0_CHIPLET_FIR);
+
+ /** GLOBAL_FIR[8]
+ * Attention from MC1 chiplet
+ */
+ (rGLOBAL_FIR, bit(8)) ? analyze(gMC1_CHIPLET_FIR);
+
+ /** GLOBAL_FIR[9]
+ * Attention from OB 0 chiplet
+ */
+ (rGLOBAL_FIR, bit(9)) ? analyzeConnectedOBUS0;
+
+ /** GLOBAL_FIR[12]
+ * Attention from OB 3 chiplet
+ */
+ (rGLOBAL_FIR, bit(12)) ? analyzeConnectedOBUS3;
+
+ /** GLOBAL_FIR[13]
+ * Attention from PCI0 chiplet
+ */
+ (rGLOBAL_FIR, bit(13)) ? analyze(gPCI0_CHIPLET_FIR);
+
+ /** GLOBAL_FIR[14]
+ * Attention from PCI1 chiplet
+ */
+ (rGLOBAL_FIR, bit(14)) ? analyze(gPCI1_CHIPLET_FIR);
+
+ /** GLOBAL_FIR[15]
+ * Attention from PCI2 chiplet
+ */
+ (rGLOBAL_FIR, bit(15)) ? analyze(gPCI2_CHIPLET_FIR);
+
+ /** GLOBAL_FIR[16]
+ * Attention from EQ 0 chiplet
+ */
+ (rGLOBAL_FIR, bit(16)) ? analyzeConnectedEQ0;
+
+ /** GLOBAL_FIR[17]
+ * Attention from EQ 1 chiplet
+ */
+ (rGLOBAL_FIR, bit(17)) ? analyzeConnectedEQ1;
+
+ /** GLOBAL_FIR[18]
+ * Attention from EQ 2 chiplet
+ */
+ (rGLOBAL_FIR, bit(18)) ? analyzeConnectedEQ2;
+
+ /** GLOBAL_FIR[19]
+ * Attention from EQ 3 chiplet
+ */
+ (rGLOBAL_FIR, bit(19)) ? analyzeConnectedEQ3;
+
+ /** GLOBAL_FIR[20]
+ * Attention from EQ 4 chiplet
+ */
+ (rGLOBAL_FIR, bit(20)) ? analyzeConnectedEQ4;
+
+ /** GLOBAL_FIR[21]
+ * Attention from EQ 5 chiplet
+ */
+ (rGLOBAL_FIR, bit(21)) ? analyzeConnectedEQ5;
+
+ /** GLOBAL_FIR[32]
+ * Attention from EC 0 chiplet
+ */
+ (rGLOBAL_FIR, bit(32)) ? analyzeConnectedEC0;
+
+ /** GLOBAL_FIR[33]
+ * Attention from EC 1 chiplet
+ */
+ (rGLOBAL_FIR, bit(33)) ? analyzeConnectedEC1;
+
+ /** GLOBAL_FIR[34]
+ * Attention from EC 2 chiplet
+ */
+ (rGLOBAL_FIR, bit(34)) ? analyzeConnectedEC2;
+
+ /** GLOBAL_FIR[35]
+ * Attention from EC 3 chiplet
+ */
+ (rGLOBAL_FIR, bit(35)) ? analyzeConnectedEC3;
+
+ /** GLOBAL_FIR[36]
+ * Attention from EC 4 chiplet
+ */
+ (rGLOBAL_FIR, bit(36)) ? analyzeConnectedEC4;
+
+ /** GLOBAL_FIR[37]
+ * Attention from EC 5 chiplet
+ */
+ (rGLOBAL_FIR, bit(37)) ? analyzeConnectedEC5;
+
+ /** GLOBAL_FIR[38]
+ * Attention from EC 6 chiplet
+ */
+ (rGLOBAL_FIR, bit(38)) ? analyzeConnectedEC6;
+
+ /** GLOBAL_FIR[39]
+ * Attention from EC 7 chiplet
+ */
+ (rGLOBAL_FIR, bit(39)) ? analyzeConnectedEC7;
+
+ /** GLOBAL_FIR[40]
+ * Attention from EC 8 chiplet
+ */
+ (rGLOBAL_FIR, bit(40)) ? analyzeConnectedEC8;
+
+ /** GLOBAL_FIR[41]
+ * Attention from EC 9 chiplet
+ */
+ (rGLOBAL_FIR, bit(41)) ? analyzeConnectedEC9;
+
+ /** GLOBAL_FIR[42]
+ * Attention from EC 10 chiplet
+ */
+ (rGLOBAL_FIR, bit(42)) ? analyzeConnectedEC10;
+
+ /** GLOBAL_FIR[43]
+ * Attention from EC 11 chiplet
+ */
+ (rGLOBAL_FIR, bit(43)) ? analyzeConnectedEC11;
+
+ /** GLOBAL_FIR[44]
+ * Attention from EC 12 chiplet
+ */
+ (rGLOBAL_FIR, bit(44)) ? analyzeConnectedEC12;
+
+ /** GLOBAL_FIR[45]
+ * Attention from EC 13 chiplet
+ */
+ (rGLOBAL_FIR, bit(45)) ? analyzeConnectedEC13;
+
+ /** GLOBAL_FIR[46]
+ * Attention from EC 14 chiplet
+ */
+ (rGLOBAL_FIR, bit(46)) ? analyzeConnectedEC14;
+
+ /** GLOBAL_FIR[47]
+ * Attention from EC 15 chiplet
+ */
+ (rGLOBAL_FIR, bit(47)) ? analyzeConnectedEC15;
+
+ /** GLOBAL_FIR[48]
+ * Attention from EC 16 chiplet
+ */
+ (rGLOBAL_FIR, bit(48)) ? analyzeConnectedEC16;
+
+ /** GLOBAL_FIR[49]
+ * Attention from EC 17 chiplet
+ */
+ (rGLOBAL_FIR, bit(49)) ? analyzeConnectedEC17;
+
+ /** GLOBAL_FIR[50]
+ * Attention from EC 18 chiplet
+ */
+ (rGLOBAL_FIR, bit(50)) ? analyzeConnectedEC18;
+
+ /** GLOBAL_FIR[51]
+ * Attention from EC 19 chiplet
+ */
+ (rGLOBAL_FIR, bit(51)) ? analyzeConnectedEC19;
+
+ /** GLOBAL_FIR[52]
+ * Attention from EC 20 chiplet
+ */
+ (rGLOBAL_FIR, bit(52)) ? analyzeConnectedEC20;
+
+ /** GLOBAL_FIR[53]
+ * Attention from EC 21 chiplet
+ */
+ (rGLOBAL_FIR, bit(53)) ? analyzeConnectedEC21;
+
+ /** GLOBAL_FIR[54]
+ * Attention from EC 22 chiplet
+ */
+ (rGLOBAL_FIR, bit(54)) ? analyzeConnectedEC22;
+
+ /** GLOBAL_FIR[55]
+ * Attention from EC 23 chiplet
+ */
+ (rGLOBAL_FIR, bit(55)) ? analyzeConnectedEC23;
+
+};
+
+################################################################################
+# Global Special Attention FIR
+################################################################################
+
+rule rGLOBAL_SPA_FIR
+{
+ SPECIAL:
+ GLOBAL_SPA_FIR;
+};
+
+group gGLOBAL_SPA_FIR attntype SPECIAL filter singlebit
+{
+};
+
+################################################################################
+# Global Unit Checkstop FIR
+################################################################################
+
+rule rGLOBAL_UCS_FIR
+{
+ UNIT_CS:
+ GLOBAL_UCS_FIR;
+};
+
+group gGLOBAL_UCS_FIR attntype UNIT_CS filter singlebit
+{
+};
+
+################################################################################
+# Global Host Attention FIR
+################################################################################
+
+rule rGLOBAL_HA_FIR
+{
+ HOST_ATTN:
+ GLOBAL_HA_FIR;
+};
+
+group gGLOBAL_HA_FIR attntype HOST_ATTN filter singlebit
+{
+};
+
+################################################################################
+# TP Chiplet FIR
+################################################################################
+
+rule rTP_CHIPLET_FIR
+{
+ CHECK_STOP:
+ TP_CHIPLET_CS_FIR & ~TP_CHIPLET_FIR_MASK & `1fffffffffffffff`;
+ RECOVERABLE:
+ (TP_CHIPLET_RE_FIR >> 2) & ~TP_CHIPLET_FIR_MASK & `1fffffffffffffff`;
+};
+
+group gTP_CHIPLET_FIR filter singlebit
+{
+ /** TP_CHIPLET_FIR[3]
+ * Attention from TP_LFIR
+ */
+ (rTP_CHIPLET_FIR, bit(3)) ? analyze(gTP_LFIR);
+
+ /** TP_CHIPLET_FIR[4]
+ * Attention from OCCFIR
+ */
+ (rTP_CHIPLET_FIR, bit(4)) ? analyze(gOCCFIR);
+
+};
+
+################################################################################
+# P9 chip TP_LFIR
+################################################################################
+
+rule rTP_LFIR
+{
+ CHECK_STOP:
+ TP_LFIR & ~TP_LFIR_MASK & ~TP_LFIR_ACT0 & ~TP_LFIR_ACT1;
+ RECOVERABLE:
+ TP_LFIR & ~TP_LFIR_MASK & ~TP_LFIR_ACT0 & TP_LFIR_ACT1;
+};
+
+group gTP_LFIR filter singlebit
+{
+ /** TP_LFIR[0]
+ *
+ */
+ (rTP_LFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[1]
+ *
+ */
+ (rTP_LFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[2]
+ *
+ */
+ (rTP_LFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[3]
+ *
+ */
+ (rTP_LFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[4]
+ *
+ */
+ (rTP_LFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[5]
+ *
+ */
+ (rTP_LFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[6]
+ *
+ */
+ (rTP_LFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[7]
+ *
+ */
+ (rTP_LFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[8]
+ *
+ */
+ (rTP_LFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[9]
+ *
+ */
+ (rTP_LFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[10]
+ *
+ */
+ (rTP_LFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[11]
+ *
+ */
+ (rTP_LFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[12]
+ *
+ */
+ (rTP_LFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[13]
+ *
+ */
+ (rTP_LFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[14]
+ *
+ */
+ (rTP_LFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[15]
+ *
+ */
+ (rTP_LFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[16]
+ *
+ */
+ (rTP_LFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[17]
+ *
+ */
+ (rTP_LFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[18]
+ *
+ */
+ (rTP_LFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[19]
+ *
+ */
+ (rTP_LFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[20]
+ *
+ */
+ (rTP_LFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[21]
+ *
+ */
+ (rTP_LFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[22]
+ *
+ */
+ (rTP_LFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[23]
+ *
+ */
+ (rTP_LFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[24]
+ *
+ */
+ (rTP_LFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[25]
+ *
+ */
+ (rTP_LFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[26]
+ *
+ */
+ (rTP_LFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[27]
+ *
+ */
+ (rTP_LFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[28]
+ *
+ */
+ (rTP_LFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[29]
+ *
+ */
+ (rTP_LFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[30]
+ *
+ */
+ (rTP_LFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[31]
+ *
+ */
+ (rTP_LFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[32]
+ *
+ */
+ (rTP_LFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[33]
+ *
+ */
+ (rTP_LFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[34]
+ *
+ */
+ (rTP_LFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[35]
+ *
+ */
+ (rTP_LFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[36]
+ *
+ */
+ (rTP_LFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[37]
+ *
+ */
+ (rTP_LFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[38]
+ *
+ */
+ (rTP_LFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[39]
+ *
+ */
+ (rTP_LFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[40]
+ *
+ */
+ (rTP_LFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[41]
+ *
+ */
+ (rTP_LFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[42]
+ *
+ */
+ (rTP_LFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[43]
+ *
+ */
+ (rTP_LFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[44]
+ *
+ */
+ (rTP_LFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[45]
+ *
+ */
+ (rTP_LFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[46]
+ *
+ */
+ (rTP_LFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[47]
+ *
+ */
+ (rTP_LFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[48]
+ *
+ */
+ (rTP_LFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[49]
+ *
+ */
+ (rTP_LFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[50]
+ *
+ */
+ (rTP_LFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[51]
+ *
+ */
+ (rTP_LFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[52]
+ *
+ */
+ (rTP_LFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[53]
+ *
+ */
+ (rTP_LFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[54]
+ *
+ */
+ (rTP_LFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[55]
+ *
+ */
+ (rTP_LFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[56]
+ *
+ */
+ (rTP_LFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[57]
+ *
+ */
+ (rTP_LFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[58]
+ *
+ */
+ (rTP_LFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[59]
+ *
+ */
+ (rTP_LFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[60]
+ *
+ */
+ (rTP_LFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[61]
+ *
+ */
+ (rTP_LFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[62]
+ *
+ */
+ (rTP_LFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** TP_LFIR[63]
+ *
+ */
+ (rTP_LFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+################################################################################
+# P9 chip OCCFIR
+################################################################################
+
+rule rOCCFIR
+{
+ CHECK_STOP:
+ OCCFIR & ~OCCFIR_MASK & ~OCCFIR_ACT0 & ~OCCFIR_ACT1;
+ RECOVERABLE:
+ OCCFIR & ~OCCFIR_MASK & ~OCCFIR_ACT0 & OCCFIR_ACT1;
+};
+
+group gOCCFIR filter singlebit
+{
+ /** OCCFIR[0]
+ *
+ */
+ (rOCCFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** OCCFIR[1]
+ *
+ */
+ (rOCCFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** OCCFIR[2]
+ *
+ */
+ (rOCCFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** OCCFIR[3]
+ *
+ */
+ (rOCCFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** OCCFIR[4]
+ *
+ */
+ (rOCCFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** OCCFIR[5]
+ *
+ */
+ (rOCCFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** OCCFIR[6]
+ *
+ */
+ (rOCCFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** OCCFIR[7]
+ *
+ */
+ (rOCCFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** OCCFIR[8]
+ *
+ */
+ (rOCCFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** OCCFIR[9]
+ *
+ */
+ (rOCCFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** OCCFIR[10]
+ *
+ */
+ (rOCCFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** OCCFIR[11]
+ *
+ */
+ (rOCCFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** OCCFIR[12]
+ *
+ */
+ (rOCCFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** OCCFIR[13]
+ *
+ */
+ (rOCCFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** OCCFIR[14]
+ *
+ */
+ (rOCCFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** OCCFIR[15]
+ *
+ */
+ (rOCCFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** OCCFIR[16]
+ *
+ */
+ (rOCCFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** OCCFIR[17]
+ *
+ */
+ (rOCCFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** OCCFIR[18]
+ *
+ */
+ (rOCCFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** OCCFIR[19]
+ *
+ */
+ (rOCCFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** OCCFIR[20]
+ *
+ */
+ (rOCCFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** OCCFIR[21]
+ *
+ */
+ (rOCCFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** OCCFIR[22]
+ *
+ */
+ (rOCCFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** OCCFIR[23]
+ *
+ */
+ (rOCCFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** OCCFIR[24]
+ *
+ */
+ (rOCCFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** OCCFIR[25]
+ *
+ */
+ (rOCCFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** OCCFIR[26]
+ *
+ */
+ (rOCCFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** OCCFIR[27]
+ *
+ */
+ (rOCCFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** OCCFIR[28]
+ *
+ */
+ (rOCCFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** OCCFIR[29]
+ *
+ */
+ (rOCCFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** OCCFIR[30]
+ *
+ */
+ (rOCCFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** OCCFIR[31]
+ *
+ */
+ (rOCCFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** OCCFIR[32]
+ *
+ */
+ (rOCCFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** OCCFIR[33]
+ *
+ */
+ (rOCCFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** OCCFIR[34]
+ *
+ */
+ (rOCCFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** OCCFIR[35]
+ *
+ */
+ (rOCCFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** OCCFIR[36]
+ *
+ */
+ (rOCCFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** OCCFIR[37]
+ *
+ */
+ (rOCCFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** OCCFIR[38]
+ *
+ */
+ (rOCCFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** OCCFIR[39]
+ *
+ */
+ (rOCCFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** OCCFIR[40]
+ *
+ */
+ (rOCCFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** OCCFIR[41]
+ *
+ */
+ (rOCCFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** OCCFIR[42]
+ *
+ */
+ (rOCCFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** OCCFIR[43]
+ *
+ */
+ (rOCCFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** OCCFIR[44]
+ *
+ */
+ (rOCCFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** OCCFIR[45]
+ *
+ */
+ (rOCCFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** OCCFIR[46]
+ *
+ */
+ (rOCCFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** OCCFIR[47]
+ *
+ */
+ (rOCCFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** OCCFIR[48]
+ *
+ */
+ (rOCCFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** OCCFIR[49]
+ *
+ */
+ (rOCCFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** OCCFIR[50]
+ *
+ */
+ (rOCCFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** OCCFIR[51]
+ *
+ */
+ (rOCCFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** OCCFIR[52]
+ *
+ */
+ (rOCCFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** OCCFIR[53]
+ *
+ */
+ (rOCCFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** OCCFIR[54]
+ *
+ */
+ (rOCCFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** OCCFIR[55]
+ *
+ */
+ (rOCCFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** OCCFIR[56]
+ *
+ */
+ (rOCCFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** OCCFIR[57]
+ *
+ */
+ (rOCCFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** OCCFIR[58]
+ *
+ */
+ (rOCCFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** OCCFIR[59]
+ *
+ */
+ (rOCCFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** OCCFIR[60]
+ *
+ */
+ (rOCCFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** OCCFIR[61]
+ *
+ */
+ (rOCCFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** OCCFIR[62]
+ *
+ */
+ (rOCCFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** OCCFIR[63]
+ *
+ */
+ (rOCCFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+################################################################################
+# N0 Chiplet FIR
+################################################################################
+
+rule rN0_CHIPLET_FIR
+{
+ CHECK_STOP:
+ N0_CHIPLET_CS_FIR & ~N0_CHIPLET_FIR_MASK & `1fffffffffffffff`;
+ RECOVERABLE:
+ (N0_CHIPLET_RE_FIR >> 2) & ~N0_CHIPLET_FIR_MASK & `1fffffffffffffff`;
+};
+
+group gN0_CHIPLET_FIR filter singlebit
+{
+ /** N0_CHIPLET_FIR[3]
+ * Attention from N0_LFIR
+ */
+ (rN0_CHIPLET_FIR, bit(3)) ? analyze(gN0_LFIR);
+
+ /** N0_CHIPLET_FIR[4]
+ * Attention from NXDMAENGFIR
+ */
+ (rN0_CHIPLET_FIR, bit(4)) ? analyze(gNXDMAENGFIR);
+
+ /** N0_CHIPLET_FIR[5]
+ * Attention from NXCQFIR
+ */
+ (rN0_CHIPLET_FIR, bit(5)) ? analyze(gNXCQFIR);
+
+ /** N0_CHIPLET_FIR[6]
+ * Attention from CXAFIR 0
+ */
+ (rN0_CHIPLET_FIR, bit(6)) ? analyzeConnectedCAPP0;
+
+};
+
+################################################################################
+# P9 chip N0_LFIR
+################################################################################
+
+rule rN0_LFIR
+{
+ CHECK_STOP:
+ N0_LFIR & ~N0_LFIR_MASK & ~N0_LFIR_ACT0 & ~N0_LFIR_ACT1;
+ RECOVERABLE:
+ N0_LFIR & ~N0_LFIR_MASK & ~N0_LFIR_ACT0 & N0_LFIR_ACT1;
+};
+
+group gN0_LFIR filter singlebit
+{
+ /** N0_LFIR[0]
+ *
+ */
+ (rN0_LFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[1]
+ *
+ */
+ (rN0_LFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[2]
+ *
+ */
+ (rN0_LFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[3]
+ *
+ */
+ (rN0_LFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[4]
+ *
+ */
+ (rN0_LFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[5]
+ *
+ */
+ (rN0_LFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[6]
+ *
+ */
+ (rN0_LFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[7]
+ *
+ */
+ (rN0_LFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[8]
+ *
+ */
+ (rN0_LFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[9]
+ *
+ */
+ (rN0_LFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[10]
+ *
+ */
+ (rN0_LFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[11]
+ *
+ */
+ (rN0_LFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[12]
+ *
+ */
+ (rN0_LFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[13]
+ *
+ */
+ (rN0_LFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[14]
+ *
+ */
+ (rN0_LFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[15]
+ *
+ */
+ (rN0_LFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[16]
+ *
+ */
+ (rN0_LFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[17]
+ *
+ */
+ (rN0_LFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[18]
+ *
+ */
+ (rN0_LFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[19]
+ *
+ */
+ (rN0_LFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[20]
+ *
+ */
+ (rN0_LFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[21]
+ *
+ */
+ (rN0_LFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[22]
+ *
+ */
+ (rN0_LFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[23]
+ *
+ */
+ (rN0_LFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[24]
+ *
+ */
+ (rN0_LFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[25]
+ *
+ */
+ (rN0_LFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[26]
+ *
+ */
+ (rN0_LFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[27]
+ *
+ */
+ (rN0_LFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[28]
+ *
+ */
+ (rN0_LFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[29]
+ *
+ */
+ (rN0_LFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[30]
+ *
+ */
+ (rN0_LFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[31]
+ *
+ */
+ (rN0_LFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[32]
+ *
+ */
+ (rN0_LFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[33]
+ *
+ */
+ (rN0_LFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[34]
+ *
+ */
+ (rN0_LFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[35]
+ *
+ */
+ (rN0_LFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[36]
+ *
+ */
+ (rN0_LFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[37]
+ *
+ */
+ (rN0_LFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[38]
+ *
+ */
+ (rN0_LFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[39]
+ *
+ */
+ (rN0_LFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[40]
+ *
+ */
+ (rN0_LFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[41]
+ *
+ */
+ (rN0_LFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[42]
+ *
+ */
+ (rN0_LFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[43]
+ *
+ */
+ (rN0_LFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[44]
+ *
+ */
+ (rN0_LFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[45]
+ *
+ */
+ (rN0_LFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[46]
+ *
+ */
+ (rN0_LFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[47]
+ *
+ */
+ (rN0_LFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[48]
+ *
+ */
+ (rN0_LFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[49]
+ *
+ */
+ (rN0_LFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[50]
+ *
+ */
+ (rN0_LFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[51]
+ *
+ */
+ (rN0_LFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[52]
+ *
+ */
+ (rN0_LFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[53]
+ *
+ */
+ (rN0_LFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[54]
+ *
+ */
+ (rN0_LFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[55]
+ *
+ */
+ (rN0_LFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[56]
+ *
+ */
+ (rN0_LFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[57]
+ *
+ */
+ (rN0_LFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[58]
+ *
+ */
+ (rN0_LFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[59]
+ *
+ */
+ (rN0_LFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[60]
+ *
+ */
+ (rN0_LFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[61]
+ *
+ */
+ (rN0_LFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[62]
+ *
+ */
+ (rN0_LFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** N0_LFIR[63]
+ *
+ */
+ (rN0_LFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+################################################################################
+# P9 chip NXCQFIR
+################################################################################
+
+rule rNXCQFIR
+{
+ CHECK_STOP:
+ NXCQFIR & ~NXCQFIR_MASK & ~NXCQFIR_ACT0 & ~NXCQFIR_ACT1;
+ RECOVERABLE:
+ NXCQFIR & ~NXCQFIR_MASK & ~NXCQFIR_ACT0 & NXCQFIR_ACT1;
+};
+
+group gNXCQFIR filter singlebit
+{
+ /** NXCQFIR[0]
+ *
+ */
+ (rNXCQFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[1]
+ *
+ */
+ (rNXCQFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[2]
+ *
+ */
+ (rNXCQFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[3]
+ *
+ */
+ (rNXCQFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[4]
+ *
+ */
+ (rNXCQFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[5]
+ *
+ */
+ (rNXCQFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[6]
+ *
+ */
+ (rNXCQFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[7]
+ *
+ */
+ (rNXCQFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[8]
+ *
+ */
+ (rNXCQFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[9]
+ *
+ */
+ (rNXCQFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[10]
+ *
+ */
+ (rNXCQFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[11]
+ *
+ */
+ (rNXCQFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[12]
+ *
+ */
+ (rNXCQFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[13]
+ *
+ */
+ (rNXCQFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[14]
+ *
+ */
+ (rNXCQFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[15]
+ *
+ */
+ (rNXCQFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[16]
+ *
+ */
+ (rNXCQFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[17]
+ *
+ */
+ (rNXCQFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[18]
+ *
+ */
+ (rNXCQFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[19]
+ *
+ */
+ (rNXCQFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[20]
+ *
+ */
+ (rNXCQFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[21]
+ *
+ */
+ (rNXCQFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[22]
+ *
+ */
+ (rNXCQFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[23]
+ *
+ */
+ (rNXCQFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[24]
+ *
+ */
+ (rNXCQFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[25]
+ *
+ */
+ (rNXCQFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[26]
+ *
+ */
+ (rNXCQFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[27]
+ *
+ */
+ (rNXCQFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[28]
+ *
+ */
+ (rNXCQFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[29]
+ *
+ */
+ (rNXCQFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[30]
+ *
+ */
+ (rNXCQFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[31]
+ *
+ */
+ (rNXCQFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[32]
+ *
+ */
+ (rNXCQFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[33]
+ *
+ */
+ (rNXCQFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[34]
+ *
+ */
+ (rNXCQFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[35]
+ *
+ */
+ (rNXCQFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[36]
+ *
+ */
+ (rNXCQFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[37]
+ *
+ */
+ (rNXCQFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[38]
+ *
+ */
+ (rNXCQFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[39]
+ *
+ */
+ (rNXCQFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[40]
+ *
+ */
+ (rNXCQFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[41]
+ *
+ */
+ (rNXCQFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[42]
+ *
+ */
+ (rNXCQFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[43]
+ *
+ */
+ (rNXCQFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[44]
+ *
+ */
+ (rNXCQFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[45]
+ *
+ */
+ (rNXCQFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[46]
+ *
+ */
+ (rNXCQFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[47]
+ *
+ */
+ (rNXCQFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[48]
+ *
+ */
+ (rNXCQFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[49]
+ *
+ */
+ (rNXCQFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[50]
+ *
+ */
+ (rNXCQFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[51]
+ *
+ */
+ (rNXCQFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[52]
+ *
+ */
+ (rNXCQFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[53]
+ *
+ */
+ (rNXCQFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[54]
+ *
+ */
+ (rNXCQFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[55]
+ *
+ */
+ (rNXCQFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[56]
+ *
+ */
+ (rNXCQFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[57]
+ *
+ */
+ (rNXCQFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[58]
+ *
+ */
+ (rNXCQFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[59]
+ *
+ */
+ (rNXCQFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[60]
+ *
+ */
+ (rNXCQFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[61]
+ *
+ */
+ (rNXCQFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[62]
+ *
+ */
+ (rNXCQFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** NXCQFIR[63]
+ *
+ */
+ (rNXCQFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+################################################################################
+# P9 chip NXDMAENGFIR
+################################################################################
+
+rule rNXDMAENGFIR
+{
+ CHECK_STOP:
+ NXDMAENGFIR & ~NXDMAENGFIR_MASK & ~NXDMAENGFIR_ACT0 & ~NXDMAENGFIR_ACT1;
+ RECOVERABLE:
+ NXDMAENGFIR & ~NXDMAENGFIR_MASK & ~NXDMAENGFIR_ACT0 & NXDMAENGFIR_ACT1;
+};
+
+group gNXDMAENGFIR filter singlebit
+{
+ /** NXDMAENGFIR[0]
+ *
+ */
+ (rNXDMAENGFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[1]
+ *
+ */
+ (rNXDMAENGFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[2]
+ *
+ */
+ (rNXDMAENGFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[3]
+ *
+ */
+ (rNXDMAENGFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[4]
+ *
+ */
+ (rNXDMAENGFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[5]
+ *
+ */
+ (rNXDMAENGFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[6]
+ *
+ */
+ (rNXDMAENGFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[7]
+ *
+ */
+ (rNXDMAENGFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[8]
+ *
+ */
+ (rNXDMAENGFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[9]
+ *
+ */
+ (rNXDMAENGFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[10]
+ *
+ */
+ (rNXDMAENGFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[11]
+ *
+ */
+ (rNXDMAENGFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[12]
+ *
+ */
+ (rNXDMAENGFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[13]
+ *
+ */
+ (rNXDMAENGFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[14]
+ *
+ */
+ (rNXDMAENGFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[15]
+ *
+ */
+ (rNXDMAENGFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[16]
+ *
+ */
+ (rNXDMAENGFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[17]
+ *
+ */
+ (rNXDMAENGFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[18]
+ *
+ */
+ (rNXDMAENGFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[19]
+ *
+ */
+ (rNXDMAENGFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[20]
+ *
+ */
+ (rNXDMAENGFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[21]
+ *
+ */
+ (rNXDMAENGFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[22]
+ *
+ */
+ (rNXDMAENGFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[23]
+ *
+ */
+ (rNXDMAENGFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[24]
+ *
+ */
+ (rNXDMAENGFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[25]
+ *
+ */
+ (rNXDMAENGFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[26]
+ *
+ */
+ (rNXDMAENGFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[27]
+ *
+ */
+ (rNXDMAENGFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[28]
+ *
+ */
+ (rNXDMAENGFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[29]
+ *
+ */
+ (rNXDMAENGFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[30]
+ *
+ */
+ (rNXDMAENGFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[31]
+ *
+ */
+ (rNXDMAENGFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[32]
+ *
+ */
+ (rNXDMAENGFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[33]
+ *
+ */
+ (rNXDMAENGFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[34]
+ *
+ */
+ (rNXDMAENGFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[35]
+ *
+ */
+ (rNXDMAENGFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[36]
+ *
+ */
+ (rNXDMAENGFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[37]
+ *
+ */
+ (rNXDMAENGFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[38]
+ *
+ */
+ (rNXDMAENGFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[39]
+ *
+ */
+ (rNXDMAENGFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[40]
+ *
+ */
+ (rNXDMAENGFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[41]
+ *
+ */
+ (rNXDMAENGFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[42]
+ *
+ */
+ (rNXDMAENGFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[43]
+ *
+ */
+ (rNXDMAENGFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[44]
+ *
+ */
+ (rNXDMAENGFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[45]
+ *
+ */
+ (rNXDMAENGFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[46]
+ *
+ */
+ (rNXDMAENGFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[47]
+ *
+ */
+ (rNXDMAENGFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[48]
+ *
+ */
+ (rNXDMAENGFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[49]
+ *
+ */
+ (rNXDMAENGFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[50]
+ *
+ */
+ (rNXDMAENGFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[51]
+ *
+ */
+ (rNXDMAENGFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[52]
+ *
+ */
+ (rNXDMAENGFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[53]
+ *
+ */
+ (rNXDMAENGFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[54]
+ *
+ */
+ (rNXDMAENGFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[55]
+ *
+ */
+ (rNXDMAENGFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[56]
+ *
+ */
+ (rNXDMAENGFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[57]
+ *
+ */
+ (rNXDMAENGFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[58]
+ *
+ */
+ (rNXDMAENGFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[59]
+ *
+ */
+ (rNXDMAENGFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[60]
+ *
+ */
+ (rNXDMAENGFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[61]
+ *
+ */
+ (rNXDMAENGFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[62]
+ *
+ */
+ (rNXDMAENGFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** NXDMAENGFIR[63]
+ *
+ */
+ (rNXDMAENGFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+################################################################################
+# N1 Chiplet FIR
+################################################################################
+
+rule rN1_CHIPLET_FIR
+{
+ CHECK_STOP:
+ N1_CHIPLET_CS_FIR & ~N1_CHIPLET_FIR_MASK & `1fffffffffffffff`;
+ RECOVERABLE:
+ (N1_CHIPLET_RE_FIR >> 2) & ~N1_CHIPLET_FIR_MASK & `1fffffffffffffff`;
+};
+
+group gN1_CHIPLET_FIR filter singlebit
+{
+ /** N1_CHIPLET_FIR[3]
+ * Attention from N1_LFIR
+ */
+ (rN1_CHIPLET_FIR, bit(3)) ? analyze(gN1_LFIR);
+
+ /** N1_CHIPLET_FIR[4]
+ * Attention from MCFIR 2
+ */
+ (rN1_CHIPLET_FIR, bit(4)) ? analyzeConnectedMCS2;
+
+ /** N1_CHIPLET_FIR[5]
+ * Attention from MCFIR 3
+ */
+ (rN1_CHIPLET_FIR, bit(5)) ? analyzeConnectedMCS3;
+
+ /** N1_CHIPLET_FIR[6]
+ * Attention from MCDFIR
+ */
+ (rN1_CHIPLET_FIR, bit(6)) ? analyze(gMCDFIR_0);
+
+ /** N1_CHIPLET_FIR[7]
+ * Attention from MCDFIR
+ */
+ (rN1_CHIPLET_FIR, bit(7)) ? analyze(gMCDFIR_1);
+
+ /** N1_CHIPLET_FIR[8]
+ * Attention from VASFIR
+ */
+ (rN1_CHIPLET_FIR, bit(8)) ? analyze(gVASFIR);
+
+};
+
+################################################################################
+# P9 chip N1_LFIR
+################################################################################
+
+rule rN1_LFIR
+{
+ CHECK_STOP:
+ N1_LFIR & ~N1_LFIR_MASK & ~N1_LFIR_ACT0 & ~N1_LFIR_ACT1;
+ RECOVERABLE:
+ N1_LFIR & ~N1_LFIR_MASK & ~N1_LFIR_ACT0 & N1_LFIR_ACT1;
+};
+
+group gN1_LFIR filter singlebit
+{
+ /** N1_LFIR[0]
+ *
+ */
+ (rN1_LFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[1]
+ *
+ */
+ (rN1_LFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[2]
+ *
+ */
+ (rN1_LFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[3]
+ *
+ */
+ (rN1_LFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[4]
+ *
+ */
+ (rN1_LFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[5]
+ *
+ */
+ (rN1_LFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[6]
+ *
+ */
+ (rN1_LFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[7]
+ *
+ */
+ (rN1_LFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[8]
+ *
+ */
+ (rN1_LFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[9]
+ *
+ */
+ (rN1_LFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[10]
+ *
+ */
+ (rN1_LFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[11]
+ *
+ */
+ (rN1_LFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[12]
+ *
+ */
+ (rN1_LFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[13]
+ *
+ */
+ (rN1_LFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[14]
+ *
+ */
+ (rN1_LFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[15]
+ *
+ */
+ (rN1_LFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[16]
+ *
+ */
+ (rN1_LFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[17]
+ *
+ */
+ (rN1_LFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[18]
+ *
+ */
+ (rN1_LFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[19]
+ *
+ */
+ (rN1_LFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[20]
+ *
+ */
+ (rN1_LFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[21]
+ *
+ */
+ (rN1_LFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[22]
+ *
+ */
+ (rN1_LFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[23]
+ *
+ */
+ (rN1_LFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[24]
+ *
+ */
+ (rN1_LFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[25]
+ *
+ */
+ (rN1_LFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[26]
+ *
+ */
+ (rN1_LFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[27]
+ *
+ */
+ (rN1_LFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[28]
+ *
+ */
+ (rN1_LFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[29]
+ *
+ */
+ (rN1_LFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[30]
+ *
+ */
+ (rN1_LFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[31]
+ *
+ */
+ (rN1_LFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[32]
+ *
+ */
+ (rN1_LFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[33]
+ *
+ */
+ (rN1_LFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[34]
+ *
+ */
+ (rN1_LFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[35]
+ *
+ */
+ (rN1_LFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[36]
+ *
+ */
+ (rN1_LFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[37]
+ *
+ */
+ (rN1_LFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[38]
+ *
+ */
+ (rN1_LFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[39]
+ *
+ */
+ (rN1_LFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[40]
+ *
+ */
+ (rN1_LFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[41]
+ *
+ */
+ (rN1_LFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[42]
+ *
+ */
+ (rN1_LFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[43]
+ *
+ */
+ (rN1_LFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[44]
+ *
+ */
+ (rN1_LFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[45]
+ *
+ */
+ (rN1_LFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[46]
+ *
+ */
+ (rN1_LFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[47]
+ *
+ */
+ (rN1_LFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[48]
+ *
+ */
+ (rN1_LFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[49]
+ *
+ */
+ (rN1_LFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[50]
+ *
+ */
+ (rN1_LFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[51]
+ *
+ */
+ (rN1_LFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[52]
+ *
+ */
+ (rN1_LFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[53]
+ *
+ */
+ (rN1_LFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[54]
+ *
+ */
+ (rN1_LFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[55]
+ *
+ */
+ (rN1_LFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[56]
+ *
+ */
+ (rN1_LFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[57]
+ *
+ */
+ (rN1_LFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[58]
+ *
+ */
+ (rN1_LFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[59]
+ *
+ */
+ (rN1_LFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[60]
+ *
+ */
+ (rN1_LFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[61]
+ *
+ */
+ (rN1_LFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[62]
+ *
+ */
+ (rN1_LFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** N1_LFIR[63]
+ *
+ */
+ (rN1_LFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+################################################################################
+# P9 chip MCDFIR 0
+################################################################################
+
+rule rMCDFIR_0
+{
+ CHECK_STOP:
+ MCDFIR_0 & ~MCDFIR_0_MASK & ~MCDFIR_0_ACT0 & ~MCDFIR_0_ACT1;
+ RECOVERABLE:
+ MCDFIR_0 & ~MCDFIR_0_MASK & ~MCDFIR_0_ACT0 & MCDFIR_0_ACT1;
+};
+
+group gMCDFIR_0 filter singlebit
+{
+ /** MCDFIR_0[0]
+ *
+ */
+ (rMCDFIR_0, bit(0)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[1]
+ *
+ */
+ (rMCDFIR_0, bit(1)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[2]
+ *
+ */
+ (rMCDFIR_0, bit(2)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[3]
+ *
+ */
+ (rMCDFIR_0, bit(3)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[4]
+ *
+ */
+ (rMCDFIR_0, bit(4)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[5]
+ *
+ */
+ (rMCDFIR_0, bit(5)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[6]
+ *
+ */
+ (rMCDFIR_0, bit(6)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[7]
+ *
+ */
+ (rMCDFIR_0, bit(7)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[8]
+ *
+ */
+ (rMCDFIR_0, bit(8)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[9]
+ *
+ */
+ (rMCDFIR_0, bit(9)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[10]
+ *
+ */
+ (rMCDFIR_0, bit(10)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[11]
+ *
+ */
+ (rMCDFIR_0, bit(11)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[12]
+ *
+ */
+ (rMCDFIR_0, bit(12)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[13]
+ *
+ */
+ (rMCDFIR_0, bit(13)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[14]
+ *
+ */
+ (rMCDFIR_0, bit(14)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[15]
+ *
+ */
+ (rMCDFIR_0, bit(15)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[16]
+ *
+ */
+ (rMCDFIR_0, bit(16)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[17]
+ *
+ */
+ (rMCDFIR_0, bit(17)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[18]
+ *
+ */
+ (rMCDFIR_0, bit(18)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[19]
+ *
+ */
+ (rMCDFIR_0, bit(19)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[20]
+ *
+ */
+ (rMCDFIR_0, bit(20)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[21]
+ *
+ */
+ (rMCDFIR_0, bit(21)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[22]
+ *
+ */
+ (rMCDFIR_0, bit(22)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[23]
+ *
+ */
+ (rMCDFIR_0, bit(23)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[24]
+ *
+ */
+ (rMCDFIR_0, bit(24)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[25]
+ *
+ */
+ (rMCDFIR_0, bit(25)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[26]
+ *
+ */
+ (rMCDFIR_0, bit(26)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[27]
+ *
+ */
+ (rMCDFIR_0, bit(27)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[28]
+ *
+ */
+ (rMCDFIR_0, bit(28)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[29]
+ *
+ */
+ (rMCDFIR_0, bit(29)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[30]
+ *
+ */
+ (rMCDFIR_0, bit(30)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[31]
+ *
+ */
+ (rMCDFIR_0, bit(31)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[32]
+ *
+ */
+ (rMCDFIR_0, bit(32)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[33]
+ *
+ */
+ (rMCDFIR_0, bit(33)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[34]
+ *
+ */
+ (rMCDFIR_0, bit(34)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[35]
+ *
+ */
+ (rMCDFIR_0, bit(35)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[36]
+ *
+ */
+ (rMCDFIR_0, bit(36)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[37]
+ *
+ */
+ (rMCDFIR_0, bit(37)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[38]
+ *
+ */
+ (rMCDFIR_0, bit(38)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[39]
+ *
+ */
+ (rMCDFIR_0, bit(39)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[40]
+ *
+ */
+ (rMCDFIR_0, bit(40)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[41]
+ *
+ */
+ (rMCDFIR_0, bit(41)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[42]
+ *
+ */
+ (rMCDFIR_0, bit(42)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[43]
+ *
+ */
+ (rMCDFIR_0, bit(43)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[44]
+ *
+ */
+ (rMCDFIR_0, bit(44)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[45]
+ *
+ */
+ (rMCDFIR_0, bit(45)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[46]
+ *
+ */
+ (rMCDFIR_0, bit(46)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[47]
+ *
+ */
+ (rMCDFIR_0, bit(47)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[48]
+ *
+ */
+ (rMCDFIR_0, bit(48)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[49]
+ *
+ */
+ (rMCDFIR_0, bit(49)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[50]
+ *
+ */
+ (rMCDFIR_0, bit(50)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[51]
+ *
+ */
+ (rMCDFIR_0, bit(51)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[52]
+ *
+ */
+ (rMCDFIR_0, bit(52)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[53]
+ *
+ */
+ (rMCDFIR_0, bit(53)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[54]
+ *
+ */
+ (rMCDFIR_0, bit(54)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[55]
+ *
+ */
+ (rMCDFIR_0, bit(55)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[56]
+ *
+ */
+ (rMCDFIR_0, bit(56)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[57]
+ *
+ */
+ (rMCDFIR_0, bit(57)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[58]
+ *
+ */
+ (rMCDFIR_0, bit(58)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[59]
+ *
+ */
+ (rMCDFIR_0, bit(59)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[60]
+ *
+ */
+ (rMCDFIR_0, bit(60)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[61]
+ *
+ */
+ (rMCDFIR_0, bit(61)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[62]
+ *
+ */
+ (rMCDFIR_0, bit(62)) ? TBDDefaultCallout;
+
+ /** MCDFIR_0[63]
+ *
+ */
+ (rMCDFIR_0, bit(63)) ? TBDDefaultCallout;
+
+};
+
+################################################################################
+# P9 chip MCDFIR 1
+################################################################################
+
+rule rMCDFIR_1
+{
+ CHECK_STOP:
+ MCDFIR_1 & ~MCDFIR_1_MASK & ~MCDFIR_1_ACT0 & ~MCDFIR_1_ACT1;
+ RECOVERABLE:
+ MCDFIR_1 & ~MCDFIR_1_MASK & ~MCDFIR_1_ACT0 & MCDFIR_1_ACT1;
+};
+
+group gMCDFIR_1 filter singlebit
+{
+ /** MCDFIR_1[0]
+ *
+ */
+ (rMCDFIR_1, bit(0)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[1]
+ *
+ */
+ (rMCDFIR_1, bit(1)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[2]
+ *
+ */
+ (rMCDFIR_1, bit(2)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[3]
+ *
+ */
+ (rMCDFIR_1, bit(3)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[4]
+ *
+ */
+ (rMCDFIR_1, bit(4)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[5]
+ *
+ */
+ (rMCDFIR_1, bit(5)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[6]
+ *
+ */
+ (rMCDFIR_1, bit(6)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[7]
+ *
+ */
+ (rMCDFIR_1, bit(7)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[8]
+ *
+ */
+ (rMCDFIR_1, bit(8)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[9]
+ *
+ */
+ (rMCDFIR_1, bit(9)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[10]
+ *
+ */
+ (rMCDFIR_1, bit(10)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[11]
+ *
+ */
+ (rMCDFIR_1, bit(11)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[12]
+ *
+ */
+ (rMCDFIR_1, bit(12)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[13]
+ *
+ */
+ (rMCDFIR_1, bit(13)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[14]
+ *
+ */
+ (rMCDFIR_1, bit(14)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[15]
+ *
+ */
+ (rMCDFIR_1, bit(15)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[16]
+ *
+ */
+ (rMCDFIR_1, bit(16)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[17]
+ *
+ */
+ (rMCDFIR_1, bit(17)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[18]
+ *
+ */
+ (rMCDFIR_1, bit(18)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[19]
+ *
+ */
+ (rMCDFIR_1, bit(19)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[20]
+ *
+ */
+ (rMCDFIR_1, bit(20)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[21]
+ *
+ */
+ (rMCDFIR_1, bit(21)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[22]
+ *
+ */
+ (rMCDFIR_1, bit(22)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[23]
+ *
+ */
+ (rMCDFIR_1, bit(23)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[24]
+ *
+ */
+ (rMCDFIR_1, bit(24)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[25]
+ *
+ */
+ (rMCDFIR_1, bit(25)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[26]
+ *
+ */
+ (rMCDFIR_1, bit(26)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[27]
+ *
+ */
+ (rMCDFIR_1, bit(27)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[28]
+ *
+ */
+ (rMCDFIR_1, bit(28)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[29]
+ *
+ */
+ (rMCDFIR_1, bit(29)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[30]
+ *
+ */
+ (rMCDFIR_1, bit(30)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[31]
+ *
+ */
+ (rMCDFIR_1, bit(31)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[32]
+ *
+ */
+ (rMCDFIR_1, bit(32)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[33]
+ *
+ */
+ (rMCDFIR_1, bit(33)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[34]
+ *
+ */
+ (rMCDFIR_1, bit(34)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[35]
+ *
+ */
+ (rMCDFIR_1, bit(35)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[36]
+ *
+ */
+ (rMCDFIR_1, bit(36)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[37]
+ *
+ */
+ (rMCDFIR_1, bit(37)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[38]
+ *
+ */
+ (rMCDFIR_1, bit(38)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[39]
+ *
+ */
+ (rMCDFIR_1, bit(39)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[40]
+ *
+ */
+ (rMCDFIR_1, bit(40)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[41]
+ *
+ */
+ (rMCDFIR_1, bit(41)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[42]
+ *
+ */
+ (rMCDFIR_1, bit(42)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[43]
+ *
+ */
+ (rMCDFIR_1, bit(43)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[44]
+ *
+ */
+ (rMCDFIR_1, bit(44)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[45]
+ *
+ */
+ (rMCDFIR_1, bit(45)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[46]
+ *
+ */
+ (rMCDFIR_1, bit(46)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[47]
+ *
+ */
+ (rMCDFIR_1, bit(47)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[48]
+ *
+ */
+ (rMCDFIR_1, bit(48)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[49]
+ *
+ */
+ (rMCDFIR_1, bit(49)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[50]
+ *
+ */
+ (rMCDFIR_1, bit(50)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[51]
+ *
+ */
+ (rMCDFIR_1, bit(51)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[52]
+ *
+ */
+ (rMCDFIR_1, bit(52)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[53]
+ *
+ */
+ (rMCDFIR_1, bit(53)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[54]
+ *
+ */
+ (rMCDFIR_1, bit(54)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[55]
+ *
+ */
+ (rMCDFIR_1, bit(55)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[56]
+ *
+ */
+ (rMCDFIR_1, bit(56)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[57]
+ *
+ */
+ (rMCDFIR_1, bit(57)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[58]
+ *
+ */
+ (rMCDFIR_1, bit(58)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[59]
+ *
+ */
+ (rMCDFIR_1, bit(59)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[60]
+ *
+ */
+ (rMCDFIR_1, bit(60)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[61]
+ *
+ */
+ (rMCDFIR_1, bit(61)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[62]
+ *
+ */
+ (rMCDFIR_1, bit(62)) ? TBDDefaultCallout;
+
+ /** MCDFIR_1[63]
+ *
+ */
+ (rMCDFIR_1, bit(63)) ? TBDDefaultCallout;
+
+};
+
+################################################################################
+# P9 chip VASFIR
+################################################################################
+
+rule rVASFIR
+{
+ CHECK_STOP:
+ VASFIR & ~VASFIR_MASK & ~VASFIR_ACT0 & ~VASFIR_ACT1;
+ RECOVERABLE:
+ VASFIR & ~VASFIR_MASK & ~VASFIR_ACT0 & VASFIR_ACT1;
+};
+
+group gVASFIR filter singlebit
+{
+ /** VASFIR[0]
+ *
+ */
+ (rVASFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** VASFIR[1]
+ *
+ */
+ (rVASFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** VASFIR[2]
+ *
+ */
+ (rVASFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** VASFIR[3]
+ *
+ */
+ (rVASFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** VASFIR[4]
+ *
+ */
+ (rVASFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** VASFIR[5]
+ *
+ */
+ (rVASFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** VASFIR[6]
+ *
+ */
+ (rVASFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** VASFIR[7]
+ *
+ */
+ (rVASFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** VASFIR[8]
+ *
+ */
+ (rVASFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** VASFIR[9]
+ *
+ */
+ (rVASFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** VASFIR[10]
+ *
+ */
+ (rVASFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** VASFIR[11]
+ *
+ */
+ (rVASFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** VASFIR[12]
+ *
+ */
+ (rVASFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** VASFIR[13]
+ *
+ */
+ (rVASFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** VASFIR[14]
+ *
+ */
+ (rVASFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** VASFIR[15]
+ *
+ */
+ (rVASFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** VASFIR[16]
+ *
+ */
+ (rVASFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** VASFIR[17]
+ *
+ */
+ (rVASFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** VASFIR[18]
+ *
+ */
+ (rVASFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** VASFIR[19]
+ *
+ */
+ (rVASFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** VASFIR[20]
+ *
+ */
+ (rVASFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** VASFIR[21]
+ *
+ */
+ (rVASFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** VASFIR[22]
+ *
+ */
+ (rVASFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** VASFIR[23]
+ *
+ */
+ (rVASFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** VASFIR[24]
+ *
+ */
+ (rVASFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** VASFIR[25]
+ *
+ */
+ (rVASFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** VASFIR[26]
+ *
+ */
+ (rVASFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** VASFIR[27]
+ *
+ */
+ (rVASFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** VASFIR[28]
+ *
+ */
+ (rVASFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** VASFIR[29]
+ *
+ */
+ (rVASFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** VASFIR[30]
+ *
+ */
+ (rVASFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** VASFIR[31]
+ *
+ */
+ (rVASFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** VASFIR[32]
+ *
+ */
+ (rVASFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** VASFIR[33]
+ *
+ */
+ (rVASFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** VASFIR[34]
+ *
+ */
+ (rVASFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** VASFIR[35]
+ *
+ */
+ (rVASFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** VASFIR[36]
+ *
+ */
+ (rVASFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** VASFIR[37]
+ *
+ */
+ (rVASFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** VASFIR[38]
+ *
+ */
+ (rVASFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** VASFIR[39]
+ *
+ */
+ (rVASFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** VASFIR[40]
+ *
+ */
+ (rVASFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** VASFIR[41]
+ *
+ */
+ (rVASFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** VASFIR[42]
+ *
+ */
+ (rVASFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** VASFIR[43]
+ *
+ */
+ (rVASFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** VASFIR[44]
+ *
+ */
+ (rVASFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** VASFIR[45]
+ *
+ */
+ (rVASFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** VASFIR[46]
+ *
+ */
+ (rVASFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** VASFIR[47]
+ *
+ */
+ (rVASFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** VASFIR[48]
+ *
+ */
+ (rVASFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** VASFIR[49]
+ *
+ */
+ (rVASFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** VASFIR[50]
+ *
+ */
+ (rVASFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** VASFIR[51]
+ *
+ */
+ (rVASFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** VASFIR[52]
+ *
+ */
+ (rVASFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** VASFIR[53]
+ *
+ */
+ (rVASFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** VASFIR[54]
+ *
+ */
+ (rVASFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** VASFIR[55]
+ *
+ */
+ (rVASFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** VASFIR[56]
+ *
+ */
+ (rVASFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** VASFIR[57]
+ *
+ */
+ (rVASFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** VASFIR[58]
+ *
+ */
+ (rVASFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** VASFIR[59]
+ *
+ */
+ (rVASFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** VASFIR[60]
+ *
+ */
+ (rVASFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** VASFIR[61]
+ *
+ */
+ (rVASFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** VASFIR[62]
+ *
+ */
+ (rVASFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** VASFIR[63]
+ *
+ */
+ (rVASFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+################################################################################
+# N2 Chiplet FIR
+################################################################################
+
+rule rN2_CHIPLET_FIR
+{
+ CHECK_STOP:
+ N2_CHIPLET_CS_FIR & ~N2_CHIPLET_FIR_MASK & `1fffffffffffffff`;
+ RECOVERABLE:
+ (N2_CHIPLET_RE_FIR >> 2) & ~N2_CHIPLET_FIR_MASK & `1fffffffffffffff`;
+};
+
+group gN2_CHIPLET_FIR filter singlebit
+{
+ /** N2_CHIPLET_FIR[3]
+ * Attention from N2_LFIR
+ */
+ (rN2_CHIPLET_FIR, bit(3)) ? analyze(gN2_LFIR);
+
+ /** N2_CHIPLET_FIR[4]
+ * Attention from CXAFIR 1
+ */
+ (rN2_CHIPLET_FIR, bit(4)) ? analyzeConnectedCAPP1;
+
+ /** N2_CHIPLET_FIR[5]
+ * Attention from PHBNFIR 0
+ */
+ (rN2_CHIPLET_FIR, bit(5)) ? analyzeConnectedPHB0;
+
+ /** N2_CHIPLET_FIR[6]
+ * Attention from PHBNFIR 1
+ */
+ (rN2_CHIPLET_FIR, bit(6)) ? analyzeConnectedPHB1;
+
+ /** N2_CHIPLET_FIR[7]
+ * Attention from PHBNFIR 3
+ */
+ (rN2_CHIPLET_FIR, bit(7)) ? analyzeConnectedPHB3;
+
+ /** N2_CHIPLET_FIR[8]
+ * Attention from PHBNFIR 2
+ */
+ (rN2_CHIPLET_FIR, bit(8)) ? analyzeConnectedPHB2;
+
+ /** N2_CHIPLET_FIR[9]
+ * Attention from PHBNFIR 4
+ */
+ (rN2_CHIPLET_FIR, bit(9)) ? analyzeConnectedPHB4;
+
+ /** N2_CHIPLET_FIR[10]
+ * Attention from PHBNFIR 5
+ */
+ (rN2_CHIPLET_FIR, bit(10)) ? analyzeConnectedPHB5;
+
+ /** N2_CHIPLET_FIR[11]
+ * Attention from PSIFIR
+ */
+ (rN2_CHIPLET_FIR, bit(11)) ? analyze(gPSIFIR);
+
+};
+
+################################################################################
+# P9 chip N2_LFIR
+################################################################################
+
+rule rN2_LFIR
+{
+ CHECK_STOP:
+ N2_LFIR & ~N2_LFIR_MASK & ~N2_LFIR_ACT0 & ~N2_LFIR_ACT1;
+ RECOVERABLE:
+ N2_LFIR & ~N2_LFIR_MASK & ~N2_LFIR_ACT0 & N2_LFIR_ACT1;
+};
+
+group gN2_LFIR filter singlebit
+{
+ /** N2_LFIR[0]
+ *
+ */
+ (rN2_LFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[1]
+ *
+ */
+ (rN2_LFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[2]
+ *
+ */
+ (rN2_LFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[3]
+ *
+ */
+ (rN2_LFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[4]
+ *
+ */
+ (rN2_LFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[5]
+ *
+ */
+ (rN2_LFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[6]
+ *
+ */
+ (rN2_LFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[7]
+ *
+ */
+ (rN2_LFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[8]
+ *
+ */
+ (rN2_LFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[9]
+ *
+ */
+ (rN2_LFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[10]
+ *
+ */
+ (rN2_LFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[11]
+ *
+ */
+ (rN2_LFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[12]
+ *
+ */
+ (rN2_LFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[13]
+ *
+ */
+ (rN2_LFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[14]
+ *
+ */
+ (rN2_LFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[15]
+ *
+ */
+ (rN2_LFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[16]
+ *
+ */
+ (rN2_LFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[17]
+ *
+ */
+ (rN2_LFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[18]
+ *
+ */
+ (rN2_LFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[19]
+ *
+ */
+ (rN2_LFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[20]
+ *
+ */
+ (rN2_LFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[21]
+ *
+ */
+ (rN2_LFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[22]
+ *
+ */
+ (rN2_LFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[23]
+ *
+ */
+ (rN2_LFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[24]
+ *
+ */
+ (rN2_LFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[25]
+ *
+ */
+ (rN2_LFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[26]
+ *
+ */
+ (rN2_LFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[27]
+ *
+ */
+ (rN2_LFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[28]
+ *
+ */
+ (rN2_LFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[29]
+ *
+ */
+ (rN2_LFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[30]
+ *
+ */
+ (rN2_LFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[31]
+ *
+ */
+ (rN2_LFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[32]
+ *
+ */
+ (rN2_LFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[33]
+ *
+ */
+ (rN2_LFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[34]
+ *
+ */
+ (rN2_LFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[35]
+ *
+ */
+ (rN2_LFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[36]
+ *
+ */
+ (rN2_LFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[37]
+ *
+ */
+ (rN2_LFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[38]
+ *
+ */
+ (rN2_LFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[39]
+ *
+ */
+ (rN2_LFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[40]
+ *
+ */
+ (rN2_LFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[41]
+ *
+ */
+ (rN2_LFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[42]
+ *
+ */
+ (rN2_LFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[43]
+ *
+ */
+ (rN2_LFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[44]
+ *
+ */
+ (rN2_LFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[45]
+ *
+ */
+ (rN2_LFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[46]
+ *
+ */
+ (rN2_LFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[47]
+ *
+ */
+ (rN2_LFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[48]
+ *
+ */
+ (rN2_LFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[49]
+ *
+ */
+ (rN2_LFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[50]
+ *
+ */
+ (rN2_LFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[51]
+ *
+ */
+ (rN2_LFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[52]
+ *
+ */
+ (rN2_LFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[53]
+ *
+ */
+ (rN2_LFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[54]
+ *
+ */
+ (rN2_LFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[55]
+ *
+ */
+ (rN2_LFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[56]
+ *
+ */
+ (rN2_LFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[57]
+ *
+ */
+ (rN2_LFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[58]
+ *
+ */
+ (rN2_LFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[59]
+ *
+ */
+ (rN2_LFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[60]
+ *
+ */
+ (rN2_LFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[61]
+ *
+ */
+ (rN2_LFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[62]
+ *
+ */
+ (rN2_LFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** N2_LFIR[63]
+ *
+ */
+ (rN2_LFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+################################################################################
+# P9 chip PSIFIR
+################################################################################
+
+rule rPSIFIR
+{
+ CHECK_STOP:
+ PSIFIR & ~PSIFIR_MASK & ~PSIFIR_ACT0 & ~PSIFIR_ACT1;
+ RECOVERABLE:
+ PSIFIR & ~PSIFIR_MASK & ~PSIFIR_ACT0 & PSIFIR_ACT1;
+};
+
+group gPSIFIR filter singlebit
+{
+ /** PSIFIR[0]
+ *
+ */
+ (rPSIFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** PSIFIR[1]
+ *
+ */
+ (rPSIFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** PSIFIR[2]
+ *
+ */
+ (rPSIFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** PSIFIR[3]
+ *
+ */
+ (rPSIFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** PSIFIR[4]
+ *
+ */
+ (rPSIFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** PSIFIR[5]
+ *
+ */
+ (rPSIFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** PSIFIR[6]
+ *
+ */
+ (rPSIFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** PSIFIR[7]
+ *
+ */
+ (rPSIFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** PSIFIR[8]
+ *
+ */
+ (rPSIFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** PSIFIR[9]
+ *
+ */
+ (rPSIFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** PSIFIR[10]
+ *
+ */
+ (rPSIFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** PSIFIR[11]
+ *
+ */
+ (rPSIFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** PSIFIR[12]
+ *
+ */
+ (rPSIFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** PSIFIR[13]
+ *
+ */
+ (rPSIFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** PSIFIR[14]
+ *
+ */
+ (rPSIFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** PSIFIR[15]
+ *
+ */
+ (rPSIFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** PSIFIR[16]
+ *
+ */
+ (rPSIFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** PSIFIR[17]
+ *
+ */
+ (rPSIFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** PSIFIR[18]
+ *
+ */
+ (rPSIFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** PSIFIR[19]
+ *
+ */
+ (rPSIFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** PSIFIR[20]
+ *
+ */
+ (rPSIFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** PSIFIR[21]
+ *
+ */
+ (rPSIFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** PSIFIR[22]
+ *
+ */
+ (rPSIFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** PSIFIR[23]
+ *
+ */
+ (rPSIFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** PSIFIR[24]
+ *
+ */
+ (rPSIFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** PSIFIR[25]
+ *
+ */
+ (rPSIFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** PSIFIR[26]
+ *
+ */
+ (rPSIFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** PSIFIR[27]
+ *
+ */
+ (rPSIFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** PSIFIR[28]
+ *
+ */
+ (rPSIFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** PSIFIR[29]
+ *
+ */
+ (rPSIFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** PSIFIR[30]
+ *
+ */
+ (rPSIFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** PSIFIR[31]
+ *
+ */
+ (rPSIFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** PSIFIR[32]
+ *
+ */
+ (rPSIFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** PSIFIR[33]
+ *
+ */
+ (rPSIFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** PSIFIR[34]
+ *
+ */
+ (rPSIFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** PSIFIR[35]
+ *
+ */
+ (rPSIFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** PSIFIR[36]
+ *
+ */
+ (rPSIFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** PSIFIR[37]
+ *
+ */
+ (rPSIFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** PSIFIR[38]
+ *
+ */
+ (rPSIFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** PSIFIR[39]
+ *
+ */
+ (rPSIFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** PSIFIR[40]
+ *
+ */
+ (rPSIFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** PSIFIR[41]
+ *
+ */
+ (rPSIFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** PSIFIR[42]
+ *
+ */
+ (rPSIFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** PSIFIR[43]
+ *
+ */
+ (rPSIFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** PSIFIR[44]
+ *
+ */
+ (rPSIFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** PSIFIR[45]
+ *
+ */
+ (rPSIFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** PSIFIR[46]
+ *
+ */
+ (rPSIFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** PSIFIR[47]
+ *
+ */
+ (rPSIFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** PSIFIR[48]
+ *
+ */
+ (rPSIFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** PSIFIR[49]
+ *
+ */
+ (rPSIFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** PSIFIR[50]
+ *
+ */
+ (rPSIFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** PSIFIR[51]
+ *
+ */
+ (rPSIFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** PSIFIR[52]
+ *
+ */
+ (rPSIFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** PSIFIR[53]
+ *
+ */
+ (rPSIFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** PSIFIR[54]
+ *
+ */
+ (rPSIFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** PSIFIR[55]
+ *
+ */
+ (rPSIFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** PSIFIR[56]
+ *
+ */
+ (rPSIFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** PSIFIR[57]
+ *
+ */
+ (rPSIFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** PSIFIR[58]
+ *
+ */
+ (rPSIFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** PSIFIR[59]
+ *
+ */
+ (rPSIFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** PSIFIR[60]
+ *
+ */
+ (rPSIFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** PSIFIR[61]
+ *
+ */
+ (rPSIFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** PSIFIR[62]
+ *
+ */
+ (rPSIFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** PSIFIR[63]
+ *
+ */
+ (rPSIFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+################################################################################
+# N3 Chiplet FIR
+################################################################################
+
+rule rN3_CHIPLET_FIR
+{
+ CHECK_STOP:
+ N3_CHIPLET_CS_FIR & ~N3_CHIPLET_FIR_MASK & `1fffffffffffffff`;
+ RECOVERABLE:
+ (N3_CHIPLET_RE_FIR >> 2) & ~N3_CHIPLET_FIR_MASK & `1fffffffffffffff`;
+};
+
+group gN3_CHIPLET_FIR filter singlebit
+{
+ /** N3_CHIPLET_FIR[3]
+ * Attention from N3_LFIR
+ */
+ (rN3_CHIPLET_FIR, bit(3)) ? analyze(gN3_LFIR);
+
+ /** N3_CHIPLET_FIR[4]
+ * Attention from MCFIR 0
+ */
+ (rN3_CHIPLET_FIR, bit(4)) ? analyzeConnectedMCS0;
+
+ /** N3_CHIPLET_FIR[5]
+ * Attention from MCFIR 1
+ */
+ (rN3_CHIPLET_FIR, bit(5)) ? analyzeConnectedMCS1;
+
+ /** N3_CHIPLET_FIR[6]
+ * Attention from PBWESTFIR
+ */
+ (rN3_CHIPLET_FIR, bit(6)) ? analyze(gPBWESTFIR);
+
+ /** N3_CHIPLET_FIR[7]
+ * Attention from PBCENTFIR
+ */
+ (rN3_CHIPLET_FIR, bit(7)) ? analyze(gPBCENTFIR);
+
+ /** N3_CHIPLET_FIR[8]
+ * Attention from PBEASTFIR
+ */
+ (rN3_CHIPLET_FIR, bit(8)) ? analyze(gPBEASTFIR);
+
+ /** N3_CHIPLET_FIR[10]
+ * Attention from NPU0FIR
+ */
+ (rN3_CHIPLET_FIR, bit(10)) ? analyze(gNPU0FIR);
+
+ /** N3_CHIPLET_FIR[11]
+ * Attention from NPU1FIR
+ */
+ (rN3_CHIPLET_FIR, bit(11)) ? analyze(gNPU1FIR);
+
+ /** N3_CHIPLET_FIR[12]
+ * Attention from PBICQFIR
+ */
+ (rN3_CHIPLET_FIR, bit(12)) ? analyze(gPBICQFIR);
+
+ /** N3_CHIPLET_FIR[14]
+ * Attention from PBPPEFIR
+ */
+ (rN3_CHIPLET_FIR, bit(14)) ? analyze(gPBPPEFIR);
+
+ /** N3_CHIPLET_FIR[15]
+ * Attention from PBIOEFIR
+ */
+ (rN3_CHIPLET_FIR, bit(15)) ? analyze(gPBIOEFIR);
+
+ /** N3_CHIPLET_FIR[16]
+ * Attention from PBIOOFIR
+ */
+ (rN3_CHIPLET_FIR, bit(16)) ? analyze(gPBIOOFIR);
+
+ /** N3_CHIPLET_FIR[17]
+ * Attention from INTCQFIR
+ */
+ (rN3_CHIPLET_FIR, bit(17)) ? analyze(gINTCQFIR);
+
+ /** N3_CHIPLET_FIR[19]
+ * Attention from PSIHBFIR
+ */
+ (rN3_CHIPLET_FIR, bit(19)) ? analyze(gPSIHBFIR);
+
+ /** N3_CHIPLET_FIR[20]
+ * Attention from PBAMFIR
+ */
+ (rN3_CHIPLET_FIR, bit(20)) ? analyze(gPBAMFIR);
+
+};
+
+################################################################################
+# P9 chip N3_LFIR
+################################################################################
+
+rule rN3_LFIR
+{
+ CHECK_STOP:
+ N3_LFIR & ~N3_LFIR_MASK & ~N3_LFIR_ACT0 & ~N3_LFIR_ACT1;
+ RECOVERABLE:
+ N3_LFIR & ~N3_LFIR_MASK & ~N3_LFIR_ACT0 & N3_LFIR_ACT1;
+};
+
+group gN3_LFIR filter singlebit
+{
+ /** N3_LFIR[0]
+ *
+ */
+ (rN3_LFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[1]
+ *
+ */
+ (rN3_LFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[2]
+ *
+ */
+ (rN3_LFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[3]
+ *
+ */
+ (rN3_LFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[4]
+ *
+ */
+ (rN3_LFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[5]
+ *
+ */
+ (rN3_LFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[6]
+ *
+ */
+ (rN3_LFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[7]
+ *
+ */
+ (rN3_LFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[8]
+ *
+ */
+ (rN3_LFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[9]
+ *
+ */
+ (rN3_LFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[10]
+ *
+ */
+ (rN3_LFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[11]
+ *
+ */
+ (rN3_LFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[12]
+ *
+ */
+ (rN3_LFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[13]
+ *
+ */
+ (rN3_LFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[14]
+ *
+ */
+ (rN3_LFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[15]
+ *
+ */
+ (rN3_LFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[16]
+ *
+ */
+ (rN3_LFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[17]
+ *
+ */
+ (rN3_LFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[18]
+ *
+ */
+ (rN3_LFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[19]
+ *
+ */
+ (rN3_LFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[20]
+ *
+ */
+ (rN3_LFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[21]
+ *
+ */
+ (rN3_LFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[22]
+ *
+ */
+ (rN3_LFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[23]
+ *
+ */
+ (rN3_LFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[24]
+ *
+ */
+ (rN3_LFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[25]
+ *
+ */
+ (rN3_LFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[26]
+ *
+ */
+ (rN3_LFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[27]
+ *
+ */
+ (rN3_LFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[28]
+ *
+ */
+ (rN3_LFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[29]
+ *
+ */
+ (rN3_LFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[30]
+ *
+ */
+ (rN3_LFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[31]
+ *
+ */
+ (rN3_LFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[32]
+ *
+ */
+ (rN3_LFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[33]
+ *
+ */
+ (rN3_LFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[34]
+ *
+ */
+ (rN3_LFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[35]
+ *
+ */
+ (rN3_LFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[36]
+ *
+ */
+ (rN3_LFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[37]
+ *
+ */
+ (rN3_LFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[38]
+ *
+ */
+ (rN3_LFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[39]
+ *
+ */
+ (rN3_LFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[40]
+ *
+ */
+ (rN3_LFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[41]
+ *
+ */
+ (rN3_LFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[42]
+ *
+ */
+ (rN3_LFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[43]
+ *
+ */
+ (rN3_LFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[44]
+ *
+ */
+ (rN3_LFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[45]
+ *
+ */
+ (rN3_LFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[46]
+ *
+ */
+ (rN3_LFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[47]
+ *
+ */
+ (rN3_LFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[48]
+ *
+ */
+ (rN3_LFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[49]
+ *
+ */
+ (rN3_LFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[50]
+ *
+ */
+ (rN3_LFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[51]
+ *
+ */
+ (rN3_LFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[52]
+ *
+ */
+ (rN3_LFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[53]
+ *
+ */
+ (rN3_LFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[54]
+ *
+ */
+ (rN3_LFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[55]
+ *
+ */
+ (rN3_LFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[56]
+ *
+ */
+ (rN3_LFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[57]
+ *
+ */
+ (rN3_LFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[58]
+ *
+ */
+ (rN3_LFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[59]
+ *
+ */
+ (rN3_LFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[60]
+ *
+ */
+ (rN3_LFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[61]
+ *
+ */
+ (rN3_LFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[62]
+ *
+ */
+ (rN3_LFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** N3_LFIR[63]
+ *
+ */
+ (rN3_LFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+################################################################################
+# P9 chip NPU0FIR
+################################################################################
+
+rule rNPU0FIR
+{
+ CHECK_STOP:
+ NPU0FIR & ~NPU0FIR_MASK & ~NPU0FIR_ACT0 & ~NPU0FIR_ACT1;
+ RECOVERABLE:
+ NPU0FIR & ~NPU0FIR_MASK & ~NPU0FIR_ACT0 & NPU0FIR_ACT1;
+};
+
+group gNPU0FIR filter singlebit
+{
+ /** NPU0FIR[0]
+ *
+ */
+ (rNPU0FIR, bit(0)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[1]
+ *
+ */
+ (rNPU0FIR, bit(1)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[2]
+ *
+ */
+ (rNPU0FIR, bit(2)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[3]
+ *
+ */
+ (rNPU0FIR, bit(3)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[4]
+ *
+ */
+ (rNPU0FIR, bit(4)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[5]
+ *
+ */
+ (rNPU0FIR, bit(5)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[6]
+ *
+ */
+ (rNPU0FIR, bit(6)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[7]
+ *
+ */
+ (rNPU0FIR, bit(7)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[8]
+ *
+ */
+ (rNPU0FIR, bit(8)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[9]
+ *
+ */
+ (rNPU0FIR, bit(9)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[10]
+ *
+ */
+ (rNPU0FIR, bit(10)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[11]
+ *
+ */
+ (rNPU0FIR, bit(11)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[12]
+ *
+ */
+ (rNPU0FIR, bit(12)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[13]
+ *
+ */
+ (rNPU0FIR, bit(13)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[14]
+ *
+ */
+ (rNPU0FIR, bit(14)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[15]
+ *
+ */
+ (rNPU0FIR, bit(15)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[16]
+ *
+ */
+ (rNPU0FIR, bit(16)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[17]
+ *
+ */
+ (rNPU0FIR, bit(17)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[18]
+ *
+ */
+ (rNPU0FIR, bit(18)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[19]
+ *
+ */
+ (rNPU0FIR, bit(19)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[20]
+ *
+ */
+ (rNPU0FIR, bit(20)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[21]
+ *
+ */
+ (rNPU0FIR, bit(21)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[22]
+ *
+ */
+ (rNPU0FIR, bit(22)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[23]
+ *
+ */
+ (rNPU0FIR, bit(23)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[24]
+ *
+ */
+ (rNPU0FIR, bit(24)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[25]
+ *
+ */
+ (rNPU0FIR, bit(25)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[26]
+ *
+ */
+ (rNPU0FIR, bit(26)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[27]
+ *
+ */
+ (rNPU0FIR, bit(27)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[28]
+ *
+ */
+ (rNPU0FIR, bit(28)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[29]
+ *
+ */
+ (rNPU0FIR, bit(29)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[30]
+ *
+ */
+ (rNPU0FIR, bit(30)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[31]
+ *
+ */
+ (rNPU0FIR, bit(31)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[32]
+ *
+ */
+ (rNPU0FIR, bit(32)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[33]
+ *
+ */
+ (rNPU0FIR, bit(33)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[34]
+ *
+ */
+ (rNPU0FIR, bit(34)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[35]
+ *
+ */
+ (rNPU0FIR, bit(35)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[36]
+ *
+ */
+ (rNPU0FIR, bit(36)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[37]
+ *
+ */
+ (rNPU0FIR, bit(37)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[38]
+ *
+ */
+ (rNPU0FIR, bit(38)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[39]
+ *
+ */
+ (rNPU0FIR, bit(39)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[40]
+ *
+ */
+ (rNPU0FIR, bit(40)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[41]
+ *
+ */
+ (rNPU0FIR, bit(41)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[42]
+ *
+ */
+ (rNPU0FIR, bit(42)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[43]
+ *
+ */
+ (rNPU0FIR, bit(43)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[44]
+ *
+ */
+ (rNPU0FIR, bit(44)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[45]
+ *
+ */
+ (rNPU0FIR, bit(45)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[46]
+ *
+ */
+ (rNPU0FIR, bit(46)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[47]
+ *
+ */
+ (rNPU0FIR, bit(47)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[48]
+ *
+ */
+ (rNPU0FIR, bit(48)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[49]
+ *
+ */
+ (rNPU0FIR, bit(49)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[50]
+ *
+ */
+ (rNPU0FIR, bit(50)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[51]
+ *
+ */
+ (rNPU0FIR, bit(51)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[52]
+ *
+ */
+ (rNPU0FIR, bit(52)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[53]
+ *
+ */
+ (rNPU0FIR, bit(53)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[54]
+ *
+ */
+ (rNPU0FIR, bit(54)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[55]
+ *
+ */
+ (rNPU0FIR, bit(55)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[56]
+ *
+ */
+ (rNPU0FIR, bit(56)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[57]
+ *
+ */
+ (rNPU0FIR, bit(57)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[58]
+ *
+ */
+ (rNPU0FIR, bit(58)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[59]
+ *
+ */
+ (rNPU0FIR, bit(59)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[60]
+ *
+ */
+ (rNPU0FIR, bit(60)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[61]
+ *
+ */
+ (rNPU0FIR, bit(61)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[62]
+ *
+ */
+ (rNPU0FIR, bit(62)) ? TBDDefaultCallout;
+
+ /** NPU0FIR[63]
+ *
+ */
+ (rNPU0FIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+################################################################################
+# P9 chip NPU1FIR
+################################################################################
+
+rule rNPU1FIR
+{
+ CHECK_STOP:
+ NPU1FIR & ~NPU1FIR_MASK & ~NPU1FIR_ACT0 & ~NPU1FIR_ACT1;
+ RECOVERABLE:
+ NPU1FIR & ~NPU1FIR_MASK & ~NPU1FIR_ACT0 & NPU1FIR_ACT1;
+};
+
+group gNPU1FIR filter singlebit
+{
+ /** NPU1FIR[0]
+ *
+ */
+ (rNPU1FIR, bit(0)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[1]
+ *
+ */
+ (rNPU1FIR, bit(1)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[2]
+ *
+ */
+ (rNPU1FIR, bit(2)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[3]
+ *
+ */
+ (rNPU1FIR, bit(3)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[4]
+ *
+ */
+ (rNPU1FIR, bit(4)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[5]
+ *
+ */
+ (rNPU1FIR, bit(5)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[6]
+ *
+ */
+ (rNPU1FIR, bit(6)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[7]
+ *
+ */
+ (rNPU1FIR, bit(7)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[8]
+ *
+ */
+ (rNPU1FIR, bit(8)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[9]
+ *
+ */
+ (rNPU1FIR, bit(9)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[10]
+ *
+ */
+ (rNPU1FIR, bit(10)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[11]
+ *
+ */
+ (rNPU1FIR, bit(11)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[12]
+ *
+ */
+ (rNPU1FIR, bit(12)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[13]
+ *
+ */
+ (rNPU1FIR, bit(13)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[14]
+ *
+ */
+ (rNPU1FIR, bit(14)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[15]
+ *
+ */
+ (rNPU1FIR, bit(15)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[16]
+ *
+ */
+ (rNPU1FIR, bit(16)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[17]
+ *
+ */
+ (rNPU1FIR, bit(17)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[18]
+ *
+ */
+ (rNPU1FIR, bit(18)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[19]
+ *
+ */
+ (rNPU1FIR, bit(19)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[20]
+ *
+ */
+ (rNPU1FIR, bit(20)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[21]
+ *
+ */
+ (rNPU1FIR, bit(21)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[22]
+ *
+ */
+ (rNPU1FIR, bit(22)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[23]
+ *
+ */
+ (rNPU1FIR, bit(23)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[24]
+ *
+ */
+ (rNPU1FIR, bit(24)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[25]
+ *
+ */
+ (rNPU1FIR, bit(25)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[26]
+ *
+ */
+ (rNPU1FIR, bit(26)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[27]
+ *
+ */
+ (rNPU1FIR, bit(27)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[28]
+ *
+ */
+ (rNPU1FIR, bit(28)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[29]
+ *
+ */
+ (rNPU1FIR, bit(29)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[30]
+ *
+ */
+ (rNPU1FIR, bit(30)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[31]
+ *
+ */
+ (rNPU1FIR, bit(31)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[32]
+ *
+ */
+ (rNPU1FIR, bit(32)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[33]
+ *
+ */
+ (rNPU1FIR, bit(33)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[34]
+ *
+ */
+ (rNPU1FIR, bit(34)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[35]
+ *
+ */
+ (rNPU1FIR, bit(35)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[36]
+ *
+ */
+ (rNPU1FIR, bit(36)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[37]
+ *
+ */
+ (rNPU1FIR, bit(37)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[38]
+ *
+ */
+ (rNPU1FIR, bit(38)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[39]
+ *
+ */
+ (rNPU1FIR, bit(39)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[40]
+ *
+ */
+ (rNPU1FIR, bit(40)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[41]
+ *
+ */
+ (rNPU1FIR, bit(41)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[42]
+ *
+ */
+ (rNPU1FIR, bit(42)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[43]
+ *
+ */
+ (rNPU1FIR, bit(43)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[44]
+ *
+ */
+ (rNPU1FIR, bit(44)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[45]
+ *
+ */
+ (rNPU1FIR, bit(45)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[46]
+ *
+ */
+ (rNPU1FIR, bit(46)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[47]
+ *
+ */
+ (rNPU1FIR, bit(47)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[48]
+ *
+ */
+ (rNPU1FIR, bit(48)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[49]
+ *
+ */
+ (rNPU1FIR, bit(49)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[50]
+ *
+ */
+ (rNPU1FIR, bit(50)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[51]
+ *
+ */
+ (rNPU1FIR, bit(51)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[52]
+ *
+ */
+ (rNPU1FIR, bit(52)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[53]
+ *
+ */
+ (rNPU1FIR, bit(53)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[54]
+ *
+ */
+ (rNPU1FIR, bit(54)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[55]
+ *
+ */
+ (rNPU1FIR, bit(55)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[56]
+ *
+ */
+ (rNPU1FIR, bit(56)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[57]
+ *
+ */
+ (rNPU1FIR, bit(57)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[58]
+ *
+ */
+ (rNPU1FIR, bit(58)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[59]
+ *
+ */
+ (rNPU1FIR, bit(59)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[60]
+ *
+ */
+ (rNPU1FIR, bit(60)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[61]
+ *
+ */
+ (rNPU1FIR, bit(61)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[62]
+ *
+ */
+ (rNPU1FIR, bit(62)) ? TBDDefaultCallout;
+
+ /** NPU1FIR[63]
+ *
+ */
+ (rNPU1FIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+################################################################################
+# P9 chip PBWESTFIR
+################################################################################
+
+rule rPBWESTFIR
+{
+ CHECK_STOP:
+ PBWESTFIR & ~PBWESTFIR_MASK & ~PBWESTFIR_ACT0 & ~PBWESTFIR_ACT1;
+ RECOVERABLE:
+ PBWESTFIR & ~PBWESTFIR_MASK & ~PBWESTFIR_ACT0 & PBWESTFIR_ACT1;
+};
+
+group gPBWESTFIR filter singlebit
+{
+ /** PBWESTFIR[0]
+ *
+ */
+ (rPBWESTFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[1]
+ *
+ */
+ (rPBWESTFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[2]
+ *
+ */
+ (rPBWESTFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[3]
+ *
+ */
+ (rPBWESTFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[4]
+ *
+ */
+ (rPBWESTFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[5]
+ *
+ */
+ (rPBWESTFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[6]
+ *
+ */
+ (rPBWESTFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[7]
+ *
+ */
+ (rPBWESTFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[8]
+ *
+ */
+ (rPBWESTFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[9]
+ *
+ */
+ (rPBWESTFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[10]
+ *
+ */
+ (rPBWESTFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[11]
+ *
+ */
+ (rPBWESTFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[12]
+ *
+ */
+ (rPBWESTFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[13]
+ *
+ */
+ (rPBWESTFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[14]
+ *
+ */
+ (rPBWESTFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[15]
+ *
+ */
+ (rPBWESTFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[16]
+ *
+ */
+ (rPBWESTFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[17]
+ *
+ */
+ (rPBWESTFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[18]
+ *
+ */
+ (rPBWESTFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[19]
+ *
+ */
+ (rPBWESTFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[20]
+ *
+ */
+ (rPBWESTFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[21]
+ *
+ */
+ (rPBWESTFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[22]
+ *
+ */
+ (rPBWESTFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[23]
+ *
+ */
+ (rPBWESTFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[24]
+ *
+ */
+ (rPBWESTFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[25]
+ *
+ */
+ (rPBWESTFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[26]
+ *
+ */
+ (rPBWESTFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[27]
+ *
+ */
+ (rPBWESTFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[28]
+ *
+ */
+ (rPBWESTFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[29]
+ *
+ */
+ (rPBWESTFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[30]
+ *
+ */
+ (rPBWESTFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[31]
+ *
+ */
+ (rPBWESTFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[32]
+ *
+ */
+ (rPBWESTFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[33]
+ *
+ */
+ (rPBWESTFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[34]
+ *
+ */
+ (rPBWESTFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[35]
+ *
+ */
+ (rPBWESTFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[36]
+ *
+ */
+ (rPBWESTFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[37]
+ *
+ */
+ (rPBWESTFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[38]
+ *
+ */
+ (rPBWESTFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[39]
+ *
+ */
+ (rPBWESTFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[40]
+ *
+ */
+ (rPBWESTFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[41]
+ *
+ */
+ (rPBWESTFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[42]
+ *
+ */
+ (rPBWESTFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[43]
+ *
+ */
+ (rPBWESTFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[44]
+ *
+ */
+ (rPBWESTFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[45]
+ *
+ */
+ (rPBWESTFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[46]
+ *
+ */
+ (rPBWESTFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[47]
+ *
+ */
+ (rPBWESTFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[48]
+ *
+ */
+ (rPBWESTFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[49]
+ *
+ */
+ (rPBWESTFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[50]
+ *
+ */
+ (rPBWESTFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[51]
+ *
+ */
+ (rPBWESTFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[52]
+ *
+ */
+ (rPBWESTFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[53]
+ *
+ */
+ (rPBWESTFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[54]
+ *
+ */
+ (rPBWESTFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[55]
+ *
+ */
+ (rPBWESTFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[56]
+ *
+ */
+ (rPBWESTFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[57]
+ *
+ */
+ (rPBWESTFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[58]
+ *
+ */
+ (rPBWESTFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[59]
+ *
+ */
+ (rPBWESTFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[60]
+ *
+ */
+ (rPBWESTFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[61]
+ *
+ */
+ (rPBWESTFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[62]
+ *
+ */
+ (rPBWESTFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** PBWESTFIR[63]
+ *
+ */
+ (rPBWESTFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+################################################################################
+# P9 chip PBCENTFIR
+################################################################################
+
+rule rPBCENTFIR
+{
+ CHECK_STOP:
+ PBCENTFIR & ~PBCENTFIR_MASK & ~PBCENTFIR_ACT0 & ~PBCENTFIR_ACT1;
+ RECOVERABLE:
+ PBCENTFIR & ~PBCENTFIR_MASK & ~PBCENTFIR_ACT0 & PBCENTFIR_ACT1;
+};
+
+group gPBCENTFIR filter singlebit
+{
+ /** PBCENTFIR[0]
+ *
+ */
+ (rPBCENTFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[1]
+ *
+ */
+ (rPBCENTFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[2]
+ *
+ */
+ (rPBCENTFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[3]
+ *
+ */
+ (rPBCENTFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[4]
+ *
+ */
+ (rPBCENTFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[5]
+ *
+ */
+ (rPBCENTFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[6]
+ *
+ */
+ (rPBCENTFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[7]
+ *
+ */
+ (rPBCENTFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[8]
+ *
+ */
+ (rPBCENTFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[9]
+ *
+ */
+ (rPBCENTFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[10]
+ *
+ */
+ (rPBCENTFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[11]
+ *
+ */
+ (rPBCENTFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[12]
+ *
+ */
+ (rPBCENTFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[13]
+ *
+ */
+ (rPBCENTFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[14]
+ *
+ */
+ (rPBCENTFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[15]
+ *
+ */
+ (rPBCENTFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[16]
+ *
+ */
+ (rPBCENTFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[17]
+ *
+ */
+ (rPBCENTFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[18]
+ *
+ */
+ (rPBCENTFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[19]
+ *
+ */
+ (rPBCENTFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[20]
+ *
+ */
+ (rPBCENTFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[21]
+ *
+ */
+ (rPBCENTFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[22]
+ *
+ */
+ (rPBCENTFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[23]
+ *
+ */
+ (rPBCENTFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[24]
+ *
+ */
+ (rPBCENTFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[25]
+ *
+ */
+ (rPBCENTFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[26]
+ *
+ */
+ (rPBCENTFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[27]
+ *
+ */
+ (rPBCENTFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[28]
+ *
+ */
+ (rPBCENTFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[29]
+ *
+ */
+ (rPBCENTFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[30]
+ *
+ */
+ (rPBCENTFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[31]
+ *
+ */
+ (rPBCENTFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[32]
+ *
+ */
+ (rPBCENTFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[33]
+ *
+ */
+ (rPBCENTFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[34]
+ *
+ */
+ (rPBCENTFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[35]
+ *
+ */
+ (rPBCENTFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[36]
+ *
+ */
+ (rPBCENTFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[37]
+ *
+ */
+ (rPBCENTFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[38]
+ *
+ */
+ (rPBCENTFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[39]
+ *
+ */
+ (rPBCENTFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[40]
+ *
+ */
+ (rPBCENTFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[41]
+ *
+ */
+ (rPBCENTFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[42]
+ *
+ */
+ (rPBCENTFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[43]
+ *
+ */
+ (rPBCENTFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[44]
+ *
+ */
+ (rPBCENTFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[45]
+ *
+ */
+ (rPBCENTFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[46]
+ *
+ */
+ (rPBCENTFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[47]
+ *
+ */
+ (rPBCENTFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[48]
+ *
+ */
+ (rPBCENTFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[49]
+ *
+ */
+ (rPBCENTFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[50]
+ *
+ */
+ (rPBCENTFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[51]
+ *
+ */
+ (rPBCENTFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[52]
+ *
+ */
+ (rPBCENTFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[53]
+ *
+ */
+ (rPBCENTFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[54]
+ *
+ */
+ (rPBCENTFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[55]
+ *
+ */
+ (rPBCENTFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[56]
+ *
+ */
+ (rPBCENTFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[57]
+ *
+ */
+ (rPBCENTFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[58]
+ *
+ */
+ (rPBCENTFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[59]
+ *
+ */
+ (rPBCENTFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[60]
+ *
+ */
+ (rPBCENTFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[61]
+ *
+ */
+ (rPBCENTFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[62]
+ *
+ */
+ (rPBCENTFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** PBCENTFIR[63]
+ *
+ */
+ (rPBCENTFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+################################################################################
+# P9 chip PBEASTFIR
+################################################################################
+
+rule rPBEASTFIR
+{
+ CHECK_STOP:
+ PBEASTFIR & ~PBEASTFIR_MASK & ~PBEASTFIR_ACT0 & ~PBEASTFIR_ACT1;
+ RECOVERABLE:
+ PBEASTFIR & ~PBEASTFIR_MASK & ~PBEASTFIR_ACT0 & PBEASTFIR_ACT1;
+};
+
+group gPBEASTFIR filter singlebit
+{
+ /** PBEASTFIR[0]
+ *
+ */
+ (rPBEASTFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[1]
+ *
+ */
+ (rPBEASTFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[2]
+ *
+ */
+ (rPBEASTFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[3]
+ *
+ */
+ (rPBEASTFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[4]
+ *
+ */
+ (rPBEASTFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[5]
+ *
+ */
+ (rPBEASTFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[6]
+ *
+ */
+ (rPBEASTFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[7]
+ *
+ */
+ (rPBEASTFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[8]
+ *
+ */
+ (rPBEASTFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[9]
+ *
+ */
+ (rPBEASTFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[10]
+ *
+ */
+ (rPBEASTFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[11]
+ *
+ */
+ (rPBEASTFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[12]
+ *
+ */
+ (rPBEASTFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[13]
+ *
+ */
+ (rPBEASTFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[14]
+ *
+ */
+ (rPBEASTFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[15]
+ *
+ */
+ (rPBEASTFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[16]
+ *
+ */
+ (rPBEASTFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[17]
+ *
+ */
+ (rPBEASTFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[18]
+ *
+ */
+ (rPBEASTFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[19]
+ *
+ */
+ (rPBEASTFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[20]
+ *
+ */
+ (rPBEASTFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[21]
+ *
+ */
+ (rPBEASTFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[22]
+ *
+ */
+ (rPBEASTFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[23]
+ *
+ */
+ (rPBEASTFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[24]
+ *
+ */
+ (rPBEASTFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[25]
+ *
+ */
+ (rPBEASTFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[26]
+ *
+ */
+ (rPBEASTFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[27]
+ *
+ */
+ (rPBEASTFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[28]
+ *
+ */
+ (rPBEASTFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[29]
+ *
+ */
+ (rPBEASTFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[30]
+ *
+ */
+ (rPBEASTFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[31]
+ *
+ */
+ (rPBEASTFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[32]
+ *
+ */
+ (rPBEASTFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[33]
+ *
+ */
+ (rPBEASTFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[34]
+ *
+ */
+ (rPBEASTFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[35]
+ *
+ */
+ (rPBEASTFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[36]
+ *
+ */
+ (rPBEASTFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[37]
+ *
+ */
+ (rPBEASTFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[38]
+ *
+ */
+ (rPBEASTFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[39]
+ *
+ */
+ (rPBEASTFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[40]
+ *
+ */
+ (rPBEASTFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[41]
+ *
+ */
+ (rPBEASTFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[42]
+ *
+ */
+ (rPBEASTFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[43]
+ *
+ */
+ (rPBEASTFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[44]
+ *
+ */
+ (rPBEASTFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[45]
+ *
+ */
+ (rPBEASTFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[46]
+ *
+ */
+ (rPBEASTFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[47]
+ *
+ */
+ (rPBEASTFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[48]
+ *
+ */
+ (rPBEASTFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[49]
+ *
+ */
+ (rPBEASTFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[50]
+ *
+ */
+ (rPBEASTFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[51]
+ *
+ */
+ (rPBEASTFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[52]
+ *
+ */
+ (rPBEASTFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[53]
+ *
+ */
+ (rPBEASTFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[54]
+ *
+ */
+ (rPBEASTFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[55]
+ *
+ */
+ (rPBEASTFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[56]
+ *
+ */
+ (rPBEASTFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[57]
+ *
+ */
+ (rPBEASTFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[58]
+ *
+ */
+ (rPBEASTFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[59]
+ *
+ */
+ (rPBEASTFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[60]
+ *
+ */
+ (rPBEASTFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[61]
+ *
+ */
+ (rPBEASTFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[62]
+ *
+ */
+ (rPBEASTFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** PBEASTFIR[63]
+ *
+ */
+ (rPBEASTFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+################################################################################
+# P9 chip PBPPEFIR
+################################################################################
+
+rule rPBPPEFIR
+{
+ CHECK_STOP:
+ PBPPEFIR & ~PBPPEFIR_MASK & ~PBPPEFIR_ACT0 & ~PBPPEFIR_ACT1;
+ RECOVERABLE:
+ PBPPEFIR & ~PBPPEFIR_MASK & ~PBPPEFIR_ACT0 & PBPPEFIR_ACT1;
+};
+
+group gPBPPEFIR filter singlebit
+{
+ /** PBPPEFIR[0]
+ *
+ */
+ (rPBPPEFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[1]
+ *
+ */
+ (rPBPPEFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[2]
+ *
+ */
+ (rPBPPEFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[3]
+ *
+ */
+ (rPBPPEFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[4]
+ *
+ */
+ (rPBPPEFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[5]
+ *
+ */
+ (rPBPPEFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[6]
+ *
+ */
+ (rPBPPEFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[7]
+ *
+ */
+ (rPBPPEFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[8]
+ *
+ */
+ (rPBPPEFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[9]
+ *
+ */
+ (rPBPPEFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[10]
+ *
+ */
+ (rPBPPEFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[11]
+ *
+ */
+ (rPBPPEFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[12]
+ *
+ */
+ (rPBPPEFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[13]
+ *
+ */
+ (rPBPPEFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[14]
+ *
+ */
+ (rPBPPEFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[15]
+ *
+ */
+ (rPBPPEFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[16]
+ *
+ */
+ (rPBPPEFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[17]
+ *
+ */
+ (rPBPPEFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[18]
+ *
+ */
+ (rPBPPEFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[19]
+ *
+ */
+ (rPBPPEFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[20]
+ *
+ */
+ (rPBPPEFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[21]
+ *
+ */
+ (rPBPPEFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[22]
+ *
+ */
+ (rPBPPEFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[23]
+ *
+ */
+ (rPBPPEFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[24]
+ *
+ */
+ (rPBPPEFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[25]
+ *
+ */
+ (rPBPPEFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[26]
+ *
+ */
+ (rPBPPEFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[27]
+ *
+ */
+ (rPBPPEFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[28]
+ *
+ */
+ (rPBPPEFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[29]
+ *
+ */
+ (rPBPPEFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[30]
+ *
+ */
+ (rPBPPEFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[31]
+ *
+ */
+ (rPBPPEFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[32]
+ *
+ */
+ (rPBPPEFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[33]
+ *
+ */
+ (rPBPPEFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[34]
+ *
+ */
+ (rPBPPEFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[35]
+ *
+ */
+ (rPBPPEFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[36]
+ *
+ */
+ (rPBPPEFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[37]
+ *
+ */
+ (rPBPPEFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[38]
+ *
+ */
+ (rPBPPEFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[39]
+ *
+ */
+ (rPBPPEFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[40]
+ *
+ */
+ (rPBPPEFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[41]
+ *
+ */
+ (rPBPPEFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[42]
+ *
+ */
+ (rPBPPEFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[43]
+ *
+ */
+ (rPBPPEFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[44]
+ *
+ */
+ (rPBPPEFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[45]
+ *
+ */
+ (rPBPPEFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[46]
+ *
+ */
+ (rPBPPEFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[47]
+ *
+ */
+ (rPBPPEFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[48]
+ *
+ */
+ (rPBPPEFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[49]
+ *
+ */
+ (rPBPPEFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[50]
+ *
+ */
+ (rPBPPEFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[51]
+ *
+ */
+ (rPBPPEFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[52]
+ *
+ */
+ (rPBPPEFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[53]
+ *
+ */
+ (rPBPPEFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[54]
+ *
+ */
+ (rPBPPEFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[55]
+ *
+ */
+ (rPBPPEFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[56]
+ *
+ */
+ (rPBPPEFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[57]
+ *
+ */
+ (rPBPPEFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[58]
+ *
+ */
+ (rPBPPEFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[59]
+ *
+ */
+ (rPBPPEFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[60]
+ *
+ */
+ (rPBPPEFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[61]
+ *
+ */
+ (rPBPPEFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[62]
+ *
+ */
+ (rPBPPEFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** PBPPEFIR[63]
+ *
+ */
+ (rPBPPEFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+################################################################################
+# P9 chip PBAFIR
+################################################################################
+
+rule rPBAFIR
+{
+ CHECK_STOP:
+ PBAFIR & ~PBAFIR_MASK & ~PBAFIR_ACT0 & ~PBAFIR_ACT1;
+ RECOVERABLE:
+ PBAFIR & ~PBAFIR_MASK & ~PBAFIR_ACT0 & PBAFIR_ACT1;
+};
+
+group gPBAFIR filter singlebit
+{
+ /** PBAFIR[0]
+ *
+ */
+ (rPBAFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** PBAFIR[1]
+ *
+ */
+ (rPBAFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** PBAFIR[2]
+ *
+ */
+ (rPBAFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** PBAFIR[3]
+ *
+ */
+ (rPBAFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** PBAFIR[4]
+ *
+ */
+ (rPBAFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** PBAFIR[5]
+ *
+ */
+ (rPBAFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** PBAFIR[6]
+ *
+ */
+ (rPBAFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** PBAFIR[7]
+ *
+ */
+ (rPBAFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** PBAFIR[8]
+ *
+ */
+ (rPBAFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** PBAFIR[9]
+ *
+ */
+ (rPBAFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** PBAFIR[10]
+ *
+ */
+ (rPBAFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** PBAFIR[11]
+ *
+ */
+ (rPBAFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** PBAFIR[12]
+ *
+ */
+ (rPBAFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** PBAFIR[13]
+ *
+ */
+ (rPBAFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** PBAFIR[14]
+ *
+ */
+ (rPBAFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** PBAFIR[15]
+ *
+ */
+ (rPBAFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** PBAFIR[16]
+ *
+ */
+ (rPBAFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** PBAFIR[17]
+ *
+ */
+ (rPBAFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** PBAFIR[18]
+ *
+ */
+ (rPBAFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** PBAFIR[19]
+ *
+ */
+ (rPBAFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** PBAFIR[20]
+ *
+ */
+ (rPBAFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** PBAFIR[21]
+ *
+ */
+ (rPBAFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** PBAFIR[22]
+ *
+ */
+ (rPBAFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** PBAFIR[23]
+ *
+ */
+ (rPBAFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** PBAFIR[24]
+ *
+ */
+ (rPBAFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** PBAFIR[25]
+ *
+ */
+ (rPBAFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** PBAFIR[26]
+ *
+ */
+ (rPBAFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** PBAFIR[27]
+ *
+ */
+ (rPBAFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** PBAFIR[28]
+ *
+ */
+ (rPBAFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** PBAFIR[29]
+ *
+ */
+ (rPBAFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** PBAFIR[30]
+ *
+ */
+ (rPBAFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** PBAFIR[31]
+ *
+ */
+ (rPBAFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** PBAFIR[32]
+ *
+ */
+ (rPBAFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** PBAFIR[33]
+ *
+ */
+ (rPBAFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** PBAFIR[34]
+ *
+ */
+ (rPBAFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** PBAFIR[35]
+ *
+ */
+ (rPBAFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** PBAFIR[36]
+ *
+ */
+ (rPBAFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** PBAFIR[37]
+ *
+ */
+ (rPBAFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** PBAFIR[38]
+ *
+ */
+ (rPBAFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** PBAFIR[39]
+ *
+ */
+ (rPBAFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** PBAFIR[40]
+ *
+ */
+ (rPBAFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** PBAFIR[41]
+ *
+ */
+ (rPBAFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** PBAFIR[42]
+ *
+ */
+ (rPBAFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** PBAFIR[43]
+ *
+ */
+ (rPBAFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** PBAFIR[44]
+ *
+ */
+ (rPBAFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** PBAFIR[45]
+ *
+ */
+ (rPBAFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** PBAFIR[46]
+ *
+ */
+ (rPBAFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** PBAFIR[47]
+ *
+ */
+ (rPBAFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** PBAFIR[48]
+ *
+ */
+ (rPBAFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** PBAFIR[49]
+ *
+ */
+ (rPBAFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** PBAFIR[50]
+ *
+ */
+ (rPBAFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** PBAFIR[51]
+ *
+ */
+ (rPBAFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** PBAFIR[52]
+ *
+ */
+ (rPBAFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** PBAFIR[53]
+ *
+ */
+ (rPBAFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** PBAFIR[54]
+ *
+ */
+ (rPBAFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** PBAFIR[55]
+ *
+ */
+ (rPBAFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** PBAFIR[56]
+ *
+ */
+ (rPBAFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** PBAFIR[57]
+ *
+ */
+ (rPBAFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** PBAFIR[58]
+ *
+ */
+ (rPBAFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** PBAFIR[59]
+ *
+ */
+ (rPBAFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** PBAFIR[60]
+ *
+ */
+ (rPBAFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** PBAFIR[61]
+ *
+ */
+ (rPBAFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** PBAFIR[62]
+ *
+ */
+ (rPBAFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** PBAFIR[63]
+ *
+ */
+ (rPBAFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+################################################################################
+# P9 chip PSIHBFIR
+################################################################################
+
+rule rPSIHBFIR
+{
+ CHECK_STOP:
+ PSIHBFIR & ~PSIHBFIR_MASK & ~PSIHBFIR_ACT0 & ~PSIHBFIR_ACT1;
+ RECOVERABLE:
+ PSIHBFIR & ~PSIHBFIR_MASK & ~PSIHBFIR_ACT0 & PSIHBFIR_ACT1;
+};
+
+group gPSIHBFIR filter singlebit
+{
+ /** PSIHBFIR[0]
+ *
+ */
+ (rPSIHBFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[1]
+ *
+ */
+ (rPSIHBFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[2]
+ *
+ */
+ (rPSIHBFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[3]
+ *
+ */
+ (rPSIHBFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[4]
+ *
+ */
+ (rPSIHBFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[5]
+ *
+ */
+ (rPSIHBFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[6]
+ *
+ */
+ (rPSIHBFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[7]
+ *
+ */
+ (rPSIHBFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[8]
+ *
+ */
+ (rPSIHBFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[9]
+ *
+ */
+ (rPSIHBFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[10]
+ *
+ */
+ (rPSIHBFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[11]
+ *
+ */
+ (rPSIHBFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[12]
+ *
+ */
+ (rPSIHBFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[13]
+ *
+ */
+ (rPSIHBFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[14]
+ *
+ */
+ (rPSIHBFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[15]
+ *
+ */
+ (rPSIHBFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[16]
+ *
+ */
+ (rPSIHBFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[17]
+ *
+ */
+ (rPSIHBFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[18]
+ *
+ */
+ (rPSIHBFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[19]
+ *
+ */
+ (rPSIHBFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[20]
+ *
+ */
+ (rPSIHBFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[21]
+ *
+ */
+ (rPSIHBFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[22]
+ *
+ */
+ (rPSIHBFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[23]
+ *
+ */
+ (rPSIHBFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[24]
+ *
+ */
+ (rPSIHBFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[25]
+ *
+ */
+ (rPSIHBFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[26]
+ *
+ */
+ (rPSIHBFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[27]
+ *
+ */
+ (rPSIHBFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[28]
+ *
+ */
+ (rPSIHBFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[29]
+ *
+ */
+ (rPSIHBFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[30]
+ *
+ */
+ (rPSIHBFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[31]
+ *
+ */
+ (rPSIHBFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[32]
+ *
+ */
+ (rPSIHBFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[33]
+ *
+ */
+ (rPSIHBFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[34]
+ *
+ */
+ (rPSIHBFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[35]
+ *
+ */
+ (rPSIHBFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[36]
+ *
+ */
+ (rPSIHBFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[37]
+ *
+ */
+ (rPSIHBFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[38]
+ *
+ */
+ (rPSIHBFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[39]
+ *
+ */
+ (rPSIHBFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[40]
+ *
+ */
+ (rPSIHBFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[41]
+ *
+ */
+ (rPSIHBFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[42]
+ *
+ */
+ (rPSIHBFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[43]
+ *
+ */
+ (rPSIHBFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[44]
+ *
+ */
+ (rPSIHBFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[45]
+ *
+ */
+ (rPSIHBFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[46]
+ *
+ */
+ (rPSIHBFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[47]
+ *
+ */
+ (rPSIHBFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[48]
+ *
+ */
+ (rPSIHBFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[49]
+ *
+ */
+ (rPSIHBFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[50]
+ *
+ */
+ (rPSIHBFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[51]
+ *
+ */
+ (rPSIHBFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[52]
+ *
+ */
+ (rPSIHBFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[53]
+ *
+ */
+ (rPSIHBFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[54]
+ *
+ */
+ (rPSIHBFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[55]
+ *
+ */
+ (rPSIHBFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[56]
+ *
+ */
+ (rPSIHBFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[57]
+ *
+ */
+ (rPSIHBFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[58]
+ *
+ */
+ (rPSIHBFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[59]
+ *
+ */
+ (rPSIHBFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[60]
+ *
+ */
+ (rPSIHBFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[61]
+ *
+ */
+ (rPSIHBFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[62]
+ *
+ */
+ (rPSIHBFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** PSIHBFIR[63]
+ *
+ */
+ (rPSIHBFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+################################################################################
+# P9 chip PBAMFIR
+################################################################################
+
+rule rPBAMFIR
+{
+ CHECK_STOP:
+ PBAMFIR & ~PBAMFIR_MASK & ~PBAMFIR_ACT0 & ~PBAMFIR_ACT1;
+ RECOVERABLE:
+ PBAMFIR & ~PBAMFIR_MASK & ~PBAMFIR_ACT0 & PBAMFIR_ACT1;
+};
+
+group gPBAMFIR filter singlebit
+{
+ /** PBAMFIR[0]
+ *
+ */
+ (rPBAMFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[1]
+ *
+ */
+ (rPBAMFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[2]
+ *
+ */
+ (rPBAMFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[3]
+ *
+ */
+ (rPBAMFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[4]
+ *
+ */
+ (rPBAMFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[5]
+ *
+ */
+ (rPBAMFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[6]
+ *
+ */
+ (rPBAMFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[7]
+ *
+ */
+ (rPBAMFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[8]
+ *
+ */
+ (rPBAMFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[9]
+ *
+ */
+ (rPBAMFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[10]
+ *
+ */
+ (rPBAMFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[11]
+ *
+ */
+ (rPBAMFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[12]
+ *
+ */
+ (rPBAMFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[13]
+ *
+ */
+ (rPBAMFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[14]
+ *
+ */
+ (rPBAMFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[15]
+ *
+ */
+ (rPBAMFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[16]
+ *
+ */
+ (rPBAMFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[17]
+ *
+ */
+ (rPBAMFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[18]
+ *
+ */
+ (rPBAMFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[19]
+ *
+ */
+ (rPBAMFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[20]
+ *
+ */
+ (rPBAMFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[21]
+ *
+ */
+ (rPBAMFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[22]
+ *
+ */
+ (rPBAMFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[23]
+ *
+ */
+ (rPBAMFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[24]
+ *
+ */
+ (rPBAMFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[25]
+ *
+ */
+ (rPBAMFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[26]
+ *
+ */
+ (rPBAMFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[27]
+ *
+ */
+ (rPBAMFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[28]
+ *
+ */
+ (rPBAMFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[29]
+ *
+ */
+ (rPBAMFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[30]
+ *
+ */
+ (rPBAMFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[31]
+ *
+ */
+ (rPBAMFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[32]
+ *
+ */
+ (rPBAMFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[33]
+ *
+ */
+ (rPBAMFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[34]
+ *
+ */
+ (rPBAMFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[35]
+ *
+ */
+ (rPBAMFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[36]
+ *
+ */
+ (rPBAMFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[37]
+ *
+ */
+ (rPBAMFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[38]
+ *
+ */
+ (rPBAMFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[39]
+ *
+ */
+ (rPBAMFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[40]
+ *
+ */
+ (rPBAMFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[41]
+ *
+ */
+ (rPBAMFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[42]
+ *
+ */
+ (rPBAMFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[43]
+ *
+ */
+ (rPBAMFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[44]
+ *
+ */
+ (rPBAMFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[45]
+ *
+ */
+ (rPBAMFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[46]
+ *
+ */
+ (rPBAMFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[47]
+ *
+ */
+ (rPBAMFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[48]
+ *
+ */
+ (rPBAMFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[49]
+ *
+ */
+ (rPBAMFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[50]
+ *
+ */
+ (rPBAMFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[51]
+ *
+ */
+ (rPBAMFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[52]
+ *
+ */
+ (rPBAMFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[53]
+ *
+ */
+ (rPBAMFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[54]
+ *
+ */
+ (rPBAMFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[55]
+ *
+ */
+ (rPBAMFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[56]
+ *
+ */
+ (rPBAMFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[57]
+ *
+ */
+ (rPBAMFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[58]
+ *
+ */
+ (rPBAMFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[59]
+ *
+ */
+ (rPBAMFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[60]
+ *
+ */
+ (rPBAMFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[61]
+ *
+ */
+ (rPBAMFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[62]
+ *
+ */
+ (rPBAMFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** PBAMFIR[63]
+ *
+ */
+ (rPBAMFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+################################################################################
+# P9 chip PBICQFIR
+################################################################################
+
+rule rPBICQFIR
+{
+ CHECK_STOP:
+ PBICQFIR & ~PBICQFIR_MASK & ~PBICQFIR_ACT0 & ~PBICQFIR_ACT1;
+ RECOVERABLE:
+ PBICQFIR & ~PBICQFIR_MASK & ~PBICQFIR_ACT0 & PBICQFIR_ACT1;
+};
+
+group gPBICQFIR filter singlebit
+{
+ /** PBICQFIR[0]
+ *
+ */
+ (rPBICQFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[1]
+ *
+ */
+ (rPBICQFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[2]
+ *
+ */
+ (rPBICQFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[3]
+ *
+ */
+ (rPBICQFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[4]
+ *
+ */
+ (rPBICQFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[5]
+ *
+ */
+ (rPBICQFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[6]
+ *
+ */
+ (rPBICQFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[7]
+ *
+ */
+ (rPBICQFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[8]
+ *
+ */
+ (rPBICQFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[9]
+ *
+ */
+ (rPBICQFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[10]
+ *
+ */
+ (rPBICQFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[11]
+ *
+ */
+ (rPBICQFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[12]
+ *
+ */
+ (rPBICQFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[13]
+ *
+ */
+ (rPBICQFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[14]
+ *
+ */
+ (rPBICQFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[15]
+ *
+ */
+ (rPBICQFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[16]
+ *
+ */
+ (rPBICQFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[17]
+ *
+ */
+ (rPBICQFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[18]
+ *
+ */
+ (rPBICQFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[19]
+ *
+ */
+ (rPBICQFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[20]
+ *
+ */
+ (rPBICQFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[21]
+ *
+ */
+ (rPBICQFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[22]
+ *
+ */
+ (rPBICQFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[23]
+ *
+ */
+ (rPBICQFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[24]
+ *
+ */
+ (rPBICQFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[25]
+ *
+ */
+ (rPBICQFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[26]
+ *
+ */
+ (rPBICQFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[27]
+ *
+ */
+ (rPBICQFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[28]
+ *
+ */
+ (rPBICQFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[29]
+ *
+ */
+ (rPBICQFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[30]
+ *
+ */
+ (rPBICQFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[31]
+ *
+ */
+ (rPBICQFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[32]
+ *
+ */
+ (rPBICQFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[33]
+ *
+ */
+ (rPBICQFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[34]
+ *
+ */
+ (rPBICQFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[35]
+ *
+ */
+ (rPBICQFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[36]
+ *
+ */
+ (rPBICQFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[37]
+ *
+ */
+ (rPBICQFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[38]
+ *
+ */
+ (rPBICQFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[39]
+ *
+ */
+ (rPBICQFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[40]
+ *
+ */
+ (rPBICQFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[41]
+ *
+ */
+ (rPBICQFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[42]
+ *
+ */
+ (rPBICQFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[43]
+ *
+ */
+ (rPBICQFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[44]
+ *
+ */
+ (rPBICQFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[45]
+ *
+ */
+ (rPBICQFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[46]
+ *
+ */
+ (rPBICQFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[47]
+ *
+ */
+ (rPBICQFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[48]
+ *
+ */
+ (rPBICQFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[49]
+ *
+ */
+ (rPBICQFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[50]
+ *
+ */
+ (rPBICQFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[51]
+ *
+ */
+ (rPBICQFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[52]
+ *
+ */
+ (rPBICQFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[53]
+ *
+ */
+ (rPBICQFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[54]
+ *
+ */
+ (rPBICQFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[55]
+ *
+ */
+ (rPBICQFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[56]
+ *
+ */
+ (rPBICQFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[57]
+ *
+ */
+ (rPBICQFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[58]
+ *
+ */
+ (rPBICQFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[59]
+ *
+ */
+ (rPBICQFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[60]
+ *
+ */
+ (rPBICQFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[61]
+ *
+ */
+ (rPBICQFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[62]
+ *
+ */
+ (rPBICQFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** PBICQFIR[63]
+ *
+ */
+ (rPBICQFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+################################################################################
+# P9 chip INTCQFIR
+################################################################################
+
+rule rINTCQFIR
+{
+ CHECK_STOP:
+ INTCQFIR & ~INTCQFIR_MASK & ~INTCQFIR_ACT0 & ~INTCQFIR_ACT1;
+ RECOVERABLE:
+ INTCQFIR & ~INTCQFIR_MASK & ~INTCQFIR_ACT0 & INTCQFIR_ACT1;
+};
+
+group gINTCQFIR filter singlebit
+{
+ /** INTCQFIR[0]
+ *
+ */
+ (rINTCQFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[1]
+ *
+ */
+ (rINTCQFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[2]
+ *
+ */
+ (rINTCQFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[3]
+ *
+ */
+ (rINTCQFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[4]
+ *
+ */
+ (rINTCQFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[5]
+ *
+ */
+ (rINTCQFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[6]
+ *
+ */
+ (rINTCQFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[7]
+ *
+ */
+ (rINTCQFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[8]
+ *
+ */
+ (rINTCQFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[9]
+ *
+ */
+ (rINTCQFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[10]
+ *
+ */
+ (rINTCQFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[11]
+ *
+ */
+ (rINTCQFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[12]
+ *
+ */
+ (rINTCQFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[13]
+ *
+ */
+ (rINTCQFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[14]
+ *
+ */
+ (rINTCQFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[15]
+ *
+ */
+ (rINTCQFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[16]
+ *
+ */
+ (rINTCQFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[17]
+ *
+ */
+ (rINTCQFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[18]
+ *
+ */
+ (rINTCQFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[19]
+ *
+ */
+ (rINTCQFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[20]
+ *
+ */
+ (rINTCQFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[21]
+ *
+ */
+ (rINTCQFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[22]
+ *
+ */
+ (rINTCQFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[23]
+ *
+ */
+ (rINTCQFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[24]
+ *
+ */
+ (rINTCQFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[25]
+ *
+ */
+ (rINTCQFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[26]
+ *
+ */
+ (rINTCQFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[27]
+ *
+ */
+ (rINTCQFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[28]
+ *
+ */
+ (rINTCQFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[29]
+ *
+ */
+ (rINTCQFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[30]
+ *
+ */
+ (rINTCQFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[31]
+ *
+ */
+ (rINTCQFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[32]
+ *
+ */
+ (rINTCQFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[33]
+ *
+ */
+ (rINTCQFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[34]
+ *
+ */
+ (rINTCQFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[35]
+ *
+ */
+ (rINTCQFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[36]
+ *
+ */
+ (rINTCQFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[37]
+ *
+ */
+ (rINTCQFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[38]
+ *
+ */
+ (rINTCQFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[39]
+ *
+ */
+ (rINTCQFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[40]
+ *
+ */
+ (rINTCQFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[41]
+ *
+ */
+ (rINTCQFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[42]
+ *
+ */
+ (rINTCQFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[43]
+ *
+ */
+ (rINTCQFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[44]
+ *
+ */
+ (rINTCQFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[45]
+ *
+ */
+ (rINTCQFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[46]
+ *
+ */
+ (rINTCQFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[47]
+ *
+ */
+ (rINTCQFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[48]
+ *
+ */
+ (rINTCQFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[49]
+ *
+ */
+ (rINTCQFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[50]
+ *
+ */
+ (rINTCQFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[51]
+ *
+ */
+ (rINTCQFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[52]
+ *
+ */
+ (rINTCQFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[53]
+ *
+ */
+ (rINTCQFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[54]
+ *
+ */
+ (rINTCQFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[55]
+ *
+ */
+ (rINTCQFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[56]
+ *
+ */
+ (rINTCQFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[57]
+ *
+ */
+ (rINTCQFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[58]
+ *
+ */
+ (rINTCQFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[59]
+ *
+ */
+ (rINTCQFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[60]
+ *
+ */
+ (rINTCQFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[61]
+ *
+ */
+ (rINTCQFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[62]
+ *
+ */
+ (rINTCQFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** INTCQFIR[63]
+ *
+ */
+ (rINTCQFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+################################################################################
+# P9 chip PBIOEFIR
+################################################################################
+
+rule rPBIOEFIR
+{
+ CHECK_STOP:
+ PBIOEFIR & ~PBIOEFIR_MASK & ~PBIOEFIR_ACT0 & ~PBIOEFIR_ACT1;
+ RECOVERABLE:
+ PBIOEFIR & ~PBIOEFIR_MASK & ~PBIOEFIR_ACT0 & PBIOEFIR_ACT1;
+};
+
+group gPBIOEFIR filter singlebit
+{
+ /** PBIOEFIR[0]
+ *
+ */
+ (rPBIOEFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[1]
+ *
+ */
+ (rPBIOEFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[2]
+ *
+ */
+ (rPBIOEFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[3]
+ *
+ */
+ (rPBIOEFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[4]
+ *
+ */
+ (rPBIOEFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[5]
+ *
+ */
+ (rPBIOEFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[6]
+ *
+ */
+ (rPBIOEFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[7]
+ *
+ */
+ (rPBIOEFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[8]
+ *
+ */
+ (rPBIOEFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[9]
+ *
+ */
+ (rPBIOEFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[10]
+ *
+ */
+ (rPBIOEFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[11]
+ *
+ */
+ (rPBIOEFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[12]
+ *
+ */
+ (rPBIOEFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[13]
+ *
+ */
+ (rPBIOEFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[14]
+ *
+ */
+ (rPBIOEFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[15]
+ *
+ */
+ (rPBIOEFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[16]
+ *
+ */
+ (rPBIOEFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[17]
+ *
+ */
+ (rPBIOEFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[18]
+ *
+ */
+ (rPBIOEFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[19]
+ *
+ */
+ (rPBIOEFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[20]
+ *
+ */
+ (rPBIOEFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[21]
+ *
+ */
+ (rPBIOEFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[22]
+ *
+ */
+ (rPBIOEFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[23]
+ *
+ */
+ (rPBIOEFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[24]
+ *
+ */
+ (rPBIOEFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[25]
+ *
+ */
+ (rPBIOEFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[26]
+ *
+ */
+ (rPBIOEFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[27]
+ *
+ */
+ (rPBIOEFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[28]
+ *
+ */
+ (rPBIOEFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[29]
+ *
+ */
+ (rPBIOEFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[30]
+ *
+ */
+ (rPBIOEFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[31]
+ *
+ */
+ (rPBIOEFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[32]
+ *
+ */
+ (rPBIOEFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[33]
+ *
+ */
+ (rPBIOEFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[34]
+ *
+ */
+ (rPBIOEFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[35]
+ *
+ */
+ (rPBIOEFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[36]
+ *
+ */
+ (rPBIOEFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[37]
+ *
+ */
+ (rPBIOEFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[38]
+ *
+ */
+ (rPBIOEFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[39]
+ *
+ */
+ (rPBIOEFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[40]
+ *
+ */
+ (rPBIOEFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[41]
+ *
+ */
+ (rPBIOEFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[42]
+ *
+ */
+ (rPBIOEFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[43]
+ *
+ */
+ (rPBIOEFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[44]
+ *
+ */
+ (rPBIOEFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[45]
+ *
+ */
+ (rPBIOEFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[46]
+ *
+ */
+ (rPBIOEFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[47]
+ *
+ */
+ (rPBIOEFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[48]
+ *
+ */
+ (rPBIOEFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[49]
+ *
+ */
+ (rPBIOEFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[50]
+ *
+ */
+ (rPBIOEFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[51]
+ *
+ */
+ (rPBIOEFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[52]
+ *
+ */
+ (rPBIOEFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[53]
+ *
+ */
+ (rPBIOEFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[54]
+ *
+ */
+ (rPBIOEFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[55]
+ *
+ */
+ (rPBIOEFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[56]
+ *
+ */
+ (rPBIOEFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[57]
+ *
+ */
+ (rPBIOEFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[58]
+ *
+ */
+ (rPBIOEFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[59]
+ *
+ */
+ (rPBIOEFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[60]
+ *
+ */
+ (rPBIOEFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[61]
+ *
+ */
+ (rPBIOEFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[62]
+ *
+ */
+ (rPBIOEFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** PBIOEFIR[63]
+ *
+ */
+ (rPBIOEFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+################################################################################
+# P9 chip PBIOOFIR
+################################################################################
+
+rule rPBIOOFIR
+{
+ CHECK_STOP:
+ PBIOOFIR & ~PBIOOFIR_MASK & ~PBIOOFIR_ACT0 & ~PBIOOFIR_ACT1;
+ RECOVERABLE:
+ PBIOOFIR & ~PBIOOFIR_MASK & ~PBIOOFIR_ACT0 & PBIOOFIR_ACT1;
+};
+
+group gPBIOOFIR filter singlebit
+{
+ /** PBIOOFIR[0]
+ *
+ */
+ (rPBIOOFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[1]
+ *
+ */
+ (rPBIOOFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[2]
+ *
+ */
+ (rPBIOOFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[3]
+ *
+ */
+ (rPBIOOFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[4]
+ *
+ */
+ (rPBIOOFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[5]
+ *
+ */
+ (rPBIOOFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[6]
+ *
+ */
+ (rPBIOOFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[7]
+ *
+ */
+ (rPBIOOFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[8]
+ *
+ */
+ (rPBIOOFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[9]
+ *
+ */
+ (rPBIOOFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[10]
+ *
+ */
+ (rPBIOOFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[11]
+ *
+ */
+ (rPBIOOFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[12]
+ *
+ */
+ (rPBIOOFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[13]
+ *
+ */
+ (rPBIOOFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[14]
+ *
+ */
+ (rPBIOOFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[15]
+ *
+ */
+ (rPBIOOFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[16]
+ *
+ */
+ (rPBIOOFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[17]
+ *
+ */
+ (rPBIOOFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[18]
+ *
+ */
+ (rPBIOOFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[19]
+ *
+ */
+ (rPBIOOFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[20]
+ *
+ */
+ (rPBIOOFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[21]
+ *
+ */
+ (rPBIOOFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[22]
+ *
+ */
+ (rPBIOOFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[23]
+ *
+ */
+ (rPBIOOFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[24]
+ *
+ */
+ (rPBIOOFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[25]
+ *
+ */
+ (rPBIOOFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[26]
+ *
+ */
+ (rPBIOOFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[27]
+ *
+ */
+ (rPBIOOFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[28]
+ *
+ */
+ (rPBIOOFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[29]
+ *
+ */
+ (rPBIOOFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[30]
+ *
+ */
+ (rPBIOOFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[31]
+ *
+ */
+ (rPBIOOFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[32]
+ *
+ */
+ (rPBIOOFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[33]
+ *
+ */
+ (rPBIOOFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[34]
+ *
+ */
+ (rPBIOOFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[35]
+ *
+ */
+ (rPBIOOFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[36]
+ *
+ */
+ (rPBIOOFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[37]
+ *
+ */
+ (rPBIOOFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[38]
+ *
+ */
+ (rPBIOOFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[39]
+ *
+ */
+ (rPBIOOFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[40]
+ *
+ */
+ (rPBIOOFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[41]
+ *
+ */
+ (rPBIOOFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[42]
+ *
+ */
+ (rPBIOOFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[43]
+ *
+ */
+ (rPBIOOFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[44]
+ *
+ */
+ (rPBIOOFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[45]
+ *
+ */
+ (rPBIOOFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[46]
+ *
+ */
+ (rPBIOOFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[47]
+ *
+ */
+ (rPBIOOFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[48]
+ *
+ */
+ (rPBIOOFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[49]
+ *
+ */
+ (rPBIOOFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[50]
+ *
+ */
+ (rPBIOOFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[51]
+ *
+ */
+ (rPBIOOFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[52]
+ *
+ */
+ (rPBIOOFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[53]
+ *
+ */
+ (rPBIOOFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[54]
+ *
+ */
+ (rPBIOOFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[55]
+ *
+ */
+ (rPBIOOFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[56]
+ *
+ */
+ (rPBIOOFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[57]
+ *
+ */
+ (rPBIOOFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[58]
+ *
+ */
+ (rPBIOOFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[59]
+ *
+ */
+ (rPBIOOFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[60]
+ *
+ */
+ (rPBIOOFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[61]
+ *
+ */
+ (rPBIOOFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[62]
+ *
+ */
+ (rPBIOOFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** PBIOOFIR[63]
+ *
+ */
+ (rPBIOOFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+################################################################################
+# XB Chiplet FIR
+################################################################################
+
+rule rXB_CHIPLET_FIR
+{
+ CHECK_STOP:
+ XB_CHIPLET_CS_FIR & ~XB_CHIPLET_FIR_MASK & `1fffffffffffffff`;
+ RECOVERABLE:
+ (XB_CHIPLET_RE_FIR >> 2) & ~XB_CHIPLET_FIR_MASK & `1fffffffffffffff`;
+};
+
+group gXB_CHIPLET_FIR filter singlebit
+{
+ /** XB_CHIPLET_FIR[3]
+ * Attention from XB_LFIR
+ */
+ (rXB_CHIPLET_FIR, bit(3)) ? analyze(gXB_LFIR);
+
+ /** XB_CHIPLET_FIR[5]
+ * Attention from IOELFIR 1
+ */
+ (rXB_CHIPLET_FIR, bit(5)) ? analyzeConnectedXBUS1;
+
+ /** XB_CHIPLET_FIR[6]
+ * Attention from IOELFIR 2
+ */
+ (rXB_CHIPLET_FIR, bit(6)) ? analyzeConnectedXBUS2;
+
+};
+
+################################################################################
+# P9 chip XB_LFIR
+################################################################################
+
+rule rXB_LFIR
+{
+ CHECK_STOP:
+ XB_LFIR & ~XB_LFIR_MASK & ~XB_LFIR_ACT0 & ~XB_LFIR_ACT1;
+ RECOVERABLE:
+ XB_LFIR & ~XB_LFIR_MASK & ~XB_LFIR_ACT0 & XB_LFIR_ACT1;
+};
+
+group gXB_LFIR filter singlebit
+{
+ /** XB_LFIR[0]
+ *
+ */
+ (rXB_LFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[1]
+ *
+ */
+ (rXB_LFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[2]
+ *
+ */
+ (rXB_LFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[3]
+ *
+ */
+ (rXB_LFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[4]
+ *
+ */
+ (rXB_LFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[5]
+ *
+ */
+ (rXB_LFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[6]
+ *
+ */
+ (rXB_LFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[7]
+ *
+ */
+ (rXB_LFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[8]
+ *
+ */
+ (rXB_LFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[9]
+ *
+ */
+ (rXB_LFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[10]
+ *
+ */
+ (rXB_LFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[11]
+ *
+ */
+ (rXB_LFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[12]
+ *
+ */
+ (rXB_LFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[13]
+ *
+ */
+ (rXB_LFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[14]
+ *
+ */
+ (rXB_LFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[15]
+ *
+ */
+ (rXB_LFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[16]
+ *
+ */
+ (rXB_LFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[17]
+ *
+ */
+ (rXB_LFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[18]
+ *
+ */
+ (rXB_LFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[19]
+ *
+ */
+ (rXB_LFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[20]
+ *
+ */
+ (rXB_LFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[21]
+ *
+ */
+ (rXB_LFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[22]
+ *
+ */
+ (rXB_LFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[23]
+ *
+ */
+ (rXB_LFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[24]
+ *
+ */
+ (rXB_LFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[25]
+ *
+ */
+ (rXB_LFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[26]
+ *
+ */
+ (rXB_LFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[27]
+ *
+ */
+ (rXB_LFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[28]
+ *
+ */
+ (rXB_LFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[29]
+ *
+ */
+ (rXB_LFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[30]
+ *
+ */
+ (rXB_LFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[31]
+ *
+ */
+ (rXB_LFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[32]
+ *
+ */
+ (rXB_LFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[33]
+ *
+ */
+ (rXB_LFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[34]
+ *
+ */
+ (rXB_LFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[35]
+ *
+ */
+ (rXB_LFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[36]
+ *
+ */
+ (rXB_LFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[37]
+ *
+ */
+ (rXB_LFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[38]
+ *
+ */
+ (rXB_LFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[39]
+ *
+ */
+ (rXB_LFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[40]
+ *
+ */
+ (rXB_LFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[41]
+ *
+ */
+ (rXB_LFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[42]
+ *
+ */
+ (rXB_LFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[43]
+ *
+ */
+ (rXB_LFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[44]
+ *
+ */
+ (rXB_LFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[45]
+ *
+ */
+ (rXB_LFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[46]
+ *
+ */
+ (rXB_LFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[47]
+ *
+ */
+ (rXB_LFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[48]
+ *
+ */
+ (rXB_LFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[49]
+ *
+ */
+ (rXB_LFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[50]
+ *
+ */
+ (rXB_LFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[51]
+ *
+ */
+ (rXB_LFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[52]
+ *
+ */
+ (rXB_LFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[53]
+ *
+ */
+ (rXB_LFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[54]
+ *
+ */
+ (rXB_LFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[55]
+ *
+ */
+ (rXB_LFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[56]
+ *
+ */
+ (rXB_LFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[57]
+ *
+ */
+ (rXB_LFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[58]
+ *
+ */
+ (rXB_LFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[59]
+ *
+ */
+ (rXB_LFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[60]
+ *
+ */
+ (rXB_LFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[61]
+ *
+ */
+ (rXB_LFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[62]
+ *
+ */
+ (rXB_LFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** XB_LFIR[63]
+ *
+ */
+ (rXB_LFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+################################################################################
+# MC0 Chiplet FIR
+################################################################################
+
+rule rMC0_CHIPLET_FIR
+{
+ CHECK_STOP:
+ MC0_CHIPLET_CS_FIR & ~MC0_CHIPLET_FIR_MASK & `1fffffffffffffff`;
+ RECOVERABLE:
+ (MC0_CHIPLET_RE_FIR >> 2) & ~MC0_CHIPLET_FIR_MASK & `1fffffffffffffff`;
+};
+
+group gMC0_CHIPLET_FIR filter singlebit
+{
+ /** MC0_CHIPLET_FIR[3]
+ * Attention from MC_LFIR
+ */
+ (rMC0_CHIPLET_FIR, bit(3)) ? analyze(gMC_LFIR_0);
+
+ /** MC0_CHIPLET_FIR[4]
+ * Attention from MCAECCFIR 0
+ */
+ (rMC0_CHIPLET_FIR, bit(4)) ? analyzeConnectedMCA0;
+
+ /** MC0_CHIPLET_FIR[5]
+ * Attention from MCACALFIR 0
+ */
+ (rMC0_CHIPLET_FIR, bit(5)) ? analyzeConnectedMCA0;
+
+ /** MC0_CHIPLET_FIR[6]
+ * Attention from MCAECCFIR 1
+ */
+ (rMC0_CHIPLET_FIR, bit(6)) ? analyzeConnectedMCA1;
+
+ /** MC0_CHIPLET_FIR[7]
+ * Attention from MCACALFIR 1
+ */
+ (rMC0_CHIPLET_FIR, bit(7)) ? analyzeConnectedMCA1;
+
+ /** MC0_CHIPLET_FIR[8]
+ * Attention from MCAECCFIR 2
+ */
+ (rMC0_CHIPLET_FIR, bit(8)) ? analyzeConnectedMCA2;
+
+ /** MC0_CHIPLET_FIR[9]
+ * Attention from MCACALFIR 2
+ */
+ (rMC0_CHIPLET_FIR, bit(9)) ? analyzeConnectedMCA2;
+
+ /** MC0_CHIPLET_FIR[10]
+ * Attention from MCAECCFIR 3
+ */
+ (rMC0_CHIPLET_FIR, bit(10)) ? analyzeConnectedMCA3;
+
+ /** MC0_CHIPLET_FIR[11]
+ * Attention from MCACALFIR 3
+ */
+ (rMC0_CHIPLET_FIR, bit(11)) ? analyzeConnectedMCA3;
+
+ /** MC0_CHIPLET_FIR[12]
+ * Attention from MCBISTFIR 0
+ */
+ (rMC0_CHIPLET_FIR, bit(12)) ? analyzeConnectedMCBIST0;
+
+};
+
+################################################################################
+# P9 chip MC_LFIR 0
+################################################################################
+
+rule rMC_LFIR_0
+{
+ CHECK_STOP:
+ MC_LFIR_0 & ~MC_LFIR_0_MASK & ~MC_LFIR_0_ACT0 & ~MC_LFIR_0_ACT1;
+ RECOVERABLE:
+ MC_LFIR_0 & ~MC_LFIR_0_MASK & ~MC_LFIR_0_ACT0 & MC_LFIR_0_ACT1;
+};
+
+group gMC_LFIR_0 filter singlebit
+{
+ /** MC_LFIR_0[0]
+ *
+ */
+ (rMC_LFIR_0, bit(0)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[1]
+ *
+ */
+ (rMC_LFIR_0, bit(1)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[2]
+ *
+ */
+ (rMC_LFIR_0, bit(2)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[3]
+ *
+ */
+ (rMC_LFIR_0, bit(3)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[4]
+ *
+ */
+ (rMC_LFIR_0, bit(4)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[5]
+ *
+ */
+ (rMC_LFIR_0, bit(5)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[6]
+ *
+ */
+ (rMC_LFIR_0, bit(6)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[7]
+ *
+ */
+ (rMC_LFIR_0, bit(7)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[8]
+ *
+ */
+ (rMC_LFIR_0, bit(8)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[9]
+ *
+ */
+ (rMC_LFIR_0, bit(9)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[10]
+ *
+ */
+ (rMC_LFIR_0, bit(10)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[11]
+ *
+ */
+ (rMC_LFIR_0, bit(11)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[12]
+ *
+ */
+ (rMC_LFIR_0, bit(12)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[13]
+ *
+ */
+ (rMC_LFIR_0, bit(13)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[14]
+ *
+ */
+ (rMC_LFIR_0, bit(14)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[15]
+ *
+ */
+ (rMC_LFIR_0, bit(15)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[16]
+ *
+ */
+ (rMC_LFIR_0, bit(16)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[17]
+ *
+ */
+ (rMC_LFIR_0, bit(17)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[18]
+ *
+ */
+ (rMC_LFIR_0, bit(18)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[19]
+ *
+ */
+ (rMC_LFIR_0, bit(19)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[20]
+ *
+ */
+ (rMC_LFIR_0, bit(20)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[21]
+ *
+ */
+ (rMC_LFIR_0, bit(21)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[22]
+ *
+ */
+ (rMC_LFIR_0, bit(22)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[23]
+ *
+ */
+ (rMC_LFIR_0, bit(23)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[24]
+ *
+ */
+ (rMC_LFIR_0, bit(24)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[25]
+ *
+ */
+ (rMC_LFIR_0, bit(25)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[26]
+ *
+ */
+ (rMC_LFIR_0, bit(26)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[27]
+ *
+ */
+ (rMC_LFIR_0, bit(27)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[28]
+ *
+ */
+ (rMC_LFIR_0, bit(28)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[29]
+ *
+ */
+ (rMC_LFIR_0, bit(29)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[30]
+ *
+ */
+ (rMC_LFIR_0, bit(30)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[31]
+ *
+ */
+ (rMC_LFIR_0, bit(31)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[32]
+ *
+ */
+ (rMC_LFIR_0, bit(32)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[33]
+ *
+ */
+ (rMC_LFIR_0, bit(33)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[34]
+ *
+ */
+ (rMC_LFIR_0, bit(34)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[35]
+ *
+ */
+ (rMC_LFIR_0, bit(35)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[36]
+ *
+ */
+ (rMC_LFIR_0, bit(36)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[37]
+ *
+ */
+ (rMC_LFIR_0, bit(37)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[38]
+ *
+ */
+ (rMC_LFIR_0, bit(38)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[39]
+ *
+ */
+ (rMC_LFIR_0, bit(39)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[40]
+ *
+ */
+ (rMC_LFIR_0, bit(40)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[41]
+ *
+ */
+ (rMC_LFIR_0, bit(41)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[42]
+ *
+ */
+ (rMC_LFIR_0, bit(42)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[43]
+ *
+ */
+ (rMC_LFIR_0, bit(43)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[44]
+ *
+ */
+ (rMC_LFIR_0, bit(44)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[45]
+ *
+ */
+ (rMC_LFIR_0, bit(45)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[46]
+ *
+ */
+ (rMC_LFIR_0, bit(46)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[47]
+ *
+ */
+ (rMC_LFIR_0, bit(47)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[48]
+ *
+ */
+ (rMC_LFIR_0, bit(48)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[49]
+ *
+ */
+ (rMC_LFIR_0, bit(49)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[50]
+ *
+ */
+ (rMC_LFIR_0, bit(50)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[51]
+ *
+ */
+ (rMC_LFIR_0, bit(51)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[52]
+ *
+ */
+ (rMC_LFIR_0, bit(52)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[53]
+ *
+ */
+ (rMC_LFIR_0, bit(53)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[54]
+ *
+ */
+ (rMC_LFIR_0, bit(54)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[55]
+ *
+ */
+ (rMC_LFIR_0, bit(55)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[56]
+ *
+ */
+ (rMC_LFIR_0, bit(56)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[57]
+ *
+ */
+ (rMC_LFIR_0, bit(57)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[58]
+ *
+ */
+ (rMC_LFIR_0, bit(58)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[59]
+ *
+ */
+ (rMC_LFIR_0, bit(59)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[60]
+ *
+ */
+ (rMC_LFIR_0, bit(60)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[61]
+ *
+ */
+ (rMC_LFIR_0, bit(61)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[62]
+ *
+ */
+ (rMC_LFIR_0, bit(62)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_0[63]
+ *
+ */
+ (rMC_LFIR_0, bit(63)) ? TBDDefaultCallout;
+
+};
+
+################################################################################
+# MC1 Chiplet FIR
+################################################################################
+
+rule rMC1_CHIPLET_FIR
+{
+ CHECK_STOP:
+ MC1_CHIPLET_CS_FIR & ~MC1_CHIPLET_FIR_MASK & `1fffffffffffffff`;
+ RECOVERABLE:
+ (MC1_CHIPLET_RE_FIR >> 2) & ~MC1_CHIPLET_FIR_MASK & `1fffffffffffffff`;
+};
+
+group gMC1_CHIPLET_FIR filter singlebit
+{
+ /** MC1_CHIPLET_FIR[3]
+ * Attention from MC_LFIR
+ */
+ (rMC1_CHIPLET_FIR, bit(3)) ? analyze(gMC_LFIR_1);
+
+ /** MC1_CHIPLET_FIR[4]
+ * Attention from MCAECCFIR 4
+ */
+ (rMC1_CHIPLET_FIR, bit(4)) ? analyzeConnectedMCA4;
+
+ /** MC1_CHIPLET_FIR[5]
+ * Attention from MCACALFIR 4
+ */
+ (rMC1_CHIPLET_FIR, bit(5)) ? analyzeConnectedMCA4;
+
+ /** MC1_CHIPLET_FIR[6]
+ * Attention from MCAECCFIR 5
+ */
+ (rMC1_CHIPLET_FIR, bit(6)) ? analyzeConnectedMCA5;
+
+ /** MC1_CHIPLET_FIR[7]
+ * Attention from MCACALFIR 5
+ */
+ (rMC1_CHIPLET_FIR, bit(7)) ? analyzeConnectedMCA5;
+
+ /** MC1_CHIPLET_FIR[8]
+ * Attention from MCAECCFIR 6
+ */
+ (rMC1_CHIPLET_FIR, bit(8)) ? analyzeConnectedMCA6;
+
+ /** MC1_CHIPLET_FIR[9]
+ * Attention from MCACALFIR 6
+ */
+ (rMC1_CHIPLET_FIR, bit(9)) ? analyzeConnectedMCA6;
+
+ /** MC1_CHIPLET_FIR[10]
+ * Attention from MCAECCFIR 7
+ */
+ (rMC1_CHIPLET_FIR, bit(10)) ? analyzeConnectedMCA7;
+
+ /** MC1_CHIPLET_FIR[11]
+ * Attention from MCACALFIR 7
+ */
+ (rMC1_CHIPLET_FIR, bit(11)) ? analyzeConnectedMCA7;
+
+ /** MC1_CHIPLET_FIR[12]
+ * Attention from MCBISTFIR 1
+ */
+ (rMC1_CHIPLET_FIR, bit(12)) ? analyzeConnectedMCBIST1;
+
+};
+
+################################################################################
+# P9 chip MC_LFIR 1
+################################################################################
+
+rule rMC_LFIR_1
+{
+ CHECK_STOP:
+ MC_LFIR_1 & ~MC_LFIR_1_MASK & ~MC_LFIR_1_ACT0 & ~MC_LFIR_1_ACT1;
+ RECOVERABLE:
+ MC_LFIR_1 & ~MC_LFIR_1_MASK & ~MC_LFIR_1_ACT0 & MC_LFIR_1_ACT1;
+};
+
+group gMC_LFIR_1 filter singlebit
+{
+ /** MC_LFIR_1[0]
+ *
+ */
+ (rMC_LFIR_1, bit(0)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[1]
+ *
+ */
+ (rMC_LFIR_1, bit(1)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[2]
+ *
+ */
+ (rMC_LFIR_1, bit(2)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[3]
+ *
+ */
+ (rMC_LFIR_1, bit(3)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[4]
+ *
+ */
+ (rMC_LFIR_1, bit(4)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[5]
+ *
+ */
+ (rMC_LFIR_1, bit(5)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[6]
+ *
+ */
+ (rMC_LFIR_1, bit(6)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[7]
+ *
+ */
+ (rMC_LFIR_1, bit(7)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[8]
+ *
+ */
+ (rMC_LFIR_1, bit(8)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[9]
+ *
+ */
+ (rMC_LFIR_1, bit(9)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[10]
+ *
+ */
+ (rMC_LFIR_1, bit(10)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[11]
+ *
+ */
+ (rMC_LFIR_1, bit(11)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[12]
+ *
+ */
+ (rMC_LFIR_1, bit(12)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[13]
+ *
+ */
+ (rMC_LFIR_1, bit(13)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[14]
+ *
+ */
+ (rMC_LFIR_1, bit(14)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[15]
+ *
+ */
+ (rMC_LFIR_1, bit(15)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[16]
+ *
+ */
+ (rMC_LFIR_1, bit(16)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[17]
+ *
+ */
+ (rMC_LFIR_1, bit(17)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[18]
+ *
+ */
+ (rMC_LFIR_1, bit(18)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[19]
+ *
+ */
+ (rMC_LFIR_1, bit(19)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[20]
+ *
+ */
+ (rMC_LFIR_1, bit(20)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[21]
+ *
+ */
+ (rMC_LFIR_1, bit(21)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[22]
+ *
+ */
+ (rMC_LFIR_1, bit(22)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[23]
+ *
+ */
+ (rMC_LFIR_1, bit(23)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[24]
+ *
+ */
+ (rMC_LFIR_1, bit(24)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[25]
+ *
+ */
+ (rMC_LFIR_1, bit(25)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[26]
+ *
+ */
+ (rMC_LFIR_1, bit(26)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[27]
+ *
+ */
+ (rMC_LFIR_1, bit(27)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[28]
+ *
+ */
+ (rMC_LFIR_1, bit(28)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[29]
+ *
+ */
+ (rMC_LFIR_1, bit(29)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[30]
+ *
+ */
+ (rMC_LFIR_1, bit(30)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[31]
+ *
+ */
+ (rMC_LFIR_1, bit(31)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[32]
+ *
+ */
+ (rMC_LFIR_1, bit(32)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[33]
+ *
+ */
+ (rMC_LFIR_1, bit(33)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[34]
+ *
+ */
+ (rMC_LFIR_1, bit(34)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[35]
+ *
+ */
+ (rMC_LFIR_1, bit(35)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[36]
+ *
+ */
+ (rMC_LFIR_1, bit(36)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[37]
+ *
+ */
+ (rMC_LFIR_1, bit(37)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[38]
+ *
+ */
+ (rMC_LFIR_1, bit(38)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[39]
+ *
+ */
+ (rMC_LFIR_1, bit(39)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[40]
+ *
+ */
+ (rMC_LFIR_1, bit(40)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[41]
+ *
+ */
+ (rMC_LFIR_1, bit(41)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[42]
+ *
+ */
+ (rMC_LFIR_1, bit(42)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[43]
+ *
+ */
+ (rMC_LFIR_1, bit(43)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[44]
+ *
+ */
+ (rMC_LFIR_1, bit(44)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[45]
+ *
+ */
+ (rMC_LFIR_1, bit(45)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[46]
+ *
+ */
+ (rMC_LFIR_1, bit(46)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[47]
+ *
+ */
+ (rMC_LFIR_1, bit(47)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[48]
+ *
+ */
+ (rMC_LFIR_1, bit(48)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[49]
+ *
+ */
+ (rMC_LFIR_1, bit(49)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[50]
+ *
+ */
+ (rMC_LFIR_1, bit(50)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[51]
+ *
+ */
+ (rMC_LFIR_1, bit(51)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[52]
+ *
+ */
+ (rMC_LFIR_1, bit(52)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[53]
+ *
+ */
+ (rMC_LFIR_1, bit(53)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[54]
+ *
+ */
+ (rMC_LFIR_1, bit(54)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[55]
+ *
+ */
+ (rMC_LFIR_1, bit(55)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[56]
+ *
+ */
+ (rMC_LFIR_1, bit(56)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[57]
+ *
+ */
+ (rMC_LFIR_1, bit(57)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[58]
+ *
+ */
+ (rMC_LFIR_1, bit(58)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[59]
+ *
+ */
+ (rMC_LFIR_1, bit(59)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[60]
+ *
+ */
+ (rMC_LFIR_1, bit(60)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[61]
+ *
+ */
+ (rMC_LFIR_1, bit(61)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[62]
+ *
+ */
+ (rMC_LFIR_1, bit(62)) ? TBDDefaultCallout;
+
+ /** MC_LFIR_1[63]
+ *
+ */
+ (rMC_LFIR_1, bit(63)) ? TBDDefaultCallout;
+
+};
+
+################################################################################
+# PCI0 Chiplet FIR
+################################################################################
+
+rule rPCI0_CHIPLET_FIR
+{
+ CHECK_STOP:
+ PCI0_CHIPLET_CS_FIR & ~PCI0_CHIPLET_FIR_MASK & `1fffffffffffffff`;
+ RECOVERABLE:
+ (PCI0_CHIPLET_RE_FIR >> 2) & ~PCI0_CHIPLET_FIR_MASK & `1fffffffffffffff`;
+};
+
+group gPCI0_CHIPLET_FIR filter singlebit
+{
+ /** PCI0_CHIPLET_FIR[3]
+ * Attention from PCI_LFIR 0
+ */
+ (rPCI0_CHIPLET_FIR, bit(3)) ? analyzeConnectedPEC0;
+
+ /** PCI0_CHIPLET_FIR[4]
+ * Attention from ETUFIR 0
+ */
+ (rPCI0_CHIPLET_FIR, bit(4)) ? analyzeConnectedPHB0;
+
+ /** PCI0_CHIPLET_FIR[5]
+ * Attention from IOPCIFIR 0
+ */
+ (rPCI0_CHIPLET_FIR, bit(5)) ? analyzeConnectedPEC0;
+
+ /** PCI0_CHIPLET_FIR[6]
+ * Attention from PCIFIR 0
+ */
+ (rPCI0_CHIPLET_FIR, bit(6)) ? analyzeConnectedPHB0;
+
+};
+
+################################################################################
+# PCI1 Chiplet FIR
+################################################################################
+
+rule rPCI1_CHIPLET_FIR
+{
+ CHECK_STOP:
+ PCI1_CHIPLET_CS_FIR & ~PCI1_CHIPLET_FIR_MASK & `1fffffffffffffff`;
+ RECOVERABLE:
+ (PCI1_CHIPLET_RE_FIR >> 2) & ~PCI1_CHIPLET_FIR_MASK & `1fffffffffffffff`;
+};
+
+group gPCI1_CHIPLET_FIR filter singlebit
+{
+ /** PCI1_CHIPLET_FIR[3]
+ * Attention from PCI_LFIR 1
+ */
+ (rPCI1_CHIPLET_FIR, bit(3)) ? analyzeConnectedPEC1;
+
+ /** PCI1_CHIPLET_FIR[4]
+ * Attention from ETUFIR 1
+ */
+ (rPCI1_CHIPLET_FIR, bit(4)) ? analyzeConnectedPHB1;
+
+ /** PCI1_CHIPLET_FIR[5]
+ * Attention from ETUFIR 2
+ */
+ (rPCI1_CHIPLET_FIR, bit(5)) ? analyzeConnectedPHB2;
+
+ /** PCI1_CHIPLET_FIR[6]
+ * Attention from IOPCIFIR 1
+ */
+ (rPCI1_CHIPLET_FIR, bit(6)) ? analyzeConnectedPEC1;
+
+ /** PCI1_CHIPLET_FIR[7]
+ * Attention from PCIFIR 1
+ */
+ (rPCI1_CHIPLET_FIR, bit(7)) ? analyzeConnectedPHB1;
+
+ /** PCI1_CHIPLET_FIR[8]
+ * Attention from PCIFIR 2
+ */
+ (rPCI1_CHIPLET_FIR, bit(8)) ? analyzeConnectedPHB2;
+
+};
+
+################################################################################
+# PCI2 Chiplet FIR
+################################################################################
+
+rule rPCI2_CHIPLET_FIR
+{
+ CHECK_STOP:
+ PCI2_CHIPLET_CS_FIR & ~PCI2_CHIPLET_FIR_MASK & `1fffffffffffffff`;
+ RECOVERABLE:
+ (PCI2_CHIPLET_RE_FIR >> 2) & ~PCI2_CHIPLET_FIR_MASK & `1fffffffffffffff`;
+};
+
+group gPCI2_CHIPLET_FIR filter singlebit
+{
+ /** PCI2_CHIPLET_FIR[3]
+ * Attention from PCI_LFIR 2
+ */
+ (rPCI2_CHIPLET_FIR, bit(3)) ? analyzeConnectedPEC2;
+
+ /** PCI2_CHIPLET_FIR[4]
+ * Attention from ETUFIR 3
+ */
+ (rPCI2_CHIPLET_FIR, bit(4)) ? analyzeConnectedPHB3;
+
+ /** PCI2_CHIPLET_FIR[5]
+ * Attention from ETUFIR 4
+ */
+ (rPCI2_CHIPLET_FIR, bit(5)) ? analyzeConnectedPHB4;
+
+ /** PCI2_CHIPLET_FIR[6]
+ * Attention from ETUFIR 5
+ */
+ (rPCI2_CHIPLET_FIR, bit(6)) ? analyzeConnectedPHB5;
+
+ /** PCI2_CHIPLET_FIR[7]
+ * Attention from IOPCIFIR 2
+ */
+ (rPCI2_CHIPLET_FIR, bit(7)) ? analyzeConnectedPEC2;
+
+ /** PCI2_CHIPLET_FIR[8]
+ * Attention from PCIFIR 3
+ */
+ (rPCI2_CHIPLET_FIR, bit(8)) ? analyzeConnectedPHB3;
+
+ /** PCI2_CHIPLET_FIR[9]
+ * Attention from PCIFIR 4
+ */
+ (rPCI2_CHIPLET_FIR, bit(9)) ? analyzeConnectedPHB4;
+
+ /** PCI2_CHIPLET_FIR[10]
+ * Attention from PCIFIR 5
+ */
+ (rPCI2_CHIPLET_FIR, bit(10)) ? analyzeConnectedPHB5;
+
+};
+
+ ##############################################################################
+ # #
+ # # ### #
+ # # # ## ##### ### ### # # # # # # ### ### ### ### #
+ # # # # # # # # # ## # # # # # # # # # #
+ # ####### # # # # # # # # # # ##### ### ### ## ### #
+ # # # # # # # # # # ## # # # # # # # # # #
+ # # # ## # ### ### # # ### ### # # ### ### ### ### #
+ # #
+ ##############################################################################
+
+# Include the common action set.
+.include "p9_common_actions.rule";
+
+actionclass analyzeConnectedEQ0 { analyze(connected(TYPE_EQ, 0)); };
+actionclass analyzeConnectedEQ1 { analyze(connected(TYPE_EQ, 1)); };
+actionclass analyzeConnectedEQ2 { analyze(connected(TYPE_EQ, 2)); };
+actionclass analyzeConnectedEQ3 { analyze(connected(TYPE_EQ, 3)); };
+actionclass analyzeConnectedEQ4 { analyze(connected(TYPE_EQ, 4)); };
+actionclass analyzeConnectedEQ5 { analyze(connected(TYPE_EQ, 5)); };
+actionclass analyzeConnectedEC0 { analyze(connected(TYPE_CORE, 0)); };
+actionclass analyzeConnectedEC1 { analyze(connected(TYPE_CORE, 1)); };
+actionclass analyzeConnectedEC2 { analyze(connected(TYPE_CORE, 2)); };
+actionclass analyzeConnectedEC3 { analyze(connected(TYPE_CORE, 3)); };
+actionclass analyzeConnectedEC4 { analyze(connected(TYPE_CORE, 4)); };
+actionclass analyzeConnectedEC5 { analyze(connected(TYPE_CORE, 5)); };
+actionclass analyzeConnectedEC6 { analyze(connected(TYPE_CORE, 6)); };
+actionclass analyzeConnectedEC7 { analyze(connected(TYPE_CORE, 7)); };
+actionclass analyzeConnectedEC8 { analyze(connected(TYPE_CORE, 8)); };
+actionclass analyzeConnectedEC9 { analyze(connected(TYPE_CORE, 9)); };
+actionclass analyzeConnectedEC10 { analyze(connected(TYPE_CORE, 10)); };
+actionclass analyzeConnectedEC11 { analyze(connected(TYPE_CORE, 11)); };
+actionclass analyzeConnectedEC12 { analyze(connected(TYPE_CORE, 12)); };
+actionclass analyzeConnectedEC13 { analyze(connected(TYPE_CORE, 13)); };
+actionclass analyzeConnectedEC14 { analyze(connected(TYPE_CORE, 14)); };
+actionclass analyzeConnectedEC15 { analyze(connected(TYPE_CORE, 15)); };
+actionclass analyzeConnectedEC16 { analyze(connected(TYPE_CORE, 16)); };
+actionclass analyzeConnectedEC17 { analyze(connected(TYPE_CORE, 17)); };
+actionclass analyzeConnectedEC18 { analyze(connected(TYPE_CORE, 18)); };
+actionclass analyzeConnectedEC19 { analyze(connected(TYPE_CORE, 19)); };
+actionclass analyzeConnectedEC20 { analyze(connected(TYPE_CORE, 20)); };
+actionclass analyzeConnectedEC21 { analyze(connected(TYPE_CORE, 21)); };
+actionclass analyzeConnectedEC22 { analyze(connected(TYPE_CORE, 22)); };
+actionclass analyzeConnectedEC23 { analyze(connected(TYPE_CORE, 23)); };
+actionclass analyzeConnectedCAPP0 { analyze(connected(TYPE_CAPP, 0)); };
+actionclass analyzeConnectedCAPP1 { analyze(connected(TYPE_CAPP, 1)); };
+actionclass analyzeConnectedOBUS0 { analyze(connected(TYPE_OBUS, 0)); };
+actionclass analyzeConnectedOBUS3 { analyze(connected(TYPE_OBUS, 3)); };
+actionclass analyzeConnectedXBUS1 { analyze(connected(TYPE_XBUS, 1)); };
+actionclass analyzeConnectedXBUS2 { analyze(connected(TYPE_XBUS, 2)); };
+actionclass analyzeConnectedPEC0 { analyze(connected(TYPE_PEC, 0)); };
+actionclass analyzeConnectedPEC1 { analyze(connected(TYPE_PEC, 1)); };
+actionclass analyzeConnectedPEC2 { analyze(connected(TYPE_PEC, 2)); };
+actionclass analyzeConnectedPHB0 { analyze(connected(TYPE_PHB, 0)); };
+actionclass analyzeConnectedPHB1 { analyze(connected(TYPE_PHB, 1)); };
+actionclass analyzeConnectedPHB2 { analyze(connected(TYPE_PHB, 2)); };
+actionclass analyzeConnectedPHB3 { analyze(connected(TYPE_PHB, 3)); };
+actionclass analyzeConnectedPHB4 { analyze(connected(TYPE_PHB, 4)); };
+actionclass analyzeConnectedPHB5 { analyze(connected(TYPE_PHB, 5)); };
+actionclass analyzeConnectedMCBIST0 { analyze(connected(TYPE_MCBIST, 0)); };
+actionclass analyzeConnectedMCBIST1 { analyze(connected(TYPE_MCBIST, 1)); };
+actionclass analyzeConnectedMCS0 { analyze(connected(TYPE_MCS, 0)); };
+actionclass analyzeConnectedMCS1 { analyze(connected(TYPE_MCS, 1)); };
+actionclass analyzeConnectedMCS2 { analyze(connected(TYPE_MCS, 2)); };
+actionclass analyzeConnectedMCS3 { analyze(connected(TYPE_MCS, 3)); };
+actionclass analyzeConnectedMCA0 { analyze(connected(TYPE_MCA, 0)); };
+actionclass analyzeConnectedMCA1 { analyze(connected(TYPE_MCA, 1)); };
+actionclass analyzeConnectedMCA2 { analyze(connected(TYPE_MCA, 2)); };
+actionclass analyzeConnectedMCA3 { analyze(connected(TYPE_MCA, 3)); };
+actionclass analyzeConnectedMCA4 { analyze(connected(TYPE_MCA, 4)); };
+actionclass analyzeConnectedMCA5 { analyze(connected(TYPE_MCA, 5)); };
+actionclass analyzeConnectedMCA6 { analyze(connected(TYPE_MCA, 6)); };
+actionclass analyzeConnectedMCA7 { analyze(connected(TYPE_MCA, 7)); };
diff --git a/src/usr/diag/prdf/common/plat/p9/p9_obus.rule b/src/usr/diag/prdf/common/plat/p9/p9_obus.rule
new file mode 100644
index 000000000..df71b733e
--- /dev/null
+++ b/src/usr/diag/prdf/common/plat/p9/p9_obus.rule
@@ -0,0 +1,1239 @@
+# IBM_PROLOG_BEGIN_TAG
+# This is an automatically generated prolog.
+#
+# $Source: src/usr/diag/prdf/common/plat/p9/p9_obus.rule $
+#
+# OpenPOWER HostBoot Project
+#
+# Contributors Listed Below - COPYRIGHT 2016
+# [+] International Business Machines Corp.
+#
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# permissions and limitations under the License.
+#
+# IBM_PROLOG_END_TAG
+
+chip p9_obus
+{
+ name "P9 OBUS chiplet";
+ targettype TYPE_OBUS;
+ sigoff 0x9000;
+ dump DUMP_CONTENT_HW;
+ scomlen 64;
+
+ #############################################################################
+ # #
+ # ###### #
+ # # # ###### #### ### #### ##### ###### ##### #### #
+ # # # # # # # # # # # # # #
+ # ###### ##### # # #### # ##### # # #### #
+ # # # # # ### # # # # ##### # #
+ # # # # # # # # # # # # # # # #
+ # # # ###### #### ### #### # ###### # # #### #
+ # #
+ #############################################################################
+
+ ############################################################################
+ # OB Chiplet FIR
+ ############################################################################
+
+ register OB_CHIPLET_CS_FIR
+ {
+ name "OB Chiplet Checkstop FIR";
+ scomaddr 0x09040000;
+ capture group default;
+ };
+
+ register OB_CHIPLET_RE_FIR
+ {
+ name "OB Chiplet Recoverable FIR";
+ scomaddr 0x09040001;
+ capture group default;
+ };
+
+ register OB_CHIPLET_FIR_MASK
+ {
+ name "OB Chiplet FIR MASK";
+ scomaddr 0x09040002;
+ capture group default;
+ };
+
+ ############################################################################
+ # P9 OBUS target OB_LFIR
+ ############################################################################
+
+ register OB_LFIR
+ {
+ name "P9 OBUS target OB_LFIR";
+ scomaddr 0x0904000a;
+ reset (&, 0x0904000b);
+ mask (|, 0x0904000f);
+ capture group default;
+ };
+
+ register OB_LFIR_MASK
+ {
+ name "P9 OBUS target OB_LFIR MASK";
+ scomaddr 0x0904000d;
+ capture group default;
+ };
+
+ register OB_LFIR_ACT0
+ {
+ name "P9 OBUS target OB_LFIR ACT0";
+ scomaddr 0x09040010;
+ capture group default;
+ capture req nonzero("OB_LFIR");
+ };
+
+ register OB_LFIR_ACT1
+ {
+ name "P9 OBUS target OB_LFIR ACT1";
+ scomaddr 0x09040011;
+ capture group default;
+ capture req nonzero("OB_LFIR");
+ };
+
+ ############################################################################
+ # P9 OBUS target IOOLFIR
+ ############################################################################
+
+ register IOOLFIR
+ {
+ name "P9 OBUS target IOOLFIR";
+ scomaddr 0x09010800;
+ reset (&, 0x09010801);
+ mask (|, 0x09010805);
+ capture group default;
+ };
+
+ register IOOLFIR_MASK
+ {
+ name "P9 OBUS target IOOLFIR MASK";
+ scomaddr 0x09010803;
+ capture group default;
+ };
+
+ register IOOLFIR_ACT0
+ {
+ name "P9 OBUS target IOOLFIR ACT0";
+ scomaddr 0x09010806;
+ capture group default;
+ capture req nonzero("IOOLFIR");
+ };
+
+ register IOOLFIR_ACT1
+ {
+ name "P9 OBUS target IOOLFIR ACT1";
+ scomaddr 0x09010807;
+ capture group default;
+ capture req nonzero("IOOLFIR");
+ };
+
+ ############################################################################
+ # P9 OBUS target IOOBFIR
+ ############################################################################
+
+ register IOOBFIR
+ {
+ name "P9 OBUS target IOOBFIR";
+ scomaddr 0x09010c00;
+ reset (&, 0x09010c01);
+ mask (|, 0x09010c05);
+ capture group default;
+ };
+
+ register IOOBFIR_MASK
+ {
+ name "P9 OBUS target IOOBFIR MASK";
+ scomaddr 0x09010c03;
+ capture group default;
+ };
+
+ register IOOBFIR_ACT0
+ {
+ name "P9 OBUS target IOOBFIR ACT0";
+ scomaddr 0x09010c06;
+ capture group default;
+ capture req nonzero("IOOBFIR");
+ };
+
+ register IOOBFIR_ACT1
+ {
+ name "P9 OBUS target IOOBFIR ACT1";
+ scomaddr 0x09010c07;
+ capture group default;
+ capture req nonzero("IOOBFIR");
+ };
+
+};
+
+ ##############################################################################
+ # #
+ # #### # #
+ # # # # # # ##### ### # # # ## ##### ### ### # # ### #
+ # # # # # # # # # # # # # # # # # ## # # #
+ # #### # # # #### ### # ####### # # # # # # # # ### #
+ # # # # # # # # # # # # # # # # # # ## # #
+ # # # ### #### ##### ### # # # ## # ### ### # # ### #
+ # #
+ ##############################################################################
+
+################################################################################
+# OB Chiplet FIR
+################################################################################
+
+rule rOB_CHIPLET_FIR
+{
+ CHECK_STOP:
+ OB_CHIPLET_CS_FIR & ~OB_CHIPLET_FIR_MASK & `1fffffffffffffff`;
+ RECOVERABLE:
+ (OB_CHIPLET_RE_FIR >> 2) & ~OB_CHIPLET_FIR_MASK & `1fffffffffffffff`;
+};
+
+group gOB_CHIPLET_FIR attntype CHECK_STOP, RECOVERABLE filter singlebit
+{
+ /** OB_CHIPLET_FIR[3]
+ * Attention from OB_LFIR
+ */
+ (rOB_CHIPLET_FIR, bit(3)) ? analyze(gOB_LFIR);
+
+ /** OB_CHIPLET_FIR[4]
+ * Attention from IOOLFIR
+ */
+ (rOB_CHIPLET_FIR, bit(4)) ? analyze(gIOOLFIR);
+
+};
+
+################################################################################
+# P9 OBUS target OB_LFIR
+################################################################################
+
+rule rOB_LFIR
+{
+ CHECK_STOP:
+ OB_LFIR & ~OB_LFIR_MASK & ~OB_LFIR_ACT0 & ~OB_LFIR_ACT1;
+ RECOVERABLE:
+ OB_LFIR & ~OB_LFIR_MASK & ~OB_LFIR_ACT0 & OB_LFIR_ACT1;
+};
+
+group gOB_LFIR filter singlebit
+{
+ /** OB_LFIR[0]
+ *
+ */
+ (rOB_LFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[1]
+ *
+ */
+ (rOB_LFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[2]
+ *
+ */
+ (rOB_LFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[3]
+ *
+ */
+ (rOB_LFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[4]
+ *
+ */
+ (rOB_LFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[5]
+ *
+ */
+ (rOB_LFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[6]
+ *
+ */
+ (rOB_LFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[7]
+ *
+ */
+ (rOB_LFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[8]
+ *
+ */
+ (rOB_LFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[9]
+ *
+ */
+ (rOB_LFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[10]
+ *
+ */
+ (rOB_LFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[11]
+ *
+ */
+ (rOB_LFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[12]
+ *
+ */
+ (rOB_LFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[13]
+ *
+ */
+ (rOB_LFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[14]
+ *
+ */
+ (rOB_LFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[15]
+ *
+ */
+ (rOB_LFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[16]
+ *
+ */
+ (rOB_LFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[17]
+ *
+ */
+ (rOB_LFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[18]
+ *
+ */
+ (rOB_LFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[19]
+ *
+ */
+ (rOB_LFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[20]
+ *
+ */
+ (rOB_LFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[21]
+ *
+ */
+ (rOB_LFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[22]
+ *
+ */
+ (rOB_LFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[23]
+ *
+ */
+ (rOB_LFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[24]
+ *
+ */
+ (rOB_LFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[25]
+ *
+ */
+ (rOB_LFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[26]
+ *
+ */
+ (rOB_LFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[27]
+ *
+ */
+ (rOB_LFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[28]
+ *
+ */
+ (rOB_LFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[29]
+ *
+ */
+ (rOB_LFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[30]
+ *
+ */
+ (rOB_LFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[31]
+ *
+ */
+ (rOB_LFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[32]
+ *
+ */
+ (rOB_LFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[33]
+ *
+ */
+ (rOB_LFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[34]
+ *
+ */
+ (rOB_LFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[35]
+ *
+ */
+ (rOB_LFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[36]
+ *
+ */
+ (rOB_LFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[37]
+ *
+ */
+ (rOB_LFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[38]
+ *
+ */
+ (rOB_LFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[39]
+ *
+ */
+ (rOB_LFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[40]
+ *
+ */
+ (rOB_LFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[41]
+ *
+ */
+ (rOB_LFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[42]
+ *
+ */
+ (rOB_LFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[43]
+ *
+ */
+ (rOB_LFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[44]
+ *
+ */
+ (rOB_LFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[45]
+ *
+ */
+ (rOB_LFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[46]
+ *
+ */
+ (rOB_LFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[47]
+ *
+ */
+ (rOB_LFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[48]
+ *
+ */
+ (rOB_LFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[49]
+ *
+ */
+ (rOB_LFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[50]
+ *
+ */
+ (rOB_LFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[51]
+ *
+ */
+ (rOB_LFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[52]
+ *
+ */
+ (rOB_LFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[53]
+ *
+ */
+ (rOB_LFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[54]
+ *
+ */
+ (rOB_LFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[55]
+ *
+ */
+ (rOB_LFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[56]
+ *
+ */
+ (rOB_LFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[57]
+ *
+ */
+ (rOB_LFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[58]
+ *
+ */
+ (rOB_LFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[59]
+ *
+ */
+ (rOB_LFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[60]
+ *
+ */
+ (rOB_LFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[61]
+ *
+ */
+ (rOB_LFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[62]
+ *
+ */
+ (rOB_LFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** OB_LFIR[63]
+ *
+ */
+ (rOB_LFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+################################################################################
+# P9 OBUS target IOOLFIR
+################################################################################
+
+rule rIOOLFIR
+{
+ CHECK_STOP:
+ IOOLFIR & ~IOOLFIR_MASK & ~IOOLFIR_ACT0 & ~IOOLFIR_ACT1;
+ RECOVERABLE:
+ IOOLFIR & ~IOOLFIR_MASK & ~IOOLFIR_ACT0 & IOOLFIR_ACT1;
+};
+
+group gIOOLFIR filter singlebit
+{
+ /** IOOLFIR[0]
+ *
+ */
+ (rIOOLFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[1]
+ *
+ */
+ (rIOOLFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[2]
+ *
+ */
+ (rIOOLFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[3]
+ *
+ */
+ (rIOOLFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[4]
+ *
+ */
+ (rIOOLFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[5]
+ *
+ */
+ (rIOOLFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[6]
+ *
+ */
+ (rIOOLFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[7]
+ *
+ */
+ (rIOOLFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[8]
+ *
+ */
+ (rIOOLFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[9]
+ *
+ */
+ (rIOOLFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[10]
+ *
+ */
+ (rIOOLFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[11]
+ *
+ */
+ (rIOOLFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[12]
+ *
+ */
+ (rIOOLFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[13]
+ *
+ */
+ (rIOOLFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[14]
+ *
+ */
+ (rIOOLFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[15]
+ *
+ */
+ (rIOOLFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[16]
+ *
+ */
+ (rIOOLFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[17]
+ *
+ */
+ (rIOOLFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[18]
+ *
+ */
+ (rIOOLFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[19]
+ *
+ */
+ (rIOOLFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[20]
+ *
+ */
+ (rIOOLFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[21]
+ *
+ */
+ (rIOOLFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[22]
+ *
+ */
+ (rIOOLFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[23]
+ *
+ */
+ (rIOOLFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[24]
+ *
+ */
+ (rIOOLFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[25]
+ *
+ */
+ (rIOOLFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[26]
+ *
+ */
+ (rIOOLFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[27]
+ *
+ */
+ (rIOOLFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[28]
+ *
+ */
+ (rIOOLFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[29]
+ *
+ */
+ (rIOOLFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[30]
+ *
+ */
+ (rIOOLFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[31]
+ *
+ */
+ (rIOOLFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[32]
+ *
+ */
+ (rIOOLFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[33]
+ *
+ */
+ (rIOOLFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[34]
+ *
+ */
+ (rIOOLFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[35]
+ *
+ */
+ (rIOOLFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[36]
+ *
+ */
+ (rIOOLFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[37]
+ *
+ */
+ (rIOOLFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[38]
+ *
+ */
+ (rIOOLFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[39]
+ *
+ */
+ (rIOOLFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[40]
+ *
+ */
+ (rIOOLFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[41]
+ *
+ */
+ (rIOOLFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[42]
+ *
+ */
+ (rIOOLFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[43]
+ *
+ */
+ (rIOOLFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[44]
+ *
+ */
+ (rIOOLFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[45]
+ *
+ */
+ (rIOOLFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[46]
+ *
+ */
+ (rIOOLFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[47]
+ *
+ */
+ (rIOOLFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[48]
+ *
+ */
+ (rIOOLFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[49]
+ *
+ */
+ (rIOOLFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[50]
+ *
+ */
+ (rIOOLFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[51]
+ *
+ */
+ (rIOOLFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[52]
+ *
+ */
+ (rIOOLFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[53]
+ *
+ */
+ (rIOOLFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[54]
+ *
+ */
+ (rIOOLFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[55]
+ *
+ */
+ (rIOOLFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[56]
+ *
+ */
+ (rIOOLFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[57]
+ *
+ */
+ (rIOOLFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[58]
+ *
+ */
+ (rIOOLFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[59]
+ *
+ */
+ (rIOOLFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[60]
+ *
+ */
+ (rIOOLFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[61]
+ *
+ */
+ (rIOOLFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[62]
+ *
+ */
+ (rIOOLFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** IOOLFIR[63]
+ *
+ */
+ (rIOOLFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+################################################################################
+# P9 OBUS target IOOBFIR
+################################################################################
+
+rule rIOOBFIR
+{
+ CHECK_STOP:
+ IOOBFIR & ~IOOBFIR_MASK & ~IOOBFIR_ACT0 & ~IOOBFIR_ACT1;
+ RECOVERABLE:
+ IOOBFIR & ~IOOBFIR_MASK & ~IOOBFIR_ACT0 & IOOBFIR_ACT1;
+};
+
+group gIOOBFIR filter singlebit
+{
+ /** IOOBFIR[0]
+ *
+ */
+ (rIOOBFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[1]
+ *
+ */
+ (rIOOBFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[2]
+ *
+ */
+ (rIOOBFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[3]
+ *
+ */
+ (rIOOBFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[4]
+ *
+ */
+ (rIOOBFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[5]
+ *
+ */
+ (rIOOBFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[6]
+ *
+ */
+ (rIOOBFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[7]
+ *
+ */
+ (rIOOBFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[8]
+ *
+ */
+ (rIOOBFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[9]
+ *
+ */
+ (rIOOBFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[10]
+ *
+ */
+ (rIOOBFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[11]
+ *
+ */
+ (rIOOBFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[12]
+ *
+ */
+ (rIOOBFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[13]
+ *
+ */
+ (rIOOBFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[14]
+ *
+ */
+ (rIOOBFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[15]
+ *
+ */
+ (rIOOBFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[16]
+ *
+ */
+ (rIOOBFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[17]
+ *
+ */
+ (rIOOBFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[18]
+ *
+ */
+ (rIOOBFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[19]
+ *
+ */
+ (rIOOBFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[20]
+ *
+ */
+ (rIOOBFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[21]
+ *
+ */
+ (rIOOBFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[22]
+ *
+ */
+ (rIOOBFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[23]
+ *
+ */
+ (rIOOBFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[24]
+ *
+ */
+ (rIOOBFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[25]
+ *
+ */
+ (rIOOBFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[26]
+ *
+ */
+ (rIOOBFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[27]
+ *
+ */
+ (rIOOBFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[28]
+ *
+ */
+ (rIOOBFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[29]
+ *
+ */
+ (rIOOBFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[30]
+ *
+ */
+ (rIOOBFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[31]
+ *
+ */
+ (rIOOBFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[32]
+ *
+ */
+ (rIOOBFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[33]
+ *
+ */
+ (rIOOBFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[34]
+ *
+ */
+ (rIOOBFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[35]
+ *
+ */
+ (rIOOBFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[36]
+ *
+ */
+ (rIOOBFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[37]
+ *
+ */
+ (rIOOBFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[38]
+ *
+ */
+ (rIOOBFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[39]
+ *
+ */
+ (rIOOBFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[40]
+ *
+ */
+ (rIOOBFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[41]
+ *
+ */
+ (rIOOBFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[42]
+ *
+ */
+ (rIOOBFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[43]
+ *
+ */
+ (rIOOBFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[44]
+ *
+ */
+ (rIOOBFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[45]
+ *
+ */
+ (rIOOBFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[46]
+ *
+ */
+ (rIOOBFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[47]
+ *
+ */
+ (rIOOBFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[48]
+ *
+ */
+ (rIOOBFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[49]
+ *
+ */
+ (rIOOBFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[50]
+ *
+ */
+ (rIOOBFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[51]
+ *
+ */
+ (rIOOBFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[52]
+ *
+ */
+ (rIOOBFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[53]
+ *
+ */
+ (rIOOBFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[54]
+ *
+ */
+ (rIOOBFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[55]
+ *
+ */
+ (rIOOBFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[56]
+ *
+ */
+ (rIOOBFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[57]
+ *
+ */
+ (rIOOBFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[58]
+ *
+ */
+ (rIOOBFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[59]
+ *
+ */
+ (rIOOBFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[60]
+ *
+ */
+ (rIOOBFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[61]
+ *
+ */
+ (rIOOBFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[62]
+ *
+ */
+ (rIOOBFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** IOOBFIR[63]
+ *
+ */
+ (rIOOBFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+ ##############################################################################
+ # #
+ # # ### #
+ # # # ## ##### ### ### # # # # # # ### ### ### ### #
+ # # # # # # # # # ## # # # # # # # # # #
+ # ####### # # # # # # # # # # ##### ### ### ## ### #
+ # # # # # # # # # # ## # # # # # # # # # #
+ # # # ## # ### ### # # ### ### # # ### ### ### ### #
+ # #
+ ##############################################################################
+
+# Include the common action set.
+.include "p9_common_actions.rule";
+
diff --git a/src/usr/diag/prdf/common/plat/p9/p9_pec.rule b/src/usr/diag/prdf/common/plat/p9/p9_pec.rule
new file mode 100644
index 000000000..2f7d51f2c
--- /dev/null
+++ b/src/usr/diag/prdf/common/plat/p9/p9_pec.rule
@@ -0,0 +1,838 @@
+# IBM_PROLOG_BEGIN_TAG
+# This is an automatically generated prolog.
+#
+# $Source: src/usr/diag/prdf/common/plat/p9/p9_pec.rule $
+#
+# OpenPOWER HostBoot Project
+#
+# Contributors Listed Below - COPYRIGHT 2016
+# [+] International Business Machines Corp.
+#
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# permissions and limitations under the License.
+#
+# IBM_PROLOG_END_TAG
+
+chip p9_pec
+{
+ name "P9 PEC chiplet";
+ targettype TYPE_PEC;
+ sigoff 0x9000;
+ dump DUMP_CONTENT_HW;
+ scomlen 64;
+
+ #############################################################################
+ # #
+ # ###### #
+ # # # ###### #### ### #### ##### ###### ##### #### #
+ # # # # # # # # # # # # # #
+ # ###### ##### # # #### # ##### # # #### #
+ # # # # # ### # # # # ##### # #
+ # # # # # # # # # # # # # # # #
+ # # # ###### #### ### #### # ###### # # #### #
+ # #
+ #############################################################################
+
+ ############################################################################
+ # P9 PEC target PCI_LFIR
+ ############################################################################
+
+ register PCI_LFIR
+ {
+ name "P9 PEC target PCI_LFIR";
+ scomaddr 0x0d04000a;
+ reset (&, 0x0d04000b);
+ mask (|, 0x0d04000f);
+ capture group default;
+ };
+
+ register PCI_LFIR_MASK
+ {
+ name "P9 PEC target PCI_LFIR MASK";
+ scomaddr 0x0d04000d;
+ capture group default;
+ };
+
+ register PCI_LFIR_ACT0
+ {
+ name "P9 PEC target PCI_LFIR ACT0";
+ scomaddr 0x0d040010;
+ capture group default;
+ capture req nonzero("PCI_LFIR");
+ };
+
+ register PCI_LFIR_ACT1
+ {
+ name "P9 PEC target PCI_LFIR ACT1";
+ scomaddr 0x0d040011;
+ capture group default;
+ capture req nonzero("PCI_LFIR");
+ };
+
+ ############################################################################
+ # P9 PEC target IOPCIFIR
+ ############################################################################
+
+ register IOPCIFIR
+ {
+ name "P9 PEC target IOPCIFIR";
+ scomaddr 0x0d010c00;
+ reset (&, 0x0d010c01);
+ mask (|, 0x0d010c05);
+ capture group default;
+ };
+
+ register IOPCIFIR_MASK
+ {
+ name "P9 PEC target IOPCIFIR MASK";
+ scomaddr 0x0d010c03;
+ capture group default;
+ };
+
+ register IOPCIFIR_ACT0
+ {
+ name "P9 PEC target IOPCIFIR ACT0";
+ scomaddr 0x0d010c06;
+ capture group default;
+ capture req nonzero("IOPCIFIR");
+ };
+
+ register IOPCIFIR_ACT1
+ {
+ name "P9 PEC target IOPCIFIR ACT1";
+ scomaddr 0x0d010c07;
+ capture group default;
+ capture req nonzero("IOPCIFIR");
+ };
+
+};
+
+ ##############################################################################
+ # #
+ # #### # #
+ # # # # # # ##### ### # # # ## ##### ### ### # # ### #
+ # # # # # # # # # # # # # # # # # ## # # #
+ # #### # # # #### ### # ####### # # # # # # # # ### #
+ # # # # # # # # # # # # # # # # # # ## # #
+ # # # ### #### ##### ### # # # ## # ### ### # # ### #
+ # #
+ ##############################################################################
+
+################################################################################
+# Summary for PEC
+################################################################################
+
+rule rPEC
+{
+ CHECK_STOP:
+ summary( 0, rPCI_LFIR ) |
+ summary( 1, rIOPCIFIR );
+
+ RECOVERABLE:
+ summary( 0, rPCI_LFIR ) |
+ summary( 1, rIOPCIFIR );
+
+};
+
+group gPEC attntype CHECK_STOP, RECOVERABLE
+{
+ (rPEC, bit(0)) ? analyze(gPCI_LFIR);
+ (rPEC, bit(1)) ? analyze(gIOPCIFIR);
+};
+
+################################################################################
+# P9 PEC target PCI_LFIR
+################################################################################
+
+rule rPCI_LFIR
+{
+ CHECK_STOP:
+ PCI_LFIR & ~PCI_LFIR_MASK & ~PCI_LFIR_ACT0 & ~PCI_LFIR_ACT1;
+ RECOVERABLE:
+ PCI_LFIR & ~PCI_LFIR_MASK & ~PCI_LFIR_ACT0 & PCI_LFIR_ACT1;
+};
+
+group gPCI_LFIR filter singlebit
+{
+ /** PCI_LFIR[0]
+ *
+ */
+ (rPCI_LFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[1]
+ *
+ */
+ (rPCI_LFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[2]
+ *
+ */
+ (rPCI_LFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[3]
+ *
+ */
+ (rPCI_LFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[4]
+ *
+ */
+ (rPCI_LFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[5]
+ *
+ */
+ (rPCI_LFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[6]
+ *
+ */
+ (rPCI_LFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[7]
+ *
+ */
+ (rPCI_LFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[8]
+ *
+ */
+ (rPCI_LFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[9]
+ *
+ */
+ (rPCI_LFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[10]
+ *
+ */
+ (rPCI_LFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[11]
+ *
+ */
+ (rPCI_LFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[12]
+ *
+ */
+ (rPCI_LFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[13]
+ *
+ */
+ (rPCI_LFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[14]
+ *
+ */
+ (rPCI_LFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[15]
+ *
+ */
+ (rPCI_LFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[16]
+ *
+ */
+ (rPCI_LFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[17]
+ *
+ */
+ (rPCI_LFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[18]
+ *
+ */
+ (rPCI_LFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[19]
+ *
+ */
+ (rPCI_LFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[20]
+ *
+ */
+ (rPCI_LFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[21]
+ *
+ */
+ (rPCI_LFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[22]
+ *
+ */
+ (rPCI_LFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[23]
+ *
+ */
+ (rPCI_LFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[24]
+ *
+ */
+ (rPCI_LFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[25]
+ *
+ */
+ (rPCI_LFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[26]
+ *
+ */
+ (rPCI_LFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[27]
+ *
+ */
+ (rPCI_LFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[28]
+ *
+ */
+ (rPCI_LFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[29]
+ *
+ */
+ (rPCI_LFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[30]
+ *
+ */
+ (rPCI_LFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[31]
+ *
+ */
+ (rPCI_LFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[32]
+ *
+ */
+ (rPCI_LFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[33]
+ *
+ */
+ (rPCI_LFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[34]
+ *
+ */
+ (rPCI_LFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[35]
+ *
+ */
+ (rPCI_LFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[36]
+ *
+ */
+ (rPCI_LFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[37]
+ *
+ */
+ (rPCI_LFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[38]
+ *
+ */
+ (rPCI_LFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[39]
+ *
+ */
+ (rPCI_LFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[40]
+ *
+ */
+ (rPCI_LFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[41]
+ *
+ */
+ (rPCI_LFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[42]
+ *
+ */
+ (rPCI_LFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[43]
+ *
+ */
+ (rPCI_LFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[44]
+ *
+ */
+ (rPCI_LFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[45]
+ *
+ */
+ (rPCI_LFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[46]
+ *
+ */
+ (rPCI_LFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[47]
+ *
+ */
+ (rPCI_LFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[48]
+ *
+ */
+ (rPCI_LFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[49]
+ *
+ */
+ (rPCI_LFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[50]
+ *
+ */
+ (rPCI_LFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[51]
+ *
+ */
+ (rPCI_LFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[52]
+ *
+ */
+ (rPCI_LFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[53]
+ *
+ */
+ (rPCI_LFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[54]
+ *
+ */
+ (rPCI_LFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[55]
+ *
+ */
+ (rPCI_LFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[56]
+ *
+ */
+ (rPCI_LFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[57]
+ *
+ */
+ (rPCI_LFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[58]
+ *
+ */
+ (rPCI_LFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[59]
+ *
+ */
+ (rPCI_LFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[60]
+ *
+ */
+ (rPCI_LFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[61]
+ *
+ */
+ (rPCI_LFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[62]
+ *
+ */
+ (rPCI_LFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** PCI_LFIR[63]
+ *
+ */
+ (rPCI_LFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+################################################################################
+# P9 PEC target IOPCIFIR
+################################################################################
+
+rule rIOPCIFIR
+{
+ CHECK_STOP:
+ IOPCIFIR & ~IOPCIFIR_MASK & ~IOPCIFIR_ACT0 & ~IOPCIFIR_ACT1;
+ RECOVERABLE:
+ IOPCIFIR & ~IOPCIFIR_MASK & ~IOPCIFIR_ACT0 & IOPCIFIR_ACT1;
+};
+
+group gIOPCIFIR filter singlebit
+{
+ /** IOPCIFIR[0]
+ *
+ */
+ (rIOPCIFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[1]
+ *
+ */
+ (rIOPCIFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[2]
+ *
+ */
+ (rIOPCIFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[3]
+ *
+ */
+ (rIOPCIFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[4]
+ *
+ */
+ (rIOPCIFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[5]
+ *
+ */
+ (rIOPCIFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[6]
+ *
+ */
+ (rIOPCIFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[7]
+ *
+ */
+ (rIOPCIFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[8]
+ *
+ */
+ (rIOPCIFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[9]
+ *
+ */
+ (rIOPCIFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[10]
+ *
+ */
+ (rIOPCIFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[11]
+ *
+ */
+ (rIOPCIFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[12]
+ *
+ */
+ (rIOPCIFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[13]
+ *
+ */
+ (rIOPCIFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[14]
+ *
+ */
+ (rIOPCIFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[15]
+ *
+ */
+ (rIOPCIFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[16]
+ *
+ */
+ (rIOPCIFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[17]
+ *
+ */
+ (rIOPCIFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[18]
+ *
+ */
+ (rIOPCIFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[19]
+ *
+ */
+ (rIOPCIFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[20]
+ *
+ */
+ (rIOPCIFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[21]
+ *
+ */
+ (rIOPCIFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[22]
+ *
+ */
+ (rIOPCIFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[23]
+ *
+ */
+ (rIOPCIFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[24]
+ *
+ */
+ (rIOPCIFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[25]
+ *
+ */
+ (rIOPCIFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[26]
+ *
+ */
+ (rIOPCIFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[27]
+ *
+ */
+ (rIOPCIFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[28]
+ *
+ */
+ (rIOPCIFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[29]
+ *
+ */
+ (rIOPCIFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[30]
+ *
+ */
+ (rIOPCIFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[31]
+ *
+ */
+ (rIOPCIFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[32]
+ *
+ */
+ (rIOPCIFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[33]
+ *
+ */
+ (rIOPCIFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[34]
+ *
+ */
+ (rIOPCIFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[35]
+ *
+ */
+ (rIOPCIFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[36]
+ *
+ */
+ (rIOPCIFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[37]
+ *
+ */
+ (rIOPCIFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[38]
+ *
+ */
+ (rIOPCIFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[39]
+ *
+ */
+ (rIOPCIFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[40]
+ *
+ */
+ (rIOPCIFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[41]
+ *
+ */
+ (rIOPCIFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[42]
+ *
+ */
+ (rIOPCIFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[43]
+ *
+ */
+ (rIOPCIFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[44]
+ *
+ */
+ (rIOPCIFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[45]
+ *
+ */
+ (rIOPCIFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[46]
+ *
+ */
+ (rIOPCIFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[47]
+ *
+ */
+ (rIOPCIFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[48]
+ *
+ */
+ (rIOPCIFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[49]
+ *
+ */
+ (rIOPCIFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[50]
+ *
+ */
+ (rIOPCIFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[51]
+ *
+ */
+ (rIOPCIFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[52]
+ *
+ */
+ (rIOPCIFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[53]
+ *
+ */
+ (rIOPCIFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[54]
+ *
+ */
+ (rIOPCIFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[55]
+ *
+ */
+ (rIOPCIFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[56]
+ *
+ */
+ (rIOPCIFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[57]
+ *
+ */
+ (rIOPCIFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[58]
+ *
+ */
+ (rIOPCIFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[59]
+ *
+ */
+ (rIOPCIFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[60]
+ *
+ */
+ (rIOPCIFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[61]
+ *
+ */
+ (rIOPCIFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[62]
+ *
+ */
+ (rIOPCIFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** IOPCIFIR[63]
+ *
+ */
+ (rIOPCIFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+ ##############################################################################
+ # #
+ # # ### #
+ # # # ## ##### ### ### # # # # # # ### ### ### ### #
+ # # # # # # # # # ## # # # # # # # # # #
+ # ####### # # # # # # # # # # ##### ### ### ## ### #
+ # # # # # # # # # # ## # # # # # # # # # #
+ # # # ## # ### ### # # ### ### # # ### ### ### ### #
+ # #
+ ##############################################################################
+
+# Include the common action set.
+.include "p9_common_actions.rule";
+
diff --git a/src/usr/diag/prdf/common/plat/p9/p9_phb.rule b/src/usr/diag/prdf/common/plat/p9/p9_phb.rule
new file mode 100644
index 000000000..5d32ac33e
--- /dev/null
+++ b/src/usr/diag/prdf/common/plat/p9/p9_phb.rule
@@ -0,0 +1,1213 @@
+# IBM_PROLOG_BEGIN_TAG
+# This is an automatically generated prolog.
+#
+# $Source: src/usr/diag/prdf/common/plat/p9/p9_phb.rule $
+#
+# OpenPOWER HostBoot Project
+#
+# Contributors Listed Below - COPYRIGHT 2016
+# [+] International Business Machines Corp.
+#
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# permissions and limitations under the License.
+#
+# IBM_PROLOG_END_TAG
+
+chip p9_phb
+{
+ name "P9 PHB chiplet";
+ targettype TYPE_PHB;
+ sigoff 0x9000;
+ dump DUMP_CONTENT_HW;
+ scomlen 64;
+
+ #############################################################################
+ # #
+ # ###### #
+ # # # ###### #### ### #### ##### ###### ##### #### #
+ # # # # # # # # # # # # # #
+ # ###### ##### # # #### # ##### # # #### #
+ # # # # # ### # # # # ##### # #
+ # # # # # # # # # # # # # # # #
+ # # # ###### #### ### #### # ###### # # #### #
+ # #
+ #############################################################################
+
+ ############################################################################
+ # P9 PHB target PHBNFIR
+ ############################################################################
+
+ register PHBNFIR
+ {
+ name "P9 PHB target PHBNFIR";
+ scomaddr 0x04010c40;
+ reset (&, 0x04010c41);
+ mask (|, 0x04010c45);
+ capture group default;
+ };
+
+ register PHBNFIR_MASK
+ {
+ name "P9 PHB target PHBNFIR MASK";
+ scomaddr 0x04010c43;
+ capture group default;
+ };
+
+ register PHBNFIR_ACT0
+ {
+ name "P9 PHB target PHBNFIR ACT0";
+ scomaddr 0x04010c46;
+ capture group default;
+ capture req nonzero("PHBNFIR");
+ };
+
+ register PHBNFIR_ACT1
+ {
+ name "P9 PHB target PHBNFIR ACT1";
+ scomaddr 0x04010c47;
+ capture group default;
+ capture req nonzero("PHBNFIR");
+ };
+
+ ############################################################################
+ # P9 PHB target PCIFIR
+ ############################################################################
+
+ register PCIFIR
+ {
+ name "P9 PHB target PCIFIR";
+ scomaddr 0x0d010840;
+ reset (&, 0x0d010841);
+ mask (|, 0x0d010845);
+ capture group default;
+ };
+
+ register PCIFIR_MASK
+ {
+ name "P9 PHB target PCIFIR MASK";
+ scomaddr 0x0d010843;
+ capture group default;
+ };
+
+ register PCIFIR_ACT0
+ {
+ name "P9 PHB target PCIFIR ACT0";
+ scomaddr 0x0d010846;
+ capture group default;
+ capture req nonzero("PCIFIR");
+ };
+
+ register PCIFIR_ACT1
+ {
+ name "P9 PHB target PCIFIR ACT1";
+ scomaddr 0x0d010847;
+ capture group default;
+ capture req nonzero("PCIFIR");
+ };
+
+ ############################################################################
+ # P9 PHB target ETUFIR
+ ############################################################################
+
+ register ETUFIR
+ {
+ name "P9 PHB target ETUFIR";
+ scomaddr 0x0d010908;
+ reset (&, 0x0d010909);
+ mask (|, 0x0d01090d);
+ capture group default;
+ };
+
+ register ETUFIR_MASK
+ {
+ name "P9 PHB target ETUFIR MASK";
+ scomaddr 0x0d01090b;
+ capture group default;
+ };
+
+ register ETUFIR_ACT0
+ {
+ name "P9 PHB target ETUFIR ACT0";
+ scomaddr 0x0d01090e;
+ capture group default;
+ capture req nonzero("ETUFIR");
+ };
+
+ register ETUFIR_ACT1
+ {
+ name "P9 PHB target ETUFIR ACT1";
+ scomaddr 0x0d01090f;
+ capture group default;
+ capture req nonzero("ETUFIR");
+ };
+
+};
+
+ ##############################################################################
+ # #
+ # #### # #
+ # # # # # # ##### ### # # # ## ##### ### ### # # ### #
+ # # # # # # # # # # # # # # # # # ## # # #
+ # #### # # # #### ### # ####### # # # # # # # # ### #
+ # # # # # # # # # # # # # # # # # # ## # #
+ # # # ### #### ##### ### # # # ## # ### ### # # ### #
+ # #
+ ##############################################################################
+
+################################################################################
+# Summary for PHB
+################################################################################
+
+rule rPHB
+{
+ CHECK_STOP:
+ summary( 0, rPHBNFIR ) |
+ summary( 1, rPCIFIR ) |
+ summary( 2, rETUFIR );
+
+ RECOVERABLE:
+ summary( 0, rPHBNFIR ) |
+ summary( 1, rPCIFIR ) |
+ summary( 2, rETUFIR );
+
+};
+
+group gPHB attntype CHECK_STOP, RECOVERABLE
+{
+ (rPHB, bit(0)) ? analyze(gPHBNFIR);
+ (rPHB, bit(1)) ? analyze(gPCIFIR);
+ (rPHB, bit(2)) ? analyze(gETUFIR);
+};
+
+################################################################################
+# P9 PHB target PHBNFIR
+################################################################################
+
+rule rPHBNFIR
+{
+ CHECK_STOP:
+ PHBNFIR & ~PHBNFIR_MASK & ~PHBNFIR_ACT0 & ~PHBNFIR_ACT1;
+ RECOVERABLE:
+ PHBNFIR & ~PHBNFIR_MASK & ~PHBNFIR_ACT0 & PHBNFIR_ACT1;
+};
+
+group gPHBNFIR filter singlebit
+{
+ /** PHBNFIR[0]
+ *
+ */
+ (rPHBNFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[1]
+ *
+ */
+ (rPHBNFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[2]
+ *
+ */
+ (rPHBNFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[3]
+ *
+ */
+ (rPHBNFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[4]
+ *
+ */
+ (rPHBNFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[5]
+ *
+ */
+ (rPHBNFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[6]
+ *
+ */
+ (rPHBNFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[7]
+ *
+ */
+ (rPHBNFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[8]
+ *
+ */
+ (rPHBNFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[9]
+ *
+ */
+ (rPHBNFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[10]
+ *
+ */
+ (rPHBNFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[11]
+ *
+ */
+ (rPHBNFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[12]
+ *
+ */
+ (rPHBNFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[13]
+ *
+ */
+ (rPHBNFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[14]
+ *
+ */
+ (rPHBNFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[15]
+ *
+ */
+ (rPHBNFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[16]
+ *
+ */
+ (rPHBNFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[17]
+ *
+ */
+ (rPHBNFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[18]
+ *
+ */
+ (rPHBNFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[19]
+ *
+ */
+ (rPHBNFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[20]
+ *
+ */
+ (rPHBNFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[21]
+ *
+ */
+ (rPHBNFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[22]
+ *
+ */
+ (rPHBNFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[23]
+ *
+ */
+ (rPHBNFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[24]
+ *
+ */
+ (rPHBNFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[25]
+ *
+ */
+ (rPHBNFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[26]
+ *
+ */
+ (rPHBNFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[27]
+ *
+ */
+ (rPHBNFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[28]
+ *
+ */
+ (rPHBNFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[29]
+ *
+ */
+ (rPHBNFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[30]
+ *
+ */
+ (rPHBNFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[31]
+ *
+ */
+ (rPHBNFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[32]
+ *
+ */
+ (rPHBNFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[33]
+ *
+ */
+ (rPHBNFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[34]
+ *
+ */
+ (rPHBNFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[35]
+ *
+ */
+ (rPHBNFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[36]
+ *
+ */
+ (rPHBNFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[37]
+ *
+ */
+ (rPHBNFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[38]
+ *
+ */
+ (rPHBNFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[39]
+ *
+ */
+ (rPHBNFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[40]
+ *
+ */
+ (rPHBNFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[41]
+ *
+ */
+ (rPHBNFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[42]
+ *
+ */
+ (rPHBNFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[43]
+ *
+ */
+ (rPHBNFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[44]
+ *
+ */
+ (rPHBNFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[45]
+ *
+ */
+ (rPHBNFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[46]
+ *
+ */
+ (rPHBNFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[47]
+ *
+ */
+ (rPHBNFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[48]
+ *
+ */
+ (rPHBNFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[49]
+ *
+ */
+ (rPHBNFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[50]
+ *
+ */
+ (rPHBNFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[51]
+ *
+ */
+ (rPHBNFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[52]
+ *
+ */
+ (rPHBNFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[53]
+ *
+ */
+ (rPHBNFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[54]
+ *
+ */
+ (rPHBNFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[55]
+ *
+ */
+ (rPHBNFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[56]
+ *
+ */
+ (rPHBNFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[57]
+ *
+ */
+ (rPHBNFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[58]
+ *
+ */
+ (rPHBNFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[59]
+ *
+ */
+ (rPHBNFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[60]
+ *
+ */
+ (rPHBNFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[61]
+ *
+ */
+ (rPHBNFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[62]
+ *
+ */
+ (rPHBNFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** PHBNFIR[63]
+ *
+ */
+ (rPHBNFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+################################################################################
+# P9 PHB target PCIFIR
+################################################################################
+
+rule rPCIFIR
+{
+ CHECK_STOP:
+ PCIFIR & ~PCIFIR_MASK & ~PCIFIR_ACT0 & ~PCIFIR_ACT1;
+ RECOVERABLE:
+ PCIFIR & ~PCIFIR_MASK & ~PCIFIR_ACT0 & PCIFIR_ACT1;
+};
+
+group gPCIFIR filter singlebit
+{
+ /** PCIFIR[0]
+ *
+ */
+ (rPCIFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** PCIFIR[1]
+ *
+ */
+ (rPCIFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** PCIFIR[2]
+ *
+ */
+ (rPCIFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** PCIFIR[3]
+ *
+ */
+ (rPCIFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** PCIFIR[4]
+ *
+ */
+ (rPCIFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** PCIFIR[5]
+ *
+ */
+ (rPCIFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** PCIFIR[6]
+ *
+ */
+ (rPCIFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** PCIFIR[7]
+ *
+ */
+ (rPCIFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** PCIFIR[8]
+ *
+ */
+ (rPCIFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** PCIFIR[9]
+ *
+ */
+ (rPCIFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** PCIFIR[10]
+ *
+ */
+ (rPCIFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** PCIFIR[11]
+ *
+ */
+ (rPCIFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** PCIFIR[12]
+ *
+ */
+ (rPCIFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** PCIFIR[13]
+ *
+ */
+ (rPCIFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** PCIFIR[14]
+ *
+ */
+ (rPCIFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** PCIFIR[15]
+ *
+ */
+ (rPCIFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** PCIFIR[16]
+ *
+ */
+ (rPCIFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** PCIFIR[17]
+ *
+ */
+ (rPCIFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** PCIFIR[18]
+ *
+ */
+ (rPCIFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** PCIFIR[19]
+ *
+ */
+ (rPCIFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** PCIFIR[20]
+ *
+ */
+ (rPCIFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** PCIFIR[21]
+ *
+ */
+ (rPCIFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** PCIFIR[22]
+ *
+ */
+ (rPCIFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** PCIFIR[23]
+ *
+ */
+ (rPCIFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** PCIFIR[24]
+ *
+ */
+ (rPCIFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** PCIFIR[25]
+ *
+ */
+ (rPCIFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** PCIFIR[26]
+ *
+ */
+ (rPCIFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** PCIFIR[27]
+ *
+ */
+ (rPCIFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** PCIFIR[28]
+ *
+ */
+ (rPCIFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** PCIFIR[29]
+ *
+ */
+ (rPCIFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** PCIFIR[30]
+ *
+ */
+ (rPCIFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** PCIFIR[31]
+ *
+ */
+ (rPCIFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** PCIFIR[32]
+ *
+ */
+ (rPCIFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** PCIFIR[33]
+ *
+ */
+ (rPCIFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** PCIFIR[34]
+ *
+ */
+ (rPCIFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** PCIFIR[35]
+ *
+ */
+ (rPCIFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** PCIFIR[36]
+ *
+ */
+ (rPCIFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** PCIFIR[37]
+ *
+ */
+ (rPCIFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** PCIFIR[38]
+ *
+ */
+ (rPCIFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** PCIFIR[39]
+ *
+ */
+ (rPCIFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** PCIFIR[40]
+ *
+ */
+ (rPCIFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** PCIFIR[41]
+ *
+ */
+ (rPCIFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** PCIFIR[42]
+ *
+ */
+ (rPCIFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** PCIFIR[43]
+ *
+ */
+ (rPCIFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** PCIFIR[44]
+ *
+ */
+ (rPCIFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** PCIFIR[45]
+ *
+ */
+ (rPCIFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** PCIFIR[46]
+ *
+ */
+ (rPCIFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** PCIFIR[47]
+ *
+ */
+ (rPCIFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** PCIFIR[48]
+ *
+ */
+ (rPCIFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** PCIFIR[49]
+ *
+ */
+ (rPCIFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** PCIFIR[50]
+ *
+ */
+ (rPCIFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** PCIFIR[51]
+ *
+ */
+ (rPCIFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** PCIFIR[52]
+ *
+ */
+ (rPCIFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** PCIFIR[53]
+ *
+ */
+ (rPCIFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** PCIFIR[54]
+ *
+ */
+ (rPCIFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** PCIFIR[55]
+ *
+ */
+ (rPCIFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** PCIFIR[56]
+ *
+ */
+ (rPCIFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** PCIFIR[57]
+ *
+ */
+ (rPCIFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** PCIFIR[58]
+ *
+ */
+ (rPCIFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** PCIFIR[59]
+ *
+ */
+ (rPCIFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** PCIFIR[60]
+ *
+ */
+ (rPCIFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** PCIFIR[61]
+ *
+ */
+ (rPCIFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** PCIFIR[62]
+ *
+ */
+ (rPCIFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** PCIFIR[63]
+ *
+ */
+ (rPCIFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+################################################################################
+# P9 PHB target ETUFIR
+################################################################################
+
+rule rETUFIR
+{
+ CHECK_STOP:
+ ETUFIR & ~ETUFIR_MASK & ~ETUFIR_ACT0 & ~ETUFIR_ACT1;
+ RECOVERABLE:
+ ETUFIR & ~ETUFIR_MASK & ~ETUFIR_ACT0 & ETUFIR_ACT1;
+};
+
+group gETUFIR filter singlebit
+{
+ /** ETUFIR[0]
+ *
+ */
+ (rETUFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** ETUFIR[1]
+ *
+ */
+ (rETUFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** ETUFIR[2]
+ *
+ */
+ (rETUFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** ETUFIR[3]
+ *
+ */
+ (rETUFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** ETUFIR[4]
+ *
+ */
+ (rETUFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** ETUFIR[5]
+ *
+ */
+ (rETUFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** ETUFIR[6]
+ *
+ */
+ (rETUFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** ETUFIR[7]
+ *
+ */
+ (rETUFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** ETUFIR[8]
+ *
+ */
+ (rETUFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** ETUFIR[9]
+ *
+ */
+ (rETUFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** ETUFIR[10]
+ *
+ */
+ (rETUFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** ETUFIR[11]
+ *
+ */
+ (rETUFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** ETUFIR[12]
+ *
+ */
+ (rETUFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** ETUFIR[13]
+ *
+ */
+ (rETUFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** ETUFIR[14]
+ *
+ */
+ (rETUFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** ETUFIR[15]
+ *
+ */
+ (rETUFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** ETUFIR[16]
+ *
+ */
+ (rETUFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** ETUFIR[17]
+ *
+ */
+ (rETUFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** ETUFIR[18]
+ *
+ */
+ (rETUFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** ETUFIR[19]
+ *
+ */
+ (rETUFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** ETUFIR[20]
+ *
+ */
+ (rETUFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** ETUFIR[21]
+ *
+ */
+ (rETUFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** ETUFIR[22]
+ *
+ */
+ (rETUFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** ETUFIR[23]
+ *
+ */
+ (rETUFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** ETUFIR[24]
+ *
+ */
+ (rETUFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** ETUFIR[25]
+ *
+ */
+ (rETUFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** ETUFIR[26]
+ *
+ */
+ (rETUFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** ETUFIR[27]
+ *
+ */
+ (rETUFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** ETUFIR[28]
+ *
+ */
+ (rETUFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** ETUFIR[29]
+ *
+ */
+ (rETUFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** ETUFIR[30]
+ *
+ */
+ (rETUFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** ETUFIR[31]
+ *
+ */
+ (rETUFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** ETUFIR[32]
+ *
+ */
+ (rETUFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** ETUFIR[33]
+ *
+ */
+ (rETUFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** ETUFIR[34]
+ *
+ */
+ (rETUFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** ETUFIR[35]
+ *
+ */
+ (rETUFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** ETUFIR[36]
+ *
+ */
+ (rETUFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** ETUFIR[37]
+ *
+ */
+ (rETUFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** ETUFIR[38]
+ *
+ */
+ (rETUFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** ETUFIR[39]
+ *
+ */
+ (rETUFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** ETUFIR[40]
+ *
+ */
+ (rETUFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** ETUFIR[41]
+ *
+ */
+ (rETUFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** ETUFIR[42]
+ *
+ */
+ (rETUFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** ETUFIR[43]
+ *
+ */
+ (rETUFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** ETUFIR[44]
+ *
+ */
+ (rETUFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** ETUFIR[45]
+ *
+ */
+ (rETUFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** ETUFIR[46]
+ *
+ */
+ (rETUFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** ETUFIR[47]
+ *
+ */
+ (rETUFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** ETUFIR[48]
+ *
+ */
+ (rETUFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** ETUFIR[49]
+ *
+ */
+ (rETUFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** ETUFIR[50]
+ *
+ */
+ (rETUFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** ETUFIR[51]
+ *
+ */
+ (rETUFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** ETUFIR[52]
+ *
+ */
+ (rETUFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** ETUFIR[53]
+ *
+ */
+ (rETUFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** ETUFIR[54]
+ *
+ */
+ (rETUFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** ETUFIR[55]
+ *
+ */
+ (rETUFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** ETUFIR[56]
+ *
+ */
+ (rETUFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** ETUFIR[57]
+ *
+ */
+ (rETUFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** ETUFIR[58]
+ *
+ */
+ (rETUFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** ETUFIR[59]
+ *
+ */
+ (rETUFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** ETUFIR[60]
+ *
+ */
+ (rETUFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** ETUFIR[61]
+ *
+ */
+ (rETUFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** ETUFIR[62]
+ *
+ */
+ (rETUFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** ETUFIR[63]
+ *
+ */
+ (rETUFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+ ##############################################################################
+ # #
+ # # ### #
+ # # # ## ##### ### ### # # # # # # ### ### ### ### #
+ # # # # # # # # # ## # # # # # # # # # #
+ # ####### # # # # # # # # # # ##### ### ### ## ### #
+ # # # # # # # # # # ## # # # # # # # # # #
+ # # # ## # ### ### # # ### ### # # ### ### ### ### #
+ # #
+ ##############################################################################
+
+# Include the common action set.
+.include "p9_common_actions.rule";
+
diff --git a/src/usr/diag/prdf/common/plat/p9/p9_xbus.rule b/src/usr/diag/prdf/common/plat/p9/p9_xbus.rule
new file mode 100644
index 000000000..0899e06ef
--- /dev/null
+++ b/src/usr/diag/prdf/common/plat/p9/p9_xbus.rule
@@ -0,0 +1,463 @@
+# IBM_PROLOG_BEGIN_TAG
+# This is an automatically generated prolog.
+#
+# $Source: src/usr/diag/prdf/common/plat/p9/p9_xbus.rule $
+#
+# OpenPOWER HostBoot Project
+#
+# Contributors Listed Below - COPYRIGHT 2016
+# [+] International Business Machines Corp.
+#
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# permissions and limitations under the License.
+#
+# IBM_PROLOG_END_TAG
+
+chip p9_xbus
+{
+ name "P9 XBUS chiplet";
+ targettype TYPE_XBUS;
+ sigoff 0x9000;
+ dump DUMP_CONTENT_HW;
+ scomlen 64;
+
+ #############################################################################
+ # #
+ # ###### #
+ # # # ###### #### ### #### ##### ###### ##### #### #
+ # # # # # # # # # # # # # #
+ # ###### ##### # # #### # ##### # # #### #
+ # # # # # ### # # # # ##### # #
+ # # # # # # # # # # # # # # # #
+ # # # ###### #### ### #### # ###### # # #### #
+ # #
+ #############################################################################
+
+ ############################################################################
+ # P9 XBUS target IOELFIR
+ ############################################################################
+
+ register IOELFIR
+ {
+ name "P9 XBUS target IOELFIR";
+ scomaddr 0x06011800;
+ reset (&, 0x06011801);
+ mask (|, 0x06011805);
+ capture group default;
+ };
+
+ register IOELFIR_MASK
+ {
+ name "P9 XBUS target IOELFIR MASK";
+ scomaddr 0x06011803;
+ capture group default;
+ };
+
+ register IOELFIR_ACT0
+ {
+ name "P9 XBUS target IOELFIR ACT0";
+ scomaddr 0x06011806;
+ capture group default;
+ capture req nonzero("IOELFIR");
+ };
+
+ register IOELFIR_ACT1
+ {
+ name "P9 XBUS target IOELFIR ACT1";
+ scomaddr 0x06011807;
+ capture group default;
+ capture req nonzero("IOELFIR");
+ };
+
+};
+
+ ##############################################################################
+ # #
+ # #### # #
+ # # # # # # ##### ### # # # ## ##### ### ### # # ### #
+ # # # # # # # # # # # # # # # # # ## # # #
+ # #### # # # #### ### # ####### # # # # # # # # ### #
+ # # # # # # # # # # # # # # # # # # ## # #
+ # # # ### #### ##### ### # # # ## # ### ### # # ### #
+ # #
+ ##############################################################################
+
+################################################################################
+# Summary for XBUS
+################################################################################
+
+rule rXBUS
+{
+ CHECK_STOP:
+ summary( 0, rIOELFIR );
+
+ RECOVERABLE:
+ summary( 0, rIOELFIR );
+
+};
+
+group gXBUS attntype CHECK_STOP, RECOVERABLE
+{
+ (rXBUS, bit(0)) ? analyze(gIOELFIR);
+};
+
+################################################################################
+# P9 XBUS target IOELFIR
+################################################################################
+
+rule rIOELFIR
+{
+ CHECK_STOP:
+ IOELFIR & ~IOELFIR_MASK & ~IOELFIR_ACT0 & ~IOELFIR_ACT1;
+ RECOVERABLE:
+ IOELFIR & ~IOELFIR_MASK & ~IOELFIR_ACT0 & IOELFIR_ACT1;
+};
+
+group gIOELFIR filter singlebit
+{
+ /** IOELFIR[0]
+ *
+ */
+ (rIOELFIR, bit(0)) ? TBDDefaultCallout;
+
+ /** IOELFIR[1]
+ *
+ */
+ (rIOELFIR, bit(1)) ? TBDDefaultCallout;
+
+ /** IOELFIR[2]
+ *
+ */
+ (rIOELFIR, bit(2)) ? TBDDefaultCallout;
+
+ /** IOELFIR[3]
+ *
+ */
+ (rIOELFIR, bit(3)) ? TBDDefaultCallout;
+
+ /** IOELFIR[4]
+ *
+ */
+ (rIOELFIR, bit(4)) ? TBDDefaultCallout;
+
+ /** IOELFIR[5]
+ *
+ */
+ (rIOELFIR, bit(5)) ? TBDDefaultCallout;
+
+ /** IOELFIR[6]
+ *
+ */
+ (rIOELFIR, bit(6)) ? TBDDefaultCallout;
+
+ /** IOELFIR[7]
+ *
+ */
+ (rIOELFIR, bit(7)) ? TBDDefaultCallout;
+
+ /** IOELFIR[8]
+ *
+ */
+ (rIOELFIR, bit(8)) ? TBDDefaultCallout;
+
+ /** IOELFIR[9]
+ *
+ */
+ (rIOELFIR, bit(9)) ? TBDDefaultCallout;
+
+ /** IOELFIR[10]
+ *
+ */
+ (rIOELFIR, bit(10)) ? TBDDefaultCallout;
+
+ /** IOELFIR[11]
+ *
+ */
+ (rIOELFIR, bit(11)) ? TBDDefaultCallout;
+
+ /** IOELFIR[12]
+ *
+ */
+ (rIOELFIR, bit(12)) ? TBDDefaultCallout;
+
+ /** IOELFIR[13]
+ *
+ */
+ (rIOELFIR, bit(13)) ? TBDDefaultCallout;
+
+ /** IOELFIR[14]
+ *
+ */
+ (rIOELFIR, bit(14)) ? TBDDefaultCallout;
+
+ /** IOELFIR[15]
+ *
+ */
+ (rIOELFIR, bit(15)) ? TBDDefaultCallout;
+
+ /** IOELFIR[16]
+ *
+ */
+ (rIOELFIR, bit(16)) ? TBDDefaultCallout;
+
+ /** IOELFIR[17]
+ *
+ */
+ (rIOELFIR, bit(17)) ? TBDDefaultCallout;
+
+ /** IOELFIR[18]
+ *
+ */
+ (rIOELFIR, bit(18)) ? TBDDefaultCallout;
+
+ /** IOELFIR[19]
+ *
+ */
+ (rIOELFIR, bit(19)) ? TBDDefaultCallout;
+
+ /** IOELFIR[20]
+ *
+ */
+ (rIOELFIR, bit(20)) ? TBDDefaultCallout;
+
+ /** IOELFIR[21]
+ *
+ */
+ (rIOELFIR, bit(21)) ? TBDDefaultCallout;
+
+ /** IOELFIR[22]
+ *
+ */
+ (rIOELFIR, bit(22)) ? TBDDefaultCallout;
+
+ /** IOELFIR[23]
+ *
+ */
+ (rIOELFIR, bit(23)) ? TBDDefaultCallout;
+
+ /** IOELFIR[24]
+ *
+ */
+ (rIOELFIR, bit(24)) ? TBDDefaultCallout;
+
+ /** IOELFIR[25]
+ *
+ */
+ (rIOELFIR, bit(25)) ? TBDDefaultCallout;
+
+ /** IOELFIR[26]
+ *
+ */
+ (rIOELFIR, bit(26)) ? TBDDefaultCallout;
+
+ /** IOELFIR[27]
+ *
+ */
+ (rIOELFIR, bit(27)) ? TBDDefaultCallout;
+
+ /** IOELFIR[28]
+ *
+ */
+ (rIOELFIR, bit(28)) ? TBDDefaultCallout;
+
+ /** IOELFIR[29]
+ *
+ */
+ (rIOELFIR, bit(29)) ? TBDDefaultCallout;
+
+ /** IOELFIR[30]
+ *
+ */
+ (rIOELFIR, bit(30)) ? TBDDefaultCallout;
+
+ /** IOELFIR[31]
+ *
+ */
+ (rIOELFIR, bit(31)) ? TBDDefaultCallout;
+
+ /** IOELFIR[32]
+ *
+ */
+ (rIOELFIR, bit(32)) ? TBDDefaultCallout;
+
+ /** IOELFIR[33]
+ *
+ */
+ (rIOELFIR, bit(33)) ? TBDDefaultCallout;
+
+ /** IOELFIR[34]
+ *
+ */
+ (rIOELFIR, bit(34)) ? TBDDefaultCallout;
+
+ /** IOELFIR[35]
+ *
+ */
+ (rIOELFIR, bit(35)) ? TBDDefaultCallout;
+
+ /** IOELFIR[36]
+ *
+ */
+ (rIOELFIR, bit(36)) ? TBDDefaultCallout;
+
+ /** IOELFIR[37]
+ *
+ */
+ (rIOELFIR, bit(37)) ? TBDDefaultCallout;
+
+ /** IOELFIR[38]
+ *
+ */
+ (rIOELFIR, bit(38)) ? TBDDefaultCallout;
+
+ /** IOELFIR[39]
+ *
+ */
+ (rIOELFIR, bit(39)) ? TBDDefaultCallout;
+
+ /** IOELFIR[40]
+ *
+ */
+ (rIOELFIR, bit(40)) ? TBDDefaultCallout;
+
+ /** IOELFIR[41]
+ *
+ */
+ (rIOELFIR, bit(41)) ? TBDDefaultCallout;
+
+ /** IOELFIR[42]
+ *
+ */
+ (rIOELFIR, bit(42)) ? TBDDefaultCallout;
+
+ /** IOELFIR[43]
+ *
+ */
+ (rIOELFIR, bit(43)) ? TBDDefaultCallout;
+
+ /** IOELFIR[44]
+ *
+ */
+ (rIOELFIR, bit(44)) ? TBDDefaultCallout;
+
+ /** IOELFIR[45]
+ *
+ */
+ (rIOELFIR, bit(45)) ? TBDDefaultCallout;
+
+ /** IOELFIR[46]
+ *
+ */
+ (rIOELFIR, bit(46)) ? TBDDefaultCallout;
+
+ /** IOELFIR[47]
+ *
+ */
+ (rIOELFIR, bit(47)) ? TBDDefaultCallout;
+
+ /** IOELFIR[48]
+ *
+ */
+ (rIOELFIR, bit(48)) ? TBDDefaultCallout;
+
+ /** IOELFIR[49]
+ *
+ */
+ (rIOELFIR, bit(49)) ? TBDDefaultCallout;
+
+ /** IOELFIR[50]
+ *
+ */
+ (rIOELFIR, bit(50)) ? TBDDefaultCallout;
+
+ /** IOELFIR[51]
+ *
+ */
+ (rIOELFIR, bit(51)) ? TBDDefaultCallout;
+
+ /** IOELFIR[52]
+ *
+ */
+ (rIOELFIR, bit(52)) ? TBDDefaultCallout;
+
+ /** IOELFIR[53]
+ *
+ */
+ (rIOELFIR, bit(53)) ? TBDDefaultCallout;
+
+ /** IOELFIR[54]
+ *
+ */
+ (rIOELFIR, bit(54)) ? TBDDefaultCallout;
+
+ /** IOELFIR[55]
+ *
+ */
+ (rIOELFIR, bit(55)) ? TBDDefaultCallout;
+
+ /** IOELFIR[56]
+ *
+ */
+ (rIOELFIR, bit(56)) ? TBDDefaultCallout;
+
+ /** IOELFIR[57]
+ *
+ */
+ (rIOELFIR, bit(57)) ? TBDDefaultCallout;
+
+ /** IOELFIR[58]
+ *
+ */
+ (rIOELFIR, bit(58)) ? TBDDefaultCallout;
+
+ /** IOELFIR[59]
+ *
+ */
+ (rIOELFIR, bit(59)) ? TBDDefaultCallout;
+
+ /** IOELFIR[60]
+ *
+ */
+ (rIOELFIR, bit(60)) ? TBDDefaultCallout;
+
+ /** IOELFIR[61]
+ *
+ */
+ (rIOELFIR, bit(61)) ? TBDDefaultCallout;
+
+ /** IOELFIR[62]
+ *
+ */
+ (rIOELFIR, bit(62)) ? TBDDefaultCallout;
+
+ /** IOELFIR[63]
+ *
+ */
+ (rIOELFIR, bit(63)) ? TBDDefaultCallout;
+
+};
+
+ ##############################################################################
+ # #
+ # # ### #
+ # # # ## ##### ### ### # # # # # # ### ### ### ### #
+ # # # # # # # # # ## # # # # # # # # # #
+ # ####### # # # # # # # # # # ##### ### ### ## ### #
+ # # # # # # # # # # ## # # # # # # # # # #
+ # # # ## # ### ### # # ### ### # # ### ### ### ### #
+ # #
+ ##############################################################################
+
+# Include the common action set.
+.include "p9_common_actions.rule";
+
diff --git a/src/usr/diag/prdf/common/rule/prdf_rule.mk b/src/usr/diag/prdf/common/rule/prdf_rule.mk
index 3b80b3eb3..9ae0df31e 100644
--- a/src/usr/diag/prdf/common/rule/prdf_rule.mk
+++ b/src/usr/diag/prdf/common/rule/prdf_rule.mk
@@ -24,12 +24,18 @@
# IBM_PROLOG_END_TAG
# Add Rule tables here:
-PRDR_RULE_TABLES += MuranoVeniceProc.prf
-PRDR_RULE_TABLES += NaplesProc.prf
-PRDR_RULE_TABLES += Ex.prf
-PRDR_RULE_TABLES += Mcs.prf
-PRDR_RULE_TABLES += Membuf.prf
-PRDR_RULE_TABLES += Mba.prf
+PRDR_RULE_TABLES += p9_nimbus.prf
+PRDR_RULE_TABLES += p9_eq.prf
+PRDR_RULE_TABLES += p9_ex.prf
+PRDR_RULE_TABLES += p9_ec.prf
+PRDR_RULE_TABLES += p9_capp.prf
+PRDR_RULE_TABLES += p9_pec.prf
+PRDR_RULE_TABLES += p9_phb.prf
+PRDR_RULE_TABLES += p9_obus.prf
+PRDR_RULE_TABLES += p9_xbus.prf
+PRDR_RULE_TABLES += p9_mcbist.prf
+PRDR_RULE_TABLES += p9_mcs.prf
+PRDR_RULE_TABLES += p9_mca.prf
prd_rule_prf_targets = ${PRDR_RULE_TABLES}
prd_rule_err_targets = ${PRDR_RULE_TABLES:.prf=.prf.err.C}
diff --git a/src/usr/diag/prdf/common/rule/prdrCompile.C b/src/usr/diag/prdf/common/rule/prdrCompile.C
index 2f9156ea1..f6c89e925 100644
--- a/src/usr/diag/prdf/common/rule/prdrCompile.C
+++ b/src/usr/diag/prdf/common/rule/prdrCompile.C
@@ -435,17 +435,20 @@ uint32_t prdrActionArgMap(const std::string & i_arg)
// Initialize target types.
g_ActionArgMap["TYPE_PROC"] = TARGETING::TYPE_PROC;
- g_ActionArgMap["TYPE_NX"] = TARGETING::TYPE_NX;
+ g_ActionArgMap["TYPE_EQ"] = TARGETING::TYPE_EQ;
g_ActionArgMap["TYPE_EX"] = TARGETING::TYPE_EX;
+ g_ActionArgMap["TYPE_CORE"] = TARGETING::TYPE_CORE;
+ g_ActionArgMap["TYPE_CAPP"] = TARGETING::TYPE_CAPP;
+ g_ActionArgMap["TYPE_PEC"] = TARGETING::TYPE_PEC;
+ g_ActionArgMap["TYPE_PHB"] = TARGETING::TYPE_PHB;
+ g_ActionArgMap["TYPE_OBUS"] = TARGETING::TYPE_OBUS;
g_ActionArgMap["TYPE_XBUS"] = TARGETING::TYPE_XBUS;
- g_ActionArgMap["TYPE_ABUS"] = TARGETING::TYPE_ABUS;
- g_ActionArgMap["TYPE_PCI"] = TARGETING::TYPE_PCI;
+ g_ActionArgMap["TYPE_MCBIST"] = TARGETING::TYPE_MCBIST;
g_ActionArgMap["TYPE_MCS"] = TARGETING::TYPE_MCS;
+ g_ActionArgMap["TYPE_MCA"] = TARGETING::TYPE_MCA;
g_ActionArgMap["TYPE_MEMBUF"] = TARGETING::TYPE_MEMBUF;
g_ActionArgMap["TYPE_L4"] = TARGETING::TYPE_L4;
g_ActionArgMap["TYPE_MBA"] = TARGETING::TYPE_MBA;
- g_ActionArgMap["TYPE_OCC"] = TARGETING::TYPE_OCC;
- g_ActionArgMap["TYPE_PSI"] = TARGETING::TYPE_PSI;
g_ActionArgMap["TYPE_NA"] = TARGETING::TYPE_NA;
// Initialize symbolic callouts.
diff --git a/src/usr/diag/prdf/rule/makefile b/src/usr/diag/prdf/rule/makefile
index 6a4896654..199dff26a 100755
--- a/src/usr/diag/prdf/rule/makefile
+++ b/src/usr/diag/prdf/rule/makefile
@@ -196,8 +196,8 @@ ${PRDR_CMP_PATH}: ${PRDR_CMP_YACC_o_PATH} ${PRDR_CMP_FLEX_o_PATH} \
# Build the *.prf, *.err.C, and *.reg.C files
#------------------------------------------------------------------------------
-vpath %.rule ../common/plat/pegasus
-PRDRPP_SEARCHDIRS = -I../common/plat/pegasus
+vpath %.rule ../common/plat/p9 ../common/plat/cen
+PRDRPP_SEARCHDIRS = -I../common/plat/p9 -I../common/plat/cen
${OBJ_RULE_DIR}/%.prf \
${OBJ_RULE_DIR}/%.prf.err.C \
OpenPOWER on IntegriCloud