summaryrefslogtreecommitdiffstats
path: root/src/usr
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr')
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Ex.rule20
-rw-r--r--src/usr/diag/prdf/plat/pegasus/prdfPlatP8Ex.C22
2 files changed, 32 insertions, 10 deletions
diff --git a/src/usr/diag/prdf/common/plat/pegasus/Ex.rule b/src/usr/diag/prdf/common/plat/pegasus/Ex.rule
index 7ab70f3f5..08b7acb4c 100755
--- a/src/usr/diag/prdf/common/plat/pegasus/Ex.rule
+++ b/src/usr/diag/prdf/common/plat/pegasus/Ex.rule
@@ -1471,19 +1471,31 @@ actionclass L3UE
funccall("L3UE");
};
-actionclass L3CE
+# Thresholding and runtime handling (line deletes and column repairs)
+# for cache CEs
+actionclass thrAndL2CE
+{
+ threshold( field(32 / day), mfg_file(P8EX_L2_CACHE_CES) );
+ funccall("L2CE");
+};
+actionclass thrAndL3CE
{
- calloutSelfHigh;
threshold( field(32 / day), mfg_file(P8EX_L3_CACHE_CES) );
funccall("L3CE");
};
+actionclass L3CE
+{
+ calloutSelfHigh;
+ # only threshold and attempt repairs on FSP
+ try(funccall("InHostboot"), thrAndL3CE);
+};
actionclass L2CE
{
calloutSelfHigh;
- threshold( field(32 / day), mfg_file(P8EX_L2_CACHE_CES) );
- funccall("L2CE");
+ # only threshold and attempt repairs on FSP
+ try(funccall("InHostboot"), thrAndL2CE);
};
actionclass L2UE
diff --git a/src/usr/diag/prdf/plat/pegasus/prdfPlatP8Ex.C b/src/usr/diag/prdf/plat/pegasus/prdfPlatP8Ex.C
index 8c13b041f..6d4c201f2 100644
--- a/src/usr/diag/prdf/plat/pegasus/prdfPlatP8Ex.C
+++ b/src/usr/diag/prdf/plat/pegasus/prdfPlatP8Ex.C
@@ -109,9 +109,8 @@ int32_t L3UE( ExtensibleChip * i_chip,
int32_t L3CE( ExtensibleChip * i_chip,
STEP_CODE_DATA_STRUCT & i_sc )
{
- PRDF_ERR( "[L3CE] Unexpected attention in Hostboot: "
- "HUID=0x%08x", i_chip->GetId() );
- CalloutUtil::defaultError( i_sc );
+ // We can get these errors during hostboot, but will wait for runtime
+ // to attempt repairs
return SUCCESS;
} PRDF_PLUGIN_DEFINE(Ex, L3CE);
@@ -136,11 +135,22 @@ int32_t L2UE( ExtensibleChip * i_chip,
int32_t L2CE( ExtensibleChip * i_chip,
STEP_CODE_DATA_STRUCT & i_sc )
{
- PRDF_ERR( "[L2CE] Unexpected attention in Hostboot: "
- "HUID=0x%08x", i_chip->GetId() );
- CalloutUtil::defaultError( i_sc );
+ // We can get these errors during hostboot, but will wait for runtime
+ // to attempt repairs
return SUCCESS;
} PRDF_PLUGIN_DEFINE(Ex, L2CE);
+/**
+ * @brief Check if we're running in hostboot
+ * @param i_chip Ex chip.
+ * @param i_stepcode Step Code data struct
+ * @return SUCCESS because this is the Hostboot file
+ */
+int32_t InHostboot( ExtensibleChip * i_chip,
+ STEP_CODE_DATA_STRUCT & i_stepcode )
+{
+ return SUCCESS;
+} PRDF_PLUGIN_DEFINE(Ex, InHostboot);
+
} // end namespace Ex
} // end namespace PRDF
OpenPOWER on IntegriCloud