aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/include/asm/page.h
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2009-07-27 08:30:17 -0400
committerPaul Mundt <lethal@linux-sh.org>2009-07-27 08:30:17 -0400
commit0dfae7d5a21901b28ec0452d71be64adf5ea323e (patch)
tree1ff16641313a76505ec89058d953c92d355af275 /arch/sh/include/asm/page.h
parent221c007b028ebf663ebee4fc90483909547d92a7 (diff)
sh: Use the now generic SH-4 clear/copy page ops for all MMU platforms.
Now that the SH-4 page clear/copy ops are generic, they can be used for all platforms with CONFIG_MMU=y. SH-5 remains the odd one out, but it too will gradually be converted over to using this interface. SH-3 platforms which do not contain aliases will see no impact from this change, while aliasing SH-3 platforms will get the same interface as SH-4. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/include/asm/page.h')
-rw-r--r--arch/sh/include/asm/page.h11
1 files changed, 6 insertions, 5 deletions
diff --git a/arch/sh/include/asm/page.h b/arch/sh/include/asm/page.h
index 5208b7bfc24e..847eeabb9083 100644
--- a/arch/sh/include/asm/page.h
+++ b/arch/sh/include/asm/page.h
@@ -63,22 +63,23 @@ extern void copy_page(void *to, void *from);
63struct page; 63struct page;
64struct vm_area_struct; 64struct vm_area_struct;
65 65
66#if !defined(CONFIG_CACHE_OFF) && defined(CONFIG_MMU) && \ 66#if defined(CONFIG_CPU_SH5)
67 (defined(CONFIG_CPU_SH5) || defined(CONFIG_CPU_SH4) || \
68 defined(CONFIG_SH7705_CACHE_32KB))
69extern void clear_user_page(void *to, unsigned long address, struct page *page); 67extern void clear_user_page(void *to, unsigned long address, struct page *page);
70extern void copy_user_page(void *to, void *from, unsigned long address, 68extern void copy_user_page(void *to, void *from, unsigned long address,
71 struct page *page); 69 struct page *page);
72#if defined(CONFIG_CPU_SH4) || defined(CONFIG_SH7705_CACHE_32KB) 70
71#elif defined(CONFIG_MMU)
73extern void copy_user_highpage(struct page *to, struct page *from, 72extern void copy_user_highpage(struct page *to, struct page *from,
74 unsigned long vaddr, struct vm_area_struct *vma); 73 unsigned long vaddr, struct vm_area_struct *vma);
75#define __HAVE_ARCH_COPY_USER_HIGHPAGE 74#define __HAVE_ARCH_COPY_USER_HIGHPAGE
76extern void clear_user_highpage(struct page *page, unsigned long vaddr); 75extern void clear_user_highpage(struct page *page, unsigned long vaddr);
77#define clear_user_highpage clear_user_highpage 76#define clear_user_highpage clear_user_highpage
78#endif 77
79#else 78#else
79
80#define clear_user_page(page, vaddr, pg) clear_page(page) 80#define clear_user_page(page, vaddr, pg) clear_page(page)
81#define copy_user_page(to, from, vaddr, pg) copy_page(to, from) 81#define copy_user_page(to, from, vaddr, pg) copy_page(to, from)
82
82#endif 83#endif
83 84
84/* 85/*