29 #ifndef __MEM_RUBY_STRUCTURES_DIRECTORYMEMORY_HH__
30 #define __MEM_RUBY_STRUCTURES_DIRECTORYMEMORY_HH__
35 #include "mem/protocol/DirectoryRequestType.hh"
38 #include "params/RubyDirectoryMemory.hh"
44 typedef RubyDirectoryMemoryParams
Params;
59 void print(std::ostream& out)
const;
90 #endif // __MEM_RUBY_STRUCTURES_DIRECTORYMEMORY_HH__
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
static int m_numa_high_bit
RubyDirectoryMemoryParams Params
static int m_num_directories
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
std::ostream & operator<<(std::ostream &out, const DirectoryMemory &obj)
DirectoryMemory(const Params *p)
AbstractEntry * lookup(Addr address)
DirectoryMemory & operator=(const DirectoryMemory &obj)
Abstract superclass for simulation objects.