gem5
v20.0.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.
Referenced by Sinic::Device::prepareRead(), Sinic::Device::recvPacket(), NSGigE::recvPacket(), Sinic::Device::transmit(), NSGigE::transmit(), Sinic::Device::txKick(), NSGigE::txKick(), IGbE::txStateMachine(), and IGbE::txWire().
|
inline |
Definition at line 112 of file pktfifo.hh.
Referenced by Sinic::Device::prepareRead(), Sinic::Device::serialize(), and Sinic::Device::unserialize().
|
inline |
Definition at line 115 of file pktfifo.hh.
|
inline |
Definition at line 192 of file pktfifo.hh.
References X86ISA::base, ArmISA::i, panic, PacketFifoEntry::serialize(), Stats::total, and PacketFifoEntry::unserialize().
Referenced by Sinic::Device::rxKick().
|
inline |
Definition at line 149 of file pktfifo.hh.
References ArmISA::i.
Referenced by IGbE::IGbE(), 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.
|
inline |
Definition at line 184 of file pktfifo.hh.
Referenced by Sinic::Device::prepareRead().
|
inline |
Definition at line 177 of file pktfifo.hh.
Referenced by Sinic::Device::rxKick(), and Sinic::Device::serialize().
|
inline |
Definition at line 101 of file pktfifo.hh.
Referenced by 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.
Referenced by 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.
|
inline |
Definition at line 118 of file pktfifo.hh.
Referenced by NSGigE::rxKick(), IGbE::rxStateMachine(), Sinic::Device::transmit(), NSGigE::transmit(), and IGbE::txWire().
|
inline |
Definition at line 102 of file pktfifo.hh.
Referenced by NSGigE::txKick().
|
inline |
Definition at line 97 of file pktfifo.hh.
|
inline |
Definition at line 96 of file pktfifo.hh.
Referenced by Sinic::Device::prepareRead().
|
inline |
Definition at line 137 of file pktfifo.hh.
Referenced by NSGigE::rxKick(), IGbE::rxStateMachine(), Sinic::Device::transmit(), NSGigE::transmit(), and IGbE::txWire().
|
inline |
Definition at line 120 of file pktfifo.hh.
References 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 ArmISA::i, ArmISA::len, and ArmISA::offset.
Referenced by Sinic::Device::rxKick().
|
inline |
Definition at line 105 of file pktfifo.hh.
References ArmISA::len.
Referenced by NSGigE::txKick(), and IGbE::txStateMachine().
|
inline |
Definition at line 99 of file pktfifo.hh.
void PacketFifo::serialize | ( | const std::string & | base, |
CheckpointOut & | cp | ||
) | const |
Serialization stuff.
Definition at line 86 of file pktfifo.cc.
References csprintf(), ArmISA::i, and paramOut().
Referenced by Sinic::Device::serialize(), NSGigE::serialize(), and IGbE::serialize().
|
inline |
Definition at line 98 of file pktfifo.hh.
Referenced by 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 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.
|
protected |
Definition at line 87 of file pktfifo.hh.
|
protected |
Definition at line 89 of file pktfifo.hh.
|
protected |
Definition at line 88 of file pktfifo.hh.
|
protected |
Definition at line 85 of file pktfifo.hh.