diff options
author | Chris Phan <cphan@us.ibm.com> | 2012-12-14 14:28:17 -0600 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2012-12-17 19:35:16 -0600 |
commit | a4121771b6a44ad1d81a3ea79a5c00270eb27092 (patch) | |
tree | fca49036f456540fc6ca9f49b60fa485ff8fdc47 /src/usr | |
parent | 64bf16fe0d2cb9af68de92d7698cf28b963636e4 (diff) | |
download | talos-hostboot-a4121771b6a44ad1d81a3ea79a5c00270eb27092.tar.gz talos-hostboot-a4121771b6a44ad1d81a3ea79a5c00270eb27092.zip |
Various bug fixes in PRD rule files
Also move dumpHWURequest to PlatServices to get around
recent changes in DUMP that breaks x86 sim build.
Change-Id: Ia9666255d84fdc8c7c6407c12216393950672902
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/2709
Tested-by: Jenkins Server
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/2735
Diffstat (limited to 'src/usr')
8 files changed, 51 insertions, 17 deletions
diff --git a/src/usr/diag/prdf/common/framework/service/prdfPlatServices.C b/src/usr/diag/prdf/common/framework/service/prdfPlatServices.C index fb1a7459d..afa0ee497 100755 --- a/src/usr/diag/prdf/common/framework/service/prdfPlatServices.C +++ b/src/usr/diag/prdf/common/framework/service/prdfPlatServices.C @@ -62,6 +62,7 @@ #include <utillib.H> #include <rmgrBaseClientLib.H> #include <services/hwas/hwsvHwAvailSvc.H> // For deconfigureTargetAtRuntime() + #include <dumpHWURequest_applet.H> #include <proc_mpipl_check_eligibility.H> #endif @@ -510,6 +511,8 @@ int32_t getBadDqBitmap( TARGETING::TargetHandle_t i_mbaTarget, #ifndef __HOSTBOOT_MODULE +//------------------------------------------------------------------------------ + errlHndl_t runtimeDeconfig( TARGETING::TargetHandle_t i_target ) { using namespace HWAS; @@ -518,6 +521,22 @@ errlHndl_t runtimeDeconfig( TARGETING::TargetHandle_t i_target ) //------------------------------------------------------------------------------ +errlHndl_t dumpHWURequest( hwTableContent i_Content, + comp_id_t i_ClientId, + uint32_t i_ErrorLogId, + SrciSrc &i_Src, + TARGETING::HUID_ATTR i_FailingHomUnitId ) +{ + return dumpHWURequestApplet( i_Content, + i_ClientId, + i_ErrorLogId, + i_Src, + i_FailingHomUnitId ); +} + + +//------------------------------------------------------------------------------ + int32_t checkMpiplEligibility(TARGETING::TargetHandle_t i_procTarget, bool & o_mpiplEligible) { diff --git a/src/usr/diag/prdf/common/framework/service/prdfPlatServices.H b/src/usr/diag/prdf/common/framework/service/prdfPlatServices.H index 7147fea79..4f5eeeed3 100755 --- a/src/usr/diag/prdf/common/framework/service/prdfPlatServices.H +++ b/src/usr/diag/prdf/common/framework/service/prdfPlatServices.H @@ -44,6 +44,8 @@ #ifdef __HOSTBOOT_MODULE #include <dram_initialization/mss_memdiag/mss_maint_cmds.H> +#else + #include <hdctContent.H> #endif //------------------------------------------------------------------------------ @@ -280,6 +282,21 @@ int32_t getBadDqBitmap( TARGETING::TargetHandle_t i_mbaTarget, */ errlHndl_t runtimeDeconfig( TARGETING::TargetHandle_t i_target ); + +/** + * @brief Interface for HWSV (PRD) to request a local dump of a hardware target. + * @param[in] i_Content Content to collect + * @param[in] i_ClientId Component ID requesting the hardware unit dump + * @param[in] i_ErrorLogId Platform Log ID, PLID, received from the failure + * @param[in] i_Src Primary SRC of reason error log + * @param[in] i_FailingHomUnitId Failing target to dump +*/ +errlHndl_t dumpHWURequest( hwTableContent i_Content, + comp_id_t i_ClientId, + uint32_t i_ErrorLogId, + SrciSrc &i_Src, + TARGETING::HUID_ATTR i_FailingHomUnitId ); + /** * @brief determine whether a checkstop is eligible for * Memory Preserving IPL diff --git a/src/usr/diag/prdf/common/framework/service/prdf_ras_services.C b/src/usr/diag/prdf/common/framework/service/prdf_ras_services.C index 8f616f68f..dd072b672 100755 --- a/src/usr/diag/prdf/common/framework/service/prdf_ras_services.C +++ b/src/usr/diag/prdf/common/framework/service/prdf_ras_services.C @@ -66,8 +66,6 @@ #include <evenmgt.H> #include <rmgrBaseClientLib.H> //for rmgrSyncFile #include <prdfSdcFileControl.H> - // FIXME: move dump include to iipglobl.h when Adriana's fix is in - #include <dumpHWURequest_applet.H> #endif #undef prdf_ras_services_C diff --git a/src/usr/diag/prdf/common/iipglobl.h b/src/usr/diag/prdf/common/iipglobl.h index b0ad52cdb..377ddc0a0 100755 --- a/src/usr/diag/prdf/common/iipglobl.h +++ b/src/usr/diag/prdf/common/iipglobl.h @@ -544,11 +544,11 @@ class System; #define PRDF_HWUDUMP(io_dumpErrl, i_errl, \ i_content, i_dumpHuid) \ SrciSrc l_src(*(i_errl->getSRC(0))); \ - io_dumpErrl= dumpHWURequestApplet( i_content, \ - PRDF_COMP_ID, \ - i_errl->plid(),\ - l_src, \ - i_dumpHuid ); + io_dumpErrl= PlatServices::dumpHWURequest( i_content, \ + PRDF_COMP_ID, \ + i_errl->plid(),\ + l_src, \ + i_dumpHuid ); /** * @brief Interface to deconfig target at Runtime 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 af8e5fbb5..13ace0241 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 @@ -28,9 +28,9 @@ rule MemChipletFir { CHECK_STOP: - (MEM_CHIPLET_CS_FIR & `17f6000000000000`) & ~MEM_CHIPLET_FIR_MASK; + (MEM_CHIPLET_CS_FIR & `17fc000000000000`) & ~MEM_CHIPLET_FIR_MASK; RECOVERABLE: - ((MEM_CHIPLET_RE_FIR >> 2) & `17f6000000000000`) & ~MEM_CHIPLET_FIR_MASK; + ((MEM_CHIPLET_RE_FIR >> 2) & `17f0000000000000`) & ~MEM_CHIPLET_FIR_MASK; }; group gMemChipletFir filter singlebit @@ -78,12 +78,12 @@ group gMemChipletFir filter singlebit /** MEM_CHIPLET_FIR[12] * Attention from MBASECUREFIR (MBA 01) */ - (MemChipletFir, bit(12)) ? analyzeMba0; + (MemChipletFir, bit(12)) ? analyzeMba0; # Checkstop only /** MEM_CHIPLET_FIR[13] * Attention from MBASECUREFIR (MBA 23) */ - (MemChipletFir, bit(13)) ? analyzeMba1; + (MemChipletFir, bit(13)) ? analyzeMba1; # Checkstop only }; rule MemChipletSpa 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 98d08b766..6e8af6fdc 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 @@ -30,7 +30,7 @@ rule NestChipletFir CHECK_STOP: (NEST_CHIPLET_CS_FIR & `17fe000000000000`) & ~NEST_CHIPLET_FIR_MASK; RECOVERABLE: - ((NEST_CHIPLET_RE_FIR >> 2) & `17fe000000000000`) & ~NEST_CHIPLET_FIR_MASK; + ((NEST_CHIPLET_RE_FIR >> 2) & `17fc000000000000`) & ~NEST_CHIPLET_FIR_MASK; }; group gNestChipletFir filter singlebit @@ -78,7 +78,7 @@ group gNestChipletFir filter singlebit /** NEST_CHIPLET_FIR[14] * Attention from MBS secure FIR */ - (NestChipletFir, bit(14))? analyze(gMbsSecureFir); + (NestChipletFir, bit(14))? analyze(gMbsSecureFir); # Checkstop only }; ################################################################################ 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 2b4b50559..737d87024 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 @@ -86,7 +86,7 @@ group gTpChipletFir filter singlebit (TpChipletFir, bit(12)) ? analyzeMcs31; /** TP_CHIPLET_FIR[13] - * Attention from IOMCFIR_1 (Venice only) + * Attention from IOMCFIR_0 (Venice only) */ (TpChipletFir, bit(13)) ? defaultMaskedError; @@ -101,7 +101,7 @@ group gTpChipletFir filter singlebit (TpChipletFir, bit(15)) ? analyze(gPbamFir); /** TP_CHIPLET_FIR[16|17|18|19] - * Attention from CS from MC 0-3 + * CS attention from MC 0-3 */ (TpChipletFir, bit(16|17|18|19)) ? defaultMaskedError; 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 2b3e7883c..497ea135a 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 @@ -28,9 +28,9 @@ rule XbusChipletFir { CHECK_STOP: - (XBUS_CHIPLET_CS_FIR & `1F90000000000000`) & ~XBUS_CHIPLET_FIR_MASK; + (XBUS_CHIPLET_CS_FIR & `1F80000000000000`) & ~XBUS_CHIPLET_FIR_MASK; RECOVERABLE: - ((XBUS_CHIPLET_RE_FIR >> 2) & `1F90000000000000`) & ~XBUS_CHIPLET_FIR_MASK; + ((XBUS_CHIPLET_RE_FIR >> 2) & `1F80000000000000`) & ~XBUS_CHIPLET_FIR_MASK; }; group gXbusChipletFir filter singlebit |