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