7#ifndef ETISS_PLUGIN_MEMORYDEVICE_H
8#define ETISS_PLUGIN_MEMORYDEVICE_H
32 etiss::int32
dbg_read(
ETISS_System *sys, etiss::uint64 addr, etiss::uint8 *buf, etiss::uint32 len);
37 virtual int map(
bool ibus,
bool read,
bool dbg,
uint64_t addr,
uint8_t *buf,
unsigned len,
unsigned &newlen);
general configuration and logging
plugins for extensions to code translation and instruction execution
static __inline__ uint64_t
static __inline__ uint8_t
this plugin allows to wrap the ETISS_System interface
System Interface for the basic system IO operations and time synchronization.
std::vector< etiss::System * > devices_
etiss::int32 dread(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)
const std::vector< etiss::System * > & devices()
virtual ~MemoryDeviceMapper()
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)
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 dbg_write(ETISS_System *sys, etiss::uint64 addr, etiss::uint8 *buf, etiss::uint32 len)
std::vector< std::pair< uint64_t, uint64_t > > mountPoints_
etiss::int32 iwrite(ETISS_System *sys, ETISS_CPU *cpu, etiss::uint64 addr, etiss::uint8 *buf, etiss::uint32 len)
etiss::int32 iread(ETISS_System *sys, ETISS_CPU *cpu, etiss::uint64 addr, etiss::uint32 len)
etiss::int32 dwrite(ETISS_System *sys, ETISS_CPU *cpu, etiss::uint64 addr, etiss::uint8 *buf, etiss::uint32 len)
virtual ETISS_System * wrap(ETISS_CPU *cpu, ETISS_System *system)
change/wrap the passed system structure.
basic cpu state structure needed for execution of any cpu architecture.
memory access and time synchronization functions.