summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/prdf
diff options
context:
space:
mode:
authorZane Shelley <zshelle@us.ibm.com>2014-11-17 13:54:28 -0600
committerA. Patrick Williams III <iawillia@us.ibm.com>2014-12-01 15:48:06 -0600
commite656d390e26b8e5c9a83ae6eaf84e23c68eb8fa4 (patch)
treef98a58f58a016714a6b43a1fe803d17116ae2b23 /src/usr/diag/prdf
parent2aad7ac5968534bda5848bada195500647b3f755 (diff)
downloadtalos-hostboot-e656d390e26b8e5c9a83ae6eaf84e23c68eb8fa4.tar.gz
talos-hostboot-e656d390e26b8e5c9a83ae6eaf84e23c68eb8fa4.zip
PRD: various cleanup for HBRT
Change-Id: I29f226a86c33fc827bc4ed09f5e7ad47007dac7c Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/14557 Reviewed-by: Christopher T. Phan <cphan@us.ibm.com> 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.aus.stglabs.ibm.com:8080/gerrit/14582
Diffstat (limited to 'src/usr/diag/prdf')
-rwxr-xr-xsrc/usr/diag/prdf/common/framework/service/prdfPlatServices_common.C15
-rwxr-xr-xsrc/usr/diag/prdf/common/framework/service/prdfPlatServices_common.H9
-rwxr-xr-xsrc/usr/diag/prdf/common/runtime/prdfCenMbaTdCtlr_rt.C9
-rwxr-xr-xsrc/usr/diag/prdf/common/runtime/prdfCenMbaTdQueue.H5
-rw-r--r--src/usr/diag/prdf/common/runtime/prdfCenMbaTdRankData.H2
-rw-r--r--src/usr/diag/prdf/framework/service/prdfRasServices.C12
-rw-r--r--src/usr/diag/prdf/prdf_hb_only.mk2
7 files changed, 48 insertions, 6 deletions
diff --git a/src/usr/diag/prdf/common/framework/service/prdfPlatServices_common.C b/src/usr/diag/prdf/common/framework/service/prdfPlatServices_common.C
index bc8baf286..7dbe59e53 100755
--- a/src/usr/diag/prdf/common/framework/service/prdfPlatServices_common.C
+++ b/src/usr/diag/prdf/common/framework/service/prdfPlatServices_common.C
@@ -987,6 +987,21 @@ mss_MaintCmdWrapper * createMssCmd( mss_MaintCmdWrapper::CmdType i_cmdType,
return o_cmd;
}
+//------------------------------------------------------------------------------
+
+mss_MaintCmdWrapper * createIncAddrMssCmd( TargetHandle_t i_mba )
+{
+ mss_MaintCmdWrapper * o_cmd = NULL;
+
+ mss_MaintCmd * cmd = new mss_IncrementAddress( getFapiTarget(i_mba) );
+
+ o_cmd = new mss_MaintCmdWrapper( cmd );
+
+ return o_cmd;
+}
+
+//------------------------------------------------------------------------------
+
} // end namespace PlatServices
} // end namespace PRDF
diff --git a/src/usr/diag/prdf/common/framework/service/prdfPlatServices_common.H b/src/usr/diag/prdf/common/framework/service/prdfPlatServices_common.H
index 88661f619..e5c7b9ebe 100755
--- a/src/usr/diag/prdf/common/framework/service/prdfPlatServices_common.H
+++ b/src/usr/diag/prdf/common/framework/service/prdfPlatServices_common.H
@@ -448,6 +448,15 @@ mss_MaintCmdWrapper * createMssCmd( mss_MaintCmdWrapper::CmdType i_cmdType,
uint32_t i_flags = mss_MaintCmdWrapper::NO_FLAGS,
const CenAddr * i_sAddrOverride = NULL );
+/**
+ * @brief Create an IncrementAddress maintenance command object.
+ * @param i_mba An MBA target.
+ * @return A mss_MaintCmdWrapper object, NULL if an internal function failed.
+ * @note This function allocates memory on heap for mss_MaintCmdWrapper
+ * object. It is the caller's responsibilty to delete this object.
+ */
+mss_MaintCmdWrapper * createIncAddrMssCmd( TARGETING::TargetHandle_t i_mba );
+
//##############################################################################
//## util functions
//##############################################################################
diff --git a/src/usr/diag/prdf/common/runtime/prdfCenMbaTdCtlr_rt.C b/src/usr/diag/prdf/common/runtime/prdfCenMbaTdCtlr_rt.C
index af08c1e34..b6b59753b 100755
--- a/src/usr/diag/prdf/common/runtime/prdfCenMbaTdCtlr_rt.C
+++ b/src/usr/diag/prdf/common/runtime/prdfCenMbaTdCtlr_rt.C
@@ -31,9 +31,12 @@
#include <prdfTrace.H>
#include <prdfExtensibleChip.H>
#include <prdfPlatServices.H>
-#include <prdfSdcFileControl.H>
#include <UtilHash.H>
+#ifndef __HOSTBOOT_RUNTIME
+ #include <prdfSdcFileControl.H>
+#endif
+
// Pegasus includes
#include <prdfCenAddress.H>
#include <prdfCenDqBitmap.H>
@@ -1828,7 +1831,9 @@ int32_t CenMbaTdCtlr::removeTdQueueEntry()
int32_t CenMbaTdCtlr::cleanupPrevCmd( STEP_CODE_DATA_STRUCT & io_sc )
{
+ #ifndef __HOSTBOOT_RUNTIME
ForceSyncAnalysis(*io_sc.service_data);
+ #endif
return CenMbaTdCtlrCommon::cleanupPrevCmd();
}
@@ -1837,7 +1842,9 @@ int32_t CenMbaTdCtlr::cleanupPrevCmd( STEP_CODE_DATA_STRUCT & io_sc )
int32_t CenMbaTdCtlr::prepareNextCmd( STEP_CODE_DATA_STRUCT & io_sc,
bool i_clearStats )
{
+ #ifndef __HOSTBOOT_RUNTIME
ForceSyncAnalysis(*io_sc.service_data);
+ #endif
return CenMbaTdCtlrCommon::prepareNextCmd( i_clearStats );
}
diff --git a/src/usr/diag/prdf/common/runtime/prdfCenMbaTdQueue.H b/src/usr/diag/prdf/common/runtime/prdfCenMbaTdQueue.H
index dfd3ded07..a1be09bf9 100755
--- a/src/usr/diag/prdf/common/runtime/prdfCenMbaTdQueue.H
+++ b/src/usr/diag/prdf/common/runtime/prdfCenMbaTdQueue.H
@@ -87,8 +87,9 @@ class TdQueue
*/
bool exists( const CenRank & i_rank )
{
- return ( iv_queue.end() != find_if( iv_queue.begin(), iv_queue.end(),
- MatchRank(i_rank) ) );
+ return ( iv_queue.end() != std::find_if( iv_queue.begin(),
+ iv_queue.end(),
+ MatchRank(i_rank) ) );
}
/**
diff --git a/src/usr/diag/prdf/common/runtime/prdfCenMbaTdRankData.H b/src/usr/diag/prdf/common/runtime/prdfCenMbaTdRankData.H
index 913129af9..94833e244 100644
--- a/src/usr/diag/prdf/common/runtime/prdfCenMbaTdRankData.H
+++ b/src/usr/diag/prdf/common/runtime/prdfCenMbaTdRankData.H
@@ -160,7 +160,7 @@ class TdRankList
* iv_list.end() if the rank is not found.
*/
ListItr findRank( const CenRank & i_rank )
- { return find_if( iv_list.begin(), iv_list.end(), MatchRank(i_rank) ); }
+ { return std::find_if(iv_list.begin(), iv_list.end(), MatchRank(i_rank)); }
private: // instance variables
diff --git a/src/usr/diag/prdf/framework/service/prdfRasServices.C b/src/usr/diag/prdf/framework/service/prdfRasServices.C
index 7f3d838d8..7099df6b8 100644
--- a/src/usr/diag/prdf/framework/service/prdfRasServices.C
+++ b/src/usr/diag/prdf/framework/service/prdfRasServices.C
@@ -32,6 +32,8 @@
#include <prdfErrlUtil.H>
#include <prdfPlatServices.H>
+#include <initservice/initserviceif.H>
+
using namespace TARGETING;
namespace PRDF
@@ -45,8 +47,13 @@ void ErrDataService::MnfgTrace( ErrorSignature * i_esig,
const PfaData & i_pfaData )
{
#define PRDF_FUNC "[ErrDataService::MnfgTrace] "
+
do
{
+ // This is for Hostboot IPL and FSP machines only.
+ #ifndef __HOSTBOOT_RUNTIME
+ if ( !INITSERVICE::spBaseServicesEnabled() ) break;
+
errlHndl_t errl = NULL;
errl = getMfgSync().syncMfgTraceToFsp(i_esig, i_pfaData);
if (errl)
@@ -55,7 +62,10 @@ void ErrDataService::MnfgTrace( ErrorSignature * i_esig,
PRDF_COMMIT_ERRL(errl, ERRL_ACTION_REPORT);
break;
}
- }while(0);
+ #endif
+
+ } while(0);
+
#undef PRDF_FUNC
}
diff --git a/src/usr/diag/prdf/prdf_hb_only.mk b/src/usr/diag/prdf/prdf_hb_only.mk
index f7452cae1..88189613c 100644
--- a/src/usr/diag/prdf/prdf_hb_only.mk
+++ b/src/usr/diag/prdf/prdf_hb_only.mk
@@ -82,7 +82,6 @@ prd_obj += prdfMfgSync.o
prd_obj += prdfMfgThresholdFile.o
# plat/pegasus/ (non-rule plugin related)
-prd_obj += prdfPlatCalloutUtil.o
prd_obj += prdfPllUtils.o
# plat/pegasus/ (rule plugin related)
@@ -111,6 +110,7 @@ prd_obj += prdfPlatServices_ipl.o
prd_obj += prdfCenMbaIplCeStats.o
prd_obj += prdfCenMbaTdCtlr_ipl.o
prd_obj += prdfDramRepairs.o
+prd_obj += prdfPlatCalloutUtil.o
# plat/pegasus/ (rule plugin related)
prd_rule_plugin += prdfPlatCenMba_ipl.o
OpenPOWER on IntegriCloud