aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/mm
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2014-08-02 00:07:03 +0200
committerRalf Baechle <ralf@linux-mips.org>2014-08-02 00:07:03 +0200
commit475d5928b79bb78326a645863d46ff95c5e25e5a (patch)
treea260aed0d94bda824d7f2c5d74b2b1f8002634aa /arch/mips/mm
parentMIPS: jz4740: remove unnecessary null test before debugfs_remove (diff)
parentMIPS: bugfix: missed cache flush of TLB refill handler (diff)
downloadlinux-dev-475d5928b79bb78326a645863d46ff95c5e25e5a.tar.xz
linux-dev-475d5928b79bb78326a645863d46ff95c5e25e5a.zip
Merge branch '3.16-fixes' into mips-for-linux-next
Diffstat (limited to 'arch/mips/mm')
-rw-r--r--arch/mips/mm/tlbex.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/mips/mm/tlbex.c b/arch/mips/mm/tlbex.c
index ccf8298e7ab2..a08dd53a1cc5 100644
--- a/arch/mips/mm/tlbex.c
+++ b/arch/mips/mm/tlbex.c
@@ -429,6 +429,7 @@ static void build_r3000_tlb_refill_handler(void)
(unsigned int)(p - tlb_handler));
memcpy((void *)ebase, tlb_handler, 0x80);
+ local_flush_icache_range(ebase, ebase + 0x80);
dump_handler("r3000_tlb_refill", (u32 *)ebase, 32);
}
@@ -1299,6 +1300,7 @@ static void build_r4000_tlb_refill_handler(void)
}
#ifdef CONFIG_MIPS_HUGE_TLB_SUPPORT
uasm_l_tlb_huge_update(&l, p);
+ UASM_i_LW(&p, K0, 0, K1);
build_huge_update_entries(&p, htlb_info.huge_pte, K1);
build_huge_tlb_write_entry(&p, &l, &r, K0, tlb_random,
htlb_info.restore_scratch);
@@ -1415,6 +1417,7 @@ static void build_r4000_tlb_refill_handler(void)
final_len);
memcpy((void *)ebase, final_handler, 0x100);
+ local_flush_icache_range(ebase, ebase + 0x100);
dump_handler("r4000_tlb_refill", (u32 *)ebase, 64);
}