diff options
author | Ali Saidi <saidi@eecs.umich.edu> | 2007-05-01 18:14:45 -0400 |
---|---|---|
committer | Ali Saidi <saidi@eecs.umich.edu> | 2007-05-01 18:14:45 -0400 |
commit | b7292a1713afb95572dd0d379dcbb39d0bfd9191 (patch) | |
tree | 896048481686bd97c0c57ee5d27d363c1590ac76 /src/arch/alpha/tlb.cc | |
parent | 8371f03e0df1b8b30f750e9b5c04ad67d706c656 (diff) | |
parent | 3f2b039c98e57cdcd22376552d77603e6233c371 (diff) | |
download | gem5-b7292a1713afb95572dd0d379dcbb39d0bfd9191.tar.xz |
Merge zizzer:/bk/newmem
into zeep.pool:/z/saidi/work/m5.newmem
--HG--
extra : convert_revision : 8867e78b55670da14f38172b5ac16ed5f6770f4c
Diffstat (limited to 'src/arch/alpha/tlb.cc')
-rw-r--r-- | src/arch/alpha/tlb.cc | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/arch/alpha/tlb.cc b/src/arch/alpha/tlb.cc index 3ab65e664..2dfff8c5f 100644 --- a/src/arch/alpha/tlb.cc +++ b/src/arch/alpha/tlb.cc @@ -213,7 +213,7 @@ TLB::flushAddr(Addr addr, uint8_t asn) if (i == lookupTable.end()) return; - while (i->first == vaddr.vpn()) { + while (i != lookupTable.end() && i->first == vaddr.vpn()) { int index = i->second; PTE *pte = &table[index]; assert(pte->valid); @@ -225,10 +225,10 @@ TLB::flushAddr(Addr addr, uint8_t asn) // invalidate this entry pte->valid = false; - lookupTable.erase(i); + lookupTable.erase(i++); + } else { + ++i; } - - ++i; } } |