diff options
author | Zane Shelley <zshelle@us.ibm.com> | 2018-04-15 16:18:39 -0500 |
---|---|---|
committer | Zane C. Shelley <zshelle@us.ibm.com> | 2018-04-20 10:32:55 -0400 |
commit | 7f725513b8aba2d9017b053415d86ece2e39af85 (patch) | |
tree | c71798227ebe998ca5539152e13f59b6c8143e50 /src/usr/diag/prdf/plat | |
parent | 2516009b101a31e33bd0881fcf6c02186c8fe834 (diff) | |
download | talos-hostboot-7f725513b8aba2d9017b053415d86ece2e39af85.tar.gz talos-hostboot-7f725513b8aba2d9017b053415d86ece2e39af85.zip |
PRD: simplified MemEcc::handleMpe() interface
Change-Id: Iaedd4a3f82b04430c9df7609ef92742afbbe277a
RTC: 191195
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/57235
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Benjamin J. Weisenbeck <bweisenb@us.ibm.com>
Reviewed-by: Caleb N. Palmer <cnpalmer@us.ibm.com>
Reviewed-by: Matt Derksen <mderkse1@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/57503
CI-Ready: Zane C. Shelley <zshelle@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Diffstat (limited to 'src/usr/diag/prdf/plat')
-rw-r--r-- | src/usr/diag/prdf/plat/mem/prdfMemTdCtlr_ipl.C | 3 | ||||
-rw-r--r-- | src/usr/diag/prdf/plat/mem/prdfMemTdCtlr_rt.C | 7 | ||||
-rw-r--r-- | src/usr/diag/prdf/plat/mem/prdfMemTps_ipl.C | 20 | ||||
-rw-r--r-- | src/usr/diag/prdf/plat/mem/prdfMemTps_rt.C | 4 |
4 files changed, 11 insertions, 23 deletions
diff --git a/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr_ipl.C b/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr_ipl.C index 1d25a9ecd..af271ea40 100644 --- a/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr_ipl.C +++ b/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr_ipl.C @@ -191,7 +191,8 @@ uint32_t __checkEcc( ExtensibleChip * i_chip, TdQueue & io_queue, { io_sc.service_data->AddSignatureList( trgt, PRDFSIG_MaintMPE ); - o_rc = MemEcc::handleMpe<T,D>( i_chip, rank, io_sc ); + o_rc = MemEcc::handleMpe<T>( i_chip, i_addr, UE_TABLE::SCRUB_MPE, + io_sc ); if ( SUCCESS != o_rc ) { PRDF_ERR( PRDF_FUNC "handleMpe<T>(0x%08x, 0x%02x) failed", diff --git a/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr_rt.C b/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr_rt.C index a028f5b86..f697b668b 100644 --- a/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr_rt.C +++ b/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr_rt.C @@ -663,11 +663,8 @@ uint32_t __checkEcc( ExtensibleChip * i_chip, TdQueue & io_queue, o_errorsFound = true; io_sc.service_data->AddSignatureList( trgt, PRDFSIG_MaintMPE ); - // Add entry to UE table. - D db = static_cast<D>(i_chip->getDataBundle()); - db->iv_ueTable.addEntry( UE_TABLE::SCRUB_MPE, i_addr ); - - o_rc = MemEcc::handleMpe<T,D>( i_chip, rank, io_sc ); + o_rc = MemEcc::handleMpe<T>( i_chip, i_addr, UE_TABLE::SCRUB_MPE, + io_sc ); if ( SUCCESS != o_rc ) { PRDF_ERR( PRDF_FUNC "handleMpe<T>(0x%08x, 0x%02x) failed", diff --git a/src/usr/diag/prdf/plat/mem/prdfMemTps_ipl.C b/src/usr/diag/prdf/plat/mem/prdfMemTps_ipl.C index 993216f9f..71cda0b65 100644 --- a/src/usr/diag/prdf/plat/mem/prdfMemTps_ipl.C +++ b/src/usr/diag/prdf/plat/mem/prdfMemTps_ipl.C @@ -143,26 +143,16 @@ uint32_t TpsEvent<TYPE_MCA>::nextStep( STEP_CODE_DATA_STRUCT & io_sc, //else if there was an MPE else if ( eccAttns & MAINT_MPE ) { - //Add the mark to the callout list - MemMark chipMark; - o_rc = MarkStore::readChipMark<TYPE_MCA>( iv_chip, iv_rank, - chipMark ); + // Do memory MPE handling. + o_rc = MemEcc::handleMpe<TYPE_MCA>( iv_chip, iv_rank, + UE_TABLE::SCRUB_MPE, io_sc); if ( SUCCESS != o_rc ) { - PRDF_ERR( PRDF_FUNC "readChipMark<T>(0x%08x,%d) failed", - iv_chip->getHuid(), iv_rank.getMaster() ); + PRDF_ERR( PRDF_FUNC "handleMpe(0x%08x,0x%02x) failed", + iv_chip->getHuid(), getKey() ); break; } - MemoryMru memmru( iv_chip->getTrgt(), iv_rank, - chipMark.getSymbol() ); - io_sc.service_data->SetCallout( memmru ); - - // Add a VCM procedure to the queue. - TdEntry * entry = new VcmEvent<TYPE_MCA> { iv_chip, iv_rank, - chipMark }; - MemDbUtils::pushToQueue<TYPE_MCA>( iv_chip, entry ); - //Abort this procedure o_done = true; } diff --git a/src/usr/diag/prdf/plat/mem/prdfMemTps_rt.C b/src/usr/diag/prdf/plat/mem/prdfMemTps_rt.C index 480d02839..698768208 100644 --- a/src/usr/diag/prdf/plat/mem/prdfMemTps_rt.C +++ b/src/usr/diag/prdf/plat/mem/prdfMemTps_rt.C @@ -446,8 +446,8 @@ uint32_t TpsEvent<TYPE_MCA>::analyzeEcc( const uint32_t & i_eccAttns, io_sc.service_data->setSignature( iv_chip->getHuid(), PRDFSIG_MaintMPE ); - o_rc = MemEcc::handleMpe<TYPE_MCA, McaDataBundle *>( iv_chip, - iv_rank, io_sc ); + o_rc = MemEcc::handleMpe<TYPE_MCA>( iv_chip, iv_rank, + UE_TABLE::SCRUB_MPE, io_sc ); if ( SUCCESS != o_rc ) { PRDF_ERR( PRDF_FUNC "handleMpe<T>(0x%08x, 0x%02x) failed", |