|
gem5
v22.0.0.2
|
#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 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::sinic::Device::recvPacket(), gem5::NSGigE::recvPacket(), reserve(), gem5::sinic::Device::transmit(), gem5::NSGigE::transmit(), gem5::sinic::Device::txKick(), gem5::NSGigE::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, 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::sinic::Device::rxKick(), gem5::NSGigE::rxKick(), gem5::IGbE::rxStateMachine(), gem5::sinic::Device::transferDone(), gem5::NSGigE::transferDone(), gem5::sinic::Device::transmit(), gem5::NSGigE::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::sinic::Device::transmit(), gem5::NSGigE::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::sinic::Device::transmit(), gem5::NSGigE::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::sinic::Device::recvPacket(), gem5::NSGigE::recvPacket(), gem5::sinic::Device::txKick(), gem5::NSGigE::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 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::sinic::Device::serialize(), gem5::NSGigE::serialize(), and gem5::IGbE::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::sinic::Device::rxKick(), gem5::NSGigE::rxKick(), gem5::sinic::Device::transmit(), gem5::NSGigE::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::sinic::Device::unserialize(), gem5::NSGigE::unserialize(), and gem5::IGbE::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(), clear(), copyout(), countPacketsAfter(), countPacketsBefore(), end(), front(), packets(), pop(), push(), remove(), serialize(), and unserialize().