TEMU
3.0
The Terma Emulator
|
#include </builds/termade/temu/temu/include/temu-c/Memory/Memory.h>
Data Fields | |
void(* | fetch )(void *Obj, temu_MemTransaction *Mt) |
void(* | read )(void *Obj, temu_MemTransaction *Mt) |
Function called on reads. More... | |
void(* | write )(void *Obj, temu_MemTransaction *Mt) |
Function called on writes. More... | |
void(* | exchange )(void *Obj, temu_MemTransaction *Mt) |
void(* | mapped )(void *Obj, uint64_t Pa, uint64_t Len) |
Optional method, called when interface is mapped. More... | |
const temu_MemAccessCapabilities *(* | getCapabilities )(void *Obj) |
Memory access interface implemented by all memory mapped devices Exposed to the emulator core by a memory object.
void(* temu_MemAccessIface::exchange) (void *Obj, temu_MemTransaction *Mt) |
Function called on atomic exchanges, by default if this is not defined, the memory space will call read followed by write in order.
void(* temu_MemAccessIface::fetch) (void *Obj, temu_MemTransaction *Mt) |
Function called on fetches. The function can be null in case fetches are not allowed from the model.
const temu_MemAccessCapabilities*(* temu_MemAccessIface::getCapabilities) (void *Obj) |
Query for supported features Function is optional. By default the assumption is that the base capabilities are equal to R_ALL | W_ALL, custom memories must explicitly register itself as fetchable memory. in addition, the default assumption is that the device does not support large transactions.
void(* temu_MemAccessIface::mapped) (void *Obj, uint64_t Pa, uint64_t Len) |
Optional method, called when interface is mapped.
void(* temu_MemAccessIface::read) (void *Obj, temu_MemTransaction *Mt) |
Function called on reads.
void(* temu_MemAccessIface::write) (void *Obj, temu_MemTransaction *Mt) |
Function called on writes.