diff options
Diffstat (limited to 'arch/openrisc/lib/string.S')
-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: | |||
104 | .long 9b, 99b // write fault | 104 | .long 9b, 99b // write fault |
105 | .previous | 105 | .previous |
106 | 106 | ||
107 | /* | ||
108 | * long strncpy_from_user(char *dst, const char *src, long count) | ||
109 | * | ||
110 | * | ||
111 | */ | ||
112 | .global __strncpy_from_user | ||
113 | __strncpy_from_user: | ||
114 | l.addi r1,r1,-16 | ||
115 | l.sw 0(r1),r6 | ||
116 | l.sw 4(r1),r5 | ||
117 | l.sw 8(r1),r4 | ||
118 | l.sw 12(r1),r3 | ||
119 | |||
120 | l.addi r11,r5,0 | ||
121 | 2: l.sfeq r5,r0 | ||
122 | l.bf 1f | ||
123 | l.addi r5,r5,-1 | ||
124 | 8: l.lbz r6,0(r4) | ||
125 | l.sfeq r6,r0 | ||
126 | l.bf 1f | ||
127 | 9: l.sb 0(r3),r6 | ||
128 | l.addi r3,r3,1 | ||
129 | l.j 2b | ||
130 | l.addi r4,r4,1 | ||
131 | 1: | ||
132 | l.lwz r6,0(r1) | ||
133 | l.addi r5,r5,1 | ||
134 | l.sub r11,r11,r5 // r11 holds the return value | ||
135 | |||
136 | l.lwz r6,0(r1) | ||
137 | l.lwz r5,4(r1) | ||
138 | l.lwz r4,8(r1) | ||
139 | l.lwz r3,12(r1) | ||
140 | l.jr r9 | ||
141 | l.addi r1,r1,16 | ||
142 | |||
143 | .section .fixup, "ax" | ||
144 | 99: | ||
145 | l.movhi r11,hi(-EFAULT) | ||
146 | l.ori r11,r11,lo(-EFAULT) | ||
147 | |||
148 | l.lwz r6,0(r1) | ||
149 | l.lwz r5,4(r1) | ||
150 | l.lwz r4,8(r1) | ||
151 | l.lwz r3,12(r1) | ||
152 | l.jr r9 | ||
153 | l.addi r1,r1,16 | ||
154 | .previous | ||
155 | |||
156 | .section __ex_table, "a" | ||
157 | .long 8b, 99b // read fault | ||
158 | .previous | ||
159 | 107 | ||
160 | /* | 108 | /* |
161 | * extern int __strnlen_user(const char *str, long len, unsigned long top); | 109 | * extern int __strnlen_user(const char *str, long len, unsigned long top); |