summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorZane Shelley <zshelle@us.ibm.com>2013-10-07 13:30:03 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2013-10-22 12:34:41 -0500
commite64c67b9de11ab3a5978ee7b8261560197421f51 (patch)
tree7c1eb3af8bcb750ed1fdcf798def061503af1cb3 /src
parent9659d93a0b9f42f7aa5f177961ad337bd521eb3f (diff)
downloadtalos-hostboot-e64c67b9de11ab3a5978ee7b8261560197421f51.tar.gz
talos-hostboot-e64c67b9de11ab3a5978ee7b8261560197421f51.zip
PRD: additional FFDC requested for MCI timeouts
Also made updates to the MCIFIR based on version 59 of the RAS spreadsheet. Change-Id: I7587281d33147d12e2063910a2bad94e3c45e9c3 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/6540 Tested-by: Jenkins Server Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com> Reviewed-by: Christopher T. Phan <cphan@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com> Reviewed-by: Zane Shelley <zshelle@us.ibm.com> Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/6780
Diffstat (limited to 'src')
-rwxr-xr-xsrc/usr/diag/prdf/common/framework/rule/prdrCompile.C11
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/CommonActions.rule7
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Mcs.rule38
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/prdfP8Mcs.C7
4 files changed, 46 insertions, 17 deletions
diff --git a/src/usr/diag/prdf/common/framework/rule/prdrCompile.C b/src/usr/diag/prdf/common/framework/rule/prdrCompile.C
index 81ebfd86c..450d6ab7f 100755
--- a/src/usr/diag/prdf/common/framework/rule/prdrCompile.C
+++ b/src/usr/diag/prdf/common/framework/rule/prdrCompile.C
@@ -496,11 +496,12 @@ uint32_t prdrActionArgMap(const std::string & i_arg)
g_ActionArgMap[tmpStr] = errType;
#ifdef __HOSTBOOT_MODULE
- // FIXME: Hostboot currently does not support dump contents. This is a
- // temporary fix.
- g_ActionArgMap["DUMP_CONTENT_HW"] = 0;
- g_ActionArgMap["DUMP_CONTENT_SH"] = 1;
- g_ActionArgMap["DUMP_CONTENT_HWSUPERNOVA"] = 2;
+ // FIXME: RTC 88391 Hostboot currently does not support dump contents.
+ // This is a temporary fix.
+ g_ActionArgMap["DUMP_CONTENT_SW"] = 0x80000000;
+ g_ActionArgMap["DUMP_CONTENT_HW"] = 0x40000000;
+ g_ActionArgMap["DUMP_CONTENT_SH"] = 0x20000000;
+ g_ActionArgMap["DUMP_CONTENT_HWSUPERNOVA"] = 0x00001000;
#else
// Initialize Dump values. //@ecdf
#include <hdctContent.H>
diff --git a/src/usr/diag/prdf/common/plat/pegasus/CommonActions.rule b/src/usr/diag/prdf/common/plat/pegasus/CommonActions.rule
index 252d2c6c4..6604b6aa9 100755
--- a/src/usr/diag/prdf/common/plat/pegasus/CommonActions.rule
+++ b/src/usr/diag/prdf/common/plat/pegasus/CommonActions.rule
@@ -231,7 +231,6 @@ actionclass callout2ndLvlMedThr1
{
callout2ndLvlMed;
threshold1;
-
};
################################################################################
@@ -244,6 +243,12 @@ actionclass dumpSH
dump(DUMP_CONTENT_SH);
};
+/** Dump SW */
+actionclass dumpSW
+{
+ dump(DUMP_CONTENT_SW);
+};
+
################################################################################
# Default callouts #
################################################################################
diff --git a/src/usr/diag/prdf/common/plat/pegasus/Mcs.rule b/src/usr/diag/prdf/common/plat/pegasus/Mcs.rule
index 579d2e2d2..372cd274c 100755
--- a/src/usr/diag/prdf/common/plat/pegasus/Mcs.rule
+++ b/src/usr/diag/prdf/common/plat/pegasus/Mcs.rule
@@ -113,6 +113,16 @@ chip Mcs
capture req nonzero("MCIFIR");
};
+ register MCIFIR_WOF
+ {
+ name "MC0.MCS0.RIGHT.MCI.SCOMFIR.MCIFIRWOF";
+ scomaddr 0x02011848;
+ capture type secondary;
+ capture group default;
+ capture group FirRegs;
+ capture req nonzero("MCIFIR");
+ };
+
############################################################################
# Error Report Registers
############################################################################
@@ -148,9 +158,9 @@ chip Mcs
################################################################################
# PB Chiplet MCIFIR
+# Reviewed p8dd1_mss_FFDC_59.xls on 10/07/13
################################################################################
-# MCIFIR updated based on p8dd1_mss_FFDC_37_ reviewd.xls
-###############################################################################
+
rule MciFir
{
CHECK_STOP: MCIFIR & ~MCIFIR_MASK & ~MCIFIR_ACT0 & ~MCIFIR_ACT1;
@@ -197,7 +207,7 @@ group gMciFir attntype CHECK_STOP, RECOVERABLE, SPECIAL, UNIT_CS
/** MCIFIR[6]
* MCIFIRQ_REPLAY_BUFFER_ECC_UE
*/
- (MciFir, bit(6)) ? SelfHighThr1 ;
+ (MciFir, bit(6)) ? SelfHighThr1;
/** MCIFIR[7]
* MCIFIRQ_MCI_CHINIT_STATE_MACHINE_TIMEOUT
@@ -309,7 +319,7 @@ group gMciFir attntype CHECK_STOP, RECOVERABLE, SPECIAL, UNIT_CS
/** MCIFIR[26]
* MCIFIRQ_POWERBUS_PROTOCOL_ERROR
*/
- (MciFir, bit(26)) ? callout2ndLvlMedThr1;
+ (MciFir, bit(26)) ? callout2ndLvlDumpSW;
/** MCIFIR[27]
* MCIFIRQ_MCS_COMMAND_LIST_TIMEOUT_DUE_TO_POWERBUS
@@ -348,7 +358,7 @@ group gMciFir attntype CHECK_STOP, RECOVERABLE, SPECIAL, UNIT_CS
/** MCIFIR[33]
* MCIFIRQ_NONFOREIGN_ACCESS_TO_FOREIGN_BAR
*/
- (MciFir, bit(33)) ? callout2ndLvlMedThr1;
+ (MciFir, bit(33)) ? callout2ndLvlDumpSW;
/** MCIFIR[34]
* MCIFIRQ_CENTAUR_SYNC_COMMAND_DETECTED
@@ -373,18 +383,18 @@ group gMciFir attntype CHECK_STOP, RECOVERABLE, SPECIAL, UNIT_CS
/** MCIFIR[38]
* MCIFIRQ_HA_ILLEGAL_CONSUMER_ACCESS_ERROR
*/
- (MciFir, bit(38)) ? callout2ndLvlMedThr1;
+ (MciFir, bit(38)) ? callout2ndLvlDumpSW;
/** MCIFIR[39]
* MCIFIRQ_HA_ILLEGAL_PRODUCER_ACCESS_ERROR
*/
- (MciFir, bit(39)) ? callout2ndLvlMedThr1;
+ (MciFir, bit(39)) ? callout2ndLvlDumpSW;
/** MCIFIR[40]
* CHANNEL TIMEOUT ERROR
*/
- # FIXME RTC 23127 No decision on MRU as yet
- (MciFir, bit(40)) ? defaultMaskedError;
+ # FIXME RTC 23127 No decision on MRU as yet
+ (MciFir, bit(40)) ? TBDDefaultCallout;
/** MCIFIR[41]
* CENTAUR FAULT LINE
@@ -480,7 +490,17 @@ actionclass CalloutDmiBusAndThr2pd
threshold2pday;
};
+/** If there is a lane repair attention, do nothing. Otherwise, callout DMI bus
+ with threshold of 2/day. */
actionclass analyzeSpareBitAndThr
{
try( funccall("checkSpareBit"), CalloutDmiBusAndThr2pd );
};
+
+/** Callout 2nd Level and dump SW */
+actionclass callout2ndLvlDumpSW
+{
+ callout2ndLvlMedThr1;
+ dumpSW;
+};
+
diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfP8Mcs.C b/src/usr/diag/prdf/common/plat/pegasus/prdfP8Mcs.C
index 02af45f66..ca520f70c 100755
--- a/src/usr/diag/prdf/common/plat/pegasus/prdfP8Mcs.C
+++ b/src/usr/diag/prdf/common/plat/pegasus/prdfP8Mcs.C
@@ -192,12 +192,15 @@ int32_t checkSpareBit( ExtensibleChip * i_mcsChip,
STEP_CODE_DATA_STRUCT & i_sc )
{
using namespace LaneRepair;
- int32_t l_rc = FAIL;
+
+ int32_t l_rc = FAIL; // Default is to handle the attention (via rule code).
ExtensibleChip * mbChip = getMcsDataBundle( i_mcsChip )->getMembChip();
- if ( true == isSpareBitOnDMIBus( i_mcsChip, mbChip ))
+ if ( isSpareBitOnDMIBus(i_mcsChip, mbChip) )
{
+ // Ignore attention and do not commit the error log.
+ i_sc.service_data->DontCommitErrorLog();
l_rc = SUCCESS;
}
OpenPOWER on IntegriCloud