Zephyr API Documentation 4.1.99
A Scalable Open Source RTOS
 4.1.99
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
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)
 
#define cache_data_invd_range(addr, size)
 
#define cache_data_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)
 
#define cache_instr_invd_range(addr, size)
 
#define cache_instr_flush_and_invd_range(addr, size)
 
#define cache_instr_line_size_get   arch_icache_line_size_get
 
#define cache_is_ptr_cached(ptr)
 
#define cache_is_ptr_uncached(ptr)
 
#define cache_cached_ptr(ptr)
 
#define cache_uncached_ptr(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 * arch_cache_cached_ptr_get (void *ptr)
 
void * arch_cache_uncached_ptr_get (void *ptr)
 
void arch_cache_init (void)
 

Detailed Description

Public APIs for architectural cache controller drivers.