gem5
v20.1.0.0
|
#include <pktfifo.hh>
Public Types | |
typedef std::list< PacketFifoEntry > | fifo_list |
typedef fifo_list::iterator | iterator |
typedef fifo_list::const_iterator | const_iterator |
Public Member Functions | |
PacketFifo (int max) | |
virtual | ~PacketFifo () |
unsigned | packets () const |
unsigned | maxsize () const |
unsigned | size () const |
unsigned | reserved () const |
unsigned | avail () const |
bool | empty () const |
bool | full () const |
unsigned | reserve (unsigned len=0) |
iterator | begin () |
iterator | end () |
const_iterator | begin () const |
const_iterator | end () const |
EthPacketPtr | front () |
bool | push (EthPacketPtr ptr) |
void | pop () |
void | clear () |
void | remove (iterator i) |
bool | copyout (void *dest, unsigned offset, unsigned len) |
int | countPacketsBefore (const_iterator i) const |
int | countPacketsAfter (const_iterator i) const |
void | check () const |
void | serialize (const std::string &base, CheckpointOut &cp) const |
Serialization stuff. More... | |
void | unserialize (const std::string &base, CheckpointIn &cp) |
Protected Attributes | |
std::list< PacketFifoEntry > | fifo |
uint64_t | _counter |
unsigned | _maxsize |
unsigned | _size |
unsigned | _reserved |
Definition at line 76 of file pktfifo.hh.
typedef fifo_list::const_iterator PacketFifo::const_iterator |
Definition at line 82 of file pktfifo.hh.
Definition at line 80 of file pktfifo.hh.
typedef fifo_list::iterator PacketFifo::iterator |
Definition at line 81 of file pktfifo.hh.
|
inlineexplicit |
Definition at line 92 of file pktfifo.hh.
|
inlinevirtual |
Definition at line 94 of file pktfifo.hh.
|
inline |
Definition at line 100 of file pktfifo.hh.
References _maxsize, _reserved, and _size.
Referenced by full(), Sinic::Device::prepareRead(), push(), Sinic::Device::recvPacket(), NSGigE::recvPacket(), reserve(), Sinic::Device::transmit(), NSGigE::transmit(), Sinic::Device::txKick(), NSGigE::txKick(), IGbE::txStateMachine(), and IGbE::txWire().
|
inline |
Definition at line 112 of file pktfifo.hh.
References fifo.
Referenced by check(), clear(), Sinic::Device::prepareRead(), Sinic::Device::serialize(), and Sinic::Device::unserialize().
|
inline |
Definition at line 115 of file pktfifo.hh.
References fifo.
|
inline |
Definition at line 192 of file pktfifo.hh.
References _size, begin(), end(), ArmISA::i, panic, and Stats::total.
Referenced by Sinic::Device::rxKick().
|
inline |
Definition at line 149 of file pktfifo.hh.
References _reserved, _size, begin(), end(), fifo, and ArmISA::i.
Referenced by Sinic::Device::reset(), NSGigE::rxReset(), NSGigE::txReset(), and IGbE::write().
bool PacketFifo::copyout | ( | void * | dest, |
unsigned | offset, | ||
unsigned | len | ||
) |
Definition at line 36 of file pktfifo.cc.
References data, ArmISA::i, ArmISA::len, ArmISA::offset, and panic.
|
inline |
Definition at line 184 of file pktfifo.hh.
References end(), fifo, and ArmISA::i.
Referenced by Sinic::Device::prepareRead().
|
inline |
Definition at line 177 of file pktfifo.hh.
References fifo, and ArmISA::i.
Referenced by Sinic::Device::rxKick(), and Sinic::Device::serialize().
|
inline |
Definition at line 101 of file pktfifo.hh.
References size().
Referenced by pop(), Sinic::Device::prepareRead(), Sinic::Device::rxKick(), NSGigE::rxKick(), IGbE::rxStateMachine(), Sinic::Device::transferDone(), NSGigE::transferDone(), Sinic::Device::transmit(), NSGigE::transmit(), and IGbE::txWire().
|
inline |
Definition at line 113 of file pktfifo.hh.
References fifo.
Referenced by check(), clear(), countPacketsAfter(), Sinic::Device::recvPacket(), Sinic::Device::reset(), Sinic::Device::rxKick(), Sinic::Device::serialize(), Sinic::Device::unserialize(), and Sinic::Device::write().
|
inline |
Definition at line 116 of file pktfifo.hh.
References fifo.
|
inline |
Definition at line 118 of file pktfifo.hh.
References fifo.
Referenced by NSGigE::rxKick(), IGbE::rxStateMachine(), Sinic::Device::transmit(), NSGigE::transmit(), and IGbE::txWire().
|
inline |
|
inline |
Definition at line 97 of file pktfifo.hh.
References _maxsize.
|
inline |
Definition at line 96 of file pktfifo.hh.
References fifo.
Referenced by Sinic::Device::prepareRead().
|
inline |
Definition at line 137 of file pktfifo.hh.
References _size, empty(), and fifo.
Referenced by NSGigE::rxKick(), IGbE::rxStateMachine(), Sinic::Device::transmit(), NSGigE::transmit(), and IGbE::txWire().
|
inline |
Definition at line 120 of file pktfifo.hh.
References _counter, _reserved, _size, avail(), fifo, length, PacketFifoEntry::number, and PacketFifoEntry::packet.
Referenced by IGbE::ethRxPkt(), Sinic::Device::recvPacket(), NSGigE::recvPacket(), Sinic::Device::txKick(), NSGigE::txKick(), and IGbE::txStateMachine().
|
inline |
Definition at line 158 of file pktfifo.hh.
References _size, fifo, and ArmISA::i.
Referenced by Sinic::Device::rxKick().
|
inline |
Definition at line 105 of file pktfifo.hh.
References _reserved, avail(), and ArmISA::len.
Referenced by NSGigE::txKick(), and IGbE::txStateMachine().
|
inline |
Definition at line 99 of file pktfifo.hh.
References _reserved.
void PacketFifo::serialize | ( | const std::string & | base, |
CheckpointOut & | cp | ||
) | const |
Serialization stuff.
Definition at line 86 of file pktfifo.cc.
References X86ISA::base, csprintf(), ArmISA::i, and paramOut().
Referenced by Sinic::Device::serialize(), NSGigE::serialize(), and IGbE::serialize().
|
inline |
Definition at line 98 of file pktfifo.hh.
References _size.
Referenced by empty(), Sinic::Device::prepareRead(), Sinic::Device::recvPacket(), Sinic::Device::rxKick(), NSGigE::rxKick(), Sinic::Device::transmit(), NSGigE::transmit(), and Sinic::Device::txKick().
void PacketFifo::unserialize | ( | const std::string & | base, |
CheckpointIn & | cp | ||
) |
Definition at line 99 of file pktfifo.cc.
References X86ISA::base, csprintf(), ArmISA::i, paramIn(), and PacketFifoEntry::unserialize().
Referenced by Sinic::Device::unserialize(), NSGigE::unserialize(), and IGbE::unserialize().
|
protected |
Definition at line 86 of file pktfifo.hh.
Referenced by push().
|
protected |
Definition at line 87 of file pktfifo.hh.
|
protected |
Definition at line 89 of file pktfifo.hh.
Referenced by avail(), clear(), push(), reserve(), and reserved().
|
protected |
|
protected |
Definition at line 85 of file pktfifo.hh.
Referenced by begin(), clear(), countPacketsAfter(), countPacketsBefore(), end(), front(), packets(), pop(), push(), and remove().