mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-29 15:43:59 +08:00
powerpc/vdso32: miscellaneous optimisations
Various optimisations by inverting branches and removing redundant instructions. Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/b4e79f963845545bcce1459cd6fcfe46bdde7863.1575273217.git.christophe.leroy@c-s.fr
This commit is contained in:
parent
e33ffc956b
commit
bfc2eae0ad
@ -30,11 +30,10 @@ V_FUNCTION_BEGIN(__kernel_get_syscall_map)
|
||||
.cfi_startproc
|
||||
mflr r12
|
||||
.cfi_register lr,r12
|
||||
mr r4,r3
|
||||
mr. r4,r3
|
||||
get_datapage r3, r0
|
||||
mtlr r12
|
||||
addi r3,r3,CFG_SYSCALL_MAP32
|
||||
cmpli cr0,r4,0
|
||||
beqlr
|
||||
li r0,NR_syscalls
|
||||
stw r0,0(r4)
|
||||
|
@ -25,10 +25,10 @@ V_FUNCTION_BEGIN(__kernel_getcpu)
|
||||
rlwinm r7,r5,16,31-15,31-0
|
||||
beq cr0,1f
|
||||
stw r6,0(r3)
|
||||
1: beq cr1,2f
|
||||
stw r7,0(r4)
|
||||
2: crclr cr0*4+so
|
||||
1: crclr cr0*4+so
|
||||
li r3,0 /* always success */
|
||||
beqlr cr1
|
||||
stw r7,0(r4)
|
||||
blr
|
||||
.cfi_endproc
|
||||
V_FUNCTION_END(__kernel_getcpu)
|
||||
|
@ -32,10 +32,9 @@ V_FUNCTION_BEGIN(__kernel_gettimeofday)
|
||||
mflr r12
|
||||
.cfi_register lr,r12
|
||||
|
||||
mr r10,r3 /* r10 saves tv */
|
||||
mr. r10,r3 /* r10 saves tv */
|
||||
mr r11,r4 /* r11 saves tz */
|
||||
get_datapage r9, r0
|
||||
cmplwi r10,0 /* check if tv is NULL */
|
||||
beq 3f
|
||||
LOAD_REG_IMMEDIATE(r7, 1000000) /* load up USEC_PER_SEC */
|
||||
bl __do_get_tspec@local /* get sec/usec from tb & kernel */
|
||||
@ -43,15 +42,16 @@ V_FUNCTION_BEGIN(__kernel_gettimeofday)
|
||||
stw r4,TVAL32_TV_USEC(r10)
|
||||
|
||||
3: cmplwi r11,0 /* check if tz is NULL */
|
||||
beq 1f
|
||||
mtlr r12
|
||||
crclr cr0*4+so
|
||||
li r3,0
|
||||
beqlr
|
||||
|
||||
lwz r4,CFG_TZ_MINUTEWEST(r9)/* fill tz */
|
||||
lwz r5,CFG_TZ_DSTTIME(r9)
|
||||
stw r4,TZONE_TZ_MINWEST(r11)
|
||||
stw r5,TZONE_TZ_DSTTIME(r11)
|
||||
|
||||
1: mtlr r12
|
||||
crclr cr0*4+so
|
||||
li r3,0
|
||||
blr
|
||||
.cfi_endproc
|
||||
V_FUNCTION_END(__kernel_gettimeofday)
|
||||
@ -245,10 +245,10 @@ V_FUNCTION_BEGIN(__kernel_time)
|
||||
lwz r3,STAMP_XTIME_SEC+LOPART(r9)
|
||||
|
||||
cmplwi r11,0 /* check if t is NULL */
|
||||
beq 2f
|
||||
stw r3,0(r11) /* store result at *t */
|
||||
2: mtlr r12
|
||||
mtlr r12
|
||||
crclr cr0*4+so
|
||||
beqlr
|
||||
stw r3,0(r11) /* store result at *t */
|
||||
blr
|
||||
.cfi_endproc
|
||||
V_FUNCTION_END(__kernel_time)
|
||||
|
Loading…
Reference in New Issue
Block a user