Commit 57b41758 authored by Petri Gynther's avatar Petri Gynther Committed by Ralf Baechle

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: default avatarPetri Gynther <pgynther@google.com>
Acked-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
Reviewed-by: default avatarKevin Cernekee <cernekee@gmail.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/10193/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent 556b6629
...@@ -444,7 +444,7 @@ struct plat_smp_ops bmips5000_smp_ops = { ...@@ -444,7 +444,7 @@ struct plat_smp_ops bmips5000_smp_ops = {
static void bmips_wr_vec(unsigned long dst, char *start, char *end) static void bmips_wr_vec(unsigned long dst, char *start, char *end)
{ {
memcpy((void *)dst, start, end - start); memcpy((void *)dst, start, end - start);
dma_cache_wback((unsigned long)start, end - start); dma_cache_wback(dst, end - start);
local_flush_icache_range(dst, dst + (end - start)); local_flush_icache_range(dst, dst + (end - start));
instruction_hazard(); instruction_hazard();
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment