dcache: Snoop writes to memory by other agents
authorPaul Mackerras <paulus@ozlabs.org>
Tue, 11 May 2021 00:54:57 +0000 (10:54 +1000)
committerPaul Mackerras <paulus@ozlabs.org>
Tue, 11 May 2021 00:54:57 +0000 (10:54 +1000)
commiteb7eba2d926e578e0ca7814b9ee6046812889f52
tree0f10895bc1c96f60a2f16075c96becd8ed9c6332
parent4a8ab3331c93124bac92776cb2112a506a272592
dcache: Snoop writes to memory by other agents

This adds a path where the wishbone that goes out to memory and I/O
also gets fed back to the dcache, which looks for writes that it
didn't initiate, and invalidates any cache line that gets written to.

This involves a second read port on the cache tag RAM for looking up
the snooped writes, and effectively a second write port on the cache
valid bit array to clear bits corresponding to snoop hits.

Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
core.vhdl
dcache.vhdl
soc.vhdl