mem-cache: Return evictions along with victims
authorDaniel R. Carvalho <odanrc@yahoo.com.br>
Tue, 24 Apr 2018 09:20:38 +0000 (11:20 +0200)
committerDaniel Carvalho <odanrc@yahoo.com.br>
Fri, 8 Jun 2018 09:33:39 +0000 (09:33 +0000)
commit62db2c46f460deb41d43930e4b6460e53f70376a
treeb00cde3c6f1c2f7f12d8c86b5db8aa68ea69259a
parent815b12fb4aa45bfe8b38f96f923c150880bf9200
mem-cache: Return evictions along with victims

For both sector and compressed caches multiple blocks may need
to be evicted in order to make room for a new block.

For example, when replacing a sector, all the blocks in this
sector must be evicted. A replacement, however, does not always
need to evict multiple blocks, as it is in the case of an
insertion of a block whose sector is already present in the cache
(i.e., its corresponding entry in the sector had not been brought
in yet, so it was invalid).

This patch creates the cache framework for that to happen.

Change-Id: I77bedf69637cf899fef4d9432eb6da8529ea398b
Reviewed-on: https://gem5-review.googlesource.com/10142
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Maintainer: Nikos Nikoleris <nikos.nikoleris@arm.com>
src/mem/cache/base.cc
src/mem/cache/tags/base.hh
src/mem/cache/tags/base_set_assoc.hh
src/mem/cache/tags/fa_lru.cc
src/mem/cache/tags/fa_lru.hh