diff options
Diffstat (limited to 'src/usr/diag/prdf/common/plat/mem/prdfMemRceTable.C')
-rw-r--r-- | src/usr/diag/prdf/common/plat/mem/prdfMemRceTable.C | 14 |
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(); + } + } } //------------------------------------------------------------------------------ |