summaryrefslogtreecommitdiff
path: root/src/mem/cache/base.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/mem/cache/base.hh')
-rw-r--r--src/mem/cache/base.hh9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/mem/cache/base.hh b/src/mem/cache/base.hh
index 3baec36d9..a992583fe 100644
--- a/src/mem/cache/base.hh
+++ b/src/mem/cache/base.hh
@@ -508,9 +508,12 @@ class BaseCache : public MemObject
MSHR *allocateWriteBuffer(PacketPtr pkt, Tick time)
{
- // should only see clean evictions in a read-only cache
- assert(!isReadOnly || pkt->cmd == MemCmd::CleanEvict);
- assert(pkt->isWrite() && !pkt->isRead());
+ // should only see writes or clean evicts here
+ assert(pkt->isWrite() || pkt->cmd == MemCmd::CleanEvict);
+
+ // if this is a read-only cache we should never see any writes
+ assert(!(isReadOnly && pkt->isWrite()));
+
return allocateBufferInternal(&writeBuffer,
blockAlign(pkt->getAddr()), blkSize,
pkt, time, true);