|
gem5 [DEVELOP-FOR-25.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. | |
| 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 () |
| void | serialize (CheckpointOut &cp) const override |
| Serialize an object. | |
| void | unserialize (CheckpointIn &cp) override |
| Unserialize an object. | |
| virtual bool | hasOutstandingEvents () |
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 | |
| 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 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. | |
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. | |
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. | |
Definition at line 181 of file i8254xGBe.hh.
|
protected |
Definition at line 193 of file i8254xGBe.hh.
| gem5::IGbE::DescCache< T >::DescCache | ( | IGbE * | i, |
| const std::string | n, | ||
| int | s ) |
Definition at line 827 of file i8254xGBe.cc.
References _name, cachePnt, curFetching, gem5::ArmISA::i, gem5::IGbE::IGbE(), igbe, moreToWb, gem5::ArmISA::n, pktPtr, gem5::ArmISA::s, size, wbAlignment, wbDelayEvent, wbOut, and writeback1().
|
virtual |
Definition at line 840 of file i8254xGBe.cc.
References fetchBuf, gem5::statistics::reset(), and wbBuf.
|
inlineprotectedvirtual |
Reimplemented in gem5::IGbE::TxDescCache.
Definition at line 190 of file i8254xGBe.hh.
Referenced by wbComplete().
| void gem5::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 849 of file i8254xGBe.cc.
References curFetching, panic, gem5::statistics::reset(), usedCache, and wbOut.
|
protectedpure virtual |
Implemented in gem5::IGbE::RxDescCache, and gem5::IGbE::TxDescCache.
Referenced by fetchDescriptors1(), and writeback1().
|
protectedpure virtual |
Implemented in gem5::IGbE::RxDescCache, and gem5::IGbE::TxDescCache.
Referenced by fetchDescriptors(), wbComplete(), writeback(), and writeback1().
|
inline |
Definition at line 272 of file i8254xGBe.hh.
References cachePnt, descLen(), descTail(), and unusedCache.
Referenced by fetchDescriptors(), and writeback().
|
protectedpure virtual |
Implemented in gem5::IGbE::RxDescCache, and gem5::IGbE::TxDescCache.
Referenced by descLeft(), fetchComplete(), fetchDescriptors(), wbComplete(), and writeback().
|
protectedpure virtual |
Implemented in gem5::IGbE::RxDescCache, and gem5::IGbE::TxDescCache.
Referenced by descLeft(), fetchDescriptors(), and writeback().
|
inline |
Definition at line 288 of file i8254xGBe.hh.
References unusedCache.
|
inline |
Definition at line 285 of file i8254xGBe.hh.
References usedCache.
|
protectedpure virtual |
Implemented in gem5::IGbE::RxDescCache, and gem5::IGbE::TxDescCache.
Referenced by fetchComplete().
|
protectedpure virtual |
Implemented in gem5::IGbE::RxDescCache, and gem5::IGbE::TxDescCache.
Referenced by wbComplete().
| void gem5::IGbE::DescCache< T >::fetchComplete | ( | ) |
Called by event when dma to read descriptors is completed.
Definition at line 990 of file i8254xGBe.cc.
References cachePnt, curFetching, descLen(), DPRINTF, enableSm(), fetchBuf, igbe, unusedCache, and gem5::RiscvISA::x.
| void gem5::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 931 of file i8254xGBe.cc.
References cachePnt, curFetching, gem5::curTick(), descHead(), descLeft(), descLen(), descTail(), DPRINTF, fetchDelayEvent, igbe, size, unusedCache, and usedCache.
| void gem5::IGbE::DescCache< T >::fetchDescriptors1 | ( | ) |
Definition at line 970 of file i8254xGBe.cc.
References cachePnt, curFetching, gem5::curTick(), descBase(), DPRINTF, fetchBuf, fetchDelayEvent, fetchEvent, igbe, gem5::PciDevice::pciToDma(), and gem5::Running.
|
inlinevirtual |
Reimplemented in gem5::IGbE::RxDescCache, and gem5::IGbE::TxDescCache.
Definition at line 298 of file i8254xGBe.hh.
References fetchEvent, and wbEvent.
|
inline |
Definition at line 239 of file i8254xGBe.hh.
References _name.
|
inlineprotected |
Shortcut for DMA address translation.
Definition at line 229 of file i8254xGBe.hh.
References gem5::ArmISA::a, and igbe.
| void gem5::IGbE::DescCache< T >::reset | ( | ) |
Definition at line 1057 of file i8254xGBe.cc.
References cachePnt, DPRINTF, unusedCache, usedCache, and gem5::RiscvISA::x.
|
overridevirtual |
Serialize an object.
Output an object's state into the current checkpoint section.
| cp | Checkpoint state |
Implements gem5::Serializable.
Reimplemented in gem5::IGbE::RxDescCache, and gem5::IGbE::TxDescCache.
Definition at line 1074 of file i8254xGBe.cc.
References gem5::arrayParamOut(), cachePnt, gem5::csprintf(), curFetching, fetchDelayEvent, moreToWb, SERIALIZE_SCALAR, unusedCache, usedCache, wbAlignment, wbDelayEvent, wbOut, and gem5::RiscvISA::x.
Referenced by gem5::IGbE::RxDescCache::serialize(), and gem5::IGbE::TxDescCache::serialize().
|
overridevirtual |
Unserialize an object.
Read an object's state from the current checkpoint section.
| cp | Checkpoint state |
Implements gem5::Serializable.
Reimplemented in gem5::IGbE::RxDescCache, and gem5::IGbE::TxDescCache.
Definition at line 1109 of file i8254xGBe.cc.
References gem5::arrayParamIn(), cachePnt, gem5::csprintf(), curFetching, fetchDelayEvent, igbe, moreToWb, UNSERIALIZE_SCALAR, unusedCache, usedCache, wbAlignment, wbDelayEvent, wbOut, and gem5::RiscvISA::x.
Referenced by gem5::IGbE::RxDescCache::unserialize(), and gem5::IGbE::TxDescCache::unserialize().
|
protectedpure virtual |
Implemented in gem5::IGbE::RxDescCache, and gem5::IGbE::TxDescCache.
Referenced by wbComplete().
| void gem5::IGbE::DescCache< T >::wbComplete | ( | ) |
Called by event when dma to writeback descriptors is completed.
Definition at line 1018 of file i8254xGBe.cc.
References actionAfterWb(), descHead(), descLen(), DPRINTF, fetchAfterWb(), igbe, moreToWb, updateHead(), usedCache, wbAlignment, wbOut, gem5::ArmISA::writeback, and gem5::RiscvISA::x.
| void gem5::IGbE::DescCache< T >::writeback | ( | Addr | aMask | ) |
Definition at line 859 of file i8254xGBe.cc.
References cachePnt, gem5::curTick(), descHead(), descLeft(), descLen(), descTail(), DPRINTF, igbe, moreToWb, usedCache, wbAlignment, wbDelayEvent, and wbOut.
| void gem5::IGbE::DescCache< T >::writeback1 | ( | ) |
Definition at line 907 of file i8254xGBe.cc.
References gem5::curTick(), descBase(), descHead(), DPRINTF, igbe, gem5::PciDevice::pciToDma(), gem5::Running, usedCache, wbBuf, wbDelayEvent, wbEvent, wbOut, and gem5::RiscvISA::x.
Referenced by DescCache().
|
protected |
Definition at line 204 of file i8254xGBe.hh.
Referenced by DescCache(), and name().
| std::string gem5::IGbE::DescCache< T >::annDescQ |
Definition at line 234 of file i8254xGBe.hh.
| std::string gem5::IGbE::DescCache< T >::annSmFetch |
Annotate sm.
Definition at line 233 of file i8254xGBe.hh.
| std::string gem5::IGbE::DescCache< T >::annSmWb |
Definition at line 233 of file i8254xGBe.hh.
| std::string gem5::IGbE::DescCache< T >::annUnusedCacheQ |
Definition at line 234 of file i8254xGBe.hh.
| std::string gem5::IGbE::DescCache< T >::annUnusedDescQ |
Definition at line 233 of file i8254xGBe.hh.
| std::string gem5::IGbE::DescCache< T >::annUsedCacheQ |
Definition at line 233 of file i8254xGBe.hh.
| std::string gem5::IGbE::DescCache< T >::annUsedDescQ |
Definition at line 234 of file i8254xGBe.hh.
|
protected |
Definition at line 207 of file i8254xGBe.hh.
Referenced by DescCache(), descLeft(), fetchComplete(), fetchDescriptors(), fetchDescriptors1(), reset(), serialize(), unserialize(), and writeback().
|
protected |
Definition at line 213 of file i8254xGBe.hh.
Referenced by areaChanged(), DescCache(), fetchComplete(), fetchDescriptors(), fetchDescriptors1(), serialize(), and unserialize().
|
protected |
Definition at line 197 of file i8254xGBe.hh.
Referenced by fetchComplete(), fetchDescriptors1(), and ~DescCache().
| EventFunctionWrapper gem5::IGbE::DescCache< T >::fetchDelayEvent |
Definition at line 256 of file i8254xGBe.hh.
Referenced by fetchDescriptors(), fetchDescriptors1(), serialize(), and unserialize().
| EventFunctionWrapper gem5::IGbE::DescCache< T >::fetchEvent |
Definition at line 261 of file i8254xGBe.hh.
Referenced by fetchDescriptors1(), and hasOutstandingEvents().
|
protected |
Definition at line 201 of file i8254xGBe.hh.
Referenced by DescCache(), fetchComplete(), fetchDescriptors(), fetchDescriptors1(), pciToDma(), unserialize(), wbComplete(), writeback(), and writeback1().
|
protected |
Definition at line 220 of file i8254xGBe.hh.
Referenced by DescCache(), serialize(), unserialize(), wbComplete(), and writeback().
|
protected |
The packet that is currently being dmad to memory if any.
Definition at line 226 of file i8254xGBe.hh.
Referenced by DescCache().
|
protected |
Definition at line 210 of file i8254xGBe.hh.
Referenced by DescCache(), and fetchDescriptors().
|
protected |
Definition at line 195 of file i8254xGBe.hh.
Referenced by descLeft(), descUnused(), fetchComplete(), fetchDescriptors(), reset(), serialize(), and unserialize().
|
protected |
Definition at line 194 of file i8254xGBe.hh.
Referenced by areaChanged(), descUsed(), fetchDescriptors(), reset(), serialize(), unserialize(), wbComplete(), writeback(), and writeback1().
|
protected |
Definition at line 223 of file i8254xGBe.hh.
Referenced by DescCache(), serialize(), unserialize(), wbComplete(), and writeback().
|
protected |
Definition at line 198 of file i8254xGBe.hh.
Referenced by writeback1(), and ~DescCache().
| EventFunctionWrapper gem5::IGbE::DescCache< T >::wbDelayEvent |
Definition at line 249 of file i8254xGBe.hh.
Referenced by DescCache(), serialize(), unserialize(), writeback(), and writeback1().
| EventFunctionWrapper gem5::IGbE::DescCache< T >::wbEvent |
Definition at line 266 of file i8254xGBe.hh.
Referenced by hasOutstandingEvents(), and writeback1().
|
protected |
Definition at line 216 of file i8254xGBe.hh.
Referenced by areaChanged(), DescCache(), serialize(), unserialize(), wbComplete(), writeback(), and writeback1().