diff options
author | Zane Shelley <zshelle@us.ibm.com> | 2013-10-07 13:30:03 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2013-10-22 12:34:41 -0500 |
commit | e64c67b9de11ab3a5978ee7b8261560197421f51 (patch) | |
tree | 7c1eb3af8bcb750ed1fdcf798def061503af1cb3 /src | |
parent | 9659d93a0b9f42f7aa5f177961ad337bd521eb3f (diff) | |
download | talos-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')
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; } |