Skip to content

Commit ef470a6

Browse files
danglin44hdeller
authored andcommitted
parisc: Remove flush_user_dcache_range and flush_user_icache_range
The functions flush_user_dcache_range() and flush_user_icache_range() are only used by the parisc signal handling code. This code only needs to flush a couple of lines, so the threshold check is unnecessary overhead. Signed-off-by: John David Anglin <[email protected]> Signed-off-by: Helge Deller <[email protected]>
1 parent 8351bad commit ef470a6

File tree

3 files changed

+7
-26
lines changed

3 files changed

+7
-26
lines changed

arch/parisc/include/asm/cacheflush.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,6 @@ void flush_user_dcache_range_asm(unsigned long, unsigned long);
2727
void flush_kernel_dcache_range_asm(unsigned long, unsigned long);
2828
void flush_kernel_dcache_page_asm(void *);
2929
void flush_kernel_icache_page(void *);
30-
void flush_user_dcache_range(unsigned long, unsigned long);
31-
void flush_user_icache_range(unsigned long, unsigned long);
3230

3331
/* Cache flush operations */
3432

arch/parisc/kernel/cache.c

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -573,24 +573,6 @@ void flush_cache_mm(struct mm_struct *mm)
573573
}
574574
}
575575

576-
void
577-
flush_user_dcache_range(unsigned long start, unsigned long end)
578-
{
579-
if ((end - start) < parisc_cache_flush_threshold)
580-
flush_user_dcache_range_asm(start,end);
581-
else
582-
flush_data_cache();
583-
}
584-
585-
void
586-
flush_user_icache_range(unsigned long start, unsigned long end)
587-
{
588-
if ((end - start) < parisc_cache_flush_threshold)
589-
flush_user_icache_range_asm(start,end);
590-
else
591-
flush_instruction_cache();
592-
}
593-
594576
void flush_cache_range(struct vm_area_struct *vma,
595577
unsigned long start, unsigned long end)
596578
{

arch/parisc/kernel/signal.c

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,7 @@ setup_rt_frame(struct ksignal *ksig, sigset_t *set, struct pt_regs *regs,
232232
struct rt_sigframe __user *frame;
233233
unsigned long rp, usp;
234234
unsigned long haddr, sigframe_size;
235+
unsigned long start, end;
235236
int err = 0;
236237
#ifdef CONFIG_64BIT
237238
struct compat_rt_sigframe __user * compat_frame;
@@ -299,10 +300,10 @@ setup_rt_frame(struct ksignal *ksig, sigset_t *set, struct pt_regs *regs,
299300
}
300301
#endif
301302

302-
flush_user_dcache_range((unsigned long) &frame->tramp[0],
303-
(unsigned long) &frame->tramp[TRAMP_SIZE]);
304-
flush_user_icache_range((unsigned long) &frame->tramp[0],
305-
(unsigned long) &frame->tramp[TRAMP_SIZE]);
303+
start = (unsigned long) &frame->tramp[0];
304+
end = (unsigned long) &frame->tramp[TRAMP_SIZE];
305+
flush_user_dcache_range_asm(start, end);
306+
flush_user_icache_range_asm(start, end);
306307

307308
/* TRAMP Words 0-4, Length 5 = SIGRESTARTBLOCK_TRAMP
308309
* TRAMP Words 5-9, Length 4 = SIGRETURN_TRAMP
@@ -548,8 +549,8 @@ insert_restart_trampoline(struct pt_regs *regs)
548549
WARN_ON(err);
549550

550551
/* flush data/instruction cache for new insns */
551-
flush_user_dcache_range(start, end);
552-
flush_user_icache_range(start, end);
552+
flush_user_dcache_range_asm(start, end);
553+
flush_user_icache_range_asm(start, end);
553554

554555
regs->gr[31] = regs->gr[30] + 8;
555556
return;

0 commit comments

Comments
 (0)