diff options
author | Steve Reinhardt <stever@eecs.umich.edu> | 2007-07-15 20:11:06 -0700 |
---|---|---|
committer | Steve Reinhardt <stever@eecs.umich.edu> | 2007-07-15 20:11:06 -0700 |
commit | 884807a68ad7e4f390660b3becfe4ee094334e95 (patch) | |
tree | 4c7ceec3944234c8cd983c72308115df55450dc5 /src/cpu | |
parent | f790f34fe30aaca22b829104a8cf3f547624132a (diff) | |
download | gem5-884807a68ad7e4f390660b3becfe4ee094334e95.tar.xz |
Fix up a bunch of multilevel coherence issues.
Atomic mode seems to work. Timing is closer but not there yet.
--HG--
extra : convert_revision : 0dea5c3d4b973d009e9d4a4c21b9cad15961d56f
Diffstat (limited to 'src/cpu')
-rw-r--r-- | src/cpu/memtest/memtest.cc | 4 | ||||
-rw-r--r-- | src/cpu/o3/lsq_impl.hh | 7 |
2 files changed, 7 insertions, 4 deletions
diff --git a/src/cpu/memtest/memtest.cc b/src/cpu/memtest/memtest.cc index db3ca282a..f5c8bb93b 100644 --- a/src/cpu/memtest/memtest.cc +++ b/src/cpu/memtest/memtest.cc @@ -64,7 +64,9 @@ MemTest::CpuPort::recvTiming(PacketPtr pkt) Tick MemTest::CpuPort::recvAtomic(PacketPtr pkt) { - panic("MemTest doesn't expect recvAtomic callback!"); + // must be snoop upcall + assert(pkt->isRequest()); + assert(pkt->getDest() == Packet::Broadcast); return curTick; } diff --git a/src/cpu/o3/lsq_impl.hh b/src/cpu/o3/lsq_impl.hh index b4a6a02da..10c0afd38 100644 --- a/src/cpu/o3/lsq_impl.hh +++ b/src/cpu/o3/lsq_impl.hh @@ -84,9 +84,10 @@ LSQ<Impl>::DcachePort::recvTiming(PacketPtr pkt) lsq->thread[pkt->req->getThreadNum()].completeDataAccess(pkt); } else { - //else it is a coherence request, maybe you need to do something - warn("Recieved a coherence request (Invalidate?), 03CPU doesn't" - "update LSQ for these\n"); + // must be a snoop + + // @TODO someday may need to process invalidations in LSQ here + // to provide stronger consistency model } return true; } |