29 #ifndef __MEM_RUBY_SYSTEM_DMASEQUENCER_HH__
30 #define __MEM_RUBY_SYSTEM_DMASEQUENCER_HH__
34 #include <unordered_map>
36 #include "mem/protocol/DMASequencerRequestType.hh"
40 #include "params/DMASequencer.hh"
88 #endif // __MEM_RUBY_SYSTEM_DMASEQUENCER_HH__
int outstandingCount() const override
RequestStatus makeRequest(PacketPtr pkt) override
DMASequencerParams Params
DMASequencer(const Params *)
void recordRequestType(DMASequencerRequestType requestType)
uint64_t m_data_block_mask
void dataCallback(const DataBlock &dblk, const Addr &addr)
std::unordered_map< Addr, DMARequest > RequestTable
RequestTable m_RequestTable
bool isDeadlockEventScheduled() const override
void issueNext(const Addr &addr)
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
A Packet is used to encapsulate a transfer between two objects in the memory system (e...
DMARequest(uint64_t start_paddr, int len, bool write, int bytes_completed, int bytes_issued, uint8_t *data, PacketPtr pkt)
void ackCallback(const Addr &addr)
int m_max_outstanding_requests
void init() override
init() is called after all C++ SimObjects have been created and all ports are connected.
void descheduleDeadlockEvent() override