ETISS 0.8.0
Extendable Translating Instruction Set Simulator (version 0.8.0)
|
#include <MemoryDevice.h>
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 More... | |
ETISS_System * | plugin_system_ |
holds a pointer to the system structure. More... | |
CPUArch * | plugin_arch_ |
holds a pointer to the CPUArch instance. will be set before init call and after cleanup call More... | |
CPUCore * | plugin_core_ |
holds a pointer to the associated CPUCore instance. 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 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... | |
Definition at line 54 of file MemoryDevice.h.
etiss::plugin::MemoryDeviceMapper::MemoryDeviceMapper | ( | std::string | name | ) |
Definition at line 143 of file MemoryDevice.cpp.
|
virtual |
Definition at line 145 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 280 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 305 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 71 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 228 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 254 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 178 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 202 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 331 of file MemoryDevice.cpp.
References mountPoints_.
Referenced by dbg_read(), dbg_write(), dread(), dwrite(), iread(), and iwrite().
|
virtual |
Definition at line 342 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 169 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 147 of file MemoryDevice.cpp.
References etiss::plugin::anonymous_namespace{MemoryDevice.cpp}::dbg_read_(), etiss::plugin::anonymous_namespace{MemoryDevice.cpp}::dbg_write_(), etiss::plugin::anonymous_namespace{MemoryDevice.cpp}::dread_(), etiss::plugin::anonymous_namespace{MemoryDevice.cpp}::dwrite_(), etiss::plugin::anonymous_namespace{MemoryDevice.cpp}::empty_fastrule(), etiss::plugin::anonymous_namespace{MemoryDevice.cpp}::iread_(), etiss::plugin::anonymous_namespace{MemoryDevice.cpp}::iwrite_(), and etiss::plugin::anonymous_namespace{MemoryDevice.cpp}::syncTime_().
|
protected |
Definition at line 78 of file MemoryDevice.h.
Referenced by dbg_read(), dbg_write(), devices(), dread(), dwrite(), iread(), iwrite(), and mount().
|
protected |
Definition at line 79 of file MemoryDevice.h.
const std::string etiss::plugin::MemoryDeviceMapper::name_ |
Definition at line 57 of file MemoryDevice.h.