diff options
author | Zane Shelley <zshelle@us.ibm.com> | 2018-08-06 16:05:09 -0500 |
---|---|---|
committer | Zane C. Shelley <zshelle@us.ibm.com> | 2018-08-16 11:46:07 -0500 |
commit | e55c53fae43aa0ae5cb9fc633c86ffd0683c2212 (patch) | |
tree | b2a3488b548e0a6169c4d8cfde036310a178af9c /src/usr/diag/prdf/plat/mem/prdfMemVcm.C | |
parent | 890ac53effd1a77d03699d120cf2140883f1b6c2 (diff) | |
download | talos-hostboot-e55c53fae43aa0ae5cb9fc633c86ffd0683c2212.tar.gz talos-hostboot-e55c53fae43aa0ae5cb9fc633c86ffd0683c2212.zip |
PRD: added PlatServices::isRowRepairEnabled()
Change-Id: Ia2ac63ecb1b07af6dab75afa9e00fe966ba11dee
RTC: 196073
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/63987
Reviewed-by: Caleb N. Palmer <cnpalmer@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Brian J. Stegmiller <bjs@us.ibm.com>
Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com>
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/64559
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Diffstat (limited to 'src/usr/diag/prdf/plat/mem/prdfMemVcm.C')
-rw-r--r-- | src/usr/diag/prdf/plat/mem/prdfMemVcm.C | 48 |
1 files changed, 40 insertions, 8 deletions
diff --git a/src/usr/diag/prdf/plat/mem/prdfMemVcm.C b/src/usr/diag/prdf/plat/mem/prdfMemVcm.C index 17d050736..e0feeb362 100644 --- a/src/usr/diag/prdf/plat/mem/prdfMemVcm.C +++ b/src/usr/diag/prdf/plat/mem/prdfMemVcm.C @@ -107,6 +107,26 @@ uint32_t VcmEvent<TYPE_MCA>::handlePhaseComplete( const uint32_t & i_eccAttns, //############################################################################## template<> +uint32_t VcmEvent<TYPE_MBA>::rowRepair( STEP_CODE_DATA_STRUCT & io_sc, + bool & o_done ) +{ + #define PRDF_FUNC "[VcmEvent::rowRepair] " + + uint32_t o_rc = SUCCESS; + + do + { + + } while (0); + + return o_rc; + + #undef PRDF_FUNC +} + +//------------------------------------------------------------------------------ + +template<> uint32_t VcmEvent<TYPE_MBA>::startNextPhase( STEP_CODE_DATA_STRUCT & io_sc ) { uint32_t signature = 0; @@ -176,16 +196,28 @@ uint32_t VcmEvent<TYPE_MBA>::handlePhaseComplete( const uint32_t & i_eccAttns, { if ( i_eccAttns & MAINT_MCE ) { - // The chip mark has been verified. - o_rc = verified( io_sc ); - if ( SUCCESS != o_rc ) + if ( iv_rowRepairEnabled ) { - PRDF_ERR( PRDF_FUNC "verified() failed on 0x%08x", - iv_chip->getHuid() ); - break; + o_rc = rowRepair( io_sc, o_done ); + if ( SUCCESS != o_rc ) + { + PRDF_ERR( PRDF_FUNC "rowRepair() failed on 0x%08x", + iv_chip->getHuid() ); + break; + } + } + else + { + o_rc = verified( io_sc ); + if ( SUCCESS != o_rc ) + { + PRDF_ERR( PRDF_FUNC "verified() failed on 0x%08x", + iv_chip->getHuid() ); + break; + } + + o_done = true; // Procedure is complete. } - - o_done = true; // Procedure is complete. } else if ( !iv_canResumeScrub ) { |