gem5
v20.1.0.0
|
#include <packet_queue.hh>
Public Member Functions | |
RespPacketQueue (EventManager &_em, ResponsePort &_cpu_side_port, bool force_order=false, const std::string _label="RespPacketQueue") | |
Create a response packet queue, linked to an event manager, a CPU-side port, and a label that will be used for functional print request packets. More... | |
virtual | ~RespPacketQueue () |
const std::string | name () const |
Provide a name to simplify debugging. More... | |
bool | sendTiming (PacketPtr pkt) |
Send a packet using the appropriate method for the specific subclass (request, response or snoop response). More... | |
Public Member Functions inherited from PacketQueue | |
size_t | size () const |
Get the size of the queue. More... | |
Tick | deferredPacketReadyTime () const |
Get the next packet ready time. More... | |
bool | checkConflict (const PacketPtr pkt, const int blk_size) const |
Check if a packet corresponding to the same address exists in the queue. More... | |
bool | trySatisfyFunctional (PacketPtr pkt) |
Check the list of buffered packets against the supplied functional request. More... | |
void | schedSendEvent (Tick when) |
Schedule a send event if we are not already waiting for a retry. More... | |
void | schedSendTiming (PacketPtr pkt, Tick when) |
Add a packet to the transmit list, and schedule a send event. More... | |
void | retry () |
Retry sending a packet from the queue. More... | |
void | disableSanityCheck () |
This allows a user to explicitly disable the sanity check on the size of the transmitList, which is enabled by default. More... | |
DrainState | drain () override |
Draining is the process of clearing out the states of SimObjects.These are the SimObjects that are partially executed or are partially in flight. More... | |
Public Member Functions inherited from Drainable | |
DrainState | drainState () const |
Return the current drain state of an object. More... | |
virtual void | notifyFork () |
Notify a child process of a fork. More... | |
Static Protected Member Functions | |
static const std::string | name (const ResponsePort &cpuSidePort, const std::string &label) |
Protected Attributes | |
ResponsePort & | cpuSidePort |
Protected Attributes inherited from PacketQueue | |
const std::string | label |
Label to use for print request packets label stack. More... | |
bool | waitingOnRetry |
Remember whether we're awaiting a retry. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from PacketQueue | |
bool | deferredPacketReady () const |
Check whether we have a packet ready to go on the transmit list. More... | |
virtual void | sendDeferredPacket () |
Attempt to send a packet. More... | |
PacketQueue (EventManager &_em, const std::string &_label, const std::string &_sendEventName, bool force_order=false, bool disable_sanity_check=false) | |
Create a packet queue, linked to an event manager, and a label that will be used for functional print request packets. More... | |
virtual | ~PacketQueue () |
Virtual desctructor since the class may be used as a base class. More... | |
Protected Member Functions inherited from Drainable | |
Drainable () | |
virtual | ~Drainable () |
virtual void | drainResume () |
Resume execution after a successful drain. More... | |
void | signalDrainDone () const |
Signal that an object is drained. More... | |
Definition at line 296 of file packet_queue.hh.
RespPacketQueue::RespPacketQueue | ( | EventManager & | _em, |
ResponsePort & | _cpu_side_port, | ||
bool | force_order = false , |
||
const std::string | _label = "RespPacketQueue" |
||
) |
Create a response packet queue, linked to an event manager, a CPU-side port, and a label that will be used for functional print request packets.
_em | Event manager used for scheduling this queue |
_cpu_side_port | Cpu_side port used to send the packets |
force_order | Force insertion order for packets with same address |
_label | Label to push on the label stack for print request packets |
Definition at line 263 of file packet_queue.cc.
|
inlinevirtual |
Definition at line 325 of file packet_queue.hh.
|
inlinevirtual |
Provide a name to simplify debugging.
Implements PacketQueue.
Definition at line 327 of file packet_queue.hh.
References cpuSidePort, and PacketQueue::label.
|
inlinestaticprotected |
Definition at line 305 of file packet_queue.hh.
References cpuSidePort, PacketQueue::label, and Port::name().
|
virtual |
Send a packet using the appropriate method for the specific subclass (request, response or snoop response).
Implements PacketQueue.
Definition at line 273 of file packet_queue.cc.
References cpuSidePort, and ResponsePort::sendTimingResp().
|
protected |
Definition at line 301 of file packet_queue.hh.
Referenced by name(), and sendTiming().