# IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # $Source: src/usr/diag/prdf/common/plat/nimbus/nimbus_mcs.rule $ # # OpenPOWER HostBoot Project # # Contributors Listed Below - COPYRIGHT 2016,2019 # [+] 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 nimbus_mcs { name "NIMBUS MCS target"; targettype TYPE_MCS; sigoff 0x9000; dump DUMP_CONTENT_HW; scomlen 64; ############################################################################# # # # ###### # # # # ###### #### ### #### ##### ###### ##### #### # # # # # # # # # # # # # # # # ###### ##### # # #### # ##### # # #### # # # # # # ### # # # # ##### # # # # # # # # # # # # # # # # # # # # # ###### #### ### #### # ###### # # #### # # # ############################################################################# ############################################################################ # P9 MCS target MCFIR ############################################################################ register MCFIR { name "P9 MCS target MCFIR"; scomaddr 0x05010800; reset (&, 0x05010801); mask (|, 0x05010805); capture group default; capture group MirrorConfig; }; register MCFIR_MASK { name "P9 MCS target MCFIR MASK"; scomaddr 0x05010803; capture group default; capture group MirrorConfig; }; register MCFIR_ACT0 { name "P9 MCS target MCFIR ACT0"; scomaddr 0x05010806; capture group default; capture group MirrorConfig; capture req nonzero("MCFIR"); }; register MCFIR_ACT1 { name "P9 MCS target MCFIR ACT1"; scomaddr 0x05010807; capture group default; capture group MirrorConfig; capture req nonzero("MCFIR"); }; # Include registers not defined by the xml .include "nimbus_mcs_regs.rule"; }; ############################################################################## # # # #### # # # # # # # # ##### ### # # # ## ##### ### ### # # ### # # # # # # # # # # # # # # # # # # ## # # # # #### # # # #### ### # ####### # # # # # # # # ### # # # # # # # # # # # # # # # # # # # ## # # # # # ### #### ##### ### # # # ## # ### ### # # ### # # # ############################################################################## ################################################################################ # Summary for MCS ################################################################################ rule rMCS { CHECK_STOP: summary( 0, rMCFIR ); RECOVERABLE: summary( 0, rMCFIR ); UNIT_CS: summary( 0, rMCFIR ); HOST_ATTN: summary( 0, rMCFIR ); }; group gMCS attntype CHECK_STOP, RECOVERABLE, UNIT_CS, HOST_ATTN filter singlebit { (rMCS, bit(0)) ? analyzeMCFIR; }; ################################################################################ # P9 MCS target MCFIR ################################################################################ rule rMCFIR { CHECK_STOP: MCFIR & ~MCFIR_MASK & ~MCFIR_ACT0 & ~MCFIR_ACT1; RECOVERABLE: MCFIR & ~MCFIR_MASK & ~MCFIR_ACT0 & MCFIR_ACT1; HOST_ATTN: MCFIR & ~MCFIR_MASK & MCFIR_ACT0 & ~MCFIR_ACT1; UNIT_CS: MCFIR & ~MCFIR_MASK & MCFIR_ACT0 & MCFIR_ACT1; }; group gMCFIR filter singlebit, cs_root_cause(0,6,8,9) { /** MCFIR[0] * mc internal recoverable eror */ (rMCFIR, bit(0)) ? nvdimm_self_th_1; /** MCFIR[1] * mc internal non recovervable error */ (rMCFIR, bit(1)) ? self_th_1; /** MCFIR[2] * powerbus protocol error */ (rMCFIR, bit(2)) ? level2_th_1; /** MCFIR[3] * bat with with incorrect tty pe */ (rMCFIR, bit(3)) ? defaultMaskedError; /** MCFIR[4] * multiple bar */ (rMCFIR, bit(4)) ? level2_M_self_L_th_1; /** MCFIR[5] * invalid address */ (rMCFIR, bit(5)) ? level2_th_1; /** MCFIR[6] * illegal consumer access */ (rMCFIR, bit(6)) ? defaultMaskedError; /** MCFIR[7] * illegal producer access */ (rMCFIR, bit(7)) ? defaultMaskedError; /** MCFIR[8] * command list timeout */ (rMCFIR, bit(8)) ? threshold_and_mask_level2; /** MCFIR[9] * channel 0 timeout */ (rMCFIR, bit(9)) ? defaultMaskedError; /** MCFIR[10] * channel 1 timeout */ (rMCFIR, bit(10)) ? defaultMaskedError; /** MCFIR[11] * mcs wat0 event */ (rMCFIR, bit(11)) ? defaultMaskedError; /** MCFIR[12] * mcs wat1 event */ (rMCFIR, bit(12)) ? defaultMaskedError; /** MCFIR[13] * mcs wat2 event */ (rMCFIR, bit(13)) ? defaultMaskedError; /** MCFIR[14] * mcs wat3 event */ (rMCFIR, bit(14)) ? defaultMaskedError; /** MCFIR[15] * mirror action occurred */ (rMCFIR, bit(15)) ? defaultMaskedError; /** MCFIR[16] * centaur sync command detected */ (rMCFIR, bit(16)) ? defaultMaskedError; /** MCFIR[17] * debug config reg error */ (rMCFIR, bit(17)) ? defaultMaskedError; /** MCFIR[18:23] * spare */ (rMCFIR, bit(18|19|20|21|22|23)) ? defaultMaskedError; /** MCFIR[24] * scom ERROR */ (rMCFIR, bit(24)) ? defaultMaskedError; /** MCFIR[25] * scom error */ (rMCFIR, bit(25)) ? defaultMaskedError; }; ############################################################################## # # # # ### # # # # ## ##### ### ### # # # # # # ### ### ### ### # # # # # # # # # # ## # # # # # # # # # # # ####### # # # # # # # # # # ##### ### ### ## ### # # # # # # # # # # # ## # # # # # # # # # # # # # ## # ### ### # # ### ### # # ### ### ### ### # # # ############################################################################## # Include the actions defined for this target .include "p9_common_actions.rule"; .include "nimbus_mcs_actions.rule";