diff options
Diffstat (limited to 'src/arch/arm64/include')
-rw-r--r-- | src/arch/arm64/include/armv8/arch/cache.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/arch/arm64/include/armv8/arch/cache.h b/src/arch/arm64/include/armv8/arch/cache.h index 5097196308..da6edfdcb7 100644 --- a/src/arch/arm64/include/armv8/arch/cache.h +++ b/src/arch/arm64/include/armv8/arch/cache.h @@ -31,8 +31,16 @@ enum cache_type { CACHE_UNIFIED = 4, }; +struct cache_info { + uint64_t size; // total size of cache in bytes + uint64_t associativity; // number of cache lines in a set + uint64_t numsets; // number of sets in a cache + uint8_t line_bytes; // size of cache line in bytes +}; + enum cache_type cpu_get_cache_type(enum cache_level level); -void cpu_get_cache_info(enum cache_level level, enum cache_type, size_t *cache_size, size_t *assoc); +enum cb_err cpu_get_cache_info(const enum cache_level level, const enum cache_type type, + struct cache_info *info); /* dcache clean by virtual address to PoC */ void dcache_clean_by_mva(void const *addr, size_t len); |