mem: Add snoop filters to L2 crossbars, and check size
authorAli Jafri <ali.jafri@arm.com>
Fri, 25 Sep 2015 11:26:57 +0000 (07:26 -0400)
committerAli Jafri <ali.jafri@arm.com>
Fri, 25 Sep 2015 11:26:57 +0000 (07:26 -0400)
commit3aa87251d7bc05a1d99fcb0bded843f1c93c2a77
tree8d29aaba6c4cb41bd29d122142eb31efc471432a
parent0c5a98f9d18c6fdae287b1b608d1ffb1c13fb9c9
mem: Add snoop filters to L2 crossbars, and check size

This patch adds a snoop filter to the L2XBar. For now we refrain from
globally adding a snoop filter to the SystemXBar, since the latter is
also used in systems without caches. In scenarios without caches the
snoop filter will not see any writeback/clean evicts from the CPU
ports, despite the fact that they are snooping. To avoid inadvertent
use of the snoop filter in these cases we leave it out for now.

A size check is added to the snoop filter, merely to ensure it does
not grow beyond the total capacity of the caches above it. The size
has to be set manually, and a value of 8 MByte is choosen as suitably
high default.
src/mem/XBar.py
src/mem/snoop_filter.cc
src/mem/snoop_filter.hh