aboutsummaryrefslogtreecommitdiffstats
path: root/arch/parisc/kernel/signal.c
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/kernel/signal.c
parent3aa0862ce7c120e035bc2aa25997fd000d964d6e (diff)
[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/kernel/signal.c')
-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 0224651fd8f1..6c905c128c2a 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)
636 /* Stack is 64-byte aligned, and we only 636 /* Stack is 64-byte aligned, and we only
637 * need to flush 1 cache line */ 637 * need to flush 1 cache line */
638 asm("fdc 0(%%sr3, %0)\n" 638 asm("fdc 0(%%sr3, %0)\n"
639 "sync\n"
639 "fic 0(%%sr3, %0)\n" 640 "fic 0(%%sr3, %0)\n"
640 "sync\n" 641 "sync\n"
641 : : "r"(regs->gr[30])); 642 : : "r"(regs->gr[30]));