summaryrefslogtreecommitdiffstats
path: root/kernel/mutex.c
diff options
context:
space:
mode:
authorJonas Gorski <jogo@openwrt.org>2013-06-21 17:48:48 +0000
committerRalf Baechle <ralf@linux-mips.org>2013-06-25 17:48:06 +0200
commita3d9086bb121a6459c9ed0452e3c58891a504785 (patch)
tree99f9d81a1781e4a563dd4a20277ec4a99a49668f /kernel/mutex.c
parent6a72015d3c3602dd969e79510486807c481a0e1b (diff)
downloadblackbird-op-linux-a3d9086bb121a6459c9ed0452e3c58891a504785.tar.gz
blackbird-op-linux-a3d9086bb121a6459c9ed0452e3c58891a504785.zip
MIPS: Flush TLB handlers directly after writing them
When having enabled MIPS_PGD_C0_CONTEXT, trap_init() might call the generated tlbmiss_handler_setup_pgd before it was committed to memory, causing boot failures: trap_init() |- per_cpu_trap_init() | |- TLBMISS_HANDLER_SETUP() | |- tlbmiss_handler_setup_pgd() |- flush_tlb_handlers() To avoid this, move flush_tlb_handlers() into build_tlb_refill_handler() right after they were generated. We can do this as the cache handling is initialized just before creating the tlb handlers. This issue was introduced in 3d8bfdd0307223de678962f1c1907a7cec549136 ("MIPS: Use C0_KScratch (if present) to hold PGD pointer."). Signed-off-by: Jonas Gorski <jogo@openwrt.org> Cc: linux-mips@linux-mips.org Cc: Steven J. Hill <Steven.Hill@imgtec.com> Cc: Jayachandran C <jchandra@broadcom.com> Cc: David Daney <david.daney@cavium.com> Patchwork: https://patchwork.linux-mips.org/patch/5539/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'kernel/mutex.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud