ETISS 0.8.0
Extendable Translating Instruction Set Simulator (version 0.8.0)
|
allows to read/write to a virtual structure as if it is a memory. More...
#include <VirtualStructMemory.h>
Public Types | |
typedef std::map< uint64_t, std::pair< etiss::VirtualStruct::Field *, size_t > > | mapping_t |
Public Attributes | |
const etiss::VirtualStruct & | mem_ |
Private Attributes | |
uint64_t | startaddr_ |
uint64_t | endaddr_ |
excluded More... | |
mapping_t | memmap_ |
std::list< std::shared_ptr< VirtualStruct::Field > > | references |
allows to read/write to a virtual structure as if it is a memory.
Any mapped field is addressed as little endian.
Definition at line 58 of file VirtualStructMemory.h.
typedef std::map<uint64_t, std::pair<etiss::VirtualStruct::Field * , size_t > > etiss::plugin::VirtualStructMemory::mapping_t |
Definition at line 77 of file VirtualStructMemory.h.
etiss::plugin::VirtualStructMemory::VirtualStructMemory | ( | const etiss::VirtualStruct & | str, |
std::function< uint64_t(etiss::VirtualStruct::Field *, bool &)> | mountPoint, | ||
bool | littleendian = true |
||
) |
Definition at line 50 of file VirtualStructMemory.cpp.
References endaddr_, max(), memmap_, references, startaddr_, get_metrics::str, uint64_t, and etiss::VirtualStruct::Field::width_.
|
virtual |
Definition at line 84 of file VirtualStructMemory.cpp.
|
inline |
Definition at line 88 of file VirtualStructMemory.h.
References endaddr_.
std::set< etiss::VirtualStruct::Field * > etiss::plugin::VirtualStructMemory::getMappedFields | ( | ) |
Definition at line 146 of file VirtualStructMemory.cpp.
References memmap_.
|
inline |
returns the internal mapping
Definition at line 81 of file VirtualStructMemory.h.
References memmap_.
|
virtual |
Implements etiss::SimpleSystem.
Definition at line 89 of file VirtualStructMemory.cpp.
References memmap_, etiss::VirtualStruct::Field::read(), uint64_t, and uint8_t.
|
inline |
Definition at line 87 of file VirtualStructMemory.h.
References startaddr_.
|
virtual |
Implements etiss::SimpleSystem.
Definition at line 111 of file VirtualStructMemory.cpp.
References memmap_, etiss::VirtualStruct::Field::name_, etiss::VirtualStruct::Field::prettyname_, etiss::VirtualStruct::Field::read(), uint64_t, uint8_t, and etiss::VirtualStruct::Field::write().
|
private |
excluded
Definition at line 94 of file VirtualStructMemory.h.
Referenced by endAddr(), and VirtualStructMemory().
const etiss::VirtualStruct& etiss::plugin::VirtualStructMemory::mem_ |
Definition at line 75 of file VirtualStructMemory.h.
|
private |
Definition at line 95 of file VirtualStructMemory.h.
Referenced by getMappedFields(), getMapping(), read(), VirtualStructMemory(), and write().
|
private |
Definition at line 96 of file VirtualStructMemory.h.
Referenced by VirtualStructMemory().
|
private |
Definition at line 92 of file VirtualStructMemory.h.
Referenced by startAddr(), and VirtualStructMemory().