fatal("Both ports of bus bridge are not connected to a bus.\n");
if (portA.peerBlockSize() != portB.peerBlockSize())
- fatal("Busses don't have the same block size... Not supported.\n");
+ fatal("port A size %d, port B size %d \n " \
+ "Busses don't have the same block size... Not supported.\n",
+ portA.peerBlockSize(), portB.peerBlockSize());
}
bool
pkt->setNacked();
//put it on the list to send
- Tick readyTime = curTick + nackDelay;
+ Tick readyTime = curTick() + nackDelay;
PacketBuffer *buf = new PacketBuffer(pkt, readyTime, true);
// nothing on the list, add it and we're done
- Tick readyTime = curTick + delay;
+ Tick readyTime = curTick() + delay;
PacketBuffer *buf = new PacketBuffer(pkt, readyTime);
// If we're about to put this packet at the head of the queue, we
PacketBuffer *buf = sendQueue.front();
- assert(buf->ready <= curTick);
+ assert(buf->ready <= curTick());
PacketPtr pkt = buf->pkt;
if (!sendQueue.empty()) {
buf = sendQueue.front();
DPRINTF(BusBridge, "Scheduling next send\n");
- schedule(sendEvent, std::max(buf->ready, curTick + 1));
+ schedule(sendEvent, std::max(buf->ready, curTick() + 1));
}
} else {
DPRINTF(BusBridge, " unsuccessful\n");
{
inRetry = false;
Tick nextReady = sendQueue.front()->ready;
- if (nextReady <= curTick)
+ if (nextReady <= curTick())
trySend();
else
schedule(sendEvent, nextReady);
pkt->pushLabel(name());
for (i = sendQueue.begin(); i != sendQueue.end(); ++i) {
- if (pkt->checkFunctional((*i)->pkt))
+ if (pkt->checkFunctional((*i)->pkt)) {
+ pkt->makeResponse();
return;
+ }
}
pkt->popLabel();