Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a602cc05 authored by Hideo Saito's avatar Hideo Saito Committed by Paul Mundt
Browse files

sh: Fix multiple UTLB hit on UP SH-4.



This acts as a reversion of 1c6b2ca5 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: default avatarHideo Saito <saito@densan.co.jp>
Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent 123100cf
Loading
Loading
Loading
Loading
+8 −0
Original line number Original line Diff line number Diff line
@@ -299,6 +299,14 @@ asmlinkage int __kprobes __do_page_fault(struct pt_regs *regs,
		entry = pte_mkdirty(entry);
		entry = pte_mkdirty(entry);
	entry = pte_mkyoung(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);
	set_pte(pte, entry);
	update_mmu_cache(NULL, address, entry);
	update_mmu_cache(NULL, address, entry);