gem5  v22.1.0.0
Public Member Functions | List of all members
gem5::Process::Loader Class Referenceabstract

Each instance of a Loader subclass will have a chance to try to load an object file when tryLoaders is called. More...

#include <process.hh>

Public Member Functions

 Loader ()
 
 Loader (const Loader &)=delete
 
void operator= (const Loader &)=delete
 
virtual ~Loader ()
 
virtual Processload (const ProcessParams &params, loader::ObjectFile *obj_file)=0
 Each subclass needs to implement this method. More...
 

Detailed Description

Each instance of a Loader subclass will have a chance to try to load an object file when tryLoaders is called.

If they can't because they aren't compatible with it (wrong arch, wrong OS, etc), then they silently fail by returning nullptr so other loaders can try.

Definition at line 196 of file process.hh.

Constructor & Destructor Documentation

◆ Loader() [1/2]

gem5::Process::Loader::Loader ( )

Definition at line 87 of file process.cc.

◆ Loader() [2/2]

gem5::Process::Loader::Loader ( const Loader )
delete

◆ ~Loader()

virtual gem5::Process::Loader::~Loader ( )
inlinevirtual

Definition at line 205 of file process.hh.

Member Function Documentation

◆ load()

virtual Process* gem5::Process::Loader::load ( const ProcessParams &  params,
loader::ObjectFile obj_file 
)
pure virtual

Each subclass needs to implement this method.

If the loader is compatible with the passed in object file, it should return the created Process object corresponding to it. If not, it should fail silently and return nullptr. If there's a non-compatibliity related error like file IO errors, etc., those should fail non-silently with a panic or fail as normal.

◆ operator=()

void gem5::Process::Loader::operator= ( const Loader )
delete

The documentation for this class was generated from the following files:

Generated on Wed Dec 21 2022 10:23:30 for gem5 by doxygen 1.9.1