summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C
diff options
context:
space:
mode:
authorZane Shelley <zshelle@us.ibm.com>2017-08-21 15:45:23 -0500
committerZane C. Shelley <zshelle@us.ibm.com>2017-08-23 11:25:39 -0400
commitab2731eead975b979c3abacce4d96b292f26545f (patch)
treeb760c0fc13da6dd393981f3e611b440545c68454 /src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C
parentccc73761ee8684b5d48c6c0ae848efe078d8a19f (diff)
downloadtalos-hostboot-ab2731eead975b979c3abacce4d96b292f26545f.tar.gz
talos-hostboot-ab2731eead975b979c3abacce4d96b292f26545f.zip
PRD: permanently mask NCEs/TCEs after runtime Targeted Diagnostics
Change-Id: I1ad9aae847cab22cee63ec4f78b5819354206bf3 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/44931 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Caleb N. Palmer <cnpalmer@us.ibm.com> Reviewed-by: Benjamin J. Weisenbeck <bweisenb@us.ibm.com> Reviewed-by: Brian J. Stegmiller <bjs@us.ibm.com> Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/45002 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/prdfMemTdCtlr.C')
-rw-r--r--src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C177
1 files changed, 0 insertions, 177 deletions
diff --git a/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C b/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C
index e338c7b4d..4dc2dc7e3 100644
--- a/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C
+++ b/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C
@@ -377,183 +377,6 @@ uint32_t MemTdCtlr<T>::analyzeCmdComplete( bool & o_errorsFound,
//------------------------------------------------------------------------------
-template<>
-uint32_t MemTdCtlr<TYPE_MCBIST>::maskEccAttns()
-{
- #define PRDF_FUNC "[MemTdCtlr<TYPE_MCBIST>::maskEccAttns] "
-
- uint32_t o_rc = SUCCESS;
-
- // Loop through all MCAs.
- for ( auto mcaChip : getConnected(iv_chip, TYPE_MCA) )
- {
- SCAN_COMM_REGISTER_CLASS * mask =
- mcaChip->getRegister( "MCAECCFIR_MASK_OR" );
-
- mask->clearAllBits();
- mask->SetBit(8); // Mainline read NCE
- mask->SetBit(9); // Mainline read TCE
-
- o_rc = mask->Write();
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "Write() failed on MCAECCFIR_MASK_OR" );
- break;
- }
- }
-
- return o_rc;
-
- #undef PRDF_FUNC
-}
-
-//------------------------------------------------------------------------------
-
-template<>
-uint32_t MemTdCtlr<TYPE_MCBIST>::unmaskEccAttns()
-{
- #define PRDF_FUNC "[MemTdCtlr<TYPE_MCBIST>::unmaskEccAttns] "
-
- uint32_t o_rc = SUCCESS;
-
- // Memory CEs were masked at the beginning of the TD procedure, so
- // clear and unmask them. Also, it is possible that memory UEs have
- // thresholded so clear and unmask them as well.
-
- // Loop through all MCAs.
- for ( auto mcaChip : getConnected(iv_chip, TYPE_MCA) )
- {
- SCAN_COMM_REGISTER_CLASS * fir =
- mcaChip->getRegister( "MCAECCFIR_AND" );
- SCAN_COMM_REGISTER_CLASS * mask =
- mcaChip->getRegister( "MCAECCFIR_MASK_AND" );
-
- fir->setAllBits(); mask->setAllBits();
-
- // Don't clear the NCE and TCE attentions if specified to save the mask
- // in the iv_saveEccMask array.
- if ( !iv_saveEccMask[mcaChip->getPos()%MAX_PORT_PER_MCBIST] )
- {
- fir->ClearBit(8); mask->ClearBit(8); // Mainline read NCE
- fir->ClearBit(9); mask->ClearBit(9); // Mainline read TCE
- }
- fir->ClearBit(14); mask->ClearBit(14); // Mainline read UE
-
- o_rc = fir->Write();
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "Write() failed on MCAECCFIR_AND" );
- break;
- }
-
- o_rc = mask->Write();
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "Write() failed on MCAECCFIR_MASK_AND" );
- break;
- }
- }
-
- return o_rc;
-
- #undef PRDF_FUNC
-}
-
-//------------------------------------------------------------------------------
-
-template<>
-uint32_t MemTdCtlr<TYPE_MBA>::maskEccAttns()
-{
- #define PRDF_FUNC "[MemTdCtlr<TYPE_MBA>::maskEccAttns] "
-
- uint32_t o_rc = SUCCESS;
-
- // TODO RTC 176901
- //do
- //{
- // // Don't want to handle memory CEs during any TD procedures, so
- // // mask them.
-
- // const char * reg_str = (0 == iv_mbaPos) ? "MBA0_MBSECCFIR_MASK_OR"
- // : "MBA1_MBSECCFIR_MASK_OR";
- // SCAN_COMM_REGISTER_CLASS * reg = iv_membChip->getRegister(reg_str);
-
- // reg->clearAllBits();
- // reg->SetBit(16); // fetch NCE
- // reg->SetBit(17); // fetch RCE
- // reg->SetBit(43); // prefetch UE
-
- // o_rc = reg->Write();
- // if ( SUCCESS != o_rc )
- // {
- // PRDF_ERR( PRDF_FUNC "Write() failed on %s", reg_str );
- // break;
- // }
-
- // iv_fetchAttnsMasked = true;
-
- //} while (0);
-
- return o_rc;
-
- #undef PRDF_FUNC
-}
-
-//------------------------------------------------------------------------------
-
-template<>
-uint32_t MemTdCtlr<TYPE_MBA>::unmaskEccAttns()
-{
- #define PRDF_FUNC "[MemTdCtlr<TYPE_MBA>::unmaskEccAttns] "
-
- uint32_t o_rc = SUCCESS;
-
- // TODO RTC 176901
- //do
- //{
- // // Memory CEs where masked at the beginning of the TD procedure, so
- // // clear and unmask them. Also, it is possible that memory UEs have
- // // thresholded so clear and unmask them as well.
-
- // const char * fir_str = (0 == iv_mbaPos) ? "MBA0_MBSECCFIR_AND"
- // : "MBA1_MBSECCFIR_AND";
- // const char * msk_str = (0 == iv_mbaPos) ? "MBA0_MBSECCFIR_MASK_AND"
- // : "MBA1_MBSECCFIR_MASK_AND";
-
- // SCAN_COMM_REGISTER_CLASS * fir = iv_membChip->getRegister( fir_str );
- // SCAN_COMM_REGISTER_CLASS * msk = iv_membChip->getRegister( msk_str );
-
- // fir->setAllBits(); msk->setAllBits();
- // fir->ClearBit(16); msk->ClearBit(16); // fetch NCE
- // fir->ClearBit(17); msk->ClearBit(17); // fetch RCE
- // fir->ClearBit(19); msk->ClearBit(19); // fetch UE
- // fir->ClearBit(43); msk->ClearBit(43); // prefetch UE
-
- // o_rc = fir->Write();
- // if ( SUCCESS != o_rc )
- // {
- // PRDF_ERR( PRDF_FUNC "Write() failed on %s", fir_str );
- // break;
- // }
-
- // o_rc = msk->Write();
- // if ( SUCCESS != o_rc )
- // {
- // PRDF_ERR( PRDF_FUNC "Write() failed on %s", msk_str );
- // break;
- // }
-
- // iv_fetchAttnsMasked = false;
-
- //} while (0);
-
- return o_rc;
-
- #undef PRDF_FUNC
-}
-
-//------------------------------------------------------------------------------
-
template <TARGETING::TYPE T>
void MemTdCtlr<T>::collectStateCaptureData( STEP_CODE_DATA_STRUCT & io_sc,
const char * i_startEnd )
OpenPOWER on IntegriCloud