diff options
author | Zane Shelley <zshelle@us.ibm.com> | 2015-01-12 16:24:58 -0600 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2015-03-01 16:47:23 -0600 |
commit | 58f67a935b78ba1205f375b9f1e09618844bf10f (patch) | |
tree | 47c04482cb2c7c67ead539018e1db40da8335941 /src/usr/diag/prdf/common/plat | |
parent | 8d8a1ea5d113eb0760f764e391f6c9f1856244ac (diff) | |
download | talos-hostboot-58f67a935b78ba1205f375b9f1e09618844bf10f.tar.gz talos-hostboot-58f67a935b78ba1205f375b9f1e09618844bf10f.zip |
PRD: clean up RE FIR bits that can't cause CS
Change-Id: Idae1485db3a26b1866c33bee57d4b263e1f78265
RTC: 119944
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/15328
Tested-by: Jenkins Server
Reviewed-by: Christopher T. Phan <cphan@us.ibm.com>
Reviewed-by: Zane Shelley <zshelle@us.ibm.com>
Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com>
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/16076
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/diag/prdf/common/plat')
10 files changed, 80 insertions, 67 deletions
diff --git a/src/usr/diag/prdf/common/plat/pegasus/Ex.rule b/src/usr/diag/prdf/common/plat/pegasus/Ex.rule index 8fa05539c..430eb86f9 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/Ex.rule +++ b/src/usr/diag/prdf/common/plat/pegasus/Ex.rule @@ -1057,7 +1057,8 @@ rule CoreFir RECOVERABLE: COREFIRWOF & ~COREFIR_MASK & ~COREFIR_ACT0 & COREFIR_ACT1; }; -group gCoreFir filter singlebit +group gCoreFir filter singlebit, + secondarybits( 33, 34, 35 ) { /** COREFIR[0] * IFU_SRAM_PARITY_ERR: SRAM recoverable error (ICACHE parity error, etc.) @@ -1384,7 +1385,8 @@ rule L2Fir RECOVERABLE: L2FIR & ~L2FIR_MASK & ~L2FIR_ACT0 & L2FIR_ACT1; }; -group gL2Fir filter singlebit +group gL2Fir filter singlebit, + secondarybits( 0, 6 ) { /** L2FIR[0] * CACHE_RD_CE @@ -1587,7 +1589,8 @@ rule L3Fir RECOVERABLE: L3FIR & ~L3FIR_MASK & ~L3FIR_ACT0 & L3FIR_ACT1; }; -group gL3Fir filter singlebit +group gL3Fir filter singlebit, + secondarybits( 4, 13 ) { /** L3FIR[0] * PowerBus Command Error - Overrun condition. diff --git a/src/usr/diag/prdf/common/plat/pegasus/Mba.rule b/src/usr/diag/prdf/common/plat/pegasus/Mba.rule index 84ee5e2ce..7c4b5803d 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/Mba.rule +++ b/src/usr/diag/prdf/common/plat/pegasus/Mba.rule @@ -5,7 +5,7 @@ # # OpenPOWER HostBoot Project # -# Contributors Listed Below - COPYRIGHT 2012,2014 +# Contributors Listed Below - COPYRIGHT 2012,2015 # [+] International Business Machines Corp. # # @@ -466,7 +466,7 @@ rule MbaFir RECOVERABLE: MBAFIR & ~MBAFIR_MASK & ~MBAFIR_ACT0 & MBAFIR_ACT1; }; -group gMbaFir filter singlebit +group gMbaFir filter singlebit, secondarybits( 15, 16 ) { /** MBAFIR[0] * MBAFIRQ_INVALID_MAINT_CMD @@ -588,7 +588,7 @@ rule MbaDdrPhyFir MBADDRPHYFIR & ~MBADDRPHYFIR_MASK & ~MBADDRPHYFIR_ACT0 & MBADDRPHYFIR_ACT1; }; -group gMbaDdrPhyFir filter singlebit +group gMbaDdrPhyFir filter singlebit, secondarybits( 53 ) { /** MBADDRPHYFIR[48] * PHY01_DDRPHY_FIR_REG_DDR0_FSM_CKSTP @@ -663,7 +663,7 @@ rule MbaCalFir RECOVERABLE: MBACALFIR & ~MBACALFIR_MASK & ~MBACALFIR_ACT0 & MBACALFIR_ACT1; }; -group gMbaCalFir filter singlebit +group gMbaCalFir filter singlebit, secondarybits( 10, 14, 19, 20, 21, 24, 25 ) { /** MBACALFIR[0] * MBACALFIRQ_MBA_RECOVERABLE_ERROR @@ -819,37 +819,37 @@ group gMbaSpa attntype SPECIAL filter singlebit /** MBASPA[1] * MBSPAQ_HARD_CE_ETE_ATTN */ - (MbaSpa, bit(1)) ? TBDDefaultCallout; + (MbaSpa, bit(1)) ? defaultMaskedError; /** MBASPA[2] * MBSPAQ_SOFT_CE_ETE_ATTN */ - (MbaSpa, bit(2)) ? TBDDefaultCallout; + (MbaSpa, bit(2)) ? defaultMaskedError; /** MBASPA[3] * MBSPAQ_INTERMITTENT_ETE_ATTN */ - (MbaSpa, bit(3)) ? TBDDefaultCallout; + (MbaSpa, bit(3)) ? defaultMaskedError; /** MBASPA[4] * MBSPAQ_RCE_ETE_ATTN */ - (MbaSpa, bit(4)) ? TBDDefaultCallout; + (MbaSpa, bit(4)) ? defaultMaskedError; /** MBASPA[5] * MBSPAQ_EMERGENCY_THROTTLE_ATTN */ - (MbaSpa, bit(5)) ? TBDDefaultCallout; + (MbaSpa, bit(5)) ? defaultMaskedError; /** MBASPA[6] * MBSPAQ_FIRMWARE_ATTN0 */ - (MbaSpa, bit(6)) ? TBDDefaultCallout; + (MbaSpa, bit(6)) ? defaultMaskedError; /** MBASPA[7] * MBSPAQ_FIRMWARE_ATTN1 */ - (MbaSpa, bit(7)) ? TBDDefaultCallout; + (MbaSpa, bit(7)) ? defaultMaskedError; /** MBASPA[8] * MBSPAQ_WAT_DEBUG_ATTN @@ -864,12 +864,12 @@ group gMbaSpa attntype SPECIAL filter singlebit /** MBASPA[9] * MBSPAQ_SPARE_ATTN1 */ - (MbaSpa, bit(9)) ? TBDDefaultCallout; + (MbaSpa, bit(9)) ? defaultMaskedError; /** MBASPA[10] * MBSPAQ_MCBIST_DONE */ - (MbaSpa, bit(10)) ? TBDDefaultCallout; + (MbaSpa, bit(10)) ? defaultMaskedError; }; ############################################################################## diff --git a/src/usr/diag/prdf/common/plat/pegasus/Membuf_acts_MEM.rule b/src/usr/diag/prdf/common/plat/pegasus/Membuf_acts_MEM.rule index a93a2edc3..5f836129f 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/Membuf_acts_MEM.rule +++ b/src/usr/diag/prdf/common/plat/pegasus/Membuf_acts_MEM.rule @@ -5,7 +5,9 @@ # # OpenPOWER HostBoot Project # -# COPYRIGHT International Business Machines Corp. 2012,2014 +# Contributors Listed Below - COPYRIGHT 2012,2015 +# [+] International Business Machines Corp. +# # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -118,7 +120,7 @@ rule MemLFir RECOVERABLE: MEM_LFIR & ~MEM_LFIR_MASK & ~MEM_LFIR_ACT0 & MEM_LFIR_ACT1; }; -group gMemLFir filter singlebit +group gMemLFir filter singlebit, secondarybits( 0 ) { /** MEM_LFIR[0] * CFIR internal parity error diff --git a/src/usr/diag/prdf/common/plat/pegasus/Membuf_acts_NEST.rule b/src/usr/diag/prdf/common/plat/pegasus/Membuf_acts_NEST.rule index 2f7939ae0..a3e5ef0ca 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/Membuf_acts_NEST.rule +++ b/src/usr/diag/prdf/common/plat/pegasus/Membuf_acts_NEST.rule @@ -101,7 +101,7 @@ rule NestLFir RECOVERABLE: NEST_LFIR & ~NEST_LFIR_MASK & ~NEST_LFIR_ACT0 & NEST_LFIR_ACT1; }; -group gNestLFir filter singlebit +group gNestLFir filter singlebit, secondarybits( 0 ) { /** NEST_LFIR[0] * CFIR internal parity error @@ -171,8 +171,9 @@ rule DmiFir RECOVERABLE: DMIFIR & ~DMIFIR_MASK & ~DMIFIR_ACT0 & DMIFIR_ACT1; }; -group gDmiFir filter priority( 10, # Channel failure - 2, 11, 12, 9 ) # Recoverable +group gDmiFir filter priority( 10, # Channel failure + 2, 11, 12, 9 ), # Recoverable + secondarybits( 9, 48, 49 ) { /** DMIFIR[0] * FIR_RX_INVALID_STATE_OR_PARITY_ERROR @@ -266,7 +267,7 @@ rule ScacFir RECOVERABLE: SCACFIR & ~SCACFIR_MASK & ~SCACFIR_ACT0 & SCACFIR_ACT1; }; -group gScacFir filter singlebit +group gScacFir filter singlebit, secondarybits( 35, 36 ) { /** SCACFIR[0] * SCAC_LFIR_I2CMINVADDR @@ -427,7 +428,8 @@ rule MbiFir }; group gMbiFir filter priority( 8, 9, 19, 20, 6, 0, # Channel failure - 16, 5, 10 ) # Recoverable + 16, 5, 10 ), # Recoverable + secondarybits( 25, 26 ) { /** MBIFIR[0] * MBIFIRQ_REPLAY_TIMEOUT @@ -567,7 +569,7 @@ rule MbsFir RECOVERABLE: MBSFIR & ~MBSFIR_MASK & ~MBSFIR_ACT0 & MBSFIR_ACT1; }; -group gMbsFir filter singlebit +group gMbsFir filter singlebit, secondarybits( 9, 12, 26, 29, 33, 34 ) { /** MBSFIR[0] * MBS_FIR_REG_HOST_PROTOCOL_ERROR @@ -779,8 +781,10 @@ rule Mba1_MbsEccFir ~MBA1_MBSECCFIR_ACT0 & MBA1_MBSECCFIR_ACT1; }; -group gMbsEccFir filter secondarybits(0,1,2,3,4,5,6,7,16,17,20,21,22,23,24, - 25,26,27), priority (19,41) +group gMbsEccFir filter priority ( 19, 41 ), + secondarybits( 0, 1, 2, 3, 4, 5, 6, 7, + 20, 21, 22, 23, 24, 25, 26, 27, + 16, 17, 43, 48, 50, 51 ) { /** MBA0_MBSECCFIR[0] * Memory chip mark on rank 0 @@ -1118,7 +1122,7 @@ rule Mba1_McbistFir ~MBA1_MCBISTFIR_ACT0 & MBA1_MCBISTFIR_ACT1; }; -group gMcbistFir filter singlebit +group gMcbistFir filter singlebit, secondarybits( 15, 16 ) { /** MBA0_MCBISTFIR[0] * MBSFIRQ_SCOM_PAR_ERRORS @@ -1422,9 +1426,6 @@ actionclass maskSecMbsBitsAndConnL4UE SUEGenerationPoint; }; -/** Callout DMI bus with "Threshold and Mask" policy. */ -actionclass thresholdAndMask_dmiBus { calloutDmiBus; thresholdAndMask; }; - /** Callout MBA0 with "Threshold and Mask" policy. */ actionclass thresholdAndMask_mba0 { calloutMba0; thresholdAndMask; }; diff --git a/src/usr/diag/prdf/common/plat/pegasus/Membuf_acts_TP.rule b/src/usr/diag/prdf/common/plat/pegasus/Membuf_acts_TP.rule index 9e9da26ed..cec1fddd6 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/Membuf_acts_TP.rule +++ b/src/usr/diag/prdf/common/plat/pegasus/Membuf_acts_TP.rule @@ -5,7 +5,9 @@ # # OpenPOWER HostBoot Project # -# COPYRIGHT International Business Machines Corp. 2012,2014 +# Contributors Listed Below - COPYRIGHT 2012,2015 +# [+] International Business Machines Corp. +# # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -55,7 +57,7 @@ rule TpLFir RECOVERABLE: TP_LFIR & ~TP_LFIR_MASK & ~TP_LFIR_ACT0 & TP_LFIR_ACT1; }; -group gTpLFir filter singlebit +group gTpLFir filter singlebit, secondarybits( 0, 13, 14 ) { /** TP_LFIR[0] * CFIR internal parity error diff --git a/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_ABUS.rule b/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_ABUS.rule index 5b9486fcc..51f530f58 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_ABUS.rule +++ b/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_ABUS.rule @@ -151,7 +151,8 @@ rule PbesFir }; -group gPbesFir filter singlebit +group gPbesFir filter singlebit, + secondarybits( 6, 9, 12 ) { /** PBESFIR[0] * A0LINK_FMR_ERROR: a0link_fmr_error @@ -378,7 +379,8 @@ rule IoaFir RECOVERABLE: IOAFIR & ~IOAFIR_MASK & ~IOAFIR_ACT0 & IOAFIR_ACT1; }; -group gIoaFir filter singlebit +group gIoaFir filter singlebit, + secondarybits( 17, 25, 33 ) { /** IOAFIR[0] * FIR_RX_INVALID_STATE_OR_PARITY_ERROR diff --git a/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_TP.rule b/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_TP.rule index 5ec62a59c..181344fba 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_TP.rule +++ b/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_TP.rule @@ -360,7 +360,8 @@ rule OccFir }; #based on spreadsheet p8dd1_mss_FFDC_51/60.xls -group gOccFir filter singlebit +group gOccFir filter singlebit, + secondarybits( 10, 39 ) { /** OCCFIR[0] * OCC_SCOM_OCCFIR_OCC_FW0 diff --git a/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_XBUS.rule b/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_XBUS.rule index ac055fbc5..33407a292 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_XBUS.rule +++ b/src/usr/diag/prdf/common/plat/pegasus/Proc_acts_XBUS.rule @@ -5,7 +5,9 @@ # # OpenPOWER HostBoot Project # -# COPYRIGHT International Business Machines Corp. 2012,2014 +# Contributors Listed Below - COPYRIGHT 2012,2015 +# [+] International Business Machines Corp. +# # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -174,7 +176,8 @@ rule PbenFir RECOVERABLE: PBENFIR & ~PBENFIR_MASK & ~PBENFIR_ACT0 & PBENFIR_ACT1; }; -group gPbenFir filter singlebit +group gPbenFir filter singlebit, + secondarybits( 0, 3, 6, 9 ) { /** PBENFIR[0] * X0_LINK_RCV_CE: x0 link rcv ce @@ -307,7 +310,8 @@ rule IoxFir_0 RECOVERABLE: IOXFIR_0 & ~IOXFIR_0_MASK & ~IOXFIR_0_ACT0 & IOXFIR_0_ACT1; }; -group gIoxFir_0 filter singlebit +group gIoxFir_0 filter singlebit, + secondarybits( 9 ) { /** IOXFIR_0[0] * FIR_RX_INVALID_STATE_OR_PARITY_ERROR @@ -400,7 +404,8 @@ rule IoxFir_1 RECOVERABLE: IOXFIR_1 & ~IOXFIR_1_MASK & ~IOXFIR_1_ACT0 & IOXFIR_1_ACT1; }; -group gIoxFir_1 filter singlebit +group gIoxFir_1 filter singlebit, + secondarybits( 9 ) { /** IOXFIR_1[0] * FIR_RX_INVALID_STATE_OR_PARITY_ERROR @@ -493,7 +498,8 @@ rule IoxFir_2 RECOVERABLE: IOXFIR_2 & ~IOXFIR_2_MASK & ~IOXFIR_2_ACT0 & IOXFIR_2_ACT1; }; -group gIoxFir_2 filter singlebit +group gIoxFir_2 filter singlebit, + secondarybits( 9 ) { /** IOXFIR_2[0] * FIR_RX_INVALID_STATE_OR_PARITY_ERROR @@ -586,7 +592,8 @@ rule IoxFir_3 RECOVERABLE: IOXFIR_3 & ~IOXFIR_3_MASK & ~IOXFIR_3_ACT0 & IOXFIR_3_ACT1; }; -group gIoxFir_3 filter singlebit +group gIoxFir_3 filter singlebit, + secondarybits( 9 ) { /** IOXFIR_3[0] * FIR_RX_INVALID_STATE_OR_PARITY_ERROR @@ -796,16 +803,3 @@ actionclass calloutXbus3InterfaceTh5pDay funccall("ClearServiceCallFlag"); }; -/** Callout XBUS 0 with "Threshold and Mask" policy. */ -actionclass thresholdAndMask_xbus0 { calloutXbus0Interface; thresholdAndMask; }; - -/** Callout XBUS 1 with "Threshold and Mask" policy. */ -actionclass thresholdAndMask_xbus1 { calloutXbus1Interface; thresholdAndMask; }; - -/** Callout XBUS 2 with "Threshold and Mask" policy. */ -actionclass thresholdAndMask_xbus2 { calloutXbus2Interface; thresholdAndMask; }; - -/** Callout XBUS 3 with "Threshold and Mask" policy. */ -actionclass thresholdAndMask_xbus3 { calloutXbus3Interface; thresholdAndMask; }; - - diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfLaneRepair.C b/src/usr/diag/prdf/common/plat/pegasus/prdfLaneRepair.C index dfba20330..744b18d98 100644 --- a/src/usr/diag/prdf/common/plat/pegasus/prdfLaneRepair.C +++ b/src/usr/diag/prdf/common/plat/pegasus/prdfLaneRepair.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2013,2014 */ +/* Contributors Listed Below - COPYRIGHT 2013,2015 */ /* [+] Google Inc. */ /* [+] International Business Machines Corp. */ /* */ @@ -74,6 +74,18 @@ int32_t handleLaneRepairEvent( ExtensibleChip * i_chip, do { + #ifdef __HOSTBOOT_MODULE + if ( CHECK_STOP == i_sc.service_data->GetAttentionType() ) + { + // This would only happen on OpenPOWER machines when we are doing + // the post IPL analysis. In this case, we do not have the FFDC to + // query the IO registers so simply set service call and skip + // everything else. + i_sc.service_data->SetServiceCall(); + return SUCCESS; + } + #endif + // Get RX bus target TYPE iChipType = getTargetType(i_chip->GetChipHandle()); diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfP8Mcs.C b/src/usr/diag/prdf/common/plat/pegasus/prdfP8Mcs.C index 9fdea8e85..be146af52 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/prdfP8Mcs.C +++ b/src/usr/diag/prdf/common/plat/pegasus/prdfP8Mcs.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2012,2014 */ +/* Contributors Listed Below - COPYRIGHT 2012,2015 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -121,19 +121,15 @@ int32_t PostAnalysis( ExtensibleChip * i_mcsChip, #define PRDF_FUNC "[Mcs::PostAnalysis] " int32_t l_rc = SUCCESS; - if ( i_sc.service_data->GetFlag(ServiceDataCollector::UNIT_CS) && - (CHECK_STOP != i_sc.service_data->GetAttentionType()) ) + P8McsDataBundle * mcsdb = getMcsDataBundle( i_mcsChip ); + ExtensibleChip * membChip = mcsdb->getMembChip(); + if ( NULL != membChip ) { - P8McsDataBundle * mcsdb = getMcsDataBundle( i_mcsChip ); - ExtensibleChip * membChip = mcsdb->getMembChip(); - if ( NULL != membChip ) + l_rc = MemUtils::chnlCsCleanup( membChip, i_sc ); + if( SUCCESS != l_rc ) { - l_rc = MemUtils::chnlCsCleanup( membChip, i_sc ); - if( SUCCESS != l_rc ) - { - PRDF_ERR( PRDF_FUNC"ChnlCsCleanup() failed for Membuf:0x%08X", - membChip->GetId() ); - } + PRDF_ERR( PRDF_FUNC"ChnlCsCleanup() failed for Membuf:0x%08X", + membChip->GetId() ); } } |