gem5 v25.0.0.1
Loading...
Searching...
No Matches
gem5::IGbE::RxDescCache Class Reference
Inheritance diagram for gem5::IGbE::RxDescCache:
gem5::IGbE::DescCache< igbreg::RxDesc > gem5::Serializable

Public Member Functions

 RxDescCache (IGbE *i, std::string n, int s)
int writePacket (EthPacketPtr packet, int pkt_offset)
 Write the given packet into the buffer(s) pointed to by the descriptor and update the book keeping.
void pktComplete ()
 Called by event when dma to write packet is completed.
bool packetDone ()
 Check if the dma on the packet has completed and RX state machine can continue.
void pktSplitDone ()
bool hasOutstandingEvents () override
void serialize (CheckpointOut &cp) const override
 Serialize an object.
void unserialize (CheckpointIn &cp) override
 Unserialize an object.
Public Member Functions inherited from gem5::IGbE::DescCache< igbreg::RxDesc >
 DescCache (IGbE *i, const std::string n, int s)
virtual ~DescCache ()
std::string name ()
void areaChanged ()
 If the address/len/head change when we've got descriptors that are dirty that is very bad.
void writeback (Addr aMask)
void writeback1 ()
void fetchDescriptors ()
 Fetch a chunk of descriptors into the descriptor cache.
void fetchDescriptors1 ()
void fetchComplete ()
 Called by event when dma to read descriptors is completed.
void wbComplete ()
 Called by event when dma to writeback descriptors is completed.
unsigned descLeft () const
unsigned descUsed () const
unsigned descUnused () const
void reset ()
Public Member Functions inherited from gem5::Serializable
 Serializable ()
virtual ~Serializable ()
void serializeSection (CheckpointOut &cp, const char *name) const
 Serialize an object into a new section.
void serializeSection (CheckpointOut &cp, const std::string &name) const
void unserializeSection (CheckpointIn &cp, const char *name)
 Unserialize an a child object.
void unserializeSection (CheckpointIn &cp, const std::string &name)

Public Attributes

EventFunctionWrapper pktEvent
EventFunctionWrapper pktHdrEvent
EventFunctionWrapper pktDataEvent
Public Attributes inherited from gem5::IGbE::DescCache< igbreg::RxDesc >
std::string annSmFetch
 Annotate sm.
std::string annSmWb
std::string annUnusedDescQ
std::string annUsedCacheQ
std::string annUsedDescQ
std::string annUnusedCacheQ
std::string annDescQ
EventFunctionWrapper wbDelayEvent
EventFunctionWrapper fetchDelayEvent
EventFunctionWrapper fetchEvent
EventFunctionWrapper wbEvent

Protected Member Functions

Addr descBase () const override
long descHead () const override
long descLen () const override
long descTail () const override
void updateHead (long h) override
void enableSm () override
void fetchAfterWb () override
Protected Member Functions inherited from gem5::IGbE::DescCache< igbreg::RxDesc >
virtual void actionAfterWb ()
Addr pciToDma (Addr a)
 Shortcut for DMA address translation.

Protected Attributes

bool pktDone
int splitCount
 Variable to head with header/data completion events.
unsigned bytesCopied
 Bytes of packet that have been copied, so we know when to set EOP.
Protected Attributes inherited from gem5::IGbE::DescCache< igbreg::RxDesc >
CacheType usedCache
CacheType unusedCache
igbreg::RxDescfetchBuf
igbreg::RxDescwbBuf
IGbEigbe
std::string _name
int cachePnt
int size
int curFetching
int wbOut
bool moreToWb
Addr wbAlignment
EthPacketPtr pktPtr
 The packet that is currently being dmad to memory if any.

Additional Inherited Members

Static Public Member Functions inherited from gem5::Serializable
static const std::string & currentSection ()
 Gets the fully-qualified name of the active section.
static void generateCheckpointOut (const std::string &cpt_dir, std::ofstream &outstream)
 Generate a checkpoint file so that the serialization can be routed to it.
Protected Types inherited from gem5::IGbE::DescCache< igbreg::RxDesc >
typedef std::deque< igbreg::RxDesc * > CacheType

Detailed Description

Definition at line 305 of file i8254xGBe.hh.

Constructor & Destructor Documentation

◆ RxDescCache()

gem5::IGbE::RxDescCache::RxDescCache ( IGbE * i,
std::string n,
int s )

Member Function Documentation

◆ descBase()

Addr gem5::IGbE::RxDescCache::descBase ( ) const
inlineoverrideprotectedvirtual

◆ descHead()

long gem5::IGbE::RxDescCache::descHead ( ) const
inlineoverrideprotectedvirtual

◆ descLen()

long gem5::IGbE::RxDescCache::descLen ( ) const
inlineoverrideprotectedvirtual

◆ descTail()

long gem5::IGbE::RxDescCache::descTail ( ) const
inlineoverrideprotectedvirtual

◆ enableSm()

void gem5::IGbE::RxDescCache::enableSm ( )
overrideprotectedvirtual

◆ fetchAfterWb()

void gem5::IGbE::RxDescCache::fetchAfterWb ( )
inlineoverrideprotectedvirtual

◆ hasOutstandingEvents()

bool gem5::IGbE::RxDescCache::hasOutstandingEvents ( )
overridevirtual

◆ packetDone()

bool gem5::IGbE::RxDescCache::packetDone ( )

Check if the dma on the packet has completed and RX state machine can continue.

Definition at line 1459 of file i8254xGBe.cc.

References pktDone.

◆ pktComplete()

◆ pktSplitDone()

void gem5::IGbE::RxDescCache::pktSplitDone ( )

Definition at line 1165 of file i8254xGBe.cc.

References DPRINTF, pktComplete(), and splitCount.

◆ serialize()

void gem5::IGbE::RxDescCache::serialize ( CheckpointOut & cp) const
overridevirtual

Serialize an object.

Output an object's state into the current checkpoint section.

Parameters
cpCheckpoint state

Reimplemented from gem5::IGbE::DescCache< igbreg::RxDesc >.

Definition at line 1478 of file i8254xGBe.cc.

References bytesCopied, pktDone, gem5::IGbE::DescCache< T >::serialize(), SERIALIZE_SCALAR, and splitCount.

◆ unserialize()

void gem5::IGbE::RxDescCache::unserialize ( CheckpointIn & cp)
overridevirtual

Unserialize an object.

Read an object's state from the current checkpoint section.

Parameters
cpCheckpoint state

Reimplemented from gem5::IGbE::DescCache< igbreg::RxDesc >.

Definition at line 1487 of file i8254xGBe.cc.

References bytesCopied, pktDone, splitCount, gem5::IGbE::DescCache< T >::unserialize(), and UNSERIALIZE_SCALAR.

◆ updateHead()

void gem5::IGbE::RxDescCache::updateHead ( long h)
inlineoverrideprotectedvirtual

◆ writePacket()

int gem5::IGbE::RxDescCache::writePacket ( EthPacketPtr packet,
int pkt_offset )

Member Data Documentation

◆ bytesCopied

unsigned gem5::IGbE::RxDescCache::bytesCopied
protected

Bytes of packet that have been copied, so we know when to set EOP.

Definition at line 326 of file i8254xGBe.hh.

Referenced by pktComplete(), serialize(), unserialize(), and writePacket().

◆ pktDataEvent

EventFunctionWrapper gem5::IGbE::RxDescCache::pktDataEvent

Definition at line 355 of file i8254xGBe.hh.

Referenced by hasOutstandingEvents(), and writePacket().

◆ pktDone

bool gem5::IGbE::RxDescCache::pktDone
protected

Definition at line 319 of file i8254xGBe.hh.

Referenced by packetDone(), pktComplete(), RxDescCache(), serialize(), unserialize(), and writePacket().

◆ pktEvent

EventFunctionWrapper gem5::IGbE::RxDescCache::pktEvent

Definition at line 349 of file i8254xGBe.hh.

Referenced by hasOutstandingEvents(), RxDescCache(), and writePacket().

◆ pktHdrEvent

EventFunctionWrapper gem5::IGbE::RxDescCache::pktHdrEvent

Definition at line 354 of file i8254xGBe.hh.

Referenced by hasOutstandingEvents(), and writePacket().

◆ splitCount

int gem5::IGbE::RxDescCache::splitCount
protected

Variable to head with header/data completion events.

Definition at line 322 of file i8254xGBe.hh.

Referenced by pktSplitDone(), RxDescCache(), serialize(), and unserialize().


The documentation for this class was generated from the following files:

Generated on Sat Oct 18 2025 08:06:51 for gem5 by doxygen 1.14.0