 |
TEMU
4.4
The Terma Emulator
|
Go to the documentation of this file.
19 #include "temu-c/Support/Objsys.h"
20 #include "temu-c/Memory/Memory.h"
31 #define TEMU_CACHE_NONE 0
32 #define TEMU_CACHE_LRU 1
33 #define TEMU_CACHE_LRR 2
34 #define TEMU_CACHE_RND 3
65 uint32_t (*getReplacementPolicy)(
void *Obj);
67 uint32_t (*getSets)(
void *Obj);
69 uint32_t (*getWays)(
void *Obj);
71 uint32_t (*getLineSize)(
void *Obj);
82 uint64_t (*readFlags)(
void *Obj, uint64_t Addr);
85 void (*
writeFlags)(
void *Obj, uint64_t Addr, uint64_t Flags);
98 uint64_t (*readData)(
void *Obj, uint64_t Addr);
101 int (*
writeData)(
void *Obj, uint64_t Addr, uint64_t Data);
103 #define TEMU_CACHE_IFACE_TYPE "temu::CacheIface"
104 TEMU_IFACE_REFERENCE_TYPE(temu_Cache);
118 } temu_CacheCtrlIface;
119 #define TEMU_CACHE_CTRL_IFACE_TYPE "temu::CacheCtrlIface"
120 TEMU_IFACE_REFERENCE_TYPE(temu_CacheCtrl);
int(* writeData)(void *Obj, uint64_t Addr, uint64_t Data)
Write data in cache.
Definition: Cache.h:101
void(* invalidateLine)(void *Obj, uint64_t Addr)
Invalidate single line.
Definition: Cache.h:56
void(* evictionInProgress)(void *Obj)
Global evict operation ongoing.
Definition: Cache.h:114
void(* invalidateAll)(void *Obj)
Invalidate entire cache.
Definition: Cache.h:55
void(* evictionCompleted)(void *Obj)
Global evict operation completed.
Definition: Cache.h:117
void(* freeze)(void *Obj)
Freeze cache.
Definition: Cache.h:49
void(* evictAll)(void *Obj)
Evict all (i.e. spill to memory)
Definition: Cache.h:58
void(* enable)(void *Obj)
Enable cache.
Definition: Cache.h:47
void(* evictLine)(void *Obj, uint64_t Addr)
Evict line.
Definition: Cache.h:59
void(* unlockLine)(void *Obj, uint64_t Addr)
Unlock line.
Definition: Cache.h:52
void(* lockLine)(void *Obj, uint64_t Addr)
Lock line for addr.
Definition: Cache.h:51
int(* isValid)(void *Obj, uint64_t Addr)
Check if an address belong to a cached line.
Definition: Cache.h:74
void(* writeFlags)(void *Obj, uint64_t Addr, uint64_t Flags)
Write flags data.
Definition: Cache.h:85
void(* disable)(void *Obj)
Disable cache.
Definition: Cache.h:48