summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/prdf/plat/pegasus
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/diag/prdf/plat/pegasus')
-rw-r--r--src/usr/diag/prdf/plat/pegasus/prdfCenMbaTdCtlr_ipl.C437
-rw-r--r--src/usr/diag/prdf/plat/pegasus/prdfCenMbaTdCtlr_ipl.H163
2 files changed, 0 insertions, 600 deletions
diff --git a/src/usr/diag/prdf/plat/pegasus/prdfCenMbaTdCtlr_ipl.C b/src/usr/diag/prdf/plat/pegasus/prdfCenMbaTdCtlr_ipl.C
deleted file mode 100644
index 414717a1b..000000000
--- a/src/usr/diag/prdf/plat/pegasus/prdfCenMbaTdCtlr_ipl.C
+++ /dev/null
@@ -1,437 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/diag/prdf/plat/pegasus/prdfCenMbaTdCtlr_ipl.C $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2014,2018 */
-/* [+] 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 */
-
-// The following is required because PRD implements its own version of these
-// hardware procedures:
-// $Id: mss_scrub.H,v 1.4 2013/12/02 15:00:03 bellows Exp $
-// $Id: mss_scrub.C,v 1.10 2014/03/11 19:06:19 gollub Exp $
-
-#include <prdfCenMbaTdCtlr_ipl.H>
-
-// Framework includes
-#include <iipconst.h>
-#include <iipServiceDataCollector.h>
-#include <prdfExtensibleChip.H>
-#include <prdfGlobal.H>
-#include <prdfPlatServices.H>
-#include <prdfTrace.H>
-
-// Pegasus includes
-#include <prdfCalloutUtil.H>
-#include <prdfCenAddress.H>
-#include <prdfMemConst.H>
-#include <prdfCenDqBitmap.H>
-#include <prdfCenMbaDataBundle.H>
-#include <prdfCenSymbol.H>
-
-// Custom compile configs
-#include <config.h>
-
-using namespace TARGETING;
-
-namespace PRDF
-{
-
-using namespace PlatServices;
-
-//------------------------------------------------------------------------------
-// Class Variables
-//------------------------------------------------------------------------------
-
-CenMbaTdCtlr::FUNCS CenMbaTdCtlr::cv_cmdCompleteFuncs[] =
-{
- &CenMbaTdCtlr::analyzeCmdComplete, // NO_OP
- &CenMbaTdCtlr::analyzeVcmPhase1, // VCM_PHASE_1
- &CenMbaTdCtlr::analyzeVcmPhase2, // VCM_PHASE_2
- &CenMbaTdCtlr::analyzeDsdPhase1, // DSD_PHASE_1
- &CenMbaTdCtlr::analyzeDsdPhase2, // DSD_PHASE_2
- &CenMbaTdCtlr::analyzeTpsPhase1, // TPS_PHASE_1
- &CenMbaTdCtlr::analyzeTpsPhase2, // TPS_PHASE_2
-};
-
-//------------------------------------------------------------------------------
-// Public Functions
-//------------------------------------------------------------------------------
-
-int32_t CenMbaTdCtlr::handleCmdCompleteEvent( STEP_CODE_DATA_STRUCT & io_sc )
-{
- //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- // Moved to MemTdCtlr class
- //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
- return SUCCESS;
-}
-
-//------------------------------------------------------------------------------
-
-int32_t CenMbaTdCtlr::handleTdEvent( STEP_CODE_DATA_STRUCT & io_sc,
- const CenRank & i_rank,
- const CenMbaTdCtlrCommon::TdType i_event,
- bool i_banTps )
-{
- //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- // Moved to MemTdCtlr class
- //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
- return SUCCESS;
-}
-
-//------------------------------------------------------------------------------
-
-int32_t CenMbaTdCtlr::startInitialBgScrub()
-{
- //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- // Moved to startBgScrub() in prdfPlatServices.C
- //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
- return SUCCESS;
-}
-
-//------------------------------------------------------------------------------
-// Private Functions
-//------------------------------------------------------------------------------
-
-int32_t CenMbaTdCtlr::initialize()
-{
- //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- // Moved to MemTdCtlr class
- //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
- return SUCCESS;
-}
-
-//------------------------------------------------------------------------------
-
-int32_t CenMbaTdCtlr::analyzeCmdComplete( STEP_CODE_DATA_STRUCT & io_sc,
- const CenAddr & i_stopAddr,
- const CenAddr & i_endAddr )
-{
- //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- // Moved to MemTdCtlr class
- //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
- return SUCCESS;
-}
-
-//------------------------------------------------------------------------------
-
-int32_t CenMbaTdCtlr::analyzeVcmPhase1( STEP_CODE_DATA_STRUCT & io_sc,
- const CenAddr & i_stopAddr,
- const CenAddr & i_endAddr )
-{
- //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- // moved to VcmEvent class
- //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
- return SUCCESS;
-}
-
-//------------------------------------------------------------------------------
-
-int32_t CenMbaTdCtlr::analyzeVcmPhase2( STEP_CODE_DATA_STRUCT & io_sc,
- const CenAddr & i_stopAddr,
- const CenAddr & i_endAddr )
-{
- //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- // moved to VcmEvent class
- //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
- return SUCCESS;
-}
-
-//------------------------------------------------------------------------------
-
-int32_t CenMbaTdCtlr::analyzeDsdPhase1( STEP_CODE_DATA_STRUCT & io_sc,
- const CenAddr & i_stopAddr,
- const CenAddr & i_endAddr )
-{
- #define PRDF_FUNC "[CenMbaTdCtlr::analyzeDsdPhase1] "
-
- int32_t o_rc = SUCCESS;
-
- do
- {
- if ( DSD_PHASE_1 != iv_tdState )
- {
- PRDF_ERR( PRDF_FUNC "Invalid state machine configuration" );
- o_rc = FAIL; break;
- }
-
- // Add the mark to the callout list.
- CalloutUtil::calloutMark( iv_mbaTrgt, iv_rank, iv_mark, io_sc );
-
- // Get error condition which caused command to stop
- uint16_t eccErrorMask = NO_ERROR;
- o_rc = checkEccErrors( eccErrorMask, io_sc );
- if ( SUCCESS != o_rc)
- {
- PRDF_ERR( PRDF_FUNC "checkEccErrors() failed" );
- break;
- }
-
- if ( ( eccErrorMask & UE) || ( eccErrorMask & RETRY_CTE ) )
- {
- // Handle UE. Highest priority
- o_rc = handleUE( io_sc );
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "handleUE() failed" );
- break;
- }
- }
- else
- {
- // Start DSD Phase 2
- o_rc = startDsdPhase2( io_sc );
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "startDsdPhase2() failed" );
- break;
- }
- }
-
- } while(0);
-
- return o_rc;
-
- #undef PRDF_FUNC
-}
-
-//------------------------------------------------------------------------------
-
-int32_t CenMbaTdCtlr::analyzeDsdPhase2( STEP_CODE_DATA_STRUCT & io_sc,
- const CenAddr & i_stopAddr,
- const CenAddr & i_endAddr )
-{
- #define PRDF_FUNC "[CenMbaTdCtlr::analyzeDsdPhase2] "
-
- int32_t o_rc = SUCCESS;
-
- do
- {
- if ( DSD_PHASE_2 != iv_tdState )
- {
- PRDF_ERR( PRDF_FUNC "Invalid state machine configuration" );
- o_rc = FAIL; break;
- }
-
- // Add the mark to the callout list.
- CalloutUtil::calloutMark( iv_mbaTrgt, iv_rank, iv_mark, io_sc );
-
- // Get error condition which caused command to stop
- uint16_t eccErrorMask = NO_ERROR;
- o_rc = checkEccErrors( eccErrorMask, io_sc );
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "checkEccErrors() failed" );
- break;
- }
-
- if ( eccErrorMask & UE)
- {
- // Handle UE. Highest priority
- o_rc = handleUE( io_sc );
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "handleUE() failed" );
- break;
- }
- }
- else if ( eccErrorMask & MCE )
- {
- // The spare is bad.
-
- // Do callouts and VPD updates.
- o_rc = handleMCE_DSD2( io_sc );
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "handleMCE_DSD2() failed" );
- break;
- }
- }
- else
- {
- // The chip mark has successfully been steered to the spare.
-
- setTdSignature( io_sc, PRDFSIG_DsdDramSpared );
-
- // Remove chip mark from hardware.
- iv_mark.clearCM();
- bool blocked; // not possible during MDIA
- o_rc = mssSetMarkStore( iv_mbaTrgt, iv_rank, iv_mark, blocked );
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "mssSetMarkStore() failed" );
- break;
- }
- }
-
- iv_tdState = NO_OP; // The TD procedure is complete.
-
- } while(0);
-
- return o_rc;
-
- #undef PRDF_FUNC
-}
-
-//------------------------------------------------------------------------------
-
-int32_t CenMbaTdCtlr::analyzeTpsPhase1( STEP_CODE_DATA_STRUCT & io_sc,
- const CenAddr & i_stopAddr,
- const CenAddr & i_endAddr )
-{
- //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- // Moved to TpsEvent class
- //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
- return SUCCESS;
-}
-
-//------------------------------------------------------------------------------
-
-int32_t CenMbaTdCtlr::analyzeTpsPhase2( STEP_CODE_DATA_STRUCT & io_sc,
- const CenAddr & i_stopAddr,
- const CenAddr & i_endAddr )
-{
- //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- // Moved to TpsEvent class
- //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
- return SUCCESS;
-}
-
-//------------------------------------------------------------------------------
-
-int32_t CenMbaTdCtlr::startVcmPhase1( STEP_CODE_DATA_STRUCT & io_sc )
-{
- //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- // moved to VcmEvent class
- //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
- return SUCCESS;
-}
-
-//------------------------------------------------------------------------------
-
-int32_t CenMbaTdCtlr::startVcmPhase2( STEP_CODE_DATA_STRUCT & io_sc )
-{
- //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- // moved to VcmEvent class
- //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
- return SUCCESS;
-}
-
-//------------------------------------------------------------------------------
-
-int32_t CenMbaTdCtlr::startDsdPhase1( STEP_CODE_DATA_STRUCT & io_sc )
-{
- //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- // Moved to DsdEvent class
- //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
- return SUCCESS;
-}
-
-//------------------------------------------------------------------------------
-
-int32_t CenMbaTdCtlr::startDsdPhase2( STEP_CODE_DATA_STRUCT & io_sc )
-{
- //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- // Moved to DsdEvent class
- //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
- return SUCCESS;
-}
-
-//------------------------------------------------------------------------------
-
-int32_t CenMbaTdCtlr::startTpsPhase1( STEP_CODE_DATA_STRUCT & io_sc )
-{
- //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- // Moved to TpsEvent class
- //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
- return SUCCESS;
-}
-
-//------------------------------------------------------------------------------
-
-int32_t CenMbaTdCtlr::startTpsPhase2( STEP_CODE_DATA_STRUCT & io_sc )
-{
- //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- // Moved to TpsEvent class
- //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
- return SUCCESS;
-}
-
-//------------------------------------------------------------------------------
-
-int32_t CenMbaTdCtlr::handleUE( STEP_CODE_DATA_STRUCT & io_sc )
-{
- //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- // moved to MemEcc::handleMemUe()
- //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
- return SUCCESS;
-}
-
-//------------------------------------------------------------------------------
-
-int32_t CenMbaTdCtlr::handleMPE( STEP_CODE_DATA_STRUCT & io_sc )
-{
- //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- // moved to MemEcc::handleMpe()
- //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
- return SUCCESS;
-}
-
-//------------------------------------------------------------------------------
-
-int32_t CenMbaTdCtlr::handleMnfgCeEte( STEP_CODE_DATA_STRUCT & io_sc )
-{
- //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- // Moved to TpsEvent class
- //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
- return SUCCESS;
-}
-
-//------------------------------------------------------------------------------
-
-int32_t CenMbaTdCtlr::signalMdiaCmdComplete()
-{
- //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- // Moved to MemTdCtlr class
- //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
- return SUCCESS;
-}
-
-} // end namespace PRDF
-
diff --git a/src/usr/diag/prdf/plat/pegasus/prdfCenMbaTdCtlr_ipl.H b/src/usr/diag/prdf/plat/pegasus/prdfCenMbaTdCtlr_ipl.H
deleted file mode 100644
index 4e49b2024..000000000
--- a/src/usr/diag/prdf/plat/pegasus/prdfCenMbaTdCtlr_ipl.H
+++ /dev/null
@@ -1,163 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/diag/prdf/plat/pegasus/prdfCenMbaTdCtlr_ipl.H $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2014,2018 */
-/* [+] 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 prdfCenMbaTdCtlr_ipl.H
- * @brief The Hostboot implementation of the MBA TD Controller.
- */
-
-#ifndef __prdfCenMbaTdCtlr_ipl_H
-#define __prdfCenMbaTdCtlr_ipl_H
-
-#include <prdfCenMbaTdCtlr_common.H>
-
-namespace PRDF
-{
-
-/**
- * @brief A state machine for memory targeted diagnostics during Hostboot MDIA.
- */
-class CenMbaTdCtlr : public CenMbaTdCtlrCommon
-{
- private: // constants, enums
-
- // Function pointers for maintenance command complete events.
- typedef int32_t (CenMbaTdCtlr::*FUNCS)( STEP_CODE_DATA_STRUCT & io_sc,
- const CenAddr & i_stopAddr,
- const CenAddr & i_endAddr );
-
- public: // functions
-
- /**
- * @brief Constructor
- *
- * This contructor will be called in the MBA data bundle code. Therefore,
- * no register reads/writes can be done in this constructor. Anything needed
- * to initialize the instance variables that requires register reads/writes
- * or is non-trivial should be done in initialize().
- *
- * @param i_mbaChip An MBA chip.
- */
- explicit CenMbaTdCtlr( ExtensibleChip * i_mbaChip ) :
- CenMbaTdCtlrCommon(i_mbaChip)
- {}
-
- public: // Overloaded functions
-
- int32_t handleCmdCompleteEvent( STEP_CODE_DATA_STRUCT & io_sc );
- int32_t handleTdEvent( STEP_CODE_DATA_STRUCT & io_sc,
- const CenRank & i_rank, const TdType i_event,
- bool i_banTps = false );
-
- private: // Overloaded functions
-
- int32_t initialize();
-
- int32_t analyzeCmdComplete( STEP_CODE_DATA_STRUCT & io_sc,
- const CenAddr & i_stopAddr,
- const CenAddr & i_endAddr );
- int32_t analyzeVcmPhase1( STEP_CODE_DATA_STRUCT & io_sc,
- const CenAddr & i_stopAddr,
- const CenAddr & i_endAddr );
- int32_t analyzeVcmPhase2( STEP_CODE_DATA_STRUCT & io_sc,
- const CenAddr & i_stopAddr,
- const CenAddr & i_endAddr );
- int32_t analyzeDsdPhase1( STEP_CODE_DATA_STRUCT & io_sc,
- const CenAddr & i_stopAddr,
- const CenAddr & i_endAddr );
- int32_t analyzeDsdPhase2( STEP_CODE_DATA_STRUCT & io_sc,
- const CenAddr & i_stopAddr,
- const CenAddr & i_endAddr );
- int32_t analyzeTpsPhase1( STEP_CODE_DATA_STRUCT & io_sc,
- const CenAddr & i_stopAddr,
- const CenAddr & i_endAddr );
- int32_t analyzeTpsPhase2( STEP_CODE_DATA_STRUCT & io_sc,
- const CenAddr & i_stopAddr,
- const CenAddr & i_endAddr );
-
- int32_t startVcmPhase1( STEP_CODE_DATA_STRUCT & io_sc );
- int32_t startVcmPhase2( STEP_CODE_DATA_STRUCT & io_sc );
- int32_t startDsdPhase1( STEP_CODE_DATA_STRUCT & io_sc );
- int32_t startDsdPhase2( STEP_CODE_DATA_STRUCT & io_sc );
- int32_t startTpsPhase1( STEP_CODE_DATA_STRUCT & io_sc );
- int32_t startTpsPhase2( STEP_CODE_DATA_STRUCT & io_sc );
-
- public: // functions
-
- /**
- * @brief Start the initial background scrub. This is done at the very end
- * of Hostboot after the last call to checkForIplAttns().
- * @return Non-SUCCESS if an internal function fails, SUCCESS otherwise.
- */
- int32_t startInitialBgScrub();
-
- private: // functions
-
- /**
- * @brief Handle UEs during TD analysis.
- * @param io_sc Service data collector.
- * @return Non-SUCCESS if an internal function fails, SUCCESS otherwise.
- */
- int32_t handleUE( STEP_CODE_DATA_STRUCT & io_sc );
-
- /**
- * @brief Handle MPE event
- * @param io_sc Service data collector.
- * @note This will start VCM phase 1.
- * @return Non-SUCCESS if an internal function fails, SUCCESS otherwise.
- */
- int32_t handleMPE( STEP_CODE_DATA_STRUCT & io_sc );
-
- /**
- * @brief Handle CE ETE during MNFG CE analysis.
- * @param io_sc Service data collector.
- * @return Non-SUCCESS if an internal function fails, SUCCESS otherwise.
- */
- int32_t handleMnfgCeEte( STEP_CODE_DATA_STRUCT & io_sc );
-
- /**
- * @brief Sends a message to MDIA that a maintenance command has completed.
- * @note If for some reason PRD needed to do some targeted diagnotics and
- * on a rank that was not the last rank behind the MBA, this
- * function will need to send a message to MDIA indicating that the
- * command stopped and MDIA will need to restart the pattern testing
- * from the next address to the end of memory.
- * @return Non-SUCCESS if an internal function fails, SUCCESS otherwise.
- */
- int32_t signalMdiaCmdComplete();
-
- private: // instance variables
-
- /** Array of functions pointers for TD controller states. This is used to
- * determine the next course of action after a maintenance command complete
- * attention.
- */
- static FUNCS cv_cmdCompleteFuncs[MAX_TD_STATE];
-
-}; // CenMbaTdCtlr
-
-} // end namespace PRDF
-
-#endif // __prdfCenMbaTdCtlr_ipl_H
-
OpenPOWER on IntegriCloud