Go to the documentation of this file.
67 for (
auto&
t : *
this) {
78 const std::string &prefix)
const
80 for (
auto&
t : *
this) {
82 t.pkt->print(
os, verbosity,
"");
102 "Write queue entry %#llx should never have more than one "
107 "Write queue entry %#llx should be an uncacheable write or "
108 "a cacheable eviction or a writeclean");
166 const std::string &prefix)
const
168 ccprintf(
os,
"%s[%#llx:%#llx](%s) %s %s %s state: %s %s %s %s %s\n",
181 std::ostringstream str;
Addr blkAddr
Block aligned address.
void allocate(Addr blk_addr, unsigned blk_size, PacketPtr pkt, Tick when_ready, Counter _order)
Allocate a miss to this entry.
virtual bool matchBlockAddr(const Addr addr, const bool is_secure) const =0
Check if entry corresponds to the one being looked for.
void print(std::ostream &os, int verbosity, const std::string &prefix) const
uint64_t Tick
Tick count type.
RequestPtr req
A pointer to the original request.
bool matchBlockAddr(const Addr addr, const bool is_secure, const int blk_size) const
Check if packet corresponds to a given block-aligned address and address space.
bool hasTargets() const
Returns true if there are targets left.
bool sendPacket(BaseCache &cache) override
Send this queue entry as a downstream packet, with the exact behaviour depending on the specific entr...
bool matchBlockAddr(const Addr addr, const bool is_secure) const override
Check if entry corresponds to the one being looked for.
int64_t Counter
Statistics counter type.
bool conflictAddr(const QueueEntry *entry) const override
Check if given entry's packets conflict with this' entries packets.
bool isSecure
True if the entry targets the secure memory space.
unsigned blkSize
Block size of the cache.
void deallocate()
Mark this entry as free.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
bool trySatisfyFunctional(PacketPtr pkt)
Tick readyTime
Tick when ready to issue.
Counter order
Order number assigned to disambiguate writes and misses.
bool _isUncacheable
True if the entry is uncacheable.
std::string print() const
A no-args wrapper of print(std::ostream...) meant to be invoked from DPRINTFs avoiding string overhea...
MemCmd cmd
The command field of the packet.
bool inService
True if the entry has been sent downstream.
#define panic_if(cond,...)
Conditional panic macro that checks the supplied condition and only panics if the condition is true a...
bool sendWriteQueuePacket(WriteQueueEntry *wq_entry)
Similar to sendMSHR, but for a write-queue entry instead.
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
void ccprintf(cp::Print &print)
bool trySatisfyFunctional(PacketPtr pkt)
A queue entry base class, to be used by both the MSHRs and write-queue entries.
TargetList targets
List of all requests that match the address.
bool trySatisfyFunctional(PacketPtr other)
Check a functional request against a memory value stored in another packet (i.e.
void add(PacketPtr pkt, Tick readyTime, Counter order)
Generated on Wed Sep 30 2020 14:02:12 for gem5 by doxygen 1.8.17