]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
parisc: Remove flush_user_dcache_range and flush_user_icache_range
authorJohn David Anglin <dave.anglin@bell.net>
Mon, 20 Feb 2017 19:02:46 +0000 (14:02 -0500)
committerHelge Deller <deller@gmx.de>
Sat, 25 Feb 2017 21:30:20 +0000 (22:30 +0100)
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 <dave.anglin@bell.net>
Signed-off-by: Helge Deller <deller@gmx.de>
arch/parisc/include/asm/cacheflush.h
arch/parisc/kernel/cache.c
arch/parisc/kernel/signal.c

index 7bd69bd43a018577d099f373346383900b1f0121..19c9c3c5f267eac813edf6c5fc6f358301d2a639 100644 (file)
@@ -27,8 +27,6 @@ void flush_user_dcache_range_asm(unsigned long, unsigned long);
 void flush_kernel_dcache_range_asm(unsigned long, unsigned long);
 void flush_kernel_dcache_page_asm(void *);
 void flush_kernel_icache_page(void *);
-void flush_user_dcache_range(unsigned long, unsigned long);
-void flush_user_icache_range(unsigned long, unsigned long);
 
 /* Cache flush operations */
 
index 977f0a4f5ecf2cffec9f147d8999456ed839c01c..20b013cbd297624994093e3e89406cd5ba5d97ba 100644 (file)
@@ -573,24 +573,6 @@ void flush_cache_mm(struct mm_struct *mm)
        }
 }
 
-void
-flush_user_dcache_range(unsigned long start, unsigned long end)
-{
-       if ((end - start) < parisc_cache_flush_threshold)
-               flush_user_dcache_range_asm(start,end);
-       else
-               flush_data_cache();
-}
-
-void
-flush_user_icache_range(unsigned long start, unsigned long end)
-{
-       if ((end - start) < parisc_cache_flush_threshold)
-               flush_user_icache_range_asm(start,end);
-       else
-               flush_instruction_cache();
-}
-
 void flush_cache_range(struct vm_area_struct *vma,
                unsigned long start, unsigned long end)
 {
index e58925ac64d10594ea1d63412da1b6ea8b1069af..f6aaca27ac4e89ccd4514ae72434cdcbd35fbe8a 100644 (file)
@@ -232,6 +232,7 @@ setup_rt_frame(struct ksignal *ksig, sigset_t *set, struct pt_regs *regs,
        struct rt_sigframe __user *frame;
        unsigned long rp, usp;
        unsigned long haddr, sigframe_size;
+       unsigned long start, end;
        int err = 0;
 #ifdef CONFIG_64BIT
        struct compat_rt_sigframe __user * compat_frame;
@@ -299,10 +300,10 @@ setup_rt_frame(struct ksignal *ksig, sigset_t *set, struct pt_regs *regs,
        }
 #endif
 
-       flush_user_dcache_range((unsigned long) &frame->tramp[0],
-                          (unsigned long) &frame->tramp[TRAMP_SIZE]);
-       flush_user_icache_range((unsigned long) &frame->tramp[0],
-                          (unsigned long) &frame->tramp[TRAMP_SIZE]);
+       start = (unsigned long) &frame->tramp[0];
+       end = (unsigned long) &frame->tramp[TRAMP_SIZE];
+       flush_user_dcache_range_asm(start, end);
+       flush_user_icache_range_asm(start, end);
 
        /* TRAMP Words 0-4, Length 5 = SIGRESTARTBLOCK_TRAMP
         * TRAMP Words 5-9, Length 4 = SIGRETURN_TRAMP
@@ -548,8 +549,8 @@ insert_restart_trampoline(struct pt_regs *regs)
                WARN_ON(err);
 
                /* flush data/instruction cache for new insns */
-               flush_user_dcache_range(start, end);
-               flush_user_icache_range(start, end);
+               flush_user_dcache_range_asm(start, end);
+               flush_user_icache_range_asm(start, end);
 
                regs->gr[31] = regs->gr[30] + 8;
                return;