46#define CACHE_L1_ICACHE_SIZE \
47 ARCH_CACHE_L1_ICACHE_SIZE
53#define CACHE_L1_ICACHE_ASSOC \
54 ARCH_CACHE_L1_ICACHE_ASSOC
60#define CACHE_L1_ICACHE_LINESIZE \
61 ARCH_CACHE_L1_ICACHE_LINESIZE
67#define CACHE_L1_DCACHE_SIZE \
68 ARCH_CACHE_L1_DCACHE_SIZE
74#define CACHE_L1_DCACHE_ASSOC \
75 ARCH_CACHE_L1_DCACHE_ASSOC
81#define CACHE_L1_DCACHE_LINESIZE \
82 ARCH_CACHE_L1_DCACHE_LINESIZE
88#define CACHE_L2_CACHE_SIZE \
89 ARCH_CACHE_L2_CACHE_SIZE
95#define CACHE_L2_CACHE_ASSOC \
96 ARCH_CACHE_L2_CACHE_ASSOC
102#define CACHE_L2_CACHE_LINESIZE \
103 ARCH_CACHE_L2_CACHE_LINESIZE
273__depr(
"icache_flush_range() has been renamed to icache_sync_range()")
274static
inline void icache_flush_range(uintptr_t
start,
size_t count) {
278__depr(
"dcache_flush_range() has been renamed to dcache_wback_range()")
279static
inline void dcache_flush_range(uintptr_t
start,
size_t count) {
283__depr(
"dcache_flush_all() has been renamed to dcache_wback_all()")
284static
inline void dcache_flush_all(
void) {
288__depr(
"dcache_pref_block() has been renamed to dcache_pref_line()")
289static
inline void dcache_pref_block(const
void *src) {
293__depr(
"dcache_alloc_block() has been renamed to dcache_alloc_line_with_value()")
294static
inline void dcache_alloc_block(
void *src, uint32_t value) {
Various common macros used throughout the codebase.
static void dcache_inval_line(void *src)
Invalidate one cache line of the data/operand cache.
Definition cache.h:244
static void icache_sync_range(uintptr_t start, size_t count)
Synchronize the instruction cache.
Definition cache.h:126
static void dcache_alloc_line(void *src)
Allocate one cache line of the data/operand cache.
Definition cache.h:208
static void dcache_purge_line(void *src)
Purge one cache line of the data/operand cache.
Definition cache.h:256
static void dcache_pref_line(const void *src)
Prefetch one block to the data/operand cache.
Definition cache.h:197
static void dcache_zero_alloc_line(void *src)
Zero-allocate one cache line of the data/operand cache.
Definition cache.h:219
static void dcache_alloc_line_with_value(void *src, uintptr_t value)
Allocate one cache line of the data/operand cache with a value.
Definition cache.h:232
static void dcache_wback_all(void)
Perform a write-back on the the whole data/operand cache.
Definition cache.h:164
static void dcache_purge_all(void)
Purge all the data/operand cache.
Definition cache.h:187
static void dcache_inval_range(uintptr_t start, size_t count)
Invalidate the data/operand cache.
Definition cache.h:139
static void dcache_wback_range(uintptr_t start, size_t count)
Perform a write-back on the data/operand cache.
Definition cache.h:155
static void dcache_purge_range(uintptr_t start, size_t count)
Purge the data/operand cache.
Definition cache.h:176
static void icache_inval_range(uintptr_t start, size_t count)
Invalidate the instruction cache.
Definition cache.h:112
static void dcache_wback_line(void *src)
Write-back one cache line of the data/operand cache.
Definition cache.h:268
#define inline
Definition cdefs.h:107
Cache management functionality.
void arch_icache_sync_range(uintptr_t start, size_t count)
void arch_icache_inval_range(uintptr_t start, size_t count)
static void arch_dcache_wback_range(uintptr_t start, size_t count)
Definition cache.h:167
static void arch_dcache_purge_range(uintptr_t start, size_t count)
Definition cache.h:203
static void arch_dcache_alloc_line(void *src)
Definition cache.h:83
static void arch_dcache_alloc_line_with_value(void *src, uintptr_t value)
Definition cache.h:67
static void arch_dcache_wback_all(void)
Definition cache.h:159
static void arch_dcache_inval_line(void *src)
Definition cache.h:102
static void arch_dcache_wback_line(void *src)
Definition cache.h:134
static void arch_dcache_zero_alloc_line(void *src)
Definition cache.h:94
static void arch_dcache_purge_line(void *src)
Definition cache.h:118
static void arch_dcache_inval_range(uintptr_t start, size_t count)
Definition cache.h:150
static void arch_dcache_pref_line(const void *src)
Definition cache.h:63
static void arch_dcache_purge_all(void)
Definition cache.h:182