Go to the documentation of this file.
46 #ifndef __MEM_ABSTRACT_MEMORY_HH__
47 #define __MEM_ABSTRACT_MEMORY_HH__
51 #include "params/AbstractMemory.hh"
84 assert(req->hasContextId());
150 bool isLLSC = pkt->
isLLSC();
152 req->setExtraData(0);
338 #endif //__MEM_ABSTRACT_MEMORY_HH__
Stats::Vector bytesRead
Number of total bytes read from this memory.
virtual ~AbstractMemory()
bool checkLockedAddrList(PacketPtr pkt)
uint8_t * toHostAddr(Addr addr) const
Transform a gem5 address space address into its physical counterpart in the host address space.
AddrRange getAddrRange() const
Get the address range.
const std::list< LockedAddr > & getLockedAddrList() const
Get the list of locked addresses to allow checkpointing.
Stats::Formula bwInstRead
Read bandwidth from this memory.
void setBackingStore(uint8_t *pmem_addr)
Set the host memory backing store to be used by this memory controller.
Locked address class that represents a physical address and a context id.
int ContextID
Globally unique thread context ID.
System * _system
Pointer to the System object.
std::shared_ptr< Request > RequestPtr
RequestPtr req
A pointer to the original request.
const ContextID InvalidContextID
void addLockedAddr(LockedAddr addr)
Add a locked address to allow for checkpointing.
A vector of scalar stats.
void functionalAccess(PacketPtr pkt)
Perform an untimed memory read or write without changing anything but the memory itself.
The ClockedObject class extends the SimObject with a clock and accessor functions to relate ticks to ...
Stats::Formula bwWrite
Write bandwidth from this memory.
const bool confTableReported
An abstract memory represents a contiguous block of physical memory, with an associated address range...
Stats::Formula bwRead
Read bandwidth from this memory.
AbstractMemory::MemStats stats
bool isConfReported() const
Should this memory be passed to the kernel and part of the OS physical memory layout.
AbstractMemory(const AbstractMemory &)
void access(PacketPtr pkt)
Perform an untimed memory access and update all the state (e.g.
void trackLoadLocked(PacketPtr pkt)
The AddrRange class encapsulates an address range, and supports a number of tests to check if two ran...
Stats::Vector numWrites
Number of write requests.
uint64_t size() const
Get the memory size.
AbstractMemory & operator=(const AbstractMemory &)
Stats::Vector numReads
Number of read requests.
const Params * params() const
Stats::Vector bytesInstRead
Number of instruction bytes read from this memory.
MemStats(AbstractMemory &mem)
const AbstractMemory & mem
const ContextID contextId
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
static const Addr Addr_Mask
static Addr mask(Addr paddr)
bool isNull() const
See if this is a null memory that should never store data and always return zero.
bool isInAddrMap() const
Some memories are used as shadow memories or should for other reasons not be part of the global addre...
Addr start() const
Get the start address of the range.
std::list< LockedAddr > lockedAddrList
const SimObjectParams * _params
Cached copy of the object parameters.
Addr start() const
Get the start address.
bool writeOK(PacketPtr pkt)
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
bool isKvmMap() const
When shadow memories are in use, KVM may want to make one or the other, but cannot map both into the ...
bool matchesContext(const RequestPtr &req) const
AbstractMemoryParams Params
void system(System *sys)
Set the system pointer on this memory This can't be done via a python parameter because the system ne...
System * system() const
read the system pointer Implemented for completeness with the setter
void initState() override
initState() is called on each SimObject when not restoring from a checkpoint.
Addr size() const
Get the size of the address range.
Stats::Vector bytesWritten
Number of bytes written to this memory.
LockedAddr(Addr _addr, int _cid)
LockedAddr(const RequestPtr &req)
Stats::Vector numOther
Number of other requests.
Stats::Formula bwTotal
Total bandwidth from this memory.
void regStats() override
Callback to set stat parameters.
Generated on Wed Sep 30 2020 14:02:12 for gem5 by doxygen 1.8.17