Go to the documentation of this file.
12 #ifndef __UNICORE_CACHEFLUSH_H__
13 #define __UNICORE_CACHEFLUSH_H__
17 #include <asm/shmparam.h>
19 #define CACHE_COLOUR(vaddr) ((vaddr & (SHMLBA - 1)) >> PAGE_SHIFT)
25 #define PG_dcache_clean PG_arch_1
119 unsigned long,
void *,
const void *,
unsigned long);
120 #define copy_from_user_page(vma, page, vaddr, dst, src, len) \
122 memcpy(dst, src, len); \
129 static inline void __flush_icache_all(
void)
131 asm(
"movc p0.c5, %0, #20;\n"
132 "nop; nop; nop; nop; nop; nop; nop; nop\n"
137 #define flush_cache_all() __cpuc_flush_kern_all()
141 unsigned long start,
unsigned long end);
143 unsigned long user_addr,
unsigned long pfn);
145 #define flush_cache_dup_mm(mm) flush_cache_mm(mm)
152 #define flush_cache_user_range(vma, start, end) \
153 __cpuc_coherent_user_range((start) & PAGE_MASK, PAGE_ALIGN(end))
159 #define flush_icache_range(s, e) __cpuc_coherent_kern_range(s, e)
165 #define clean_dcache_area(start, size) cpu_dcache_clean_area(start, size)
179 #define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE 1
182 #define flush_dcache_mmap_lock(mapping) \
183 spin_lock_irq(&(mapping)->tree_lock)
184 #define flush_dcache_mmap_unlock(mapping) \
185 spin_unlock_irq(&(mapping)->tree_lock)
187 #define flush_icache_user_range(vma, page, addr, len) \
188 flush_dcache_page(page)
194 #define flush_icache_page(vma, page) do { } while (0)