summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/prdf/common/plat/mem/prdfMemRceTable.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/diag/prdf/common/plat/mem/prdfMemRceTable.C')
-rw-r--r--src/usr/diag/prdf/common/plat/mem/prdfMemRceTable.C14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/usr/diag/prdf/common/plat/mem/prdfMemRceTable.C b/src/usr/diag/prdf/common/plat/mem/prdfMemRceTable.C
index 9655db669..344a40722 100644
--- a/src/usr/diag/prdf/common/plat/mem/prdfMemRceTable.C
+++ b/src/usr/diag/prdf/common/plat/mem/prdfMemRceTable.C
@@ -63,11 +63,17 @@ bool MemRceTable::addEntry( const MemRank & i_rank,
//------------------------------------------------------------------------------
-void MemRceTable::flushEntry( const MemRank & i_rank )
+void MemRceTable::flushEntry( const MemRank & i_rank, AddrRangeType i_type )
{
- RceTable::iterator it = iv_table.find( i_rank );
- if ( iv_table.end() != it )
- it->second.reset();
+ for ( auto & entry : iv_table )
+ {
+ if ( ( (SLAVE_RANK == i_type) && (entry.first == i_rank) ) ||
+ ( (MASTER_RANK == i_type) &&
+ (entry.first.getMaster() == i_rank.getMaster()) ) )
+ {
+ entry.second.reset();
+ }
+ }
}
//------------------------------------------------------------------------------
OpenPOWER on IntegriCloud