Go to the documentation of this file.
46 #ifndef __DEV_PCI_COPY_ENGINE_HH__
47 #define __DEV_PCI_COPY_ENGINE_HH__
54 #include "params/CopyEngine.hh"
109 {
panic(
"CopyEngineChannel has no I/O access\n");}
111 {
panic(
"CopyEngineChannel has no I/O access\n"); }
155 const uint8_t& channel_count);
184 #endif //__DEV_PCI_COPY_ENGINE_HH__
void fetchNextAddr(Addr address)
CopyEngineStats(statistics::Group *parent, const uint8_t &channel_count)
gem5::CopyEngine::CopyEngineStats copyEngineStats
int16_t PortID
Port index/ID type, and a symbolic name for an invalid port id.
virtual ~CopyEngineChannel()
void unserialize(CheckpointIn &cp) override
Unserialize an object.
void continueProcessing()
copy_engine_reg::DmaDesc * curDmaDesc
Tick write(PacketPtr pkt) override
Pure virtual function that the device must implement.
EventFunctionWrapper statusCompleteEvent
A vector of scalar stats.
std::string csprintf(const char *format, const Args &...args)
DrainState drain() override
Draining is the process of clearing out the states of SimObjects.These are the SimObjects that are pa...
statistics::Vector bytesCopied
const PortID InvalidPortID
CopyEngine(const Params ¶ms)
EventFunctionWrapper addrCompleteEvent
void channelWrite(PacketPtr pkt, Addr daddr, int size)
EventFunctionWrapper readCompleteEvent
virtual Tick write(PacketPtr pkt)
Basic support for object serialization.
DrainState
Object drain/handover states.
statistics::Vector copiesProcessed
virtual std::string name() const
const Params & params() const
void readCopyBytesComplete()
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
void unserialize(CheckpointIn &cp) override
Unserialize an object.
Port & getPort(const std::string &if_name, PortID idx=InvalidPortID) override
Get a port with a given name and index.
uint64_t Tick
Tick count type.
CopyEngineChannel(CopyEngine *_ce, int cid)
copy_engine_reg::Regs regs
PCI device, base implementation is only config space.
std::vector< CopyEngineChannel * > chan
void writeStatusComplete()
void writeCompletionStatus()
uint64_t completionDataReg
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
void restartStateMachine()
void serialize(CheckpointOut &cp) const override
Serialize an object.
void writeCopyBytesComplete()
EventFunctionWrapper writeCompleteEvent
void channelRead(PacketPtr pkt, Addr daddr, int size)
Ports are used to interface objects to each other.
Interface for objects that might require draining before checkpointing.
std::ostream CheckpointOut
void drainResume() override
Resume execution after a successful drain.
virtual Tick read(PacketPtr pkt)
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
EventFunctionWrapper fetchCompleteEvent
copy_engine_reg::ChanRegs cr
void serialize(CheckpointOut &cp) const override
Serialize an object.
void fetchDescriptor(Addr address)
Tick read(PacketPtr pkt) override
Pure virtual function that the device must implement.
#define panic(...)
This implements a cprintf based panic() function.
Generated on Sun Jul 30 2023 01:56:56 for gem5 by doxygen 1.8.17