summaryrefslogtreecommitdiff
path: root/arch/parisc
diff options
context:
space:
mode:
authorGrant Grundler <grundler@parisc-linux.org>2005-10-21 22:47:40 -0400
committerKyle McMartin <kyle@parisc-linux.org>2005-10-21 22:47:40 -0400
commit91313d60d8ad96fa79a833e55e8c13b56f893614 (patch)
tree4808780dd7837cbbb2e242686d026caa26178e1c /arch/parisc
parent3aa0862ce7c120e035bc2aa25997fd000d964d6e (diff)
downloadlinux-3.10-91313d60d8ad96fa79a833e55e8c13b56f893614.tar.gz
linux-3.10-91313d60d8ad96fa79a833e55e8c13b56f893614.tar.bz2
linux-3.10-91313d60d8ad96fa79a833e55e8c13b56f893614.zip
[PARISC] Add sync required after fdc to enforce insn ordering
PA20 arch book (page 7-52 and 7-55) indicate a "sync" is required after the FDC "to enforce instruction ordering". And we want to make sure FIC is executed after FDC has retired. Signed-off-by: Grant Grundler <grundler@parisc-linux.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Diffstat (limited to 'arch/parisc')
-rw-r--r--arch/parisc/kernel/signal.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/parisc/kernel/signal.c b/arch/parisc/kernel/signal.c
index 0224651fd8f..6c905c128c2 100644
--- a/arch/parisc/kernel/signal.c
+++ b/arch/parisc/kernel/signal.c
@@ -636,6 +636,7 @@ do_signal(sigset_t *oldset, struct pt_regs *regs, int in_syscall)
/* Stack is 64-byte aligned, and we only
* need to flush 1 cache line */
asm("fdc 0(%%sr3, %0)\n"
+ "sync\n"
"fic 0(%%sr3, %0)\n"
"sync\n"
: : "r"(regs->gr[30]));