35 #include "debug/RubyCache.hh"
36 #include "debug/RubyStats.hh"
52 if (p->system->getArch() == Arch::X86ISA && p->size > 0xc0000000){
129 DPRINTF(RubyCache,
"Looking up address: %#x\n", address);
141 DPRINTF(RubyCache,
"Looking up address: %#x\n", address);
158 DPRINTF(RubyStats,
"Recorded statistic: %s\n",
159 DirectoryRequestType_to_string(requestType));
163 RubyDirectoryMemoryParams::create()
void init()
init() is called after all C++ SimObjects have been created and all ports are connected.
AbstractEntry ** m_entries
static int m_num_directories_bits
Addr bitSelect(Addr addr, unsigned int small, unsigned int big)
static int m_numa_high_bit
RubyDirectoryMemoryParams Params
Addr bitRemove(Addr addr, unsigned int small, unsigned int big)
static int m_num_directories
static uint32_t getMemorySizeBits()
AbstractEntry * allocate(Addr address, AbstractEntry *new_entry)
void recordRequestType(DirectoryRequestType requestType)
uint64_t mapAddressToLocalIdx(Addr address)
bool isPresent(Addr address)
static uint64_t mapAddressToDirectoryVersion(Addr address)
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
void print(std::ostream &out) const
int floorLog2(unsigned x)
void changePermission(AccessPermission new_perm)
DirectoryMemory(const Params *p)
AbstractEntry * lookup(Addr address)
static uint32_t getBlockSizeBits()
static uint32_t getBlockSizeBytes()
Abstract superclass for simulation objects.