Go to the documentation of this file.
70 for (
auto&
t : *
this) {
81 const std::string &prefix)
const
83 for (
auto&
t : *
this) {
85 t.pkt->print(
os, verbosity,
"");
105 "Write queue entry %#llx should never have more than one "
110 "Write queue entry %#llx should be an uncacheable write or "
111 "a cacheable eviction or a writeclean");
169 const std::string &prefix)
const
171 ccprintf(
os,
"%s[%#llx:%#llx](%s) %s %s %s state: %s %s %s %s %s\n",
184 std::ostringstream str;
bool matchBlockAddr(const Addr addr, const bool is_secure) const override
Check if entry corresponds to the one being looked for.
bool sendPacket(BaseCache &cache) override
Send this queue entry as a downstream packet, with the exact behaviour depending on the specific entr...
bool _isUncacheable
True if the entry is uncacheable.
RequestPtr req
A pointer to the original request.
Addr blkAddr
Block aligned address.
Counter order
Order number assigned to disambiguate writes and misses.
void ccprintf(cp::Print &print)
TargetList targets
List of all requests that match the address.
Tick readyTime
Tick when ready to issue.
bool sendWriteQueuePacket(WriteQueueEntry *wq_entry)
Similar to sendMSHR, but for a write-queue entry instead.
void print(std::ostream &os, int verbosity, const std::string &prefix) const
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
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.
virtual bool matchBlockAddr(const Addr addr, const bool is_secure) const =0
Check if entry corresponds to the one being looked for.
std::string print() const
A no-args wrapper of print(std::ostream...) meant to be invoked from DPRINTFs avoiding string overhea...
uint64_t Tick
Tick count type.
void add(PacketPtr pkt, Tick readyTime, Counter order)
bool isSecure
True if the entry targets the secure memory space.
bool trySatisfyFunctional(PacketPtr pkt)
void allocate(Addr blk_addr, unsigned blk_size, PacketPtr pkt, Tick when_ready, Counter _order)
Allocate a miss to this entry.
MemCmd cmd
The command field of the packet.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
unsigned blkSize
Block size of the cache.
bool trySatisfyFunctional(PacketPtr pkt)
#define panic_if(cond,...)
Conditional panic macro that checks the supplied condition and only panics if the condition is true a...
void deallocate()
Mark this entry as free.
double Counter
All counters are of 64-bit values.
A queue entry base class, to be used by both the MSHRs and write-queue entries.
bool trySatisfyFunctional(PacketPtr other)
Check a functional request against a memory value stored in another packet (i.e.
bool hasTargets() const
Returns true if there are targets left.
bool conflictAddr(const QueueEntry *entry) const override
Check if given entry's packets conflict with this' entries packets.
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
bool inService
True if the entry has been sent downstream.
Generated on Sun Jul 30 2023 01:56:58 for gem5 by doxygen 1.8.17