ETISS 0.8.0
Extendable Translating Instruction Set Simulator (version 0.8.0)
Public Member Functions | Public Attributes | Protected Member Functions | List of all members
etiss::mm::DMMUWrapper Class Reference

#include <DMMUWrapper.h>

Inheritance diagram for etiss::mm::DMMUWrapper:
Inheritance graph
[legend]
Collaboration diagram for etiss::mm::DMMUWrapper:
Collaboration graph
[legend]

Public Member Functions

 DMMUWrapper (std::shared_ptr< MMU > mmu)
 
virtual ~DMMUWrapper ()
 
ETISS_Systemwrap (ETISS_CPU *cpu, ETISS_System *system)
 SystemWrapperPlugin interface to wrap around original ETISS_System. More...
 
ETISS_Systemunwrap (ETISS_CPU *cpu, ETISS_System *system)
 SystemWrapperPlugin interface to unwrap original ETISS_System. More...
 
- Public Member Functions inherited from etiss::SystemWrapperPlugin
 SystemWrapperPlugin ()
 
virtual ~SystemWrapperPlugin ()
 
- 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 ()
 

Public Attributes

std::shared_ptr< MMUmmu_
 

Protected Member Functions

std::string _getPluginName () const
 
- Protected Member Functions inherited from etiss::Plugin
 Plugin (unsigned type=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...
 

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 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 66 of file DMMUWrapper.h.

Constructor & Destructor Documentation

◆ DMMUWrapper()

etiss::mm::DMMUWrapper::DMMUWrapper ( std::shared_ptr< MMU mmu)
explicit

Definition at line 173 of file DMMUWrapper.cpp.

◆ ~DMMUWrapper()

virtual etiss::mm::DMMUWrapper::~DMMUWrapper ( )
inlinevirtual

Definition at line 72 of file DMMUWrapper.h.

Member Function Documentation

◆ _getPluginName()

std::string etiss::mm::DMMUWrapper::_getPluginName ( ) const
protectedvirtual

Implements etiss::Plugin.

Definition at line 210 of file DMMUWrapper.cpp.

References mmu_.

◆ unwrap()

ETISS_System * etiss::mm::DMMUWrapper::unwrap ( ETISS_CPU cpu,
ETISS_System system 
)
virtual

SystemWrapperPlugin interface to unwrap original ETISS_System.

Implements etiss::SystemWrapperPlugin.

Definition at line 203 of file DMMUWrapper.cpp.

◆ wrap()

ETISS_System * etiss::mm::DMMUWrapper::wrap ( ETISS_CPU cpu,
ETISS_System system 
)
virtual

Member Data Documentation

◆ mmu_

std::shared_ptr<MMU> etiss::mm::DMMUWrapper::mmu_

Definition at line 84 of file DMMUWrapper.h.

Referenced by _getPluginName(), and wrap().


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