diff options
Diffstat (limited to 'src/usr/diag/prdf/prdfMain_ipl.C')
-rw-r--r-- | src/usr/diag/prdf/prdfMain_ipl.C | 36 |
1 files changed, 13 insertions, 23 deletions
diff --git a/src/usr/diag/prdf/prdfMain_ipl.C b/src/usr/diag/prdf/prdfMain_ipl.C index 874d1323e..8241d925f 100644 --- a/src/usr/diag/prdf/prdfMain_ipl.C +++ b/src/usr/diag/prdf/prdfMain_ipl.C @@ -40,7 +40,7 @@ // Platform includes #include <prdfCenMbaDataBundle.H> -//#include <prdfMbaDomain.H> TODO RTC 157888 +#include <prdfCenMbaDomain.H> #include <prdfPlatServices.H> #include <prdfP9McaDataBundle.H> #include <prdfP9McbistDomain.H> @@ -152,34 +152,24 @@ errlHndl_t startScrub() PRDF_ENTER( PRDF_FUNC "HUID=0x%08x", nodeId ); - //master proc is CUMULUS, use MBA - if ( MODEL_CUMULUS == getChipModel( getMasterProc() ) ) + // Start background scrubbing. + TARGETING::MODEL procModel = getChipModel( getMasterProc() ); + if ( MODEL_CUMULUS == procModel ) { - //TODO RTC 157888 - // Start scrubbing on all MBAs. - //MbaDomain * domain = (MbaDomain *)systemPtr->GetDomain(MBA_DOMAIN); - //if ( nullptr == domain ) - //{ - // PRDF_ERR( PRDF_FUNC "MBA_DOMAIN not found. nodeId=0x%08x", - // nodeId ); - // l_rc = FAIL; break; - //} - //l_rc = domain->startScrub(); + MbaDomain * domain = (MbaDomain *)systemPtr->GetDomain(MBA_DOMAIN); + l_rc = domain->startScrub(); } - //else use MCBIST - else + else if ( MODEL_NIMBUS == procModel ) { - //Start scrubbing on all MCBISTs McbistDomain * domain = - (McbistDomain *)systemPtr->GetDomain(MCBIST_DOMAIN); - if ( nullptr == domain ) - { - PRDF_ERR( PRDF_FUNC "MCBIST_DOMAIN not found. nodeId=0x%08x", - nodeId ); - l_rc = FAIL; break; - } + (McbistDomain *)systemPtr->GetDomain(MCBIST_DOMAIN); l_rc = domain->startScrub(); } + else + { + PRDF_ERR(PRDF_FUNC "Master PROC model %d not supported", procModel); + PRDF_ASSERT(false); + } PRDF_EXIT( PRDF_FUNC "HUID=0x%08x", nodeId ); |