gem5  v20.1.0.0
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
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 48 of file memory_image.hh.

Constructor & Destructor Documentation

◆ MemoryImage() [1/3]

Loader::MemoryImage::MemoryImage ( )
inline

Definition at line 82 of file memory_image.hh.

◆ MemoryImage() [2/3]

Loader::MemoryImage::MemoryImage ( const Segment seg)
inline

Definition at line 84 of file memory_image.hh.

References addSegment(), and X86ISA::seg.

◆ MemoryImage() [3/3]

Loader::MemoryImage::MemoryImage ( std::initializer_list< Segment segs)
inline

Definition at line 89 of file memory_image.hh.

References addSegments().

Member Function Documentation

◆ addSegment()

void Loader::MemoryImage::addSegment ( const Segment seg)
inline

Definition at line 106 of file memory_image.hh.

References _segments, and X86ISA::seg.

Referenced by addSegments(), Loader::ElfObject::handleLoadableSegment(), and MemoryImage().

◆ addSegments()

void Loader::MemoryImage::addSegments ( std::initializer_list< Segment segs)
inline

Definition at line 112 of file memory_image.hh.

References addSegment(), and X86ISA::seg.

Referenced by MemoryImage().

◆ contains()

bool Loader::MemoryImage::contains ( Addr  addr) const
inline

Definition at line 149 of file memory_image.hh.

References _segments, addr, and X86ISA::seg.

◆ mask()

MemoryImage& Loader::MemoryImage::mask ( Addr  m)
inline

Definition at line 126 of file memory_image.hh.

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

◆ maxAddr()

Addr Loader::MemoryImage::maxAddr ( ) const
inline

◆ minAddr()

Addr Loader::MemoryImage::minAddr ( ) const
inline

Definition at line 140 of file memory_image.hh.

References _segments, MaxAddr, and X86ISA::seg.

Referenced by AbstractMemory::initState(), and KernelWorkload::KernelWorkload().

◆ move()

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().

◆ offset()

MemoryImage& Loader::MemoryImage::offset ( Addr  by)
inline

◆ segments()

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

Definition at line 100 of file memory_image.hh.

References _segments.

Referenced by Loader::ElfObject::ElfObject().

◆ write()

bool Loader::MemoryImage::write ( const PortProxy proxy) const

◆ writeSegment()

bool Loader::MemoryImage::writeSegment ( const Segment seg,
const PortProxy proxy 
) const
private

Definition at line 36 of file memory_image.cc.

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

Referenced by write().

Member Data Documentation

◆ _segments

std::vector<Segment> Loader::MemoryImage::_segments
private

Definition at line 95 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 Sep 30 2020 14:03:06 for gem5 by doxygen 1.8.17