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 generic/cache.h 9 * @brief generic cache operation primitives for libmetal. 10 */ 11 12 #ifndef __METAL_CACHE__H__ 13 #error "Include metal/cache.h instead of metal/generic/cache.h" 14 #endif 15 16 #ifndef __METAL_GENERIC_CACHE__H__ 17 #define __METAL_GENERIC_CACHE__H__ 18 19 #ifdef __cplusplus 20 extern "C" { 21 #endif 22 23 void metal_machine_cache_flush(void *addr, unsigned int len); 24 void metal_machine_cache_invalidate(void *addr, unsigned int len); 25 __metal_cache_flush(void * addr,unsigned int len)26static inline void __metal_cache_flush(void *addr, unsigned int len) 27 { 28 metal_machine_cache_flush(addr, len); 29 } 30 __metal_cache_invalidate(void * addr,unsigned int len)31static inline void __metal_cache_invalidate(void *addr, unsigned int len) 32 { 33 metal_machine_cache_invalidate(addr, len); 34 } 35 36 #ifdef __cplusplus 37 } 38 #endif 39 40 #endif /* __METAL_GENERIC_CACHE__H__ */ 41