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

cache API interface More...

#include <zephyr/kernel.h>
#include <zephyr/arch/cpu.h>
#include <zephyr/debug/sparse.h>
#include <zephyr/syscalls/cache.h>

Go to the source code of this file.

Functions

static ALWAYS_INLINE void sys_cache_data_enable (void)
 Enable the d-cache.
 
static ALWAYS_INLINE void sys_cache_data_disable (void)
 Disable the d-cache.
 
static ALWAYS_INLINE void sys_cache_instr_enable (void)
 Enable the i-cache.
 
static ALWAYS_INLINE void sys_cache_instr_disable (void)
 Disable the i-cache.
 
static ALWAYS_INLINE int sys_cache_data_flush_all (void)
 Flush the d-cache.
 
static ALWAYS_INLINE int sys_cache_instr_flush_all (void)
 Flush the i-cache.
 
static ALWAYS_INLINE int sys_cache_data_invd_all (void)
 Invalidate the d-cache.
 
static ALWAYS_INLINE int sys_cache_instr_invd_all (void)
 Invalidate the i-cache.
 
static ALWAYS_INLINE int sys_cache_data_flush_and_invd_all (void)
 Flush and Invalidate the d-cache.
 
static ALWAYS_INLINE int sys_cache_instr_flush_and_invd_all (void)
 Flush and Invalidate the i-cache.
 
int sys_cache_data_flush_range (void *addr, size_t size)
 Flush an address range in the d-cache.
 
static ALWAYS_INLINE int sys_cache_instr_flush_range (void *addr, size_t size)
 Flush an address range in the i-cache.
 
int sys_cache_data_invd_range (void *addr, size_t size)
 Invalidate an address range in the d-cache.
 
static ALWAYS_INLINE int sys_cache_instr_invd_range (void *addr, size_t size)
 Invalidate an address range in the i-cache.
 
int sys_cache_data_flush_and_invd_range (void *addr, size_t size)
 Flush and Invalidate an address range in the d-cache.
 
static ALWAYS_INLINE int sys_cache_instr_flush_and_invd_range (void *addr, size_t size)
 Flush and Invalidate an address range in the i-cache.
 
static ALWAYS_INLINE size_t sys_cache_data_line_size_get (void)
 Get the d-cache line size.
 
static ALWAYS_INLINE size_t sys_cache_instr_line_size_get (void)
 Get the i-cache line size.
 
static ALWAYS_INLINE bool sys_cache_is_ptr_cached (void *ptr)
 Test if a pointer is in cached region.
 
static ALWAYS_INLINE bool sys_cache_is_ptr_uncached (void *ptr)
 Test if a pointer is in un-cached region.
 
static ALWAYS_INLINE void __sparse_cache * sys_cache_cached_ptr_get (void *ptr)
 Return cached pointer to a RAM address.
 
static ALWAYS_INLINE void * sys_cache_uncached_ptr_get (void __sparse_cache *ptr)
 Return uncached pointer to a RAM address.
 

Detailed Description

cache API interface