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)25static 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)34static 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