diff options
author | Grant Grundler <grundler@parisc-linux.org> | 2005-10-21 22:47:40 -0400 |
---|---|---|
committer | Kyle McMartin <kyle@parisc-linux.org> | 2005-10-21 22:47:40 -0400 |
commit | 91313d60d8ad96fa79a833e55e8c13b56f893614 (patch) | |
tree | 4808780dd7837cbbb2e242686d026caa26178e1c /arch/parisc/kernel/signal.c | |
parent | 3aa0862ce7c120e035bc2aa25997fd000d964d6e (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.c | 1 |
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])); |