summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2007-11-05 07:12:32 (GMT)
committerPaul Mundt <lethal@linux-sh.org>2007-11-07 02:14:12 (GMT)
commit7747b9a493a197cb4db44c98d25ce6d3d9f586d1 (patch)
tree636aa0624e6768ef0e8ea02d0692f91dfb51d79f /include
parentf96691872439ab2071171d4531c4a95b5d493ae5 (diff)
downloadlinux-7747b9a493a197cb4db44c98d25ce6d3d9f586d1.tar.xz
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')
-rw-r--r--include/asm-sh/page.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/asm-sh/page.h b/include/asm-sh/page.h
index 3aa8b07..5e69de1 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);
#if !defined(CONFIG_CACHE_OFF) && defined(CONFIG_MMU) && \
(defined(CONFIG_CPU_SH4) || defined(CONFIG_SH7705_CACHE_32KB))
struct page;
+struct vm_area_struct;
extern void clear_user_page(void *to, unsigned long address, struct page *pg);
extern void copy_user_page(void *to, void *from, unsigned long address, struct page *pg);
extern void __clear_user_page(void *to, void *orig_to);
extern void __copy_user_page(void *to, void *from, void *orig_to);
+#ifdef CONFIG_CPU_SH4
+extern void copy_user_highpage(struct page *to, struct page *from,
+ unsigned long vaddr, struct vm_area_struct *vma);
+#define __HAVE_ARCH_COPY_USER_HIGHPAGE
+#endif
#else
#define clear_user_page(page, vaddr, pg) clear_page(page)
#define copy_user_page(to, from, vaddr, pg) copy_page(to, from)