|
ETISS 0.11.2
ExtendableTranslatingInstructionSetSimulator(version0.11.2)
|
#include <MemoryDevice.h>


Public Member Functions | |
| MemoryDeviceMapper (std::string name) | |
| virtual | ~MemoryDeviceMapper () |
| virtual ETISS_System * | wrap (ETISS_CPU *cpu, ETISS_System *system) |
| change/wrap the passed system structure. | |
| virtual ETISS_System * | unwrap (ETISS_CPU *cpu, ETISS_System *system) |
| undo wrap function call this function will be called AFTER etiss::Plugin::cleanup | |
| etiss::int32 | iread (ETISS_System *sys, ETISS_CPU *cpu, etiss::uint64 addr, etiss::uint32 len) |
| etiss::int32 | iwrite (ETISS_System *sys, ETISS_CPU *cpu, etiss::uint64 addr, etiss::uint8 *buf, etiss::uint32 len) |
| etiss::int32 | dread (ETISS_System *sys, ETISS_CPU *cpu, etiss::uint64 addr, etiss::uint8 *buf, etiss::uint32 len) |
| etiss::int32 | dwrite (ETISS_System *sys, ETISS_CPU *cpu, etiss::uint64 addr, etiss::uint8 *buf, etiss::uint32 len) |
| etiss::int32 | dbg_read (ETISS_System *sys, etiss::uint64 addr, etiss::uint8 *buf, etiss::uint32 len) |
| etiss::int32 | dbg_write (ETISS_System *sys, etiss::uint64 addr, etiss::uint8 *buf, etiss::uint32 len) |
| const std::vector< etiss::System * > & | devices () |
| virtual int | map (bool ibus, bool read, bool dbg, uint64_t addr, uint8_t *buf, unsigned len, unsigned &newlen) |
| virtual bool | mount (etiss::System *sys, uint64_t mask, uint64_t addr) |
Public Member Functions inherited from etiss::SystemWrapperPlugin | |
| SystemWrapperPlugin () | |
| virtual | ~SystemWrapperPlugin () |
Public Member Functions inherited from etiss::Plugin | |
| virtual | ~Plugin () |
| unsigned | getType () |
| InterruptListenerPlugin * | getInterruptListenerPlugin () |
| CoroutinePlugin * | getCoroutinePlugin () |
| SystemWrapperPlugin * | getSystemWrapperPlugin () |
| RegisterDevicePlugin * | getRegisterDevicePlugin () |
| TranslationPlugin * | getTranslationPlugin () |
| std::string | getPluginName () const |
| const std::string & | getLastAssignedCoreName () |
| std::string | toString () const |
Public Member Functions inherited from etiss::ToString | |
| ToString () | |
| virtual | ~ToString () |
Public Attributes | |
| const std::string | name_ |
Protected Attributes | |
| std::vector< etiss::System * > | devices_ |
| std::vector< std::pair< uint64_t, uint64_t > > | mountPoints_ |
Protected Attributes inherited from etiss::Plugin | |
| ETISS_CPU * | plugin_cpu_ |
| holds a pointer to the cpu structure. will be set before init call and after cleanup call | |
| ETISS_System * | plugin_system_ |
| holds a pointer to the system structure. | |
| CPUArch * | plugin_arch_ |
| holds a pointer to the CPUArch instance. will be set before init call and after cleanup call | |
| CPUCore * | plugin_core_ |
| holds a pointer to the associated CPUCore instance. | |
Additional Inherited Members | |
Static Public Attributes inherited from etiss::Plugin | |
| static const unsigned | INTERRUPTLISTENER = 1 << 0 |
| access to translated code | |
| static const unsigned | COROUTINE = 1 << 1 |
| callback after execution of each translated block | |
| static const unsigned | SYSTEMWRAPPER = 1 << 2 |
| can wrap/change ETISS_System structure at execution start | |
| static const unsigned | REGISTERDEVICE |
| gets noticed of changes to special registers (e.g. mmu register etc. [depends on architecture]) | |
| static const unsigned | TRANSLATION |
| access to translated code during translation phase or when instruction tree is built | |
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). | |
| virtual void | cleanup () |
| this function is called after cpu execution loop (etiss::CPUCore::execute) finished. | |
| void | setCorrespondingCPUCoreName (std::string name) |
| virtual void | addedToCPUCore (etiss::CPUCore *core) |
| called as soon a plugin has been added to its CPUCore. | |
| virtual void | removedFromCPUCore (etiss::CPUCore *core) |
| called as soon a plugin has been removed from its CPUCore. | |
Definition at line 18 of file MemoryDevice.h.
| etiss::plugin::MemoryDeviceMapper::MemoryDeviceMapper | ( | std::string | name | ) |
Definition at line 108 of file MemoryDevice.cpp.
|
virtual |
Definition at line 110 of file MemoryDevice.cpp.
| etiss::int32 etiss::plugin::MemoryDeviceMapper::dbg_read | ( | ETISS_System * | sys, |
| etiss::uint64 | addr, | ||
| etiss::uint8 * | buf, | ||
| etiss::uint32 | len | ||
| ) |
Definition at line 245 of file MemoryDevice.cpp.
References ETISS_System::dbg_read, devices_, ETISS_System::handle, int32_t, and map().
Referenced by etiss::plugin::anonymous_namespace{MemoryDevice.cpp}::dbg_read_().


| etiss::int32 etiss::plugin::MemoryDeviceMapper::dbg_write | ( | ETISS_System * | sys, |
| etiss::uint64 | addr, | ||
| etiss::uint8 * | buf, | ||
| etiss::uint32 | len | ||
| ) |
Definition at line 270 of file MemoryDevice.cpp.
References ETISS_System::dbg_write, devices_, ETISS_System::handle, int32_t, and map().
Referenced by etiss::plugin::anonymous_namespace{MemoryDevice.cpp}::dbg_write_().


|
inline |
Definition at line 35 of file MemoryDevice.h.
References devices_.
| etiss::int32 etiss::plugin::MemoryDeviceMapper::dread | ( | ETISS_System * | sys, |
| ETISS_CPU * | cpu, | ||
| etiss::uint64 | addr, | ||
| etiss::uint8 * | buf, | ||
| etiss::uint32 | len | ||
| ) |
Definition at line 193 of file MemoryDevice.cpp.
References devices_, ETISS_System::dread, ETISS_System::handle, int32_t, and map().
Referenced by etiss::plugin::anonymous_namespace{MemoryDevice.cpp}::dread_().


| etiss::int32 etiss::plugin::MemoryDeviceMapper::dwrite | ( | ETISS_System * | sys, |
| ETISS_CPU * | cpu, | ||
| etiss::uint64 | addr, | ||
| etiss::uint8 * | buf, | ||
| etiss::uint32 | len | ||
| ) |
Definition at line 219 of file MemoryDevice.cpp.
References devices_, ETISS_System::dwrite, ETISS_System::handle, int32_t, and map().
Referenced by etiss::plugin::anonymous_namespace{MemoryDevice.cpp}::dwrite_().


| etiss::int32 etiss::plugin::MemoryDeviceMapper::iread | ( | ETISS_System * | sys, |
| ETISS_CPU * | cpu, | ||
| etiss::uint64 | addr, | ||
| etiss::uint32 | len | ||
| ) |
Definition at line 143 of file MemoryDevice.cpp.
References devices_, ETISS_System::handle, int32_t, ETISS_System::iread, and map().
Referenced by etiss::plugin::anonymous_namespace{MemoryDevice.cpp}::iread_().


| etiss::int32 etiss::plugin::MemoryDeviceMapper::iwrite | ( | ETISS_System * | sys, |
| ETISS_CPU * | cpu, | ||
| etiss::uint64 | addr, | ||
| etiss::uint8 * | buf, | ||
| etiss::uint32 | len | ||
| ) |
Definition at line 167 of file MemoryDevice.cpp.
References devices_, ETISS_System::handle, int32_t, ETISS_System::iwrite, and map().
Referenced by etiss::plugin::anonymous_namespace{MemoryDevice.cpp}::iwrite_().


|
virtual |
Definition at line 296 of file MemoryDevice.cpp.
References mountPoints_.
Referenced by dbg_read(), dbg_write(), dread(), dwrite(), iread(), and iwrite().

|
virtual |
Definition at line 307 of file MemoryDevice.cpp.
References devices_, and mountPoints_.
|
virtual |
undo wrap function call this function will be called AFTER etiss::Plugin::cleanup
Implements etiss::SystemWrapperPlugin.
Definition at line 134 of file MemoryDevice.cpp.
|
virtual |
change/wrap the passed system structure.
the returned value will be used as the current system this function will be called BEFORE etiss::Plugin::init
Implements etiss::SystemWrapperPlugin.
Definition at line 112 of file MemoryDevice.cpp.
|
protected |
Definition at line 42 of file MemoryDevice.h.
Referenced by dbg_read(), dbg_write(), devices(), dread(), dwrite(), iread(), iwrite(), and mount().
|
protected |
Definition at line 43 of file MemoryDevice.h.
| const std::string etiss::plugin::MemoryDeviceMapper::name_ |
Definition at line 21 of file MemoryDevice.h.