diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1999-12-04 03:58:56 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1999-12-04 03:58:56 +0000 |
commit | 1d67e90f19a7acfd9a05dc59678e7d0c5090bd0d (patch) | |
tree | 357efc7b93f8f5102110d20d293f41360ec212fc /arch/mips64/lib/strlen_user.S | |
parent | aea27b2e18d69af87e673972246e66657b4fa274 (diff) |
Merge with Linux 2.3.21.
Diffstat (limited to 'arch/mips64/lib/strlen_user.S')
-rw-r--r-- | arch/mips64/lib/strlen_user.S | 33 |
1 files changed, 16 insertions, 17 deletions
diff --git a/arch/mips64/lib/strlen_user.S b/arch/mips64/lib/strlen_user.S index da37c0c2a..bb4347c02 100644 --- a/arch/mips64/lib/strlen_user.S +++ b/arch/mips64/lib/strlen_user.S @@ -1,4 +1,4 @@ -/* $Id$ +/* $Id: strlen_user.S,v 1.2 1999/11/19 20:35:22 ralf Exp $ * * This file is subject to the terms and conditions of the GNU General Public * License. See the file "COPYING" in the main directory of this archive @@ -23,24 +23,23 @@ * * Return 0 for error */ -LEAF(__strlen_user_nocheck_asm) - LONG_L v0, THREAD_CURDS($28) # pointer ok? - LONG_SUBU v0, zero, v0 - and v0, a0 - not v0 - beqz v0, fault -EXPORT(__strlen_user_asm) - move v0, a0 -1: EX(lb, t0, (v0), fault) - LONG_ADDIU v0, 1 - bnez t0, 1b - LONG_SUBU v0, a0 - jr ra - END(__strlen_user_nocheck_asm) +LEAF(__strlen_user_asm) + ld v0, THREAD_CURDS($28) # pointer ok? + and v0, a0 + bltz v0, fault + +EXPORT(__strlen_user_nocheck_asm) + move v0, a0 +1: EX(lb, ta0, (v0), fault) + daddiu v0, 1 + bnez ta0, 1b + dsubu v0, a0 + jr ra + END(__strlen_user_asm) .section __ex_table,"a" PTR 1b, fault .previous -fault: move v0, zero - jr ra +fault: move v0, zero + jr ra |