From e4519359dfcfdee06e4d5369b79b061a2b35f4de Mon Sep 17 00:00:00 2001 From: Hideo Saito Date: Thu, 14 Feb 2008 14:45:08 +0900 Subject: [PATCH] --- yaml --- r: 85562 b: refs/heads/master c: a602cc05f8fc849023e72e2857bd842f0104f648 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/sh/mm/fault_32.c | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index b8b30e306205..45afe51eccd8 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 123100cf4fff3e8ffa375df2c74c7f2cb29ab17a +refs/heads/master: a602cc05f8fc849023e72e2857bd842f0104f648 diff --git a/trunk/arch/sh/mm/fault_32.c b/trunk/arch/sh/mm/fault_32.c index 4ef0a1f1a9ab..d1fa27594c6e 100644 --- a/trunk/arch/sh/mm/fault_32.c +++ b/trunk/arch/sh/mm/fault_32.c @@ -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);