libmetal
cache.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2018, Linaro Limited. and Contributors. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 /*
8  * @file freertos/cache.h
9  * @brief FreeRTOS cache operation primitives for libmetal.
10  */
11 
12 #ifndef __METAL_CACHE__H__
13 #error "Include metal/cache.h instead of metal/freertos/cache.h"
14 #endif
15 
16 #ifndef __METAL_FREERTOS_CACHE__H__
17 #define __METAL_FREERTOS_CACHE__H__
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22 
23 extern void metal_machine_cache_flush(void *addr, unsigned int len);
24 extern void metal_machine_cache_invalidate(void *addr, unsigned int len);
25 
26 static inline void __metal_cache_flush(void *addr, unsigned int len)
27 {
28  metal_machine_cache_flush(addr, len);
29 }
30 
31 static inline void __metal_cache_invalidate(void *addr, unsigned int len)
32 {
34 }
35 
36 #ifdef __cplusplus
37 }
38 #endif
39 
40 #endif /* __METAL_FREERTOS_CACHE__H__ */
void metal_machine_cache_invalidate(void *addr, unsigned int len)
Definition: sys.c:49
void metal_machine_cache_flush(void *addr, unsigned int len)
Definition: sys.c:41
static void __metal_cache_invalidate(void *addr, unsigned int len)
Definition: cache.h:31
static void __metal_cache_flush(void *addr, unsigned int len)
Definition: cache.h:26