summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/prdf/common/plat/axone
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/diag/prdf/common/plat/axone')
-rw-r--r--src/usr/diag/prdf/common/plat/axone/axone_omic.rule10
-rw-r--r--src/usr/diag/prdf/common/plat/axone/prdfOmicPlugins.C8
2 files changed, 13 insertions, 5 deletions
diff --git a/src/usr/diag/prdf/common/plat/axone/axone_omic.rule b/src/usr/diag/prdf/common/plat/axone/axone_omic.rule
index 9e1e6ebc0..7b26f7a3a 100644
--- a/src/usr/diag/prdf/common/plat/axone/axone_omic.rule
+++ b/src/usr/diag/prdf/common/plat/axone/axone_omic.rule
@@ -5,7 +5,7 @@
#
# OpenPOWER HostBoot Project
#
-# Contributors Listed Below - COPYRIGHT 2018,2019
+# Contributors Listed Below - COPYRIGHT 2018,2020
# [+] International Business Machines Corp.
#
#
@@ -196,8 +196,10 @@ rule rOMIC
};
group gOMIC attntype CHECK_STOP, RECOVERABLE, UNIT_CS, HOST_ATTN
- filter singlebit
+ filter priority(2,0,1)
{
+ # We need to prioritize analysis to the OMIDLFIR here because of potential
+ # Channel Fail attentions in that FIR that will be reported as RECOVERABLE.
(rOMIC, bit(0)) ? analyzeIOOMIFIR;
(rOMIC, bit(1)) ? analyzeMCPPEFIR;
(rOMIC, bit(2)) ? analyzeOMIDLFIR;
@@ -359,8 +361,8 @@ rule rOMIDLFIR
};
group gOMIDLFIR
- filter singlebit,
- cs_root_cause
+ filter priority(0,20,40),
+ cs_root_cause(0,20,40)
{
/** OMIDLFIR[0]
* OMI-DL0 fatal error
diff --git a/src/usr/diag/prdf/common/plat/axone/prdfOmicPlugins.C b/src/usr/diag/prdf/common/plat/axone/prdfOmicPlugins.C
index 04f2d0735..f6ea182b9 100644
--- a/src/usr/diag/prdf/common/plat/axone/prdfOmicPlugins.C
+++ b/src/usr/diag/prdf/common/plat/axone/prdfOmicPlugins.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2019 */
+/* Contributors Listed Below - COPYRIGHT 2019,2020 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -106,6 +106,12 @@ int32_t DlFatalError( ExtensibleChip * i_chip, STEP_CODE_DATA_STRUCT & io_sc,
do
{
+ // Note: The OMIDLFIR can't actually be set up to report UNIT_CS
+ // attentions, instead, as a workaround, the relevant channel fail
+ // bits will be set as recoverable bits and we will manually set
+ // the attention types to UNIT_CS in our handling of these errors.
+ io_sc.service_data->setPrimaryAttnType( UNIT_CS );
+
char reg[64];
sprintf( reg, "DL%d_ERROR_HOLD", i_dl );
OpenPOWER on IntegriCloud