29 #ifndef __MEM_RUBY_SYSTEM_DMASEQUENCER_HH__ 30 #define __MEM_RUBY_SYSTEM_DMASEQUENCER_HH__ 34 #include <unordered_map> 38 #include "mem/ruby/protocol/DMASequencerRequestType.hh" 40 #include "params/DMASequencer.hh" 65 bool busy() {
return m_outstanding_count > 0; }
72 void ackCallback(
const Addr &addr);
74 void recordRequestType(DMASequencerRequestType requestType);
77 void issueNext(
const Addr &addr);
88 #endif // __MEM_RUBY_SYSTEM_DMASEQUENCER_HH__
int outstandingCount() const override
DMASequencerParams Params
uint64_t m_data_block_mask
std::unordered_map< Addr, DMARequest > RequestTable
RequestTable m_RequestTable
bool isDeadlockEventScheduled() const override
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)
int m_max_outstanding_requests
const FlagsType init
This Stat is Initialized.
void descheduleDeadlockEvent() override