gem5  v20.1.0.0
Classes | Typedefs | Enumerations | Functions | Variables
Loader Namespace Reference

Classes

class  DtbFile
 
class  ElfObject
 
class  ElfObjectFormat
 
class  ImageFile
 
class  ImageFileData
 
class  MemoryImage
 
class  ObjectFile
 
class  ObjectFileFormat
 
class  RawImage
 
struct  Symbol
 
class  SymbolTable
 

Typedefs

typedef std::shared_ptr< ImageFileDataImageFileDataPtr
 

Enumerations

enum  Arch {
  UnknownArch, SPARC64, SPARC32, Mips,
  X86_64, I386, Arm64, Arm,
  Thumb, Power, Riscv64, Riscv32
}
 
enum  OpSys {
  UnknownOpSys, Tru64, Linux, Solaris,
  LinuxArmOABI, FreeBSD
}
 

Functions

void setInterpDir (const std::string &dirname)
 This is the interface for setting up a base path for the elf interpreter. More...
 
static bool hasGzipMagic (int fd)
 
static int doGzipLoad (int fd)
 
static std::ostream & operator<< (std::ostream &os, const MemoryImage::Segment &seg)
 
ObjectFilecreateObjectFile (const std::string &fname, bool raw)
 

Variables

SymbolTable debugSymbolTable
 Global unified debugging symbol table (for target). More...
 

Typedef Documentation

◆ ImageFileDataPtr

typedef std::shared_ptr<ImageFileData> Loader::ImageFileDataPtr

Definition at line 55 of file image_file_data.hh.

Enumeration Type Documentation

◆ Arch

Enumerator
UnknownArch 
SPARC64 
SPARC32 
Mips 
X86_64 
I386 
Arm64 
Arm 
Thumb 
Power 
Riscv64 
Riscv32 

Definition at line 44 of file object_file.hh.

◆ OpSys

Enumerator
UnknownOpSys 
Tru64 
Linux 
Solaris 
LinuxArmOABI 
FreeBSD 

Definition at line 59 of file object_file.hh.

Function Documentation

◆ createObjectFile()

ObjectFile * Loader::createObjectFile ( const std::string &  fname,
bool  raw 
)

◆ doGzipLoad()

static int Loader::doGzipLoad ( int  fd)
static

Definition at line 55 of file image_file_data.cc.

References ArmISA::fd, MipsISA::p, MipsISA::r, and warn.

Referenced by Loader::ImageFileData::ImageFileData().

◆ hasGzipMagic()

static bool Loader::hasGzipMagic ( int  fd)
static

Definition at line 46 of file image_file_data.cc.

References ArmISA::fd, and panic_if.

Referenced by Loader::ImageFileData::ImageFileData().

◆ operator<<()

static std::ostream& Loader::operator<< ( std::ostream &  os,
const MemoryImage::Segment seg 
)
inlinestatic

Definition at line 162 of file memory_image.hh.

References ccprintf(), X86ISA::os, and X86ISA::seg.

◆ setInterpDir()

void Loader::setInterpDir ( const std::string &  dirname)

This is the interface for setting up a base path for the elf interpreter.

This is needed when loading a cross-compiled (guest ISA != host ISA) dynamically linked application.

Parameters
dirnamebase path for the interpreter

Definition at line 98 of file elf_object.cc.

References fatal_if.

Referenced by init_loader().

Variable Documentation

◆ debugSymbolTable

SymbolTable Loader::debugSymbolTable

Global unified debugging symbol table (for target).

Conceptually there should be one of these per System object for full system, and per Process object for non-full-system, but so far one big global one has worked well enough.

Definition at line 47 of file symtab.cc.

Referenced by PseudoInst::addsymbol(), ArmISA::FsWorkload::FsWorkload(), ArmISA::FsFreebsd::initState(), ArmISA::FsLinux::initState(), AbstractMemory::initState(), X86ISA::PageFault::invoke(), KernelWorkload::KernelWorkload(), mmapFunc(), Process::Process(), BaseCPU::traceFunctionsInternal(), and Trace::ExeTracerRecord::traceInst().


Generated on Wed Sep 30 2020 14:03:06 for gem5 by doxygen 1.8.17