aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/mm/cache-sh5.c
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/mm/cache-sh5.c
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/mm/cache-sh5.c')
-rw-r--r--arch/sh/mm/cache-sh5.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/arch/sh/mm/cache-sh5.c b/arch/sh/mm/cache-sh5.c
index 86762092508c..3e2d7321b636 100644
--- a/arch/sh/mm/cache-sh5.c
+++ b/arch/sh/mm/cache-sh5.c
@@ -831,4 +831,21 @@ void clear_user_page(void *to, unsigned long address, struct page *page)
831 else 831 else
832 sh64_clear_user_page_coloured(to, address); 832 sh64_clear_user_page_coloured(to, address);
833} 833}
834
835void copy_to_user_page(struct vm_area_struct *vma, struct page *page,
836 unsigned long vaddr, void *dst, const void *src,
837 unsigned long len)
838{
839 flush_cache_page(vma, vaddr, page_to_pfn(page));
840 memcpy(dst, src, len);
841 flush_icache_user_range(vma, page, vaddr, len);
842}
843
844void copy_from_user_page(struct vm_area_struct *vma, struct page *page,
845 unsigned long vaddr, void *dst, const void *src,
846 unsigned long len)
847{
848 flush_cache_page(vma, vaddr, page_to_pfn(page));
849 memcpy(dst, src, len);
850}
834#endif 851#endif