summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/prdf
diff options
context:
space:
mode:
authorZane Shelley <zshelle@us.ibm.com>2017-02-08 10:07:38 -0600
committerZane C. Shelley <zshelle@us.ibm.com>2017-02-08 22:22:28 -0500
commit8ca944a7d893e3ef92498987038d487f1d9599fc (patch)
treeeecab054405d7d994df3d11ca19cc517f3e2de03 /src/usr/diag/prdf
parent14f64a7c95bdb6bc65e1c492c00735001075ea71 (diff)
downloadtalos-hostboot-8ca944a7d893e3ef92498987038d487f1d9599fc.tar.gz
talos-hostboot-8ca944a7d893e3ef92498987038d487f1d9599fc.zip
PRD: error handling for PBCENTFIR[9]
Change-Id: I0f3d83a46954c468a43de1a7bca729cfb6e78f10 CQ: SW377306 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/36155 Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/36183 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Diffstat (limited to 'src/usr/diag/prdf')
-rw-r--r--src/usr/diag/prdf/common/plat/p9/p9_nimbus.rule2
-rw-r--r--src/usr/diag/prdf/common/plat/p9/p9_nimbus_actions.rule12
-rw-r--r--src/usr/diag/prdf/common/plat/p9/p9_nimbus_regs.rule26
-rw-r--r--src/usr/diag/prdf/common/plat/p9/prdfCommonPlugins.C20
4 files changed, 52 insertions, 8 deletions
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 4553901db..fc343404b 100644
--- a/src/usr/diag/prdf/common/plat/p9/p9_nimbus.rule
+++ b/src/usr/diag/prdf/common/plat/p9/p9_nimbus.rule
@@ -5109,7 +5109,7 @@ group gPBCENTFIR filter singlebit
/** PBCENTFIR[9]
* pb hang_recovery_gte_level1
*/
- (rPBCENTFIR, bit(9)) ? threshold_and_mask;
+ (rPBCENTFIR, bit(9)) ? pb_cent_hang_recovery_gte;
/** PBCENTFIR[10]
* pb fsp checkstop
diff --git a/src/usr/diag/prdf/common/plat/p9/p9_nimbus_actions.rule b/src/usr/diag/prdf/common/plat/p9/p9_nimbus_actions.rule
index 190bbc944..6c3506788 100644
--- a/src/usr/diag/prdf/common/plat/p9/p9_nimbus_actions.rule
+++ b/src/usr/diag/prdf/common/plat/p9/p9_nimbus_actions.rule
@@ -50,3 +50,15 @@ actionclass PcbSlaveInternalParity
funccall("clearParityError");
};
+/**
+ * Threshold 32/day (field) and 1 (mnfg). Do not predictively callout on
+ * threshold, instead just mask.
+ */
+actionclass pb_cent_hang_recovery_gte
+{
+ capture(PbCentMode);
+ calloutSelfMed;
+ threshold32pday;
+ funccall("ClearServiceCallFlag_mnfgInfo");
+};
+
diff --git a/src/usr/diag/prdf/common/plat/p9/p9_nimbus_regs.rule b/src/usr/diag/prdf/common/plat/p9/p9_nimbus_regs.rule
index f15925bc4..93affafce 100644
--- a/src/usr/diag/prdf/common/plat/p9/p9_nimbus_regs.rule
+++ b/src/usr/diag/prdf/common/plat/p9/p9_nimbus_regs.rule
@@ -22,13 +22,14 @@
# permissions and limitations under the License.
#
# IBM_PROLOG_END_TAG
-###############################################################################
+
+################################################################################
# Additional registers for nimbus chip, not defined in XML
-###############################################################################
+################################################################################
- ###########################################################################
+ ############################################################################
# N3 Chiplet PBEXTFIR
- ###########################################################################
+ ############################################################################
# External checkstop register - Used for FFDC and Fabric sorting only
# Any attention generated from this FIR register indicates that there was a
@@ -44,9 +45,21 @@
capture group default;
};
- ###########################################################################
+ ############################################################################
+ # Misc Registers
+ ############################################################################
+
+ register PB_CENT_MODE
+ {
+ name "PB.COM.PB_CENT_MODE";
+ scomaddr 0x05011C0A;
+ capture group PbCentMode;
+ };
+
+ ############################################################################
# Non-FIR Registers
- ###########################################################################
+ ############################################################################
+
register CFAM_FSI_STATUS
{
name "TPC.FSI.FSI2PIB.STATUS";
@@ -81,3 +94,4 @@
scomaddr 0x010F001E;
capture group PllFIRs;
};
+
diff --git a/src/usr/diag/prdf/common/plat/p9/prdfCommonPlugins.C b/src/usr/diag/prdf/common/plat/p9/prdfCommonPlugins.C
index 0edaa4297..ebf4f8ca7 100644
--- a/src/usr/diag/prdf/common/plat/p9/prdfCommonPlugins.C
+++ b/src/usr/diag/prdf/common/plat/p9/prdfCommonPlugins.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2016 */
+/* Contributors Listed Below - COPYRIGHT 2016,2017 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -73,6 +73,24 @@ PRDF_PLUGIN_DEFINE_NS( p9_capp, CommonPlugins, ClearServiceCallFlag );
PRDF_PLUGIN_DEFINE_NS( p9_phb, CommonPlugins, ClearServiceCallFlag );
PRDF_PLUGIN_DEFINE_NS( p9_mcs, CommonPlugins, ClearServiceCallFlag );
+/**
+ * @brief Clear the service call flag (field and MNFG) so that thresholding
+ * will still be done, but no visible error log committed.
+ * @param i_chip PROC
+ * @param i_sc Step code data struct
+ * @returns SUCCESS always
+ */
+int32_t ClearServiceCallFlag_mnfgInfo( ExtensibleChip * i_chip,
+ STEP_CODE_DATA_STRUCT & i_sc )
+{
+ if ( i_sc.service_data->IsAtThreshold() )
+ {
+ i_sc.service_data->clearServiceCall();
+ }
+
+ return SUCCESS;
+}
+PRDF_PLUGIN_DEFINE_NS(p9_nimbus, CommonPlugins, ClearServiceCallFlag_mnfgInfo);
} // namespace CommonPlugins ends
OpenPOWER on IntegriCloud