XCORE SDK
XCORE Software Development Kit
Classes | Macros | Typedefs | Functions
rtos_l2_cache_driver

Classes

struct  rtos_l2_cache_struct
 

Macros

#define RTOS_L2_CACHE_DIRECT_MAP   l2_cache_setup_direct_map, l2_cache_direct_map
 
#define RTOS_L2_CACHE_TWO_WAY_ASSOCIATIVE   l2_cache_setup_two_way, l2_cache_two_way
 
#define RTOS_L2_CACHE_BUFFER_WORDS_DIRECT_MAP   L2_CACHE_BUFFER_WORDS_DIRECT_MAP(L2_CACHE_LINE_COUNT, L2_CACHE_LINE_SIZE_BYTES)
 
#define RTOS_L2_CACHE_BUFFER_WORDS_TWO_WAY   L2_CACHE_BUFFER_WORDS_TWO_WAY(L2_CACHE_LINE_COUNT, L2_CACHE_LINE_SIZE_BYTES)
 

Typedefs

typedef struct rtos_l2_cache_struct rtos_l2_cache_t
 

Functions

void rtos_l2_cache_start (rtos_l2_cache_t *ctx)
 
void rtos_l2_cache_init (rtos_l2_cache_t *ctx, l2_cache_setup_fn setup_fn, l2_cache_thread_fn thread_fn, l2_cache_swmem_read_fn read_func, uint32_t io_core_mask, void *cache_buffer)
 

Detailed Description

The public API for using the RTOS software memory driver.

Macro Definition Documentation

◆ RTOS_L2_CACHE_BUFFER_WORDS_DIRECT_MAP

#define RTOS_L2_CACHE_BUFFER_WORDS_DIRECT_MAP   L2_CACHE_BUFFER_WORDS_DIRECT_MAP(L2_CACHE_LINE_COUNT, L2_CACHE_LINE_SIZE_BYTES)

Convenience macro that may be used to specify the size of the cache buffer for a direct map cache. A pointer to the buffer of size RTOS_L2_CACHE_BUFFER_WORDS_DIRECT_MAP should be passed to the cache_buffer argument of rtos_l2_cache_init().

◆ RTOS_L2_CACHE_BUFFER_WORDS_TWO_WAY

#define RTOS_L2_CACHE_BUFFER_WORDS_TWO_WAY   L2_CACHE_BUFFER_WORDS_TWO_WAY(L2_CACHE_LINE_COUNT, L2_CACHE_LINE_SIZE_BYTES)

Convenience macro that may be used to specify the size of the cache buffer for a two way associative cache. A pointer to the buffer of size RTOS_L2_CACHE_BUFFER_WORDS_TWO_WAY should be passed to the cache_buffer argument of rtos_l2_cache_init().

◆ RTOS_L2_CACHE_DIRECT_MAP

#define RTOS_L2_CACHE_DIRECT_MAP   l2_cache_setup_direct_map, l2_cache_direct_map

Convenience macro that may be used to specify the direct map cache to rtos_l2_cache_init() in place of setup_fn and thread_fn.

◆ RTOS_L2_CACHE_TWO_WAY_ASSOCIATIVE

#define RTOS_L2_CACHE_TWO_WAY_ASSOCIATIVE   l2_cache_setup_two_way, l2_cache_two_way

Convenience macro that may be used to specify the two way associative cache to rtos_l2_cache_init() in place of setup_fn and thread_fn.

Typedef Documentation

◆ rtos_l2_cache_t

Typedef to the RTOS l2 cache driver instance struct.

Function Documentation

◆ rtos_l2_cache_init()

void rtos_l2_cache_init ( rtos_l2_cache_t ctx,
l2_cache_setup_fn  setup_fn,
l2_cache_thread_fn  thread_fn,
l2_cache_swmem_read_fn  read_func,
uint32_t  io_core_mask,
void *  cache_buffer 
)

Initializes the l2 cache for use by the RTOS l2 cache memory driver.

Cache buffer must be dword aligned

◆ rtos_l2_cache_start()

void rtos_l2_cache_start ( rtos_l2_cache_t ctx)

Starts the RTOS l2 cache memory driver.