undo my previous bus change, it can make the bus deadlock.. so it still constantly reschedules itself
--HG-- extra : convert_revision : b5ef1aa0a6a2e32bd775d2dbcad9cd9505ad9b78
This commit is contained in:
parent
3c608bf765
commit
ff55888575
1 changed files with 9 additions and 14 deletions
|
@ -171,8 +171,9 @@ bool
|
||||||
Bus::recvTiming(PacketPtr pkt)
|
Bus::recvTiming(PacketPtr pkt)
|
||||||
{
|
{
|
||||||
Port *port;
|
Port *port;
|
||||||
DPRINTF(Bus, "recvTiming: packet src %d dest %d addr 0x%x cmd %s\n",
|
DPRINTF(Bus, "recvTiming: packet src %d dest %d addr 0x%x cmd %s result %d\n",
|
||||||
pkt->getSrc(), pkt->getDest(), pkt->getAddr(), pkt->cmdString());
|
pkt->getSrc(), pkt->getDest(), pkt->getAddr(), pkt->cmdString(),
|
||||||
|
pkt->result);
|
||||||
|
|
||||||
BusPort *pktPort;
|
BusPort *pktPort;
|
||||||
if (pkt->getSrc() == defaultId)
|
if (pkt->getSrc() == defaultId)
|
||||||
|
@ -272,7 +273,6 @@ Bus::recvRetry(int id)
|
||||||
retryList.pop_front();
|
retryList.pop_front();
|
||||||
inRetry = false;
|
inRetry = false;
|
||||||
|
|
||||||
if (id != -1) {
|
|
||||||
//Bring tickNextIdle up to the present
|
//Bring tickNextIdle up to the present
|
||||||
while (tickNextIdle < curTick)
|
while (tickNextIdle < curTick)
|
||||||
tickNextIdle += clock;
|
tickNextIdle += clock;
|
||||||
|
@ -280,12 +280,7 @@ Bus::recvRetry(int id)
|
||||||
//Burn a cycle for the missed grant.
|
//Burn a cycle for the missed grant.
|
||||||
tickNextIdle += clock;
|
tickNextIdle += clock;
|
||||||
|
|
||||||
if (!busIdle.scheduled()) {
|
busIdle.reschedule(tickNextIdle, true);
|
||||||
busIdle.schedule(tickNextIdle);
|
|
||||||
} else {
|
|
||||||
busIdle.reschedule(tickNextIdle);
|
|
||||||
}
|
|
||||||
} // id != -1
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//If we weren't able to drain before, we might be able to now.
|
//If we weren't able to drain before, we might be able to now.
|
||||||
|
|
Loading…
Reference in a new issue