From: Paul Mundt Date: Tue, 12 Feb 2008 08:00:39 +0000 (+0900) Subject: sh: Update SH-5 flush_cache_sigtramp() for API changes. X-Git-Tag: v2.6.25-rc2~5^2~15 X-Git-Url: http://ftp.safe.ca/?a=commitdiff_plain;h=f1f8926a94132e6433b559a3eced65404226f5cd;p=safe%2Fjmp%2Flinux-2.6 sh: Update SH-5 flush_cache_sigtramp() for API changes. Previously this took an explicit range, update this to use the same behaviour as the rest of the SH parts where we simply flush out a line from the start address. Signed-off-by: Paul Mundt --- diff --git a/arch/sh/mm/cache-sh5.c b/arch/sh/mm/cache-sh5.c index 4617e3a..5d1f615 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, ARCH/SH64 PRIVATE CALLABLE API. ##########################################################################*/ -void flush_cache_sigtramp(unsigned long start, unsigned long end) +void flush_cache_sigtramp(unsigned long vaddr) { + unsigned long end = vaddr + L1_CACHE_BYTES; + /* For the address range [start,end), write back the data from the D-cache and invalidate the corresponding region of the I-cache for the current process. Used to flush signal trampolines on the stack to make them executable. */ - sh64_dcache_wback_current_user_range(start, end); + sh64_dcache_wback_current_user_range(vaddr, end); wmb(); - sh64_icache_inv_current_user_range(start, end); + sh64_icache_inv_current_user_range(vaddr, end); } diff --git a/include/asm-sh/cpu-sh5/cacheflush.h b/include/asm-sh/cpu-sh5/cacheflush.h index 98edb5b..f935acb 100644 --- a/include/asm-sh/cpu-sh5/cacheflush.h +++ b/include/asm-sh/cpu-sh5/cacheflush.h @@ -11,7 +11,7 @@ struct mm_struct; extern void flush_cache_all(void); extern void flush_cache_mm(struct mm_struct *mm); -extern void flush_cache_sigtramp(unsigned long start, unsigned long end); +extern void flush_cache_sigtramp(unsigned long vaddr); extern void flush_cache_range(struct vm_area_struct *vma, unsigned long start, unsigned long end); extern void flush_cache_page(struct vm_area_struct *vma, unsigned long addr, unsigned long pfn);