|
gem5
v21.0.1.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) |
| const char * | archToString (Arch arch) |
| const char * | opSysToString (OpSys op_sys) |
| 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 61 of file object_file.hh.
| const char * Loader::archToString | ( | Arch | arch | ) |
| ObjectFile * Loader::createObjectFile | ( | const std::string & | fname, |
| bool | raw | ||
| ) |
Definition at line 115 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.
| const char * Loader::opSysToString | ( | OpSys | op_sys | ) |
Definition at line 75 of file object_file.cc.
References FreeBSD, Linux, LinuxArmOABI, panic, Solaris, Tru64, and UnknownOpSys.
| 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 40 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().