# IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # $Source: src/usr/diag/prdf/common/plat/pegasus/Membuf_acts_TP.rule $ # # OpenPOWER HostBoot Project # # COPYRIGHT International Business Machines Corp. 2012,2014 # # 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 ################################################################################ # TP Chiplet Registers ################################################################################ rule TpChipletFir { CHECK_STOP: (TP_CHIPLET_CS_FIR & `1000000000000000`) & ~TP_CHIPLET_FIR_MASK; UNIT_CS: (TP_CHIPLET_CS_FIR & `1000000000000000`) & ~TP_CHIPLET_FIR_MASK; RECOVERABLE: ((TP_CHIPLET_RE_FIR >> 2) & `1000000000000000`) & ~TP_CHIPLET_FIR_MASK; }; group gTpChipletFir filter singlebit { /** TP_CHIPLET_FIR[3] * Attention from LFIR */ (TpChipletFir, bit(3)) ? analyze(gTpLFir); }; ################################################################################ # TP Chiplet LFIR ################################################################################ # RAS spreadsheet: p8dd1_mss_FFDC_37_ reviewd.xls rule TpLFir { CHECK_STOP: TP_LFIR & ~TP_LFIR_MASK & ~TP_LFIR_ACT0 & ~TP_LFIR_ACT1; UNIT_CS: TP_LFIR & ~TP_LFIR_MASK & ~TP_LFIR_ACT0 & ~TP_LFIR_ACT1; RECOVERABLE: TP_LFIR & ~TP_LFIR_MASK & ~TP_LFIR_ACT0 & TP_LFIR_ACT1; }; group gTpLFir filter singlebit { /** TP_LFIR[0] * CFIR internal parity error */ (TpLFir, bit(0)) ? thresholdAndMask_self; /** TP_LFIR[1] * Local errors from GPIO (PCB error) */ (TpLFir, bit(1)) ? defaultMaskedError; /** TP_LFIR[2] * Local errors from CC (PCB error) */ (TpLFir, bit(2)) ? defaultMaskedError; /** TP_LFIR[3] * Local errors from CC (OPCG, parity, scan collision, ...) */ (TpLFir, bit(3)) ? defaultMaskedError; /** TP_LFIR[4] * Local errors from PSC (PCB error) */ (TpLFir, bit(4)) ? defaultMaskedError; /** TP_LFIR[5] * Local errors from PSC (parity error) */ (TpLFir, bit(5)) ? defaultMaskedError; /** TP_LFIR[6] * Local errors from Thermal (parity error) */ (TpLFir, bit(6)) ? defaultMaskedError; /** TP_LFIR[7] * Local errors from Thermal (PCB error) */ (TpLFir, bit(7)) ? defaultMaskedError; /** TP_LFIR[8:10] * Local errors from Thermal (Trip error) */ (TpLFir, bit(8|9|10)) ? defaultMaskedError; /** TP_LFIR[11:12] * Local errors from Trace Array ( error) */ (TpLFir, bit(11|12)) ? defaultMaskedError; /** TP_LFIR[13:14] * Local errors from ITR */ (TpLFir, bit(13|14)) ? thresholdAndMask_self; /** TP_LFIR[15] * Local errors from ITR ( itr_tc_pcbsl_slave_fir_err ) */ (TpLFir, bit(15)) ? defaultMaskedError; /** TP_LFIR[16:18] * Local errors from PIB */ (TpLFir, bit(16|17|18)) ? defaultMaskedError; /** TP_LFIR[19] * local errors from nest PLL * * These should never trigger directly themselves. * Should be handled by global PRD PLL code. */ (TpLFir, bit(19)) ? threshold32pday; /** TP_LFIR[20] * local errors from mem PLL * * These should never trigger directly themselves. * Should be handled by global PRD PLL code. */ (TpLFir, bit(20)) ? threshold32pday; /** TP_LFIR[40] * local errors from mem PLL * * Malfunction alert (local xstop in another chiplet) */ (TpLFir, bit(40)) ? defaultMaskedError; }; ################################################################################ # Actions specific to TP chiplet ################################################################################