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