55 int num_entries,
int reserve,
const std::string &
name)
57 name +
".write_queue")
69 entry->
allocate(blk_addr, blk_size, pkt, when_ready, order);
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
A high-level queue interface, to be used by both the MSHR queue and the write buffer.
virtual void deallocate(WriteQueueEntry *entry)
Removes the given entry from the queue.
Entry::List freeList
Holds non allocated entries.
Entry::List allocatedList
Holds pointers to all allocated entries.
Entry::Iterator addToReadyList(WriteQueueEntry *entry)
int allocated
The number of currently allocated entries.
int getNumTargets() const
Returns the current number of allocated targets.
void popTarget()
Pop first target.
Iterator allocIter
Pointer to this entry on the allocated list.
void allocate(Addr blk_addr, unsigned blk_size, PacketPtr pkt, Tick when_ready, Counter _order)
Allocate a miss to this entry.
Iterator readyIter
Pointer to this entry on the ready list.
void markInService(WriteQueueEntry *entry)
Mark the given entry as in service.
WriteQueueEntry * allocate(Addr blk_addr, unsigned blk_size, PacketPtr pkt, Tick when_ready, Counter order)
Allocates a new WriteQueueEntry for the request and size.
WriteQueue(const std::string &_label, int num_entries, int reserve, const std::string &name)
Create a write queue with a given number of entries.
double Counter
All counters are of 64-bit values.
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
uint64_t Tick
Tick count type.
const std::string & name()