diff options
Diffstat (limited to 'include/asm-mips/cacheflush.h')
| -rw-r--r-- | include/asm-mips/cacheflush.h | 19 |
1 files changed, 4 insertions, 15 deletions
diff --git a/include/asm-mips/cacheflush.h b/include/asm-mips/cacheflush.h index 9ab59e2bb233..e3c9925876a3 100644 --- a/include/asm-mips/cacheflush.h +++ b/include/asm-mips/cacheflush.h | |||
| @@ -55,24 +55,13 @@ extern void (*flush_icache_range)(unsigned long start, unsigned long end); | |||
| 55 | #define flush_cache_vmap(start, end) flush_cache_all() | 55 | #define flush_cache_vmap(start, end) flush_cache_all() |
| 56 | #define flush_cache_vunmap(start, end) flush_cache_all() | 56 | #define flush_cache_vunmap(start, end) flush_cache_all() |
| 57 | 57 | ||
| 58 | static inline void copy_to_user_page(struct vm_area_struct *vma, | 58 | extern void copy_to_user_page(struct vm_area_struct *vma, |
| 59 | struct page *page, unsigned long vaddr, void *dst, const void *src, | 59 | struct page *page, unsigned long vaddr, void *dst, const void *src, |
| 60 | unsigned long len) | 60 | unsigned long len); |
| 61 | { | ||
| 62 | if (cpu_has_dc_aliases) | ||
| 63 | flush_cache_page(vma, vaddr, page_to_pfn(page)); | ||
| 64 | memcpy(dst, src, len); | ||
| 65 | __flush_icache_page(vma, page); | ||
| 66 | } | ||
| 67 | 61 | ||
| 68 | static inline void copy_from_user_page(struct vm_area_struct *vma, | 62 | extern void copy_from_user_page(struct vm_area_struct *vma, |
| 69 | struct page *page, unsigned long vaddr, void *dst, const void *src, | 63 | struct page *page, unsigned long vaddr, void *dst, const void *src, |
| 70 | unsigned long len) | 64 | unsigned long len); |
| 71 | { | ||
| 72 | if (cpu_has_dc_aliases) | ||
| 73 | flush_cache_page(vma, vaddr, page_to_pfn(page)); | ||
| 74 | memcpy(dst, src, len); | ||
| 75 | } | ||
| 76 | 65 | ||
| 77 | extern void (*flush_cache_sigtramp)(unsigned long addr); | 66 | extern void (*flush_cache_sigtramp)(unsigned long addr); |
| 78 | extern void (*flush_icache_all)(void); | 67 | extern void (*flush_icache_all)(void); |
