9 #ifndef TEMU_MEMORY_IF_H
10 #define TEMU_MEMORY_IF_H
27 #define TEMU_MT_CACHEABLE 1
28 #define TEMU_MT_BYPASS_CACHE (1 << 1)
29 #define TEMU_MT_FORCE_CACHE_MISS (1 << 2)
115 int (*
readBytes)(
void *Obj,
void *Dest, uint64_t Offs, uint32_t Size,
int Swap);
116 int (*
writeBytes)(
void *Obj, uint64_t Offs, uint32_t Size,
const void *Src,
int Swap);
151 void (*
mapDevice)(
void *Obj, uint64_t Addr, uint64_t Len,
void *Device)
void(* write)(void *Obj, temu_MemTransaction *Mt)
Function called on writes.
uint64_t Pa
64 bit physical address
void(* read)(void *Obj, temu_MemTransaction *Mt)
Function called on reads.
struct temu_MemoryMapIface temu_MemoryMapIface
struct temu_MemoryIface temu_MemoryIface
void temu_setMemAttr(void *Obj, uint64_t Addr, uint64_t Len, temu_MemoryAttr Attr)
void(* clearAttributes)(void *Obj, uint64_t Addr, uint64_t Len) __attribute__((deprecated))
void(* setAttribute)(void *Obj, uint64_t Addr, uint64_t Len, temu_MemoryAttr Attr) __attribute__((deprecated))
int(* readBytes)(void *Obj, void *Dest, uint64_t Offs, uint32_t Size, int Swap)
uint64_t Cycles
Cycle cost for memory access (initialised to 0)
void(* fetch)(void *Obj, temu_MemTransaction *Mt)
temu_MemoryAttr
Memory attribute enumeration.
void temu_mapMemorySpace(void *Obj, uint64_t Addr, uint64_t Len, void *MemObj)
void(* mapDevice)(void *Obj, uint64_t Addr, uint64_t Len, void *Device) __attribute__((deprecated))
void(* clearAttribute)(void *Obj, uint64_t Addr, uint64_t Len, temu_MemoryAttr Attr) __attribute__((deprecated))
void void __attribute__((deprecated))
void temu_clearMemAttr(void *Obj, uint64_t Addr, uint64_t Len, temu_MemoryAttr Attr)
struct temu_MemTransaction temu_MemTransaction
TEMU_IFACE_REFERENCE_TYPE(temu_MemAccess)
int(* writeBytes)(void *Obj, uint64_t Offs, uint32_t Size, const void *Src, int Swap)
struct temu_MemAccessIface temu_MemAccessIface
uint32_t Flags
Flags for use in the memory hierarchy.
uint64_t Va
64 bit virtual for unified 32/64 bit interface.
Multiple event upset / uncorrectable.
void(* map)(void *Obj, uint64_t Addr, uint64_t Len, temu_MemoryKind Type) __attribute__((deprecated))