ETISS 0.8.0
Extendable Translating Instruction Set Simulator (version 0.8.0)
|
A simple system, that implements the etiss::System interface. More...
#include <System.h>
Public Member Functions | |
virtual | ~SimpleSystem () |
virtual etiss::int32 | iread (ETISS_CPU *cpu, etiss::uint64 addr, etiss::uint32 len) |
Instruction read operation. More... | |
virtual etiss::int32 | iwrite (ETISS_CPU *cpu, etiss::uint64 addr, etiss::uint8 *buf, etiss::uint32 len) |
Instruction write operation. More... | |
virtual etiss::int32 | dread (ETISS_CPU *cpu, etiss::uint64 addr, etiss::uint8 *buf, etiss::uint32 len) |
Data read operation. More... | |
virtual etiss::int32 | dwrite (ETISS_CPU *cpu, etiss::uint64 addr, etiss::uint8 *buf, etiss::uint32 len) |
Data write operation. More... | |
virtual etiss::int32 | dbg_read (etiss::uint64 addr, etiss::uint8 *buf, etiss::uint32 len) |
Debug read operation. More... | |
virtual etiss::int32 | dbg_write (etiss::uint64 addr, etiss::uint8 *buf, etiss::uint32 len) |
Debug write operation. More... | |
virtual void | syncTime (ETISS_CPU *cpu) |
Synchronize simulation time. More... | |
virtual bool | read (bool debug, ETISS_CPU *cpu, etiss::uint64 addr, etiss::uint8 *buf, etiss::uint32 len)=0 |
virtual bool | write (bool debug, ETISS_CPU *cpu, etiss::uint64 addr, etiss::uint8 *buf, etiss::uint32 len)=0 |
Public Member Functions inherited from etiss::System | |
virtual | ~System () |
A simple system, that implements the etiss::System interface.
|
inlinevirtual |
|
virtual |
Debug read operation.
This method should implement a debug read operation. The debug operations are used for data access that should not influence the simulation time. To indicate an error a non 0 value should be returned.
addr | The address from which the data should be read. |
buf | Pointer to the buffer, that contains the instruction. |
len | The length of the data in bytes. |
Implements etiss::System.
Definition at line 161 of file System.cpp.
References read().
|
virtual |
Debug write operation.
This method should implement a debug write operation. The debug operations are used for data access that should not influence the simulation time. To indicate an error a non 0 value should be returned.
addr | The address to which the data should be written. |
buf | Pointer to the buffer, that contains the instruction. |
len | The length of the data in bytes. |
Implements etiss::System.
Definition at line 168 of file System.cpp.
References write().
|
virtual |
Data read operation.
This method should implement a data read operation. To indicate an error a non 0 value should be returned. The CPU time needs to be increased according to the delay of this instruction operation.
cpu | Pointer to the CPU structure, that requested this operation. |
addr | The address from which the data should be read. |
buf | Pointer to the buffer, that contains the instruction. |
len | The length of the data in bytes. |
Implements etiss::System.
Definition at line 147 of file System.cpp.
References read().
|
virtual |
Data write operation.
This method should implement a data write operation. To indicate an error a non 0 value should be returned. The CPU time needs to be increased according to the delay of this instruction operation.
cpu | Pointer to the CPU structure, that requested this operation. |
addr | The address to which the data should be written. |
buf | Pointer to the buffer, that contains the instruction. |
len | The length of the data in bytes. |
Implements etiss::System.
Definition at line 154 of file System.cpp.
References write().
|
virtual |
Instruction read operation.
This method should implement an instruction read operation. To indicate an error a non 0 value should be returned. The CPU time needs to be increased according to the delay of this instruction operation.
cpu | Pointer to the CPU structure, that requested this operation. |
addr | The address from which the instruction should be read. |
len | The length of the instruction in bytes. |
Implements etiss::System.
Definition at line 132 of file System.cpp.
|
virtual |
Instruction write operation.
This method should implement an instruction write operation. To indicate an error a non 0 value should be returned. The CPU time needs to be increased according to the delay of this instruction operation.
cpu | Pointer to the CPU structure, that requested this operation. |
addr | The address to which the instruction should be written. |
buf | Pointer to the buffer, that contains the instruction. |
len | The length of the instruction in bytes. |
Implements etiss::System.
Definition at line 140 of file System.cpp.
References write().
|
pure virtual |
Implemented in etiss::plugin::VirtualStructMemory.
Referenced by dbg_read(), and dread().
|
virtual |
Synchronize simulation time.
This method should implement the synchronization between the simulation time of the system and the CPU. This function call should allow the system to catch up with the CPU.
cpu | Pointer to the CPU structure, for which the synchronization should be performed. |
Implements etiss::System.
Definition at line 175 of file System.cpp.
|
pure virtual |
Implemented in etiss::plugin::VirtualStructMemory.
Referenced by dbg_write(), dwrite(), and iwrite().