summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/prdf/common/plat
diff options
context:
space:
mode:
authorZane Shelley <zshelle@us.ibm.com>2018-11-01 11:51:15 -0500
committerZane C. Shelley <zshelle@us.ibm.com>2018-11-08 10:40:28 -0600
commit7f716fe1404d8eea1e2d6fe16ad9f3e2f7337feb (patch)
tree57c47665f40570b77b6aceb0b722439c2facd084 /src/usr/diag/prdf/common/plat
parente8825169c84ca4185894ec34c5022ddc2cd6a9f0 (diff)
downloadtalos-hostboot-7f716fe1404d8eea1e2d6fe16ad9f3e2f7337feb.tar.gz
talos-hostboot-7f716fe1404d8eea1e2d6fe16ad9f3e2f7337feb.zip
PRD: Remove remaining P8 code
Change-Id: Icb74c251a718091071c909b1832b58615345dc5d Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/68279 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Caleb N. Palmer <cnpalmer@us.ibm.com> Reviewed-by: Brian J. Stegmiller <bjs@us.ibm.com> Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com> Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/68511 Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Diffstat (limited to 'src/usr/diag/prdf/common/plat')
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Ex.rule2107
-rw-r--r--src/usr/diag/prdf/common/plat/pegasus/MuranoVeniceProc.rule170
-rw-r--r--src/usr/diag/prdf/common/plat/pegasus/NaplesProc.rule170
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Proc_acts_ABUS.rule616
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Proc_acts_NV.rule583
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Proc_acts_PB.rule3776
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Proc_acts_PCIE.rule409
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Proc_acts_TP.rule1332
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Proc_acts_XBUS.rule805
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Proc_acts_common.rule208
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Proc_regs_ABUS.rule190
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Proc_regs_NV.rule227
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Proc_regs_PB.rule1237
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Proc_regs_PCIE.rule346
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Proc_regs_TP.rule454
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Proc_regs_XBUS.rule337
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Proc_regs_common.rule173
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/prdfCenMbaDynMemDealloc_rt.C823
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/prdfCenMbaDynMemDealloc_rt.H93
-rw-r--r--src/usr/diag/prdf/common/plat/pegasus/prdfExDomain.H62
-rw-r--r--src/usr/diag/prdf/common/plat/pegasus/prdfLaneRepair.C325
-rw-r--r--src/usr/diag/prdf/common/plat/pegasus/prdfLaneRepair.H79
-rw-r--r--src/usr/diag/prdf/common/plat/pegasus/prdfP8DataBundle.H139
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/prdfP8ExExtraSig.H57
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/prdfP8Proc.C1035
-rw-r--r--src/usr/diag/prdf/common/plat/pegasus/prdfP8ProcExtraSig.H44
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/prdfPciOscSwitchDomain.C418
-rw-r--r--src/usr/diag/prdf/common/plat/pegasus/prdfPciOscSwitchDomain.H150
-rw-r--r--src/usr/diag/prdf/common/plat/pegasus/prdfPhbUtils.C207
-rw-r--r--src/usr/diag/prdf/common/plat/pegasus/prdfPhbUtils.H57
-rw-r--r--src/usr/diag/prdf/common/plat/pegasus/prdfPlatUtil.C79
-rw-r--r--src/usr/diag/prdf/common/plat/pegasus/prdfPlatUtil.H50
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/prdfTOD.H54
-rw-r--r--src/usr/diag/prdf/common/plat/pegasus/prdf_plat_p8.mk73
34 files changed, 0 insertions, 16885 deletions
diff --git a/src/usr/diag/prdf/common/plat/pegasus/Ex.rule b/src/usr/diag/prdf/common/plat/pegasus/Ex.rule
deleted file mode 100755
index cfc81481c..000000000
--- a/src/usr/diag/prdf/common/plat/pegasus/Ex.rule
+++ /dev/null
@@ -1,2107 +0,0 @@
-# IBM_PROLOG_BEGIN_TAG
-# This is an automatically generated prolog.
-#
-# $Source: src/usr/diag/prdf/common/plat/pegasus/Ex.rule $
-#
-# OpenPOWER HostBoot Project
-#
-# Contributors Listed Below - COPYRIGHT 2012,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
-
-################################################################################
-#
-# Scope:
-# Registers and actions for the following chiplets:
-# Note that only addresses for EX0 will be used.
-#
-# Chiplet Register Addresses Description
-# ======= ======================= ============================================
-# EX0 0x10000000 - 0x10FFFFFF EX0 pervasive logic
-# EX1 0x11000000 - 0x11FFFFFF EX1 pervasive logic
-# EX2 0x12000000 - 0x12FFFFFF EX2 pervasive logic
-# EX3 0x13000000 - 0x13FFFFFF EX3 pervasive logic
-# EX4 0x14000000 - 0x14FFFFFF EX4 pervasive logic
-# EX5 0x15000000 - 0x15FFFFFF EX5 pervasive logic
-# EX6 0x16000000 - 0x16FFFFFF EX6 pervasive logic
-# EX7 0x17000000 - 0x17FFFFFF EX7 pervasive logic
-# EX8 0x18000000 - 0x18FFFFFF EX8 pervasive logic
-# EX9 0x19000000 - 0x19FFFFFF EX9 pervasive logic
-# EX10 0x1A000000 - 0x1AFFFFFF EX10 pervasive logic
-# EX11 0x1B000000 - 0x1BFFFFFF EX11 pervasive logic
-# EX12 0x1C000000 - 0x1CFFFFFF EX12 pervasive logic
-# EX13 0x1D000000 - 0x1DFFFFFF EX13 pervasive logic
-# EX14 0x1E000000 - 0x1EFFFFFF EX14 pervasive logic
-# EX15 0x1F000000 - 0x1FFFFFFF EX15 pervasive logic
-#
-################################################################################
-
-chip Ex
-{
- name "Power8 EX Chiplet";
- targettype TYPE_EX;
- sigoff 0x8000;
- dump DUMP_CONTENT_HW;
- scomlen 64;
-
-.include "prdfP8ExExtraSig.H";
-
- #############################################################################
- # #
- # ###### #
- # # # ###### #### ### #### ##### ###### ##### #### #
- # # # # # # # # # # # # # #
- # ###### ##### # # #### # ##### # # #### #
- # # # # # ### # # # # ##### # #
- # # # # # # # # # # # # # # # #
- # # # ###### #### ### #### # ###### # # #### #
- # #
- #############################################################################
-
- ############################################################################
- # EX Chiplet Registers
- ############################################################################
-
- register EX_CHIPLET_CS_FIR
- {
- name "EX00.TP.ECO_DOM.XFIR";
- scomaddr 0x10040000;
- capture group default;
- };
-
- register EX_CHIPLET_RE_FIR
- {
- name "EX00.TP.ECO_DOM.RFIR";
- scomaddr 0x10040001;
- capture group default;
- };
-
- register EX_CHIPLET_FIR_MASK
- {
- name "EX00.TP.ECO_DOM.FIR_MASK";
- scomaddr 0x10040002;
- capture group default;
- };
-
- # EX special attention registers - Used for FFDC only
- # Currently, all analysis of these registers is done by ATTN.
-
- register EX_CHIPLET_SPA
- {
- name "EX00.TP.ECO_DOM.EPS.FIR.SPATTN";
- scomaddr 0x10040004;
- capture group default;
- };
-
- ############################################################################
- # EX Chiplet LFIR
- ############################################################################
-
- register EX_LFIR
- {
- name "EX00.TP.ECO_DOM.LOCAL_FIR";
- scomaddr 0x1004000a;
- reset (&, 0x1004000b);
- mask (|, 0x1004000f);
- capture group default;
- };
-
- register EX_LFIR_MASK
- {
- name "EX00.TP.ECO_DOM.EPS.FIR.LOCAL_FIR_MASK";
- scomaddr 0x1004000d;
- capture group default;
- };
-
- register EX_LFIR_ACT0
- {
- name "EX00.TP.ECO_DOM.EPS.FIR.LOCAL_FIR_ACTION0";
- scomaddr 0x10040010;
- capture type secondary;
- capture group default;
- capture req nonzero("EX_LFIR");
- };
-
- register EX_LFIR_ACT1
- {
- name "EX00.TP.ECO_DOM.EPS.FIR.LOCAL_FIR_ACTION1";
- scomaddr 0x10040011;
- capture type secondary;
- capture group default;
- capture req nonzero("EX_LFIR");
- };
-
- ############################################################################
- # EX Chiplet COREFIR
- ############################################################################
-
- register COREFIR
- {
- name "EX00.EC.PC.PC_NE.FIR.CORE_FIR";
- scomaddr 0x10013100;
- mask (|, 0x10013105);
- capture group default;
- };
-
- register COREFIR_MASK
- {
- name "EX00.EC.PC.PC_NE.FIR.CORE_FIRMASK";
- scomaddr 0x10013103;
- capture group default;
- };
-
- register COREFIR_ACT0
- {
- name "EX00.EC.PC.PC_NE.FIR.CORE_ACTION0";
- scomaddr 0x10013106;
- capture type secondary;
- capture group default;
-# As a P6 workaround that was never fixed in P7 or P8, recoverable attentions
-# are reported via the WOF register. Therefore, we cannot add this line
-# otherwise we could end up not capturing the required FFDC.
-# capture req nonzero("COREFIR");
- };
-
- register COREFIR_ACT1
- {
- name "EX00.EC.PC.PC_NE.FIR.CORE_ACTION1";
- scomaddr 0x10013107;
- capture type secondary;
- capture group default;
-# As a P6 workaround that was never fixed in P7 or P8, recoverable attentions
-# are reported via the WOF register. Therefore, we cannot add this line
-# otherwise we could end up not capturing the required FFDC.
-# capture req nonzero("COREFIR");
- };
-
- register COREFIRWOF
- {
- name "Core FIR WOF";
- scomaddr 0x10013108;
- reset (|, 0x10013108);
- capture group default;
- };
-
- ###########################################################################
- # EX Chiplet COREFIR Error Report Registers
- ###########################################################################
-
- register PCNE_REG0_HOLD_OUT
- {
- name "EXP.EC.PC.PC_NE.PCNE_REG0_HOLD_OUT";
- scomaddr 0x1001300D;
- capture group default;
- capture group CerrRegs;
- };
-
- register PCNE_REG1_HOLD_OUT
- {
- name "EXP.EC.PC.PC_NE.PCNE_REG1_HOLD_OUT";
- scomaddr 0x1001301D;
- capture group default;
- capture group CerrRegs;
- };
-
- register PCNE_REG2_HOLD_OUT
- {
- name "EXP.EC.PC.PC_NE.PCNE_REG2_HOLD_OUT";
- scomaddr 0x1001302D;
- capture group default;
- capture group CerrRegs;
- };
-
- register PCNE_REG3_HOLD_OUT
- {
- name "EXP.EC.PC.PC_NE.PCNE_REG3_HOLD_OUT";
- scomaddr 0x1001303D;
- capture group default;
- capture group CerrRegs;
- };
-
- register PCNE_REG4_HOLD_OUT
- {
- name "EXP.EC.PC.PC_NE.PCNE_REG4_HOLD_OUT";
- scomaddr 0x1001304D;
- capture group default;
- capture group CerrRegs;
- };
-
- register PCNE_REG5_HOLD_OUT
- {
- name "EXP.EC.PC.PC_NE.PCNE_REG5_HOLD_OUT";
- scomaddr 0x1001305D;
- capture group default;
- capture group CerrRegs;
- };
-
- register PCNE_REG6_HOLD_OUT
- {
- name "EXP.EC.PC.PC_NE.PCNE_REG6_HOLD_OUT";
- scomaddr 0x1001306D;
- capture group default;
- capture group CerrRegs;
- };
-
- register PCNE_REG7_HOLD_OUT
- {
- name "EXP.EC.PC.PC_NE.PCNE_REG7_HOLD_OUT";
- scomaddr 0x1001307D;
- capture group default;
- capture group CerrRegs;
- };
-
- register PCNW_REG0_HOLD_OUT
- {
- name "EXP.EC.PC.PC_NW.PCNW_REG0_HOLD_OUT";
- scomaddr 0x100132A9;
- capture group default;
- capture group CerrRegs;
- };
-
- register PCNW_REG1_HOLD_OUT
- {
- name "EXP.EC.PC.PC_NW.PCNW_REG1_HOLD_OUT";
- scomaddr 0x100132AA;
- capture group default;
- capture group CerrRegs;
- };
-
- register PCS_REG0_HOLD_OUT
- {
- name "EXP.EC.PC.PC_S.PCS_REG0_HOLD_OUT";
- scomaddr 0x100132CB;
- capture group default;
- capture group CerrRegs;
- };
-
- register PCS_REG1_HOLD_OUT
- {
- name "EXP.EC.PC.PC_S.PCS_REG1_HOLD_OUT";
- scomaddr 0x100132D5;
- capture req funccall("isMuranoVeniceNotDD1");
- capture group default;
- capture group CerrRegs;
- };
-
- register FXU_REG0_HOLD_OUT
- {
- name "EXP.EC.FX.FXU_REG0_HOLD_OUT";
- scomaddr 0x10013300;
- capture group default;
- capture group CerrRegs;
- };
-
- register FXU_REG1_HOLD_OUT
- {
- name "EXP.EC.FX.FXU_REG1_HOLD_OUT";
- scomaddr 0x10013301;
- capture group default;
- capture group CerrRegs;
- };
-
- register FXU_REG2_HOLD_OUT
- {
- name "EXP.EC.FX.FXU_REG2_HOLD_OUT";
- scomaddr 0x10013302;
- capture group default;
- capture group CerrRegs;
- };
-
- register FXU_REG3_HOLD_OUT
- {
- name "EXP.EC.FX.FXU_REG3_HOLD_OUT";
- scomaddr 0x10013303;
- capture group default;
- capture group CerrRegs;
- };
-
- register FXU_REG4_HOLD_OUT
- {
- name "EXP.EC.FX.FXU_REG4_HOLD_OUT";
- scomaddr 0x10013304;
- capture group default;
- capture group CerrRegs;
- };
-
- register ISU_REG0_ISU_HOLD_OUT
- {
- name "EXP.EC.SD.ISU_REG0_HOLD_OUT";
- scomaddr 0x10013340;
- capture group default;
- capture group CerrRegs;
- };
-
- register ISU_REG1_ISU_HOLD_OUT
- {
- name "EXP.EC.SD.ISU_REG1_HOLD_OUT";
- scomaddr 0x10013341;
- capture group default;
- capture group CerrRegs;
- };
-
- register ISU_REG2_ISU_HOLD_OUT
- {
- name "EXP.EC.SD.ISU_REG2_HOLD_OUT";
- scomaddr 0x10013342;
- capture group default;
- capture group CerrRegs;
- };
-
- register ISU_REG3_ISU_HOLD_OUT
- {
- name "EXP.EC.SD.ISU_REG3_HOLD_OUT";
- scomaddr 0x10013343;
- capture group default;
- capture group CerrRegs;
- };
-
- register ISU_REG4_ISU_HOLD_OUT
- {
- name "EXP.EC.SD.ISU_REG4_HOLD_OUT";
- scomaddr 0x10013344;
- capture group default;
- capture group CerrRegs;
- };
-
- register ISU_REG5_ISU_HOLD_OUT
- {
- name "EXP.EC.SD.ISU_REG5_HOLD_OUT";
- scomaddr 0x10013345;
- capture group default;
- capture group CerrRegs;
- };
-
- register ISU_REG6_ISU_HOLD_OUT
- {
- name "EXP.EC.SD.ISU_REG6_HOLD_OUT";
- scomaddr 0x10013346;
- capture group default;
- capture group CerrRegs;
- };
-
- register ISU_REG7_ISU_HOLD_OUT
- {
- name "EXP.EC.SD.ISU_REG7_HOLD_OUT";
- scomaddr 0x10013347;
- capture group default;
- capture group CerrRegs;
- };
-
- register ISU_REG8_ISU_HOLD_OUT_ERRPT
- {
- name "EXP.EC.SD.ISU_REG8_HOLD_OUT";
- scomaddr 0x10013348;
- capture group default;
- capture group CerrRegs;
- };
-
- register ISU_REG9_ISU_HOLD_OUT
- {
- name "EXP.EC.SD.ISU_REG9_HOLD_OUT";
- scomaddr 0x10013349;
- capture group default;
- capture group CerrRegs;
- };
-
- register IFU_REG0_HOLD_OUT
- {
- name "EXP.EC.IFU.IFU_REG0_HOLD_OUT";
- scomaddr 0x10013381;
- capture group default;
- capture group CerrRegs;
- };
-
- register IFU_REG1_HOLD_OUT
- {
- name "EXP.EC.IFU.IFU_REG1_HOLD_OUT";
- scomaddr 0x10013382;
- capture group default;
- capture group CerrRegs;
- };
-
- register IFU_REG2_HOLD_OUT
- {
- name "EXP.EC.IFU.IFU_REG2_HOLD_OUT";
- scomaddr 0x10013383;
- capture group default;
- capture group CerrRegs;
- };
-
- register IFU_REG3_HOLD_OUT
- {
- name "EXP.EC.IFU.IFU_REG3_HOLD_OUT";
- scomaddr 0x10013384;
- capture group default;
- capture group CerrRegs;
- };
-
- register IFU_REG4_HOLD_OUT
- {
- name "EXP.EC.IFU.IFU_REG4_HOLD_OUT";
- scomaddr 0x10013385;
- capture group default;
- capture group CerrRegs;
- };
-
- register LSU_REG0_HOLD_OUT
- {
- name "EXP.EC.LS.LSU_REG0_HOLD_OUT";
- scomaddr 0x100133C0;
- capture group default;
- capture group CerrRegs;
- };
-
- register LSU_REG1_HOLD_OUT
- {
- name "EXP.EC.LS.LSU_REG1_HOLD_OUT";
- scomaddr 0x100133C1;
- capture group default;
- capture group CerrRegs;
- };
-
- register LSU_REG2_HOLD_OUT
- {
- name "EXP.EC.LS.LSU_REG2_HOLD_OUT";
- scomaddr 0x100133C2;
- capture group default;
- capture group CerrRegs;
- };
-
- register LSU_REG3_HOLD_OUT
- {
- name "EXP.EC.LS.LSU_REG3_HOLD_OUT";
- scomaddr 0x100133C3;
- capture group default;
- capture group CerrRegs;
- };
-
- register LSU_REG4_HOLD_OUT
- {
- name "EXP.EC.LS.LSU_REG4_HOLD_OUT";
- scomaddr 0x100133C4;
- capture group default;
- capture group CerrRegs;
- };
-
- register LSU_REG5_HOLD_OUT
- {
- name "EXP.EC.LS.LSU_REG5_HOLD_OUT";
- scomaddr 0x100133C5;
- capture group default;
- capture group CerrRegs;
- };
-
- register LSU_REG6_HOLD_OUT
- {
- name "EXP.EC.LS.LSU_REG6_HOLD_OUT";
- scomaddr 0x100133C6;
- capture group default;
- capture group CerrRegs;
- };
-
- register LSU_REG7_HOLD_OUT
- {
- name "EXP.EC.LS.LSU_REG7_HOLD_OUT";
- scomaddr 0x100133C7;
- capture group default;
- capture group CerrRegs;
- };
-
- register LSU_REG8_HOLD_OUT
- {
- name "EXP.EC.LS.LSU_REG8_HOLD_OUT";
- scomaddr 0x100133C8;
- capture group default;
- capture group CerrRegs;
- };
-
- register LSU_REG9_HOLD_OUT
- {
- name "EXP.EC.LS.LSU_REG9_HOLD_OUT";
- scomaddr 0x100133C9;
- capture group default;
- capture group CerrRegs;
- };
-
- register LSU_REG10_HOLD_OUT
- {
- name "EXP.EC.LS.LSU_REG10_HOLD_OUT";
- scomaddr 0x100133CA;
- capture group default;
- capture group CerrRegs;
- };
-
- register LSU_REG11_HOLD_OUT
- {
- name "EXP.EC.LS.LSU_REG11_HOLD_OUT";
- scomaddr 0x100133CB;
- capture group default;
- capture group CerrRegs;
- };
-
- register LSU_REG12_HOLD_OUT
- {
- name "EXP.EC.LS.LSU_REG12_HOLD_OUT";
- scomaddr 0x100133CC;
- capture group default;
- capture group CerrRegs;
- };
-
- register LSU_REG13_HOLD_OUT
- {
- name "EXP.EC.LS.LSU_REG13_HOLD_OUT";
- scomaddr 0x100133CD;
- capture group default;
- capture group CerrRegs;
- };
-
- register LSU_REG14_HOLD_OUT
- {
- name "EXP.EC.LS.LSU_REG14_HOLD_OUT";
- scomaddr 0x100133CE;
- capture group default;
- capture group CerrRegs;
- };
-
- register LSU_REG15_HOLD_OUT
- {
- name "EXP.EC.LS.LSU_REG15_HOLD_OUT";
- scomaddr 0x100133CF;
- capture group default;
- capture group CerrRegs;
- };
-
- ############################################################################
- # EX Chiplet L2FIR
- ############################################################################
-
- register L2FIR
- {
- name "EX00.L2.L2MISC.L2CERRS.FIR_REG";
- scomaddr 0x10012800;
- reset (&, 0x10012801);
- mask (|, 0x10012805);
- capture group default;
- };
-
- register L2FIR_MASK
- {
- name "EX00.L2.L2MISC.L2CERRS.FIR_MASK_REG";
- scomaddr 0x10012803;
- capture group default;
- };
-
- register L2FIR_ACT0
- {
- name "EX00.L2.L2MISC.L2CERRS.FIR_ACTION0_REG";
- scomaddr 0x10012806;
- capture type secondary;
- capture group default;
- capture req nonzero("L2FIR");
- };
-
- register L2FIR_ACT1
- {
- name "EX00.L2.L2MISC.L2CERRS.FIR_ACTION1_REG";
- scomaddr 0x10012807;
- capture type secondary;
- capture group default;
- capture req nonzero("L2FIR");
- };
-
- register L2FIR_ERROR_REPORT_0
- {
- name "EXP.L2.L2MISC.L2CERRS.ERR_RPT0";
- scomaddr 0x10012815;
- capture group default;
- capture group CerrRegs;
- };
-
- register L2FIR_ERROR_REPORT_1
- {
- name "EXP.L2.L2MISC.L2CERRS.ERR_RPT1";
- scomaddr 0x10012816;
- capture group default;
- capture group CerrRegs;
- };
-
- ############################################################################
- # EX Chiplet L3FIR
- ############################################################################
-
- register L3FIR
- {
- name "EX00.L3.L3_MISC.L3CERRS.FIR_REG";
- scomaddr 0x10010800;
- reset (&, 0x10010801);
- mask (|, 0x10010805);
- capture group default;
- };
-
- register L3FIR_MASK
- {
- name "EX00.L3.L3_MISC.L3CERRS.FIR_MASK_REG";
- scomaddr 0x10010803;
- capture group default;
- };
-
- register L3FIR_ACT0
- {
- name "EX00.L3.L3_MISC.L3CERRS.FIR_ACTION0_REG";
- scomaddr 0x10010806;
- capture type secondary;
- capture group default;
- capture req nonzero("L3FIR");
- };
-
- register L3FIR_ACT1
- {
- name "EX00.L3.L3_MISC.L3CERRS.FIR_ACTION1_REG";
- scomaddr 0x10010807;
- capture type secondary;
- capture group default;
- capture req nonzero("L3FIR");
- };
-
- register L3FIR_RD0_ERROR_REPORT
- {
- name "EXP.L3.L3_MISC.L3CERRS.L3_CTL_CHECK_RD0_REG";
- scomaddr 0x10010810;
- capture group default;
- capture group CerrRegs;
- };
-
- register L3FIR_RD1_ERROR_REPORT
- {
- name "EXP.L3.L3_MISC.L3CERRS.L3_CTL_CHECK_RD1_REG";
- scomaddr 0x10010817;
- capture group default;
- capture group CerrRegs;
- };
-
- ############################################################################
- # EX Chiplet NCUFIR
- ############################################################################
-
- register NCUFIR
- {
- name "EX00.NC.NCMISC.NCSCOMS.FIR_REG";
- scomaddr 0x10010c00;
- reset (&, 0x10010c01);
- mask (|, 0x10010c05);
- capture group default;
- };
-
- register NCUFIR_MASK
- {
- name "EX00.NC.NCMISC.NCSCOMS.FIR_MASK_REG";
- scomaddr 0x10010c03;
- capture group default;
- };
-
- register NCUFIR_ACT0
- {
- name "EX00.NC.NCMISC.NCSCOMS.FIR_ACTION0_REG";
- scomaddr 0x10010c06;
- capture type secondary;
- capture group default;
- capture req nonzero("NCUFIR");
- };
-
- register NCUFIR_ACT1
- {
- name "EX00.NC.NCMISC.NCSCOMS.FIR_ACTION1_REG";
- scomaddr 0x10010c07;
- capture type secondary;
- capture group default;
- capture req nonzero("NCUFIR");
- };
-
- register NCUFIR_ERROR_REPORT
- {
- name "EXP.NC.NCMISC.NCSCOMS.ERR_RPT_REG";
- scomaddr 0x10010C0C;
- capture group default;
- capture group CerrRegs;
- };
-
- ############################################################################
- # EX Chiplet SPATTNs
- ############################################################################
-
- # EX special attention registers - Used for FFDC only
- # Currently, all analysis of these registers is done by ATTN.
-
- register SPATTN_0
- {
- name "EX00.EC.PC.PC_NE.TCTL0.SPATTN";
- scomaddr 0x10013007;
- capture group default;
- capture group CerrRegs;
- };
-
- register SPATTN_1
- {
- name "EX00.EC.PC.PC_NE.TCTL1.SPATTN";
- scomaddr 0x10013017;
- capture group default;
- capture group CerrRegs;
- };
-
- register SPATTN_2
- {
- name "EX00.EC.PC.PC_NE.TCTL2.SPATTN";
- scomaddr 0x10013027;
- capture group default;
- capture group CerrRegs;
- };
- register SPATTN_3
- {
- name "EX00.EC.PC.PC_NE.TCTL3.SPATTN";
- scomaddr 0x10013037;
- capture group default;
- capture group CerrRegs;
- };
-
- register SPATTN_4
- {
- name "EX00.EC.PC.PC_NE.TCTL4.SPATTN";
- scomaddr 0x10013047;
- capture group default;
- capture group CerrRegs;
- };
-
- register SPATTN_5
- {
- name "EX00.EC.PC.PC_NE.TCTL5.SPATTN";
- scomaddr 0x10013057;
- capture group default;
- capture group CerrRegs;
- };
-
- register SPATTN_6
- {
- name "EX00.EC.PC.PC_NE.TCTL6.SPATTN";
- scomaddr 0x10013067;
- capture group default;
- capture group CerrRegs;
- };
-
- register SPATTN_7
- {
- name "EX00.EC.PC.PC_NE.TCTL7.SPATTN";
- scomaddr 0x10013077;
- capture group default;
- capture group CerrRegs;
- };
-
- ############################################################################
- # EX Chiplet Other Registers
- ############################################################################
-
- register COREHMEER
- {
- name "Core HMEER";
- scomaddr 0x1001329B;
- capture type secondary;
- capture group default;
- };
-
- ############################################################################
- # EX non-existent registers for capture
- ############################################################################
- register L2TRACE_ARRAY
- {
- name "Capture Data for L2 Trace Array";
- capture group never;
- };
-
- register L3TRACE_ARRAY
- {
- name "Capture Data for L3 Trace Array";
- capture group never;
- };
-
- ############################################################################
- # EX Chiplet PLL Registers
- ############################################################################
-
- register EX_ERROR_REG
- {
- name "EH.TPCHIP.NET.PCBSLEX.TP_PCB_SLAVE_INST.ERROR_REG";
- scomaddr 0x100F001F;
- capture group PllFIRs;
- };
-
- register EX_CONFIG_REG
- {
- name "EH.TPCHIP.NET.PCBSLEX.TP_PCB_SLAVE_INST.SLAVE_CONFIG_REG";
- scomaddr 0x100F001E;
- capture group PllFIRs;
- };
-
- ############################################################################
- # Core registers for FFDC
- ############################################################################
-
- register EX_FREQ_CTRL_REG
- {
- name "EX.TP_PCB_SLAVE_PM_INST.FREQ_CTRL_REG";
- scomaddr 0x100F0151;
- capture group default;
- access read_only;
- };
-
- register EX_DPLL_STATUS_REG
- {
- name "EX.TP_PCB_SLAVE_PM_INST.PCBS_DPLL_STAT_REG";
- scomaddr 0x100F0161;
- capture group default;
- access read_only;
- };
-
- register EX_POWER_MGMT_STATUS_REG
- {
- name "EX.TP_PCB_SLAVE_PM_INST.PCBS_PWR_MGMT_STAT_REG";
- scomaddr 0x100F0153;
- capture group default;
- access read_only;
- };
-
- register EX_POWER_MGMT_CTRL_REG
- {
- name "EX.TP_PCB_SLAVE_PM_INST.PCBS_PWR_MGMT_CTRL_REG";
- scomaddr 0x100F0159;
- capture group default;
- access read_only;
- };
-
-};
-
- ##############################################################################
- # #
- # #### # #
- # # # # # # ##### ### # # # ## ##### ### ### # # ### #
- # # # # # # # # # # # # # # # # # ## # # #
- # #### # # # #### ### # ####### # # # # # # # # ### #
- # # # # # # # # # # # # # # # # # # ## # #
- # # # ### #### ##### ### # # # ## # ### ### # # ### #
- # #
- ##############################################################################
-
-################################################################################
-# EX Chiplet Registers
-################################################################################
-
-rule ExChipletFir
-{
- CHECK_STOP:
- EX_CHIPLET_CS_FIR & `1F00000000000000`;
- RECOVERABLE:
- (EX_CHIPLET_RE_FIR >> 2) & `3F00000000000000`;
-};
-
-group gExChipletFir attntype CHECK_STOP, RECOVERABLE filter priority(3,5,6,7,4,2)
-{
- /** EX_CHIPLET_FIR[2]
- * Unit Checkstop from Core Local FIR (bit0 in RER)
- */
- (ExChipletFir, bit(2))? analyzeCoreUnitCheckstop;
-
- /** EX_CHIPLET_FIR[3]
- * Attention from LFIR
- */
- (ExChipletFir, bit(3))? analyzeExLFir;
-
- /** EX_CHIPLET_FIR[4]
- * Attention from COREFIR
- */
- (ExChipletFir, bit(4)) ? analyzeCore;
-
- /** EX_CHIPLET_FIR[5]
- * Attention from L2FIR
- */
- (ExChipletFir, bit(5)) ? analyzeL2Fir;
-
- /** EX_CHIPLET_FIR[6]
- * Attention from L3FIR
- */
- (ExChipletFir, bit(6)) ? analyzeL3Fir;
-
- /** EX_CHIPLET_FIR[7]
- * Attention from NCUFIR
- */
- (ExChipletFir, bit(7)) ? analyzeNcuFir;
-};
-
-################################################################################
-# EX Chiplet LFIR
-################################################################################
-
-rule ExLFir
-{
- CHECK_STOP: EX_LFIR & ~EX_LFIR_MASK & ~EX_LFIR_ACT0 & ~EX_LFIR_ACT1;
- RECOVERABLE: EX_LFIR & ~EX_LFIR_MASK & ~EX_LFIR_ACT0 & EX_LFIR_ACT1;
-};
-
-group gExLFir filter singlebit
-{
- /** EX_LFIR[0]
- * CFIR internal parity error
- */
- (ExLFir, bit(0)) ? calloutParentChipHighThr32;
-
- /** EX_LFIR[1]
- * Local errors from GPIO (PCB error)
- */
- (ExLFir, bit(1)) ? defaultMaskedError;
-
- /** EX_LFIR[2]
- * Local errors from CC (PCB error)
- */
- (ExLFir, bit(2)) ? defaultMaskedError;
-
- /** EX_LFIR[3]
- * Local errors from CC (OPCG, parity, scan collision, ...)
- */
- (ExLFir, bit(3)) ? defaultMaskedError;
-
- /** EX_LFIR[4]
- * Local errors from PSC (PCB error)
- */
- (ExLFir, bit(4)) ? defaultMaskedError;
-
- /** EX_LFIR[5]
- * Local errors from PSC (parity error)
- */
- (ExLFir, bit(5)) ? defaultMaskedError;
-
- /** EX_LFIR[6]
- * Local errors from Thermal (parity error)
- */
- (ExLFir, bit(6)) ? defaultMaskedError;
-
- /** EX_LFIR[7]
- * Local errors from Thermal (PCB error)
- */
- (ExLFir, bit(7)) ? defaultMaskedError;
-
- /** EX_LFIR[8|9]
- * Local errors from Thermal (Trip error)
- */
- (ExLFir, bit(8|9)) ? defaultMaskedError;
-
- /** EX_LFIR[10]
- * Local errors from trace array - error
- */
- (ExLFir, bit(10)) ? calloutParentChipHighThr32;
-
- /** EX_LFIR[11]
- * Local errors from Trace Array ( error)
- */
- (ExLFir, bit(11)) ? defaultMaskedError;
-
- /** EX_LFIR[12|13]
- * Local errors from trial
- */
- (ExLFir, bit(12|13)) ? defaultMaskedError;
-
- /** EX_LFIR[14]
- * Local errors from OHA - recov error
- */
- (ExLFir, bit(14)) ? defaultMaskedError;
-
- /** EX_LFIR[15]
- * Local errors from OHA - checkstop
- */
- (ExLFir, bit(15)) ? defaultMaskedError;
-
- /** EX_LFIR[16]
- * Local errors from skewadj
- */
- (ExLFir, bit(16)) ? calloutParentChipHighThr32;
-
- /** EX_LFIR[17]
- * local errors from dcadj
- */
- (ExLFir, bit(17)) ? calloutParentChipHighThr32;
-
- /** EX_LFIR[18:39]
- * Unused local errors
- */
- (ExLFir, bit( 18|19|20|21|22|23|24|25|26|27|28|29|
- 30|31|32|33|34|35|36|37|38|39 )) ? defaultMaskedError;
-
- /** EX_LFIR[40]
- * Malfunction alert - local checkstop in another chiplet
- */
- (ExLFir, bit(40)) ? defaultMaskedError;
-};
-
-################################################################################
-# EX Chiplet COREFIR
-################################################################################
-
-rule CoreFir
-{
- CHECK_STOP: COREFIR & ~COREFIR_MASK & COREFIR_ACT0 & ~COREFIR_ACT1;
- PROC_CS: COREFIR & ~COREFIR_MASK & COREFIR_ACT0 & COREFIR_ACT1;
- RECOVERABLE: COREFIRWOF & ~COREFIR_MASK & ~COREFIR_ACT0 & COREFIR_ACT1;
-};
-
-group gCoreFir filter singlebit,
- secondarybits( 33, 34, 35 )
-{
- /** COREFIR[0]
- * IFU_SRAM_PARITY_ERR: SRAM recoverable error (ICACHE parity error, etc.)
- */
- (CoreFir, bit(0)) ? calloutExThr5pHr;
-
- /** COREFIR[1]
- * IF_SETDELETE_ERR: set deleted
- */
- (CoreFir, bit(1)) ? SelfHighThr1;
-
- /** COREFIR[2]
- * IF_RFILE_REC_ERR: RegFile recoverable error
- */
- (CoreFir, bit(2)) ? calloutExThr5pHr;
-
- /** COREFIR[3]
- * IF_RFILE_CHKSTOP_ERR: RegFile core check stop
- */
- (CoreFir, bit(3)) ? SelfHighThr1;
-
- /** COREFIR[4]
- * IF_LOG_REC_ERR: logic recoverable error
- */
- (CoreFir, bit(4)) ? calloutExThr5pHr;
-
- /** COREFIR[5]
- * IF_LOG_CHKSTOP_ERR: logic core check stop
- */
- (CoreFir, bit(5)) ? SelfHighThr1;
-
- /** COREFIR[6]
- * IF_NOT_MT_REC_ERR: recoverable if not in MT window
- */
- (CoreFir, bit(6)) ? calloutExThr32pDay;
-
- /** COREFIR[7]
- * IF_CHKSTOP_ERR: system check stop
- */
- (CoreFir, bit(7)) ? SelfHighThr1;
-
- /** COREFIR[8]
- * RECOV_FIR_CHKSTOP_ERR: recovery core check stop
- */
- (CoreFir, bit(8)) ? SelfHighThr1;
-
- /** COREFIR[9]
- * SD_RFILE_REC_ERR: RegFile recoverable error
- */
- (CoreFir, bit(9)) ? calloutExThr5pHr;
-
- /** COREFIR[10]
- * SD_RFILE_CHKSTOP_ERR: RegFile core check stop (mapper error)
- */
- (CoreFir, bit(10)) ? SelfHighThr1;
-
- /** COREFIR[11]
- * SD_LOG_REC_ERR: logic recoverable error
- */
- (CoreFir, bit(11)) ? calloutExThr5pHr;
-
- /** COREFIR[12]
- * SD_LOG_CHKSTOP_ERR: logic core check stop
- */
- (CoreFir, bit(12)) ? SelfHighThr1;
-
- /** COREFIR[13]
- * SD_NOT_MT_REC_ERR: recoverable if not in MT window
- */
- (CoreFir, bit(13)) ? calloutExThr32pDay;
-
- /** COREFIR[14]
- * SD_MCHK_AND_ME_EQ_0: MCHK received while ME=0 non recoverable
- */
- # FIXME: RTC 85697: Make sure this is SUE-CS bit
- (CoreFir, bit(14)) ? calloutSelfHighSUE;
-
- /** COREFIR[15]
- * SD_PC_L2_UE_ERR: UE from L2
- */
- (CoreFir, bit(15)) ? defaultMaskedError;
-
- /** COREFIR[16]
- * ISU_L2_UE_OVER_TH_ERR: Number of UEs from L2 above threshold
- */
- (CoreFir, bit(16)) ? defaultMaskedError;
-
- /** COREFIR[17]
- * SD_PC_CI_UE: UE on CI load
- */
- (CoreFir, bit(17)) ? defaultMaskedError;
-
- /** COREFIR[18]
- * UNUSED_2
- */
- (CoreFir, bit(18)) ? defaultMaskedError;
-
- /** COREFIR[19]
- * FX_GPR_REC_ERR: GPR recoverable error
- */
- (CoreFir, bit(19)) ? calloutExThr5pHr;
-
- /** COREFIR[20]
- * HV Corruption
- */
- (CoreFir, bit(20)) ? SelfHighThr1;
-
- /** COREFIR[21]
- * FX_LOG_CHKSTOP_ERR: logic core check stop
- */
- (CoreFir, bit(21)) ? SelfHighThr1;
-
- /** COREFIR[22]
- * FX_NOT_MT_REC_ERR: recoverable if not in MT window
- */
- (CoreFir, bit(22)) ? calloutExThr32pDay;
-
- /** COREFIR[23]
- * VS_VRF_REC_ERR: VRF recoverable error
- */
- (CoreFir, bit(23)) ? calloutExThr5pHr;
-
- /** COREFIR[24]
- * VS_LOG_REC_ERR: logic recoverable error
- */
- (CoreFir, bit(24)) ? calloutExThr5pHr;
-
- /** COREFIR[25]
- * VS_LOG_CHKSTOP_ERR: logic core check stop
- */
- (CoreFir, bit(25)) ? SelfHighThr1;
-
- /** COREFIR[26]
- * RECOV_IN_MAINT_ERR: 26 = recov_in_maint
- */
- (CoreFir, bit(26)) ? callout2ndLvlMedThr1;
-
- /** COREFIR[27]
- * DU_LOG_REC_ERR: logic recoverable error
- */
- (CoreFir, bit(27)) ? calloutExThr5pHr;
-
- /** COREFIR[28]
- * DU_LOG_CHKSTOP_ERR: logic core check stop
- */
- (CoreFir, bit(28)) ? SelfHighThr1;
-
- /** COREFIR[29]
- * LSU_SRAM_PARITY_ERR: SRAM recoverable error (DCACHE parity error, etc.)
- */
- (CoreFir, bit(29)) ? calloutExThr5pHr;
-
- /** COREFIR[30]
- * LS_SETDELETE_ERR: set deleted
- */
- (CoreFir, bit(30)) ? SelfHighThr1;
-
- /** COREFIR[31]
- * LS_RFILE_REC_ERR: RegFile recoverable error
- */
- (CoreFir, bit(31)) ? calloutExThr5pHr;
-
- /** COREFIR[32]
- * LS_RFILE_CHKSTOP_ERR: RegFile core check stop
- */
- (CoreFir, bit(32)) ? SelfHighThr1;
-
- /** COREFIR[33]
- * LS_TLB_MULTIHIT_ERR: special recovery error TLB multi hit error occurred
- */
- (CoreFir, bit(33)) ? thresholdAndMask_self;
-
- /** COREFIR[34]
- * LS_SLB_MULTIHIT_ERR: special recovery error SLBFEE multi hit
- * error occurred
- */
- (CoreFir, bit(34)) ? thresholdAndMask_self;
-
- /** COREFIR[35]
- * LS_DERAT_MULTIHIT_ERR: special recovery error ERAT multi hit error
- * occurred
- */
- (CoreFir, bit(35)) ? thresholdAndMask_self;
-
- /** COREFIR[36]
- * FORWARD_PROGRESS_ERR: forward progress error
- */
- (CoreFir, bit(36)) ? SelfHighThr1;
-
- /** COREFIR[37]
- * LS_LOG_REC_ERR: logic recoverable error
- */
- (CoreFir, bit(37)) ? calloutExThr5pHr;
-
- /** COREFIR[38]
- * LS_LOG_CHKSTOP_ERR: logic core check stop
- */
- (CoreFir, bit(38)) ? SelfHighThr1;
-
- /** COREFIR[39]
- * LS_NOT_MT_REC_ERR: recoverable if not in MT window
- */
- (CoreFir, bit(39)) ? calloutExThr32pDay;
-
- /** COREFIR[40]
- * LS_NOT_CI_REC_ERR: recoverable if not in CI window
- */
- (CoreFir, bit(40)) ? calloutExThr32pDay;
-
- /** COREFIR[41]
- * LS_CHKSTOP_ERR: system check stop
- */
- (CoreFir, bit(41)) ? SelfHighThr1;
-
- /** COREFIR[42]
- * LS_GPR_RCV_CHKSTOP_ERR: UE from GPR/VRF recovery process
- */
- (CoreFir, bit(42)) ? defaultMaskedError;
-
- /** COREFIR[43]
- * THREAD_HANG_REC_ERR: thread hang recoverable error
- */
- (CoreFir, bit(43)) ? SelfAndLevel2MedThr5PerHrNoGard;
-
- /** COREFIR[44]
- * FIR_LOG_RECOV_ERR: logic recoverable error
- */
- (CoreFir, bit(44)) ? calloutExThr5pHr;
-
- /** COREFIR[45]
- * PC_LOG_CHKSTOP_ERR: PC logic core check stop
- */
- (CoreFir, bit(45)) ? SelfHighThr1;
-
- /** COREFIR[46]
- * RESERVED
- */
- (CoreFir, bit(46)) ? defaultMaskedError;
-
- /** COREFIR[47]
- * TFC_FIR_TFMR_P_ERR: TFMR Parity Error (timing facility may be corrupt)
- */
- (CoreFir, bit(47)) ? defaultMaskedError;
-
- /** COREFIR[48]
- * SPRD_FIR_HYP_RES_P_ERR: Hypervisor Resource error - core check stop
- */
- (CoreFir, bit(48)) ? SelfHighThr1;
-
- /** COREFIR[49]
- * TFC_FIR_P_ERR: TFAC parity error
- */
- (CoreFir, bit(49)) ? defaultMaskedError;
-
- /** COREFIR[50]
- * TFC_FIR_CONTROL_ERR: TFAC control error
- */
- (CoreFir, bit(50)) ? defaultMaskedError;
-
- /** COREFIR[51]
- * PC_FIRM_AND_SEL_ERR: TFAC firmware error and select error
- */
- (CoreFir, bit(51)) ? defaultMaskedError;
-
- /** COREFIR[52]
- * CORE_HUNG: Hang recovery failed (core check stop)
- */
- (CoreFir, bit(52)) ? SelfHighThr1;
-
- /** COREFIR[53]
- * CORE_HANG_DETECT: Internal hang detected (core hang)
- */
- (CoreFir, bit(53)) ? defaultMaskedError;
-
- /** COREFIR[54]
- * AMBI_HANG_DETECT: Hang detected unknown source
- */
- (CoreFir, bit(54)) ? calloutLevel2MedExLowThr1;
-
- /** COREFIR[55]
- * NEST_HANG_DETECT: External Hang detected
- */
- (CoreFir, bit(55)) ? nestHangDetect;
-
- /** COREFIR[56|57|58]
- * RESERVED
- */
- (CoreFir, bit(56|57|58)) ? defaultMaskedError;
-
- /** COREFIR[59]
- * PC_SOM_ERR: SCOM satellite error detected
- */
- (CoreFir, bit(59)) ? defaultMaskedError;
-
- /** COREFIR[60]
- * Debug trigger error inject
- */
- (CoreFir, bit(60)) ? SelfMedThr32PerDay;
-
- /** COREFIR[61]
- * SP_INJ_REC_ERR: SCOM or Firmware recoverable Error Inject
- */
- (CoreFir, bit(61)) ? defaultMaskedError;
-
- /** COREFIR[62]
- * SP_INJ_XSTOP_ERR: Firmware Xstop Error Inject
- */
- (CoreFir, bit(62)) ? defaultMaskedError;
-
- /** COREFIR[63]
- * SPRD_PHYP_ERR_INJ: Phyp Xstop via SPRC / SPRD
- */
- (CoreFir, bit(63)) ? calloutProcLow2ndLvlMedThr1;
-};
-
-################################################################################
-# EX Chiplet L2FIR
-################################################################################
-
-rule L2Fir
-{
- CHECK_STOP: L2FIR & ~L2FIR_MASK & ~L2FIR_ACT0 & ~L2FIR_ACT1;
- RECOVERABLE: L2FIR & ~L2FIR_MASK & ~L2FIR_ACT0 & L2FIR_ACT1;
-};
-
-group gL2Fir filter singlebit,
- secondarybits( 0, 6 )
-{
- /** L2FIR[0]
- * CACHE_RD_CE
- */
- (L2Fir, bit(0)) ? L2CE;
-
- /** L2FIR[1]
- * CACHE_RD_UE
- */
- (L2Fir, bit(1)) ? L2UE;
-
- /** L2FIR[2]
- * CACHE_RD_SUE
- */
- (L2Fir, bit(2)) ? defaultMaskedError;
-
- /** L2FIR[3]
- * HW_DIR_INTIATED_LINE_DELETE_OCCURRED
- */
- (L2Fir, bit(3)) ? defaultMaskedError;
-
- /** L2FIR[4]
- * CACHE_UE_SUE_DETECTED_ON_MODIFIED_LINE_BY_CO
- */
- (L2Fir, bit(4)) ? defaultMaskedError;
-
- /** L2FIR[5]
- * CACHE_UE_SUE_DETECTED_ON_NON_MODIFIED_LINE_BY_CO
- */
- (L2Fir, bit(5)) ? defaultMaskedError;
-
- /** L2FIR[6]
- * DIR_CE_DETECTED
- */
- (L2Fir, bit(6)) ? L2DirCE;
-
- /** L2FIR[7]
- * DIR_UE_DETECTED
- */
- (L2Fir, bit(7)) ? SelfHighThr1;
-
- /** L2FIR[8]
- * DIR_STUCK_BIT_CE
- */
- (L2Fir, bit(8)) ? SelfHighThr1;
-
- /** L2FIR[9]
- * DIR_SBCE_REPAIR_FAILED
- */
- (L2Fir, bit(9)) ? SelfHighThr1;
-
- /** L2FIR[10]
- * MULTIPLE_DIR_ERRORS_DETECTED
- */
- (L2Fir, bit(10)) ? defaultMaskedError;
-
- /** L2FIR[11]
- * LRU_READ_ERROR_DETECTED
- */
- (L2Fir, bit(11)) ? SelfHighThr32PerDay;
-
- /** L2FIR[12]
- * RC_POWERBUS_DATA_TIMEOUT
- */
- (L2Fir, bit(12)) ? callout2ndLvlMedThr1;
-
- /** L2FIR[13]
- * NCU_POWERBUS_DATA_TIMEOUT
- */
- (L2Fir, bit(13)) ? callout2ndLvlMedThr1;
-
- /** L2FIR[14]
- * HW_CONTROL_ERROR
- */
- (L2Fir, bit(14)) ? L2ChipLevel2;
-
- /** L2FIR[15]
- * LRU_ALL_MEMBERS_IN_CGC_ARE_LINE_DELETED
- */
- (L2Fir, bit(15)) ? SelfHighThr1;
-
- /** L2FIR[16]
- * CACHE_INHIBITED_HIT_CACHEABLE_ERROR
- */
- (L2Fir, bit(16)) ? SelfHighThr1;
-
- /** L2FIR[17]
- * RC_LOAD_RECIVED_PB_CRESP_ADR_ERR
- */
- (L2Fir, bit(17)) ? SelfHighThr1UE;
-
- /** L2FIR[18]
- * RC_STORE_RECIVED_PB_CRESP_ADR_ERR
- */
- (L2Fir, bit(18)) ? SelfHighThr1;
-
- /** L2FIR[19]
- * RC_POWBUS_DATA_CE_ERR_FROM_F2CHK
- */
- (L2Fir, bit(19)) ? SelfHighThr32PerDay;
-
- /** L2FIR[20]
- * RC_POWBUS_DATA_UE_ERR_FROM_F2CHK
- */
- (L2Fir, bit(20)) ? SelfHighThr1UE;
-
- /** L2FIR[21]
- * RC_POWBUS_DATA_SUE_ERR_FROM_F2CHK
- */
- (L2Fir, bit(21)) ? defaultMaskedError;
-
- /** L2FIR[22]
- * CO_ICSW_UE_SUE_DATA_ERR_FROM_F2CHK
- */
- (L2Fir, bit(22)) ? SelfHighThr1;
-
- /** L2FIR[23]
- * RC_LOAD_RECIVED_PB_CRESP_ADR_ERR_FOR_HYP
- */
- (L2Fir, bit(23)) ? defaultMaskedError;
-
- /** L2FIR[24]
- * RCDAT_RD_PARITY_ERR
- */
- (L2Fir, bit(24)) ? SelfHighThr1UE;
-
- /** L2FIR[25]
- * CO_ICSW_RTY_BUSY_ABT_ERR
- */
- (L2Fir, bit(25)) ? defaultMaskedError;
-
- /** L2FIR[26]
- * HA_LOG_STOP_SW_ERR
- */
- (L2Fir, bit(26)) ? defaultMaskedError;
-
- /** L2FIR[27]
- * RC_LOAD_RECEIVED_PB_ACK_DEAD_FROM_FOREIGN0
- */
- (L2Fir, bit(27)) ? defaultMaskedError;
-
- /** L2FIR[28]
- * RC_LOAD_RECEIVED_PB_ACK_DEAD_FROM_FOREIGN1
- */
- (L2Fir, bit(28)) ? defaultMaskedError;
-
- /** L2FIR[29]
- * RC_STORE_RECEIVED_PB_ACK_DEAD_FROM_FOREIGN0
- */
- (L2Fir, bit(29)) ? defaultMaskedError;
-
- /** L2FIR[30]
- * RC_STORE_RECEIVED_PB_ACK_DEAD_FROM_FOREIGN1
- */
- (L2Fir, bit(30)) ? defaultMaskedError;
-
- /** L2FIR[31]
- * ILLEGAL_MPALOG_TPID_SW_ERR
- */
- (L2Fir, bit(31)) ? defaultMaskedError;
-
- /** L2FIR[32]
- * UNEXP_HA_ST_ERR
- */
- (L2Fir, bit(32)) ? defaultMaskedError;
-
- /** L2FIR[33]
- * HA_LINE_IN_CONS_CACHE_ERR
- */
- (L2Fir, bit(33)) ? defaultMaskedError;
-
- /** L2FIR[34]
- * HA_TABLE_IN_PROD_CACHE_ERR
- */
- (L2Fir, bit(34)) ? defaultMaskedError;
-
- /** L2FIR[35]
- * ILLEGAL_LOG_STOP_SW_ERR
- */
- (L2Fir, bit(35)) ? defaultMaskedError;
-
- /** L2FIR[48]
- * SCOM_ERR1: scom error
- */
- (L2Fir, bit(48)) ? defaultMaskedError;
-
- /** L2FIR[49]
- * SCOM_ERR2: scom error
- */
- (L2Fir, bit(49)) ? defaultMaskedError;
-};
-
-################################################################################
-# EX Chiplet L3FIR
-################################################################################
-
-rule L3Fir
-{
- CHECK_STOP: L3FIR & ~L3FIR_MASK & ~L3FIR_ACT0 & ~L3FIR_ACT1;
- RECOVERABLE: L3FIR & ~L3FIR_MASK & ~L3FIR_ACT0 & L3FIR_ACT1;
-};
-
-group gL3Fir filter singlebit,
- secondarybits( 4, 13 )
-{
- /** L3FIR[0]
- * PowerBus Command Error - Overrun condition.
- */
- (L3Fir, bit(0)) ? calloutExLowSecLvlThr1MedDumpSh;
-
- /** L3FIR[1]
- * PowerBus Data Error - Overrun condition.
- */
- (L3Fir, bit(1)) ? calloutExLowSecLvlThr1MedDumpSh;
-
- /** L3FIR[2]
- * Spare
- */
- (L3Fir, bit(2)) ? defaultMaskedError;
-
- /** L3FIR[3]
- * Spare
- */
- (L3Fir, bit(3)) ? defaultMaskedError;
-
- /** L3FIR[4]
- * L3 Cache CE
- */
- (L3Fir, bit(4)) ? L3CE;
-
- /** L3FIR[5]
- * L3 Cache UE.
- */
- (L3Fir, bit(5)) ? L3UE;
-
- /** L3FIR[4,5]
- * L3 Cache UE with CE.
- */
- (L3Fir, bit(4,5)) ? L3UE;
-
- /** L3FIR[6]
- * L3 Cache SUE.
- */
- (L3Fir, bit(6)) ? defaultMaskedError;
-
- /** L3FIR[7]
- * L3 Cache Write CE from PowerBus
- */
- (L3Fir, bit(7)) ? SelfMedThr32PerDay;
-
- /** L3FIR[8]
- * L3 Cache Write UE from PowerBus
- */
- (L3Fir, bit(8)) ? SelfHighThr1UE;
-
- /** L3FIR[9]
- * L3 Cache Write SUE from PowerBus
- */
- (L3Fir, bit(9)) ? defaultMaskedError;
-
- /** L3FIR[10]
- * L3 Cache Write CE from L2
- */
- (L3Fir, bit(10)) ? SelfHighThr32PerDay;
-
- /** L3FIR[11]
- * L3 Cache Write UE from L2
- */
- (L3Fir, bit(11)) ? L3UE;
-
- /** L3FIR[12]
- * L3 Cache Write SUE from L2
- */
- (L3Fir, bit(12)) ? defaultMaskedError;
-
- /** L3FIR[13]
- * L3 Dir Read CE
- */
- (L3Fir, bit(13)) ? L3DirCE;
-
- /** L3FIR[14]
- * L3 Dir Read UE
- */
- (L3Fir, bit(14)) ? SelfHighThr1UE;
-
- /** L3FIR[15]
- * L3 Dir Read \"Phantom Error\"
- */
- (L3Fir, bit(15)) ? defaultMaskedError;
-
- /** L3FIR[16]
- * L3 Store Address Error
- */
- (L3Fir, bit(16)) ? calloutExLowSecLvlThr1MedDumpSh;
-
- /** L3FIR[17]
- * L3 Load Address Error (from Prefetch Machine)
- */
- (L3Fir, bit(17)) ? SelfHighThr1;
-
- /** L3FIR[18]
- * L3 Address Hang
- */
- (L3Fir, bit(18)) ? defaultMaskedError;
-
- /** L3FIR[19]
- * Reserved field (Access type is l3_flink_0_load_ack_dead)
- */
- (L3Fir, bit(19)) ? defaultMaskedError;
-
- /** L3FIR[20]
- * Reserved field (Access type is l3_flink_0_store_ack_dead)
- */
- (L3Fir, bit(20)) ? defaultMaskedError;
-
- /** L3FIR[21]
- * Reserved field (Access type is l3_flink_1_load_ack_dead)
- */
- (L3Fir, bit(21)) ? defaultMaskedError;
-
- /** L3FIR[22]
- * Reserved field (Access type is l3_flink_1_store_ack_dead)
- */
- (L3Fir, bit(22)) ? defaultMaskedError;
-
- /** L3FIR[23]
- * L3 Machine Hang
- */
- (L3Fir, bit(23)) ? calloutExLowSecLvlThr1MedDumpSh;
-
- /** L3FIR[24]
- * L3 Hw Control Error
- */
- (L3Fir, bit(24)) ? SelfHighThr1;
-
- /** L3FIR[25]
- * L3 Snoop Sw error detected
- */
- (L3Fir, bit(25)) ? calloutExLowSecLvlThr1MedDumpSh;
-
- /** L3FIR[26]
- * L3 Line Delete CE done
- */
- (L3Fir, bit(26)) ? defaultMaskedError;
-
- /** L3FIR[27]
- * L3 DRAM Logic Error
- */
- (L3Fir, bit(27)) ? SelfHighThr1;
-
- /** L3FIR[28]
- * L3 LRU SRAM Logic Recoverable Error
- */
- (L3Fir, bit(28)) ? SelfHighThr32PerDay;
-
- /** L3FIR[29]
- * L3 Cache Congruence Class Deleted
- */
- (L3Fir, bit(29)) ? SelfHighThr1;
-
- /** L3FIR[30]
- * L3 Cache Timer Refresh Error
- */
- (L3Fir, bit(30)) ? SelfHighThr1;
-
- /** L3FIR[31]
- * L3 HA Consumer SW Access Error
- */
- (L3Fir, bit(31)) ? defaultMaskedError;
-
- /** L3FIR[32]
- * L3 HA Producer SW Access Error
- */
- (L3Fir, bit(32)) ? defaultMaskedError;
-
- /** L3FIR[33]
- * L3 HA Line In Consumer Cache Error
- */
- (L3Fir, bit(33)) ? defaultMaskedError;
-
- /** L3FIR[34]
- * L3 HA Table In Producer Cache Error
- */
- (L3Fir, bit(34)) ? defaultMaskedError;
-
- /** L3FIR[35]
- * L3 HA Log Overflow
- */
- (L3Fir, bit(35)) ? defaultMaskedError;
-
- /** L3FIR[36]
- * SCOM_ERR: scom error
- */
- (L3Fir, bit(36)) ? defaultMaskedError;
-
- /** L3FIR[37]
- * SCOM_ERR: scom error
- */
- (L3Fir, bit(37)) ? defaultMaskedError;
-};
-
-################################################################################
-# EX Chiplet NCUFIR
-################################################################################
-# Based on p8dd1_mss_FFDC_37_reviewed
-###############################################################################
-rule NcuFir
-{
- CHECK_STOP: NCUFIR & ~NCUFIR_MASK & ~NCUFIR_ACT0 & ~NCUFIR_ACT1;
- RECOVERABLE: NCUFIR & ~NCUFIR_MASK & ~NCUFIR_ACT0 & NCUFIR_ACT1;
-};
-
-group gNcuFir filter singlebit
-{
- /** NCUFIR[0]
- * CONTROL_ERR: H/W control error.
- */
- (NcuFir, bit(0)) ? SelfHighThr1;
-
- /** NCUFIR[1]
- * TLBIE_SW_ERR: TLBIE received illegal AP/LP field from core.
- */
- (NcuFir, bit(1)) ? calloutExLowSecLvlThr1MedDumpSh;
-
- /** NCUFIR[2]
- * ST_ADDR_ERR: Store address machine or TLBIE/sync machine received
- * addr_err cresp.
- */
- (NcuFir, bit(2)) ? calloutExLowSecLvlThr1MedDumpSh;
-
- /** NCUFIR[3]
- * LD_ADDR_ERR: Load address machine received addr_err cresp.
- */
- (NcuFir, bit(3)) ? calloutExLowSecLvlThr1MedDumpSh;
-
- /** NCUFIR[4]
- * ST_FOREIGN0_ACK_DEAD: Store received ack_dead on foreign link0.
- */
- (NcuFir, bit(4)) ? defaultMaskedError;
-
- /** NCUFIR[5]
- * ST_FOREIGN1_ACK_DEAD: Store received ack_dead on foreign link1.
- */
- (NcuFir, bit(5)) ? defaultMaskedError;
-
- /** NCUFIR[6]
- * LD_FOREIGN0_ACK_DEAD: Load received ack_dead on foreign link0.
- */
- (NcuFir, bit(6)) ? defaultMaskedError;
-
- /** NCUFIR[7]
- * LD_FOREIGN1_ACK_DEAD: Load received ack_dead on foreign link1.
- */
- (NcuFir, bit(7)) ? defaultMaskedError;
-
- /** NCUFIR[8]
- * STQ_DATA_PARITY_ERR: Store data parity error from regfile detected.
- */
- (NcuFir, bit(8)) ? SelfHighThr1UE;
-
- /** NCUFIR[9]
- * STORE_TIMEOUT: Store timed out on PB.
- */
- (NcuFir, bit(9)) ? callout2ndLvlMedThr1;
-
- /** NCUFIR[10]
- * TLBIE_MASTER_TIMEOUT: TLBIE master timed out on PB.
- */
- (NcuFir, bit(10)) ? calloutExLowSecLvlThr1MedDumpSh;
-
- /** NCUFIR[11]
- * TLBIE_SNOOP_TIMEOUT: TLBIE snooper timed out waiting for core.
- */
- (NcuFir, bit(11)) ? SelfHighThr1;
-
- /** NCUFIR[12]
- * HTM_IMA_TIMEOUT: HTM/IMA address machine timed out on PB.
- */
- (NcuFir, bit(12)) ? calloutExLowSecLvlThr1MedDumpSh;
-
- /** NCUFIR[13]
- * IMA_CRESP_ADDR_ERR: IMA received addr_err cresp.
- */
- (NcuFir, bit(13)) ? calloutExLowSecLvlThr1MedDumpSh;
-
- /** NCUFIR[14]
- * IMA_FOREIGN0_ACK_DEAD: IMA received ack_dead on foreign link0.
- */
- (NcuFir, bit(14)) ? defaultMaskedError;
-
- /** NCUFIR[15]
- * IMA_FOREIGN1_ACK_DEAD: IMA received ack_dead on foreign link1.
- */
- (NcuFir, bit(15)) ? defaultMaskedError;
-
- /** NCUFIR[16]
- * HTM_GOT_ACK_DEAD: HTM received ack_dead on any foreign link.
- */
- (NcuFir, bit(16)) ? defaultMaskedError;
-
- /** NCUFIR[17]
- * PMISC_CRESP_ADDR_ERR: PMISC received address error cresp.
- */
-
- (NcuFir, bit(17)) ? calloutParentProcHighThr1;
-
- /** NCUFIR[18]
- * TLBIE_CONTROL_ERR: TLBIE control error.
- */
- (NcuFir, bit(18)) ? calloutExLowSecLvlThr1MedDumpSh;
-
- /** NCUFIR[19|20|21|22|23]
- * SPARE
- */
- (NcuFir, bit(19|20|21|22|23)) ? defaultMaskedError;
-
- /** NCUFIR[24]
- * SCOM_ERR1: scom error
- */
- (NcuFir, bit(24)) ? defaultMaskedError;
-
- /** NCUFIR[25]
- * SCOM_ERR2: scom error
- */
- (NcuFir, bit(25)) ? defaultMaskedError;
-};
-
- ##############################################################################
- # #
- # # ### #
- # # # ## ##### ### ### # # # # # # ### ### ### ### #
- # # # # # # # # # ## # # # # # # # # # #
- # ####### # # # # # # # # # # ##### ### ### ## ### #
- # # # # # # # # # # ## # # # # # # # # # #
- # # # ## # ### ### # # ### ### # # ### ### ### ### #
- # #
- ##############################################################################
-
-# Include the common action set.
-.include "CommonActions.rule"
-
-# When analyzing CoreFir, check for/handle core checkstop
-actionclass analyzeCore
-{
- funccall("CheckCoreCheckstop");
- # if core recoverable is not set in COREWOF and
- # Core CS is on, analyze core checkstop
- try(funccall("CoreRePresent"), funccall("SetCoreCheckstopCause"));
- analyze(gCoreFir);
- funccall("MaskIfCoreCheckstop");
- funccall("RestartTraceArray");
-};
-
-# Chiplet recoverable FIR indicated Core checkstop, so take actions for
-# handling core checkstop. Analyze CoreFir.
-actionclass analyzeCoreUnitCheckstop
-{
- funccall("CheckCoreCheckstop");
- funccall("SetCoreCheckstopCause");
- analyze(gCoreFir);
- funccall("MaskIfCoreCheckstop");
-};
-
-actionclass analyzeExLFir
-{
- analyze(gExLFir);
- funccall("RestartTraceArray");
-};
-
-actionclass analyzeL2Fir
-{
- analyze(gL2Fir);
- funccall("RestartTraceArray");
-};
-
-actionclass analyzeL3Fir
-{
- analyze(gL3Fir);
- funccall("RestartTraceArray");
-};
-
-actionclass analyzeNcuFir
-{
- analyze(gNcuFir);
- funccall("RestartTraceArray");
-};
-
-actionclass L3DirCE
-{
- calloutSelfHigh;
- threshold( field(32 / day), mfg_file(ATTR_MNFG_TH_P8EX_L3_DIR_CES) );
-};
-
-actionclass L3UE
-{
- SelfHighThr1UE;
- funccall("L3UE");
-};
-
-# Thresholding and runtime handling (line deletes and column repairs)
-# for cache CEs
-
-actionclass L3CE
-{
- calloutSelfHigh;
- threshold( field(32 / day), mfg_file(ATTR_MNFG_TH_P8EX_L3_CACHE_CES) );
- funccall("L3CE"); # This is no-operation for Hostboot
-};
-
-actionclass L2CE
-{
- calloutSelfHigh;
- threshold( field(32 / day), mfg_file(ATTR_MNFG_TH_P8EX_L2_CACHE_CES) );
- funccall("L2CE"); # This is no-operation for Hostboot
-};
-
-actionclass L2UE
-{
- SelfHighThr1UE;
- funccall("L2UE");
-};
-
-actionclass L2DirCE
-{
- calloutSelfHigh;
- threshold( field(32 / day), mfg_file(ATTR_MNFG_TH_P8EX_L2_DIR_CES) );
-};
-
-actionclass L2ChipLevel2
-{
- calloutParentProcLow;
- callout2ndLvlMed;
- threshold1;
-};
-
-actionclass calloutSelfHighSUE
-{
- SelfHighThr1;
- flag(SUE);
-};
-
-actionclass calloutParentProcLow
-{
- callout(connected(TYPE_PROC),MRU_LOW);
-};
-
-/** calls out Ex if threshold exceeds. Calls for second level support as well,
- * garding not required */
-actionclass SelfAndLevel2MedThr5PerHrNoGard
-{
- calloutSelfMedNoGard;
- callout2ndLvlMed;
- threshold5phour;
-};
-
-/** callouts Proc on first instance. Calls for second level support as well */
-actionclass calloutProcLow2ndLvlMedThr1
-{
- calloutParentProcLow;
- callout2ndLvlMed;
- threshold1;
-
-};
-
-/** Calls out and gards the parent PROC on first instance. Also, calls for
- * second level support just in case replacing the processor did not resolve
- * the issue. This bit is also a possible checkstop SUE. */
-actionclass nestHangDetect
-{
- callout(connected(TYPE_PROC),MRU_MED);
- callout2ndLvlLow;
- threshold1;
- flag(SUE);
-};
-
-/** callout connected parent proc with high priority.*/
-actionclass calloutParentProcHigh
-{
- callout(connected(TYPE_PROC),MRU_HIGH);
-};
-
-/** callout parent proc. Threshold is 32 events per day */
-actionclass calloutParentChipHighThr32
-{
- calloutParentProcHigh;
- threshold32pday;
-};
-
-/** callout core, threshold 5 per day */
-actionclass calloutExThr5pHr
-{
- SelfHighThr5PerHour;
-};
-
-/** callout core, threshold 32per day and initiate hw dump*/
-actionclass calloutExThr32pDay
-{
- SelfMedThr32PerDay;
-};
-
-actionclass calloutExLowSecLvlThr1MedDumpSh
-{
- SelfLowLevel2MedThr1;
- dumpSH;
-};
-
-/** callout 2nd level med priority, core low priority */
-actionclass calloutLevel2MedExLowThr1
-{
- callout2ndLvlMed;
- calloutSelfLow;
- threshold1;
-};
diff --git a/src/usr/diag/prdf/common/plat/pegasus/MuranoVeniceProc.rule b/src/usr/diag/prdf/common/plat/pegasus/MuranoVeniceProc.rule
deleted file mode 100644
index 5c0a74155..000000000
--- a/src/usr/diag/prdf/common/plat/pegasus/MuranoVeniceProc.rule
+++ /dev/null
@@ -1,170 +0,0 @@
-# IBM_PROLOG_BEGIN_TAG
-# This is an automatically generated prolog.
-#
-# $Source: src/usr/diag/prdf/common/plat/pegasus/MuranoVeniceProc.rule $
-#
-# OpenPOWER HostBoot Project
-#
-# Contributors Listed Below - COPYRIGHT 2015
-# [+] 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 Proc
-{
- name "Power8 Murano or Venice Chip";
- targettype TYPE_PROC;
- sigoff 0x8000;
- dump DUMP_CONTENT_HW;
- scomlen 64;
-
-#Import signatures
-.include "prdfP8ProcExtraSig.H";
-.include "prdfP8ProcMbCommonExtraSig.H";
-
-#Import Common Proc Registers
-.include "Proc_regs_common.rule"
-
-# Import all of the chiplet registers
-.include "Proc_regs_TP.rule"
-.include "Proc_regs_PB.rule"
-.include "Proc_regs_XBUS.rule"
-.include "Proc_regs_ABUS.rule"
-.include "Proc_regs_PCIE.rule"
-
-};
-
-################################################################################
-# Global Broadcast Registers
-################################################################################
-
-rule GlobalFir
-{
- CHECK_STOP: GLOBAL_CS_FIR;
- RECOVERABLE: GLOBAL_RE_FIR;
-};
-
-group gGlobalFir attntype CHECK_STOP, RECOVERABLE filter singlebit
-{
- /** GLOBAL_FIR[1]
- * Attention from TP chiplet
- */
- (GlobalFir, bit(1)) ? analyze(gTpChipletFir);
-
- /** GLOBAL_FIR[2]
- * Attention from PB chiplet
- */
- (GlobalFir, bit(2)) ? analyze(gPbChipletFir);
-
- /** GLOBAL_FIR[4]
- * Attention from XBUS chiplet
- */
- (GlobalFir, bit(4)) ? analyze(gXbusChipletFir);
-
- /** GLOBAL_FIR[8]
- * Attention from ABUS
- */
- (GlobalFir, bit(8)) ? analyze(gAbusChipletFir);
-
- /** GLOBAL_FIR[9]
- * Attention from PCIE
- */
- (GlobalFir, bit(9)) ? analyze(gPcieChipletFir);
-
- /** GLOBAL_FIR[17]
- * Attention from EX1 (Venice only)
- */
- (GlobalFir, bit(17)) ? analyzeEx1;
-
- /** GLOBAL_FIR[18]
- * Attention from EX2 (Venice only)
- */
- (GlobalFir, bit(18)) ? analyzeEx2;
-
- /** GLOBAL_FIR[19]
- * Attention from EX3 (Venice only)
- */
- (GlobalFir, bit(19)) ? analyzeEx3;
-
- /** GLOBAL_FIR[20]
- * Attention from EX4
- */
- (GlobalFir, bit(20)) ? analyzeEx4;
-
- /** GLOBAL_FIR[21]
- * Attention from EX5
- */
- (GlobalFir, bit(21)) ? analyzeEx5;
-
- /** GLOBAL_FIR[22]
- * Attention from EX6
- */
- (GlobalFir, bit(22)) ? analyzeEx6;
-
- /** GLOBAL_FIR[25]
- * Attention from EX9 (Venice only)
- */
- (GlobalFir, bit(25)) ? analyzeEx9;
-
- /** GLOBAL_FIR[26]
- * Attention from EX10 (Venice only)
- */
- (GlobalFir, bit(26)) ? analyzeEx10;
-
- /** GLOBAL_FIR[27]
- * Attention from EX11 (Venice only)
- */
- (GlobalFir, bit(27)) ? analyzeEx11;
-
- /** GLOBAL_FIR[28]
- * Attention from EX12
- */
- (GlobalFir, bit(28)) ? analyzeEx12;
-
- /** GLOBAL_FIR[29]
- * Attention from EX13
- */
- (GlobalFir, bit(29)) ? analyzeEx13;
-
- /** GLOBAL_FIR[30]
- * Attention from EX14
- */
- (GlobalFir, bit(30)) ? analyzeEx14;
-};
-
-# Import all of the chiplet rules and actions
-# NOTE: Some of PB local FIRs are handled through the TP chiplet FIRs
-.include "Proc_acts_TP.rule"
-.include "Proc_acts_PB.rule"
-.include "Proc_acts_XBUS.rule"
-.include "Proc_acts_ABUS.rule"
-.include "Proc_acts_PCIE.rule"
-
- ##############################################################################
- # #
- # # ### #
- # # # ## ##### ### ### # # # # # # ### ### ### ### #
- # # # # # # # # # ## # # # # # # # # # #
- # ####### # # # # # # # # # # ##### ### ### ## ### #
- # # # # # # # # # # ## # # # # # # # # # #
- # # # ## # ### ### # # ### ### # # ### ### ### ### #
- # #
- ##############################################################################
-
-# Include the common action set.
-.include "CommonActions.rule"
-
-#import common Proc actions
-.include "Proc_acts_common.rule"
diff --git a/src/usr/diag/prdf/common/plat/pegasus/NaplesProc.rule b/src/usr/diag/prdf/common/plat/pegasus/NaplesProc.rule
deleted file mode 100644
index d0b1da33d..000000000
--- a/src/usr/diag/prdf/common/plat/pegasus/NaplesProc.rule
+++ /dev/null
@@ -1,170 +0,0 @@
-# IBM_PROLOG_BEGIN_TAG
-# This is an automatically generated prolog.
-#
-# $Source: src/usr/diag/prdf/common/plat/pegasus/NaplesProc.rule $
-#
-# OpenPOWER HostBoot Project
-#
-# Contributors Listed Below - COPYRIGHT 2015
-# [+] 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 Proc
-{
- name "Power8 Naples Chip";
- targettype TYPE_PROC;
- sigoff 0x4000;
- dump DUMP_CONTENT_HW;
- scomlen 64;
-
-#Import signatures
-.include "prdfP8ProcExtraSig.H";
-.include "prdfP8ProcMbCommonExtraSig.H";
-
-#Import Common Proc rule file
-.include "Proc_regs_common.rule"
-
-# Import all of the chiplet registers
-.include "Proc_regs_TP.rule"
-.include "Proc_regs_PB.rule"
-.include "Proc_regs_XBUS.rule"
-.include "Proc_regs_NV.rule"
-.include "Proc_regs_PCIE.rule"
-
-};
-
-################################################################################
-# Global Broadcast Registers
-################################################################################
-
-rule GlobalFir
-{
- CHECK_STOP: GLOBAL_CS_FIR;
- RECOVERABLE: GLOBAL_RE_FIR;
-};
-
-group gGlobalFir attntype CHECK_STOP, RECOVERABLE filter singlebit
-{
- /** GLOBAL_FIR[1]
- * Attention from TP chiplet
- */
- (GlobalFir, bit(1)) ? analyze(gTpChipletFir);
-
- /** GLOBAL_FIR[2]
- * Attention from PB chiplet
- */
- (GlobalFir, bit(2)) ? analyze(gPbChipletFir);
-
- /** GLOBAL_FIR[4]
- * Attention from XBUS chiplet
- */
- (GlobalFir, bit(4)) ? analyze(gXbusChipletFir);
-
- /** GLOBAL_FIR[8]
- * Attention from NV
- */
- (GlobalFir, bit(8)) ? analyze(gNvChipletFir);
-
- /** GLOBAL_FIR[9]
- * Attention from PCIE
- */
- (GlobalFir, bit(9)) ? analyze(gPcieChipletFir);
-
- /** GLOBAL_FIR[17]
- * Attention from EX1 (Venice only)
- */
- (GlobalFir, bit(17)) ? analyzeEx1;
-
- /** GLOBAL_FIR[18]
- * Attention from EX2 (Venice only)
- */
- (GlobalFir, bit(18)) ? analyzeEx2;
-
- /** GLOBAL_FIR[19]
- * Attention from EX3 (Venice only)
- */
- (GlobalFir, bit(19)) ? analyzeEx3;
-
- /** GLOBAL_FIR[20]
- * Attention from EX4
- */
- (GlobalFir, bit(20)) ? analyzeEx4;
-
- /** GLOBAL_FIR[21]
- * Attention from EX5
- */
- (GlobalFir, bit(21)) ? analyzeEx5;
-
- /** GLOBAL_FIR[22]
- * Attention from EX6
- */
- (GlobalFir, bit(22)) ? analyzeEx6;
-
- /** GLOBAL_FIR[25]
- * Attention from EX9 (Venice only)
- */
- (GlobalFir, bit(25)) ? analyzeEx9;
-
- /** GLOBAL_FIR[26]
- * Attention from EX10 (Venice only)
- */
- (GlobalFir, bit(26)) ? analyzeEx10;
-
- /** GLOBAL_FIR[27]
- * Attention from EX11 (Venice only)
- */
- (GlobalFir, bit(27)) ? analyzeEx11;
-
- /** GLOBAL_FIR[28]
- * Attention from EX12
- */
- (GlobalFir, bit(28)) ? analyzeEx12;
-
- /** GLOBAL_FIR[29]
- * Attention from EX13
- */
- (GlobalFir, bit(29)) ? analyzeEx13;
-
- /** GLOBAL_FIR[30]
- * Attention from EX14
- */
- (GlobalFir, bit(30)) ? analyzeEx14;
-};
-
-# Import all of the chiplet rules and actions
-# NOTE: Some of PB local FIRs are handled through the TP chiplet FIRs
-.include "Proc_acts_TP.rule"
-.include "Proc_acts_PB.rule"
-.include "Proc_acts_XBUS.rule"
-.include "Proc_acts_NV.rule"
-.include "Proc_acts_PCIE.rule"
-
- ##############################################################################
- # #
- # # ### #
- # # # ## ##### ### ### # # # # # # ### ### ### ### #
- # # # # # # # # # ## # # # # # # # # # #
- # ####### # # # # # # # # # # ##### ### ### ## ### #
- # # # # # # # # # # ## # # # # # # # # # #
- # # # ## # ### ### # # ### ### # # ### ### ### ### #
- # #
- ##############################################################################
-
-# Include the common action set.
-.include "CommonActions.rule"
-
-#import common Proc actions
-.include "Proc_acts_common.rule"
diff --git a/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_ABUS.rule b/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_ABUS.rule
deleted file mode 100755
index 6c1d41ca6..000000000
--- a/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_ABUS.rule
+++ /dev/null
@@ -1,616 +0,0 @@
-# IBM_PROLOG_BEGIN_TAG
-# This is an automatically generated prolog.
-#
-# $Source: src/usr/diag/prdf/common/plat/pegasus/Proc_acts_ABUS.rule $
-#
-# OpenPOWER HostBoot Project
-#
-# Contributors Listed Below - COPYRIGHT 2012,2017
-# [+] 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
-
-################################################################################
-# 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)) ? SelfHighThr32PerDay;
-
- /** ABUS_LFIR[1]
- * Local errors from GPIO (PCB error)
- */
- (AbusLFir, bit(1)) ? defaultMaskedError;
-
- /** ABUS_LFIR[2]
- * Local errors from CC (PCB error)
- */
- (AbusLFir, bit(2)) ? SelfHighThr32PerDay;
-
- /** ABUS_LFIR[3]
- * Local errors from CC (OPCG, parity, scan collision, ...)
- */
- (AbusLFir, bit(3)) ? callout2ndLvlMedThr32;
-
- /** ABUS_LFIR[4]
- * Local errors from PSC (PCB error)
- */
- (AbusLFir, bit(4)) ? defaultMaskedError;
-
- /** ABUS_LFIR[5]
- * Local errors from PSC (parity error)
- */
- (AbusLFir, bit(5)) ? defaultMaskedError;
-
- /** ABUS_LFIR[6]
- * Local errors from Thermal (parity error)
- */
- (AbusLFir, bit(6)) ? defaultMaskedError;
-
- /** ABUS_LFIR[7]
- * Local errors from Thermal (PCB error)
- */
- (AbusLFir, bit(7)) ? defaultMaskedError;
-
- /** ABUS_LFIR[8|9]
- * Local errors from Thermal (Trip error)
- */
- (AbusLFir, bit(8|9)) ? defaultMaskedError;
-
- /** ABUS_LFIR[10|11]
- * Local errors from Trace Array ( error)
- */
- (AbusLFir, bit(10|11)) ? defaultMaskedError;
-
- /** ABUS_LFIR[12:20]
- * FIR_IN12: unused local errors
- */
- (AbusLFir, bit(12|13|14|15|16|17|18|19|20)) ? defaultMaskedError;
-
- /** ABUS_LFIR[21:30]
- * FIR_IN12: unused local errors
- */
- (AbusLFir, bit(21|22|23|24|25|26|27|28|29|30)) ? defaultMaskedError;
-
- /** ABUS_LFIR[31:39]
- * FIR_IN12: unused local errors
- */
- (AbusLFir, bit(31|32|33|34|35|36|37|38|39)) ? defaultMaskedError;
-
- /** ABUS_LFIR[40]
- * Malfunction alert
- */
- (AbusLFir, bit(40)) ? defaultMaskedError;
-};
-
-################################################################################
-# ABUS Chiplet PBESFIR
-################################################################################
-# based on p8dd1_mss_FFDC_37_ reviewd.xls
-################################################################################
-
-rule PbesFir
-{
- CHECK_STOP:
- PBESFIR & ~PBESFIR_MASK & ~PBESFIR_ACT0 & ~PBESFIR_ACT1;
- RECOVERABLE:
- PBESFIR & ~PBESFIR_MASK & ~PBESFIR_ACT0 & PBESFIR_ACT1;
-};
-
-
-group gPbesFir filter singlebit,
- secondarybits( 6, 9, 12 )
-{
- /** PBESFIR[0]
- * A0LINK_FMR_ERROR: a0link_fmr_error
- */
- (PbesFir, bit(0)) ? SelfHighThr1;
-
- /** PBESFIR[1]
- * A1LINK_FMR_ERROR: a1link_fmr_error
- */
- (PbesFir, bit(1)) ? SelfHighThr1;
-
- /** PBESFIR[2]
- * A2LINK_FMR_ERROR: a2link_fmr_error
- */
- (PbesFir, bit(2)) ? SelfHighThr1;
-
- /** PBESFIR[3]
- * A0LINK_PSR_ERR: a0link_psr_err
- */
- (PbesFir, bit(3)) ? SelfHighThr1;
-
- /** PBESFIR[4]
- * A1LINK_PSR_ERR: a1link_psr_err
- */
- (PbesFir, bit(4)) ? SelfHighThr1;
-
- /** PBESFIR[5]
- * A2LINK_PSR_ERR: a2link_psr_err
- */
- (PbesFir, bit(5)) ? SelfHighThr1;
-
- /** PBESFIR[6]
- * A0LINK_PSR_COR_ERR
- */
- (PbesFir, bit(6)) ? calloutAbus0InterfaceTh5;
-
- /** PBESFIR[7]
- * A0LINK_PSR_DERR_ERR
- */
- (PbesFir, bit(7)) ? defaultMaskedError;
-
- /** PBESFIR[8]
- * A0LINK_PSR_UNC_ERR
- */
- (PbesFir, bit(8)) ? calloutAbus0InterfaceTh1;
-
- /** PBESFIR[9]
- * A1LINK_PSR_COR_ERR
- */
- (PbesFir, bit(9)) ? calloutAbus1InterfaceTh5;
-
- /** PBESFIR[10]
- * A1LINK_PSR_DERR_ERR
- */
- (PbesFir, bit(10)) ? defaultMaskedError;
-
- /** PBESFIR[11]
- * A1LINK_PSR_UNC_ERR
- */
- (PbesFir, bit(11)) ? calloutAbus1InterfaceTh1;
-
- /** PBESFIR[12]
- * A2LINK_PSR_COR_ERR
- */
- (PbesFir, bit(12)) ? calloutAbus2InterfaceTh5;
-
- /** PBESFIR[13]
- * A2LINK_PSR_DERR_ERR
- */
- (PbesFir, bit(13)) ? defaultMaskedError;
-
- /** PBESFIR[14]
- * A2LINK_PSR_UNC_ERR
- */
- (PbesFir, bit(14)) ? calloutAbus2InterfaceTh1;
-
- /** PBESFIR[15]
- * A0LINK_FMR_COR_ERR_HI
- */
- (PbesFir, bit(15)) ? SelfHighThr32PerDay;
-
- /** PBESFIR[16]
- * A0LINK_FMR_COR_ERR_LO
- */
- (PbesFir, bit(16)) ? SelfHighThr32PerDay;
-
- /** PBESFIR[17]
- * A0LINK_FMR_SUE_ERR_HI
- */
- (PbesFir, bit(17)) ? defaultMaskedError;
-
- /** PBESFIR[18]
- * A0LINK_FMR_SUE_ERR_LO
- */
- (PbesFir, bit(18)) ? defaultMaskedError;
-
- /** PBESFIR[19]
- * A0LINK_FMR_UNC_ERR_HI
- */
- (PbesFir, bit(19)) ? calloutProcHighThr1SUE;
-
- /** PBESFIR[20]
- * A0LINK_FMR_UNC_ERR_LO
- */
- (PbesFir, bit(20)) ? calloutProcHighThr1SUE;
-
- /** PBESFIR[21]
- * A1LINK_FMR_COR_ERR_HI
- */
- (PbesFir, bit(21)) ? SelfHighThr32PerDay;
-
- /** PBESFIR[22]
- * A1LINK_FMR_COR_ERR_LO
- */
- (PbesFir, bit(22)) ? SelfHighThr32PerDay;
-
- /** PBESFIR[23]
- * A1LINK_FMR_SUE_ERR_HI
- */
- (PbesFir, bit(23)) ? defaultMaskedError;
-
- /** PBESFIR[24]
- * A1LINK_FMR_SUE_ERR_LO
- */
- (PbesFir, bit(24)) ? defaultMaskedError;
-
- /** PBESFIR[25]
- * A1LINK_FMR_UNC_ERR_HI
- */
- (PbesFir, bit(25)) ? calloutProcHighThr1SUE;
-
- /** PBESFIR[26]
- * A1LINK_FMR_UNC_ERR_LO
- */
- (PbesFir, bit(26)) ? calloutProcHighThr1SUE;
-
- /** PBESFIR[27]
- * A2LINK_FMR_COR_ERR_HI
- */
- (PbesFir, bit(27)) ? SelfHighThr32PerDay;
-
- /** PBESFIR[28]
- * A2LINK_FMR_COR_ERR_LO
- */
- (PbesFir, bit(28)) ? SelfHighThr32PerDay;
-
- /** PBESFIR[29]
- * A2LINK_FMR_SUE_ERR_HI
- */
- (PbesFir, bit(29)) ? defaultMaskedError;
-
- /** PBESFIR[30]
- * A2LINK_FMR_SUE_ERR_LO
- */
- (PbesFir, bit(30)) ? defaultMaskedError;
-
- /** PBESFIR[31]
- * A2LINK_FMR_UNC_ERR_HI
- */
- (PbesFir, bit(31)) ? calloutProcHighThr1SUE;
-
- /** PBESFIR[32]
- * A2LINK_FMR_UNC_ERR_LO
- */
- (PbesFir, bit(32)) ? calloutProcHighThr1SUE;
-
- /** PBESFIR[33]
- * A0_OBS_CR_OVERFLOW_FIR_ERR
- */
- (PbesFir, bit(33)) ? SelfHighThr1;
-
- /** PBESFIR[34]
- * A1_OBS_CR_OVERFLOW_FIR_ERR
- */
- (PbesFir, bit(34)) ? SelfHighThr1;
-
- /** PBESFIR[35]
- * A2_OBS_CR_OVERFLOW_FIR_ERR
- */
- (PbesFir, bit(35)) ? SelfHighThr1;
-
- /** PBESFIR[36]
- * FIR_SCOM_ERR_DUP
- */
- (PbesFir, bit(36)) ? defaultMaskedError;
-
- /** PBESFIR[37]
- * FIR_SCOM_ERR
- */
- (PbesFir, bit(37)) ? defaultMaskedError;
-
- # If bit 3 and 8 turn on simultaneously, action should be same as
- # in case of bit 8.
-
- /** PBESFIR[3,8]
- * A0LINK_PSR_UNC_ERR
- */
- (PbesFir, bit(3,8)) ? calloutAbus0InterfaceTh1;
-
- # If bit 4 and 11 turn on simultaneously, action should be same as
- # in case of bit 11.
-
- /** PBESFIR[4,11]
- * A1LINK_PSR_UNC_ERR
- */
- (PbesFir, bit(4,11)) ? calloutAbus1InterfaceTh1;
-
- # If bit 5 and 14 turn on simultaneously, action should be same as
- # in case of bit 14.
-
- /** PBESFIR[5,14]
- * A2LINK_PSR_UNC_ERR
- */
- (PbesFir, bit(5,14)) ? calloutAbus2InterfaceTh1;
-};
-
-################################################################################
-# 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,
- secondarybits( 17, 25, 33 )
-{
- /** IOAFIR[0]
- * FIR_RX_INVALID_STATE_OR_PARITY_ERROR
- */
- (IoaFir, bit(0)) ? defaultMaskedError;
-
- /** IOAFIR[1]
- * FIR_TX_INVALID_STATE_OR_PARITY_ERROR
- */
- (IoaFir, bit(1)) ? defaultMaskedError;
-
- /** IOAFIR[2]
- * FIR_GCR_HANG_ERROR
- */
- (IoaFir, bit(2)) ? SelfHighThr1;
-
- /** IOAFIR[3:7]
- * Reserved
- */
- (IoaFir, bit(3|4|5|6|7)) ? defaultMaskedError;
-
- /** IOAFIR[8:15]
- * FIR_RX_BUS0 unused
- */
- (IoaFir, bit(8|9|10|11|12|13|14|15)) ? defaultMaskedError;
-
- /** IOAFIR[16]
- * ABUS0 Training Error
- */
- (IoaFir, bit(16)) ? defaultMaskedError;
-
- /** IOAFIR[17]
- * ABUS0 Spare Deployed
- */
- (IoaFir, bit(17)) ? spareDeployed_abus0;
-
- /** IOAFIR[18]
- * ABUS0 Max Spares Exceeded
- */
- (IoaFir, bit(18)) ? maxSparesExceeded_abus0;
-
- /** IOAFIR[19]
- * ABUS0 Recalibration or Dynamic Repair Error
- */
- (IoaFir, bit(19)) ? calloutAbus0InterfaceTh1;
-
- /** IOAFIR[20]
- * ABUS0 Too Many Bus Errors
- */
- (IoaFir, bit(20)) ? tooManyBusErrors_abus0;
-
- /** IOAFIR[21:23]
- * Reserved
- */
- (IoaFir, bit(21|22|23)) ? defaultMaskedError;
-
- /** IOAFIR[24]
- * ABUS1 Training Error
- */
- (IoaFir, bit(24)) ? defaultMaskedError;
-
- /** IOAFIR[25]
- * ABUS1 Spare Deployed
- */
- (IoaFir, bit(25)) ? spareDeployed_abus1;
-
- /** IOAFIR[26]
- * ABUS1 Max Spares Exceeded
- */
- (IoaFir, bit(26)) ? maxSparesExceeded_abus1;
-
- /** IOAFIR[27]
- * ABUS1 Recalibration or Dynamic Repair Error
- */
- (IoaFir, bit(27)) ? calloutAbus1InterfaceTh1;
-
- /** IOAFIR[28]
- * ABUS1 Too Many Bus Errors
- */
- (IoaFir, bit(28)) ? tooManyBusErrors_abus1;
-
- /** IOAFIR[29:31]
- * Reserved
- */
- (IoaFir, bit(29|30|31)) ? defaultMaskedError;
-
- /** IOAFIR[32]
- * ABUS2 Training Error
- */
- (IoaFir, bit(32)) ? defaultMaskedError;
-
- /** IOAFIR[33]
- * ABUS2 Spare Deployed
- */
- (IoaFir, bit(33)) ? spareDeployed_abus2;
-
- /** IOAFIR[34]
- * ABUS2 Max Spares Exceeded
- */
- (IoaFir, bit(34)) ? maxSparesExceeded_abus2;
-
- /** IOAFIR[35]
- * ABUS2 Recalibration or Dynamic Repair Error
- */
- (IoaFir, bit(35)) ? calloutAbus2InterfaceTh1;
-
- /** IOAFIR[36]
- * ABUS2 Too Many Bus Errors
- */
- (IoaFir, bit(36)) ? tooManyBusErrors_abus2;
-
- /** IOAFIR[37:39]
- * Reserved
- */
- (IoaFir, bit(37|38|39)) ? defaultMaskedError;
-
- /** IOAFIR[40:47]
- * FIR_RX_BUS4 unused
- */
- (IoaFir, bit(40|41|42|43|44|45|46|47)) ? defaultMaskedError;
-
- /** IOAFIR[48]
- * FIR_SCOMFIR_ERROR
- */
- (IoaFir, bit(48)) ? defaultMaskedError;
-
- /** IOAFIR[49]
- * FIR_SCOMFIR_ERROR_CLONE
- */
- (IoaFir, bit(49)) ? defaultMaskedError;
-};
-
-################################################################################
-# Actions specific to ABUS chiplet
-################################################################################
-
-
-/** Callout the ABUS 0 interface */
-actionclass calloutAbus0Interface
-{
- callout(procedure(FAB_BUS_OFF_NODE), MRU_MED);
- callout(connected(TYPE_ABUS, 0), MRU_MEDA);
- callout(connected_peer(TYPE_ABUS, 0), MRU_MEDA);
- funccall("calloutInterface_abus0");
-};
-
-/** Callout the ABUS 1 interface */
-actionclass calloutAbus1Interface
-{
- callout(procedure(FAB_BUS_OFF_NODE), MRU_MED);
- callout(connected(TYPE_ABUS, 1), MRU_MEDA);
- callout(connected_peer(TYPE_ABUS, 1), MRU_MEDA);
- funccall("calloutInterface_abus1");
-};
-
-/** Callout the ABUS 2 interface */
-actionclass calloutAbus2Interface
-{
- callout(procedure(FAB_BUS_OFF_NODE), MRU_MED);
- callout(connected(TYPE_ABUS, 2), MRU_MEDA);
- callout(connected_peer(TYPE_ABUS, 2), MRU_MEDA);
- funccall("calloutInterface_abus2");
-};
-
-/** Callout the ABUS 0 interface, threshold 1 */
-actionclass calloutAbus0InterfaceTh1 { calloutAbus0Interface; threshold1; };
-
-/** Callout the ABUS 1 interface, threshold 1 */
-actionclass calloutAbus1InterfaceTh1 { calloutAbus1Interface; threshold1; };
-
-/** Callout the ABUS 2 interface, threshold 1 */
-actionclass calloutAbus2InterfaceTh1 { calloutAbus2Interface; threshold1; };
-
-/** Threshold 5 per day, mask but do not predictively callout ABUS 0 */
-actionclass calloutAbus0InterfaceTh5
-{
- calloutAbus0Interface;
- threshold5pday;
- funccall("ClearServiceCallFlag");
-};
-
-/** Threshold 5 per day, mask but do not predictively callout ABUS 1 */
-actionclass calloutAbus1InterfaceTh5
-{
- calloutAbus1Interface;
- threshold5pday;
- funccall("ClearServiceCallFlag");
-};
-
-/** Threshold 5 per day, mask but do not predictively callout ABUS 2 */
-actionclass calloutAbus2InterfaceTh5
-{
- calloutAbus2Interface;
- threshold5pday;
- funccall("ClearServiceCallFlag");
-};
-
-/** Lane Repair: spare deployed - ABUS 0 */
-actionclass spareDeployed_abus0
-{ calloutAbus0Interface; funccall("spareDeployed_abus0"); };
-
-/** Lane Repair: spare deployed - ABUS 1 */
-actionclass spareDeployed_abus1
-{ calloutAbus1Interface; funccall("spareDeployed_abus1"); };
-
-/** Lane Repair: spare deployed - ABUS 2 */
-actionclass spareDeployed_abus2
-{ calloutAbus2Interface; funccall("spareDeployed_abus2"); };
-
-/** Lane Repair: max spares exceeded - ABUS 0 */
-actionclass maxSparesExceeded_abus0
-{ calloutAbus0InterfaceTh1; funccall("maxSparesExceeded_abus0"); };
-
-/** Lane Repair: max spares exceeded - ABUS 1 */
-actionclass maxSparesExceeded_abus1
-{ calloutAbus1InterfaceTh1; funccall("maxSparesExceeded_abus1"); };
-
-/** Lane Repair: max spares exceeded - ABUS 1 */
-actionclass maxSparesExceeded_abus2
-{ calloutAbus2InterfaceTh1; funccall("maxSparesExceeded_abus2"); };
-
-/** Lane Repair: too many bus errors - ABUS 0 */
-actionclass tooManyBusErrors_abus0
-{ calloutAbus0InterfaceTh1; funccall("tooManyBusErrors_abus0"); };
-
-/** Lane Repair: too many bus errors - ABUS 1 */
-actionclass tooManyBusErrors_abus1
-{ calloutAbus1InterfaceTh1; funccall("tooManyBusErrors_abus1"); };
-
-/** Lane Repair: too many bus errors - ABUS 2 */
-actionclass tooManyBusErrors_abus2
-{ calloutAbus2InterfaceTh1; funccall("tooManyBusErrors_abus2"); };
-
diff --git a/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_NV.rule b/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_NV.rule
deleted file mode 100755
index 408f3d938..000000000
--- a/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_NV.rule
+++ /dev/null
@@ -1,583 +0,0 @@
-# IBM_PROLOG_BEGIN_TAG
-# This is an automatically generated prolog.
-#
-# $Source: src/usr/diag/prdf/common/plat/pegasus/Proc_acts_NV.rule $
-#
-# OpenPOWER HostBoot Project
-#
-# Contributors Listed Below - COPYRIGHT 2015,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
-
-################################################################################
-# NV Chiplet Registers
-################################################################################
-
-rule NvChipletFir
-{
- CHECK_STOP:
- (NV_CHIPLET_CS_FIR & `1700000000000000`) & ~NV_CHIPLET_FIR_MASK;
- RECOVERABLE:
- ((NV_CHIPLET_RE_FIR >> 2) & `1700000000000000`) & ~NV_CHIPLET_FIR_MASK;
-};
-
-group gNvChipletFir filter singlebit
-{
- /** NV_CHIPLET_FIR[3]
- * Attention from LFIR
- */
- (NvChipletFir, bit(3)) ? analyze(gNVLFir);
-
- /** NV_CHIPLET_FIR[5]
- * Attention from IONVFIR_0
- */
- (NvChipletFir, bit(5)) ? analyze(gIoNvFir_0);
-
- /** NV_CHIPLET_FIR[6]
- * Attention from NPU
- */
- (NvChipletFir, bit(6)) ? analyze(gNpuFir);
-
- /** NV_CHIPLET_FIR[7]
- * Attention from IONVFIR_1
- */
- (NvChipletFir, bit(7)) ? analyze(gIoNvFir_1);
-};
-
-################################################################################
-# NV Chiplet LFIR
-################################################################################
-
-rule NVLFir
-{
- CHECK_STOP: NV_LFIR & ~NV_LFIR_MASK & ~NV_LFIR_ACT0 & ~NV_LFIR_ACT1;
- RECOVERABLE: NV_LFIR & ~NV_LFIR_MASK & ~NV_LFIR_ACT0 & NV_LFIR_ACT1;
-};
-
-group gNVLFir filter singlebit
-{
- /** NV_LFIR[0]
- * CFIR internal parity error
- */
- (NVLFir, bit(0)) ? SelfHighThr32PerDay;
-
- /** NV_LFIR[1]
- * Local errors from GPIO (PCB error)
- */
- (NVLFir, bit(1)) ? defaultMaskedError;
-
- /** NV_LFIR[2]
- * Local errors from CC (PCB error)
- */
- (NVLFir, bit(2)) ? SelfHighThr32PerDay;
-
- /** NV_LFIR[3]
- * Local errors from CC (OPCG, parity, scan collision, ...)
- */
- (NVLFir, bit(3)) ? callout2ndLvlMedThr32;
-
- /** NV_LFIR[4]
- * Local errors from PSC (PCB error)
- */
- (NVLFir, bit(4)) ? defaultMaskedError;
-
- /** NV_LFIR[5]
- * Local errors from PSC (parity error)
- */
- (NVLFir, bit(5)) ? defaultMaskedError;
-
- /** NV_LFIR[6]
- * Local errors from Thermal (parity error)
- */
- (NVLFir, bit(6)) ? defaultMaskedError;
-
- /** NV_LFIR[7]
- * Local errors from Thermal (PCB error)
- */
- (NVLFir, bit(7)) ? defaultMaskedError;
-
- /** NV_LFIR[8|9]
- * Local errors from Thermal (Trip error)
- */
- (NVLFir, bit(8|9)) ? defaultMaskedError;
-
- /** NV_LFIR[10|11]
- * Local errors from Trace Array ( error)
- */
- (NVLFir, bit(10|11)) ? defaultMaskedError;
-
- /** NV_LFIR[12:20]
- * FIR_IN12: unused local errors
- */
- (NVLFir, bit(12|13|14|15|16|17|18|19|20)) ? defaultMaskedError;
-
- /** NV_LFIR[21:30]
- * FIR_IN12: unused local errors
- */
- (NVLFir, bit(21|22|23|24|25|26|27|28|29|30)) ? defaultMaskedError;
-
- /** NV_LFIR[31:39]
- * FIR_IN12: unused local errors
- */
- (NVLFir, bit(31|32|33|34|35|36|37|38|39)) ? defaultMaskedError;
-
- /** NV_LFIR[40]
- * Malfunction alert
- */
- (NVLFir, bit(40)) ? defaultMaskedError;
-};
-
-################################################################################
-# NV Chiplet IONVFIR_0s
-################################################################################
-
-rule IoNvFir_0
-{
- CHECK_STOP:
- IONVFIR_0 & ~IONVFIR_0_MASK & ~IONVFIR_0_ACT0 & ~IONVFIR_0_ACT1;
- RECOVERABLE:
- IONVFIR_0 & ~IONVFIR_0_MASK & ~IONVFIR_0_ACT0 & IONVFIR_0_ACT1;
-};
-
-group gIoNvFir_0 filter singlebit
-{
- /** IONVFIR_0[0]
- * FIR_RX_INVALID_STATE_OR_PARITY_ERROR
- */
- (IoNvFir_0, bit(0)) ? SelfMedThr32PerDay;
-
- /** IONVFIR_0[1]
- * FIR_TX_INVALID_STATE_OR_PARITY_ERROR
- */
- (IoNvFir_0, bit(1)) ? SelfMedThr32PerDay;
-
- /** IONVFIR_0[2]
- * FIR_GCR_HANG_ERROR
- */
- (IoNvFir_0, bit(2)) ? SelfMedThr32PerDay;
-
- /** IONVFIR_0[3:12]
- * RESERVED
- */
- (IoNvFir_0, bit(3|4|5|6|7|8|9|10|11|12)) ? defaultMaskedError;
-
- /** IONVFIR_0[13:22]
- * RESERVED
- */
- (IoNvFir_0, bit(13|14|15|16|17|18|19|20|21|22)) ? defaultMaskedError;
-
- /** IONVFIR_0[23:32]
- * RESERVED
- */
- (IoNvFir_0, bit(23|24|25|26|27|28|29|30|31|32)) ? defaultMaskedError;
-
- /** IONVFIR_0[33:42]
- * RESERVED
- */
- (IoNvFir_0, bit(33|34|35|36|37|38|39|40|41|42)) ? defaultMaskedError;
-
- /** IONVFIR_0[43:47]
- * RESERVED
- */
- (IoNvFir_0, bit(43|44|45|46|47)) ? defaultMaskedError;
-
- /** IONVFIR_0[48]
- * FIR_SCOMFIR_ERROR
- */
- (IoNvFir_0, bit(48)) ? defaultMaskedError;
-
- /** IONVFIR_0[49]
- * FIR_SCOMFIR_ERROR_CLONE
- */
- (IoNvFir_0, bit(49)) ? defaultMaskedError;
-};
-
-rule IoNvFir_1
-{
- CHECK_STOP:
- IONVFIR_1 & ~IONVFIR_1_MASK & ~IONVFIR_1_ACT0 & ~IONVFIR_1_ACT1;
- RECOVERABLE:
- IONVFIR_1 & ~IONVFIR_1_MASK & ~IONVFIR_1_ACT0 & IONVFIR_1_ACT1;
-};
-
-group gIoNvFir_1 filter singlebit
-{
- /** IONVFIR_1[0]
- * FIR_RX_INVALID_STATE_OR_PARITY_ERROR
- */
- (IoNvFir_1, bit(0)) ? SelfMedThr32PerDay;
-
- /** IONVFIR_1[1]
- * FIR_TX_INVALID_STATE_OR_PARITY_ERROR
- */
- (IoNvFir_1, bit(1)) ? SelfMedThr32PerDay;
-
- /** IONVFIR_1[2]
- * FIR_GCR_HANG_ERROR
- */
- (IoNvFir_1, bit(2)) ? SelfMedThr32PerDay;
-
- /** IONVFIR_1[3:12]
- * RESERVED
- */
- (IoNvFir_1, bit(3|4|5|6|7|8|9|10|11|12)) ? defaultMaskedError;
-
- /** IONVFIR_1[13:22]
- * RESERVED
- */
- (IoNvFir_1, bit(13|14|15|16|17|18|19|20|21|22)) ? defaultMaskedError;
-
- /** IONVFIR_1[23:32]
- * RESERVED
- */
- (IoNvFir_1, bit(23|24|25|26|27|28|29|30|31|32)) ? defaultMaskedError;
-
- /** IONVFIR_1[33:42]
- * RESERVED
- */
- (IoNvFir_1, bit(33|34|35|36|37|38|39|40|41|42)) ? defaultMaskedError;
-
- /** IONVFIR_1[43:47]
- * RESERVED
- */
- (IoNvFir_1, bit(43|44|45|46|47)) ? defaultMaskedError;
-
- /** IONVFIR_1[48]
- * FIR_SCOMFIR_ERROR
- */
- (IoNvFir_1, bit(48)) ? defaultMaskedError;
-
- /** IONVFIR_1[49]
- * FIR_SCOMFIR_ERROR_CLONE
- */
- (IoNvFir_1, bit(49)) ? defaultMaskedError;
-};
-
-rule NpuFir
-{
- CHECK_STOP: NPUFIR & ~NPUFIR_MASK & ~NPUFIR_ACT0 & ~NPUFIR_ACT1;
- RECOVERABLE: NPUFIR & ~NPUFIR_MASK & ~NPUFIR_ACT0 & NPUFIR_ACT1;
-};
-
-group gNpuFir filter singlebit
-{
- /** NPUFIR[0]
- * TVT Entry Invalid Single PE
- */
- (NpuFir, bit(0)) ? defaultMaskedError;
-
- /** NPUFIR[1]
- * TVT Address Range Error Single PE
- */
- (NpuFir, bit(1)) ? defaultMaskedError;
-
- /** NPUFIR[2]
- * TCE Page Access Error Single PE
- */
- (NpuFir, bit(2)) ? defaultMaskedError;
-
- /** NPUFIR[3]
- * TCE Cache Multiple Hit Error Fatal Error
- */
- (NpuFir, bit(3)) ? defaultMaskedError;
-
- /** NPUFIR[4]
- * TCE Request Timeout Error Fatal Error
- */
- (NpuFir, bit(4)) ? defaultMaskedError;
-
- /** NPUFIR[5]
- * TCE Fetch Data Error Fatal Error
- */
- (NpuFir, bit(5)) ? defaultMaskedError;
-
- /** NPUFIR[6]
- * TCE Directory Parity Error Informational
- */
- (NpuFir, bit(6)) ? calloutSelfMedTh32NoGard;
-
- /** NPUFIR[7]
- * TCE Cache Data Array Parity Error Informational
- */
- (NpuFir, bit(7)) ? calloutSelfMedTh32NoGard;
-
- /** NPUFIR[8]
- * Addr Translation Effective Address Array UE Fatal Error
- */
- (NpuFir, bit(8)) ? defaultMaskedError;
-
- /** NPUFIR[9]
- * Addr Translation Effective Address Array CE Informational
- */
- (NpuFir, bit(9)) ? calloutSelfMedTh32NoGard;
-
- /** NPUFIR[10]
- * TVT Parity Error Fatal Error
- */
- (NpuFir, bit(10)) ? defaultMaskedError;
-
- /** NPUFIR[11]
- * LSI Source ID Register Parity Error Fatal Error
- */
- (NpuFir, bit(11)) ? defaultMaskedError;
-
- /** NPUFIR[12]
- * Interrupt Represent Timer Register Parity Error Fatal Error
- */
- (NpuFir, bit(12)) ? defaultMaskedError;
-
- /** NPUFIR[13]
- * IODA Address Register Parity Error Fatal Error
- */
- (NpuFir, bit(13)) ? defaultMaskedError;
-
- /** NPUFIR[14]
- * NPU Control Register Parity Error Fatal Error
- */
- (NpuFir, bit(14)) ? defaultMaskedError;
-
- /** NPUFIR[15]
- * NPU Timeout Control Register Parity Error Fatal Error
- */
- (NpuFir, bit(15)) ? defaultMaskedError;
-
- /** NPUFIR[16]
- * Invalid IODA Table Select Error Fatal Error
- */
- (NpuFir, bit(16)) ? defaultMaskedError;
-
- /** NPUFIR[17]
- * Invalid MMIO Address Decode Fatal Error
- */
- (NpuFir, bit(17)) ? defaultMaskedError;
-
- /** NPUFIR[18]
- * TCE Fetch Address Error Single PE
- */
- (NpuFir, bit(18)) ? defaultMaskedError;
-
- /** NPUFIR[19]
- * TCE tree walk CE error Informational
- */
- (NpuFir, bit(19)) ? calloutSelfMedTh32NoGard;
-
- /** NPUFIR[20]
- * Spare FIR Unused
- */
- (NpuFir, bit(20)) ? defaultMaskedError;
-
- /** NPUFIR[21]
- * MMIO/scom register error
- */
- (NpuFir, bit(21)) ? defaultMaskedError;
-
- /** NPUFIR[22]
- * NTL Array CE Informational
- */
- (NpuFir, bit(22)) ? calloutSelfMedTh32NoGard;
-
- /** NPUFIR[23]
- * NTL Array UE Fatal Error
- */
- (NpuFir, bit(23)) ? defaultMaskedError;
-
- /** NPUFIR[24]
- * DMA Timeout Fatal Error
- */
- (NpuFir, bit(24)) ? defaultMaskedError;
-
- /** NPUFIR[25]
- * NTL Control Error Fatal Error
- */
- (NpuFir, bit(25)) ? defaultMaskedError;
-
- /** NPUFIR[26]
- * Invalid FLIT Received Fatal Error
- */
- (NpuFir, bit(26)) ? defaultMaskedError;
-
- /** NPUFIR[27]
- * DL/TL Interface Parity Error
- */
- (NpuFir, bit(27)) ? defaultMaskedError;
-
- /** NPUFIR[28]
- * TL Credit Error Fatal Error
- */
- (NpuFir, bit(28)) ? defaultMaskedError;
-
- /** NPUFIR[29]
- * TL Packet Overflow Fatal Error
- */
- (NpuFir, bit(29)) ? defaultMaskedError;
-
- /** NPUFIR[30]
- * LMD Poison Single PE
- */
- (NpuFir, bit(30)) ? defaultMaskedError;
-
- /** NPUFIR[31]
- * LMD Stomp/CRC Error
- */
- (NpuFir, bit(31)) ? thresholdAndMask_self;
-
- /** NPUFIR[32]
- * CQ Parity Error Fatal Error
- */
- (NpuFir, bit(32)) ? defaultMaskedError;
-
- /** NPUFIR[33]
- * PowerBus Data Array CE Informational
- */
- (NpuFir, bit(33)) ? calloutSelfMedTh32NoGard;
-
- /** NPUFIR[34]
- * PowerBus Data Array UE Fatal Error
- */
- (NpuFir, bit(34)) ? defaultMaskedError;
-
- /** NPUFIR[35]
- * PowerBus Data Array SUE Fatal Error
- */
- (NpuFir, bit(35)) ? defaultMaskedError;
-
- /** NPUFIR[36]
- * CQ ECC CE Informational
- */
- (NpuFir, bit(36)) ? calloutSelfMedTh32NoGard;
-
- /** NPUFIR[37]
- * CQ ECC UE Fatal Error
- */
- (NpuFir, bit(37)) ? defaultMaskedError;
-
- /** NPUFIR[38]
- * PowerBus Data Hang Fatal Error
- */
- (NpuFir, bit(38)) ? defaultMaskedError;
-
- /** NPUFIR[39]
- * PowerBus Command Hang Fatal Error
- */
- (NpuFir, bit(39)) ? defaultMaskedError;
-
- /** NPUFIR[40]
- * Address Error on Read
- */
- (NpuFir, bit(40)) ? defaultMaskedError;
-
- /** NPUFIR[41]
- * PB Address Error non-Read Fatal Error
- */
- (NpuFir, bit(41)) ? defaultMaskedError;
-
- /** NPUFIR[42]
- * PowerBus Protocol Error Fatal Error
- */
- (NpuFir, bit(42)) ? defaultMaskedError;
-
- /** NPUFIR[43]
- * Register Parity Error Fatal Error
- */
- (NpuFir, bit(43)) ? defaultMaskedError;
-
- /** NPUFIR[44]
- * Unused ECC Error Unused
- */
- (NpuFir, bit(44)) ? defaultMaskedError;
-
- /** NPUFIR[45]
- * Unused Link Error Unused
- */
- (NpuFir, bit(45)) ? defaultMaskedError;
-
- /** NPUFIR[46]
- * Unused Link Error Unused
- */
- (NpuFir, bit(46)) ? defaultMaskedError;
-
- /** NPUFIR[47]
- * Unused Link Abort Unused
- */
- (NpuFir, bit(47)) ? defaultMaskedError;
-
- /** NPUFIR[48]
- * CQ/NTL Interface Hang Fatal Error
- */
- (NpuFir, bit(48)) ? defaultMaskedError;
-
- /** NPUFIR[49]
- * Unused Secure Access Error Unused
- */
- (NpuFir, bit(49)) ? defaultMaskedError;
-
- /** NPUFIR[50]
- * Scom Error Fatal Error
- */
- (NpuFir, bit(50)) ? defaultMaskedError;
-
- /** NPUFIR[51]
- * CQ spare Unused
- */
- (NpuFir, bit(51)) ? defaultMaskedError;
-
- /** NPUFIR[52]
- * Spare FIR Unused
- */
- (NpuFir, bit(52)) ? defaultMaskedError;
-
- /** NPUFIR[53]
- * Spare FIR Unused
- */
- (NpuFir, bit(53)) ? defaultMaskedError;
-
- /** NPUFIR[54]
- * NDL FIR 0 Single PE
- */
- (NpuFir, bit(54)) ? defaultMaskedError;
-
- /** NPUFIR[55]
- * NDL FIR 1 Single PE
- */
- (NpuFir, bit(55)) ? defaultMaskedError;
-
- /** NPUFIR[56]
- * Scom Fir Error Fatal Error
- */
- (NpuFir, bit(56)) ? defaultMaskedError;
-
- /** NPUFIR[57]
- * Scom Fir Error 2 Fatal Error
- */
- (NpuFir, bit(57)) ? defaultMaskedError;
-
- /** NPUFIR[58:63]
- * Reserved Unused
- */
- (NpuFir, bit(58|59|60|61|62|63)) ? defaultMaskedError;
-};
-
-################################################################################
-# Actions specific to NV chiplet
-################################################################################
-
-/** Callout Self, threshold 32 per day, no garding. */
-actionclass calloutSelfMedTh32NoGard
-{
- calloutSelfMedNoGard;
- threshold32pday;
-};
diff --git a/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_PB.rule b/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_PB.rule
deleted file mode 100755
index 51ef371bc..000000000
--- a/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_PB.rule
+++ /dev/null
@@ -1,3776 +0,0 @@
-# IBM_PROLOG_BEGIN_TAG
-# This is an automatically generated prolog.
-#
-# $Source: src/usr/diag/prdf/common/plat/pegasus/Proc_acts_PB.rule $
-#
-# OpenPOWER HostBoot Project
-#
-# Contributors Listed Below - COPYRIGHT 2012,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
-
-################################################################################
-# PB Chiplet Registers
-################################################################################
-
-rule PbChipletFir
-{
- CHECK_STOP:
- (PB_CHIPLET_CS_FIR & `1FDFFE0000000000`) & ~PB_CHIPLET_FIR_MASK;
- RECOVERABLE:
- ((PB_CHIPLET_RE_FIR >> 2 ) & `1FDFFE0000000000`) & ~PB_CHIPLET_FIR_MASK;
-};
-
-group gPbChipletFir filter singlebit
-{
- /** PB_CHIPLET_FIR[3]
- * Attention from LFIR
- */
- (PbChipletFir, bit(3)) ? analyze(gPbLFir);
-
- /** PB_CHIPLET_FIR[4]
- * Attention from NXDMAENGFIR
- */
- (PbChipletFir, bit(4)) ? analyze(gNxDmaEngFir);
-
- /** PB_CHIPLET_FIR[5]
- * Attention from NXCQFIR
- */
- (PbChipletFir, bit(5)) ? analyze(gNxCqFir);
-
- /** PB_CHIPLET_FIR[6]
- * Attention from MCDFIR
- */
- (PbChipletFir, bit(6)) ? analyze(gMcdFir);
-
- /** PB_CHIPLET_FIR[7|9]
- * Attention from PBWESTFIR or PBEASTFIR
- */
- (PbChipletFir, bit(7|9)) ? analyze(gPbWestEastFir);
-
- /** PB_CHIPLET_FIR[8]
- * Attention from PBCENTFIR
- */
- (PbChipletFir, bit(8)) ? analyze(gPbCentFir);
-
- /** PB_CHIPLET_FIR[11]
- * Attention from PSIHBFIR
- */
- (PbChipletFir, bit(11)) ? analyze(gPsiHbFir);
-
- /** PB_CHIPLET_FIR[12]
- * Attention from ICPFIR
- */
- (PbChipletFir, bit(12)) ? analyze(gIcpFir);
-
- /** PB_CHIPLET_FIR[13]
- * Attention from PBAFIR
- */
- (PbChipletFir, bit(13)) ? analyze(gPbaFir);
-
- /** PB_CHIPLET_FIR[14]
- * Attention from EHHCAFIR
- */
- (PbChipletFir, bit(14)) ? analyze(gEhHcaFir);
-
- /** PB_CHIPLET_FIR[15]
- * Attention from NXASFIR
- */
- (PbChipletFir, bit(15)) ? defaultMaskedError;
-
- /** PB_CHIPLET_FIR[16]
- * Attention from ENHCAFIR
- */
- (PbChipletFir, bit(16)) ? analyze(gEnHcaFir);
-
- /** PB_CHIPLET_FIR[17|18|19]
- * Attention from PCINESTFIRs
- */
- (PbChipletFir, bit(17|18|19)) ? analyze(gPciNestFir);
-
- /** PB_CHIPLET_FIR[20]
- * Attention from NXCXAFIR_0
- */
- (PbChipletFir, bit(20)) ? analyze(gNxCxaFir_0);
-
- # It would be nice to include this in the above PCINESTFIRs, however since
- # this bit only exists on naples, an attention from bits 17-19 would cause
- # us to also try to read PciNestFir3 which would fail on non-naples chips.
- /** PB_CHIPLET_FIR[21]
- * Attention from PCINESTFIR3
- */
- (PbChipletFir, bit(21)) ? analyze(gPciNestFir3);
-
- /** PB_CHIPLET_FIR[22]
- * Attention from NXCXAFIR_1
- */
- (PbChipletFir, bit(22)) ? analyze(gNxCxaFir_1);
-};
-
-rule PbChipletSpa
-{
- SPECIAL: PB_CHIPLET_SPA & ~PB_CHIPLET_SPA_MASK;
-};
-
-group gPbChipletSpa filter singlebit
-{
- /** PB_CHIPLET_SPA[0]
- * Attention from PBCENTFIR
- */
- (PbChipletSpa, bit(0)) ? analyze(gPbCentFir);
-};
-
-################################################################################
-# PB Chiplet LFIR
-################################################################################
-
-rule PbLFir
-{
- CHECK_STOP: PB_LFIR & ~PB_LFIR_MASK & ~PB_LFIR_ACT0 & ~PB_LFIR_ACT1;
- RECOVERABLE: PB_LFIR & ~PB_LFIR_MASK & ~PB_LFIR_ACT0 & PB_LFIR_ACT1;
-};
-
-group gPbLFir filter singlebit
-{
- /** PB_LFIR[0]
- * CFIR internal parity error
- */
- (PbLFir, bit(0)) ? SelfHighThr32PerDay;
-
- /** PB_LFIR[1]
- * Local errors from GPIO (PCB error)
- */
- (PbLFir, bit(1)) ? defaultMaskedError;
-
- /** PB_LFIR[2]
- * Local errors from CC (PCB error)
- */
- (PbLFir, bit(2)) ? defaultMaskedError;
-
- /** PB_LFIR[3]
- * Local errors from CC (OPCG, parity, scan collision, ...)
- */
- (PbLFir, bit(3)) ? SelfHighThr32PerDay;
-
- /** PB_LFIR[4]
- * Local errors from PSC (PCB error)
- */
- (PbLFir, bit(4)) ? defaultMaskedError;
-
- /** PB_LFIR[5]
- * Local errors from PSC (parity error)
- */
- (PbLFir, bit(5)) ? defaultMaskedError;
-
- /** PB_LFIR[6]
- * Local errors from Thermal (parity error)
- */
- (PbLFir, bit(6)) ? defaultMaskedError;
-
- /** PB_LFIR[7]
- * Local errors from Thermal (PCB error)
- */
- (PbLFir, bit(7)) ? defaultMaskedError;
-
- /** PB_LFIR[8|9]
- * Local errors from Thermal (Trip error)
- */
- (PbLFir, bit(8|9)) ? defaultMaskedError;
-
- /** PB_LFIR[10]
- * Local errors from Trace Array ( error)
- */
- (PbLFir, bit(10)) ? SelfHighThr32PerDay;
-
- /** PB_LFIR[11]
- * Local errors from Trace Array ( error)
- */
- (PbLFir, bit(11)) ? defaultMaskedError;
-
- /** PB_LFIR[12:15]
- * Local errors from io sense
- */
- (PbLFir, bit(12|13|14|15)) ? defaultMaskedError;
-
- /** PB_LFIR[16]
- * Fast check stop fir
- */
- (PbLFir, bit(16)) ? defaultMaskedError;
-
- /** PB_LFIR[17:20]
- * Unused local errors
- */
- (PbLFir, bit(17|18|19|20)) ? defaultMaskedError;
-
- /** PB_LFIR[21:30]
- * Unused local errors
- */
- (PbLFir, bit(21|22|23|24|25|26|27|28|29|30)) ? defaultMaskedError;
-
- /** PB_LFIR[31:39]
- * Unused local errors
- */
- (PbLFir, bit(31|32|33|34|35|36|37|38|39)) ? defaultMaskedError;
-
- /** PB_LFIR[40]
- * Malfunction alert - local checkstop in another chiplet
- */
- (PbLFir, bit(40)) ? defaultMaskedError;
-
-};
-
-################################################################################
-# PB Chiplet NXDMAENGFIR
-################################################################################
-
-# p8dd1_mss_FFDC_73_final.xls
-
-rule NxDmaEngFir
-{
- CHECK_STOP:
- NXDMAENGFIR & ~NXDMAENGFIR_MASK & ~NXDMAENGFIR_ACT0 & ~NXDMAENGFIR_ACT1;
- RECOVERABLE:
- NXDMAENGFIR & ~NXDMAENGFIR_MASK & ~NXDMAENGFIR_ACT0 & NXDMAENGFIR_ACT1;
-};
-
-group gNxDmaEngFir filter singlebit
-{
- /** NXDMAENGFIR[0]
- * Reserved
- */
- (NxDmaEngFir, bit(0)) ? defaultMaskedError;
-
- /** NXDMAENGFIR[1]
- * ICS invalid state error FIR bit
- */
- (NxDmaEngFir, bit(1)) ? calloutNxThr1;
-
- /** NXDMAENGFIR[2|3]
- * Reserved
- */
- (NxDmaEngFir, bit(2|3)) ? defaultMaskedError;
-
- /** NXDMAENGFIR[4]
- * Channel 0 842 array corrected ECC error
- */
- (NxDmaEngFir, bit(4)) ? calloutNxThr32;
-
- /** NXDMAENGFIR[5]
- * Channel 0 842 array uncorrectable ECC error
- */
- (NxDmaEngFir, bit(5)) ? calloutNxThr1;
-
- /** NXDMAENGFIR[6]
- * Channel 1 842 array corrected ECC error
- */
- (NxDmaEngFir, bit(6)) ? calloutNxThr32;
-
- /** NXDMAENGFIR[7]
- * Channel 1 842 array uncorrectable ECC error
- */
- (NxDmaEngFir, bit(7)) ? calloutNxThr1;
-
- /** NXDMAENGFIR[8]
- * DMA non-zero CSB CC detected
- */
- (NxDmaEngFir, bit(8)) ? defaultMaskedError;
-
- /** NXDMAENGFIR[9]
- * DMA array correctable ECC error
- */
- (NxDmaEngFir, bit(9)) ? calloutNxThr32;
-
- /** NXDMAENGFIR[10]
- * DMA outbound write/inbound read correctable ECC error
- */
- (NxDmaEngFir, bit(10)) ? calloutNxThr32;
-
- /** NXDMAENGFIR[11]
- * Channel 5 AMF array corrected ECC error
- */
- (NxDmaEngFir, bit(11)) ? calloutNxThr32; # masked in Naples
-
- /** NXDMAENGFIR[12]
- * Channel 6 AMF array corrected ECC error
- */
- (NxDmaEngFir, bit(12)) ? calloutNxThr32; # masked in Naples
-
- /** NXDMAENGFIR[13]
- * Channel 7 AMF array corrected ECC error
- */
- (NxDmaEngFir, bit(13)) ? calloutNxThr32; # masked in Naples
-
- /** NXDMAENGFIR[14]
- * Error from other SCOM satellites
- */
- (NxDmaEngFir, bit(14)) ? defaultMaskedError;
-
- /** NXDMAENGFIR[15]
- * DMA invalid state error
- */
- (NxDmaEngFir, bit(15)) ? calloutNxThr1;
-
- /** NXDMAENGFIR[16]
- * DMA invalid state error
- */
- (NxDmaEngFir, bit(16)) ? calloutNxThr1;
-
- /** NXDMAENGFIR[17]
- * DMA array uncorrectable ECC error
- */
- (NxDmaEngFir, bit(17)) ? calloutNxThr1;
-
- /** NXDMAENGFIR[18]
- * DMA outbound write/inbound read uncorrectable ECC error
- */
- (NxDmaEngFir, bit(18)) ? calloutNxThr1;
-
- /** NXDMAENGFIR[19]
- * DMA inbound read error
- */
- (NxDmaEngFir, bit(19)) ? calloutNxThr1;
-
- /** NXDMAENGFIR[20]
- * Channel 0 invalid state error
- */
- (NxDmaEngFir, bit(20)) ? calloutNxThr1;
-
- /** NXDMAENGFIR[21]
- * Channel 1 invalid state error
- */
- (NxDmaEngFir, bit(21)) ? calloutNxThr1;
-
- /** NXDMAENGFIR[22]
- * Channel 2 invalid state error
- */
- (NxDmaEngFir, bit(22)) ? calloutNxThr1;
-
- /** NXDMAENGFIR[23]
- * Channel 3 invalid state error
- */
- (NxDmaEngFir, bit(23)) ? calloutNxThr1;
-
- /** NXDMAENGFIR[24]
- * Channel 4 invalid state error
- */
- (NxDmaEngFir, bit(24)) ? calloutNxThr1; # masked in Naples
-
- /** NXDMAENGFIR[25]
- * Channel 5 invalid state error
- */
- (NxDmaEngFir, bit(25)) ? calloutNxThr1; # masked in Naples
-
- /** NXDMAENGFIR[26]
- * Channel 6 invalid state error
- */
- (NxDmaEngFir, bit(26)) ? calloutNxThr1; # masked in Naples
-
- /** NXDMAENGFIR[27]
- * Channel 7 invalid state error
- */
- (NxDmaEngFir, bit(27)) ? calloutNxThr1; # masked in Naples
-
- /** NXDMAENGFIR[28]
- * Channel 5 AMF array uncorrectable ECC error
- */
- (NxDmaEngFir, bit(28)) ? calloutNxThr1; # masked in Naples
-
- /** NXDMAENGFIR[29]
- * Channel 6 AMF array uncorrectable ECC error
- */
- (NxDmaEngFir, bit(29)) ? calloutNxThr1; # masked in Naples
-
- /** NXDMAENGFIR[30]
- * Channel 7 AMF array uncorrectable ECC error
- */
- (NxDmaEngFir, bit(30)) ? calloutNxThr1; # masked in Naples
-
- /** NXDMAENGFIR[31]
- * UE error on CRB(CSB address, CCB)
- */
- (NxDmaEngFir, bit(31)) ? calloutNxThr1;
-
- /** NXDMAENGFIR[32]
- * SUE error on CRB(CSB address, CCB)
- */
- (NxDmaEngFir, bit(32)) ? calloutNxThr1;
-
- /** NXDMAENGFIR[33]
- * SUE error on something other than CRB(CSB address, CCB)
- */
- (NxDmaEngFir, bit(33)) ? defaultMaskedError;
-
- /** NXDMAENGFIR[34|35]
- * Reserved
- */
- (NxDmaEngFir, bit(34|35)) ? defaultMaskedError;
-
- /** NXDMAENGFIR[36]
- * Channel 4 AMF array corrected ECC error
- */
- (NxDmaEngFir, bit(36)) ? calloutNxThr32; # masked in Naples
-
- /** NXDMAENGFIR[37]
- * Channel 4 AMF array uncorrectable ECC error
- */
- (NxDmaEngFir, bit(37)) ? calloutNxThr1; # masked in Naples
-
- /** NXDMAENGFIR[38]
- * NX Unit Checkstop
- */
- # This is not a hardware attention. Instead, this bit is set manually by the
- # hypervisor to communicate to PRD that it handled an NX freeze.
- (NxDmaEngFir, bit(38)) ? nxUnitCheckstop;
-
- /** NXDMAENGFIR[39|40|41|42|43|44|45|46|47]
- * Reserved
- */
- (NxDmaEngFir, bit(39|40|41|42|43|44|45|46|47)) ? defaultMaskedError;
-
- /** NXDMAENGFIR[48]
- * FIR/SCOM satellite parity error
- */
- (NxDmaEngFir, bit(48)) ? defaultMaskedError;
-
- /** NXDMAENGFIR[49]
- * FIR/SCOM satellite parity error FIR bit duplicate
- */
- (NxDmaEngFir, bit(49)) ? defaultMaskedError;
-};
-
-################################################################################
-# PB Chiplet NXCQFIR
-################################################################################
-
-# p8dd1_mss_FFDC_73_final.xls
-
-rule NxCqFir
-{
- CHECK_STOP: NXCQFIR & ~NXCQFIR_MASK & ~NXCQFIR_ACT0 & ~NXCQFIR_ACT1;
- RECOVERABLE: NXCQFIR & ~NXCQFIR_MASK & ~NXCQFIR_ACT0 & NXCQFIR_ACT1;
-};
-
-group gNxCqFir filter singlebit
-{
- /** NXCQFIR[0]
- * PBI internal parity error
- */
- (NxCqFir, bit(0)) ? calloutNxThr1;
-
- /** NXCQFIR[1]
- * PowerBus CE error
- */
- (NxCqFir, bit(1)) ? calloutNxThr5pHr;
-
- /** NXCQFIR[2]
- * PowerBus UE error
- */
- (NxCqFir, bit(2)) ? calloutNxThr1;
-
- /** NXCQFIR[3]
- * PowerBus SUE error
- */
- (NxCqFir, bit(3)) ? defaultMaskedError;
-
- /** NXCQFIR[4]
- * Inbound array CE error
- */
- (NxCqFir, bit(4)) ? calloutNxThr5pHr;
-
- /** NXCQFIR[5]
- * Inbound array UE error
- */
- (NxCqFir, bit(5)) ? calloutNxThr1;
-
- /** NXCQFIR[6]
- * PowerBus data hang error
- */
- (NxCqFir, bit(6)) ? callout2ndLvlMedThr1;
-
- /** NXCQFIR[7]
- * PowerBus command hang error
- */
- (NxCqFir, bit(7)) ? defaultMaskedError;
-
- /** NXCQFIR[8]
- * PowerBus read address error
- */
- (NxCqFir, bit(8)) ? calloutNxThr1;
-
- /** NXCQFIR[9]
- * PowerBus write address error
- */
- (NxCqFir, bit(9)) ? calloutNxThr1;
-
- /** NXCQFIR[10]
- * PowerBus miscellaneous error
- */
- (NxCqFir, bit(10)) ? callout2ndLvlMedThr1;
-
- /** NXCQFIR[11]
- * MMIO BAR parity error
- */
- (NxCqFir, bit(11)) ? calloutNxThr1;
-
- /** NXCQFIR[12]
- * CRB kill ISN received while holding ISN with UE error
- */
- (NxCqFir, bit(12)) ? calloutNxThr1;
-
- /** NXCQFIR[13]
- * ACK_DEAD cresp received by read command
- */
- (NxCqFir, bit(13)) ? calloutNxThr1;
-
- /** NXCQFIR[14]
- * ACK_DEAD cresp received by write command
- */
- (NxCqFir, bit(14)) ? calloutNxThr1;
-
- /** NXCQFIR[15]
- * Link check aborted while waiting on data
- */
- (NxCqFir, bit(15)) ? calloutNxThr1;
-
- /** NXCQFIR[16]
- * Hang poll time expired on internal transfer
- */
- (NxCqFir, bit(16)) ? calloutNxThr1;
-
- /** NXCQFIR[17]
- * A write occurred to a secure register when it wasn't enabled
- */
- (NxCqFir, bit(17)) ? defaultMaskedError;
-
- /** NXCQFIR[18]
- * FIR/SCOM satellite parity error
- */
- (NxCqFir, bit(18)) ? defaultMaskedError;
-
-};
-
-################################################################################
-# PB Chiplet NXCXAFIR_0
-################################################################################
-
-# p8dd1_mss_FFDC_73_final.xls
-
-rule NxCxaFir_0
-{
- CHECK_STOP:
- NXCXAFIR_0 & ~NXCXAFIR_0_MASK & ~NXCXAFIR_0_ACT0 & ~NXCXAFIR_0_ACT1;
- RECOVERABLE:
- NXCXAFIR_0 & ~NXCXAFIR_0_MASK & ~NXCXAFIR_0_ACT0 & NXCXAFIR_0_ACT1;
-};
-
-group gNxCxaFir_0 filter singlebit
-{
- /** NXCXAFIR_0[0]
- * BAR_PE
- */
- (NxCxaFir_0, bit(0)) ? defaultMaskedError;
-
- /** NXCXAFIR_0[1]
- * REGISTER_PE
- */
- (NxCxaFir_0, bit(1)) ? Capp0MedThr1;
-
- /** NXCXAFIR_0[2]
- * MASTER_ARRAY_CE
- */
- (NxCxaFir_0, bit(2)) ? Capp0MedThr32PerDay;
-
- /** NXCXAFIR_0[3]
- * MASTER_ARRAY_UE
- */
- (NxCxaFir_0, bit(3)) ? Capp0MedThr1;
-
- /** NXCXAFIR_0[4]
- * TIMER_EXPIRED_RECOV_ERROR
- */
- (NxCxaFir_0, bit(4)) ? defaultMaskedError;
-
- /** NXCXAFIR_0[5]
- * TIMER_EXPIRED_XSTOP_ERROR
- */
- (NxCxaFir_0, bit(5)) ? Capp0MedThr1;
-
- /** NXCXAFIR_0[6]
- * PSL_CMD_UE
- */
- (NxCxaFir_0, bit(6)) ? defaultMaskedError;
-
- /** NXCXAFIR_0[7]
- * PSL_CMD_SUE
- */
- (NxCxaFir_0, bit(7)) ? defaultMaskedError;
-
- /** NXCXAFIR_0[8]
- * SNOOP_ARRAY_CE
- */
- (NxCxaFir_0, bit(8)) ? callout2ndLvlMedThr32;
-
- /** NXCXAFIR_0[9]
- * SNOOP_ARRAY_UE
- */
- (NxCxaFir_0, bit(9)) ? Capp0MedThr1;
-
- /** NXCXAFIR_0[10]
- * RECOVERY_FAILED
- */
- (NxCxaFir_0, bit(10)) ? Capp0MedThr1;
-
- /** NXCXAFIR_0[11]
- * ILLEGAL_LPC_BAR_ACCESS
- */
- (NxCxaFir_0, bit(11)) ? defaultMaskedError;
-
- /** NXCXAFIR_0[12]
- * XPT_RECOVERABLE_ERROR_MASK
- */
- (NxCxaFir_0, bit(12)) ? defaultMaskedError;
-
- /** NXCXAFIR_0[13]
- * MASTER_RECOVERABLE_ERROR
- */
- (NxCxaFir_0, bit(13)) ? defaultMaskedError;
-
- /** NXCXAFIR_0[14]
- * SNOOPER_RECOVERABLE_ERROR
- */
- (NxCxaFir_0, bit(14)) ? defaultMaskedError;
-
- /** NXCXAFIR_0[15]
- * XPT_RECOVERABLE_ERROR
- */
- (NxCxaFir_0, bit(15)) ? defaultMaskedError;
-
- /** NXCXAFIR_0[16]
- * MASTER_SYS_XSTOP_ERROR
- */
- (NxCxaFir_0, bit(16)) ? Capp0MedThr1;
-
- /** NXCXAFIR_0[17]
- * SNOOPER_SYS_XSTOP_ERROR
- */
- (NxCxaFir_0, bit(17)) ? Capp0MedThr1;
-
- /** NXCXAFIR_0[18]
- * XPT_SYS_XSTOP_ERROR
- */
- (NxCxaFir_0, bit(18)) ? Capp0MedThr1;
-
- /** NXCXAFIR_0[19]
- * MUOP_ERROR_1
- */
- (NxCxaFir_0, bit(19)) ? defaultMaskedError;
-
- /** NXCXAFIR_0[20]
- * MUOP_ERROR_2
- */
- (NxCxaFir_0, bit(20)) ? defaultMaskedError;
-
- /** NXCXAFIR_0[21]
- * MUOP_ERROR_3
- */
- (NxCxaFir_0, bit(21)) ? defaultMaskedError;
-
- /** NXCXAFIR_0[22]
- * SUOP_ERROR_1
- */
- (NxCxaFir_0, bit(22)) ? defaultMaskedError;
-
- /** NXCXAFIR_0[23]
- * SUOP_ERROR_2
- */
- (NxCxaFir_0, bit(23)) ? defaultMaskedError;
-
- /** NXCXAFIR_0[24]
- * SUOP_ERROR_3
- */
- (NxCxaFir_0, bit(24)) ? defaultMaskedError;
-
- /** NXCXAFIR_0[25]
- * POWERBUS_MISC_ERROR
- */
- (NxCxaFir_0, bit(25)) ? SelfHighThr1;
-
- /** NXCXAFIR_0[26]
- * POWERBUS_INTERFACE_PE
- */
- (NxCxaFir_0, bit(26)) ? SelfHighThr1;
-
- /** NXCXAFIR_0[27]
- *POWERBUS_DATA_HANG_ERROR
- */
- (NxCxaFir_0, bit(27)) ? defaultMaskedError;
-
- /** NXCXAFIR_0[28]
- * POWERBUS_HANG_ERROR
- */
- (NxCxaFir_0, bit(28)) ? defaultMaskedError;
-
- /** NXCXAFIR_0[29]
- * LD_CLASS_CMD_ADDR_ERR
- */
- (NxCxaFir_0, bit(29)) ? callout2ndLvlMedThr1;
-
- /** NXCXAFIR_0[30]
- * ST_CLASS_CMD_ADDR_ERR
- */
- (NxCxaFir_0, bit(30)) ? callout2ndLvlMedThr1;
-
- /** NXCXAFIR_0[31]
- * PHB_LINK_DOWN
- */
- (NxCxaFir_0, bit(31)) ? defaultMaskedError;
-
- /** NXCXAFIR_0[32]
- * LD_CLASS_CMD_FOREIGN_LINK_FAIL
- */
- (NxCxaFir_0, bit(32)) ? defaultMaskedError;
-
- /** NXCXAFIR_0[33]
- * FOREIGN_LINK_HANG_ERROR
- */
- (NxCxaFir_0, bit(33)) ? defaultMaskedError;
-
- /** NXCXAFIR_0[34]
- * XPT_POWERBUS_CE
- */
- (NxCxaFir_0, bit(34)) ? callout2ndLvlMedThr32;
-
- /** NXCXAFIR_0[35]
- * XPT_POWERBUS_UE
- */
- (NxCxaFir_0, bit(35)) ? defaultMaskedError;
-
- /** NXCXAFIR_0[36]
- * XPT_POWERBUS_SUE
- */
- (NxCxaFir_0, bit(36)) ? defaultMaskedError;
-
- /** NXCXAFIR_0[37]
- * TLBI_TIMEOUT
- */
- (NxCxaFir_0, bit(37)) ? defaultMaskedError;
-
- /** NXCXAFIR_0[38]
- * TLBI_SEQ_ERR
- */
- (NxCxaFir_0, bit(38)) ? SelfHighThr1;
-
- /** NXCXAFIR_0[39]
- * TLBI_BAD_OP_ERR
- */
- (NxCxaFir_0, bit(39)) ? SelfHighThr1;
-
- /** NXCXAFIR_0[40]
- * TLBI_SEQ_NUM_PARITY_ERR
- */
- (NxCxaFir_0, bit(40)) ? SelfHighThr1;
-
- /** NXCXAFIR_0[41]
- * ST_CLASS_CMD_FOREIGN_LINK_FAIL
- */
- (NxCxaFir_0, bit(41)) ? defaultMaskedError;
-
- /** NXCXAFIR_0[42]
- * TIMEBASE_ERR
- */
- (NxCxaFir_0, bit(42)) ? defaultMaskedError;
-
- /** NXCXAFIR_0[43]
- * XPT_INFORMATIONAL_ERR
- */
- (NxCxaFir_0, bit(43)) ? defaultMaskedError;
-
- /** NXCXAFIR_0[44]
- * COMMAND_QUEUE_CE
- */
- (NxCxaFir_0, bit(44)) ? defaultMaskedError; # Naples only
-
- /** NXCXAFIR_0[45]
- * COMMAND_QUEUE_UE
- */
- (NxCxaFir_0, bit(45)) ? defaultMaskedError; # Naples only
-
- /** NXCXAFIR_0[46]
- * PSL_CREDIT_TIMEOUT
- */
- (NxCxaFir_0, bit(46)) ? defaultMaskedError;
-
- /** NXCXAFIR_0[47|48]
- * Spare
- */
- (NxCxaFir_0, bit(47|48)) ? defaultMaskedError;
-
- /** NXCXAFIR_0[49]
- * SCOM_ERR2: Local FIR Parity Error RAS Duplicate
- */
- (NxCxaFir_0, bit(49)) ? defaultMaskedError;
-
- /** NXCXAFIR_0[50]
- * SCOM_ERR: Local FIR Parity Error of ACTION/MASK registers
- */
- (NxCxaFir_0, bit(50)) ? defaultMaskedError;
-};
-
-rule NxCxaFir_1
-{
- CHECK_STOP:
- NXCXAFIR_1 & ~NXCXAFIR_1_MASK & ~NXCXAFIR_1_ACT0 & ~NXCXAFIR_1_ACT1;
- RECOVERABLE:
- NXCXAFIR_1 & ~NXCXAFIR_1_MASK & ~NXCXAFIR_1_ACT0 & NXCXAFIR_1_ACT1;
-};
-
-group gNxCxaFir_1 filter singlebit
-{
- /** NXCXAFIR_1[0]
- * BAR_PE
- */
- (NxCxaFir_1, bit(0)) ? defaultMaskedError;
-
- /** NXCXAFIR_1[1]
- * REGISTER_PE
- */
- (NxCxaFir_1, bit(1)) ? Capp1MedThr1;
-
- /** NXCXAFIR_1[2]
- * MASTER_ARRAY_CE
- */
- (NxCxaFir_1, bit(2)) ? Capp1MedThr32PerDay;
-
- /** NXCXAFIR_1[3]
- * MASTER_ARRAY_UE
- */
- (NxCxaFir_1, bit(3)) ? Capp1MedThr1;
-
- /** NXCXAFIR_1[4]
- * TIMER_EXPIRED_RECOV_ERROR
- */
- (NxCxaFir_1, bit(4)) ? defaultMaskedError;
-
- /** NXCXAFIR_1[5]
- * TIMER_EXPIRED_XSTOP_ERROR
- */
- (NxCxaFir_1, bit(5)) ? Capp1MedThr1;
-
- /** NXCXAFIR_1[6]
- * PSL_CMD_UE
- */
- (NxCxaFir_1, bit(6)) ? defaultMaskedError;
-
- /** NXCXAFIR_1[7]
- * PSL_CMD_SUE
- */
- (NxCxaFir_1, bit(7)) ? defaultMaskedError;
-
- /** NXCXAFIR_1[8]
- * SNOOP_ARRAY_CE
- */
- (NxCxaFir_1, bit(8)) ? callout2ndLvlMedThr32;
-
- /** NXCXAFIR_1[9]
- * SNOOP_ARRAY_UE
- */
- (NxCxaFir_1, bit(9)) ? Capp1MedThr1;
-
- /** NXCXAFIR_1[10]
- * RECOVERY_FAILED
- */
- (NxCxaFir_1, bit(10)) ? Capp1MedThr1;
-
- /** NXCXAFIR_1[11]
- * ILLEGAL_LPC_BAR_ACCESS
- */
- (NxCxaFir_1, bit(11)) ? defaultMaskedError;
-
- /** NXCXAFIR_1[12]
- * XPT_RECOVERABLE_ERROR_MASK
- */
- (NxCxaFir_1, bit(12)) ? defaultMaskedError;
-
- /** NXCXAFIR_1[13]
- * MASTER_RECOVERABLE_ERROR
- */
- (NxCxaFir_1, bit(13)) ? defaultMaskedError;
-
- /** NXCXAFIR_1[14]
- * SNOOPER_RECOVERABLE_ERROR
- */
- (NxCxaFir_1, bit(14)) ? defaultMaskedError;
-
- /** NXCXAFIR_1[15]
- * XPT_RECOVERABLE_ERROR
- */
- (NxCxaFir_1, bit(15)) ? defaultMaskedError;
-
- /** NXCXAFIR_1[16]
- * MASTER_SYS_XSTOP_ERROR
- */
- (NxCxaFir_1, bit(16)) ? Capp1MedThr1;
-
- /** NXCXAFIR_1[17]
- * SNOOPER_SYS_XSTOP_ERROR
- */
- (NxCxaFir_1, bit(17)) ? Capp1MedThr1;
-
- /** NXCXAFIR_1[18]
- * XPT_SYS_XSTOP_ERROR
- */
- (NxCxaFir_1, bit(18)) ? Capp1MedThr1;
-
- /** NXCXAFIR_1[19]
- * MUOP_ERROR_1
- */
- (NxCxaFir_1, bit(19)) ? defaultMaskedError;
-
- /** NXCXAFIR_1[20]
- * MUOP_ERROR_2
- */
- (NxCxaFir_1, bit(20)) ? defaultMaskedError;
-
- /** NXCXAFIR_1[21]
- * MUOP_ERROR_3
- */
- (NxCxaFir_1, bit(21)) ? defaultMaskedError;
-
- /** NXCXAFIR_1[22]
- * SUOP_ERROR_1
- */
- (NxCxaFir_1, bit(22)) ? defaultMaskedError;
-
- /** NXCXAFIR_1[23]
- * SUOP_ERROR_2
- */
- (NxCxaFir_1, bit(23)) ? defaultMaskedError;
-
- /** NXCXAFIR_1[24]
- * SUOP_ERROR_3
- */
- (NxCxaFir_1, bit(24)) ? defaultMaskedError;
-
- /** NXCXAFIR_1[25]
- * POWERBUS_MISC_ERROR
- */
- (NxCxaFir_1, bit(25)) ? SelfHighThr1;
-
- /** NXCXAFIR_1[26]
- * POWERBUS_INTERFACE_PE
- */
- (NxCxaFir_1, bit(26)) ? SelfHighThr1;
-
- /** NXCXAFIR_1[27]
- *POWERBUS_DATA_HANG_ERROR
- */
- (NxCxaFir_1, bit(27)) ? defaultMaskedError;
-
- /** NXCXAFIR_1[28]
- * POWERBUS_HANG_ERROR
- */
- (NxCxaFir_1, bit(28)) ? defaultMaskedError;
-
- /** NXCXAFIR_1[29]
- * LD_CLASS_CMD_ADDR_ERR
- */
- (NxCxaFir_1, bit(29)) ? callout2ndLvlMedThr1;
-
- /** NXCXAFIR_1[30]
- * ST_CLASS_CMD_ADDR_ERR
- */
- (NxCxaFir_1, bit(30)) ? callout2ndLvlMedThr1;
-
- /** NXCXAFIR_1[31]
- * PHB_LINK_DOWN
- */
- (NxCxaFir_1, bit(31)) ? defaultMaskedError;
-
- /** NXCXAFIR_1[32]
- * LD_CLASS_CMD_FOREIGN_LINK_FAIL
- */
- (NxCxaFir_1, bit(32)) ? defaultMaskedError;
-
- /** NXCXAFIR_1[33]
- * FOREIGN_LINK_HANG_ERROR
- */
- (NxCxaFir_1, bit(33)) ? defaultMaskedError;
-
- /** NXCXAFIR_1[34]
- * XPT_POWERBUS_CE
- */
- (NxCxaFir_1, bit(34)) ? callout2ndLvlMedThr32;
-
- /** NXCXAFIR_1[35]
- * XPT_POWERBUS_UE
- */
- (NxCxaFir_1, bit(35)) ? defaultMaskedError;
-
- /** NXCXAFIR_1[36]
- * XPT_POWERBUS_SUE
- */
- (NxCxaFir_1, bit(36)) ? defaultMaskedError;
-
- /** NXCXAFIR_1[37]
- * TLBI_TIMEOUT
- */
- (NxCxaFir_1, bit(37)) ? defaultMaskedError;
-
- /** NXCXAFIR_1[38]
- * TLBI_SEQ_ERR
- */
- (NxCxaFir_1, bit(38)) ? SelfHighThr1;
-
- /** NXCXAFIR_1[39]
- * TLBI_BAD_OP_ERR
- */
- (NxCxaFir_1, bit(39)) ? SelfHighThr1;
-
- /** NXCXAFIR_1[40]
- * TLBI_SEQ_NUM_PARITY_ERR
- */
- (NxCxaFir_1, bit(40)) ? SelfHighThr1;
-
- /** NXCXAFIR_1[41]
- * ST_CLASS_CMD_FOREIGN_LINK_FAIL
- */
- (NxCxaFir_1, bit(41)) ? defaultMaskedError;
-
- /** NXCXAFIR_1[42]
- * TIMEBASE_ERR
- */
- (NxCxaFir_1, bit(42)) ? defaultMaskedError;
-
- /** NXCXAFIR_1[43]
- * XPT_INFORMATIONAL_ERR
- */
- (NxCxaFir_1, bit(43)) ? defaultMaskedError;
-
- /** NXCXAFIR_1[44]
- * COMMAND_QUEUE_CE
- */
- (NxCxaFir_1, bit(44)) ? defaultMaskedError; # Naples only
-
- /** NXCXAFIR_1[45]
- * COMMAND_QUEUE_UE
- */
- (NxCxaFir_1, bit(45)) ? defaultMaskedError; # Naples only
-
- /** NXCXAFIR_1[46]
- * PSL_CREDIT_TIMEOUT
- */
- (NxCxaFir_1, bit(46)) ? defaultMaskedError;
-
- /** NXCXAFIR_1[47|48]
- * Spare
- */
- (NxCxaFir_1, bit(47|48)) ? defaultMaskedError;
-
- /** NXCXAFIR_1[49]
- * SCOM_ERR2: Local FIR Parity Error RAS Duplicate
- */
- (NxCxaFir_1, bit(49)) ? defaultMaskedError;
-
- /** NXCXAFIR_1[50]
- * SCOM_ERR: Local FIR Parity Error of ACTION/MASK registers
- */
- (NxCxaFir_1, bit(50)) ? defaultMaskedError;
-};
-################################################################################
-# PB Chiplet MCDFIR
-################################################################################
-# based on p8dd1_mss_FFDC_59.xls
-################################################################################
-
-rule McdFir
-{
- CHECK_STOP: MCDFIR & ~MCDFIR_MASK & ~MCDFIR_ACT0 & ~MCDFIR_ACT1;
- RECOVERABLE: MCDFIR & ~MCDFIR_MASK & ~MCDFIR_ACT0 & MCDFIR_ACT1;
-};
-
-group gMcdFir filter singlebit
-{
- /** MCDFIR[0]
- * MCD_ARRAY_ECC_UE_ERR
- */
- (McdFir, bit(0)) ? SelfHighThr32PerDay;
-
- /** MCDFIR[1]
- * MCD_ARRAY_ECC_CE_ERR
- */
- (McdFir, bit(1)) ? SelfHighThr32PerDay;
-
- /** MCDFIR[2]
- * MCD_REG_PARITY_ERR
- */
- (McdFir, bit(2)) ? defaultMaskedError;
-
- /** MCDFIR[3]
- * MCD_SM_ERR
- */
- (McdFir, bit(3)) ? calloutNxThr1;
-
- /** MCDFIR[4]
- * MCD_REC_HANG_ERR
- */
- (McdFir, bit(4)) ? defaultMaskedError;
-
- /** MCDFIR[5]
- * MCD_PB_PARITY_ERR
- */
- (McdFir, bit(5)) ? defaultMaskedError;
-
- /** MCDFIR[6]
- * MCD_UNSOLICITED_CRESP_ERR
- */
- (McdFir, bit(6)) ? defaultMaskedError;
-
- /** MCDFIR[7]
- * MCD_ACK_DEAD_ERR
- */
- (McdFir, bit(7)) ? defaultMaskedError;
-
- /** MCDFIR[8]
- * FIR_PARITY_ERR2
- */
- (McdFir, bit(8)) ? defaultMaskedError;
-
- /** MCDFIR[9]
- * FIR_PARITY_ERR
- */
- (McdFir, bit(9)) ? defaultMaskedError;
-};
-
-################################################################################
-# PB Chiplet PBEASTFIR and PBWESTFIR
-################################################################################
-
-# All these FIRs should have the same bit definition. Ideally, we want
-# to have only one copy of the bit definition. Currently rule code
-# parser does not have the support for something like this.
-# Maybe we can add this as a later feature.
-
-################################################################################
-# based on p8dd1_mss_FFDC_37_ reviewd.xls
-################################################################################
-
-rule PbEastFir
-{
- CHECK_STOP: PBEASTFIR & ~PBEASTFIR_MASK & ~PBEASTFIR_ACT0 & ~PBEASTFIR_ACT1;
- RECOVERABLE: PBEASTFIR & ~PBEASTFIR_MASK & ~PBEASTFIR_ACT0 & PBEASTFIR_ACT1;
-};
-
-rule PbWestFir
-{
- CHECK_STOP: PBWESTFIR & ~PBWESTFIR_MASK & ~PBWESTFIR_ACT0 & ~PBWESTFIR_ACT1;
- RECOVERABLE: PBWESTFIR & ~PBWESTFIR_MASK & ~PBWESTFIR_ACT0 & PBWESTFIR_ACT1;
-};
-
-group gPbWestEastFir filter singlebit
-{
- /** PBWESTFIR[0]
- * PB_WEST_PBIEX01_PBH_HW_ERROR
- */
- (PbWestFir, bit(0)) ? SelfHighThr1;
-
- /** PBEASTFIR[0]
- * PB_EAST_PBIEX04_PBH_HW_ERROR
- */
- (PbEastFir, bit(0)) ? SelfHighThr1;
-
- /** PBWESTFIR[1]
- * PB_WEST_PBIEX01_PBH_RECOV_ERROR
- */
- (PbWestFir, bit(1)) ? SelfHighThr1;
-
- /** PBEASTFIR[1]
- * PB_EAST_PBIEX04_PBH_RECOV_ERROR
- */
- (PbEastFir, bit(1)) ? SelfHighThr1;
-
- /** PBWESTFIR[2]
- * PB_WEST_PBIEX01_PBH_PROTOCOL_ERROR
- */
- (PbWestFir, bit(2)) ? calloutProcLevel2MedThr1;
-
- /** PBEASTFIR[2]
- * PB_EAST_PBIEX04_PBH_PROTOCOL_ERROR
- */
- (PbEastFir, bit(2)) ? calloutProcLevel2MedThr1;
-
- /** PBWESTFIR[3]
- * PB_WEST_PBIEX01_PBH_OVERFLOW_ERROR
- */
- (PbWestFir, bit(3)) ? calloutProcLevel2MedThr1;
-
- /** PBEASTFIR[3]
- * PB_EAST_PBIEX04_PBH_OVERFLOW_ERROR
- */
- (PbEastFir, bit(3)) ? calloutProcLevel2MedThr1;
-
- /** PBWESTFIR[4]
- * PB_WEST_PBIEX02_PBH_HW_ERROR
- */
- (PbWestFir, bit(4)) ? SelfHighThr1;
-
- /** PBEASTFIR[4]
- * PB_EAST_PBIEX05_PBH_HW_ERROR
- */
- (PbEastFir, bit(4)) ? SelfHighThr1;
-
- /** PBWESTFIR[5]
- * PB_WEST_PBIEX02_PBH_RECOV_ERROR
- */
- (PbWestFir, bit(5)) ? SelfHighThr1;
-
- /** PBEASTFIR[5]
- * PB_EAST_PBIEX05_PBH_RECOV_ERROR
- */
- (PbEastFir, bit(5)) ? SelfHighThr1;
-
- /** PBWESTFIR[6]
- * PB_WEST_PBIEX02_PBH_PROTOCOL_ERROR
- */
- (PbWestFir, bit(6)) ? calloutProcLevel2MedThr1;
-
- /** PBEASTFIR[6]
- * PB_EAST_PBIEX05_PBH_PROTOCOL_ERROR
- */
- (PbEastFir, bit(6)) ? calloutProcLevel2MedThr1;
-
- /** PBWESTFIR[7]
- * PB_WEST_PBIEX02_PBH_OVERFLOW_ERROR
- */
- (PbWestFir, bit(7)) ? calloutProcLevel2MedThr1;
-
- /** PBEASTFIR[7]
- * PB_EAST_PBIEX05_PBH_OVERFLOW_ERROR
- */
- (PbEastFir, bit(7)) ? calloutProcLevel2MedThr1;
-
- /** PBWESTFIR[8]
- * PB_WEST_PBIEX03_PBH_HW_ERROR
- */
- (PbWestFir, bit(8)) ? SelfHighThr1;
-
- /** PBEASTFIR[8]
- * PB_EAST_PBIEX06_PBH_HW_ERROR
- */
- (PbEastFir, bit(8)) ? SelfHighThr1;
-
- /** PBWESTFIR[9]
- * PB_WEST_PBIEX03_PBH_RECOV_ERROR
- */
- (PbWestFir, bit(9)) ? SelfHighThr1;
-
- /** PBEASTFIR[9]
- * PB_EAST_PBIEX06_PBH_RECOV_ERROR
- */
- (PbEastFir, bit(9)) ? SelfHighThr1;
-
- /** PBWESTFIR[10]
- * PB_WEST_PBIEX03_PBH_PROTOCOL_ERROR
- */
- (PbWestFir, bit(10)) ? calloutProcLevel2MedThr1;
-
- /** PBEASTFIR[10]
- * PB_EAST_PBIEX06_PBH_PROTOCOL_ERROR
- */
- (PbEastFir, bit(10)) ? calloutProcLevel2MedThr1;
-
- /** PBWESTFIR[11]
- * PB_WEST_PBIEX03_PBH_OVERFLOW_ERROR
- */
- (PbWestFir, bit(11)) ? calloutProcLevel2MedThr1;
-
- /** PBEASTFIR[11]
- * PB_EAST_PBIEX06_PBH_OVERFLOW_ERROR
- */
- (PbEastFir, bit(11)) ? calloutProcLevel2MedThr1;
-
- /** PBWESTFIR[12]
- * PB_WEST_PBIEX09_PBH_HW_ERROR
- */
- (PbWestFir, bit(12)) ? SelfHighThr1;
-
- /** PBEASTFIR[12]
- * PB_EAST_PBIEX12_PBH_HW_ERROR
- */
- (PbEastFir, bit(12)) ? SelfHighThr1;
-
- /** PBWESTFIR[13]
- * PB_WEST_PBIEX09_PBH_RECOV_ERROR
- */
- (PbWestFir, bit(13)) ? SelfHighThr1;
-
- /** PBEASTFIR[13]
- * PB_EAST_PBIEX12_PBH_RECOV_ERROR
- */
- (PbEastFir, bit(13)) ? SelfHighThr1;
-
- /** PBWESTFIR[14]
- * PB_WEST_PBIEX09_PBH_PROTOCOL_ERROR
- */
- (PbWestFir, bit(14)) ? calloutProcLevel2MedThr1;
-
- /** PBEASTFIR[14]
- * PB_EAST_PBIEX12_PBH_PROTOCOL_ERROR
- */
- (PbEastFir, bit(14)) ? calloutProcLevel2MedThr1;
-
- /** PBWESTFIR[15]
- * PB_WEST_PBIEX09_PBH_OVERFLOW_ERROR
- */
- (PbWestFir, bit(15)) ? calloutProcLevel2MedThr1;
-
- /** PBEASTFIR[15]
- * PB_EAST_PBIEX12_PBH_OVERFLOW_ERROR
- */
- (PbEastFir, bit(15)) ? calloutProcLevel2MedThr1;
-
- /** PBWESTFIR[16]
- * PB_WEST_PBIEX10_PBH_HW_ERROR
- */
- (PbWestFir, bit(16)) ? SelfHighThr1;
-
- /** PBEASTFIR[16]
- * PB_EAST_PBIEX13_PBH_HW_ERROR
- */
- (PbEastFir, bit(16)) ? SelfHighThr1;
-
- /** PBWESTFIR[17]
- * PB_WEST_PBIEX10_PBH_RECOV_ERROR
- */
- (PbWestFir, bit(17)) ? SelfHighThr1;
-
- /** PBEASTFIR[17]
- * PB_EAST_PBIEX13_PBH_RECOV_ERROR
- */
- (PbEastFir, bit(17)) ? SelfHighThr1;
-
- /** PBWESTFIR[18]
- * PB_WEST_PBIEX10_PBH_PROTOCOL_ERROR
- */
- (PbWestFir, bit(18)) ? calloutProcLevel2MedThr1;
-
- /** PBEASTFIR[18]
- * PB_EAST_PBIEX13_PBH_PROTOCOL_ERROR
- */
- (PbEastFir, bit(18)) ? calloutProcLevel2MedThr1;
-
- /** PBWESTFIR[19]
- * PB_WEST_PBIEX10_PBH_OVERFLOW_ERROR
- */
- (PbWestFir, bit(19)) ? calloutProcLevel2MedThr1;
-
- /** PBEASTFIR[19]
- * PB_EAST_PBIEX13_PBH_OVERFLOW_ERROR
- */
- (PbEastFir, bit(19)) ? calloutProcLevel2MedThr1;
-
- /** PBWESTFIR[20]
- * PB_WEST_PBIEX11_PBH_HW_ERROR
- */
- (PbWestFir, bit(20)) ? SelfHighThr1;
-
- /** PBEASTFIR[20]
- * PB_EAST_PBIEX14_PBH_HW_ERROR
- */
- (PbEastFir, bit(20)) ? SelfHighThr1;
-
- /** PBWESTFIR[21]
- * PB_WEST_PBIEX11_PBH_RECOV_ERROR
- */
- (PbWestFir, bit(21)) ? SelfHighThr1;
-
- /** PBEASTFIR[21]
- * PB_EAST_PBIEX14_PBH_RECOV_ERROR
- */
- (PbEastFir, bit(21)) ? SelfHighThr1;
-
- /** PBWESTFIR[22]
- * PB_WEST_PBIEX11_PBH_PROTOCOL_ERROR
- */
- (PbWestFir, bit(22)) ? calloutProcLevel2MedThr1;
-
- /** PBEASTFIR[22]
- * PB_EAST_PBIEX14_PBH_PROTOCOL_ERROR
- */
- (PbEastFir, bit(22)) ? calloutProcLevel2MedThr1;
-
- /** PBWESTFIR[23]
- * PB_WEST_PBIEX11_PBH_OVERFLOW_ERROR
- */
- (PbWestFir, bit(23)) ? calloutProcLevel2MedThr1;
-
- /** PBEASTFIR[23]
- * PB_EAST_PBIEX14_PBH_OVERFLOW_ERROR
- */
- (PbEastFir, bit(23)) ? calloutProcLevel2MedThr1;
-
- /** PBWESTFIR[24]
- * PB_WEST_DATA_OVERFLOW_ERROR
- */
- (PbWestFir, bit(24)) ? calloutProcLevel2MedThr1;
-
- /** PBEASTFIR[24]
- * PB_EAST_DATA_OVERFLOW_ERROR
- */
- (PbEastFir, bit(24)) ? calloutProcLevel2MedThr1;
-
- /** PBWESTFIR[25]
- * PB_WEST_DATA_PROTOCOL_ERROR
- */
- (PbWestFir, bit(25)) ? calloutProcLevel2MedThr1;
-
- /** PBEASTFIR[25]
- * PB_EAST_DATA_PROTOCOL_ERROR
- */
- (PbEastFir, bit(25)) ? calloutProcLevel2MedThr1;
-
- /** PBWESTFIR[26]
- * PB_WEST_DATA_ROUTE_ERROR
- */
- (PbWestFir, bit(26)) ? calloutProcLevel2MedThr1;
-
- /** PBEASTFIR[26]
- * PB_EAST_DATA_ROUTE_ERROR
- */
- (PbEastFir, bit(26)) ? calloutProcLevel2MedThr1;
-
- /** PBWESTFIR[27]
- * PB_WEST_CMD_OVERFLOW_ERROR
- */
- (PbWestFir, bit(27)) ? calloutProcLevel2MedThr1;
-
- /** PBEASTFIR[27]
- * PB_EAST_CMD_OVERFLOW_ERROR
- */
- (PbEastFir, bit(27)) ? calloutProcLevel2MedThr1;
-
- /** PBWESTFIR[28]
- * PB_WEST_CMD_OVERFLOW_ERROR
- */
- (PbWestFir, bit(28)) ? calloutProcLevel2MedThr1;
-
- /** PBEASTFIR[28]
- * PB_EAST_CMD_OVERFLOW_ERROR
- */
- (PbEastFir, bit(28)) ? calloutProcLevel2MedThr1;
-
- /** PBWESTFIR[29|30|31]
- * PB_WEST_FIR_SPARE_0,1 and 2
- */
- (PbWestFir, bit(29|30|31)) ? defaultMaskedError;
-
- /** PBEASTFIR[29|30]
- * PB_EAST_FIR_SPARE
- */
- (PbEastFir, bit(29|30)) ? defaultMaskedError;
-
- /** PBEASTFIR[31]
- * SW initiated reboot with diagnostics
- */
- # Intended to be used by OPAL to initiate a reboot if there is an issue like
- # a memory UE that prevents OPAL to continue loading. Generally, PRD should
- # be able to isolate to the memory UE and blame that as the root cause,
- # however, it is possible there are no hardware errors and OPAL just needs
- # to force a reboot. Therefore, the callout will be 2nd Level Support. It is
- # possible that PRD may need to force memory diagnostics on all memory but
- # that is not a requirement at this time.
- (PbEastFir, bit(31)) ? callout2ndLvlMedThr1;
-
- /** PBWESTFIR[32]
- * FIR_SCOM_WEST_ERR
- */
- (PbWestFir, bit(32)) ? defaultMaskedError;
-
- /** PBEASTFIR[32]
- * FIR_SCOM_EAST_ERR
- */
- (PbEastFir, bit(32)) ? defaultMaskedError;
-
- /** PBWESTFIR[33]
- * FIR_SCOM_WEST_ERR_DUP
- */
- (PbWestFir, bit(33)) ? defaultMaskedError;
-
- /** PBEASTFIR[33]
- * FIR_SCOM_EAST_ERR_DUP
- */
- (PbEastFir, bit(33)) ? defaultMaskedError;
-};
-
-################################################################################
-# PB Chiplet PBCENTFIR
-################################################################################
-
-rule PbCentFir
-{
- CHECK_STOP: PBCENTFIR & ~PBCENTFIR_MASK & ~PBCENTFIR_ACT0 & ~PBCENTFIR_ACT1;
- RECOVERABLE: PBCENTFIR & ~PBCENTFIR_MASK & ~PBCENTFIR_ACT0 & PBCENTFIR_ACT1;
- SPECIAL: PBCENTFIR & ~PBCENTFIR_MASK & PBCENTFIR_ACT0 & ~PBCENTFIR_ACT1;
-};
-
-group gPbCentFir filter singlebit,
- secondarybits( 9 )
-{
- /** PBCENTFIR[0]
- * PB_CENT_PROTOCOL_ERROR
- */
- (PbCentFir, bit(0)) ? calloutProcLevel2MedThr1;
-
- /** PBCENTFIR[1]
- * PB_CENT_OVERFLOW_ERROR
- */
- (PbCentFir, bit(1)) ? calloutProcLevel2MedThr1;
-
- /** PBCENTFIR[2]
- * PB_CENT_HW_PARITY_ERROR
- */
- (PbCentFir, bit(2)) ? calloutProcLevel2MedThr1;
-
- /** PBCENTFIR[3]
- * PB_CENT_TLBIE_TM_TIMEOUT_ERROR
- */
- (PbCentFir, bit(3)) ? defaultMaskedError;
-
- /** PBCENTFIR[4]
- * PB_CENT_COHERENCY_ERROR
- */
- (PbCentFir, bit(4)) ? calloutProcLevel2MedThr1;
-
- /** PBCENTFIR[5]
- * PB_CENT_CRESP_ADDR_ERROR
- */
- (PbCentFir, bit(5)) ? combinedResponseError;
-
- /** PBCENTFIR[6]
- * PB_CENT_CRESP_ERROR
- */
- (PbCentFir, bit(6)) ? calloutProcLevel2MedThr1;
-
- /** PBCENTFIR[7]
- * PB_CENT_HANG_RECOVERY_LIMIT_ERROR
- */
- (PbCentFir, bit(7)) ? defaultMaskedError;
-
- /** PBCENTFIR[8]
- * PB_CENT_DATA_ROUTE_ERROR
- */
- (PbCentFir, bit(8)) ? calloutProcLevel2MedThr1;
-
- /** PBCENTFIR[9]
- * PB_CENT_HANG_RECOVERY_GTE_LEVEL1
- */
- (PbCentFir, bit(9)) ? PbCentHangRecoveryGte;
-
- /** PBCENTFIR[10]
- * PB_CENT_FORCE_MP_IPL
- */
- (PbCentFir, bit(10)) ? forceMpIpl;
-
- /** PBCENTFIR[11]
- * Programming Error
- */
- (PbCentFir, bit(11)) ? calloutProcLevel2MedThr1;
-
- /** PBCENTFIR[12]
- * PB_CENT_F0LINK_ERROR
- */
- (PbCentFir, bit(12)) ? defaultMaskedError;
-
- /** PBCENTFIR[13]
- * PB_CENT_F1LINK_ERROR
- */
- (PbCentFir, bit(13)) ? defaultMaskedError;
-
- /** PBCENTFIR[14]
- * PB_CENT_F0_OVERFLOW
- */
- (PbCentFir, bit(14)) ? defaultMaskedError;
-
- /** PBCENTFIR[15]
- * PB_CENT_F1_OVERFLOW
- */
- (PbCentFir, bit(15)) ? defaultMaskedError;
-
- /** PBCENTFIR[16]
- * FIR_SCOM_CENT_ERR
- */
- (PbCentFir, bit(16)) ? defaultMaskedError;
-
- /** PBCENTFIR[17]
- * FIR_SCOM_CENT_ERR_DUP
- */
- (PbCentFir, bit(17)) ? defaultMaskedError;
-};
-
-################################################################################
-# PB Chiplet PSIHBFIR
-################################################################################
-
-#actions for bits updated based on p8dd1_mss_FFDC_54
-
-rule PsiHbFir
-{
- CHECK_STOP: PSIHBFIR & ~PSIHBFIR_MASK & ~PSIHBFIR_ACT0 & ~PSIHBFIR_ACT1;
- RECOVERABLE: PSIHBFIR & ~PSIHBFIR_MASK & ~PSIHBFIR_ACT0 & PSIHBFIR_ACT1;
-};
-
-group gPsiHbFir filter singlebit
-{
- /** PSIHBFIR[0]
- * PB_ECC_ERR_CE
- */
- (PsiHbFir, bit(0)) ? SelfHighThr32PerDay;
-
- /** PSIHBFIR[1]
- * PB_ECC_ERR_UE
- */
- (PsiHbFir, bit(1)) ? SelfHighThr1;
-
- /** PSIHBFIR[2]
- * PB_ECC_ERR_SUE
- */
- (PsiHbFir, bit(2)) ? defaultMaskedError;
-
- /** PSIHBFIR[3]
- * INTERRUPT_FROM_ERROR
- */
- (PsiHbFir, bit(3)) ? defaultMaskedError;
-
- /** PSIHBFIR[4]
- * INTERRUPT_FROM_FSP
- */
- (PsiHbFir, bit(4)) ? defaultMaskedError;
-
- /** PSIHBFIR[5]
- * FSP_ECC_ERR_CE
- */
- (PsiHbFir, bit(5)) ? calloutPsiThr32;
-
- /** PSIHBFIR[6]
- * FSP_ECC_ERR_UE
- */
- (PsiHbFir, bit(6)) ? calloutPsiThr1;
-
- /** PSIHBFIR[7]
- * ERROR_STATE
- */
- (PsiHbFir, bit(7)) ? defaultMaskedError;
-
- /** PSIHBFIR[8]
- * INVALID_TTYPE
- */
- (PsiHbFir, bit(8)) ? calloutProcLevel2MedThr1dumpShNoGard;
-
- /** PSIHBFIR[9]
- * INVALID_CRESP
- */
- (PsiHbFir, bit(9)) ? calloutProcLevel2MedThr1dumpShNoGard;
-
- /** PSIHBFIR[10]
- * PB_DATA_TIME_OUT
- */
- (PsiHbFir, bit(10)) ? callout2ndLvlMedThr1;
-
- /** PSIHBFIR[11]
- * PB_PARITY_ERROR
- */
- (PsiHbFir, bit(11)) ? callout2ndLvlMedThr1;
-
- /** PSIHBFIR[12]
- * FSP_ACCESS_TRUSTED_SPACE
- */
- (PsiHbFir, bit(12)) ? callout2ndLvlMedThr1;
-
- /** PSIHBFIR[13]
- * UNEXPECTED_PB
- */
- (PsiHbFir, bit(13)) ? calloutProcLevel2MedThr1dumpShNoGard;
-
- /** PSIHBFIR[14]
- * INTERRUPT_REG_CHANGE_WHILE_ACTIVE
- */
- (PsiHbFir, bit(14)) ? defaultMaskedError;
-
- /** PSIHBFIR[15]
- * INTERRUPT0_ADDRESS_ERROR
- */
- (PsiHbFir, bit(15)) ? calloutProcLevel2MedThr1dumpShNoGard;
-
- /** PSIHBFIR[16]
- * INTERRUPT1_ADDRESS_ERROR
- */
- (PsiHbFir, bit(16)) ? calloutProcLevel2MedThr1dumpShNoGard;
-
- /** PSIHBFIR[17]
- * INTERRUPT2_ADDRESS_ERROR
- */
- (PsiHbFir, bit(17)) ? calloutProcLevel2MedThr1dumpShNoGard;
-
- /** PSIHBFIR[18]
- * INTERRUPT3_ADDRESS_ERROR
- */
- (PsiHbFir, bit(18)) ? calloutProcLevel2MedThr1dumpShNoGard;
-
- /** PSIHBFIR[19]
- * INTERRUPT4_ADDRESS_ERROR
- */
- (PsiHbFir, bit(19)) ? calloutProcLevel2MedThr1dumpShNoGard;
-
- /** PSIHBFIR[20]
- * INTERRUPT5_ADDRESS_ERROR
- */
- (PsiHbFir, bit(20)) ? calloutProcLevel2MedThr1dumpShNoGard;
-
- /** PSIHBFIR[21]
- * TCBR_TP_PSI_GLB_ERR_0
- */
- #FIXME RTC 23127 Need to get validation from Rolf Fitz
- (PsiHbFir, bit(21)) ? defaultMaskedError;
-
- /** PSIHBFIR[22]
- * TCBR_TP_PSI_GLB_ERR_1
- */
- (PsiHbFir, bit(22)) ? defaultMaskedError;
-
- /** PSIHBFIR[23]
- * UPSTREAM_FIR
- */
- (PsiHbFir, bit(23)) ? calloutProcLevel2MedThr32dumpShNoGard;
-
- /** PSIHBFIR[24|25|26]
- * SPARE_FIR
- */
- (PsiHbFir, bit(24|25|26)) ? defaultMaskedError;
-
- /** PSIHBFIR[27]
- * SCOM_ERROR
- */
- (PsiHbFir, bit(27)) ? defaultMaskedError;
-
- /** PSIHBFIR[28]
- * FIR_PARITY_ERROR
- */
- (PsiHbFir, bit(28)) ? defaultMaskedError;
-};
-
-################################################################################
-# PB Chiplet ICPFIR
-################################################################################
-
-#Based on p8dd1_mss_FFDC_70.xls
-rule IcpFir
-{
- CHECK_STOP: ICPFIR & ~ICPFIR_MASK & ~ICPFIR_ACT0 & ~ICPFIR_ACT1;
- RECOVERABLE: ICPFIR & ~ICPFIR_MASK & ~ICPFIR_ACT0 & ICPFIR_ACT1;
-};
-
-group gIcpFir filter singlebit
-{
- /** ICPFIR[0]
- * INT_HW_ERROR_EOI_Q
- */
- (IcpFir, bit(0)) ? SelfMedThr1;
-
- /** ICPFIR[1]
- * INT_HW_ERROR_FWD_Q
- */
- (IcpFir, bit(1)) ? SelfMedThr1;
-
- /** ICPFIR[2]
- * INT_HW_ERROR_IR_QU
- */
- (IcpFir, bit(2)) ? SelfMedThr1;
-
- /** ICPFIR[3]
- * INT_HW_ERROR_RET_Q
- */
- (IcpFir, bit(3)) ? SelfMedThr32PerDay;
-
- /** ICPFIR[4]
- * INT_HW_ERROR_ADDRI
- */
- (IcpFir, bit(4)) ? defaultMaskedError;
-
- /** ICPFIR[5]
- * INT_HW_ERROR_DATAI
- */
- (IcpFir, bit(5)) ? SelfMedThr32PerDay;
-
- /** ICPFIR[6]
- * INT_HW_ERROR_ADDRO
- */
- (IcpFir, bit(6)) ? SelfMedThr32PerDay;
-
- /** ICPFIR[7]
- * INT_HW_ERROR_DATAO
- */
- (IcpFir, bit(7)) ? SelfMedThr32PerDay;
-
- /** ICPFIR[8]
- * INT_HW_ERROR_LDSTQ
- */
- (IcpFir, bit(8)) ? SelfMedThr32PerDay;
-
- /** ICPFIR[9]
- * INT_HW_ERROR_REQQ
- */
- (IcpFir, bit(9)) ? SelfMedThr32PerDay;
-
- /** ICPFIR[10]
- * SCOM_REG_CHECK
- */
- (IcpFir, bit(10)) ? SelfMedThr32PerDay;
-
- /** ICPFIR[11]
- * LOOP IN CHAIN OF LINK REGISTER OR INVALID CORE ID
- */
- (IcpFir, bit(11)) ? defaultMaskedError;
-
- /** ICPFIR[12]
- * INVALID CORE NUMBER IN INTERRUPT COMMANDS
- */
- (IcpFir, bit(12)) ? defaultMaskedError;
-
- /** ICPFIR[13]
- * INVALID CORE NUMBER IN MMIO COMMANDS
- */
- (IcpFir, bit(13)) ? defaultMaskedError;
-
- /** ICPFIR[14]
- * UNSOLICITED_CRESP
- */
- (IcpFir, bit(14)) ? defaultMaskedError;
-
- /** ICPFIR[15]
- * UNSOLICITED_DATA
- */
- (IcpFir, bit(15)) ? defaultMaskedError;
-
- /** ICPFIR[16]
- * INVALID_CMD
- */
- (IcpFir, bit(16)) ? defaultMaskedError;
-
- /** ICPFIR[17]
- * INVALID_CRESPZ
- */
- (IcpFir, bit(17)) ? defaultMaskedError;
-
- /** ICPFIR[18]
- * INVALID_CRESP
- */
- (IcpFir, bit(18)) ? defaultMaskedError;
-
- /** ICPFIR[19]
- * Reserved field (Access type is reserved)
- */
- (IcpFir, bit(19)) ? defaultMaskedError;
-
- /** ICPFIR[20]
- * ECC_CE_ON_DATA
- */
- (IcpFir, bit(20)) ? SelfMedThr32PerDay;
-
- /** ICPFIR[21]
- * ECC_UE_ON_DATA
- */
- (IcpFir, bit(21)) ? SelfMedThr32PerDay;
-
- /** ICPFIR[22]
- * ECC_SUE_ON_DATA
- */
- (IcpFir, bit(22)) ? SelfMedThr32PerDay;
-
- /** ICPFIR[23]
- * PARITY_CHK_ADDRESS
- */
- (IcpFir, bit(23)) ? SelfMedThr32PerDay;
-
- /** ICPFIR[24]
- * PARITY_CHK_TAG
- */
- (IcpFir, bit(24)) ? SelfMedThr32PerDay;
-
- /** ICPFIR[25]
- * TIMEOUT_LD_STQ
- */
- (IcpFir, bit(25)) ? SelfMedThr32PerDay;
-
- /** ICPFIR[26]
- * TIMEOUT_RETURNQ
- */
- (IcpFir, bit(26)) ? SelfMedThr32PerDay;
-
- /** ICPFIR[27]
- * TIMEOUT_FWDQ
- */
- (IcpFir, bit(27)) ? SelfMedThr32PerDay;
-
- /** ICPFIR[28]
- * TIMEOUT_EOIQ
- */
- (IcpFir, bit(28)) ? SelfMedThr32PerDay;
-
- /** ICPFIR[29]
- * RESERVED
- */
- (IcpFir, bit(29)) ? SelfMedThr32PerDay;
-
- /** ICPFIR[30]
- * RESERVED
- */
- (IcpFir, bit(30)) ? SelfMedThr32PerDay;
-
- /** ICPFIR[31]
- * RESERVED
- */
- (IcpFir, bit(31)) ? defaultMaskedError;
-
- /** ICPFIR[32]
- * EXT_TRACE_0
- */
- (IcpFir, bit(32)) ? SelfMedThr32PerDay;
-
- /** ICPFIR[33]
- * EXT_TRACE_1
- */
- (IcpFir, bit(33)) ? SelfMedThr32PerDay;
-
- /** ICPFIR[34]
- * ADU_RECOV
- */
- (IcpFir, bit(34)) ? SelfMedThr32PerDay;
-
- /** ICPFIR[35]
- * EXT_XSTOP
- */
- (IcpFir, bit(35)) ? SelfMedThr32PerDay;
-
- /** ICPFIR[36:37]
- * Reserved
- */
- (IcpFir, bit(36|37)) ? defaultMaskedError;
-};
-
-################################################################################
-# PB Chiplet PBAFIR
-################################################################################
-
-rule PbaFir
-{
- CHECK_STOP: PBAFIR & ~PBAFIR_MASK & ~PBAFIR_ACT0 & ~PBAFIR_ACT1;
- RECOVERABLE: PBAFIR & ~PBAFIR_MASK & ~PBAFIR_ACT0 & PBAFIR_ACT1;
-};
-
-group gPbaFir filter singlebit
-{
- /** PBAFIR[0]
- * PBAFIR_OCI_APAR_ERR
- */
- (PbaFir, bit(0)) ? SelfHighThr1;
-
- /** PBAFIR[1]
- * PBAFIR_PB_RDADRERR_FW
- */
- (PbaFir, bit(1)) ? callout2ndLvlMedThr1;
-
- /** PBAFIR[2]
- * PBAFIR_PB_RDDATATO_FW
- */
- (PbaFir, bit(2)) ? callout2ndLvlMedThr1;
-
- /** PBAFIR[3]
- * PBAFIR_PB_SUE_FW
- */
- (PbaFir, bit(3)) ? callout2ndLvlMedThr32;
-
- /** PBAFIR[4]
- * PBAFIR_PB_UE_FW
- */
- (PbaFir, bit(4)) ? SelfHighThr1;
-
- /** PBAFIR[3:4]
- * PBAFIR_PB_SUE_FW
- */
- (PbaFir, bit(3,4)) ? callout2ndLvlMedThr32;
-
- /** PBAFIR[5]
- * PBAFIR_PB_CE_FW
- */
- (PbaFir, bit(5)) ? callout2ndLvlMedThr32;
-
- /** PBAFIR[6]
- * PBAFIR_OCI_SLAVE_INIT
- */
- (PbaFir, bit(6)) ? callout2ndLvlMedThr1;
-
- /** PBAFIR[7]
- * PBAFIR_OCI_WRPAR_ERR
- */
- (PbaFir, bit(7)) ? callout2ndLvlMedThr1;
-
- /** PBAFIR[8]
- * PBAFIR_OCI_REREQTO
- */
- (PbaFir, bit(8)) ? defaultMaskedError;
-
- /** PBAFIR[9]
- * PBAFIR_PB_UNEXPCRESP
- */
- (PbaFir, bit(9)) ? callout2ndLvlMedThr1;
-
- /** PBAFIR[10]
- * PBAFIR_PB_UNEXPDATA
- */
- (PbaFir, bit(10)) ? callout2ndLvlMedThr1;
-
- /** PBAFIR[11]
- * PBAFIR_PB_PARITY_ERR
- */
- (PbaFir, bit(11)) ? callout2ndLvlMedThr1;
-
- /** PBAFIR[12]
- * PBAFIR_PB_WRADRERR_FW
- */
- (PbaFir, bit(12)) ? callout2ndLvlMedThr1;
-
- /** PBAFIR[13]
- * PBAFIR_PB_BADCRESP
- */
- (PbaFir, bit(13)) ? callout2ndLvlMedThr1;
-
- /** PBAFIR[14]
- * PBAFIR_PB_ACKDEAD_FW
- */
- (PbaFir, bit(14)) ? callout2ndLvlMedThr1;
-
- /** PBAFIR[15]
- * PBAFIR_PB_CRESPTO
- */
- (PbaFir, bit(15)) ? callout2ndLvlMedThr1;
-
- /** PBAFIR[16:19]
- * PBAFIR_BCUE
- */
- (PbaFir, bit(16|17|18|19)) ? defaultMaskedError;
-
- /** PBAFIR[20:27]
- * PBAFIR_BCDE
- */
- (PbaFir, bit(20|21|22|23|24|25|26|27)) ? defaultMaskedError;
-
- /** PBAFIR[28]
- * PBAFIR_INTERNAL_ERR
- */
- (PbaFir, bit(28)) ? SelfHighThr1;
-
- /** PBAFIR[29]
- * PBAFIR_ILLEGAL_CACHE_OP
- */
- (PbaFir, bit(29)) ? callout2ndLvlMedThr1;
-
- /** PBAFIR[30]
- * PBAFIR_OCI_BAD_REG_ADDR
- */
- (PbaFir, bit(30)) ? callout2ndLvlMedThr1;
-
- /** PBAFIR[31:39]
- * PBAFIR_AX
- */
- (PbaFir, bit(31|32|33|34|35|36|37|38|39)) ? defaultMaskedError;
-
- /** PBAFIR[40]
- * PBAFIR_PB_ACKDEAD_FW_WR
- */
- (PbaFir, bit(40)) ? callout2ndLvlMedThr1;
-
- /** PBAFIR[41:43]
- * RESERVED
- */
- (PbaFir, bit(41|42|43)) ? defaultMaskedError;
-
- /** PBAFIR[44|45]
- * PBAFIR_FIR_PARITY_ERR
- */
- (PbaFir, bit(44|45)) ? defaultMaskedError;
-};
-
-################################################################################
-# PB Chiplet EHHCAFIR
-################################################################################
-# based on p8dd1_mss_FFDC_59.xls
-################################################################################
-rule EhHcaFir
-{
- CHECK_STOP: EHHCAFIR & ~EHHCAFIR_MASK & ~EHHCAFIR_ACT0 & ~EHHCAFIR_ACT1;
- RECOVERABLE: EHHCAFIR & ~EHHCAFIR_MASK & ~EHHCAFIR_ACT0 & EHHCAFIR_ACT1;
-};
-
-group gEhHcaFir filter singlebit
-{
- /** EHHCAFIR[0]
- * CE1_0_OUT: array0_a CE
- */
- (EhHcaFir, bit(0)) ? defaultMaskedError;
-
- /** EHHCAFIR[1]
- * CE2_0_OUT: array0_b CE
- */
- (EhHcaFir, bit(1)) ? defaultMaskedError;
-
- /** EHHCAFIR[2]
- * UE1_0_OUT: array0_a ue
- */
- (EhHcaFir, bit(2)) ? SelfHighThr32PerDay;
-
- /** EHHCAFIR[3]
- * UE2_0_OUT: array0_b ue
- */
- (EhHcaFir, bit(3)) ? SelfHighThr32PerDay;
-
- /** EHHCAFIR[4]
- * CE1_1_OUT: array1_a CE
- */
- (EhHcaFir, bit(4)) ? defaultMaskedError;
-
- /** EHHCAFIR[5]
- * CE2_1_OUT: array1_b CE
- */
- (EhHcaFir, bit(5)) ? defaultMaskedError;
-
- /** EHHCAFIR[6]
- * UE1_1_OUT: array1_a ue
- */
- (EhHcaFir, bit(6)) ? SelfHighThr32PerDay;
-
- /** EHHCAFIR[7]
- * UE2_1_OUT: array1_b ue
- */
- (EhHcaFir, bit(7)) ? SelfHighThr32PerDay;
-
- /** EHHCAFIR[8]
- * CE1_2_OUT: array2_a CE
- */
- (EhHcaFir, bit(8)) ? defaultMaskedError;
-
- /** EHHCAFIR[9]
- * CE2_2_OUT: array2_b CE
- */
- (EhHcaFir, bit(9)) ? defaultMaskedError;
-
- /** EHHCAFIR[10]
- * UE1_2_OUT: array2_a ue
- */
- (EhHcaFir, bit(10)) ? SelfHighThr32PerDay;
-
- /** EHHCAFIR[11]
- * UE2_2_OUT: array2_b ue
- */
- (EhHcaFir, bit(11)) ? SelfHighThr32PerDay;
-
- /** EHHCAFIR[12]
- * CE1_3_OUT: array3_a CE
- */
- (EhHcaFir, bit(12)) ? defaultMaskedError;
-
- /** EHHCAFIR[13]
- * CE2_3_OUT: array3_b CE
- */
- (EhHcaFir, bit(13)) ? defaultMaskedError;
-
- /** EHHCAFIR[14]
- * UE1_3_OUT: array3_a ue
- */
- (EhHcaFir, bit(14)) ? SelfHighThr32PerDay;
-
- /** EHHCAFIR[15]
- * UE2_3_OUT: array3_b ue
- */
- (EhHcaFir, bit(15)) ? SelfHighThr32PerDay;
-
- /** EHHCAFIR[16]
- * CE1_4_OUT: array4_a CE
- */
- (EhHcaFir, bit(16)) ? defaultMaskedError;
-
- /** EHHCAFIR[17]
- * CE2_4_OUT: array4_b CE
- */
- (EhHcaFir, bit(17)) ? defaultMaskedError;
-
- /** EHHCAFIR[18]
- * UE1_4_OUT: array4_a ue
- */
- (EhHcaFir, bit(18)) ? SelfHighThr32PerDay;
-
- /** EHHCAFIR[19]
- * UE2_4_OUT: array4_b ue
- */
- (EhHcaFir, bit(19)) ? SelfHighThr32PerDay;
-
- /** EHHCAFIR[20]
- * CE1_5_OUT: array5_a CE
- */
- (EhHcaFir, bit(20)) ? defaultMaskedError;
-
- /** EHHCAFIR[21]
- * CE2_5_OUT: array5_b CE
- */
- (EhHcaFir, bit(21)) ? defaultMaskedError;
-
- /** EHHCAFIR[22]
- * UE1_5_OUT: array5_a ue
- */
- (EhHcaFir, bit(22)) ? SelfHighThr32PerDay;
-
- /** EHHCAFIR[23]
- * UE2_5_OUT: array5_b ue
- */
- (EhHcaFir, bit(23)) ? SelfHighThr32PerDay;
-
- /** EHHCAFIR[24]
- * CE1_6_OUT: array6_a CE
- */
- (EhHcaFir, bit(24)) ? defaultMaskedError;
-
- /** EHHCAFIR[25]
- * CE2_6_OUT: array6_b CE
- */
- (EhHcaFir, bit(25)) ? defaultMaskedError;
-
- /** EHHCAFIR[26]
- * UE1_6_OUT: array6_a ue
- */
- (EhHcaFir, bit(26)) ? SelfHighThr32PerDay;
-
- /** EHHCAFIR[27]
- * UE2_6_OUT: array6_b ue
- */
- (EhHcaFir, bit(27)) ? SelfHighThr32PerDay;
-
- /** EHHCAFIR[28]
- * CE1_7_OUT: array7_a CE
- */
- (EhHcaFir, bit(28)) ? defaultMaskedError;
-
- /** EHHCAFIR[29]
- * CE2_7_OUT: array7_b CE
- */
- (EhHcaFir, bit(29)) ? defaultMaskedError;
-
- /** EHHCAFIR[30]
- * UE1_7_OUT: array7_a ue
- */
- (EhHcaFir, bit(30)) ? SelfHighThr32PerDay;
-
- /** EHHCAFIR[31]
- * UE2_7_OUT: array7_b ue
- */
- (EhHcaFir, bit(31)) ? SelfHighThr32PerDay;
-
- /** EHHCAFIR[32]
- * DROP_COUNTER_FULL: Drop Counter Full
- */
- (EhHcaFir, bit(32)) ? defaultMaskedError;
-
- /** EHHCAFIR[33]
- * INTERNAL_ERROR: Internal Error
- */
- (EhHcaFir, bit(33)) ? defaultMaskedError;
-
- /** EHHCAFIR[34]
- * SCOM_ERROR
- */
- (EhHcaFir, bit(34)) ? defaultMaskedError;
-
- /** EHHCAFIR[35]
- * FIR_PARITY_ERROR
- */
- (EhHcaFir, bit(35)) ? defaultMaskedError;
-};
-
-################################################################################
-# PB Chiplet ENHCAFIR
-################################################################################
-#action updated based on p8dd1_mss_FFDC_59.xls
-################################################################################
-
-rule EnHcaFir
-{
- CHECK_STOP: ENHCAFIR & ~ENHCAFIR_MASK & ~ENHCAFIR_ACT0 & ~ENHCAFIR_ACT1;
- RECOVERABLE: ENHCAFIR & ~ENHCAFIR_MASK & ~ENHCAFIR_ACT0 & ENHCAFIR_ACT1;
-};
-
-group gEnHcaFir filter singlebit
-{
- /** ENHCAFIR[0]
- * DPX0_DAT_UE: PB0 data UE
- */
- (EnHcaFir, bit(0)) ? SelfHighThr32PerDay;
-
- /** ENHCAFIR[1]
- * DPX0_DAT_SUE: PB0 data SUE
- */
- (EnHcaFir, bit(1)) ? defaultMaskedError;
-
- /** ENHCAFIR[2]
- * DPX0_DAT_CE: PB0 data ue
- */
- (EnHcaFir, bit(2)) ? SelfHighThr32PerDay;
-
- /** ENHCAFIR[3]
- * Undefined
- */
- (EnHcaFir, bit(3)) ? defaultMaskedError;
-
- /** ENHCAFIR[4]
- * CO_DROP_COUNTER_FULL: Castout Drop Counter Full
- */
- (EnHcaFir, bit(4)) ? defaultMaskedError;
-
- /** ENHCAFIR[5]
- * DATA_HANG_DETECT: Castout Drop Counter Full
- */
- (EnHcaFir, bit(5)) ? defaultMaskedError;
-
- /** ENHCAFIR[6]
- * UNEXPECTED_DATA_OR_CRESP: Castout Drop Counter Full
- */
- (EnHcaFir, bit(6)) ? defaultMaskedError;
-
- /** ENHCAFIR[7]
- * INTERNAL_ERROR: Castout Drop Counter Full
- */
- (EnHcaFir, bit(7)) ? defaultMaskedError;
-
- /** ENHCAFIR[8]
- * SCOM_ERROR
- */
- (EnHcaFir, bit(8)) ? defaultMaskedError;
-
- /** ENHCAFIR[9]
- * FIR_PARITY_ERROR
- */
- (EnHcaFir, bit(9)) ? defaultMaskedError;
-};
-
-# PB Chiplet PCINESTFIRs
-################################################################################
-
-# All these FIRs should have the same bit definition. Ideally, we want
-# to have only one copy of the bit definition. Currently rule code
-# parser does not have the support for something like this.
-# Maybe we can add this as a later feature.
-
-################################################################################
-# FIR last updated based on p8dd1_mss_FFDC_37_ reviewd.xls
-################################################################################
-rule PciNestFir_0
-{
- CHECK_STOP:
- PCINESTFIR_0 & ~PCINESTFIR_0_MASK & ~PCINESTFIR_0_ACT0 & ~PCINESTFIR_0_ACT1;
- RECOVERABLE:
- PCINESTFIR_0 & ~PCINESTFIR_0_MASK & ~PCINESTFIR_0_ACT0 & PCINESTFIR_0_ACT1;
-};
-
-rule PciNestFir_1
-{
- CHECK_STOP:
- PCINESTFIR_1 & ~PCINESTFIR_1_MASK & ~PCINESTFIR_1_ACT0 & ~PCINESTFIR_1_ACT1;
- RECOVERABLE:
- PCINESTFIR_1 & ~PCINESTFIR_1_MASK & ~PCINESTFIR_1_ACT0 & PCINESTFIR_1_ACT1;
-};
-
-rule PciNestFir_2
-{
- CHECK_STOP:
- PCINESTFIR_2 & ~PCINESTFIR_2_MASK & ~PCINESTFIR_2_ACT0 & ~PCINESTFIR_2_ACT1;
- RECOVERABLE:
- PCINESTFIR_2 & ~PCINESTFIR_2_MASK & ~PCINESTFIR_2_ACT0 & PCINESTFIR_2_ACT1;
-};
-
-group gPciNestFir filter singlebit
-{
- /** PCINESTFIR_0[0]
- * BAR_PE
- */
- (PciNestFir_0, bit(0)) ? calloutConnPci0Th1NoGard;
-
- /** PCINESTFIR_1[0]
- * BAR_PE
- */
- (PciNestFir_1, bit(0)) ? calloutConnPci1Th1NoGard;
-
- /** PCINESTFIR_2[0]
- * BAR_PE
- */
- (PciNestFir_2, bit(0)) ? calloutConnPci2Th1NoGard;
-
- /** PCINESTFIR_0[1]
- * NONBAR_PE
- */
- (PciNestFir_0, bit(1)) ? defaultMaskedError;
-
- /** PCINESTFIR_1[1]
- * NONBAR_PE
- */
- (PciNestFir_1, bit(1)) ? defaultMaskedError;
-
- /** PCINESTFIR_2[1]
- * NONBAR_PE
- */
- (PciNestFir_2, bit(1)) ? defaultMaskedError;
-
- /** PCINESTFIR_0[2]
- * PB_TO_PEC_CE
- */
- (PciNestFir_0, bit(2)) ? calloutConnPci0Th32NoGard;
-
- /** PCINESTFIR_1[2]
- * PB_TO_PEC_CE
- */
- (PciNestFir_1, bit(2)) ? calloutConnPci1Th32NoGard;
-
- /** PCINESTFIR_2[2]
- * PB_TO_PEC_CE
- */
- (PciNestFir_2, bit(2)) ? calloutConnPci1Th32NoGard;
-
- /** PCINESTFIR_0[3]
- * PB_TO_PEC_UE
- */
- (PciNestFir_0, bit(3)) ? defaultMaskedError;
-
- /** PCINESTFIR_1[3]
- * PB_TO_PEC_UE
- */
- (PciNestFir_1, bit(3)) ? defaultMaskedError;
-
- /** PCINESTFIR_2[3]
- * PB_TO_PEC_UE
- */
- (PciNestFir_2, bit(3)) ? defaultMaskedError;
-
- /** PCINESTFIR_0[4]
- * PB_TO_PEC_SUE
- */
- (PciNestFir_0, bit(4)) ? defaultMaskedError;
-
- /** PCINESTFIR_1[4]
- * PB_TO_PEC_SUE
- */
- (PciNestFir_1, bit(4)) ? defaultMaskedError;
-
- /** PCINESTFIR_2[4]
- * PB_TO_PEC_SUE
- */
- (PciNestFir_2, bit(4)) ? defaultMaskedError;
-
- /** PCINESTFIR_0[5]
- * ARY_ECC_CE
- */
- (PciNestFir_0, bit(5)) ? calloutConnPci0Th32NoGard;
-
- /** PCINESTFIR_1[5]
- * ARY_ECC_CE
- */
- (PciNestFir_1, bit(5)) ? calloutConnPci1Th32NoGard;
-
- /** PCINESTFIR_2[5]
- * ARY_ECC_CE
- */
- (PciNestFir_2, bit(5)) ? calloutConnPci2Th32NoGard;
-
- /** PCINESTFIR_0[6]
- * ARY_ECC_UE
- */
- (PciNestFir_0, bit(6)) ? defaultMaskedError;
-
- /** PCINESTFIR_1[6]
- * ARY_ECC_UE
- */
- (PciNestFir_1, bit(6)) ? defaultMaskedError;
-
- /** PCINESTFIR_2[6]
- * ARY_ECC_UE
- */
- (PciNestFir_2, bit(6)) ? defaultMaskedError;
-
- /** PCINESTFIR_0[7]
- * ARY_ECC_SUE
- */
- (PciNestFir_0, bit(7)) ? defaultMaskedError;
-
- /** PCINESTFIR_1[7]
- * ARY_ECC_SUE
- */
- (PciNestFir_1, bit(7)) ? defaultMaskedError;
-
- /** PCINESTFIR_2[7]
- * ARY_ECC_SUE
- */
- (PciNestFir_2, bit(7)) ? defaultMaskedError;
-
- /** PCINESTFIR_0[8]
- * REGISTER_ARRAY_PE
- */
- (PciNestFir_0, bit(8)) ? calloutConnPci0Th1NoGard;
-
- /** PCINESTFIR_1[8]
- * REGISTER_ARRAY_PE
- */
- (PciNestFir_1, bit(8)) ? calloutConnPci1Th1NoGard;
-
- /** PCINESTFIR_2[8]
- * REGISTER_ARRAY_PE
- */
- (PciNestFir_2, bit(8)) ? calloutConnPci2Th1NoGard;
-
- /** PCINESTFIR_0[9]
- * PB_INTERFACE_PE
- */
- (PciNestFir_0, bit(9)) ? calloutConnPci0Th1NoGard;
-
- /** PCINESTFIR_1[9]
- * PB_INTERFACE_PE
- */
- (PciNestFir_1, bit(9)) ? calloutConnPci1Th1NoGard;
-
- /** PCINESTFIR_2[9]
- * PB_INTERFACE_PE
- */
- (PciNestFir_2, bit(9)) ? calloutConnPci2Th1NoGard;
-
- /** PCINESTFIR_0[10]
- * PB_DATA_HANG_ERRORS
- */
- (PciNestFir_0, bit(10)) ? defaultMaskedError;
-
- /** PCINESTFIR_1[10]
- * PB_DATA_HANG_ERRORS
- */
- (PciNestFir_1, bit(10)) ? defaultMaskedError;
-
- /** PCINESTFIR_2[10]
- * PB_DATA_HANG_ERRORS
- */
- (PciNestFir_2, bit(10)) ? defaultMaskedError;
-
- /** PCINESTFIR_0[11]
- * PB_HANG_ERRORS
- */
- (PciNestFir_0, bit(11)) ? defaultMaskedError;
-
- /** PCINESTFIR_1[11]
- * PB_HANG_ERRORS
- */
- (PciNestFir_1, bit(11)) ? defaultMaskedError;
-
- /** PCINESTFIR_2[11]
- * PB_HANG_ERRORS
- */
- (PciNestFir_2, bit(11)) ? defaultMaskedError;
-
- /** PCINESTFIR_0[12]
- * RD_ARE_ERRORS
- */
- (PciNestFir_0, bit(12)) ? defaultMaskedError;
-
- /** PCINESTFIR_1[12]
- * RD_ARE_ERRORS
- */
- (PciNestFir_1, bit(12)) ? defaultMaskedError;
-
- /** PCINESTFIR_2[12]
- * RD_ARE_ERRORS
- */
- (PciNestFir_2, bit(12)) ? defaultMaskedError;
-
- /** PCINESTFIR_0[13]
- * NONRD_ARE_ERRORS
- */
- (PciNestFir_0, bit(13)) ? defaultMaskedError;
-
- /** PCINESTFIR_1[13]
- * NONRD_ARE_ERRORS
- */
- (PciNestFir_1, bit(13)) ? defaultMaskedError;
-
- /** PCINESTFIR_2[13]
- * NONRD_ARE_ERRORS
- */
- (PciNestFir_2, bit(13)) ? defaultMaskedError;
-
- /** PCINESTFIR_0[14]
- * PCI_HANG_ERROR
- */
- (PciNestFir_0, bit(14)) ? defaultMaskedError;
-
- /** PCINESTFIR_1[14]
- * PCI_HANG_ERROR
- */
- (PciNestFir_1, bit(14)) ? defaultMaskedError;
-
- /** PCINESTFIR_2[14]
- * PCI_HANG_ERROR
- */
- (PciNestFir_2, bit(14)) ? defaultMaskedError;
-
- /** PCINESTFIR_0[15]
- * PCI_CLOCK_ERROR
- *
- * These should never trigger directly themselves.
- * Should be handled by global PRD PLL code.
- */
- (PciNestFir_0, bit(15)) ? threshold32pday;
-
- /** PCINESTFIR_1[15]
- * PCI_CLOCK_ERROR
- *
- * These should never trigger directly themselves.
- * Should be handled by global PRD PLL code.
- */
- (PciNestFir_1, bit(15)) ? threshold32pday;
-
- /** PCINESTFIR_2[15]
- * PCI_CLOCK_ERROR
- *
- * These should never trigger directly themselves.
- * Should be handled by global PRD PLL code.
- */
- (PciNestFir_2, bit(15)) ? threshold32pday;
-
- /** PCINESTFIR_0[16]
- * AIB_FENCE
- */
- (PciNestFir_0, bit(16)) ? defaultMaskedError;
-
- /** PCINESTFIR_1[16]
- * AIB_FENCE
- */
- (PciNestFir_1, bit(16)) ? defaultMaskedError;
-
- /** PCINESTFIR_2[16]
- * AIB_FENCE
- */
- (PciNestFir_2, bit(16)) ? defaultMaskedError;
-
- /** PCINESTFIR_0[17]
- * HW_ERRORS
- */
- (PciNestFir_0, bit(17)) ? calloutConnPci0Th1NoGard;
-
- /** PCINESTFIR_1[17]
- * HW_ERRORS
- */
- (PciNestFir_1, bit(17)) ? calloutConnPci1Th1NoGard;
-
- /** PCINESTFIR_2[17]
- * HW_ERRORS
- */
- (PciNestFir_2, bit(17)) ? calloutConnPci2Th1NoGard;
-
- /** PCINESTFIR_0[18]
- * UNSOLICITIEDPBDATA
- */
- (PciNestFir_0, bit(18)) ? callout2ndLvlMedThr1;
-
- /** PCINESTFIR_1[18]
- * UNSOLICITIEDPBDATA
- */
- (PciNestFir_1, bit(18)) ? callout2ndLvlMedThr1;
-
- /** PCINESTFIR_2[18]
- * UNSOLICITIEDPBDATA
- */
- (PciNestFir_2, bit(18)) ? callout2ndLvlMedThr1;
-
- /** PCINESTFIR_0[19]
- * UNEXPECTEDCRESP
- */
- (PciNestFir_0, bit(19)) ? callout2ndLvlMedThr1;
-
- /** PCINESTFIR_1[19]
- * UNEXPECTEDCRESP
- */
- (PciNestFir_1, bit(19)) ? callout2ndLvlMedThr1;
-
- /** PCINESTFIR_2[19]
- * UNEXPECTEDCRESP
- */
- (PciNestFir_2, bit(19)) ? callout2ndLvlMedThr1;
-
- /** PCINESTFIR_0[20]
- * INVALIDCRESP
- */
- (PciNestFir_0, bit(20)) ? calloutProcLevel2MedThr1;
-
- /** PCINESTFIR_1[20]
- * INVALIDCRESP
- */
- (PciNestFir_1, bit(20)) ? calloutProcLevel2MedThr1;
-
- /** PCINESTFIR_2[20]
- * INVALIDCRESP
- */
- (PciNestFir_2, bit(20)) ? calloutProcLevel2MedThr1;
-
- /** PCINESTFIR_0[21]
- * PBUNSUPPORTEDSIZE
- */
- (PciNestFir_0, bit(21)) ? calloutProcLevel2MedThr1;
-
- /** PCINESTFIR_1[21]
- * PBUNSUPPORTEDSIZE
- */
- (PciNestFir_1, bit(21)) ? calloutProcLevel2MedThr1;
-
- /** PCINESTFIR_2[21]
- * PBUNSUPPORTEDSIZE
- */
- (PciNestFir_2, bit(21)) ? calloutProcLevel2MedThr1;
-
- /** PCINESTFIR_0[22]
- * PBUNSUPPORTEDCMD
- */
- (PciNestFir_0, bit(22)) ? calloutProcLevel2MedThr1;
-
- /** PCINESTFIR_1[22]
- * PBUNSUPPORTEDCMD
- */
- (PciNestFir_1, bit(22)) ? calloutProcLevel2MedThr1;
-
- /** PCINESTFIR_2[22]
- * PBUNSUPPORTEDCMD
- */
- (PciNestFir_2, bit(22)) ? calloutProcLevel2MedThr1;
-
- /** PCINESTFIR_0[23]
- * AIB_PE
- */
- (PciNestFir_0, bit(23)) ? defaultMaskedError;
-
- /** PCINESTFIR_1[23]
- * AIB_PE
- */
- (PciNestFir_1, bit(23)) ? defaultMaskedError;
-
- /** PCINESTFIR_2[23]
- * AIB_PE
- */
- (PciNestFir_2, bit(23)) ? defaultMaskedError;
-
- /** PCINESTFIR_0[24]
- * ASB_ERROR
- */
- (PciNestFir_0, bit(24)) ? defaultMaskedError;
-
- /** PCINESTFIR_1[24]
- * ASB_ERROR
- */
- (PciNestFir_1, bit(24)) ? defaultMaskedError;
-
- /** PCINESTFIR_2[24]
- * ASB_ERROR
- */
- (PciNestFir_2, bit(24)) ? defaultMaskedError;
-
- /** PCINESTFIR_0[25]
- * FOREIGN_LINK_FAIL
- */
- (PciNestFir_0, bit(25)) ? defaultMaskedError;
-
- /** PCINESTFIR_1[25]
- * FOREIGN_LINK_FAIL
- */
- (PciNestFir_1, bit(25)) ? defaultMaskedError;
-
- /** PCINESTFIR_2[25]
- * FOREIGN_LINK_FAIL
- */
- (PciNestFir_2, bit(25)) ? defaultMaskedError;
-
- /** PCINESTFIR_0[26]
- * FOREIGN_PB_HANG
- */
- (PciNestFir_0, bit(26)) ? defaultMaskedError;
-
- /** PCINESTFIR_1[26]
- * FOREIGN_PB_HANG
- */
- (PciNestFir_1, bit(26)) ? defaultMaskedError;
-
- /** PCINESTFIR_2[26]
- * FOREIGN_PB_HANG
- */
- (PciNestFir_2, bit(26)) ? defaultMaskedError;
-
- /** PCINESTFIR_0[27]
- * CAPP_ERROR
- */
- (PciNestFir_0, bit(27)) ? defaultMaskedError;
-
- /** PCINESTFIR_1[27]
- * CAPP_ERROR
- */
- (PciNestFir_1, bit(27)) ? defaultMaskedError;
-
- /** PCINESTFIR_2[27]
- * CAPP_ERROR
- */
- (PciNestFir_2, bit(27)) ? defaultMaskedError;
-
- /** PCINESTFIR_0[28]
- * SYNC_SCOM_ERR
- */
- (PciNestFir_0, bit(28)) ? defaultMaskedError;
-
- /** PCINESTFIR_1[28]
- * SYNC_SCOM_ERR
- */
- (PciNestFir_1, bit(28)) ? defaultMaskedError;
-
- /** PCINESTFIR_2[28]
- * SYNC_SCOM_ERR
- */
- (PciNestFir_2, bit(28)) ? defaultMaskedError;
-
- /** PCINESTFIR_0[29]
- * SCOM Engine ERROR 0
- */
- (PciNestFir_0, bit(29)) ? defaultMaskedError;
-
- /** PCINESTFIR_1[29]
- * SCOM Engine ERROR 0
- */
- (PciNestFir_1, bit(29)) ? defaultMaskedError;
-
- /** PCINESTFIR_2[29]
- * SCOM Engine ERROR 0
- */
- (PciNestFir_2, bit(29)) ? defaultMaskedError;
-
- /** PCINESTFIR_0[30]
- * SCOM Engine ERROR 0
- */
- (PciNestFir_0, bit(30)) ? defaultMaskedError;
-
- /** PCINESTFIR_1[30]
- * SCOM Engine ERROR 1
- */
- (PciNestFir_1, bit(30)) ? defaultMaskedError;
-
- /** PCINESTFIR_2[30]
- * SCOM Engine ERROR 1
- */
- (PciNestFir_2, bit(30)) ? defaultMaskedError;
-
-};
-
-rule PciNestFir_3
-{
- CHECK_STOP:
- PCINESTFIR_3 & ~PCINESTFIR_3_MASK & ~PCINESTFIR_3_ACT0 & ~PCINESTFIR_3_ACT1;
- RECOVERABLE:
- PCINESTFIR_3 & ~PCINESTFIR_3_MASK & ~PCINESTFIR_3_ACT0 & PCINESTFIR_3_ACT1;
-};
-
-group gPciNestFir3 filter singlebit
-{
- /** PCINESTFIR_3[0]
- * BAR_PE
- */
- (PciNestFir_3, bit(0)) ? calloutConnPci3Th1NoGard;
-
- /** PCINESTFIR_3[1]
- * NONBAR_PE
- */
- (PciNestFir_3, bit(1)) ? defaultMaskedError;
-
- /** PCINESTFIR_3[2]
- * PB_TO_PEC_CE
- */
- (PciNestFir_3, bit(2)) ? calloutConnPci3Th32NoGard;
-
- /** PCINESTFIR_3[3]
- * PB_TO_PEC_UE
- */
- (PciNestFir_3, bit(3)) ? defaultMaskedError;
-
- /** PCINESTFIR_3[4]
- * PB_TO_PEC_SUE
- */
- (PciNestFir_3, bit(4)) ? defaultMaskedError;
-
- /** PCINESTFIR_3[5]
- * ARY_ECC_CE
- */
- (PciNestFir_3, bit(5)) ? calloutConnPci3Th32NoGard;
-
- /** PCINESTFIR_3[6]
- * ARY_ECC_UE
- */
- (PciNestFir_3, bit(6)) ? defaultMaskedError;
-
- /** PCINESTFIR_3[7]
- * ARY_ECC_SUE
- */
- (PciNestFir_3, bit(7)) ? defaultMaskedError;
-
- /** PCINESTFIR_3[8]
- * REGISTER_ARRAY_PE
- */
- (PciNestFir_3, bit(8)) ? calloutConnPci3Th1NoGard;
-
- /** PCINESTFIR_3[9]
- * PB_INTERFACE_PE
- */
- (PciNestFir_3, bit(9)) ? calloutConnPci3Th1NoGard;
-
- /** PCINESTFIR_3[10]
- * PB_DATA_HANG_ERRORS
- */
- (PciNestFir_3, bit(10)) ? defaultMaskedError;
-
- /** PCINESTFIR_3[11]
- * PB_HANG_ERRORS
- */
- (PciNestFir_3, bit(11)) ? defaultMaskedError;
-
- /** PCINESTFIR_3[12]
- * RD_ARE_ERRORS
- */
- (PciNestFir_3, bit(12)) ? defaultMaskedError;
-
- /** PCINESTFIR_3[13]
- * NONRD_ARE_ERRORS
- */
- (PciNestFir_3, bit(13)) ? defaultMaskedError;
-
- /** PCINESTFIR_3[14]
- * PCI_HANG_ERROR
- */
- (PciNestFir_3, bit(14)) ? defaultMaskedError;
-
- /** PCINESTFIR_3[15]
- * PCI_CLOCK_ERROR
- *
- * These should never trigger directly themselves.
- * Should be handled by global PRD PLL code.
- */
- (PciNestFir_3, bit(15)) ? threshold32pday;
-
- /** PCINESTFIR_3[16]
- * AIB_FENCE
- */
- (PciNestFir_3, bit(16)) ? defaultMaskedError;
-
- /** PCINESTFIR_3[17]
- * HW_ERRORS
- */
- (PciNestFir_3, bit(17)) ? calloutConnPci3Th1NoGard;
-
- /** PCINESTFIR_3[18]
- * UNSOLICITIEDPBDATA
- */
- (PciNestFir_3, bit(18)) ? callout2ndLvlMedThr1;
-
- /** PCINESTFIR_3[19]
- * UNEXPECTEDCRESP
- */
- (PciNestFir_3, bit(19)) ? callout2ndLvlMedThr1;
-
- /** PCINESTFIR_0[20]
- * INVALIDCRESP
- */
- (PciNestFir_3, bit(20)) ? calloutProcLevel2MedThr1;
-
- /** PCINESTFIR_0[21]
- * PBUNSUPPORTEDSIZE
- */
- (PciNestFir_3, bit(21)) ? calloutProcLevel2MedThr1;
-
- /** PCINESTFIR_0[22]
- * PBUNSUPPORTEDCMD
- */
- (PciNestFir_3, bit(22)) ? calloutProcLevel2MedThr1;
-
- /** PCINESTFIR_0[23]
- * AIB_PE
- */
- (PciNestFir_3, bit(23)) ? defaultMaskedError;
-
- /** PCINESTFIR_3[24]
- * ASB_ERROR
- */
- (PciNestFir_3, bit(24)) ? defaultMaskedError;
-
- /** PCINESTFIR_3[25]
- * FOREIGN_LINK_FAIL
- */
- (PciNestFir_3, bit(25)) ? defaultMaskedError;
-
- /** PCINESTFIR_3[26]
- * FOREIGN_PB_HANG
- */
- (PciNestFir_3, bit(26)) ? defaultMaskedError;
-
- /** PCINESTFIR_3[27]
- * CAPP_ERROR
- */
- (PciNestFir_3, bit(27)) ? defaultMaskedError;
-
- /** PCINESTFIR_3[28]
- * SYNC_SCOM_ERR
- */
- (PciNestFir_3, bit(28)) ? defaultMaskedError;
-
- /** PCINESTFIR_3[29]
- * SCOM Engine ERROR 0
- */
- (PciNestFir_3, bit(29)) ? defaultMaskedError;
-
- /** PCINESTFIR_3[30]
- * SCOM Engine ERROR 0
- */
- (PciNestFir_3, bit(30)) ? defaultMaskedError;
-};
-
-################################################################################
-# PB Chiplet IOMCFIR_0
-################################################################################
-# RAS spreadsheet: p8dd1_mss_FFDC_37_ reviewd.xls
-
-rule IomcFir_0
-{
- CHECK_STOP: IOMCFIR_0 & ~IOMCFIR_0_MASK & ~IOMCFIR_0_ACT0 & ~IOMCFIR_0_ACT1;
- RECOVERABLE: IOMCFIR_0 & ~IOMCFIR_0_MASK & ~IOMCFIR_0_ACT0 & IOMCFIR_0_ACT1;
-};
-
-group gIomcFir_0 filter priority( 10, 18, 26, 34, # Channel failure
- 2, # Recoverable
- 11, 19, 27, 35, # Recoverable
- 12, 20, 28, 36, # Recoverable
- 9, 17, 25, 33 ), # Recoverable
- secondarybits( 0, 1, 3, 4, 5, 6, 7,
- 8, 9,11,12,13,14,15,
- 16,17,19,20,21,22,23,
- 24,25,27,28,29,30,31,
- 32,33,35,36,37,38,39,
- 40,41,43,44,45,46,47,48,49)
-{
- /** IOMCFIR_0[0]
- * FIR_RX_INVALID_STATE_OR_PARITY_ERROR
- */
- (IomcFir_0, bit(0)) ? defaultMaskedError;
-
- /** IOMCFIR_0[1]
- * FIR_TX_INVALID_STATE_OR_PARITY_ERROR
- */
- (IomcFir_0, bit(1)) ? defaultMaskedError;
-
- /** IOMCFIR_0[2]
- * FIR_GCR_HANG_ERROR
- */
- (IomcFir_0, bit(2)) ? SelfHighThr1;
-
- /** IOMCFIR_0[3:7]
- * Reserved
- */
- (IomcFir_0, bit(3|4|5|6|7)) ? defaultMaskedError;
-
- /** IOMCFIR_0[8]
- * MCS0 Training Error
- */
- (IomcFir_0, bit(8)) ? defaultMaskedError;
-
- /** IOMCFIR_0[9]
- * MCS0 Spare Deployed
- */
- (IomcFir_0, bit(9)) ? spareDeployed_dmiBus0;
-
- /** IOMCFIR_0[10]
- * MCS0 Max Spares Exceeded
- */
- (IomcFir_0, bit(10)) ? maxSparesExceeded_dmiBus0;
-
- /** IOMCFIR_0[11]
- * MCS0 Recalibration or Dynamic Repair Error
- */
- (IomcFir_0, bit(11)) ? calloutDmiBus0Th1;
-
- /** IOMCFIR_0[12]
- * MCS0 Too Many Bus Errors
- */
- (IomcFir_0, bit(12)) ? calloutDmiBus0Th1;
-
- /** IOMCFIR_0[13:15]
- * Reserved
- */
- (IomcFir_0, bit(13|14|15)) ? defaultMaskedError;
-
- /** IOMCFIR_0[16]
- * MCS1 Training Error
- */
- (IomcFir_0, bit(16)) ? defaultMaskedError;
-
- /** IOMCFIR_0[17]
- * MCS1 Spare Deployed
- */
- (IomcFir_0, bit(17)) ? spareDeployed_dmiBus1;
-
- /** IOMCFIR_0[18]
- * MCS1 Max Spares Exceeded
- */
- (IomcFir_0, bit(18)) ? maxSparesExceeded_dmiBus1;
-
- /** IOMCFIR_0[19]
- * MCS1 Recalibration or Dynamic Repair Error
- */
- (IomcFir_0, bit(19)) ? calloutDmiBus1Th1;
-
- /** IOMCFIR_0[20]
- * MCS1 Too Many Bus Errors
- */
- (IomcFir_0, bit(20)) ? calloutDmiBus1Th1;
-
- /** IOMCFIR_0[21:23]
- * Reserved
- */
- (IomcFir_0, bit(21|22|23)) ? defaultMaskedError;
-
- /** IOMCFIR_0[24]
- * MCS2 Training Error
- */
- (IomcFir_0, bit(24)) ? defaultMaskedError;
-
- /** IOMCFIR_0[25]
- * MCS2 Spare Deployed
- */
- (IomcFir_0, bit(25)) ? spareDeployed_dmiBus2;
-
- /** IOMCFIR_0[26]
- * MCS2 Max Spares Exceeded
- */
- (IomcFir_0, bit(26)) ? maxSparesExceeded_dmiBus2;
-
- /** IOMCFIR_0[27]
- * MCS2 Recalibration or Dynamic Repair Error
- */
- (IomcFir_0, bit(27)) ? calloutDmiBus2Th1;
-
- /** IOMCFIR_0[28]
- * MCS2 Too Many Bus Errors
- */
- (IomcFir_0, bit(28)) ? calloutDmiBus2Th1;
-
- /** IOMCFIR_0[29:31]
- * Reserved
- */
- (IomcFir_0, bit(29|30|31)) ? defaultMaskedError;
-
- /** IOMCFIR_0[32]
- * MCS3 Training Error
- */
- (IomcFir_0, bit(32)) ? defaultMaskedError;
-
- /** IOMCFIR_0[33]
- * MCS3 Spare Deployed
- */
- (IomcFir_0, bit(33)) ? spareDeployed_dmiBus3;
-
- /** IOMCFIR_0[34]
- * MCS3 Max Spares Exceeded
- */
- (IomcFir_0, bit(34)) ? maxSparesExceeded_dmiBus3;
-
- /** IOMCFIR_0[35]
- * MCS3 Recalibration or Dynamic Repair Error
- */
- (IomcFir_0, bit(35)) ? calloutDmiBus3Th1;
-
- /** IOMCFIR_0[36]
- * MCS3 Too Many Bus Errors
- */
- (IomcFir_0, bit(36)) ? calloutDmiBus3Th1;
-
- /** IOMCFIR_0[37:39]
- * Reserved
- */
- (IomcFir_0, bit(37|38|39)) ? defaultMaskedError;
-
- /** IOMCFIR_0[40:47]
- * FIR_RX_BUS4 unused
- */
- (IomcFir_0, bit(40|41|42|43|44|45|46|47)) ? defaultMaskedError;
-
- /** IOMCFIR_0[48]
- * FIR_SCOMFIR_ERROR
- */
- (IomcFir_0, bit(48)) ? defaultMaskedError;
-
- /** IOMCFIR_0[49]
- * FIR_SCOMFIR_ERROR_CLONE
- */
- (IomcFir_0, bit(49)) ? defaultMaskedError;
-};
-
-################################################################################
-# PB Chiplet IOMCFIR_1
-################################################################################
-# RAS spreadsheet: p8dd1_mss_FFDC_72_ reviewd.xls on Jan 18,2014
-
-rule IomcFir_1
-{
- CHECK_STOP: IOMCFIR_1 & ~IOMCFIR_1_MASK & ~IOMCFIR_1_ACT0 & ~IOMCFIR_1_ACT1;
- RECOVERABLE: IOMCFIR_1 & ~IOMCFIR_1_MASK & ~IOMCFIR_1_ACT0 & IOMCFIR_1_ACT1;
-};
-
-group gIomcFir_1 filter priority( 10, 18, 26, 34, # Channel failure
- 2, # Recoverable
- 11, 19, 27, 35, # Recoverable
- 12, 20, 28, 36, # Recoverable
- 9, 17, 25, 33 ), # Recoverable
- secondarybits( 0, 1, 3, 4, 5, 6, 7,
- 8, 9,11,12,13,14,15,
- 16,17,19,20,21,22,23,
- 24,25,27,28,29,30,31,
- 32,33,35,36,37,38,39,
- 40,41,43,44,45,46,47,48,49)
-{
- /** IOMCFIR_1[0]
- * FIR_RX_INVALID_STATE_OR_PARITY_ERROR
- */
- (IomcFir_1, bit(0)) ? defaultMaskedError;
-
- /** IOMCFIR_1[1]
- * FIR_TX_INVALID_STATE_OR_PARITY_ERROR
- */
- (IomcFir_1, bit(1)) ? defaultMaskedError;
-
- /** IOMCFIR_1[2]
- * FIR_GCR_HANG_ERROR
- */
- (IomcFir_1, bit(2)) ? SelfHighThr1;
-
- /** IOMCFIR_1[3:7]
- * Reserved
- */
- (IomcFir_1, bit(3|4|5|6|7)) ? defaultMaskedError;
-
- /** IOMCFIR_1[8]
- * MCS4 Training Error
- */
- (IomcFir_1, bit(8)) ? defaultMaskedError;
-
- /** IOMCFIR_1[9]
- * MCS4 Spare Deployed
- */
- (IomcFir_1, bit(9)) ? spareDeployed_dmiBus4;
-
- /** IOMCFIR_1[10]
- * MCS4 Max Spares Exceeded
- */
- (IomcFir_1, bit(10)) ? maxSparesExceeded_dmiBus4;
-
- /** IOMCFIR_1[11]
- * MCS4 Recalibration or Dynamic Repair Error
- */
- (IomcFir_1, bit(11)) ? calloutDmiBus4Th1;
-
- /** IOMCFIR_1[12]
- * MCS4 Too Many Bus Errors
- */
- (IomcFir_1, bit(12)) ? calloutDmiBus4Th1;
-
- /** IOMCFIR_1[13:15]
- * Reserved
- */
- (IomcFir_1, bit(13|14|15)) ? defaultMaskedError;
-
- /** IOMCFIR_1[16]
- * MCS5 Training Error
- */
- (IomcFir_1, bit(16)) ? defaultMaskedError;
-
- /** IOMCFIR_1[17]
- * MCS5 Spare Deployed
- */
- (IomcFir_1, bit(17)) ? spareDeployed_dmiBus5;
-
- /** IOMCFIR_1[18]
- * MCS5 Max Spares Exceeded
- */
- (IomcFir_1, bit(18)) ? maxSparesExceeded_dmiBus5;
-
- /** IOMCFIR_1[19]
- * MCS5 Recalibration or Dynamic Repair Error
- */
- (IomcFir_1, bit(19)) ? calloutDmiBus5Th1;
-
- /** IOMCFIR_1[20]
- * MCS5 Too Many Bus Errors
- */
- (IomcFir_1, bit(20)) ? calloutDmiBus5Th1;
-
- /** IOMCFIR_1[21:23]
- * Reserved
- */
- (IomcFir_1, bit(21|22|23)) ? defaultMaskedError;
-
- /** IOMCFIR_1[24]
- * MCS6 Training Error
- */
- (IomcFir_1, bit(24)) ? defaultMaskedError;
-
- /** IOMCFIR_1[25]
- * MCS6 Spare Deployed
- */
- (IomcFir_1, bit(25)) ? spareDeployed_dmiBus6;
-
- /** IOMCFIR_1[26]
- * MCS6 Max Spares Exceeded
- */
- (IomcFir_1, bit(26)) ? maxSparesExceeded_dmiBus6;
-
- /** IOMCFIR_1[27]
- * MCS6 Recalibration or Dynamic Repair Error
- */
- (IomcFir_1, bit(27)) ? calloutDmiBus6Th1;
-
- /** IOMCFIR_1[28]
- * MCS6 Too Many Bus Errors
- */
- (IomcFir_1, bit(28)) ? calloutDmiBus6Th1;
-
- /** IOMCFIR_1[29:31]
- * Reserved
- */
- (IomcFir_1, bit(29|30|31)) ? defaultMaskedError;
-
- /** IOMCFIR_1[32]
- * MCS7 Training Error
- */
- (IomcFir_1, bit(32)) ? defaultMaskedError;
-
- /** IOMCFIR_1[33]
- * MCS7 Spare Deployed
- */
- (IomcFir_1, bit(33)) ? spareDeployed_dmiBus7;
-
- /** IOMCFIR_1[34]
- * MCS7 Max Spares Exceeded
- */
- (IomcFir_1, bit(34)) ? maxSparesExceeded_dmiBus7;
-
- /** IOMCFIR_1[35]
- * MCS7 Recalibration or Dynamic Repair Error
- */
- (IomcFir_1, bit(35)) ? calloutDmiBus7Th1;
-
- /** IOMCFIR_1[36]
- * MCS7 Too Many Bus Errors
- */
- (IomcFir_1, bit(36)) ? calloutDmiBus7Th1;
-
- /** IOMCFIR_1[37:39]
- * Reserved
- */
- (IomcFir_1, bit(37|38|39)) ? defaultMaskedError;
-
- /** IOMCFIR_1[40:47]
- * FIR_RX_BUS4 unused
- */
- (IomcFir_1, bit(40|41|42|43|44|45|46|47)) ? defaultMaskedError;
-
- /** IOMCFIR_1[48]
- * FIR_SCOMFIR_ERROR
- */
- (IomcFir_1, bit(48)) ? defaultMaskedError;
-
- /** IOMCFIR_1[49]
- * FIR_SCOMFIR_ERROR_CLONE
- */
- (IomcFir_1, bit(49)) ? defaultMaskedError;
-};
-
-################################################################################
-# Actions specific to PB chiplet
-################################################################################
-
-/** Callout the connected PCI 0 controller. */
-actionclass calloutConnPci0NoGard
-{
- callout(connected(TYPE_PCI,0), MRU_MED, NO_GARD);
-};
-
-/** Callout the connected PCI 1 controller. */
-actionclass calloutConnPci1NoGard
-{
- callout(connected(TYPE_PCI,1), MRU_MED, NO_GARD);
-};
-
-/** Callout the connected PCI 2 controller. */
-actionclass calloutConnPci2NoGard
-{
- callout(connected(TYPE_PCI,2), MRU_MED, NO_GARD);
-};
-
-/** Callout the connected PCI 3 controller. */
-actionclass calloutConnPci3NoGard
-{
- callout(connected(TYPE_PCI,3), MRU_MED, NO_GARD);
-};
-
-/** Callout the connected PCI 0 controller, threshold 1 , no garding */
-actionclass calloutConnPci0Th1NoGard
-{
- calloutConnPci0NoGard;
- threshold1;
-};
-
-/** Callout the connected PCI 1 controller, threshold 1, no garding */
-actionclass calloutConnPci1Th1NoGard
-{
- callout(connected(TYPE_PCI,1), MRU_MED, NO_GARD);
- threshold1;
-};
-
-/** Callout the connected PCI 2 controller, threshold 1, no garding */
-actionclass calloutConnPci2Th1NoGard
-{
- calloutConnPci2NoGard;
- threshold1;
-};
-
-/** Callout the connected PCI 3 controller, threshold 1, no garding */
-actionclass calloutConnPci3Th1NoGard
-{
- calloutConnPci3NoGard;
- threshold1;
-};
-
-/** Callout the connected PCI 0 controller, threshold 32 per day, no garding */
-actionclass calloutConnPci0Th32NoGard
-{
- calloutConnPci0NoGard;
- threshold32pday;
-};
-
-/** Callout the connected PCI 1 controller, threshold 32 per day, no garding */
-actionclass calloutConnPci1Th32NoGard
-{
- calloutConnPci1NoGard;
- threshold32pday;
-};
-
-/** Callout the connected PCI 2 controller, threshold 32 per day , no garding */
-actionclass calloutConnPci2Th32NoGard
-{
- calloutConnPci2NoGard;
- threshold32pday;
-};
-
-/** Callout the connected PCI 3 controller, threshold 32 per day , no garding */
-actionclass calloutConnPci3Th32NoGard
-{
- calloutConnPci3NoGard;
- threshold32pday;
-};
-
-/** Callout the DMI bus 0 */
-actionclass calloutDmiBus0
-{
- callout(connected(TYPE_MCS, 0), MRU_MEDA);
- callout(connected(TYPE_MEMBUF, 0), MRU_MEDA);
- funccall("calloutInterface_dmi0");
-};
-
-/** Callout the DMI bus 1 */
-actionclass calloutDmiBus1
-{
- callout(connected(TYPE_MCS, 1), MRU_MEDA);
- callout(connected(TYPE_MEMBUF, 1), MRU_MEDA);
- funccall("calloutInterface_dmi1");
-};
-
-/** Callout the DMI bus 2 */
-actionclass calloutDmiBus2
-{
- callout(connected(TYPE_MCS, 2), MRU_MEDA);
- callout(connected(TYPE_MEMBUF, 2), MRU_MEDA);
- funccall("calloutInterface_dmi2");
-};
-
-/** Callout the DMI bus 3 */
-actionclass calloutDmiBus3
-{
- callout(connected(TYPE_MCS, 3), MRU_MEDA);
- callout(connected(TYPE_MEMBUF, 3), MRU_MEDA);
- funccall("calloutInterface_dmi3");
-};
-
-/** Callout the DMI bus 4 */
-actionclass calloutDmiBus4
-{
- callout(connected(TYPE_MCS, 4), MRU_MEDA);
- callout(connected(TYPE_MEMBUF, 4), MRU_MEDA);
- funccall("calloutInterface_dmi4");
-};
-
-/** Callout the DMI bus 5 */
-actionclass calloutDmiBus5
-{
- callout(connected(TYPE_MCS, 5), MRU_MEDA);
- callout(connected(TYPE_MEMBUF, 5), MRU_MEDA);
- funccall("calloutInterface_dmi5");
-};
-
-/** Callout the DMI bus 6 */
-actionclass calloutDmiBus6
-{
- callout(connected(TYPE_MCS, 6), MRU_MEDA);
- callout(connected(TYPE_MEMBUF, 6), MRU_MEDA);
- funccall("calloutInterface_dmi6");
-};
-
-/** Callout the DMI bus 7 */
-actionclass calloutDmiBus7
-{
- callout(connected(TYPE_MCS, 7), MRU_MEDA);
- callout(connected(TYPE_MEMBUF, 7), MRU_MEDA);
- funccall("calloutInterface_dmi7");
-};
-
-/** Callout the DMI bus 0, threshold 1 */
-actionclass calloutDmiBus0Th1 { calloutDmiBus0; threshold1; };
-
-/** Callout the DMI bus 1, threshold 1 */
-actionclass calloutDmiBus1Th1 { calloutDmiBus1; threshold1; };
-
-/** Callout the DMI bus 2, threshold 1 */
-actionclass calloutDmiBus2Th1 { calloutDmiBus2; threshold1; };
-
-/** Callout the DMI bus 3, threshold 1 */
-actionclass calloutDmiBus3Th1 { calloutDmiBus3; threshold1; };
-
-/** Callout the DMI bus 4, threshold 1 */
-actionclass calloutDmiBus4Th1 { calloutDmiBus4; threshold1; };
-
-/** Callout the DMI bus 5, threshold 1 */
-actionclass calloutDmiBus5Th1 { calloutDmiBus5; threshold1; };
-
-/** Callout the DMI bus 6, threshold 1 */
-actionclass calloutDmiBus6Th1 { calloutDmiBus6; threshold1; };
-
-/** Callout the DMI bus 7, threshold 1 */
-actionclass calloutDmiBus7Th1 { calloutDmiBus7; threshold1; };
-
-/** Lane Repair: spare deployed - DMI bus 0 */
-actionclass spareDeployed_dmiBus0
-{ calloutDmiBus0; funccall("spareDeployed_dmiBus0"); };
-
-/** Lane Repair: spare deployed - DMI bus 1 */
-actionclass spareDeployed_dmiBus1
-{ calloutDmiBus1; funccall("spareDeployed_dmiBus1"); };
-
-/** Lane Repair: spare deployed - DMI bus 2 */
-actionclass spareDeployed_dmiBus2
-{ calloutDmiBus2; funccall("spareDeployed_dmiBus2"); };
-
-/** Lane Repair: spare deployed - DMI bus 3 */
-actionclass spareDeployed_dmiBus3
-{ calloutDmiBus3; funccall("spareDeployed_dmiBus3"); };
-
-/** Lane Repair: spare deployed - DMI bus 4 */
-actionclass spareDeployed_dmiBus4
-{ calloutDmiBus4; funccall("spareDeployed_dmiBus4"); };
-
-/** Lane Repair: spare deployed - DMI bus 5 */
-actionclass spareDeployed_dmiBus5
-{ calloutDmiBus5; funccall("spareDeployed_dmiBus5"); };
-
-/** Lane Repair: spare deployed - DMI bus 6 */
-actionclass spareDeployed_dmiBus6
-{ calloutDmiBus6; funccall("spareDeployed_dmiBus6"); };
-
-/** Lane Repair: spare deployed - DMI bus 7 */
-actionclass spareDeployed_dmiBus7
-{ calloutDmiBus7; funccall("spareDeployed_dmiBus7"); };
-
-/** Lane Repair: max spares exceeded - DMI bus 0 */
-actionclass maxSparesExceeded_dmiBus0
-{ calloutDmiBus0Th1; funccall("maxSparesExceeded_dmiBus0"); };
-
-/** Lane Repair: max spares exceeded - DMI bus 1 */
-actionclass maxSparesExceeded_dmiBus1
-{ calloutDmiBus1Th1; funccall("maxSparesExceeded_dmiBus1"); };
-
-/** Lane Repair: max spares exceeded - DMI bus 2 */
-actionclass maxSparesExceeded_dmiBus2
-{ calloutDmiBus2Th1; funccall("maxSparesExceeded_dmiBus2"); };
-
-/** Lane Repair: max spares exceeded - DMI bus 3 */
-actionclass maxSparesExceeded_dmiBus3
-{ calloutDmiBus3Th1; funccall("maxSparesExceeded_dmiBus3"); };
-
-/** Lane Repair: max spares exceeded - DMI bus 4 */
-actionclass maxSparesExceeded_dmiBus4
-{ calloutDmiBus4Th1; funccall("maxSparesExceeded_dmiBus4"); };
-
-/** Lane Repair: max spares exceeded - DMI bus 5 */
-actionclass maxSparesExceeded_dmiBus5
-{ calloutDmiBus5Th1; funccall("maxSparesExceeded_dmiBus5"); };
-
-/** Lane Repair: max spares exceeded - DMI bus 6 */
-actionclass maxSparesExceeded_dmiBus6
-{ calloutDmiBus6Th1; funccall("maxSparesExceeded_dmiBus6"); };
-
-/** Lane Repair: max spares exceeded - DMI bus 7 */
-actionclass maxSparesExceeded_dmiBus7
-{ calloutDmiBus7Th1; funccall("maxSparesExceeded_dmiBus7"); };
-
-/** callout NX associated with Proc with a threshold of 32 per day*/
-actionclass calloutNxThr32
-{
- calloutNx;
- threshold32pday;
-};
-
-/** callout NX associated with Proc with a threshold of 1 per day*/
-actionclass calloutNxThr1
-{
- calloutNx;
- threshold1;
-};
-
-/**callout Nx connected to Proc */
-actionclass calloutNx
-{
- callout(connected(TYPE_NX, 0), MRU_MED);
-};
-
-actionclass calloutNxThr5pHr
-{
- calloutNx;
- threshold5phour;
-};
-
-actionclass Capp0MedThr1
-{
- calloutCapp0;
- threshold1;
-};
-
-actionclass Capp0MedThr32PerDay
-{
- calloutCapp0;
- threshold32pday;
-};
-
-actionclass Capp1MedThr1
-{
- calloutCapp1;
- threshold1;
-};
-
-actionclass Capp1MedThr32PerDay
-{
- calloutCapp1;
- threshold32pday;
-};
-
-actionclass calloutCapp0
-{
- callout(connected(TYPE_CAPP, 0), MRU_MED);
-};
-
-actionclass calloutCapp1
-{
- callout(connected(TYPE_CAPP, 1), MRU_MED);
-};
-
-
-actionclass combinedResponseError
-{
- callout2ndLvlMed;
- # TODO: RTC 116213 proc_mpipl_check_eligibility() is completely broken so
- # reverting this bug fix to the original 810 and 820 behavior (per
- # request from Kevin) until proc_mpipl_check_eligibility() is fixed
- # in FW830.
- funccall("analyzeMpIPL");
- #dumpSH;
- funccall("combinedResponseCallout");
-};
-
-actionclass forceMpIpl
-{
- # TODO: RTC 116213 proc_mpipl_check_eligibility() is completely broken so
- # reverting this bug fix to the original 810 and 820 behavior (per
- # request from Kevin) until proc_mpipl_check_eligibility() is fixed
- # in FW830.
- funccall("analyzeMpIPL");
- #dumpSH;
- callout2ndLvlMedThr1;
-};
-
-/** callout both ends of PSI Link.Threshold is 32 events per day.
- */
-actionclass calloutPsiThr32
-{
- calloutPsiLink;
- threshold32pday;
-};
-
-/** callout both ends of PSI Link on first instance.*/
-actionclass calloutPsiThr1
-{
- calloutPsiLink;
- threshold1;
-};
-
-/** callout both ends of PSI link */
-actionclass calloutPsiLink
-{
- funccall("calloutPeerPsiBusTgt");
-};
-
-/** Callout the NX on first occurrence and collect additional FFDC. */
-actionclass nxUnitCheckstop
-{
- calloutNxThr1;
- flag(UNIT_CS);
- # only collect NX debug traces on FSP
- try(funccall("inHostboot"), funccall("collectNxTraceArray"));
-};
-
-/**
- * Threshold 32/day (field) and 1 (mnfg). Do not predictively callout on
- * threshold, instead just mask.
- */
-actionclass PbCentHangRecoveryGte
-{
- capture(PbCentMode);
- calloutSelfMed;
- threshold32pday;
- funccall("ClearServiceCallFlag_mnfgInfo");
-};
-
diff --git a/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_PCIE.rule b/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_PCIE.rule
deleted file mode 100755
index 1c58a3719..000000000
--- a/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_PCIE.rule
+++ /dev/null
@@ -1,409 +0,0 @@
-# IBM_PROLOG_BEGIN_TAG
-# This is an automatically generated prolog.
-#
-# $Source: src/usr/diag/prdf/common/plat/pegasus/Proc_acts_PCIE.rule $
-#
-# OpenPOWER HostBoot Project
-#
-# Contributors Listed Below - COPYRIGHT 2012,2015
-# [+] 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
-
-################################################################################
-# PCIE Chiplet Registers
-################################################################################
-
-rule PcieChipletFir
-{
- CHECK_STOP:
- (PCIE_CHIPLET_CS_FIR & `1FF0000000000000`) & ~PCIE_CHIPLET_FIR_MASK;
- RECOVERABLE:
- ((PCIE_CHIPLET_RE_FIR >> 2) & `1FF0000000000000`) & ~PCIE_CHIPLET_FIR_MASK;
-};
-
-group gPcieChipletFir filter singlebit
-{
- /** PCIE_CHIPLET_FIR[3]
- * Attention from LFIR
- */
- (PcieChipletFir, bit(3)) ? analyze(gPcieLFir);
-
- /** PCIE_CHIPLET_FIR[4|5|6|7]
- * Attention from PCICLOCKFIR (0-3)
- */
- (PcieChipletFir, bit(4|5|6|7)) ? defaultMaskedError;
-
- /** PCIE_CHIPLET_FIR[8]
- * Attention from PBFFIR
- */
- #PBFFIR has been masked. Retaining the register for FFDC purpose.
- (PcieChipletFir, bit(8)) ? defaultMaskedError;
-
- /** PCIE_CHIPLET_FIR[9|10]
- * Attention from IOPCIFIR (0-1)
- */
- (PcieChipletFir, bit(9|10)) ? analyze(gIopPciFir);
-
- /** PCIE_CHIPLET_FIR[11]
- * Attention from IOPCIFIR_2
- */
- (PcieChipletFir, bit(11)) ? analyze(gIopPciFir_2);
-};
-
-rule PcieChipletSpa
-{
- SPECIAL: PCIE_CHIPLET_SPA & ~PCIE_CHIPLET_SPA_MASK;
-};
-
-group gPcieChipletSpa filter singlebit
-{
- /** PCIE_CHIPLET_SPA[0]
- * Attention from PBFFIR
- */
- (PcieChipletSpa, bit(0)) ? defaultMaskedError;
-};
-
-################################################################################
-# PCIE Chiplet LFIR
-################################################################################
-# based on p8dd1_mss_FFDC_59.xls
-################################################################################
-
-rule PcieLFir
-{
- CHECK_STOP: PCIE_LFIR & ~PCIE_LFIR_MASK & ~PCIE_LFIR_ACT0 & ~PCIE_LFIR_ACT1;
- RECOVERABLE: PCIE_LFIR & ~PCIE_LFIR_MASK & ~PCIE_LFIR_ACT0 & PCIE_LFIR_ACT1;
-};
-
-group gPcieLFir filter singlebit
-{
- /** PCIE_LFIR[0]
- * CFIR internal parity error
- */
- (PcieLFir, bit(0)) ? SelfHighThr32PerDay;
-
- /** PCIE_LFIR[1]
- * Local errors from GPIO (PCB error)
- */
- (PcieLFir, bit(1)) ? defaultMaskedError;
-
- /** PCIE_LFIR[2]
- * Local errors from CC (PCB error)
- */
- (PcieLFir, bit(2)) ? defaultMaskedError;
-
- /** PCIE_LFIR[3]
- * Local errors from CC (OPCG, parity, scan collision, ...)
- */
- (PcieLFir, bit(3)) ? callout2ndLvlMedThr32;
-
- /** PCIE_LFIR[4]
- * Local errors from PSC (PCB error)
- */
- (PcieLFir, bit(4)) ? defaultMaskedError;
-
- /** PCIE_LFIR[5]
- * Local errors from PSC (parity error)
- */
- (PcieLFir, bit(5)) ? defaultMaskedError;
-
- /** PCIE_LFIR[6]
- * Local errors from Thermal (parity error)
- */
- (PcieLFir, bit(6)) ? defaultMaskedError;
-
- /** PCIE_LFIR[7]
- * Local errors from Thermal (PCB error)
- */
- (PcieLFir, bit(7)) ? defaultMaskedError;
-
- /** PCIE_LFIR[8|9]
- * Local errors from Thermal (Trip error)
- */
- (PcieLFir, bit(8|9)) ? defaultMaskedError;
-
- /** PCIE_LFIR[10|11]
- * Local errors from Trace Array ( error)
- */
- (PcieLFir, bit(10|11)) ? defaultMaskedError;
-
- /** PCIE_LFIR[12:20]
- * Unused local errors
- */
- (PcieLFir, bit(12|13|14|15|16|17|18|19|20)) ? defaultMaskedError;
-
- /** PCIE_LFIR[21:30]
- * Unused local errors
- */
- (PcieLFir, bit(21|22|23|24|25|26|27|28|29|30)) ? defaultMaskedError;
-
- /** PCIE_LFIR[31:39]
- * Unused local errors
- */
- (PcieLFir, bit(31|32|33|34|35|36|37|38|39)) ? defaultMaskedError;
-
- /** PCIE_LFIR[40]
- * Malfunction alert (local xstop in another chiplet)
- */
- (PcieLFir, bit(40)) ? defaultMaskedError;
-};
-
-################################################################################
-# PCIE Chiplet IOPCIFIRs
-################################################################################
-
-# All these FIRs should have the same bit definition. Ideally, we want
-# to have only one copy of the bit definition. Currently rule code
-# parser does not have the support for something like this.
-# Maybe we can add this as a later feature.
-
-################################################################################
-# based on p8dd1_mss_FFDC_59.xls
-################################################################################
-
-rule IopPciFir_0
-{
- CHECK_STOP:
- IOPCIFIR_0 & ~IOPCIFIR_0_MASK & ~IOPCIFIR_0_ACT0 & ~IOPCIFIR_0_ACT1;
- RECOVERABLE:
- IOPCIFIR_0 & ~IOPCIFIR_0_MASK & ~IOPCIFIR_0_ACT0 & IOPCIFIR_0_ACT1;
-};
-
-rule IopPciFir_1
-{
- CHECK_STOP:
- IOPCIFIR_1 & ~IOPCIFIR_1_MASK & ~IOPCIFIR_1_ACT0 & ~IOPCIFIR_1_ACT1;
- RECOVERABLE:
- IOPCIFIR_1 & ~IOPCIFIR_1_MASK & ~IOPCIFIR_1_ACT0 & IOPCIFIR_1_ACT1;
-};
-
-group gIopPciFir filter singlebit
-{
- /** IOPCIFIR_0[0]
- * FIR_STATUS_REG_G2_PLL_CCERR_STATUS
- */
- (IopPciFir_0, bit(0)) ? calloutPhbBothClks_0;
-
- /** IOPCIFIR_1[0]
- * FIR_STATUS_REG_G2_PLL_CCERR_STATUS
- */
- (IopPciFir_1, bit(0)) ? calloutPhbBothClks_1;
-
- /** IOPCIFIR_0[1]
- * FIR_STATUS_REG_G3_PLL_CCERR_STATUS
- */
- (IopPciFir_0, bit(1)) ? calloutPhbBothClks_0;
-
- /** IOPCIFIR_1[1]
- * FIR_STATUS_REG_G3_PLL_CCERR_STATUS
- */
- (IopPciFir_1, bit(1)) ? calloutPhbBothClks_1;
-
- /** IOPCIFIR_0[2]
- * FIR_STATUS_REG_TX_A_ERR_STATUS
- */
- (IopPciFir_0, bit(2)) ? calloutPhbClkA_0_noGard;
-
- /** IOPCIFIR_1[2]
- * FIR_STATUS_REG_TX_A_ERR_STATUS
- */
- (IopPciFir_1, bit(2)) ? calloutPhbClkA_1_noGard;
-
- /** IOPCIFIR_0[3]
- * FIR_STATUS_REG_TX_B_ERR_STATUS
- */
- (IopPciFir_0, bit(3)) ? calloutPhbClkB_0_noGard;
-
- /** IOPCIFIR_1[3]
- * FIR_STATUS_REG_TX_B_ERR_STATUS
- */
- (IopPciFir_1, bit(3)) ? calloutPhbClkB_1_noGard;
-
- /** IOPCIFIR_0[4]
- * FIR_STATUS_REG_RX_A_ERR_STATUS
- */
- (IopPciFir_0, bit(4)) ? calloutPhbClkA_0_noGard;
-
- /** IOPCIFIR_1[4]
- * FIR_STATUS_REG_RX_A_ERR_STATUS
- */
- (IopPciFir_1, bit(4)) ? calloutPhbClkA_1_noGard;
-
- /** IOPCIFIR_0[5]
- * FIR_STATUS_REG_RX_B_ERR_STATUS
- */
- (IopPciFir_0, bit(5)) ? calloutPhbClkB_0_noGard;
-
- /** IOPCIFIR_1[5]
- * FIR_STATUS_REG_RX_B_ERR_STATUS
- */
- (IopPciFir_1, bit(5)) ? calloutPhbClkB_1_noGard;
-
- /** IOPCIFIR_0[6]
- * FIR_STATUS_REG_ZCAL_B_ERR_STATUS
- */
- (IopPciFir_0, bit(6)) ? calloutPhbBothClks_0;
-
- /** IOPCIFIR_1[6]
- * FIR_STATUS_REG_ZCAL_B_ERR_STATUS
- */
- (IopPciFir_1, bit(6)) ? calloutPhbBothClks_1;
-
- /** IOPCIFIR_0[7]
- * FIR_STATUS_REG_SCOM_FIR_PERR0_STATUS
- */
- (IopPciFir_0, bit(7)) ? defaultMaskedError;
-
- /** IOPCIFIR_1[7]
- * FIR_STATUS_REG_SCOM_FIR_PERR0_STATUS
- */
- (IopPciFir_1, bit(7)) ? defaultMaskedError;
-
- /** IOPCIFIR_0[8]
- * FIR_STATUS_REG_SCOM_FIR_PERR1_STATUS
- */
- (IopPciFir_0, bit(8)) ? defaultMaskedError;
-
- /** IOPCIFIR_1[8]
- * FIR_STATUS_REG_SCOM_FIR_PERR1_STATUS
- */
- (IopPciFir_1, bit(8)) ? defaultMaskedError;
-};
-
-rule IopPciFir_2
-{
- CHECK_STOP:
- IOPCIFIR_2 & ~IOPCIFIR_2_MASK & ~IOPCIFIR_2_ACT0 & ~IOPCIFIR_2_ACT1;
- RECOVERABLE:
- IOPCIFIR_2 & ~IOPCIFIR_2_MASK & ~IOPCIFIR_2_ACT0 & IOPCIFIR_2_ACT1;
-};
-
-group gIopPciFir_2 filter singlebit
-{
- /** IOPCIFIR_2[0]
- * FIR_STATUS_REG_G2_PLL_CCERR_STATUS
- */
- (IopPciFir_2, bit(0)) ? calloutPhbBothClks_2;
-
- /** IOPCIFIR_2[1]
- * FIR_STATUS_REG_G3_PLL_CCERR_STATUS
- */
- (IopPciFir_2, bit(1)) ? calloutPhbBothClks_2;
-
- /** IOPCIFIR_2[2]
- * FIR_STATUS_REG_TX_A_ERR_STATUS
- */
- (IopPciFir_2, bit(2)) ? calloutPhbClkA_2_noGard;
-
- /** IOPCIFIR_2[3]
- * FIR_STATUS_REG_TX_B_ERR_STATUS
- */
- (IopPciFir_2, bit(3)) ? calloutPhbClkB_2_noGard;
-
- /** IOPCIFIR_2[4]
- * FIR_STATUS_REG_RX_A_ERR_STATUS
- */
- (IopPciFir_2, bit(4)) ? calloutPhbClkA_2_noGard;
-
- /** IOPCIFIR_2[5]
- * FIR_STATUS_REG_RX_B_ERR_STATUS
- */
- (IopPciFir_2, bit(5)) ? calloutPhbClkB_2_noGard;
-
- /** IOPCIFIR_2[6]
- * FIR_STATUS_REG_ZCAL_B_ERR_STATUS
- */
- (IopPciFir_2, bit(6)) ? calloutPhbBothClks_2;
-
- /** IOPCIFIR_2[7]
- * FIR_STATUS_REG_SCOM_FIR_PERR0_STATUS
- */
- (IopPciFir_2, bit(7)) ? defaultMaskedError;
-
- /** IOPCIFIR_2[8]
- * FIR_STATUS_REG_SCOM_FIR_PERR1_STATUS
- */
- (IopPciFir_2, bit(8)) ? defaultMaskedError;
-};
-
-################################################################################
-# Actions specific to PCIE chiplet
-################################################################################
-
-/**callout PHB associated with IOPCIFIR0 clkA, no garding */
-actionclass calloutPhbClkA_0_noGard
-{
- funccall("calloutPhbClkA_0");
- threshold1;
-};
-
-/**callout PHB associated with IOPCIFIR0 clkB, no garding */
-actionclass calloutPhbClkB_0_noGard
-{
- funccall("calloutPhbClkB_0");
- threshold1;
-};
-
-/**callout PHB associated with IOPCIFIR1 clkA, no garding */
-actionclass calloutPhbClkA_1_noGard
-{
- funccall("calloutPhbClkA_1");
- threshold1;
-};
-
-/**callout PHB associated with IOPCIFIR1 clkB, no garding */
-actionclass calloutPhbClkB_1_noGard
-{
- funccall("calloutPhbClkB_1");
- threshold1;
-};
-
-/**callout PHB associated with IOPCIFIR2 clkA, no garding */
-actionclass calloutPhbClkA_2_noGard
-{
- funccall("calloutPhbClkA_2");
- threshold1;
-};
-
-/**callout PHB associated with IOPCIFIR2 clkB, no garding */
-actionclass calloutPhbClkB_2_noGard
-{
- funccall("calloutPhbClkB_2");
- threshold1;
-};
-
-/** callout all PHB associated with IOPCIFIR0, no garding */
-actionclass calloutPhbBothClks_0
-{
- funccall("calloutPhbBothClks_0");
- threshold1;
-};
-
-/** callout all PHB associated with IOPCIFIR1, no garding */
-actionclass calloutPhbBothClks_1
-{
- funccall("calloutPhbBothClks_1");
- threshold1;
-};
-
-/** callout all PHB associated with IOPCIFIR2, no garding */
-actionclass calloutPhbBothClks_2
-{
- funccall("calloutPhbBothClks_2");
- threshold1;
-};
-
diff --git a/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_TP.rule b/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_TP.rule
deleted file mode 100755
index 599ee06fb..000000000
--- a/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_TP.rule
+++ /dev/null
@@ -1,1332 +0,0 @@
-# IBM_PROLOG_BEGIN_TAG
-# This is an automatically generated prolog.
-#
-# $Source: src/usr/diag/prdf/common/plat/pegasus/Proc_acts_TP.rule $
-#
-# OpenPOWER HostBoot Project
-#
-# Contributors Listed Below - COPYRIGHT 2012,2017
-# [+] 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
-
-################################################################################
-# TP Chiplet Registers
-################################################################################
-
-rule TpChipletFir
-{
- CHECK_STOP:
- (TP_CHIPLET_CS_FIR & `1FFFF80000000000`) & ~TP_CHIPLET_FIR_MASK;
- RECOVERABLE:
- ((TP_CHIPLET_RE_FIR >> 2) & `1FFFF80000000000`) & ~TP_CHIPLET_FIR_MASK;
-};
-
-group gTpChipletFir filter singlebit
-{
- /** TP_CHIPLET_FIR[3]
- * Attention from TP_LFIR
- */
- (TpChipletFir, bit(3)) ? analyze(gTpLFir);
-
- /** TP_CHIPLET_FIR[4]
- * Attention from OCCFIR
- */
- (TpChipletFir, bit(4)) ? analyze(gOccFir);
-
- /** TP_CHIPLET_FIR[5]
- * Attention from MCIFIR (MCS 00 not used in Murano)
- */
- (TpChipletFir, bit(5)) ? analyzeMcs00;
-
- /** TP_CHIPLET_FIR[6]
- * Attention from MCIFIR (MCS 01 not used in Murano)
- */
- (TpChipletFir, bit(6)) ? analyzeMcs01;
-
- /** TP_CHIPLET_FIR[7]
- * Attention from MCIFIR (MCS 10 not used in Murano)
- */
- (TpChipletFir, bit(7)) ? analyzeMcs10;
-
- /** TP_CHIPLET_FIR[8]
- * Attention from MCIFIR (MCS 11 not used in Murano)
- */
- (TpChipletFir, bit(8)) ? analyzeMcs11;
-
- /** TP_CHIPLET_FIR[9]
- * Attention from MCIFIR (MCS 20)
- */
- (TpChipletFir, bit(9)) ? analyzeMcs20;
-
- /** TP_CHIPLET_FIR[10]
- * Attention from MCIFIR (MCS 21)
- */
- (TpChipletFir, bit(10)) ? analyzeMcs21;
-
- /** TP_CHIPLET_FIR[11]
- * Attention from MCIFIR (MCS 30)
- */
- (TpChipletFir, bit(11)) ? analyzeMcs30;
-
- /** TP_CHIPLET_FIR[12]
- * Attention from MCIFIR (MCS 31)
- */
- (TpChipletFir, bit(12)) ? analyzeMcs31;
-
- /** TP_CHIPLET_FIR[13]
- * Attention from IOMCFIR_0 (not used in Murano)
- */
- (TpChipletFir, bit(13)) ? analyze(gIomcFir_0);
-
- /** TP_CHIPLET_FIR[14]
- * Attention from IOMCFIR_1
- */
- (TpChipletFir, bit(14)) ? analyze(gIomcFir_1);
-
- /** TP_CHIPLET_FIR[15]
- * Attention from PBAMFIR
- */
- (TpChipletFir, bit(15)) ? analyze(gPbamFir);
-
- /** TP_CHIPLET_FIR[16|17|18|19]
- * CS attention from MC 0-3
- */
- (TpChipletFir, bit(16|17|18|19)) ? defaultMaskedError;
-
- /** TP_CHIPLET_FIR[20]
- * Attention from PMCFIR
- */
- (TpChipletFir, bit(20)) ? analyze(gPmcFir);
-};
-
-rule TpChipletSpa
-{
- SPECIAL: TP_CHIPLET_SPA & ~TP_CHIPLET_SPA_MASK;
-};
-
-group gTpChipletSpa filter singlebit
-{
- /** TP_CHIPLET_SPA[0]
- * Attention from OCCFIR
- */
- (TpChipletSpa, bit(0)) ? analyze(gOccFir);
-
- /** TP_CHIPLET_SPA[1]
- * Attention from MCIFIR_00 (not used in Murano)
- */
- (TpChipletSpa, bit(1)) ? analyzeMcs00;
-
- /** TP_CHIPLET_SPA[2]
- * Attention from MCIFIR_01 (not used in Murano)
- */
- (TpChipletSpa, bit(2)) ? analyzeMcs01;
-
- /** TP_CHIPLET_SPA[3]
- * Attention from MCIFIR_10 (not used in Murano)
- */
- (TpChipletSpa, bit(3)) ? analyzeMcs10;
-
- /** TP_CHIPLET_SPA[4]
- * Attention from MCIFIR_11 (not used in Murano)
- */
- (TpChipletSpa, bit(4)) ? analyzeMcs11;
-
- /** TP_CHIPLET_SPA[5]
- * Attention from MCIFIR_20
- */
- (TpChipletSpa, bit(5)) ? analyzeMcs20;
-
- /** TP_CHIPLET_SPA[6]
- * Attention from MCIFIR_21
- */
- (TpChipletSpa, bit(6)) ? analyzeMcs21;
-
- /** TP_CHIPLET_SPA[7]
- * Attention from MCIFIR_30
- */
- (TpChipletSpa, bit(7)) ? analyzeMcs30;
-
- /** TP_CHIPLET_SPA[8]
- * Attention from MCIFIR_31
- */
- (TpChipletSpa, bit(8)) ? analyzeMcs31;
-};
-
-################################################################################
-# TP Chiplet LFIR
-################################################################################
-
-rule TpLFir
-{
- 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 gTpLFir filter singlebit, secondarybits( 16, 17, 18 )
-{
- /** TP_LFIR[0]
- * CFIR internal parity error
- */
- (TpLFir, bit(0)) ? SelfHighThr32PerDay;
-
- /** 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)) ? SelfHighThr32PerDay;
-
- /** 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|9]
- * Local errors from Thermal (Trip error)
- */
- (TpLFir, bit(8|9)) ? defaultMaskedError;
-
- /** TP_LFIR[10]
- * Local errors from Trace Array ( error)
- */
- (TpLFir, bit(10)) ? SelfHighThr32PerDay;
-
- /** TP_LFIR[11]
- * Local errors from Trace Array ( error)
- */
- (TpLFir, bit(11)) ? SelfHighThr32PerDay;
-
- /** TP_LFIR[12|13]
- * Local errors from I2CM
- */
- (TpLFir, bit(12|13)) ? defaultMaskedError;
-
- /** TP_LFIR[14]
- * Local errors from PCB
- */
- (TpLFir, bit(14)) ? SelfHighThr32PerDay;
-
- /** TP_LFIR[15]
- * Local errors from Trace Array ( error)
- */
- (TpLFir, bit(15)) ? defaultMaskedError;
-
- /** TP_LFIR[16]
- * Error in TOD backup topology
- */
- (TpLFir, bit(16)) ? analyzeTodBackupTopology;
-
- /** TP_LFIR[17]
- * TOD PIB Errors
- */
- (TpLFir, bit(17)) ? analyzePibError;
-
- /** TP_LFIR[18]
- * PHYP detected TOD Error
- */
- (TpLFir, bit(18)) ? analyzePhypTodError;
-
- /** TP_LFIR[19]
- * PCB Slave Internal Parity Error
- *
- * This bit is also shared with the PLL Lock error.
- * PLL error should already be handled by global PRD PLL code.
- */
- (TpLFir, bit(19)) ? PcbSlaveInternalParity;
-
- /** TP_LFIR[20]
- * Sbe indicated error_event0to4 enabled by mask bit 5 to 9
- */
- (TpLFir, bit(20)) ? defaultMaskedError;
-
- /** TP_LFIR[21]
- * Sbe indicated error_event0to4 enabled by mask bit 10 to 14
- */
- (TpLFir, bit(21)) ? defaultMaskedError;
-
- /** TP_LFIR[22|23]
- * local errors from I2CS
- */
- (TpLFir, bit(22|23)) ? defaultMaskedError;
-
- /** TP_LFIR[24]
- * Local errors from OTP
- */
- (TpLFir, bit(24)) ? SelfHighThr1;
-
- /** TP_LFIR[25]
- * local error from Ext trigger
- */
- (TpLFir, bit(25)) ? defaultMaskedError;
-
- /** TP_LFIR[26]
- * Fast xstop fir error
- */
- (TpLFir, bit(26)) ? defaultMaskedError;
-
- /** TP_LFIR[27]
- * PCB mcast grp error
- */
- (TpLFir, bit(27)) ? SelfHighThr1;
-
- /** TP_LFIR[28]
- * PCB Parity error
- */
- (TpLFir, bit(28)) ? defaultMaskedError;
-
- /** TP_LFIR[29|30]
- * EECB lpc fir error
- */
- (TpLFir, bit(29|30)) ? defaultMaskedError;
-
- /** TP_LFIR[31|32]
- * EECB i2c fir error
- */
- (TpLFir, bit(31|32)) ? defaultMaskedError;
-
- /** TP_LFIR[33|34]
- * Local errors from PIBMEM
- */
- (TpLFir, bit(33|34)) ? defaultMaskedError;
-
- /** TP_LFIR[35]
- * OTP correctable error
- */
- (TpLFir, bit(35)) ? SelfHighThr1;
-
- /** TP_LFIR[36]
- * Deadman Timer
- */
- (TpLFir, bit(36)) ? deadManTimer;
-
- /** TP_LFIR[37|38|39]
- * Unused error
- */
- (TpLFir, bit(37|38|39)) ? defaultMaskedError;
-
- /** TP_LFIR[40]
- * Malfunction alert
- */
- (TpLFir, bit(40)) ? defaultMaskedError;
-
-};
-
-################################################################################
-# TP Chiplet OCCFIR
-################################################################################
-
-rule OccFir
-{
- CHECK_STOP: OCCFIR & ~OCCFIR_MASK & ~OCCFIR_ACT0 & ~OCCFIR_ACT1;
- RECOVERABLE: OCCFIR & ~OCCFIR_MASK & ~OCCFIR_ACT0 & OCCFIR_ACT1;
- SPECIAL: OCCFIR & ~OCCFIR_MASK & OCCFIR_ACT0 & ~OCCFIR_ACT1;
-};
-
-#based on spreadsheet p8dd1_mss_FFDC_51/60.xls
-group gOccFir filter singlebit,
- secondarybits( 10, 39 )
-{
- /** OCCFIR[0]
- * Cooling system error
- */
- (OccFir, bit(0)) ? coolingSystemError;
-
- /** OCCFIR[1]
- * OCC_SCOM_OCCFIR_OCC_FW1
- */
- (OccFir, bit(1)) ? defaultMaskedError;
-
- /** OCCFIR[2]
- * OCC_SCOM_OCCFIR_OCC_FW2
- */
- (OccFir, bit(2)) ? defaultMaskedError;
-
- /** OCCFIR[3]
- * OCC_SCOM_OCCFIR_OCC_FW3
- */
- (OccFir, bit(3)) ? defaultMaskedError;
-
- /** OCCFIR[4]
- * OCC_SCOM_OCCFIR_PMC_PORE_SW_MALF
- */
- (OccFir, bit(4)) ? defaultMaskedError;
-
- /** OCCFIR[5]
- * OCC_SCOM_OCCFIR_PMC_OCC_HB_MALF
- */
- (OccFir, bit(5)) ? defaultMaskedError;
-
- /** OCCFIR[6]
- * OCC_SCOM_OCCFIR_PORE_GPE0_FATAL_ERR
- */
- (OccFir, bit(6)) ? defaultMaskedError;
-
- /** OCCFIR[7]
- * OCC_SCOM_OCCFIR_PORE_GPE1_FATAL_ERR
- */
- (OccFir, bit(7)) ? defaultMaskedError;
-
- /** OCCFIR[8]
- * OCC_SCOM_OCCFIR_OCB_ERROR
- */
- (OccFir, bit(8)) ? defaultMaskedError;
-
- /** OCCFIR[9]
- * OCC_SCOM_OCCFIR_SRT_UE
- */
- (OccFir, bit(9)) ? defaultMaskedError;
-
- /** OCCFIR[10]
- * OCC_SCOM_OCCFIR_SRT_CE
- */
- (OccFir, bit(10)) ? thresholdAndMask_self;
-
- /** OCCFIR[11]
- * OCC_SCOM_OCCFIR_SRT_READ_ERROR
- */
- (OccFir, bit(11)) ? defaultMaskedError;
-
- /** OCCFIR[12]
- * OCC_SCOM_OCCFIR_SRT_WRITE_ERROR
- */
- (OccFir, bit(12)) ? defaultMaskedError;
-
- /** OCCFIR[13]
- * OCC_SCOM_OCCFIR_SRT_DATAOUT_PERR
- */
- (OccFir, bit(13)) ? defaultMaskedError;
-
- /** OCCFIR[14]
- * OCC_SCOM_OCCFIR_SRT_OCI_WRITE_DATA_PARITY
- */
- (OccFir, bit(14)) ? defaultMaskedError;
-
- /** OCCFIR[15]
- * OCC_SCOM_OCCFIR_SRT_OCI_BE_PARITY_ER
- */
- (OccFir, bit(15)) ? defaultMaskedError;
-
- /** OCCFIR[16]
- * OCC_SCOM_OCCFIR_SRT_OCI_ADDR_PARITY_ERR
- */
- (OccFir, bit(16)) ? defaultMaskedError;
-
- /** OCCFIR[17]
- * OCC_SCOM_OCCFIR_PORE_SW_ERROR_ERR
- */
- (OccFir, bit(17)) ? defaultMaskedError;
-
- /** OCCFIR[18]
- *OCC_SCOM_OCCFIR_PORE_GPE0_ERROR_ERR
- */
- (OccFir, bit(18)) ? defaultMaskedError;
-
- /** OCCFIR[19]
- * OCC_SCOM_OCCFIR_PORE_GPE1_ERROR_ERR
- */
- (OccFir, bit(19)) ? defaultMaskedError;
-
- /** OCCFIR[20]
- * OCC_SCOM_OCCFIR_EXTERNAL_TRAP
- */
- (OccFir, bit(20)) ? defaultMaskedError;
-
- /** OCCFIR[21]
- * OCC_SCOM_OCCFIR_PPC405_CORE_RESET
- */
- (OccFir, bit(21)) ? defaultMaskedError;
-
- /** OCCFIR[22]
- * OCC_SCOM_OCCFIR_PPC405_CHIP_RESET
- */
- (OccFir, bit(22)) ? defaultMaskedError;
-
- /** OCCFIR[23]
- * OCC_SCOM_OCCFIR_PPC405_SYSTEM_RESET
- */
- (OccFir, bit(23)) ? defaultMaskedError;
-
- /** OCCFIR[24]
- *OCC_SCOM_OCCFIR_PPC405_DBGMSRWE
- */
- (OccFir, bit(24)) ? defaultMaskedError;
-
- /** OCCFIR[25]
- * OCC_SCOM_OCCFIR_PPC405_DBGSTOPACK
- */
- (OccFir, bit(25)) ? defaultMaskedError;
-
- /** OCCFIR[26]
- * OCC_SCOM_OCCFIR_OCB_DB_OCI_TIMEOUT
- */
- (OccFir, bit(26)) ? SelfMedThr1NoGard;
-
- /** OCCFIR[27]
- * OCC_SCOM_OCCFIR_OCB_DB_OCI_READ_DATA_PARITY
- */
- (OccFir, bit(27)) ? SelfMedThr1NoGard;
-
- /** OCCFIR[28]
- * OCC_SCOM_OCCFIR_OCB_DB_OCI_SLAVE_ERROR
- */
- (OccFir, bit(28)) ? SelfMedThr1NoGard;
-
- /** OCCFIR[29]
- * OCC_SCOM_OCCFIR_OCB_PIB_ADDR_PARITY_ERR
- */
- (OccFir, bit(29)) ? SelfMedThr1NoGard;
-
- /** OCCFIR[30]
- * OCC_SCOM_OCCFIR_OCB_DB_PIB_DATA_PARITY_ERR
- */
- (OccFir, bit(30)) ? SelfMedThr1NoGard;
-
- /** OCCFIR[31]
- * OCC_SCOM_OCCFIR_OCB_IDC0_ERROR
- */
- (OccFir, bit(31)) ? defaultMaskedError;
-
- /** OCCFIR[32]
- * OCC_SCOM_OCCFIR_OCB_IDC1_ERROR
- */
- (OccFir, bit(32)) ? defaultMaskedError;
-
- /** OCCFIR[33]
- * OCC_SCOM_OCCFIR_OCB_IDC2_ERROR
- */
- (OccFir, bit(33)) ? defaultMaskedError;
-
- /** OCCFIR[34]
- * OCC_SCOM_OCCFIR_OCB_IDC3_ERROR
- */
- (OccFir, bit(34)) ? defaultMaskedError;
-
- /** OCCFIR[35]
- * OCC_SCOM_OCCFIR_SRT_FSM_ERR
- */
- (OccFir, bit(35)) ? defaultMaskedError;
-
- /** OCCFIR[36]
- * OCC_SCOM_OCCFIR_JTAGACC_ERR
- */
- (OccFir, bit(36)) ? defaultMaskedError;
-
- /** OCCFIR[37]
- * OCC_SCOM_OCCFIR_OCB_DW_ERR
- */
- (OccFir, bit(37)) ? defaultMaskedError;
-
- /** OCCFIR[38]
- * OCC_SCOM_OCCFIR_C405_ECC_UE
- */
- (OccFir, bit(38)) ? SelfMedThr1NoGard;
-
- /** OCCFIR[39]
- * OCC_SCOM_OCCFIR_C405_ECC_CE
- */
- (OccFir, bit(39)) ? thresholdAndMask_self;
-
- /** OCCFIR[40]
- * OCC_SCOM_OCCFIR_C405_OCI_MACHINECHECK
- */
- (OccFir, bit(40)) ? defaultMaskedError;
-
- /** OCCFIR[41]
- * OCC_SCOM_OCCFIR_SRAM_SPARE_DIRECT_ERROR0
- */
- (OccFir, bit(41)) ? defaultMaskedError;
-
- /** OCCFIR[42]
- * OCC_SCOM_OCCFIR_SRAM_SPARE_DIRECT_ERROR1
- */
- (OccFir, bit(42)) ? defaultMaskedError;
-
- /** OCCFIR[43]
- * OCC_SCOM_OCCFIR_SRAM_SPARE_DIRECT_ERROR2
- */
- (OccFir, bit(43)) ? defaultMaskedError;
-
- /** OCCFIR[44]
- * OCC_SCOM_OCCFIR_SRAM_SPARE_DIRECT_ERROR3
- */
- (OccFir, bit(44)) ? defaultMaskedError;
-
- /** OCCFIR[45]
- * OCC_SCOM_OCCFIR_SLW_OCISLV_ERR
- */
- (OccFir, bit(45)) ? SelfMedThr1NoGard;
-
- /** OCCFIR[46]
- * OCC_SCOM_OCCFIR_GPE_OCISLV_ERR
- */
- (OccFir, bit(46)) ? defaultMaskedError;
-
- /** OCCFIR[47]
- * OCC_SCOM_OCCFIR_OCB_OCISLV_ERR
- */
- (OccFir, bit(47)) ? defaultMaskedError;
-
- /** OCCFIR[48]
- * OCC_SCOM_OCCFIR_C405ICU_M_TIMEOUT
- */
- (OccFir, bit(48)) ? defaultMaskedError;
-
- /** OCCFIR[49]
- * OCC_SCOM_OCCFIR_C405DCU_M_TIMEOUT
- */
- (OccFir, bit(49)) ? defaultMaskedError;
-
- /** OCCFIR[50]
- * OCC initiated attention
- */
- (OccFir, bit(50)) ? occInitiatedAttn;
-
- /** OCCFIR[51|52|53|54|55|56|57|58|59|60|61]
- * OCC_SCOM_OCCLFIR_SPARE_FIR
- */
- (OccFir, bit(51|52|53|54|55|56|57|58|59|60|61)) ? defaultMaskedError;
-
- /** OCCFIR[62|63]
- * OCC_SCOM_OCCFIR_FIR_PARITY_ERR_DUP
- */
- (OccFir, bit(62|63)) ? defaultMaskedError;
-};
-
-################################################################################
-# TP Chiplet PBAMFIR
-################################################################################
-
-rule PbamFir
-{
- CHECK_STOP: PBAMFIR & ~PBAMFIR_MASK & ~PBAMFIR_ACT0 & ~PBAMFIR_ACT1;
- RECOVERABLE: PBAMFIR & ~PBAMFIR_MASK & ~PBAMFIR_ACT0 & PBAMFIR_ACT1;
-};
-
-group gPbamFir filter singlebit
-{
- /** PBAMFIR[0]
- * INVALID_TRANSFER_SIZE
- */
- (PbamFir, bit(0)) ? SelfHighThr1;
-
- /** PBAMFIR[1]
- * INVALID_COMMAND
- */
- (PbamFir, bit(1)) ? SelfHighThr1;
-
- /** PBAMFIR[2]
- * INVALID_ADDRESS_ALIGNMENT
- */
- (PbamFir, bit(2)) ? SelfHighThr1;
-
- /** PBAMFIR[3]
- * OPB_ERROR
- */
- (PbamFir, bit(3)) ? defaultMaskedError;
-
- /** PBAMFIR[4]
- * OPB_TIMEOUT
- */
- (PbamFir, bit(4)) ? SelfHighThr1;
-
- /** PBAMFIR[5]
- * OPB_MASTER_HANG_TIMEOUT
- */
- (PbamFir, bit(5)) ? SelfHighThr1;
-
- /** PBAMFIR[6]
- * CMD_BUFFER_PAR_ERR
- */
- (PbamFir, bit(6)) ? SelfHighThr1;
-
- /** PBAMFIR[7]
- * DAT_BUFFER_PAR_ERR
- */
- (PbamFir, bit(7)) ? SelfHighThr1;
-
- /** PBAMFIR[8]
- * RETURNQ_ERROR
- */
- (PbamFir, bit(8)) ? defaultMaskedError;
-
- /** PBAMFIR[9]
- * RESERVED
- */
- (PbamFir, bit(9)) ? defaultMaskedError;
-
- /** PBAMFIR[10|11]
- * FIR_PARITY_ERR
- */
- (PbamFir, bit(10|11)) ? defaultMaskedError;
-
-};
-
-################################################################################
-# TP Chiplet PMCFIR
-################################################################################
-
-rule PmcFir
-{
- CHECK_STOP: PMCFIR & ~PMCFIR_MASK & ~PMCFIR_ACT0 & ~PMCFIR_ACT1;
- RECOVERABLE: PMCFIR & ~PMCFIR_MASK & ~PMCFIR_ACT0 & PMCFIR_ACT1;
-};
-
-group gPmcFir filter singlebit
-{
- /** PMCFIR[0]
- * LFIR_PSTATE_OCI_MASTER_RDERR
- */
- (PmcFir, bit(0)) ? SelfHighThr1;
-
- /** PMCFIR[1]
- * LFIR_PSTATE_OCI_MASTER_RDDATA_PARITY_ERR
- */
- (PmcFir, bit(1)) ? SelfHighThr1;
-
- /** PMCFIR[2]
- * LFIR_PSTATE_GPST_CHECKBYTE_ERR
- */
- (PmcFir, bit(2)) ? SelfHighThr1;
-
- /** PMCFIR[3]
- * LFIR_PSTATE_GACK_TO_ERR
- */
- (PmcFir, bit(3)) ? SelfHighThr1;
-
- /** PMCFIR[4]
- * LFIR_PSTATE_PIB_MASTER_NONOFFLINE_ERR
- */
- (PmcFir, bit(4)) ? SelfHighThr1;
-
- /** PMCFIR[5]
- * LFIR_PSTATE_PIB_MASTER_OFFLINE_ERR
- */
- (PmcFir, bit(5)) ? SelfHighThr1;
-
- /** PMCFIR[6]
- * LFIR_PSTATE_OCI_MASTER_TO_ERR
- */
- (PmcFir, bit(6)) ? SelfHighThr1;
-
- /** PMCFIR[7]
- * LFIR_PSTATE_INTERCHIP_UE_ERR
- */
- (PmcFir, bit(7)) ? SelfHighThr1;
-
- /** PMCFIR[8]
- * LFIR_PSTATE_INTERCHIP_ERRORFRAME_ERR
- */
- (PmcFir, bit(8)) ? SelfHighThr1;
-
- /** PMCFIR[9]
- * LFIR_PSTATE_MS_FSM_ERR
- */
- (PmcFir, bit(9)) ? SelfHighThr1;
-
- /** PMCFIR[10]
- * LFIR_MS_COMP_PARITY_ERR
- */
- (PmcFir, bit(10)) ? defaultMaskedError;
-
- /** PMCFIR[11:17]
- * LFIR_IDLE
- */
- (PmcFir, bit(11|12|13|14|15|16|17)) ? defaultMaskedError;
-
- /** PMCFIR[18]
- * LFIR_INT_COMP_PARITY_ERR
- */
- (PmcFir, bit(18)) ? defaultMaskedError;
-
- /** PMCFIR[19]
- * LFIR_PMC_OCC_HEARTBEAT_TIMEOUT
- */
- (PmcFir, bit(19)) ? defaultMaskedError;
-
- /** PMCFIR[20:25]
- * LFIR_SPIVID
- */
- (PmcFir, bit(20|21|22|23|24|25)) ? defaultMaskedError;
-
- /** PMCFIR[26:32]
- * LFIR_O2S
- */
- (PmcFir, bit(26|27|28|29|30|31|32)) ? defaultMaskedError;
-
- /** PMCFIR[33:34]
- * LFIR_O2P
- */
- (PmcFir, bit(33|34)) ? defaultMaskedError;
-
- /** PMCFIR[35]
- * LFIR_OCI_SLAVE_ERR
- */
- (PmcFir, bit(35)) ? defaultMaskedError;
-
- /** PMCFIR[36]
- * LFIR_IF_COMP_PARITY_ERROR
- */
- (PmcFir, bit(36)) ? defaultMaskedError;
-
- /** PMCFIR[37]
- * SLW Malf Alert received by PHYP
- */
- (PmcFir, bit(37)) ? SLWRecovery;
-
- /** PMCFIR[38:46]
- * SPARE
- */
- (PmcFir, bit(38|39|40|41|42|43|44|45|46)) ? defaultMaskedError;
-
- /** PMCFIR[47|48]
- * FIR_PARITY_ERR
- */
- (PmcFir, bit(47|48)) ? defaultMaskedError;
-};
-
-########################################################################
-#
-# TOD Rules and Groups
-#
-########################################################################
-
-rule TodErrors
-{
- TOD_ERRORREGISTER & (~TOD_ERRORMASK) & (~TOD_ERRORACTION);
-};
-
-
-group gTodErrors filter singlebit
-{
- /** TOD_ERRORREGISTER[0]
- * M_PATH_CONTROL_REG_DATA_PARITY_ERROR
- */
- (TodErrors,bit(0)) ? defaultMaskedError;
-
- /** TOD_ERRORREGISTER[1]
- * M_PATH_0_PARITY_ERROR
- */
- (TodErrors,bit(1)) ? selfCapThr32TopReConfig;
-
- /** TOD_ERRORREGISTER[2]
- * M_PATH_1_PARITY_ERROR
- */
- (TodErrors,bit(2)) ? selfCapThr32TopReConfig;
-
- /** TOD_ERRORREGISTER[3]
- * PCRP0_DATA_PARITY_ERROR
- */
- (TodErrors,bit(3)) ? defaultMaskedError;
-
- /** TOD_ERRORREGISTER[4]
- * PCRP1_DATA_PARITY_ERROR
- */
- (TodErrors,bit(4)) ? defaultMaskedError;
-
- /** TOD_ERRORREGISTER[5]
- * SCRP0_DATA_PARITY_ERROR
- */
- (TodErrors,bit(5)) ? defaultMaskedError;
-
- /** TOD_ERRORREGISTER[6]
- * SCRP1_DATA_PARITY_ERROR
- */
- (TodErrors,bit(6)) ? defaultMaskedError;
-
- /** TOD_ERRORREGISTER[7]
- * SPCR_DATA_PARITY_ERROR
- */
- (TodErrors,bit(7)) ? defaultMaskedError;
-
- /** TOD_ERRORREGISTER[8]
- * IPCR_DATA_PARITY_ERROR
- */
- (TodErrors,bit(8)) ? defaultMaskedError;
-
- /** TOD_ERRORREGISTER[9]
- * PSMSCR_DATA_PARITY_ERROR
- */
- (TodErrors,bit(9)) ? defaultMaskedError;
-
- /** TOD_ERRORREGISTER[10]
- * S_PATH_0_PARITY_ERROr
- */
- (TodErrors,bit(10)) ? selfCapThr32TopReConfig;
-
- /** TOD_ERRORREGISTER[11]
- * REG_0X08_DATA_PARITY_ERROR
- */
- (TodErrors,bit(11)) ? selfCaptThr32;
-
-
- /** TOD_ERRORREGISTER[12]
- * M_PATH_STATUS_REG_DATA_PARITY_ERROR
- */
- (TodErrors,bit(12)) ? selfCaptThr32;
-
- /** TOD_ERRORREGISTER[13]
- * S_PATH_STATUS_REG_DATA_PARITY_ERROR
- */
- (TodErrors,bit(13)) ? selfCaptThr32;
-
- /** TOD_ERRORREGISTER[14]
- * M_PATH_0_STEP_CHECK_ERROR
- */
- (TodErrors,bit(14)) ? analyzeStepCheckErr;
-
- /** TOD_ERRORREGISTER[15]
- * M_PATH_1_STEP_CHECK_ERROR
- */
- (TodErrors,bit(15)) ? analyzeStepCheckErr;
-
- /** TOD_ERRORREGISTER[16]
- * S_PATH_0_STEP_CHECK_ERROR
- */
- (TodErrors,bit(16)) ? analyzeStepCheckErr;
-
- /** TOD_ERRORREGISTER[17]
- * I_PATH_STEP_CHECK_ERROR
- */
- (TodErrors,bit(17)) ? analyzeStepCheckErr;
-
- /** TOD_ERRORREGISTER[18]
- * PSS HAMMING DISTANCE
- */
- (TodErrors,bit(18)) ? selfCaptThr32;
-
- /** TOD_ERRORREGISTER[19]
- * MISC_RESET_REG_DATA_PARITY_ERROR
- */
- (TodErrors,bit(19)) ? selfCaptThr32;
-
- /** TOD_ERRORREGISTER[20]
- * S_PATH_0_PARITY_ERROR
- */
- (TodErrors,bit(20)) ? selfCapThr32TopReConfig;
-
- /** TOD_ERRORREGISTER[21]
- * S_PATH_1_STEP_CHECK_ERROR
- */
- (TodErrors,bit(21)) ? analyzeStepCheckErr;
-
- /** TOD_ERRORREGISTER[22]
- * I_PATH_DELAY_STEP_CHECK_PARITY_ERROR
- */
- (TodErrors,bit(22)) ? selfCapThr32TopReConfig;
-
- /** TOD_ERRORREGISTER[23]
- * REG_0X0C DATA_PARITY ERROR
- */
- (TodErrors,bit(23)) ? selfCaptThr32;
-
- /** TOD_ERRORREGISTER[24]
- * REG_0X11_0X12_0X13_0X14_0X15_0X16_DATA_PARITY_ERROR
- */
- (TodErrors,bit(24)) ? selfCaptThr32;
-
- /** TOD_ERRORREGISTER[25]
- * REG_0X17_0X18_0X21_0X22_DATA_PARITY_ERROR
- */
- (TodErrors,bit(25)) ? selfCaptThr32;
-
- /** TOD_ERRORREGISTER[26]
- * REG_0X1D_0X1E_0X1F_DATA_PARITY_ERROR
- */
- (TodErrors,bit(26)) ? selfCaptThr32;
-
- /** TOD_ERRORREGISTER[27]
- * TIMER_VALUE_REG_DATA_PARITY_ERROR
- */
- (TodErrors,bit(27)) ? selfCaptThr32;
-
- /** TOD_ERRORREGISTER[28]
- * LOW_ORDER_STEP_REG_DATA_PARITY_ERROR
- */
- (TodErrors,bit(28)) ? selfCaptThr32;
-
- /** TOD_ERRORREGISTER[29]
- * FSM_REG_DATA_PARITY_ERROR
- */
- (TodErrors,bit(29)) ? selfCaptThr32;
-
- /** TOD_ERRORREGISTER[30]
- * RX_TTYPE_CONTROL_REG_DATA_PARITY_ERROR
- */
- (TodErrors,bit(30)) ? selfCaptThr32;
-
- /** TOD_ERRORREGISTER[31]
- * REG_0X30_0X31_0X32_0X33_DATA_PARITY_ERROR
- */
- (TodErrors,bit(31)) ? selfCaptThr32;
-
- /** TOD_ERRORREGISTER[32]
- * CHIP_CONTROL_REG_DATA_PARITY_ERROR
- */
- (TodErrors,bit(32)) ? selfCaptThr32;
-
- /** TOD_ERRORREGISTER[33]
- * I_PATH_SYNC_CHECK_ERROR
- */
- (TodErrors,bit(33)) ? selfCaptThr32;
-
- /** TOD_ERRORREGISTER[34]
- * I_PATH_FSM_STATE_PARITY_ERROR
- */
- (TodErrors,bit(34)) ? selfCaptThr32;
-
- /** TOD_ERRORREGISTER[35]
- * I_PATH_TIME_REG_PARITY_ERROR
- */
- (TodErrors,bit(35)) ? selfCaptThr32;
-
- /** TOD_ERRORREGISTER[36]
- * I_PATH_TIME_REG_OVERFLOW
- */
- (TodErrors,bit(36)) ? maskTodError;
-
- /** TOD_ERRORREGISTER[37]
- * WOF_LOW_ORDER_STEP_COUNTER_PARITY_ERROR
- */
- (TodErrors,bit(37)) ? selfCaptThr32;
-
- /** TOD_ERRORREGISTER[38|39|40|41|42|43]
- * RX_TTYPE_1
- */
- (TodErrors,bit(38|39|40|41|42|43)) ? defaultMaskedError;
-
- #Note: For firmware all the TOD-PIB errors are informational by nature.So,
- # not doing any special analysis.
- /** TOD_ERRORREGISTER[44]
- * PIB_SLAVE_ADDR_INVALID_ERROR
- */
- (TodErrors,bit(44)) ? selfCaptThr32;
-
- /** TOD_ERRORREGISTER[45]
- * PIB_SLAVE_WRITE_INVALID_ERROR
- */
- (TodErrors,bit(45)) ? selfCaptThr32;
-
- /** TOD_ERRORREGISTER[46]
- * PIB_SLAVE_READ_INVALID_ERROR
- */
- (TodErrors,bit(46)) ? selfCaptThr32;
-
- /** TOD_ERRORREGISTER[47]
- * PIB_SLAVE_ADDR_PARITY_ERROR
- */
- (TodErrors,bit(47)) ? selfCaptThr32;
-
- /** TOD_ERRORREGISTER[48]
- * PIB_SLAVE_DATA_PARITY_ERROR
- */
- (TodErrors,bit(48)) ? selfCaptThr32;
-
- /** TOD_ERRORREGISTER[49]
- * TTYPE_CONTROL_REG_DATA_PARITY_ERROR
- */
- #Note: Based on discussion with with Hardware Team and PHYP, this error
- #shall be routed to PHYP instead of FSP
-
- (TodErrors,bit(49)) ? defaultMaskedError;
-
- /** TOD_ERRORREGISTER[50|51|52]
- * PIB_MASTER_RSP_INFO_ERROR
- */
- #ignoring TOD-PIB errors for any special analysis.Since erros are
- #informational by nature.
- (TodErrors,bit( 50|51|52 )) ? selfCaptThr32;
-
- /** TOD_ERRORREGISTER[53]
- * RX_TTYPE_INVALID_ERROR
- */
- (TodErrors,bit(53 )) ? selfCaptThr32;
-
- /** TOD_ERRORREGISTER[54]
- * RX_TTYPE_4_DATA_PARITY_ERROR
- */
- (TodErrors,bit(54)) ? selfCaptThr32;
-
- /** TOD_ERRORREGISTER[55]
- * PIB_MASTER_REQUEST_ERROR
- */
- (TodErrors,bit(55)) ? selfCaptThr32;
-
- /** TOD_ERRORREGISTER[56]
- * PIB_RESET_DURING_PIB_ACCESS_ERROR
- */
- (TodErrors,bit(56)) ? selfCaptThr32;
-
- /** TOD_ERRORREGISTER[57]
- * EXTERNAL_XSTOP_ERROR
- */
- #bit tells us that TOD has received an external check stop
- #purpose is to merely provide an information. Hence not doing any
- #analysis.
- (TodErrors,bit(57)) ? defaultMaskedError;
-
- #bit[58:63] not implemented
- /** TOD_ERRORREGISTER[58|59|60|61|62|63]
- * SPARE_ERROR
- */
- (TodErrors,bit(58|59|60|61|62|63)) ? defaultMaskedError;
-
-};
-
-################################################################################
-# Actions specific to TP chiplet
-################################################################################
-
-/** Analyze connected MCS 00 */
-actionclass analyzeMcs00
-{
- analyze(connected(TYPE_MCS, 0));
-};
-
-/** Analyze connected MCS 01 */
-actionclass analyzeMcs01
-{
- analyze(connected(TYPE_MCS, 1));
-};
-
-/** Analyze connected MCS 10 */
-actionclass analyzeMcs10
-{
- analyze(connected(TYPE_MCS, 2));
-};
-
-/** Analyze connected MCS 11 */
-actionclass analyzeMcs11
-{
- analyze(connected(TYPE_MCS, 3));
-};
-
-/** Analyze connected MCS 20 */
-actionclass analyzeMcs20
-{
- analyze(connected(TYPE_MCS, 4));
-};
-
-/** Analyze connected MCS 21 */
-actionclass analyzeMcs21
-{
- analyze(connected(TYPE_MCS, 5));
-};
-
-/** Analyze connected MCS 30 */
-actionclass analyzeMcs30
-{
- analyze(connected(TYPE_MCS, 6));
-};
-
-/** Analyze connected MCS 31 */
-actionclass analyzeMcs31
-{
- analyze(connected(TYPE_MCS, 7));
-};
-
-# This action is for the case where TP_LFIR[19] comes on
-# but PLL code fails to isolate to any PLL errors. The
-# threshold is the same as PLL one 2 per 5 mins with
-# callout/gard the chip at threshold along with PLL scom
-# data captured.
-/** PCB Slave Internal parity error action */
-actionclass PcbSlaveInternalParity
-{
- capture(PllFIRs);
- calloutSelfHigh;
- thresholdPll;
- funccall("AnalyzeParityErr");
- funccall("capturePllFfdc");
-};
-
-# TOD Actions:
-# * Get SH Content for all TOD errors.
-# * Capture at least this chip TOD registers.
-#
-# * Threshold normal TOD errors (TOD error register) at 32/day.
-#
-# * Network Errors : Step Check Fault or "PHYP Failed Topology"
-# - PHYP Failed Topology must be visible and "Request new Topology".
-# - May have PHYP failure on another chip.
-# - Capture TOD registers for whole system.
-# - Isolate both topologies and make callout.
-
-/**
- * Analyze TOD Register.
- */
-actionclass TodReportByRegister
-{
- dump(DUMP_CONTENT_SH);
- try(analyze(gTodErrors),TodRegisterAnalyzeFail);
-};
-
-actionclass TodRegisterAnalyzeFail
-{
- capture(TODReg);
- SelfHighThr1;
-};
-
-/**
- * PHYP Network fault.
- */
-actionclass TodReportByPHYP
-{
- dump(DUMP_CONTENT_SH);
- threshold1;
- funccall("todStepCheckFault");
-};
-
-/**
- * TOD Step Check Fault - Isolate topology.
- */
-actionclass analyzeStepCheckErr
-{
- threshold32pday;
- funccall("todStepCheckFault");
-};
-
-/** action for tod errors which do not need any specific ananlysis */
-
-actionclass selfCaptThr32
-{
- calloutSelfHigh;
- capture(TODReg);
- threshold32pday;
-};
-
-/**
- * Mask indication from PHYP due to all cores evacuated.
- * - Mask TOD errors from this chip.
- * - Not visible unless xstp.
- * - Request new topology if chip is MDMT.
- */
-actionclass maskTodError
-{
- threshold1;
- calloutSelfHigh;
- capture(TODReg);
- funccall("clearServiceCallFlag");
- funccall("todNewTopologyIfBackupMDMT");
-};
-
-/** callout the master core of the Proc */
-actionclass deadManTimer
-{
- funccall("deadManTimerCalloutAndFFDC");
- callout2ndLvlMed;
- threshold1;
- dumpSH;
-};
-
-/**
- * Handle SLW malfunction alert event
- */
-actionclass SLWRecovery
-{
- funccall("slwRecovery");
- threshold1;
-};
-
-/** callout Proc reporting error. If threshold reaches 32 per day, request
- * reconfiguration of topology.
- */
-actionclass selfCapThr32TopReConfig
-{
- capture(TODReg);
- selfCaptThr32;
- funccall("requestTopologySwitch");
-};
-
-/** analyzes backup topology if TOD error analysis is enabled */
-actionclass analyzeTodBackupTopology
-{
- try( funccall("isTodDisabled"), TodReportByRegister );
-};
-
-/** analyzes active topology if TOD error analysis is enabled */
-actionclass analyzePhypTodError
-{
- try( funccall("isTodDisabled"), TodReportByPHYP );
-};
-
-/** callout and gard self if TOD error analysis is enabled */
-actionclass analyzePibError
-{
- try( funccall("isTodDisabled"), SelfHighThr1 );
-};
-
-/** analyzes backup topology if TOD error analysis is enabled */
-actionclass analyzeTodBackupTopology
-{
- try( funccall("isTodDisabled"), TodReportByRegister );
-};
-
-/** analyzes active topology if TOD error analysis is enabled */
-actionclass analyzePhypTodError
-{
- try( funccall("isTodDisabled"), TodReportByPHYP );
-};
-
-/** callout and gard self if TOD error analysis is enabled */
-actionclass analyzePibError
-{
- capture(TODReg);
- try( funccall("isTodDisabled"), SelfHighThr1 );
-};
-
-/** Callout the cooling system error procedure */
-actionclass coolingSystemError
-{
- callout(procedure(COOLING_SYSTEM_ERR), MRU_MED);
- threshold1;
-};
-
-/** The OCC team wants this error log for FFDC. TMGT will make a callout if the
- * OCC is reset more than three times in a week. Adding a threshold to protect
- * from flooding. If the threshold is ever hit there is a code bug because the
- * OCC should never be reset that many times. So calling out 2nd level support
- * MED and the PROC LOW with no gard. */
-actionclass occInitiatedAttn
-{
- callout2ndLvlMed;
- calloutSelfLowNoGard;
- threshold32pday;
-};
-
diff --git a/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_XBUS.rule b/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_XBUS.rule
deleted file mode 100755
index 744d10c6b..000000000
--- a/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_XBUS.rule
+++ /dev/null
@@ -1,805 +0,0 @@
-# IBM_PROLOG_BEGIN_TAG
-# This is an automatically generated prolog.
-#
-# $Source: src/usr/diag/prdf/common/plat/pegasus/Proc_acts_XBUS.rule $
-#
-# OpenPOWER HostBoot Project
-#
-# Contributors Listed Below - COPYRIGHT 2012,2015
-# [+] 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
-
-################################################################################
-# XBUS Chiplet Registers
-################################################################################
-
-rule XbusChipletFir
-{
- CHECK_STOP:
- (XBUS_CHIPLET_CS_FIR & `1FC0000000000000`) & ~XBUS_CHIPLET_FIR_MASK;
- RECOVERABLE:
- ((XBUS_CHIPLET_RE_FIR >> 2) & `1FC0000000000000`) & ~XBUS_CHIPLET_FIR_MASK;
-};
-
-group gXbusChipletFir filter singlebit
-{
- /** XbusChipletFir[3]
- * Attention from LFIR
- */
- (XbusChipletFir, bit(3)) ? analyze(gXbusLFir);
-
- /** XbusChipletFir[4]
- * Attention from PBENFIR
- */
- (XbusChipletFir, bit(4)) ? analyze(gPbenFir);
-
- /** XbusChipletFir[5]
- * Attention from IOXFIR_0 (Venice only)
- */
- (XbusChipletFir, bit(5)) ? analyze(gIoxFir_0);
-
- /** XbusChipletFir[6]
- * Attention from IOXFIR_1
- */
- (XbusChipletFir, bit(6)) ? analyze(gIoxFir_1);
-
- /** XbusChipletFir[7]
- * Attention from IOXFIR_2 (Venice only)
- */
- (XbusChipletFir, bit(7)) ? analyze(gIoxFir_2);
-
- /** XbusChipletFir[8]
- * Attention from IOXFIR_3 (Venice only)
- */
- (XbusChipletFir, bit(8)) ? analyze(gIoxFir_3);
-
- /** XbusChipletFir[9]
- * Attention from PSIXBUSFIR
- */
- (XbusChipletFir, bit(9)) ? defaultMaskedError;
-};
-
-################################################################################
-# XBUS Chiplet LFIR
-################################################################################
-
-rule XbusLFir
-{
- CHECK_STOP: XBUS_LFIR & ~XBUS_LFIR_MASK & ~XBUS_LFIR_ACT0 & ~XBUS_LFIR_ACT1;
- RECOVERABLE: XBUS_LFIR & ~XBUS_LFIR_MASK & ~XBUS_LFIR_ACT0 & XBUS_LFIR_ACT1;
-};
-
-group gXbusLFir filter singlebit
-{
- /** XBUS_LFIR[0]
- * CFIR internal parity error
- */
- (XbusLFir, bit(0)) ? SelfHighThr32PerDay;
-
- /** XBUS_LFIR[1]
- * Local errors from GPIO (PCB error)
- */
- (XbusLFir, bit(1)) ? defaultMaskedError;
-
- /** XBUS_LFIR[2]
- * Local errors from CC (PCB error)
- */
- (XbusLFir, bit(2)) ? defaultMaskedError;
-
- /** XBUS_LFIR[3]
- * Local errors from CC (OPCG, parity, scan collision, ...)
- */
- (XbusLFir, bit(3)) ? defaultMaskedError;
-
- /** XBUS_LFIR[4]
- * Local errors from PSC (PCB error)
- */
- (XbusLFir, bit(4)) ? defaultMaskedError;
-
- /** XBUS_LFIR[5]
- * Local errors from PSC (parity error)
- */
- (XbusLFir, bit(5)) ? defaultMaskedError;
-
- /** XBUS_LFIR[6]
- * Local errors from Thermal (parity error)
- */
- (XbusLFir, bit(6)) ? defaultMaskedError;
-
- /** XBUS_LFIR[7]
- * Local errors from Thermal (PCB error)
- */
- (XbusLFir, bit(7)) ? defaultMaskedError;
-
- /** XBUS_LFIR[8|9]
- * Local errors from Thermal (Trip error)
- */
- (XbusLFir, bit(8|9)) ? defaultMaskedError;
-
- /** XBUS_LFIR[10:13]
- * Local errors from Trace Array ( error)
- */
- (XbusLFir, bit(10|11|12|13)) ? SelfHighThr32PerDay;
-
- /** XBUS_LFIR[14]
- * FIR_IN14: local errors from dcadj
- */
- (XbusLFir, bit(14)) ? SelfHighThr32PerDay;
-
- /** XBUS_LFIR[15:20]
- * FIR_IN14: local errors from dcadj
- */
- (XbusLFir, bit(15|16|17|18|19|20)) ? defaultMaskedError;
-
- /** XBUS_LFIR[21:30]
- * FIR_IN15: unused local error
- */
- (XbusLFir, bit(21|22|23|24|25|26|27|28|29|30)) ? defaultMaskedError;
-
- /** XBUS_LFIR[31:39]
- * FIR_IN15: unused local error
- */
- (XbusLFir, bit(31|32|33|34|35|36|37|38|39)) ? defaultMaskedError;
-
- /** XBUS_LFIR[40]
- * FIR_IN40:malfunction alert (local xstop in another chiplet)
- */
- (XbusLFir, bit(40)) ? defaultMaskedError;
-};
-
-################################################################################
-# XBUS Chiplet PBENFIR
-################################################################################
-
-#FIXME RTC 23127 We need to revisit the Firmware action
-#FabricBus_CE_With_Repair. Description is same as P7 but
-#it appears it may need change.This appilies to PBEN FIR.
-#calloutXbus0InterfaceTh5pDay may need modification.
-
-rule PbenFir
-{
- CHECK_STOP: PBENFIR & ~PBENFIR_MASK & ~PBENFIR_ACT0 & ~PBENFIR_ACT1;
- RECOVERABLE: PBENFIR & ~PBENFIR_MASK & ~PBENFIR_ACT0 & PBENFIR_ACT1;
-};
-
-group gPbenFir filter singlebit,
- secondarybits( 0, 3, 6, 9 )
-{
- /** PBENFIR[0]
- * X0_LINK_RCV_CE: x0 link rcv ce
- */
- (PbenFir, bit(0)) ? calloutXbus0InterfaceTh5pDay;
-
- /** PBENFIR[1]
- * X0_LINK_RCV_DERR: x0 link rcv derr
- */
- (PbenFir, bit(1)) ? defaultMaskedError;
-
- /** PBENFIR[2]
- * X0_LINK_RCV_UE: x0 link rcv ue
- */
- (PbenFir, bit(2)) ? calloutXbus0InterfaceTh1;
-
- /** PBENFIR[3]
- * X1_LINK_RCV_CE: x1 link rcv ce
- */
- (PbenFir, bit(3)) ? calloutXbus1InterfaceTh5pDay;
-
- /** PBENFIR[4]
- * X1_LINK_RCV_DERR: x1 link rcv derr
- */
- (PbenFir, bit(4)) ? defaultMaskedError;
-
- /** PBENFIR[5]
- * X1_LINK_RCV_UE: x1 link rcv ue
- */
- (PbenFir, bit(5)) ? calloutXbus1InterfaceTh1;
-
- /** PBENFIR[6]
- * X2_LINK_RCV_CE: x2 link rcv ce
- */
- (PbenFir, bit(6)) ? calloutXbus2InterfaceTh5pDay;
-
- /** PBENFIR[7]
- * X2_LINK_RCV_DERR: x2 link rcv derr
- */
- (PbenFir, bit(7)) ? defaultMaskedError;
-
- /** PBENFIR[8]
- * X2_LINK_RCV_UE: x2 link rcv ue
- */
- (PbenFir, bit(8)) ? calloutXbus2InterfaceTh1;
-
- /** PBENFIR[9]
- * X3_LINK_RCV_CE: x3 link rcv ce
- */
- (PbenFir, bit(9)) ? calloutXbus3InterfaceTh5pDay;
-
- /** PBENFIR[10]
- * X3_LINK_RCV_DERR: x3 link rcv derr
- */
- (PbenFir, bit(10)) ? defaultMaskedError;
-
- /** PBENFIR[11]
- * X3_LINK_RCV_UE: x3 link rcv ue
- */
- (PbenFir, bit(11)) ? calloutXbus3InterfaceTh1;
-
- /** PBENFIR[12]
- * X_LINK_SND_CE: x link rcv ce
- */
- (PbenFir, bit(12)) ? SelfHighThr5PerHour;
-
- /** PBENFIR[13]
- * X_LINK_SND_SUE: x link rcv sue
- */
- (PbenFir, bit(13)) ? defaultMaskedError;
-
- /** PBENFIR[14]
- * X_LINK_SND_UE: x link rcv ue
- */
- (PbenFir, bit(14)) ? SelfHighThr1;
-
- /** PBENFIR[15]
- * X_LINK_CR_OVERFLOW: x link command/response/data buffer overflow
- */
- (PbenFir, bit(15)) ? calloutProcLevel2MedThr1dumpShNoGard;
-
- /** PBENFIR[16]
- * X0_LINK_FMR_ERR: x0 link framer error
- */
- (PbenFir, bit(16)) ? SelfHighThr1;
-
- /** PBENFIR[17]
- * X1_LINK_FMR_ERR: x1 link framer error
- */
- (PbenFir, bit(17)) ? SelfHighThr1;
-
- /** PBENFIR[18]
- * X2_LINK_FMR_ERR: x2 link framer error
- */
- (PbenFir, bit(18)) ? SelfHighThr1;
-
- /** PBENFIR[19]
- * X3_LINK_FMR_ERR: x3 link framer error
- */
- (PbenFir, bit(19)) ? SelfHighThr1;
-
- /** PBENFIR[20]
- * X_LINK_PSR_ERR: x link parser error
- */
- (PbenFir, bit(20)) ? SelfHighThr1;
-
- /** PBENFIR[21:30]
- * Reserved
- */
- (PbenFir, bit(21|22|23|24|25|26|27|28|29|30)) ? defaultMaskedError;
-
- /** PBENFIR[31:35]
- * Reserved
- */
- (PbenFir, bit(31|32|33|34|35)) ? defaultMaskedError;
-
- /** PBENFIR[36:37]
- * FIR_SCOM_ERR: pben iox fir_scom_err
- */
- (PbenFir, bit(36|37)) ? defaultMaskedError;
-};
-
-################################################################################
-# XBUS Chiplet IOXFIR_0
-################################################################################
-
-rule IoxFir_0
-{
- CHECK_STOP: IOXFIR_0 & ~IOXFIR_0_MASK & ~IOXFIR_0_ACT0 & ~IOXFIR_0_ACT1;
- RECOVERABLE: IOXFIR_0 & ~IOXFIR_0_MASK & ~IOXFIR_0_ACT0 & IOXFIR_0_ACT1;
-};
-
-group gIoxFir_0 filter singlebit,
- secondarybits( 9 )
-{
- /** IOXFIR_0[0]
- * FIR_RX_INVALID_STATE_OR_PARITY_ERROR
- */
- (IoxFir_0, bit(0)) ? defaultMaskedError;
-
- /** IOXFIR_0[1]
- * FIR_TX_INVALID_STATE_OR_PARITY_ERROR
- */
- (IoxFir_0, bit(1)) ? defaultMaskedError;
-
- /** IOXFIR_0[2]
- * FIR_GCR_HANG_ERROR
- */
- (IoxFir_0, bit(2)) ? calloutXbus0InterfaceTh1;
-
- /** IOXFIR_0[3:7]
- * Reserved
- */
- (IoxFir_0, bit(3|4|5|6|7)) ? defaultMaskedError;
-
- /** IOXFIR_0[8]
- * Training Error
- */
- (IoxFir_0, bit(8)) ? defaultMaskedError;
-
- /** IOXFIR_0[9]
- * Spare Deployed
- */
- (IoxFir_0, bit(9)) ? spareDeployed_xbus0;
-
- /** IOXFIR_0[10]
- * Max Spares Exceeded
- */
- (IoxFir_0, bit(10)) ? maxSparesExceeded_xbus0;
-
- /** IOXFIR_0[11]
- * Recalibration or Dynamic Repair Error
- */
- (IoxFir_0, bit(11)) ? defaultMaskedError;
-
- /** IOXFIR_0[12]
- * Too Many Bus Errors
- */
- (IoxFir_0, bit(12)) ? tooManyBusErrors_xbus0;
-
- /** IOXFIR_0[13:15]
- * Reserved
- */
- (IoxFir_0, bit(13|14|15)) ? defaultMaskedError;
-
- /** IOXFIR_0[16:23]
- * FIR_RX_BUS1 unused
- */
- (IoxFir_0, bit(16|17|18|19|20|21|22|23)) ? defaultMaskedError;
-
- /** IOXFIR_0[24:31]
- * FIR_RX_BUS2 unused
- */
- (IoxFir_0, bit(24|25|26|27|28|29|30|31)) ? defaultMaskedError;
-
- /** IOXFIR_0[32:39]
- * FIR_RX_BUS3 unused
- */
- (IoxFir_0, bit(32|33|34|35|36|37|38|39)) ? defaultMaskedError;
-
- /** IOXFIR_0[40:47]
- * FIR_RX_BUS4 unused
- */
- (IoxFir_0, bit(40|41|42|43|44|45|46|47)) ? defaultMaskedError;
-
- /** IOXFIR_0[48]
- * FIR_SCOMFIR_ERROR
- */
- (IoxFir_0, bit(48)) ? defaultMaskedError;
-
- /** IOXFIR_0[49]
- * FIR_SCOMFIR_ERROR_CLONE
- */
- (IoxFir_0, bit(49)) ? defaultMaskedError;
-};
-
-################################################################################
-# XBUS Chiplet IOXFIR_1
-################################################################################
-
-rule IoxFir_1
-{
- CHECK_STOP: IOXFIR_1 & ~IOXFIR_1_MASK & ~IOXFIR_1_ACT0 & ~IOXFIR_1_ACT1;
- RECOVERABLE: IOXFIR_1 & ~IOXFIR_1_MASK & ~IOXFIR_1_ACT0 & IOXFIR_1_ACT1;
-};
-
-group gIoxFir_1 filter singlebit,
- secondarybits( 9 )
-{
- /** IOXFIR_1[0]
- * FIR_RX_INVALID_STATE_OR_PARITY_ERROR
- */
- (IoxFir_1, bit(0)) ? defaultMaskedError;
-
- /** IOXFIR_1[1]
- * FIR_TX_INVALID_STATE_OR_PARITY_ERROR
- */
- (IoxFir_1, bit(1)) ? defaultMaskedError;
-
- /** IOXFIR_1[2]
- * FIR_GCR_HANG_ERROR
- */
- (IoxFir_1, bit(2)) ? calloutXbus1InterfaceTh1;
-
- /** IOXFIR_1[3:7]
- * Reserved
- */
- (IoxFir_1, bit(3|4|5|6|7)) ? defaultMaskedError;
-
- /** IOXFIR_1[8]
- * Training Error
- */
- (IoxFir_1, bit(8)) ? defaultMaskedError;
-
- /** IOXFIR_1[9]
- * Spare Deployed
- */
- (IoxFir_1, bit(9)) ? spareDeployed_xbus1;
-
- /** IOXFIR_1[10]
- * Max Spares Exceeded
- */
- (IoxFir_1, bit(10)) ? maxSparesExceeded_xbus1;
-
- /** IOXFIR_1[11]
- * Recalibration or Dynamic Repair Error
- */
- (IoxFir_1, bit(11)) ? defaultMaskedError;
-
- /** IOXFIR_1[12]
- * Too Many Bus Errors
- */
- (IoxFir_1, bit(12)) ? tooManyBusErrors_xbus1;
-
- /** IOXFIR_1[13:15]
- * Reserved
- */
- (IoxFir_1, bit(13|14|15)) ? defaultMaskedError;
-
- /** IOXFIR_1[16:23]
- * FIR_RX_BUS1 unused
- */
- (IoxFir_1, bit(16|17|18|19|20|21|22|23)) ? defaultMaskedError;
-
- /** IOXFIR_1[24:31]
- * FIR_RX_BUS2 unused
- */
- (IoxFir_1, bit(24|25|26|27|28|29|30|31)) ? defaultMaskedError;
-
- /** IOXFIR_1[32:39]
- * FIR_RX_BUS3 unused
- */
- (IoxFir_1, bit(32|33|34|35|36|37|38|39)) ? defaultMaskedError;
-
- /** IOXFIR_1[40:47]
- * FIR_RX_BUS4 unused
- */
- (IoxFir_1, bit(40|41|42|43|44|45|46|47)) ? defaultMaskedError;
-
- /** IOXFIR_1[48]
- * FIR_SCOMFIR_ERROR
- */
- (IoxFir_1, bit(48)) ? defaultMaskedError;
-
- /** IOXFIR_1[49]
- * FIR_SCOMFIR_ERROR_CLONE
- */
- (IoxFir_1, bit(49)) ? defaultMaskedError;
-};
-
-################################################################################
-# XBUS Chiplet IOXFIR_2
-################################################################################
-
-rule IoxFir_2
-{
- CHECK_STOP: IOXFIR_2 & ~IOXFIR_2_MASK & ~IOXFIR_2_ACT0 & ~IOXFIR_2_ACT1;
- RECOVERABLE: IOXFIR_2 & ~IOXFIR_2_MASK & ~IOXFIR_2_ACT0 & IOXFIR_2_ACT1;
-};
-
-group gIoxFir_2 filter singlebit,
- secondarybits( 9 )
-{
- /** IOXFIR_2[0]
- * FIR_RX_INVALID_STATE_OR_PARITY_ERROR
- */
- (IoxFir_2, bit(0)) ? defaultMaskedError;
-
- /** IOXFIR_2[1]
- * FIR_TX_INVALID_STATE_OR_PARITY_ERROR
- */
- (IoxFir_2, bit(1)) ? defaultMaskedError;
-
- /** IOXFIR_2[2]
- * FIR_GCR_HANG_ERROR
- */
- (IoxFir_2, bit(2)) ? calloutXbus2InterfaceTh1;
-
- /** IOXFIR_2[3:7]
- * Reserved
- */
- (IoxFir_2, bit(3|4|5|6|7)) ? defaultMaskedError;
-
- /** IOXFIR_2[8]
- * Training Error
- */
- (IoxFir_2, bit(8)) ? defaultMaskedError;
-
- /** IOXFIR_2[9]
- * Spare Deployed
- */
- (IoxFir_2, bit(9)) ? spareDeployed_xbus2;
-
- /** IOXFIR_2[10]
- * Max Spares Exceeded
- */
- (IoxFir_2, bit(10)) ? maxSparesExceeded_xbus2;
-
- /** IOXFIR_2[11]
- * Recalibration or Dynamic Repair Error
- */
- (IoxFir_2, bit(11)) ? defaultMaskedError;
-
- /** IOXFIR_2[12]
- * Too Many Bus Errors
- */
- (IoxFir_2, bit(12)) ? tooManyBusErrors_xbus2;
-
- /** IOXFIR_2[13:15]
- * Reserved
- */
- (IoxFir_2, bit(13|14|15)) ? defaultMaskedError;
-
- /** IOXFIR_2[16:23]
- * FIR_RX_BUS1 unused
- */
- (IoxFir_2, bit(16|17|18|19|20|21|22|23)) ? defaultMaskedError;
-
- /** IOXFIR_2[24:31]
- * FIR_RX_BUS2 unused
- */
- (IoxFir_2, bit(24|25|26|27|28|29|30|31)) ? defaultMaskedError;
-
- /** IOXFIR_2[32:39]
- * FIR_RX_BUS3 unused
- */
- (IoxFir_2, bit(32|33|34|35|36|37|38|39)) ? defaultMaskedError;
-
- /** IOXFIR_2[40:47]
- * FIR_RX_BUS4 unused
- */
- (IoxFir_2, bit(40|41|42|43|44|45|46|47)) ? defaultMaskedError;
-
- /** IOXFIR_2[48]
- * FIR_SCOMFIR_ERROR
- */
- (IoxFir_2, bit(48)) ? defaultMaskedError;
-
- /** IOXFIR_2[49]
- * FIR_SCOMFIR_ERROR_CLONE
- */
- (IoxFir_2, bit(49)) ? defaultMaskedError;
-};
-
-################################################################################
-# XBUS Chiplet IOXFIR_3
-################################################################################
-
-rule IoxFir_3
-{
- CHECK_STOP: IOXFIR_3 & ~IOXFIR_3_MASK & ~IOXFIR_3_ACT0 & ~IOXFIR_3_ACT1;
- RECOVERABLE: IOXFIR_3 & ~IOXFIR_3_MASK & ~IOXFIR_3_ACT0 & IOXFIR_3_ACT1;
-};
-
-group gIoxFir_3 filter singlebit,
- secondarybits( 9 )
-{
- /** IOXFIR_3[0]
- * FIR_RX_INVALID_STATE_OR_PARITY_ERROR
- */
- (IoxFir_3, bit(0)) ? defaultMaskedError;
-
- /** IOXFIR_3[1]
- * FIR_TX_INVALID_STATE_OR_PARITY_ERROR
- */
- (IoxFir_3, bit(1)) ? defaultMaskedError;
-
- /** IOXFIR_3[2]
- * FIR_GCR_HANG_ERROR
- */
- (IoxFir_3, bit(2)) ? calloutXbus3InterfaceTh1;
-
- /** IOXFIR_3[3:7]
- * Reserved
- */
- (IoxFir_3, bit(3|4|5|6|7)) ? defaultMaskedError;
-
- /** IOXFIR_3[8]
- * Training Error
- */
- (IoxFir_3, bit(8)) ? defaultMaskedError;
-
- /** IOXFIR_3[9]
- * Spare Deployed
- */
- (IoxFir_3, bit(9)) ? spareDeployed_xbus3;
-
- /** IOXFIR_3[10]
- * Max Spares Exceeded
- */
- (IoxFir_3, bit(10)) ? maxSparesExceeded_xbus3;
-
- /** IOXFIR_3[11]
- * Recalibration or Dynamic Repair Error
- */
- (IoxFir_3, bit(11)) ? defaultMaskedError;
-
- /** IOXFIR_3[12]
- * Too Many Bus Errors
- */
- (IoxFir_3, bit(12)) ? tooManyBusErrors_xbus3;
-
- /** IOXFIR_3[13:15]
- * Reserved
- */
- (IoxFir_3, bit(13|14|15)) ? defaultMaskedError;
-
- /** IOXFIR_3[16:23]
- * FIR_RX_BUS1 unused
- */
- (IoxFir_3, bit(16|17|18|19|20|21|22|23)) ? defaultMaskedError;
-
- /** IOXFIR_3[24:31]
- * FIR_RX_BUS2 unused
- */
- (IoxFir_3, bit(24|25|26|27|28|29|30|31)) ? defaultMaskedError;
-
- /** IOXFIR_3[32:39]
- * FIR_RX_BUS3 unused
- */
- (IoxFir_3, bit(32|33|34|35|36|37|38|39)) ? defaultMaskedError;
-
- /** IOXFIR_3[40:47]
- * FIR_RX_BUS4 unused
- */
- (IoxFir_3, bit(40|41|42|43|44|45|46|47)) ? defaultMaskedError;
-
- /** IOXFIR_3[48]
- * FIR_SCOMFIR_ERROR
- */
- (IoxFir_3, bit(48)) ? defaultMaskedError;
-
- /** IOXFIR_3[49]
- * FIR_SCOMFIR_ERROR_CLONE
- */
- (IoxFir_3, bit(49)) ? defaultMaskedError;
-};
-
-################################################################################
-# Actions specific to XBUS chiplet
-################################################################################
-
-/** Callout the XBUS 0 interface */
-actionclass calloutXbus0Interface
-{
- callout(connected(TYPE_XBUS, 0), MRU_MEDA);
- callout(connected_peer(TYPE_XBUS, 0), MRU_MEDA);
- funccall("calloutInterface_xbus0");
-};
-
-/** Callout the XBUS 1 interface */
-actionclass calloutXbus1Interface
-{
- callout(connected(TYPE_XBUS, 1), MRU_MEDA);
- callout(connected_peer(TYPE_XBUS, 1), MRU_MEDA);
- funccall("calloutInterface_xbus1");
-};
-
-/** Callout the XBUS 2 interface */
-actionclass calloutXbus2Interface
-{
- callout(connected(TYPE_XBUS, 2), MRU_MEDA);
- callout(connected_peer(TYPE_XBUS, 2), MRU_MEDA);
- funccall("calloutInterface_xbus2");
-};
-
-/** Callout the XBUS 3 interface */
-actionclass calloutXbus3Interface
-{
- callout(connected(TYPE_XBUS, 3), MRU_MEDA);
- callout(connected_peer(TYPE_XBUS, 3), MRU_MEDA);
- funccall("calloutInterface_xbus3");
-};
-
-/** Callout the XBUS 0 interface, threshold 1 */
-actionclass calloutXbus0InterfaceTh1 { calloutXbus0Interface; threshold1; };
-
-/** Callout the XBUS 1 interface, threshold 1 */
-actionclass calloutXbus1InterfaceTh1 { calloutXbus1Interface; threshold1; };
-
-/** Callout the XBUS 2 interface, threshold 1 */
-actionclass calloutXbus2InterfaceTh1 { calloutXbus2Interface; threshold1; };
-
-/** Callout the XBUS 3 interface, threshold 1 */
-actionclass calloutXbus3InterfaceTh1 { calloutXbus3Interface; threshold1; };
-
-/** Lane Repair: spare deployed - XBUS 0 */
-actionclass spareDeployed_xbus0
-{ calloutXbus0Interface; funccall("spareDeployed_xbus0"); };
-
-/** Lane Repair: max spares exceeded - XBUS 0 */
-actionclass maxSparesExceeded_xbus0
-{ calloutXbus0InterfaceTh1; funccall("maxSparesExceeded_xbus0"); };
-
-/** Lane Repair: too many bus errors - XBUS 0 */
-actionclass tooManyBusErrors_xbus0
-{ calloutXbus0InterfaceTh1; funccall("tooManyBusErrors_xbus0"); };
-
-/** Lane Repair: spare deployed - XBUS 1 */
-actionclass spareDeployed_xbus1
-{ calloutXbus1Interface; funccall("spareDeployed_xbus1"); };
-
-/** Lane Repair: max spares exceeded - XBUS 1 */
-actionclass maxSparesExceeded_xbus1
-{ calloutXbus1InterfaceTh1; funccall("maxSparesExceeded_xbus1"); };
-
-/** Lane Repair: too many bus errors - XBUS 1 */
-actionclass tooManyBusErrors_xbus1
-{ calloutXbus1InterfaceTh1; funccall("tooManyBusErrors_xbus1"); };
-
-/** Lane Repair: spare deployed - XBUS 2 */
-actionclass spareDeployed_xbus2
-{ calloutXbus2Interface; funccall("spareDeployed_xbus2"); };
-
-/** Lane Repair: max spares exceeded - XBUS 2 */
-actionclass maxSparesExceeded_xbus2
-{ calloutXbus2InterfaceTh1; funccall("maxSparesExceeded_xbus2"); };
-
-/** Lane Repair: too many bus errors - XBUS 2 */
-actionclass tooManyBusErrors_xbus2
-{ calloutXbus2InterfaceTh1; funccall("tooManyBusErrors_xbus2"); };
-
-/** Lane Repair: spare deployed - XBUS 3 */
-actionclass spareDeployed_xbus3
-{ calloutXbus3Interface; funccall("spareDeployed_xbus3"); };
-
-/** Lane Repair: max spares exceeded - XBUS 3 */
-actionclass maxSparesExceeded_xbus3
-{ calloutXbus3InterfaceTh1; funccall("maxSparesExceeded_xbus3"); };
-
-/** Lane Repair: too many bus errors - XBUS 3 */
-actionclass tooManyBusErrors_xbus3
-{ calloutXbus3InterfaceTh1; funccall("tooManyBusErrors_xbus3"); };
-
-/** Threshold 5 per day, mask but do not predictively callout XBUS 0 */
-actionclass calloutXbus0InterfaceTh5pDay
-{
- calloutXbus0Interface;
- threshold5pday;
- funccall("ClearServiceCallFlag");
-};
-
-/** Threshold 5 per day, mask but do not predictively callout XBUS 1 */
-actionclass calloutXbus1InterfaceTh5pDay
-{
- calloutXbus1Interface;
- threshold5pday;
- funccall("ClearServiceCallFlag");
-};
-
-/** Threshold 5 per day, mask but do not predictively callout XBUS 2 */
-actionclass calloutXbus2InterfaceTh5pDay
-{ calloutXbus2Interface;
- threshold5pday;
- funccall("ClearServiceCallFlag");
-};
-
-/** Threshold 5 per day, mask but do not predictively callout XBUS 3 */
-actionclass calloutXbus3InterfaceTh5pDay
-{
- calloutXbus3Interface;
- threshold5pday;
- funccall("ClearServiceCallFlag");
-};
-
diff --git a/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_common.rule b/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_common.rule
deleted file mode 100755
index c9add00df..000000000
--- a/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_common.rule
+++ /dev/null
@@ -1,208 +0,0 @@
-# IBM_PROLOG_BEGIN_TAG
-# This is an automatically generated prolog.
-#
-# $Source: src/usr/diag/prdf/common/plat/pegasus/Proc_acts_common.rule $
-#
-# OpenPOWER HostBoot Project
-#
-# Contributors Listed Below - COPYRIGHT 2015
-# [+] 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
- ##############################################################################
- # #
- # #### # #
- # # # # # # ##### ### # # # ## ##### ### ### # # ### #
- # # # # # # # # # # # # # # # # # ## # # #
- # #### # # # #### ### # ####### # # # # # # # # ### #
- # # # # # # # # # # # # # # # # # # ## # #
- # # # ### #### ##### ### # # # ## # ### ### # # ### #
- # #
- ##############################################################################
-
-################################################################################
-# Global Broadcast Registers
-################################################################################
-
-#CS and RE in MuranoVenice and Naples specific rule files
-
-rule GlobalSpa
-{
- SPECIAL: GLOBAL_SPA;
-};
-
-group gGlobalSpa attntype SPECIAL filter singlebit
-{
- /** GLOBAL_SPA[1]
- * Attention from TP chiplet
- */
- (GlobalSpa, bit(1)) ? analyze(gTpChipletSpa);
-
- /** GLOBAL_SPA[2]
- * Attention from PB chiplet
- */
- (GlobalSpa, bit(2)) ? analyze(gPbChipletSpa);
-
- /** GLOBAL_SPA[9]
- * Attention from PCIE
- */
- (GlobalSpa, bit(9)) ? analyze(gPcieChipletSpa);
-
- /** GLOBAL_SPA[11]
- * Attention from EX1 (Venice only)
- */
- (GlobalSpa, bit(11)) ? analyzeEx1;
-
- /** GLOBAL_SPA[12]
- * Attention from EX2 (Venice only)
- */
- (GlobalSpa, bit(12)) ? analyzeEx2;
-
- /** GLOBAL_SPA[13]
- * Attention from EX3 (Venice only)
- */
- (GlobalSpa, bit(13)) ? analyzeEx3;
-
- /** GLOBAL_SPA[14]
- * Attention from EX4
- */
- (GlobalSpa, bit(14)) ? analyzeEx4;
-
- /** GLOBAL_SPA[15]
- * Attention from EX5
- */
- (GlobalSpa, bit(15)) ? analyzeEx5;
-
- /** GLOBAL_SPA[16]
- * Attention from EX6
- */
- (GlobalSpa, bit(16)) ? analyzeEx6;
-
- /** GLOBAL_SPA[19]
- * Attention from EX9 (Venice only)
- */
- (GlobalSpa, bit(19)) ? analyzeEx9;
-
- /** GLOBAL_SPA[20]
- * Attention from EX10 (Venice only)
- */
- (GlobalSpa, bit(20)) ? analyzeEx10;
-
- /** GLOBAL_SPA[21]
- * Attention from EX11 (Venice only)
- */
- (GlobalSpa, bit(21)) ? analyzeEx11;
-
- /** GLOBAL_SPA[22]
- * Attention from EX12
- */
- (GlobalSpa, bit(22)) ? analyzeEx12;
-
- /** GLOBAL_SPA[23]
- * Attention from EX13
- */
- (GlobalSpa, bit(23)) ? analyzeEx13;
-
- /** GLOBAL_SPA[24]
- * Attention from EX14
- */
- (GlobalSpa, bit(24)) ? analyzeEx14;
-};
-
- ##############################################################################
- # #
- # # ### #
- # # # ## ##### ### ### # # # # # # ### ### ### ### #
- # # # # # # # # # ## # # # # # # # # # #
- # ####### # # # # # # # # # # ##### ### ### ## ### #
- # # # # # # # # # # ## # # # # # # # # # #
- # # # ## # ### ### # # ### ### # # ### ### ### ### #
- # #
- ##############################################################################
-
-
-################################################################################
-# Analyze Connected Parts #
-################################################################################
-
-/** Analyze connected EX1 */
-actionclass analyzeEx1 { analyze(connected(TYPE_EX, 1)); };
-
-/** Analyze connected EX2 */
-actionclass analyzeEx2 { analyze(connected(TYPE_EX, 2)); };
-
-/** Analyze connected EX3 */
-actionclass analyzeEx3 { analyze(connected(TYPE_EX, 3)); };
-
-/** Analyze connected EX4 */
-actionclass analyzeEx4 { analyze(connected(TYPE_EX, 4)); };
-
-/** Analyze connected EX5 */
-actionclass analyzeEx5 { analyze(connected(TYPE_EX, 5)); };
-
-/** Analyze connected EX6 */
-actionclass analyzeEx6 { analyze(connected(TYPE_EX, 6)); };
-
-/** Analyze connected EX9 */
-actionclass analyzeEx9 { analyze(connected(TYPE_EX, 9)); };
-
-/** Analyze connected EX10 */
-actionclass analyzeEx10 { analyze(connected(TYPE_EX, 10)); };
-
-/** Analyze connected EX11 */
-actionclass analyzeEx11 { analyze(connected(TYPE_EX, 11)); };
-
-/** Analyze connected EX12 */
-actionclass analyzeEx12 { analyze(connected(TYPE_EX, 12)); };
-
-/** Analyze connected EX13 */
-actionclass analyzeEx13 { analyze(connected(TYPE_EX, 13)); };
-
-/** Analyze connected EX14 */
-actionclass analyzeEx14 { analyze(connected(TYPE_EX, 14)); };
-
-actionclass calloutProcLevel2MedThr1
-{
- calloutSelfLow;
- callout2ndLvlMed;
- threshold1;
-};
-
-/** callout Proc with low priority ,Sec level Med priority, Thr1
- * and dump type SH, garding not done */
-actionclass calloutProcLevel2MedThr1dumpShNoGard
-{
- calloutSelfLowNoGard;
- callout2ndLvlMedThr1;
- dumpSH;
-};
-
-/** callout Proc with low priority ,Sec level Med priority, Thr 32per day
- * and dump type SH , garding not done */
-actionclass calloutProcLevel2MedThr32dumpShNoGard
-{
- calloutSelfLow;
- callout2ndLvlMed;
- threshold32pday;
- dumpSH;
-};
-
-actionclass calloutProcHighThr1SUE
-{
- calloutSelfHigh;
- SUEGenerationPoint;
- threshold1;
-};
diff --git a/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_ABUS.rule b/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_ABUS.rule
deleted file mode 100755
index dd604358c..000000000
--- a/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_ABUS.rule
+++ /dev/null
@@ -1,190 +0,0 @@
-# IBM_PROLOG_BEGIN_TAG
-# This is an automatically generated prolog.
-#
-# $Source: src/usr/diag/prdf/common/plat/pegasus/Proc_regs_ABUS.rule $
-#
-# OpenPOWER HostBoot Project
-#
-# Contributors Listed Below - COPYRIGHT 2012,2015
-# [+] 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
-
-################################################################################
-#
-# Chiplet Register Adddresses Description
-# ======= ======================= ============================================
-# ABUS 0x08000000 - 0x0800FFFF ABUS pervasive logic (Murano/Venice only)
-#
-################################################################################
-
- ############################################################################
- # ABUS Chiplet Registers
- ############################################################################
-
- register ABUS_CHIPLET_CS_FIR
- {
- name "ES.PBES_WRAP_TOP.TPC.XFIR";
- scomaddr 0x08040000;
- capture group default;
- };
-
- register ABUS_CHIPLET_RE_FIR
- {
- name "ES.PBES_WRAP_TOP.TPC.RFIR";
- scomaddr 0x08040001;
- capture group default;
- };
-
- register ABUS_CHIPLET_FIR_MASK
- {
- name "ES.PBES_WRAP_TOP.TPC.FIR_MASK";
- scomaddr 0x08040002;
- capture group default;
- };
-
- ############################################################################
- # ABUS Chiplet LFIR
- ############################################################################
-
- register ABUS_LFIR
- {
- name "ES.PBES_WRAP_TOP.TPC.LOCAL_FIR";
- scomaddr 0x0804000a;
- reset (&, 0x0804000b);
- mask (|, 0x0804000f);
- capture group default;
- };
-
- register ABUS_LFIR_MASK
- {
- name "ES.PBES_WRAP_TOP.TPC.EPS.FIR.LOCAL_FIR_MASK";
- scomaddr 0x0804000d;
- capture group default;
- };
-
- register ABUS_LFIR_ACT0
- {
- name "ES.PBES_WRAP_TOP.TPC.EPS.FIR.LOCAL_FIR_ACTION0";
- scomaddr 0x08040010;
- capture type secondary;
- capture group default;
- capture req nonzero("ABUS_LFIR");
- };
-
- register ABUS_LFIR_ACT1
- {
- name "ES.PBES_WRAP_TOP.TPC.EPS.FIR.LOCAL_FIR_ACTION1";
- scomaddr 0x08040011;
- capture type secondary;
- capture group default;
- capture req nonzero("ABUS_LFIR");
- };
-
- ############################################################################
- # ABUS Chiplet PBESFIR
- ############################################################################
-
- register PBESFIR
- {
- name "ES.PBES_WRAP_TOP.PBES_TOP.MISC_IO.SCOM.PB_IOA_FIR_REG";
- scomaddr 0x08010800;
- reset (&, 0x08010801);
- mask (|, 0x08010805);
- capture group default;
- };
-
- register PBESFIR_MASK
- {
- name "ES.PBES_WRAP_TOP.PBES_TOP.MISC_IO.SCOM.PB_IOA_FIR_MASK_REG";
- scomaddr 0x08010803;
- capture group default;
- };
-
- register PBESFIR_ACT0
- {
- name "ES.PBES_WRAP_TOP.PBES_TOP.MISC_IO.SCOM.PB_IOA_FIR_ACTION0_REG";
- scomaddr 0x08010806;
- capture type secondary;
- capture group default;
- capture req nonzero("PBESFIR");
- };
-
- register PBESFIR_ACT1
- {
- name "ES.PBES_WRAP_TOP.PBES_TOP.MISC_IO.SCOM.PB_IOA_FIR_ACTION1_REG";
- scomaddr 0x08010807;
- capture type secondary;
- capture group default;
- capture req nonzero("PBESFIR");
- };
-
- ############################################################################
- # ABUS Chiplet IOAFIR
- ############################################################################
-
- register IOAFIR
- {
- name "ABUS.BUSCTL.SCOM.FIR_REG";
- scomaddr 0x08010c00;
- reset (&, 0x08010c01);
- mask (|, 0x08010c05);
- capture group default;
- };
-
- register IOAFIR_MASK
- {
- name "ABUS.BUSCTL.SCOM.FIR_MASK_REG";
- scomaddr 0x08010c03;
- capture group default;
- };
-
- register IOAFIR_ACT0
- {
- name "ABUS.BUSCTL.SCOM.FIR_ACTION0_REG";
- scomaddr 0x08010c06;
- capture type secondary;
- capture group default;
- capture req nonzero("IOAFIR");
- };
-
- register IOAFIR_ACT1
- {
- name "ABUS.BUSCTL.SCOM.FIR_ACTION1_REG";
- scomaddr 0x08010c07;
- capture type secondary;
- capture group default;
- capture req nonzero("IOAFIR");
- };
-
- ############################################################################
- # ABUS Chiplet PLL Registers
- ############################################################################
-
- register ABUS_ERROR_REG
- {
- name "EH.TPCHIP.NET.PCBSLAB.ERROR_REG";
- scomaddr 0x080F001F;
- capture group PllFIRs;
- };
-
- register ABUS_CONFIG_REG
- {
- name "EH.TPCHIP.NET.PCBSLAB.SLAVE_CONFIG_REG";
- scomaddr 0x080F001E;
- capture group PllFIRs;
- };
-
diff --git a/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_NV.rule b/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_NV.rule
deleted file mode 100755
index d83a2beba..000000000
--- a/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_NV.rule
+++ /dev/null
@@ -1,227 +0,0 @@
-# IBM_PROLOG_BEGIN_TAG
-# This is an automatically generated prolog.
-#
-# $Source: src/usr/diag/prdf/common/plat/pegasus/Proc_regs_NV.rule $
-#
-# OpenPOWER HostBoot Project
-#
-# Contributors Listed Below - COPYRIGHT 2015
-# [+] 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
-
-################################################################################
-#
-# Chiplet Register Adddresses Description
-# ======= ======================= ============================================
-# NV 0x08000000 - 0x0800FFFF NV pervasive logic (Naples only)
-#
-################################################################################
-
- ############################################################################
- # NV Chiplet Registers
- ############################################################################
-
- register NV_CHIPLET_CS_FIR
- {
- name "NV_WRAP_TOP.TPC.XFIR";
- scomaddr 0x08040000;
- capture group default;
- };
-
- register NV_CHIPLET_RE_FIR
- {
- name "NV_WRAP_TOP.TPC.RFIR";
- scomaddr 0x08040001;
- capture group default;
- };
-
- register NV_CHIPLET_FIR_MASK
- {
- name "NV_WRAP_TOP.TPC.FIR_MASK";
- scomaddr 0x08040002;
- capture group default;
- };
-
- ############################################################################
- # NV Chiplet LFIR
- ############################################################################
-
- register NV_LFIR
- {
- name "NV_WRAP_TOP.TPC.LOCAL_FIR";
- scomaddr 0x0804000a;
- reset (&, 0x0804000b);
- mask (|, 0x0804000f);
- capture group default;
- };
-
- register NV_LFIR_MASK
- {
- name "NV_WRAP_TOP.TPC.EPS.FIR.LOCAL_FIR_MASK";
- scomaddr 0x0804000d;
- capture group default;
- };
-
- register NV_LFIR_ACT0
- {
- name "NV_WRAP_TOP.TPC.EPS.FIR.LOCAL_FIR_ACTION0";
- scomaddr 0x08040010;
- capture type secondary;
- capture group default;
- capture req nonzero("NV_LFIR");
- };
-
- register NV_LFIR_ACT1
- {
- name "NV_WRAP_TOP.TPC.EPS.FIR.LOCAL_FIR_ACTION1";
- scomaddr 0x08040011;
- capture type secondary;
- capture group default;
- capture req nonzero("NV_LFIR");
- };
-
- ############################################################################
- # NV Chiplet IONVFIR_0
- ############################################################################
-
- register IONVFIR_0
- {
- name "NVBUS0.BUSCTL.SCOM.FIR_REG";
- scomaddr 0x08010c00;
- reset (&, 0x08010c01);
- mask (|, 0x08010c05);
- capture group default;
- };
-
- register IONVFIR_0_MASK
- {
- name "NVBUS0.BUSCTL.SCOM.FIR_MASK_REG";
- scomaddr 0x08010c03;
- capture group default;
- };
-
- register IONVFIR_0_ACT0
- {
- name "NVBUS0.BUSCTL.SCOM.FIR_ACTION0_REG";
- scomaddr 0x08010c06;
- capture type secondary;
- capture group default;
- capture req nonzero("IONVFIR_0");
- };
-
- register IONVFIR_0_ACT1
- {
- name "NVBUS0.BUSCTL.SCOM.FIR_ACTION1_REG";
- scomaddr 0x08010c07;
- capture type secondary;
- capture group default;
- capture req nonzero("IONVFIR_0");
- };
-
- ############################################################################
- # NV Chiplet IONVFIR_1
- ############################################################################
-
- register IONVFIR_1
- {
- name "NVBUS1.BUSCTL.SCOM.FIR_REG";
- scomaddr 0x08010c40;
- reset (&, 0x08010c41);
- mask (|, 0x08010c45);
- capture group default;
- };
-
- register IONVFIR_1_MASK
- {
- name "NVBUS1.BUSCTL.SCOM.FIR_MASK_REG";
- scomaddr 0x08010c43;
- capture group default;
- };
-
- register IONVFIR_1_ACT0
- {
- name "NVBUS1.BUSCTL.SCOM.FIR_ACTION0_REG";
- scomaddr 0x08010c46;
- capture type secondary;
- capture group default;
- capture req nonzero("IONVFIR_1");
- };
-
- register IONVFIR_1_ACT1
- {
- name "NVBUS1.BUSCTL.SCOM.FIR_ACTION1_REG";
- scomaddr 0x08010c47;
- capture type secondary;
- capture group default;
- capture req nonzero("IONVFIR_1");
- };
-
- ############################################################################
- # NV Chiplet NPUFIR
- ############################################################################
-
- register NPUFIR
- {
- name "ES.NPU.NP_AT.REG.FIR_REG";
- scomaddr 0x08013d80;
- reset (&, 0x08013d81);
- mask (|, 0x08013d85);
- capture group default;
- };
-
- register NPUFIR_MASK
- {
- name "ES.NPU.NP_AT.REG.FIR_MASK_REG";
- scomaddr 0x08013d83;
- capture group default;
- };
-
- register NPUFIR_ACT0
- {
- name "ES.NPU.NP_AT.REG.FIR_ACTION0_REG";
- scomaddr 0x08013d86;
- capture type secondary;
- capture group default;
- capture req nonzero("NPUFIR");
- };
-
- register NPUFIR_ACT1
- {
- name "ES.NPU.NP_AT.REG.FIR_ACTION1_REG";
- scomaddr 0x08013d87;
- capture type secondary;
- capture group default;
- capture req nonzero("NPUFIR");
- };
-
- ############################################################################
- # NV Chiplet PLL Registers
- ############################################################################
-
- register NV_ERROR_REG
- {
- name "EH.TPCHIP.NET.PCBSLNV.ERROR_REG";
- scomaddr 0x080F001F;
- capture group PllFIRs;
- };
-
- register NV_CONFIG_REG
- {
- name "EH.TPCHIP.NET.PCBSLNV.SLAVE_CONFIG_REG";
- scomaddr 0x080F001E;
- capture group PllFIRs;
- };
diff --git a/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_PB.rule b/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_PB.rule
deleted file mode 100755
index ec465dfb2..000000000
--- a/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_PB.rule
+++ /dev/null
@@ -1,1237 +0,0 @@
-# IBM_PROLOG_BEGIN_TAG
-# This is an automatically generated prolog.
-#
-# $Source: src/usr/diag/prdf/common/plat/pegasus/Proc_regs_PB.rule $
-#
-# OpenPOWER HostBoot Project
-#
-# Contributors Listed Below - COPYRIGHT 2012,2015
-# [+] 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
-
-################################################################################
-#
-# Chiplet Register Adddresses Description
-# ======= ======================= ============================================
-# PB 0x02000000 - 0x02FFFFFF PB pervasive logic, note that this does
-# include the SCOM addresses characterized by
-# the MCS target. See Mcs.rule for those
-# address ranges.
-#
-################################################################################
-
- ############################################################################
- # PB Chiplet Registers
- ############################################################################
-
- register PB_CHIPLET_CS_FIR
- {
- name "EH.TPC.XFIR";
- scomaddr 0x02040000;
- capture group default;
- };
-
- register PB_CHIPLET_RE_FIR
- {
- name "EH.TPC.RFIR";
- scomaddr 0x02040001;
- capture group default;
- };
-
- register PB_CHIPLET_FIR_MASK
- {
- name "EH.TPC.FIR_MASK";
- scomaddr 0x02040002;
- capture group default;
- };
-
- register PB_CHIPLET_SPA
- {
- name "EH.TPC.EPS.FIR.SPATTN";
- scomaddr 0x02040004;
- capture group default;
- };
-
- register PB_CHIPLET_SPA_MASK
- {
- name "EH.TPC.EPS.FIR.SPA_MASK";
- scomaddr 0x02040007;
- capture group default;
- };
-
- ############################################################################
- # PB Chiplet LFIR
- ############################################################################
-
- register PB_LFIR
- {
- name "EH.TPC.LOCAL_FIR";
- scomaddr 0x0204000a;
- reset (&, 0x0204000b);
- mask (|, 0x0204000f);
- capture group default;
- };
-
- register PB_LFIR_MASK
- {
- name "EH.TPC.EPS.FIR.LOCAL_FIR_MASK";
- scomaddr 0x0204000d;
- capture group default;
- };
-
- register PB_LFIR_ACT0
- {
- name "EH.TPC.EPS.FIR.LOCAL_FIR_ACTION0";
- scomaddr 0x02040010;
- capture type secondary;
- capture group default;
- capture req nonzero("PB_LFIR");
- };
-
- register PB_LFIR_ACT1
- {
- name "EH.TPC.EPS.FIR.LOCAL_FIR_ACTION1";
- scomaddr 0x02040011;
- capture type secondary;
- capture group default;
- capture req nonzero("PB_LFIR");
- };
-
- ############################################################################
- # PB Chiplet NXDMAENGFIR
- ############################################################################
-
- register NXDMAENGFIR
- {
- name "EN.NX.DBG.NX_DMA_ENG_FIR";
- scomaddr 0x02013100;
- reset (&, 0x02013101);
- mask (|, 0x02013105);
- capture group default;
- };
-
- register NXDMAENGFIR_MASK
- {
- name "EN.NX.DBG.NX_DMA_ENG_FIR_MASK";
- scomaddr 0x02013103;
- capture group default;
- };
-
- register NXDMAENGFIR_MASK_OR
- {
- name "EN.NX.DBG.NX_DMA_ENG_FIR_MASK_OR";
- scomaddr 0x02013105;
- capture group never;
- access write_only;
- };
-
- register NXDMAENGFIR_ACT0
- {
- name "EN.NX.DBG.NX_DMA_ENG_FIR_ACTION0";
- scomaddr 0x02013106;
- capture type secondary;
- capture group default;
- capture req nonzero("NXDMAENGFIR");
- };
-
- register NXDMAENGFIR_ACT1
- {
- name "EN.NX.DBG.NX_DMA_ENG_FIR_ACTION1";
- scomaddr 0x02013107;
- capture type secondary;
- capture group default;
- capture req nonzero("NXDMAENGFIR");
- };
-
- register NXDMAENG_ERROR_REPORT_0
- {
- name "EN.NX.DMA.SU_DMA_ERROR_REPORT_0";
- scomaddr 0x02013057;
- capture group default;
- capture group CerrRegs;
- };
-
- register NXDMAENG_ERROR_REPORT_1
- {
- name "EN.NX.DMA.SU_DMA_ERROR_REPORT_1";
- scomaddr 0x02013058;
- capture group default;
- capture group CerrRegs;
- };
-
- ############################################################################
- # PB Chiplet NXCQFIR
- ############################################################################
-
- register NXCQFIR
- {
- name "EN.NX.PBI.CQ_WRAP.NXCQ_SCOM.NX_CQ_FIR_REG";
- scomaddr 0x02013080;
- reset (&, 0x02013081);
- mask (|, 0x02013085);
- capture group default;
- };
-
- register NXCQFIR_MASK
- {
- name "EN.NX.PBI.CQ_WRAP.NXCQ_SCOM.NX_CQ_FIR_MASK_REG";
- scomaddr 0x02013083;
- capture group default;
- };
-
- register NXCQFIR_ACT0
- {
- name "EN.NX.PBI.CQ_WRAP.NXCQ_SCOM.NX_CQ_FIR_ACTION0_REG";
- scomaddr 0x02013086;
- capture type secondary;
- capture group default;
- capture req nonzero("NXCQFIR");
- };
-
- register NXCQFIR_ACT1
- {
- name "EN.NX.PBI.CQ_WRAP.NXCQ_SCOM.NX_CQ_FIR_ACTION1_REG";
- scomaddr 0x02013087;
- capture type secondary;
- capture group default;
- capture req nonzero("NXCQFIR");
- };
-
- register NXCQFIR_ERROR_REPORT_0
- {
- name "EN.NX.PBI.CQ_WRAP.NXCQ_SCOM.NX_PB_ERR_RPT_0";
- scomaddr 0x020130A2;
- capture group default;
- capture group CerrRegs;
- };
-
- register NXCQFIR_ERROR_REPORT_1
- {
- name "EN.NX.PBI.CQ_WRAP.NXCQ_SCOM.NX_PB_ERR_RPT_1";
- scomaddr 0x020130A3;
- capture group default;
- capture group CerrRegs;
- };
-
- ############################################################################
- # PB Chiplet NXASFIR
- ############################################################################
-
- # NXASFIR has been modeled merely to collect FFDC. No attentions are
- # expected from it.
- register NXASFIR
- {
- name "EN.NX.AS.FIR_REG";
- scomaddr 0x020130c0;
- capture group default;
- };
-
- register NXASFIR_MASK
- {
- name "EN.NX.AS.FIR_MASK_REG";
- scomaddr 0x020130c3;
- capture group default;
- };
-
- register NXASFIR_IN_ERROR_HOLD_REPORT
- {
- name "EN.NX.AS.AS_IN_ERROR_HOLD";
- scomaddr 0x020130EB;
- capture group default;
- capture group CerrRegs;
- };
-
- register NXASFIR_ERROR_HOLD_REPORT
- {
- name "EN.NX.AS.AS_ERROR_HOLD";
- scomaddr 0x020130FF;
- capture group default;
- capture group CerrRegs;
- };
-
- register NXASFIR_EG_ERROR_HOLD_REPORT
- {
- name "EN.NX.AS.AS_EG_RLM.AS_EG_ERROR_HOLD";
- scomaddr 0x0201314E;
- capture req funccall("isMuranoDD1");
- capture group default;
- capture group CerrRegs;
- };
-
- register NXASFIR_CE_HOLD_REPORT
- {
- name "EN.NX.AS.AS_EG_RLM.AS_EG_CE_HOLD";
- scomaddr 0x0201314F;
- capture group default;
- capture group CerrRegs;
- };
-
- ############################################################################
- # PB Chiplet NXCXAFIR_0
- ############################################################################
-
- register NXCXAFIR_0
- {
- name "EN.NX.CXA0.CXA_XPT.XPT_SCOMFIR.FIR_REG";
- scomaddr 0x02013000;
- reset (&, 0x02013001);
- mask (|, 0x02013005);
- capture group default;
- };
-
- register NXCXAFIR_0_MASK
- {
- name "EN.NX.CXA0.CXA_XPT.XPT_SCOMFIR.FIR_MASK_REG";
- scomaddr 0x02013003;
- capture group default;
- };
-
- register NXCXAFIR_0_ACT0
- {
- name "EN.NX.CXA0.CXA_XPT.XPT_SCOMFIR.FIR_ACTION0_REG";
- scomaddr 0x02013006;
- capture type secondary;
- capture group default;
- capture req nonzero("NXCXAFIR_0");
- };
-
- register NXCXAFIR_0_ACT1
- {
- name "EN.NX.CXA0.CXA_XPT.XPT_SCOMFIR.FIR_ACTION1_REG";
- scomaddr 0x02013007;
- capture type secondary;
- capture group default;
- capture req nonzero("NXCXAFIR_0");
- };
-
- register NXCXAFIR_0_SNP_ERROR_REPORT
- {
- name "EN.NX.CXA0.CXA_SNPFE.SNP_REGS.CXA_SNP_ERROR_REPORT_REG";
- scomaddr 0x0201300A;
- capture group default;
- capture group CerrRegs;
- };
-
- register NXCXAFIR_0_APC1_ERROR_REPORT
- {
- name "EN.NX.CXA0.CXA_APC1.ERRRPT";
- scomaddr 0x0201300B;
- capture group default;
- capture group CerrRegs;
- };
-
- register NXCXAFIR_0_XPT_ERROR_REPORT
- {
- name "EN.NX.CXA0.XPT_ERROR_REPORT";
- scomaddr 0x0201300C;
- capture group default;
- capture group CerrRegs;
- };
-
- register NXCXAFIR_0_TLBI_ERROR_REPORT
- {
- name "EN.NX.CXA0.CXA_XPT.XPT_SCOMFIR.TLBI_ERROR_REPORT";
- scomaddr 0x0201300D;
- capture group default;
- capture group CerrRegs;
- };
-
- ############################################################################
- # PB Chiplet NXCXAFIR_1
- ############################################################################
-
- # This FIR only exists on Naples. So we will have a conditional capture
- # below, which is common on all P8/P8+ chips.
-
- register NXCXAFIR_1
- {
- name "EN.NX.CXA1.CXA_XPT.XPT_SCOMFIR.FIR_REG";
- scomaddr 0x02013180;
- reset (&, 0x02013181);
- mask (|, 0x02013185);
- capture req funccall("isNaplesProc");
- capture group default;
- };
-
- register NXCXAFIR_1_MASK
- {
- name "EN.NX.CXA1.CXA_XPT.XPT_SCOMFIR.FIR_MASK_REG";
- scomaddr 0x02013183;
- capture req funccall("isNaplesProc");
- capture group default;
- };
-
- register NXCXAFIR_1_ACT0
- {
- name "EN.NX.CXA1.CXA_XPT.XPT_SCOMFIR.FIR_ACTION0_REG";
- scomaddr 0x02013186;
- capture type secondary;
- capture req funccall("isNaplesProc");
- capture group default;
- capture req nonzero("NXCXAFIR_1");
- };
-
- register NXCXAFIR_1_ACT1
- {
- name "EN.NX.CXA1.CXA_XPT.XPT_SCOMFIR.FIR_ACTION1_REG";
- scomaddr 0x02013187;
- capture type secondary;
- capture req funccall("isNaplesProc");
- capture group default;
- capture req nonzero("NXCXAFIR_1");
- };
-
- register NXCXAFIR_1_SNP_ERROR_REPORT
- {
- name "EN.NX.CXA1.CXA_SNPFE.SNP_REGS.CXA_SNP_ERROR_REPORT_REG";
- scomaddr 0x0201318A;
- capture req funccall("isNaplesProc");
- capture group default;
- capture group CerrRegs;
- };
-
- register NXCXAFIR_1_APC1_ERROR_REPORT
- {
- name "EN.NX.CXA1.CXA_APC1.ERRRPT";
- scomaddr 0x0201318B;
- capture req funccall("isNaplesProc");
- capture group default;
- capture group CerrRegs;
- };
-
- register NXCXAFIR_1_XPT_ERROR_REPORT
- {
- name "EN.NX.CXA1.XPT_ERROR_REPORT";
- scomaddr 0x0201318C;
- capture req funccall("isNaplesProc");
- capture group default;
- capture group CerrRegs;
- };
-
- register NXCXAFIR_1_TLBI_ERROR_REPORT
- {
- name "EN.NX.CXA1.CXA_XPT.XPT_SCOMFIR.TLBI_ERROR_REPORT";
- scomaddr 0x0201318D;
- capture req funccall("isNaplesProc");
- capture group default;
- capture group CerrRegs;
- };
-
- ############################################################################
- # PB Chiplet MCDFIR
- ############################################################################
-
- register MCDFIR
- {
- name "EH.PB.MCD.MCDCTL.FIR_REG";
- scomaddr 0x02013400;
- reset (&, 0x02013401);
- mask (|, 0x02013405);
- capture group default;
- };
-
- register MCDFIR_MASK
- {
- name "EH.PB.MCD.MCDCTL.FIR_MASK_REG";
- scomaddr 0x02013403;
- capture group default;
- };
-
- register MCDFIR_ACT0
- {
- name "EH.PB.MCD.MCDCTL.FIR_ACTION0_REG";
- scomaddr 0x02013406;
- capture type secondary;
- capture group default;
- capture req nonzero("MCDFIR");
- };
-
- register MCDFIR_ACT1
- {
- name "EH.PB.MCD.MCDCTL.FIR_ACTION1_REG";
- scomaddr 0x02013407;
- capture type secondary;
- capture group default;
- capture req nonzero("MCDFIR");
- };
-
- register MCDFIR_ERROR_REPORT
- {
- name "EH.PB.MCD.MCDCTL.MCD_ERPT";
- scomaddr 0x02013419;
- capture group default;
- capture group CerrRegs;
- };
-
- ############################################################################
- # PB Chiplet PBWESTFIR
- ############################################################################
-
- register PBWESTFIR
- {
- name "EH.PB.MISC.PB_WEST_FIR_REG";
- scomaddr 0x02010c00;
- reset (&, 0x02010c01);
- mask (|, 0x02010c05);
- capture group default;
- };
-
- register PBWESTFIR_MASK
- {
- name "EH.PB.MISC.PB_WEST_FIR_MASK_REG";
- scomaddr 0x02010c03;
- capture group default;
- };
-
- register PBWESTFIR_ACT0
- {
- name "EH.PB.MISC.PB_WEST_FIR_ACTION0_REG";
- scomaddr 0x02010c06;
- capture type secondary;
- capture group default;
- capture req nonzero("PBWESTFIR");
- };
-
- register PBWESTFIR_ACT1
- {
- name "EH.PB.MISC.PB_WEST_FIR_ACTION1_REG";
- scomaddr 0x02010c07;
- capture type secondary;
- capture group default;
- capture req nonzero("PBWESTFIR");
- };
-
- ############################################################################
- # PB Chiplet PBCENTFIR
- ############################################################################
-
- register PBCENTFIR
- {
- name "EH.PB.MISC.PB_CENT_FIR_REG";
- scomaddr 0x02010c40;
- reset (&, 0x02010c41);
- mask (|, 0x02010c45);
- capture group default;
- };
-
- register PBCENTFIR_MASK
- {
- name "EH.PB.MISC.PB_CENT_FIR_MASK_REG";
- scomaddr 0x02010c43;
- capture group default;
- };
-
- register PBCENTFIR_ACT1
- {
- name "EH.PB.MISC.PB_CENT_FIR_ACTION1_REG";
- scomaddr 0x02010c47;
- capture type secondary;
- capture group default;
- capture req nonzero("PBCENTFIR");
- };
-
- register PBCENTFIR_ACT0
- {
- name "EH.PB.MISC.PB_CENT_FIR_ACTION0_REG";
- scomaddr 0x02010c46;
- capture type secondary;
- capture group default;
- capture req nonzero("PBCENTFIR");
- };
-
- register PB_CENT_MODE
- {
- name "EH.PB.MISC.PB_CENT_MODE";
- scomaddr 0x02010C4A;
- capture group PbCentMode;
- };
-
- ############################################################################
- # PB Chiplet PBEASTFIR
- ############################################################################
-
- register PBEASTFIR
- {
- name "EH.PB.MISC.PB_EAST_FIR_REG";
- scomaddr 0x02010c80;
- reset (&, 0x02010c81);
- mask (|, 0x02010c85);
- capture group default;
- };
-
- register PBEASTFIR_MASK
- {
- name "EH.PB.MISC.PB_EAST_FIR_MASK_REG";
- scomaddr 0x02010c83;
- capture group default;
- };
-
- register PBEASTFIR_ACT0
- {
- name "EH.PB.MISC.PB_EAST_FIR_ACTION0_REG";
- scomaddr 0x02010c86;
- capture type secondary;
- capture group default;
- capture req nonzero("PBEASTFIR");
- };
-
- register PBEASTFIR_ACT1
- {
- name "EH.PB.MISC.PB_EAST_FIR_ACTION1_REG";
- scomaddr 0x02010c87;
- capture type secondary;
- capture group default;
- capture req nonzero("PBEASTFIR");
- };
-
- # c_err_rpt for PBWESTFIR, PBCENTFIR, and PBEASTFIR
- register PB_CENT_CR_ERROR
- {
- name "EH.PB.MISC.PB_CENT_CR_ERROR";
- scomaddr 0x02010c6c;
- capture group default;
- capture group CerrRegs;
- };
-
- ############################################################################
- # PB Chiplet PBEXTFIR
- ############################################################################
-
- # External checkstop register - Used for FFDC only
- # Any attention generated from this FIR register indicates that there was a
- # checkstop attention raised on another chip. Currently, we do not do any
- # additional analysis in this FIR because we assume we will get an interrupt
- # from the offending chip. This FIR will set PB_CHIPLET_FIR[2] which is
- # currently ignored.
-
- register PBEXTFIR
- {
- name "EH.PB.MISC.EXTFIR_REG";
- scomaddr 0x02010c6e;
- capture group default;
- };
-
- ############################################################################
- # PB Chiplet PSIHBFIR
- ############################################################################
-
- register PSIHBFIR
- {
- name "EN.TPC.PSIHB.PSIHB_FIR_REG";
- scomaddr 0x02010900;
- reset (&, 0x02010901);
- mask (|, 0x02010905);
- capture group default;
- };
-
- register PSIHBFIR_MASK
- {
- name "EN.TPC.PSIHB.PSIHB_FIR_MASK_REG";
- scomaddr 0x02010903;
- capture group default;
- };
-
- register PSIHBFIR_ACT0
- {
- name "EN.TPC.PSIHB.PSIHB_FIR_ACTION0_REG";
- scomaddr 0x02010906;
- capture type secondary;
- capture group default;
- capture req nonzero("PSIHBFIR");
- };
-
- register PSIHBFIR_ACT1
- {
- name "EN.TPC.PSIHB.PSIHB_FIR_ACTION1_REG";
- scomaddr 0x02010907;
- capture type secondary;
- capture group default;
- capture req nonzero("PSIHBFIR");
- };
-
- ############################################################################
- # PB Chiplet ICPFIR
- ############################################################################
-
- register ICPFIR
- {
- name "EN.TPC.INTP.SYNC_FIR_REG";
- scomaddr 0x020109c0;
- reset (&, 0x020109c1);
- mask (|, 0x020109c5);
- capture group default;
- };
-
- register ICPFIR_MASK
- {
- name "EN.TPC.INTP.SYNC_FIR_MASK_REG";
- scomaddr 0x020109c3;
- capture group default;
- };
-
- register ICPFIR_ACT0
- {
- name "EN.TPC.INTP.SYNC_FIR_ACTION0_REG";
- scomaddr 0x020109c6;
- capture type secondary;
- capture group default;
- capture req nonzero("ICPFIR");
- };
-
- register ICPFIR_ACT1
- {
- name "EN.TPC.INTP.SYNC_FIR_ACTION1_REG";
- scomaddr 0x020109c7;
- capture type secondary;
- capture group default;
- capture req nonzero("ICPFIR");
- };
-
- ############################################################################
- # PB Chiplet PBAFIR
- ############################################################################
-
- register PBAFIR
- {
- name "EN.TPC.PBA.PBAFIR";
- scomaddr 0x02010840;
- reset (&, 0x02010841);
- mask (|, 0x02010845);
- capture group default;
- };
-
- register PBAFIR_MASK
- {
- name "EN.TPC.PBA.PBAFIRMASK";
- scomaddr 0x02010843;
- capture group default;
- };
-
- register PBAFIR_ACT0
- {
- name "EN.TPC.PBA.PBAFIRACT0";
- scomaddr 0x02010846;
- capture type secondary;
- capture group default;
- capture req nonzero("PBAFIR");
- };
-
- register PBAFIR_ACT1
- {
- name "EN.TPC.PBA.PBAFIRACT1";
- scomaddr 0x02010847;
- capture type secondary;
- capture group default;
- capture req nonzero("PBAFIR");
- };
-
- register PBAFIR_ERROR_REPORT_0
- {
- name "EN.TPC.PBA.PBAERRRPT0";
- scomaddr 0x0201084C;
- capture group default;
- capture group CerrRegs;
- };
-
- register PBAFIR_ERROR_REPORT_1
- {
- name "EN.TPC.PBA.PBAERRRPT1";
- scomaddr 0x0201084D;
- capture group default;
- capture group CerrRegs;
- };
-
- register PBAFIR_ERROR_REPORT_2
- {
- name "EN.TPC.PBA.PBAERRRPT2";
- scomaddr 0x0201084E;
- capture group default;
- capture group CerrRegs;
- };
-
- ############################################################################
- # PB Chiplet EHHCAFIR
- ############################################################################
-
- register EHHCAFIR
- {
- name "EH.TPC.HCA.EHHCA_FIR_REG";
- scomaddr 0x02010980;
- reset (&, 0x02010981);
- mask (|, 0x02010985);
- capture group default;
- };
-
- register EHHCAFIR_MASK
- {
- name "EH.TPC.HCA.EHHCA_FIR_MASK_REG";
- scomaddr 0x02010983;
- capture group default;
- };
-
- register EHHCAFIR_ACT0
- {
- name "EH.TPC.HCA.EHHCA_FIR_ACTION0_REG";
- scomaddr 0x02010986;
- capture type secondary;
- capture group default;
- capture req nonzero("EHHCAFIR");
- };
-
- register EHHCAFIR_ACT1
- {
- name "EH.TPC.HCA.EHHCA_FIR_ACTION1_REG";
- scomaddr 0x02010987;
- capture type secondary;
- capture group default;
- capture req nonzero("EHHCAFIR");
- };
-
- ############################################################################
- # PB Chiplet ENHCAFIR
- ############################################################################
-
- register ENHCAFIR
- {
- name "EN.TPC.BRIDGE.HCA.ENHCA_FIR_REG";
- scomaddr 0x02010940;
- reset (&, 0x02010941);
- mask (|, 0x02010945);
- capture group default;
- };
-
- register ENHCAFIR_MASK
- {
- name "EN.TPC.BRIDGE.HCA.ENHCA_FIR_MASK_REG";
- scomaddr 0x02010943;
- capture group default;
- };
-
- register ENHCAFIR_ACT0
- {
- name "EN.TPC.BRIDGE.HCA.ENHCA_FIR_ACTION0_REG";
- scomaddr 0x02010946;
- capture type secondary;
- capture group default;
- capture req nonzero("ENHCAFIR");
- };
-
- register ENHCAFIR_ACT1
- {
- name "EN.TPC.BRIDGE.HCA.ENHCA_FIR_ACTION1_REG";
- scomaddr 0x02010947;
- capture type secondary;
- capture group default;
- capture req nonzero("ENHCAFIR");
- };
-
- ############################################################################
- # PB Chiplet PCINESTFIR_0
- ############################################################################
-
- register PCINESTFIR_0
- {
- name "ES.PE_WRAP_TOP.PE0.PEPBCQ.PBCQ.FIR_REG";
- scomaddr 0x02012000;
- reset (&, 0x02012001);
- mask (|, 0x02012005);
- capture group default;
- };
-
- register PCINESTFIR_0_MASK
- {
- name "ES.PE_WRAP_TOP.PE0.PEPBCQ.PBCQ.FIR_MASK_REG";
- scomaddr 0x02012003;
- capture group default;
- };
-
- register PCINESTFIR_0_ACT0
- {
- name "ES.PE_WRAP_TOP.PE0.PEPBCQ.PBCQ.FIR_ACTION0_REG";
- scomaddr 0x02012006;
- capture type secondary;
- capture group default;
- capture req nonzero("PCINESTFIR_0");
- };
-
- register PCINESTFIR_0_ACT1
- {
- name "ES.PE_WRAP_TOP.PE0.PEPBCQ.PBCQ.FIR_ACTION1_REG";
- scomaddr 0x02012007;
- capture type secondary;
- capture group default;
- capture req nonzero("PCINESTFIR_0");
- };
-
- register PCINESTFIR0_ERROR_REPORT_0
- {
- name "ES.PE_WRAP_TOP.PE0.PEPBCQ.PBCQ.CERR_RPT0_REG";
- scomaddr 0x0201201C;
- capture group default;
- capture group CerrRegs;
- };
-
- register PCINESTFIR0_ERROR_REPORT_1
- {
- name "ES.PE_WRAP_TOP.PE0.PEPBCQ.PBCQ.CERR_RPT1_REG";
- scomaddr 0x0201201D;
- capture group default;
- capture group CerrRegs;
- };
-
- register PCINESTFIR0_ERROR_REPORT_2
- {
- name "ES.PE_WRAP_TOP.PE0.PEPBCQ.PBCQ.CERR_RPT2_REG";
- scomaddr 0x0201201E;
- capture group default;
- capture group CerrRegs;
- };
-
- ############################################################################
- # PB Chiplet PCINESTFIR_1
- ############################################################################
-
- register PCINESTFIR_1
- {
- name "ES.PE_WRAP_TOP.PE1.PEPBCQ.PBCQ.FIR_REG";
- scomaddr 0x02012400;
- reset (&, 0x02012401);
- mask (|, 0x02012405);
- capture group default;
- };
-
- register PCINESTFIR_1_MASK
- {
- name "ES.PE_WRAP_TOP.PE1.PEPBCQ.PBCQ.FIR_MASK_REG";
- scomaddr 0x02012403;
- capture group default;
- };
-
- register PCINESTFIR_1_ACT0
- {
- name "ES.PE_WRAP_TOP.PE1.PEPBCQ.PBCQ.FIR_ACTION0_REG";
- scomaddr 0x02012406;
- capture type secondary;
- capture group default;
- capture req nonzero("PCINESTFIR_1");
- };
-
- register PCINESTFIR_1_ACT1
- {
- name "ES.PE_WRAP_TOP.PE1.PEPBCQ.PBCQ.FIR_ACTION1_REG";
- scomaddr 0x02012407;
- capture type secondary;
- capture group default;
- capture req nonzero("PCINESTFIR_1");
- };
-
- register PCINESTFIR1_ERROR_REPORT_0
- {
- name "ES.PE_WRAP_TOP.PE1.PEPBCQ.PBCQ.CERR_RPT0_REG";
- scomaddr 0x0201241C;
- capture group default;
- capture group CerrRegs;
- };
-
- register PCINESTFIR1_ERROR_REPORT_1
- {
- name "ES.PE_WRAP_TOP.PE1.PEPBCQ.PBCQ.CERR_RPT1_REG";
- scomaddr 0x0201241D;
- capture group default;
- capture group CerrRegs;
- };
-
- register PCINESTFIR1_ERROR_REPORT_2
- {
- name "ES.PE_WRAP_TOP.PE1.PEPBCQ.PBCQ.CERR_RPT2_REG";
- scomaddr 0x0201241E;
- capture group default;
- capture group CerrRegs;
- };
-
- ############################################################################
- # PB Chiplet PCINESTFIR_2
- ############################################################################
-
- register PCINESTFIR_2
- {
- name "ES.PE_WRAP_TOP.PE2.PEPBCQ.PBCQ.FIR_REG";
- scomaddr 0x02012800;
- reset (&, 0x02012801);
- mask (|, 0x02012805);
- capture group default;
- };
-
- register PCINESTFIR_2_MASK
- {
- name "ES.PE_WRAP_TOP.PE2.PEPBCQ.PBCQ.FIR_MASK_REG";
- scomaddr 0x02012803;
- capture group default;
- };
-
- register PCINESTFIR_2_ACT0
- {
- name "ES.PE_WRAP_TOP.PE2.PEPBCQ.PBCQ.FIR_ACTION0_REG";
- scomaddr 0x02012806;
- capture type secondary;
- capture group default;
- capture req nonzero("PCINESTFIR_2");
- };
-
- register PCINESTFIR_2_ACT1
- {
- name "ES.PE_WRAP_TOP.PE2.PEPBCQ.PBCQ.FIR_ACTION1_REG";
- scomaddr 0x02012807;
- capture type secondary;
- capture group default;
- capture req nonzero("PCINESTFIR_2");
- };
-
- register PCINESTFIR2_ERROR_REPORT_0
- {
- name "ES.PE_WRAP_TOP.PE2.PEPBCQ.PBCQ.CERR_RPT0_REG";
- scomaddr 0x0201281C;
- capture group default;
- capture group CerrRegs;
- };
-
- register PCINESTFIR2_ERROR_REPORT_1
- {
- name "ES.PE_WRAP_TOP.PE2.PEPBCQ.PBCQ.CERR_RPT1_REG";
- scomaddr 0x0201281D;
- capture group default;
- capture group CerrRegs;
- };
-
- register PCINESTFIR2_ERROR_REPORT_2
- {
- name "ES.PE_WRAP_TOP.PE2.PEPBCQ.PBCQ.CERR_RPT2_REG";
- scomaddr 0x0201281E;
- capture group default;
- capture group CerrRegs;
- };
-
- ############################################################################
- # PB Chiplet PCINESTFIR_3
- ############################################################################
-
- # This FIR only exists on Naples. So we will have a conditional capture
- # below, which is common on all P8/P8+ chips.
-
- register PCINESTFIR_3
- {
- name "ES.PE_WRAP_TOP.PE3.PEPBCQ.PBCQ.FIR_REG";
- scomaddr 0x02012c00;
- reset (&, 0x02012c01);
- mask (|, 0x02012c05);
- capture req funccall("isNaplesProc");
- capture group default;
- };
-
- register PCINESTFIR_3_MASK
- {
- name "ES.PE_WRAP_TOP.PE3.PEPBCQ.PBCQ.FIR_MASK_REG";
- scomaddr 0x02012c03;
- capture req funccall("isNaplesProc");
- capture group default;
- };
-
- register PCINESTFIR_3_ACT0
- {
- name "ES.PE_WRAP_TOP.PE3.PEPBCQ.PBCQ.FIR_ACTION0_REG";
- scomaddr 0x02012c06;
- capture type secondary;
- capture req funccall("isNaplesProc");
- capture group default;
- capture req nonzero("PCINESTFIR_3");
- };
-
- register PCINESTFIR_3_ACT1
- {
- name "ES.PE_WRAP_TOP.PE3.PEPBCQ.PBCQ.FIR_ACTION1_REG";
- scomaddr 0x02012c07;
- capture type secondary;
- capture req funccall("isNaplesProc");
- capture group default;
- capture req nonzero("PCINESTFIR_3");
- };
-
- register PCINESTFIR3_ERROR_REPORT_0
- {
- name "ES.PE_WRAP_TOP.PE3.PEPBCQ.PBCQ.CERR_RPT0_REG";
- scomaddr 0x02012c1C;
- capture req funccall("isNaplesProc");
- capture group default;
- capture group CerrRegs;
- };
-
- register PCINESTFIR3_ERROR_REPORT_1
- {
- name "ES.PE_WRAP_TOP.PE3.PEPBCQ.PBCQ.CERR_RPT1_REG";
- scomaddr 0x02012c1D;
- capture req funccall("isNaplesProc");
- capture group default;
- capture group CerrRegs;
- };
-
- register PCINESTFIR3_ERROR_REPORT_2
- {
- name "ES.PE_WRAP_TOP.PE3.PEPBCQ.PBCQ.CERR_RPT2_REG";
- scomaddr 0x02012c1E;
- capture req funccall("isNaplesProc");
- capture group default;
- capture group CerrRegs;
- };
-
- ############################################################################
- # PB Chiplet IOMCFIR_0
- ############################################################################
-
- # This FIR does not exist on Murano, however, it is possible that the
- # entire MCS block (0-3) may be disabled on Venice and Naples based on
- # hardware availability. So we will have a conditional capture below, which
- # is common on all P8/P8+ chips.
-
- register IOMCFIR_0
- {
- name "IOMC0.BUSCTL.SCOM.FIR_REG";
- scomaddr 0x02011A00;
- reset (&, 0x02011A01);
- mask (|, 0x02011A05);
- capture req funccall("mcsBlockConfigured_0");
- capture group default;
- };
-
- register IOMCFIR_0_MASK
- {
- name "IOMC0.BUSCTL.SCOM.FIR_MASK_REG";
- scomaddr 0x02011A03;
- capture req funccall("mcsBlockConfigured_0");
- capture group default;
- };
-
- register IOMCFIR_0_MASK_OR
- {
- name "IOMC0.BUSCTL.SCOM.FIR_MASK_REG OR";
- scomaddr 0x02011A05;
- access write_only;
- capture group never;
- };
-
- register IOMCFIR_0_ACT0
- {
- name "IOMC0.BUSCTL.SCOM.FIR_ACTION0_REG";
- scomaddr 0x02011A06;
- capture type secondary;
- capture group default;
- capture req funccall("mcsBlockConfigured_0");
- capture req nonzero("IOMCFIR_0");
- };
-
- register IOMCFIR_0_ACT1
- {
- name "IOMC0.BUSCTL.SCOM.FIR_ACTION1_REG";
- scomaddr 0x02011A07;
- capture type secondary;
- capture group default;
- capture req funccall("mcsBlockConfigured_0");
- capture req nonzero("IOMCFIR_0");
- };
-
- ############################################################################
- # PB Chiplet IOMCFIR_1
- ############################################################################
-
- # This FIR exists on all P8/P8+ processors, however, it is possible that the
- # entire MCS block (4-7) may be disabled based on hardware availability. So
- # we will have a conditional capture below, which is common on all P8/P8+
- # chips.
-
- register IOMCFIR_1
- {
- name "IOMC1.BUSCTL.SCOM.FIR_REG";
- scomaddr 0x02011E00;
- reset (&, 0x02011E01);
- mask (|, 0x02011E05);
- capture group default;
- capture req funccall("mcsBlockConfigured_1");
- };
-
- register IOMCFIR_1_MASK
- {
- name "IOMC1.BUSCTL.SCOM.FIR_MASK_REG";
- scomaddr 0x02011E03;
- capture group default;
- capture req funccall("mcsBlockConfigured_1");
- };
-
- register IOMCFIR_1_MASK_OR
- {
- name "IOMC1.BUSCTL.SCOM.FIR_MASK_REG OR";
- scomaddr 0x02011E05;
- access write_only;
- capture group never;
- };
-
- register IOMCFIR_1_ACT0
- {
- name "IOMC1.BUSCTL.SCOM.FIR_ACTION0_REG";
- scomaddr 0x02011E06;
- capture type secondary;
- capture group default;
- capture req funccall("mcsBlockConfigured_1");
- capture req nonzero("IOMCFIR_1");
- };
-
- register IOMCFIR_1_ACT1
- {
- name "IOMC1.BUSCTL.SCOM.FIR_ACTION1_REG";
- scomaddr 0x02011E07;
- capture type secondary;
- capture group default;
- capture req funccall("mcsBlockConfigured_1");
- capture req nonzero("IOMCFIR_1");
- };
-
- ############################################################################
- # PB Chiplet PLL Registers
- ############################################################################
-
- register PB_ERROR_REG
- {
- name "EH.TPCHIP.NET.PCBSLNEST.ERROR_REG";
- scomaddr 0x020F001F;
- capture group PllFIRs;
- };
-
- register PB_CONFIG_REG
- {
- name "EH.TPCHIP.NET.PCBSLNEST.SLAVE_CONFIG_REG";
- scomaddr 0x020F001E;
- capture group PllFIRs;
- };
-
- ############################################################################
- # PB non-existent registers for capture
- ############################################################################
-
- register NXTRACE_ARRAY
- {
- name "Capture Data for NX Trace Array";
- capture group never;
- };
-
diff --git a/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_PCIE.rule b/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_PCIE.rule
deleted file mode 100755
index 3aa5dcd2c..000000000
--- a/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_PCIE.rule
+++ /dev/null
@@ -1,346 +0,0 @@
-# IBM_PROLOG_BEGIN_TAG
-# This is an automatically generated prolog.
-#
-# $Source: src/usr/diag/prdf/common/plat/pegasus/Proc_regs_PCIE.rule $
-#
-# OpenPOWER HostBoot Project
-#
-# Contributors Listed Below - COPYRIGHT 2012,2015
-# [+] 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
-
-################################################################################
-#
-# Chiplet Register Adddresses Description
-# ======= ======================= ============================================
-# PCIE 0x09000000 - 0x09FFFFFF PCIE pervasive logic
-#
-################################################################################
-
- ############################################################################
- # PCIE Chiplet Registers
- ############################################################################
-
- register PCIE_CHIPLET_CS_FIR
- {
- name "ES.PE_WRAP_TOP.TPC.XFIR";
- scomaddr 0x09040000;
- capture group default;
- };
-
- register PCIE_CHIPLET_RE_FIR
- {
- name "ES.PE_WRAP_TOP.TPC.RFIR";
- scomaddr 0x09040001;
- capture group default;
- };
-
- register PCIE_CHIPLET_FIR_MASK
- {
- name "ES.PE_WRAP_TOP.TPC.FIR_MASK";
- scomaddr 0x09040002;
- capture group default;
- };
-
- register PCIE_CHIPLET_SPA
- {
- name "ES.PE_WRAP_TOP.TPC.EPS.FIR.SPATTN";
- scomaddr 0x09040004;
- capture group default;
- };
-
- register PCIE_CHIPLET_SPA_MASK
- {
- name "ES.PE_WRAP_TOP.TPC.EPS.FIR.SPA_MASK";
- scomaddr 0x09040007;
- capture group default;
- };
-
- ############################################################################
- # PCIE Chiplet LFIR
- ############################################################################
-
- register PCIE_LFIR
- {
- name "ES.PE_WRAP_TOP.TPC.LOCAL_FIR";
- scomaddr 0x0904000a;
- reset (&, 0x0904000b);
- mask (|, 0x0904000f);
- capture group default;
- };
-
- register PCIE_LFIR_MASK
- {
- name "ES.PE_WRAP_TOP.TPC.EPS.FIR.LOCAL_FIR_MASK";
- scomaddr 0x0904000d;
- capture group default;
- };
-
- register PCIE_LFIR_ACT0
- {
- name "ES.PE_WRAP_TOP.TPC.EPS.FIR.LOCAL_FIR_ACTION0";
- scomaddr 0x09040010;
- capture type secondary;
- capture group default;
- capture req nonzero("PCIE_LFIR");
- };
-
- register PCIE_LFIR_ACT1
- {
- name "ES.PE_WRAP_TOP.TPC.EPS.FIR.LOCAL_FIR_ACTION1";
- scomaddr 0x09040011;
- capture type secondary;
- capture group default;
- capture req nonzero("PCIE_LFIR");
- };
-
- ############################################################################
- # PCIE Chiplet PCICLOCKFIRs
- # These FIRs are completely masked but they will be captured for FFDC.
- ############################################################################
-
- register PCICLOCKFIR_0
- {
- name "PE0.ETU.RSB.PR_REGS.LEM.FIR_REG";
- scomaddr 0x09012000;
- capture group default;
- capture req funccall("phbConfigured_0");
- };
-
- register PCICLOCKFIR_1
- {
- name "PE1.ETU.RSB.PR_REGS.LEM.FIR_REG";
- scomaddr 0x09012400;
- capture group default;
- capture req funccall("phbConfigured_1");
- };
-
- register PCICLOCKFIR_2
- {
- name "PE2.ETU.RSB.PR_REGS.LEM.FIR_REG";
- scomaddr 0x09012800;
- capture group default;
- capture req funccall("phbConfigured_2");
- };
-
- # This FIR only exist on Naples. So we will have a conditional capture
- # below, which is common on all P8/P8+ chips.
-
- register PCICLOCKFIR_3
- {
- name "PE3.ETU.RSB.PR_REGS.LEM.FIR_REG";
- scomaddr 0x09012C00;
- capture group default;
- capture req funccall("phbConfigured_3");
- };
-
- register PCI_ETU_RESET_0
- {
- name "ES.PE_WRAP_TOP.PE0.PBAIB.PEAIBREGS.PE_ETU_RESET_REG";
- scomaddr 0x0901200A;
- capture group never;
- };
-
- register PCI_ETU_RESET_1
- {
- name "ES.PE_WRAP_TOP.PE1.PBAIB.PEAIBREGS.PE_ETU_RESET_REG";
- scomaddr 0x0901240A;
- capture group never;
- };
-
- register PCI_ETU_RESET_2
- {
- name "ES.PE_WRAP_TOP.PE2.PBAIB.PEAIBREGS.PE_ETU_RESET_REG";
- scomaddr 0x0901280A;
- capture group never;
- };
-
- register PCI_ETU_RESET_3
- {
- name "ES.PE_WRAP_TOP.PE3.PBAIB.PEAIBREGS.PE_ETU_RESET_REG";
- scomaddr 0x09012C0A;
- capture group never;
- };
-
- ############################################################################
- # PCIE Chiplet PBFFIR
- ############################################################################
-
- # Used for FFDC only. This FIR does not exist on Naples. So we will have a
- # conditional capture below, which is common on all P8/P8+ chips.
-
- register PBFFIR
- {
- name "ES.PBES_WRAP_TOP.PBES_TOP.MISC_IOF.SCOM.PB_IOF_FIR_REG";
- scomaddr 0x09010800;
- capture req funccall("isNotNaplesProc");
- capture group default;
- };
-
- register PBFIR_IOF0_ERROR_REPORT
- {
- name "ES.PBES_WRAP_TOP.PBES_TOP.IOF0.IOF.PCI_WRAP.PCI_BB.PB_IOF_ERR_STATUS";
- scomaddr 0x0901083A;
- capture req funccall("isNotNaplesProc");
- capture group default;
- capture group CerrRegs;
- };
-
- register PBFIR_IOF1_ERROR_REPORT
- {
- name "ES.PBES_WRAP_TOP.PBES_TOP.IOF1.IOF.PCI_WRAP.PCI_BB.PB_IOF_ERR_STATUS";
- scomaddr 0x0901083B;
- capture req funccall("isNotNaplesProc");
- capture group default;
- capture group CerrRegs;
- };
-
- ############################################################################
- # PCIE Chiplet IOPCIFIR_0
- ############################################################################
-
- register IOPCIFIR_0
- {
- name "IOP.IOP_X880.IOP_PMA0.IOP_PMA_PLL0.IOP_PMA_PLL_RLM.IOP_PMA_PLL_REG_CONTROL.FIR_STATUS_REG";
- scomaddr 0x09011400;
- reset (&, 0x09011401);
- mask (|, 0x09011405);
- capture group default;
- };
-
- register IOPCIFIR_0_MASK
- {
- name "IOP.IOP_X880.IOP_PMA0.IOP_PMA_PLL0.IOP_PMA_PLL_RLM.IOP_PMA_PLL_REG_CONTROL.FIR_MASK_REG";
- scomaddr 0x09011403;
- capture group default;
- };
-
- register IOPCIFIR_0_ACT0
- {
- name "IOP.IOP_X880.IOP_PMA0.IOP_PMA_PLL0.IOP_PMA_PLL_RLM.IOP_PMA_PLL_REG_CONTROL.FIR_ACTION0_REG";
- scomaddr 0x09011406;
- capture type secondary;
- capture group default;
- capture req nonzero("IOPCIFIR_0");
- };
-
- register IOPCIFIR_0_ACT1
- {
- name "IOP.IOP_X880.IOP_PMA0.IOP_PMA_PLL0.IOP_PMA_PLL_RLM.IOP_PMA_PLL_REG_CONTROL.FIR_ACTION1_REG";
- scomaddr 0x09011407;
- capture type secondary;
- capture group default;
- capture req nonzero("IOPCIFIR_0");
- };
-
- ############################################################################
- # PCIE Chiplet IOPCIFIR_1
- ############################################################################
-
- register IOPCIFIR_1
- {
- name "IOP.IOP_X881.IOP_PMA0.IOP_PMA_PLL0.IOP_PMA_PLL_RLM.IOP_PMA_PLL_REG_CONTROL.FIR_STATUS_REG";
- scomaddr 0x09011840;
- reset (&, 0x09011841);
- mask (|, 0x09011845);
- capture group default;
- };
-
- register IOPCIFIR_1_MASK
- {
- name "IOP.IOP_X881.IOP_PMA0.IOP_PMA_PLL0.IOP_PMA_PLL_RLM.IOP_PMA_PLL_REG_CONTROL.FIR_MASK_REG";
- scomaddr 0x09011843;
- capture group default;
- };
-
- register IOPCIFIR_1_ACT0
- {
- name "IOP.IOP_X881.IOP_PMA0.IOP_PMA_PLL0.IOP_PMA_PLL_RLM.IOP_PMA_PLL_REG_CONTROL.FIR_ACTION0_REG";
- scomaddr 0x09011846;
- capture type secondary;
- capture group default;
- capture req nonzero("IOPCIFIR_1");
- };
-
- register IOPCIFIR_1_ACT1
- {
- name "IOP.IOP_X881.IOP_PMA0.IOP_PMA_PLL0.IOP_PMA_PLL_RLM.IOP_PMA_PLL_REG_CONTROL.FIR_ACTION1_REG";
- scomaddr 0x09011847;
- capture type secondary;
- capture group default;
- capture req nonzero("IOPCIFIR_1");
- };
-
- ############################################################################
- # PCIE Chiplet IOPCIFIR_2
- ############################################################################
-
- register IOPCIFIR_2
- {
- name "IOP.IOP_X882.IOP_PMA0.IOP_PMA_PLL0.IOP_PMA_PLL_RLM.IOP_PMA_PLL_REG_CONTROL.FIR_STATUS_REG";
- scomaddr 0x09011C40;
- reset (&, 0x09011C41);
- mask (|, 0x09011C45);
- capture req funccall("isNaplesProc");
- capture group default;
- };
-
- register IOPCIFIR_2_MASK
- {
- name "IOP.IOP_X882.IOP_PMA0.IOP_PMA_PLL0.IOP_PMA_PLL_RLM.IOP_PMA_PLL_REG_CONTROL.FIR_MASK_REG";
- scomaddr 0x09011C43;
- capture req funccall("isNaplesProc");
- capture group default;
- };
-
- register IOPCIFIR_2_ACT0
- {
- name "IOP.IOP_X882.IOP_PMA0.IOP_PMA_PLL0.IOP_PMA_PLL_RLM.IOP_PMA_PLL_REG_CONTROL.FIR_ACTION0_REG";
- scomaddr 0x09011C46;
- capture type secondary;
- capture req funccall("isNaplesProc");
- capture group default;
- capture req nonzero("IOPCIFIR_2");
- };
-
- register IOPCIFIR_2_ACT1
- {
- name "IOP.IOP_X882.IOP_PMA0.IOP_PMA_PLL0.IOP_PMA_PLL_RLM.IOP_PMA_PLL_REG_CONTROL.FIR_ACTION1_REG";
- scomaddr 0x09011C47;
- capture type secondary;
- capture req funccall("isNaplesProc");
- capture group default;
- capture req nonzero("IOPCIFIR_2");
- };
-
- ############################################################################
- # PCIE Chiplet PLL Registers
- ############################################################################
-
- register PCI_ERROR_REG
- {
- name "EH.TPCHIP.NET.PCBSLPCI.ERROR_REG";
- scomaddr 0x090F001F;
- capture group PllFIRs;
- };
-
- register PCI_CONFIG_REG
- {
- name "EH.TPCHIP.NET.PCBSLPCI.SLAVE_CONFIG_REG";
- scomaddr 0x090F001E;
- capture group PllFIRs;
- };
diff --git a/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_TP.rule b/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_TP.rule
deleted file mode 100755
index 44dcdbf47..000000000
--- a/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_TP.rule
+++ /dev/null
@@ -1,454 +0,0 @@
-# IBM_PROLOG_BEGIN_TAG
-# This is an automatically generated prolog.
-#
-# $Source: src/usr/diag/prdf/common/plat/pegasus/Proc_regs_TP.rule $
-#
-# OpenPOWER HostBoot Project
-#
-# Contributors Listed Below - COPYRIGHT 2012,2015
-# [+] 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
-
-################################################################################
-#
-# Chiplet Register Adddresses Description
-# ======= ======================= ============================================
-# TP 0x01000000 - 0x01FFFFFF TP pervasive logic
-#
-################################################################################
-
- ############################################################################
- # TP Chiplet Registers
- ############################################################################
-
- register TP_CHIPLET_CS_FIR
- {
- name "EH.TPCHIP.TPC.XFIR";
- scomaddr 0x01040000;
- capture group default;
- };
-
- register TP_CHIPLET_RE_FIR
- {
- name "EH.TPCHIP.TPC.RFIR";
- scomaddr 0x01040001;
- capture group default;
- };
-
- register TP_CHIPLET_FIR_MASK
- {
- name "EH.TPCHIP.TPC.FIR_MASK";
- scomaddr 0x01040002;
- capture group default;
- };
-
- register TP_CHIPLET_SPA
- {
- name "EH.TPCHIP.TPC.EPS.FIR.SPATTN";
- scomaddr 0x01040004;
- capture group default;
- };
-
- register TP_CHIPLET_SPA_MASK
- {
- name "EH.TPCHIP.TPC.EPS.FIR.SPA_MASK";
- scomaddr 0x01040007;
- capture group default;
- };
-
- ############################################################################
- # TP Chiplet LFIR
- ############################################################################
-
- register TP_LFIR
- {
- name "EH.TPCHIP.TPC.LOCAL_FIR";
- scomaddr 0x0104000a;
- reset (&, 0x0104000b);
- mask (|, 0x0104000f);
- capture group default;
- capture group PllFIRs;
- };
-
- register TP_LFIR_AND
- {
- name "EH.TPCHIP.TPC.LOCAL_FIR_AND";
- scomaddr 0x0104000b;
- capture group never;
- access write_only;
- };
-
- register TP_LFIR_MASK
- {
- name "EH.TPCHIP.TPC.EPS.FIR.LOCAL_FIR_MASK";
- scomaddr 0x0104000d;
- capture group default;
- capture group PllFIRs;
- };
-
- register TP_LFIR_MASK_OR
- {
- name "EH.TPCHIP.TPC.EPS.FIR.LOCAL_FIR_MASK_OR";
- scomaddr 0x0104000f;
- capture group never;
- access write_only;
- };
-
- register TP_LFIR_ACT0
- {
- name "EH.TPCHIP.TPC.EPS.FIR.LOCAL_FIR_ACTION0";
- scomaddr 0x01040010;
- capture type secondary;
- capture group never;
- capture req nonzero("TP_LFIR");
- };
-
- register TP_LFIR_ACT1
- {
- name "EH.TPCHIP.TPC.EPS.FIR.LOCAL_FIR_ACTION1";
- scomaddr 0x01040011;
- capture type secondary;
- capture group never;
- capture req nonzero("TP_LFIR");
- };
-
- ############################################################################
- # TP Chiplet OCCFIR
- ############################################################################
-
- register OCCFIR
- {
- name "EH.TPCHIP.OCC.OCI.SCOM.OCC_SCOM_OCCLFIR";
- scomaddr 0x01010800;
- reset (&, 0x01010801);
- mask (|, 0x01010805);
- capture group default;
- };
-
- register OCCFIR_MASK
- {
- name "EH.TPCHIP.OCC.OCI.SCOM.OCC_SCOM_OCCLFIRMASK";
- scomaddr 0x01010803;
- capture group default;
- };
-
- register OCCFIR_ACT0
- {
- name "EH.TPCHIP.OCC.OCI.SCOM.OCC_SCOM_OCCLFIRACT0";
- scomaddr 0x01010806;
- capture type secondary;
- capture group default;
- capture req nonzero("OCCFIR");
- };
-
- register OCCFIR_ACT1
- {
- name "EH.TPCHIP.OCC.OCI.SCOM.OCC_SCOM_OCCLFIRACT1";
- scomaddr 0x01010807;
- capture type secondary;
- capture group default;
- capture req nonzero("OCCFIR");
- };
-
- register OCCFIR_ERROR_REPORT
- {
- name "EH.TPCHIP.OCC.OCI.SCOM.OCC_SCOM_OCCERRRPT";
- scomaddr 0x0101080A;
- capture group default;
- capture group CerrRegs;
- };
-
- ############################################################################
- # TP Chiplet PBAMFIR
- ############################################################################
-
- register PBAMFIR
- {
- name "EH.TPCHIP.PIB.LPCM.LPC.SYNC_FIR_REG";
- scomaddr 0x01010c00;
- reset (&, 0x01010c01);
- mask (|, 0x01010c05);
- capture group default;
- };
-
- register PBAMFIR_MASK
- {
- name "EH.TPCHIP.PIB.LPCM.LPC.SYNC_FIR_MASK_REG";
- scomaddr 0x01010c03;
- capture group default;
- };
-
- register PBAMFIR_ACT0
- {
- name "EH.TPCHIP.PIB.LPCM.LPC.SYNC_FIR_ACTION0_REG";
- scomaddr 0x01010c06;
- capture type secondary;
- capture group default;
- capture req nonzero("PBAMFIR");
- };
-
- register PBAMFIR_ACT1
- {
- name "EH.TPCHIP.PIB.LPCM.LPC.SYNC_FIR_ACTION1_REG";
- scomaddr 0x01010c07;
- capture type secondary;
- capture group default;
- capture req nonzero("PBAMFIR");
- };
-
- ############################################################################
- # TP Chiplet PMCFIR
- ############################################################################
-
- register PMCFIR
- {
- name "EH.TPCHIP.OCC.PMC.PMC_LFIR_ERR_REG";
- scomaddr 0x01010840;
- reset (&, 0x01010841);
- mask (|, 0x01010845);
- capture group default;
- };
-
- register PMCFIR_MASK
- {
- name "EH.TPCHIP.OCC.PMC.PMC_LFIR_ERR_MASK_REG";
- scomaddr 0x01010843;
- capture group default;
- };
-
- register PMCFIR_ACT0
- {
- name "EH.TPCHIP.OCC.PMC.PMC_LFIR_ACTION0_REG";
- scomaddr 0x01010846;
- capture type secondary;
- capture group default;
- capture req nonzero("PMCFIR");
- };
-
- register PMCFIR_ACT1
- {
- name "EH.TPCHIP.OCC.PMC.PMC_LFIR_ACTION1_REG";
- scomaddr 0x01010847;
- capture type secondary;
- capture group default;
- capture req nonzero("PMCFIR");
- };
-
- ############################################################################
- # TOD Registers
- ############################################################################
-
- register TOD_MPCR
- {
- name "EH.TPCHIP.PIB.TOD.TOD_M_PATH_CTRL_REG";
- scomaddr 0x00040000;
- capture group TODReg;
- };
-
- register TOD_PCRP0
- {
- name "EH.TPCHIP.PIB.TOD.TOD_PRI_PORT_0_CTRL_REG";
- scomaddr 0x00040001;
- capture group TODReg;
- };
-
- register TOD_PCRP1
- {
- name "EH.TPCHIP.PIB.TOD.TOD_PRI_PORT_1_CTRL_REG";
- scomaddr 0x00040002;
- capture group TODReg;
- };
-
- register TOD_SCRP0
- {
- name "EH.TPCHIP.PIB.TOD.TOD_SEC_PORT_0_CTRL_REG";
- scomaddr 0x00040003;
- capture group TODReg;
- };
-
- register TOD_SCRP1
- {
- name "EH.TPCHIP.PIB.TOD.TOD_SEC_PORT_1_CTRL_REG";
- scomaddr 0x00040004;
- capture group TODReg;
- };
-
- register TOD_SPCR
- {
- name "EH.TPCHIP.PIB.TOD.TOD_S_PATH_CTRL_REG";
- scomaddr 0x00040005;
- capture group TODReg;
- };
-
- register TOD_IPCR
- {
- name "EH.TPCHIP.PIB.TOD.TOD_I_PATH_CTRL_REG";
- scomaddr 0x00040006;
- capture group TODReg;
- };
-
- register TOD_PSMSCR
- {
- name "EH.TPCHIP.PIB.TOD.TOD_PSS_MSS_CTRL_REG";
- scomaddr 0x00040007;
- capture group TODReg;
- };
-
- register TOD_STATUSREGISTER
- {
- name "EH.TPCHIP.PIB.TOD.TOD_PSS_MSS_STATUS_REG";
- scomaddr 0x00040008;
- capture group TODReg;
- };
-
- register TOD_MPSR
- {
- name "EH.TPCHIP.PIB.TOD.TOD_M_PATH_STATUS_REG";
- scomaddr 0x00040009;
- capture group TODReg;
- };
-
- register TOD_SPSR
- {
- name "EH.TPCHIP.PIB.TOD.TOD_S_PATH_STATUS_REG";
- scomaddr 0x0004000A;
- capture group TODReg;
- };
-
- register TOD_CCR
- {
- name "EH.TPCHIP.PIB.TOD.TOD_CHIP_CTRL_REG";
- scomaddr 0x00040010;
- capture group TODReg;
- };
-
- register TOD_TRACEDATA_SET_1
- {
- name "EH.TPCHIP.PIB.TOD.TOD_TRACE_DATA_1_REG";
- scomaddr 0x0004001D;
- capture group TODReg;
- };
-
- register TOD_TRACEDATA_SET_2
- {
- name "EH.TPCHIP.PIB.TOD.TOD_TRACE_DATA_2_REG";
- scomaddr 0x0004001E;
- capture group TODReg;
- };
-
- register TOD_TRACEDATA_SET_3
- {
- name "EH.TPCHIP.PIB.TOD.TOD_TRACE_DATA_3_REG";
- scomaddr 0x0004001F;
- capture group TODReg;
- };
-
- register TOD_FSM
- {
- name "EH.TPCHIP.PIB.TOD.TOD_FSM_REG";
- scomaddr 0x00040024;
- capture group TODReg;
- };
-
- register TOD_TX_TTYPE
- {
- name "EH.TPCHIP.PIB.TOD.TOD_TX_TTYPE_CTRL_REG";
- scomaddr 0x00040027;
- capture group TODReg;
- };
-
- register TOD_RX_TTYPE
- {
- name "EH.TPCHIP.PIB.TOD.TOD_RX_TTYPE_CTRL_REG";
- scomaddr 0x00040029;
- capture group TODReg;
- };
-
- register TOD_ERRORREGISTER
- {
- name "EH.TPCHIP.PIB.TOD.TOD_ERROR_REG";
- scomaddr 0x00040030;
- capture group TODReg;
- reset (^, 0x40030);
- };
-
- register TOD_ERRORMASK
- {
- name "EH.TPCHIP.PIB.TOD.TOD_ERROR_MASK_REG";
- scomaddr 0x40032;
- capture group TODReg;
- };
-
- register TOD_ERRORACTION
- {
- name "EH.TPCHIP.PIB.TOD.TOD_ERROR_ROUTING_REG";
- scomaddr 0x00040033;
- capture group TODReg;
- };
-
- ############################################################################
- # Registers for FFDC only
- ############################################################################
-
- register PMC_SPIV_STATUS_REG
- {
- name "PMC_SPIV_STATUS_REG";
- scomaddr 0x00062046;
- access read_only;
- capture group default;
- };
-
- register PMC_PSTATE_MONITOR_AND_CTRL_REG
- {
- name "PMC_PSTATE_MONITOR_AND_CTRL_REG";
- scomaddr 0x00062002;
- access read_only;
- capture group default;
- };
-
- register GLOBAL_ACTUAL_VOLTAGE_REG
- {
- name "GLOBAL_ACTUAL_VOLTAGE_REG";
- scomaddr 0x00062008;
- access read_only;
- capture group default;
- };
-
- register PMC_O2S_STATUS_REG
- {
- name "PMC_O2S_STATUS_REG";
- scomaddr 0x00062056;
- access read_only;
- capture group default;
- };
-
- register PMC_O2S_WDATA_REG
- {
- name "PMC_O2S_WDATA_REG";
- scomaddr 0x00062058;
- access read_only;
- capture group default;
- };
-
- register PMC_O2S_RDATA_REG
- {
- name "PMC_O2S_RDATA_REG";
- scomaddr 0x00062059;
- access read_only;
- capture group default;
- };
-
diff --git a/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_XBUS.rule b/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_XBUS.rule
deleted file mode 100755
index 52e3d609b..000000000
--- a/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_XBUS.rule
+++ /dev/null
@@ -1,337 +0,0 @@
-# IBM_PROLOG_BEGIN_TAG
-# This is an automatically generated prolog.
-#
-# $Source: src/usr/diag/prdf/common/plat/pegasus/Proc_regs_XBUS.rule $
-#
-# OpenPOWER HostBoot Project
-#
-# Contributors Listed Below - COPYRIGHT 2012,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
-
-################################################################################
-#
-# Chiplet Register Adddresses Description
-# ======= ======================= ============================================
-# XBUS 0x04000000 - 0x0400FFFF XBUS pervasive logic
-#
-################################################################################
-
- ############################################################################
- # XBUS Chiplet Registers
- ############################################################################
-
- register XBUS_CHIPLET_CS_FIR
- {
- name "EN.PB.TPC.XFIR";
- scomaddr 0x04040000;
- capture group default;
- capture req funccall("isXBusEnabled");
- };
-
- register XBUS_CHIPLET_RE_FIR
- {
- name "EN.PB.TPC.RFIR";
- scomaddr 0x04040001;
- capture group default;
- capture req funccall("isXBusEnabled");
- };
-
- register XBUS_CHIPLET_FIR_MASK
- {
- name "EN.PB.TPC.FIR_MASK";
- scomaddr 0x04040002;
- capture group default;
- capture req funccall("isXBusEnabled");
- };
-
- ############################################################################
- # XBUS Chiplet LFIR
- ############################################################################
-
- register XBUS_LFIR
- {
- name "EN.PB.TPC.LOCAL_FIR";
- scomaddr 0x0404000a;
- reset (&, 0x0404000b);
- mask (|, 0x0404000f);
- capture group default;
- capture req funccall("isXBusEnabled");
- };
-
- register XBUS_LFIR_MASK
- {
- name "EN.PB.TPC.EPS.FIR.LOCAL_FIR_MASK";
- scomaddr 0x0404000d;
- capture group default;
- capture req funccall("isXBusEnabled");
- };
-
- register XBUS_LFIR_ACT0
- {
- name "EN.PB.TPC.EPS.FIR.LOCAL_FIR_ACTION0";
- scomaddr 0x04040010;
- capture type secondary;
- capture group default;
- capture req nonzero("XBUS_LFIR");
- capture req funccall("isXBusEnabled");
- };
-
- register XBUS_LFIR_ACT1
- {
- name "EN.PB.TPC.EPS.FIR.LOCAL_FIR_ACTION1";
- scomaddr 0x04040011;
- capture type secondary;
- capture group default;
- capture req nonzero("XBUS_LFIR");
- capture req funccall("isXBusEnabled");
- };
-
- ############################################################################
- # XBUS Chiplet PBENFIR
- ############################################################################
-
- register PBENFIR
- {
- name "EN.PB.PBEN.MISC_IO.SCOM.FIR_REG";
- scomaddr 0x04010c00;
- reset (&, 0x04010c01);
- mask (|, 0x04010c05);
- capture group default;
- capture req funccall("isXBusEnabled");
- };
-
- register PBENFIR_MASK
- {
- name "EN.PB.PBEN.MISC_IO.SCOM.FIR_MASK_REG";
- scomaddr 0x04010c03;
- capture group default;
- capture req funccall("isXBusEnabled");
- };
-
- register PBENFIR_ACT0
- {
- name "EN.PB.PBEN.MISC_IO.SCOM.FIR_REG_ACTION0";
- scomaddr 0x04010c06;
- capture type secondary;
- capture group default;
- capture req nonzero("PBENFIR");
- capture req funccall("isXBusEnabled");
- };
-
- register PBENFIR_ACT1
- {
- name "EN.PB.PBEN.MISC_IO.SCOM.FIR_REG_ACTION1";
- scomaddr 0x04010c07;
- capture type secondary;
- capture group default;
- capture req nonzero("PBENFIR");
- capture req funccall("isXBusEnabled");
- };
-
- ############################################################################
- # XBUS Chiplet IOXFIR_0 (Venice only)
- ############################################################################
-
- # This FIR does not exist on Murano. So we will have a conditional capture
- # below, which is common on all P8/P8+ chips.
-
- register IOXFIR_0
- {
- name "XBUS01.X0.BUSCTL.SCOM.FIR_REG";
- scomaddr 0x04011000;
- reset (&, 0x04011001);
- mask (|, 0x04011005);
- capture req funccall("notMuranoAndXbEnabled");
- capture group default;
- };
-
- register IOXFIR_0_MASK
- {
- name "XBUS01.X0.BUSCTL.SCOM.FIR_MASK_REG";
- scomaddr 0x04011003;
- capture req funccall("notMuranoAndXbEnabled");
- capture group default;
- };
-
- register IOXFIR_0_ACT0
- {
- name "XBUS01.X0.BUSCTL.SCOM.FIR_ACTION0_REG";
- scomaddr 0x04011006;
- capture type secondary;
- capture req funccall("notMuranoAndXbEnabled");
- capture req nonzero("IOXFIR_0");
- capture group default;
- };
-
- register IOXFIR_0_ACT1
- {
- name "XBUS01.X0.BUSCTL.SCOM.FIR_ACTION1_REG";
- scomaddr 0x04011007;
- capture type secondary;
- capture req funccall("notMuranoAndXbEnabled");
- capture req nonzero("IOXFIR_0");
- capture group default;
- };
-
- ############################################################################
- # XBUS Chiplet IOXFIR_1
- ############################################################################
-
- register IOXFIR_1
- {
- name "XBUS01.X1.BUSCTL.SCOM.FIR_REG";
- scomaddr 0x04011400;
- reset (&, 0x04011401);
- mask (|, 0x04011405);
- capture group default;
- capture req funccall("isXBusEnabled");
- };
-
- register IOXFIR_1_MASK
- {
- name "XBUS01.X1.BUSCTL.SCOM.FIR_MASK_REG";
- scomaddr 0x04011403;
- capture group default;
- capture req funccall("isXBusEnabled");
- };
-
- register IOXFIR_1_ACT0
- {
- name "XBUS01.X1.BUSCTL.SCOM.FIR_ACTION0_REG";
- scomaddr 0x04011406;
- capture type secondary;
- capture group default;
- capture req nonzero("IOXFIR_1");
- capture req funccall("isXBusEnabled");
- };
-
- register IOXFIR_1_ACT1
- {
- name "XBUS01.X1.BUSCTL.SCOM.FIR_ACTION1_REG";
- scomaddr 0x04011407;
- capture type secondary;
- capture group default;
- capture req nonzero("IOXFIR_1");
- capture req funccall("isXBusEnabled");
- };
-
- ############################################################################
- # XBUS Chiplet IOXFIR_2 (Venice only)
- ############################################################################
-
- # This FIR does not exist on Murano. So we will have a conditional capture
- # below, which is common on all P8/P8+ chips.
-
- register IOXFIR_2
- {
- name "XBUS23.X1.BUSCTL.SCOM.FIR_REG";
- scomaddr 0x04011C00;
- reset (&, 0x04011C01);
- mask (|, 0x04011C05);
- capture req funccall("notMuranoAndXbEnabled");
- capture group default;
- };
-
- register IOXFIR_2_MASK
- {
- name "XBUS23.X1.BUSCTL.SCOM.FIR_MASK_REG";
- scomaddr 0x04011C03;
- capture req funccall("notMuranoAndXbEnabled");
- capture group default;
- };
-
- register IOXFIR_2_ACT0
- {
- name "XBUS23.X1.BUSCTL.SCOM.FIR_ACTION0_REG";
- scomaddr 0x04011C06;
- capture type secondary;
- capture req funccall("notMuranoAndXbEnabled");
- capture req nonzero("IOXFIR_2");
- capture group default;
- };
-
- register IOXFIR_2_ACT1
- {
- name "XBUS23.X1.BUSCTL.SCOM.FIR_ACTION1_REG";
- scomaddr 0x04011C07;
- capture type secondary;
- capture req funccall("notMuranoAndXbEnabled");
- capture req nonzero("IOXFIR_2");
- capture group default;
- };
-
- ############################################################################
- # XBUS Chiplet IOXFIR_3 (Venice only)
- ############################################################################
-
- # This FIR does not exist on Murano. So we will have a conditional capture
- # below, which is common on all P8/P8+ chips.
-
- register IOXFIR_3
- {
- name "XBUS23.X0.BUSCTL.SCOM.FIR_REG";
- scomaddr 0x04011800;
- reset (&, 0x04011801);
- mask (|, 0x04011805);
- capture req funccall("notMuranoAndXbEnabled");
- capture group default;
- };
-
- register IOXFIR_3_MASK
- {
- name "XBUS23.X0.XBUS1.BUSCTL.SCOM.FIR_MASK_REG";
- scomaddr 0x04011803;
- capture req funccall("notMuranoAndXbEnabled");
- capture group default;
- };
-
- register IOXFIR_3_ACT0
- {
- name "XBUS23.X0.XBUS1.BUSCTL.SCOM.FIR_ACTION0_REG";
- scomaddr 0x04011806;
- capture type secondary;
- capture req funccall("notMuranoAndXbEnabled");
- capture req nonzero("IOXFIR_3");
- capture group default;
- };
-
- register IOXFIR_3_ACT1
- {
- name "XBUS23.X0.XBUS1.BUSCTL.SCOM.FIR_ACTION1_REG";
- scomaddr 0x04011807;
- capture type secondary;
- capture req funccall("notMuranoAndXbEnabled");
- capture req nonzero("IOXFIR_3");
- capture group default;
- };
-
- ############################################################################
- # XBUS Chiplet PSIXBUSFIR
- ############################################################################
-
- # All bits in this FIR are reserved so PRD is not expected to analyze this
- # FIR. Capture the FIR for FFDC, just in case.
-
- register PSIXBUSFIR
- {
- name "PSI.PSI_MAC.PSI_SCOM.FIR_REG";
- scomaddr 0x04012400;
- capture group default;
- capture req funccall("isXBusEnabled");
- };
-
diff --git a/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_common.rule b/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_common.rule
deleted file mode 100755
index 8b6c5a275..000000000
--- a/src/usr/diag/prdf/common/plat/pegasus/Proc_regs_common.rule
+++ /dev/null
@@ -1,173 +0,0 @@
-# IBM_PROLOG_BEGIN_TAG
-# This is an automatically generated prolog.
-#
-# $Source: src/usr/diag/prdf/common/plat/pegasus/Proc_regs_common.rule $
-#
-# OpenPOWER HostBoot Project
-#
-# Contributors Listed Below - COPYRIGHT 2015
-# [+] 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
-
-################################################################################
-#
-# Scope:
-# Registers for the following chiplets:
-#
-# Chiplet Register Adddresses Description
-# ======= ======================= ============================================
-# TP 0x01000000 - 0x01FFFFFF TP pervasive logic
-# PB 0x02000000 - 0x02FFFFFF PB pervasive logic, note that this does
-# include the SCOM addresses characterized by
-# the MCS target. See Mcs.rule for those
-# address ranges.
-# XBUS 0x04000000 - 0x0400FFFF XBUS pervasive logic
-# PCIE 0x09000000 - 0x09FFFFFF PCIE pervasive logic
-#
-################################################################################
-
- #############################################################################
- # #
- # ###### #
- # # # ###### #### ### #### ##### ###### ##### #### #
- # # # # # # # # # # # # # #
- # ###### ##### # # #### # ##### # # #### #
- # # # # # ### # # # # ##### # #
- # # # # # # # # # # # # # # # #
- # # # ###### #### ### #### # ###### # # #### #
- # #
- #############################################################################
-
- ############################################################################
- # Global Broadcast Registers
- ############################################################################
-
- 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;
- };
-
- register GLOBAL_SPA
- {
- name "Global Special Attention FIR";
- scomaddr 0x570F001A;
- capture group default;
- };
-
- register GLOBALUNITXSTPFIR
- {
- name "Virtual Global Unit Checkstop FIR";
- scomaddr 0x51040001;
- capture group default;
- capture req funccall("CoreConfiguredAndNotHostboot");
- };
-
- ########################################################################
- # Non-existent Registers for Capture
- ########################################################################
- register VPD_FAILED_LANES_0TO63
- {
- name "Bit map 0-63 of failed lanes read from VPD";
- scomaddr 0xFFFF0001;
- access no_access;
- capture group never;
- };
-
- register VPD_FAILED_LANES_64TO127
- {
- name "Bit map 64-127 of failed lanes read from VPD";
- scomaddr 0xFFFF0002;
- access no_access;
- capture group never;
- };
-
- register ALL_FAILED_LANES_0TO63
- {
- name "Bit map 0-63 of failed lanes from io_read_erepair";
- scomaddr 0xFFFF0003;
- access no_access;
- capture group never;
- };
-
- register ALL_FAILED_LANES_64TO127
- {
- name "Bit map 64-127 of failed lanes from io_read_erepair";
- scomaddr 0xFFFF0004;
- access no_access;
- capture group never;
- };
-
- ############################################################################
- # Non-FIR Registers
- ############################################################################
-
- register TODWOF
- {
- name "Time of Day / WOF Counter";
- scomaddr 0x00040020;
- capture group default;
- };
-
- ############################################################################
- # PLL Registers
- ############################################################################
-
- register CFAM_FSI_STATUS
- {
- name "TPC.FSI.FSI2PIB.STATUS";
- scomaddr 0x00001007;
- capture group never;
- };
-
- register CFAM_FSI_GP7
- {
- name "TPC.FSI.FSI_MAILBOX.FSXCOMP.FSXLOG.FSIGP7";
- scomaddr 0x00002816;
- capture group never;
- };
-
- register PCIE_OSC_SWITCH
- {
- name "TPC.FSI.FSI_MAILBOX.FSXCOMP.FSXLOG.SNS1LTH";
- scomaddr 0x00050019;
- capture group PllFIRs;
- };
-
- register OSCERR
- {
- name "EH.TPCHIP.TPC.ITR.OSCERR.OSCERR_HOLD";
- scomaddr 0x01020019;
- capture group PllFIRs;
- };
-
- register OSCERR_MASK
- {
- name "EH.TPCHIP.TPC.ITR.OSCERR.OSCERR_MASK";
- scomaddr 0x0102001A;
- capture group PllFIRs;
- };
-
-
diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaDynMemDealloc_rt.C b/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaDynMemDealloc_rt.C
deleted file mode 100755
index ba3c22e1c..000000000
--- a/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaDynMemDealloc_rt.C
+++ /dev/null
@@ -1,823 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaDynMemDealloc_rt.C $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2016,2018 */
-/* [+] 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 */
-
-//------------------------------------------------------------------------------
-// Includes
-//------------------------------------------------------------------------------
-
-#include <prdfExtensibleChip.H>
-#include <prdfCenMbaDynMemDealloc_rt.H>
-#include <prdfTrace.H>
-#include <prdfPlatServices.H>
-#include <prdfCenMbaDataBundle.H>
-#include <prdfCenMembufDataBundle.H>
-#include <prdfCenAddress.H>
-
-
-//------------------------------------------------------------------------------
-// Function Definitions
-//------------------------------------------------------------------------------
-
-using namespace TARGETING;
-
-namespace PRDF
-{
-using namespace PlatServices;
-
-namespace DEALLOC
-{
-
-enum
-{
- DDR3 = fapi::ENUM_ATTR_EFF_DRAM_GEN_DDR3,
- DDR4 = fapi::ENUM_ATTR_EFF_DRAM_GEN_DDR4,
-
- HASH_MODE_128B = 0,
- HASH_MODE_256B,
-};
-
-/** @brief Combines the rank and bank together. Note that the rank/bank will be
- * split in two to make room for the row and column. This function will
- * return the rank/bank in both parts (right justified).
- * @param i_ds DIMM select (D).
- * @param i_mrnk Master rank (M0-M2).
- * @param i_srnk Slave rank (S0-S2).
- * @param i_numDs Number of configured DIMM select bits.
- * @param i_numMrnk Number of configured master rank bits.
- * @param i_numSrnk Number of configured slave rank bits.
- * @param i_bnk Bank (DDR3: B2-B0, DDR4: BG1-BG0,B1-B0).
- * @param i_ddrVer DDR version (DDR3 or DDR4).
- * @param i_hash Hash value (0, 1, or 2).
- * @param o_upperRnkBnk Upper rank/bank bits (right justified).
- * @param o_numUpperRnkBnk Number of configured upper rank/bank bits.
- * @param o_lowerRnkBnk Lower rank/bank bits (right justified).
- * @param o_numLowerRnkBnk Number of configured lower rank/bank bits.
- */
-void getRankBank( uint64_t i_ds, uint64_t i_mrnk, uint64_t i_srnk,
- uint64_t i_numDs, uint64_t i_numMrnk, uint64_t i_numSrnk,
- uint64_t i_bnk, uint64_t i_ddrVer, uint64_t i_hash,
- uint64_t & o_upperRnkBnk, uint64_t & o_numUpperRnkBnk,
- uint64_t & o_lowerRnkBnk, uint64_t & o_numLowerRnkBnk )
-{
- // The number of bank bits can be determined from the DDR version.
- uint64_t numBnk = (DDR3 == i_ddrVer) ? 3 : 4;
-
- // Calculate the number of combined rank/bank bits.
- uint64_t numRnkBnk = i_numDs + i_numMrnk + i_numSrnk + numBnk;
-
- // Build the rank (D,M0-M2,S0-S2)
- uint64_t rnk = i_ds;
- rnk <<= i_numMrnk; rnk |= i_mrnk;
- rnk <<= i_numSrnk; rnk |= i_srnk;
-
- // Get the rank components
- uint64_t upperRnk = (rnk & ~0x1) << numBnk;
- uint64_t lowerRnk = (rnk & 0x1) << numBnk;
-
- // Get the bank components
- uint64_t upperBnk = 0, lowerBnk = 0;
- if ( DDR3 == i_ddrVer )
- {
- upperBnk = i_bnk & 0x4; // B2
- lowerBnk = i_bnk & 0x3; // B1-B0
- }
- else // DDR4
- {
- upperBnk = (i_bnk & 0x3) << 2; // B1-B0
- lowerBnk = (i_bnk & 0xC) >> 2; // BG1-BG0
- }
-
- // The last bit of the rank and the upper part of the bank will be swapped
- // in certain conditions.
- bool swap = ( (0 != i_hash) || // Normal case: hash is non-zero
- (0 != i_numSrnk) || // Special case: any slave ranks
- (3 == i_numMrnk) ); // Special case: 8 master ranks (3 bits)
-
- // Combine rank and bank.
- uint64_t rnkBnk = upperRnk |
- lowerRnk >> (swap ? (numBnk - 2) : 0) |
- upperBnk << (swap ? 1 : 0) |
- lowerBnk;
-
- // The combined rank/bank will need to be split to insert the column and
- // row bits.
- uint64_t shift = numBnk + i_hash;
- if ( 0 != i_numSrnk ) shift += i_numSrnk; // Special case: any slave ranks
- if ( 3 == i_numMrnk ) shift += i_numMrnk; // Special case: 8 master ranks
-
- uint64_t mask = (0xffffffffffffffffull >> shift) << shift;
-
- o_upperRnkBnk = (rnkBnk & mask) >> shift;
- o_lowerRnkBnk = rnkBnk & ~mask;
-
- o_numUpperRnkBnk = numRnkBnk - shift;
- o_numLowerRnkBnk = shift;
-}
-
-/** @brief Takes the combined rank/bank and adds the row and column. This will
- * give us bits 0:32 of the Centaur address as described in sections
- * 5.6 and 5.7 of Centaur chip spec.
- * @param i_upperRnkBnk Upper rank/bank bits (right justified).
- * @param i_numUpperRnkBnk Number of configured upper rank/bank bits.
- * @param i_lowerRnkBnk Lower rank/bank bits (right justified).
- * @param i_numLowerRnkBnk Number of configured lower rank/bank bits.
- * @param i_row Row (R18-R0)
- * @param i_numRow Number of configured row bits.
- * @param i_col Column (C13,C11,C9-C3)
- * @param i_numCol Number of configured column bits.
- * @param i_ddrVer DDR version (DDR3 or DDR4).
- * @param i_mbaIlMode MBA interleave mode. (from MBAXCR[12])
- * @return Bits 0-34 of the Centaur address (right justified).
- */
-uint64_t combineComponents( uint64_t i_upperRnkBnk, uint64_t i_numUpperRnkBnk,
- uint64_t i_lowerRnkBnk, uint64_t i_numLowerRnkBnk,
- uint64_t i_row, uint64_t i_numRow,
- uint64_t i_col, uint64_t i_numCol,
- uint64_t i_ddrVer, uint64_t i_mbaIlMode )
-{
- // Get the row components.
- uint64_t r17 = 0; // DDR4 only
- uint64_t upperRow = 0, numUpperRow = 0;
- uint64_t lowerRow = 0, numLowerRow = 0;
- if ( DDR3 == i_ddrVer )
- {
- // upper:r16-r15 lower:r14-r0
- upperRow = (i_row & 0x18000) >> 15; numUpperRow = i_numRow - 15;
- lowerRow = i_row & 0x07fff; numLowerRow = 15;
- }
- else // DDR4
- {
- // upper:r16-r14 lower:r13-r0
- r17 = (i_row & 0x20000) >> 17;
- upperRow = (i_row & 0x1c000) >> 14; numUpperRow = i_numRow - 14;
- lowerRow = i_row & 0x03fff; numLowerRow = 14;
-
- if ( 18 == i_numRow ) numUpperRow -= 1; // r17 is not in numUpperRow
- }
-
- // Get the column components.
- uint64_t upperCol = i_col & 0x1fe;
- uint64_t c3 = i_col & 0x001;
-
- uint64_t numUpperCol = i_numCol - 1;
- uint64_t numC3 = 1;
-
- // Start building the address.
- uint64_t addr = r17;
- addr <<= i_numUpperRnkBnk; addr |= i_upperRnkBnk;
- addr <<= numUpperRow; addr |= upperRow;
- addr <<= numUpperCol; addr |= upperCol;
-
- if ( HASH_MODE_128B == i_mbaIlMode )
- {
- addr <<= numC3; addr |= c3;
- addr <<= i_numLowerRnkBnk; addr |= i_lowerRnkBnk;
-
- }
- else // HASH_MODE_256B
- {
- addr <<= i_numLowerRnkBnk; addr |= i_lowerRnkBnk;
- addr <<= numC3; addr |= c3;
- }
-
- // Insert the fixed row bits.
- addr = (addr & 0xfffffffffffffc00ull) << numLowerRow |
- lowerRow << 10 |
- (addr & 0x00000000000003ffull);
-
- return addr;
-}
-
-/** @brief Translates a physical address (rank, bank, row, col) to a 40 bit
- * Centaur address. The algorithm is derived from Sections 5.4, 5.6,
- * and 5.7 of Centaur chip spec.
- * @param i_ds DIMM select (D).
- * @param i_mrnk Master rank (M0-M2).
- * @param i_srnk Slave rank (S0-S2).
- * @param i_numMrnk Number of configured master rank bits.
- * @param i_numSrnk Number of configured slave rank bits.
- * @param i_row Row (R18-R0)
- * @param i_numRow Number of configured row bits.
- * @param i_col Column (C13,C11,C9-C3)
- * @param i_numCol Number of configured column bits.
- * @param i_bnk Bank (DDR3: B2-B0, DDR4: BG1-BG0,B1-B0).
- * @param i_mba MBA position (0 or 1)
- * @param i_ddrVer DDR version (DDR3 or DDR4).
- * @param i_cenIlMode Centaur interleave mode. (from MBSXCR[0:4])
- * @param i_mbaIlMode MBA interleave mode. (from MBAXCR[12])
- * @param i_hash Rank hash. (from MBAXCR[10:11])
- * @param i_cfg Rank config. (from MBAXCR[8])
- * @return The returned 40-bit Cenaur address.
- */
-uint64_t transPhysToCenAddr( uint64_t i_ds, uint64_t i_mrnk, uint64_t i_srnk,
- uint64_t i_numMrnk, uint64_t i_numSrnk,
- uint64_t i_row, uint64_t i_numRow,
- uint64_t i_col, uint64_t i_numCol,
- uint64_t i_bnk, uint64_t i_mba,
- uint64_t i_ddrVer,
- uint64_t i_cenIlMode, uint64_t i_mbaIlMode,
- uint64_t i_hash, uint64_t i_cfg )
-{
- // Get the combine rank/bank.
- uint64_t upperRnkBnk, numUpperRnkBnk;
- uint64_t lowerRnkBnk, numLowerRnkBnk;
- getRankBank( i_ds, i_mrnk, i_srnk,
- i_cfg, i_numMrnk, i_numSrnk,
- i_bnk, i_ddrVer, i_hash,
- upperRnkBnk, numUpperRnkBnk,
- lowerRnkBnk, numLowerRnkBnk );
-
- // Get bits 0:32 as described in sections 5.6 and 5.7 of the Centaur spec.
- uint64_t addr = combineComponents( upperRnkBnk, numUpperRnkBnk,
- lowerRnkBnk, numLowerRnkBnk,
- i_row, i_numRow, i_col, i_numCol,
- i_ddrVer, i_mbaIlMode );
-
- // Adjust for Centaur interleave mode as described in sections 5.4.1 of the
- // Centaur spec.
- if ( 0 != i_cenIlMode )
- {
- // MBSXCR[0] just indicates there is interleaving so that can be
- // ignored and we'll just use MBSXCR[1:4].
- i_cenIlMode &= 0xf;
-
- // Now, a value of 0 indicates bit 23 is interleaved and a value of 9
- // indicates bit 32 is interleaved. So we should be able to invert it to
- // give us the shift value.
- uint64_t shift = 9 - i_cenIlMode;
- uint64_t mask = (0xffffffffffffffffull >> shift) << shift;
-
- // Insert the MBA bit.
- addr = (addr & mask) << 1 | i_mba << shift | (addr & ~mask);
- }
-
- // Bits 33:39 are zero.
- addr <<= 7;
-
- return addr;
-}
-
-// Given the number of configured ranks, return the number of configured rank
-// bits (i.e. 1 rank=0 bits, 2 ranks=1 bit, 4 ranks=2 bits, 8 ranks=3 bits).
-// This could be achieved with log2() from math.h, but we don't want to mess
-// with floating point numbers (FSP uses C++ standard).
-uint64_t ranks2bits( uint64_t i_numRnks )
-{
- switch ( i_numRnks )
- {
- case 1: return 0;
- case 2: return 1;
- case 4: return 2;
- case 8: return 3;
- }
-
- return 0;
-}
-
-// The code in this function is based on section 5.4.1 and 5.6 of Centaur
-// chip spec.
-int32_t getCenPhyAddr( ExtensibleChip * i_mbaChip, ExtensibleChip * i_mbChip,
- CenAddr i_addr, uint64_t & o_addr )
-{
- #define PRDF_FUNC "[DEALLOC::getCenPhyAddr] "
-
- int32_t o_rc = SUCCESS;
-
- o_addr = 0;
-
- TargetHandle_t mba = i_mbaChip->GetChipHandle();
- uint64_t mbaPos = getTargetPosition( mba );
-
- uint64_t ds = i_addr.getRank().getDimmSlct(); // D
- uint64_t mrnk = i_addr.getRank().getRankSlct(); // M0-M2
- uint64_t srnk = i_addr.getRank().getSlave(); // S0-S2
-
- uint64_t row = i_addr.getRow(); // R18-R0
- uint64_t col = i_addr.getCol(); // C13,C11,C9-C3
- uint64_t bnk = i_addr.getBank(); // DDR3: B2-B0, DDR4: BG1-BG0,B1-B0
-
- do
- {
- // Get the number of configured address bits for the master and slave
- // ranks.
- uint64_t num_mrnk = getMasterRanksPerDimm( mba, ds );
- if ( 0 == num_mrnk )
- {
- PRDF_ERR( PRDF_FUNC "getMasterRanksPerDimm() failed. HUID:0X%08X",
- i_mbChip->GetId() );
- break;
- }
-
- uint64_t num_srnk = getRanksPerDimm( mba, ds ) / num_mrnk;
- if ( 0 == num_srnk )
- {
- PRDF_ERR( PRDF_FUNC "getRanksPerDimm() failed. HUID:0X%08X",
- i_mbChip->GetId() );
- break;
- }
-
- uint64_t mrnkBits = ranks2bits( num_mrnk );
- uint64_t srnkBits = ranks2bits( num_srnk );
-
- // Get the number of configured address bits for the row and column.
- uint8_t rowBits, colBits;
- o_rc = getDimmRowCol( mba, rowBits, colBits );
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "getDimmConfig() failed. HUID:0x%08X",
- i_mbaChip->GetId());
- break;
- }
-
- // The attribute used in getDimmRowCol() returns a value for colBits
- // which includes c2-c0. Those bits are tied to zero and are not
- // included in col. Therefore, we need to subtract 3 to get the real
- // value.
- colBits = colBits - 3;
-
- // Get the DDR verion of the DIMM (DDR3, DDR4, etc...)
- uint8_t ddrVer = getDramGen<TYPE_MBA>( mba );
-
- // Get the Centaur interleave mode (MBSXCR[0:4]).
- SCAN_COMM_REGISTER_CLASS * mbsxcr = i_mbChip->getRegister("MBSXCR");
- o_rc = mbsxcr->Read();
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "Read() failed on MBSXCR. HUID:0x%08X",
- i_mbChip->GetId() ) ;
- break;
- }
-
- uint64_t cenIlMode = mbsxcr->GetBitFieldJustified( 0, 5 );
-
- // Get the rank config (MBAXCR[8]), rank hash (MBAXCR[10:11]), and
- // MBA interleave mode (MBAXCR[12]).
- const char * reg_str = ( 0 == mbaPos ) ? "MBA0_MBAXCR" : "MBA1_MBAXCR";
- SCAN_COMM_REGISTER_CLASS * mbaxcr = i_mbChip->getRegister( reg_str );
- o_rc = mbaxcr->Read();
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "Read() failed on %s. HUID:0X%08X",
- reg_str, i_mbChip->GetId() );
- break;
- }
-
- uint8_t cfg = mbaxcr->GetBitFieldJustified( 8, 1 );
- uint8_t hash = mbaxcr->GetBitFieldJustified( 10, 2 );
- uint8_t mbaIlMode = mbaxcr->GetBitFieldJustified( 12, 1 );
-
- // Form the address from info gathered above
- o_addr = transPhysToCenAddr( ds, mrnk, srnk,
- mrnkBits, srnkBits,
- row, rowBits, col, colBits,
- bnk, mbaPos,
- ddrVer,
- cenIlMode, mbaIlMode,
- hash, cfg );
-
- } while(0);
-
- return o_rc;
-
- #undef PRDF_FUNC
-}
-
-//------------------------------------------------------------------------------
-
-// The code in this function is based on section 2.1.3 of MC workbook.
-
-int32_t getSystemAddr( ExtensibleChip * i_mbaChip, CenAddr i_addr,
- uint64_t & o_addr )
-{
- #define PRDF_FUNC "[DEALLOC::getSystemAddr] "
-
- int32_t o_rc = SUCCESS;
-
- o_addr = 0;
-
- do
- {
- // Get the MEMBUF chip.
- CenMbaDataBundle * mbadb = getMbaDataBundle( i_mbaChip );
- ExtensibleChip * mbChip = mbadb->getMembChip();
- if ( NULL == mbChip )
- {
- PRDF_ERR( PRDF_FUNC "getMembChip() returned NULL. MBA:0x%08X",
- i_mbaChip->GetId() );
- o_rc = FAIL; break;
- }
-
- // Get the MCS chip.
- CenMembufDataBundle * mbdb = getMembufDataBundle( mbChip );
- ExtensibleChip * mcsChip = mbdb->getMcsChip();
- if ( NULL == mbChip )
- {
- PRDF_ERR( PRDF_FUNC "getMcsChip() returned NULL. MEMBUF:0x%08X",
- mbChip->GetId() );
- o_rc = FAIL; break;
- }
-
- // Get the physical Centaur address.
- uint64_t cenAddr = 0;
- o_rc = getCenPhyAddr( i_mbaChip, mbChip, i_addr, cenAddr );
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "getCenPhyAddr() failed. MBA:0x%08X "
- "MEMBUF:0x%08X", i_mbaChip->GetId(), mbChip->GetId());
- break;
- }
-
- // Get the MCS group information.
- SCAN_COMM_REGISTER_CLASS * mcgfp = mcsChip->getRegister( "MCFGP" );
- o_rc = mcgfp->Read();
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "Read() failed on MCFGP. MCS:0x%08X",
- mcsChip->GetId() ) ;
- break;
- }
-
- // Get the MCS per group
- // 000 - 1, 001 - 2, 010 - 4, 100 - 8
- uint8_t mcsPerGrp = mcgfp->GetBitFieldJustified( 1,3 );
- uint8_t grpShift = 0;
-
- // Get the number of bits required to accomondate mcsPos
- while ( 0 != ( mcsPerGrp >> grpShift ) ) { grpShift++; }
-
- // Get the MCS position within group. Though it is 5 bit field,
- // two bits are not used.
- uint64_t grpSlct = mcgfp->GetBitFieldJustified( 4, 5 ) << 7;
- // Get the base address for MCS
- uint64_t baseAddr = mcgfp->GetBitFieldJustified( 26, 18 ) << 32;
-
- // Split the Centaur address to make room for the group select.
- uint64_t cenUpper33 = (cenAddr & 0xFFFFFFFF80ull) << grpShift;
- uint64_t cenLower7 = cenAddr & 0x000000007full;
-
- // Put the whole address together
- o_addr = baseAddr | cenUpper33 | grpSlct | cenLower7;
-
- } while( 0 );
-
- return o_rc;
-
- #undef PRDF_FUNC
-}
-
-//------------------------------------------------------------------------------
-
-int32_t rankGard( ExtensibleChip * i_mbaChip, CenRank i_rank )
-{
- #define PRDF_FUNC "[DEALLOC::rankGard] "
-
- int32_t o_rc = SUCCESS;
- do
- {
- CenAddr startAddr, endAddr;
- TargetHandle_t mba = i_mbaChip->GetChipHandle();
- o_rc = getMemAddrRange( mba, i_rank, startAddr, endAddr );
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "getMemAddrRange() Failed. HUID:0x%08X",
- i_mbaChip->GetId() );
- break;
- }
-
- // Get the system addresses
- uint64_t ssAddr = 0;
- uint64_t seAddr = 0;
- o_rc = getSystemAddr( i_mbaChip, startAddr, ssAddr);
- o_rc |= getSystemAddr( i_mbaChip, endAddr, seAddr );
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "getSystemAddr() failed. HUID:0x%08X",
- i_mbaChip->GetId() );
- break;
- }
- // Send the address range to HV
- sendDynMemDeallocRequest( ssAddr, seAddr );
- PRDF_TRAC( PRDF_FUNC "Rank gard for Start Addr: 0x%016llx "
- "End Addr: 0x%016llX", ssAddr, seAddr );
-
- } while( 0 );
-
- return o_rc;
- #undef PRDF_FUNC
-}
-
-//------------------------------------------------------------------------------
-
-bool isEnabled()
-{
- return ( isHyprRunning() && (isHyprConfigPhyp() || isHyprConfigOpal()) &&
- !isMfgAvpEnabled() && !isMfgHdatAvpEnabled() );
-}
-
-//------------------------------------------------------------------------------
-
-int32_t pageGard( ExtensibleChip * i_mbaChip, CenAddr i_addr )
-{
- #define PRDF_FUNC "[DEALLOC::pageGard] "
-
- uint64_t sysAddr = 0;
- int32_t o_rc = SUCCESS;
- do
- {
- if ( !isEnabled() ) break; // nothing to do
-
- o_rc = getSystemAddr( i_mbaChip, i_addr, sysAddr);
- if( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "getSystemAddr() failed. HUID:0x%08X",
- i_mbaChip->GetId() );
- break;
- }
-
- sendPageGardRequest( sysAddr );
- PRDF_TRAC( PRDF_FUNC "Page gard for address: 0x%016llX", sysAddr );
-
- } while( 0 );
-
- return o_rc;
- #undef PRDF_FUNC
-}
-
-//------------------------------------------------------------------------------
-
-int32_t lmbGard( ExtensibleChip * i_mbaChip, CenAddr i_addr, bool i_isFetch )
-{
- #define PRDF_FUNC "[DEALLOC::lmbGard] "
-
- uint64_t sysAddr = 0;
- int32_t o_rc = SUCCESS;
- do
- {
- if ( !isEnabled() ) break; // nothing to do
-
- if( isHyprConfigOpal() )
- {
- o_rc = rankGard( i_mbaChip, i_addr.getRank() );
- if( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "rankGard() failed. HUID:0x%08X",
- i_mbaChip->GetId() );
- break;
- }
- }
- else
- {
- o_rc = getSystemAddr( i_mbaChip, i_addr, sysAddr);
- if( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "getSystemAddr() failed. HUID:0x%08X",
- i_mbaChip->GetId() );
- break;
- }
-
- sendLmbGardRequest( sysAddr, i_isFetch );
- PRDF_TRAC( PRDF_FUNC "LMB gard for address: 0x%016llX", sysAddr );
- }
-
- } while( 0 );
-
- return o_rc;
- #undef PRDF_FUNC
-}
-
-//------------------------------------------------------------------------------
-
-int32_t mbaGard( ExtensibleChip * i_mbaChip )
-{
- #define PRDF_FUNC "[DEALLOC::mbaGard] "
- int32_t o_rc = SUCCESS;
-
- do
- {
- if ( !isEnabled() ) break; // nothing to do
-
- CenAddr startAddr, endAddr;
- TargetHandle_t mba = i_mbaChip->GetChipHandle();
- o_rc = getMemAddrRange( mba, startAddr, endAddr );
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "getMemAddrRange() Failed. HUID:0x%08X",
- i_mbaChip->GetId() );
- break;
- }
-
- // Get the system addresses
- uint64_t ssAddr = 0;
- uint64_t seAddr = 0;
- o_rc = getSystemAddr( i_mbaChip, startAddr, ssAddr);
- o_rc |= getSystemAddr( i_mbaChip, endAddr, seAddr );
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "getSystemAddr() failed. HUID:0x%08X",
- i_mbaChip->GetId() );
- break;
- }
-
- // Send the address range to PHYP
- sendDynMemDeallocRequest( ssAddr, seAddr );
- PRDF_TRAC( PRDF_FUNC "MBA gard for Start Addr: 0x%016llx "
- "End Addr: 0x%016llX", ssAddr, seAddr );
-
- } while (0);
-
- return o_rc;
- #undef PRDF_FUNC
-}
-
-//------------------------------------------------------------------------------
-
-int32_t dimmSlctGard( TargetHandle_t i_dimm )
-{
- #define PRDF_FUNC "[DEALLOC::dimmSlctGard] "
- int32_t o_rc = SUCCESS;
-
- do
- {
- if ( !isEnabled() ) break; // nothing to do
-
- TargetHandle_t mba = getConnectedParent( i_dimm, TYPE_MBA );
-
- ExtensibleChip * mbaChip = (ExtensibleChip *)systemPtr->GetChip( mba );
- if ( NULL == mbaChip )
- {
- PRDF_ERR( PRDF_FUNC "No MBA chip behind DIMM" );
- o_rc = FAIL; break;
- }
- // Find the largest address range
- uint64_t smallestAddr = 0xffffffffffffffffll;
- uint64_t largestAddr = 0;
- CenAddr startAddr, endAddr;
- std::vector<CenRank> masterRanks;
- uint8_t dimmSlct = 0;
-
- o_rc = getMbaDimm( i_dimm, dimmSlct );
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "getMbaDimm() failed" );
- break;
- }
-
- o_rc = getMasterRanks( mba, masterRanks, dimmSlct );
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "getMasterRanks() failed" );
- break;
- }
-
- // Iterate all ranks to get start and end address.
- for ( std::vector<CenRank>::iterator it = masterRanks.begin();
- it != masterRanks.end(); it++ )
- {
- o_rc = getMemAddrRange( mba, *it, startAddr, endAddr );
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "getMemAddrRange() Failed. HUID:0x%08X",
- mbaChip->GetId() );
- break;
- }
-
- // Get the system addresses
- uint64_t ssAddr = 0;
- uint64_t seAddr = 0;
- o_rc = getSystemAddr( mbaChip, startAddr, ssAddr);
- o_rc |= getSystemAddr( mbaChip, endAddr, seAddr );
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "getSystemAddr() failed. HUID:0x%08X",
- mbaChip->GetId() );
- break;
- }
- if ( ssAddr < smallestAddr ) smallestAddr = ssAddr;
- if ( seAddr > largestAddr ) largestAddr = seAddr;
- }
- if( SUCCESS != o_rc ) break;
-
- // Send the address range to PHYP
- sendDynMemDeallocRequest( smallestAddr, largestAddr );
- PRDF_TRAC( PRDF_FUNC "DIMM Slct gard for Start Addr: 0x%016llx "
- "End Addr: 0x%016llX", smallestAddr, largestAddr );
-
- } while (0);
-
- if( FAIL == o_rc )
- {
- PRDF_ERR( PRDF_FUNC "failed. DIMM:0x%08X", getHuid( i_dimm ) );
- }
-
- return o_rc;
- #undef PRDF_FUNC
-}
-
-//------------------------------------------------------------------------------
-
-bool isDimmPair( TargetHandle_t i_dimm1, TargetHandle_t i_dimm2 )
-{
- #define PRDF_FUNC "[DEALLOC::isDimmPair] "
- bool isDimmPair = false;
- do
- {
- uint8_t dimm1Slct = 0;
- uint8_t dimm2Slct = 0;
-
- int32_t rc = getMbaDimm( i_dimm1, dimm1Slct );
- rc |= getMbaDimm( i_dimm2, dimm2Slct );
-
- if( SUCCESS != rc )
- {
- PRDF_ERR( PRDF_FUNC " getMbaDimm() failed" );
- break;
- }
- isDimmPair = ( ( dimm1Slct == dimm2Slct ) &&
- ( getConnectedParent( i_dimm1, TYPE_MBA ) ==
- getConnectedParent( i_dimm2, TYPE_MBA )));
- } while(0);
- return isDimmPair;
- #undef PRDF_FUNC
-}
-
-//------------------------------------------------------------------------------
-
-// This function is used for sorting dimms in a list.
-bool compareDimms( TargetHandle_t i_dimm1, TargetHandle_t i_dimm2 )
-{
- #define PRDF_FUNC "[DEALLOC::compareDimms] "
- bool isSmall = false;
- do
- {
- uint8_t dimm1Slct = 0;
- uint8_t dimm2Slct = 0;
-
- int32_t rc = getMbaDimm( i_dimm1, dimm1Slct );
- rc |= getMbaDimm( i_dimm2, dimm2Slct );
-
- if( SUCCESS != rc )
- {
- PRDF_ERR( PRDF_FUNC " getMbaDimm() failed" );
- break;
- }
- TargetHandle_t mba1 = getConnectedParent( i_dimm1, TYPE_MBA );
- TargetHandle_t mba2 = getConnectedParent( i_dimm2, TYPE_MBA );
-
- isSmall = ( ( mba1 < mba2 ) ||
- ( ( mba1 == mba2) && ( dimm1Slct < dimm2Slct )));
-
- } while(0);
-
- return isSmall;
- #undef PRDF_FUNC
-}
-
-//------------------------------------------------------------------------------
-
-int32_t dimmListGard( TargetHandleList & i_dimmList )
-{
- #define PRDF_FUNC "[DEALLOC::dimmListGard] "
- int32_t o_rc = SUCCESS;
-
- // Find unique dimm slct.
- std::sort( i_dimmList.begin(), i_dimmList.end(), compareDimms );
- TargetHandleList::iterator uniqueDimmEndIt =
- std::unique( i_dimmList.begin(), i_dimmList.end(), isDimmPair );
-
- for( TargetHandleList::iterator it = i_dimmList.begin();
- it != uniqueDimmEndIt; it++ )
- {
- int32_t l_rc = dimmSlctGard( *it );
- if( SUCCESS != l_rc )
- {
- PRDF_ERR(PRDF_FUNC "Failed for DIMM 0x:%08X", getHuid( *it ) );
- o_rc |= l_rc;
- }
- }
- return o_rc;
- #undef PRDF_FUNC
-}
-} //namespace DEALLOC
-} // namespace PRDF
diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaDynMemDealloc_rt.H b/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaDynMemDealloc_rt.H
deleted file mode 100755
index 5622ff188..000000000
--- a/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaDynMemDealloc_rt.H
+++ /dev/null
@@ -1,93 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaDynMemDealloc_rt.H $ */
-/* */
-/* 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 */
-
-#ifndef __prdfCenMbaDynMemDealloc_rt_H
-#define __prdfCenMbaDynMemDealloc_rt_H
-
-/** @file prdfCenMbaDynMemDealloc_rt.H
- * @brief Support functions for Dynamic Memory Deallocation
- */
-
-namespace PRDF
-{
-
-class ExtensibleChip;
-class CenAddr;
-
-namespace DEALLOC
-{
-
-/**
- * @return True, if Dynamic Memory Deallocation is enabled. False, otherwise.
- */
-bool isEnabled();
-
-/**
- * @brief Sends a page gard message to PHYP.
- * @param i_mbaChip MBA chip
- * @param i_addr The address to page gard.
- * @return Non-SUCCESS if an internal function fails, SUCCESS otherwise.
- */
-int32_t pageGard( ExtensibleChip * i_mbaChip, CenAddr i_addr );
-
-/**
- * @brief Sends a LMB gard message to PHYP.
- * @param i_mbaChip MBA chip
- * @param i_addr The address to lmb gard.
- * @param i_isFetch TRUE if we are calling this because of FETCH UE,
- * FALSE otherwise.
- * @return Non-SUCCESS if an internal function fails, SUCCESS otherwise.
- */
-int32_t lmbGard( ExtensibleChip * i_mbaChip, CenAddr i_addr,
- bool i_isFetch = true);
-
-/**
- * @brief Sends a message to PHYP to gard all memory behind MBA.
- * @param i_mbaChip MBA chip
- * @return Non-SUCCESS if an internal function fails, SUCCESS otherwise.
- */
-int32_t mbaGard( ExtensibleChip * i_mbaChip );
-
-/**
- * @brief Sends a message to PHYP to gard all memory behind dimm List.
- * @param i_dimmList DIMM list
- * @return Non-SUCCESS if an internal function fails, SUCCESS otherwise.
- */
-int32_t dimmListGard( TARGETING::TargetHandleList & i_dimmList );
-
-/**
- * @brief Sends a message to PHYP to gard all memory behind dimm slct.
- * @param i_dimm Memory DIMM.
- * @return Non-SUCCESS if an internal function fails, SUCCESS otherwise.
- */
-int32_t dimmSlctGard( TARGETING::TargetHandle_t i_dimm );
-
-} //namespace DEALLOC
-} // namespace PRDF
-//------------------------------------------------------------------------------
-
-
-#endif /* __prdfCenMbaDynMemDealloc_rt_H */
-
diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfExDomain.H b/src/usr/diag/prdf/common/plat/pegasus/prdfExDomain.H
deleted file mode 100644
index 44d445ab9..000000000
--- a/src/usr/diag/prdf/common/plat/pegasus/prdfExDomain.H
+++ /dev/null
@@ -1,62 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/diag/prdf/common/plat/pegasus/prdfExDomain.H $ */
-/* */
-/* 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 */
-
-#ifndef __PRDFEXDOMAIN_H
-#define __PRDFEXDOMAIN_H
-
-#include <prdfRuleChipDomain.H>
-
-namespace PRDF
-{
-
-class ExDomain : public RuleChipDomain
-{
- public:
-
- /**
- * @brief Constructor
- * @param i_did The domain ID
- * @param i_size The projected size of the domain
- */
- ExDomain( DOMAIN_ID i_did, uint32_t i_size = EX_DOMAIN_SIZE ) :
- RuleChipDomain( i_did, i_size )
- {}
-
- /**
- * @brief Query for an attention of a specific type in this domain
- * @param i_attnType [MACHINE_CHECK | RECOVERABLE | SPECIAL]
- * @return false
- * @note This function will always return false. That way PRD will look
- * for the attention via the processor chip.
- */
- virtual bool Query( ATTENTION_TYPE i_attnType )
- { return false; }
-
-};
-
-} // end namespace PRDF
-
-#endif /* __PRDFEXDOMAIN_H */
-
diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfLaneRepair.C b/src/usr/diag/prdf/common/plat/pegasus/prdfLaneRepair.C
deleted file mode 100644
index 8be057233..000000000
--- a/src/usr/diag/prdf/common/plat/pegasus/prdfLaneRepair.C
+++ /dev/null
@@ -1,325 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/diag/prdf/common/plat/pegasus/prdfLaneRepair.C $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2013,2018 */
-/* [+] Google Inc. */
-/* [+] 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 */
-
-/** @file prdfLaneRepair.C */
-
-#include <prdfLaneRepair.H>
-
-// Framework includes
-#include <prdfPlatServices.H>
-#include <iipconst.h>
-#include <prdfGlobal.H>
-#include <iipSystem.h>
-#include <iipServiceDataCollector.h>
-#include <prdfExtensibleChip.H>
-#include <UtilHash.H>
-
-// Pegasus includes
-#include <prdfCalloutUtil.H>
-#include <prdfCenMembufDataBundle.H>
-#include <prdfP8McsDataBundle.H>
-#include <prdfP8ProcMbCommonExtraSig.H>
-
-using namespace TARGETING;
-
-namespace PRDF
-{
-using namespace PlatServices;
-
-namespace LaneRepair
-{
-
-int32_t handleLaneRepairEvent( ExtensibleChip * i_chip,
- TYPE i_busType,
- uint32_t i_busPos,
- STEP_CODE_DATA_STRUCT & i_sc,
- bool i_spareDeployed )
-{
- #define PRDF_FUNC "[LaneRepair::handleLaneRepairEvent] "
-
- int32_t l_rc = SUCCESS;
- TargetHandle_t rxBusTgt = NULL;
- TargetHandle_t txBusTgt = NULL;
- bool thrExceeded = true;
- std::vector<uint8_t> rx_lanes;
- std::vector<uint8_t> rx_vpdLanes;
- std::vector<uint8_t> tx_vpdLanes;
- BitStringBuffer l_vpdLaneMap0to63(64);
- BitStringBuffer l_vpdLaneMap64to127(64);
- BitStringBuffer l_newLaneMap0to63(64);
- BitStringBuffer l_newLaneMap64to127(64);
-
- do
- {
- #ifdef __HOSTBOOT_MODULE
- if ( CHECK_STOP == i_sc.service_data->getPrimaryAttnType() )
- {
- // This would only happen on OpenPOWER machines when we are doing
- // the post IPL analysis. In this case, we do not have the FFDC to
- // query the IO registers so simply set service call and skip
- // everything else.
- i_sc.service_data->setServiceCall();
- return SUCCESS;
- }
- #endif
-
- // Get the RX and TX targets.
- l_rc = CalloutUtil::getBusEndpoints( i_chip, rxBusTgt, txBusTgt,
- i_busType, i_busPos );
- if ( SUCCESS != l_rc )
- {
- PRDF_ERR( PRDF_FUNC "getBusEndpoints() failed" );
- break;
- }
-
- // Call io_read_erepair
- l_rc = readErepair(rxBusTgt, rx_lanes);
- if (SUCCESS != l_rc)
- {
- PRDF_ERR( PRDF_FUNC "readErepair() failed: rxBusTgt=0x%08x",
- getHuid(rxBusTgt) );
- break;
- }
-
- // Add newly failed lanes to capture data
- for (std::vector<uint8_t>::iterator lane = rx_lanes.begin();
- lane != rx_lanes.end(); ++lane)
- {
- PRDF_INF( PRDF_FUNC "New failed lane on RX HUID 0x%08x: %d",
- getHuid(rxBusTgt), *lane);
- if (*lane < 64)
- l_newLaneMap0to63.setBit(*lane);
- else if (*lane < 127)
- l_newLaneMap64to127.setBit(*lane - 64);
- else
- {
- PRDF_ERR( PRDF_FUNC "Invalid lane number %d: rxBusTgt=0x%08x",
- *lane, getHuid(rxBusTgt) );
- l_rc = FAIL; break;
- }
- }
- if ( SUCCESS != l_rc ) break;
-
- // Add failed lane capture data to errorlog
- i_sc.service_data->GetCaptureData().Add(i_chip->GetChipHandle(),
- ( Util::hashString("ALL_FAILED_LANES_0TO63") ^
- i_chip->getSignatureOffset() ),
- l_newLaneMap0to63);
- i_sc.service_data->GetCaptureData().Add(i_chip->GetChipHandle(),
- ( Util::hashString("ALL_FAILED_LANES_64TO127") ^
- i_chip->getSignatureOffset() ),
- l_newLaneMap64to127);
-
- // Don't read/write VPD in mfg mode if erepair is disabled
- if ( !(((i_busType == TYPE_ABUS || i_busType == TYPE_XBUS)
- && isFabeRepairDisabled())
- || ((i_busType == TYPE_MCS || i_busType == TYPE_MEMBUF)
- && isMemeRepairDisabled())) )
- {
- // Read Failed Lanes from VPD
- l_rc = getVpdFailedLanes(rxBusTgt, rx_vpdLanes, tx_vpdLanes);
- if (SUCCESS != l_rc)
- {
- PRDF_ERR( PRDF_FUNC "getVpdFailedLanes() failed: "
- "rxBusTgt=0x%08x", getHuid(rxBusTgt) );
- break;
- }
-
- // Add VPD lanes to capture data
- for (std::vector<uint8_t>::iterator lane = rx_vpdLanes.begin();
- lane != rx_vpdLanes.end(); ++lane)
- {
- if (*lane < 64)
- l_vpdLaneMap0to63.setBit(*lane);
- else if (*lane < 127)
- l_vpdLaneMap64to127.setBit(*lane - 64);
- else
- {
- PRDF_ERR( PRDF_FUNC "Invalid VPD lane number %d: "
- "rxBusTgt=0x%08x", *lane, getHuid(rxBusTgt) );
- l_rc = FAIL; break;
- }
- }
- if ( SUCCESS != l_rc ) break;
-
- // Add failed lane capture data to errorlog
- i_sc.service_data->GetCaptureData().Add(i_chip->GetChipHandle(),
- ( Util::hashString("VPD_FAILED_LANES_0TO63") ^
- i_chip->getSignatureOffset() ),
- l_vpdLaneMap0to63);
- i_sc.service_data->GetCaptureData().Add(i_chip->GetChipHandle(),
- ( Util::hashString("VPD_FAILED_LANES_64TO127") ^
- i_chip->getSignatureOffset() ),
- l_vpdLaneMap64to127);
-
- if (i_spareDeployed)
- {
- // Call Erepair to update VPD
- l_rc = setVpdFailedLanes(rxBusTgt, txBusTgt,
- rx_lanes, thrExceeded);
- if (SUCCESS != l_rc)
- {
- PRDF_ERR( PRDF_FUNC "setVpdFailedLanes() failed: "
- "rxBusTgt=0x%08x txBusTgt=0x%08x",
- getHuid(rxBusTgt), getHuid(txBusTgt) );
- break;
- }
- if( thrExceeded )
- {
- i_sc.service_data->SetErrorSig(
- PRDFSIG_ERepair_FWThrExceeded );
- }
- }
- }
-
- if (i_spareDeployed && !thrExceeded)
- {
- // Update lists of lanes from VPD
- rx_vpdLanes.clear(); tx_vpdLanes.clear();
- l_rc = getVpdFailedLanes(rxBusTgt, rx_vpdLanes, tx_vpdLanes);
- if (SUCCESS != l_rc)
- {
- PRDF_ERR( PRDF_FUNC "getVpdFailedLanes() before power down "
- "failed: rxBusTgt=0x%08x", getHuid(rxBusTgt) );
- break;
- }
-
- // Power down all lanes that have been saved in VPD
- l_rc = powerDownLanes(rxBusTgt, rx_vpdLanes, tx_vpdLanes);
- if (SUCCESS != l_rc)
- {
- PRDF_ERR( PRDF_FUNC "powerDownLanes() failed: rxBusTgt=0x%08x",
- getHuid(rxBusTgt) );
- break;
- }
- }
- else
- {
- // Make predictive
- i_sc.service_data->setServiceCall();
- }
- } while (0);
-
- // Clear FIRs
- if (rxBusTgt)
- {
- l_rc |= erepairFirIsolation(rxBusTgt);
- l_rc |= clearIOFirs(rxBusTgt);
- }
-
- if ( i_spareDeployed )
- {
- l_rc |= cleanupSecondaryFirBits( i_chip, i_busType, i_busPos );
- }
-
- // This return code gets returned by the plugin code back to the rule code.
- // So, we do not want to give a return code that the rule code does not
- // understand. So far, there is no need return a special code, so always
- // return SUCCESS.
- if ( SUCCESS != l_rc )
- {
- PRDF_ERR( PRDF_FUNC "i_chip: 0x%08x i_busType:%d i_busPos:%d",
- i_chip->GetId(), i_busType, i_busPos );
-
- i_sc.service_data->SetErrorSig( PRDFSIG_ERepair_ERROR );
- CalloutUtil::defaultError( i_sc );
- }
-
- return SUCCESS;
-
- #undef PRDF_FUNC
-}
-
-//-----------------------------------------------------------------------------
-
-int32_t cleanupSecondaryFirBits( ExtensibleChip * i_chip,
- TYPE i_busType,
- uint32_t i_busPos )
-{
- int32_t l_rc = SUCCESS;
- TargetHandle_t mcsTgt = NULL;
- TargetHandle_t mbTgt = NULL;
- ExtensibleChip * mcsChip = NULL;
- ExtensibleChip * mbChip = NULL;
-
- //In case of spare deployed attention for DMI bus, we need to clear
- // secondary MBIFIR[10] and MCIFIR[10] bits.
- do
- {
- if ( i_busType == TYPE_MCS )
- {
- mcsTgt = getConnectedChild( i_chip->GetChipHandle(),
- TYPE_MCS,
- i_busPos);
- if (!mcsTgt) break;
- mcsChip = ( ExtensibleChip * )systemPtr->GetChip( mcsTgt );
- if (!mcsChip) break;
- mbChip = getMcsDataBundle( mcsChip )->getMembChip();
- if (!mbChip) break;
- mbTgt = mbChip->GetChipHandle();
- if (!mbTgt) break;
- }
- else if ( i_busType == TYPE_MEMBUF )
- {
- mbTgt = i_chip->GetChipHandle();
- if (!mbTgt) break;
- mcsChip = getMembufDataBundle( i_chip )->getMcsChip();
- if (!mcsChip) break;
- mcsTgt = mcsChip->GetChipHandle();
- if (!mcsTgt) break;
- mbChip = i_chip;
- }
- else
- {
- // We only need to clean secondary FIR bits for DMI bus
- l_rc = SUCCESS;
- break;
- }
-
- SCAN_COMM_REGISTER_CLASS * mciAnd = mcsChip->getRegister("MCIFIR_AND");
- SCAN_COMM_REGISTER_CLASS * mbiAnd = mbChip->getRegister( "MBIFIR_AND");
-
- mciAnd->setAllBits(); mciAnd->ClearBit(10);
- mbiAnd->setAllBits(); mbiAnd->ClearBit(10);
-
- l_rc = mciAnd->Write();
- l_rc |= mbiAnd->Write();
-
- if ( SUCCESS != l_rc )
- {
- PRDF_ERR( "[cleanupSecondaryFirBits] Write() failed on "
- "MCIFIR/MBIFIR: MCS=0x%08x MEMB=0x%08x",
- mcsChip->GetId(), mbChip->GetId() );
- break;
- }
-
- } while (0);
-
- return l_rc;
-}
-
-} // end namespace LaneRepair
-} // end namespace PRDF
diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfLaneRepair.H b/src/usr/diag/prdf/common/plat/pegasus/prdfLaneRepair.H
deleted file mode 100644
index cdae757ce..000000000
--- a/src/usr/diag/prdf/common/plat/pegasus/prdfLaneRepair.H
+++ /dev/null
@@ -1,79 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/diag/prdf/common/plat/pegasus/prdfLaneRepair.H $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2013,2018 */
-/* [+] 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 */
-
-#ifndef _PRDFLANEREPAIR_H
-#define _PRDFLANEREPAIR_H
-
-/** @file prdfLaneRepair.H
- * @brief Common Lane Repair code for Lane Spared, Spares Exceeded, and
- * Too Many Bus Errors conditions.
- */
-
-#include<iipconst.h>
-#include <targeting/common/target.H>
-
-namespace PRDF
-{
-
-class ExtensibleChip;
-struct STEP_CODE_DATA_STRUCT;
-
-namespace LaneRepair
-{
- /**
- * @brief Handles a Lane Repair Event
- * @param i_chip Chip that detected the lane repair event
- * @param i_busType Bus connection type (X,A, MEMBUF, or MCS)
- * @param i_busPos Bus position
- * @param i_sc The step code data struct.
- * @param i_spareDeployed True if FIR bit indicates a spare was deployed
- * @return Non-SUCCESS if an internal function fails, SUCCESS otherwise.
- */
- int32_t handleLaneRepairEvent (ExtensibleChip * i_chip,
- TARGETING::TYPE i_busType,
- uint32_t i_busPos,
- STEP_CODE_DATA_STRUCT & i_sc,
- bool i_spareDeployed);
-
- // Utility functions for secondary FIR bits
-
- /**
- * @brief clean up secondary FIR bits ( MBI/MCIFIR bit 10 )
- * @param i_chip Chip that detected the lane repair event
- * @param i_busType Bus connection type (X,A, MEMBUF, or MCS)
- * @param i_busPos Bus position
- * @note This will only clear FIR bits if spare deploy attention is present
- * on DMI bus. It does not check for spare deployed attention type
- * Calling function should make ensure that.
- * @return Non-SUCCESS if an internal function fails, SUCCESS otherwise.
- */
- int32_t cleanupSecondaryFirBits( ExtensibleChip * i_chip,
- TARGETING::TYPE i_busType,
- uint32_t i_busPos );
-
-} // end namespace LaneRepair
-} // end namespace PRDF
-
-#endif /* _PRDFLANEREPAIR_H */
diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfP8DataBundle.H b/src/usr/diag/prdf/common/plat/pegasus/prdfP8DataBundle.H
deleted file mode 100644
index cd0922cdb..000000000
--- a/src/usr/diag/prdf/common/plat/pegasus/prdfP8DataBundle.H
+++ /dev/null
@@ -1,139 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/diag/prdf/common/plat/pegasus/prdfP8DataBundle.H $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2013,2015 */
-/* [+] 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 */
-
-#ifndef __prdfP8DataBundle_H
-#define __prdfP8DataBundle_H
-
-/** @file prdfP8DataBundle.H
- * @brief Contains the data bundle for a P8 MCS object.
- */
-
-#include <iipSystem.h>
-#include <prdfExtensibleChip.H>
-#include <prdfGlobal.H>
-#include <prdfPlatServices.H>
-#include <prdfThresholdUtils.H>
-
-namespace PRDF
-{
-
-/**
- * @brief The P8 data bundle.
- */
-class P8DataBundle : public DataBundle
-{
- public: // functions
-
- /*
- * @brief Proc PLL chiplet types
- */
- enum ChipletType
- {
- ABUS,
- EX,
- PB,
- NV,
- };
-
- /*
- * @brief Proc PLL Error Reg data structure
- */
- struct PllErrReg
- {
- ExtensibleChip * chip;
- ChipletType type;
- SCAN_COMM_REGISTER_CLASS * errReg;
- SCAN_COMM_REGISTER_CLASS * configReg;
- PllErrReg() : chip(NULL), errReg(NULL), configReg(NULL) {}
- };
-
- typedef std::vector<PllErrReg> ProcPllErrRegList;
- typedef ProcPllErrRegList::iterator ProcPllErrRegListIter;
-
-
- /**
- * @brief Constructor.
- * @param i_chip The P8 chip.
- */
- explicit P8DataBundle( ExtensibleChip * i_chip ) :
- iv_todIgnoreAnalysisThr( TimeBasedThreshold(
- 32, ThresholdResolution::ONE_DAY) )
- {}
-
- /**
- * @brief Destructor.
- */
- ~P8DataBundle() {}
-
- /**
- * @brief get a list of Proc PLL Error reg data
- * @return returns a list of Proc PLL Error reg data
- */
- ProcPllErrRegList & getProcPllErrRegList()
- {
- return iv_procPllErrRegList;
- }
-
- /**
- * @return get instance of TimeBasedThreshold meant for TOD error.
- * @note This instance is meant to threshold all the TOD errors for an
- * FSP based OPAL system. Once threshold is met, these errors
- * are masked.
- */
- TimeBasedThreshold & getTodErrorIgnoreThr()
- {
- return iv_todIgnoreAnalysisThr;
- }
-
- private: // functions
-
- P8DataBundle( const P8DataBundle & );
- const P8DataBundle & operator=( const P8DataBundle & );
-
- private: // instance variables
-
- ProcPllErrRegList iv_procPllErrRegList;
- TimeBasedThreshold iv_todIgnoreAnalysisThr; ///< policy for masking TOD Err
-
-
-
-};
-
-//------------------------------------------------------------------------------
-
-/**
- * @brief Wrapper function for the P8DataBundle.
- * @param i_chip The P8 chip.
- * @return This P8's data bundle.
- */
-inline P8DataBundle * getDataBundle( ExtensibleChip * i_chip )
-{
- return static_cast<P8DataBundle *>(i_chip->getDataBundle());
-}
-
-} // end namespace PRDF
-
-#endif // __prdfP8DataBundle_H
-
diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfP8ExExtraSig.H b/src/usr/diag/prdf/common/plat/pegasus/prdfP8ExExtraSig.H
deleted file mode 100755
index 5c30bb571..000000000
--- a/src/usr/diag/prdf/common/plat/pegasus/prdfP8ExExtraSig.H
+++ /dev/null
@@ -1,57 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/diag/prdf/common/plat/pegasus/prdfP8ExExtraSig.H $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2014 */
-/* [+] 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 */
-
-#ifndef __prdfP8ExExtraSig_H
-#define __prdfP8ExExtraSig_H
-
-#include <prdrSignatures.H>
-
-PRDR_ERROR_SIGNATURE( P8EX_L2CE_LD_ISSUED, 0x0fff0000, "L2FIR[0]",
- "L2 Cache Read CE, Line Delete Issued");
-PRDR_ERROR_SIGNATURE( P8EX_L2CE_LD_FAILURE, 0x0fff0001, "L2FIR[0]",
- "L2 Cache Read CE, Line Delete Failed");
-PRDR_ERROR_SIGNATURE( P8EX_L2_ARRAY_REPAIR_COMPLETE, 0x0fff0002, "L2FIR[0]",
- "L2 Array Repair Complete");
-PRDR_ERROR_SIGNATURE( P8EX_L2_ARRAY_REPAIR_FAILURE, 0x0fff0003, "L2FIR[0]",
- "L2 Array Repair Failure");
-PRDR_ERROR_SIGNATURE( P8EX_L2_ARRAY_REPAIR_OUT_OF, 0x0fff0004, "L2FIR[0]",
- "No L2 Array Repairs Left");
-PRDR_ERROR_SIGNATURE( P8EX_L2_ARRAY_REPAIR_HW_OUT_OF, 0x0fff000a, "L2FIR[0]",
- "No L2 Array Repairs Left in HW");
-
-PRDR_ERROR_SIGNATURE( P8EX_L3CE_LD_ISSUED, 0x0fff0005, "L3FIR[4]",
- "L3 Cache Read CE, Line Delete Issued");
-PRDR_ERROR_SIGNATURE( P8EX_L3CE_LD_FAILURE, 0x0fff0006, "L3FIR[4]",
- "L3 Cache Read CE, Line Delete Failed");
-PRDR_ERROR_SIGNATURE( P8EX_L3_ARRAY_REPAIR_COMPLETE, 0x0fff0007, "L3FIR[4]",
- "L3 Array Repair Complete");
-PRDR_ERROR_SIGNATURE( P8EX_L3_ARRAY_REPAIR_FAILURE, 0x0fff0008, "L3FIR[4]",
- "L3 Array Repair Failure");
-PRDR_ERROR_SIGNATURE( P8EX_L3_ARRAY_REPAIR_OUT_OF, 0x0fff0009, "L3FIR[4]",
- "No L3 Array Repairs Left");
-PRDR_ERROR_SIGNATURE( P8EX_L3_ARRAY_REPAIR_HW_OUT_OF, 0x0fff000b, "L3FIR[4]",
- "No L3 Array Repairs Left in HW");
-
-#endif // __prdfP8ExExtraSig_H
diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfP8Proc.C b/src/usr/diag/prdf/common/plat/pegasus/prdfP8Proc.C
deleted file mode 100755
index d435aac3b..000000000
--- a/src/usr/diag/prdf/common/plat/pegasus/prdfP8Proc.C
+++ /dev/null
@@ -1,1035 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/diag/prdf/common/plat/pegasus/prdfP8Proc.C $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2012,2018 */
-/* [+] 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 */
-
-/** @file prdfP8Proc.C
- * @brief Contains all the plugin code for the PRD P8 Proc
- */
-#include <prdfPluginDef.H>
-#include <iipServiceDataCollector.h>
-#include <prdfExtensibleChip.H>
-#include <prdfPlatServices.H>
-#include <prdfPluginMap.H>
-#include <prdfLaneRepair.H>
-#include <prdfPhbUtils.H>
-#include <prdfP8DataBundle.H>
-#include <prdfP8McsDataBundle.H>
-#include <prdfCalloutUtil.H>
-#include <prdfCenMemUtils.H>
-
-using namespace TARGETING;
-
-namespace PRDF
-{
-
-using namespace PlatServices;
-using namespace LaneRepair;
-
-namespace Proc
-{
-
-//##############################################################################
-//
-// Special plugins
-//
-//##############################################################################
-
-/**
- * @brief Plugin that initializes the P8 Mba data bundle.
- * @param i_chip P8 chip.
- * @return SUCCESS
- */
-int32_t Initialize( ExtensibleChip * i_chip )
-{
- i_chip->getDataBundle() = new P8DataBundle( i_chip );
- return SUCCESS;
-}
-PRDF_PLUGIN_DEFINE_NS( NaplesProc, Proc, Initialize );
-PRDF_PLUGIN_DEFINE_NS( MuranoVeniceProc, Proc, Initialize );
-
-/**
- * @brief Checks the Global Broadcast register.
- * @param i_reg - the global recoverable register
- * @param i_tpReg - the TP chiplet recoverable register
- * @return true if only MC bits are on.
- */
-static inline bool OnlyMcRec (SCAN_COMM_REGISTER_CLASS * i_reg,
- SCAN_COMM_REGISTER_CLASS * i_tpReg)
-{
- bool rc = false;
-
- if ( (0 == i_reg->GetBitFieldJustified(2,23)) &&
- (0 == i_tpReg->GetBitFieldJustified(1,2)) &&
- (0 != i_tpReg->GetBitFieldJustified(3,8)) &&
- (0 == i_tpReg->GetBitFieldJustified(11,8)) )
- {
- rc = true;
- }
- return rc;
-}
-
-/**
- * @brief Checks the GLobal CS Brodacast register and
- * the PBXSTP Chiplet register
- * @param i_glcs - the Global CS Broadcast register
- * @param i_tpcs - the TPXSTP register
- * @param i_pbcs - the PBXSTP register
- * @return true if only mem bits are on in CS, or,
- * if the only other CS is External CS.
- */
-static inline bool OnlyMcOrExtCS (SCAN_COMM_REGISTER_CLASS * i_glcs,
- SCAN_COMM_REGISTER_CLASS * i_tpCs,
- SCAN_COMM_REGISTER_CLASS * i_pbcs)
-{
- bool rc = false;
-
- if (((0 == i_glcs->GetBitFieldJustified(3,22)) && //No CS besides TP and PB
- (0 == i_tpCs->GetBitFieldJustified(3,2 )) && //No CS in TP besides MCs
- (0 == i_tpCs->GetBitFieldJustified(13,8))) //No CS in TP besides MCs
- && //and
- (((!i_glcs->IsBitSet(2)) && // if its not from PB
- (0 != i_tpCs->GetBitFieldJustified(5,8))) // and it is from a MC
- || // or
- ((i_glcs->IsBitSet(2)) && // it is from PB
- (i_pbcs->IsBitSet(2)) && // and its external
- (0 == i_pbcs->GetBitFieldJustified(3,18)))))// and nothing else in PB
- {
- rc = true;
- }
-
- return rc;
-}
-
-/**
- * @brief Used when the chip has a CHECK_STOP attention to check for the
- * presence of recovered errors.
- * @param i_chip - P8 chip.
- * @param o_hasRecovered - true if chip has a recovered that we want to analyze
- * @return SUCCESS
- */
-int32_t CheckForRecovered(ExtensibleChip * i_chip,
- bool & o_hasRecovered)
-{
- o_hasRecovered = false;
- int32_t o_rc = SUCCESS;
-
- SCAN_COMM_REGISTER_CLASS * l_rer =
- i_chip->getRegister("GLOBAL_RE_FIR");
- o_rc |= l_rer->Read();
-
- SCAN_COMM_REGISTER_CLASS * l_TPrer =
- i_chip->getRegister("TP_CHIPLET_RE_FIR");
- o_rc |= l_TPrer->Read();
-
- SCAN_COMM_REGISTER_CLASS * l_TPxstp =
- i_chip->getRegister("TP_CHIPLET_CS_FIR");
- o_rc |= l_TPxstp->Read();
-
- SCAN_COMM_REGISTER_CLASS * l_xstop =
- i_chip->getRegister("GLOBAL_CS_FIR");
- o_rc |= l_xstop->Read();
-
- SCAN_COMM_REGISTER_CLASS * l_pbXstpFir =
- i_chip->getRegister("PB_CHIPLET_CS_FIR");
- o_rc |= l_pbXstpFir->Read();
-
- if (o_rc)
- {
- PRDF_ERR( "[CheckForRecovered] SCOM fail on 0x%08x rc=%x",
- i_chip->GetId(), o_rc);
- return o_rc;
- }
-
- if ( 0 != l_rer->GetBitFieldJustified(0,32) )
- {
- if ( 0 == l_TPrer->GetBitFieldJustified(3,8) )
- { //No MC Recov
- o_hasRecovered = true;
- }
- else if ( 0 != l_TPxstp->GetBitFieldJustified(5,8) )
- {
- // There is Mc Recov and Mc xstop
- if ( OnlyMcRec(l_rer, l_TPrer) &&
- OnlyMcOrExtCS(l_xstop, l_TPxstp, l_pbXstpFir) )
- {
- // Ignore the Mc Recoverable if only the Mc bits are
- // on in Global Recoverable reg, and, either the only
- // Global CS bits are Mc or there is an External CS.
- }
- else
- {
- o_hasRecovered = true;
- }
- }
- else
- {
- // MC Recov does not match MC Xstop
- o_hasRecovered = true;
- }
- }
-
- return SUCCESS;
-}
-PRDF_PLUGIN_DEFINE_NS( NaplesProc, Proc, CheckForRecovered );
-PRDF_PLUGIN_DEFINE_NS( MuranoVeniceProc, Proc, CheckForRecovered );
-
-//------------------------------------------------------------------------------
-/**
- * @brief Used when the chip is queried, by the fabric domain, for RECOVERED
- * attentions to assign a severity to the attention for sorting.
- * @param[in] i_chip - P8 chip
- * @param[out] o_sev - Priority order (lowest to highest):
- * 1 - Core chiplet checkstop
- * 2 - Core chiplet error
- * 3 - PCB chiplet error (TOD logic)
- * 4 - Other error
- * 5 - Memory controller chiplet
- *
- * @return SUCCESS
- *
- */
-int32_t CheckForRecoveredSev(ExtensibleChip * i_chip,
- uint32_t & o_sev)
-{
- int32_t o_rc = SUCCESS;
- bool l_runtime = atRuntime();
-
- SCAN_COMM_REGISTER_CLASS * l_rer = NULL;
- SCAN_COMM_REGISTER_CLASS * l_TPrer = NULL;
-
- SCAN_COMM_REGISTER_CLASS * l_unitxstp = NULL;
- if ( l_runtime )
- {
- l_unitxstp = i_chip->getRegister("GLOBALUNITXSTPFIR");
- o_rc |= l_unitxstp->Read();
- }
-
- l_rer = i_chip->getRegister("GLOBAL_RE_FIR");
- o_rc |= l_rer->Read();
- l_TPrer = i_chip->getRegister("TP_CHIPLET_RE_FIR");
- o_rc |= l_TPrer->Read();
-
- if (o_rc)
- {
- PRDF_ERR( "[CheckForRecoveredSev] SCOM fail on 0x%08x rc=%x",
- i_chip->GetId(), o_rc);
- return o_rc;
- }
-
- if (l_TPrer->GetBitFieldJustified(3,8) != 0)
- {
- // errors from MCS chiplets
- o_sev = 5;
- }
- else if(l_rer->IsBitSet(2) || l_rer->IsBitSet(4) || l_rer->IsBitSet(8))
- {
- // errors from PB, X, or A bus chiplets
- o_sev = 4;
- }
- else if(l_rer->IsBitSet(1))
- {
- // error from TP (other than MCS chiplets)
- o_sev = 3;
- }
- else if(l_runtime &&
- (l_rer->GetBitFieldJustified(16,16) &
- l_unitxstp->GetBitFieldJustified(16,16)) == 0 )
- {
- // core recoverable
- o_sev = 2;
- }
- else
- {
- // core checkstop
- o_sev = 1;
- }
-
- return SUCCESS;
-
-}
-PRDF_PLUGIN_DEFINE_NS( NaplesProc, Proc, CheckForRecoveredSev );
-PRDF_PLUGIN_DEFINE_NS( MuranoVeniceProc, Proc, CheckForRecoveredSev );
-
-/** @func GetCheckstopInfo
- * To be called from the fabric domain to gather Checkstop information. This
- * information is used in a sorting algorithm.
- *
- * This is a plugin function: GetCheckstopInfo
- *
- * @param i_chip - The chip.
- * @param o_wasInternal - True if this chip has an internal checkstop.
- * @param o_externalChips - List of external fabrics driving checkstop.
- * @param o_wofValue - Current WOF value (unused for now).
- */
-int32_t GetCheckstopInfo( ExtensibleChip * i_chip,
- bool & o_wasInternal,
- TargetHandleList & o_externalChips,
- uint64_t & o_wofValue )
-{
- // Clear parameters.
- o_wasInternal = false;
- o_externalChips.erase(o_externalChips.begin(), o_externalChips.end());
- o_wofValue = 0;
-
- SCAN_COMM_REGISTER_CLASS * l_globalFir =
- i_chip->getRegister("GLOBAL_CS_FIR");
-
- SCAN_COMM_REGISTER_CLASS * l_pbXstpFir =
- i_chip->getRegister("PB_CHIPLET_CS_FIR");
-
- SCAN_COMM_REGISTER_CLASS * l_extXstpFir =
- i_chip->getRegister("PBEXTFIR");
-
- int32_t o_rc = SUCCESS;
- o_rc |= l_globalFir->Read();
- o_rc |= l_pbXstpFir->Read();
- o_rc |= l_extXstpFir->Read();
-
- if(o_rc)
- {
- PRDF_ERR( "[GetCheckstopInfo] SCOM fail on 0x%08x rc=%x",
- i_chip->GetId(), o_rc);
- return o_rc;
- }
-
- if ((0 != l_globalFir->GetBitFieldJustified(0,32)) &&
- (!l_globalFir->IsBitSet(2) ||
- !l_pbXstpFir->IsBitSet(2)))
- o_wasInternal = true;
-
- // Get connected chips.
- uint32_t l_connectedXstps = l_extXstpFir->GetBitFieldJustified(0,7);
- uint32_t l_positions[] =
- {
- 0, // bit 0 - XBUS 0
- 1, // bit 1 - XBUS 1
- 2, // bit 2 - XBUS 2
- 3, // bit 3 - XBUS 3
- 0, // bit 4 - ABUS 0
- 1, // bit 5 - ABUS 1
- 2 // bit 6 - ABUS 2
- };
-
- for (int i = 0, j = 0x40; i < 7; i++, j >>= 1)
- {
- if (0 != (j & l_connectedXstps))
- {
- TargetHandle_t l_connectedFab =
- getConnectedPeerProc(i_chip->GetChipHandle(),
- i<4 ? TYPE_XBUS : TYPE_ABUS,
- l_positions[i]);
-
- if (NULL != l_connectedFab)
- {
- o_externalChips.push_back(l_connectedFab);
- }
- }
- }
-
- // Read WOF value.
- SCAN_COMM_REGISTER_CLASS * l_wof = i_chip->getRegister("TODWOF");
- o_rc |= l_wof->Read();
-
- if(o_rc)
- {
- PRDF_ERR( "[GetCheckstopInfo] SCOM fail on 0x%08x rc=%x",
- i_chip->GetId(), o_rc);
- return o_rc;
- }
-
- o_wofValue = l_wof->GetBitFieldJustified(0,64);
-
- return SUCCESS;
-
-}
-PRDF_PLUGIN_DEFINE_NS( NaplesProc, Proc, GetCheckstopInfo );
-PRDF_PLUGIN_DEFINE_NS( MuranoVeniceProc, Proc, GetCheckstopInfo );
-
-int32_t CoreConfiguredAndNotHostboot(ExtensibleChip * i_chip,
- bool & o_isCoreConfigured)
-{
- o_isCoreConfigured = false;
-
- // if at not at runtime just return o_isCoreConfigured = false to prevent
- // the default reg capture
- if (atRuntime())
- {
- // make sure this chip has config'd cores
- TargetHandleList l_coreList =
- PlatServices::getConnected(i_chip->GetChipHandle(), TYPE_EX);
-
- if (l_coreList.size() > 0)
- o_isCoreConfigured = true;
- }
-
- return SUCCESS;
-}
-PRDF_PLUGIN_DEFINE_NS(NaplesProc, Proc, CoreConfiguredAndNotHostboot);
-PRDF_PLUGIN_DEFINE_NS(MuranoVeniceProc, Proc, CoreConfiguredAndNotHostboot);
-
-//------------------------------------------------------------------------------
-// Lane Repair plugins
-//------------------------------------------------------------------------------
-
-/**
- * @brief Handles Max Spares Exceeded attentions on the MCS.
- *
- * This function will first check for channel fail conditions on the MCS side of
- * the bus, handle the attention, then do channel fail cleanup if needed. It
- * would be preferred that the channel fail handling would be done in a more
- * generic way, like it is done on the MCS and MEMBUF pre/post analysis
- * functions. Unfortunately, the IOMCFIRs are not on the MCS chiplet, which
- * complicates things. Fortunately, the only attentions on the IOMCFIRs that are
- * hardwired to channel fail are the Max Spares Exceeded attentions. Therefore,
- * we can deal with the channel fail handling within this attention.
- *
- * @param i_procChip A PROC chip.
- * @param i_sc The step code data struct.
- * @param i_mcsPos The MCS position.
- * @return SUCCESS always.
- */
-int32_t maxSparesExceeded_MCS( ExtensibleChip * i_procChip,
- STEP_CODE_DATA_STRUCT & i_sc,
- uint32_t i_mcsPos )
-{
- #define PRDF_FUNC "[Proc::maxSparesExceeded_MCS] "
-
- int32_t l_rc = SUCCESS;
-
- TargetHandle_t procTrgt = i_procChip->GetChipHandle();
- TargetHandle_t mcsTrgt = NULL;
- ExtensibleChip * mcsChip = NULL;
- ExtensibleChip * membChip = NULL;
-
- do
- {
- // Get the connected MCS chip
- mcsTrgt = getConnectedChild( procTrgt, TYPE_MCS, i_mcsPos );
- if ( NULL == mcsTrgt )
- {
- PRDF_ERR( PRDF_FUNC "getConnectedChild() returned NULL" );
- l_rc = FAIL; break;
- }
-
- mcsChip = (ExtensibleChip *)systemPtr->GetChip( mcsTrgt );
- if ( NULL == mcsChip )
- {
- PRDF_ERR( PRDF_FUNC "GetChip() returned NULL" );
- l_rc = FAIL; break;
- }
-
- // Do additional bus analysis.
- l_rc = handleLaneRepairEvent( i_procChip, TYPE_MCS, i_mcsPos, i_sc,
- false );
- if ( SUCCESS != l_rc )
- {
- PRDF_ERR( PRDF_FUNC "handleLaneRepairEvent() failed" );
- break;
- }
-
- // Get the connected MEMBUF chip.
- P8McsDataBundle * mcsdb = getMcsDataBundle( mcsChip );
- membChip = mcsdb->getMembChip();
- if ( NULL == membChip )
- {
- PRDF_ERR( PRDF_FUNC "getMembChip() returned NULL" );
- l_rc = FAIL; break;
- }
-
- } while (0);
-
- if ( SUCCESS != l_rc )
- {
- PRDF_ERR( PRDF_FUNC "Failed: i_procChip=0x%08x i_mcsPos=%d",
- i_procChip->GetId(), i_mcsPos );
- CalloutUtil::defaultError( i_sc );
- }
-
- return SUCCESS; // Always return SUCCESS
-
- #undef PRDF_FUNC
-}
-
-//------------------------------------------------------------------------------
-
-#define PLUGIN_LANE_REPAIR( BUS, TYPE, POS ) \
-int32_t spareDeployed_##BUS##POS( ExtensibleChip * i_chip, \
- STEP_CODE_DATA_STRUCT & i_sc ) \
-{ return handleLaneRepairEvent(i_chip, TYPE, POS, i_sc, true); } \
-PRDF_PLUGIN_DEFINE_NS( NaplesProc, Proc, spareDeployed_##BUS##POS ); \
-PRDF_PLUGIN_DEFINE_NS( MuranoVeniceProc, Proc, spareDeployed_##BUS##POS ); \
- \
-int32_t maxSparesExceeded_##BUS##POS( ExtensibleChip * i_chip, \
- STEP_CODE_DATA_STRUCT & i_sc ) \
-{ return handleLaneRepairEvent(i_chip, TYPE, POS, i_sc, false); } \
-PRDF_PLUGIN_DEFINE_NS( NaplesProc, Proc, maxSparesExceeded_##BUS##POS ); \
-PRDF_PLUGIN_DEFINE_NS( MuranoVeniceProc, Proc, maxSparesExceeded_##BUS##POS ); \
-\
-int32_t tooManyBusErrors_##BUS##POS( ExtensibleChip * i_chip, \
- STEP_CODE_DATA_STRUCT & i_sc ) \
-{ return handleLaneRepairEvent(i_chip, TYPE, POS, i_sc, false); } \
-PRDF_PLUGIN_DEFINE_NS( NaplesProc, Proc, tooManyBusErrors_##BUS##POS ); \
-PRDF_PLUGIN_DEFINE_NS( MuranoVeniceProc, Proc, tooManyBusErrors_##BUS##POS );
-
-PLUGIN_LANE_REPAIR( xbus, TYPE_XBUS, 0 )
-PLUGIN_LANE_REPAIR( xbus, TYPE_XBUS, 1 )
-PLUGIN_LANE_REPAIR( xbus, TYPE_XBUS, 2 )
-PLUGIN_LANE_REPAIR( xbus, TYPE_XBUS, 3 )
-
-PLUGIN_LANE_REPAIR( abus, TYPE_ABUS, 0 )
-PLUGIN_LANE_REPAIR( abus, TYPE_ABUS, 1 )
-PLUGIN_LANE_REPAIR( abus, TYPE_ABUS, 2 )
-
-#undef PLUGIN_LANE_REPAIR
-
-#define PLUGIN_LANE_REPAIR( POS ) \
-int32_t spareDeployed_dmiBus##POS( ExtensibleChip * i_chip, \
- STEP_CODE_DATA_STRUCT & i_sc ) \
-{ return handleLaneRepairEvent(i_chip, TYPE_MCS, POS, i_sc, true); } \
-PRDF_PLUGIN_DEFINE_NS( NaplesProc, Proc, spareDeployed_dmiBus##POS ); \
-PRDF_PLUGIN_DEFINE_NS( MuranoVeniceProc, Proc, spareDeployed_dmiBus##POS ); \
- \
-int32_t maxSparesExceeded_dmiBus##POS( ExtensibleChip * i_chip, \
- STEP_CODE_DATA_STRUCT & i_sc ) \
-{ return maxSparesExceeded_MCS(i_chip, i_sc, POS); } \
-PRDF_PLUGIN_DEFINE_NS( NaplesProc, Proc, maxSparesExceeded_dmiBus##POS ); \
-PRDF_PLUGIN_DEFINE_NS( MuranoVeniceProc, Proc, maxSparesExceeded_dmiBus##POS );
-
-// Too Many Bus Error attentions not handled on DMI bus.
-
-PLUGIN_LANE_REPAIR( 0 )
-PLUGIN_LANE_REPAIR( 1 )
-PLUGIN_LANE_REPAIR( 2 )
-PLUGIN_LANE_REPAIR( 3 )
-PLUGIN_LANE_REPAIR( 4 )
-PLUGIN_LANE_REPAIR( 5 )
-PLUGIN_LANE_REPAIR( 6 )
-PLUGIN_LANE_REPAIR( 7 )
-
-#undef PLUGIN_LANE_REPAIR
-
-/**
- * @brief checks if MCS block is configured.
- * @param i_chip P8 chip.
- * @param i_mcsBlk MCS block ( 0 : ( 0- 3 MCS) ), ( 1 :( 4-7 MCS ))
- * @param o_isMcsBlkConfigured TRUE if block is configured false otherwise.
- * @return SUCCESS
- */
-int32_t mcsBlockConfigured( ExtensibleChip * i_chip,
- uint8_t i_mcsBlk,
- bool & o_isMcsBlkConfigured )
-{
- o_isMcsBlkConfigured = false;
-
- // Starting MCS position for MCS block
- uint8_t firstMcsPos[ 2 ] = { 0, 4 };
-
- // Get functional MCS list
- TargetHandleList l_mcsList =
- PlatServices::getConnected(i_chip->GetChipHandle(), TYPE_MCS);
-
- for ( TargetHandleList::iterator i = l_mcsList.begin();
- i != l_mcsList.end(); ++i )
- {
- uint8_t pos = getTargetPosition(*i);
- if( ( pos >= firstMcsPos[ i_mcsBlk ] ) &&
- ( pos <= ( firstMcsPos[ i_mcsBlk ] + 3) ) )
- {
- o_isMcsBlkConfigured = true;
- break;
- }
- }
-
- return SUCCESS;
-}
-
-#define PLUGIN_MCS_BLOCK_CONFIGURED( POS ) \
-int32_t mcsBlockConfigured_##POS( ExtensibleChip * i_chip, \
- bool & o_isMcsBlkConfigured ) \
-{ return mcsBlockConfigured( i_chip, POS, o_isMcsBlkConfigured ); } \
-PRDF_PLUGIN_DEFINE_NS( NaplesProc, Proc, mcsBlockConfigured_##POS ); \
-PRDF_PLUGIN_DEFINE_NS( MuranoVeniceProc, Proc, mcsBlockConfigured_##POS );
-
-PLUGIN_MCS_BLOCK_CONFIGURED( 0 )
-PLUGIN_MCS_BLOCK_CONFIGURED( 1 )
-
-#undef PLUGIN_MCS_BLOCK_CONFIGURED
-
-//------------------------------------------------------------------------------
-// Callout plugins
-//------------------------------------------------------------------------------
-
-/**
- * @brief Call to check for configured PHB (before capturing FFDC)
- * @param i_chip P8 chip
- * @param i_phbPos PHB position
- * @param o_isPhbConfigured set to true if the PHB configured
- * @returns Success
- */
-int32_t phbConfigured( ExtensibleChip * i_chip, uint32_t i_phbPos,
- bool & o_isPhbConfigured )
-{
- #define PRDF_FUNC "[Proc::phbConfigured] "
-
- o_isPhbConfigured = false;
-
- uint32_t maxPhbs = 3; // Murano/Venice
- if ( MODEL_NAPLES == getProcModel(i_chip->GetChipHandle()) )
- maxPhbs = 4;
-
- do
- {
- if ( maxPhbs <= i_phbPos )
- {
- // This PHB doesn't exist, return false
- break;
- }
-
- char reg_str[64];
- snprintf( reg_str, 64, "PCI_ETU_RESET_%d", i_phbPos );
-
- SCAN_COMM_REGISTER_CLASS * reg = i_chip->getRegister( reg_str );
- if ( NULL == reg )
- {
- PRDF_ERR( PRDF_FUNC"getRegister() failed for %s", reg_str );
- break;
- }
-
- int32_t l_rc = reg->Read();
- if ( SUCCESS != l_rc )
- {
- PRDF_ERR( PRDF_FUNC"Read() failed for %s: target=0x%08x",
- reg_str, i_chip->GetId() );
- break;
- }
-
- // If bit 0 is cleared then the PHB is configured
- if ( !reg->IsBitSet(0) )
- {
- o_isPhbConfigured = true;
- }
-
- } while(0);
-
- return SUCCESS;
-
- #undef PRDF_FUNC
-}
-
-#define PLUGIN_PHB_CONFIGURED( POS ) \
-int32_t phbConfigured_##POS( ExtensibleChip * i_chip, \
- bool & o_isPhbConfigured ) \
-{ return phbConfigured( i_chip, POS, o_isPhbConfigured ); } \
-PRDF_PLUGIN_DEFINE_NS( NaplesProc, Proc, phbConfigured_##POS ); \
-PRDF_PLUGIN_DEFINE_NS( MuranoVeniceProc, Proc, phbConfigured_##POS );
-
-PLUGIN_PHB_CONFIGURED( 0 )
-PLUGIN_PHB_CONFIGURED( 1 )
-PLUGIN_PHB_CONFIGURED( 2 )
-PLUGIN_PHB_CONFIGURED( 3 )
-
-#undef PLUGIN_PHB_CONFIGURED
-
-//------------------------------------------------------------------------------
-
-/**
- * @brief calls out master Ex of the node and SBE FFDC
- * @param i_chip P8 chip
- * @param i_sc service data collector
- * @returns Success
- */
-int32_t deadManTimerCalloutAndFFDC( ExtensibleChip * i_chip,
- STEP_CODE_DATA_STRUCT & io_sc )
-{
- #define PRDF_FUNC "[deadManTimerCalloutAndFFDC] "
-
- TargetHandle_t l_procTgt = i_chip->GetChipHandle();
-
- TargetHandle_t l_masterCore = PlatServices::getMasterCore( l_procTgt );
- if( NULL == l_masterCore )
- {
- PRDF_ERR( PRDF_FUNC "Failed to get master core: PROC = 0x%08x",
- i_chip->GetId() );
- }
- else
- io_sc.service_data->SetCallout( l_masterCore );
-
- // Call proc_extract_sbe_rc here to see what went wrong
- PlatServices::collectSBE_FFDC(l_procTgt);
-
- return SUCCESS;
-
- #undef PRDF_FUNC
-}
-PRDF_PLUGIN_DEFINE_NS( NaplesProc, Proc, deadManTimerCalloutAndFFDC );
-PRDF_PLUGIN_DEFINE_NS( MuranoVeniceProc, Proc, deadManTimerCalloutAndFFDC );
-
-//------------------------------------------------------------------------------
-
-/**
- * @brief Calls out the EX chiplet (MRU_LOW), if possible. Otherwise, calls
- * out the PROC (MRU_LOW)
- * @param i_chip P8 chip
- * @param io_sc service data collector
- * @returns SUCCESS
- */
-int32_t combinedResponseCallout( ExtensibleChip * i_chip,
- STEP_CODE_DATA_STRUCT & io_sc )
-{
- #define PRDF_FUNC "[Proc::combinedResponseCallout] "
-
- int32_t l_rc = SUCCESS;
-
- TargetHandle_t procTrgt = i_chip->GetChipHandle();
-
- SCAN_COMM_REGISTER_CLASS * reg = i_chip->getRegister("PB_CENT_CR_ERROR");
-
- do
- {
- l_rc = reg->Read();
- if ( SUCCESS != l_rc )
- {
- PRDF_ERR( PRDF_FUNC "Read() failed on PB_CENT_CR_ERROR" );
- break;
- }
-
- uint32_t tmp = reg->GetBitFieldJustified(0,3);
- if ( 0x02 != tmp ) // Must be 0b010 to continue
- {
- PRDF_ERR( PRDF_FUNC "Unsupported reason code: 0x%02x", tmp );
- l_rc = FAIL; break;
- }
-
- tmp = reg->GetBitFieldJustified(38,5);
- if ( 0x00 != tmp ) // Must be 0b00000 to continue
- {
- PRDF_ERR( PRDF_FUNC "Unsupported combined response encoding: 0x%02x",
- tmp );
- l_rc = FAIL; break;
- }
-
- if ( reg->IsBitSet(22) ) // Must be 0b0 to continue
- {
- PRDF_ERR( PRDF_FUNC "Operation not sourced by an EX chiplet" );
- l_rc = FAIL; break;
- }
-
- // Get the EX target
- tmp = reg->GetBitFieldJustified(23,4);
- TargetHandle_t exTrgt = getConnectedChild( procTrgt, TYPE_EX, tmp );
- if ( NULL == exTrgt )
- {
- PRDF_ERR( PRDF_FUNC "No connected EX chiplet at position %d", tmp );
- l_rc = FAIL; break;
- }
-
- // Callout the EX target
- io_sc.service_data->SetCallout( exTrgt, MRU_LOW );
-
- } while (0);
-
- if ( SUCCESS != l_rc )
- {
- PRDF_ERR( PRDF_FUNC "Unable to isolate to an EX chiplet. Calling out "
- "PROC 0x%08x instead.", i_chip->GetId() );
-
- io_sc.service_data->SetCallout( procTrgt, MRU_LOW );
- }
-
- return SUCCESS;
-
- #undef PRDF_FUNC
-}
-PRDF_PLUGIN_DEFINE_NS( NaplesProc, Proc, combinedResponseCallout );
-PRDF_PLUGIN_DEFINE_NS( MuranoVeniceProc, Proc, combinedResponseCallout );
-
-//------------------------------------------------------------------------------
-
-#define PLUGIN_BUS_INTERFACE_CALLOUT( BUS, TYPE, POS ) \
-int32_t calloutInterface_##BUS##POS( ExtensibleChip * i_chip, \
- STEP_CODE_DATA_STRUCT & io_sc ) \
-{ \
- CalloutUtil::calloutBusInterface(i_chip, MRU_LOW, TYPE, POS); \
- return SUCCESS; \
-} \
-PRDF_PLUGIN_DEFINE_NS( NaplesProc, Proc, calloutInterface_##BUS##POS ); \
-PRDF_PLUGIN_DEFINE_NS( MuranoVeniceProc, Proc, calloutInterface_##BUS##POS );
-
-PLUGIN_BUS_INTERFACE_CALLOUT( abus, TYPE_ABUS, 0 )
-PLUGIN_BUS_INTERFACE_CALLOUT( abus, TYPE_ABUS, 1 )
-PLUGIN_BUS_INTERFACE_CALLOUT( abus, TYPE_ABUS, 2 )
-
-PLUGIN_BUS_INTERFACE_CALLOUT( xbus, TYPE_XBUS, 0 )
-PLUGIN_BUS_INTERFACE_CALLOUT( xbus, TYPE_XBUS, 1 )
-PLUGIN_BUS_INTERFACE_CALLOUT( xbus, TYPE_XBUS, 2 )
-PLUGIN_BUS_INTERFACE_CALLOUT( xbus, TYPE_XBUS, 3 )
-
-PLUGIN_BUS_INTERFACE_CALLOUT( dmi, TYPE_MCS, 0 )
-PLUGIN_BUS_INTERFACE_CALLOUT( dmi, TYPE_MCS, 1 )
-PLUGIN_BUS_INTERFACE_CALLOUT( dmi, TYPE_MCS, 2 )
-PLUGIN_BUS_INTERFACE_CALLOUT( dmi, TYPE_MCS, 3 )
-PLUGIN_BUS_INTERFACE_CALLOUT( dmi, TYPE_MCS, 4 )
-PLUGIN_BUS_INTERFACE_CALLOUT( dmi, TYPE_MCS, 5 )
-PLUGIN_BUS_INTERFACE_CALLOUT( dmi, TYPE_MCS, 6 )
-PLUGIN_BUS_INTERFACE_CALLOUT( dmi, TYPE_MCS, 7 )
-
-#undef PLUGIN_BUS_INTERFACE_CALLOUT
-
-//------------------------------------------------------------------------------
-// PHB Plugins for IOPCIFIR_x
-//------------------------------------------------------------------------------
-
-/**
- * @brief Calls out PHB targets associated with given processor.
- * @param i_procChip Chip reporting attention.
- * @param io_sc The step code data struct.
- * @param i_iopciIdx IOPCIFIR instance number (0,1)
- * @param i_calloutPhbA True if error is from clock A, false otherwise.
- * @param i_calloutPhbB True if error is from clock B, false otherwise.
- * @return Always SUCCESS.
- */
-int32_t calloutPhb( ExtensibleChip * i_procChip, STEP_CODE_DATA_STRUCT & io_sc,
- uint32_t i_iopciIdx, bool i_calloutPhbA, bool i_calloutPhbB)
-{
- #define PRDF_FUNC "[Proc::calloutPhb] "
-
- uint32_t l_rc = SUCCESS;
-
- TargetHandle_t procTrgt = i_procChip->GetChipHandle();
- TargetHandle_t phbATrgt = NULL;
- TargetHandle_t phbBTrgt = NULL;
-
- // Callout clock A
- if ( i_calloutPhbA )
- {
- if ( SUCCESS != getConfiguredPHB(procTrgt, i_iopciIdx, 0, phbATrgt) )
- {
- PRDF_ERR( PRDF_FUNC "getConfiguredPHB(0) failed: i_procChip=0x%08x "
- "i_iopciIdx=%d", i_procChip->GetId(), i_iopciIdx );
- l_rc = FAIL;
- }
- else if ( NULL != phbATrgt )
- {
- io_sc.service_data->SetCallout( phbATrgt, MRU_MED, PRDF::NO_GARD );
- }
- }
-
- // Callout clock B
- if ( i_calloutPhbB )
- {
- if ( SUCCESS != getConfiguredPHB(procTrgt, i_iopciIdx, 1, phbBTrgt) )
- {
- PRDF_ERR( PRDF_FUNC "getConfiguredPHB(1) failed: i_procChip=0x%08x "
- "i_iopciIdx=%d", i_procChip->GetId(), i_iopciIdx );
- l_rc = FAIL;
- }
- else if ( (NULL != phbBTrgt) && (phbATrgt != phbBTrgt) )
- {
- io_sc.service_data->SetCallout( phbBTrgt, MRU_MED, PRDF::NO_GARD );
- }
- }
-
- // If no PHBs called out, callout 2nd level support.
- if ( (SUCCESS != l_rc) || (0 == io_sc.service_data->getMruListSize()) )
- io_sc.service_data->SetCallout( LEVEL2_SUPPORT, MRU_MED, NO_GARD );
-
- return SUCCESS; // Intentionally returns SUCCESS so rule code does not get
- // confused by undefined error code.
-
- #undef PRDF_FUNC
-}
-
-#define PLUGIN_CALLOUT_PHB( CLK,IOPCI,ERRA,ERRB ) \
-int32_t calloutPhbClk##CLK##_##IOPCI( ExtensibleChip * i_chip, \
- STEP_CODE_DATA_STRUCT & i_sc ) \
-{ \
- return calloutPhb( i_chip, i_sc, IOPCI, ERRA, ERRB ); \
-}\
-PRDF_PLUGIN_DEFINE_NS( NaplesProc, Proc, calloutPhbClk##CLK##_##IOPCI ); \
-PRDF_PLUGIN_DEFINE_NS( MuranoVeniceProc, Proc, calloutPhbClk##CLK##_##IOPCI );
-
-PLUGIN_CALLOUT_PHB( A, 0, true, false )
-PLUGIN_CALLOUT_PHB( B, 0, false, true )
-PLUGIN_CALLOUT_PHB( A, 1, true, false )
-PLUGIN_CALLOUT_PHB( B, 1, false, true )
-PLUGIN_CALLOUT_PHB( A, 2, true, false )
-PLUGIN_CALLOUT_PHB( B, 2, false, true )
-
-#undef PLUGIN_CALLOUT_PHB
-
-#define PLUGIN_CALLOUT_PHB( IOPCI ) \
-int32_t calloutPhbBothClks_##IOPCI( ExtensibleChip * i_chip, \
- STEP_CODE_DATA_STRUCT & i_sc ) \
-{ \
- return calloutPhb( i_chip, i_sc, IOPCI, true, true ); \
-}\
-PRDF_PLUGIN_DEFINE_NS( NaplesProc, Proc, calloutPhbBothClks_##IOPCI ); \
-PRDF_PLUGIN_DEFINE_NS( MuranoVeniceProc, Proc, calloutPhbBothClks_##IOPCI );
-
-PLUGIN_CALLOUT_PHB( 0 )
-PLUGIN_CALLOUT_PHB( 1 )
-PLUGIN_CALLOUT_PHB( 2 )
-
-#undef PLUGIN_CALLOUT_PHB
-
-//------------------------------------------------------------------------------
-// Misc plugins
-//------------------------------------------------------------------------------
-
-/**
- * @brief Checks if this PROC is NOT a Murano chip.
- * @param i_chip P8/P8+ chip.
- * @param o_isNotMurano TRUE if this PROC is NOT a Murano chip, FALSE
- * otherwise.
- * @return SUCCESS
- */
-int32_t isNotMuranoProc( ExtensibleChip * i_chip, bool & o_isNotMurano )
-{
- o_isNotMurano = false;
- if ( MODEL_MURANO != getProcModel( i_chip->GetChipHandle() ) )
- o_isNotMurano = true;
-
- return SUCCESS;
-}
-PRDF_PLUGIN_DEFINE_NS( NaplesProc, Proc, isNotMuranoProc );
-PRDF_PLUGIN_DEFINE_NS( MuranoVeniceProc, Proc, isNotMuranoProc );
-
-/**
- * @brief Checks if this PROC is a Naples chip.
- * @param i_chip P8/P8+ chip.
- * @param o_isNaples TRUE if this PROC is a Naples chip, FALSE otherwise.
- * @return SUCCESS
- */
-int32_t isNaplesProc( ExtensibleChip * i_chip, bool & o_isNaples )
-{
- o_isNaples = false;
- if ( MODEL_NAPLES == getProcModel( i_chip->GetChipHandle() ) )
- o_isNaples = true;
-
- return SUCCESS;
-}
-PRDF_PLUGIN_DEFINE_NS( NaplesProc, Proc, isNaplesProc );
-PRDF_PLUGIN_DEFINE_NS( MuranoVeniceProc, Proc, isNaplesProc );
-
-/**
- * * @brief Checks if this PROC is a Naples chip.
- * @param i_chip P8/P8+ chip.
- * @return FAIL if not naples, SUCCESS if naples
-*/
-int32_t failIfNaples( ExtensibleChip * i_chip )
-{
- if ( MODEL_NAPLES == getProcModel( i_chip->GetChipHandle() ) )
- return FAIL;
-
- return SUCCESS;
-}
-PRDF_PLUGIN_DEFINE_NS( NaplesProc, Proc, failIfNaples );
-PRDF_PLUGIN_DEFINE_NS( MuranoVeniceProc, Proc, failIfNaples );
-
-
-/**
- * @brief Checks if this PROC is NOT a Naples chip.
- * @param i_chip P8/P8+ chip.
- * @param o_isNotNaples TRUE if this PROC is NOT a Naples chip, FALSE
- * otherwise.
- * @return SUCCESS
- */
-int32_t isNotNaplesProc( ExtensibleChip * i_chip, bool & o_isNotNaples )
-{
- o_isNotNaples = false;
- if ( MODEL_NAPLES != getProcModel( i_chip->GetChipHandle() ) )
- o_isNotNaples = true;
-
- return SUCCESS;
-}
-PRDF_PLUGIN_DEFINE_NS( NaplesProc, Proc, isNotNaplesProc );
-PRDF_PLUGIN_DEFINE_NS( MuranoVeniceProc, Proc, isNotNaplesProc );
-
-/**
- * @brief Checks if this PROC is a Naples chip.
- * @param i_chip P8/P8+ chip.
- * @return SUCCESS if not naples, FAIL if naples
-*/
-int32_t failIfNotNaples( ExtensibleChip * i_chip )
-{
- if ( MODEL_NAPLES != getProcModel( i_chip->GetChipHandle() ) )
- return FAIL;
-
- return SUCCESS;
-}
-PRDF_PLUGIN_DEFINE_NS( NaplesProc, Proc, failIfNotNaples );
-PRDF_PLUGIN_DEFINE_NS( MuranoVeniceProc, Proc, failIfNotNaples );
-
-
-/**
- * @brief checks if proc is Murano chip and is at DD1.x level.
- * @param i_chip P8 chip.
- * @param o_isMuranoDD1 TRUE if chip is murano DD1.x FALSE otherwise.
- * @return SUCCESS
- */
-int32_t isMuranoDD1( ExtensibleChip * i_chip, bool & o_isMuranoDD1 )
-{
- o_isMuranoDD1 = false;
- if( ( MODEL_MURANO == getProcModel( i_chip->GetChipHandle() ) ) &&
- ( 0x20 > getChipLevel( i_chip->GetChipHandle() ) ) )
- o_isMuranoDD1 = true;
-
- return SUCCESS;
-}
-PRDF_PLUGIN_DEFINE_NS( NaplesProc, Proc, isMuranoDD1 );
-PRDF_PLUGIN_DEFINE_NS( MuranoVeniceProc, Proc, isMuranoDD1 );
-
-/**
- * @brief Checks if XBUS is enabled
- * @param i_chip P8 chip
- * @param o_xbusEnabled TRUE if xbus enabled
- */
-int32_t isXBusEnabled( ExtensibleChip * i_chip, bool & o_xbusEnabled )
-{
- o_xbusEnabled = PlatServices::isXBusEnabled(i_chip->GetChipHandle());
- return SUCCESS;
-}
-PRDF_PLUGIN_DEFINE_NS( NaplesProc, Proc, isXBusEnabled );
-PRDF_PLUGIN_DEFINE_NS( MuranoVeniceProc, Proc, isXBusEnabled );
-
-/**
- * @brief Checks if not murano chip and XBUS is enabled
- * @param i_chip P8 chip
- * @param o_captureAllowed TRUE if not murano and xbus enabled
- */
-int32_t notMuranoAndXbEnabled( ExtensibleChip * i_chip,
- bool & o_captureAllowed )
-{
- o_captureAllowed =
- ( ( MODEL_MURANO != getProcModel( i_chip->GetChipHandle() ) ) &&
- PlatServices::isXBusEnabled(i_chip->GetChipHandle()) );
-
- return SUCCESS;
-}
-PRDF_PLUGIN_DEFINE_NS( NaplesProc, Proc, notMuranoAndXbEnabled );
-PRDF_PLUGIN_DEFINE_NS( MuranoVeniceProc, Proc, notMuranoAndXbEnabled );
-
-} // end namespace Proc
-
-} // end namespace PRDF
diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfP8ProcExtraSig.H b/src/usr/diag/prdf/common/plat/pegasus/prdfP8ProcExtraSig.H
deleted file mode 100644
index 279aab400..000000000
--- a/src/usr/diag/prdf/common/plat/pegasus/prdfP8ProcExtraSig.H
+++ /dev/null
@@ -1,44 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/diag/prdf/common/plat/pegasus/prdfP8ProcExtraSig.H $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2015 */
-/* [+] 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 */
-
-#ifndef __prdfP8ProcExtraSig_H
-#define __prdfP8ProcExtraSig_H
-
-#include <prdrSignatures.H>
-
-PRDR_ERROR_SIGNATURE( PCI_OSC0_FAILOVER, 0x00ed0001, "","PCI Osc0 Failed" );
-PRDR_ERROR_SIGNATURE( PCI_OSC1_FAILOVER, 0x00ed0002, "","PCI Osc1 Failed" );
-PRDR_ERROR_SIGNATURE( MULTI_PROC_PCI_OSC0_FAILOVER, 0x00ed0003, "",
- "PCI Osc0 Failed: Multiple Proc" );
-PRDR_ERROR_SIGNATURE( MULTI_PROC_PCI_OSC1_FAILOVER, 0x00ed0004, "",
- "PCI Osc1 Failed: Multiple Proc" );
-PRDR_ERROR_SIGNATURE( PCI_OSC_FALSE_ALARM,0x00ed0005, "",
- "PCI Osc Failed: False Alarm" );
-PRDR_ERROR_SIGNATURE( PCI_OSC_ANL_FAILED, 0x00ed0006, "",
- "PCI Osc Switch Over: Analysis failed" );
-PRDR_ERROR_SIGNATURE( PCI_MULTIPLE_OSC_FO, 0x00ed0007, "",
- "PCI Osc Failed: Multiple Osc" );
-
-#endif // __prdfP8ProcExtraSig.H
diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfPciOscSwitchDomain.C b/src/usr/diag/prdf/common/plat/pegasus/prdfPciOscSwitchDomain.C
deleted file mode 100755
index 0495b47c1..000000000
--- a/src/usr/diag/prdf/common/plat/pegasus/prdfPciOscSwitchDomain.C
+++ /dev/null
@@ -1,418 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/diag/prdf/common/plat/pegasus/prdfPciOscSwitchDomain.C $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2016,2017 */
-/* [+] 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 */
-
-/** @file PciOscSwitchDomain.C
- * @brief Definition of PllDomain class
- */
-
-#include <iipscr.h>
-#include <iipsdbug.h>
-#include <iipServiceDataCollector.h>
-#include <prdfErrorSignature.H>
-#include <iipResolution.h>
-#include <prdfPlatServices.H>
-#include <prdfPluginDef.H>
-#include <prdfGlobal.H>
-#include <iipSystem.h>
-#include <UtilHash.H>
-#include <prdfPciOscSwitchDomain.H>
-#include <prdfP8ProcExtraSig.H>
-
-#ifndef __HOSTBOOT_MODULE
-#include <hdctContent.H>
-#include <prdfSdcFileControl.H>
-#endif
-
-using namespace TARGETING;
-
-namespace PRDF
-{
-
-using namespace PlatServices;
-
-//------------------------------------------------------------------------------
-
-int32_t PciOscSwitchDomain::Initialize(void)
-{
- return SUCCESS;
-}
-
-//------------------------------------------------------------------------------
-
-bool PciOscSwitchDomain::Query(ATTENTION_TYPE attentionType)
-{
- #define PRDF_FUNC "PciOscSwitchDomain::Query "
- bool errorFound = false;
-
- // Only check for PCI osc switchover on redundant clock systems
- // System always checks for RE's first, even if there is an XSTOP
- // So we only need to check for PLL errors on RECOVERABLE type
- if( hasRedundantClocks() && ( attentionType == RECOVERABLE ) )
- {
- // check sysdbug for attention first
- SYSTEM_DEBUG_CLASS sysdbug;
- for( unsigned int index = 0;
- (index < GetSize()) && (errorFound == false); ++index )
- {
- ExtensibleChip * l_chip = LookUp( index );
- TARGETING::TargetHandle_t l_chipTgt = l_chip->GetChipHandle();
- bool l_analysisPending =
- sysdbug.isActiveAttentionPending( l_chipTgt, RECOVERABLE );
-
- if( l_analysisPending )
- {
- ExtensibleChipFunction * l_query =
- l_chip->getExtensibleFunction("queryPciOscErr");
- int32_t rc = (*l_query)(l_chip,
- PluginDef::bindParm< bool &>(errorFound) );
-
- // if rc then scom read failed - Error log has already
- // been generated.
-
- if( PRD_POWER_FAULT == rc )
- {
- PRDF_ERR( PRDF_FUNC "Power Fault detected!" );
- break;
- }
-
- if( SUCCESS != rc )
- {
- PRDF_ERR( PRDF_FUNC "SCOM fail. RC=%x", rc );
- }
- }
- }
- }
-
- #undef PRDF_FUNC
- return errorFound;
-}
-
-//------------------------------------------------------------------------------
-int32_t PciOscSwitchDomain::Analyze( STEP_CODE_DATA_STRUCT & i_sc,
- ATTENTION_TYPE i_attentionType )
-{
- #define PRDF_FUNC "PciOscSwitchDomain::Analyze "
-
- int32_t o_rc = SUCCESS;
- bool foundAttn = false;
-
- for( uint32_t index = 0; index < GetSize(); ++index )
- {
- ExtensibleChip * l_chip = LookUp( index );
- ExtensibleChipFunction * l_query =
- l_chip->getExtensibleFunction( "queryPciOscErr" );
-
- if( NULL == l_query )
- {
- continue;
- }
-
- o_rc = (*l_query)(l_chip,
- PluginDef::bindParm< bool &>(foundAttn) );
-
- if( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "Query failed HUID: 0x%08x", l_chip->GetId() );
- break;
- }
-
- if( foundAttn )
- {
- // Set Signature
- i_sc.service_data->GetErrorSignature()->setChipId(
- l_chip->GetId());
-
- PciOscConnList l_pciOscData;
- o_rc = analyzePciOscSwitch( l_chip, i_sc, l_pciOscData );
-
- if( SUCCESS != o_rc )
- {
- PRDF_ERR(PRDF_FUNC " PCI CLK Switch over analysis failed" );
- break;
- }
-
- addHwCalloutAndSignature( i_sc, l_pciOscData );
-
- // Set dump flag
- i_sc.service_data->SetDump( CONTENT_HW,
- l_chip->GetChipHandle() );
- break;
- }
- }//end of for loop
-
- #undef PRDF_FUNC
- return o_rc;
-}
-
-//------------------------------------------------------------------------------
-
-int32_t PciOscSwitchDomain::analyzePciOscSwitch(
- ExtensibleChip * i_chip,
- STEP_CODE_DATA_STRUCT & i_sc,
- PciOscConnList & o_pciOscSwitchData )
-{
- #define PRDF_FUNC "PciOscSwitchDomain::analyzePciOscSwitch "
- int32_t o_rc = SUCCESS;
-
- do
- {
-
- TargetHandle_t l_chipTgt = i_chip->GetChipHandle();
- ExtensibleChipFunction * l_anlzPci =
- i_chip->getExtensibleFunction( "analyzePciClkFailover" );
-
- if( NULL == l_anlzPci )
- {
- o_rc = FAIL;
- break;
- }
-
- TargetHandle_t nodeTgt = getConnectedParent( l_chipTgt, TYPE_NODE );
-
- if( NULL == nodeTgt )
- {
- PRDF_ERR( PRDF_FUNC "unable to get node HUID: 0x%08x ",
- i_chip->GetId() );
- o_rc = FAIL;
- break;
- }
-
- TargetHandleList pciConProcList = getConnected( nodeTgt, TYPE_PROC );
-
- for( TargetHandleList::iterator it = pciConProcList.begin();
- it != pciConProcList.end(); it++ )
- {
- ExtensibleChip * l_procChip = findChip( *it );
-
- if( NULL == l_procChip )
- {
- PRDF_ERR( PRDF_FUNC " could not find chip 0x%08x",
- getHuid(*it) );
- continue;
- }
-
- // Capture PllFIRs group
- l_procChip->CaptureErrorData(
- i_sc.service_data->GetCaptureData(),
- Util::hashString("PllFIRs"));
-
- // Call this chip's capturePllFfdc plugin if it exists.
- ExtensibleChipFunction * l_captureFfdc =
- l_procChip->getExtensibleFunction("capturePllFfdcIo", true);
-
- if ( NULL != l_captureFfdc )
- {
- (*l_captureFfdc)( l_procChip,
- PluginDef::bindParm<STEP_CODE_DATA_STRUCT &>
- (i_sc) );
- }
-
- o_rc = (*l_anlzPci)( l_procChip,
- PluginDef::bindParm< PciOscConnList& >
- ( o_pciOscSwitchData ));
- if( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "analysis failed HUID: 0x%08x",
- l_procChip->GetId() );
- break;
- }
- }
-
- #ifndef __HOSTBOOT_MODULE
- ServiceDataCollector & sdc = *(i_sc.service_data);
- SyncAnalysis (sdc); //Add call to Sync SDC
- #endif
-
- o_rc = clearPciSwitchError( o_pciOscSwitchData );
-
- if( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC " Failed to clear PCI Osc error" );
- break;
- }
-
- }while(0);
-
- #undef PRDF_FUNC
-
- return o_rc;
-}
-
-//------------------------------------------------------------------------------
-
-bool PciOscSwitchDomain::checkMultiOscFailure( PciOscConnList & i_pciOscData )
-{
- bool o_multipleOscFail = false;
- do
- {
- if( 0 == i_pciOscData.size() )
- {
- break;
- }
-
- PciOscConnList::iterator it = i_pciOscData.begin();
- uint32_t firstOscPos = it->pciOscPosition;
-
- for( ; it != i_pciOscData.end(); it++ )
- {
- if( firstOscPos != it->pciOscPosition )
- {
- o_multipleOscFail = true;
- break;
- }
- }
-
- }while(0);
-
- return o_multipleOscFail;
-}
-
-//------------------------------------------------------------------------------
-
-void PciOscSwitchDomain::addHwCalloutAndSignature( STEP_CODE_DATA_STRUCT & i_sc,
- PciOscConnList & i_pciOscSwitchData )
-{
- #define PRDF_FUNC "PciOscSwitchDomain::addHwCalloutAndSignature "
- ErrorSignature * esig = i_sc.service_data->GetErrorSignature();
- uint32_t signature = esig->getSigId();
-
- do
- {
- uint32_t listSize = i_pciOscSwitchData.size();
-
- if( 0 == listSize )
- {
- PRDF_ERR( PRDF_FUNC "PCI Osc Switch Over: Analysis failed");
- i_sc.service_data->SetCallout( LEVEL2_SUPPORT, MRU_MED, NO_GARD );
- signature = PRDFSIG_PCI_OSC_ANL_FAILED;
- break;
- }
-
- PciOscConnList::iterator it = i_pciOscSwitchData.begin();
- TargetHandle_t procTgt = it->pciParentProc->GetChipHandle();
- TargetHandle_t l_nodeTgt =
- getConnectedParent( procTgt, TYPE_NODE );
-
- if( 1 < listSize )
- {
- if( 0 == it->pciOscPosition )
- {
- signature = PRDFSIG_MULTI_PROC_PCI_OSC0_FAILOVER;
- }
- else
- {
- signature = PRDFSIG_MULTI_PROC_PCI_OSC1_FAILOVER;
- }
-
- if( checkMultiOscFailure( i_pciOscSwitchData ) )
- {
- PRDF_ERR( PRDF_FUNC "Multiple pci Osc failures detected");
- signature = PRDFSIG_PCI_MULTIPLE_OSC_FO;
- i_sc.service_data->SetCallout(LEVEL2_SUPPORT, MRU_MED, NO_GARD);
- }
-
- i_sc.service_data->SetCallout( it->pciOscCard, MRU_HIGH );
- i_sc.service_data->SetCallout( l_nodeTgt, MRU_LOW, NO_GARD );
- }
- else
- {
- // Pci Osc endpoints are not supported as gardable
- // so instead, we'll need to callout/gard the source PCI OSC
- i_sc.service_data->SetCallout( procTgt, MRU_MED, NO_GARD);
- i_sc.service_data->SetCallout( l_nodeTgt, MRU_LOW , NO_GARD );
- i_sc.service_data->SetCallout( it->pciOscCard, MRU_HIGH );
- //i_sc.service_data->SetCallout( it->procPciEndPoint, MRU_MEDA );
- //i_sc.service_data->SetCallout( it->oscPciEndPoint, MRU_MEDA );
-
- if( 0 == it->pciOscPosition )
- {
- signature = PRDFSIG_PCI_OSC0_FAILOVER;
- }
- else
- {
- signature = PRDFSIG_PCI_OSC1_FAILOVER;
- }
- }
- }while(0);
-
- i_sc.service_data->SetErrorSig( signature );
- i_sc.service_data->setServiceCall();
- #undef PRDF_FUNC
-}
-
-//------------------------------------------------------------------------------
-
-int32_t PciOscSwitchDomain::clearPciSwitchError(
- PciOscConnList & io_oscSwitchData )
-{
- #define PRDF_FUNC "PciOscSwitchDomain::clearPciSwitchError "
- uint32_t o_rc = SUCCESS;
-
- for( PciOscConnList::iterator it = io_oscSwitchData.begin();
- it != io_oscSwitchData.end(); it++ )
- {
- ExtensibleChipFunction * l_clrPci =
- it->pciParentProc->getExtensibleFunction("clearPciOscFailOver");
-
- o_rc = (* l_clrPci )( it->pciParentProc,
- PluginDef::bindParm< uint32_t &> ( it->pciOscPosition ));
-
- if( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC " Failed to clear PCI clk error bits"
- "HUID: 0x%08x", it->pciParentProc->GetId() );
- break;
- }
-
- }
-
- #undef PRDF_FUNC
- return o_rc;
-}
-
-void PciOscSwitchDomain::Order( ATTENTION_TYPE i_attentionType )
-{
- //Order is not relevant.
-}
-
-ExtensibleChip * PciOscSwitchDomain::findChip( TargetHandle_t i_chipTgt )
-{
- ExtensibleChip * l_procChip = NULL;
- for( uint32_t i = 0; i < GetSize(); i++ )
- {
- l_procChip = LookUp( i );
- if( i_chipTgt == l_procChip->GetChipHandle() )
- {
- break;
- }
-
- l_procChip = NULL;
- }
-
- return l_procChip;
-}
-
-} // end namespace PRDF
-
diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfPciOscSwitchDomain.H b/src/usr/diag/prdf/common/plat/pegasus/prdfPciOscSwitchDomain.H
deleted file mode 100644
index 8438988dc..000000000
--- a/src/usr/diag/prdf/common/plat/pegasus/prdfPciOscSwitchDomain.H
+++ /dev/null
@@ -1,150 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/diag/prdf/common/plat/pegasus/prdfPciOscSwitchDomain.H $ */
-/* */
-/* 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 */
-
-#ifndef prdfPciOscDomain_H
-#define prdfPciOscDomain_H
-
-#include <iipDomain.h>
-#include <prdfExtensibleDomain.H>
-#include <prdfParentDomain.H>
-#include <prdfRuleChipDomain.H>
-
-
-namespace PRDF
-{
-struct PciOscSwitchDetails
-{
- ExtensibleChip * pciParentProc;
- TARGETING::TargetHandle_t pciOscCard;
- uint32_t pciOscPosition;
- TARGETING::TargetHandle_t procPciEndPoint;
- TARGETING::TargetHandle_t oscPciEndPoint;
- bool pciOscSwitchDone;
-};
-
-typedef std::vector <PciOscSwitchDetails> PciOscConnList;
-
-//------------------------------------------------------------------------------
-
-class PciOscSwitchDomain : public RuleChipDomain, public ExtensibleDomain,
- public ParentDomain<ExtensibleDomain>
-{
- public:
-
- /**
- * @brief Constructor
- * @param DOMAIN_ID the domain ID
- */
- PciOscSwitchDomain( DOMAIN_ID domain_id );
-
- /**
- * @brief Perform any initialization required by the hardware
- * @returns error code
- */
- virtual int32_t Initialize(void);
-
- /**
- * @brief Query if anything in this domain is reporting given attention.
- * @param Attention type to query for. (@see iipsdbug.h)
- * @returns [true|false]
- * @pre Initialize()
- */
- virtual bool Query(ATTENTION_TYPE attentionType);
-
- /**
- * @brief Analyze errors within the domain
- * @param service data collector
- * @param attentiont type (@see iipsdbug.h)
- * @return return code
- * @pre Initialize(); Query() == true
- * @post domain element order may be modified.
- */
- virtual int32_t Analyze( STEP_CODE_DATA_STRUCT & i_sc,
- ATTENTION_TYPE attentionType );
-protected:
-
- /**
- * @brief Order the domain - with detecting element at the top
- * @param Attention type (@see iipsdbug.h)
- * @post domain elemenet order may be altered
- * @note this is called by Analyze()
- */
- virtual void Order( ATTENTION_TYPE i_attentionType );
-
- private: // function
-
- /**
- * @brief analyzes all the procs reporting switchover from a given pci osc.
- * @param i_chip A P8 chip.
- * @param i_sc The step code data struct.
- * @param o_pciOscSwitchData contains pci osc switch over data.
- * @note this is called by Analyze()
- */
- int32_t analyzePciOscSwitch( ExtensibleChip * i_chip,
- STEP_CODE_DATA_STRUCT & i_sc,
- PciOscConnList & o_pciOscSwitchData );
- /**
- * @brief clears few bits to reset PCI Osc switch over bit.
- * @param io_oscSwitchData list of procs connected to faulty PCI OSC.
- * @return SUCCESS if clearing of bit is success, FAIL otherwise.
- */
- int32_t clearPciSwitchError( PciOscConnList & io_oscSwitchData );
-
- /**
- * @brief callout hardware parts and add signature based analysis data.
- * @param i_sc The step code data struct.
- * @param i_pciOscSwitchData contains PCI osc failover data.
- */
- void addHwCalloutAndSignature( STEP_CODE_DATA_STRUCT & i_sc,
- PciOscConnList & i_pciOscSwitchData );
- /**
- * @brief checks if there is multiple PCI Osc failure.
- * @param pciOscSwitchData PCI Osc fault data.
- * @return True if there is multiple PCI Osc failure, false otherwise.
- */
- bool checkMultiOscFailure( PciOscConnList & i_pciOscSwitchData );
-
- /**
- * @brief finds Rulechip associated with proc target.
- * @param i_chipTgt target associated with proc Rulechip.
- * @return Rulechip associated with proc target
- */
- ExtensibleChip * findChip( TARGETING::TargetHandle_t i_chipTgt );
-
- private: // Data
- enum { CONTAINER_SIZE = 16 };
-
-
-};
-
-inline PciOscSwitchDomain::PciOscSwitchDomain( DOMAIN_ID i_domainId ) :
- RuleChipDomain( i_domainId, PciOscSwitchDomain::CONTAINER_SIZE ),
- ExtensibleDomain( "PciOscSwitchDomain")
-{}
-
-} // end namespace PRDF
-
-#endif /* prdfPciOscDomain_H */
-
diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfPhbUtils.C b/src/usr/diag/prdf/common/plat/pegasus/prdfPhbUtils.C
deleted file mode 100644
index d2cfe4882..000000000
--- a/src/usr/diag/prdf/common/plat/pegasus/prdfPhbUtils.C
+++ /dev/null
@@ -1,207 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/diag/prdf/common/plat/pegasus/prdfPhbUtils.C $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2013,2015 */
-/* [+] 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 */
-
-/** @file prdfPhbUtils.C */
-
-#include <prdfPhbUtils.H>
-
-#include <prdfPlatServices.H>
-#include <prdfTrace.H>
-
-using namespace TARGETING;
-
-namespace PRDF
-{
-
-using namespace PlatServices;
-
-namespace Proc
-{
-
-int32_t getConfiguredPHB( TargetHandle_t i_procTrgt, uint32_t i_iopciIdx,
- uint32_t i_clkIdx, TargetHandle_t & o_phbTrgt )
-{
- #define PRDF_FUNC "[Proc::getConfiguredPHB] "
-
- int32_t o_rc = SUCCESS;
-
- o_phbTrgt = NULL;
-
- // Reference PCI Express Controller Functional Spec
- // (pe_P8spec_master104.pdf). Tables in chapter 6: IO Operation Modes
- enum TableBounds
- {
- MAX_CONFIGS = 14,
- MAX_FIRS = 3,
- MAX_CLOCKS = 2,
-
- // Array index for the processor models.
- MURANO_IDX = 0,
- VENICE_IDX,
- NAPLES_IDX,
- MAX_MODELS,
- };
-
- enum TableValues
- {
- // These PHB enums must match the PHB position number.
- PHB0 = 0,
- PHB1,
- PHB2,
- PHB3,
-
- // The dSMP connections are not used but we will still list them in the
- // table just in case the are needed later.
- NONE = MAX_PHB_PER_PROC,
- SMP0 = MAX_PHB_PER_PROC,
- SMP1 = MAX_PHB_PER_PROC,
- };
-
- static const uint8_t table[MAX_MODELS][MAX_CONFIGS][MAX_FIRS][MAX_CLOCKS] =
- {
- {
- //-------------------Murano------------------|
- //--IOPCIFIR-0-||-IOPCIFIR-1--||-IOPCIFIR-2--|
- //---A--|--B---||---A--|--B---||---A--|--B---|
- { {PHB0, PHB0}, {PHB1,NONE}, {NONE, NONE} }, // 0x0
- { {PHB0, PHB0}, {PHB1,NONE}, {NONE, NONE} }, // 0x1
- { {PHB0, NONE}, {PHB1,NONE}, {NONE, NONE} }, // 0x2
- { {PHB0, PHB2}, {PHB1,NONE}, {NONE, NONE} }, // 0x3
- { {PHB0, SMP0}, {PHB1,NONE}, {NONE, NONE} }, // 0x4
- { {PHB0, SMP0}, {PHB1,NONE}, {NONE, NONE} }, // 0x5
- { {PHB1, PHB1}, {SMP1,NONE}, {NONE, NONE} }, // 0x6
- { {PHB1, PHB2}, {SMP1,NONE}, {NONE, NONE} }, // 0x7
- { {SMP1, SMP0}, {PHB1,NONE}, {NONE, NONE} }, // 0x8
- { {SMP1, SMP0}, {PHB1,NONE}, {NONE, NONE} }, // 0x9
- { {SMP1, PHB2}, {SMP0,NONE}, {NONE, NONE} }, // 0xA
- { {PHB1, SMP0}, {SMP1,NONE}, {NONE, NONE} }, // 0xB
- { {SMP1, PHB2}, {PHB1,NONE}, {NONE, NONE} }, // 0xC
- },
-
- {
- //------------------Venice-------------------|
- //--IOPCIFIR-0-||-IOPCIFIR-1--||-IOPCIFIR-2--|
- //---A--|--B---||---A--|--B---||---A--|--B---|
- { {PHB0, PHB0}, {PHB1, PHB1}, {NONE, NONE} }, // 0x0
- { {PHB0, PHB0}, {PHB1, PHB2}, {NONE, NONE} }, // 0x1
- { {PHB0, NONE}, {PHB1, PHB1}, {NONE, NONE} }, // 0x2
- { {PHB0, NONE}, {PHB1, PHB2}, {NONE, NONE} }, // 0x3
- { {PHB0, SMP0}, {PHB1, PHB1}, {NONE, NONE} }, // 0x4
- { {PHB0, SMP0}, {PHB1, PHB2}, {NONE, NONE} }, // 0x5
- { {SMP1, PHB0}, {PHB1, PHB1}, {NONE, NONE} }, // 0x6
- { {SMP1, PHB0}, {PHB1, PHB2}, {NONE, NONE} }, // 0x7
- { {SMP1, SMP0}, {PHB1, PHB1}, {NONE, NONE} }, // 0x8
- { {SMP1, SMP0}, {PHB1, PHB2}, {NONE, NONE} }, // 0x9
- { {SMP1, SMP0}, {PHB1, PHB2}, {NONE, NONE} }, // 0xA
- { {SMP1, SMP0}, {PHB1, PHB2}, {NONE, NONE} }, // 0xB
- { {SMP1, PHB0}, {PHB1, PHB2}, {NONE, NONE} }, // 0xC
- },
-
- {
- //------------------Naples-------------------|
- //--IOPCIFIR-0-||-IOPCIFIR-1--||-IOPCIFIR-2--|
- //---A--|--B---||---A--|--B---||---A--|--B---|
- { {PHB0, PHB0}, {PHB1, PHB1}, {PHB3, NONE} }, // 0x0
- { {PHB0, PHB0}, {PHB1, PHB2}, {PHB3, NONE} }, // 0x1
- { {PHB0, NONE}, {PHB1, PHB1}, {PHB3, NONE} }, // 0x2
- { {PHB0, NONE}, {PHB1, PHB2}, {PHB3, NONE} }, // 0x3
- { {PHB0, NONE}, {PHB1, PHB1}, {PHB3, NONE} }, // 0x4
- { {PHB0, NONE}, {PHB1, PHB2}, {PHB3, NONE} }, // 0x5
- { {NONE, PHB0}, {PHB1, PHB1}, {PHB3, NONE} }, // 0x6
- { {NONE, PHB0}, {PHB1, PHB2}, {PHB3, NONE} }, // 0x7
- { {NONE, NONE}, {PHB1, PHB1}, {PHB3, NONE} }, // 0x8
- { {NONE, NONE}, {PHB1, PHB2}, {PHB3, NONE} }, // 0x9
- { {NONE, NONE}, {PHB1, PHB2}, {PHB3, NONE} }, // 0xA
- { {NONE, NONE}, {PHB1, PHB2}, {PHB3, NONE} }, // 0xB
- { {NONE, PHB0}, {PHB1, PHB2}, {PHB3, NONE} }, // 0xC
- },
- };
-
- do
- {
- // Check parameters
- if ( MAX_FIRS <= i_iopciIdx )
- {
- PRDF_ERR( PRDF_FUNC "i_iopciIdx is unsupported: %d", i_iopciIdx );
- o_rc = FAIL; break;
- }
-
- if ( MAX_CLOCKS <= i_clkIdx )
- {
- PRDF_ERR( PRDF_FUNC "i_clkIdx is unsupported: %d", i_clkIdx );
- o_rc = FAIL; break;
- }
-
- // Get the processor model and config table.
- MODEL model = getProcModel( i_procTrgt );
- uint32_t modelIdx = MAX_MODELS;
- switch ( model )
- {
- case MODEL_MURANO: modelIdx = MURANO_IDX; break;
- case MODEL_VENICE: modelIdx = VENICE_IDX; break;
- case MODEL_NAPLES: modelIdx = NAPLES_IDX; break;
- default:
- PRDF_ERR( PRDF_FUNC "unsupported processor model: %d", model );
- o_rc = FAIL;
- }
- if ( SUCCESS != o_rc ) break;
-
- // Get the PHB configuration.
- uint32_t phbConfig = getPhbConfig( i_procTrgt );
- if ( MAX_CONFIGS <= phbConfig )
- {
- PRDF_ERR( PRDF_FUNC "unsupportd PHB config: %d", phbConfig );
- o_rc = FAIL; break;
- }
-
- // Get the PHB target, if it exists.
- uint8_t phbPos = table[modelIdx][phbConfig][i_iopciIdx][i_clkIdx];
- if ( MAX_PHB_PER_PROC > phbPos )
- {
- o_phbTrgt = getConnectedChild( i_procTrgt, TYPE_PCI, phbPos );
- if ( NULL == o_phbTrgt ) // Target should exist.
- {
- PRDF_ERR( PRDF_FUNC "getConnectedChild(%d) failed", phbPos );
- o_rc = FAIL; break;
- }
- }
-
- } while (0);
-
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "Failed: i_procTrgt=0x%08x i_iopciIdx=%d "
- "i_clkIdx=%d", getHuid(i_procTrgt), i_iopciIdx, i_clkIdx );
- }
-
- return o_rc;
-
- #undef PRDF_FUNC
-}
-
-} // end namespace Proc
-
-} // end namespace PRDF
-
diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfPhbUtils.H b/src/usr/diag/prdf/common/plat/pegasus/prdfPhbUtils.H
deleted file mode 100644
index cec6a338f..000000000
--- a/src/usr/diag/prdf/common/plat/pegasus/prdfPhbUtils.H
+++ /dev/null
@@ -1,57 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/diag/prdf/common/plat/pegasus/prdfPhbUtils.H $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2013,2015 */
-/* [+] 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 */
-
-#ifndef PHB_CONFIG_H
-#define PHB_CONFIG_H
-
-/** @file prdfPhbUtils.H
- * @brief Utility functions to determine PHB Configuration.
- */
-
-#include <prdfPlatServices.H>
-
-namespace PRDF
-{
-
-namespace Proc
-{
-
-/**
- * @brief Returns PHB target associated with given IOPCIFR and clock.
- * @param i_procTrgt The target processor.
- * @param i_iopciIdx IOPCIFIR instance number (0-2)
- * @param i_clkIdx The target clock within the IOPCIFIR (0-1)
- * @param o_phbTrgt NULL if the PHB does not exist. Otherwise the PHB target.
- * @return NULL if no configured PHB found, otherwise the target PHB.
- */
-int32_t getConfiguredPHB( TARGETING::TargetHandle_t i_procTrgt,
- uint32_t i_iopciIdx, uint32_t i_clkIdx,
- TARGETING::TargetHandle_t & o_phbTrgt );
-
-} // end namespace Proc
-
-} // end namespace PRDF
-
-#endif // PHB_CONFIG_H
diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfPlatUtil.C b/src/usr/diag/prdf/common/plat/pegasus/prdfPlatUtil.C
deleted file mode 100644
index 315ecf326..000000000
--- a/src/usr/diag/prdf/common/plat/pegasus/prdfPlatUtil.C
+++ /dev/null
@@ -1,79 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/diag/prdf/common/plat/pegasus/prdfPlatUtil.C $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2014,2015 */
-/* [+] 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 */
-
-/** @file prdfPlatUtil.C */
-
-#include <prdfPlatServices.H>
-#include <iipServiceDataCollector.h>
-
-using namespace TARGETING;
-
-namespace PRDF
-{
-
-using namespace PlatServices;
-namespace PlatUtil
-{
-
-bool ignoreErrorForSapphire( STEP_CODE_DATA_STRUCT & i_stepcode )
-{
- bool ignoreError = false;
-
- // First of all ensure that we are not in AVP mode. Hypervisor becomes
- // irrelevant in that case.
- if( !isMfgAvpEnabled() && !isMfgHdatAvpEnabled() && !mfgMode() )
- {
- if( isHyprConfigOpal() )
- {
- // For an OPAL based system, analysis for certain errors is either
- // not supported or shall be added later. We need to simply
- // threshold and mask these errors. There should not be any service
- // action. However, there are some scenarios to consider:
- // 1. manufacturing or AVP mode - threshold and predictive callout
- // 2. SP less system - mask error on first instance.
- // 3. SP based Tuleta-L - mask error once threshold is met (say 32
- // per Day ).
-
- if( !isSpConfigFsp() )
- {
- //Mask the error on first instance for FSP less systems.
- i_stepcode.service_data->setFlag(
- ServiceDataCollector::AT_THRESHOLD );
- }
-
- //Prevent predictive callout of the chip.
- i_stepcode.service_data->clearServiceCall();
-
- ignoreError = true;
- }
- }
-
- return ignoreError;
-}
-
-} // end namespace PlatUtil
-
-} // end namespace PRDF
-
diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfPlatUtil.H b/src/usr/diag/prdf/common/plat/pegasus/prdfPlatUtil.H
deleted file mode 100644
index a22f221c1..000000000
--- a/src/usr/diag/prdf/common/plat/pegasus/prdfPlatUtil.H
+++ /dev/null
@@ -1,50 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/diag/prdf/common/plat/pegasus/prdfPlatUtil.H $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2014,2015 */
-/* [+] 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 */
-
-#ifndef PRDF_PLATUTIL_H
-#define PRDF_PLATUTIL_H
-
-/**
- * @file prdfPlatUtil.H
- * @brief Intended for util functions common between all platforms.
- */
-
-namespace PRDF
-{
-
-struct STEP_CODE_DATA_STRUCT;
-namespace PlatUtil
-{
-
-/**
- * @return True, if it is an OPAL based system in field environment, false
- * otherwise.
- */
-bool ignoreErrorForSapphire( STEP_CODE_DATA_STRUCT & i_stepcode );
-
-} // namespace PlatUtil
-
-} // namespace PRDF
-#endif
diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfTOD.H b/src/usr/diag/prdf/common/plat/pegasus/prdfTOD.H
deleted file mode 100755
index 38ad4dc5e..000000000
--- a/src/usr/diag/prdf/common/plat/pegasus/prdfTOD.H
+++ /dev/null
@@ -1,54 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/diag/prdf/common/plat/pegasus/prdfTOD.H $ */
-/* */
-/* 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 */
-
-#ifndef PRDFTOD_H
-#define PRDFTOD_H
-
-namespace PRDF
-{
-
-/** @struct PrdfTodFaultData
- * TOD Fault isolation information from a chip.
- */
-struct PrdfTodFaultData
-{
- TARGETING::TargetHandle_t source_chipHandle;
- bool phyp_fault;
- bool topo_fault[2]; // 0 is active, 1 is backup
- bool topo_fault_clock[2];
- TARGETING::TargetHandle_t topo_fault_chip[2];
-};
-
-int32_t prdfP7_TodCaptureRegisters(STEP_CODE_DATA_STRUCT & i_stepcode);
-int32_t prdfP7_TodCleanUpErrors(STEP_CODE_DATA_STRUCT & i_stepcode);
-int32_t prdfP7_TodCollectFaultDataSys(vector<PrdfTodFaultData> & o_faults,
- STEP_CODE_DATA_STRUCT & i_stepcode);
-int32_t prdfP7_TodCollectFaultDataChip(ExtensibleChip * i_chip,
- vector<PrdfTodFaultData> & o_faults,
- STEP_CODE_DATA_STRUCT & i_stepcode);
-
-} // end namespace PRDF
-
-#endif //PRDFTOD_H
diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdf_plat_p8.mk b/src/usr/diag/prdf/common/plat/pegasus/prdf_plat_p8.mk
deleted file mode 100644
index ebd4f5430..000000000
--- a/src/usr/diag/prdf/common/plat/pegasus/prdf_plat_p8.mk
+++ /dev/null
@@ -1,73 +0,0 @@
-# IBM_PROLOG_BEGIN_TAG
-# This is an automatically generated prolog.
-#
-# $Source: src/usr/diag/prdf/common/plat/pegasus/prdf_plat_p8.mk $
-#
-# 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
-
-# NOTE: PRD_SRC_PATH must be defined before including this file.
-
-################################################################################
-# Paths common to both FSP and Hostboot
-################################################################################
-
-prd_vpath += ${PRD_SRC_PATH}/common/plat/pegasus
-
-prd_incpath += ${PRD_SRC_PATH}/common/plat/pegasus
-
-################################################################################
-# Object files common to both FSP and Hostboot
-################################################################################
-
-# common/plat/pegasus/ (non-rule plugin related)
-prd_obj += prdfCalloutUtil.o
-prd_obj += prdfCenAddress.o
-prd_obj += prdfCenDqBitmap.o
-prd_obj += prdfCenMbaCaptureData.o
-prd_obj += prdfCenMbaCeTable.o
-prd_obj += prdfCenMbaRceTable.o
-prd_obj += prdfCenMbaTdCtlr_common.o
-prd_obj += prdfCenMbaThresholds_common.o
-prd_obj += prdfCenMbaUeTable.o
-prd_obj += prdfCenMemUtils.o
-prd_obj += prdfCenSymbol.o
-prd_obj += prdfFabricDomain.o
-prd_obj += prdfFsiCapUtil.o
-prd_obj += prdfLaneRepair.o
-prd_obj += prdfLineDelete.o
-prd_obj += prdfMemoryMru.o
-prd_obj += prdfPciOscSwitchDomain.o
-prd_obj += prdfPegasusConfigurator.o
-prd_obj += prdfPllDomain.o
-prd_obj += prdfPhbUtils.o
-prd_obj += prdfPlatUtil.o
-
-# common/plat/pegasus/ (rule plugin related)
-prd_rule_plugin += prdfCenMba.o
-prd_rule_plugin += prdfCenMembuf.o
-prd_rule_plugin += prdfCenPll.o
-prd_rule_plugin += prdfP8Ex.o
-prd_rule_plugin += prdfP8Mcs.o
-prd_rule_plugin += prdfP8Pll.o
-prd_rule_plugin += prdfP8PllPcie.o
-prd_rule_plugin += prdfP8Proc.o
-prd_rule_plugin += prdfPllUtils.o
-
OpenPOWER on IntegriCloud