XCORE SDK
XCORE Software Development Kit
rtos_l2_cache.h
1 // Copyright 2021 XMOS LIMITED.
2 // This Software is subject to the terms of the XMOS Public Licence: Version 1.
3 
4 #ifndef RTOS_L2_CACHE_H_
5 #define RTOS_L2_CACHE_H_
6 
14 #include <xcore/channel.h>
15 
16 #include "rtos_osal.h"
17 #include "l2_cache.h"
18 
23 #define RTOS_L2_CACHE_DIRECT_MAP l2_cache_setup_direct_map, l2_cache_direct_map
24 
29 #define RTOS_L2_CACHE_TWO_WAY_ASSOCIATIVE l2_cache_setup_two_way, l2_cache_two_way
30 
37 #define RTOS_L2_CACHE_BUFFER_WORDS_DIRECT_MAP L2_CACHE_BUFFER_WORDS_DIRECT_MAP(L2_CACHE_LINE_COUNT, L2_CACHE_LINE_SIZE_BYTES)
38 
45 #define RTOS_L2_CACHE_BUFFER_WORDS_TWO_WAY L2_CACHE_BUFFER_WORDS_TWO_WAY(L2_CACHE_LINE_COUNT, L2_CACHE_LINE_SIZE_BYTES)
46 
51 
58  L2_CACHE_SETUP_FN_ATTR l2_cache_setup_fn l2_cache_setup;
59  L2_CACHE_THREAD_FN_ATTR l2_cache_thread_fn l2_cache_thread;
60  L2_CACHE_SWMEM_READ_FN l2_cache_swmem_read_fn read_func;
61  rtos_osal_thread_t hil_thread;
62  chanend_t c_start;
63  chanend_t c_thread;
64  void* cache_buffer;
65 };
66 
71 
78  rtos_l2_cache_t* ctx,
79  l2_cache_setup_fn setup_fn,
80  l2_cache_thread_fn thread_fn,
81  l2_cache_swmem_read_fn read_func,
82  uint32_t io_core_mask,
83  void* cache_buffer);
84 
87 #endif /* RTOS_L2_CACHE_H_ */
void rtos_l2_cache_start(rtos_l2_cache_t *ctx)
Definition: rtos_l2_cache.c:35
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)
Definition: rtos_l2_cache.c:41
Definition: rtos_l2_cache.h:57