gem5
v20.1.0.0
|
Public Member Functions | |
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. More... | |
void | writeback (Addr aMask) |
void | writeback1 () |
void | fetchDescriptors () |
Fetch a chunk of descriptors into the descriptor cache. More... | |
void | fetchDescriptors1 () |
void | fetchComplete () |
Called by event when dma to read descriptors is completed. More... | |
void | wbComplete () |
Called by event when dma to writeback descriptors is completed. More... | |
unsigned | descLeft () const |
unsigned | descUsed () const |
unsigned | descUnused () const |
void | reset () |
void | serialize (CheckpointOut &cp) const override |
Serialize an object. More... | |
void | unserialize (CheckpointIn &cp) override |
Unserialize an object. More... | |
virtual bool | hasOutstandingEvents () |
Public Member Functions inherited from Serializable | |
Serializable () | |
virtual | ~Serializable () |
void | serializeSection (CheckpointOut &cp, const char *name) const |
Serialize an object into a new section. More... | |
void | serializeSection (CheckpointOut &cp, const std::string &name) const |
void | unserializeSection (CheckpointIn &cp, const char *name) |
Unserialize an a child object. More... | |
void | unserializeSection (CheckpointIn &cp, const std::string &name) |
Public Attributes | |
std::string | annSmFetch |
Annotate sm. More... | |
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 Types | |
typedef std::deque< T * > | CacheType |
Protected Member Functions | |
virtual Addr | descBase () const =0 |
virtual long | descHead () const =0 |
virtual long | descTail () const =0 |
virtual long | descLen () const =0 |
virtual void | updateHead (long h)=0 |
virtual void | enableSm ()=0 |
virtual void | actionAfterWb () |
virtual void | fetchAfterWb ()=0 |
Addr | pciToDma (Addr a) |
Shortcut for DMA address translation. More... | |
Protected Attributes | |
CacheType | usedCache |
CacheType | unusedCache |
T * | fetchBuf |
T * | wbBuf |
IGbE * | igbe |
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. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from Serializable | |
static const std::string & | currentSection () |
Gets the fully-qualified name of the active section. More... | |
static void | serializeAll (const std::string &cpt_dir) |
Serializes all the SimObjects. More... | |
static void | unserializeGlobals (CheckpointIn &cp) |
Definition at line 174 of file i8254xGBe.hh.
|
protected |
Definition at line 186 of file i8254xGBe.hh.
IGbE::DescCache< T >::DescCache | ( | IGbE * | i, |
const std::string | n, | ||
int | s | ||
) |
Definition at line 822 of file i8254xGBe.cc.
|
virtual |
Definition at line 835 of file i8254xGBe.cc.
|
inlineprotectedvirtual |
Reimplemented in IGbE::TxDescCache.
Definition at line 183 of file i8254xGBe.hh.
void IGbE::DescCache< T >::areaChanged | ( | ) |
If the address/len/head change when we've got descriptors that are dirty that is very bad.
This function checks that we don't and if we do panics.
Definition at line 844 of file i8254xGBe.cc.
Referenced by IGbE::write().
|
protectedpure virtual |
|
protectedpure virtual |
|
inline |
Definition at line 265 of file i8254xGBe.hh.
Referenced by IGbE::ethTxDone(), IGbE::rxStateMachine(), and IGbE::txStateMachine().
|
protectedpure virtual |
Referenced by IGbE::DescCache< iGbReg::RxDesc >::descLeft().
|
protectedpure virtual |
Referenced by IGbE::DescCache< iGbReg::RxDesc >::descLeft().
|
inline |
Definition at line 281 of file i8254xGBe.hh.
Referenced by IGbE::rxStateMachine(), and IGbE::txStateMachine().
|
inline |
Definition at line 278 of file i8254xGBe.hh.
Referenced by IGbE::rxStateMachine().
|
protectedpure virtual |
Implemented in IGbE::TxDescCache, and IGbE::RxDescCache.
|
protectedpure virtual |
Implemented in IGbE::TxDescCache, and IGbE::RxDescCache.
void IGbE::DescCache< T >::fetchComplete | ( | ) |
Called by event when dma to read descriptors is completed.
Definition at line 985 of file i8254xGBe.cc.
void IGbE::DescCache< T >::fetchDescriptors | ( | ) |
Fetch a chunk of descriptors into the descriptor cache.
Calls fetchComplete when the memory system returns the data
Definition at line 926 of file i8254xGBe.cc.
Referenced by IGbE::rxStateMachine(), IGbE::txStateMachine(), and IGbE::write().
void IGbE::DescCache< T >::fetchDescriptors1 | ( | ) |
Definition at line 965 of file i8254xGBe.cc.
|
inlinevirtual |
Reimplemented in IGbE::TxDescCache, and IGbE::RxDescCache.
Definition at line 291 of file i8254xGBe.hh.
|
inline |
Definition at line 232 of file i8254xGBe.hh.
|
inlineprotected |
Shortcut for DMA address translation.
Definition at line 222 of file i8254xGBe.hh.
void IGbE::DescCache< T >::reset | ( | ) |
Definition at line 1056 of file i8254xGBe.cc.
Referenced by IGbE::write().
|
overridevirtual |
Serialize an object.
Output an object's state into the current checkpoint section.
cp | Checkpoint state |
Implements Serializable.
Definition at line 1073 of file i8254xGBe.cc.
Referenced by IGbE::RxDescCache::serialize(), and IGbE::TxDescCache::serialize().
|
overridevirtual |
Unserialize an object.
Read an object's state from the current checkpoint section.
cp | Checkpoint state |
Implements Serializable.
Definition at line 1108 of file i8254xGBe.cc.
Referenced by IGbE::RxDescCache::unserialize(), and IGbE::TxDescCache::unserialize().
|
protectedpure virtual |
Implemented in IGbE::TxDescCache, and IGbE::RxDescCache.
void IGbE::DescCache< T >::wbComplete | ( | ) |
Called by event when dma to writeback descriptors is completed.
Definition at line 1015 of file i8254xGBe.cc.
void IGbE::DescCache< T >::writeback | ( | Addr | aMask | ) |
Definition at line 854 of file i8254xGBe.cc.
Referenced by IGbE::radvProcess(), IGbE::rdtrProcess(), IGbE::read(), IGbE::rxStateMachine(), IGbE::tadvProcess(), IGbE::tidvProcess(), and IGbE::txStateMachine().
void IGbE::DescCache< T >::writeback1 | ( | ) |
Definition at line 902 of file i8254xGBe.cc.
|
protected |
Definition at line 197 of file i8254xGBe.hh.
Referenced by IGbE::DescCache< iGbReg::RxDesc >::name().
std::string IGbE::DescCache< T >::annDescQ |
Definition at line 227 of file i8254xGBe.hh.
std::string IGbE::DescCache< T >::annSmFetch |
Annotate sm.
Definition at line 226 of file i8254xGBe.hh.
std::string IGbE::DescCache< T >::annSmWb |
Definition at line 226 of file i8254xGBe.hh.
std::string IGbE::DescCache< T >::annUnusedCacheQ |
Definition at line 227 of file i8254xGBe.hh.
std::string IGbE::DescCache< T >::annUnusedDescQ |
Definition at line 226 of file i8254xGBe.hh.
std::string IGbE::DescCache< T >::annUsedCacheQ |
Definition at line 226 of file i8254xGBe.hh.
std::string IGbE::DescCache< T >::annUsedDescQ |
Definition at line 227 of file i8254xGBe.hh.
|
protected |
Definition at line 200 of file i8254xGBe.hh.
Referenced by IGbE::DescCache< iGbReg::RxDesc >::descLeft().
|
protected |
Definition at line 206 of file i8254xGBe.hh.
|
protected |
Definition at line 190 of file i8254xGBe.hh.
EventFunctionWrapper IGbE::DescCache< T >::fetchDelayEvent |
Definition at line 249 of file i8254xGBe.hh.
EventFunctionWrapper IGbE::DescCache< T >::fetchEvent |
Definition at line 254 of file i8254xGBe.hh.
Referenced by IGbE::DescCache< iGbReg::RxDesc >::hasOutstandingEvents().
|
protected |
Definition at line 194 of file i8254xGBe.hh.
Referenced by IGbE::DescCache< iGbReg::RxDesc >::pciToDma().
|
protected |
Definition at line 213 of file i8254xGBe.hh.
|
protected |
The packet that is currently being dmad to memory if any.
Definition at line 219 of file i8254xGBe.hh.
|
protected |
Definition at line 203 of file i8254xGBe.hh.
|
protected |
Definition at line 188 of file i8254xGBe.hh.
Referenced by IGbE::DescCache< iGbReg::RxDesc >::descLeft(), and IGbE::DescCache< iGbReg::RxDesc >::descUnused().
|
protected |
Definition at line 187 of file i8254xGBe.hh.
Referenced by IGbE::DescCache< iGbReg::RxDesc >::descUsed().
|
protected |
Definition at line 216 of file i8254xGBe.hh.
|
protected |
Definition at line 191 of file i8254xGBe.hh.
EventFunctionWrapper IGbE::DescCache< T >::wbDelayEvent |
Definition at line 242 of file i8254xGBe.hh.
EventFunctionWrapper IGbE::DescCache< T >::wbEvent |
Definition at line 259 of file i8254xGBe.hh.
Referenced by IGbE::DescCache< iGbReg::RxDesc >::hasOutstandingEvents().
|
protected |
Definition at line 209 of file i8254xGBe.hh.