sh: Fix multiple UTLB hit on UP SH-4.
This acts as a reversion of 1c6b2ca5e0
in
the case of UP SH-4, where we still have the risk of a multiple hit
between the slow and fast paths. As seen on SH7780.
Signed-off-by: Hideo Saito <saito@densan.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
parent
123100cf4f
commit
a602cc05f8
1 changed files with 8 additions and 0 deletions
|
@ -299,6 +299,14 @@ asmlinkage int __kprobes __do_page_fault(struct pt_regs *regs,
|
|||
entry = pte_mkdirty(entry);
|
||||
entry = pte_mkyoung(entry);
|
||||
|
||||
#if defined(CONFIG_CPU_SH4) && !defined(CONFIG_SMP)
|
||||
/*
|
||||
* ITLB is not affected by "ldtlb" instruction.
|
||||
* So, we need to flush the entry by ourselves.
|
||||
*/
|
||||
local_flush_tlb_one(get_asid(), address & PAGE_MASK);
|
||||
#endif
|
||||
|
||||
set_pte(pte, entry);
|
||||
update_mmu_cache(NULL, address, entry);
|
||||
|
||||
|
|
Loading…
Reference in a new issue