summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCaleb Palmer <cnpalmer@us.ibm.com>2016-11-15 15:08:19 -0600
committerZane C. Shelley <zshelle@us.ibm.com>2016-12-14 17:03:43 -0500
commitd578f311a45c5b5d5ae7411b788cc16d9a72512d (patch)
treef896dc5bc194b729806c73174b91f8268757def9
parentd33069736be1176bb3c9e8136dca7673cbcc32e1 (diff)
downloadtalos-hostboot-d578f311a45c5b5d5ae7411b788cc16d9a72512d.tar.gz
talos-hostboot-d578f311a45c5b5d5ae7411b788cc16d9a72512d.zip
PRD: Simplify VCM and TPS classes
Change-Id: Iaf9180aed5c22db1d4cced537dcc0e2af8f12425 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/32549 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Benjamin J. Weisenbeck <bweisenb@us.ibm.com> Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/33081 Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
-rw-r--r--src/usr/diag/prdf/common/plat/mem/prdfMemEccAnalysis.C179
-rw-r--r--src/usr/diag/prdf/common/plat/mem/prdfMemEccAnalysis.H (renamed from src/usr/diag/prdf/plat/mem/prdfMemTps_rt.H)57
-rw-r--r--src/usr/diag/prdf/plat/mem/prdfMemTdCtlr_ipl.C2
-rw-r--r--src/usr/diag/prdf/plat/mem/prdfMemTps.H (renamed from src/usr/diag/prdf/plat/mem/prdfMemTps_ipl.H)37
-rw-r--r--src/usr/diag/prdf/plat/mem/prdfMemTps_ipl.C4
-rw-r--r--src/usr/diag/prdf/plat/mem/prdfMemTps_rt.C4
-rw-r--r--src/usr/diag/prdf/plat/mem/prdfMemVcm.H (renamed from src/usr/diag/prdf/plat/mem/prdfMemVcm_ipl.H)37
-rw-r--r--src/usr/diag/prdf/plat/mem/prdfMemVcm_ipl.C4
-rw-r--r--src/usr/diag/prdf/plat/mem/prdfMemVcm_rt.C4
-rw-r--r--src/usr/diag/prdf/plat/mem/prdfMemVcm_rt.H75
-rw-r--r--src/usr/diag/prdf/plat/mem/prdfP9Mca.C2
11 files changed, 231 insertions, 174 deletions
diff --git a/src/usr/diag/prdf/common/plat/mem/prdfMemEccAnalysis.C b/src/usr/diag/prdf/common/plat/mem/prdfMemEccAnalysis.C
new file mode 100644
index 000000000..3602b055a
--- /dev/null
+++ b/src/usr/diag/prdf/common/plat/mem/prdfMemEccAnalysis.C
@@ -0,0 +1,179 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/usr/diag/prdf/common/plat/mem/prdfMemEccAnalysis.C $ */
+/* */
+/* OpenPOWER HostBoot Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 2016 */
+/* [+] 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. */
+/* You may obtain a copy of the License at */
+/* */
+/* http://www.apache.org/licenses/LICENSE-2.0 */
+/* */
+/* Unless required by applicable law or agreed to in writing, software */
+/* distributed under the License is distributed on an "AS IS" BASIS, */
+/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
+/* implied. See the License for the specific language governing */
+/* permissions and limitations under the License. */
+/* */
+/* IBM_PROLOG_END_TAG */
+
+#include <prdfMemEccAnalysis.H>
+
+// Platform includes
+#include <prdfMemAddress.H>
+#include <prdfMemCaptureData.H>
+#include <prdfP9McaDataBundle.H>
+
+#ifdef __HOSTBOOT_RUNTIME
+ #include <prdfMemTps.H>
+ #include <prdfP9McbistDataBundle.H>
+#endif
+
+using namespace TARGETING;
+
+namespace PRDF
+{
+
+using namespace PlatServices;
+
+namespace MemEcc
+{
+
+//------------------------------------------------------------------------------
+
+#ifdef __HOSTBOOT_RUNTIME
+
+template<TARGETING::TYPE T>
+uint32_t __addTpsEvent( ExtensibleChip * i_chip, const MemRank & i_rank,
+ STEP_CODE_DATA_STRUCT & io_sc, bool i_banTps = false );
+
+template<>
+uint32_t __addTpsEvent<TYPE_MCA>( ExtensibleChip * i_chip,
+ const MemRank & i_rank,
+ STEP_CODE_DATA_STRUCT & io_sc, bool i_banTps )
+{
+ PRDF_ASSERT( TYPE_MCA == i_chip->getType() );
+
+ ExtensibleChip * mcbChip = getConnectedParent( i_chip, TYPE_MCBIST );
+ PRDF_ASSERT( nullptr != mcbChip ); // definitely a bug
+
+ McbistDataBundle * mcbdb = getMcbistDataBundle( mcbChip );
+
+ TdEntry * entry = new TpsEvent<TYPE_MCA>( i_chip, i_rank, i_banTps );
+
+ return mcbdb->getTdCtlr()->handleTdEvent( io_sc, entry );
+}
+
+/* TODO: RTC 144083
+template<>
+uint32_t __addTpsEvent<TYPE_MBA>( ExtensibleChip * i_chip,
+ const MemRank & i_rank,
+ STEP_CODE_DATA_STRUCT & io_sc, bool i_banTps )
+{
+ PRDF_ASSERT( TYPE_MBA == i_chip->getType() );
+
+ CenMbaDataBundle * mbadb = getMbaDataBundle( i_chip );
+
+ TdEntry * entry = new TpsEvent<TYPE_MBA>( i_chip, i_rank, i_banTps );
+
+ return mbadb->getTdCtlr()->handleTdEvent( io_sc, entry );
+}
+*/
+
+#endif
+
+//------------------------------------------------------------------------------
+
+template<TARGETING::TYPE T, typename D>
+uint32_t analyzeFetchUe( ExtensibleChip * i_chip,
+ STEP_CODE_DATA_STRUCT & io_sc )
+{
+ #define PRDF_FUNC "[MemEcc::analyzeFetchUe] "
+
+ PRDF_ASSERT( T == i_chip->getType() );
+
+ uint32_t o_rc = SUCCESS;
+
+ // All memory UEs should be customer viewable. Normally, this would be done
+ // by setting the threshold to 1, but we do not want to mask UEs on the
+ // first occurrence.
+ io_sc.service_data->setServiceCall();
+
+ do
+ {
+ // Get the address of the failure.
+ MemAddr addr;
+ o_rc = getMemReadAddr<T>( i_chip, MemAddr::READ_UE_ADDR, addr );
+ if ( SUCCESS != o_rc )
+ {
+ PRDF_ERR( PRDF_FUNC "getMemReadAddr(0x%08x, READ_UE_ADDR) failed",
+ i_chip->getHuid() );
+ break;
+ }
+
+ // Add address to UE table.
+ D db = static_cast<D>(i_chip->getDataBundle());
+ db->iv_ueTable.addEntry( UE_TABLE::FETCH_UE, addr );
+
+ // Callout the rank.
+ MemRank rank = addr.getRank();
+ MemoryMru memmru ( i_chip->getTrgt(), rank,
+ MemoryMruData::CALLOUT_RANK );
+ io_sc.service_data->SetCallout( memmru );
+
+ #ifdef __HOSTBOOT_RUNTIME
+
+ // Add a TPS request to the TD queue and ban any further TPS requests
+ // for this rank.
+ o_rc = __addTpsEvent<T>( i_chip, rank, io_sc, true );
+ if ( SUCCESS != o_rc )
+ {
+ PRDF_ERR( PRDF_FUNC "__addTpsEvent() failed: i_chip=0x%08x "
+ "rank=%d,%d", i_chip->getHuid(), rank.getMaster(),
+ rank.getSlave() );
+ // NOTE: We are not adding a break here because we still want to do
+ // dynamic memory deallocation of the rank. Any code added
+ // after this will need to handled return codes judiciously.
+ }
+
+ /* TODO RTC 136129
+ // Dynamically deallocation the rank.
+ uint32_t dealloc_rc = MemDealloc::rank<T>( i_chip, rank );
+ if ( SUCCESS != dealloc_rc )
+ {
+ PRDF_ERR( PRDF_FUNC "MemDealloc::rank() failed: i_chip=0x%08x "
+ "rank=m%ds%d", i_chip->getHuid(), rank.getMaster(),
+ rank.getSlave() );
+ o_rc = dealloc_rc; break;
+ }
+ */
+
+ #endif // __HOSTBOOT_RUNTIME
+
+ } while (0);
+
+ // Add ECC capture data for FFDC.
+ MemCaptureData::addEccData<T>( i_chip, io_sc );
+
+ return o_rc;
+
+ #undef PRDF_FUNC
+}
+
+// To resolve template linker errors.
+template
+uint32_t analyzeFetchUe<TYPE_MCA, McaDataBundle *>( ExtensibleChip * i_chip,
+ STEP_CODE_DATA_STRUCT & io_sc );
+
+//------------------------------------------------------------------------------
+
+} // end namespace MemEcc
+
+} // end namespace PRDF
+
diff --git a/src/usr/diag/prdf/plat/mem/prdfMemTps_rt.H b/src/usr/diag/prdf/common/plat/mem/prdfMemEccAnalysis.H
index ee5a23e3f..fa6f6a5e8 100644
--- a/src/usr/diag/prdf/plat/mem/prdfMemTps_rt.H
+++ b/src/usr/diag/prdf/common/plat/mem/prdfMemEccAnalysis.H
@@ -1,7 +1,7 @@
/* IBM_PROLOG_BEGIN_TAG */
/* This is an automatically generated prolog. */
/* */
-/* $Source: src/usr/diag/prdf/plat/mem/prdfMemTps_rt.H $ */
+/* $Source: src/usr/diag/prdf/common/plat/mem/prdfMemEccAnalysis.H $ */
/* */
/* OpenPOWER HostBoot Project */
/* */
@@ -23,53 +23,36 @@
/* */
/* IBM_PROLOG_END_TAG */
-/** @file prdfMemTps_rt.H */
+#ifndef __prdfMemEccAnalysis_H
+#define __prdfMemEccAnalysis_H
-#ifndef __prdfMemTps_rt_H
-#define __prdfMemTps_rt_H
+// Framework includes
+#include <iipServiceDataCollector.h>
+#include <prdfExtensibleChip.H>
// Platform includes
-#include <prdfMemTdQueue.H>
+#include <prdfMemRank.H>
+#include <prdfPlatServices.H>
namespace PRDF
{
-// Only implement specializations of TpsEvent.
-template<TARGETING::TYPE T> class TpsEvent;
-
-// TODO: RTC 136126 Actual implementation of this procedure will be done later.
-/** @brief Two-Phase Scrub procedure for MCA (RT only). */
-template <>
-class TpsEvent<TARGETING::TYPE_MCA> : public TdEntry
+namespace MemEcc
{
- public: // functions
-
- /** @brief Constructor */
- TpsEvent<TARGETING::TYPE_MCA>( ExtensibleChip * i_chip, MemRank i_rank ) :
- TdEntry(TPS_EVENT, i_chip, i_rank)
- {}
-
- uint32_t nextStep( STEP_CODE_DATA_STRUCT & io_sc, bool & o_done );
-
-};
-
-// TODO: RTC 157888 Actual implementation of this procedure will be done later.
-/** @brief Two-Phase Scrub procedure for MBA (RT only). */
-template <>
-class TpsEvent<TARGETING::TYPE_MBA> : public TdEntry
-{
- public: // functions
-
- /** @brief Constructor */
- TpsEvent<TARGETING::TYPE_MBA>( ExtensibleChip * i_chip, MemRank i_rank ) :
- TdEntry(TPS_EVENT, i_chip, i_rank)
- {}
- uint32_t nextStep( STEP_CODE_DATA_STRUCT & io_sc, bool & o_done );
+/**
+ * @brief Analyzes a fetch UE attention.
+ * @param i_chip MCA or MBA.
+ * @param io_sc The step code data struct.
+ * @return Non-SUCCESS if an interal function fails, SUCCESS otherwise.
+ */
+template<TARGETING::TYPE T, typename D>
+uint32_t analyzeFetchUe( ExtensibleChip * i_chip,
+ STEP_CODE_DATA_STRUCT & io_sc );
-};
+} // end namespace MemEcc
} // end namespace PRDF
-#endif // __prdfMemTps_rt_H
+#endif // __prdfMemEccAnalysis_H
diff --git a/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr_ipl.C b/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr_ipl.C
index 4e49e423e..dafc293b7 100644
--- a/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr_ipl.C
+++ b/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr_ipl.C
@@ -33,7 +33,7 @@
#include <prdfMemMark.H>
#include <prdfMemoryMru.H>
#include <prdfMemScrubUtils.H>
-#include <prdfMemVcm_ipl.H>
+#include <prdfMemVcm.H>
#include <prdfP9McaExtraSig.H>
using namespace TARGETING;
diff --git a/src/usr/diag/prdf/plat/mem/prdfMemTps_ipl.H b/src/usr/diag/prdf/plat/mem/prdfMemTps.H
index f3984f314..ba3f5535e 100644
--- a/src/usr/diag/prdf/plat/mem/prdfMemTps_ipl.H
+++ b/src/usr/diag/prdf/plat/mem/prdfMemTps.H
@@ -1,7 +1,7 @@
/* IBM_PROLOG_BEGIN_TAG */
/* This is an automatically generated prolog. */
/* */
-/* $Source: src/usr/diag/prdf/plat/mem/prdfMemTps_ipl.H $ */
+/* $Source: src/usr/diag/prdf/plat/mem/prdfMemTps.H $ */
/* */
/* OpenPOWER HostBoot Project */
/* */
@@ -23,10 +23,10 @@
/* */
/* IBM_PROLOG_END_TAG */
-/** @file prdfMemTps_ipl.H */
+/** @file prdfMemTps.H */
-#ifndef __prdfMemTps_ipl_H
-#define __prdfMemTps_ipl_H
+#ifndef __prdfMemTps_H
+#define __prdfMemTps_H
// Platform includes
#include <prdfMemTdQueue.H>
@@ -34,34 +34,15 @@
namespace PRDF
{
-// Only implement specializations of TpsEvent.
-template<TARGETING::TYPE T> class TpsEvent;
-
// TODO: RTC 157889 Actual implementation of this procedure will be done later.
-/** @brief Two-Phase Scrub procedure for MCA (IPL only). */
-template <>
-class TpsEvent<TARGETING::TYPE_MCA> : public TdEntry
-{
- public: // functions
-
- /** @brief Constructor */
- TpsEvent<TARGETING::TYPE_MCA>( ExtensibleChip * i_chip, MemRank i_rank ) :
- TdEntry(TPS_EVENT, i_chip, i_rank)
- {}
-
- uint32_t nextStep( STEP_CODE_DATA_STRUCT & io_sc, bool & o_done );
-
-};
-
-// TODO: RTC 157888 Actual implementation of this procedure will be done later.
-/** @brief Two-Phase Scrub procedure for MBA (IPL only). */
-template <>
-class TpsEvent<TARGETING::TYPE_MBA> : public TdEntry
+/** @brief Two-Phase Scrub procedure. */
+template <TARGETING::TYPE T>
+class TpsEvent : public TdEntry
{
public: // functions
/** @brief Constructor */
- TpsEvent<TARGETING::TYPE_MBA>( ExtensibleChip * i_chip, MemRank i_rank ) :
+ TpsEvent<T>( ExtensibleChip * i_chip, MemRank i_rank ) :
TdEntry(TPS_EVENT, i_chip, i_rank)
{}
@@ -71,5 +52,5 @@ class TpsEvent<TARGETING::TYPE_MBA> : public TdEntry
} // end namespace PRDF
-#endif // __prdfMemTps_ipl_H
+#endif // __prdfMemTps_H
diff --git a/src/usr/diag/prdf/plat/mem/prdfMemTps_ipl.C b/src/usr/diag/prdf/plat/mem/prdfMemTps_ipl.C
index bd1c34a58..e18269c97 100644
--- a/src/usr/diag/prdf/plat/mem/prdfMemTps_ipl.C
+++ b/src/usr/diag/prdf/plat/mem/prdfMemTps_ipl.C
@@ -26,7 +26,7 @@
/** @file prdfMemTps_ipl.C */
// Platform includes
-#include <prdfMemTps_ipl.H>
+#include <prdfMemTps.H>
using namespace TARGETING;
@@ -36,6 +36,7 @@ namespace PRDF
//------------------------------------------------------------------------------
// TODO: RTC 157608 Actual implementation of this procedure will be done later.
+template<>
uint32_t TpsEvent<TYPE_MCA>::nextStep( STEP_CODE_DATA_STRUCT & io_sc,
bool & o_done )
{
@@ -55,6 +56,7 @@ uint32_t TpsEvent<TYPE_MCA>::nextStep( STEP_CODE_DATA_STRUCT & io_sc,
//------------------------------------------------------------------------------
// TODO: RTC 157888 Actual implementation of this procedure will be done later.
+template<>
uint32_t TpsEvent<TYPE_MBA>::nextStep( STEP_CODE_DATA_STRUCT & io_sc,
bool & o_done )
{
diff --git a/src/usr/diag/prdf/plat/mem/prdfMemTps_rt.C b/src/usr/diag/prdf/plat/mem/prdfMemTps_rt.C
index 00c6147ba..50e0c3d00 100644
--- a/src/usr/diag/prdf/plat/mem/prdfMemTps_rt.C
+++ b/src/usr/diag/prdf/plat/mem/prdfMemTps_rt.C
@@ -26,7 +26,7 @@
/** @file prdfMemTps_rt.C */
// Platform includes
-#include <prdfMemTps_rt.H>
+#include <prdfMemTps.H>
using namespace TARGETING;
@@ -36,6 +36,7 @@ namespace PRDF
//------------------------------------------------------------------------------
// TODO: RTC 136126 Actual implementation of this procedure will be done later.
+template<>
uint32_t TpsEvent<TYPE_MCA>::nextStep( STEP_CODE_DATA_STRUCT & io_sc,
bool & o_done )
{
@@ -55,6 +56,7 @@ uint32_t TpsEvent<TYPE_MCA>::nextStep( STEP_CODE_DATA_STRUCT & io_sc,
//------------------------------------------------------------------------------
// TODO: RTC 157888 Actual implementation of this procedure will be done later.
+template<>
uint32_t TpsEvent<TYPE_MBA>::nextStep( STEP_CODE_DATA_STRUCT & io_sc,
bool & o_done )
{
diff --git a/src/usr/diag/prdf/plat/mem/prdfMemVcm_ipl.H b/src/usr/diag/prdf/plat/mem/prdfMemVcm.H
index 4148acc51..b1a69cd01 100644
--- a/src/usr/diag/prdf/plat/mem/prdfMemVcm_ipl.H
+++ b/src/usr/diag/prdf/plat/mem/prdfMemVcm.H
@@ -1,7 +1,7 @@
/* IBM_PROLOG_BEGIN_TAG */
/* This is an automatically generated prolog. */
/* */
-/* $Source: src/usr/diag/prdf/plat/mem/prdfMemVcm_ipl.H $ */
+/* $Source: src/usr/diag/prdf/plat/mem/prdfMemVcm.H $ */
/* */
/* OpenPOWER HostBoot Project */
/* */
@@ -23,10 +23,10 @@
/* */
/* IBM_PROLOG_END_TAG */
-/** @file prdfMemVcm_ipl.H */
+/** @file prdfMemVcm.H */
-#ifndef __prdfMemVcm_ipl_H
-#define __prdfMemVcm_ipl_H
+#ifndef __prdfMemVcm_H
+#define __prdfMemVcm_H
// Platform includes
#include <prdfMemTdQueue.H>
@@ -34,34 +34,15 @@
namespace PRDF
{
-// Only implement specializations of VcmEvent.
-template<TARGETING::TYPE T> class VcmEvent;
-
// TODO: RTC 157608 Actual implementation of this procedure will be done later.
-/** @brief Verify chip mark procedure for MCA (IPL only). */
-template <>
-class VcmEvent<TARGETING::TYPE_MCA> : public TdEntry
-{
- public: // functions
-
- /** @brief Constructor */
- VcmEvent<TARGETING::TYPE_MCA>( ExtensibleChip * i_chip, MemRank i_rank ) :
- TdEntry(VCM_EVENT, i_chip, i_rank)
- {}
-
- uint32_t nextStep( STEP_CODE_DATA_STRUCT & io_sc, bool & o_done );
-
-};
-
-// TODO: RTC 157888 Actual implementation of this procedure will be done later.
-/** @brief Verify chip mark procedure for MBA (IPL only). */
-template <>
-class VcmEvent<TARGETING::TYPE_MBA> : public TdEntry
+/** @brief Verify chip mark procedure. */
+template <TARGETING::TYPE T>
+class VcmEvent : public TdEntry
{
public: // functions
/** @brief Constructor */
- VcmEvent<TARGETING::TYPE_MBA>( ExtensibleChip * i_chip, MemRank i_rank ) :
+ VcmEvent<T>( ExtensibleChip * i_chip, MemRank i_rank ) :
TdEntry(VCM_EVENT, i_chip, i_rank)
{}
@@ -71,5 +52,5 @@ class VcmEvent<TARGETING::TYPE_MBA> : public TdEntry
} // end namespace PRDF
-#endif // __prdfMemVcm_ipl_H
+#endif // __prdfMemVcm_H
diff --git a/src/usr/diag/prdf/plat/mem/prdfMemVcm_ipl.C b/src/usr/diag/prdf/plat/mem/prdfMemVcm_ipl.C
index b116345e5..ed325ce07 100644
--- a/src/usr/diag/prdf/plat/mem/prdfMemVcm_ipl.C
+++ b/src/usr/diag/prdf/plat/mem/prdfMemVcm_ipl.C
@@ -26,7 +26,7 @@
/** @file prdfMemVcm_ipl.C */
// Platform includes
-#include <prdfMemVcm_ipl.H>
+#include <prdfMemVcm.H>
using namespace TARGETING;
@@ -36,6 +36,7 @@ namespace PRDF
//------------------------------------------------------------------------------
// TODO: RTC 157608 Actual implementation of this procedure will be done later.
+template<>
uint32_t VcmEvent<TYPE_MCA>::nextStep( STEP_CODE_DATA_STRUCT & io_sc,
bool & o_done )
{
@@ -55,6 +56,7 @@ uint32_t VcmEvent<TYPE_MCA>::nextStep( STEP_CODE_DATA_STRUCT & io_sc,
//------------------------------------------------------------------------------
// TODO: RTC 157888 Actual implementation of this procedure will be done later.
+template<>
uint32_t VcmEvent<TYPE_MBA>::nextStep( STEP_CODE_DATA_STRUCT & io_sc,
bool & o_done )
{
diff --git a/src/usr/diag/prdf/plat/mem/prdfMemVcm_rt.C b/src/usr/diag/prdf/plat/mem/prdfMemVcm_rt.C
index b9f9c98c5..7f8717a3c 100644
--- a/src/usr/diag/prdf/plat/mem/prdfMemVcm_rt.C
+++ b/src/usr/diag/prdf/plat/mem/prdfMemVcm_rt.C
@@ -26,7 +26,7 @@
/** @file prdfMemVcm_rt.C */
// Platform includes
-#include <prdfMemVcm_rt.H>
+#include <prdfMemVcm.H>
using namespace TARGETING;
@@ -36,6 +36,7 @@ namespace PRDF
//------------------------------------------------------------------------------
// TODO: RTC 136126 Actual implementation of this procedure will be done later.
+template<>
uint32_t VcmEvent<TYPE_MCA>::nextStep( STEP_CODE_DATA_STRUCT & io_sc,
bool & o_done )
{
@@ -55,6 +56,7 @@ uint32_t VcmEvent<TYPE_MCA>::nextStep( STEP_CODE_DATA_STRUCT & io_sc,
//------------------------------------------------------------------------------
// TODO: RTC 157888 Actual implementation of this procedure will be done later.
+template<>
uint32_t VcmEvent<TYPE_MBA>::nextStep( STEP_CODE_DATA_STRUCT & io_sc,
bool & o_done )
{
diff --git a/src/usr/diag/prdf/plat/mem/prdfMemVcm_rt.H b/src/usr/diag/prdf/plat/mem/prdfMemVcm_rt.H
deleted file mode 100644
index 62f0130bb..000000000
--- a/src/usr/diag/prdf/plat/mem/prdfMemVcm_rt.H
+++ /dev/null
@@ -1,75 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/diag/prdf/plat/mem/prdfMemVcm_rt.H $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2016 */
-/* [+] 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. */
-/* You may obtain a copy of the License at */
-/* */
-/* http://www.apache.org/licenses/LICENSE-2.0 */
-/* */
-/* Unless required by applicable law or agreed to in writing, software */
-/* distributed under the License is distributed on an "AS IS" BASIS, */
-/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
-/* implied. See the License for the specific language governing */
-/* permissions and limitations under the License. */
-/* */
-/* IBM_PROLOG_END_TAG */
-
-/** @file prdfMemVcm_rt.H */
-
-#ifndef __prdfMemVcm_rt_H
-#define __prdfMemVcm_rt_H
-
-// Platform includes
-#include <prdfMemTdQueue.H>
-
-namespace PRDF
-{
-
-// Only implement specializations of VcmEvent.
-template<TARGETING::TYPE T> class VcmEvent;
-
-// TODO: RTC 136126 Actual implementation of this procedure will be done later.
-/** @brief Verify chip mark procedure for MCA (RT only). */
-template <>
-class VcmEvent<TARGETING::TYPE_MCA> : public TdEntry
-{
- public: // functions
-
- /** @brief Constructor */
- VcmEvent<TARGETING::TYPE_MCA>( ExtensibleChip * i_chip, MemRank i_rank ) :
- TdEntry(VCM_EVENT, i_chip, i_rank)
- {}
-
- uint32_t nextStep( STEP_CODE_DATA_STRUCT & io_sc, bool & o_done );
-
-};
-
-// TODO: RTC 157888 Actual implementation of this procedure will be done later.
-/** @brief Verify chip mark procedure for MBA (RT only). */
-template <>
-class VcmEvent<TARGETING::TYPE_MBA> : public TdEntry
-{
- public: // functions
-
- /** @brief Constructor */
- VcmEvent<TARGETING::TYPE_MBA>( ExtensibleChip * i_chip, MemRank i_rank ) :
- TdEntry(VCM_EVENT, i_chip, i_rank)
- {}
-
- uint32_t nextStep( STEP_CODE_DATA_STRUCT & io_sc, bool & o_done );
-
-};
-
-} // end namespace PRDF
-
-#endif // __prdfMemVcm_rt_H
-
diff --git a/src/usr/diag/prdf/plat/mem/prdfP9Mca.C b/src/usr/diag/prdf/plat/mem/prdfP9Mca.C
index 4a1f69b7d..6bc3f7555 100644
--- a/src/usr/diag/prdf/plat/mem/prdfP9Mca.C
+++ b/src/usr/diag/prdf/plat/mem/prdfP9Mca.C
@@ -32,7 +32,7 @@
#include <prdfP9McbistDataBundle.H>
#include <prdfPlatServices.H>
#ifdef __HOSTBOOT_RUNTIME
- #include <prdfMemTps_rt.H>
+ #include <prdfMemTps.H>
#endif
OpenPOWER on IntegriCloud