59 system(p->sys), onMiss(p->on_miss), onRead(p->on_read),
60 onWrite(p->on_write), onData(p->on_data), onInst(p->on_inst),
62 pageBytes(
system->getPageBytes())
82 .
desc(
"number of hwpf issued")
97 if (fetch && !
onInst)
return false;
98 if (!fetch && !
onData)
return false;
99 if (!fetch && read && !
onRead)
return false;
100 if (!fetch && !read && !
onWrite)
return false;
101 if (!fetch && !read && inv)
return false;
105 return !
inCache(addr, is_secure) &&
163 return page + (blockIndex <<
lBlkSize);
bool onData
Consult prefetcher on data accesses?
BasePrefetcher(const BasePrefetcherParams *p)
Declares a basic cache interface BaseCache.
bool isUncacheable() const
Accessor functions for flags.
bool onMiss
Only consult prefetcher on cache misses?
const std::string & name()
BaseCache * cache
Pointr to the parent cache.
virtual void regStats()
Register statistics for this object.
unsigned lBlkSize
log_2(block size of the parent cache).
virtual bool inMissQueue(Addr addr, bool is_secure) const =0
bool onRead
Consult prefetcher on reads?
bool observeAccess(const PacketPtr &pkt) const
Determine if this access should be observed.
The ClockedObject class extends the SimObject with a clock and accessor functions to relate ticks to ...
Addr blockAddress(Addr a) const
Determine the address of the block in which a lays.
const RequestPtr req
A pointer to the original request.
bool onWrite
Consult prefetcher on reads?
T roundDown(const T &val, const U &align)
virtual bool inCache(Addr addr, bool is_secure) const =0
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...
bool inMissQueue(Addr addr, bool is_secure) const
Determine if address is in cache miss queue.
Derived & name(const std::string &name)
Set the name and marks this stat to print at the end of simulation.
int floorLog2(unsigned x)
bool inCache(Addr addr, bool is_secure) const
Determine if address is in cache.
virtual const std::string name() const
Addr pageAddress(Addr a) const
Determine the address of the page in which a lays.
MemCmd cmd
The command field of the packet.
void setCache(BaseCache *_cache)
unsigned getBlockSize() const
Query block size of a cache.
bool onInst
Consult prefetcher on instruction accesses?
Addr pageOffset(Addr a) const
Determine the page-offset of a.
Derived & desc(const std::string &_desc)
Set the description and marks this stat to print at the end of simulation.
Addr pageIthBlockAddress(Addr page, uint32_t i) const
Build the address of the i-th block inside the page.
unsigned blkSize
The block size of the parent cache.
bool isInvalidate() const
Miss and writeback queue declarations.
bool samePage(Addr a, Addr b) const
Determine if addresses are on the same page.
void regStats() override
Register statistics for this object.
Addr blockIndex(Addr a) const
Determine the address of a at block granularity.