15 #ifndef _RTEMS_RTEMS_CACHE_H 16 #define _RTEMS_RTEMS_CACHE_H 23 #include <sys/types.h> 153 const void * code_addr,
284 #if defined( RTEMS_SMP ) 299 void rtems_cache_flush_multiple_data_lines_processor_set(
302 const size_t setsize,
322 void rtems_cache_invalidate_multiple_data_lines_processor_set(
325 const size_t setsize,
339 void rtems_cache_flush_entire_data_processor_set(
340 const size_t setsize,
356 void rtems_cache_invalidate_entire_data_processor_set(
357 const size_t setsize,
void * rtems_cache_aligned_malloc(size_t nbytes)
This function is used to allocate storage that spans an integral number of cache blocks.
Definition: cachealignedalloc.c:17
void * rtems_cache_coherent_allocate(size_t size, uintptr_t alignment, uintptr_t boundary)
Allocates a memory area of size size bytes from cache coherent memory.
Definition: cachecoherentalloc.c:35
void rtems_cache_enable_instruction(void)
This function enables the instruction cache.
void rtems_cache_instruction_sync_after_code_change(const void *code_addr, size_t n_bytes)
Ensure necessary synchronization required after code changes.
void rtems_cache_invalidate_entire_data(void)
This function is responsible for performing a data cache invalidate.
void rtems_cache_disable_instruction(void)
This function disables the instruction cache.
void rtems_cache_freeze_data(void)
This function freezes the data cache.
void rtems_cache_enable_data(void)
This function enables the data cache.
void rtems_cache_invalidate_multiple_instruction_lines(const void *addr, size_t size)
Invalidates multiple instruction cache lines.
void rtems_cache_flush_multiple_data_lines(const void *addr, size_t size)
Flushes multiple data cache lines.
void rtems_cache_coherent_free(void *ptr)
Frees memory allocated by rtems_cache_coherent_allocate().
Definition: cachecoherentalloc.c:63
void rtems_cache_invalidate_multiple_data_lines(const void *addr, size_t size)
Invalidates multiple data cache lines.
void rtems_cache_disable_data(void)
This function disables the data cache.
size_t rtems_cache_get_data_cache_size(uint32_t level)
Returns the data cache size in bytes.
size_t rtems_cache_get_data_line_size(void)
Returns the data cache line size in bytes.
void rtems_cache_unfreeze_instruction(void)
This function unfreezes the instruction cache.
size_t rtems_cache_get_maximal_line_size(void)
Returns the maximal cache line size of all cache kinds in bytes.
Information Included in Every Function in the Executive.
void rtems_cache_freeze_instruction(void)
This function freezes the instruction cache.
void rtems_cache_unfreeze_data(void)
This function unfreezes the data cache.
size_t rtems_cache_get_instruction_line_size(void)
Returns the instruction cache line size in bytes.
void rtems_cache_coherent_add_area(void *area_begin, uintptr_t area_size)
Adds a cache coherent memory area to the cache coherent allocator.
Definition: cachecoherentalloc.c:108
void rtems_cache_invalidate_entire_instruction(void)
Invalidates the entire instruction cache.
void rtems_cache_flush_entire_data(void)
Flushes the entire data cache.
size_t rtems_cache_get_instruction_cache_size(uint32_t level)
Returns the instruction cache size in bytes.