gem5
v20.1.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 48 of file memory_image.hh.
|
inline |
Definition at line 82 of file memory_image.hh.
|
inline |
Definition at line 84 of file memory_image.hh.
References addSegment(), and X86ISA::seg.
|
inline |
Definition at line 89 of file memory_image.hh.
References addSegments().
|
inline |
Definition at line 106 of file memory_image.hh.
References _segments, and X86ISA::seg.
Referenced by addSegments(), Loader::ElfObject::handleLoadableSegment(), and MemoryImage().
|
inline |
Definition at line 112 of file memory_image.hh.
References addSegment(), and X86ISA::seg.
Referenced by MemoryImage().
|
inline |
Definition at line 149 of file memory_image.hh.
References _segments, addr, and X86ISA::seg.
|
inline |
Definition at line 126 of file memory_image.hh.
|
inline |
Definition at line 131 of file memory_image.hh.
References _segments, and X86ISA::seg.
Referenced by ArmProcess32::ArmProcess32(), ArmProcess64::ArmProcess64(), X86ISA::I386Process::I386Process(), AbstractMemory::initState(), KernelWorkload::KernelWorkload(), MipsProcess::MipsProcess(), PowerProcess::PowerProcess(), RiscvProcess32::RiscvProcess32(), RiscvProcess64::RiscvProcess64(), Sparc32Process::Sparc32Process(), Sparc64Process::Sparc64Process(), and X86ISA::X86_64Process::X86_64Process().
|
inline |
Definition at line 140 of file memory_image.hh.
References _segments, MaxAddr, and X86ISA::seg.
Referenced by AbstractMemory::initState(), and KernelWorkload::KernelWorkload().
MemoryImage & Loader::MemoryImage::move | ( | std::function< Addr(Addr)> | mapper | ) |
Definition at line 59 of file memory_image.cc.
References _segments, and X86ISA::seg.
Referenced by KernelWorkload::initState(), KernelWorkload::KernelWorkload(), mask(), and offset().
|
inline |
Definition at line 121 of file memory_image.hh.
References ArmISA::a, and move().
Referenced by KernelWorkload::initState(), AbstractMemory::initState(), Loader::MemoryImage::Segment::Segment(), and Loader::ElfObject::updateBias().
|
inline |
Definition at line 100 of file memory_image.hh.
References _segments.
Referenced by Loader::ElfObject::ElfObject().
bool Loader::MemoryImage::write | ( | const PortProxy & | proxy | ) | const |
Definition at line 50 of file memory_image.cc.
References _segments, X86ISA::seg, and writeSegment().
Referenced by PowerProcess::argsInit(), RiscvISA::BareMetal::initState(), Process::initState(), KernelWorkload::initState(), ArmISA::FsWorkload::initState(), and AbstractMemory::initState().
|
private |
Definition at line 36 of file memory_image.cc.
References PortProxy::memsetBlob(), X86ISA::seg, and PortProxy::writeBlob().
Referenced by write().
|
private |
Definition at line 95 of file memory_image.hh.
Referenced by addSegment(), contains(), maxAddr(), minAddr(), move(), segments(), and write().