coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
cache.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-3-Clause */
2 /*
3  * cache.h: Cache maintenance API for ARM
4  */
5 
6 #ifndef ARM_CACHE_H
7 #define ARM_CACHE_H
8 
9 #include <stddef.h>
10 
11 /*
12  * Cache maintenance API
13  */
14 
15 /* dcache clean and invalidate all (on current level given by CCSELR) */
17 
18 /* dcache clean by modified virtual address to PoC */
19 void dcache_clean_by_mva(void const *addr, size_t len);
20 
21 /* dcache clean and invalidate by modified virtual address to PoC */
22 void dcache_clean_invalidate_by_mva(void const *addr, size_t len);
23 
24 /* dcache invalidate by modified virtual address to PoC */
25 void dcache_invalidate_by_mva(void const *addr, size_t len);
26 
27 void dcache_clean_all(void);
28 
29 /* dcache invalidate all (on current level given by CCSELR) */
30 void dcache_invalidate_all(void);
31 
32 /* returns number of bytes per cache line */
33 unsigned int dcache_line_bytes(void);
34 
35 /* dcache and MMU disable */
36 void dcache_mmu_disable(void);
37 
38 /* dcache and MMU enable */
39 void dcache_mmu_enable(void);
40 
41 /* perform all icache/dcache maintenance needed after loading new code */
42 void cache_sync_instructions(void);
43 
44 /* tlb invalidate all */
45 void tlb_invalidate_all(void);
46 
47 #endif /* ARM_CACHE_H */
void cache_sync_instructions(void)
Definition: cache.c:57
void dcache_invalidate_all(void)
Definition: cache.c:22
void dcache_invalidate_by_mva(void const *addr, size_t len)
Definition: cache.c:45
void dcache_clean_all(void)
Definition: cache.c:14
void dcache_clean_by_mva(void const *addr, size_t len)
Definition: cache.c:37
void dcache_mmu_enable(void)
Definition: cache.c:53
void dcache_clean_invalidate_by_mva(void const *addr, size_t len)
Definition: cache.c:41
unsigned int dcache_line_bytes(void)
Definition: cache.c:26
void dcache_mmu_disable(void)
Definition: cache.c:49
void dcache_clean_invalidate_all(void)
Definition: cache.c:18
void tlb_invalidate_all(void)
Definition: cache.c:10
static u32 addr
Definition: cirrus.c:14