Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f1f8926a authored by Paul Mundt's avatar Paul Mundt
Browse files

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: default avatarPaul Mundt <lethal@linux-sh.org>
parent 5e9c8ac5
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -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);
}
+1 −1
Original line number Diff line number Diff line
@@ -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);