diff options
author | Petri Gynther <pgynther@google.com> | 2015-05-27 02:25:08 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2015-05-29 14:23:43 -0400 |
commit | 57b41758230b567218cb5bc3da9068aabc496fc9 (patch) | |
tree | 00942c7a69e9efdd8f8ff40db2f128df93a244f4 /arch/mips | |
parent | 556b6629c10c65cee42fa893681ffdd653d097c4 (diff) |
MIPS: BMIPS: Fix bmips_wr_vec()
bmips_wr_vec() copies exception vector code from start to dst.
The call to dma_cache_wback() needs to flush (end-start) bytes,
starting at dst, from write-back cache to memory.
Signed-off-by: Petri Gynther <pgynther@google.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Reviewed-by: Kevin Cernekee <cernekee@gmail.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/10193/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips')
-rw-r--r-- | arch/mips/kernel/smp-bmips.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/mips/kernel/smp-bmips.c b/arch/mips/kernel/smp-bmips.c index fd528d7ea278..336708ae5c5b 100644 --- a/arch/mips/kernel/smp-bmips.c +++ b/arch/mips/kernel/smp-bmips.c | |||
@@ -444,7 +444,7 @@ struct plat_smp_ops bmips5000_smp_ops = { | |||
444 | static void bmips_wr_vec(unsigned long dst, char *start, char *end) | 444 | static void bmips_wr_vec(unsigned long dst, char *start, char *end) |
445 | { | 445 | { |
446 | memcpy((void *)dst, start, end - start); | 446 | memcpy((void *)dst, start, end - start); |
447 | dma_cache_wback((unsigned long)start, end - start); | 447 | dma_cache_wback(dst, end - start); |
448 | local_flush_icache_range(dst, dst + (end - start)); | 448 | local_flush_icache_range(dst, dst + (end - start)); |
449 | instruction_hazard(); | 449 | instruction_hazard(); |
450 | } | 450 | } |