summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorZane Shelley <zshelle@us.ibm.com>2018-03-13 13:58:35 -0500
committerZane C. Shelley <zshelle@us.ibm.com>2018-03-21 11:08:31 -0400
commit87e45485998534f3f14786b9165c1e3127c377a4 (patch)
tree672647f0cd8fd50393ae7dc7b9c3959696bb9282 /src
parented84b08afa873008e71fb617146e536d2e9fe9b3 (diff)
downloadtalos-hostboot-87e45485998534f3f14786b9165c1e3127c377a4.tar.gz
talos-hostboot-87e45485998534f3f14786b9165c1e3127c377a4.zip
PRD: add c_err_rpt registers for INTCQFIR
Change-Id: I8a60b6e66e250f4bd8108486f5c426795b81ea39 CQ: SW419509 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/55793 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Benjamin J. Weisenbeck <bweisenb@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://ralgit01.raleigh.ibm.com/gerrit1/56100 CI-Ready: Zane C. Shelley <zshelle@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Diffstat (limited to 'src')
-rw-r--r--src/usr/diag/prdf/common/plat/p9/p9_cumulus.rule2
-rw-r--r--src/usr/diag/prdf/common/plat/p9/p9_ex_regs.rule11
-rw-r--r--src/usr/diag/prdf/common/plat/p9/p9_nimbus.rule2
-rw-r--r--src/usr/diag/prdf/common/plat/p9/p9_proc_common_actions.rule7
-rw-r--r--src/usr/diag/prdf/common/plat/p9/p9_proc_common_regs.rule221
-rw-r--r--src/usr/diag/prdf/occ_firdata/prdfWriteHomerFirData.C33
6 files changed, 265 insertions, 11 deletions
diff --git a/src/usr/diag/prdf/common/plat/p9/p9_cumulus.rule b/src/usr/diag/prdf/common/plat/p9/p9_cumulus.rule
index 0626535ef..66b601e53 100644
--- a/src/usr/diag/prdf/common/plat/p9/p9_cumulus.rule
+++ b/src/usr/diag/prdf/common/plat/p9/p9_cumulus.rule
@@ -4173,7 +4173,7 @@ group gN3_CHIPLET_FIR filter singlebit
/** N3_CHIPLET_FIR[17]
* Attention from INTCQFIR
*/
- (rN3_CHIPLET_FIR, bit(17)) ? analyze(gINTCQFIR);
+ (rN3_CHIPLET_FIR, bit(17)) ? analyzeINTCQFIR;
/** N3_CHIPLET_FIR[18]
* Attention from PBAFIR
diff --git a/src/usr/diag/prdf/common/plat/p9/p9_ex_regs.rule b/src/usr/diag/prdf/common/plat/p9/p9_ex_regs.rule
index 352d5792e..1c90a58ff 100644
--- a/src/usr/diag/prdf/common/plat/p9/p9_ex_regs.rule
+++ b/src/usr/diag/prdf/common/plat/p9/p9_ex_regs.rule
@@ -5,7 +5,7 @@
#
# OpenPOWER HostBoot Project
#
-# Contributors Listed Below - COPYRIGHT 2016,2017
+# Contributors Listed Below - COPYRIGHT 2016,2018
# [+] International Business Machines Corp.
#
#
@@ -31,7 +31,7 @@
{
name "L3 PRD Purge Register";
scomaddr 0x1001180E;
- capture group never;
+ capture group default;
};
############################################################################
@@ -79,13 +79,6 @@
capture group default;
};
- register L3_PRD_PURGE_REG
- {
- name "P9 EX target L3 PRD PURGE REG";
- scomaddr 0x1001180e;
- capture group default;
- };
-
register L3_ERR_REPORT0
{
name "P9 EX target L3 ERR REPORT 0";
diff --git a/src/usr/diag/prdf/common/plat/p9/p9_nimbus.rule b/src/usr/diag/prdf/common/plat/p9/p9_nimbus.rule
index 80b301266..a2212134c 100644
--- a/src/usr/diag/prdf/common/plat/p9/p9_nimbus.rule
+++ b/src/usr/diag/prdf/common/plat/p9/p9_nimbus.rule
@@ -4153,7 +4153,7 @@ group gN3_CHIPLET_FIR filter singlebit
/** N3_CHIPLET_FIR[17]
* Attention from INTCQFIR
*/
- (rN3_CHIPLET_FIR, bit(17)) ? analyze(gINTCQFIR);
+ (rN3_CHIPLET_FIR, bit(17)) ? analyzeINTCQFIR;
/** N3_CHIPLET_FIR[18]
* Attention from PBAFIR
diff --git a/src/usr/diag/prdf/common/plat/p9/p9_proc_common_actions.rule b/src/usr/diag/prdf/common/plat/p9/p9_proc_common_actions.rule
index a09d030db..ccdaa3cb5 100644
--- a/src/usr/diag/prdf/common/plat/p9/p9_proc_common_actions.rule
+++ b/src/usr/diag/prdf/common/plat/p9/p9_proc_common_actions.rule
@@ -122,6 +122,13 @@ actionclass analyzeNPU0FIR
analyze(gNPU0FIR);
};
+/** Special wrapper for INTCQFIR to collect extra FFDC */
+actionclass analyzeINTCQFIR
+{
+ capture(intcqfir_ffdc);
+ analyze(gINTCQFIR);
+};
+
/** Callout connected XBUS 0 interface on first occurrence */
actionclass calloutBusInterface_xbus0_th_1
{
diff --git a/src/usr/diag/prdf/common/plat/p9/p9_proc_common_regs.rule b/src/usr/diag/prdf/common/plat/p9/p9_proc_common_regs.rule
index 6a6d644f0..e35f1c778 100644
--- a/src/usr/diag/prdf/common/plat/p9/p9_proc_common_regs.rule
+++ b/src/usr/diag/prdf/common/plat/p9/p9_proc_common_regs.rule
@@ -965,3 +965,224 @@
capture group npu0fir_ffdc;
};
+ ############################################################################
+ # NPU CERR and debug registers for INTCQFIR
+ ############################################################################
+
+ register INT_CQ_WOF
+ {
+ name "INT_CQ_WOF";
+ scomaddr 0x05013038;
+ capture group intcqfir_ffdc;
+ };
+
+ register INT_CQ_ERROR_HOLD_OUT
+ {
+ name "INT CQ Error Report Hold Out";
+ scomaddr 0x05013039;
+ capture group intcqfir_ffdc;
+ };
+
+ register INT_CQ_ERR_INFO0
+ {
+ name "INT CQ Error Information Register 0";
+ scomaddr 0x0501303A;
+ capture group intcqfir_ffdc;
+ };
+
+ register INT_CQ_ERR_INFO1
+ {
+ name "INT CQ Error Information Register 1";
+ scomaddr 0x0501303B;
+ capture group intcqfir_ffdc;
+ };
+
+ register INT_CQ_ERR_INFO2
+ {
+ name "INT CQ Error Information Register 2";
+ scomaddr 0x0501303C;
+ capture group intcqfir_ffdc;
+ };
+
+ register INT_CQ_ERR_INFO3
+ {
+ name "INT CQ Error Information Register 3";
+ scomaddr 0x0501303D;
+ capture group intcqfir_ffdc;
+ };
+
+ register INT_PC_ERR0_WOF
+ {
+ name "INT_PC_ERR0_WOF";
+ scomaddr 0x05013142;
+ capture group intcqfir_ffdc;
+ };
+
+ register INT_PC_ERR0_WOF_DETAIL
+ {
+ name "INT_PC_ERR0_WOF_DETAIL";
+ scomaddr 0x05013143;
+ capture group intcqfir_ffdc;
+ };
+
+ register INT_PC_ERR0_FATAL
+ {
+ name "INT PC Error0 Fatal Error Register";
+ scomaddr 0x05013144;
+ capture group intcqfir_ffdc;
+ };
+
+ register INT_PC_ERR0_RECOV
+ {
+ name "INT PC Error0 Recoverable Error Register";
+ scomaddr 0x05013145;
+ capture group intcqfir_ffdc;
+ };
+
+ register INT_PC_ERR0_INFO
+ {
+ name "INT PC Error0 Informational Error Register";
+ scomaddr 0x05013146;
+ capture group intcqfir_ffdc;
+ };
+
+ register INT_PC_ERR1_WOF
+ {
+ name "INT_PC_ERR1_WOF";
+ scomaddr 0x0501314A;
+ capture group intcqfir_ffdc;
+ };
+
+ register INT_PC_ERR1_WOF_DETAIL
+ {
+ name "INT_PC_ERR1_WOF_DETAIL";
+ scomaddr 0x0501314B;
+ capture group intcqfir_ffdc;
+ };
+
+ register INT_PC_ERR1_FATAL
+ {
+ name "INT PC Error1 Fatal Error Register";
+ scomaddr 0x0501314C;
+ capture group intcqfir_ffdc;
+ };
+
+ register INT_PC_ERR1_RECOV
+ {
+ name "INT PC Error1 Recoverable Error Register";
+ scomaddr 0x0501314D;
+ capture group intcqfir_ffdc;
+ };
+
+ register INT_PC_ERR1_INFO
+ {
+ name "INT PC Error1 Informational Error Register";
+ scomaddr 0x0501314E;
+ capture group intcqfir_ffdc;
+ };
+
+ register INT_PC_VPC_ERR1_WOF
+ {
+ name "INT_PC_VPC_ERR1_WOF";
+ scomaddr 0x0501317A;
+ capture group intcqfir_ffdc;
+ };
+
+ register INT_PC_VPC_ERR1_WOF_DETAIL
+ {
+ name "INT_PC_VPC_ERR1_WOF_DETAIL";
+ scomaddr 0x0501317B;
+ capture group intcqfir_ffdc;
+ };
+
+ register INT_PC_VPC_FATAL_ERR
+ {
+ name "INT PC VPC Fatal Errors Register";
+ scomaddr 0x0501317C;
+ capture group intcqfir_ffdc;
+ };
+
+ register INT_PC_VPC_RECOV_ERR
+ {
+ name "INT PC VPC Recoverable Errors Register";
+ scomaddr 0x0501317D;
+ capture group intcqfir_ffdc;
+ };
+
+ register INT_PC_VPC_INFO_ERR
+ {
+ name "INT PC VPC Informational Errors Register";
+ scomaddr 0x0501317E;
+ capture group intcqfir_ffdc;
+ };
+
+ register INT_VC_WOF_ERR_G0
+ {
+ name "INT_VC_WOF_ERR_G0";
+ scomaddr 0x05013274;
+ capture group intcqfir_ffdc;
+ };
+
+ register INT_VC_WOF_ERR_G0_DETAIL
+ {
+ name "INT_VC_WOF_ERR_G0_DETAIL";
+ scomaddr 0x05013275;
+ capture group intcqfir_ffdc;
+ };
+
+ register INT_VC_WOF_ERR_G1
+ {
+ name "INT_VC_WOF_ERR_G1";
+ scomaddr 0x05013276;
+ capture group intcqfir_ffdc;
+ };
+
+ register INT_VC_WOF_ERR_G1_DETAIL
+ {
+ name "INT_VC_WOF_ERR_G1_DETAIL";
+ scomaddr 0x05013277;
+ capture group intcqfir_ffdc;
+ };
+
+ register INT_VC_FATAL_ERR_G0
+ {
+ name "INT VC Fatal Errors Group0 Register";
+ scomaddr 0x05013278;
+ capture group intcqfir_ffdc;
+ };
+
+ register INT_VC_RECOV_ERR_G0
+ {
+ name "INT VC Recoverable Error Group0 Register";
+ scomaddr 0x05013279;
+ capture group intcqfir_ffdc;
+ };
+
+ register INT_VC_INFO_ERR_G0
+ {
+ name "INT VC Informational Error Group0 Register";
+ scomaddr 0x0501327A;
+ capture group intcqfir_ffdc;
+ };
+
+ register INT_VC_FATAL_ERR_G1
+ {
+ name "INT VC Fatal Errors Group1 Register";
+ scomaddr 0x0501327B;
+ capture group intcqfir_ffdc;
+ };
+
+ register INT_VC_RECOV_ERR_G1
+ {
+ name "INT VC Recoverable Error Group1 Register";
+ scomaddr 0x0501327C;
+ capture group intcqfir_ffdc;
+ };
+
+ register INT_VC_INFO_ERR_G1
+ {
+ name "INT VC Informational Error Group1 Register";
+ scomaddr 0x0501327D;
+ capture group intcqfir_ffdc;
+ };
+
diff --git a/src/usr/diag/prdf/occ_firdata/prdfWriteHomerFirData.C b/src/usr/diag/prdf/occ_firdata/prdfWriteHomerFirData.C
index 4bfe1de7c..cbadf5011 100644
--- a/src/usr/diag/prdf/occ_firdata/prdfWriteHomerFirData.C
+++ b/src/usr/diag/prdf/occ_firdata/prdfWriteHomerFirData.C
@@ -417,6 +417,39 @@ void getAddresses( TrgtMap_t & io_targMap )
0x00040030, // TOD: Error and Interrupts
0x00040032, // TOD: C_Err_Rpt
0x00040033, // TOD: Route Errors to Core/FIR
+
+ // INTCQFIR c_err_rpt registers
+ 0x05013038, // INT_CQ_WOF
+ 0x05013039, // INT_CQ_ERROR_HOLD_OUT
+ 0x0501303A, // INT_CQ_ERR_INFO0
+ 0x0501303B, // INT_CQ_ERR_INFO1
+ 0x0501303C, // INT_CQ_ERR_INFO2
+ 0x0501303D, // INT_CQ_ERR_INFO3
+ 0x05013142, // INT_PC_ERR0_WOF
+ 0x05013143, // INT_PC_ERR0_WOF_DETAIL
+ 0x05013144, // INT_PC_ERR0_FATAL
+ 0x05013145, // INT_PC_ERR0_RECOV
+ 0x05013146, // INT_PC_ERR0_INFO
+ 0x0501314A, // INT_PC_ERR1_WOF
+ 0x0501314B, // INT_PC_ERR1_WOF_DETAIL
+ 0x0501314C, // INT_PC_ERR1_FATAL
+ 0x0501314D, // INT_PC_ERR1_RECOV
+ 0x0501314E, // INT_PC_ERR1_INFO
+ 0x0501317A, // INT_PC_VPC_ERR1_WOF
+ 0x0501317B, // INT_PC_VPC_ERR1_WOF_DETAIL
+ 0x0501317C, // INT_PC_VPC_FATAL_ERR
+ 0x0501317D, // INT_PC_VPC_RECOV_ERR
+ 0x0501317E, // INT_PC_VPC_INFO_ERR
+ 0x05013274, // INT_VC_WOF_ERR_G0
+ 0x05013275, // INT_VC_WOF_ERR_G0_DETAIL
+ 0x05013276, // INT_VC_WOF_ERR_G1
+ 0x05013277, // INT_VC_WOF_ERR_G1_DETAIL
+ 0x05013278, // INT_VC_FATAL_ERR_G0
+ 0x05013279, // INT_VC_RECOV_ERR_G0
+ 0x0501327A, // INT_VC_INFO_ERR_G0
+ 0x0501327B, // INT_VC_FATAL_ERR_G1
+ 0x0501327C, // INT_VC_RECOV_ERR_G1
+ 0x0501327D, // INT_VC_INFO_ERR_G1
};
io_targMap[TRGT_EC][REG_GLBL] =
OpenPOWER on IntegriCloud