aboutsummaryrefslogtreecommitdiffstats
path: root/arch/parisc/kernel
diff options
context:
space:
mode:
authorJohn David Anglin <dave.anglin@bell.net>2018-09-20 22:31:48 -0400
committerHelge Deller <deller@gmx.de>2018-10-17 08:18:01 +0200
commit4dd5b673fa625d647447ae4c477bf946ae877711 (patch)
tree744e385fb42807c602e005db0dbc97e90871e56f /arch/parisc/kernel
parentparisc: Release spinlocks using ordered store (diff)
downloadlinux-dev-4dd5b673fa625d647447ae4c477bf946ae877711.tar.xz
linux-dev-4dd5b673fa625d647447ae4c477bf946ae877711.zip
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