Go to the documentation of this file.
38 #ifndef __MEM_PHYSICAL_HH__
39 #define __MEM_PHYSICAL_HH__
61 bool conf_table_reported,
bool in_addr_map,
bool kvm_map)
153 bool conf_table_reported,
154 bool in_addr_map,
bool kvm_map);
163 bool mmap_using_noreserve,
164 const std::string& shared_backstore);
271 #endif //__MEM_PHYSICAL_HH__
AddrRange range
The address range covered in the guest.
Basic support for object serialization.
BackingStoreEntry(AddrRange range, uint8_t *pmem, bool conf_table_reported, bool in_addr_map, bool kvm_map)
Create a backing store entry.
std::vector< BackingStoreEntry > getBackingStore() const
Get the pointers to the backing store for external host access.
void unserializeStore(CheckpointIn &cp)
Unserialize a specific backing store, identified by a section.
const std::string sharedBackstore
PhysicalMemory(const PhysicalMemory &)
PhysicalMemory & operator=(const PhysicalMemory &)
bool confTableReported
Whether this memory should be reported to the configuration table.
An abstract memory represents a contiguous block of physical memory, with an associated address range...
const std::string name() const
Return the name for debugging and for creation of sections for checkpointing.
void createBackingStore(AddrRange range, const std::vector< AbstractMemory * > &_memories, bool conf_table_reported, bool in_addr_map, bool kvm_map)
Create the memory region providing the backing store for a given address range that corresponds to a ...
bool kvmMap
Whether KVM should map this memory into the guest address space during acceleration.
void serializeStore(CheckpointOut &cp, unsigned int store_id, AddrRange range, uint8_t *pmem) const
Serialize a specific store.
The AddrRange class encapsulates an address range, and supports a number of tests to check if two ran...
uint64_t totalSize() const
Get the total physical memory size.
std::vector< BackingStoreEntry > backingStore
const bool mmapUsingNoReserve
void functionalAccess(PacketPtr pkt)
Perform an untimed memory read or write without changing anything but the memory itself.
bool inAddrMap
Whether this memory should appear in the global address map.
uint8_t * pmem
Pointer to the host memory this range maps to.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
The physical memory encapsulates all memories in the system and provides basic functionality for acce...
std::vector< AbstractMemory * > memories
A single entry for the backing store.
bool isMemAddr(Addr addr) const
Check if a physical address is within a range of a memory that is part of the global address map.
AddrRangeMap< AbstractMemory *, 1 > addrMap
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
void serialize(CheckpointOut &cp) const override
Serialize all the memories in the system.
std::ostream CheckpointOut
void access(PacketPtr pkt)
Perform an untimed memory access and update all the state (e.g.
AddrRangeList getConfAddrRanges() const
Get the memory ranges for all memories that are to be reported to the configuration table.
void unserialize(CheckpointIn &cp) override
Unserialize the memories in the system.
~PhysicalMemory()
Unmap all the backing store we have used.
Generated on Wed Sep 30 2020 14:02:13 for gem5 by doxygen 1.8.17