44 #include "params/MemFootprintProbe.hh"
50 totalCacheLinesInMem(p->
system->memSize() / p->
system->cacheLineSize()),
51 totalPagesInMem(p->
system->memSize() / p->page_size),
59 "MemFootprintProbe expects cache line size is power of 2.");
61 "MemFootprintProbe expects page size parameter is power of 2");
69 using namespace Stats;
72 .
desc(
"Memory footprint at cache line granularity")
75 .
desc(
"Total memory footprint at cache line granularity since "
79 .
desc(
"Memory footprint at page granularity")
82 .
desc(
"Total memory footprint at page granularity since simulation "
96 assert(set->size() <= limit);
129 MemFootprintProbeParams::create()
bool isMemAddr(Addr addr) const
Check if a physical address is within a range of a memory that is part of the global address map...
const FlagsType nonan
Don't print if this is NAN.
Base class for memory system probes accepting Packet instances.
virtual void regStats()
Register statistics for this object.
Derived & flags(Flags _flags)
Set the flags and marks this stat to print at the end of simulation.
unsigned int cacheLineSize() const
Get the cache line size of the system.
void registerResetCallback(Callback *cb)
Register a callback that should be called whenever statistics are reset.
bool isPowerOf2(const T &n)
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
Derived & name(const std::string &name)
Set the name and marks this stat to print at the end of simulation.
int floorLog2(unsigned x)
virtual const std::string name() const
Derived & desc(const std::string &_desc)
Set the description and marks this stat to print at the end of simulation.
Helper template class to turn a simple class member function into a callback.
fatal_if(p->js_features.size() > 16,"Too many job slot feature registers specified (%i)\n", p->js_features.size())
const FlagsType nozero
Don't print if this is zero.
A struct to hold on to the essential fields from a packet, so that the packet and underlying request ...