diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/asm-parisc/cache.h | 2 | ||||
| -rw-r--r-- | include/asm-parisc/cacheflush.h | 9 | ||||
| -rw-r--r-- | include/asm-parisc/page.h | 2 |
3 files changed, 10 insertions, 3 deletions
diff --git a/include/asm-parisc/cache.h b/include/asm-parisc/cache.h index ae50f8e12eed..c831665473cb 100644 --- a/include/asm-parisc/cache.h +++ b/include/asm-parisc/cache.h | |||
| @@ -48,7 +48,7 @@ extern void flush_user_icache_range_asm(unsigned long, unsigned long); | |||
| 48 | extern void flush_kernel_icache_range_asm(unsigned long, unsigned long); | 48 | extern void flush_kernel_icache_range_asm(unsigned long, unsigned long); |
| 49 | extern void flush_user_dcache_range_asm(unsigned long, unsigned long); | 49 | extern void flush_user_dcache_range_asm(unsigned long, unsigned long); |
| 50 | extern void flush_kernel_dcache_range_asm(unsigned long, unsigned long); | 50 | extern void flush_kernel_dcache_range_asm(unsigned long, unsigned long); |
| 51 | extern void flush_kernel_dcache_page(void *); | 51 | extern void flush_kernel_dcache_page_asm(void *); |
| 52 | extern void flush_kernel_icache_page(void *); | 52 | extern void flush_kernel_icache_page(void *); |
| 53 | extern void disable_sr_hashing(void); /* turns off space register hashing */ | 53 | extern void disable_sr_hashing(void); /* turns off space register hashing */ |
| 54 | extern void disable_sr_hashing_asm(int); /* low level support for above */ | 54 | extern void disable_sr_hashing_asm(int); /* low level support for above */ |
diff --git a/include/asm-parisc/cacheflush.h b/include/asm-parisc/cacheflush.h index 482be77551e3..76b6b7d6046a 100644 --- a/include/asm-parisc/cacheflush.h +++ b/include/asm-parisc/cacheflush.h | |||
| @@ -62,7 +62,7 @@ extern void flush_dcache_page(struct page *page); | |||
| 62 | #define flush_dcache_mmap_unlock(mapping) \ | 62 | #define flush_dcache_mmap_unlock(mapping) \ |
| 63 | write_unlock_irq(&(mapping)->tree_lock) | 63 | write_unlock_irq(&(mapping)->tree_lock) |
| 64 | 64 | ||
| 65 | #define flush_icache_page(vma,page) do { flush_kernel_dcache_page(page_address(page)); flush_kernel_icache_page(page_address(page)); } while (0) | 65 | #define flush_icache_page(vma,page) do { flush_kernel_dcache_page(page); flush_kernel_icache_page(page_address(page)); } while (0) |
| 66 | 66 | ||
| 67 | #define flush_icache_range(s,e) do { flush_kernel_dcache_range_asm(s,e); flush_kernel_icache_range_asm(s,e); } while (0) | 67 | #define flush_icache_range(s,e) do { flush_kernel_dcache_range_asm(s,e); flush_kernel_icache_range_asm(s,e); } while (0) |
| 68 | 68 | ||
| @@ -192,6 +192,13 @@ flush_anon_page(struct page *page, unsigned long vmaddr) | |||
| 192 | } | 192 | } |
| 193 | #define ARCH_HAS_FLUSH_ANON_PAGE | 193 | #define ARCH_HAS_FLUSH_ANON_PAGE |
| 194 | 194 | ||
| 195 | static inline void | ||
| 196 | flush_kernel_dcache_page(struct page *page) | ||
| 197 | { | ||
| 198 | flush_kernel_dcache_page_asm(page_address(page)); | ||
| 199 | } | ||
| 200 | #define ARCH_HAS_FLUSH_KERNEL_DCACHE_PAGE | ||
| 201 | |||
| 195 | #ifdef CONFIG_DEBUG_RODATA | 202 | #ifdef CONFIG_DEBUG_RODATA |
| 196 | void mark_rodata_ro(void); | 203 | void mark_rodata_ro(void); |
| 197 | #endif | 204 | #endif |
diff --git a/include/asm-parisc/page.h b/include/asm-parisc/page.h index 9f303c0c3cd7..c6c9d5793070 100644 --- a/include/asm-parisc/page.h +++ b/include/asm-parisc/page.h | |||
| @@ -26,7 +26,7 @@ static inline void | |||
| 26 | copy_user_page(void *vto, void *vfrom, unsigned long vaddr, struct page *pg) | 26 | copy_user_page(void *vto, void *vfrom, unsigned long vaddr, struct page *pg) |
| 27 | { | 27 | { |
| 28 | copy_user_page_asm(vto, vfrom); | 28 | copy_user_page_asm(vto, vfrom); |
| 29 | flush_kernel_dcache_page(vto); | 29 | flush_kernel_dcache_page_asm(vto); |
| 30 | /* XXX: ppc flushes icache too, should we? */ | 30 | /* XXX: ppc flushes icache too, should we? */ |
| 31 | } | 31 | } |
| 32 | 32 | ||
