summaryrefslogtreecommitdiff
path: root/arch/parisc/kernel
diff options
context:
space:
mode:
authorJohn David Anglin <dave.anglin@bell.net>2018-09-21 05:31:48 +0300
committerHelge Deller <deller@gmx.de>2018-10-17 09:18:01 +0300
commit4dd5b673fa625d647447ae4c477bf946ae877711 (patch)
tree744e385fb42807c602e005db0dbc97e90871e56f /arch/parisc/kernel
parentd27dfa13b9f77ae7e6ed09d70a0426ed26c1a8f9 (diff)
downloadlinux-4dd5b673fa625d647447ae4c477bf946ae877711.tar.xz
parisc: Purge TLB entries after updating page table entry and set page accessed flag in TLB handler
This patch may resolve some races in TLB handling.  Hopefully, TLB inserts are accesses and protected by spin lock. If not, we may need to IPI calls and do local purges on PA 2.0. Signed-off-by: John David Anglin <dave.anglin@bell.net> Signed-off-by: Helge Deller <deller@gmx.de>
Diffstat (limited to 'arch/parisc/kernel')
-rw-r--r--arch/parisc/kernel/entry.S4
1 files changed, 1 insertions, 3 deletions
diff --git a/arch/parisc/kernel/entry.S b/arch/parisc/kernel/entry.S
index 00ac988d82a8..0d662f0e7b70 100644
--- a/arch/parisc/kernel/entry.S
+++ b/arch/parisc/kernel/entry.S
@@ -483,9 +483,7 @@
.macro tlb_unlock0 spc,tmp
#ifdef CONFIG_SMP
or,COND(=) %r0,\spc,%r0
- sync
- or,COND(=) %r0,\spc,%r0
- stw \spc,0(\tmp)
+ stw,ma \spc,0(\tmp)
#endif
.endm