diff options
author | Paul Mundt <lethal@linux-sh.org> | 2007-11-08 17:01:42 +0900 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2007-11-08 17:01:42 +0900 |
commit | 541c54773173d95c8e99a7378a5bb63125c297f1 (patch) | |
tree | 59270b4498d0502f778e26978865e1e8c6eddc54 /include/asm-sh/cacheflush.h | |
parent | 6d1c76d4e76ef72fce5a7169430ab8f9a68d7924 (diff) | |
parent | af39c16bd843ee8bde495c8ccb95a5ca209f3051 (diff) | |
download | talos-obmc-linux-541c54773173d95c8e99a7378a5bb63125c297f1.tar.gz talos-obmc-linux-541c54773173d95c8e99a7378a5bb63125c297f1.zip |
Merge branch 'page_colouring_despair'
Diffstat (limited to 'include/asm-sh/cacheflush.h')
-rw-r--r-- | include/asm-sh/cacheflush.h | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/include/asm-sh/cacheflush.h b/include/asm-sh/cacheflush.h index aa558da08471..b91246153b7e 100644 --- a/include/asm-sh/cacheflush.h +++ b/include/asm-sh/cacheflush.h @@ -43,21 +43,31 @@ extern void __flush_purge_region(void *start, int size); extern void __flush_invalidate_region(void *start, int size); #endif -#define flush_cache_vmap(start, end) flush_cache_all() -#define flush_cache_vunmap(start, end) flush_cache_all() +#ifdef CONFIG_CPU_SH4 +extern void copy_to_user_page(struct vm_area_struct *vma, + struct page *page, unsigned long vaddr, void *dst, const void *src, + unsigned long len); -#define copy_to_user_page(vma, page, vaddr, dst, src, len) \ +extern void copy_from_user_page(struct vm_area_struct *vma, + struct page *page, unsigned long vaddr, void *dst, const void *src, + unsigned long len); +#else +#define copy_to_user_page(vma, page, vaddr, dst, src, len) \ do { \ flush_cache_page(vma, vaddr, page_to_pfn(page));\ memcpy(dst, src, len); \ flush_icache_user_range(vma, page, vaddr, len); \ } while (0) -#define copy_from_user_page(vma, page, vaddr, dst, src, len) \ +#define copy_from_user_page(vma, page, vaddr, dst, src, len) \ do { \ flush_cache_page(vma, vaddr, page_to_pfn(page));\ memcpy(dst, src, len); \ } while (0) +#endif + +#define flush_cache_vmap(start, end) flush_cache_all() +#define flush_cache_vunmap(start, end) flush_cache_all() #define HAVE_ARCH_UNMAPPED_AREA |