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	linux/cache.h
9  * @brief	Linux cache operation primitives for libmetal.
10  */
11 
12 #ifndef __METAL_CACHE__H__
13 #error "Include metal/cache.h instead of metal/linux/cache.h"
14 #endif
15 
16 #ifndef __METAL_LINUX_CACHE__H__
17 #define __METAL_LINUX_CACHE__H__
18 
19 #include <metal/utilities.h>
20 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24 
__metal_cache_flush(void * addr,unsigned int len)25 static inline void __metal_cache_flush(void *addr, unsigned int len)
26 {
27 	/** Do nothing.
28 	 *  Do not flush cache from Linux userspace.
29 	 */
30 	metal_unused(addr);
31 	metal_unused(len);
32 }
33 
__metal_cache_invalidate(void * addr,unsigned int len)34 static inline void __metal_cache_invalidate(void *addr, unsigned int len)
35 {
36 	/** Do nothing.
37 	 *  Do not flush cache from Linux userspace.
38 	 */
39 	metal_unused(addr);
40 	metal_unused(len);
41 }
42 
43 #ifdef __cplusplus
44 }
45 #endif
46 
47 #endif /* __METAL_LINUX_CACHE__H__ */
48