gem5 v24.0.0.0
|
#include <memory_image.hh>
Classes | |
struct | Segment |
Public Member Functions | |
MemoryImage () | |
MemoryImage (const Segment &seg) | |
MemoryImage (std::initializer_list< Segment > segs) | |
const std::vector< Segment > & | segments () const |
void | addSegment (const Segment &seg) |
void | addSegments (std::initializer_list< Segment > segs) |
bool | write (const PortProxy &proxy) const |
MemoryImage & | move (std::function< Addr(Addr)> mapper) |
MemoryImage & | offset (Addr by) |
MemoryImage & | mask (Addr m) |
Addr | maxAddr () const |
Addr | minAddr () const |
bool | contains (Addr addr) const |
Private Member Functions | |
bool | writeSegment (const Segment &seg, const PortProxy &proxy) const |
Private Attributes | |
std::vector< Segment > | _segments |
Definition at line 52 of file memory_image.hh.
|
inline |
Definition at line 86 of file memory_image.hh.
|
inline |
Definition at line 88 of file memory_image.hh.
References addSegment(), and gem5::X86ISA::seg.
|
inline |
Definition at line 93 of file memory_image.hh.
References addSegments().
|
inline |
Definition at line 110 of file memory_image.hh.
References _segments, and gem5::X86ISA::seg.
Referenced by addSegments(), gem5::loader::ElfObject::handleLoadableSegment(), and MemoryImage().
|
inline |
Definition at line 116 of file memory_image.hh.
References addSegment(), and gem5::X86ISA::seg.
Referenced by MemoryImage().
|
inline |
Definition at line 153 of file memory_image.hh.
References _segments, gem5::X86ISA::addr, and gem5::X86ISA::seg.
|
inline |
Definition at line 130 of file memory_image.hh.
References gem5::ArmISA::a, gem5::ArmISA::m, and move().
|
inline |
Definition at line 135 of file memory_image.hh.
References _segments, and gem5::X86ISA::seg.
Referenced by gem5::ArmProcess32::ArmProcess32(), gem5::ArmProcess64::ArmProcess64(), gem5::X86ISA::I386Process::I386Process(), gem5::memory::AbstractMemory::initState(), gem5::KernelWorkload::KernelWorkload(), gem5::MipsProcess::MipsProcess(), gem5::PowerProcess::PowerProcess(), gem5::RiscvProcess32::RiscvProcess32(), gem5::RiscvProcess64::RiscvProcess64(), gem5::Sparc32Process::Sparc32Process(), gem5::Sparc64Process::Sparc64Process(), and gem5::X86ISA::X86_64Process::X86_64Process().
|
inline |
Definition at line 144 of file memory_image.hh.
References _segments, gem5::MaxAddr, and gem5::X86ISA::seg.
Referenced by gem5::memory::AbstractMemory::initState(), and gem5::KernelWorkload::KernelWorkload().
MemoryImage & gem5::loader::MemoryImage::move | ( | std::function< Addr(Addr)> | mapper | ) |
Definition at line 62 of file memory_image.cc.
References _segments, and gem5::X86ISA::seg.
Referenced by gem5::KernelWorkload::initState(), gem5::KernelWorkload::KernelWorkload(), mask(), and offset().
|
inline |
Definition at line 125 of file memory_image.hh.
References gem5::ArmISA::a, and move().
Referenced by gem5::KernelWorkload::initState(), gem5::memory::AbstractMemory::initState(), gem5::RiscvISA::BootloaderKernelWorkload::loadBootloader(), gem5::RiscvISA::BootloaderKernelWorkload::loadKernel(), and gem5::loader::ElfObject::updateBias().
|
inline |
Definition at line 104 of file memory_image.hh.
References _segments.
Referenced by gem5::loader::ElfObject::ElfObject().
bool gem5::loader::MemoryImage::write | ( | const PortProxy & | proxy | ) | const |
Definition at line 53 of file memory_image.cc.
References _segments, gem5::X86ISA::seg, and writeSegment().
Referenced by gem5::PowerProcess::argsInit(), gem5::ArmISA::FsWorkload::initState(), gem5::KernelWorkload::initState(), gem5::memory::AbstractMemory::initState(), gem5::Process::initState(), gem5::RiscvISA::BareMetal::initState(), gem5::RiscvISA::BootloaderKernelWorkload::loadBootloader(), and gem5::RiscvISA::BootloaderKernelWorkload::loadKernel().
|
private |
Definition at line 39 of file memory_image.cc.
References gem5::PortProxy::memsetBlob(), gem5::X86ISA::seg, and gem5::PortProxy::writeBlob().
Referenced by write().
|
private |
Definition at line 99 of file memory_image.hh.
Referenced by addSegment(), contains(), maxAddr(), minAddr(), move(), segments(), and write().