ETISS 0.8.0
Extendable Translating Instruction Set Simulator (version 0.8.0)
Public Member Functions | List of all members
etiss::plugin::fault::SwitchSystem Class Referenceabstract

#include <SwitchSystem.h>

Inheritance diagram for etiss::plugin::fault::SwitchSystem:
Inheritance graph
[legend]
Collaboration diagram for etiss::plugin::fault::SwitchSystem:
Collaboration graph
[legend]

Public Member Functions

virtual bool interruptWrite (unsigned bit, bool value)=0
 gets called whenever an external write to the interrrupt vector takes place More...
 
int32_t iread (uint64_t &time_ps, uint64_t addr, uint8_t *buf, uint32_t len)
 
int32_t iwrite (uint64_t &time_ps, uint64_t addr, uint8_t *buf, uint32_t len)
 
int32_t dread (uint64_t &time_ps, uint64_t addr, uint8_t *buf, uint32_t len)
 
int32_t dwrite (uint64_t &time_ps, uint64_t addr, uint8_t *buf, uint32_t len)
 
- Public Member Functions inherited from etiss::InterruptListenerPlugin
 InterruptListenerPlugin ()
 
virtual ~InterruptListenerPlugin ()
 
- Public Member Functions inherited from etiss::Plugin
virtual ~Plugin ()
 
unsigned getType ()
 
InterruptListenerPlugingetInterruptListenerPlugin ()
 
CoroutinePlugingetCoroutinePlugin ()
 
SystemWrapperPlugingetSystemWrapperPlugin ()
 
RegisterDevicePlugingetRegisterDevicePlugin ()
 
TranslationPlugingetTranslationPlugin ()
 
std::string getPluginName () const
 
const std::string & getLastAssignedCoreName ()
 
std::string toString () const
 
- Public Member Functions inherited from etiss::ToString
 ToString ()
 
virtual ~ToString ()
 

Additional Inherited Members

- Static Public Attributes inherited from etiss::Plugin
static const unsigned INTERRUPTLISTENER = 1 << 0
 access to translated code More...
 
static const unsigned COROUTINE = 1 << 1
 callback after execution of each translated block More...
 
static const unsigned SYSTEMWRAPPER = 1 << 2
 can wrap/change ETISS_System structure at execution start More...
 
static const unsigned REGISTERDEVICE
 gets noticed of changes to special registers (e.g. mmu register etc. [depends on architecture]) More...
 
static const unsigned TRANSLATION
 access to translated code during translation phase or when instruction tree is built More...
 
- Protected Member Functions inherited from etiss::Plugin
 Plugin (unsigned type=0)
 
virtual std::string _getPluginName () const =0
 
virtual void init (ETISS_CPU *cpu, ETISS_System *system, CPUArch *arch)
 this function is called before the plugin is used in the cpu execution loop (etiss::CPUCore::execute). More...
 
virtual void cleanup ()
 this function is called after cpu execution loop (etiss::CPUCore::execute) finished. More...
 
void setCorrespondingCPUCoreName (std::string name)
 
virtual void addedToCPUCore (etiss::CPUCore *core)
 called as soon a plugin has been added to its CPUCore. More...
 
virtual void removedFromCPUCore (etiss::CPUCore *core)
 called as soon a plugin has been removed from its CPUCore. More...
 
- Protected Attributes inherited from etiss::Plugin
ETISS_CPUplugin_cpu_
 holds a pointer to the cpu structure. will be set before init call and after cleanup call More...
 
ETISS_Systemplugin_system_
 holds a pointer to the system structure. More...
 
CPUArchplugin_arch_
 holds a pointer to the CPUArch instance. will be set before init call and after cleanup call More...
 
CPUCoreplugin_core_
 holds a pointer to the associated CPUCore instance. More...
 

Detailed Description

Definition at line 56 of file SwitchSystem.h.

Member Function Documentation

◆ dread()

int32_t SwitchSystem::dread ( uint64_t time_ps,
uint64_t  addr,
uint8_t buf,
uint32_t  len 
)

◆ dwrite()

int32_t SwitchSystem::dwrite ( uint64_t time_ps,
uint64_t  addr,
uint8_t buf,
uint32_t  len 
)

◆ interruptWrite()

virtual bool etiss::plugin::fault::SwitchSystem::interruptWrite ( unsigned  bit,
bool  value 
)
pure virtual

gets called whenever an external write to the interrrupt vector takes place

Returns
true if the interrupt bit is handled by this plugin and may not be passed on to the cpu

Implements etiss::InterruptListenerPlugin.

◆ iread()

int32_t SwitchSystem::iread ( uint64_t time_ps,
uint64_t  addr,
uint8_t buf,
uint32_t  len 
)

◆ iwrite()

int32_t SwitchSystem::iwrite ( uint64_t time_ps,
uint64_t  addr,
uint8_t buf,
uint32_t  len 
)

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