41#ifndef __MEM_RUBY_STRUCTURES_DIRECTORYMEMORY_HH__
42#define __MEM_RUBY_STRUCTURES_DIRECTORYMEMORY_HH__
49#include "mem/ruby/protocol/DirectoryRequestType.hh"
51#include "params/RubyDirectoryMemory.hh"
63 typedef RubyDirectoryMemoryParams
Params;
91 void print(std::ostream& out)
const;
Abstract superclass for simulation objects.
void deallocate(Addr address)
AbstractCacheEntry ** m_entries
const AddrRangeList addrRanges
The address range for which the directory responds.
void print(std::ostream &out) const
DirectoryMemory(const DirectoryMemory &obj)
void init()
init() is called after all C++ SimObjects have been created and all ports are connected.
bool isPresent(Addr address)
RubyDirectoryMemoryParams Params
AbstractCacheEntry * lookup(Addr address)
AbstractCacheEntry * allocate(Addr address, AbstractCacheEntry *new_entry)
DirectoryMemory & operator=(const DirectoryMemory &obj)
uint64_t mapAddressToLocalIdx(Addr address)
Return the index in the directory based on an address.
void recordRequestType(DirectoryRequestType requestType)
DirectoryMemory(const Params &p)
std::ostream & operator<<(std::ostream &os, const BoolVec &myvector)
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.