aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2008-04-05 10:13:23 -0400
committerRalf Baechle <ralf@linux-mips.org>2008-04-07 17:31:04 -0400
commit9c5a3d729cf430609d091ff610a7db363aafcd47 (patch)
tree29f56334c48e2b9aeb80880813e045a7be6e4688 /include
parent950b0d28378c4ee63a30dad732a8319c8a41c95d (diff)
[MIPS] Handle aliases in vmalloc correctly.
flush_cache_vmap / flush_cache_vunmap were calling flush_cache_all which - having been deprecated - turned into a nop ... Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'include')
-rw-r--r--include/asm-mips/cacheflush.h18
1 files changed, 16 insertions, 2 deletions
diff --git a/include/asm-mips/cacheflush.h b/include/asm-mips/cacheflush.h
index 01e7eadc97e2..d5c0f2fda51b 100644
--- a/include/asm-mips/cacheflush.h
+++ b/include/asm-mips/cacheflush.h
@@ -63,8 +63,22 @@ static inline void flush_icache_page(struct vm_area_struct *vma,
63} 63}
64 64
65extern void (*flush_icache_range)(unsigned long start, unsigned long end); 65extern void (*flush_icache_range)(unsigned long start, unsigned long end);
66#define flush_cache_vmap(start, end) flush_cache_all() 66
67#define flush_cache_vunmap(start, end) flush_cache_all() 67extern void (*__flush_cache_vmap)(void);
68
69static inline void flush_cache_vmap(unsigned long start, unsigned long end)
70{
71 if (cpu_has_dc_aliases)
72 __flush_cache_vmap();
73}
74
75extern void (*__flush_cache_vunmap)(void);
76
77static inline void flush_cache_vunmap(unsigned long start, unsigned long end)
78{
79 if (cpu_has_dc_aliases)
80 __flush_cache_vunmap();
81}
68 82
69extern void copy_to_user_page(struct vm_area_struct *vma, 83extern void copy_to_user_page(struct vm_area_struct *vma,
70 struct page *page, unsigned long vaddr, void *dst, const void *src, 84 struct page *page, unsigned long vaddr, void *dst, const void *src,