|
ETISS 0.11.2
ExtendableTranslatingInstructionSetSimulator(version0.11.2)
|
Simple etiss:System implementation for testing. More...
#include <MemoryManipulationSystem.h>


Public Member Functions | |
| MemoryManipulationSystem (const std::string &name="system") | |
Constructor takes name for reference of this class as a name Injector. | |
| const std::string & | getName () |
| get virtual struct associated name | |
| std::shared_ptr< etiss::VirtualStruct > | getStruct (void) |
| get virtual struct | |
| void | init_manipulation (std::shared_ptr< etiss::VirtualStructSupport > vs_parent) |
initialize this virtual struct and mount it to cpu_core | |
Public Member Functions inherited from etiss::VirtualStructSupport | |
| virtual | ~VirtualStructSupport () |
Public Member Functions inherited from etiss::SimpleMemSystem | |
| SimpleMemSystem (void) | |
| virtual | ~SimpleMemSystem (void) |
| etiss::int32 | iread (ETISS_CPU *cpu, etiss::uint64 addr, etiss::uint32 len) |
| Instruction read operation. | |
| etiss::int32 | iwrite (ETISS_CPU *cpu, etiss::uint64 addr, etiss::uint8 *buf, etiss::uint32 len) |
| Instruction write operation. | |
| etiss::int32 | dread (ETISS_CPU *cpu, etiss::uint64 addr, etiss::uint8 *buf, etiss::uint32 len) |
| Data read operation. | |
| etiss::int32 | dwrite (ETISS_CPU *cpu, etiss::uint64 addr, etiss::uint8 *buf, etiss::uint32 len) |
| Data write operation. | |
| etiss::int32 | dbg_read (etiss::uint64 addr, etiss::uint8 *buf, etiss::uint32 len) |
| Debug read operation. | |
| etiss::int32 | dbg_write (etiss::uint64 addr, etiss::uint8 *buf, etiss::uint32 len) |
| Debug write operation. | |
| void | syncTime (ETISS_CPU *cpu) |
| Synchronize simulation time. | |
| void | init_memory () |
| void | load_elf () |
| void | load_segments (void) |
| etiss::uint64 | get_startaddr (void) |
| void | add_memsegment (std::unique_ptr< MemSegment > &mseg, const void *raw_data, size_t file_size_bytes) |
Public Member Functions inherited from etiss::System | |
| virtual | ~System () |
Private Attributes | |
| std::string | name_ |
| etiss::uint8 | arch_width_ |
| std::shared_ptr< etiss::VirtualStruct > | vsystem_ |
| std::unique_ptr< etiss::MemoryWordManipulatorBase > | mem_manipulator_ |
Additional Inherited Members | |
Protected Member Functions inherited from etiss::SimpleMemSystem | |
| template<bool write> | |
| etiss::int32 | dbus_access (ETISS_CPU *cpu, etiss::uint64 addr, etiss::uint8 *buf, etiss::uint32 len) |
Simple etiss:System implementation for testing.
Definition at line 111 of file MemoryManipulationSystem.h.
| MemoryManipulationSystem::MemoryManipulationSystem | ( | const std::string & | name = "system" | ) |
Constructor takes name for reference of this class as a name Injector.
Definition at line 197 of file MemoryManipulationSystem.cpp.
|
inlinevirtual |
get virtual struct associated name
Implements etiss::VirtualStructSupport.
Definition at line 119 of file MemoryManipulationSystem.h.
References name_.
Referenced by init_manipulation().

|
virtual |
get virtual struct
Implements etiss::VirtualStructSupport.
Definition at line 25 of file MemoryManipulationSystem.cpp.
References etiss::VirtualStruct::allocate(), and vsystem_.
Referenced by init_manipulation().


| void MemoryManipulationSystem::init_manipulation | ( | std::shared_ptr< etiss::VirtualStructSupport > | vs_parent | ) |
initialize this virtual struct and mount it to cpu_core
Definition at line 34 of file MemoryManipulationSystem.cpp.
References etiss::cfg(), etiss::FATALERROR, etiss::Configuration::get(), getName(), getStruct(), etiss::log(), mem_manipulator_, uint8_t, and etiss::VERBOSE.
Referenced by main().


|
private |
Definition at line 129 of file MemoryManipulationSystem.h.
|
private |
Definition at line 131 of file MemoryManipulationSystem.h.
Referenced by init_manipulation().
|
private |
Definition at line 128 of file MemoryManipulationSystem.h.
Referenced by getName().
|
private |
Definition at line 130 of file MemoryManipulationSystem.h.
Referenced by getStruct().