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 <lethal@linux-sh.org>
This commit is contained in:
parent
5e9c8ac569
commit
f1f8926a94
2 changed files with 6 additions and 4 deletions
|
@ -1015,15 +1015,17 @@ void flush_icache_user_range(struct vm_area_struct *vma,
|
||||||
ARCH/SH64 PRIVATE CALLABLE API.
|
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
|
/* For the address range [start,end), write back the data from the
|
||||||
D-cache and invalidate the corresponding region of the I-cache for
|
D-cache and invalidate the corresponding region of the I-cache for
|
||||||
the current process. Used to flush signal trampolines on the stack
|
the current process. Used to flush signal trampolines on the stack
|
||||||
to make them executable. */
|
to make them executable. */
|
||||||
|
|
||||||
sh64_dcache_wback_current_user_range(start, end);
|
sh64_dcache_wback_current_user_range(vaddr, end);
|
||||||
wmb();
|
wmb();
|
||||||
sh64_icache_inv_current_user_range(start, end);
|
sh64_icache_inv_current_user_range(vaddr, end);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ struct mm_struct;
|
||||||
|
|
||||||
extern void flush_cache_all(void);
|
extern void flush_cache_all(void);
|
||||||
extern void flush_cache_mm(struct mm_struct *mm);
|
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,
|
extern void flush_cache_range(struct vm_area_struct *vma, unsigned long start,
|
||||||
unsigned long end);
|
unsigned long end);
|
||||||
extern void flush_cache_page(struct vm_area_struct *vma, unsigned long addr, unsigned long pfn);
|
extern void flush_cache_page(struct vm_area_struct *vma, unsigned long addr, unsigned long pfn);
|
||||||
|
|
Loading…
Reference in a new issue