packet_queue.cc (9356:b279bad40aa3) packet_queue.cc (9390:5490105626dc)
1/*
2 * Copyright (c) 2012 ARM Limited
3 * All rights reserved.
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 99 unchanged lines hidden (view full) ---

108PacketQueue::schedSendTiming(PacketPtr pkt, Tick when, bool send_as_snoop)
109{
110 // we can still send a packet before the end of this tick
111 assert(when >= curTick());
112
113 // express snoops should never be queued
114 assert(!pkt->isExpressSnoop());
115
1/*
2 * Copyright (c) 2012 ARM Limited
3 * All rights reserved.
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 99 unchanged lines hidden (view full) ---

108PacketQueue::schedSendTiming(PacketPtr pkt, Tick when, bool send_as_snoop)
109{
110 // we can still send a packet before the end of this tick
111 assert(when >= curTick());
112
113 // express snoops should never be queued
114 assert(!pkt->isExpressSnoop());
115
116 // add a very basic sanity check on the port to ensure the
117 // invisible buffer is not growing beyond reasonable limits
118 if (transmitList.size() > 100) {
119 panic("Packet queue %s has grown beyond 100 packets\n",
120 name());
121 }
122
116 // nothing on the list, or earlier than current front element,
117 // schedule an event
118 if (transmitList.empty() || when < transmitList.front().tick) {
119 // note that currently we ignore a potentially outstanding retry
120 // and could in theory put a new packet at the head of the
121 // transmit list before retrying the existing packet
122 transmitList.push_front(DeferredPacket(when, pkt, send_as_snoop));
123 schedSendEvent(when);

--- 122 unchanged lines hidden ---
123 // nothing on the list, or earlier than current front element,
124 // schedule an event
125 if (transmitList.empty() || when < transmitList.front().tick) {
126 // note that currently we ignore a potentially outstanding retry
127 // and could in theory put a new packet at the head of the
128 // transmit list before retrying the existing packet
129 transmitList.push_front(DeferredPacket(when, pkt, send_as_snoop));
130 schedSendEvent(when);

--- 122 unchanged lines hidden ---