summaryrefslogtreecommitdiffstats
path: root/arch/openrisc/lib
diff options
context:
space:
mode:
authorJonas Bonn <jonas@southpole.se>2012-05-27 10:25:47 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2012-05-27 21:00:32 -0700
commitb48b2c3e50433ff6f7e46186daa7f986bd960215 (patch)
tree9a10b2130582f99df5ae7eae0b959425e791118c /arch/openrisc/lib
parent1629372caaaf7ef744d3b983be56b99468a68ff8 (diff)
downloadop-kernel-dev-b48b2c3e50433ff6f7e46186daa7f986bd960215.zip
op-kernel-dev-b48b2c3e50433ff6f7e46186daa7f986bd960215.tar.gz
openrisc: use generic strnlen_user() function
The generic version is both easier to support and more correct. Signed-off-by: Jonas Bonn <jonas@southpole.se> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/openrisc/lib')
-rw-r--r--arch/openrisc/lib/string.S47
1 files changed, 0 insertions, 47 deletions
diff --git a/arch/openrisc/lib/string.S b/arch/openrisc/lib/string.S
index 8ceb11e..c09fee7 100644
--- a/arch/openrisc/lib/string.S
+++ b/arch/openrisc/lib/string.S
@@ -103,50 +103,3 @@ __clear_user:
.section __ex_table, "a"
.long 9b, 99b // write fault
.previous
-
-
-/*
- * extern int __strnlen_user(const char *str, long len, unsigned long top);
- *
- *
- * RTRN: - length of a string including NUL termination character
- * - on page fault 0
- */
-
- .global __strnlen_user
-__strnlen_user:
- l.addi r1,r1,-8
- l.sw 0(r1),r6
- l.sw 4(r1),r3
-
- l.addi r11,r0,0
-2: l.sfeq r11,r4
- l.bf 1f
- l.addi r11,r11,1
-8: l.lbz r6,0(r3)
- l.sfeq r6,r0
- l.bf 1f
- l.sfgeu r3,r5 // are we over the top ?
- l.bf 99f
- l.j 2b
- l.addi r3,r3,1
-
-1:
- l.lwz r6,0(r1)
- l.lwz r3,4(r1)
- l.jr r9
- l.addi r1,r1,8
-
- .section .fixup, "ax"
-99:
- l.addi r11,r0,0
-
- l.lwz r6,0(r1)
- l.lwz r3,4(r1)
- l.jr r9
- l.addi r1,r1,8
- .previous
-
- .section __ex_table, "a"
- .long 8b, 99b // read fault
- .previous
OpenPOWER on IntegriCloud