[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>
This commit is contained in:
parent
4650f0a583
commit
3fe4c55ebc
1 changed files with 5 additions and 8 deletions
|
@ -983,7 +983,7 @@ intr_check_sig:
|
||||||
/* As above */
|
/* As above */
|
||||||
mfctl %cr30,%r1
|
mfctl %cr30,%r1
|
||||||
LDREG TI_FLAGS(%r1),%r19
|
LDREG TI_FLAGS(%r1),%r19
|
||||||
load32 (_TIF_SIGPENDING|_TIF_RESTORE_SIGMASK), %r20
|
ldi (_TIF_SIGPENDING|_TIF_RESTORE_SIGMASK), %r20
|
||||||
and,COND(<>) %r19, %r20, %r0
|
and,COND(<>) %r19, %r20, %r0
|
||||||
b,n intr_restore /* skip past if we've nothing to do */
|
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
|
* Only do signals if we are returning to user space
|
||||||
*/
|
*/
|
||||||
LDREG PT_IASQ0(%r16), %r20
|
LDREG PT_IASQ0(%r16), %r20
|
||||||
CMPIB= 0,%r20,intr_restore /* backward */
|
CMPIB=,n 0,%r20,intr_restore /* backward */
|
||||||
nop
|
|
||||||
LDREG PT_IASQ1(%r16), %r20
|
LDREG PT_IASQ1(%r16), %r20
|
||||||
CMPIB= 0,%r20,intr_restore /* backward */
|
CMPIB=,n 0,%r20,intr_restore /* backward */
|
||||||
nop
|
|
||||||
|
|
||||||
copy %r0, %r25 /* long in_syscall = 0 */
|
copy %r0, %r25 /* long in_syscall = 0 */
|
||||||
#ifdef CONFIG_64BIT
|
#ifdef CONFIG_64BIT
|
||||||
|
@ -1009,8 +1007,7 @@ intr_check_sig:
|
||||||
BL do_notify_resume,%r2
|
BL do_notify_resume,%r2
|
||||||
copy %r16, %r26 /* struct pt_regs *regs */
|
copy %r16, %r26 /* struct pt_regs *regs */
|
||||||
|
|
||||||
b intr_check_sig
|
b,n intr_check_sig
|
||||||
nop
|
|
||||||
|
|
||||||
intr_restore:
|
intr_restore:
|
||||||
copy %r16,%r29
|
copy %r16,%r29
|
||||||
|
@ -2091,7 +2088,7 @@ syscall_check_resched:
|
||||||
.import do_signal,code
|
.import do_signal,code
|
||||||
syscall_check_sig:
|
syscall_check_sig:
|
||||||
LDREG TI_FLAGS-THREAD_SZ_ALGN-FRAME_SIZE(%r30),%r19
|
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
|
and,COND(<>) %r19, %r26, %r0
|
||||||
b,n syscall_restore /* skip past if we've nothing to do */
|
b,n syscall_restore /* skip past if we've nothing to do */
|
||||||
|
|
||||||
|
|
Reference in a new issue