Logo SoCRocket

Transaction-Level Modeling Framework for Space Applications

Public Member Functions | List of all members
trap::OSEmulator< issueWidth > Class Template Reference

#include <osEmulator.hpp>

Inheritance diagram for trap::OSEmulator< issueWidth >:
Collaboration diagram for trap::OSEmulator< issueWidth >:

Public Member Functions

 OSEmulator (ABIIf< issueWidth > &processorInstance)
 
std::set< std::string > getRegisteredFunctions ()
 
void initSysCalls (std::string execName, int group=0)
 
void initSysCalls (std::string execName, std::map< std::string, sc_time > latencies, int group=0)
 
bool newIssue (const issueWidth &curPC, const InstructionBase *curInstr) throw ()
 
bool emptyPipeline (const issueWidth &curPC) const throw ()
 
void reset ()
 Resets the whole concurrency emulator, reinitializing it and preparing it for a new simulation. More...
 
 ~OSEmulator ()
 
- Public Member Functions inherited from trap::ToolsIf< issueWidth >
virtual ~ToolsIf ()
 
- Public Member Functions inherited from trap::OSEmulatorBase
void set_program_args (const std::vector< std::string > args)
 
void correct_flags (int &val)
 
void set_environ (const std::string name, const std::string value)
 
void set_sysconf (const std::string name, int value)
 
void reset ()
 

Additional Inherited Members

- Public Attributes inherited from trap::OSEmulatorBase
std::map< std::string,
std::string > 
env
 
std::map< std::string, intsysconfmap
 
std::vector< std::string > programArgs
 
unsigned int heapPointer
 
- Static Public Attributes inherited from trap::OSEmulatorBase
static std::vector< unsigned intgroupIDs
 
static unsigned int programsCount = 0
 

Constructor & Destructor Documentation

template<class issueWidth>
trap::OSEmulator< issueWidth >::OSEmulator ( ABIIf< issueWidth > &  processorInstance)
inline
template<class issueWidth>
trap::OSEmulator< issueWidth >::~OSEmulator ( )
inline

References trap::OSEmulator< issueWidth >::reset().

Here is the call graph for this function:

Member Function Documentation

template<class issueWidth>
bool trap::OSEmulator< issueWidth >::emptyPipeline ( const issueWidth &  curPC) const
throw (
)
inlinevirtual

Method called to know if the instruction at the current address has to be skipped: if true the instruction has to be skipped, otherwise the instruction can be executed

Implements trap::ToolsIf< issueWidth >.

template<class issueWidth>
std::set<std::string> trap::OSEmulator< issueWidth >::getRegisteredFunctions ( )
inlinevirtual

Implements trap::OSEmulatorBase.

References trap::ELFFrontend::symbolAt().

Referenced by sc_main().

Here is the call graph for this function:

template<class issueWidth>
void trap::OSEmulator< issueWidth >::initSysCalls ( std::string  execName,
int  group = 0 
)
inline

Referenced by sc_main().

template<class issueWidth>
void trap::OSEmulator< issueWidth >::initSysCalls ( std::string  execName,
std::map< std::string, sc_time >  latencies,
int  group = 0 
)
inline
template<class issueWidth>
bool trap::OSEmulator< issueWidth >::newIssue ( const issueWidth &  curPC,
const InstructionBase curInstr 
)
throw (
)
inlinevirtual

Method called at every instruction issue, it returns true in case the instruction has to be skipped, false otherwise

Implements trap::ToolsIf< issueWidth >.

template<class issueWidth>
void trap::OSEmulator< issueWidth >::reset ( )
inline

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