]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | #ifndef __ASM_SH_CACHEFLUSH_H |
2 | #define __ASM_SH_CACHEFLUSH_H | |
3 | #ifdef __KERNEL__ | |
4 | ||
26ff6c11 | 5 | #include <linux/mm.h> |
1da177e4 LT |
6 | #include <asm/cpu/cacheflush.h> |
7 | ||
8 | /* Flush (write-back only) a region (smaller than a page) */ | |
9 | extern void __flush_wback_region(void *start, int size); | |
10 | /* Flush (write-back & invalidate) a region (smaller than a page) */ | |
11 | extern void __flush_purge_region(void *start, int size); | |
12 | /* Flush (invalidate only) a region (smaller than a page) */ | |
13 | extern void __flush_invalidate_region(void *start, int size); | |
14 | ||
15 | #define flush_cache_vmap(start, end) flush_cache_all() | |
16 | #define flush_cache_vunmap(start, end) flush_cache_all() | |
17 | ||
18 | #define copy_to_user_page(vma, page, vaddr, dst, src, len) \ | |
19 | do { \ | |
20 | flush_cache_page(vma, vaddr, page_to_pfn(page));\ | |
21 | memcpy(dst, src, len); \ | |
22 | flush_icache_user_range(vma, page, vaddr, len); \ | |
23 | } while (0) | |
24 | ||
25 | #define copy_from_user_page(vma, page, vaddr, dst, src, len) \ | |
26 | do { \ | |
27 | flush_cache_page(vma, vaddr, page_to_pfn(page));\ | |
28 | memcpy(dst, src, len); \ | |
29 | } while (0) | |
30 | ||
f3c25758 PM |
31 | #define HAVE_ARCH_UNMAPPED_AREA |
32 | ||
26b7a78c PM |
33 | /* Page flag for lazy dcache write-back for the aliasing UP caches */ |
34 | #define PG_dcache_dirty PG_arch_1 | |
35 | ||
1da177e4 LT |
36 | #endif /* __KERNEL__ */ |
37 | #endif /* __ASM_SH_CACHEFLUSH_H */ |