hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/drivers/rkflash/rk_sftl_arm_v7_thumb.S
....@@ -1,6 +1,6 @@
11 /* SPDX-License-Identifier: GPL-2.0 */
22
3
-/* Copyright (c) 2018 Rockchip Electronics Co. Ltd.
3
+/* Copyright (c) 2018-2022 Rockchip Electronics Co. Ltd.
44 * date: 2022-08-15
55 */
66 .arch armv7-a
....@@ -14,12 +14,12 @@
1414 .eabi_attribute 34, 1
1515 .eabi_attribute 18, 2
1616 .file "rk_sftl.c"
17
+ .text
1718 .syntax unified
1819 .syntax unified
1920 .global __aeabi_uidiv
2021 .thumb
2122 .syntax unified
22
- .text
2323 .align 1
2424 .syntax unified
2525 .thumb
....@@ -32,30 +32,30 @@
3232 @ frame_needed = 0, uses_anonymous_args = 0
3333 push {r3, r4, r5, r6, r7, r8, r9, lr}
3434 .save {r3, r4, r5, r6, r7, r8, r9, lr}
35
- mov r8, r1
35
+ mov r7, r1
3636 ldr r3, .L3
37
- mov r9, r2
38
- ldr r6, [r0, #4]
39
- ldrh r4, [r3, #8]
40
- ldrh r5, [r3, #10]
37
+ mov r8, r2
38
+ ldrh r9, [r3, #8]
39
+ ldrh r6, [r3, #10]
4140 ldrh r3, [r3, #14]
42
- lsrs r7, r6, #10
43
- ubfx r6, r6, #0, #10
4441 cmp r3, #4
45
- uxth r0, r7
4642 itt eq
47
- lsreq r4, r4, #1
48
- lsleq r5, r5, #1
49
- uxth r7, r7
50
- mov r1, r4
43
+ lsleq r4, r6, #1
44
+ lsreq r9, r9, #1
45
+ mov r1, r9
5146 it eq
52
- uxtheq r5, r5
47
+ uxtheq r6, r4
48
+ ldr r4, [r0, #4]
49
+ lsrs r5, r4, #10
50
+ ubfx r0, r4, #10, #16
5351 bl __aeabi_uidiv
5452 uxth r0, r0
55
- mls r4, r0, r4, r7
56
- mla r4, r5, r4, r6
57
- str r4, [r8]
58
- str r0, [r9]
53
+ uxth r5, r5
54
+ ubfx r4, r4, #0, #10
55
+ mls r5, r0, r9, r5
56
+ mla r4, r6, r5, r4
57
+ str r4, [r7]
58
+ str r0, [r8]
5959 movs r0, #0
6060 pop {r3, r4, r5, r6, r7, r8, r9, pc}
6161 .L4:
....@@ -64,6 +64,65 @@
6464 .word .LANCHOR0
6565 .fnend
6666 .size l2p_addr_tran, .-l2p_addr_tran
67
+ .align 1
68
+ .syntax unified
69
+ .thumb
70
+ .thumb_func
71
+ .fpu softvfp
72
+ .type _copy_from_user, %function
73
+_copy_from_user:
74
+ .fnstart
75
+ @ args = 0, pretend = 0, frame = 0
76
+ @ frame_needed = 0, uses_anonymous_args = 0
77
+ push {r3, r4, r5, r6, r7, lr}
78
+ .save {r3, r4, r5, r6, r7, lr}
79
+ mov r6, r0
80
+ mov r4, r2
81
+ mov r3, sp
82
+ bic r3, r3, #8160
83
+ bic r3, r3, #31
84
+ ldr r3, [r3, #8]
85
+ .syntax unified
86
+@ 157 "./include/linux/uaccess.h" 1
87
+ .syntax unified
88
+adds r7, r1, r2; sbcscc r7, r7, r3; movcc r3, #0
89
+@ 0 "" 2
90
+ .thumb
91
+ .syntax unified
92
+ cbnz r3, .L8
93
+ bl arm_copy_from_user
94
+ mov r5, r0
95
+ cbz r0, .L5
96
+.L6:
97
+ subs r4, r4, r5
98
+ mov r2, r5
99
+ adds r0, r6, r4
100
+ movs r1, #0
101
+ bl memset
102
+.L5:
103
+ mov r0, r5
104
+ pop {r3, r4, r5, r6, r7, pc}
105
+.L8:
106
+ mov r5, r2
107
+ b .L6
108
+ .fnend
109
+ .size _copy_from_user, .-_copy_from_user
110
+ .section .rodata.str1.1,"aMS",%progbits,1
111
+.LC0:
112
+ .ascii "SFTL version: 5.0.58 20220814\000"
113
+.LC1:
114
+ .ascii "\012%s\012\000"
115
+.LC2:
116
+ .ascii "act blk: %x %x %x %x %x %x\012\000"
117
+.LC3:
118
+ .ascii "buf blk: %x %x %x %x %x %x\012\000"
119
+.LC4:
120
+ .ascii "tmp blk: %x %x %x %x %x %x\012\000"
121
+.LC5:
122
+ .ascii "gc blk: %x %x %x %x %x %x\012\000"
123
+.LC6:
124
+ .ascii "free blk: %x %x %x\012\000"
125
+ .text
67126 .align 1
68127 .global ftl_print_sblk_info
69128 .syntax unified
....@@ -78,69 +137,69 @@
78137 push {r0, r1, r2, r3, r4, lr}
79138 .save {r4, lr}
80139 .pad #16
81
- ldr r4, .L6
82
- ldr r1, .L6+4
83
- ldr r0, .L6+8
140
+ ldr r4, .L13
141
+ ldr r1, .L13+4
142
+ ldr r0, .L13+8
84143 bl sftl_printk
144
+ ldr r0, .L13+12
85145 ldrh r1, [r4, #24]
86
- ldr r0, [r4, #72]
87
- ldrb r3, [r4, #30] @ zero_extendqisi2
146
+ ldr r3, [r4, #72]
88147 ldrh r2, [r4, #26]
89
- ldrh r0, [r0, r1, lsl #1]
90
- str r0, [sp, #8]
91
- ldrh r0, [r4, #28]
92
- str r0, [sp, #4]
93
- ldrb r0, [r4, #32] @ zero_extendqisi2
94
- str r0, [sp]
95
- ldr r0, .L6+12
148
+ ldrh r3, [r3, r1, lsl #1]
149
+ str r3, [sp, #8]
150
+ ldrh r3, [r4, #28]
151
+ str r3, [sp, #4]
152
+ ldrb r3, [r4, #32] @ zero_extendqisi2
153
+ str r3, [sp]
154
+ ldrb r3, [r4, #30] @ zero_extendqisi2
96155 bl sftl_printk
97156 ldrh r1, [r4, #76]
98
- ldr r0, [r4, #72]
99
- ldrb r3, [r4, #82] @ zero_extendqisi2
157
+ ldr r3, [r4, #72]
100158 ldrh r2, [r4, #78]
101
- ldrh r0, [r0, r1, lsl #1]
102
- str r0, [sp, #8]
103
- ldrh r0, [r4, #80]
104
- str r0, [sp, #4]
105
- ldrb r0, [r4, #84] @ zero_extendqisi2
106
- str r0, [sp]
107
- ldr r0, .L6+16
159
+ ldr r0, .L13+16
160
+ ldrh r3, [r3, r1, lsl #1]
161
+ str r3, [sp, #8]
162
+ ldrh r3, [r4, #80]
163
+ str r3, [sp, #4]
164
+ ldrb r3, [r4, #84] @ zero_extendqisi2
165
+ str r3, [sp]
166
+ ldrb r3, [r4, #82] @ zero_extendqisi2
108167 bl sftl_printk
109168 ldrh r1, [r4, #124]
110
- ldr r0, [r4, #72]
111
- ldrb r3, [r4, #130] @ zero_extendqisi2
169
+ ldr r3, [r4, #72]
112170 ldrh r2, [r4, #126]
113
- ldrh r0, [r0, r1, lsl #1]
114
- str r0, [sp, #8]
115
- ldrh r0, [r4, #128]
116
- str r0, [sp, #4]
117
- ldrb r0, [r4, #132] @ zero_extendqisi2
118
- str r0, [sp]
119
- ldr r0, .L6+20
171
+ ldr r0, .L13+20
172
+ ldrh r3, [r3, r1, lsl #1]
173
+ str r3, [sp, #8]
174
+ ldrh r3, [r4, #128]
175
+ str r3, [sp, #4]
176
+ ldrb r3, [r4, #132] @ zero_extendqisi2
177
+ str r3, [sp]
178
+ ldrb r3, [r4, #130] @ zero_extendqisi2
120179 bl sftl_printk
121180 ldrh r1, [r4, #172]
122
- ldr r0, [r4, #72]
123
- ldrb r3, [r4, #178] @ zero_extendqisi2
181
+ ldr r3, [r4, #72]
124182 ldrh r2, [r4, #174]
125
- ldrh r0, [r0, r1, lsl #1]
126
- str r0, [sp, #8]
127
- ldrh r0, [r4, #176]
128
- str r0, [sp, #4]
129
- ldrb r0, [r4, #180] @ zero_extendqisi2
130
- str r0, [sp]
131
- ldr r0, .L6+24
183
+ ldr r0, .L13+24
184
+ ldrh r3, [r3, r1, lsl #1]
185
+ str r3, [sp, #8]
186
+ ldrh r3, [r4, #176]
187
+ str r3, [sp, #4]
188
+ ldrb r3, [r4, #180] @ zero_extendqisi2
189
+ str r3, [sp]
190
+ ldrb r3, [r4, #178] @ zero_extendqisi2
132191 bl sftl_printk
133192 ldrh r3, [r4, #220]
134193 ldrh r2, [r4, #222]
135194 ldrh r1, [r4, #224]
136
- ldr r0, .L6+28
195
+ ldr r0, .L13+28
137196 add sp, sp, #16
138197 @ sp needed
139198 pop {r4, lr}
140199 b sftl_printk
141
-.L7:
200
+.L14:
142201 .align 2
143
-.L6:
202
+.L13:
144203 .word .LANCHOR0
145204 .word .LC0
146205 .word .LC1
....@@ -165,17 +224,17 @@
165224 @ link register save eliminated.
166225 movs r1, #0
167226 movs r2, #1
168
-.L9:
169
- cmp r2, r0
227
+.L16:
170228 uxth r3, r1
229
+ cmp r2, r0
171230 add r1, r1, #1
172
- bls .L10
231
+ bls .L17
173232 subs r0, r3, #1
174233 uxth r0, r0
175234 bx lr
176
-.L10:
235
+.L17:
177236 lsls r2, r2, #1
178
- b .L9
237
+ b .L16
179238 .fnend
180239 .size Ftl_log2, .-Ftl_log2
181240 .align 1
....@@ -205,7 +264,7 @@
205264 @ args = 0, pretend = 0, frame = 0
206265 @ frame_needed = 0, uses_anonymous_args = 0
207266 @ link register save eliminated.
208
- ldr r3, .L13
267
+ ldr r3, .L20
209268 cmp r0, #24
210269 it cc
211270 movcc r0, #24
....@@ -215,15 +274,15 @@
215274 muls r2, r0, r2
216275 subs r0, r1, r0
217276 ldr r1, [r3, #248]
218
- strh r0, [r3, #240] @ movhi
219
- movs r0, #0
220277 str r2, [r3, #236]
278
+ strh r0, [r3, #240] @ movhi
221279 subs r2, r1, r2
280
+ movs r0, #0
222281 str r2, [r3, #244]
223282 bx lr
224
-.L14:
283
+.L21:
225284 .align 2
226
-.L13:
285
+.L20:
227286 .word .LANCHOR0
228287 .fnend
229288 .size FtlSysBlkNumInit, .-FtlSysBlkNumInit
....@@ -241,114 +300,111 @@
241300 @ frame_needed = 0, uses_anonymous_args = 0
242301 push {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
243302 .save {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
244
- mov fp, r0
245
- ldrh r1, [fp, #14]
303
+ mov r7, r0
304
+ ldr r4, .L33
246305 ldrh r2, [r0]
247
- ldr r4, .L26
306
+ ldrh r1, [r7, #14]
307
+ ldrh r5, [r0, #2]
308
+ ldrh r3, [r7, #6]
248309 cmp r1, #4
249
- ldrh r6, [r0, #2]
250
- ldrh r3, [fp, #6]
251310 ldrh r0, [r0, #4]
252311 strh r2, [r4, #252] @ movhi
253
- strh r6, [r4, #254] @ movhi
312
+ strh r5, [r4, #254] @ movhi
254313 strh r0, [r4, #256] @ movhi
255314 strh r3, [r4, #242] @ movhi
256315 strh r1, [r4, #258] @ movhi
257
- bne .L16
316
+ bne .L23
258317 lsrs r3, r3, #1
259318 strh r3, [r4, #242] @ movhi
260319 movs r3, #8
261320 strh r3, [r4, #258] @ movhi
262
-.L17:
263
- ldr r1, .L26+4
321
+.L24:
322
+ ldr r1, .L33+4
264323 movs r3, #0
265
-.L18:
266
- strb r3, [r3, r1]
324
+.L25:
325
+ strb r3, [r1], #1
267326 adds r3, r3, #1
268327 cmp r3, #32
269
- bne .L18
270
- ldrh r5, [r4, #242]
271
- movs r3, #5
272
- ldrh r0, [r4, #256]
328
+ bne .L25
329
+ ldrh r6, [r4, #242]
273330 cmp r2, #1
274
- strh r3, [r4, #292] @ movhi
275
- mov r7, #640
331
+ ldrh r0, [r4, #256]
276332 mov r3, #0
277
- it eq
278
- strheq r2, [r4, #292] @ movhi
333
+ it ne
334
+ movne r2, #5
279335 strh r3, [r4, #294] @ movhi
280
- smulbb r6, r6, r0
281
- strh r7, [r4, #296] @ movhi
282
- smulbb r0, r0, r5
283
- uxth r6, r6
336
+ strh r2, [r4, #292] @ movhi
337
+ mov r9, #640
338
+ strh r9, [r4, #296] @ movhi
339
+ smulbb r5, r5, r0
340
+ smulbb r0, r0, r6
341
+ uxth r5, r5
342
+ strh r5, [r4, #232] @ movhi
284343 uxth r0, r0
285
- strh r6, [r4, #232] @ movhi
286344 strh r0, [r4, #298] @ movhi
287345 bl Ftl_log2
288
- ldrh r9, [fp, #12]
346
+ ldrh fp, [r7, #12]
289347 ldrh r10, [r4, #258]
290348 strh r0, [r4, #300] @ movhi
291
- strh r9, [r4, #302] @ movhi
292
- smulbb r3, r6, r9
293349 mov r0, r10
294
- strh r9, [r4, #304] @ movhi
350
+ strh fp, [r4, #302] @ movhi
351
+ smulbb r3, r5, fp
352
+ strh fp, [r4, #304] @ movhi
295353 strh r3, [r4, #306] @ movhi
296354 bl Ftl_log2
297355 lsl r3, r10, #9
356
+ mul r1, fp, r10
298357 mov r8, r0
299358 strh r0, [r4, #308] @ movhi
300
- mul r1, r9, r10
301359 uxth r3, r3
302
- mov r0, #5120
303
- asr r7, r7, r8
304360 strh r3, [r4, #310] @ movhi
305
- lsrs r3, r3, #8
361
+ asr r9, r9, r8
306362 add r8, r8, #9
363
+ lsrs r3, r3, #8
307364 strh r3, [r4, #312] @ movhi
308
- adds r7, r7, #2
309
- ldrh r3, [fp, #20]
365
+ ldrh r3, [r7, #20]
366
+ mov r0, #5120
310367 strh r3, [r4, #314] @ movhi
311
- mul r3, r5, r6
312
- lsls r5, r5, #6
313
- asr r5, r5, r8
368
+ mul r3, r6, r5
314369 str r3, [r4, #248]
315
- mul r3, r10, r3
316
- mul r3, r9, r3
370
+ lsls r6, r6, #6
371
+ add r9, r9, #2
372
+ asr r6, r6, r8
373
+ muls r3, r1, r3
317374 asrs r3, r3, #11
318375 str r3, [r4, #316]
319376 bl __aeabi_idiv
320
- uxth r0, r0
321
- strh r5, [r4, #324] @ movhi
322
- uxth r5, r5
323
- mov r1, r6
324377 cmp r0, #4
325
- strh r7, [r4, #322] @ movhi
326
- itet ls
327
- movls r3, #4
328
- strhhi r0, [r4, #320] @ movhi
329
- strhls r3, [r4, #320] @ movhi
378
+ strh r6, [r4, #324] @ movhi
379
+ uxth r6, r6
380
+ itet le
381
+ movle r3, #4
382
+ strhgt r0, [r4, #320] @ movhi
383
+ strhle r3, [r4, #320] @ movhi
384
+ mov r1, r5
330385 mul r3, r6, r5
386
+ strh r9, [r4, #322] @ movhi
331387 ldrh r0, [r4, #320]
332
- adds r5, r5, #8
333388 str r3, [r4, #328]
334389 bl __aeabi_uidiv
335
- uxtah r0, r5, r0
336
- cmp r6, #1
337
- it eq
338
- addeq r0, r0, #4
339
- str r0, [r4, #228]
390
+ cmp r5, #1
391
+ uxtah r6, r6, r0
392
+ ite ne
393
+ addne r6, r6, #8
394
+ addeq r6, r6, #12
395
+ str r6, [r4, #228]
340396 ldrh r0, [r4, #228]
341397 bl FtlSysBlkNumInit
342398 ldr r3, [r4, #228]
399
+ ldr r2, [r4, #244]
343400 movs r0, #0
344
- str r0, [r4, #340]
345401 str r3, [r4, #332]
346
- ldr r3, [r4, #244]
347
- lsls r2, r3, #2
348402 ldrh r3, [r4, #302]
403
+ str r0, [r4, #340]
349404 muls r3, r2, r3
350405 ldrh r2, [r4, #308]
351406 adds r2, r2, #9
407
+ lsls r3, r3, #2
352408 lsrs r3, r3, r2
353409 adds r3, r3, #2
354410 strh r3, [r4, #336] @ movhi
....@@ -361,19 +417,19 @@
361417 adds r3, r3, #3
362418 str r3, [r4, #328]
363419 pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
364
-.L16:
420
+.L23:
365421 cmp r1, #8
366
- bne .L17
422
+ bne .L24
367423 cmp r0, #1
368424 itttt eq
369425 lsreq r3, r3, #1
370426 strheq r3, [r4, #242] @ movhi
371427 moveq r3, #2
372428 strheq r3, [r4, #256] @ movhi
373
- b .L17
374
-.L27:
429
+ b .L24
430
+.L34:
375431 .align 2
376
-.L26:
432
+.L33:
377433 .word .LANCHOR0
378434 .word .LANCHOR0+260
379435 .fnend
....@@ -390,27 +446,28 @@
390446 @ args = 0, pretend = 0, frame = 0
391447 @ frame_needed = 0, uses_anonymous_args = 0
392448 @ link register save eliminated.
393
- ldr r2, .L35
394
- ldrh r3, [r2, #344]
395
- cbz r3, .L34
449
+ ldr r2, .L41
450
+ mov r1, r0
451
+ ldrh r0, [r2, #344]
452
+ cbz r0, .L35
396453 ldr r3, [r2, #348]
397454 ldrh r2, [r2, #320]
398455 add r2, r3, r2, lsl #1
399
-.L30:
456
+.L37:
400457 cmp r3, r2
401
- bne .L31
402
-.L34:
458
+ bne .L38
403459 movs r0, #0
404460 bx lr
405
-.L31:
406
- ldrh r1, [r3], #2
407
- cmp r0, r1
408
- bne .L30
461
+.L38:
462
+ ldrh r0, [r3], #2
463
+ cmp r1, r0
464
+ bne .L37
409465 movs r0, #1
410
- bx lr
411
-.L36:
412
- .align 2
413466 .L35:
467
+ bx lr
468
+.L42:
469
+ .align 2
470
+.L41:
414471 .word .LANCHOR0
415472 .fnend
416473 .size IsBlkInVendorPart, .-IsBlkInVendorPart
....@@ -442,16 +499,21 @@
442499 @ args = 0, pretend = 0, frame = 0
443500 @ frame_needed = 0, uses_anonymous_args = 0
444501 @ link register save eliminated.
445
- ldr r3, .L39
502
+ ldr r3, .L45
446503 ldr r0, [r3, #340]
447504 bx lr
448
-.L40:
505
+.L46:
449506 .align 2
450
-.L39:
507
+.L45:
451508 .word .LANCHOR0
452509 .fnend
453510 .size sftl_get_density, .-sftl_get_density
454511 .global __aeabi_uidivmod
512
+ .section .rodata.str1.1
513
+.LC7:
514
+ .ascii "phyBlk = 0x%x die = %d block_in_die = 0x%x 0x%8x\012"
515
+ .ascii "\000"
516
+ .text
455517 .align 1
456518 .global FtlBbmMapBadBlock
457519 .syntax unified
....@@ -466,40 +528,40 @@
466528 push {r0, r1, r2, r4, r5, r6, r7, lr}
467529 .save {r4, r5, r6, r7, lr}
468530 .pad #12
469
- mov r5, r0
470
- ldr r4, .L42
471
- ldrh r7, [r4, #298]
472
- mov r1, r7
531
+ mov r6, r0
532
+ ldr r5, .L48
533
+ ldrh r4, [r5, #298]
534
+ mov r1, r4
473535 bl __aeabi_uidiv
474
- uxth r6, r0
475
- mov r1, r7
476
- mov r0, r5
536
+ uxth r7, r0
537
+ mov r1, r4
538
+ mov r0, r6
477539 bl __aeabi_uidivmod
478
- add r2, r4, r6, lsl #2
540
+ add r3, r5, r7, lsl #2
541
+ ubfx r2, r1, #5, #11
542
+ and r0, r1, #31
543
+ movs r4, #1
544
+ ldr r3, [r3, #380]
545
+ lsls r4, r4, r0
546
+ ldr r0, [r3, r2, lsl #2]
547
+ orrs r4, r4, r0
548
+ ldr r0, .L48+4
549
+ str r4, [r3, r2, lsl #2]
479550 uxth r3, r1
480
- ldr r2, [r2, #380]
481
- lsrs r1, r3, #5
482
- and r7, r3, #31
483
- movs r0, #1
484
- lsls r0, r0, r7
485
- ldr r7, [r2, r1, lsl #2]
486
- orrs r0, r0, r7
487
- str r0, [r2, r1, lsl #2]
488
- mov r2, r6
489
- str r0, [sp]
490
- mov r1, r5
491
- ldr r0, .L42+4
551
+ mov r2, r7
552
+ mov r1, r6
553
+ str r4, [sp]
492554 bl sftl_printk
493
- ldrh r3, [r4, #358]
555
+ ldrh r3, [r5, #358]
494556 movs r0, #0
495557 adds r3, r3, #1
496
- strh r3, [r4, #358] @ movhi
558
+ strh r3, [r5, #358] @ movhi
497559 add sp, sp, #12
498560 @ sp needed
499561 pop {r4, r5, r6, r7, pc}
500
-.L43:
562
+.L49:
501563 .align 2
502
-.L42:
564
+.L48:
503565 .word .LANCHOR0
504566 .word .LC7
505567 .fnend
....@@ -517,27 +579,27 @@
517579 @ frame_needed = 0, uses_anonymous_args = 0
518580 push {r3, r4, r5, r6, r7, lr}
519581 .save {r3, r4, r5, r6, r7, lr}
520
- mov r7, r0
521
- ldr r5, .L45
522
- ldrh r6, [r5, #298]
523
- mov r1, r6
582
+ mov r6, r0
583
+ ldr r5, .L51
584
+ ldrh r7, [r5, #298]
585
+ mov r1, r7
524586 bl __aeabi_uidivmod
525
- mov r0, r7
587
+ mov r0, r6
526588 uxth r4, r1
527
- mov r1, r6
589
+ mov r1, r7
528590 bl __aeabi_uidiv
529591 uxth r0, r0
530592 lsrs r2, r4, #5
531
- add r5, r5, r0, lsl #2
532593 and r4, r4, #31
594
+ add r5, r5, r0, lsl #2
533595 ldr r3, [r5, #380]
534596 ldr r0, [r3, r2, lsl #2]
535597 lsrs r0, r0, r4
536598 and r0, r0, #1
537599 pop {r3, r4, r5, r6, r7, pc}
538
-.L46:
600
+.L52:
539601 .align 2
540
-.L45:
602
+.L51:
541603 .word .LANCHOR0
542604 .fnend
543605 .size FtlBbmIsBadBlock, .-FtlBbmIsBadBlock
....@@ -567,31 +629,31 @@
567629 .fnstart
568630 @ args = 0, pretend = 0, frame = 0
569631 @ frame_needed = 0, uses_anonymous_args = 0
570
- ldr r3, .L55
632
+ ldr r3, .L61
571633 push {r4, r5, r6, lr}
572634 .save {r4, r5, r6, lr}
573635 movs r5, #0
574636 mov r4, r5
575
- ldrh r2, [r3, #298]
576
- ldrh r6, [r3, #254]
577
- muls r6, r2, r6
578
-.L49:
637
+ ldrh r6, [r3, #298]
638
+ ldrh r3, [r3, #254]
639
+ muls r6, r3, r6
640
+.L55:
579641 uxth r0, r5
580642 cmp r0, r6
581
- blt .L51
643
+ blt .L57
582644 mov r0, r4
583645 pop {r4, r5, r6, pc}
584
-.L51:
646
+.L57:
585647 bl FtlBbmIsBadBlock
586
- cbz r0, .L50
648
+ cbz r0, .L56
587649 adds r4, r4, #1
588650 uxth r4, r4
589
-.L50:
590
- adds r5, r5, #1
591
- b .L49
592651 .L56:
652
+ adds r5, r5, #1
653
+ b .L55
654
+.L62:
593655 .align 2
594
-.L55:
656
+.L61:
595657 .word .LANCHOR0
596658 .fnend
597659 .size FtlBbtCalcTotleCnt, .-FtlBbtCalcTotleCnt
....@@ -608,25 +670,25 @@
608670 @ frame_needed = 0, uses_anonymous_args = 0
609671 push {r3, r4, r5, r6, r7, lr}
610672 .save {r3, r4, r5, r6, r7, lr}
611
- mov r5, r1
612
- ldr r4, .L58
613
- mov r7, r0
614
- ldrh r6, [r4, #256]
615
- mov r1, r6
673
+ mov r4, r1
674
+ ldr r5, .L64
675
+ mov r6, r0
676
+ ldrh r7, [r5, #256]
677
+ mov r1, r7
616678 bl __aeabi_uidiv
617
- ldrh r4, [r4, #298]
618
- smulbb r5, r6, r5
619
- mov r1, r6
620
- smulbb r4, r4, r0
621
- mov r0, r7
679
+ ldrh r5, [r5, #298]
680
+ smulbb r4, r7, r4
681
+ mov r1, r7
682
+ smulbb r5, r5, r0
683
+ mov r0, r6
622684 bl __aeabi_uidivmod
623
- adds r0, r5, r1
624
- add r0, r0, r4
625
- uxth r0, r0
685
+ add r4, r4, r1
686
+ add r4, r4, r5
687
+ uxth r0, r4
626688 pop {r3, r4, r5, r6, r7, pc}
627
-.L59:
689
+.L65:
628690 .align 2
629
-.L58:
691
+.L64:
630692 .word .LANCHOR0
631693 .fnend
632694 .size V2P_block, .-V2P_block
....@@ -641,23 +703,23 @@
641703 .fnstart
642704 @ args = 0, pretend = 0, frame = 0
643705 @ frame_needed = 0, uses_anonymous_args = 0
644
- ldr r3, .L61
706
+ ldr r3, .L67
645707 push {r4, r5, r6, lr}
646708 .save {r4, r5, r6, lr}
647
- mov r6, r0
648
- ldrh r5, [r3, #256]
709
+ mov r5, r0
710
+ ldrh r6, [r3, #256]
649711 ldrh r1, [r3, #298]
650712 bl __aeabi_uidiv
651
- mov r1, r5
652
- smulbb r4, r0, r5
653
- mov r0, r6
713
+ mov r1, r6
714
+ smulbb r4, r0, r6
715
+ mov r0, r5
654716 bl __aeabi_uidivmod
655
- add r1, r1, r4
656
- uxth r0, r1
717
+ adds r0, r4, r1
718
+ uxth r0, r0
657719 pop {r4, r5, r6, pc}
658
-.L62:
720
+.L68:
659721 .align 2
660
-.L61:
722
+.L67:
661723 .word .LANCHOR0
662724 .fnend
663725 .size P2V_plane, .-P2V_plane
....@@ -674,17 +736,18 @@
674736 @ frame_needed = 0, uses_anonymous_args = 0
675737 push {r4, lr}
676738 .save {r4, lr}
677
- ldr r4, .L64
739
+ ldr r4, .L70
678740 ldrh r1, [r4, #298]
679741 bl __aeabi_uidivmod
680
- uxth r0, r1
742
+ mov r0, r1
681743 ldrh r1, [r4, #256]
744
+ uxth r0, r0
682745 bl __aeabi_uidiv
683746 uxth r0, r0
684747 pop {r4, pc}
685
-.L65:
748
+.L71:
686749 .align 2
687
-.L64:
750
+.L70:
688751 .word .LANCHOR0
689752 .fnend
690753 .size P2V_block_in_plane, .-P2V_block_in_plane
....@@ -701,16 +764,16 @@
701764 @ frame_needed = 0, uses_anonymous_args = 0
702765 @ link register save eliminated.
703766 cmp r0, r1
704
- bls .L67
767
+ bls .L73
705768 subs r0, r0, r1
706769 cmp r0, #-2147483648
707770 ite hi
708771 movhi r0, #0
709772 movls r0, #1
710773 bx lr
711
-.L67:
712
- subs r0, r1, r0
713
- cmp r0, #-2147483648
774
+.L73:
775
+ subs r1, r1, r0
776
+ cmp r1, #-2147483648
714777 ite ls
715778 movls r0, #0
716779 movhi r0, #1
....@@ -729,14 +792,14 @@
729792 @ args = 0, pretend = 0, frame = 0
730793 @ frame_needed = 0, uses_anonymous_args = 0
731794 @ link register save eliminated.
732
- ldr r3, .L70
795
+ ldr r3, .L76
733796 ldrh r0, [r3, #418]
734797 clz r0, r0
735798 lsrs r0, r0, #5
736799 bx lr
737
-.L71:
800
+.L77:
738801 .align 2
739
-.L70:
802
+.L76:
740803 .word .LANCHOR0
741804 .fnend
742805 .size FtlFreeSysBlkQueueEmpty, .-FtlFreeSysBlkQueueEmpty
....@@ -752,15 +815,15 @@
752815 @ args = 0, pretend = 0, frame = 0
753816 @ frame_needed = 0, uses_anonymous_args = 0
754817 @ link register save eliminated.
755
- ldr r3, .L73
818
+ ldr r3, .L79
756819 ldrh r0, [r3, #418]
757820 sub r3, r0, #1024
758821 rsbs r0, r3, #0
759822 adcs r0, r0, r3
760823 bx lr
761
-.L74:
824
+.L80:
762825 .align 2
763
-.L73:
826
+.L79:
764827 .word .LANCHOR0
765828 .fnend
766829 .size FtlFreeSysBlkQueueFull, .-FtlFreeSysBlkQueueFull
....@@ -775,41 +838,41 @@
775838 .fnstart
776839 @ args = 0, pretend = 0, frame = 0
777840 @ frame_needed = 0, uses_anonymous_args = 0
778
- ldr r3, .L84
841
+ ldr r3, .L90
779842 push {r4, r5, r6, lr}
780843 .save {r4, r5, r6, lr}
781844 ldrh r2, [r3, #418]
782
- cbz r2, .L75
783
- ldrh r5, [r3, #2496]
845
+ cbz r2, .L81
846
+ ldrh r4, [r3, #2496]
784847 movs r0, #0
785848 ldrh r1, [r3, #414]
786
- mov r6, r0
849
+ mov r5, r0
787850 ldrh r2, [r3, #416]
788
- and r5, r5, #31
789
-.L77:
790
- uxth r4, r0
791
- adds r0, r0, #1
792
- cmp r5, r4
793
- bgt .L78
794
- cbz r6, .L75
851
+ and r4, r4, #31
852
+.L84:
853
+ uxth r6, r0
854
+ cmp r4, r6
855
+ bhi .L85
856
+ cbz r5, .L81
795857 strh r1, [r3, #414] @ movhi
796858 strh r2, [r3, #416] @ movhi
797
-.L75:
859
+.L81:
798860 pop {r4, r5, r6, pc}
799
-.L78:
800
- add r4, r3, r1, lsl #1
801
- adds r1, r1, #1
802
- ubfx r1, r1, #0, #10
803
- ldrh r6, [r4, #420]
804
- add r4, r3, r2, lsl #1
805
- strh r6, [r4, #420] @ movhi
806
- movs r6, #1
807
- add r2, r2, r6
808
- ubfx r2, r2, #0, #10
809
- b .L77
810861 .L85:
862
+ add r5, r3, r1, lsl #1
863
+ adds r1, r1, #1
864
+ adds r0, r0, #1
865
+ ubfx r1, r1, #0, #10
866
+ ldrh r6, [r5, #420]
867
+ add r5, r3, r2, lsl #1
868
+ adds r2, r2, #1
869
+ strh r6, [r5, #420] @ movhi
870
+ ubfx r2, r2, #0, #10
871
+ movs r5, #1
872
+ b .L84
873
+.L91:
811874 .align 2
812
-.L84:
875
+.L90:
813876 .word .LANCHOR0
814877 .fnend
815878 .size FtlFreeSysBLkSort, .-FtlFreeSysBLkSort
....@@ -824,35 +887,36 @@
824887 .fnstart
825888 @ args = 0, pretend = 0, frame = 0
826889 @ frame_needed = 0, uses_anonymous_args = 0
827
- ldr r3, .L92
890
+ ldr r1, .L98
828891 push {r4, r5, lr}
829892 .save {r4, r5, lr}
830
- ldrh r4, [r3, #418]
893
+ ldrh r4, [r1, #418]
831894 cmp r4, #1024
832
- beq .L90
833
- ldrh r5, [r3, #414]
834
- movs r1, #0
835
-.L88:
836
- cmp r1, r4
837
- bcc .L89
838
-.L90:
895
+ beq .L96
896
+ ldrh r5, [r1, #414]
897
+ movs r2, #0
898
+.L94:
899
+ cmp r4, r2
900
+ bhi .L95
901
+.L96:
839902 movs r0, #0
840
- pop {r4, r5, pc}
841
-.L89:
842
- adds r2, r1, r5
843
- ubfx r2, r2, #0, #10
844
- add r2, r3, r2, lsl #1
845
- ldrh r2, [r2, #420]
846
- cmp r2, r0
847
- beq .L91
848
- adds r1, r1, #1
849
- b .L88
850
-.L91:
851
- movs r0, #1
852
- pop {r4, r5, pc}
853
-.L93:
854
- .align 2
855903 .L92:
904
+ pop {r4, r5, pc}
905
+.L95:
906
+ adds r3, r5, r2
907
+ ubfx r3, r3, #0, #10
908
+ add r3, r1, r3, lsl #1
909
+ ldrh r3, [r3, #420]
910
+ cmp r3, r0
911
+ beq .L97
912
+ adds r2, r2, #1
913
+ b .L94
914
+.L97:
915
+ movs r0, #1
916
+ b .L92
917
+.L99:
918
+ .align 2
919
+.L98:
856920 .word .LANCHOR0
857921 .fnend
858922 .size IsInFreeQueue, .-IsInFreeQueue
....@@ -867,102 +931,103 @@
867931 .fnstart
868932 @ args = 0, pretend = 0, frame = 8
869933 @ frame_needed = 0, uses_anonymous_args = 0
934
+ ldr r3, .L115
870935 push {r0, r1, r2, r4, r5, r6, r7, r8, r9, r10, fp, lr}
871936 .save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
872937 .pad #12
873
- ldr r2, .L109
874
- ldrh r3, [r2, #240]
875
- mov r1, r2
876
- cmp r3, r0
877
- bls .L96
938
+ ldrh r2, [r3, #240]
939
+ cmp r2, r0
940
+ bls .L102
878941 movs r5, #6
879
- ldr lr, [r2, #2516]
942
+ ldr ip, [r3, #2516]
943
+ movw r2, #65535
880944 muls r5, r0, r5
881
- movw r3, #65535
882
- add r4, lr, r5
883
- strh r3, [r4, #2] @ movhi
884
- strh r3, [lr, r5] @ movhi
885
- ldr r3, [r2, #2520]
886
- cbnz r3, .L97
887
- str r4, [r2, #2520]
888
-.L96:
945
+ add r4, ip, r5
946
+ strh r2, [r4, #2] @ movhi
947
+ strh r2, [ip, r5] @ movhi
948
+ ldr r1, [r3, #2520]
949
+ cbnz r1, .L103
950
+.L114:
951
+ str r4, [r3, #2520]
952
+ b .L102
953
+.L103:
954
+ ldrh r2, [r4, #4]
955
+ ldr r9, [r3, #72]
956
+ ldrh r7, [r9, r0, lsl #1]
957
+ cbz r2, .L110
958
+ muls r7, r2, r7
959
+.L104:
960
+ ldr r8, [r3, #2516]
961
+ movw fp, #65535
962
+ ldr r6, .L115+4
963
+ sub r2, r1, r8
964
+ asrs r2, r2, #1
965
+ muls r2, r6, r2
966
+ ldrh r6, [r3, #240]
967
+ str r6, [sp, #4]
968
+ movs r6, #0
969
+ uxth r2, r2
970
+.L108:
971
+ adds r6, r6, #1
972
+ ldr lr, [sp, #4]
973
+ uxth r6, r6
974
+ cmp r6, lr
975
+ bhi .L102
976
+ cmp r0, r2
977
+ beq .L102
978
+ ldrh r10, [r1, #4]
979
+ cmp r10, #0
980
+ beq .L106
981
+ ldrh lr, [r9, r2, lsl #1]
982
+ mul lr, r10, lr
983
+ cmp lr, r7
984
+ bcs .L106
985
+ ldrh lr, [r1]
986
+ cmp lr, fp
987
+ bne .L107
988
+ strh r2, [r4, #2] @ movhi
989
+ strh r0, [r1] @ movhi
990
+ str r4, [r3, #2524]
991
+.L102:
889992 movs r0, #0
890993 add sp, sp, #12
891994 @ sp needed
892995 pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
893
-.L97:
894
- ldrh r7, [r4, #4]
895
- ldr r9, [r2, #72]
896
- ldrh r2, [r9, r0, lsl #1]
897
- cbz r7, .L104
898
- muls r2, r7, r2
899
-.L108:
900
- ldr r8, [r1, #2516]
901
- movw r10, #65535
902
- str r2, [sp]
903
- sub r2, r3, r8
904
- asrs r6, r2, #1
905
- ldr r2, .L109+4
906
- muls r2, r6, r2
907
- ldrh r6, [r1, #240]
908
- str r6, [sp, #4]
909
- movs r6, #0
910
- uxth r2, r2
911
-.L102:
912
- adds r6, r6, #1
913
- ldr r7, [sp, #4]
914
- uxth r6, r6
915
- cmp r6, r7
916
- bhi .L96
917
- cmp r0, r2
918
- beq .L96
919
- ldrh ip, [r3, #4]
920
- cmp ip, #0
921
- beq .L100
922
- ldrh fp, [r9, r2, lsl #1]
923
- ldr r7, [sp]
924
- mul ip, ip, fp
925
- cmp ip, r7
926
- bcs .L100
927
- ldrh ip, [r3]
928
- cmp ip, r10
929
- bne .L101
930
- strh r2, [r4, #2] @ movhi
931
- strh r0, [r3] @ movhi
932
- str r4, [r1, #2524]
933
- b .L96
934
-.L104:
935
- mov r2, #-1
936
- b .L108
937
-.L101:
938
- movs r3, #6
939
- mov r2, ip
940
- mla r3, r3, ip, r8
941
- b .L102
942
-.L100:
943
- strh r2, [lr, r5] @ movhi
944
- ldrh r2, [r3, #2]
945
- strh r2, [r4, #2] @ movhi
946
- ldr r2, [r1, #2520]
947
- cmp r3, r2
948
- ittte ne
949
- ldrhne r4, [r3, #2]
950
- movne r2, #6
951
- ldrne r1, [r1, #2516]
952
- strheq r0, [r3, #2] @ movhi
953
- iteee eq
954
- streq r4, [r1, #2520]
955
- mulne r2, r2, r4
956
- strhne r0, [r1, r2] @ movhi
957
- strhne r0, [r3, #2] @ movhi
958
- b .L96
959996 .L110:
960
- .align 2
997
+ mov r7, #-1
998
+ b .L104
999
+.L107:
1000
+ movs r2, #6
1001
+ mla r1, r2, lr, r8
1002
+ mov r2, lr
1003
+ b .L108
1004
+.L106:
1005
+ strh r2, [ip, r5] @ movhi
1006
+ ldrh r2, [r1, #2]
1007
+ strh r2, [r4, #2] @ movhi
1008
+ ldr r5, [r3, #2520]
1009
+ cmp r1, r5
1010
+ bne .L109
1011
+ strh r0, [r1, #2] @ movhi
1012
+ b .L114
9611013 .L109:
1014
+ movs r4, #6
1015
+ ldr r3, [r3, #2516]
1016
+ muls r2, r4, r2
1017
+ strh r0, [r3, r2] @ movhi
1018
+ strh r0, [r1, #2] @ movhi
1019
+ b .L102
1020
+.L116:
1021
+ .align 2
1022
+.L115:
9621023 .word .LANCHOR0
9631024 .word -1431655765
9641025 .fnend
9651026 .size insert_data_list, .-insert_data_list
1027
+ .section .rodata.str1.1
1028
+.LC8:
1029
+ .ascii "\012!!!!! error @ func:%s - line:%d\012\000"
1030
+ .text
9661031 .align 1
9671032 .global INSERT_DATA_LIST
9681033 .syntax unified
....@@ -977,24 +1042,24 @@
9771042 push {r3, lr}
9781043 .save {r3, lr}
9791044 bl insert_data_list
980
- ldr r2, .L113
1045
+ ldr r2, .L119
9811046 ldrh r3, [r2, #2528]
9821047 adds r3, r3, #1
9831048 uxth r3, r3
9841049 strh r3, [r2, #2528] @ movhi
9851050 ldrh r2, [r2, #240]
9861051 cmp r2, r3
987
- bcs .L111
988
- movs r2, #214
989
- ldr r1, .L113+4
990
- ldr r0, .L113+8
1052
+ bcs .L117
9911053 pop {r3, lr}
1054
+ movs r2, #214
1055
+ ldr r1, .L119+4
1056
+ ldr r0, .L119+8
9921057 b sftl_printk
993
-.L111:
1058
+.L117:
9941059 pop {r3, pc}
995
-.L114:
1060
+.L120:
9961061 .align 2
997
-.L113:
1062
+.L119:
9981063 .word .LANCHOR0
9991064 .word .LANCHOR1
10001065 .word .LC8
....@@ -1013,67 +1078,66 @@
10131078 @ frame_needed = 0, uses_anonymous_args = 0
10141079 push {r4, r5, r6, r7, r8, r9, r10, lr}
10151080 .save {r4, r5, r6, r7, r8, r9, r10, lr}
1016
- movw r4, #65535
1017
- cmp r0, r4
1018
- beq .L116
1019
- ldr r2, .L122
1020
- movs r1, #6
1021
- mul r7, r1, r0
1022
- ldr ip, [r2, #2516]
1023
- mov r5, r2
1024
- add r6, ip, r7
1025
- strh r4, [r6, #2] @ movhi
1026
- strh r4, [ip, r7] @ movhi
1027
- ldr r3, [r2, #2532]
1028
- cbnz r3, .L117
1029
- str r6, [r2, #2532]
1030
-.L116:
1081
+ movw r5, #65535
1082
+ cmp r0, r5
1083
+ beq .L122
1084
+ ldr r1, .L129
1085
+ mov lr, #6
1086
+ mul r6, lr, r0
1087
+ ldr r7, [r1, #2516]
1088
+ adds r4, r7, r6
1089
+ strh r5, [r4, #2] @ movhi
1090
+ strh r5, [r7, r6] @ movhi
1091
+ ldr r3, [r1, #2532]
1092
+ cbnz r3, .L123
1093
+.L128:
1094
+ str r4, [r1, #2532]
1095
+ b .L122
1096
+.L123:
1097
+ ldr ip, [r1, #2516]
1098
+ ldr r10, .L129+4
1099
+ sub r2, r3, ip
1100
+ ldr r8, [r1, #2536]
1101
+ asrs r2, r2, #1
1102
+ ldrh r9, [r8, r0, lsl #1]
1103
+ mul r2, r10, r2
1104
+ uxth r2, r2
1105
+.L126:
1106
+ ldrh r10, [r8, r2, lsl #1]
1107
+ cmp r10, r9
1108
+ bcs .L124
1109
+ ldrh r10, [r3]
1110
+ cmp r10, r5
1111
+ bne .L125
1112
+ strh r2, [r4, #2] @ movhi
1113
+ strh r0, [r3] @ movhi
1114
+.L122:
10311115 movs r0, #0
10321116 pop {r4, r5, r6, r7, r8, r9, r10, pc}
1033
-.L117:
1034
- ldr lr, [r2, #2516]
1035
- ldr r8, [r2, #2536]
1036
- sub r2, r3, lr
1037
- asr r10, r2, #1
1038
- ldr r2, .L122+4
1039
- ldrh r9, [r8, r0, lsl #1]
1040
- mul r2, r2, r10
1041
- mov r10, r4
1042
- uxth r2, r2
1043
-.L120:
1044
- ldrh r4, [r8, r2, lsl #1]
1045
- cmp r4, r9
1046
- bcs .L118
1047
- ldrh r4, [r3]
1048
- cmp r4, r10
1049
- bne .L119
1050
- strh r2, [r6, #2] @ movhi
1051
- strh r0, [r3] @ movhi
1052
- b .L116
1053
-.L119:
1054
- mla r3, r1, r4, lr
1055
- mov r2, r4
1056
- b .L120
1057
-.L118:
1058
- ldrh r1, [r3, #2]
1059
- strh r1, [r6, #2] @ movhi
1060
- strh r2, [ip, r7] @ movhi
1061
- ldr r2, [r5, #2532]
1062
- cmp r3, r2
1063
- ittte ne
1064
- ldrhne r4, [r3, #2]
1065
- movne r2, #6
1066
- ldrne r1, [r5, #2516]
1067
- strheq r0, [r3, #2] @ movhi
1068
- iteee eq
1069
- streq r6, [r5, #2532]
1070
- mulne r2, r2, r4
1071
- strhne r0, [r1, r2] @ movhi
1072
- strhne r0, [r3, #2] @ movhi
1073
- b .L116
1074
-.L123:
1117
+.L125:
1118
+ mla r3, lr, r10, ip
1119
+ mov r2, r10
1120
+ b .L126
1121
+.L124:
1122
+ ldrh r5, [r3, #2]
1123
+ strh r5, [r4, #2] @ movhi
1124
+ strh r2, [r7, r6] @ movhi
1125
+ ldr r2, [r1, #2532]
1126
+ cmp r2, r3
1127
+ bne .L127
1128
+ strh r0, [r3, #2] @ movhi
1129
+ b .L128
1130
+.L127:
1131
+ ldrh r2, [r3, #2]
1132
+ movs r4, #6
1133
+ ldr r1, [r1, #2516]
1134
+ muls r2, r4, r2
1135
+ strh r0, [r1, r2] @ movhi
1136
+ strh r0, [r3, #2] @ movhi
1137
+ b .L122
1138
+.L130:
10751139 .align 2
1076
-.L122:
1140
+.L129:
10771141 .word .LANCHOR0
10781142 .word -1431655765
10791143 .fnend
....@@ -1092,24 +1156,24 @@
10921156 push {r3, lr}
10931157 .save {r3, lr}
10941158 bl insert_free_list
1095
- ldr r2, .L126
1159
+ ldr r2, .L133
10961160 ldrh r3, [r2, #224]
10971161 adds r3, r3, #1
10981162 uxth r3, r3
10991163 strh r3, [r2, #224] @ movhi
11001164 ldrh r2, [r2, #240]
11011165 cmp r2, r3
1102
- bcs .L124
1103
- movs r2, #207
1104
- ldr r1, .L126+4
1105
- ldr r0, .L126+8
1166
+ bcs .L131
11061167 pop {r3, lr}
1168
+ movs r2, #207
1169
+ ldr r1, .L133+4
1170
+ ldr r0, .L133+8
11071171 b sftl_printk
1108
-.L124:
1172
+.L131:
11091173 pop {r3, pc}
1110
-.L127:
1174
+.L134:
11111175 .align 2
1112
-.L126:
1176
+.L133:
11131177 .word .LANCHOR0
11141178 .word .LANCHOR1+17
11151179 .word .LC8
....@@ -1128,70 +1192,73 @@
11281192 @ frame_needed = 0, uses_anonymous_args = 0
11291193 push {r4, r5, r6, r7, r8, lr}
11301194 .save {r4, r5, r6, r7, r8, lr}
1131
- movs r6, #6
1132
- ldr r4, .L134
1133
- muls r6, r1, r6
1195
+ movs r4, #6
1196
+ ldr r8, .L146
1197
+ muls r4, r1, r4
11341198 movw r3, #65535
1135
- mov r8, r0
1136
- ldr r7, [r4, #2516]
1137
- adds r5, r7, r6
1138
- ldrh r2, [r5, #2]
1199
+ mov r5, r0
1200
+ ldr r7, [r8, #2516]
1201
+ adds r6, r7, r4
1202
+ ldrh r2, [r6, #2]
11391203 cmp r2, r3
1140
- bne .L129
1204
+ bne .L136
11411205 ldr r3, [r0]
1142
- cmp r5, r3
1143
- beq .L129
1144
- mov r2, #372
1145
- ldr r1, .L134+4
1146
- ldr r0, .L134+8
1147
- bl sftl_printk
1148
-.L129:
1149
- ldr r3, [r8]
1150
- movw r1, #65535
1151
- cmp r5, r3
1152
- ldrh r3, [r7, r6]
1153
- bne .L130
1154
- cmp r3, r1
1155
- ittee ne
1156
- ldrne r0, [r4, #2516]
1157
- movne r2, #6
1158
- moveq r3, #0
1159
- streq r3, [r8]
1160
- ittt ne
1161
- mlane r3, r2, r3, r0
1162
- strne r3, [r8]
1163
- strhne r1, [r3, #2] @ movhi
1164
-.L132:
1206
+ cmp r6, r3
1207
+ bne .L137
1208
+.L140:
1209
+ ldrh r1, [r7, r4]
1210
+ movw r2, #65535
1211
+ cmp r1, r2
1212
+ bne .L144
1213
+ movs r3, #0
1214
+ str r3, [r5]
1215
+.L142:
11651216 movw r3, #65535
1217
+ strh r3, [r7, r4] @ movhi
1218
+ strh r3, [r6, #2] @ movhi
11661219 movs r0, #0
1167
- strh r3, [r7, r6] @ movhi
1168
- strh r3, [r5, #2] @ movhi
11691220 pop {r4, r5, r6, r7, r8, pc}
1170
-.L130:
1171
- cmp r3, r1
1172
- ldrh r1, [r5, #2]
1173
- bne .L133
1174
- cmp r1, r3
1175
- beq .L132
1176
- movs r2, #6
1177
- ldr r0, [r4, #2516]
1178
- muls r1, r2, r1
1179
- strh r3, [r0, r1] @ movhi
1180
- b .L132
1181
-.L133:
1182
- ldr r0, [r4, #2516]
1183
- movs r2, #6
1184
- mla r3, r2, r3, r0
1185
- strh r1, [r3, #2] @ movhi
1186
- ldrh r0, [r5, #2]
1187
- ldrh r1, [r7, r6]
1188
- ldr r3, [r4, #2516]
1189
- muls r2, r0, r2
1190
- strh r1, [r3, r2] @ movhi
1191
- b .L132
1192
-.L135:
1221
+.L137:
1222
+ ldr r1, .L146+4
1223
+ mov r2, #372
1224
+ ldr r0, .L146+8
1225
+ bl sftl_printk
1226
+.L136:
1227
+ ldr r3, [r5]
1228
+ ldrh r2, [r7, r4]
1229
+ cmp r3, r6
1230
+ beq .L140
1231
+ movw r1, #65535
1232
+ ldrh r3, [r6, #2]
1233
+ cmp r2, r1
1234
+ bne .L143
1235
+ cmp r3, r2
1236
+ beq .L142
1237
+ movs r0, #6
1238
+ ldr r1, [r8, #2516]
1239
+ muls r3, r0, r3
1240
+ strh r2, [r1, r3] @ movhi
1241
+ b .L142
1242
+.L144:
1243
+ ldr r3, [r8, #2516]
1244
+ movs r0, #6
1245
+ mla r3, r0, r1, r3
1246
+ str r3, [r5]
1247
+ strh r2, [r3, #2] @ movhi
1248
+ b .L142
1249
+.L143:
1250
+ ldr r1, [r8, #2516]
1251
+ movs r0, #6
1252
+ mla r2, r0, r2, r1
1253
+ strh r3, [r2, #2] @ movhi
1254
+ muls r3, r0, r3
1255
+ ldr r2, [r8, #2516]
1256
+ ldrh r1, [r7, r4]
1257
+ strh r1, [r2, r3] @ movhi
1258
+ b .L142
1259
+.L147:
11931260 .align 2
1194
-.L134:
1261
+.L146:
11951262 .word .LANCHOR0
11961263 .word .LANCHOR1+34
11971264 .word .LC8
....@@ -1211,36 +1278,37 @@
12111278 push {r4, r5, r6, lr}
12121279 .save {r4, r5, r6, lr}
12131280 ldr r3, [r0]
1214
- cbz r3, .L142
1215
- ldr r2, .L143
1281
+ cbz r3, .L153
1282
+ ldr r2, .L157
12161283 movw r5, #65535
12171284 movs r6, #6
1218
- ldr r2, [r2, #2516]
1219
-.L138:
1220
- cbnz r1, .L139
1221
-.L141:
1222
- ldr r4, .L143+4
1223
- subs r3, r3, r2
1224
- asrs r3, r3, #1
1285
+ ldr r4, [r2, #2516]
1286
+.L150:
1287
+ cbz r1, .L151
1288
+ ldrh r2, [r3]
1289
+ cmp r2, r5
1290
+ bne .L152
1291
+.L151:
1292
+ subs r4, r3, r4
1293
+ ldr r3, .L157+4
1294
+ asrs r4, r4, #1
12251295 muls r4, r3, r4
12261296 uxth r1, r4
12271297 bl List_remove_node
12281298 uxth r0, r4
1299
+.L148:
12291300 pop {r4, r5, r6, pc}
1230
-.L139:
1231
- ldrh r4, [r3]
1232
- cmp r4, r5
1233
- beq .L141
1301
+.L152:
12341302 subs r1, r1, #1
1235
- mla r3, r6, r4, r2
1303
+ mla r3, r6, r2, r4
12361304 uxth r1, r1
1237
- b .L138
1238
-.L142:
1305
+ b .L150
1306
+.L153:
12391307 movw r0, #65535
1240
- pop {r4, r5, r6, pc}
1241
-.L144:
1308
+ b .L148
1309
+.L158:
12421310 .align 2
1243
-.L143:
1311
+.L157:
12441312 .word .LANCHOR0
12451313 .word -1431655765
12461314 .fnend
....@@ -1272,37 +1340,38 @@
12721340 .fnstart
12731341 @ args = 0, pretend = 0, frame = 0
12741342 @ frame_needed = 0, uses_anonymous_args = 0
1275
- ldr r2, .L152
1276
- push {r4, lr}
1277
- .save {r4, lr}
1343
+ ldr r2, .L166
1344
+ push {r4, r5, lr}
1345
+ .save {r4, r5, lr}
12781346 ldr r3, [r2, #2520]
1279
- cbz r3, .L151
1280
- ldr r1, [r2, #2516]
1281
- movs r4, #6
1282
- movw r2, #65535
1283
-.L148:
1284
- cbz r0, .L149
1347
+ cbz r3, .L165
1348
+ ldr r4, [r2, #2516]
1349
+ movw r1, #65535
1350
+ movs r5, #6
1351
+.L162:
1352
+ cbz r0, .L163
12851353 ldrh r3, [r3]
1286
- cmp r3, r2
1287
- bne .L150
1288
-.L151:
1354
+ cmp r3, r1
1355
+ bne .L164
1356
+.L165:
12891357 movw r0, #65535
1290
- pop {r4, pc}
1291
-.L150:
1292
- subs r0, r0, #1
1293
- mla r3, r4, r3, r1
1358
+.L160:
1359
+ pop {r4, r5, pc}
1360
+.L164:
1361
+ subs r2, r0, #1
1362
+ mla r3, r5, r3, r4
1363
+ uxth r0, r2
1364
+ b .L162
1365
+.L163:
1366
+ subs r0, r3, r4
1367
+ ldr r3, .L166+4
1368
+ asrs r0, r0, #1
1369
+ muls r0, r3, r0
12941370 uxth r0, r0
1295
- b .L148
1296
-.L149:
1297
- ldr r0, .L152+4
1298
- subs r3, r3, r1
1299
- asrs r3, r3, #1
1300
- muls r3, r0, r3
1301
- uxth r0, r3
1302
- pop {r4, pc}
1303
-.L153:
1371
+ b .L160
1372
+.L167:
13041373 .align 2
1305
-.L152:
1374
+.L166:
13061375 .word .LANCHOR0
13071376 .word -1431655765
13081377 .fnend
....@@ -1321,92 +1390,92 @@
13211390 push {r3, r4, r5, r6, r7, r8, r9, lr}
13221391 .save {r3, r4, r5, r6, r7, r8, r9, lr}
13231392 mov r5, r0
1324
- ldr r4, .L165
1393
+ ldr r4, .L179
13251394 ldrh r3, [r4, #24]
13261395 cmp r3, r0
1327
- beq .L156
1396
+ beq .L170
13281397 ldrh r3, [r4, #76]
13291398 cmp r3, r0
1330
- beq .L156
1399
+ beq .L170
13311400 ldrh r3, [r4, #124]
13321401 cmp r3, r0
1333
- beq .L156
1334
- movs r7, #6
1402
+ beq .L170
1403
+ movs r6, #6
13351404 ldr r9, [r4, #2516]
1336
- muls r7, r0, r7
13371405 ldr r3, [r4, #2520]
1338
- add r8, r9, r7
1406
+ muls r6, r0, r6
1407
+ add r8, r9, r6
13391408 cmp r8, r3
1340
- beq .L156
1341
- ldrh r6, [r8, #4]
1409
+ beq .L170
13421410 ldr r3, [r4, #72]
1343
- ldrh r3, [r3, r0, lsl #1]
1344
- cmp r6, #0
1345
- beq .L163
1346
- muls r6, r3, r6
1347
-.L158:
1411
+ ldrh r7, [r3, r0, lsl #1]
1412
+ ldrh r3, [r8, #4]
1413
+ cmp r3, #0
1414
+ beq .L177
1415
+ muls r7, r3, r7
1416
+.L172:
13481417 ldrh r3, [r8, #2]
13491418 movw r2, #65535
13501419 cmp r3, r2
1351
- bne .L159
1352
- ldrh r2, [r9, r7]
1420
+ bne .L173
1421
+ ldrh r2, [r9, r6]
13531422 cmp r2, r3
1354
- bne .L159
1423
+ bne .L173
1424
+ ldr r1, .L179+4
13551425 movw r2, #463
1356
- ldr r1, .L165+4
1357
- ldr r0, .L165+8
1426
+ ldr r0, .L179+8
13581427 bl sftl_printk
1359
-.L159:
1428
+.L173:
13601429 ldrh r3, [r8, #2]
13611430 movw r2, #65535
13621431 cmp r3, r2
1363
- bne .L160
1364
- ldrh r2, [r9, r7]
1432
+ bne .L174
1433
+ ldrh r2, [r9, r6]
13651434 cmp r2, r3
1366
- beq .L156
1367
-.L160:
1435
+ beq .L170
1436
+.L174:
13681437 movs r2, #6
1369
- muls r2, r3, r2
1370
- ldr r3, .L165+12
1371
- asrs r1, r2, #1
1372
- muls r3, r1, r3
1438
+ ldr r1, .L179+12
1439
+ muls r3, r2, r3
1440
+ asrs r2, r3, #1
1441
+ muls r2, r1, r2
13731442 ldr r1, [r4, #72]
1374
- ldrh r0, [r1, r3, lsl #1]
1443
+ ldrh r2, [r1, r2, lsl #1]
13751444 ldr r1, [r4, #2516]
1376
- add r2, r2, r1
1377
- ldrh r3, [r2, #4]
1378
- cbz r3, .L164
1379
- muls r3, r0, r3
1380
-.L161:
1381
- cmp r6, r3
1382
- bcs .L156
1445
+ add r3, r3, r1
1446
+ ldrh r3, [r3, #4]
1447
+ cbz r3, .L178
1448
+ muls r3, r2, r3
1449
+.L175:
1450
+ cmp r7, r3
1451
+ bcs .L170
1452
+ ldr r0, .L179+16
13831453 mov r1, r5
1384
- ldr r0, .L165+16
13851454 bl List_remove_node
13861455 ldrh r3, [r4, #2528]
1387
- cbnz r3, .L162
1456
+ cbnz r3, .L176
1457
+ ldr r1, .L179+4
13881458 mov r2, #474
1389
- ldr r1, .L165+4
1390
- ldr r0, .L165+8
1459
+ ldr r0, .L179+8
13911460 bl sftl_printk
1392
-.L162:
1461
+.L176:
13931462 ldrh r3, [r4, #2528]
13941463 mov r0, r5
13951464 subs r3, r3, #1
13961465 strh r3, [r4, #2528] @ movhi
13971466 bl INSERT_DATA_LIST
1398
-.L156:
1467
+.L170:
13991468 movs r0, #0
14001469 pop {r3, r4, r5, r6, r7, r8, r9, pc}
1401
-.L163:
1402
- mov r6, #-1
1403
- b .L158
1404
-.L164:
1470
+.L177:
1471
+ mov r7, #-1
1472
+ b .L172
1473
+.L178:
14051474 mov r3, #-1
1406
- b .L161
1407
-.L166:
1475
+ b .L175
1476
+.L180:
14081477 .align 2
1409
-.L165:
1478
+.L179:
14101479 .word .LANCHOR0
14111480 .word .LANCHOR1+51
14121481 .word .LC8
....@@ -1425,80 +1494,82 @@
14251494 .fnstart
14261495 @ args = 0, pretend = 0, frame = 0
14271496 @ frame_needed = 0, uses_anonymous_args = 0
1497
+ ldr r0, .L191
1498
+ movs r1, #0
14281499 push {r3, r4, r5, r6, r7, lr}
14291500 .save {r3, r4, r5, r6, r7, lr}
1430
- movs r1, #0
1431
- ldr r5, .L177
1432
- movs r0, #12
1433
- movw r6, #65535
1434
- ldrh r2, [r5, #338]
1435
- ldr r3, [r5, #2540]
1436
-.L168:
1501
+ movs r6, #12
1502
+ movw r7, #65535
1503
+ ldr r3, [r0, #2540]
1504
+ ldrh r2, [r0, #338]
1505
+ sub r5, r3, #12
1506
+.L182:
14371507 uxth r4, r1
1438
- cmp r4, r2
1439
- bcc .L170
1508
+ cmp r2, r4
1509
+ bhi .L184
14401510 mov r4, r2
1511
+ add ip, r3, #4
14411512 movs r1, #0
14421513 mov r7, #-2147483648
1443
- mov ip, #12
1444
-.L171:
1514
+ mov lr, #12
1515
+.L185:
14451516 uxth r6, r1
1446
- cmp r6, r2
1447
- bcc .L173
1448
- cmp r4, r2
1449
- bcc .L169
1450
- ldrh r7, [r5, #2544]
1517
+ cmp r2, r6
1518
+ bhi .L187
1519
+ cmp r2, r4
1520
+ bhi .L183
14511521 mov r4, r2
1522
+ ldrh r7, [r0, #2544]
14521523 movs r1, #0
14531524 mov r0, #-1
1454
-.L174:
1525
+.L188:
14551526 uxth r5, r1
1456
- cmp r5, r2
1457
- bcc .L176
1458
- cmp r4, r2
1459
- bcc .L169
1527
+ cmp r2, r5
1528
+ bhi .L190
1529
+ cmp r2, r4
1530
+ bhi .L183
1531
+ ldr r1, .L191+4
14601532 mov r2, #796
1461
- ldr r1, .L177+4
1462
- ldr r0, .L177+8
1533
+ ldr r0, .L191+8
14631534 bl sftl_printk
1464
- b .L169
1465
-.L170:
1535
+ b .L183
1536
+.L184:
14661537 adds r1, r1, #1
1467
- mla r7, r0, r1, r3
1468
- ldrh r7, [r7, #-12]
1469
- cmp r7, r6
1470
- bne .L168
1471
-.L169:
1538
+ mul ip, r6, r1
1539
+ ldrh ip, [r5, ip]
1540
+ cmp ip, r7
1541
+ bne .L182
1542
+.L183:
14721543 mov r0, r4
14731544 pop {r3, r4, r5, r6, r7, pc}
1474
-.L173:
1475
- mla r0, ip, r1, r3
1476
- ldr r0, [r0, #4]
1477
- cmp r0, #0
1478
- blt .L172
1479
- cmp r7, r0
1480
- itt hi
1481
- movhi r7, r0
1482
- movhi r4, r6
1483
-.L172:
1545
+.L187:
1546
+ mul r5, lr, r1
1547
+ ldr r5, [ip, r5]
1548
+ cmp r5, #0
1549
+ blt .L186
1550
+ cmp r5, r7
1551
+ itt cc
1552
+ movcc r7, r5
1553
+ movcc r4, r6
1554
+.L186:
14841555 adds r1, r1, #1
1485
- b .L171
1486
-.L176:
1556
+ b .L185
1557
+.L190:
14871558 ldr r6, [r3, #4]
1488
- cmp r0, r6
1489
- bls .L175
1559
+ cmp r6, r0
1560
+ bcs .L189
14901561 ldrh ip, [r3]
14911562 cmp ip, r7
14921563 itt ne
14931564 movne r0, r6
14941565 movne r4, r5
1495
-.L175:
1566
+.L189:
14961567 adds r1, r1, #1
14971568 adds r3, r3, #12
1498
- b .L174
1499
-.L178:
1569
+ b .L188
1570
+.L192:
15001571 .align 2
1501
-.L177:
1572
+.L191:
15021573 .word .LANCHOR0
15031574 .word .LANCHOR1+73
15041575 .word .LC8
....@@ -1515,18 +1586,18 @@
15151586 .fnstart
15161587 @ args = 0, pretend = 0, frame = 0
15171588 @ frame_needed = 0, uses_anonymous_args = 0
1518
- ldr r1, .L185
1589
+ ldr r3, .L199
15191590 push {r4, r5, lr}
15201591 .save {r4, r5, lr}
1521
- mov r3, r1
1522
- ldrh r2, [r1, #2546]
1592
+ ldrh r2, [r3, #2546]
15231593 cmp r2, #4
1524
- bhi .L180
1525
- cbnz r0, .L180
1594
+ bhi .L194
1595
+ cbnz r0, .L194
15261596 adds r2, r2, #1
1527
- strh r2, [r1, #2546] @ movhi
1597
+ strh r2, [r3, #2546] @ movhi
1598
+.L193:
15281599 pop {r4, r5, pc}
1529
-.L180:
1600
+.L194:
15301601 movs r2, #0
15311602 ldrh r1, [r3, #240]
15321603 strh r2, [r3, #2546] @ movhi
....@@ -1534,21 +1605,19 @@
15341605 str r2, [r3, #2548]
15351606 ldr r2, [r3, #72]
15361607 add r1, r2, r1, lsl #1
1537
-.L181:
1608
+.L195:
15381609 cmp r2, r1
1539
- bne .L183
1540
- pop {r4, r5, pc}
1541
-.L183:
1610
+ beq .L193
15421611 ldrh r4, [r2], #2
15431612 cmp r4, r5
15441613 ittt ne
15451614 ldrne r0, [r3, #2548]
15461615 addne r0, r0, r4
15471616 strne r0, [r3, #2548]
1548
- b .L181
1549
-.L186:
1617
+ b .L195
1618
+.L200:
15501619 .align 2
1551
-.L185:
1620
+.L199:
15521621 .word .LANCHOR0
15531622 .fnend
15541623 .size FtlUpdateVaildLpn, .-FtlUpdateVaildLpn
....@@ -1563,52 +1632,52 @@
15631632 .fnstart
15641633 @ args = 0, pretend = 0, frame = 0
15651634 @ frame_needed = 0, uses_anonymous_args = 0
1566
- movs r3, #0
15671635 push {r4, r5, r6, r7, lr}
15681636 .save {r4, r5, r6, r7, lr}
1569
- strh r3, [r0, #4] @ movhi
1570
- add r4, r0, r2, lsl #1
1571
- movw r7, #65535
1572
- ldr r3, .L194
1573
- adds r4, r4, #14
1574
- ldrh r5, [r3, #232]
1575
-.L188:
1576
- cmp r2, r5
1577
- bcc .L190
1578
- ldrh r3, [r3, #302]
1579
- add r4, r0, #16
1580
- movw r6, #65535
1581
- subs r3, r3, #1
1582
- subs r1, r3, r1
1637
+ add r4, r2, #8
1638
+ ldr r6, .L208
1639
+ add r4, r0, r4, lsl #1
15831640 movs r3, #0
1584
- uxth r1, r1
1585
-.L191:
1586
- uxth r2, r3
1641
+ movw r7, #65535
1642
+ strh r3, [r0, #4] @ movhi
1643
+ ldrh r5, [r6, #232]
1644
+.L202:
15871645 cmp r5, r2
1588
- bhi .L193
1646
+ bhi .L204
1647
+ ldrh r3, [r6, #302]
1648
+ add r4, r0, #16
1649
+ movs r2, #0
1650
+ movw r6, #65535
1651
+ subs r3, r3, r1
1652
+ subs r3, r3, #1
1653
+ sxth r3, r3
1654
+.L205:
1655
+ uxth r1, r2
1656
+ cmp r5, r1
1657
+ bhi .L207
15891658 pop {r4, r5, r6, r7, pc}
1590
-.L190:
1591
- ldrh r6, [r4, #2]!
1659
+.L204:
1660
+ ldrh r3, [r4], #2
15921661 adds r2, r2, #1
1662
+ cmp r3, r7
15931663 uxth r2, r2
1594
- cmp r6, r7
15951664 ittt ne
1596
- ldrhne r6, [r0, #4]
1597
- addne r6, r6, #1
1598
- strhne r6, [r0, #4] @ movhi
1599
- b .L188
1600
-.L193:
1601
- ldrh r2, [r4], #2
1602
- adds r3, r3, #1
1603
- cmp r2, r6
1665
+ ldrhne r3, [r0, #4]
1666
+ addne r3, r3, #1
1667
+ strhne r3, [r0, #4] @ movhi
1668
+ b .L202
1669
+.L207:
1670
+ ldrh r1, [r4], #2
1671
+ adds r2, r2, #1
1672
+ cmp r1, r6
16041673 ittt ne
1605
- ldrhne r2, [r0, #4]
1606
- addne r2, r2, r1
1607
- strhne r2, [r0, #4] @ movhi
1608
- b .L191
1609
-.L195:
1674
+ ldrhne r1, [r0, #4]
1675
+ addne r1, r1, r3
1676
+ strhne r1, [r0, #4] @ movhi
1677
+ b .L205
1678
+.L209:
16101679 .align 2
1611
-.L194:
1680
+.L208:
16121681 .word .LANCHOR0
16131682 .fnend
16141683 .size ftl_sb_update_avl_pages, .-ftl_sb_update_avl_pages
....@@ -1624,43 +1693,42 @@
16241693 @ args = 0, pretend = 0, frame = 0
16251694 @ frame_needed = 0, uses_anonymous_args = 0
16261695 ldrh r3, [r0, #4]
1627
- push {r4, r5, lr}
1628
- .save {r4, r5, lr}
1629
- cbz r3, .L196
1630
- ldrh r2, [r0]
1631
- movw r3, #65535
1632
- cmp r2, r3
1633
- beq .L196
1634
- ldrb r2, [r0, #6] @ zero_extendqisi2
1635
- movs r5, #0
1636
- adds r2, r2, #8
1637
- ldrh r1, [r0, r2, lsl #1]
1638
- ldr r2, .L202
1639
- ldrh r4, [r2, #232]
1640
- mov r2, r3
1641
-.L199:
1642
- cmp r1, r2
1643
- beq .L201
1644
-.L196:
1645
- pop {r4, r5, pc}
1646
-.L201:
1696
+ push {r4, lr}
1697
+ .save {r4, lr}
1698
+ cbz r3, .L210
1699
+ ldrh r3, [r0]
1700
+ movw r2, #65535
1701
+ cmp r3, r2
1702
+ beq .L210
1703
+ ldrb r3, [r0, #6] @ zero_extendqisi2
1704
+ movs r4, #0
1705
+ ldr r1, .L216
1706
+ adds r3, r3, #8
1707
+ ldrh r1, [r1, #232]
1708
+ ldrh r3, [r0, r3, lsl #1]
1709
+.L213:
1710
+ cmp r3, r2
1711
+ beq .L215
1712
+.L210:
1713
+ pop {r4, pc}
1714
+.L215:
16471715 ldrb r3, [r0, #6] @ zero_extendqisi2
16481716 adds r3, r3, #1
16491717 uxtb r3, r3
1650
- cmp r3, r4
16511718 strb r3, [r0, #6]
1719
+ cmp r3, r1
16521720 itttt eq
1721
+ strbeq r4, [r0, #6]
16531722 ldrheq r3, [r0, #2]
1654
- strbeq r5, [r0, #6]
16551723 addeq r3, r3, #1
16561724 strheq r3, [r0, #2] @ movhi
16571725 ldrb r3, [r0, #6] @ zero_extendqisi2
16581726 adds r3, r3, #8
1659
- ldrh r1, [r0, r3, lsl #1]
1660
- b .L199
1661
-.L203:
1727
+ ldrh r3, [r0, r3, lsl #1]
1728
+ b .L213
1729
+.L217:
16621730 .align 2
1663
-.L202:
1731
+.L216:
16641732 .word .LANCHOR0
16651733 .fnend
16661734 .size FtlSlcSuperblockCheck, .-FtlSlcSuperblockCheck
....@@ -1678,36 +1746,37 @@
16781746 push {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
16791747 .save {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
16801748 mov r4, r0
1681
- ldr r6, .L210
1749
+ ldr r8, .L224
16821750 ldrh r2, [r0]
1683
- ldrh r3, [r6, #240]
1751
+ ldrh r3, [r8, #240]
16841752 cmp r2, r3
1685
- bcc .L205
1753
+ bcc .L219
1754
+ ldr r1, .L224+4
16861755 movw r2, #2157
1687
- ldr r1, .L210+4
1688
- ldr r0, .L210+8
1756
+ ldr r0, .L224+8
16891757 bl sftl_printk
1690
-.L205:
1691
- ldrh r9, [r6, #232]
1692
- add r7, r4, #16
1693
- ldr r10, .L210+12
1694
- movw r8, #65535
1695
- movs r5, #0
1696
- strh r5, [r4, #4] @ movhi
1697
- strb r5, [r4, #7]
1698
-.L206:
1699
- uxth r3, r5
1758
+.L219:
1759
+ ldrh r6, [r8, #232]
1760
+ add r5, r4, #16
1761
+ ldr r9, .L224+12
1762
+ movs r3, #0
1763
+ movw r10, #65535
1764
+ strh r3, [r4, #4] @ movhi
1765
+ add r6, r4, r6, lsl #1
1766
+ strb r3, [r4, #7]
1767
+ adds r6, r6, #16
1768
+.L220:
17001769 ldrh r1, [r4]
1701
- cmp r9, r3
1702
- bhi .L208
1703
- ldrh r2, [r6, #302]
1770
+ cmp r6, r5
1771
+ ldrb fp, [r4, #7] @ zero_extendqisi2
1772
+ bne .L222
1773
+ ldrh r3, [r8, #302]
17041774 movs r0, #0
1705
- ldrb r3, [r4, #7] @ zero_extendqisi2
1706
- smulbb r3, r3, r2
1775
+ smulbb r3, r3, fp
17071776 strh r3, [r4, #4] @ movhi
17081777 movs r3, #0
17091778 strb r3, [r4, #9]
1710
- ldr r3, [r6, #2536]
1779
+ ldr r3, [r8, #2536]
17111780 ldrh r2, [r3, r1, lsl #1]
17121781 movw r3, #10000
17131782 cmp r2, r3
....@@ -1715,24 +1784,22 @@
17151784 movhi r3, #1
17161785 strbhi r3, [r4, #9]
17171786 pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
1718
-.L208:
1719
- ldrb r0, [r10, r5] @ zero_extendqisi2
1787
+.L222:
1788
+ ldrb r0, [r9], #1 @ zero_extendqisi2
17201789 bl V2P_block
1721
- strh r8, [r7] @ movhi
1722
- mov fp, r0
1790
+ strh r10, [r5] @ movhi
1791
+ mov r7, r0
17231792 bl FtlBbmIsBadBlock
1724
- cbnz r0, .L207
1725
- strh fp, [r7] @ movhi
1726
- ldrb r3, [r4, #7] @ zero_extendqisi2
1727
- adds r3, r3, #1
1793
+ cbnz r0, .L221
1794
+ add r3, fp, #1
1795
+ strh r7, [r5] @ movhi
17281796 strb r3, [r4, #7]
1729
-.L207:
1730
- adds r5, r5, #1
1731
- adds r7, r7, #2
1732
- b .L206
1733
-.L211:
1797
+.L221:
1798
+ adds r5, r5, #2
1799
+ b .L220
1800
+.L225:
17341801 .align 2
1735
-.L210:
1802
+.L224:
17361803 .word .LANCHOR0
17371804 .word .LANCHOR1+95
17381805 .word .LC8
....@@ -1752,45 +1819,43 @@
17521819 @ frame_needed = 0, uses_anonymous_args = 0
17531820 push {r4, r5, r6, r7, r8, r9, r10, lr}
17541821 .save {r4, r5, r6, r7, r8, r9, r10, lr}
1755
- movs r5, #0
1756
- ldr r6, .L218
1757
- mov r7, r0
1758
- mov r4, r5
1759
- ldrh r8, [r6, #232]
1760
- add r10, r6, #260
1761
- ldrh r9, [r6, #302]
1762
-.L213:
1763
- uxth r3, r5
1764
- cmp r8, r3
1765
- bhi .L215
1766
- cbz r4, .L217
1822
+ movs r6, #0
1823
+ ldr r5, .L234
1824
+ mov r8, r0
1825
+ mov r4, r6
1826
+ add r7, r5, #260
1827
+ ldrh r9, [r5, #232]
1828
+ ldrh r10, [r5, #302]
1829
+.L227:
1830
+ uxth r3, r6
1831
+ cmp r9, r3
1832
+ bhi .L229
1833
+ cbz r4, .L230
17671834 mov r1, r4
17681835 mov r0, #32768
17691836 bl __aeabi_idiv
1770
-.L216:
1771
- ldr r1, [r6, #2516]
1772
- movs r3, #6
1773
- mla r1, r3, r7, r1
1774
- strh r0, [r1, #4] @ movhi
1837
+ uxth r4, r0
1838
+.L230:
1839
+ ldr r0, [r5, #2516]
1840
+ movs r2, #6
1841
+ mla r0, r2, r8, r0
1842
+ strh r4, [r0, #4] @ movhi
17751843 movs r0, #0
17761844 pop {r4, r5, r6, r7, r8, r9, r10, pc}
1777
-.L215:
1778
- mov r1, r7
1779
- ldrb r0, [r10, r5] @ zero_extendqisi2
1845
+.L229:
1846
+ mov r1, r8
1847
+ ldrb r0, [r7], #1 @ zero_extendqisi2
17801848 bl V2P_block
17811849 bl FtlBbmIsBadBlock
1782
- cbnz r0, .L214
1783
- add r4, r4, r9
1850
+ cbnz r0, .L228
1851
+ add r4, r4, r10
17841852 uxth r4, r4
1785
-.L214:
1786
- adds r5, r5, #1
1787
- b .L213
1788
-.L217:
1789
- mov r0, r4
1790
- b .L216
1791
-.L219:
1853
+.L228:
1854
+ adds r6, r6, #1
1855
+ b .L227
1856
+.L235:
17921857 .align 2
1793
-.L218:
1858
+.L234:
17941859 .word .LANCHOR0
17951860 .fnend
17961861 .size update_multiplier_value, .-update_multiplier_value
....@@ -1806,22 +1871,22 @@
18061871 @ args = 0, pretend = 0, frame = 0
18071872 @ frame_needed = 0, uses_anonymous_args = 0
18081873 @ link register save eliminated.
1809
- ldr r2, .L223
1810
- ldr r0, [r2, #2532]
1811
- cbz r0, .L221
1812
- ldr r3, [r2, #2516]
1813
- subs r0, r0, r3
1814
- ldr r3, .L223+4
1874
+ ldr r3, .L239
1875
+ ldr r0, [r3, #2532]
1876
+ cbz r0, .L237
1877
+ ldr r2, [r3, #2516]
1878
+ ldr r3, [r3, #2536]
1879
+ subs r0, r0, r2
1880
+ ldr r2, .L239+4
18151881 asrs r0, r0, #1
1816
- muls r0, r3, r0
1817
- ldr r3, [r2, #2536]
1882
+ muls r0, r2, r0
18181883 uxth r0, r0
18191884 ldrh r0, [r3, r0, lsl #1]
1820
-.L221:
1885
+.L237:
18211886 bx lr
1822
-.L224:
1887
+.L240:
18231888 .align 2
1824
-.L223:
1889
+.L239:
18251890 .word .LANCHOR0
18261891 .word -1431655765
18271892 .fnend
....@@ -1837,52 +1902,187 @@
18371902 .fnstart
18381903 @ args = 0, pretend = 0, frame = 0
18391904 @ frame_needed = 0, uses_anonymous_args = 0
1840
- ldr r1, .L233
1905
+ ldr r1, .L248
1906
+ mov r2, r0
18411907 push {r4, r5, r6, r7, lr}
18421908 .save {r4, r5, r6, r7, lr}
1843
- ldr r3, [r1, #2532]
1844
- cbz r3, .L231
1845
- ldrh r2, [r1, #224]
1846
- movs r6, #6
1847
- ldr r4, [r1, #2516]
1848
- movw r7, #65535
1849
- rsb r2, r2, r2, lsl #3
1850
- subs r3, r3, r4
1851
- asrs r3, r3, #1
1852
- asrs r2, r2, #3
1853
- cmp r0, r2
1909
+ ldr r0, [r1, #2532]
1910
+ cbz r0, .L242
1911
+ ldrh r3, [r1, #224]
1912
+ movs r7, #6
1913
+ movw ip, #65535
1914
+ rsb r3, r3, r3, lsl #3
1915
+ asrs r4, r3, #3
1916
+ cmp r2, r3, asr #3
18541917 it gt
1855
- uxthgt r0, r2
1856
- ldr r2, .L233+4
1857
- muls r3, r2, r3
1858
- movs r2, #0
1918
+ uxthgt r2, r4
1919
+ ldr r4, [r1, #2516]
1920
+ subs r3, r0, r4
1921
+ ldr r0, .L248+4
1922
+ asrs r3, r3, #1
1923
+ muls r3, r0, r3
1924
+ movs r0, #0
18591925 uxth r3, r3
1860
-.L228:
1861
- uxth r5, r2
1862
- cmp r0, r5
1863
- bls .L230
1864
- mul r5, r6, r3
1865
- adds r2, r2, #1
1866
- ldrh r5, [r4, r5]
1867
- cmp r5, r7
1868
- bne .L232
1869
-.L230:
1870
- ldr r2, [r1, #2536]
1871
- ldrh r0, [r2, r3, lsl #1]
1926
+.L244:
1927
+ uxth r6, r0
1928
+ mov r5, r3
1929
+ cmp r6, r2
1930
+ bcs .L245
1931
+ muls r3, r7, r3
1932
+ adds r0, r0, #1
1933
+ ldrh r3, [r4, r3]
1934
+ cmp r3, ip
1935
+ bne .L244
1936
+.L245:
1937
+ ldr r3, [r1, #2536]
1938
+ ldrh r0, [r3, r5, lsl #1]
1939
+.L242:
18721940 pop {r4, r5, r6, r7, pc}
1873
-.L232:
1874
- mov r3, r5
1875
- b .L228
1876
-.L231:
1877
- mov r0, r3
1878
- pop {r4, r5, r6, r7, pc}
1879
-.L234:
1941
+.L249:
18801942 .align 2
1881
-.L233:
1943
+.L248:
18821944 .word .LANCHOR0
18831945 .word -1431655765
18841946 .fnend
18851947 .size GetFreeBlockMaxEraseCount, .-GetFreeBlockMaxEraseCount
1948
+ .section .rodata.str1.1
1949
+.LC9:
1950
+ .ascii "FLASH INFO:\012\000"
1951
+.LC10:
1952
+ .ascii "Device Capacity: %d MB\012\000"
1953
+.LC11:
1954
+ .ascii "FTL INFO:\012\000"
1955
+.LC12:
1956
+ .ascii "g_MaxLpn = 0x%x\012\000"
1957
+.LC13:
1958
+ .ascii "g_VaildLpn = 0x%x\012\000"
1959
+.LC14:
1960
+ .ascii "read_page_count = 0x%x\012\000"
1961
+.LC15:
1962
+ .ascii "discard_page_count = 0x%x\012\000"
1963
+.LC16:
1964
+ .ascii "write_page_count = 0x%x\012\000"
1965
+.LC17:
1966
+ .ascii "cache_write_count = 0x%x\012\000"
1967
+.LC18:
1968
+ .ascii "l2p_write_count = 0x%x\012\000"
1969
+.LC19:
1970
+ .ascii "gc_page_count = 0x%x\012\000"
1971
+.LC20:
1972
+ .ascii "totle_write = %d MB\012\000"
1973
+.LC21:
1974
+ .ascii "totle_read = %d MB\012\000"
1975
+.LC22:
1976
+ .ascii "GSV = 0x%x\012\000"
1977
+.LC23:
1978
+ .ascii "GDV = 0x%x\012\000"
1979
+.LC24:
1980
+ .ascii "bad blk num = %d\012\000"
1981
+.LC25:
1982
+ .ascii "free_superblocks = 0x%x\012\000"
1983
+.LC26:
1984
+ .ascii "mlc_EC = 0x%x\012\000"
1985
+.LC27:
1986
+ .ascii "slc_EC = 0x%x\012\000"
1987
+.LC28:
1988
+ .ascii "avg_EC = 0x%x\012\000"
1989
+.LC29:
1990
+ .ascii "sys_EC = 0x%x\012\000"
1991
+.LC30:
1992
+ .ascii "max_EC = 0x%x\012\000"
1993
+.LC31:
1994
+ .ascii "min_EC = 0x%x\012\000"
1995
+.LC32:
1996
+ .ascii "PLT = 0x%x\012\000"
1997
+.LC33:
1998
+ .ascii "POT = 0x%x\012\000"
1999
+.LC34:
2000
+ .ascii "MaxSector = 0x%x\012\000"
2001
+.LC35:
2002
+ .ascii "init_sys_blks_pp = 0x%x\012\000"
2003
+.LC36:
2004
+ .ascii "sys_blks_pp = 0x%x\012\000"
2005
+.LC37:
2006
+ .ascii "free sysblock = 0x%x\012\000"
2007
+.LC38:
2008
+ .ascii "data_blks_pp = 0x%x\012\000"
2009
+.LC39:
2010
+ .ascii "data_op_blks_pp = 0x%x\012\000"
2011
+.LC40:
2012
+ .ascii "max_data_blks = 0x%x\012\000"
2013
+.LC41:
2014
+ .ascii "Sys.id = 0x%x\012\000"
2015
+.LC42:
2016
+ .ascii "Bbt.id = 0x%x\012\000"
2017
+.LC43:
2018
+ .ascii "ACT.page = 0x%x\012\000"
2019
+.LC44:
2020
+ .ascii "ACT.plane = 0x%x\012\000"
2021
+.LC45:
2022
+ .ascii "ACT.id = 0x%x\012\000"
2023
+.LC46:
2024
+ .ascii "ACT.mode = 0x%x\012\000"
2025
+.LC47:
2026
+ .ascii "ACT.a_pages = 0x%x\012\000"
2027
+.LC48:
2028
+ .ascii "ACT VPC = 0x%x\012\000"
2029
+.LC49:
2030
+ .ascii "BUF.page = 0x%x\012\000"
2031
+.LC50:
2032
+ .ascii "BUF.plane = 0x%x\012\000"
2033
+.LC51:
2034
+ .ascii "BUF.id = 0x%x\012\000"
2035
+.LC52:
2036
+ .ascii "BUF.mode = 0x%x\012\000"
2037
+.LC53:
2038
+ .ascii "BUF.a_pages = 0x%x\012\000"
2039
+.LC54:
2040
+ .ascii "BUF VPC = 0x%x\012\000"
2041
+.LC55:
2042
+ .ascii "TMP.page = 0x%x\012\000"
2043
+.LC56:
2044
+ .ascii "TMP.plane = 0x%x\012\000"
2045
+.LC57:
2046
+ .ascii "TMP.id = 0x%x\012\000"
2047
+.LC58:
2048
+ .ascii "TMP.mode = 0x%x\012\000"
2049
+.LC59:
2050
+ .ascii "TMP.a_pages = 0x%x\012\000"
2051
+.LC60:
2052
+ .ascii "GC.page = 0x%x\012\000"
2053
+.LC61:
2054
+ .ascii "GC.plane = 0x%x\012\000"
2055
+.LC62:
2056
+ .ascii "GC.id = 0x%x\012\000"
2057
+.LC63:
2058
+ .ascii "GC.mode = 0x%x\012\000"
2059
+.LC64:
2060
+ .ascii "GC.a_pages = 0x%x\012\000"
2061
+.LC65:
2062
+ .ascii "WR_CHK = %x %x %x\012\000"
2063
+.LC66:
2064
+ .ascii "Read Err Cnt = 0x%x\012\000"
2065
+.LC67:
2066
+ .ascii "Prog Err Cnt = 0x%x\012\000"
2067
+.LC68:
2068
+ .ascii "gc_free_blk_th= 0x%x\012\000"
2069
+.LC69:
2070
+ .ascii "gc_merge_free_blk_th= 0x%x\012\000"
2071
+.LC70:
2072
+ .ascii "gc_skip_write_count= 0x%x\012\000"
2073
+.LC71:
2074
+ .ascii "gc_blk_index= 0x%x\012\000"
2075
+.LC72:
2076
+ .ascii "free min EC= 0x%x\012\000"
2077
+.LC73:
2078
+ .ascii "free max EC= 0x%x\012\000"
2079
+.LC74:
2080
+ .ascii "GC__SB VPC = 0x%x\012\000"
2081
+.LC75:
2082
+ .ascii "%d. [0x%x]=0x%x 0x%x 0x%x\012\000"
2083
+.LC76:
2084
+ .ascii "free %d. [0x%x] 0x%x 0x%x\012\000"
2085
+ .text
18862086 .align 1
18872087 .global FtlPrintInfo2buf
18882088 .syntax unified
....@@ -1896,346 +2096,347 @@
18962096 @ frame_needed = 0, uses_anonymous_args = 0
18972097 push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
18982098 .save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
1899
- mov r6, r0
1900
- ldr r5, .L247
1901
- add r4, r6, #12
2099
+ mov r7, r0
2100
+ ldr r6, .L262
2101
+ ldr r1, .L262+4
2102
+ add r5, r7, #12
19022103 .pad #20
19032104 sub sp, sp, #20
1904
- ldr r1, .L247+4
19052105 bl strcpy
1906
- ldr r3, [r5, #316]
2106
+ ldr r2, .L262+8
2107
+ ldr r3, [r6, #316]
2108
+ mov r0, r5
19072109 movs r1, #64
1908
- ldr r2, .L247+8
1909
- mov r0, r4
19102110 bl snprintf
1911
- add r4, r4, r0
1912
- ldr r1, .L247+12
1913
- mov r0, r4
1914
- adds r4, r4, #10
2111
+ add r5, r5, r0
2112
+ ldr r1, .L262+12
2113
+ mov r0, r5
2114
+ adds r5, r5, #10
19152115 bl strcpy
1916
- ldr r3, [r5, #2552]
2116
+ ldr r3, [r6, #2552]
2117
+ mov r0, r5
2118
+ ldr r2, .L262+16
19172119 movs r1, #64
1918
- ldr r2, .L247+16
1919
- mov r0, r4
19202120 bl snprintf
1921
- add r4, r4, r0
1922
- ldr r3, [r5, #2548]
1923
- ldr r2, .L247+20
2121
+ add r5, r5, r0
2122
+ ldr r3, [r6, #2548]
2123
+ mov r0, r5
2124
+ ldr r2, .L262+20
19242125 movs r1, #64
1925
- mov r0, r4
19262126 bl snprintf
1927
- add r4, r4, r0
1928
- ldr r3, [r5, #2556]
1929
- ldr r2, .L247+24
2127
+ add r5, r5, r0
2128
+ ldr r3, [r6, #2556]
2129
+ mov r0, r5
2130
+ ldr r2, .L262+24
19302131 movs r1, #64
1931
- mov r0, r4
19322132 bl snprintf
1933
- add r4, r4, r0
1934
- ldr r3, [r5, #2560]
1935
- ldr r2, .L247+28
2133
+ add r5, r5, r0
2134
+ ldr r3, [r6, #2560]
2135
+ mov r0, r5
2136
+ ldr r2, .L262+28
19362137 movs r1, #64
1937
- mov r0, r4
19382138 bl snprintf
1939
- add r4, r4, r0
1940
- ldr r3, [r5, #2564]
1941
- ldr r2, .L247+32
2139
+ add r5, r5, r0
2140
+ ldr r3, [r6, #2564]
2141
+ mov r0, r5
2142
+ ldr r2, .L262+32
19422143 movs r1, #64
1943
- mov r0, r4
19442144 bl snprintf
1945
- add r4, r4, r0
1946
- ldr r3, [r5, #2568]
1947
- ldr r2, .L247+36
2145
+ add r5, r5, r0
2146
+ ldr r3, [r6, #2568]
2147
+ mov r0, r5
2148
+ ldr r2, .L262+36
19482149 movs r1, #64
1949
- mov r0, r4
19502150 bl snprintf
1951
- add r4, r4, r0
1952
- ldr r3, [r5, #2572]
1953
- ldr r2, .L247+40
2151
+ add r5, r5, r0
2152
+ ldr r3, [r6, #2572]
2153
+ mov r0, r5
2154
+ ldr r2, .L262+40
19542155 movs r1, #64
1955
- mov r0, r4
19562156 bl snprintf
1957
- add r4, r4, r0
1958
- ldr r3, [r5, #2576]
1959
- ldr r2, .L247+44
2157
+ add r5, r5, r0
2158
+ ldr r3, [r6, #2576]
2159
+ mov r0, r5
2160
+ ldr r2, .L262+44
19602161 movs r1, #64
1961
- mov r0, r4
19622162 bl snprintf
1963
- ldr r3, [r5, #2580]
1964
- add r4, r4, r0
1965
- ldr r2, .L247+48
2163
+ ldr r3, [r6, #2580]
2164
+ add r5, r5, r0
2165
+ ldr r2, .L262+48
2166
+ mov r0, r5
19662167 movs r1, #64
1967
- mov r0, r4
19682168 lsrs r3, r3, #11
19692169 bl snprintf
1970
- ldr r3, [r5, #2584]
1971
- add r4, r4, r0
1972
- ldr r2, .L247+52
2170
+ ldr r3, [r6, #2584]
2171
+ add r5, r5, r0
2172
+ ldr r2, .L262+52
19732173 movs r1, #64
1974
- mov r0, r4
2174
+ mov r0, r5
19752175 lsrs r3, r3, #11
19762176 bl snprintf
1977
- add r4, r4, r0
1978
- ldr r3, [r5, #2588]
1979
- ldr r2, .L247+56
1980
- movs r1, #64
2177
+ adds r4, r5, r0
2178
+ ldr r3, [r6, #2588]
19812179 mov r0, r4
2180
+ ldr r2, .L262+56
2181
+ movs r1, #64
19822182 bl snprintf
19832183 add r4, r4, r0
1984
- ldr r3, [r5, #2592]
1985
- ldr r2, .L247+60
1986
- movs r1, #64
2184
+ ldr r3, [r6, #2592]
19872185 mov r0, r4
2186
+ ldr r2, .L262+60
2187
+ movs r1, #64
19882188 bl snprintf
19892189 add r4, r4, r0
1990
- ldrh r3, [r5, #358]
1991
- ldr r2, .L247+64
1992
- movs r1, #64
2190
+ ldrh r3, [r6, #358]
19932191 mov r0, r4
2192
+ ldr r2, .L262+64
2193
+ movs r1, #64
19942194 bl snprintf
19952195 add r4, r4, r0
1996
- ldrh r3, [r5, #224]
1997
- ldr r2, .L247+68
1998
- movs r1, #64
2196
+ ldrh r3, [r6, #224]
19992197 mov r0, r4
2198
+ ldr r2, .L262+68
2199
+ movs r1, #64
20002200 bl snprintf
20012201 add r4, r4, r0
2002
- ldr r3, [r5, #2596]
2003
- ldr r2, .L247+72
2004
- movs r1, #64
2202
+ ldr r3, [r6, #2596]
20052203 mov r0, r4
2204
+ ldr r2, .L262+72
2205
+ movs r1, #64
20062206 bl snprintf
20072207 add r4, r4, r0
2008
- ldr r3, [r5, #2600]
2009
- ldr r2, .L247+76
2010
- movs r1, #64
2208
+ ldr r3, [r6, #2600]
20112209 mov r0, r4
2210
+ ldr r2, .L262+76
2211
+ movs r1, #64
20122212 bl snprintf
20132213 add r4, r4, r0
2014
- ldr r3, [r5, #2604]
2015
- ldr r2, .L247+80
2016
- movs r1, #64
2214
+ ldr r3, [r6, #2604]
20172215 mov r0, r4
2216
+ ldr r2, .L262+80
2217
+ movs r1, #64
20182218 bl snprintf
20192219 add r4, r4, r0
2020
- ldr r3, [r5, #2608]
2021
- ldr r2, .L247+84
2022
- movs r1, #64
2220
+ ldr r3, [r6, #2608]
20232221 mov r0, r4
2222
+ ldr r2, .L262+84
2223
+ movs r1, #64
20242224 bl snprintf
20252225 add r4, r4, r0
2026
- ldr r3, [r5, #2612]
2027
- ldr r2, .L247+88
2028
- movs r1, #64
2226
+ ldr r3, [r6, #2612]
20292227 mov r0, r4
2228
+ ldr r2, .L262+88
2229
+ movs r1, #64
20302230 bl snprintf
20312231 add r4, r4, r0
2032
- ldr r3, [r5, #2616]
2033
- ldr r2, .L247+92
2034
- movs r1, #64
2232
+ ldr r3, [r6, #2616]
20352233 mov r0, r4
2234
+ ldr r2, .L262+92
2235
+ movs r1, #64
20362236 bl snprintf
20372237 add r4, r4, r0
2038
- ldrh r3, [r5, #2498]
2039
- ldr r2, .L247+96
2040
- movs r1, #64
2238
+ ldrh r3, [r6, #2498]
20412239 mov r0, r4
2240
+ ldr r2, .L262+96
2241
+ movs r1, #64
20422242 bl snprintf
20432243 add r4, r4, r0
2044
- ldrh r3, [r5, #2496]
2045
- ldr r2, .L247+100
2046
- movs r1, #64
2244
+ ldrh r3, [r6, #2496]
20472245 mov r0, r4
2246
+ ldr r2, .L262+100
2247
+ movs r1, #64
20482248 bl snprintf
20492249 add r4, r4, r0
2050
- ldr r3, [r5, #340]
2051
- ldr r2, .L247+104
2052
- movs r1, #64
2250
+ ldr r3, [r6, #340]
20532251 mov r0, r4
2252
+ ldr r2, .L262+104
2253
+ movs r1, #64
20542254 bl snprintf
20552255 add r4, r4, r0
2056
- ldr r3, [r5, #332]
2057
- ldr r2, .L247+108
2058
- movs r1, #64
2256
+ ldr r3, [r6, #332]
20592257 mov r0, r4
2258
+ ldr r2, .L262+108
2259
+ movs r1, #64
20602260 bl snprintf
20612261 add r4, r4, r0
2062
- ldr r3, [r5, #228]
2063
- ldr r2, .L247+112
2064
- movs r1, #64
2262
+ ldr r3, [r6, #228]
20652263 mov r0, r4
2264
+ ldr r2, .L262+112
2265
+ movs r1, #64
20662266 bl snprintf
20672267 add r4, r4, r0
2068
- ldrh r3, [r5, #418]
2069
- ldr r2, .L247+116
2070
- movs r1, #64
2268
+ ldrh r3, [r6, #418]
20712269 mov r0, r4
2270
+ ldr r2, .L262+116
2271
+ movs r1, #64
20722272 bl snprintf
20732273 add r4, r4, r0
2074
- ldrh r3, [r5, #240]
2075
- ldr r2, .L247+120
2076
- movs r1, #64
2274
+ ldrh r3, [r6, #240]
20772275 mov r0, r4
2276
+ ldr r2, .L262+120
2277
+ movs r1, #64
20782278 bl snprintf
20792279 add r4, r4, r0
2080
- ldrh r3, [r5, #2620]
2081
- ldr r2, .L247+124
2082
- movs r1, #64
2280
+ ldrh r3, [r6, #2620]
20832281 mov r0, r4
2282
+ ldr r2, .L262+124
2283
+ movs r1, #64
20842284 bl snprintf
20852285 add r4, r4, r0
2086
- ldr r3, [r5, #244]
2087
- ldr r2, .L247+128
2088
- movs r1, #64
2286
+ ldr r3, [r6, #244]
20892287 mov r0, r4
2288
+ ldr r2, .L262+128
2289
+ movs r1, #64
20902290 bl snprintf
20912291 add r4, r4, r0
2092
- ldrh r3, [r5, #2624]
2093
- ldr r2, .L247+132
2094
- movs r1, #64
2292
+ ldrh r3, [r6, #2624]
20952293 mov r0, r4
2294
+ ldr r2, .L262+132
2295
+ movs r1, #64
20962296 bl snprintf
20972297 add r4, r4, r0
2098
- ldrh r3, [r5, #352]
2099
- ldr r2, .L247+136
2100
- movs r1, #64
2298
+ ldrh r3, [r6, #352]
21012299 mov r0, r4
2300
+ ldr r2, .L262+136
2301
+ movs r1, #64
21022302 bl snprintf
21032303 add r4, r4, r0
2104
- ldrh r3, [r5, #26]
2105
- ldr r2, .L247+140
2106
- movs r1, #64
2304
+ ldrh r3, [r6, #26]
21072305 mov r0, r4
2306
+ ldr r2, .L262+140
2307
+ movs r1, #64
21082308 bl snprintf
21092309 add r4, r4, r0
2110
- ldrb r3, [r5, #30] @ zero_extendqisi2
2111
- ldr r2, .L247+144
2112
- movs r1, #64
2310
+ ldrb r3, [r6, #30] @ zero_extendqisi2
21132311 mov r0, r4
2312
+ ldr r2, .L262+144
2313
+ movs r1, #64
21142314 bl snprintf
21152315 add r4, r4, r0
2116
- ldrh r3, [r5, #24]
2117
- ldr r2, .L247+148
2118
- movs r1, #64
2316
+ ldrh r3, [r6, #24]
21192317 mov r0, r4
2318
+ ldr r2, .L262+148
2319
+ movs r1, #64
21202320 bl snprintf
21212321 add r4, r4, r0
2122
- ldrb r3, [r5, #32] @ zero_extendqisi2
2123
- ldr r2, .L247+152
2124
- movs r1, #64
2322
+ ldrb r3, [r6, #32] @ zero_extendqisi2
21252323 mov r0, r4
2324
+ ldr r2, .L262+152
2325
+ movs r1, #64
21262326 bl snprintf
21272327 add r4, r4, r0
2128
- ldrh r3, [r5, #28]
2129
- ldr r2, .L247+156
2130
- movs r1, #64
2328
+ ldrh r3, [r6, #28]
21312329 mov r0, r4
2330
+ ldr r2, .L262+156
2331
+ movs r1, #64
21322332 bl snprintf
2133
- ldrh r2, [r5, #24]
2333
+ ldrh r2, [r6, #24]
2334
+ ldr r3, [r6, #72]
21342335 add r4, r4, r0
2135
- ldr r3, [r5, #72]
2136
- movs r1, #64
21372336 mov r0, r4
2337
+ movs r1, #64
21382338 ldrh r3, [r3, r2, lsl #1]
2139
- ldr r2, .L247+160
2339
+ ldr r2, .L262+160
21402340 bl snprintf
21412341 add r4, r4, r0
2142
- ldrh r3, [r5, #78]
2143
- ldr r2, .L247+164
2144
- movs r1, #64
2342
+ ldrh r3, [r6, #78]
21452343 mov r0, r4
2344
+ ldr r2, .L262+164
2345
+ movs r1, #64
21462346 bl snprintf
21472347 add r4, r4, r0
2148
- ldrb r3, [r5, #82] @ zero_extendqisi2
2149
- ldr r2, .L247+168
2150
- movs r1, #64
2348
+ ldrb r3, [r6, #82] @ zero_extendqisi2
21512349 mov r0, r4
2350
+ ldr r2, .L262+168
2351
+ movs r1, #64
21522352 bl snprintf
21532353 add r4, r4, r0
2154
- ldrh r3, [r5, #76]
2155
- ldr r2, .L247+172
2156
- movs r1, #64
2354
+ ldrh r3, [r6, #76]
21572355 mov r0, r4
2356
+ ldr r2, .L262+172
2357
+ movs r1, #64
21582358 bl snprintf
21592359 add r4, r4, r0
2160
- ldrb r3, [r5, #84] @ zero_extendqisi2
2161
- ldr r2, .L247+176
2162
- movs r1, #64
2360
+ ldrb r3, [r6, #84] @ zero_extendqisi2
21632361 mov r0, r4
2362
+ ldr r2, .L262+176
2363
+ movs r1, #64
21642364 bl snprintf
21652365 add r4, r4, r0
2166
- ldrh r3, [r5, #80]
2167
- ldr r2, .L247+180
2168
- movs r1, #64
2366
+ ldrh r3, [r6, #80]
21692367 mov r0, r4
2368
+ ldr r2, .L262+180
2369
+ movs r1, #64
21702370 bl snprintf
2171
- ldrh r2, [r5, #76]
2371
+ ldrh r2, [r6, #76]
2372
+ ldr r3, [r6, #72]
21722373 add r4, r4, r0
2173
- ldr r3, [r5, #72]
2174
- movs r1, #64
21752374 mov r0, r4
2375
+ movs r1, #64
21762376 ldrh r3, [r3, r2, lsl #1]
2177
- ldr r2, .L247+184
2377
+ ldr r2, .L262+184
21782378 bl snprintf
21792379 add r4, r4, r0
2180
- ldrh r3, [r5, #126]
2181
- ldr r2, .L247+188
2182
- movs r1, #64
2380
+ ldrh r3, [r6, #126]
21832381 mov r0, r4
2184
- bl snprintf
2185
- add r4, r4, r0
2186
- ldrb r3, [r5, #130] @ zero_extendqisi2
2187
- ldr r2, .L247+192
2382
+ ldr r2, .L262+188
21882383 movs r1, #64
2189
- mov r0, r4
21902384 bl snprintf
21912385 add r4, r4, r0
2192
- ldrh r3, [r5, #124]
2193
- ldr r2, .L247+196
2386
+ ldrb r3, [r6, #130] @ zero_extendqisi2
2387
+ mov r0, r4
2388
+ ldr r2, .L262+192
21942389 movs r1, #64
2195
- mov r0, r4
21962390 bl snprintf
21972391 add r4, r4, r0
2198
- ldrb r3, [r5, #132] @ zero_extendqisi2
2199
- ldr r2, .L247+200
2392
+ ldrh r3, [r6, #124]
2393
+ mov r0, r4
2394
+ ldr r2, .L262+196
22002395 movs r1, #64
2201
- mov r0, r4
22022396 bl snprintf
22032397 add r4, r4, r0
2204
- ldrh r3, [r5, #128]
2205
- ldr r2, .L247+204
2398
+ ldrb r3, [r6, #132] @ zero_extendqisi2
2399
+ mov r0, r4
2400
+ ldr r2, .L262+200
22062401 movs r1, #64
2207
- mov r0, r4
22082402 bl snprintf
22092403 add r4, r4, r0
2210
- ldrh r3, [r5, #174]
2211
- ldr r2, .L247+208
2404
+ ldrh r3, [r6, #128]
2405
+ mov r0, r4
2406
+ ldr r2, .L262+204
22122407 movs r1, #64
2213
- mov r0, r4
22142408 bl snprintf
22152409 add r4, r4, r0
2216
- ldrb r3, [r5, #178] @ zero_extendqisi2
2217
- ldr r2, .L247+212
2410
+ ldrh r3, [r6, #174]
2411
+ mov r0, r4
2412
+ ldr r2, .L262+208
22182413 movs r1, #64
2219
- mov r0, r4
22202414 bl snprintf
22212415 add r4, r4, r0
2222
- ldrh r3, [r5, #172]
2223
- ldr r2, .L247+216
2416
+ ldrb r3, [r6, #178] @ zero_extendqisi2
2417
+ mov r0, r4
2418
+ ldr r2, .L262+212
22242419 movs r1, #64
2225
- mov r0, r4
22262420 bl snprintf
22272421 add r4, r4, r0
2228
- ldrb r3, [r5, #180] @ zero_extendqisi2
2229
- ldr r2, .L247+220
2422
+ ldrh r3, [r6, #172]
2423
+ mov r0, r4
2424
+ ldr r2, .L262+216
22302425 movs r1, #64
2231
- mov r0, r4
22322426 bl snprintf
22332427 add r4, r4, r0
2234
- ldrh r3, [r5, #176]
2235
- b .L248
2236
-.L249:
2428
+ ldrb r3, [r6, #180] @ zero_extendqisi2
2429
+ mov r0, r4
2430
+ ldr r2, .L262+220
2431
+ movs r1, #64
2432
+ bl snprintf
2433
+ add r4, r4, r0
2434
+ ldrh r3, [r6, #176]
2435
+ mov r0, r4
2436
+ b .L263
2437
+.L264:
22372438 .align 2
2238
-.L247:
2439
+.L262:
22392440 .word .LANCHOR0
22402441 .word .LC9
22412442 .word .LC10
....@@ -2292,166 +2493,164 @@
22922493 .word .LC61
22932494 .word .LC62
22942495 .word .LC63
2295
-.L248:
2296
- ldr r2, .L250
2496
+.L263:
2497
+ ldr r2, .L265
22972498 movs r1, #64
2298
- mov r0, r4
22992499 bl snprintf
2300
- ldr r3, [r5, #2716]
2500
+ ldr r3, [r6, #2716]
23012501 add r4, r4, r0
2302
- ldr r2, .L250+4
2303
- movs r1, #64
2304
- mov r0, r4
23052502 str r3, [sp, #4]
2306
- ldr r3, [r5, #2724]
2503
+ ldr r3, [r6, #2724]
2504
+ mov r0, r4
2505
+ ldr r2, .L265+4
2506
+ movs r1, #64
23072507 str r3, [sp]
2308
- ldr r3, [r5, #2720]
2508
+ ldr r3, [r6, #2720]
23092509 bl snprintf
23102510 add r4, r4, r0
2311
- ldr r3, [r5, #2712]
2312
- ldr r2, .L250+8
2313
- movs r1, #64
2511
+ ldr r3, [r6, #2712]
23142512 mov r0, r4
2315
- bl snprintf
2316
- add r4, r4, r0
2317
- ldr r3, [r5, #2736]
2318
- ldr r2, .L250+12
2513
+ ldr r2, .L265+8
23192514 movs r1, #64
2320
- mov r0, r4
23212515 bl snprintf
23222516 add r4, r4, r0
2323
- ldrh r3, [r5, #3152]
2324
- ldr r2, .L250+16
2517
+ ldr r3, [r6, #2736]
2518
+ mov r0, r4
2519
+ ldr r2, .L265+12
23252520 movs r1, #64
2326
- mov r0, r4
23272521 bl snprintf
23282522 add r4, r4, r0
2329
- ldrh r3, [r5, #3154]
2330
- ldr r2, .L250+20
2523
+ ldrh r3, [r6, #3152]
2524
+ mov r0, r4
2525
+ ldr r2, .L265+16
23312526 movs r1, #64
2332
- mov r0, r4
23332527 bl snprintf
23342528 add r4, r4, r0
2335
- ldr r3, [r5, #3156]
2336
- ldr r2, .L250+24
2529
+ ldrh r3, [r6, #3154]
2530
+ mov r0, r4
2531
+ ldr r2, .L265+20
23372532 movs r1, #64
2338
- mov r0, r4
23392533 bl snprintf
23402534 add r4, r4, r0
2341
- ldrh r3, [r5, #3160]
2342
- ldr r2, .L250+28
2535
+ ldr r3, [r6, #3156]
2536
+ mov r0, r4
2537
+ ldr r2, .L265+24
23432538 movs r1, #64
2344
- mov r0, r4
23452539 bl snprintf
23462540 add r4, r4, r0
2541
+ ldrh r3, [r6, #3160]
2542
+ mov r0, r4
2543
+ ldr r2, .L265+28
2544
+ movs r1, #64
2545
+ bl snprintf
2546
+ add r4, r4, r0
2547
+ movs r1, #64
23472548 bl GetFreeBlockMinEraseCount
2348
- ldr r2, .L250+32
2549
+ ldr r2, .L265+32
23492550 mov r3, r0
2350
- movs r1, #64
23512551 mov r0, r4
23522552 bl snprintf
23532553 add r4, r4, r0
2354
- ldrh r0, [r5, #224]
2554
+ ldrh r0, [r6, #224]
23552555 bl GetFreeBlockMaxEraseCount
2356
- ldr r2, .L250+36
2556
+ ldr r2, .L265+36
23572557 mov r3, r0
23582558 movs r1, #64
23592559 mov r0, r4
23602560 bl snprintf
2361
- ldr r3, .L250+40
2561
+ ldr r3, .L265+40
23622562 add r4, r4, r0
23632563 ldr r3, [r3]
23642564 cmp r3, #1
2365
- beq .L236
2366
-.L241:
2367
- subs r0, r4, r6
2565
+ beq .L251
2566
+.L256:
2567
+ subs r0, r4, r7
23682568 add sp, sp, #20
23692569 @ sp needed
23702570 pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
2371
-.L236:
2372
- ldrh r3, [r5, #172]
2571
+.L251:
2572
+ ldrh r3, [r6, #172]
23732573 movw r2, #65535
23742574 cmp r3, r2
2375
- beq .L238
2376
- ldr r2, [r5, #72]
2575
+ beq .L253
2576
+ ldr r2, [r6, #72]
23772577 mov r0, r4
23782578 movs r1, #64
23792579 ldrh r3, [r2, r3, lsl #1]
2380
- ldr r2, .L250+44
2580
+ ldr r2, .L265+44
23812581 bl snprintf
23822582 add r4, r4, r0
2383
-.L238:
2583
+.L253:
23842584 movs r0, #0
2385
- ldr r9, .L250+52
2585
+ ldr fp, .L265+48
23862586 bl List_get_gc_head_node
23872587 uxth r0, r0
2388
- movs r7, #0
2389
- movw fp, #65535
2390
- mov r10, #6
2391
-.L240:
2392
- cmp r0, fp
2393
- beq .L239
2394
- ldr r3, [r5, #2536]
2395
- mul r8, r10, r0
2396
- mov r2, r9
2588
+ movs r5, #0
2589
+ movw r10, #65535
2590
+ mov r9, #6
2591
+.L255:
2592
+ ldr r3, [r6, #2516]
2593
+ cmp r0, r10
2594
+ beq .L254
2595
+ ldr r2, [r6, #2536]
2596
+ mul r8, r9, r0
23972597 movs r1, #64
2398
- ldrh r3, [r3, r0, lsl #1]
2399
- str r3, [sp, #12]
2400
- ldr r3, [r5, #2516]
24012598 add r3, r3, r8
2599
+ ldrh r2, [r2, r0, lsl #1]
2600
+ str r2, [sp, #12]
2601
+ mov r2, fp
24022602 ldrh r3, [r3, #4]
24032603 str r3, [sp, #8]
2404
- ldr r3, [r5, #72]
2604
+ ldr r3, [r6, #72]
24052605 ldrh r3, [r3, r0, lsl #1]
2406
- stm sp, {r0, r3}
2407
- mov r3, r7
2606
+ strd r0, r3, [sp]
2607
+ mov r3, r5
24082608 mov r0, r4
2409
- adds r7, r7, #1
2609
+ adds r5, r5, #1
24102610 bl snprintf
2411
- ldr r3, [r5, #2516]
2412
- cmp r7, #16
2611
+ ldr r3, [r6, #2516]
24132612 add r4, r4, r0
2613
+ cmp r5, #16
24142614 ldrh r0, [r3, r8]
2415
- bne .L240
2416
-.L239:
2417
- ldr r2, [r5, #2516]
2418
- movs r7, #0
2419
- ldr r3, [r5, #2532]
2615
+ bne .L255
2616
+.L254:
2617
+ ldr r3, [r6, #2516]
2618
+ movs r5, #0
2619
+ ldr r1, [r6, #2532]
24202620 movw r9, #65535
2421
- ldr fp, .L250+56
2621
+ ldr fp, .L265+52
24222622 mov r10, #6
2423
- subs r3, r3, r2
2424
- asrs r2, r3, #1
2425
- ldr r3, .L250+48
2426
- muls r3, r2, r3
2427
- uxth r3, r3
2428
-.L242:
2429
- cmp r3, r9
2430
- beq .L241
2431
- ldr r2, [r5, #2536]
2432
- mul r8, r10, r3
2623
+ subs r1, r1, r3
2624
+ ldr r3, .L265+56
2625
+ asrs r1, r1, #1
2626
+ muls r1, r3, r1
2627
+ uxth r1, r1
2628
+.L257:
2629
+ cmp r1, r9
2630
+ beq .L256
2631
+ ldr r3, [r6, #2536]
2632
+ mul r8, r10, r1
24332633 mov r0, r4
2434
- movs r1, #64
2435
- ldrh r2, [r2, r3, lsl #1]
2436
- str r2, [sp, #8]
2437
- ldr r2, [r5, #2516]
2438
- add r2, r2, r8
2439
- ldrh r2, [r2, #4]
2440
- str r3, [sp]
2441
- mov r3, r7
2442
- adds r7, r7, #1
2443
- str r2, [sp, #4]
24442634 mov r2, fp
2635
+ ldrh r3, [r3, r1, lsl #1]
2636
+ str r3, [sp, #8]
2637
+ ldr r3, [r6, #2516]
2638
+ add r3, r3, r8
2639
+ ldrh r3, [r3, #4]
2640
+ strd r1, r3, [sp]
2641
+ mov r3, r5
2642
+ movs r1, #64
2643
+ adds r5, r5, #1
24452644 bl snprintf
2446
- cmp r7, #4
2645
+ cmp r5, #4
24472646 add r4, r4, r0
2448
- beq .L241
2449
- ldr r3, [r5, #2516]
2450
- ldrh r3, [r3, r8]
2451
- b .L242
2452
-.L251:
2647
+ beq .L256
2648
+ ldr r3, [r6, #2516]
2649
+ ldrh r1, [r3, r8]
2650
+ b .L257
2651
+.L266:
24532652 .align 2
2454
-.L250:
2653
+.L265:
24552654 .word .LC64
24562655 .word .LC65
24572656 .word .LC66
....@@ -2464,11 +2663,15 @@
24642663 .word .LC73
24652664 .word .LANCHOR2
24662665 .word .LC74
2467
- .word -1431655765
24682666 .word .LC75
24692667 .word .LC76
2668
+ .word -1431655765
24702669 .fnend
24712670 .size FtlPrintInfo2buf, .-FtlPrintInfo2buf
2671
+ .section .rodata.str1.1
2672
+.LC77:
2673
+ .ascii "%s\012\000"
2674
+ .text
24722675 .align 1
24732676 .global rknand_proc_ftlread
24742677 .syntax unified
....@@ -2480,32 +2683,38 @@
24802683 .fnstart
24812684 @ args = 0, pretend = 0, frame = 0
24822685 @ frame_needed = 0, uses_anonymous_args = 0
2483
- cmp r0, #2048
24842686 push {r3, r4, r5, lr}
24852687 .save {r3, r4, r5, lr}
2688
+ cmp r0, #2048
24862689 mov r5, r1
2487
- blt .L254
2488
- ldr r3, .L255
2690
+ blt .L269
2691
+ ldr r3, .L270
2692
+ add r4, r5, #30
2693
+ ldr r2, .L270+4
24892694 movs r1, #64
2490
- ldr r2, .L255+4
24912695 mov r0, r5
24922696 bl snprintf
2493
- adds r4, r5, r0
24942697 mov r0, r4
24952698 bl FtlPrintInfo2buf
24962699 add r0, r0, r4
24972700 subs r0, r0, r5
2701
+.L267:
24982702 pop {r3, r4, r5, pc}
2499
-.L254:
2703
+.L269:
25002704 movs r0, #0
2501
- pop {r3, r4, r5, pc}
2502
-.L256:
2705
+ b .L267
2706
+.L271:
25032707 .align 2
2504
-.L255:
2708
+.L270:
25052709 .word .LC0
25062710 .word .LC77
25072711 .fnend
25082712 .size rknand_proc_ftlread, .-rknand_proc_ftlread
2713
+ .section .rodata.str1.1
2714
+.LC78:
2715
+ .ascii "swblk %x ,avg = %x max= %x vpc= %x,ec=%x ,max ec=%x"
2716
+ .ascii "\012\000"
2717
+ .text
25092718 .align 1
25102719 .global GetSwlReplaceBlock
25112720 .syntax unified
....@@ -2519,21 +2728,21 @@
25192728 @ frame_needed = 0, uses_anonymous_args = 0
25202729 push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
25212730 .save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
2731
+ ldr r4, .L296
25222732 .pad #28
25232733 sub sp, sp, #28
2524
- ldr r4, .L281
25252734 ldr r2, [r4, #2604]
25262735 ldr r3, [r4, #2616]
25272736 cmp r2, r3
2528
- bcs .L258
2737
+ bcs .L273
25292738 ldrh r1, [r4, #240]
25302739 movs r3, #0
25312740 ldr r0, [r4, #2536]
25322741 str r3, [r4, #2596]
2533
-.L259:
2534
- cmp r3, r1
2535
- bcc .L260
2742
+.L274:
25362743 ldr r5, [r4, #2596]
2744
+ cmp r1, r3
2745
+ bhi .L275
25372746 mov r0, r5
25382747 bl __aeabi_uidiv
25392748 str r0, [r4, #2604]
....@@ -2542,139 +2751,137 @@
25422751 subs r0, r5, r0
25432752 bl __aeabi_uidiv
25442753 str r0, [r4, #2596]
2545
-.L261:
2754
+.L276:
25462755 ldr r6, [r4, #2616]
2547
- ldr r7, [r4, #2604]
2756
+ ldr r8, [r4, #2604]
25482757 add r3, r6, #256
2549
- cmp r3, r7
2550
- bls .L266
2758
+ cmp r3, r8
2759
+ bls .L281
25512760 ldr r2, [r4, #2612]
25522761 add r3, r6, #768
25532762 cmp r3, r2
2554
- bls .L266
2555
-.L268:
2763
+ bls .L281
2764
+.L283:
25562765 movw r5, #65535
2557
-.L267:
2766
+.L282:
25582767 mov r0, r5
25592768 add sp, sp, #28
25602769 @ sp needed
25612770 pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
2562
-.L260:
2771
+.L275:
25632772 ldrh r2, [r0, r3, lsl #1]
25642773 adds r3, r3, #1
2565
- ldr r5, [r4, #2596]
2566
- add r2, r2, r5
2567
- str r2, [r4, #2596]
2568
- b .L259
2569
-.L258:
2774
+ add r5, r5, r2
2775
+ str r5, [r4, #2596]
2776
+ b .L274
2777
+.L273:
25702778 ldr r3, [r4, #2612]
25712779 cmp r2, r3
2572
- bls .L261
2780
+ bls .L276
25732781 adds r3, r3, #1
25742782 str r3, [r4, #2612]
25752783 movs r3, #0
2576
-.L263:
2784
+.L278:
25772785 ldrh r2, [r4, #240]
2578
- cmp r3, r2
2579
- bcs .L261
2786
+ cmp r2, r3
2787
+ bls .L276
25802788 ldr r1, [r4, #2536]
25812789 ldrh r2, [r1, r3, lsl #1]
25822790 adds r2, r2, #1
25832791 strh r2, [r1, r3, lsl #1] @ movhi
25842792 adds r3, r3, #1
2585
- b .L263
2586
-.L266:
2793
+ b .L278
2794
+.L281:
25872795 ldrh r0, [r4, #224]
25882796 add r0, r0, r0, lsl #1
2589
- ubfx r0, r0, #2, #16
2797
+ lsrs r0, r0, #2
25902798 bl GetFreeBlockMaxEraseCount
25912799 add r3, r6, #64
2592
- mov r9, r0
2800
+ mov r1, r0
25932801 cmp r0, r3
2594
- bcc .L268
2802
+ bcc .L283
25952803 ldr r3, [r4, #2520]
25962804 cmp r3, #0
2597
- beq .L268
2805
+ beq .L283
25982806 ldrh r2, [r4, #240]
2599
- movw r1, #65535
2807
+ movw r7, #65535
26002808 ldr lr, [r4, #2516]
2809
+ mov r10, r7
2810
+ ldr r9, [r4, #2536]
26012811 movs r0, #0
2602
- ldr r8, [r4, #2536]
2603
- mov r10, r1
26042812 str r2, [sp, #20]
2813
+ mov r2, r7
26052814 mov fp, #6
2606
- mov r2, r1
2607
-.L269:
2815
+.L284:
26082816 ldrh ip, [r3]
26092817 cmp ip, r10
2610
- bne .L272
2818
+ bne .L287
26112819 mov r5, r2
2612
-.L271:
2820
+.L286:
26132821 movw r3, #65535
26142822 cmp r5, r3
2615
- beq .L268
2616
- ldrh r10, [r8, r5, lsl #1]
2823
+ beq .L283
2824
+ ldrh r10, [r9, r5, lsl #1]
26172825 lsl fp, r5, #1
26182826 cmp r6, r10
2619
- bcs .L273
2827
+ bcs .L288
26202828 bl GetFreeBlockMinEraseCount
26212829 cmp r6, r0
26222830 it cc
2623
- strcc r1, [r4, #2616]
2624
-.L273:
2625
- cmp r7, r10
2626
- bls .L268
2831
+ strcc r7, [r4, #2616]
2832
+.L288:
2833
+ cmp r8, r10
2834
+ bls .L283
26272835 add r3, r10, #128
2628
- cmp r9, r3
2629
- ble .L268
2630
- add r3, r10, #256
2631
- cmp r7, r3
2632
- bhi .L274
2836
+ cmp r1, r3
2837
+ ble .L283
2838
+ add r2, r10, #256
26332839 ldr r3, [r4, #2612]
2840
+ cmp r8, r2
2841
+ bhi .L289
26342842 add r10, r10, #768
26352843 cmp r10, r3
2636
- bcs .L268
2637
-.L274:
2638
- str r9, [sp, #8]
2639
- mov r2, r7
2640
- ldrh r3, [r8, fp]
2844
+ bcs .L283
2845
+.L289:
2846
+ str r1, [sp, #8]
26412847 mov r1, r5
2642
- ldr r0, .L281+4
2643
- str r3, [sp, #4]
2644
- ldr r3, [r4, #72]
2645
- ldrh r3, [r3, fp]
2646
- str r3, [sp]
2647
- ldr r3, [r4, #2612]
2848
+ ldr r0, .L296+4
2849
+ ldrh r2, [r9, fp]
2850
+ str r2, [sp, #4]
2851
+ ldr r2, [r4, #72]
2852
+ ldrh r2, [r2, fp]
2853
+ str r2, [sp]
2854
+ mov r2, r8
26482855 bl sftl_printk
26492856 movs r3, #1
26502857 str r3, [r4, #3164]
2651
- b .L267
2652
-.L272:
2858
+ b .L282
2859
+.L287:
26532860 adds r0, r0, #1
26542861 ldr r5, [sp, #20]
26552862 uxth r0, r0
2656
- cmp r0, r5
2657
- bhi .L268
2863
+ cmp r5, r0
2864
+ bcc .L283
26582865 ldrh r5, [r3, #4]
2659
- cbz r5, .L270
2660
- ldr r5, .L281+8
2866
+ cbz r5, .L285
26612867 sub r3, r3, lr
2868
+ ldr r5, .L296+8
26622869 asrs r3, r3, #1
26632870 muls r3, r5, r3
26642871 uxth r5, r3
2665
- ldrh r3, [r8, r5, lsl #1]
2872
+ ldrh r3, [r9, r5, lsl #1]
26662873 cmp r6, r3
2667
- bcs .L271
2668
- cmp r1, r3
2669
- itt hi
2670
- movhi r1, r3
2671
- movhi r2, r5
2672
-.L270:
2874
+ bcs .L286
2875
+ cmp r3, r7
2876
+ itt cc
2877
+ movcc r7, r3
2878
+ movcc r2, r5
2879
+.L285:
26732880 mla r3, fp, ip, lr
2674
- b .L269
2675
-.L282:
2881
+ b .L284
2882
+.L297:
26762883 .align 2
2677
-.L281:
2884
+.L296:
26782885 .word .LANCHOR0
26792886 .word .LC78
26802887 .word -1431655765
....@@ -2695,18 +2902,18 @@
26952902 push {r3, lr}
26962903 .save {r3, lr}
26972904 cmp r0, r2
2698
- beq .L284
2699
- ldr r2, .L285
2905
+ beq .L299
2906
+ ldr r2, .L300
27002907 movs r1, #0
27012908 ldr r2, [r2, #72]
27022909 strh r1, [r2, r0, lsl #1] @ movhi
27032910 bl INSERT_FREE_LIST
2704
-.L284:
2911
+.L299:
27052912 movs r0, #0
27062913 pop {r3, pc}
2707
-.L286:
2914
+.L301:
27082915 .align 2
2709
-.L285:
2916
+.L300:
27102917 .word .LANCHOR0
27112918 .fnend
27122919 .size free_data_superblock, .-free_data_superblock
....@@ -2724,100 +2931,98 @@
27242931 push {r3, r4, r5, r6, r7, lr}
27252932 .save {r3, r4, r5, r6, r7, lr}
27262933 movw r3, #65535
2727
- ldrh r2, [r0]
27282934 mov r4, r0
2935
+ ldrh r2, [r0]
27292936 cmp r2, r3
2730
- bne .L288
2937
+ bne .L303
2938
+ ldr r1, .L317
27312939 movw r2, #2792
2732
- ldr r1, .L302
2733
- ldr r0, .L302+4
2940
+ ldr r0, .L317+4
27342941 bl sftl_printk
2735
-.L288:
2736
- ldr r6, .L302+8
2942
+.L303:
2943
+ ldr r6, .L317+8
27372944 ldrh r2, [r4, #2]
27382945 ldrh r3, [r6, #302]
27392946 cmp r2, r3
2740
- bne .L289
2947
+ bne .L304
2948
+ ldr r1, .L317
27412949 movw r2, #2793
2742
- ldr r1, .L302
2743
- ldr r0, .L302+4
2950
+ ldr r0, .L317+4
27442951 bl sftl_printk
2745
-.L289:
2952
+.L304:
27462953 ldrh r3, [r4, #4]
2747
- cbnz r3, .L290
2954
+ cbnz r3, .L305
2955
+ ldr r1, .L317
27482956 movw r2, #2794
2749
- ldr r1, .L302
2750
- ldr r0, .L302+4
2957
+ ldr r0, .L317+4
27512958 bl sftl_printk
2752
-.L290:
2753
- ldrb r2, [r4, #6] @ zero_extendqisi2
2754
- movs r3, #0
2755
- ldrh r1, [r6, #232]
2756
- movw r5, #65535
2757
- strb r3, [r4, #10]
2758
- adds r2, r2, #8
2759
- ldrh r0, [r4, r2, lsl #1]
2760
- mov r2, r3
2761
-.L291:
2762
- cmp r0, r5
2763
- beq .L293
2764
- ldrh r5, [r4, #2]
2765
- ldrh r6, [r6, #302]
2766
- cmp r5, r6
2767
- bcs .L297
2768
- ldrh r2, [r4, #4]
2769
- orr r5, r5, r0, lsl #10
2959
+.L305:
27702960 ldrb r3, [r4, #6] @ zero_extendqisi2
2771
- movw r0, #65535
2772
- subs r2, r2, #1
2773
- uxth r2, r2
2774
- strh r2, [r4, #4] @ movhi
2775
-.L296:
2776
- adds r3, r3, #1
2777
- uxtb r3, r3
2778
- cmp r1, r3
2961
+ movs r1, #0
2962
+ strb r1, [r4, #10]
2963
+ movw r7, #65535
2964
+ adds r3, r3, #8
2965
+ ldrh r0, [r6, #232]
2966
+ ldrh r5, [r4, r3, lsl #1]
2967
+.L306:
2968
+ ldrh r2, [r4, #2]
2969
+ cmp r5, r7
2970
+ beq .L308
2971
+ ldrh r6, [r6, #302]
2972
+ cmp r6, r2
2973
+ bls .L312
2974
+ ldrh r3, [r4, #4]
2975
+ orr r5, r2, r5, lsl #10
2976
+ ldrb r2, [r4, #6] @ zero_extendqisi2
2977
+ movw r7, #65535
2978
+ subs r3, r3, #1
2979
+ uxth r3, r3
2980
+ strh r3, [r4, #4] @ movhi
2981
+.L311:
2982
+ adds r1, r2, #1
2983
+ uxtb r2, r1
2984
+ cmp r0, r2
27792985 itttt eq
2780
- ldrheq r3, [r4, #2]
2781
- addeq r3, r3, #1
2782
- strheq r3, [r4, #2] @ movhi
2783
- moveq r3, #0
2784
- add r7, r3, #8
2785
- ldrh r7, [r4, r7, lsl #1]
2786
- cmp r7, r0
2787
- beq .L296
2788
- strb r3, [r4, #6]
2789
- ldrh r3, [r4, #2]
2790
- cmp r3, r6
2791
- bne .L287
2792
- cbz r2, .L287
2986
+ ldrheq r2, [r4, #2]
2987
+ addeq r2, r2, #1
2988
+ strheq r2, [r4, #2] @ movhi
2989
+ moveq r2, #0
2990
+ add r1, r2, #8
2991
+ ldrh r1, [r4, r1, lsl #1]
2992
+ cmp r1, r7
2993
+ beq .L311
2994
+ strb r2, [r4, #6]
2995
+ ldrh r2, [r4, #2]
2996
+ cmp r2, r6
2997
+ bne .L302
2998
+ cbz r3, .L302
2999
+ ldr r1, .L317
27933000 movw r2, #2817
2794
- ldr r1, .L302
2795
- ldr r0, .L302+4
3001
+ ldr r0, .L317+4
27963002 bl sftl_printk
2797
-.L287:
3003
+.L302:
27983004 mov r0, r5
27993005 pop {r3, r4, r5, r6, r7, pc}
2800
-.L293:
3006
+.L308:
28013007 ldrb r3, [r4, #6] @ zero_extendqisi2
28023008 adds r3, r3, #1
28033009 uxtb r3, r3
2804
- cmp r3, r1
28053010 strb r3, [r4, #6]
2806
- itttt eq
2807
- ldrheq r3, [r4, #2]
2808
- strbeq r2, [r4, #6]
2809
- addeq r3, r3, #1
2810
- strheq r3, [r4, #2] @ movhi
3011
+ cmp r3, r0
3012
+ ittt eq
3013
+ strbeq r1, [r4, #6]
3014
+ addeq r2, r2, #1
3015
+ strheq r2, [r4, #2] @ movhi
28113016 ldrb r3, [r4, #6] @ zero_extendqisi2
28123017 adds r3, r3, #8
2813
- ldrh r0, [r4, r3, lsl #1]
2814
- b .L291
2815
-.L297:
3018
+ ldrh r5, [r4, r3, lsl #1]
3019
+ b .L306
3020
+.L312:
28163021 movw r5, #65535
2817
- b .L287
2818
-.L303:
3022
+ b .L302
3023
+.L318:
28193024 .align 2
2820
-.L302:
3025
+.L317:
28213026 .word .LANCHOR1+111
28223027 .word .LC8
28233028 .word .LANCHOR0
....@@ -2834,90 +3039,88 @@
28343039 .fnstart
28353040 @ args = 0, pretend = 0, frame = 0
28363041 @ frame_needed = 0, uses_anonymous_args = 0
2837
- ldr r3, .L313
3042
+ ldr r3, .L328
3043
+ movs r1, #0
3044
+ push {r4, r5, r6, r7, r8, lr}
3045
+ .save {r4, r5, r6, r7, r8, lr}
28383046 mov ip, #20
2839
- push {r4, r5, r6, r7, r8, r9, lr}
2840
- .save {r4, r5, r6, r7, r8, r9, lr}
2841
- mov r9, #12
2842
- movs r6, #1
2843
- movs r2, #0
2844
- mov r7, r3
2845
- str r2, [r3, #3168]
2846
-.L305:
2847
- ldrh r1, [r3, #232]
2848
- uxth r0, r2
2849
- adds r4, r2, #1
2850
- cmp r0, r1
2851
- bcc .L308
2852
- ldr r7, .L313
2853
- mov ip, #12
3047
+ movs r6, #12
3048
+ movs r7, #1
3049
+ str r1, [r3, #3168]
3050
+.L320:
3051
+ ldrh r2, [r3, #232]
3052
+ uxth r0, r1
3053
+ cmp r2, r0
3054
+ bhi .L323
3055
+ ldr r7, .L328
3056
+ movs r5, #12
28543057 movs r6, #0
2855
-.L309:
2856
- ldr r2, [r3, #3188]
2857
- cmp r1, r2
2858
- bcc .L312
2859
- pop {r4, r5, r6, r7, r8, r9, pc}
2860
-.L308:
2861
- uxth r2, r2
2862
- ldr r8, [r3, #3172]
2863
- mul lr, r9, r2
2864
- add r1, r8, lr
3058
+.L324:
3059
+ ldr r1, [r3, #3188]
3060
+ cmp r2, r1
3061
+ bcc .L327
3062
+ pop {r4, r5, r6, r7, r8, pc}
3063
+.L323:
3064
+ uxth r0, r1
3065
+ ldr r5, [r3, #3172]
3066
+ ldr lr, [r3, #3176]
3067
+ adds r1, r1, #1
3068
+ mul r4, r6, r0
3069
+ adds r2, r5, r4
3070
+ str r7, [r2, #8]
3071
+ ldrh r2, [r3, #310]
3072
+ muls r2, r0, r2
3073
+ it mi
3074
+ addmi r2, r2, #3
3075
+ bic r2, r2, #3
3076
+ add r2, r2, lr
3077
+ str r2, [r5, r4]
3078
+ ldrh r2, [r3, #312]
3079
+ ldr r5, [r3, #3172]
3080
+ ldr r8, [r3, #3180]
3081
+ add lr, r5, r4
3082
+ muls r2, r0, r2
3083
+ it mi
3084
+ addmi r2, r2, #3
3085
+ bic r2, r2, #3
3086
+ add r2, r2, r8
3087
+ str r2, [lr, #4]
3088
+ ldr r2, [r3, #3184]
3089
+ mla r2, ip, r0, r2
3090
+ ldr r0, [r5, r4]
3091
+ str r0, [r2, #8]
3092
+ ldr r0, [lr, #4]
3093
+ str r0, [r2, #12]
3094
+ b .L320
3095
+.L327:
3096
+ mul r0, r5, r2
3097
+ ldr r4, [r3, #3172]
3098
+ ldr ip, [r3, #3176]
3099
+ adds r1, r4, r0
28653100 str r6, [r1, #8]
28663101 ldrh r1, [r3, #310]
28673102 muls r1, r2, r1
28683103 it mi
28693104 addmi r1, r1, #3
2870
- bic r0, r1, #3
2871
- ldr r1, [r3, #3176]
2872
- add r1, r1, r0
2873
- str r1, [r8, lr]
2874
- ldr r5, [r7, #3180]
2875
- ldr r0, [r3, #3172]
3105
+ bic r1, r1, #3
3106
+ add r1, r1, ip
3107
+ str r1, [r4, r0]
3108
+ ldr r4, [r7, #3180]
3109
+ ldr r1, [r3, #3172]
3110
+ add r0, r0, r1
28763111 ldrh r1, [r3, #312]
28773112 muls r1, r2, r1
3113
+ add r2, r2, #1
28783114 it mi
28793115 addmi r1, r1, #3
3116
+ uxth r2, r2
28803117 bic r1, r1, #3
2881
- add r8, r0, lr
2882
- add r1, r1, r5
2883
- str r1, [r8, #4]
2884
- ldr r1, [r3, #3184]
2885
- mla r2, ip, r2, r1
2886
- ldr r1, [r0, lr]
2887
- str r1, [r2, #8]
2888
- ldr r1, [r8, #4]
2889
- str r1, [r2, #12]
2890
- mov r2, r4
2891
- b .L305
2892
-.L312:
2893
- mul r0, ip, r1
2894
- ldr r4, [r3, #3172]
2895
- ldr r5, [r3, #3176]
2896
- adds r2, r4, r0
2897
- str r6, [r2, #8]
2898
- ldrh r2, [r3, #310]
2899
- muls r2, r1, r2
2900
- it mi
2901
- addmi r2, r2, #3
2902
- bic r2, r2, #3
2903
- add r2, r2, r5
2904
- str r2, [r4, r0]
2905
- ldr r2, [r3, #3172]
2906
- ldr r4, [r7, #3180]
2907
- add r0, r0, r2
2908
- ldrh r2, [r3, #312]
2909
- muls r2, r1, r2
2910
- it mi
2911
- addmi r2, r2, #3
2912
- bic r2, r2, #3
2913
- adds r1, r1, #1
2914
- add r2, r2, r4
2915
- uxth r1, r1
2916
- str r2, [r0, #4]
2917
- b .L309
2918
-.L314:
3118
+ add r1, r1, r4
3119
+ str r1, [r0, #4]
3120
+ b .L324
3121
+.L329:
29193122 .align 2
2920
-.L313:
3123
+.L328:
29213124 .word .LANCHOR0
29223125 .fnend
29233126 .size FtlGcBufInit, .-FtlGcBufInit
....@@ -2932,41 +3135,41 @@
29323135 .fnstart
29333136 @ args = 0, pretend = 0, frame = 0
29343137 @ frame_needed = 0, uses_anonymous_args = 0
2935
- ldr r3, .L322
3138
+ ldr r3, .L337
29363139 push {r4, r5, r6, r7, r8, r9, r10, lr}
29373140 .save {r4, r5, r6, r7, r8, r9, r10, lr}
29383141 movs r5, #0
2939
- mov r10, #20
2940
- mov lr, #12
29413142 mov r8, r5
3143
+ movs r7, #20
3144
+ mov lr, #12
29423145 ldr ip, [r3, #3188]
29433146 ldr r6, [r3, #3172]
2944
-.L316:
3147
+.L331:
29453148 uxth r3, r5
29463149 cmp r1, r3
2947
- bls .L315
2948
- mla r4, r10, r3, r0
3150
+ bls .L330
3151
+ mla r4, r7, r3, r0
29493152 movs r2, #0
2950
-.L317:
3153
+.L332:
29513154 uxth r3, r2
29523155 cmp ip, r3
2953
- bls .L318
3156
+ bls .L333
29543157 mul r3, lr, r3
2955
- ldr r7, [r4, #8]
3158
+ ldr r10, [r4, #8]
29563159 adds r2, r2, #1
29573160 add r9, r6, r3
29583161 ldr r3, [r6, r3]
2959
- cmp r3, r7
2960
- bne .L317
3162
+ cmp r3, r10
3163
+ bne .L332
29613164 str r8, [r9, #8]
2962
-.L318:
3165
+.L333:
29633166 adds r5, r5, #1
2964
- b .L316
2965
-.L315:
3167
+ b .L331
3168
+.L330:
29663169 pop {r4, r5, r6, r7, r8, r9, r10, pc}
2967
-.L323:
3170
+.L338:
29683171 .align 2
2969
-.L322:
3172
+.L337:
29703173 .word .LANCHOR0
29713174 .fnend
29723175 .size FtlGcBufFree, .-FtlGcBufFree
....@@ -2981,43 +3184,43 @@
29813184 .fnstart
29823185 @ args = 0, pretend = 0, frame = 0
29833186 @ frame_needed = 0, uses_anonymous_args = 0
2984
- ldr r3, .L331
3187
+ ldr r3, .L346
29853188 mov ip, #12
29863189 push {r4, r5, r6, r7, r8, r9, lr}
29873190 .save {r4, r5, r6, r7, r8, r9, lr}
29883191 movs r4, #0
29893192 mov lr, #1
29903193 mov r8, #20
2991
- ldr r5, [r3, #3188]
2992
- ldr r6, [r3, #3172]
2993
-.L325:
3194
+ ldr r6, [r3, #3188]
3195
+ ldr r5, [r3, #3172]
3196
+.L340:
29943197 uxth r2, r4
29953198 cmp r1, r2
2996
- bhi .L329
3199
+ bhi .L344
29973200 pop {r4, r5, r6, r7, r8, r9, pc}
2998
-.L329:
3201
+.L344:
29993202 mov r9, #0
3000
-.L326:
3203
+.L341:
30013204 uxth r3, r9
3002
- cmp r5, r3
3003
- bls .L327
3004
- mla r3, ip, r3, r6
3205
+ cmp r6, r3
3206
+ bls .L342
3207
+ mla r3, ip, r3, r5
30053208 add r9, r9, #1
30063209 ldr r7, [r3, #8]
30073210 cmp r7, #0
3008
- bne .L326
3211
+ bne .L341
30093212 mla r2, r8, r2, r0
30103213 ldr r7, [r3]
30113214 str lr, [r3, #8]
30123215 str r7, [r2, #8]
30133216 ldr r3, [r3, #4]
30143217 str r3, [r2, #12]
3015
-.L327:
3218
+.L342:
30163219 adds r4, r4, #1
3017
- b .L325
3018
-.L332:
3220
+ b .L340
3221
+.L347:
30193222 .align 2
3020
-.L331:
3223
+.L346:
30213224 .word .LANCHOR0
30223225 .fnend
30233226 .size FtlGcBufAlloc, .-FtlGcBufAlloc
....@@ -3033,24 +3236,24 @@
30333236 @ args = 0, pretend = 0, frame = 0
30343237 @ frame_needed = 0, uses_anonymous_args = 0
30353238 @ link register save eliminated.
3036
- ldr r2, .L338
3239
+ ldr r2, .L353
30373240 ldr r3, [r2, #3192]
30383241 ldrh r2, [r2, #3196]
30393242 add r2, r3, r2, lsl #1
3040
-.L334:
3243
+.L349:
30413244 cmp r3, r2
3042
- bne .L336
3245
+ bne .L351
30433246 movs r0, #0
30443247 bx lr
3045
-.L336:
3248
+.L351:
30463249 ldrh r1, [r3], #2
30473250 cmp r1, r0
3048
- bne .L334
3251
+ bne .L349
30493252 movs r0, #1
30503253 bx lr
3051
-.L339:
3254
+.L354:
30523255 .align 2
3053
-.L338:
3256
+.L353:
30543257 .word .LANCHOR0
30553258 .fnend
30563259 .size IsBlkInGcList, .-IsBlkInGcList
....@@ -3069,48 +3272,51 @@
30693272 .save {r3, r4, r5, r6, r7, lr}
30703273 mov r5, r0
30713274 ubfx r0, r0, #10, #16
3072
- mov r6, r1
3073
- mov r7, r2
3074
- movs r4, #0
3275
+ mov r6, r2
3276
+ mov r7, r1
30753277 bl P2V_block_in_plane
3076
- ldr r3, .L344
3077
- ldrh r1, [r3, #3196]
3278
+ ldr r3, .L359
3279
+ movs r4, #0
30783280 ldr r2, [r3, #3192]
3079
-.L341:
3080
- uxth ip, r4
3281
+ ldrh ip, [r3, #3196]
3282
+ sub lr, r2, #2
3283
+.L356:
3284
+ uxth r1, r4
30813285 cmp ip, r1
3082
- bcc .L343
3083
- bne .L342
3084
- strh r0, [r2, ip, lsl #1] @ movhi
3085
- ldrh r0, [r3, #3196]
3086
- adds r0, r0, #1
3087
- strh r0, [r3, #3196] @ movhi
3088
- b .L342
3089
-.L343:
3286
+ bhi .L358
3287
+ itttt eq
3288
+ strheq r0, [r2, r4, lsl #1] @ movhi
3289
+ ldrheq r2, [r3, #3196]
3290
+ addeq r2, r2, #1
3291
+ strheq r2, [r3, #3196] @ movhi
3292
+ b .L357
3293
+.L358:
30903294 adds r4, r4, #1
3091
- add ip, r2, r4, lsl #1
3092
- ldrh ip, [ip, #-2]
3093
- cmp ip, r0
3094
- bne .L341
3095
-.L342:
3096
- ldrh r2, [r3, #3204]
3097
- movs r0, #12
3098
- muls r0, r2, r0
3295
+ ldrh r1, [lr, r4, lsl #1]
3296
+ cmp r1, r0
3297
+ bne .L356
3298
+.L357:
3299
+ ldrh r4, [r3, #3204]
3300
+ movs r2, #12
3301
+ muls r4, r2, r4
30993302 ldr r2, [r3, #3200]
3100
- adds r1, r2, r0
3101
- str r6, [r1, #4]
3102
- str r7, [r1, #8]
3103
- str r5, [r2, r0]
3303
+ adds r1, r2, r4
3304
+ strd r7, r6, [r1, #4]
3305
+ str r5, [r2, r4]
31043306 ldrh r2, [r3, #3204]
31053307 adds r2, r2, #1
31063308 strh r2, [r3, #3204] @ movhi
31073309 pop {r3, r4, r5, r6, r7, pc}
3108
-.L345:
3310
+.L360:
31093311 .align 2
3110
-.L344:
3312
+.L359:
31113313 .word .LANCHOR0
31123314 .fnend
31133315 .size FtlGcUpdatePage, .-FtlGcUpdatePage
3316
+ .section .rodata.str1.1
3317
+.LC79:
3318
+ .ascii "FtlGcRefreshBlock 0x%x\012\000"
3319
+ .text
31143320 .align 1
31153321 .global FtlGcRefreshBlock
31163322 .syntax unified
....@@ -3122,38 +3328,42 @@
31223328 .fnstart
31233329 @ args = 0, pretend = 0, frame = 0
31243330 @ frame_needed = 0, uses_anonymous_args = 0
3331
+ mov r1, r0
31253332 push {r4, lr}
31263333 .save {r4, lr}
3127
- mov r1, r0
31283334 mov r4, r0
3129
- ldr r0, .L349
3335
+ ldr r0, .L364
31303336 bl sftl_printk
3131
- ldr r3, .L349+4
3337
+ ldr r3, .L364+4
31323338 ldrh r0, [r3, #222]
3133
- cmp r4, r0
3134
- beq .L347
3339
+ cmp r0, r4
3340
+ beq .L362
31353341 ldrh r1, [r3, #220]
3136
- cmp r4, r1
3137
- beq .L347
3342
+ cmp r1, r4
3343
+ beq .L362
31383344 movw r2, #65535
31393345 cmp r0, r2
3140
- bne .L348
3346
+ bne .L363
31413347 strh r4, [r3, #222] @ movhi
3142
-.L347:
3348
+.L362:
31433349 movs r0, #0
31443350 pop {r4, pc}
3145
-.L348:
3351
+.L363:
31463352 cmp r1, r2
31473353 it eq
31483354 strheq r4, [r3, #220] @ movhi
3149
- b .L347
3150
-.L350:
3355
+ b .L362
3356
+.L365:
31513357 .align 2
3152
-.L349:
3358
+.L364:
31533359 .word .LC79
31543360 .word .LANCHOR0
31553361 .fnend
31563362 .size FtlGcRefreshBlock, .-FtlGcRefreshBlock
3363
+ .section .rodata.str1.1
3364
+.LC80:
3365
+ .ascii "FtlGcMarkBadPhyBlk %d 0x%x\012\000"
3366
+ .text
31573367 .align 1
31583368 .global FtlGcMarkBadPhyBlk
31593369 .syntax unified
....@@ -3168,41 +3378,40 @@
31683378 push {r4, r5, r6, lr}
31693379 .save {r4, r5, r6, lr}
31703380 mov r5, r0
3171
- ldr r4, .L355
3381
+ ldr r4, .L370
31723382 bl P2V_block_in_plane
31733383 mov r2, r5
31743384 mov r6, r0
3385
+ ldr r0, .L370+4
31753386 ldrh r1, [r4, #3206]
3176
- ldr r0, .L355+4
31773387 bl sftl_printk
31783388 mov r0, r6
31793389 bl FtlGcRefreshBlock
31803390 ldrh r3, [r4, #3206]
3391
+ addw r1, r4, #3208
31813392 movs r2, #0
3182
- addw r0, r4, #3208
3183
-.L352:
3184
- uxth r1, r2
3185
- cmp r3, r1
3186
- bhi .L354
3393
+.L367:
3394
+ uxth r0, r2
3395
+ cmp r3, r0
3396
+ bhi .L369
31873397 cmp r3, #15
31883398 itttt ls
31893399 addls r2, r3, #1
31903400 strhls r2, [r4, #3206] @ movhi
31913401 addls r4, r4, r3, lsl #1
31923402 strhls r5, [r4, #3208] @ movhi
3193
- b .L353
3194
-.L354:
3403
+ b .L368
3404
+.L369:
3405
+ ldrh r0, [r1], #2
31953406 adds r2, r2, #1
3196
- add r1, r0, r2, lsl #1
3197
- ldrh r1, [r1, #-2]
3198
- cmp r1, r5
3199
- bne .L352
3200
-.L353:
3407
+ cmp r0, r5
3408
+ bne .L367
3409
+.L368:
32013410 movs r0, #0
32023411 pop {r4, r5, r6, pc}
3203
-.L356:
3412
+.L371:
32043413 .align 2
3205
-.L355:
3414
+.L370:
32063415 .word .LANCHOR0
32073416 .word .LC80
32083417 .fnend
....@@ -3220,13 +3429,13 @@
32203429 @ frame_needed = 0, uses_anonymous_args = 0
32213430 push {r4, lr}
32223431 .save {r4, lr}
3223
- ldr r4, .L363
3432
+ ldr r4, .L378
32243433 ldrh r3, [r4, #3206]
3225
- cbz r3, .L358
3434
+ cbz r3, .L373
32263435 ldrh r1, [r4, #222]
32273436 movw r2, #65535
32283437 cmp r1, r2
3229
- bne .L358
3438
+ bne .L373
32303439 ldrh r2, [r4, #3242]
32313440 cmp r2, r3
32323441 itt cs
....@@ -3240,12 +3449,12 @@
32403449 ldrh r3, [r4, #3242]
32413450 adds r3, r3, #1
32423451 strh r3, [r4, #3242] @ movhi
3243
-.L358:
3452
+.L373:
32443453 movs r0, #0
32453454 pop {r4, pc}
3246
-.L364:
3455
+.L379:
32473456 .align 2
3248
-.L363:
3457
+.L378:
32493458 .word .LANCHOR0
32503459 .fnend
32513460 .size FtlGcReFreshBadBlk, .-FtlGcReFreshBadBlk
....@@ -3261,12 +3470,8 @@
32613470 @ args = 0, pretend = 0, frame = 0
32623471 @ frame_needed = 0, uses_anonymous_args = 0
32633472 @ link register save eliminated.
3264
- ldr r1, .L366
3473
+ movw r1, #3265
32653474 b __kmalloc
3266
-.L367:
3267
- .align 2
3268
-.L366:
3269
- .word 6291649
32703475 .fnend
32713476 .size ftl_malloc, .-ftl_malloc
32723477 .align 1
....@@ -3284,6 +3489,18 @@
32843489 b kfree
32853490 .fnend
32863491 .size ftl_free, .-ftl_free
3492
+ .section .rodata.str1.1
3493
+.LC81:
3494
+ .ascii "%s %p + 0x%x:\000"
3495
+.LC82:
3496
+ .ascii "0x%08x,\000"
3497
+.LC83:
3498
+ .ascii "0x%04x,\000"
3499
+.LC84:
3500
+ .ascii "0x%02x,\000"
3501
+.LC85:
3502
+ .ascii "\012\000"
3503
+ .text
32873504 .align 1
32883505 .global rknand_print_hex
32893506 .syntax unified
....@@ -3293,66 +3510,79 @@
32933510 .type rknand_print_hex, %function
32943511 rknand_print_hex:
32953512 .fnstart
3296
- @ args = 0, pretend = 0, frame = 0
3513
+ @ args = 0, pretend = 0, frame = 8
32973514 @ frame_needed = 0, uses_anonymous_args = 0
3298
- push {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
3299
- .save {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
3300
- movs r6, #0
3301
- ldr fp, .L378+16
3302
- mov r10, r0
3303
- mov r7, r1
3515
+ push {r0, r1, r2, r4, r5, r6, r7, r8, r9, r10, fp, lr}
3516
+ .save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
3517
+ .pad #12
3518
+ movs r7, #0
3519
+ ldr r10, .L391
3520
+ ldr fp, .L391+4
3521
+ mov r9, r0
3522
+ mov r5, r1
33043523 mov r8, r2
3305
- mov r9, r3
3306
- mov r5, r6
3307
- mov r4, r6
3308
-.L370:
3309
- cmp r4, r9
3310
- bcc .L376
3311
- ldr r0, .L378
3312
- pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
3524
+ mov r6, r7
3525
+ mov r4, r7
3526
+ str r3, [sp, #4]
3527
+.L383:
3528
+ ldr r3, [sp, #4]
3529
+ cmp r3, r4
3530
+ bhi .L389
3531
+ ldr r0, .L391+8
3532
+ add sp, sp, #12
3533
+ @ sp needed
3534
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, lr}
33133535 b sftl_printk
3314
-.L376:
3315
- cbnz r5, .L371
3316
- mov r3, r6
3317
- mov r2, r7
3318
- mov r1, r10
3319
- ldr r0, .L378+4
3536
+.L389:
3537
+ cbnz r6, .L384
3538
+ ldr r0, .L391+12
3539
+ mov r3, r7
3540
+ mov r2, r5
3541
+ mov r1, r9
33203542 bl sftl_printk
3321
-.L371:
3543
+.L384:
33223544 cmp r8, #4
3323
- bne .L372
3324
- ldr r1, [r7, r4, lsl #2]
3325
- ldr r0, .L378+8
3326
-.L377:
3327
- adds r5, r5, #1
3545
+ bne .L385
3546
+ ldr r1, [r5, r4, lsl #2]
3547
+ ldr r0, .L391+16
3548
+.L390:
3549
+ adds r6, r6, #1
33283550 bl sftl_printk
3329
- cmp r5, #15
3330
- bls .L375
3331
- movs r5, #0
3332
- ldr r0, .L378
3551
+ cmp r6, #15
3552
+ bls .L388
3553
+ movs r6, #0
3554
+ ldr r0, .L391+8
33333555 bl sftl_printk
3334
-.L375:
3556
+.L388:
33353557 adds r4, r4, #1
3336
- add r6, r6, r8
3337
- b .L370
3338
-.L372:
3558
+ add r7, r7, r8
3559
+ b .L383
3560
+.L385:
33393561 cmp r8, #2
3340
- ittee eq
3341
- ldrheq r1, [r7, r4, lsl #1]
3562
+ itete eq
33423563 moveq r0, fp
3343
- ldrbne r1, [r7, r4] @ zero_extendqisi2
3344
- ldrne r0, .L378+12
3345
- b .L377
3346
-.L379:
3564
+ movne r0, r10
3565
+ ldrheq r1, [r5, r4, lsl #1]
3566
+ ldrbne r1, [r5, r4] @ zero_extendqisi2
3567
+ b .L390
3568
+.L392:
33473569 .align 2
3348
-.L378:
3570
+.L391:
3571
+ .word .LC84
3572
+ .word .LC83
33493573 .word .LC85
33503574 .word .LC81
33513575 .word .LC82
3352
- .word .LC84
3353
- .word .LC83
33543576 .fnend
33553577 .size rknand_print_hex, .-rknand_print_hex
3578
+ .section .rodata.str1.1
3579
+.LC86:
3580
+ .ascii "%s: addr: %x is in id block!!!!!!!!!!\012\000"
3581
+.LC87:
3582
+ .ascii "not free: w: d:\000"
3583
+.LC88:
3584
+ .ascii "not free: w: s:\000"
3585
+ .text
33563586 .align 1
33573587 .global FlashEraseBlocks
33583588 .syntax unified
....@@ -3366,106 +3596,105 @@
33663596 @ frame_needed = 0, uses_anonymous_args = 0
33673597 push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
33683598 .save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
3369
- mov r8, r2
3370
- ldr r5, .L397
3599
+ mov r6, r0
3600
+ ldr fp, .L409
33713601 .pad #28
33723602 sub sp, sp, #28
3373
- mov r4, r0
3374
- mov fp, r0
3375
- ldr r2, .L397+4
3376
- movs r7, #0
3377
- ldrh r9, [r5, #12]
3378
- mov r10, #-1
3379
- ldr r3, [r2]
3380
- str r2, [sp, #4]
3603
+ mov r7, r2
3604
+ mov r3, sp
3605
+ movs r4, #0
3606
+ bic r9, r3, #8160
3607
+ bic r9, r9, #31
3608
+ ldrh r10, [fp, #12]
3609
+ ldr r3, [r9, #24]
33813610 str r3, [sp, #20]
3382
- lsl r3, r9, #3
3611
+ lsl r3, r10, #3
33833612 str r3, [sp]
3384
-.L381:
3385
- cmp r7, r8
3386
- beq .L385
3613
+ add r3, r2, r2, lsl #2
3614
+ str r3, [sp, #4]
3615
+.L394:
3616
+ ldr r3, [sp, #4]
3617
+ cmp r4, r3
3618
+ beq .L397
33873619 add r2, sp, #12
33883620 add r1, sp, #16
3389
- mov r0, fp
3621
+ add r0, r6, r4, lsl #2
3622
+ mov r5, r6
33903623 bl l2p_addr_tran
3391
- ldr r6, [sp, #12]
3392
- cbnz r6, .L382
3624
+ ldr r8, [sp, #12]
3625
+ cmp r8, #0
3626
+ bne .L395
33933627 ldr r2, [sp, #16]
33943628 ldr r3, [sp]
33953629 cmp r3, r2
3396
- bls .L382
3397
- ldr r5, .L397+8
3398
- ldr r7, .L397+12
3399
- ldr r9, .L397+20
3400
- b .L396
3401
-.L384:
3630
+ bls .L395
3631
+ ldr r6, .L409+4
3632
+ ldr r4, .L409+8
3633
+.L396:
34023634 mov r3, #-1
34033635 ldr r2, [sp, #16]
3404
- str r3, [r4, #-20]
3405
- mov r1, r5
3406
- mov r0, r7
3407
- adds r6, r6, #1
3636
+ str r3, [r5]
3637
+ mov r1, r6
3638
+ mov r0, r4
3639
+ add r8, r8, #1
34083640 bl sftl_printk
3641
+ ldr r1, [r5, #8]
3642
+ ldr r0, .L409+12
34093643 movs r3, #16
34103644 movs r2, #4
3411
- ldr r1, [r4, #-12]
3412
- mov r0, r9
3645
+ adds r5, r5, #20
34133646 bl rknand_print_hex
34143647 movs r3, #4
3415
- ldr r1, [r4, #-8]
3648
+ ldr r1, [r5, #-8]
34163649 mov r2, r3
3417
- ldr r0, .L397+16
3650
+ ldr r0, .L409+16
34183651 bl rknand_print_hex
3419
-.L396:
3420
- cmp r6, r8
3421
- add r4, r4, #20
3422
- bne .L384
3652
+ cmp r7, r8
3653
+ bne .L396
34233654 bl dump_stack
3424
-.L385:
3425
- ldr r3, [sp, #4]
3426
- movs r0, #0
3655
+.L397:
34273656 ldr r2, [sp, #20]
3428
- ldr r3, [r3]
3657
+ ldr r3, [r9, #24]
34293658 cmp r2, r3
3430
- beq .L392
3659
+ beq .L404
34313660 bl __stack_chk_fail
3432
-.L382:
3433
- ldr r2, [r5, #3248]
3434
- uxtb r0, r6
3661
+.L395:
3662
+ ldr r2, [fp, #3248]
3663
+ uxtb r0, r8
34353664 ldr r1, [sp, #16]
34363665 blx r2
34373666 cmp r0, #0
34383667 mov r2, r0
34393668 it ne
3440
- movne r2, r10
3441
- str r2, [fp]
3442
- ldrh r2, [r5, #14]
3669
+ movne r2, #-1
3670
+ str r2, [r6, r4, lsl #2]
3671
+ ldrh r2, [fp, #14]
34433672 cmp r2, #4
3444
- bne .L389
3673
+ bne .L401
34453674 ldr r1, [sp, #16]
3446
- ldr r2, [r5, #3248]
3675
+ ldr r2, [fp, #3248]
34473676 ldrb r0, [sp, #12] @ zero_extendqisi2
3448
- add r1, r1, r9
3677
+ add r1, r1, r10
34493678 blx r2
3450
- cbz r0, .L389
3451
- str r10, [fp]
3452
-.L389:
3453
- adds r7, r7, #1
3454
- add fp, fp, #20
3455
- b .L381
3456
-.L392:
3679
+ cbz r0, .L401
3680
+ mov r3, #-1
3681
+ str r3, [r6, r4, lsl #2]
3682
+.L401:
3683
+ adds r4, r4, #5
3684
+ b .L394
3685
+.L404:
3686
+ movs r0, #0
34573687 add sp, sp, #28
34583688 @ sp needed
34593689 pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
3460
-.L398:
3690
+.L410:
34613691 .align 2
3462
-.L397:
3692
+.L409:
34633693 .word .LANCHOR0
3464
- .word __stack_chk_guard
34653694 .word .LANCHOR1+130
34663695 .word .LC86
3467
- .word .LC88
34683696 .word .LC87
3697
+ .word .LC88
34693698 .fnend
34703699 .size FlashEraseBlocks, .-FlashEraseBlocks
34713700 .align 1
....@@ -3480,18 +3709,18 @@
34803709 @ args = 0, pretend = 0, frame = 0
34813710 @ frame_needed = 0, uses_anonymous_args = 0
34823711 subs r3, r0, #1
3483
- movw r2, #65533
3484
- uxth r3, r3
34853712 push {r4, r5, r6, lr}
34863713 .save {r4, r5, r6, lr}
3714
+ movw r2, #65533
3715
+ uxth r3, r3
34873716 mov r5, r0
34883717 cmp r3, r2
3489
- bhi .L399
3490
- ldr r4, .L408
3718
+ bhi .L411
3719
+ ldr r4, .L420
34913720 ldrh r3, [r4, #418]
34923721 cmp r3, #1024
3493
- beq .L399
3494
- cbz r1, .L401
3722
+ beq .L411
3723
+ cbz r1, .L413
34953724 bl P2V_block_in_plane
34963725 mov r6, r0
34973726 ldr r0, [r4, #3268]
....@@ -3507,7 +3736,7 @@
35073736 ldr r3, [r4, #2608]
35083737 adds r3, r3, #1
35093738 str r3, [r4, #2608]
3510
-.L401:
3739
+.L413:
35113740 ldrh r3, [r4, #418]
35123741 adds r3, r3, #1
35133742 strh r3, [r4, #418] @ movhi
....@@ -3515,16 +3744,21 @@
35153744 add r2, r4, r3, lsl #1
35163745 adds r3, r3, #1
35173746 ubfx r3, r3, #0, #10
3518
- strh r5, [r2, #420] @ movhi
35193747 strh r3, [r4, #416] @ movhi
3520
-.L399:
3748
+ strh r5, [r2, #420] @ movhi
3749
+.L411:
35213750 pop {r4, r5, r6, pc}
3522
-.L409:
3751
+.L421:
35233752 .align 2
3524
-.L408:
3753
+.L420:
35253754 .word .LANCHOR0
35263755 .fnend
35273756 .size FtlFreeSysBlkQueueIn, .-FtlFreeSysBlkQueueIn
3757
+ .section .rodata.str1.1
3758
+.LC89:
3759
+ .ascii "FtlFreeSysBlkQueueOut = %x, free count = %d, error\012"
3760
+ .ascii "\000"
3761
+ .text
35283762 .align 1
35293763 .global FtlFreeSysBlkQueueOut
35303764 .syntax unified
....@@ -3538,9 +3772,9 @@
35383772 @ frame_needed = 0, uses_anonymous_args = 0
35393773 push {r3, r4, r5, lr}
35403774 .save {r3, r4, r5, lr}
3541
- ldr r4, .L415
3775
+ ldr r4, .L427
35423776 ldrh r2, [r4, #418]
3543
- cbz r2, .L414
3777
+ cbz r2, .L426
35443778 ldrh r3, [r4, #414]
35453779 subs r2, r2, #1
35463780 ldr r0, [r4, #3268]
....@@ -3549,40 +3783,44 @@
35493783 add r1, r4, r3, lsl #1
35503784 adds r3, r3, #1
35513785 ubfx r3, r3, #0, #10
3786
+ strh r3, [r4, #414] @ movhi
35523787 ldrh r5, [r1, #420]
35533788 mov r1, r2
3554
- strh r3, [r4, #414] @ movhi
35553789 lsls r3, r5, #10
35563790 str r3, [r0, #4]
35573791 bl FlashEraseBlocks
35583792 ldr r3, [r4, #2608]
3793
+ movw r2, #65533
35593794 adds r3, r3, #1
35603795 str r3, [r4, #2608]
3561
-.L411:
35623796 subs r3, r5, #1
3563
- movw r2, #65533
35643797 uxth r3, r3
35653798 cmp r3, r2
3566
- bls .L412
3799
+ bls .L424
3800
+.L423:
35673801 ldrh r2, [r4, #418]
35683802 mov r1, r5
3569
- ldr r0, .L415+4
3803
+ ldr r0, .L427+4
35703804 bl sftl_printk
3571
-.L413:
3572
- b .L413
3573
-.L414:
3805
+.L425:
3806
+ b .L425
3807
+.L426:
35743808 movw r5, #65535
3575
- b .L411
3576
-.L412:
3809
+ b .L423
3810
+.L424:
35773811 mov r0, r5
35783812 pop {r3, r4, r5, pc}
3579
-.L416:
3813
+.L428:
35803814 .align 2
3581
-.L415:
3815
+.L427:
35823816 .word .LANCHOR0
35833817 .word .LC89
35843818 .fnend
35853819 .size FtlFreeSysBlkQueueOut, .-FtlFreeSysBlkQueueOut
3820
+ .section .rodata.str1.1
3821
+.LC90:
3822
+ .ascii "FtlFreeSysBlkQueueOut = %x, free count = %d\012\000"
3823
+ .text
35863824 .align 1
35873825 .global ftl_map_blk_alloc_new_blk
35883826 .syntax unified
....@@ -3597,56 +3835,56 @@
35973835 push {r3, r4, r5, r6, r7, lr}
35983836 .save {r3, r4, r5, r6, r7, lr}
35993837 mov r4, r0
3600
- ldrh r1, [r0, #10]
36013838 movs r3, #0
3839
+ ldrh r1, [r0, #10]
36023840 ldr r2, [r0, #12]
3603
-.L418:
3841
+.L430:
36043842 uxth r5, r3
3605
- cmp r5, r1
3606
- bcs .L421
3843
+ cmp r1, r5
3844
+ bls .L435
36073845 mov r7, r2
36083846 adds r3, r3, #1
3609
- ldrh r6, [r7]
36103847 adds r2, r2, #2
3848
+ ldrh r6, [r7]
36113849 cmp r6, #0
3612
- bne .L418
3850
+ bne .L430
36133851 bl FtlFreeSysBlkQueueOut
36143852 subs r3, r0, #1
36153853 movw r2, #65533
3616
- uxth r3, r3
36173854 mov r1, r0
3855
+ uxth r3, r3
36183856 strh r0, [r7] @ movhi
36193857 cmp r3, r2
3620
- bls .L419
3621
- ldr r3, .L425
3622
- ldr r0, .L425+4
3858
+ bls .L431
3859
+ ldr r3, .L437
3860
+ ldr r0, .L437+4
36233861 ldrh r2, [r3, #418]
36243862 bl sftl_printk
3625
-.L420:
3626
- b .L420
3627
-.L419:
3863
+.L432:
3864
+ b .L432
3865
+.L431:
36283866 ldr r3, [r4, #28]
36293867 strh r6, [r4, #2] @ movhi
3630
- strh r5, [r4] @ movhi
36313868 adds r3, r3, #1
36323869 str r3, [r4, #28]
36333870 ldrh r3, [r4, #8]
3871
+ strh r5, [r4] @ movhi
36343872 adds r3, r3, #1
36353873 strh r3, [r4, #8] @ movhi
3636
-.L421:
36373874 ldrh r3, [r4, #10]
36383875 cmp r3, r5
3639
- bhi .L423
3876
+ bhi .L433
3877
+.L435:
3878
+ ldr r1, .L437+8
36403879 movw r2, #578
3641
- ldr r1, .L425+8
3642
- ldr r0, .L425+12
3880
+ ldr r0, .L437+12
36433881 bl sftl_printk
3644
-.L423:
3882
+.L433:
36453883 movs r0, #0
36463884 pop {r3, r4, r5, r6, r7, pc}
3647
-.L426:
3885
+.L438:
36483886 .align 2
3649
-.L425:
3887
+.L437:
36503888 .word .LANCHOR0
36513889 .word .LC90
36523890 .word .LANCHOR1+147
....@@ -3668,6 +3906,10 @@
36683906 b memset
36693907 .fnend
36703908 .size ftl_memset, .-ftl_memset
3909
+ .section .rodata.str1.1
3910
+.LC91:
3911
+ .ascii "%s error allocating memory. return -1\012\000"
3912
+ .text
36713913 .align 1
36723914 .global FtlMemInit
36733915 .syntax unified
....@@ -3682,21 +3924,14 @@
36823924 push {r4, r5, r6, r7, r8, lr}
36833925 .save {r4, r5, r6, r7, r8, lr}
36843926 movw r3, #65535
3685
- ldr r4, .L529
3927
+ ldr r4, .L539
36863928 movs r5, #0
36873929 movs r7, #12
3688
- movs r6, #20
3930
+ mov r8, #80
36893931 ldrh r0, [r4, #306]
3690
- str r3, [r4, #3276]
3691
- strh r3, [r4, #222] @ movhi
3692
- strh r3, [r4, #220] @ movhi
3693
- movs r3, #32
3694
- strh r3, [r4, #3152] @ movhi
3695
- lsls r0, r0, #1
3696
- movs r3, #128
36973932 str r5, [r4, #2588]
3698
- strh r3, [r4, #3154] @ movhi
36993933 str r5, [r4, #2592]
3934
+ lsls r0, r0, #1
37003935 str r5, [r4, #2576]
37013936 str r5, [r4, #2564]
37023937 str r5, [r4, #2560]
....@@ -3710,24 +3945,32 @@
37103945 str r5, [r4, #2616]
37113946 str r5, [r4, #3272]
37123947 str r5, [r4, #3164]
3948
+ str r3, [r4, #3276]
37133949 str r5, [r4, #3280]
37143950 str r5, [r4, #3156]
37153951 str r5, [r4, #3284]
3952
+ strh r3, [r4, #222] @ movhi
3953
+ strh r3, [r4, #220] @ movhi
3954
+ movs r3, #32
37163955 strh r5, [r4, #3160] @ movhi
3956
+ strh r3, [r4, #3152] @ movhi
3957
+ movs r3, #128
37173958 strh r5, [r4, #3206] @ movhi
3959
+ strh r3, [r4, #3154] @ movhi
37183960 strh r5, [r4, #3242] @ movhi
37193961 bl ftl_malloc
37203962 str r0, [r4, #3192]
37213963 ldrh r0, [r4, #306]
37223964 muls r0, r7, r0
37233965 bl ftl_malloc
3724
- ldrh r3, [r4, #232]
3966
+ ldrh r6, [r4, #232]
37253967 str r0, [r4, #3200]
3726
- muls r6, r3, r6
3727
- lsl r8, r6, #2
3968
+ mul r8, r8, r6
37283969 mov r0, r8
37293970 bl ftl_malloc
3971
+ movs r3, #20
37303972 str r0, [r4, #3288]
3973
+ muls r6, r3, r6
37313974 mov r0, r6
37323975 bl ftl_malloc
37333976 str r0, [r4, #3292]
....@@ -3777,8 +4020,8 @@
37774020 ldrh r0, [r4, #258]
37784021 lsls r0, r0, #2
37794022 bl ftl_malloc
3780
- ldrh r3, [r4, #312]
3781
- ldrh r6, [r4, #232]
4023
+ ldrh r3, [r4, #232]
4024
+ ldrh r6, [r4, #312]
37824025 str r0, [r4, #3328]
37834026 muls r6, r3, r6
37844027 mov r0, r6
....@@ -3797,12 +4040,11 @@
37974040 uxth r0, r0
37984041 strh r0, [r4, #3340] @ movhi
37994042 bl ftl_malloc
3800
- ldrh r3, [r4, #3340]
38014043 str r0, [r4, #3344]
3802
- ldr r0, .L529+4
3803
- addw r3, r3, #547
3804
- lsrs r3, r3, #9
3805
- and r0, r0, r3, lsl #9
4044
+ ldrh r0, [r4, #3340]
4045
+ addw r0, r0, #547
4046
+ lsrs r3, r0, #9
4047
+ and r0, r0, #130560
38064048 strh r3, [r4, #3340] @ movhi
38074049 bl ftl_malloc
38084050 ldrh r6, [r4, #242]
....@@ -3842,7 +4084,6 @@
38424084 ldrh r2, [r4, #322]
38434085 mov r1, r5
38444086 str r0, [r4, #3372]
3845
- add r5, r4, #380
38464087 lsls r2, r2, #2
38474088 bl ftl_memset
38484089 ldrh r0, [r4, #336]
....@@ -3876,148 +4117,146 @@
38764117 lsls r0, r0, #2
38774118 bl ftl_malloc
38784119 ldrh r2, [r4, #3388]
3879
- movs r3, #1
3880
- ldrh r6, [r4, #254]
4120
+ ldrh r3, [r4, #254]
4121
+ mov r5, r0
38814122 str r0, [r4, #380]
4123
+ movs r1, #1
4124
+ lsls r6, r2, #2
4125
+ add r2, r0, r2, lsl #2
4126
+ add r0, r4, #384
4127
+.L441:
4128
+ cmp r3, r1
4129
+ bhi .L442
4130
+ cmp r3, #0
4131
+ ldr r0, .L539+4
4132
+ mov r1, #0
4133
+ it eq
4134
+ moveq r3, #1
4135
+ rsb r2, r3, #8
4136
+ adds r3, r3, #7
38824137 lsls r2, r2, #2
3883
- mov r1, r2
3884
-.L429:
3885
- cmp r3, r6
3886
- bcc .L430
3887
- ldr r2, .L529+8
3888
- movs r1, #0
3889
- add r3, r2, r3, lsl #2
3890
- adds r2, r2, #56
3891
- adds r3, r3, #24
3892
-.L431:
3893
- cmp r2, r3
3894
- bne .L432
4138
+ add r0, r0, r3, lsl #2
4139
+ bl memset
38954140 ldr r3, [r4, #3356]
3896
- cbnz r3, .L433
3897
-.L435:
3898
- ldr r1, .L529+12
3899
- ldr r0, .L529+16
4141
+ cbnz r3, .L443
4142
+.L445:
4143
+ ldr r0, .L539+8
4144
+ ldr r1, .L539+12
39004145 bl sftl_printk
39014146 mov r0, #-1
4147
+.L440:
39024148 pop {r4, r5, r6, r7, r8, pc}
3903
-.L430:
3904
- ldr r0, [r4, #380]
3905
- adds r3, r3, #1
3906
- add r0, r0, r1
3907
- add r1, r1, r2
3908
- str r0, [r5, #4]!
3909
- b .L429
3910
-.L432:
3911
- str r1, [r3, #4]!
3912
- b .L431
3913
-.L530:
4149
+.L442:
4150
+ str r2, [r0], #4
4151
+ adds r1, r1, #1
4152
+ add r2, r2, r6
4153
+ b .L441
4154
+.L540:
39144155 .align 2
3915
-.L529:
4156
+.L539:
39164157 .word .LANCHOR0
3917
- .word 33553920
39184158 .word .LANCHOR0+352
3919
- .word .LANCHOR1+173
39204159 .word .LC91
3921
-.L433:
4160
+ .word .LANCHOR1+173
4161
+.L443:
39224162 ldr r3, [r4, #3360]
39234163 cmp r3, #0
3924
- beq .L435
4164
+ beq .L445
39254165 ldr r3, [r4, #3376]
39264166 cmp r3, #0
3927
- beq .L435
4167
+ beq .L445
39284168 ldr r3, [r4, #3380]
39294169 cmp r3, #0
3930
- beq .L435
4170
+ beq .L445
39314171 ldr r3, [r4, #2540]
39324172 cmp r3, #0
3933
- beq .L435
4173
+ beq .L445
39344174 ldr r3, [r4, #3384]
39354175 cmp r3, #0
3936
- beq .L435
4176
+ beq .L445
39374177 ldr r3, [r4, #2516]
39384178 cmp r3, #0
3939
- beq .L435
3940
- ldr r3, [r4, #380]
3941
- cmp r3, #0
3942
- beq .L435
4179
+ beq .L445
4180
+ cmp r5, #0
4181
+ beq .L445
39434182 ldr r3, [r4, #72]
39444183 cmp r3, #0
3945
- beq .L435
4184
+ beq .L445
39464185 ldr r3, [r4, #3192]
39474186 cmp r3, #0
3948
- beq .L435
4187
+ beq .L445
39494188 ldr r3, [r4, #3200]
39504189 cmp r3, #0
3951
- beq .L435
4190
+ beq .L445
39524191 ldr r3, [r4, #3288]
39534192 cmp r3, #0
3954
- beq .L435
4193
+ beq .L445
39554194 ldr r3, [r4, #3296]
39564195 cmp r3, #0
3957
- beq .L435
4196
+ beq .L445
39584197 ldr r3, [r4, #3268]
39594198 cmp r3, #0
3960
- beq .L435
4199
+ beq .L445
39614200 ldr r3, [r4, #3184]
39624201 cmp r3, #0
3963
- beq .L435
4202
+ beq .L445
39644203 ldr r3, [r4, #3292]
39654204 cmp r3, #0
3966
- beq .L435
4205
+ beq .L445
39674206 ldr r3, [r4, #3300]
39684207 cmp r3, #0
3969
- beq .L435
4208
+ beq .L445
39704209 ldr r3, [r4, #3304]
39714210 cmp r3, #0
3972
- beq .L435
4211
+ beq .L445
39734212 ldr r3, [r4, #3308]
39744213 cmp r3, #0
3975
- beq .L435
4214
+ beq .L445
39764215 ldr r3, [r4, #3176]
39774216 cmp r3, #0
3978
- beq .L435
4217
+ beq .L445
39794218 ldr r3, [r4, #3312]
39804219 cmp r3, #0
3981
- beq .L435
4220
+ beq .L445
39824221 ldr r3, [r4, #3316]
39834222 cmp r3, #0
3984
- beq .L435
4223
+ beq .L445
39854224 ldr r3, [r4, #3172]
39864225 cmp r3, #0
3987
- beq .L435
4226
+ beq .L445
39884227 ldr r3, [r4, #3332]
39894228 cmp r3, #0
3990
- beq .L435
4229
+ beq .L445
39914230 ldr r3, [r4, #3336]
39924231 cmp r3, #0
3993
- beq .L435
4232
+ beq .L445
39944233 ldr r3, [r4, #3180]
39954234 cmp r3, #0
3996
- beq .L435
4235
+ beq .L445
39974236 ldr r3, [r4, #2536]
39984237 cmp r3, #0
3999
- beq .L435
4238
+ beq .L445
40004239 ldr r3, [r4, #3344]
40014240 cmp r3, #0
4002
- beq .L435
4241
+ beq .L445
40034242 ldr r3, [r4, #348]
40044243 cmp r3, #0
4005
- beq .L435
4006
- ldr r3, .L531
4244
+ beq .L445
4245
+ ldr r3, .L541
40074246 ldr r2, [r3, #3364]
40084247 cmp r2, #0
4009
- beq .L435
4248
+ beq .L445
40104249 ldr r2, [r3, #3368]
40114250 cmp r2, #0
4012
- beq .L435
4251
+ beq .L445
40134252 ldr r3, [r3, #3372]
40144253 cmp r3, #0
4015
- beq .L435
4254
+ beq .L445
40164255 movs r0, #0
4017
- pop {r4, r5, r6, r7, r8, pc}
4018
-.L532:
4256
+ b .L440
4257
+.L542:
40194258 .align 2
4020
-.L531:
4259
+.L541:
40214260 .word .LANCHOR0
40224261 .fnend
40234262 .size FtlMemInit, .-FtlMemInit
....@@ -4034,46 +4273,46 @@
40344273 @ frame_needed = 0, uses_anonymous_args = 0
40354274 push {r4, r5, r6, r7, r8, r9, r10, lr}
40364275 .save {r4, r5, r6, r7, r8, r9, r10, lr}
4037
- mov r5, r0
4038
- ldr r6, .L539
4039
- mov r7, r1
4040
- subs r4, r5, #2
4276
+ mov r4, r0
4277
+ ldr r7, .L548
4278
+ ldr r9, .L548+4
4279
+ subs r6, r4, #2
4280
+ ldr r10, .L548+8
4281
+ addw r4, r4, #1022
4282
+ mov r5, r1
40414283 movw r8, #65535
4042
- ldr r9, .L539+4
4043
- addw r5, r5, #1022
4044
- ldrh r2, [r6, #3388]
4284
+ ldrh r2, [r7, #3388]
4285
+ mov r0, r5
40454286 movs r1, #0
4046
- ldr r10, .L539+8
4047
- mov r0, r7
40484287 lsls r2, r2, #2
40494288 bl ftl_memset
4050
-.L536:
4051
- ldrh r3, [r4, #2]
4289
+.L546:
4290
+ ldrh r3, [r6, #2]!
40524291 cmp r3, r8
4053
- beq .L533
4054
- ldrh r2, [r6, #298]
4292
+ beq .L543
4293
+ ldrh r2, [r7, #298]
40554294 cmp r2, r3
4056
- bhi .L535
4057
- movs r2, #74
4295
+ bhi .L545
40584296 mov r1, r9
40594297 mov r0, r10
4298
+ movs r2, #74
40604299 bl sftl_printk
4061
-.L535:
4062
- ldrh r3, [r4, #2]!
4300
+.L545:
4301
+ ldrh r3, [r6]
40634302 movs r2, #1
4064
- cmp r5, r4
4303
+ cmp r4, r6
40654304 lsr r1, r3, #5
40664305 and r3, r3, #31
40674306 lsl r3, r2, r3
4068
- ldr r2, [r7, r1, lsl #2]
4307
+ ldr r2, [r5, r1, lsl #2]
40694308 orr r2, r2, r3
4070
- str r2, [r7, r1, lsl #2]
4071
- bne .L536
4072
-.L533:
4309
+ str r2, [r5, r1, lsl #2]
4310
+ bne .L546
4311
+.L543:
40734312 pop {r4, r5, r6, r7, r8, r9, r10, pc}
4074
-.L540:
4313
+.L549:
40754314 .align 2
4076
-.L539:
4315
+.L548:
40774316 .word .LANCHOR0
40784317 .word .LANCHOR1+184
40794318 .word .LC8
....@@ -4091,18 +4330,18 @@
40914330 @ args = 0, pretend = 0, frame = 0
40924331 @ frame_needed = 0, uses_anonymous_args = 0
40934332 @ link register save eliminated.
4094
- ldr r0, .L542
4333
+ ldr r0, .L551
40954334 movw r3, #65535
40964335 movs r2, #16
40974336 movs r1, #255
4098
- strh r3, [r0, #352] @ movhi
4099
- movs r3, #0
4100
- strh r3, [r0, #358] @ movhi
41014337 add r0, r0, #364
4338
+ strh r3, [r0, #-12] @ movhi
4339
+ movs r3, #0
4340
+ strh r3, [r0, #-6] @ movhi
41024341 b ftl_memset
4103
-.L543:
4342
+.L552:
41044343 .align 2
4105
-.L542:
4344
+.L551:
41064345 .word .LANCHOR0
41074346 .fnend
41084347 .size FtlBbtMemInit, .-FtlBbtMemInit
....@@ -4117,7 +4356,7 @@
41174356 .fnstart
41184357 @ args = 0, pretend = 0, frame = 0
41194358 @ frame_needed = 0, uses_anonymous_args = 0
4120
- ldr r3, .L545
4359
+ ldr r3, .L554
41214360 mov r2, #2048
41224361 push {r4, lr}
41234362 .save {r4, lr}
....@@ -4131,9 +4370,9 @@
41314370 bl ftl_memset
41324371 mov r0, r4
41334372 pop {r4, pc}
4134
-.L546:
4373
+.L555:
41354374 .align 2
4136
-.L545:
4375
+.L554:
41374376 .word .LANCHOR0
41384377 .fnend
41394378 .size FtlFreeSysBlkQueueInit, .-FtlFreeSysBlkQueueInit
....@@ -4151,95 +4390,84 @@
41514390 push {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
41524391 .save {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
41534392 movs r1, #0
4154
- ldrh r2, [r0, #10]
41554393 mov r4, r0
4156
- ldr r5, [r0, #20]
4394
+ ldrh r2, [r0, #10]
4395
+ ldrd r5, r6, [r0, #20]
41574396 ldr r7, [r0, #12]
4158
- ldr r6, [r0, #24]
41594397 lsls r2, r2, #1
41604398 mov r0, r5
41614399 bl ftl_memset
41624400 movs r3, #0
4163
-.L548:
4401
+.L557:
41644402 ldrh r1, [r4, #6]
41654403 uxth r2, r3
41664404 cmp r1, r2
4167
- bhi .L552
4168
- ldr r3, .L567
4405
+ bhi .L561
4406
+ ldr r3, .L574
41694407 movs r6, #0
4170
- mov r9, r6
4171
- mov fp, r6
4408
+ mov r10, r6
41724409 ldrh r2, [r3, #304]
41734410 ldrh r3, [r4]
41744411 strh r2, [r5, r3, lsl #1] @ movhi
4175
- ldrh r10, [r5]
4176
-.L553:
4177
- ldrh r3, [r4, #10]
4178
- uxth r1, r6
4179
- cmp r3, r1
4180
- bhi .L557
4181
- mov r0, r9
4412
+ ldrh fp, [r5]
4413
+.L562:
4414
+ ldrh r2, [r4, #10]
4415
+ uxth r3, r6
4416
+ cmp r2, r3
4417
+ bhi .L565
4418
+ mov r0, r10
41824419 pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
4183
-.L552:
4420
+.L561:
41844421 uxth r2, r3
41854422 ldr r1, [r6, r2, lsl #2]
41864423 movs r2, #0
41874424 ubfx r1, r1, #10, #16
4188
-.L549:
4425
+.L558:
41894426 ldrh ip, [r4, #10]
41904427 uxth r0, r2
41914428 cmp ip, r0
4192
- bhi .L551
4429
+ bhi .L560
41934430 adds r3, r3, #1
4194
- b .L548
4195
-.L551:
4431
+ b .L557
4432
+.L560:
41964433 uxth r0, r2
41974434 ldrh ip, [r7, r0, lsl #1]
41984435 cmp ip, r1
4199
- bne .L550
4200
- cbz r1, .L550
4436
+ bne .L559
4437
+ cbz r1, .L559
42014438 ldrh ip, [r5, r0, lsl #1]
42024439 add ip, ip, #1
42034440 strh ip, [r5, r0, lsl #1] @ movhi
4204
-.L550:
4441
+.L559:
42054442 adds r2, r2, #1
4206
- b .L549
4207
-.L557:
4208
- uxth r2, r6
4209
- ldrh r3, [r5, r2, lsl #1]
4210
- lsl r8, r2, #1
4211
- cmp r10, r3
4212
- bls .L554
4213
- ldrh r0, [r7, r2, lsl #1]
4214
- add r8, r8, r7
4215
- cbnz r0, .L555
4216
-.L556:
4217
- adds r6, r6, #1
4218
- b .L553
4219
-.L554:
4220
- cmp r3, #0
4221
- bne .L556
4222
- ldrh r0, [r7, r2, lsl #1]
4223
- add r8, r8, r7
4224
- cmp r0, #0
4225
- beq .L556
4226
-.L558:
4443
+ b .L558
4444
+.L565:
4445
+ uxth r8, r6
4446
+ ldrh r9, [r5, r8, lsl #1]
4447
+ cmp r9, fp
4448
+ bcs .L563
4449
+ ldrh r2, [r7, r8, lsl #1]
4450
+ cmp r2, #0
4451
+ itt ne
4452
+ movne r10, r3
4453
+ movne fp, r9
4454
+.L563:
4455
+ cmp r9, #0
4456
+ bne .L564
4457
+ ldrh r0, [r7, r8, lsl #1]
4458
+ cbz r0, .L564
42274459 movs r1, #1
42284460 bl FtlFreeSysBlkQueueIn
4229
- strh fp, [r8] @ movhi
4461
+ strh r9, [r7, r8, lsl #1] @ movhi
42304462 ldrh r3, [r4, #8]
42314463 subs r3, r3, #1
42324464 strh r3, [r4, #8] @ movhi
4233
- b .L556
4234
-.L555:
4235
- mov r9, r1
4236
- mov r10, r3
4237
- cmp r3, #0
4238
- beq .L558
4239
- b .L556
4240
-.L568:
4465
+.L564:
4466
+ adds r6, r6, #1
4467
+ b .L562
4468
+.L575:
42414469 .align 2
4242
-.L567:
4470
+.L574:
42434471 .word .LANCHOR0
42444472 .fnend
42454473 .size ftl_free_no_use_map_blk, .-ftl_free_no_use_map_blk
....@@ -4257,67 +4485,65 @@
42574485 push {r3, r4, r5, r6, r7, lr}
42584486 .save {r3, r4, r5, r6, r7, lr}
42594487 movs r1, #0
4260
- ldr r4, .L572
4261
- movs r6, #12
4488
+ ldr r4, .L579
4489
+ movw r6, #65535
4490
+ movs r7, #12
42624491 ldr r2, [r4, #328]
42634492 ldr r0, [r4, #3360]
42644493 lsls r2, r2, #1
42654494 bl ftl_memset
42664495 ldrh r3, [r4, #310]
4267
- movs r1, #255
42684496 ldrh r2, [r4, #338]
4497
+ movs r1, #255
42694498 ldr r0, [r4, #3384]
42704499 muls r2, r3, r2
42714500 bl ftl_memset
4272
- movs r2, #0
4273
- mov r3, r4
4274
- movw r1, #65535
4275
- mov r7, r2
4276
-.L570:
4277
- ldrh r4, [r3, #338]
4278
- uxth r0, r2
4279
- adds r5, r2, #1
4280
- cmp r4, r0
4281
- bhi .L571
4282
- ldr r2, [r3, #328]
4283
- strh r1, [r3, #3394] @ movhi
4284
- strh r1, [r3, #3392] @ movhi
4285
- strh r2, [r3, #3402] @ movhi
4286
- movw r2, #61634
4287
- strh r2, [r3, #3396] @ movhi
4288
- ldrh r2, [r3, #3436]
4289
- strh r2, [r3, #3400] @ movhi
4290
- ldrh r2, [r3, #336]
4291
- strh r2, [r3, #3398] @ movhi
4292
- ldr r2, [r3, #3356]
4293
- str r2, [r3, #3404]
4294
- ldr r2, [r3, #3380]
4295
- str r2, [r3, #3408]
4296
- ldr r2, [r3, #3360]
4297
- str r2, [r3, #3412]
4298
- ldr r2, [r3, #3376]
4299
- str r2, [r3, #3416]
4501
+ movs r3, #0
4502
+ mov ip, r3
4503
+.L577:
4504
+ ldrh r1, [r4, #338]
4505
+ uxth r2, r3
4506
+ cmp r1, r2
4507
+ bhi .L578
4508
+ ldr r3, [r4, #328]
4509
+ strh r3, [r4, #3402] @ movhi
4510
+ mov r3, #-1
4511
+ str r3, [r4, #3392]
4512
+ movw r3, #61634
4513
+ strh r3, [r4, #3396] @ movhi
4514
+ ldrh r3, [r4, #3436]
4515
+ strh r3, [r4, #3400] @ movhi
4516
+ ldrh r3, [r4, #336]
4517
+ strh r3, [r4, #3398] @ movhi
4518
+ ldr r3, [r4, #3356]
4519
+ str r3, [r4, #3404]
4520
+ ldr r3, [r4, #3380]
4521
+ str r3, [r4, #3408]
4522
+ ldr r3, [r4, #3360]
4523
+ str r3, [r4, #3412]
4524
+ ldr r3, [r4, #3376]
4525
+ str r3, [r4, #3416]
43004526 pop {r3, r4, r5, r6, r7, pc}
4301
-.L571:
4302
- uxth r2, r2
4303
- ldr r0, [r3, #2540]
4304
- mul r4, r6, r2
4305
- add ip, r0, r4
4306
- str r7, [ip, #4]
4307
- strh r1, [r0, r4] @ movhi
4308
- ldr r0, [r3, #2540]
4309
- add r0, r0, r4
4310
- ldrh r4, [r3, #310]
4311
- muls r2, r4, r2
4312
- ldr r4, [r3, #3384]
4527
+.L578:
4528
+ uxth r5, r3
4529
+ ldr r2, [r4, #2540]
4530
+ adds r3, r3, #1
4531
+ mul r0, r7, r5
4532
+ adds r1, r2, r0
4533
+ str ip, [r1, #4]
4534
+ strh r6, [r2, r0] @ movhi
4535
+ ldrh r2, [r4, #310]
4536
+ ldr r1, [r4, #2540]
4537
+ add r1, r1, r0
4538
+ ldr r0, [r4, #3384]
4539
+ muls r2, r5, r2
43134540 bic r2, r2, #3
4314
- add r2, r2, r4
4315
- str r2, [r0, #8]
4316
- mov r2, r5
4317
- b .L570
4318
-.L573:
4541
+ add r2, r2, r0
4542
+ str r2, [r1, #8]
4543
+ b .L577
4544
+.L580:
43194545 .align 2
4320
-.L572:
4546
+.L579:
43214547 .word .LANCHOR0
43224548 .fnend
43234549 .size FtlL2PDataInit, .-FtlL2PDataInit
....@@ -4335,15 +4561,15 @@
43354561 push {r3, r4, r5, lr}
43364562 .save {r3, r4, r5, lr}
43374563 movs r5, #0
4338
- ldr r4, .L575
4339
- movw r3, #65535
4564
+ ldr r4, .L582
43404565 mov r1, r5
4566
+ movw r3, #65535
43414567 ldrh r2, [r4, #320]
4568
+ ldr r0, [r4, #348]
43424569 strh r3, [r4, #3438] @ movhi
43434570 mov r3, #-1
4344
- ldr r0, [r4, #348]
4345
- str r3, [r4, #3448]
43464571 lsls r2, r2, #1
4572
+ str r3, [r4, #3448]
43474573 str r5, [r4, #3440]
43484574 str r5, [r4, #3444]
43494575 strh r5, [r4, #344] @ movhi
....@@ -4359,20 +4585,20 @@
43594585 lsls r2, r2, #1
43604586 bl ftl_memset
43614587 mov r1, r5
4362
- movs r2, #48
43634588 addw r0, r4, #2468
4589
+ movs r2, #48
43644590 bl ftl_memset
4365
- mov r2, #512
43664591 mov r1, r5
4592
+ mov r2, #512
43674593 add r0, r4, #2640
43684594 bl ftl_memset
43694595 bl FtlGcBufInit
43704596 bl FtlL2PDataInit
43714597 mov r0, r5
43724598 pop {r3, r4, r5, pc}
4373
-.L576:
4599
+.L583:
43744600 .align 2
4375
-.L575:
4601
+.L582:
43764602 .word .LANCHOR0
43774603 .fnend
43784604 .size FtlVariablesInit, .-FtlVariablesInit
....@@ -4389,116 +4615,117 @@
43894615 @ frame_needed = 0, uses_anonymous_args = 0
43904616 push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
43914617 .save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
4618
+ mov r10, #6
4619
+ ldr r4, .L595
43924620 movs r5, #0
4393
- ldr r4, .L588
4394
- movs r2, #6
4395
- mov r9, r5
4396
- mov r6, r5
4397
- movw fp, #65535
43984621 .pad #20
43994622 sub sp, sp, #20
4400
- ldrh r3, [r4, #242]
4401
- add r10, r4, #260
44024623 movs r1, #0
4624
+ mov r9, r5
4625
+ mov r7, r5
4626
+ movw fp, #65535
4627
+ ldrh r2, [r4, #242]
44034628 ldr r0, [r4, #2516]
4404
- muls r2, r3, r2
4629
+ mul r2, r10, r2
44054630 bl ftl_memset
44064631 str r5, [r4, #2532]
44074632 str r5, [r4, #2520]
44084633 str r5, [r4, #2524]
44094634 strh r5, [r4, #2528] @ movhi
44104635 strh r5, [r4, #224] @ movhi
4411
-.L578:
4636
+.L585:
44124637 ldrh r3, [r4, #240]
44134638 uxth r8, r5
44144639 cmp r8, r3
4415
- bcs .L585
4416
- ldrh r3, [r4, #302]
4417
- ldrh r2, [r4, #232]
4640
+ bcs .L592
4641
+ ldrh r3, [r4, #232]
44184642 str r3, [sp, #4]
4643
+ ldrh r3, [r4, #302]
4644
+ str r3, [sp]
44194645 movs r3, #0
4420
- mov r7, r3
4421
- b .L586
4422
-.L580:
4423
- ldrb r0, [r10, r3] @ zero_extendqisi2
4646
+ ldr r2, .L595+4
4647
+ mov r6, r3
4648
+ b .L593
4649
+.L587:
4650
+ ldrb r0, [r2], #1 @ zero_extendqisi2
44244651 mov r1, r8
4425
- str r2, [sp, #12]
4426
- str r3, [sp, #8]
4652
+ str r3, [sp, #12]
4653
+ str r2, [sp, #8]
44274654 bl V2P_block
44284655 bl FtlBbmIsBadBlock
4429
- ldr r3, [sp, #8]
4430
- ldr r2, [sp, #12]
4431
- cbnz r0, .L579
4432
- ldr r1, [sp, #4]
4433
- add r7, r7, r1
4434
- uxth r7, r7
4435
-.L579:
4436
- adds r3, r3, #1
4656
+ ldrd r2, r3, [sp, #8]
4657
+ cbnz r0, .L586
4658
+ ldr r1, [sp]
4659
+ add r6, r6, r1
4660
+ uxth r6, r6
44374661 .L586:
4662
+ adds r3, r3, #1
4663
+.L593:
4664
+ ldr r0, [sp, #4]
44384665 uxth r1, r3
4439
- cmp r2, r1
4440
- bhi .L580
4666
+ cmp r0, r1
4667
+ bhi .L587
44414668 uxth r3, r5
4442
- cbz r7, .L581
4443
- mov r1, r7
4444
- str r3, [sp, #4]
4669
+ cbz r6, .L588
4670
+ mov r1, r6
44454671 mov r0, #32768
4672
+ str r3, [sp]
44464673 bl __aeabi_idiv
4447
- ldr r3, [sp, #4]
4448
- uxth r7, r0
4449
-.L582:
4450
- ldr r1, [r4, #2516]
4451
- movs r2, #6
4452
- mla r2, r2, r3, r1
4453
- strh r7, [r2, #4] @ movhi
4674
+ ldr r3, [sp]
4675
+ uxth r6, r0
4676
+.L589:
4677
+ ldr r2, [r4, #2516]
4678
+ mla r2, r10, r3, r2
4679
+ strh r6, [r2, #4] @ movhi
44544680 ldrh r2, [r4, #24]
44554681 cmp r2, r8
4456
- beq .L583
4682
+ beq .L590
44574683 ldrh r2, [r4, #76]
44584684 cmp r2, r8
4459
- beq .L583
4685
+ beq .L590
44604686 ldrh r2, [r4, #124]
44614687 cmp r2, r8
4462
- beq .L583
4688
+ beq .L590
44634689 ldr r2, [r4, #72]
44644690 ldrh r3, [r2, r3, lsl #1]
4465
- cbnz r3, .L584
4691
+ cbnz r3, .L591
44664692 add r9, r9, #1
44674693 mov r0, r8
44684694 uxth r9, r9
44694695 bl INSERT_FREE_LIST
4470
-.L583:
4696
+.L590:
44714697 adds r5, r5, #1
4472
- b .L578
4473
-.L581:
4698
+ b .L585
4699
+.L588:
44744700 ldr r2, [r4, #72]
44754701 strh fp, [r2, r3, lsl #1] @ movhi
4476
- b .L582
4477
-.L584:
4478
- adds r6, r6, #1
4702
+ b .L589
4703
+.L591:
4704
+ adds r7, r7, #1
44794705 mov r0, r8
4480
- uxth r6, r6
4706
+ uxth r7, r7
44814707 bl INSERT_DATA_LIST
4482
- b .L583
4483
-.L585:
4484
- strh r6, [r4, #2528] @ movhi
4485
- add r6, r6, r9
4486
- cmp r6, r3
4708
+ b .L590
4709
+.L592:
4710
+ strh r7, [r4, #2528] @ movhi
4711
+ add r7, r7, r9
4712
+ cmp r7, r3
44874713 strh r9, [r4, #224] @ movhi
4488
- ble .L587
4714
+ ble .L594
4715
+ ldr r1, .L595+8
44894716 movw r2, #2219
4490
- ldr r1, .L588+4
4491
- ldr r0, .L588+8
4717
+ ldr r0, .L595+12
44924718 bl sftl_printk
4493
-.L587:
4719
+.L594:
44944720 movs r0, #0
44954721 add sp, sp, #20
44964722 @ sp needed
44974723 pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
4498
-.L589:
4724
+.L596:
44994725 .align 2
4500
-.L588:
4726
+.L595:
45014727 .word .LANCHOR0
4728
+ .word .LANCHOR0+260
45024729 .word .LANCHOR1+198
45034730 .word .LC8
45044731 .fnend
....@@ -4516,14 +4743,14 @@
45164743 @ frame_needed = 0, uses_anonymous_args = 0
45174744 push {r4, lr}
45184745 .save {r4, lr}
4519
- movs r3, #0
4520
- ldr r4, .L591
45214746 movs r1, #255
4747
+ ldr r4, .L598
4748
+ movs r3, #0
45224749 ldrh r2, [r4, #306]
45234750 ldr r0, [r4, #3192]
45244751 strh r3, [r4, #3196] @ movhi
4525
- strh r3, [r4, #3204] @ movhi
45264752 lsls r2, r2, #1
4753
+ strh r3, [r4, #3204] @ movhi
45274754 bl ftl_memset
45284755 ldrh r3, [r4, #306]
45294756 movs r2, #12
....@@ -4533,9 +4760,9 @@
45334760 bl ftl_memset
45344761 pop {r4, lr}
45354762 b FtlGcBufInit
4536
-.L592:
4763
+.L599:
45374764 .align 2
4538
-.L591:
4765
+.L598:
45394766 .word .LANCHOR0
45404767 .fnend
45414768 .size FtlGcPageVarInit, .-FtlGcPageVarInit
....@@ -4553,42 +4780,42 @@
45534780 push {r4, r5, r6, lr}
45544781 .save {r4, r5, r6, lr}
45554782 mov r2, #256
4556
- ldr r5, .L600
4783
+ ldr r6, .L606
45574784 mov r4, r0
4558
- mov r6, r1
4785
+ mov r5, r1
45594786 movs r1, #255
45604787 bl ftl_memset
4561
- ldr r3, [r5, #3244]
4562
- mov r1, r6
4788
+ mov r1, r5
4789
+ ldr r3, [r6, #3244]
45634790 mov r0, r4
45644791 blx r3
45654792 uxth r0, r0
45664793 cmp r0, #50
4567
- bls .L594
4794
+ bls .L601
4795
+ mov r0, r4
45684796 mov r2, #256
45694797 movs r1, #255
4570
- mov r0, r4
45714798 bl ftl_memset
45724799 movs r0, #0
4573
-.L594:
4574
- ldrh r3, [r5, #14]
4800
+.L601:
4801
+ ldrh r3, [r6, #14]
45754802 cmp r3, #4
4576
- bne .L599
4577
- add r1, r4, r0, lsl #1
4803
+ bne .L605
45784804 mov r3, r4
4579
-.L596:
4805
+ add r1, r4, r0, lsl #1
4806
+.L603:
45804807 cmp r3, r1
4581
- bne .L597
4582
-.L599:
4808
+ bne .L604
4809
+.L605:
45834810 pop {r4, r5, r6, pc}
4584
-.L597:
4811
+.L604:
45854812 ldrh r2, [r3]
45864813 lsrs r2, r2, #1
45874814 strh r2, [r3], #2 @ movhi
4588
- b .L596
4589
-.L601:
4815
+ b .L603
4816
+.L607:
45904817 .align 2
4591
-.L600:
4818
+.L606:
45924819 .word .LANCHOR0
45934820 .fnend
45944821 .size FlashGetBadBlockList, .-FlashGetBadBlockList
....@@ -4607,6 +4834,14 @@
46074834 b memcpy
46084835 .fnend
46094836 .size ftl_memcpy, .-ftl_memcpy
4837
+ .section .rodata.str1.1
4838
+.LC92:
4839
+ .ascii "FlashReadPages %x %x error_ecc_bits %d\012\000"
4840
+.LC93:
4841
+ .ascii "data:\000"
4842
+.LC94:
4843
+ .ascii "spare:\000"
4844
+ .text
46104845 .align 1
46114846 .global FlashReadPages
46124847 .syntax unified
....@@ -4620,147 +4855,152 @@
46204855 @ frame_needed = 0, uses_anonymous_args = 0
46214856 push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
46224857 .save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
4623
- mov r9, r1
4624
- ldr r5, .L644
46254858 mov r4, r0
4626
- mov r8, #0
4859
+ ldr r5, .L650
46274860 .pad #28
46284861 sub sp, sp, #28
4629
- ldr r7, .L644+4
4630
- ldrh r10, [r5, #12]
4631
- ldr fp, .L644+24
4632
- ldr r2, [r7]
4633
- str r7, [sp, #4]
4634
- str r2, [sp, #20]
4635
-.L604:
4636
- cmp r8, r9
4637
- bne .L618
4862
+ ldr r7, .L650+4
4863
+ mov r3, sp
4864
+ ldr r10, .L650+8
4865
+ bic r8, r3, #8160
4866
+ ldr fp, .L650+12
4867
+ bic r8, r8, #31
4868
+ str r1, [sp, #4]
4869
+ mov r9, #0
4870
+ ldr r3, [r8, #24]
4871
+ str r3, [sp, #20]
4872
+ ldrh r3, [r5, #12]
4873
+ str r3, [sp]
4874
+.L610:
46384875 ldr r3, [sp, #4]
4639
- movs r0, #0
4876
+ cmp r9, r3
4877
+ bne .L624
46404878 ldr r2, [sp, #20]
4641
- ldr r3, [r3]
4879
+ ldr r3, [r8, #24]
46424880 cmp r2, r3
4643
- beq .L619
4881
+ beq .L625
46444882 bl __stack_chk_fail
4645
-.L618:
4883
+.L624:
46464884 ldr r3, [r4, #8]
4647
- cbz r3, .L605
4885
+ cbz r3, .L611
46484886 ldr r3, [r4, #12]
4649
- cbnz r3, .L606
4650
-.L605:
4887
+ cbnz r3, .L612
4888
+.L611:
4889
+ mov r1, r7
4890
+ mov r0, r10
46514891 movs r2, #96
4652
- ldr r1, .L644+8
4653
- ldr r0, .L644+12
46544892 bl sftl_printk
4655
-.L606:
4893
+.L612:
46564894 add r2, sp, #12
46574895 add r1, sp, #16
46584896 mov r0, r4
46594897 bl l2p_addr_tran
46604898 ldr r0, [sp, #12]
46614899 cmp r0, #3
4662
- bls .L607
4900
+ bls .L613
46634901 mov r3, #-1
46644902 str r3, [r4]
4665
-.L608:
4666
- add r8, r8, #1
4903
+.L614:
4904
+ add r9, r9, #1
46674905 adds r4, r4, #20
4668
- b .L604
4669
-.L607:
4906
+ b .L610
4907
+.L613:
46704908 ldr r6, [r4, #8]
46714909 uxtb r0, r0
4672
- ldr r3, [r4, #12]
46734910 ldr r1, [sp, #16]
4674
- lsls r7, r6, #26
4675
- ldr r7, [r5, #3256]
4911
+ ldr ip, [r5, #3256]
4912
+ lsls r3, r6, #26
4913
+ ldr r3, [r4, #12]
46764914 it ne
46774915 ldrne r6, [r5, #3320]
46784916 mov r2, r6
4679
- blx r7
4917
+ blx ip
46804918 str r0, [r4]
46814919 ldrh r3, [r5, #14]
46824920 cmp r3, #4
4683
- bne .L611
4684
- ldr r3, [r4, #12]
4921
+ bne .L617
4922
+ ldr r0, [sp]
46854923 add r2, r6, #2048
4924
+ ldr r3, [r4, #12]
46864925 ldr r1, [sp, #16]
4687
- ldrb r0, [sp, #12] @ zero_extendqisi2
4926
+ ldr ip, [r5, #3256]
46884927 adds r3, r3, #8
4689
- ldr r7, [r5, #3256]
4690
- add r1, r1, r10
4691
- blx r7
4928
+ add r1, r1, r0
4929
+ ldrb r0, [sp, #12] @ zero_extendqisi2
4930
+ blx ip
46924931 adds r1, r0, #1
4693
- beq .L612
4932
+ beq .L618
46944933 ldr r3, [r4, #12]
46954934 ldr r2, [r3, #12]
46964935 adds r2, r2, #1
4697
- bne .L613
4936
+ bne .L619
46984937 ldr r2, [r3, #8]
46994938 adds r2, r2, #1
4700
- bne .L613
4939
+ bne .L619
47014940 ldr r3, [r3]
47024941 adds r3, r3, #1
4703
- beq .L613
4704
-.L612:
4942
+ beq .L619
4943
+.L618:
47054944 mov r3, #-1
47064945 str r3, [r4]
4707
-.L613:
4708
- ldr r3, [r4]
4709
- adds r3, r3, #1
4710
- beq .L614
4711
- cmp r0, #256
4712
- it eq
4713
- streq r0, [r4]
4714
-.L614:
4946
+.L620:
47154947 ldr r3, [r4]
47164948 adds r2, r3, #1
4717
- beq .L615
4949
+ beq .L621
47184950 cmp r3, #256
4719
- bne .L611
4720
-.L615:
4951
+ bne .L617
4952
+.L621:
47214953 ldr r1, [r4, #4]
47224954 mov r0, fp
47234955 ldr r2, [sp, #16]
47244956 bl sftl_printk
47254957 ldr r1, [r4, #8]
4958
+ cbz r1, .L623
4959
+ movs r3, #4
4960
+ ldr r0, .L650+16
4961
+ mov r2, r3
4962
+ bl rknand_print_hex
4963
+.L623:
4964
+ ldr r1, [r4, #12]
47264965 cbz r1, .L617
47274966 movs r3, #4
4728
- ldr r0, .L644+16
4967
+ ldr r0, .L650+20
47294968 mov r2, r3
47304969 bl rknand_print_hex
47314970 .L617:
4732
- ldr r1, [r4, #12]
4733
- cbz r1, .L611
4734
- movs r3, #4
4735
- ldr r0, .L644+20
4736
- mov r2, r3
4737
- bl rknand_print_hex
4738
-.L611:
47394971 ldr r3, [r5, #3320]
4740
- cmp r6, r3
4741
- bne .L608
4972
+ cmp r3, r6
4973
+ bne .L614
47424974 ldr r0, [r4, #8]
4743
- cmp r6, r0
4744
- beq .L608
4975
+ cmp r0, r6
4976
+ beq .L614
47454977 ldrh r2, [r5, #258]
47464978 mov r1, r6
47474979 lsls r2, r2, #9
47484980 bl ftl_memcpy
4749
- b .L608
4981
+ b .L614
47504982 .L619:
4983
+ ldr r3, [r4]
4984
+ adds r3, r3, #1
4985
+ beq .L620
4986
+ cmp r0, #256
4987
+ it eq
4988
+ streq r0, [r4]
4989
+ b .L620
4990
+.L625:
4991
+ movs r0, #0
47514992 add sp, sp, #28
47524993 @ sp needed
47534994 pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
4754
-.L645:
4995
+.L651:
47554996 .align 2
4756
-.L644:
4997
+.L650:
47574998 .word .LANCHOR0
4758
- .word __stack_chk_guard
47594999 .word .LANCHOR1+216
47605000 .word .LC8
5001
+ .word .LC92
47615002 .word .LC93
47625003 .word .LC94
4763
- .word .LC92
47645004 .fnend
47655005 .size FlashReadPages, .-FlashReadPages
47665006 .align 1
....@@ -4777,51 +5017,52 @@
47775017 push {r4, r5, r6, r7, r8, r9, r10, lr}
47785018 .save {r4, r5, r6, r7, r8, r9, r10, lr}
47795019 movs r6, #0
4780
- ldr r4, .L656
5020
+ ldr r4, .L662
47815021 movw r10, #61664
4782
- ldr r3, [r4, #3300]
4783
- add r7, r4, #362
4784
- ldr r8, [r4, #3332]
5022
+ add r7, r4, #364
47855023 addw r9, r4, #3452
5024
+ ldr r3, [r4, #3300]
5025
+ ldr r8, [r4, #3332]
47865026 str r3, [r4, #3460]
47875027 str r8, [r4, #3464]
4788
-.L647:
5028
+.L653:
47895029 ldrh r3, [r4, #254]
4790
- cmp r6, r3
4791
- bcc .L652
5030
+ cmp r3, r6
5031
+ bhi .L658
47925032 movs r0, #0
47935033 pop {r4, r5, r6, r7, r8, r9, r10, pc}
4794
-.L652:
5034
+.L658:
47955035 ldrh r5, [r4, #298]
47965036 movw r3, #65535
4797
- strh r3, [r7, #2]! @ movhi
4798
-.L649:
5037
+ strh r3, [r7] @ movhi
5038
+.L655:
47995039 ldrh r3, [r4, #298]
48005040 subs r5, r5, #1
4801
- uxth r5, r5
48025041 sub r2, r3, #16
5042
+ uxth r5, r5
48035043 cmp r5, r2
4804
- ble .L650
5044
+ ble .L656
48055045 mla r3, r6, r3, r5
48065046 movs r2, #1
4807
- mov r1, r2
48085047 mov r0, r9
5048
+ mov r1, r2
48095049 lsls r3, r3, #10
48105050 str r3, [r4, #3456]
48115051 bl FlashReadPages
48125052 ldr r3, [r4, #3452]
48135053 adds r3, r3, #1
4814
- beq .L649
5054
+ beq .L655
48155055 ldrh r3, [r8]
48165056 cmp r3, r10
4817
- bne .L649
5057
+ bne .L655
48185058 strh r5, [r7] @ movhi
4819
-.L650:
4820
- adds r6, r6, #1
4821
- b .L647
4822
-.L657:
4823
- .align 2
48245059 .L656:
5060
+ adds r6, r6, #1
5061
+ adds r7, r7, #2
5062
+ b .L653
5063
+.L663:
5064
+ .align 2
5065
+.L662:
48255066 .word .LANCHOR0
48265067 .fnend
48275068 .size FtlLoadFactoryBbt, .-FtlLoadFactoryBbt
....@@ -4838,79 +5079,77 @@
48385079 @ frame_needed = 0, uses_anonymous_args = 0
48395080 push {r4, r5, r6, r7, r8, r9, lr}
48405081 .save {r4, r5, r6, r7, r8, r9, lr}
5082
+ cmp r1, #1
5083
+ mov r2, r1
48415084 .pad #92
48425085 sub sp, sp, #92
4843
- ldr r6, .L670
4844
- cmp r1, #1
4845
- lsl r8, r0, #10
4846
- mov r2, r1
4847
- mov r7, r1
4848
- ldr r3, [r6]
5086
+ mov r8, r1
5087
+ mov r3, sp
5088
+ lsl r6, r0, #10
5089
+ bic r7, r3, #8160
48495090 mov r1, #1
4850
- mov r0, sp
5091
+ bic r7, r7, #31
5092
+ ldr r3, [r7, #24]
48515093 str r3, [sp, #84]
4852
- ldr r3, .L670+4
5094
+ ldr r3, .L677
48535095 ite eq
4854
- ldrheq r5, [r3, #304]
4855
- ldrhne r5, [r3, #302]
5096
+ ldrheq r4, [r3, #304]
5097
+ ldrhne r4, [r3, #302]
48565098 ldr r3, [r3, #3324]
4857
- subs r5, r5, #1
4858
- sxth r5, r5
5099
+ subs r4, r4, #1
48595100 str r3, [sp, #8]
48605101 add r3, sp, #20
48615102 str r3, [sp, #12]
4862
- orr r3, r5, r8
4863
- str r3, [sp, #4]
4864
- bl FlashReadPages
4865
- ldr r3, [sp, #20]
4866
- adds r3, r3, #1
4867
- bne .L661
4868
- mov r9, #0
4869
-.L662:
4870
- cmp r9, r5
4871
- ble .L665
4872
-.L661:
4873
- ldr r2, [sp, #84]
4874
- mov r0, r5
4875
- ldr r3, [r6]
4876
- cmp r2, r3
4877
- beq .L666
4878
- bl __stack_chk_fail
4879
-.L665:
4880
- add r3, r9, r5
4881
- mov r2, r7
4882
- add r3, r3, r3, lsr #31
4883
- movs r1, #1
5103
+ sxth r4, r4
5104
+ orr r0, r4, r0, lsl #10
5105
+ str r0, [sp, #4]
48845106 mov r0, sp
4885
- asrs r4, r3, #1
4886
- sxth r3, r4
4887
- orr r3, r3, r8
4888
- str r3, [sp, #4]
48895107 bl FlashReadPages
48905108 ldr r3, [sp, #20]
48915109 adds r3, r3, #1
4892
- bne .L663
4893
- ldr r3, [sp, #24]
5110
+ bne .L668
5111
+ mov r9, #0
5112
+ b .L667
5113
+.L671:
5114
+ add r3, r9, r4
5115
+ mov r2, r8
5116
+ mov r0, sp
5117
+ movs r1, #1
5118
+ add r3, r3, r3, lsr #31
5119
+ sbfx r5, r3, #1, #16
5120
+ orr r3, r6, r3, asr #1
5121
+ str r3, [sp, #4]
5122
+ bl FlashReadPages
5123
+ ldrd r3, r2, [sp, #20]
5124
+ ands r3, r3, r2
48945125 adds r3, r3, #1
4895
- bne .L663
5126
+ bne .L669
48965127 ldr r3, [sp]
48975128 adds r3, r3, #1
4898
- beq .L663
4899
- subs r4, r4, #1
4900
- sxth r5, r4
4901
- b .L662
4902
-.L663:
4903
- adds r4, r4, #1
4904
- sxth r9, r4
4905
- b .L662
4906
-.L666:
5129
+ beq .L669
5130
+ subs r4, r5, #1
5131
+ sxth r4, r4
5132
+.L667:
5133
+ cmp r9, r4
5134
+ ble .L671
5135
+.L668:
5136
+ ldr r2, [sp, #84]
5137
+ ldr r3, [r7, #24]
5138
+ cmp r2, r3
5139
+ beq .L672
5140
+ bl __stack_chk_fail
5141
+.L669:
5142
+ adds r5, r5, #1
5143
+ sxth r9, r5
5144
+ b .L667
5145
+.L672:
5146
+ mov r0, r4
49075147 add sp, sp, #92
49085148 @ sp needed
49095149 pop {r4, r5, r6, r7, r8, r9, pc}
4910
-.L671:
5150
+.L678:
49115151 .align 2
4912
-.L670:
4913
- .word __stack_chk_guard
5152
+.L677:
49145153 .word .LANCHOR0
49155154 .fnend
49165155 .size FtlGetLastWrittenPage, .-FtlGetLastWrittenPage
....@@ -4928,15 +5167,15 @@
49285167 push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
49295168 .save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
49305169 movs r5, #0
4931
- ldr r4, .L754
5170
+ ldr r4, .L759
49325171 mov r1, r5
49335172 .pad #20
49345173 sub sp, sp, #20
49355174 ldr r2, [r4, #328]
49365175 ldr r0, [r4, #3380]
49375176 strh r5, [r4, #3436] @ movhi
4938
- strh r5, [r4, #344] @ movhi
49395177 lsls r2, r2, #2
5178
+ strh r5, [r4, #344] @ movhi
49405179 bl ftl_memset
49415180 ldr r2, [r4, #328]
49425181 mov r1, r5
....@@ -4953,390 +5192,385 @@
49535192 ldr r0, [r4, #348]
49545193 lsls r2, r2, #1
49555194 bl ftl_memset
5195
+ add r0, r4, #2624
49565196 movs r2, #16
49575197 movs r1, #255
4958
- add r0, r4, #2624
49595198 bl ftl_memset
49605199 ldrh r8, [r4, #240]
4961
-.L673:
5200
+.L680:
49625201 ldrh r3, [r4, #242]
49635202 cmp r3, r8
4964
- bls .L715
4965
- movs r5, #0
4966
- ldrh fp, [r4, #232]
4967
- ldr r9, [r4, #3288]
4968
- mov r7, r5
4969
- ldr r3, [r4, #3176]
4970
- mov r10, #20
4971
- ldr r2, [r4, #3180]
4972
- ldrh r6, [r4, #312]
4973
- b .L716
4974
-.L676:
4975
- str r3, [sp, #8]
5203
+ bls .L720
5204
+ ldr r5, .L759+4
5205
+ movs r7, #0
5206
+ ldrh r6, [r4, #232]
5207
+ mov fp, #20
5208
+ ldrh r1, [r4, #312]
5209
+ ldr r10, [r4, #3288]
5210
+ add r6, r6, r5
5211
+ ldr r2, [r4, #3176]
5212
+ ldr r3, [r4, #3180]
5213
+ str r1, [sp, #4]
5214
+ b .L721
5215
+.L683:
49765216 mov r1, r8
4977
- ldr r3, .L754+4
4978
- str r2, [sp, #12]
4979
- ldrb r0, [r3, r5] @ zero_extendqisi2
5217
+ ldrb r0, [r5], #1 @ zero_extendqisi2
5218
+ strd r2, r3, [sp, #8]
49805219 bl V2P_block
4981
- str r0, [sp, #4]
5220
+ mov r9, r0
49825221 bl FtlBbmIsBadBlock
4983
- ldr r3, [sp, #8]
4984
- ldr r2, [sp, #12]
4985
- cbnz r0, .L674
5222
+ ldrd r2, r3, [sp, #8]
5223
+ cbnz r0, .L721
5224
+ mla ip, fp, r7, r10
5225
+ lsl r1, r9, #10
5226
+ strd r1, r2, [ip, #4]
49865227 ldr r1, [sp, #4]
4987
- mla r0, r10, r7, r9
4988
- lsls r1, r1, #10
4989
- str r3, [r0, #8]
4990
- str r1, [r0, #4]
4991
- mov r1, r6
49925228 muls r1, r7, r1
49935229 add r7, r7, #1
49945230 it mi
49955231 addmi r1, r1, #3
49965232 uxth r7, r7
49975233 bic r1, r1, #3
4998
- add r1, r1, r2
4999
- str r1, [r0, #12]
5000
-.L674:
5001
- adds r5, r5, #1
5002
-.L716:
5003
- uxth r1, r5
5004
- cmp fp, r1
5005
- bhi .L676
5006
- cbnz r7, .L677
5007
-.L714:
5234
+ add r1, r1, r3
5235
+ str r1, [ip, #12]
5236
+.L721:
5237
+ cmp r6, r5
5238
+ bne .L683
5239
+ cbnz r7, .L684
5240
+.L719:
50085241 add r8, r8, #1
50095242 uxth r8, r8
5010
- b .L673
5011
-.L677:
5012
- mov r0, r9
5013
- mov r9, #0
5014
- movs r2, #1
5243
+ b .L680
5244
+.L684:
50155245 mov r1, r7
5246
+ mov r0, r10
5247
+ movs r2, #1
50165248 bl FlashReadPages
5017
-.L678:
5018
- uxth r3, r9
5019
- cmp r7, r3
5020
- bls .L714
5021
- movs r3, #20
5022
- mul r10, r3, r9
5249
+ movs r3, #0
5250
+ str r3, [sp, #4]
5251
+.L718:
5252
+ ldr r3, [sp, #4]
5253
+ mov r9, #20
5254
+ mul r9, r9, r3
50235255 ldr r3, [r4, #3288]
5024
- add r2, r3, r10
5025
- ldr r3, [r3, r10]
5256
+ add r2, r3, r9
5257
+ ldr r3, [r3, r9]
50265258 ldr r5, [r2, #4]
50275259 ldr r6, [r2, #12]
50285260 adds r3, r3, #1
50295261 ubfx r5, r5, #10, #16
5030
- bne .L681
5031
- mov fp, #16
5032
- movw r3, #65535
5033
-.L683:
5262
+ bne .L687
5263
+ mov r10, #16
5264
+ movw fp, #65535
5265
+.L689:
50345266 ldr r0, [r4, #3288]
5035
- str r3, [sp, #4]
5036
- add r0, r0, r10
5037
- ldr r2, [r0, #4]
5038
- adds r2, r2, #1
5039
- str r2, [r0, #4]
50405267 movs r2, #1
50415268 mov r1, r2
5269
+ add r0, r0, r9
5270
+ ldr r3, [r0, #4]
5271
+ adds r3, r3, #1
5272
+ str r3, [r0, #4]
50425273 bl FlashReadPages
5043
- ldrh r2, [r6]
5044
- ldr r3, [sp, #4]
5045
- cmp r2, r3
5046
- bne .L680
5274
+ ldrh r3, [r6]
5275
+ cmp r3, fp
50475276 ldr r3, [r4, #3288]
5277
+ bne .L686
50485278 mov r2, #-1
5049
- str r2, [r3, r10]
5279
+ str r2, [r3, r9]
50505280 ldr r3, [r4, #3288]
5051
- ldr r3, [r3, r10]
5281
+ ldr r3, [r3, r9]
50525282 cmp r3, r2
5053
- bne .L681
5054
-.L682:
5055
- movs r1, #1
5056
- b .L753
5057
-.L680:
5058
- ldr r2, [r4, #3288]
5059
- ldr r2, [r2, r10]
5060
- adds r2, r2, #1
5061
- bne .L681
5062
- add fp, fp, #-1
5063
- uxth fp, fp
5064
- cmp fp, #0
5065
- bne .L683
5066
- b .L682
5067
-.L681:
5283
+ beq .L688
5284
+.L687:
50685285 ldr r2, [r4, #2588]
50695286 ldr r3, [r6, #4]
50705287 adds r1, r2, #1
5071
- beq .L684
5288
+ beq .L736
50725289 cmp r2, r3
5073
- bhi .L685
5074
-.L684:
5075
- adds r2, r3, #1
5290
+ bhi .L690
5291
+.L736:
5292
+ adds r0, r3, #1
50765293 itt ne
50775294 addne r2, r3, #1
50785295 strne r2, [r4, #2588]
5079
-.L685:
5296
+.L690:
50805297 ldrh r2, [r6]
5298
+ movw r1, #61634
5299
+ cmp r2, r1
5300
+ beq .L691
5301
+ bhi .L692
5302
+ movw r1, #61574
5303
+ cmp r2, r1
5304
+ beq .L693
50815305 movw r1, #61604
50825306 cmp r2, r1
5083
- beq .L687
5084
- bhi .L688
5085
- movw r3, #61574
5086
- cmp r2, r3
5087
- beq .L689
5307
+ beq .L694
5308
+.L695:
5309
+ ldr r3, [sp, #4]
5310
+ adds r3, r3, #1
5311
+ str r3, [sp, #4]
5312
+ ldrh r3, [sp, #4]
5313
+ cmp r7, r3
5314
+ bhi .L718
5315
+ b .L719
50885316 .L686:
5089
- add r9, r9, #1
5090
- b .L678
5317
+ ldr r3, [r3, r9]
5318
+ adds r3, r3, #1
5319
+ bne .L687
5320
+ add r10, r10, #-1
5321
+ uxth r10, r10
5322
+ cmp r10, #0
5323
+ bne .L689
50915324 .L688:
5092
- movw r3, #61634
5093
- cmp r2, r3
5094
- beq .L690
5325
+ movs r1, #1
5326
+ b .L757
5327
+.L692:
50955328 movw r3, #65535
50965329 cmp r2, r3
5097
- bne .L686
5330
+ bne .L695
50985331 movs r1, #0
5099
-.L753:
5332
+.L757:
51005333 mov r0, r5
51015334 bl FtlFreeSysBlkQueueIn
5102
- b .L686
5103
-.L690:
5335
+ b .L695
5336
+.L691:
51045337 ldrh r2, [r4, #3436]
51055338 ldr r3, [r4, #328]
51065339 cmp r2, r3
5107
- bls .L692
5340
+ bls .L697
5341
+ ldr r1, .L759+8
51085342 mov r2, #1232
5109
- ldr r1, .L754+8
5110
- ldr r0, .L754+12
5343
+ ldr r0, .L759+12
51115344 bl sftl_printk
5112
-.L692:
5345
+.L697:
51135346 ldr r1, [r4, #328]
51145347 ldrh r0, [r4, #3436]
5115
- ldr r10, [r4, #3380]
5116
- uxth ip, r1
5117
- add r3, ip, #-1
5118
- sub ip, ip, r0
5119
- add ip, ip, #-1
5348
+ ldr r9, [r4, #3380]
5349
+ uxth r2, r1
5350
+ subs r3, r2, #1
5351
+ subs r2, r2, r0
5352
+ subs r2, r2, #1
5353
+ add fp, r9, #4
51205354 sxth r3, r3
5121
- sxth ip, ip
5122
-.L693:
5123
- cmp r3, ip
5124
- bgt .L699
5125
- cmp r3, #0
5126
- bge .L731
5127
- b .L686
5128
-.L699:
5129
- ldr r2, [r6, #4]
5130
- lsl fp, r3, #2
5131
- mov lr, r2
5132
- ldr r2, [r10, r3, lsl #2]
5355
+ mov ip, r3
5356
+ sxth r2, r2
5357
+ str r2, [sp, #8]
5358
+.L698:
5359
+ ldr r2, [sp, #8]
5360
+ cmp r2, r3
5361
+ bge .L703
5362
+ add r10, ip, #-1
5363
+ lsl lr, ip, #2
5364
+ str lr, [sp, #12]
5365
+ ldr lr, [r6, #4]
5366
+ ldr r2, [fp, r10, lsl #2]
51335367 cmp lr, r2
5134
- bls .L694
5135
- ldr r2, [r10]
5136
- cbnz r2, .L695
5368
+ bls .L699
5369
+ ldr r2, [r9]
5370
+ cbnz r2, .L700
51375371 cmp r1, r0
51385372 itt ne
51395373 addne r0, r0, #1
51405374 strhne r0, [r4, #3436] @ movhi
5141
-.L695:
5142
- uxth ip, r3
5143
- movs r2, #0
5144
-.L696:
5145
- uxth r0, r2
5146
- sxth r1, r2
5147
- cmp ip, r0
5148
- bhi .L697
5149
- ldr r2, [r4, #3380]
5150
- cmp r3, #0
5151
- ldr r1, [r6, #4]
5152
- str r1, [r2, fp]
5375
+.L700:
5376
+ uxth lr, r3
5377
+ movs r0, #0
5378
+.L701:
5379
+ uxth r9, r0
5380
+ ldr r1, [r4, #3380]
5381
+ sxth r2, r0
5382
+ cmp lr, r9
5383
+ bhi .L702
5384
+ ldr r0, [sp, #12]
5385
+ ldr r2, [r6, #4]
5386
+ str r2, [r1, r0]
51535387 ldr r2, [r4, #3356]
5154
- strh r5, [r2, r3, lsl #1] @ movhi
5155
- blt .L686
5156
- ldrh r0, [r4, #3436]
5388
+ strh r5, [r2, ip, lsl #1] @ movhi
5389
+.L703:
5390
+ cmp r3, #0
5391
+ blt .L695
5392
+ ldrh r1, [r4, #3436]
51575393 ldr r2, [r4, #328]
5158
- subs r2, r2, r0
5394
+ subs r2, r2, r1
51595395 subs r2, r2, #1
51605396 sxth r2, r2
5161
- cmp r3, r2
5162
- bgt .L686
5163
-.L731:
5397
+ cmp r2, r3
5398
+ blt .L695
51645399 ldr r2, [r4, #3380]
5165
- adds r0, r0, #1
5400
+ adds r1, r1, #1
5401
+ strh r1, [r4, #3436] @ movhi
51665402 ldr r1, [r6, #4]
5167
- strh r0, [r4, #3436] @ movhi
51685403 str r1, [r2, r3, lsl #2]
51695404 ldr r2, [r4, #3356]
5170
-.L751:
5405
+.L756:
51715406 strh r5, [r2, r3, lsl #1] @ movhi
5172
- b .L686
5173
-.L697:
5174
- ldr r0, [r4, #3380]
5407
+ b .L695
5408
+.L702:
51755409 adds r2, r2, #1
5176
- add lr, r0, r1, lsl #2
5177
- ldr lr, [lr, #4]
5178
- str lr, [r0, r1, lsl #2]
5179
- ldr r0, [r4, #3356]
5180
- add lr, r0, r1, lsl #1
5181
- ldrh lr, [lr, #2]
5182
- strh lr, [r0, r1, lsl #1] @ movhi
5183
- b .L696
5184
-.L694:
5410
+ adds r0, r0, #1
5411
+ ldr r9, [r1, r2, lsl #2]
5412
+ add r1, r1, r2, lsl #2
5413
+ str r9, [r1, #-4]
5414
+ ldr r1, [r4, #3356]
5415
+ ldrh r9, [r1, r2, lsl #1]
5416
+ add r2, r1, r2, lsl #1
5417
+ strh r9, [r2, #-2] @ movhi
5418
+ b .L701
5419
+.L699:
51855420 subs r3, r3, #1
5421
+ mov ip, r10
51865422 sxth r3, r3
5187
- b .L693
5188
-.L755:
5423
+ b .L698
5424
+.L760:
51895425 .align 2
5190
-.L754:
5426
+.L759:
51915427 .word .LANCHOR0
51925428 .word .LANCHOR0+260
51935429 .word .LANCHOR1+231
51945430 .word .LC8
5195
-.L689:
5431
+.L693:
51965432 ldrh r2, [r4, #344]
51975433 ldrh r3, [r4, #320]
51985434 cmp r2, r3
5199
- bls .L702
5435
+ bls .L707
5436
+ ldr r1, .L761
52005437 movw r2, #1273
5201
- ldr r1, .L756
5202
- ldr r0, .L756+4
5438
+ ldr r0, .L761+4
52035439 bl sftl_printk
5204
-.L702:
5440
+.L707:
52055441 ldrh lr, [r4, #320]
52065442 ldrh r0, [r4, #344]
5207
- ldr r10, [r4, #3368]
52085443 add ip, lr, #-1
5444
+ ldr r2, [r4, #3368]
52095445 sxth r3, ip
52105446 sub ip, ip, r0
5211
-.L703:
5447
+.L708:
52125448 cmp r3, ip
5213
- ble .L708
5214
- ldr r2, [r6, #4]
5215
- lsl fp, r3, #2
5216
- ldr r1, [r10, r3, lsl #2]
5217
- cmp r2, r1
5218
- bls .L704
5219
- ldr r2, [r10]
5220
- cbnz r2, .L705
5449
+ ble .L713
5450
+ ldr r1, [r6, #4]
5451
+ lsl r10, r3, #2
5452
+ ldr r9, [r2, r3, lsl #2]
5453
+ cmp r1, r9
5454
+ bls .L709
5455
+ ldr r2, [r2]
5456
+ cbnz r2, .L710
52215457 cmp lr, r0
52225458 itt ne
52235459 addne r0, r0, #1
52245460 strhne r0, [r4, #344] @ movhi
5225
-.L705:
5461
+.L710:
52265462 uxth ip, r3
5227
- movs r2, #0
5228
-.L706:
5229
- uxth r0, r2
5230
- sxth r1, r2
5231
- cmp ip, r0
5232
- bhi .L707
5233
- ldr r2, [r4, #3368]
5234
- ldr r1, [r6, #4]
5235
- str r1, [r2, fp]
5463
+ movs r0, #0
5464
+.L711:
5465
+ uxth lr, r0
5466
+ ldr r1, [r4, #3368]
5467
+ sxth r2, r0
5468
+ cmp ip, lr
5469
+ bhi .L712
5470
+ ldr r2, [r6, #4]
5471
+ str r2, [r1, r10]
52365472 ldr r2, [r4, #348]
52375473 strh r5, [r2, r3, lsl #1] @ movhi
5238
-.L708:
5474
+.L713:
52395475 cmp r3, #0
5240
- blt .L686
5476
+ blt .L695
52415477 ldrh r2, [r4, #320]
52425478 ldrh r1, [r4, #344]
52435479 subs r2, r2, #1
52445480 subs r2, r2, r1
52455481 sxth r2, r2
5246
- cmp r3, r2
5247
- bgt .L686
5248
- adds r1, r1, #1
5482
+ cmp r2, r3
5483
+ blt .L695
52495484 ldr r2, [r4, #3368]
5485
+ adds r1, r1, #1
52505486 strh r1, [r4, #344] @ movhi
52515487 ldr r1, [r6, #4]
52525488 str r1, [r2, r3, lsl #2]
52535489 ldr r2, [r4, #348]
5254
- b .L751
5255
-.L707:
5256
- ldr r0, [r4, #3368]
5490
+ b .L756
5491
+.L712:
52575492 adds r2, r2, #1
5258
- add lr, r0, r1, lsl #2
5259
- ldr lr, [lr, #4]
5260
- str lr, [r0, r1, lsl #2]
5261
- ldr r0, [r4, #348]
5262
- add lr, r0, r1, lsl #1
5263
- ldrh lr, [lr, #2]
5264
- strh lr, [r0, r1, lsl #1] @ movhi
5265
- b .L706
5266
-.L704:
5493
+ adds r0, r0, #1
5494
+ ldr lr, [r1, r2, lsl #2]
5495
+ add r1, r1, r2, lsl #2
5496
+ str lr, [r1, #-4]
5497
+ ldr r1, [r4, #348]
5498
+ ldrh lr, [r1, r2, lsl #1]
5499
+ add r2, r1, r2, lsl #1
5500
+ strh lr, [r2, #-2] @ movhi
5501
+ b .L711
5502
+.L709:
52675503 subs r3, r3, #1
52685504 sxth r3, r3
5269
- b .L703
5270
-.L687:
5505
+ b .L708
5506
+.L694:
52715507 ldrh r1, [r4, #2624]
52725508 movw r2, #65535
52735509 cmp r1, r2
5274
- bne .L710
5510
+ bne .L715
52755511 strh r5, [r4, #2624] @ movhi
5276
-.L752:
5512
+.L758:
52775513 str r3, [r4, #2632]
5278
- b .L686
5279
-.L710:
5514
+ b .L695
5515
+.L715:
52805516 ldrh r0, [r4, #2628]
52815517 cmp r0, r2
5282
- beq .L711
5518
+ beq .L716
52835519 movs r1, #1
52845520 bl FtlFreeSysBlkQueueIn
5285
-.L711:
5521
+.L716:
52865522 ldr r2, [r4, #2632]
52875523 ldr r3, [r6, #4]
52885524 cmp r2, r3
5289
- bcs .L712
5525
+ bcs .L717
52905526 ldrh r3, [r4, #2624]
5291
- strh r5, [r4, #2624] @ movhi
52925527 strh r3, [r4, #2628] @ movhi
5528
+ strh r5, [r4, #2624] @ movhi
52935529 ldr r3, [r6, #4]
5294
- b .L752
5295
-.L712:
5530
+ b .L758
5531
+.L717:
52965532 strh r5, [r4, #2628] @ movhi
5297
- b .L686
5298
-.L715:
5533
+ b .L695
5534
+.L720:
52995535 ldr r1, [r4, #3356]
53005536 ldrh r3, [r1]
5301
- cbz r3, .L717
5302
-.L720:
5537
+ cbz r3, .L722
5538
+.L725:
53035539 ldr r1, [r4, #348]
53045540 ldrh r2, [r1]
53055541 cmp r2, #0
5306
- beq .L718
5307
-.L719:
5542
+ beq .L723
5543
+.L724:
53085544 ldrh r2, [r4, #3436]
53095545 ldr r3, [r4, #328]
53105546 cmp r2, r3
5311
- bls .L750
5547
+ bls .L754
5548
+ ldr r1, .L761
53125549 movw r2, #1398
5313
- ldr r1, .L756
5314
- ldr r0, .L756+4
5550
+ ldr r0, .L761+4
53155551 bl sftl_printk
5316
-.L750:
5552
+.L754:
53175553 movs r0, #0
53185554 add sp, sp, #20
53195555 @ sp needed
53205556 pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
5321
-.L717:
5557
+.L722:
53225558 ldrh r2, [r4, #3436]
53235559 cmp r2, #0
5324
- beq .L720
5560
+ beq .L725
53255561 ldr r0, [r4, #328]
5326
-.L721:
5562
+.L726:
53275563 sxth r2, r3
53285564 cmp r2, r0
5329
- bcs .L720
5565
+ bcs .L725
53305566 ldrh r5, [r1, r2, lsl #1]
53315567 adds r3, r3, #1
53325568 cmp r5, #0
5333
- beq .L721
5569
+ beq .L726
53345570 mov r3, r2
53355571 movs r5, #0
5336
-.L722:
5337
- ldr r1, [r4, #328]
5338
- cmp r3, r1
5339
- bcs .L720
5572
+ b .L727
5573
+.L728:
53405574 ldr r1, [r4, #3356]
53415575 subs r0, r3, r2
53425576 ldrh r6, [r1, r3, lsl #1]
....@@ -5348,26 +5582,30 @@
53485582 strh r5, [r1, r3, lsl #1] @ movhi
53495583 adds r3, r3, #1
53505584 sxth r3, r3
5351
- b .L722
5352
-.L718:
5585
+.L727:
5586
+ ldr r1, [r4, #328]
5587
+ cmp r3, r1
5588
+ bcc .L728
5589
+ b .L725
5590
+.L723:
53535591 ldrh r3, [r4, #344]
53545592 cmp r3, #0
5355
- beq .L719
5593
+ beq .L724
53565594 ldrh r0, [r4, #320]
5357
-.L727:
5595
+.L732:
53585596 sxth r3, r2
5359
- cmp r3, r0
53605597 mov r5, r3
5361
- bge .L719
5598
+ cmp r3, r0
5599
+ bge .L724
53625600 ldrh r6, [r1, r3, lsl #1]
53635601 adds r2, r2, #1
53645602 cmp r6, #0
5365
- beq .L727
5603
+ beq .L732
53665604 movs r0, #0
5367
-.L728:
5605
+.L733:
53685606 ldrh r2, [r4, #320]
53695607 cmp r3, r2
5370
- bge .L719
5608
+ bge .L724
53715609 ldr r2, [r4, #348]
53725610 subs r1, r3, r5
53735611 ldrh r6, [r2, r3, lsl #1]
....@@ -5379,10 +5617,10 @@
53795617 strh r0, [r2, r3, lsl #1] @ movhi
53805618 adds r3, r3, #1
53815619 sxth r3, r3
5382
- b .L728
5383
-.L757:
5620
+ b .L733
5621
+.L762:
53845622 .align 2
5385
-.L756:
5623
+.L761:
53865624 .word .LANCHOR1+231
53875625 .word .LC8
53885626 .fnend
....@@ -5398,12 +5636,12 @@
53985636 .fnstart
53995637 @ args = 0, pretend = 0, frame = 0
54005638 @ frame_needed = 0, uses_anonymous_args = 0
5401
- push {r4, r5, r6, r7, r8, lr}
5402
- .save {r4, r5, r6, r7, r8, lr}
5403
- movw r8, #61649
5404
- ldr r4, .L787
5639
+ push {r4, r5, r6, r7, r8, r9, r10, lr}
5640
+ .save {r4, r5, r6, r7, r8, r9, r10, lr}
5641
+ movw r7, #61649
5642
+ ldr r4, .L794
5643
+ addw r8, r4, #3452
54055644 ldr r3, [r4, #3300]
5406
- addw r7, r4, #3452
54075645 ldr r6, [r4, #3332]
54085646 str r3, [r4, #3460]
54095647 str r6, [r4, #3464]
....@@ -5411,157 +5649,173 @@
54115649 ldrh r5, [r4, #298]
54125650 subs r5, r5, #1
54135651 uxth r5, r5
5414
-.L759:
5652
+.L764:
54155653 ldrh r3, [r4, #298]
54165654 subs r3, r3, #16
54175655 cmp r5, r3
5418
- ble .L762
5656
+ ble .L769
5657
+ movs r2, #1
5658
+ mov r0, r8
5659
+ mov r1, r2
54195660 lsls r3, r5, #10
5420
- movs r2, #1
5421
- mov r1, r2
5422
- mov r0, r7
54235661 str r3, [r4, #3456]
54245662 bl FlashReadPages
54255663 ldr r3, [r4, #3452]
54265664 adds r3, r3, #1
5427
- bne .L760
5428
- ldr r3, [r4, #3456]
5429
- movs r2, #1
5430
- mov r1, r2
5431
- mov r0, r7
5432
- adds r3, r3, #1
5433
- str r3, [r4, #3456]
5434
- bl FlashReadPages
5435
-.L760:
5436
- ldr r3, [r4, #3452]
5437
- adds r3, r3, #1
5438
- beq .L761
5665
+ beq .L765
5666
+.L768:
54395667 ldrh r3, [r6]
5440
- cmp r3, r8
5441
- bne .L761
5668
+ cmp r3, r7
5669
+ bne .L767
54425670 ldr r3, [r6, #4]
5443
- strh r5, [r4, #352] @ movhi
54445671 str r3, [r4, #360]
5672
+ strh r5, [r4, #352] @ movhi
54455673 ldrh r3, [r6, #8]
54465674 strh r3, [r4, #356] @ movhi
5447
-.L762:
5675
+.L769:
54485676 ldrh r3, [r4, #352]
54495677 movw r2, #65535
54505678 cmp r3, r2
5451
- beq .L776
5679
+ beq .L783
54525680 ldrh r3, [r4, #356]
54535681 cmp r3, r2
5454
- beq .L766
5455
- lsls r3, r3, #10
5682
+ beq .L773
54565683 movs r2, #1
5684
+ ldr r0, .L794+4
54575685 mov r1, r2
5458
- ldr r0, .L787+4
5686
+ lsls r3, r3, #10
54595687 str r3, [r4, #3456]
54605688 bl FlashReadPages
54615689 ldr r3, [r4, #3452]
54625690 adds r3, r3, #1
5463
- beq .L766
5691
+ beq .L773
54645692 ldrh r2, [r6]
54655693 movw r3, #61649
54665694 cmp r2, r3
5467
- bne .L766
5695
+ bne .L773
54685696 ldr r3, [r6, #4]
54695697 ldr r2, [r4, #360]
54705698 cmp r3, r2
5471
- bls .L766
5472
- ldrh r2, [r4, #356]
5699
+ bls .L773
54735700 str r3, [r4, #360]
5701
+ ldrh r2, [r4, #356]
54745702 ldrh r3, [r6, #8]
54755703 strh r2, [r4, #352] @ movhi
54765704 strh r3, [r4, #356] @ movhi
5477
-.L766:
5478
- ldr r7, .L787+4
5479
- movs r1, #1
5705
+.L773:
54805706 ldrh r0, [r4, #352]
5481
- movw r8, #61649
5707
+ movs r1, #1
5708
+ ldr r9, .L794+4
54825709 bl FtlGetLastWrittenPage
5483
- sxth r5, r0
5484
- adds r0, r0, #1
5485
- strh r0, [r4, #354] @ movhi
5486
-.L768:
5487
- cmp r5, #0
5488
- bge .L771
5710
+ sxth r8, r0
5711
+ mov r7, r0
5712
+ add r3, r8, #1
5713
+ movs r5, #0
5714
+ strh r3, [r4, #354] @ movhi
5715
+ movw r10, #61649
5716
+.L775:
5717
+ subs r3, r7, r5
5718
+ lsls r3, r3, #16
5719
+ bpl .L778
5720
+ ldr r1, .L794+8
54895721 movs r2, #251
5490
- ldr r1, .L787+8
5491
- ldr r0, .L787+12
5722
+ ldr r0, .L794+12
54925723 bl sftl_printk
5493
-.L770:
5494
- ldrh r3, [r6, #10]
5724
+.L777:
54955725 ldrh r0, [r6, #12]
5726
+ ldrh r3, [r6, #10]
54965727 strh r3, [r4, #358] @ movhi
54975728 movw r3, #65535
54985729 cmp r0, r3
5499
- beq .L773
5500
- ldr r2, [r4, #228]
5501
- cmp r0, r2
5502
- beq .L773
5503
- ldrh r3, [r4, #242]
5504
- lsrs r3, r3, #2
5505
- cmp r2, r3
5506
- bcs .L773
5730
+ beq .L780
5731
+ ldr r3, [r4, #228]
55075732 cmp r0, r3
5508
- bcs .L773
5733
+ beq .L780
5734
+ ldrh r2, [r4, #242]
5735
+ lsrs r1, r2, #2
5736
+ cmp r3, r2, lsr #2
5737
+ bcs .L780
5738
+ cmp r0, r1
5739
+ bcs .L780
55095740 bl FtlSysBlkNumInit
5510
-.L773:
5511
- ldr r6, .L787+16
5741
+.L780:
5742
+ ldr r6, .L794+16
55125743 movs r5, #0
5513
-.L774:
5744
+.L781:
55145745 ldrh r3, [r4, #254]
5515
- cmp r5, r3
5516
- bcc .L775
5746
+ cmp r3, r5
5747
+ bhi .L782
55175748 movs r0, #0
5518
- pop {r4, r5, r6, r7, r8, pc}
5519
-.L761:
5749
+.L763:
5750
+ pop {r4, r5, r6, r7, r8, r9, r10, pc}
5751
+.L765:
5752
+ ldr r3, [r4, #3456]
5753
+ movs r2, #1
5754
+ mov r0, r8
5755
+ mov r1, r2
5756
+ adds r3, r3, #1
5757
+ str r3, [r4, #3456]
5758
+ bl FlashReadPages
5759
+ ldr r3, [r4, #3452]
5760
+ adds r3, r3, #1
5761
+ bne .L768
5762
+.L767:
55205763 subs r5, r5, #1
55215764 uxth r5, r5
5522
- b .L759
5523
-.L771:
5524
- ldrh r3, [r4, #352]
5765
+ b .L764
5766
+.L778:
5767
+ ldrh r2, [r4, #352]
5768
+ sub r3, r8, r5
5769
+ mov r0, r9
5770
+ orr r3, r3, r2, lsl #10
55255771 movs r2, #1
5526
- mov r1, r2
5527
- mov r0, r7
5528
- orr r3, r5, r3, lsl #10
55295772 str r3, [r4, #3456]
5773
+ mov r1, r2
55305774 ldr r3, [r4, #3300]
55315775 str r3, [r4, #3460]
55325776 bl FlashReadPages
55335777 ldr r3, [r4, #3452]
55345778 adds r3, r3, #1
5535
- beq .L769
5779
+ beq .L776
55365780 ldrh r3, [r6]
5537
- cmp r3, r8
5538
- beq .L770
5539
-.L769:
5540
- subs r5, r5, #1
5541
- sxth r5, r5
5542
- b .L768
5543
-.L775:
5544
- ldrh r2, [r4, #3388]
5545
- ldr r1, [r4, #3460]
5546
- ldr r0, [r6, #4]!
5547
- lsls r2, r2, #2
5548
- mla r1, r5, r2, r1
5549
- adds r5, r5, #1
5550
- bl ftl_memcpy
5551
- b .L774
5781
+ cmp r3, r10
5782
+ beq .L777
55525783 .L776:
5784
+ adds r5, r5, #1
5785
+ b .L775
5786
+.L782:
5787
+ ldrh r2, [r4, #3388]
5788
+ ldr r3, [r4, #3460]
5789
+ ldr r0, [r6], #4
5790
+ mul r1, r5, r2
5791
+ lsls r2, r2, #2
5792
+ adds r5, r5, #1
5793
+ add r1, r3, r1, lsl #2
5794
+ bl ftl_memcpy
5795
+ b .L781
5796
+.L783:
55535797 mov r0, #-1
5554
- pop {r4, r5, r6, r7, r8, pc}
5555
-.L788:
5798
+ b .L763
5799
+.L795:
55565800 .align 2
5557
-.L787:
5801
+.L794:
55585802 .word .LANCHOR0
55595803 .word .LANCHOR0+3452
55605804 .word .LANCHOR1+245
55615805 .word .LC8
5562
- .word .LANCHOR0+376
5806
+ .word .LANCHOR0+380
55635807 .fnend
55645808 .size FtlLoadBbt, .-FtlLoadBbt
5809
+ .section .rodata.str1.1
5810
+.LC95:
5811
+ .ascii "prog read error: = %x\012\000"
5812
+.LC96:
5813
+ .ascii "prog read REFRESH: = %x\012\000"
5814
+.LC97:
5815
+ .ascii "prog read s error: = %x %x %x %x %x\012\000"
5816
+.LC98:
5817
+ .ascii "prog read d error: = %x %x %x %x %x\012\000"
5818
+ .text
55655819 .align 1
55665820 .global FlashProgPages
55675821 .syntax unified
....@@ -5573,246 +5827,235 @@
55735827 .fnstart
55745828 @ args = 0, pretend = 0, frame = 48
55755829 @ frame_needed = 0, uses_anonymous_args = 0
5576
- ldr r3, .L829
55775830 push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
55785831 .save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
5832
+ mov r8, r0
5833
+ ldr r6, .L835
55795834 .pad #60
55805835 sub sp, sp, #60
5581
- ldr r6, .L829+4
5582
- mov fp, r1
55835836 mov r4, r0
5837
+ mov r3, sp
55845838 mov r5, r0
5585
- str r2, [sp, #16]
5586
- mov r10, #0
5587
- ldr r2, [r3]
5588
- mov r8, r6
5589
- str r3, [sp, #20]
5590
- str r6, [sp, #8]
5591
- str r2, [sp, #52]
5592
- ldrh r2, [r6, #12]
5593
- mov r9, r2
5594
- lsls r2, r2, #3
5595
- str r2, [sp, #12]
5596
-.L790:
5597
- cmp r10, fp
5598
- bne .L804
5599
- ldr r7, .L829+8
5600
- movs r5, #0
5601
- ldr r8, .L829+32
5602
- ldr r9, .L829+36
5603
-.L805:
5604
- cmp r10, r5
5605
- beq .L798
5606
- ldr r3, [sp, #8]
5607
- movs r1, #1
5608
- add r0, sp, #32
5609
- ldr r2, [r3, #3320]
5839
+ bic r10, r3, #8160
5840
+ mov fp, #0
5841
+ bic r10, r10, #31
5842
+ str r1, [sp, #12]
5843
+ str r2, [sp, #20]
5844
+ ldr r3, [r10, #24]
5845
+ str r3, [sp, #52]
5846
+ ldrh r3, [r6, #12]
5847
+ mov r9, r3
5848
+ lsls r3, r3, #3
5849
+ str r3, [sp, #16]
5850
+.L797:
5851
+ ldr r3, [sp, #12]
5852
+ cmp fp, r3
5853
+ bne .L810
5854
+ movs r0, #20
5855
+ ldr r7, .L835+4
5856
+ ldr r9, .L835+8
5857
+ mla r8, r0, fp, r8
5858
+ ldr r5, .L835
5859
+.L811:
5860
+ cmp r8, r4
5861
+ beq .L804
5862
+ ldr r2, [r6, #3320]
56105863 movs r3, #0
5864
+ add r0, sp, #32
5865
+ movs r1, #1
56115866 str r3, [r2]
5612
- ldr r2, [sp, #8]
5613
- ldr r2, [r2, #3328]
5867
+ ldr r2, [r6, #3328]
56145868 str r3, [r2]
5869
+ ldr r2, [sp, #20]
56155870 ldr r3, [r4, #4]
5616
- ldr r2, [sp, #16]
56175871 str r3, [sp, #36]
5618
- ldr r3, [sp, #8]
5619
- ldr r3, [r3, #3320]
5872
+ ldr r3, [r6, #3320]
56205873 str r3, [sp, #40]
5621
- ldr r3, [sp, #8]
5622
- ldr r3, [r3, #3328]
5874
+ ldr r3, [r6, #3328]
56235875 str r3, [sp, #44]
56245876 bl FlashReadPages
56255877 ldr fp, [sp, #32]
56265878 cmp fp, #-1
5627
- bne .L806
5879
+ bne .L812
56285880 ldr r1, [r4, #4]
56295881 mov r0, r7
56305882 bl sftl_printk
56315883 str fp, [r4]
5632
-.L806:
5884
+.L812:
56335885 ldr fp, [sp, #32]
56345886 cmp fp, #256
5635
- bne .L807
5887
+ bne .L813
56365888 ldr r1, [r4, #4]
5637
- mov r0, r8
5889
+ mov r0, r9
56385890 bl sftl_printk
56395891 str fp, [r4]
5640
-.L807:
5892
+.L813:
56415893 ldr r3, [r4, #12]
5642
- cbz r3, .L808
5643
- ldr r1, [sp, #8]
5894
+ cbz r3, .L814
5895
+ ldr r1, [r5, #3328]
56445896 ldr r2, [r3]
5645
- ldr r1, [r1, #3328]
56465897 ldr r0, [r1]
56475898 cmp r2, r0
5648
- bne .L809
5649
- ldr r6, [r3, #8]
5650
- mov ip, r6
5651
- ldr r6, [r1, #8]
5652
- cmp ip, r6
5653
- beq .L808
5654
-.L809:
5899
+ bne .L815
5900
+ ldr ip, [r3, #8]
5901
+ ldr lr, [r1, #8]
5902
+ cmp ip, lr
5903
+ beq .L814
5904
+.L815:
56555905 ldr r1, [r1, #4]
5656
- stm sp, {r0, r1}
5657
- mov r0, r9
5906
+ strd r0, r1, [sp]
5907
+ ldr r0, .L835+12
56585908 ldr r3, [r3, #4]
56595909 ldr r1, [r4, #4]
56605910 bl sftl_printk
56615911 mov r3, #-1
56625912 str r3, [r4]
5663
-.L808:
5913
+.L814:
56645914 ldr r3, [r4, #8]
5665
- cbz r3, .L810
5666
- ldr r1, [sp, #8]
5915
+ cbz r3, .L816
5916
+ ldr r1, [r5, #3320]
56675917 ldr r2, [r3]
5668
- ldr r1, [r1, #3320]
56695918 ldr r0, [r1]
56705919 cmp r2, r0
5671
- bne .L811
5672
- ldr r6, [r3, #2048]
5673
- mov ip, r6
5674
- ldr r6, [r1, #2048]
5675
- cmp ip, r6
5676
- beq .L810
5677
-.L811:
5920
+ bne .L817
5921
+ ldr ip, [r3, #2048]
5922
+ ldr lr, [r1, #2048]
5923
+ cmp ip, lr
5924
+ beq .L816
5925
+.L817:
56785926 ldr r1, [r1, #4]
5679
- stm sp, {r0, r1}
5680
- ldr r0, .L829+12
5927
+ strd r0, r1, [sp]
5928
+ ldr r0, .L835+16
56815929 ldr r3, [r3, #4]
56825930 ldr r1, [r4, #4]
56835931 bl sftl_printk
56845932 mov r3, #-1
56855933 str r3, [r4]
5686
-.L810:
5687
- adds r5, r5, #1
5934
+.L816:
56885935 adds r4, r4, #20
5689
- b .L805
5690
-.L804:
5936
+ b .L811
5937
+.L810:
56915938 ldr r3, [r5, #8]
5692
- cbz r3, .L791
5939
+ cbz r3, .L798
56935940 ldr r3, [r5, #12]
5694
- cbnz r3, .L792
5695
-.L791:
5941
+ cbnz r3, .L799
5942
+.L798:
5943
+ ldr r1, .L835+20
56965944 movs r2, #148
5697
- ldr r1, .L829+16
5698
- ldr r0, .L829+20
5945
+ ldr r0, .L835+24
56995946 bl sftl_printk
5700
-.L792:
5947
+.L799:
57015948 add r2, sp, #24
57025949 add r1, sp, #28
57035950 mov r0, r5
57045951 bl l2p_addr_tran
57055952 ldr r7, [sp, #24]
57065953 cmp r7, #3
5707
- bls .L793
5708
-.L828:
5954
+ bls .L800
5955
+.L834:
57095956 mov r3, #-1
57105957 str r3, [r5]
5711
- b .L794
5712
-.L793:
5713
- cbnz r7, .L795
5958
+ b .L801
5959
+.L800:
5960
+ cbnz r7, .L802
57145961 ldr r3, [sp, #28]
5715
- ldr r2, [sp, #12]
5962
+ ldr r2, [sp, #16]
57165963 cmp r2, r3
5717
- bls .L795
5718
- ldr r5, .L829+16
5719
- ldr r6, .L829+24
5720
- ldr r8, .L829+40
5721
- b .L827
5722
-.L797:
5964
+ bls .L802
5965
+ ldr r6, .L835+20
5966
+ ldr r5, .L835+28
5967
+.L803:
5968
+ ldr r2, [r4, #4]
57235969 mov r3, #-1
5724
- ldr r2, [r4, #-16]
5725
- str r3, [r4, #-20]
5726
- mov r1, r5
5727
- mov r0, r6
5970
+ mov r1, r6
5971
+ str r3, [r4]
5972
+ mov r0, r5
57285973 adds r7, r7, #1
57295974 bl sftl_printk
5975
+ ldr r1, [r4, #8]
5976
+ ldr r0, .L835+32
57305977 movs r3, #16
57315978 movs r2, #4
5732
- ldr r1, [r4, #-12]
5733
- mov r0, r8
5979
+ adds r4, r4, #20
57345980 bl rknand_print_hex
57355981 movs r3, #4
57365982 ldr r1, [r4, #-8]
57375983 mov r2, r3
5738
- ldr r0, .L829+28
5984
+ ldr r0, .L835+36
57395985 bl rknand_print_hex
5740
-.L827:
5741
- cmp r7, fp
5742
- add r4, r4, #20
5743
- bne .L797
5986
+ ldr r3, [sp, #12]
5987
+ cmp r3, r7
5988
+ bne .L803
57445989 bl dump_stack
5745
-.L798:
5746
- ldr r3, [sp, #20]
5747
- movs r0, #0
5990
+.L804:
57485991 ldr r2, [sp, #52]
5749
- ldr r3, [r3]
5992
+ ldr r3, [r10, #24]
57505993 cmp r2, r3
5751
- beq .L813
5994
+ beq .L819
57525995 bl __stack_chk_fail
5753
-.L795:
5996
+.L802:
57545997 ldr r1, [r5, #8]
57555998 lsls r3, r1, #26
5756
- beq .L814
5757
- ldr r7, [r8, #3320]
5758
- cmp r1, r7
5759
- beq .L799
5760
- ldrh r2, [r8, #258]
5999
+ beq .L820
6000
+ ldr r7, [r6, #3320]
6001
+ cmp r7, r1
6002
+ beq .L805
6003
+ ldrh r2, [r6, #258]
57616004 mov r0, r7
57626005 lsls r2, r2, #9
57636006 bl ftl_memcpy
5764
-.L799:
6007
+.L805:
57656008 ldr r3, [r5, #12]
57666009 mov r2, r7
57676010 ldr r1, [sp, #28]
57686011 ldrb r0, [sp, #24] @ zero_extendqisi2
5769
- ldr r6, [r8, #3252]
5770
- blx r6
5771
- cbnz r0, .L800
6012
+ ldr ip, [r6, #3252]
6013
+ blx ip
6014
+ cbnz r0, .L806
57726015 str r0, [r5]
5773
-.L801:
5774
- ldrh r3, [r8, #14]
6016
+.L807:
6017
+ ldrh r3, [r6, #14]
57756018 cmp r3, #4
5776
- bne .L794
6019
+ bne .L801
57776020 ldr r3, [r5, #12]
57786021 add r2, r7, #2048
57796022 ldr r1, [sp, #28]
57806023 ldrb r0, [sp, #24] @ zero_extendqisi2
57816024 adds r3, r3, #8
5782
- ldr r6, [r8, #3252]
6025
+ ldr r7, [r6, #3252]
57836026 add r1, r1, r9
5784
- blx r6
6027
+ blx r7
57856028 cmp r0, #0
5786
- bne .L828
5787
-.L794:
5788
- add r10, r10, #1
6029
+ bne .L834
6030
+.L801:
6031
+ add fp, fp, #1
57896032 adds r5, r5, #20
5790
- b .L790
5791
-.L814:
6033
+ b .L797
6034
+.L820:
57926035 mov r7, r1
5793
- b .L799
5794
-.L800:
6036
+ b .L805
6037
+.L806:
57956038 mov r3, #-1
57966039 str r3, [r5]
5797
- b .L801
5798
-.L813:
6040
+ b .L807
6041
+.L819:
6042
+ movs r0, #0
57996043 add sp, sp, #60
58006044 @ sp needed
58016045 pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
5802
-.L830:
6046
+.L836:
58036047 .align 2
5804
-.L829:
5805
- .word __stack_chk_guard
6048
+.L835:
58066049 .word .LANCHOR0
58076050 .word .LC95
6051
+ .word .LC96
6052
+ .word .LC97
58086053 .word .LC98
58096054 .word .LANCHOR1+256
58106055 .word .LC8
58116056 .word .LC86
5812
- .word .LC88
5813
- .word .LC96
5814
- .word .LC97
58156057 .word .LC87
6058
+ .word .LC88
58166059 .fnend
58176060 .size FlashProgPages, .-FlashProgPages
58186061 .align 1
....@@ -5824,116 +6067,151 @@
58246067 .type FtlLowFormatEraseBlock, %function
58256068 FtlLowFormatEraseBlock:
58266069 .fnstart
5827
- @ args = 0, pretend = 0, frame = 16
6070
+ @ args = 0, pretend = 0, frame = 8
58286071 @ frame_needed = 0, uses_anonymous_args = 0
5829
- push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
6072
+ push {r0, r1, r2, r4, r5, r6, r7, r8, r9, r10, fp, lr}
58306073 .save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
6074
+ .pad #12
58316075 mov r10, #0
5832
- ldr r4, .L876
6076
+ ldr r4, .L882
6077
+ mov r8, r0
58336078 mov r7, r1
58346079 mov r6, r10
58356080 mov r5, r10
58366081 mov r9, #20
5837
- .pad #20
5838
- sub sp, sp, #20
5839
- mov fp, r4
5840
- str r0, [sp, #4]
58416082 str r0, [r4, #3284]
5842
-.L832:
6083
+.L838:
58436084 ldrh r1, [r4, #232]
58446085 uxth r3, r10
58456086 cmp r1, r3
5846
- bhi .L837
6087
+ bhi .L843
58476088 cmp r6, #0
5848
- beq .L831
5849
- mov r8, #0
5850
- mov r9, #20
6089
+ beq .L837
6090
+ mov r9, #0
6091
+ mov r10, #20
6092
+ ldr r0, [r4, #3268]
58516093 mov r2, r6
58526094 movs r1, #0
5853
- ldr r0, [r4, #3268]
58546095 bl FlashEraseBlocks
5855
-.L840:
5856
- uxth r3, r8
6096
+.L847:
6097
+ mul r3, r10, r9
6098
+ ldr r2, [r4, #3268]
6099
+ adds r1, r2, r3
6100
+ ldr r3, [r2, r3]
6101
+ adds r3, r3, #1
6102
+ bne .L846
6103
+ ldr r0, [r1, #4]
6104
+ adds r5, r5, #1
6105
+ uxth r5, r5
6106
+ ubfx r0, r0, #10, #16
6107
+ bl FtlBbmMapBadBlock
6108
+.L846:
6109
+ add r9, r9, #1
6110
+ uxth r3, r9
58576111 cmp r6, r3
5858
- bhi .L842
6112
+ bhi .L847
58596113 cmp r7, #0
5860
- beq .L859
6114
+ beq .L862
58616115 ldrh r3, [r4, #304]
5862
- mov r10, #1
5863
- str r3, [sp, #8]
5864
-.L843:
5865
- mov r8, #0
5866
- mov fp, #20
5867
-.L853:
6116
+ mov fp, #1
6117
+ str r3, [sp, #4]
6118
+.L848:
6119
+ mov r10, #0
6120
+.L857:
58686121 mov r9, #0
58696122 mov r6, r9
5870
-.L844:
6123
+.L849:
58716124 ldrh r1, [r4, #232]
58726125 uxth r3, r9
58736126 cmp r1, r3
5874
- bhi .L848
5875
- cbz r6, .L831
6127
+ bhi .L853
6128
+ cmp r6, #0
6129
+ beq .L837
58766130 mov r9, #0
5877
- movs r3, #1
5878
- mov r2, r10
5879
- mov r1, r6
58806131 ldr r0, [r4, #3268]
6132
+ mov r2, fp
6133
+ mov r1, r6
6134
+ movs r3, #1
58816135 bl FlashProgPages
5882
-.L850:
6136
+.L856:
6137
+ movs r3, #20
6138
+ ldr r2, [r4, #3268]
6139
+ mul r3, r3, r9
6140
+ adds r1, r2, r3
6141
+ ldr r3, [r2, r3]
6142
+ cbz r3, .L855
6143
+ ldr r0, [r1, #4]
6144
+ adds r5, r5, #1
6145
+ uxth r5, r5
6146
+ ubfx r0, r0, #10, #16
6147
+ bl FtlBbmMapBadBlock
6148
+.L855:
6149
+ add r9, r9, #1
58836150 uxth r3, r9
58846151 cmp r6, r3
5885
- bhi .L852
5886
- add r8, r8, #1
5887
- ldr r2, [sp, #8]
5888
- uxth r3, r8
5889
- cmp r2, r3
5890
- bhi .L853
5891
- mov r8, #0
5892
- mov r9, #20
5893
-.L854:
5894
- uxth r3, r8
5895
- cmp r6, r3
58966152 bhi .L856
5897
- ldr r3, [sp, #4]
5898
- cmp r3, #63
5899
- bls .L857
5900
- cbz r7, .L831
5901
-.L857:
5902
- mov r2, r6
5903
- mov r1, r10
6153
+ add r10, r10, #1
6154
+ ldr r2, [sp, #4]
6155
+ uxth r3, r10
6156
+ cmp r2, r3
6157
+ bhi .L857
6158
+ mov r9, #0
6159
+ mov r10, #20
6160
+.L859:
6161
+ cbz r7, .L858
6162
+ mul r3, r10, r9
6163
+ ldr r2, [r4, #3268]
6164
+ adds r1, r2, r3
6165
+ ldr r3, [r2, r3]
6166
+ cbnz r3, .L858
6167
+ ldr r0, [r1, #4]
6168
+ movs r1, #1
6169
+ ubfx r0, r0, #10, #16
6170
+ bl FtlFreeSysBlkQueueIn
6171
+.L858:
6172
+ add r9, r9, #1
6173
+ uxth r3, r9
6174
+ cmp r6, r3
6175
+ bhi .L859
6176
+ cmp r8, #63
6177
+ bls .L860
6178
+ cbz r7, .L837
6179
+.L860:
59046180 ldr r0, [r4, #3268]
6181
+ mov r2, r6
6182
+ mov r1, fp
59056183 bl FlashEraseBlocks
5906
-.L831:
6184
+.L837:
59076185 mov r0, r5
5908
- add sp, sp, #20
6186
+ add sp, sp, #12
59096187 @ sp needed
59106188 pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
5911
-.L837:
6189
+.L843:
59126190 uxth r3, r10
59136191 ldr r0, [r4, #3268]
59146192 movs r2, #0
59156193 mul r1, r9, r3
59166194 add r3, r3, r4
59176195 str r2, [r0, r1]
5918
- ldr r1, [sp, #4]
6196
+ mov r1, r8
59196197 ldrb r0, [r3, #260] @ zero_extendqisi2
59206198 bl V2P_block
5921
- mov r8, r0
5922
- cbz r7, .L833
6199
+ mov fp, r0
6200
+ cbz r7, .L839
59236201 bl IsBlkInVendorPart
5924
- cbnz r0, .L834
5925
-.L833:
5926
- mov r0, r8
6202
+ cbnz r0, .L840
6203
+.L839:
6204
+ mov r0, fp
59276205 bl FtlBbmIsBadBlock
5928
- cbnz r0, .L835
6206
+ cbnz r0, .L841
59296207 ldr r1, [r4, #3268]
5930
- lsl r3, r8, #10
5931
- ldr r0, [fp, #3336]
5932
- mla r1, r9, r6, r1
5933
- str r3, [r1, #4]
6208
+ lsl r0, fp, #10
59346209 ldr r3, [r4, #3316]
6210
+ mla r1, r9, r6, r1
59356211 str r3, [r1, #8]
59366212 ldrh r3, [r4, #312]
6213
+ str r0, [r1, #4]
6214
+ ldr r0, [r4, #3336]
59376215 muls r3, r6, r3
59386216 add r6, r6, #1
59396217 it mi
....@@ -5942,61 +6220,48 @@
59426220 bic r3, r3, #3
59436221 add r3, r3, r0
59446222 str r3, [r1, #12]
5945
-.L834:
6223
+.L840:
59466224 add r10, r10, #1
5947
- b .L832
5948
-.L835:
5949
- adds r5, r5, #1
5950
- uxth r5, r5
5951
- b .L834
5952
-.L842:
5953
- mul r3, r9, r8
5954
- ldr r2, [r4, #3268]
5955
- adds r1, r2, r3
5956
- ldr r3, [r2, r3]
5957
- adds r3, r3, #1
5958
- bne .L841
5959
- ldr r0, [r1, #4]
5960
- adds r5, r5, #1
5961
- uxth r5, r5
5962
- ubfx r0, r0, #10, #16
5963
- bl FtlBbmMapBadBlock
6225
+ b .L838
59646226 .L841:
5965
- add r8, r8, #1
6227
+ adds r5, r5, #1
6228
+ uxth r5, r5
59666229 b .L840
5967
-.L859:
6230
+.L862:
59686231 movs r3, #2
5969
- mov r10, r7
5970
- str r3, [sp, #8]
5971
- b .L843
5972
-.L848:
6232
+ mov fp, r7
6233
+ str r3, [sp, #4]
6234
+ b .L848
6235
+.L853:
59736236 uxth r3, r9
6237
+ movs r2, #20
59746238 ldr r0, [r4, #3268]
5975
- movs r2, #0
5976
- mul r1, fp, r3
6239
+ mul r1, r2, r3
59776240 add r3, r3, r4
6241
+ movs r2, #0
59786242 str r2, [r0, r1]
5979
- ldr r1, [sp, #4]
6243
+ mov r1, r8
59806244 ldrb r0, [r3, #260] @ zero_extendqisi2
59816245 bl V2P_block
5982
- str r0, [sp, #12]
5983
- cbz r7, .L845
6246
+ str r0, [sp]
6247
+ cbz r7, .L850
59846248 bl IsBlkInVendorPart
5985
- cbnz r0, .L846
5986
-.L845:
5987
- ldr r0, [sp, #12]
6249
+ cbnz r0, .L851
6250
+.L850:
6251
+ ldr r0, [sp]
59886252 bl FtlBbmIsBadBlock
5989
- cbnz r0, .L846
6253
+ cbnz r0, .L851
59906254 ldr r1, [r4, #3268]
5991
- ldr r3, [sp, #12]
5992
- ldr r2, .L876
5993
- mla r1, fp, r6, r1
5994
- ldr r0, [r2, #3316]
5995
- add r3, r8, r3, lsl #10
5996
- str r3, [r1, #4]
6255
+ movs r3, #20
6256
+ ldr r2, .L882
6257
+ mla r1, r3, r6, r1
6258
+ ldr r3, [sp]
6259
+ add r0, r10, r3, lsl #10
59976260 ldr r3, [r4, #3312]
59986261 str r3, [r1, #8]
59996262 ldrh r3, [r4, #312]
6263
+ str r0, [r1, #4]
6264
+ ldr r0, [r2, #3316]
60006265 muls r3, r6, r3
60016266 add r6, r6, #1
60026267 it mi
....@@ -6005,40 +6270,12 @@
60056270 bic r3, r3, #3
60066271 add r3, r3, r0
60076272 str r3, [r1, #12]
6008
-.L846:
6009
- add r9, r9, #1
6010
- b .L844
6011
-.L852:
6012
- mul r3, fp, r9
6013
- ldr r2, [r4, #3268]
6014
- adds r1, r2, r3
6015
- ldr r3, [r2, r3]
6016
- cbz r3, .L851
6017
- ldr r0, [r1, #4]
6018
- adds r5, r5, #1
6019
- uxth r5, r5
6020
- ubfx r0, r0, #10, #16
6021
- bl FtlBbmMapBadBlock
60226273 .L851:
60236274 add r9, r9, #1
6024
- b .L850
6025
-.L856:
6026
- cbz r7, .L855
6027
- mul r3, r9, r8
6028
- ldr r2, [r4, #3268]
6029
- adds r1, r2, r3
6030
- ldr r3, [r2, r3]
6031
- cbnz r3, .L855
6032
- ldr r0, [r1, #4]
6033
- movs r1, #1
6034
- ubfx r0, r0, #10, #16
6035
- bl FtlFreeSysBlkQueueIn
6036
-.L855:
6037
- add r8, r8, #1
6038
- b .L854
6039
-.L877:
6275
+ b .L849
6276
+.L883:
60406277 .align 2
6041
-.L876:
6278
+.L882:
60426279 .word .LANCHOR0
60436280 .fnend
60446281 .size FtlLowFormatEraseBlock, .-FtlLowFormatEraseBlock
....@@ -6056,30 +6293,32 @@
60566293 push {r4, r5, r6, lr}
60576294 .save {r4, r5, r6, lr}
60586295 cmp r0, #11
6059
- ldr r6, .L884
6296
+ mov r4, r0
60606297 .pad #88
60616298 sub sp, sp, #88
6062
- mov r5, r0
6063
- ldr r2, [r6]
6064
- str r2, [sp, #84]
6065
- bls .L882
6066
- ldr r4, .L884+4
6299
+ mov r3, sp
6300
+ bic r6, r3, #8160
6301
+ bic r6, r6, #31
6302
+ ldr r3, [r6, #24]
6303
+ str r3, [sp, #84]
6304
+ bls .L888
6305
+ ldr r5, .L890
60676306 add r0, sp, #20
60686307 movs r2, #32
60696308 movs r1, #165
60706309 str r0, [sp, #12]
6071
- lsls r5, r5, #10
6072
- ldr r3, [r4, #3324]
6310
+ lsls r4, r4, #10
6311
+ ldr r3, [r5, #3324]
60736312 str r3, [sp, #8]
60746313 bl ftl_memset
60756314 movs r2, #8
60766315 movs r1, #90
6077
- ldr r0, [r4, #3324]
6316
+ ldr r0, [r5, #3324]
60786317 bl ftl_memset
60796318 movs r2, #1
60806319 mov r0, sp
60816320 mov r1, r2
6082
- str r5, [sp, #4]
6321
+ str r4, [sp, #4]
60836322 bl FlashEraseBlocks
60846323 movs r3, #1
60856324 mov r0, sp
....@@ -6087,49 +6326,56 @@
60876326 mov r1, r3
60886327 bl FlashProgPages
60896328 ldr r3, [sp]
6090
- cbnz r3, .L883
6091
- adds r3, r5, #1
6329
+ cbnz r3, .L889
6330
+ adds r3, r4, #1
60926331 mov r0, sp
60936332 str r3, [sp, #4]
60946333 movs r3, #1
60956334 mov r2, r3
60966335 mov r1, r3
60976336 bl FlashProgPages
6098
- ldr r4, [sp]
6099
- adds r4, r4, #0
6337
+ ldr r5, [sp]
6338
+ subs r5, r5, #0
61006339 it ne
6101
- movne r4, #1
6102
- negs r4, r4
6103
-.L880:
6340
+ movne r5, #1
6341
+ rsbs r5, r5, #0
6342
+.L886:
6343
+ mov r0, sp
61046344 movs r2, #1
61056345 movs r1, #0
6106
- mov r0, sp
6107
- str r5, [sp, #4]
6346
+ str r4, [sp, #4]
61086347 bl FlashEraseBlocks
6109
-.L878:
6348
+.L884:
61106349 ldr r2, [sp, #84]
6111
- mov r0, r4
6112
- ldr r3, [r6]
6350
+ ldr r3, [r6, #24]
61136351 cmp r2, r3
6114
- beq .L881
6352
+ beq .L887
61156353 bl __stack_chk_fail
6116
-.L883:
6117
- mov r4, #-1
6118
- b .L880
6119
-.L882:
6120
- movs r4, #0
6121
- b .L878
6122
-.L881:
6354
+.L889:
6355
+ mov r5, #-1
6356
+ b .L886
6357
+.L888:
6358
+ movs r5, #0
6359
+ b .L884
6360
+.L887:
6361
+ mov r0, r5
61236362 add sp, sp, #88
61246363 @ sp needed
61256364 pop {r4, r5, r6, pc}
6126
-.L885:
6365
+.L891:
61276366 .align 2
6128
-.L884:
6129
- .word __stack_chk_guard
6367
+.L890:
61306368 .word .LANCHOR0
61316369 .fnend
61326370 .size FlashTestBlk, .-FlashTestBlk
6371
+ .section .rodata.str1.1
6372
+.LC99:
6373
+ .ascii "FtlBbmTblFlush id=%x,page=%x,previd=%x cnt=%d\012\000"
6374
+.LC100:
6375
+ .ascii "FtlBbmTblFlush error:%x\012\000"
6376
+.LC101:
6377
+ .ascii "FtlBbmTblFlush error = %x error count = %d\012\000"
6378
+ .text
61336379 .align 1
61346380 .global FtlBbmTblFlush
61356381 .syntax unified
....@@ -6145,72 +6391,69 @@
61456391 .save {r4, r5, r6, r7, r8, r9, r10, lr}
61466392 .pad #8
61476393 movs r5, #0
6148
- ldr r4, .L898
6394
+ ldr r4, .L903
61496395 movs r1, #0
6396
+ add r6, r4, #380
61506397 ldr r0, [r4, #3300]
6151
- add r6, r4, #376
61526398 ldr r3, [r4, #3332]
61536399 ldrh r2, [r4, #310]
61546400 str r0, [r4, #3460]
61556401 str r3, [r4, #3464]
61566402 bl ftl_memset
6157
-.L887:
6403
+.L893:
61586404 ldrh r3, [r4, #254]
6159
- cmp r5, r3
6160
- blt .L888
6161
- ldr r6, [r4, #3464]
6405
+ cmp r3, r5
6406
+ bgt .L894
6407
+ ldr r5, [r4, #3464]
61626408 movs r2, #16
61636409 movs r1, #255
6164
- ldr r8, .L898+12
6165
- ldr r9, .L898+16
6166
- movs r5, #0
6167
- mov r0, r6
6168
- mov r7, r5
6410
+ ldr r8, .L903+4
6411
+ mov r0, r5
6412
+ ldr r9, .L903+8
61696413 bl ftl_memset
61706414 movw r3, #61649
6171
- strh r3, [r6] @ movhi
6415
+ strh r3, [r5] @ movhi
6416
+ movs r6, #0
6417
+ mov r7, r6
61726418 ldr r3, [r4, #360]
6173
- str r3, [r6, #4]
6419
+ str r3, [r5, #4]
61746420 ldrh r3, [r4, #352]
6175
- strh r3, [r6, #2] @ movhi
6176
- ldrh r3, [r4, #356]
6177
- strh r3, [r6, #8] @ movhi
6178
- ldrh r3, [r4, #358]
6179
- strh r3, [r6, #10] @ movhi
6421
+ strh r3, [r5, #2] @ movhi
6422
+ ldr r3, [r4, #356]
6423
+ str r3, [r5, #8]
61806424 ldr r3, [r4, #228]
6181
- strh r3, [r6, #12] @ movhi
6425
+ strh r3, [r5, #12] @ movhi
61826426 ldr r3, [r4, #2604]
6183
- strh r3, [r6, #14] @ movhi
6184
-.L889:
6427
+ strh r3, [r5, #14] @ movhi
6428
+.L895:
61856429 ldr r3, [r4, #3300]
6186
- mov r10, #0
6430
+ mov r0, r8
61876431 ldrh r2, [r4, #354]
6188
- ldrh r1, [r4, #352]
6432
+ mov r10, #0
61896433 str r3, [r4, #3460]
6434
+ ldrh r1, [r4, #352]
61906435 ldr r3, [r4, #3332]
6191
- str r10, [r4, #3452]
61926436 str r3, [r4, #3464]
61936437 orr r3, r2, r1, lsl #10
6194
- ldrh r0, [r6, #10]
61956438 str r3, [r4, #3456]
6439
+ ldrh r3, [r5, #10]
6440
+ str r3, [sp]
61966441 ldrh r3, [r4, #356]
6197
- str r0, [sp]
6198
- mov r0, r8
6442
+ str r10, [r4, #3452]
61996443 bl sftl_printk
62006444 ldrh r3, [r4, #304]
62016445 ldrh r2, [r4, #354]
62026446 subs r3, r3, #1
62036447 cmp r2, r3
6204
- blt .L890
6448
+ blt .L896
62056449 ldr r3, [r4, #360]
6206
- ldrh r2, [r4, #352]
62076450 ldr r0, [r4, #3268]
62086451 adds r3, r3, #1
6209
- strh r10, [r4, #354] @ movhi
62106452 str r3, [r4, #360]
6211
- str r3, [r6, #4]
6453
+ str r3, [r5, #4]
6454
+ ldrh r2, [r4, #352]
62126455 ldrh r3, [r4, #356]
6213
- strh r2, [r6, #8] @ movhi
6456
+ strh r2, [r5, #8] @ movhi
62146457 strh r2, [r4, #356] @ movhi
62156458 movs r2, #1
62166459 strh r3, [r4, #352] @ movhi
....@@ -6218,8 +6461,9 @@
62186461 lsls r3, r3, #10
62196462 str r3, [r4, #3456]
62206463 str r3, [r0, #4]
6464
+ strh r10, [r4, #354] @ movhi
62216465 bl FlashEraseBlocks
6222
-.L890:
6466
+.L896:
62236467 movs r3, #1
62246468 mov r0, r9
62256469 mov r2, r3
....@@ -6230,51 +6474,48 @@
62306474 strh r3, [r4, #354] @ movhi
62316475 ldr r3, [r4, #3452]
62326476 adds r2, r3, #1
6233
- bne .L891
6234
- adds r5, r5, #1
6477
+ bne .L897
6478
+ adds r6, r6, #1
62356479 ldr r1, [r4, #3456]
6236
- uxth r5, r5
6237
- ldr r0, .L898+4
6480
+ ldr r0, .L903+12
6481
+ uxth r6, r6
62386482 bl sftl_printk
6239
- cmp r5, #3
6240
- bls .L889
6241
- mov r2, r5
6483
+ cmp r6, #3
6484
+ bls .L895
62426485 ldr r1, [r4, #3456]
6243
- ldr r0, .L898+8
6486
+ mov r2, r6
6487
+ ldr r0, .L903+16
62446488 bl sftl_printk
6245
-.L893:
6246
- b .L893
6247
-.L888:
6489
+.L899:
6490
+ b .L899
6491
+.L894:
62486492 ldrh r2, [r4, #3388]
62496493 ldr r3, [r4, #3460]
6250
- ldr r1, [r6, #4]!
6251
- mul r0, r2, r5
6494
+ ldr r1, [r6], #4
6495
+ mul r0, r5, r2
62526496 lsls r2, r2, #2
62536497 adds r5, r5, #1
62546498 add r0, r3, r0, lsl #2
62556499 bl ftl_memcpy
6256
- b .L887
6257
-.L894:
6258
- movs r7, #1
6259
- b .L889
6260
-.L891:
6500
+ b .L893
6501
+.L897:
62616502 adds r7, r7, #1
62626503 cmp r7, #1
6263
- ble .L894
6504
+ ble .L895
62646505 cmp r3, #256
6265
- beq .L889
6506
+ beq .L895
62666507 movs r0, #0
62676508 add sp, sp, #8
62686509 @ sp needed
62696510 pop {r4, r5, r6, r7, r8, r9, r10, pc}
6270
-.L899:
6511
+.L904:
62716512 .align 2
6272
-.L898:
6513
+.L903:
62736514 .word .LANCHOR0
6274
- .word .LC100
6275
- .word .LC101
62766515 .word .LC99
62776516 .word .LANCHOR0+3452
6517
+ .word .LC100
6518
+ .word .LC101
62786519 .fnend
62796520 .size FtlBbmTblFlush, .-FtlBbmTblFlush
62806521 .align 1
....@@ -6286,71 +6527,67 @@
62866527 .type allocate_data_superblock, %function
62876528 allocate_data_superblock:
62886529 .fnstart
6289
- @ args = 0, pretend = 0, frame = 16
6530
+ @ args = 0, pretend = 0, frame = 8
62906531 @ frame_needed = 0, uses_anonymous_args = 0
6291
- push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
6532
+ push {r0, r1, r2, r4, r5, r6, r7, r8, r9, r10, fp, lr}
62926533 .save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
6534
+ .pad #12
62936535 mov r5, r0
6294
- ldr r4, .L936
6295
- .pad #20
6296
- sub sp, sp, #20
6297
- ldr r9, .L936+20
6298
-.L901:
6299
- ldr r3, .L936
6300
- ldr r2, .L936
6301
- ldrh r3, [r3, #224]
6302
- ldrh r2, [r2, #2528]
6536
+ ldr r4, .L937
6537
+ ldr r9, .L937+4
6538
+.L906:
6539
+ ldrh r2, [r4, #2528]
6540
+ ldrh r3, [r4, #224]
63036541 add r3, r3, r2
6304
- ldr r2, .L936
6305
- ldrh r2, [r2, #240]
6542
+ ldrh r2, [r4, #240]
63066543 cmp r3, r2
6307
- ble .L902
6308
- movw r2, #2667
6544
+ ble .L907
6545
+ ldr r0, .L937+8
63096546 mov r1, r9
6310
- ldr r0, .L936+4
6547
+ movw r2, #2667
63116548 bl sftl_printk
6312
-.L902:
6313
- ldr r3, .L936+8
6549
+.L907:
6550
+ ldr r3, .L937+12
63146551 cmp r5, r3
6315
- bne .L928
6552
+ bne .L932
63166553 ldrh r3, [r4, #224]
63176554 ldr r1, [r4, #3164]
63186555 mul r2, r1, r3
63196556 lsrs r1, r3, #1
6320
- adds r1, r1, #1
6557
+ movw r3, #65535
63216558 add r1, r1, r2, lsr #2
63226559 uxth r1, r1
6323
- cbz r1, .L903
6324
- subs r1, r1, #1
6325
- uxth r1, r1
6326
-.L903:
6327
- ldr r0, .L936+12
6560
+ cmp r1, r3
6561
+ it eq
6562
+ moveq r1, #0
6563
+.L908:
6564
+ ldr r0, .L937+16
63286565 bl List_pop_index_node
63296566 ldrh r3, [r4, #224]
63306567 mov r6, r0
63316568 uxth r8, r0
6332
- cbnz r3, .L904
6333
- movw r2, #2676
6569
+ cbnz r3, .L909
6570
+ ldr r0, .L937+8
63346571 mov r1, r9
6335
- ldr r0, .L936+4
6572
+ movw r2, #2676
63366573 bl sftl_printk
6337
-.L904:
6574
+.L909:
63386575 ldrh r3, [r4, #224]
63396576 subs r3, r3, #1
63406577 strh r3, [r4, #224] @ movhi
63416578 ldrh r3, [r4, #240]
63426579 cmp r3, r8
6343
- bls .L901
6580
+ bls .L906
63446581 ldr r3, [r4, #72]
63456582 uxth r6, r6
63466583 ldrh r7, [r3, r6, lsl #1]
63476584 cmp r7, #0
6348
- bne .L901
6349
- strh r8, [r5] @ movhi
6585
+ bne .L906
63506586 mov r0, r5
6587
+ strh r8, [r5] @ movhi
63516588 bl make_superblock
63526589 ldrb r3, [r5, #7] @ zero_extendqisi2
6353
- cbnz r3, .L906
6590
+ cbnz r3, .L911
63546591 ldr r3, [r4, #72]
63556592 movw r2, #65535
63566593 mov r0, r8
....@@ -6361,69 +6598,70 @@
63616598 add r3, r3, r2
63626599 ldrh r2, [r4, #240]
63636600 cmp r3, r2
6364
- ble .L901
6365
- movw r2, #2690
6601
+ ble .L906
6602
+ ldr r0, .L937+8
63666603 mov r1, r9
6367
- ldr r0, .L936+4
6604
+ movw r2, #2690
63686605 bl sftl_printk
6369
- b .L901
6370
-.L928:
6606
+ b .L906
6607
+.L932:
63716608 movs r1, #0
6372
- b .L903
6373
-.L906:
6609
+ b .L908
6610
+.L911:
63746611 ldrh r2, [r4, #2528]
63756612 ldrh r3, [r4, #224]
63766613 add r3, r3, r2
63776614 ldrh r2, [r4, #240]
63786615 cmp r3, r2
6379
- ble .L908
6616
+ ble .L913
6617
+ ldr r0, .L937+8
6618
+ mov r1, r9
63806619 movw r2, #2693
6381
- mov r1, r9
6382
- ldr r0, .L936+4
6383
- bl sftl_printk
6384
-.L908:
6385
- ldr r1, [r4, #3268]
6386
- mov r10, #20
6387
- ldrh r2, [r4, #232]
6388
- add fp, r5, #16
6389
- mov r0, fp
6390
- mov ip, #0
6391
- mov r3, r1
6392
- mla r2, r10, r2, r1
6393
- str r2, [sp, #4]
6394
-.L909:
6395
- ldr r2, [sp, #4]
6396
- cmp r2, r3
6397
- bne .L911
6398
- cbnz r7, .L912
6399
- mov r2, #2704
6400
- mov r1, r9
6401
- ldr r0, .L936+4
6402
- bl sftl_printk
6403
-.L912:
6404
- ldrh r3, [r4, #172]
6405
- cmp r3, r8
6406
- bne .L913
6407
- movw r2, #2706
6408
- mov r1, r9
6409
- ldr r0, .L936+4
64106620 bl sftl_printk
64116621 .L913:
6412
- ldrb r3, [r5, #8] @ zero_extendqisi2
6622
+ ldr r0, [r4, #3268]
6623
+ add r10, r5, #16
6624
+ ldrh r3, [r4, #232]
6625
+ mov ip, r10
6626
+ str r3, [sp]
6627
+ mov r2, r0
6628
+ movs r3, #0
6629
+ mov lr, r3
6630
+.L914:
6631
+ ldr fp, [sp]
6632
+ uxth r1, r3
6633
+ cmp fp, r1
6634
+ bhi .L916
6635
+ cbnz r7, .L917
6636
+ ldr r0, .L937+8
6637
+ mov r1, r9
6638
+ mov r2, #2704
6639
+ bl sftl_printk
6640
+.L917:
6641
+ ldrh r3, [r4, #172]
6642
+ cmp r3, r8
6643
+ bne .L918
6644
+ ldr r0, .L937+8
6645
+ mov r1, r9
6646
+ movw r2, #2706
6647
+ bl sftl_printk
6648
+.L918:
6649
+ ldrb r1, [r5, #8] @ zero_extendqisi2
64136650 ldr r2, [r4, #2536]
6414
- cmp r3, #0
6415
- bne .L914
64166651 ldrh r3, [r2, r6, lsl #1]
6652
+ cmp r1, #0
6653
+ bne .L919
64176654 cmp r3, #0
6418
- beq .L915
6655
+ beq .L933
64196656 ldrh r1, [r4, #292]
64206657 add r3, r3, r1
6421
-.L935:
6658
+ uxth r3, r3
6659
+.L920:
64226660 strh r3, [r2, r6, lsl #1] @ movhi
64236661 ldr r3, [r4, #2596]
64246662 adds r3, r3, #1
64256663 str r3, [r4, #2596]
6426
-.L917:
6664
+.L921:
64276665 ldr r3, [r4, #2536]
64286666 ldr r2, [r4, #2612]
64296667 ldrh r0, [r4, #292]
....@@ -6437,101 +6675,98 @@
64376675 mla r0, r2, r0, r3
64386676 bl __aeabi_uidiv
64396677 ldr r2, [r4, #3348]
6440
- ldr r1, [r4, #3268]
64416678 str r0, [r4, #2604]
6679
+ ldr r0, [r4, #3268]
64426680 ldr r3, [r2, #16]
6443
- ldr r0, .L936+16
6681
+ ldr ip, .L937+20
64446682 adds r3, r3, #1
64456683 str r3, [r2, #16]
6446
- movs r2, #20
6447
- mla r2, r2, r7, r1
6448
- adds r3, r1, #4
6449
- adds r2, r2, #24
6450
-.L919:
6684
+ adds r3, r0, #4
6685
+ movs r2, #0
6686
+.L923:
6687
+ uxth r1, r2
64516688 adds r3, r3, #20
6452
- cmp r2, r3
6453
- bne .L920
6689
+ cmp r7, r1
6690
+ bhi .L924
64546691 ldrb r1, [r5, #8] @ zero_extendqisi2
64556692 mov r2, r7
6456
- ldr r0, [r4, #3268]
6457
- mov r10, #0
64586693 bl FlashEraseBlocks
6459
- mov r3, r10
6694
+ mov fp, #0
6695
+ mov r2, fp
64606696 movs r1, #20
6461
-.L921:
6462
- uxth r2, r10
6463
- cmp r7, r2
6464
- bhi .L923
6465
- cmp r3, #0
6466
- ble .L924
6697
+.L925:
6698
+ uxth r3, fp
6699
+ cmp r7, r3
6700
+ bhi .L927
6701
+ cmp r2, #0
6702
+ ble .L928
64676703 mov r0, r8
64686704 bl update_multiplier_value
64696705 bl FtlBbmTblFlush
6470
-.L924:
6706
+.L928:
64716707 ldrb r2, [r5, #7] @ zero_extendqisi2
64726708 cmp r2, #0
6473
- bne .L925
6709
+ bne .L929
64746710 ldr r3, [r4, #72]
64756711 movw r2, #65535
64766712 strh r2, [r3, r6, lsl #1] @ movhi
6477
- b .L901
6478
-.L911:
6479
- str ip, [r3, #8]
6480
- movw lr, #65535
6481
- str ip, [r3, #12]
6482
- ldrh r2, [r0], #2
6483
- cmp r2, lr
6484
- beq .L910
6485
- mla lr, r10, r7, r1
6713
+ b .L906
6714
+.L916:
6715
+ strd lr, lr, [r2, #8]
6716
+ movw fp, #65535
6717
+ ldrh r1, [ip], #2
6718
+ cmp r1, fp
6719
+ beq .L915
6720
+ mov fp, #20
6721
+ lsls r1, r1, #10
6722
+ mla fp, fp, r7, r0
64866723 adds r7, r7, #1
6487
- lsls r2, r2, #10
64886724 uxth r7, r7
6489
- str r2, [lr, #4]
6490
-.L910:
6491
- adds r3, r3, #20
6492
- b .L909
6725
+ str r1, [fp, #4]
64936726 .L915:
6727
+ adds r3, r3, #1
6728
+ adds r2, r2, #20
6729
+ b .L914
6730
+.L933:
64946731 movs r3, #2
6495
- b .L935
6496
-.L914:
6497
- ldrh r3, [r2, r6, lsl #1]
6732
+ b .L920
6733
+.L919:
64986734 adds r3, r3, #1
64996735 strh r3, [r2, r6, lsl #1] @ movhi
65006736 ldr r3, [r4, #2600]
65016737 adds r3, r3, #1
65026738 str r3, [r4, #2600]
6503
- b .L917
6504
-.L920:
6505
- ldr r1, [r3, #-20]
6506
- ands r1, r1, r0
6507
- str r1, [r3, #-20]
6508
- b .L919
6509
-.L923:
6510
- mul r2, r1, r10
6511
- ldr r0, [r4, #3268]
6512
- add ip, r0, r2
6513
- ldr r2, [r0, r2]
6514
- adds r0, r2, #1
6515
- bne .L922
6516
- ldr r0, [ip, #4]
6517
- adds r3, r3, #1
6518
- str r1, [sp, #12]
6519
- str r2, [sp, #8]
6520
- ubfx r0, r0, #10, #16
6521
- str r3, [sp, #4]
6522
- bl FtlBbmMapBadBlock
6523
- ldr r2, [sp, #8]
6524
- ldr r1, [sp, #12]
6525
- ldr r3, [sp, #4]
6526
- strh r2, [fp] @ movhi
6527
- ldrb r2, [r5, #7] @ zero_extendqisi2
6528
- subs r2, r2, #1
6529
- strb r2, [r5, #7]
6530
-.L922:
6531
- add r10, r10, #1
6532
- add fp, fp, #2
65336739 b .L921
6534
-.L925:
6740
+.L924:
6741
+ ldr r1, [r3, #-20]
6742
+ adds r2, r2, #1
6743
+ and r1, r1, ip
6744
+ str r1, [r3, #-20]
6745
+ b .L923
6746
+.L927:
6747
+ mul r3, r1, fp
6748
+ ldr r0, [r4, #3268]
6749
+ add ip, r0, r3
6750
+ ldr r3, [r0, r3]
6751
+ adds r0, r3, #1
6752
+ bne .L926
6753
+ ldr r0, [ip, #4]
6754
+ adds r2, r2, #1
6755
+ str r3, [sp, #4]
6756
+ str r2, [sp]
6757
+ ubfx r0, r0, #10, #16
6758
+ bl FtlBbmMapBadBlock
6759
+ ldr r3, [sp, #4]
6760
+ strh r3, [r10, fp, lsl #1] @ movhi
6761
+ movs r1, #20
6762
+ ldr r2, [sp]
6763
+ ldrb r3, [r5, #7] @ zero_extendqisi2
6764
+ subs r3, r3, #1
6765
+ strb r3, [r5, #7]
6766
+.L926:
6767
+ add fp, fp, #1
6768
+ b .L925
6769
+.L929:
65356770 ldrh r3, [r4, #302]
65366771 strh r8, [r5] @ movhi
65376772 smulbb r3, r3, r2
....@@ -6540,38 +6775,42 @@
65406775 strb r2, [r5, #6]
65416776 ldr r2, [r4, #2588]
65426777 uxth r3, r3
6543
- strh r3, [r5, #4] @ movhi
65446778 str r2, [r5, #12]
65456779 adds r2, r2, #1
65466780 str r2, [r4, #2588]
65476781 ldr r2, [r4, #72]
65486782 ldrh r1, [r5]
6783
+ strh r3, [r5, #4] @ movhi
65496784 strh r3, [r2, r1, lsl #1] @ movhi
65506785 ldrh r3, [r5, #4]
6551
- cbz r3, .L926
6786
+ cbz r3, .L930
65526787 ldrb r3, [r5, #7] @ zero_extendqisi2
6553
- cbnz r3, .L927
6554
-.L926:
6788
+ cbnz r3, .L931
6789
+.L930:
6790
+ ldr r1, .L937+4
65556791 movw r2, #2759
6556
- ldr r1, .L936+20
6557
- ldr r0, .L936+4
6792
+ ldr r0, .L937+8
65586793 bl sftl_printk
6559
-.L927:
6794
+.L931:
65606795 movs r0, #0
6561
- add sp, sp, #20
6796
+ add sp, sp, #12
65626797 @ sp needed
65636798 pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
6564
-.L937:
6799
+.L938:
65656800 .align 2
6566
-.L936:
6801
+.L937:
65676802 .word .LANCHOR0
6803
+ .word .LANCHOR1+271
65686804 .word .LC8
65696805 .word .LANCHOR0+124
65706806 .word .LANCHOR0+2532
65716807 .word -1024
6572
- .word .LANCHOR1+271
65736808 .fnend
65746809 .size allocate_data_superblock, .-allocate_data_superblock
6810
+ .section .rodata.str1.1
6811
+.LC102:
6812
+ .ascii "FtlGcFreeBadSuperBlk 0x%x\012\000"
6813
+ .text
65756814 .align 1
65766815 .global FtlGcFreeBadSuperBlk
65776816 .syntax unified
....@@ -6581,70 +6820,85 @@
65816820 .type FtlGcFreeBadSuperBlk, %function
65826821 FtlGcFreeBadSuperBlk:
65836822 .fnstart
6584
- @ args = 0, pretend = 0, frame = 0
6823
+ @ args = 0, pretend = 0, frame = 16
65856824 @ frame_needed = 0, uses_anonymous_args = 0
6586
- push {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
6587
- .save {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
6588
- mov r8, r0
6589
- ldr r4, .L950
6825
+ push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
6826
+ .save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
6827
+ mov r9, r0
6828
+ ldr r4, .L947
6829
+ .pad #20
6830
+ sub sp, sp, #20
65906831 ldrh r3, [r4, #3206]
6591
- cbz r3, .L939
6592
- movs r7, #0
6593
- addw r10, r4, #3208
6594
-.L940:
6595
- ldrh r2, [r4, #232]
6596
- uxth r3, r7
6597
- cmp r2, r3
6598
- bhi .L946
6599
- bl FtlGcReFreshBadBlk
6600
-.L939:
6832
+ cmp r3, #0
6833
+ bne .L946
6834
+.L941:
66016835 movs r0, #0
6602
- pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
6603
-.L946:
6604
- uxtah r3, r4, r7
6605
- mov r1, r8
6606
- mov fp, #0
6836
+ add sp, sp, #20
6837
+ @ sp needed
6838
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
6839
+.L945:
6840
+ uxtah r3, r4, r8
6841
+ mov r1, r9
66076842 ldrb r0, [r3, #260] @ zero_extendqisi2
66086843 bl V2P_block
6609
- mov r9, r0
6610
-.L941:
6611
- ldrh r3, [r4, #3206]
6612
- uxth r5, fp
6613
- cmp r3, r5
6614
- bhi .L945
6615
- adds r7, r7, #1
6616
- b .L940
6617
-.L945:
6618
- uxth r6, fp
6619
- add r3, r4, r6, lsl #1
6620
- ldrh r3, [r3, #3208]
6621
- cmp r3, r9
6622
- bne .L942
6623
- mov r1, r9
6624
- ldr r0, .L950+4
6625
- bl sftl_printk
6626
- mov r0, r9
6627
- bl FtlBbmMapBadBlock
6628
- bl FtlBbmTblFlush
6629
- ldrh r1, [r4, #3206]
6630
- add r3, r10, r6, lsl #1
6631
-.L943:
6632
- cmp r5, r1
6633
- bcc .L944
6634
- subs r1, r1, #1
6635
- strh r1, [r4, #3206] @ movhi
6844
+ mov r5, r0
6845
+ movs r3, #0
66366846 .L942:
6637
- add fp, fp, #1
6847
+ ldrh r1, [r4, #3206]
6848
+ uxth r2, r3
6849
+ cmp r1, r2
6850
+ bhi .L944
6851
+ add r8, r8, #1
6852
+.L940:
6853
+ ldrh r2, [r4, #232]
6854
+ uxth r3, r8
6855
+ cmp r2, r3
6856
+ bhi .L945
6857
+ bl FtlGcReFreshBadBlk
66386858 b .L941
66396859 .L944:
6640
- ldrh r0, [r3, #2]!
6641
- adds r5, r5, #1
6642
- uxth r5, r5
6643
- strh r0, [r3, #-2] @ movhi
6644
- b .L943
6645
-.L951:
6860
+ uxth r7, r3
6861
+ lsls r1, r7, #1
6862
+ str r1, [sp, #4]
6863
+ add r1, r4, r7, lsl #1
6864
+ ldrh r1, [r1, #3208]
6865
+ cmp r1, r5
6866
+ bne .L943
6867
+ mov r1, r5
6868
+ mov r0, fp
6869
+ strd r2, r3, [sp, #8]
6870
+ bl sftl_printk
6871
+ mov r0, r5
6872
+ bl FtlBbmMapBadBlock
6873
+ bl FtlBbmTblFlush
6874
+ ldrh r6, [r4, #3206]
6875
+ ldr r2, [sp, #8]
6876
+ adds r1, r7, #1
6877
+ subs r0, r6, r2
6878
+ add r1, r10, r1, lsl #1
6879
+ uxth r0, r0
6880
+ lsls r0, r0, #1
6881
+ cmp r2, r6
6882
+ ite ls
6883
+ movls r2, r0
6884
+ movhi r2, #0
6885
+ ldr r0, [sp, #4]
6886
+ subs r6, r6, #1
6887
+ add r0, r0, r10
6888
+ bl memmove
6889
+ ldr r3, [sp, #12]
6890
+ strh r6, [r4, #3206] @ movhi
6891
+.L943:
6892
+ adds r3, r3, #1
6893
+ b .L942
6894
+.L946:
6895
+ ldr fp, .L947+4
6896
+ addw r10, r4, #3208
6897
+ mov r8, #0
6898
+ b .L940
6899
+.L948:
66466900 .align 2
6647
-.L950:
6901
+.L947:
66486902 .word .LANCHOR0
66496903 .word .LC102
66506904 .fnend
....@@ -6663,11 +6917,11 @@
66636917 push {r3, r4, r5, lr}
66646918 .save {r3, r4, r5, lr}
66656919 mov r5, r0
6666
- ldr r4, .L964
6920
+ ldr r4, .L961
66676921 ldr r3, [r4, #72]
66686922 ldrh r3, [r3, r0, lsl #1]
66696923 cmp r3, #0
6670
- bne .L953
6924
+ bne .L950
66716925 ldrh r3, [r4, #222]
66726926 cmp r3, r0
66736927 itt eq
....@@ -6680,20 +6934,20 @@
66806934 strheq r3, [r4, #220] @ movhi
66816935 ldrh r3, [r4, #172]
66826936 cmp r3, r0
6683
- bne .L956
6937
+ bne .L953
66846938 movw r3, #65535
66856939 strh r3, [r4, #172] @ movhi
6686
-.L957:
6940
+.L954:
6941
+ ldr r0, .L961+4
66876942 mov r1, r5
6688
- ldr r0, .L964+4
66896943 bl List_remove_node
66906944 ldrh r3, [r4, #2528]
6691
- cbnz r3, .L959
6945
+ cbnz r3, .L956
6946
+ ldr r1, .L961+8
66926947 movw r2, #2835
6693
- ldr r1, .L964+8
6694
- ldr r0, .L964+12
6948
+ ldr r0, .L961+12
66956949 bl sftl_printk
6696
-.L959:
6950
+.L956:
66976951 ldrh r3, [r4, #2528]
66986952 mov r0, r5
66996953 subs r3, r3, #1
....@@ -6706,39 +6960,44 @@
67066960 add r3, r3, r2
67076961 ldrh r2, [r4, #240]
67086962 cmp r3, r2
6709
- ble .L963
6963
+ ble .L960
6964
+ ldr r1, .L961+8
67106965 movw r2, #2838
6711
- ldr r1, .L964+8
6712
- ldr r0, .L964+12
6966
+ ldr r0, .L961+12
67136967 bl sftl_printk
6714
-.L963:
6968
+.L960:
67156969 movs r0, #1
6716
- pop {r3, r4, r5, pc}
6717
-.L956:
6970
+ b .L949
6971
+.L953:
67186972 ldrh r3, [r4, #24]
67196973 cmp r3, r0
6720
- beq .L962
6974
+ beq .L959
67216975 ldrh r3, [r4, #76]
67226976 cmp r3, r0
6723
- beq .L962
6977
+ beq .L959
67246978 ldrh r3, [r4, #124]
67256979 cmp r3, r0
6726
- bne .L957
6727
-.L962:
6980
+ bne .L954
6981
+.L959:
67286982 movs r0, #0
6983
+.L949:
67296984 pop {r3, r4, r5, pc}
6730
-.L953:
6985
+.L950:
67316986 bl List_update_data_list
6732
- b .L962
6733
-.L965:
6987
+ b .L959
6988
+.L962:
67346989 .align 2
6735
-.L964:
6990
+.L961:
67366991 .word .LANCHOR0
67376992 .word .LANCHOR0+2520
67386993 .word .LANCHOR1+296
67396994 .word .LC8
67406995 .fnend
67416996 .size update_vpc_list, .-update_vpc_list
6997
+ .section .rodata.str1.1
6998
+.LC103:
6999
+ .ascii "decrement_vpc_count %x = %d\012\000"
7000
+ .text
67427001 .align 1
67437002 .global decrement_vpc_count
67447003 .syntax unified
....@@ -6750,70 +7009,70 @@
67507009 .fnstart
67517010 @ args = 0, pretend = 0, frame = 0
67527011 @ frame_needed = 0, uses_anonymous_args = 0
6753
- movw r3, #65535
67547012 push {r4, r5, r6, lr}
67557013 .save {r4, r5, r6, lr}
6756
- cmp r0, r3
7014
+ movw r3, #65535
7015
+ ldr r6, .L972
67577016 mov r4, r0
6758
- ldr r5, .L975
6759
- beq .L967
6760
- ldr r3, [r5, #72]
7017
+ cmp r0, r3
7018
+ beq .L964
7019
+ ldr r3, [r6, #72]
67617020 ldrh r2, [r3, r0, lsl #1]
6762
- cbnz r2, .L968
7021
+ cbnz r2, .L965
67637022 mov r1, r0
6764
- ldr r0, .L975+4
7023
+ ldr r0, .L972+4
67657024 bl sftl_printk
6766
- ldr r3, [r5, #72]
6767
- ldrh r6, [r3, r4, lsl #1]
6768
- cbz r6, .L969
6769
-.L973:
6770
- movs r6, #0
6771
-.L966:
6772
- mov r0, r6
7025
+ ldr r3, [r6, #72]
7026
+ ldrh r5, [r3, r4, lsl #1]
7027
+ cbz r5, .L966
7028
+.L970:
7029
+ movs r5, #0
7030
+.L963:
7031
+ mov r0, r5
67737032 pop {r4, r5, r6, pc}
6774
-.L969:
7033
+.L966:
67757034 movw r2, #2853
6776
-.L974:
6777
- ldr r1, .L975+8
6778
- ldr r0, .L975+12
7035
+.L971:
7036
+ ldr r1, .L972+8
7037
+ ldr r0, .L972+12
67797038 bl sftl_printk
6780
- b .L966
6781
-.L968:
7039
+ b .L963
7040
+.L965:
67827041 subs r2, r2, #1
67837042 strh r2, [r3, r0, lsl #1] @ movhi
6784
-.L967:
6785
- ldrh r0, [r5, #3438]
7043
+.L964:
7044
+ ldrh r0, [r6, #3438]
67867045 movw r3, #65535
67877046 cmp r0, r3
6788
- bne .L971
6789
- strh r4, [r5, #3438] @ movhi
6790
- b .L973
6791
-.L971:
6792
- cmp r4, r0
6793
- beq .L973
7047
+ bne .L968
7048
+ strh r4, [r6, #3438] @ movhi
7049
+ b .L970
7050
+.L968:
7051
+ cmp r0, r4
7052
+ beq .L970
67947053 bl update_vpc_list
6795
- ldr r2, [r5, #2516]
6796
- adds r6, r0, #0
6797
- ldr r3, [r5, #2520]
7054
+ ldr r2, [r6, #2516]
7055
+ ldr r3, [r6, #2520]
7056
+ subs r5, r0, #0
7057
+ strh r4, [r6, #3438] @ movhi
7058
+ sub r3, r3, r2
7059
+ ldr r2, .L972+16
67987060 it ne
6799
- movne r6, #1
6800
- strh r4, [r5, #3438] @ movhi
6801
- subs r3, r3, r2
6802
- asrs r2, r3, #1
6803
- ldr r3, .L975+16
7061
+ movne r5, #1
7062
+ asrs r3, r3, #1
68047063 muls r3, r2, r3
6805
- ldr r2, [r5, #72]
7064
+ ldr r2, [r6, #72]
68067065 uxth r1, r3
68077066 ldrh r2, [r2, r1, lsl #1]
68087067 cmp r2, #0
6809
- bne .L966
6810
- cmp r4, r1
6811
- beq .L966
7068
+ bne .L963
7069
+ cmp r1, r4
7070
+ beq .L963
68127071 movw r2, #2869
6813
- b .L974
6814
-.L976:
7072
+ b .L971
7073
+.L973:
68157074 .align 2
6816
-.L975:
7075
+.L972:
68177076 .word .LANCHOR0
68187077 .word .LC103
68197078 .word .LANCHOR1+312
....@@ -6834,91 +7093,89 @@
68347093 @ frame_needed = 0, uses_anonymous_args = 0
68357094 push {r4, r5, r6, r7, r8, r9, lr}
68367095 .save {r4, r5, r6, r7, r8, r9, lr}
7096
+ mvn r2, #2
7097
+ ldr r5, .L986
68377098 .pad #28
68387099 sub sp, sp, #28
6839
- ldr r7, .L991
6840
- mov r8, #0
6841
- movw r2, #61589
7100
+ mov r9, #0
7101
+ mov r3, sp
68427102 mov r4, r0
6843
- ldr r5, .L991+4
6844
- ldr r3, [r7]
6845
- ldr r6, [r5, #3332]
7103
+ bic r8, r3, #8160
7104
+ bic r8, r8, #31
7105
+ ldr r7, [r5, #3332]
7106
+ str r7, [sp, #12]
7107
+ ldr r3, [r8, #24]
68467108 str r3, [sp, #20]
68477109 mov r3, #-1
68487110 str r3, [sp, #16]
68497111 ldr r3, [r5, #3300]
6850
- str r6, [sp, #12]
68517112 str r3, [sp, #8]
6852
- mvn r3, #2
6853
- str r3, [r6, #8]
68547113 mvn r3, #1
6855
- str r3, [r6, #12]
7114
+ strd r2, r3, [r7, #8]
7115
+ movw r2, #61589
68567116 ldrh r3, [r0]
6857
- strh r8, [r6] @ movhi
6858
- strh r3, [r6, #2] @ movhi
7117
+ strh r3, [r7, #2] @ movhi
7118
+ strh r9, [r7] @ movhi
68597119 ldr r3, [r5, #3300]
68607120 str r2, [r3]
68617121 add r2, r2, #304087040
6862
- ldr r3, [r5, #3300]
68637122 add r2, r2, #1269760
7123
+ ldr r3, [r5, #3300]
68647124 addw r2, r2, #1507
68657125 str r2, [r3, #4]
6866
- ldrh r3, [r0, #4]
6867
- tst r3, #1
6868
- ite eq
6869
- moveq r9, #6
6870
- movne r9, #7
6871
-.L983:
7126
+ ldrh r6, [r0, #4]
7127
+ and r6, r6, #1
7128
+ adds r6, r6, #6
7129
+.L975:
68727130 ldrh r3, [r4, #4]
6873
- cbnz r3, .L979
6874
-.L980:
6875
- ldr r2, [r5, #72]
7131
+ cbz r6, .L977
7132
+ cbnz r3, .L976
7133
+.L977:
68767134 ldrh r1, [r4]
7135
+ ldr r2, [r5, #72]
68777136 ldrh r0, [r4, #4]
68787137 ldrh r3, [r2, r1, lsl #1]
68797138 subs r3, r3, r0
68807139 strh r3, [r2, r1, lsl #1] @ movhi
6881
- ldrh r3, [r5, #302]
68827140 ldr r2, [sp, #20]
7141
+ ldrh r3, [r5, #302]
68837142 strh r3, [r4, #2] @ movhi
68847143 movs r3, #0
68857144 strb r3, [r4, #6]
68867145 strh r3, [r4, #4] @ movhi
6887
- ldr r3, [r7]
7146
+ ldr r3, [r8, #24]
68887147 cmp r2, r3
6889
- beq .L984
7148
+ beq .L981
68907149 bl __stack_chk_fail
6891
-.L979:
7150
+.L976:
68927151 mov r0, r4
68937152 bl get_new_active_ppa
68947153 str r0, [sp, #4]
68957154 adds r0, r0, #1
6896
- beq .L980
7155
+ beq .L977
68977156 ldr r3, [r5, #2592]
68987157 movs r1, #1
7158
+ str r3, [r7, #4]
68997159 mov r0, sp
6900
- str r3, [r6, #4]
6901
- adds r3, r3, #1
69027160 adds r2, r3, #1
7161
+ adds r3, r3, #2
69037162 it eq
6904
- moveq r3, r8
6905
- str r3, [r5, #2592]
7163
+ moveq r2, r9
69067164 movs r3, #0
7165
+ str r2, [r5, #2592]
69077166 mov r2, r3
69087167 bl FlashProgPages
69097168 ldrh r0, [r4]
7169
+ subs r6, r6, #1
69107170 bl decrement_vpc_count
6911
- subs r9, r9, #1
6912
- bne .L983
6913
- b .L980
6914
-.L984:
7171
+ b .L975
7172
+.L981:
69157173 add sp, sp, #28
69167174 @ sp needed
69177175 pop {r4, r5, r6, r7, r8, r9, pc}
6918
-.L992:
7176
+.L987:
69197177 .align 2
6920
-.L991:
6921
- .word __stack_chk_guard
7178
+.L986:
69227179 .word .LANCHOR0
69237180 .fnend
69247181 .size FtlSuperblockPowerLostFix, .-FtlSuperblockPowerLostFix
....@@ -6936,147 +7193,147 @@
69367193 push {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
69377194 .save {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
69387195 mov r8, #0
6939
- ldr r9, .L1012+4
7196
+ ldr r7, .L1007
69407197 bl FtlBbtMemInit
6941
- sub r5, r9, #380
6942
- sub r10, r9, #18
6943
- mov r4, r5
7198
+ sub r9, r7, #16
7199
+ sub r4, r7, #380
7200
+ add fp, r7, #3072
69447201 bl FtlLoadFactoryBbt
6945
-.L994:
6946
- ldrh r3, [r5, #254]
6947
- cmp r8, r3
6948
- bcc .L1000
7202
+.L989:
7203
+ ldrh r3, [r4, #254]
7204
+ cmp r3, r8
7205
+ bhi .L995
69497206 movs r5, #0
6950
-.L1001:
7207
+.L996:
69517208 ldrh r3, [r4, #314]
69527209 uxth r0, r5
6953
- adds r5, r5, #1
69547210 cmp r3, r0
6955
- bhi .L1002
7211
+ bhi .L997
69567212 ldrh r5, [r4, #364]
69577213 movw r6, #65535
69587214 subs r5, r5, #1
69597215 uxth r5, r5
6960
-.L1003:
7216
+.L998:
69617217 ldrh r3, [r4, #364]
69627218 subs r3, r3, #48
69637219 cmp r5, r3
6964
- ble .L1007
7220
+ ble .L1002
69657221 mov r0, r5
69667222 bl FtlBbmIsBadBlock
69677223 cmp r0, #1
6968
- beq .L1004
7224
+ beq .L999
69697225 mov r0, r5
69707226 bl FlashTestBlk
69717227 cmp r0, #0
6972
- beq .L1005
7228
+ beq .L1000
69737229 mov r0, r5
69747230 bl FtlBbmMapBadBlock
6975
-.L1004:
7231
+.L999:
69767232 subs r5, r5, #1
69777233 uxth r5, r5
6978
- b .L1003
6979
-.L1000:
6980
- ldrh r3, [r10, #2]!
6981
- movw r2, #65535
6982
- ldr r0, [r5, #3300]
6983
- ldr fp, [r5, #3332]
6984
- cmp r3, r2
6985
- str r0, [r5, #3460]
6986
- str fp, [r5, #3464]
6987
- beq .L995
6988
- ldrh r7, [r5, #298]
6989
- movs r2, #1
6990
- mov r1, r2
6991
- ldr r0, .L1012
6992
- mla r7, r8, r7, r3
6993
- lsls r3, r7, #10
6994
- str r3, [r5, #3456]
6995
- bl FlashReadPages
6996
- ldrh r2, [r5, #298]
6997
- ldr r1, [r5, #3460]
6998
- ldr r0, [r9]
6999
- adds r2, r2, #7
7000
- asrs r2, r2, #3
7001
- bl ftl_memcpy
7002
-.L996:
7003
- uxth r0, r7
7004
- add r8, r8, #1
7005
- add r9, r9, #4
7006
- bl FtlBbmMapBadBlock
7007
- b .L994
7234
+ b .L998
70087235 .L995:
7236
+ ldrh r5, [r9]
7237
+ movw r3, #65535
7238
+ ldr r0, [r4, #3300]
7239
+ ldr r10, [r4, #3332]
7240
+ cmp r5, r3
7241
+ str r0, [r4, #3460]
7242
+ str r10, [r4, #3464]
7243
+ beq .L990
7244
+ ldrh r3, [r4, #298]
7245
+ movs r2, #1
7246
+ mov r0, fp
7247
+ mov r1, r2
7248
+ mla r5, r8, r3, r5
7249
+ lsls r3, r5, #10
7250
+ str r3, [r4, #3456]
7251
+ bl FlashReadPages
7252
+ ldrh r2, [r4, #298]
7253
+ ldr r1, [r4, #3460]
7254
+ adds r2, r2, #7
7255
+ ldr r0, [r7]
7256
+ lsrs r2, r2, #3
7257
+ bl ftl_memcpy
7258
+.L991:
7259
+ uxth r0, r5
7260
+ add r8, r8, #1
7261
+ adds r7, r7, #4
7262
+ add r9, r9, #2
7263
+ bl FtlBbmMapBadBlock
7264
+ b .L989
7265
+.L990:
70097266 mov r1, r8
70107267 bl FlashGetBadBlockList
7011
- ldr r1, [r9]
7012
- ldr r0, [r5, #3460]
7268
+ ldr r1, [r7]
7269
+ ldr r0, [r4, #3460]
70137270 bl FtlBbt2Bitmap
7014
- ldrh r6, [r5, #298]
7015
-.L998:
7271
+ ldrh r6, [r4, #298]
7272
+.L993:
70167273 subs r6, r6, #1
70177274 uxth r6, r6
7018
-.L997:
7275
+.L992:
70197276 ldrh r0, [r4, #298]
70207277 smlabb r0, r0, r8, r6
70217278 uxth r0, r0
70227279 bl FtlBbmIsBadBlock
70237280 cmp r0, #1
7024
- beq .L998
7281
+ beq .L993
70257282 movs r2, #16
70267283 movs r1, #0
7027
- strh r6, [r10] @ movhi
70287284 ldr r0, [r4, #3332]
7285
+ strh r6, [r9] @ movhi
70297286 bl ftl_memset
70307287 mov r2, #4096
70317288 movs r1, #0
70327289 ldr r0, [r4, #3300]
70337290 bl ftl_memset
70347291 movw r3, #61664
7035
- strh r3, [fp] @ movhi
7292
+ strh r3, [r10] @ movhi
70367293 movs r3, #0
7037
- str r3, [fp, #4]
7038
- ldrh r3, [r10]
7039
- ldrh r7, [r4, #298]
7294
+ str r3, [r10, #4]
7295
+ ldrh r3, [r4, #298]
7296
+ ldrh r5, [r9]
70407297 ldrh r2, [r4, #3388]
7041
- strh r3, [fp, #2] @ movhi
7042
- ldrh r3, [r10]
7043
- ldr r1, [r9]
7298
+ strh r5, [r10, #2] @ movhi
7299
+ ldr r1, [r7]
7300
+ mla r5, r8, r3, r5
70447301 lsls r2, r2, #2
70457302 ldr r0, [r4, #3460]
7046
- mla r7, r8, r7, r3
7047
- lsls r3, r7, #10
7303
+ lsls r3, r5, #10
70487304 str r3, [r4, #3456]
70497305 bl ftl_memcpy
70507306 movs r2, #1
7051
- ldr r0, .L1012
7307
+ mov r0, fp
70527308 mov r1, r2
70537309 bl FlashEraseBlocks
70547310 movs r3, #1
7055
- ldr r0, .L1012
7311
+ mov r0, fp
70567312 mov r2, r3
70577313 mov r1, r3
70587314 bl FlashProgPages
70597315 ldr r3, [r4, #3452]
7316
+ uxth r0, r5
70607317 adds r3, r3, #1
7061
- bne .L996
7062
- uxth r0, r7
7318
+ bne .L991
70637319 bl FtlBbmMapBadBlock
7064
- b .L997
7065
-.L1002:
7320
+ b .L992
7321
+.L997:
7322
+ adds r5, r5, #1
70667323 bl FtlBbmMapBadBlock
7067
- b .L1001
7068
-.L1005:
7324
+ b .L996
7325
+.L1000:
70697326 ldrh r3, [r4, #352]
70707327 cmp r3, r6
7071
- bne .L1006
7328
+ bne .L1001
70727329 strh r5, [r4, #352] @ movhi
7073
- b .L1004
7074
-.L1006:
7330
+ b .L999
7331
+.L1001:
70757332 strh r5, [r4, #356] @ movhi
7076
-.L1007:
7077
- ldrh r3, [r4, #352]
7078
- movs r5, #0
7333
+.L1002:
70797334 ldr r0, [r4, #3268]
7335
+ movs r5, #0
7336
+ ldrh r3, [r4, #352]
70807337 movs r1, #1
70817338 str r5, [r4, #360]
70827339 movs r2, #2
....@@ -7094,19 +7351,18 @@
70947351 bl FtlBbmTblFlush
70957352 ldr r3, [r4, #360]
70967353 ldrh r2, [r4, #356]
7097
- strh r5, [r4, #354] @ movhi
70987354 adds r3, r3, #1
70997355 str r3, [r4, #360]
71007356 ldrh r3, [r4, #352]
7357
+ strh r5, [r4, #354] @ movhi
71017358 strh r2, [r4, #352] @ movhi
71027359 strh r3, [r4, #356] @ movhi
71037360 bl FtlBbmTblFlush
71047361 mov r0, r5
71057362 pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
7106
-.L1013:
7363
+.L1008:
71077364 .align 2
7108
-.L1012:
7109
- .word .LANCHOR0+3452
7365
+.L1007:
71107366 .word .LANCHOR0+380
71117367 .fnend
71127368 .size FtlMakeBbt, .-FtlMakeBbt
....@@ -7136,138 +7392,34 @@
71367392 .fnstart
71377393 @ args = 0, pretend = 0, frame = 0
71387394 @ frame_needed = 0, uses_anonymous_args = 0
7139
- ldr r3, .L1018
7395
+ mov r3, r0
71407396 add r1, r1, r0
7397
+ ldr r0, .L1013
71417398 push {r4, lr}
71427399 .save {r4, lr}
7143
-.L1016:
7144
- cmp r0, r1
7145
- bne .L1017
7146
- mov r0, r3
7400
+.L1011:
7401
+ cmp r3, r1
7402
+ bne .L1012
71477403 pop {r4, pc}
7148
-.L1017:
7149
- lsrs r2, r3, #2
7150
- ldrb r4, [r0], #1 @ zero_extendqisi2
7151
- add r2, r2, r3, lsl #5
7404
+.L1012:
7405
+ lsrs r2, r0, #2
7406
+ ldrb r4, [r3], #1 @ zero_extendqisi2
7407
+ add r2, r2, r0, lsl #5
71527408 add r2, r2, r4
7153
- eors r3, r3, r2
7154
- b .L1016
7155
-.L1019:
7409
+ eors r0, r0, r2
7410
+ b .L1011
7411
+.L1014:
71567412 .align 2
7157
-.L1018:
7413
+.L1013:
71587414 .word 1204201446
71597415 .fnend
71607416 .size js_hash, .-js_hash
7161
- .align 1
7162
- .global Ftl_write_map_blk_to_last_page
7163
- .syntax unified
7164
- .thumb
7165
- .thumb_func
7166
- .fpu softvfp
7167
- .type Ftl_write_map_blk_to_last_page, %function
7168
-Ftl_write_map_blk_to_last_page:
7169
- .fnstart
7170
- @ args = 0, pretend = 0, frame = 0
7171
- @ frame_needed = 0, uses_anonymous_args = 0
7172
- push {r4, r5, r6, r7, r8, lr}
7173
- .save {r4, r5, r6, r7, r8, lr}
7174
- movw r2, #65535
7175
- ldrh r3, [r0]
7176
- mov r4, r0
7177
- ldr r5, [r0, #12]
7178
- cmp r3, r2
7179
- bne .L1021
7180
- ldrh r3, [r0, #8]
7181
- cbz r3, .L1022
7182
- movw r2, #641
7183
- ldr r1, .L1030
7184
- ldr r0, .L1030+4
7185
- bl sftl_printk
7186
-.L1022:
7187
- ldrh r3, [r4, #8]
7188
- adds r3, r3, #1
7189
- strh r3, [r4, #8] @ movhi
7190
- bl FtlFreeSysBlkQueueOut
7191
- movs r3, #0
7192
- strh r0, [r5] @ movhi
7193
- strh r3, [r4, #2] @ movhi
7194
- strh r3, [r4] @ movhi
7195
- ldr r3, [r4, #28]
7196
- adds r3, r3, #1
7197
- str r3, [r4, #28]
7198
-.L1023:
7199
- movs r0, #0
7200
- pop {r4, r5, r6, r7, r8, pc}
7201
-.L1021:
7202
- ldrh r7, [r5, r3, lsl #1]
7203
- movs r1, #255
7204
- ldrh r3, [r0, #2]
7205
- ldr r5, .L1030+8
7206
- ldr r8, [r0, #24]
7207
- orr r3, r3, r7, lsl #10
7208
- ldr r6, [r5, #3332]
7209
- str r3, [r5, #3456]
7210
- ldr r3, [r5, #3300]
7211
- str r6, [r5, #3464]
7212
- str r3, [r5, #3460]
7213
- ldr r3, [r0, #28]
7214
- str r3, [r6, #4]
7215
- movw r3, #64245
7216
- strh r3, [r6, #8] @ movhi
7217
- ldrh r3, [r0, #4]
7218
- strh r7, [r6, #2] @ movhi
7219
- strh r3, [r6] @ movhi
7220
- ldrh r2, [r5, #304]
7221
- ldr r0, [r5, #3300]
7222
- lsls r2, r2, #3
7223
- bl ftl_memset
7224
- movs r2, #0
7225
- mov r3, r2
7226
-.L1024:
7227
- ldrh r0, [r4, #6]
7228
- uxth r1, r2
7229
- cmp r0, r1
7230
- bhi .L1026
7231
- ldrh r1, [r5, #310]
7232
- ldr r0, [r5, #3460]
7233
- bl js_hash
7234
- movs r2, #1
7235
- str r0, [r6, #12]
7236
- movs r3, #0
7237
- mov r1, r2
7238
- ldr r0, .L1030+12
7239
- bl FlashProgPages
7240
- ldrh r3, [r4, #2]
7241
- mov r0, r4
7242
- adds r3, r3, #1
7243
- strh r3, [r4, #2] @ movhi
7244
- bl ftl_map_blk_gc
7245
- b .L1023
7246
-.L1026:
7247
- uxth r0, r2
7248
- ldr r1, [r8, r0, lsl #2]
7249
- cmp r7, r1, lsr #10
7250
- bne .L1025
7251
- ldr r1, [r5, #3300]
7252
- adds r3, r3, #1
7253
- uxth r3, r3
7254
- str r0, [r1, r3, lsl #3]
7255
- ldr r1, [r5, #3300]
7256
- ldr r0, [r8, r0, lsl #2]
7257
- add r1, r1, r3, lsl #3
7258
- str r0, [r1, #4]
7259
-.L1025:
7260
- adds r2, r2, #1
7261
- b .L1024
7262
-.L1031:
7263
- .align 2
7264
-.L1030:
7265
- .word .LANCHOR1+332
7266
- .word .LC8
7267
- .word .LANCHOR0
7268
- .word .LANCHOR0+3452
7269
- .fnend
7270
- .size Ftl_write_map_blk_to_last_page, .-Ftl_write_map_blk_to_last_page
7417
+ .section .rodata.str1.1
7418
+.LC104:
7419
+ .ascii "FtlMapWritePage error = %x \012\000"
7420
+.LC105:
7421
+ .ascii "FtlMapWritePage error = %x error count = %d\012\000"
7422
+ .text
72717423 .align 1
72727424 .global FtlMapWritePage
72737425 .syntax unified
....@@ -7282,150 +7434,155 @@
72827434 push {r0, r1, r2, r4, r5, r6, r7, r8, r9, r10, fp, lr}
72837435 .save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
72847436 .pad #12
7285
- lsl r10, r1, #2
7286
- ldr r7, .L1057
72877437 mov r4, r0
7438
+ ldr r5, .L1039
7439
+ ldr r10, .L1039+4
72887440 mov r8, r1
7441
+ lsl fp, r1, #2
7442
+ str r2, [sp, #4]
72897443 movs r6, #0
7290
- ldr r9, .L1057+20
7291
- mov r5, r7
7292
- str r2, [sp]
7293
-.L1033:
7294
- ldr r3, [r7, #2572]
7444
+.L1016:
7445
+ ldr r3, [r5, #2572]
72957446 adds r3, r3, #1
7296
- str r3, [r7, #2572]
7297
- ldrh r3, [r7, #304]
7447
+ str r3, [r5, #2572]
7448
+ ldrh r3, [r5, #304]
72987449 ldrh r2, [r4, #2]
72997450 subs r3, r3, #1
73007451 cmp r2, r3
7301
- bge .L1034
7452
+ bge .L1017
73027453 ldrh r2, [r4]
73037454 movw r3, #65535
73047455 cmp r2, r3
7305
- bne .L1035
7306
-.L1034:
7456
+ bne .L1018
7457
+.L1017:
73077458 mov r0, r4
73087459 bl Ftl_write_map_blk_to_last_page
7309
-.L1035:
7460
+.L1018:
73107461 ldrh r2, [r4]
73117462 ldr r3, [r4, #12]
73127463 ldrh r3, [r3, r2, lsl #1]
7313
- cbnz r3, .L1036
7464
+ cbnz r3, .L1019
7465
+ ldr r0, .L1039+8
7466
+ mov r1, r10
73147467 mov r2, #700
7315
- mov r1, r9
7316
- ldr r0, .L1057+4
73177468 bl sftl_printk
7318
-.L1036:
7469
+.L1019:
73197470 ldrh r2, [r4]
73207471 ldrh r3, [r4, #10]
73217472 cmp r2, r3
7322
- bcc .L1037
7473
+ bcc .L1020
7474
+ ldr r0, .L1039+8
7475
+ mov r1, r10
73237476 movw r2, #701
7324
- mov r1, r9
7325
- ldr r0, .L1057+4
73267477 bl sftl_printk
7327
-.L1037:
7478
+.L1020:
73287479 ldrh r2, [r4]
73297480 movs r1, #0
73307481 ldr r3, [r4, #12]
73317482 ldr r0, [r5, #3332]
7332
- ldrh fp, [r3, r2, lsl #1]
7483
+ ldrh r9, [r3, r2, lsl #1]
73337484 ldrh r2, [r4, #2]
7334
- ldr r3, [sp]
7335
- str r0, [r5, #3464]
7336
- orr r2, r2, fp, lsl #10
7485
+ ldr r3, [sp, #4]
73377486 str r3, [r5, #3460]
7487
+ orr r2, r2, r9, lsl #10
73387488 str r2, [r5, #3456]
73397489 movs r2, #16
7490
+ str r0, [r5, #3464]
73407491 bl ftl_memset
7341
- ldr r2, [r5, #3464]
7342
- ldr r1, [r4, #28]
7343
- strh r8, [r2, #8] @ movhi
7344
- str r1, [r2, #4]
7345
- ldrh r1, [r4, #4]
7346
- strh fp, [r2, #2] @ movhi
7347
- str r2, [sp, #4]
7348
- strh r1, [r2] @ movhi
7492
+ ldr r7, [r5, #3464]
7493
+ ldr r2, [r4, #28]
7494
+ str r2, [r7, #4]
7495
+ strh r8, [r7, #8] @ movhi
7496
+ ldrh r2, [r4, #4]
7497
+ strh r2, [r7] @ movhi
7498
+ strh r9, [r7, #2] @ movhi
73497499 ldrh r1, [r5, #310]
73507500 ldr r0, [r5, #3460]
73517501 bl js_hash
7352
- ldr r2, [sp, #4]
73537502 movs r3, #1
7354
- mov r1, r3
7355
- str r0, [r2, #12]
7503
+ str r0, [r7, #12]
73567504 mov r2, r3
7357
- ldr r0, .L1057+8
7505
+ mov r1, r3
7506
+ ldr r0, .L1039+12
73587507 bl FlashProgPages
73597508 ldrh r3, [r4, #2]
73607509 adds r3, r3, #1
73617510 strh r3, [r4, #2] @ movhi
73627511 ldr r3, [r5, #3452]
73637512 adds r3, r3, #1
7364
- bne .L1038
7513
+ bne .L1021
73657514 ldr r1, [r5, #3456]
73667515 adds r6, r6, #1
7367
- ldr r0, .L1057+12
7368
- uxth r6, r6
7516
+ ldr r0, .L1039+16
73697517 bl sftl_printk
73707518 ldrh r3, [r4, #2]
7519
+ uxth r6, r6
73717520 cmp r3, #2
73727521 ittt ls
73737522 ldrhls r3, [r5, #304]
73747523 addls r3, r3, #-1
73757524 strhls r3, [r4, #2] @ movhi
73767525 cmp r6, #3
7377
- bls .L1040
7378
- mov r2, r6
7526
+ bls .L1023
73797527 ldr r1, [r5, #3456]
7380
- ldr r0, .L1057+16
7528
+ mov r2, r6
7529
+ ldr r0, .L1039+20
73817530 bl sftl_printk
7382
-.L1041:
7383
- b .L1041
7384
-.L1040:
7531
+.L1024:
7532
+ b .L1024
7533
+.L1023:
73857534 ldr r3, [r4, #32]
73867535 cmp r3, #0
7387
- beq .L1033
7388
-.L1056:
7389
- b .L1056
7390
-.L1038:
7536
+ beq .L1016
7537
+.L1026:
7538
+ b .L1026
7539
+.L1021:
73917540 ldr r3, [r4, #24]
73927541 ldr r2, [r5, #3456]
7393
- str r2, [r3, r10]
7542
+ str r2, [r3, fp]
73947543 ldrh r3, [r4, #2]
73957544 cmp r3, #1
7396
- beq .L1044
7545
+ beq .L1027
73977546 ldr r3, [r5, #3452]
73987547 cmp r3, #256
7399
- beq .L1044
7548
+ beq .L1027
74007549 ldr r2, [r4, #36]
7401
- cbz r2, .L1045
7402
-.L1044:
7550
+ cbz r2, .L1028
7551
+.L1027:
74037552 movs r3, #0
74047553 str r3, [r4, #36]
7405
- b .L1033
7406
-.L1045:
7554
+ b .L1016
7555
+.L1028:
74077556 adds r3, r3, #1
7408
- bne .L1046
7557
+ bne .L1029
7558
+ ldr r1, .L1039+4
74097559 movw r2, #745
7410
- ldr r1, .L1057+20
7411
- ldr r0, .L1057+4
7560
+ ldr r0, .L1039+8
74127561 bl sftl_printk
7413
-.L1046:
7562
+.L1029:
74147563 movs r0, #0
74157564 add sp, sp, #12
74167565 @ sp needed
74177566 pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
7418
-.L1058:
7567
+.L1040:
74197568 .align 2
7420
-.L1057:
7569
+.L1039:
74217570 .word .LANCHOR0
7571
+ .word .LANCHOR1+332
74227572 .word .LC8
74237573 .word .LANCHOR0+3452
74247574 .word .LC104
74257575 .word .LC105
7426
- .word .LANCHOR1+363
74277576 .fnend
74287577 .size FtlMapWritePage, .-FtlMapWritePage
7578
+ .section .rodata.str1.1
7579
+.LC106:
7580
+ .ascii "region_id = %x phyAddr = %x\012\000"
7581
+.LC107:
7582
+ .ascii "map_ppn:\000"
7583
+.LC108:
7584
+ .ascii "load_l2p_region refresh = %x phyAddr = %x\012\000"
7585
+ .text
74297586 .align 1
74307587 .global load_l2p_region
74317588 .syntax unified
....@@ -7439,102 +7596,98 @@
74397596 @ frame_needed = 0, uses_anonymous_args = 0
74407597 push {r4, r5, r6, r7, r8, lr}
74417598 .save {r4, r5, r6, r7, r8, lr}
7442
- mov r6, r0
7443
- ldr r4, .L1066
7444
- mov r8, r1
7599
+ mov r5, r0
7600
+ ldr r4, .L1050
7601
+ mov r6, r1
74457602 ldrh r3, [r4, #336]
74467603 cmp r3, r0
7447
- bcs .L1060
7604
+ bcs .L1042
7605
+ ldr r1, .L1050+4
74487606 movw r2, #485
7449
- ldr r1, .L1066+4
7450
- ldr r0, .L1066+8
7607
+ ldr r0, .L1050+8
74517608 bl sftl_printk
7452
-.L1060:
7609
+.L1042:
74537610 ldr r3, [r4, #3376]
7454
- movs r5, #12
7455
- ldr r7, [r3, r6, lsl #2]
7456
- cbnz r7, .L1061
7457
- mul r5, r5, r8
7611
+ movs r1, #12
7612
+ muls r6, r1, r6
7613
+ ldr r7, [r3, r5, lsl #2]
74587614 ldr r3, [r4, #2540]
7459
- ldrh r2, [r4, #310]
7460
- movs r1, #255
7461
- add r3, r3, r5
7615
+ add r3, r3, r6
74627616 ldr r0, [r3, #8]
7617
+ cbnz r7, .L1043
7618
+ movs r1, #255
7619
+ ldrh r2, [r4, #310]
74637620 bl ftl_memset
74647621 ldr r3, [r4, #2540]
7465
- strh r6, [r3, r5] @ movhi
7466
- ldr r3, [r4, #2540]
7467
- add r5, r5, r3
7468
- str r7, [r5, #4]
7469
-.L1062:
7622
+ strh r5, [r3, r6] @ movhi
7623
+ ldr r1, [r4, #2540]
7624
+ add r6, r6, r1
7625
+ str r7, [r6, #4]
7626
+.L1044:
74707627 movs r0, #0
74717628 pop {r4, r5, r6, r7, r8, pc}
7472
-.L1061:
7473
- mul r5, r5, r8
7474
- ldr r3, [r4, #2540]
7475
- movs r2, #1
7476
- ldr r0, .L1066+12
7477
- mov r1, r2
7478
- str r7, [r4, #3456]
7479
- add r3, r3, r5
7480
- ldr r3, [r3, #8]
7481
- str r3, [r4, #3460]
7629
+.L1043:
74827630 ldr r3, [r4, #3332]
7631
+ movs r2, #1
7632
+ str r0, [r4, #3460]
7633
+ mov r1, r2
7634
+ ldr r0, .L1050+12
74837635 str r3, [r4, #3464]
7636
+ str r7, [r4, #3456]
74847637 bl FlashReadPages
74857638 ldr r8, [r4, #3464]
74867639 ldrh r3, [r8, #8]
7487
- cmp r3, r6
7488
- beq .L1063
7640
+ cmp r3, r5
7641
+ beq .L1045
7642
+ ldr r0, .L1050+16
74897643 mov r2, r7
7490
- mov r1, r6
7491
- ldr r0, .L1066+16
7644
+ mov r1, r5
74927645 bl sftl_printk
74937646 movs r3, #4
74947647 ldr r1, [r4, #3464]
74957648 mov r2, r3
7496
- ldr r0, .L1066+20
7649
+ ldr r0, .L1050+20
74977650 bl rknand_print_hex
74987651 ldrh r3, [r4, #336]
7499
- movs r2, #4
75007652 ldr r1, [r4, #3376]
7501
- ldr r0, .L1066+24
7653
+ movs r2, #4
7654
+ ldr r0, .L1050+24
75027655 bl rknand_print_hex
7503
-.L1064:
7656
+.L1046:
75047657 ldrh r3, [r8, #8]
7505
- cmp r3, r6
7506
- beq .L1065
7658
+ cmp r3, r5
7659
+ beq .L1048
7660
+ ldr r1, .L1050+4
75077661 mov r2, #508
7508
- ldr r1, .L1066+4
7509
- ldr r0, .L1066+8
7662
+ ldr r0, .L1050+8
75107663 bl sftl_printk
7511
-.L1065:
7664
+.L1048:
75127665 ldr r3, [r4, #2540]
75137666 movs r1, #0
7514
- adds r2, r3, r5
7667
+ adds r2, r3, r6
75157668 str r1, [r2, #4]
7516
- strh r6, [r3, r5] @ movhi
7517
- b .L1062
7518
-.L1063:
7669
+ strh r5, [r3, r6] @ movhi
7670
+ b .L1044
7671
+.L1045:
75197672 ldr r3, [r4, #3452]
75207673 cmp r3, #256
7521
- bne .L1064
7674
+ bne .L1048
75227675 mov r2, r7
7523
- mov r1, r6
7524
- ldr r0, .L1066+28
7676
+ mov r1, r5
7677
+ ldr r0, .L1050+28
75257678 bl sftl_printk
75267679 ldr r3, [r4, #2540]
7527
- mov r1, r6
7528
- ldr r0, .L1066+32
7529
- add r3, r3, r5
7680
+ mov r1, r5
7681
+ ldr r0, .L1050+32
7682
+ add r3, r3, r6
75307683 ldr r2, [r3, #8]
75317684 bl FtlMapWritePage
7532
- b .L1064
7533
-.L1067:
7685
+ b .L1046
7686
+.L1051:
75347687 .align 2
7535
-.L1066:
7688
+.L1050:
75367689 .word .LANCHOR0
7537
- .word .LANCHOR1+379
7690
+ .word .LANCHOR1+348
75387691 .word .LC8
75397692 .word .LANCHOR0+3452
75407693 .word .LC106
....@@ -7559,115 +7712,222 @@
75597712 .save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
75607713 .pad #12
75617714 mov r4, r0
7562
- ldr r6, [r0, #12]
7715
+ ldr r5, .L1068
7716
+ ldr r7, [r0, #12]
75637717 ldr r10, [r0, #24]
75647718 bl ftl_free_no_use_map_blk
75657719 ldrh r3, [r4, #10]
75667720 ldrh r2, [r4, #8]
7567
- ldr r5, .L1084
75687721 subs r3, r3, #5
75697722 cmp r2, r3
7570
- blt .L1069
7723
+ blt .L1053
75717724 uxth r0, r0
7572
- ldrh r9, [r6, r0, lsl #1]
7725
+ ldrh r9, [r7, r0, lsl #1]
75737726 cmp r9, #0
7574
- beq .L1069
7575
- ldr r3, [r4, #32]
7576
- cbnz r3, .L1069
7577
- movs r2, #1
7578
- str r2, [r4, #32]
7579
- strh r3, [r6, r0, lsl #1] @ movhi
7727
+ beq .L1053
7728
+ ldr r6, [r4, #32]
7729
+ cbnz r6, .L1053
7730
+ movs r3, #1
7731
+ str r3, [r4, #32]
7732
+ strh r6, [r7, r0, lsl #1] @ movhi
75807733 ldrh r3, [r4, #8]
75817734 ldrh r2, [r4, #2]
75827735 subs r3, r3, #1
75837736 strh r3, [r4, #8] @ movhi
75847737 ldrh r3, [r5, #304]
75857738 cmp r2, r3
7586
- bcc .L1070
7739
+ bcc .L1055
75877740 mov r0, r4
75887741 bl ftl_map_blk_alloc_new_blk
7589
-.L1070:
7590
- movs r6, #0
7591
-.L1071:
7742
+.L1055:
75927743 ldrh r2, [r4, #6]
75937744 uxth fp, r6
75947745 cmp r2, fp
7595
- bhi .L1078
7596
- movs r1, #1
7746
+ bhi .L1062
75977747 mov r0, r9
7748
+ movs r1, #1
75987749 bl FtlFreeSysBlkQueueIn
75997750 movs r3, #0
76007751 str r3, [r4, #32]
7601
-.L1069:
7752
+.L1053:
76027753 ldrh r2, [r4, #2]
76037754 ldrh r3, [r5, #304]
76047755 cmp r2, r3
7605
- bcc .L1079
7756
+ bcc .L1063
76067757 mov r0, r4
76077758 bl ftl_map_blk_alloc_new_blk
7608
-.L1079:
7759
+.L1063:
76097760 movs r0, #0
76107761 add sp, sp, #12
76117762 @ sp needed
76127763 pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
7613
-.L1078:
7764
+.L1062:
76147765 uxth r7, r6
7615
- ldr r2, [r10, r7, lsl #2]
76167766 add r3, r10, r7, lsl #2
76177767 str r3, [sp, #4]
7768
+ ldr r2, [r10, r7, lsl #2]
76187769 cmp r9, r2, lsr #10
7619
- bne .L1072
7770
+ bne .L1056
76207771 ldr r2, [r5, #3304]
76217772 ldr r8, [r5, #3332]
7622
- ldr r0, .L1084+4
76237773 str r2, [r5, #3460]
76247774 str r8, [r5, #3464]
76257775 ldr r2, [r10, r7, lsl #2]
76267776 str r2, [r5, #3456]
76277777 movs r2, #1
7778
+ ldr r0, .L1068+4
76287779 mov r1, r2
76297780 bl FlashReadPages
76307781 ldrh r2, [r8, #8]
76317782 cmp r2, fp
7632
- beq .L1073
7783
+ beq .L1057
7784
+ ldr r1, .L1068+8
76337785 movw r2, #611
7634
- ldr r1, .L1084+8
7635
- ldr r0, .L1084+12
7786
+ ldr r0, .L1068+12
76367787 bl sftl_printk
7637
-.L1073:
7788
+.L1057:
76387789 ldr r2, [r5, #3452]
76397790 adds r2, r2, #1
7640
- bne .L1074
7641
-.L1076:
7791
+ bne .L1058
7792
+.L1060:
76427793 ldr r2, [sp, #4]
76437794 movs r3, #0
76447795 str r3, [r2]
7645
-.L1075:
7646
- b .L1075
7647
-.L1074:
7796
+.L1059:
7797
+ b .L1059
7798
+.L1058:
76487799 ldrh r2, [r8, #8]
76497800 cmp r2, fp
7650
- bne .L1076
7801
+ bne .L1060
76517802 ldrh r2, [r8]
76527803 ldrh r3, [r4, #4]
76537804 cmp r2, r3
7654
- bne .L1076
7805
+ bne .L1060
76557806 ldr r2, [r5, #3460]
76567807 mov r1, r7
76577808 mov r0, r4
76587809 bl FtlMapWritePage
7659
-.L1072:
7810
+.L1056:
76607811 adds r6, r6, #1
7661
- b .L1071
7662
-.L1085:
7812
+ b .L1055
7813
+.L1069:
76637814 .align 2
7664
-.L1084:
7815
+.L1068:
76657816 .word .LANCHOR0
76667817 .word .LANCHOR0+3452
7667
- .word .LANCHOR1+395
7818
+ .word .LANCHOR1+364
76687819 .word .LC8
76697820 .fnend
76707821 .size ftl_map_blk_gc, .-ftl_map_blk_gc
7822
+ .align 1
7823
+ .global Ftl_write_map_blk_to_last_page
7824
+ .syntax unified
7825
+ .thumb
7826
+ .thumb_func
7827
+ .fpu softvfp
7828
+ .type Ftl_write_map_blk_to_last_page, %function
7829
+Ftl_write_map_blk_to_last_page:
7830
+ .fnstart
7831
+ @ args = 0, pretend = 0, frame = 0
7832
+ @ frame_needed = 0, uses_anonymous_args = 0
7833
+ push {r4, r5, r6, r7, r8, lr}
7834
+ .save {r4, r5, r6, r7, r8, lr}
7835
+ movw r2, #65535
7836
+ mov r4, r0
7837
+ ldrh r3, [r0]
7838
+ ldr r5, [r0, #12]
7839
+ cmp r3, r2
7840
+ bne .L1071
7841
+ ldrh r3, [r0, #8]
7842
+ cbz r3, .L1072
7843
+ ldr r1, .L1080
7844
+ movw r2, #641
7845
+ ldr r0, .L1080+4
7846
+ bl sftl_printk
7847
+.L1072:
7848
+ ldrh r3, [r4, #8]
7849
+ adds r3, r3, #1
7850
+ strh r3, [r4, #8] @ movhi
7851
+ bl FtlFreeSysBlkQueueOut
7852
+ strh r0, [r5] @ movhi
7853
+ movs r3, #0
7854
+ str r3, [r4]
7855
+ ldr r3, [r4, #28]
7856
+ adds r3, r3, #1
7857
+ str r3, [r4, #28]
7858
+.L1073:
7859
+ movs r0, #0
7860
+ pop {r4, r5, r6, r7, r8, pc}
7861
+.L1071:
7862
+ ldrh r7, [r5, r3, lsl #1]
7863
+ movs r1, #255
7864
+ ldr r5, .L1080+8
7865
+ ldrh r3, [r0, #2]
7866
+ ldr r8, [r0, #24]
7867
+ ldr r6, [r5, #3332]
7868
+ orr r3, r3, r7, lsl #10
7869
+ str r3, [r5, #3456]
7870
+ ldr r3, [r5, #3300]
7871
+ str r3, [r5, #3460]
7872
+ ldr r3, [r0, #28]
7873
+ str r6, [r5, #3464]
7874
+ str r3, [r6, #4]
7875
+ movw r3, #64245
7876
+ strh r3, [r6, #8] @ movhi
7877
+ ldrh r3, [r0, #4]
7878
+ strh r3, [r6] @ movhi
7879
+ strh r7, [r6, #2] @ movhi
7880
+ ldrh r2, [r5, #304]
7881
+ ldr r0, [r5, #3300]
7882
+ lsls r2, r2, #3
7883
+ bl ftl_memset
7884
+ movs r2, #0
7885
+ mov r3, r2
7886
+.L1074:
7887
+ ldrh r0, [r4, #6]
7888
+ uxth r1, r2
7889
+ cmp r0, r1
7890
+ bhi .L1076
7891
+ ldrh r1, [r5, #310]
7892
+ ldr r0, [r5, #3460]
7893
+ bl js_hash
7894
+ movs r2, #1
7895
+ str r0, [r6, #12]
7896
+ mov r1, r2
7897
+ movs r3, #0
7898
+ ldr r0, .L1080+12
7899
+ bl FlashProgPages
7900
+ ldrh r3, [r4, #2]
7901
+ mov r0, r4
7902
+ adds r3, r3, #1
7903
+ strh r3, [r4, #2] @ movhi
7904
+ bl ftl_map_blk_gc
7905
+ b .L1073
7906
+.L1076:
7907
+ uxth r0, r2
7908
+ ldr r1, [r8, r0, lsl #2]
7909
+ cmp r7, r1, lsr #10
7910
+ bne .L1075
7911
+ adds r3, r3, #1
7912
+ ldr r1, [r5, #3300]
7913
+ uxth r3, r3
7914
+ str r0, [r1, r3, lsl #3]
7915
+ ldr r1, [r5, #3300]
7916
+ ldr r0, [r8, r0, lsl #2]
7917
+ add r1, r1, r3, lsl #3
7918
+ str r0, [r1, #4]
7919
+.L1075:
7920
+ adds r2, r2, #1
7921
+ b .L1074
7922
+.L1081:
7923
+ .align 2
7924
+.L1080:
7925
+ .word .LANCHOR1+379
7926
+ .word .LC8
7927
+ .word .LANCHOR0
7928
+ .word .LANCHOR0+3452
7929
+ .fnend
7930
+ .size Ftl_write_map_blk_to_last_page, .-Ftl_write_map_blk_to_last_page
76717931 .align 1
76727932 .global flush_l2p_region
76737933 .syntax unified
....@@ -7682,24 +7942,24 @@
76827942 push {r3, r4, r5, lr}
76837943 .save {r3, r4, r5, lr}
76847944 movs r4, #12
7685
- ldr r5, .L1087
7945
+ ldr r5, .L1083
76867946 muls r4, r0, r4
7687
- ldr r3, [r5, #2540]
76887947 add r0, r5, #3392
7948
+ ldr r3, [r5, #2540]
76897949 adds r2, r3, r4
76907950 ldrh r1, [r3, r4]
76917951 ldr r2, [r2, #8]
76927952 bl FtlMapWritePage
7693
- ldr r3, [r5, #2540]
7953
+ ldr r0, [r5, #2540]
7954
+ add r4, r4, r0
76947955 movs r0, #0
7695
- add r4, r4, r3
76967956 ldr r3, [r4, #4]
76977957 bic r3, r3, #-2147483648
76987958 str r3, [r4, #4]
76997959 pop {r3, r4, r5, pc}
7700
-.L1088:
7960
+.L1084:
77017961 .align 2
7702
-.L1087:
7962
+.L1083:
77037963 .word .LANCHOR0
77047964 .fnend
77057965 .size flush_l2p_region, .-flush_l2p_region
....@@ -7714,107 +7974,103 @@
77147974 .fnstart
77157975 @ args = 0, pretend = 0, frame = 0
77167976 @ frame_needed = 0, uses_anonymous_args = 0
7717
- push {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
7718
- .save {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
7719
- mov r9, r0
7720
- ldr r4, .L1102
7721
- mov r5, r1
7977
+ push {r4, r5, r6, r7, r8, r9, r10, lr}
7978
+ .save {r4, r5, r6, r7, r8, r9, r10, lr}
7979
+ mov r5, r0
7980
+ ldr r9, .L1097
7981
+ mov r6, r1
77227982 mov r7, r2
7723
- ldr r3, [r4, #2552]
7724
- ldrh r10, [r4, #308]
7725
- cmp r0, r3
7726
- bcc .L1090
7983
+ ldrh r4, [r9, #308]
7984
+ adds r3, r4, #7
7985
+ movs r4, #1
7986
+ lsls r4, r4, r3
7987
+ subs r4, r4, #1
7988
+ lsr r8, r0, r3
7989
+ ands r4, r4, r0
7990
+ ldr r3, [r9, #2552]
7991
+ uxth r8, r8
7992
+ uxth r4, r4
7993
+ cmp r3, r0
7994
+ bhi .L1086
7995
+ ldr r1, .L1097+4
77277996 mov r2, #820
7728
- ldr r1, .L1102+4
7729
- ldr r0, .L1102+8
7997
+ ldr r0, .L1097+8
77307998 bl sftl_printk
7731
-.L1090:
7732
- ldr r3, [r4, #2552]
7733
- cmp r9, r3
7734
- bcs .L1091
7735
- add r10, r10, #7
7736
- ldrh r2, [r4, #338]
7737
- lsr r6, r9, r10
7738
- ldr r1, [r4, #2540]
7739
- movs r3, #0
7740
- uxth r6, r6
7741
- mov fp, #12
7742
-.L1092:
7743
- uxth r8, r3
7744
- cmp r8, r2
7745
- bcc .L1097
7746
- bl select_l2p_ram_region
7747
- mul fp, fp, r0
7748
- ldr r3, [r4, #2540]
7749
- mov r8, r0
7750
- ldrh r1, [r3, fp]
7751
- add r2, r3, fp
7752
- movw r3, #65535
7753
- cmp r1, r3
7754
- beq .L1098
7755
- ldr r3, [r2, #4]
7756
- cmp r3, #0
7757
- bge .L1098
7758
- bl flush_l2p_region
7759
-.L1098:
7760
- mov r1, r8
7761
- mov r0, r6
7762
- bl load_l2p_region
7763
- b .L1094
7764
-.L1091:
7999
+ ldr r3, [r9, #2552]
8000
+ cmp r3, r5
8001
+ bhi .L1086
77658002 mov r0, #-1
7766
- cbnz r7, .L1089
7767
- str r0, [r5]
7768
- pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
7769
-.L1097:
8003
+ cbnz r7, .L1085
8004
+ str r0, [r6]
8005
+.L1085:
8006
+ pop {r4, r5, r6, r7, r8, r9, r10, pc}
8007
+.L1092:
77708008 adds r3, r3, #1
7771
- mla r0, fp, r3, r1
7772
- ldrh r0, [r0, #-12]
7773
- cmp r0, r6
7774
- bne .L1092
7775
-.L1094:
7776
- movs r0, #1
7777
- movs r3, #12
7778
- lsl r0, r0, r10
7779
- subs r0, r0, #1
7780
- and r0, r0, r9
7781
- uxth r0, r0
7782
- cbnz r7, .L1095
7783
- ldr r2, [r4, #2540]
7784
- mla r3, r3, r8, r2
7785
- ldr r3, [r3, #8]
7786
- ldr r3, [r3, r0, lsl #2]
7787
- str r3, [r5]
7788
-.L1096:
7789
- ldr r2, [r4, #2540]
7790
- movs r3, #12
7791
- mla r8, r3, r8, r2
7792
- ldr r3, [r8, #4]
7793
- adds r2, r3, #1
7794
- beq .L1100
7795
- adds r3, r3, #1
7796
- str r3, [r8, #4]
7797
-.L1100:
7798
- movs r0, #0
8009
+ mul r0, r10, r3
8010
+ ldrh r0, [r2, r0]
8011
+ cmp r0, r8
8012
+ bne .L1088
77998013 .L1089:
7800
- pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
8014
+ movs r1, #12
8015
+ ldr r3, [r9, #2540]
8016
+ muls r5, r1, r5
8017
+ add r3, r3, r5
8018
+ ldr r3, [r3, #8]
8019
+ cbnz r7, .L1090
8020
+ ldr r3, [r3, r4, lsl #2]
8021
+ str r3, [r6]
8022
+.L1091:
8023
+ ldr r1, [r9, #2540]
8024
+ add r5, r5, r1
8025
+ ldr r3, [r5, #4]
8026
+ adds r2, r3, #1
8027
+ beq .L1095
8028
+ adds r3, r3, #1
8029
+ str r3, [r5, #4]
78018030 .L1095:
7802
- mul r3, r3, r8
7803
- ldr r2, [r4, #2540]
7804
- ldr r1, [r5]
7805
- add r2, r2, r3
7806
- ldr r2, [r2, #8]
7807
- str r1, [r2, r0, lsl #2]
7808
- ldr r2, [r4, #2540]
7809
- strh r6, [r4, #2544] @ movhi
7810
- add r3, r3, r2
8031
+ movs r0, #0
8032
+ b .L1085
8033
+.L1090:
8034
+ ldr r2, [r6]
8035
+ str r2, [r3, r4, lsl #2]
8036
+ strh r8, [r9, #2544] @ movhi
8037
+ ldr r3, [r9, #2540]
8038
+ add r3, r3, r5
78118039 ldr r2, [r3, #4]
78128040 orr r2, r2, #-2147483648
78138041 str r2, [r3, #4]
7814
- b .L1096
7815
-.L1103:
8042
+ b .L1091
8043
+.L1086:
8044
+ ldr r2, [r9, #2540]
8045
+ movs r3, #0
8046
+ ldrh r1, [r9, #338]
8047
+ mov r10, #12
8048
+ subs r2, r2, #12
8049
+.L1088:
8050
+ uxth r5, r3
8051
+ cmp r1, r5
8052
+ bhi .L1092
8053
+ bl select_l2p_ram_region
8054
+ mul r10, r10, r0
8055
+ ldr r3, [r9, #2540]
8056
+ mov r5, r0
8057
+ add r2, r3, r10
8058
+ ldrh r1, [r3, r10]
8059
+ movw r3, #65535
8060
+ cmp r1, r3
8061
+ beq .L1093
8062
+ ldr r3, [r2, #4]
8063
+ cmp r3, #0
8064
+ bge .L1093
8065
+ bl flush_l2p_region
8066
+.L1093:
8067
+ mov r1, r5
8068
+ mov r0, r8
8069
+ bl load_l2p_region
8070
+ b .L1089
8071
+.L1098:
78168072 .align 2
7817
-.L1102:
8073
+.L1097:
78188074 .word .LANCHOR0
78198075 .word .LANCHOR1+410
78208076 .word .LC8
....@@ -7831,114 +8087,112 @@
78318087 .fnstart
78328088 @ args = 0, pretend = 0, frame = 32
78338089 @ frame_needed = 0, uses_anonymous_args = 0
7834
- push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
7835
- .save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
7836
- .pad #36
7837
- sub sp, sp, #36
7838
- ldr r4, .L1123
7839
- ldr r7, .L1123+4
8090
+ push {r4, r5, r6, r7, r8, r9, r10, lr}
8091
+ .save {r4, r5, r6, r7, r8, r9, r10, lr}
8092
+ ldr r4, .L1118
8093
+ .pad #32
8094
+ sub sp, sp, #32
8095
+ mov r3, sp
8096
+ bic r8, r3, #8160
8097
+ bic r8, r8, #31
78408098 ldrh r2, [r4, #28]
7841
- ldr r3, [r7]
8099
+ ldr r3, [r8, #24]
78428100 str r3, [sp, #28]
78438101 cmp r2, #0
7844
- beq .L1105
8102
+ beq .L1100
78458103 ldrb r3, [r4, #32] @ zero_extendqisi2
78468104 cmp r3, #0
7847
- bne .L1105
7848
- ldrb r1, [r4, #31] @ zero_extendqisi2
7849
- ldrh r3, [r4, #302]
8105
+ bne .L1100
8106
+ ldrb r3, [r4, #31] @ zero_extendqisi2
8107
+ ldrh r1, [r4, #302]
78508108 muls r3, r1, r3
78518109 cmp r2, r3
7852
- beq .L1105
7853
- ldrb r8, [r4, #34] @ zero_extendqisi2
7854
- cmp r8, #0
7855
- bne .L1104
7856
- ldr r6, [r4, #2552]
7857
- mov r2, r8
8110
+ beq .L1100
8111
+ ldrb r6, [r4, #34] @ zero_extendqisi2
8112
+ cbnz r6, .L1099
8113
+ ldr r7, [r4, #2552]
8114
+ mov r2, r6
78588115 add r1, sp, #4
78598116 ldrh r9, [r4, #232]
7860
- subs r6, r6, #1
7861
- mov r0, r6
8117
+ subs r7, r7, #1
8118
+ mov r0, r7
78628119 bl log2phys
7863
- ldr r3, [sp, #4]
78648120 ldr r5, [r4, #3332]
8121
+ ldr r3, [sp, #4]
78658122 ldr r0, [r4, #3300]
78668123 str r3, [sp, #12]
78678124 adds r3, r3, #1
7868
- str r6, [sp, #24]
8125
+ str r7, [sp, #24]
78698126 str r0, [sp, #16]
78708127 str r5, [sp, #20]
7871
- str r8, [r5, #4]
7872
- beq .L1107
7873
- mov r2, r8
7874
- movs r1, #1
8128
+ str r6, [r5, #4]
8129
+ beq .L1102
8130
+ mov r2, r6
78758131 add r0, sp, #8
8132
+ movs r1, #1
78768133 bl FlashReadPages
7877
-.L1108:
7878
- ldr r10, .L1123+8
7879
- mov r8, #0
7880
- lsl r9, r9, #2
7881
- mov fp, r8
8134
+.L1103:
8135
+ lsl r6, r9, #2
8136
+ ldr r9, .L1118+4
78828137 movw r3, #61589
8138
+ mov r10, #0
78838139 strh r3, [r5] @ movhi
7884
-.L1109:
7885
- cmp r9, r8
7886
- bne .L1113
7887
-.L1110:
7888
- movs r3, #1
7889
-.L1122:
7890
- strb r3, [r4, #34]
78918140 .L1104:
8141
+ cbnz r6, .L1108
8142
+.L1105:
8143
+ movs r3, #1
8144
+.L1117:
8145
+ strb r3, [r4, #34]
8146
+.L1099:
78928147 ldr r2, [sp, #28]
7893
- ldr r3, [r7]
8148
+ ldr r3, [r8, #24]
78948149 cmp r2, r3
7895
- beq .L1115
8150
+ beq .L1110
78968151 bl __stack_chk_fail
7897
-.L1107:
8152
+.L1102:
78988153 ldrh r2, [r4, #310]
78998154 movs r1, #255
79008155 bl ftl_memset
7901
- b .L1108
7902
-.L1113:
8156
+ b .L1103
8157
+.L1108:
79038158 ldrh r3, [r4, #28]
79048159 cmp r3, #0
7905
- beq .L1110
8160
+ beq .L1105
79068161 ldr r3, [sp, #12]
7907
- mov r0, r10
7908
- str r6, [r5, #8]
7909
- add r8, r8, #1
8162
+ mov r0, r9
79108163 str r3, [r5, #12]
8164
+ subs r6, r6, #1
79118165 ldrh r3, [r4, #24]
79128166 strh r3, [r5, #2] @ movhi
8167
+ str r7, [r5, #8]
79138168 bl get_new_active_ppa
79148169 ldr r3, [r4, #2592]
7915
- movs r1, #1
79168170 str r0, [sp, #12]
7917
- add r0, sp, #8
7918
- str r3, [r5, #4]
7919
- adds r3, r3, #1
8171
+ movs r1, #1
79208172 adds r2, r3, #1
8173
+ str r3, [r5, #4]
8174
+ adds r3, r3, #2
8175
+ add r0, sp, #8
79218176 it eq
7922
- moveq r3, fp
7923
- str r3, [r4, #2592]
8177
+ moveq r2, r10
79248178 movs r3, #0
8179
+ str r2, [r4, #2592]
79258180 mov r2, r3
79268181 bl FlashProgPages
79278182 ldrh r0, [r4, #24]
79288183 bl decrement_vpc_count
7929
- b .L1109
7930
-.L1105:
8184
+ b .L1104
8185
+.L1100:
79318186 movs r3, #0
7932
- b .L1122
7933
-.L1115:
7934
- add sp, sp, #36
8187
+ b .L1117
8188
+.L1110:
8189
+ add sp, sp, #32
79358190 @ sp needed
7936
- pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
7937
-.L1124:
8191
+ pop {r4, r5, r6, r7, r8, r9, r10, pc}
8192
+.L1119:
79388193 .align 2
7939
-.L1123:
8194
+.L1118:
79408195 .word .LANCHOR0
7941
- .word __stack_chk_guard
79428196 .word .LANCHOR0+24
79438197 .fnend
79448198 .size FtlWriteDump_data, .-FtlWriteDump_data
....@@ -7956,70 +8210,74 @@
79568210 push {r0, r1, r2, r4, r5, r6, r7, lr}
79578211 .save {r4, r5, r6, r7, lr}
79588212 .pad #12
7959
- mov r6, r0
7960
- ldr r5, .L1135
8213
+ mov r5, r0
8214
+ ldr r6, .L1130
79618215 ubfx r0, r1, #10, #16
79628216 str r1, [sp, #4]
79638217 bl P2V_block_in_plane
7964
- ldr r2, [r5, #72]
7965
- mov r7, r0
7966
- ldrh r3, [r2, r0, lsl #1]
7967
- cbnz r3, .L1126
7968
- ldr r4, [r5, #2532]
7969
- cbz r4, .L1127
7970
- ldr r1, [r5, #2516]
8218
+ mov r4, r0
8219
+ ldr r3, [r6, #72]
8220
+ ldrh r2, [r3, r0, lsl #1]
8221
+ cmp r2, #0
8222
+ bne .L1121
8223
+ ldr r3, [r6, #2532]
8224
+ cbz r3, .L1122
8225
+ ldr r1, [r6, #2516]
79718226 mov ip, #6
7972
- ldr r2, .L1135+4
8227
+ ldr r0, .L1130+4
79738228 movw lr, #65535
7974
- ldrh r0, [r5, #224]
7975
- subs r4, r4, r1
7976
- asrs r4, r4, #1
7977
- muls r4, r2, r4
7978
- uxth r4, r4
7979
-.L1128:
7980
- uxth r2, r3
7981
- cmp r0, r2
7982
- bls .L1127
7983
- cmp r4, r7
7984
- bne .L1129
8229
+ subs r3, r3, r1
8230
+ ldrh r7, [r6, #224]
8231
+ asrs r3, r3, #1
8232
+ muls r3, r0, r3
8233
+ uxth r3, r3
8234
+.L1123:
8235
+ uxth r0, r2
8236
+ cmp r7, r0
8237
+ bls .L1122
8238
+ cmp r3, r4
8239
+ bne .L1124
8240
+ ldr r0, .L1130+8
79858241 mov r1, r4
7986
- ldr r0, .L1135+8
79878242 bl List_remove_node
7988
- ldrh r3, [r5, #224]
7989
- cbnz r3, .L1130
8243
+ ldrh r3, [r6, #224]
8244
+ cbnz r3, .L1125
8245
+ ldr r1, .L1130+12
79908246 movw r2, #1742
7991
- ldr r1, .L1135+12
7992
- ldr r0, .L1135+16
8247
+ ldr r0, .L1130+16
79938248 bl sftl_printk
7994
-.L1130:
7995
- ldrh r3, [r5, #224]
8249
+.L1125:
8250
+ ldrh r3, [r6, #224]
79968251 mov r0, r4
79978252 subs r3, r3, #1
7998
- strh r3, [r5, #224] @ movhi
8253
+ strh r3, [r6, #224] @ movhi
79998254 bl INSERT_DATA_LIST
8000
- ldr r2, [r5, #72]
8001
- ldrh r3, [r2, r7, lsl #1]
8002
-.L1126:
8255
+ ldr r2, [r6, #72]
8256
+ ldrh r3, [r2, r4, lsl #1]
80038257 adds r3, r3, #1
8004
- strh r3, [r2, r7, lsl #1] @ movhi
8005
- b .L1127
8006
-.L1129:
8007
- mul r4, ip, r4
8008
- adds r3, r3, #1
8009
- ldrh r4, [r1, r4]
8010
- cmp r4, lr
8011
- bne .L1128
8012
-.L1127:
8013
- movs r2, #1
8258
+ strh r3, [r2, r4, lsl #1] @ movhi
8259
+.L1122:
80148260 add r1, sp, #4
8015
- mov r0, r6
8261
+ mov r0, r5
8262
+ movs r2, #1
80168263 bl log2phys
80178264 add sp, sp, #12
80188265 @ sp needed
80198266 pop {r4, r5, r6, r7, pc}
8020
-.L1136:
8267
+.L1124:
8268
+ mul r3, ip, r3
8269
+ adds r2, r2, #1
8270
+ ldrh r3, [r1, r3]
8271
+ cmp r3, lr
8272
+ bne .L1123
8273
+ b .L1122
8274
+.L1121:
8275
+ adds r2, r2, #1
8276
+ strh r2, [r3, r0, lsl #1] @ movhi
8277
+ b .L1122
8278
+.L1131:
80218279 .align 2
8022
-.L1135:
8280
+.L1130:
80238281 .word .LANCHOR0
80248282 .word -1431655765
80258283 .word .LANCHOR0+2532
....@@ -8027,6 +8285,12 @@
80278285 .word .LC8
80288286 .fnend
80298287 .size FtlReUsePrevPpa, .-FtlReUsePrevPpa
8288
+ .section .rodata.str1.1
8289
+.LC109:
8290
+ .ascii "data prev_ppa = %x error...................\012\000"
8291
+.LC110:
8292
+ .ascii "spuer block %x vpn is 0\012 \000"
8293
+ .text
80308294 .align 1
80318295 .global FtlRecoverySuperblock
80328296 .syntax unified
....@@ -8038,636 +8302,631 @@
80388302 .fnstart
80398303 @ args = 0, pretend = 0, frame = 48
80408304 @ frame_needed = 0, uses_anonymous_args = 0
8041
- ldr r3, .L1274
8042
- movw r2, #65535
80438305 push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
80448306 .save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
8307
+ movw r1, #65535
8308
+ mov r10, r0
80458309 .pad #52
80468310 sub sp, sp, #52
8047
- mov r10, r0
8048
- ldr r3, [r3]
8311
+ mov r3, sp
8312
+ bic r3, r3, #8160
8313
+ bic r3, r3, #31
8314
+ ldr r3, [r3, #24]
80498315 str r3, [sp, #44]
80508316 ldrh r3, [r0]
8051
- cmp r3, r2
8052
- beq .L1139
8317
+ cmp r3, r1
8318
+ beq .L1134
8319
+ ldr r5, .L1264
80538320 ldrh r3, [r0, #2]
8054
- ldr r4, .L1274+4
80558321 str r3, [sp]
80568322 ldrb r3, [r0, #6] @ zero_extendqisi2
8057
- ldr r1, [sp]
8058
- str r3, [sp, #20]
8059
- ldrh r3, [r4, #302]
8060
- cmp r3, r1
8061
- mov r3, #0
8062
- bne .L1140
8063
- strh r3, [r0, #4] @ movhi
8064
-.L1272:
8065
- strb r3, [r10, #6]
8066
-.L1139:
8067
- ldr r3, .L1274
8068
- movs r0, #0
8069
- ldr r2, [sp, #44]
8070
- ldr r3, [r3]
8323
+ ldrh r2, [r5, #302]
8324
+ str r3, [sp, #24]
8325
+ ldr r3, [sp]
80718326 cmp r2, r3
8072
- beq .L1211
8327
+ mov r3, #0
8328
+ bne .L1135
8329
+ strh r3, [r0, #4] @ movhi
8330
+ strh r2, [r0, #2] @ movhi
8331
+.L1262:
8332
+ strb r3, [r10, #6]
8333
+.L1134:
8334
+ mov r3, sp
8335
+ ldr r2, [sp, #44]
8336
+ bic r3, r3, #8160
8337
+ bic r3, r3, #31
8338
+ ldr r3, [r3, #24]
8339
+ cmp r2, r3
8340
+ beq .L1203
80738341 bl __stack_chk_fail
8074
-.L1140:
8342
+.L1135:
80758343 ldrh r0, [r0, #16]
8076
-.L1141:
8077
- cmp r0, r2
8344
+.L1136:
80788345 uxth r6, r3
8346
+ cmp r0, r1
80798347 add r3, r3, #1
8080
- beq .L1142
8348
+ beq .L1137
80818349 movs r1, #1
80828350 bl FtlGetLastWrittenPage
8083
- adds r7, r0, #1
8084
- mov r5, r0
8085
- beq .L1143
8086
- ldr r3, [r4, #3176]
8351
+ mov r4, r0
8352
+ adds r0, r4, #1
8353
+ beq .L1138
8354
+ ldr r3, [r5, #3176]
80878355 movs r2, #0
8088
- ldrh fp, [r4, #232]
8356
+ ldrh fp, [r5, #232]
80898357 movw r9, #65535
8090
- ldr r0, [r4, #3288]
8091
- mov lr, #20
8092
- str r3, [sp, #4]
8093
- ldrh r3, [r4, #310]
8094
- ldr r8, [r4, #3180]
8095
- ldrh r7, [r4, #312]
8096
- mov r4, r2
8097
- str r3, [sp, #8]
8358
+ mov lr, r3
80988359 add r3, r10, #16
8360
+ ldr r0, [r5, #3288]
80998361 mov ip, r3
8100
- str r3, [sp, #16]
8101
-.L1144:
8362
+ ldrh r6, [r5, #310]
8363
+ ldr r8, [r5, #3180]
8364
+ ldrh r7, [r5, #312]
8365
+ mov r5, r2
8366
+ str r3, [sp, #20]
8367
+.L1139:
81028368 uxth r3, r2
81038369 cmp fp, r3
8104
- bhi .L1150
8105
- ldr r6, .L1274+4
8370
+ bhi .L1145
8371
+ ldr r6, .L1264
81068372 movs r2, #0
8107
- mov r1, r4
8108
- movw r9, #65535
8373
+ mov r1, r5
8374
+ movs r7, #0
81098375 bl FlashReadPages
8110
- ldr r3, [r6, #2592]
8111
- uxth r2, r5
8112
- ldr r8, [r6, #3288]
8376
+ movw r9, #65535
8377
+ uxth r2, r4
81138378 str r2, [sp, #8]
8379
+ ldr r3, [r6, #2592]
81148380 add fp, r3, #-1
8115
- movs r3, #0
8116
- mov r7, r8
8117
-.L1151:
8118
- uxth r2, r3
8119
- cmp r4, r2
8120
- bhi .L1156
8121
- bne .L1154
8122
- adds r3, r5, #1
8123
- uxth r3, r3
8124
- str r3, [sp, #8]
8125
-.L1267:
8126
- ldr r0, [r8, #4]
8381
+ ldr r3, [r6, #3288]
8382
+ mov r8, r3
8383
+.L1146:
8384
+ uxth r2, r7
8385
+ cmp r5, r2
8386
+ bhi .L1151
8387
+ bne .L1149
8388
+ adds r2, r4, #1
8389
+ uxth r2, r2
8390
+ str r2, [sp, #8]
8391
+.L1256:
8392
+ ldr r0, [r3, #4]
81278393 ubfx r0, r0, #10, #16
81288394 bl P2V_plane
81298395 ldrh r3, [r6, #302]
81308396 ldr r2, [sp, #8]
81318397 str r0, [sp, #4]
81328398 cmp r3, r2
8133
- bne .L1158
8134
- ldrh r3, [sp, #8]
8135
- strh r3, [r10, #2] @ movhi
8399
+ bne .L1153
81368400 movs r3, #0
8401
+ strh r2, [r10, #2] @ movhi
81378402 strb r3, [r10, #6]
81388403 strh r3, [r10, #4] @ movhi
8139
-.L1158:
8404
+.L1153:
81408405 ldr r3, [sp, #8]
81418406 ldr r2, [sp]
81428407 cmp r3, r2
8143
- bne .L1159
8408
+ bne .L1154
81448409 ldr r3, [sp, #4]
8145
- ldr r2, [sp, #20]
8410
+ ldr r2, [sp, #24]
81468411 cmp r3, r2
8147
- bne .L1159
8412
+ bne .L1154
81488413 ldr r1, [sp, #8]
81498414 mov r2, r3
8150
-.L1273:
8415
+.L1263:
81518416 mov r0, r10
81528417 bl ftl_sb_update_avl_pages
8153
- b .L1139
8154
-.L1142:
8155
- uxth r1, r3
8156
- adds r1, r1, #8
8157
- ldrh r0, [r10, r1, lsl #1]
8158
- b .L1141
8159
-.L1143:
8418
+ b .L1134
8419
+.L1137:
8420
+ uxth r2, r3
8421
+ adds r2, r2, #8
8422
+ ldrh r0, [r10, r2, lsl #1]
8423
+ b .L1136
8424
+.L1138:
81608425 ldr r3, [sp]
8161
- cbz r3, .L1145
8426
+ cbz r3, .L1140
8427
+ ldr r1, .L1264+4
81628428 movw r2, #1809
8163
- ldr r1, .L1274+8
8164
- ldr r0, .L1274+12
8429
+ ldr r0, .L1264+8
81658430 bl sftl_printk
8166
-.L1145:
8167
- ldr r3, [sp, #20]
8168
- cbz r3, .L1146
8169
- cmp r6, r3
8170
- beq .L1146
8431
+.L1140:
8432
+ ldr r3, [sp, #24]
8433
+ cbz r3, .L1141
8434
+ cmp r3, r6
8435
+ beq .L1141
8436
+ ldr r1, .L1264+4
81718437 movw r2, #1810
8172
- ldr r1, .L1274+8
8173
- ldr r0, .L1274+12
8438
+ ldr r0, .L1264+8
81748439 bl sftl_printk
8175
-.L1146:
8440
+.L1141:
81768441 movs r3, #0
81778442 strh r3, [r10, #2] @ movhi
8178
- b .L1272
8179
-.L1150:
8443
+ b .L1262
8444
+.L1145:
81808445 ldrh r3, [ip], #2
81818446 cmp r3, r9
8182
- beq .L1147
8183
- mla r1, lr, r4, r0
8184
- orr r3, r5, r3, lsl #10
8447
+ beq .L1142
8448
+ movs r1, #20
8449
+ orr r3, r4, r3, lsl #10
8450
+ mla r1, r1, r5, r0
81858451 str r3, [r1, #4]
8186
- ldr r3, [sp, #8]
8187
- muls r3, r4, r3
8452
+ mov r3, r6
8453
+ muls r3, r5, r3
81888454 it mi
81898455 addmi r3, r3, #3
81908456 bic r3, r3, #3
8191
- mov r6, r3
8192
- ldr r3, [sp, #4]
8193
- add r6, r6, r3
8457
+ add r3, r3, lr
8458
+ str r3, [r1, #8]
81948459 mov r3, r7
8195
- muls r3, r4, r3
8196
- add r4, r4, #1
8460
+ muls r3, r5, r3
8461
+ add r5, r5, #1
81978462 it mi
81988463 addmi r3, r3, #3
8199
- uxth r4, r4
8464
+ uxth r5, r5
82008465 bic r3, r3, #3
8201
- str r6, [r1, #8]
82028466 add r3, r3, r8
82038467 str r3, [r1, #12]
8204
-.L1147:
8468
+.L1142:
82058469 adds r2, r2, #1
8206
- b .L1144
8207
-.L1156:
8208
- ldr r2, [r7]
8209
- cbnz r2, .L1152
8210
- ldr r2, [r7, #12]
8470
+ b .L1139
8471
+.L1151:
8472
+ ldr r2, [r8]
8473
+ cbnz r2, .L1147
8474
+ ldr r2, [r8, #12]
82118475 str r2, [sp, #4]
82128476 ldr r2, [r2, #4]
8213
- adds r0, r2, #1
8214
- beq .L1153
8477
+ adds r1, r2, #1
8478
+ beq .L1148
82158479 ldr r1, [r6, #2592]
82168480 mov r0, r2
82178481 bl ftl_cmp_data_ver
8218
- cbz r0, .L1153
8482
+ cbz r0, .L1148
82198483 adds r2, r2, #1
82208484 str r2, [r6, #2592]
8221
-.L1153:
8485
+.L1148:
82228486 ldr r2, [sp, #4]
82238487 ldr r2, [r2]
82248488 adds r2, r2, #1
8225
- bne .L1155
8226
-.L1154:
8227
- uxth r2, r5
8228
- uxth r3, r3
8489
+ bne .L1150
8490
+.L1149:
8491
+ uxth r2, r4
82298492 str r2, [sp, #8]
82308493 movs r2, #20
8231
- mla r8, r2, r3, r8
8232
- b .L1267
8233
-.L1152:
8494
+ mla r3, r2, r7, r3
8495
+ b .L1256
8496
+.L1147:
82348497 ldr r9, [sp, #8]
8235
-.L1155:
8236
- adds r3, r3, #1
8237
- adds r7, r7, #20
8238
- b .L1151
8239
-.L1159:
8498
+.L1150:
8499
+ adds r7, r7, #1
8500
+ add r8, r8, #20
8501
+ b .L1146
8502
+.L1154:
82408503 movw r3, #65535
82418504 cmp r9, r3
8242
- bne .L1160
8505
+ bne .L1155
82438506 ldrb r3, [r10, #8] @ zero_extendqisi2
8244
- cmp r3, #0
8245
- bne .L1161
8246
-.L1160:
8507
+ cbnz r3, .L1156
8508
+.L1155:
82478509 ldr r3, [r6, #3448]
8248
- uxth r7, r5
8249
- uxth r5, r5
8510
+ uxth r2, r4
8511
+ uxth r7, r4
82508512 movw r8, #65535
82518513 adds r3, r3, #1
82528514 ldr r3, [sp]
82538515 it eq
82548516 streq fp, [r6, #3448]
8255
- ldr r6, .L1274+4
82568517 adds r3, r3, #7
8257
- cmp r5, r3
8258
- itet gt
8259
- subgt r4, r7, #7
8260
- ldrle r4, [sp]
8261
- uxthgt r4, r4
8262
-.L1164:
8263
- cmp r4, r7
8264
- bhi .L1171
8265
- movs r3, #0
8266
- ldrh lr, [r6, #232]
8518
+ ldr r6, .L1264
8519
+ cmp r3, r2
8520
+ itet lt
8521
+ sublt r4, r4, #7
8522
+ ldrge r4, [sp]
8523
+ uxthlt r4, r4
8524
+.L1159:
82678525 ldr r0, [r6, #3288]
8268
- mov r5, r3
8269
- ldr r1, [sp, #16]
8270
- mov ip, #20
8271
- b .L1172
8272
-.L1166:
8273
- ldrh r2, [r1], #2
8274
- cmp r2, r8
8275
- beq .L1165
8276
- mla r9, ip, r5, r0
8277
- adds r5, r5, #1
8278
- orr r2, r4, r2, lsl #10
8279
- uxth r5, r5
8280
- str r2, [r9, #4]
8281
-.L1165:
8282
- adds r3, r3, #1
8283
-.L1172:
8284
- uxth r2, r3
8285
- cmp lr, r2
8286
- bhi .L1166
8287
- movs r2, #0
8288
- mov r1, r5
8289
- bl FlashReadPages
8290
- ldr r3, [r6, #3288]
8291
- movs r2, #20
8292
- mla r5, r2, r5, r3
8293
-.L1167:
8294
- cmp r5, r3
8295
- bne .L1170
8296
- adds r4, r4, #1
8297
- uxth r4, r4
8298
- b .L1164
8299
-.L1170:
8300
- ldr r2, [r3]
8301
- cbnz r2, .L1161
8302
- ldr r2, [r3, #12]
8303
- ldrh r1, [r2]
8304
- cmp r1, r8
8305
- beq .L1169
8306
- ldr r2, [r2, #4]
8307
- adds r1, r2, #1
8308
- it ne
8309
- strne r2, [r6, #3448]
8310
-.L1169:
8311
- adds r3, r3, #20
8312
- b .L1167
8313
-.L1275:
8314
- .align 2
8315
-.L1274:
8316
- .word __stack_chk_guard
8317
- .word .LANCHOR0
8318
- .word .LANCHOR1+435
8319
- .word .LC8
8320
-.L1171:
8526
+ cmp r4, r7
8527
+ ldrh ip, [r6, #232]
8528
+ bls .L1205
83218529 mov r3, #-1
83228530 str r3, [r6, #3448]
8323
-.L1161:
8324
- ldr r8, .L1276+16
8531
+.L1156:
8532
+ ldr r4, .L1264
83258533 movs r3, #1
83268534 ldr r5, [sp]
8327
- mov r4, r8
8328
- strh r3, [r8, #3472] @ movhi
8329
-.L1173:
8535
+ strh r3, [r4, #3472] @ movhi
8536
+.L1167:
83308537 ldrh r6, [r4, #232]
8331
- movw r9, #65535
8332
- ldr r0, [r4, #3288]
8333
- mov ip, #20
8334
- ldr r1, [sp, #16]
83358538 movs r3, #0
8539
+ ldr r0, [r4, #3288]
8540
+ movw r7, #65535
8541
+ ldr r1, [sp, #20]
8542
+ mov ip, #20
83368543 str r3, [sp, #12]
8337
-.L1174:
8544
+.L1168:
83388545 uxth r2, r3
83398546 cmp r6, r2
8340
- bhi .L1176
8341
- movs r2, #0
8547
+ bhi .L1170
83428548 ldr r1, [sp, #12]
8549
+ movs r2, #0
83438550 bl FlashReadPages
83448551 movs r3, #0
8345
-.L1271:
8346
- str r3, [sp, #24]
8552
+.L1261:
8553
+ str r3, [sp, #16]
83478554 ldr r2, [sp, #12]
8348
- ldrh r3, [sp, #24]
8555
+ ldrh r3, [sp, #16]
83498556 cmp r2, r3
8350
- bhi .L1206
8557
+ bhi .L1199
83518558 adds r5, r5, #1
83528559 ldrh r3, [r4, #302]
83538560 uxth r5, r5
83548561 cmp r3, r5
8355
- bne .L1173
8562
+ bne .L1167
83568563 ldrh r2, [r4, #232]
8357
- movw r0, #65535
83588564 movs r3, #0
83598565 strh r5, [r10, #2] @ movhi
8566
+ movw r0, #65535
83608567 strh r3, [r10, #4] @ movhi
8361
-.L1207:
8568
+.L1200:
83628569 uxth r1, r3
83638570 cmp r1, r2
8364
- bcs .L1139
8365
- ldr r1, [sp, #16]
8571
+ bcs .L1134
8572
+ ldr r1, [sp, #20]
83668573 ldrh r4, [r1], #2
8574
+ str r1, [sp, #20]
8575
+ adds r1, r3, #1
83678576 cmp r4, r0
8368
- str r1, [sp, #16]
8369
- add r1, r3, #1
8370
- bne .L1272
8577
+ bne .L1262
83718578 mov r3, r1
8372
- b .L1207
8373
-.L1176:
8579
+ b .L1200
8580
+.L1161:
83748581 ldrh r2, [r1], #2
8375
- cmp r2, r9
8376
- beq .L1175
8377
- ldr r7, [sp, #12]
8582
+ cmp r2, r8
8583
+ beq .L1160
8584
+ mla r9, lr, r5, r0
8585
+ adds r5, r5, #1
8586
+ orr r2, r4, r2, lsl #10
8587
+ uxth r5, r5
8588
+ str r2, [r9, #4]
8589
+.L1160:
8590
+ adds r3, r3, #1
8591
+.L1166:
8592
+ uxth r2, r3
8593
+ cmp r2, ip
8594
+ bcc .L1161
8595
+ mov r1, r5
8596
+ movs r2, #0
8597
+ bl FlashReadPages
8598
+ ldr r3, [r6, #3288]
8599
+ movs r1, #0
8600
+.L1162:
8601
+ uxth r2, r1
8602
+ cmp r5, r2
8603
+ bhi .L1165
8604
+ adds r4, r4, #1
8605
+ uxth r4, r4
8606
+ b .L1159
8607
+.L1205:
8608
+ movs r3, #0
8609
+ ldr r1, [sp, #20]
8610
+ mov r5, r3
8611
+ mov lr, #20
8612
+ b .L1166
8613
+.L1265:
8614
+ .align 2
8615
+.L1264:
8616
+ .word .LANCHOR0
8617
+ .word .LANCHOR1+435
8618
+ .word .LC8
8619
+.L1165:
8620
+ ldr r2, [r3]
8621
+ cmp r2, #0
8622
+ bne .L1156
8623
+ ldr r2, [r3, #12]
8624
+ ldrh r0, [r2]
8625
+ cmp r0, r8
8626
+ beq .L1164
8627
+ ldr r2, [r2, #4]
8628
+ adds r0, r2, #1
8629
+ it ne
8630
+ strne r2, [r6, #3448]
8631
+.L1164:
8632
+ adds r1, r1, #1
8633
+ adds r3, r3, #20
8634
+ b .L1162
8635
+.L1170:
8636
+ ldrh r2, [r1], #2
8637
+ cmp r2, r7
8638
+ beq .L1169
8639
+ ldr lr, [sp, #12]
83788640 orr r2, r5, r2, lsl #10
8379
- mla lr, ip, r7, r0
8641
+ mla lr, ip, lr, r0
83808642 str r2, [lr, #4]
8381
- mov r2, r7
8643
+ ldr r2, [sp, #12]
83828644 adds r2, r2, #1
83838645 uxth r2, r2
83848646 str r2, [sp, #12]
8385
-.L1175:
8647
+.L1169:
83868648 adds r3, r3, #1
8387
- b .L1174
8388
-.L1206:
8389
- ldr r3, [sp, #24]
8390
- movs r7, #20
8391
- muls r7, r3, r7
8392
- ldr r3, [r4, #3288]
8393
- str r3, [sp, #28]
8394
- add r9, r3, r7
8395
- ldr r6, [r9, #4]
8396
- ubfx r0, r6, #10, #16
8397
- str r6, [sp, #40]
8649
+ b .L1168
8650
+.L1199:
8651
+ ldr r3, [sp, #16]
8652
+ movs r6, #20
8653
+ ldr r9, [r4, #3288]
8654
+ muls r6, r3, r6
8655
+ ldr r3, [sp]
8656
+ add r8, r9, r6
8657
+ cmp r5, r3
8658
+ ldr r7, [r8, #4]
8659
+ str r7, [sp, #40]
8660
+ bcc .L1172
8661
+ ubfx r0, r7, #10, #16
83988662 bl P2V_plane
83998663 ldr r3, [sp]
84008664 cmp r5, r3
8401
- bcc .L1178
8402
- ldr r3, [sp, #28]
8403
- bne .L1179
8404
- ldr r2, [sp, #20]
8405
- cmp r2, r0
8406
- bhi .L1178
8407
-.L1179:
8408
- ldr r2, [sp, #8]
8409
- cmp r5, r2
8410
- bne .L1180
8411
- ldr r2, [sp, #4]
8412
- cmp r2, r0
8413
- beq .L1181
8414
-.L1180:
8415
- ldr r3, [r3, r7]
8665
+ bne .L1173
8666
+ ldr r3, [sp, #24]
8667
+ cmp r3, r0
8668
+ bhi .L1172
8669
+.L1173:
8670
+ ldr r3, [sp, #8]
8671
+ cmp r5, r3
8672
+ bne .L1174
8673
+ ldr r3, [sp, #4]
8674
+ cmp r3, r0
8675
+ bne .L1174
8676
+ mov r2, r3
8677
+ mov r1, r5
8678
+ strb r3, [r10, #6]
8679
+ strh r5, [r10, #2] @ movhi
8680
+ b .L1263
8681
+.L1174:
8682
+ ldr r3, [r9, r6]
84168683 adds r3, r3, #1
8417
- beq .L1182
8418
- ldr r9, [r9, #12]
8419
- movw r3, #61589
8420
- ldrh r2, [r9]
8421
- cmp r2, r3
8422
- beq .L1183
8684
+ beq .L1175
8685
+ ldr r8, [r8, #12]
8686
+ movw r2, #61589
8687
+ ldrh r3, [r8]
8688
+ cmp r3, r2
8689
+ beq .L1176
84238690 ldrh r0, [r10]
8424
-.L1268:
8691
+.L1258:
84258692 bl decrement_vpc_count
8426
- b .L1178
8427
-.L1183:
8428
- ldr fp, [r9, #4]
8693
+ b .L1172
8694
+.L1176:
8695
+ ldr fp, [r8, #4]
84298696 cmp fp, #-1
8430
- beq .L1184
8697
+ beq .L1178
84318698 ldr r1, [r4, #2592]
84328699 mov r0, fp
84338700 bl ftl_cmp_data_ver
8434
- cbz r0, .L1184
8435
- add r3, fp, #1
8436
- str r3, [r4, #2592]
8437
-.L1184:
8438
- ldrh r2, [r9]
8439
- movw r3, #61589
8701
+ cbz r0, .L1178
8702
+ add r2, fp, #1
8703
+ str r2, [r4, #2592]
8704
+ ldrh r2, [r8]
84408705 cmp r2, r3
8441
- beq .L1185
8706
+ beq .L1178
8707
+ ldr r1, .L1266
84428708 movw r2, #1961
8443
- ldr r1, .L1276
8444
- ldr r0, .L1276+4
8709
+ ldr r0, .L1266+4
84458710 bl sftl_printk
8446
-.L1185:
8447
- ldr r6, [r9, #8]
8711
+.L1178:
8712
+ ldrd r7, r3, [r8, #8]
84488713 add r1, sp, #36
8449
- ldr r3, [r9, #12]
84508714 movs r2, #0
8451
- mov r0, r6
84528715 str r3, [sp, #32]
8716
+ mov r0, r7
84538717 bl log2phys
84548718 ldr r1, [r4, #3448]
84558719 adds r0, r1, #1
8456
- beq .L1186
8720
+ beq .L1180
84578721 mov r0, fp
84588722 bl ftl_cmp_data_ver
84598723 cmp r0, #0
8460
- beq .L1186
8724
+ beq .L1180
84618725 ldr r3, [sp, #32]
8462
- adds r2, r3, #1
8463
- beq .L1187
8726
+ adds r1, r3, #1
8727
+ beq .L1181
84648728 ldr r0, [r4, #3288]
84658729 movs r2, #0
84668730 movs r1, #1
8467
- add r0, r0, r7
8731
+ add r0, r0, r6
84688732 str r3, [r0, #4]
8469
- ldr r9, [r0, #12]
8733
+ ldr r8, [r0, #12]
84708734 bl FlashReadPages
8471
- ldr r2, [r4, #3288]
8472
- ldr r1, [r2, r7]
8473
- adds r3, r2, r7
8474
- adds r1, r1, #1
8475
- bne .L1188
8476
-.L1189:
8735
+ ldr r3, [r4, #3288]
8736
+ add r9, r3, r6
8737
+ ldr r2, [r3, r6]
8738
+ adds r2, r2, #1
8739
+ bne .L1182
8740
+.L1183:
84778741 mov r3, #-1
84788742 str r3, [sp, #32]
8479
-.L1196:
8743
+.L1190:
84808744 ldr r0, [sp, #32]
84818745 adds r1, r0, #1
8482
- beq .L1178
8483
-.L1210:
8746
+ beq .L1172
84848747 ubfx r0, r0, #10, #16
84858748 bl P2V_block_in_plane
84868749 ldrh r3, [r4, #240]
84878750 mov r6, r0
84888751 cmp r3, r0
8489
- bhi .L1202
8752
+ bhi .L1195
8753
+ ldr r1, .L1266
84908754 movw r2, #2066
8491
- ldr r1, .L1276
8492
- ldr r0, .L1276+4
8755
+ ldr r0, .L1266+4
84938756 bl sftl_printk
8494
-.L1202:
8495
- ldr r3, [r8, #72]
8757
+.L1195:
8758
+ ldr r3, [r4, #72]
84968759 ldrh r3, [r3, r6, lsl #1]
84978760 cmp r3, #0
8498
- beq .L1203
8761
+ beq .L1196
84998762 mov r0, r6
8500
- b .L1268
8501
-.L1187:
8502
- ldr r3, [sp, #40]
8503
- ldr r2, [sp, #36]
8763
+ b .L1258
8764
+.L1181:
8765
+ ldrd r2, r3, [sp, #36]
85048766 cmp r2, r3
8505
- bne .L1178
8506
- movs r2, #1
8767
+ bne .L1172
85078768 add r1, sp, #32
8508
- mov r0, r6
8769
+ mov r0, r7
8770
+ movs r2, #1
85098771 bl log2phys
8510
-.L1178:
8511
- ldr r3, [sp, #24]
8772
+.L1172:
8773
+ ldr r3, [sp, #16]
85128774 adds r3, r3, #1
8513
- b .L1271
8514
-.L1188:
8515
- ldr r1, [r9, #8]
8516
- cmp r6, r1
8517
- bne .L1189
8518
- ldr r1, [r9, #4]
8775
+ b .L1261
8776
+.L1182:
8777
+ ldr r2, [r8, #8]
8778
+ cmp r2, r7
8779
+ bne .L1183
8780
+ ldr r1, [r8, #4]
85198781 ldr r0, [r4, #3448]
85208782 str r1, [sp, #28]
85218783 bl ftl_cmp_data_ver
85228784 cmp r0, #0
8523
- beq .L1189
8524
- ldr r1, [sp, #36]
8525
- ldr r0, [sp, #40]
8526
- cmp r1, r0
8527
- bne .L1191
8528
-.L1194:
8529
- ldr r1, [sp, #32]
8530
- mov r0, r6
8785
+ beq .L1183
8786
+ ldrd r1, r0, [sp, #32]
8787
+ ldr ip, [sp, #40]
8788
+ cmp r0, ip
8789
+ bne .L1185
8790
+ mov r0, r2
8791
+.L1257:
85318792 bl FtlReUsePrevPpa
8532
- b .L1189
8533
-.L1191:
8534
- ldr r0, [sp, #32]
8793
+ b .L1183
8794
+.L1185:
85358795 cmp r1, r0
8536
- beq .L1189
8537
- adds r0, r1, #1
8538
- beq .L1192
8539
- str r1, [r3, #4]
8796
+ beq .L1183
8797
+ adds r2, r0, #1
8798
+ beq .L1186
8799
+ str r0, [r9, #4]
85408800 movs r2, #0
8801
+ mov r0, r9
85418802 movs r1, #1
8542
- mov r0, r3
8543
- ldr r9, [r3, #12]
8803
+ ldr r8, [r9, #12]
85448804 bl FlashReadPages
8545
-.L1193:
8805
+.L1187:
85468806 ldr r3, [r4, #3288]
8547
- ldr r3, [r3, r7]
8807
+ ldr r3, [r3, r6]
85488808 adds r3, r3, #1
8549
- beq .L1194
8550
- ldr r3, [r9, #4]
8809
+ beq .L1188
8810
+ ldr r3, [r8, #4]
85518811 ldr r0, [r4, #3448]
85528812 mov r1, r3
85538813 bl ftl_cmp_data_ver
8554
- cmp r0, #0
8555
- beq .L1194
8556
- mov r1, r3
8814
+ cbz r0, .L1188
85578815 ldr r0, [sp, #28]
8816
+ mov r1, r3
85588817 bl ftl_cmp_data_ver
85598818 cmp r0, #0
8560
- beq .L1189
8561
- b .L1194
8562
-.L1192:
8563
- str r1, [r2, r7]
8564
- b .L1193
8819
+ beq .L1183
8820
+.L1188:
8821
+ ldr r1, [sp, #32]
8822
+ mov r0, r7
8823
+ b .L1257
85658824 .L1186:
8566
- ldr r3, [sp, #40]
8567
- ldr r2, [sp, #36]
8825
+ str r0, [r3, r6]
8826
+ b .L1187
8827
+.L1180:
8828
+ ldrd r2, r3, [sp, #36]
85688829 cmp r2, r3
8569
- beq .L1196
8830
+ beq .L1190
85708831 ldr r1, [sp, #32]
85718832 adds r0, r1, #1
8572
- beq .L1198
8573
- ldr r3, [r8, #248]
8833
+ beq .L1192
8834
+ ldr r3, [r4, #248]
85748835 cmp r3, r1, lsr #10
8575
- bhi .L1198
8576
- ldr r0, .L1276+8
8577
-.L1270:
8836
+ bhi .L1192
8837
+ ldr r0, .L1266+8
8838
+.L1260:
85788839 bl sftl_printk
8579
- b .L1178
8580
-.L1198:
8581
- movs r2, #1
8840
+ b .L1172
8841
+.L1192:
85828842 add r1, sp, #40
8583
- mov r0, r6
8843
+ mov r0, r7
8844
+ movs r2, #1
85848845 bl log2phys
8585
- ldr r9, [sp, #36]
8586
- cmp r9, #-1
8587
- beq .L1196
8846
+ ldr r8, [sp, #36]
8847
+ cmp r8, #-1
8848
+ beq .L1190
85888849 ldr r3, [sp, #32]
8589
- cmp r9, r3
8590
- beq .L1200
8591
- ubfx r0, r9, #10, #16
8850
+ cmp r8, r3
8851
+ beq .L1190
8852
+ ubfx r0, r8, #10, #16
85928853 bl P2V_block_in_plane
85938854 ldrh r3, [r4, #24]
85948855 cmp r3, r0
8595
- beq .L1201
8856
+ beq .L1194
85968857 ldrh r3, [r4, #76]
85978858 cmp r3, r0
8598
- beq .L1201
8859
+ beq .L1194
85998860 ldrh r3, [r4, #124]
86008861 cmp r3, r0
8601
- bne .L1196
8602
-.L1201:
8603
- ldr r0, [r8, #3288]
8862
+ bne .L1190
8863
+.L1194:
8864
+ ldr r0, [r4, #3288]
86048865 movs r2, #0
86058866 movs r1, #1
8606
- str r9, [r0, #4]
8607
- ldr r7, [r0, #12]
8867
+ str r8, [r0, #4]
8868
+ ldr r6, [r0, #12]
86088869 bl FlashReadPages
8609
- ldr r3, [r8, #3288]
8870
+ ldr r3, [r4, #3288]
86108871 ldr r3, [r3]
86118872 adds r3, r3, #1
8612
- beq .L1196
8613
- ldr r1, [r7, #4]
8873
+ beq .L1190
8874
+ ldr r1, [r6, #4]
86148875 mov r0, fp
86158876 bl ftl_cmp_data_ver
86168877 cmp r0, #0
8617
- bne .L1196
8618
- movs r2, #1
8878
+ bne .L1190
86198879 add r1, sp, #36
8620
- mov r0, r6
8880
+ mov r0, r7
8881
+ movs r2, #1
86218882 bl log2phys
8622
- b .L1196
8623
-.L1203:
8883
+ b .L1190
8884
+.L1196:
8885
+ ldr r0, .L1266+12
86248886 mov r1, r6
8625
- ldr r0, .L1276+12
8626
- b .L1270
8627
-.L1182:
8887
+ b .L1260
8888
+.L1175:
86288889 ldr r3, [r4, #3476]
86298890 cmp r3, #31
86308891 itttt ls
86318892 addls r2, r4, r3, lsl #2
86328893 addls r3, r3, #1
86338894 strls r3, [r4, #3476]
8634
- strls r6, [r2, #3480]
8895
+ strls r7, [r2, #3480]
86358896 ldrh r0, [r10]
86368897 bl decrement_vpc_count
86378898 ldr r3, [r4, #3448]
86388899 adds r2, r3, #1
8639
- bne .L1205
8640
-.L1269:
8900
+ bne .L1198
8901
+.L1259:
86418902 str fp, [r4, #3448]
8642
- b .L1178
8643
-.L1205:
8644
- cmp fp, r3
8645
- bcs .L1178
8646
- b .L1269
8647
-.L1181:
8648
- ldrb r3, [sp, #4] @ zero_extendqisi2
8649
- mov r1, r5
8650
- strh r5, [r10, #2] @ movhi
8651
- ldr r2, [sp, #4]
8652
- strb r3, [r10, #6]
8653
- b .L1273
8654
-.L1200:
8655
- mov r0, r9
8656
- b .L1210
8657
-.L1211:
8903
+ b .L1172
8904
+.L1198:
8905
+ cmp r3, fp
8906
+ bls .L1172
8907
+ b .L1259
8908
+.L1203:
8909
+ movs r0, #0
86588910 add sp, sp, #52
86598911 @ sp needed
86608912 pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
8661
-.L1277:
8913
+.L1267:
86628914 .align 2
8663
-.L1276:
8915
+.L1266:
86648916 .word .LANCHOR1+435
86658917 .word .LC8
86668918 .word .LC109
86678919 .word .LC110
8668
- .word .LANCHOR0
86698920 .fnend
86708921 .size FtlRecoverySuperblock, .-FtlRecoverySuperblock
8922
+ .section .rodata.str1.1
8923
+.LC111:
8924
+ .ascii "...%s enter...\012\000"
8925
+.LC112:
8926
+ .ascii "FtlCheckVpc2 %x = %x %x\012\000"
8927
+.LC113:
8928
+ .ascii "free blk vpc error %x = %x %x\012\000"
8929
+ .text
86718930 .align 1
86728931 .global ftl_check_vpc
86738932 .syntax unified
....@@ -8677,142 +8936,148 @@
86778936 .type ftl_check_vpc, %function
86788937 ftl_check_vpc:
86798938 .fnstart
8680
- @ args = 0, pretend = 0, frame = 16
8939
+ @ args = 0, pretend = 0, frame = 8
86818940 @ frame_needed = 0, uses_anonymous_args = 0
8682
- push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
8941
+ push {r0, r1, r2, r4, r5, r6, r7, r8, r9, r10, fp, lr}
86838942 .save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
8684
- .pad #20
8685
- sub sp, sp, #20
8686
- ldr r5, .L1303
8943
+ .pad #12
86878944 movs r4, #0
8688
- ldr r6, .L1303+4
8689
- ldr r3, [r5]
8690
- ldr r1, .L1303+8
8691
- ldr r0, .L1303+12
8692
- ldr r7, .L1303+16
8693
- str r3, [sp, #12]
8945
+ ldr r5, .L1293
8946
+ mov r3, sp
8947
+ ldr r7, .L1293+4
8948
+ bic r6, r3, #8160
8949
+ ldr r1, .L1293+8
8950
+ bic r6, r6, #31
8951
+ ldr r0, .L1293+12
8952
+ ldr r3, [r6, #24]
8953
+ str r3, [sp, #4]
86948954 bl sftl_printk
8955
+ ldr r0, .L1293+4
86958956 mov r2, #8192
86968957 movs r1, #0
8697
- ldr r0, .L1303+16
86988958 bl ftl_memset
8699
- str r5, [sp, #4]
8700
- mov r5, r6
8701
-.L1279:
8702
- ldr r3, [r6, #2552]
8703
- cmp r4, r3
8704
- bcc .L1281
8705
- ldr r8, .L1303+16
8959
+.L1269:
8960
+ ldr r3, [r5, #2552]
8961
+ cmp r3, r4
8962
+ bhi .L1271
8963
+ ldr r9, .L1293+4
87068964 movs r4, #0
8707
- ldr r10, .L1303+28
8708
- mov r6, r4
8709
- movw r9, #65535
8710
-.L1282:
8965
+ ldr fp, .L1293+16
8966
+ mov r7, r4
8967
+ movw r10, #65535
8968
+.L1272:
87118969 ldrh r2, [r5, #240]
87128970 uxth r3, r4
87138971 cmp r2, r3
8714
- bhi .L1284
8972
+ bhi .L1274
87158973 ldr r4, [r5, #2532]
8716
- cbz r4, .L1285
8717
- ldr r3, [r5, #2516]
8718
- movs r7, #0
8974
+ cbz r4, .L1275
8975
+ ldr r1, [r5, #2516]
8976
+ mov r9, #0
87198977 ldrh r8, [r5, #224]
87208978 mov fp, #6
8721
- ldr r9, .L1303+16
8722
- subs r4, r4, r3
8723
- ldr r3, .L1303+20
8979
+ subs r4, r4, r1
8980
+ ldr r1, .L1293+20
8981
+ ldr r10, .L1293+4
87248982 asrs r4, r4, #1
8725
- ldr r10, .L1303+32
8726
- muls r4, r3, r4
8983
+ ldr r0, .L1293+24
8984
+ muls r4, r1, r4
87278985 uxth r4, r4
8728
-.L1286:
8729
- uxth r3, r7
8986
+.L1276:
8987
+ uxth r3, r9
87308988 cmp r8, r3
8731
- bls .L1285
8989
+ bls .L1275
87328990 ldr r3, [r5, #72]
87338991 ldrh r2, [r3, r4, lsl #1]
8734
- cbz r2, .L1287
8735
- movs r6, #1
8736
- ldrh r3, [r9, r4, lsl #1]
8992
+ cbz r2, .L1277
8993
+ ldrh r3, [r10, r4, lsl #1]
87378994 mov r1, r4
8738
- mov r0, r10
87398995 bl sftl_printk
8740
-.L1287:
8996
+ ldr r0, .L1293+24
8997
+ movs r7, #1
8998
+.L1277:
87418999 mul r4, fp, r4
87429000 ldr r3, [r5, #2516]
8743
- adds r7, r7, #1
9001
+ add r9, r9, #1
87449002 ldrh r4, [r3, r4]
87459003 movw r3, #65535
87469004 cmp r4, r3
8747
- bne .L1286
8748
-.L1285:
8749
- cbz r6, .L1278
9005
+ bne .L1276
9006
+.L1275:
9007
+ cbz r7, .L1268
9008
+ ldr r1, .L1293+8
87509009 movw r2, #2394
8751
- ldr r1, .L1303+8
8752
- ldr r0, .L1303+24
9010
+ ldr r0, .L1293+28
87539011 bl sftl_printk
8754
-.L1278:
8755
- ldr r3, [sp, #4]
8756
- ldr r2, [sp, #12]
8757
- ldr r3, [r3]
9012
+.L1268:
9013
+ ldr r2, [sp, #4]
9014
+ ldr r3, [r6, #24]
87589015 cmp r2, r3
8759
- beq .L1290
8760
- bl __stack_chk_fail
8761
-.L1281:
8762
- movs r2, #0
8763
- add r1, sp, #8
8764
- mov r0, r4
8765
- bl log2phys
8766
- ldr r0, [sp, #8]
8767
- adds r3, r0, #1
87689016 beq .L1280
9017
+ bl __stack_chk_fail
9018
+.L1271:
9019
+ mov r1, sp
9020
+ mov r0, r4
9021
+ movs r2, #0
9022
+ bl log2phys
9023
+ ldr r0, [sp]
9024
+ adds r3, r0, #1
9025
+ beq .L1270
87699026 ubfx r0, r0, #10, #16
87709027 bl P2V_block_in_plane
87719028 ldrh r3, [r7, r0, lsl #1]
87729029 adds r3, r3, #1
87739030 strh r3, [r7, r0, lsl #1] @ movhi
8774
-.L1280:
9031
+.L1270:
87759032 adds r4, r4, #1
8776
- b .L1279
8777
-.L1284:
9033
+ b .L1269
9034
+.L1274:
87789035 ldr r3, [r5, #72]
8779
- uxth r7, r4
8780
- ldrh r2, [r3, r7, lsl #1]
8781
- ldrh r3, [r8, r7, lsl #1]
9036
+ uxth r8, r4
9037
+ ldrh r2, [r3, r8, lsl #1]
9038
+ ldrh r3, [r9, r8, lsl #1]
87829039 cmp r2, r3
8783
- beq .L1283
8784
- mov r1, r7
8785
- mov r0, r10
9040
+ beq .L1273
9041
+ mov r1, r8
9042
+ mov r0, fp
87869043 bl sftl_printk
87879044 ldr r3, [r5, #72]
8788
- ldrh r3, [r3, r7, lsl #1]
8789
- cmp r3, r9
8790
- beq .L1283
8791
- ldrh r2, [r8, r7, lsl #1]
9045
+ ldrh r3, [r3, r8, lsl #1]
9046
+ cmp r3, r10
9047
+ beq .L1273
9048
+ ldrh r2, [r9, r8, lsl #1]
87929049 cmp r2, r3
87939050 it hi
8794
- movhi r6, #1
8795
-.L1283:
9051
+ movhi r7, #1
9052
+.L1273:
87969053 adds r4, r4, #1
8797
- b .L1282
8798
-.L1290:
8799
- add sp, sp, #20
9054
+ b .L1272
9055
+.L1280:
9056
+ add sp, sp, #12
88009057 @ sp needed
88019058 pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
8802
-.L1304:
9059
+.L1294:
88039060 .align 2
8804
-.L1303:
8805
- .word __stack_chk_guard
9061
+.L1293:
88069062 .word .LANCHOR0
9063
+ .word check_vpc_table
88079064 .word .LANCHOR1+457
88089065 .word .LC111
8809
- .word check_vpc_table
8810
- .word -1431655765
8811
- .word .LC8
88129066 .word .LC112
9067
+ .word -1431655765
88139068 .word .LC113
9069
+ .word .LC8
88149070 .fnend
88159071 .size ftl_check_vpc, .-ftl_check_vpc
9072
+ .section .rodata.str1.1
9073
+.LC114:
9074
+ .ascii "ftl_scan_all_data = %x\012\000"
9075
+.LC115:
9076
+ .ascii "scan lpa = %x ppa= %x\012\000"
9077
+.LC116:
9078
+ .ascii "lpa = %x,addr= %x,spare= %x %x %x %x data=%x %x\012"
9079
+ .ascii "\000"
9080
+ .text
88169081 .align 1
88179082 .global ftl_scan_all_data
88189083 .syntax unified
....@@ -8824,67 +9089,68 @@
88249089 .fnstart
88259090 @ args = 0, pretend = 0, frame = 8
88269091 @ frame_needed = 0, uses_anonymous_args = 0
8827
- push {r4, r5, r6, r7, r8, r9, lr}
8828
- .save {r4, r5, r6, r7, r8, r9, lr}
9092
+ push {r4, r5, r6, r7, r8, lr}
9093
+ .save {r4, r5, r6, r7, r8, lr}
88299094 movs r5, #0
8830
- ldr r6, .L1320
8831
- .pad #36
8832
- sub sp, sp, #36
9095
+ ldr r4, .L1310
9096
+ .pad #32
9097
+ sub sp, sp, #32
9098
+ ldr r8, .L1310+4
9099
+ mov r3, sp
9100
+ ldr r0, .L1310+8
9101
+ bic r6, r3, #8160
88339102 movs r1, #0
8834
- ldr r7, .L1320+4
8835
- ldr r9, .L1320+20
8836
- ldr r3, [r6]
8837
- mov r4, r7
8838
- ldr r0, .L1320+8
9103
+ bic r6, r6, #31
9104
+ ldr r3, [r6, #24]
88399105 str r3, [sp, #28]
88409106 bl sftl_printk
8841
-.L1306:
8842
- ldr r3, [r7, #2552]
8843
- cmp r5, r3
8844
- bcc .L1312
9107
+.L1296:
9108
+ ldr r3, [r4, #2552]
9109
+ cmp r3, r5
9110
+ bhi .L1302
88459111 ldr r2, [sp, #28]
8846
- ldr r3, [r6]
9112
+ ldr r3, [r6, #24]
88479113 cmp r2, r3
8848
- beq .L1313
9114
+ beq .L1303
88499115 bl __stack_chk_fail
8850
-.L1312:
8851
- movs r2, #0
9116
+.L1302:
88529117 add r1, sp, #24
88539118 mov r0, r5
9119
+ movs r2, #0
88549120 bl log2phys
88559121 ubfx r3, r5, #0, #11
8856
- cbnz r3, .L1307
9122
+ cbnz r3, .L1297
88579123 ldr r2, [sp, #24]
88589124 mov r1, r5
8859
- mov r0, r9
9125
+ mov r0, r8
88609126 bl sftl_printk
8861
-.L1307:
9127
+.L1297:
88629128 ldr r3, [sp, #24]
88639129 adds r2, r3, #1
8864
- beq .L1309
8865
- str r3, [r4, #3456]
9130
+ beq .L1299
9131
+ ldr r7, [r4, #3332]
88669132 movs r2, #0
8867
- ldr r3, [r4, #3300]
9133
+ str r3, [r4, #3456]
88689134 movs r1, #1
8869
- ldr r8, [r4, #3332]
8870
- ldr r0, .L1320+12
9135
+ ldr r3, [r4, #3300]
9136
+ ldr r0, .L1310+12
88719137 str r3, [r4, #3460]
88729138 str r5, [r4, #3468]
8873
- str r8, [r4, #3464]
9139
+ str r7, [r4, #3464]
88749140 str r2, [r4, #3452]
88759141 bl FlashReadPages
88769142 ldr r3, [r4, #3452]
88779143 cmp r3, #256
8878
- beq .L1310
9144
+ beq .L1300
88799145 adds r3, r3, #1
8880
- beq .L1310
8881
- ldr r3, [r8, #8]
8882
- cmp r5, r3
8883
- beq .L1309
8884
-.L1310:
9146
+ beq .L1300
9147
+ ldr r3, [r7, #8]
9148
+ cmp r3, r5
9149
+ beq .L1299
9150
+.L1300:
88859151 ldr r2, [r4, #3460]
88869152 ldr r3, [r4, #3464]
8887
- ldr r0, .L1320+16
9153
+ ldr r0, .L1310+16
88889154 ldr r1, [r2, #4]
88899155 str r1, [sp, #16]
88909156 mov r1, r5
....@@ -8896,27 +9162,30 @@
88969162 str r2, [sp, #4]
88979163 ldr r2, [r3, #4]
88989164 str r2, [sp]
8899
- ldr r3, [r3]
89009165 ldr r2, [r4, #3456]
9166
+ ldr r3, [r3]
89019167 bl sftl_printk
8902
-.L1309:
9168
+.L1299:
89039169 adds r5, r5, #1
8904
- b .L1306
8905
-.L1313:
8906
- add sp, sp, #36
9170
+ b .L1296
9171
+.L1303:
9172
+ add sp, sp, #32
89079173 @ sp needed
8908
- pop {r4, r5, r6, r7, r8, r9, pc}
8909
-.L1321:
9174
+ pop {r4, r5, r6, r7, r8, pc}
9175
+.L1311:
89109176 .align 2
8911
-.L1320:
8912
- .word __stack_chk_guard
9177
+.L1310:
89139178 .word .LANCHOR0
9179
+ .word .LC115
89149180 .word .LC114
89159181 .word .LANCHOR0+3452
89169182 .word .LC116
8917
- .word .LC115
89189183 .fnend
89199184 .size ftl_scan_all_data, .-ftl_scan_all_data
9185
+ .section .rodata.str1.1
9186
+.LC117:
9187
+ .ascii "FtlGcScanTempBlk Error ID %x %x!!!!!!! \012\000"
9188
+ .text
89209189 .align 1
89219190 .global FtlGcScanTempBlk
89229191 .syntax unified
....@@ -8928,136 +9197,140 @@
89289197 .fnstart
89299198 @ args = 0, pretend = 0, frame = 48
89309199 @ frame_needed = 0, uses_anonymous_args = 0
8931
- ldr r3, .L1360
89329200 push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
89339201 .save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
9202
+ mov r5, r0
89349203 .pad #52
89359204 sub sp, sp, #52
8936
- mov r5, r0
9205
+ mov r3, sp
9206
+ bic r3, r3, #8160
9207
+ bic r3, r3, #31
89379208 str r1, [sp, #4]
8938
- ldr r3, [r3]
9209
+ ldr r3, [r3, #24]
89399210 str r3, [sp, #44]
8940
- ldr r3, .L1360+4
9211
+ ldr r3, .L1349
89419212 ldrh r6, [r3, #4]
89429213 movw r3, #65535
89439214 cmp r6, r3
8944
- beq .L1350
8945
- cbnz r6, .L1323
8946
-.L1324:
8947
- bl FtlGcPageVarInit
8948
- b .L1325
8949
-.L1350:
8950
- movs r6, #0
8951
-.L1323:
8952
- ldr r3, .L1360+8
9215
+ beq .L1339
9216
+ cbz r6, .L1314
9217
+.L1313:
9218
+ ldr r3, .L1349+4
89539219 ldr r2, [sp, #4]
89549220 ldrh r3, [r3, #302]
89559221 cmp r3, r2
8956
- beq .L1324
8957
-.L1325:
8958
- mov fp, #0
8959
-.L1343:
9222
+ bne .L1315
9223
+.L1314:
9224
+ bl FtlGcPageVarInit
9225
+.L1315:
9226
+ mov r9, #0
9227
+.L1334:
89609228 ldrh r2, [r5]
89619229 movs r3, #0
89629230 strb r3, [r5, #8]
89639231 movw r3, #65535
89649232 cmp r2, r3
8965
- beq .L1326
8966
- ldr r4, .L1360+8
8967
-.L1346:
8968
- ldr r3, [r4, #3288]
9233
+ beq .L1316
9234
+ ldr r4, .L1349+4
9235
+.L1317:
9236
+ ldr r3, [r4, #3176]
89699237 movs r2, #0
89709238 ldrh ip, [r4, #232]
89719239 add lr, r5, #16
8972
- ldrh r10, [r4, #310]
9240
+ ldr r0, [r4, #3288]
9241
+ mov r8, r3
9242
+ ldrh fp, [r4, #310]
89739243 mov r7, r2
8974
- str r3, [sp]
8975
- movw r8, #65535
8976
- ldr r3, [r4, #3176]
8977
- ldr r9, [r4, #3180]
8978
- str r3, [sp, #8]
9244
+ ldr r10, [r4, #3180]
89799245 ldrh r3, [r4, #312]
8980
- str r3, [sp, #12]
8981
-.L1327:
9246
+ str r3, [sp, #8]
9247
+.L1318:
89829248 uxth r3, r2
89839249 cmp ip, r3
8984
- bhi .L1331
9250
+ bhi .L1322
89859251 mov r10, #0
8986
- movs r2, #0
89879252 mov r1, r7
8988
- ldr r0, [sp]
9253
+ movs r2, #0
89899254 bl FlashReadPages
8990
-.L1332:
9255
+.L1323:
89919256 uxth r3, r10
89929257 cmp r7, r3
8993
- bhi .L1344
9258
+ bhi .L1335
89949259 ldr r3, [sp, #4]
8995
- add fp, fp, #1
89969260 adds r6, r6, #1
9261
+ add r9, r9, #1
89979262 uxth r6, r6
8998
- cmp r3, fp
8999
- bls .L1345
9000
-.L1347:
9263
+ cmp r3, r9
9264
+ bhi .L1336
9265
+ ldr r2, .L1349
9266
+ movw r1, #65535
9267
+ ldrh r3, [r2, #4]
9268
+ cmp r3, r1
9269
+ beq .L1336
9270
+ add r3, r3, r9
9271
+ strh r3, [r2, #4] @ movhi
90019272 ldrh r3, [r4, #302]
90029273 cmp r3, r6
9003
- bhi .L1346
9004
-.L1326:
9005
- ldr r3, .L1360+4
9006
- movw r2, #65535
9007
- strh r6, [r5, #2] @ movhi
9008
- mov r1, r6
9009
- mov r0, r5
9010
- strh r2, [r3, #4] @ movhi
9011
- movs r2, #0
9012
- strb r2, [r5, #6]
9013
- bl ftl_sb_update_avl_pages
9014
- b .L1348
9015
-.L1331:
9274
+ bls .L1316
9275
+.L1337:
9276
+ mov r3, sp
9277
+ ldr r2, [sp, #44]
9278
+ bic r3, r3, #8160
9279
+ bic r3, r3, #31
9280
+ ldr r3, [r3, #24]
9281
+ cmp r2, r3
9282
+ beq .L1338
9283
+ bl __stack_chk_fail
9284
+.L1339:
9285
+ movs r6, #0
9286
+ b .L1313
9287
+.L1322:
90169288 ldrh r3, [lr], #2
9017
- cmp r3, r8
9018
- beq .L1328
9019
- ldr r0, [sp]
9289
+ movw r1, #65535
9290
+ cmp r3, r1
9291
+ beq .L1319
90209292 movs r1, #20
90219293 orr r3, r6, r3, lsl #10
90229294 mla r1, r1, r7, r0
90239295 str r3, [r1, #4]
9024
- mov r3, r10
9296
+ mov r3, fp
90259297 muls r3, r7, r3
90269298 it mi
90279299 addmi r3, r3, #3
90289300 bic r3, r3, #3
9029
- mov r0, r3
9301
+ add r3, r3, r8
9302
+ str r3, [r1, #8]
90309303 ldr r3, [sp, #8]
9031
- add r0, r0, r3
9032
- ldr r3, [sp, #12]
90339304 muls r3, r7, r3
90349305 add r7, r7, #1
90359306 it mi
90369307 addmi r3, r3, #3
90379308 uxth r7, r7
90389309 bic r3, r3, #3
9039
- str r0, [r1, #8]
9040
- add r3, r3, r9
9310
+ add r3, r3, r10
90419311 str r3, [r1, #12]
9042
-.L1328:
9312
+.L1319:
90439313 adds r2, r2, #1
9044
- b .L1327
9045
-.L1344:
9314
+ b .L1318
9315
+.L1335:
90469316 movs r3, #20
90479317 ldr r2, [r4, #3288]
9048
- mul r3, r3, r10
9049
- adds r1, r2, r3
9050
- ldr r8, [r2, r3]
9051
- ldr r0, [r1, #4]
9052
- ldr r9, [r1, #12]
9053
- str r0, [sp]
9054
- cmp r8, #0
9055
- bne .L1333
9056
- ldrh r1, [r9]
9057
- movw r2, #65535
9058
- cmp r1, r2
9059
- bne .L1334
9060
-.L1358:
9318
+ mul fp, r3, r10
9319
+ add r1, r2, fp
9320
+ ldr r2, [r2, fp]
9321
+ ldr r3, [r1, #4]
9322
+ ldr r8, [r1, #12]
9323
+ cmp r2, #0
9324
+ bne .L1324
9325
+ ldrh r0, [r8]
9326
+ movw r1, #65535
9327
+ cmp r0, r1
9328
+ beq .L1347
9329
+ ldr r0, [r8, #8]
9330
+ ldr r1, [r4, #2552]
9331
+ cmp r0, r1
9332
+ bls .L1326
9333
+.L1347:
90619334 ldrh r2, [r5]
90629335 movs r1, #0
90639336 ldr r3, [r4, #72]
....@@ -9069,94 +9342,86 @@
90699342 strh r3, [r5] @ movhi
90709343 strh r3, [r4, #172] @ movhi
90719344 bl FtlGcPageVarInit
9072
- b .L1343
9073
-.L1334:
9074
- ldr r0, [r9, #8]
9075
- ldr r2, [r4, #2552]
9076
- str r3, [sp, #8]
9077
- cmp r0, r2
9078
- bhi .L1358
9079
- mov r2, r8
9345
+ b .L1334
9346
+.L1326:
90809347 add r1, sp, #20
9348
+ strd r2, r3, [sp, #8]
90819349 bl log2phys
9082
- ldr r2, [r9, #12]
9083
- ldr r1, [sp, #20]
9084
- ldr r3, [sp, #8]
9085
- cmp r2, r1
9086
- beq .L1337
9087
-.L1339:
9088
- ldr r2, [r9, #8]
9089
-.L1359:
9090
- ldr r1, [sp]
9350
+ ldr r1, [r8, #12]
9351
+ ldr r0, [sp, #20]
9352
+ ldrd r2, r3, [sp, #8]
9353
+ cmp r1, r0
9354
+ beq .L1328
9355
+.L1330:
9356
+ ldr r2, [r8, #8]
9357
+.L1348:
9358
+ ldr r0, [r8, #12]
9359
+ mov r1, r3
90919360 add r10, r10, #1
9092
- ldr r0, [r9, #12]
90939361 bl FtlGcUpdatePage
9094
- b .L1332
9095
-.L1337:
9096
- str r3, [sp, #8]
9097
- adds r3, r2, #1
9098
- beq .L1339
9099
- str r2, [sp, #28]
9100
- movs r1, #1
9101
- ldr r2, [r4, #3316]
9362
+ b .L1323
9363
+.L1328:
9364
+ adds r0, r1, #1
9365
+ beq .L1330
9366
+ str r1, [sp, #28]
91029367 add r0, sp, #24
9103
- str r2, [sp, #32]
9104
- ldr r2, [r4, #3336]
9105
- str r2, [sp, #36]
9106
- mov r2, r8
9368
+ ldr r1, [r4, #3316]
9369
+ str r1, [sp, #32]
9370
+ ldr r1, [r4, #3336]
9371
+ str r1, [sp, #36]
9372
+ movs r1, #1
9373
+ str r3, [sp, #12]
9374
+ str r2, [sp, #8]
91079375 bl FlashReadPages
9108
- ldrh r2, [r4, #258]
9109
- ldr r1, [r4, #3288]
9110
- ldr r3, [sp, #8]
9376
+ ldr r0, [r4, #3288]
9377
+ ldrh r1, [r4, #258]
9378
+ add fp, fp, r0
91119379 ldr r0, [sp, #32]
9112
- lsls r2, r2, #7
9113
- add ip, r3, r1
9114
-.L1340:
9115
- cmp r8, r2
9116
- beq .L1339
9117
- ldr r1, [ip, #8]
9118
- ldr r3, [r0, r8, lsl #2]
9119
- ldr r1, [r1, r8, lsl #2]
9120
- cmp r1, r3
9121
- beq .L1341
9380
+ ldrd r2, r3, [sp, #8]
9381
+ lsls r1, r1, #7
9382
+.L1331:
9383
+ cmp r1, r2
9384
+ beq .L1330
9385
+ ldr ip, [fp, #8]
9386
+ ldr lr, [ip, r2, lsl #2]
9387
+ ldr ip, [r0, r2, lsl #2]
9388
+ cmp lr, ip
9389
+ beq .L1332
91229390 ldr r2, [sp, #28]
91239391 ldrh r1, [r5]
9124
- ldr r0, .L1360+12
9392
+ ldr r0, .L1349+8
9393
+ ldr r4, .L1349+4
91259394 bl sftl_printk
9126
- b .L1358
9127
-.L1341:
9128
- add r8, r8, #1
9129
- b .L1340
9130
-.L1333:
9395
+ b .L1347
9396
+.L1332:
9397
+ adds r2, r2, #1
9398
+ b .L1331
9399
+.L1324:
91319400 mov r2, #-1
9132
- b .L1359
9133
-.L1345:
9134
- ldr r2, .L1360+4
9135
- movw r1, #65535
9136
- ldrh r3, [r2, #4]
9137
- cmp r3, r1
9138
- beq .L1347
9139
- add r3, r3, fp
9140
- strh r3, [r2, #4] @ movhi
9401
+ b .L1348
9402
+.L1336:
91419403 ldrh r3, [r4, #302]
91429404 cmp r3, r6
9143
- bls .L1347
9144
-.L1348:
9145
- ldr r3, .L1360
9405
+ bhi .L1317
9406
+.L1316:
9407
+ ldr r3, .L1349
9408
+ movw r2, #65535
9409
+ mov r1, r6
9410
+ mov r0, r5
9411
+ strh r6, [r5, #2] @ movhi
9412
+ strh r2, [r3, #4] @ movhi
9413
+ movs r2, #0
9414
+ strb r2, [r5, #6]
9415
+ bl ftl_sb_update_avl_pages
9416
+ b .L1337
9417
+.L1338:
91469418 mov r0, #-1
9147
- ldr r2, [sp, #44]
9148
- ldr r3, [r3]
9149
- cmp r2, r3
9150
- beq .L1349
9151
- bl __stack_chk_fail
9152
-.L1349:
91539419 add sp, sp, #52
91549420 @ sp needed
91559421 pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
9156
-.L1361:
9422
+.L1350:
91579423 .align 2
9158
-.L1360:
9159
- .word __stack_chk_guard
9424
+.L1349:
91609425 .word .LANCHOR2
91619426 .word .LANCHOR0
91629427 .word .LC117
....@@ -9175,122 +9440,120 @@
91759440 @ frame_needed = 0, uses_anonymous_args = 0
91769441 push {r4, r5, r6, r7, r8, r9, r10, lr}
91779442 .save {r4, r5, r6, r7, r8, r9, r10, lr}
9443
+ ldr r4, .L1367
91789444 .pad #96
91799445 sub sp, sp, #96
9180
- ldr r6, .L1379
9181
- ldr r7, .L1379+4
9182
- ldr r10, [r6, #2720]
9183
- mov r5, r6
9184
- ldr r3, [r7]
9446
+ mov r3, sp
9447
+ bic r6, r3, #8160
9448
+ bic r6, r6, #31
9449
+ ldr r9, [r4, #2720]
9450
+ ldr r3, [r6, #24]
91859451 str r3, [sp, #92]
9186
- cmp r10, #0
9187
- beq .L1363
9188
- ldr r2, [r6, #2724]
9189
- ldr r3, [r6, #2552]
9452
+ ldr r3, [r4, #2552]
9453
+ cmp r9, #0
9454
+ beq .L1352
9455
+ ldr r2, [r4, #2724]
91909456 cmp r2, r3
9191
- bcs .L1364
9192
- mov r4, #2048
9193
-.L1369:
9194
- ldr r0, [r5, #2724]
9195
- ldr r3, [r5, #2552]
9457
+ bcs .L1353
9458
+ mov r5, #2048
9459
+.L1358:
9460
+ ldr r0, [r4, #2724]
9461
+ ldr r3, [r4, #2552]
91969462 cmp r0, r3
9197
- bcc .L1365
9198
-.L1368:
9463
+ bcc .L1354
9464
+.L1357:
91999465 mov r0, #-1
9200
-.L1362:
9466
+.L1351:
92019467 ldr r2, [sp, #92]
9202
- ldr r3, [r7]
9468
+ ldr r3, [r6, #24]
92039469 cmp r2, r3
9204
- beq .L1374
9470
+ beq .L1362
92059471 bl __stack_chk_fail
9206
-.L1365:
9207
- movs r2, #0
9472
+.L1354:
92089473 add r1, sp, #4
9209
- bl log2phys
9210
- ldr r2, [sp, #4]
9211
- ldr r3, [r5, #2724]
9212
- adds r1, r2, #1
9213
- add r3, r3, #1
9214
- str r3, [r5, #2724]
9215
- beq .L1367
9216
- str r3, [sp, #24]
9217
- add r0, sp, #96
9218
- ldr r3, [r5, #3324]
9219
- movs r1, #1
9220
- str r2, [sp, #12]
92219474 movs r2, #0
9222
- str r2, [r0, #-88]!
9475
+ bl log2phys
9476
+ ldr r3, [r4, #2724]
9477
+ ldr r2, [sp, #4]
9478
+ adds r3, r3, #1
9479
+ str r3, [r4, #2724]
9480
+ adds r1, r2, #1
9481
+ beq .L1356
9482
+ str r2, [sp, #12]
9483
+ add r0, sp, #8
9484
+ str r3, [sp, #24]
9485
+ movs r2, #0
9486
+ ldr r3, [r4, #3324]
9487
+ movs r1, #1
92239488 str r3, [sp, #16]
92249489 add r3, sp, #28
9490
+ str r2, [sp, #8]
92259491 str r3, [sp, #20]
92269492 bl FlashReadPages
92279493 ldr r3, [sp, #8]
92289494 cmp r3, #256
9229
- bne .L1368
9495
+ bne .L1357
92309496 ldr r0, [sp, #4]
92319497 ubfx r0, r0, #10, #16
92329498 bl P2V_block_in_plane
92339499 bl FtlGcRefreshBlock
9234
- b .L1368
9235
-.L1367:
9236
- subs r4, r4, #1
9237
- bne .L1369
9238
- b .L1368
9239
-.L1364:
9240
- ldr r3, [r6, #2556]
9500
+ b .L1357
9501
+.L1356:
9502
+ subs r5, r5, #1
9503
+ bne .L1358
9504
+ b .L1357
9505
+.L1353:
9506
+ ldr r3, [r4, #2556]
92419507 movs r0, #0
9242
- str r0, [r6, #2720]
9243
- str r0, [r6, #2724]
9244
- str r3, [r6, #2716]
9245
- b .L1362
9246
-.L1363:
9247
- ldr r9, [r6, #2556]
9248
- movw r4, #10000
9249
- ldr r1, [r6, #2612]
9250
- ldr r8, [r6, #2716]
9251
- add r3, r9, #1048576
9252
- cmp r1, r4
9508
+ str r3, [r4, #2716]
9509
+ str r0, [r4, #2720]
9510
+ str r0, [r4, #2724]
9511
+ b .L1351
9512
+.L1352:
9513
+ ldr r8, [r4, #2556]
9514
+ movw r5, #10000
9515
+ ldr r1, [r4, #2612]
9516
+ ldr r10, [r4, #2716]
9517
+ add r2, r8, #1048576
9518
+ cmp r1, r5
92539519 ite hi
9254
- movhi r4, #31
9255
- movls r4, #63
9256
- cmp r8, r3
9257
- bhi .L1373
9258
- ldr r3, [r6, #2552]
9259
- lsrs r1, r1, #10
9520
+ movhi r5, #31
9521
+ movls r5, #63
9522
+ ldrh r7, [r4, #2496]
9523
+ cmp r10, r2
9524
+ bhi .L1361
92609525 mov r0, #1000
9526
+ lsrs r1, r1, #10
92619527 adds r1, r1, #1
92629528 muls r0, r3, r0
92639529 bl __aeabi_uidiv
9264
- add r0, r0, r8
9265
- cmp r9, r0
9266
- bhi .L1373
9267
- ldrh r3, [r6, #2496]
9268
- ands r0, r4, r3
9269
- bne .L1376
9270
- ldr r2, [r6, #2740]
9271
- cmp r3, r2
9272
- beq .L1362
9273
-.L1373:
9274
- ldrh r3, [r5, #2496]
9275
- movs r0, #0
9276
- str r0, [r5, #2724]
9277
- str r9, [r5, #2716]
9278
- str r3, [r5, #2740]
9530
+ add r0, r0, r10
9531
+ cmp r8, r0
9532
+ bhi .L1361
9533
+ ands r0, r5, r7
9534
+ bne .L1364
9535
+ ldr r3, [r4, #2740]
9536
+ cmp r3, r7
9537
+ beq .L1351
9538
+.L1361:
92799539 movs r3, #1
9280
- str r3, [r5, #2720]
9281
- b .L1362
9282
-.L1376:
9283
- mov r0, r10
9284
- b .L1362
9285
-.L1374:
9540
+ movs r0, #0
9541
+ str r7, [r4, #2740]
9542
+ str r3, [r4, #2720]
9543
+ str r0, [r4, #2724]
9544
+ str r8, [r4, #2716]
9545
+ b .L1351
9546
+.L1364:
9547
+ mov r0, r9
9548
+ b .L1351
9549
+.L1362:
92869550 add sp, sp, #96
92879551 @ sp needed
92889552 pop {r4, r5, r6, r7, r8, r9, r10, pc}
9289
-.L1380:
9553
+.L1368:
92909554 .align 2
9291
-.L1379:
9555
+.L1367:
92929556 .word .LANCHOR0
9293
- .word __stack_chk_guard
92949557 .fnend
92959558 .size FtlReadRefresh, .-FtlReadRefresh
92969559 .align 1
....@@ -9307,30 +9570,30 @@
93079570 push {r4, r5, r6, lr}
93089571 .save {r4, r5, r6, lr}
93099572 movs r4, #0
9310
- ldr r5, .L1385
9573
+ ldr r5, .L1373
93119574 movs r6, #12
93129575 bl FtlWriteDump_data
9313
-.L1382:
9576
+.L1370:
93149577 ldrh r3, [r5, #338]
93159578 uxth r0, r4
93169579 cmp r3, r0
9317
- bhi .L1384
9580
+ bhi .L1372
93189581 movs r0, #0
93199582 pop {r4, r5, r6, pc}
9320
-.L1384:
9321
- ldr r2, [r5, #2540]
9322
- uxth r3, r4
9323
- mla r3, r6, r3, r2
9583
+.L1372:
9584
+ ldr r3, [r5, #2540]
9585
+ uxth r2, r4
9586
+ mla r3, r6, r2, r3
93249587 ldr r3, [r3, #4]
93259588 cmp r3, #0
9326
- bge .L1383
9589
+ bge .L1371
93279590 bl flush_l2p_region
9328
-.L1383:
9591
+.L1371:
93299592 adds r4, r4, #1
9330
- b .L1382
9331
-.L1386:
9593
+ b .L1370
9594
+.L1374:
93329595 .align 2
9333
-.L1385:
9596
+.L1373:
93349597 .word .LANCHOR0
93359598 .fnend
93369599 .size l2p_flush, .-l2p_flush
....@@ -9345,40 +9608,38 @@
93459608 .fnstart
93469609 @ args = 0, pretend = 0, frame = 104
93479610 @ frame_needed = 0, uses_anonymous_args = 0
9348
- ldr r3, .L1400
93499611 push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
93509612 .save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
9351
- mov r10, r2
9352
- ldr r4, .L1400+4
9613
+ mov fp, r2
9614
+ ldr r4, .L1388
93539615 .pad #108
93549616 sub sp, sp, #108
9355
- mov r6, r1
9356
- adds r1, r0, r1
9357
- ldr r2, [r3]
9358
- mov r8, r0
9359
- str r3, [sp, #4]
9360
- str r2, [sp, #100]
9361
- ldrh r2, [r4, #296]
9362
- cmp r1, r2
9363
- bhi .L1396
9364
- ldrh r7, [r4, #308]
9365
- mov r9, #0
9366
- lsr r7, r0, r7
9367
- lsl fp, r7, #2
9368
-.L1389:
9369
- cbnz r6, .L1394
9370
-.L1387:
9371
- ldr r3, [sp, #4]
9372
- mov r0, r9
9373
- ldr r2, [sp, #100]
9374
- ldr r3, [r3]
9617
+ adds r2, r0, r1
9618
+ mov r3, sp
9619
+ mov r7, r0
9620
+ bic r10, r3, #8160
9621
+ mov r5, r1
9622
+ bic r10, r10, #31
9623
+ ldrh r8, [r4, #308]
9624
+ ldr r3, [r10, #24]
9625
+ lsr r8, r0, r8
9626
+ str r3, [sp, #100]
9627
+ ldrh r3, [r4, #296]
93759628 cmp r2, r3
9376
- beq .L1395
9629
+ bhi .L1384
9630
+ mov r9, #0
9631
+.L1377:
9632
+ cbnz r5, .L1382
9633
+.L1375:
9634
+ ldr r2, [sp, #100]
9635
+ ldr r3, [r10, #24]
9636
+ cmp r2, r3
9637
+ beq .L1383
93779638 bl __stack_chk_fail
9378
-.L1394:
9639
+.L1382:
93799640 ldr r3, [r4, #3372]
9380
- mov r0, r8
9381
- ldr r2, [r3, fp]
9641
+ mov r0, r7
9642
+ ldr r2, [r3, r8, lsl #2]
93829643 ldrh r3, [r4, #258]
93839644 str r2, [sp, #12]
93849645 mov r1, r3
....@@ -9386,64 +9647,61 @@
93869647 bl __aeabi_uidivmod
93879648 ldr r3, [sp, #8]
93889649 ldr r2, [sp, #12]
9389
- str r1, [sp]
9390
- subs r5, r3, r1
9391
- uxth r5, r5
9650
+ subs r6, r3, r1
9651
+ ldr r0, [r4, #3308]
9652
+ str r1, [sp, #4]
9653
+ uxth r6, r6
93929654 cmp r6, r5
9393
- it cc
9394
- uxthcc r5, r6
9395
- cbz r2, .L1391
9396
- cmp r5, r3
9397
- beq .L1391
9398
- ldr r3, [r4, #3308]
9399
- add r0, sp, #16
9400
- str r2, [sp, #20]
9655
+ it hi
9656
+ uxthhi r6, r5
9657
+ cbz r2, .L1379
9658
+ cmp r3, r6
9659
+ beq .L1379
9660
+ strd r2, r0, [sp, #20]
94019661 movs r2, #1
9662
+ add r0, sp, #16
94029663 mov r1, r2
9403
- str r3, [sp, #24]
94049664 add r3, sp, #36
94059665 str r3, [sp, #28]
94069666 bl FlashReadPages
9407
-.L1392:
9408
- lsls r3, r5, #9
9667
+.L1380:
9668
+ lsls r3, r6, #9
94099669 ldr r0, [r4, #3308]
9410
- mov r1, r10
94119670 mov r2, r3
94129671 str r3, [sp, #8]
9413
- ldr r3, [sp]
9414
- subs r6, r6, r5
9415
- add r8, r8, r5
9416
- add fp, fp, #4
9672
+ ldr r3, [sp, #4]
9673
+ mov r1, fp
9674
+ subs r5, r5, r6
9675
+ add r7, r7, r6
94179676 add r0, r0, r3, lsl #9
94189677 bl ftl_memcpy
9419
- mov r1, r7
9678
+ mov r1, r8
94209679 ldr r2, [r4, #3308]
9421
- ldr r0, .L1400+8
9422
- adds r7, r7, #1
9680
+ add r8, r8, #1
9681
+ ldr r0, .L1388+4
94239682 bl FtlMapWritePage
94249683 ldr r3, [sp, #8]
94259684 adds r0, r0, #1
9685
+ add fp, fp, r3
94269686 it eq
94279687 moveq r9, #-1
9428
- add r10, r10, r3
9429
- b .L1389
9430
-.L1391:
9688
+ b .L1377
9689
+.L1379:
94319690 ldrh r2, [r4, #310]
94329691 movs r1, #0
9433
- ldr r0, [r4, #3308]
94349692 bl ftl_memset
9435
- b .L1392
9436
-.L1396:
9693
+ b .L1380
9694
+.L1384:
94379695 mov r9, #-1
9438
- b .L1387
9439
-.L1395:
9696
+ b .L1375
9697
+.L1383:
9698
+ mov r0, r9
94409699 add sp, sp, #108
94419700 @ sp needed
94429701 pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
9443
-.L1401:
9702
+.L1389:
94449703 .align 2
9445
-.L1400:
9446
- .word __stack_chk_guard
9704
+.L1388:
94479705 .word .LANCHOR0
94489706 .word .LANCHOR0+3608
94499707 .fnend
....@@ -9460,17 +9718,17 @@
94609718 @ args = 0, pretend = 0, frame = 0
94619719 @ frame_needed = 0, uses_anonymous_args = 0
94629720 @ link register save eliminated.
9463
- ldr r2, .L1404
9464
- ldr r3, .L1404+4
9721
+ ldr r2, .L1392
9722
+ ldr r3, .L1392+4
94659723 ldr r1, [r2, #2640]
94669724 cmp r1, r3
9467
- bne .L1402
9468
- ldr r3, .L1404+8
9725
+ bne .L1390
9726
+ ldr r3, .L1392+8
94699727 add r2, r2, #2640
9470
- movs r1, #1
9471
- movs r0, #0
94729728 str r3, [r2, #4]
9729
+ movs r1, #1
94739730 ldr r3, [r2, #-60]
9731
+ movs r0, #0
94749732 str r3, [r2, #88]
94759733 ldr r3, [r2, #-56]
94769734 str r3, [r2, #92]
....@@ -9495,11 +9753,11 @@
94959753 ldr r3, [r2, #-24]
94969754 str r3, [r2, #48]
94979755 b FtlVendorPartWrite
9498
-.L1402:
9756
+.L1390:
94999757 bx lr
9500
-.L1405:
9758
+.L1393:
95019759 .align 2
9502
-.L1404:
9760
+.L1392:
95039761 .word .LANCHOR0
95049762 .word 1179929683
95059763 .word 1342177367
....@@ -9516,30 +9774,29 @@
95169774 .fnstart
95179775 @ args = 0, pretend = 0, frame = 0
95189776 @ frame_needed = 0, uses_anonymous_args = 0
9519
- push {r3, lr}
9520
- .save {r3, lr}
9521
- ldr r3, .L1411
9777
+ ldr r3, .L1399
9778
+ push {r4, lr}
9779
+ .save {r4, lr}
95229780 ldrh r2, [r3, #3652]
95239781 cmp r2, #31
9524
- itett ls
9782
+ itt ls
95259783 addls r2, r2, #1
9526
- movhi r2, #32
95279784 strhls r2, [r3, #3652] @ movhi
9528
- movls r2, #1
9529
- cbnz r0, .L1408
9530
- ldr r1, [r3, #3348]
9531
- ldr r0, [r1, #20]
9532
- ldr r1, [r1, #16]
9533
- add r2, r2, r0
9534
- cmp r1, r2
9535
- bcc .L1409
9536
-.L1408:
95379785 ldr r2, [r3, #3348]
9786
+ ite ls
9787
+ movls r1, #1
9788
+ movhi r1, #32
9789
+ ldr r4, [r2, #16]
9790
+ cbnz r0, .L1396
9791
+ ldr r0, [r2, #20]
9792
+ add r1, r1, r0
9793
+ cmp r1, r4
9794
+ bhi .L1397
9795
+.L1396:
9796
+ ldr r1, .L1399+4
95389797 movs r0, #64
9539
- ldr r1, [r2, #16]
9540
- str r1, [r2, #20]
9541
- ldr r1, .L1411+4
95429798 str r1, [r2]
9799
+ str r4, [r2, #20]
95439800 ldrh r1, [r3, #3340]
95449801 ldr r2, [r3, #3348]
95459802 lsls r3, r1, #9
....@@ -9551,12 +9808,12 @@
95519808 str r3, [r2, #4]
95529809 bl FtlVendorPartWrite
95539810 bl Ftl_save_ext_data
9554
-.L1409:
9811
+.L1397:
95559812 movs r0, #0
9556
- pop {r3, pc}
9557
-.L1412:
9813
+ pop {r4, pc}
9814
+.L1400:
95589815 .align 2
9559
-.L1411:
9816
+.L1399:
95609817 .word .LANCHOR0
95619818 .word 1112818501
95629819 .fnend
....@@ -9577,6 +9834,10 @@
95779834 b FtlVendorPartWrite
95789835 .fnend
95799836 .size sftl_vendor_write, .-sftl_vendor_write
9837
+ .section .rodata.str1.1
9838
+.LC118:
9839
+ .ascii "FtlVendorPartRead refresh = %x phyAddr = %x\012\000"
9840
+ .text
95809841 .align 1
95819842 .global FtlVendorPartRead
95829843 .syntax unified
....@@ -9588,116 +9849,118 @@
95889849 .fnstart
95899850 @ args = 0, pretend = 0, frame = 104
95909851 @ frame_needed = 0, uses_anonymous_args = 0
9591
- ldr r3, .L1425
95929852 push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
95939853 .save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
9594
- mov r10, r2
9595
- ldr r4, .L1425+4
9854
+ mov r9, r2
9855
+ ldr r5, .L1413
95969856 .pad #108
95979857 sub sp, sp, #108
9598
- mov r7, r1
9599
- adds r1, r0, r1
9600
- ldr r2, [r3]
9858
+ adds r2, r0, r1
9859
+ mov r3, sp
96019860 mov r8, r0
9602
- str r3, [sp, #8]
9603
- str r2, [sp, #100]
9604
- ldrh r2, [r4, #296]
9605
- cmp r1, r2
9606
- bhi .L1424
9607
- ldrh r6, [r4, #308]
9608
- mov r9, #0
9609
- lsr r6, r0, r6
9610
- lsl fp, r6, #2
9611
-.L1416:
9612
- cbnz r7, .L1422
9613
-.L1414:
9614
- ldr r3, [sp, #8]
9615
- mov r0, r9
9616
- ldr r2, [sp, #100]
9617
- ldr r3, [r3]
9861
+ bic r3, r3, #8160
9862
+ mov r6, r1
9863
+ bic r3, r3, #31
9864
+ ldrh r7, [r5, #308]
9865
+ str r3, [sp, #4]
9866
+ ldr r3, [r3, #24]
9867
+ lsr r7, r0, r7
9868
+ str r3, [sp, #100]
9869
+ ldrh r3, [r5, #296]
96189870 cmp r2, r3
9619
- beq .L1423
9871
+ bhi .L1412
9872
+ mov r10, #0
9873
+.L1404:
9874
+ cbnz r6, .L1410
9875
+.L1402:
9876
+ ldr r3, [sp, #4]
9877
+ ldr r2, [sp, #100]
9878
+ ldr r3, [r3, #24]
9879
+ cmp r2, r3
9880
+ beq .L1411
96209881 bl __stack_chk_fail
9621
-.L1422:
9622
- ldr r3, [r4, #3372]
9882
+.L1410:
9883
+ ldr r3, [r5, #3372]
96239884 mov r0, r8
9624
- ldrh r5, [r4, #258]
9625
- ldr r3, [r3, fp]
9626
- mov r1, r5
9885
+ ldrh r4, [r5, #258]
9886
+ ldr r3, [r3, r7, lsl #2]
9887
+ mov r1, r4
96279888 str r3, [sp, #12]
96289889 bl __aeabi_uidivmod
9629
- subs r5, r5, r1
9890
+ subs r4, r4, r1
96309891 ldr r3, [sp, #12]
9631
- uxth r5, r5
9632
- str r1, [sp, #4]
9633
- cmp r7, r5
9634
- it cc
9635
- uxthcc r5, r7
9636
- lsls r2, r5, #9
9637
- str r2, [sp, #12]
9638
- cbz r3, .L1418
9639
- ldr r2, [r4, #3308]
9892
+ str r1, [sp, #8]
9893
+ uxth r4, r4
9894
+ cmp r4, r6
9895
+ it hi
9896
+ uxthhi r4, r6
9897
+ lsl fp, r4, #9
9898
+ cbz r3, .L1406
9899
+ ldr r2, [r5, #3308]
96409900 add r0, sp, #16
9641
- str r3, [sp, #20]
9642
- str r3, [sp, #12]
96439901 str r2, [sp, #24]
96449902 add r2, sp, #36
96459903 str r2, [sp, #28]
96469904 movs r2, #1
96479905 mov r1, r2
9906
+ str r3, [sp, #20]
9907
+ str r3, [sp, #12]
96489908 bl FlashReadPages
96499909 ldr r2, [sp, #16]
96509910 ldr r3, [sp, #12]
96519911 adds r2, r2, #1
9652
- ldr r2, [r4, #3452]
9912
+ ldr r2, [r5, #3452]
96539913 it eq
9654
- moveq r9, #-1
9914
+ moveq r10, #-1
96559915 cmp r2, #256
9656
- bne .L1420
9916
+ bne .L1408
9917
+ ldr r0, .L1413+4
96579918 mov r2, r3
9658
- mov r1, r6
9659
- ldr r0, .L1425+8
9919
+ mov r1, r7
96609920 bl sftl_printk
9661
- ldr r2, [r4, #3308]
9662
- mov r1, r6
9663
- ldr r0, .L1425+12
9921
+ ldr r2, [r5, #3308]
9922
+ ldr r0, .L1413+8
9923
+ mov r1, r7
96649924 bl FtlMapWritePage
9665
-.L1420:
9666
- ldr r1, [r4, #3308]
9667
- lsls r2, r5, #9
9668
- ldr r3, [sp, #4]
9669
- mov r0, r10
9925
+.L1408:
9926
+ ldr r1, [r5, #3308]
9927
+ mov r2, fp
9928
+ ldr r3, [sp, #8]
9929
+ mov r0, r9
96709930 add r1, r1, r3, lsl #9
96719931 bl ftl_memcpy
9672
-.L1421:
9673
- adds r6, r6, #1
9674
- subs r7, r7, r5
9675
- add r8, r8, r5
9676
- add r10, r10, r5, lsl #9
9677
- add fp, fp, #4
9678
- b .L1416
9679
-.L1418:
9680
- lsls r2, r5, #9
9932
+.L1409:
9933
+ adds r7, r7, #1
9934
+ subs r6, r6, r4
9935
+ add r8, r8, r4
9936
+ add r9, r9, fp
9937
+ b .L1404
9938
+.L1406:
9939
+ mov r2, fp
96819940 mov r1, r3
9682
- mov r0, r10
9941
+ mov r0, r9
96839942 bl ftl_memset
9684
- b .L1421
9685
-.L1424:
9686
- mov r9, #-1
9687
- b .L1414
9688
-.L1423:
9943
+ b .L1409
9944
+.L1412:
9945
+ mov r10, #-1
9946
+ b .L1402
9947
+.L1411:
9948
+ mov r0, r10
96899949 add sp, sp, #108
96909950 @ sp needed
96919951 pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
9692
-.L1426:
9952
+.L1414:
96939953 .align 2
9694
-.L1425:
9695
- .word __stack_chk_guard
9954
+.L1413:
96969955 .word .LANCHOR0
96979956 .word .LC118
96989957 .word .LANCHOR0+3608
96999958 .fnend
97009959 .size FtlVendorPartRead, .-FtlVendorPartRead
9960
+ .section .rodata.str1.1
9961
+.LC119:
9962
+ .ascii "no ect\000"
9963
+ .text
97019964 .align 1
97029965 .global FtlLoadEctTbl
97039966 .syntax unified
....@@ -9712,29 +9975,29 @@
97129975 push {r4, lr}
97139976 .save {r4, lr}
97149977 movs r0, #64
9715
- ldr r4, .L1429
9978
+ ldr r4, .L1417
97169979 ldr r2, [r4, #3348]
97179980 ldrh r1, [r4, #3340]
97189981 bl FtlVendorPartRead
97199982 ldr r3, [r4, #3348]
97209983 ldr r2, [r3]
9721
- ldr r3, .L1429+4
9984
+ ldr r3, .L1417+4
97229985 cmp r2, r3
9723
- beq .L1428
9724
- ldr r1, .L1429+8
9725
- ldr r0, .L1429+12
9986
+ beq .L1416
9987
+ ldr r1, .L1417+8
9988
+ ldr r0, .L1417+12
97269989 bl sftl_printk
97279990 ldrh r2, [r4, #3340]
9728
- movs r1, #0
97299991 ldr r0, [r4, #3348]
9992
+ movs r1, #0
97309993 lsls r2, r2, #9
97319994 bl ftl_memset
9732
-.L1428:
9995
+.L1416:
97339996 movs r0, #0
97349997 pop {r4, pc}
9735
-.L1430:
9998
+.L1418:
97369999 .align 2
9737
-.L1429:
10000
+.L1417:
973810001 .word .LANCHOR0
973910002 .word 1112818501
974010003 .word .LC119
....@@ -9755,59 +10018,54 @@
975510018 push {r3, r4, r5, lr}
975610019 .save {r3, r4, r5, lr}
975710020 movs r1, #1
9758
- ldr r4, .L1434
10021
+ ldr r4, .L1421
975910022 movs r0, #0
9760
- ldr r5, .L1434+4
10023
+ ldr r5, .L1421+4
976110024 add r2, r4, #2640
976210025 bl FtlVendorPartRead
976310026 ldr r3, [r4, #2640]
976410027 cmp r3, r5
9765
- beq .L1432
10028
+ beq .L1420
10029
+ add r0, r4, #2640
976610030 mov r2, #512
976710031 movs r1, #0
9768
- add r0, r4, #2640
976910032 bl ftl_memset
977010033 str r5, [r4, #2640]
9771
-.L1432:
9772
- ldr r3, [r4, #2640]
9773
- cmp r3, r5
9774
- bne .L1433
10034
+.L1420:
977510035 ldr r3, [r4, #2728]
10036
+ ldr r2, [r4, #2672]
977610037 str r3, [r4, #2580]
977710038 ldr r3, [r4, #2732]
977810039 str r3, [r4, #2584]
10040
+ str r2, [r4, #2608]
977910041 ldr r3, [r4, #2648]
10042
+ ldr r2, [r4, #2676]
978010043 str r3, [r4, #2576]
10044
+ str r2, [r4, #2560]
978110045 ldr r3, [r4, #2652]
10046
+ ldr r2, [r4, #2680]
978210047 str r3, [r4, #2564]
10048
+ str r2, [r4, #2568]
978310049 ldr r3, [r4, #2656]
10050
+ ldr r2, [r4, #2684]
978410051 str r3, [r4, #2556]
10052
+ str r2, [r4, #2612]
978510053 ldr r3, [r4, #2660]
10054
+ ldr r2, [r4, #2688]
978610055 str r3, [r4, #2572]
10056
+ str r2, [r4, #2616]
978710057 ldr r3, [r4, #2668]
9788
- str r3, [r4, #2600]
9789
- ldr r3, [r4, #2672]
9790
- str r3, [r4, #2608]
9791
- ldr r3, [r4, #2676]
9792
- str r3, [r4, #2560]
9793
- ldr r3, [r4, #2680]
9794
- str r3, [r4, #2568]
9795
- ldr r3, [r4, #2684]
9796
- str r3, [r4, #2612]
9797
- ldr r3, [r4, #2688]
9798
- str r3, [r4, #2616]
9799
-.L1433:
980010058 ldrh r2, [r4, #292]
9801
- ldr r3, [r4, #2600]
980210059 ldr r0, [r4, #2596]
980310060 ldrh r1, [r4, #240]
10061
+ str r3, [r4, #2600]
980410062 mla r0, r0, r2, r3
980510063 bl __aeabi_uidiv
980610064 str r0, [r4, #2604]
980710065 pop {r3, r4, r5, pc}
9808
-.L1435:
10066
+.L1422:
980910067 .align 2
9810
-.L1434:
10068
+.L1421:
981110069 .word .LANCHOR0
981210070 .word 1179929683
981310071 .fnend
....@@ -9841,46 +10099,50 @@
984110099 @ frame_needed = 0, uses_anonymous_args = 0
984210100 push {r4, r5, r6, lr}
984310101 .save {r4, r5, r6, lr}
9844
- mov r6, r0
10102
+ mov r5, r0
984510103 ldr r3, [r0, #36]
9846
- cbz r3, .L1437
9847
- ldrh r5, [r0, #6]
9848
- movs r3, #0
9849
- ldr r4, .L1441
9850
- ldr r2, [r0, #24]
9851
- str r3, [r0, #36]
9852
- subs r5, r5, #1
10104
+ cbz r3, .L1424
10105
+ ldrh r6, [r0, #6]
10106
+ movs r2, #0
10107
+ ldr r4, .L1428
10108
+ subs r6, r6, #1
10109
+ str r2, [r0, #36]
10110
+ ldr r3, [r0, #24]
10111
+ uxth r6, r6
985310112 ldr r0, [r4, #3304]
9854
- uxth r5, r5
9855
- ldr r1, [r4, #3332]
10113
+ ldr r2, [r4, #3332]
985610114 str r0, [r4, #3460]
9857
- str r1, [r4, #3464]
9858
- ldr r2, [r2, r5, lsl #2]
9859
- str r2, [r4, #3456]
9860
- cbz r2, .L1439
10115
+ str r2, [r4, #3464]
10116
+ ldr r3, [r3, r6, lsl #2]
10117
+ str r3, [r4, #3456]
10118
+ cbz r3, .L1426
986110119 movs r2, #1
986210120 addw r0, r4, #3452
986310121 mov r1, r2
986410122 bl FlashReadPages
9865
-.L1440:
10123
+.L1427:
986610124 ldr r2, [r4, #3460]
9867
- mov r1, r5
9868
- mov r0, r6
10125
+ mov r1, r6
10126
+ mov r0, r5
986910127 pop {r4, r5, r6, lr}
987010128 b FtlMapWritePage
9871
-.L1439:
10129
+.L1426:
987210130 ldrh r2, [r4, #310]
987310131 movs r1, #255
987410132 bl ftl_memset
9875
- b .L1440
9876
-.L1437:
10133
+ b .L1427
10134
+.L1424:
987710135 pop {r4, r5, r6, pc}
9878
-.L1442:
10136
+.L1429:
987910137 .align 2
9880
-.L1441:
10138
+.L1428:
988110139 .word .LANCHOR0
988210140 .fnend
988310141 .size FtlMapBlkWriteDump_data, .-FtlMapBlkWriteDump_data
10142
+ .section .rodata.str1.1
10143
+.LC120:
10144
+ .ascii "FtlVpcTblFlush error = %x error count = %d\012\000"
10145
+ .text
988410146 .align 1
988510147 .global FtlVpcTblFlush
988610148 .syntax unified
....@@ -9895,42 +10157,41 @@
989510157 push {r4, r5, r6, r7, r8, r9, r10, lr}
989610158 .save {r4, r5, r6, r7, r8, r9, r10, lr}
989710159 movs r5, #0
9898
- ldr r4, .L1458
10160
+ ldr r4, .L1446
989910161 movs r1, #255
9900
- movw r7, #65535
9901
- ldr r9, .L1458+16
9902
- ldr r3, [r4, #3300]
10162
+ ldr r9, .L1446+4
10163
+ ldr r10, .L1446+8
990310164 addw r8, r4, #3452
10165
+ movw r7, #65535
990410166 ldr r6, [r4, #3332]
9905
- ldr r10, .L1458+20
10167
+ ldr r3, [r4, #3300]
990610168 str r3, [r4, #3460]
990710169 ldrh r3, [r4, #2624]
990810170 str r6, [r4, #3464]
9909
- str r5, [r6, #12]
991010171 strh r3, [r6, #2] @ movhi
991110172 movw r3, #61604
991210173 strh r3, [r6] @ movhi
991310174 ldr r3, [r4, #2632]
9914
- str r5, [r6, #8]
9915
- ldrh r2, [r4, #26]
991610175 str r3, [r6, #4]
9917
- ldr r3, .L1458+4
10176
+ ldr r3, .L1446+12
991810177 str r3, [r4, #2468]
9919
- ldr r3, .L1458+8
10178
+ ldr r3, .L1446+16
992010179 str r3, [r4, #2472]
992110180 ldrh r3, [r4, #2630]
10181
+ strd r5, r5, [r6, #8]
992210182 strh r3, [r4, #2476] @ movhi
992310183 ldrh r3, [r4, #254]
992410184 strb r3, [r4, #2478]
992510185 ldrh r3, [r4, #24]
10186
+ ldrh r2, [r4, #26]
992610187 strh r3, [r4, #2482] @ movhi
992710188 ldrb r3, [r4, #30] @ zero_extendqisi2
992810189 orr r3, r3, r2, lsl #6
9929
- ldrh r2, [r4, #78]
993010190 strh r3, [r4, #2484] @ movhi
993110191 ldrb r3, [r4, #32] @ zero_extendqisi2
993210192 strb r3, [r4, #2479]
993310193 ldrh r3, [r4, #76]
10194
+ ldrh r2, [r4, #78]
993410195 strh r3, [r4, #2486] @ movhi
993510196 ldrb r3, [r4, #82] @ zero_extendqisi2
993610197 orr r3, r3, r2, lsl #6
....@@ -9938,24 +10199,24 @@
993810199 ldrb r3, [r4, #84] @ zero_extendqisi2
993910200 strb r3, [r4, #2480]
994010201 ldrh r3, [r4, #124]
9941
- ldrh r2, [r4, #126]
9942
- ldr r0, [r4, #3460]
994310202 strh r3, [r4, #2490] @ movhi
10203
+ ldrh r2, [r4, #126]
994410204 ldrb r3, [r4, #130] @ zero_extendqisi2
10205
+ ldr r0, [r4, #3460]
994510206 orr r3, r3, r2, lsl #6
9946
- ldrh r2, [r4, #310]
994710207 strh r3, [r4, #2492] @ movhi
994810208 ldrb r3, [r4, #132] @ zero_extendqisi2
994910209 strb r3, [r4, #2481]
995010210 ldr r3, [r4, #2596]
995110211 str r3, [r4, #2500]
995210212 ldr r3, [r4, #2588]
10213
+ ldrh r2, [r4, #310]
995310214 str r3, [r4, #2508]
995410215 ldr r3, [r4, #2592]
995510216 str r3, [r4, #2504]
995610217 bl ftl_memset
9957
- movs r2, #48
995810218 addw r1, r4, #2468
10219
+ movs r2, #48
995910220 ldr r0, [r4, #3460]
996010221 bl ftl_memcpy
996110222 ldrh r2, [r4, #240]
....@@ -9966,10 +10227,10 @@
996610227 bl ftl_memcpy
996710228 mov r0, r5
996810229 bl FtlUpdateVaildLpn
9969
-.L1444:
9970
- ldr r3, [r4, #3300]
10230
+.L1431:
997110231 ldrh r1, [r4, #2626]
997210232 ldrh r2, [r4, #2624]
10233
+ ldr r3, [r4, #3300]
997310234 str r3, [r4, #3460]
997410235 ldr r3, [r4, #3332]
997510236 str r3, [r4, #3464]
....@@ -9978,22 +10239,22 @@
997810239 ldrh r3, [r4, #304]
997910240 subs r3, r3, #1
998010241 cmp r1, r3
9981
- blt .L1445
10242
+ blt .L1432
998210243 movs r3, #0
998310244 ldrh r7, [r4, #2628]
998410245 strh r3, [r4, #2626] @ movhi
998510246 strh r2, [r4, #2628] @ movhi
998610247 bl FtlFreeSysBlkQueueOut
998710248 ldr r3, [r4, #2588]
9988
- strh r0, [r4, #2624] @ movhi
9989
- adds r2, r3, #1
999010249 str r3, [r4, #2632]
10250
+ adds r2, r3, #1
10251
+ strh r0, [r4, #2624] @ movhi
999110252 str r2, [r4, #2588]
999210253 lsls r2, r0, #10
999310254 str r2, [r4, #3456]
999410255 str r3, [r6, #4]
999510256 strh r0, [r6, #2] @ movhi
9996
-.L1445:
10257
+.L1432:
999710258 ldrh r1, [r4, #310]
999810259 ldr r0, [r4, #3300]
999910260 bl js_hash
....@@ -10006,56 +10267,56 @@
1000610267 ldrh r3, [r4, #2626]
1000710268 ldr r2, [r4, #3452]
1000810269 adds r3, r3, #1
10009
- uxth r3, r3
1001010270 adds r1, r2, #1
10271
+ uxth r3, r3
1001110272 strh r3, [r4, #2626] @ movhi
10012
- bne .L1446
10273
+ bne .L1433
1001310274 cmp r3, #1
10014
- bne .L1447
10015
- movw r2, #1145
10275
+ bne .L1435
1001610276 mov r1, r9
1001710277 mov r0, r10
10278
+ movw r2, #1145
1001810279 bl sftl_printk
10019
-.L1447:
1002010280 ldrh r3, [r4, #2626]
10021
- adds r5, r5, #1
10022
- uxth r5, r5
1002310281 cmp r3, #1
1002410282 ittt eq
1002510283 ldrheq r3, [r4, #304]
1002610284 addeq r3, r3, #-1
1002710285 strheq r3, [r4, #2626] @ movhi
10286
+.L1435:
10287
+ adds r5, r5, #1
10288
+ uxth r5, r5
1002810289 cmp r5, #3
10029
- bls .L1444
10030
- mov r2, r5
10290
+ bls .L1431
1003110291 ldr r1, [r4, #3456]
10032
- ldr r0, .L1458+12
10292
+ mov r2, r5
10293
+ ldr r0, .L1446+20
1003310294 bl sftl_printk
10034
-.L1450:
10035
- b .L1450
10036
-.L1446:
10295
+.L1438:
10296
+ b .L1438
10297
+.L1433:
1003710298 cmp r3, #1
10038
- beq .L1444
10299
+ beq .L1431
1003910300 cmp r2, #256
10040
- beq .L1444
10301
+ beq .L1431
1004110302 movw r3, #65535
1004210303 cmp r7, r3
10043
- beq .L1451
10044
- movs r1, #1
10304
+ beq .L1439
1004510305 mov r0, r7
10306
+ movs r1, #1
1004610307 bl FtlFreeSysBlkQueueIn
10047
-.L1451:
10308
+.L1439:
1004810309 movs r0, #0
1004910310 pop {r4, r5, r6, r7, r8, r9, r10, pc}
10050
-.L1459:
10311
+.L1447:
1005110312 .align 2
10052
-.L1458:
10313
+.L1446:
1005310314 .word .LANCHOR0
10315
+ .word .LANCHOR1+471
10316
+ .word .LC8
1005410317 .word 1179929683
1005510318 .word 1342177367
1005610319 .word .LC120
10057
- .word .LANCHOR1+471
10058
- .word .LC8
1005910320 .fnend
1006010321 .size FtlVpcTblFlush, .-FtlVpcTblFlush
1006110322 .align 1
....@@ -10092,17 +10353,17 @@
1009210353 @ frame_needed = 0, uses_anonymous_args = 0
1009310354 push {r3, lr}
1009410355 .save {r3, lr}
10095
- ldr r3, .L1463
10356
+ ldr r3, .L1451
1009610357 ldr r3, [r3]
1009710358 cmp r3, #1
10098
- bne .L1462
10359
+ bne .L1450
1009910360 bl FtlSysFlush
10100
-.L1462:
10361
+.L1450:
1010110362 movs r0, #0
1010210363 pop {r3, pc}
10103
-.L1464:
10364
+.L1452:
1010410365 .align 2
10105
-.L1463:
10366
+.L1451:
1010610367 .word .LANCHOR2
1010710368 .fnend
1010810369 .size sftl_deinit, .-sftl_deinit
....@@ -10119,104 +10380,109 @@
1011910380 @ frame_needed = 0, uses_anonymous_args = 0
1012010381 push {r4, r5, r6, r7, r8, r9, lr}
1012110382 .save {r4, r5, r6, r7, r8, r9, lr}
10383
+ mov r6, r0
10384
+ ldr r5, .L1471
1012210385 .pad #20
1012310386 sub sp, sp, #20
10124
- ldr r7, .L1483
10125
- mov r8, r0
10126
- mov r5, r1
10127
- ldr r4, .L1483+4
10128
- ldr r3, [r7]
10387
+ mov r4, r1
10388
+ mov r3, sp
10389
+ bic r9, r3, #8160
10390
+ bic r9, r9, #31
10391
+ ldr r3, [r9, #24]
1012910392 str r3, [sp, #12]
10130
- ldr r3, [r4, #340]
10393
+ ldr r3, [r5, #340]
1013110394 cmp r3, r0
10132
- bls .L1476
10395
+ bls .L1464
1013310396 cmp r3, r1
10134
- bcc .L1476
10397
+ bcc .L1464
1013510398 adds r2, r0, r1
1013610399 cmp r3, r2
10137
- bcc .L1476
10400
+ bcc .L1464
1013810401 cmp r1, #31
10139
- bhi .L1467
10140
-.L1472:
10402
+ bhi .L1455
10403
+.L1460:
1014110404 movs r0, #0
10142
-.L1465:
10405
+.L1453:
1014310406 ldr r2, [sp, #12]
10144
- ldr r3, [r7]
10407
+ ldr r3, [r9, #24]
1014510408 cmp r2, r3
10146
- beq .L1473
10409
+ beq .L1461
1014710410 bl __stack_chk_fail
10148
-.L1467:
10149
- ldrh r6, [r4, #258]
10150
- mov r1, r6
10411
+.L1455:
10412
+ ldrh r8, [r5, #258]
10413
+ mov r1, r8
1015110414 bl __aeabi_uidiv
10152
- smulbb r3, r0, r6
10153
- mov r9, r0
10154
- sub r8, r8, r3
10155
- uxth r3, r8
10156
- cbz r3, .L1468
10157
- subs r6, r6, r3
10158
- add r9, r0, #1
10159
- cmp r6, r5
10160
- it cs
10161
- movcs r6, r5
10415
+ mov r7, r0
10416
+ smulbb r0, r0, r8
10417
+ subs r6, r6, r0
1016210418 uxth r6, r6
10163
- subs r5, r5, r6
10164
-.L1468:
10419
+ cbz r6, .L1456
10420
+ sub r8, r8, r6
10421
+ adds r7, r7, #1
10422
+ cmp r8, r4
10423
+ it cs
10424
+ movcs r8, r4
10425
+ uxth r8, r8
10426
+ sub r4, r4, r8
10427
+.L1456:
1016510428 mov r3, #-1
1016610429 str r3, [sp, #8]
10167
-.L1469:
10168
- ldrh r3, [r4, #258]
10169
- cmp r5, r3
10170
- bcs .L1471
10171
- ldr r3, [r4, #3656]
10430
+.L1457:
10431
+ ldrh r3, [r5, #258]
10432
+ cmp r3, r4
10433
+ bls .L1459
10434
+ ldr r3, [r5, #3656]
1017210435 cmp r3, #32
10173
- bls .L1472
10174
- movs r5, #0
10175
- str r5, [r4, #3656]
10436
+ bls .L1460
10437
+ movs r4, #0
10438
+ str r4, [r5, #3656]
1017610439 bl l2p_flush
1017710440 bl FtlVpcTblFlush
10178
- b .L1472
10179
-.L1471:
10180
- movs r2, #0
10441
+ b .L1460
10442
+.L1459:
1018110443 add r1, sp, #4
10182
- mov r0, r9
10444
+ mov r0, r7
10445
+ movs r2, #0
1018310446 bl log2phys
1018410447 ldr r3, [sp, #4]
1018510448 adds r3, r3, #1
10186
- beq .L1470
10187
- ldr r3, [r4, #3656]
10188
- movs r2, #1
10449
+ beq .L1458
10450
+ ldr r3, [r5, #3656]
1018910451 add r1, sp, #8
10190
- mov r0, r9
10452
+ movs r2, #1
10453
+ mov r0, r7
1019110454 adds r3, r3, #1
10192
- str r3, [r4, #3656]
10193
- ldr r3, [r4, #2560]
10455
+ str r3, [r5, #3656]
10456
+ ldr r3, [r5, #2560]
1019410457 adds r3, r3, #1
10195
- str r3, [r4, #2560]
10458
+ str r3, [r5, #2560]
1019610459 bl log2phys
1019710460 ldr r0, [sp, #4]
1019810461 ubfx r0, r0, #10, #16
1019910462 bl P2V_block_in_plane
1020010463 bl decrement_vpc_count
10201
-.L1470:
10202
- ldrh r3, [r4, #258]
10203
- add r9, r9, #1
10204
- subs r5, r5, r3
10205
- b .L1469
10206
-.L1476:
10464
+.L1458:
10465
+ ldrh r3, [r5, #258]
10466
+ adds r7, r7, #1
10467
+ subs r4, r4, r3
10468
+ b .L1457
10469
+.L1464:
1020710470 mov r0, #-1
10208
- b .L1465
10209
-.L1473:
10471
+ b .L1453
10472
+.L1461:
1021010473 add sp, sp, #20
1021110474 @ sp needed
1021210475 pop {r4, r5, r6, r7, r8, r9, pc}
10213
-.L1484:
10476
+.L1472:
1021410477 .align 2
10215
-.L1483:
10216
- .word __stack_chk_guard
10478
+.L1471:
1021710479 .word .LANCHOR0
1021810480 .fnend
1021910481 .size sftl_discard, .-sftl_discard
10482
+ .section .rodata.str1.1
10483
+.LC121:
10484
+ .ascii "FtlCheckVpc %x = %x %x\012\000"
10485
+ .text
1022010486 .align 1
1022110487 .global FtlVpcCheckAndModify
1022210488 .syntax unified
....@@ -10232,11 +10498,13 @@
1023210498 .save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
1023310499 .pad #12
1023410500 movs r5, #0
10235
- ldr r7, .L1500
10236
- ldr r4, .L1500+4
10237
- ldr r3, [r7]
10238
- ldr r1, .L1500+8
10239
- ldr r0, .L1500+12
10501
+ ldr r4, .L1488
10502
+ mov r3, sp
10503
+ ldr r1, .L1488+4
10504
+ bic r7, r3, #8160
10505
+ ldr r0, .L1488+8
10506
+ bic r7, r7, #31
10507
+ ldr r3, [r7, #24]
1024010508 str r3, [sp, #4]
1024110509 bl sftl_printk
1024210510 ldrh r2, [r4, #242]
....@@ -10244,111 +10512,107 @@
1024410512 ldr r0, [r4, #3352]
1024510513 lsls r2, r2, #1
1024610514 bl ftl_memset
10247
-.L1486:
10515
+.L1474:
1024810516 ldr r3, [r4, #2552]
10249
- cmp r5, r3
10250
- bcc .L1488
10251
- ldr r9, .L1500+20
10517
+ cmp r3, r5
10518
+ bhi .L1476
10519
+ ldr r9, .L1488+12
1025210520 mov r8, #0
10253
- ldr r10, .L1500+24
10254
- ldr fp, .L1500+8
10255
-.L1489:
10521
+ ldr r10, .L1488+16
10522
+ ldr fp, .L1488+4
10523
+.L1477:
1025610524 ldrh r3, [r4, #240]
10257
- uxth r6, r8
10258
- cmp r3, r6
10259
- bhi .L1495
10525
+ uxth r5, r8
10526
+ cmp r3, r5
10527
+ bhi .L1483
1026010528 bl l2p_flush
1026110529 bl FtlVpcTblFlush
1026210530 ldr r2, [sp, #4]
10263
- ldr r3, [r7]
10531
+ ldr r3, [r7, #24]
1026410532 cmp r2, r3
10265
- beq .L1496
10533
+ beq .L1484
1026610534 bl __stack_chk_fail
10267
-.L1488:
10268
- movs r2, #0
10535
+.L1476:
1026910536 mov r1, sp
1027010537 mov r0, r5
10538
+ movs r2, #0
1027110539 bl log2phys
1027210540 ldr r0, [sp]
1027310541 adds r3, r0, #1
10274
- beq .L1487
10542
+ beq .L1475
1027510543 ubfx r0, r0, #10, #16
1027610544 bl P2V_block_in_plane
1027710545 ldr r2, [r4, #3352]
1027810546 ldrh r3, [r2, r0, lsl #1]
1027910547 adds r3, r3, #1
1028010548 strh r3, [r2, r0, lsl #1] @ movhi
10281
-.L1487:
10549
+.L1475:
1028210550 adds r5, r5, #1
10283
- b .L1486
10284
-.L1495:
10551
+ b .L1474
10552
+.L1483:
1028510553 ldr r3, [r4, #72]
10286
- uxth r5, r8
10287
- ldrh r2, [r3, r5, lsl #1]
10554
+ uxth r6, r8
10555
+ ldrh r2, [r3, r6, lsl #1]
1028810556 ldr r3, [r4, #3352]
10289
- ldrh r3, [r3, r5, lsl #1]
10557
+ ldrh r3, [r3, r6, lsl #1]
1029010558 cmp r2, r3
10291
- beq .L1491
10559
+ beq .L1479
1029210560 movw r1, #65535
1029310561 cmp r2, r1
10294
- beq .L1491
10295
- mov r1, r5
10562
+ beq .L1479
10563
+ mov r1, r6
1029610564 mov r0, r9
1029710565 bl sftl_printk
1029810566 ldrh r3, [r4, #24]
10299
- cmp r3, r6
10300
- beq .L1491
10567
+ cmp r3, r5
10568
+ beq .L1479
1030110569 ldrh r3, [r4, #124]
10302
- cmp r3, r6
10303
- beq .L1491
10570
+ cmp r3, r5
10571
+ beq .L1479
1030410572 ldrh r3, [r4, #76]
10305
- cmp r3, r6
10306
- beq .L1491
10573
+ cmp r3, r5
10574
+ beq .L1479
1030710575 ldr r3, [r4, #72]
10308
- ldrh r2, [r3, r5, lsl #1]
10309
- cbnz r2, .L1493
1031010576 ldr r2, [r4, #3352]
10311
- mov r1, r6
10577
+ ldrh r1, [r3, r6, lsl #1]
10578
+ ldrh r2, [r2, r6, lsl #1]
10579
+ strh r2, [r3, r6, lsl #1] @ movhi
10580
+ cbnz r1, .L1481
10581
+ mov r1, r5
1031210582 mov r0, r10
10313
- ldrh r2, [r2, r5, lsl #1]
10314
- strh r2, [r3, r5, lsl #1] @ movhi
1031510583 bl List_remove_node
1031610584 ldrh r3, [r4, #224]
10317
- cbnz r3, .L1494
10318
- movw r2, #2330
10585
+ cbnz r3, .L1482
10586
+ ldr r0, .L1488+20
1031910587 mov r1, fp
10320
- ldr r0, .L1500+16
10588
+ movw r2, #2330
1032110589 bl sftl_printk
10322
-.L1494:
10590
+.L1482:
1032310591 ldrh r3, [r4, #224]
10324
- mov r0, r6
10592
+ mov r0, r5
1032510593 subs r3, r3, #1
1032610594 strh r3, [r4, #224] @ movhi
1032710595 bl INSERT_DATA_LIST
10328
-.L1491:
10596
+.L1479:
1032910597 add r8, r8, #1
10330
- b .L1489
10331
-.L1493:
10332
- ldr r2, [r4, #3352]
10333
- mov r0, r6
10334
- ldrh r2, [r2, r5, lsl #1]
10335
- strh r2, [r3, r5, lsl #1] @ movhi
10598
+ b .L1477
10599
+.L1481:
10600
+ mov r0, r5
1033610601 bl update_vpc_list
10337
- b .L1491
10338
-.L1496:
10602
+ b .L1479
10603
+.L1484:
1033910604 add sp, sp, #12
1034010605 @ sp needed
1034110606 pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
10342
-.L1501:
10607
+.L1489:
1034310608 .align 2
10344
-.L1500:
10345
- .word __stack_chk_guard
10609
+.L1488:
1034610610 .word .LANCHOR0
1034710611 .word .LANCHOR1+486
1034810612 .word .LC111
10349
- .word .LC8
1035010613 .word .LC121
1035110614 .word .LANCHOR0+2532
10615
+ .word .LC8
1035210616 .fnend
1035310617 .size FtlVpcCheckAndModify, .-FtlVpcCheckAndModify
1035410618 .align 1
....@@ -10364,44 +10628,44 @@
1036410628 @ frame_needed = 0, uses_anonymous_args = 0
1036510629 push {r4, r5, r6, lr}
1036610630 .save {r4, r5, r6, lr}
10367
- mov r6, r0
10368
- ldr r4, .L1512
10369
- ldrh r5, [r0]
10370
- ldrh r3, [r4, #240]
10371
- cmp r3, r5
10372
- bcs .L1503
10631
+ mov r5, r0
10632
+ ldr r6, .L1500
10633
+ ldrh r4, [r0]
10634
+ ldrh r3, [r6, #240]
10635
+ cmp r3, r4
10636
+ bcs .L1491
10637
+ ldr r1, .L1500+4
1037310638 movw r2, #2766
10374
- ldr r1, .L1512+4
10375
- ldr r0, .L1512+8
10639
+ ldr r0, .L1500+8
1037610640 bl sftl_printk
10377
-.L1503:
10641
+.L1491:
1037810642 movw r3, #65535
10379
- cmp r5, r3
10380
- beq .L1504
10381
- ldr r3, [r4, #72]
10382
- mov r0, r5
10383
- ldrh r3, [r3, r5, lsl #1]
10384
- cbz r3, .L1505
10643
+ cmp r4, r3
10644
+ beq .L1492
10645
+ ldr r3, [r6, #72]
10646
+ mov r0, r4
10647
+ ldrh r3, [r3, r4, lsl #1]
10648
+ cbz r3, .L1493
1038510649 bl INSERT_DATA_LIST
10386
-.L1504:
10387
- ldrh r0, [r4, #3438]
10650
+.L1492:
10651
+ ldrh r0, [r6, #3438]
1038810652 movs r3, #1
10389
- strb r3, [r6, #8]
10653
+ strb r3, [r5, #8]
1039010654 movw r3, #65535
1039110655 cmp r0, r3
10392
- beq .L1506
10393
- cmp r5, r0
10394
- bne .L1507
10395
- ldr r3, [r4, #72]
10396
- ldrh r3, [r3, r0, lsl #1]
10397
- cbz r3, .L1508
10398
-.L1507:
10656
+ beq .L1494
10657
+ cmp r0, r4
10658
+ bne .L1495
10659
+ ldr r3, [r6, #72]
10660
+ ldrh r3, [r3, r4, lsl #1]
10661
+ cbz r3, .L1496
10662
+.L1495:
1039910663 bl update_vpc_list
10400
-.L1508:
10664
+.L1496:
1040110665 movw r3, #65535
10402
- strh r3, [r4, #3438] @ movhi
10403
-.L1506:
10404
- mov r0, r6
10666
+ strh r3, [r6, #3438] @ movhi
10667
+.L1494:
10668
+ mov r0, r5
1040510669 bl allocate_data_superblock
1040610670 bl l2p_flush
1040710671 movs r0, #0
....@@ -10409,17 +10673,23 @@
1040910673 bl FtlVpcTblFlush
1041010674 movs r0, #0
1041110675 pop {r4, r5, r6, pc}
10412
-.L1505:
10676
+.L1493:
1041310677 bl INSERT_FREE_LIST
10414
- b .L1504
10415
-.L1513:
10678
+ b .L1492
10679
+.L1501:
1041610680 .align 2
10417
-.L1512:
10681
+.L1500:
1041810682 .word .LANCHOR0
1041910683 .word .LANCHOR1+507
1042010684 .word .LC8
1042110685 .fnend
1042210686 .size allocate_new_data_superblock, .-allocate_new_data_superblock
10687
+ .section .rodata.str1.1
10688
+.LC122:
10689
+ .ascii "FtlProgPages error %x = %d\012\000"
10690
+.LC123:
10691
+ .ascii "Ftlwrite decrement_vpc_count %x = %d\012\000"
10692
+ .text
1042310693 .align 1
1042410694 .global FtlProgPages
1042510695 .syntax unified
....@@ -10429,43 +10699,44 @@
1042910699 .type FtlProgPages, %function
1043010700 FtlProgPages:
1043110701 .fnstart
10432
- @ args = 0, pretend = 0, frame = 16
10702
+ @ args = 0, pretend = 0, frame = 8
1043310703 @ frame_needed = 0, uses_anonymous_args = 0
10434
- push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
10704
+ push {r0, r1, r2, r4, r5, r6, r7, r8, r9, r10, fp, lr}
1043510705 .save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
10706
+ .pad #12
1043610707 mov r5, r3
10437
- ldr r6, .L1534
10438
- .pad #20
10439
- sub sp, sp, #20
10440
- movs r7, #0
10708
+ ldr fp, .L1522
10709
+ mov r3, sp
10710
+ ldr r10, .L1522+4
10711
+ bic r7, r3, #8160
10712
+ mov r9, #0
10713
+ bic r7, r7, #31
1044110714 movs r2, #0
10442
- ldr fp, .L1534+20
1044310715 mov r4, r0
10444
- ldr r3, [r6]
10445
- mov r10, r1
10446
- ldr r9, .L1534+4
10447
- str r3, [sp, #12]
10716
+ mov r8, r1
10717
+ ldr r3, [r7, #24]
10718
+ str r3, [sp, #4]
1044810719 ldrb r3, [r5, #9] @ zero_extendqisi2
1044910720 bl FlashProgPages
10450
-.L1515:
10451
- cmp r7, r10
10452
- bne .L1522
10453
- ldr r3, .L1534+4
10721
+.L1503:
10722
+ cmp r9, r8
10723
+ bne .L1510
10724
+ ldr r3, .L1522+4
1045410725 ldrb r2, [r5, #6] @ zero_extendqisi2
1045510726 ldrh r3, [r3, #232]
1045610727 cmp r2, r3
10457
- bcc .L1514
10728
+ bcc .L1502
10729
+ ldr r1, .L1522+8
1045810730 mov r2, #1000
10459
- ldr r1, .L1534+8
10460
- ldr r0, .L1534+12
10731
+ ldr r0, .L1522+12
1046110732 bl sftl_printk
10462
-.L1514:
10463
- ldr r2, [sp, #12]
10464
- ldr r3, [r6]
10733
+.L1502:
10734
+ ldr r2, [sp, #4]
10735
+ ldr r3, [r7, #24]
1046510736 cmp r2, r3
10466
- beq .L1524
10737
+ beq .L1512
1046710738 bl __stack_chk_fail
10468
-.L1517:
10739
+.L1505:
1046910740 ldr r1, [r4, #4]
1047010741 mov r0, fp
1047110742 bl sftl_printk
....@@ -10474,75 +10745,72 @@
1047410745 bl P2V_block_in_plane
1047510746 bl decrement_vpc_count
1047610747 ldrh r3, [r5, #4]
10477
- cbnz r3, .L1516
10748
+ cbnz r3, .L1504
1047810749 mov r0, r5
1047910750 bl allocate_new_data_superblock
10480
-.L1516:
10751
+.L1504:
1048110752 mov r0, r5
1048210753 bl get_new_active_ppa
10483
- movs r2, #0
1048410754 str r0, [r4, #4]
10485
- str r0, [sp, #8]
10486
- movs r1, #1
10755
+ str r0, [sp]
10756
+ movs r2, #0
1048710757 ldrb r3, [r5, #9] @ zero_extendqisi2
1048810758 mov r0, r4
10759
+ movs r1, #1
1048910760 bl FlashProgPages
10490
-.L1522:
10761
+.L1510:
1049110762 ldr r2, [r4]
10492
- adds r3, r2, #1
10493
- beq .L1517
10763
+ adds r1, r2, #1
10764
+ beq .L1505
1049410765 cmp r2, #256
10495
- beq .L1517
10766
+ beq .L1505
1049610767 ldrb r2, [r5, #6] @ zero_extendqisi2
10497
- ldrh r3, [r9, #232]
10768
+ ldrh r3, [r10, #232]
1049810769 cmp r2, r3
10499
- bcc .L1518
10770
+ bcc .L1506
10771
+ ldr r1, .L1522+8
1050010772 movw r2, #985
10501
- ldr r1, .L1534+8
10502
- ldr r0, .L1534+12
10773
+ ldr r0, .L1522+12
1050310774 bl sftl_printk
10504
-.L1518:
10775
+.L1506:
1050510776 ldr r3, [r4, #4]
10506
- add r1, sp, #16
10507
- movs r2, #1
10777
+ mov r1, sp
1050810778 ldr r0, [r4, #16]
10509
- str r3, [r1, #-8]!
10779
+ movs r2, #1
10780
+ str r3, [sp]
1051010781 bl log2phys
1051110782 ldr r3, [r4, #12]
10512
- ldr r3, [r3, #12]
10513
- ubfx r0, r3, #10, #16
10514
- str r3, [sp, #4]
10783
+ ldr r0, [r3, #12]
10784
+ adds r3, r0, #1
10785
+ beq .L1507
10786
+ ubfx r0, r0, #10, #16
1051510787 bl P2V_block_in_plane
10516
- ldr r3, [sp, #4]
10517
- mov r8, r0
10518
- adds r3, r3, #1
10519
- beq .L1519
10520
- ldr r3, [r9, #72]
10788
+ ldr r3, [r10, #72]
10789
+ mov r6, r0
1052110790 ldrh r2, [r3, r0, lsl #1]
10522
- cbnz r2, .L1520
10791
+ cbnz r2, .L1508
1052310792 mov r1, r0
10524
- ldr r0, .L1534+16
10793
+ ldr r0, .L1522+16
1052510794 bl sftl_printk
10526
-.L1520:
10527
- mov r0, r8
10795
+.L1508:
10796
+ mov r0, r6
1052810797 bl decrement_vpc_count
10529
-.L1519:
10530
- adds r7, r7, #1
10798
+.L1507:
10799
+ add r9, r9, #1
1053110800 adds r4, r4, #20
10532
- b .L1515
10533
-.L1524:
10534
- add sp, sp, #20
10801
+ b .L1503
10802
+.L1512:
10803
+ add sp, sp, #12
1053510804 @ sp needed
1053610805 pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
10537
-.L1535:
10806
+.L1523:
1053810807 .align 2
10539
-.L1534:
10540
- .word __stack_chk_guard
10808
+.L1522:
10809
+ .word .LC122
1054110810 .word .LANCHOR0
1054210811 .word .LANCHOR1+536
1054310812 .word .LC8
1054410813 .word .LC123
10545
- .word .LC122
1054610814 .fnend
1054710815 .size FtlProgPages, .-FtlProgPages
1054810816 .align 1
....@@ -10559,93 +10827,95 @@
1055910827 push {r0, r1, r4, r5, r6, r7, r8, r9, r10, lr}
1056010828 .save {r4, r5, r6, r7, r8, r9, r10, lr}
1056110829 .pad #8
10562
- ldr r6, .L1561
10563
- ldr r4, .L1561+4
10564
- ldr r3, [r6]
10830
+ ldr r4, .L1549
10831
+ mov r3, sp
10832
+ bic r6, r3, #8160
10833
+ bic r6, r6, #31
1056510834 ldrh r2, [r4, #124]
10835
+ ldrh r1, [r4, #302]
10836
+ ldr r3, [r6, #24]
1056610837 str r3, [sp, #4]
1056710838 movw r3, #65535
10568
- ldrh r1, [r4, #302]
1056910839 cmp r2, r3
10570
- bne .L1537
10571
-.L1544:
10840
+ bne .L1525
10841
+.L1532:
1057210842 ldrh r2, [r4, #124]
1057310843 movs r3, #0
1057410844 str r3, [r4, #3444]
1057510845 movw r3, #65535
1057610846 cmp r2, r3
10577
- bne .L1558
10578
-.L1538:
10847
+ bne .L1546
10848
+.L1526:
1057910849 movs r0, #0
10580
-.L1536:
10850
+.L1524:
1058110851 ldr r2, [sp, #4]
10582
- ldr r3, [r6]
10583
- cmp r2, r3
10584
- beq .L1553
10585
- bl __stack_chk_fail
10586
-.L1537:
10587
- ldr r5, .L1561+8
10588
- cbz r0, .L1540
10589
- ldrh r2, [r5, #4]
10852
+ ldr r3, [r6, #24]
1059010853 cmp r2, r3
1059110854 beq .L1541
10592
-.L1542:
10855
+ bl __stack_chk_fail
10856
+.L1525:
10857
+ ldr r5, .L1549+4
10858
+ cbz r0, .L1528
10859
+ ldrh r2, [r5, #4]
10860
+ cmp r2, r3
10861
+ beq .L1529
10862
+.L1530:
1059310863 movs r1, #2
10594
-.L1540:
10595
- ldr r0, .L1561+12
10864
+.L1528:
10865
+ ldr r0, .L1549+8
1059610866 bl FtlGcScanTempBlk
1059710867 ldrh r2, [r5, #4]
1059810868 movw r3, #65535
1059910869 str r0, [sp]
1060010870 cmp r2, r3
10601
- beq .L1544
10871
+ beq .L1532
1060210872 movs r0, #1
10603
- b .L1536
10604
-.L1541:
10873
+ b .L1524
10874
+.L1529:
1060510875 movs r3, #0
1060610876 strh r3, [r5, #4] @ movhi
1060710877 ldrh r3, [r4, #224]
1060810878 cmp r3, #17
10609
- bhi .L1542
10610
- b .L1540
10611
-.L1558:
10612
- ldrb r1, [r4, #131] @ zero_extendqisi2
10613
- ldrh r3, [r4, #302]
10879
+ bhi .L1530
10880
+ b .L1528
10881
+.L1546:
10882
+ ldrb r3, [r4, #131] @ zero_extendqisi2
10883
+ ldrh r1, [r4, #302]
1061410884 ldrh r2, [r4, #3204]
1061510885 muls r3, r1, r3
1061610886 cmp r2, r3
10617
- beq .L1545
10887
+ beq .L1533
10888
+ ldr r1, .L1549+12
1061810889 movs r2, #164
10619
- ldr r1, .L1561+16
10620
- ldr r0, .L1561+20
10890
+ ldr r0, .L1549+16
1062110891 bl sftl_printk
10622
-.L1545:
10892
+.L1533:
1062310893 ldrb r3, [r4, #131] @ zero_extendqisi2
1062410894 movs r5, #0
1062510895 ldrh r0, [r4, #302]
1062610896 mov r9, #12
10627
- ldr r2, [r4, #72]
1062810897 ldrh r1, [r4, #124]
10898
+ ldr r2, [r4, #72]
1062910899 smulbb r3, r3, r0
1063010900 strh r3, [r2, r1, lsl #1] @ movhi
1063110901 ldr r2, [r4, #2576]
1063210902 ldrh r3, [r4, #3204]
1063310903 add r3, r3, r2
1063410904 str r3, [r4, #2576]
10635
-.L1546:
10905
+.L1534:
1063610906 ldrh r2, [r4, #3204]
1063710907 uxth r3, r5
1063810908 cmp r2, r3
10639
- bhi .L1550
10909
+ bhi .L1538
1064010910 movw r0, #65535
1064110911 bl decrement_vpc_count
1064210912 ldrh r0, [r4, #124]
1064310913 ldr r3, [r4, #72]
1064410914 ldrh r3, [r3, r0, lsl #1]
1064510915 cmp r3, #0
10646
- beq .L1551
10916
+ beq .L1539
1064710917 bl INSERT_DATA_LIST
10648
-.L1552:
10918
+.L1540:
1064910919 movw r7, #65535
1065010920 movs r5, #0
1065110921 strh r7, [r4, #124] @ movhi
....@@ -10657,12 +10927,12 @@
1065710927 ldrh r2, [r4, #224]
1065810928 strh r7, [r4, #172] @ movhi
1065910929 add r3, r3, r3, lsl #1
10660
- cmp r2, r3, asr #2
10661
- ble .L1538
10930
+ cmp r2, r3, lsr #2
10931
+ ble .L1526
1066210932 movs r3, #20
1066310933 strh r3, [r4, #3152] @ movhi
10664
- b .L1538
10665
-.L1550:
10934
+ b .L1526
10935
+.L1538:
1066610936 uxth r8, r5
1066710937 ldr r10, [r4, #3200]
1066810938 ldr r3, [r4, #2552]
....@@ -10670,47 +10940,46 @@
1067010940 add r7, r10, r8
1067110941 ldr r0, [r7, #8]
1067210942 cmp r0, r3
10673
- bcc .L1547
10674
-.L1559:
10675
- ldrh r0, [r4, #124]
10676
- b .L1560
10943
+ bcc .L1535
1067710944 .L1547:
10678
- movs r2, #0
10945
+ ldrh r0, [r4, #124]
10946
+ b .L1548
10947
+.L1535:
1067910948 mov r1, sp
10949
+ movs r2, #0
1068010950 bl log2phys
1068110951 ldr r0, [r10, r8]
1068210952 ldr r3, [sp]
1068310953 cmp r0, r3
10684
- bne .L1549
10954
+ bne .L1537
1068510955 ubfx r0, r0, #10, #16
1068610956 bl P2V_block_in_plane
10687
- movs r2, #1
10688
- mov r8, r0
1068910957 adds r1, r7, #4
10958
+ mov r8, r0
10959
+ movs r2, #1
1069010960 ldr r0, [r7, #8]
1069110961 bl log2phys
1069210962 mov r0, r8
10693
-.L1560:
10963
+.L1548:
1069410964 bl decrement_vpc_count
10695
- b .L1548
10696
-.L1549:
10965
+ b .L1536
10966
+.L1537:
1069710967 ldr r2, [r7, #4]
1069810968 cmp r3, r2
10699
- bne .L1559
10700
-.L1548:
10969
+ bne .L1547
10970
+.L1536:
1070110971 adds r5, r5, #1
10702
- b .L1546
10703
-.L1551:
10972
+ b .L1534
10973
+.L1539:
1070410974 bl INSERT_FREE_LIST
10705
- b .L1552
10706
-.L1553:
10975
+ b .L1540
10976
+.L1541:
1070710977 add sp, sp, #8
1070810978 @ sp needed
1070910979 pop {r4, r5, r6, r7, r8, r9, r10, pc}
10710
-.L1562:
10980
+.L1550:
1071110981 .align 2
10712
-.L1561:
10713
- .word __stack_chk_guard
10982
+.L1549:
1071410983 .word .LANCHOR0
1071510984 .word .LANCHOR2
1071610985 .word .LANCHOR0+124
....@@ -10731,25 +11000,25 @@
1073111000 @ frame_needed = 0, uses_anonymous_args = 0
1073211001 push {r4, lr}
1073311002 .save {r4, lr}
10734
- ldr r4, .L1565
10735
- ldrh r1, [r4, #302]
11003
+ ldr r4, .L1553
1073611004 add r0, r4, #124
11005
+ ldrh r1, [r4, #302]
1073711006 bl FtlGcScanTempBlk
1073811007 ldrh r2, [r4, #126]
1073911008 ldrh r3, [r4, #302]
1074011009 cmp r2, r3
10741
- bcc .L1563
11010
+ bcc .L1551
1074211011 add r0, r4, #3392
1074311012 bl FtlMapBlkWriteDump_data
1074411013 movs r0, #0
1074511014 bl FtlGcFreeTempBlock
1074611015 movs r3, #0
1074711016 str r3, [r4, #3444]
10748
-.L1563:
11017
+.L1551:
1074911018 pop {r4, pc}
10750
-.L1566:
11019
+.L1554:
1075111020 .align 2
10752
-.L1565:
11021
+.L1553:
1075311022 .word .LANCHOR0
1075411023 .fnend
1075511024 .size FtlGcPageRecovery, .-FtlGcPageRecovery
....@@ -10767,11 +11036,11 @@
1076711036 push {r4, r5, r6, lr}
1076811037 .save {r4, r5, r6, lr}
1076911038 movs r5, #0
10770
- ldr r4, .L1568
11039
+ ldr r4, .L1556
1077111040 add r6, r4, #24
10772
- str r5, [r4, #3476]
10773
- mov r0, r6
1077411041 adds r4, r4, #76
11042
+ mov r0, r6
11043
+ str r5, [r4, #3400]
1077511044 bl FtlRecoverySuperblock
1077611045 mov r0, r6
1077711046 bl FtlSlcSuperblockCheck
....@@ -10784,9 +11053,9 @@
1078411053 bl decrement_vpc_count
1078511054 mov r0, r5
1078611055 pop {r4, r5, r6, pc}
10787
-.L1569:
11056
+.L1557:
1078811057 .align 2
10789
-.L1568:
11058
+.L1556:
1079011059 .word .LANCHOR0
1079111060 .fnend
1079211061 .size FtlPowerLostRecovery, .-FtlPowerLostRecovery
....@@ -10801,49 +11070,49 @@
1080111070 .fnstart
1080211071 @ args = 0, pretend = 0, frame = 0
1080311072 @ frame_needed = 0, uses_anonymous_args = 0
10804
- push {r4, r5, r6, lr}
10805
- .save {r4, r5, r6, lr}
10806
- movs r3, #0
10807
- ldr r4, .L1578
11073
+ push {r3, r4, r5, r6, r7, lr}
11074
+ .save {r3, r4, r5, r6, r7, lr}
1080811075 movs r5, #0
11076
+ ldr r4, .L1566
1080911077 movs r6, #20
11078
+ movs r3, #0
1081011079 mov r2, r3
1081111080 ldr r1, [r4, #3168]
1081211081 ldr r0, [r4, #3292]
1081311082 bl FlashProgPages
10814
-.L1571:
11083
+.L1559:
1081511084 ldr r1, [r4, #3168]
1081611085 uxth r3, r5
10817
- cmp r1, r3
10818
- bhi .L1574
10819
- ldr r0, [r4, #3292]
11086
+ ldr r2, [r4, #3292]
11087
+ cmp r3, r1
11088
+ bcc .L1562
11089
+ mov r0, r2
1082011090 bl FtlGcBufFree
1082111091 ldrh r3, [r4, #128]
1082211092 movs r0, #0
1082311093 str r0, [r4, #3168]
10824
- cbnz r3, .L1570
11094
+ cbnz r3, .L1558
1082511095 movs r0, #1
1082611096 bl FtlGcFreeTempBlock
1082711097 movs r0, #1
10828
-.L1570:
10829
- pop {r4, r5, r6, pc}
10830
-.L1574:
11098
+.L1558:
11099
+ pop {r3, r4, r5, r6, r7, pc}
11100
+.L1562:
1083111101 muls r3, r6, r3
10832
- ldr r2, [r4, #3292]
1083311102 adds r5, r5, #1
1083411103 adds r1, r2, r3
1083511104 ldr r2, [r2, r3]
10836
- ldr r0, [r1, #12]
10837
- ldr r1, [r1, #4]
11105
+ ldr r7, [r1, #12]
1083811106 adds r3, r2, #1
11107
+ ldr r1, [r1, #4]
11108
+ ldr r0, [r7, #12]
1083911109 it ne
10840
- ldrne r2, [r0, #8]
10841
- ldr r0, [r0, #12]
11110
+ ldrne r2, [r7, #8]
1084211111 bl FtlGcUpdatePage
10843
- b .L1571
10844
-.L1579:
11112
+ b .L1559
11113
+.L1567:
1084511114 .align 2
10846
-.L1578:
11115
+.L1566:
1084711116 .word .LANCHOR0
1084811117 .fnend
1084911118 .size Ftl_gc_temp_data_write_back, .-Ftl_gc_temp_data_write_back
....@@ -10861,17 +11130,17 @@
1086111130 push {r3, r4, r5, lr}
1086211131 .save {r3, r4, r5, lr}
1086311132 movw r3, #65535
10864
- ldr r4, .L1583
11133
+ ldr r4, .L1571
1086511134 ldrh r2, [r4, #124]
1086611135 cmp r2, r3
10867
- beq .L1581
11136
+ beq .L1569
1086811137 ldrh r3, [r4, #128]
10869
- cbnz r3, .L1582
10870
-.L1581:
11138
+ cbnz r3, .L1570
11139
+.L1569:
1087111140 movs r0, #0
1087211141 movs r5, #0
1087311142 bl FtlGcFreeTempBlock
10874
- ldr r0, .L1583+4
11143
+ ldr r0, .L1571+4
1087511144 strb r5, [r4, #132]
1087611145 bl allocate_data_superblock
1087711146 strh r5, [r4, #3196] @ movhi
....@@ -10880,17 +11149,21 @@
1088011149 mov r0, r5
1088111150 bl FtlEctTblFlush
1088211151 bl FtlVpcTblFlush
10883
-.L1582:
10884
- ldr r0, .L1583+4
11152
+.L1570:
1088511153 pop {r3, r4, r5, lr}
11154
+ ldr r0, .L1571+4
1088611155 b get_new_active_ppa
10887
-.L1584:
11156
+.L1572:
1088811157 .align 2
10889
-.L1583:
11158
+.L1571:
1089011159 .word .LANCHOR0
1089111160 .word .LANCHOR0+124
1089211161 .fnend
1089311162 .size Ftl_get_new_temp_ppa, .-Ftl_get_new_temp_ppa
11163
+ .section .rodata.str1.1
11164
+.LC124:
11165
+ .ascii "SWL %x, FSB = %x vpc= %x,ec=%x th=%x\012\000"
11166
+ .text
1089411167 .align 1
1089511168 .global rk_ftl_garbage_collect
1089611169 .syntax unified
....@@ -10900,291 +11173,276 @@
1090011173 .type rk_ftl_garbage_collect, %function
1090111174 rk_ftl_garbage_collect:
1090211175 .fnstart
10903
- @ args = 0, pretend = 0, frame = 40
11176
+ @ args = 0, pretend = 0, frame = 32
1090411177 @ frame_needed = 0, uses_anonymous_args = 0
10905
- ldr r3, .L1717
1090611178 push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
1090711179 .save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
10908
- .pad #52
10909
- sub sp, sp, #52
10910
- mov r9, r0
10911
- ldr r3, [r3]
10912
- str r3, [sp, #44]
10913
- ldr r3, .L1717+4
10914
- ldr r0, [r3, #3272]
10915
- mov r4, r3
11180
+ ldr r4, .L1687
11181
+ .pad #44
11182
+ sub sp, sp, #44
11183
+ mov r3, sp
11184
+ bic r3, r3, #8160
11185
+ bic r3, r3, #31
11186
+ str r0, [sp, #16]
11187
+ ldr r0, [r4, #3272]
11188
+ ldr r3, [r3, #24]
11189
+ str r3, [sp, #36]
1091611190 cmp r0, #0
10917
- bne .L1669
10918
- ldrh r2, [r3, #2528]
10919
- cmp r2, #47
10920
- bls .L1585
10921
- ldr r2, .L1717+8
10922
- ldrh r1, [r2, #4]
10923
- movw r2, #65535
10924
- cmp r1, r2
10925
- bne .L1587
10926
-.L1590:
11191
+ bne .L1651
11192
+ ldrh r3, [r4, #2528]
11193
+ cmp r3, #47
11194
+ bls .L1573
11195
+ ldr r3, .L1687+4
11196
+ ldrh r2, [r3, #4]
11197
+ movw r3, #65535
11198
+ cmp r2, r3
11199
+ bne .L1575
11200
+.L1578:
1092711201 ldrh r2, [r4, #220]
1092811202 movw r1, #65535
1092911203 cmp r2, r1
10930
- bne .L1588
10931
-.L1589:
11204
+ bne .L1576
11205
+.L1577:
1093211206 bl FtlReadRefresh
1093311207 ldr r3, [r4, #3156]
10934
- movw r7, #65535
10935
- ldrh r1, [r4, #172]
11208
+ ldr r2, [sp, #16]
1093611209 adds r3, r3, #1
10937
- add r3, r3, r9, lsl #7
10938
- cmp r1, r7
10939
- str r3, [r4, #3156]
10940
- bne .L1591
11210
+ ldrh r6, [r4, #172]
11211
+ add r3, r3, r2, lsl #7
1094111212 ldrh r2, [r4, #124]
10942
- cmp r2, r1
10943
- bne .L1592
10944
- ldrh r6, [r4, #222]
11213
+ str r3, [r4, #3156]
11214
+ ands r6, r6, r2
11215
+ ldrh r2, [r4, #222]
11216
+ ands r6, r6, r2
11217
+ movw r2, #65535
1094511218 cmp r6, r2
10946
- bne .L1593
11219
+ bne .L1579
1094711220 ldrh r2, [r4, #224]
1094811221 cmp r2, #24
1094911222 ite cc
1095011223 movcc r2, #5120
1095111224 movcs r2, #1024
1095211225 cmp r3, r2
10953
- bls .L1593
10954
- movs r5, #0
10955
- str r5, [r4, #3156]
10956
- strh r5, [r4, #3660] @ movhi
11226
+ bls .L1579
11227
+ movs r7, #0
11228
+ str r7, [r4, #3156]
11229
+ strh r7, [r4, #3660] @ movhi
1095711230 bl GetSwlReplaceBlock
11231
+ mov r5, r0
1095811232 cmp r0, r6
10959
- mov r7, r0
10960
- bne .L1673
11233
+ bne .L1581
1096111234 ldrh r2, [r4, #224]
1096211235 ldrh r3, [r4, #3154]
1096311236 cmp r2, r3
10964
- bcs .L1596
11237
+ bcs .L1582
1096511238 movs r0, #64
1096611239 bl List_get_gc_head_node
1096711240 uxth r3, r0
10968
- cmp r3, r7
10969
- beq .L1598
11241
+ cmp r3, r5
11242
+ beq .L1584
1097011243 mov r0, r3
1097111244 ldr r3, [r4, #72]
1097211245 ldrh r3, [r3, r0, lsl #1]
1097311246 cmp r3, #7
10974
- bhi .L1599
10975
- mov r0, r5
11247
+ bhi .L1585
11248
+ mov r0, r7
1097611249 bl List_get_gc_head_node
10977
- uxth r5, r0
11250
+ uxth r0, r0
1097811251 movs r3, #128
11252
+ cmp r0, r5
1097911253 strh r3, [r4, #3154] @ movhi
10980
- cmp r5, r7
10981
- bne .L1595
10982
-.L1598:
10983
- bl FtlGcReFreshBadBlk
10984
- cmp r9, #0
10985
- bne .L1601
10986
- movw r3, #65535
10987
- cmp r7, r3
10988
- bne .L1601
10989
-.L1666:
10990
- ldrh r3, [r4, #224]
10991
- cmp r3, #24
10992
- bhi .L1674
10993
- cmp r3, #16
10994
- ldrh r6, [r4, #302]
10995
- bls .L1603
10996
- lsrs r6, r6, #5
10997
-.L1602:
11254
+ beq .L1584
11255
+ mov r5, r0
11256
+.L1581:
11257
+ ldr r3, [r4, #72]
11258
+ mov r1, r5
1099811259 ldrh r2, [r4, #3152]
11260
+ ldr r0, .L1687+8
11261
+ ldrh r3, [r3, r5, lsl #1]
11262
+ str r2, [sp, #4]
11263
+ ldr r2, [r4, #2536]
11264
+ ldrh r2, [r2, r5, lsl #1]
11265
+ str r2, [sp]
11266
+ ldrh r2, [r4, #224]
11267
+ bl sftl_printk
11268
+ b .L1584
11269
+.L1575:
11270
+ ldrh r2, [r4, #124]
1099911271 cmp r2, r3
11000
- bcs .L1606
11001
- ldrh r3, [r4, #124]
11002
- movw r2, #65535
11003
- cmp r3, r2
11004
- bne .L1607
11005
- ldrh r2, [r4, #222]
11006
- cmp r2, r3
11007
- bne .L1607
11008
- ldrh r0, [r4, #3660]
11009
- cbnz r0, .L1608
11010
- ldr r3, [r4, #2552]
11011
- ldr r2, [r4, #2548]
11012
- add r3, r3, r3, lsl #1
11013
- cmp r2, r3, lsr #2
11014
- bcs .L1609
11015
-.L1608:
11016
- ldrh r3, [r4, #2620]
11017
- add r3, r3, r3, lsl #1
11018
- asrs r3, r3, #2
11019
-.L1713:
11020
- strh r3, [r4, #3152] @ movhi
11021
- movs r3, #0
11022
- str r3, [r4, #3164]
11023
-.L1585:
11024
- ldr r3, .L1717
11025
- ldr r2, [sp, #44]
11026
- ldr r3, [r3]
11027
- cmp r2, r3
11028
- beq .L1668
11029
- bl __stack_chk_fail
11030
-.L1587:
11031
- ldrh r3, [r3, #124]
11032
- cmp r3, r2
11033
- beq .L1590
11272
+ beq .L1578
1103411273 movs r0, #1
1103511274 bl FtlGcFreeTempBlock
1103611275 cmp r0, #0
11037
- beq .L1590
11276
+ beq .L1578
1103811277 movs r0, #1
11039
- b .L1585
11040
-.L1588:
11278
+ b .L1573
11279
+.L1576:
1104111280 ldrh r3, [r4, #222]
1104211281 cmp r3, r1
1104311282 itt eq
1104411283 strheq r2, [r4, #222] @ movhi
1104511284 strheq r3, [r4, #220] @ movhi
11046
- b .L1589
11047
-.L1599:
11285
+ b .L1577
11286
+.L1585:
1104811287 movs r3, #64
11049
-.L1712:
11288
+.L1683:
1105011289 strh r3, [r4, #3154] @ movhi
11051
- b .L1598
11052
-.L1596:
11290
+.L1584:
11291
+ bl FtlGcReFreshBadBlk
11292
+ ldr r3, [sp, #16]
11293
+ cmp r3, #0
11294
+ bne .L1587
11295
+ movw r3, #65535
11296
+ cmp r5, r3
11297
+ bne .L1587
11298
+.L1649:
11299
+ ldrh r3, [r4, #224]
11300
+ cmp r3, #24
11301
+ bhi .L1656
11302
+ ldrh r6, [r4, #302]
11303
+ cmp r3, #16
11304
+ bls .L1589
11305
+ lsrs r6, r6, #5
11306
+.L1588:
11307
+ ldrh r2, [r4, #3152]
11308
+ cmp r2, r3
11309
+ bcs .L1591
11310
+ ldrh r2, [r4, #222]
11311
+ ldrh r3, [r4, #124]
11312
+ ands r3, r3, r2
11313
+ movw r2, #65535
11314
+ cmp r3, r2
11315
+ bne .L1592
11316
+ ldrh r0, [r4, #3660]
11317
+ cbnz r0, .L1593
11318
+ ldr r3, [r4, #2552]
11319
+ ldr r2, [r4, #2548]
11320
+ add r3, r3, r3, lsl #1
11321
+ cmp r2, r3, lsr #2
11322
+ bcs .L1657
11323
+.L1593:
11324
+ ldrh r3, [r4, #2620]
11325
+ add r3, r3, r3, lsl #1
11326
+ lsrs r3, r3, #2
11327
+.L1594:
11328
+ strh r3, [r4, #3152] @ movhi
11329
+ movs r3, #0
11330
+ str r3, [r4, #3164]
11331
+.L1573:
11332
+ mov r3, sp
11333
+ ldr r2, [sp, #36]
11334
+ bic r3, r3, #8160
11335
+ bic r3, r3, #31
11336
+ ldr r3, [r3, #24]
11337
+ cmp r2, r3
11338
+ beq .L1650
11339
+ bl __stack_chk_fail
11340
+.L1582:
1105311341 movs r3, #80
11054
- b .L1712
11055
-.L1673:
11056
- mov r5, r0
11057
-.L1595:
11058
- ldr r3, [r4, #72]
11059
- mov r7, r5
11060
- ldrh r1, [r4, #3152]
11061
- ldrh r2, [r4, #224]
11062
- ldrh r3, [r3, r5, lsl #1]
11063
- str r1, [sp, #4]
11064
- ldr r1, [r4, #2536]
11065
- ldr r0, .L1717+12
11066
- ldrh r1, [r1, r5, lsl #1]
11067
- str r1, [sp]
11068
- mov r1, r5
11069
- bl sftl_printk
11070
- b .L1598
11071
-.L1603:
11342
+ b .L1683
11343
+.L1589:
1107211344 cmp r3, #12
11073
- bls .L1604
11345
+ bls .L1590
1107411346 lsrs r6, r6, #4
11075
- b .L1602
11076
-.L1604:
11347
+ b .L1588
11348
+.L1590:
1107711349 cmp r3, #8
11078
- bls .L1602
11350
+ bls .L1588
1107911351 lsrs r6, r6, #2
11080
- b .L1602
11081
-.L1674:
11352
+ b .L1588
11353
+.L1656:
1108211354 movs r6, #1
11083
- b .L1602
11084
-.L1609:
11355
+ b .L1588
11356
+.L1657:
1108511357 movs r3, #18
11086
- b .L1713
11087
-.L1607:
11358
+ b .L1594
11359
+.L1592:
1108811360 ldrh r3, [r4, #2620]
1108911361 add r3, r3, r3, lsl #1
1109011362 asrs r3, r3, #2
1109111363 strh r3, [r4, #3152] @ movhi
11092
-.L1606:
11364
+.L1591:
1109311365 ldrh r3, [r4, #3206]
11094
- cbz r3, .L1675
11366
+ cbz r3, .L1658
1109511367 adds r6, r6, #32
1109611368 uxth r6, r6
11097
-.L1675:
11098
- movw r7, #65535
11099
-.L1612:
11369
+.L1658:
11370
+ movw r5, #65535
11371
+.L1596:
1110011372 ldrh r3, [r4, #172]
1110111373 movw r2, #65535
1110211374 cmp r3, r2
11103
- bne .L1621
11104
- cmp r7, r3
11105
- beq .L1622
11106
- strh r7, [r4, #172] @ movhi
11107
-.L1623:
11108
- ldrh r0, [r4, #172]
11109
- movw r5, #65535
11110
- movs r3, #0
11111
- strb r3, [r4, #180]
11112
- cmp r0, r5
11113
- beq .L1621
11114
- bl IsBlkInGcList
11115
- cbz r0, .L1626
11375
+ bne .L1604
11376
+ cmp r5, r3
11377
+ beq .L1605
1111611378 strh r5, [r4, #172] @ movhi
11117
-.L1626:
11118
- ldrh r2, [r4, #172]
11119
- movw r3, #65535
11120
- cmp r2, r3
11121
- beq .L1621
11122
- ldr r0, .L1717+16
11123
- bl make_superblock
11379
+.L1606:
11380
+ ldrh r0, [r4, #172]
1112411381 movs r3, #0
11125
- ldrh r2, [r4, #172]
11126
- strh r3, [r4, #174] @ movhi
11127
- strb r3, [r4, #178]
11128
- strh r3, [r4, #3662] @ movhi
11129
- ldr r3, [r4, #72]
11130
- ldrh r3, [r3, r2, lsl #1]
11131
- strh r3, [r4, #3664] @ movhi
11132
-.L1621:
11382
+ movw r8, #65535
11383
+ strb r3, [r4, #180]
11384
+ cmp r0, r8
11385
+ beq .L1604
11386
+ bl IsBlkInGcList
11387
+ mov r7, r0
11388
+ cmp r0, #0
11389
+ beq .L1609
11390
+ strh r8, [r4, #172] @ movhi
11391
+.L1604:
1113311392 ldrh r3, [r4, #172]
1113411393 ldrh r2, [r4, #24]
1113511394 cmp r2, r3
11136
- beq .L1627
11395
+ beq .L1610
1113711396 ldrh r2, [r4, #76]
1113811397 cmp r2, r3
11139
- beq .L1627
11398
+ beq .L1610
1114011399 ldrh r2, [r4, #124]
1114111400 cmp r2, r3
11142
- bne .L1628
11143
-.L1627:
11401
+ bne .L1611
11402
+.L1610:
1114411403 movw r3, #65535
1114511404 strh r3, [r4, #172] @ movhi
11146
-.L1628:
11147
- ldr r5, .L1717+4
11148
- mov r4, r5
11149
-.L1664:
11150
- ldrh r10, [r5, #172]
11405
+.L1611:
11406
+ ldr r4, .L1687
11407
+.L1647:
11408
+ ldrh r8, [r4, #172]
1115111409 movw r3, #65535
11152
- cmp r10, r3
11153
- bne .L1629
11154
- movs r3, #0
11155
- mov fp, r3
11156
- str r3, [r5, #3164]
11157
-.L1630:
11158
- ldrh r8, [r4, #3160]
11159
- mov r0, r8
11410
+ cmp r8, r3
11411
+ bne .L1612
11412
+ mov r9, #0
11413
+ str r9, [r4, #3164]
11414
+.L1613:
11415
+ ldrh r7, [r4, #3160]
11416
+ mov r0, r7
1116011417 bl List_get_gc_head_node
11161
- uxth r2, r0
11162
- cmp r2, r10
11163
- strh r2, [r4, #172] @ movhi
11164
- bne .L1631
11418
+ uxth fp, r0
11419
+ mov r10, r0
11420
+ cmp fp, r8
11421
+ strh fp, [r4, #172] @ movhi
11422
+ bne .L1614
1116511423 movs r3, #0
1116611424 movs r0, #8
1116711425 strh r3, [r4, #3160] @ movhi
11168
- b .L1585
11169
-.L1613:
11426
+ b .L1573
11427
+.L1597:
1117011428 movs r3, #0
1117111429 ldrh r2, [r4, #224]
1117211430 str r3, [r4, #3164]
1117311431 ldrh r3, [r4, #3152]
1117411432 cmp r2, r3
11175
- bls .L1614
11433
+ bls .L1598
1117611434 ldrh r3, [r4, #3660]
11177
- cbnz r3, .L1615
11435
+ cbnz r3, .L1599
1117811436 ldr r3, [r4, #2552]
1117911437 ldr r2, [r4, #2548]
1118011438 add r3, r3, r3, lsl #1
1118111439 cmp r2, r3, lsr #2
11182
- bcs .L1616
11183
-.L1615:
11440
+ bcs .L1660
11441
+.L1599:
1118411442 ldrh r3, [r4, #2620]
1118511443 add r3, r3, r3, lsl #1
11186
- asrs r3, r3, #2
11187
-.L1714:
11444
+ lsrs r3, r3, #2
11445
+.L1600:
1118811446 strh r3, [r4, #3152] @ movhi
1118911447 bl FtlReadRefresh
1119011448 movs r0, #0
....@@ -11193,17 +11451,17 @@
1119311451 uxth r0, r0
1119411452 ldrh r3, [r3, r0, lsl #1]
1119511453 cmp r3, #4
11196
- bls .L1614
11197
-.L1716:
11454
+ bls .L1598
11455
+.L1686:
1119811456 ldrh r0, [r4, #3660]
11199
- b .L1585
11200
-.L1616:
11457
+ b .L1573
11458
+.L1660:
1120111459 movs r3, #18
11202
- b .L1714
11203
-.L1614:
11460
+ b .L1600
11461
+.L1598:
1120411462 ldrh r0, [r4, #3660]
1120511463 cmp r0, #0
11206
- bne .L1618
11464
+ bne .L1601
1120711465 ldrh r5, [r4, #2620]
1120811466 add r3, r5, r5, lsl #1
1120911467 asrs r3, r3, #2
....@@ -11211,284 +11469,265 @@
1121111469 bl List_get_gc_head_node
1121211470 ldr r3, [r4, #72]
1121311471 uxth r0, r0
11214
- ldrh r1, [r4, #304]
11472
+ ldrh r1, [r4, #232]
1121511473 ldrh r2, [r3, r0, lsl #1]
11216
- ldrh r3, [r4, #232]
11474
+ ldrh r3, [r4, #304]
1121711475 muls r3, r1, r3
1121811476 add r3, r3, r3, lsr #31
1121911477 cmp r2, r3, asr #1
11220
- ble .L1619
11221
- ldrh r3, [r4, #224]
11222
- subs r5, r5, #1
11223
- cmp r3, r5
11224
- blt .L1619
11478
+ ble .L1602
11479
+ ldrh r1, [r4, #224]
11480
+ subs r3, r5, #1
11481
+ cmp r1, r3
11482
+ blt .L1602
1122511483 bl FtlReadRefresh
11226
- b .L1716
11227
-.L1718:
11484
+ b .L1686
11485
+.L1688:
1122811486 .align 2
11229
-.L1717:
11230
- .word __stack_chk_guard
11487
+.L1687:
1123111488 .word .LANCHOR0
1123211489 .word .LANCHOR2
1123311490 .word .LC124
11234
- .word .LANCHOR0+172
11235
-.L1619:
11491
+.L1602:
1123611492 cmp r2, #0
11237
- bne .L1618
11493
+ bne .L1601
1123811494 movw r0, #65535
1123911495 bl decrement_vpc_count
1124011496 ldrh r0, [r4, #224]
1124111497 adds r0, r0, #1
11242
- b .L1585
11243
-.L1622:
11498
+ b .L1573
11499
+.L1605:
1124411500 ldrh r3, [r4, #222]
11245
- cmp r3, r7
11246
- beq .L1623
11501
+ cmp r3, r5
11502
+ beq .L1606
1124711503 ldr r2, [r4, #72]
1124811504 ldrh r3, [r2, r3, lsl #1]
11249
- cbnz r3, .L1624
11250
- strh r7, [r4, #222] @ movhi
11251
-.L1624:
11505
+ cbnz r3, .L1607
11506
+ strh r5, [r4, #222] @ movhi
11507
+.L1607:
1125211508 ldrh r3, [r4, #222]
1125311509 strh r3, [r4, #172] @ movhi
1125411510 movw r3, #65535
1125511511 strh r3, [r4, #222] @ movhi
11256
- b .L1623
11257
-.L1631:
11258
- str r0, [sp, #16]
11259
- mov r0, r2
11260
- str r2, [sp, #12]
11261
- add r8, r8, #1
11512
+ b .L1606
11513
+.L1614:
11514
+ mov r0, fp
1126211515 bl IsBlkInGcList
11263
- ldr r2, [sp, #12]
11264
- ldr r3, [sp, #16]
11265
- cbz r0, .L1632
11266
- strh r8, [r4, #3160] @ movhi
11267
- b .L1630
11268
-.L1632:
11269
- ldrh lr, [r4, #232]
11270
- uxth r8, r8
11271
- ldrh r1, [r4, #302]
11516
+ adds r3, r7, #1
1127211517 uxth r3, r3
11273
- ldr r0, [r4, #72]
11274
- strh r8, [r4, #3160] @ movhi
11275
- mul r1, lr, r1
11276
- ldrh ip, [r0, r3, lsl #1]
11277
- add lr, r1, r1, lsr #31
11278
- cmp ip, lr, asr #1
11279
- bgt .L1634
11280
- cmp r8, #48
11281
- bls .L1635
11282
- cmp ip, #8
11283
- bls .L1635
11284
- ldrh ip, [r4, #3196]
11285
- cmp ip, #35
11286
- bhi .L1635
11287
-.L1634:
11288
- strh fp, [r4, #3160] @ movhi
11289
-.L1635:
11290
- ldrh r3, [r0, r3, lsl #1]
11291
- cmp r1, r3
11292
- bgt .L1636
11293
- cmp r7, r10
11294
- bne .L1636
11295
- ldrh r1, [r4, #3160]
11296
- cmp r1, #3
11297
- bhi .L1636
11298
- movs r3, #0
11299
- strh r7, [r4, #172] @ movhi
11518
+ cbz r0, .L1615
11519
+.L1684:
1130011520 strh r3, [r4, #3160] @ movhi
11301
- b .L1716
11302
-.L1636:
11303
- cbnz r3, .L1637
11521
+ b .L1613
11522
+.L1615:
11523
+ ldrh r7, [r4, #232]
11524
+ uxth r10, r10
11525
+ ldrh r2, [r4, #302]
11526
+ ldr r1, [r4, #72]
11527
+ strh r3, [r4, #3160] @ movhi
11528
+ muls r2, r7, r2
11529
+ ldrh r0, [r1, r10, lsl #1]
11530
+ add r7, r2, r2, lsr #31
11531
+ cmp r0, r7, asr #1
11532
+ bgt .L1617
11533
+ cmp r3, #48
11534
+ bls .L1618
11535
+ cmp r0, #8
11536
+ bls .L1618
11537
+ ldrh r3, [r4, #3196]
11538
+ cmp r3, #35
11539
+ bhi .L1618
11540
+.L1617:
11541
+ strh r9, [r4, #3160] @ movhi
11542
+.L1618:
11543
+ ldrh r3, [r1, r10, lsl #1]
11544
+ cmp r2, r3
11545
+ bgt .L1619
11546
+ cmp r5, r8
11547
+ bne .L1619
11548
+ ldrh r2, [r4, #3160]
11549
+ cmp r2, #3
11550
+ bhi .L1619
11551
+ movs r3, #0
11552
+ strh r5, [r4, #172] @ movhi
11553
+ strh r3, [r4, #3160] @ movhi
11554
+ b .L1686
11555
+.L1619:
11556
+ cbnz r3, .L1620
1130411557 movw r0, #65535
1130511558 bl decrement_vpc_count
1130611559 ldrh r3, [r4, #3160]
1130711560 adds r3, r3, #1
11308
- strh r3, [r4, #3160] @ movhi
11309
- b .L1630
11310
-.L1637:
11561
+ b .L1684
11562
+.L1620:
1131111563 movs r3, #0
1131211564 strb r3, [r4, #180]
1131311565 ldrh r3, [r4, #24]
11314
- cmp r3, r2
11315
- bne .L1638
11566
+ cmp r3, fp
11567
+ bne .L1621
11568
+ ldr r1, .L1689
1131611569 movw r2, #717
11317
- ldr r1, .L1719
11318
- ldr r0, .L1719+4
11570
+ ldr r0, .L1689+4
1131911571 bl sftl_printk
11320
-.L1638:
11572
+.L1621:
1132111573 ldrh r2, [r4, #172]
1132211574 ldrh r3, [r4, #76]
1132311575 cmp r2, r3
11324
- bne .L1639
11576
+ bne .L1622
11577
+ ldr r1, .L1689
1132511578 movw r2, #718
11326
- ldr r1, .L1719
11327
- ldr r0, .L1719+4
11579
+ ldr r0, .L1689+4
1132811580 bl sftl_printk
11329
-.L1639:
11581
+.L1622:
1133011582 ldrh r2, [r4, #172]
1133111583 ldrh r3, [r4, #124]
1133211584 cmp r2, r3
11333
- bne .L1640
11585
+ bne .L1623
11586
+ ldr r1, .L1689
1133411587 movw r2, #719
11335
- ldr r1, .L1719
11336
- ldr r0, .L1719+4
11588
+ ldr r0, .L1689+4
1133711589 bl sftl_printk
11338
-.L1640:
11339
- ldr r0, .L1719+8
11590
+.L1623:
11591
+ ldr r0, .L1689+8
1134011592 bl make_superblock
1134111593 ldrh r1, [r4, #172]
11342
- movs r3, #0
1134311594 ldr r2, [r4, #72]
11595
+ movs r3, #0
1134411596 strh r3, [r4, #3662] @ movhi
1134511597 ldrh r2, [r2, r1, lsl #1]
11598
+ strh r2, [r4, #3664] @ movhi
1134611599 strh r3, [r4, #174] @ movhi
1134711600 strb r3, [r4, #178]
11348
- strh r2, [r4, #3664] @ movhi
11349
-.L1629:
11601
+.L1612:
1135011602 movs r3, #1
1135111603 str r3, [r4, #3272]
11352
- ldrh r3, [r4, #302]
11353
- str r3, [sp, #16]
11354
- cmp r9, #0
11355
- beq .L1641
11356
- ldr r2, [sp, #16]
11604
+ ldr r3, [sp, #16]
11605
+ ldrh fp, [r4, #302]
11606
+ cbz r3, .L1624
1135711607 ldrh r3, [r4, #232]
1135811608 ldrh r1, [r4, #172]
11359
- muls r3, r2, r3
1136011609 ldr r2, [r4, #72]
11610
+ mul r3, fp, r3
1136111611 ldrh r2, [r2, r1, lsl #1]
1136211612 subs r3, r3, r2
1136311613 it mi
1136411614 addmi r3, r3, #3
1136511615 add r6, r6, r3, asr #2
1136611616 uxth r6, r6
11367
-.L1641:
11617
+.L1624:
1136811618 ldrh r3, [r4, #174]
11369
- ldr r1, [sp, #16]
1137011619 adds r2, r3, r6
11371
- cmp r2, r1
11620
+ cmp r2, fp
1137211621 itt gt
11373
- movgt r2, r1
11374
- subgt r6, r2, r3
11375
- mov r3, #0
11376
- it gt
11377
- uxthgt r6, r6
11378
-.L1715:
11379
- str r3, [sp, #20]
11380
- ldrh r3, [sp, #20]
11381
- cmp r6, r3
11382
- bls .L1652
11383
- ldr r3, [sp, #20]
11384
- movw r10, #65535
11385
- ldrh r8, [r5, #174]
11386
- mov fp, #20
11387
- ldrh ip, [r5, #232]
11388
- ldr r0, [r5, #3184]
11389
- add r8, r8, r3
11390
- ldr r3, .L1719+12
11391
- str r3, [sp, #24]
11622
+ subgt r3, fp, r3
11623
+ uxthgt r6, r3
1139211624 movs r3, #0
11625
+.L1685:
1139311626 str r3, [sp, #12]
11394
- b .L1653
11395
-.L1646:
11396
- ldr r1, [sp, #24]
11397
- ldrh r2, [r1, #2]!
11398
- cmp r2, r10
11399
- str r1, [sp, #24]
11400
- beq .L1645
11401
- ldr r1, [sp, #12]
11402
- orr r2, r8, r2, lsl #10
11403
- mla lr, fp, r1, r0
11404
- str r2, [lr, #4]
11405
- mov r2, r1
11406
- adds r2, r2, #1
11407
- uxth r2, r2
11408
- str r2, [sp, #12]
11409
-.L1645:
11410
- adds r3, r3, #1
11411
-.L1653:
11412
- uxth r2, r3
11413
- cmp ip, r2
11414
- bhi .L1646
11415
- mov fp, #0
11416
- ldrb r2, [r5, #180] @ zero_extendqisi2
11417
- ldr r1, [sp, #12]
11418
- bl FlashReadPages
11419
-.L1647:
11627
+ ldrh r3, [r4, #174]
11628
+ ldrh r2, [sp, #12]
11629
+ cmp r6, r2
11630
+ bls .L1635
1142011631 ldr r2, [sp, #12]
11421
- uxth r3, fp
11422
- cmp r2, r3
11423
- bhi .L1651
11424
- ldr r3, [sp, #20]
11632
+ movw r9, #65535
11633
+ ldrh lr, [r4, #232]
11634
+ mov r10, #20
11635
+ add r3, r3, r2
11636
+ ldr r0, [r4, #3184]
11637
+ movs r2, #0
11638
+ ldr ip, .L1689+12
11639
+ mov r7, r2
11640
+ b .L1636
11641
+.L1629:
11642
+ ldrh r1, [ip], #2
11643
+ cmp r1, r9
11644
+ beq .L1628
11645
+ mla r8, r10, r7, r0
11646
+ adds r7, r7, #1
11647
+ orr r1, r3, r1, lsl #10
11648
+ uxth r7, r7
11649
+ str r1, [r8, #4]
11650
+.L1628:
11651
+ adds r2, r2, #1
11652
+.L1636:
11653
+ uxth r1, r2
11654
+ cmp lr, r1
11655
+ bhi .L1629
11656
+ mov r10, #0
11657
+ ldrb r2, [r4, #180] @ zero_extendqisi2
11658
+ mov r1, r7
11659
+ bl FlashReadPages
11660
+.L1630:
11661
+ uxth r3, r10
11662
+ cmp r7, r3
11663
+ bhi .L1634
11664
+ ldr r3, [sp, #12]
1142511665 adds r3, r3, #1
11426
- b .L1715
11427
-.L1651:
11666
+ b .L1685
11667
+.L1634:
1142811668 mov r8, #20
11429
- ldr r3, [r5, #3184]
11430
- mul r8, r8, fp
11669
+ ldr r3, [r4, #3184]
11670
+ mul r8, r8, r10
1143111671 add r2, r3, r8
1143211672 ldr r3, [r3, r8]
1143311673 adds r3, r3, #1
11434
- beq .L1648
11435
- ldr r10, [r2, #12]
11674
+ beq .L1631
11675
+ ldr r9, [r2, #12]
1143611676 movw r3, #61589
11437
- ldrh r2, [r10]
11677
+ ldrh r2, [r9]
1143811678 cmp r2, r3
11439
- bne .L1648
11440
- ldr r3, [r10, #8]
11679
+ bne .L1631
11680
+ ldr r3, [r9, #8]
1144111681 adds r2, r3, #1
11442
- bne .L1649
11682
+ bne .L1632
11683
+ ldr r1, .L1689
1144311684 movw r2, #753
11444
- ldr r1, .L1719
11445
- ldr r0, .L1719+4
11446
- str r3, [sp, #24]
11685
+ ldr r0, .L1689+4
11686
+ str r3, [sp, #20]
1144711687 bl sftl_printk
11448
- ldr r3, [sp, #24]
11449
-.L1649:
11450
- movs r2, #0
11688
+ ldr r3, [sp, #20]
11689
+.L1632:
1145111690 mov r0, r3
11452
- add r1, sp, #36
11691
+ movs r2, #0
11692
+ add r1, sp, #28
1145311693 bl log2phys
1145411694 ldr r0, [r4, #3184]
11455
- ldr r3, [sp, #36]
11695
+ ldr r3, [sp, #28]
1145611696 add r0, r0, r8
1145711697 ldr r2, [r0, #4]
1145811698 cmp r2, r3
11459
- bne .L1648
11699
+ bne .L1631
1146011700 ldrh r3, [r4, #3662]
1146111701 movs r2, #20
1146211702 ldr r1, [r4, #3168]
11463
- str r2, [sp, #28]
1146411703 adds r3, r3, #1
1146511704 strh r3, [r4, #3662] @ movhi
1146611705 ldr r3, [r4, #3292]
1146711706 mla r3, r2, r1, r3
1146811707 ldr r1, [r0, #16]
11708
+ str r3, [sp, #20]
1146911709 str r1, [r3, #16]
11470
- str r3, [sp, #24]
1147111710 bl Ftl_get_new_temp_ppa
11472
- ldr r3, [sp, #24]
11473
- ldr r1, [r4, #3292]
11474
- ldr r2, [sp, #28]
11711
+ ldr r3, [sp, #20]
11712
+ ldr r1, [r4, #3168]
11713
+ movs r2, #20
1147511714 str r0, [r3, #4]
11476
- ldr r3, [r4, #3168]
11477
- mla r3, r2, r3, r1
11478
- ldr r2, [r4, #3184]
11479
- add r2, r2, r8
11480
- ldr r1, [r2, #8]
11481
- str r1, [r3, #8]
11715
+ ldr r3, [r4, #3292]
11716
+ ldr r0, [r4, #3184]
11717
+ add r0, r0, r8
11718
+ mla r3, r2, r1, r3
1148211719 movs r1, #1
11483
- ldr r2, [r2, #12]
11720
+ ldr r2, [r0, #8]
11721
+ str r2, [r3, #8]
11722
+ ldr r2, [r0, #12]
1148411723 str r2, [r3, #12]
11485
- ldr r3, [sp, #36]
11486
- str r3, [r10, #12]
11724
+ ldr r3, [sp, #28]
11725
+ str r3, [r9, #12]
1148711726 ldrh r3, [r4, #124]
11488
- strh r3, [r10, #2] @ movhi
11727
+ strh r3, [r9, #2] @ movhi
1148911728 ldr r3, [r4, #2592]
1149011729 ldr r0, [r4, #3184]
11491
- str r3, [r10, #4]
11730
+ str r3, [r9, #4]
1149211731 ldr r3, [r4, #3168]
1149311732 add r0, r0, r8
1149411733 adds r3, r3, #1
....@@ -11497,139 +11736,139 @@
1149711736 ldrb r2, [r4, #131] @ zero_extendqisi2
1149811737 ldr r3, [r4, #3168]
1149911738 cmp r2, r3
11500
- beq .L1650
11739
+ beq .L1633
1150111740 ldrh r3, [r4, #128]
11502
- cbnz r3, .L1648
11503
-.L1650:
11741
+ cbnz r3, .L1631
11742
+.L1633:
1150411743 bl Ftl_gc_temp_data_write_back
11505
- cbz r0, .L1648
11506
- ldr r3, .L1719+16
11744
+ cbz r0, .L1631
11745
+ ldr r3, .L1689+16
1150711746 movs r2, #0
11508
- movw r1, #65535
11509
- str r2, [r3, #3272]
11510
- strh r1, [r3, #172] @ movhi
11511
- strh r2, [r3, #174] @ movhi
1151211747 ldrh r0, [r3, #3660]
11513
- b .L1585
11514
-.L1648:
11515
- add fp, fp, #1
11516
- b .L1647
11517
-.L1652:
11518
- ldrh r3, [r5, #174]
11748
+ str r2, [r3, #3272]
11749
+ movw r2, #65535
11750
+ str r2, [r3, #172]
11751
+ b .L1573
11752
+.L1631:
11753
+ add r10, r10, #1
11754
+ b .L1630
11755
+.L1635:
1151911756 add r6, r6, r3
11520
- ldr r3, [sp, #16]
1152111757 uxth r6, r6
11522
- cmp r3, r6
11523
- strh r6, [r5, #174] @ movhi
11524
- bhi .L1654
11525
- ldr r3, [r5, #3168]
11526
- cbz r3, .L1655
11758
+ strh r6, [r4, #174] @ movhi
11759
+ cmp fp, r6
11760
+ bhi .L1637
11761
+ ldr r3, [r4, #3168]
11762
+ cbz r3, .L1638
1152711763 bl Ftl_gc_temp_data_write_back
11528
- cbz r0, .L1655
11764
+ cbz r0, .L1638
1152911765 movs r3, #0
11530
- ldrh r0, [r5, #3660]
11531
- str r3, [r5, #3272]
11532
- b .L1585
11533
-.L1655:
11534
- ldrh r6, [r5, #3662]
11535
- cbnz r6, .L1656
11536
- ldrh r2, [r5, #172]
11537
- ldr r3, [r5, #72]
11766
+ str r3, [r4, #3272]
11767
+ b .L1686
11768
+.L1638:
11769
+ ldrh r6, [r4, #3662]
11770
+ cbnz r6, .L1639
11771
+ ldrh r2, [r4, #172]
11772
+ ldr r3, [r4, #72]
1153811773 ldrh r3, [r3, r2, lsl #1]
11539
- cbz r3, .L1656
11540
-.L1657:
11541
- ldr r3, [r5, #2552]
11774
+ cbz r3, .L1639
11775
+.L1640:
11776
+ ldr r3, [r4, #2552]
1154211777 cmp r6, r3
11543
- bcs .L1662
11544
- movs r2, #0
11545
- add r1, sp, #40
11546
- mov r0, r6
11547
- bl log2phys
11548
- ldr r0, [sp, #40]
11549
- adds r3, r0, #1
11550
- beq .L1658
11551
- ubfx r0, r0, #10, #16
11552
- bl P2V_block_in_plane
11553
- ldrh r3, [r5, #172]
11554
- cmp r3, r0
11555
- bne .L1658
11556
-.L1662:
11557
- ldr r3, [r5, #2552]
11558
- cmp r6, r3
11559
- bcc .L1656
11560
- ldrh r2, [r5, #172]
11778
+ bcc .L1643
11779
+.L1645:
11780
+ ldrh r2, [r4, #172]
1156111781 movs r1, #0
11562
- ldr r3, [r5, #72]
11782
+ ldr r3, [r4, #72]
1156311783 strh r1, [r3, r2, lsl #1] @ movhi
11564
- ldrh r0, [r5, #172]
11784
+ ldrh r0, [r4, #172]
1156511785 bl update_vpc_list
1156611786 bl l2p_flush
1156711787 bl FtlVpcTblFlush
11568
-.L1656:
11788
+.L1639:
1156911789 movw r3, #65535
11570
- strh r3, [r5, #172] @ movhi
11571
-.L1654:
11790
+ strh r3, [r4, #172] @ movhi
11791
+.L1637:
1157211792 movs r3, #0
11573
- str r3, [r5, #3272]
11574
- ldrh r3, [r5, #224]
11793
+ str r3, [r4, #3272]
11794
+ ldrh r3, [r4, #224]
1157511795 cmp r3, #2
11576
- bhi .L1663
11577
- ldrh r6, [r5, #302]
11578
- b .L1664
11579
-.L1658:
11580
- adds r6, r6, #1
11581
- b .L1657
11582
-.L1663:
11583
- ldrh r0, [r5, #3660]
11584
- cmp r0, #0
11585
- bne .L1585
11586
- adds r0, r3, #1
11587
- b .L1585
11588
-.L1669:
11589
- movs r0, #0
11590
- b .L1585
11591
-.L1591:
11592
- cmp r9, #0
11593
- beq .L1666
11594
-.L1601:
11595
- ldrh r2, [r4, #124]
11596
- movw r3, #65535
11597
- cmp r2, r3
11598
- bne .L1678
11599
-.L1667:
11600
- ldrh r3, [r4, #222]
11601
- movw r2, #65535
11602
- cmp r3, r2
11603
- bne .L1678
11604
- cmp r7, r3
11605
- bne .L1678
11796
+ bhi .L1646
11797
+ ldrh r6, [r4, #302]
11798
+ b .L1647
11799
+.L1643:
11800
+ add r1, sp, #32
11801
+ mov r0, r6
11802
+ movs r2, #0
11803
+ bl log2phys
11804
+ ldr r0, [sp, #32]
11805
+ adds r3, r0, #1
11806
+ beq .L1641
11807
+ ubfx r0, r0, #10, #16
11808
+ bl P2V_block_in_plane
1160611809 ldrh r3, [r4, #172]
11607
- cmp r3, r7
11608
- beq .L1613
11609
-.L1618:
11610
- movw r7, #65535
11611
-.L1678:
11810
+ cmp r3, r0
11811
+ beq .L1642
11812
+.L1641:
11813
+ adds r6, r6, #1
11814
+ b .L1640
11815
+.L1642:
11816
+ ldr r3, [r4, #2552]
11817
+ cmp r6, r3
11818
+ bcc .L1639
11819
+ b .L1645
11820
+.L1646:
11821
+ ldrh r0, [r4, #3660]
11822
+ cmp r0, #0
11823
+ bne .L1573
11824
+ adds r0, r3, #1
11825
+ b .L1573
11826
+.L1651:
11827
+ movs r0, #0
11828
+ b .L1573
11829
+.L1579:
11830
+ ldr r3, [sp, #16]
11831
+ cmp r3, #0
11832
+ beq .L1649
11833
+ movw r5, #65535
11834
+.L1587:
11835
+ ldrh r3, [r4, #222]
11836
+ ldrh r6, [r4, #124]
11837
+ ands r6, r6, r3
11838
+ movw r3, #65535
11839
+ ands r6, r6, r5
11840
+ uxth r6, r6
11841
+ cmp r6, r3
11842
+ bne .L1659
11843
+ ldrh r3, [r4, #172]
11844
+ cmp r3, r6
11845
+ beq .L1597
11846
+.L1601:
11847
+ mov r5, r6
11848
+.L1659:
1161211849 movs r6, #1
11613
- b .L1612
11614
-.L1593:
11615
- cmp r9, #0
11616
- beq .L1666
11617
- movw r7, #65535
11618
- b .L1667
11619
-.L1720:
11850
+ b .L1596
11851
+.L1609:
11852
+ ldr r0, .L1689+8
11853
+ bl make_superblock
11854
+ ldrh r2, [r4, #172]
11855
+ ldr r3, [r4, #72]
11856
+ strh r7, [r4, #174] @ movhi
11857
+ strb r7, [r4, #178]
11858
+ strh r7, [r4, #3662] @ movhi
11859
+ ldrh r3, [r3, r2, lsl #1]
11860
+ strh r3, [r4, #3664] @ movhi
11861
+ b .L1604
11862
+.L1690:
1162011863 .align 2
11621
-.L1719:
11864
+.L1689:
1162211865 .word .LANCHOR1+568
1162311866 .word .LC8
1162411867 .word .LANCHOR0+172
11625
- .word .LANCHOR0+186
11868
+ .word .LANCHOR0+188
1162611869 .word .LANCHOR0
11627
-.L1592:
11628
- cmp r9, #0
11629
- bne .L1618
11630
- b .L1666
11631
-.L1668:
11632
- add sp, sp, #52
11870
+.L1650:
11871
+ add sp, sp, #44
1163311872 @ sp needed
1163411873 pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
1163511874 .fnend
....@@ -11647,118 +11886,146 @@
1164711886 @ frame_needed = 0, uses_anonymous_args = 0
1164811887 push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
1164911888 .save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
11650
- mov r10, r3
11651
- ldr r3, .L1757
11652
- cmp r0, #16
11889
+ mov r8, r3
11890
+ mov r5, r1
1165311891 .pad #60
1165411892 sub sp, sp, #60
11655
- mov r6, r1
11893
+ cmp r0, #16
11894
+ mov r3, sp
11895
+ bic r3, r3, #8160
11896
+ bic r3, r3, #31
1165611897 str r2, [sp, #4]
11657
- ldr r3, [r3]
11658
- str r3, [sp, #52]
11659
- bne .L1722
11660
- mov r2, r10
11661
- ldr r1, [sp, #4]
11662
- add r0, r6, #256
11663
- bl FtlVendorPartRead
11664
- mov r5, r0
11665
-.L1721:
11666
- ldr r3, .L1757
11667
- mov r0, r5
11898
+ ldr r2, [r3, #24]
11899
+ str r2, [sp, #52]
11900
+ bne .L1692
1166811901 ldr r2, [sp, #52]
11669
- ldr r3, [r3]
11902
+ ldr r3, [r3, #24]
1167011903 cmp r2, r3
11671
- beq .L1743
11904
+ beq .L1693
11905
+.L1730:
1167211906 bl __stack_chk_fail
11673
-.L1722:
11674
- ldr r4, .L1757+4
11907
+.L1693:
11908
+ ldr r1, [sp, #4]
11909
+ mov r2, r8
11910
+ add r0, r5, #256
11911
+ add sp, sp, #60
11912
+ @ sp needed
11913
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, lr}
11914
+ b FtlVendorPartRead
11915
+.L1692:
11916
+ ldr r4, .L1731
1167511917 ldr r3, [r4, #340]
11676
- cmp r1, r3
11677
- bcs .L1746
11918
+ cmp r3, r1
11919
+ bls .L1718
1167811920 ldr r2, [sp, #4]
11679
- cmp r2, r3
11680
- bhi .L1746
11681
- adds r2, r1, r2
1168211921 cmp r3, r2
11683
- str r2, [sp, #12]
11684
- bcc .L1746
11685
- ldr r3, .L1757+8
11686
- ldr r5, [r3]
11687
- adds r7, r5, #1
11688
- beq .L1721
11689
- ldrh r5, [r4, #258]
11690
- mov r0, r6
11691
- mov r9, #0
11692
- mov r8, r9
11693
- mov r1, r5
11922
+ bcc .L1718
11923
+ adds r2, r1, r2
11924
+ str r2, [sp, #8]
11925
+ cmp r3, r2
11926
+ bcc .L1718
11927
+ ldr r3, .L1731+4
11928
+ ldr r6, [r3]
11929
+ adds r7, r6, #1
11930
+ beq .L1691
11931
+ ldrh r6, [r4, #258]
11932
+ mov r0, r5
11933
+ mov r10, #0
11934
+ mov r7, r10
11935
+ mov r1, r6
1169411936 bl __aeabi_uidiv
11695
- ldr r3, [sp, #12]
11696
- mov r1, r5
11937
+ ldr r3, [sp, #8]
11938
+ mov r1, r6
1169711939 str r0, [sp, #16]
11698
- mov r5, r9
1169911940 subs r0, r3, #1
11941
+ mov r6, r10
1170011942 bl __aeabi_uidiv
1170111943 ldr r3, [sp, #16]
1170211944 ldr r2, [sp, #4]
11703
- ldr r7, [sp, #16]
1170411945 rsb r3, r3, #1
11705
- str r0, [sp, #20]
11946
+ ldr r9, [sp, #16]
1170611947 add r3, r3, r0
11707
- str r9, [sp, #28]
11708
- str r3, [sp, #8]
11948
+ str r3, [sp, #12]
1170911949 ldr r3, [r4, #2584]
11710
- str r9, [sp, #24]
11950
+ str r0, [sp, #20]
1171111951 add r3, r3, r2
11712
- ldr r2, [sp, #8]
11952
+ ldr r2, [sp, #12]
1171311953 str r3, [r4, #2584]
1171411954 ldr r3, [r4, #2556]
11955
+ strd r10, r10, [sp, #24]
1171511956 add r3, r3, r2
1171611957 str r3, [r4, #2556]
11717
-.L1724:
11718
- ldr r3, [sp, #8]
11719
- cbnz r3, .L1741
11720
- ldr r3, .L1757+4
11958
+.L1695:
11959
+ ldr r3, [sp, #12]
11960
+ cbnz r3, .L1713
11961
+ ldr r3, .L1731
1172111962 ldrh r2, [r3, #3206]
11722
- cbnz r2, .L1742
11963
+ cbnz r2, .L1714
1172311964 ldrh r3, [r3, #224]
1172411965 cmp r3, #31
11725
- bhi .L1721
11726
-.L1742:
11966
+ bhi .L1691
11967
+.L1714:
1172711968 movs r1, #1
1172811969 movs r0, #0
1172911970 bl rk_ftl_garbage_collect
11730
- b .L1721
11731
-.L1741:
11732
- movs r2, #0
11971
+.L1691:
11972
+ mov r3, sp
11973
+ ldr r2, [sp, #52]
11974
+ bic r3, r3, #8160
11975
+ bic r3, r3, #31
11976
+ ldr r3, [r3, #24]
11977
+ cmp r2, r3
11978
+ bne .L1730
11979
+ mov r0, r6
11980
+ add sp, sp, #60
11981
+ @ sp needed
11982
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
11983
+.L1713:
1173311984 add r1, sp, #48
11734
- mov r0, r7
11735
- bl log2phys
11736
- ldr r2, [sp, #48]
11737
- adds r0, r2, #1
11738
- bne .L1725
11739
- mov fp, #0
11740
-.L1726:
11741
- ldrh r0, [r4, #258]
11742
- cmp fp, r0
11743
- bcc .L1728
11744
-.L1729:
11745
- ldr r3, [sp, #8]
11746
- adds r7, r7, #1
11747
- subs r3, r3, #1
11748
- str r3, [sp, #8]
11749
- beq .L1733
11750
- ldrh r3, [r4, #232]
11751
- cmp r8, r3, lsl #2
11752
- bne .L1724
11753
-.L1733:
11754
- cmp r8, #0
11755
- beq .L1724
11985
+ mov r0, r9
1175611986 movs r2, #0
11757
- mov r1, r8
11987
+ bl log2phys
11988
+ ldr r3, [sp, #48]
11989
+ adds r0, r3, #1
11990
+ bne .L1728
11991
+ mov fp, #0
11992
+ b .L1696
11993
+.L1699:
11994
+ mla r0, r9, r0, fp
11995
+ cmp r5, r0
11996
+ bhi .L1698
11997
+ ldr r3, [sp, #8]
11998
+ cmp r3, r0
11999
+ bls .L1698
12000
+ subs r0, r0, r5
12001
+ mov r2, #512
12002
+ movs r1, #0
12003
+ add r0, r8, r0, lsl #9
12004
+ bl ftl_memset
12005
+.L1698:
12006
+ add fp, fp, #1
12007
+.L1696:
12008
+ ldrh r0, [r4, #258]
12009
+ cmp r0, fp
12010
+ bhi .L1699
12011
+.L1700:
12012
+ ldr r3, [sp, #12]
12013
+ add r9, r9, #1
12014
+ subs r3, r3, #1
12015
+ str r3, [sp, #12]
12016
+ beq .L1705
12017
+ ldrh r3, [r4, #232]
12018
+ cmp r7, r3, lsl #2
12019
+ bne .L1695
12020
+.L1705:
12021
+ cmp r7, #0
12022
+ beq .L1695
1175812023 ldr r0, [r4, #3288]
12024
+ mov r1, r7
12025
+ movs r2, #0
1175912026 mov fp, #0
1176012027 bl FlashReadPages
11761
- lsl r3, r9, #9
12028
+ lsl r3, r10, #9
1176212029 str r3, [sp, #40]
1176312030 ldr r3, [sp, #24]
1176412031 lsls r3, r3, #9
....@@ -11766,32 +12033,30 @@
1176612033 ldr r3, [sp, #28]
1176712034 lsls r3, r3, #9
1176812035 str r3, [sp, #36]
11769
-.L1740:
12036
+.L1712:
1177012037 movs r3, #20
1177112038 ldr r2, [r4, #3288]
11772
- mul r3, r3, fp
1177312039 ldr r0, [sp, #16]
12040
+ mul r3, r3, fp
1177412041 add r2, r2, r3
1177512042 ldr r1, [r2, #16]
11776
- cmp r0, r1
11777
- bne .L1735
12043
+ cmp r1, r0
12044
+ bne .L1707
1177812045 ldr r1, [r2, #8]
1177912046 ldr r2, [r4, #3312]
1178012047 cmp r1, r2
11781
- bne .L1736
12048
+ bne .L1708
1178212049 str r3, [sp, #44]
11783
- mov r0, r10
11784
- ldr r3, [sp, #32]
11785
- ldr r2, [sp, #36]
12050
+ mov r0, r8
12051
+ ldrd r3, r2, [sp, #32]
1178612052 add r1, r1, r3
11787
-.L1756:
12053
+.L1729:
1178812054 bl ftl_memcpy
1178912055 ldr r3, [sp, #44]
11790
-.L1736:
12056
+.L1708:
1179112057 ldr ip, [r4, #3288]
1179212058 add r2, ip, r3
11793
- ldr r0, [r2, #12]
11794
- ldr r1, [r2, #16]
12059
+ ldrd r0, r1, [r2, #12]
1179512060 ldr r0, [r0, #8]
1179612061 cmp r1, r0
1179712062 ittt ne
....@@ -11801,121 +12066,97 @@
1180112066 ldr r0, [ip, r3]
1180212067 adds r1, r0, #1
1180312068 itttt eq
12069
+ moveq r6, r0
1180412070 ldreq r1, [r4, #2712]
11805
- moveq r5, r0
1180612071 addeq r1, r1, #1
1180712072 streq r1, [r4, #2712]
1180812073 ldr r3, [ip, r3]
1180912074 cmp r3, #256
11810
- bne .L1739
12075
+ bne .L1711
1181112076 ldr r0, [r2, #4]
1181212077 ubfx r0, r0, #10, #16
1181312078 bl P2V_block_in_plane
1181412079 bl FtlGcRefreshBlock
11815
-.L1739:
12080
+.L1711:
1181612081 add fp, fp, #1
11817
- cmp r8, fp
11818
- bne .L1740
11819
- mov r8, #0
11820
- b .L1724
12082
+ cmp r7, fp
12083
+ bne .L1712
12084
+ movs r7, #0
12085
+ b .L1695
1182112086 .L1728:
11822
- mla r0, r0, r7, fp
11823
- cmp r6, r0
11824
- bhi .L1727
11825
- ldr r3, [sp, #12]
11826
- cmp r3, r0
11827
- bls .L1727
11828
- subs r0, r0, r6
11829
- mov r2, #512
11830
- movs r1, #0
11831
- add r0, r10, r0, lsl #9
11832
- bl ftl_memset
11833
-.L1727:
11834
- add fp, fp, #1
11835
- b .L1726
11836
-.L1725:
11837
- ldr r3, [r4, #3288]
11838
- movs r1, #20
11839
- ldrh fp, [r4, #258]
11840
- mla r3, r1, r8, r3
11841
- str r2, [r3, #4]
11842
- ldr r2, [sp, #16]
11843
- cmp r7, r2
11844
- bne .L1730
12087
+ ldr r2, [r4, #3288]
12088
+ mov fp, #20
12089
+ mla fp, fp, r7, r2
12090
+ str r3, [fp, #4]
12091
+ ldr r3, [sp, #16]
12092
+ cmp r9, r3
12093
+ ldrh r3, [r4, #258]
12094
+ bne .L1701
1184512095 ldr r2, [r4, #3312]
11846
- mov r1, fp
11847
- mov r0, r6
11848
- str r3, [sp, #32]
11849
- str r2, [r3, #8]
12096
+ mov r1, r3
12097
+ str r2, [fp, #8]
12098
+ mov r0, r5
12099
+ str r3, [sp, #28]
1185012100 bl __aeabi_uidivmod
11851
- sub r2, fp, r1
12101
+ ldr r3, [sp, #28]
1185212102 str r1, [sp, #24]
12103
+ subs r2, r3, r1
1185312104 ldr r1, [sp, #4]
11854
- mov r3, r2
1185512105 cmp r2, r1
1185612106 it cs
11857
- movcs r3, r1
11858
- cmp r3, fp
11859
- str r3, [sp, #28]
11860
- ldr r3, [sp, #32]
11861
- bne .L1731
11862
- str r10, [r3, #8]
11863
-.L1731:
11864
- ldrh r2, [r4, #312]
11865
- ldr r1, [r4, #3336]
11866
- str r7, [r3, #16]
11867
- mul r2, r8, r2
11868
- add r8, r8, #1
11869
- bic r2, r2, #3
11870
- add r2, r2, r1
11871
- str r2, [r3, #12]
11872
- b .L1729
11873
-.L1730:
11874
- ldr r2, [sp, #20]
11875
- cmp r7, r2
11876
- bne .L1732
11877
- ldr r2, [r4, #3316]
11878
- ldr r1, [sp, #12]
11879
- str r2, [r3, #8]
11880
- mul r2, fp, r7
11881
- sub r9, r1, r2
11882
- cmp fp, r9
11883
- bne .L1731
11884
-.L1755:
11885
- subs r2, r2, r6
11886
- add r2, r10, r2, lsl #9
11887
- str r2, [r3, #8]
11888
- b .L1731
11889
-.L1732:
11890
- mul r2, r7, fp
11891
- b .L1755
11892
-.L1735:
12107
+ movcs r2, r1
12108
+ str r2, [sp, #28]
12109
+ cmp r3, r2
12110
+ bne .L1702
12111
+ str r8, [fp, #8]
12112
+.L1702:
12113
+ ldrh r3, [r4, #312]
12114
+ ldr r2, [r4, #3336]
12115
+ muls r3, r7, r3
12116
+ adds r7, r7, #1
12117
+ bic r3, r3, #3
12118
+ add r3, r3, r2
12119
+ strd r3, r9, [fp, #12]
12120
+ b .L1700
12121
+.L1701:
12122
+ ldr r1, [sp, #20]
12123
+ mul r2, r3, r9
12124
+ cmp r9, r1
12125
+ bne .L1703
12126
+ ldr r1, [sp, #8]
12127
+ sub r10, r1, r2
12128
+ cmp r10, r3
12129
+ beq .L1703
12130
+ ldr r3, [r4, #3316]
12131
+ str r3, [fp, #8]
12132
+ b .L1702
12133
+.L1703:
12134
+ subs r2, r2, r5
12135
+ add r2, r8, r2, lsl #9
12136
+ str r2, [fp, #8]
12137
+ b .L1702
12138
+.L1707:
1189312139 ldr r0, [sp, #20]
11894
- cmp r0, r1
11895
- bne .L1736
12140
+ cmp r1, r0
12141
+ bne .L1708
1189612142 ldr r1, [r2, #8]
1189712143 ldr r2, [r4, #3316]
1189812144 cmp r1, r2
11899
- bne .L1736
11900
- str r3, [sp, #44]
12145
+ bne .L1708
1190112146 ldrh r0, [r4, #258]
12147
+ str r3, [sp, #44]
1190212148 ldr r3, [sp, #20]
1190312149 ldr r2, [sp, #40]
1190412150 muls r0, r3, r0
11905
- subs r0, r0, r6
11906
- add r0, r10, r0, lsl #9
11907
- b .L1756
11908
-.L1746:
11909
- mov r5, #-1
11910
- b .L1721
11911
-.L1743:
11912
- add sp, sp, #60
11913
- @ sp needed
11914
- pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
11915
-.L1758:
12151
+ subs r0, r0, r5
12152
+ add r0, r8, r0, lsl #9
12153
+ b .L1729
12154
+.L1718:
12155
+ mov r6, #-1
12156
+ b .L1691
12157
+.L1732:
1191612158 .align 2
11917
-.L1757:
11918
- .word __stack_chk_guard
12159
+.L1731:
1191912160 .word .LANCHOR0
1192012161 .word .LANCHOR2
1192112162 .fnend
....@@ -11939,6 +12180,12 @@
1193912180 b FtlRead
1194012181 .fnend
1194112182 .size sftl_read, .-sftl_read
12183
+ .section .rodata.str1.1
12184
+.LC125:
12185
+ .ascii "FtlWrite: ecc error:%x %x %x\012\000"
12186
+.LC126:
12187
+ .ascii "FtlWrite: lpa error:%x %x\012\000"
12188
+ .text
1194212189 .align 1
1194312190 .global FtlWrite
1194412191 .syntax unified
....@@ -11952,136 +12199,145 @@
1195212199 @ frame_needed = 0, uses_anonymous_args = 0
1195312200 push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
1195412201 .save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
12202
+ cmp r0, #16
12203
+ mov r8, r1
1195512204 .pad #76
1195612205 sub sp, sp, #76
11957
- str r3, [sp, #12]
11958
- cmp r0, #16
11959
- mov r10, r1
11960
- ldr r3, .L1815
11961
- str r2, [sp, #8]
11962
- ldr r3, [r3]
11963
- str r3, [sp, #68]
11964
- bne .L1761
11965
- ldr r2, [sp, #12]
11966
- add r0, r10, #256
11967
- ldr r1, [sp, #8]
11968
- bl FtlVendorPartWrite
11969
-.L1760:
11970
- ldr r3, .L1815
12206
+ strd r2, r3, [sp, #4]
12207
+ mov r3, sp
12208
+ bic r3, r3, #8160
12209
+ bic r3, r3, #31
12210
+ ldr r2, [r3, #24]
12211
+ str r2, [sp, #68]
12212
+ bne .L1735
1197112213 ldr r2, [sp, #68]
11972
- ldr r3, [r3]
12214
+ ldr r3, [r3, #24]
1197312215 cmp r2, r3
11974
- beq .L1798
12216
+ beq .L1736
12217
+.L1790:
1197512218 bl __stack_chk_fail
11976
-.L1761:
11977
- ldr r5, .L1815+4
12219
+.L1736:
12220
+ ldrd r1, r2, [sp, #4]
12221
+ add r0, r8, #256
12222
+ add sp, sp, #76
12223
+ @ sp needed
12224
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, lr}
12225
+ b FtlVendorPartWrite
12226
+.L1735:
12227
+ ldr r5, .L1791
1197812228 ldr r3, [r5, #340]
11979
- cmp r1, r3
11980
- bcs .L1801
11981
- ldr r2, [sp, #8]
11982
- cmp r2, r3
11983
- bhi .L1801
12229
+ cmp r3, r1
12230
+ bls .L1777
12231
+ ldr r2, [sp, #4]
12232
+ cmp r3, r2
12233
+ bcc .L1777
1198412234 adds r6, r1, r2
1198512235 cmp r3, r6
11986
- bcc .L1801
11987
- ldr r4, .L1815+8
12236
+ bcc .L1777
12237
+ ldr r4, .L1791+4
1198812238 ldr r0, [r4]
1198912239 adds r7, r0, #1
11990
- beq .L1760
12240
+ beq .L1734
1199112241 ldrh r7, [r5, #258]
1199212242 mov r3, #2048
12243
+ mov r0, r8
1199312244 str r3, [r5, #3668]
11994
- mov r0, r10
1199512245 mov r1, r7
1199612246 bl __aeabi_uidiv
1199712247 mov r1, r7
11998
- str r0, [sp, #4]
12248
+ str r0, [sp]
1199912249 subs r0, r6, #1
1200012250 bl __aeabi_uidiv
12001
- ldr r2, [sp, #4]
12002
- str r0, [sp, #20]
12251
+ ldr r2, [sp]
12252
+ str r0, [sp, #24]
1200312253 subs r3, r0, r2
12004
- ldr r2, [sp, #8]
12005
- str r3, [sp, #24]
12006
- adds r3, r3, #1
12007
- str r3, [sp]
12254
+ ldr r2, [sp, #4]
12255
+ add fp, r3, #1
12256
+ str r3, [sp, #20]
1200812257 ldr r3, [r5, #2580]
1200912258 add r3, r3, r2
12010
- ldr r2, [sp]
1201112259 str r3, [r5, #2580]
1201212260 ldr r3, [r5, #2564]
12013
- add r3, r3, r2
12261
+ add r3, r3, fp
1201412262 str r3, [r5, #2564]
1201512263 ldr r3, [r4, #8]
12016
- cbz r3, .L1803
12264
+ cbz r3, .L1779
1201712265 ldrh r2, [r5, #28]
1201812266 add r3, r5, #24
1201912267 adds r5, r5, #76
1202012268 cmp r2, #0
1202112269 it ne
1202212270 movne r5, r3
12023
-.L1763:
12024
- ldr r7, [sp, #4]
12025
- ldr r4, .L1815+4
12026
-.L1764:
12027
- ldr r3, [sp]
12028
- cbnz r3, .L1793
12029
- mov r0, r3
12030
- ldr r1, [sp, #24]
12271
+.L1738:
12272
+ ldr r7, [sp]
12273
+ ldr r4, .L1791
12274
+.L1739:
12275
+ cmp fp, #0
12276
+ bne .L1770
12277
+ ldr r1, [sp, #20]
12278
+ mov r0, fp
1203112279 bl rk_ftl_garbage_collect
1203212280 ldrh r3, [r4, #224]
1203312281 cmp r3, #5
12034
- bls .L1794
12035
-.L1796:
12282
+ bls .L1782
12283
+.L1773:
1203612284 movs r0, #0
12037
- b .L1760
12038
-.L1803:
12285
+.L1734:
12286
+ mov r3, sp
12287
+ ldr r2, [sp, #68]
12288
+ bic r3, r3, #8160
12289
+ bic r3, r3, #31
12290
+ ldr r3, [r3, #24]
12291
+ cmp r2, r3
12292
+ bne .L1790
12293
+ add sp, sp, #76
12294
+ @ sp needed
12295
+ pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
12296
+.L1779:
1203912297 adds r5, r5, #24
12040
- b .L1763
12041
-.L1793:
12298
+ b .L1738
12299
+.L1770:
1204212300 ldrb r2, [r5, #6] @ zero_extendqisi2
1204312301 ldrh r3, [r4, #232]
1204412302 cmp r2, r3
12045
- bcc .L1765
12303
+ bcc .L1740
12304
+ ldr r1, .L1791+8
1204612305 movw r2, #1041
12047
- ldr r1, .L1815+12
12048
- ldr r0, .L1815+16
12306
+ ldr r0, .L1791+12
1204912307 bl sftl_printk
12050
-.L1765:
12051
- ldrh r2, [r5, #4]
12052
- cbnz r2, .L1766
12053
- ldr r3, .L1815+20
12054
- ldr r6, .L1815+8
12055
- cmp r5, r3
12056
- bne .L1767
12057
- ldrh r8, [r4, #80]
12058
- cmp r8, #0
12059
- bne .L1768
12308
+.L1740:
12309
+ ldrh r3, [r5, #4]
12310
+ cbnz r3, .L1741
12311
+ ldr r2, .L1791+16
12312
+ ldr r6, .L1791+4
12313
+ cmp r5, r2
12314
+ bne .L1742
12315
+ ldrh r9, [r4, #80]
12316
+ cmp r9, #0
12317
+ bne .L1743
1206012318 add r0, r5, #52
1206112319 bl allocate_new_data_superblock
12062
- str r8, [r6, #8]
12063
-.L1768:
12064
- ldr r5, .L1815+20
12065
- ldr r0, .L1815+20
12320
+ str r9, [r6, #8]
12321
+.L1743:
12322
+ ldr r0, .L1791+16
1206612323 bl allocate_new_data_superblock
12067
- ldr r2, [r6, #8]
12068
- add r3, r5, #52
12069
- cmp r2, #0
12070
- it ne
12071
- movne r5, r3
12072
-.L1769:
12324
+ ldr r3, [r6, #8]
12325
+ cmp r3, #0
12326
+ bne .L1781
12327
+.L1745:
12328
+ ldr r5, .L1791+16
12329
+.L1744:
1207312330 ldrh r3, [r5, #4]
12074
- cbnz r3, .L1766
12331
+ cbnz r3, .L1741
1207512332 mov r0, r5
1207612333 bl allocate_new_data_superblock
12077
-.L1766:
12078
- ldrh r2, [r5, #4]
12079
- ldr r3, [sp]
12080
- cmp r2, r3
12334
+.L1741:
12335
+ ldrh r3, [r5, #4]
12336
+ ldrb r2, [r5, #7] @ zero_extendqisi2
12337
+ cmp r3, fp
1208112338 it cs
12082
- movcs r2, r3
12083
- ldrb r3, [r5, #7] @ zero_extendqisi2
12084
- lsls r3, r3, #2
12339
+ movcs r3, fp
12340
+ lsls r2, r2, #2
1208512341 cmp r2, r3
1208612342 it cs
1208712343 movcs r2, r3
....@@ -12089,267 +12345,255 @@
1208912345 str r2, [sp, #36]
1209012346 ldrb r2, [r5, #6] @ zero_extendqisi2
1209112347 cmp r2, r3
12092
- bcc .L1770
12348
+ bcc .L1746
12349
+ ldr r1, .L1791+8
1209312350 movw r2, #1074
12094
- ldr r1, .L1815+12
12095
- ldr r0, .L1815+16
12351
+ ldr r0, .L1791+12
1209612352 bl sftl_printk
12097
-.L1770:
12098
- mov fp, #0
12099
-.L1771:
12353
+.L1746:
12354
+ mov r10, #0
12355
+.L1747:
1210012356 ldr r3, [sp, #36]
12101
- cmp fp, r3
12102
- bne .L1791
12103
-.L1772:
12104
- mov r3, r5
12105
- movs r2, #0
12106
- mov r1, fp
12357
+ cmp r3, r10
12358
+ bne .L1768
12359
+.L1748:
1210712360 ldr r0, [r4, #3296]
12361
+ mov r3, r5
12362
+ mov r1, r10
12363
+ movs r2, #0
1210812364 bl FtlProgPages
12109
- ldr r3, [sp]
12110
- cmp fp, r3
12111
- bls .L1792
12365
+ cmp fp, r10
12366
+ bcs .L1769
12367
+ ldr r1, .L1791+8
1211212368 mov r2, #1152
12113
- ldr r1, .L1815+12
12114
- ldr r0, .L1815+16
12369
+ ldr r0, .L1791+12
1211512370 bl sftl_printk
12116
-.L1792:
12117
- ldr r3, [sp]
12118
- sub r3, r3, fp
12119
- str r3, [sp]
12120
- b .L1764
12121
-.L1767:
12122
- str r2, [r6, #8]
12123
- ldrh r2, [r4, #28]
12124
- cbnz r2, .L1806
12371
+.L1769:
12372
+ sub fp, fp, r10
12373
+ b .L1739
12374
+.L1742:
12375
+ str r3, [r6, #8]
12376
+ ldrh r3, [r4, #28]
12377
+ cmp r3, #0
12378
+ bne .L1745
1212512379 mov r0, r5
1212612380 bl allocate_new_data_superblock
12127
- b .L1769
12128
-.L1806:
12129
- mov r5, r3
12130
- b .L1766
12131
-.L1791:
12381
+ b .L1744
12382
+.L1781:
12383
+ ldr r5, .L1791+20
12384
+ b .L1744
12385
+.L1768:
1213212386 ldrh r3, [r5, #4]
1213312387 cmp r3, #0
12134
- beq .L1772
12135
- movs r2, #0
12388
+ beq .L1748
1213612389 add r1, sp, #44
12390
+ movs r2, #0
1213712391 mov r0, r7
12138
- mov r8, #20
1213912392 bl log2phys
1214012393 mov r0, r5
12141
- mul r8, r8, fp
1214212394 bl get_new_active_ppa
12143
- ldrh r2, [r4, #312]
12395
+ movs r3, #20
12396
+ mul r3, r3, r10
12397
+ str r3, [sp, #12]
12398
+ ldr r2, [sp, #12]
1214412399 ldr r3, [r4, #3296]
12145
- mul r1, r2, fp
12146
- add r3, r3, r8
12400
+ add r3, r3, r2
12401
+ ldrh r2, [r4, #312]
1214712402 str r0, [r3, #4]
12148
- str r7, [r3, #16]
12403
+ mul r1, r10, r2
1214912404 bic r1, r1, #3
1215012405 str r1, [sp, #28]
1215112406 ldr r0, [sp, #28]
1215212407 ldr r1, [r4, #3336]
12153
- add r9, r1, r0
1215412408 str r1, [sp, #32]
12155
- str r9, [r3, #12]
12409
+ add r9, r1, r0
1215612410 movs r1, #0
12411
+ strd r9, r7, [r3, #12]
1215712412 mov r0, r9
1215812413 bl ftl_memset
12414
+ ldr r3, [sp]
12415
+ ldrh r6, [r4, #258]
12416
+ cmp r7, r3
12417
+ beq .L1749
12418
+ ldr r2, [sp, #12]
12419
+ ldr r3, [r4, #3296]
12420
+ add r3, r3, r2
12421
+ ldr r2, [sp, #24]
12422
+ cmp r7, r2
12423
+ bne .L1787
1215912424 ldr r3, [sp, #4]
12160
- cmp r7, r3
12161
- beq .L1773
12162
- ldr r3, [sp, #20]
12163
- cmp r7, r3
12164
- bne .L1811
12165
- ldrh r2, [r4, #258]
12166
- ldr r3, [sp, #8]
12167
- smulbb r2, r2, r7
12168
- add r6, r10, r3
12425
+ add r2, r8, r3
12426
+ smulbb r3, r7, r6
12427
+ subs r6, r2, r3
1216912428 movs r3, #0
1217012429 str r3, [sp, #16]
12171
- subs r6, r6, r2
1217212430 uxth r6, r6
12173
- b .L1776
12174
-.L1773:
12175
- ldrh r6, [r4, #258]
12176
- mov r0, r10
12431
+ b .L1752
12432
+.L1749:
1217712433 mov r1, r6
12434
+ mov r0, r8
1217812435 bl __aeabi_uidivmod
12179
- ldr r3, [sp, #8]
12436
+ ldr r3, [sp, #4]
1218012437 subs r6, r6, r1
1218112438 str r1, [sp, #16]
1218212439 cmp r6, r3
1218312440 it cs
1218412441 movcs r6, r3
12185
-.L1776:
12186
- ldrh r3, [r4, #258]
12187
- cmp r6, r3
12188
- ldr r3, [sp, #4]
12189
- bne .L1777
12190
- cmp r7, r3
12442
+.L1752:
12443
+ ldrh r2, [r4, #258]
1219112444 ldr r3, [r4, #3296]
12192
- itte ne
12193
- mulne r6, r6, r7
12194
- ldrne r2, [sp, #12]
12195
- ldreq r2, [sp, #12]
12196
- add r3, r3, r8
12197
- itett ne
12198
- subne r6, r6, r10
12199
- streq r2, [r3, #8]
12200
- addne r6, r2, r6, lsl #9
12201
- strne r6, [r3, #8]
12202
-.L1779:
12445
+ ldr r1, [sp, #12]
12446
+ cmp r2, r6
12447
+ ldr r2, [sp]
12448
+ add r3, r3, r1
12449
+ bne .L1753
12450
+ cmp r7, r2
12451
+ bne .L1787
12452
+ ldr r2, [sp, #8]
12453
+ str r2, [r3, #8]
12454
+.L1755:
1220312455 ldrb r2, [r5, #6] @ zero_extendqisi2
1220412456 ldrh r3, [r4, #232]
1220512457 cmp r2, r3
12206
- bcc .L1788
12458
+ bcc .L1765
12459
+ ldr r1, .L1791+8
1220712460 movw r2, #1143
12208
- ldr r1, .L1815+12
12209
- ldr r0, .L1815+16
12461
+ ldr r0, .L1791+12
1221012462 bl sftl_printk
12211
-.L1788:
12212
- ldr r2, [sp, #32]
12463
+.L1765:
12464
+ ldrd r1, r2, [sp, #28]
1221312465 movw r3, #61589
12214
- ldr r1, [sp, #28]
12215
- add fp, fp, #1
12466
+ add r10, r10, #1
1221612467 strh r3, [r2, r1] @ movhi
12217
- ldr r3, [r4, #2592]
1221812468 str r7, [r9, #8]
1221912469 adds r7, r7, #1
12470
+ ldr r3, [r4, #2592]
1222012471 str r3, [r9, #4]
12221
- adds r3, r3, #1
1222212472 adds r2, r3, #1
12223
- it eq
12473
+ adds r3, r3, #2
12474
+ itee ne
12475
+ strne r2, [r4, #2592]
1222412476 moveq r3, #0
12225
- str r3, [r4, #2592]
12477
+ streq r3, [r4, #2592]
1222612478 ldr r3, [sp, #44]
1222712479 str r3, [r9, #12]
1222812480 ldrh r3, [r5]
1222912481 strh r3, [r9, #2] @ movhi
12230
- b .L1771
12231
-.L1816:
12232
- .align 2
12233
-.L1815:
12234
- .word __stack_chk_guard
12235
- .word .LANCHOR0
12236
- .word .LANCHOR2
12237
- .word .LANCHOR1+591
12238
- .word .LC8
12239
- .word .LANCHOR0+24
12240
-.L1777:
12241
- cmp r7, r3
12242
- ldr r3, [r4, #3296]
12482
+ b .L1747
12483
+.L1753:
12484
+ cmp r7, r2
1224312485 ite eq
1224412486 ldreq r2, [r4, #3312]
1224512487 ldrne r2, [r4, #3316]
12246
- add r3, r3, r8
1224712488 str r2, [r3, #8]
12248
- ldr r3, [sp, #44]
12249
- adds r0, r3, #1
12250
- beq .L1782
12251
- str r3, [sp, #52]
12252
- movs r1, #1
12253
- ldr r3, [r4, #3296]
12254
- add r0, sp, #48
12489
+ ldr r2, [sp, #44]
12490
+ adds r1, r2, #1
12491
+ beq .L1758
1225512492 str r7, [sp, #64]
12256
- add r3, r3, r8
12493
+ add r0, sp, #48
12494
+ str r2, [sp, #52]
12495
+ movs r1, #1
1225712496 ldr r2, [r3, #8]
12258
- ldr r3, [r3, #12]
1225912497 str r2, [sp, #56]
1226012498 movs r2, #0
12499
+ ldr r3, [r3, #12]
1226112500 str r3, [sp, #60]
1226212501 bl FlashReadPages
1226312502 ldr r3, [sp, #48]
12264
- adds r1, r3, #1
12265
- bne .L1783
12503
+ adds r2, r3, #1
12504
+ bne .L1759
1226612505 ldr r2, [r4, #2712]
12267
- ldr r0, .L1817
12506
+ ldr r0, .L1791+24
1226812507 adds r2, r2, #1
1226912508 str r2, [r4, #2712]
1227012509 mov r2, r7
1227112510 ldr r1, [r9, #8]
1227212511 bl sftl_printk
12273
-.L1786:
12274
- ldr r3, [sp, #4]
12512
+.L1763:
12513
+ ldr r3, [sp]
1227512514 lsls r2, r6, #9
1227612515 cmp r7, r3
12277
- bne .L1787
12278
- ldr r3, [r4, #3296]
12516
+ bne .L1764
1227912517 ldr r1, [sp, #12]
12280
- add r3, r3, r8
12518
+ ldr r3, [r4, #3296]
12519
+ add r3, r3, r1
12520
+ ldr r1, [sp, #8]
1228112521 ldr r0, [r3, #8]
1228212522 ldr r3, [sp, #16]
1228312523 add r0, r0, r3, lsl #9
12284
-.L1813:
12524
+.L1789:
1228512525 bl ftl_memcpy
12286
- b .L1779
12287
-.L1783:
12526
+ b .L1755
12527
+.L1792:
12528
+ .align 2
12529
+.L1791:
12530
+ .word .LANCHOR0
12531
+ .word .LANCHOR2
12532
+ .word .LANCHOR1+591
12533
+ .word .LC8
12534
+ .word .LANCHOR0+24
12535
+ .word .LANCHOR0+76
12536
+ .word .LC125
12537
+.L1759:
1228812538 ldr r3, [r9, #8]
12289
- cmp r7, r3
12290
- beq .L1785
12539
+ cmp r3, r7
12540
+ beq .L1763
1229112541 ldr r3, [r4, #2712]
1229212542 mov r2, r7
12293
- ldr r0, .L1817+4
12543
+ ldr r0, .L1793
1229412544 adds r3, r3, #1
1229512545 str r3, [r4, #2712]
1229612546 ldr r1, [r9, #8]
1229712547 bl sftl_printk
12298
-.L1785:
1229912548 ldr r3, [r9, #8]
12300
- cmp r7, r3
12301
- beq .L1786
12549
+ cmp r3, r7
12550
+ beq .L1763
12551
+ ldr r1, .L1793+4
1230212552 mov r2, #1128
12303
- ldr r1, .L1817+8
12304
- ldr r0, .L1817+12
12553
+ ldr r0, .L1793+8
1230512554 bl sftl_printk
12306
- b .L1786
12307
-.L1782:
12308
- ldr r3, [r4, #3296]
12309
- movs r1, #0
12555
+ b .L1763
12556
+.L1758:
1231012557 ldrh r2, [r4, #310]
12311
- add r3, r3, r8
12558
+ movs r1, #0
1231212559 ldr r0, [r3, #8]
1231312560 bl ftl_memset
12314
- b .L1786
12315
-.L1787:
12561
+ b .L1763
12562
+.L1764:
1231612563 ldrh r1, [r4, #258]
1231712564 ldr r0, [sp, #12]
1231812565 ldr r3, [r4, #3296]
1231912566 muls r1, r7, r1
12320
- add r3, r3, r8
12321
- sub r1, r1, r10
12567
+ add r3, r3, r0
12568
+ ldr r0, [sp, #8]
12569
+ sub r1, r1, r8
1232212570 add r1, r0, r1, lsl #9
1232312571 ldr r0, [r3, #8]
12324
- b .L1813
12325
-.L1811:
12326
- ldr r3, [r4, #3296]
12327
- ldr r2, [sp, #12]
12328
- add r8, r8, r3
12329
- ldrh r3, [r4, #258]
12330
- muls r3, r7, r3
12331
- sub r3, r3, r10
12332
- add r3, r2, r3, lsl #9
12333
- str r3, [r8, #8]
12334
- b .L1779
12335
-.L1794:
12572
+ b .L1789
12573
+.L1787:
12574
+ muls r6, r7, r6
12575
+ ldr r2, [sp, #8]
12576
+ sub r6, r6, r8
12577
+ add r6, r2, r6, lsl #9
12578
+ str r6, [r3, #8]
12579
+ b .L1755
12580
+.L1782:
1233612581 mov r5, #256
1233712582 movw r6, #65535
12338
-.L1797:
12583
+.L1771:
12584
+ ldrh r2, [r4, #222]
1233912585 ldrh r3, [r4, #172]
12586
+ ands r3, r3, r2
1234012587 cmp r3, r6
12341
- bne .L1795
12342
- ldrh r3, [r4, #222]
12343
- cmp r3, r6
12344
- bne .L1795
12588
+ bne .L1772
1234512589 movs r0, #0
1234612590 bl List_get_gc_head_node
1234712591 uxth r0, r0
1234812592 bl FtlGcRefreshBlock
12349
-.L1795:
12593
+.L1772:
1235012594 movs r1, #1
12351
- movs r3, #128
1235212595 mov r0, r1
12596
+ movs r3, #128
1235312597 strh r3, [r4, #3154] @ movhi
1235412598 strh r3, [r4, #3152] @ movhi
1235512599 bl rk_ftl_garbage_collect
....@@ -12358,21 +12602,16 @@
1235812602 bl rk_ftl_garbage_collect
1235912603 ldrh r3, [r4, #224]
1236012604 cmp r3, #2
12361
- bhi .L1796
12605
+ bhi .L1773
1236212606 subs r5, r5, #1
12363
- bne .L1797
12364
- b .L1796
12365
-.L1801:
12607
+ bne .L1771
12608
+ b .L1773
12609
+.L1777:
1236612610 mov r0, #-1
12367
- b .L1760
12368
-.L1798:
12369
- add sp, sp, #76
12370
- @ sp needed
12371
- pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
12372
-.L1818:
12611
+ b .L1734
12612
+.L1794:
1237312613 .align 2
12374
-.L1817:
12375
- .word .LC125
12614
+.L1793:
1237612615 .word .LC126
1237712616 .word .LANCHOR1+591
1237812617 .word .LC8
....@@ -12395,6 +12634,11 @@
1239512634 b rk_ftl_garbage_collect
1239612635 .fnend
1239712636 .size sftl_gc, .-sftl_gc
12637
+ .section .rodata.str1.1
12638
+.LC127:
12639
+ .ascii "%s hash error this.id =%x page =%x pre_id =%x hash "
12640
+ .ascii "=%x hash_r =%x\012\000"
12641
+ .text
1239812642 .align 1
1239912643 .global FtlLoadSysInfo
1240012644 .syntax unified
....@@ -12410,113 +12654,113 @@
1241012654 .save {r4, r5, r6, r7, r8, r9, r10, lr}
1241112655 .pad #16
1241212656 movs r1, #0
12413
- ldr r4, .L1850
12414
- ldr r3, [r4, #3300]
12657
+ ldr r4, .L1824
1241512658 ldrh r2, [r4, #240]
12416
- ldr r0, [r4, #72]
12659
+ ldr r3, [r4, #3300]
1241712660 str r3, [r4, #3460]
12418
- ldr r3, [r4, #3332]
12661
+ ldr r0, [r4, #72]
1241912662 lsls r2, r2, #1
12663
+ ldr r3, [r4, #3332]
1242012664 str r3, [r4, #3464]
1242112665 bl ftl_memset
1242212666 ldrh r0, [r4, #2624]
1242312667 movw r3, #65535
1242412668 cmp r0, r3
12425
- bne .L1821
12426
-.L1832:
12669
+ bne .L1797
12670
+.L1809:
1242712671 mov r0, #-1
12428
-.L1820:
12672
+.L1796:
1242912673 add sp, sp, #16
1243012674 @ sp needed
1243112675 pop {r4, r5, r6, r7, r8, r9, r10, pc}
12432
-.L1821:
12676
+.L1797:
1243312677 movs r1, #1
12434
- ldr r8, .L1850+20
12678
+ ldr r8, .L1824+4
1243512679 bl FtlGetLastWrittenPage
12436
- ldr r9, .L1850+4
12437
- addw r7, r4, #3452
12680
+ ldr r9, .L1824+8
1243812681 ldrsh r6, [r4, #2624]
1243912682 sxth r5, r0
12440
- adds r0, r0, #1
12441
- strh r0, [r4, #2626] @ movhi
12442
-.L1823:
12683
+ addw r7, r4, #3452
12684
+ adds r3, r5, #1
12685
+ strh r3, [r4, #2626] @ movhi
12686
+.L1799:
1244312687 cmp r5, #0
12444
- bge .L1829
12688
+ bge .L1806
12689
+ ldr r1, .L1824+8
1244512690 movw r2, #1474
12446
- ldr r1, .L1850+4
12447
- ldr r0, .L1850+8
12691
+ ldr r0, .L1824+12
1244812692 bl sftl_printk
12449
- b .L1828
12450
-.L1829:
12693
+ b .L1805
12694
+.L1806:
1245112695 orr r3, r5, r6, lsl #10
1245212696 movs r2, #1
12453
- mov r1, r2
1245412697 str r3, [r4, #3456]
12455
- mov r0, r7
12698
+ mov r1, r2
1245612699 ldr r3, [r4, #3300]
12700
+ mov r0, r7
1245712701 str r3, [r4, #3460]
1245812702 bl FlashReadPages
1245912703 ldr r3, [r4, #3464]
1246012704 ldr r10, [r3, #12]
12461
- cmp r10, #0
12462
- beq .L1824
1246312705 ldr r3, [r4, #3452]
12706
+ cmp r10, #0
12707
+ beq .L1800
1246412708 adds r3, r3, #1
12465
- beq .L1824
12709
+ beq .L1801
1246612710 ldrh r1, [r4, #310]
1246712711 ldr r0, [r4, #3460]
1246812712 bl js_hash
1246912713 cmp r10, r0
12470
- beq .L1824
12714
+ beq .L1802
1247112715 ldrh r3, [r4, #2628]
1247212716 mov r2, r6
12473
- str r0, [sp, #8]
12717
+ strd r10, r0, [sp, #4]
1247412718 mov r1, r9
12475
- str r10, [sp, #4]
1247612719 str r3, [sp]
1247712720 mov r3, r5
12478
- ldr r0, .L1850+12
12721
+ ldr r0, .L1824+16
1247912722 bl sftl_printk
12480
- cbnz r5, .L1825
12723
+ cbnz r5, .L1803
1248112724 ldrh r3, [r4, #2628]
1248212725 cmp r6, r3
12483
- beq .L1825
12726
+ beq .L1803
1248412727 ldrh r5, [r4, #304]
1248512728 sxth r6, r3
12486
-.L1827:
12729
+.L1801:
1248712730 subs r5, r5, #1
1248812731 sxth r5, r5
12489
- b .L1823
12490
-.L1825:
12732
+ b .L1799
12733
+.L1803:
1249112734 mov r3, #-1
1249212735 str r3, [r4, #3452]
12493
-.L1824:
12494
- ldr r3, [r4, #3452]
12736
+ b .L1801
12737
+.L1800:
1249512738 adds r3, r3, #1
12496
- beq .L1827
12739
+ beq .L1801
12740
+.L1802:
1249712741 ldr r3, [r4, #3300]
1249812742 ldr r3, [r3]
1249912743 cmp r3, r8
12500
- bne .L1827
12744
+ bne .L1801
1250112745 ldr r3, [r4, #3332]
1250212746 ldrh r2, [r3]
1250312747 movw r3, #61604
1250412748 cmp r2, r3
12505
- bne .L1827
12506
-.L1828:
12749
+ bne .L1801
12750
+.L1805:
1250712751 ldrh r3, [r4, #240]
1250812752 ldrh r2, [r4, #310]
1250912753 adds r3, r3, #24
1251012754 cmp r2, r3, lsl #1
12511
- bcs .L1831
12755
+ bcs .L1808
12756
+ ldr r1, .L1824+8
1251212757 movw r2, #1476
12513
- ldr r1, .L1850+4
12514
- ldr r0, .L1850+8
12758
+ ldr r0, .L1824+12
1251512759 bl sftl_printk
12516
-.L1831:
12517
- movs r2, #48
12760
+.L1808:
1251812761 ldr r1, [r4, #3460]
12519
- ldr r0, .L1850+16
12762
+ movs r2, #48
12763
+ ldr r0, .L1824+20
1252012764 bl ftl_memcpy
1252112765 ldrh r2, [r4, #240]
1252212766 ldr r1, [r4, #3460]
....@@ -12525,80 +12769,79 @@
1252512769 adds r1, r1, #48
1252612770 bl ftl_memcpy
1252712771 ldr r2, [r4, #2468]
12528
- ldr r3, .L1850+20
12772
+ ldr r3, .L1824+4
1252912773 cmp r2, r3
12530
- bne .L1832
12774
+ bne .L1809
1253112775 ldrb r2, [r4, #2478] @ zero_extendqisi2
1253212776 ldrh r3, [r4, #254]
1253312777 ldrh r5, [r4, #2476]
1253412778 cmp r2, r3
1253512779 strh r5, [r4, #2630] @ movhi
12536
- bne .L1832
12780
+ bne .L1809
1253712781 ldrh r3, [r4, #302]
1253812782 ldrh r2, [r4, #258]
12539
- ldr r6, [r4, #244]
1254012783 ldrh r0, [r4, #358]
12784
+ ldr r6, [r4, #244]
1254112785 muls r3, r5, r3
12542
- str r5, [r4, #3672]
12543
- ldrh r1, [r4, #232]
12544
- subs r0, r6, r0
12545
- subs r0, r0, r5
12786
+ add r0, r0, r5
1254612787 str r3, [r4, #2552]
12788
+ subs r0, r6, r0
12789
+ ldrh r1, [r4, #232]
12790
+ str r5, [r4, #3672]
1254712791 muls r3, r2, r3
1254812792 str r3, [r4, #340]
1254912793 bl __aeabi_uidiv
1255012794 cmp r5, r6
1255112795 strh r0, [r4, #2620] @ movhi
12552
- bls .L1833
12796
+ bls .L1810
12797
+ ldr r1, .L1824+8
1255312798 movw r2, #1498
12554
- ldr r1, .L1850+4
12555
- ldr r0, .L1850+8
12799
+ ldr r0, .L1824+12
1255612800 bl sftl_printk
12557
-.L1833:
12801
+.L1810:
1255812802 ldrh r3, [r4, #2484]
1255912803 ldrh r1, [r4, #2482]
12804
+ strh r1, [r4, #24] @ movhi
1256012805 lsrs r2, r3, #6
12561
- and r3, r3, #63
12562
- strb r3, [r4, #30]
1256312806 strh r2, [r4, #26] @ movhi
1256412807 ldrh r2, [r4, #2486]
12565
- ldrb r3, [r4, #2479] @ zero_extendqisi2
12566
- strh r1, [r4, #24] @ movhi
12808
+ and r3, r3, #63
1256712809 strh r2, [r4, #76] @ movhi
1256812810 ldrh r2, [r4, #2488]
12569
- strb r3, [r4, #32]
12570
- movw r3, #65535
12571
- strh r3, [r4, #172] @ movhi
12572
- movs r3, #0
12573
- strh r3, [r4, #174] @ movhi
12811
+ strb r3, [r4, #30]
12812
+ ldrb r3, [r4, #2479] @ zero_extendqisi2
1257412813 lsrs r0, r2, #6
1257512814 and r2, r2, #63
1257612815 strb r2, [r4, #82]
1257712816 ldrb r2, [r4, #2480] @ zero_extendqisi2
12578
- strh r0, [r4, #78] @ movhi
12579
- strb r3, [r4, #178]
1258012817 strb r2, [r4, #84]
1258112818 ldrh r2, [r4, #2490]
12582
- strb r3, [r4, #180]
12583
- str r3, [r4, #2576]
1258412819 strh r2, [r4, #124] @ movhi
1258512820 ldrh r2, [r4, #2492]
12586
- str r3, [r4, #2564]
12587
- str r3, [r4, #2556]
12588
- str r3, [r4, #2572]
12821
+ strh r0, [r4, #78] @ movhi
12822
+ strb r3, [r4, #32]
12823
+ movw r3, #65535
1258912824 lsrs r0, r2, #6
1259012825 and r2, r2, #63
1259112826 strb r2, [r4, #130]
1259212827 ldrb r2, [r4, #2481] @ zero_extendqisi2
12593
- str r3, [r4, #2600]
12594
- strh r0, [r4, #126] @ movhi
1259512828 strb r2, [r4, #132]
1259612829 ldr r2, [r4, #2500]
12830
+ str r3, [r4, #172]
12831
+ movs r3, #0
1259712832 str r2, [r4, #2596]
12833
+ strb r3, [r4, #178]
12834
+ strb r3, [r4, #180]
12835
+ str r3, [r4, #2576]
12836
+ str r3, [r4, #2564]
12837
+ str r3, [r4, #2556]
12838
+ str r3, [r4, #2572]
12839
+ str r3, [r4, #2600]
1259812840 str r3, [r4, #2612]
12599
- ldr r2, [r4, #2588]
12841
+ strh r0, [r4, #126] @ movhi
1260012842 str r3, [r4, #2568]
1260112843 ldr r3, [r4, #2508]
12844
+ ldr r2, [r4, #2588]
1260212845 cmp r3, r2
1260312846 ldr r2, [r4, #2592]
1260412847 it hi
....@@ -12609,48 +12852,56 @@
1260912852 strhi r3, [r4, #2592]
1261012853 movw r3, #65535
1261112854 cmp r1, r3
12612
- beq .L1836
12613
- ldr r0, .L1850+24
12855
+ beq .L1813
12856
+ ldr r0, .L1824+24
1261412857 bl make_superblock
12615
-.L1836:
12858
+.L1813:
1261612859 ldrh r2, [r4, #76]
1261712860 movw r3, #65535
1261812861 cmp r2, r3
12619
- beq .L1837
12620
- ldr r0, .L1850+28
12862
+ beq .L1814
12863
+ ldr r0, .L1824+28
1262112864 bl make_superblock
12622
-.L1837:
12865
+.L1814:
1262312866 ldrh r2, [r4, #124]
1262412867 movw r3, #65535
1262512868 cmp r2, r3
12626
- beq .L1838
12627
- ldr r0, .L1850+32
12869
+ beq .L1815
12870
+ ldr r0, .L1824+32
1262812871 bl make_superblock
12629
-.L1838:
12872
+.L1815:
1263012873 ldrh r2, [r4, #172]
1263112874 movw r3, #65535
1263212875 cmp r2, r3
12633
- beq .L1839
12634
- ldr r0, .L1850+36
12876
+ beq .L1816
12877
+ ldr r0, .L1824+36
1263512878 bl make_superblock
12636
-.L1839:
12879
+.L1816:
1263712880 movs r0, #0
12638
- b .L1820
12639
-.L1851:
12881
+ b .L1796
12882
+.L1825:
1264012883 .align 2
12641
-.L1850:
12884
+.L1824:
1264212885 .word .LANCHOR0
12886
+ .word 1179929683
1264312887 .word .LANCHOR1+600
1264412888 .word .LC8
1264512889 .word .LC127
1264612890 .word .LANCHOR0+2468
12647
- .word 1179929683
1264812891 .word .LANCHOR0+24
1264912892 .word .LANCHOR0+76
1265012893 .word .LANCHOR0+124
1265112894 .word .LANCHOR0+172
1265212895 .fnend
1265312896 .size FtlLoadSysInfo, .-FtlLoadSysInfo
12897
+ .section .rodata.str1.1
12898
+.LC128:
12899
+ .ascii "%s last blk_id =%x page =%x hash error hash =%x has"
12900
+ .ascii "h_r =%x\012\000"
12901
+.LC129:
12902
+ .ascii "%s scan blk_id =%x page =%x hash error hash =%x has"
12903
+ .ascii "h_r =%x\012\000"
12904
+ .text
1265412905 .align 1
1265512906 .global FtlMapTblRecovery
1265612907 .syntax unified
....@@ -12660,89 +12911,93 @@
1266012911 .type FtlMapTblRecovery, %function
1266112912 FtlMapTblRecovery:
1266212913 .fnstart
12663
- @ args = 0, pretend = 0, frame = 24
12914
+ @ args = 0, pretend = 0, frame = 32
1266412915 @ frame_needed = 0, uses_anonymous_args = 0
1266512916 push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
1266612917 .save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
12667
- .pad #36
12668
- sub sp, sp, #36
12669
- ldr r3, [r0, #24]
1267012918 mov r5, r0
12919
+ ldr r4, .L1865
12920
+ .pad #44
12921
+ sub sp, sp, #44
12922
+ ldr r3, [r0, #24]
1267112923 movs r1, #0
12672
- ldrh r10, [r0, #6]
12673
- str r3, [sp, #8]
12924
+ addw r9, r4, #3452
12925
+ movs r7, #0
12926
+ str r3, [sp, #12]
12927
+ ldr r3, [r0, #12]
12928
+ str r3, [sp, #24]
1267412929 ldr r3, [r0, #16]
12675
- ldr r4, .L1893
12676
- ldr r9, [r0, #12]
12677
- lsl r2, r10, #2
12930
+ str r3, [sp, #32]
12931
+ ldrh r3, [r0, #6]
1267812932 str r3, [sp, #16]
1267912933 ldrh r3, [r0, #8]
12680
- ldr r0, [sp, #8]
12681
- str r3, [sp, #12]
12934
+ str r3, [sp, #28]
12935
+ ldr r3, [sp, #16]
12936
+ ldr r0, [sp, #12]
12937
+ lsls r2, r3, #2
1268212938 bl ftl_memset
1268312939 ldr r3, [r4, #3300]
12684
- movs r2, #1
1268512940 ldr fp, [r4, #3332]
12686
- str r2, [r5, #36]
1268712941 str r3, [r4, #3460]
12688
- movw r3, #65535
12942
+ mov r3, #-1
1268912943 str fp, [r4, #3464]
12690
- strh r3, [r5] @ movhi
12691
- strh r3, [r5, #2] @ movhi
12692
- movs r3, #0
12693
- mov r8, r3
12694
- str r3, [r5, #32]
12695
- str r3, [r5, #28]
12696
-.L1853:
12697
- ldr r3, [sp, #12]
12698
- sxth r6, r8
12944
+ strd r7, r7, [r5, #28]
12945
+ str r3, [r5]
12946
+ movs r3, #1
12947
+ str r3, [r5, #36]
12948
+.L1827:
12949
+ ldr r3, [sp, #28]
12950
+ sxth r6, r7
12951
+ uxth r8, r7
1269912952 cmp r6, r3
12700
- bge .L1872
12701
- ldr r3, [sp, #12]
12702
- lsls r7, r6, #1
12953
+ bge .L1847
12954
+ ldr r3, [sp, #24]
12955
+ add r3, r3, r6, lsl #1
12956
+ str r3, [sp, #20]
12957
+ ldr r3, [sp, #28]
1270312958 subs r3, r3, #1
12704
- cmp r6, r3
12705
- bne .L1854
12959
+ cmp r3, r6
12960
+ bne .L1828
12961
+ ldr r3, [sp, #20]
1270612962 movs r1, #1
12707
- ldrh r0, [r9, r6, lsl #1]
12963
+ ldr r10, .L1865+4
12964
+ ldrh r0, [r3]
1270812965 bl FtlGetLastWrittenPage
12709
- sxth r3, r0
12710
- adds r0, r0, #1
12966
+ sxth r7, r0
12967
+ adds r3, r7, #1
12968
+ strh r3, [r5, #2] @ movhi
12969
+ ldr r3, [sp, #32]
1271112970 strh r8, [r5] @ movhi
12712
- add r7, r7, r9
12713
- str r3, [sp, #12]
1271412971 mov r8, #0
12715
- ldr r3, [sp, #16]
12716
- strh r0, [r5, #2] @ movhi
1271712972 ldr r3, [r3, r6, lsl #2]
1271812973 str r3, [r5, #28]
12719
-.L1855:
12720
- ldr r3, [sp, #12]
12974
+.L1829:
1272112975 sxth r9, r8
12722
- adds r2, r3, #1
12976
+ adds r2, r7, #1
1272312977 cmp r9, r2
12724
- blt .L1858
12725
-.L1872:
12978
+ blt .L1833
12979
+.L1847:
1272612980 mov r0, r5
1272712981 bl ftl_free_no_use_map_blk
1272812982 ldrh r2, [r5, #2]
1272912983 ldrh r3, [r4, #304]
1273012984 cmp r2, r3
12731
- bne .L1860
12985
+ bne .L1835
1273212986 mov r0, r5
1273312987 bl ftl_map_blk_alloc_new_blk
12734
-.L1860:
12988
+.L1835:
1273512989 mov r0, r5
1273612990 bl ftl_map_blk_gc
1273712991 mov r0, r5
1273812992 bl ftl_map_blk_gc
1273912993 movs r0, #0
12740
- add sp, sp, #36
12994
+ add sp, sp, #44
1274112995 @ sp needed
1274212996 pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
12743
-.L1858:
12744
- ldrh r2, [r7]
12745
- ldr r0, .L1893+4
12997
+.L1833:
12998
+ ldr r3, [sp, #20]
12999
+ ldr r0, .L1865+8
13000
+ ldrh r2, [r3]
1274613001 orr r2, r9, r2, lsl #10
1274713002 str r2, [r4, #3456]
1274813003 movs r2, #1
....@@ -12750,50 +13005,51 @@
1275013005 bl FlashReadPages
1275113006 ldr r2, [r4, #3464]
1275213007 ldr r2, [r2, #12]
12753
- str r2, [sp, #16]
12754
- cbz r2, .L1856
13008
+ str r2, [sp, #24]
13009
+ cbz r2, .L1830
1275513010 ldr r1, [r4, #3452]
1275613011 adds r1, r1, #1
12757
- beq .L1856
13012
+ beq .L1848
1275813013 ldrh r1, [r4, #310]
1275913014 ldr r0, [r4, #3460]
1276013015 bl js_hash
12761
- ldr r2, [sp, #16]
13016
+ ldr r2, [sp, #24]
1276213017 cmp r2, r0
12763
- beq .L1856
12764
- str r0, [sp, #4]
13018
+ beq .L1832
13019
+ strd r2, r0, [sp]
1276513020 mov r3, r9
12766
- str r2, [sp]
13021
+ ldr r0, .L1865+12
1276713022 mov r2, r6
12768
- ldr r1, .L1893+8
12769
- ldr r0, .L1893+12
13023
+ mov r1, r10
1277013024 bl sftl_printk
1277113025 mov r3, #-1
1277213026 str r3, [r4, #3452]
12773
-.L1856:
13027
+.L1848:
13028
+ add r8, r8, #1
13029
+ b .L1829
13030
+.L1830:
1277413031 ldr r3, [r4, #3452]
1277513032 adds r3, r3, #1
12776
- beq .L1857
13033
+ beq .L1848
13034
+.L1832:
1277713035 ldrh r3, [fp, #8]
12778
- cmp r10, r3
12779
- bls .L1857
13036
+ ldr r2, [sp, #16]
13037
+ cmp r3, r2
13038
+ bcs .L1848
1278013039 ldrh r1, [fp]
1278113040 ldrh r2, [r5, #4]
1278213041 cmp r1, r2
1278313042 ittt eq
13043
+ ldreq r1, [sp, #12]
1278413044 ldreq r2, [r4, #3456]
12785
- ldreq r1, [sp, #8]
1278613045 streq r2, [r1, r3, lsl #2]
12787
-.L1857:
12788
- add r8, r8, #1
12789
- b .L1855
12790
-.L1854:
13046
+ b .L1848
13047
+.L1828:
1279113048 ldr r3, [r4, #3300]
12792
- ldr r0, .L1893+4
13049
+ mov r0, r9
1279313050 str r3, [r4, #3460]
12794
- add r3, r9, r7
12795
- ldrh r2, [r9, r6, lsl #1]
12796
- str r3, [sp, #20]
13051
+ ldr r3, [sp, #24]
13052
+ ldrh r2, [r3, r6, lsl #1]
1279713053 ldrh r3, [r4, #304]
1279813054 subs r3, r3, #1
1279913055 orr r3, r3, r2, lsl #10
....@@ -12803,101 +13059,106 @@
1280313059 bl FlashReadPages
1280413060 ldr r3, [r4, #3452]
1280513061 adds r3, r3, #1
12806
- beq .L1874
13062
+ beq .L1851
1280713063 ldrh r2, [fp]
1280813064 ldrh r3, [r5, #4]
1280913065 cmp r2, r3
12810
- bne .L1874
13066
+ bne .L1851
1281113067 ldrh r2, [fp, #8]
1281213068 movw r3, #64245
1281313069 cmp r2, r3
12814
- beq .L1862
12815
-.L1874:
12816
- movs r7, #0
12817
-.L1863:
12818
- ldrh r2, [r4, #304]
12819
- sxth r3, r7
12820
- cmp r3, r2
12821
- bge .L1870
12822
- ldr r2, [sp, #20]
12823
- ldr r0, .L1893+4
12824
- str r3, [sp, #28]
12825
- ldrh r2, [r2]
12826
- orr r2, r3, r2, lsl #10
13070
+ beq .L1852
13071
+.L1851:
13072
+ mov r8, #0
13073
+ b .L1843
13074
+.L1839:
13075
+ ldr r2, [r4, #3300]
13076
+ lsls r6, r0, #3
13077
+ ldr ip, [sp, #16]
13078
+ ldr r3, [r2, r0, lsl #3]
13079
+ uxth r0, r3
13080
+ cmp ip, r0
13081
+ bls .L1838
13082
+ add r2, r2, r6
13083
+ mov r3, r0
13084
+ ldr r0, [sp, #12]
13085
+ ldr r2, [r2, #4]
13086
+ str r2, [r0, r3, lsl #2]
13087
+.L1838:
13088
+ adds r1, r1, #1
13089
+.L1837:
13090
+ ldrh r3, [r4, #304]
13091
+ sxth r0, r1
13092
+ subs r3, r3, #1
13093
+ cmp r0, r3
13094
+ blt .L1839
13095
+.L1845:
13096
+ adds r7, r7, #1
13097
+ b .L1827
13098
+.L1852:
13099
+ movs r1, #0
13100
+ b .L1837
13101
+.L1844:
13102
+ ldr r3, [sp, #20]
13103
+ mov r0, r9
13104
+ ldrh r2, [r3]
13105
+ orr r2, r10, r2, lsl #10
1282713106 str r2, [r4, #3456]
1282813107 movs r2, #1
1282913108 mov r1, r2
1283013109 bl FlashReadPages
1283113110 ldr r2, [r4, #3464]
1283213111 ldr r2, [r2, #12]
12833
- str r2, [sp, #24]
12834
- cbz r2, .L1867
13112
+ str r2, [sp, #36]
13113
+ cbz r2, .L1840
1283513114 ldr r1, [r4, #3452]
1283613115 adds r1, r1, #1
12837
- beq .L1867
13116
+ beq .L1849
1283813117 ldrh r1, [r4, #310]
1283913118 ldr r0, [r4, #3460]
1284013119 bl js_hash
12841
- ldr r2, [sp, #24]
13120
+ ldr r2, [sp, #36]
1284213121 cmp r2, r0
12843
- beq .L1867
12844
- str r0, [sp, #4]
12845
- str r2, [sp]
13122
+ beq .L1842
13123
+ strd r2, r0, [sp]
13124
+ mov r3, r10
13125
+ ldr r1, .L1865+4
1284613126 mov r2, r6
12847
- ldr r3, [sp, #28]
12848
- ldr r1, .L1893+8
12849
- ldr r0, .L1893+16
13127
+ ldr r0, .L1865+16
1285013128 bl sftl_printk
1285113129 mov r3, #-1
1285213130 str r3, [r4, #3452]
12853
-.L1867:
13131
+.L1849:
13132
+ add r8, r8, #1
13133
+.L1843:
13134
+ ldrh r2, [r4, #304]
13135
+ sxth r10, r8
13136
+ cmp r10, r2
13137
+ blt .L1844
13138
+ b .L1845
13139
+.L1840:
1285413140 ldr r3, [r4, #3452]
1285513141 adds r3, r3, #1
12856
- beq .L1868
13142
+ beq .L1849
13143
+.L1842:
1285713144 ldrh r3, [fp, #8]
12858
- cmp r10, r3
12859
- bls .L1868
13145
+ ldr r2, [sp, #16]
13146
+ cmp r3, r2
13147
+ bcs .L1849
1286013148 ldrh r1, [fp]
1286113149 ldrh r2, [r5, #4]
1286213150 cmp r1, r2
1286313151 ittt eq
13152
+ ldreq r1, [sp, #12]
1286413153 ldreq r2, [r4, #3456]
12865
- ldreq r1, [sp, #8]
1286613154 streq r2, [r1, r3, lsl #2]
12867
-.L1868:
12868
- adds r7, r7, #1
12869
- b .L1863
12870
-.L1862:
12871
- movs r1, #0
12872
- movs r0, #4
12873
-.L1864:
12874
- ldrh r2, [r4, #304]
12875
- sxth r3, r1
12876
- subs r2, r2, #1
12877
- cmp r3, r2
12878
- blt .L1866
12879
-.L1870:
12880
- add r8, r8, #1
12881
- b .L1853
13155
+ b .L1849
1288213156 .L1866:
12883
- ldr r6, [r4, #3300]
12884
- ldr r2, [r6, r3, lsl #3]
12885
- uxth r7, r2
12886
- cmp r10, r7
12887
- bls .L1865
12888
- add r3, r0, r3, lsl #3
12889
- ldr r3, [r6, r3]
12890
- ldr r6, [sp, #8]
12891
- str r3, [r6, r7, lsl #2]
12892
-.L1865:
12893
- adds r1, r1, #1
12894
- b .L1864
12895
-.L1894:
1289613157 .align 2
12897
-.L1893:
13158
+.L1865:
1289813159 .word .LANCHOR0
12899
- .word .LANCHOR0+3452
1290013160 .word .LANCHOR1+615
13161
+ .word .LANCHOR0+3452
1290113162 .word .LC128
1290213163 .word .LC129
1290313164 .fnend
....@@ -12913,7 +13174,7 @@
1291313174 .fnstart
1291413175 @ args = 0, pretend = 0, frame = 0
1291513176 @ frame_needed = 0, uses_anonymous_args = 0
12916
- ldr r0, .L1896
13177
+ ldr r0, .L1868
1291713178 push {r3, lr}
1291813179 .save {r3, lr}
1291913180 ldrh r3, [r0, #320]
....@@ -12936,9 +13197,9 @@
1293613197 bl FtlMapTblRecovery
1293713198 movs r0, #0
1293813199 pop {r3, pc}
12939
-.L1897:
13200
+.L1869:
1294013201 .align 2
12941
-.L1896:
13202
+.L1868:
1294213203 .word .LANCHOR0
1294313204 .fnend
1294413205 .size FtlLoadVonderInfo, .-FtlLoadVonderInfo
....@@ -12956,13 +13217,13 @@
1295613217 push {r3, lr}
1295713218 .save {r3, lr}
1295813219 bl FtlL2PDataInit
12959
- ldr r0, .L1899
13220
+ ldr r0, .L1871
1296013221 bl FtlMapTblRecovery
1296113222 movs r0, #0
1296213223 pop {r3, pc}
12963
-.L1900:
13224
+.L1872:
1296413225 .align 2
12965
-.L1899:
13226
+.L1871:
1296613227 .word .LANCHOR0+3392
1296713228 .fnend
1296813229 .size FtlLoadMapInfo, .-FtlLoadMapInfo
....@@ -12980,7 +13241,7 @@
1298013241 push {r4, r5, r6, lr}
1298113242 .save {r4, r5, r6, lr}
1298213243 movs r3, #0
12983
- ldr r4, .L1917
13244
+ ldr r4, .L1889
1298413245 ldrh r0, [r4, #236]
1298513246 strh r3, [r4, #3472] @ movhi
1298613247 bl FtlFreeSysBlkQueueInit
....@@ -12988,17 +13249,17 @@
1298813249 ldrh r2, [r4, #2624]
1298913250 movw r3, #65535
1299013251 cmp r2, r3
12991
- bne .L1902
12992
-.L1904:
13252
+ bne .L1874
13253
+.L1876:
1299313254 mov r5, #-1
12994
-.L1901:
13255
+.L1873:
1299513256 mov r0, r5
1299613257 pop {r4, r5, r6, pc}
12997
-.L1902:
13258
+.L1874:
1299813259 bl FtlLoadSysInfo
1299913260 mov r5, r0
1300013261 cmp r0, #0
13001
- bne .L1904
13262
+ bne .L1876
1300213263 bl FtlLoadMapInfo
1300313264 bl FtlLoadVonderInfo
1300413265 bl Ftl_load_ext_data
....@@ -13008,27 +13269,28 @@
1300813269 bl FtlPowerLostRecovery
1300913270 movs r0, #1
1301013271 bl FtlUpdateVaildLpn
13272
+ ldr r2, [r4, #2540]
1301113273 ldrh r1, [r4, #338]
1301213274 mov r3, r5
13013
- ldr r2, [r4, #2540]
13275
+ adds r2, r2, #4
1301413276 movs r0, #12
13015
-.L1905:
13277
+.L1877:
1301613278 cmp r3, r1
13017
- bge .L1910
13018
- mla r6, r0, r3, r2
13019
- ldr r6, [r6, #4]
13279
+ bge .L1882
13280
+ mul r6, r0, r3
13281
+ ldr r6, [r2, r6]
1302013282 cmp r6, #0
13021
- bge .L1906
13022
-.L1910:
13283
+ bge .L1878
13284
+.L1882:
1302313285 ldrh r2, [r4, #2496]
1302413286 cmp r3, r1
1302513287 add r2, r2, #1
1302613288 strh r2, [r4, #2496] @ movhi
13027
- bge .L1916
13028
-.L1907:
13029
- ldr r0, .L1917+4
13289
+ bge .L1888
13290
+.L1879:
13291
+ ldr r0, .L1889+4
1303013292 bl FtlSuperblockPowerLostFix
13031
- ldr r0, .L1917+8
13293
+ ldr r0, .L1889+8
1303213294 bl FtlSuperblockPowerLostFix
1303313295 ldrh r1, [r4, #24]
1303413296 ldr r2, [r4, #72]
....@@ -13036,9 +13298,9 @@
1303613298 ldrh r3, [r2, r1, lsl #1]
1303713299 subs r3, r3, r0
1303813300 strh r3, [r2, r1, lsl #1] @ movhi
13039
- ldrh r3, [r4, #302]
13040
- ldr r1, [r4, #72]
1304113301 ldrh r0, [r4, #76]
13302
+ ldr r1, [r4, #72]
13303
+ ldrh r3, [r4, #302]
1304213304 strh r3, [r4, #26] @ movhi
1304313305 movs r3, #0
1304413306 strb r3, [r4, #30]
....@@ -13057,37 +13319,38 @@
1305713319 bl l2p_flush
1305813320 bl FtlVpcTblFlush
1305913321 bl FtlVpcTblFlush
13060
- b .L1911
13061
-.L1906:
13322
+ b .L1883
13323
+.L1878:
1306213324 adds r3, r3, #1
13063
- b .L1905
13064
-.L1916:
13325
+ b .L1877
13326
+.L1888:
1306513327 ldrh r3, [r4, #3472]
1306613328 cmp r3, #0
13067
- bne .L1907
13068
-.L1911:
13329
+ bne .L1879
13330
+.L1883:
1306913331 ldrh r0, [r4, #24]
1307013332 movw r3, #65535
1307113333 cmp r0, r3
13072
- beq .L1912
13334
+ beq .L1884
1307313335 ldrh r3, [r4, #28]
13074
- cbnz r3, .L1912
13075
- ldrh r3, [r4, #80]
13076
- cbnz r3, .L1912
13336
+ ldrh r2, [r4, #80]
13337
+ orrs r3, r3, r2
13338
+ uxth r3, r3
13339
+ cbnz r3, .L1884
1307713340 bl FtlGcRefreshBlock
1307813341 ldrh r0, [r4, #76]
1307913342 bl FtlGcRefreshBlock
1308013343 bl FtlVpcTblFlush
13081
- ldr r0, .L1917+4
13344
+ ldr r0, .L1889+4
1308213345 bl allocate_new_data_superblock
13083
- ldr r0, .L1917+8
13346
+ ldr r0, .L1889+8
1308413347 bl allocate_new_data_superblock
13085
-.L1912:
13348
+.L1884:
1308613349 bl FtlVpcCheckAndModify
13087
- b .L1901
13088
-.L1918:
13350
+ b .L1873
13351
+.L1890:
1308913352 .align 2
13090
-.L1917:
13353
+.L1889:
1309113354 .word .LANCHOR0
1309213355 .word .LANCHOR0+24
1309313356 .word .LANCHOR0+76
....@@ -13107,142 +13370,138 @@
1310713370 push {r3, r4, r5, r6, r7, r8, r9, lr}
1310813371 .save {r3, r4, r5, r6, r7, r8, r9, lr}
1310913372 movs r3, #0
13110
- ldr r4, .L1943
13373
+ ldr r4, .L1915
1311113374 ldrh r0, [r4, #236]
1311213375 str r3, [r4, #2588]
1311313376 str r3, [r4, #2592]
1311413377 str r3, [r4, #2604]
1311513378 bl FtlFreeSysBlkQueueInit
1311613379 bl FtlLoadBbt
13117
- cbz r0, .L1920
13380
+ cbz r0, .L1892
1311813381 bl FtlMakeBbt
13119
-.L1920:
13120
- ldr r0, .L1943+4
13382
+.L1892:
13383
+ ldr r0, .L1915+4
1312113384 movs r2, #0
13122
-.L1921:
13385
+.L1893:
1312313386 ldrh r1, [r4, #258]
1312413387 uxth r3, r2
1312513388 adds r2, r2, #1
1312613389 cmp r3, r1, lsl #7
13127
- blt .L1922
13390
+ blt .L1894
1312813391 ldrh r6, [r4, #240]
1312913392 movs r5, #0
13130
-.L1923:
13393
+.L1895:
1313113394 ldrh r3, [r4, #242]
1313213395 cmp r3, r6
13133
- bhi .L1924
13396
+ bhi .L1896
1313413397 ldrh r1, [r4, #232]
1313513398 subs r3, r5, #3
1313613399 cmp r3, r1, lsl #1
13137
- bge .L1925
13138
-.L1929:
13400
+ bge .L1897
13401
+.L1901:
1313913402 movs r5, #0
13140
- mov r6, r5
13141
-.L1926:
13403
+ mov r8, r5
13404
+.L1898:
1314213405 ldrh r3, [r4, #240]
1314313406 uxth r0, r5
13144
- adds r5, r5, #1
1314513407 cmp r3, r0
13146
- bhi .L1930
13147
- ldrh r3, [r4, #242]
13408
+ bhi .L1902
1314813409 ldrh r5, [r4, #232]
1314913410 ldr r9, [r4, #244]
13150
- str r3, [r4, #3284]
13411
+ ldrh r3, [r4, #242]
1315113412 mov r1, r5
1315213413 mov r0, r9
13414
+ str r3, [r4, #3284]
1315313415 bl __aeabi_uidiv
1315413416 ubfx r7, r0, #5, #16
13155
- mov r8, r0
1315613417 add r3, r7, #36
13157
- str r0, [r4, #2552]
1315813418 strh r3, [r4, #2620] @ movhi
1315913419 movs r3, #24
13160
- muls r3, r5, r3
13161
- cmp r6, r3
13162
- ble .L1931
13163
- mov r1, r5
13164
- sub r0, r9, r6
13165
- bl __aeabi_uidiv
13420
+ mov r6, r0
1316613421 str r0, [r4, #2552]
13167
- lsrs r0, r0, #5
13168
- adds r0, r0, #24
13169
- strh r0, [r4, #2620] @ movhi
13170
-.L1931:
13422
+ muls r3, r5, r3
13423
+ cmp r8, r3
13424
+ ble .L1903
13425
+ mov r1, r5
13426
+ sub r0, r9, r8
13427
+ bl __aeabi_uidiv
13428
+ lsrs r3, r0, #5
13429
+ adds r3, r3, #24
13430
+ str r0, [r4, #2552]
13431
+ strh r3, [r4, #2620] @ movhi
13432
+.L1903:
1317113433 ldrh r3, [r4, #294]
13172
- cbz r3, .L1933
13434
+ cbz r3, .L1905
1317313435 ldrh r2, [r4, #2620]
1317413436 add r2, r2, r3, lsr #1
1317513437 strh r2, [r4, #2620] @ movhi
1317613438 mul r2, r5, r3
13177
- cmp r6, r2
13439
+ cmp r8, r2
1317813440 itttt lt
13441
+ strlt r6, [r4, #2552]
1317913442 addlt r3, r3, #32
13180
- strlt r8, [r4, #2552]
1318113443 addlt r3, r3, r7
1318213444 strhlt r3, [r4, #2620] @ movhi
13183
-.L1933:
13184
- ldrh r2, [r4, #2620]
13445
+.L1905:
13446
+ ldrh r1, [r4, #2620]
1318513447 ldr r3, [r4, #2552]
13186
- ldr r6, .L1943+8
13187
- subs r3, r3, r2
13188
- muls r5, r3, r5
13448
+ ldr r6, .L1915+8
13449
+ subs r3, r3, r1
13450
+ mul r1, r5, r3
1318913451 ldrh r3, [r4, #302]
13190
- str r5, [r4, #3672]
13191
- muls r5, r3, r5
13452
+ str r1, [r4, #3672]
13453
+ movw r5, #65535
13454
+ muls r1, r3, r1
1319213455 ldrh r3, [r4, #258]
13193
- str r5, [r4, #2552]
13194
- muls r5, r3, r5
13195
- str r5, [r4, #340]
13456
+ str r1, [r4, #2552]
13457
+ muls r1, r3, r1
13458
+ str r1, [r4, #340]
1319613459 bl FtlBbmTblFlush
1319713460 ldrh r2, [r4, #242]
1319813461 movs r1, #0
1319913462 ldr r0, [r4, #72]
1320013463 lsls r2, r2, #1
1320113464 bl ftl_memset
13202
- movw r2, #65535
1320313465 movs r3, #0
13204
- mov r5, r2
13466
+ str r5, [r4, #172]
1320513467 str r3, [r4, #2548]
13206
- strh r3, [r4, #174] @ movhi
1320713468 strb r3, [r4, #178]
1320813469 strb r3, [r4, #180]
13209
- strh r3, [r4, #26] @ movhi
1321013470 strb r3, [r4, #30]
13211
- strh r3, [r4, #24] @ movhi
13471
+ str r3, [r4, #24]
1321213472 movs r3, #1
13213
- strh r2, [r4, #172] @ movhi
1321413473 strb r3, [r4, #32]
13215
-.L1935:
13474
+.L1907:
1321613475 mov r0, r6
1321713476 bl make_superblock
1321813477 ldrb r3, [r4, #31] @ zero_extendqisi2
1321913478 ldrh r2, [r4, #24]
1322013479 cmp r3, #0
13221
- bne .L1936
13480
+ bne .L1908
1322213481 ldr r3, [r4, #72]
1322313482 strh r5, [r3, r2, lsl #1] @ movhi
1322413483 ldrh r3, [r4, #24]
1322513484 adds r3, r3, #1
1322613485 strh r3, [r4, #24] @ movhi
13227
- b .L1935
13228
-.L1922:
13486
+ b .L1907
13487
+.L1894:
1322913488 ldr r5, [r4, #3312]
1323013489 mvns r1, r3
1323113490 orr r1, r3, r1, lsl #16
1323213491 str r1, [r5, r3, lsl #2]
1323313492 ldr r1, [r4, #3316]
1323413493 str r0, [r1, r3, lsl #2]
13235
- b .L1921
13236
-.L1924:
13494
+ b .L1893
13495
+.L1896:
1323713496 mov r0, r6
1323813497 movs r1, #1
13239
- bl FtlLowFormatEraseBlock
1324013498 adds r6, r6, #1
13499
+ bl FtlLowFormatEraseBlock
1324113500 add r5, r5, r0
13242
- uxth r5, r5
1324313501 uxth r6, r6
13244
- b .L1923
13245
-.L1925:
13502
+ uxth r5, r5
13503
+ b .L1895
13504
+.L1897:
1324613505 mov r0, r5
1324713506 bl __aeabi_uidiv
1324813507 ldr r3, [r4, #332]
....@@ -13252,31 +13511,32 @@
1325213511 ldrh r0, [r4, #236]
1325313512 bl FtlFreeSysBlkQueueInit
1325413513 ldrh r5, [r4, #240]
13255
-.L1927:
13514
+.L1899:
1325613515 ldrh r3, [r4, #242]
1325713516 cmp r3, r5
13258
- bls .L1929
13517
+ bls .L1901
1325913518 mov r0, r5
13519
+ adds r5, r5, #1
1326013520 movs r1, #1
13521
+ uxth r5, r5
13522
+ bl FtlLowFormatEraseBlock
13523
+ b .L1899
13524
+.L1902:
13525
+ movs r1, #0
1326113526 adds r5, r5, #1
1326213527 bl FtlLowFormatEraseBlock
13263
- uxth r5, r5
13264
- b .L1927
13265
-.L1930:
13266
- movs r1, #0
13267
- bl FtlLowFormatEraseBlock
13268
- add r6, r6, r0
13269
- uxth r6, r6
13270
- b .L1926
13271
-.L1936:
13528
+ add r8, r8, r0
13529
+ uxth r8, r8
13530
+ b .L1898
13531
+.L1908:
1327213532 ldr r3, [r4, #2588]
1327313533 movw r5, #65535
13274
- ldrh r1, [r4, #28]
13275
- ldr r6, .L1943+12
1327613534 str r3, [r4, #36]
1327713535 adds r3, r3, #1
1327813536 str r3, [r4, #2588]
1327913537 ldr r3, [r4, #72]
13538
+ ldrh r1, [r4, #28]
13539
+ ldr r6, .L1915+12
1328013540 strh r1, [r3, r2, lsl #1] @ movhi
1328113541 movs r3, #0
1328213542 strh r3, [r4, #78] @ movhi
....@@ -13286,51 +13546,51 @@
1328613546 strh r3, [r4, #76] @ movhi
1328713547 movs r3, #1
1328813548 strb r3, [r4, #84]
13289
-.L1937:
13549
+.L1909:
1329013550 mov r0, r6
1329113551 bl make_superblock
1329213552 ldrb r3, [r4, #83] @ zero_extendqisi2
1329313553 ldrh r2, [r4, #76]
13294
- cbnz r3, .L1938
13554
+ cbnz r3, .L1910
1329513555 ldr r3, [r4, #72]
1329613556 strh r5, [r3, r2, lsl #1] @ movhi
1329713557 ldrh r3, [r4, #76]
1329813558 adds r3, r3, #1
1329913559 strh r3, [r4, #76] @ movhi
13300
- b .L1937
13301
-.L1938:
13560
+ b .L1909
13561
+.L1910:
1330213562 ldr r3, [r4, #2588]
1330313563 movw r5, #65535
13304
- ldrh r1, [r4, #80]
1330513564 str r3, [r4, #88]
1330613565 adds r3, r3, #1
1330713566 str r3, [r4, #2588]
1330813567 ldr r3, [r4, #72]
13568
+ ldrh r1, [r4, #80]
1330913569 strh r1, [r3, r2, lsl #1] @ movhi
1331013570 strh r5, [r4, #124] @ movhi
1331113571 bl FtlFreeSysBlkQueueOut
1331213572 movs r3, #0
13313
- strh r0, [r4, #2624] @ movhi
1331413573 strh r3, [r4, #2626] @ movhi
1331513574 ldr r3, [r4, #3672]
13316
- strh r5, [r4, #2628] @ movhi
1331713575 strh r3, [r4, #2630] @ movhi
1331813576 ldr r3, [r4, #2588]
1331913577 str r3, [r4, #2632]
13578
+ strh r0, [r4, #2624] @ movhi
1332013579 adds r3, r3, #1
13580
+ strh r5, [r4, #2628] @ movhi
1332113581 str r3, [r4, #2588]
1332213582 bl FtlVpcTblFlush
1332313583 bl FtlSysBlkInit
13324
- cbnz r0, .L1939
13325
- ldr r3, .L1943+16
13584
+ cbnz r0, .L1911
13585
+ ldr r3, .L1915+16
1332613586 movs r2, #1
1332713587 str r2, [r3]
13328
-.L1939:
13588
+.L1911:
1332913589 movs r0, #0
1333013590 pop {r3, r4, r5, r6, r7, r8, r9, pc}
13331
-.L1944:
13591
+.L1916:
1333213592 .align 2
13333
-.L1943:
13593
+.L1915:
1333413594 .word .LANCHOR0
1333513595 .word 168778952
1333613596 .word .LANCHOR0+24
....@@ -13352,10 +13612,10 @@
1335213612 push {r3, r4, r5, lr}
1335313613 .save {r3, r4, r5, lr}
1335413614 mov r3, #-1
13355
- ldr r4, .L1951
13356
- ldr r5, .L1951+4
13357
- ldr r1, .L1951+8
13358
- ldr r0, .L1951+12
13615
+ ldr r5, .L1921
13616
+ ldr r4, .L1921+4
13617
+ ldr r1, .L1921+8
13618
+ ldr r0, .L1921+12
1335913619 str r3, [r5]
1336013620 bl sftl_printk
1336113621 mov r0, r4
....@@ -13365,33 +13625,41 @@
1336513625 ldrh r0, [r4, #236]
1336613626 bl FtlFreeSysBlkQueueInit
1336713627 bl FtlLoadBbt
13368
- cbnz r0, .L1949
13628
+ cbnz r0, .L1918
1336913629 bl FtlSysBlkInit
13370
- cbnz r0, .L1949
13630
+ cbnz r0, .L1918
1337113631 movs r3, #1
1337213632 str r3, [r5]
1337313633 ldrh r3, [r4, #224]
1337413634 cmp r3, #15
13375
- bhi .L1949
13635
+ bhi .L1918
1337613636 movw r4, #8129
13377
-.L1948:
13637
+.L1919:
1337813638 movs r1, #1
1337913639 movs r0, #0
1338013640 bl rk_ftl_garbage_collect
1338113641 subs r4, r4, #1
13382
- bne .L1948
13383
-.L1949:
13642
+ bne .L1919
13643
+.L1918:
1338413644 movs r0, #0
1338513645 pop {r3, r4, r5, pc}
13386
-.L1952:
13646
+.L1922:
1338713647 .align 2
13388
-.L1951:
13389
- .word .LANCHOR0
13648
+.L1921:
1339013649 .word .LANCHOR2
13650
+ .word .LANCHOR0
1339113651 .word .LC0
1339213652 .word .LC77
1339313653 .fnend
1339413654 .size sftl_init, .-sftl_init
13655
+ .section .rodata.str1.1
13656
+.LC130:
13657
+ .ascii "write_idblock %x %x\012\000"
13658
+.LC131:
13659
+ .ascii "write_idblock fail! %x %x %x %x\012\000"
13660
+.LC132:
13661
+ .ascii "%s idb buffer alloc fail\012\000"
13662
+ .text
1339513663 .align 1
1339613664 .global FtlWriteToIDB
1339713665 .syntax unified
....@@ -13403,122 +13671,110 @@
1340313671 .fnstart
1340413672 @ args = 0, pretend = 0, frame = 104
1340513673 @ frame_needed = 0, uses_anonymous_args = 0
13406
- ldr r3, .L2020
1340713674 push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
1340813675 .save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
1340913676 add r8, r1, r0
1341013677 add r9, r8, #-1
1341113678 .pad #116
1341213679 sub sp, sp, #116
13413
- cmp r9, #63
13680
+ ldr r5, .L1988
13681
+ mov r3, sp
1341413682 mov r4, r0
13415
- ldr r3, [r3]
13683
+ bic r3, r3, #8160
1341613684 mov r6, r1
13685
+ bic r3, r3, #31
1341713686 mov r7, r2
13418
- ldr r5, .L2020+4
13687
+ cmp r9, #63
13688
+ ldr r3, [r3, #24]
1341913689 str r3, [sp, #108]
13420
- bls .L1954
13690
+ bls .L1924
1342113691 cmp r0, #576
13422
- bcc .L1955
13423
-.L1954:
13692
+ bcc .L1925
13693
+.L1924:
1342413694 ldr r3, [r5, #3676]
13425
- cbnz r3, .L1956
13426
-.L2019:
13695
+ cbnz r3, .L1926
13696
+.L1987:
1342713697 movs r4, #0
13428
- b .L1953
13429
-.L1956:
13430
- ldr r8, [r5, #3680]
13431
- ldr r3, .L2020+8
13432
- ldr r2, [r8]
13698
+ b .L1923
13699
+.L1926:
13700
+ ldr r3, [r5, #3680]
13701
+ str r3, [sp, #12]
13702
+ ldr r2, [r3]
13703
+ ldr r3, .L1988+4
1343313704 cmp r2, r3
13434
- bne .L1958
13435
- ldrh r1, [r5, #10]
13436
- add r0, r8, #260096
13705
+ bne .L1928
13706
+ ldr r3, [sp, #12]
1343713707 movs r2, #0
13708
+ ldrh r1, [r5, #10]
13709
+ add r0, r3, #260096
1343813710 movw r3, #65023
13439
-.L1962:
13711
+.L1932:
1344013712 ldr r4, [r0, #-4]!
13441
- cbnz r4, .L1959
13442
- ldr r4, [r8, r2, lsl #2]
13713
+ cbnz r4, .L1929
13714
+ ldr r4, [sp, #12]
13715
+ subs r3, r3, #1
13716
+ ldr r4, [r4, r2, lsl #2]
1344313717 adds r2, r2, #1
1344413718 cmp r2, #4096
13445
- add r3, r3, #-1
13719
+ str r4, [r0, #2048]
1344613720 it hi
1344713721 movhi r2, #0
1344813722 cmp r3, #4096
13449
- str r4, [r0, #2048]
13450
- bne .L1962
13451
- mov fp, #512
13452
- b .L1961
13453
-.L1959:
13723
+ bne .L1932
13724
+ mov r9, #512
13725
+ b .L1931
13726
+.L1929:
1345413727 adds r3, r3, #127
13455
- lsr fp, r3, #7
13456
-.L1961:
13728
+ lsr r9, r3, #7
13729
+.L1931:
1345713730 lsls r1, r1, #2
13458
- add r0, fp, #4
13459
- ldr r4, .L2020+4
13731
+ add r0, r9, #4
13732
+ ldr r4, .L1988
1346013733 uxth r1, r1
1346113734 bl __aeabi_uidiv
1346213735 adds r3, r0, #1
13463
- mov r1, fp
1346413736 mov r2, r3
13465
- ldr r0, .L2020+12
13737
+ ldr r0, .L1988+8
13738
+ mov r1, r9
1346613739 str r3, [sp, #16]
1346713740 bl sftl_printk
13468
- lsl r3, fp, #7
13741
+ lsl r3, r9, #7
1346913742 str r3, [sp, #32]
1347013743 movs r3, #0
13744
+ mov fp, r3
1347113745 str r3, [sp, #20]
13472
- str r3, [sp, #12]
13473
-.L1963:
13746
+.L1933:
1347413747 ldr r3, [sp, #16]
13475
- ldr r2, [sp, #12]
13476
- add r3, r3, r2
13748
+ add r3, r3, fp
13749
+ str r3, [sp, #24]
1347713750 cmp r3, #8
13478
- str r3, [sp, #28]
13479
- bls .L1985
13751
+ bls .L1955
1348013752 ldr r3, [sp, #20]
13481
- cbnz r3, .L1986
13482
-.L1958:
13483
- mov fp, #-1
13484
-.L1986:
13485
- ldr r5, .L2020+4
13486
- movs r3, #0
13487
- mov r4, fp
13488
- ldr r0, [r5, #3680]
13489
- str r3, [r5, #3676]
13490
- bl kfree
13491
- ldr r0, [r5, #3684]
13492
- bl kfree
13493
-.L1953:
13494
- ldr r3, .L2020
13495
- mov r0, r4
13496
- ldr r2, [sp, #108]
13497
- ldr r3, [r3]
13498
- cmp r2, r3
13499
- beq .L1993
13500
- bl __stack_chk_fail
13501
-.L1985:
13753
+ cmp r3, #0
13754
+ bne .L1954
13755
+.L1928:
13756
+ mov r9, #-1
13757
+ b .L1954
13758
+.L1955:
13759
+ ldr r0, [r4, #3684]
1350213760 mov r2, #512
1350313761 movs r1, #0
13504
- ldr r0, [r4, #3684]
1350513762 bl memset
1350613763 ldrh r6, [r4, #10]
13507
- ldr r3, [sp, #12]
13508
- muls r3, r6, r3
13509
- str r3, [sp, #24]
13764
+ mul r3, r6, fp
13765
+ str r3, [sp, #28]
1351013766 ldr r3, [r4, #3260]
1351113767 cmp r3, #0
13512
- beq .L1994
13768
+ beq .L1964
1351313769 ldr r3, [r4, #3264]
1351413770 cmp r3, #0
1351513771 ite eq
13516
- moveq r9, #6
13517
- movne r9, #9
13518
-.L1964:
13519
- ldr r7, [sp, #24]
13772
+ moveq r8, #6
13773
+ movne r8, #9
13774
+.L1934:
13775
+ mul r7, r6, fp
1352013776 movs r5, #0
13521
-.L1965:
13777
+.L1935:
1352213778 ldr r3, [r4, #3248]
1352313779 mov r1, r7
1352413780 movs r0, #0
....@@ -13527,60 +13783,56 @@
1352713783 ldr r3, [sp, #16]
1352813784 add r7, r7, r6
1352913785 cmp r3, r5
13530
- bhi .L1965
13531
- cmp r9, #9
13532
- bne .L1996
13786
+ bhi .L1935
13787
+ cmp r8, #9
13788
+ bne .L1966
1353313789 ldr r5, [r4, #3684]
1353413790 mov r2, #1024
1353513791 movs r1, #0
1353613792 mov r0, r5
1353713793 bl ftl_memset
13538
- ldr r3, .L2020+16
13794
+ ldr r3, .L1988+12
1353913795 movs r1, #12
13540
- movs r2, #4
13541
- str r1, [r5, #4]
13542
- strb r2, [r5, #17]
13543
- adds r0, r5, r1
13544
- str r3, [r5]
13796
+ strd r3, r1, [r5]
1354513797 movs r3, #0
13546
- ldrh r2, [r4, #10]
1354713798 str r3, [r5, #12]
13548
- strb r3, [r5, #16]
13549
- strh r2, [r5, #18] @ movhi
13550
- movs r2, #16
13551
- strb r3, [r5, #20]
13552
- strb r2, [r5, #21]
13553
- strh r3, [r5, #22] @ movhi
13799
+ mov r3, #1024
13800
+ strh r3, [r5, #16] @ movhi
13801
+ ldrh r3, [r4, #10]
13802
+ adds r0, r5, r1
13803
+ strh r3, [r5, #18] @ movhi
13804
+ mov r3, #4096
13805
+ str r3, [r5, #20]
1355413806 bl js_hash
1355513807 str r0, [r5, #8]
13556
-.L1966:
13808
+.L1936:
1355713809 ldr r3, [sp, #16]
13558
- mov r10, r8
13810
+ ldr r10, [sp, #12]
1355913811 muls r3, r6, r3
1356013812 movs r6, #0
1356113813 str r3, [sp, #36]
13562
-.L1967:
13814
+.L1937:
1356313815 ldr r3, [sp, #36]
1356413816 cmp r6, r3
13565
- beq .L1974
13566
- cmp r9, #9
13567
- ite ne
13568
- lslne r3, r6, #2
13817
+ beq .L1944
13818
+ cmp r8, #9
13819
+ ite eq
1356913820 addeq r3, r6, #1
13821
+ lslne r3, r6, #2
1357013822 str r3, [sp, #44]
1357113823 movw r3, #61424
1357213824 str r3, [sp, #48]
1357313825 cmp r6, #0
13574
- bne .L1970
13575
- cmp r9, #9
13576
- bne .L1970
13826
+ bne .L1940
13827
+ cmp r8, #9
13828
+ bne .L1940
1357713829 ldr r3, [r4, #3260]
1357813830 movs r0, #70
1357913831 blx r3
1358013832 ldr r7, [r4, #3252]
13833
+ ldr r1, [sp, #28]
1358113834 add r3, sp, #44
1358213835 mov r2, r5
13583
- ldr r1, [sp, #24]
1358413836 mov r0, r6
1358513837 blx r7
1358613838 ldr r3, [r4, #3260]
....@@ -13588,204 +13840,214 @@
1358813840 ldrb r0, [r4, #22] @ zero_extendqisi2
1358913841 blx r3
1359013842 adds r7, r7, #1
13591
- bne .L1971
13592
-.L1974:
13843
+ bne .L1941
13844
+.L1944:
1359313845 ldrb r3, [r4, #14] @ zero_extendqisi2
13594
- ldr r2, [sp, #12]
13595
- ldr r7, [r4, #3684]
13596
- str r3, [sp, #24]
13597
- ldrh r3, [r4, #10]
13598
- mul r9, r3, r2
13599
- ldr r2, [r4, #3260]
13600
- cmp r2, #0
13601
- bne .L1972
13602
- mov r10, #6
13603
-.L1973:
13604
- ldr r2, [sp, #16]
13605
- movs r5, #0
13606
- muls r3, r2, r3
13607
- str r3, [sp, #36]
13608
-.L1976:
13609
- ldr r3, [sp, #36]
13610
- cmp r5, r3
13611
- beq .L1980
13612
- cmp r5, #0
13613
- bne .L1977
13614
- cmp r10, #9
13615
- bne .L1977
13846
+ ldrh r10, [r4, #10]
13847
+ str r3, [sp, #28]
13848
+ ldr r3, [r4, #3260]
13849
+ ldr r5, [r4, #3684]
13850
+ mul r7, r10, fp
13851
+ cmp r3, #0
13852
+ bne .L1942
13853
+ mov r8, #6
13854
+.L1943:
13855
+ ldr r3, [sp, #16]
13856
+ movs r6, #0
13857
+ mul r10, r10, r3
13858
+.L1946:
13859
+ cmp r6, r10
13860
+ beq .L1950
13861
+ cmp r6, #0
13862
+ bne .L1947
13863
+ cmp r8, #9
13864
+ bne .L1947
1361613865 ldr r3, [r4, #3260]
1361713866 movs r0, #70
1361813867 blx r3
1361913868 ldr r3, [r4, #3264]
1362013869 movs r0, #2
1362113870 blx r3
13622
- mov r2, r7
13623
- mov r1, r9
13871
+ mov r2, r5
13872
+ ldr ip, [r4, #3256]
13873
+ mov r1, r7
1362413874 add r3, sp, #44
13625
- mov r0, r5
13626
- ldr r6, [r4, #3256]
13627
- blx r6
13875
+ mov r0, r6
13876
+ blx ip
1362813877 ldr r3, [r4, #3264]
13629
- ldr r0, [sp, #24]
13878
+ ldr r0, [sp, #28]
1363013879 blx r3
1363113880 ldr r3, [r4, #3260]
1363213881 ldrb r0, [r4, #22] @ zero_extendqisi2
1363313882 blx r3
13634
- ldr r3, [r7]
13635
- ldr r2, .L2020+16
13883
+ ldr r3, [r5]
13884
+ ldr r2, .L1988+12
1363613885 cmp r3, r2
13637
- beq .L1978
13638
-.L1980:
13886
+ beq .L1948
13887
+.L1950:
1363913888 ldr r0, [r4, #3684]
13640
- mov r1, r8
1364113889 movs r5, #0
13890
+ ldr r1, [sp, #12]
1364213891 mov ip, r0
13643
-.L1979:
13892
+.L1949:
1364413893 mov r6, ip
1364513894 mov r7, r1
13646
- ldr r2, [r6]
1364713895 add ip, ip, #4
13648
- ldr r3, [r7]
1364913896 adds r1, r1, #4
13897
+ ldr r2, [r6]
13898
+ ldr r3, [r7]
1365013899 cmp r2, r3
13651
- beq .L1982
13900
+ beq .L1952
1365213901 mov r2, #512
1365313902 movs r1, #0
1365413903 bl memset
1365513904 str r5, [sp]
1365613905 ldr r3, [r7]
13906
+ mov r1, fp
13907
+ ldr r0, .L1988+16
1365713908 ldr r2, [r6]
13658
- ldr r1, [sp, #12]
13659
- ldr r0, .L2020+20
1366013909 bl sftl_printk
1366113910 ldrh r1, [r4, #10]
13662
- movs r0, #0
13663
- ldr r2, [sp, #12]
1366413911 ldr r3, [r4, #3248]
13665
- muls r2, r1, r2
13666
- mov r1, r2
13912
+ movs r0, #0
13913
+ mul r1, fp, r1
1366713914 blx r3
13668
-.L1983:
13669
- ldr r3, [sp, #28]
13670
- str r3, [sp, #12]
13671
- b .L1963
13672
-.L1994:
13673
- mov r9, #6
13674
- b .L1964
13675
-.L1996:
13915
+.L1953:
13916
+ ldr fp, [sp, #24]
13917
+ b .L1933
13918
+.L1964:
13919
+ mov r8, #6
13920
+ b .L1934
13921
+.L1966:
1367613922 movs r5, #0
13677
- b .L1966
13678
-.L1970:
13679
- ldr r1, [sp, #24]
13923
+ b .L1936
13924
+.L1940:
13925
+ ldr r1, [sp, #28]
1368013926 add r3, sp, #44
1368113927 ldr r7, [r4, #3252]
1368213928 mov r2, r10
13683
- movs r0, #0
1368413929 add r1, r1, r6
13930
+ movs r0, #0
1368513931 blx r7
1368613932 adds r0, r0, #1
13687
- beq .L1974
13933
+ beq .L1944
1368813934 add r10, r10, #2048
13689
-.L1971:
13935
+.L1941:
1369013936 adds r6, r6, #1
13691
- b .L1967
13692
-.L1972:
13693
- ldr r2, [r4, #3264]
13694
- cmp r2, #0
13937
+ b .L1937
13938
+.L1942:
13939
+ ldr r3, [r4, #3264]
13940
+ cmp r3, #0
1369513941 ite eq
13696
- moveq r10, #6
13697
- movne r10, #9
13698
- b .L1973
13699
-.L1977:
13942
+ moveq r8, #6
13943
+ movne r8, #9
13944
+ b .L1943
13945
+.L1947:
13946
+ ldr ip, [r4, #3256]
1370013947 add r3, sp, #44
13701
- mov r2, r7
13702
- add r1, r9, r5
13948
+ mov r2, r5
13949
+ adds r1, r7, r6
1370313950 movs r0, #0
13704
- ldr r6, [r4, #3256]
13705
- blx r6
13951
+ blx ip
1370613952 adds r0, r0, #1
13707
- beq .L1980
13708
- ldr r2, [sp, #48]
13953
+ beq .L1950
13954
+ ldr r1, [sp, #48]
1370913955 movw r3, #61424
13710
- cmp r2, r3
13711
- bne .L1980
13712
- add r7, r7, #2048
13713
-.L1978:
13714
- adds r5, r5, #1
13715
- b .L1976
13716
-.L1982:
13717
- ldr r3, [sp, #32]
13718
- adds r5, r5, #1
13719
- cmp r5, r3
13720
- bne .L1979
13721
- ldr r3, [sp, #20]
13722
- adds r3, r3, #1
13723
- cmp r3, #5
13724
- str r3, [sp, #20]
13725
- bls .L1983
13726
- b .L1986
13727
-.L2021:
13956
+ cmp r1, r3
13957
+ bne .L1950
13958
+ add r5, r5, #2048
13959
+.L1948:
13960
+ adds r6, r6, #1
13961
+ b .L1946
13962
+.L1989:
1372813963 .align 2
13729
-.L2020:
13730
- .word __stack_chk_guard
13964
+.L1988:
1373113965 .word .LANCHOR0
1373213966 .word -52655045
1373313967 .word .LC130
1373413968 .word 1179535694
1373513969 .word .LC131
13736
-.L1955:
13970
+.L1952:
13971
+ ldr r3, [sp, #32]
13972
+ adds r5, r5, #1
13973
+ cmp r5, r3
13974
+ bcc .L1949
13975
+ ldr r3, [sp, #20]
13976
+ adds r3, r3, #1
13977
+ str r3, [sp, #20]
13978
+ cmp r3, #5
13979
+ bls .L1953
13980
+.L1954:
13981
+ ldr r5, .L1990
13982
+ movs r3, #0
13983
+ mov r4, r9
13984
+ ldr r0, [r5, #3680]
13985
+ str r3, [r5, #3676]
13986
+ bl kfree
13987
+ ldr r0, [r5, #3684]
13988
+ bl kfree
13989
+.L1923:
13990
+ mov r3, sp
13991
+ ldr r2, [sp, #108]
13992
+ bic r3, r3, #8160
13993
+ bic r3, r3, #31
13994
+ ldr r3, [r3, #24]
13995
+ cmp r2, r3
13996
+ beq .L1963
13997
+ bl __stack_chk_fail
13998
+.L1925:
1373713999 cmp r0, #64
13738
- bne .L1987
14000
+ bne .L1956
1373914001 mov r0, #262144
1374014002 bl ftl_malloc
1374114003 str r0, [r5, #3680]
1374214004 mov r0, #262144
1374314005 bl ftl_malloc
13744
- ldr r3, [r5, #3680]
14006
+ mov r3, r0
1374514007 str r0, [r5, #3684]
13746
- cbz r3, .L1988
13747
- cbz r0, .L1988
13748
- movs r2, #1
13749
- movs r1, #0
13750
- str r2, [r5, #3676]
13751
- mov r0, r3
14008
+ ldr r0, [r5, #3680]
14009
+ cbz r0, .L1957
14010
+ cbz r3, .L1957
1375214011 mov r2, #262144
14012
+ movs r1, #0
14013
+ movs r3, #1
14014
+ str r3, [r5, #3676]
1375314015 bl ftl_memset
13754
-.L1987:
13755
- ldr r3, [r5, #3676]
13756
- cmp r3, #0
13757
- beq .L2019
14016
+.L1958:
1375814017 cmp r4, #63
1375914018 ldr r0, [r5, #3680]
13760
- iteet hi
13761
- ldrhi r3, .L2022
13762
- rsbls r1, r4, #64
13763
- subls r6, r6, r1
13764
- movhi r1, r7
13765
- itee ls
13766
- addls r1, r7, r1, lsl #9
13767
- addhi r3, r3, r4
14019
+ sub r3, r4, #64
14020
+ ittte ls
14021
+ rsbls r4, r4, #64
14022
+ addls r6, r6, r3
14023
+ addls r7, r7, r4, lsl #9
1376814024 addhi r0, r0, r3, lsl #9
1376914025 cmp r9, #576
14026
+ mov r1, r7
1377014027 itt cs
1377114028 subcs r6, r6, r8
1377214029 subcs r6, r6, #446
1377314030 lsls r2, r6, #9
1377414031 bl ftl_memcpy
13775
- b .L2019
13776
-.L1988:
13777
- ldr r1, .L2022+4
13778
- ldr r0, .L2022+8
13779
- bl sftl_printk
1378014032 b .L1987
13781
-.L1993:
14033
+.L1957:
14034
+ ldr r1, .L1990+4
14035
+ ldr r0, .L1990+8
14036
+ bl sftl_printk
14037
+.L1956:
14038
+ ldr r3, [r5, #3676]
14039
+ cmp r3, #0
14040
+ bne .L1958
14041
+ b .L1987
14042
+.L1963:
14043
+ mov r0, r4
1378214044 add sp, sp, #116
1378314045 @ sp needed
1378414046 pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
13785
-.L2023:
14047
+.L1991:
1378614048 .align 2
13787
-.L2022:
13788
- .word 8388544
14049
+.L1990:
14050
+ .word .LANCHOR0
1378914051 .word .LANCHOR1+633
1379014052 .word .LC132
1379114053 .fnend
....@@ -13827,19 +14089,19 @@
1382714089 @ args = 0, pretend = 0, frame = 0
1382814090 @ frame_needed = 0, uses_anonymous_args = 0
1382914091 @ link register save eliminated.
13830
- ldr r2, .L2028
13831
- ldr r3, [r2, #3688]
13832
- cbnz r3, .L2027
13833
- str r0, [r2, #3688]
13834
- mov r0, r3
13835
- str r1, [r2, #3692]
14092
+ ldr r3, .L1996
14093
+ mov r2, r0
14094
+ ldr r0, [r3, #3688]
14095
+ cbnz r0, .L1995
14096
+ str r2, [r3, #3688]
14097
+ str r1, [r3, #3692]
1383614098 bx lr
13837
-.L2027:
14099
+.L1995:
1383814100 mov r0, #-1
1383914101 bx lr
13840
-.L2029:
14102
+.L1997:
1384114103 .align 2
13842
-.L2028:
14104
+.L1996:
1384314105 .word .LANCHOR0
1384414106 .fnend
1384514107 .size rk_sftl_vendor_dev_ops_register, .-rk_sftl_vendor_dev_ops_register
....@@ -13854,80 +14116,78 @@
1385414116 .fnstart
1385514117 @ args = 0, pretend = 0, frame = 0
1385614118 @ frame_needed = 0, uses_anonymous_args = 0
13857
- push {r4, r5, r6, r7, r8, r9, r10, lr}
13858
- .save {r4, r5, r6, r7, r8, r9, r10, lr}
14119
+ push {r3, r4, r5, r6, r7, r8, r9, lr}
14120
+ .save {r3, r4, r5, r6, r7, r8, r9, lr}
1385914121 mov r0, #65536
13860
- ldr r5, .L2038
14122
+ ldr r5, .L2006
1386114123 bl ftl_malloc
1386214124 str r0, [r5, #3696]
1386314125 cmp r0, #0
13864
- beq .L2036
13865
- ldr r10, .L2038+4
13866
- mov r9, #0
13867
- mov r7, r9
13868
- mov r8, r9
13869
-.L2034:
14126
+ beq .L2004
14127
+ ldr r9, .L2006+4
14128
+ mov r8, #0
14129
+ mov r7, r8
14130
+ mov r6, r8
14131
+.L2002:
1387014132 ldr r3, [r5, #3688]
13871
- movs r1, #128
14133
+ lsls r0, r6, #7
1387214134 ldr r2, [r5, #3696]
13873
- lsl r0, r8, #7
13874
- blx r3
13875
- mov r6, r0
13876
- cbnz r0, .L2032
13877
- ldr r4, [r5, #3696]
13878
- ldr r3, [r4]
13879
- cmp r3, r10
13880
- bne .L2033
13881
- movw r3, #65532
13882
- ldr r2, [r4, #4]
13883
- ldr r3, [r4, r3]
13884
- cmp r3, r2
13885
- bne .L2033
13886
- cmp r3, r7
13887
- itt hi
13888
- movhi r9, r8
13889
- movhi r7, r3
13890
-.L2033:
13891
- add r8, r8, #1
13892
- cmp r8, #2
13893
- bne .L2034
13894
- cbz r7, .L2035
13895
- ldr r3, [r5, #3688]
13896
- mov r2, r4
1389714135 movs r1, #128
13898
- lsl r0, r9, #7
1389914136 blx r3
13900
- mov r6, r0
13901
- cbz r0, .L2030
13902
-.L2032:
14137
+ mov r4, r0
14138
+ cbnz r0, .L2000
14139
+ ldr r3, [r5, #3696]
14140
+ ldr r2, [r3]
14141
+ cmp r2, r9
14142
+ bne .L2001
14143
+ add r2, r3, #61440
14144
+ ldr r1, [r3, #4]
14145
+ ldr r2, [r2, #4092]
14146
+ cmp r2, r1
14147
+ bne .L2001
14148
+ cmp r2, r7
14149
+ itt hi
14150
+ movhi r8, r6
14151
+ movhi r7, r2
14152
+.L2001:
14153
+ cbz r6, .L2005
14154
+ cbz r7, .L2003
14155
+ ldr r4, [r5, #3688]
14156
+ mov r2, r3
14157
+ lsl r0, r8, #7
14158
+ movs r1, #128
14159
+ blx r4
14160
+ mov r4, r0
14161
+ cbz r0, .L1998
14162
+.L2000:
1390314163 ldr r0, [r5, #3696]
13904
- mov r6, #-1
14164
+ mov r4, #-1
1390514165 bl kfree
1390614166 movs r3, #0
1390714167 str r3, [r5, #3696]
13908
- b .L2030
13909
-.L2035:
14168
+ b .L1998
14169
+.L2005:
14170
+ movs r6, #1
14171
+ b .L2002
14172
+.L2003:
1391014173 mov r2, #65536
1391114174 mov r1, r7
13912
- mov r0, r4
14175
+ mov r0, r3
1391314176 bl memset
13914
- movs r3, #1
13915
- movw r2, #65532
13916
- str r3, [r4, #4]
13917
- str r10, [r4]
13918
- str r3, [r4, r2]
13919
- movw r3, #64504
13920
- strh r7, [r4, #12] @ movhi
13921
- strh r3, [r4, #14] @ movhi
13922
-.L2030:
13923
- mov r0, r6
13924
- pop {r4, r5, r6, r7, r8, r9, r10, pc}
13925
-.L2036:
13926
- mvn r6, #11
13927
- b .L2030
13928
-.L2039:
14177
+ add r2, r0, #61440
14178
+ strd r9, r6, [r0]
14179
+ str r6, [r2, #4092]
14180
+ movw r2, #64504
14181
+ strh r2, [r0, #14] @ movhi
14182
+.L1998:
14183
+ mov r0, r4
14184
+ pop {r3, r4, r5, r6, r7, r8, r9, pc}
14185
+.L2004:
14186
+ mvn r4, #11
14187
+ b .L1998
14188
+.L2007:
1392914189 .align 2
13930
-.L2038:
14190
+.L2006:
1393114191 .word .LANCHOR0
1393214192 .word 1380668996
1393314193 .fnend
....@@ -13945,26 +14205,27 @@
1394514205 @ frame_needed = 0, uses_anonymous_args = 0
1394614206 push {r3, r4, r5, r6, r7, lr}
1394714207 .save {r3, r4, r5, r6, r7, lr}
13948
- mov r7, r0
13949
- ldr r3, .L2046
14208
+ mov r6, r0
14209
+ ldr r3, .L2014
1395014210 mov r0, r1
1395114211 ldr r5, [r3, #3696]
13952
- cbz r5, .L2045
13953
- ldrh r6, [r5, #10]
14212
+ cbz r5, .L2013
14213
+ ldrh r1, [r5, #10]
14214
+ add r4, r5, #16
1395414215 movs r3, #0
13955
-.L2042:
13956
- cmp r3, r6
13957
- bcc .L2044
13958
-.L2045:
14216
+.L2010:
14217
+ cmp r1, r3
14218
+ bhi .L2012
14219
+.L2013:
1395914220 mov r0, #-1
13960
- pop {r3, r4, r5, r6, r7, pc}
13961
-.L2044:
13962
- add r1, r5, r3, lsl #3
13963
- ldrh r4, [r1, #16]
13964
- cmp r4, r7
13965
- bne .L2043
13966
- ldrh r4, [r1, #20]
13967
- ldrh r1, [r1, #18]
14221
+ b .L2008
14222
+.L2012:
14223
+ ldrh r7, [r4, r3, lsl #3]
14224
+ cmp r7, r6
14225
+ bne .L2011
14226
+ add r3, r5, r3, lsl #3
14227
+ ldrh r4, [r3, #20]
14228
+ ldrh r1, [r3, #18]
1396814229 cmp r4, r2
1396914230 it cs
1397014231 movcs r4, r2
....@@ -13973,13 +14234,14 @@
1397314234 add r1, r1, r5
1397414235 bl memcpy
1397514236 mov r0, r4
14237
+.L2008:
1397614238 pop {r3, r4, r5, r6, r7, pc}
13977
-.L2043:
14239
+.L2011:
1397814240 adds r3, r3, #1
13979
- b .L2042
13980
-.L2047:
14241
+ b .L2010
14242
+.L2015:
1398114243 .align 2
13982
-.L2046:
14244
+.L2014:
1398314245 .word .LANCHOR0
1398414246 .fnend
1398514247 .size rk_sftl_vendor_read, .-rk_sftl_vendor_read
....@@ -13996,51 +14258,52 @@
1399614258 @ frame_needed = 0, uses_anonymous_args = 0
1399714259 push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
1399814260 .save {r4, r5, r6, r7, r8, r9, r10, fp, lr}
13999
- mov r8, r2
14000
- ldr r2, .L2067
14261
+ mov r9, r1
14262
+ ldr r5, .L2035
1400114263 .pad #28
1400214264 sub sp, sp, #28
14003
- mov r3, r1
14004
- ldr r4, [r2, #3696]
14005
- mov r9, r2
14265
+ mov r8, r2
14266
+ ldr r4, [r5, #3696]
14267
+ str r0, [sp, #4]
1400614268 cmp r4, #0
14007
- beq .L2063
14269
+ beq .L2031
14270
+ ldrh r3, [r4, #8]
14271
+ add r7, r8, #63
1400814272 ldrh r2, [r4, #10]
14009
- add r6, r8, #63
14010
- ldrh r1, [r4, #8]
14011
- bic r6, r6, #63
14012
- movs r7, #0
14013
- str r1, [sp, #4]
14014
-.L2050:
14015
- cmp r7, r2
14016
- bcc .L2058
14273
+ bic r7, r7, #63
14274
+ str r3, [sp, #8]
14275
+ add r3, r4, #16
14276
+ movs r6, #0
14277
+.L2018:
14278
+ cmp r6, r2
14279
+ bcc .L2026
1401714280 ldrh r1, [r4, #14]
14018
- cmp r6, r1
14019
- bhi .L2063
14020
- add r2, r4, r2, lsl #3
14021
- uxth r6, r6
14022
- strh r0, [r2, #16] @ movhi
14023
- ldrh r0, [r4, #12]
14024
- strh r8, [r2, #20] @ movhi
14025
- strh r0, [r2, #18] @ movhi
14026
- add r0, r0, r6
14027
- subs r6, r1, r6
14028
- strh r0, [r4, #12] @ movhi
14029
- strh r6, [r4, #14] @ movhi
14030
- mov r1, r3
14031
- ldrh r0, [r2, #18]
14281
+ cmp r1, r7
14282
+ bcc .L2031
14283
+ add r3, r4, r2, lsl #3
14284
+ ldr r2, [sp, #4]
14285
+ uxth r7, r7
14286
+ strh r2, [r3, #16] @ movhi
1403214287 mov r2, r8
14288
+ ldrh r0, [r4, #12]
14289
+ strh r0, [r3, #18] @ movhi
14290
+ strh r8, [r3, #20] @ movhi
14291
+ adds r3, r0, r7
1403314292 add r0, r0, #1024
14293
+ subs r7, r1, r7
14294
+ strh r3, [r4, #12] @ movhi
14295
+ mov r1, r9
1403414296 add r0, r0, r4
14297
+ strh r7, [r4, #14] @ movhi
1403514298 bl memcpy
1403614299 ldrh r3, [r4, #10]
14037
- movw r2, #65532
14300
+ add r2, r4, #61440
1403814301 adds r3, r3, #1
1403914302 strh r3, [r4, #10] @ movhi
1404014303 ldr r3, [r4, #4]
1404114304 adds r3, r3, #1
1404214305 str r3, [r4, #4]
14043
- str r3, [r4, r2]
14306
+ str r3, [r2, #4092]
1404414307 ldrh r3, [r4, #8]
1404514308 adds r3, r3, #1
1404614309 uxth r3, r3
....@@ -14048,56 +14311,56 @@
1404814311 it hi
1404914312 movhi r3, #0
1405014313 strh r3, [r4, #8] @ movhi
14051
- ldr r3, [r9, #3692]
14052
- b .L2066
14053
-.L2058:
14054
- add r5, r4, r7, lsl #3
14055
- ldrh r1, [r5, #16]
14314
+ ldr r3, [r5, #3692]
14315
+ b .L2034
14316
+.L2026:
14317
+ ldrh r1, [r3, r6, lsl #3]
14318
+ ldr r0, [sp, #4]
1405614319 cmp r1, r0
14057
- str r1, [sp, #8]
14058
- bne .L2051
14320
+ bne .L2019
14321
+ add r5, r4, r6, lsl #3
14322
+ add r3, r4, #1024
1405914323 ldrh r1, [r5, #20]
14060
- add fp, r4, #1024
1406114324 adds r1, r1, #63
1406214325 bic r1, r1, #63
14063
- cmp r8, r1
1406414326 str r1, [sp, #12]
14065
- bls .L2052
14327
+ cmp r8, r1
14328
+ bls .L2020
1406614329 ldrh r1, [r4, #14]
14067
- cmp r6, r1
14068
- bhi .L2063
14069
- ldrh r10, [r5, #18]
14330
+ cmp r1, r7
14331
+ bcc .L2031
14332
+ ldrh fp, [r5, #18]
1407014333 subs r2, r2, #1
1407114334 str r2, [sp, #16]
14072
-.L2053:
14335
+.L2021:
1407314336 ldr r2, [sp, #16]
14337
+ uxth r10, fp
1407414338 adds r5, r5, #8
14075
- cmp r7, r2
14076
- bcc .L2054
14077
- ldrh r2, [sp, #8]
14078
- add r7, r4, r7, lsl #3
14079
- uxth r5, r10
14080
- mov r1, r3
14081
- strh r8, [r7, #20] @ movhi
14082
- uxtah r0, fp, r10
14083
- strh r2, [r7, #16] @ movhi
14339
+ cmp r2, r6
14340
+ bhi .L2022
14341
+ add r6, r4, r6, lsl #3
14342
+ ldr r2, [sp, #4]
14343
+ uxtah r0, r3, fp
14344
+ mov r1, r9
14345
+ strh r2, [r6, #16] @ movhi
1408414346 mov r2, r8
14085
- strh r5, [r7, #18] @ movhi
14347
+ strh r10, [r6, #18] @ movhi
14348
+ strh r8, [r6, #20] @ movhi
1408614349 bl memcpy
14087
- uxth r3, r6
14088
- ldrh r6, [r4, #14]
14089
- add r5, r5, r3
14090
- subs r6, r6, r3
14350
+ uxth r3, r7
14351
+ ldrh r7, [r4, #14]
14352
+ add r10, r10, r3
14353
+ strh r10, [r4, #12] @ movhi
14354
+ subs r7, r7, r3
1409114355 ldr r3, [sp, #12]
14092
- strh r5, [r4, #12] @ movhi
14093
- add r6, r6, r3
14094
- strh r6, [r4, #14] @ movhi
14095
-.L2055:
14356
+ add r7, r7, r3
14357
+ strh r7, [r4, #14] @ movhi
14358
+.L2023:
14359
+ add r2, r4, #61440
1409614360 ldr r3, [r4, #4]
14097
- movw r2, #65532
1409814361 adds r3, r3, #1
1409914362 str r3, [r4, #4]
14100
- str r3, [r4, r2]
14363
+ str r3, [r2, #4092]
1410114364 ldrh r3, [r4, #8]
1410214365 adds r3, r3, #1
1410314366 uxth r3, r3
....@@ -14105,57 +14368,61 @@
1410514368 it hi
1410614369 movhi r3, #0
1410714370 strh r3, [r4, #8] @ movhi
14108
- ldr r3, .L2067
14371
+ ldr r3, .L2035
1410914372 ldr r3, [r3, #3692]
14110
-.L2066:
14111
- ldr r0, [sp, #4]
14373
+.L2034:
14374
+ ldr r0, [sp, #8]
1411214375 mov r2, r4
1411314376 movs r1, #128
1411414377 lsls r0, r0, #7
1411514378 blx r3
1411614379 movs r0, #0
14117
-.L2048:
14380
+.L2016:
1411814381 add sp, sp, #28
1411914382 @ sp needed
1412014383 pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
14121
-.L2054:
14122
- ldrh r9, [r5, #20]
14123
- add r0, fp, r10
14384
+.L2022:
1412414385 ldrh r2, [r5, #16]
14125
- adds r7, r7, #1
14126
- ldrh r1, [r5, #18]
14127
- strh r9, [r5, #12] @ movhi
14128
- add r9, r9, #63
14129
- bic r9, r9, #63
14386
+ add r0, r3, fp
1413014387 strh r2, [r5, #8] @ movhi
14388
+ adds r6, r6, #1
14389
+ ldrh r2, [r5, #20]
14390
+ ldrh r1, [r5, #18]
14391
+ strh r2, [r5, #12] @ movhi
14392
+ adds r2, r2, #63
1413114393 strh r10, [r5, #10] @ movhi
14132
- mov r2, r9
14133
- add r1, r1, fp
14394
+ bic r10, r2, #63
14395
+ add r1, r1, r3
14396
+ mov r2, r10
1413414397 str r3, [sp, #20]
14135
- add r10, r10, r9
14398
+ add fp, fp, r10
1413614399 bl memcpy
1413714400 ldr r3, [sp, #20]
14138
- b .L2053
14139
-.L2052:
14401
+ b .L2021
14402
+.L2020:
1414014403 ldrh r0, [r5, #18]
1414114404 mov r2, r8
14142
- mov r1, r3
14143
- add r0, r0, fp
14405
+ mov r1, r9
14406
+ add r0, r0, r3
1414414407 bl memcpy
1414514408 strh r8, [r5, #20] @ movhi
14146
- b .L2055
14147
-.L2051:
14148
- adds r7, r7, #1
14149
- b .L2050
14150
-.L2063:
14409
+ b .L2023
14410
+.L2019:
14411
+ adds r6, r6, #1
14412
+ b .L2018
14413
+.L2031:
1415114414 mov r0, #-1
14152
- b .L2048
14153
-.L2068:
14415
+ b .L2016
14416
+.L2036:
1415414417 .align 2
14155
-.L2067:
14418
+.L2035:
1415614419 .word .LANCHOR0
1415714420 .fnend
1415814421 .size rk_sftl_vendor_write, .-rk_sftl_vendor_write
14422
+ .section .rodata.str1.1
14423
+.LC133:
14424
+ .ascii "copy_from_user error %d %p %p\012\000"
14425
+ .text
1415914426 .align 1
1416014427 .global rk_sftl_vendor_storage_ioctl
1416114428 .syntax unified
....@@ -14167,168 +14434,118 @@
1416714434 .fnstart
1416814435 @ args = 0, pretend = 0, frame = 0
1416914436 @ frame_needed = 0, uses_anonymous_args = 0
14170
- push {r3, r4, r5, r6, r7, lr}
14171
- .save {r3, r4, r5, r6, r7, lr}
14437
+ push {r4, r5, r6, lr}
14438
+ .save {r4, r5, r6, lr}
1417214439 mov r0, #4096
1417314440 mov r6, r1
14174
- mov r5, r2
14441
+ mov r4, r2
1417514442 bl ftl_malloc
14176
- mov r4, r0
14443
+ mov r5, r0
1417714444 cmp r0, #0
14178
- beq .L2085
14179
- ldr r3, .L2093
14445
+ beq .L2048
14446
+ ldr r3, .L2055
1418014447 cmp r6, r3
14181
- beq .L2072
14448
+ beq .L2039
1418214449 adds r3, r3, #1
1418314450 cmp r6, r3
14184
- beq .L2073
14185
-.L2091:
14186
- mvn r5, #13
14187
- b .L2071
14188
-.L2072:
14189
- ldr r6, .L2093+4
14451
+ beq .L2040
14452
+.L2053:
14453
+ mvn r4, #13
14454
+.L2041:
14455
+ mov r0, r5
14456
+ bl kfree
14457
+.L2037:
14458
+ mov r0, r4
14459
+ pop {r4, r5, r6, pc}
14460
+.L2039:
14461
+ mov r1, r4
14462
+ movs r2, #8
14463
+ bl _copy_from_user
14464
+ cbz r0, .L2042
14465
+ mov r2, r4
14466
+ mov r1, #256
14467
+.L2054:
14468
+ ldr r0, .L2055+4
14469
+ bl sftl_printk
14470
+ b .L2053
14471
+.L2042:
14472
+ ldr r2, [r5]
14473
+ ldr r3, .L2055+8
14474
+ cmp r2, r3
14475
+ beq .L2043
14476
+.L2044:
14477
+ mov r4, #-1
14478
+ b .L2041
14479
+.L2043:
14480
+ ldrh r2, [r5, #6]
14481
+ add r1, r5, #8
14482
+ ldrh r0, [r5, #4]
14483
+ bl rk_sftl_vendor_read
14484
+ adds r3, r0, #1
14485
+ beq .L2044
1419014486 mov r3, sp
14191
- ands r3, r3, r6
14487
+ strh r0, [r5, #6] @ movhi
14488
+ bic r3, r3, #8160
14489
+ uxth r2, r0
14490
+ bic r3, r3, #31
14491
+ adds r2, r2, #8
1419214492 ldr r3, [r3, #8]
1419314493 .syntax unified
14194
-@ 114 "./include/linux/uaccess.h" 1
14195
- adds r2, r5, #8; sbcccs r2, r2, r3; movcc r3, #0
14196
-@ 0 "" 2
14197
- .thumb
14494
+@ 177 "./include/linux/uaccess.h" 1
1419814495 .syntax unified
14199
- movs r2, #8
14200
- cbnz r3, .L2074
14201
- mov r1, r5
14202
- bl arm_copy_from_user
14203
- mov r2, r0
14204
- cmp r0, #0
14205
- beq .L2075
14206
-.L2074:
14207
- rsb r0, r2, #8
14208
- movs r1, #0
14209
- add r0, r0, r4
14210
- bl memset
14211
- mov r2, r5
14212
- mov r1, #256
14213
-.L2092:
14214
- ldr r0, .L2093+8
14215
- bl sftl_printk
14216
- b .L2091
14217
-.L2076:
14218
- mov r3, sp
14219
- uxth r2, r0
14220
- ands r6, r6, r3
14221
- strh r0, [r4, #6] @ movhi
14222
- adds r2, r2, #8
14223
- ldr r3, [r6, #8]
14224
- .syntax unified
14225
-@ 132 "./include/linux/uaccess.h" 1
14226
- adds r1, r5, r2; sbcccs r1, r1, r3; movcc r3, #0
14496
+adds r1, r4, r2; sbcscc r1, r1, r3; movcc r3, #0
1422714497 @ 0 "" 2
1422814498 .thumb
1422914499 .syntax unified
1423014500 cmp r3, #0
14231
- bne .L2091
14501
+ bne .L2053
14502
+ mov r0, r4
14503
+ mov r1, r5
14504
+ bl arm_copy_to_user
14505
+ mov r4, r0
14506
+ cmp r0, #0
14507
+ beq .L2041
14508
+ b .L2053
14509
+.L2040:
14510
+ mov r1, r4
14511
+ movs r2, #8
14512
+ bl _copy_from_user
14513
+ cbz r0, .L2046
14514
+ mov r2, r4
14515
+ mov r1, #276
14516
+ b .L2054
14517
+.L2046:
14518
+ ldr r2, [r5]
14519
+ ldr r3, .L2055+8
14520
+ cmp r2, r3
14521
+ bne .L2044
14522
+ ldrh r2, [r5, #6]
14523
+ movw r3, #4087
14524
+ cmp r2, r3
14525
+ bhi .L2044
14526
+ adds r2, r2, #8
1423214527 mov r1, r4
1423314528 mov r0, r5
14234
- bl arm_copy_to_user
14235
- cmp r0, #0
14236
- bne .L2091
14237
-.L2088:
14238
- mov r5, r0
14239
- b .L2071
14240
-.L2073:
14241
- ldr r7, .L2093+4
14242
- mov r3, sp
14243
- ands r3, r3, r7
14244
- ldr r3, [r3, #8]
14245
- .syntax unified
14246
-@ 114 "./include/linux/uaccess.h" 1
14247
- adds r2, r5, #8; sbcccs r2, r2, r3; movcc r3, #0
14248
-@ 0 "" 2
14249
- .thumb
14250
- .syntax unified
14251
- movs r2, #8
14252
- cbnz r3, .L2078
14253
- mov r1, r5
14254
- bl arm_copy_from_user
14255
- mov r2, r0
14256
- cbz r0, .L2079
14257
-.L2078:
14258
- rsb r0, r2, #8
14259
- movs r1, #0
14260
- add r0, r0, r4
14261
- bl memset
14262
- mov r2, r5
14263
- mov r1, #276
14264
- b .L2092
14265
-.L2085:
14266
- mov r5, #-1
14267
- b .L2069
14268
-.L2075:
14269
- ldr r2, [r4]
14270
- ldr r3, .L2093+12
14271
- cmp r2, r3
14272
- bne .L2080
14273
- ldrh r2, [r4, #6]
14274
- add r1, r4, #8
14275
- ldrh r0, [r4, #4]
14276
- bl rk_sftl_vendor_read
14277
- adds r3, r0, #1
14278
- bne .L2076
14279
-.L2080:
14280
- mov r5, #-1
14281
-.L2071:
14282
- mov r0, r4
14283
- bl kfree
14284
-.L2069:
14285
- mov r0, r5
14286
- pop {r3, r4, r5, r6, r7, pc}
14287
-.L2079:
14288
- ldr r2, [r4]
14289
- ldr r3, .L2093+12
14290
- cmp r2, r3
14291
- bne .L2080
14292
- ldrh r6, [r4, #6]
14293
- movw r3, #4087
14294
- cmp r6, r3
14295
- bhi .L2080
14296
- mov r3, sp
14297
- adds r6, r6, #8
14298
- ands r7, r7, r3
14299
- ldr r3, [r7, #8]
14300
- .syntax unified
14301
-@ 114 "./include/linux/uaccess.h" 1
14302
- adds r2, r5, r6; sbcccs r2, r2, r3; movcc r3, #0
14303
-@ 0 "" 2
14304
- .thumb
14305
- .syntax unified
14306
- mov r2, r6
14307
- cbnz r3, .L2081
14308
- mov r1, r5
14309
- mov r0, r4
14310
- bl arm_copy_from_user
14311
- mov r2, r0
14312
- cbz r0, .L2082
14313
-.L2081:
14314
- subs r6, r6, r2
14315
- movs r1, #0
14316
- adds r0, r4, r6
14317
- bl memset
14318
- mov r2, r5
14529
+ uxth r2, r2
14530
+ bl _copy_from_user
14531
+ cbz r0, .L2047
14532
+ mov r2, r4
1431914533 movw r1, #283
14320
- b .L2092
14321
-.L2082:
14322
- ldrh r2, [r4, #6]
14323
- add r1, r4, #8
14324
- ldrh r0, [r4, #4]
14534
+ b .L2054
14535
+.L2047:
14536
+ ldrh r2, [r5, #6]
14537
+ add r1, r5, #8
14538
+ ldrh r0, [r5, #4]
1432514539 bl rk_sftl_vendor_write
14326
- b .L2088
14327
-.L2094:
14540
+ mov r4, r0
14541
+ b .L2041
14542
+.L2048:
14543
+ mov r4, #-1
14544
+ b .L2037
14545
+.L2056:
1432814546 .align 2
14329
-.L2093:
14547
+.L2055:
1433014548 .word 1074034177
14331
- .word -8192
1433214549 .word .LC133
1433314550 .word 1448232273
1433414551 .fnend
....@@ -14345,14 +14562,17 @@
1434514562 @ args = 0, pretend = 0, frame = 0
1434614563 @ frame_needed = 0, uses_anonymous_args = 0
1434714564 @ link register save eliminated.
14348
- ldr r0, .L2096
14565
+ ldr r0, .L2058
1434914566 b misc_register
14350
-.L2097:
14567
+.L2059:
1435114568 .align 2
14352
-.L2096:
14569
+.L2058:
1435314570 .word .LANCHOR2+12
1435414571 .fnend
1435514572 .size rk_sftl_vendor_register, .-rk_sftl_vendor_register
14573
+ .section .rodata.str1.1
14574
+.LC134:
14575
+ .ascii "vendor_storage\000"
1435614576 .global g_nand_ops
1435714577 .global g_nand_phy_info
1435814578 .global gc_ink_free_return_value
....@@ -14502,164 +14722,164 @@
1450214722 .global c_ftl_nand_die_num
1450314723 .global c_ftl_nand_type
1450414724 .section .rodata
14505
- .align 3
14725
+ .align 2
1450614726 .set .LANCHOR1,. + 0
14507
- .type __func__.7563, %object
14508
- .size __func__.7563, 17
14509
-__func__.7563:
14727
+ .type __func__.30, %object
14728
+ .size __func__.30, 17
14729
+__func__.30:
1451014730 .ascii "INSERT_DATA_LIST\000"
14511
- .type __func__.7558, %object
14512
- .size __func__.7558, 17
14513
-__func__.7558:
14731
+ .type __func__.31, %object
14732
+ .size __func__.31, 17
14733
+__func__.31:
1451414734 .ascii "INSERT_FREE_LIST\000"
14515
- .type __func__.7594, %object
14516
- .size __func__.7594, 17
14517
-__func__.7594:
14735
+ .type __func__.29, %object
14736
+ .size __func__.29, 17
14737
+__func__.29:
1451814738 .ascii "List_remove_node\000"
14519
- .type __func__.7626, %object
14520
- .size __func__.7626, 22
14521
-__func__.7626:
14739
+ .type __func__.28, %object
14740
+ .size __func__.28, 22
14741
+__func__.28:
1452214742 .ascii "List_update_data_list\000"
14523
- .type __func__.7733, %object
14524
- .size __func__.7733, 22
14525
-__func__.7733:
14743
+ .type __func__.22, %object
14744
+ .size __func__.22, 22
14745
+__func__.22:
1452614746 .ascii "select_l2p_ram_region\000"
14527
- .type __func__.8053, %object
14528
- .size __func__.8053, 16
14529
-__func__.8053:
14747
+ .type __func__.14, %object
14748
+ .size __func__.14, 16
14749
+__func__.14:
1453014750 .ascii "make_superblock\000"
14531
- .type __func__.8229, %object
14532
- .size __func__.8229, 19
14533
-__func__.8229:
14751
+ .type __func__.8, %object
14752
+ .size __func__.8, 19
14753
+__func__.8:
1453414754 .ascii "get_new_active_ppa\000"
14535
- .type __func__.13983, %object
14536
- .size __func__.13983, 17
14537
-__func__.13983:
14755
+ .type __func__.1, %object
14756
+ .size __func__.1, 17
14757
+__func__.1:
1453814758 .ascii "FlashEraseBlocks\000"
14539
- .type __func__.7668, %object
14540
- .size __func__.7668, 26
14541
-__func__.7668:
14759
+ .type __func__.26, %object
14760
+ .size __func__.26, 26
14761
+__func__.26:
1454214762 .ascii "ftl_map_blk_alloc_new_blk\000"
14543
- .type __func__.7173, %object
14544
- .size __func__.7173, 11
14545
-__func__.7173:
14763
+ .type __func__.37, %object
14764
+ .size __func__.37, 11
14765
+__func__.37:
1454614766 .ascii "FtlMemInit\000"
14547
- .type __func__.7400, %object
14548
- .size __func__.7400, 14
14549
-__func__.7400:
14767
+ .type __func__.34, %object
14768
+ .size __func__.34, 14
14769
+__func__.34:
1455014770 .ascii "FtlBbt2Bitmap\000"
14551
- .type __func__.8074, %object
14552
- .size __func__.8074, 18
14553
-__func__.8074:
14771
+ .type __func__.13, %object
14772
+ .size __func__.13, 18
14773
+__func__.13:
1455414774 .ascii "SupperBlkListInit\000"
14555
- .type __func__.13940, %object
14556
- .size __func__.13940, 15
14557
-__func__.13940:
14775
+ .type __func__.3, %object
14776
+ .size __func__.3, 15
14777
+__func__.3:
1455814778 .ascii "FlashReadPages\000"
14559
- .type __func__.7845, %object
14560
- .size __func__.7845, 14
14561
-__func__.7845:
14779
+ .type __func__.19, %object
14780
+ .size __func__.19, 14
14781
+__func__.19:
1456214782 .ascii "FtlScanSysBlk\000"
14563
- .type __func__.7443, %object
14564
- .size __func__.7443, 11
14565
-__func__.7443:
14783
+ .type __func__.32, %object
14784
+ .size __func__.32, 11
14785
+__func__.32:
1456614786 .ascii "FtlLoadBbt\000"
14567
- .type __func__.13959, %object
14568
- .size __func__.13959, 15
14569
-__func__.13959:
14787
+ .type __func__.2, %object
14788
+ .size __func__.2, 15
14789
+__func__.2:
1457014790 .ascii "FlashProgPages\000"
14571
- .type __func__.8201, %object
14572
- .size __func__.8201, 25
14573
-__func__.8201:
14791
+ .type __func__.10, %object
14792
+ .size __func__.10, 25
14793
+__func__.10:
1457414794 .ascii "allocate_data_superblock\000"
14575
- .type __func__.8242, %object
14576
- .size __func__.8242, 16
14577
-__func__.8242:
14795
+ .type __func__.7, %object
14796
+ .size __func__.7, 16
14797
+__func__.7:
1457814798 .ascii "update_vpc_list\000"
14579
- .type __func__.8249, %object
14580
- .size __func__.8249, 20
14581
-__func__.8249:
14799
+ .type __func__.6, %object
14800
+ .size __func__.6, 20
14801
+__func__.6:
1458214802 .ascii "decrement_vpc_count\000"
14583
- .type __func__.7694, %object
14584
- .size __func__.7694, 31
14585
-__func__.7694:
14586
- .ascii "Ftl_write_map_blk_to_last_page\000"
14587
- .type __func__.7708, %object
14588
- .size __func__.7708, 16
14589
-__func__.7708:
14803
+ .type __func__.23, %object
14804
+ .size __func__.23, 16
14805
+__func__.23:
1459014806 .ascii "FtlMapWritePage\000"
14591
- .type __func__.7635, %object
14592
- .size __func__.7635, 16
14593
-__func__.7635:
14807
+ .type __func__.27, %object
14808
+ .size __func__.27, 16
14809
+__func__.27:
1459414810 .ascii "load_l2p_region\000"
14595
- .type __func__.7679, %object
14596
- .size __func__.7679, 15
14597
-__func__.7679:
14811
+ .type __func__.25, %object
14812
+ .size __func__.25, 15
14813
+__func__.25:
1459814814 .ascii "ftl_map_blk_gc\000"
14599
- .type __func__.7750, %object
14600
- .size __func__.7750, 9
14601
-__func__.7750:
14815
+ .type __func__.24, %object
14816
+ .size __func__.24, 31
14817
+__func__.24:
14818
+ .ascii "Ftl_write_map_blk_to_last_page\000"
14819
+ .type __func__.21, %object
14820
+ .size __func__.21, 9
14821
+__func__.21:
1460214822 .ascii "log2phys\000"
14603
- .type __func__.7962, %object
14604
- .size __func__.7962, 16
14605
-__func__.7962:
14823
+ .type __func__.16, %object
14824
+ .size __func__.16, 16
14825
+__func__.16:
1460614826 .ascii "FtlReUsePrevPpa\000"
14607
- .type __func__.7996, %object
14608
- .size __func__.7996, 22
14609
-__func__.7996:
14827
+ .type __func__.15, %object
14828
+ .size __func__.15, 22
14829
+__func__.15:
1461014830 .ascii "FtlRecoverySuperblock\000"
14611
- .type __func__.8116, %object
14612
- .size __func__.8116, 14
14613
-__func__.8116:
14831
+ .type __func__.11, %object
14832
+ .size __func__.11, 14
14833
+__func__.11:
1461414834 .ascii "ftl_check_vpc\000"
14615
- .type __func__.7823, %object
14616
- .size __func__.7823, 15
14617
-__func__.7823:
14835
+ .type __func__.20, %object
14836
+ .size __func__.20, 15
14837
+__func__.20:
1461814838 .ascii "FtlVpcTblFlush\000"
14619
- .type __func__.8099, %object
14620
- .size __func__.8099, 21
14621
-__func__.8099:
14839
+ .type __func__.12, %object
14840
+ .size __func__.12, 21
14841
+__func__.12:
1462214842 .ascii "FtlVpcCheckAndModify\000"
14623
- .type __func__.8222, %object
14624
- .size __func__.8222, 29
14625
-__func__.8222:
14843
+ .type __func__.9, %object
14844
+ .size __func__.9, 29
14845
+__func__.9:
1462614846 .ascii "allocate_new_data_superblock\000"
14627
- .type __func__.7297, %object
14628
- .size __func__.7297, 13
14629
-__func__.7297:
14847
+ .type __func__.36, %object
14848
+ .size __func__.36, 13
14849
+__func__.36:
1463014850 .ascii "FtlProgPages\000"
14631
- .type __func__.8319, %object
14632
- .size __func__.8319, 19
14633
-__func__.8319:
14851
+ .type __func__.5, %object
14852
+ .size __func__.5, 19
14853
+__func__.5:
1463414854 .ascii "FtlGcFreeTempBlock\000"
14635
- .type __func__.8432, %object
14636
- .size __func__.8432, 23
14637
-__func__.8432:
14855
+ .type __func__.4, %object
14856
+ .size __func__.4, 23
14857
+__func__.4:
1463814858 .ascii "rk_ftl_garbage_collect\000"
14639
- .type __func__.7325, %object
14640
- .size __func__.7325, 9
14641
-__func__.7325:
14859
+ .type __func__.35, %object
14860
+ .size __func__.35, 9
14861
+__func__.35:
1464214862 .ascii "FtlWrite\000"
14643
- .type __func__.7894, %object
14644
- .size __func__.7894, 15
14645
-__func__.7894:
14863
+ .type __func__.18, %object
14864
+ .size __func__.18, 15
14865
+__func__.18:
1464614866 .ascii "FtlLoadSysInfo\000"
14647
- .type __func__.7916, %object
14648
- .size __func__.7916, 18
14649
-__func__.7916:
14867
+ .type __func__.17, %object
14868
+ .size __func__.17, 18
14869
+__func__.17:
1465014870 .ascii "FtlMapTblRecovery\000"
14651
- .type __func__.14102, %object
14652
- .size __func__.14102, 14
14653
-__func__.14102:
14871
+ .type __func__.0, %object
14872
+ .size __func__.0, 14
14873
+__func__.0:
1465414874 .ascii "FtlWriteToIDB\000"
1465514875 .space 1
1465614876 .type rk_sftl_vendor_storage_fops, %object
14657
- .size rk_sftl_vendor_storage_fops, 160
14877
+ .size rk_sftl_vendor_storage_fops, 128
1465814878 rk_sftl_vendor_storage_fops:
14659
- .space 36
14879
+ .space 40
1466014880 .word rk_sftl_vendor_storage_ioctl
1466114881 .word rk_sftl_vendor_storage_ioctl
14662
- .space 116
14882
+ .space 80
1466314883 .data
1466414884 .align 2
1466514885 .set .LANCHOR2,. + 0
....@@ -15311,281 +15531,5 @@
1531115531 .size gp_last_act_superblock, 4
1531215532 gp_last_act_superblock:
1531315533 .space 4
15314
- .section .rodata.str1.1,"aMS",%progbits,1
15315
-.LC0:
15316
- .ascii "SFTL version: 5.0.58 20220814\000"
15317
-.LC1:
15318
- .ascii "\012%s\012\000"
15319
-.LC2:
15320
- .ascii "act blk: %x %x %x %x %x %x\012\000"
15321
-.LC3:
15322
- .ascii "buf blk: %x %x %x %x %x %x\012\000"
15323
-.LC4:
15324
- .ascii "tmp blk: %x %x %x %x %x %x\012\000"
15325
-.LC5:
15326
- .ascii "gc blk: %x %x %x %x %x %x\012\000"
15327
-.LC6:
15328
- .ascii "free blk: %x %x %x\012\000"
15329
-.LC7:
15330
- .ascii "phyBlk = 0x%x die = %d block_in_die = 0x%x 0x%8x\012"
15331
- .ascii "\000"
15332
-.LC8:
15333
- .ascii "\012!!!!! error @ func:%s - line:%d\012\000"
15334
-.LC9:
15335
- .ascii "FLASH INFO:\012\000"
15336
-.LC10:
15337
- .ascii "Device Capacity: %d MB\012\000"
15338
-.LC11:
15339
- .ascii "FTL INFO:\012\000"
15340
-.LC12:
15341
- .ascii "g_MaxLpn = 0x%x\012\000"
15342
-.LC13:
15343
- .ascii "g_VaildLpn = 0x%x\012\000"
15344
-.LC14:
15345
- .ascii "read_page_count = 0x%x\012\000"
15346
-.LC15:
15347
- .ascii "discard_page_count = 0x%x\012\000"
15348
-.LC16:
15349
- .ascii "write_page_count = 0x%x\012\000"
15350
-.LC17:
15351
- .ascii "cache_write_count = 0x%x\012\000"
15352
-.LC18:
15353
- .ascii "l2p_write_count = 0x%x\012\000"
15354
-.LC19:
15355
- .ascii "gc_page_count = 0x%x\012\000"
15356
-.LC20:
15357
- .ascii "totle_write = %d MB\012\000"
15358
-.LC21:
15359
- .ascii "totle_read = %d MB\012\000"
15360
-.LC22:
15361
- .ascii "GSV = 0x%x\012\000"
15362
-.LC23:
15363
- .ascii "GDV = 0x%x\012\000"
15364
-.LC24:
15365
- .ascii "bad blk num = %d\012\000"
15366
-.LC25:
15367
- .ascii "free_superblocks = 0x%x\012\000"
15368
-.LC26:
15369
- .ascii "mlc_EC = 0x%x\012\000"
15370
-.LC27:
15371
- .ascii "slc_EC = 0x%x\012\000"
15372
-.LC28:
15373
- .ascii "avg_EC = 0x%x\012\000"
15374
-.LC29:
15375
- .ascii "sys_EC = 0x%x\012\000"
15376
-.LC30:
15377
- .ascii "max_EC = 0x%x\012\000"
15378
-.LC31:
15379
- .ascii "min_EC = 0x%x\012\000"
15380
-.LC32:
15381
- .ascii "PLT = 0x%x\012\000"
15382
-.LC33:
15383
- .ascii "POT = 0x%x\012\000"
15384
-.LC34:
15385
- .ascii "MaxSector = 0x%x\012\000"
15386
-.LC35:
15387
- .ascii "init_sys_blks_pp = 0x%x\012\000"
15388
-.LC36:
15389
- .ascii "sys_blks_pp = 0x%x\012\000"
15390
-.LC37:
15391
- .ascii "free sysblock = 0x%x\012\000"
15392
-.LC38:
15393
- .ascii "data_blks_pp = 0x%x\012\000"
15394
-.LC39:
15395
- .ascii "data_op_blks_pp = 0x%x\012\000"
15396
-.LC40:
15397
- .ascii "max_data_blks = 0x%x\012\000"
15398
-.LC41:
15399
- .ascii "Sys.id = 0x%x\012\000"
15400
-.LC42:
15401
- .ascii "Bbt.id = 0x%x\012\000"
15402
-.LC43:
15403
- .ascii "ACT.page = 0x%x\012\000"
15404
-.LC44:
15405
- .ascii "ACT.plane = 0x%x\012\000"
15406
-.LC45:
15407
- .ascii "ACT.id = 0x%x\012\000"
15408
-.LC46:
15409
- .ascii "ACT.mode = 0x%x\012\000"
15410
-.LC47:
15411
- .ascii "ACT.a_pages = 0x%x\012\000"
15412
-.LC48:
15413
- .ascii "ACT VPC = 0x%x\012\000"
15414
-.LC49:
15415
- .ascii "BUF.page = 0x%x\012\000"
15416
-.LC50:
15417
- .ascii "BUF.plane = 0x%x\012\000"
15418
-.LC51:
15419
- .ascii "BUF.id = 0x%x\012\000"
15420
-.LC52:
15421
- .ascii "BUF.mode = 0x%x\012\000"
15422
-.LC53:
15423
- .ascii "BUF.a_pages = 0x%x\012\000"
15424
-.LC54:
15425
- .ascii "BUF VPC = 0x%x\012\000"
15426
-.LC55:
15427
- .ascii "TMP.page = 0x%x\012\000"
15428
-.LC56:
15429
- .ascii "TMP.plane = 0x%x\012\000"
15430
-.LC57:
15431
- .ascii "TMP.id = 0x%x\012\000"
15432
-.LC58:
15433
- .ascii "TMP.mode = 0x%x\012\000"
15434
-.LC59:
15435
- .ascii "TMP.a_pages = 0x%x\012\000"
15436
-.LC60:
15437
- .ascii "GC.page = 0x%x\012\000"
15438
-.LC61:
15439
- .ascii "GC.plane = 0x%x\012\000"
15440
-.LC62:
15441
- .ascii "GC.id = 0x%x\012\000"
15442
-.LC63:
15443
- .ascii "GC.mode = 0x%x\012\000"
15444
-.LC64:
15445
- .ascii "GC.a_pages = 0x%x\012\000"
15446
-.LC65:
15447
- .ascii "WR_CHK = %x %x %x\012\000"
15448
-.LC66:
15449
- .ascii "Read Err Cnt = 0x%x\012\000"
15450
-.LC67:
15451
- .ascii "Prog Err Cnt = 0x%x\012\000"
15452
-.LC68:
15453
- .ascii "gc_free_blk_th= 0x%x\012\000"
15454
-.LC69:
15455
- .ascii "gc_merge_free_blk_th= 0x%x\012\000"
15456
-.LC70:
15457
- .ascii "gc_skip_write_count= 0x%x\012\000"
15458
-.LC71:
15459
- .ascii "gc_blk_index= 0x%x\012\000"
15460
-.LC72:
15461
- .ascii "free min EC= 0x%x\012\000"
15462
-.LC73:
15463
- .ascii "free max EC= 0x%x\012\000"
15464
-.LC74:
15465
- .ascii "GC__SB VPC = 0x%x\012\000"
15466
-.LC75:
15467
- .ascii "%d. [0x%x]=0x%x 0x%x 0x%x\012\000"
15468
-.LC76:
15469
- .ascii "free %d. [0x%x] 0x%x 0x%x\012\000"
15470
-.LC77:
15471
- .ascii "%s\012\000"
15472
-.LC78:
15473
- .ascii "swblk %x ,avg = %x max= %x vpc= %x,ec=%x ,max ec=%x"
15474
- .ascii "\012\000"
15475
-.LC79:
15476
- .ascii "FtlGcRefreshBlock 0x%x\012\000"
15477
-.LC80:
15478
- .ascii "FtlGcMarkBadPhyBlk %d 0x%x\012\000"
15479
-.LC81:
15480
- .ascii "%s %p + 0x%x:\000"
15481
-.LC82:
15482
- .ascii "0x%08x,\000"
15483
-.LC83:
15484
- .ascii "0x%04x,\000"
15485
-.LC84:
15486
- .ascii "0x%02x,\000"
15487
-.LC85:
15488
- .ascii "\012\000"
15489
-.LC86:
15490
- .ascii "%s: addr: %x is in id block!!!!!!!!!!\012\000"
15491
-.LC87:
15492
- .ascii "not free: w: d:\000"
15493
-.LC88:
15494
- .ascii "not free: w: s:\000"
15495
-.LC89:
15496
- .ascii "FtlFreeSysBlkQueueOut = %x, free count = %d, error\012"
15497
- .ascii "\000"
15498
-.LC90:
15499
- .ascii "FtlFreeSysBlkQueueOut = %x, free count = %d\012\000"
15500
-.LC91:
15501
- .ascii "%s error allocating memory. return -1\012\000"
15502
-.LC92:
15503
- .ascii "FlashReadPages %x %x error_ecc_bits %d\012\000"
15504
-.LC93:
15505
- .ascii "data:\000"
15506
-.LC94:
15507
- .ascii "spare:\000"
15508
-.LC95:
15509
- .ascii "prog read error: = %x\012\000"
15510
-.LC96:
15511
- .ascii "prog read REFRESH: = %x\012\000"
15512
-.LC97:
15513
- .ascii "prog read s error: = %x %x %x %x %x\012\000"
15514
-.LC98:
15515
- .ascii "prog read d error: = %x %x %x %x %x\012\000"
15516
-.LC99:
15517
- .ascii "FtlBbmTblFlush id=%x,page=%x,previd=%x cnt=%d\012\000"
15518
-.LC100:
15519
- .ascii "FtlBbmTblFlush error:%x\012\000"
15520
-.LC101:
15521
- .ascii "FtlBbmTblFlush error = %x error count = %d\012\000"
15522
-.LC102:
15523
- .ascii "FtlGcFreeBadSuperBlk 0x%x\012\000"
15524
-.LC103:
15525
- .ascii "decrement_vpc_count %x = %d\012\000"
15526
-.LC104:
15527
- .ascii "FtlMapWritePage error = %x \012\000"
15528
-.LC105:
15529
- .ascii "FtlMapWritePage error = %x error count = %d\012\000"
15530
-.LC106:
15531
- .ascii "region_id = %x phyAddr = %x\012\000"
15532
-.LC107:
15533
- .ascii "map_ppn:\000"
15534
-.LC108:
15535
- .ascii "load_l2p_region refresh = %x phyAddr = %x\012\000"
15536
-.LC109:
15537
- .ascii "data prev_ppa = %x error...................\012\000"
15538
-.LC110:
15539
- .ascii "spuer block %x vpn is 0\012 \000"
15540
-.LC111:
15541
- .ascii "...%s enter...\012\000"
15542
-.LC112:
15543
- .ascii "FtlCheckVpc2 %x = %x %x\012\000"
15544
-.LC113:
15545
- .ascii "free blk vpc error %x = %x %x\012\000"
15546
-.LC114:
15547
- .ascii "ftl_scan_all_data = %x\012\000"
15548
-.LC115:
15549
- .ascii "scan lpa = %x ppa= %x\012\000"
15550
-.LC116:
15551
- .ascii "lpa = %x,addr= %x,spare= %x %x %x %x data=%x %x\012"
15552
- .ascii "\000"
15553
-.LC117:
15554
- .ascii "FtlGcScanTempBlk Error ID %x %x!!!!!!! \012\000"
15555
-.LC118:
15556
- .ascii "FtlVendorPartRead refresh = %x phyAddr = %x\012\000"
15557
-.LC119:
15558
- .ascii "no ect\000"
15559
-.LC120:
15560
- .ascii "FtlVpcTblFlush error = %x error count = %d\012\000"
15561
-.LC121:
15562
- .ascii "FtlCheckVpc %x = %x %x\012\000"
15563
-.LC122:
15564
- .ascii "FtlProgPages error %x = %d\012\000"
15565
-.LC123:
15566
- .ascii "Ftlwrite decrement_vpc_count %x = %d\012\000"
15567
-.LC124:
15568
- .ascii "SWL %x, FSB = %x vpc= %x,ec=%x th=%x\012\000"
15569
-.LC125:
15570
- .ascii "FtlWrite: ecc error:%x %x %x\012\000"
15571
-.LC126:
15572
- .ascii "FtlWrite: lpa error:%x %x\012\000"
15573
-.LC127:
15574
- .ascii "%s hash error this.id =%x page =%x pre_id =%x hash "
15575
- .ascii "=%x hash_r =%x\012\000"
15576
-.LC128:
15577
- .ascii "%s last blk_id =%x page =%x hash error hash =%x has"
15578
- .ascii "h_r =%x\012\000"
15579
-.LC129:
15580
- .ascii "%s scan blk_id =%x page =%x hash error hash =%x has"
15581
- .ascii "h_r =%x\012\000"
15582
-.LC130:
15583
- .ascii "write_idblock %x %x\012\000"
15584
-.LC131:
15585
- .ascii "write_idblock fail! %x %x %x %x\012\000"
15586
-.LC132:
15587
- .ascii "%s idb buffer alloc fail\012\000"
15588
-.LC133:
15589
- .ascii "copy_from_user error %d %p %p\012\000"
15590
-.LC134:
15591
- .ascii "vendor_storage\000"
15534
+ .ident "GCC: (GNU Toolchain for the A-profile Architecture 10.3-2021.07 (arm-10.29)) 10.3.1 20210621"
15535
+ .section .note.GNU-stack,"",%progbits