summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_rt.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_rt.C')
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_rt.C219
1 files changed, 0 insertions, 219 deletions
diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_rt.C b/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_rt.C
index 24d7b6c9e..6e69f8ac5 100755
--- a/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_rt.C
+++ b/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_rt.C
@@ -468,124 +468,6 @@ int32_t CenMbaTdCtlr::initialize()
//------------------------------------------------------------------------------
-int32_t CenMbaTdCtlr::analyzeCmdComplete( STEP_CODE_DATA_STRUCT & io_sc,
- const CenAddr & i_stopAddr,
- const CenAddr & i_endAddr )
-{
- #define PRDF_FUNC "[CenMbaTdCtlr::analyzeCmdComplete] "
-
- int32_t o_rc = SUCCESS;
-
- do
- {
- if ( NO_OP != iv_tdState )
- {
- PRDF_ERR( PRDF_FUNC "Invalid state machine configuration" );
- o_rc = FAIL; break;
- }
-
- // Initialize iv_rank. This must be done before calling other
- // functions as they require iv_rank to be accurate.
- iv_rank = i_stopAddr.getRank();
-
- // Background scrubbing was interrupted, most likely because of an ECC
- // error, so set the interrupted rank in the rank list.
- o_rc = iv_masterRanks.setInterruptedRank( iv_rank );
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "setInterruptedRank() failed" );
- break;
- }
-
- // Get all reported error conditions.
- uint16_t eccErrorMask = NO_ERROR;
- o_rc = checkEccErrors( eccErrorMask, io_sc );
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "checkEccErrors() failed" );
- break;
- }
-
- // The order of the following checks is important. Each call to handle
- // an error will set the PRD signature and override the previous
- // signature. We want the highest priority error signature (memory UEs)
- // to be displayed so these checks should be ordered from lowest to
- // highest priority.
-
- if ( (eccErrorMask & SOFT_CTE) || (eccErrorMask & INTER_CTE) )
- {
- o_rc = handleSoftIntCeEte_NonTd( io_sc );
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "handleSoftIntCeEte_NonTd() failed" );
- break;
- }
- }
-
- if ( eccErrorMask & HARD_CTE )
- {
- o_rc = handleHardCeEte_NonTd( io_sc, i_stopAddr );
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "handleHardCeEte_NonTd() failed" );
- break;
- }
- }
-
- if ( iv_queue.empty() )
- {
- // No TD requests so resume background. If the scrub reached the end
- // address, start background scrubbing on the next good rank.
- // Otherwise, resume the current scrub.
-
- if ( i_endAddr == i_stopAddr )
- {
- if ( (NO_ERROR == eccErrorMask) || (MCE == eccErrorMask) )
- {
- // The scrub completed without an error (this function
- // currently ignores MCEs). Don't commit the error log
- // (reduces informational error logs).
- io_sc.service_data->setDontCommitErrl();
- }
-
- o_rc = startBgScrub( io_sc );
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "startBgScrub() failed" );
- break;
- }
- }
- else
- {
- // Restart the scrub on the next address.
- o_rc = resumeScrub( io_sc, eccErrorMask );
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "resumeScrub() failed" );
- break;
- }
- }
- }
- else
- {
- // A TD request was added to the queue, start the next TD request.
- o_rc = startNextTd( io_sc );
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "startNextTd() failed" );
- break;
- }
- }
-
- } while(0);
-
- return o_rc;
-
- #undef PRDF_FUNC
-}
-
-//------------------------------------------------------------------------------
-
int32_t CenMbaTdCtlr::analyzeVcmPhase1( STEP_CODE_DATA_STRUCT & io_sc,
const CenAddr & i_stopAddr,
const CenAddr & i_endAddr )
@@ -1926,107 +1808,6 @@ int32_t CenMbaTdCtlr::handleCeEte_Tps( STEP_CODE_DATA_STRUCT & io_sc )
//------------------------------------------------------------------------------
-int32_t CenMbaTdCtlr::handleHardCeEte_NonTd( STEP_CODE_DATA_STRUCT & io_sc,
- const CenAddr & i_addr )
-{
- #define PRDF_FUNC "[CenMbaTdCtlr::handleHardCeEte_NonTd] "
-
- int32_t o_rc = SUCCESS;
-
- setTdSignature( io_sc, PRDFSIG_MaintHARD_CTE );
-
- do
- {
- // Send page deallocation message to PHYP
- o_rc = DEALLOC::pageGard( iv_mbaChip, i_addr );
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "pageGard() failed" );
- break;
- }
-
- // Get the failing symbol. Note that the hard CE threshold is 1 so there
- // should only be one symbol with a non-zero per symbol count.
-
- MaintSymbols symData; CenSymbol junk;
- o_rc = collectCeStats( iv_mbaChip, iv_rank, symData, junk );
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "collectCeStats() failed." );
- break;
- }
-
- if ( 1 != symData.size() )
- {
- PRDF_ERR( PRDF_FUNC "collectCeStats() return size %d, but was "
- "expecting size 1", symData.size() );
- o_rc = FAIL;
- break;
- }
-
- CenSymbol symbol = symData[0].symbol;
-
- // Callout the symbol.
- MemoryMru memmru ( iv_mbaTrgt, iv_rank, symbol );
- io_sc.service_data->SetCallout( memmru );
-
- // Add entry to CE table and add a TPS request to the queue, if needed.
- CenMbaDataBundle * mbadb = getMbaDataBundle( iv_mbaChip );
- if ( mbadb->iv_ceTable.addEntry(i_addr, symbol, true) )
- {
- o_rc = addTdQueueEntryTPS( iv_rank, io_sc );
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "addTdQueueEntryTPS() failed" );
- break;
- }
- }
-
- // Any hard CEs in MNFG should be immediately reported.
- if ( mfgMode() )
- io_sc.service_data->setServiceCall();
-
- } while(0);
-
- return o_rc;
-
- #undef PRDF_FUNC
-}
-
-//------------------------------------------------------------------------------
-
-int32_t CenMbaTdCtlr::handleSoftIntCeEte_NonTd( STEP_CODE_DATA_STRUCT & io_sc )
-{
- #define PRDF_FUNC "[CenMbaTdCtlr::handleSoftIntCeEte_NonTd] "
-
- int32_t o_rc = SUCCESS;
-
- setTdSignature( io_sc, PRDFSIG_MaintNCE_CTE );
-
- do
- {
- // Callout the rank. Note that the per CE counters only capture hard CEs
- // so it is not possible to isolate any further than a rank.
- MemoryMru memmru ( iv_mbaTrgt, iv_rank, MemoryMruData::CALLOUT_RANK );
- io_sc.service_data->SetCallout( memmru );
-
- // Add a TPS request to the queue.
- o_rc = addTdQueueEntryTPS( iv_rank, io_sc );
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "addTdQueueEntryTPS() failed" );
- break;
- }
-
- } while(0);
-
- return o_rc;
-
- #undef PRDF_FUNC
-}
-
-//------------------------------------------------------------------------------
-
int32_t CenMbaTdCtlr::handleTpsFalseAlarm( STEP_CODE_DATA_STRUCT & io_sc )
{
#define PRDF_FUNC "[CenMbaTdCtlr::handleTpsFalseAlarm] "
OpenPOWER on IntegriCloud