|
gem5 [DEVELOP-FOR-25.0]
|
#include <hdlcd.hh>
Public Member Functions | |
| DmaEngine (HDLcd &_parent, size_t size, unsigned request_size, unsigned max_pending, size_t line_size, ssize_t line_pitch, unsigned num_lines) | |
| void | startFrame (Addr fb_base) |
| void | abortFrame () |
| void | dumpSettings () |
| void | serialize (CheckpointOut &cp) const override |
| Serialize an object. | |
| void | unserialize (CheckpointIn &cp) override |
| Unserialize an object. | |
Public Member Functions inherited from gem5::DmaReadFifo | |
| DmaReadFifo (DmaPort &port, size_t size, unsigned max_req_size, unsigned max_pending, Request::Flags flags=0) | |
| ~DmaReadFifo () | |
| void | serialize (CheckpointOut &cp) const override |
| Serialize an object. | |
| void | unserialize (CheckpointIn &cp) override |
| Unserialize an object. | |
| DrainState | drain () override |
| Draining is the process of clearing out the states of SimObjects.These are the SimObjects that are partially executed or are partially in flight. | |
| bool | tryGet (uint8_t *dst, size_t len) |
| Try to read data from the FIFO. | |
| template<typename T> | |
| bool | tryGet (T &value) |
| void | get (uint8_t *dst, size_t len) |
| Read data from the FIFO and panic on failure. | |
| template<typename T> | |
| T | get () |
| size_t | size () const |
| Get the amount of data stored in the FIFO. | |
| void | flush () |
| Flush the FIFO. | |
| void | startFill (Addr start, size_t size) |
| Start filling the FIFO. | |
| void | stopFill () |
| Stop the DMA engine. | |
| bool | atEndOfBlock () const |
| Has the DMA engine sent out the last request for the active block? | |
| bool | isActive () const |
| Is the DMA engine active (i.e., are there still in-flight accesses)? | |
Public Member Functions inherited from gem5::Drainable | |
| DrainState | drainState () const |
| Return the current drain state of an object. | |
| virtual void | notifyFork () |
| Notify a child process of a fork. | |
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) |
Protected Member Functions | |
| void | onEndOfBlock () override |
| End of block callback. | |
| void | onIdle () override |
| Last response received callback. | |
Protected Member Functions inherited from gem5::DmaReadFifo | |
Protected Member Functions inherited from gem5::Drainable | |
| Drainable () | |
| virtual | ~Drainable () |
| virtual void | drainResume () |
| Resume execution after a successful drain. | |
| void | signalDrainDone () const |
| Signal that an object is drained. | |
Protected Attributes | |
| HDLcd & | parent |
| const size_t | lineSize |
| const ssize_t | linePitch |
| const unsigned | numLines |
| Addr | nextLineAddr |
| Addr | frameEnd |
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. | |
| gem5::HDLcd::DmaEngine::DmaEngine | ( | HDLcd & | _parent, |
| size_t | size, | ||
| unsigned | request_size, | ||
| unsigned | max_pending, | ||
| size_t | line_size, | ||
| ssize_t | line_pitch, | ||
| unsigned | num_lines ) |
Definition at line 602 of file hdlcd.cc.
References gem5::DmaDevice::dmaPort, gem5::DmaReadFifo::DmaReadFifo(), gem5::HDLcd::HDLcd(), linePitch, lineSize, nextLineAddr, numLines, parent, and gem5::DmaReadFifo::size().
| void gem5::HDLcd::DmaEngine::abortFrame | ( | ) |
Definition at line 642 of file hdlcd.cc.
References gem5::DmaReadFifo::flush(), frameEnd, nextLineAddr, and gem5::DmaReadFifo::stopFill().
| void gem5::HDLcd::DmaEngine::dumpSettings | ( | ) |
|
overrideprotectedvirtual |
End of block callback.
This callback is called once after the last access in a block has been sent. It is legal for a derived class to call startFill() from this method to initiate a transfer.
Reimplemented from gem5::DmaReadFifo.
Definition at line 659 of file hdlcd.cc.
References frameEnd, linePitch, lineSize, nextLineAddr, and gem5::DmaReadFifo::startFill().
|
overrideprotectedvirtual |
Last response received callback.
This callback is called when the DMA engine becomes idle (i.e., there are no pending requests).
It is possible for a DMA engine to reach the end of block and become idle at the same tick. In such a case, the onEndOfBlock() callback will be called first. This callback will NOT be called if that callback initiates a new DMA transfer.
Reimplemented from gem5::DmaReadFifo.
Definition at line 672 of file hdlcd.cc.
References parent.
|
overridevirtual |
Serialize an object.
Output an object's state into the current checkpoint section.
| cp | Checkpoint state |
Implements gem5::Serializable.
Definition at line 615 of file hdlcd.cc.
References frameEnd, nextLineAddr, gem5::DmaReadFifo::serialize(), and SERIALIZE_SCALAR.
| void gem5::HDLcd::DmaEngine::startFrame | ( | Addr | fb_base | ) |
Definition at line 633 of file hdlcd.cc.
References gem5::HDLcd::fb_base, frameEnd, linePitch, lineSize, nextLineAddr, numLines, and gem5::DmaReadFifo::startFill().
|
overridevirtual |
Unserialize an object.
Read an object's state from the current checkpoint section.
| cp | Checkpoint state |
Implements gem5::Serializable.
Definition at line 624 of file hdlcd.cc.
References frameEnd, nextLineAddr, gem5::DmaReadFifo::unserialize(), and UNSERIALIZE_SCALAR.
|
protected |
Definition at line 411 of file hdlcd.hh.
Referenced by abortFrame(), onEndOfBlock(), serialize(), startFrame(), and unserialize().
|
protected |
Definition at line 407 of file hdlcd.hh.
Referenced by DmaEngine(), dumpSettings(), onEndOfBlock(), and startFrame().
|
protected |
Definition at line 406 of file hdlcd.hh.
Referenced by DmaEngine(), dumpSettings(), onEndOfBlock(), and startFrame().
|
protected |
Definition at line 410 of file hdlcd.hh.
Referenced by abortFrame(), DmaEngine(), onEndOfBlock(), serialize(), startFrame(), and unserialize().
|
protected |
Definition at line 408 of file hdlcd.hh.
Referenced by DmaEngine(), dumpSettings(), and startFrame().
|
protected |
Definition at line 405 of file hdlcd.hh.
Referenced by DmaEngine(), and onIdle().