1/* 2 * Copyright (c) 2012,2015 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 --- 34 unchanged lines hidden (view full) --- 43 44#include "base/trace.hh" 45#include "debug/Drain.hh" 46#include "debug/PacketQueue.hh" 47#include "mem/packet_queue.hh" 48 49using namespace std; 50 |
51PacketQueue::PacketQueue(EventManager& _em, const std::string& _label, 52 bool disable_sanity_check) 53 : em(_em), sendEvent(this), _disableSanityCheck(disable_sanity_check), 54 label(_label), waitingOnRetry(false) |
55{ 56} 57 58PacketQueue::~PacketQueue() 59{ 60} 61 62void --- 47 unchanged lines hidden (view full) --- 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 (!_disableSanityCheck && transmitList.size() > 100) { |
119 panic("Packet queue %s has grown beyond 100 packets\n", 120 name()); 121 } 122 123 // nothing on the list 124 if (transmitList.empty()) { 125 transmitList.emplace_front(when, pkt); 126 schedSendEvent(when); --- 146 unchanged lines hidden --- |