Zephyr Project API 3.7.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
cache.h File Reference

Public APIs for architectural cache controller drivers. More...

Go to the source code of this file.

Macros

#define cache_data_enable   arch_dcache_enable
 
#define cache_data_disable   arch_dcache_disable
 
#define cache_data_flush_all   arch_dcache_flush_all
 
#define cache_data_invd_all   arch_dcache_invd_all
 
#define cache_data_flush_and_invd_all   arch_dcache_flush_and_invd_all
 
#define cache_data_flush_range(addr, size)   arch_dcache_flush_range(addr, size)
 
#define cache_data_invd_range(addr, size)   arch_dcache_invd_range(addr, size)
 
#define cache_data_flush_and_invd_range(addr, size)    arch_dcache_flush_and_invd_range(addr, size)
 
#define cache_data_line_size_get   arch_dcache_line_size_get
 
#define cache_instr_enable   arch_icache_enable
 
#define cache_instr_disable   arch_icache_disable
 
#define cache_instr_flush_all   arch_icache_flush_all
 
#define cache_instr_invd_all   arch_icache_invd_all
 
#define cache_instr_flush_and_invd_all   arch_icache_flush_and_invd_all
 
#define cache_instr_flush_range(addr, size)   arch_icache_flush_range(addr, size)
 
#define cache_instr_invd_range(addr, size)   arch_icache_invd_range(addr, size)
 
#define cache_instr_flush_and_invd_range(addr, size)    arch_icache_flush_and_invd_range(addr, size)
 
#define cache_instr_line_size_get   arch_icache_line_size_get
 
#define cache_is_ptr_cached(ptr)   arch_cache_is_ptr_cached(ptr)
 
#define cache_is_ptr_uncached(ptr)   arch_cache_is_ptr_uncached(ptr)
 
#define cache_cached_ptr(ptr)   arch_cache_cached_ptr_get(ptr)
 
#define cache_uncached_ptr(ptr)   arch_cache_uncached_ptr_get(ptr)
 

Functions

void arch_dcache_enable (void)
 Enable the d-cache.
 
void arch_dcache_disable (void)
 Disable the d-cache.
 
int arch_dcache_flush_all (void)
 Flush the d-cache.
 
int arch_dcache_invd_all (void)
 Invalidate the d-cache.
 
int arch_dcache_flush_and_invd_all (void)
 Flush and Invalidate the d-cache.
 
int arch_dcache_flush_range (void *addr, size_t size)
 Flush an address range in the d-cache.
 
int arch_dcache_invd_range (void *addr, size_t size)
 Invalidate an address range in the d-cache.
 
int arch_dcache_flush_and_invd_range (void *addr, size_t size)
 Flush and Invalidate an address range in the d-cache.
 
size_t arch_dcache_line_size_get (void)
 Get the d-cache line size.
 
void arch_icache_enable (void)
 Enable the i-cache.
 
void arch_icache_disable (void)
 Disable the i-cache.
 
int arch_icache_flush_all (void)
 Flush the i-cache.
 
int arch_icache_invd_all (void)
 Invalidate the i-cache.
 
int arch_icache_flush_and_invd_all (void)
 Flush and Invalidate the i-cache.
 
int arch_icache_flush_range (void *addr, size_t size)
 Flush an address range in the i-cache.
 
int arch_icache_invd_range (void *addr, size_t size)
 Invalidate an address range in the i-cache.
 
int arch_icache_flush_and_invd_range (void *addr, size_t size)
 Flush and Invalidate an address range in the i-cache.
 
size_t arch_icache_line_size_get (void)
 Get the i-cache line size.
 
bool arch_cache_is_ptr_cached (void *ptr)
 
bool arch_cache_is_ptr_uncached (void *ptr)
 
void __sparse_cache * arch_cache_cached_ptr_get (void *ptr)
 
void * arch_cache_uncached_ptr_get (void __sparse_cache *ptr)
 

Detailed Description

Public APIs for architectural cache controller drivers.