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 @@ ...@@ -56,12 +56,6 @@
mtsp %r1,%sr1 mtsp %r1,%sr1
.endm .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) * unsigned long lclear_user(void *to, unsigned long n)
* *
...@@ -82,16 +76,16 @@ $lclu_loop: ...@@ -82,16 +76,16 @@ $lclu_loop:
$lclu_done: $lclu_done:
bv %r0(%r2) bv %r0(%r2)
copy %r25,%r28 copy %r25,%r28
.exit
ENDPROC_CFI(lclear_user)
.section .fixup,"ax" 2: b $lclu_done
2: fixup_branch $lclu_done ldo 1(%r25),%r25
ldo 1(%r25),%r25
.previous
ASM_EXCEPTIONTABLE_ENTRY(1b,2b) ASM_EXCEPTIONTABLE_ENTRY(1b,2b)
.exit
ENDPROC_CFI(lclear_user)
.procend .procend
/* /*
...@@ -122,16 +116,15 @@ $lslen_done: ...@@ -122,16 +116,15 @@ $lslen_done:
$lslen_nzero: $lslen_nzero:
b $lslen_done b $lslen_done
ldo 1(%r26),%r26 /* special case for N == 0 */ ldo 1(%r26),%r26 /* special case for N == 0 */
ENDPROC_CFI(lstrnlen_user)
.section .fixup,"ax" 3: b $lslen_done
3: fixup_branch $lslen_done
copy %r24,%r26 /* reset r26 so 0 is returned on fault */ copy %r24,%r26 /* reset r26 so 0 is returned on fault */
.previous
ASM_EXCEPTIONTABLE_ENTRY(1b,3b) ASM_EXCEPTIONTABLE_ENTRY(1b,3b)
ASM_EXCEPTIONTABLE_ENTRY(2b,3b) ASM_EXCEPTIONTABLE_ENTRY(2b,3b)
ENDPROC_CFI(lstrnlen_user)
.procend .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