From 6fac40ceb03d4ab5b13affac3927cd876947cc78 Mon Sep 17 00:00:00 2001 From: Andreas Hansson Date: Thu, 30 Jul 2015 03:42:25 -0400 Subject: mem: Add missing clean eviction on uncacheable access This patch adds a missing clean eviction, occuring when an uncacheable access flushes and invalidates an existing block. --- src/mem/cache/cache_impl.hh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/mem/cache/cache_impl.hh b/src/mem/cache/cache_impl.hh index 8089d122c..62ab49538 100644 --- a/src/mem/cache/cache_impl.hh +++ b/src/mem/cache/cache_impl.hh @@ -320,6 +320,8 @@ Cache::access(PacketPtr pkt, CacheBlk *&blk, Cycles &lat, if (old_blk && old_blk->isValid()) { if (old_blk->isDirty()) writebacks.push_back(writebackBlk(old_blk)); + else + writebacks.push_back(cleanEvictBlk(old_blk)); tags->invalidate(old_blk); old_blk->invalidate(); } -- cgit v1.2.3