summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/prdf/plat/mem/prdfMemTps_ipl.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/diag/prdf/plat/mem/prdfMemTps_ipl.C')
-rw-r--r--src/usr/diag/prdf/plat/mem/prdfMemTps_ipl.C15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/usr/diag/prdf/plat/mem/prdfMemTps_ipl.C b/src/usr/diag/prdf/plat/mem/prdfMemTps_ipl.C
index 8525c47f2..339d3ac0a 100644
--- a/src/usr/diag/prdf/plat/mem/prdfMemTps_ipl.C
+++ b/src/usr/diag/prdf/plat/mem/prdfMemTps_ipl.C
@@ -123,9 +123,20 @@ uint32_t TpsEvent<TYPE_MCA>::nextStep( STEP_CODE_DATA_STRUCT & io_sc,
PRDFSIG_MaintIUE );
}
+ // At this point we don't actually have an address for the UE.
+ // The best we can do is get the address in which the command
+ // stopped.
+ MemAddr addr;
+ o_rc = getMemMaintAddr<TYPE_MCA>( iv_chip, addr );
+ if ( SUCCESS != o_rc )
+ {
+ PRDF_ERR( PRDF_FUNC "getMemMaintAddr(0x%08x) failed",
+ iv_chip->getHuid() );
+ break;
+ }
+
// Do memory UE handling.
- o_rc = MemEcc::handleMemUe<TYPE_MCA>(iv_chip,
- MemAddr::fromRank(iv_rank),
+ o_rc = MemEcc::handleMemUe<TYPE_MCA>(iv_chip, addr,
UE_TABLE::SCRUB_UE, io_sc);
if ( SUCCESS != o_rc )
{
OpenPOWER on IntegriCloud