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); |