summaryrefslogtreecommitdiff
path: root/src/mem/packet_queue.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/mem/packet_queue.cc')
-rw-r--r--src/mem/packet_queue.cc18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/mem/packet_queue.cc b/src/mem/packet_queue.cc
index 7aa2fc1f9..45378aec6 100644
--- a/src/mem/packet_queue.cc
+++ b/src/mem/packet_queue.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012,2015 ARM Limited
+ * Copyright (c) 2012,2015,2018 ARM Limited
* All rights reserved.
*
* The license below extends only to copyright in the software and shall
@@ -49,9 +49,11 @@
PacketQueue::PacketQueue(EventManager& _em, const std::string& _label,
const std::string& _sendEventName,
+ bool force_order,
bool disable_sanity_check)
: em(_em), sendEvent([this]{ processSendEvent(); }, _sendEventName),
_disableSanityCheck(disable_sanity_check),
+ forceOrder(force_order),
label(_label), waitingOnRetry(false)
{
}
@@ -102,11 +104,11 @@ PacketQueue::trySatisfyFunctional(PacketPtr pkt)
}
void
-PacketQueue::schedSendTiming(PacketPtr pkt, Tick when, bool force_order)
+PacketQueue::schedSendTiming(PacketPtr pkt, Tick when)
{
DPRINTF(PacketQueue, "%s for %s address %x size %d when %lu ord: %i\n",
__func__, pkt->cmdString(), pkt->getAddr(), pkt->getSize(), when,
- force_order);
+ forceOrder);
// we can still send a packet before the end of this tick
assert(when >= curTick());
@@ -137,13 +139,13 @@ PacketQueue::schedSendTiming(PacketPtr pkt, Tick when, bool force_order)
// assert(waitingOnRetry || sendEvent.scheduled());
// this belongs in the middle somewhere, so search from the end to
- // order by tick; however, if force_order is set, also make sure
+ // order by tick; however, if forceOrder is set, also make sure
// not to re-order in front of some existing packet with the same
// address
auto i = transmitList.end();
--i;
while (i != transmitList.begin() && when < i->tick &&
- !(force_order && i->pkt->getAddr() == pkt->getAddr()))
+ !(forceOrder && i->pkt->getAddr() == pkt->getAddr()))
--i;
// emplace inserts the element before the position pointed to by
@@ -250,8 +252,9 @@ ReqPacketQueue::sendTiming(PacketPtr pkt)
SnoopRespPacketQueue::SnoopRespPacketQueue(EventManager& _em,
MasterPort& _masterPort,
+ bool force_order,
const std::string _label)
- : PacketQueue(_em, _label, name(_masterPort, _label)),
+ : PacketQueue(_em, _label, name(_masterPort, _label), force_order),
masterPort(_masterPort)
{
}
@@ -263,8 +266,9 @@ SnoopRespPacketQueue::sendTiming(PacketPtr pkt)
}
RespPacketQueue::RespPacketQueue(EventManager& _em, SlavePort& _slavePort,
+ bool force_order,
const std::string _label)
- : PacketQueue(_em, _label, name(_slavePort, _label)),
+ : PacketQueue(_em, _label, name(_slavePort, _label), force_order),
slavePort(_slavePort)
{
}