diff options
author | Zane Shelley <zshelle@us.ibm.com> | 2016-04-08 10:15:50 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2016-05-02 12:00:33 -0400 |
commit | 2e1bc4b539ab9ccac5045d8ef7e937378af91901 (patch) | |
tree | d558061ece2a5da586301babf0563a03378ff779 /src/usr | |
parent | 7057ace0dd090782177982d9dcda3532286e33ab (diff) | |
download | talos-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')
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 \ |