diff options
Diffstat (limited to 'src/usr/diag/prdf/plat/pegasus/Proc_acts_ABUS.rule')
-rw-r--r-- | src/usr/diag/prdf/plat/pegasus/Proc_acts_ABUS.rule | 344 |
1 files changed, 344 insertions, 0 deletions
diff --git a/src/usr/diag/prdf/plat/pegasus/Proc_acts_ABUS.rule b/src/usr/diag/prdf/plat/pegasus/Proc_acts_ABUS.rule new file mode 100644 index 000000000..5f3b423d9 --- /dev/null +++ b/src/usr/diag/prdf/plat/pegasus/Proc_acts_ABUS.rule @@ -0,0 +1,344 @@ +# IBM_PROLOG_BEGIN_TAG +# This is an automatically generated prolog. +# +# $Source: src/usr/diag/prdf/plat/pegasus/Proc_acts_ABUS.rule $ +# +# IBM CONFIDENTIAL +# +# COPYRIGHT International Business Machines Corp. 2012 +# +# p1 +# +# Object Code Only (OCO) source materials +# Licensed Internal Code Source Materials +# IBM HostBoot Licensed Internal Code +# +# The source code for this program is not published or otherwise +# divested of its trade secrets, irrespective of what has been +# deposited with the U.S. Copyright Office. +# +# Origin: 30 +# +# IBM_PROLOG_END_TAG + +################################################################################ +# ABUS Chiplet Registers +################################################################################ + +rule AbusChipletFir +{ + CHECK_STOP: + (ABUS_CHIPLET_CS_FIR & `1C00000000000000`) & ~ABUS_CHIPLET_FIR_MASK; + RECOVERABLE: + ((ABUS_CHIPLET_RE_FIR >> 2) & `1C00000000000000`) & ~ABUS_CHIPLET_FIR_MASK; +}; + +group gAbusChipletFir filter singlebit +{ + /** ABUS_CHIPLET_FIR[3] + * Attention from LFIR + */ + (AbusChipletFir, bit(3)) ? analyze(gAbusLFir); + + /** ABUS_CHIPLET_FIR[4] + * Attention from PBESFIR + */ + (AbusChipletFir, bit(4)) ? analyze(gPbesFir); + + /** ABUS_CHIPLET_FIR[5] + * Attention from IOAFIR + */ + (AbusChipletFir, bit(5)) ? analyze(gIoaFir); +}; + +################################################################################ +# ABUS Chiplet LFIR +################################################################################ + +rule AbusLFir +{ + CHECK_STOP: ABUS_LFIR & ~ABUS_LFIR_MASK & ~ABUS_LFIR_ACT0 & ~ABUS_LFIR_ACT1; + RECOVERABLE: ABUS_LFIR & ~ABUS_LFIR_MASK & ~ABUS_LFIR_ACT0 & ABUS_LFIR_ACT1; +}; + +group gAbusLFir filter singlebit +{ + /** ABUS_LFIR[0] + * CFIR internal parity error + */ + (AbusLFir, bit(0)) ? TBDDefaultCallout; + + /** ABUS_LFIR[1] + * Local errors from GPIO (PCB error) + */ + (AbusLFir, bit(1)) ? TBDDefaultCallout; + + /** ABUS_LFIR[2] + * Local errors from CC (PCB error) + */ + (AbusLFir, bit(2)) ? TBDDefaultCallout; + + /** ABUS_LFIR[3] + * Local errors from CC (OPCG, parity, scan collision, ...) + */ + (AbusLFir, bit(3)) ? TBDDefaultCallout; + + /** ABUS_LFIR[4] + * Local errors from PSC (PCB error) + */ + (AbusLFir, bit(4)) ? TBDDefaultCallout; + + /** ABUS_LFIR[5] + * Local errors from PSC (parity error) + */ + (AbusLFir, bit(5)) ? TBDDefaultCallout; + + /** ABUS_LFIR[6] + * Local errors from Thermal (parity error) + */ + (AbusLFir, bit(6)) ? TBDDefaultCallout; + + /** ABUS_LFIR[7] + * Local errors from Thermal (PCB error) + */ + (AbusLFir, bit(7)) ? TBDDefaultCallout; + + /** ABUS_LFIR[8|9] + * Local errors from Thermal (Trip error) + */ + (AbusLFir, bit(8|9)) ? TBDDefaultCallout; + + /** ABUS_LFIR[10|11] + * Local errors from Trace Array ( error) + */ + (AbusLFir, bit(10|11)) ? TBDDefaultCallout; +}; + +################################################################################ +# ABUS Chiplet PBESFIR +################################################################################ + +rule PbesFir +{ + CHECK_STOP: + PBESFIR & ~PBESFIR_MASK & ~PBESFIR_ACT0 & ~PBESFIR_ACT1; + RECOVERABLE: + PBESFIR & ~PBESFIR_MASK & ~PBESFIR_ACT0 & PBESFIR_ACT1; +}; + +group gPbesFir filter singlebit +{ + /** PBESFIR[0] + * A0LINK_FMR_ERROR: a0link_fmr_error + */ + (PbesFir, bit(0)) ? TBDDefaultCallout; + + /** PBESFIR[1] + * A1LINK_FMR_ERROR: a1link_fmr_error + */ + (PbesFir, bit(1)) ? TBDDefaultCallout; + + /** PBESFIR[2] + * A2LINK_FMR_ERROR: a2link_fmr_error + */ + (PbesFir, bit(2)) ? TBDDefaultCallout; + + /** PBESFIR[3] + * A0LINK_PSR_ERR: a0link_psr_err + */ + (PbesFir, bit(3)) ? TBDDefaultCallout; + + /** PBESFIR[4] + * A1LINK_PSR_ERR: a1link_psr_err + */ + (PbesFir, bit(4)) ? TBDDefaultCallout; + + /** PBESFIR[5] + * A2LINK_PSR_ERR: a2link_psr_err + */ + (PbesFir, bit(5)) ? TBDDefaultCallout; + + /** PBESFIR[6] + * A0LINK_PSR_COR_ERR + */ + (PbesFir, bit(6)) ? TBDDefaultCallout; + + /** PBESFIR[7] + * A0LINK_PSR_DERR_ERR + */ + (PbesFir, bit(7)) ? TBDDefaultCallout; + + /** PBESFIR[8] + * A0LINK_PSR_UNC_ERR + */ + (PbesFir, bit(8)) ? TBDDefaultCallout; + + /** PBESFIR[9] + * A1LINK_PSR_COR_ERR + */ + (PbesFir, bit(9)) ? TBDDefaultCallout; + + /** PBESFIR[10] + * A1LINK_PSR_DERR_ERR + */ + (PbesFir, bit(10)) ? TBDDefaultCallout; + + /** PBESFIR[11] + * A1LINK_PSR_UNC_ERR + */ + (PbesFir, bit(11)) ? TBDDefaultCallout; + + /** PBESFIR[12] + * A2LINK_PSR_COR_ERR + */ + (PbesFir, bit(12)) ? TBDDefaultCallout; + + /** PBESFIR[13] + * A2LINK_PSR_DERR_ERR + */ + (PbesFir, bit(13)) ? TBDDefaultCallout; + + /** PBESFIR[14] + * NK_PSR_UNC_ERR + */ + (PbesFir, bit(14)) ? TBDDefaultCallout; + + /** PBESFIR[15] + * A0LINK_FMR_COR_ERR_HI + */ + (PbesFir, bit(15)) ? TBDDefaultCallout; + + /** PBESFIR[16] + * A0LINK_FMR_COR_ERR_LO + */ + (PbesFir, bit(16)) ? TBDDefaultCallout; + + /** PBESFIR[17] + * A0LINK_FMR_SUE_ERR_HI + */ + (PbesFir, bit(17)) ? TBDDefaultCallout; + + /** PBESFIR[18] + * A0LINK_FMR_SUE_ERR_LO + */ + (PbesFir, bit(18)) ? TBDDefaultCallout; + + /** PBESFIR[19] + * A0LINK_FMR_UNC_ERR_HI + */ + (PbesFir, bit(19)) ? TBDDefaultCallout; + + /** PBESFIR[20] + * A0LINK_FMR_UNC_ERR_LO + */ + (PbesFir, bit(20)) ? TBDDefaultCallout; + + /** PBESFIR[21] + * A1LINK_FMR_COR_ERR_HI + */ + (PbesFir, bit(21)) ? TBDDefaultCallout; + + /** PBESFIR[22] + * A1LINK_FMR_COR_ERR_LO + */ + (PbesFir, bit(22)) ? TBDDefaultCallout; + + /** PBESFIR[23] + * A1LINK_FMR_SUE_ERR_HI + */ + (PbesFir, bit(23)) ? TBDDefaultCallout; + + /** PBESFIR[24] + * A1LINK_FMR_SUE_ERR_LO + */ + (PbesFir, bit(24)) ? TBDDefaultCallout; + + /** PBESFIR[25] + * A1LINK_FMR_UNC_ERR_HI + */ + (PbesFir, bit(25)) ? TBDDefaultCallout; + + /** PBESFIR[26] + * A1LINK_FMR_UNC_ERR_LO + */ + (PbesFir, bit(26)) ? TBDDefaultCallout; + + /** PBESFIR[27] + * A2LINK_FMR_COR_ERR_HI + */ + (PbesFir, bit(27)) ? TBDDefaultCallout; + + /** PBESFIR[28] + * A2LINK_FMR_COR_ERR_LO + */ + (PbesFir, bit(28)) ? TBDDefaultCallout; + + /** PBESFIR[29] + * A2LINK_FMR_SUE_ERR_HI + */ + (PbesFir, bit(29)) ? TBDDefaultCallout; + + /** PBESFIR[30] + * A2LINK_FMR_SUE_ERR_LO + */ + (PbesFir, bit(30)) ? TBDDefaultCallout; + + /** PBESFIR[31] + * A2LINK_FMR_UNC_ERR_HI + */ + (PbesFir, bit(31)) ? TBDDefaultCallout; + + /** PBESFIR[32] + * A2LINK_FMR_UNC_ERR_LO + */ + (PbesFir, bit(32)) ? TBDDefaultCallout; + + /** PBESFIR[33] + * A0_OBS_CR_OVERFLOW_FIR_ERR + */ + (PbesFir, bit(33)) ? TBDDefaultCallout; + + /** PBESFIR[34] + * A1_OBS_CR_OVERFLOW_FIR_ERR + */ + (PbesFir, bit(34)) ? TBDDefaultCallout; + + /** PBESFIR[35] + * A2_OBS_CR_OVERFLOW_FIR_ERR + */ + (PbesFir, bit(35)) ? TBDDefaultCallout; + + /** PBESFIR[36] + * FIR_SCOM_ERR_DUP + */ + (PbesFir, bit(36)) ? TBDDefaultCallout; + + /** PBESFIR[37] + * FIR_SCOM_ERR + */ + (PbesFir, bit(37)) ? TBDDefaultCallout; +}; + +################################################################################ +# ABUS Chiplet IOAFIR +################################################################################ + +rule IoaFir +{ + CHECK_STOP: IOAFIR & ~IOAFIR_MASK & ~IOAFIR_ACT0 & ~IOAFIR_ACT1; + RECOVERABLE: IOAFIR & ~IOAFIR_MASK & ~IOAFIR_ACT0 & IOAFIR_ACT1; +}; + +group gIoaFir filter singlebit +{ +#FIXME:A temp fix to generate error signature by setting bit 0 + /** IOAFIR[0] + * ERROR + */ + (IoaFir, bit(0)) ? TBDDefaultCallout; +}; + +################################################################################ +# Actions specific to ABUS chiplet +################################################################################ + |