gem5  v20.1.0.0
Public Member Functions | List of all members
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 (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 185 of file process.hh.

Constructor & Destructor Documentation

◆ Loader() [1/2]

Process::Loader::Loader ( )

Definition at line 87 of file process.cc.

◆ Loader() [2/2]

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

◆ ~Loader()

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

Definition at line 194 of file process.hh.

Member Function Documentation

◆ load()

virtual Process* Process::Loader::load ( 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 Process::Loader::operator= ( const Loader )
delete

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

Generated on Wed Sep 30 2020 14:02:29 for gem5 by doxygen 1.8.17