diff options
author | Jonas Bonn <jonas@southpole.se> | 2012-05-25 10:24:49 +0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-25 19:17:43 +0400 |
commit | 603d6637aeb9a14cd0087d7c24c3777bfa51fcbf (patch) | |
tree | 8b86e31d3d0a9d88b12629c27d2607d6e1420ac8 /arch/openrisc/lib | |
parent | ece78b7df734726e790dcab207f463401ff80440 (diff) | |
download | linux-603d6637aeb9a14cd0087d7c24c3777bfa51fcbf.tar.xz |
openrisc: use generic strncpy_from_user
As per commits 2922585b9329 ("lib: Sparc's strncpy_from_user is generic
enough, move under lib/") and 92ae03f2ef99 ("x86: merge 32/64-bit
versions of 'strncpy_from_user()' and speed it up"), and corresponding
discussion on linux-arch.
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.S | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/arch/openrisc/lib/string.S b/arch/openrisc/lib/string.S index 465f04bc7deb..8ceb11ebafb9 100644 --- a/arch/openrisc/lib/string.S +++ b/arch/openrisc/lib/string.S @@ -104,58 +104,6 @@ __clear_user: .long 9b, 99b // write fault .previous -/* - * long strncpy_from_user(char *dst, const char *src, long count) - * - * - */ - .global __strncpy_from_user -__strncpy_from_user: - l.addi r1,r1,-16 - l.sw 0(r1),r6 - l.sw 4(r1),r5 - l.sw 8(r1),r4 - l.sw 12(r1),r3 - - l.addi r11,r5,0 -2: l.sfeq r5,r0 - l.bf 1f - l.addi r5,r5,-1 -8: l.lbz r6,0(r4) - l.sfeq r6,r0 - l.bf 1f -9: l.sb 0(r3),r6 - l.addi r3,r3,1 - l.j 2b - l.addi r4,r4,1 -1: - l.lwz r6,0(r1) - l.addi r5,r5,1 - l.sub r11,r11,r5 // r11 holds the return value - - l.lwz r6,0(r1) - l.lwz r5,4(r1) - l.lwz r4,8(r1) - l.lwz r3,12(r1) - l.jr r9 - l.addi r1,r1,16 - - .section .fixup, "ax" -99: - l.movhi r11,hi(-EFAULT) - l.ori r11,r11,lo(-EFAULT) - - l.lwz r6,0(r1) - l.lwz r5,4(r1) - l.lwz r4,8(r1) - l.lwz r3,12(r1) - l.jr r9 - l.addi r1,r1,16 - .previous - - .section __ex_table, "a" - .long 8b, 99b // read fault - .previous /* * extern int __strnlen_user(const char *str, long len, unsigned long top); |