summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/usr/diag/prdf/common/plat/mem/prdfMemEccAnalysis.C12
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/prdfRasServices_common.C20
-rw-r--r--src/usr/diag/prdf/plat/mem/prdfMemDynDealloc.C3
3 files changed, 18 insertions, 17 deletions
diff --git a/src/usr/diag/prdf/common/plat/mem/prdfMemEccAnalysis.C b/src/usr/diag/prdf/common/plat/mem/prdfMemEccAnalysis.C
index e9f6d59db..cc5fcb60c 100644
--- a/src/usr/diag/prdf/common/plat/mem/prdfMemEccAnalysis.C
+++ b/src/usr/diag/prdf/common/plat/mem/prdfMemEccAnalysis.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2016,2017 */
+/* Contributors Listed Below - COPYRIGHT 2016,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -32,6 +32,10 @@
#include <prdfP9McaDataBundle.H>
#include <prdfP9McaExtraSig.H>
+#ifdef __HOSTBOOT_RUNTIME
+ #include <prdfMemDynDealloc.H>
+#endif
+
using namespace TARGETING;
namespace PRDF
@@ -67,7 +71,6 @@ uint32_t __handleMemUe( ExtensibleChip * i_chip, const MemAddr & i_addr,
#ifdef __HOSTBOOT_RUNTIME
- /* TODO RTC 136129
// Dynamically deallocate the rank.
o_rc = MemDealloc::rank<T>( i_chip, rank );
if ( SUCCESS != o_rc )
@@ -75,7 +78,6 @@ uint32_t __handleMemUe( ExtensibleChip * i_chip, const MemAddr & i_addr,
PRDF_ERR( PRDF_FUNC "MemDealloc::rank<T>(0x%08x,m%ds%d) failed",
i_chip->getHuid(), rank.getMaster(), rank.getSlave() );
}
- */
#endif
@@ -200,7 +202,6 @@ uint32_t maskMemPort<TYPE_MCA>( ExtensibleChip * i_chip )
#ifdef __HOSTBOOT_RUNTIME
- /* TODO RTC 136129
// Dynamically deallocate the port.
o_rc = MemDealloc::port<TYPE_MCA>( i_chip );
if ( SUCCESS != o_rc )
@@ -208,7 +209,6 @@ uint32_t maskMemPort<TYPE_MCA>( ExtensibleChip * i_chip )
PRDF_ERR( PRDF_FUNC "MemDealloc::port<TYPE_MCA>(0x%08x) failed",
i_chip->getHuid() );
}
- */
#endif
@@ -600,7 +600,6 @@ uint32_t handleMemCe( ExtensibleChip * i_chip, const MemAddr & i_addr,
#ifdef __HOSTBOOT_RUNTIME
- /* TODO RTC 136129
if ( i_isHard )
{
// Dynamically deallocate the page.
@@ -611,7 +610,6 @@ uint32_t handleMemCe( ExtensibleChip * i_chip, const MemAddr & i_addr,
i_chip->getHuid() );
}
}
- */
#endif
diff --git a/src/usr/diag/prdf/common/plat/prdfRasServices_common.C b/src/usr/diag/prdf/common/plat/prdfRasServices_common.C
index c834013b3..aeb57f64d 100755
--- a/src/usr/diag/prdf/common/plat/prdfRasServices_common.C
+++ b/src/usr/diag/prdf/common/plat/prdfRasServices_common.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2016,2017 */
+/* Contributors Listed Below - COPYRIGHT 2016,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -56,7 +56,7 @@
#include <errludstring.H>
#ifdef __HOSTBOOT_RUNTIME
-// #include <prdfCenMbaDynMemDealloc_rt.H> TODO: RTC 136129
+ #include <prdfMemDynDealloc.H>
#else // Hostboot only
#ifdef CONFIG_ENABLE_CHECKSTOP_ANALYSIS
#include <prdfPnorFirDataReader.H>
@@ -69,7 +69,6 @@
#include <evenmgt.H>
#include <rmgrBaseClientLib.H> //for rmgrSyncFile
#include <prdfSdcFileControl.H>
-// #include <prdfCenMbaDynMemDealloc_rt.H> TODO: RTC 136129
#endif
using namespace TARGETING;
@@ -867,14 +866,15 @@ void ErrDataService::deallocateDimms( const SDC_MRU_LIST & i_mruList )
{
#define PRDF_FUNC "[ErrDataService::deallocateDimms] "
-/* TODO: RTC 136129
- #if !defined(__HOSTBOOT_MODULE) || defined(__HOSTBOOT_RUNTIME) // RT only
+ #if defined(__HOSTBOOT_RUNTIME) // RT only
do
{
// First check if Dynamic Memory Deallocation is supported. Then check
// if it is enabled for predictive callouts.
- if ( !DEALLOC::isEnabled() || !isPredDynDeallocEnabled() ) break;
+ // For now, this is defaulted to enabled for Phyp systems.
+ // RTC 184585 will address whether we need to support disabling
+ if ( !MemDealloc::isEnabled() || !isHyprConfigPhyp() ) break;
TargetHandleList dimmList;
for ( SDC_MRU_LIST::const_iterator it = i_mruList.begin();
@@ -894,7 +894,8 @@ void ErrDataService::deallocateDimms( const SDC_MRU_LIST & i_mruList )
if ( (TYPE_MEMBUF == tgtType) ||
(TYPE_MBA == tgtType) ||
- (TYPE_MCS == tgtType) )
+ (TYPE_MCS == tgtType) ||
+ (TYPE_MCA == tgtType) )
{
TargetHandleList dimms = getConnected( calloutTgt,
TYPE_DIMM );
@@ -922,17 +923,16 @@ void ErrDataService::deallocateDimms( const SDC_MRU_LIST & i_mruList )
if( 0 == dimmList.size() ) break;
- int32_t rc = DEALLOC::dimmListGard( dimmList );
+ int32_t rc = MemDealloc::dimmList( dimmList );
if ( SUCCESS != rc )
{
- PRDF_ERR( PRDF_FUNC "dimmListGard failed" );
+ PRDF_ERR( PRDF_FUNC "dimmList failed" );
break;
}
} while(0);
#endif
-*/
#undef PRDF_FUNC
}
diff --git a/src/usr/diag/prdf/plat/mem/prdfMemDynDealloc.C b/src/usr/diag/prdf/plat/mem/prdfMemDynDealloc.C
index cb3a25a8c..16449039a 100644
--- a/src/usr/diag/prdf/plat/mem/prdfMemDynDealloc.C
+++ b/src/usr/diag/prdf/plat/mem/prdfMemDynDealloc.C
@@ -490,6 +490,7 @@ int32_t page( ExtensibleChip * i_chip, MemAddr i_addr )
return o_rc;
#undef PRDF_FUNC
}
+template int32_t page<TYPE_MCA>( ExtensibleChip * i_chip, MemAddr i_addr );
template<TYPE T>
int32_t rank( ExtensibleChip * i_chip, MemRank i_rank )
@@ -531,6 +532,7 @@ int32_t rank( ExtensibleChip * i_chip, MemRank i_rank )
return o_rc;
#undef PRDF_FUNC
}
+template int32_t rank<TYPE_MCA>( ExtensibleChip * i_chip, MemRank i_rank );
template<TYPE T>
int32_t port( ExtensibleChip * i_chip )
@@ -593,6 +595,7 @@ int32_t port( ExtensibleChip * i_chip )
return o_rc;
#undef PRDF_FUNC
}
+template int32_t port<TYPE_MCA>( ExtensibleChip * i_chip );
template <TYPE T>
int32_t dimmSlct( TargetHandle_t i_dimm )
OpenPOWER on IntegriCloud