107 __asm__ __volatile__(
"mrc p15, 0, %0, c1, c0, 0"
112 __asm__ __volatile__(
"mcr p15, 0, %0, c1, c0, 0"
116 __asm__ __volatile__(
"mrc p15, 0, %0, c1, c0, 0"
124 __asm__ __volatile__(
"mrc p15, 0, %0, c1, c0, 0"
129 __asm__ __volatile__(
"mcr p15, 0, %0, c1, c0, 0"
133 __asm__ __volatile__(
"mrc p15, 0, %0, c1, c0, 0"
141 __asm__ __volatile__(
"mrc p15, 0, %0, c1, c0, 0"
146 __asm__ __volatile__(
"mcr p15, 0, %0, c1, c0, 0"
150 __asm__ __volatile__(
"mrc p15, 0, %0, c1, c0, 0"
158 __asm__ __volatile__(
"mrc p15, 0, %0, c1, c0, 0"
163 __asm__ __volatile__(
"mcr p15, 0, %0, c1, c0, 0"
167 __asm__ __volatile__(
"mrc p15, 0, %0, c1, c0, 0"
181 for (addr = aligned_start; addr < aligned_end; addr += line_size) {
182 __asm__ __volatile__(
183 "mcr p15, 0, %0, c7, c14, 1"
201 for (addr = aligned_start; addr < aligned_end; addr += line_size) {
202 __asm__ __volatile__(
203 "mcr p15, 0, %0, c7, c6, 1"
#define dsb()
Definition barrier.h:41
static void invalidate_dcache_all()
Invalidate the entire data cache.
Definition cache.h:218
static void flush_dcache_range(uint64_t start, uint64_t end)
Flush a range of addresses from the data cache.
Definition cache.h:173
static void arm32_dcache_enable(void)
Enable the ARM32 data cache.
Definition cache.h:105
static void arm32_icache_enable(void)
Enable the ARM32 instruction cache.
Definition cache.h:139
static void arm32_icache_disable(void)
Disable the ARM32 instruction cache.
Definition cache.h:156
static void invalidate_dcache_range(uint64_t start, uint64_t end)
Invalidate a range of addresses in the data cache.
Definition cache.h:193
static void data_sync_barrier(void)
Insert a data synchronization barrier.
Definition cache.h:99
static void flush_dcache_all()
Flush (clean) the entire data cache.
Definition cache.h:213
static void arm32_dcache_disable(void)
Disable the ARM32 data cache.
Definition cache.h:122
u64_t uint64_t
Definition stdint.h:16
u32_t uint32_t
Definition stdint.h:13
static uint8_t value
Definition io.h:144
Memory barrier definitions for RISC-V architecture.