gem5  v21.1.0.2
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 182 of file process.hh.

Constructor & Destructor Documentation

◆ Loader() [1/2]

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

Definition at line 86 of file process.cc.

◆ Loader() [2/2]

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

◆ ~Loader()

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

Definition at line 191 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 Tue Sep 21 2021 12:27:59 for gem5 by doxygen 1.8.17