48 #ifndef __DEV_PCI_COPY_ENGINE_HH__ 49 #define __DEV_PCI_COPY_ENGINE_HH__ 57 #include "params/CopyEngine.hh" 102 {
panic(
"CopyEngineChannel has no I/O access\n");}
104 {
panic(
"CopyEngineChannel has no I/O access\n"); }
144 channelId,
"CopyEngine", s);
150 channelId,
"CopyEngine",
"DMAUnusedDescQ", channelId);
156 channelId,
"CopyEngine",
"DMAUnusedDescQ", channelId);
162 channelId,
"CopyEngine",
"DMAUnusedDescQ", channelId);
165 inline void anQ(
const char *
s, uint64_t
id,
int size = 1)
168 "CopyEngine", s,
id, NULL, size);
189 return dynamic_cast<const Params *
>(
_params);
206 #endif //__DEV_PCI_COPY_ENGINE_HH__ #define panic(...)
This implements a cprintf based panic() function.
EventFunctionWrapper fetchCompleteEvent
void anBegin(const char *s)
Ports are used to interface objects to each other.
void hwDq(flags f, System *sys, uint64_t frame, std::string sm, std::string q, uint64_t qid, System *q_sys=NULL, int32_t count=1)
EventFunctionWrapper statusCompleteEvent
const PortID InvalidPortID
void fetchDescriptor(Addr address)
DrainState
Object drain/handover states.
PCI device, base implementation is only config space.
void hwQ(flags f, System *sys, uint64_t frame, std::string sm, std::string q, uint64_t qid, System *q_sys=NULL, int32_t count=1)
void channelWrite(PacketPtr pkt, Addr daddr, int size)
void anQ(const char *s, uint64_t id, int size=1)
EventFunctionWrapper readCompleteEvent
A vector of scalar stats.
virtual Tick read(PacketPtr pkt)
void serialize(CheckpointOut &cp) const override
Serialize an object.
void writeCompletionStatus()
void hwWe(flags f, System *sys, uint64_t frame, std::string sm, std::string q, uint64_t qid, System *q_sys=NULL, int32_t count=1)
void restartStateMachine()
void unserialize(CheckpointIn &cp) override
Unserialize an object.
Declaration of Statistics objects.
void hwBegin(flags f, System *sys, uint64_t frame, std::string sm, std::string st)
Interface for objects that might require draining before checkpointing.
void writeCopyBytesComplete()
void continueProcessing()
virtual Tick write(PacketPtr pkt)
Stats::Vector copiesProcessed
std::string csprintf(const char *format, const Args &...args)
uint64_t Tick
Tick count type.
void channelRead(PacketPtr pkt, Addr daddr, int size)
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
std::vector< CopyEngineChannel * > chan
CopyEngineReg::ChanRegs cr
virtual const std::string name() const
A Packet is used to encapsulate a transfer between two objects in the memory system (e...
Basic support for object serialization.
CopyEngineReg::DmaDesc * curDmaDesc
void regStats() override
Callback to set stat parameters.
void writeStatusComplete()
CopyEngineChannel(CopyEngine *_ce, int cid)
void drainResume() override
Resume execution after a successful drain.
uint64_t completionDataReg
EventFunctionWrapper writeCompleteEvent
std::ostream CheckpointOut
void readCopyBytesComplete()
Stats::Vector bytesCopied
const SimObjectParams * _params
Cached copy of the object parameters.
EventFunctionWrapper addrCompleteEvent
virtual ~CopyEngineChannel()
int16_t PortID
Port index/ID type, and a symbolic name for an invalid port id.
CopyEngine(const Params *params)
DrainState drain() override
Notify an object that it needs to drain its state.
const Params * params() const
void fetchNextAddr(Addr address)