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>

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

Constructor & Destructor Documentation

◆ MemoryImage() [1/3]

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

Definition at line 87 of file memory_image.hh.

◆ MemoryImage() [2/3]

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

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)
inline

Definition at line 94 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 117 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 154 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 131 of file memory_image.hh.

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

◆ maxAddr()

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

◆ minAddr()

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

◆ move()

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

◆ offset()

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

◆ segments()

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

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
private

Definition at line 40 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 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