diff options
author | Zane Shelley <zshelle@us.ibm.com> | 2018-03-13 13:58:35 -0500 |
---|---|---|
committer | Zane C. Shelley <zshelle@us.ibm.com> | 2018-03-21 11:08:31 -0400 |
commit | 87e45485998534f3f14786b9165c1e3127c377a4 (patch) | |
tree | 672647f0cd8fd50393ae7dc7b9c3959696bb9282 /src | |
parent | ed84b08afa873008e71fb617146e536d2e9fe9b3 (diff) | |
download | talos-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')
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] = |