31 #define TEMU_CACHE_NONE 0 32 #define TEMU_CACHE_LRU 1 33 #define TEMU_CACHE_LRR 2 34 #define TEMU_CACHE_RND 3 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" 119 #define TEMU_CACHE_CTRL_IFACE_TYPE "temu::CacheCtrlIface" void(* evictionCompleted)(void *Obj)
Global evict operation completed.
Definition: Cache.h:117
uint64_t(* readData)(void *Obj, uint64_t Addr)
Definition: Cache.h:98
int(* writeData)(void *Obj, uint64_t Addr, uint64_t Data)
Write data in cache.
Definition: Cache.h:101
void(* invalidateAll)(void *Obj)
Invalidate entire cache.
Definition: Cache.h:55
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(* freeze)(void *Obj)
Freeze cache.
Definition: Cache.h:49
uint32_t(* getSets)(void *Obj)
Get number of sets.
Definition: Cache.h:67
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
uint32_t(* getReplacementPolicy)(void *Obj)
Definition: Cache.h:65
uint32_t(* getLineSize)(void *Obj)
Get line size in bytes.
Definition: Cache.h:71
TEMU_IFACE_REFERENCE_TYPE(temu_Cache)
void(* evictLine)(void *Obj, uint64_t Addr)
Evict line.
Definition: Cache.h:59
uint32_t(* getWays)(void *Obj)
Get number of ways.
Definition: Cache.h:69
uint64_t(* readFlags)(void *Obj, uint64_t Addr)
Definition: Cache.h:82
void(* lockLine)(void *Obj, uint64_t Addr)
Lock line for addr.
Definition: Cache.h:51
void(* unlockLine)(void *Obj, uint64_t Addr)
Unlock line.
Definition: Cache.h:52
struct temu_CacheIface temu_CacheIface
int(* isValid)(void *Obj, uint64_t Addr)
Check if an address belong to a cached line.
Definition: Cache.h:74
void(* disable)(void *Obj)
Disable cache.
Definition: Cache.h:48
struct temu_CacheCtrlIface temu_CacheCtrlIface
void(* writeFlags)(void *Obj, uint64_t Addr, uint64_t Flags)
Write flags data.
Definition: Cache.h:85