89,91d88
< /** Label to use for print request packets label stack. */
< const std::string label;
<
107,108c104,105
< /** The port used to send the packets. */
< Port& port;
---
> /** Label to use for print request packets label stack. */
> const std::string label;
137a135,139
> *
> */
> virtual bool sendTiming(PacketPtr pkt, bool send_as_snoop) = 0;
>
> /**
155,156d156
< public:
<
158,160c158,159
< * Create a packet queue, linked to an event manager, a port used
< * to send the packets, and potentially give it a label that will
< * be used for functional print request packets.
---
> * Create a packet queue, linked to an event manager, and a label
> * that will be used for functional print request packets.
163d161
< * @param _port Port used to send the packets
166,167c164
< PacketQueue(EventManager& _em, Port& _port,
< const std::string _label = "PacketQueue");
---
> PacketQueue(EventManager& _em, const std::string& _label);
173a171,172
> public:
>
175c174
< * Provide a name to simplify debugging. Base it on the port.
---
> * Provide a name to simplify debugging.
179c178
< const std::string name() const { return port.name() + "-queue"; }
---
> virtual const std::string name() const = 0;
219a219,277
> class MasterPacketQueue : public PacketQueue
> {
>
> protected:
>
> MasterPort& masterPort;
>
> public:
>
> /**
> * Create a master packet queue, linked to an event manager, a
> * master port, and a label that will be used for functional print
> * request packets.
> *
> * @param _em Event manager used for scheduling this queue
> * @param _masterPort Master port used to send the packets
> * @param _label Label to push on the label stack for print request packets
> */
> MasterPacketQueue(EventManager& _em, MasterPort& _masterPort,
> const std::string _label = "MasterPacketQueue");
>
> virtual ~MasterPacketQueue() { }
>
> const std::string name() const
> { return masterPort.name() + "-" + label; }
>
> bool sendTiming(PacketPtr pkt, bool send_as_snoop);
> };
>
> class SlavePacketQueue : public PacketQueue
> {
>
> protected:
>
> SlavePort& slavePort;
>
> public:
>
> /**
> * Create a slave packet queue, linked to an event manager, a
> * slave port, and a label that will be used for functional print
> * request packets.
> *
> * @param _em Event manager used for scheduling this queue
> * @param _slavePort Slave port used to send the packets
> * @param _label Label to push on the label stack for print request packets
> */
> SlavePacketQueue(EventManager& _em, SlavePort& _slavePort,
> const std::string _label = "SlavePacketQueue");
>
> virtual ~SlavePacketQueue() { }
>
> const std::string name() const
> { return slavePort.name() + "-" + label; }
>
> bool sendTiming(PacketPtr pkt, bool send_as_snoop);
>
> };
>