diff options
author | Paul Mundt <lethal@linux-sh.org> | 2007-11-05 02:12:32 -0500 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2007-11-06 21:14:12 -0500 |
commit | 7747b9a493a197cb4db44c98d25ce6d3d9f586d1 (patch) | |
tree | 636aa0624e6768ef0e8ea02d0692f91dfb51d79f /include/asm-sh/page.h | |
parent | f96691872439ab2071171d4531c4a95b5d493ae5 (diff) |
sh: Wire up clear_user_highpage().
With the kmap_coherent() API in place, this is trivial to implement,
and lets us avoid the cache flush in certain cases.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'include/asm-sh/page.h')
-rw-r--r-- | include/asm-sh/page.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/asm-sh/page.h b/include/asm-sh/page.h index 3aa8b07da47d..5e69de1eacdf 100644 --- a/include/asm-sh/page.h +++ b/include/asm-sh/page.h | |||
@@ -73,10 +73,16 @@ extern void copy_page_nommu(void *to, void *from); | |||
73 | #if !defined(CONFIG_CACHE_OFF) && defined(CONFIG_MMU) && \ | 73 | #if !defined(CONFIG_CACHE_OFF) && defined(CONFIG_MMU) && \ |
74 | (defined(CONFIG_CPU_SH4) || defined(CONFIG_SH7705_CACHE_32KB)) | 74 | (defined(CONFIG_CPU_SH4) || defined(CONFIG_SH7705_CACHE_32KB)) |
75 | struct page; | 75 | struct page; |
76 | struct vm_area_struct; | ||
76 | extern void clear_user_page(void *to, unsigned long address, struct page *pg); | 77 | extern void clear_user_page(void *to, unsigned long address, struct page *pg); |
77 | extern void copy_user_page(void *to, void *from, unsigned long address, struct page *pg); | 78 | extern void copy_user_page(void *to, void *from, unsigned long address, struct page *pg); |
78 | extern void __clear_user_page(void *to, void *orig_to); | 79 | extern void __clear_user_page(void *to, void *orig_to); |
79 | extern void __copy_user_page(void *to, void *from, void *orig_to); | 80 | extern void __copy_user_page(void *to, void *from, void *orig_to); |
81 | #ifdef CONFIG_CPU_SH4 | ||
82 | extern void copy_user_highpage(struct page *to, struct page *from, | ||
83 | unsigned long vaddr, struct vm_area_struct *vma); | ||
84 | #define __HAVE_ARCH_COPY_USER_HIGHPAGE | ||
85 | #endif | ||
80 | #else | 86 | #else |
81 | #define clear_user_page(page, vaddr, pg) clear_page(page) | 87 | #define clear_user_page(page, vaddr, pg) clear_page(page) |
82 | #define copy_user_page(to, from, vaddr, pg) copy_page(to, from) | 88 | #define copy_user_page(to, from, vaddr, pg) copy_page(to, from) |