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;
118inline std::ostream& {
…}
Abstract superclass for simulation objects.
void deallocate(Addr address)
AbstractCacheEntry ** m_entries
const AddrRangeList addrRanges
The address range for which the directory responds.
RubySystem * m_ruby_system
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)
Copyright (c) 2024 Arm Limited All rights reserved.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
std::ostream & operator<<(std::ostream &os, const BaseSemihosting::InPlaceArg &ipa)