summaryrefslogtreecommitdiffstats
path: root/arch/nios2
diff options
context:
space:
mode:
authorNicholas Piggin <npiggin@gmail.com>2018-11-07 10:35:20 +0800
committerLey Foon Tan <ley.foon.tan@intel.com>2019-03-07 05:29:35 +0800
commitb6a10463438d8775aa6aa09ece46e8af14345712 (patch)
tree8925a256ffb05de98d0237c0515de9ae78d1ee9f /arch/nios2
parent737a3fa20f2e195d94d9501ab5d76c29194d8176 (diff)
downloadlinux-b6a10463438d8775aa6aa09ece46e8af14345712.tar.bz2
nios2: User address TLB flush break after finding the matching entry
Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
Diffstat (limited to 'arch/nios2')
-rw-r--r--arch/nios2/mm/tlb.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/nios2/mm/tlb.c b/arch/nios2/mm/tlb.c
index 2469f88ef7f3..2e49993d29ef 100644
--- a/arch/nios2/mm/tlb.c
+++ b/arch/nios2/mm/tlb.c
@@ -76,6 +76,11 @@ void flush_tlb_one_pid(unsigned long addr, unsigned long mmu_pid)
WRCTL(CTL_TLBMISC, tlbmisc);
WRCTL(CTL_PTEADDR, pteaddr_invalid(addr));
WRCTL(CTL_TLBACC, 0);
+ /*
+ * There should be only a single entry that maps a
+ * particular {address,pid} so break after a match.
+ */
+ break;
}
WRCTL(CTL_TLBMISC, org_misc);