29#ifndef __MEM_RUBY_STRUCTURES_PERSISTENTTABLE_HH__
30#define __MEM_RUBY_STRUCTURES_PERSISTENTTABLE_HH__
33#include <unordered_map>
38#include "mem/ruby/protocol/AccessType.hh"
50 void print(std::ostream& out)
const {}
84 void print(std::ostream& out)
const;
94 typedef std::unordered_map<Addr, PersistentTableEntry>
AddressMap;
104inline std::ostream& {
…}
112inline std::ostream& {
…}
NetDest m_request_to_write
void print(std::ostream &out) const
void persistentRequestLock(Addr address, MachineID locker, AccessType type)
void persistentRequestUnlock(Addr address, MachineID unlocker)
PersistentTable(const PersistentTable &obj)
int countReadStarvingForAddress(Addr addr) const
AccessType typeOfSmallest(Addr address) const
MachineID findSmallest(Addr address) const
bool isLocked(Addr addr) const
void markEntries(Addr address)
std::unordered_map< Addr, PersistentTableEntry > AddressMap
bool okToIssueStarving(Addr address, MachineID machID) const
void print(std::ostream &out) const
int countStarvingForAddress(Addr addr) const
Addr makeLineAddress(Addr addr) const
void setBlockSize(int block_size)
PersistentTable & operator=(const PersistentTable &obj)
static constexpr std::enable_if_t< std::is_integral_v< T >, int > floorLog2(T x)
Addr makeLineAddress(Addr addr, int cacheLineBits)
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)