Transaction-Level Modeling Framework for Space Applications
#include <osEmulator.hpp>
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, int > | sysconfmap |
std::vector< std::string > | programArgs |
unsigned int | heapPointer |
Static Public Attributes inherited from trap::OSEmulatorBase | |
static std::vector< unsigned int > | groupIDs |
static unsigned int | programsCount = 0 |
|
inline |
|
inline |
|
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 >.
|
inlinevirtual |
Implements trap::OSEmulatorBase.
References trap::ELFFrontend::symbolAt().
Referenced by sc_main().
|
inline |
Referenced by sc_main().
|
inline |
References d, trap::OSEmulatorBase::env, core.waf.cmake::f(), find(), trap::ABIIf< regWidth >::getCodeLimit(), trap::ELFFrontend::getInstance(), trap::OSEmulatorBase::groupIDs, h, trap::OSEmulatorBase::heapPointer, i, trap::OSEmulatorBase::programArgs, trap::OSEmulatorBase::programsCount, r, s, trap::OSEmulatorBase::sysconfmap, THROW_EXCEPTION, x, y, and z.
|
inlinevirtual |
Method called at every instruction issue, it returns true in case the instruction has to be skipped, false otherwise
Implements trap::ToolsIf< issueWidth >.
|
inline |
Resets the whole concurrency emulator, reinitializing it and preparing it for a new simulation.
References trap::OSEmulatorBase::env, trap::OSEmulatorBase::groupIDs, trap::OSEmulatorBase::heapPointer, trap::OSEmulatorBase::programArgs, trap::OSEmulatorBase::programsCount, and trap::OSEmulatorBase::sysconfmap.
Referenced by trap::OSEmulator< issueWidth >::~OSEmulator().