gem5 v24.0.0.0
Loading...
Searching...
No Matches
gem5::loader::MemoryImage Class Reference

#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
 
MemoryImagemove (std::function< Addr(Addr)> mapper)
 
MemoryImageoffset (Addr by)
 
MemoryImagemask (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
 

Detailed Description

Definition at line 52 of file memory_image.hh.

Constructor & Destructor Documentation

◆ MemoryImage() [1/3]

gem5::loader::MemoryImage::MemoryImage ( )
inline

Definition at line 86 of file memory_image.hh.

◆ MemoryImage() [2/3]

gem5::loader::MemoryImage::MemoryImage ( const Segment & seg)
inline

Definition at line 88 of file memory_image.hh.

References addSegment(), and gem5::X86ISA::seg.

◆ MemoryImage() [3/3]

gem5::loader::MemoryImage::MemoryImage ( std::initializer_list< Segment > segs)
inline

Definition at line 93 of file memory_image.hh.

References addSegments().

Member Function Documentation

◆ addSegment()

void gem5::loader::MemoryImage::addSegment ( const Segment & seg)
inline

◆ addSegments()

void gem5::loader::MemoryImage::addSegments ( std::initializer_list< Segment > segs)
inline

Definition at line 116 of file memory_image.hh.

References addSegment(), and gem5::X86ISA::seg.

Referenced by MemoryImage().

◆ contains()

bool gem5::loader::MemoryImage::contains ( Addr addr) const
inline

Definition at line 153 of file memory_image.hh.

References _segments, gem5::X86ISA::addr, and gem5::X86ISA::seg.

◆ mask()

MemoryImage & gem5::loader::MemoryImage::mask ( Addr m)
inline

Definition at line 130 of file memory_image.hh.

References gem5::ArmISA::a, gem5::ArmISA::m, and move().

◆ maxAddr()

◆ minAddr()

Addr gem5::loader::MemoryImage::minAddr ( ) const
inline

◆ move()

MemoryImage & gem5::loader::MemoryImage::move ( std::function< Addr(Addr)> mapper)

◆ offset()

◆ segments()

const std::vector< Segment > & gem5::loader::MemoryImage::segments ( ) const
inline

Definition at line 104 of file memory_image.hh.

References _segments.

Referenced by gem5::loader::ElfObject::ElfObject().

◆ write()

◆ writeSegment()

bool gem5::loader::MemoryImage::writeSegment ( const Segment & seg,
const PortProxy & proxy ) const
private

Definition at line 39 of file memory_image.cc.

References gem5::PortProxy::memsetBlob(), gem5::X86ISA::seg, and gem5::PortProxy::writeBlob().

Referenced by write().

Member Data Documentation

◆ _segments

std::vector<Segment> gem5::loader::MemoryImage::_segments
private

Definition at line 99 of file memory_image.hh.

Referenced by addSegment(), contains(), maxAddr(), minAddr(), move(), segments(), and write().


The documentation for this class was generated from the following files:

Generated on Tue Jun 18 2024 16:24:19 for gem5 by doxygen 1.11.0