gem5 v24.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. | |
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 80 of file pktfifo.hh.
typedef fifo_list::const_iterator gem5::PacketFifo::const_iterator |
Definition at line 86 of file pktfifo.hh.
Definition at line 84 of file pktfifo.hh.
typedef fifo_list::iterator gem5::PacketFifo::iterator |
Definition at line 85 of file pktfifo.hh.
|
inlineexplicit |
Definition at line 96 of file pktfifo.hh.
|
inlinevirtual |
Definition at line 98 of file pktfifo.hh.
|
inline |
Definition at line 104 of file pktfifo.hh.
References _maxsize, _reserved, and _size.
Referenced by full(), gem5::sinic::Device::prepareRead(), push(), gem5::NSGigE::recvPacket(), gem5::sinic::Device::recvPacket(), reserve(), gem5::NSGigE::transmit(), gem5::sinic::Device::transmit(), gem5::NSGigE::txKick(), gem5::sinic::Device::txKick(), gem5::IGbE::txStateMachine(), and gem5::IGbE::txWire().
|
inline |
Definition at line 116 of file pktfifo.hh.
References fifo.
Referenced by check(), clear(), gem5::sinic::Device::prepareRead(), gem5::sinic::Device::serialize(), and gem5::sinic::Device::unserialize().
|
inline |
Definition at line 119 of file pktfifo.hh.
References fifo.
|
inline |
Definition at line 203 of file pktfifo.hh.
References _size, begin(), end(), gem5::ArmISA::i, panic, and gem5::statistics::total.
Referenced by gem5::sinic::Device::rxKick().
|
inline |
Definition at line 156 of file pktfifo.hh.
References _reserved, _size, begin(), end(), fifo, and gem5::ArmISA::i.
Referenced by gem5::sinic::Device::reset(), gem5::NSGigE::rxReset(), gem5::NSGigE::txReset(), and gem5::IGbE::write().
bool gem5::PacketFifo::copyout | ( | void * | dest, |
unsigned | offset, | ||
unsigned | len ) |
Definition at line 37 of file pktfifo.cc.
References data, end(), fifo, gem5::ArmISA::i, gem5::ArmISA::len, gem5::ArmISA::offset, panic, and size().
|
inline |
Definition at line 194 of file pktfifo.hh.
References end(), fifo, and gem5::ArmISA::i.
Referenced by gem5::sinic::Device::prepareRead().
|
inline |
Definition at line 186 of file pktfifo.hh.
References fifo, and gem5::ArmISA::i.
Referenced by gem5::sinic::Device::rxKick(), and gem5::sinic::Device::serialize().
|
inline |
Definition at line 105 of file pktfifo.hh.
References size().
Referenced by pop(), gem5::sinic::Device::prepareRead(), gem5::NSGigE::rxKick(), gem5::sinic::Device::rxKick(), gem5::IGbE::rxStateMachine(), gem5::NSGigE::transferDone(), gem5::sinic::Device::transferDone(), gem5::NSGigE::transmit(), gem5::sinic::Device::transmit(), and gem5::IGbE::txWire().
|
inline |
Definition at line 117 of file pktfifo.hh.
References fifo.
Referenced by check(), clear(), copyout(), countPacketsAfter(), gem5::sinic::Device::recvPacket(), gem5::sinic::Device::reset(), gem5::sinic::Device::rxKick(), gem5::sinic::Device::serialize(), gem5::sinic::Device::unserialize(), and gem5::sinic::Device::write().
|
inline |
Definition at line 120 of file pktfifo.hh.
References fifo.
|
inline |
Definition at line 122 of file pktfifo.hh.
References fifo.
Referenced by gem5::NSGigE::rxKick(), gem5::IGbE::rxStateMachine(), gem5::NSGigE::transmit(), gem5::sinic::Device::transmit(), and gem5::IGbE::txWire().
|
inline |
Definition at line 106 of file pktfifo.hh.
References avail().
Referenced by gem5::NSGigE::txKick().
|
inline |
Definition at line 101 of file pktfifo.hh.
References _maxsize.
|
inline |
Definition at line 100 of file pktfifo.hh.
References fifo.
Referenced by gem5::sinic::Device::prepareRead().
|
inline |
Definition at line 143 of file pktfifo.hh.
References _size, empty(), and fifo.
Referenced by gem5::NSGigE::rxKick(), gem5::IGbE::rxStateMachine(), gem5::NSGigE::transmit(), gem5::sinic::Device::transmit(), and gem5::IGbE::txWire().
|
inline |
Definition at line 125 of file pktfifo.hh.
References _counter, _reserved, _size, avail(), fifo, gem5::PacketFifoEntry::number, and gem5::PacketFifoEntry::packet.
Referenced by gem5::IGbE::ethRxPkt(), gem5::NSGigE::recvPacket(), gem5::sinic::Device::recvPacket(), gem5::NSGigE::txKick(), gem5::sinic::Device::txKick(), and gem5::IGbE::txStateMachine().
|
inline |
Definition at line 166 of file pktfifo.hh.
References _size, fifo, and gem5::ArmISA::i.
Referenced by gem5::sinic::Device::rxKick().
|
inline |
Definition at line 109 of file pktfifo.hh.
References _reserved, avail(), and gem5::ArmISA::len.
Referenced by gem5::NSGigE::txKick(), and gem5::IGbE::txStateMachine().
|
inline |
Definition at line 103 of file pktfifo.hh.
References _reserved.
void gem5::PacketFifo::serialize | ( | const std::string & | base, |
CheckpointOut & | cp ) const |
Serialization stuff.
Definition at line 87 of file pktfifo.cc.
References _maxsize, _reserved, _size, gem5::X86ISA::base, gem5::csprintf(), fifo, gem5::ArmISA::i, and gem5::paramOut().
Referenced by gem5::IGbE::serialize(), gem5::NSGigE::serialize(), and gem5::sinic::Device::serialize().
|
inline |
Definition at line 102 of file pktfifo.hh.
References _size.
Referenced by copyout(), empty(), gem5::sinic::Device::prepareRead(), gem5::sinic::Device::recvPacket(), gem5::NSGigE::rxKick(), gem5::sinic::Device::rxKick(), gem5::NSGigE::transmit(), gem5::sinic::Device::transmit(), and gem5::sinic::Device::txKick().
void gem5::PacketFifo::unserialize | ( | const std::string & | base, |
CheckpointIn & | cp ) |
Definition at line 100 of file pktfifo.cc.
References _reserved, _size, gem5::X86ISA::base, gem5::csprintf(), fifo, gem5::ArmISA::i, gem5::paramIn(), and gem5::PacketFifoEntry::unserialize().
Referenced by gem5::IGbE::unserialize(), gem5::NSGigE::unserialize(), and gem5::sinic::Device::unserialize().
|
protected |
Definition at line 90 of file pktfifo.hh.
Referenced by push().
|
protected |
Definition at line 91 of file pktfifo.hh.
Referenced by avail(), maxsize(), and serialize().
|
protected |
Definition at line 93 of file pktfifo.hh.
Referenced by avail(), clear(), push(), reserve(), reserved(), serialize(), and unserialize().
|
protected |
Definition at line 92 of file pktfifo.hh.
Referenced by avail(), check(), clear(), pop(), push(), remove(), serialize(), size(), and unserialize().
|
protected |
Definition at line 89 of file pktfifo.hh.
Referenced by begin(), begin(), clear(), copyout(), countPacketsAfter(), countPacketsBefore(), end(), end(), front(), packets(), pop(), push(), remove(), serialize(), and unserialize().