gem5
v20.1.0.0
|
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< ImageFileData > | ImageFileDataPtr |
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) |
ObjectFile * | createObjectFile (const std::string &fname, bool raw) |
Variables | |
SymbolTable | debugSymbolTable |
Global unified debugging symbol table (for target). More... | |
typedef std::shared_ptr<ImageFileData> Loader::ImageFileDataPtr |
Definition at line 55 of file image_file_data.hh.
enum Loader::Arch |
Enumerator | |
---|---|
UnknownArch | |
SPARC64 | |
SPARC32 | |
Mips | |
X86_64 | |
I386 | |
Arm64 | |
Arm | |
Thumb | |
Power | |
Riscv64 | |
Riscv32 |
Definition at line 44 of file object_file.hh.
enum Loader::OpSys |
Enumerator | |
---|---|
UnknownOpSys | |
Tru64 | |
Linux | |
Solaris | |
LinuxArmOABI | |
FreeBSD |
Definition at line 59 of file object_file.hh.
ObjectFile * Loader::createObjectFile | ( | const std::string & | fname, |
bool | raw | ||
) |
Definition at line 61 of file object_file.cc.
References ArmISA::format.
Referenced by Loader::ElfObject::ElfObject(), ArmISA::FsWorkload::FsWorkload(), AbstractMemory::initState(), KernelWorkload::KernelWorkload(), main(), and mmapFunc().
|
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().
|
static |
Definition at line 46 of file image_file_data.cc.
References ArmISA::fd, and panic_if.
Referenced by Loader::ImageFileData::ImageFileData().
|
inlinestatic |
Definition at line 162 of file memory_image.hh.
References ccprintf(), X86ISA::os, and X86ISA::seg.
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.
dirname | base path for the interpreter |
Definition at line 98 of file elf_object.cc.
References fatal_if.
Referenced by init_loader().
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().