gem5 v24.0.0.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. | |
Callbacks | |
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 ) |
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.
|
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.
|
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 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.
|
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 gem5::DmaReadFifo::unserialize(), and UNSERIALIZE_SCALAR.