mem: Respond to InvalidateReq when the block is (pending) dirty
authorNikos Nikoleris <nikos.nikoleris@arm.com>
Mon, 5 Dec 2016 21:48:29 +0000 (16:48 -0500)
committerNikos Nikoleris <nikos.nikoleris@arm.com>
Mon, 5 Dec 2016 21:48:29 +0000 (16:48 -0500)
commit0054f1ad53f00621df82d201b38c03f088786d27
treeafa111820f0bd5582bb7b12629649c2a9d67e08a
parent9916e4276cf7d5354e8e95c239698ee38a7f8674
mem: Respond to InvalidateReq when the block is (pending) dirty

Previously when an InvalidateReq snooped a cache with a dirty block or
a pending modified MSHR, it would invalidate the block or set the
postInv flag. The cache would not send an InvalidateResp. though,
causing memory order violations. This patches changes this behavior,
making the cache with the dirty block or pending modified MSHR the
ordering point.

Change-Id: Ib4c31012f4f6693ffb137cd77258b160fbc239ca
Reviewed-by: Andreas Hansson <andreas.hansson@arm.com>
src/mem/cache/cache.cc
src/mem/cache/mshr.cc