sh: Update SH-5 flush_cache_sigtramp() for API changes.
authorPaul Mundt <lethal@linux-sh.org>
Tue, 12 Feb 2008 08:00:39 +0000 (17:00 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Thu, 14 Feb 2008 05:22:11 +0000 (14:22 +0900)
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 <lethal@linux-sh.org>
arch/sh/mm/cache-sh5.c
include/asm-sh/cpu-sh5/cacheflush.h

index 4617e3a..5d1f615 100644 (file)
@@ -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);
 }
 
index 98edb5b..f935acb 100644 (file)
@@ -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);