42#define CACHE_L1_ICACHE_SIZE 8 * 1024
48#define CACHE_L1_ICACHE_ASSOC 1
54#define CACHE_L1_ICACHE_LINESIZE 32
60#define CACHE_L1_DCACHE_SIZE 16 * 1024
66#define CACHE_L1_DCACHE_ASSOC 1
72#define CACHE_L1_DCACHE_LINESIZE 32
78#define CACHE_L2_CACHE_SIZE 0
84#define CACHE_L2_CACHE_ASSOC 0
90#define CACHE_L2_CACHE_LINESIZE 0
189 __asm__ __volatile__(
"pref @%0\n"
203 __asm__ __volatile__(
"pref @%0\n"
220 __asm__ (
"movca.l r0, @%8\n\t"
229 :
"r" (src32),
"z" (value)
Various common macros used throughout the codebase.
static uint32_t("Please see purupuru_effect_t for modern equivalent.") PURUPURU_EFFECT2_UINTENSITY(uint8_t x)
Definition purupuru.h:96
static __always_inline void dcache_alloc_block(void *src, uint32_t value)
Allocate one block of the data/operand cache.
Definition cache.h:217
void dcache_inval_range(uintptr_t start, size_t count)
Invalidate the data/operand cache.
void dcache_purge_all(void)
Purge all the data/operand cache.
void icache_flush_range(uintptr_t start, size_t count)
Flush the instruction cache.
static __always_inline void dcache_pref_block(const void *src)
Prefetch one block to the data/operand cache.
Definition cache.h:188
void dcache_purge_range(uintptr_t start, size_t count)
Purge the data/operand cache.
static __always_inline void dcache_wback_sq(void *src)
Write-back Store Queue buffer to external memory.
Definition cache.h:202
void dcache_flush_all(void)
Flush all the data/operand cache.
void dcache_purge_all_with_buffer(uintptr_t start, size_t count)
Purge all the data/operand cache with buffer.
void dcache_flush_range(uintptr_t start, size_t count)
Flush the data/operand cache.