diff options
Diffstat (limited to 'include/asm-sh/cacheflush.h')
-rw-r--r-- | include/asm-sh/cacheflush.h | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/include/asm-sh/cacheflush.h b/include/asm-sh/cacheflush.h index aa558da08471..b91246153b7e 100644 --- a/include/asm-sh/cacheflush.h +++ b/include/asm-sh/cacheflush.h | |||
@@ -43,21 +43,31 @@ extern void __flush_purge_region(void *start, int size); | |||
43 | extern void __flush_invalidate_region(void *start, int size); | 43 | extern void __flush_invalidate_region(void *start, int size); |
44 | #endif | 44 | #endif |
45 | 45 | ||
46 | #define flush_cache_vmap(start, end) flush_cache_all() | 46 | #ifdef CONFIG_CPU_SH4 |
47 | #define flush_cache_vunmap(start, end) flush_cache_all() | 47 | extern void copy_to_user_page(struct vm_area_struct *vma, |
48 | struct page *page, unsigned long vaddr, void *dst, const void *src, | ||
49 | unsigned long len); | ||
48 | 50 | ||
49 | #define copy_to_user_page(vma, page, vaddr, dst, src, len) \ | 51 | extern void copy_from_user_page(struct vm_area_struct *vma, |
52 | struct page *page, unsigned long vaddr, void *dst, const void *src, | ||
53 | unsigned long len); | ||
54 | #else | ||
55 | #define copy_to_user_page(vma, page, vaddr, dst, src, len) \ | ||
50 | do { \ | 56 | do { \ |
51 | flush_cache_page(vma, vaddr, page_to_pfn(page));\ | 57 | flush_cache_page(vma, vaddr, page_to_pfn(page));\ |
52 | memcpy(dst, src, len); \ | 58 | memcpy(dst, src, len); \ |
53 | flush_icache_user_range(vma, page, vaddr, len); \ | 59 | flush_icache_user_range(vma, page, vaddr, len); \ |
54 | } while (0) | 60 | } while (0) |
55 | 61 | ||
56 | #define copy_from_user_page(vma, page, vaddr, dst, src, len) \ | 62 | #define copy_from_user_page(vma, page, vaddr, dst, src, len) \ |
57 | do { \ | 63 | do { \ |
58 | flush_cache_page(vma, vaddr, page_to_pfn(page));\ | 64 | flush_cache_page(vma, vaddr, page_to_pfn(page));\ |
59 | memcpy(dst, src, len); \ | 65 | memcpy(dst, src, len); \ |
60 | } while (0) | 66 | } while (0) |
67 | #endif | ||
68 | |||
69 | #define flush_cache_vmap(start, end) flush_cache_all() | ||
70 | #define flush_cache_vunmap(start, end) flush_cache_all() | ||
61 | 71 | ||
62 | #define HAVE_ARCH_UNMAPPED_AREA | 72 | #define HAVE_ARCH_UNMAPPED_AREA |
63 | 73 | ||