aboutsummaryrefslogtreecommitdiffstats
path: root/arch/parisc
diff options
context:
space:
mode:
authorHelge Deller <deller@gmx.de>2007-01-09 19:57:38 +0100
committerKyle McMartin <kyle@athena.road.mcmartin.ca>2007-02-17 01:06:32 -0500
commit3fe4c55ebc440159c49efe2e9464ac301b390913 (patch)
treeb1a27aa4fbc5cf03be658d636c39affb5f2a2f25 /arch/parisc
parent[PARISC] Add TIF_RESTORE_SIGMASK support (diff)
downloadlinux-dev-3fe4c55ebc440159c49efe2e9464ac301b390913.tar.xz
linux-dev-3fe4c55ebc440159c49efe2e9464ac301b390913.zip
[PARISC] use less assembler statements in syscall path
Signed-off-by: Helge Deller <deller@gmx.de> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Diffstat (limited to 'arch/parisc')
-rw-r--r--arch/parisc/kernel/entry.S13
1 files changed, 5 insertions, 8 deletions
diff --git a/arch/parisc/kernel/entry.S b/arch/parisc/kernel/entry.S
index f965673e6863..67dda1b0d6da 100644
--- a/arch/parisc/kernel/entry.S
+++ b/arch/parisc/kernel/entry.S
@@ -983,7 +983,7 @@ intr_check_sig:
/* As above */
mfctl %cr30,%r1
LDREG TI_FLAGS(%r1),%r19
- load32 (_TIF_SIGPENDING|_TIF_RESTORE_SIGMASK), %r20
+ ldi (_TIF_SIGPENDING|_TIF_RESTORE_SIGMASK), %r20
and,COND(<>) %r19, %r20, %r0
b,n intr_restore /* skip past if we've nothing to do */
@@ -995,11 +995,9 @@ intr_check_sig:
* Only do signals if we are returning to user space
*/
LDREG PT_IASQ0(%r16), %r20
- CMPIB= 0,%r20,intr_restore /* backward */
- nop
+ CMPIB=,n 0,%r20,intr_restore /* backward */
LDREG PT_IASQ1(%r16), %r20
- CMPIB= 0,%r20,intr_restore /* backward */
- nop
+ CMPIB=,n 0,%r20,intr_restore /* backward */
copy %r0, %r25 /* long in_syscall = 0 */
#ifdef CONFIG_64BIT
@@ -1009,8 +1007,7 @@ intr_check_sig:
BL do_notify_resume,%r2
copy %r16, %r26 /* struct pt_regs *regs */
- b intr_check_sig
- nop
+ b,n intr_check_sig
intr_restore:
copy %r16,%r29
@@ -2091,7 +2088,7 @@ syscall_check_resched:
.import do_signal,code
syscall_check_sig:
LDREG TI_FLAGS-THREAD_SZ_ALGN-FRAME_SIZE(%r30),%r19
- load32 (_TIF_SIGPENDING|_TIF_RESTORE_SIGMASK), %r26
+ ldi (_TIF_SIGPENDING|_TIF_RESTORE_SIGMASK), %r26
and,COND(<>) %r19, %r26, %r0
b,n syscall_restore /* skip past if we've nothing to do */