diff options
Diffstat (limited to 'arch/sh/mm/cache-sh5.c')
-rw-r--r-- | arch/sh/mm/cache-sh5.c | 17 |
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 | |||
835 | void 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 | |||
844 | void 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 |