Commit 741394ca authored by Helge Deller's avatar Helge Deller

parisc: Inline trivial exception code in lusercopy.S

Fold trivial exception handling for lclear_user() and lstrnlen_user()
into the main functions.
Signed-off-by: default avatarHelge Deller <deller@gmx.de>
parent 56868a46
......@@ -56,12 +56,6 @@
mtsp %r1,%sr1
.endm
.macro fixup_branch lbl
ldil L%\lbl, %r1
ldo R%\lbl(%r1), %r1
bv %r0(%r1)
.endm
/*
* unsigned long lclear_user(void *to, unsigned long n)
*
......@@ -82,16 +76,16 @@ $lclu_loop:
$lclu_done:
bv %r0(%r2)
copy %r25,%r28
.exit
ENDPROC_CFI(lclear_user)
.section .fixup,"ax"
2: fixup_branch $lclu_done
2: b $lclu_done
ldo 1(%r25),%r25
.previous
ASM_EXCEPTIONTABLE_ENTRY(1b,2b)
.exit
ENDPROC_CFI(lclear_user)
.procend
/*
......@@ -122,16 +116,15 @@ $lslen_done:
$lslen_nzero:
b $lslen_done
ldo 1(%r26),%r26 /* special case for N == 0 */
ENDPROC_CFI(lstrnlen_user)
.section .fixup,"ax"
3: fixup_branch $lslen_done
3: b $lslen_done
copy %r24,%r26 /* reset r26 so 0 is returned on fault */
.previous
ASM_EXCEPTIONTABLE_ENTRY(1b,3b)
ASM_EXCEPTIONTABLE_ENTRY(2b,3b)
ENDPROC_CFI(lstrnlen_user)
.procend
......
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