summaryrefslogtreecommitdiff
path: root/src/mem/physical.cc
diff options
context:
space:
mode:
authorSteve Reinhardt <stever@eecs.umich.edu>2007-05-28 08:11:43 -0700
committerSteve Reinhardt <stever@eecs.umich.edu>2007-05-28 08:11:43 -0700
commit41f6cbce9aa24f9cd8a6eb4a340dcc2e9671cdcb (patch)
treee7524f13e9d32b8cc19ea9ae23fb29fba152ef7f /src/mem/physical.cc
parent04ac944920f6ab7d74de1b4d8be8f4ae0accff4f (diff)
downloadgem5-41f6cbce9aa24f9cd8a6eb4a340dcc2e9671cdcb.tar.xz
Restructure SimpleTimingPort a bit:
- factor out checkFunctional() code so it can be called from derived classes - use EventWrapper for sendEvent, move event handling code from event to port where it belongs - make sendEvent a pointer so derived classes can override it - replace std::pair with new class for readability --HG-- extra : convert_revision : 5709de2daacfb751a440144ecaab5f9fc02e6b7a
Diffstat (limited to 'src/mem/physical.cc')
-rw-r--r--src/mem/physical.cc15
1 files changed, 1 insertions, 14 deletions
diff --git a/src/mem/physical.cc b/src/mem/physical.cc
index 6621c36cf..9d840fe69 100644
--- a/src/mem/physical.cc
+++ b/src/mem/physical.cc
@@ -414,20 +414,7 @@ PhysicalMemory::MemoryPort::recvAtomic(PacketPtr pkt)
void
PhysicalMemory::MemoryPort::recvFunctional(PacketPtr pkt)
{
- //Since we are overriding the function, make sure to have the impl of the
- //check or functional accesses here.
- std::list<std::pair<Tick,PacketPtr> >::iterator i = transmitList.begin();
- std::list<std::pair<Tick,PacketPtr> >::iterator end = transmitList.end();
- bool notDone = true;
-
- while (i != end && notDone) {
- PacketPtr target = i->second;
- // If the target contains data, and it overlaps the
- // probed request, need to update data
- if (target->intersect(pkt))
- notDone = fixPacket(pkt, target);
- i++;
- }
+ checkFunctional(pkt);
// Default implementation of SimpleTimingPort::recvFunctional()
// calls recvAtomic() and throws away the latency; we can save a