L4Re Operating System Framework
Interface and Usage Documentation
Loading...
Searching...
No Matches
cache.h
Go to the documentation of this file.
1
10/*
11 * (c) 2007-2009 Author(s)
12 * economic rights: Technische Universität Dresden (Germany)
13 *
14 * This file is part of TUD:OS and distributed under the terms of the
15 * GNU General Public License 2.
16 * Please see the COPYING-GPL-2 file for details.
17 *
18 * As a special exception, you may use this file as part of a free software
19 * library without restriction. Specifically, if other files instantiate
20 * templates or use macros or inline functions from this file, or you compile
21 * this file and link it with other files to produce an executable, this
22 * file does not by itself cause the resulting executable to be covered by
23 * the GNU General Public License. This exception does not however
24 * invalidate any other reasons why the executable file might be covered by
25 * the GNU General Public License.
26 */
27
28#ifndef __L4SYS__INCLUDE__CACHE_H__
29#define __L4SYS__INCLUDE__CACHE_H__
30
31#include <l4/sys/compiler.h>
32
49
64L4_INLINE int
65l4_cache_clean_data(unsigned long start,
66 unsigned long end) L4_NOTHROW;
67
82L4_INLINE int
83l4_cache_flush_data(unsigned long start,
84 unsigned long end) L4_NOTHROW;
85
104L4_INLINE int
105l4_cache_inv_data(unsigned long start,
106 unsigned long end) L4_NOTHROW;
107
119L4_INLINE int
120l4_cache_coherent(unsigned long start,
121 unsigned long end) L4_NOTHROW;
122
134L4_INLINE int
135l4_cache_dma_coherent(unsigned long start,
136 unsigned long end) L4_NOTHROW;
137
138#if !defined(ARCH_arm64)
143L4_INLINE int
145#endif
146
148
149#endif /* ! __L4SYS__INCLUDE__CACHE_H__ */
L4 compiler related defines.
int l4_cache_dma_coherent(unsigned long start, unsigned long end) L4_NOTHROW
Make memory coherent for use with external memory; writes back to PoC.
Definition cache.h:60
int l4_cache_dma_coherent_full(void) L4_NOTHROW
Make memory coherent for use with external memory; writes back to PoC.
Definition cache.h:68
int l4_cache_flush_data(unsigned long start, unsigned long end) L4_NOTHROW
Cache flush a range; writes back to PoC.
Definition cache.h:36
int l4_cache_coherent(unsigned long start, unsigned long end) L4_NOTHROW
Make memory coherent between I-cache and D-cache; writes back to PoU.
Definition cache.h:52
int l4_cache_clean_data(unsigned long start, unsigned long end) L4_NOTHROW
Cache clean a range in D-cache; writes back to PoC.
Definition cache.h:28
int l4_cache_inv_data(unsigned long start, unsigned long end) L4_NOTHROW
Cache invalidate a range; might write back to PoC.
Definition cache.h:44
#define L4_NOTHROW
Mark a function declaration and definition as never throwing an exception.
Definition compiler.h:188
#define L4_INLINE
L4 Inline function attribute.
Definition compiler.h:62
#define EXTERN_C_BEGIN
Start section with C types and functions.
Definition compiler.h:192
#define EXTERN_C_END
End section with C types and functions.
Definition compiler.h:193