diff options
author | Victor Kamensky <victor.kamensky@linaro.org> | 2014-02-25 02:41:09 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2014-02-25 06:33:57 -0500 |
commit | d98b90ea22b0a28d9d787769704a9cf1ea5a513a (patch) | |
tree | b971e6e8940621db94bb7e5f07aab6869bc3efef | |
parent | 74c4137b2a9c73e7e6887ea1bac93d7012827012 (diff) |
ARM: 7990/1: asm: rename logical shift macros push pull into lspush lspull
Renames logical shift macros, 'push' and 'pull', defined in
arch/arm/include/asm/assembler.h, into 'lspush' and 'lspull'.
That eliminates name conflict between 'push' logical shift macro
and 'push' instruction mnemonic. That allows assembler.h to be
included in .S files that use 'push' instruction.
Suggested-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org>
Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r-- | arch/arm/include/asm/assembler.h | 8 | ||||
-rw-r--r-- | arch/arm/lib/copy_template.S | 36 | ||||
-rw-r--r-- | arch/arm/lib/csumpartialcopygeneric.S | 96 | ||||
-rw-r--r-- | arch/arm/lib/io-readsl.S | 12 | ||||
-rw-r--r-- | arch/arm/lib/io-writesl.S | 12 | ||||
-rw-r--r-- | arch/arm/lib/memmove.S | 36 | ||||
-rw-r--r-- | arch/arm/lib/uaccess.S | 192 |
7 files changed, 196 insertions, 196 deletions
diff --git a/arch/arm/include/asm/assembler.h b/arch/arm/include/asm/assembler.h index 5c2285160575..380ac4f20000 100644 --- a/arch/arm/include/asm/assembler.h +++ b/arch/arm/include/asm/assembler.h | |||
@@ -30,8 +30,8 @@ | |||
30 | * Endian independent macros for shifting bytes within registers. | 30 | * Endian independent macros for shifting bytes within registers. |
31 | */ | 31 | */ |
32 | #ifndef __ARMEB__ | 32 | #ifndef __ARMEB__ |
33 | #define pull lsr | 33 | #define lspull lsr |
34 | #define push lsl | 34 | #define lspush lsl |
35 | #define get_byte_0 lsl #0 | 35 | #define get_byte_0 lsl #0 |
36 | #define get_byte_1 lsr #8 | 36 | #define get_byte_1 lsr #8 |
37 | #define get_byte_2 lsr #16 | 37 | #define get_byte_2 lsr #16 |
@@ -41,8 +41,8 @@ | |||
41 | #define put_byte_2 lsl #16 | 41 | #define put_byte_2 lsl #16 |
42 | #define put_byte_3 lsl #24 | 42 | #define put_byte_3 lsl #24 |
43 | #else | 43 | #else |
44 | #define pull lsl | 44 | #define lspull lsl |
45 | #define push lsr | 45 | #define lspush lsr |
46 | #define get_byte_0 lsr #24 | 46 | #define get_byte_0 lsr #24 |
47 | #define get_byte_1 lsr #16 | 47 | #define get_byte_1 lsr #16 |
48 | #define get_byte_2 lsr #8 | 48 | #define get_byte_2 lsr #8 |
diff --git a/arch/arm/lib/copy_template.S b/arch/arm/lib/copy_template.S index 805e3f8fb007..3bc8eb811a73 100644 --- a/arch/arm/lib/copy_template.S +++ b/arch/arm/lib/copy_template.S | |||
@@ -197,24 +197,24 @@ | |||
197 | 197 | ||
198 | 12: PLD( pld [r1, #124] ) | 198 | 12: PLD( pld [r1, #124] ) |
199 | 13: ldr4w r1, r4, r5, r6, r7, abort=19f | 199 | 13: ldr4w r1, r4, r5, r6, r7, abort=19f |
200 | mov r3, lr, pull #\pull | 200 | mov r3, lr, lspull #\pull |
201 | subs r2, r2, #32 | 201 | subs r2, r2, #32 |
202 | ldr4w r1, r8, r9, ip, lr, abort=19f | 202 | ldr4w r1, r8, r9, ip, lr, abort=19f |
203 | orr r3, r3, r4, push #\push | 203 | orr r3, r3, r4, lspush #\push |
204 | mov r4, r4, pull #\pull | 204 | mov r4, r4, lspull #\pull |
205 | orr r4, r4, r5, push #\push | 205 | orr r4, r4, r5, lspush #\push |
206 | mov r5, r5, pull #\pull | 206 | mov r5, r5, lspull #\pull |
207 | orr r5, r5, r6, push #\push | 207 | orr r5, r5, r6, lspush #\push |
208 | mov r6, r6, pull #\pull | 208 | mov r6, r6, lspull #\pull |
209 | orr r6, r6, r7, push #\push | 209 | orr r6, r6, r7, lspush #\push |
210 | mov r7, r7, pull #\pull | 210 | mov r7, r7, lspull #\pull |
211 | orr r7, r7, r8, push #\push | 211 | orr r7, r7, r8, lspush #\push |
212 | mov r8, r8, pull #\pull | 212 | mov r8, r8, lspull #\pull |
213 | orr r8, r8, r9, push #\push | 213 | orr r8, r8, r9, lspush #\push |
214 | mov r9, r9, pull #\pull | 214 | mov r9, r9, lspull #\pull |
215 | orr r9, r9, ip, push #\push | 215 | orr r9, r9, ip, lspush #\push |
216 | mov ip, ip, pull #\pull | 216 | mov ip, ip, lspull #\pull |
217 | orr ip, ip, lr, push #\push | 217 | orr ip, ip, lr, lspush #\push |
218 | str8w r0, r3, r4, r5, r6, r7, r8, r9, ip, , abort=19f | 218 | str8w r0, r3, r4, r5, r6, r7, r8, r9, ip, , abort=19f |
219 | bge 12b | 219 | bge 12b |
220 | PLD( cmn r2, #96 ) | 220 | PLD( cmn r2, #96 ) |
@@ -225,10 +225,10 @@ | |||
225 | 14: ands ip, r2, #28 | 225 | 14: ands ip, r2, #28 |
226 | beq 16f | 226 | beq 16f |
227 | 227 | ||
228 | 15: mov r3, lr, pull #\pull | 228 | 15: mov r3, lr, lspull #\pull |
229 | ldr1w r1, lr, abort=21f | 229 | ldr1w r1, lr, abort=21f |
230 | subs ip, ip, #4 | 230 | subs ip, ip, #4 |
231 | orr r3, r3, lr, push #\push | 231 | orr r3, r3, lr, lspush #\push |
232 | str1w r0, r3, abort=21f | 232 | str1w r0, r3, abort=21f |
233 | bgt 15b | 233 | bgt 15b |
234 | CALGN( cmp r2, #0 ) | 234 | CALGN( cmp r2, #0 ) |
diff --git a/arch/arm/lib/csumpartialcopygeneric.S b/arch/arm/lib/csumpartialcopygeneric.S index d620a5f22a09..d6e742d24007 100644 --- a/arch/arm/lib/csumpartialcopygeneric.S +++ b/arch/arm/lib/csumpartialcopygeneric.S | |||
@@ -141,7 +141,7 @@ FN_ENTRY | |||
141 | tst len, #2 | 141 | tst len, #2 |
142 | mov r5, r4, get_byte_0 | 142 | mov r5, r4, get_byte_0 |
143 | beq .Lexit | 143 | beq .Lexit |
144 | adcs sum, sum, r4, push #16 | 144 | adcs sum, sum, r4, lspush #16 |
145 | strb r5, [dst], #1 | 145 | strb r5, [dst], #1 |
146 | mov r5, r4, get_byte_1 | 146 | mov r5, r4, get_byte_1 |
147 | strb r5, [dst], #1 | 147 | strb r5, [dst], #1 |
@@ -171,23 +171,23 @@ FN_ENTRY | |||
171 | cmp ip, #2 | 171 | cmp ip, #2 |
172 | beq .Lsrc2_aligned | 172 | beq .Lsrc2_aligned |
173 | bhi .Lsrc3_aligned | 173 | bhi .Lsrc3_aligned |
174 | mov r4, r5, pull #8 @ C = 0 | 174 | mov r4, r5, lspull #8 @ C = 0 |
175 | bics ip, len, #15 | 175 | bics ip, len, #15 |
176 | beq 2f | 176 | beq 2f |
177 | 1: load4l r5, r6, r7, r8 | 177 | 1: load4l r5, r6, r7, r8 |
178 | orr r4, r4, r5, push #24 | 178 | orr r4, r4, r5, lspush #24 |
179 | mov r5, r5, pull #8 | 179 | mov r5, r5, lspull #8 |
180 | orr r5, r5, r6, push #24 | 180 | orr r5, r5, r6, lspush #24 |
181 | mov r6, r6, pull #8 | 181 | mov r6, r6, lspull #8 |
182 | orr r6, r6, r7, push #24 | 182 | orr r6, r6, r7, lspush #24 |
183 | mov r7, r7, pull #8 | 183 | mov r7, r7, lspull #8 |
184 | orr r7, r7, r8, push #24 | 184 | orr r7, r7, r8, lspush #24 |
185 | stmia dst!, {r4, r5, r6, r7} | 185 | stmia dst!, {r4, r5, r6, r7} |
186 | adcs sum, sum, r4 | 186 | adcs sum, sum, r4 |
187 | adcs sum, sum, r5 | 187 | adcs sum, sum, r5 |
188 | adcs sum, sum, r6 | 188 | adcs sum, sum, r6 |
189 | adcs sum, sum, r7 | 189 | adcs sum, sum, r7 |
190 | mov r4, r8, pull #8 | 190 | mov r4, r8, lspull #8 |
191 | sub ip, ip, #16 | 191 | sub ip, ip, #16 |
192 | teq ip, #0 | 192 | teq ip, #0 |
193 | bne 1b | 193 | bne 1b |
@@ -196,50 +196,50 @@ FN_ENTRY | |||
196 | tst ip, #8 | 196 | tst ip, #8 |
197 | beq 3f | 197 | beq 3f |
198 | load2l r5, r6 | 198 | load2l r5, r6 |
199 | orr r4, r4, r5, push #24 | 199 | orr r4, r4, r5, lspush #24 |
200 | mov r5, r5, pull #8 | 200 | mov r5, r5, lspull #8 |
201 | orr r5, r5, r6, push #24 | 201 | orr r5, r5, r6, lspush #24 |
202 | stmia dst!, {r4, r5} | 202 | stmia dst!, {r4, r5} |
203 | adcs sum, sum, r4 | 203 | adcs sum, sum, r4 |
204 | adcs sum, sum, r5 | 204 | adcs sum, sum, r5 |
205 | mov r4, r6, pull #8 | 205 | mov r4, r6, lspull #8 |
206 | tst ip, #4 | 206 | tst ip, #4 |
207 | beq 4f | 207 | beq 4f |
208 | 3: load1l r5 | 208 | 3: load1l r5 |
209 | orr r4, r4, r5, push #24 | 209 | orr r4, r4, r5, lspush #24 |
210 | str r4, [dst], #4 | 210 | str r4, [dst], #4 |
211 | adcs sum, sum, r4 | 211 | adcs sum, sum, r4 |
212 | mov r4, r5, pull #8 | 212 | mov r4, r5, lspull #8 |
213 | 4: ands len, len, #3 | 213 | 4: ands len, len, #3 |
214 | beq .Ldone | 214 | beq .Ldone |
215 | mov r5, r4, get_byte_0 | 215 | mov r5, r4, get_byte_0 |
216 | tst len, #2 | 216 | tst len, #2 |
217 | beq .Lexit | 217 | beq .Lexit |
218 | adcs sum, sum, r4, push #16 | 218 | adcs sum, sum, r4, lspush #16 |
219 | strb r5, [dst], #1 | 219 | strb r5, [dst], #1 |
220 | mov r5, r4, get_byte_1 | 220 | mov r5, r4, get_byte_1 |
221 | strb r5, [dst], #1 | 221 | strb r5, [dst], #1 |
222 | mov r5, r4, get_byte_2 | 222 | mov r5, r4, get_byte_2 |
223 | b .Lexit | 223 | b .Lexit |
224 | 224 | ||
225 | .Lsrc2_aligned: mov r4, r5, pull #16 | 225 | .Lsrc2_aligned: mov r4, r5, lspull #16 |
226 | adds sum, sum, #0 | 226 | adds sum, sum, #0 |
227 | bics ip, len, #15 | 227 | bics ip, len, #15 |
228 | beq 2f | 228 | beq 2f |
229 | 1: load4l r5, r6, r7, r8 | 229 | 1: load4l r5, r6, r7, r8 |
230 | orr r4, r4, r5, push #16 | 230 | orr r4, r4, r5, lspush #16 |
231 | mov r5, r5, pull #16 | 231 | mov r5, r5, lspull #16 |
232 | orr r5, r5, r6, push #16 | 232 | orr r5, r5, r6, lspush #16 |
233 | mov r6, r6, pull #16 | 233 | mov r6, r6, lspull #16 |
234 | orr r6, r6, r7, push #16 | 234 | orr r6, r6, r7, lspush #16 |
235 | mov r7, r7, pull #16 | 235 | mov r7, r7, lspull #16 |
236 | orr r7, r7, r8, push #16 | 236 | orr r7, r7, r8, lspush #16 |
237 | stmia dst!, {r4, r5, r6, r7} | 237 | stmia dst!, {r4, r5, r6, r7} |
238 | adcs sum, sum, r4 | 238 | adcs sum, sum, r4 |
239 | adcs sum, sum, r5 | 239 | adcs sum, sum, r5 |
240 | adcs sum, sum, r6 | 240 | adcs sum, sum, r6 |
241 | adcs sum, sum, r7 | 241 | adcs sum, sum, r7 |
242 | mov r4, r8, pull #16 | 242 | mov r4, r8, lspull #16 |
243 | sub ip, ip, #16 | 243 | sub ip, ip, #16 |
244 | teq ip, #0 | 244 | teq ip, #0 |
245 | bne 1b | 245 | bne 1b |
@@ -248,20 +248,20 @@ FN_ENTRY | |||
248 | tst ip, #8 | 248 | tst ip, #8 |
249 | beq 3f | 249 | beq 3f |
250 | load2l r5, r6 | 250 | load2l r5, r6 |
251 | orr r4, r4, r5, push #16 | 251 | orr r4, r4, r5, lspush #16 |
252 | mov r5, r5, pull #16 | 252 | mov r5, r5, lspull #16 |
253 | orr r5, r5, r6, push #16 | 253 | orr r5, r5, r6, lspush #16 |
254 | stmia dst!, {r4, r5} | 254 | stmia dst!, {r4, r5} |
255 | adcs sum, sum, r4 | 255 | adcs sum, sum, r4 |
256 | adcs sum, sum, r5 | 256 | adcs sum, sum, r5 |
257 | mov r4, r6, pull #16 | 257 | mov r4, r6, lspull #16 |
258 | tst ip, #4 | 258 | tst ip, #4 |
259 | beq 4f | 259 | beq 4f |
260 | 3: load1l r5 | 260 | 3: load1l r5 |
261 | orr r4, r4, r5, push #16 | 261 | orr r4, r4, r5, lspush #16 |
262 | str r4, [dst], #4 | 262 | str r4, [dst], #4 |
263 | adcs sum, sum, r4 | 263 | adcs sum, sum, r4 |
264 | mov r4, r5, pull #16 | 264 | mov r4, r5, lspull #16 |
265 | 4: ands len, len, #3 | 265 | 4: ands len, len, #3 |
266 | beq .Ldone | 266 | beq .Ldone |
267 | mov r5, r4, get_byte_0 | 267 | mov r5, r4, get_byte_0 |
@@ -276,24 +276,24 @@ FN_ENTRY | |||
276 | load1b r5 | 276 | load1b r5 |
277 | b .Lexit | 277 | b .Lexit |
278 | 278 | ||
279 | .Lsrc3_aligned: mov r4, r5, pull #24 | 279 | .Lsrc3_aligned: mov r4, r5, lspull #24 |
280 | adds sum, sum, #0 | 280 | adds sum, sum, #0 |
281 | bics ip, len, #15 | 281 | bics ip, len, #15 |
282 | beq 2f | 282 | beq 2f |
283 | 1: load4l r5, r6, r7, r8 | 283 | 1: load4l r5, r6, r7, r8 |
284 | orr r4, r4, r5, push #8 | 284 | orr r4, r4, r5, lspush #8 |
285 | mov r5, r5, pull #24 | 285 | mov r5, r5, lspull #24 |
286 | orr r5, r5, r6, push #8 | 286 | orr r5, r5, r6, lspush #8 |
287 | mov r6, r6, pull #24 | 287 | mov r6, r6, lspull #24 |
288 | orr r6, r6, r7, push #8 | 288 | orr r6, r6, r7, lspush #8 |
289 | mov r7, r7, pull #24 | 289 | mov r7, r7, lspull #24 |
290 | orr r7, r7, r8, push #8 | 290 | orr r7, r7, r8, lspush #8 |
291 | stmia dst!, {r4, r5, r6, r7} | 291 | stmia dst!, {r4, r5, r6, r7} |
292 | adcs sum, sum, r4 | 292 | adcs sum, sum, r4 |
293 | adcs sum, sum, r5 | 293 | adcs sum, sum, r5 |
294 | adcs sum, sum, r6 | 294 | adcs sum, sum, r6 |
295 | adcs sum, sum, r7 | 295 | adcs sum, sum, r7 |
296 | mov r4, r8, pull #24 | 296 | mov r4, r8, lspull #24 |
297 | sub ip, ip, #16 | 297 | sub ip, ip, #16 |
298 | teq ip, #0 | 298 | teq ip, #0 |
299 | bne 1b | 299 | bne 1b |
@@ -302,20 +302,20 @@ FN_ENTRY | |||
302 | tst ip, #8 | 302 | tst ip, #8 |
303 | beq 3f | 303 | beq 3f |
304 | load2l r5, r6 | 304 | load2l r5, r6 |
305 | orr r4, r4, r5, push #8 | 305 | orr r4, r4, r5, lspush #8 |
306 | mov r5, r5, pull #24 | 306 | mov r5, r5, lspull #24 |
307 | orr r5, r5, r6, push #8 | 307 | orr r5, r5, r6, lspush #8 |
308 | stmia dst!, {r4, r5} | 308 | stmia dst!, {r4, r5} |
309 | adcs sum, sum, r4 | 309 | adcs sum, sum, r4 |
310 | adcs sum, sum, r5 | 310 | adcs sum, sum, r5 |
311 | mov r4, r6, pull #24 | 311 | mov r4, r6, lspull #24 |
312 | tst ip, #4 | 312 | tst ip, #4 |
313 | beq 4f | 313 | beq 4f |
314 | 3: load1l r5 | 314 | 3: load1l r5 |
315 | orr r4, r4, r5, push #8 | 315 | orr r4, r4, r5, lspush #8 |
316 | str r4, [dst], #4 | 316 | str r4, [dst], #4 |
317 | adcs sum, sum, r4 | 317 | adcs sum, sum, r4 |
318 | mov r4, r5, pull #24 | 318 | mov r4, r5, lspull #24 |
319 | 4: ands len, len, #3 | 319 | 4: ands len, len, #3 |
320 | beq .Ldone | 320 | beq .Ldone |
321 | mov r5, r4, get_byte_0 | 321 | mov r5, r4, get_byte_0 |
@@ -326,7 +326,7 @@ FN_ENTRY | |||
326 | load1l r4 | 326 | load1l r4 |
327 | mov r5, r4, get_byte_0 | 327 | mov r5, r4, get_byte_0 |
328 | strb r5, [dst], #1 | 328 | strb r5, [dst], #1 |
329 | adcs sum, sum, r4, push #24 | 329 | adcs sum, sum, r4, lspush #24 |
330 | mov r5, r4, get_byte_1 | 330 | mov r5, r4, get_byte_1 |
331 | b .Lexit | 331 | b .Lexit |
332 | FN_EXIT | 332 | FN_EXIT |
diff --git a/arch/arm/lib/io-readsl.S b/arch/arm/lib/io-readsl.S index 5fb97e7f9f4b..7a7430950c79 100644 --- a/arch/arm/lib/io-readsl.S +++ b/arch/arm/lib/io-readsl.S | |||
@@ -47,25 +47,25 @@ ENTRY(__raw_readsl) | |||
47 | strb ip, [r1], #1 | 47 | strb ip, [r1], #1 |
48 | 48 | ||
49 | 4: subs r2, r2, #1 | 49 | 4: subs r2, r2, #1 |
50 | mov ip, r3, pull #24 | 50 | mov ip, r3, lspull #24 |
51 | ldrne r3, [r0] | 51 | ldrne r3, [r0] |
52 | orrne ip, ip, r3, push #8 | 52 | orrne ip, ip, r3, lspush #8 |
53 | strne ip, [r1], #4 | 53 | strne ip, [r1], #4 |
54 | bne 4b | 54 | bne 4b |
55 | b 8f | 55 | b 8f |
56 | 56 | ||
57 | 5: subs r2, r2, #1 | 57 | 5: subs r2, r2, #1 |
58 | mov ip, r3, pull #16 | 58 | mov ip, r3, lspull #16 |
59 | ldrne r3, [r0] | 59 | ldrne r3, [r0] |
60 | orrne ip, ip, r3, push #16 | 60 | orrne ip, ip, r3, lspush #16 |
61 | strne ip, [r1], #4 | 61 | strne ip, [r1], #4 |
62 | bne 5b | 62 | bne 5b |
63 | b 7f | 63 | b 7f |
64 | 64 | ||
65 | 6: subs r2, r2, #1 | 65 | 6: subs r2, r2, #1 |
66 | mov ip, r3, pull #8 | 66 | mov ip, r3, lspull #8 |
67 | ldrne r3, [r0] | 67 | ldrne r3, [r0] |
68 | orrne ip, ip, r3, push #24 | 68 | orrne ip, ip, r3, lspush #24 |
69 | strne ip, [r1], #4 | 69 | strne ip, [r1], #4 |
70 | bne 6b | 70 | bne 6b |
71 | 71 | ||
diff --git a/arch/arm/lib/io-writesl.S b/arch/arm/lib/io-writesl.S index 8d3b7813725c..d0d104a0dd11 100644 --- a/arch/arm/lib/io-writesl.S +++ b/arch/arm/lib/io-writesl.S | |||
@@ -41,26 +41,26 @@ ENTRY(__raw_writesl) | |||
41 | blt 5f | 41 | blt 5f |
42 | bgt 6f | 42 | bgt 6f |
43 | 43 | ||
44 | 4: mov ip, r3, pull #16 | 44 | 4: mov ip, r3, lspull #16 |
45 | ldr r3, [r1], #4 | 45 | ldr r3, [r1], #4 |
46 | subs r2, r2, #1 | 46 | subs r2, r2, #1 |
47 | orr ip, ip, r3, push #16 | 47 | orr ip, ip, r3, lspush #16 |
48 | str ip, [r0] | 48 | str ip, [r0] |
49 | bne 4b | 49 | bne 4b |
50 | mov pc, lr | 50 | mov pc, lr |
51 | 51 | ||
52 | 5: mov ip, r3, pull #8 | 52 | 5: mov ip, r3, lspull #8 |
53 | ldr r3, [r1], #4 | 53 | ldr r3, [r1], #4 |
54 | subs r2, r2, #1 | 54 | subs r2, r2, #1 |
55 | orr ip, ip, r3, push #24 | 55 | orr ip, ip, r3, lspush #24 |
56 | str ip, [r0] | 56 | str ip, [r0] |
57 | bne 5b | 57 | bne 5b |
58 | mov pc, lr | 58 | mov pc, lr |
59 | 59 | ||
60 | 6: mov ip, r3, pull #24 | 60 | 6: mov ip, r3, lspull #24 |
61 | ldr r3, [r1], #4 | 61 | ldr r3, [r1], #4 |
62 | subs r2, r2, #1 | 62 | subs r2, r2, #1 |
63 | orr ip, ip, r3, push #8 | 63 | orr ip, ip, r3, lspush #8 |
64 | str ip, [r0] | 64 | str ip, [r0] |
65 | bne 6b | 65 | bne 6b |
66 | mov pc, lr | 66 | mov pc, lr |
diff --git a/arch/arm/lib/memmove.S b/arch/arm/lib/memmove.S index 938fc14f962d..d1fc0c0c342c 100644 --- a/arch/arm/lib/memmove.S +++ b/arch/arm/lib/memmove.S | |||
@@ -147,24 +147,24 @@ ENTRY(memmove) | |||
147 | 147 | ||
148 | 12: PLD( pld [r1, #-128] ) | 148 | 12: PLD( pld [r1, #-128] ) |
149 | 13: ldmdb r1!, {r7, r8, r9, ip} | 149 | 13: ldmdb r1!, {r7, r8, r9, ip} |
150 | mov lr, r3, push #\push | 150 | mov lr, r3, lspush #\push |
151 | subs r2, r2, #32 | 151 | subs r2, r2, #32 |
152 | ldmdb r1!, {r3, r4, r5, r6} | 152 | ldmdb r1!, {r3, r4, r5, r6} |
153 | orr lr, lr, ip, pull #\pull | 153 | orr lr, lr, ip, lspull #\pull |
154 | mov ip, ip, push #\push | 154 | mov ip, ip, lspush #\push |
155 | orr ip, ip, r9, pull #\pull | 155 | orr ip, ip, r9, lspull #\pull |
156 | mov r9, r9, push #\push | 156 | mov r9, r9, lspush #\push |
157 | orr r9, r9, r8, pull #\pull | 157 | orr r9, r9, r8, lspull #\pull |
158 | mov r8, r8, push #\push | 158 | mov r8, r8, lspush #\push |
159 | orr r8, r8, r7, pull #\pull | 159 | orr r8, r8, r7, lspull #\pull |
160 | mov r7, r7, push #\push | 160 | mov r7, r7, lspush #\push |
161 | orr r7, r7, r6, pull #\pull | 161 | orr r7, r7, r6, lspull #\pull |
162 | mov r6, r6, push #\push | 162 | mov r6, r6, lspush #\push |
163 | orr r6, r6, r5, pull #\pull | 163 | orr r6, r6, r5, lspull #\pull |
164 | mov r5, r5, push #\push | 164 | mov r5, r5, lspush #\push |
165 | orr r5, r5, r4, pull #\pull | 165 | orr r5, r5, r4, lspull #\pull |
166 | mov r4, r4, push #\push | 166 | mov r4, r4, lspush #\push |
167 | orr r4, r4, r3, pull #\pull | 167 | orr r4, r4, r3, lspull #\pull |
168 | stmdb r0!, {r4 - r9, ip, lr} | 168 | stmdb r0!, {r4 - r9, ip, lr} |
169 | bge 12b | 169 | bge 12b |
170 | PLD( cmn r2, #96 ) | 170 | PLD( cmn r2, #96 ) |
@@ -175,10 +175,10 @@ ENTRY(memmove) | |||
175 | 14: ands ip, r2, #28 | 175 | 14: ands ip, r2, #28 |
176 | beq 16f | 176 | beq 16f |
177 | 177 | ||
178 | 15: mov lr, r3, push #\push | 178 | 15: mov lr, r3, lspush #\push |
179 | ldr r3, [r1, #-4]! | 179 | ldr r3, [r1, #-4]! |
180 | subs ip, ip, #4 | 180 | subs ip, ip, #4 |
181 | orr lr, lr, r3, pull #\pull | 181 | orr lr, lr, r3, lspull #\pull |
182 | str lr, [r0, #-4]! | 182 | str lr, [r0, #-4]! |
183 | bgt 15b | 183 | bgt 15b |
184 | CALGN( cmp r2, #0 ) | 184 | CALGN( cmp r2, #0 ) |
diff --git a/arch/arm/lib/uaccess.S b/arch/arm/lib/uaccess.S index 5c908b1cb8ed..e50520904b76 100644 --- a/arch/arm/lib/uaccess.S +++ b/arch/arm/lib/uaccess.S | |||
@@ -117,9 +117,9 @@ USER( TUSER( strgtb) r3, [r0], #1) @ May fault | |||
117 | .Lc2u_1fupi: subs r2, r2, #4 | 117 | .Lc2u_1fupi: subs r2, r2, #4 |
118 | addmi ip, r2, #4 | 118 | addmi ip, r2, #4 |
119 | bmi .Lc2u_1nowords | 119 | bmi .Lc2u_1nowords |
120 | mov r3, r7, pull #8 | 120 | mov r3, r7, lspull #8 |
121 | ldr r7, [r1], #4 | 121 | ldr r7, [r1], #4 |
122 | orr r3, r3, r7, push #24 | 122 | orr r3, r3, r7, lspush #24 |
123 | USER( TUSER( str) r3, [r0], #4) @ May fault | 123 | USER( TUSER( str) r3, [r0], #4) @ May fault |
124 | mov ip, r0, lsl #32 - PAGE_SHIFT | 124 | mov ip, r0, lsl #32 - PAGE_SHIFT |
125 | rsb ip, ip, #0 | 125 | rsb ip, ip, #0 |
@@ -131,30 +131,30 @@ USER( TUSER( str) r3, [r0], #4) @ May fault | |||
131 | subs ip, ip, #16 | 131 | subs ip, ip, #16 |
132 | blt .Lc2u_1rem8lp | 132 | blt .Lc2u_1rem8lp |
133 | 133 | ||
134 | .Lc2u_1cpy8lp: mov r3, r7, pull #8 | 134 | .Lc2u_1cpy8lp: mov r3, r7, lspull #8 |
135 | ldmia r1!, {r4 - r7} | 135 | ldmia r1!, {r4 - r7} |
136 | subs ip, ip, #16 | 136 | subs ip, ip, #16 |
137 | orr r3, r3, r4, push #24 | 137 | orr r3, r3, r4, lspush #24 |
138 | mov r4, r4, pull #8 | 138 | mov r4, r4, lspull #8 |
139 | orr r4, r4, r5, push #24 | 139 | orr r4, r4, r5, lspush #24 |
140 | mov r5, r5, pull #8 | 140 | mov r5, r5, lspull #8 |
141 | orr r5, r5, r6, push #24 | 141 | orr r5, r5, r6, lspush #24 |
142 | mov r6, r6, pull #8 | 142 | mov r6, r6, lspull #8 |
143 | orr r6, r6, r7, push #24 | 143 | orr r6, r6, r7, lspush #24 |
144 | stmia r0!, {r3 - r6} @ Shouldnt fault | 144 | stmia r0!, {r3 - r6} @ Shouldnt fault |
145 | bpl .Lc2u_1cpy8lp | 145 | bpl .Lc2u_1cpy8lp |
146 | 146 | ||
147 | .Lc2u_1rem8lp: tst ip, #8 | 147 | .Lc2u_1rem8lp: tst ip, #8 |
148 | movne r3, r7, pull #8 | 148 | movne r3, r7, lspull #8 |
149 | ldmneia r1!, {r4, r7} | 149 | ldmneia r1!, {r4, r7} |
150 | orrne r3, r3, r4, push #24 | 150 | orrne r3, r3, r4, lspush #24 |
151 | movne r4, r4, pull #8 | 151 | movne r4, r4, lspull #8 |
152 | orrne r4, r4, r7, push #24 | 152 | orrne r4, r4, r7, lspush #24 |
153 | stmneia r0!, {r3 - r4} @ Shouldnt fault | 153 | stmneia r0!, {r3 - r4} @ Shouldnt fault |
154 | tst ip, #4 | 154 | tst ip, #4 |
155 | movne r3, r7, pull #8 | 155 | movne r3, r7, lspull #8 |
156 | ldrne r7, [r1], #4 | 156 | ldrne r7, [r1], #4 |
157 | orrne r3, r3, r7, push #24 | 157 | orrne r3, r3, r7, lspush #24 |
158 | TUSER( strne) r3, [r0], #4 @ Shouldnt fault | 158 | TUSER( strne) r3, [r0], #4 @ Shouldnt fault |
159 | ands ip, ip, #3 | 159 | ands ip, ip, #3 |
160 | beq .Lc2u_1fupi | 160 | beq .Lc2u_1fupi |
@@ -172,9 +172,9 @@ USER( TUSER( strgtb) r3, [r0], #1) @ May fault | |||
172 | .Lc2u_2fupi: subs r2, r2, #4 | 172 | .Lc2u_2fupi: subs r2, r2, #4 |
173 | addmi ip, r2, #4 | 173 | addmi ip, r2, #4 |
174 | bmi .Lc2u_2nowords | 174 | bmi .Lc2u_2nowords |
175 | mov r3, r7, pull #16 | 175 | mov r3, r7, lspull #16 |
176 | ldr r7, [r1], #4 | 176 | ldr r7, [r1], #4 |
177 | orr r3, r3, r7, push #16 | 177 | orr r3, r3, r7, lspush #16 |
178 | USER( TUSER( str) r3, [r0], #4) @ May fault | 178 | USER( TUSER( str) r3, [r0], #4) @ May fault |
179 | mov ip, r0, lsl #32 - PAGE_SHIFT | 179 | mov ip, r0, lsl #32 - PAGE_SHIFT |
180 | rsb ip, ip, #0 | 180 | rsb ip, ip, #0 |
@@ -186,30 +186,30 @@ USER( TUSER( str) r3, [r0], #4) @ May fault | |||
186 | subs ip, ip, #16 | 186 | subs ip, ip, #16 |
187 | blt .Lc2u_2rem8lp | 187 | blt .Lc2u_2rem8lp |
188 | 188 | ||
189 | .Lc2u_2cpy8lp: mov r3, r7, pull #16 | 189 | .Lc2u_2cpy8lp: mov r3, r7, lspull #16 |
190 | ldmia r1!, {r4 - r7} | 190 | ldmia r1!, {r4 - r7} |
191 | subs ip, ip, #16 | 191 | subs ip, ip, #16 |
192 | orr r3, r3, r4, push #16 | 192 | orr r3, r3, r4, lspush #16 |
193 | mov r4, r4, pull #16 | 193 | mov r4, r4, lspull #16 |
194 | orr r4, r4, r5, push #16 | 194 | orr r4, r4, r5, lspush #16 |
195 | mov r5, r5, pull #16 | 195 | mov r5, r5, lspull #16 |
196 | orr r5, r5, r6, push #16 | 196 | orr r5, r5, r6, lspush #16 |
197 | mov r6, r6, pull #16 | 197 | mov r6, r6, lspull #16 |
198 | orr r6, r6, r7, push #16 | 198 | orr r6, r6, r7, lspush #16 |
199 | stmia r0!, {r3 - r6} @ Shouldnt fault | 199 | stmia r0!, {r3 - r6} @ Shouldnt fault |
200 | bpl .Lc2u_2cpy8lp | 200 | bpl .Lc2u_2cpy8lp |
201 | 201 | ||
202 | .Lc2u_2rem8lp: tst ip, #8 | 202 | .Lc2u_2rem8lp: tst ip, #8 |
203 | movne r3, r7, pull #16 | 203 | movne r3, r7, lspull #16 |
204 | ldmneia r1!, {r4, r7} | 204 | ldmneia r1!, {r4, r7} |
205 | orrne r3, r3, r4, push #16 | 205 | orrne r3, r3, r4, lspush #16 |
206 | movne r4, r4, pull #16 | 206 | movne r4, r4, lspull #16 |
207 | orrne r4, r4, r7, push #16 | 207 | orrne r4, r4, r7, lspush #16 |
208 | stmneia r0!, {r3 - r4} @ Shouldnt fault | 208 | stmneia r0!, {r3 - r4} @ Shouldnt fault |
209 | tst ip, #4 | 209 | tst ip, #4 |
210 | movne r3, r7, pull #16 | 210 | movne r3, r7, lspull #16 |
211 | ldrne r7, [r1], #4 | 211 | ldrne r7, [r1], #4 |
212 | orrne r3, r3, r7, push #16 | 212 | orrne r3, r3, r7, lspush #16 |
213 | TUSER( strne) r3, [r0], #4 @ Shouldnt fault | 213 | TUSER( strne) r3, [r0], #4 @ Shouldnt fault |
214 | ands ip, ip, #3 | 214 | ands ip, ip, #3 |
215 | beq .Lc2u_2fupi | 215 | beq .Lc2u_2fupi |
@@ -227,9 +227,9 @@ USER( TUSER( strgtb) r3, [r0], #1) @ May fault | |||
227 | .Lc2u_3fupi: subs r2, r2, #4 | 227 | .Lc2u_3fupi: subs r2, r2, #4 |
228 | addmi ip, r2, #4 | 228 | addmi ip, r2, #4 |
229 | bmi .Lc2u_3nowords | 229 | bmi .Lc2u_3nowords |
230 | mov r3, r7, pull #24 | 230 | mov r3, r7, lspull #24 |
231 | ldr r7, [r1], #4 | 231 | ldr r7, [r1], #4 |
232 | orr r3, r3, r7, push #8 | 232 | orr r3, r3, r7, lspush #8 |
233 | USER( TUSER( str) r3, [r0], #4) @ May fault | 233 | USER( TUSER( str) r3, [r0], #4) @ May fault |
234 | mov ip, r0, lsl #32 - PAGE_SHIFT | 234 | mov ip, r0, lsl #32 - PAGE_SHIFT |
235 | rsb ip, ip, #0 | 235 | rsb ip, ip, #0 |
@@ -241,30 +241,30 @@ USER( TUSER( str) r3, [r0], #4) @ May fault | |||
241 | subs ip, ip, #16 | 241 | subs ip, ip, #16 |
242 | blt .Lc2u_3rem8lp | 242 | blt .Lc2u_3rem8lp |
243 | 243 | ||
244 | .Lc2u_3cpy8lp: mov r3, r7, pull #24 | 244 | .Lc2u_3cpy8lp: mov r3, r7, lspull #24 |
245 | ldmia r1!, {r4 - r7} | 245 | ldmia r1!, {r4 - r7} |
246 | subs ip, ip, #16 | 246 | subs ip, ip, #16 |
247 | orr r3, r3, r4, push #8 | 247 | orr r3, r3, r4, lspush #8 |
248 | mov r4, r4, pull #24 | 248 | mov r4, r4, lspull #24 |
249 | orr r4, r4, r5, push #8 | 249 | orr r4, r4, r5, lspush #8 |
250 | mov r5, r5, pull #24 | 250 | mov r5, r5, lspull #24 |
251 | orr r5, r5, r6, push #8 | 251 | orr r5, r5, r6, lspush #8 |
252 | mov r6, r6, pull #24 | 252 | mov r6, r6, lspull #24 |
253 | orr r6, r6, r7, push #8 | 253 | orr r6, r6, r7, lspush #8 |
254 | stmia r0!, {r3 - r6} @ Shouldnt fault | 254 | stmia r0!, {r3 - r6} @ Shouldnt fault |
255 | bpl .Lc2u_3cpy8lp | 255 | bpl .Lc2u_3cpy8lp |
256 | 256 | ||
257 | .Lc2u_3rem8lp: tst ip, #8 | 257 | .Lc2u_3rem8lp: tst ip, #8 |
258 | movne r3, r7, pull #24 | 258 | movne r3, r7, lspull #24 |
259 | ldmneia r1!, {r4, r7} | 259 | ldmneia r1!, {r4, r7} |
260 | orrne r3, r3, r4, push #8 | 260 | orrne r3, r3, r4, lspush #8 |
261 | movne r4, r4, pull #24 | 261 | movne r4, r4, lspull #24 |
262 | orrne r4, r4, r7, push #8 | 262 | orrne r4, r4, r7, lspush #8 |
263 | stmneia r0!, {r3 - r4} @ Shouldnt fault | 263 | stmneia r0!, {r3 - r4} @ Shouldnt fault |
264 | tst ip, #4 | 264 | tst ip, #4 |
265 | movne r3, r7, pull #24 | 265 | movne r3, r7, lspull #24 |
266 | ldrne r7, [r1], #4 | 266 | ldrne r7, [r1], #4 |
267 | orrne r3, r3, r7, push #8 | 267 | orrne r3, r3, r7, lspush #8 |
268 | TUSER( strne) r3, [r0], #4 @ Shouldnt fault | 268 | TUSER( strne) r3, [r0], #4 @ Shouldnt fault |
269 | ands ip, ip, #3 | 269 | ands ip, ip, #3 |
270 | beq .Lc2u_3fupi | 270 | beq .Lc2u_3fupi |
@@ -382,9 +382,9 @@ USER( TUSER( ldr) r7, [r1], #4) @ May fault | |||
382 | .Lcfu_1fupi: subs r2, r2, #4 | 382 | .Lcfu_1fupi: subs r2, r2, #4 |
383 | addmi ip, r2, #4 | 383 | addmi ip, r2, #4 |
384 | bmi .Lcfu_1nowords | 384 | bmi .Lcfu_1nowords |
385 | mov r3, r7, pull #8 | 385 | mov r3, r7, lspull #8 |
386 | USER( TUSER( ldr) r7, [r1], #4) @ May fault | 386 | USER( TUSER( ldr) r7, [r1], #4) @ May fault |
387 | orr r3, r3, r7, push #24 | 387 | orr r3, r3, r7, lspush #24 |
388 | str r3, [r0], #4 | 388 | str r3, [r0], #4 |
389 | mov ip, r1, lsl #32 - PAGE_SHIFT | 389 | mov ip, r1, lsl #32 - PAGE_SHIFT |
390 | rsb ip, ip, #0 | 390 | rsb ip, ip, #0 |
@@ -396,30 +396,30 @@ USER( TUSER( ldr) r7, [r1], #4) @ May fault | |||
396 | subs ip, ip, #16 | 396 | subs ip, ip, #16 |
397 | blt .Lcfu_1rem8lp | 397 | blt .Lcfu_1rem8lp |
398 | 398 | ||
399 | .Lcfu_1cpy8lp: mov r3, r7, pull #8 | 399 | .Lcfu_1cpy8lp: mov r3, r7, lspull #8 |
400 | ldmia r1!, {r4 - r7} @ Shouldnt fault | 400 | ldmia r1!, {r4 - r7} @ Shouldnt fault |
401 | subs ip, ip, #16 | 401 | subs ip, ip, #16 |
402 | orr r3, r3, r4, push #24 | 402 | orr r3, r3, r4, lspush #24 |
403 | mov r4, r4, pull #8 | 403 | mov r4, r4, lspull #8 |
404 | orr r4, r4, r5, push #24 | 404 | orr r4, r4, r5, lspush #24 |
405 | mov r5, r5, pull #8 | 405 | mov r5, r5, lspull #8 |
406 | orr r5, r5, r6, push #24 | 406 | orr r5, r5, r6, lspush #24 |
407 | mov r6, r6, pull #8 | 407 | mov r6, r6, lspull #8 |
408 | orr r6, r6, r7, push #24 | 408 | orr r6, r6, r7, lspush #24 |
409 | stmia r0!, {r3 - r6} | 409 | stmia r0!, {r3 - r6} |
410 | bpl .Lcfu_1cpy8lp | 410 | bpl .Lcfu_1cpy8lp |
411 | 411 | ||
412 | .Lcfu_1rem8lp: tst ip, #8 | 412 | .Lcfu_1rem8lp: tst ip, #8 |
413 | movne r3, r7, pull #8 | 413 | movne r3, r7, lspull #8 |
414 | ldmneia r1!, {r4, r7} @ Shouldnt fault | 414 | ldmneia r1!, {r4, r7} @ Shouldnt fault |
415 | orrne r3, r3, r4, push #24 | 415 | orrne r3, r3, r4, lspush #24 |
416 | movne r4, r4, pull #8 | 416 | movne r4, r4, lspull #8 |
417 | orrne r4, r4, r7, push #24 | 417 | orrne r4, r4, r7, lspush #24 |
418 | stmneia r0!, {r3 - r4} | 418 | stmneia r0!, {r3 - r4} |
419 | tst ip, #4 | 419 | tst ip, #4 |
420 | movne r3, r7, pull #8 | 420 | movne r3, r7, lspull #8 |
421 | USER( TUSER( ldrne) r7, [r1], #4) @ May fault | 421 | USER( TUSER( ldrne) r7, [r1], #4) @ May fault |
422 | orrne r3, r3, r7, push #24 | 422 | orrne r3, r3, r7, lspush #24 |
423 | strne r3, [r0], #4 | 423 | strne r3, [r0], #4 |
424 | ands ip, ip, #3 | 424 | ands ip, ip, #3 |
425 | beq .Lcfu_1fupi | 425 | beq .Lcfu_1fupi |
@@ -437,9 +437,9 @@ USER( TUSER( ldrne) r7, [r1], #4) @ May fault | |||
437 | .Lcfu_2fupi: subs r2, r2, #4 | 437 | .Lcfu_2fupi: subs r2, r2, #4 |
438 | addmi ip, r2, #4 | 438 | addmi ip, r2, #4 |
439 | bmi .Lcfu_2nowords | 439 | bmi .Lcfu_2nowords |
440 | mov r3, r7, pull #16 | 440 | mov r3, r7, lspull #16 |
441 | USER( TUSER( ldr) r7, [r1], #4) @ May fault | 441 | USER( TUSER( ldr) r7, [r1], #4) @ May fault |
442 | orr r3, r3, r7, push #16 | 442 | orr r3, r3, r7, lspush #16 |
443 | str r3, [r0], #4 | 443 | str r3, [r0], #4 |
444 | mov ip, r1, lsl #32 - PAGE_SHIFT | 444 | mov ip, r1, lsl #32 - PAGE_SHIFT |
445 | rsb ip, ip, #0 | 445 | rsb ip, ip, #0 |
@@ -452,30 +452,30 @@ USER( TUSER( ldr) r7, [r1], #4) @ May fault | |||
452 | blt .Lcfu_2rem8lp | 452 | blt .Lcfu_2rem8lp |
453 | 453 | ||
454 | 454 | ||
455 | .Lcfu_2cpy8lp: mov r3, r7, pull #16 | 455 | .Lcfu_2cpy8lp: mov r3, r7, lspull #16 |
456 | ldmia r1!, {r4 - r7} @ Shouldnt fault | 456 | ldmia r1!, {r4 - r7} @ Shouldnt fault |
457 | subs ip, ip, #16 | 457 | subs ip, ip, #16 |
458 | orr r3, r3, r4, push #16 | 458 | orr r3, r3, r4, lspush #16 |
459 | mov r4, r4, pull #16 | 459 | mov r4, r4, lspull #16 |
460 | orr r4, r4, r5, push #16 | 460 | orr r4, r4, r5, lspush #16 |
461 | mov r5, r5, pull #16 | 461 | mov r5, r5, lspull #16 |
462 | orr r5, r5, r6, push #16 | 462 | orr r5, r5, r6, lspush #16 |
463 | mov r6, r6, pull #16 | 463 | mov r6, r6, lspull #16 |
464 | orr r6, r6, r7, push #16 | 464 | orr r6, r6, r7, lspush #16 |
465 | stmia r0!, {r3 - r6} | 465 | stmia r0!, {r3 - r6} |
466 | bpl .Lcfu_2cpy8lp | 466 | bpl .Lcfu_2cpy8lp |
467 | 467 | ||
468 | .Lcfu_2rem8lp: tst ip, #8 | 468 | .Lcfu_2rem8lp: tst ip, #8 |
469 | movne r3, r7, pull #16 | 469 | movne r3, r7, lspull #16 |
470 | ldmneia r1!, {r4, r7} @ Shouldnt fault | 470 | ldmneia r1!, {r4, r7} @ Shouldnt fault |
471 | orrne r3, r3, r4, push #16 | 471 | orrne r3, r3, r4, lspush #16 |
472 | movne r4, r4, pull #16 | 472 | movne r4, r4, lspull #16 |
473 | orrne r4, r4, r7, push #16 | 473 | orrne r4, r4, r7, lspush #16 |
474 | stmneia r0!, {r3 - r4} | 474 | stmneia r0!, {r3 - r4} |
475 | tst ip, #4 | 475 | tst ip, #4 |
476 | movne r3, r7, pull #16 | 476 | movne r3, r7, lspull #16 |
477 | USER( TUSER( ldrne) r7, [r1], #4) @ May fault | 477 | USER( TUSER( ldrne) r7, [r1], #4) @ May fault |
478 | orrne r3, r3, r7, push #16 | 478 | orrne r3, r3, r7, lspush #16 |
479 | strne r3, [r0], #4 | 479 | strne r3, [r0], #4 |
480 | ands ip, ip, #3 | 480 | ands ip, ip, #3 |
481 | beq .Lcfu_2fupi | 481 | beq .Lcfu_2fupi |
@@ -493,9 +493,9 @@ USER( TUSER( ldrgtb) r3, [r1], #0) @ May fault | |||
493 | .Lcfu_3fupi: subs r2, r2, #4 | 493 | .Lcfu_3fupi: subs r2, r2, #4 |
494 | addmi ip, r2, #4 | 494 | addmi ip, r2, #4 |
495 | bmi .Lcfu_3nowords | 495 | bmi .Lcfu_3nowords |
496 | mov r3, r7, pull #24 | 496 | mov r3, r7, lspull #24 |
497 | USER( TUSER( ldr) r7, [r1], #4) @ May fault | 497 | USER( TUSER( ldr) r7, [r1], #4) @ May fault |
498 | orr r3, r3, r7, push #8 | 498 | orr r3, r3, r7, lspush #8 |
499 | str r3, [r0], #4 | 499 | str r3, [r0], #4 |
500 | mov ip, r1, lsl #32 - PAGE_SHIFT | 500 | mov ip, r1, lsl #32 - PAGE_SHIFT |
501 | rsb ip, ip, #0 | 501 | rsb ip, ip, #0 |
@@ -507,30 +507,30 @@ USER( TUSER( ldr) r7, [r1], #4) @ May fault | |||
507 | subs ip, ip, #16 | 507 | subs ip, ip, #16 |
508 | blt .Lcfu_3rem8lp | 508 | blt .Lcfu_3rem8lp |
509 | 509 | ||
510 | .Lcfu_3cpy8lp: mov r3, r7, pull #24 | 510 | .Lcfu_3cpy8lp: mov r3, r7, lspull #24 |
511 | ldmia r1!, {r4 - r7} @ Shouldnt fault | 511 | ldmia r1!, {r4 - r7} @ Shouldnt fault |
512 | orr r3, r3, r4, push #8 | 512 | orr r3, r3, r4, lspush #8 |
513 | mov r4, r4, pull #24 | 513 | mov r4, r4, lspull #24 |
514 | orr r4, r4, r5, push #8 | 514 | orr r4, r4, r5, lspush #8 |
515 | mov r5, r5, pull #24 | 515 | mov r5, r5, lspull #24 |
516 | orr r5, r5, r6, push #8 | 516 | orr r5, r5, r6, lspush #8 |
517 | mov r6, r6, pull #24 | 517 | mov r6, r6, lspull #24 |
518 | orr r6, r6, r7, push #8 | 518 | orr r6, r6, r7, lspush #8 |
519 | stmia r0!, {r3 - r6} | 519 | stmia r0!, {r3 - r6} |
520 | subs ip, ip, #16 | 520 | subs ip, ip, #16 |
521 | bpl .Lcfu_3cpy8lp | 521 | bpl .Lcfu_3cpy8lp |
522 | 522 | ||
523 | .Lcfu_3rem8lp: tst ip, #8 | 523 | .Lcfu_3rem8lp: tst ip, #8 |
524 | movne r3, r7, pull #24 | 524 | movne r3, r7, lspull #24 |
525 | ldmneia r1!, {r4, r7} @ Shouldnt fault | 525 | ldmneia r1!, {r4, r7} @ Shouldnt fault |
526 | orrne r3, r3, r4, push #8 | 526 | orrne r3, r3, r4, lspush #8 |
527 | movne r4, r4, pull #24 | 527 | movne r4, r4, lspull #24 |
528 | orrne r4, r4, r7, push #8 | 528 | orrne r4, r4, r7, lspush #8 |
529 | stmneia r0!, {r3 - r4} | 529 | stmneia r0!, {r3 - r4} |
530 | tst ip, #4 | 530 | tst ip, #4 |
531 | movne r3, r7, pull #24 | 531 | movne r3, r7, lspull #24 |
532 | USER( TUSER( ldrne) r7, [r1], #4) @ May fault | 532 | USER( TUSER( ldrne) r7, [r1], #4) @ May fault |
533 | orrne r3, r3, r7, push #8 | 533 | orrne r3, r3, r7, lspush #8 |
534 | strne r3, [r0], #4 | 534 | strne r3, [r0], #4 |
535 | ands ip, ip, #3 | 535 | ands ip, ip, #3 |
536 | beq .Lcfu_3fupi | 536 | beq .Lcfu_3fupi |