gem5  v22.1.0.0
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
gem5::loader::MemoryImage Class Reference

#include <memory_image.hh>


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 53 of file memory_image.hh.

Constructor & Destructor Documentation

◆ MemoryImage() [1/3]

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

Definition at line 87 of file memory_image.hh.

◆ MemoryImage() [2/3]

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

Definition at line 89 of file memory_image.hh.

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

◆ MemoryImage() [3/3]

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

Definition at line 94 of file memory_image.hh.

References addSegments().

Member Function Documentation

◆ addSegment()

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

◆ addSegments()

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

Definition at line 117 of file memory_image.hh.

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

Referenced by MemoryImage().

◆ contains()

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

Definition at line 154 of file memory_image.hh.

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

◆ mask()

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

Definition at line 131 of file memory_image.hh.

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

◆ maxAddr()

Addr gem5::loader::MemoryImage::maxAddr ( ) const

◆ minAddr()

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

◆ move()

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

◆ offset()

MemoryImage& gem5::loader::MemoryImage::offset ( Addr  by)

◆ segments()

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

Definition at line 105 of file memory_image.hh.

References _segments.

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

◆ write()

bool gem5::loader::MemoryImage::write ( const PortProxy proxy) const

◆ writeSegment()

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

Definition at line 40 of file

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

Definition at line 100 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 Wed Dec 21 2022 10:24:15 for gem5 by doxygen 1.9.1