summaryrefslogtreecommitdiffstats
path: root/src/usr
diff options
context:
space:
mode:
authorChris Phan <cphan@us.ibm.com>2012-12-14 14:28:17 -0600
committerA. Patrick Williams III <iawillia@us.ibm.com>2012-12-17 19:35:16 -0600
commita4121771b6a44ad1d81a3ea79a5c00270eb27092 (patch)
treefca49036f456540fc6ca9f49b60fa485ff8fdc47 /src/usr
parent64bf16fe0d2cb9af68de92d7698cf28b963636e4 (diff)
downloadtalos-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')
-rwxr-xr-xsrc/usr/diag/prdf/common/framework/service/prdfPlatServices.C19
-rwxr-xr-xsrc/usr/diag/prdf/common/framework/service/prdfPlatServices.H17
-rwxr-xr-xsrc/usr/diag/prdf/common/framework/service/prdf_ras_services.C2
-rwxr-xr-xsrc/usr/diag/prdf/common/iipglobl.h10
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Membuf_acts_MEM.rule8
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Membuf_acts_NEST.rule4
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Proc_acts_TP.rule4
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/Proc_acts_XBUS.rule4
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
OpenPOWER on IntegriCloud