diff options
| -rw-r--r-- | arch/sh/mm/cache-sh5.c | 8 | ||||
| -rw-r--r-- | include/asm-sh/cpu-sh5/cacheflush.h | 2 |
2 files changed, 6 insertions, 4 deletions
diff --git a/arch/sh/mm/cache-sh5.c b/arch/sh/mm/cache-sh5.c index 4617e3aeee73..5d1f615fe525 100644 --- a/arch/sh/mm/cache-sh5.c +++ b/arch/sh/mm/cache-sh5.c | |||
| @@ -1015,15 +1015,17 @@ void flush_icache_user_range(struct vm_area_struct *vma, | |||
| 1015 | ARCH/SH64 PRIVATE CALLABLE API. | 1015 | ARCH/SH64 PRIVATE CALLABLE API. |
| 1016 | ##########################################################################*/ | 1016 | ##########################################################################*/ |
| 1017 | 1017 | ||
| 1018 | void flush_cache_sigtramp(unsigned long start, unsigned long end) | 1018 | void flush_cache_sigtramp(unsigned long vaddr) |
| 1019 | { | 1019 | { |
| 1020 | unsigned long end = vaddr + L1_CACHE_BYTES; | ||
| 1021 | |||
| 1020 | /* For the address range [start,end), write back the data from the | 1022 | /* For the address range [start,end), write back the data from the |
| 1021 | D-cache and invalidate the corresponding region of the I-cache for | 1023 | D-cache and invalidate the corresponding region of the I-cache for |
| 1022 | the current process. Used to flush signal trampolines on the stack | 1024 | the current process. Used to flush signal trampolines on the stack |
| 1023 | to make them executable. */ | 1025 | to make them executable. */ |
| 1024 | 1026 | ||
| 1025 | sh64_dcache_wback_current_user_range(start, end); | 1027 | sh64_dcache_wback_current_user_range(vaddr, end); |
| 1026 | wmb(); | 1028 | wmb(); |
| 1027 | sh64_icache_inv_current_user_range(start, end); | 1029 | sh64_icache_inv_current_user_range(vaddr, end); |
| 1028 | } | 1030 | } |
| 1029 | 1031 | ||
diff --git a/include/asm-sh/cpu-sh5/cacheflush.h b/include/asm-sh/cpu-sh5/cacheflush.h index 98edb5b1da32..f935acbacf38 100644 --- a/include/asm-sh/cpu-sh5/cacheflush.h +++ b/include/asm-sh/cpu-sh5/cacheflush.h | |||
| @@ -11,7 +11,7 @@ struct mm_struct; | |||
| 11 | 11 | ||
| 12 | extern void flush_cache_all(void); | 12 | extern void flush_cache_all(void); |
| 13 | extern void flush_cache_mm(struct mm_struct *mm); | 13 | extern void flush_cache_mm(struct mm_struct *mm); |
| 14 | extern void flush_cache_sigtramp(unsigned long start, unsigned long end); | 14 | extern void flush_cache_sigtramp(unsigned long vaddr); |
| 15 | extern void flush_cache_range(struct vm_area_struct *vma, unsigned long start, | 15 | extern void flush_cache_range(struct vm_area_struct *vma, unsigned long start, |
| 16 | unsigned long end); | 16 | unsigned long end); |
| 17 | extern void flush_cache_page(struct vm_area_struct *vma, unsigned long addr, unsigned long pfn); | 17 | extern void flush_cache_page(struct vm_area_struct *vma, unsigned long addr, unsigned long pfn); |
