| * Copyright (c) 2015 Wind River Systems, Inc. |
| * SPDX-License-Identifier: Apache-2.0 |
| #define _sys_cache_flush_sig(x) void (x)(vaddr_t virt, size_t size) |
| #if defined(CONFIG_CACHE_FLUSHING) |
| #if defined(CONFIG_ARCH_CACHE_FLUSH_DETECT) |
| typedef _sys_cache_flush_sig(_sys_cache_flush_t); |
| extern _sys_cache_flush_t *sys_cache_flush; |
| extern _sys_cache_flush_sig(sys_cache_flush); |
| * Provide NOP APIs for systems that do not have caches. |
| * An example is the Cortex-M chips. However, the functions are provided so |
| * that code that need to manipulate caches can be written in an |
| * architecture-agnostic manner. The functions do nothing. The cache line size |
| static inline _sys_cache_flush_sig(sys_cache_flush) |
| #endif /* CACHE_FLUSHING */ |
| #if defined(CONFIG_CACHE_LINE_SIZE_DETECT) |
| extern size_t sys_cache_line_size; |
| #elif defined(CONFIG_CACHE_LINE_SIZE) |
| #define sys_cache_line_size CONFIG_CACHE_LINE_SIZE |
| #define sys_cache_line_size 0 |