Commit a2eddc7c authored by David Howells's avatar David Howells Committed by Al Viro

FRV: Optimise the system call exit path in entry.S [ver #2]

Optimise the system call exit path in entry.S by packing some instructions.
Suggested-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 1e5ef915
...@@ -905,18 +905,19 @@ __syscall_call: ...@@ -905,18 +905,19 @@ __syscall_call:
__syscall_exit: __syscall_exit:
LEDS 0x6300 LEDS 0x6300
sti gr8,@(gr28,#REG_GR(8)) ; save return value # keep current PSR in GR23
movsg psr,gr23
# rebuild saved psr - execve will change it for init/main.c
ldi @(gr28,#REG_PSR),gr22 ldi @(gr28,#REG_PSR),gr22
sti.p gr8,@(gr28,#REG_GR(8)) ; save return value
# rebuild saved psr - execve will change it for init/main.c
srli gr22,#1,gr5 srli gr22,#1,gr5
andi.p gr22,#~PSR_PS,gr22 andi.p gr22,#~PSR_PS,gr22
andi gr5,#PSR_PS,gr5 andi gr5,#PSR_PS,gr5
or gr5,gr22,gr22 or gr5,gr22,gr22
ori gr22,#PSR_S,gr22 ori.p gr22,#PSR_S,gr22
# keep current PSR in GR23
movsg psr,gr23
# make sure we don't miss an interrupt setting need_resched or sigpending between # make sure we don't miss an interrupt setting need_resched or sigpending between
# sampling and the RETT # sampling and the RETT
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment