54 int num_entries,
int reserve)
64 assert(entry->getNumTargets() == 0);
67 entry->allocate(blk_addr, blk_size, pkt, when_ready, order);
WriteQueueEntry::Iterator addToReadyList(WriteQueueEntry *entry)
void markInService(WriteQueueEntry *entry)
Mark the given entry as in service.
A high-level queue interface, to be used by both the MSHR queue and the write buffer.
void deallocate(WriteQueueEntry *entry)
Removes the given entry from the queue.
uint64_t Tick
Tick count type.
WriteQueue(const std::string &_label, int num_entries, int reserve)
Create a write queue with a given number of entries.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
int64_t Counter
Statistics counter type.
A Packet is used to encapsulate a transfer between two objects in the memory system (e...
WriteQueueEntry::List freeList
Holds non allocated entries.
WriteQueueEntry::List allocatedList
Holds pointers to all allocated entries.
void popTarget()
Pop first target.
WriteQueueEntry * allocate(Addr blk_addr, unsigned blk_size, PacketPtr pkt, Tick when_ready, Counter order)
Allocates a new WriteQueueEntry for the request and size.
int allocated
The number of currently allocated entries.