summaryrefslogtreecommitdiff
path: root/src/mem/packet_queue.cc
diff options
context:
space:
mode:
authorAndreas Hansson <andreas.hansson@arm.com>2012-08-22 11:39:56 -0400
committerAndreas Hansson <andreas.hansson@arm.com>2012-08-22 11:39:56 -0400
commite317d8b9ff611f16e116946054ac9a90cb453300 (patch)
treea4c98536b209cedbacfe5d3e8f9f5d3b46d49885 /src/mem/packet_queue.cc
parent70e99e0b915fa7ed9ac682af6f68f077799ddea7 (diff)
downloadgem5-e317d8b9ff611f16e116946054ac9a90cb453300.tar.xz
Port: Extend the QueuedPort interface and use where appropriate
This patch extends the queued port interfaces with methods for scheduling the transmission of a timing request/response. The methods are named similar to the corresponding sendTiming(Snoop)Req/Resp, replacing the "send" with "sched". As the queues are currently unbounded, the methods always succeed and hence do not return a value. This functionality was previously provided in the subclasses by calling PacketQueue::schedSendTiming with the appropriate parameters. With this change, there is no need to introduce these extra methods in the subclasses, and the use of the queued interface is more uniform and explicit.
Diffstat (limited to 'src/mem/packet_queue.cc')
-rw-r--r--src/mem/packet_queue.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/mem/packet_queue.cc b/src/mem/packet_queue.cc
index 37aa2dcda..4a4543f61 100644
--- a/src/mem/packet_queue.cc
+++ b/src/mem/packet_queue.cc
@@ -109,6 +109,9 @@ PacketQueue::schedSendTiming(PacketPtr pkt, Tick when, bool send_as_snoop)
// we can still send a packet before the end of this tick
assert(when >= curTick());
+ // express snoops should never be queued
+ assert(!pkt->isExpressSnoop());
+
// nothing on the list, or earlier than current front element,
// schedule an event
if (transmitList.empty() || when < transmitList.front().tick) {