.. | .. |
---|
1 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
---|
2 | 2 | |
---|
3 | | -/* Copyright (c) 2018 Rockchip Electronics Co. Ltd. |
---|
4 | | - * date: 2022-08-15 |
---|
| 3 | +/* Copyright (c) 2018-2023 Rockchip Electronics Co. Ltd. |
---|
| 4 | + * date: 2023-04-11 |
---|
5 | 5 | */ |
---|
6 | 6 | .arch armv7-a |
---|
7 | 7 | .eabi_attribute 20, 1 |
---|
.. | .. |
---|
14 | 14 | .eabi_attribute 34, 1 |
---|
15 | 15 | .eabi_attribute 18, 2 |
---|
16 | 16 | .file "rk_sftl.c" |
---|
| 17 | + .text |
---|
17 | 18 | .syntax divided |
---|
18 | 19 | .syntax unified |
---|
19 | 20 | .global __aeabi_uidiv |
---|
20 | 21 | .arm |
---|
21 | 22 | .syntax unified |
---|
22 | | - .text |
---|
23 | 23 | .align 2 |
---|
24 | 24 | .syntax unified |
---|
25 | 25 | .arm |
---|
26 | 26 | .fpu softvfp |
---|
27 | 27 | .type l2p_addr_tran, %function |
---|
28 | 28 | l2p_addr_tran: |
---|
29 | | - .fnstart |
---|
30 | 29 | @ args = 0, pretend = 0, frame = 0 |
---|
31 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
32 | | - ldr r3, .L4 |
---|
33 | | - push {r4, r5, r6, r7, r8, r9, r10, lr} |
---|
34 | | - .save {r4, r5, r6, r7, r8, r9, r10, lr} |
---|
35 | | - mov r8, r1 |
---|
36 | | - ldr r6, [r0, #4] |
---|
37 | | - mov r9, r2 |
---|
38 | | - ldrh r4, [r3, #8] |
---|
39 | | - ldrh r5, [r3, #10] |
---|
| 30 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 31 | + mov ip, sp |
---|
| 32 | + push {r4, r5, r6, r7, r8, r9, fp, ip, lr, pc} |
---|
| 33 | + sub fp, ip, #4 |
---|
| 34 | + push {lr} |
---|
| 35 | + bl __gnu_mcount_nc |
---|
| 36 | + ldr r3, .L3 |
---|
| 37 | + mov r7, r1 |
---|
| 38 | + mov r8, r2 |
---|
| 39 | + ldrh r9, [r3, #8] |
---|
| 40 | + ldrh r6, [r3, #10] |
---|
40 | 41 | ldrh r3, [r3, #14] |
---|
41 | | - lsr r7, r6, #10 |
---|
42 | | - ubfx r6, r6, #0, #10 |
---|
43 | | - uxth r0, r7 |
---|
44 | | - uxth r7, r7 |
---|
45 | 42 | cmp r3, #4 |
---|
46 | | - lsreq r4, r4, #1 |
---|
47 | | - lsleq r5, r5, #1 |
---|
48 | | - mov r1, r4 |
---|
49 | | - uxtheq r5, r5 |
---|
| 43 | + lsleq r4, r6, #1 |
---|
| 44 | + lsreq r9, r9, #1 |
---|
| 45 | + mov r1, r9 |
---|
| 46 | + uxtheq r6, r4 |
---|
| 47 | + ldr r4, [r0, #4] |
---|
| 48 | + lsr r5, r4, #10 |
---|
| 49 | + ubfx r0, r4, #10, #16 |
---|
50 | 50 | bl __aeabi_uidiv |
---|
51 | 51 | uxth r0, r0 |
---|
52 | | - mls r4, r0, r4, r7 |
---|
53 | | - mla r4, r5, r4, r6 |
---|
54 | | - str r4, [r8] |
---|
55 | | - str r0, [r9] |
---|
| 52 | + uxth r5, r5 |
---|
| 53 | + ubfx r4, r4, #0, #10 |
---|
| 54 | + mls r5, r0, r9, r5 |
---|
| 55 | + mla r4, r6, r5, r4 |
---|
| 56 | + str r4, [r7] |
---|
| 57 | + str r0, [r8] |
---|
56 | 58 | mov r0, #0 |
---|
57 | | - pop {r4, r5, r6, r7, r8, r9, r10, pc} |
---|
58 | | -.L5: |
---|
59 | | - .align 2 |
---|
| 59 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, fp, sp, pc} |
---|
60 | 60 | .L4: |
---|
| 61 | + .align 2 |
---|
| 62 | +.L3: |
---|
61 | 63 | .word .LANCHOR0 |
---|
62 | | - .fnend |
---|
63 | 64 | .size l2p_addr_tran, .-l2p_addr_tran |
---|
| 65 | + .align 2 |
---|
| 66 | + .syntax unified |
---|
| 67 | + .arm |
---|
| 68 | + .fpu softvfp |
---|
| 69 | + .type _copy_from_user, %function |
---|
| 70 | +_copy_from_user: |
---|
| 71 | + @ args = 0, pretend = 0, frame = 0 |
---|
| 72 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 73 | + mov ip, sp |
---|
| 74 | + push {r4, r5, r6, r7, fp, ip, lr, pc} |
---|
| 75 | + sub fp, ip, #4 |
---|
| 76 | + mov r3, sp |
---|
| 77 | + bic ip, r3, #8128 |
---|
| 78 | + mov r6, r0 |
---|
| 79 | + bic ip, ip, #63 |
---|
| 80 | + mov r4, r2 |
---|
| 81 | + ldr r3, [ip, #8] |
---|
| 82 | + .syntax divided |
---|
| 83 | +@ 157 "./include/linux/uaccess.h" 1 |
---|
| 84 | + .syntax unified |
---|
| 85 | +adds r5, r1, r2; sbcscc r5, r5, r3; movcc r3, #0 |
---|
| 86 | +@ 0 "" 2 |
---|
| 87 | + .arm |
---|
| 88 | + .syntax unified |
---|
| 89 | + cmp r3, #0 |
---|
| 90 | + bne .L8 |
---|
| 91 | + .syntax divided |
---|
| 92 | +@ 89 "./arch/arm/include/asm/domain.h" 1 |
---|
| 93 | + mrc p15, 0, r7, c3, c0 @ get domain |
---|
| 94 | +@ 0 "" 2 |
---|
| 95 | + .arm |
---|
| 96 | + .syntax unified |
---|
| 97 | + bic r3, r7, #12 |
---|
| 98 | + orr r3, r3, #4 |
---|
| 99 | + .syntax divided |
---|
| 100 | +@ 99 "./arch/arm/include/asm/domain.h" 1 |
---|
| 101 | + mcr p15, 0, r3, c3, c0 @ set domain |
---|
| 102 | +@ 0 "" 2 |
---|
| 103 | +@ 102 "./arch/arm/include/asm/domain.h" 1 |
---|
| 104 | + isb |
---|
| 105 | +@ 0 "" 2 |
---|
| 106 | + .arm |
---|
| 107 | + .syntax unified |
---|
| 108 | + bl arm_copy_from_user |
---|
| 109 | + mov r5, r0 |
---|
| 110 | + .syntax divided |
---|
| 111 | +@ 99 "./arch/arm/include/asm/domain.h" 1 |
---|
| 112 | + mcr p15, 0, r7, c3, c0 @ set domain |
---|
| 113 | +@ 0 "" 2 |
---|
| 114 | +@ 102 "./arch/arm/include/asm/domain.h" 1 |
---|
| 115 | + isb |
---|
| 116 | +@ 0 "" 2 |
---|
| 117 | + .arm |
---|
| 118 | + .syntax unified |
---|
| 119 | + cmp r0, #0 |
---|
| 120 | + beq .L5 |
---|
| 121 | +.L6: |
---|
| 122 | + sub r4, r4, r5 |
---|
| 123 | + mov r2, r5 |
---|
| 124 | + add r0, r6, r4 |
---|
| 125 | + mov r1, #0 |
---|
| 126 | + bl memset |
---|
| 127 | +.L5: |
---|
| 128 | + mov r0, r5 |
---|
| 129 | + ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} |
---|
| 130 | +.L8: |
---|
| 131 | + mov r5, r2 |
---|
| 132 | + b .L6 |
---|
| 133 | + .size _copy_from_user, .-_copy_from_user |
---|
| 134 | + .section .rodata.str1.1,"aMS",%progbits,1 |
---|
| 135 | +.LC0: |
---|
| 136 | + .ascii "SFTL version: 5.0.59 20221121\000" |
---|
| 137 | +.LC1: |
---|
| 138 | + .ascii "\012%s\012\000" |
---|
| 139 | +.LC2: |
---|
| 140 | + .ascii "act blk: %x %x %x %x %x %x\012\000" |
---|
| 141 | +.LC3: |
---|
| 142 | + .ascii "buf blk: %x %x %x %x %x %x\012\000" |
---|
| 143 | +.LC4: |
---|
| 144 | + .ascii "tmp blk: %x %x %x %x %x %x\012\000" |
---|
| 145 | +.LC5: |
---|
| 146 | + .ascii "gc blk: %x %x %x %x %x %x\012\000" |
---|
| 147 | +.LC6: |
---|
| 148 | + .ascii "free blk: %x %x %x\012\000" |
---|
| 149 | + .text |
---|
64 | 150 | .align 2 |
---|
65 | 151 | .global ftl_print_sblk_info |
---|
66 | 152 | .syntax unified |
---|
.. | .. |
---|
68 | 154 | .fpu softvfp |
---|
69 | 155 | .type ftl_print_sblk_info, %function |
---|
70 | 156 | ftl_print_sblk_info: |
---|
71 | | - .fnstart |
---|
72 | 157 | @ args = 0, pretend = 0, frame = 0 |
---|
73 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
74 | | - push {r0, r1, r2, r3, r4, lr} |
---|
75 | | - .save {r4, lr} |
---|
76 | | - .pad #16 |
---|
77 | | - ldr r4, .L8 |
---|
78 | | - ldr r1, .L8+4 |
---|
79 | | - ldr r0, .L8+8 |
---|
| 158 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 159 | + mov ip, sp |
---|
| 160 | + push {r4, fp, ip, lr, pc} |
---|
| 161 | + sub fp, ip, #4 |
---|
| 162 | + sub sp, sp, #20 |
---|
| 163 | + push {lr} |
---|
| 164 | + bl __gnu_mcount_nc |
---|
| 165 | + ldr r4, .L13 |
---|
| 166 | + ldr r1, .L13+4 |
---|
| 167 | + ldr r0, .L13+8 |
---|
80 | 168 | bl sftl_printk |
---|
| 169 | + ldr r0, .L13+12 |
---|
81 | 170 | ldrh r1, [r4, #24] |
---|
82 | | - ldr ip, [r4, #72] |
---|
83 | | - ldrb r3, [r4, #30] @ zero_extendqisi2 |
---|
| 171 | + ldr r2, [r4, #72] |
---|
| 172 | + lsl r3, r1, #1 |
---|
| 173 | + ldrh r3, [r2, r3] |
---|
| 174 | + str r3, [sp, #8] |
---|
| 175 | + ldrh r3, [r4, #28] |
---|
| 176 | + str r3, [sp, #4] |
---|
| 177 | + ldrb r3, [r4, #32] @ zero_extendqisi2 |
---|
84 | 178 | ldrh r2, [r4, #26] |
---|
85 | | - lsl r0, r1, #1 |
---|
86 | | - ldrh r0, [ip, r0] |
---|
87 | | - str r0, [sp, #8] |
---|
88 | | - ldrh r0, [r4, #28] |
---|
89 | | - str r0, [sp, #4] |
---|
90 | | - ldrb r0, [r4, #32] @ zero_extendqisi2 |
---|
91 | | - str r0, [sp] |
---|
92 | | - ldr r0, .L8+12 |
---|
| 179 | + str r3, [sp] |
---|
| 180 | + ldrb r3, [r4, #30] @ zero_extendqisi2 |
---|
93 | 181 | bl sftl_printk |
---|
94 | 182 | ldrh r1, [r4, #76] |
---|
95 | | - ldr ip, [r4, #72] |
---|
96 | | - ldrb r3, [r4, #82] @ zero_extendqisi2 |
---|
| 183 | + ldr r2, [r4, #72] |
---|
| 184 | + ldr r0, .L13+16 |
---|
| 185 | + lsl r3, r1, #1 |
---|
| 186 | + ldrh r3, [r2, r3] |
---|
| 187 | + str r3, [sp, #8] |
---|
| 188 | + ldrh r3, [r4, #80] |
---|
| 189 | + str r3, [sp, #4] |
---|
| 190 | + ldrb r3, [r4, #84] @ zero_extendqisi2 |
---|
97 | 191 | ldrh r2, [r4, #78] |
---|
98 | | - lsl r0, r1, #1 |
---|
99 | | - ldrh r0, [ip, r0] |
---|
100 | | - str r0, [sp, #8] |
---|
101 | | - ldrh r0, [r4, #80] |
---|
102 | | - str r0, [sp, #4] |
---|
103 | | - ldrb r0, [r4, #84] @ zero_extendqisi2 |
---|
104 | | - str r0, [sp] |
---|
105 | | - ldr r0, .L8+16 |
---|
| 192 | + str r3, [sp] |
---|
| 193 | + ldrb r3, [r4, #82] @ zero_extendqisi2 |
---|
106 | 194 | bl sftl_printk |
---|
107 | 195 | ldrh r1, [r4, #124] |
---|
108 | | - ldr ip, [r4, #72] |
---|
109 | | - ldrb r3, [r4, #130] @ zero_extendqisi2 |
---|
| 196 | + ldr r2, [r4, #72] |
---|
| 197 | + ldr r0, .L13+20 |
---|
| 198 | + lsl r3, r1, #1 |
---|
| 199 | + ldrh r3, [r2, r3] |
---|
| 200 | + str r3, [sp, #8] |
---|
| 201 | + ldrh r3, [r4, #128] |
---|
| 202 | + str r3, [sp, #4] |
---|
| 203 | + ldrb r3, [r4, #132] @ zero_extendqisi2 |
---|
110 | 204 | ldrh r2, [r4, #126] |
---|
111 | | - lsl r0, r1, #1 |
---|
112 | | - ldrh r0, [ip, r0] |
---|
113 | | - str r0, [sp, #8] |
---|
114 | | - ldrh r0, [r4, #128] |
---|
115 | | - str r0, [sp, #4] |
---|
116 | | - ldrb r0, [r4, #132] @ zero_extendqisi2 |
---|
117 | | - str r0, [sp] |
---|
118 | | - ldr r0, .L8+20 |
---|
| 205 | + str r3, [sp] |
---|
| 206 | + ldrb r3, [r4, #130] @ zero_extendqisi2 |
---|
119 | 207 | bl sftl_printk |
---|
120 | 208 | ldrh r1, [r4, #172] |
---|
121 | | - ldr ip, [r4, #72] |
---|
122 | | - ldrb r3, [r4, #178] @ zero_extendqisi2 |
---|
| 209 | + ldr r2, [r4, #72] |
---|
| 210 | + ldr r0, .L13+24 |
---|
| 211 | + lsl r3, r1, #1 |
---|
| 212 | + ldrh r3, [r2, r3] |
---|
| 213 | + str r3, [sp, #8] |
---|
| 214 | + ldrh r3, [r4, #176] |
---|
| 215 | + str r3, [sp, #4] |
---|
| 216 | + ldrb r3, [r4, #180] @ zero_extendqisi2 |
---|
123 | 217 | ldrh r2, [r4, #174] |
---|
124 | | - lsl r0, r1, #1 |
---|
125 | | - ldrh r0, [ip, r0] |
---|
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, .L8+24 |
---|
| 218 | + str r3, [sp] |
---|
| 219 | + ldrb r3, [r4, #178] @ zero_extendqisi2 |
---|
132 | 220 | bl sftl_printk |
---|
133 | 221 | ldrh r3, [r4, #220] |
---|
134 | 222 | ldrh r2, [r4, #222] |
---|
135 | 223 | ldrh r1, [r4, #224] |
---|
136 | | - ldr r0, .L8+28 |
---|
137 | | - add sp, sp, #16 |
---|
138 | | - @ sp needed |
---|
139 | | - pop {r4, lr} |
---|
140 | | - b sftl_printk |
---|
141 | | -.L9: |
---|
| 224 | + ldr r0, .L13+28 |
---|
| 225 | + bl sftl_printk |
---|
| 226 | + sub sp, fp, #16 |
---|
| 227 | + ldmfd sp, {r4, fp, sp, pc} |
---|
| 228 | +.L14: |
---|
142 | 229 | .align 2 |
---|
143 | | -.L8: |
---|
| 230 | +.L13: |
---|
144 | 231 | .word .LANCHOR0 |
---|
145 | 232 | .word .LC0 |
---|
146 | 233 | .word .LC1 |
---|
.. | .. |
---|
149 | 236 | .word .LC4 |
---|
150 | 237 | .word .LC5 |
---|
151 | 238 | .word .LC6 |
---|
152 | | - .fnend |
---|
153 | 239 | .size ftl_print_sblk_info, .-ftl_print_sblk_info |
---|
154 | 240 | .align 2 |
---|
155 | 241 | .global Ftl_log2 |
---|
.. | .. |
---|
158 | 244 | .fpu softvfp |
---|
159 | 245 | .type Ftl_log2, %function |
---|
160 | 246 | Ftl_log2: |
---|
161 | | - .fnstart |
---|
162 | 247 | @ args = 0, pretend = 0, frame = 0 |
---|
163 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
164 | | - @ link register save eliminated. |
---|
| 248 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 249 | + mov ip, sp |
---|
| 250 | + push {fp, ip, lr, pc} |
---|
| 251 | + sub fp, ip, #4 |
---|
| 252 | + push {lr} |
---|
| 253 | + bl __gnu_mcount_nc |
---|
165 | 254 | mov r1, #0 |
---|
166 | 255 | mov r2, #1 |
---|
167 | | -.L11: |
---|
168 | | - cmp r2, r0 |
---|
| 256 | +.L16: |
---|
169 | 257 | uxth r3, r1 |
---|
| 258 | + cmp r2, r0 |
---|
170 | 259 | add r1, r1, #1 |
---|
171 | | - bls .L12 |
---|
| 260 | + bls .L17 |
---|
172 | 261 | sub r0, r3, #1 |
---|
173 | 262 | uxth r0, r0 |
---|
174 | | - bx lr |
---|
175 | | -.L12: |
---|
| 263 | + ldmfd sp, {fp, sp, pc} |
---|
| 264 | +.L17: |
---|
176 | 265 | lsl r2, r2, #1 |
---|
177 | | - b .L11 |
---|
178 | | - .fnend |
---|
| 266 | + b .L16 |
---|
179 | 267 | .size Ftl_log2, .-Ftl_log2 |
---|
180 | 268 | .align 2 |
---|
181 | 269 | .global FtlPrintInfo |
---|
.. | .. |
---|
184 | 272 | .fpu softvfp |
---|
185 | 273 | .type FtlPrintInfo, %function |
---|
186 | 274 | FtlPrintInfo: |
---|
187 | | - .fnstart |
---|
188 | 275 | @ args = 0, pretend = 0, frame = 0 |
---|
189 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
190 | | - @ link register save eliminated. |
---|
191 | | - bx lr |
---|
192 | | - .fnend |
---|
| 276 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 277 | + mov ip, sp |
---|
| 278 | + push {fp, ip, lr, pc} |
---|
| 279 | + sub fp, ip, #4 |
---|
| 280 | + push {lr} |
---|
| 281 | + bl __gnu_mcount_nc |
---|
| 282 | + ldmfd sp, {fp, sp, pc} |
---|
193 | 283 | .size FtlPrintInfo, .-FtlPrintInfo |
---|
194 | 284 | .align 2 |
---|
195 | 285 | .global FtlSysBlkNumInit |
---|
.. | .. |
---|
198 | 288 | .fpu softvfp |
---|
199 | 289 | .type FtlSysBlkNumInit, %function |
---|
200 | 290 | FtlSysBlkNumInit: |
---|
201 | | - .fnstart |
---|
202 | 291 | @ args = 0, pretend = 0, frame = 0 |
---|
203 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
204 | | - @ link register save eliminated. |
---|
205 | | - ldr r3, .L15 |
---|
| 292 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 293 | + mov ip, sp |
---|
| 294 | + push {fp, ip, lr, pc} |
---|
| 295 | + sub fp, ip, #4 |
---|
| 296 | + push {lr} |
---|
| 297 | + bl __gnu_mcount_nc |
---|
| 298 | + ldr r3, .L20 |
---|
206 | 299 | cmp r0, #24 |
---|
207 | 300 | movcc r0, #24 |
---|
208 | 301 | ldrh r2, [r3, #232] |
---|
.. | .. |
---|
211 | 304 | mul r2, r0, r2 |
---|
212 | 305 | sub r0, r1, r0 |
---|
213 | 306 | ldr r1, [r3, #248] |
---|
214 | | - strh r0, [r3, #240] @ movhi |
---|
215 | | - mov r0, #0 |
---|
216 | 307 | str r2, [r3, #236] |
---|
| 308 | + strh r0, [r3, #240] @ movhi |
---|
217 | 309 | sub r2, r1, r2 |
---|
| 310 | + mov r0, #0 |
---|
218 | 311 | str r2, [r3, #244] |
---|
219 | | - bx lr |
---|
220 | | -.L16: |
---|
| 312 | + ldmfd sp, {fp, sp, pc} |
---|
| 313 | +.L21: |
---|
221 | 314 | .align 2 |
---|
222 | | -.L15: |
---|
| 315 | +.L20: |
---|
223 | 316 | .word .LANCHOR0 |
---|
224 | | - .fnend |
---|
225 | 317 | .size FtlSysBlkNumInit, .-FtlSysBlkNumInit |
---|
226 | 318 | .global __aeabi_idiv |
---|
227 | 319 | .align 2 |
---|
.. | .. |
---|
231 | 323 | .fpu softvfp |
---|
232 | 324 | .type FtlConstantsInit, %function |
---|
233 | 325 | FtlConstantsInit: |
---|
234 | | - .fnstart |
---|
235 | 326 | @ args = 0, pretend = 0, frame = 8 |
---|
236 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
237 | | - mov r3, r0 |
---|
238 | | - push {r0, r1, r2, r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
239 | | - .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
240 | | - .pad #12 |
---|
241 | | - ldrh ip, [r3, #14] |
---|
242 | | - movw r5, #258 |
---|
243 | | - ldr r4, .L32 |
---|
244 | | - ldrh r0, [r0] |
---|
245 | | - cmp ip, #4 |
---|
246 | | - ldrh r7, [r3, #2] |
---|
247 | | - ldrh lr, [r3, #4] |
---|
248 | | - add r1, r4, #256 |
---|
249 | | - ldrh r2, [r3, #6] |
---|
250 | | - strh r0, [r4, #252] @ movhi |
---|
251 | | - strh r7, [r4, #254] @ movhi |
---|
252 | | - strh lr, [r1] @ movhi |
---|
253 | | - strh r2, [r4, #242] @ movhi |
---|
254 | | - strh ip, [r4, r5] @ movhi |
---|
255 | | - bne .L18 |
---|
256 | | - lsr r2, r2, #1 |
---|
257 | | - strh r2, [r4, #242] @ movhi |
---|
258 | | - mov r2, #8 |
---|
259 | | - strh r2, [r4, r5] @ movhi |
---|
260 | | -.L19: |
---|
261 | | - ldr ip, .L32+4 |
---|
262 | | - mov r2, #0 |
---|
263 | | -.L20: |
---|
264 | | - strb r2, [r2, ip] |
---|
265 | | - add r2, r2, #1 |
---|
266 | | - cmp r2, #32 |
---|
267 | | - bne .L20 |
---|
268 | | - ldr r2, .L32+8 |
---|
269 | | - cmp r0, #1 |
---|
270 | | - mov ip, #5 |
---|
271 | | - ldrh r5, [r4, #242] |
---|
272 | | - ldr r8, .L32+12 |
---|
273 | | - mov lr, #0 |
---|
274 | | - strh ip, [r2] @ movhi |
---|
275 | | - movw ip, #294 |
---|
276 | | - strheq r0, [r2] @ movhi |
---|
277 | | - mov r2, #640 |
---|
278 | | - ldrh r0, [r1] |
---|
279 | | - mov r6, r8 |
---|
280 | | - strh r2, [r6], #4 @ movhi |
---|
281 | | - movw r2, #298 |
---|
282 | | - strh lr, [r4, ip] @ movhi |
---|
283 | | - str r3, [sp, #4] |
---|
284 | | - smulbb r7, r7, r0 |
---|
285 | | - smulbb r0, r0, r5 |
---|
286 | | - uxth r7, r7 |
---|
287 | | - uxth r0, r0 |
---|
288 | | - strh r7, [r4, #232] @ movhi |
---|
289 | | - strh r0, [r4, r2] @ movhi |
---|
290 | | - bl Ftl_log2 |
---|
291 | | - ldr r3, [sp, #4] |
---|
292 | | - movw r2, #302 |
---|
293 | | - strh r0, [r6] @ movhi |
---|
294 | | - mov r6, r8 |
---|
295 | | - add r8, r8, #24 |
---|
296 | | - ldrh r10, [r3, #12] |
---|
297 | | - strh r10, [r4, r2] @ movhi |
---|
298 | | - movw r2, #306 |
---|
299 | | - smulbb r1, r7, r10 |
---|
300 | | - strh r10, [r8, #-16] @ movhi |
---|
301 | | - strh r1, [r4, r2] @ movhi |
---|
302 | | - movw r2, #258 |
---|
303 | | - ldrh fp, [r4, r2] |
---|
304 | | - mov r0, fp |
---|
305 | | - bl Ftl_log2 |
---|
306 | | - lsl r2, fp, #9 |
---|
307 | | - ldr r3, [sp, #4] |
---|
308 | | - movw r1, #310 |
---|
309 | | - strh r0, [r6, #12]! @ movhi |
---|
310 | | - uxth r2, r2 |
---|
| 327 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 328 | + mov ip, sp |
---|
| 329 | + push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 330 | + sub fp, ip, #4 |
---|
| 331 | + sub sp, sp, #12 |
---|
| 332 | + push {lr} |
---|
| 333 | + bl __gnu_mcount_nc |
---|
| 334 | + ldr r4, .L36 |
---|
311 | 335 | mov r9, r0 |
---|
312 | | - mov r0, #5120 |
---|
313 | | - strh r2, [r4, r1] @ movhi |
---|
314 | | - lsr r2, r2, #8 |
---|
315 | | - mul r1, r10, fp |
---|
316 | | - strh r2, [r8, #-8] @ movhi |
---|
317 | | - ldrh r2, [r3, #20] |
---|
318 | | - movw r3, #314 |
---|
| 336 | + ldrh r2, [r0] |
---|
| 337 | + movw lr, #258 |
---|
| 338 | + add r1, r4, #256 |
---|
| 339 | + ldrh r6, [r0, #2] |
---|
| 340 | + ldrh ip, [r0, #4] |
---|
| 341 | + ldrh r3, [r0, #6] |
---|
| 342 | + ldrh r0, [r0, #14] |
---|
| 343 | + strh r2, [r4, #252] @ movhi |
---|
| 344 | + cmp r0, #4 |
---|
| 345 | + strh r6, [r4, #254] @ movhi |
---|
| 346 | + strh ip, [r1] @ movhi |
---|
| 347 | + strh r3, [r4, #242] @ movhi |
---|
| 348 | + strh r0, [r4, lr] @ movhi |
---|
| 349 | + bne .L23 |
---|
| 350 | + lsr r3, r3, #1 |
---|
| 351 | + strh r3, [r4, #242] @ movhi |
---|
| 352 | + mov r3, #8 |
---|
| 353 | + strh r3, [r4, lr] @ movhi |
---|
| 354 | +.L24: |
---|
| 355 | + ldr r0, .L36+4 |
---|
| 356 | + mov r3, #0 |
---|
| 357 | +.L25: |
---|
| 358 | + strb r3, [r0], #1 |
---|
| 359 | + add r3, r3, #1 |
---|
| 360 | + cmp r3, #32 |
---|
| 361 | + bne .L25 |
---|
| 362 | + movw r3, #294 |
---|
| 363 | + ldr r5, .L36+8 |
---|
| 364 | + ldrh r7, [r4, #242] |
---|
| 365 | + mov r0, #0 |
---|
| 366 | + strh r0, [r4, r3] @ movhi |
---|
| 367 | + mov r3, r5 |
---|
| 368 | + ldrh r0, [r1] |
---|
| 369 | + cmp r2, #1 |
---|
| 370 | + mov r8, r5 |
---|
| 371 | + add r5, r5, #28 |
---|
| 372 | + movne r2, #5 |
---|
| 373 | + strh r2, [r3], #4 @ movhi |
---|
| 374 | + mov r2, #640 |
---|
| 375 | + smulbb r6, r6, r0 |
---|
| 376 | + strh r2, [r3] @ movhi |
---|
| 377 | + smulbb r0, r0, r7 |
---|
| 378 | + movw r3, #298 |
---|
| 379 | + uxth r6, r6 |
---|
| 380 | + strh r6, [r4, #232] @ movhi |
---|
| 381 | + uxth r0, r0 |
---|
| 382 | + strh r0, [r4, r3] @ movhi |
---|
| 383 | + bl Ftl_log2 |
---|
| 384 | + ldrh r2, [r9, #12] |
---|
| 385 | + movw r3, #302 |
---|
| 386 | + strh r0, [r5, #-20] @ movhi |
---|
| 387 | + strh r2, [r5, #-16] @ movhi |
---|
319 | 388 | strh r2, [r4, r3] @ movhi |
---|
320 | | - mul r3, r5, r7 |
---|
321 | | - lsl r5, r5, #6 |
---|
| 389 | + movw r3, #306 |
---|
| 390 | + smulbb r1, r6, r2 |
---|
| 391 | + str r2, [fp, #-52] |
---|
| 392 | + strh r1, [r4, r3] @ movhi |
---|
| 393 | + movw r3, #258 |
---|
| 394 | + ldrh r1, [r4, r3] |
---|
| 395 | + str r1, [fp, #-48] |
---|
| 396 | + mov r0, r1 |
---|
| 397 | + bl Ftl_log2 |
---|
| 398 | + ldr r1, [fp, #-48] |
---|
| 399 | + ldr r2, [fp, #-52] |
---|
| 400 | + mov r10, r0 |
---|
| 401 | + strh r0, [r8, #16]! @ movhi |
---|
| 402 | + movw r0, #310 |
---|
| 403 | + lsl r3, r1, #9 |
---|
| 404 | + uxth r3, r3 |
---|
| 405 | + strh r3, [r4, r0] @ movhi |
---|
| 406 | + ldrh r0, [r9, #20] |
---|
| 407 | + mul r1, r2, r1 |
---|
| 408 | + lsr r3, r3, #8 |
---|
| 409 | + strh r3, [r5, #-8] @ movhi |
---|
| 410 | + movw r3, #314 |
---|
| 411 | + strh r0, [r4, r3] @ movhi |
---|
| 412 | + mul r3, r7, r6 |
---|
322 | 413 | str r3, [r4, #248] |
---|
323 | | - mul r3, fp, r3 |
---|
324 | | - mul r3, r10, r3 |
---|
| 414 | + mov r0, #5120 |
---|
| 415 | + lsl r7, r7, #6 |
---|
| 416 | + mul r3, r1, r3 |
---|
325 | 417 | asr r3, r3, #11 |
---|
326 | 418 | str r3, [r4, #316] |
---|
327 | 419 | bl __aeabi_idiv |
---|
328 | | - uxth r0, r0 |
---|
329 | | - movw r2, #322 |
---|
330 | | - mov r1, r7 |
---|
331 | 420 | cmp r0, #4 |
---|
332 | | - movls r3, #4 |
---|
333 | | - strhhi r0, [r8] @ movhi |
---|
334 | | - strhls r3, [r8] @ movhi |
---|
| 421 | + movw r2, #322 |
---|
| 422 | + strhgt r0, [r5] @ movhi |
---|
| 423 | + movle r3, #4 |
---|
| 424 | + strhle r3, [r5] @ movhi |
---|
335 | 425 | mov r3, #640 |
---|
336 | | - asr r3, r3, r9 |
---|
337 | | - add r9, r9, #9 |
---|
338 | | - asr r5, r5, r9 |
---|
339 | | - ldrh r0, [r8] |
---|
| 426 | + mov r1, r6 |
---|
| 427 | + asr r3, r3, r10 |
---|
| 428 | + add r10, r10, #9 |
---|
340 | 429 | add r3, r3, #2 |
---|
341 | 430 | strh r3, [r4, r2] @ movhi |
---|
342 | | - ldr r3, .L32+16 |
---|
343 | | - strh r5, [r3] @ movhi |
---|
344 | | - uxth r5, r5 |
---|
345 | | - mul r3, r7, r5 |
---|
346 | | - add r5, r5, #8 |
---|
| 431 | + ldr r3, .L36+12 |
---|
| 432 | + asr r7, r7, r10 |
---|
| 433 | + ldrh r0, [r5] |
---|
| 434 | + strh r7, [r3] @ movhi |
---|
| 435 | + uxth r7, r7 |
---|
| 436 | + mul r3, r7, r6 |
---|
347 | 437 | str r3, [r4, #328] |
---|
348 | 438 | bl __aeabi_uidiv |
---|
349 | | - uxtah r0, r5, r0 |
---|
350 | | - cmp r7, #1 |
---|
351 | | - addeq r0, r0, #4 |
---|
352 | | - str r0, [r4, #228] |
---|
| 439 | + cmp r6, #1 |
---|
| 440 | + uxtah r7, r7, r0 |
---|
| 441 | + addne r7, r7, #8 |
---|
| 442 | + addeq r7, r7, #12 |
---|
| 443 | + str r7, [r4, #228] |
---|
353 | 444 | ldrh r0, [r4, #228] |
---|
354 | 445 | bl FtlSysBlkNumInit |
---|
355 | 446 | ldr r3, [r4, #228] |
---|
356 | | - mov r0, #0 |
---|
357 | | - str r0, [r4, #340] |
---|
358 | 447 | str r3, [r4, #332] |
---|
359 | | - ldr r3, [r4, #244] |
---|
360 | | - lsl r2, r3, #2 |
---|
361 | 448 | movw r3, #302 |
---|
| 449 | + ldr r2, [r4, #244] |
---|
| 450 | + mov r0, #0 |
---|
362 | 451 | ldrh r3, [r4, r3] |
---|
363 | | - mul r3, r3, r2 |
---|
364 | | - ldrh r2, [r6] |
---|
| 452 | + str r0, [r4, #340] |
---|
| 453 | + mul r3, r2, r3 |
---|
| 454 | + ldrh r2, [r8] |
---|
365 | 455 | add r2, r2, #9 |
---|
| 456 | + lsl r3, r3, #2 |
---|
366 | 457 | lsr r3, r3, r2 |
---|
367 | | - ldr r2, .L32+20 |
---|
| 458 | + ldr r2, .L36+16 |
---|
368 | 459 | add r3, r3, #2 |
---|
369 | 460 | strh r3, [r2] @ movhi |
---|
370 | | - mov r2, #32 |
---|
371 | 461 | movw r3, #338 |
---|
| 462 | + mov r2, #32 |
---|
372 | 463 | strh r2, [r4, r3] @ movhi |
---|
373 | | - ldrh r3, [r8] |
---|
| 464 | + ldrh r3, [r5] |
---|
374 | 465 | add r3, r3, #3 |
---|
375 | | - strh r3, [r8] @ movhi |
---|
| 466 | + strh r3, [r5] @ movhi |
---|
376 | 467 | ldr r3, [r4, #328] |
---|
377 | 468 | add r3, r3, #3 |
---|
378 | 469 | str r3, [r4, #328] |
---|
379 | | - add sp, sp, #12 |
---|
380 | | - @ sp needed |
---|
381 | | - pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} |
---|
382 | | -.L18: |
---|
383 | | - cmp lr, #1 |
---|
384 | | - cmpeq ip, #8 |
---|
385 | | - lsreq r2, r2, #1 |
---|
386 | | - strheq r2, [r4, #242] @ movhi |
---|
387 | | - moveq r2, #2 |
---|
388 | | - strheq r2, [r1] @ movhi |
---|
389 | | - b .L19 |
---|
390 | | -.L33: |
---|
| 470 | + sub sp, fp, #40 |
---|
| 471 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 472 | +.L23: |
---|
| 473 | + cmp r0, #8 |
---|
| 474 | + cmpeq ip, #1 |
---|
| 475 | + lsreq r3, r3, #1 |
---|
| 476 | + strheq r3, [r4, #242] @ movhi |
---|
| 477 | + moveq r3, #2 |
---|
| 478 | + strheq r3, [r1] @ movhi |
---|
| 479 | + b .L24 |
---|
| 480 | +.L37: |
---|
391 | 481 | .align 2 |
---|
392 | | -.L32: |
---|
| 482 | +.L36: |
---|
393 | 483 | .word .LANCHOR0 |
---|
394 | 484 | .word .LANCHOR0+260 |
---|
395 | 485 | .word .LANCHOR0+292 |
---|
396 | | - .word .LANCHOR0+296 |
---|
397 | 486 | .word .LANCHOR0+324 |
---|
398 | 487 | .word .LANCHOR0+336 |
---|
399 | | - .fnend |
---|
400 | 488 | .size FtlConstantsInit, .-FtlConstantsInit |
---|
401 | 489 | .align 2 |
---|
402 | 490 | .global IsBlkInVendorPart |
---|
.. | .. |
---|
405 | 493 | .fpu softvfp |
---|
406 | 494 | .type IsBlkInVendorPart, %function |
---|
407 | 495 | IsBlkInVendorPart: |
---|
408 | | - .fnstart |
---|
409 | 496 | @ args = 0, pretend = 0, frame = 0 |
---|
410 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
411 | | - @ link register save eliminated. |
---|
412 | | - ldr r2, .L41 |
---|
413 | | - add r3, r2, #344 |
---|
| 497 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 498 | + mov ip, sp |
---|
| 499 | + push {fp, ip, lr, pc} |
---|
| 500 | + sub fp, ip, #4 |
---|
| 501 | + push {lr} |
---|
| 502 | + bl __gnu_mcount_nc |
---|
| 503 | + ldr r3, .L44 |
---|
| 504 | + mov r1, r0 |
---|
| 505 | + add r2, r3, #344 |
---|
| 506 | + ldrh r0, [r2] |
---|
| 507 | + cmp r0, #0 |
---|
| 508 | + ldmfdeq sp, {fp, sp, pc} |
---|
| 509 | + ldr r2, [r3, #348] |
---|
| 510 | + add r3, r3, #320 |
---|
414 | 511 | ldrh r3, [r3] |
---|
415 | | - cmp r3, #0 |
---|
416 | | - beq .L40 |
---|
417 | | - ldr r3, [r2, #348] |
---|
418 | | - add r2, r2, #320 |
---|
419 | | - ldrh r2, [r2] |
---|
420 | | - add r2, r3, r2, lsl #1 |
---|
421 | | -.L36: |
---|
422 | | - cmp r3, r2 |
---|
423 | | - bne .L37 |
---|
| 512 | + add r3, r2, r3, lsl #1 |
---|
424 | 513 | .L40: |
---|
| 514 | + cmp r2, r3 |
---|
| 515 | + bne .L41 |
---|
425 | 516 | mov r0, #0 |
---|
426 | | - bx lr |
---|
427 | | -.L37: |
---|
428 | | - ldrh r1, [r3], #2 |
---|
429 | | - cmp r0, r1 |
---|
430 | | - bne .L36 |
---|
431 | | - mov r0, #1 |
---|
432 | | - bx lr |
---|
433 | | -.L42: |
---|
434 | | - .align 2 |
---|
| 517 | + ldmfd sp, {fp, sp, pc} |
---|
435 | 518 | .L41: |
---|
| 519 | + ldrh r0, [r2], #2 |
---|
| 520 | + cmp r1, r0 |
---|
| 521 | + bne .L40 |
---|
| 522 | + mov r0, #1 |
---|
| 523 | + ldmfd sp, {fp, sp, pc} |
---|
| 524 | +.L45: |
---|
| 525 | + .align 2 |
---|
| 526 | +.L44: |
---|
436 | 527 | .word .LANCHOR0 |
---|
437 | | - .fnend |
---|
438 | 528 | .size IsBlkInVendorPart, .-IsBlkInVendorPart |
---|
439 | 529 | .align 2 |
---|
440 | 530 | .global FtlCacheWriteBack |
---|
.. | .. |
---|
443 | 533 | .fpu softvfp |
---|
444 | 534 | .type FtlCacheWriteBack, %function |
---|
445 | 535 | FtlCacheWriteBack: |
---|
446 | | - .fnstart |
---|
447 | 536 | @ args = 0, pretend = 0, frame = 0 |
---|
448 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
449 | | - @ link register save eliminated. |
---|
| 537 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 538 | + mov ip, sp |
---|
| 539 | + push {fp, ip, lr, pc} |
---|
| 540 | + sub fp, ip, #4 |
---|
| 541 | + push {lr} |
---|
| 542 | + bl __gnu_mcount_nc |
---|
450 | 543 | mov r0, #0 |
---|
451 | | - bx lr |
---|
452 | | - .fnend |
---|
| 544 | + ldmfd sp, {fp, sp, pc} |
---|
453 | 545 | .size FtlCacheWriteBack, .-FtlCacheWriteBack |
---|
454 | 546 | .align 2 |
---|
455 | 547 | .global sftl_get_density |
---|
.. | .. |
---|
458 | 550 | .fpu softvfp |
---|
459 | 551 | .type sftl_get_density, %function |
---|
460 | 552 | sftl_get_density: |
---|
461 | | - .fnstart |
---|
462 | 553 | @ args = 0, pretend = 0, frame = 0 |
---|
463 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
464 | | - @ link register save eliminated. |
---|
465 | | - ldr r3, .L45 |
---|
| 554 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 555 | + mov ip, sp |
---|
| 556 | + push {fp, ip, lr, pc} |
---|
| 557 | + sub fp, ip, #4 |
---|
| 558 | + push {lr} |
---|
| 559 | + bl __gnu_mcount_nc |
---|
| 560 | + ldr r3, .L48 |
---|
466 | 561 | ldr r0, [r3, #340] |
---|
467 | | - bx lr |
---|
468 | | -.L46: |
---|
| 562 | + ldmfd sp, {fp, sp, pc} |
---|
| 563 | +.L49: |
---|
469 | 564 | .align 2 |
---|
470 | | -.L45: |
---|
| 565 | +.L48: |
---|
471 | 566 | .word .LANCHOR0 |
---|
472 | | - .fnend |
---|
473 | 567 | .size sftl_get_density, .-sftl_get_density |
---|
474 | 568 | .global __aeabi_uidivmod |
---|
| 569 | + .section .rodata.str1.1 |
---|
| 570 | +.LC7: |
---|
| 571 | + .ascii "phyBlk = 0x%x die = %d block_in_die = 0x%x 0x%8x\012" |
---|
| 572 | + .ascii "\000" |
---|
| 573 | + .text |
---|
475 | 574 | .align 2 |
---|
476 | 575 | .global FtlBbmMapBadBlock |
---|
477 | 576 | .syntax unified |
---|
.. | .. |
---|
479 | 578 | .fpu softvfp |
---|
480 | 579 | .type FtlBbmMapBadBlock, %function |
---|
481 | 580 | FtlBbmMapBadBlock: |
---|
482 | | - .fnstart |
---|
483 | 581 | @ args = 0, pretend = 0, frame = 0 |
---|
484 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
485 | | - push {r0, r1, r2, r4, r5, r6, r7, lr} |
---|
486 | | - .save {r4, r5, r6, r7, lr} |
---|
487 | | - .pad #12 |
---|
| 582 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 583 | + mov ip, sp |
---|
| 584 | + push {r4, r5, r6, r7, fp, ip, lr, pc} |
---|
| 585 | + sub fp, ip, #4 |
---|
| 586 | + sub sp, sp, #8 |
---|
| 587 | + push {lr} |
---|
| 588 | + bl __gnu_mcount_nc |
---|
| 589 | + ldr r4, .L51 |
---|
488 | 590 | movw r3, #298 |
---|
489 | | - ldr r4, .L49 |
---|
490 | 591 | mov r5, r0 |
---|
491 | 592 | ldrh r7, [r4, r3] |
---|
492 | 593 | mov r1, r7 |
---|
.. | .. |
---|
495 | 596 | mov r1, r7 |
---|
496 | 597 | mov r0, r5 |
---|
497 | 598 | bl __aeabi_uidivmod |
---|
498 | | - add r2, r4, r6, lsl #2 |
---|
499 | | - uxth r3, r1 |
---|
500 | | - ldr r2, [r2, #380] |
---|
501 | | - lsr r1, r3, #5 |
---|
502 | | - and ip, r3, #31 |
---|
503 | | - mov lr, #1 |
---|
| 599 | + add r3, r4, r6, lsl #2 |
---|
| 600 | + ubfx r0, r1, #5, #11 |
---|
| 601 | + and ip, r1, #31 |
---|
504 | 602 | add r4, r4, #352 |
---|
505 | | - ldr r0, [r2, r1, lsl #2] |
---|
506 | | - orr r0, r0, lr, lsl ip |
---|
507 | | - str r0, [r2, r1, lsl #2] |
---|
508 | | - mov r2, r6 |
---|
509 | | - str r0, [sp] |
---|
| 603 | + mov lr, #1 |
---|
| 604 | + ldr r3, [r3, #380] |
---|
| 605 | + ldr r2, [r3, r0, lsl #2] |
---|
| 606 | + orr r2, r2, lr, lsl ip |
---|
| 607 | + str r2, [r3, r0, lsl #2] |
---|
| 608 | + uxth r3, r1 |
---|
| 609 | + ldr r0, .L51+4 |
---|
510 | 610 | mov r1, r5 |
---|
511 | | - ldr r0, .L49+4 |
---|
| 611 | + str r2, [sp] |
---|
| 612 | + mov r2, r6 |
---|
512 | 613 | bl sftl_printk |
---|
513 | 614 | ldrh r3, [r4, #6] |
---|
514 | 615 | mov r0, #0 |
---|
515 | 616 | add r3, r3, #1 |
---|
516 | 617 | strh r3, [r4, #6] @ movhi |
---|
517 | | - add sp, sp, #12 |
---|
518 | | - @ sp needed |
---|
519 | | - pop {r4, r5, r6, r7, pc} |
---|
520 | | -.L50: |
---|
| 618 | + sub sp, fp, #28 |
---|
| 619 | + ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} |
---|
| 620 | +.L52: |
---|
521 | 621 | .align 2 |
---|
522 | | -.L49: |
---|
| 622 | +.L51: |
---|
523 | 623 | .word .LANCHOR0 |
---|
524 | 624 | .word .LC7 |
---|
525 | | - .fnend |
---|
526 | 625 | .size FtlBbmMapBadBlock, .-FtlBbmMapBadBlock |
---|
527 | 626 | .align 2 |
---|
528 | 627 | .global FtlBbmIsBadBlock |
---|
.. | .. |
---|
531 | 630 | .fpu softvfp |
---|
532 | 631 | .type FtlBbmIsBadBlock, %function |
---|
533 | 632 | FtlBbmIsBadBlock: |
---|
534 | | - .fnstart |
---|
535 | 633 | @ args = 0, pretend = 0, frame = 0 |
---|
536 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
537 | | - push {r4, r5, r6, r7, r8, lr} |
---|
538 | | - .save {r4, r5, r6, r7, r8, lr} |
---|
| 634 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 635 | + mov ip, sp |
---|
| 636 | + push {r4, r5, r6, r7, fp, ip, lr, pc} |
---|
| 637 | + sub fp, ip, #4 |
---|
| 638 | + push {lr} |
---|
| 639 | + bl __gnu_mcount_nc |
---|
| 640 | + ldr r5, .L54 |
---|
539 | 641 | movw r3, #298 |
---|
540 | | - ldr r5, .L53 |
---|
541 | | - mov r7, r0 |
---|
542 | | - ldrh r6, [r5, r3] |
---|
543 | | - mov r1, r6 |
---|
| 642 | + mov r6, r0 |
---|
| 643 | + ldrh r7, [r5, r3] |
---|
| 644 | + mov r1, r7 |
---|
544 | 645 | bl __aeabi_uidivmod |
---|
545 | | - mov r0, r7 |
---|
| 646 | + mov r0, r6 |
---|
546 | 647 | uxth r4, r1 |
---|
547 | | - mov r1, r6 |
---|
| 648 | + mov r1, r7 |
---|
548 | 649 | bl __aeabi_uidiv |
---|
549 | 650 | uxth r0, r0 |
---|
550 | 651 | lsr r2, r4, #5 |
---|
551 | | - add r5, r5, r0, lsl #2 |
---|
552 | 652 | and r4, r4, #31 |
---|
| 653 | + add r5, r5, r0, lsl #2 |
---|
553 | 654 | ldr r3, [r5, #380] |
---|
554 | 655 | ldr r0, [r3, r2, lsl #2] |
---|
555 | 656 | lsr r0, r0, r4 |
---|
556 | 657 | and r0, r0, #1 |
---|
557 | | - pop {r4, r5, r6, r7, r8, pc} |
---|
558 | | -.L54: |
---|
| 658 | + ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} |
---|
| 659 | +.L55: |
---|
559 | 660 | .align 2 |
---|
560 | | -.L53: |
---|
| 661 | +.L54: |
---|
561 | 662 | .word .LANCHOR0 |
---|
562 | | - .fnend |
---|
563 | 663 | .size FtlBbmIsBadBlock, .-FtlBbmIsBadBlock |
---|
564 | 664 | .align 2 |
---|
565 | 665 | .global FtlBbtInfoPrint |
---|
.. | .. |
---|
568 | 668 | .fpu softvfp |
---|
569 | 669 | .type FtlBbtInfoPrint, %function |
---|
570 | 670 | FtlBbtInfoPrint: |
---|
571 | | - .fnstart |
---|
572 | 671 | @ args = 0, pretend = 0, frame = 0 |
---|
573 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
574 | | - @ link register save eliminated. |
---|
575 | | - bx lr |
---|
576 | | - .fnend |
---|
| 672 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 673 | + mov ip, sp |
---|
| 674 | + push {fp, ip, lr, pc} |
---|
| 675 | + sub fp, ip, #4 |
---|
| 676 | + push {lr} |
---|
| 677 | + bl __gnu_mcount_nc |
---|
| 678 | + ldmfd sp, {fp, sp, pc} |
---|
577 | 679 | .size FtlBbtInfoPrint, .-FtlBbtInfoPrint |
---|
578 | 680 | .align 2 |
---|
579 | 681 | .global FtlBbtCalcTotleCnt |
---|
.. | .. |
---|
582 | 684 | .fpu softvfp |
---|
583 | 685 | .type FtlBbtCalcTotleCnt, %function |
---|
584 | 686 | FtlBbtCalcTotleCnt: |
---|
585 | | - .fnstart |
---|
586 | 687 | @ args = 0, pretend = 0, frame = 0 |
---|
587 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
| 688 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 689 | + mov ip, sp |
---|
| 690 | + push {r4, r5, r6, r7, fp, ip, lr, pc} |
---|
| 691 | + sub fp, ip, #4 |
---|
| 692 | + push {lr} |
---|
| 693 | + bl __gnu_mcount_nc |
---|
588 | 694 | ldr r3, .L64 |
---|
589 | 695 | movw r2, #298 |
---|
590 | | - push {r4, r5, r6, lr} |
---|
591 | | - .save {r4, r5, r6, lr} |
---|
592 | 696 | mov r5, #0 |
---|
593 | 697 | mov r4, r5 |
---|
594 | | - ldrh r2, [r3, r2] |
---|
595 | | - ldrh r6, [r3, #254] |
---|
596 | | - mul r6, r6, r2 |
---|
597 | | -.L57: |
---|
| 698 | + ldrh r6, [r3, r2] |
---|
| 699 | + ldrh r3, [r3, #254] |
---|
| 700 | + mul r6, r3, r6 |
---|
| 701 | +.L58: |
---|
598 | 702 | uxth r0, r5 |
---|
599 | 703 | cmp r0, r6 |
---|
600 | | - blt .L59 |
---|
| 704 | + blt .L60 |
---|
601 | 705 | mov r0, r4 |
---|
602 | | - pop {r4, r5, r6, pc} |
---|
603 | | -.L59: |
---|
| 706 | + ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} |
---|
| 707 | +.L60: |
---|
604 | 708 | bl FtlBbmIsBadBlock |
---|
605 | 709 | cmp r0, #0 |
---|
606 | | - add r5, r5, #1 |
---|
607 | 710 | addne r4, r4, #1 |
---|
| 711 | + add r5, r5, #1 |
---|
608 | 712 | uxthne r4, r4 |
---|
609 | | - b .L57 |
---|
| 713 | + b .L58 |
---|
610 | 714 | .L65: |
---|
611 | 715 | .align 2 |
---|
612 | 716 | .L64: |
---|
613 | 717 | .word .LANCHOR0 |
---|
614 | | - .fnend |
---|
615 | 718 | .size FtlBbtCalcTotleCnt, .-FtlBbtCalcTotleCnt |
---|
616 | 719 | .align 2 |
---|
617 | 720 | .global V2P_block |
---|
.. | .. |
---|
620 | 723 | .fpu softvfp |
---|
621 | 724 | .type V2P_block, %function |
---|
622 | 725 | V2P_block: |
---|
623 | | - .fnstart |
---|
624 | 726 | @ args = 0, pretend = 0, frame = 0 |
---|
625 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
626 | | - push {r4, r5, r6, r7, r8, lr} |
---|
627 | | - .save {r4, r5, r6, r7, r8, lr} |
---|
628 | | - mov r5, r1 |
---|
629 | | - ldr r4, .L68 |
---|
630 | | - mov r7, r0 |
---|
631 | | - add r3, r4, #256 |
---|
632 | | - ldrh r6, [r3] |
---|
633 | | - mov r1, r6 |
---|
| 727 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 728 | + mov ip, sp |
---|
| 729 | + push {r4, r5, r6, r7, r8, r9, fp, ip, lr, pc} |
---|
| 730 | + sub fp, ip, #4 |
---|
| 731 | + push {lr} |
---|
| 732 | + bl __gnu_mcount_nc |
---|
| 733 | + ldr r8, .L67 |
---|
| 734 | + mov r4, r1 |
---|
| 735 | + mov r6, r0 |
---|
| 736 | + add r3, r8, #256 |
---|
| 737 | + ldrh r7, [r3] |
---|
| 738 | + mov r1, r7 |
---|
634 | 739 | bl __aeabi_uidiv |
---|
635 | 740 | movw r3, #298 |
---|
636 | | - smulbb r5, r6, r5 |
---|
637 | | - ldrh r4, [r4, r3] |
---|
638 | | - mov r1, r6 |
---|
639 | | - smulbb r4, r4, r0 |
---|
640 | | - mov r0, r7 |
---|
| 741 | + smulbb r4, r7, r4 |
---|
| 742 | + mov r1, r7 |
---|
| 743 | + ldrh r5, [r8, r3] |
---|
| 744 | + smulbb r5, r5, r0 |
---|
| 745 | + mov r0, r6 |
---|
641 | 746 | bl __aeabi_uidivmod |
---|
642 | | - add r0, r5, r1 |
---|
643 | | - add r0, r4, r0 |
---|
644 | | - uxth r0, r0 |
---|
645 | | - pop {r4, r5, r6, r7, r8, pc} |
---|
646 | | -.L69: |
---|
647 | | - .align 2 |
---|
| 747 | + add r4, r4, r1 |
---|
| 748 | + add r4, r5, r4 |
---|
| 749 | + uxth r0, r4 |
---|
| 750 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, fp, sp, pc} |
---|
648 | 751 | .L68: |
---|
| 752 | + .align 2 |
---|
| 753 | +.L67: |
---|
649 | 754 | .word .LANCHOR0 |
---|
650 | | - .fnend |
---|
651 | 755 | .size V2P_block, .-V2P_block |
---|
652 | 756 | .align 2 |
---|
653 | 757 | .global P2V_plane |
---|
.. | .. |
---|
656 | 760 | .fpu softvfp |
---|
657 | 761 | .type P2V_plane, %function |
---|
658 | 762 | P2V_plane: |
---|
659 | | - .fnstart |
---|
660 | 763 | @ args = 0, pretend = 0, frame = 0 |
---|
661 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
662 | | - ldr r3, .L72 |
---|
663 | | - push {r4, r5, r6, lr} |
---|
664 | | - .save {r4, r5, r6, lr} |
---|
665 | | - mov r6, r0 |
---|
| 764 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 765 | + mov ip, sp |
---|
| 766 | + push {r4, r5, r6, r7, fp, ip, lr, pc} |
---|
| 767 | + sub fp, ip, #4 |
---|
| 768 | + push {lr} |
---|
| 769 | + bl __gnu_mcount_nc |
---|
| 770 | + ldr r3, .L70 |
---|
| 771 | + mov r5, r0 |
---|
666 | 772 | add r2, r3, #256 |
---|
667 | | - ldrh r5, [r2] |
---|
| 773 | + ldrh r6, [r2] |
---|
668 | 774 | movw r2, #298 |
---|
669 | 775 | ldrh r1, [r3, r2] |
---|
670 | 776 | bl __aeabi_uidiv |
---|
671 | | - mov r1, r5 |
---|
672 | | - smulbb r4, r0, r5 |
---|
673 | | - mov r0, r6 |
---|
| 777 | + mov r1, r6 |
---|
| 778 | + smulbb r4, r0, r6 |
---|
| 779 | + mov r0, r5 |
---|
674 | 780 | bl __aeabi_uidivmod |
---|
675 | | - add r1, r4, r1 |
---|
676 | | - uxth r0, r1 |
---|
677 | | - pop {r4, r5, r6, pc} |
---|
678 | | -.L73: |
---|
| 781 | + add r0, r4, r1 |
---|
| 782 | + uxth r0, r0 |
---|
| 783 | + ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} |
---|
| 784 | +.L71: |
---|
679 | 785 | .align 2 |
---|
680 | | -.L72: |
---|
| 786 | +.L70: |
---|
681 | 787 | .word .LANCHOR0 |
---|
682 | | - .fnend |
---|
683 | 788 | .size P2V_plane, .-P2V_plane |
---|
684 | 789 | .align 2 |
---|
685 | 790 | .global P2V_block_in_plane |
---|
.. | .. |
---|
688 | 793 | .fpu softvfp |
---|
689 | 794 | .type P2V_block_in_plane, %function |
---|
690 | 795 | P2V_block_in_plane: |
---|
691 | | - .fnstart |
---|
692 | 796 | @ args = 0, pretend = 0, frame = 0 |
---|
693 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
694 | | - push {r4, lr} |
---|
695 | | - .save {r4, lr} |
---|
| 797 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 798 | + mov ip, sp |
---|
| 799 | + push {r4, r5, fp, ip, lr, pc} |
---|
| 800 | + sub fp, ip, #4 |
---|
| 801 | + push {lr} |
---|
| 802 | + bl __gnu_mcount_nc |
---|
| 803 | + ldr r4, .L73 |
---|
696 | 804 | movw r3, #298 |
---|
697 | | - ldr r4, .L76 |
---|
698 | 805 | ldrh r1, [r4, r3] |
---|
699 | 806 | add r4, r4, #256 |
---|
700 | 807 | bl __aeabi_uidivmod |
---|
701 | | - uxth r0, r1 |
---|
| 808 | + mov r0, r1 |
---|
702 | 809 | ldrh r1, [r4] |
---|
| 810 | + uxth r0, r0 |
---|
703 | 811 | bl __aeabi_uidiv |
---|
704 | 812 | uxth r0, r0 |
---|
705 | | - pop {r4, pc} |
---|
706 | | -.L77: |
---|
| 813 | + ldmfd sp, {r4, r5, fp, sp, pc} |
---|
| 814 | +.L74: |
---|
707 | 815 | .align 2 |
---|
708 | | -.L76: |
---|
| 816 | +.L73: |
---|
709 | 817 | .word .LANCHOR0 |
---|
710 | | - .fnend |
---|
711 | 818 | .size P2V_block_in_plane, .-P2V_block_in_plane |
---|
712 | 819 | .align 2 |
---|
713 | 820 | .global ftl_cmp_data_ver |
---|
.. | .. |
---|
716 | 823 | .fpu softvfp |
---|
717 | 824 | .type ftl_cmp_data_ver, %function |
---|
718 | 825 | ftl_cmp_data_ver: |
---|
719 | | - .fnstart |
---|
720 | 826 | @ args = 0, pretend = 0, frame = 0 |
---|
721 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
722 | | - @ link register save eliminated. |
---|
| 827 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 828 | + mov ip, sp |
---|
| 829 | + push {fp, ip, lr, pc} |
---|
| 830 | + sub fp, ip, #4 |
---|
| 831 | + push {lr} |
---|
| 832 | + bl __gnu_mcount_nc |
---|
723 | 833 | cmp r0, r1 |
---|
724 | | - bls .L79 |
---|
| 834 | + bls .L76 |
---|
725 | 835 | sub r0, r0, r1 |
---|
726 | 836 | cmp r0, #-2147483648 |
---|
727 | 837 | movhi r0, #0 |
---|
728 | 838 | movls r0, #1 |
---|
729 | | - bx lr |
---|
730 | | -.L79: |
---|
731 | | - sub r0, r1, r0 |
---|
732 | | - cmp r0, #-2147483648 |
---|
| 839 | + ldmfd sp, {fp, sp, pc} |
---|
| 840 | +.L76: |
---|
| 841 | + sub r1, r1, r0 |
---|
| 842 | + cmp r1, #-2147483648 |
---|
733 | 843 | movls r0, #0 |
---|
734 | 844 | movhi r0, #1 |
---|
735 | | - bx lr |
---|
736 | | - .fnend |
---|
| 845 | + ldmfd sp, {fp, sp, pc} |
---|
737 | 846 | .size ftl_cmp_data_ver, .-ftl_cmp_data_ver |
---|
738 | 847 | .align 2 |
---|
739 | 848 | .global FtlFreeSysBlkQueueEmpty |
---|
.. | .. |
---|
742 | 851 | .fpu softvfp |
---|
743 | 852 | .type FtlFreeSysBlkQueueEmpty, %function |
---|
744 | 853 | FtlFreeSysBlkQueueEmpty: |
---|
745 | | - .fnstart |
---|
746 | 854 | @ args = 0, pretend = 0, frame = 0 |
---|
747 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
748 | | - @ link register save eliminated. |
---|
749 | | - ldr r3, .L82 |
---|
| 855 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 856 | + mov ip, sp |
---|
| 857 | + push {fp, ip, lr, pc} |
---|
| 858 | + sub fp, ip, #4 |
---|
| 859 | + push {lr} |
---|
| 860 | + bl __gnu_mcount_nc |
---|
| 861 | + ldr r3, .L79 |
---|
750 | 862 | ldrh r0, [r3, #6] |
---|
751 | 863 | clz r0, r0 |
---|
752 | 864 | lsr r0, r0, #5 |
---|
753 | | - bx lr |
---|
754 | | -.L83: |
---|
| 865 | + ldmfd sp, {fp, sp, pc} |
---|
| 866 | +.L80: |
---|
755 | 867 | .align 2 |
---|
756 | | -.L82: |
---|
| 868 | +.L79: |
---|
757 | 869 | .word .LANCHOR0+412 |
---|
758 | | - .fnend |
---|
759 | 870 | .size FtlFreeSysBlkQueueEmpty, .-FtlFreeSysBlkQueueEmpty |
---|
760 | 871 | .align 2 |
---|
761 | 872 | .global FtlFreeSysBlkQueueFull |
---|
.. | .. |
---|
764 | 875 | .fpu softvfp |
---|
765 | 876 | .type FtlFreeSysBlkQueueFull, %function |
---|
766 | 877 | FtlFreeSysBlkQueueFull: |
---|
767 | | - .fnstart |
---|
768 | 878 | @ args = 0, pretend = 0, frame = 0 |
---|
769 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
770 | | - @ link register save eliminated. |
---|
771 | | - ldr r3, .L85 |
---|
| 879 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 880 | + mov ip, sp |
---|
| 881 | + push {fp, ip, lr, pc} |
---|
| 882 | + sub fp, ip, #4 |
---|
| 883 | + push {lr} |
---|
| 884 | + bl __gnu_mcount_nc |
---|
| 885 | + ldr r3, .L82 |
---|
772 | 886 | ldrh r0, [r3, #6] |
---|
773 | 887 | sub r0, r0, #1024 |
---|
774 | 888 | clz r0, r0 |
---|
775 | 889 | lsr r0, r0, #5 |
---|
776 | | - bx lr |
---|
777 | | -.L86: |
---|
| 890 | + ldmfd sp, {fp, sp, pc} |
---|
| 891 | +.L83: |
---|
778 | 892 | .align 2 |
---|
779 | | -.L85: |
---|
| 893 | +.L82: |
---|
780 | 894 | .word .LANCHOR0+412 |
---|
781 | | - .fnend |
---|
782 | 895 | .size FtlFreeSysBlkQueueFull, .-FtlFreeSysBlkQueueFull |
---|
783 | 896 | .align 2 |
---|
784 | 897 | .global FtlFreeSysBLkSort |
---|
.. | .. |
---|
787 | 900 | .fpu softvfp |
---|
788 | 901 | .type FtlFreeSysBLkSort, %function |
---|
789 | 902 | FtlFreeSysBLkSort: |
---|
790 | | - .fnstart |
---|
791 | 903 | @ args = 0, pretend = 0, frame = 0 |
---|
792 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
793 | | - ldr r3, .L100 |
---|
| 904 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 905 | + mov ip, sp |
---|
| 906 | + push {r4, r5, fp, ip, lr, pc} |
---|
| 907 | + sub fp, ip, #4 |
---|
| 908 | + push {lr} |
---|
| 909 | + bl __gnu_mcount_nc |
---|
| 910 | + ldr r3, .L93 |
---|
794 | 911 | ldrh r2, [r3, #6] |
---|
795 | 912 | cmp r2, #0 |
---|
796 | | - bxeq lr |
---|
797 | | - ldr r2, .L100+4 |
---|
| 913 | + ldmfdeq sp, {r4, r5, fp, sp, pc} |
---|
| 914 | + ldr r2, .L93+4 |
---|
798 | 915 | mov r0, #0 |
---|
799 | | - push {r4, lr} |
---|
800 | | - .save {r4, lr} |
---|
801 | | - mov r4, r0 |
---|
802 | 916 | ldrh r1, [r3, #2] |
---|
803 | | - ldrh lr, [r2, #28] |
---|
| 917 | + mov lr, r0 |
---|
| 918 | + ldrh ip, [r2, #28] |
---|
804 | 919 | ldrh r2, [r3, #4] |
---|
805 | | - and lr, lr, #31 |
---|
806 | | -.L89: |
---|
807 | | - uxth ip, r0 |
---|
808 | | - add r0, r0, #1 |
---|
809 | | - cmp lr, ip |
---|
810 | | - bgt .L90 |
---|
811 | | - cmp r4, #0 |
---|
| 920 | + and ip, ip, #31 |
---|
| 921 | +.L87: |
---|
| 922 | + uxth r4, r0 |
---|
| 923 | + cmp ip, r4 |
---|
| 924 | + bhi .L88 |
---|
| 925 | + cmp lr, #0 |
---|
812 | 926 | strhne r1, [r3, #2] @ movhi |
---|
813 | 927 | strhne r2, [r3, #4] @ movhi |
---|
814 | | - pop {r4, pc} |
---|
815 | | -.L90: |
---|
816 | | - add ip, r3, r1, lsl #1 |
---|
| 928 | + ldmfd sp, {r4, r5, fp, sp, pc} |
---|
| 929 | +.L88: |
---|
| 930 | + add lr, r3, r1, lsl #1 |
---|
817 | 931 | add r1, r1, #1 |
---|
| 932 | + add r0, r0, #1 |
---|
818 | 933 | ubfx r1, r1, #0, #10 |
---|
819 | | - ldrh r4, [ip, #8] |
---|
820 | | - add ip, r3, r2, lsl #1 |
---|
821 | | - strh r4, [ip, #8] @ movhi |
---|
822 | | - mov r4, #1 |
---|
823 | | - add r2, r2, r4 |
---|
| 934 | + ldrh r4, [lr, #8] |
---|
| 935 | + add lr, r3, r2, lsl #1 |
---|
| 936 | + add r2, r2, #1 |
---|
| 937 | + strh r4, [lr, #8] @ movhi |
---|
824 | 938 | ubfx r2, r2, #0, #10 |
---|
825 | | - b .L89 |
---|
826 | | -.L101: |
---|
| 939 | + mov lr, #1 |
---|
| 940 | + b .L87 |
---|
| 941 | +.L94: |
---|
827 | 942 | .align 2 |
---|
828 | | -.L100: |
---|
| 943 | +.L93: |
---|
829 | 944 | .word .LANCHOR0+412 |
---|
830 | 945 | .word .LANCHOR0+2468 |
---|
831 | | - .fnend |
---|
832 | 946 | .size FtlFreeSysBLkSort, .-FtlFreeSysBLkSort |
---|
833 | 947 | .align 2 |
---|
834 | 948 | .global IsInFreeQueue |
---|
.. | .. |
---|
837 | 951 | .fpu softvfp |
---|
838 | 952 | .type IsInFreeQueue, %function |
---|
839 | 953 | IsInFreeQueue: |
---|
840 | | - .fnstart |
---|
841 | 954 | @ args = 0, pretend = 0, frame = 0 |
---|
842 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
843 | | - ldr r3, .L112 |
---|
844 | | - ldrh ip, [r3, #6] |
---|
| 955 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 956 | + mov ip, sp |
---|
| 957 | + push {fp, ip, lr, pc} |
---|
| 958 | + sub fp, ip, #4 |
---|
| 959 | + push {lr} |
---|
| 960 | + bl __gnu_mcount_nc |
---|
| 961 | + ldr r1, .L101 |
---|
| 962 | + ldrh ip, [r1, #6] |
---|
845 | 963 | cmp ip, #1024 |
---|
846 | | - beq .L106 |
---|
847 | | - str lr, [sp, #-4]! |
---|
848 | | - .save {lr} |
---|
849 | | - mov r1, #0 |
---|
850 | | - ldrh lr, [r3, #2] |
---|
851 | | -.L104: |
---|
852 | | - cmp r1, ip |
---|
853 | | - bcc .L105 |
---|
| 964 | + movne r2, #0 |
---|
| 965 | + ldrhne lr, [r1, #2] |
---|
| 966 | + bne .L97 |
---|
| 967 | +.L99: |
---|
854 | 968 | mov r0, #0 |
---|
855 | | - ldr pc, [sp], #4 |
---|
856 | | -.L105: |
---|
857 | | - add r2, r1, lr |
---|
858 | | - ubfx r2, r2, #0, #10 |
---|
859 | | - add r2, r3, r2, lsl #1 |
---|
860 | | - ldrh r2, [r2, #8] |
---|
861 | | - cmp r2, r0 |
---|
862 | | - beq .L107 |
---|
863 | | - add r1, r1, #1 |
---|
864 | | - b .L104 |
---|
865 | | -.L106: |
---|
866 | | - mov r0, #0 |
---|
867 | | - bx lr |
---|
868 | | -.L107: |
---|
| 969 | + ldmfd sp, {fp, sp, pc} |
---|
| 970 | +.L98: |
---|
| 971 | + add r3, lr, r2 |
---|
| 972 | + ubfx r3, r3, #0, #10 |
---|
| 973 | + add r3, r1, r3, lsl #1 |
---|
| 974 | + ldrh r3, [r3, #8] |
---|
| 975 | + cmp r3, r0 |
---|
| 976 | + beq .L100 |
---|
| 977 | + add r2, r2, #1 |
---|
| 978 | +.L97: |
---|
| 979 | + cmp ip, r2 |
---|
| 980 | + bhi .L98 |
---|
| 981 | + b .L99 |
---|
| 982 | +.L100: |
---|
869 | 983 | mov r0, #1 |
---|
870 | | - ldr pc, [sp], #4 |
---|
871 | | -.L113: |
---|
| 984 | + ldmfd sp, {fp, sp, pc} |
---|
| 985 | +.L102: |
---|
872 | 986 | .align 2 |
---|
873 | | -.L112: |
---|
| 987 | +.L101: |
---|
874 | 988 | .word .LANCHOR0+412 |
---|
875 | | - .fnend |
---|
876 | 989 | .size IsInFreeQueue, .-IsInFreeQueue |
---|
877 | 990 | .align 2 |
---|
878 | 991 | .global insert_data_list |
---|
.. | .. |
---|
881 | 994 | .fpu softvfp |
---|
882 | 995 | .type insert_data_list, %function |
---|
883 | 996 | insert_data_list: |
---|
884 | | - .fnstart |
---|
885 | 997 | @ args = 0, pretend = 0, frame = 8 |
---|
886 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
887 | | - push {r0, r1, r2, r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
888 | | - .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
889 | | - .pad #12 |
---|
890 | | - ldr r2, .L129 |
---|
891 | | - ldrh r3, [r2, #240] |
---|
| 998 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 999 | + mov ip, sp |
---|
| 1000 | + push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 1001 | + sub fp, ip, #4 |
---|
| 1002 | + sub sp, sp, #12 |
---|
| 1003 | + push {lr} |
---|
| 1004 | + bl __gnu_mcount_nc |
---|
| 1005 | + ldr r4, .L117 |
---|
| 1006 | + ldrh r3, [r4, #240] |
---|
892 | 1007 | cmp r3, r0 |
---|
893 | | - bls .L116 |
---|
894 | | - mov r4, #6 |
---|
895 | | - ldr r7, [r2, #2516] |
---|
896 | | - mul r4, r4, r0 |
---|
897 | | - mvn lr, #0 |
---|
898 | | - add ip, r7, r4 |
---|
899 | | - strh lr, [ip, #2] @ movhi |
---|
900 | | - strh lr, [r7, r4] @ movhi |
---|
901 | | - ldr r3, [r2, #2520] |
---|
902 | | - cmp r3, #0 |
---|
903 | | - streq ip, [r2, #2520] |
---|
904 | | - beq .L116 |
---|
905 | | - ldr r9, [r2, #72] |
---|
906 | | - mov r1, r2 |
---|
907 | | - lsl r2, r0, #1 |
---|
908 | | - ldr r8, [r1, #2516] |
---|
909 | | - movw r10, #65535 |
---|
910 | | - ldrh r5, [r9, r2] |
---|
911 | | - ldrh r2, [ip, #4] |
---|
| 1008 | + bls .L105 |
---|
| 1009 | + mov lr, #6 |
---|
| 1010 | + ldr r5, [r4, #2516] |
---|
| 1011 | + mvn ip, #0 |
---|
| 1012 | + mul lr, lr, r0 |
---|
| 1013 | + add r1, r5, lr |
---|
| 1014 | + strh ip, [r1, #2] @ movhi |
---|
| 1015 | + strh ip, [r5, lr] @ movhi |
---|
| 1016 | + ldr r2, [r4, #2520] |
---|
912 | 1017 | cmp r2, #0 |
---|
913 | | - mulne lr, r2, r5 |
---|
914 | | - sub r2, r3, r8 |
---|
915 | | - asr r5, r2, #1 |
---|
916 | | - ldr r2, .L129+4 |
---|
917 | | - mul r2, r2, r5 |
---|
918 | | - ldrh r5, [r1, #240] |
---|
919 | | - str r5, [sp, #4] |
---|
920 | | - mov r5, #0 |
---|
921 | | - uxth r2, r2 |
---|
922 | | -.L122: |
---|
923 | | - ldr r6, [sp, #4] |
---|
924 | | - add r5, r5, #1 |
---|
925 | | - uxth r5, r5 |
---|
926 | | - cmp r5, r6 |
---|
927 | | - movls r6, #0 |
---|
928 | | - movhi r6, #1 |
---|
929 | | - cmp r0, r2 |
---|
930 | | - orreq r6, r6, #1 |
---|
| 1018 | + streq r1, [r4, #2520] |
---|
| 1019 | + beq .L105 |
---|
| 1020 | + ldr r8, [r4, #72] |
---|
| 1021 | + lsl r3, r0, #1 |
---|
| 1022 | + ldr r7, [r4, #2516] |
---|
| 1023 | + movw r10, #65535 |
---|
| 1024 | + ldrh r4, [r4, #240] |
---|
| 1025 | + ldrh r6, [r8, r3] |
---|
| 1026 | + ldrh r3, [r1, #4] |
---|
| 1027 | + str r4, [fp, #-48] |
---|
| 1028 | + mov r4, #0 |
---|
| 1029 | + cmp r3, #0 |
---|
| 1030 | + mulne ip, r3, r6 |
---|
| 1031 | + sub r3, r2, r7 |
---|
| 1032 | + ldr r6, .L117+4 |
---|
| 1033 | + asr r3, r3, #1 |
---|
| 1034 | + mul r3, r6, r3 |
---|
| 1035 | + uxth r3, r3 |
---|
| 1036 | +.L111: |
---|
| 1037 | + sub r6, r0, r3 |
---|
| 1038 | + add r4, r4, #1 |
---|
| 1039 | + clz r6, r6 |
---|
| 1040 | + ldr r9, [fp, #-48] |
---|
| 1041 | + uxth r4, r4 |
---|
| 1042 | + lsr r6, r6, #5 |
---|
| 1043 | + cmp r4, r9 |
---|
| 1044 | + orrhi r6, r6, #1 |
---|
931 | 1045 | cmp r6, #0 |
---|
932 | | - bne .L116 |
---|
933 | | - ldrh r6, [r3, #4] |
---|
934 | | - cmp r6, #0 |
---|
935 | | - beq .L120 |
---|
936 | | - lsl fp, r2, #1 |
---|
937 | | - ldrh fp, [r9, fp] |
---|
938 | | - mul r6, r6, fp |
---|
939 | | - cmp r6, lr |
---|
940 | | - bcs .L120 |
---|
941 | | - ldrh r6, [r3] |
---|
| 1046 | + bne .L105 |
---|
| 1047 | + ldrh r9, [r2, #4] |
---|
| 1048 | + cmp r9, #0 |
---|
| 1049 | + beq .L109 |
---|
| 1050 | + lsl r6, r3, #1 |
---|
| 1051 | + ldrh r6, [r8, r6] |
---|
| 1052 | + mul r6, r9, r6 |
---|
| 1053 | + cmp r6, ip |
---|
| 1054 | + bcs .L109 |
---|
| 1055 | + ldrh r6, [r2] |
---|
942 | 1056 | cmp r6, r10 |
---|
943 | | - bne .L121 |
---|
944 | | - strh r2, [ip, #2] @ movhi |
---|
945 | | - strh r0, [r3] @ movhi |
---|
946 | | - str ip, [r1, #2524] |
---|
947 | | -.L116: |
---|
| 1057 | + bne .L110 |
---|
| 1058 | + strh r3, [r1, #2] @ movhi |
---|
| 1059 | + ldr r3, .L117 |
---|
| 1060 | + strh r0, [r2] @ movhi |
---|
| 1061 | + str r1, [r3, #2524] |
---|
| 1062 | +.L105: |
---|
948 | 1063 | mov r0, #0 |
---|
949 | | - add sp, sp, #12 |
---|
950 | | - @ sp needed |
---|
951 | | - pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} |
---|
952 | | -.L121: |
---|
| 1064 | + sub sp, fp, #40 |
---|
| 1065 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 1066 | +.L110: |
---|
953 | 1067 | mov r3, #6 |
---|
954 | | - mov r2, r6 |
---|
955 | | - mla r3, r3, r6, r8 |
---|
956 | | - b .L122 |
---|
957 | | -.L120: |
---|
958 | | - strh r2, [r7, r4] @ movhi |
---|
959 | | - ldrh r2, [r3, #2] |
---|
960 | | - strh r2, [ip, #2] @ movhi |
---|
961 | | - ldr r2, [r1, #2520] |
---|
962 | | - cmp r3, r2 |
---|
963 | | - ldrhne ip, [r3, #2] |
---|
964 | | - movne r2, #6 |
---|
965 | | - ldrne r1, [r1, #2516] |
---|
966 | | - strheq r0, [r3, #2] @ movhi |
---|
967 | | - streq ip, [r1, #2520] |
---|
968 | | - mulne r2, r2, ip |
---|
969 | | - strhne r0, [r1, r2] @ movhi |
---|
970 | | - strhne r0, [r3, #2] @ movhi |
---|
971 | | - b .L116 |
---|
972 | | -.L130: |
---|
| 1068 | + mla r2, r3, r6, r7 |
---|
| 1069 | + mov r3, r6 |
---|
| 1070 | + b .L111 |
---|
| 1071 | +.L109: |
---|
| 1072 | + strh r3, [r5, lr] @ movhi |
---|
| 1073 | + ldr ip, .L117 |
---|
| 1074 | + ldrh r3, [r2, #2] |
---|
| 1075 | + strh r3, [r1, #2] @ movhi |
---|
| 1076 | + ldr lr, [ip, #2520] |
---|
| 1077 | + cmp r2, lr |
---|
| 1078 | + strheq r0, [r2, #2] @ movhi |
---|
| 1079 | + streq r1, [ip, #2520] |
---|
| 1080 | + ldrne r1, [ip, #2516] |
---|
| 1081 | + movne ip, #6 |
---|
| 1082 | + mulne r3, ip, r3 |
---|
| 1083 | + strhne r0, [r1, r3] @ movhi |
---|
| 1084 | + strhne r0, [r2, #2] @ movhi |
---|
| 1085 | + b .L105 |
---|
| 1086 | +.L118: |
---|
973 | 1087 | .align 2 |
---|
974 | | -.L129: |
---|
| 1088 | +.L117: |
---|
975 | 1089 | .word .LANCHOR0 |
---|
976 | 1090 | .word -1431655765 |
---|
977 | | - .fnend |
---|
978 | 1091 | .size insert_data_list, .-insert_data_list |
---|
| 1092 | + .section .rodata.str1.1 |
---|
| 1093 | +.LC8: |
---|
| 1094 | + .ascii "\012!!!!! error @ func:%s - line:%d\012\000" |
---|
| 1095 | + .text |
---|
979 | 1096 | .align 2 |
---|
980 | 1097 | .global INSERT_DATA_LIST |
---|
981 | 1098 | .syntax unified |
---|
.. | .. |
---|
983 | 1100 | .fpu softvfp |
---|
984 | 1101 | .type INSERT_DATA_LIST, %function |
---|
985 | 1102 | INSERT_DATA_LIST: |
---|
986 | | - .fnstart |
---|
987 | 1103 | @ args = 0, pretend = 0, frame = 0 |
---|
988 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
989 | | - push {r4, lr} |
---|
990 | | - .save {r4, lr} |
---|
| 1104 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 1105 | + mov ip, sp |
---|
| 1106 | + push {fp, ip, lr, pc} |
---|
| 1107 | + sub fp, ip, #4 |
---|
| 1108 | + push {lr} |
---|
| 1109 | + bl __gnu_mcount_nc |
---|
991 | 1110 | bl insert_data_list |
---|
992 | | - ldr r2, .L134 |
---|
| 1111 | + ldr r2, .L121 |
---|
993 | 1112 | add r1, r2, #2528 |
---|
994 | 1113 | ldrh r2, [r2, #240] |
---|
995 | 1114 | ldrh r3, [r1] |
---|
996 | 1115 | add r3, r3, #1 |
---|
997 | 1116 | uxth r3, r3 |
---|
998 | | - cmp r2, r3 |
---|
999 | 1117 | strh r3, [r1] @ movhi |
---|
1000 | | - popcs {r4, pc} |
---|
| 1118 | + cmp r2, r3 |
---|
| 1119 | + ldmfdcs sp, {fp, sp, pc} |
---|
| 1120 | + ldr r1, .L121+4 |
---|
1001 | 1121 | mov r2, #214 |
---|
1002 | | - ldr r1, .L134+4 |
---|
1003 | | - ldr r0, .L134+8 |
---|
1004 | | - pop {r4, lr} |
---|
1005 | | - b sftl_printk |
---|
1006 | | -.L135: |
---|
| 1122 | + ldr r0, .L121+8 |
---|
| 1123 | + bl sftl_printk |
---|
| 1124 | + ldmfd sp, {fp, sp, pc} |
---|
| 1125 | +.L122: |
---|
1007 | 1126 | .align 2 |
---|
1008 | | -.L134: |
---|
| 1127 | +.L121: |
---|
1009 | 1128 | .word .LANCHOR0 |
---|
1010 | 1129 | .word .LANCHOR1 |
---|
1011 | 1130 | .word .LC8 |
---|
1012 | | - .fnend |
---|
1013 | 1131 | .size INSERT_DATA_LIST, .-INSERT_DATA_LIST |
---|
1014 | 1132 | .align 2 |
---|
1015 | 1133 | .global insert_free_list |
---|
.. | .. |
---|
1018 | 1136 | .fpu softvfp |
---|
1019 | 1137 | .type insert_free_list, %function |
---|
1020 | 1138 | insert_free_list: |
---|
1021 | | - .fnstart |
---|
1022 | 1139 | @ args = 0, pretend = 0, frame = 0 |
---|
1023 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
1024 | | - push {r4, r5, r6, r7, r8, r9, r10, lr} |
---|
1025 | | - .save {r4, r5, r6, r7, r8, r9, r10, lr} |
---|
1026 | | - movw r4, #65535 |
---|
1027 | | - cmp r0, r4 |
---|
1028 | | - beq .L137 |
---|
1029 | | - ldr r2, .L144 |
---|
1030 | | - mov r1, #6 |
---|
1031 | | - mul r5, r1, r0 |
---|
| 1140 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 1141 | + mov ip, sp |
---|
| 1142 | + push {r3, r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 1143 | + sub fp, ip, #4 |
---|
| 1144 | + push {lr} |
---|
| 1145 | + bl __gnu_mcount_nc |
---|
| 1146 | + movw r8, #65535 |
---|
| 1147 | + cmp r0, r8 |
---|
| 1148 | + beq .L124 |
---|
| 1149 | + ldr r1, .L131 |
---|
| 1150 | + mov r6, #6 |
---|
1032 | 1151 | mvn r3, #0 |
---|
1033 | | - ldr r6, [r2, #2516] |
---|
1034 | | - mov ip, r2 |
---|
1035 | | - add lr, r6, r5 |
---|
1036 | | - strh r3, [lr, #2] @ movhi |
---|
1037 | | - strh r3, [r6, r5] @ movhi |
---|
1038 | | - ldr r3, [r2, #2532] |
---|
| 1152 | + mul lr, r6, r0 |
---|
| 1153 | + ldr r4, [r1, #2516] |
---|
| 1154 | + add ip, r4, lr |
---|
| 1155 | + strh r3, [ip, #2] @ movhi |
---|
| 1156 | + strh r3, [r4, lr] @ movhi |
---|
| 1157 | + ldr r3, [r1, #2532] |
---|
1039 | 1158 | cmp r3, #0 |
---|
1040 | | - streq lr, [r2, #2532] |
---|
1041 | | - beq .L137 |
---|
1042 | | - ldr r8, [r2, #2536] |
---|
| 1159 | + bne .L125 |
---|
| 1160 | +.L130: |
---|
| 1161 | + str ip, [r1, #2532] |
---|
| 1162 | + b .L124 |
---|
| 1163 | +.L125: |
---|
1043 | 1164 | lsl r2, r0, #1 |
---|
1044 | | - ldr r7, [ip, #2516] |
---|
1045 | | - ldrh r9, [r8, r2] |
---|
1046 | | - sub r2, r3, r7 |
---|
1047 | | - asr r10, r2, #1 |
---|
1048 | | - ldr r2, .L144+4 |
---|
1049 | | - mul r2, r2, r10 |
---|
1050 | | - mov r10, r1 |
---|
| 1165 | + ldr r7, [r1, #2536] |
---|
| 1166 | + ldr r5, [r1, #2516] |
---|
| 1167 | + ldr r10, .L131+4 |
---|
| 1168 | + ldrh r9, [r7, r2] |
---|
| 1169 | + sub r2, r3, r5 |
---|
| 1170 | + asr r2, r2, #1 |
---|
| 1171 | + mul r2, r10, r2 |
---|
1051 | 1172 | uxth r2, r2 |
---|
1052 | | -.L141: |
---|
1053 | | - lsl r1, r2, #1 |
---|
1054 | | - ldrh r1, [r8, r1] |
---|
1055 | | - cmp r1, r9 |
---|
1056 | | - bcs .L139 |
---|
1057 | | - ldrh r1, [r3] |
---|
1058 | | - cmp r1, r4 |
---|
1059 | | - bne .L140 |
---|
1060 | | - strh r2, [lr, #2] @ movhi |
---|
| 1173 | +.L128: |
---|
| 1174 | + lsl r10, r2, #1 |
---|
| 1175 | + ldrh r10, [r7, r10] |
---|
| 1176 | + cmp r10, r9 |
---|
| 1177 | + bcs .L126 |
---|
| 1178 | + ldrh r10, [r3] |
---|
| 1179 | + cmp r10, r8 |
---|
| 1180 | + bne .L127 |
---|
| 1181 | + strh r2, [ip, #2] @ movhi |
---|
1061 | 1182 | strh r0, [r3] @ movhi |
---|
1062 | | -.L137: |
---|
| 1183 | +.L124: |
---|
1063 | 1184 | mov r0, #0 |
---|
1064 | | - pop {r4, r5, r6, r7, r8, r9, r10, pc} |
---|
1065 | | -.L140: |
---|
1066 | | - mla r3, r10, r1, r7 |
---|
1067 | | - mov r2, r1 |
---|
1068 | | - b .L141 |
---|
1069 | | -.L139: |
---|
1070 | | - ldrh r1, [r3, #2] |
---|
1071 | | - strh r1, [lr, #2] @ movhi |
---|
1072 | | - strh r2, [r6, r5] @ movhi |
---|
1073 | | - ldr r2, [ip, #2532] |
---|
1074 | | - cmp r3, r2 |
---|
1075 | | - ldrhne lr, [r3, #2] |
---|
1076 | | - movne r2, #6 |
---|
1077 | | - ldrne r1, [ip, #2516] |
---|
| 1185 | + ldmfd sp, {r3, r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 1186 | +.L127: |
---|
| 1187 | + mla r3, r6, r10, r5 |
---|
| 1188 | + mov r2, r10 |
---|
| 1189 | + b .L128 |
---|
| 1190 | +.L126: |
---|
| 1191 | + ldrh r5, [r3, #2] |
---|
| 1192 | + strh r5, [ip, #2] @ movhi |
---|
| 1193 | + strh r2, [r4, lr] @ movhi |
---|
| 1194 | + ldr r2, [r1, #2532] |
---|
| 1195 | + cmp r2, r3 |
---|
1078 | 1196 | strheq r0, [r3, #2] @ movhi |
---|
1079 | | - streq lr, [ip, #2532] |
---|
1080 | | - mulne r2, r2, lr |
---|
1081 | | - strhne r0, [r1, r2] @ movhi |
---|
1082 | | - strhne r0, [r3, #2] @ movhi |
---|
1083 | | - b .L137 |
---|
1084 | | -.L145: |
---|
| 1197 | + beq .L130 |
---|
| 1198 | +.L129: |
---|
| 1199 | + ldrh r2, [r3, #2] |
---|
| 1200 | + mov ip, #6 |
---|
| 1201 | + ldr r1, [r1, #2516] |
---|
| 1202 | + mul r2, ip, r2 |
---|
| 1203 | + strh r0, [r1, r2] @ movhi |
---|
| 1204 | + strh r0, [r3, #2] @ movhi |
---|
| 1205 | + b .L124 |
---|
| 1206 | +.L132: |
---|
1085 | 1207 | .align 2 |
---|
1086 | | -.L144: |
---|
| 1208 | +.L131: |
---|
1087 | 1209 | .word .LANCHOR0 |
---|
1088 | 1210 | .word -1431655765 |
---|
1089 | | - .fnend |
---|
1090 | 1211 | .size insert_free_list, .-insert_free_list |
---|
1091 | 1212 | .align 2 |
---|
1092 | 1213 | .global INSERT_FREE_LIST |
---|
.. | .. |
---|
1095 | 1216 | .fpu softvfp |
---|
1096 | 1217 | .type INSERT_FREE_LIST, %function |
---|
1097 | 1218 | INSERT_FREE_LIST: |
---|
1098 | | - .fnstart |
---|
1099 | 1219 | @ args = 0, pretend = 0, frame = 0 |
---|
1100 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
1101 | | - push {r4, lr} |
---|
1102 | | - .save {r4, lr} |
---|
| 1220 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 1221 | + mov ip, sp |
---|
| 1222 | + push {fp, ip, lr, pc} |
---|
| 1223 | + sub fp, ip, #4 |
---|
| 1224 | + push {lr} |
---|
| 1225 | + bl __gnu_mcount_nc |
---|
1103 | 1226 | bl insert_free_list |
---|
1104 | | - ldr r2, .L149 |
---|
| 1227 | + ldr r2, .L135 |
---|
1105 | 1228 | ldrh r3, [r2, #224] |
---|
1106 | 1229 | add r3, r3, #1 |
---|
1107 | 1230 | uxth r3, r3 |
---|
1108 | 1231 | strh r3, [r2, #224] @ movhi |
---|
1109 | 1232 | ldrh r2, [r2, #240] |
---|
1110 | 1233 | cmp r2, r3 |
---|
1111 | | - popcs {r4, pc} |
---|
| 1234 | + ldmfdcs sp, {fp, sp, pc} |
---|
| 1235 | + ldr r1, .L135+4 |
---|
1112 | 1236 | mov r2, #207 |
---|
1113 | | - ldr r1, .L149+4 |
---|
1114 | | - ldr r0, .L149+8 |
---|
1115 | | - pop {r4, lr} |
---|
1116 | | - b sftl_printk |
---|
1117 | | -.L150: |
---|
| 1237 | + ldr r0, .L135+8 |
---|
| 1238 | + bl sftl_printk |
---|
| 1239 | + ldmfd sp, {fp, sp, pc} |
---|
| 1240 | +.L136: |
---|
1118 | 1241 | .align 2 |
---|
1119 | | -.L149: |
---|
| 1242 | +.L135: |
---|
1120 | 1243 | .word .LANCHOR0 |
---|
1121 | 1244 | .word .LANCHOR1+17 |
---|
1122 | 1245 | .word .LC8 |
---|
1123 | | - .fnend |
---|
1124 | 1246 | .size INSERT_FREE_LIST, .-INSERT_FREE_LIST |
---|
1125 | 1247 | .align 2 |
---|
1126 | 1248 | .global List_remove_node |
---|
.. | .. |
---|
1129 | 1251 | .fpu softvfp |
---|
1130 | 1252 | .type List_remove_node, %function |
---|
1131 | 1253 | List_remove_node: |
---|
1132 | | - .fnstart |
---|
1133 | 1254 | @ args = 0, pretend = 0, frame = 0 |
---|
1134 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
1135 | | - push {r4, r5, r6, r7, r8, lr} |
---|
1136 | | - .save {r4, r5, r6, r7, r8, lr} |
---|
1137 | | - mov r6, #6 |
---|
1138 | | - ldr r4, .L158 |
---|
1139 | | - mul r6, r6, r1 |
---|
| 1255 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 1256 | + mov ip, sp |
---|
| 1257 | + push {r4, r5, r6, r7, r8, r9, fp, ip, lr, pc} |
---|
| 1258 | + sub fp, ip, #4 |
---|
| 1259 | + push {lr} |
---|
| 1260 | + bl __gnu_mcount_nc |
---|
| 1261 | + ldr r8, .L148 |
---|
| 1262 | + mov r4, #6 |
---|
1140 | 1263 | movw r3, #65535 |
---|
1141 | | - mov r8, r0 |
---|
1142 | | - ldr r7, [r4, #2516] |
---|
1143 | | - add r5, r7, r6 |
---|
1144 | | - ldrh r2, [r5, #2] |
---|
| 1264 | + mov r5, r0 |
---|
| 1265 | + mul r4, r4, r1 |
---|
| 1266 | + ldr r7, [r8, #2516] |
---|
| 1267 | + add r6, r7, r4 |
---|
| 1268 | + ldrh r2, [r6, #2] |
---|
1145 | 1269 | cmp r2, r3 |
---|
1146 | | - bne .L152 |
---|
| 1270 | + bne .L138 |
---|
1147 | 1271 | ldr r3, [r0] |
---|
1148 | | - cmp r5, r3 |
---|
1149 | | - beq .L152 |
---|
1150 | | - mov r2, #372 |
---|
1151 | | - ldr r1, .L158+4 |
---|
1152 | | - ldr r0, .L158+8 |
---|
1153 | | - bl sftl_printk |
---|
1154 | | -.L152: |
---|
1155 | | - ldr r3, [r8] |
---|
1156 | | - movw r2, #65535 |
---|
1157 | | - cmp r5, r3 |
---|
1158 | | - ldrh r3, [r7, r6] |
---|
1159 | | - bne .L153 |
---|
1160 | | - cmp r3, r2 |
---|
1161 | | - ldrne r2, [r4, #2516] |
---|
1162 | | - movne r1, #6 |
---|
1163 | | - moveq r3, #0 |
---|
1164 | | - streq r3, [r8] |
---|
1165 | | - mlane r3, r1, r3, r2 |
---|
1166 | | - mvnne r2, #0 |
---|
1167 | | - strne r3, [r8] |
---|
1168 | | - strhne r2, [r3, #2] @ movhi |
---|
1169 | | -.L155: |
---|
| 1272 | + cmp r6, r3 |
---|
| 1273 | + bne .L139 |
---|
| 1274 | +.L142: |
---|
| 1275 | + ldrh r2, [r7, r4] |
---|
| 1276 | + movw r3, #65535 |
---|
| 1277 | + cmp r2, r3 |
---|
| 1278 | + bne .L146 |
---|
| 1279 | + mov r3, #0 |
---|
| 1280 | + str r3, [r5] |
---|
| 1281 | +.L144: |
---|
1170 | 1282 | mvn r3, #0 |
---|
1171 | 1283 | mov r0, #0 |
---|
1172 | | - strh r3, [r7, r6] @ movhi |
---|
1173 | | - strh r3, [r5, #2] @ movhi |
---|
1174 | | - pop {r4, r5, r6, r7, r8, pc} |
---|
1175 | | -.L153: |
---|
1176 | | - cmp r3, r2 |
---|
1177 | | - ldrh r1, [r5, #2] |
---|
1178 | | - bne .L156 |
---|
1179 | | - cmp r1, r3 |
---|
1180 | | - movne r3, #6 |
---|
1181 | | - ldrne r2, [r4, #2516] |
---|
1182 | | - mulne r1, r3, r1 |
---|
1183 | | - mvnne r3, #0 |
---|
1184 | | - strhne r3, [r2, r1] @ movhi |
---|
1185 | | - b .L155 |
---|
1186 | | -.L156: |
---|
1187 | | - ldr r0, [r4, #2516] |
---|
| 1284 | + strh r3, [r7, r4] @ movhi |
---|
| 1285 | + strh r3, [r6, #2] @ movhi |
---|
| 1286 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, fp, sp, pc} |
---|
| 1287 | +.L139: |
---|
| 1288 | + ldr r1, .L148+4 |
---|
| 1289 | + mov r2, #372 |
---|
| 1290 | + ldr r0, .L148+8 |
---|
| 1291 | + bl sftl_printk |
---|
| 1292 | +.L138: |
---|
| 1293 | + ldr r3, [r5] |
---|
| 1294 | + ldrh r1, [r7, r4] |
---|
| 1295 | + cmp r3, r6 |
---|
| 1296 | + beq .L142 |
---|
| 1297 | + movw r2, #65535 |
---|
| 1298 | + ldrh r3, [r6, #2] |
---|
| 1299 | + cmp r1, r2 |
---|
| 1300 | + bne .L145 |
---|
| 1301 | + cmp r3, r1 |
---|
| 1302 | + beq .L144 |
---|
1188 | 1303 | mov r2, #6 |
---|
1189 | | - mla r3, r2, r3, r0 |
---|
1190 | | - strh r1, [r3, #2] @ movhi |
---|
1191 | | - ldrh r0, [r5, #2] |
---|
1192 | | - ldrh r1, [r7, r6] |
---|
1193 | | - ldr r3, [r4, #2516] |
---|
1194 | | - mul r2, r2, r0 |
---|
1195 | | - strh r1, [r3, r2] @ movhi |
---|
1196 | | - b .L155 |
---|
1197 | | -.L159: |
---|
| 1304 | + ldr r1, [r8, #2516] |
---|
| 1305 | + mul r3, r2, r3 |
---|
| 1306 | + mvn r2, #0 |
---|
| 1307 | + strh r2, [r1, r3] @ movhi |
---|
| 1308 | + b .L144 |
---|
| 1309 | +.L146: |
---|
| 1310 | + ldr r3, [r8, #2516] |
---|
| 1311 | + mov r1, #6 |
---|
| 1312 | + mla r3, r1, r2, r3 |
---|
| 1313 | + mvn r2, #0 |
---|
| 1314 | + str r3, [r5] |
---|
| 1315 | + strh r2, [r3, #2] @ movhi |
---|
| 1316 | + b .L144 |
---|
| 1317 | +.L145: |
---|
| 1318 | + ldr r2, [r8, #2516] |
---|
| 1319 | + mov r0, #6 |
---|
| 1320 | + mla r2, r0, r1, r2 |
---|
| 1321 | + strh r3, [r2, #2] @ movhi |
---|
| 1322 | + mul r3, r0, r3 |
---|
| 1323 | + ldr r2, [r8, #2516] |
---|
| 1324 | + ldrh r1, [r7, r4] |
---|
| 1325 | + strh r1, [r2, r3] @ movhi |
---|
| 1326 | + b .L144 |
---|
| 1327 | +.L149: |
---|
1198 | 1328 | .align 2 |
---|
1199 | | -.L158: |
---|
| 1329 | +.L148: |
---|
1200 | 1330 | .word .LANCHOR0 |
---|
1201 | 1331 | .word .LANCHOR1+34 |
---|
1202 | 1332 | .word .LC8 |
---|
1203 | | - .fnend |
---|
1204 | 1333 | .size List_remove_node, .-List_remove_node |
---|
1205 | 1334 | .align 2 |
---|
1206 | 1335 | .global List_pop_index_node |
---|
.. | .. |
---|
1209 | 1338 | .fpu softvfp |
---|
1210 | 1339 | .type List_pop_index_node, %function |
---|
1211 | 1340 | List_pop_index_node: |
---|
1212 | | - .fnstart |
---|
1213 | 1341 | @ args = 0, pretend = 0, frame = 0 |
---|
1214 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
| 1342 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 1343 | + mov ip, sp |
---|
| 1344 | + push {r4, r5, fp, ip, lr, pc} |
---|
| 1345 | + sub fp, ip, #4 |
---|
| 1346 | + push {lr} |
---|
| 1347 | + bl __gnu_mcount_nc |
---|
1215 | 1348 | ldr r3, [r0] |
---|
1216 | 1349 | cmp r3, #0 |
---|
1217 | | - beq .L166 |
---|
1218 | | - ldr r2, .L171 |
---|
1219 | | - push {r4, lr} |
---|
1220 | | - .save {r4, lr} |
---|
1221 | | - movw lr, #65535 |
---|
1222 | | - mov r4, #6 |
---|
1223 | | - ldr r2, [r2, #2516] |
---|
1224 | | -.L162: |
---|
| 1350 | + beq .L155 |
---|
| 1351 | + ldr r2, .L159 |
---|
| 1352 | + movw ip, #65535 |
---|
| 1353 | + mov lr, #6 |
---|
| 1354 | + ldr r4, [r2, #2516] |
---|
| 1355 | +.L152: |
---|
1225 | 1356 | cmp r1, #0 |
---|
1226 | | - bne .L163 |
---|
1227 | | -.L165: |
---|
1228 | | - ldr r4, .L171+4 |
---|
1229 | | - sub r3, r3, r2 |
---|
1230 | | - asr r3, r3, #1 |
---|
1231 | | - mul r4, r4, r3 |
---|
| 1357 | + beq .L153 |
---|
| 1358 | + ldrh r2, [r3] |
---|
| 1359 | + cmp r2, ip |
---|
| 1360 | + bne .L154 |
---|
| 1361 | +.L153: |
---|
| 1362 | + sub r4, r3, r4 |
---|
| 1363 | + ldr r3, .L159+4 |
---|
| 1364 | + asr r4, r4, #1 |
---|
| 1365 | + mul r4, r3, r4 |
---|
1232 | 1366 | uxth r1, r4 |
---|
1233 | 1367 | bl List_remove_node |
---|
1234 | 1368 | uxth r0, r4 |
---|
1235 | | - pop {r4, pc} |
---|
1236 | | -.L163: |
---|
1237 | | - ldrh ip, [r3] |
---|
1238 | | - cmp ip, lr |
---|
1239 | | - beq .L165 |
---|
| 1369 | + ldmfd sp, {r4, r5, fp, sp, pc} |
---|
| 1370 | +.L154: |
---|
1240 | 1371 | sub r1, r1, #1 |
---|
1241 | | - mla r3, r4, ip, r2 |
---|
| 1372 | + mla r3, lr, r2, r4 |
---|
1242 | 1373 | uxth r1, r1 |
---|
1243 | | - b .L162 |
---|
1244 | | -.L166: |
---|
| 1374 | + b .L152 |
---|
| 1375 | +.L155: |
---|
1245 | 1376 | movw r0, #65535 |
---|
1246 | | - bx lr |
---|
1247 | | -.L172: |
---|
| 1377 | + ldmfd sp, {r4, r5, fp, sp, pc} |
---|
| 1378 | +.L160: |
---|
1248 | 1379 | .align 2 |
---|
1249 | | -.L171: |
---|
| 1380 | +.L159: |
---|
1250 | 1381 | .word .LANCHOR0 |
---|
1251 | 1382 | .word -1431655765 |
---|
1252 | | - .fnend |
---|
1253 | 1383 | .size List_pop_index_node, .-List_pop_index_node |
---|
1254 | 1384 | .align 2 |
---|
1255 | 1385 | .global List_pop_head_node |
---|
.. | .. |
---|
1258 | 1388 | .fpu softvfp |
---|
1259 | 1389 | .type List_pop_head_node, %function |
---|
1260 | 1390 | List_pop_head_node: |
---|
1261 | | - .fnstart |
---|
1262 | 1391 | @ args = 0, pretend = 0, frame = 0 |
---|
1263 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
1264 | | - @ link register save eliminated. |
---|
| 1392 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 1393 | + mov ip, sp |
---|
| 1394 | + push {fp, ip, lr, pc} |
---|
| 1395 | + sub fp, ip, #4 |
---|
| 1396 | + push {lr} |
---|
| 1397 | + bl __gnu_mcount_nc |
---|
1265 | 1398 | mov r1, #0 |
---|
1266 | | - b List_pop_index_node |
---|
1267 | | - .fnend |
---|
| 1399 | + bl List_pop_index_node |
---|
| 1400 | + ldmfd sp, {fp, sp, pc} |
---|
1268 | 1401 | .size List_pop_head_node, .-List_pop_head_node |
---|
1269 | 1402 | .align 2 |
---|
1270 | 1403 | .global List_get_gc_head_node |
---|
.. | .. |
---|
1273 | 1406 | .fpu softvfp |
---|
1274 | 1407 | .type List_get_gc_head_node, %function |
---|
1275 | 1408 | List_get_gc_head_node: |
---|
1276 | | - .fnstart |
---|
1277 | 1409 | @ args = 0, pretend = 0, frame = 0 |
---|
1278 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
1279 | | - @ link register save eliminated. |
---|
1280 | | - ldr r2, .L180 |
---|
| 1410 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 1411 | + mov ip, sp |
---|
| 1412 | + push {fp, ip, lr, pc} |
---|
| 1413 | + sub fp, ip, #4 |
---|
| 1414 | + push {lr} |
---|
| 1415 | + bl __gnu_mcount_nc |
---|
| 1416 | + ldr r2, .L168 |
---|
1281 | 1417 | ldr r3, [r2, #2520] |
---|
1282 | 1418 | cmp r3, #0 |
---|
1283 | | - ldrne r1, [r2, #2516] |
---|
1284 | | - movne ip, #6 |
---|
1285 | | - movwne r2, #65535 |
---|
1286 | | - bne .L176 |
---|
1287 | | -.L179: |
---|
| 1419 | + movwne r1, #65535 |
---|
| 1420 | + movne lr, #6 |
---|
| 1421 | + ldrne ip, [r2, #2516] |
---|
| 1422 | + bne .L164 |
---|
| 1423 | +.L167: |
---|
1288 | 1424 | movw r0, #65535 |
---|
1289 | | - bx lr |
---|
1290 | | -.L178: |
---|
1291 | | - sub r0, r0, #1 |
---|
1292 | | - mla r3, ip, r3, r1 |
---|
1293 | | - uxth r0, r0 |
---|
1294 | | -.L176: |
---|
| 1425 | + ldmfd sp, {fp, sp, pc} |
---|
| 1426 | +.L166: |
---|
| 1427 | + sub r2, r0, #1 |
---|
| 1428 | + mla r3, lr, r3, ip |
---|
| 1429 | + uxth r0, r2 |
---|
| 1430 | +.L164: |
---|
1295 | 1431 | cmp r0, #0 |
---|
1296 | | - beq .L177 |
---|
| 1432 | + beq .L165 |
---|
1297 | 1433 | ldrh r3, [r3] |
---|
1298 | | - cmp r3, r2 |
---|
1299 | | - bne .L178 |
---|
1300 | | - b .L179 |
---|
1301 | | -.L177: |
---|
1302 | | - ldr r0, .L180+4 |
---|
1303 | | - sub r3, r3, r1 |
---|
1304 | | - asr r3, r3, #1 |
---|
1305 | | - mul r3, r0, r3 |
---|
1306 | | - uxth r0, r3 |
---|
1307 | | - bx lr |
---|
1308 | | -.L181: |
---|
| 1434 | + cmp r3, r1 |
---|
| 1435 | + bne .L166 |
---|
| 1436 | + b .L167 |
---|
| 1437 | +.L165: |
---|
| 1438 | + sub r0, r3, ip |
---|
| 1439 | + ldr r3, .L168+4 |
---|
| 1440 | + asr r0, r0, #1 |
---|
| 1441 | + mul r0, r3, r0 |
---|
| 1442 | + uxth r0, r0 |
---|
| 1443 | + ldmfd sp, {fp, sp, pc} |
---|
| 1444 | +.L169: |
---|
1309 | 1445 | .align 2 |
---|
1310 | | -.L180: |
---|
| 1446 | +.L168: |
---|
1311 | 1447 | .word .LANCHOR0 |
---|
1312 | 1448 | .word -1431655765 |
---|
1313 | | - .fnend |
---|
1314 | 1449 | .size List_get_gc_head_node, .-List_get_gc_head_node |
---|
1315 | 1450 | .align 2 |
---|
1316 | 1451 | .global List_update_data_list |
---|
.. | .. |
---|
1319 | 1454 | .fpu softvfp |
---|
1320 | 1455 | .type List_update_data_list, %function |
---|
1321 | 1456 | List_update_data_list: |
---|
1322 | | - .fnstart |
---|
1323 | 1457 | @ args = 0, pretend = 0, frame = 0 |
---|
1324 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
1325 | | - push {r4, r5, r6, r7, r8, r9, r10, lr} |
---|
1326 | | - .save {r4, r5, r6, r7, r8, r9, r10, lr} |
---|
1327 | | - ldr r4, .L194 |
---|
1328 | | - ldrh r3, [r4, #24] |
---|
| 1458 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 1459 | + mov ip, sp |
---|
| 1460 | + push {r4, r5, r6, r7, r8, r9, fp, ip, lr, pc} |
---|
| 1461 | + sub fp, ip, #4 |
---|
| 1462 | + push {lr} |
---|
| 1463 | + bl __gnu_mcount_nc |
---|
| 1464 | + ldr r5, .L181 |
---|
| 1465 | + mov r4, r0 |
---|
| 1466 | + ldrh r3, [r5, #24] |
---|
1329 | 1467 | cmp r3, r0 |
---|
1330 | | - beq .L184 |
---|
1331 | | - ldrh r3, [r4, #76] |
---|
| 1468 | + beq .L172 |
---|
| 1469 | + ldrh r3, [r5, #76] |
---|
1332 | 1470 | cmp r3, r0 |
---|
1333 | | - beq .L184 |
---|
1334 | | - ldrh r3, [r4, #124] |
---|
| 1471 | + beq .L172 |
---|
| 1472 | + ldrh r3, [r5, #124] |
---|
1335 | 1473 | cmp r3, r0 |
---|
1336 | | - beq .L184 |
---|
| 1474 | + beq .L172 |
---|
1337 | 1475 | mov r7, #6 |
---|
1338 | | - ldr r9, [r4, #2516] |
---|
| 1476 | + ldr r9, [r5, #2516] |
---|
| 1477 | + ldr r3, [r5, #2520] |
---|
1339 | 1478 | mul r7, r7, r0 |
---|
1340 | | - ldr r3, [r4, #2520] |
---|
1341 | 1479 | add r8, r9, r7 |
---|
1342 | 1480 | cmp r8, r3 |
---|
1343 | | - beq .L184 |
---|
1344 | | - ldr r2, [r4, #72] |
---|
| 1481 | + beq .L172 |
---|
| 1482 | + ldr r2, [r5, #72] |
---|
1345 | 1483 | lsl r3, r0, #1 |
---|
1346 | | - ldrh r6, [r8, #4] |
---|
1347 | | - mov r5, r0 |
---|
1348 | | - ldrh r3, [r2, r3] |
---|
| 1484 | + ldrh r6, [r2, r3] |
---|
1349 | 1485 | movw r2, #65535 |
---|
1350 | | - cmp r6, #0 |
---|
| 1486 | + ldrh r3, [r8, #4] |
---|
| 1487 | + cmp r3, #0 |
---|
1351 | 1488 | mvneq r6, #0 |
---|
1352 | | - mulne r6, r6, r3 |
---|
| 1489 | + mulne r6, r3, r6 |
---|
1353 | 1490 | ldrh r3, [r8, #2] |
---|
1354 | 1491 | cmp r3, r2 |
---|
1355 | | - bne .L187 |
---|
| 1492 | + bne .L175 |
---|
1356 | 1493 | ldrh r2, [r9, r7] |
---|
1357 | 1494 | cmp r2, r3 |
---|
1358 | | - bne .L187 |
---|
| 1495 | + bne .L175 |
---|
| 1496 | + ldr r1, .L181+4 |
---|
1359 | 1497 | movw r2, #463 |
---|
1360 | | - ldr r1, .L194+4 |
---|
1361 | | - ldr r0, .L194+8 |
---|
| 1498 | + ldr r0, .L181+8 |
---|
1362 | 1499 | bl sftl_printk |
---|
1363 | | -.L187: |
---|
| 1500 | +.L175: |
---|
1364 | 1501 | ldrh r3, [r8, #2] |
---|
1365 | 1502 | movw r2, #65535 |
---|
1366 | 1503 | cmp r3, r2 |
---|
1367 | | - bne .L188 |
---|
| 1504 | + bne .L176 |
---|
1368 | 1505 | ldrh r2, [r9, r7] |
---|
1369 | 1506 | cmp r2, r3 |
---|
1370 | | - beq .L184 |
---|
1371 | | -.L188: |
---|
| 1507 | + beq .L172 |
---|
| 1508 | +.L176: |
---|
1372 | 1509 | mov r2, #6 |
---|
1373 | | - mul r2, r2, r3 |
---|
1374 | | - ldr r3, .L194+12 |
---|
1375 | | - asr r1, r2, #1 |
---|
1376 | | - mul r3, r3, r1 |
---|
1377 | | - ldr r1, [r4, #72] |
---|
1378 | | - lsl r3, r3, #1 |
---|
1379 | | - ldrh r0, [r1, r3] |
---|
1380 | | - ldr r1, [r4, #2516] |
---|
1381 | | - add r2, r1, r2 |
---|
1382 | | - ldrh r3, [r2, #4] |
---|
| 1510 | + ldr r1, .L181+12 |
---|
| 1511 | + mul r3, r2, r3 |
---|
| 1512 | + asr r2, r3, #1 |
---|
| 1513 | + mul r2, r1, r2 |
---|
| 1514 | + ldr r1, [r5, #72] |
---|
| 1515 | + lsl r2, r2, #1 |
---|
| 1516 | + ldrh r2, [r1, r2] |
---|
| 1517 | + ldr r1, [r5, #2516] |
---|
| 1518 | + add r3, r1, r3 |
---|
| 1519 | + ldrh r3, [r3, #4] |
---|
1383 | 1520 | cmp r3, #0 |
---|
1384 | | - mulne r3, r3, r0 |
---|
1385 | 1521 | mvneq r3, #0 |
---|
| 1522 | + mulne r3, r3, r2 |
---|
1386 | 1523 | cmp r6, r3 |
---|
1387 | | - bcs .L184 |
---|
1388 | | - ldr r4, .L194+16 |
---|
1389 | | - mov r1, r5 |
---|
1390 | | - ldr r0, .L194+20 |
---|
| 1524 | + bcs .L172 |
---|
| 1525 | + ldr r5, .L181+16 |
---|
| 1526 | + mov r1, r4 |
---|
| 1527 | + ldr r0, .L181+20 |
---|
1391 | 1528 | bl List_remove_node |
---|
1392 | | - ldrh r3, [r4] |
---|
| 1529 | + ldrh r3, [r5] |
---|
1393 | 1530 | cmp r3, #0 |
---|
1394 | | - bne .L190 |
---|
| 1531 | + bne .L178 |
---|
| 1532 | + ldr r1, .L181+4 |
---|
1395 | 1533 | movw r2, #474 |
---|
1396 | | - ldr r1, .L194+4 |
---|
1397 | | - ldr r0, .L194+8 |
---|
| 1534 | + ldr r0, .L181+8 |
---|
1398 | 1535 | bl sftl_printk |
---|
1399 | | -.L190: |
---|
1400 | | - ldrh r3, [r4] |
---|
1401 | | - mov r0, r5 |
---|
| 1536 | +.L178: |
---|
| 1537 | + ldrh r3, [r5] |
---|
| 1538 | + mov r0, r4 |
---|
1402 | 1539 | sub r3, r3, #1 |
---|
1403 | | - strh r3, [r4] @ movhi |
---|
| 1540 | + strh r3, [r5] @ movhi |
---|
1404 | 1541 | bl INSERT_DATA_LIST |
---|
1405 | | -.L184: |
---|
| 1542 | +.L172: |
---|
1406 | 1543 | mov r0, #0 |
---|
1407 | | - pop {r4, r5, r6, r7, r8, r9, r10, pc} |
---|
1408 | | -.L195: |
---|
| 1544 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, fp, sp, pc} |
---|
| 1545 | +.L182: |
---|
1409 | 1546 | .align 2 |
---|
1410 | | -.L194: |
---|
| 1547 | +.L181: |
---|
1411 | 1548 | .word .LANCHOR0 |
---|
1412 | 1549 | .word .LANCHOR1+51 |
---|
1413 | 1550 | .word .LC8 |
---|
1414 | 1551 | .word -1431655765 |
---|
1415 | 1552 | .word .LANCHOR0+2528 |
---|
1416 | 1553 | .word .LANCHOR0+2520 |
---|
1417 | | - .fnend |
---|
1418 | 1554 | .size List_update_data_list, .-List_update_data_list |
---|
1419 | 1555 | .align 2 |
---|
1420 | 1556 | .global select_l2p_ram_region |
---|
.. | .. |
---|
1423 | 1559 | .fpu softvfp |
---|
1424 | 1560 | .type select_l2p_ram_region, %function |
---|
1425 | 1561 | select_l2p_ram_region: |
---|
1426 | | - .fnstart |
---|
1427 | 1562 | @ args = 0, pretend = 0, frame = 0 |
---|
1428 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
1429 | | - ldr r3, .L207 |
---|
| 1563 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 1564 | + mov ip, sp |
---|
| 1565 | + push {r4, r5, r6, r7, fp, ip, lr, pc} |
---|
| 1566 | + sub fp, ip, #4 |
---|
| 1567 | + push {lr} |
---|
| 1568 | + bl __gnu_mcount_nc |
---|
| 1569 | + ldr r3, .L193 |
---|
1430 | 1570 | movw r2, #338 |
---|
1431 | | - push {r4, r5, r6, lr} |
---|
1432 | | - .save {r4, r5, r6, lr} |
---|
1433 | 1571 | mov r1, #0 |
---|
1434 | | - mov r0, #12 |
---|
1435 | | - movw ip, #65535 |
---|
| 1572 | + mov ip, #12 |
---|
| 1573 | + movw lr, #65535 |
---|
1436 | 1574 | ldrh r2, [r3, r2] |
---|
1437 | 1575 | ldr r3, [r3, #2540] |
---|
1438 | | -.L197: |
---|
| 1576 | + sub r0, r3, #12 |
---|
| 1577 | +.L184: |
---|
1439 | 1578 | uxth r4, r1 |
---|
1440 | | - cmp r4, r2 |
---|
1441 | | - bcc .L199 |
---|
| 1579 | + cmp r2, r4 |
---|
| 1580 | + bhi .L186 |
---|
1442 | 1581 | mov r4, r2 |
---|
| 1582 | + add r5, r3, #4 |
---|
1443 | 1583 | mov r1, #0 |
---|
1444 | 1584 | mov r0, #-2147483648 |
---|
1445 | | - mov r5, #12 |
---|
1446 | | -.L200: |
---|
| 1585 | + mov r6, #12 |
---|
| 1586 | +.L187: |
---|
1447 | 1587 | uxth lr, r1 |
---|
1448 | | - cmp lr, r2 |
---|
1449 | | - bcc .L202 |
---|
1450 | | - cmp r4, r2 |
---|
1451 | | - bcc .L198 |
---|
1452 | | - ldr r1, .L207+4 |
---|
| 1588 | + cmp r2, lr |
---|
| 1589 | + bhi .L189 |
---|
| 1590 | + cmp r2, r4 |
---|
| 1591 | + bhi .L185 |
---|
| 1592 | + ldr r1, .L193+4 |
---|
1453 | 1593 | mov r4, r2 |
---|
1454 | 1594 | mvn r0, #0 |
---|
1455 | 1595 | ldrh r5, [r1] |
---|
1456 | 1596 | mov r1, #0 |
---|
1457 | | -.L203: |
---|
| 1597 | +.L190: |
---|
1458 | 1598 | uxth ip, r1 |
---|
1459 | | - cmp ip, r2 |
---|
1460 | | - bcc .L205 |
---|
1461 | | - cmp r4, r2 |
---|
1462 | | - bcc .L198 |
---|
| 1599 | + cmp r2, ip |
---|
| 1600 | + bhi .L192 |
---|
| 1601 | + cmp r2, r4 |
---|
| 1602 | + bhi .L185 |
---|
| 1603 | + ldr r1, .L193+8 |
---|
1463 | 1604 | mov r2, #796 |
---|
1464 | | - ldr r1, .L207+8 |
---|
1465 | | - ldr r0, .L207+12 |
---|
| 1605 | + ldr r0, .L193+12 |
---|
1466 | 1606 | bl sftl_printk |
---|
1467 | | - b .L198 |
---|
1468 | | -.L199: |
---|
| 1607 | + b .L185 |
---|
| 1608 | +.L186: |
---|
1469 | 1609 | add r1, r1, #1 |
---|
1470 | | - mla lr, r0, r1, r3 |
---|
1471 | | - ldrh lr, [lr, #-12] |
---|
1472 | | - cmp lr, ip |
---|
1473 | | - bne .L197 |
---|
1474 | | -.L198: |
---|
| 1610 | + mul r5, ip, r1 |
---|
| 1611 | + ldrh r5, [r0, r5] |
---|
| 1612 | + cmp r5, lr |
---|
| 1613 | + bne .L184 |
---|
| 1614 | +.L185: |
---|
1475 | 1615 | mov r0, r4 |
---|
1476 | | - pop {r4, r5, r6, pc} |
---|
1477 | | -.L202: |
---|
1478 | | - mla ip, r5, r1, r3 |
---|
| 1616 | + ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} |
---|
| 1617 | +.L189: |
---|
| 1618 | + mul ip, r6, r1 |
---|
1479 | 1619 | add r1, r1, #1 |
---|
1480 | | - ldr ip, [ip, #4] |
---|
1481 | | - cmp r0, ip |
---|
1482 | | - movls r6, #0 |
---|
1483 | | - movhi r6, #1 |
---|
1484 | | - cmp ip, #0 |
---|
1485 | | - movlt r6, #0 |
---|
1486 | | - cmp r6, #0 |
---|
| 1620 | + ldr ip, [r5, ip] |
---|
| 1621 | + mvn r7, ip |
---|
| 1622 | + cmp ip, r0 |
---|
| 1623 | + lsr r7, r7, #31 |
---|
| 1624 | + movcs r7, #0 |
---|
| 1625 | + cmp r7, #0 |
---|
1487 | 1626 | movne r0, ip |
---|
1488 | 1627 | movne r4, lr |
---|
1489 | | - b .L200 |
---|
1490 | | -.L205: |
---|
| 1628 | + b .L187 |
---|
| 1629 | +.L192: |
---|
1491 | 1630 | ldr lr, [r3, #4] |
---|
1492 | | - cmp r0, lr |
---|
1493 | | - bls .L204 |
---|
| 1631 | + cmp lr, r0 |
---|
| 1632 | + bcs .L191 |
---|
1494 | 1633 | ldrh r6, [r3] |
---|
1495 | 1634 | cmp r6, r5 |
---|
1496 | 1635 | movne r0, lr |
---|
1497 | 1636 | movne r4, ip |
---|
1498 | | -.L204: |
---|
| 1637 | +.L191: |
---|
1499 | 1638 | add r1, r1, #1 |
---|
1500 | 1639 | add r3, r3, #12 |
---|
1501 | | - b .L203 |
---|
1502 | | -.L208: |
---|
| 1640 | + b .L190 |
---|
| 1641 | +.L194: |
---|
1503 | 1642 | .align 2 |
---|
1504 | | -.L207: |
---|
| 1643 | +.L193: |
---|
1505 | 1644 | .word .LANCHOR0 |
---|
1506 | 1645 | .word .LANCHOR0+2544 |
---|
1507 | 1646 | .word .LANCHOR1+73 |
---|
1508 | 1647 | .word .LC8 |
---|
1509 | | - .fnend |
---|
1510 | 1648 | .size select_l2p_ram_region, .-select_l2p_ram_region |
---|
1511 | 1649 | .align 2 |
---|
1512 | 1650 | .global FtlUpdateVaildLpn |
---|
.. | .. |
---|
1515 | 1653 | .fpu softvfp |
---|
1516 | 1654 | .type FtlUpdateVaildLpn, %function |
---|
1517 | 1655 | FtlUpdateVaildLpn: |
---|
1518 | | - .fnstart |
---|
1519 | 1656 | @ args = 0, pretend = 0, frame = 0 |
---|
1520 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
1521 | | - ldr ip, .L218 |
---|
| 1657 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 1658 | + mov ip, sp |
---|
| 1659 | + push {fp, ip, lr, pc} |
---|
| 1660 | + sub fp, ip, #4 |
---|
| 1661 | + push {lr} |
---|
| 1662 | + bl __gnu_mcount_nc |
---|
| 1663 | + ldr r3, .L201 |
---|
1522 | 1664 | movw r1, #2546 |
---|
1523 | | - ldrh r2, [ip, r1] |
---|
| 1665 | + ldrh r2, [r3, r1] |
---|
1524 | 1666 | cmp r2, #4 |
---|
1525 | 1667 | cmpls r0, #0 |
---|
1526 | | - bne .L210 |
---|
| 1668 | + bne .L196 |
---|
1527 | 1669 | add r2, r2, #1 |
---|
1528 | | - strh r2, [ip, r1] @ movhi |
---|
1529 | | - bx lr |
---|
1530 | | -.L210: |
---|
| 1670 | + strh r2, [r3, r1] @ movhi |
---|
| 1671 | + ldmfd sp, {fp, sp, pc} |
---|
| 1672 | +.L196: |
---|
1531 | 1673 | mov r2, #0 |
---|
1532 | | - str lr, [sp, #-4]! |
---|
1533 | | - .save {lr} |
---|
1534 | | - strh r2, [ip, r1] @ movhi |
---|
1535 | | - mov r3, ip |
---|
| 1674 | + strh r2, [r3, r1] @ movhi |
---|
| 1675 | + str r2, [r3, #2548] |
---|
1536 | 1676 | movw lr, #65535 |
---|
1537 | | - str r2, [ip, #2548] |
---|
1538 | | - ldrh r1, [ip, #240] |
---|
1539 | | - ldr r2, [ip, #72] |
---|
| 1677 | + ldr r2, [r3, #72] |
---|
| 1678 | + ldrh r1, [r3, #240] |
---|
1540 | 1679 | add r1, r2, r1, lsl #1 |
---|
1541 | | -.L211: |
---|
| 1680 | +.L197: |
---|
1542 | 1681 | cmp r2, r1 |
---|
1543 | | - bne .L213 |
---|
1544 | | - ldr pc, [sp], #4 |
---|
1545 | | -.L213: |
---|
| 1682 | + ldmfdeq sp, {fp, sp, pc} |
---|
1546 | 1683 | ldrh ip, [r2], #2 |
---|
1547 | 1684 | cmp ip, lr |
---|
1548 | 1685 | ldrne r0, [r3, #2548] |
---|
1549 | 1686 | addne r0, r0, ip |
---|
1550 | 1687 | strne r0, [r3, #2548] |
---|
1551 | | - b .L211 |
---|
1552 | | -.L219: |
---|
| 1688 | + b .L197 |
---|
| 1689 | +.L202: |
---|
1553 | 1690 | .align 2 |
---|
1554 | | -.L218: |
---|
| 1691 | +.L201: |
---|
1555 | 1692 | .word .LANCHOR0 |
---|
1556 | | - .fnend |
---|
1557 | 1693 | .size FtlUpdateVaildLpn, .-FtlUpdateVaildLpn |
---|
1558 | 1694 | .align 2 |
---|
1559 | 1695 | .global ftl_sb_update_avl_pages |
---|
.. | .. |
---|
1562 | 1698 | .fpu softvfp |
---|
1563 | 1699 | .type ftl_sb_update_avl_pages, %function |
---|
1564 | 1700 | ftl_sb_update_avl_pages: |
---|
1565 | | - .fnstart |
---|
1566 | 1701 | @ args = 0, pretend = 0, frame = 0 |
---|
1567 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
| 1702 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 1703 | + mov ip, sp |
---|
| 1704 | + push {r4, r5, fp, ip, lr, pc} |
---|
| 1705 | + sub fp, ip, #4 |
---|
| 1706 | + push {lr} |
---|
| 1707 | + bl __gnu_mcount_nc |
---|
| 1708 | + ldr r4, .L211 |
---|
| 1709 | + add ip, r2, #8 |
---|
1568 | 1710 | mov r3, #0 |
---|
1569 | | - push {r4, r5, lr} |
---|
1570 | | - .save {r4, r5, lr} |
---|
1571 | | - strh r3, [r0, #4] @ movhi |
---|
1572 | | - add ip, r0, r2, lsl #1 |
---|
1573 | 1711 | movw r5, #65535 |
---|
1574 | | - ldr r3, .L228 |
---|
1575 | | - add ip, ip, #14 |
---|
1576 | | - ldrh lr, [r3, #232] |
---|
1577 | | -.L221: |
---|
1578 | | - cmp r2, lr |
---|
1579 | | - bcc .L223 |
---|
1580 | | - movw r2, #302 |
---|
1581 | | - add ip, r0, #16 |
---|
1582 | | - ldrh r3, [r3, r2] |
---|
1583 | | - movw r4, #65535 |
---|
1584 | | - sub r3, r3, #1 |
---|
1585 | | - sub r1, r3, r1 |
---|
1586 | | - mov r3, #0 |
---|
1587 | | - uxth r1, r1 |
---|
1588 | | -.L224: |
---|
1589 | | - uxth r2, r3 |
---|
| 1712 | + add ip, r0, ip, lsl #1 |
---|
| 1713 | + strh r3, [r0, #4] @ movhi |
---|
| 1714 | + ldrh lr, [r4, #232] |
---|
| 1715 | +.L204: |
---|
1590 | 1716 | cmp lr, r2 |
---|
1591 | | - bhi .L226 |
---|
1592 | | - pop {r4, r5, pc} |
---|
1593 | | -.L223: |
---|
1594 | | - ldrh r4, [ip, #2]! |
---|
| 1717 | + bhi .L206 |
---|
| 1718 | + movw r3, #302 |
---|
| 1719 | + add ip, r0, #16 |
---|
| 1720 | + mov r2, #0 |
---|
| 1721 | + ldrh r3, [r4, r3] |
---|
| 1722 | + movw r4, #65535 |
---|
| 1723 | + sub r3, r3, r1 |
---|
| 1724 | + sub r3, r3, #1 |
---|
| 1725 | + sxth r3, r3 |
---|
| 1726 | +.L207: |
---|
| 1727 | + uxth r1, r2 |
---|
| 1728 | + cmp lr, r1 |
---|
| 1729 | + ldmfdls sp, {r4, r5, fp, sp, pc} |
---|
| 1730 | + ldrh r1, [ip], #2 |
---|
1595 | 1731 | add r2, r2, #1 |
---|
| 1732 | + cmp r1, r4 |
---|
| 1733 | + ldrhne r1, [r0, #4] |
---|
| 1734 | + addne r1, r3, r1 |
---|
| 1735 | + strhne r1, [r0, #4] @ movhi |
---|
| 1736 | + b .L207 |
---|
| 1737 | +.L206: |
---|
| 1738 | + ldrh r3, [ip], #2 |
---|
| 1739 | + add r2, r2, #1 |
---|
| 1740 | + cmp r3, r5 |
---|
1596 | 1741 | uxth r2, r2 |
---|
1597 | | - cmp r4, r5 |
---|
1598 | | - ldrhne r4, [r0, #4] |
---|
1599 | | - addne r4, r4, #1 |
---|
1600 | | - strhne r4, [r0, #4] @ movhi |
---|
1601 | | - b .L221 |
---|
1602 | | -.L226: |
---|
1603 | | - ldrh r2, [ip], #2 |
---|
1604 | | - add r3, r3, #1 |
---|
1605 | | - cmp r2, r4 |
---|
1606 | | - ldrhne r2, [r0, #4] |
---|
1607 | | - addne r2, r1, r2 |
---|
1608 | | - strhne r2, [r0, #4] @ movhi |
---|
1609 | | - b .L224 |
---|
1610 | | -.L229: |
---|
| 1742 | + ldrhne r3, [r0, #4] |
---|
| 1743 | + addne r3, r3, #1 |
---|
| 1744 | + strhne r3, [r0, #4] @ movhi |
---|
| 1745 | + b .L204 |
---|
| 1746 | +.L212: |
---|
1611 | 1747 | .align 2 |
---|
1612 | | -.L228: |
---|
| 1748 | +.L211: |
---|
1613 | 1749 | .word .LANCHOR0 |
---|
1614 | | - .fnend |
---|
1615 | 1750 | .size ftl_sb_update_avl_pages, .-ftl_sb_update_avl_pages |
---|
1616 | 1751 | .align 2 |
---|
1617 | 1752 | .global FtlSlcSuperblockCheck |
---|
.. | .. |
---|
1620 | 1755 | .fpu softvfp |
---|
1621 | 1756 | .type FtlSlcSuperblockCheck, %function |
---|
1622 | 1757 | FtlSlcSuperblockCheck: |
---|
1623 | | - .fnstart |
---|
1624 | 1758 | @ args = 0, pretend = 0, frame = 0 |
---|
1625 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
| 1759 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 1760 | + mov ip, sp |
---|
| 1761 | + push {fp, ip, lr, pc} |
---|
| 1762 | + sub fp, ip, #4 |
---|
| 1763 | + push {lr} |
---|
| 1764 | + bl __gnu_mcount_nc |
---|
1626 | 1765 | ldrh r3, [r0, #4] |
---|
1627 | 1766 | cmp r3, #0 |
---|
1628 | | - bxeq lr |
---|
1629 | | - ldrh r2, [r0] |
---|
1630 | | - movw r3, #65535 |
---|
1631 | | - cmp r2, r3 |
---|
1632 | | - bxeq lr |
---|
1633 | | - ldrb r2, [r0, #6] @ zero_extendqisi2 |
---|
1634 | | - str lr, [sp, #-4]! |
---|
1635 | | - .save {lr} |
---|
1636 | | - mov lr, #0 |
---|
1637 | | - add r2, r0, r2, lsl #1 |
---|
1638 | | - ldrh r1, [r2, #16] |
---|
1639 | | - ldr r2, .L240 |
---|
1640 | | - ldrh ip, [r2, #232] |
---|
1641 | | - mov r2, r3 |
---|
1642 | | -.L233: |
---|
1643 | | - cmp r1, r2 |
---|
1644 | | - beq .L235 |
---|
1645 | | - ldr pc, [sp], #4 |
---|
1646 | | -.L235: |
---|
| 1767 | + ldmfdeq sp, {fp, sp, pc} |
---|
| 1768 | + ldrh r3, [r0] |
---|
| 1769 | + movw r2, #65535 |
---|
| 1770 | + cmp r3, r2 |
---|
| 1771 | + ldmfdeq sp, {fp, sp, pc} |
---|
| 1772 | + ldrb r3, [r0, #6] @ zero_extendqisi2 |
---|
| 1773 | + mov ip, #0 |
---|
| 1774 | + ldr r1, .L219 |
---|
| 1775 | + add r3, r0, r3, lsl #1 |
---|
| 1776 | + ldrh r1, [r1, #232] |
---|
| 1777 | + ldrh r3, [r3, #16] |
---|
| 1778 | +.L216: |
---|
| 1779 | + cmp r3, r2 |
---|
| 1780 | + ldmfdne sp, {fp, sp, pc} |
---|
1647 | 1781 | ldrb r3, [r0, #6] @ zero_extendqisi2 |
---|
1648 | 1782 | add r3, r3, #1 |
---|
1649 | 1783 | uxtb r3, r3 |
---|
1650 | | - cmp r3, ip |
---|
1651 | 1784 | strb r3, [r0, #6] |
---|
| 1785 | + cmp r3, r1 |
---|
| 1786 | + strbeq ip, [r0, #6] |
---|
1652 | 1787 | ldrheq r3, [r0, #2] |
---|
1653 | | - strbeq lr, [r0, #6] |
---|
1654 | 1788 | addeq r3, r3, #1 |
---|
1655 | 1789 | strheq r3, [r0, #2] @ movhi |
---|
1656 | 1790 | ldrb r3, [r0, #6] @ zero_extendqisi2 |
---|
1657 | 1791 | add r3, r0, r3, lsl #1 |
---|
1658 | | - ldrh r1, [r3, #16] |
---|
1659 | | - b .L233 |
---|
1660 | | -.L241: |
---|
| 1792 | + ldrh r3, [r3, #16] |
---|
| 1793 | + b .L216 |
---|
| 1794 | +.L220: |
---|
1661 | 1795 | .align 2 |
---|
1662 | | -.L240: |
---|
| 1796 | +.L219: |
---|
1663 | 1797 | .word .LANCHOR0 |
---|
1664 | | - .fnend |
---|
1665 | 1798 | .size FtlSlcSuperblockCheck, .-FtlSlcSuperblockCheck |
---|
1666 | 1799 | .align 2 |
---|
1667 | 1800 | .global make_superblock |
---|
.. | .. |
---|
1670 | 1803 | .fpu softvfp |
---|
1671 | 1804 | .type make_superblock, %function |
---|
1672 | 1805 | make_superblock: |
---|
1673 | | - .fnstart |
---|
1674 | | - @ args = 0, pretend = 0, frame = 0 |
---|
1675 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
1676 | | - push {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
1677 | | - .save {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
| 1806 | + @ args = 0, pretend = 0, frame = 8 |
---|
| 1807 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 1808 | + mov ip, sp |
---|
| 1809 | + push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 1810 | + sub fp, ip, #4 |
---|
| 1811 | + sub sp, sp, #12 |
---|
| 1812 | + push {lr} |
---|
| 1813 | + bl __gnu_mcount_nc |
---|
| 1814 | + ldr r7, .L227 |
---|
1678 | 1815 | mov r4, r0 |
---|
1679 | | - ldr r6, .L249 |
---|
1680 | 1816 | ldrh r2, [r0] |
---|
1681 | | - ldrh r3, [r6, #240] |
---|
| 1817 | + ldrh r3, [r7, #240] |
---|
1682 | 1818 | cmp r2, r3 |
---|
1683 | | - bcc .L243 |
---|
| 1819 | + bcc .L222 |
---|
| 1820 | + ldr r1, .L227+4 |
---|
1684 | 1821 | movw r2, #2157 |
---|
1685 | | - ldr r1, .L249+4 |
---|
1686 | | - ldr r0, .L249+8 |
---|
| 1822 | + ldr r0, .L227+8 |
---|
1687 | 1823 | bl sftl_printk |
---|
1688 | | -.L243: |
---|
1689 | | - ldrh r9, [r6, #232] |
---|
1690 | | - add r7, r4, #16 |
---|
1691 | | - ldr r10, .L249+12 |
---|
1692 | | - mvn r8, #0 |
---|
1693 | | - mov r5, #0 |
---|
1694 | | - strh r5, [r4, #4] @ movhi |
---|
1695 | | - strb r5, [r4, #7] |
---|
1696 | | -.L244: |
---|
1697 | | - uxth r3, r5 |
---|
| 1824 | +.L222: |
---|
| 1825 | + ldrh r6, [r7, #232] |
---|
| 1826 | + mov r3, #0 |
---|
| 1827 | + strh r3, [r4, #4] @ movhi |
---|
| 1828 | + add r5, r4, #16 |
---|
| 1829 | + strb r3, [r4, #7] |
---|
| 1830 | + mvn r9, #0 |
---|
| 1831 | + add r6, r4, r6, lsl #1 |
---|
| 1832 | + ldr r3, .L227+12 |
---|
| 1833 | + add r6, r6, #16 |
---|
| 1834 | +.L223: |
---|
1698 | 1835 | ldrh r1, [r4] |
---|
1699 | | - cmp r9, r3 |
---|
1700 | | - bhi .L246 |
---|
1701 | | - movw r2, #302 |
---|
1702 | | - ldrb r3, [r4, #7] @ zero_extendqisi2 |
---|
1703 | | - ldrh r2, [r6, r2] |
---|
| 1836 | + cmp r6, r5 |
---|
| 1837 | + ldrb r8, [r4, #7] @ zero_extendqisi2 |
---|
| 1838 | + bne .L225 |
---|
| 1839 | + movw r3, #302 |
---|
1704 | 1840 | lsl r1, r1, #1 |
---|
1705 | 1841 | mov r0, #0 |
---|
1706 | | - smulbb r3, r3, r2 |
---|
1707 | | - strh r3, [r4, #4] @ movhi |
---|
| 1842 | + ldrh r3, [r7, r3] |
---|
| 1843 | + smulbb r8, r3, r8 |
---|
1708 | 1844 | mov r3, #0 |
---|
1709 | 1845 | strb r3, [r4, #9] |
---|
1710 | | - ldr r3, [r6, #2536] |
---|
| 1846 | + ldr r3, [r7, #2536] |
---|
| 1847 | + strh r8, [r4, #4] @ movhi |
---|
1711 | 1848 | ldrh r2, [r3, r1] |
---|
1712 | 1849 | movw r3, #10000 |
---|
1713 | 1850 | cmp r2, r3 |
---|
1714 | 1851 | movhi r3, #1 |
---|
1715 | 1852 | strbhi r3, [r4, #9] |
---|
1716 | | - pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} |
---|
1717 | | -.L246: |
---|
1718 | | - ldrb r0, [r10, r5] @ zero_extendqisi2 |
---|
1719 | | - add r7, r7, #2 |
---|
| 1853 | + sub sp, fp, #40 |
---|
| 1854 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 1855 | +.L225: |
---|
| 1856 | + ldrb r0, [r3], #1 @ zero_extendqisi2 |
---|
| 1857 | + add r5, r5, #2 |
---|
| 1858 | + str r3, [fp, #-48] |
---|
1720 | 1859 | bl V2P_block |
---|
1721 | | - strh r8, [r7, #-2] @ movhi |
---|
1722 | | - mov fp, r0 |
---|
| 1860 | + strh r9, [r5, #-2] @ movhi |
---|
| 1861 | + mov r10, r0 |
---|
1723 | 1862 | bl FtlBbmIsBadBlock |
---|
1724 | 1863 | cmp r0, #0 |
---|
1725 | | - add r5, r5, #1 |
---|
1726 | | - strheq fp, [r7, #-2] @ movhi |
---|
1727 | | - ldrbeq r3, [r4, #7] @ zero_extendqisi2 |
---|
1728 | | - addeq r3, r3, #1 |
---|
1729 | | - strbeq r3, [r4, #7] |
---|
1730 | | - b .L244 |
---|
1731 | | -.L250: |
---|
| 1864 | + addeq r8, r8, #1 |
---|
| 1865 | + strheq r10, [r5, #-2] @ movhi |
---|
| 1866 | + ldr r3, [fp, #-48] |
---|
| 1867 | + strbeq r8, [r4, #7] |
---|
| 1868 | + b .L223 |
---|
| 1869 | +.L228: |
---|
1732 | 1870 | .align 2 |
---|
1733 | | -.L249: |
---|
| 1871 | +.L227: |
---|
1734 | 1872 | .word .LANCHOR0 |
---|
1735 | 1873 | .word .LANCHOR1+95 |
---|
1736 | 1874 | .word .LC8 |
---|
1737 | 1875 | .word .LANCHOR0+260 |
---|
1738 | | - .fnend |
---|
1739 | 1876 | .size make_superblock, .-make_superblock |
---|
1740 | 1877 | .align 2 |
---|
1741 | 1878 | .global update_multiplier_value |
---|
.. | .. |
---|
1744 | 1881 | .fpu softvfp |
---|
1745 | 1882 | .type update_multiplier_value, %function |
---|
1746 | 1883 | update_multiplier_value: |
---|
1747 | | - .fnstart |
---|
1748 | 1884 | @ args = 0, pretend = 0, frame = 0 |
---|
1749 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
1750 | | - ldr r3, .L258 |
---|
1751 | | - movw r2, #302 |
---|
1752 | | - push {r4, r5, r6, r7, r8, r9, r10, lr} |
---|
1753 | | - .save {r4, r5, r6, r7, r8, r9, r10, lr} |
---|
1754 | | - mov r5, #0 |
---|
1755 | | - mov r7, r0 |
---|
1756 | | - mov r4, r5 |
---|
1757 | | - mov r6, r3 |
---|
1758 | | - add r10, r3, #260 |
---|
1759 | | - ldrh r8, [r3, #232] |
---|
1760 | | - ldrh r9, [r3, r2] |
---|
1761 | | -.L252: |
---|
1762 | | - uxth r3, r5 |
---|
1763 | | - cmp r8, r3 |
---|
1764 | | - bhi .L254 |
---|
| 1885 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 1886 | + mov ip, sp |
---|
| 1887 | + push {r3, r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 1888 | + sub fp, ip, #4 |
---|
| 1889 | + push {lr} |
---|
| 1890 | + bl __gnu_mcount_nc |
---|
| 1891 | + ldr r6, .L237 |
---|
| 1892 | + movw r3, #302 |
---|
| 1893 | + mov r7, #0 |
---|
| 1894 | + mov r5, r0 |
---|
| 1895 | + add r8, r6, #260 |
---|
| 1896 | + mov r4, r7 |
---|
| 1897 | + ldrh r9, [r6, #232] |
---|
| 1898 | + ldrh r10, [r6, r3] |
---|
| 1899 | +.L230: |
---|
| 1900 | + uxth r3, r7 |
---|
| 1901 | + cmp r9, r3 |
---|
| 1902 | + bhi .L232 |
---|
1765 | 1903 | cmp r4, #0 |
---|
1766 | | - moveq r0, r4 |
---|
1767 | | - beq .L255 |
---|
| 1904 | + beq .L233 |
---|
1768 | 1905 | mov r1, r4 |
---|
1769 | 1906 | mov r0, #32768 |
---|
1770 | 1907 | bl __aeabi_idiv |
---|
1771 | | -.L255: |
---|
1772 | | - ldr r1, [r6, #2516] |
---|
| 1908 | + uxth r4, r0 |
---|
| 1909 | +.L233: |
---|
| 1910 | + ldr r0, [r6, #2516] |
---|
1773 | 1911 | mov r3, #6 |
---|
1774 | | - mla r1, r3, r7, r1 |
---|
1775 | | - strh r0, [r1, #4] @ movhi |
---|
| 1912 | + mla r5, r3, r5, r0 |
---|
1776 | 1913 | mov r0, #0 |
---|
1777 | | - pop {r4, r5, r6, r7, r8, r9, r10, pc} |
---|
1778 | | -.L254: |
---|
1779 | | - mov r1, r7 |
---|
1780 | | - ldrb r0, [r10, r5] @ zero_extendqisi2 |
---|
| 1914 | + strh r4, [r5, #4] @ movhi |
---|
| 1915 | + ldmfd sp, {r3, r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 1916 | +.L232: |
---|
| 1917 | + mov r1, r5 |
---|
| 1918 | + ldrb r0, [r8], #1 @ zero_extendqisi2 |
---|
1781 | 1919 | bl V2P_block |
---|
| 1920 | + add r7, r7, #1 |
---|
1782 | 1921 | bl FtlBbmIsBadBlock |
---|
1783 | 1922 | cmp r0, #0 |
---|
1784 | | - add r5, r5, #1 |
---|
1785 | | - addeq r4, r4, r9 |
---|
| 1923 | + addeq r4, r10, r4 |
---|
1786 | 1924 | uxtheq r4, r4 |
---|
1787 | | - b .L252 |
---|
1788 | | -.L259: |
---|
| 1925 | + b .L230 |
---|
| 1926 | +.L238: |
---|
1789 | 1927 | .align 2 |
---|
1790 | | -.L258: |
---|
| 1928 | +.L237: |
---|
1791 | 1929 | .word .LANCHOR0 |
---|
1792 | | - .fnend |
---|
1793 | 1930 | .size update_multiplier_value, .-update_multiplier_value |
---|
1794 | 1931 | .align 2 |
---|
1795 | 1932 | .global GetFreeBlockMinEraseCount |
---|
.. | .. |
---|
1798 | 1935 | .fpu softvfp |
---|
1799 | 1936 | .type GetFreeBlockMinEraseCount, %function |
---|
1800 | 1937 | GetFreeBlockMinEraseCount: |
---|
1801 | | - .fnstart |
---|
1802 | 1938 | @ args = 0, pretend = 0, frame = 0 |
---|
1803 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
1804 | | - @ link register save eliminated. |
---|
1805 | | - ldr r2, .L263 |
---|
| 1939 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 1940 | + mov ip, sp |
---|
| 1941 | + push {fp, ip, lr, pc} |
---|
| 1942 | + sub fp, ip, #4 |
---|
| 1943 | + push {lr} |
---|
| 1944 | + bl __gnu_mcount_nc |
---|
| 1945 | + ldr r2, .L242 |
---|
1806 | 1946 | ldr r0, [r2, #2532] |
---|
1807 | 1947 | cmp r0, #0 |
---|
1808 | | - bxeq lr |
---|
| 1948 | + ldmfdeq sp, {fp, sp, pc} |
---|
1809 | 1949 | ldr r3, [r2, #2516] |
---|
1810 | | - sub r0, r0, r3 |
---|
1811 | | - ldr r3, .L263+4 |
---|
1812 | | - asr r0, r0, #1 |
---|
1813 | | - mul r0, r3, r0 |
---|
1814 | | - ldr r3, [r2, #2536] |
---|
1815 | | - uxth r0, r0 |
---|
1816 | | - lsl r0, r0, #1 |
---|
1817 | | - ldrh r0, [r3, r0] |
---|
1818 | | - bx lr |
---|
1819 | | -.L264: |
---|
| 1950 | + ldr r2, [r2, #2536] |
---|
| 1951 | + sub r3, r0, r3 |
---|
| 1952 | + ldr r0, .L242+4 |
---|
| 1953 | + asr r3, r3, #1 |
---|
| 1954 | + mul r3, r0, r3 |
---|
| 1955 | + uxth r3, r3 |
---|
| 1956 | + lsl r3, r3, #1 |
---|
| 1957 | + ldrh r0, [r2, r3] |
---|
| 1958 | + ldmfd sp, {fp, sp, pc} |
---|
| 1959 | +.L243: |
---|
1820 | 1960 | .align 2 |
---|
1821 | | -.L263: |
---|
| 1961 | +.L242: |
---|
1822 | 1962 | .word .LANCHOR0 |
---|
1823 | 1963 | .word -1431655765 |
---|
1824 | | - .fnend |
---|
1825 | 1964 | .size GetFreeBlockMinEraseCount, .-GetFreeBlockMinEraseCount |
---|
1826 | 1965 | .align 2 |
---|
1827 | 1966 | .global GetFreeBlockMaxEraseCount |
---|
.. | .. |
---|
1830 | 1969 | .fpu softvfp |
---|
1831 | 1970 | .type GetFreeBlockMaxEraseCount, %function |
---|
1832 | 1971 | GetFreeBlockMaxEraseCount: |
---|
1833 | | - .fnstart |
---|
1834 | 1972 | @ args = 0, pretend = 0, frame = 0 |
---|
1835 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
1836 | | - ldr r1, .L277 |
---|
1837 | | - ldr r3, [r1, #2532] |
---|
1838 | | - cmp r3, #0 |
---|
1839 | | - beq .L271 |
---|
1840 | | - push {r4, r5, lr} |
---|
1841 | | - .save {r4, r5, lr} |
---|
1842 | | - mov r4, #6 |
---|
1843 | | - ldrh r2, [r1, #224] |
---|
1844 | | - movw r5, #65535 |
---|
1845 | | - ldr ip, [r1, #2516] |
---|
1846 | | - rsb r2, r2, r2, lsl #3 |
---|
1847 | | - sub r3, r3, ip |
---|
1848 | | - asr r2, r2, #3 |
---|
| 1973 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 1974 | + mov ip, sp |
---|
| 1975 | + push {r4, r5, r6, r7, fp, ip, lr, pc} |
---|
| 1976 | + sub fp, ip, #4 |
---|
| 1977 | + push {lr} |
---|
| 1978 | + bl __gnu_mcount_nc |
---|
| 1979 | + ldr r1, .L251 |
---|
| 1980 | + mov r2, r0 |
---|
| 1981 | + ldr r0, [r1, #2532] |
---|
| 1982 | + cmp r0, #0 |
---|
| 1983 | + ldmfdeq sp, {r4, r5, r6, r7, fp, sp, pc} |
---|
| 1984 | + ldrh r3, [r1, #224] |
---|
| 1985 | + mov r5, #6 |
---|
| 1986 | + ldr lr, [r1, #2516] |
---|
| 1987 | + movw r6, #65535 |
---|
| 1988 | + rsb r3, r3, r3, lsl #3 |
---|
| 1989 | + asr ip, r3, #3 |
---|
| 1990 | + cmp r2, r3, asr #3 |
---|
| 1991 | + sub r3, r0, lr |
---|
| 1992 | + ldr r0, .L251+4 |
---|
| 1993 | + uxthgt r2, ip |
---|
| 1994 | + mov ip, #0 |
---|
1849 | 1995 | asr r3, r3, #1 |
---|
1850 | | - cmp r0, r2 |
---|
1851 | | - uxthgt r0, r2 |
---|
1852 | | - ldr r2, .L277+4 |
---|
1853 | | - mul r3, r2, r3 |
---|
1854 | | - mov r2, #0 |
---|
| 1996 | + mul r3, r0, r3 |
---|
1855 | 1997 | uxth r3, r3 |
---|
1856 | | -.L268: |
---|
1857 | | - uxth lr, r2 |
---|
1858 | | - cmp r0, lr |
---|
1859 | | - bls .L270 |
---|
1860 | | - mul lr, r4, r3 |
---|
1861 | | - add r2, r2, #1 |
---|
1862 | | - ldrh lr, [ip, lr] |
---|
1863 | | - cmp lr, r5 |
---|
1864 | | - bne .L272 |
---|
1865 | | -.L270: |
---|
1866 | | - ldr r2, [r1, #2536] |
---|
1867 | | - lsl r3, r3, #1 |
---|
1868 | | - ldrh r0, [r2, r3] |
---|
1869 | | - pop {r4, r5, pc} |
---|
1870 | | -.L272: |
---|
1871 | | - mov r3, lr |
---|
1872 | | - b .L268 |
---|
1873 | | -.L271: |
---|
| 1998 | +.L247: |
---|
| 1999 | + uxth r4, ip |
---|
1874 | 2000 | mov r0, r3 |
---|
1875 | | - bx lr |
---|
1876 | | -.L278: |
---|
| 2001 | + cmp r4, r2 |
---|
| 2002 | + bcs .L248 |
---|
| 2003 | + mul r3, r5, r3 |
---|
| 2004 | + add ip, ip, #1 |
---|
| 2005 | + ldrh r3, [lr, r3] |
---|
| 2006 | + cmp r3, r6 |
---|
| 2007 | + bne .L247 |
---|
| 2008 | +.L248: |
---|
| 2009 | + ldr r2, [r1, #2536] |
---|
| 2010 | + lsl r3, r0, #1 |
---|
| 2011 | + ldrh r0, [r2, r3] |
---|
| 2012 | + ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} |
---|
| 2013 | +.L252: |
---|
1877 | 2014 | .align 2 |
---|
1878 | | -.L277: |
---|
| 2015 | +.L251: |
---|
1879 | 2016 | .word .LANCHOR0 |
---|
1880 | 2017 | .word -1431655765 |
---|
1881 | | - .fnend |
---|
1882 | 2018 | .size GetFreeBlockMaxEraseCount, .-GetFreeBlockMaxEraseCount |
---|
| 2019 | + .section .rodata.str1.1 |
---|
| 2020 | +.LC9: |
---|
| 2021 | + .ascii "FLASH INFO:\012\000" |
---|
| 2022 | +.LC10: |
---|
| 2023 | + .ascii "Device Capacity: %d MB\012\000" |
---|
| 2024 | +.LC11: |
---|
| 2025 | + .ascii "FTL INFO:\012\000" |
---|
| 2026 | +.LC12: |
---|
| 2027 | + .ascii "g_MaxLpn = 0x%x\012\000" |
---|
| 2028 | +.LC13: |
---|
| 2029 | + .ascii "g_VaildLpn = 0x%x\012\000" |
---|
| 2030 | +.LC14: |
---|
| 2031 | + .ascii "read_page_count = 0x%x\012\000" |
---|
| 2032 | +.LC15: |
---|
| 2033 | + .ascii "discard_page_count = 0x%x\012\000" |
---|
| 2034 | +.LC16: |
---|
| 2035 | + .ascii "write_page_count = 0x%x\012\000" |
---|
| 2036 | +.LC17: |
---|
| 2037 | + .ascii "cache_write_count = 0x%x\012\000" |
---|
| 2038 | +.LC18: |
---|
| 2039 | + .ascii "l2p_write_count = 0x%x\012\000" |
---|
| 2040 | +.LC19: |
---|
| 2041 | + .ascii "gc_page_count = 0x%x\012\000" |
---|
| 2042 | +.LC20: |
---|
| 2043 | + .ascii "totle_write = %d MB\012\000" |
---|
| 2044 | +.LC21: |
---|
| 2045 | + .ascii "totle_read = %d MB\012\000" |
---|
| 2046 | +.LC22: |
---|
| 2047 | + .ascii "GSV = 0x%x\012\000" |
---|
| 2048 | +.LC23: |
---|
| 2049 | + .ascii "GDV = 0x%x\012\000" |
---|
| 2050 | +.LC24: |
---|
| 2051 | + .ascii "bad blk num = %d\012\000" |
---|
| 2052 | +.LC25: |
---|
| 2053 | + .ascii "free_superblocks = 0x%x\012\000" |
---|
| 2054 | +.LC26: |
---|
| 2055 | + .ascii "mlc_EC = 0x%x\012\000" |
---|
| 2056 | +.LC27: |
---|
| 2057 | + .ascii "slc_EC = 0x%x\012\000" |
---|
| 2058 | +.LC28: |
---|
| 2059 | + .ascii "avg_EC = 0x%x\012\000" |
---|
| 2060 | +.LC29: |
---|
| 2061 | + .ascii "sys_EC = 0x%x\012\000" |
---|
| 2062 | +.LC30: |
---|
| 2063 | + .ascii "max_EC = 0x%x\012\000" |
---|
| 2064 | +.LC31: |
---|
| 2065 | + .ascii "min_EC = 0x%x\012\000" |
---|
| 2066 | +.LC32: |
---|
| 2067 | + .ascii "PLT = 0x%x\012\000" |
---|
| 2068 | +.LC33: |
---|
| 2069 | + .ascii "POT = 0x%x\012\000" |
---|
| 2070 | +.LC34: |
---|
| 2071 | + .ascii "MaxSector = 0x%x\012\000" |
---|
| 2072 | +.LC35: |
---|
| 2073 | + .ascii "init_sys_blks_pp = 0x%x\012\000" |
---|
| 2074 | +.LC36: |
---|
| 2075 | + .ascii "sys_blks_pp = 0x%x\012\000" |
---|
| 2076 | +.LC37: |
---|
| 2077 | + .ascii "free sysblock = 0x%x\012\000" |
---|
| 2078 | +.LC38: |
---|
| 2079 | + .ascii "data_blks_pp = 0x%x\012\000" |
---|
| 2080 | +.LC39: |
---|
| 2081 | + .ascii "data_op_blks_pp = 0x%x\012\000" |
---|
| 2082 | +.LC40: |
---|
| 2083 | + .ascii "max_data_blks = 0x%x\012\000" |
---|
| 2084 | +.LC41: |
---|
| 2085 | + .ascii "Sys.id = 0x%x\012\000" |
---|
| 2086 | +.LC42: |
---|
| 2087 | + .ascii "Bbt.id = 0x%x\012\000" |
---|
| 2088 | +.LC43: |
---|
| 2089 | + .ascii "ACT.page = 0x%x\012\000" |
---|
| 2090 | +.LC44: |
---|
| 2091 | + .ascii "ACT.plane = 0x%x\012\000" |
---|
| 2092 | +.LC45: |
---|
| 2093 | + .ascii "ACT.id = 0x%x\012\000" |
---|
| 2094 | +.LC46: |
---|
| 2095 | + .ascii "ACT.mode = 0x%x\012\000" |
---|
| 2096 | +.LC47: |
---|
| 2097 | + .ascii "ACT.a_pages = 0x%x\012\000" |
---|
| 2098 | +.LC48: |
---|
| 2099 | + .ascii "ACT VPC = 0x%x\012\000" |
---|
| 2100 | +.LC49: |
---|
| 2101 | + .ascii "BUF.page = 0x%x\012\000" |
---|
| 2102 | +.LC50: |
---|
| 2103 | + .ascii "BUF.plane = 0x%x\012\000" |
---|
| 2104 | +.LC51: |
---|
| 2105 | + .ascii "BUF.id = 0x%x\012\000" |
---|
| 2106 | +.LC52: |
---|
| 2107 | + .ascii "BUF.mode = 0x%x\012\000" |
---|
| 2108 | +.LC53: |
---|
| 2109 | + .ascii "BUF.a_pages = 0x%x\012\000" |
---|
| 2110 | +.LC54: |
---|
| 2111 | + .ascii "BUF VPC = 0x%x\012\000" |
---|
| 2112 | +.LC55: |
---|
| 2113 | + .ascii "TMP.page = 0x%x\012\000" |
---|
| 2114 | +.LC56: |
---|
| 2115 | + .ascii "TMP.plane = 0x%x\012\000" |
---|
| 2116 | +.LC57: |
---|
| 2117 | + .ascii "TMP.id = 0x%x\012\000" |
---|
| 2118 | +.LC58: |
---|
| 2119 | + .ascii "TMP.mode = 0x%x\012\000" |
---|
| 2120 | +.LC59: |
---|
| 2121 | + .ascii "TMP.a_pages = 0x%x\012\000" |
---|
| 2122 | +.LC60: |
---|
| 2123 | + .ascii "GC.page = 0x%x\012\000" |
---|
| 2124 | +.LC61: |
---|
| 2125 | + .ascii "GC.plane = 0x%x\012\000" |
---|
| 2126 | +.LC62: |
---|
| 2127 | + .ascii "GC.id = 0x%x\012\000" |
---|
| 2128 | +.LC63: |
---|
| 2129 | + .ascii "GC.mode = 0x%x\012\000" |
---|
| 2130 | +.LC64: |
---|
| 2131 | + .ascii "GC.a_pages = 0x%x\012\000" |
---|
| 2132 | +.LC65: |
---|
| 2133 | + .ascii "WR_CHK = %x %x %x\012\000" |
---|
| 2134 | +.LC66: |
---|
| 2135 | + .ascii "Read Err Cnt = 0x%x\012\000" |
---|
| 2136 | +.LC67: |
---|
| 2137 | + .ascii "Prog Err Cnt = 0x%x\012\000" |
---|
| 2138 | +.LC68: |
---|
| 2139 | + .ascii "gc_free_blk_th= 0x%x\012\000" |
---|
| 2140 | +.LC69: |
---|
| 2141 | + .ascii "gc_merge_free_blk_th= 0x%x\012\000" |
---|
| 2142 | +.LC70: |
---|
| 2143 | + .ascii "gc_skip_write_count= 0x%x\012\000" |
---|
| 2144 | +.LC71: |
---|
| 2145 | + .ascii "gc_blk_index= 0x%x\012\000" |
---|
| 2146 | +.LC72: |
---|
| 2147 | + .ascii "free min EC= 0x%x\012\000" |
---|
| 2148 | +.LC73: |
---|
| 2149 | + .ascii "free max EC= 0x%x\012\000" |
---|
| 2150 | +.LC74: |
---|
| 2151 | + .ascii "GC__SB VPC = 0x%x\012\000" |
---|
| 2152 | +.LC75: |
---|
| 2153 | + .ascii "%d. [0x%x]=0x%x 0x%x 0x%x\012\000" |
---|
| 2154 | +.LC76: |
---|
| 2155 | + .ascii "free %d. [0x%x] 0x%x 0x%x\012\000" |
---|
| 2156 | + .text |
---|
1883 | 2157 | .align 2 |
---|
1884 | 2158 | .global FtlPrintInfo2buf |
---|
1885 | 2159 | .syntax unified |
---|
.. | .. |
---|
1887 | 2161 | .fpu softvfp |
---|
1888 | 2162 | .type FtlPrintInfo2buf, %function |
---|
1889 | 2163 | FtlPrintInfo2buf: |
---|
1890 | | - .fnstart |
---|
1891 | 2164 | @ args = 0, pretend = 0, frame = 0 |
---|
1892 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
1893 | | - push {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
1894 | | - .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
1895 | | - mov r6, r0 |
---|
1896 | | - ldr r5, .L292 |
---|
1897 | | - add r4, r6, #12 |
---|
1898 | | - .pad #20 |
---|
| 2165 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 2166 | + mov ip, sp |
---|
| 2167 | + push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 2168 | + sub fp, ip, #4 |
---|
1899 | 2169 | sub sp, sp, #20 |
---|
1900 | | - ldr r1, .L292+4 |
---|
| 2170 | + push {lr} |
---|
| 2171 | + bl __gnu_mcount_nc |
---|
| 2172 | + ldr r6, .L265 |
---|
| 2173 | + mov r7, r0 |
---|
| 2174 | + ldr r1, .L265+4 |
---|
| 2175 | + add r5, r7, #12 |
---|
1901 | 2176 | bl strcpy |
---|
1902 | | - ldr r3, [r5, #316] |
---|
| 2177 | + ldr r2, .L265+8 |
---|
| 2178 | + mov r0, r5 |
---|
1903 | 2179 | mov r1, #64 |
---|
1904 | | - ldr r2, .L292+8 |
---|
1905 | | - mov r0, r4 |
---|
| 2180 | + ldr r3, [r6, #316] |
---|
| 2181 | + add r8, r6, #352 |
---|
1906 | 2182 | bl snprintf |
---|
1907 | | - add r4, r4, r0 |
---|
1908 | | - ldr r1, .L292+12 |
---|
1909 | | - mov r0, r4 |
---|
1910 | | - add r4, r4, #10 |
---|
| 2183 | + add r5, r5, r0 |
---|
| 2184 | + ldr r1, .L265+12 |
---|
| 2185 | + mov r0, r5 |
---|
| 2186 | + add r5, r5, #10 |
---|
1911 | 2187 | bl strcpy |
---|
1912 | | - ldr r3, [r5, #2552] |
---|
| 2188 | + ldr r3, [r6, #2552] |
---|
| 2189 | + mov r0, r5 |
---|
| 2190 | + ldr r2, .L265+16 |
---|
1913 | 2191 | mov r1, #64 |
---|
1914 | | - ldr r2, .L292+16 |
---|
1915 | | - mov r0, r4 |
---|
1916 | 2192 | bl snprintf |
---|
1917 | | - add r4, r4, r0 |
---|
1918 | | - ldr r3, [r5, #2548] |
---|
1919 | | - ldr r2, .L292+20 |
---|
| 2193 | + add r5, r5, r0 |
---|
| 2194 | + ldr r3, [r6, #2548] |
---|
| 2195 | + mov r0, r5 |
---|
| 2196 | + ldr r2, .L265+20 |
---|
1920 | 2197 | mov r1, #64 |
---|
1921 | | - mov r0, r4 |
---|
1922 | | - add r7, r5, #352 |
---|
1923 | 2198 | bl snprintf |
---|
1924 | | - add r4, r4, r0 |
---|
1925 | | - ldr r3, [r5, #2556] |
---|
1926 | | - ldr r2, .L292+24 |
---|
| 2199 | + add r5, r5, r0 |
---|
| 2200 | + ldr r3, [r6, #2556] |
---|
| 2201 | + mov r0, r5 |
---|
| 2202 | + ldr r2, .L265+24 |
---|
1927 | 2203 | mov r1, #64 |
---|
1928 | | - mov r0, r4 |
---|
1929 | | - ldr r8, .L292+28 |
---|
1930 | 2204 | bl snprintf |
---|
1931 | | - add r4, r4, r0 |
---|
1932 | | - ldr r3, [r5, #2560] |
---|
1933 | | - ldr r2, .L292+32 |
---|
| 2205 | + add r5, r5, r0 |
---|
| 2206 | + ldr r3, [r6, #2560] |
---|
| 2207 | + mov r0, r5 |
---|
| 2208 | + ldr r2, .L265+28 |
---|
1934 | 2209 | mov r1, #64 |
---|
1935 | | - mov r0, r4 |
---|
1936 | 2210 | bl snprintf |
---|
1937 | | - add r4, r4, r0 |
---|
1938 | | - ldr r3, [r5, #2564] |
---|
1939 | | - ldr r2, .L292+36 |
---|
| 2211 | + add r5, r5, r0 |
---|
| 2212 | + ldr r3, [r6, #2564] |
---|
| 2213 | + mov r0, r5 |
---|
| 2214 | + ldr r2, .L265+32 |
---|
1940 | 2215 | mov r1, #64 |
---|
1941 | | - mov r0, r4 |
---|
1942 | 2216 | bl snprintf |
---|
1943 | | - add r4, r4, r0 |
---|
1944 | | - ldr r3, [r5, #2568] |
---|
1945 | | - ldr r2, .L292+40 |
---|
| 2217 | + add r5, r5, r0 |
---|
| 2218 | + ldr r3, [r6, #2568] |
---|
| 2219 | + mov r0, r5 |
---|
| 2220 | + ldr r2, .L265+36 |
---|
1946 | 2221 | mov r1, #64 |
---|
1947 | | - mov r0, r4 |
---|
1948 | 2222 | bl snprintf |
---|
1949 | | - add r4, r4, r0 |
---|
1950 | | - ldr r3, [r5, #2572] |
---|
1951 | | - ldr r2, .L292+44 |
---|
| 2223 | + add r5, r5, r0 |
---|
| 2224 | + ldr r3, [r6, #2572] |
---|
| 2225 | + mov r0, r5 |
---|
| 2226 | + ldr r2, .L265+40 |
---|
1952 | 2227 | mov r1, #64 |
---|
1953 | | - mov r0, r4 |
---|
1954 | 2228 | bl snprintf |
---|
1955 | | - add r4, r4, r0 |
---|
1956 | | - ldr r3, [r5, #2576] |
---|
1957 | | - ldr r2, .L292+48 |
---|
| 2229 | + add r5, r5, r0 |
---|
| 2230 | + ldr r3, [r6, #2576] |
---|
| 2231 | + mov r0, r5 |
---|
| 2232 | + ldr r2, .L265+44 |
---|
1958 | 2233 | mov r1, #64 |
---|
1959 | | - mov r0, r4 |
---|
1960 | 2234 | bl snprintf |
---|
1961 | | - ldr r3, [r5, #2580] |
---|
1962 | | - add r4, r4, r0 |
---|
1963 | | - ldr r2, .L292+52 |
---|
| 2235 | + ldr r3, [r6, #2580] |
---|
| 2236 | + add r5, r5, r0 |
---|
| 2237 | + ldr r2, .L265+48 |
---|
| 2238 | + mov r0, r5 |
---|
1964 | 2239 | mov r1, #64 |
---|
1965 | | - mov r0, r4 |
---|
1966 | 2240 | lsr r3, r3, #11 |
---|
1967 | 2241 | bl snprintf |
---|
1968 | | - ldr r3, [r5, #2584] |
---|
1969 | | - add r4, r4, r0 |
---|
1970 | | - ldr r2, .L292+56 |
---|
| 2242 | + ldr r3, [r6, #2584] |
---|
| 2243 | + add r5, r5, r0 |
---|
| 2244 | + ldr r2, .L265+52 |
---|
| 2245 | + mov r0, r5 |
---|
1971 | 2246 | mov r1, #64 |
---|
1972 | | - mov r0, r4 |
---|
1973 | 2247 | lsr r3, r3, #11 |
---|
1974 | 2248 | bl snprintf |
---|
1975 | | - add r4, r4, r0 |
---|
1976 | | - ldr r3, [r5, #2588] |
---|
1977 | | - ldr r2, .L292+60 |
---|
1978 | | - mov r1, #64 |
---|
| 2249 | + add r4, r5, r0 |
---|
| 2250 | + ldr r3, [r6, #2588] |
---|
1979 | 2251 | mov r0, r4 |
---|
| 2252 | + ldr r2, .L265+56 |
---|
| 2253 | + mov r1, #64 |
---|
1980 | 2254 | bl snprintf |
---|
1981 | 2255 | add r4, r4, r0 |
---|
1982 | | - ldr r3, [r5, #2592] |
---|
1983 | | - ldr r2, .L292+64 |
---|
1984 | | - mov r1, #64 |
---|
| 2256 | + ldr r3, [r6, #2592] |
---|
1985 | 2257 | mov r0, r4 |
---|
| 2258 | + ldr r2, .L265+60 |
---|
| 2259 | + mov r1, #64 |
---|
1986 | 2260 | bl snprintf |
---|
1987 | 2261 | add r4, r4, r0 |
---|
1988 | | - ldrh r3, [r7, #6] |
---|
1989 | | - ldr r2, .L292+68 |
---|
1990 | | - mov r1, #64 |
---|
| 2262 | + ldrh r3, [r8, #6] |
---|
1991 | 2263 | mov r0, r4 |
---|
| 2264 | + ldr r2, .L265+64 |
---|
| 2265 | + mov r1, #64 |
---|
1992 | 2266 | bl snprintf |
---|
1993 | 2267 | add r4, r4, r0 |
---|
1994 | | - ldrh r3, [r5, #224] |
---|
1995 | | - ldr r2, .L292+72 |
---|
1996 | | - mov r1, #64 |
---|
| 2268 | + ldrh r3, [r6, #224] |
---|
1997 | 2269 | mov r0, r4 |
---|
| 2270 | + ldr r2, .L265+68 |
---|
| 2271 | + mov r1, #64 |
---|
1998 | 2272 | bl snprintf |
---|
1999 | 2273 | add r4, r4, r0 |
---|
2000 | | - ldr r3, [r5, #2596] |
---|
2001 | | - ldr r2, .L292+76 |
---|
2002 | | - mov r1, #64 |
---|
| 2274 | + ldr r3, [r6, #2596] |
---|
2003 | 2275 | mov r0, r4 |
---|
| 2276 | + ldr r2, .L265+72 |
---|
| 2277 | + mov r1, #64 |
---|
2004 | 2278 | bl snprintf |
---|
2005 | 2279 | add r4, r4, r0 |
---|
2006 | | - ldr r3, [r5, #2600] |
---|
2007 | | - ldr r2, .L292+80 |
---|
2008 | | - mov r1, #64 |
---|
| 2280 | + ldr r3, [r6, #2600] |
---|
2009 | 2281 | mov r0, r4 |
---|
| 2282 | + ldr r2, .L265+76 |
---|
| 2283 | + mov r1, #64 |
---|
2010 | 2284 | bl snprintf |
---|
2011 | 2285 | add r4, r4, r0 |
---|
2012 | | - ldr r3, [r5, #2604] |
---|
2013 | | - ldr r2, .L292+84 |
---|
2014 | | - mov r1, #64 |
---|
| 2286 | + ldr r3, [r6, #2604] |
---|
2015 | 2287 | mov r0, r4 |
---|
| 2288 | + ldr r2, .L265+80 |
---|
| 2289 | + mov r1, #64 |
---|
2016 | 2290 | bl snprintf |
---|
2017 | 2291 | add r4, r4, r0 |
---|
2018 | | - ldr r3, [r5, #2608] |
---|
2019 | | - ldr r2, .L292+88 |
---|
2020 | | - mov r1, #64 |
---|
| 2292 | + ldr r3, [r6, #2608] |
---|
2021 | 2293 | mov r0, r4 |
---|
| 2294 | + ldr r2, .L265+84 |
---|
| 2295 | + mov r1, #64 |
---|
2022 | 2296 | bl snprintf |
---|
2023 | 2297 | add r4, r4, r0 |
---|
2024 | | - ldr r3, [r5, #2612] |
---|
2025 | | - ldr r2, .L292+92 |
---|
2026 | | - mov r1, #64 |
---|
| 2298 | + ldr r3, [r6, #2612] |
---|
2027 | 2299 | mov r0, r4 |
---|
| 2300 | + ldr r2, .L265+88 |
---|
| 2301 | + mov r1, #64 |
---|
| 2302 | + ldr r5, .L265+92 |
---|
2028 | 2303 | bl snprintf |
---|
2029 | 2304 | add r4, r4, r0 |
---|
2030 | | - ldr r3, [r5, #2616] |
---|
2031 | | - ldr r2, .L292+96 |
---|
2032 | | - mov r1, #64 |
---|
| 2305 | + ldr r3, [r6, #2616] |
---|
| 2306 | + ldr r2, .L265+96 |
---|
2033 | 2307 | mov r0, r4 |
---|
| 2308 | + mov r1, #64 |
---|
2034 | 2309 | bl snprintf |
---|
2035 | 2310 | add r4, r4, r0 |
---|
2036 | | - ldrh r3, [r8, #30] |
---|
2037 | | - ldr r2, .L292+100 |
---|
2038 | | - mov r1, #64 |
---|
| 2311 | + ldrh r3, [r5, #30] |
---|
2039 | 2312 | mov r0, r4 |
---|
2040 | | - bl snprintf |
---|
2041 | | - add r4, r4, r0 |
---|
2042 | | - ldrh r3, [r8, #28] |
---|
2043 | | - ldr r2, .L292+104 |
---|
| 2313 | + ldr r2, .L265+100 |
---|
2044 | 2314 | mov r1, #64 |
---|
2045 | | - mov r0, r4 |
---|
2046 | | - bl snprintf |
---|
2047 | | - add r4, r4, r0 |
---|
2048 | | - ldr r3, [r5, #340] |
---|
2049 | | - ldr r2, .L292+108 |
---|
2050 | | - mov r1, #64 |
---|
2051 | | - mov r0, r4 |
---|
2052 | | - bl snprintf |
---|
2053 | | - add r4, r4, r0 |
---|
2054 | | - ldr r3, [r5, #332] |
---|
2055 | | - ldr r2, .L292+112 |
---|
2056 | | - mov r1, #64 |
---|
2057 | | - mov r0, r4 |
---|
2058 | | - bl snprintf |
---|
2059 | | - add r4, r4, r0 |
---|
2060 | | - ldr r3, [r5, #228] |
---|
2061 | | - ldr r2, .L292+116 |
---|
2062 | | - mov r1, #64 |
---|
2063 | | - mov r0, r4 |
---|
2064 | | - bl snprintf |
---|
2065 | | - add r3, r5, #412 |
---|
2066 | | - add r4, r4, r0 |
---|
2067 | | - ldrh r3, [r3, #6] |
---|
2068 | | - mov r1, #64 |
---|
2069 | | - ldr r2, .L292+120 |
---|
2070 | | - mov r0, r4 |
---|
2071 | | - bl snprintf |
---|
2072 | | - add r4, r4, r0 |
---|
2073 | | - ldrh r3, [r5, #240] |
---|
2074 | | - ldr r2, .L292+124 |
---|
2075 | | - mov r1, #64 |
---|
2076 | | - mov r0, r4 |
---|
2077 | | - bl snprintf |
---|
2078 | | - movw r3, #2620 |
---|
2079 | | - add r4, r4, r0 |
---|
2080 | | - ldrh r3, [r5, r3] |
---|
2081 | | - mov r1, #64 |
---|
2082 | | - ldr r2, .L292+128 |
---|
2083 | | - mov r0, r4 |
---|
2084 | | - bl snprintf |
---|
2085 | | - add r4, r4, r0 |
---|
2086 | | - ldr r3, [r5, #244] |
---|
2087 | | - ldr r2, .L292+132 |
---|
2088 | | - mov r1, #64 |
---|
2089 | | - mov r0, r4 |
---|
2090 | | - bl snprintf |
---|
2091 | | - add r3, r5, #2624 |
---|
2092 | | - add r4, r4, r0 |
---|
2093 | | - ldrh r3, [r3] |
---|
2094 | | - mov r1, #64 |
---|
2095 | | - ldr r2, .L292+136 |
---|
2096 | | - mov r0, r4 |
---|
2097 | | - bl snprintf |
---|
2098 | | - add r4, r4, r0 |
---|
2099 | | - ldrh r3, [r7] |
---|
2100 | | - ldr r2, .L292+140 |
---|
2101 | | - mov r1, #64 |
---|
2102 | | - mov r0, r4 |
---|
2103 | | - bl snprintf |
---|
2104 | | - add r4, r4, r0 |
---|
2105 | | - ldrh r3, [r5, #26] |
---|
2106 | | - ldr r2, .L292+144 |
---|
2107 | | - mov r1, #64 |
---|
2108 | | - mov r0, r4 |
---|
2109 | | - bl snprintf |
---|
2110 | | - add r4, r4, r0 |
---|
2111 | | - ldrb r3, [r5, #30] @ zero_extendqisi2 |
---|
2112 | | - ldr r2, .L292+148 |
---|
2113 | | - mov r1, #64 |
---|
2114 | | - mov r0, r4 |
---|
2115 | | - bl snprintf |
---|
2116 | | - add r4, r4, r0 |
---|
2117 | | - ldrh r3, [r5, #24] |
---|
2118 | | - ldr r2, .L292+152 |
---|
2119 | | - mov r1, #64 |
---|
2120 | | - mov r0, r4 |
---|
2121 | | - bl snprintf |
---|
2122 | | - add r4, r4, r0 |
---|
2123 | | - ldrb r3, [r5, #32] @ zero_extendqisi2 |
---|
2124 | | - ldr r2, .L292+156 |
---|
2125 | | - mov r1, #64 |
---|
2126 | | - mov r0, r4 |
---|
2127 | 2315 | bl snprintf |
---|
2128 | 2316 | add r4, r4, r0 |
---|
2129 | 2317 | ldrh r3, [r5, #28] |
---|
2130 | | - ldr r2, .L292+160 |
---|
2131 | | - mov r1, #64 |
---|
2132 | 2318 | mov r0, r4 |
---|
2133 | | - bl snprintf |
---|
2134 | | - ldrh r3, [r5, #24] |
---|
2135 | | - add r4, r4, r0 |
---|
2136 | | - ldr r2, [r5, #72] |
---|
| 2319 | + ldr r2, .L265+104 |
---|
2137 | 2320 | mov r1, #64 |
---|
2138 | | - mov r0, r4 |
---|
2139 | | - lsl r3, r3, #1 |
---|
2140 | | - ldrh r3, [r2, r3] |
---|
2141 | | - ldr r2, .L292+164 |
---|
2142 | 2321 | bl snprintf |
---|
2143 | 2322 | add r4, r4, r0 |
---|
2144 | | - ldrh r3, [r5, #78] |
---|
2145 | | - ldr r2, .L292+168 |
---|
2146 | | - mov r1, #64 |
---|
| 2323 | + ldr r3, [r6, #340] |
---|
2147 | 2324 | mov r0, r4 |
---|
| 2325 | + ldr r2, .L265+108 |
---|
| 2326 | + mov r1, #64 |
---|
2148 | 2327 | bl snprintf |
---|
2149 | 2328 | add r4, r4, r0 |
---|
2150 | | - ldrb r3, [r5, #82] @ zero_extendqisi2 |
---|
2151 | | - ldr r2, .L292+172 |
---|
2152 | | - mov r1, #64 |
---|
| 2329 | + ldr r3, [r6, #332] |
---|
2153 | 2330 | mov r0, r4 |
---|
| 2331 | + ldr r2, .L265+112 |
---|
| 2332 | + mov r1, #64 |
---|
2154 | 2333 | bl snprintf |
---|
2155 | 2334 | add r4, r4, r0 |
---|
2156 | | - ldrh r3, [r5, #76] |
---|
2157 | | - ldr r2, .L292+176 |
---|
2158 | | - mov r1, #64 |
---|
| 2335 | + ldr r3, [r6, #228] |
---|
2159 | 2336 | mov r0, r4 |
---|
| 2337 | + ldr r2, .L265+116 |
---|
| 2338 | + mov r1, #64 |
---|
| 2339 | + bl snprintf |
---|
| 2340 | + add r3, r6, #412 |
---|
| 2341 | + add r4, r4, r0 |
---|
| 2342 | + ldr r2, .L265+120 |
---|
| 2343 | + mov r0, r4 |
---|
| 2344 | + mov r1, #64 |
---|
| 2345 | + ldrh r3, [r3, #6] |
---|
2160 | 2346 | bl snprintf |
---|
2161 | 2347 | add r4, r4, r0 |
---|
2162 | | - ldrb r3, [r5, #84] @ zero_extendqisi2 |
---|
2163 | | - ldr r2, .L292+180 |
---|
2164 | | - mov r1, #64 |
---|
| 2348 | + ldrh r3, [r6, #240] |
---|
2165 | 2349 | mov r0, r4 |
---|
| 2350 | + ldr r2, .L265+124 |
---|
| 2351 | + mov r1, #64 |
---|
| 2352 | + bl snprintf |
---|
| 2353 | + movw r3, #2620 |
---|
| 2354 | + add r4, r4, r0 |
---|
| 2355 | + ldr r2, .L265+128 |
---|
| 2356 | + ldrh r3, [r6, r3] |
---|
| 2357 | + mov r0, r4 |
---|
| 2358 | + mov r1, #64 |
---|
2166 | 2359 | bl snprintf |
---|
2167 | 2360 | add r4, r4, r0 |
---|
2168 | | - ldrh r3, [r5, #80] |
---|
2169 | | - ldr r2, .L292+184 |
---|
2170 | | - mov r1, #64 |
---|
| 2361 | + ldr r3, [r6, #244] |
---|
2171 | 2362 | mov r0, r4 |
---|
2172 | | - bl snprintf |
---|
2173 | | - ldrh r3, [r5, #76] |
---|
2174 | | - add r4, r4, r0 |
---|
2175 | | - ldr r2, [r5, #72] |
---|
| 2363 | + ldr r2, .L265+132 |
---|
2176 | 2364 | mov r1, #64 |
---|
2177 | | - mov r0, r4 |
---|
2178 | | - lsl r3, r3, #1 |
---|
2179 | | - ldrh r3, [r2, r3] |
---|
2180 | | - ldr r2, .L292+188 |
---|
2181 | 2365 | bl snprintf |
---|
| 2366 | + add r3, r6, #2624 |
---|
2182 | 2367 | add r4, r4, r0 |
---|
2183 | | - ldrh r3, [r5, #126] |
---|
2184 | | - ldr r2, .L292+192 |
---|
| 2368 | + ldr r2, .L265+136 |
---|
| 2369 | + mov r0, r4 |
---|
2185 | 2370 | mov r1, #64 |
---|
2186 | | - mov r0, r4 |
---|
2187 | | - bl snprintf |
---|
2188 | | - add r4, r4, r0 |
---|
2189 | | - ldrb r3, [r5, #130] @ zero_extendqisi2 |
---|
2190 | | - ldr r2, .L292+196 |
---|
2191 | | - mov r1, #64 |
---|
2192 | | - mov r0, r4 |
---|
2193 | | - bl snprintf |
---|
2194 | | - add r4, r4, r0 |
---|
2195 | | - ldrh r3, [r5, #124] |
---|
2196 | | - ldr r2, .L292+200 |
---|
2197 | | - mov r1, #64 |
---|
2198 | | - mov r0, r4 |
---|
2199 | | - bl snprintf |
---|
2200 | | - add r4, r4, r0 |
---|
2201 | | - ldrb r3, [r5, #132] @ zero_extendqisi2 |
---|
2202 | | - ldr r2, .L292+204 |
---|
2203 | | - mov r1, #64 |
---|
2204 | | - mov r0, r4 |
---|
2205 | | - bl snprintf |
---|
2206 | | - add r4, r4, r0 |
---|
2207 | | - ldrh r3, [r5, #128] |
---|
2208 | | - ldr r2, .L292+208 |
---|
2209 | | - mov r1, #64 |
---|
2210 | | - mov r0, r4 |
---|
2211 | | - bl snprintf |
---|
2212 | | - add r4, r4, r0 |
---|
2213 | | - ldrh r3, [r5, #174] |
---|
2214 | | - ldr r2, .L292+212 |
---|
2215 | | - mov r1, #64 |
---|
2216 | | - mov r0, r4 |
---|
2217 | | - bl snprintf |
---|
2218 | | - add r4, r4, r0 |
---|
2219 | | - ldrb r3, [r5, #178] @ zero_extendqisi2 |
---|
2220 | | - ldr r2, .L292+216 |
---|
2221 | | - mov r1, #64 |
---|
2222 | | - mov r0, r4 |
---|
2223 | | - bl snprintf |
---|
2224 | | - add r4, r4, r0 |
---|
2225 | | - ldrh r3, [r5, #172] |
---|
2226 | | - ldr r2, .L292+220 |
---|
2227 | | - mov r1, #64 |
---|
2228 | | - mov r0, r4 |
---|
2229 | | - bl snprintf |
---|
2230 | | - add r4, r4, r0 |
---|
2231 | | - ldrb r3, [r5, #180] @ zero_extendqisi2 |
---|
2232 | | - ldr r2, .L292+224 |
---|
2233 | | - mov r1, #64 |
---|
2234 | | - mov r0, r4 |
---|
2235 | | - bl snprintf |
---|
2236 | | - add r4, r4, r0 |
---|
2237 | | - ldrh r3, [r5, #176] |
---|
2238 | | - ldr r2, .L292+228 |
---|
2239 | | - mov r1, #64 |
---|
2240 | | - mov r0, r4 |
---|
2241 | | - bl snprintf |
---|
2242 | | - ldr r3, [r5, #2716] |
---|
2243 | | - add r4, r4, r0 |
---|
2244 | | - ldr r2, .L292+232 |
---|
2245 | | - mov r1, #64 |
---|
2246 | | - mov r0, r4 |
---|
2247 | | - str r3, [sp, #4] |
---|
2248 | | - ldr r3, [r5, #2724] |
---|
2249 | | - str r3, [sp] |
---|
2250 | | - ldr r3, [r5, #2720] |
---|
2251 | | - bl snprintf |
---|
2252 | | - add r4, r4, r0 |
---|
2253 | | - ldr r3, [r5, #2712] |
---|
2254 | | - ldr r2, .L292+236 |
---|
2255 | | - mov r1, #64 |
---|
2256 | | - mov r0, r4 |
---|
2257 | | - bl snprintf |
---|
2258 | | - add r4, r4, r0 |
---|
2259 | | - ldr r3, [r5, #2736] |
---|
2260 | | - ldr r2, .L292+240 |
---|
2261 | | - mov r1, #64 |
---|
2262 | | - mov r0, r4 |
---|
2263 | | - bl snprintf |
---|
2264 | | - add r3, r5, #3152 |
---|
2265 | | - add r4, r4, r0 |
---|
2266 | 2371 | ldrh r3, [r3] |
---|
2267 | | - mov r1, #64 |
---|
2268 | | - ldr r2, .L292+244 |
---|
| 2372 | + bl snprintf |
---|
| 2373 | + add r4, r4, r0 |
---|
| 2374 | + ldrh r3, [r8] |
---|
2269 | 2375 | mov r0, r4 |
---|
| 2376 | + ldr r2, .L265+140 |
---|
| 2377 | + mov r1, #64 |
---|
| 2378 | + bl snprintf |
---|
| 2379 | + add r4, r4, r0 |
---|
| 2380 | + ldrh r3, [r6, #26] |
---|
| 2381 | + mov r0, r4 |
---|
| 2382 | + ldr r2, .L265+144 |
---|
| 2383 | + mov r1, #64 |
---|
| 2384 | + bl snprintf |
---|
| 2385 | + add r4, r4, r0 |
---|
| 2386 | + ldrb r3, [r6, #30] @ zero_extendqisi2 |
---|
| 2387 | + mov r0, r4 |
---|
| 2388 | + ldr r2, .L265+148 |
---|
| 2389 | + mov r1, #64 |
---|
| 2390 | + bl snprintf |
---|
| 2391 | + add r4, r4, r0 |
---|
| 2392 | + ldrh r3, [r6, #24] |
---|
| 2393 | + mov r0, r4 |
---|
| 2394 | + ldr r2, .L265+152 |
---|
| 2395 | + mov r1, #64 |
---|
| 2396 | + bl snprintf |
---|
| 2397 | + add r4, r4, r0 |
---|
| 2398 | + ldrb r3, [r6, #32] @ zero_extendqisi2 |
---|
| 2399 | + mov r0, r4 |
---|
| 2400 | + ldr r2, .L265+156 |
---|
| 2401 | + mov r1, #64 |
---|
| 2402 | + bl snprintf |
---|
| 2403 | + add r4, r4, r0 |
---|
| 2404 | + ldrh r3, [r6, #28] |
---|
| 2405 | + mov r0, r4 |
---|
| 2406 | + ldr r2, .L265+160 |
---|
| 2407 | + mov r1, #64 |
---|
| 2408 | + bl snprintf |
---|
| 2409 | + ldrh r3, [r6, #24] |
---|
| 2410 | + ldr r2, [r6, #72] |
---|
| 2411 | + add r4, r4, r0 |
---|
| 2412 | + mov r0, r4 |
---|
| 2413 | + mov r1, #64 |
---|
| 2414 | + lsl r3, r3, #1 |
---|
| 2415 | + ldrh r3, [r2, r3] |
---|
| 2416 | + ldr r2, .L265+164 |
---|
| 2417 | + bl snprintf |
---|
| 2418 | + add r4, r4, r0 |
---|
| 2419 | + ldrh r3, [r6, #78] |
---|
| 2420 | + mov r0, r4 |
---|
| 2421 | + ldr r2, .L265+168 |
---|
| 2422 | + mov r1, #64 |
---|
| 2423 | + bl snprintf |
---|
| 2424 | + add r4, r4, r0 |
---|
| 2425 | + ldrb r3, [r6, #82] @ zero_extendqisi2 |
---|
| 2426 | + mov r0, r4 |
---|
| 2427 | + ldr r2, .L265+172 |
---|
| 2428 | + mov r1, #64 |
---|
| 2429 | + bl snprintf |
---|
| 2430 | + add r4, r4, r0 |
---|
| 2431 | + ldrh r3, [r6, #76] |
---|
| 2432 | + mov r0, r4 |
---|
| 2433 | + ldr r2, .L265+176 |
---|
| 2434 | + mov r1, #64 |
---|
| 2435 | + bl snprintf |
---|
| 2436 | + add r4, r4, r0 |
---|
| 2437 | + ldrb r3, [r6, #84] @ zero_extendqisi2 |
---|
| 2438 | + mov r0, r4 |
---|
| 2439 | + ldr r2, .L265+180 |
---|
| 2440 | + mov r1, #64 |
---|
| 2441 | + bl snprintf |
---|
| 2442 | + add r4, r4, r0 |
---|
| 2443 | + ldrh r3, [r6, #80] |
---|
| 2444 | + mov r0, r4 |
---|
| 2445 | + ldr r2, .L265+184 |
---|
| 2446 | + mov r1, #64 |
---|
| 2447 | + bl snprintf |
---|
| 2448 | + ldrh r3, [r6, #76] |
---|
| 2449 | + ldr r2, [r6, #72] |
---|
| 2450 | + add r4, r4, r0 |
---|
| 2451 | + mov r0, r4 |
---|
| 2452 | + mov r1, #64 |
---|
| 2453 | + lsl r3, r3, #1 |
---|
| 2454 | + ldrh r3, [r2, r3] |
---|
| 2455 | + ldr r2, .L265+188 |
---|
| 2456 | + bl snprintf |
---|
| 2457 | + add r4, r4, r0 |
---|
| 2458 | + ldrh r3, [r6, #126] |
---|
| 2459 | + mov r0, r4 |
---|
| 2460 | + ldr r2, .L265+192 |
---|
| 2461 | + mov r1, #64 |
---|
| 2462 | + bl snprintf |
---|
| 2463 | + add r4, r4, r0 |
---|
| 2464 | + ldrb r3, [r6, #130] @ zero_extendqisi2 |
---|
| 2465 | + mov r0, r4 |
---|
| 2466 | + ldr r2, .L265+196 |
---|
| 2467 | + mov r1, #64 |
---|
| 2468 | + bl snprintf |
---|
| 2469 | + add r4, r4, r0 |
---|
| 2470 | + ldrh r3, [r6, #124] |
---|
| 2471 | + mov r0, r4 |
---|
| 2472 | + ldr r2, .L265+200 |
---|
| 2473 | + mov r1, #64 |
---|
| 2474 | + bl snprintf |
---|
| 2475 | + add r4, r4, r0 |
---|
| 2476 | + ldrb r3, [r6, #132] @ zero_extendqisi2 |
---|
| 2477 | + mov r0, r4 |
---|
| 2478 | + ldr r2, .L265+204 |
---|
| 2479 | + mov r1, #64 |
---|
| 2480 | + bl snprintf |
---|
| 2481 | + add r4, r4, r0 |
---|
| 2482 | + ldrh r3, [r6, #128] |
---|
| 2483 | + mov r0, r4 |
---|
| 2484 | + ldr r2, .L265+208 |
---|
| 2485 | + mov r1, #64 |
---|
| 2486 | + bl snprintf |
---|
| 2487 | + add r4, r4, r0 |
---|
| 2488 | + ldrh r3, [r6, #174] |
---|
| 2489 | + mov r0, r4 |
---|
| 2490 | + ldr r2, .L265+212 |
---|
| 2491 | + mov r1, #64 |
---|
| 2492 | + bl snprintf |
---|
| 2493 | + add r4, r4, r0 |
---|
| 2494 | + ldrb r3, [r6, #178] @ zero_extendqisi2 |
---|
| 2495 | + mov r0, r4 |
---|
| 2496 | + ldr r2, .L265+216 |
---|
| 2497 | + mov r1, #64 |
---|
| 2498 | + bl snprintf |
---|
| 2499 | + add r4, r4, r0 |
---|
| 2500 | + ldrh r3, [r6, #172] |
---|
| 2501 | + mov r0, r4 |
---|
| 2502 | + ldr r2, .L265+220 |
---|
| 2503 | + mov r1, #64 |
---|
| 2504 | + bl snprintf |
---|
| 2505 | + add r4, r4, r0 |
---|
| 2506 | + ldrb r3, [r6, #180] @ zero_extendqisi2 |
---|
| 2507 | + mov r0, r4 |
---|
| 2508 | + ldr r2, .L265+224 |
---|
| 2509 | + mov r1, #64 |
---|
| 2510 | + bl snprintf |
---|
| 2511 | + add r4, r4, r0 |
---|
| 2512 | + ldrh r3, [r6, #176] |
---|
| 2513 | + mov r0, r4 |
---|
| 2514 | + ldr r2, .L265+228 |
---|
| 2515 | + mov r1, #64 |
---|
| 2516 | + bl snprintf |
---|
| 2517 | + ldr r3, [r6, #2716] |
---|
| 2518 | + add r4, r4, r0 |
---|
| 2519 | + str r3, [sp, #4] |
---|
| 2520 | + ldr r3, [r6, #2724] |
---|
| 2521 | + mov r0, r4 |
---|
| 2522 | + ldr r2, .L265+232 |
---|
| 2523 | + mov r1, #64 |
---|
| 2524 | + str r3, [sp] |
---|
| 2525 | + ldr r3, [r6, #2720] |
---|
| 2526 | + bl snprintf |
---|
| 2527 | + add r4, r4, r0 |
---|
| 2528 | + ldr r3, [r6, #2712] |
---|
| 2529 | + mov r0, r4 |
---|
| 2530 | + ldr r2, .L265+236 |
---|
| 2531 | + mov r1, #64 |
---|
| 2532 | + bl snprintf |
---|
| 2533 | + add r4, r4, r0 |
---|
| 2534 | + ldr r3, [r6, #2736] |
---|
| 2535 | + mov r0, r4 |
---|
| 2536 | + ldr r2, .L265+240 |
---|
| 2537 | + mov r1, #64 |
---|
| 2538 | + bl snprintf |
---|
| 2539 | + add r3, r6, #3152 |
---|
| 2540 | + add r4, r4, r0 |
---|
| 2541 | + ldr r2, .L265+244 |
---|
| 2542 | + mov r0, r4 |
---|
| 2543 | + mov r1, #64 |
---|
| 2544 | + ldrh r3, [r3] |
---|
2270 | 2545 | bl snprintf |
---|
2271 | 2546 | movw r3, #3154 |
---|
2272 | 2547 | add r4, r4, r0 |
---|
2273 | | - ldrh r3, [r5, r3] |
---|
2274 | | - mov r1, #64 |
---|
2275 | | - ldr r2, .L292+248 |
---|
| 2548 | + ldr r2, .L265+248 |
---|
| 2549 | + ldrh r3, [r6, r3] |
---|
2276 | 2550 | mov r0, r4 |
---|
| 2551 | + mov r1, #64 |
---|
2277 | 2552 | bl snprintf |
---|
2278 | 2553 | add r4, r4, r0 |
---|
2279 | | - ldr r3, [r5, #3156] |
---|
2280 | | - ldr r2, .L292+252 |
---|
2281 | | - mov r1, #64 |
---|
| 2554 | + ldr r3, [r6, #3156] |
---|
2282 | 2555 | mov r0, r4 |
---|
| 2556 | + ldr r2, .L265+252 |
---|
| 2557 | + mov r1, #64 |
---|
2283 | 2558 | bl snprintf |
---|
2284 | 2559 | movw r3, #3160 |
---|
2285 | 2560 | add r4, r4, r0 |
---|
2286 | | - ldrh r3, [r5, r3] |
---|
| 2561 | + ldr r2, .L265+256 |
---|
| 2562 | + ldrh r3, [r6, r3] |
---|
2287 | 2563 | mov r1, #64 |
---|
2288 | | - ldr r2, .L292+256 |
---|
2289 | 2564 | mov r0, r4 |
---|
2290 | 2565 | bl snprintf |
---|
2291 | 2566 | add r4, r4, r0 |
---|
2292 | 2567 | bl GetFreeBlockMinEraseCount |
---|
2293 | | - ldr r2, .L292+260 |
---|
| 2568 | + ldr r2, .L265+260 |
---|
2294 | 2569 | mov r3, r0 |
---|
2295 | 2570 | mov r1, #64 |
---|
2296 | 2571 | mov r0, r4 |
---|
2297 | 2572 | bl snprintf |
---|
2298 | 2573 | add r4, r4, r0 |
---|
2299 | | - ldrh r0, [r5, #224] |
---|
| 2574 | + ldrh r0, [r6, #224] |
---|
2300 | 2575 | bl GetFreeBlockMaxEraseCount |
---|
2301 | | - ldr r2, .L292+264 |
---|
| 2576 | + ldr r2, .L265+264 |
---|
2302 | 2577 | mov r3, r0 |
---|
2303 | 2578 | mov r1, #64 |
---|
2304 | 2579 | mov r0, r4 |
---|
2305 | 2580 | bl snprintf |
---|
2306 | | - ldr r3, .L292+268 |
---|
| 2581 | + ldr r3, .L265+268 |
---|
2307 | 2582 | add r4, r4, r0 |
---|
2308 | 2583 | ldr r3, [r3] |
---|
2309 | 2584 | cmp r3, #1 |
---|
2310 | | - beq .L280 |
---|
2311 | | -.L285: |
---|
2312 | | - sub r0, r4, r6 |
---|
2313 | | - add sp, sp, #20 |
---|
2314 | | - @ sp needed |
---|
2315 | | - pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} |
---|
2316 | | -.L280: |
---|
2317 | | - ldrh r3, [r5, #172] |
---|
| 2585 | + beq .L254 |
---|
| 2586 | +.L259: |
---|
| 2587 | + sub r0, r4, r7 |
---|
| 2588 | + sub sp, fp, #40 |
---|
| 2589 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 2590 | +.L254: |
---|
| 2591 | + ldrh r3, [r6, #172] |
---|
2318 | 2592 | movw r2, #65535 |
---|
2319 | 2593 | cmp r3, r2 |
---|
2320 | | - beq .L282 |
---|
2321 | | - ldr r2, [r5, #72] |
---|
| 2594 | + beq .L256 |
---|
| 2595 | + ldr r2, [r6, #72] |
---|
2322 | 2596 | lsl r3, r3, #1 |
---|
2323 | 2597 | mov r0, r4 |
---|
2324 | 2598 | mov r1, #64 |
---|
2325 | 2599 | ldrh r3, [r2, r3] |
---|
2326 | | - ldr r2, .L292+272 |
---|
| 2600 | + ldr r2, .L265+272 |
---|
2327 | 2601 | bl snprintf |
---|
2328 | 2602 | add r4, r4, r0 |
---|
2329 | | -.L282: |
---|
| 2603 | +.L256: |
---|
2330 | 2604 | mov r0, #0 |
---|
2331 | | - ldr r9, .L292+276 |
---|
| 2605 | + ldr r10, .L265+276 |
---|
2332 | 2606 | bl List_get_gc_head_node |
---|
2333 | 2607 | uxth r0, r0 |
---|
2334 | | - mov r7, #0 |
---|
2335 | | - movw fp, #65535 |
---|
2336 | | - mov r10, #6 |
---|
2337 | | -.L284: |
---|
2338 | | - cmp r0, fp |
---|
2339 | | - beq .L283 |
---|
2340 | | - ldr r3, [r5, #2536] |
---|
| 2608 | + mov r5, #0 |
---|
| 2609 | + movw r9, #65535 |
---|
| 2610 | +.L258: |
---|
| 2611 | + ldr r3, [r6, #2516] |
---|
| 2612 | + cmp r0, r9 |
---|
| 2613 | + beq .L257 |
---|
| 2614 | + mov r8, #6 |
---|
2341 | 2615 | lsl r2, r0, #1 |
---|
2342 | | - mul r8, r10, r0 |
---|
2343 | | - mov r1, #64 |
---|
2344 | | - ldrh r3, [r3, r2] |
---|
2345 | | - str r3, [sp, #12] |
---|
2346 | | - ldr r3, [r5, #2516] |
---|
| 2616 | + ldr r1, [r6, #2536] |
---|
| 2617 | + mul r8, r8, r0 |
---|
| 2618 | + ldrh r1, [r1, r2] |
---|
2347 | 2619 | add r3, r3, r8 |
---|
| 2620 | + str r1, [sp, #12] |
---|
| 2621 | + mov r1, #64 |
---|
2348 | 2622 | ldrh r3, [r3, #4] |
---|
2349 | 2623 | str r3, [sp, #8] |
---|
2350 | | - ldr r3, [r5, #72] |
---|
| 2624 | + ldr r3, [r6, #72] |
---|
2351 | 2625 | ldrh r3, [r3, r2] |
---|
2352 | | - mov r2, r9 |
---|
| 2626 | + mov r2, r10 |
---|
2353 | 2627 | stm sp, {r0, r3} |
---|
2354 | | - mov r3, r7 |
---|
| 2628 | + mov r3, r5 |
---|
2355 | 2629 | mov r0, r4 |
---|
2356 | | - add r7, r7, #1 |
---|
| 2630 | + add r5, r5, #1 |
---|
2357 | 2631 | bl snprintf |
---|
2358 | | - ldr r3, [r5, #2516] |
---|
2359 | | - cmp r7, #16 |
---|
| 2632 | + ldr r3, [r6, #2516] |
---|
2360 | 2633 | add r4, r4, r0 |
---|
| 2634 | + cmp r5, #16 |
---|
2361 | 2635 | ldrh r0, [r3, r8] |
---|
2362 | | - bne .L284 |
---|
2363 | | -.L283: |
---|
2364 | | - ldr r2, [r5, #2516] |
---|
2365 | | - mov r7, #0 |
---|
2366 | | - ldr r3, [r5, #2532] |
---|
| 2636 | + bne .L258 |
---|
| 2637 | +.L257: |
---|
| 2638 | + ldr r3, [r6, #2516] |
---|
| 2639 | + mov r8, #0 |
---|
| 2640 | + ldr r1, [r6, #2532] |
---|
2367 | 2641 | movw r9, #65535 |
---|
2368 | | - ldr fp, .L292+280 |
---|
2369 | | - mov r10, #6 |
---|
2370 | | - sub r3, r3, r2 |
---|
2371 | | - ldr r2, .L292+284 |
---|
2372 | | - asr r3, r3, #1 |
---|
2373 | | - mul r3, r2, r3 |
---|
2374 | | - uxth r3, r3 |
---|
2375 | | -.L286: |
---|
2376 | | - cmp r3, r9 |
---|
2377 | | - beq .L285 |
---|
2378 | | - ldr r1, [r5, #2536] |
---|
2379 | | - lsl r2, r3, #1 |
---|
2380 | | - mul r8, r10, r3 |
---|
| 2642 | + ldr r10, .L265+280 |
---|
| 2643 | + sub r1, r1, r3 |
---|
| 2644 | + ldr r3, .L265+284 |
---|
| 2645 | + asr r1, r1, #1 |
---|
| 2646 | + mul r1, r3, r1 |
---|
| 2647 | + uxth r1, r1 |
---|
| 2648 | +.L260: |
---|
| 2649 | + cmp r1, r9 |
---|
| 2650 | + beq .L259 |
---|
| 2651 | + ldr r2, [r6, #2536] |
---|
| 2652 | + lsl r3, r1, #1 |
---|
| 2653 | + mov r5, #6 |
---|
2381 | 2654 | mov r0, r4 |
---|
2382 | | - ldrh r2, [r1, r2] |
---|
| 2655 | + ldrh r3, [r2, r3] |
---|
| 2656 | + mul r5, r5, r1 |
---|
| 2657 | + str r3, [sp, #8] |
---|
| 2658 | + mov r2, r10 |
---|
| 2659 | + ldr r3, [r6, #2516] |
---|
| 2660 | + add r3, r3, r5 |
---|
| 2661 | + ldrh r3, [r3, #4] |
---|
| 2662 | + stm sp, {r1, r3} |
---|
| 2663 | + mov r3, r8 |
---|
2383 | 2664 | mov r1, #64 |
---|
2384 | | - str r2, [sp, #8] |
---|
2385 | | - ldr r2, [r5, #2516] |
---|
2386 | | - add r2, r2, r8 |
---|
2387 | | - ldrh r2, [r2, #4] |
---|
2388 | | - str r3, [sp] |
---|
2389 | | - mov r3, r7 |
---|
2390 | | - add r7, r7, #1 |
---|
2391 | | - str r2, [sp, #4] |
---|
2392 | | - mov r2, fp |
---|
| 2665 | + add r8, r8, #1 |
---|
2393 | 2666 | bl snprintf |
---|
2394 | | - cmp r7, #4 |
---|
| 2667 | + cmp r8, #4 |
---|
2395 | 2668 | add r4, r4, r0 |
---|
2396 | | - beq .L285 |
---|
2397 | | - ldr r3, [r5, #2516] |
---|
2398 | | - ldrh r3, [r3, r8] |
---|
2399 | | - b .L286 |
---|
2400 | | -.L293: |
---|
| 2669 | + beq .L259 |
---|
| 2670 | + ldr r3, [r6, #2516] |
---|
| 2671 | + ldrh r1, [r3, r5] |
---|
| 2672 | + b .L260 |
---|
| 2673 | +.L266: |
---|
2401 | 2674 | .align 2 |
---|
2402 | | -.L292: |
---|
| 2675 | +.L265: |
---|
2403 | 2676 | .word .LANCHOR0 |
---|
2404 | 2677 | .word .LC9 |
---|
2405 | 2678 | .word .LC10 |
---|
.. | .. |
---|
2407 | 2680 | .word .LC12 |
---|
2408 | 2681 | .word .LC13 |
---|
2409 | 2682 | .word .LC14 |
---|
2410 | | - .word .LANCHOR0+2468 |
---|
2411 | 2683 | .word .LC15 |
---|
2412 | 2684 | .word .LC16 |
---|
2413 | 2685 | .word .LC17 |
---|
.. | .. |
---|
2424 | 2696 | .word .LC28 |
---|
2425 | 2697 | .word .LC29 |
---|
2426 | 2698 | .word .LC30 |
---|
| 2699 | + .word .LANCHOR0+2468 |
---|
2427 | 2700 | .word .LC31 |
---|
2428 | 2701 | .word .LC32 |
---|
2429 | 2702 | .word .LC33 |
---|
.. | .. |
---|
2472 | 2745 | .word .LC75 |
---|
2473 | 2746 | .word .LC76 |
---|
2474 | 2747 | .word -1431655765 |
---|
2475 | | - .fnend |
---|
2476 | 2748 | .size FtlPrintInfo2buf, .-FtlPrintInfo2buf |
---|
| 2749 | + .section .rodata.str1.1 |
---|
| 2750 | +.LC77: |
---|
| 2751 | + .ascii "%s\012\000" |
---|
| 2752 | + .text |
---|
2477 | 2753 | .align 2 |
---|
2478 | 2754 | .global rknand_proc_ftlread |
---|
2479 | 2755 | .syntax unified |
---|
.. | .. |
---|
2481 | 2757 | .fpu softvfp |
---|
2482 | 2758 | .type rknand_proc_ftlread, %function |
---|
2483 | 2759 | rknand_proc_ftlread: |
---|
2484 | | - .fnstart |
---|
2485 | 2760 | @ args = 0, pretend = 0, frame = 0 |
---|
2486 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
2487 | | - cmp r0, #2048 |
---|
2488 | | - blt .L296 |
---|
2489 | | - push {r4, r5, r6, lr} |
---|
2490 | | - .save {r4, r5, r6, lr} |
---|
| 2761 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 2762 | + mov ip, sp |
---|
| 2763 | + push {r4, r5, fp, ip, lr, pc} |
---|
| 2764 | + sub fp, ip, #4 |
---|
| 2765 | + push {lr} |
---|
| 2766 | + bl __gnu_mcount_nc |
---|
2491 | 2767 | mov r5, r1 |
---|
2492 | | - ldr r3, .L301 |
---|
| 2768 | + cmp r0, #2048 |
---|
| 2769 | + blt .L269 |
---|
| 2770 | + ldr r3, .L270 |
---|
| 2771 | + add r4, r5, #30 |
---|
| 2772 | + ldr r2, .L270+4 |
---|
2493 | 2773 | mov r1, #64 |
---|
2494 | 2774 | mov r0, r5 |
---|
2495 | | - ldr r2, .L301+4 |
---|
2496 | 2775 | bl snprintf |
---|
2497 | | - add r4, r5, r0 |
---|
2498 | 2776 | mov r0, r4 |
---|
2499 | 2777 | bl FtlPrintInfo2buf |
---|
2500 | 2778 | add r0, r4, r0 |
---|
2501 | 2779 | sub r0, r0, r5 |
---|
2502 | | - pop {r4, r5, r6, pc} |
---|
2503 | | -.L296: |
---|
| 2780 | + ldmfd sp, {r4, r5, fp, sp, pc} |
---|
| 2781 | +.L269: |
---|
2504 | 2782 | mov r0, #0 |
---|
2505 | | - bx lr |
---|
2506 | | -.L302: |
---|
| 2783 | + ldmfd sp, {r4, r5, fp, sp, pc} |
---|
| 2784 | +.L271: |
---|
2507 | 2785 | .align 2 |
---|
2508 | | -.L301: |
---|
| 2786 | +.L270: |
---|
2509 | 2787 | .word .LC0 |
---|
2510 | 2788 | .word .LC77 |
---|
2511 | | - .fnend |
---|
2512 | 2789 | .size rknand_proc_ftlread, .-rknand_proc_ftlread |
---|
| 2790 | + .section .rodata.str1.1 |
---|
| 2791 | +.LC78: |
---|
| 2792 | + .ascii "swblk %x ,avg = %x max= %x vpc= %x,ec=%x ,max ec=%x" |
---|
| 2793 | + .ascii "\012\000" |
---|
| 2794 | + .text |
---|
2513 | 2795 | .align 2 |
---|
2514 | 2796 | .global GetSwlReplaceBlock |
---|
2515 | 2797 | .syntax unified |
---|
.. | .. |
---|
2517 | 2799 | .fpu softvfp |
---|
2518 | 2800 | .type GetSwlReplaceBlock, %function |
---|
2519 | 2801 | GetSwlReplaceBlock: |
---|
2520 | | - .fnstart |
---|
2521 | 2802 | @ args = 0, pretend = 0, frame = 8 |
---|
2522 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
2523 | | - push {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
2524 | | - .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
2525 | | - .pad #28 |
---|
| 2803 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 2804 | + mov ip, sp |
---|
| 2805 | + push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 2806 | + sub fp, ip, #4 |
---|
2526 | 2807 | sub sp, sp, #28 |
---|
2527 | | - ldr r4, .L328 |
---|
| 2808 | + push {lr} |
---|
| 2809 | + bl __gnu_mcount_nc |
---|
| 2810 | + ldr r4, .L296 |
---|
2528 | 2811 | ldr r2, [r4, #2604] |
---|
2529 | 2812 | ldr r3, [r4, #2616] |
---|
2530 | 2813 | cmp r2, r3 |
---|
2531 | | - bcs .L304 |
---|
| 2814 | + bcs .L273 |
---|
2532 | 2815 | ldr r2, [r4, #2536] |
---|
2533 | 2816 | mov r3, #0 |
---|
2534 | 2817 | ldrh r1, [r4, #240] |
---|
2535 | | - str r3, [r4, #2596] |
---|
2536 | 2818 | sub r2, r2, #2 |
---|
2537 | | -.L305: |
---|
2538 | | - cmp r3, r1 |
---|
2539 | | - bcc .L306 |
---|
| 2819 | + str r3, [r4, #2596] |
---|
| 2820 | +.L274: |
---|
2540 | 2821 | ldr r5, [r4, #2596] |
---|
| 2822 | + cmp r1, r3 |
---|
| 2823 | + bhi .L275 |
---|
2541 | 2824 | mov r0, r5 |
---|
2542 | 2825 | bl __aeabi_uidiv |
---|
2543 | | - ldr r3, .L328+4 |
---|
| 2826 | + ldr r3, .L296+4 |
---|
2544 | 2827 | str r0, [r4, #2604] |
---|
2545 | 2828 | ldr r0, [r4, #2600] |
---|
2546 | 2829 | ldrh r1, [r3] |
---|
2547 | 2830 | sub r0, r5, r0 |
---|
2548 | 2831 | bl __aeabi_uidiv |
---|
2549 | 2832 | str r0, [r4, #2596] |
---|
2550 | | -.L307: |
---|
| 2833 | +.L276: |
---|
2551 | 2834 | ldr r6, [r4, #2616] |
---|
2552 | | - ldr r7, [r4, #2604] |
---|
| 2835 | + ldr r9, [r4, #2604] |
---|
2553 | 2836 | add r3, r6, #256 |
---|
2554 | | - cmp r3, r7 |
---|
2555 | | - bls .L312 |
---|
| 2837 | + cmp r3, r9 |
---|
| 2838 | + bls .L281 |
---|
2556 | 2839 | ldr r2, [r4, #2612] |
---|
2557 | 2840 | add r3, r6, #768 |
---|
2558 | 2841 | cmp r3, r2 |
---|
2559 | | - bls .L312 |
---|
2560 | | -.L314: |
---|
| 2842 | + bls .L281 |
---|
| 2843 | +.L283: |
---|
2561 | 2844 | movw r5, #65535 |
---|
2562 | | -.L313: |
---|
| 2845 | +.L282: |
---|
2563 | 2846 | mov r0, r5 |
---|
2564 | | - add sp, sp, #28 |
---|
2565 | | - @ sp needed |
---|
2566 | | - pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} |
---|
2567 | | -.L306: |
---|
| 2847 | + sub sp, fp, #40 |
---|
| 2848 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 2849 | +.L275: |
---|
2568 | 2850 | ldrh r0, [r2, #2]! |
---|
2569 | 2851 | add r3, r3, #1 |
---|
2570 | | - ldr ip, [r4, #2596] |
---|
2571 | | - add r0, r0, ip |
---|
2572 | | - str r0, [r4, #2596] |
---|
2573 | | - b .L305 |
---|
2574 | | -.L304: |
---|
| 2852 | + add r5, r0, r5 |
---|
| 2853 | + str r5, [r4, #2596] |
---|
| 2854 | + b .L274 |
---|
| 2855 | +.L273: |
---|
2575 | 2856 | ldr r3, [r4, #2612] |
---|
2576 | 2857 | cmp r2, r3 |
---|
2577 | 2858 | addhi r3, r3, #1 |
---|
2578 | 2859 | strhi r3, [r4, #2612] |
---|
2579 | 2860 | movhi r3, #0 |
---|
2580 | | - bls .L307 |
---|
2581 | | -.L309: |
---|
| 2861 | + bls .L276 |
---|
| 2862 | +.L278: |
---|
2582 | 2863 | ldrh r2, [r4, #240] |
---|
2583 | | - cmp r3, r2 |
---|
2584 | | - bcs .L307 |
---|
2585 | | - ldr r0, [r4, #2536] |
---|
| 2864 | + cmp r2, r3 |
---|
| 2865 | + bls .L276 |
---|
2586 | 2866 | lsl r1, r3, #1 |
---|
| 2867 | + ldr r0, [r4, #2536] |
---|
2587 | 2868 | add r3, r3, #1 |
---|
2588 | 2869 | ldrh r2, [r0, r1] |
---|
2589 | 2870 | add r2, r2, #1 |
---|
2590 | 2871 | strh r2, [r0, r1] @ movhi |
---|
2591 | | - b .L309 |
---|
2592 | | -.L312: |
---|
| 2872 | + b .L278 |
---|
| 2873 | +.L281: |
---|
2593 | 2874 | ldrh r0, [r4, #224] |
---|
2594 | 2875 | add r0, r0, r0, lsl #1 |
---|
2595 | | - ubfx r0, r0, #2, #16 |
---|
| 2876 | + lsr r0, r0, #2 |
---|
2596 | 2877 | bl GetFreeBlockMaxEraseCount |
---|
2597 | 2878 | add r3, r6, #64 |
---|
2598 | | - mov r9, r0 |
---|
| 2879 | + mov r7, r0 |
---|
2599 | 2880 | cmp r0, r3 |
---|
2600 | | - bcc .L314 |
---|
| 2881 | + bcc .L283 |
---|
2601 | 2882 | ldr r3, [r4, #2520] |
---|
2602 | 2883 | cmp r3, #0 |
---|
2603 | | - beq .L314 |
---|
| 2884 | + beq .L283 |
---|
2604 | 2885 | ldrh r2, [r4, #240] |
---|
2605 | | - movw r1, #65535 |
---|
2606 | | - ldr lr, [r4, #2516] |
---|
2607 | | - mov r0, #0 |
---|
2608 | | - ldr r8, [r4, #2536] |
---|
2609 | | - mov fp, #6 |
---|
2610 | | - ldr r10, .L328+8 |
---|
2611 | | - str r2, [sp, #20] |
---|
2612 | | - mov r2, r1 |
---|
2613 | | -.L315: |
---|
2614 | | - ldrh ip, [r3] |
---|
| 2886 | + movw r8, #65535 |
---|
| 2887 | + ldr ip, [r4, #2516] |
---|
| 2888 | + mov r1, #0 |
---|
| 2889 | + ldr r10, [r4, #2536] |
---|
| 2890 | + mov lr, #6 |
---|
| 2891 | + str r2, [fp, #-48] |
---|
| 2892 | + mov r2, r8 |
---|
| 2893 | +.L284: |
---|
| 2894 | + ldrh r0, [r3] |
---|
2615 | 2895 | movw r5, #65535 |
---|
2616 | | - cmp ip, r5 |
---|
2617 | | - bne .L318 |
---|
| 2896 | + cmp r0, r5 |
---|
| 2897 | + bne .L287 |
---|
2618 | 2898 | mov r5, r2 |
---|
2619 | | -.L317: |
---|
| 2899 | +.L286: |
---|
2620 | 2900 | movw r3, #65535 |
---|
2621 | 2901 | cmp r5, r3 |
---|
2622 | | - beq .L314 |
---|
2623 | | - lsl fp, r5, #1 |
---|
2624 | | - ldrh r10, [r8, fp] |
---|
2625 | | - cmp r6, r10 |
---|
2626 | | - bcs .L319 |
---|
| 2902 | + beq .L283 |
---|
| 2903 | + lsl r1, r5, #1 |
---|
| 2904 | + ldrh r2, [r10, r1] |
---|
| 2905 | + cmp r6, r2 |
---|
| 2906 | + bcs .L288 |
---|
| 2907 | + str r2, [fp, #-52] |
---|
| 2908 | + str r1, [fp, #-48] |
---|
2627 | 2909 | bl GetFreeBlockMinEraseCount |
---|
| 2910 | + ldr r1, [fp, #-48] |
---|
2628 | 2911 | cmp r6, r0 |
---|
2629 | | - strcc r1, [r4, #2616] |
---|
2630 | | -.L319: |
---|
2631 | | - cmp r7, r10 |
---|
2632 | | - bls .L314 |
---|
2633 | | - add r3, r10, #128 |
---|
2634 | | - cmp r9, r3 |
---|
2635 | | - ble .L314 |
---|
2636 | | - add r3, r10, #256 |
---|
| 2912 | + ldr r2, [fp, #-52] |
---|
| 2913 | + strcc r8, [r4, #2616] |
---|
| 2914 | +.L288: |
---|
| 2915 | + cmp r9, r2 |
---|
| 2916 | + bls .L283 |
---|
| 2917 | + add r3, r2, #128 |
---|
2637 | 2918 | cmp r7, r3 |
---|
2638 | | - bhi .L320 |
---|
| 2919 | + ble .L283 |
---|
| 2920 | + add r0, r2, #256 |
---|
2639 | 2921 | ldr r3, [r4, #2612] |
---|
2640 | | - add r10, r10, #768 |
---|
2641 | | - cmp r10, r3 |
---|
2642 | | - bcs .L314 |
---|
2643 | | -.L320: |
---|
2644 | | - str r9, [sp, #8] |
---|
2645 | | - mov r2, r7 |
---|
2646 | | - ldrh r3, [r8, fp] |
---|
| 2922 | + cmp r9, r0 |
---|
| 2923 | + bhi .L289 |
---|
| 2924 | + add r2, r2, #768 |
---|
| 2925 | + cmp r2, r3 |
---|
| 2926 | + bcs .L283 |
---|
| 2927 | +.L289: |
---|
| 2928 | + str r7, [sp, #8] |
---|
| 2929 | + ldr r0, .L296+8 |
---|
| 2930 | + ldrh r2, [r10, r1] |
---|
| 2931 | + str r2, [sp, #4] |
---|
| 2932 | + ldr r2, [r4, #72] |
---|
| 2933 | + ldrh r2, [r2, r1] |
---|
2647 | 2934 | mov r1, r5 |
---|
2648 | | - ldr r0, .L328+12 |
---|
2649 | | - str r3, [sp, #4] |
---|
2650 | | - ldr r3, [r4, #72] |
---|
2651 | | - ldrh r3, [r3, fp] |
---|
2652 | | - str r3, [sp] |
---|
2653 | | - ldr r3, [r4, #2612] |
---|
| 2935 | + str r2, [sp] |
---|
| 2936 | + mov r2, r9 |
---|
2654 | 2937 | bl sftl_printk |
---|
2655 | 2938 | mov r3, #1 |
---|
2656 | 2939 | str r3, [r4, #3164] |
---|
2657 | | - b .L313 |
---|
2658 | | -.L318: |
---|
2659 | | - add r0, r0, #1 |
---|
2660 | | - ldr r5, [sp, #20] |
---|
2661 | | - uxth r0, r0 |
---|
2662 | | - cmp r0, r5 |
---|
2663 | | - bhi .L314 |
---|
| 2940 | + b .L282 |
---|
| 2941 | +.L287: |
---|
| 2942 | + add r1, r1, #1 |
---|
| 2943 | + ldr r5, [fp, #-48] |
---|
| 2944 | + uxth r1, r1 |
---|
| 2945 | + cmp r5, r1 |
---|
| 2946 | + bcc .L283 |
---|
2664 | 2947 | ldrh r5, [r3, #4] |
---|
2665 | 2948 | cmp r5, #0 |
---|
2666 | | - beq .L316 |
---|
2667 | | - sub r3, r3, lr |
---|
| 2949 | + beq .L285 |
---|
| 2950 | + sub r3, r3, ip |
---|
| 2951 | + ldr r5, .L296+12 |
---|
2668 | 2952 | asr r3, r3, #1 |
---|
2669 | | - mul r3, r10, r3 |
---|
| 2953 | + mul r3, r5, r3 |
---|
2670 | 2954 | uxth r5, r3 |
---|
2671 | 2955 | lsl r3, r5, #1 |
---|
2672 | | - ldrh r3, [r8, r3] |
---|
| 2956 | + ldrh r3, [r10, r3] |
---|
2673 | 2957 | cmp r6, r3 |
---|
2674 | | - bcs .L317 |
---|
2675 | | - cmp r1, r3 |
---|
2676 | | - movhi r1, r3 |
---|
2677 | | - movhi r2, r5 |
---|
2678 | | -.L316: |
---|
2679 | | - mla r3, fp, ip, lr |
---|
2680 | | - b .L315 |
---|
2681 | | -.L329: |
---|
| 2958 | + bcs .L286 |
---|
| 2959 | + cmp r3, r8 |
---|
| 2960 | + movcc r8, r3 |
---|
| 2961 | + movcc r2, r5 |
---|
| 2962 | +.L285: |
---|
| 2963 | + mla r3, lr, r0, ip |
---|
| 2964 | + b .L284 |
---|
| 2965 | +.L297: |
---|
2682 | 2966 | .align 2 |
---|
2683 | | -.L328: |
---|
| 2967 | +.L296: |
---|
2684 | 2968 | .word .LANCHOR0 |
---|
2685 | 2969 | .word .LANCHOR0+292 |
---|
2686 | | - .word -1431655765 |
---|
2687 | 2970 | .word .LC78 |
---|
2688 | | - .fnend |
---|
| 2971 | + .word -1431655765 |
---|
2689 | 2972 | .size GetSwlReplaceBlock, .-GetSwlReplaceBlock |
---|
2690 | 2973 | .align 2 |
---|
2691 | 2974 | .global free_data_superblock |
---|
.. | .. |
---|
2694 | 2977 | .fpu softvfp |
---|
2695 | 2978 | .type free_data_superblock, %function |
---|
2696 | 2979 | free_data_superblock: |
---|
2697 | | - .fnstart |
---|
2698 | 2980 | @ args = 0, pretend = 0, frame = 0 |
---|
2699 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
| 2981 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 2982 | + mov ip, sp |
---|
| 2983 | + push {fp, ip, lr, pc} |
---|
| 2984 | + sub fp, ip, #4 |
---|
| 2985 | + push {lr} |
---|
| 2986 | + bl __gnu_mcount_nc |
---|
2700 | 2987 | movw r2, #65535 |
---|
2701 | 2988 | cmp r0, r2 |
---|
2702 | | - beq .L333 |
---|
2703 | | - ldr r2, .L336 |
---|
| 2989 | + beq .L299 |
---|
| 2990 | + ldr r2, .L300 |
---|
2704 | 2991 | lsl r3, r0, #1 |
---|
2705 | | - push {r4, lr} |
---|
2706 | | - .save {r4, lr} |
---|
2707 | 2992 | mov r1, #0 |
---|
2708 | 2993 | ldr r2, [r2, #72] |
---|
2709 | 2994 | strh r1, [r2, r3] @ movhi |
---|
2710 | 2995 | bl INSERT_FREE_LIST |
---|
| 2996 | +.L299: |
---|
2711 | 2997 | mov r0, #0 |
---|
2712 | | - pop {r4, pc} |
---|
2713 | | -.L333: |
---|
2714 | | - mov r0, #0 |
---|
2715 | | - bx lr |
---|
2716 | | -.L337: |
---|
| 2998 | + ldmfd sp, {fp, sp, pc} |
---|
| 2999 | +.L301: |
---|
2717 | 3000 | .align 2 |
---|
2718 | | -.L336: |
---|
| 3001 | +.L300: |
---|
2719 | 3002 | .word .LANCHOR0 |
---|
2720 | | - .fnend |
---|
2721 | 3003 | .size free_data_superblock, .-free_data_superblock |
---|
2722 | 3004 | .align 2 |
---|
2723 | 3005 | .global get_new_active_ppa |
---|
.. | .. |
---|
2726 | 3008 | .fpu softvfp |
---|
2727 | 3009 | .type get_new_active_ppa, %function |
---|
2728 | 3010 | get_new_active_ppa: |
---|
2729 | | - .fnstart |
---|
2730 | 3011 | @ args = 0, pretend = 0, frame = 0 |
---|
2731 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
2732 | | - push {r4, r5, r6, lr} |
---|
2733 | | - .save {r4, r5, r6, lr} |
---|
2734 | | - movw r3, #65535 |
---|
| 3012 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 3013 | + mov ip, sp |
---|
| 3014 | + push {r4, r5, r6, r7, fp, ip, lr, pc} |
---|
| 3015 | + sub fp, ip, #4 |
---|
| 3016 | + push {lr} |
---|
| 3017 | + bl __gnu_mcount_nc |
---|
2735 | 3018 | ldrh r2, [r0] |
---|
| 3019 | + movw r3, #65535 |
---|
2736 | 3020 | mov r4, r0 |
---|
2737 | 3021 | cmp r2, r3 |
---|
2738 | | - bne .L339 |
---|
| 3022 | + bne .L303 |
---|
| 3023 | + ldr r1, .L317 |
---|
2739 | 3024 | movw r2, #2792 |
---|
2740 | | - ldr r1, .L354 |
---|
2741 | | - ldr r0, .L354+4 |
---|
| 3025 | + ldr r0, .L317+4 |
---|
2742 | 3026 | bl sftl_printk |
---|
2743 | | -.L339: |
---|
2744 | | - ldr r6, .L354+8 |
---|
| 3027 | +.L303: |
---|
| 3028 | + ldr r6, .L317+8 |
---|
2745 | 3029 | movw r3, #302 |
---|
2746 | 3030 | ldrh r2, [r4, #2] |
---|
2747 | 3031 | ldrh r3, [r6, r3] |
---|
2748 | 3032 | cmp r2, r3 |
---|
2749 | | - bne .L340 |
---|
| 3033 | + bne .L304 |
---|
| 3034 | + ldr r1, .L317 |
---|
2750 | 3035 | movw r2, #2793 |
---|
2751 | | - ldr r1, .L354 |
---|
2752 | | - ldr r0, .L354+4 |
---|
| 3036 | + ldr r0, .L317+4 |
---|
2753 | 3037 | bl sftl_printk |
---|
2754 | | -.L340: |
---|
| 3038 | +.L304: |
---|
2755 | 3039 | ldrh r3, [r4, #4] |
---|
2756 | 3040 | cmp r3, #0 |
---|
2757 | | - bne .L341 |
---|
| 3041 | + bne .L305 |
---|
| 3042 | + ldr r1, .L317 |
---|
2758 | 3043 | movw r2, #2794 |
---|
2759 | | - ldr r1, .L354 |
---|
2760 | | - ldr r0, .L354+4 |
---|
| 3044 | + ldr r0, .L317+4 |
---|
2761 | 3045 | bl sftl_printk |
---|
2762 | | -.L341: |
---|
2763 | | - ldrb r2, [r4, #6] @ zero_extendqisi2 |
---|
2764 | | - mov r3, #0 |
---|
2765 | | - ldrh r1, [r6, #232] |
---|
| 3046 | +.L305: |
---|
| 3047 | + ldrb r3, [r4, #6] @ zero_extendqisi2 |
---|
| 3048 | + mov r1, #0 |
---|
| 3049 | + strb r1, [r4, #10] |
---|
2766 | 3050 | movw ip, #65535 |
---|
2767 | | - strb r3, [r4, #10] |
---|
2768 | | - add r2, r4, r2, lsl #1 |
---|
2769 | | - ldrh r0, [r2, #16] |
---|
2770 | | - mov r2, r3 |
---|
2771 | | -.L342: |
---|
2772 | | - cmp r0, ip |
---|
2773 | | - beq .L344 |
---|
2774 | | - movw r3, #302 |
---|
2775 | | - ldrh r5, [r4, #2] |
---|
2776 | | - ldrh ip, [r6, r3] |
---|
| 3051 | + ldrh r0, [r6, #232] |
---|
| 3052 | + add r3, r4, r3, lsl #1 |
---|
| 3053 | + ldrh r5, [r3, #16] |
---|
| 3054 | +.L306: |
---|
| 3055 | + ldrh r2, [r4, #2] |
---|
2777 | 3056 | cmp r5, ip |
---|
2778 | | - movwcs r5, #65535 |
---|
2779 | | - bcs .L338 |
---|
2780 | | - ldrh r2, [r4, #4] |
---|
2781 | | - orr r5, r5, r0, lsl #10 |
---|
2782 | | - ldrb r3, [r4, #6] @ zero_extendqisi2 |
---|
| 3057 | + beq .L308 |
---|
| 3058 | + movw r3, #302 |
---|
| 3059 | + ldrh ip, [r6, r3] |
---|
| 3060 | + cmp ip, r2 |
---|
| 3061 | + movwls r5, #65535 |
---|
| 3062 | + bls .L302 |
---|
| 3063 | + ldrh r3, [r4, #4] |
---|
| 3064 | + orr r5, r2, r5, lsl #10 |
---|
| 3065 | + ldrb r2, [r4, #6] @ zero_extendqisi2 |
---|
2783 | 3066 | movw lr, #65535 |
---|
2784 | | - sub r2, r2, #1 |
---|
2785 | | - uxth r2, r2 |
---|
2786 | | - strh r2, [r4, #4] @ movhi |
---|
2787 | | -.L347: |
---|
2788 | | - add r3, r3, #1 |
---|
2789 | | - uxtb r3, r3 |
---|
2790 | | - cmp r1, r3 |
---|
2791 | | - ldrheq r0, [r4, #2] |
---|
2792 | | - moveq r3, #0 |
---|
2793 | | - addeq r0, r0, #1 |
---|
2794 | | - strheq r0, [r4, #2] @ movhi |
---|
2795 | | - add r0, r4, r3, lsl #1 |
---|
2796 | | - ldrh r0, [r0, #16] |
---|
2797 | | - cmp r0, lr |
---|
2798 | | - beq .L347 |
---|
2799 | | - strb r3, [r4, #6] |
---|
2800 | | - cmp r2, #0 |
---|
2801 | | - ldrh r3, [r4, #2] |
---|
2802 | | - sub r3, r3, ip |
---|
2803 | | - clz r3, r3 |
---|
2804 | | - lsr r3, r3, #5 |
---|
2805 | | - moveq r3, #0 |
---|
| 3067 | + sub r3, r3, #1 |
---|
| 3068 | + uxth r3, r3 |
---|
| 3069 | + strh r3, [r4, #4] @ movhi |
---|
| 3070 | +.L311: |
---|
| 3071 | + add r1, r2, #1 |
---|
| 3072 | + uxtb r2, r1 |
---|
| 3073 | + cmp r0, r2 |
---|
| 3074 | + mov r1, r2 |
---|
| 3075 | + moveq r2, #0 |
---|
| 3076 | + ldrheq r1, [r4, #2] |
---|
| 3077 | + addeq r1, r1, #1 |
---|
| 3078 | + strheq r1, [r4, #2] @ movhi |
---|
| 3079 | + add r1, r4, r2, lsl #1 |
---|
| 3080 | + ldrh r1, [r1, #16] |
---|
| 3081 | + cmp r1, lr |
---|
| 3082 | + beq .L311 |
---|
| 3083 | + strb r2, [r4, #6] |
---|
2806 | 3084 | cmp r3, #0 |
---|
2807 | | - beq .L338 |
---|
| 3085 | + ldrh r2, [r4, #2] |
---|
| 3086 | + sub r2, r2, ip |
---|
| 3087 | + clz r2, r2 |
---|
| 3088 | + lsr r2, r2, #5 |
---|
| 3089 | + moveq r2, #0 |
---|
| 3090 | + cmp r2, #0 |
---|
| 3091 | + beq .L302 |
---|
| 3092 | + ldr r1, .L317 |
---|
2808 | 3093 | movw r2, #2817 |
---|
2809 | | - ldr r1, .L354 |
---|
2810 | | - ldr r0, .L354+4 |
---|
| 3094 | + ldr r0, .L317+4 |
---|
2811 | 3095 | bl sftl_printk |
---|
2812 | | -.L338: |
---|
| 3096 | +.L302: |
---|
2813 | 3097 | mov r0, r5 |
---|
2814 | | - pop {r4, r5, r6, pc} |
---|
2815 | | -.L344: |
---|
| 3098 | + ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} |
---|
| 3099 | +.L308: |
---|
2816 | 3100 | ldrb r3, [r4, #6] @ zero_extendqisi2 |
---|
2817 | 3101 | add r3, r3, #1 |
---|
2818 | 3102 | uxtb r3, r3 |
---|
2819 | | - cmp r3, r1 |
---|
2820 | 3103 | strb r3, [r4, #6] |
---|
2821 | | - ldrheq r3, [r4, #2] |
---|
2822 | | - strbeq r2, [r4, #6] |
---|
2823 | | - addeq r3, r3, #1 |
---|
2824 | | - strheq r3, [r4, #2] @ movhi |
---|
| 3104 | + cmp r3, r0 |
---|
| 3105 | + strbeq r1, [r4, #6] |
---|
| 3106 | + addeq r2, r2, #1 |
---|
| 3107 | + strheq r2, [r4, #2] @ movhi |
---|
2825 | 3108 | ldrb r3, [r4, #6] @ zero_extendqisi2 |
---|
2826 | 3109 | add r3, r4, r3, lsl #1 |
---|
2827 | | - ldrh r0, [r3, #16] |
---|
2828 | | - b .L342 |
---|
2829 | | -.L355: |
---|
| 3110 | + ldrh r5, [r3, #16] |
---|
| 3111 | + b .L306 |
---|
| 3112 | +.L318: |
---|
2830 | 3113 | .align 2 |
---|
2831 | | -.L354: |
---|
| 3114 | +.L317: |
---|
2832 | 3115 | .word .LANCHOR1+111 |
---|
2833 | 3116 | .word .LC8 |
---|
2834 | 3117 | .word .LANCHOR0 |
---|
2835 | | - .fnend |
---|
2836 | 3118 | .size get_new_active_ppa, .-get_new_active_ppa |
---|
2837 | 3119 | .align 2 |
---|
2838 | 3120 | .global FtlGcBufInit |
---|
.. | .. |
---|
2841 | 3123 | .fpu softvfp |
---|
2842 | 3124 | .type FtlGcBufInit, %function |
---|
2843 | 3125 | FtlGcBufInit: |
---|
2844 | | - .fnstart |
---|
2845 | 3126 | @ args = 0, pretend = 0, frame = 0 |
---|
2846 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
2847 | | - push {r4, r5, r6, r7, r8, r9, lr} |
---|
2848 | | - .save {r4, r5, r6, r7, r8, r9, lr} |
---|
2849 | | - mov lr, #12 |
---|
2850 | | - ldr r5, .L362 |
---|
2851 | | - mov r4, #1 |
---|
2852 | | - mov r6, #20 |
---|
2853 | | - mov r3, #0 |
---|
2854 | | - ldr r2, .L362+4 |
---|
2855 | | - str r3, [r2, #3168] |
---|
2856 | | -.L357: |
---|
2857 | | - ldrh r1, [r2, #232] |
---|
2858 | | - uxth r0, r3 |
---|
2859 | | - add ip, r3, #1 |
---|
2860 | | - cmp r0, r1 |
---|
2861 | | - bcc .L358 |
---|
2862 | | - ldr r4, .L362 |
---|
| 3127 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 3128 | + mov ip, sp |
---|
| 3129 | + push {r4, r5, r6, r7, r8, r9, fp, ip, lr, pc} |
---|
| 3130 | + sub fp, ip, #4 |
---|
| 3131 | + push {lr} |
---|
| 3132 | + bl __gnu_mcount_nc |
---|
| 3133 | + ldr r3, .L325 |
---|
| 3134 | + mov r1, #0 |
---|
| 3135 | + ldr r6, .L325+4 |
---|
| 3136 | + mov r4, #12 |
---|
| 3137 | + mov r5, #1 |
---|
| 3138 | + mov r7, #20 |
---|
| 3139 | + str r1, [r3, #3168] |
---|
| 3140 | +.L320: |
---|
| 3141 | + ldrh r2, [r3, #232] |
---|
| 3142 | + uxth r0, r1 |
---|
| 3143 | + cmp r2, r0 |
---|
| 3144 | + bhi .L321 |
---|
| 3145 | + ldr r4, .L325+4 |
---|
2863 | 3146 | mov ip, #12 |
---|
2864 | 3147 | mov lr, #0 |
---|
2865 | | -.L359: |
---|
2866 | | - ldr r3, [r2, #3188] |
---|
2867 | | - cmp r1, r3 |
---|
2868 | | - bcc .L360 |
---|
2869 | | - pop {r4, r5, r6, r7, r8, r9, pc} |
---|
2870 | | -.L358: |
---|
2871 | | - uxth r3, r3 |
---|
2872 | | - ldr r7, [r2, #3172] |
---|
2873 | | - mul r0, lr, r3 |
---|
2874 | | - add r1, r7, r0 |
---|
2875 | | - str r4, [r1, #8] |
---|
2876 | | - ldrh r1, [r5] |
---|
2877 | | - mul r1, r3, r1 |
---|
2878 | | - add r8, r1, #3 |
---|
2879 | | - cmp r1, #0 |
---|
2880 | | - movlt r1, r8 |
---|
2881 | | - ldr r8, [r2, #3176] |
---|
| 3148 | +.L322: |
---|
| 3149 | + ldr r1, [r3, #3188] |
---|
| 3150 | + cmp r2, r1 |
---|
| 3151 | + ldmfdcs sp, {r4, r5, r6, r7, r8, r9, fp, sp, pc} |
---|
| 3152 | + ldrh r0, [r4] |
---|
| 3153 | + mul r5, ip, r2 |
---|
| 3154 | + ldr r6, [r3, #3172] |
---|
| 3155 | + add r1, r6, r5 |
---|
| 3156 | + mul r0, r2, r0 |
---|
| 3157 | + cmp r0, #0 |
---|
| 3158 | + str lr, [r1, #8] |
---|
| 3159 | + add r1, r0, #3 |
---|
| 3160 | + movge r1, r0 |
---|
| 3161 | + ldr r0, [r3, #3176] |
---|
2882 | 3162 | bic r1, r1, #3 |
---|
2883 | | - add r1, r8, r1 |
---|
2884 | | - str r1, [r7, r0] |
---|
2885 | | - ldr r1, .L362+8 |
---|
2886 | | - ldr r8, [r2, #3172] |
---|
2887 | | - ldrh r1, [r1] |
---|
2888 | | - add r7, r8, r0 |
---|
2889 | | - mul r1, r3, r1 |
---|
2890 | | - add r9, r1, #3 |
---|
2891 | | - cmp r1, #0 |
---|
2892 | | - movlt r1, r9 |
---|
2893 | | - ldr r9, [r2, #3180] |
---|
| 3163 | + add r1, r0, r1 |
---|
| 3164 | + str r1, [r6, r5] |
---|
| 3165 | + ldr r1, [r3, #3172] |
---|
| 3166 | + add r5, r1, r5 |
---|
| 3167 | + ldr r1, .L325+8 |
---|
| 3168 | + ldrh r0, [r1] |
---|
| 3169 | + mul r0, r2, r0 |
---|
| 3170 | + add r2, r2, #1 |
---|
| 3171 | + cmp r0, #0 |
---|
| 3172 | + add r1, r0, #3 |
---|
| 3173 | + movge r1, r0 |
---|
| 3174 | + ldr r0, [r3, #3180] |
---|
2894 | 3175 | bic r1, r1, #3 |
---|
2895 | | - add r1, r9, r1 |
---|
2896 | | - str r1, [r7, #4] |
---|
2897 | | - ldr r1, [r2, #3184] |
---|
2898 | | - mla r3, r6, r3, r1 |
---|
2899 | | - ldr r1, [r8, r0] |
---|
2900 | | - str r1, [r3, #8] |
---|
2901 | | - ldr r1, [r7, #4] |
---|
2902 | | - str r1, [r3, #12] |
---|
2903 | | - mov r3, ip |
---|
2904 | | - b .L357 |
---|
2905 | | -.L360: |
---|
2906 | | - mul r5, ip, r1 |
---|
2907 | | - ldr r6, [r2, #3172] |
---|
2908 | | - add r3, r6, r5 |
---|
2909 | | - str lr, [r3, #8] |
---|
2910 | | - ldrh r3, [r4] |
---|
2911 | | - mul r3, r1, r3 |
---|
2912 | | - add r0, r3, #3 |
---|
2913 | | - cmp r3, #0 |
---|
2914 | | - movlt r3, r0 |
---|
2915 | | - ldr r0, [r2, #3176] |
---|
2916 | | - bic r3, r3, #3 |
---|
2917 | | - add r3, r0, r3 |
---|
2918 | | - str r3, [r6, r5] |
---|
2919 | | - ldr r3, .L362+8 |
---|
2920 | | - ldr r0, [r2, #3172] |
---|
2921 | | - ldrh r3, [r3] |
---|
2922 | | - add r0, r0, r5 |
---|
2923 | | - mul r3, r1, r3 |
---|
| 3176 | + uxth r2, r2 |
---|
| 3177 | + add r1, r0, r1 |
---|
| 3178 | + str r1, [r5, #4] |
---|
| 3179 | + b .L322 |
---|
| 3180 | +.L321: |
---|
| 3181 | + uxth ip, r1 |
---|
| 3182 | + ldrh lr, [r6] |
---|
| 3183 | + ldr r8, [r3, #3172] |
---|
2924 | 3184 | add r1, r1, #1 |
---|
2925 | | - uxth r1, r1 |
---|
2926 | | - add r5, r3, #3 |
---|
2927 | | - cmp r3, #0 |
---|
2928 | | - movlt r3, r5 |
---|
2929 | | - ldr r5, [r2, #3180] |
---|
2930 | | - bic r3, r3, #3 |
---|
2931 | | - add r3, r5, r3 |
---|
2932 | | - str r3, [r0, #4] |
---|
2933 | | - b .L359 |
---|
2934 | | -.L363: |
---|
| 3185 | + mul r0, r4, ip |
---|
| 3186 | + mul lr, ip, lr |
---|
| 3187 | + add r2, r8, r0 |
---|
| 3188 | + cmp lr, #0 |
---|
| 3189 | + str r5, [r2, #8] |
---|
| 3190 | + add r2, lr, #3 |
---|
| 3191 | + movge r2, lr |
---|
| 3192 | + ldr lr, [r3, #3176] |
---|
| 3193 | + bic r2, r2, #3 |
---|
| 3194 | + add r2, lr, r2 |
---|
| 3195 | + str r2, [r8, r0] |
---|
| 3196 | + ldr r2, .L325+8 |
---|
| 3197 | + ldr r8, [r3, #3172] |
---|
| 3198 | + add lr, r8, r0 |
---|
| 3199 | + ldrh r9, [r2] |
---|
| 3200 | + mul r9, ip, r9 |
---|
| 3201 | + cmp r9, #0 |
---|
| 3202 | + add r2, r9, #3 |
---|
| 3203 | + movge r2, r9 |
---|
| 3204 | + ldr r9, [r3, #3180] |
---|
| 3205 | + bic r2, r2, #3 |
---|
| 3206 | + add r2, r9, r2 |
---|
| 3207 | + str r2, [lr, #4] |
---|
| 3208 | + ldr r2, [r3, #3184] |
---|
| 3209 | + mla ip, r7, ip, r2 |
---|
| 3210 | + ldr r2, [r8, r0] |
---|
| 3211 | + str r2, [ip, #8] |
---|
| 3212 | + ldr r2, [lr, #4] |
---|
| 3213 | + str r2, [ip, #12] |
---|
| 3214 | + b .L320 |
---|
| 3215 | +.L326: |
---|
2935 | 3216 | .align 2 |
---|
2936 | | -.L362: |
---|
2937 | | - .word .LANCHOR0+310 |
---|
| 3217 | +.L325: |
---|
2938 | 3218 | .word .LANCHOR0 |
---|
| 3219 | + .word .LANCHOR0+310 |
---|
2939 | 3220 | .word .LANCHOR0+312 |
---|
2940 | | - .fnend |
---|
2941 | 3221 | .size FtlGcBufInit, .-FtlGcBufInit |
---|
2942 | 3222 | .align 2 |
---|
2943 | 3223 | .global FtlGcBufFree |
---|
.. | .. |
---|
2946 | 3226 | .fpu softvfp |
---|
2947 | 3227 | .type FtlGcBufFree, %function |
---|
2948 | 3228 | FtlGcBufFree: |
---|
2949 | | - .fnstart |
---|
2950 | 3229 | @ args = 0, pretend = 0, frame = 0 |
---|
2951 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
2952 | | - ldr r3, .L372 |
---|
2953 | | - push {r4, r5, r6, r7, r8, r9, r10, lr} |
---|
2954 | | - .save {r4, r5, r6, r7, r8, r9, r10, lr} |
---|
| 3230 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 3231 | + mov ip, sp |
---|
| 3232 | + push {r3, r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 3233 | + sub fp, ip, #4 |
---|
| 3234 | + push {lr} |
---|
| 3235 | + bl __gnu_mcount_nc |
---|
| 3236 | + ldr r3, .L334 |
---|
2955 | 3237 | mov lr, #0 |
---|
| 3238 | + mov r8, lr |
---|
2956 | 3239 | mov r5, #20 |
---|
2957 | 3240 | mov r7, #12 |
---|
2958 | | - mov r8, lr |
---|
2959 | 3241 | ldr r6, [r3, #3188] |
---|
2960 | 3242 | ldr r4, [r3, #3172] |
---|
2961 | | -.L365: |
---|
| 3243 | +.L328: |
---|
2962 | 3244 | uxth r3, lr |
---|
2963 | 3245 | cmp r1, r3 |
---|
2964 | | - popls {r4, r5, r6, r7, r8, r9, r10, pc} |
---|
| 3246 | + ldmfdls sp, {r3, r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
2965 | 3247 | mla ip, r5, r3, r0 |
---|
2966 | 3248 | mov r2, #0 |
---|
2967 | | -.L366: |
---|
| 3249 | +.L329: |
---|
2968 | 3250 | uxth r3, r2 |
---|
2969 | 3251 | cmp r6, r3 |
---|
2970 | | - bls .L367 |
---|
| 3252 | + bls .L330 |
---|
2971 | 3253 | mul r3, r7, r3 |
---|
2972 | 3254 | add r2, r2, #1 |
---|
2973 | | - ldr r10, [r4, r3] |
---|
2974 | 3255 | add r9, r4, r3 |
---|
| 3256 | + ldr r10, [r4, r3] |
---|
2975 | 3257 | ldr r3, [ip, #8] |
---|
2976 | 3258 | cmp r10, r3 |
---|
2977 | | - bne .L366 |
---|
| 3259 | + bne .L329 |
---|
2978 | 3260 | str r8, [r9, #8] |
---|
2979 | | -.L367: |
---|
| 3261 | +.L330: |
---|
2980 | 3262 | add lr, lr, #1 |
---|
2981 | | - b .L365 |
---|
2982 | | -.L373: |
---|
| 3263 | + b .L328 |
---|
| 3264 | +.L335: |
---|
2983 | 3265 | .align 2 |
---|
2984 | | -.L372: |
---|
| 3266 | +.L334: |
---|
2985 | 3267 | .word .LANCHOR0 |
---|
2986 | | - .fnend |
---|
2987 | 3268 | .size FtlGcBufFree, .-FtlGcBufFree |
---|
2988 | 3269 | .align 2 |
---|
2989 | 3270 | .global FtlGcBufAlloc |
---|
.. | .. |
---|
2992 | 3273 | .fpu softvfp |
---|
2993 | 3274 | .type FtlGcBufAlloc, %function |
---|
2994 | 3275 | FtlGcBufAlloc: |
---|
2995 | | - .fnstart |
---|
2996 | 3276 | @ args = 0, pretend = 0, frame = 0 |
---|
2997 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
2998 | | - ldr r3, .L382 |
---|
| 3277 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 3278 | + mov ip, sp |
---|
| 3279 | + push {r4, r5, r6, r7, r8, r9, fp, ip, lr, pc} |
---|
| 3280 | + sub fp, ip, #4 |
---|
| 3281 | + push {lr} |
---|
| 3282 | + bl __gnu_mcount_nc |
---|
| 3283 | + ldr r3, .L344 |
---|
2999 | 3284 | mov ip, #0 |
---|
3000 | | - push {r4, r5, r6, r7, r8, r9, lr} |
---|
3001 | | - .save {r4, r5, r6, r7, r8, r9, lr} |
---|
3002 | 3285 | mov r6, #12 |
---|
3003 | 3286 | mov r7, #1 |
---|
3004 | 3287 | mov r8, #20 |
---|
3005 | | - ldr r4, [r3, #3188] |
---|
3006 | | - ldr r5, [r3, #3172] |
---|
3007 | | -.L375: |
---|
| 3288 | + ldr r5, [r3, #3188] |
---|
| 3289 | + ldr r4, [r3, #3172] |
---|
| 3290 | +.L337: |
---|
3008 | 3291 | uxth r2, ip |
---|
3009 | 3292 | cmp r1, r2 |
---|
3010 | | - bhi .L379 |
---|
3011 | | - pop {r4, r5, r6, r7, r8, r9, pc} |
---|
3012 | | -.L379: |
---|
| 3293 | + ldmfdls sp, {r4, r5, r6, r7, r8, r9, fp, sp, pc} |
---|
3013 | 3294 | mov lr, #0 |
---|
3014 | | -.L376: |
---|
| 3295 | +.L338: |
---|
3015 | 3296 | uxth r3, lr |
---|
3016 | | - cmp r4, r3 |
---|
3017 | | - bls .L377 |
---|
3018 | | - mla r3, r6, r3, r5 |
---|
| 3297 | + cmp r5, r3 |
---|
| 3298 | + bls .L339 |
---|
| 3299 | + mla r3, r6, r3, r4 |
---|
3019 | 3300 | add lr, lr, #1 |
---|
3020 | 3301 | ldr r9, [r3, #8] |
---|
3021 | 3302 | cmp r9, #0 |
---|
3022 | | - bne .L376 |
---|
| 3303 | + bne .L338 |
---|
3023 | 3304 | mla r2, r8, r2, r0 |
---|
3024 | 3305 | ldr lr, [r3] |
---|
3025 | 3306 | str r7, [r3, #8] |
---|
3026 | 3307 | str lr, [r2, #8] |
---|
3027 | 3308 | ldr r3, [r3, #4] |
---|
3028 | 3309 | str r3, [r2, #12] |
---|
3029 | | -.L377: |
---|
| 3310 | +.L339: |
---|
3030 | 3311 | add ip, ip, #1 |
---|
3031 | | - b .L375 |
---|
3032 | | -.L383: |
---|
| 3312 | + b .L337 |
---|
| 3313 | +.L345: |
---|
3033 | 3314 | .align 2 |
---|
3034 | | -.L382: |
---|
| 3315 | +.L344: |
---|
3035 | 3316 | .word .LANCHOR0 |
---|
3036 | | - .fnend |
---|
3037 | 3317 | .size FtlGcBufAlloc, .-FtlGcBufAlloc |
---|
3038 | 3318 | .align 2 |
---|
3039 | 3319 | .global IsBlkInGcList |
---|
.. | .. |
---|
3042 | 3322 | .fpu softvfp |
---|
3043 | 3323 | .type IsBlkInGcList, %function |
---|
3044 | 3324 | IsBlkInGcList: |
---|
3045 | | - .fnstart |
---|
3046 | 3325 | @ args = 0, pretend = 0, frame = 0 |
---|
3047 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
3048 | | - @ link register save eliminated. |
---|
3049 | | - ldr r2, .L389 |
---|
| 3326 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 3327 | + mov ip, sp |
---|
| 3328 | + push {fp, ip, lr, pc} |
---|
| 3329 | + sub fp, ip, #4 |
---|
| 3330 | + push {lr} |
---|
| 3331 | + bl __gnu_mcount_nc |
---|
| 3332 | + ldr r2, .L351 |
---|
3050 | 3333 | movw r1, #3196 |
---|
3051 | 3334 | ldr r3, [r2, #3192] |
---|
3052 | 3335 | ldrh r2, [r2, r1] |
---|
3053 | 3336 | add r2, r3, r2, lsl #1 |
---|
3054 | | -.L385: |
---|
| 3337 | +.L347: |
---|
3055 | 3338 | cmp r3, r2 |
---|
3056 | | - bne .L387 |
---|
| 3339 | + bne .L349 |
---|
3057 | 3340 | mov r0, #0 |
---|
3058 | | - bx lr |
---|
3059 | | -.L387: |
---|
| 3341 | + ldmfd sp, {fp, sp, pc} |
---|
| 3342 | +.L349: |
---|
3060 | 3343 | ldrh r1, [r3], #2 |
---|
3061 | 3344 | cmp r1, r0 |
---|
3062 | | - bne .L385 |
---|
| 3345 | + bne .L347 |
---|
3063 | 3346 | mov r0, #1 |
---|
3064 | | - bx lr |
---|
3065 | | -.L390: |
---|
| 3347 | + ldmfd sp, {fp, sp, pc} |
---|
| 3348 | +.L352: |
---|
3066 | 3349 | .align 2 |
---|
3067 | | -.L389: |
---|
| 3350 | +.L351: |
---|
3068 | 3351 | .word .LANCHOR0 |
---|
3069 | | - .fnend |
---|
3070 | 3352 | .size IsBlkInGcList, .-IsBlkInGcList |
---|
3071 | 3353 | .align 2 |
---|
3072 | 3354 | .global FtlGcUpdatePage |
---|
.. | .. |
---|
3075 | 3357 | .fpu softvfp |
---|
3076 | 3358 | .type FtlGcUpdatePage, %function |
---|
3077 | 3359 | FtlGcUpdatePage: |
---|
3078 | | - .fnstart |
---|
3079 | 3360 | @ args = 0, pretend = 0, frame = 0 |
---|
3080 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
3081 | | - push {r4, r5, r6, r7, r8, lr} |
---|
3082 | | - .save {r4, r5, r6, r7, r8, lr} |
---|
| 3361 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 3362 | + mov ip, sp |
---|
| 3363 | + push {r4, r5, r6, r7, fp, ip, lr, pc} |
---|
| 3364 | + sub fp, ip, #4 |
---|
| 3365 | + push {lr} |
---|
| 3366 | + bl __gnu_mcount_nc |
---|
3083 | 3367 | mov r4, r0 |
---|
3084 | 3368 | ubfx r0, r0, #10, #16 |
---|
3085 | 3369 | mov r5, r1 |
---|
3086 | 3370 | mov r6, r2 |
---|
3087 | 3371 | bl P2V_block_in_plane |
---|
3088 | | - ldr r3, .L396 |
---|
| 3372 | + ldr r3, .L357 |
---|
3089 | 3373 | movw r2, #3196 |
---|
3090 | 3374 | mov ip, #0 |
---|
3091 | | - ldrh lr, [r3, r2] |
---|
| 3375 | + ldrh r7, [r3, r2] |
---|
3092 | 3376 | ldr r2, [r3, #3192] |
---|
3093 | 3377 | sub r1, r2, #2 |
---|
3094 | | -.L392: |
---|
3095 | | - uxth r7, ip |
---|
| 3378 | +.L354: |
---|
| 3379 | + uxth lr, ip |
---|
3096 | 3380 | cmp r7, lr |
---|
3097 | | - bcc .L394 |
---|
3098 | | - bne .L393 |
---|
3099 | | - lsl ip, r7, #1 |
---|
| 3381 | + bhi .L356 |
---|
| 3382 | + bne .L355 |
---|
| 3383 | + lsl ip, ip, #1 |
---|
| 3384 | + movw r1, #3196 |
---|
3100 | 3385 | strh r0, [r2, ip] @ movhi |
---|
3101 | | - movw r2, #3196 |
---|
3102 | | - ldrh r0, [r3, r2] |
---|
3103 | | - add r0, r0, #1 |
---|
3104 | | - strh r0, [r3, r2] @ movhi |
---|
3105 | | - b .L393 |
---|
3106 | | -.L394: |
---|
3107 | | - ldrh r7, [r1, #2]! |
---|
3108 | | - add ip, ip, #1 |
---|
3109 | | - cmp r7, r0 |
---|
3110 | | - bne .L392 |
---|
3111 | | -.L393: |
---|
3112 | | - movw ip, #3204 |
---|
3113 | | - mov r0, #12 |
---|
3114 | | - ldrh r2, [r3, ip] |
---|
3115 | | - mul r0, r0, r2 |
---|
3116 | | - ldr r2, [r3, #3200] |
---|
3117 | | - add r1, r2, r0 |
---|
3118 | | - stmib r1, {r5, r6} |
---|
3119 | | - str r4, [r2, r0] |
---|
3120 | | - ldrh r2, [r3, ip] |
---|
| 3386 | + ldrh r2, [r3, r1] |
---|
3121 | 3387 | add r2, r2, #1 |
---|
3122 | | - strh r2, [r3, ip] @ movhi |
---|
3123 | | - pop {r4, r5, r6, r7, r8, pc} |
---|
3124 | | -.L397: |
---|
| 3388 | + strh r2, [r3, r1] @ movhi |
---|
| 3389 | + b .L355 |
---|
| 3390 | +.L356: |
---|
| 3391 | + ldrh lr, [r1, #2]! |
---|
| 3392 | + add ip, ip, #1 |
---|
| 3393 | + cmp lr, r0 |
---|
| 3394 | + bne .L354 |
---|
| 3395 | +.L355: |
---|
| 3396 | + movw r2, #3204 |
---|
| 3397 | + mov r1, #12 |
---|
| 3398 | + ldrh ip, [r3, r2] |
---|
| 3399 | + mul ip, r1, ip |
---|
| 3400 | + ldr r1, [r3, #3200] |
---|
| 3401 | + add r0, r1, ip |
---|
| 3402 | + stmib r0, {r5, r6} |
---|
| 3403 | + str r4, [r1, ip] |
---|
| 3404 | + ldrh r1, [r3, r2] |
---|
| 3405 | + add r1, r1, #1 |
---|
| 3406 | + strh r1, [r3, r2] @ movhi |
---|
| 3407 | + ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} |
---|
| 3408 | +.L358: |
---|
3125 | 3409 | .align 2 |
---|
3126 | | -.L396: |
---|
| 3410 | +.L357: |
---|
3127 | 3411 | .word .LANCHOR0 |
---|
3128 | | - .fnend |
---|
3129 | 3412 | .size FtlGcUpdatePage, .-FtlGcUpdatePage |
---|
| 3413 | + .section .rodata.str1.1 |
---|
| 3414 | +.LC79: |
---|
| 3415 | + .ascii "FtlGcRefreshBlock 0x%x\012\000" |
---|
| 3416 | + .text |
---|
3130 | 3417 | .align 2 |
---|
3131 | 3418 | .global FtlGcRefreshBlock |
---|
3132 | 3419 | .syntax unified |
---|
.. | .. |
---|
3134 | 3421 | .fpu softvfp |
---|
3135 | 3422 | .type FtlGcRefreshBlock, %function |
---|
3136 | 3423 | FtlGcRefreshBlock: |
---|
3137 | | - .fnstart |
---|
3138 | 3424 | @ args = 0, pretend = 0, frame = 0 |
---|
3139 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
3140 | | - push {r4, lr} |
---|
3141 | | - .save {r4, lr} |
---|
3142 | | - mov r1, r0 |
---|
| 3425 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 3426 | + mov ip, sp |
---|
| 3427 | + push {r4, r5, fp, ip, lr, pc} |
---|
| 3428 | + sub fp, ip, #4 |
---|
| 3429 | + push {lr} |
---|
| 3430 | + bl __gnu_mcount_nc |
---|
3143 | 3431 | mov r4, r0 |
---|
3144 | | - ldr r0, .L402 |
---|
| 3432 | + mov r1, r0 |
---|
| 3433 | + ldr r0, .L362 |
---|
3145 | 3434 | bl sftl_printk |
---|
3146 | | - ldr r3, .L402+4 |
---|
| 3435 | + ldr r3, .L362+4 |
---|
3147 | 3436 | ldrh r0, [r3, #222] |
---|
3148 | | - cmp r4, r0 |
---|
3149 | | - beq .L399 |
---|
| 3437 | + cmp r0, r4 |
---|
| 3438 | + beq .L360 |
---|
3150 | 3439 | ldrh r1, [r3, #220] |
---|
3151 | | - cmp r4, r1 |
---|
3152 | | - beq .L399 |
---|
| 3440 | + cmp r1, r4 |
---|
| 3441 | + beq .L360 |
---|
3153 | 3442 | movw r2, #65535 |
---|
3154 | 3443 | cmp r0, r2 |
---|
3155 | 3444 | strheq r4, [r3, #222] @ movhi |
---|
3156 | | - beq .L399 |
---|
| 3445 | + beq .L360 |
---|
3157 | 3446 | cmp r1, r2 |
---|
3158 | 3447 | strheq r4, [r3, #220] @ movhi |
---|
3159 | | -.L399: |
---|
| 3448 | +.L360: |
---|
3160 | 3449 | mov r0, #0 |
---|
3161 | | - pop {r4, pc} |
---|
3162 | | -.L403: |
---|
| 3450 | + ldmfd sp, {r4, r5, fp, sp, pc} |
---|
| 3451 | +.L363: |
---|
3163 | 3452 | .align 2 |
---|
3164 | | -.L402: |
---|
| 3453 | +.L362: |
---|
3165 | 3454 | .word .LC79 |
---|
3166 | 3455 | .word .LANCHOR0 |
---|
3167 | | - .fnend |
---|
3168 | 3456 | .size FtlGcRefreshBlock, .-FtlGcRefreshBlock |
---|
| 3457 | + .section .rodata.str1.1 |
---|
| 3458 | +.LC80: |
---|
| 3459 | + .ascii "FtlGcMarkBadPhyBlk %d 0x%x\012\000" |
---|
| 3460 | + .text |
---|
3169 | 3461 | .align 2 |
---|
3170 | 3462 | .global FtlGcMarkBadPhyBlk |
---|
3171 | 3463 | .syntax unified |
---|
.. | .. |
---|
3173 | 3465 | .fpu softvfp |
---|
3174 | 3466 | .type FtlGcMarkBadPhyBlk, %function |
---|
3175 | 3467 | FtlGcMarkBadPhyBlk: |
---|
3176 | | - .fnstart |
---|
3177 | 3468 | @ args = 0, pretend = 0, frame = 0 |
---|
3178 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
3179 | | - push {r4, r5, r6, r7, r8, lr} |
---|
3180 | | - .save {r4, r5, r6, r7, r8, lr} |
---|
3181 | | - mov r5, r0 |
---|
3182 | | - ldr r4, .L409 |
---|
3183 | | - movw r6, #3206 |
---|
| 3469 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 3470 | + mov ip, sp |
---|
| 3471 | + push {r4, r5, r6, r7, fp, ip, lr, pc} |
---|
| 3472 | + sub fp, ip, #4 |
---|
| 3473 | + push {lr} |
---|
| 3474 | + bl __gnu_mcount_nc |
---|
| 3475 | + ldr r5, .L368 |
---|
| 3476 | + movw r7, #3206 |
---|
| 3477 | + mov r4, r0 |
---|
3184 | 3478 | bl P2V_block_in_plane |
---|
3185 | | - mov r2, r5 |
---|
3186 | | - mov r7, r0 |
---|
3187 | | - ldrh r1, [r4, r6] |
---|
3188 | | - ldr r0, .L409+4 |
---|
| 3479 | + mov r2, r4 |
---|
| 3480 | + mov r6, r0 |
---|
| 3481 | + ldr r0, .L368+4 |
---|
| 3482 | + ldrh r1, [r5, r7] |
---|
3189 | 3483 | bl sftl_printk |
---|
3190 | | - mov r0, r7 |
---|
| 3484 | + mov r0, r6 |
---|
3191 | 3485 | bl FtlGcRefreshBlock |
---|
3192 | | - ldrh r3, [r4, r6] |
---|
| 3486 | + ldr r1, .L368+8 |
---|
| 3487 | + ldrh r3, [r5, r7] |
---|
3193 | 3488 | mov r2, #0 |
---|
3194 | | - ldr r0, .L409+8 |
---|
3195 | | -.L405: |
---|
3196 | | - uxth r1, r2 |
---|
3197 | | - cmp r3, r1 |
---|
3198 | | - bhi .L407 |
---|
| 3489 | + mov r0, r1 |
---|
| 3490 | +.L365: |
---|
| 3491 | + uxth ip, r2 |
---|
| 3492 | + cmp r3, ip |
---|
| 3493 | + bhi .L367 |
---|
3199 | 3494 | cmp r3, #15 |
---|
3200 | | - movwls r2, #3206 |
---|
3201 | | - addls r1, r3, #1 |
---|
3202 | | - strhls r1, [r4, r2] @ movhi |
---|
3203 | | - lslls r3, r3, #1 |
---|
3204 | | - ldrls r2, .L409+8 |
---|
3205 | | - strhls r5, [r2, r3] @ movhi |
---|
3206 | | - b .L406 |
---|
3207 | | -.L407: |
---|
| 3495 | + bhi .L366 |
---|
| 3496 | + add r1, r3, #1 |
---|
| 3497 | + lsl r3, r3, #1 |
---|
| 3498 | + movw r2, #3206 |
---|
| 3499 | + strh r4, [r0, r3] @ movhi |
---|
| 3500 | + strh r1, [r5, r2] @ movhi |
---|
| 3501 | + b .L366 |
---|
| 3502 | +.L367: |
---|
| 3503 | + ldrh ip, [r1], #2 |
---|
3208 | 3504 | add r2, r2, #1 |
---|
3209 | | - add r1, r0, r2, lsl #1 |
---|
3210 | | - ldrh r1, [r1, #-2] |
---|
3211 | | - cmp r1, r5 |
---|
3212 | | - bne .L405 |
---|
3213 | | -.L406: |
---|
| 3505 | + cmp ip, r4 |
---|
| 3506 | + bne .L365 |
---|
| 3507 | +.L366: |
---|
3214 | 3508 | mov r0, #0 |
---|
3215 | | - pop {r4, r5, r6, r7, r8, pc} |
---|
3216 | | -.L410: |
---|
| 3509 | + ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} |
---|
| 3510 | +.L369: |
---|
3217 | 3511 | .align 2 |
---|
3218 | | -.L409: |
---|
| 3512 | +.L368: |
---|
3219 | 3513 | .word .LANCHOR0 |
---|
3220 | 3514 | .word .LC80 |
---|
3221 | 3515 | .word .LANCHOR0+3208 |
---|
3222 | | - .fnend |
---|
3223 | 3516 | .size FtlGcMarkBadPhyBlk, .-FtlGcMarkBadPhyBlk |
---|
3224 | 3517 | .align 2 |
---|
3225 | 3518 | .global FtlGcReFreshBadBlk |
---|
.. | .. |
---|
3228 | 3521 | .fpu softvfp |
---|
3229 | 3522 | .type FtlGcReFreshBadBlk, %function |
---|
3230 | 3523 | FtlGcReFreshBadBlk: |
---|
3231 | | - .fnstart |
---|
3232 | 3524 | @ args = 0, pretend = 0, frame = 0 |
---|
3233 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
3234 | | - push {r4, r5, r6, lr} |
---|
3235 | | - .save {r4, r5, r6, lr} |
---|
| 3525 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 3526 | + mov ip, sp |
---|
| 3527 | + push {r4, r5, fp, ip, lr, pc} |
---|
| 3528 | + sub fp, ip, #4 |
---|
| 3529 | + push {lr} |
---|
| 3530 | + bl __gnu_mcount_nc |
---|
| 3531 | + ldr r4, .L376 |
---|
3236 | 3532 | movw r3, #3206 |
---|
3237 | | - ldr r4, .L418 |
---|
3238 | 3533 | ldrh r2, [r4, r3] |
---|
3239 | 3534 | cmp r2, #0 |
---|
3240 | | - beq .L412 |
---|
| 3535 | + beq .L371 |
---|
3241 | 3536 | ldrh r1, [r4, #222] |
---|
3242 | 3537 | movw r3, #65535 |
---|
3243 | 3538 | cmp r1, r3 |
---|
3244 | | - bne .L412 |
---|
| 3539 | + bne .L371 |
---|
3245 | 3540 | movw r3, #3242 |
---|
3246 | 3541 | movw r5, #3242 |
---|
3247 | 3542 | ldrh r1, [r4, r3] |
---|
3248 | 3543 | cmp r1, r2 |
---|
3249 | 3544 | movcs r2, #0 |
---|
3250 | 3545 | strhcs r2, [r4, r3] @ movhi |
---|
| 3546 | + ldr r2, .L376+4 |
---|
3251 | 3547 | ldrh r3, [r4, r5] |
---|
3252 | | - ldr r2, .L418+4 |
---|
3253 | 3548 | lsl r3, r3, #1 |
---|
3254 | 3549 | ldrh r0, [r2, r3] |
---|
3255 | 3550 | bl P2V_block_in_plane |
---|
.. | .. |
---|
3257 | 3552 | ldrh r3, [r4, r5] |
---|
3258 | 3553 | add r3, r3, #1 |
---|
3259 | 3554 | strh r3, [r4, r5] @ movhi |
---|
3260 | | -.L412: |
---|
| 3555 | +.L371: |
---|
3261 | 3556 | mov r0, #0 |
---|
3262 | | - pop {r4, r5, r6, pc} |
---|
3263 | | -.L419: |
---|
| 3557 | + ldmfd sp, {r4, r5, fp, sp, pc} |
---|
| 3558 | +.L377: |
---|
3264 | 3559 | .align 2 |
---|
3265 | | -.L418: |
---|
| 3560 | +.L376: |
---|
3266 | 3561 | .word .LANCHOR0 |
---|
3267 | 3562 | .word .LANCHOR0+3208 |
---|
3268 | | - .fnend |
---|
3269 | 3563 | .size FtlGcReFreshBadBlk, .-FtlGcReFreshBadBlk |
---|
3270 | 3564 | .align 2 |
---|
3271 | 3565 | .global ftl_malloc |
---|
.. | .. |
---|
3274 | 3568 | .fpu softvfp |
---|
3275 | 3569 | .type ftl_malloc, %function |
---|
3276 | 3570 | ftl_malloc: |
---|
3277 | | - .fnstart |
---|
3278 | 3571 | @ args = 0, pretend = 0, frame = 0 |
---|
3279 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
3280 | | - @ link register save eliminated. |
---|
3281 | | - ldr r1, .L421 |
---|
3282 | | - b __kmalloc |
---|
3283 | | -.L422: |
---|
3284 | | - .align 2 |
---|
3285 | | -.L421: |
---|
3286 | | - .word 6291649 |
---|
3287 | | - .fnend |
---|
| 3572 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 3573 | + mov ip, sp |
---|
| 3574 | + push {fp, ip, lr, pc} |
---|
| 3575 | + sub fp, ip, #4 |
---|
| 3576 | + push {lr} |
---|
| 3577 | + bl __gnu_mcount_nc |
---|
| 3578 | + movw r1, #3265 |
---|
| 3579 | + bl __kmalloc |
---|
| 3580 | + ldmfd sp, {fp, sp, pc} |
---|
3288 | 3581 | .size ftl_malloc, .-ftl_malloc |
---|
3289 | 3582 | .align 2 |
---|
3290 | 3583 | .global ftl_free |
---|
.. | .. |
---|
3293 | 3586 | .fpu softvfp |
---|
3294 | 3587 | .type ftl_free, %function |
---|
3295 | 3588 | ftl_free: |
---|
3296 | | - .fnstart |
---|
3297 | 3589 | @ args = 0, pretend = 0, frame = 0 |
---|
3298 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
3299 | | - @ link register save eliminated. |
---|
3300 | | - b kfree |
---|
3301 | | - .fnend |
---|
| 3590 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 3591 | + mov ip, sp |
---|
| 3592 | + push {fp, ip, lr, pc} |
---|
| 3593 | + sub fp, ip, #4 |
---|
| 3594 | + push {lr} |
---|
| 3595 | + bl __gnu_mcount_nc |
---|
| 3596 | + bl kfree |
---|
| 3597 | + ldmfd sp, {fp, sp, pc} |
---|
3302 | 3598 | .size ftl_free, .-ftl_free |
---|
| 3599 | + .section .rodata.str1.1 |
---|
| 3600 | +.LC81: |
---|
| 3601 | + .ascii "%s %p + 0x%x:\000" |
---|
| 3602 | +.LC82: |
---|
| 3603 | + .ascii "0x%08x,\000" |
---|
| 3604 | +.LC83: |
---|
| 3605 | + .ascii "0x%04x,\000" |
---|
| 3606 | +.LC84: |
---|
| 3607 | + .ascii "0x%02x,\000" |
---|
| 3608 | +.LC85: |
---|
| 3609 | + .ascii "\012\000" |
---|
| 3610 | + .text |
---|
3303 | 3611 | .align 2 |
---|
3304 | 3612 | .global rknand_print_hex |
---|
3305 | 3613 | .syntax unified |
---|
.. | .. |
---|
3307 | 3615 | .fpu softvfp |
---|
3308 | 3616 | .type rknand_print_hex, %function |
---|
3309 | 3617 | rknand_print_hex: |
---|
3310 | | - .fnstart |
---|
3311 | | - @ args = 0, pretend = 0, frame = 0 |
---|
3312 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
3313 | | - push {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
3314 | | - .save {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
3315 | | - mov r6, #0 |
---|
3316 | | - ldr fp, .L434 |
---|
3317 | | - mov r10, r0 |
---|
3318 | | - mov r7, r1 |
---|
| 3618 | + @ args = 0, pretend = 0, frame = 8 |
---|
| 3619 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 3620 | + mov ip, sp |
---|
| 3621 | + push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 3622 | + sub fp, ip, #4 |
---|
| 3623 | + sub sp, sp, #12 |
---|
| 3624 | + push {lr} |
---|
| 3625 | + bl __gnu_mcount_nc |
---|
| 3626 | + ldr r10, .L389 |
---|
| 3627 | + mov r7, #0 |
---|
| 3628 | + mov r9, r0 |
---|
| 3629 | + mov r5, r1 |
---|
3319 | 3630 | mov r8, r2 |
---|
3320 | | - mov r9, r3 |
---|
3321 | | - mov r5, r6 |
---|
3322 | | - mov r4, r6 |
---|
3323 | | -.L425: |
---|
3324 | | - cmp r4, r9 |
---|
3325 | | - bcc .L431 |
---|
3326 | | - ldr r0, .L434+4 |
---|
3327 | | - pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
3328 | | - b sftl_printk |
---|
3329 | | -.L431: |
---|
3330 | | - cmp r5, #0 |
---|
3331 | | - bne .L426 |
---|
3332 | | - mov r3, r6 |
---|
3333 | | - mov r2, r7 |
---|
3334 | | - mov r1, r10 |
---|
3335 | | - ldr r0, .L434+8 |
---|
| 3631 | + mov r6, r7 |
---|
| 3632 | + mov r4, r7 |
---|
| 3633 | + str r3, [fp, #-48] |
---|
| 3634 | +.L381: |
---|
| 3635 | + ldr r3, [fp, #-48] |
---|
| 3636 | + cmp r3, r4 |
---|
| 3637 | + bhi .L387 |
---|
| 3638 | + ldr r0, .L389+4 |
---|
3336 | 3639 | bl sftl_printk |
---|
3337 | | -.L426: |
---|
| 3640 | + sub sp, fp, #40 |
---|
| 3641 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 3642 | +.L387: |
---|
| 3643 | + cmp r6, #0 |
---|
| 3644 | + bne .L382 |
---|
| 3645 | + ldr r0, .L389+8 |
---|
| 3646 | + mov r3, r7 |
---|
| 3647 | + mov r2, r5 |
---|
| 3648 | + mov r1, r9 |
---|
| 3649 | + bl sftl_printk |
---|
| 3650 | +.L382: |
---|
3338 | 3651 | cmp r8, #4 |
---|
3339 | | - ldreq r1, [r7, r4, lsl #2] |
---|
3340 | | - ldreq r0, .L434+12 |
---|
3341 | | - beq .L433 |
---|
| 3652 | + ldreq r1, [r5, r4, lsl #2] |
---|
| 3653 | + ldreq r0, .L389+12 |
---|
| 3654 | + beq .L388 |
---|
3342 | 3655 | cmp r8, #2 |
---|
3343 | 3656 | lsleq r3, r4, #1 |
---|
3344 | | - ldrbne r1, [r7, r4] @ zero_extendqisi2 |
---|
3345 | | - ldrne r0, .L434+16 |
---|
3346 | | - moveq r0, fp |
---|
3347 | | - ldrheq r1, [r7, r3] |
---|
3348 | | -.L433: |
---|
3349 | | - add r5, r5, #1 |
---|
| 3657 | + movne r0, r10 |
---|
| 3658 | + ldreq r0, .L389+16 |
---|
| 3659 | + ldrheq r1, [r5, r3] |
---|
| 3660 | + ldrbne r1, [r5, r4] @ zero_extendqisi2 |
---|
| 3661 | +.L388: |
---|
| 3662 | + add r6, r6, #1 |
---|
3350 | 3663 | bl sftl_printk |
---|
3351 | | - cmp r5, #15 |
---|
3352 | | - bls .L430 |
---|
3353 | | - mov r5, #0 |
---|
3354 | | - ldr r0, .L434+4 |
---|
| 3664 | + cmp r6, #15 |
---|
| 3665 | + bls .L386 |
---|
| 3666 | + mov r6, #0 |
---|
| 3667 | + ldr r0, .L389+4 |
---|
3355 | 3668 | bl sftl_printk |
---|
3356 | | -.L430: |
---|
| 3669 | +.L386: |
---|
3357 | 3670 | add r4, r4, #1 |
---|
3358 | | - add r6, r6, r8 |
---|
3359 | | - b .L425 |
---|
3360 | | -.L435: |
---|
| 3671 | + add r7, r7, r8 |
---|
| 3672 | + b .L381 |
---|
| 3673 | +.L390: |
---|
3361 | 3674 | .align 2 |
---|
3362 | | -.L434: |
---|
3363 | | - .word .LC83 |
---|
| 3675 | +.L389: |
---|
| 3676 | + .word .LC84 |
---|
3364 | 3677 | .word .LC85 |
---|
3365 | 3678 | .word .LC81 |
---|
3366 | 3679 | .word .LC82 |
---|
3367 | | - .word .LC84 |
---|
3368 | | - .fnend |
---|
| 3680 | + .word .LC83 |
---|
3369 | 3681 | .size rknand_print_hex, .-rknand_print_hex |
---|
| 3682 | + .section .rodata.str1.1 |
---|
| 3683 | +.LC86: |
---|
| 3684 | + .ascii "%s: addr: %x is in id block!!!!!!!!!!\012\000" |
---|
| 3685 | +.LC87: |
---|
| 3686 | + .ascii "not free: w: d:\000" |
---|
| 3687 | +.LC88: |
---|
| 3688 | + .ascii "not free: w: s:\000" |
---|
| 3689 | + .text |
---|
3370 | 3690 | .align 2 |
---|
3371 | 3691 | .global FlashEraseBlocks |
---|
3372 | 3692 | .syntax unified |
---|
.. | .. |
---|
3374 | 3694 | .fpu softvfp |
---|
3375 | 3695 | .type FlashEraseBlocks, %function |
---|
3376 | 3696 | FlashEraseBlocks: |
---|
3377 | | - .fnstart |
---|
3378 | | - @ args = 0, pretend = 0, frame = 24 |
---|
3379 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
3380 | | - push {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
3381 | | - .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
3382 | | - mov r8, r2 |
---|
3383 | | - ldr r5, .L454 |
---|
3384 | | - .pad #28 |
---|
3385 | | - sub sp, sp, #28 |
---|
3386 | | - mov r4, r0 |
---|
3387 | | - mov fp, r0 |
---|
3388 | | - ldr r2, .L454+4 |
---|
3389 | | - mov r7, #0 |
---|
3390 | | - ldrh r9, [r5, #12] |
---|
3391 | | - mvn r10, #0 |
---|
3392 | | - ldr r3, [r2] |
---|
3393 | | - str r2, [sp, #4] |
---|
3394 | | - str r3, [sp, #20] |
---|
3395 | | - lsl r3, r9, #3 |
---|
3396 | | - str r3, [sp] |
---|
3397 | | -.L437: |
---|
3398 | | - cmp r7, r8 |
---|
3399 | | - beq .L441 |
---|
3400 | | - add r2, sp, #12 |
---|
3401 | | - add r1, sp, #16 |
---|
3402 | | - mov r0, fp |
---|
| 3697 | + @ args = 0, pretend = 0, frame = 32 |
---|
| 3698 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 3699 | + mov ip, sp |
---|
| 3700 | + push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 3701 | + sub fp, ip, #4 |
---|
| 3702 | + sub sp, sp, #36 |
---|
| 3703 | + push {lr} |
---|
| 3704 | + bl __gnu_mcount_nc |
---|
| 3705 | + mov r3, sp |
---|
| 3706 | + ldr r10, .L407 |
---|
| 3707 | + bic r9, r3, #8128 |
---|
| 3708 | + mov r5, r0 |
---|
| 3709 | + bic r9, r9, #63 |
---|
| 3710 | + mov r7, r2 |
---|
| 3711 | + mov r4, #0 |
---|
| 3712 | + ldr r3, [r9, #24] |
---|
| 3713 | + str r3, [fp, #-48] |
---|
| 3714 | + ldrh r3, [r10, #12] |
---|
| 3715 | + str r3, [fp, #-64] |
---|
| 3716 | + lsl r3, r3, #3 |
---|
| 3717 | + str r3, [fp, #-68] |
---|
| 3718 | + add r3, r2, r2, lsl #2 |
---|
| 3719 | + str r3, [fp, #-72] |
---|
| 3720 | +.L392: |
---|
| 3721 | + ldr r3, [fp, #-72] |
---|
| 3722 | + cmp r4, r3 |
---|
| 3723 | + beq .L395 |
---|
| 3724 | + sub r2, fp, #56 |
---|
| 3725 | + sub r1, fp, #52 |
---|
| 3726 | + add r0, r5, r4, lsl #2 |
---|
| 3727 | + mov r6, r5 |
---|
3403 | 3728 | bl l2p_addr_tran |
---|
3404 | | - ldr r6, [sp, #12] |
---|
3405 | | - cmp r6, #0 |
---|
3406 | | - bne .L438 |
---|
3407 | | - ldr r2, [sp, #16] |
---|
3408 | | - ldr r3, [sp] |
---|
| 3729 | + ldr r8, [fp, #-56] |
---|
| 3730 | + cmp r8, #0 |
---|
| 3731 | + bne .L393 |
---|
| 3732 | + ldr r2, [fp, #-52] |
---|
| 3733 | + ldr r3, [fp, #-68] |
---|
3409 | 3734 | cmp r3, r2 |
---|
3410 | | - bls .L438 |
---|
3411 | | - ldr r5, .L454+8 |
---|
3412 | | - ldr r7, .L454+12 |
---|
3413 | | - ldr r9, .L454+16 |
---|
3414 | | - b .L452 |
---|
3415 | | -.L440: |
---|
| 3735 | + bls .L393 |
---|
| 3736 | + ldr r5, .L407+4 |
---|
| 3737 | + ldr r4, .L407+8 |
---|
| 3738 | +.L394: |
---|
3416 | 3739 | mvn r3, #0 |
---|
3417 | | - ldr r2, [sp, #16] |
---|
3418 | | - str r3, [r4, #-20] |
---|
| 3740 | + ldr r2, [fp, #-52] |
---|
| 3741 | + str r3, [r6] |
---|
3419 | 3742 | mov r1, r5 |
---|
3420 | | - mov r0, r7 |
---|
3421 | | - add r6, r6, #1 |
---|
| 3743 | + mov r0, r4 |
---|
| 3744 | + add r8, r8, #1 |
---|
3422 | 3745 | bl sftl_printk |
---|
| 3746 | + ldr r1, [r6, #8] |
---|
| 3747 | + ldr r0, .L407+12 |
---|
3423 | 3748 | mov r3, #16 |
---|
3424 | 3749 | mov r2, #4 |
---|
3425 | | - ldr r1, [r4, #-12] |
---|
3426 | | - mov r0, r9 |
---|
| 3750 | + add r6, r6, #20 |
---|
3427 | 3751 | bl rknand_print_hex |
---|
3428 | 3752 | mov r3, #4 |
---|
3429 | | - ldr r1, [r4, #-8] |
---|
| 3753 | + ldr r1, [r6, #-8] |
---|
3430 | 3754 | mov r2, r3 |
---|
3431 | | - ldr r0, .L454+20 |
---|
| 3755 | + ldr r0, .L407+16 |
---|
3432 | 3756 | bl rknand_print_hex |
---|
3433 | | -.L452: |
---|
3434 | | - cmp r6, r8 |
---|
3435 | | - add r4, r4, #20 |
---|
3436 | | - bne .L440 |
---|
| 3757 | + cmp r7, r8 |
---|
| 3758 | + bne .L394 |
---|
3437 | 3759 | bl dump_stack |
---|
3438 | | -.L441: |
---|
3439 | | - ldr r3, [sp, #4] |
---|
3440 | | - mov r0, #0 |
---|
3441 | | - ldr r2, [sp, #20] |
---|
3442 | | - ldr r3, [r3] |
---|
| 3760 | +.L395: |
---|
| 3761 | + ldr r2, [fp, #-48] |
---|
| 3762 | + ldr r3, [r9, #24] |
---|
3443 | 3763 | cmp r2, r3 |
---|
3444 | | - beq .L448 |
---|
| 3764 | + beq .L402 |
---|
3445 | 3765 | bl __stack_chk_fail |
---|
3446 | | -.L438: |
---|
3447 | | - ldr r2, [r5, #3248] |
---|
3448 | | - uxtb r0, r6 |
---|
3449 | | - ldr r1, [sp, #16] |
---|
3450 | | - blx r2 |
---|
3451 | | - subs r2, r0, #0 |
---|
3452 | | - movne r2, r10 |
---|
3453 | | - str r2, [fp] |
---|
3454 | | - ldrh r2, [r5, #14] |
---|
3455 | | - cmp r2, #4 |
---|
3456 | | - bne .L445 |
---|
3457 | | - ldr r1, [sp, #16] |
---|
3458 | | - ldr r2, [r5, #3248] |
---|
3459 | | - ldrb r0, [sp, #12] @ zero_extendqisi2 |
---|
3460 | | - add r1, r9, r1 |
---|
| 3766 | +.L393: |
---|
| 3767 | + ldr r2, [r10, #3248] |
---|
| 3768 | + uxtb r0, r8 |
---|
| 3769 | + ldr r1, [fp, #-52] |
---|
3461 | 3770 | blx r2 |
---|
3462 | 3771 | cmp r0, #0 |
---|
3463 | | - strne r10, [fp] |
---|
3464 | | -.L445: |
---|
3465 | | - add r7, r7, #1 |
---|
3466 | | - add fp, fp, #20 |
---|
3467 | | - b .L437 |
---|
3468 | | -.L448: |
---|
3469 | | - add sp, sp, #28 |
---|
3470 | | - @ sp needed |
---|
3471 | | - pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} |
---|
3472 | | -.L455: |
---|
| 3772 | + streq r0, [r5, r4, lsl #2] |
---|
| 3773 | + mvnne r2, #0 |
---|
| 3774 | + strne r2, [r5, r4, lsl #2] |
---|
| 3775 | + ldrh r2, [r10, #14] |
---|
| 3776 | + cmp r2, #4 |
---|
| 3777 | + bne .L399 |
---|
| 3778 | + ldr r1, [fp, #-52] |
---|
| 3779 | + ldr r3, [fp, #-64] |
---|
| 3780 | + ldr r2, [r10, #3248] |
---|
| 3781 | + ldrb r0, [fp, #-56] @ zero_extendqisi2 |
---|
| 3782 | + add r1, r3, r1 |
---|
| 3783 | + blx r2 |
---|
| 3784 | + cmp r0, #0 |
---|
| 3785 | + mvnne r2, #0 |
---|
| 3786 | + strne r2, [r5, r4, lsl #2] |
---|
| 3787 | +.L399: |
---|
| 3788 | + add r4, r4, #5 |
---|
| 3789 | + b .L392 |
---|
| 3790 | +.L402: |
---|
| 3791 | + mov r0, #0 |
---|
| 3792 | + sub sp, fp, #40 |
---|
| 3793 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 3794 | +.L408: |
---|
3473 | 3795 | .align 2 |
---|
3474 | | -.L454: |
---|
| 3796 | +.L407: |
---|
3475 | 3797 | .word .LANCHOR0 |
---|
3476 | | - .word __stack_chk_guard |
---|
3477 | 3798 | .word .LANCHOR1+130 |
---|
3478 | 3799 | .word .LC86 |
---|
3479 | 3800 | .word .LC87 |
---|
3480 | 3801 | .word .LC88 |
---|
3481 | | - .fnend |
---|
3482 | 3802 | .size FlashEraseBlocks, .-FlashEraseBlocks |
---|
3483 | 3803 | .align 2 |
---|
3484 | 3804 | .global FtlFreeSysBlkQueueIn |
---|
.. | .. |
---|
3487 | 3807 | .fpu softvfp |
---|
3488 | 3808 | .type FtlFreeSysBlkQueueIn, %function |
---|
3489 | 3809 | FtlFreeSysBlkQueueIn: |
---|
3490 | | - .fnstart |
---|
3491 | 3810 | @ args = 0, pretend = 0, frame = 0 |
---|
3492 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
| 3811 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 3812 | + mov ip, sp |
---|
| 3813 | + push {r4, r5, r6, r7, fp, ip, lr, pc} |
---|
| 3814 | + sub fp, ip, #4 |
---|
| 3815 | + push {lr} |
---|
| 3816 | + bl __gnu_mcount_nc |
---|
3493 | 3817 | sub r3, r0, #1 |
---|
3494 | 3818 | movw r2, #65533 |
---|
| 3819 | + mov r6, r0 |
---|
3495 | 3820 | uxth r3, r3 |
---|
3496 | 3821 | cmp r3, r2 |
---|
3497 | | - bxhi lr |
---|
3498 | | - push {r4, r5, r6, r7, r8, lr} |
---|
3499 | | - .save {r4, r5, r6, r7, r8, lr} |
---|
3500 | | - ldr r6, .L469 |
---|
3501 | | - add r4, r6, #412 |
---|
| 3822 | + ldmfdhi sp, {r4, r5, r6, r7, fp, sp, pc} |
---|
| 3823 | + ldr r7, .L418 |
---|
| 3824 | + add r4, r7, #412 |
---|
3502 | 3825 | ldrh r3, [r4, #6] |
---|
3503 | 3826 | cmp r3, #1024 |
---|
3504 | | - popeq {r4, r5, r6, r7, r8, pc} |
---|
| 3827 | + ldmfdeq sp, {r4, r5, r6, r7, fp, sp, pc} |
---|
3505 | 3828 | cmp r1, #0 |
---|
3506 | | - mov r5, r0 |
---|
3507 | | - beq .L458 |
---|
| 3829 | + beq .L411 |
---|
3508 | 3830 | bl P2V_block_in_plane |
---|
3509 | | - mov r7, r0 |
---|
3510 | | - ldr r0, [r6, #3268] |
---|
3511 | | - lsl r3, r5, #10 |
---|
| 3831 | + mov r5, r0 |
---|
| 3832 | + ldr r0, [r7, #3268] |
---|
| 3833 | + lsl r3, r6, #10 |
---|
3512 | 3834 | mov r2, #1 |
---|
3513 | 3835 | mov r1, r2 |
---|
3514 | 3836 | str r3, [r0, #4] |
---|
3515 | 3837 | bl FlashEraseBlocks |
---|
3516 | | - ldr r2, [r6, #2536] |
---|
3517 | | - lsl r0, r7, #1 |
---|
3518 | | - ldrh r3, [r2, r0] |
---|
| 3838 | + lsl r3, r5, #1 |
---|
| 3839 | + ldr r1, [r7, #2536] |
---|
| 3840 | + ldrh r2, [r1, r3] |
---|
| 3841 | + add r2, r2, #1 |
---|
| 3842 | + strh r2, [r1, r3] @ movhi |
---|
| 3843 | + ldr r3, [r7, #2608] |
---|
3519 | 3844 | add r3, r3, #1 |
---|
3520 | | - strh r3, [r2, r0] @ movhi |
---|
3521 | | - ldr r3, [r6, #2608] |
---|
3522 | | - add r3, r3, #1 |
---|
3523 | | - str r3, [r6, #2608] |
---|
3524 | | -.L458: |
---|
| 3845 | + str r3, [r7, #2608] |
---|
| 3846 | +.L411: |
---|
3525 | 3847 | ldrh r3, [r4, #6] |
---|
3526 | 3848 | add r3, r3, #1 |
---|
3527 | 3849 | strh r3, [r4, #6] @ movhi |
---|
.. | .. |
---|
3529 | 3851 | add r2, r4, r3, lsl #1 |
---|
3530 | 3852 | add r3, r3, #1 |
---|
3531 | 3853 | ubfx r3, r3, #0, #10 |
---|
3532 | | - strh r5, [r2, #8] @ movhi |
---|
3533 | 3854 | strh r3, [r4, #4] @ movhi |
---|
3534 | | - pop {r4, r5, r6, r7, r8, pc} |
---|
3535 | | -.L470: |
---|
| 3855 | + strh r6, [r2, #8] @ movhi |
---|
| 3856 | + ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} |
---|
| 3857 | +.L419: |
---|
3536 | 3858 | .align 2 |
---|
3537 | | -.L469: |
---|
| 3859 | +.L418: |
---|
3538 | 3860 | .word .LANCHOR0 |
---|
3539 | | - .fnend |
---|
3540 | 3861 | .size FtlFreeSysBlkQueueIn, .-FtlFreeSysBlkQueueIn |
---|
| 3862 | + .section .rodata.str1.1 |
---|
| 3863 | +.LC89: |
---|
| 3864 | + .ascii "FtlFreeSysBlkQueueOut = %x, free count = %d, error\012" |
---|
| 3865 | + .ascii "\000" |
---|
| 3866 | + .text |
---|
3541 | 3867 | .align 2 |
---|
3542 | 3868 | .global FtlFreeSysBlkQueueOut |
---|
3543 | 3869 | .syntax unified |
---|
.. | .. |
---|
3545 | 3871 | .fpu softvfp |
---|
3546 | 3872 | .type FtlFreeSysBlkQueueOut, %function |
---|
3547 | 3873 | FtlFreeSysBlkQueueOut: |
---|
3548 | | - .fnstart |
---|
3549 | 3874 | @ args = 0, pretend = 0, frame = 0 |
---|
3550 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
3551 | | - push {r4, r5, r6, lr} |
---|
3552 | | - .save {r4, r5, r6, lr} |
---|
3553 | | - ldr r6, .L477 |
---|
| 3875 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 3876 | + mov ip, sp |
---|
| 3877 | + push {r4, r5, r6, r7, fp, ip, lr, pc} |
---|
| 3878 | + sub fp, ip, #4 |
---|
| 3879 | + push {lr} |
---|
| 3880 | + bl __gnu_mcount_nc |
---|
| 3881 | + ldr r6, .L425 |
---|
3554 | 3882 | add r4, r6, #412 |
---|
3555 | 3883 | ldrh r2, [r4, #6] |
---|
3556 | 3884 | cmp r2, #0 |
---|
3557 | 3885 | movweq r5, #65535 |
---|
3558 | | - beq .L472 |
---|
| 3886 | + beq .L421 |
---|
3559 | 3887 | ldrh r3, [r4, #2] |
---|
3560 | 3888 | sub r2, r2, #1 |
---|
3561 | 3889 | ldr r0, [r6, #3268] |
---|
.. | .. |
---|
3564 | 3892 | add r1, r4, r3, lsl #1 |
---|
3565 | 3893 | add r3, r3, #1 |
---|
3566 | 3894 | ubfx r3, r3, #0, #10 |
---|
| 3895 | + strh r3, [r4, #2] @ movhi |
---|
3567 | 3896 | ldrh r5, [r1, #8] |
---|
3568 | 3897 | mov r1, r2 |
---|
3569 | | - strh r3, [r4, #2] @ movhi |
---|
3570 | 3898 | lsl r3, r5, #10 |
---|
3571 | 3899 | str r3, [r0, #4] |
---|
3572 | 3900 | bl FlashEraseBlocks |
---|
3573 | 3901 | ldr r3, [r6, #2608] |
---|
| 3902 | + movw r2, #65533 |
---|
3574 | 3903 | add r3, r3, #1 |
---|
3575 | 3904 | str r3, [r6, #2608] |
---|
3576 | | -.L472: |
---|
3577 | 3905 | sub r3, r5, #1 |
---|
3578 | | - movw r2, #65533 |
---|
3579 | 3906 | uxth r3, r3 |
---|
3580 | 3907 | cmp r3, r2 |
---|
3581 | | - bls .L473 |
---|
| 3908 | + bls .L422 |
---|
| 3909 | +.L421: |
---|
3582 | 3910 | ldrh r2, [r4, #6] |
---|
3583 | 3911 | mov r1, r5 |
---|
3584 | | - ldr r0, .L477+4 |
---|
| 3912 | + ldr r0, .L425+4 |
---|
3585 | 3913 | bl sftl_printk |
---|
3586 | | -.L474: |
---|
3587 | | - b .L474 |
---|
3588 | | -.L473: |
---|
| 3914 | +.L423: |
---|
| 3915 | + b .L423 |
---|
| 3916 | +.L422: |
---|
3589 | 3917 | mov r0, r5 |
---|
3590 | | - pop {r4, r5, r6, pc} |
---|
3591 | | -.L478: |
---|
| 3918 | + ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} |
---|
| 3919 | +.L426: |
---|
3592 | 3920 | .align 2 |
---|
3593 | | -.L477: |
---|
| 3921 | +.L425: |
---|
3594 | 3922 | .word .LANCHOR0 |
---|
3595 | 3923 | .word .LC89 |
---|
3596 | | - .fnend |
---|
3597 | 3924 | .size FtlFreeSysBlkQueueOut, .-FtlFreeSysBlkQueueOut |
---|
| 3925 | + .section .rodata.str1.1 |
---|
| 3926 | +.LC90: |
---|
| 3927 | + .ascii "FtlFreeSysBlkQueueOut = %x, free count = %d\012\000" |
---|
| 3928 | + .text |
---|
3598 | 3929 | .align 2 |
---|
3599 | 3930 | .global ftl_map_blk_alloc_new_blk |
---|
3600 | 3931 | .syntax unified |
---|
.. | .. |
---|
3602 | 3933 | .fpu softvfp |
---|
3603 | 3934 | .type ftl_map_blk_alloc_new_blk, %function |
---|
3604 | 3935 | ftl_map_blk_alloc_new_blk: |
---|
3605 | | - .fnstart |
---|
3606 | 3936 | @ args = 0, pretend = 0, frame = 0 |
---|
3607 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
3608 | | - push {r4, r5, r6, r7, r8, lr} |
---|
3609 | | - .save {r4, r5, r6, r7, r8, lr} |
---|
3610 | | - mov r3, #0 |
---|
| 3937 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 3938 | + mov ip, sp |
---|
| 3939 | + push {r4, r5, r6, r7, fp, ip, lr, pc} |
---|
| 3940 | + sub fp, ip, #4 |
---|
| 3941 | + push {lr} |
---|
| 3942 | + bl __gnu_mcount_nc |
---|
3611 | 3943 | ldrh r1, [r0, #10] |
---|
3612 | 3944 | mov r4, r0 |
---|
3613 | 3945 | ldr r2, [r0, #12] |
---|
3614 | | -.L480: |
---|
| 3946 | + mov r3, #0 |
---|
| 3947 | +.L428: |
---|
3615 | 3948 | uxth r5, r3 |
---|
3616 | | - cmp r5, r1 |
---|
3617 | | - bcs .L483 |
---|
| 3949 | + cmp r1, r5 |
---|
| 3950 | + bls .L433 |
---|
3618 | 3951 | mov r7, r2 |
---|
3619 | 3952 | add r3, r3, #1 |
---|
3620 | | - ldrh r6, [r7] |
---|
3621 | 3953 | add r2, r2, #2 |
---|
| 3954 | + ldrh r6, [r7] |
---|
3622 | 3955 | cmp r6, #0 |
---|
3623 | | - bne .L480 |
---|
| 3956 | + bne .L428 |
---|
3624 | 3957 | bl FtlFreeSysBlkQueueOut |
---|
3625 | 3958 | sub r3, r0, #1 |
---|
3626 | 3959 | movw r2, #65533 |
---|
3627 | | - uxth r3, r3 |
---|
3628 | 3960 | mov r1, r0 |
---|
| 3961 | + uxth r3, r3 |
---|
3629 | 3962 | strh r0, [r7] @ movhi |
---|
3630 | 3963 | cmp r3, r2 |
---|
3631 | | - bls .L481 |
---|
3632 | | - ldr r3, .L488 |
---|
3633 | | - ldr r0, .L488+4 |
---|
| 3964 | + bls .L429 |
---|
| 3965 | + ldr r3, .L435 |
---|
| 3966 | + ldr r0, .L435+4 |
---|
3634 | 3967 | ldrh r2, [r3, #6] |
---|
3635 | 3968 | bl sftl_printk |
---|
3636 | | -.L482: |
---|
3637 | | - b .L482 |
---|
3638 | | -.L481: |
---|
| 3969 | +.L430: |
---|
| 3970 | + b .L430 |
---|
| 3971 | +.L429: |
---|
3639 | 3972 | ldr r3, [r4, #28] |
---|
3640 | 3973 | strh r6, [r4, #2] @ movhi |
---|
3641 | | - strh r5, [r4] @ movhi |
---|
3642 | 3974 | add r3, r3, #1 |
---|
3643 | 3975 | str r3, [r4, #28] |
---|
3644 | 3976 | ldrh r3, [r4, #8] |
---|
| 3977 | + strh r5, [r4] @ movhi |
---|
3645 | 3978 | add r3, r3, #1 |
---|
3646 | 3979 | strh r3, [r4, #8] @ movhi |
---|
3647 | | -.L483: |
---|
3648 | 3980 | ldrh r3, [r4, #10] |
---|
3649 | 3981 | cmp r3, r5 |
---|
3650 | | - bhi .L485 |
---|
| 3982 | + bhi .L431 |
---|
| 3983 | +.L433: |
---|
| 3984 | + ldr r1, .L435+8 |
---|
3651 | 3985 | movw r2, #578 |
---|
3652 | | - ldr r1, .L488+8 |
---|
3653 | | - ldr r0, .L488+12 |
---|
| 3986 | + ldr r0, .L435+12 |
---|
3654 | 3987 | bl sftl_printk |
---|
3655 | | -.L485: |
---|
| 3988 | +.L431: |
---|
3656 | 3989 | mov r0, #0 |
---|
3657 | | - pop {r4, r5, r6, r7, r8, pc} |
---|
3658 | | -.L489: |
---|
| 3990 | + ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} |
---|
| 3991 | +.L436: |
---|
3659 | 3992 | .align 2 |
---|
3660 | | -.L488: |
---|
| 3993 | +.L435: |
---|
3661 | 3994 | .word .LANCHOR0+412 |
---|
3662 | 3995 | .word .LC90 |
---|
3663 | 3996 | .word .LANCHOR1+147 |
---|
3664 | 3997 | .word .LC8 |
---|
3665 | | - .fnend |
---|
3666 | 3998 | .size ftl_map_blk_alloc_new_blk, .-ftl_map_blk_alloc_new_blk |
---|
3667 | 3999 | .align 2 |
---|
3668 | 4000 | .global ftl_memset |
---|
.. | .. |
---|
3671 | 4003 | .fpu softvfp |
---|
3672 | 4004 | .type ftl_memset, %function |
---|
3673 | 4005 | ftl_memset: |
---|
3674 | | - .fnstart |
---|
3675 | 4006 | @ args = 0, pretend = 0, frame = 0 |
---|
3676 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
3677 | | - @ link register save eliminated. |
---|
3678 | | - b memset |
---|
3679 | | - .fnend |
---|
| 4007 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 4008 | + mov ip, sp |
---|
| 4009 | + push {fp, ip, lr, pc} |
---|
| 4010 | + sub fp, ip, #4 |
---|
| 4011 | + push {lr} |
---|
| 4012 | + bl __gnu_mcount_nc |
---|
| 4013 | + bl memset |
---|
| 4014 | + ldmfd sp, {fp, sp, pc} |
---|
3680 | 4015 | .size ftl_memset, .-ftl_memset |
---|
| 4016 | + .section .rodata.str1.1 |
---|
| 4017 | +.LC91: |
---|
| 4018 | + .ascii "%s error allocating memory. return -1\012\000" |
---|
| 4019 | + .text |
---|
3681 | 4020 | .align 2 |
---|
3682 | 4021 | .global FtlMemInit |
---|
3683 | 4022 | .syntax unified |
---|
.. | .. |
---|
3685 | 4024 | .fpu softvfp |
---|
3686 | 4025 | .type FtlMemInit, %function |
---|
3687 | 4026 | FtlMemInit: |
---|
3688 | | - .fnstart |
---|
3689 | 4027 | @ args = 0, pretend = 0, frame = 0 |
---|
3690 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
3691 | | - push {r4, r5, r6, r7, r8, r9, r10, lr} |
---|
3692 | | - .save {r4, r5, r6, r7, r8, r9, r10, lr} |
---|
| 4028 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 4029 | + mov ip, sp |
---|
| 4030 | + push {r4, r5, r6, r7, r8, r9, fp, ip, lr, pc} |
---|
| 4031 | + sub fp, ip, #4 |
---|
| 4032 | + push {lr} |
---|
| 4033 | + bl __gnu_mcount_nc |
---|
| 4034 | + ldr r4, .L537 |
---|
3693 | 4035 | movw r3, #65535 |
---|
3694 | | - ldr r4, .L593 |
---|
3695 | | - movw r6, #306 |
---|
3696 | 4036 | mov r2, #32 |
---|
| 4037 | + movw r6, #306 |
---|
3697 | 4038 | mov r5, #0 |
---|
3698 | 4039 | mov r7, #12 |
---|
| 4040 | + mov r8, #80 |
---|
| 4041 | + add r9, r4, #312 |
---|
3699 | 4042 | str r3, [r4, #3276] |
---|
3700 | 4043 | mvn r3, #0 |
---|
3701 | | - ldrh r0, [r4, r6] |
---|
3702 | | - add r9, r4, #312 |
---|
3703 | 4044 | strh r3, [r4, #222] @ movhi |
---|
3704 | 4045 | strh r3, [r4, #220] @ movhi |
---|
3705 | 4046 | add r3, r4, #3152 |
---|
| 4047 | + ldrh r0, [r4, r6] |
---|
| 4048 | + str r5, [r4, #2588] |
---|
3706 | 4049 | strh r2, [r3] @ movhi |
---|
3707 | | - mov r2, #128 |
---|
3708 | 4050 | movw r3, #3154 |
---|
| 4051 | + mov r2, #128 |
---|
3709 | 4052 | lsl r0, r0, #1 |
---|
3710 | 4053 | strh r2, [r4, r3] @ movhi |
---|
3711 | 4054 | movw r3, #3160 |
---|
| 4055 | + str r5, [r4, #2592] |
---|
3712 | 4056 | strh r5, [r4, r3] @ movhi |
---|
3713 | 4057 | movw r3, #3206 |
---|
| 4058 | + str r5, [r4, #2576] |
---|
3714 | 4059 | strh r5, [r4, r3] @ movhi |
---|
3715 | 4060 | movw r3, #3242 |
---|
3716 | | - strh r5, [r4, r3] @ movhi |
---|
3717 | | - str r5, [r4, #2588] |
---|
3718 | | - str r5, [r4, #2592] |
---|
3719 | | - str r5, [r4, #2576] |
---|
3720 | 4061 | str r5, [r4, #2564] |
---|
| 4062 | + strh r5, [r4, r3] @ movhi |
---|
3721 | 4063 | str r5, [r4, #2560] |
---|
3722 | 4064 | str r5, [r4, #2568] |
---|
3723 | 4065 | str r5, [r4, #2572] |
---|
.. | .. |
---|
3735 | 4077 | bl ftl_malloc |
---|
3736 | 4078 | str r0, [r4, #3192] |
---|
3737 | 4079 | ldrh r0, [r4, r6] |
---|
3738 | | - mov r6, #20 |
---|
3739 | 4080 | mul r0, r7, r0 |
---|
3740 | 4081 | bl ftl_malloc |
---|
3741 | | - ldrh r3, [r4, #232] |
---|
| 4082 | + ldrh r6, [r4, #232] |
---|
3742 | 4083 | str r0, [r4, #3200] |
---|
3743 | | - mul r6, r6, r3 |
---|
3744 | | - lsl r8, r6, #2 |
---|
| 4084 | + mul r8, r8, r6 |
---|
3745 | 4085 | mov r0, r8 |
---|
3746 | 4086 | bl ftl_malloc |
---|
| 4087 | + mov r3, #20 |
---|
3747 | 4088 | str r0, [r4, #3288] |
---|
| 4089 | + mul r6, r3, r6 |
---|
3748 | 4090 | mov r0, r6 |
---|
3749 | 4091 | bl ftl_malloc |
---|
3750 | 4092 | str r0, [r4, #3292] |
---|
3751 | 4093 | mov r0, r8 |
---|
| 4094 | + movw r8, #310 |
---|
3752 | 4095 | bl ftl_malloc |
---|
3753 | 4096 | str r0, [r4, #3296] |
---|
3754 | 4097 | mov r0, r6 |
---|
.. | .. |
---|
3757 | 4100 | mov r0, r6 |
---|
3758 | 4101 | bl ftl_malloc |
---|
3759 | 4102 | ldrh r3, [r4, #232] |
---|
3760 | | - movw r8, #310 |
---|
3761 | 4103 | ldrh r6, [r4, r8] |
---|
3762 | 4104 | str r0, [r4, #3184] |
---|
3763 | 4105 | lsl r3, r3, #1 |
---|
.. | .. |
---|
3796 | 4138 | ldrh r0, [r4, r3] |
---|
3797 | 4139 | lsl r0, r0, #2 |
---|
3798 | 4140 | bl ftl_malloc |
---|
3799 | | - ldrh r3, [r9] |
---|
3800 | | - ldrh r6, [r4, #232] |
---|
| 4141 | + ldrh r3, [r4, #232] |
---|
| 4142 | + ldrh r6, [r9] |
---|
3801 | 4143 | str r0, [r4, #3328] |
---|
3802 | | - mul r6, r6, r3 |
---|
| 4144 | + mul r6, r3, r6 |
---|
3803 | 4145 | mov r0, r6 |
---|
3804 | 4146 | bl ftl_malloc |
---|
3805 | 4147 | str r0, [r4, #3332] |
---|
.. | .. |
---|
3819 | 4161 | bl ftl_malloc |
---|
3820 | 4162 | str r0, [r4, #3344] |
---|
3821 | 4163 | ldrh r0, [r4, r6] |
---|
3822 | | - ldr r3, .L593+4 |
---|
3823 | 4164 | add r0, r0, #544 |
---|
3824 | 4165 | add r0, r0, #3 |
---|
3825 | | - lsr r0, r0, #9 |
---|
3826 | | - strh r0, [r4, r6] @ movhi |
---|
3827 | | - and r0, r3, r0, lsl #9 |
---|
| 4166 | + lsr r3, r0, #9 |
---|
| 4167 | + bic r0, r0, #508 |
---|
| 4168 | + bic r0, r0, #3 |
---|
| 4169 | + strh r3, [r4, r6] @ movhi |
---|
3828 | 4170 | bl ftl_malloc |
---|
3829 | 4171 | ldrh r6, [r4, #242] |
---|
3830 | 4172 | str r0, [r4, #3348] |
---|
.. | .. |
---|
3866 | 4208 | mov r1, r5 |
---|
3867 | 4209 | str r0, [r4, #3372] |
---|
3868 | 4210 | movw r5, #338 |
---|
| 4211 | + movw r6, #3388 |
---|
3869 | 4212 | lsl r2, r2, #2 |
---|
3870 | 4213 | bl ftl_memset |
---|
3871 | 4214 | add r3, r4, #336 |
---|
.. | .. |
---|
3881 | 4224 | mul r0, r7, r0 |
---|
3882 | 4225 | bl ftl_malloc |
---|
3883 | 4226 | ldrh r3, [r4, r5] |
---|
3884 | | - movw r5, #3388 |
---|
3885 | 4227 | str r0, [r4, #2540] |
---|
3886 | 4228 | ldrh r0, [r4, r8] |
---|
3887 | 4229 | mul r0, r0, r3 |
---|
.. | .. |
---|
3897 | 4239 | ldrh r3, [r4, #254] |
---|
3898 | 4240 | add r0, r0, #31 |
---|
3899 | 4241 | asr r0, r0, #5 |
---|
3900 | | - strh r0, [r4, r5] @ movhi |
---|
| 4242 | + strh r0, [r4, r6] @ movhi |
---|
3901 | 4243 | mul r0, r0, r3 |
---|
3902 | 4244 | lsl r0, r0, #2 |
---|
3903 | 4245 | bl ftl_malloc |
---|
3904 | | - ldrh r2, [r4, r5] |
---|
3905 | | - add ip, r4, #380 |
---|
3906 | | - ldrh lr, [r4, #254] |
---|
3907 | | - mov r3, #1 |
---|
| 4246 | + ldrh r2, [r4, r6] |
---|
| 4247 | + ldrh r3, [r4, #254] |
---|
| 4248 | + mov r5, r0 |
---|
3908 | 4249 | str r0, [r4, #380] |
---|
3909 | | - lsl r2, r2, #2 |
---|
3910 | | - mov r1, r2 |
---|
3911 | | -.L492: |
---|
3912 | | - cmp r3, lr |
---|
3913 | | - bcc .L493 |
---|
3914 | | - ldr r2, .L593+8 |
---|
| 4250 | + mov r1, #1 |
---|
| 4251 | + lsl ip, r2, #2 |
---|
| 4252 | + add r2, r0, r2, lsl #2 |
---|
| 4253 | + add r0, r4, #384 |
---|
| 4254 | +.L439: |
---|
| 4255 | + cmp r3, r1 |
---|
| 4256 | + bhi .L440 |
---|
| 4257 | + cmp r3, #0 |
---|
| 4258 | + ldr r0, .L537+4 |
---|
3915 | 4259 | mov r1, #0 |
---|
3916 | | - add r3, r2, r3, lsl #2 |
---|
3917 | | - add r2, r2, #56 |
---|
3918 | | - add r3, r3, #24 |
---|
3919 | | -.L494: |
---|
3920 | | - cmp r2, r3 |
---|
3921 | | - bne .L495 |
---|
| 4260 | + moveq r3, #1 |
---|
| 4261 | + rsb r2, r3, #8 |
---|
| 4262 | + add r3, r3, #7 |
---|
| 4263 | + lsl r2, r2, #2 |
---|
| 4264 | + add r0, r0, r3, lsl #2 |
---|
| 4265 | + bl memset |
---|
3922 | 4266 | ldr r3, [r4, #3356] |
---|
3923 | 4267 | cmp r3, #0 |
---|
3924 | | - bne .L496 |
---|
3925 | | -.L498: |
---|
3926 | | - ldr r1, .L593+12 |
---|
3927 | | - ldr r0, .L593+16 |
---|
| 4268 | + bne .L441 |
---|
| 4269 | +.L443: |
---|
| 4270 | + ldr r1, .L537+8 |
---|
| 4271 | + ldr r0, .L537+12 |
---|
3928 | 4272 | bl sftl_printk |
---|
3929 | 4273 | mvn r0, #0 |
---|
3930 | | - pop {r4, r5, r6, r7, r8, r9, r10, pc} |
---|
3931 | | -.L493: |
---|
3932 | | - ldr r0, [r4, #380] |
---|
3933 | | - add r3, r3, #1 |
---|
3934 | | - add r0, r0, r1 |
---|
3935 | | - add r1, r1, r2 |
---|
3936 | | - str r0, [ip, #4]! |
---|
3937 | | - b .L492 |
---|
3938 | | -.L495: |
---|
3939 | | - str r1, [r3, #4]! |
---|
3940 | | - b .L494 |
---|
3941 | | -.L496: |
---|
| 4274 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, fp, sp, pc} |
---|
| 4275 | +.L440: |
---|
| 4276 | + str r2, [r0], #4 |
---|
| 4277 | + add r1, r1, #1 |
---|
| 4278 | + add r2, r2, ip |
---|
| 4279 | + b .L439 |
---|
| 4280 | +.L441: |
---|
3942 | 4281 | ldr r3, [r4, #3360] |
---|
3943 | 4282 | cmp r3, #0 |
---|
3944 | | - beq .L498 |
---|
| 4283 | + beq .L443 |
---|
3945 | 4284 | ldr r3, [r4, #3376] |
---|
3946 | 4285 | cmp r3, #0 |
---|
3947 | | - beq .L498 |
---|
| 4286 | + beq .L443 |
---|
3948 | 4287 | ldr r3, [r4, #3380] |
---|
3949 | 4288 | cmp r3, #0 |
---|
3950 | | - beq .L498 |
---|
| 4289 | + beq .L443 |
---|
3951 | 4290 | ldr r3, [r4, #2540] |
---|
3952 | 4291 | cmp r3, #0 |
---|
3953 | | - beq .L498 |
---|
| 4292 | + beq .L443 |
---|
3954 | 4293 | ldr r3, [r4, #3384] |
---|
3955 | 4294 | cmp r3, #0 |
---|
3956 | | - beq .L498 |
---|
| 4295 | + beq .L443 |
---|
3957 | 4296 | ldr r3, [r4, #2516] |
---|
3958 | 4297 | cmp r3, #0 |
---|
3959 | | - beq .L498 |
---|
3960 | | - ldr r3, [r4, #380] |
---|
3961 | | - cmp r3, #0 |
---|
3962 | | - beq .L498 |
---|
| 4298 | + beq .L443 |
---|
| 4299 | + cmp r5, #0 |
---|
| 4300 | + beq .L443 |
---|
3963 | 4301 | ldr r3, [r4, #72] |
---|
3964 | 4302 | cmp r3, #0 |
---|
3965 | | - beq .L498 |
---|
| 4303 | + beq .L443 |
---|
3966 | 4304 | ldr r3, [r4, #3192] |
---|
3967 | 4305 | cmp r3, #0 |
---|
3968 | | - beq .L498 |
---|
| 4306 | + beq .L443 |
---|
3969 | 4307 | ldr r3, [r4, #3200] |
---|
3970 | 4308 | cmp r3, #0 |
---|
3971 | | - beq .L498 |
---|
| 4309 | + beq .L443 |
---|
3972 | 4310 | ldr r3, [r4, #3288] |
---|
3973 | 4311 | cmp r3, #0 |
---|
3974 | | - beq .L498 |
---|
| 4312 | + beq .L443 |
---|
3975 | 4313 | ldr r3, [r4, #3296] |
---|
3976 | 4314 | cmp r3, #0 |
---|
3977 | | - beq .L498 |
---|
| 4315 | + beq .L443 |
---|
3978 | 4316 | ldr r3, [r4, #3268] |
---|
3979 | 4317 | cmp r3, #0 |
---|
3980 | | - beq .L498 |
---|
| 4318 | + beq .L443 |
---|
3981 | 4319 | ldr r3, [r4, #3184] |
---|
3982 | 4320 | cmp r3, #0 |
---|
3983 | | - beq .L498 |
---|
| 4321 | + beq .L443 |
---|
3984 | 4322 | ldr r3, [r4, #3292] |
---|
3985 | 4323 | cmp r3, #0 |
---|
3986 | | - beq .L498 |
---|
| 4324 | + beq .L443 |
---|
3987 | 4325 | ldr r3, [r4, #3300] |
---|
3988 | 4326 | cmp r3, #0 |
---|
3989 | | - beq .L498 |
---|
| 4327 | + beq .L443 |
---|
3990 | 4328 | ldr r3, [r4, #3304] |
---|
3991 | 4329 | cmp r3, #0 |
---|
3992 | | - beq .L498 |
---|
| 4330 | + beq .L443 |
---|
3993 | 4331 | ldr r3, [r4, #3308] |
---|
3994 | 4332 | cmp r3, #0 |
---|
3995 | | - beq .L498 |
---|
| 4333 | + beq .L443 |
---|
3996 | 4334 | ldr r3, [r4, #3176] |
---|
3997 | 4335 | cmp r3, #0 |
---|
3998 | | - beq .L498 |
---|
| 4336 | + beq .L443 |
---|
3999 | 4337 | ldr r3, [r4, #3312] |
---|
4000 | 4338 | cmp r3, #0 |
---|
4001 | | - beq .L498 |
---|
| 4339 | + beq .L443 |
---|
4002 | 4340 | ldr r3, [r4, #3316] |
---|
4003 | 4341 | cmp r3, #0 |
---|
4004 | | - beq .L498 |
---|
| 4342 | + beq .L443 |
---|
4005 | 4343 | ldr r3, [r4, #3172] |
---|
4006 | 4344 | cmp r3, #0 |
---|
4007 | | - beq .L498 |
---|
| 4345 | + beq .L443 |
---|
4008 | 4346 | ldr r3, [r4, #3332] |
---|
4009 | 4347 | cmp r3, #0 |
---|
4010 | | - beq .L498 |
---|
| 4348 | + beq .L443 |
---|
4011 | 4349 | ldr r3, [r4, #3336] |
---|
4012 | 4350 | cmp r3, #0 |
---|
4013 | | - beq .L498 |
---|
| 4351 | + beq .L443 |
---|
4014 | 4352 | ldr r3, [r4, #3180] |
---|
4015 | 4353 | cmp r3, #0 |
---|
4016 | | - beq .L498 |
---|
| 4354 | + beq .L443 |
---|
4017 | 4355 | ldr r3, [r4, #2536] |
---|
4018 | 4356 | cmp r3, #0 |
---|
4019 | | - beq .L498 |
---|
| 4357 | + beq .L443 |
---|
4020 | 4358 | ldr r3, [r4, #3344] |
---|
4021 | 4359 | cmp r3, #0 |
---|
4022 | | - beq .L498 |
---|
| 4360 | + beq .L443 |
---|
4023 | 4361 | ldr r3, [r4, #348] |
---|
4024 | 4362 | cmp r3, #0 |
---|
4025 | | - beq .L498 |
---|
4026 | | - ldr r3, .L593 |
---|
| 4363 | + beq .L443 |
---|
| 4364 | + ldr r3, .L537 |
---|
4027 | 4365 | ldr r2, [r3, #3364] |
---|
4028 | 4366 | cmp r2, #0 |
---|
4029 | | - beq .L498 |
---|
| 4367 | + beq .L443 |
---|
4030 | 4368 | ldr r2, [r3, #3368] |
---|
4031 | 4369 | cmp r2, #0 |
---|
4032 | | - beq .L498 |
---|
| 4370 | + beq .L443 |
---|
4033 | 4371 | ldr r3, [r3, #3372] |
---|
4034 | 4372 | cmp r3, #0 |
---|
4035 | | - beq .L498 |
---|
| 4373 | + beq .L443 |
---|
4036 | 4374 | mov r0, #0 |
---|
4037 | | - pop {r4, r5, r6, r7, r8, r9, r10, pc} |
---|
4038 | | -.L594: |
---|
| 4375 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, fp, sp, pc} |
---|
| 4376 | +.L538: |
---|
4039 | 4377 | .align 2 |
---|
4040 | | -.L593: |
---|
| 4378 | +.L537: |
---|
4041 | 4379 | .word .LANCHOR0 |
---|
4042 | | - .word 33553920 |
---|
4043 | 4380 | .word .LANCHOR0+352 |
---|
4044 | 4381 | .word .LANCHOR1+173 |
---|
4045 | 4382 | .word .LC91 |
---|
4046 | | - .fnend |
---|
4047 | 4383 | .size FtlMemInit, .-FtlMemInit |
---|
4048 | 4384 | .align 2 |
---|
4049 | 4385 | .global FtlBbt2Bitmap |
---|
.. | .. |
---|
4052 | 4388 | .fpu softvfp |
---|
4053 | 4389 | .type FtlBbt2Bitmap, %function |
---|
4054 | 4390 | FtlBbt2Bitmap: |
---|
4055 | | - .fnstart |
---|
4056 | 4391 | @ args = 0, pretend = 0, frame = 0 |
---|
4057 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
4058 | | - ldr r2, .L602 |
---|
| 4392 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 4393 | + mov ip, sp |
---|
| 4394 | + push {r4, r5, r6, r7, r8, r9, fp, ip, lr, pc} |
---|
| 4395 | + sub fp, ip, #4 |
---|
| 4396 | + push {lr} |
---|
| 4397 | + bl __gnu_mcount_nc |
---|
| 4398 | + ldr r2, .L544 |
---|
4059 | 4399 | movw r3, #3388 |
---|
4060 | | - push {r4, r5, r6, r7, r8, r9, r10, lr} |
---|
4061 | | - .save {r4, r5, r6, r7, r8, r9, r10, lr} |
---|
4062 | 4400 | mov r4, r0 |
---|
4063 | | - ldr r7, .L602+4 |
---|
4064 | | - sub r5, r4, #2 |
---|
| 4401 | + ldr r7, .L544+4 |
---|
| 4402 | + sub r6, r4, #2 |
---|
| 4403 | + ldr r8, .L544+8 |
---|
4065 | 4404 | add r4, r4, #1020 |
---|
4066 | | - mov r6, r1 |
---|
| 4405 | + mov r5, r1 |
---|
4067 | 4406 | ldrh r2, [r2, r3] |
---|
4068 | 4407 | add r4, r4, #2 |
---|
4069 | | - ldr r8, .L602+8 |
---|
| 4408 | + mov r0, r5 |
---|
4070 | 4409 | mov r1, #0 |
---|
4071 | | - ldr r9, .L602+12 |
---|
4072 | | - mov r0, r6 |
---|
4073 | 4410 | lsl r2, r2, #2 |
---|
4074 | 4411 | bl ftl_memset |
---|
4075 | | -.L598: |
---|
4076 | | - ldrh r3, [r5, #2] |
---|
| 4412 | +.L542: |
---|
| 4413 | + ldrh r3, [r6, #2]! |
---|
4077 | 4414 | movw r2, #65535 |
---|
4078 | 4415 | cmp r3, r2 |
---|
4079 | | - popeq {r4, r5, r6, r7, r8, r9, r10, pc} |
---|
| 4416 | + ldmfdeq sp, {r4, r5, r6, r7, r8, r9, fp, sp, pc} |
---|
4080 | 4417 | ldrh r2, [r7] |
---|
4081 | 4418 | cmp r2, r3 |
---|
4082 | | - bhi .L597 |
---|
4083 | | - mov r2, #74 |
---|
| 4419 | + bhi .L541 |
---|
| 4420 | + ldr r0, .L544+12 |
---|
4084 | 4421 | mov r1, r8 |
---|
4085 | | - mov r0, r9 |
---|
| 4422 | + mov r2, #74 |
---|
4086 | 4423 | bl sftl_printk |
---|
4087 | | -.L597: |
---|
4088 | | - ldrh r3, [r5, #2]! |
---|
| 4424 | +.L541: |
---|
| 4425 | + ldrh r3, [r6] |
---|
4089 | 4426 | mov r0, #1 |
---|
4090 | | - cmp r4, r5 |
---|
| 4427 | + cmp r4, r6 |
---|
4091 | 4428 | lsr r1, r3, #5 |
---|
4092 | 4429 | and r3, r3, #31 |
---|
4093 | | - ldr r2, [r6, r1, lsl #2] |
---|
| 4430 | + ldr r2, [r5, r1, lsl #2] |
---|
4094 | 4431 | orr r3, r2, r0, lsl r3 |
---|
4095 | | - str r3, [r6, r1, lsl #2] |
---|
4096 | | - bne .L598 |
---|
4097 | | - pop {r4, r5, r6, r7, r8, r9, r10, pc} |
---|
4098 | | -.L603: |
---|
| 4432 | + str r3, [r5, r1, lsl #2] |
---|
| 4433 | + bne .L542 |
---|
| 4434 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, fp, sp, pc} |
---|
| 4435 | +.L545: |
---|
4099 | 4436 | .align 2 |
---|
4100 | | -.L602: |
---|
| 4437 | +.L544: |
---|
4101 | 4438 | .word .LANCHOR0 |
---|
4102 | 4439 | .word .LANCHOR0+298 |
---|
4103 | 4440 | .word .LANCHOR1+184 |
---|
4104 | 4441 | .word .LC8 |
---|
4105 | | - .fnend |
---|
4106 | 4442 | .size FtlBbt2Bitmap, .-FtlBbt2Bitmap |
---|
4107 | 4443 | .align 2 |
---|
4108 | 4444 | .global FtlBbtMemInit |
---|
.. | .. |
---|
4111 | 4447 | .fpu softvfp |
---|
4112 | 4448 | .type FtlBbtMemInit, %function |
---|
4113 | 4449 | FtlBbtMemInit: |
---|
4114 | | - .fnstart |
---|
4115 | 4450 | @ args = 0, pretend = 0, frame = 0 |
---|
4116 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
4117 | | - @ link register save eliminated. |
---|
4118 | | - ldr r0, .L605 |
---|
| 4451 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 4452 | + mov ip, sp |
---|
| 4453 | + push {fp, ip, lr, pc} |
---|
| 4454 | + sub fp, ip, #4 |
---|
| 4455 | + push {lr} |
---|
| 4456 | + bl __gnu_mcount_nc |
---|
| 4457 | + ldr r0, .L547 |
---|
4119 | 4458 | mvn r2, #0 |
---|
4120 | 4459 | mov r1, #255 |
---|
4121 | 4460 | add r3, r0, #352 |
---|
.. | .. |
---|
4124 | 4463 | mov r2, #0 |
---|
4125 | 4464 | strh r2, [r3, #6] @ movhi |
---|
4126 | 4465 | mov r2, #16 |
---|
4127 | | - b ftl_memset |
---|
4128 | | -.L606: |
---|
| 4466 | + bl ftl_memset |
---|
| 4467 | + ldmfd sp, {fp, sp, pc} |
---|
| 4468 | +.L548: |
---|
4129 | 4469 | .align 2 |
---|
4130 | | -.L605: |
---|
| 4470 | +.L547: |
---|
4131 | 4471 | .word .LANCHOR0 |
---|
4132 | | - .fnend |
---|
4133 | 4472 | .size FtlBbtMemInit, .-FtlBbtMemInit |
---|
4134 | 4473 | .align 2 |
---|
4135 | 4474 | .global FtlFreeSysBlkQueueInit |
---|
.. | .. |
---|
4138 | 4477 | .fpu softvfp |
---|
4139 | 4478 | .type FtlFreeSysBlkQueueInit, %function |
---|
4140 | 4479 | FtlFreeSysBlkQueueInit: |
---|
4141 | | - .fnstart |
---|
4142 | 4480 | @ args = 0, pretend = 0, frame = 0 |
---|
4143 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
4144 | | - ldr ip, .L609 |
---|
4145 | | - mov r2, #2048 |
---|
4146 | | - push {r4, lr} |
---|
4147 | | - .save {r4, lr} |
---|
| 4481 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 4482 | + mov ip, sp |
---|
| 4483 | + push {r4, r5, fp, ip, lr, pc} |
---|
| 4484 | + sub fp, ip, #4 |
---|
| 4485 | + push {lr} |
---|
| 4486 | + bl __gnu_mcount_nc |
---|
| 4487 | + ldr ip, .L550 |
---|
4148 | 4488 | mov r4, #0 |
---|
| 4489 | + mov r2, #2048 |
---|
4149 | 4490 | mov r1, r4 |
---|
4150 | 4491 | add r3, ip, #412 |
---|
4151 | 4492 | strh r0, [r3] @ movhi |
---|
.. | .. |
---|
4155 | 4496 | strh r4, [r3, #6] @ movhi |
---|
4156 | 4497 | bl ftl_memset |
---|
4157 | 4498 | mov r0, r4 |
---|
4158 | | - pop {r4, pc} |
---|
4159 | | -.L610: |
---|
| 4499 | + ldmfd sp, {r4, r5, fp, sp, pc} |
---|
| 4500 | +.L551: |
---|
4160 | 4501 | .align 2 |
---|
4161 | | -.L609: |
---|
| 4502 | +.L550: |
---|
4162 | 4503 | .word .LANCHOR0 |
---|
4163 | | - .fnend |
---|
4164 | 4504 | .size FtlFreeSysBlkQueueInit, .-FtlFreeSysBlkQueueInit |
---|
4165 | 4505 | .align 2 |
---|
4166 | 4506 | .global ftl_free_no_use_map_blk |
---|
.. | .. |
---|
4169 | 4509 | .fpu softvfp |
---|
4170 | 4510 | .type ftl_free_no_use_map_blk, %function |
---|
4171 | 4511 | ftl_free_no_use_map_blk: |
---|
4172 | | - .fnstart |
---|
4173 | | - @ args = 0, pretend = 0, frame = 0 |
---|
4174 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
4175 | | - push {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
4176 | | - .save {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
4177 | | - mov r1, #0 |
---|
| 4512 | + @ args = 0, pretend = 0, frame = 8 |
---|
| 4513 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 4514 | + mov ip, sp |
---|
| 4515 | + push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 4516 | + sub fp, ip, #4 |
---|
| 4517 | + sub sp, sp, #12 |
---|
| 4518 | + push {lr} |
---|
| 4519 | + bl __gnu_mcount_nc |
---|
4178 | 4520 | ldrh r2, [r0, #10] |
---|
4179 | 4521 | mov r4, r0 |
---|
4180 | 4522 | ldr r5, [r0, #20] |
---|
4181 | | - ldr r7, [r0, #12] |
---|
| 4523 | + mov r1, #0 |
---|
| 4524 | + ldr r8, [r0, #12] |
---|
4182 | 4525 | ldr r6, [r0, #24] |
---|
4183 | 4526 | lsl r2, r2, #1 |
---|
4184 | 4527 | mov r0, r5 |
---|
4185 | 4528 | bl ftl_memset |
---|
4186 | 4529 | mov r2, #0 |
---|
4187 | | -.L612: |
---|
| 4530 | +.L553: |
---|
4188 | 4531 | ldrh r1, [r4, #6] |
---|
4189 | 4532 | uxth r3, r2 |
---|
4190 | 4533 | cmp r1, r3 |
---|
4191 | | - bhi .L616 |
---|
4192 | | - ldr r3, .L632 |
---|
4193 | | - mov r6, #0 |
---|
4194 | | - mov r8, r6 |
---|
4195 | | - mov r10, r6 |
---|
| 4534 | + bhi .L557 |
---|
| 4535 | + ldr r3, .L570 |
---|
| 4536 | + mov r7, #0 |
---|
| 4537 | + mov r10, r7 |
---|
4196 | 4538 | ldrh r2, [r3] |
---|
4197 | 4539 | ldrh r3, [r4] |
---|
4198 | 4540 | lsl r3, r3, #1 |
---|
4199 | 4541 | strh r2, [r5, r3] @ movhi |
---|
4200 | | - ldrh r9, [r5] |
---|
4201 | | -.L617: |
---|
4202 | | - ldrh r3, [r4, #10] |
---|
4203 | | - uxth r1, r6 |
---|
4204 | | - cmp r3, r1 |
---|
4205 | | - bhi .L621 |
---|
4206 | | - mov r0, r8 |
---|
4207 | | - pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} |
---|
4208 | | -.L616: |
---|
| 4542 | + ldrh r3, [r5] |
---|
| 4543 | +.L558: |
---|
| 4544 | + ldrh r1, [r4, #10] |
---|
| 4545 | + uxth r2, r7 |
---|
| 4546 | + cmp r1, r2 |
---|
| 4547 | + bhi .L561 |
---|
| 4548 | + mov r0, r10 |
---|
| 4549 | + sub sp, fp, #40 |
---|
| 4550 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 4551 | +.L557: |
---|
4209 | 4552 | uxth r3, r2 |
---|
4210 | 4553 | mov r1, #0 |
---|
4211 | 4554 | ldr r0, [r6, r3, lsl #2] |
---|
4212 | 4555 | ubfx r0, r0, #10, #16 |
---|
4213 | | -.L613: |
---|
| 4556 | +.L554: |
---|
4214 | 4557 | ldrh ip, [r4, #10] |
---|
4215 | 4558 | uxth r3, r1 |
---|
4216 | 4559 | cmp ip, r3 |
---|
4217 | 4560 | addls r2, r2, #1 |
---|
4218 | | - bls .L612 |
---|
4219 | | -.L615: |
---|
| 4561 | + bls .L553 |
---|
| 4562 | +.L556: |
---|
4220 | 4563 | uxth r3, r1 |
---|
4221 | 4564 | add r1, r1, #1 |
---|
4222 | 4565 | lsl r3, r3, #1 |
---|
4223 | | - ldrh ip, [r7, r3] |
---|
4224 | | - adds lr, ip, #0 |
---|
| 4566 | + ldrh ip, [r8, r3] |
---|
| 4567 | + subs lr, ip, #0 |
---|
4225 | 4568 | movne lr, #1 |
---|
4226 | | - cmp r0, ip |
---|
| 4569 | + cmp ip, r0 |
---|
4227 | 4570 | movne lr, #0 |
---|
4228 | 4571 | cmp lr, #0 |
---|
4229 | 4572 | ldrhne ip, [r5, r3] |
---|
4230 | 4573 | addne ip, ip, #1 |
---|
4231 | 4574 | strhne ip, [r5, r3] @ movhi |
---|
4232 | | - b .L613 |
---|
4233 | | -.L621: |
---|
4234 | | - uxth r3, r6 |
---|
4235 | | - lsl r3, r3, #1 |
---|
4236 | | - ldrh r2, [r5, r3] |
---|
4237 | | - cmp r9, r2 |
---|
4238 | | - bls .L618 |
---|
4239 | | - ldrh r0, [r7, r3] |
---|
4240 | | - add fp, r7, r3 |
---|
| 4575 | + b .L554 |
---|
| 4576 | +.L561: |
---|
| 4577 | + uxth r6, r7 |
---|
| 4578 | + lsl r6, r6, #1 |
---|
| 4579 | + ldrh r9, [r5, r6] |
---|
| 4580 | + cmp r9, r3 |
---|
| 4581 | + bcs .L559 |
---|
| 4582 | + ldrh r1, [r8, r6] |
---|
| 4583 | + cmp r1, #0 |
---|
| 4584 | + movne r10, r2 |
---|
| 4585 | + movne r3, r9 |
---|
| 4586 | +.L559: |
---|
| 4587 | + cmp r9, #0 |
---|
| 4588 | + bne .L560 |
---|
| 4589 | + ldrh r0, [r8, r6] |
---|
4241 | 4590 | cmp r0, #0 |
---|
4242 | | - bne .L619 |
---|
4243 | | -.L620: |
---|
4244 | | - add r6, r6, #1 |
---|
4245 | | - b .L617 |
---|
4246 | | -.L618: |
---|
4247 | | - cmp r2, #0 |
---|
4248 | | - bne .L620 |
---|
4249 | | - ldrh r0, [r7, r3] |
---|
4250 | | - add fp, r7, r3 |
---|
4251 | | - cmp r0, #0 |
---|
4252 | | - beq .L620 |
---|
4253 | | -.L622: |
---|
| 4591 | + beq .L560 |
---|
4254 | 4592 | mov r1, #1 |
---|
| 4593 | + str r3, [fp, #-48] |
---|
4255 | 4594 | bl FtlFreeSysBlkQueueIn |
---|
4256 | | - strh r10, [fp] @ movhi |
---|
4257 | | - ldrh r3, [r4, #8] |
---|
4258 | | - sub r3, r3, #1 |
---|
4259 | | - strh r3, [r4, #8] @ movhi |
---|
4260 | | - b .L620 |
---|
4261 | | -.L619: |
---|
4262 | | - subs r9, r2, #0 |
---|
4263 | | - mov r8, r1 |
---|
4264 | | - beq .L622 |
---|
4265 | | - b .L620 |
---|
4266 | | -.L633: |
---|
| 4595 | + strh r9, [r8, r6] @ movhi |
---|
| 4596 | + ldr r3, [fp, #-48] |
---|
| 4597 | + ldrh r2, [r4, #8] |
---|
| 4598 | + sub r2, r2, #1 |
---|
| 4599 | + strh r2, [r4, #8] @ movhi |
---|
| 4600 | +.L560: |
---|
| 4601 | + add r7, r7, #1 |
---|
| 4602 | + b .L558 |
---|
| 4603 | +.L571: |
---|
4267 | 4604 | .align 2 |
---|
4268 | | -.L632: |
---|
| 4605 | +.L570: |
---|
4269 | 4606 | .word .LANCHOR0+304 |
---|
4270 | | - .fnend |
---|
4271 | 4607 | .size ftl_free_no_use_map_blk, .-ftl_free_no_use_map_blk |
---|
4272 | 4608 | .align 2 |
---|
4273 | 4609 | .global FtlL2PDataInit |
---|
.. | .. |
---|
4276 | 4612 | .fpu softvfp |
---|
4277 | 4613 | .type FtlL2PDataInit, %function |
---|
4278 | 4614 | FtlL2PDataInit: |
---|
4279 | | - .fnstart |
---|
4280 | 4615 | @ args = 0, pretend = 0, frame = 0 |
---|
4281 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
4282 | | - push {r4, r5, r6, r7, r8, lr} |
---|
4283 | | - .save {r4, r5, r6, r7, r8, lr} |
---|
| 4616 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 4617 | + mov ip, sp |
---|
| 4618 | + push {r4, r5, r6, r7, r8, r9, fp, ip, lr, pc} |
---|
| 4619 | + sub fp, ip, #4 |
---|
| 4620 | + push {lr} |
---|
| 4621 | + bl __gnu_mcount_nc |
---|
| 4622 | + ldr r4, .L575 |
---|
4284 | 4623 | mov r1, #0 |
---|
4285 | | - ldr r4, .L638 |
---|
4286 | | - mvn r5, #0 |
---|
| 4624 | + mvn r6, #0 |
---|
4287 | 4625 | ldr r2, [r4, #328] |
---|
4288 | 4626 | ldr r0, [r4, #3360] |
---|
4289 | 4627 | lsl r2, r2, #1 |
---|
4290 | 4628 | bl ftl_memset |
---|
4291 | 4629 | movw r3, #310 |
---|
4292 | 4630 | movw r2, #338 |
---|
| 4631 | + ldr r0, [r4, #3384] |
---|
4293 | 4632 | ldrh r3, [r4, r3] |
---|
4294 | 4633 | mov r1, #255 |
---|
4295 | 4634 | ldrh r2, [r4, r2] |
---|
4296 | | - ldr r0, [r4, #3384] |
---|
4297 | 4635 | mul r2, r2, r3 |
---|
4298 | 4636 | bl ftl_memset |
---|
4299 | | - ldr r0, .L638+4 |
---|
4300 | | - mov r2, #0 |
---|
4301 | | - mov r3, r4 |
---|
| 4637 | + ldr ip, .L575+4 |
---|
| 4638 | + mov r3, #0 |
---|
| 4639 | + mov r5, r3 |
---|
| 4640 | + sub r7, ip, #28 |
---|
4302 | 4641 | mov lr, #12 |
---|
4303 | | - mov r4, r2 |
---|
4304 | | - sub r6, r0, #28 |
---|
4305 | | -.L635: |
---|
4306 | | - ldrh r7, [r0] |
---|
4307 | | - uxth r1, r2 |
---|
4308 | | - add ip, r2, #1 |
---|
4309 | | - cmp r7, r1 |
---|
4310 | | - bhi .L636 |
---|
4311 | | - ldr r2, .L638+8 |
---|
4312 | | - mvn r1, #0 |
---|
4313 | | - strh r1, [r2, #2] @ movhi |
---|
4314 | | - strh r1, [r2] @ movhi |
---|
4315 | | - ldr r1, [r3, #328] |
---|
4316 | | - strh r1, [r2, #10] @ movhi |
---|
4317 | | - ldr r1, .L638+12 |
---|
4318 | | - strh r1, [r2, #4] @ movhi |
---|
4319 | | - movw r1, #3436 |
---|
4320 | | - ldrh r1, [r3, r1] |
---|
4321 | | - strh r1, [r2, #8] @ movhi |
---|
4322 | | - sub r1, r2, #3056 |
---|
4323 | | - ldrh r1, [r1] |
---|
4324 | | - strh r1, [r2, #6] @ movhi |
---|
4325 | | - ldr r2, [r3, #3356] |
---|
4326 | | - str r2, [r3, #3404] |
---|
4327 | | - ldr r2, [r3, #3380] |
---|
4328 | | - str r2, [r3, #3408] |
---|
4329 | | - ldr r2, [r3, #3360] |
---|
4330 | | - str r2, [r3, #3412] |
---|
4331 | | - ldr r2, [r3, #3376] |
---|
4332 | | - str r2, [r3, #3416] |
---|
4333 | | - pop {r4, r5, r6, r7, r8, pc} |
---|
4334 | | -.L636: |
---|
4335 | | - uxth r2, r2 |
---|
4336 | | - ldr r1, [r3, #2540] |
---|
4337 | | - mul r7, lr, r2 |
---|
4338 | | - add r8, r1, r7 |
---|
4339 | | - str r4, [r8, #4] |
---|
4340 | | - strh r5, [r1, r7] @ movhi |
---|
4341 | | - ldr r1, [r3, #2540] |
---|
4342 | | - add r1, r1, r7 |
---|
4343 | | - ldrh r7, [r6] |
---|
4344 | | - mul r2, r2, r7 |
---|
4345 | | - ldr r7, [r3, #3384] |
---|
| 4642 | +.L573: |
---|
| 4643 | + ldrh r1, [ip] |
---|
| 4644 | + uxth r2, r3 |
---|
| 4645 | + cmp r1, r2 |
---|
| 4646 | + bhi .L574 |
---|
| 4647 | + ldr r3, .L575+8 |
---|
| 4648 | + ldr r2, [r4, #328] |
---|
| 4649 | + strh r2, [r3, #10] @ movhi |
---|
| 4650 | + mvn r2, #0 |
---|
| 4651 | + str r2, [r4, #3392] |
---|
| 4652 | + ldr r2, .L575+12 |
---|
| 4653 | + strh r2, [r3, #4] @ movhi |
---|
| 4654 | + movw r2, #3436 |
---|
| 4655 | + ldrh r2, [r4, r2] |
---|
| 4656 | + strh r2, [r3, #8] @ movhi |
---|
| 4657 | + sub r2, r3, #3056 |
---|
| 4658 | + ldrh r2, [r2] |
---|
| 4659 | + strh r2, [r3, #6] @ movhi |
---|
| 4660 | + ldr r3, [r4, #3356] |
---|
| 4661 | + str r3, [r4, #3404] |
---|
| 4662 | + ldr r3, [r4, #3380] |
---|
| 4663 | + str r3, [r4, #3408] |
---|
| 4664 | + ldr r3, [r4, #3360] |
---|
| 4665 | + str r3, [r4, #3412] |
---|
| 4666 | + ldr r3, [r4, #3376] |
---|
| 4667 | + str r3, [r4, #3416] |
---|
| 4668 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, fp, sp, pc} |
---|
| 4669 | +.L574: |
---|
| 4670 | + uxth r0, r3 |
---|
| 4671 | + ldr r2, [r4, #2540] |
---|
| 4672 | + add r3, r3, #1 |
---|
| 4673 | + mul r1, lr, r0 |
---|
| 4674 | + add r8, r2, r1 |
---|
| 4675 | + str r5, [r8, #4] |
---|
| 4676 | + strh r6, [r2, r1] @ movhi |
---|
| 4677 | + ldr r2, [r4, #2540] |
---|
| 4678 | + add r1, r2, r1 |
---|
| 4679 | + ldrh r2, [r7] |
---|
| 4680 | + mul r2, r0, r2 |
---|
| 4681 | + ldr r0, [r4, #3384] |
---|
4346 | 4682 | bic r2, r2, #3 |
---|
4347 | | - add r2, r7, r2 |
---|
| 4683 | + add r2, r0, r2 |
---|
4348 | 4684 | str r2, [r1, #8] |
---|
4349 | | - mov r2, ip |
---|
4350 | | - b .L635 |
---|
4351 | | -.L639: |
---|
| 4685 | + b .L573 |
---|
| 4686 | +.L576: |
---|
4352 | 4687 | .align 2 |
---|
4353 | | -.L638: |
---|
| 4688 | +.L575: |
---|
4354 | 4689 | .word .LANCHOR0 |
---|
4355 | 4690 | .word .LANCHOR0+338 |
---|
4356 | 4691 | .word .LANCHOR0+3392 |
---|
4357 | 4692 | .word -3902 |
---|
4358 | | - .fnend |
---|
4359 | 4693 | .size FtlL2PDataInit, .-FtlL2PDataInit |
---|
4360 | 4694 | .align 2 |
---|
4361 | 4695 | .global FtlVariablesInit |
---|
.. | .. |
---|
4364 | 4698 | .fpu softvfp |
---|
4365 | 4699 | .type FtlVariablesInit, %function |
---|
4366 | 4700 | FtlVariablesInit: |
---|
4367 | | - .fnstart |
---|
4368 | 4701 | @ args = 0, pretend = 0, frame = 0 |
---|
4369 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
4370 | | - push {r4, r5, r6, lr} |
---|
4371 | | - .save {r4, r5, r6, lr} |
---|
4372 | | - mvn r3, #0 |
---|
4373 | | - ldr r4, .L642 |
---|
| 4702 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 4703 | + mov ip, sp |
---|
| 4704 | + push {r4, r5, fp, ip, lr, pc} |
---|
| 4705 | + sub fp, ip, #4 |
---|
| 4706 | + push {lr} |
---|
| 4707 | + bl __gnu_mcount_nc |
---|
| 4708 | + ldr r4, .L578 |
---|
4374 | 4709 | movw r2, #3438 |
---|
| 4710 | + mvn r3, #0 |
---|
4375 | 4711 | mov r5, #0 |
---|
4376 | 4712 | mov r1, r5 |
---|
4377 | 4713 | strh r3, [r4, r2] @ movhi |
---|
4378 | 4714 | str r3, [r4, #3448] |
---|
4379 | 4715 | add r3, r4, #344 |
---|
4380 | | - strh r5, [r3] @ movhi |
---|
4381 | | - add r3, r4, #320 |
---|
4382 | | - ldrh r2, [r3] |
---|
4383 | 4716 | ldr r0, [r4, #348] |
---|
4384 | 4717 | str r5, [r4, #3440] |
---|
| 4718 | + strh r5, [r3] @ movhi |
---|
| 4719 | + add r3, r4, #320 |
---|
4385 | 4720 | str r5, [r4, #3444] |
---|
| 4721 | + ldrh r2, [r3] |
---|
4386 | 4722 | lsl r2, r2, #1 |
---|
4387 | 4723 | bl ftl_memset |
---|
4388 | 4724 | ldrh r2, [r4, #242] |
---|
.. | .. |
---|
4400 | 4736 | mov r2, #48 |
---|
4401 | 4737 | add r0, r0, #4 |
---|
4402 | 4738 | bl ftl_memset |
---|
4403 | | - mov r2, #512 |
---|
4404 | 4739 | mov r1, r5 |
---|
| 4740 | + mov r2, #512 |
---|
4405 | 4741 | add r0, r4, #2640 |
---|
4406 | 4742 | bl ftl_memset |
---|
4407 | 4743 | bl FtlGcBufInit |
---|
4408 | 4744 | bl FtlL2PDataInit |
---|
4409 | 4745 | mov r0, r5 |
---|
4410 | | - pop {r4, r5, r6, pc} |
---|
4411 | | -.L643: |
---|
| 4746 | + ldmfd sp, {r4, r5, fp, sp, pc} |
---|
| 4747 | +.L579: |
---|
4412 | 4748 | .align 2 |
---|
4413 | | -.L642: |
---|
| 4749 | +.L578: |
---|
4414 | 4750 | .word .LANCHOR0 |
---|
4415 | | - .fnend |
---|
4416 | 4751 | .size FtlVariablesInit, .-FtlVariablesInit |
---|
4417 | 4752 | .align 2 |
---|
4418 | 4753 | .global SupperBlkListInit |
---|
.. | .. |
---|
4421 | 4756 | .fpu softvfp |
---|
4422 | 4757 | .type SupperBlkListInit, %function |
---|
4423 | 4758 | SupperBlkListInit: |
---|
4424 | | - .fnstart |
---|
4425 | 4759 | @ args = 0, pretend = 0, frame = 16 |
---|
4426 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
4427 | | - push {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
4428 | | - .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
4429 | | - mov r2, #6 |
---|
4430 | | - ldr r4, .L656 |
---|
4431 | | - mov r5, #0 |
---|
4432 | | - .pad #20 |
---|
| 4760 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 4761 | + mov ip, sp |
---|
| 4762 | + push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 4763 | + sub fp, ip, #4 |
---|
4433 | 4764 | sub sp, sp, #20 |
---|
| 4765 | + push {lr} |
---|
| 4766 | + bl __gnu_mcount_nc |
---|
| 4767 | + ldr r4, .L591 |
---|
| 4768 | + mov r2, #6 |
---|
| 4769 | + mov r5, #0 |
---|
4434 | 4770 | mov r1, #0 |
---|
4435 | | - ldr r10, .L656+4 |
---|
| 4771 | + add r10, r4, #2528 |
---|
4436 | 4772 | mov r9, r5 |
---|
| 4773 | + mov r7, r5 |
---|
4437 | 4774 | ldrh r3, [r4, #242] |
---|
4438 | | - mov r6, r5 |
---|
4439 | 4775 | ldr r0, [r4, #2516] |
---|
4440 | | - add fp, r4, #260 |
---|
4441 | 4776 | mul r2, r2, r3 |
---|
4442 | 4777 | bl ftl_memset |
---|
4443 | | - add r3, r4, #2528 |
---|
4444 | 4778 | str r5, [r4, #2532] |
---|
4445 | 4779 | str r5, [r4, #2520] |
---|
4446 | 4780 | str r5, [r4, #2524] |
---|
4447 | | - strh r5, [r3] @ movhi |
---|
| 4781 | + strh r5, [r10] @ movhi |
---|
4448 | 4782 | strh r5, [r4, #224] @ movhi |
---|
4449 | | - str r3, [sp, #4] |
---|
4450 | | -.L645: |
---|
| 4783 | +.L581: |
---|
4451 | 4784 | ldrh r3, [r4, #240] |
---|
4452 | 4785 | uxth r8, r5 |
---|
4453 | 4786 | cmp r8, r3 |
---|
4454 | | - bcs .L652 |
---|
4455 | | - ldrh r3, [r10] |
---|
4456 | | - ldrh r2, [r4, #232] |
---|
4457 | | - str r3, [sp] |
---|
| 4787 | + bcs .L588 |
---|
| 4788 | + ldrh r3, [r4, #232] |
---|
| 4789 | + str r3, [fp, #-52] |
---|
| 4790 | + ldr r3, .L591+4 |
---|
| 4791 | + ldr r2, .L591+8 |
---|
| 4792 | + ldrh r3, [r3] |
---|
| 4793 | + str r3, [fp, #-48] |
---|
4458 | 4794 | mov r3, #0 |
---|
4459 | | - mov r7, r3 |
---|
4460 | | - b .L653 |
---|
4461 | | -.L647: |
---|
| 4795 | + mov r6, r3 |
---|
| 4796 | + b .L589 |
---|
| 4797 | +.L583: |
---|
| 4798 | + ldrb r0, [r2], #1 @ zero_extendqisi2 |
---|
4462 | 4799 | mov r1, r8 |
---|
4463 | | - ldrb r0, [fp, r3] @ zero_extendqisi2 |
---|
4464 | | - str r2, [sp, #12] |
---|
4465 | | - str r3, [sp, #8] |
---|
| 4800 | + str r3, [fp, #-60] |
---|
| 4801 | + str r2, [fp, #-56] |
---|
4466 | 4802 | bl V2P_block |
---|
4467 | 4803 | bl FtlBbmIsBadBlock |
---|
4468 | 4804 | cmp r0, #0 |
---|
4469 | | - ldr r3, [sp, #8] |
---|
4470 | | - ldreq r1, [sp] |
---|
4471 | | - ldr r2, [sp, #12] |
---|
| 4805 | + ldr r3, [fp, #-60] |
---|
| 4806 | + ldr r2, [fp, #-56] |
---|
| 4807 | + ldreq r1, [fp, #-48] |
---|
4472 | 4808 | add r3, r3, #1 |
---|
4473 | | - addeq r7, r7, r1 |
---|
4474 | | - uxtheq r7, r7 |
---|
4475 | | -.L653: |
---|
| 4809 | + addeq r6, r1, r6 |
---|
| 4810 | + uxtheq r6, r6 |
---|
| 4811 | +.L589: |
---|
| 4812 | + ldr r0, [fp, #-52] |
---|
4476 | 4813 | uxth r1, r3 |
---|
4477 | | - cmp r2, r1 |
---|
4478 | | - bhi .L647 |
---|
4479 | | - cmp r7, #0 |
---|
| 4814 | + cmp r0, r1 |
---|
| 4815 | + bhi .L583 |
---|
4480 | 4816 | uxth r3, r5 |
---|
4481 | | - beq .L648 |
---|
4482 | | - mov r1, r7 |
---|
| 4817 | + cmp r6, #0 |
---|
| 4818 | + beq .L584 |
---|
| 4819 | + mov r1, r6 |
---|
4483 | 4820 | mov r0, #32768 |
---|
4484 | | - str r3, [sp] |
---|
| 4821 | + str r3, [fp, #-48] |
---|
4485 | 4822 | bl __aeabi_idiv |
---|
4486 | | - ldr r3, [sp] |
---|
4487 | | - uxth r7, r0 |
---|
4488 | | -.L649: |
---|
4489 | | - ldr r1, [r4, #2516] |
---|
4490 | | - mov r2, #6 |
---|
4491 | | - mla r2, r2, r3, r1 |
---|
4492 | | - strh r7, [r2, #4] @ movhi |
---|
| 4823 | + ldr r3, [fp, #-48] |
---|
| 4824 | + uxth r6, r0 |
---|
| 4825 | +.L585: |
---|
| 4826 | + ldr r2, [r4, #2516] |
---|
| 4827 | + mov r1, #6 |
---|
| 4828 | + mla r2, r1, r3, r2 |
---|
| 4829 | + strh r6, [r2, #4] @ movhi |
---|
4493 | 4830 | ldrh r2, [r4, #24] |
---|
4494 | 4831 | cmp r2, r8 |
---|
4495 | | - beq .L650 |
---|
| 4832 | + beq .L586 |
---|
4496 | 4833 | ldrh r2, [r4, #76] |
---|
4497 | 4834 | cmp r2, r8 |
---|
4498 | | - beq .L650 |
---|
| 4835 | + beq .L586 |
---|
4499 | 4836 | ldrh r2, [r4, #124] |
---|
4500 | 4837 | cmp r2, r8 |
---|
4501 | | - beq .L650 |
---|
| 4838 | + beq .L586 |
---|
4502 | 4839 | ldr r2, [r4, #72] |
---|
4503 | 4840 | lsl r3, r3, #1 |
---|
4504 | 4841 | ldrh r3, [r2, r3] |
---|
4505 | 4842 | cmp r3, #0 |
---|
4506 | | - bne .L651 |
---|
| 4843 | + bne .L587 |
---|
4507 | 4844 | add r9, r9, #1 |
---|
4508 | 4845 | mov r0, r8 |
---|
4509 | 4846 | uxth r9, r9 |
---|
4510 | 4847 | bl INSERT_FREE_LIST |
---|
4511 | | -.L650: |
---|
| 4848 | +.L586: |
---|
4512 | 4849 | add r5, r5, #1 |
---|
4513 | | - b .L645 |
---|
4514 | | -.L648: |
---|
| 4850 | + b .L581 |
---|
| 4851 | +.L584: |
---|
4515 | 4852 | ldr r1, [r4, #72] |
---|
4516 | 4853 | lsl r2, r3, #1 |
---|
4517 | | - mvn r0, #0 |
---|
| 4854 | + mvn r0, #0 @ movhi |
---|
4518 | 4855 | strh r0, [r1, r2] @ movhi |
---|
4519 | | - b .L649 |
---|
4520 | | -.L651: |
---|
4521 | | - add r6, r6, #1 |
---|
| 4856 | + b .L585 |
---|
| 4857 | +.L587: |
---|
| 4858 | + add r7, r7, #1 |
---|
4522 | 4859 | mov r0, r8 |
---|
4523 | | - uxth r6, r6 |
---|
| 4860 | + uxth r7, r7 |
---|
4524 | 4861 | bl INSERT_DATA_LIST |
---|
4525 | | - b .L650 |
---|
4526 | | -.L652: |
---|
4527 | | - ldr r2, [sp, #4] |
---|
| 4862 | + b .L586 |
---|
| 4863 | +.L588: |
---|
| 4864 | + strh r7, [r10] @ movhi |
---|
| 4865 | + add r7, r7, r9 |
---|
| 4866 | + cmp r7, r3 |
---|
4528 | 4867 | strh r9, [r4, #224] @ movhi |
---|
4529 | | - strh r6, [r2] @ movhi |
---|
4530 | | - add r6, r6, r9 |
---|
4531 | | - cmp r6, r3 |
---|
4532 | | - ble .L654 |
---|
| 4868 | + ble .L590 |
---|
| 4869 | + ldr r1, .L591+12 |
---|
4533 | 4870 | movw r2, #2219 |
---|
4534 | | - ldr r1, .L656+8 |
---|
4535 | | - ldr r0, .L656+12 |
---|
| 4871 | + ldr r0, .L591+16 |
---|
4536 | 4872 | bl sftl_printk |
---|
4537 | | -.L654: |
---|
| 4873 | +.L590: |
---|
4538 | 4874 | mov r0, #0 |
---|
4539 | | - add sp, sp, #20 |
---|
4540 | | - @ sp needed |
---|
4541 | | - pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} |
---|
4542 | | -.L657: |
---|
| 4875 | + sub sp, fp, #40 |
---|
| 4876 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 4877 | +.L592: |
---|
4543 | 4878 | .align 2 |
---|
4544 | | -.L656: |
---|
| 4879 | +.L591: |
---|
4545 | 4880 | .word .LANCHOR0 |
---|
4546 | 4881 | .word .LANCHOR0+302 |
---|
| 4882 | + .word .LANCHOR0+260 |
---|
4547 | 4883 | .word .LANCHOR1+198 |
---|
4548 | 4884 | .word .LC8 |
---|
4549 | | - .fnend |
---|
4550 | 4885 | .size SupperBlkListInit, .-SupperBlkListInit |
---|
4551 | 4886 | .align 2 |
---|
4552 | 4887 | .global FtlGcPageVarInit |
---|
.. | .. |
---|
4555 | 4890 | .fpu softvfp |
---|
4556 | 4891 | .type FtlGcPageVarInit, %function |
---|
4557 | 4892 | FtlGcPageVarInit: |
---|
4558 | | - .fnstart |
---|
4559 | 4893 | @ args = 0, pretend = 0, frame = 0 |
---|
4560 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
4561 | | - push {r4, r5, r6, lr} |
---|
4562 | | - .save {r4, r5, r6, lr} |
---|
4563 | | - mov r3, #0 |
---|
4564 | | - ldr r4, .L660 |
---|
| 4894 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 4895 | + mov ip, sp |
---|
| 4896 | + push {r4, r5, fp, ip, lr, pc} |
---|
| 4897 | + sub fp, ip, #4 |
---|
| 4898 | + push {lr} |
---|
| 4899 | + bl __gnu_mcount_nc |
---|
| 4900 | + ldr r4, .L594 |
---|
4565 | 4901 | movw r2, #3196 |
---|
| 4902 | + mov r3, #0 |
---|
4566 | 4903 | movw r5, #306 |
---|
4567 | 4904 | mov r1, #255 |
---|
4568 | 4905 | strh r3, [r4, r2] @ movhi |
---|
4569 | 4906 | movw r2, #3204 |
---|
| 4907 | + ldr r0, [r4, #3192] |
---|
4570 | 4908 | strh r3, [r4, r2] @ movhi |
---|
4571 | 4909 | ldrh r2, [r4, r5] |
---|
4572 | | - ldr r0, [r4, #3192] |
---|
4573 | 4910 | lsl r2, r2, #1 |
---|
4574 | 4911 | bl ftl_memset |
---|
4575 | 4912 | ldrh r3, [r4, r5] |
---|
4576 | 4913 | mov r2, #12 |
---|
4577 | | - ldr r0, [r4, #3200] |
---|
4578 | 4914 | mov r1, #255 |
---|
| 4915 | + ldr r0, [r4, #3200] |
---|
4579 | 4916 | mul r2, r2, r3 |
---|
4580 | 4917 | bl ftl_memset |
---|
4581 | | - pop {r4, r5, r6, lr} |
---|
4582 | | - b FtlGcBufInit |
---|
4583 | | -.L661: |
---|
| 4918 | + bl FtlGcBufInit |
---|
| 4919 | + ldmfd sp, {r4, r5, fp, sp, pc} |
---|
| 4920 | +.L595: |
---|
4584 | 4921 | .align 2 |
---|
4585 | | -.L660: |
---|
| 4922 | +.L594: |
---|
4586 | 4923 | .word .LANCHOR0 |
---|
4587 | | - .fnend |
---|
4588 | 4924 | .size FtlGcPageVarInit, .-FtlGcPageVarInit |
---|
4589 | 4925 | .align 2 |
---|
4590 | 4926 | .global FlashGetBadBlockList |
---|
.. | .. |
---|
4593 | 4929 | .fpu softvfp |
---|
4594 | 4930 | .type FlashGetBadBlockList, %function |
---|
4595 | 4931 | FlashGetBadBlockList: |
---|
4596 | | - .fnstart |
---|
4597 | 4932 | @ args = 0, pretend = 0, frame = 0 |
---|
4598 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
4599 | | - push {r4, r5, r6, lr} |
---|
4600 | | - .save {r4, r5, r6, lr} |
---|
4601 | | - mov r2, #256 |
---|
4602 | | - ldr r5, .L670 |
---|
| 4933 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 4934 | + mov ip, sp |
---|
| 4935 | + push {r4, r5, r6, r7, fp, ip, lr, pc} |
---|
| 4936 | + sub fp, ip, #4 |
---|
| 4937 | + push {lr} |
---|
| 4938 | + bl __gnu_mcount_nc |
---|
| 4939 | + ldr r6, .L603 |
---|
4603 | 4940 | mov r4, r0 |
---|
4604 | | - mov r6, r1 |
---|
| 4941 | + mov r5, r1 |
---|
| 4942 | + mov r2, #256 |
---|
4605 | 4943 | mov r1, #255 |
---|
4606 | 4944 | bl ftl_memset |
---|
4607 | | - ldr r3, [r5, #3244] |
---|
4608 | | - mov r1, r6 |
---|
| 4945 | + mov r1, r5 |
---|
| 4946 | + ldr r3, [r6, #3244] |
---|
4609 | 4947 | mov r0, r4 |
---|
4610 | 4948 | blx r3 |
---|
4611 | 4949 | uxth r0, r0 |
---|
4612 | 4950 | cmp r0, #50 |
---|
4613 | | - bls .L663 |
---|
| 4951 | + bls .L597 |
---|
| 4952 | + mov r0, r4 |
---|
4614 | 4953 | mov r2, #256 |
---|
4615 | 4954 | mov r1, #255 |
---|
4616 | | - mov r0, r4 |
---|
4617 | 4955 | bl ftl_memset |
---|
4618 | 4956 | mov r0, #0 |
---|
4619 | | -.L663: |
---|
4620 | | - ldrh r3, [r5, #14] |
---|
| 4957 | +.L597: |
---|
| 4958 | + ldrh r3, [r6, #14] |
---|
4621 | 4959 | cmp r3, #4 |
---|
4622 | 4960 | moveq r3, r4 |
---|
4623 | 4961 | addeq r1, r3, r0, lsl #1 |
---|
4624 | | - beq .L665 |
---|
4625 | | - pop {r4, r5, r6, pc} |
---|
4626 | | -.L666: |
---|
| 4962 | + ldmfdne sp, {r4, r5, r6, r7, fp, sp, pc} |
---|
| 4963 | +.L599: |
---|
| 4964 | + cmp r3, r1 |
---|
| 4965 | + ldmfdeq sp, {r4, r5, r6, r7, fp, sp, pc} |
---|
4627 | 4966 | ldrh r2, [r3] |
---|
4628 | 4967 | lsr r2, r2, #1 |
---|
4629 | 4968 | strh r2, [r3], #2 @ movhi |
---|
4630 | | -.L665: |
---|
4631 | | - cmp r3, r1 |
---|
4632 | | - bne .L666 |
---|
4633 | | - pop {r4, r5, r6, pc} |
---|
4634 | | -.L671: |
---|
| 4969 | + b .L599 |
---|
| 4970 | +.L604: |
---|
4635 | 4971 | .align 2 |
---|
4636 | | -.L670: |
---|
| 4972 | +.L603: |
---|
4637 | 4973 | .word .LANCHOR0 |
---|
4638 | | - .fnend |
---|
4639 | 4974 | .size FlashGetBadBlockList, .-FlashGetBadBlockList |
---|
4640 | 4975 | .align 2 |
---|
4641 | 4976 | .global ftl_memcpy |
---|
.. | .. |
---|
4644 | 4979 | .fpu softvfp |
---|
4645 | 4980 | .type ftl_memcpy, %function |
---|
4646 | 4981 | ftl_memcpy: |
---|
4647 | | - .fnstart |
---|
4648 | 4982 | @ args = 0, pretend = 0, frame = 0 |
---|
4649 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
4650 | | - @ link register save eliminated. |
---|
4651 | | - b memcpy |
---|
4652 | | - .fnend |
---|
| 4983 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 4984 | + mov ip, sp |
---|
| 4985 | + push {fp, ip, lr, pc} |
---|
| 4986 | + sub fp, ip, #4 |
---|
| 4987 | + push {lr} |
---|
| 4988 | + bl __gnu_mcount_nc |
---|
| 4989 | + bl memcpy |
---|
| 4990 | + ldmfd sp, {fp, sp, pc} |
---|
4653 | 4991 | .size ftl_memcpy, .-ftl_memcpy |
---|
| 4992 | + .section .rodata.str1.1 |
---|
| 4993 | +.LC92: |
---|
| 4994 | + .ascii "FlashReadPages %x %x error_ecc_bits %d\012\000" |
---|
| 4995 | +.LC93: |
---|
| 4996 | + .ascii "data:\000" |
---|
| 4997 | +.LC94: |
---|
| 4998 | + .ascii "spare:\000" |
---|
| 4999 | + .text |
---|
4654 | 5000 | .align 2 |
---|
4655 | 5001 | .global FlashReadPages |
---|
4656 | 5002 | .syntax unified |
---|
.. | .. |
---|
4658 | 5004 | .fpu softvfp |
---|
4659 | 5005 | .type FlashReadPages, %function |
---|
4660 | 5006 | FlashReadPages: |
---|
4661 | | - .fnstart |
---|
4662 | 5007 | @ args = 0, pretend = 0, frame = 24 |
---|
4663 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
4664 | | - ldr r3, .L714 |
---|
4665 | | - push {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
4666 | | - .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
4667 | | - .pad #28 |
---|
| 5008 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 5009 | + mov ip, sp |
---|
| 5010 | + push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 5011 | + sub fp, ip, #4 |
---|
4668 | 5012 | sub sp, sp, #28 |
---|
4669 | | - ldr r5, .L714+4 |
---|
4670 | | - mov r8, r1 |
---|
| 5013 | + push {lr} |
---|
| 5014 | + bl __gnu_mcount_nc |
---|
| 5015 | + mov r3, sp |
---|
| 5016 | + ldr r6, .L647 |
---|
| 5017 | + bic r7, r3, #8128 |
---|
| 5018 | + ldr r10, .L647+4 |
---|
| 5019 | + bic r7, r7, #63 |
---|
| 5020 | + ldr r9, .L647+8 |
---|
4671 | 5021 | mov r4, r0 |
---|
4672 | | - mov r7, #0 |
---|
4673 | | - ldr r2, [r3] |
---|
4674 | | - mov fp, r3 |
---|
4675 | | - ldr r9, .L714+8 |
---|
4676 | | - ldr r10, .L714+12 |
---|
4677 | | - str r2, [sp, #20] |
---|
4678 | | - ldrh r2, [r5, #12] |
---|
4679 | | - str r2, [sp, #4] |
---|
4680 | | -.L674: |
---|
4681 | | - cmp r7, r8 |
---|
4682 | | - bne .L687 |
---|
4683 | | - ldr r2, [sp, #20] |
---|
4684 | | - mov r0, #0 |
---|
4685 | | - ldr r3, [fp] |
---|
| 5022 | + str r1, [fp, #-68] |
---|
| 5023 | + mov r8, #0 |
---|
| 5024 | + ldr r3, [r7, #24] |
---|
| 5025 | + str r3, [fp, #-48] |
---|
| 5026 | + ldrh r3, [r6, #12] |
---|
| 5027 | + str r3, [fp, #-64] |
---|
| 5028 | +.L607: |
---|
| 5029 | + ldr r3, [fp, #-68] |
---|
| 5030 | + cmp r8, r3 |
---|
| 5031 | + bne .L620 |
---|
| 5032 | + ldr r2, [fp, #-48] |
---|
| 5033 | + ldr r3, [r7, #24] |
---|
4686 | 5034 | cmp r2, r3 |
---|
4687 | | - beq .L688 |
---|
| 5035 | + beq .L621 |
---|
4688 | 5036 | bl __stack_chk_fail |
---|
4689 | | -.L687: |
---|
| 5037 | +.L620: |
---|
4690 | 5038 | ldr r3, [r4, #8] |
---|
4691 | 5039 | cmp r3, #0 |
---|
4692 | | - beq .L675 |
---|
| 5040 | + beq .L608 |
---|
4693 | 5041 | ldr r3, [r4, #12] |
---|
4694 | 5042 | cmp r3, #0 |
---|
4695 | | - bne .L676 |
---|
4696 | | -.L675: |
---|
4697 | | - mov r2, #96 |
---|
4698 | | - ldr r1, .L714+16 |
---|
| 5043 | + bne .L609 |
---|
| 5044 | +.L608: |
---|
| 5045 | + mov r1, r10 |
---|
4699 | 5046 | mov r0, r9 |
---|
| 5047 | + mov r2, #96 |
---|
4700 | 5048 | bl sftl_printk |
---|
4701 | | -.L676: |
---|
4702 | | - add r2, sp, #12 |
---|
4703 | | - add r1, sp, #16 |
---|
| 5049 | +.L609: |
---|
| 5050 | + sub r2, fp, #56 |
---|
| 5051 | + sub r1, fp, #52 |
---|
4704 | 5052 | mov r0, r4 |
---|
4705 | 5053 | bl l2p_addr_tran |
---|
4706 | | - ldr r0, [sp, #12] |
---|
| 5054 | + ldr r0, [fp, #-56] |
---|
4707 | 5055 | cmp r0, #3 |
---|
4708 | 5056 | mvnhi r3, #0 |
---|
4709 | 5057 | strhi r3, [r4] |
---|
4710 | | - bhi .L678 |
---|
4711 | | - ldr r6, [r4, #8] |
---|
| 5058 | + bhi .L611 |
---|
| 5059 | + ldr r5, [r4, #8] |
---|
4712 | 5060 | uxtb r0, r0 |
---|
4713 | 5061 | ldr r3, [r4, #12] |
---|
4714 | | - ldr r1, [sp, #16] |
---|
4715 | | - tst r6, #63 |
---|
4716 | | - ldr ip, [r5, #3256] |
---|
4717 | | - ldrne r6, [r5, #3320] |
---|
4718 | | - mov r2, r6 |
---|
| 5062 | + tst r5, #63 |
---|
| 5063 | + ldr r1, [fp, #-52] |
---|
| 5064 | + ldr ip, [r6, #3256] |
---|
| 5065 | + ldrne r5, [r6, #3320] |
---|
| 5066 | + mov r2, r5 |
---|
4719 | 5067 | blx ip |
---|
4720 | 5068 | str r0, [r4] |
---|
4721 | | - ldrh r3, [r5, #14] |
---|
| 5069 | + ldrh r3, [r6, #14] |
---|
4722 | 5070 | cmp r3, #4 |
---|
4723 | | - bne .L681 |
---|
4724 | | - ldr r0, [sp, #4] |
---|
4725 | | - add r2, r6, #2048 |
---|
| 5071 | + bne .L614 |
---|
| 5072 | + ldr r0, [fp, #-64] |
---|
| 5073 | + add r2, r5, #2048 |
---|
4726 | 5074 | ldr r3, [r4, #12] |
---|
4727 | | - ldr r1, [sp, #16] |
---|
4728 | | - ldr ip, [r5, #3256] |
---|
| 5075 | + ldr r1, [fp, #-52] |
---|
| 5076 | + ldr ip, [r6, #3256] |
---|
4729 | 5077 | add r3, r3, #8 |
---|
4730 | 5078 | add r1, r0, r1 |
---|
4731 | | - ldrb r0, [sp, #12] @ zero_extendqisi2 |
---|
| 5079 | + ldrb r0, [fp, #-56] @ zero_extendqisi2 |
---|
4732 | 5080 | blx ip |
---|
4733 | 5081 | cmn r0, #1 |
---|
4734 | | - mov r1, r0 |
---|
4735 | | - beq .L682 |
---|
| 5082 | + beq .L615 |
---|
4736 | 5083 | ldr r3, [r4, #12] |
---|
4737 | 5084 | ldr r2, [r3, #12] |
---|
4738 | 5085 | cmn r2, #1 |
---|
4739 | | - bne .L683 |
---|
| 5086 | + bne .L616 |
---|
4740 | 5087 | ldr r2, [r3, #8] |
---|
4741 | 5088 | cmn r2, #1 |
---|
4742 | | - bne .L683 |
---|
| 5089 | + bne .L616 |
---|
4743 | 5090 | ldr r3, [r3] |
---|
4744 | 5091 | cmn r3, #1 |
---|
4745 | | - beq .L683 |
---|
4746 | | -.L682: |
---|
| 5092 | + beq .L616 |
---|
| 5093 | +.L615: |
---|
4747 | 5094 | mvn r3, #0 |
---|
| 5095 | +.L646: |
---|
4748 | 5096 | str r3, [r4] |
---|
4749 | | -.L683: |
---|
4750 | | - ldr r3, [r4] |
---|
4751 | | - sub r0, r1, #256 |
---|
4752 | | - clz r0, r0 |
---|
4753 | | - lsr r0, r0, #5 |
---|
4754 | | - cmn r3, #1 |
---|
4755 | | - moveq r0, #0 |
---|
4756 | | - cmp r0, #0 |
---|
4757 | | - movne r3, #256 |
---|
4758 | | - strne r3, [r4] |
---|
| 5097 | +.L617: |
---|
4759 | 5098 | ldr r3, [r4] |
---|
4760 | 5099 | cmn r3, #1 |
---|
4761 | 5100 | cmpne r3, #256 |
---|
4762 | | - bne .L681 |
---|
| 5101 | + bne .L614 |
---|
4763 | 5102 | ldr r1, [r4, #4] |
---|
4764 | | - ldr r2, [sp, #16] |
---|
4765 | | - ldr r0, .L714+20 |
---|
| 5103 | + ldr r2, [fp, #-52] |
---|
| 5104 | + ldr r0, .L647+12 |
---|
4766 | 5105 | bl sftl_printk |
---|
4767 | 5106 | ldr r1, [r4, #8] |
---|
4768 | 5107 | cmp r1, #0 |
---|
4769 | | - beq .L686 |
---|
| 5108 | + beq .L619 |
---|
4770 | 5109 | mov r3, #4 |
---|
4771 | | - ldr r0, .L714+24 |
---|
| 5110 | + ldr r0, .L647+16 |
---|
4772 | 5111 | mov r2, r3 |
---|
4773 | 5112 | bl rknand_print_hex |
---|
4774 | | -.L686: |
---|
| 5113 | +.L619: |
---|
4775 | 5114 | ldr r1, [r4, #12] |
---|
4776 | 5115 | cmp r1, #0 |
---|
4777 | | - beq .L681 |
---|
| 5116 | + beq .L614 |
---|
4778 | 5117 | mov r3, #4 |
---|
4779 | | - ldr r0, .L714+28 |
---|
| 5118 | + ldr r0, .L647+20 |
---|
4780 | 5119 | mov r2, r3 |
---|
4781 | 5120 | bl rknand_print_hex |
---|
4782 | | -.L681: |
---|
4783 | | - ldr r3, [r5, #3320] |
---|
4784 | | - cmp r6, r3 |
---|
4785 | | - bne .L678 |
---|
| 5121 | +.L614: |
---|
| 5122 | + ldr r3, [r6, #3320] |
---|
| 5123 | + cmp r3, r5 |
---|
| 5124 | + bne .L611 |
---|
4786 | 5125 | ldr r0, [r4, #8] |
---|
4787 | | - cmp r6, r0 |
---|
4788 | | - beq .L678 |
---|
4789 | | - ldrh r2, [r10] |
---|
4790 | | - mov r1, r6 |
---|
| 5126 | + cmp r0, r5 |
---|
| 5127 | + beq .L611 |
---|
| 5128 | + ldr r3, .L647+24 |
---|
| 5129 | + mov r1, r5 |
---|
| 5130 | + ldrh r2, [r3] |
---|
4791 | 5131 | lsl r2, r2, #9 |
---|
4792 | 5132 | bl ftl_memcpy |
---|
4793 | | -.L678: |
---|
4794 | | - add r7, r7, #1 |
---|
| 5133 | +.L611: |
---|
| 5134 | + add r8, r8, #1 |
---|
4795 | 5135 | add r4, r4, #20 |
---|
4796 | | - b .L674 |
---|
4797 | | -.L688: |
---|
4798 | | - add sp, sp, #28 |
---|
4799 | | - @ sp needed |
---|
4800 | | - pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} |
---|
4801 | | -.L715: |
---|
| 5136 | + b .L607 |
---|
| 5137 | +.L616: |
---|
| 5138 | + ldr r3, [r4] |
---|
| 5139 | + sub r0, r0, #256 |
---|
| 5140 | + clz r0, r0 |
---|
| 5141 | + cmn r3, #1 |
---|
| 5142 | + lsr r0, r0, #5 |
---|
| 5143 | + moveq r0, #0 |
---|
| 5144 | + cmp r0, #0 |
---|
| 5145 | + beq .L617 |
---|
| 5146 | + mov r3, #256 |
---|
| 5147 | + b .L646 |
---|
| 5148 | +.L621: |
---|
| 5149 | + mov r0, #0 |
---|
| 5150 | + sub sp, fp, #40 |
---|
| 5151 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 5152 | +.L648: |
---|
4802 | 5153 | .align 2 |
---|
4803 | | -.L714: |
---|
4804 | | - .word __stack_chk_guard |
---|
| 5154 | +.L647: |
---|
4805 | 5155 | .word .LANCHOR0 |
---|
4806 | | - .word .LC8 |
---|
4807 | | - .word .LANCHOR0+258 |
---|
4808 | 5156 | .word .LANCHOR1+216 |
---|
| 5157 | + .word .LC8 |
---|
4809 | 5158 | .word .LC92 |
---|
4810 | 5159 | .word .LC93 |
---|
4811 | 5160 | .word .LC94 |
---|
4812 | | - .fnend |
---|
| 5161 | + .word .LANCHOR0+258 |
---|
4813 | 5162 | .size FlashReadPages, .-FlashReadPages |
---|
4814 | 5163 | .align 2 |
---|
4815 | 5164 | .global FtlLoadFactoryBbt |
---|
.. | .. |
---|
4818 | 5167 | .fpu softvfp |
---|
4819 | 5168 | .type FtlLoadFactoryBbt, %function |
---|
4820 | 5169 | FtlLoadFactoryBbt: |
---|
4821 | | - .fnstart |
---|
4822 | 5170 | @ args = 0, pretend = 0, frame = 0 |
---|
4823 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
4824 | | - push {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
4825 | | - .save {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
4826 | | - mov r7, #0 |
---|
4827 | | - ldr r5, .L727 |
---|
4828 | | - ldr r10, .L727+4 |
---|
4829 | | - add r6, r5, #360 |
---|
| 5171 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 5172 | + mov ip, sp |
---|
| 5173 | + push {r3, r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 5174 | + sub fp, ip, #4 |
---|
| 5175 | + push {lr} |
---|
| 5176 | + bl __gnu_mcount_nc |
---|
| 5177 | + ldr r5, .L659 |
---|
| 5178 | + mov r6, #0 |
---|
| 5179 | + add r7, r5, #364 |
---|
| 5180 | + sub r9, r7, #66 |
---|
4830 | 5181 | ldr r3, [r5, #3300] |
---|
4831 | 5182 | ldr r8, [r5, #3332] |
---|
4832 | | - add r6, r6, #2 |
---|
4833 | | - sub r9, r6, #64 |
---|
4834 | 5183 | str r3, [r5, #3460] |
---|
4835 | 5184 | str r8, [r5, #3464] |
---|
4836 | | -.L717: |
---|
| 5185 | +.L650: |
---|
4837 | 5186 | ldrh r3, [r5, #254] |
---|
4838 | | - cmp r7, r3 |
---|
4839 | | - bcc .L722 |
---|
| 5187 | + cmp r3, r6 |
---|
| 5188 | + bhi .L655 |
---|
4840 | 5189 | mov r0, #0 |
---|
4841 | | - pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} |
---|
4842 | | -.L722: |
---|
| 5190 | + ldmfd sp, {r3, r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 5191 | +.L655: |
---|
4843 | 5192 | ldrh r4, [r9] |
---|
4844 | 5193 | mvn r3, #0 |
---|
4845 | | - movw fp, #61664 |
---|
4846 | | - strh r3, [r6, #2]! @ movhi |
---|
| 5194 | + ldr r10, .L659+4 |
---|
4847 | 5195 | add r4, r4, r3 |
---|
| 5196 | + strh r3, [r7] @ movhi |
---|
4848 | 5197 | uxth r4, r4 |
---|
4849 | | -.L718: |
---|
| 5198 | +.L651: |
---|
4850 | 5199 | ldrh r3, [r9] |
---|
4851 | 5200 | sub r2, r3, #16 |
---|
4852 | 5201 | cmp r4, r2 |
---|
4853 | | - ble .L720 |
---|
4854 | | - mla r3, r7, r3, r4 |
---|
| 5202 | + ble .L653 |
---|
| 5203 | + mla r3, r6, r3, r4 |
---|
4855 | 5204 | mov r2, #1 |
---|
4856 | | - mov r1, r2 |
---|
4857 | 5205 | mov r0, r10 |
---|
| 5206 | + mov r1, r2 |
---|
4858 | 5207 | lsl r3, r3, #10 |
---|
4859 | 5208 | str r3, [r5, #3456] |
---|
4860 | 5209 | bl FlashReadPages |
---|
4861 | 5210 | ldr r3, [r5, #3452] |
---|
4862 | 5211 | cmn r3, #1 |
---|
4863 | | - beq .L719 |
---|
4864 | | - ldrh r3, [r8] |
---|
4865 | | - cmp r3, fp |
---|
4866 | | - bne .L719 |
---|
4867 | | - strh r4, [r6] @ movhi |
---|
4868 | | -.L720: |
---|
4869 | | - add r7, r7, #1 |
---|
4870 | | - b .L717 |
---|
4871 | | -.L719: |
---|
| 5212 | + beq .L652 |
---|
| 5213 | + ldrh r2, [r8] |
---|
| 5214 | + movw r3, #61664 |
---|
| 5215 | + cmp r2, r3 |
---|
| 5216 | + bne .L652 |
---|
| 5217 | + strh r4, [r7] @ movhi |
---|
| 5218 | +.L653: |
---|
| 5219 | + add r6, r6, #1 |
---|
| 5220 | + add r7, r7, #2 |
---|
| 5221 | + b .L650 |
---|
| 5222 | +.L652: |
---|
4872 | 5223 | sub r4, r4, #1 |
---|
4873 | 5224 | uxth r4, r4 |
---|
4874 | | - b .L718 |
---|
4875 | | -.L728: |
---|
| 5225 | + b .L651 |
---|
| 5226 | +.L660: |
---|
4876 | 5227 | .align 2 |
---|
4877 | | -.L727: |
---|
| 5228 | +.L659: |
---|
4878 | 5229 | .word .LANCHOR0 |
---|
4879 | 5230 | .word .LANCHOR0+3452 |
---|
4880 | | - .fnend |
---|
4881 | 5231 | .size FtlLoadFactoryBbt, .-FtlLoadFactoryBbt |
---|
4882 | 5232 | .align 2 |
---|
4883 | 5233 | .global FtlGetLastWrittenPage |
---|
.. | .. |
---|
4886 | 5236 | .fpu softvfp |
---|
4887 | 5237 | .type FtlGetLastWrittenPage, %function |
---|
4888 | 5238 | FtlGetLastWrittenPage: |
---|
4889 | | - .fnstart |
---|
4890 | 5239 | @ args = 0, pretend = 0, frame = 88 |
---|
4891 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
4892 | | - push {r4, r5, r6, r7, r8, r9, lr} |
---|
4893 | | - .save {r4, r5, r6, r7, r8, r9, lr} |
---|
4894 | | - .pad #92 |
---|
4895 | | - sub sp, sp, #92 |
---|
4896 | | - ldr r6, .L742 |
---|
| 5240 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 5241 | + mov ip, sp |
---|
| 5242 | + push {r4, r5, r6, r7, r8, r9, fp, ip, lr, pc} |
---|
| 5243 | + sub fp, ip, #4 |
---|
| 5244 | + sub sp, sp, #88 |
---|
| 5245 | + push {lr} |
---|
| 5246 | + bl __gnu_mcount_nc |
---|
| 5247 | + mov r3, sp |
---|
4897 | 5248 | cmp r1, #1 |
---|
| 5249 | + bic r6, r3, #8128 |
---|
| 5250 | + mov r9, r1 |
---|
| 5251 | + bic r6, r6, #63 |
---|
4898 | 5252 | movwne r2, #302 |
---|
4899 | | - lsl r8, r0, #10 |
---|
4900 | | - mov r7, r1 |
---|
4901 | | - ldr r3, [r6] |
---|
4902 | | - mov r0, sp |
---|
4903 | | - str r3, [sp, #84] |
---|
4904 | | - ldr r3, .L742+4 |
---|
| 5253 | + lsl r7, r0, #10 |
---|
| 5254 | + ldr r3, [r6, #24] |
---|
| 5255 | + str r3, [fp, #-40] |
---|
| 5256 | + ldr r3, .L674 |
---|
4905 | 5257 | addeq r2, r3, #304 |
---|
4906 | | - ldrhne r5, [r3, r2] |
---|
4907 | | - ldrheq r5, [r2] |
---|
| 5258 | + ldrhne r4, [r3, r2] |
---|
| 5259 | + ldrheq r4, [r2] |
---|
4908 | 5260 | mov r2, r1 |
---|
4909 | 5261 | ldr r3, [r3, #3324] |
---|
4910 | 5262 | mov r1, #1 |
---|
4911 | | - sub r5, r5, #1 |
---|
4912 | | - sxth r5, r5 |
---|
4913 | | - str r3, [sp, #8] |
---|
4914 | | - add r3, sp, #20 |
---|
4915 | | - str r3, [sp, #12] |
---|
4916 | | - orr r3, r5, r8 |
---|
4917 | | - str r3, [sp, #4] |
---|
| 5263 | + sub r4, r4, #1 |
---|
| 5264 | + str r3, [fp, #-116] |
---|
| 5265 | + sub r3, fp, #104 |
---|
| 5266 | + str r3, [fp, #-112] |
---|
| 5267 | + sxth r4, r4 |
---|
| 5268 | + orr r0, r4, r0, lsl #10 |
---|
| 5269 | + str r0, [fp, #-120] |
---|
| 5270 | + sub r0, fp, #124 |
---|
4918 | 5271 | bl FlashReadPages |
---|
4919 | | - ldr r3, [sp, #20] |
---|
| 5272 | + ldr r3, [fp, #-104] |
---|
4920 | 5273 | cmn r3, #1 |
---|
4921 | | - moveq r9, #0 |
---|
4922 | | - beq .L733 |
---|
4923 | | -.L732: |
---|
4924 | | - ldr r2, [sp, #84] |
---|
4925 | | - mov r0, r5 |
---|
4926 | | - ldr r3, [r6] |
---|
4927 | | - cmp r2, r3 |
---|
4928 | | - beq .L737 |
---|
4929 | | - bl __stack_chk_fail |
---|
4930 | | -.L736: |
---|
4931 | | - add r3, r9, r5 |
---|
4932 | | - mov r2, r7 |
---|
4933 | | - add r3, r3, r3, lsr #31 |
---|
| 5274 | + bne .L665 |
---|
| 5275 | + mov r8, #0 |
---|
| 5276 | + b .L664 |
---|
| 5277 | +.L668: |
---|
| 5278 | + add r3, r8, r4 |
---|
| 5279 | + mov r2, r9 |
---|
| 5280 | + sub r0, fp, #124 |
---|
4934 | 5281 | mov r1, #1 |
---|
4935 | | - mov r0, sp |
---|
4936 | | - asr r4, r3, #1 |
---|
4937 | | - sxth r3, r4 |
---|
4938 | | - orr r3, r3, r8 |
---|
4939 | | - str r3, [sp, #4] |
---|
| 5282 | + add r3, r3, r3, lsr #31 |
---|
| 5283 | + sbfx r5, r3, #1, #16 |
---|
| 5284 | + orr r3, r7, r3, asr #1 |
---|
| 5285 | + str r3, [fp, #-120] |
---|
4940 | 5286 | bl FlashReadPages |
---|
4941 | | - ldr r3, [sp, #20] |
---|
| 5287 | + ldrd r2, [fp, #-104] |
---|
| 5288 | + and r3, r3, r2 |
---|
4942 | 5289 | cmn r3, #1 |
---|
4943 | | - bne .L734 |
---|
4944 | | - ldr r3, [sp, #24] |
---|
| 5290 | + bne .L666 |
---|
| 5291 | + ldr r3, [fp, #-124] |
---|
4945 | 5292 | cmn r3, #1 |
---|
4946 | | - bne .L734 |
---|
4947 | | - ldr r3, [sp] |
---|
4948 | | - cmn r3, #1 |
---|
4949 | | - subne r4, r4, #1 |
---|
4950 | | - sxthne r5, r4 |
---|
4951 | | - bne .L733 |
---|
4952 | | -.L734: |
---|
4953 | | - add r4, r4, #1 |
---|
4954 | | - sxth r9, r4 |
---|
4955 | | -.L733: |
---|
4956 | | - cmp r9, r5 |
---|
4957 | | - ble .L736 |
---|
4958 | | - b .L732 |
---|
4959 | | -.L737: |
---|
4960 | | - add sp, sp, #92 |
---|
4961 | | - @ sp needed |
---|
4962 | | - pop {r4, r5, r6, r7, r8, r9, pc} |
---|
4963 | | -.L743: |
---|
| 5293 | + subne r4, r5, #1 |
---|
| 5294 | + sxthne r4, r4 |
---|
| 5295 | + bne .L664 |
---|
| 5296 | +.L666: |
---|
| 5297 | + add r5, r5, #1 |
---|
| 5298 | + sxth r8, r5 |
---|
| 5299 | +.L664: |
---|
| 5300 | + cmp r8, r4 |
---|
| 5301 | + ble .L668 |
---|
| 5302 | +.L665: |
---|
| 5303 | + ldr r2, [fp, #-40] |
---|
| 5304 | + ldr r3, [r6, #24] |
---|
| 5305 | + cmp r2, r3 |
---|
| 5306 | + beq .L669 |
---|
| 5307 | + bl __stack_chk_fail |
---|
| 5308 | +.L669: |
---|
| 5309 | + mov r0, r4 |
---|
| 5310 | + sub sp, fp, #36 |
---|
| 5311 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, fp, sp, pc} |
---|
| 5312 | +.L675: |
---|
4964 | 5313 | .align 2 |
---|
4965 | | -.L742: |
---|
4966 | | - .word __stack_chk_guard |
---|
| 5314 | +.L674: |
---|
4967 | 5315 | .word .LANCHOR0 |
---|
4968 | | - .fnend |
---|
4969 | 5316 | .size FtlGetLastWrittenPage, .-FtlGetLastWrittenPage |
---|
4970 | 5317 | .align 2 |
---|
4971 | 5318 | .global FtlScanSysBlk |
---|
.. | .. |
---|
4974 | 5321 | .fpu softvfp |
---|
4975 | 5322 | .type FtlScanSysBlk, %function |
---|
4976 | 5323 | FtlScanSysBlk: |
---|
4977 | | - .fnstart |
---|
4978 | | - @ args = 0, pretend = 0, frame = 32 |
---|
4979 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
4980 | | - push {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
4981 | | - .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
4982 | | - mov r5, #0 |
---|
4983 | | - ldr r4, .L826 |
---|
| 5324 | + @ args = 0, pretend = 0, frame = 24 |
---|
| 5325 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 5326 | + mov ip, sp |
---|
| 5327 | + push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 5328 | + sub fp, ip, #4 |
---|
| 5329 | + sub sp, sp, #28 |
---|
| 5330 | + push {lr} |
---|
| 5331 | + bl __gnu_mcount_nc |
---|
| 5332 | + ldr r4, .L756 |
---|
4984 | 5333 | movw r3, #3436 |
---|
| 5334 | + mov r5, #0 |
---|
4985 | 5335 | mov r1, r5 |
---|
4986 | | - .pad #36 |
---|
4987 | | - sub sp, sp, #36 |
---|
4988 | | - ldr r2, [r4, #328] |
---|
4989 | | - add r7, r4, #344 |
---|
4990 | | - ldr r0, [r4, #3380] |
---|
4991 | 5336 | add r6, r4, #320 |
---|
| 5337 | + ldr r2, [r4, #328] |
---|
4992 | 5338 | strh r5, [r4, r3] @ movhi |
---|
4993 | | - strh r5, [r7] @ movhi |
---|
| 5339 | + add r3, r4, #344 |
---|
| 5340 | + ldr r0, [r4, #3380] |
---|
4994 | 5341 | lsl r2, r2, #2 |
---|
| 5342 | + strh r5, [r3] @ movhi |
---|
4995 | 5343 | bl ftl_memset |
---|
4996 | 5344 | ldr r2, [r4, #328] |
---|
4997 | 5345 | mov r1, r5 |
---|
.. | .. |
---|
5006 | 5354 | ldrh r2, [r6] |
---|
5007 | 5355 | mov r1, r5 |
---|
5008 | 5356 | ldr r0, [r4, #348] |
---|
5009 | | - add r5, r4, #2624 |
---|
5010 | 5357 | lsl r2, r2, #1 |
---|
5011 | 5358 | bl ftl_memset |
---|
| 5359 | + add r0, r4, #2624 |
---|
5012 | 5360 | mov r2, #16 |
---|
5013 | 5361 | mov r1, #255 |
---|
5014 | | - add r0, r4, #2624 |
---|
5015 | 5362 | bl ftl_memset |
---|
5016 | 5363 | ldrh r3, [r4, #240] |
---|
5017 | | - str r7, [sp, #20] |
---|
5018 | | - str r6, [sp, #12] |
---|
5019 | | - str r3, [sp, #4] |
---|
5020 | | -.L745: |
---|
| 5364 | +.L755: |
---|
| 5365 | + str r3, [fp, #-48] |
---|
| 5366 | + ldr r2, [fp, #-48] |
---|
5021 | 5367 | ldrh r3, [r4, #242] |
---|
5022 | | - ldr r2, [sp, #4] |
---|
5023 | 5368 | cmp r3, r2 |
---|
5024 | | - bls .L786 |
---|
5025 | | - ldr r1, [r4, #3180] |
---|
5026 | | - mov r6, #0 |
---|
5027 | | - ldr r7, .L826+4 |
---|
5028 | | - mov fp, r6 |
---|
5029 | | - ldrh r2, [r4, #232] |
---|
| 5369 | + bls .L716 |
---|
| 5370 | + ldr r5, .L756+4 |
---|
| 5371 | + mov r7, #0 |
---|
| 5372 | + ldrh r6, [r4, #232] |
---|
5030 | 5373 | mov r9, #20 |
---|
5031 | 5374 | ldr r8, [r4, #3288] |
---|
5032 | | - ldr r3, [r4, #3176] |
---|
5033 | | - str r1, [sp, #8] |
---|
5034 | | - ldrh r10, [r7], #-52 |
---|
5035 | | - b .L787 |
---|
5036 | | -.L747: |
---|
5037 | | - ldr r1, [sp, #4] |
---|
5038 | | - ldrb r0, [r7, r6] @ zero_extendqisi2 |
---|
5039 | | - str r3, [sp, #28] |
---|
5040 | | - str r2, [sp, #24] |
---|
| 5375 | + ldr r2, [r4, #3176] |
---|
| 5376 | + ldrh r10, [r5], #-52 |
---|
| 5377 | + ldr r3, [r4, #3180] |
---|
| 5378 | + add r6, r6, r5 |
---|
| 5379 | + b .L717 |
---|
| 5380 | +.L679: |
---|
| 5381 | + ldr r1, [fp, #-48] |
---|
| 5382 | + ldrb r0, [r5], #1 @ zero_extendqisi2 |
---|
| 5383 | + str r3, [fp, #-60] |
---|
| 5384 | + str r2, [fp, #-56] |
---|
5041 | 5385 | bl V2P_block |
---|
5042 | | - str r0, [sp, #16] |
---|
| 5386 | + str r0, [fp, #-52] |
---|
5043 | 5387 | bl FtlBbmIsBadBlock |
---|
| 5388 | + ldr r2, [fp, #-56] |
---|
5044 | 5389 | cmp r0, #0 |
---|
5045 | | - ldr r2, [sp, #24] |
---|
5046 | | - ldr r3, [sp, #28] |
---|
5047 | | - bne .L746 |
---|
5048 | | - ldr r1, [sp, #16] |
---|
5049 | | - mla r0, r9, fp, r8 |
---|
| 5390 | + ldr r3, [fp, #-60] |
---|
| 5391 | + bne .L717 |
---|
| 5392 | + mla ip, r9, r7, r8 |
---|
| 5393 | + ldr r1, [fp, #-52] |
---|
| 5394 | + mul r0, r10, r7 |
---|
| 5395 | + add r7, r7, #1 |
---|
| 5396 | + cmp r0, #0 |
---|
5050 | 5397 | lsl r1, r1, #10 |
---|
5051 | | - stmib r0, {r1, r3} |
---|
5052 | | - mul r1, r10, fp |
---|
5053 | | - add ip, r1, #3 |
---|
5054 | | - cmp r1, #0 |
---|
5055 | | - movlt r1, ip |
---|
5056 | | - ldr ip, [sp, #8] |
---|
| 5398 | + stmib ip, {r1, r2} |
---|
| 5399 | + add r1, r0, #3 |
---|
| 5400 | + movge r1, r0 |
---|
| 5401 | + uxth r7, r7 |
---|
5057 | 5402 | bic r1, r1, #3 |
---|
5058 | | - add r1, ip, r1 |
---|
5059 | | - str r1, [r0, #12] |
---|
5060 | | - add r1, fp, #1 |
---|
5061 | | - uxth fp, r1 |
---|
5062 | | -.L746: |
---|
5063 | | - add r6, r6, #1 |
---|
5064 | | -.L787: |
---|
5065 | | - uxth r1, r6 |
---|
5066 | | - cmp r2, r1 |
---|
5067 | | - bhi .L747 |
---|
5068 | | - cmp fp, #0 |
---|
5069 | | - bne .L748 |
---|
5070 | | -.L785: |
---|
5071 | | - ldr r3, [sp, #4] |
---|
| 5403 | + add r1, r3, r1 |
---|
| 5404 | + str r1, [ip, #12] |
---|
| 5405 | +.L717: |
---|
| 5406 | + cmp r6, r5 |
---|
| 5407 | + bne .L679 |
---|
| 5408 | + cmp r7, #0 |
---|
| 5409 | + bne .L680 |
---|
| 5410 | +.L715: |
---|
| 5411 | + ldr r3, [fp, #-48] |
---|
5072 | 5412 | add r3, r3, #1 |
---|
5073 | 5413 | uxth r3, r3 |
---|
5074 | | - str r3, [sp, #4] |
---|
5075 | | - b .L745 |
---|
5076 | | -.L748: |
---|
| 5414 | + b .L755 |
---|
| 5415 | +.L680: |
---|
| 5416 | + mov r1, r7 |
---|
5077 | 5417 | mov r0, r8 |
---|
5078 | | - ldr r8, .L826+8 |
---|
5079 | 5418 | mov r2, #1 |
---|
5080 | | - mov r1, fp |
---|
5081 | 5419 | bl FlashReadPages |
---|
5082 | 5420 | mov r3, #0 |
---|
5083 | | - str r3, [sp, #8] |
---|
5084 | | -.L749: |
---|
5085 | | - ldrh r3, [sp, #8] |
---|
5086 | | - cmp fp, r3 |
---|
5087 | | - bls .L785 |
---|
5088 | | - ldr r3, [sp, #8] |
---|
5089 | | - mov r9, #20 |
---|
5090 | | - mul r9, r9, r3 |
---|
| 5421 | + str r3, [fp, #-52] |
---|
| 5422 | +.L714: |
---|
| 5423 | + ldr r3, [fp, #-52] |
---|
| 5424 | + mov r8, #20 |
---|
| 5425 | + mul r8, r8, r3 |
---|
5091 | 5426 | ldr r3, [r4, #3288] |
---|
5092 | | - add r2, r3, r9 |
---|
5093 | | - ldr r3, [r3, r9] |
---|
5094 | | - ldr r6, [r2, #4] |
---|
5095 | | - ldr r7, [r2, #12] |
---|
| 5427 | + add r2, r3, r8 |
---|
| 5428 | + ldr r3, [r3, r8] |
---|
| 5429 | + ldr r5, [r2, #4] |
---|
| 5430 | + ldr r6, [r2, #12] |
---|
5096 | 5431 | cmn r3, #1 |
---|
5097 | | - ubfx r6, r6, #10, #16 |
---|
5098 | | - bne .L752 |
---|
5099 | | - mov r10, #16 |
---|
5100 | | -.L754: |
---|
| 5432 | + ubfx r5, r5, #10, #16 |
---|
| 5433 | + bne .L683 |
---|
| 5434 | + mov r9, #16 |
---|
| 5435 | + movw r10, #65535 |
---|
| 5436 | +.L685: |
---|
5101 | 5437 | ldr r0, [r4, #3288] |
---|
5102 | 5438 | mov r2, #1 |
---|
5103 | 5439 | mov r1, r2 |
---|
5104 | | - add r0, r0, r9 |
---|
| 5440 | + add r0, r0, r8 |
---|
5105 | 5441 | ldr r3, [r0, #4] |
---|
5106 | 5442 | add r3, r3, #1 |
---|
5107 | 5443 | str r3, [r0, #4] |
---|
5108 | 5444 | bl FlashReadPages |
---|
5109 | | - ldrh r3, [r7] |
---|
5110 | | - movw r2, #65535 |
---|
5111 | | - cmp r3, r2 |
---|
| 5445 | + ldrh r3, [r6] |
---|
| 5446 | + cmp r3, r10 |
---|
5112 | 5447 | ldr r3, [r4, #3288] |
---|
5113 | | - bne .L751 |
---|
| 5448 | + bne .L682 |
---|
5114 | 5449 | mvn r2, #0 |
---|
5115 | | - str r2, [r3, r9] |
---|
| 5450 | + str r2, [r3, r8] |
---|
5116 | 5451 | ldr r3, [r4, #3288] |
---|
5117 | | - ldr r3, [r3, r9] |
---|
| 5452 | + ldr r3, [r3, r8] |
---|
5118 | 5453 | cmp r3, r2 |
---|
5119 | | - bne .L752 |
---|
5120 | | -.L753: |
---|
5121 | | - mov r1, #1 |
---|
5122 | | - b .L825 |
---|
5123 | | -.L751: |
---|
5124 | | - ldr r3, [r3, r9] |
---|
5125 | | - cmn r3, #1 |
---|
5126 | | - bne .L752 |
---|
5127 | | - sub r10, r10, #1 |
---|
5128 | | - uxth r10, r10 |
---|
5129 | | - cmp r10, #0 |
---|
5130 | | - bne .L754 |
---|
5131 | | - b .L753 |
---|
5132 | | -.L752: |
---|
| 5454 | + beq .L684 |
---|
| 5455 | +.L683: |
---|
5133 | 5456 | ldr r2, [r4, #2588] |
---|
5134 | | - ldr r3, [r7, #4] |
---|
| 5457 | + ldr r3, [r6, #4] |
---|
5135 | 5458 | cmn r2, #1 |
---|
5136 | | - beq .L755 |
---|
| 5459 | + beq .L732 |
---|
5137 | 5460 | cmp r2, r3 |
---|
5138 | | - bhi .L756 |
---|
5139 | | -.L755: |
---|
| 5461 | + bhi .L686 |
---|
| 5462 | +.L732: |
---|
5140 | 5463 | cmn r3, #1 |
---|
5141 | 5464 | addne r2, r3, #1 |
---|
5142 | 5465 | strne r2, [r4, #2588] |
---|
5143 | | -.L756: |
---|
5144 | | - ldrh r2, [r7] |
---|
| 5466 | +.L686: |
---|
| 5467 | + ldrh r2, [r6] |
---|
| 5468 | + movw r1, #61634 |
---|
| 5469 | + cmp r2, r1 |
---|
| 5470 | + beq .L687 |
---|
| 5471 | + bhi .L688 |
---|
| 5472 | + movw r1, #61574 |
---|
| 5473 | + cmp r2, r1 |
---|
| 5474 | + beq .L689 |
---|
5145 | 5475 | movw r1, #61604 |
---|
5146 | 5476 | cmp r2, r1 |
---|
5147 | | - beq .L758 |
---|
5148 | | - bhi .L759 |
---|
5149 | | - movw r3, #61574 |
---|
5150 | | - cmp r2, r3 |
---|
5151 | | - beq .L760 |
---|
5152 | | -.L757: |
---|
5153 | | - ldr r3, [sp, #8] |
---|
| 5477 | + beq .L690 |
---|
| 5478 | +.L691: |
---|
| 5479 | + ldr r3, [fp, #-52] |
---|
5154 | 5480 | add r3, r3, #1 |
---|
5155 | | - str r3, [sp, #8] |
---|
5156 | | - b .L749 |
---|
5157 | | -.L759: |
---|
5158 | | - movw r3, #61634 |
---|
5159 | | - cmp r2, r3 |
---|
5160 | | - beq .L761 |
---|
| 5481 | + str r3, [fp, #-52] |
---|
| 5482 | + ldrh r3, [fp, #-52] |
---|
| 5483 | + cmp r7, r3 |
---|
| 5484 | + bhi .L714 |
---|
| 5485 | + b .L715 |
---|
| 5486 | +.L682: |
---|
| 5487 | + ldr r3, [r3, r8] |
---|
| 5488 | + cmn r3, #1 |
---|
| 5489 | + bne .L683 |
---|
| 5490 | + sub r9, r9, #1 |
---|
| 5491 | + uxth r9, r9 |
---|
| 5492 | + cmp r9, #0 |
---|
| 5493 | + bne .L685 |
---|
| 5494 | +.L684: |
---|
| 5495 | + mov r1, #1 |
---|
| 5496 | + b .L753 |
---|
| 5497 | +.L688: |
---|
5161 | 5498 | movw r3, #65535 |
---|
5162 | 5499 | cmp r2, r3 |
---|
5163 | 5500 | moveq r1, #0 |
---|
5164 | | - bne .L757 |
---|
5165 | | -.L825: |
---|
5166 | | - mov r0, r6 |
---|
| 5501 | + bne .L691 |
---|
| 5502 | +.L753: |
---|
| 5503 | + mov r0, r5 |
---|
5167 | 5504 | bl FtlFreeSysBlkQueueIn |
---|
5168 | | - b .L757 |
---|
5169 | | -.L761: |
---|
5170 | | - ldrh r2, [r8] |
---|
| 5505 | + b .L691 |
---|
| 5506 | +.L687: |
---|
| 5507 | + ldr r8, .L756+8 |
---|
5171 | 5508 | ldr r3, [r4, #328] |
---|
| 5509 | + ldrh r2, [r8] |
---|
5172 | 5510 | cmp r2, r3 |
---|
5173 | | - bls .L763 |
---|
| 5511 | + bls .L693 |
---|
| 5512 | + ldr r1, .L756+12 |
---|
5174 | 5513 | mov r2, #1232 |
---|
5175 | | - ldr r1, .L826+12 |
---|
5176 | | - ldr r0, .L826+16 |
---|
| 5514 | + ldr r0, .L756+16 |
---|
5177 | 5515 | bl sftl_printk |
---|
5178 | | -.L763: |
---|
5179 | | - ldr r0, [r4, #328] |
---|
5180 | | - ldrh r2, [r8] |
---|
5181 | | - ldr ip, [r4, #3380] |
---|
5182 | | - uxth r1, r0 |
---|
5183 | | - sub r3, r1, #1 |
---|
5184 | | - sub r1, r1, r2 |
---|
5185 | | - sub r1, r1, #1 |
---|
| 5516 | +.L693: |
---|
| 5517 | + ldr lr, [r4, #328] |
---|
| 5518 | + ldrh r1, [r8] |
---|
| 5519 | + uxth r2, lr |
---|
| 5520 | + sub r3, r2, #1 |
---|
| 5521 | + sub r2, r2, r1 |
---|
| 5522 | + sub r2, r2, #1 |
---|
5186 | 5523 | sxth r3, r3 |
---|
5187 | | - sxth r1, r1 |
---|
5188 | | -.L764: |
---|
5189 | | - cmp r3, r1 |
---|
5190 | | - bgt .L770 |
---|
5191 | | - cmp r3, #0 |
---|
5192 | | - bge .L802 |
---|
5193 | | - b .L757 |
---|
5194 | | -.L770: |
---|
5195 | | - ldr r10, [r7, #4] |
---|
5196 | | - lsl lr, r3, #2 |
---|
5197 | | - ldr r9, [ip, r3, lsl #2] |
---|
5198 | | - cmp r10, r9 |
---|
5199 | | - bls .L765 |
---|
5200 | | - ldr r1, [ip] |
---|
5201 | | - cmp r1, #0 |
---|
5202 | | - bne .L766 |
---|
5203 | | - cmp r0, r2 |
---|
5204 | | - addne r2, r2, #1 |
---|
5205 | | - strhne r2, [r8] @ movhi |
---|
5206 | | -.L766: |
---|
5207 | | - uxth ip, r3 |
---|
5208 | | - mov r1, #0 |
---|
5209 | | -.L767: |
---|
5210 | | - uxth r0, r1 |
---|
5211 | | - sxth r2, r1 |
---|
5212 | | - cmp ip, r0 |
---|
5213 | | - bhi .L768 |
---|
5214 | | - ldr r1, [r7, #4] |
---|
5215 | | - cmp r3, #0 |
---|
| 5524 | + sxth r2, r2 |
---|
| 5525 | + str r2, [fp, #-60] |
---|
5216 | 5526 | ldr r2, [r4, #3380] |
---|
5217 | | - str r1, [r2, lr] |
---|
5218 | | - lsl r2, r3, #1 |
---|
| 5527 | + str r2, [fp, #-56] |
---|
| 5528 | + mov r2, r3 |
---|
| 5529 | + ldr r0, [fp, #-56] |
---|
| 5530 | + add r10, r0, #4 |
---|
| 5531 | +.L694: |
---|
| 5532 | + ldr r0, [fp, #-60] |
---|
| 5533 | + cmp r0, r3 |
---|
| 5534 | + bge .L699 |
---|
| 5535 | + lsl r0, r2, #2 |
---|
| 5536 | + str r0, [fp, #-64] |
---|
| 5537 | + sub r0, r2, #1 |
---|
| 5538 | + ldr r9, [r6, #4] |
---|
| 5539 | + ldr ip, [r10, r0, lsl #2] |
---|
| 5540 | + cmp r9, ip |
---|
| 5541 | + bls .L695 |
---|
| 5542 | + ldr r0, [fp, #-56] |
---|
| 5543 | + ldr r0, [r0] |
---|
| 5544 | + cmp r0, #0 |
---|
| 5545 | + bne .L696 |
---|
| 5546 | + cmp lr, r1 |
---|
| 5547 | + addne r1, r1, #1 |
---|
| 5548 | + strhne r1, [r8] @ movhi |
---|
| 5549 | +.L696: |
---|
| 5550 | + uxth lr, r3 |
---|
| 5551 | + mov ip, #0 |
---|
| 5552 | +.L697: |
---|
| 5553 | + uxth r8, ip |
---|
| 5554 | + ldr r0, [r4, #3380] |
---|
| 5555 | + sxth r1, ip |
---|
| 5556 | + cmp lr, r8 |
---|
| 5557 | + bhi .L698 |
---|
| 5558 | + ldr ip, [fp, #-64] |
---|
| 5559 | + lsl r2, r2, #1 |
---|
| 5560 | + ldr r1, [r6, #4] |
---|
| 5561 | + str r1, [r0, ip] |
---|
5219 | 5562 | ldr r1, [r4, #3356] |
---|
5220 | | - strh r6, [r1, r2] @ movhi |
---|
5221 | | - blt .L757 |
---|
5222 | | - ldrh r2, [r8] |
---|
5223 | | - ldr r1, [r4, #328] |
---|
5224 | | - sub r1, r1, r2 |
---|
5225 | | - sub r1, r1, #1 |
---|
5226 | | - sxth r1, r1 |
---|
5227 | | - cmp r3, r1 |
---|
5228 | | - bgt .L757 |
---|
5229 | | -.L802: |
---|
5230 | | - add r2, r2, #1 |
---|
5231 | | - ldr r1, [r7, #4] |
---|
5232 | | - strh r2, [r8] @ movhi |
---|
| 5563 | + strh r5, [r1, r2] @ movhi |
---|
| 5564 | +.L699: |
---|
| 5565 | + cmp r3, #0 |
---|
| 5566 | + blt .L691 |
---|
| 5567 | + ldr r0, .L756+8 |
---|
| 5568 | + ldr r2, [r4, #328] |
---|
| 5569 | + ldrh r1, [r0] |
---|
| 5570 | + sub r2, r2, r1 |
---|
| 5571 | + sub r2, r2, #1 |
---|
| 5572 | + sxth r2, r2 |
---|
| 5573 | + cmp r2, r3 |
---|
| 5574 | + blt .L691 |
---|
5233 | 5575 | ldr r2, [r4, #3380] |
---|
| 5576 | + add r1, r1, #1 |
---|
| 5577 | + strh r1, [r0] @ movhi |
---|
| 5578 | + ldr r1, [r6, #4] |
---|
5234 | 5579 | str r1, [r2, r3, lsl #2] |
---|
5235 | 5580 | lsl r3, r3, #1 |
---|
5236 | 5581 | ldr r2, [r4, #3356] |
---|
5237 | | -.L823: |
---|
5238 | | - strh r6, [r2, r3] @ movhi |
---|
5239 | | - b .L757 |
---|
5240 | | -.L768: |
---|
5241 | | - ldr r0, [r4, #3380] |
---|
| 5582 | +.L752: |
---|
| 5583 | + strh r5, [r2, r3] @ movhi |
---|
| 5584 | + b .L691 |
---|
| 5585 | +.L698: |
---|
5242 | 5586 | add r1, r1, #1 |
---|
5243 | | - add r9, r0, r2, lsl #2 |
---|
5244 | | - ldr r9, [r9, #4] |
---|
5245 | | - str r9, [r0, r2, lsl #2] |
---|
5246 | | - lsl r2, r2, #1 |
---|
| 5587 | + add ip, ip, #1 |
---|
| 5588 | + ldr r8, [r0, r1, lsl #2] |
---|
| 5589 | + add r0, r0, r1, lsl #2 |
---|
| 5590 | + lsl r1, r1, #1 |
---|
| 5591 | + str r8, [r0, #-4] |
---|
5247 | 5592 | ldr r0, [r4, #3356] |
---|
5248 | | - add r9, r0, r2 |
---|
5249 | | - ldrh r9, [r9, #2] |
---|
5250 | | - strh r9, [r0, r2] @ movhi |
---|
5251 | | - b .L767 |
---|
5252 | | -.L765: |
---|
| 5593 | + ldrh r1, [r0, r1]! |
---|
| 5594 | + strh r1, [r0, #-2] @ movhi |
---|
| 5595 | + b .L697 |
---|
| 5596 | +.L695: |
---|
5253 | 5597 | sub r3, r3, #1 |
---|
| 5598 | + mov r2, r0 |
---|
5254 | 5599 | sxth r3, r3 |
---|
5255 | | - b .L764 |
---|
5256 | | -.L760: |
---|
5257 | | - ldr r3, [sp, #20] |
---|
5258 | | - ldrh r2, [r3] |
---|
5259 | | - ldr r3, [sp, #12] |
---|
5260 | | - ldrh r3, [r3] |
---|
| 5600 | + b .L694 |
---|
| 5601 | +.L689: |
---|
| 5602 | + ldr r8, .L756+20 |
---|
| 5603 | + ldrh r2, [r8] |
---|
| 5604 | + ldrh r3, [r8, #-24] |
---|
5261 | 5605 | cmp r2, r3 |
---|
5262 | | - bls .L773 |
---|
| 5606 | + bls .L703 |
---|
| 5607 | + ldr r1, .L756+12 |
---|
5263 | 5608 | movw r2, #1273 |
---|
5264 | | - ldr r1, .L826+12 |
---|
5265 | | - ldr r0, .L826+16 |
---|
| 5609 | + ldr r0, .L756+16 |
---|
5266 | 5610 | bl sftl_printk |
---|
5267 | | -.L773: |
---|
5268 | | - ldr r3, [sp, #12] |
---|
5269 | | - ldr lr, .L826+20 |
---|
5270 | | - ldr ip, [r4, #3368] |
---|
5271 | | - ldrh r2, [r3] |
---|
5272 | | - ldrh r1, [lr] |
---|
| 5611 | +.L703: |
---|
| 5612 | + ldrh r2, [r8, #-24] |
---|
| 5613 | + ldrh r1, [r8] |
---|
5273 | 5614 | sub r0, r2, #1 |
---|
| 5615 | + ldr ip, [r4, #3368] |
---|
5274 | 5616 | sxth r3, r0 |
---|
5275 | 5617 | sub r0, r0, r1 |
---|
5276 | | - str r0, [sp, #16] |
---|
5277 | | -.L774: |
---|
5278 | | - ldr r0, [sp, #16] |
---|
| 5618 | +.L704: |
---|
5279 | 5619 | cmp r3, r0 |
---|
5280 | | - ble .L779 |
---|
5281 | | - ldr r10, [r7, #4] |
---|
5282 | | - lsl r9, r3, #2 |
---|
5283 | | - ldr r0, [ip, r3, lsl #2] |
---|
5284 | | - cmp r10, r0 |
---|
5285 | | - bls .L775 |
---|
| 5620 | + ble .L709 |
---|
| 5621 | + ldr r10, [r6, #4] |
---|
| 5622 | + lsl lr, r3, #2 |
---|
| 5623 | + ldr r9, [ip, r3, lsl #2] |
---|
| 5624 | + cmp r10, r9 |
---|
| 5625 | + bls .L705 |
---|
5286 | 5626 | sub r2, r2, r1 |
---|
5287 | 5627 | ldr r0, [ip] |
---|
5288 | 5628 | clz r2, r2 |
---|
5289 | | - uxth ip, r3 |
---|
5290 | 5629 | lsr r2, r2, #5 |
---|
5291 | 5630 | cmp r0, #0 |
---|
5292 | 5631 | orrne r2, r2, #1 |
---|
| 5632 | + uxth r0, r3 |
---|
5293 | 5633 | cmp r2, #0 |
---|
5294 | 5634 | addeq r1, r1, #1 |
---|
5295 | | - strheq r1, [lr] @ movhi |
---|
| 5635 | + strheq r1, [r8] @ movhi |
---|
5296 | 5636 | mov r1, #0 |
---|
5297 | | -.L777: |
---|
5298 | | - uxth r0, r1 |
---|
| 5637 | +.L707: |
---|
| 5638 | + uxth r8, r1 |
---|
| 5639 | + ldr ip, [r4, #3368] |
---|
5299 | 5640 | sxth r2, r1 |
---|
5300 | | - cmp ip, r0 |
---|
5301 | | - bhi .L778 |
---|
5302 | | - ldr r1, [r7, #4] |
---|
5303 | | - ldr r2, [r4, #3368] |
---|
5304 | | - str r1, [r2, r9] |
---|
| 5641 | + cmp r0, r8 |
---|
| 5642 | + bhi .L708 |
---|
| 5643 | + ldr r2, [r6, #4] |
---|
| 5644 | + str r2, [ip, lr] |
---|
5305 | 5645 | lsl r2, r3, #1 |
---|
5306 | 5646 | ldr r1, [r4, #348] |
---|
5307 | | - strh r6, [r1, r2] @ movhi |
---|
5308 | | -.L779: |
---|
| 5647 | + strh r5, [r1, r2] @ movhi |
---|
| 5648 | +.L709: |
---|
5309 | 5649 | cmp r3, #0 |
---|
5310 | | - blt .L757 |
---|
5311 | | - ldr r0, .L826+20 |
---|
| 5650 | + blt .L691 |
---|
| 5651 | + ldr r0, .L756+20 |
---|
5312 | 5652 | ldrh r2, [r0, #-24] |
---|
5313 | 5653 | ldrh r1, [r0] |
---|
5314 | 5654 | sub r2, r2, #1 |
---|
5315 | 5655 | sub r2, r2, r1 |
---|
5316 | 5656 | sxth r2, r2 |
---|
5317 | | - cmp r3, r2 |
---|
5318 | | - bgt .L757 |
---|
5319 | | - add r1, r1, #1 |
---|
| 5657 | + cmp r2, r3 |
---|
| 5658 | + blt .L691 |
---|
5320 | 5659 | ldr r2, [r4, #3368] |
---|
| 5660 | + add r1, r1, #1 |
---|
5321 | 5661 | strh r1, [r0] @ movhi |
---|
5322 | | - ldr r1, [r7, #4] |
---|
| 5662 | + ldr r1, [r6, #4] |
---|
5323 | 5663 | str r1, [r2, r3, lsl #2] |
---|
5324 | 5664 | lsl r3, r3, #1 |
---|
5325 | 5665 | ldr r2, [r4, #348] |
---|
5326 | | - b .L823 |
---|
5327 | | -.L778: |
---|
5328 | | - ldr r0, [r4, #3368] |
---|
| 5666 | + b .L752 |
---|
| 5667 | +.L708: |
---|
| 5668 | + add r2, r2, #1 |
---|
5329 | 5669 | add r1, r1, #1 |
---|
5330 | | - add lr, r0, r2, lsl #2 |
---|
5331 | | - ldr lr, [lr, #4] |
---|
5332 | | - str lr, [r0, r2, lsl #2] |
---|
| 5670 | + ldr r8, [ip, r2, lsl #2] |
---|
| 5671 | + add ip, ip, r2, lsl #2 |
---|
5333 | 5672 | lsl r2, r2, #1 |
---|
5334 | | - ldr r0, [r4, #348] |
---|
5335 | | - add lr, r0, r2 |
---|
5336 | | - ldrh lr, [lr, #2] |
---|
5337 | | - strh lr, [r0, r2] @ movhi |
---|
5338 | | - b .L777 |
---|
5339 | | -.L775: |
---|
| 5673 | + str r8, [ip, #-4] |
---|
| 5674 | + ldr ip, [r4, #348] |
---|
| 5675 | + ldrh r2, [ip, r2]! |
---|
| 5676 | + strh r2, [ip, #-2] @ movhi |
---|
| 5677 | + b .L707 |
---|
| 5678 | +.L705: |
---|
5340 | 5679 | sub r3, r3, #1 |
---|
5341 | 5680 | sxth r3, r3 |
---|
5342 | | - b .L774 |
---|
5343 | | -.L758: |
---|
5344 | | - ldrh r1, [r5] |
---|
| 5681 | + b .L704 |
---|
| 5682 | +.L690: |
---|
| 5683 | + ldr r8, .L756+24 |
---|
5345 | 5684 | movw r2, #65535 |
---|
| 5685 | + ldrh r1, [r8] |
---|
5346 | 5686 | cmp r1, r2 |
---|
5347 | | - strheq r6, [r5] @ movhi |
---|
5348 | | - beq .L824 |
---|
5349 | | - ldrh r0, [r5, #4] |
---|
| 5687 | + strheq r5, [r8] @ movhi |
---|
| 5688 | + beq .L754 |
---|
| 5689 | + ldrh r0, [r8, #4] |
---|
5350 | 5690 | cmp r0, r2 |
---|
5351 | | - beq .L782 |
---|
| 5691 | + beq .L712 |
---|
5352 | 5692 | mov r1, #1 |
---|
5353 | 5693 | bl FtlFreeSysBlkQueueIn |
---|
5354 | | -.L782: |
---|
5355 | | - ldr r3, [r7, #4] |
---|
| 5694 | +.L712: |
---|
| 5695 | + ldr r3, [r6, #4] |
---|
5356 | 5696 | ldr r2, [r4, #2632] |
---|
5357 | 5697 | cmp r2, r3 |
---|
5358 | | - strhcs r6, [r5, #4] @ movhi |
---|
5359 | | - bcs .L757 |
---|
5360 | | - ldrh r3, [r5] |
---|
5361 | | - strh r6, [r5] @ movhi |
---|
5362 | | - strh r3, [r5, #4] @ movhi |
---|
5363 | | - ldr r3, [r7, #4] |
---|
5364 | | -.L824: |
---|
| 5698 | + strhcs r5, [r8, #4] @ movhi |
---|
| 5699 | + bcs .L691 |
---|
| 5700 | + ldrh r3, [r8] |
---|
| 5701 | + strh r3, [r8, #4] @ movhi |
---|
| 5702 | + strh r5, [r8] @ movhi |
---|
| 5703 | + ldr r3, [r6, #4] |
---|
| 5704 | +.L754: |
---|
5365 | 5705 | str r3, [r4, #2632] |
---|
5366 | | - b .L757 |
---|
5367 | | -.L786: |
---|
| 5706 | + b .L691 |
---|
| 5707 | +.L716: |
---|
5368 | 5708 | ldr r1, [r4, #3356] |
---|
5369 | 5709 | ldrh r3, [r1] |
---|
5370 | 5710 | cmp r3, #0 |
---|
5371 | | - beq .L788 |
---|
5372 | | -.L791: |
---|
5373 | | - ldr r1, [r4, #348] |
---|
5374 | | - ldrh r2, [r1] |
---|
| 5711 | + beq .L718 |
---|
| 5712 | +.L721: |
---|
| 5713 | + ldr r0, [r4, #348] |
---|
| 5714 | + ldrh r2, [r0] |
---|
5375 | 5715 | cmp r2, #0 |
---|
5376 | | - beq .L789 |
---|
5377 | | -.L790: |
---|
| 5716 | + beq .L719 |
---|
| 5717 | +.L720: |
---|
5378 | 5718 | movw r3, #3436 |
---|
5379 | 5719 | ldrh r2, [r4, r3] |
---|
5380 | 5720 | ldr r3, [r4, #328] |
---|
5381 | 5721 | cmp r2, r3 |
---|
5382 | | - bls .L821 |
---|
| 5722 | + bls .L750 |
---|
| 5723 | + ldr r1, .L756+12 |
---|
5383 | 5724 | movw r2, #1398 |
---|
5384 | | - ldr r1, .L826+12 |
---|
5385 | | - ldr r0, .L826+16 |
---|
| 5725 | + ldr r0, .L756+16 |
---|
5386 | 5726 | bl sftl_printk |
---|
5387 | | -.L821: |
---|
| 5727 | +.L750: |
---|
5388 | 5728 | mov r0, #0 |
---|
5389 | | - add sp, sp, #36 |
---|
5390 | | - @ sp needed |
---|
5391 | | - pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} |
---|
5392 | | -.L788: |
---|
| 5729 | + sub sp, fp, #40 |
---|
| 5730 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 5731 | +.L718: |
---|
5393 | 5732 | movw r2, #3436 |
---|
5394 | 5733 | ldrh r2, [r4, r2] |
---|
5395 | 5734 | cmp r2, #0 |
---|
5396 | 5735 | ldrne r0, [r4, #328] |
---|
5397 | | - beq .L791 |
---|
5398 | | -.L792: |
---|
| 5736 | + beq .L721 |
---|
| 5737 | +.L722: |
---|
5399 | 5738 | sxth r2, r3 |
---|
5400 | 5739 | cmp r2, r0 |
---|
5401 | | - bcs .L791 |
---|
| 5740 | + bcs .L721 |
---|
5402 | 5741 | lsl ip, r2, #1 |
---|
5403 | 5742 | add r3, r3, #1 |
---|
5404 | 5743 | ldrh ip, [r1, ip] |
---|
5405 | 5744 | cmp ip, #0 |
---|
5406 | | - beq .L792 |
---|
| 5745 | + beq .L722 |
---|
5407 | 5746 | mov r3, r2 |
---|
5408 | 5747 | mov lr, #0 |
---|
5409 | | -.L793: |
---|
5410 | | - ldr r1, [r4, #328] |
---|
5411 | | - cmp r3, r1 |
---|
5412 | | - bcs .L791 |
---|
| 5748 | + b .L723 |
---|
| 5749 | +.L724: |
---|
| 5750 | + sub ip, r3, r2 |
---|
5413 | 5751 | ldr r0, [r4, #3356] |
---|
5414 | 5752 | lsl r1, r3, #1 |
---|
5415 | | - sub ip, r3, r2 |
---|
5416 | 5753 | lsl r5, ip, #1 |
---|
5417 | 5754 | ldrh r6, [r0, r1] |
---|
5418 | 5755 | strh r6, [r0, r5] @ movhi |
---|
5419 | 5756 | ldr r0, [r4, #3380] |
---|
5420 | 5757 | ldr r5, [r0, r3, lsl #2] |
---|
5421 | 5758 | add r3, r3, #1 |
---|
5422 | | - sxth r3, r3 |
---|
5423 | 5759 | str r5, [r0, ip, lsl #2] |
---|
| 5760 | + sxth r3, r3 |
---|
5424 | 5761 | ldr r0, [r4, #3356] |
---|
5425 | 5762 | strh lr, [r0, r1] @ movhi |
---|
5426 | | - b .L793 |
---|
5427 | | -.L789: |
---|
5428 | | - ldr r3, .L826+20 |
---|
5429 | | - ldrh r0, [r3] |
---|
5430 | | - cmp r0, #0 |
---|
5431 | | - ldrhne r0, [r3, #-24]! |
---|
5432 | | - movne lr, r3 |
---|
5433 | | - beq .L790 |
---|
5434 | | -.L798: |
---|
| 5763 | +.L723: |
---|
| 5764 | + ldr r1, [r4, #328] |
---|
| 5765 | + cmp r3, r1 |
---|
| 5766 | + bcc .L724 |
---|
| 5767 | + b .L721 |
---|
| 5768 | +.L719: |
---|
| 5769 | + ldr r1, .L756+20 |
---|
| 5770 | + ldrh r3, [r1] |
---|
| 5771 | + cmp r3, #0 |
---|
| 5772 | + ldrhne ip, [r1, #-24]! |
---|
| 5773 | + beq .L720 |
---|
| 5774 | +.L728: |
---|
5435 | 5775 | sxth r3, r2 |
---|
5436 | | - cmp r3, r0 |
---|
5437 | | - mov r5, r3 |
---|
5438 | | - bge .L790 |
---|
5439 | | - lsl ip, r3, #1 |
---|
| 5776 | + mov lr, r3 |
---|
| 5777 | + cmp r3, ip |
---|
| 5778 | + bge .L720 |
---|
| 5779 | + lsl r5, r3, #1 |
---|
5440 | 5780 | add r2, r2, #1 |
---|
5441 | | - ldrh ip, [r1, ip] |
---|
5442 | | - cmp ip, #0 |
---|
5443 | | - beq .L798 |
---|
5444 | | - mov ip, #0 |
---|
5445 | | -.L799: |
---|
5446 | | - ldrh r2, [lr] |
---|
| 5781 | + ldrh r5, [r0, r5] |
---|
| 5782 | + cmp r5, #0 |
---|
| 5783 | + beq .L728 |
---|
| 5784 | + mov r5, #0 |
---|
| 5785 | +.L729: |
---|
| 5786 | + ldrh r2, [r1] |
---|
5447 | 5787 | cmp r3, r2 |
---|
5448 | | - bge .L790 |
---|
5449 | | - ldr r1, [r4, #348] |
---|
| 5788 | + bge .L720 |
---|
| 5789 | + sub ip, r3, lr |
---|
| 5790 | + ldr r0, [r4, #348] |
---|
5450 | 5791 | lsl r2, r3, #1 |
---|
5451 | | - sub r0, r3, r5 |
---|
5452 | | - lsl r6, r0, #1 |
---|
5453 | | - ldrh r7, [r1, r2] |
---|
5454 | | - strh r7, [r1, r6] @ movhi |
---|
5455 | | - ldr r1, [r4, #3368] |
---|
5456 | | - ldr r6, [r1, r3, lsl #2] |
---|
5457 | | - str r6, [r1, r0, lsl #2] |
---|
5458 | | - ldr r1, [r4, #348] |
---|
5459 | | - strh ip, [r1, r2] @ movhi |
---|
5460 | | - add r2, r3, #1 |
---|
5461 | | - sxth r3, r2 |
---|
5462 | | - b .L799 |
---|
5463 | | -.L827: |
---|
| 5792 | + lsl r6, ip, #1 |
---|
| 5793 | + ldrh r7, [r0, r2] |
---|
| 5794 | + strh r7, [r0, r6] @ movhi |
---|
| 5795 | + ldr r0, [r4, #3368] |
---|
| 5796 | + ldr r6, [r0, r3, lsl #2] |
---|
| 5797 | + add r3, r3, #1 |
---|
| 5798 | + str r6, [r0, ip, lsl #2] |
---|
| 5799 | + sxth r3, r3 |
---|
| 5800 | + ldr r0, [r4, #348] |
---|
| 5801 | + strh r5, [r0, r2] @ movhi |
---|
| 5802 | + b .L729 |
---|
| 5803 | +.L757: |
---|
5464 | 5804 | .align 2 |
---|
5465 | | -.L826: |
---|
| 5805 | +.L756: |
---|
5466 | 5806 | .word .LANCHOR0 |
---|
5467 | 5807 | .word .LANCHOR0+312 |
---|
5468 | 5808 | .word .LANCHOR0+3436 |
---|
5469 | 5809 | .word .LANCHOR1+231 |
---|
5470 | 5810 | .word .LC8 |
---|
5471 | 5811 | .word .LANCHOR0+344 |
---|
5472 | | - .fnend |
---|
| 5812 | + .word .LANCHOR0+2624 |
---|
5473 | 5813 | .size FtlScanSysBlk, .-FtlScanSysBlk |
---|
5474 | 5814 | .align 2 |
---|
5475 | 5815 | .global FtlLoadBbt |
---|
.. | .. |
---|
5478 | 5818 | .fpu softvfp |
---|
5479 | 5819 | .type FtlLoadBbt, %function |
---|
5480 | 5820 | FtlLoadBbt: |
---|
5481 | | - .fnstart |
---|
5482 | 5821 | @ args = 0, pretend = 0, frame = 0 |
---|
5483 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
5484 | | - push {r4, r5, r6, r7, r8, r9, r10, lr} |
---|
5485 | | - .save {r4, r5, r6, r7, r8, r9, r10, lr} |
---|
5486 | | - ldr r4, .L861 |
---|
5487 | | - ldr r8, .L861+4 |
---|
| 5822 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 5823 | + mov ip, sp |
---|
| 5824 | + push {r3, r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 5825 | + sub fp, ip, #4 |
---|
| 5826 | + push {lr} |
---|
| 5827 | + bl __gnu_mcount_nc |
---|
| 5828 | + ldr r4, .L792 |
---|
| 5829 | + ldr r7, .L792+4 |
---|
| 5830 | + ldr r8, .L792+8 |
---|
5488 | 5831 | ldr r3, [r4, #3300] |
---|
5489 | 5832 | ldr r6, [r4, #3332] |
---|
5490 | | - ldr r7, .L861+8 |
---|
5491 | 5833 | str r3, [r4, #3460] |
---|
5492 | 5834 | str r6, [r4, #3464] |
---|
5493 | 5835 | bl FtlBbtMemInit |
---|
.. | .. |
---|
5495 | 5837 | ldrh r5, [r4, r3] |
---|
5496 | 5838 | sub r5, r5, #1 |
---|
5497 | 5839 | uxth r5, r5 |
---|
5498 | | -.L829: |
---|
5499 | | - ldrh r3, [r8] |
---|
| 5840 | +.L759: |
---|
| 5841 | + ldrh r3, [r7] |
---|
5500 | 5842 | sub r3, r3, #16 |
---|
5501 | 5843 | cmp r5, r3 |
---|
5502 | | - ble .L832 |
---|
| 5844 | + ble .L764 |
---|
| 5845 | + mov r2, #1 |
---|
| 5846 | + mov r0, r8 |
---|
| 5847 | + mov r1, r2 |
---|
5503 | 5848 | lsl r3, r5, #10 |
---|
5504 | | - mov r2, #1 |
---|
5505 | | - mov r1, r2 |
---|
5506 | | - mov r0, r7 |
---|
5507 | 5849 | str r3, [r4, #3456] |
---|
5508 | 5850 | bl FlashReadPages |
---|
5509 | 5851 | ldr r3, [r4, #3452] |
---|
5510 | 5852 | cmn r3, #1 |
---|
5511 | | - bne .L830 |
---|
5512 | | - ldr r3, [r4, #3456] |
---|
5513 | | - mov r2, #1 |
---|
5514 | | - mov r1, r2 |
---|
5515 | | - mov r0, r7 |
---|
5516 | | - add r3, r3, #1 |
---|
5517 | | - str r3, [r4, #3456] |
---|
5518 | | - bl FlashReadPages |
---|
5519 | | -.L830: |
---|
5520 | | - ldr r3, [r4, #3452] |
---|
5521 | | - cmn r3, #1 |
---|
5522 | | - beq .L831 |
---|
| 5853 | + beq .L760 |
---|
| 5854 | +.L763: |
---|
5523 | 5855 | ldrh r2, [r6] |
---|
5524 | 5856 | movw r3, #61649 |
---|
5525 | 5857 | cmp r2, r3 |
---|
5526 | | - bne .L831 |
---|
| 5858 | + bne .L762 |
---|
5527 | 5859 | ldr r2, [r6, #4] |
---|
5528 | | - ldr r3, .L861+12 |
---|
| 5860 | + ldr r3, .L792+12 |
---|
5529 | 5861 | str r2, [r4, #360] |
---|
5530 | 5862 | ldrh r2, [r6, #8] |
---|
5531 | 5863 | strh r5, [r3] @ movhi |
---|
5532 | 5864 | strh r2, [r3, #4] @ movhi |
---|
5533 | | -.L832: |
---|
5534 | | - ldr r5, .L861+12 |
---|
| 5865 | +.L764: |
---|
| 5866 | + ldr r5, .L792+12 |
---|
5535 | 5867 | movw r2, #65535 |
---|
5536 | 5868 | ldrh r3, [r5] |
---|
5537 | 5869 | cmp r3, r2 |
---|
5538 | | - beq .L846 |
---|
| 5870 | + beq .L778 |
---|
5539 | 5871 | ldrh r3, [r5, #4] |
---|
5540 | 5872 | cmp r3, r2 |
---|
5541 | | - beq .L836 |
---|
5542 | | - lsl r3, r3, #10 |
---|
| 5873 | + beq .L768 |
---|
5543 | 5874 | mov r2, #1 |
---|
| 5875 | + ldr r0, .L792+8 |
---|
5544 | 5876 | mov r1, r2 |
---|
5545 | | - ldr r0, .L861+8 |
---|
| 5877 | + lsl r3, r3, #10 |
---|
5546 | 5878 | str r3, [r4, #3456] |
---|
5547 | 5879 | bl FlashReadPages |
---|
5548 | 5880 | ldr r3, [r4, #3452] |
---|
5549 | 5881 | cmn r3, #1 |
---|
5550 | | - beq .L836 |
---|
| 5882 | + beq .L768 |
---|
5551 | 5883 | ldrh r2, [r6] |
---|
5552 | 5884 | movw r3, #61649 |
---|
5553 | 5885 | cmp r2, r3 |
---|
5554 | | - bne .L836 |
---|
| 5886 | + bne .L768 |
---|
5555 | 5887 | ldr r3, [r6, #4] |
---|
5556 | 5888 | ldr r2, [r4, #360] |
---|
5557 | 5889 | cmp r3, r2 |
---|
5558 | | - ldrhhi r2, [r5, #4] |
---|
5559 | | - strhi r3, [r4, #360] |
---|
5560 | | - ldrhhi r3, [r6, #8] |
---|
5561 | | - strhhi r2, [r5] @ movhi |
---|
5562 | | - strhhi r3, [r5, #4] @ movhi |
---|
5563 | | -.L836: |
---|
5564 | | - ldr r8, .L861+8 |
---|
5565 | | - mov r1, #1 |
---|
| 5890 | + bls .L768 |
---|
| 5891 | + str r3, [r4, #360] |
---|
| 5892 | + ldrh r2, [r5, #4] |
---|
| 5893 | + ldrh r3, [r6, #8] |
---|
| 5894 | + strh r2, [r5] @ movhi |
---|
| 5895 | + strh r3, [r5, #4] @ movhi |
---|
| 5896 | +.L768: |
---|
5566 | 5897 | ldrh r0, [r5] |
---|
5567 | | - movw r9, #61649 |
---|
| 5898 | + mov r1, #1 |
---|
| 5899 | + ldr r10, .L792+8 |
---|
5568 | 5900 | bl FtlGetLastWrittenPage |
---|
5569 | | - sxth r7, r0 |
---|
5570 | | - add r0, r0, #1 |
---|
5571 | | - strh r0, [r5, #2] @ movhi |
---|
5572 | | -.L838: |
---|
5573 | | - cmp r7, #0 |
---|
5574 | | - bge .L841 |
---|
| 5901 | + sxth r9, r0 |
---|
| 5902 | + mov r8, r0 |
---|
| 5903 | + add r3, r9, #1 |
---|
| 5904 | + mov r7, #0 |
---|
| 5905 | + strh r3, [r5, #2] @ movhi |
---|
| 5906 | +.L770: |
---|
| 5907 | + sub r3, r8, r7 |
---|
| 5908 | + tst r3, #32768 |
---|
| 5909 | + beq .L773 |
---|
| 5910 | + ldr r1, .L792+16 |
---|
5575 | 5911 | mov r2, #251 |
---|
5576 | | - ldr r1, .L861+16 |
---|
5577 | | - ldr r0, .L861+20 |
---|
| 5912 | + ldr r0, .L792+20 |
---|
5578 | 5913 | bl sftl_printk |
---|
5579 | | -.L840: |
---|
5580 | | - ldrh r3, [r6, #10] |
---|
| 5914 | +.L772: |
---|
5581 | 5915 | ldrh r0, [r6, #12] |
---|
| 5916 | + ldrh r3, [r6, #10] |
---|
5582 | 5917 | strh r3, [r5, #6] @ movhi |
---|
5583 | 5918 | movw r3, #65535 |
---|
5584 | 5919 | cmp r0, r3 |
---|
5585 | | - beq .L843 |
---|
| 5920 | + beq .L775 |
---|
5586 | 5921 | ldr r2, [r4, #228] |
---|
5587 | 5922 | cmp r0, r2 |
---|
5588 | | - beq .L843 |
---|
5589 | | - ldrh r3, [r4, #242] |
---|
5590 | | - lsr r3, r3, #2 |
---|
5591 | | - cmp r0, r3 |
---|
5592 | | - cmpcc r2, r3 |
---|
5593 | | - bcs .L843 |
---|
| 5923 | + beq .L775 |
---|
| 5924 | + ldrh r1, [r4, #242] |
---|
| 5925 | + cmp r0, r1, lsr #2 |
---|
| 5926 | + movcc r3, #1 |
---|
| 5927 | + movcs r3, #0 |
---|
| 5928 | + cmp r2, r1, lsr #2 |
---|
| 5929 | + andcc r3, r3, #1 |
---|
| 5930 | + movcs r3, #0 |
---|
| 5931 | + cmp r3, #0 |
---|
| 5932 | + beq .L775 |
---|
5594 | 5933 | bl FtlSysBlkNumInit |
---|
5595 | | -.L843: |
---|
5596 | | - ldr r6, .L861+24 |
---|
| 5934 | +.L775: |
---|
| 5935 | + ldr r6, .L792+24 |
---|
5597 | 5936 | mov r5, #0 |
---|
5598 | | - ldr r7, .L861+28 |
---|
5599 | | -.L844: |
---|
| 5937 | + add r7, r6, #3008 |
---|
| 5938 | +.L776: |
---|
5600 | 5939 | ldrh r3, [r4, #254] |
---|
5601 | | - cmp r5, r3 |
---|
5602 | | - bcc .L845 |
---|
| 5940 | + cmp r3, r5 |
---|
| 5941 | + bhi .L777 |
---|
5603 | 5942 | mov r0, #0 |
---|
5604 | | - pop {r4, r5, r6, r7, r8, r9, r10, pc} |
---|
5605 | | -.L831: |
---|
| 5943 | + ldmfd sp, {r3, r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 5944 | +.L760: |
---|
| 5945 | + ldr r3, [r4, #3456] |
---|
| 5946 | + mov r2, #1 |
---|
| 5947 | + mov r0, r8 |
---|
| 5948 | + mov r1, r2 |
---|
| 5949 | + add r3, r3, #1 |
---|
| 5950 | + str r3, [r4, #3456] |
---|
| 5951 | + bl FlashReadPages |
---|
| 5952 | + ldr r3, [r4, #3452] |
---|
| 5953 | + cmn r3, #1 |
---|
| 5954 | + bne .L763 |
---|
| 5955 | +.L762: |
---|
5606 | 5956 | sub r5, r5, #1 |
---|
5607 | 5957 | uxth r5, r5 |
---|
5608 | | - b .L829 |
---|
5609 | | -.L841: |
---|
5610 | | - ldrh r3, [r5] |
---|
| 5958 | + b .L759 |
---|
| 5959 | +.L773: |
---|
| 5960 | + ldrh r2, [r5] |
---|
| 5961 | + sub r3, r9, r7 |
---|
| 5962 | + mov r0, r10 |
---|
| 5963 | + orr r3, r3, r2, lsl #10 |
---|
5611 | 5964 | mov r2, #1 |
---|
5612 | | - mov r1, r2 |
---|
5613 | | - mov r0, r8 |
---|
5614 | | - orr r3, r7, r3, lsl #10 |
---|
5615 | 5965 | str r3, [r4, #3456] |
---|
| 5966 | + mov r1, r2 |
---|
5616 | 5967 | ldr r3, [r4, #3300] |
---|
5617 | 5968 | str r3, [r4, #3460] |
---|
5618 | 5969 | bl FlashReadPages |
---|
5619 | 5970 | ldr r3, [r4, #3452] |
---|
5620 | 5971 | cmn r3, #1 |
---|
5621 | | - beq .L839 |
---|
5622 | | - ldrh r3, [r6] |
---|
5623 | | - cmp r3, r9 |
---|
5624 | | - beq .L840 |
---|
5625 | | -.L839: |
---|
5626 | | - sub r7, r7, #1 |
---|
5627 | | - sxth r7, r7 |
---|
5628 | | - b .L838 |
---|
5629 | | -.L845: |
---|
| 5972 | + beq .L771 |
---|
| 5973 | + ldrh r2, [r6] |
---|
| 5974 | + movw r3, #61649 |
---|
| 5975 | + cmp r2, r3 |
---|
| 5976 | + beq .L772 |
---|
| 5977 | +.L771: |
---|
| 5978 | + add r7, r7, #1 |
---|
| 5979 | + b .L770 |
---|
| 5980 | +.L777: |
---|
5630 | 5981 | ldrh r2, [r7] |
---|
5631 | | - ldr r1, [r4, #3460] |
---|
5632 | | - ldr r0, [r6, #4]! |
---|
| 5982 | + ldr r3, [r4, #3460] |
---|
| 5983 | + ldr r0, [r6], #4 |
---|
| 5984 | + mul r1, r5, r2 |
---|
5633 | 5985 | lsl r2, r2, #2 |
---|
5634 | | - mla r1, r5, r2, r1 |
---|
5635 | 5986 | add r5, r5, #1 |
---|
| 5987 | + add r1, r3, r1, lsl #2 |
---|
5636 | 5988 | bl ftl_memcpy |
---|
5637 | | - b .L844 |
---|
5638 | | -.L846: |
---|
| 5989 | + b .L776 |
---|
| 5990 | +.L778: |
---|
5639 | 5991 | mvn r0, #0 |
---|
5640 | | - pop {r4, r5, r6, r7, r8, r9, r10, pc} |
---|
5641 | | -.L862: |
---|
| 5992 | + ldmfd sp, {r3, r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 5993 | +.L793: |
---|
5642 | 5994 | .align 2 |
---|
5643 | | -.L861: |
---|
| 5995 | +.L792: |
---|
5644 | 5996 | .word .LANCHOR0 |
---|
5645 | 5997 | .word .LANCHOR0+298 |
---|
5646 | 5998 | .word .LANCHOR0+3452 |
---|
5647 | 5999 | .word .LANCHOR0+352 |
---|
5648 | 6000 | .word .LANCHOR1+245 |
---|
5649 | 6001 | .word .LC8 |
---|
5650 | | - .word .LANCHOR0+376 |
---|
5651 | | - .word .LANCHOR0+3388 |
---|
5652 | | - .fnend |
---|
| 6002 | + .word .LANCHOR0+380 |
---|
5653 | 6003 | .size FtlLoadBbt, .-FtlLoadBbt |
---|
| 6004 | + .section .rodata.str1.1 |
---|
| 6005 | +.LC95: |
---|
| 6006 | + .ascii "prog read error: = %x\012\000" |
---|
| 6007 | +.LC96: |
---|
| 6008 | + .ascii "prog read REFRESH: = %x\012\000" |
---|
| 6009 | +.LC97: |
---|
| 6010 | + .ascii "prog read s error: = %x %x %x %x %x\012\000" |
---|
| 6011 | +.LC98: |
---|
| 6012 | + .ascii "prog read d error: = %x %x %x %x %x\012\000" |
---|
| 6013 | + .text |
---|
5654 | 6014 | .align 2 |
---|
5655 | 6015 | .global FlashProgPages |
---|
5656 | 6016 | .syntax unified |
---|
.. | .. |
---|
5658 | 6018 | .fpu softvfp |
---|
5659 | 6019 | .type FlashProgPages, %function |
---|
5660 | 6020 | FlashProgPages: |
---|
5661 | | - .fnstart |
---|
5662 | 6021 | @ args = 0, pretend = 0, frame = 48 |
---|
5663 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
5664 | | - push {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
5665 | | - .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
5666 | | - .pad #60 |
---|
| 6022 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 6023 | + mov ip, sp |
---|
| 6024 | + push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 6025 | + sub fp, ip, #4 |
---|
5667 | 6026 | sub sp, sp, #60 |
---|
5668 | | - ldr r6, .L904 |
---|
| 6027 | + push {lr} |
---|
| 6028 | + bl __gnu_mcount_nc |
---|
| 6029 | + mov r3, sp |
---|
| 6030 | + ldr r6, .L833 |
---|
| 6031 | + bic r3, r3, #8128 |
---|
| 6032 | + mov r7, r0 |
---|
| 6033 | + bic r3, r3, #63 |
---|
5669 | 6034 | mov r10, r1 |
---|
5670 | 6035 | mov r4, r0 |
---|
5671 | 6036 | mov r5, r0 |
---|
5672 | | - ldr r3, .L904+4 |
---|
5673 | | - mov r8, #0 |
---|
5674 | | - ldrh fp, [r6, #12] |
---|
5675 | | - mov r9, r6 |
---|
5676 | | - str r2, [sp, #16] |
---|
5677 | | - ldr r2, [r3] |
---|
5678 | | - str r3, [sp, #20] |
---|
5679 | | - str r2, [sp, #52] |
---|
5680 | | - lsl r2, fp, #3 |
---|
5681 | | - str r2, [sp, #12] |
---|
5682 | | -.L864: |
---|
5683 | | - cmp r8, r10 |
---|
5684 | | - bne .L878 |
---|
5685 | | - ldr r7, .L904+8 |
---|
5686 | | - mov r5, #0 |
---|
5687 | | - ldr r9, .L904+12 |
---|
5688 | | - ldr r10, .L904+16 |
---|
5689 | | -.L879: |
---|
5690 | | - cmp r8, r5 |
---|
5691 | | - beq .L872 |
---|
| 6037 | + str r2, [fp, #-88] |
---|
| 6038 | + mov r9, #0 |
---|
| 6039 | + ldr r3, [r3, #24] |
---|
| 6040 | + str r3, [fp, #-48] |
---|
| 6041 | + ldrh r3, [r6, #12] |
---|
| 6042 | + str r3, [fp, #-80] |
---|
| 6043 | + lsl r3, r3, #3 |
---|
| 6044 | + str r3, [fp, #-84] |
---|
| 6045 | +.L795: |
---|
| 6046 | + cmp r9, r10 |
---|
| 6047 | + bne .L808 |
---|
| 6048 | + mov r0, #20 |
---|
| 6049 | + ldr r5, .L833+4 |
---|
| 6050 | + ldr r8, .L833+8 |
---|
| 6051 | + mla r7, r0, r9, r7 |
---|
| 6052 | +.L809: |
---|
| 6053 | + cmp r7, r4 |
---|
| 6054 | + beq .L802 |
---|
5692 | 6055 | ldr r2, [r6, #3320] |
---|
5693 | 6056 | mov r3, #0 |
---|
| 6057 | + sub r0, fp, #68 |
---|
5694 | 6058 | mov r1, #1 |
---|
5695 | | - add r0, sp, #32 |
---|
5696 | 6059 | str r3, [r2] |
---|
5697 | 6060 | ldr r2, [r6, #3328] |
---|
5698 | 6061 | str r3, [r2] |
---|
| 6062 | + ldr r2, [fp, #-88] |
---|
5699 | 6063 | ldr r3, [r4, #4] |
---|
5700 | | - ldr r2, [sp, #16] |
---|
5701 | | - str r3, [sp, #36] |
---|
| 6064 | + str r3, [fp, #-64] |
---|
5702 | 6065 | ldr r3, [r6, #3320] |
---|
5703 | | - str r3, [sp, #40] |
---|
| 6066 | + str r3, [fp, #-60] |
---|
5704 | 6067 | ldr r3, [r6, #3328] |
---|
5705 | | - str r3, [sp, #44] |
---|
| 6068 | + str r3, [fp, #-56] |
---|
5706 | 6069 | bl FlashReadPages |
---|
5707 | | - ldr fp, [sp, #32] |
---|
5708 | | - cmn fp, #1 |
---|
5709 | | - bne .L880 |
---|
| 6070 | + ldr r9, [fp, #-68] |
---|
| 6071 | + cmn r9, #1 |
---|
| 6072 | + bne .L810 |
---|
5710 | 6073 | ldr r1, [r4, #4] |
---|
5711 | | - mov r0, r7 |
---|
| 6074 | + mov r0, r5 |
---|
5712 | 6075 | bl sftl_printk |
---|
5713 | | - str fp, [r4] |
---|
5714 | | -.L880: |
---|
5715 | | - ldr fp, [sp, #32] |
---|
5716 | | - cmp fp, #256 |
---|
5717 | | - bne .L881 |
---|
| 6076 | + str r9, [r4] |
---|
| 6077 | +.L810: |
---|
| 6078 | + ldr r9, [fp, #-68] |
---|
| 6079 | + cmp r9, #256 |
---|
| 6080 | + bne .L811 |
---|
5718 | 6081 | ldr r1, [r4, #4] |
---|
5719 | | - mov r0, r9 |
---|
| 6082 | + mov r0, r8 |
---|
5720 | 6083 | bl sftl_printk |
---|
5721 | | - str fp, [r4] |
---|
5722 | | -.L881: |
---|
| 6084 | + str r9, [r4] |
---|
| 6085 | +.L811: |
---|
5723 | 6086 | ldr r3, [r4, #12] |
---|
5724 | 6087 | cmp r3, #0 |
---|
5725 | | - beq .L882 |
---|
5726 | | - ldr r1, [r6, #3328] |
---|
| 6088 | + beq .L812 |
---|
| 6089 | + ldr r1, .L833 |
---|
5727 | 6090 | ldr r2, [r3] |
---|
| 6091 | + ldr r1, [r1, #3328] |
---|
5728 | 6092 | ldr r0, [r1] |
---|
5729 | 6093 | cmp r2, r0 |
---|
5730 | | - bne .L883 |
---|
| 6094 | + bne .L813 |
---|
5731 | 6095 | ldr lr, [r3, #8] |
---|
5732 | 6096 | ldr ip, [r1, #8] |
---|
5733 | 6097 | cmp lr, ip |
---|
5734 | | - beq .L882 |
---|
5735 | | -.L883: |
---|
| 6098 | + beq .L812 |
---|
| 6099 | +.L813: |
---|
5736 | 6100 | ldr r1, [r1, #4] |
---|
5737 | | - stm sp, {r0, r1} |
---|
5738 | | - mov r0, r10 |
---|
| 6101 | + strd r0, [sp] |
---|
| 6102 | + ldr r0, .L833+12 |
---|
5739 | 6103 | ldr r3, [r3, #4] |
---|
5740 | 6104 | ldr r1, [r4, #4] |
---|
5741 | 6105 | bl sftl_printk |
---|
5742 | 6106 | mvn r3, #0 |
---|
5743 | 6107 | str r3, [r4] |
---|
5744 | | -.L882: |
---|
| 6108 | +.L812: |
---|
5745 | 6109 | ldr r3, [r4, #8] |
---|
5746 | 6110 | cmp r3, #0 |
---|
5747 | | - beq .L884 |
---|
5748 | | - ldr r1, [r6, #3320] |
---|
| 6111 | + beq .L814 |
---|
| 6112 | + ldr r1, .L833 |
---|
5749 | 6113 | ldr r2, [r3] |
---|
| 6114 | + ldr r1, [r1, #3320] |
---|
5750 | 6115 | ldr r0, [r1] |
---|
5751 | 6116 | cmp r2, r0 |
---|
5752 | | - bne .L885 |
---|
| 6117 | + bne .L815 |
---|
5753 | 6118 | ldr lr, [r3, #2048] |
---|
5754 | 6119 | ldr ip, [r1, #2048] |
---|
5755 | 6120 | cmp lr, ip |
---|
5756 | | - beq .L884 |
---|
5757 | | -.L885: |
---|
| 6121 | + beq .L814 |
---|
| 6122 | +.L815: |
---|
5758 | 6123 | ldr r1, [r1, #4] |
---|
5759 | | - stm sp, {r0, r1} |
---|
5760 | | - ldr r0, .L904+20 |
---|
| 6124 | + strd r0, [sp] |
---|
| 6125 | + ldr r0, .L833+16 |
---|
5761 | 6126 | ldr r3, [r3, #4] |
---|
5762 | 6127 | ldr r1, [r4, #4] |
---|
5763 | 6128 | bl sftl_printk |
---|
5764 | 6129 | mvn r3, #0 |
---|
5765 | 6130 | str r3, [r4] |
---|
5766 | | -.L884: |
---|
5767 | | - add r5, r5, #1 |
---|
| 6131 | +.L814: |
---|
5768 | 6132 | add r4, r4, #20 |
---|
5769 | | - b .L879 |
---|
5770 | | -.L878: |
---|
| 6133 | + b .L809 |
---|
| 6134 | +.L808: |
---|
5771 | 6135 | ldr r3, [r5, #8] |
---|
5772 | 6136 | cmp r3, #0 |
---|
5773 | | - beq .L865 |
---|
| 6137 | + beq .L796 |
---|
5774 | 6138 | ldr r3, [r5, #12] |
---|
5775 | 6139 | cmp r3, #0 |
---|
5776 | | - bne .L866 |
---|
5777 | | -.L865: |
---|
| 6140 | + bne .L797 |
---|
| 6141 | +.L796: |
---|
| 6142 | + ldr r1, .L833+20 |
---|
5778 | 6143 | mov r2, #148 |
---|
5779 | | - ldr r1, .L904+24 |
---|
5780 | | - ldr r0, .L904+28 |
---|
| 6144 | + ldr r0, .L833+24 |
---|
5781 | 6145 | bl sftl_printk |
---|
5782 | | -.L866: |
---|
5783 | | - add r2, sp, #24 |
---|
5784 | | - add r1, sp, #28 |
---|
| 6146 | +.L797: |
---|
| 6147 | + sub r2, fp, #76 |
---|
| 6148 | + sub r1, fp, #72 |
---|
5785 | 6149 | mov r0, r5 |
---|
5786 | 6150 | bl l2p_addr_tran |
---|
5787 | | - ldr r7, [sp, #24] |
---|
5788 | | - cmp r7, #3 |
---|
5789 | | - bls .L867 |
---|
5790 | | -.L903: |
---|
| 6151 | + ldr r8, [fp, #-76] |
---|
| 6152 | + cmp r8, #3 |
---|
| 6153 | + bls .L798 |
---|
| 6154 | +.L832: |
---|
5791 | 6155 | mvn r3, #0 |
---|
5792 | 6156 | str r3, [r5] |
---|
5793 | | - b .L868 |
---|
5794 | | -.L867: |
---|
5795 | | - cmp r7, #0 |
---|
5796 | | - bne .L869 |
---|
5797 | | - ldr r3, [sp, #28] |
---|
5798 | | - ldr r2, [sp, #12] |
---|
| 6157 | + b .L799 |
---|
| 6158 | +.L798: |
---|
| 6159 | + cmp r8, #0 |
---|
| 6160 | + bne .L800 |
---|
| 6161 | + ldr r3, [fp, #-72] |
---|
| 6162 | + ldr r2, [fp, #-84] |
---|
5799 | 6163 | cmp r2, r3 |
---|
5800 | | - bls .L869 |
---|
5801 | | - ldr r5, .L904+24 |
---|
5802 | | - ldr r6, .L904+32 |
---|
5803 | | - ldr r8, .L904+36 |
---|
5804 | | - b .L901 |
---|
5805 | | -.L871: |
---|
| 6164 | + bls .L800 |
---|
| 6165 | + ldr r6, .L833+20 |
---|
| 6166 | + ldr r5, .L833+28 |
---|
| 6167 | +.L801: |
---|
| 6168 | + ldr r2, [r4, #4] |
---|
5806 | 6169 | mvn r3, #0 |
---|
5807 | | - ldr r2, [r4, #-16] |
---|
5808 | | - str r3, [r4, #-20] |
---|
5809 | | - mov r1, r5 |
---|
5810 | | - mov r0, r6 |
---|
5811 | | - add r7, r7, #1 |
---|
| 6170 | + mov r1, r6 |
---|
| 6171 | + str r3, [r4] |
---|
| 6172 | + mov r0, r5 |
---|
| 6173 | + add r8, r8, #1 |
---|
5812 | 6174 | bl sftl_printk |
---|
| 6175 | + ldr r1, [r4, #8] |
---|
| 6176 | + ldr r0, .L833+32 |
---|
5813 | 6177 | mov r3, #16 |
---|
5814 | 6178 | mov r2, #4 |
---|
5815 | | - ldr r1, [r4, #-12] |
---|
5816 | | - mov r0, r8 |
---|
| 6179 | + add r4, r4, #20 |
---|
5817 | 6180 | bl rknand_print_hex |
---|
5818 | 6181 | mov r3, #4 |
---|
5819 | 6182 | ldr r1, [r4, #-8] |
---|
5820 | 6183 | mov r2, r3 |
---|
5821 | | - ldr r0, .L904+40 |
---|
| 6184 | + ldr r0, .L833+36 |
---|
5822 | 6185 | bl rknand_print_hex |
---|
5823 | | -.L901: |
---|
5824 | | - cmp r7, r10 |
---|
5825 | | - add r4, r4, #20 |
---|
5826 | | - bne .L871 |
---|
| 6186 | + cmp r10, r8 |
---|
| 6187 | + bne .L801 |
---|
5827 | 6188 | bl dump_stack |
---|
5828 | | -.L872: |
---|
5829 | | - ldr r3, [sp, #20] |
---|
5830 | | - mov r0, #0 |
---|
5831 | | - ldr r2, [sp, #52] |
---|
5832 | | - ldr r3, [r3] |
---|
| 6189 | +.L802: |
---|
| 6190 | + mov r3, sp |
---|
| 6191 | + ldr r2, [fp, #-48] |
---|
| 6192 | + bic r3, r3, #8128 |
---|
| 6193 | + bic r3, r3, #63 |
---|
| 6194 | + ldr r3, [r3, #24] |
---|
5833 | 6195 | cmp r2, r3 |
---|
5834 | | - beq .L887 |
---|
| 6196 | + beq .L817 |
---|
5835 | 6197 | bl __stack_chk_fail |
---|
5836 | | -.L869: |
---|
| 6198 | +.L800: |
---|
5837 | 6199 | ldr r1, [r5, #8] |
---|
5838 | 6200 | tst r1, #63 |
---|
5839 | | - moveq r7, r1 |
---|
5840 | | - beq .L873 |
---|
5841 | | - ldr r7, [r9, #3320] |
---|
5842 | | - cmp r1, r7 |
---|
5843 | | - beq .L873 |
---|
5844 | | - ldr r3, .L904+44 |
---|
5845 | | - mov r0, r7 |
---|
| 6201 | + moveq r8, r1 |
---|
| 6202 | + beq .L803 |
---|
| 6203 | + ldr r8, [r6, #3320] |
---|
| 6204 | + cmp r8, r1 |
---|
| 6205 | + beq .L803 |
---|
| 6206 | + ldr r3, .L833+40 |
---|
| 6207 | + mov r0, r8 |
---|
5846 | 6208 | ldrh r2, [r3] |
---|
5847 | 6209 | lsl r2, r2, #9 |
---|
5848 | 6210 | bl ftl_memcpy |
---|
5849 | | -.L873: |
---|
| 6211 | +.L803: |
---|
5850 | 6212 | ldr r3, [r5, #12] |
---|
5851 | | - mov r2, r7 |
---|
5852 | | - ldr r1, [sp, #28] |
---|
5853 | | - ldrb r0, [sp, #24] @ zero_extendqisi2 |
---|
5854 | | - ldr ip, [r9, #3252] |
---|
| 6213 | + mov r2, r8 |
---|
| 6214 | + ldr r1, [fp, #-72] |
---|
| 6215 | + ldrb r0, [fp, #-76] @ zero_extendqisi2 |
---|
| 6216 | + ldr ip, [r6, #3252] |
---|
5855 | 6217 | blx ip |
---|
5856 | 6218 | cmp r0, #0 |
---|
5857 | | - mvnne r3, #0 |
---|
5858 | 6219 | streq r0, [r5] |
---|
| 6220 | + mvnne r3, #0 |
---|
5859 | 6221 | strne r3, [r5] |
---|
5860 | | - ldrh r3, [r9, #14] |
---|
| 6222 | + ldrh r3, [r6, #14] |
---|
5861 | 6223 | cmp r3, #4 |
---|
5862 | | - bne .L868 |
---|
| 6224 | + bne .L799 |
---|
| 6225 | + ldr r0, [fp, #-80] |
---|
| 6226 | + add r2, r8, #2048 |
---|
5863 | 6227 | ldr r3, [r5, #12] |
---|
5864 | | - add r2, r7, #2048 |
---|
5865 | | - ldr r1, [sp, #28] |
---|
5866 | | - ldrb r0, [sp, #24] @ zero_extendqisi2 |
---|
| 6228 | + ldr r1, [fp, #-72] |
---|
| 6229 | + ldr ip, [r6, #3252] |
---|
5867 | 6230 | add r3, r3, #8 |
---|
5868 | | - ldr ip, [r9, #3252] |
---|
5869 | | - add r1, fp, r1 |
---|
| 6231 | + add r1, r0, r1 |
---|
| 6232 | + ldrb r0, [fp, #-76] @ zero_extendqisi2 |
---|
5870 | 6233 | blx ip |
---|
5871 | 6234 | cmp r0, #0 |
---|
5872 | | - bne .L903 |
---|
5873 | | -.L868: |
---|
5874 | | - add r8, r8, #1 |
---|
| 6235 | + bne .L832 |
---|
| 6236 | +.L799: |
---|
| 6237 | + add r9, r9, #1 |
---|
5875 | 6238 | add r5, r5, #20 |
---|
5876 | | - b .L864 |
---|
5877 | | -.L887: |
---|
5878 | | - add sp, sp, #60 |
---|
5879 | | - @ sp needed |
---|
5880 | | - pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} |
---|
5881 | | -.L905: |
---|
| 6239 | + b .L795 |
---|
| 6240 | +.L817: |
---|
| 6241 | + mov r0, #0 |
---|
| 6242 | + sub sp, fp, #40 |
---|
| 6243 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 6244 | +.L834: |
---|
5882 | 6245 | .align 2 |
---|
5883 | | -.L904: |
---|
| 6246 | +.L833: |
---|
5884 | 6247 | .word .LANCHOR0 |
---|
5885 | | - .word __stack_chk_guard |
---|
5886 | 6248 | .word .LC95 |
---|
5887 | 6249 | .word .LC96 |
---|
5888 | 6250 | .word .LC97 |
---|
.. | .. |
---|
5893 | 6255 | .word .LC87 |
---|
5894 | 6256 | .word .LC88 |
---|
5895 | 6257 | .word .LANCHOR0+258 |
---|
5896 | | - .fnend |
---|
5897 | 6258 | .size FlashProgPages, .-FlashProgPages |
---|
5898 | 6259 | .align 2 |
---|
5899 | 6260 | .global FtlLowFormatEraseBlock |
---|
.. | .. |
---|
5902 | 6263 | .fpu softvfp |
---|
5903 | 6264 | .type FtlLowFormatEraseBlock, %function |
---|
5904 | 6265 | FtlLowFormatEraseBlock: |
---|
5905 | | - .fnstart |
---|
5906 | 6266 | @ args = 0, pretend = 0, frame = 16 |
---|
5907 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
5908 | | - push {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
5909 | | - .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
5910 | | - mov r10, #0 |
---|
5911 | | - ldr r4, .L949 |
---|
5912 | | - mov r6, r1 |
---|
5913 | | - mov r7, r10 |
---|
5914 | | - mov r5, r10 |
---|
5915 | | - mov r9, #20 |
---|
5916 | | - .pad #20 |
---|
| 6267 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 6268 | + mov ip, sp |
---|
| 6269 | + push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 6270 | + sub fp, ip, #4 |
---|
5917 | 6271 | sub sp, sp, #20 |
---|
5918 | | - add fp, r4, #312 |
---|
5919 | | - str r0, [sp, #4] |
---|
5920 | | - str r0, [r4, #3284] |
---|
5921 | | -.L907: |
---|
5922 | | - ldrh r1, [r4, #232] |
---|
5923 | | - uxth r3, r10 |
---|
5924 | | - cmp r1, r3 |
---|
5925 | | - bhi .L911 |
---|
5926 | | - cmp r7, #0 |
---|
5927 | | - beq .L906 |
---|
5928 | | - mov r8, #0 |
---|
5929 | | - mov r9, #20 |
---|
5930 | | - mov r2, r7 |
---|
5931 | | - mov r1, #0 |
---|
5932 | | - ldr r0, [r4, #3268] |
---|
5933 | | - bl FlashEraseBlocks |
---|
5934 | | -.L914: |
---|
5935 | | - uxth r3, r8 |
---|
5936 | | - cmp r7, r3 |
---|
5937 | | - bhi .L916 |
---|
5938 | | -.L917: |
---|
5939 | | - cmp r6, #0 |
---|
5940 | | - mov r8, #0 |
---|
5941 | | - ldrne r3, .L949+4 |
---|
5942 | | - mov fp, #20 |
---|
5943 | | - moveq r3, #2 |
---|
5944 | | - streq r6, [sp, #8] |
---|
5945 | | - streq r3, [sp, #12] |
---|
5946 | | - ldrhne r3, [r3] |
---|
5947 | | - strne r3, [sp, #12] |
---|
5948 | | - movne r3, #1 |
---|
5949 | | - strne r3, [sp, #8] |
---|
5950 | | -.L926: |
---|
5951 | | - mov r10, #0 |
---|
5952 | | - mov r7, r10 |
---|
5953 | | -.L918: |
---|
5954 | | - ldrh r1, [r4, #232] |
---|
5955 | | - uxth r3, r10 |
---|
5956 | | - cmp r1, r3 |
---|
5957 | | - bhi .L921 |
---|
5958 | | - cmp r7, #0 |
---|
5959 | | - beq .L906 |
---|
| 6272 | + push {lr} |
---|
| 6273 | + bl __gnu_mcount_nc |
---|
| 6274 | + ldr r4, .L877 |
---|
5960 | 6275 | mov r9, #0 |
---|
5961 | | - mov r3, #1 |
---|
5962 | | - ldr r2, [sp, #8] |
---|
5963 | | - mov r1, r7 |
---|
5964 | | - ldr r0, [r4, #3268] |
---|
5965 | | - bl FlashProgPages |
---|
5966 | | -.L923: |
---|
5967 | | - uxth r3, r9 |
---|
5968 | | - cmp r7, r3 |
---|
5969 | | - bhi .L925 |
---|
5970 | | - add r8, r8, #1 |
---|
5971 | | - ldr r2, [sp, #12] |
---|
5972 | | - uxth r3, r8 |
---|
5973 | | - cmp r2, r3 |
---|
5974 | | - bhi .L926 |
---|
5975 | | - mov r8, #0 |
---|
5976 | | - mov r9, #20 |
---|
5977 | | -.L927: |
---|
5978 | | - uxth r3, r8 |
---|
5979 | | - cmp r7, r3 |
---|
5980 | | - bhi .L929 |
---|
5981 | | - ldr r3, [sp, #4] |
---|
5982 | | - adds r6, r6, #0 |
---|
5983 | | - movne r6, #1 |
---|
5984 | | - cmp r3, #63 |
---|
5985 | | - orrls r6, r6, #1 |
---|
| 6276 | + mov r6, r9 |
---|
| 6277 | + mov r5, r9 |
---|
| 6278 | + add r10, r4, #312 |
---|
| 6279 | + strd r0, [fp, #-52] |
---|
| 6280 | + mov r8, #20 |
---|
| 6281 | + str r0, [r4, #3284] |
---|
| 6282 | +.L836: |
---|
| 6283 | + ldrh r1, [r4, #232] |
---|
| 6284 | + uxth r2, r9 |
---|
| 6285 | + cmp r1, r2 |
---|
| 6286 | + bhi .L840 |
---|
5986 | 6287 | cmp r6, #0 |
---|
5987 | | - beq .L906 |
---|
5988 | | - mov r2, r7 |
---|
5989 | | - ldr r1, [sp, #8] |
---|
| 6288 | + beq .L835 |
---|
| 6289 | + mov r7, #0 |
---|
| 6290 | + mov r8, #20 |
---|
5990 | 6291 | ldr r0, [r4, #3268] |
---|
| 6292 | + mov r2, r6 |
---|
| 6293 | + mov r1, #0 |
---|
5991 | 6294 | bl FlashEraseBlocks |
---|
5992 | | -.L906: |
---|
5993 | | - mov r0, r5 |
---|
5994 | | - add sp, sp, #20 |
---|
5995 | | - @ sp needed |
---|
5996 | | - pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} |
---|
5997 | | -.L911: |
---|
5998 | | - uxth r3, r10 |
---|
5999 | | - ldr r0, [r4, #3268] |
---|
6000 | | - mov r2, #0 |
---|
6001 | | - mul r1, r9, r3 |
---|
6002 | | - add r3, r4, r3 |
---|
6003 | | - str r2, [r0, r1] |
---|
6004 | | - ldr r1, [sp, #4] |
---|
6005 | | - ldrb r0, [r3, #260] @ zero_extendqisi2 |
---|
6006 | | - bl V2P_block |
---|
6007 | | - cmp r6, #0 |
---|
6008 | | - mov r8, r0 |
---|
6009 | | - beq .L908 |
---|
6010 | | - bl IsBlkInVendorPart |
---|
6011 | | - cmp r0, #0 |
---|
6012 | | - bne .L909 |
---|
6013 | | -.L908: |
---|
6014 | | - mov r0, r8 |
---|
6015 | | - bl FtlBbmIsBadBlock |
---|
6016 | | - cmp r0, #0 |
---|
6017 | | - addne r5, r5, #1 |
---|
6018 | | - uxthne r5, r5 |
---|
6019 | | - bne .L909 |
---|
6020 | | - ldr r1, [r4, #3268] |
---|
6021 | | - lsl r8, r8, #10 |
---|
6022 | | - ldr r3, [r4, #3316] |
---|
6023 | | - mla r1, r9, r7, r1 |
---|
6024 | | - str r3, [r1, #8] |
---|
6025 | | - ldrh r3, [fp] |
---|
6026 | | - str r8, [r1, #4] |
---|
6027 | | - mul r3, r7, r3 |
---|
6028 | | - add r7, r7, #1 |
---|
6029 | | - uxth r7, r7 |
---|
6030 | | - add r0, r3, #3 |
---|
6031 | | - cmp r3, #0 |
---|
6032 | | - movlt r3, r0 |
---|
6033 | | - ldr r0, [r4, #3336] |
---|
6034 | | - bic r3, r3, #3 |
---|
6035 | | - add r3, r0, r3 |
---|
6036 | | - str r3, [r1, #12] |
---|
6037 | | -.L909: |
---|
6038 | | - add r10, r10, #1 |
---|
6039 | | - b .L907 |
---|
6040 | | -.L916: |
---|
6041 | | - mul r3, r9, r8 |
---|
| 6295 | +.L844: |
---|
| 6296 | + mul r3, r8, r7 |
---|
6042 | 6297 | ldr r2, [r4, #3268] |
---|
6043 | 6298 | add r1, r2, r3 |
---|
6044 | 6299 | ldr r3, [r2, r3] |
---|
6045 | 6300 | cmn r3, #1 |
---|
6046 | | - bne .L915 |
---|
| 6301 | + bne .L843 |
---|
6047 | 6302 | ldr r0, [r1, #4] |
---|
6048 | 6303 | add r5, r5, #1 |
---|
6049 | 6304 | uxth r5, r5 |
---|
6050 | 6305 | ubfx r0, r0, #10, #16 |
---|
6051 | 6306 | bl FtlBbmMapBadBlock |
---|
6052 | | -.L915: |
---|
6053 | | - add r8, r8, #1 |
---|
6054 | | - b .L914 |
---|
6055 | | -.L921: |
---|
6056 | | - uxth r3, r10 |
---|
6057 | | - ldr r0, [r4, #3268] |
---|
6058 | | - mov r2, #0 |
---|
6059 | | - mul r1, fp, r3 |
---|
6060 | | - add r3, r4, r3 |
---|
6061 | | - str r2, [r0, r1] |
---|
6062 | | - ldr r1, [sp, #4] |
---|
6063 | | - ldrb r0, [r3, #260] @ zero_extendqisi2 |
---|
6064 | | - bl V2P_block |
---|
6065 | | - cmp r6, #0 |
---|
6066 | | - mov r9, r0 |
---|
6067 | | - beq .L919 |
---|
6068 | | - bl IsBlkInVendorPart |
---|
6069 | | - cmp r0, #0 |
---|
6070 | | - bne .L920 |
---|
6071 | | -.L919: |
---|
6072 | | - mov r0, r9 |
---|
6073 | | - bl FtlBbmIsBadBlock |
---|
6074 | | - cmp r0, #0 |
---|
6075 | | - bne .L920 |
---|
6076 | | - ldr r1, [r4, #3268] |
---|
6077 | | - add r9, r8, r9, lsl #10 |
---|
6078 | | - ldr r3, [r4, #3312] |
---|
6079 | | - mla r1, fp, r7, r1 |
---|
6080 | | - str r3, [r1, #8] |
---|
6081 | | - ldr r3, .L949+8 |
---|
6082 | | - str r9, [r1, #4] |
---|
6083 | | - ldrh r3, [r3] |
---|
6084 | | - mul r3, r7, r3 |
---|
| 6307 | +.L843: |
---|
6085 | 6308 | add r7, r7, #1 |
---|
6086 | | - uxth r7, r7 |
---|
6087 | | - add r0, r3, #3 |
---|
| 6309 | + uxth r3, r7 |
---|
| 6310 | + cmp r6, r3 |
---|
| 6311 | + bhi .L844 |
---|
| 6312 | +.L845: |
---|
| 6313 | + ldr r3, [fp, #-48] |
---|
| 6314 | + mov r9, #0 |
---|
6088 | 6315 | cmp r3, #0 |
---|
6089 | | - movlt r3, r0 |
---|
6090 | | - ldr r0, [r4, #3316] |
---|
6091 | | - bic r3, r3, #3 |
---|
6092 | | - add r3, r0, r3 |
---|
6093 | | - str r3, [r1, #12] |
---|
6094 | | -.L920: |
---|
6095 | | - add r10, r10, #1 |
---|
6096 | | - b .L918 |
---|
6097 | | -.L925: |
---|
6098 | | - mul r3, fp, r9 |
---|
| 6316 | + moveq r3, #2 |
---|
| 6317 | + movne r8, #1 |
---|
| 6318 | + ldrne r3, .L877+4 |
---|
| 6319 | + ldreq r8, [fp, #-48] |
---|
| 6320 | + streq r3, [fp, #-56] |
---|
| 6321 | + ldrhne r3, [r3] |
---|
| 6322 | + strne r3, [fp, #-56] |
---|
| 6323 | +.L853: |
---|
| 6324 | + mov r10, #0 |
---|
| 6325 | + mov r6, r10 |
---|
| 6326 | +.L846: |
---|
| 6327 | + ldrh r1, [r4, #232] |
---|
| 6328 | + uxth r2, r10 |
---|
| 6329 | + cmp r1, r2 |
---|
| 6330 | + bhi .L849 |
---|
| 6331 | + cmp r6, #0 |
---|
| 6332 | + beq .L835 |
---|
| 6333 | + mov r7, #0 |
---|
| 6334 | + mov r10, #20 |
---|
| 6335 | + ldr r0, [r4, #3268] |
---|
| 6336 | + mov r2, r8 |
---|
| 6337 | + mov r1, r6 |
---|
| 6338 | + mov r3, #1 |
---|
| 6339 | + bl FlashProgPages |
---|
| 6340 | +.L852: |
---|
| 6341 | + mul r3, r10, r7 |
---|
6099 | 6342 | ldr r2, [r4, #3268] |
---|
6100 | 6343 | add r1, r2, r3 |
---|
6101 | 6344 | ldr r3, [r2, r3] |
---|
6102 | 6345 | cmp r3, #0 |
---|
6103 | | - beq .L924 |
---|
| 6346 | + beq .L851 |
---|
6104 | 6347 | ldr r0, [r1, #4] |
---|
6105 | 6348 | add r5, r5, #1 |
---|
6106 | 6349 | uxth r5, r5 |
---|
6107 | 6350 | ubfx r0, r0, #10, #16 |
---|
6108 | 6351 | bl FtlBbmMapBadBlock |
---|
6109 | | -.L924: |
---|
| 6352 | +.L851: |
---|
| 6353 | + add r7, r7, #1 |
---|
| 6354 | + uxth r3, r7 |
---|
| 6355 | + cmp r6, r3 |
---|
| 6356 | + bhi .L852 |
---|
6110 | 6357 | add r9, r9, #1 |
---|
6111 | | - b .L923 |
---|
6112 | | -.L929: |
---|
6113 | | - cmp r6, #0 |
---|
6114 | | - beq .L928 |
---|
6115 | | - mul r3, r9, r8 |
---|
| 6358 | + ldr r2, [fp, #-56] |
---|
| 6359 | + uxth r3, r9 |
---|
| 6360 | + cmp r2, r3 |
---|
| 6361 | + bhi .L853 |
---|
| 6362 | + mov r7, #0 |
---|
| 6363 | + mov r9, #20 |
---|
| 6364 | +.L855: |
---|
| 6365 | + ldr r3, [fp, #-48] |
---|
| 6366 | + cmp r3, #0 |
---|
| 6367 | + beq .L854 |
---|
| 6368 | + mul r3, r9, r7 |
---|
6116 | 6369 | ldr r2, [r4, #3268] |
---|
6117 | 6370 | add r1, r2, r3 |
---|
6118 | 6371 | ldr r3, [r2, r3] |
---|
6119 | 6372 | cmp r3, #0 |
---|
6120 | | - bne .L928 |
---|
| 6373 | + bne .L854 |
---|
6121 | 6374 | ldr r0, [r1, #4] |
---|
6122 | 6375 | mov r1, #1 |
---|
6123 | 6376 | ubfx r0, r0, #10, #16 |
---|
6124 | 6377 | bl FtlFreeSysBlkQueueIn |
---|
6125 | | -.L928: |
---|
6126 | | - add r8, r8, #1 |
---|
6127 | | - b .L927 |
---|
6128 | | -.L950: |
---|
| 6378 | +.L854: |
---|
| 6379 | + add r7, r7, #1 |
---|
| 6380 | + uxth r3, r7 |
---|
| 6381 | + cmp r6, r3 |
---|
| 6382 | + bhi .L855 |
---|
| 6383 | + ldr r3, [fp, #-48] |
---|
| 6384 | + subs r1, r3, #0 |
---|
| 6385 | + ldr r3, [fp, #-52] |
---|
| 6386 | + movne r1, #1 |
---|
| 6387 | + cmp r3, #63 |
---|
| 6388 | + orrls r1, r1, #1 |
---|
| 6389 | + cmp r1, #0 |
---|
| 6390 | + beq .L835 |
---|
| 6391 | + ldr r0, [r4, #3268] |
---|
| 6392 | + mov r2, r6 |
---|
| 6393 | + mov r1, r8 |
---|
| 6394 | + bl FlashEraseBlocks |
---|
| 6395 | +.L835: |
---|
| 6396 | + mov r0, r5 |
---|
| 6397 | + sub sp, fp, #40 |
---|
| 6398 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 6399 | +.L840: |
---|
| 6400 | + uxth r2, r9 |
---|
| 6401 | + ldr r0, [r4, #3268] |
---|
| 6402 | + mov r3, #0 |
---|
| 6403 | + mul r1, r8, r2 |
---|
| 6404 | + add r2, r4, r2 |
---|
| 6405 | + str r3, [r0, r1] |
---|
| 6406 | + ldr r1, [fp, #-52] |
---|
| 6407 | + ldrb r0, [r2, #260] @ zero_extendqisi2 |
---|
| 6408 | + bl V2P_block |
---|
| 6409 | + ldr r3, [fp, #-48] |
---|
| 6410 | + mov r7, r0 |
---|
| 6411 | + cmp r3, #0 |
---|
| 6412 | + beq .L837 |
---|
| 6413 | + bl IsBlkInVendorPart |
---|
| 6414 | + cmp r0, #0 |
---|
| 6415 | + bne .L838 |
---|
| 6416 | +.L837: |
---|
| 6417 | + mov r0, r7 |
---|
| 6418 | + bl FtlBbmIsBadBlock |
---|
| 6419 | + cmp r0, #0 |
---|
| 6420 | + addne r5, r5, #1 |
---|
| 6421 | + uxthne r5, r5 |
---|
| 6422 | + bne .L838 |
---|
| 6423 | + ldr r2, [r4, #3268] |
---|
| 6424 | + lsl r7, r7, #10 |
---|
| 6425 | + ldrh r0, [r10] |
---|
| 6426 | + ldr r1, [r4, #3316] |
---|
| 6427 | + mla r2, r8, r6, r2 |
---|
| 6428 | + mul r0, r6, r0 |
---|
| 6429 | + add r6, r6, #1 |
---|
| 6430 | + cmp r0, #0 |
---|
| 6431 | + uxth r6, r6 |
---|
| 6432 | + str r1, [r2, #8] |
---|
| 6433 | + add r1, r0, #3 |
---|
| 6434 | + movge r1, r0 |
---|
| 6435 | + ldr r0, [r4, #3336] |
---|
| 6436 | + bic r1, r1, #3 |
---|
| 6437 | + str r7, [r2, #4] |
---|
| 6438 | + add r1, r0, r1 |
---|
| 6439 | + str r1, [r2, #12] |
---|
| 6440 | +.L838: |
---|
| 6441 | + add r9, r9, #1 |
---|
| 6442 | + b .L836 |
---|
| 6443 | +.L849: |
---|
| 6444 | + uxth r2, r10 |
---|
| 6445 | + mov r3, #20 |
---|
| 6446 | + ldr r0, [r4, #3268] |
---|
| 6447 | + mul r1, r3, r2 |
---|
| 6448 | + add r2, r4, r2 |
---|
| 6449 | + mov r3, #0 |
---|
| 6450 | + str r3, [r0, r1] |
---|
| 6451 | + ldr r1, [fp, #-52] |
---|
| 6452 | + ldrb r0, [r2, #260] @ zero_extendqisi2 |
---|
| 6453 | + bl V2P_block |
---|
| 6454 | + ldr r3, [fp, #-48] |
---|
| 6455 | + mov r7, r0 |
---|
| 6456 | + cmp r3, #0 |
---|
| 6457 | + beq .L847 |
---|
| 6458 | + bl IsBlkInVendorPart |
---|
| 6459 | + cmp r0, #0 |
---|
| 6460 | + bne .L848 |
---|
| 6461 | +.L847: |
---|
| 6462 | + mov r0, r7 |
---|
| 6463 | + bl FtlBbmIsBadBlock |
---|
| 6464 | + cmp r0, #0 |
---|
| 6465 | + bne .L848 |
---|
| 6466 | + ldr r2, [r4, #3268] |
---|
| 6467 | + mov r3, #20 |
---|
| 6468 | + ldr r1, [r4, #3312] |
---|
| 6469 | + add r7, r9, r7, lsl #10 |
---|
| 6470 | + mla r2, r3, r6, r2 |
---|
| 6471 | + ldr r3, .L877+8 |
---|
| 6472 | + ldrh r0, [r3] |
---|
| 6473 | + str r1, [r2, #8] |
---|
| 6474 | + str r7, [r2, #4] |
---|
| 6475 | + mul r0, r6, r0 |
---|
| 6476 | + add r6, r6, #1 |
---|
| 6477 | + cmp r0, #0 |
---|
| 6478 | + add r1, r0, #3 |
---|
| 6479 | + movge r1, r0 |
---|
| 6480 | + ldr r0, [r4, #3316] |
---|
| 6481 | + bic r1, r1, #3 |
---|
| 6482 | + uxth r6, r6 |
---|
| 6483 | + add r1, r0, r1 |
---|
| 6484 | + str r1, [r2, #12] |
---|
| 6485 | +.L848: |
---|
| 6486 | + add r10, r10, #1 |
---|
| 6487 | + b .L846 |
---|
| 6488 | +.L878: |
---|
6129 | 6489 | .align 2 |
---|
6130 | | -.L949: |
---|
| 6490 | +.L877: |
---|
6131 | 6491 | .word .LANCHOR0 |
---|
6132 | 6492 | .word .LANCHOR0+304 |
---|
6133 | 6493 | .word .LANCHOR0+312 |
---|
6134 | | - .fnend |
---|
6135 | 6494 | .size FtlLowFormatEraseBlock, .-FtlLowFormatEraseBlock |
---|
6136 | 6495 | .align 2 |
---|
6137 | 6496 | .global FlashTestBlk |
---|
.. | .. |
---|
6140 | 6499 | .fpu softvfp |
---|
6141 | 6500 | .type FlashTestBlk, %function |
---|
6142 | 6501 | FlashTestBlk: |
---|
6143 | | - .fnstart |
---|
6144 | 6502 | @ args = 0, pretend = 0, frame = 88 |
---|
6145 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
6146 | | - ldr r3, .L958 |
---|
| 6503 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 6504 | + mov ip, sp |
---|
| 6505 | + push {r4, r5, r6, fp, ip, lr, pc} |
---|
| 6506 | + sub fp, ip, #4 |
---|
| 6507 | + sub sp, sp, #92 |
---|
| 6508 | + push {lr} |
---|
| 6509 | + bl __gnu_mcount_nc |
---|
| 6510 | + mov r3, sp |
---|
6147 | 6511 | cmp r0, #11 |
---|
6148 | | - push {r4, r5, r6, lr} |
---|
6149 | | - .save {r4, r5, r6, lr} |
---|
6150 | | - .pad #88 |
---|
6151 | | - sub sp, sp, #88 |
---|
6152 | | - movls r4, #0 |
---|
6153 | | - mov r6, r3 |
---|
6154 | | - ldr r2, [r3] |
---|
6155 | | - str r2, [sp, #84] |
---|
6156 | | - bls .L951 |
---|
6157 | | - ldr r4, .L958+4 |
---|
6158 | | - mov r5, r0 |
---|
| 6512 | + bic r6, r3, #8128 |
---|
| 6513 | + mov r4, r0 |
---|
| 6514 | + bic r6, r6, #63 |
---|
| 6515 | + movls r5, #0 |
---|
| 6516 | + ldr r3, [r6, #24] |
---|
| 6517 | + str r3, [fp, #-32] |
---|
| 6518 | + bls .L879 |
---|
| 6519 | + ldr r5, .L885 |
---|
| 6520 | + sub r0, fp, #96 |
---|
6159 | 6521 | mov r2, #32 |
---|
6160 | | - add r0, sp, #20 |
---|
6161 | 6522 | mov r1, #165 |
---|
6162 | | - str r0, [sp, #12] |
---|
6163 | | - ldr r3, [r4, #3324] |
---|
6164 | | - lsl r5, r5, #10 |
---|
6165 | | - str r3, [sp, #8] |
---|
| 6523 | + str r0, [fp, #-104] |
---|
| 6524 | + lsl r4, r4, #10 |
---|
| 6525 | + ldr r3, [r5, #3324] |
---|
| 6526 | + str r3, [fp, #-108] |
---|
6166 | 6527 | bl ftl_memset |
---|
| 6528 | + ldr r0, [r5, #3324] |
---|
6167 | 6529 | mov r2, #8 |
---|
6168 | 6530 | mov r1, #90 |
---|
6169 | | - ldr r0, [r4, #3324] |
---|
6170 | 6531 | bl ftl_memset |
---|
6171 | 6532 | mov r2, #1 |
---|
6172 | | - mov r0, sp |
---|
| 6533 | + sub r0, fp, #116 |
---|
6173 | 6534 | mov r1, r2 |
---|
6174 | | - str r5, [sp, #4] |
---|
| 6535 | + str r4, [fp, #-112] |
---|
6175 | 6536 | bl FlashEraseBlocks |
---|
6176 | 6537 | mov r3, #1 |
---|
6177 | | - mov r0, sp |
---|
| 6538 | + sub r0, fp, #116 |
---|
6178 | 6539 | mov r2, r3 |
---|
6179 | 6540 | mov r1, r3 |
---|
6180 | 6541 | bl FlashProgPages |
---|
6181 | | - ldr r3, [sp] |
---|
| 6542 | + ldr r3, [fp, #-116] |
---|
6182 | 6543 | cmp r3, #0 |
---|
6183 | | - mvnne r4, #0 |
---|
6184 | | - bne .L953 |
---|
6185 | | - add r3, r5, #1 |
---|
6186 | | - mov r0, sp |
---|
6187 | | - str r3, [sp, #4] |
---|
| 6544 | + mvnne r5, #0 |
---|
| 6545 | + bne .L881 |
---|
| 6546 | + add r3, r4, #1 |
---|
| 6547 | + sub r0, fp, #116 |
---|
| 6548 | + str r3, [fp, #-112] |
---|
6188 | 6549 | mov r3, #1 |
---|
6189 | 6550 | mov r2, r3 |
---|
6190 | 6551 | mov r1, r3 |
---|
6191 | 6552 | bl FlashProgPages |
---|
6192 | | - ldr r4, [sp] |
---|
6193 | | - adds r4, r4, #0 |
---|
6194 | | - movne r4, #1 |
---|
6195 | | - rsb r4, r4, #0 |
---|
6196 | | -.L953: |
---|
| 6553 | + ldr r5, [fp, #-116] |
---|
| 6554 | + subs r5, r5, #0 |
---|
| 6555 | + movne r5, #1 |
---|
| 6556 | + rsb r5, r5, #0 |
---|
| 6557 | +.L881: |
---|
| 6558 | + sub r0, fp, #116 |
---|
6197 | 6559 | mov r2, #1 |
---|
6198 | 6560 | mov r1, #0 |
---|
6199 | | - mov r0, sp |
---|
6200 | | - str r5, [sp, #4] |
---|
| 6561 | + str r4, [fp, #-112] |
---|
6201 | 6562 | bl FlashEraseBlocks |
---|
6202 | | -.L951: |
---|
6203 | | - ldr r2, [sp, #84] |
---|
6204 | | - mov r0, r4 |
---|
6205 | | - ldr r3, [r6] |
---|
| 6563 | +.L879: |
---|
| 6564 | + ldr r2, [fp, #-32] |
---|
| 6565 | + ldr r3, [r6, #24] |
---|
6206 | 6566 | cmp r2, r3 |
---|
6207 | | - beq .L954 |
---|
| 6567 | + beq .L882 |
---|
6208 | 6568 | bl __stack_chk_fail |
---|
6209 | | -.L954: |
---|
6210 | | - add sp, sp, #88 |
---|
6211 | | - @ sp needed |
---|
6212 | | - pop {r4, r5, r6, pc} |
---|
6213 | | -.L959: |
---|
| 6569 | +.L882: |
---|
| 6570 | + mov r0, r5 |
---|
| 6571 | + sub sp, fp, #24 |
---|
| 6572 | + ldmfd sp, {r4, r5, r6, fp, sp, pc} |
---|
| 6573 | +.L886: |
---|
6214 | 6574 | .align 2 |
---|
6215 | | -.L958: |
---|
6216 | | - .word __stack_chk_guard |
---|
| 6575 | +.L885: |
---|
6217 | 6576 | .word .LANCHOR0 |
---|
6218 | | - .fnend |
---|
6219 | 6577 | .size FlashTestBlk, .-FlashTestBlk |
---|
| 6578 | + .section .rodata.str1.1 |
---|
| 6579 | +.LC99: |
---|
| 6580 | + .ascii "FtlBbmTblFlush id=%x,page=%x,previd=%x cnt=%d\012\000" |
---|
| 6581 | +.LC100: |
---|
| 6582 | + .ascii "FtlBbmTblFlush error:%x\012\000" |
---|
| 6583 | +.LC101: |
---|
| 6584 | + .ascii "FtlBbmTblFlush error = %x error count = %d\012\000" |
---|
| 6585 | + .text |
---|
6220 | 6586 | .align 2 |
---|
6221 | 6587 | .global FtlBbmTblFlush |
---|
6222 | 6588 | .syntax unified |
---|
.. | .. |
---|
6224 | 6590 | .fpu softvfp |
---|
6225 | 6591 | .type FtlBbmTblFlush, %function |
---|
6226 | 6592 | FtlBbmTblFlush: |
---|
6227 | | - .fnstart |
---|
6228 | 6593 | @ args = 0, pretend = 0, frame = 0 |
---|
6229 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
6230 | | - push {r0, r1, r2, r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
6231 | | - .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
6232 | | - .pad #12 |
---|
| 6594 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 6595 | + mov ip, sp |
---|
| 6596 | + push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 6597 | + sub fp, ip, #4 |
---|
| 6598 | + sub sp, sp, #12 |
---|
| 6599 | + push {lr} |
---|
| 6600 | + bl __gnu_mcount_nc |
---|
| 6601 | + ldr r4, .L895 |
---|
6233 | 6602 | mov r5, #0 |
---|
6234 | | - ldr r4, .L973 |
---|
6235 | 6603 | mov r1, #0 |
---|
6236 | | - ldr r7, .L973+4 |
---|
| 6604 | + add r6, r4, #380 |
---|
| 6605 | + add r7, r6, #3008 |
---|
6237 | 6606 | ldr r3, [r4, #3332] |
---|
6238 | | - add r6, r4, #376 |
---|
6239 | | - ldr r0, [r4, #3300] |
---|
6240 | 6607 | str r3, [r4, #3464] |
---|
6241 | 6608 | movw r3, #310 |
---|
| 6609 | + ldr r0, [r4, #3300] |
---|
6242 | 6610 | ldrh r2, [r4, r3] |
---|
6243 | 6611 | str r0, [r4, #3460] |
---|
6244 | 6612 | bl ftl_memset |
---|
6245 | | -.L961: |
---|
| 6613 | +.L888: |
---|
6246 | 6614 | ldrh r3, [r4, #254] |
---|
6247 | | - cmp r5, r3 |
---|
6248 | | - blt .L962 |
---|
6249 | | - ldr r7, [r4, #3464] |
---|
| 6615 | + cmp r3, r5 |
---|
| 6616 | + bgt .L889 |
---|
| 6617 | + ldr r6, [r4, #3464] |
---|
6250 | 6618 | mov r2, #16 |
---|
| 6619 | + ldr r5, .L895+4 |
---|
6251 | 6620 | mov r1, #255 |
---|
6252 | | - ldr r6, .L973+8 |
---|
6253 | | - ldr r10, .L973+12 |
---|
6254 | | - mov r5, #0 |
---|
6255 | | - mov r0, r7 |
---|
6256 | | - mov r8, r5 |
---|
| 6621 | + mov r0, r6 |
---|
| 6622 | + mov r7, #0 |
---|
6257 | 6623 | bl ftl_memset |
---|
6258 | | - ldr r3, .L973+16 |
---|
6259 | | - sub r9, r6, #48 |
---|
6260 | | - strh r3, [r7] @ movhi |
---|
| 6624 | + ldr r3, .L895+8 |
---|
| 6625 | + strh r3, [r6] @ movhi |
---|
| 6626 | + mov r9, r5 |
---|
| 6627 | + mov r8, r7 |
---|
6261 | 6628 | ldr r3, [r4, #360] |
---|
6262 | | - str r3, [r7, #4] |
---|
6263 | | - ldrh r3, [r6] |
---|
6264 | | - strh r3, [r7, #2] @ movhi |
---|
6265 | | - ldrh r3, [r6, #4] |
---|
6266 | | - strh r3, [r7, #8] @ movhi |
---|
6267 | | - ldrh r3, [r6, #6] |
---|
6268 | | - strh r3, [r7, #10] @ movhi |
---|
| 6629 | + str r3, [r6, #4] |
---|
| 6630 | + ldrh r3, [r9], #-48 |
---|
| 6631 | + strh r3, [r6, #2] @ movhi |
---|
| 6632 | + ldr r3, [r4, #356] |
---|
| 6633 | + str r3, [r6, #8] |
---|
6269 | 6634 | ldr r3, [r4, #228] |
---|
6270 | | - strh r3, [r7, #12] @ movhi |
---|
| 6635 | + strh r3, [r6, #12] @ movhi |
---|
6271 | 6636 | ldr r3, [r4, #2604] |
---|
6272 | | - strh r3, [r7, #14] @ movhi |
---|
6273 | | -.L963: |
---|
| 6637 | + strh r3, [r6, #14] @ movhi |
---|
| 6638 | +.L890: |
---|
6274 | 6639 | ldr r3, [r4, #3300] |
---|
6275 | | - mov fp, #0 |
---|
6276 | | - ldrh r2, [r6, #2] |
---|
6277 | | - ldrh r1, [r6] |
---|
| 6640 | + mov r10, #0 |
---|
| 6641 | + ldrh r2, [r5, #2] |
---|
| 6642 | + ldrh r1, [r5] |
---|
6278 | 6643 | str r3, [r4, #3460] |
---|
6279 | 6644 | ldr r3, [r4, #3332] |
---|
6280 | | - str fp, [r4, #3452] |
---|
6281 | 6645 | str r3, [r4, #3464] |
---|
6282 | 6646 | orr r3, r2, r1, lsl #10 |
---|
6283 | | - ldrh r0, [r7, #10] |
---|
6284 | 6647 | str r3, [r4, #3456] |
---|
6285 | | - ldrh r3, [r6, #4] |
---|
6286 | | - str r0, [sp] |
---|
6287 | | - mov r0, r10 |
---|
| 6648 | + ldrh r3, [r6, #10] |
---|
| 6649 | + str r3, [sp] |
---|
| 6650 | + ldr r0, .L895+12 |
---|
| 6651 | + ldrh r3, [r5, #4] |
---|
| 6652 | + str r10, [r4, #3452] |
---|
6288 | 6653 | bl sftl_printk |
---|
6289 | 6654 | ldrh r3, [r9] |
---|
6290 | | - ldrh r2, [r6, #2] |
---|
| 6655 | + ldrh r2, [r5, #2] |
---|
6291 | 6656 | sub r3, r3, #1 |
---|
6292 | 6657 | cmp r2, r3 |
---|
6293 | | - blt .L964 |
---|
| 6658 | + blt .L891 |
---|
6294 | 6659 | ldr r3, [r4, #360] |
---|
6295 | | - ldrh r2, [r6] |
---|
6296 | 6660 | ldr r0, [r4, #3268] |
---|
6297 | 6661 | add r3, r3, #1 |
---|
6298 | | - strh fp, [r6, #2] @ movhi |
---|
6299 | 6662 | str r3, [r4, #360] |
---|
6300 | | - str r3, [r7, #4] |
---|
6301 | | - ldrh r3, [r6, #4] |
---|
6302 | | - strh r2, [r7, #8] @ movhi |
---|
6303 | | - strh r2, [r6, #4] @ movhi |
---|
| 6663 | + str r3, [r6, #4] |
---|
| 6664 | + ldrh r2, [r5] |
---|
| 6665 | + ldrh r3, [r5, #4] |
---|
| 6666 | + strh r2, [r6, #8] @ movhi |
---|
| 6667 | + strh r2, [r5, #4] @ movhi |
---|
6304 | 6668 | mov r2, #1 |
---|
6305 | | - strh r3, [r6] @ movhi |
---|
| 6669 | + strh r3, [r5] @ movhi |
---|
6306 | 6670 | mov r1, r2 |
---|
6307 | 6671 | lsl r3, r3, #10 |
---|
6308 | 6672 | str r3, [r4, #3456] |
---|
6309 | 6673 | str r3, [r0, #4] |
---|
| 6674 | + strh r10, [r5, #2] @ movhi |
---|
6310 | 6675 | bl FlashEraseBlocks |
---|
6311 | | -.L964: |
---|
| 6676 | +.L891: |
---|
6312 | 6677 | mov r3, #1 |
---|
6313 | | - ldr r0, .L973+20 |
---|
| 6678 | + ldr r0, .L895+16 |
---|
6314 | 6679 | mov r2, r3 |
---|
6315 | 6680 | mov r1, r3 |
---|
6316 | 6681 | bl FlashProgPages |
---|
6317 | | - ldrh r3, [r6, #2] |
---|
| 6682 | + ldrh r3, [r5, #2] |
---|
| 6683 | + ldr r0, [r4, #3452] |
---|
6318 | 6684 | add r3, r3, #1 |
---|
6319 | | - strh r3, [r6, #2] @ movhi |
---|
6320 | | - ldr r3, [r4, #3452] |
---|
6321 | | - cmn r3, #1 |
---|
6322 | | - bne .L965 |
---|
6323 | | - add r5, r5, #1 |
---|
| 6685 | + strh r3, [r5, #2] @ movhi |
---|
| 6686 | + cmn r0, #1 |
---|
| 6687 | + bne .L892 |
---|
| 6688 | + add r7, r7, #1 |
---|
6324 | 6689 | ldr r1, [r4, #3456] |
---|
6325 | | - uxth r5, r5 |
---|
6326 | | - ldr r0, .L973+24 |
---|
| 6690 | + ldr r0, .L895+20 |
---|
| 6691 | + uxth r7, r7 |
---|
6327 | 6692 | bl sftl_printk |
---|
6328 | | - cmp r5, #3 |
---|
6329 | | - bls .L963 |
---|
6330 | | - mov r2, r5 |
---|
| 6693 | + cmp r7, #3 |
---|
| 6694 | + bls .L890 |
---|
6331 | 6695 | ldr r1, [r4, #3456] |
---|
6332 | | - ldr r0, .L973+28 |
---|
| 6696 | + mov r2, r7 |
---|
| 6697 | + ldr r0, .L895+24 |
---|
6333 | 6698 | bl sftl_printk |
---|
6334 | | -.L967: |
---|
6335 | | - b .L967 |
---|
6336 | | -.L962: |
---|
| 6699 | +.L894: |
---|
| 6700 | + b .L894 |
---|
| 6701 | +.L889: |
---|
6337 | 6702 | ldrh r2, [r7] |
---|
6338 | 6703 | ldr r3, [r4, #3460] |
---|
6339 | | - ldr r1, [r6, #4]! |
---|
6340 | | - mul r0, r2, r5 |
---|
| 6704 | + ldr r1, [r6], #4 |
---|
| 6705 | + mul r0, r5, r2 |
---|
6341 | 6706 | lsl r2, r2, #2 |
---|
6342 | 6707 | add r5, r5, #1 |
---|
6343 | 6708 | add r0, r3, r0, lsl #2 |
---|
6344 | 6709 | bl ftl_memcpy |
---|
6345 | | - b .L961 |
---|
6346 | | -.L968: |
---|
6347 | | - mov r8, #1 |
---|
6348 | | - b .L963 |
---|
6349 | | -.L965: |
---|
| 6710 | + b .L888 |
---|
| 6711 | +.L892: |
---|
6350 | 6712 | add r8, r8, #1 |
---|
6351 | | - cmp r8, #1 |
---|
6352 | | - ble .L968 |
---|
6353 | | - cmp r3, #256 |
---|
6354 | | - beq .L963 |
---|
6355 | | - mov r0, #0 |
---|
6356 | | - add sp, sp, #12 |
---|
6357 | | - @ sp needed |
---|
6358 | | - pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} |
---|
6359 | | -.L974: |
---|
| 6713 | + cmp r0, #256 |
---|
| 6714 | + cmpne r8, #1 |
---|
| 6715 | + movle r0, #1 |
---|
| 6716 | + movgt r0, #0 |
---|
| 6717 | + ble .L890 |
---|
| 6718 | + sub sp, fp, #40 |
---|
| 6719 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 6720 | +.L896: |
---|
6360 | 6721 | .align 2 |
---|
6361 | | -.L973: |
---|
| 6722 | +.L895: |
---|
6362 | 6723 | .word .LANCHOR0 |
---|
6363 | | - .word .LANCHOR0+3388 |
---|
6364 | 6724 | .word .LANCHOR0+352 |
---|
6365 | | - .word .LC99 |
---|
6366 | 6725 | .word -3887 |
---|
| 6726 | + .word .LC99 |
---|
6367 | 6727 | .word .LANCHOR0+3452 |
---|
6368 | 6728 | .word .LC100 |
---|
6369 | 6729 | .word .LC101 |
---|
6370 | | - .fnend |
---|
6371 | 6730 | .size FtlBbmTblFlush, .-FtlBbmTblFlush |
---|
6372 | 6731 | .align 2 |
---|
6373 | 6732 | .global allocate_data_superblock |
---|
.. | .. |
---|
6376 | 6735 | .fpu softvfp |
---|
6377 | 6736 | .type allocate_data_superblock, %function |
---|
6378 | 6737 | allocate_data_superblock: |
---|
6379 | | - .fnstart |
---|
6380 | | - @ args = 0, pretend = 0, frame = 16 |
---|
6381 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
6382 | | - push {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
6383 | | - .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
| 6738 | + @ args = 0, pretend = 0, frame = 8 |
---|
| 6739 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 6740 | + mov ip, sp |
---|
| 6741 | + push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 6742 | + sub fp, ip, #4 |
---|
| 6743 | + sub sp, sp, #12 |
---|
| 6744 | + push {lr} |
---|
| 6745 | + bl __gnu_mcount_nc |
---|
| 6746 | + ldr r4, .L929 |
---|
6384 | 6747 | mov r5, r0 |
---|
6385 | | - ldr r4, .L1012 |
---|
6386 | | - .pad #20 |
---|
6387 | | - sub sp, sp, #20 |
---|
6388 | | - add fp, r4, #2528 |
---|
6389 | | -.L976: |
---|
6390 | | - ldr r2, .L1012+4 |
---|
| 6748 | +.L898: |
---|
| 6749 | + ldr r2, .L929+4 |
---|
6391 | 6750 | ldrh r3, [r4, #224] |
---|
6392 | 6751 | ldrh r2, [r2] |
---|
6393 | 6752 | add r3, r3, r2 |
---|
6394 | 6753 | ldrh r2, [r4, #240] |
---|
6395 | 6754 | cmp r3, r2 |
---|
6396 | | - ble .L977 |
---|
| 6755 | + ble .L899 |
---|
| 6756 | + ldr r1, .L929+8 |
---|
6397 | 6757 | movw r2, #2667 |
---|
6398 | | - ldr r1, .L1012+8 |
---|
6399 | | - ldr r0, .L1012+12 |
---|
| 6758 | + ldr r0, .L929+12 |
---|
6400 | 6759 | bl sftl_printk |
---|
6401 | | -.L977: |
---|
6402 | | - ldr r3, .L1012+16 |
---|
| 6760 | +.L899: |
---|
| 6761 | + ldr r3, .L929+16 |
---|
6403 | 6762 | cmp r5, r3 |
---|
6404 | 6763 | movne r1, #0 |
---|
6405 | | - bne .L978 |
---|
| 6764 | + bne .L900 |
---|
6406 | 6765 | ldrh r3, [r4, #224] |
---|
6407 | 6766 | ldr r1, [r4, #3164] |
---|
6408 | 6767 | mul r2, r1, r3 |
---|
6409 | 6768 | lsr r1, r3, #1 |
---|
6410 | | - add r1, r1, #1 |
---|
| 6769 | + movw r3, #65535 |
---|
6411 | 6770 | add r1, r1, r2, lsr #2 |
---|
6412 | 6771 | uxth r1, r1 |
---|
6413 | | - cmp r1, #0 |
---|
6414 | | - subne r1, r1, #1 |
---|
6415 | | - uxthne r1, r1 |
---|
6416 | | -.L978: |
---|
6417 | | - ldr r0, .L1012+20 |
---|
| 6772 | + cmp r1, r3 |
---|
| 6773 | + moveq r1, #0 |
---|
| 6774 | +.L900: |
---|
| 6775 | + ldr r0, .L929+20 |
---|
6418 | 6776 | bl List_pop_index_node |
---|
6419 | 6777 | ldrh r3, [r4, #224] |
---|
6420 | 6778 | mov r6, r0 |
---|
6421 | 6779 | uxth r8, r0 |
---|
6422 | 6780 | cmp r3, #0 |
---|
6423 | | - bne .L979 |
---|
| 6781 | + bne .L901 |
---|
| 6782 | + ldr r1, .L929+8 |
---|
6424 | 6783 | movw r2, #2676 |
---|
6425 | | - ldr r1, .L1012+8 |
---|
6426 | | - ldr r0, .L1012+12 |
---|
| 6784 | + ldr r0, .L929+12 |
---|
6427 | 6785 | bl sftl_printk |
---|
6428 | | -.L979: |
---|
| 6786 | +.L901: |
---|
6429 | 6787 | ldrh r3, [r4, #224] |
---|
6430 | 6788 | sub r3, r3, #1 |
---|
6431 | 6789 | strh r3, [r4, #224] @ movhi |
---|
6432 | 6790 | ldrh r3, [r4, #240] |
---|
6433 | 6791 | cmp r3, r8 |
---|
6434 | | - bls .L976 |
---|
| 6792 | + bls .L898 |
---|
6435 | 6793 | uxth r6, r6 |
---|
6436 | 6794 | ldr r3, [r4, #72] |
---|
6437 | 6795 | lsl r6, r6, #1 |
---|
6438 | 6796 | ldrh r7, [r3, r6] |
---|
6439 | 6797 | cmp r7, #0 |
---|
6440 | | - bne .L976 |
---|
6441 | | - strh r8, [r5] @ movhi |
---|
| 6798 | + bne .L898 |
---|
6442 | 6799 | mov r0, r5 |
---|
| 6800 | + strh r8, [r5] @ movhi |
---|
6443 | 6801 | bl make_superblock |
---|
6444 | 6802 | ldrb r3, [r5, #7] @ zero_extendqisi2 |
---|
6445 | 6803 | cmp r3, #0 |
---|
6446 | | - bne .L981 |
---|
| 6804 | + bne .L903 |
---|
6447 | 6805 | ldr r3, [r4, #72] |
---|
6448 | 6806 | mvn r2, #0 |
---|
6449 | 6807 | mov r0, r8 |
---|
6450 | 6808 | strh r2, [r3, r6] @ movhi |
---|
6451 | 6809 | bl INSERT_DATA_LIST |
---|
6452 | | - ldrh r2, [fp] |
---|
| 6810 | + ldr r2, .L929+4 |
---|
6453 | 6811 | ldrh r3, [r4, #224] |
---|
| 6812 | + ldrh r2, [r2] |
---|
6454 | 6813 | add r3, r3, r2 |
---|
6455 | 6814 | ldrh r2, [r4, #240] |
---|
6456 | 6815 | cmp r3, r2 |
---|
6457 | | - ble .L976 |
---|
| 6816 | + ble .L898 |
---|
| 6817 | + ldr r1, .L929+8 |
---|
6458 | 6818 | movw r2, #2690 |
---|
6459 | | - ldr r1, .L1012+8 |
---|
6460 | | - ldr r0, .L1012+12 |
---|
| 6819 | + ldr r0, .L929+12 |
---|
6461 | 6820 | bl sftl_printk |
---|
6462 | | - b .L976 |
---|
6463 | | -.L981: |
---|
6464 | | - ldrh r2, [fp] |
---|
| 6821 | + b .L898 |
---|
| 6822 | +.L903: |
---|
| 6823 | + ldr r2, .L929+4 |
---|
6465 | 6824 | ldrh r3, [r4, #224] |
---|
| 6825 | + ldrh r2, [r2] |
---|
6466 | 6826 | add r3, r3, r2 |
---|
6467 | 6827 | ldrh r2, [r4, #240] |
---|
6468 | 6828 | cmp r3, r2 |
---|
6469 | | - ble .L983 |
---|
| 6829 | + ble .L905 |
---|
| 6830 | + ldr r1, .L929+8 |
---|
6470 | 6831 | movw r2, #2693 |
---|
6471 | | - ldr r1, .L1012+8 |
---|
6472 | | - ldr r0, .L1012+12 |
---|
| 6832 | + ldr r0, .L929+12 |
---|
6473 | 6833 | bl sftl_printk |
---|
6474 | | -.L983: |
---|
6475 | | - ldr r1, [r4, #3268] |
---|
6476 | | - mov r9, #20 |
---|
6477 | | - ldrh r2, [r4, #232] |
---|
| 6834 | +.L905: |
---|
| 6835 | + ldr r0, [r4, #3268] |
---|
6478 | 6836 | add r10, r5, #16 |
---|
6479 | | - mov r0, r10 |
---|
6480 | | - mov ip, #0 |
---|
6481 | | - mov r3, r1 |
---|
6482 | | - mla r2, r9, r2, r1 |
---|
6483 | | - str r2, [sp, #4] |
---|
6484 | | -.L984: |
---|
6485 | | - ldr r2, [sp, #4] |
---|
6486 | | - cmp r2, r3 |
---|
6487 | | - bne .L986 |
---|
| 6837 | + ldrh r3, [r4, #232] |
---|
| 6838 | + mov r9, r10 |
---|
| 6839 | + str r3, [fp, #-48] |
---|
| 6840 | + mov r2, r0 |
---|
| 6841 | + mov r3, #0 |
---|
| 6842 | + mov ip, r3 |
---|
| 6843 | +.L906: |
---|
| 6844 | + ldr lr, [fp, #-48] |
---|
| 6845 | + uxth r1, r3 |
---|
| 6846 | + cmp lr, r1 |
---|
| 6847 | + bhi .L908 |
---|
6488 | 6848 | cmp r7, #0 |
---|
6489 | | - bne .L987 |
---|
| 6849 | + bne .L909 |
---|
| 6850 | + ldr r1, .L929+8 |
---|
6490 | 6851 | mov r2, #2704 |
---|
6491 | | - ldr r1, .L1012+8 |
---|
6492 | | - ldr r0, .L1012+12 |
---|
| 6852 | + ldr r0, .L929+12 |
---|
6493 | 6853 | bl sftl_printk |
---|
6494 | | -.L987: |
---|
| 6854 | +.L909: |
---|
6495 | 6855 | ldrh r3, [r4, #172] |
---|
6496 | 6856 | cmp r3, r8 |
---|
6497 | | - bne .L988 |
---|
| 6857 | + bne .L910 |
---|
| 6858 | + ldr r1, .L929+8 |
---|
6498 | 6859 | movw r2, #2706 |
---|
6499 | | - ldr r1, .L1012+8 |
---|
6500 | | - ldr r0, .L1012+12 |
---|
| 6860 | + ldr r0, .L929+12 |
---|
6501 | 6861 | bl sftl_printk |
---|
6502 | | -.L988: |
---|
6503 | | - ldrb r3, [r5, #8] @ zero_extendqisi2 |
---|
| 6862 | +.L910: |
---|
6504 | 6863 | ldr r1, [r4, #2536] |
---|
6505 | | - ldr r2, .L1012+24 |
---|
6506 | | - cmp r3, #0 |
---|
| 6864 | + ldrb r2, [r5, #8] @ zero_extendqisi2 |
---|
6507 | 6865 | ldrh r3, [r1, r6] |
---|
6508 | | - bne .L989 |
---|
| 6866 | + cmp r2, #0 |
---|
| 6867 | + ldr r2, .L929+24 |
---|
| 6868 | + bne .L911 |
---|
6509 | 6869 | cmp r3, #0 |
---|
6510 | | - ldrhne r0, [r2] |
---|
6511 | 6870 | moveq r3, #2 |
---|
| 6871 | + ldrhne r0, [r2] |
---|
6512 | 6872 | addne r3, r3, r0 |
---|
| 6873 | + uxthne r3, r3 |
---|
6513 | 6874 | strh r3, [r1, r6] @ movhi |
---|
6514 | 6875 | ldr r3, [r4, #2596] |
---|
6515 | 6876 | add r3, r3, #1 |
---|
6516 | 6877 | str r3, [r4, #2596] |
---|
6517 | | -.L992: |
---|
| 6878 | +.L913: |
---|
6518 | 6879 | ldr r3, [r4, #2536] |
---|
6519 | 6880 | ldr r1, [r4, #2612] |
---|
6520 | 6881 | ldrh r2, [r2] |
---|
6521 | 6882 | ldrh r3, [r3, r6] |
---|
6522 | 6883 | ldr r0, [r4, #2596] |
---|
6523 | 6884 | cmp r3, r1 |
---|
6524 | | - ldrh r1, [r4, #240] |
---|
6525 | 6885 | strhi r3, [r4, #2612] |
---|
6526 | 6886 | ldr r3, [r4, #2600] |
---|
| 6887 | + ldrh r1, [r4, #240] |
---|
6527 | 6888 | mla r0, r0, r2, r3 |
---|
6528 | 6889 | bl __aeabi_uidiv |
---|
6529 | 6890 | ldr r2, [r4, #3348] |
---|
6530 | | - ldr r1, [r4, #3268] |
---|
6531 | 6891 | str r0, [r4, #2604] |
---|
| 6892 | + ldr r0, [r4, #3268] |
---|
6532 | 6893 | ldr r3, [r2, #16] |
---|
6533 | | - ldr r0, .L1012+28 |
---|
| 6894 | + ldr ip, .L929+28 |
---|
6534 | 6895 | add r3, r3, #1 |
---|
6535 | 6896 | str r3, [r2, #16] |
---|
6536 | | - mov r2, #20 |
---|
6537 | | - mla r2, r2, r7, r1 |
---|
6538 | | - add r3, r1, #4 |
---|
6539 | | - add r2, r2, #24 |
---|
6540 | | -.L994: |
---|
| 6897 | + add r3, r0, #4 |
---|
| 6898 | + mov r2, #0 |
---|
| 6899 | +.L915: |
---|
| 6900 | + uxth r1, r2 |
---|
6541 | 6901 | add r3, r3, #20 |
---|
6542 | | - cmp r2, r3 |
---|
6543 | | - bne .L995 |
---|
| 6902 | + cmp r7, r1 |
---|
| 6903 | + bhi .L916 |
---|
6544 | 6904 | ldrb r1, [r5, #8] @ zero_extendqisi2 |
---|
6545 | 6905 | mov r2, r7 |
---|
6546 | | - ldr r0, [r4, #3268] |
---|
6547 | | - mov r9, #0 |
---|
6548 | 6906 | bl FlashEraseBlocks |
---|
| 6907 | + mov r9, #0 |
---|
6549 | 6908 | mov r3, r9 |
---|
6550 | 6909 | mov r1, #20 |
---|
6551 | | -.L996: |
---|
| 6910 | +.L917: |
---|
6552 | 6911 | uxth r2, r9 |
---|
6553 | 6912 | cmp r7, r2 |
---|
6554 | | - bhi .L998 |
---|
| 6913 | + bhi .L919 |
---|
6555 | 6914 | cmp r3, #0 |
---|
6556 | | - ble .L999 |
---|
| 6915 | + ble .L920 |
---|
6557 | 6916 | mov r0, r8 |
---|
6558 | 6917 | bl update_multiplier_value |
---|
6559 | 6918 | bl FtlBbmTblFlush |
---|
6560 | | -.L999: |
---|
| 6919 | +.L920: |
---|
6561 | 6920 | ldrb r2, [r5, #7] @ zero_extendqisi2 |
---|
6562 | 6921 | cmp r2, #0 |
---|
6563 | | - bne .L1000 |
---|
| 6922 | + bne .L921 |
---|
6564 | 6923 | ldr r3, [r4, #72] |
---|
6565 | 6924 | mvn r2, #0 |
---|
6566 | 6925 | strh r2, [r3, r6] @ movhi |
---|
6567 | | - b .L976 |
---|
6568 | | -.L986: |
---|
6569 | | - str ip, [r3, #8] |
---|
| 6926 | + b .L898 |
---|
| 6927 | +.L908: |
---|
| 6928 | + str ip, [r2, #8] |
---|
6570 | 6929 | movw lr, #65535 |
---|
6571 | | - str ip, [r3, #12] |
---|
6572 | | - add r3, r3, #20 |
---|
6573 | | - ldrh r2, [r0], #2 |
---|
6574 | | - cmp r2, lr |
---|
6575 | | - mlane lr, r9, r7, r1 |
---|
6576 | | - lslne r2, r2, #10 |
---|
6577 | | - addne r7, r7, #1 |
---|
6578 | | - uxthne r7, r7 |
---|
6579 | | - strne r2, [lr, #4] |
---|
6580 | | - b .L984 |
---|
6581 | | -.L989: |
---|
| 6930 | + str ip, [r2, #12] |
---|
| 6931 | + ldrh r1, [r9], #2 |
---|
| 6932 | + cmp r1, lr |
---|
| 6933 | + beq .L907 |
---|
| 6934 | + mov lr, #20 |
---|
| 6935 | + lsl r1, r1, #10 |
---|
| 6936 | + mla lr, lr, r7, r0 |
---|
| 6937 | + add r7, r7, #1 |
---|
| 6938 | + uxth r7, r7 |
---|
| 6939 | + str r1, [lr, #4] |
---|
| 6940 | +.L907: |
---|
| 6941 | + add r3, r3, #1 |
---|
| 6942 | + add r2, r2, #20 |
---|
| 6943 | + b .L906 |
---|
| 6944 | +.L911: |
---|
6582 | 6945 | add r3, r3, #1 |
---|
6583 | 6946 | strh r3, [r1, r6] @ movhi |
---|
6584 | 6947 | ldr r3, [r4, #2600] |
---|
6585 | 6948 | add r3, r3, #1 |
---|
6586 | 6949 | str r3, [r4, #2600] |
---|
6587 | | - b .L992 |
---|
6588 | | -.L995: |
---|
| 6950 | + b .L913 |
---|
| 6951 | +.L916: |
---|
6589 | 6952 | ldr r1, [r3, #-20] |
---|
6590 | | - and r1, r1, r0 |
---|
| 6953 | + add r2, r2, #1 |
---|
| 6954 | + and r1, r1, ip |
---|
6591 | 6955 | str r1, [r3, #-20] |
---|
6592 | | - b .L994 |
---|
6593 | | -.L998: |
---|
| 6956 | + b .L915 |
---|
| 6957 | +.L919: |
---|
6594 | 6958 | mul r2, r1, r9 |
---|
6595 | 6959 | ldr r0, [r4, #3268] |
---|
6596 | 6960 | add ip, r0, r2 |
---|
6597 | 6961 | ldr r2, [r0, r2] |
---|
6598 | 6962 | cmn r2, #1 |
---|
6599 | | - bne .L997 |
---|
| 6963 | + bne .L918 |
---|
6600 | 6964 | ldr r0, [ip, #4] |
---|
6601 | 6965 | add r3, r3, #1 |
---|
6602 | | - str r1, [sp, #12] |
---|
6603 | | - str r2, [sp, #8] |
---|
| 6966 | + str r2, [fp, #-52] |
---|
| 6967 | + str r3, [fp, #-48] |
---|
6604 | 6968 | ubfx r0, r0, #10, #16 |
---|
6605 | | - str r3, [sp, #4] |
---|
6606 | 6969 | bl FtlBbmMapBadBlock |
---|
6607 | | - ldr r2, [sp, #8] |
---|
6608 | | - ldr r1, [sp, #12] |
---|
6609 | | - ldr r3, [sp, #4] |
---|
| 6970 | + ldr r2, [fp, #-52] |
---|
6610 | 6971 | strh r2, [r10] @ movhi |
---|
| 6972 | + mov r1, #20 |
---|
| 6973 | + ldr r3, [fp, #-48] |
---|
6611 | 6974 | ldrb r2, [r5, #7] @ zero_extendqisi2 |
---|
6612 | 6975 | sub r2, r2, #1 |
---|
6613 | 6976 | strb r2, [r5, #7] |
---|
6614 | | -.L997: |
---|
| 6977 | +.L918: |
---|
6615 | 6978 | add r9, r9, #1 |
---|
6616 | 6979 | add r10, r10, #2 |
---|
6617 | | - b .L996 |
---|
6618 | | -.L1000: |
---|
| 6980 | + b .L917 |
---|
| 6981 | +.L921: |
---|
6619 | 6982 | movw r3, #302 |
---|
6620 | 6983 | ldrh r3, [r4, r3] |
---|
6621 | 6984 | strh r8, [r5] @ movhi |
---|
.. | .. |
---|
6625 | 6988 | strb r2, [r5, #6] |
---|
6626 | 6989 | ldr r2, [r4, #2588] |
---|
6627 | 6990 | uxth r3, r3 |
---|
6628 | | - ldr r1, [r4, #72] |
---|
6629 | | - strh r3, [r5, #4] @ movhi |
---|
6630 | 6991 | str r2, [r5, #12] |
---|
6631 | 6992 | add r2, r2, #1 |
---|
6632 | 6993 | str r2, [r4, #2588] |
---|
| 6994 | + ldr r1, [r4, #72] |
---|
6633 | 6995 | ldrh r2, [r5] |
---|
| 6996 | + strh r3, [r5, #4] @ movhi |
---|
6634 | 6997 | lsl r2, r2, #1 |
---|
6635 | 6998 | strh r3, [r1, r2] @ movhi |
---|
6636 | 6999 | ldrh r3, [r5, #4] |
---|
6637 | 7000 | cmp r3, #0 |
---|
6638 | | - beq .L1001 |
---|
| 7001 | + beq .L922 |
---|
6639 | 7002 | ldrb r3, [r5, #7] @ zero_extendqisi2 |
---|
6640 | 7003 | cmp r3, #0 |
---|
6641 | | - bne .L1002 |
---|
6642 | | -.L1001: |
---|
| 7004 | + bne .L923 |
---|
| 7005 | +.L922: |
---|
| 7006 | + ldr r1, .L929+8 |
---|
6643 | 7007 | movw r2, #2759 |
---|
6644 | | - ldr r1, .L1012+8 |
---|
6645 | | - ldr r0, .L1012+12 |
---|
| 7008 | + ldr r0, .L929+12 |
---|
6646 | 7009 | bl sftl_printk |
---|
6647 | | -.L1002: |
---|
| 7010 | +.L923: |
---|
6648 | 7011 | mov r0, #0 |
---|
6649 | | - add sp, sp, #20 |
---|
6650 | | - @ sp needed |
---|
6651 | | - pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} |
---|
6652 | | -.L1013: |
---|
| 7012 | + sub sp, fp, #40 |
---|
| 7013 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 7014 | +.L930: |
---|
6653 | 7015 | .align 2 |
---|
6654 | | -.L1012: |
---|
| 7016 | +.L929: |
---|
6655 | 7017 | .word .LANCHOR0 |
---|
6656 | 7018 | .word .LANCHOR0+2528 |
---|
6657 | 7019 | .word .LANCHOR1+271 |
---|
.. | .. |
---|
6660 | 7022 | .word .LANCHOR0+2532 |
---|
6661 | 7023 | .word .LANCHOR0+292 |
---|
6662 | 7024 | .word -1024 |
---|
6663 | | - .fnend |
---|
6664 | 7025 | .size allocate_data_superblock, .-allocate_data_superblock |
---|
| 7026 | + .section .rodata.str1.1 |
---|
| 7027 | +.LC102: |
---|
| 7028 | + .ascii "FtlGcFreeBadSuperBlk 0x%x\012\000" |
---|
| 7029 | + .text |
---|
6665 | 7030 | .align 2 |
---|
6666 | 7031 | .global FtlGcFreeBadSuperBlk |
---|
6667 | 7032 | .syntax unified |
---|
.. | .. |
---|
6669 | 7034 | .fpu softvfp |
---|
6670 | 7035 | .type FtlGcFreeBadSuperBlk, %function |
---|
6671 | 7036 | FtlGcFreeBadSuperBlk: |
---|
6672 | | - .fnstart |
---|
6673 | | - @ args = 0, pretend = 0, frame = 8 |
---|
6674 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
6675 | | - push {r0, r1, r2, r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
6676 | | - .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
6677 | | - .pad #12 |
---|
| 7037 | + @ args = 0, pretend = 0, frame = 16 |
---|
| 7038 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 7039 | + mov ip, sp |
---|
| 7040 | + push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 7041 | + sub fp, ip, #4 |
---|
| 7042 | + sub sp, sp, #20 |
---|
| 7043 | + push {lr} |
---|
| 7044 | + bl __gnu_mcount_nc |
---|
| 7045 | + ldr r9, .L939 |
---|
6678 | 7046 | movw r3, #3206 |
---|
6679 | | - ldr r6, .L1027 |
---|
6680 | | - ldrh r3, [r6, r3] |
---|
| 7047 | + str r0, [fp, #-48] |
---|
| 7048 | + ldrh r3, [r9, r3] |
---|
6681 | 7049 | cmp r3, #0 |
---|
6682 | | - beq .L1015 |
---|
6683 | | - ldr fp, .L1027+4 |
---|
6684 | | - mov r7, #0 |
---|
6685 | | - str r0, [sp, #4] |
---|
6686 | | - add r10, fp, #2 |
---|
6687 | | -.L1016: |
---|
6688 | | - ldrh r2, [r6, #232] |
---|
6689 | | - uxth r3, r7 |
---|
6690 | | - cmp r2, r3 |
---|
6691 | | - bhi .L1022 |
---|
6692 | | - bl FtlGcReFreshBadBlk |
---|
6693 | | -.L1015: |
---|
| 7050 | + bne .L938 |
---|
| 7051 | +.L933: |
---|
6694 | 7052 | mov r0, #0 |
---|
6695 | | - add sp, sp, #12 |
---|
6696 | | - @ sp needed |
---|
6697 | | - pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} |
---|
6698 | | -.L1022: |
---|
6699 | | - uxtah r3, r6, r7 |
---|
6700 | | - ldr r1, [sp, #4] |
---|
| 7053 | + sub sp, fp, #40 |
---|
| 7054 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 7055 | +.L937: |
---|
| 7056 | + uxtah r3, r9, r7 |
---|
| 7057 | + ldr r1, [fp, #-48] |
---|
6701 | 7058 | mov r8, #0 |
---|
6702 | 7059 | ldrb r0, [r3, #260] @ zero_extendqisi2 |
---|
6703 | 7060 | bl V2P_block |
---|
6704 | | - mov r9, r0 |
---|
6705 | | -.L1017: |
---|
6706 | | - ldrh r3, [fp] |
---|
6707 | | - uxth r4, r8 |
---|
6708 | | - cmp r3, r4 |
---|
6709 | | - addls r7, r7, #1 |
---|
6710 | | - bls .L1016 |
---|
6711 | | -.L1021: |
---|
6712 | | - uxth r5, r8 |
---|
6713 | | - lsl r3, r5, #1 |
---|
6714 | | - ldrh r3, [r10, r3] |
---|
6715 | | - cmp r3, r9 |
---|
6716 | | - bne .L1018 |
---|
6717 | | - mov r1, r9 |
---|
6718 | | - ldr r0, .L1027+8 |
---|
| 7061 | + mov r4, r0 |
---|
| 7062 | +.L934: |
---|
| 7063 | + ldr r3, .L939+4 |
---|
| 7064 | + uxth r2, r8 |
---|
| 7065 | + ldrh r1, [r3] |
---|
| 7066 | + cmp r1, r2 |
---|
| 7067 | + bhi .L936 |
---|
| 7068 | + add r7, r7, #1 |
---|
| 7069 | +.L932: |
---|
| 7070 | + ldrh r2, [r9, #232] |
---|
| 7071 | + uxth r3, r7 |
---|
| 7072 | + cmp r2, r3 |
---|
| 7073 | + bhi .L937 |
---|
| 7074 | + bl FtlGcReFreshBadBlk |
---|
| 7075 | + b .L933 |
---|
| 7076 | +.L936: |
---|
| 7077 | + uxth r6, r8 |
---|
| 7078 | + lsl r1, r6, #1 |
---|
| 7079 | + add r3, r10, r6, lsl #1 |
---|
| 7080 | + ldrh r1, [r10, r1] |
---|
| 7081 | + cmp r1, r4 |
---|
| 7082 | + bne .L935 |
---|
| 7083 | + mov r1, r4 |
---|
| 7084 | + ldr r0, .L939+8 |
---|
| 7085 | + str r3, [fp, #-56] |
---|
| 7086 | + str r2, [fp, #-52] |
---|
6719 | 7087 | bl sftl_printk |
---|
6720 | | - mov r0, r9 |
---|
| 7088 | + mov r0, r4 |
---|
6721 | 7089 | bl FtlBbmMapBadBlock |
---|
6722 | 7090 | bl FtlBbmTblFlush |
---|
6723 | | - ldrh r1, [fp] |
---|
6724 | | - add r3, r10, r5, lsl #1 |
---|
6725 | | -.L1019: |
---|
6726 | | - cmp r4, r1 |
---|
6727 | | - bcc .L1020 |
---|
6728 | | - sub r1, r1, #1 |
---|
6729 | | - strh r1, [fp] @ movhi |
---|
6730 | | -.L1018: |
---|
| 7091 | + ldr r3, .L939+4 |
---|
| 7092 | + ldr r2, [fp, #-52] |
---|
| 7093 | + add r1, r6, #1 |
---|
| 7094 | + add r1, r10, r1, lsl #1 |
---|
| 7095 | + ldrh r5, [r3] |
---|
| 7096 | + ldr r3, [fp, #-56] |
---|
| 7097 | + sub r0, r5, r2 |
---|
| 7098 | + cmp r2, r5 |
---|
| 7099 | + sub r5, r5, #1 |
---|
| 7100 | + uxth r0, r0 |
---|
| 7101 | + movhi r2, #0 |
---|
| 7102 | + lslls r2, r0, #1 |
---|
| 7103 | + mov r0, r3 |
---|
| 7104 | + bl memmove |
---|
| 7105 | + ldr r3, .L939+4 |
---|
| 7106 | + strh r5, [r3] @ movhi |
---|
| 7107 | +.L935: |
---|
6731 | 7108 | add r8, r8, #1 |
---|
6732 | | - b .L1017 |
---|
6733 | | -.L1020: |
---|
6734 | | - ldrh r0, [r3, #2]! |
---|
6735 | | - add r4, r4, #1 |
---|
6736 | | - uxth r4, r4 |
---|
6737 | | - strh r0, [r3, #-2] @ movhi |
---|
6738 | | - b .L1019 |
---|
6739 | | -.L1028: |
---|
| 7109 | + b .L934 |
---|
| 7110 | +.L938: |
---|
| 7111 | + ldr r10, .L939+12 |
---|
| 7112 | + mov r7, #0 |
---|
| 7113 | + b .L932 |
---|
| 7114 | +.L940: |
---|
6740 | 7115 | .align 2 |
---|
6741 | | -.L1027: |
---|
| 7116 | +.L939: |
---|
6742 | 7117 | .word .LANCHOR0 |
---|
6743 | 7118 | .word .LANCHOR0+3206 |
---|
6744 | 7119 | .word .LC102 |
---|
6745 | | - .fnend |
---|
| 7120 | + .word .LANCHOR0+3208 |
---|
6746 | 7121 | .size FtlGcFreeBadSuperBlk, .-FtlGcFreeBadSuperBlk |
---|
6747 | 7122 | .align 2 |
---|
6748 | 7123 | .global update_vpc_list |
---|
.. | .. |
---|
6751 | 7126 | .fpu softvfp |
---|
6752 | 7127 | .type update_vpc_list, %function |
---|
6753 | 7128 | update_vpc_list: |
---|
6754 | | - .fnstart |
---|
6755 | 7129 | @ args = 0, pretend = 0, frame = 0 |
---|
6756 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
6757 | | - push {r4, r5, r6, lr} |
---|
6758 | | - .save {r4, r5, r6, lr} |
---|
| 7130 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 7131 | + mov ip, sp |
---|
| 7132 | + push {r4, r5, r6, r7, fp, ip, lr, pc} |
---|
| 7133 | + sub fp, ip, #4 |
---|
| 7134 | + push {lr} |
---|
| 7135 | + bl __gnu_mcount_nc |
---|
| 7136 | + ldr r4, .L953 |
---|
6759 | 7137 | lsl r3, r0, #1 |
---|
6760 | | - ldr r4, .L1042 |
---|
| 7138 | + mov r5, r0 |
---|
6761 | 7139 | ldr r2, [r4, #72] |
---|
6762 | 7140 | ldrh r3, [r2, r3] |
---|
6763 | 7141 | cmp r3, #0 |
---|
6764 | | - bne .L1030 |
---|
| 7142 | + bne .L942 |
---|
6765 | 7143 | ldrh r3, [r4, #222] |
---|
6766 | | - mov r5, r0 |
---|
6767 | 7144 | cmp r3, r0 |
---|
6768 | 7145 | mvneq r3, #0 |
---|
6769 | 7146 | strheq r3, [r4, #222] @ movhi |
---|
.. | .. |
---|
6775 | 7152 | cmp r3, r0 |
---|
6776 | 7153 | mvneq r3, #0 |
---|
6777 | 7154 | strheq r3, [r4, #172] @ movhi |
---|
6778 | | - beq .L1034 |
---|
| 7155 | + beq .L946 |
---|
6779 | 7156 | ldrh r3, [r4, #24] |
---|
6780 | 7157 | cmp r3, r0 |
---|
6781 | | - beq .L1039 |
---|
| 7158 | + beq .L951 |
---|
6782 | 7159 | ldrh r3, [r4, #76] |
---|
6783 | 7160 | cmp r3, r0 |
---|
6784 | | - beq .L1039 |
---|
| 7161 | + beq .L951 |
---|
6785 | 7162 | ldrh r3, [r4, #124] |
---|
6786 | 7163 | cmp r3, r0 |
---|
6787 | | - beq .L1039 |
---|
6788 | | -.L1034: |
---|
6789 | | - ldr r6, .L1042+4 |
---|
| 7164 | + beq .L951 |
---|
| 7165 | +.L946: |
---|
| 7166 | + ldr r6, .L953+4 |
---|
6790 | 7167 | mov r1, r5 |
---|
6791 | | - ldr r0, .L1042+8 |
---|
| 7168 | + ldr r0, .L953+8 |
---|
6792 | 7169 | bl List_remove_node |
---|
6793 | 7170 | ldrh r3, [r6] |
---|
6794 | 7171 | cmp r3, #0 |
---|
6795 | | - bne .L1036 |
---|
| 7172 | + bne .L948 |
---|
| 7173 | + ldr r1, .L953+12 |
---|
6796 | 7174 | movw r2, #2835 |
---|
6797 | | - ldr r1, .L1042+12 |
---|
6798 | | - ldr r0, .L1042+16 |
---|
| 7175 | + ldr r0, .L953+16 |
---|
6799 | 7176 | bl sftl_printk |
---|
6800 | | -.L1036: |
---|
| 7177 | +.L948: |
---|
6801 | 7178 | ldrh r3, [r6] |
---|
6802 | 7179 | mov r0, r5 |
---|
6803 | 7180 | sub r3, r3, #1 |
---|
.. | .. |
---|
6810 | 7187 | add r3, r3, r2 |
---|
6811 | 7188 | ldrh r2, [r4, #240] |
---|
6812 | 7189 | cmp r3, r2 |
---|
6813 | | - ble .L1040 |
---|
| 7190 | + ble .L952 |
---|
| 7191 | + ldr r1, .L953+12 |
---|
6814 | 7192 | movw r2, #2838 |
---|
6815 | | - ldr r1, .L1042+12 |
---|
6816 | | - ldr r0, .L1042+16 |
---|
| 7193 | + ldr r0, .L953+16 |
---|
6817 | 7194 | bl sftl_printk |
---|
6818 | | -.L1040: |
---|
| 7195 | +.L952: |
---|
6819 | 7196 | mov r0, #1 |
---|
6820 | | - pop {r4, r5, r6, pc} |
---|
6821 | | -.L1030: |
---|
| 7197 | + ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} |
---|
| 7198 | +.L942: |
---|
6822 | 7199 | bl List_update_data_list |
---|
6823 | | -.L1039: |
---|
| 7200 | +.L951: |
---|
6824 | 7201 | mov r0, #0 |
---|
6825 | | - pop {r4, r5, r6, pc} |
---|
6826 | | -.L1043: |
---|
| 7202 | + ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} |
---|
| 7203 | +.L954: |
---|
6827 | 7204 | .align 2 |
---|
6828 | | -.L1042: |
---|
| 7205 | +.L953: |
---|
6829 | 7206 | .word .LANCHOR0 |
---|
6830 | 7207 | .word .LANCHOR0+2528 |
---|
6831 | 7208 | .word .LANCHOR0+2520 |
---|
6832 | 7209 | .word .LANCHOR1+296 |
---|
6833 | 7210 | .word .LC8 |
---|
6834 | | - .fnend |
---|
6835 | 7211 | .size update_vpc_list, .-update_vpc_list |
---|
| 7212 | + .section .rodata.str1.1 |
---|
| 7213 | +.LC103: |
---|
| 7214 | + .ascii "decrement_vpc_count %x = %d\012\000" |
---|
| 7215 | + .text |
---|
6836 | 7216 | .align 2 |
---|
6837 | 7217 | .global decrement_vpc_count |
---|
6838 | 7218 | .syntax unified |
---|
.. | .. |
---|
6840 | 7220 | .fpu softvfp |
---|
6841 | 7221 | .type decrement_vpc_count, %function |
---|
6842 | 7222 | decrement_vpc_count: |
---|
6843 | | - .fnstart |
---|
6844 | 7223 | @ args = 0, pretend = 0, frame = 0 |
---|
6845 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
| 7224 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 7225 | + mov ip, sp |
---|
| 7226 | + push {r4, r5, r6, r7, fp, ip, lr, pc} |
---|
| 7227 | + sub fp, ip, #4 |
---|
| 7228 | + push {lr} |
---|
| 7229 | + bl __gnu_mcount_nc |
---|
6846 | 7230 | movw r3, #65535 |
---|
6847 | | - push {r4, r5, r6, r7, r8, lr} |
---|
6848 | | - .save {r4, r5, r6, r7, r8, lr} |
---|
| 7231 | + ldr r6, .L967 |
---|
| 7232 | + mov r5, r0 |
---|
6849 | 7233 | cmp r0, r3 |
---|
6850 | | - mov r6, r0 |
---|
6851 | | - ldr r4, .L1057 |
---|
6852 | | - beq .L1045 |
---|
6853 | | - ldr r3, [r4, #72] |
---|
6854 | | - lsl r5, r0, #1 |
---|
6855 | | - ldrh r2, [r3, r5] |
---|
| 7234 | + beq .L956 |
---|
| 7235 | + ldr r3, [r6, #72] |
---|
| 7236 | + lsl r4, r0, #1 |
---|
| 7237 | + ldrh r2, [r3, r4] |
---|
6856 | 7238 | cmp r2, #0 |
---|
6857 | 7239 | subne r2, r2, #1 |
---|
6858 | | - strhne r2, [r3, r5] @ movhi |
---|
6859 | | - bne .L1045 |
---|
| 7240 | + strhne r2, [r3, r4] @ movhi |
---|
| 7241 | + bne .L956 |
---|
6860 | 7242 | mov r1, r0 |
---|
6861 | | - ldr r0, .L1057+4 |
---|
| 7243 | + ldr r0, .L967+4 |
---|
6862 | 7244 | bl sftl_printk |
---|
6863 | | - ldr r3, [r4, #72] |
---|
6864 | | - ldrh r5, [r3, r5] |
---|
6865 | | - cmp r5, #0 |
---|
6866 | | - beq .L1047 |
---|
6867 | | -.L1055: |
---|
6868 | | - mov r5, #0 |
---|
6869 | | -.L1044: |
---|
6870 | | - mov r0, r5 |
---|
6871 | | - pop {r4, r5, r6, r7, r8, pc} |
---|
6872 | | -.L1047: |
---|
| 7245 | + ldr r3, [r6, #72] |
---|
| 7246 | + ldrh r4, [r3, r4] |
---|
| 7247 | + cmp r4, #0 |
---|
| 7248 | + beq .L958 |
---|
| 7249 | +.L965: |
---|
| 7250 | + mov r4, #0 |
---|
| 7251 | +.L955: |
---|
| 7252 | + mov r0, r4 |
---|
| 7253 | + ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} |
---|
| 7254 | +.L958: |
---|
6873 | 7255 | movw r2, #2853 |
---|
6874 | | -.L1056: |
---|
6875 | | - ldr r1, .L1057+8 |
---|
6876 | | - ldr r0, .L1057+12 |
---|
| 7256 | +.L966: |
---|
| 7257 | + ldr r1, .L967+8 |
---|
| 7258 | + ldr r0, .L967+12 |
---|
6877 | 7259 | bl sftl_printk |
---|
6878 | | - b .L1044 |
---|
6879 | | -.L1045: |
---|
| 7260 | + b .L955 |
---|
| 7261 | +.L956: |
---|
6880 | 7262 | movw r7, #3438 |
---|
6881 | 7263 | movw r3, #65535 |
---|
6882 | | - ldrh r0, [r4, r7] |
---|
| 7264 | + ldrh r0, [r6, r7] |
---|
6883 | 7265 | cmp r0, r3 |
---|
6884 | | - strheq r6, [r4, r7] @ movhi |
---|
6885 | | - beq .L1055 |
---|
6886 | | -.L1049: |
---|
6887 | | - cmp r6, r0 |
---|
6888 | | - beq .L1055 |
---|
| 7266 | + strheq r5, [r6, r7] @ movhi |
---|
| 7267 | + beq .L965 |
---|
| 7268 | +.L960: |
---|
| 7269 | + cmp r0, r5 |
---|
| 7270 | + beq .L965 |
---|
6889 | 7271 | bl update_vpc_list |
---|
6890 | | - ldr r2, [r4, #2516] |
---|
6891 | | - adds r5, r0, #0 |
---|
6892 | | - ldr r3, [r4, #2520] |
---|
6893 | | - movne r5, #1 |
---|
6894 | | - ldr r1, [r4, #72] |
---|
6895 | | - strh r6, [r4, r7] @ movhi |
---|
| 7272 | + ldr r2, [r6, #2516] |
---|
| 7273 | + ldr r3, [r6, #2520] |
---|
| 7274 | + subs r4, r0, #0 |
---|
| 7275 | + ldr r1, [r6, #72] |
---|
6896 | 7276 | sub r3, r3, r2 |
---|
6897 | | - asr r2, r3, #1 |
---|
6898 | | - ldr r3, .L1057+16 |
---|
6899 | | - mul r3, r3, r2 |
---|
| 7277 | + ldr r2, .L967+16 |
---|
| 7278 | + strh r5, [r6, r7] @ movhi |
---|
| 7279 | + movne r4, #1 |
---|
| 7280 | + asr r3, r3, #1 |
---|
| 7281 | + mul r3, r2, r3 |
---|
6900 | 7282 | uxth r2, r3 |
---|
6901 | 7283 | uxth r3, r3 |
---|
| 7284 | + cmp r3, r5 |
---|
6902 | 7285 | lsl r2, r2, #1 |
---|
6903 | | - cmp r3, r6 |
---|
6904 | 7286 | ldrh r2, [r1, r2] |
---|
6905 | 7287 | clz r2, r2 |
---|
6906 | 7288 | lsr r2, r2, #5 |
---|
6907 | 7289 | moveq r2, #0 |
---|
6908 | 7290 | cmp r2, #0 |
---|
6909 | | - beq .L1044 |
---|
| 7291 | + beq .L955 |
---|
6910 | 7292 | movw r2, #2869 |
---|
6911 | | - b .L1056 |
---|
6912 | | -.L1058: |
---|
| 7293 | + b .L966 |
---|
| 7294 | +.L968: |
---|
6913 | 7295 | .align 2 |
---|
6914 | | -.L1057: |
---|
| 7296 | +.L967: |
---|
6915 | 7297 | .word .LANCHOR0 |
---|
6916 | 7298 | .word .LC103 |
---|
6917 | 7299 | .word .LANCHOR1+312 |
---|
6918 | 7300 | .word .LC8 |
---|
6919 | 7301 | .word -1431655765 |
---|
6920 | | - .fnend |
---|
6921 | 7302 | .size decrement_vpc_count, .-decrement_vpc_count |
---|
6922 | 7303 | .align 2 |
---|
6923 | 7304 | .global FtlSuperblockPowerLostFix |
---|
.. | .. |
---|
6926 | 7307 | .fpu softvfp |
---|
6927 | 7308 | .type FtlSuperblockPowerLostFix, %function |
---|
6928 | 7309 | FtlSuperblockPowerLostFix: |
---|
6929 | | - .fnstart |
---|
6930 | 7310 | @ args = 0, pretend = 0, frame = 24 |
---|
6931 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
6932 | | - push {r4, r5, r6, r7, r8, r9, lr} |
---|
6933 | | - .save {r4, r5, r6, r7, r8, r9, lr} |
---|
6934 | | - .pad #28 |
---|
6935 | | - sub sp, sp, #28 |
---|
6936 | | - ldr r7, .L1074 |
---|
6937 | | - mov r8, #0 |
---|
6938 | | - movw r2, #61589 |
---|
| 7311 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 7312 | + mov ip, sp |
---|
| 7313 | + push {r4, r5, r6, r7, r8, r9, fp, ip, lr, pc} |
---|
| 7314 | + sub fp, ip, #4 |
---|
| 7315 | + sub sp, sp, #24 |
---|
| 7316 | + push {lr} |
---|
| 7317 | + bl __gnu_mcount_nc |
---|
| 7318 | + ldr r5, .L981 |
---|
| 7319 | + mov r3, sp |
---|
| 7320 | + bic r8, r3, #8128 |
---|
6939 | 7321 | mov r4, r0 |
---|
6940 | | - ldr r5, .L1074+4 |
---|
6941 | | - ldr r3, [r7] |
---|
6942 | | - ldr r6, [r5, #3332] |
---|
6943 | | - str r3, [sp, #20] |
---|
| 7322 | + bic r8, r8, #63 |
---|
| 7323 | + mvn r0, #2 |
---|
| 7324 | + mvn r1, #1 |
---|
| 7325 | + mov r9, #0 |
---|
| 7326 | + ldr r7, [r5, #3332] |
---|
| 7327 | + movw r2, #61589 |
---|
| 7328 | + ldr r3, [r8, #24] |
---|
| 7329 | + str r3, [fp, #-40] |
---|
6944 | 7330 | mvn r3, #0 |
---|
6945 | | - str r3, [sp, #16] |
---|
| 7331 | + str r3, [fp, #-44] |
---|
6946 | 7332 | ldr r3, [r5, #3300] |
---|
6947 | | - str r6, [sp, #12] |
---|
6948 | | - str r3, [sp, #8] |
---|
6949 | | - mvn r3, #2 |
---|
6950 | | - str r3, [r6, #8] |
---|
6951 | | - mvn r3, #1 |
---|
6952 | | - str r3, [r6, #12] |
---|
6953 | | - ldrh r3, [r0] |
---|
6954 | | - strh r8, [r6] @ movhi |
---|
6955 | | - strh r3, [r6, #2] @ movhi |
---|
| 7333 | + str r3, [fp, #-52] |
---|
| 7334 | + str r7, [fp, #-48] |
---|
| 7335 | + strd r0, [r7, #8] |
---|
| 7336 | + ldrh r3, [r4] |
---|
| 7337 | + strh r3, [r7, #2] @ movhi |
---|
| 7338 | + strh r9, [r7] @ movhi |
---|
6956 | 7339 | ldr r3, [r5, #3300] |
---|
6957 | 7340 | str r2, [r3] |
---|
6958 | | - ldr r2, .L1074+8 |
---|
| 7341 | + ldr r2, .L981+4 |
---|
6959 | 7342 | ldr r3, [r5, #3300] |
---|
6960 | 7343 | str r2, [r3, #4] |
---|
6961 | | - ldrh r3, [r0, #4] |
---|
6962 | | - tst r3, #1 |
---|
6963 | | - moveq r9, #6 |
---|
6964 | | - movne r9, #7 |
---|
6965 | | -.L1065: |
---|
| 7344 | + ldrh r6, [r4, #4] |
---|
| 7345 | + and r6, r6, #1 |
---|
| 7346 | + add r6, r6, #6 |
---|
| 7347 | +.L970: |
---|
6966 | 7348 | ldrh r3, [r4, #4] |
---|
| 7349 | + cmp r6, #0 |
---|
| 7350 | + beq .L972 |
---|
6967 | 7351 | cmp r3, #0 |
---|
6968 | | - bne .L1061 |
---|
6969 | | -.L1062: |
---|
| 7352 | + bne .L971 |
---|
| 7353 | +.L972: |
---|
6970 | 7354 | ldrh r3, [r4] |
---|
6971 | 7355 | ldr r1, [r5, #72] |
---|
6972 | 7356 | ldrh r0, [r4, #4] |
---|
.. | .. |
---|
6975 | 7359 | sub r2, r2, r0 |
---|
6976 | 7360 | strh r2, [r1, r3] @ movhi |
---|
6977 | 7361 | movw r3, #302 |
---|
| 7362 | + ldr r2, [fp, #-40] |
---|
6978 | 7363 | ldrh r3, [r5, r3] |
---|
6979 | | - ldr r2, [sp, #20] |
---|
6980 | 7364 | strh r3, [r4, #2] @ movhi |
---|
6981 | 7365 | mov r3, #0 |
---|
6982 | 7366 | strb r3, [r4, #6] |
---|
6983 | 7367 | strh r3, [r4, #4] @ movhi |
---|
6984 | | - ldr r3, [r7] |
---|
| 7368 | + ldr r3, [r8, #24] |
---|
6985 | 7369 | cmp r2, r3 |
---|
6986 | | - beq .L1066 |
---|
| 7370 | + beq .L976 |
---|
6987 | 7371 | bl __stack_chk_fail |
---|
6988 | | -.L1061: |
---|
| 7372 | +.L971: |
---|
6989 | 7373 | mov r0, r4 |
---|
6990 | 7374 | bl get_new_active_ppa |
---|
6991 | 7375 | cmn r0, #1 |
---|
6992 | | - str r0, [sp, #4] |
---|
6993 | | - beq .L1062 |
---|
| 7376 | + str r0, [fp, #-56] |
---|
| 7377 | + beq .L972 |
---|
6994 | 7378 | ldr r3, [r5, #2592] |
---|
6995 | 7379 | mov r1, #1 |
---|
6996 | | - mov r0, sp |
---|
6997 | | - str r3, [r6, #4] |
---|
6998 | | - add r3, r3, #1 |
---|
6999 | | - cmn r3, #1 |
---|
7000 | | - moveq r3, r8 |
---|
| 7380 | + str r3, [r7, #4] |
---|
| 7381 | + sub r0, fp, #60 |
---|
| 7382 | + cmn r3, #2 |
---|
| 7383 | + add r2, r3, #1 |
---|
| 7384 | + movne r3, r2 |
---|
| 7385 | + moveq r3, r9 |
---|
7001 | 7386 | str r3, [r5, #2592] |
---|
7002 | 7387 | mov r3, #0 |
---|
7003 | 7388 | mov r2, r3 |
---|
| 7389 | + sub r6, r6, #1 |
---|
7004 | 7390 | bl FlashProgPages |
---|
7005 | 7391 | ldrh r0, [r4] |
---|
7006 | 7392 | bl decrement_vpc_count |
---|
7007 | | - subs r9, r9, #1 |
---|
7008 | | - bne .L1065 |
---|
7009 | | - b .L1062 |
---|
7010 | | -.L1066: |
---|
7011 | | - add sp, sp, #28 |
---|
7012 | | - @ sp needed |
---|
7013 | | - pop {r4, r5, r6, r7, r8, r9, pc} |
---|
7014 | | -.L1075: |
---|
| 7393 | + b .L970 |
---|
| 7394 | +.L976: |
---|
| 7395 | + sub sp, fp, #36 |
---|
| 7396 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, fp, sp, pc} |
---|
| 7397 | +.L982: |
---|
7015 | 7398 | .align 2 |
---|
7016 | | -.L1074: |
---|
7017 | | - .word __stack_chk_guard |
---|
| 7399 | +.L981: |
---|
7018 | 7400 | .word .LANCHOR0 |
---|
7019 | 7401 | .word 305419896 |
---|
7020 | | - .fnend |
---|
7021 | 7402 | .size FtlSuperblockPowerLostFix, .-FtlSuperblockPowerLostFix |
---|
7022 | 7403 | .align 2 |
---|
7023 | 7404 | .global FtlMakeBbt |
---|
.. | .. |
---|
7026 | 7407 | .fpu softvfp |
---|
7027 | 7408 | .type FtlMakeBbt, %function |
---|
7028 | 7409 | FtlMakeBbt: |
---|
7029 | | - .fnstart |
---|
7030 | 7410 | @ args = 0, pretend = 0, frame = 8 |
---|
7031 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
7032 | | - push {r0, r1, r2, r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
7033 | | - .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
7034 | | - .pad #12 |
---|
7035 | | - mov r9, #0 |
---|
7036 | | - ldr r8, .L1097 |
---|
| 7411 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 7412 | + mov ip, sp |
---|
| 7413 | + push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 7414 | + sub fp, ip, #4 |
---|
| 7415 | + sub sp, sp, #12 |
---|
| 7416 | + push {lr} |
---|
| 7417 | + bl __gnu_mcount_nc |
---|
| 7418 | + ldr r8, .L1002 |
---|
| 7419 | + mov r7, #0 |
---|
7037 | 7420 | bl FtlBbtMemInit |
---|
7038 | | - sub r4, r8, #28 |
---|
7039 | | - sub r6, r8, #380 |
---|
7040 | | - sub r10, r8, #18 |
---|
7041 | | - mov r5, r6 |
---|
7042 | | - sub fp, r4, #54 |
---|
| 7421 | + sub r9, r8, #16 |
---|
| 7422 | + sub r4, r8, #380 |
---|
7043 | 7423 | bl FtlLoadFactoryBbt |
---|
7044 | | -.L1077: |
---|
7045 | | - ldrh r3, [r6, #254] |
---|
7046 | | - cmp r9, r3 |
---|
7047 | | - bcc .L1083 |
---|
7048 | | - ldr r7, .L1097+4 |
---|
7049 | | - mov r6, #0 |
---|
7050 | | -.L1084: |
---|
7051 | | - ldrh r3, [r7] |
---|
7052 | | - uxth r0, r6 |
---|
7053 | | - add r6, r6, #1 |
---|
| 7424 | +.L984: |
---|
| 7425 | + ldrh r3, [r4, #254] |
---|
| 7426 | + cmp r3, r7 |
---|
| 7427 | + bhi .L990 |
---|
| 7428 | + ldr r6, .L1002+4 |
---|
| 7429 | + mov r5, #0 |
---|
| 7430 | +.L991: |
---|
| 7431 | + ldrh r3, [r6] |
---|
| 7432 | + uxth r0, r5 |
---|
7054 | 7433 | cmp r3, r0 |
---|
7055 | | - bhi .L1085 |
---|
7056 | | - ldrh r6, [r4, #12] |
---|
| 7434 | + bhi .L992 |
---|
| 7435 | + ldr r5, .L1002+8 |
---|
7057 | 7436 | movw r7, #65535 |
---|
| 7437 | + ldrh r6, [r5, #12] |
---|
7058 | 7438 | sub r6, r6, #1 |
---|
7059 | 7439 | uxth r6, r6 |
---|
7060 | | -.L1086: |
---|
7061 | | - ldrh r3, [r4, #12] |
---|
| 7440 | +.L993: |
---|
| 7441 | + ldrh r3, [r5, #12] |
---|
7062 | 7442 | sub r3, r3, #48 |
---|
7063 | 7443 | cmp r6, r3 |
---|
7064 | | - ble .L1090 |
---|
| 7444 | + ble .L997 |
---|
7065 | 7445 | mov r0, r6 |
---|
7066 | 7446 | bl FtlBbmIsBadBlock |
---|
7067 | 7447 | cmp r0, #1 |
---|
7068 | | - beq .L1087 |
---|
| 7448 | + beq .L994 |
---|
7069 | 7449 | mov r0, r6 |
---|
7070 | 7450 | bl FlashTestBlk |
---|
7071 | 7451 | cmp r0, #0 |
---|
7072 | | - beq .L1088 |
---|
| 7452 | + beq .L995 |
---|
7073 | 7453 | mov r0, r6 |
---|
7074 | 7454 | bl FtlBbmMapBadBlock |
---|
7075 | | -.L1087: |
---|
| 7455 | +.L994: |
---|
7076 | 7456 | sub r6, r6, #1 |
---|
7077 | 7457 | uxth r6, r6 |
---|
7078 | | - b .L1086 |
---|
7079 | | -.L1083: |
---|
7080 | | - ldr r3, [r6, #3332] |
---|
7081 | | - movw r2, #65535 |
---|
7082 | | - ldr r0, [r6, #3300] |
---|
7083 | | - str r3, [sp, #4] |
---|
7084 | | - str r3, [r6, #3464] |
---|
7085 | | - ldrh r3, [r10, #2]! |
---|
7086 | | - str r0, [r6, #3460] |
---|
7087 | | - cmp r3, r2 |
---|
7088 | | - beq .L1078 |
---|
7089 | | - ldrh r7, [fp] |
---|
| 7458 | + b .L993 |
---|
| 7459 | +.L990: |
---|
| 7460 | + ldrh r5, [r9] |
---|
| 7461 | + ldr r3, [r4, #3332] |
---|
| 7462 | + ldr r0, [r4, #3300] |
---|
| 7463 | + str r3, [fp, #-48] |
---|
| 7464 | + str r3, [r4, #3464] |
---|
| 7465 | + movw r3, #65535 |
---|
| 7466 | + ldr r10, .L1002+12 |
---|
| 7467 | + cmp r5, r3 |
---|
| 7468 | + str r0, [r4, #3460] |
---|
| 7469 | + beq .L985 |
---|
| 7470 | + ldrh r3, [r10] |
---|
7090 | 7471 | mov r2, #1 |
---|
| 7472 | + ldr r0, .L1002+16 |
---|
7091 | 7473 | mov r1, r2 |
---|
7092 | | - ldr r0, .L1097+8 |
---|
7093 | | - mla r7, r9, r7, r3 |
---|
7094 | | - lsl r3, r7, #10 |
---|
7095 | | - str r3, [r6, #3456] |
---|
| 7474 | + mla r5, r7, r3, r5 |
---|
| 7475 | + lsl r3, r5, #10 |
---|
| 7476 | + str r3, [r4, #3456] |
---|
7096 | 7477 | bl FlashReadPages |
---|
7097 | | - ldrh r2, [fp] |
---|
7098 | | - ldr r1, [r6, #3460] |
---|
7099 | | - ldr r0, [r8] |
---|
| 7478 | + ldrh r2, [r10] |
---|
| 7479 | + ldr r1, [r4, #3460] |
---|
7100 | 7480 | add r2, r2, #7 |
---|
7101 | | - asr r2, r2, #3 |
---|
| 7481 | + ldr r0, [r8] |
---|
| 7482 | + lsr r2, r2, #3 |
---|
7102 | 7483 | bl ftl_memcpy |
---|
7103 | | -.L1079: |
---|
7104 | | - uxth r0, r7 |
---|
7105 | | - add r9, r9, #1 |
---|
| 7484 | +.L986: |
---|
| 7485 | + uxth r0, r5 |
---|
| 7486 | + add r7, r7, #1 |
---|
7106 | 7487 | add r8, r8, #4 |
---|
| 7488 | + add r9, r9, #2 |
---|
7107 | 7489 | bl FtlBbmMapBadBlock |
---|
7108 | | - b .L1077 |
---|
7109 | | -.L1078: |
---|
7110 | | - mov r1, r9 |
---|
| 7490 | + b .L984 |
---|
| 7491 | +.L985: |
---|
| 7492 | + mov r1, r7 |
---|
7111 | 7493 | bl FlashGetBadBlockList |
---|
7112 | 7494 | ldr r1, [r8] |
---|
7113 | | - ldr r0, [r6, #3460] |
---|
| 7495 | + ldr r0, [r4, #3460] |
---|
7114 | 7496 | bl FtlBbt2Bitmap |
---|
7115 | | - ldrh r3, [fp] |
---|
7116 | | -.L1096: |
---|
7117 | | - sub r3, r3, #1 |
---|
7118 | | - uxth r3, r3 |
---|
7119 | | - str r3, [sp] |
---|
7120 | | -.L1080: |
---|
7121 | | - ldr r3, [sp] |
---|
7122 | | - ldrh r0, [fp] |
---|
7123 | | - smlabb r0, r0, r9, r3 |
---|
| 7497 | + ldrh r6, [r10] |
---|
| 7498 | +.L988: |
---|
| 7499 | + sub r6, r6, #1 |
---|
| 7500 | + uxth r6, r6 |
---|
| 7501 | +.L987: |
---|
| 7502 | + ldrh r0, [r10] |
---|
| 7503 | + smlabb r0, r0, r7, r6 |
---|
7124 | 7504 | uxth r0, r0 |
---|
7125 | 7505 | bl FtlBbmIsBadBlock |
---|
7126 | 7506 | cmp r0, #1 |
---|
7127 | | - beq .L1081 |
---|
7128 | | - ldrh r3, [sp] |
---|
| 7507 | + beq .L988 |
---|
7129 | 7508 | mov r2, #16 |
---|
7130 | 7509 | mov r1, #0 |
---|
7131 | | - ldr r0, [r5, #3332] |
---|
7132 | | - strh r3, [r10] @ movhi |
---|
| 7510 | + ldr r0, [r4, #3332] |
---|
| 7511 | + strh r6, [r9] @ movhi |
---|
7133 | 7512 | bl ftl_memset |
---|
7134 | 7513 | mov r2, #4096 |
---|
7135 | 7514 | mov r1, #0 |
---|
7136 | | - ldr r0, [r5, #3300] |
---|
| 7515 | + ldr r0, [r4, #3300] |
---|
7137 | 7516 | bl ftl_memset |
---|
7138 | | - ldr r3, [sp, #4] |
---|
7139 | | - movw r2, 61664 @ movhi |
---|
7140 | | - strh r2, [r3] @ movhi |
---|
| 7517 | + ldr r2, [fp, #-48] |
---|
| 7518 | + ldr r3, .L1002+20 |
---|
| 7519 | + strh r3, [r2] @ movhi |
---|
7141 | 7520 | mov r3, #0 |
---|
7142 | | - ldr r2, [sp, #4] |
---|
7143 | | - ldrh r7, [fp] |
---|
7144 | 7521 | str r3, [r2, #4] |
---|
7145 | 7522 | ldrh r3, [r10] |
---|
7146 | | - strh r3, [r2, #2] @ movhi |
---|
7147 | | - ldrh r3, [r10] |
---|
| 7523 | + ldrh r5, [r9] |
---|
| 7524 | + strh r5, [r2, #2] @ movhi |
---|
7148 | 7525 | ldr r1, [r8] |
---|
7149 | | - ldr r0, [r5, #3460] |
---|
7150 | | - mla r7, r9, r7, r3 |
---|
7151 | | - lsl r3, r7, #10 |
---|
7152 | | - str r3, [r5, #3456] |
---|
7153 | | - ldr r3, .L1097+12 |
---|
| 7526 | + mla r5, r7, r3, r5 |
---|
| 7527 | + ldr r0, [r4, #3460] |
---|
| 7528 | + lsl r3, r5, #10 |
---|
| 7529 | + str r3, [r4, #3456] |
---|
| 7530 | + ldr r3, .L1002+24 |
---|
7154 | 7531 | ldrh r2, [r3] |
---|
7155 | 7532 | lsl r2, r2, #2 |
---|
7156 | 7533 | bl ftl_memcpy |
---|
7157 | 7534 | mov r2, #1 |
---|
7158 | | - ldr r0, .L1097+8 |
---|
| 7535 | + ldr r0, .L1002+16 |
---|
7159 | 7536 | mov r1, r2 |
---|
7160 | 7537 | bl FlashEraseBlocks |
---|
7161 | 7538 | mov r3, #1 |
---|
7162 | | - ldr r0, .L1097+8 |
---|
| 7539 | + ldr r0, .L1002+16 |
---|
7163 | 7540 | mov r2, r3 |
---|
7164 | 7541 | mov r1, r3 |
---|
7165 | 7542 | bl FlashProgPages |
---|
7166 | | - ldr r3, [r5, #3452] |
---|
| 7543 | + ldr r3, [r4, #3452] |
---|
| 7544 | + uxth r0, r5 |
---|
7167 | 7545 | cmn r3, #1 |
---|
7168 | | - bne .L1079 |
---|
7169 | | - uxth r0, r7 |
---|
| 7546 | + bne .L986 |
---|
7170 | 7547 | bl FtlBbmMapBadBlock |
---|
7171 | | - b .L1080 |
---|
7172 | | -.L1081: |
---|
7173 | | - ldr r3, [sp] |
---|
7174 | | - b .L1096 |
---|
7175 | | -.L1085: |
---|
| 7548 | + b .L987 |
---|
| 7549 | +.L992: |
---|
| 7550 | + add r5, r5, #1 |
---|
7176 | 7551 | bl FtlBbmMapBadBlock |
---|
7177 | | - b .L1084 |
---|
7178 | | -.L1088: |
---|
7179 | | - ldrh r3, [r4] |
---|
| 7552 | + b .L991 |
---|
| 7553 | +.L995: |
---|
| 7554 | + ldrh r3, [r5] |
---|
7180 | 7555 | cmp r3, r7 |
---|
7181 | | - strheq r6, [r4] @ movhi |
---|
7182 | | - beq .L1087 |
---|
7183 | | -.L1089: |
---|
7184 | | - strh r6, [r4, #4] @ movhi |
---|
7185 | | -.L1090: |
---|
7186 | | - ldrh r3, [r4] |
---|
| 7556 | + strheq r6, [r5] @ movhi |
---|
| 7557 | + beq .L994 |
---|
| 7558 | +.L996: |
---|
| 7559 | + strh r6, [r5, #4] @ movhi |
---|
| 7560 | +.L997: |
---|
| 7561 | + ldr r0, [r4, #3268] |
---|
7187 | 7562 | mov r6, #0 |
---|
7188 | | - ldr r0, [r5, #3268] |
---|
| 7563 | + ldrh r3, [r5] |
---|
7189 | 7564 | mov r1, #1 |
---|
7190 | | - str r6, [r5, #360] |
---|
| 7565 | + str r6, [r4, #360] |
---|
7191 | 7566 | mov r2, #2 |
---|
7192 | | - strh r6, [r4, #2] @ movhi |
---|
| 7567 | + strh r6, [r5, #2] @ movhi |
---|
7193 | 7568 | lsl r3, r3, #10 |
---|
7194 | 7569 | str r3, [r0, #4] |
---|
7195 | | - ldrh r3, [r4, #4] |
---|
| 7570 | + ldrh r3, [r5, #4] |
---|
7196 | 7571 | lsl r3, r3, #10 |
---|
7197 | 7572 | str r3, [r0, #24] |
---|
7198 | 7573 | bl FlashEraseBlocks |
---|
7199 | | - ldrh r0, [r4] |
---|
| 7574 | + ldrh r0, [r5] |
---|
7200 | 7575 | bl FtlBbmMapBadBlock |
---|
7201 | | - ldrh r0, [r4, #4] |
---|
| 7576 | + ldrh r0, [r5, #4] |
---|
7202 | 7577 | bl FtlBbmMapBadBlock |
---|
7203 | 7578 | bl FtlBbmTblFlush |
---|
7204 | | - ldr r3, [r5, #360] |
---|
7205 | | - ldrh r2, [r4, #4] |
---|
7206 | | - strh r6, [r4, #2] @ movhi |
---|
| 7579 | + ldr r3, [r4, #360] |
---|
| 7580 | + ldrh r2, [r5, #4] |
---|
7207 | 7581 | add r3, r3, #1 |
---|
7208 | | - str r3, [r5, #360] |
---|
7209 | | - ldrh r3, [r4] |
---|
7210 | | - strh r2, [r4] @ movhi |
---|
7211 | | - strh r3, [r4, #4] @ movhi |
---|
| 7582 | + str r3, [r4, #360] |
---|
| 7583 | + ldrh r3, [r5] |
---|
| 7584 | + strh r6, [r5, #2] @ movhi |
---|
| 7585 | + strh r2, [r5] @ movhi |
---|
| 7586 | + strh r3, [r5, #4] @ movhi |
---|
7212 | 7587 | bl FtlBbmTblFlush |
---|
7213 | 7588 | mov r0, r6 |
---|
7214 | | - add sp, sp, #12 |
---|
7215 | | - @ sp needed |
---|
7216 | | - pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} |
---|
7217 | | -.L1098: |
---|
| 7589 | + sub sp, fp, #40 |
---|
| 7590 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 7591 | +.L1003: |
---|
7218 | 7592 | .align 2 |
---|
7219 | | -.L1097: |
---|
| 7593 | +.L1002: |
---|
7220 | 7594 | .word .LANCHOR0+380 |
---|
7221 | 7595 | .word .LANCHOR0+314 |
---|
| 7596 | + .word .LANCHOR0+352 |
---|
| 7597 | + .word .LANCHOR0+298 |
---|
7222 | 7598 | .word .LANCHOR0+3452 |
---|
| 7599 | + .word -3872 |
---|
7223 | 7600 | .word .LANCHOR0+3388 |
---|
7224 | | - .fnend |
---|
7225 | 7601 | .size FtlMakeBbt, .-FtlMakeBbt |
---|
7226 | 7602 | .align 2 |
---|
7227 | 7603 | .global ftl_memcmp |
---|
.. | .. |
---|
7230 | 7606 | .fpu softvfp |
---|
7231 | 7607 | .type ftl_memcmp, %function |
---|
7232 | 7608 | ftl_memcmp: |
---|
7233 | | - .fnstart |
---|
7234 | 7609 | @ args = 0, pretend = 0, frame = 0 |
---|
7235 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
7236 | | - @ link register save eliminated. |
---|
7237 | | - b memcmp |
---|
7238 | | - .fnend |
---|
| 7610 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 7611 | + mov ip, sp |
---|
| 7612 | + push {fp, ip, lr, pc} |
---|
| 7613 | + sub fp, ip, #4 |
---|
| 7614 | + push {lr} |
---|
| 7615 | + bl __gnu_mcount_nc |
---|
| 7616 | + bl memcmp |
---|
| 7617 | + ldmfd sp, {fp, sp, pc} |
---|
7239 | 7618 | .size ftl_memcmp, .-ftl_memcmp |
---|
7240 | 7619 | .align 2 |
---|
7241 | 7620 | .global js_hash |
---|
.. | .. |
---|
7244 | 7623 | .fpu softvfp |
---|
7245 | 7624 | .type js_hash, %function |
---|
7246 | 7625 | js_hash: |
---|
7247 | | - .fnstart |
---|
7248 | 7626 | @ args = 0, pretend = 0, frame = 0 |
---|
7249 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
7250 | | - @ link register save eliminated. |
---|
7251 | | - ldr r3, .L1103 |
---|
| 7627 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 7628 | + mov ip, sp |
---|
| 7629 | + push {fp, ip, lr, pc} |
---|
| 7630 | + sub fp, ip, #4 |
---|
| 7631 | + push {lr} |
---|
| 7632 | + bl __gnu_mcount_nc |
---|
| 7633 | + mov r3, r0 |
---|
7252 | 7634 | add r1, r0, r1 |
---|
7253 | | -.L1101: |
---|
7254 | | - cmp r0, r1 |
---|
7255 | | - bne .L1102 |
---|
7256 | | - mov r0, r3 |
---|
7257 | | - bx lr |
---|
7258 | | -.L1102: |
---|
7259 | | - lsr r2, r3, #2 |
---|
7260 | | - ldrb ip, [r0], #1 @ zero_extendqisi2 |
---|
7261 | | - add r2, r2, r3, lsl #5 |
---|
| 7635 | + ldr r0, .L1009 |
---|
| 7636 | +.L1006: |
---|
| 7637 | + cmp r3, r1 |
---|
| 7638 | + ldmfdeq sp, {fp, sp, pc} |
---|
| 7639 | + lsr r2, r0, #2 |
---|
| 7640 | + ldrb ip, [r3], #1 @ zero_extendqisi2 |
---|
| 7641 | + add r2, r2, r0, lsl #5 |
---|
7262 | 7642 | add r2, r2, ip |
---|
7263 | | - eor r3, r3, r2 |
---|
7264 | | - b .L1101 |
---|
7265 | | -.L1104: |
---|
| 7643 | + eor r0, r0, r2 |
---|
| 7644 | + b .L1006 |
---|
| 7645 | +.L1010: |
---|
7266 | 7646 | .align 2 |
---|
7267 | | -.L1103: |
---|
| 7647 | +.L1009: |
---|
7268 | 7648 | .word 1204201446 |
---|
7269 | | - .fnend |
---|
7270 | 7649 | .size js_hash, .-js_hash |
---|
7271 | | - .align 2 |
---|
7272 | | - .global Ftl_write_map_blk_to_last_page |
---|
7273 | | - .syntax unified |
---|
7274 | | - .arm |
---|
7275 | | - .fpu softvfp |
---|
7276 | | - .type Ftl_write_map_blk_to_last_page, %function |
---|
7277 | | -Ftl_write_map_blk_to_last_page: |
---|
7278 | | - .fnstart |
---|
7279 | | - @ args = 0, pretend = 0, frame = 0 |
---|
7280 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
7281 | | - push {r4, r5, r6, r7, r8, lr} |
---|
7282 | | - .save {r4, r5, r6, r7, r8, lr} |
---|
7283 | | - movw r2, #65535 |
---|
7284 | | - ldrh r3, [r0] |
---|
7285 | | - mov r4, r0 |
---|
7286 | | - ldr r5, [r0, #12] |
---|
7287 | | - cmp r3, r2 |
---|
7288 | | - bne .L1106 |
---|
7289 | | - ldrh r3, [r0, #8] |
---|
7290 | | - cmp r3, #0 |
---|
7291 | | - beq .L1107 |
---|
7292 | | - movw r2, #641 |
---|
7293 | | - ldr r1, .L1116 |
---|
7294 | | - ldr r0, .L1116+4 |
---|
7295 | | - bl sftl_printk |
---|
7296 | | -.L1107: |
---|
7297 | | - ldrh r3, [r4, #8] |
---|
7298 | | - add r3, r3, #1 |
---|
7299 | | - strh r3, [r4, #8] @ movhi |
---|
7300 | | - bl FtlFreeSysBlkQueueOut |
---|
7301 | | - mov r3, #0 |
---|
7302 | | - strh r0, [r5] @ movhi |
---|
7303 | | - strh r3, [r4, #2] @ movhi |
---|
7304 | | - strh r3, [r4] @ movhi |
---|
7305 | | - ldr r3, [r4, #28] |
---|
7306 | | - add r3, r3, #1 |
---|
7307 | | - str r3, [r4, #28] |
---|
7308 | | -.L1108: |
---|
7309 | | - mov r0, #0 |
---|
7310 | | - pop {r4, r5, r6, r7, r8, pc} |
---|
7311 | | -.L1106: |
---|
7312 | | - lsl r3, r3, #1 |
---|
7313 | | - ldr r7, [r0, #24] |
---|
7314 | | - mov r1, #255 |
---|
7315 | | - ldrh r8, [r5, r3] |
---|
7316 | | - ldrh r3, [r0, #2] |
---|
7317 | | - ldr r5, .L1116+8 |
---|
7318 | | - orr r3, r3, r8, lsl #10 |
---|
7319 | | - ldr r6, [r5, #3332] |
---|
7320 | | - str r3, [r5, #3456] |
---|
7321 | | - ldr r3, [r5, #3300] |
---|
7322 | | - str r6, [r5, #3464] |
---|
7323 | | - str r3, [r5, #3460] |
---|
7324 | | - ldr r3, [r0, #28] |
---|
7325 | | - str r3, [r6, #4] |
---|
7326 | | - ldr r3, .L1116+12 |
---|
7327 | | - strh r3, [r6, #8] @ movhi |
---|
7328 | | - ldrh r3, [r0, #4] |
---|
7329 | | - strh r8, [r6, #2] @ movhi |
---|
7330 | | - strh r3, [r6] @ movhi |
---|
7331 | | - add r3, r5, #304 |
---|
7332 | | - ldrh r2, [r3] |
---|
7333 | | - ldr r0, [r5, #3300] |
---|
7334 | | - lsl r2, r2, #3 |
---|
7335 | | - bl ftl_memset |
---|
7336 | | - mov r2, #0 |
---|
7337 | | - mov r3, r2 |
---|
7338 | | -.L1109: |
---|
7339 | | - ldrh r0, [r4, #6] |
---|
7340 | | - uxth r1, r2 |
---|
7341 | | - cmp r0, r1 |
---|
7342 | | - bhi .L1111 |
---|
7343 | | - movw r3, #310 |
---|
7344 | | - ldr r0, [r5, #3460] |
---|
7345 | | - ldrh r1, [r5, r3] |
---|
7346 | | - bl js_hash |
---|
7347 | | - mov r2, #1 |
---|
7348 | | - str r0, [r6, #12] |
---|
7349 | | - mov r3, #0 |
---|
7350 | | - mov r1, r2 |
---|
7351 | | - ldr r0, .L1116+16 |
---|
7352 | | - bl FlashProgPages |
---|
7353 | | - ldrh r3, [r4, #2] |
---|
7354 | | - mov r0, r4 |
---|
7355 | | - add r3, r3, #1 |
---|
7356 | | - strh r3, [r4, #2] @ movhi |
---|
7357 | | - bl ftl_map_blk_gc |
---|
7358 | | - b .L1108 |
---|
7359 | | -.L1111: |
---|
7360 | | - uxth r1, r2 |
---|
7361 | | - ldr r0, [r7, r1, lsl #2] |
---|
7362 | | - cmp r8, r0, lsr #10 |
---|
7363 | | - bne .L1110 |
---|
7364 | | - ldr r0, [r5, #3300] |
---|
7365 | | - add r3, r3, #1 |
---|
7366 | | - uxth r3, r3 |
---|
7367 | | - str r1, [r0, r3, lsl #3] |
---|
7368 | | - ldr r0, [r7, r1, lsl #2] |
---|
7369 | | - ldr r1, [r5, #3300] |
---|
7370 | | - add r1, r1, r3, lsl #3 |
---|
7371 | | - str r0, [r1, #4] |
---|
7372 | | -.L1110: |
---|
7373 | | - add r2, r2, #1 |
---|
7374 | | - b .L1109 |
---|
7375 | | -.L1117: |
---|
7376 | | - .align 2 |
---|
7377 | | -.L1116: |
---|
7378 | | - .word .LANCHOR1+332 |
---|
7379 | | - .word .LC8 |
---|
7380 | | - .word .LANCHOR0 |
---|
7381 | | - .word -1291 |
---|
7382 | | - .word .LANCHOR0+3452 |
---|
7383 | | - .fnend |
---|
7384 | | - .size Ftl_write_map_blk_to_last_page, .-Ftl_write_map_blk_to_last_page |
---|
| 7650 | + .section .rodata.str1.1 |
---|
| 7651 | +.LC104: |
---|
| 7652 | + .ascii "FtlMapWritePage error = %x \012\000" |
---|
| 7653 | +.LC105: |
---|
| 7654 | + .ascii "FtlMapWritePage error = %x error count = %d\012\000" |
---|
| 7655 | + .text |
---|
7385 | 7656 | .align 2 |
---|
7386 | 7657 | .global FtlMapWritePage |
---|
7387 | 7658 | .syntax unified |
---|
.. | .. |
---|
7389 | 7660 | .fpu softvfp |
---|
7390 | 7661 | .type FtlMapWritePage, %function |
---|
7391 | 7662 | FtlMapWritePage: |
---|
7392 | | - .fnstart |
---|
7393 | 7663 | @ args = 0, pretend = 0, frame = 8 |
---|
7394 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
7395 | | - push {r0, r1, r2, r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
7396 | | - .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
7397 | | - .pad #12 |
---|
7398 | | - lsl r9, r1, #2 |
---|
7399 | | - ldr r5, .L1144 |
---|
| 7664 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 7665 | + mov ip, sp |
---|
| 7666 | + push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 7667 | + sub fp, ip, #4 |
---|
| 7668 | + sub sp, sp, #12 |
---|
| 7669 | + push {lr} |
---|
| 7670 | + bl __gnu_mcount_nc |
---|
| 7671 | + ldr r5, .L1035 |
---|
7400 | 7672 | mov r4, r0 |
---|
7401 | 7673 | mov r7, r1 |
---|
7402 | | - mov r10, r2 |
---|
| 7674 | + mov r8, r2 |
---|
| 7675 | + lsl r10, r1, #2 |
---|
| 7676 | + add r9, r5, #304 |
---|
7403 | 7677 | mov r6, #0 |
---|
7404 | | - add r8, r5, #304 |
---|
7405 | | - mov fp, r8 |
---|
7406 | | -.L1119: |
---|
| 7678 | +.L1012: |
---|
7407 | 7679 | ldr r3, [r5, #2572] |
---|
7408 | 7680 | add r3, r3, #1 |
---|
7409 | 7681 | str r3, [r5, #2572] |
---|
7410 | | - ldrh r3, [r8] |
---|
| 7682 | + ldrh r3, [r9] |
---|
7411 | 7683 | ldrh r2, [r4, #2] |
---|
7412 | 7684 | sub r3, r3, #1 |
---|
7413 | 7685 | cmp r2, r3 |
---|
7414 | | - bge .L1120 |
---|
| 7686 | + bge .L1013 |
---|
7415 | 7687 | ldrh r2, [r4] |
---|
7416 | 7688 | movw r3, #65535 |
---|
7417 | 7689 | cmp r2, r3 |
---|
7418 | | - bne .L1121 |
---|
7419 | | -.L1120: |
---|
| 7690 | + bne .L1014 |
---|
| 7691 | +.L1013: |
---|
7420 | 7692 | mov r0, r4 |
---|
7421 | 7693 | bl Ftl_write_map_blk_to_last_page |
---|
7422 | | -.L1121: |
---|
| 7694 | +.L1014: |
---|
7423 | 7695 | ldrh r3, [r4] |
---|
7424 | 7696 | ldr r2, [r4, #12] |
---|
7425 | 7697 | lsl r3, r3, #1 |
---|
7426 | 7698 | ldrh r3, [r2, r3] |
---|
7427 | 7699 | cmp r3, #0 |
---|
7428 | | - bne .L1122 |
---|
| 7700 | + bne .L1015 |
---|
| 7701 | + ldr r1, .L1035+4 |
---|
7429 | 7702 | mov r2, #700 |
---|
7430 | | - ldr r1, .L1144+4 |
---|
7431 | | - ldr r0, .L1144+8 |
---|
| 7703 | + ldr r0, .L1035+8 |
---|
7432 | 7704 | bl sftl_printk |
---|
7433 | | -.L1122: |
---|
| 7705 | +.L1015: |
---|
7434 | 7706 | ldrh r2, [r4] |
---|
7435 | 7707 | ldrh r3, [r4, #10] |
---|
7436 | 7708 | cmp r2, r3 |
---|
7437 | | - bcc .L1123 |
---|
| 7709 | + bcc .L1016 |
---|
| 7710 | + ldr r1, .L1035+4 |
---|
7438 | 7711 | movw r2, #701 |
---|
7439 | | - ldr r1, .L1144+4 |
---|
7440 | | - ldr r0, .L1144+8 |
---|
| 7712 | + ldr r0, .L1035+8 |
---|
7441 | 7713 | bl sftl_printk |
---|
7442 | | -.L1123: |
---|
| 7714 | +.L1016: |
---|
7443 | 7715 | ldrh r3, [r4] |
---|
7444 | 7716 | mov r1, #0 |
---|
7445 | 7717 | ldr r2, [r4, #12] |
---|
.. | .. |
---|
7447 | 7719 | lsl r3, r3, #1 |
---|
7448 | 7720 | ldrh r3, [r2, r3] |
---|
7449 | 7721 | ldrh r2, [r4, #2] |
---|
7450 | | - str r10, [r5, #3460] |
---|
7451 | | - str r3, [sp, #4] |
---|
7452 | | - str r0, [r5, #3464] |
---|
| 7722 | + str r3, [fp, #-48] |
---|
| 7723 | + str r8, [r5, #3460] |
---|
7453 | 7724 | orr r2, r2, r3, lsl #10 |
---|
7454 | 7725 | str r2, [r5, #3456] |
---|
7455 | 7726 | mov r2, #16 |
---|
| 7727 | + str r0, [r5, #3464] |
---|
7456 | 7728 | bl ftl_memset |
---|
7457 | 7729 | ldr r2, [r5, #3464] |
---|
7458 | 7730 | ldr r1, [r4, #28] |
---|
7459 | | - ldr r3, [sp, #4] |
---|
7460 | | - strh r7, [r2, #8] @ movhi |
---|
| 7731 | + ldr r3, [fp, #-48] |
---|
7461 | 7732 | str r1, [r2, #4] |
---|
| 7733 | + strh r7, [r2, #8] @ movhi |
---|
| 7734 | + str r2, [fp, #-48] |
---|
7462 | 7735 | ldrh r1, [r4, #4] |
---|
7463 | 7736 | strh r3, [r2, #2] @ movhi |
---|
7464 | | - ldr r3, .L1144+12 |
---|
| 7737 | + ldr r3, .L1035+12 |
---|
7465 | 7738 | strh r1, [r2] @ movhi |
---|
7466 | 7739 | ldr r0, [r5, #3460] |
---|
7467 | 7740 | ldrh r1, [r3] |
---|
7468 | | - str r2, [sp, #4] |
---|
7469 | 7741 | bl js_hash |
---|
7470 | | - ldr r2, [sp, #4] |
---|
| 7742 | + ldr r2, [fp, #-48] |
---|
7471 | 7743 | mov r3, #1 |
---|
7472 | 7744 | mov r1, r3 |
---|
7473 | 7745 | str r0, [r2, #12] |
---|
7474 | 7746 | mov r2, r3 |
---|
7475 | | - ldr r0, .L1144+16 |
---|
| 7747 | + ldr r0, .L1035+16 |
---|
7476 | 7748 | bl FlashProgPages |
---|
7477 | 7749 | ldrh r3, [r4, #2] |
---|
7478 | 7750 | add r3, r3, #1 |
---|
7479 | 7751 | strh r3, [r4, #2] @ movhi |
---|
7480 | 7752 | ldr r3, [r5, #3452] |
---|
7481 | 7753 | cmn r3, #1 |
---|
7482 | | - bne .L1124 |
---|
| 7754 | + bne .L1017 |
---|
7483 | 7755 | ldr r1, [r5, #3456] |
---|
7484 | 7756 | add r6, r6, #1 |
---|
7485 | | - ldr r0, .L1144+20 |
---|
7486 | | - uxth r6, r6 |
---|
| 7757 | + ldr r0, .L1035+20 |
---|
7487 | 7758 | bl sftl_printk |
---|
7488 | 7759 | ldrh r3, [r4, #2] |
---|
| 7760 | + uxth r6, r6 |
---|
7489 | 7761 | cmp r3, #2 |
---|
7490 | | - ldrhls r3, [fp] |
---|
| 7762 | + ldrhls r3, [r9] |
---|
7491 | 7763 | subls r3, r3, #1 |
---|
7492 | 7764 | strhls r3, [r4, #2] @ movhi |
---|
7493 | 7765 | cmp r6, #3 |
---|
7494 | | - bls .L1126 |
---|
7495 | | - mov r2, r6 |
---|
| 7766 | + bls .L1019 |
---|
7496 | 7767 | ldr r1, [r5, #3456] |
---|
7497 | | - ldr r0, .L1144+24 |
---|
| 7768 | + mov r2, r6 |
---|
| 7769 | + ldr r0, .L1035+24 |
---|
7498 | 7770 | bl sftl_printk |
---|
7499 | | -.L1127: |
---|
7500 | | - b .L1127 |
---|
7501 | | -.L1126: |
---|
| 7771 | +.L1020: |
---|
| 7772 | + b .L1020 |
---|
| 7773 | +.L1019: |
---|
7502 | 7774 | ldr r3, [r4, #32] |
---|
7503 | 7775 | cmp r3, #0 |
---|
7504 | | - beq .L1119 |
---|
7505 | | -.L1142: |
---|
7506 | | - b .L1142 |
---|
7507 | | -.L1124: |
---|
| 7776 | + beq .L1012 |
---|
| 7777 | +.L1022: |
---|
| 7778 | + b .L1022 |
---|
| 7779 | +.L1017: |
---|
7508 | 7780 | ldr r3, [r4, #24] |
---|
7509 | 7781 | ldr r2, [r5, #3456] |
---|
7510 | | - str r2, [r3, r9] |
---|
| 7782 | + str r2, [r3, r10] |
---|
7511 | 7783 | ldrh r3, [r4, #2] |
---|
7512 | 7784 | cmp r3, #1 |
---|
7513 | | - beq .L1130 |
---|
| 7785 | + beq .L1023 |
---|
7514 | 7786 | ldr r3, [r5, #3452] |
---|
7515 | 7787 | cmp r3, #256 |
---|
7516 | | - beq .L1130 |
---|
| 7788 | + beq .L1023 |
---|
7517 | 7789 | ldr r2, [r4, #36] |
---|
7518 | 7790 | cmp r2, #0 |
---|
7519 | | - beq .L1131 |
---|
7520 | | -.L1130: |
---|
| 7791 | + beq .L1024 |
---|
| 7792 | +.L1023: |
---|
7521 | 7793 | mov r3, #0 |
---|
7522 | 7794 | str r3, [r4, #36] |
---|
7523 | | - b .L1119 |
---|
7524 | | -.L1131: |
---|
| 7795 | + b .L1012 |
---|
| 7796 | +.L1024: |
---|
7525 | 7797 | cmn r3, #1 |
---|
7526 | | - bne .L1132 |
---|
| 7798 | + bne .L1025 |
---|
| 7799 | + ldr r1, .L1035+4 |
---|
7527 | 7800 | movw r2, #745 |
---|
7528 | | - ldr r1, .L1144+4 |
---|
7529 | | - ldr r0, .L1144+8 |
---|
| 7801 | + ldr r0, .L1035+8 |
---|
7530 | 7802 | bl sftl_printk |
---|
7531 | | -.L1132: |
---|
| 7803 | +.L1025: |
---|
7532 | 7804 | mov r0, #0 |
---|
7533 | | - add sp, sp, #12 |
---|
7534 | | - @ sp needed |
---|
7535 | | - pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} |
---|
7536 | | -.L1145: |
---|
| 7805 | + sub sp, fp, #40 |
---|
| 7806 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 7807 | +.L1036: |
---|
7537 | 7808 | .align 2 |
---|
7538 | | -.L1144: |
---|
| 7809 | +.L1035: |
---|
7539 | 7810 | .word .LANCHOR0 |
---|
7540 | | - .word .LANCHOR1+363 |
---|
| 7811 | + .word .LANCHOR1+332 |
---|
7541 | 7812 | .word .LC8 |
---|
7542 | 7813 | .word .LANCHOR0+310 |
---|
7543 | 7814 | .word .LANCHOR0+3452 |
---|
7544 | 7815 | .word .LC104 |
---|
7545 | 7816 | .word .LC105 |
---|
7546 | | - .fnend |
---|
7547 | 7817 | .size FtlMapWritePage, .-FtlMapWritePage |
---|
| 7818 | + .section .rodata.str1.1 |
---|
| 7819 | +.LC106: |
---|
| 7820 | + .ascii "region_id = %x phyAddr = %x\012\000" |
---|
| 7821 | +.LC107: |
---|
| 7822 | + .ascii "map_ppn:\000" |
---|
| 7823 | +.LC108: |
---|
| 7824 | + .ascii "load_l2p_region refresh = %x phyAddr = %x\012\000" |
---|
| 7825 | + .text |
---|
7548 | 7826 | .align 2 |
---|
7549 | 7827 | .global load_l2p_region |
---|
7550 | 7828 | .syntax unified |
---|
.. | .. |
---|
7552 | 7830 | .fpu softvfp |
---|
7553 | 7831 | .type load_l2p_region, %function |
---|
7554 | 7832 | load_l2p_region: |
---|
7555 | | - .fnstart |
---|
7556 | 7833 | @ args = 0, pretend = 0, frame = 0 |
---|
7557 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
7558 | | - push {r4, r5, r6, r7, r8, r9, r10, lr} |
---|
7559 | | - .save {r4, r5, r6, r7, r8, r9, r10, lr} |
---|
7560 | | - mov r6, r0 |
---|
7561 | | - ldr r9, .L1154 |
---|
7562 | | - mov r10, r1 |
---|
| 7834 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 7835 | + mov ip, sp |
---|
| 7836 | + push {r4, r5, r6, r7, r8, r9, fp, ip, lr, pc} |
---|
| 7837 | + sub fp, ip, #4 |
---|
| 7838 | + push {lr} |
---|
| 7839 | + bl __gnu_mcount_nc |
---|
| 7840 | + ldr r9, .L1046 |
---|
| 7841 | + mov r5, r0 |
---|
| 7842 | + mov r6, r1 |
---|
7563 | 7843 | ldrh r3, [r9] |
---|
7564 | 7844 | cmp r3, r0 |
---|
7565 | | - bcs .L1147 |
---|
| 7845 | + bcs .L1038 |
---|
| 7846 | + ldr r1, .L1046+4 |
---|
7566 | 7847 | movw r2, #485 |
---|
7567 | | - ldr r1, .L1154+4 |
---|
7568 | | - ldr r0, .L1154+8 |
---|
| 7848 | + ldr r0, .L1046+8 |
---|
7569 | 7849 | bl sftl_printk |
---|
7570 | | -.L1147: |
---|
7571 | | - ldr r7, .L1154+12 |
---|
7572 | | - mov r5, #12 |
---|
7573 | | - ldr r3, [r7, #3376] |
---|
7574 | | - mov r4, r7 |
---|
7575 | | - ldr r8, [r3, r6, lsl #2] |
---|
7576 | | - cmp r8, #0 |
---|
7577 | | - bne .L1148 |
---|
7578 | | - mul r5, r5, r10 |
---|
7579 | | - ldr r3, [r7, #2540] |
---|
7580 | | - movw r2, #310 |
---|
7581 | | - mov r1, #255 |
---|
7582 | | - ldrh r2, [r7, r2] |
---|
7583 | | - add r3, r3, r5 |
---|
| 7850 | +.L1038: |
---|
| 7851 | + ldr r4, .L1046+12 |
---|
| 7852 | + mov r1, #12 |
---|
| 7853 | + mul r6, r1, r6 |
---|
| 7854 | + ldr r3, [r4, #3376] |
---|
| 7855 | + ldr r7, [r3, r5, lsl #2] |
---|
| 7856 | + ldr r3, [r4, #2540] |
---|
| 7857 | + cmp r7, #0 |
---|
| 7858 | + add r3, r3, r6 |
---|
7584 | 7859 | ldr r0, [r3, #8] |
---|
| 7860 | + bne .L1039 |
---|
| 7861 | + movw r3, #310 |
---|
| 7862 | + mov r1, #255 |
---|
| 7863 | + ldrh r2, [r4, r3] |
---|
7585 | 7864 | bl ftl_memset |
---|
7586 | | - ldr r3, [r7, #2540] |
---|
7587 | | - strh r6, [r3, r5] @ movhi |
---|
7588 | | - ldr r3, [r7, #2540] |
---|
7589 | | - add r5, r3, r5 |
---|
7590 | | - str r8, [r5, #4] |
---|
7591 | | -.L1149: |
---|
| 7865 | + ldr r3, [r4, #2540] |
---|
| 7866 | + strh r5, [r3, r6] @ movhi |
---|
| 7867 | + ldr r1, [r4, #2540] |
---|
| 7868 | + add r6, r1, r6 |
---|
| 7869 | + str r7, [r6, #4] |
---|
| 7870 | +.L1040: |
---|
7592 | 7871 | mov r0, #0 |
---|
7593 | | - pop {r4, r5, r6, r7, r8, r9, r10, pc} |
---|
7594 | | -.L1148: |
---|
7595 | | - mul r5, r5, r10 |
---|
7596 | | - ldr r3, [r7, #2540] |
---|
| 7872 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, fp, sp, pc} |
---|
| 7873 | +.L1039: |
---|
| 7874 | + ldr r3, [r4, #3332] |
---|
7597 | 7875 | mov r2, #1 |
---|
7598 | | - ldr r0, .L1154+16 |
---|
| 7876 | + str r0, [r4, #3460] |
---|
7599 | 7877 | mov r1, r2 |
---|
7600 | | - str r8, [r7, #3456] |
---|
7601 | | - add r3, r3, r5 |
---|
7602 | | - ldr r3, [r3, #8] |
---|
7603 | | - str r3, [r7, #3460] |
---|
7604 | | - ldr r3, [r7, #3332] |
---|
7605 | | - str r3, [r7, #3464] |
---|
| 7878 | + ldr r0, .L1046+16 |
---|
| 7879 | + str r3, [r4, #3464] |
---|
| 7880 | + str r7, [r4, #3456] |
---|
7606 | 7881 | bl FlashReadPages |
---|
7607 | | - ldr r7, [r7, #3464] |
---|
7608 | | - ldrh r3, [r7, #8] |
---|
7609 | | - cmp r3, r6 |
---|
7610 | | - beq .L1150 |
---|
7611 | | - mov r2, r8 |
---|
7612 | | - mov r1, r6 |
---|
7613 | | - ldr r0, .L1154+20 |
---|
| 7882 | + ldr r8, [r4, #3464] |
---|
| 7883 | + ldrh r3, [r8, #8] |
---|
| 7884 | + cmp r3, r5 |
---|
| 7885 | + beq .L1041 |
---|
| 7886 | + ldr r0, .L1046+20 |
---|
| 7887 | + mov r2, r7 |
---|
| 7888 | + mov r1, r5 |
---|
7614 | 7889 | bl sftl_printk |
---|
7615 | 7890 | mov r3, #4 |
---|
7616 | 7891 | ldr r1, [r4, #3464] |
---|
7617 | 7892 | mov r2, r3 |
---|
7618 | | - ldr r0, .L1154+24 |
---|
| 7893 | + ldr r0, .L1046+24 |
---|
7619 | 7894 | bl rknand_print_hex |
---|
7620 | 7895 | ldrh r3, [r9] |
---|
7621 | | - mov r2, #4 |
---|
7622 | 7896 | ldr r1, [r4, #3376] |
---|
7623 | | - ldr r0, .L1154+28 |
---|
| 7897 | + mov r2, #4 |
---|
| 7898 | + ldr r0, .L1046+28 |
---|
7624 | 7899 | bl rknand_print_hex |
---|
7625 | | -.L1151: |
---|
7626 | | - ldrh r3, [r7, #8] |
---|
7627 | | - cmp r3, r6 |
---|
7628 | | - beq .L1152 |
---|
| 7900 | +.L1042: |
---|
| 7901 | + ldrh r3, [r8, #8] |
---|
| 7902 | + cmp r3, r5 |
---|
| 7903 | + beq .L1044 |
---|
| 7904 | + ldr r1, .L1046+4 |
---|
7629 | 7905 | mov r2, #508 |
---|
7630 | | - ldr r1, .L1154+4 |
---|
7631 | | - ldr r0, .L1154+8 |
---|
| 7906 | + ldr r0, .L1046+8 |
---|
7632 | 7907 | bl sftl_printk |
---|
7633 | | -.L1152: |
---|
| 7908 | +.L1044: |
---|
7634 | 7909 | ldr r3, [r4, #2540] |
---|
7635 | 7910 | mov r1, #0 |
---|
7636 | | - add r2, r3, r5 |
---|
| 7911 | + add r2, r3, r6 |
---|
7637 | 7912 | str r1, [r2, #4] |
---|
7638 | | - strh r6, [r3, r5] @ movhi |
---|
7639 | | - b .L1149 |
---|
7640 | | -.L1150: |
---|
| 7913 | + strh r5, [r3, r6] @ movhi |
---|
| 7914 | + b .L1040 |
---|
| 7915 | +.L1041: |
---|
7641 | 7916 | ldr r3, [r4, #3452] |
---|
7642 | 7917 | cmp r3, #256 |
---|
7643 | | - bne .L1151 |
---|
7644 | | - mov r2, r8 |
---|
7645 | | - mov r1, r6 |
---|
7646 | | - ldr r0, .L1154+32 |
---|
| 7918 | + bne .L1044 |
---|
| 7919 | + mov r2, r7 |
---|
| 7920 | + mov r1, r5 |
---|
| 7921 | + ldr r0, .L1046+32 |
---|
7647 | 7922 | bl sftl_printk |
---|
7648 | 7923 | ldr r3, [r4, #2540] |
---|
7649 | | - mov r1, r6 |
---|
| 7924 | + mov r1, r5 |
---|
7650 | 7925 | add r0, r4, #3392 |
---|
7651 | | - add r3, r3, r5 |
---|
| 7926 | + add r3, r3, r6 |
---|
7652 | 7927 | ldr r2, [r3, #8] |
---|
7653 | 7928 | bl FtlMapWritePage |
---|
7654 | | - b .L1151 |
---|
7655 | | -.L1155: |
---|
| 7929 | + b .L1042 |
---|
| 7930 | +.L1047: |
---|
7656 | 7931 | .align 2 |
---|
7657 | | -.L1154: |
---|
| 7932 | +.L1046: |
---|
7658 | 7933 | .word .LANCHOR0+336 |
---|
7659 | | - .word .LANCHOR1+379 |
---|
| 7934 | + .word .LANCHOR1+348 |
---|
7660 | 7935 | .word .LC8 |
---|
7661 | 7936 | .word .LANCHOR0 |
---|
7662 | 7937 | .word .LANCHOR0+3452 |
---|
.. | .. |
---|
7664 | 7939 | .word .LC94 |
---|
7665 | 7940 | .word .LC107 |
---|
7666 | 7941 | .word .LC108 |
---|
7667 | | - .fnend |
---|
7668 | 7942 | .size load_l2p_region, .-load_l2p_region |
---|
7669 | 7943 | .align 2 |
---|
7670 | 7944 | .global ftl_map_blk_gc |
---|
.. | .. |
---|
7673 | 7947 | .fpu softvfp |
---|
7674 | 7948 | .type ftl_map_blk_gc, %function |
---|
7675 | 7949 | ftl_map_blk_gc: |
---|
7676 | | - .fnstart |
---|
7677 | 7950 | @ args = 0, pretend = 0, frame = 8 |
---|
7678 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
7679 | | - push {r0, r1, r2, r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
7680 | | - .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
7681 | | - .pad #12 |
---|
| 7951 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 7952 | + mov ip, sp |
---|
| 7953 | + push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 7954 | + sub fp, ip, #4 |
---|
| 7955 | + sub sp, sp, #12 |
---|
| 7956 | + push {lr} |
---|
| 7957 | + bl __gnu_mcount_nc |
---|
7682 | 7958 | mov r4, r0 |
---|
7683 | 7959 | ldr r5, [r0, #12] |
---|
7684 | 7960 | ldr r10, [r0, #24] |
---|
.. | .. |
---|
7687 | 7963 | ldrh r2, [r4, #8] |
---|
7688 | 7964 | sub r3, r3, #5 |
---|
7689 | 7965 | cmp r2, r3 |
---|
7690 | | - blt .L1157 |
---|
| 7966 | + blt .L1049 |
---|
7691 | 7967 | uxth r0, r0 |
---|
7692 | 7968 | lsl r0, r0, #1 |
---|
7693 | 7969 | ldrh r9, [r5, r0] |
---|
7694 | 7970 | cmp r9, #0 |
---|
7695 | | - beq .L1157 |
---|
7696 | | - ldr r3, [r4, #32] |
---|
7697 | | - cmp r3, #0 |
---|
7698 | | - bne .L1157 |
---|
7699 | | - mov r2, #1 |
---|
7700 | | - str r2, [r4, #32] |
---|
7701 | | - strh r3, [r5, r0] @ movhi |
---|
| 7971 | + beq .L1049 |
---|
| 7972 | + ldr r6, [r4, #32] |
---|
| 7973 | + cmp r6, #0 |
---|
| 7974 | + bne .L1049 |
---|
| 7975 | + mov r3, #1 |
---|
| 7976 | + str r3, [r4, #32] |
---|
| 7977 | + strh r6, [r5, r0] @ movhi |
---|
7702 | 7978 | ldrh r3, [r4, #8] |
---|
7703 | 7979 | ldrh r2, [r4, #2] |
---|
7704 | 7980 | sub r3, r3, #1 |
---|
7705 | 7981 | strh r3, [r4, #8] @ movhi |
---|
7706 | | - ldr r3, .L1173 |
---|
| 7982 | + ldr r3, .L1064 |
---|
7707 | 7983 | ldrh r3, [r3] |
---|
7708 | 7984 | cmp r2, r3 |
---|
7709 | | - bcc .L1158 |
---|
| 7985 | + bcc .L1050 |
---|
7710 | 7986 | mov r0, r4 |
---|
7711 | 7987 | bl ftl_map_blk_alloc_new_blk |
---|
7712 | | -.L1158: |
---|
7713 | | - ldr r5, .L1173+4 |
---|
7714 | | - mov r6, #0 |
---|
7715 | | -.L1159: |
---|
| 7988 | +.L1050: |
---|
| 7989 | + ldr r5, .L1064+4 |
---|
| 7990 | +.L1051: |
---|
7716 | 7991 | ldrh r2, [r4, #6] |
---|
7717 | | - uxth fp, r6 |
---|
7718 | | - cmp r2, fp |
---|
7719 | | - bhi .L1166 |
---|
7720 | | - mov r1, #1 |
---|
| 7992 | + uxth r3, r6 |
---|
| 7993 | + cmp r2, r3 |
---|
| 7994 | + bhi .L1058 |
---|
7721 | 7995 | mov r0, r9 |
---|
| 7996 | + mov r1, #1 |
---|
7722 | 7997 | bl FtlFreeSysBlkQueueIn |
---|
7723 | 7998 | mov r3, #0 |
---|
7724 | 7999 | str r3, [r4, #32] |
---|
7725 | | -.L1157: |
---|
7726 | | - ldr r3, .L1173 |
---|
| 8000 | +.L1049: |
---|
| 8001 | + ldr r3, .L1064 |
---|
7727 | 8002 | ldrh r2, [r4, #2] |
---|
7728 | 8003 | ldrh r3, [r3] |
---|
7729 | 8004 | cmp r2, r3 |
---|
7730 | | - bcc .L1167 |
---|
| 8005 | + bcc .L1059 |
---|
7731 | 8006 | mov r0, r4 |
---|
7732 | 8007 | bl ftl_map_blk_alloc_new_blk |
---|
7733 | | -.L1167: |
---|
| 8008 | +.L1059: |
---|
7734 | 8009 | mov r0, #0 |
---|
7735 | | - add sp, sp, #12 |
---|
7736 | | - @ sp needed |
---|
7737 | | - pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} |
---|
7738 | | -.L1166: |
---|
| 8010 | + sub sp, fp, #40 |
---|
| 8011 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 8012 | +.L1058: |
---|
7739 | 8013 | uxth r7, r6 |
---|
| 8014 | + add r2, r10, r7, lsl #2 |
---|
| 8015 | + str r2, [fp, #-48] |
---|
7740 | 8016 | ldr r2, [r10, r7, lsl #2] |
---|
7741 | | - add r3, r10, r7, lsl #2 |
---|
7742 | | - str r3, [sp, #4] |
---|
7743 | 8017 | cmp r9, r2, lsr #10 |
---|
7744 | | - bne .L1160 |
---|
| 8018 | + bne .L1052 |
---|
7745 | 8019 | ldr r2, [r5, #3304] |
---|
7746 | 8020 | ldr r8, [r5, #3332] |
---|
7747 | | - ldr r0, .L1173+8 |
---|
7748 | 8021 | str r2, [r5, #3460] |
---|
7749 | 8022 | str r8, [r5, #3464] |
---|
| 8023 | + ldr r0, .L1064+8 |
---|
7750 | 8024 | ldr r2, [r10, r7, lsl #2] |
---|
7751 | 8025 | str r2, [r5, #3456] |
---|
7752 | 8026 | mov r2, #1 |
---|
7753 | 8027 | mov r1, r2 |
---|
| 8028 | + str r3, [fp, #-52] |
---|
7754 | 8029 | bl FlashReadPages |
---|
7755 | 8030 | ldrh r2, [r8, #8] |
---|
7756 | | - cmp r2, fp |
---|
7757 | | - beq .L1161 |
---|
| 8031 | + ldr r3, [fp, #-52] |
---|
| 8032 | + cmp r2, r3 |
---|
| 8033 | + beq .L1053 |
---|
| 8034 | + ldr r1, .L1064+12 |
---|
7758 | 8035 | movw r2, #611 |
---|
7759 | | - ldr r1, .L1173+12 |
---|
7760 | | - ldr r0, .L1173+16 |
---|
| 8036 | + ldr r0, .L1064+16 |
---|
7761 | 8037 | bl sftl_printk |
---|
7762 | | -.L1161: |
---|
| 8038 | + ldr r3, [fp, #-52] |
---|
| 8039 | +.L1053: |
---|
7763 | 8040 | ldr r2, [r5, #3452] |
---|
7764 | 8041 | cmn r2, #1 |
---|
7765 | | - bne .L1162 |
---|
7766 | | -.L1164: |
---|
7767 | | - ldr r2, [sp, #4] |
---|
| 8042 | + bne .L1054 |
---|
| 8043 | +.L1056: |
---|
| 8044 | + ldr r2, [fp, #-48] |
---|
7768 | 8045 | mov r3, #0 |
---|
7769 | 8046 | str r3, [r2] |
---|
7770 | | -.L1163: |
---|
7771 | | - b .L1163 |
---|
7772 | | -.L1162: |
---|
| 8047 | +.L1055: |
---|
| 8048 | + b .L1055 |
---|
| 8049 | +.L1054: |
---|
7773 | 8050 | ldrh r2, [r8, #8] |
---|
7774 | | - cmp r2, fp |
---|
7775 | | - bne .L1164 |
---|
| 8051 | + cmp r2, r3 |
---|
| 8052 | + bne .L1056 |
---|
7776 | 8053 | ldrh r2, [r8] |
---|
7777 | 8054 | ldrh r3, [r4, #4] |
---|
7778 | 8055 | cmp r2, r3 |
---|
7779 | | - bne .L1164 |
---|
| 8056 | + bne .L1056 |
---|
7780 | 8057 | ldr r2, [r5, #3460] |
---|
7781 | 8058 | mov r1, r7 |
---|
7782 | 8059 | mov r0, r4 |
---|
7783 | 8060 | bl FtlMapWritePage |
---|
7784 | | -.L1160: |
---|
| 8061 | +.L1052: |
---|
7785 | 8062 | add r6, r6, #1 |
---|
7786 | | - b .L1159 |
---|
7787 | | -.L1174: |
---|
| 8063 | + b .L1051 |
---|
| 8064 | +.L1065: |
---|
7788 | 8065 | .align 2 |
---|
7789 | | -.L1173: |
---|
| 8066 | +.L1064: |
---|
7790 | 8067 | .word .LANCHOR0+304 |
---|
7791 | 8068 | .word .LANCHOR0 |
---|
7792 | 8069 | .word .LANCHOR0+3452 |
---|
7793 | | - .word .LANCHOR1+395 |
---|
| 8070 | + .word .LANCHOR1+364 |
---|
7794 | 8071 | .word .LC8 |
---|
7795 | | - .fnend |
---|
7796 | 8072 | .size ftl_map_blk_gc, .-ftl_map_blk_gc |
---|
| 8073 | + .align 2 |
---|
| 8074 | + .global Ftl_write_map_blk_to_last_page |
---|
| 8075 | + .syntax unified |
---|
| 8076 | + .arm |
---|
| 8077 | + .fpu softvfp |
---|
| 8078 | + .type Ftl_write_map_blk_to_last_page, %function |
---|
| 8079 | +Ftl_write_map_blk_to_last_page: |
---|
| 8080 | + @ args = 0, pretend = 0, frame = 0 |
---|
| 8081 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 8082 | + mov ip, sp |
---|
| 8083 | + push {r4, r5, r6, r7, r8, r9, fp, ip, lr, pc} |
---|
| 8084 | + sub fp, ip, #4 |
---|
| 8085 | + push {lr} |
---|
| 8086 | + bl __gnu_mcount_nc |
---|
| 8087 | + ldrh r3, [r0] |
---|
| 8088 | + movw r2, #65535 |
---|
| 8089 | + ldr r5, [r0, #12] |
---|
| 8090 | + mov r4, r0 |
---|
| 8091 | + cmp r3, r2 |
---|
| 8092 | + bne .L1067 |
---|
| 8093 | + ldrh r3, [r0, #8] |
---|
| 8094 | + cmp r3, #0 |
---|
| 8095 | + beq .L1068 |
---|
| 8096 | + ldr r1, .L1076 |
---|
| 8097 | + movw r2, #641 |
---|
| 8098 | + ldr r0, .L1076+4 |
---|
| 8099 | + bl sftl_printk |
---|
| 8100 | +.L1068: |
---|
| 8101 | + ldrh r3, [r4, #8] |
---|
| 8102 | + add r3, r3, #1 |
---|
| 8103 | + strh r3, [r4, #8] @ movhi |
---|
| 8104 | + bl FtlFreeSysBlkQueueOut |
---|
| 8105 | + strh r0, [r5] @ movhi |
---|
| 8106 | + mov r3, #0 |
---|
| 8107 | + str r3, [r4] |
---|
| 8108 | + ldr r3, [r4, #28] |
---|
| 8109 | + add r3, r3, #1 |
---|
| 8110 | + str r3, [r4, #28] |
---|
| 8111 | +.L1069: |
---|
| 8112 | + mov r0, #0 |
---|
| 8113 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, fp, sp, pc} |
---|
| 8114 | +.L1067: |
---|
| 8115 | + lsl r3, r3, #1 |
---|
| 8116 | + ldr r7, [r0, #24] |
---|
| 8117 | + mov r1, #255 |
---|
| 8118 | + ldrh r8, [r5, r3] |
---|
| 8119 | + ldr r5, .L1076+8 |
---|
| 8120 | + ldrh r3, [r0, #2] |
---|
| 8121 | + ldr r6, [r5, #3332] |
---|
| 8122 | + orr r3, r3, r8, lsl #10 |
---|
| 8123 | + str r3, [r5, #3456] |
---|
| 8124 | + ldr r3, [r5, #3300] |
---|
| 8125 | + str r3, [r5, #3460] |
---|
| 8126 | + ldr r3, [r0, #28] |
---|
| 8127 | + str r6, [r5, #3464] |
---|
| 8128 | + str r3, [r6, #4] |
---|
| 8129 | + ldr r3, .L1076+12 |
---|
| 8130 | + strh r3, [r6, #8] @ movhi |
---|
| 8131 | + ldrh r3, [r0, #4] |
---|
| 8132 | + strh r3, [r6] @ movhi |
---|
| 8133 | + add r3, r5, #304 |
---|
| 8134 | + strh r8, [r6, #2] @ movhi |
---|
| 8135 | + ldrh r2, [r3] |
---|
| 8136 | + ldr r0, [r5, #3300] |
---|
| 8137 | + lsl r2, r2, #3 |
---|
| 8138 | + bl ftl_memset |
---|
| 8139 | + mov r2, #0 |
---|
| 8140 | + mov r3, r2 |
---|
| 8141 | +.L1070: |
---|
| 8142 | + ldrh r0, [r4, #6] |
---|
| 8143 | + uxth r1, r2 |
---|
| 8144 | + cmp r0, r1 |
---|
| 8145 | + bhi .L1072 |
---|
| 8146 | + movw r3, #310 |
---|
| 8147 | + ldr r0, [r5, #3460] |
---|
| 8148 | + ldrh r1, [r5, r3] |
---|
| 8149 | + bl js_hash |
---|
| 8150 | + mov r2, #1 |
---|
| 8151 | + str r0, [r6, #12] |
---|
| 8152 | + mov r1, r2 |
---|
| 8153 | + mov r3, #0 |
---|
| 8154 | + ldr r0, .L1076+16 |
---|
| 8155 | + bl FlashProgPages |
---|
| 8156 | + ldrh r3, [r4, #2] |
---|
| 8157 | + mov r0, r4 |
---|
| 8158 | + add r3, r3, #1 |
---|
| 8159 | + strh r3, [r4, #2] @ movhi |
---|
| 8160 | + bl ftl_map_blk_gc |
---|
| 8161 | + b .L1069 |
---|
| 8162 | +.L1072: |
---|
| 8163 | + uxth r1, r2 |
---|
| 8164 | + ldr r0, [r7, r1, lsl #2] |
---|
| 8165 | + cmp r8, r0, lsr #10 |
---|
| 8166 | + bne .L1071 |
---|
| 8167 | + add r3, r3, #1 |
---|
| 8168 | + ldr r0, [r5, #3300] |
---|
| 8169 | + uxth r3, r3 |
---|
| 8170 | + str r1, [r0, r3, lsl #3] |
---|
| 8171 | + ldr r0, [r7, r1, lsl #2] |
---|
| 8172 | + ldr r1, [r5, #3300] |
---|
| 8173 | + add r1, r1, r3, lsl #3 |
---|
| 8174 | + str r0, [r1, #4] |
---|
| 8175 | +.L1071: |
---|
| 8176 | + add r2, r2, #1 |
---|
| 8177 | + b .L1070 |
---|
| 8178 | +.L1077: |
---|
| 8179 | + .align 2 |
---|
| 8180 | +.L1076: |
---|
| 8181 | + .word .LANCHOR1+379 |
---|
| 8182 | + .word .LC8 |
---|
| 8183 | + .word .LANCHOR0 |
---|
| 8184 | + .word -1291 |
---|
| 8185 | + .word .LANCHOR0+3452 |
---|
| 8186 | + .size Ftl_write_map_blk_to_last_page, .-Ftl_write_map_blk_to_last_page |
---|
7797 | 8187 | .align 2 |
---|
7798 | 8188 | .global flush_l2p_region |
---|
7799 | 8189 | .syntax unified |
---|
.. | .. |
---|
7801 | 8191 | .fpu softvfp |
---|
7802 | 8192 | .type flush_l2p_region, %function |
---|
7803 | 8193 | flush_l2p_region: |
---|
7804 | | - .fnstart |
---|
7805 | 8194 | @ args = 0, pretend = 0, frame = 0 |
---|
7806 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
7807 | | - push {r4, r5, r6, lr} |
---|
7808 | | - .save {r4, r5, r6, lr} |
---|
| 8195 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 8196 | + mov ip, sp |
---|
| 8197 | + push {r4, r5, fp, ip, lr, pc} |
---|
| 8198 | + sub fp, ip, #4 |
---|
| 8199 | + push {lr} |
---|
| 8200 | + bl __gnu_mcount_nc |
---|
| 8201 | + ldr r5, .L1079 |
---|
7809 | 8202 | mov r4, #12 |
---|
7810 | | - ldr r5, .L1177 |
---|
7811 | 8203 | mul r4, r4, r0 |
---|
7812 | | - ldr r3, [r5, #2540] |
---|
7813 | 8204 | add r0, r5, #3392 |
---|
| 8205 | + ldr r3, [r5, #2540] |
---|
7814 | 8206 | add r2, r3, r4 |
---|
7815 | 8207 | ldrh r1, [r3, r4] |
---|
7816 | 8208 | ldr r2, [r2, #8] |
---|
7817 | 8209 | bl FtlMapWritePage |
---|
7818 | | - ldr r3, [r5, #2540] |
---|
| 8210 | + ldr r0, [r5, #2540] |
---|
| 8211 | + add r4, r0, r4 |
---|
7819 | 8212 | mov r0, #0 |
---|
7820 | | - add r4, r3, r4 |
---|
7821 | 8213 | ldr r3, [r4, #4] |
---|
7822 | 8214 | bic r3, r3, #-2147483648 |
---|
7823 | 8215 | str r3, [r4, #4] |
---|
7824 | | - pop {r4, r5, r6, pc} |
---|
7825 | | -.L1178: |
---|
| 8216 | + ldmfd sp, {r4, r5, fp, sp, pc} |
---|
| 8217 | +.L1080: |
---|
7826 | 8218 | .align 2 |
---|
7827 | | -.L1177: |
---|
| 8219 | +.L1079: |
---|
7828 | 8220 | .word .LANCHOR0 |
---|
7829 | | - .fnend |
---|
7830 | 8221 | .size flush_l2p_region, .-flush_l2p_region |
---|
7831 | 8222 | .align 2 |
---|
7832 | 8223 | .global log2phys |
---|
.. | .. |
---|
7835 | 8226 | .fpu softvfp |
---|
7836 | 8227 | .type log2phys, %function |
---|
7837 | 8228 | log2phys: |
---|
7838 | | - .fnstart |
---|
7839 | 8229 | @ args = 0, pretend = 0, frame = 0 |
---|
7840 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
7841 | | - push {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
7842 | | - .save {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
7843 | | - mov fp, r0 |
---|
7844 | | - ldr r4, .L1193 |
---|
7845 | | - mov r6, r1 |
---|
7846 | | - mov r10, r2 |
---|
7847 | | - add r3, r4, #308 |
---|
7848 | | - ldrh r9, [r3] |
---|
7849 | | - ldr r3, [r4, #2552] |
---|
7850 | | - cmp r0, r3 |
---|
7851 | | - bcc .L1180 |
---|
7852 | | - mov r2, #820 |
---|
7853 | | - ldr r1, .L1193+4 |
---|
7854 | | - ldr r0, .L1193+8 |
---|
7855 | | - bl sftl_printk |
---|
7856 | | -.L1180: |
---|
7857 | | - ldr r3, [r4, #2552] |
---|
7858 | | - cmp fp, r3 |
---|
7859 | | - bcs .L1181 |
---|
7860 | | - add r9, r9, #7 |
---|
7861 | | - ldr r1, [r4, #2540] |
---|
7862 | | - lsr r7, fp, r9 |
---|
7863 | | - movw r3, #338 |
---|
7864 | | - ldrh r2, [r4, r3] |
---|
7865 | | - mov r8, #12 |
---|
7866 | | - uxth r7, r7 |
---|
7867 | | - mov r3, #0 |
---|
7868 | | -.L1182: |
---|
7869 | | - uxth r5, r3 |
---|
7870 | | - cmp r5, r2 |
---|
7871 | | - bcc .L1187 |
---|
7872 | | - bl select_l2p_ram_region |
---|
7873 | | - mul r8, r8, r0 |
---|
7874 | | - ldr r3, [r4, #2540] |
---|
| 8230 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 8231 | + mov ip, sp |
---|
| 8232 | + push {r3, r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 8233 | + sub fp, ip, #4 |
---|
| 8234 | + push {lr} |
---|
| 8235 | + bl __gnu_mcount_nc |
---|
| 8236 | + ldr r4, .L1093 |
---|
| 8237 | + mvn r6, #0 |
---|
7875 | 8238 | mov r5, r0 |
---|
7876 | | - ldrh r1, [r3, r8] |
---|
7877 | | - add r2, r3, r8 |
---|
7878 | | - movw r3, #65535 |
---|
7879 | | - cmp r1, r3 |
---|
7880 | | - beq .L1188 |
---|
7881 | | - ldr r3, [r2, #4] |
---|
7882 | | - cmp r3, #0 |
---|
7883 | | - bge .L1188 |
---|
7884 | | - bl flush_l2p_region |
---|
7885 | | -.L1188: |
---|
7886 | | - mov r1, r5 |
---|
7887 | | - mov r0, r7 |
---|
7888 | | - bl load_l2p_region |
---|
7889 | | - b .L1184 |
---|
7890 | | -.L1181: |
---|
| 8239 | + mov r8, r1 |
---|
| 8240 | + add r3, r4, #308 |
---|
| 8241 | + mov r9, r2 |
---|
| 8242 | + ldrh r3, [r3] |
---|
| 8243 | + add r3, r3, #7 |
---|
| 8244 | + lsr r7, r0, r3 |
---|
| 8245 | + bic r6, r0, r6, lsl r3 |
---|
| 8246 | + ldr r3, [r4, #2552] |
---|
| 8247 | + uxth r7, r7 |
---|
| 8248 | + uxth r6, r6 |
---|
| 8249 | + cmp r3, r0 |
---|
| 8250 | + bhi .L1082 |
---|
| 8251 | + ldr r1, .L1093+4 |
---|
| 8252 | + mov r2, #820 |
---|
| 8253 | + ldr r0, .L1093+8 |
---|
| 8254 | + bl sftl_printk |
---|
| 8255 | + ldr r3, [r4, #2552] |
---|
| 8256 | + cmp r3, r5 |
---|
| 8257 | + bhi .L1082 |
---|
7891 | 8258 | mvn r0, #0 |
---|
7892 | | - cmp r10, #0 |
---|
7893 | | - streq r0, [r6] |
---|
7894 | | - pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} |
---|
7895 | | -.L1187: |
---|
| 8259 | + cmp r9, #0 |
---|
| 8260 | + streq r0, [r8] |
---|
| 8261 | + ldmfd sp, {r3, r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 8262 | +.L1088: |
---|
7896 | 8263 | add r3, r3, #1 |
---|
7897 | | - mla r0, r8, r3, r1 |
---|
7898 | | - ldrh r0, [r0, #-12] |
---|
| 8264 | + mul r0, r10, r3 |
---|
| 8265 | + ldrh r0, [r2, r0] |
---|
7899 | 8266 | cmp r0, r7 |
---|
7900 | | - bne .L1182 |
---|
7901 | | -.L1184: |
---|
7902 | | - mvn r0, #0 |
---|
7903 | | - cmp r10, #0 |
---|
7904 | | - bic r0, fp, r0, lsl r9 |
---|
7905 | | - mov r3, #12 |
---|
7906 | | - uxth r0, r0 |
---|
7907 | | - bne .L1185 |
---|
7908 | | - ldr r2, [r4, #2540] |
---|
7909 | | - mla r3, r3, r5, r2 |
---|
| 8267 | + bne .L1084 |
---|
| 8268 | +.L1085: |
---|
| 8269 | + mov r1, #12 |
---|
| 8270 | + ldr r3, [r4, #2540] |
---|
| 8271 | + cmp r9, #0 |
---|
| 8272 | + mul r5, r1, r5 |
---|
| 8273 | + add r3, r3, r5 |
---|
7910 | 8274 | ldr r3, [r3, #8] |
---|
7911 | | - ldr r3, [r3, r0, lsl #2] |
---|
7912 | | - str r3, [r6] |
---|
7913 | | -.L1186: |
---|
7914 | | - ldr r2, [r4, #2540] |
---|
7915 | | - mov r3, #12 |
---|
| 8275 | + ldreq r3, [r3, r6, lsl #2] |
---|
| 8276 | + streq r3, [r8] |
---|
| 8277 | + beq .L1087 |
---|
| 8278 | + ldr r2, [r8] |
---|
| 8279 | + str r2, [r3, r6, lsl #2] |
---|
| 8280 | + ldr r3, [r4, #2540] |
---|
| 8281 | + add r3, r3, r5 |
---|
| 8282 | + ldr r2, [r3, #4] |
---|
| 8283 | + orr r2, r2, #-2147483648 |
---|
| 8284 | + str r2, [r3, #4] |
---|
| 8285 | + ldr r3, .L1093+12 |
---|
| 8286 | + strh r7, [r3] @ movhi |
---|
| 8287 | +.L1087: |
---|
| 8288 | + ldr r1, [r4, #2540] |
---|
7916 | 8289 | mov r0, #0 |
---|
7917 | | - mla r5, r3, r5, r2 |
---|
| 8290 | + add r5, r1, r5 |
---|
7918 | 8291 | ldr r3, [r5, #4] |
---|
7919 | 8292 | cmn r3, #1 |
---|
7920 | 8293 | addne r3, r3, #1 |
---|
7921 | 8294 | strne r3, [r5, #4] |
---|
7922 | | - pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} |
---|
7923 | | -.L1185: |
---|
7924 | | - mul r3, r3, r5 |
---|
| 8295 | + ldmfd sp, {r3, r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 8296 | +.L1082: |
---|
7925 | 8297 | ldr r2, [r4, #2540] |
---|
7926 | | - ldr r1, [r6] |
---|
7927 | | - add r2, r2, r3 |
---|
7928 | | - ldr r2, [r2, #8] |
---|
7929 | | - str r1, [r2, r0, lsl #2] |
---|
7930 | | - ldr r2, [r4, #2540] |
---|
7931 | | - add r3, r2, r3 |
---|
7932 | | - ldr r2, [r3, #4] |
---|
7933 | | - orr r2, r2, #-2147483648 |
---|
7934 | | - str r2, [r3, #4] |
---|
7935 | | - ldr r3, .L1193+12 |
---|
7936 | | - strh r7, [r3] @ movhi |
---|
7937 | | - b .L1186 |
---|
7938 | | -.L1194: |
---|
| 8298 | + movw r3, #338 |
---|
| 8299 | + mov r10, #12 |
---|
| 8300 | + sub r2, r2, #12 |
---|
| 8301 | + ldrh r1, [r4, r3] |
---|
| 8302 | + mov r3, #0 |
---|
| 8303 | +.L1084: |
---|
| 8304 | + uxth r5, r3 |
---|
| 8305 | + cmp r1, r5 |
---|
| 8306 | + bhi .L1088 |
---|
| 8307 | + bl select_l2p_ram_region |
---|
| 8308 | + mul r10, r10, r0 |
---|
| 8309 | + ldr r3, [r4, #2540] |
---|
| 8310 | + mov r5, r0 |
---|
| 8311 | + add r2, r3, r10 |
---|
| 8312 | + ldrh r1, [r3, r10] |
---|
| 8313 | + movw r3, #65535 |
---|
| 8314 | + cmp r1, r3 |
---|
| 8315 | + beq .L1089 |
---|
| 8316 | + ldr r3, [r2, #4] |
---|
| 8317 | + cmp r3, #0 |
---|
| 8318 | + bge .L1089 |
---|
| 8319 | + bl flush_l2p_region |
---|
| 8320 | +.L1089: |
---|
| 8321 | + mov r1, r5 |
---|
| 8322 | + mov r0, r7 |
---|
| 8323 | + bl load_l2p_region |
---|
| 8324 | + b .L1085 |
---|
| 8325 | +.L1094: |
---|
7939 | 8326 | .align 2 |
---|
7940 | | -.L1193: |
---|
| 8327 | +.L1093: |
---|
7941 | 8328 | .word .LANCHOR0 |
---|
7942 | 8329 | .word .LANCHOR1+410 |
---|
7943 | 8330 | .word .LC8 |
---|
7944 | 8331 | .word .LANCHOR0+2544 |
---|
7945 | | - .fnend |
---|
7946 | 8332 | .size log2phys, .-log2phys |
---|
7947 | 8333 | .align 2 |
---|
7948 | 8334 | .global FtlWriteDump_data |
---|
.. | .. |
---|
7951 | 8337 | .fpu softvfp |
---|
7952 | 8338 | .type FtlWriteDump_data, %function |
---|
7953 | 8339 | FtlWriteDump_data: |
---|
7954 | | - .fnstart |
---|
7955 | 8340 | @ args = 0, pretend = 0, frame = 32 |
---|
7956 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
7957 | | - push {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
7958 | | - .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
7959 | | - .pad #36 |
---|
| 8341 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 8342 | + mov ip, sp |
---|
| 8343 | + push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 8344 | + sub fp, ip, #4 |
---|
7960 | 8345 | sub sp, sp, #36 |
---|
7961 | | - ldr r4, .L1215 |
---|
7962 | | - ldr r7, .L1215+4 |
---|
| 8346 | + push {lr} |
---|
| 8347 | + bl __gnu_mcount_nc |
---|
| 8348 | + ldr r4, .L1114 |
---|
| 8349 | + mov r3, sp |
---|
| 8350 | + bic r8, r3, #8128 |
---|
| 8351 | + bic r8, r8, #63 |
---|
7963 | 8352 | ldrh r2, [r4, #28] |
---|
7964 | | - ldr r3, [r7] |
---|
| 8353 | + ldr r3, [r8, #24] |
---|
7965 | 8354 | cmp r2, #0 |
---|
7966 | | - str r3, [sp, #28] |
---|
7967 | | - beq .L1196 |
---|
| 8355 | + str r3, [fp, #-48] |
---|
| 8356 | + beq .L1096 |
---|
7968 | 8357 | ldrb r3, [r4, #32] @ zero_extendqisi2 |
---|
7969 | 8358 | cmp r3, #0 |
---|
7970 | | - bne .L1196 |
---|
7971 | | - movw r3, #302 |
---|
7972 | | - ldrb r1, [r4, #31] @ zero_extendqisi2 |
---|
7973 | | - ldrh r3, [r4, r3] |
---|
7974 | | - mul r3, r3, r1 |
---|
| 8359 | + bne .L1096 |
---|
| 8360 | + movw r1, #302 |
---|
| 8361 | + ldrb r3, [r4, #31] @ zero_extendqisi2 |
---|
| 8362 | + ldrh r1, [r4, r1] |
---|
| 8363 | + mul r3, r1, r3 |
---|
7975 | 8364 | cmp r2, r3 |
---|
7976 | | - beq .L1196 |
---|
7977 | | - ldrb r8, [r4, #34] @ zero_extendqisi2 |
---|
7978 | | - cmp r8, #0 |
---|
7979 | | - bne .L1195 |
---|
7980 | | - ldr r6, [r4, #2552] |
---|
7981 | | - mov r2, r8 |
---|
7982 | | - add r1, sp, #4 |
---|
7983 | | - ldrh r9, [r4, #232] |
---|
7984 | | - sub r6, r6, #1 |
---|
7985 | | - mov r0, r6 |
---|
| 8365 | + beq .L1096 |
---|
| 8366 | + ldrb r9, [r4, #34] @ zero_extendqisi2 |
---|
| 8367 | + cmp r9, #0 |
---|
| 8368 | + bne .L1095 |
---|
| 8369 | + ldr r7, [r4, #2552] |
---|
| 8370 | + mov r2, r9 |
---|
| 8371 | + sub r1, fp, #72 |
---|
| 8372 | + ldrh r6, [r4, #232] |
---|
| 8373 | + sub r7, r7, #1 |
---|
| 8374 | + mov r0, r7 |
---|
7986 | 8375 | bl log2phys |
---|
7987 | | - ldr r3, [sp, #4] |
---|
7988 | 8376 | ldr r5, [r4, #3332] |
---|
| 8377 | + ldr r3, [fp, #-72] |
---|
7989 | 8378 | ldr r0, [r4, #3300] |
---|
| 8379 | + str r3, [fp, #-64] |
---|
7990 | 8380 | cmn r3, #1 |
---|
7991 | | - str r3, [sp, #12] |
---|
7992 | | - str r6, [sp, #24] |
---|
7993 | | - str r0, [sp, #16] |
---|
7994 | | - str r5, [sp, #20] |
---|
7995 | | - str r8, [r5, #4] |
---|
7996 | | - beq .L1198 |
---|
7997 | | - mov r2, r8 |
---|
| 8381 | + str r7, [fp, #-52] |
---|
| 8382 | + str r0, [fp, #-60] |
---|
| 8383 | + str r5, [fp, #-56] |
---|
| 8384 | + str r9, [r5, #4] |
---|
| 8385 | + beq .L1098 |
---|
| 8386 | + mov r2, r9 |
---|
| 8387 | + sub r0, fp, #68 |
---|
7998 | 8388 | mov r1, #1 |
---|
7999 | | - add r0, sp, #8 |
---|
8000 | 8389 | bl FlashReadPages |
---|
8001 | | -.L1199: |
---|
8002 | | - ldr r10, .L1215+8 |
---|
8003 | | - mov r8, #0 |
---|
8004 | | - ldr r3, .L1215+12 |
---|
8005 | | - lsl r9, r9, #2 |
---|
8006 | | - mov fp, r8 |
---|
| 8390 | +.L1099: |
---|
| 8391 | + ldr r9, .L1114+4 |
---|
| 8392 | + lsl r6, r6, #2 |
---|
| 8393 | + ldr r3, .L1114+8 |
---|
| 8394 | + mov r10, #0 |
---|
8007 | 8395 | strh r3, [r5] @ movhi |
---|
8008 | | -.L1200: |
---|
8009 | | - cmp r9, r8 |
---|
8010 | | - bne .L1204 |
---|
8011 | | -.L1201: |
---|
| 8396 | +.L1100: |
---|
| 8397 | + cmp r6, #0 |
---|
| 8398 | + bne .L1104 |
---|
| 8399 | +.L1101: |
---|
8012 | 8400 | mov r3, #1 |
---|
8013 | | -.L1214: |
---|
| 8401 | +.L1113: |
---|
8014 | 8402 | strb r3, [r4, #34] |
---|
8015 | | -.L1195: |
---|
8016 | | - ldr r2, [sp, #28] |
---|
8017 | | - ldr r3, [r7] |
---|
| 8403 | +.L1095: |
---|
| 8404 | + ldr r2, [fp, #-48] |
---|
| 8405 | + ldr r3, [r8, #24] |
---|
8018 | 8406 | cmp r2, r3 |
---|
8019 | | - beq .L1206 |
---|
| 8407 | + beq .L1106 |
---|
8020 | 8408 | bl __stack_chk_fail |
---|
8021 | | -.L1198: |
---|
| 8409 | +.L1098: |
---|
8022 | 8410 | movw r3, #310 |
---|
8023 | 8411 | mov r1, #255 |
---|
8024 | 8412 | ldrh r2, [r4, r3] |
---|
8025 | 8413 | bl ftl_memset |
---|
8026 | | - b .L1199 |
---|
8027 | | -.L1204: |
---|
| 8414 | + b .L1099 |
---|
| 8415 | +.L1104: |
---|
8028 | 8416 | ldrh r3, [r4, #28] |
---|
8029 | 8417 | cmp r3, #0 |
---|
8030 | | - beq .L1201 |
---|
8031 | | - ldr r3, [sp, #12] |
---|
8032 | | - mov r0, r10 |
---|
8033 | | - str r6, [r5, #8] |
---|
8034 | | - add r8, r8, #1 |
---|
| 8418 | + beq .L1101 |
---|
| 8419 | + ldr r3, [fp, #-64] |
---|
| 8420 | + mov r0, r9 |
---|
8035 | 8421 | str r3, [r5, #12] |
---|
| 8422 | + sub r6, r6, #1 |
---|
8036 | 8423 | ldrh r3, [r4, #24] |
---|
8037 | 8424 | strh r3, [r5, #2] @ movhi |
---|
| 8425 | + str r7, [r5, #8] |
---|
8038 | 8426 | bl get_new_active_ppa |
---|
8039 | 8427 | ldr r3, [r4, #2592] |
---|
| 8428 | + str r0, [fp, #-64] |
---|
8040 | 8429 | mov r1, #1 |
---|
8041 | | - str r0, [sp, #12] |
---|
8042 | | - add r0, sp, #8 |
---|
| 8430 | + cmn r3, #2 |
---|
| 8431 | + add r2, r3, #1 |
---|
8043 | 8432 | str r3, [r5, #4] |
---|
8044 | | - add r3, r3, #1 |
---|
8045 | | - cmn r3, #1 |
---|
8046 | | - moveq r3, fp |
---|
| 8433 | + sub r0, fp, #68 |
---|
| 8434 | + movne r3, r2 |
---|
| 8435 | + moveq r3, r10 |
---|
8047 | 8436 | str r3, [r4, #2592] |
---|
8048 | 8437 | mov r3, #0 |
---|
8049 | 8438 | mov r2, r3 |
---|
8050 | 8439 | bl FlashProgPages |
---|
8051 | 8440 | ldrh r0, [r4, #24] |
---|
8052 | 8441 | bl decrement_vpc_count |
---|
8053 | | - b .L1200 |
---|
8054 | | -.L1196: |
---|
| 8442 | + b .L1100 |
---|
| 8443 | +.L1096: |
---|
8055 | 8444 | mov r3, #0 |
---|
8056 | | - b .L1214 |
---|
8057 | | -.L1206: |
---|
8058 | | - add sp, sp, #36 |
---|
8059 | | - @ sp needed |
---|
8060 | | - pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} |
---|
8061 | | -.L1216: |
---|
| 8445 | + b .L1113 |
---|
| 8446 | +.L1106: |
---|
| 8447 | + sub sp, fp, #40 |
---|
| 8448 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 8449 | +.L1115: |
---|
8062 | 8450 | .align 2 |
---|
8063 | | -.L1215: |
---|
| 8451 | +.L1114: |
---|
8064 | 8452 | .word .LANCHOR0 |
---|
8065 | | - .word __stack_chk_guard |
---|
8066 | 8453 | .word .LANCHOR0+24 |
---|
8067 | 8454 | .word -3947 |
---|
8068 | | - .fnend |
---|
8069 | 8455 | .size FtlWriteDump_data, .-FtlWriteDump_data |
---|
8070 | 8456 | .align 2 |
---|
8071 | 8457 | .global FtlReUsePrevPpa |
---|
.. | .. |
---|
8074 | 8460 | .fpu softvfp |
---|
8075 | 8461 | .type FtlReUsePrevPpa, %function |
---|
8076 | 8462 | FtlReUsePrevPpa: |
---|
8077 | | - .fnstart |
---|
8078 | 8463 | @ args = 0, pretend = 0, frame = 8 |
---|
8079 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
8080 | | - push {r0, r1, r4, r5, r6, r7, r8, lr} |
---|
8081 | | - .save {r4, r5, r6, r7, r8, lr} |
---|
8082 | | - .pad #8 |
---|
8083 | | - mov r7, r0 |
---|
8084 | | - ldr r5, .L1228 |
---|
| 8464 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 8465 | + mov ip, sp |
---|
| 8466 | + push {r4, r5, r6, r7, r8, fp, ip, lr, pc} |
---|
| 8467 | + sub fp, ip, #4 |
---|
| 8468 | + sub sp, sp, #12 |
---|
| 8469 | + push {lr} |
---|
| 8470 | + bl __gnu_mcount_nc |
---|
| 8471 | + ldr r4, .L1126 |
---|
| 8472 | + mov r6, r0 |
---|
8085 | 8473 | ubfx r0, r1, #10, #16 |
---|
8086 | | - str r1, [sp, #4] |
---|
| 8474 | + str r1, [fp, #-40] |
---|
8087 | 8475 | bl P2V_block_in_plane |
---|
8088 | | - ldr r2, [r5, #72] |
---|
8089 | | - lsl r6, r0, #1 |
---|
8090 | | - ldrh r3, [r2, r6] |
---|
| 8476 | + lsl r5, r0, #1 |
---|
| 8477 | + mov r7, r0 |
---|
| 8478 | + ldr r3, [r4, #72] |
---|
| 8479 | + ldrh r2, [r3, r5] |
---|
| 8480 | + cmp r2, #0 |
---|
| 8481 | + addne r2, r2, #1 |
---|
| 8482 | + strhne r2, [r3, r5] @ movhi |
---|
| 8483 | + bne .L1118 |
---|
| 8484 | + ldr r3, [r4, #2532] |
---|
8091 | 8485 | cmp r3, #0 |
---|
8092 | | - bne .L1218 |
---|
8093 | | - ldr r4, [r5, #2532] |
---|
8094 | | - cmp r4, #0 |
---|
8095 | | - beq .L1219 |
---|
8096 | | - ldr r1, [r5, #2516] |
---|
| 8486 | + beq .L1118 |
---|
| 8487 | + ldr r1, [r4, #2516] |
---|
8097 | 8488 | mov lr, #6 |
---|
8098 | | - ldr r2, .L1228+4 |
---|
| 8489 | + ldr ip, .L1126+4 |
---|
8099 | 8490 | movw r8, #65535 |
---|
8100 | | - ldrh ip, [r5, #224] |
---|
8101 | | - sub r4, r4, r1 |
---|
8102 | | - asr r4, r4, #1 |
---|
8103 | | - mul r4, r2, r4 |
---|
8104 | | - uxth r4, r4 |
---|
8105 | | -.L1220: |
---|
8106 | | - uxth r2, r3 |
---|
8107 | | - cmp ip, r2 |
---|
8108 | | - bls .L1219 |
---|
8109 | | - cmp r4, r0 |
---|
8110 | | - bne .L1221 |
---|
8111 | | - mov r1, r4 |
---|
8112 | | - ldr r0, .L1228+8 |
---|
| 8491 | + sub r3, r3, r1 |
---|
| 8492 | + ldrh r0, [r4, #224] |
---|
| 8493 | + asr r3, r3, #1 |
---|
| 8494 | + mul r3, ip, r3 |
---|
| 8495 | + uxth r3, r3 |
---|
| 8496 | +.L1119: |
---|
| 8497 | + uxth ip, r2 |
---|
| 8498 | + cmp r0, ip |
---|
| 8499 | + bls .L1118 |
---|
| 8500 | + cmp r3, r7 |
---|
| 8501 | + bne .L1120 |
---|
| 8502 | + ldr r0, .L1126+8 |
---|
| 8503 | + mov r1, r7 |
---|
8113 | 8504 | bl List_remove_node |
---|
8114 | | - ldrh r3, [r5, #224] |
---|
| 8505 | + ldrh r3, [r4, #224] |
---|
8115 | 8506 | cmp r3, #0 |
---|
8116 | | - bne .L1222 |
---|
| 8507 | + bne .L1121 |
---|
| 8508 | + ldr r1, .L1126+12 |
---|
8117 | 8509 | movw r2, #1742 |
---|
8118 | | - ldr r1, .L1228+12 |
---|
8119 | | - ldr r0, .L1228+16 |
---|
| 8510 | + ldr r0, .L1126+16 |
---|
8120 | 8511 | bl sftl_printk |
---|
8121 | | -.L1222: |
---|
8122 | | - ldrh r3, [r5, #224] |
---|
8123 | | - mov r0, r4 |
---|
8124 | | - sub r3, r3, #1 |
---|
8125 | | - strh r3, [r5, #224] @ movhi |
---|
8126 | | - bl INSERT_DATA_LIST |
---|
8127 | | - ldr r2, [r5, #72] |
---|
8128 | | - ldrh r3, [r2, r6] |
---|
8129 | | -.L1218: |
---|
8130 | | - add r3, r3, #1 |
---|
8131 | | - strh r3, [r2, r6] @ movhi |
---|
8132 | | - b .L1219 |
---|
8133 | | -.L1221: |
---|
8134 | | - mul r4, lr, r4 |
---|
8135 | | - add r3, r3, #1 |
---|
8136 | | - ldrh r4, [r1, r4] |
---|
8137 | | - cmp r4, r8 |
---|
8138 | | - bne .L1220 |
---|
8139 | | -.L1219: |
---|
8140 | | - mov r2, #1 |
---|
8141 | | - add r1, sp, #4 |
---|
| 8512 | +.L1121: |
---|
| 8513 | + ldrh r3, [r4, #224] |
---|
8142 | 8514 | mov r0, r7 |
---|
| 8515 | + sub r3, r3, #1 |
---|
| 8516 | + strh r3, [r4, #224] @ movhi |
---|
| 8517 | + bl INSERT_DATA_LIST |
---|
| 8518 | + ldr r2, [r4, #72] |
---|
| 8519 | + ldrh r3, [r2, r5] |
---|
| 8520 | + add r3, r3, #1 |
---|
| 8521 | + strh r3, [r2, r5] @ movhi |
---|
| 8522 | +.L1118: |
---|
| 8523 | + sub r1, fp, #40 |
---|
| 8524 | + mov r0, r6 |
---|
| 8525 | + mov r2, #1 |
---|
8143 | 8526 | bl log2phys |
---|
8144 | | - add sp, sp, #8 |
---|
8145 | | - @ sp needed |
---|
8146 | | - pop {r4, r5, r6, r7, r8, pc} |
---|
8147 | | -.L1229: |
---|
| 8527 | + sub sp, fp, #32 |
---|
| 8528 | + ldmfd sp, {r4, r5, r6, r7, r8, fp, sp, pc} |
---|
| 8529 | +.L1120: |
---|
| 8530 | + mul r3, lr, r3 |
---|
| 8531 | + add r2, r2, #1 |
---|
| 8532 | + ldrh r3, [r1, r3] |
---|
| 8533 | + cmp r3, r8 |
---|
| 8534 | + bne .L1119 |
---|
| 8535 | + b .L1118 |
---|
| 8536 | +.L1127: |
---|
8148 | 8537 | .align 2 |
---|
8149 | | -.L1228: |
---|
| 8538 | +.L1126: |
---|
8150 | 8539 | .word .LANCHOR0 |
---|
8151 | 8540 | .word -1431655765 |
---|
8152 | 8541 | .word .LANCHOR0+2532 |
---|
8153 | 8542 | .word .LANCHOR1+419 |
---|
8154 | 8543 | .word .LC8 |
---|
8155 | | - .fnend |
---|
8156 | 8544 | .size FtlReUsePrevPpa, .-FtlReUsePrevPpa |
---|
| 8545 | + .section .rodata.str1.1 |
---|
| 8546 | +.LC109: |
---|
| 8547 | + .ascii "data prev_ppa = %x error...................\012\000" |
---|
| 8548 | +.LC110: |
---|
| 8549 | + .ascii "spuer block %x vpn is 0\012 \000" |
---|
| 8550 | + .text |
---|
8157 | 8551 | .align 2 |
---|
8158 | 8552 | .global FtlRecoverySuperblock |
---|
8159 | 8553 | .syntax unified |
---|
.. | .. |
---|
8161 | 8555 | .fpu softvfp |
---|
8162 | 8556 | .type FtlRecoverySuperblock, %function |
---|
8163 | 8557 | FtlRecoverySuperblock: |
---|
8164 | | - .fnstart |
---|
8165 | | - @ args = 0, pretend = 0, frame = 48 |
---|
8166 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
8167 | | - ldr r3, .L1364 |
---|
8168 | | - movw r2, #65535 |
---|
8169 | | - push {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
8170 | | - .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
8171 | | - .pad #52 |
---|
8172 | | - sub sp, sp, #52 |
---|
8173 | | - ldr r3, [r3] |
---|
8174 | | - str r3, [sp, #44] |
---|
| 8558 | + @ args = 0, pretend = 0, frame = 64 |
---|
| 8559 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 8560 | + mov ip, sp |
---|
| 8561 | + push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 8562 | + sub fp, ip, #4 |
---|
| 8563 | + sub sp, sp, #68 |
---|
| 8564 | + push {lr} |
---|
| 8565 | + bl __gnu_mcount_nc |
---|
| 8566 | + mov r3, sp |
---|
| 8567 | + movw r1, #65535 |
---|
| 8568 | + bic r3, r3, #8128 |
---|
| 8569 | + mov r10, r0 |
---|
| 8570 | + bic r3, r3, #63 |
---|
| 8571 | + ldr r3, [r3, #24] |
---|
| 8572 | + str r3, [fp, #-48] |
---|
8175 | 8573 | ldrh r3, [r0] |
---|
8176 | | - cmp r3, r2 |
---|
8177 | | - beq .L1232 |
---|
8178 | | - ldrh r3, [r0, #2] |
---|
8179 | | - mov fp, r0 |
---|
8180 | | - ldr r5, .L1364+4 |
---|
8181 | | - str r3, [sp, #8] |
---|
8182 | | - ldrb r3, [r0, #6] @ zero_extendqisi2 |
---|
8183 | | - ldr r1, [sp, #8] |
---|
8184 | | - str r3, [sp, #28] |
---|
8185 | | - movw r3, #302 |
---|
8186 | | - ldrh r3, [r5, r3] |
---|
8187 | 8574 | cmp r3, r1 |
---|
| 8575 | + beq .L1130 |
---|
| 8576 | + ldrh r3, [r0, #2] |
---|
| 8577 | + ldr r5, .L1257 |
---|
| 8578 | + str r3, [fp, #-72] |
---|
| 8579 | + ldrb r3, [r0, #6] @ zero_extendqisi2 |
---|
| 8580 | + str r3, [fp, #-92] |
---|
| 8581 | + movw r3, #302 |
---|
| 8582 | + ldrh r2, [r5, r3] |
---|
| 8583 | + ldr r3, [fp, #-72] |
---|
| 8584 | + cmp r2, r3 |
---|
8188 | 8585 | mov r3, #0 |
---|
| 8586 | + strheq r2, [r0, #2] @ movhi |
---|
8189 | 8587 | strheq r3, [r0, #4] @ movhi |
---|
8190 | 8588 | ldrhne r0, [r0, #16] |
---|
8191 | | - bne .L1234 |
---|
8192 | | -.L1362: |
---|
8193 | | - strb r3, [fp, #6] |
---|
8194 | | -.L1232: |
---|
8195 | | - ldr r3, .L1364 |
---|
8196 | | - mov r0, #0 |
---|
8197 | | - ldr r2, [sp, #44] |
---|
8198 | | - ldr r3, [r3] |
---|
| 8589 | + bne .L1132 |
---|
| 8590 | +.L1255: |
---|
| 8591 | + strb r3, [r10, #6] |
---|
| 8592 | +.L1130: |
---|
| 8593 | + mov r3, sp |
---|
| 8594 | + ldr r2, [fp, #-48] |
---|
| 8595 | + bic r3, r3, #8128 |
---|
| 8596 | + bic r3, r3, #63 |
---|
| 8597 | + ldr r3, [r3, #24] |
---|
8199 | 8598 | cmp r2, r3 |
---|
8200 | | - beq .L1300 |
---|
| 8599 | + beq .L1196 |
---|
8201 | 8600 | bl __stack_chk_fail |
---|
8202 | | -.L1235: |
---|
8203 | | - uxth r1, r3 |
---|
8204 | | - add r1, fp, r1, lsl #1 |
---|
8205 | | - ldrh r0, [r1, #16] |
---|
8206 | | -.L1234: |
---|
8207 | | - cmp r0, r2 |
---|
| 8601 | +.L1133: |
---|
| 8602 | + uxth r2, r3 |
---|
| 8603 | + add r2, r10, r2, lsl #1 |
---|
| 8604 | + ldrh r0, [r2, #16] |
---|
| 8605 | +.L1132: |
---|
8208 | 8606 | uxth r6, r3 |
---|
| 8607 | + cmp r0, r1 |
---|
8209 | 8608 | add r3, r3, #1 |
---|
8210 | | - beq .L1235 |
---|
| 8609 | + beq .L1133 |
---|
8211 | 8610 | mov r1, #1 |
---|
8212 | 8611 | bl FtlGetLastWrittenPage |
---|
8213 | | - cmn r0, #1 |
---|
8214 | 8612 | mov r4, r0 |
---|
8215 | | - beq .L1236 |
---|
8216 | | - ldrh r3, [r5, #232] |
---|
8217 | | - mov r2, #0 |
---|
8218 | | - ldr r0, [r5, #3288] |
---|
8219 | | - mov r6, r2 |
---|
8220 | | - movw r8, #65535 |
---|
8221 | | - mov r9, #20 |
---|
8222 | | - str r3, [sp, #4] |
---|
| 8613 | + cmn r0, #1 |
---|
| 8614 | + beq .L1134 |
---|
8223 | 8615 | ldr r3, [r5, #3176] |
---|
8224 | | - str r3, [sp, #12] |
---|
| 8616 | + add r2, r10, #16 |
---|
| 8617 | + str r3, [fp, #-64] |
---|
8225 | 8618 | movw r3, #310 |
---|
| 8619 | + ldr r0, [r5, #3288] |
---|
| 8620 | + movw r8, #65535 |
---|
8226 | 8621 | ldrh lr, [r5, r3] |
---|
8227 | | - ldr r3, .L1364+8 |
---|
8228 | | - ldr r5, [r5, #3180] |
---|
| 8622 | + mov r9, #20 |
---|
| 8623 | + ldr r3, .L1257+4 |
---|
| 8624 | + ldr r6, [r5, #3180] |
---|
8229 | 8625 | ldrh r7, [r3] |
---|
8230 | | - add r3, fp, #16 |
---|
8231 | | - mov ip, r3 |
---|
8232 | | - str r3, [sp, #24] |
---|
8233 | | -.L1237: |
---|
8234 | | - ldr r1, [sp, #4] |
---|
8235 | | - uxth r3, r2 |
---|
8236 | | - cmp r3, r1 |
---|
8237 | | - bcc .L1241 |
---|
8238 | | - ldr r5, .L1364+4 |
---|
| 8626 | + add r3, r10, #16 |
---|
| 8627 | + str r3, [fp, #-84] |
---|
| 8628 | + ldrh r3, [r5, #232] |
---|
| 8629 | + mov r5, #0 |
---|
| 8630 | + add r3, r10, r3, lsl #1 |
---|
| 8631 | + add r3, r3, #16 |
---|
| 8632 | + str r3, [fp, #-68] |
---|
| 8633 | +.L1135: |
---|
| 8634 | + ldr r3, [fp, #-68] |
---|
| 8635 | + cmp r3, r2 |
---|
| 8636 | + bne .L1139 |
---|
8239 | 8637 | mov r2, #0 |
---|
8240 | | - mov r1, r6 |
---|
8241 | | - movw r9, #65535 |
---|
| 8638 | + mov r1, r5 |
---|
8242 | 8639 | bl FlashReadPages |
---|
8243 | | - ldr r3, [r5, #2592] |
---|
| 8640 | + ldr r3, .L1257 |
---|
| 8641 | + mov r8, #0 |
---|
| 8642 | + ldr r6, [r3, #3288] |
---|
| 8643 | + ldr r2, [r3, #2592] |
---|
| 8644 | + mov r9, r6 |
---|
| 8645 | + sub r2, r2, #1 |
---|
| 8646 | + str r2, [fp, #-64] |
---|
| 8647 | + movw r2, #65535 |
---|
| 8648 | + str r2, [fp, #-80] |
---|
8244 | 8649 | uxth r2, r4 |
---|
8245 | | - ldr r8, [r5, #3288] |
---|
8246 | | - str r2, [sp, #12] |
---|
8247 | | - sub r3, r3, #1 |
---|
8248 | | - str r3, [sp, #4] |
---|
8249 | | - mov r7, r8 |
---|
8250 | | - mov r3, #0 |
---|
8251 | | -.L1242: |
---|
8252 | | - uxth r2, r3 |
---|
8253 | | - cmp r6, r2 |
---|
8254 | | - bhi .L1247 |
---|
8255 | | - addeq r10, r4, #1 |
---|
8256 | | - uxtheq r10, r10 |
---|
8257 | | - bne .L1245 |
---|
8258 | | -.L1357: |
---|
8259 | | - ldr r0, [r8, #4] |
---|
| 8650 | + str r2, [fp, #-68] |
---|
| 8651 | +.L1140: |
---|
| 8652 | + uxth r2, r8 |
---|
| 8653 | + cmp r5, r2 |
---|
| 8654 | + bhi .L1145 |
---|
| 8655 | + addeq r3, r4, #1 |
---|
| 8656 | + uxtheq r3, r3 |
---|
| 8657 | + streq r3, [fp, #-68] |
---|
| 8658 | + bne .L1143 |
---|
| 8659 | +.L1249: |
---|
| 8660 | + ldr r0, [r6, #4] |
---|
8260 | 8661 | ubfx r0, r0, #10, #16 |
---|
8261 | 8662 | bl P2V_plane |
---|
8262 | | - movw r3, #302 |
---|
8263 | | - str r0, [sp, #12] |
---|
8264 | | - ldrh r3, [r5, r3] |
---|
8265 | | - ldr r2, [sp, #12] |
---|
8266 | | - ldr r1, [sp, #28] |
---|
8267 | | - cmp r3, r10 |
---|
8268 | | - moveq r3, #0 |
---|
8269 | | - strheq r10, [fp, #2] @ movhi |
---|
8270 | | - strbeq r3, [fp, #6] |
---|
8271 | | - strheq r3, [fp, #4] @ movhi |
---|
8272 | | - ldr r3, [sp, #8] |
---|
8273 | | - cmp r10, r3 |
---|
8274 | | - cmpeq r2, r1 |
---|
8275 | | - bne .L1250 |
---|
8276 | | -.L1363: |
---|
8277 | | - mov r1, r10 |
---|
8278 | | - mov r0, fp |
---|
8279 | | - bl ftl_sb_update_avl_pages |
---|
8280 | | - b .L1232 |
---|
8281 | | -.L1236: |
---|
8282 | | - ldr r3, [sp, #8] |
---|
8283 | | - cmp r3, #0 |
---|
8284 | | - beq .L1238 |
---|
8285 | | - movw r2, #1809 |
---|
8286 | | - ldr r1, .L1364+12 |
---|
8287 | | - ldr r0, .L1364+16 |
---|
8288 | | - bl sftl_printk |
---|
8289 | | -.L1238: |
---|
8290 | | - ldr r3, [sp, #28] |
---|
8291 | | - cmp r3, #0 |
---|
8292 | | - cmpne r6, r3 |
---|
8293 | | - beq .L1239 |
---|
8294 | | - movw r2, #1810 |
---|
8295 | | - ldr r1, .L1364+12 |
---|
8296 | | - ldr r0, .L1364+16 |
---|
8297 | | - bl sftl_printk |
---|
8298 | | -.L1239: |
---|
8299 | | - mov r3, #0 |
---|
8300 | | - strh r3, [fp, #2] @ movhi |
---|
8301 | | - b .L1362 |
---|
8302 | | -.L1241: |
---|
8303 | | - ldrh r3, [ip], #2 |
---|
8304 | | - cmp r3, r8 |
---|
8305 | | - beq .L1240 |
---|
8306 | | - mla r1, r9, r6, r0 |
---|
8307 | | - orr r3, r4, r3, lsl #10 |
---|
8308 | | - str r3, [r1, #4] |
---|
8309 | | - mul r3, lr, r6 |
---|
8310 | | - add r10, r3, #3 |
---|
8311 | | - cmp r3, #0 |
---|
8312 | | - movlt r3, r10 |
---|
8313 | | - ldr r10, [sp, #12] |
---|
8314 | | - bic r3, r3, #3 |
---|
8315 | | - add r3, r10, r3 |
---|
8316 | | - str r3, [r1, #8] |
---|
8317 | | - mul r3, r7, r6 |
---|
8318 | | - add r6, r6, #1 |
---|
8319 | | - uxth r6, r6 |
---|
8320 | | - add r10, r3, #3 |
---|
8321 | | - cmp r3, #0 |
---|
8322 | | - movlt r3, r10 |
---|
8323 | | - bic r3, r3, #3 |
---|
8324 | | - add r3, r5, r3 |
---|
8325 | | - str r3, [r1, #12] |
---|
8326 | | -.L1240: |
---|
8327 | | - add r2, r2, #1 |
---|
8328 | | - b .L1237 |
---|
8329 | | -.L1247: |
---|
8330 | | - ldr r2, [r7] |
---|
| 8663 | + ldr r3, .L1257 |
---|
| 8664 | + movw r2, #302 |
---|
| 8665 | + ldr r1, [fp, #-68] |
---|
| 8666 | + str r0, [fp, #-76] |
---|
| 8667 | + ldrh r2, [r3, r2] |
---|
| 8668 | + cmp r2, r1 |
---|
| 8669 | + bne .L1147 |
---|
| 8670 | + mov r2, #0 |
---|
| 8671 | + strh r1, [r10, #2] @ movhi |
---|
| 8672 | + strb r2, [r10, #6] |
---|
| 8673 | + strh r2, [r10, #4] @ movhi |
---|
| 8674 | +.L1147: |
---|
| 8675 | + sub r0, fp, #76 |
---|
| 8676 | + ldr ip, [fp, #-92] |
---|
| 8677 | + ldm r0, {r0, r1, r2} |
---|
| 8678 | + cmp r2, r1 |
---|
| 8679 | + cmpeq r0, ip |
---|
| 8680 | + moveq r2, r0 |
---|
| 8681 | + ldreq r1, [fp, #-68] |
---|
| 8682 | + beq .L1256 |
---|
| 8683 | + ldr r1, [fp, #-80] |
---|
| 8684 | + movw r2, #65535 |
---|
| 8685 | + cmp r1, r2 |
---|
| 8686 | + bne .L1149 |
---|
| 8687 | + ldrb r2, [r10, #8] @ zero_extendqisi2 |
---|
8331 | 8688 | cmp r2, #0 |
---|
8332 | | - bne .L1243 |
---|
8333 | | - ldr r10, [r7, #12] |
---|
8334 | | - ldr r2, [r10, #4] |
---|
| 8689 | + bne .L1150 |
---|
| 8690 | +.L1149: |
---|
| 8691 | + ldr r2, [r3, #3448] |
---|
| 8692 | + uxth r9, r4 |
---|
| 8693 | + ldr r6, .L1257 |
---|
8335 | 8694 | cmn r2, #1 |
---|
8336 | | - beq .L1244 |
---|
8337 | | - ldr r1, [r5, #2592] |
---|
8338 | | - mov r0, r2 |
---|
8339 | | - bl ftl_cmp_data_ver |
---|
8340 | | - cmp r0, #0 |
---|
8341 | | - addne r2, r2, #1 |
---|
8342 | | - strne r2, [r5, #2592] |
---|
8343 | | -.L1244: |
---|
8344 | | - ldr r2, [r10] |
---|
8345 | | - cmn r2, #1 |
---|
8346 | | - bne .L1246 |
---|
8347 | | -.L1245: |
---|
8348 | | - uxth r3, r3 |
---|
8349 | | - mov r2, #20 |
---|
8350 | | - uxth r10, r4 |
---|
8351 | | - mla r8, r2, r3, r8 |
---|
8352 | | - b .L1357 |
---|
8353 | | -.L1243: |
---|
8354 | | - ldr r9, [sp, #12] |
---|
8355 | | -.L1246: |
---|
8356 | | - add r3, r3, #1 |
---|
8357 | | - add r7, r7, #20 |
---|
8358 | | - b .L1242 |
---|
8359 | | -.L1250: |
---|
8360 | | - movw r3, #65535 |
---|
8361 | | - cmp r9, r3 |
---|
8362 | | - bne .L1251 |
---|
8363 | | - ldrb r3, [fp, #8] @ zero_extendqisi2 |
---|
8364 | | - cmp r3, #0 |
---|
8365 | | - bne .L1252 |
---|
8366 | | -.L1251: |
---|
8367 | | - ldr r3, [r5, #3448] |
---|
8368 | | - uxth r7, r4 |
---|
8369 | | - uxth r4, r4 |
---|
8370 | | - ldr r6, .L1364+4 |
---|
8371 | | - movw r8, #65535 |
---|
8372 | | - cmn r3, #1 |
---|
8373 | | - ldreq r3, [sp, #4] |
---|
8374 | | - streq r3, [r5, #3448] |
---|
8375 | | - ldr r3, [sp, #8] |
---|
| 8695 | + ldreq r2, [fp, #-64] |
---|
| 8696 | + streq r2, [r3, #3448] |
---|
| 8697 | + uxth r2, r4 |
---|
| 8698 | + ldr r3, [fp, #-72] |
---|
8376 | 8699 | add r3, r3, #7 |
---|
8377 | | - cmp r4, r3 |
---|
8378 | | - subgt r4, r7, #7 |
---|
8379 | | - ldrle r4, [sp, #8] |
---|
8380 | | - uxthgt r4, r4 |
---|
8381 | | -.L1255: |
---|
8382 | | - cmp r4, r7 |
---|
8383 | | - bhi .L1262 |
---|
8384 | | - mov r3, #0 |
---|
8385 | | - ldrh lr, [r6, #232] |
---|
| 8700 | + cmp r3, r2 |
---|
| 8701 | + sublt r4, r4, #7 |
---|
| 8702 | + ldrge r4, [fp, #-72] |
---|
| 8703 | + uxthlt r4, r4 |
---|
| 8704 | +.L1153: |
---|
8386 | 8705 | ldr r0, [r6, #3288] |
---|
8387 | | - mov r5, r3 |
---|
8388 | | - ldr r1, [sp, #24] |
---|
8389 | | - mov ip, #20 |
---|
8390 | | - b .L1263 |
---|
8391 | | -.L1257: |
---|
8392 | | - ldrh r2, [r1], #2 |
---|
8393 | | - add r3, r3, #1 |
---|
8394 | | - cmp r2, r8 |
---|
8395 | | - mlane r9, ip, r5, r0 |
---|
8396 | | - addne r5, r5, #1 |
---|
8397 | | - orrne r2, r4, r2, lsl #10 |
---|
8398 | | - uxthne r5, r5 |
---|
8399 | | - strne r2, [r9, #4] |
---|
8400 | | -.L1263: |
---|
| 8706 | + cmp r4, r9 |
---|
| 8707 | + ldrh ip, [r6, #232] |
---|
| 8708 | + bls .L1198 |
---|
| 8709 | + mvn r3, #0 |
---|
| 8710 | + str r3, [r6, #3448] |
---|
| 8711 | +.L1150: |
---|
| 8712 | + ldr r4, .L1257+8 |
---|
| 8713 | + mov r3, #1 |
---|
| 8714 | + ldr r9, [fp, #-72] |
---|
| 8715 | + strh r3, [r4] @ movhi |
---|
| 8716 | + sub r4, r4, #3472 |
---|
| 8717 | +.L1161: |
---|
| 8718 | + ldrh ip, [r4, #232] |
---|
| 8719 | + mov r3, #0 |
---|
| 8720 | + ldr r0, [r4, #3288] |
---|
| 8721 | + movw lr, #65535 |
---|
| 8722 | + ldr r1, [fp, #-84] |
---|
| 8723 | + mov r5, #20 |
---|
| 8724 | + str r3, [fp, #-80] |
---|
| 8725 | +.L1162: |
---|
8401 | 8726 | uxth r2, r3 |
---|
8402 | | - cmp lr, r2 |
---|
8403 | | - bhi .L1257 |
---|
| 8727 | + cmp ip, r2 |
---|
| 8728 | + bhi .L1164 |
---|
| 8729 | + ldr r1, [fp, #-80] |
---|
| 8730 | + mov r2, #0 |
---|
| 8731 | + bl FlashReadPages |
---|
| 8732 | + mov r3, #0 |
---|
| 8733 | +.L1254: |
---|
| 8734 | + str r3, [fp, #-88] |
---|
| 8735 | + ldr r2, [fp, #-80] |
---|
| 8736 | + ldrh r3, [fp, #-88] |
---|
| 8737 | + cmp r3, r2 |
---|
| 8738 | + bcc .L1192 |
---|
| 8739 | + add r3, r9, #1 |
---|
| 8740 | + uxth r9, r3 |
---|
| 8741 | + ldr r3, .L1257+12 |
---|
| 8742 | + ldrh r3, [r3] |
---|
| 8743 | + cmp r3, r9 |
---|
| 8744 | + bne .L1161 |
---|
| 8745 | + ldrh r1, [r4, #232] |
---|
| 8746 | + mov r3, #0 |
---|
| 8747 | + strh r9, [r10, #2] @ movhi |
---|
| 8748 | + movw r0, #65535 |
---|
| 8749 | + strh r3, [r10, #4] @ movhi |
---|
| 8750 | +.L1193: |
---|
| 8751 | + uxth r2, r3 |
---|
| 8752 | + cmp r1, r2 |
---|
| 8753 | + bls .L1130 |
---|
| 8754 | + ldr r2, [fp, #-84] |
---|
| 8755 | + ldrh ip, [r2], #2 |
---|
| 8756 | + str r2, [fp, #-84] |
---|
| 8757 | + add r2, r3, #1 |
---|
| 8758 | + cmp ip, r0 |
---|
| 8759 | + bne .L1255 |
---|
| 8760 | + mov r3, r2 |
---|
| 8761 | + b .L1193 |
---|
| 8762 | +.L1134: |
---|
| 8763 | + ldr r3, [fp, #-72] |
---|
| 8764 | + cmp r3, #0 |
---|
| 8765 | + beq .L1136 |
---|
| 8766 | + ldr r1, .L1257+16 |
---|
| 8767 | + movw r2, #1809 |
---|
| 8768 | + ldr r0, .L1257+20 |
---|
| 8769 | + bl sftl_printk |
---|
| 8770 | +.L1136: |
---|
| 8771 | + ldr r3, [fp, #-92] |
---|
| 8772 | + cmp r3, #0 |
---|
| 8773 | + cmpne r3, r6 |
---|
| 8774 | + beq .L1137 |
---|
| 8775 | + ldr r1, .L1257+16 |
---|
| 8776 | + movw r2, #1810 |
---|
| 8777 | + ldr r0, .L1257+20 |
---|
| 8778 | + bl sftl_printk |
---|
| 8779 | +.L1137: |
---|
| 8780 | + mov r3, #0 |
---|
| 8781 | + strh r3, [r10, #2] @ movhi |
---|
| 8782 | + b .L1255 |
---|
| 8783 | +.L1139: |
---|
| 8784 | + ldrh r3, [r2], #2 |
---|
| 8785 | + cmp r3, r8 |
---|
| 8786 | + beq .L1135 |
---|
| 8787 | + mla r1, r9, r5, r0 |
---|
| 8788 | + orr r3, r4, r3, lsl #10 |
---|
| 8789 | + mul ip, lr, r5 |
---|
| 8790 | + cmp ip, #0 |
---|
| 8791 | + str r3, [r1, #4] |
---|
| 8792 | + add r3, ip, #3 |
---|
| 8793 | + movge r3, ip |
---|
| 8794 | + ldr ip, [fp, #-64] |
---|
| 8795 | + bic r3, r3, #3 |
---|
| 8796 | + add r3, ip, r3 |
---|
| 8797 | + mul ip, r7, r5 |
---|
| 8798 | + str r3, [r1, #8] |
---|
| 8799 | + add r5, r5, #1 |
---|
| 8800 | + cmp ip, #0 |
---|
| 8801 | + add r3, ip, #3 |
---|
| 8802 | + movge r3, ip |
---|
| 8803 | + uxth r5, r5 |
---|
| 8804 | + bic r3, r3, #3 |
---|
| 8805 | + add r3, r6, r3 |
---|
| 8806 | + str r3, [r1, #12] |
---|
| 8807 | + b .L1135 |
---|
| 8808 | +.L1145: |
---|
| 8809 | + ldr r2, [r9] |
---|
| 8810 | + cmp r2, #0 |
---|
| 8811 | + bne .L1141 |
---|
| 8812 | + ldr r2, [r9, #12] |
---|
| 8813 | + ldr r7, [r2, #4] |
---|
| 8814 | + cmn r7, #1 |
---|
| 8815 | + beq .L1142 |
---|
| 8816 | + ldr r1, [r3, #2592] |
---|
| 8817 | + mov r0, r7 |
---|
| 8818 | + str r2, [fp, #-76] |
---|
| 8819 | + bl ftl_cmp_data_ver |
---|
| 8820 | + ldr r3, .L1257 |
---|
| 8821 | + cmp r0, #0 |
---|
| 8822 | + ldr r2, [fp, #-76] |
---|
| 8823 | + addne r7, r7, #1 |
---|
| 8824 | + strne r7, [r3, #2592] |
---|
| 8825 | +.L1142: |
---|
| 8826 | + ldr r2, [r2] |
---|
| 8827 | + cmn r2, #1 |
---|
| 8828 | + bne .L1144 |
---|
| 8829 | +.L1143: |
---|
| 8830 | + uxth r3, r4 |
---|
| 8831 | + str r3, [fp, #-68] |
---|
| 8832 | + mov r3, #20 |
---|
| 8833 | + mla r6, r3, r8, r6 |
---|
| 8834 | + b .L1249 |
---|
| 8835 | +.L1141: |
---|
| 8836 | + ldr r2, [fp, #-68] |
---|
| 8837 | + str r2, [fp, #-80] |
---|
| 8838 | +.L1144: |
---|
| 8839 | + add r8, r8, #1 |
---|
| 8840 | + add r9, r9, #20 |
---|
| 8841 | + b .L1140 |
---|
| 8842 | +.L1155: |
---|
| 8843 | + ldrh r2, [r1], #2 |
---|
| 8844 | + cmp r2, lr |
---|
| 8845 | + beq .L1154 |
---|
| 8846 | + mla r8, r7, r5, r0 |
---|
| 8847 | + add r5, r5, #1 |
---|
| 8848 | + orr r2, r4, r2, lsl #10 |
---|
| 8849 | + uxth r5, r5 |
---|
| 8850 | + str r2, [r8, #4] |
---|
| 8851 | +.L1154: |
---|
| 8852 | + add r3, r3, #1 |
---|
| 8853 | +.L1160: |
---|
| 8854 | + uxth r2, r3 |
---|
| 8855 | + cmp ip, r2 |
---|
| 8856 | + bhi .L1155 |
---|
8404 | 8857 | mov r2, #0 |
---|
8405 | 8858 | mov r1, r5 |
---|
8406 | 8859 | bl FlashReadPages |
---|
8407 | 8860 | ldr r3, [r6, #3288] |
---|
8408 | | - mov r2, #20 |
---|
8409 | | - mla r5, r2, r5, r3 |
---|
8410 | | -.L1258: |
---|
8411 | | - cmp r5, r3 |
---|
8412 | | - addeq r4, r4, #1 |
---|
8413 | | - uxtheq r4, r4 |
---|
8414 | | - beq .L1255 |
---|
8415 | | -.L1261: |
---|
8416 | | - ldr r2, [r3] |
---|
8417 | | - cmp r2, #0 |
---|
8418 | | - bne .L1252 |
---|
8419 | | - ldr r2, [r3, #12] |
---|
8420 | | - ldrh r1, [r2] |
---|
8421 | | - cmp r1, r8 |
---|
8422 | | - beq .L1260 |
---|
8423 | | - ldr r2, [r2, #4] |
---|
8424 | | - cmn r2, #1 |
---|
8425 | | - strne r2, [r6, #3448] |
---|
8426 | | -.L1260: |
---|
8427 | | - add r3, r3, #20 |
---|
8428 | | - b .L1258 |
---|
8429 | | -.L1262: |
---|
8430 | | - mvn r3, #0 |
---|
8431 | | - str r3, [r6, #3448] |
---|
8432 | | -.L1252: |
---|
8433 | | - ldr r4, .L1364+20 |
---|
8434 | | - mov r3, #1 |
---|
8435 | | - ldr r9, [sp, #8] |
---|
8436 | | - strh r3, [r4] @ movhi |
---|
8437 | | - sub r4, r4, #3472 |
---|
8438 | | -.L1264: |
---|
8439 | | - ldrh ip, [r4, #232] |
---|
8440 | | - movw lr, #65535 |
---|
8441 | | - ldr r0, [r4, #3288] |
---|
8442 | | - mov r5, #20 |
---|
8443 | | - ldr r1, [sp, #24] |
---|
8444 | | - mov r3, #0 |
---|
8445 | | - str r3, [sp, #16] |
---|
8446 | | -.L1265: |
---|
8447 | | - uxth r2, r3 |
---|
8448 | | - cmp ip, r2 |
---|
8449 | | - bhi .L1267 |
---|
8450 | 8861 | mov r2, #0 |
---|
8451 | | - ldr r1, [sp, #16] |
---|
8452 | | - bl FlashReadPages |
---|
8453 | | - mov r3, #0 |
---|
8454 | | -.L1361: |
---|
8455 | | - str r3, [sp, #20] |
---|
8456 | | - ldr r2, [sp, #16] |
---|
8457 | | - ldrh r3, [sp, #20] |
---|
8458 | | - cmp r2, r3 |
---|
8459 | | - bhi .L1295 |
---|
8460 | | - ldr r3, .L1364+24 |
---|
8461 | | - add r9, r9, #1 |
---|
8462 | | - uxth r9, r9 |
---|
8463 | | - ldrh r3, [r3] |
---|
8464 | | - cmp r3, r9 |
---|
8465 | | - bne .L1264 |
---|
8466 | | - ldrh r2, [r4, #232] |
---|
8467 | 8862 | movw r0, #65535 |
---|
| 8863 | +.L1156: |
---|
| 8864 | + uxth r1, r2 |
---|
| 8865 | + cmp r5, r1 |
---|
| 8866 | + bhi .L1159 |
---|
| 8867 | + add r4, r4, #1 |
---|
| 8868 | + uxth r4, r4 |
---|
| 8869 | + b .L1153 |
---|
| 8870 | +.L1198: |
---|
8468 | 8871 | mov r3, #0 |
---|
8469 | | - strh r9, [fp, #2] @ movhi |
---|
8470 | | - strh r3, [fp, #4] @ movhi |
---|
8471 | | -.L1296: |
---|
8472 | | - uxth r1, r3 |
---|
8473 | | - cmp r1, r2 |
---|
8474 | | - bcs .L1232 |
---|
8475 | | - ldr r1, [sp, #24] |
---|
8476 | | - ldrh ip, [r1], #2 |
---|
| 8872 | + ldr r1, [fp, #-84] |
---|
| 8873 | + mov r5, r3 |
---|
| 8874 | + movw lr, #65535 |
---|
| 8875 | + mov r7, #20 |
---|
| 8876 | + b .L1160 |
---|
| 8877 | +.L1159: |
---|
| 8878 | + ldr r1, [r3] |
---|
| 8879 | + cmp r1, #0 |
---|
| 8880 | + bne .L1150 |
---|
| 8881 | + ldr r1, [r3, #12] |
---|
| 8882 | + ldrh ip, [r1] |
---|
8477 | 8883 | cmp ip, r0 |
---|
8478 | | - str r1, [sp, #24] |
---|
8479 | | - add r1, r3, #1 |
---|
8480 | | - bne .L1362 |
---|
8481 | | - mov r3, r1 |
---|
8482 | | - b .L1296 |
---|
8483 | | -.L1267: |
---|
| 8884 | + beq .L1158 |
---|
| 8885 | + ldr r1, [r1, #4] |
---|
| 8886 | + cmn r1, #1 |
---|
| 8887 | + strne r1, [r6, #3448] |
---|
| 8888 | +.L1158: |
---|
| 8889 | + add r2, r2, #1 |
---|
| 8890 | + add r3, r3, #20 |
---|
| 8891 | + b .L1156 |
---|
| 8892 | +.L1164: |
---|
8484 | 8893 | ldrh r2, [r1], #2 |
---|
8485 | 8894 | cmp r2, lr |
---|
8486 | | - beq .L1266 |
---|
8487 | | - ldr r6, [sp, #16] |
---|
| 8895 | + beq .L1163 |
---|
| 8896 | + ldr r6, [fp, #-80] |
---|
8488 | 8897 | orr r2, r9, r2, lsl #10 |
---|
8489 | 8898 | mla r6, r5, r6, r0 |
---|
8490 | 8899 | str r2, [r6, #4] |
---|
8491 | | - ldr r2, [sp, #16] |
---|
| 8900 | + ldr r2, [fp, #-80] |
---|
8492 | 8901 | add r2, r2, #1 |
---|
8493 | 8902 | uxth r2, r2 |
---|
8494 | | - str r2, [sp, #16] |
---|
8495 | | -.L1266: |
---|
| 8903 | + str r2, [fp, #-80] |
---|
| 8904 | +.L1163: |
---|
8496 | 8905 | add r3, r3, #1 |
---|
8497 | | - b .L1265 |
---|
8498 | | -.L1295: |
---|
8499 | | - ldr r3, [sp, #20] |
---|
8500 | | - mov r6, #20 |
---|
| 8906 | + b .L1162 |
---|
| 8907 | +.L1192: |
---|
| 8908 | + ldr r3, [fp, #-88] |
---|
| 8909 | + mov r5, #20 |
---|
8501 | 8910 | ldr r8, [r4, #3288] |
---|
8502 | | - mul r6, r6, r3 |
---|
8503 | | - add r7, r8, r6 |
---|
8504 | | - ldr r5, [r7, #4] |
---|
8505 | | - ubfx r0, r5, #10, #16 |
---|
8506 | | - str r5, [sp, #40] |
---|
8507 | | - bl P2V_plane |
---|
8508 | | - ldr r3, [sp, #8] |
---|
| 8911 | + mul r5, r5, r3 |
---|
| 8912 | + ldr r3, [fp, #-72] |
---|
| 8913 | + add r7, r8, r5 |
---|
8509 | 8914 | cmp r9, r3 |
---|
8510 | | - bcc .L1269 |
---|
8511 | | - ldr r2, [sp, #28] |
---|
8512 | | - moveq r3, #1 |
---|
8513 | | - movne r3, #0 |
---|
| 8915 | + ldr r6, [r7, #4] |
---|
| 8916 | + str r6, [fp, #-52] |
---|
| 8917 | + bcc .L1166 |
---|
| 8918 | + ubfx r0, r6, #10, #16 |
---|
| 8919 | + bl P2V_plane |
---|
| 8920 | + ldr r3, [fp, #-72] |
---|
| 8921 | + ldr r2, [fp, #-92] |
---|
| 8922 | + sub r3, r9, r3 |
---|
| 8923 | + clz r3, r3 |
---|
8514 | 8924 | cmp r2, r0 |
---|
| 8925 | + lsr r3, r3, #5 |
---|
8515 | 8926 | movls r3, #0 |
---|
8516 | | - andhi r3, r3, #1 |
---|
8517 | 8927 | cmp r3, #0 |
---|
8518 | | - bne .L1269 |
---|
8519 | | - ldr r3, [sp, #12] |
---|
8520 | | - cmp r9, r10 |
---|
8521 | | - cmpeq r3, r0 |
---|
8522 | | - beq .L1270 |
---|
8523 | | - ldr r3, [r8, r6] |
---|
| 8928 | + bne .L1166 |
---|
| 8929 | + ldr r3, [fp, #-68] |
---|
| 8930 | + ldr r2, [fp, #-76] |
---|
| 8931 | + cmp r9, r3 |
---|
| 8932 | + cmpeq r2, r0 |
---|
| 8933 | + bne .L1167 |
---|
| 8934 | + ldr r3, [fp, #-68] |
---|
| 8935 | + strb r2, [r10, #6] |
---|
| 8936 | + mov r1, r3 |
---|
| 8937 | + strh r3, [r10, #2] @ movhi |
---|
| 8938 | +.L1256: |
---|
| 8939 | + mov r0, r10 |
---|
| 8940 | + bl ftl_sb_update_avl_pages |
---|
| 8941 | + b .L1130 |
---|
| 8942 | +.L1167: |
---|
| 8943 | + ldr r3, [r8, r5] |
---|
8524 | 8944 | cmn r3, #1 |
---|
8525 | | - beq .L1271 |
---|
| 8945 | + beq .L1168 |
---|
8526 | 8946 | ldr r7, [r7, #12] |
---|
8527 | 8947 | movw r3, #61589 |
---|
8528 | | - ldrh r2, [r7] |
---|
8529 | | - cmp r2, r3 |
---|
8530 | | - ldrhne r0, [fp] |
---|
8531 | | - bne .L1358 |
---|
| 8948 | + ldrh r6, [r7] |
---|
| 8949 | + cmp r6, r3 |
---|
| 8950 | + ldrhne r0, [r10] |
---|
| 8951 | + bne .L1251 |
---|
8532 | 8952 | ldr r3, [r7, #4] |
---|
| 8953 | + str r3, [fp, #-64] |
---|
8533 | 8954 | cmn r3, #1 |
---|
8534 | | - str r3, [sp, #4] |
---|
8535 | | - beq .L1273 |
---|
8536 | | - mov r0, r3 |
---|
| 8955 | + beq .L1171 |
---|
8537 | 8956 | ldr r1, [r4, #2592] |
---|
| 8957 | + mov r0, r3 |
---|
8538 | 8958 | bl ftl_cmp_data_ver |
---|
8539 | 8959 | cmp r0, #0 |
---|
8540 | | - ldrne r3, [sp, #4] |
---|
8541 | | - addne r3, r3, #1 |
---|
8542 | | - strne r3, [r4, #2592] |
---|
8543 | | -.L1273: |
---|
8544 | | - ldrh r2, [r7] |
---|
8545 | | - movw r3, #61589 |
---|
8546 | | - cmp r2, r3 |
---|
8547 | | - beq .L1274 |
---|
| 8960 | + beq .L1171 |
---|
| 8961 | + ldr r3, [fp, #-64] |
---|
| 8962 | + add r3, r3, #1 |
---|
| 8963 | + str r3, [r4, #2592] |
---|
| 8964 | + ldrh r3, [r7] |
---|
| 8965 | + cmp r3, r6 |
---|
| 8966 | + beq .L1171 |
---|
| 8967 | + ldr r1, .L1257+16 |
---|
8548 | 8968 | movw r2, #1961 |
---|
8549 | | - ldr r1, .L1364+12 |
---|
8550 | | - ldr r0, .L1364+16 |
---|
| 8969 | + ldr r0, .L1257+20 |
---|
8551 | 8970 | bl sftl_printk |
---|
8552 | | -.L1274: |
---|
8553 | | - ldr r5, [r7, #8] |
---|
8554 | | - add r1, sp, #36 |
---|
| 8971 | +.L1171: |
---|
| 8972 | + ldr r6, [r7, #8] |
---|
| 8973 | + sub r1, fp, #56 |
---|
8555 | 8974 | ldr r3, [r7, #12] |
---|
8556 | 8975 | mov r2, #0 |
---|
8557 | | - mov r0, r5 |
---|
8558 | | - str r3, [sp, #32] |
---|
| 8976 | + mov r0, r6 |
---|
| 8977 | + str r3, [fp, #-60] |
---|
8559 | 8978 | bl log2phys |
---|
8560 | 8979 | ldr r1, [r4, #3448] |
---|
8561 | 8980 | cmn r1, #1 |
---|
8562 | | - beq .L1275 |
---|
8563 | | - ldr r0, [sp, #4] |
---|
| 8981 | + beq .L1173 |
---|
| 8982 | + ldr r0, [fp, #-64] |
---|
8564 | 8983 | bl ftl_cmp_data_ver |
---|
8565 | 8984 | cmp r0, #0 |
---|
8566 | | - beq .L1275 |
---|
8567 | | - ldr r3, [sp, #32] |
---|
| 8985 | + beq .L1173 |
---|
| 8986 | + ldr r3, [fp, #-60] |
---|
8568 | 8987 | cmn r3, #1 |
---|
8569 | | - beq .L1276 |
---|
| 8988 | + beq .L1174 |
---|
8570 | 8989 | ldr r0, [r4, #3288] |
---|
8571 | 8990 | mov r2, #0 |
---|
8572 | 8991 | mov r1, #1 |
---|
8573 | | - add r0, r0, r6 |
---|
| 8992 | + add r0, r0, r5 |
---|
8574 | 8993 | str r3, [r0, #4] |
---|
8575 | 8994 | ldr r7, [r0, #12] |
---|
8576 | 8995 | bl FlashReadPages |
---|
8577 | | - ldr r2, [r4, #3288] |
---|
8578 | | - ldr r1, [r2, r6] |
---|
8579 | | - add r3, r2, r6 |
---|
8580 | | - cmn r1, #1 |
---|
8581 | | - bne .L1277 |
---|
8582 | | -.L1278: |
---|
| 8996 | + ldr r8, [r4, #3288] |
---|
| 8997 | + add r3, r8, r5 |
---|
| 8998 | + ldr r2, [r8, r5] |
---|
| 8999 | + cmn r2, #1 |
---|
| 9000 | + bne .L1175 |
---|
| 9001 | +.L1176: |
---|
8583 | 9002 | mvn r3, #0 |
---|
8584 | | - str r3, [sp, #32] |
---|
8585 | | -.L1285: |
---|
8586 | | - ldr r7, [sp, #32] |
---|
8587 | | - cmn r7, #1 |
---|
8588 | | - beq .L1269 |
---|
8589 | | -.L1299: |
---|
8590 | | - ubfx r0, r7, #10, #16 |
---|
| 9003 | + str r3, [fp, #-60] |
---|
| 9004 | +.L1183: |
---|
| 9005 | + ldr r0, [fp, #-60] |
---|
| 9006 | + cmn r0, #1 |
---|
| 9007 | + beq .L1166 |
---|
| 9008 | + ubfx r0, r0, #10, #16 |
---|
8591 | 9009 | bl P2V_block_in_plane |
---|
8592 | 9010 | ldrh r3, [r4, #240] |
---|
8593 | 9011 | mov r5, r0 |
---|
8594 | 9012 | cmp r3, r0 |
---|
8595 | | - bhi .L1291 |
---|
| 9013 | + bhi .L1188 |
---|
| 9014 | + ldr r1, .L1257+16 |
---|
8596 | 9015 | movw r2, #2066 |
---|
8597 | | - ldr r1, .L1364+12 |
---|
8598 | | - ldr r0, .L1364+16 |
---|
| 9016 | + ldr r0, .L1257+20 |
---|
8599 | 9017 | bl sftl_printk |
---|
8600 | | -.L1291: |
---|
| 9018 | +.L1188: |
---|
8601 | 9019 | ldr r2, [r4, #72] |
---|
8602 | 9020 | lsl r3, r5, #1 |
---|
8603 | 9021 | ldrh r3, [r2, r3] |
---|
8604 | 9022 | cmp r3, #0 |
---|
8605 | | - beq .L1292 |
---|
| 9023 | + beq .L1189 |
---|
8606 | 9024 | mov r0, r5 |
---|
8607 | | -.L1358: |
---|
| 9025 | +.L1251: |
---|
8608 | 9026 | bl decrement_vpc_count |
---|
8609 | | - b .L1269 |
---|
8610 | | -.L1276: |
---|
8611 | | - ldr r3, [sp, #40] |
---|
8612 | | - ldr r2, [sp, #36] |
---|
| 9027 | + b .L1166 |
---|
| 9028 | +.L1174: |
---|
| 9029 | + ldrd r2, [fp, #-56] |
---|
8613 | 9030 | cmp r2, r3 |
---|
8614 | | - bne .L1269 |
---|
| 9031 | + bne .L1166 |
---|
| 9032 | + sub r1, fp, #60 |
---|
| 9033 | + mov r0, r6 |
---|
8615 | 9034 | mov r2, #1 |
---|
8616 | | - add r1, sp, #32 |
---|
8617 | | - mov r0, r5 |
---|
8618 | 9035 | bl log2phys |
---|
8619 | | -.L1269: |
---|
8620 | | - ldr r3, [sp, #20] |
---|
| 9036 | +.L1166: |
---|
| 9037 | + ldr r3, [fp, #-88] |
---|
8621 | 9038 | add r3, r3, #1 |
---|
8622 | | - b .L1361 |
---|
8623 | | -.L1277: |
---|
8624 | | - ldr r1, [r7, #8] |
---|
8625 | | - cmp r5, r1 |
---|
8626 | | - bne .L1278 |
---|
8627 | | - ldr r8, [r7, #4] |
---|
8628 | | - ldr r0, [r4, #3448] |
---|
8629 | | - mov r1, r8 |
---|
8630 | | - bl ftl_cmp_data_ver |
---|
8631 | | - cmp r0, #0 |
---|
8632 | | - beq .L1278 |
---|
8633 | | - ldr r1, [sp, #36] |
---|
8634 | | - ldr r0, [sp, #40] |
---|
8635 | | - cmp r1, r0 |
---|
8636 | | - bne .L1280 |
---|
8637 | | -.L1283: |
---|
8638 | | - ldr r1, [sp, #32] |
---|
8639 | | - mov r0, r5 |
---|
8640 | | - bl FtlReUsePrevPpa |
---|
8641 | | - b .L1278 |
---|
8642 | | -.L1280: |
---|
8643 | | - ldr r0, [sp, #32] |
---|
8644 | | - cmp r1, r0 |
---|
8645 | | - beq .L1278 |
---|
8646 | | - cmn r1, #1 |
---|
8647 | | - streq r1, [r2, r6] |
---|
8648 | | - beq .L1282 |
---|
8649 | | - str r1, [r3, #4] |
---|
8650 | | - mov r2, #0 |
---|
8651 | | - mov r1, #1 |
---|
8652 | | - mov r0, r3 |
---|
8653 | | - ldr r7, [r3, #12] |
---|
8654 | | - bl FlashReadPages |
---|
8655 | | -.L1282: |
---|
8656 | | - ldr r3, [r4, #3288] |
---|
8657 | | - ldr r3, [r3, r6] |
---|
8658 | | - cmn r3, #1 |
---|
8659 | | - beq .L1283 |
---|
| 9039 | + b .L1254 |
---|
| 9040 | +.L1175: |
---|
| 9041 | + ldr r2, [r7, #8] |
---|
| 9042 | + str r2, [fp, #-100] |
---|
| 9043 | + cmp r2, r6 |
---|
| 9044 | + bne .L1176 |
---|
| 9045 | + str r3, [fp, #-104] |
---|
8660 | 9046 | ldr r3, [r7, #4] |
---|
8661 | 9047 | ldr r0, [r4, #3448] |
---|
8662 | 9048 | mov r1, r3 |
---|
| 9049 | + str r3, [fp, #-96] |
---|
8663 | 9050 | bl ftl_cmp_data_ver |
---|
8664 | 9051 | cmp r0, #0 |
---|
8665 | | - beq .L1283 |
---|
8666 | | - mov r1, r3 |
---|
8667 | | - mov r0, r8 |
---|
| 9052 | + beq .L1176 |
---|
| 9053 | + ldr r0, [fp, #-52] |
---|
| 9054 | + ldr r2, [fp, #-56] |
---|
| 9055 | + ldr r1, [fp, #-60] |
---|
| 9056 | + cmp r2, r0 |
---|
| 9057 | + ldr r3, [fp, #-104] |
---|
| 9058 | + ldreq r0, [fp, #-100] |
---|
| 9059 | + beq .L1250 |
---|
| 9060 | + cmp r2, r1 |
---|
| 9061 | + beq .L1176 |
---|
| 9062 | + cmn r2, #1 |
---|
| 9063 | + streq r2, [r8, r5] |
---|
| 9064 | + beq .L1180 |
---|
| 9065 | + str r2, [r3, #4] |
---|
| 9066 | + mov r0, r3 |
---|
| 9067 | + mov r2, #0 |
---|
| 9068 | + mov r1, #1 |
---|
| 9069 | + ldr r7, [r3, #12] |
---|
| 9070 | + bl FlashReadPages |
---|
| 9071 | +.L1180: |
---|
| 9072 | + ldr r3, [r4, #3288] |
---|
| 9073 | + ldr r3, [r3, r5] |
---|
| 9074 | + cmn r3, #1 |
---|
| 9075 | + beq .L1181 |
---|
| 9076 | + ldr r5, [r7, #4] |
---|
| 9077 | + ldr r0, [r4, #3448] |
---|
| 9078 | + mov r1, r5 |
---|
8668 | 9079 | bl ftl_cmp_data_ver |
---|
8669 | 9080 | cmp r0, #0 |
---|
8670 | | - beq .L1278 |
---|
8671 | | - b .L1283 |
---|
8672 | | -.L1275: |
---|
8673 | | - ldr r3, [sp, #40] |
---|
8674 | | - ldr r2, [sp, #36] |
---|
| 9081 | + beq .L1181 |
---|
| 9082 | + ldr r0, [fp, #-96] |
---|
| 9083 | + mov r1, r5 |
---|
| 9084 | + bl ftl_cmp_data_ver |
---|
| 9085 | + cmp r0, #0 |
---|
| 9086 | + beq .L1176 |
---|
| 9087 | +.L1181: |
---|
| 9088 | + ldr r1, [fp, #-60] |
---|
| 9089 | + mov r0, r6 |
---|
| 9090 | +.L1250: |
---|
| 9091 | + bl FtlReUsePrevPpa |
---|
| 9092 | + b .L1176 |
---|
| 9093 | +.L1173: |
---|
| 9094 | + ldrd r2, [fp, #-56] |
---|
8675 | 9095 | cmp r2, r3 |
---|
8676 | | - beq .L1285 |
---|
8677 | | - ldr r1, [sp, #32] |
---|
| 9096 | + beq .L1183 |
---|
| 9097 | + ldr r1, [fp, #-60] |
---|
8678 | 9098 | cmn r1, #1 |
---|
8679 | | - beq .L1287 |
---|
| 9099 | + beq .L1185 |
---|
8680 | 9100 | ldr r3, [r4, #248] |
---|
8681 | 9101 | cmp r3, r1, lsr #10 |
---|
8682 | | - ldrls r0, .L1364+28 |
---|
8683 | | - bls .L1360 |
---|
8684 | | -.L1287: |
---|
| 9102 | + ldrls r0, .L1257+24 |
---|
| 9103 | + bls .L1253 |
---|
| 9104 | +.L1185: |
---|
| 9105 | + sub r1, fp, #52 |
---|
| 9106 | + mov r0, r6 |
---|
8685 | 9107 | mov r2, #1 |
---|
8686 | | - add r1, sp, #40 |
---|
8687 | | - mov r0, r5 |
---|
8688 | 9108 | bl log2phys |
---|
8689 | | - ldr r7, [sp, #36] |
---|
| 9109 | + ldr r7, [fp, #-56] |
---|
8690 | 9110 | cmn r7, #1 |
---|
8691 | | - beq .L1285 |
---|
8692 | | - ldr r3, [sp, #32] |
---|
| 9111 | + beq .L1183 |
---|
| 9112 | + ldr r3, [fp, #-60] |
---|
8693 | 9113 | cmp r7, r3 |
---|
8694 | | - beq .L1299 |
---|
| 9114 | + beq .L1183 |
---|
8695 | 9115 | ubfx r0, r7, #10, #16 |
---|
8696 | 9116 | bl P2V_block_in_plane |
---|
8697 | 9117 | ldrh r3, [r4, #24] |
---|
8698 | 9118 | cmp r3, r0 |
---|
8699 | | - beq .L1290 |
---|
| 9119 | + beq .L1187 |
---|
8700 | 9120 | ldrh r3, [r4, #76] |
---|
8701 | 9121 | cmp r3, r0 |
---|
8702 | | - beq .L1290 |
---|
| 9122 | + beq .L1187 |
---|
8703 | 9123 | ldrh r3, [r4, #124] |
---|
8704 | 9124 | cmp r3, r0 |
---|
8705 | | - bne .L1285 |
---|
8706 | | -.L1290: |
---|
| 9125 | + bne .L1183 |
---|
| 9126 | +.L1187: |
---|
8707 | 9127 | ldr r0, [r4, #3288] |
---|
8708 | 9128 | mov r2, #0 |
---|
8709 | 9129 | mov r1, #1 |
---|
8710 | 9130 | str r7, [r0, #4] |
---|
8711 | | - ldr r6, [r0, #12] |
---|
| 9131 | + ldr r5, [r0, #12] |
---|
8712 | 9132 | bl FlashReadPages |
---|
8713 | 9133 | ldr r3, [r4, #3288] |
---|
8714 | 9134 | ldr r3, [r3] |
---|
8715 | 9135 | cmn r3, #1 |
---|
8716 | | - beq .L1285 |
---|
8717 | | - ldr r1, [r6, #4] |
---|
8718 | | - ldr r0, [sp, #4] |
---|
| 9136 | + beq .L1183 |
---|
| 9137 | + ldr r1, [r5, #4] |
---|
| 9138 | + ldr r0, [fp, #-64] |
---|
8719 | 9139 | bl ftl_cmp_data_ver |
---|
8720 | 9140 | cmp r0, #0 |
---|
8721 | | - bne .L1285 |
---|
| 9141 | + bne .L1183 |
---|
| 9142 | + sub r1, fp, #56 |
---|
| 9143 | + mov r0, r6 |
---|
8722 | 9144 | mov r2, #1 |
---|
8723 | | - add r1, sp, #36 |
---|
8724 | | - mov r0, r5 |
---|
8725 | 9145 | bl log2phys |
---|
8726 | | - b .L1285 |
---|
8727 | | -.L1292: |
---|
8728 | | - ldr r0, .L1364+32 |
---|
| 9146 | + b .L1183 |
---|
| 9147 | +.L1189: |
---|
| 9148 | + ldr r0, .L1257+28 |
---|
8729 | 9149 | mov r1, r5 |
---|
8730 | | -.L1360: |
---|
| 9150 | +.L1253: |
---|
8731 | 9151 | bl sftl_printk |
---|
8732 | | - b .L1269 |
---|
8733 | | -.L1271: |
---|
| 9152 | + b .L1166 |
---|
| 9153 | +.L1168: |
---|
8734 | 9154 | ldr r3, [r4, #3476] |
---|
8735 | 9155 | cmp r3, #31 |
---|
8736 | 9156 | addls r2, r4, r3, lsl #2 |
---|
8737 | 9157 | addls r3, r3, #1 |
---|
8738 | 9158 | strls r3, [r4, #3476] |
---|
8739 | | - strls r5, [r2, #3480] |
---|
8740 | | - ldrh r0, [fp] |
---|
| 9159 | + strls r6, [r2, #3480] |
---|
| 9160 | + ldrh r0, [r10] |
---|
8741 | 9161 | bl decrement_vpc_count |
---|
8742 | 9162 | ldr r3, [r4, #3448] |
---|
8743 | 9163 | cmn r3, #1 |
---|
8744 | | - ldreq r3, [sp, #4] |
---|
8745 | | - beq .L1359 |
---|
8746 | | - ldr r2, [sp, #4] |
---|
8747 | | - cmp r2, r3 |
---|
8748 | | - bcs .L1269 |
---|
| 9164 | + ldreq r3, [fp, #-64] |
---|
| 9165 | + beq .L1252 |
---|
| 9166 | + ldr r2, [fp, #-64] |
---|
| 9167 | + cmp r3, r2 |
---|
| 9168 | + bls .L1166 |
---|
8749 | 9169 | mov r3, r2 |
---|
8750 | | -.L1359: |
---|
| 9170 | +.L1252: |
---|
8751 | 9171 | str r3, [r4, #3448] |
---|
8752 | | - b .L1269 |
---|
8753 | | -.L1270: |
---|
8754 | | - ldrb r3, [sp, #12] @ zero_extendqisi2 |
---|
8755 | | - strh r10, [fp, #2] @ movhi |
---|
8756 | | - ldr r2, [sp, #12] |
---|
8757 | | - strb r3, [fp, #6] |
---|
8758 | | - b .L1363 |
---|
8759 | | -.L1300: |
---|
8760 | | - add sp, sp, #52 |
---|
8761 | | - @ sp needed |
---|
8762 | | - pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} |
---|
8763 | | -.L1365: |
---|
| 9172 | + b .L1166 |
---|
| 9173 | +.L1196: |
---|
| 9174 | + mov r0, #0 |
---|
| 9175 | + sub sp, fp, #40 |
---|
| 9176 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 9177 | +.L1258: |
---|
8764 | 9178 | .align 2 |
---|
8765 | | -.L1364: |
---|
8766 | | - .word __stack_chk_guard |
---|
| 9179 | +.L1257: |
---|
8767 | 9180 | .word .LANCHOR0 |
---|
8768 | 9181 | .word .LANCHOR0+312 |
---|
8769 | | - .word .LANCHOR1+435 |
---|
8770 | | - .word .LC8 |
---|
8771 | 9182 | .word .LANCHOR0+3472 |
---|
8772 | 9183 | .word .LANCHOR0+302 |
---|
| 9184 | + .word .LANCHOR1+435 |
---|
| 9185 | + .word .LC8 |
---|
8773 | 9186 | .word .LC109 |
---|
8774 | 9187 | .word .LC110 |
---|
8775 | | - .fnend |
---|
8776 | 9188 | .size FtlRecoverySuperblock, .-FtlRecoverySuperblock |
---|
| 9189 | + .section .rodata.str1.1 |
---|
| 9190 | +.LC111: |
---|
| 9191 | + .ascii "...%s enter...\012\000" |
---|
| 9192 | +.LC112: |
---|
| 9193 | + .ascii "FtlCheckVpc2 %x = %x %x\012\000" |
---|
| 9194 | +.LC113: |
---|
| 9195 | + .ascii "free blk vpc error %x = %x %x\012\000" |
---|
| 9196 | + .text |
---|
8777 | 9197 | .align 2 |
---|
8778 | 9198 | .global ftl_check_vpc |
---|
8779 | 9199 | .syntax unified |
---|
.. | .. |
---|
8781 | 9201 | .fpu softvfp |
---|
8782 | 9202 | .type ftl_check_vpc, %function |
---|
8783 | 9203 | ftl_check_vpc: |
---|
8784 | | - .fnstart |
---|
8785 | | - @ args = 0, pretend = 0, frame = 16 |
---|
8786 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
8787 | | - push {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
8788 | | - .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
8789 | | - .pad #20 |
---|
8790 | | - sub sp, sp, #20 |
---|
8791 | | - ldr r5, .L1392 |
---|
| 9204 | + @ args = 0, pretend = 0, frame = 8 |
---|
| 9205 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 9206 | + mov ip, sp |
---|
| 9207 | + push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 9208 | + sub fp, ip, #4 |
---|
| 9209 | + sub sp, sp, #12 |
---|
| 9210 | + push {lr} |
---|
| 9211 | + bl __gnu_mcount_nc |
---|
| 9212 | + mov r3, sp |
---|
| 9213 | + ldr r5, .L1284 |
---|
| 9214 | + bic r6, r3, #8128 |
---|
| 9215 | + ldr r1, .L1284+4 |
---|
| 9216 | + bic r6, r6, #63 |
---|
| 9217 | + ldr r0, .L1284+8 |
---|
8792 | 9218 | mov r4, #0 |
---|
8793 | | - ldr r6, .L1392+4 |
---|
8794 | | - ldr r3, [r5] |
---|
8795 | | - ldr r1, .L1392+8 |
---|
8796 | | - ldr r0, .L1392+12 |
---|
8797 | | - ldr r7, .L1392+16 |
---|
8798 | | - str r3, [sp, #12] |
---|
| 9219 | + ldr r3, [r6, #24] |
---|
| 9220 | + str r3, [fp, #-48] |
---|
8799 | 9221 | bl sftl_printk |
---|
| 9222 | + ldr r0, .L1284+12 |
---|
8800 | 9223 | mov r2, #8192 |
---|
8801 | 9224 | mov r1, #0 |
---|
8802 | | - ldr r0, .L1392+16 |
---|
8803 | 9225 | bl ftl_memset |
---|
8804 | | - str r5, [sp, #4] |
---|
8805 | | - mov r5, r6 |
---|
8806 | | -.L1367: |
---|
8807 | | - ldr r3, [r6, #2552] |
---|
8808 | | - cmp r4, r3 |
---|
8809 | | - bcc .L1369 |
---|
8810 | | - ldr r8, .L1392+16 |
---|
| 9226 | +.L1260: |
---|
| 9227 | + ldr r3, [r5, #2552] |
---|
| 9228 | + cmp r3, r4 |
---|
| 9229 | + bhi .L1262 |
---|
| 9230 | + ldr r9, .L1284+12 |
---|
8811 | 9231 | mov r4, #0 |
---|
8812 | | - ldr r10, .L1392+20 |
---|
8813 | | - mov r6, r4 |
---|
8814 | | - movw r9, #65535 |
---|
8815 | | -.L1370: |
---|
| 9232 | + ldr r10, .L1284+16 |
---|
| 9233 | + mov r7, r4 |
---|
| 9234 | +.L1263: |
---|
8816 | 9235 | ldrh r2, [r5, #240] |
---|
8817 | 9236 | uxth r3, r4 |
---|
8818 | 9237 | cmp r2, r3 |
---|
8819 | | - bhi .L1372 |
---|
| 9238 | + bhi .L1265 |
---|
8820 | 9239 | ldr r4, [r5, #2532] |
---|
8821 | 9240 | cmp r4, #0 |
---|
8822 | | - beq .L1373 |
---|
8823 | | - ldr r3, [r5, #2516] |
---|
8824 | | - mov r7, #0 |
---|
| 9241 | + beq .L1266 |
---|
| 9242 | + ldr r1, [r5, #2516] |
---|
| 9243 | + mov r9, #0 |
---|
8825 | 9244 | ldrh r8, [r5, #224] |
---|
8826 | | - mov fp, #6 |
---|
8827 | | - ldr r9, .L1392+16 |
---|
8828 | | - sub r4, r4, r3 |
---|
8829 | | - ldr r3, .L1392+24 |
---|
| 9245 | + sub r4, r4, r1 |
---|
| 9246 | + ldr r1, .L1284+20 |
---|
| 9247 | + ldr r10, .L1284+12 |
---|
8830 | 9248 | asr r4, r4, #1 |
---|
8831 | | - ldr r10, .L1392+28 |
---|
8832 | | - mul r4, r3, r4 |
---|
| 9249 | + ldr r0, .L1284+24 |
---|
| 9250 | + mul r4, r1, r4 |
---|
8833 | 9251 | uxth r4, r4 |
---|
8834 | | -.L1374: |
---|
8835 | | - uxth r3, r7 |
---|
| 9252 | +.L1267: |
---|
| 9253 | + uxth r3, r9 |
---|
8836 | 9254 | cmp r8, r3 |
---|
8837 | | - bls .L1373 |
---|
| 9255 | + bls .L1266 |
---|
8838 | 9256 | ldr r2, [r5, #72] |
---|
8839 | 9257 | lsl r3, r4, #1 |
---|
8840 | 9258 | ldrh r2, [r2, r3] |
---|
8841 | 9259 | cmp r2, #0 |
---|
8842 | | - beq .L1375 |
---|
8843 | | - mov r6, #1 |
---|
8844 | | - ldrh r3, [r9, r3] |
---|
| 9260 | + beq .L1268 |
---|
| 9261 | + ldrh r3, [r10, r3] |
---|
8845 | 9262 | mov r1, r4 |
---|
8846 | | - mov r0, r10 |
---|
8847 | 9263 | bl sftl_printk |
---|
8848 | | -.L1375: |
---|
8849 | | - mul r4, fp, r4 |
---|
8850 | | - ldr r3, [r5, #2516] |
---|
8851 | | - add r7, r7, #1 |
---|
8852 | | - ldrh r4, [r3, r4] |
---|
| 9264 | + ldr r0, .L1284+24 |
---|
| 9265 | + mov r7, #1 |
---|
| 9266 | +.L1268: |
---|
| 9267 | + mov r3, #6 |
---|
| 9268 | + ldr r2, [r5, #2516] |
---|
| 9269 | + add r9, r9, #1 |
---|
| 9270 | + mul r3, r3, r4 |
---|
| 9271 | + ldrh r4, [r2, r3] |
---|
8853 | 9272 | movw r3, #65535 |
---|
8854 | 9273 | cmp r4, r3 |
---|
8855 | | - bne .L1374 |
---|
8856 | | -.L1373: |
---|
8857 | | - cmp r6, #0 |
---|
8858 | | - beq .L1366 |
---|
| 9274 | + bne .L1267 |
---|
| 9275 | +.L1266: |
---|
| 9276 | + cmp r7, #0 |
---|
| 9277 | + beq .L1259 |
---|
| 9278 | + ldr r1, .L1284+4 |
---|
8859 | 9279 | movw r2, #2394 |
---|
8860 | | - ldr r1, .L1392+8 |
---|
8861 | | - ldr r0, .L1392+32 |
---|
| 9280 | + ldr r0, .L1284+28 |
---|
8862 | 9281 | bl sftl_printk |
---|
8863 | | -.L1366: |
---|
8864 | | - ldr r3, [sp, #4] |
---|
8865 | | - ldr r2, [sp, #12] |
---|
8866 | | - ldr r3, [r3] |
---|
| 9282 | +.L1259: |
---|
| 9283 | + ldr r2, [fp, #-48] |
---|
| 9284 | + ldr r3, [r6, #24] |
---|
8867 | 9285 | cmp r2, r3 |
---|
8868 | | - beq .L1378 |
---|
| 9286 | + beq .L1271 |
---|
8869 | 9287 | bl __stack_chk_fail |
---|
8870 | | -.L1369: |
---|
8871 | | - mov r2, #0 |
---|
8872 | | - add r1, sp, #8 |
---|
| 9288 | +.L1262: |
---|
| 9289 | + sub r1, fp, #52 |
---|
8873 | 9290 | mov r0, r4 |
---|
| 9291 | + mov r2, #0 |
---|
8874 | 9292 | bl log2phys |
---|
8875 | | - ldr r0, [sp, #8] |
---|
| 9293 | + ldr r0, [fp, #-52] |
---|
8876 | 9294 | cmn r0, #1 |
---|
8877 | | - beq .L1368 |
---|
| 9295 | + beq .L1261 |
---|
8878 | 9296 | ubfx r0, r0, #10, #16 |
---|
8879 | 9297 | bl P2V_block_in_plane |
---|
| 9298 | + ldr r2, .L1284+12 |
---|
8880 | 9299 | lsl r0, r0, #1 |
---|
8881 | | - ldrh r3, [r7, r0] |
---|
| 9300 | + ldrh r3, [r2, r0] |
---|
8882 | 9301 | add r3, r3, #1 |
---|
8883 | | - strh r3, [r7, r0] @ movhi |
---|
8884 | | -.L1368: |
---|
| 9302 | + strh r3, [r2, r0] @ movhi |
---|
| 9303 | +.L1261: |
---|
8885 | 9304 | add r4, r4, #1 |
---|
8886 | | - b .L1367 |
---|
8887 | | -.L1372: |
---|
| 9305 | + b .L1260 |
---|
| 9306 | +.L1265: |
---|
8888 | 9307 | uxth r1, r4 |
---|
8889 | 9308 | ldr r3, [r5, #72] |
---|
8890 | | - lsl r7, r1, #1 |
---|
8891 | | - ldrh r2, [r3, r7] |
---|
8892 | | - ldrh r3, [r8, r7] |
---|
| 9309 | + lsl r8, r1, #1 |
---|
| 9310 | + ldrh r2, [r3, r8] |
---|
| 9311 | + ldrh r3, [r9, r8] |
---|
8893 | 9312 | cmp r2, r3 |
---|
8894 | | - beq .L1371 |
---|
| 9313 | + beq .L1264 |
---|
8895 | 9314 | mov r0, r10 |
---|
8896 | 9315 | bl sftl_printk |
---|
8897 | 9316 | ldr r3, [r5, #72] |
---|
8898 | | - ldrh r3, [r3, r7] |
---|
8899 | | - cmp r3, r9 |
---|
8900 | | - beq .L1371 |
---|
8901 | | - ldrh r2, [r8, r7] |
---|
| 9317 | + movw r2, #65535 |
---|
| 9318 | + ldrh r3, [r3, r8] |
---|
| 9319 | + cmp r3, r2 |
---|
| 9320 | + beq .L1264 |
---|
| 9321 | + ldrh r2, [r9, r8] |
---|
8902 | 9322 | cmp r2, r3 |
---|
8903 | | - movhi r6, #1 |
---|
8904 | | -.L1371: |
---|
| 9323 | + movhi r7, #1 |
---|
| 9324 | +.L1264: |
---|
8905 | 9325 | add r4, r4, #1 |
---|
8906 | | - b .L1370 |
---|
8907 | | -.L1378: |
---|
8908 | | - add sp, sp, #20 |
---|
8909 | | - @ sp needed |
---|
8910 | | - pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} |
---|
8911 | | -.L1393: |
---|
| 9326 | + b .L1263 |
---|
| 9327 | +.L1271: |
---|
| 9328 | + sub sp, fp, #40 |
---|
| 9329 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 9330 | +.L1285: |
---|
8912 | 9331 | .align 2 |
---|
8913 | | -.L1392: |
---|
8914 | | - .word __stack_chk_guard |
---|
| 9332 | +.L1284: |
---|
8915 | 9333 | .word .LANCHOR0 |
---|
8916 | 9334 | .word .LANCHOR1+457 |
---|
8917 | 9335 | .word .LC111 |
---|
.. | .. |
---|
8920 | 9338 | .word -1431655765 |
---|
8921 | 9339 | .word .LC113 |
---|
8922 | 9340 | .word .LC8 |
---|
8923 | | - .fnend |
---|
8924 | 9341 | .size ftl_check_vpc, .-ftl_check_vpc |
---|
| 9342 | + .section .rodata.str1.1 |
---|
| 9343 | +.LC114: |
---|
| 9344 | + .ascii "ftl_scan_all_data = %x\012\000" |
---|
| 9345 | +.LC115: |
---|
| 9346 | + .ascii "scan lpa = %x ppa= %x\012\000" |
---|
| 9347 | +.LC116: |
---|
| 9348 | + .ascii "lpa = %x,addr= %x,spare= %x %x %x %x data=%x %x\012" |
---|
| 9349 | + .ascii "\000" |
---|
| 9350 | + .text |
---|
8925 | 9351 | .align 2 |
---|
8926 | 9352 | .global ftl_scan_all_data |
---|
8927 | 9353 | .syntax unified |
---|
.. | .. |
---|
8929 | 9355 | .fpu softvfp |
---|
8930 | 9356 | .type ftl_scan_all_data, %function |
---|
8931 | 9357 | ftl_scan_all_data: |
---|
8932 | | - .fnstart |
---|
8933 | 9358 | @ args = 0, pretend = 0, frame = 8 |
---|
8934 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
8935 | | - push {r4, r5, r6, r7, r8, r9, lr} |
---|
8936 | | - .save {r4, r5, r6, r7, r8, r9, lr} |
---|
| 9359 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 9360 | + mov ip, sp |
---|
| 9361 | + push {r4, r5, r6, r7, fp, ip, lr, pc} |
---|
| 9362 | + sub fp, ip, #4 |
---|
| 9363 | + sub sp, sp, #32 |
---|
| 9364 | + push {lr} |
---|
| 9365 | + bl __gnu_mcount_nc |
---|
| 9366 | + mov r3, sp |
---|
| 9367 | + ldr r4, .L1295 |
---|
| 9368 | + bic r6, r3, #8128 |
---|
8937 | 9369 | mov r5, #0 |
---|
8938 | | - ldr r6, .L1404 |
---|
8939 | | - .pad #36 |
---|
8940 | | - sub sp, sp, #36 |
---|
| 9370 | + bic r6, r6, #63 |
---|
| 9371 | + ldr r0, .L1295+4 |
---|
8941 | 9372 | mov r1, #0 |
---|
8942 | | - ldr r7, .L1404+4 |
---|
8943 | | - ldr r9, .L1404+8 |
---|
8944 | | - ldr r3, [r6] |
---|
8945 | | - mov r4, r7 |
---|
8946 | | - ldr r0, .L1404+12 |
---|
8947 | | - str r3, [sp, #28] |
---|
| 9373 | + ldr r3, [r6, #24] |
---|
| 9374 | + str r3, [fp, #-32] |
---|
8948 | 9375 | bl sftl_printk |
---|
8949 | | -.L1395: |
---|
8950 | | - ldr r3, [r7, #2552] |
---|
8951 | | - cmp r5, r3 |
---|
8952 | | - bcc .L1401 |
---|
8953 | | - ldr r2, [sp, #28] |
---|
8954 | | - ldr r3, [r6] |
---|
| 9376 | +.L1287: |
---|
| 9377 | + ldr r3, [r4, #2552] |
---|
| 9378 | + cmp r3, r5 |
---|
| 9379 | + bhi .L1293 |
---|
| 9380 | + ldr r2, [fp, #-32] |
---|
| 9381 | + ldr r3, [r6, #24] |
---|
8955 | 9382 | cmp r2, r3 |
---|
8956 | | - beq .L1402 |
---|
| 9383 | + beq .L1294 |
---|
8957 | 9384 | bl __stack_chk_fail |
---|
8958 | | -.L1401: |
---|
8959 | | - mov r2, #0 |
---|
8960 | | - add r1, sp, #24 |
---|
| 9385 | +.L1293: |
---|
| 9386 | + sub r1, fp, #36 |
---|
8961 | 9387 | mov r0, r5 |
---|
| 9388 | + mov r2, #0 |
---|
8962 | 9389 | bl log2phys |
---|
8963 | 9390 | ubfx r3, r5, #0, #11 |
---|
8964 | 9391 | cmp r3, #0 |
---|
8965 | | - bne .L1396 |
---|
8966 | | - ldr r2, [sp, #24] |
---|
| 9392 | + bne .L1288 |
---|
| 9393 | + ldr r2, [fp, #-36] |
---|
8967 | 9394 | mov r1, r5 |
---|
8968 | | - mov r0, r9 |
---|
| 9395 | + ldr r0, .L1295+8 |
---|
8969 | 9396 | bl sftl_printk |
---|
8970 | | -.L1396: |
---|
8971 | | - ldr r3, [sp, #24] |
---|
| 9397 | +.L1288: |
---|
| 9398 | + ldr r3, [fp, #-36] |
---|
8972 | 9399 | cmn r3, #1 |
---|
8973 | | - beq .L1398 |
---|
8974 | | - str r3, [r4, #3456] |
---|
| 9400 | + beq .L1290 |
---|
| 9401 | + ldr r7, [r4, #3332] |
---|
8975 | 9402 | mov r2, #0 |
---|
8976 | | - ldr r3, [r4, #3300] |
---|
| 9403 | + str r3, [r4, #3456] |
---|
8977 | 9404 | mov r1, #1 |
---|
8978 | | - ldr r8, [r4, #3332] |
---|
8979 | | - ldr r0, .L1404+16 |
---|
| 9405 | + ldr r3, [r4, #3300] |
---|
| 9406 | + ldr r0, .L1295+12 |
---|
8980 | 9407 | str r3, [r4, #3460] |
---|
8981 | 9408 | str r5, [r4, #3468] |
---|
8982 | | - str r8, [r4, #3464] |
---|
| 9409 | + str r7, [r4, #3464] |
---|
8983 | 9410 | str r2, [r4, #3452] |
---|
8984 | 9411 | bl FlashReadPages |
---|
8985 | 9412 | ldr r3, [r4, #3452] |
---|
8986 | 9413 | cmn r3, #1 |
---|
8987 | 9414 | cmpne r3, #256 |
---|
8988 | | - beq .L1399 |
---|
8989 | | - ldr r3, [r8, #8] |
---|
8990 | | - cmp r5, r3 |
---|
8991 | | - beq .L1398 |
---|
8992 | | -.L1399: |
---|
| 9415 | + beq .L1291 |
---|
| 9416 | + ldr r3, [r7, #8] |
---|
| 9417 | + cmp r3, r5 |
---|
| 9418 | + beq .L1290 |
---|
| 9419 | +.L1291: |
---|
8993 | 9420 | ldr r2, [r4, #3460] |
---|
8994 | 9421 | ldr r3, [r4, #3464] |
---|
8995 | | - ldr r0, .L1404+20 |
---|
| 9422 | + ldr r0, .L1295+16 |
---|
8996 | 9423 | ldr r1, [r2, #4] |
---|
8997 | 9424 | str r1, [sp, #16] |
---|
8998 | 9425 | mov r1, r5 |
---|
.. | .. |
---|
9004 | 9431 | str r2, [sp, #4] |
---|
9005 | 9432 | ldr r2, [r3, #4] |
---|
9006 | 9433 | str r2, [sp] |
---|
9007 | | - ldr r3, [r3] |
---|
9008 | 9434 | ldr r2, [r4, #3456] |
---|
| 9435 | + ldr r3, [r3] |
---|
9009 | 9436 | bl sftl_printk |
---|
9010 | | -.L1398: |
---|
| 9437 | +.L1290: |
---|
9011 | 9438 | add r5, r5, #1 |
---|
9012 | | - b .L1395 |
---|
9013 | | -.L1402: |
---|
9014 | | - add sp, sp, #36 |
---|
9015 | | - @ sp needed |
---|
9016 | | - pop {r4, r5, r6, r7, r8, r9, pc} |
---|
9017 | | -.L1405: |
---|
| 9439 | + b .L1287 |
---|
| 9440 | +.L1294: |
---|
| 9441 | + sub sp, fp, #28 |
---|
| 9442 | + ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} |
---|
| 9443 | +.L1296: |
---|
9018 | 9444 | .align 2 |
---|
9019 | | -.L1404: |
---|
9020 | | - .word __stack_chk_guard |
---|
| 9445 | +.L1295: |
---|
9021 | 9446 | .word .LANCHOR0 |
---|
9022 | | - .word .LC115 |
---|
9023 | 9447 | .word .LC114 |
---|
| 9448 | + .word .LC115 |
---|
9024 | 9449 | .word .LANCHOR0+3452 |
---|
9025 | 9450 | .word .LC116 |
---|
9026 | | - .fnend |
---|
9027 | 9451 | .size ftl_scan_all_data, .-ftl_scan_all_data |
---|
| 9452 | + .section .rodata.str1.1 |
---|
| 9453 | +.LC117: |
---|
| 9454 | + .ascii "FtlGcScanTempBlk Error ID %x %x!!!!!!! \012\000" |
---|
| 9455 | + .text |
---|
9028 | 9456 | .align 2 |
---|
9029 | 9457 | .global FtlGcScanTempBlk |
---|
9030 | 9458 | .syntax unified |
---|
.. | .. |
---|
9032 | 9460 | .fpu softvfp |
---|
9033 | 9461 | .type FtlGcScanTempBlk, %function |
---|
9034 | 9462 | FtlGcScanTempBlk: |
---|
9035 | | - .fnstart |
---|
9036 | 9463 | @ args = 0, pretend = 0, frame = 56 |
---|
9037 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
9038 | | - ldr r3, .L1440 |
---|
9039 | | - push {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
9040 | | - .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
9041 | | - .pad #60 |
---|
| 9464 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 9465 | + mov ip, sp |
---|
| 9466 | + push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 9467 | + sub fp, ip, #4 |
---|
9042 | 9468 | sub sp, sp, #60 |
---|
| 9469 | + push {lr} |
---|
| 9470 | + bl __gnu_mcount_nc |
---|
| 9471 | + mov r3, sp |
---|
9043 | 9472 | mov r4, r0 |
---|
9044 | | - str r1, [sp, #12] |
---|
9045 | | - ldr r3, [r3] |
---|
9046 | | - str r3, [sp, #52] |
---|
9047 | | - ldr r3, .L1440+4 |
---|
| 9473 | + bic r3, r3, #8128 |
---|
| 9474 | + str r1, [fp, #-84] |
---|
| 9475 | + bic r3, r3, #63 |
---|
| 9476 | + ldr r3, [r3, #24] |
---|
| 9477 | + str r3, [fp, #-48] |
---|
| 9478 | + ldr r3, .L1329 |
---|
9048 | 9479 | ldrh r5, [r3, #4] |
---|
9049 | 9480 | movw r3, #65535 |
---|
9050 | 9481 | cmp r5, r3 |
---|
9051 | | - beq .L1432 |
---|
| 9482 | + beq .L1322 |
---|
9052 | 9483 | cmp r5, #0 |
---|
9053 | | - bne .L1407 |
---|
9054 | | -.L1408: |
---|
9055 | | - bl FtlGcPageVarInit |
---|
9056 | | - b .L1409 |
---|
9057 | | -.L1432: |
---|
9058 | | - mov r5, #0 |
---|
9059 | | -.L1407: |
---|
9060 | | - ldr r2, .L1440+8 |
---|
| 9484 | + beq .L1299 |
---|
| 9485 | +.L1298: |
---|
| 9486 | + ldr r2, .L1329+4 |
---|
9061 | 9487 | movw r3, #302 |
---|
9062 | 9488 | ldrh r3, [r2, r3] |
---|
9063 | | - ldr r2, [sp, #12] |
---|
| 9489 | + ldr r2, [fp, #-84] |
---|
9064 | 9490 | cmp r3, r2 |
---|
9065 | | - beq .L1408 |
---|
9066 | | -.L1409: |
---|
9067 | | - ldr r6, .L1440+8 |
---|
| 9491 | + bne .L1300 |
---|
| 9492 | +.L1299: |
---|
| 9493 | + bl FtlGcPageVarInit |
---|
| 9494 | +.L1300: |
---|
| 9495 | + ldr r6, .L1329+4 |
---|
9068 | 9496 | mov r3, #0 |
---|
9069 | | - str r3, [sp, #4] |
---|
9070 | | -.L1425: |
---|
| 9497 | + str r3, [fp, #-80] |
---|
| 9498 | +.L1317: |
---|
9071 | 9499 | ldrh r2, [r4] |
---|
9072 | 9500 | mov r3, #0 |
---|
9073 | 9501 | strb r3, [r4, #8] |
---|
9074 | 9502 | movw r3, #65535 |
---|
9075 | 9503 | cmp r2, r3 |
---|
9076 | | - beq .L1410 |
---|
9077 | | -.L1428: |
---|
9078 | | - ldrh r3, [r6, #232] |
---|
9079 | | - mov r2, #0 |
---|
9080 | | - ldr r0, [r6, #3288] |
---|
9081 | | - add ip, r4, #16 |
---|
9082 | | - ldr fp, [r6, #3180] |
---|
9083 | | - mov r8, r2 |
---|
9084 | | - str r3, [sp, #8] |
---|
9085 | | - movw r7, #65535 |
---|
| 9504 | + beq .L1301 |
---|
| 9505 | +.L1302: |
---|
9086 | 9506 | ldr r3, [r6, #3176] |
---|
9087 | | - mov r9, #20 |
---|
9088 | | - str r3, [sp, #16] |
---|
9089 | | - ldr r3, .L1440+12 |
---|
9090 | | - ldrh r3, [r3] |
---|
9091 | | - str r3, [sp, #20] |
---|
9092 | | - ldr r3, .L1440+16 |
---|
9093 | | - ldrh lr, [r3] |
---|
9094 | | -.L1411: |
---|
9095 | | - ldr r1, [sp, #8] |
---|
9096 | | - uxth r3, r2 |
---|
9097 | | - cmp r1, r3 |
---|
9098 | | - bhi .L1413 |
---|
9099 | | - mov r10, #0 |
---|
9100 | | - mov r2, #0 |
---|
9101 | | - mov r1, r8 |
---|
9102 | | - bl FlashReadPages |
---|
9103 | | -.L1414: |
---|
9104 | | - uxth r3, r10 |
---|
9105 | | - cmp r8, r3 |
---|
9106 | | - bhi .L1426 |
---|
9107 | | - ldr r3, [sp, #4] |
---|
9108 | | - add r5, r5, #1 |
---|
9109 | | - uxth r5, r5 |
---|
9110 | | - add r3, r3, #1 |
---|
9111 | | - str r3, [sp, #4] |
---|
9112 | | - ldr r2, [sp, #4] |
---|
9113 | | - ldr r3, [sp, #12] |
---|
| 9507 | + mov r7, #0 |
---|
| 9508 | + str r3, [fp, #-88] |
---|
| 9509 | + movw lr, #65535 |
---|
| 9510 | + ldr r3, .L1329+8 |
---|
| 9511 | + mov r8, #20 |
---|
| 9512 | + ldr r0, [r6, #3288] |
---|
| 9513 | + ldr r10, [r6, #3180] |
---|
| 9514 | + ldrh r2, [r3] |
---|
| 9515 | + ldrh r9, [r3, #2] |
---|
| 9516 | + ldrh r3, [r6, #232] |
---|
| 9517 | + str r2, [fp, #-92] |
---|
| 9518 | + add r2, r4, #16 |
---|
| 9519 | + add r3, r4, r3, lsl #1 |
---|
| 9520 | + add r3, r3, #16 |
---|
| 9521 | + str r3, [fp, #-96] |
---|
| 9522 | +.L1303: |
---|
| 9523 | + ldr r3, [fp, #-96] |
---|
9114 | 9524 | cmp r3, r2 |
---|
9115 | | - ldr r2, .L1440+20 |
---|
9116 | | - bls .L1427 |
---|
9117 | | -.L1429: |
---|
9118 | | - ldrh r3, [r2] |
---|
9119 | | - cmp r3, r5 |
---|
9120 | | - bhi .L1428 |
---|
9121 | | -.L1410: |
---|
9122 | | - ldr r3, .L1440+4 |
---|
9123 | | - mvn r2, #0 |
---|
9124 | | - strh r5, [r4, #2] @ movhi |
---|
9125 | | - mov r1, r5 |
---|
9126 | | - mov r0, r4 |
---|
9127 | | - strh r2, [r3, #4] @ movhi |
---|
| 9525 | + bne .L1305 |
---|
| 9526 | + mov r10, #0 |
---|
| 9527 | + mov r1, r7 |
---|
9128 | 9528 | mov r2, #0 |
---|
9129 | | - strb r2, [r4, #6] |
---|
9130 | | - bl ftl_sb_update_avl_pages |
---|
9131 | | - b .L1430 |
---|
9132 | | -.L1413: |
---|
9133 | | - ldrh r3, [ip], #2 |
---|
9134 | | - cmp r3, r7 |
---|
9135 | | - beq .L1412 |
---|
9136 | | - mla r1, r9, r8, r0 |
---|
| 9529 | + bl FlashReadPages |
---|
| 9530 | +.L1306: |
---|
| 9531 | + uxth r3, r10 |
---|
| 9532 | + cmp r7, r3 |
---|
| 9533 | + bhi .L1318 |
---|
| 9534 | + ldr r3, [fp, #-80] |
---|
| 9535 | + add r5, r5, #1 |
---|
| 9536 | + add r3, r3, #1 |
---|
| 9537 | + str r3, [fp, #-80] |
---|
| 9538 | + ldr r2, [fp, #-80] |
---|
| 9539 | + uxth r5, r5 |
---|
| 9540 | + ldr r3, [fp, #-84] |
---|
| 9541 | + cmp r3, r2 |
---|
| 9542 | + bhi .L1319 |
---|
| 9543 | + ldr r2, .L1329 |
---|
| 9544 | + movw r1, #65535 |
---|
| 9545 | + ldrh r3, [r2, #4] |
---|
| 9546 | + cmp r3, r1 |
---|
| 9547 | + beq .L1319 |
---|
| 9548 | + ldr r1, [fp, #-80] |
---|
| 9549 | + add r3, r3, r1 |
---|
| 9550 | + strh r3, [r2, #4] @ movhi |
---|
| 9551 | + ldr r2, .L1329+4 |
---|
| 9552 | + movw r3, #302 |
---|
| 9553 | + ldrh r3, [r2, r3] |
---|
| 9554 | + cmp r3, r5 |
---|
| 9555 | + bls .L1301 |
---|
| 9556 | +.L1320: |
---|
| 9557 | + mov r3, sp |
---|
| 9558 | + ldr r2, [fp, #-48] |
---|
| 9559 | + bic r3, r3, #8128 |
---|
| 9560 | + bic r3, r3, #63 |
---|
| 9561 | + ldr r3, [r3, #24] |
---|
| 9562 | + cmp r2, r3 |
---|
| 9563 | + beq .L1321 |
---|
| 9564 | + bl __stack_chk_fail |
---|
| 9565 | +.L1322: |
---|
| 9566 | + mov r5, #0 |
---|
| 9567 | + b .L1298 |
---|
| 9568 | +.L1305: |
---|
| 9569 | + ldrh r3, [r2], #2 |
---|
| 9570 | + cmp r3, lr |
---|
| 9571 | + beq .L1303 |
---|
| 9572 | + mla r1, r8, r7, r0 |
---|
9137 | 9573 | orr r3, r5, r3, lsl #10 |
---|
9138 | 9574 | str r3, [r1, #4] |
---|
9139 | | - ldr r3, [sp, #20] |
---|
9140 | | - mul r3, r3, r8 |
---|
9141 | | - add r10, r3, #3 |
---|
9142 | | - cmp r3, #0 |
---|
9143 | | - movlt r3, r10 |
---|
9144 | | - ldr r10, [sp, #16] |
---|
| 9575 | + ldr r3, [fp, #-92] |
---|
| 9576 | + mul ip, r3, r7 |
---|
| 9577 | + cmp ip, #0 |
---|
| 9578 | + add r3, ip, #3 |
---|
| 9579 | + movge r3, ip |
---|
| 9580 | + ldr ip, [fp, #-88] |
---|
| 9581 | + bic r3, r3, #3 |
---|
| 9582 | + add r3, ip, r3 |
---|
| 9583 | + mul ip, r9, r7 |
---|
| 9584 | + str r3, [r1, #8] |
---|
| 9585 | + add r7, r7, #1 |
---|
| 9586 | + cmp ip, #0 |
---|
| 9587 | + add r3, ip, #3 |
---|
| 9588 | + movge r3, ip |
---|
| 9589 | + uxth r7, r7 |
---|
9145 | 9590 | bic r3, r3, #3 |
---|
9146 | 9591 | add r3, r10, r3 |
---|
9147 | | - str r3, [r1, #8] |
---|
9148 | | - mul r3, lr, r8 |
---|
9149 | | - add r8, r8, #1 |
---|
9150 | | - uxth r8, r8 |
---|
9151 | | - add r10, r3, #3 |
---|
9152 | | - cmp r3, #0 |
---|
9153 | | - movlt r3, r10 |
---|
9154 | | - bic r3, r3, #3 |
---|
9155 | | - add r3, fp, r3 |
---|
9156 | 9592 | str r3, [r1, #12] |
---|
9157 | | -.L1412: |
---|
9158 | | - add r2, r2, #1 |
---|
9159 | | - b .L1411 |
---|
9160 | | -.L1426: |
---|
9161 | | - mov r3, #20 |
---|
| 9593 | + b .L1303 |
---|
| 9594 | +.L1318: |
---|
| 9595 | + mov r9, #20 |
---|
9162 | 9596 | ldr r2, [r6, #3288] |
---|
9163 | | - mul fp, r3, r10 |
---|
9164 | | - ldr r7, [r2, fp] |
---|
9165 | | - add r1, r2, fp |
---|
| 9597 | + mul r9, r9, r10 |
---|
| 9598 | + add r1, r2, r9 |
---|
| 9599 | + ldr r2, [r2, r9] |
---|
9166 | 9600 | ldr r3, [r1, #4] |
---|
9167 | | - ldr r9, [r1, #12] |
---|
9168 | | - cmp r7, #0 |
---|
9169 | | - str r3, [sp, #8] |
---|
9170 | | - bne .L1415 |
---|
9171 | | - ldrh r1, [r9] |
---|
9172 | | - movw r2, #65535 |
---|
9173 | | - cmp r1, r2 |
---|
9174 | | - bne .L1416 |
---|
9175 | | -.L1438: |
---|
| 9601 | + ldr r8, [r1, #12] |
---|
| 9602 | + cmp r2, #0 |
---|
| 9603 | + bne .L1307 |
---|
| 9604 | + ldrh r0, [r8] |
---|
| 9605 | + movw r1, #65535 |
---|
| 9606 | + cmp r0, r1 |
---|
| 9607 | + beq .L1327 |
---|
| 9608 | + ldr r0, [r8, #8] |
---|
| 9609 | + ldr r1, [r6, #2552] |
---|
| 9610 | + cmp r0, r1 |
---|
| 9611 | + bls .L1309 |
---|
| 9612 | +.L1327: |
---|
9176 | 9613 | ldrh r3, [r4] |
---|
9177 | 9614 | mov r1, #0 |
---|
9178 | 9615 | ldr r2, [r6, #72] |
---|
.. | .. |
---|
9185 | 9622 | strh r3, [r4] @ movhi |
---|
9186 | 9623 | strh r3, [r6, #172] @ movhi |
---|
9187 | 9624 | bl FtlGcPageVarInit |
---|
9188 | | - b .L1425 |
---|
9189 | | -.L1416: |
---|
9190 | | - ldr r0, [r9, #8] |
---|
9191 | | - ldr r2, [r6, #2552] |
---|
9192 | | - cmp r0, r2 |
---|
9193 | | - bhi .L1438 |
---|
9194 | | - mov r2, r7 |
---|
9195 | | - add r1, sp, #28 |
---|
| 9625 | + b .L1317 |
---|
| 9626 | +.L1309: |
---|
| 9627 | + sub r1, fp, #72 |
---|
| 9628 | + str r3, [fp, #-92] |
---|
| 9629 | + str r2, [fp, #-88] |
---|
9196 | 9630 | bl log2phys |
---|
9197 | | - ldr r2, [r9, #12] |
---|
9198 | | - ldr r1, [sp, #28] |
---|
9199 | | - sub r0, r2, r1 |
---|
9200 | | - cmn r1, #1 |
---|
9201 | | - clz r0, r0 |
---|
9202 | | - lsr r0, r0, #5 |
---|
9203 | | - moveq r0, #0 |
---|
9204 | | - cmp r0, #0 |
---|
9205 | | - bne .L1419 |
---|
9206 | | -.L1424: |
---|
9207 | | - ldr r2, [r9, #8] |
---|
9208 | | -.L1439: |
---|
9209 | | - ldr r1, [sp, #8] |
---|
| 9631 | + ldr r0, [fp, #-72] |
---|
| 9632 | + ldr r1, [r8, #12] |
---|
| 9633 | + cmn r0, #1 |
---|
| 9634 | + ldr r2, [fp, #-88] |
---|
| 9635 | + sub ip, r1, r0 |
---|
| 9636 | + ldr r3, [fp, #-92] |
---|
| 9637 | + clz ip, ip |
---|
| 9638 | + lsr ip, ip, #5 |
---|
| 9639 | + moveq ip, #0 |
---|
| 9640 | + cmp ip, #0 |
---|
| 9641 | + bne .L1311 |
---|
| 9642 | +.L1316: |
---|
| 9643 | + ldr r2, [r8, #8] |
---|
| 9644 | +.L1328: |
---|
| 9645 | + ldr r0, [r8, #12] |
---|
| 9646 | + mov r1, r3 |
---|
9210 | 9647 | add r10, r10, #1 |
---|
9211 | | - ldr r0, [r9, #12] |
---|
9212 | 9648 | bl FtlGcUpdatePage |
---|
9213 | | - b .L1414 |
---|
9214 | | -.L1419: |
---|
9215 | | - str r2, [sp, #36] |
---|
| 9649 | + b .L1306 |
---|
| 9650 | +.L1311: |
---|
| 9651 | + str r1, [fp, #-64] |
---|
| 9652 | + sub r0, fp, #68 |
---|
| 9653 | + ldr r1, [r6, #3316] |
---|
| 9654 | + str r1, [fp, #-60] |
---|
| 9655 | + ldr r1, [r6, #3336] |
---|
| 9656 | + str r1, [fp, #-56] |
---|
9216 | 9657 | mov r1, #1 |
---|
9217 | | - ldr r2, [r6, #3316] |
---|
9218 | | - add r0, sp, #32 |
---|
9219 | | - str r2, [sp, #40] |
---|
9220 | | - ldr r2, [r6, #3336] |
---|
9221 | | - str r2, [sp, #44] |
---|
9222 | | - mov r2, r7 |
---|
| 9658 | + str r3, [fp, #-92] |
---|
| 9659 | + str r2, [fp, #-88] |
---|
9223 | 9660 | bl FlashReadPages |
---|
9224 | | - ldr r3, .L1440+24 |
---|
9225 | | - ldr r1, [r6, #3288] |
---|
9226 | | - ldrh r2, [r3] |
---|
9227 | | - add r3, r1, fp |
---|
9228 | | - ldr r1, [sp, #40] |
---|
9229 | | - lsl r2, r2, #7 |
---|
9230 | | -.L1421: |
---|
9231 | | - cmp r7, r2 |
---|
9232 | | - beq .L1424 |
---|
9233 | | - ldr r0, [r3, #8] |
---|
9234 | | - ldr ip, [r0, r7, lsl #2] |
---|
9235 | | - ldr r0, [r1, r7, lsl #2] |
---|
9236 | | - cmp ip, r0 |
---|
9237 | | - beq .L1422 |
---|
9238 | | - ldr r2, [sp, #36] |
---|
| 9661 | + ldr r1, .L1329+12 |
---|
| 9662 | + ldr r0, [r6, #3288] |
---|
| 9663 | + ldr r2, [fp, #-88] |
---|
| 9664 | + add r9, r0, r9 |
---|
| 9665 | + ldr r3, [fp, #-92] |
---|
| 9666 | + ldrh r1, [r1] |
---|
| 9667 | + ldr r0, [fp, #-60] |
---|
| 9668 | + lsl r1, r1, #7 |
---|
| 9669 | +.L1313: |
---|
| 9670 | + cmp r1, r2 |
---|
| 9671 | + beq .L1316 |
---|
| 9672 | + ldr ip, [r9, #8] |
---|
| 9673 | + ldr lr, [ip, r2, lsl #2] |
---|
| 9674 | + ldr ip, [r0, r2, lsl #2] |
---|
| 9675 | + cmp lr, ip |
---|
| 9676 | + beq .L1314 |
---|
| 9677 | + ldr r2, [fp, #-64] |
---|
9239 | 9678 | ldrh r1, [r4] |
---|
9240 | | - ldr r0, .L1440+28 |
---|
| 9679 | + ldr r0, .L1329+16 |
---|
9241 | 9680 | bl sftl_printk |
---|
9242 | | - b .L1438 |
---|
9243 | | -.L1422: |
---|
9244 | | - add r7, r7, #1 |
---|
9245 | | - b .L1421 |
---|
9246 | | -.L1415: |
---|
| 9681 | + b .L1327 |
---|
| 9682 | +.L1314: |
---|
| 9683 | + add r2, r2, #1 |
---|
| 9684 | + b .L1313 |
---|
| 9685 | +.L1307: |
---|
9247 | 9686 | mvn r2, #0 |
---|
9248 | | - b .L1439 |
---|
9249 | | -.L1427: |
---|
9250 | | - ldr r1, .L1440+4 |
---|
9251 | | - movw r0, #65535 |
---|
9252 | | - ldrh r3, [r1, #4] |
---|
9253 | | - cmp r3, r0 |
---|
9254 | | - beq .L1429 |
---|
9255 | | - ldr r0, [sp, #4] |
---|
9256 | | - add r3, r3, r0 |
---|
9257 | | - strh r3, [r1, #4] @ movhi |
---|
9258 | | - ldrh r3, [r2] |
---|
| 9687 | + b .L1328 |
---|
| 9688 | +.L1319: |
---|
| 9689 | + ldr r3, .L1329+20 |
---|
| 9690 | + ldrh r3, [r3] |
---|
9259 | 9691 | cmp r3, r5 |
---|
9260 | | - bls .L1429 |
---|
9261 | | -.L1430: |
---|
9262 | | - ldr r3, .L1440 |
---|
| 9692 | + bhi .L1302 |
---|
| 9693 | +.L1301: |
---|
| 9694 | + ldr r3, .L1329 |
---|
| 9695 | + mvn r2, #0 |
---|
| 9696 | + mov r1, r5 |
---|
| 9697 | + mov r0, r4 |
---|
| 9698 | + strh r5, [r4, #2] @ movhi |
---|
| 9699 | + strh r2, [r3, #4] @ movhi |
---|
| 9700 | + mov r2, #0 |
---|
| 9701 | + strb r2, [r4, #6] |
---|
| 9702 | + bl ftl_sb_update_avl_pages |
---|
| 9703 | + b .L1320 |
---|
| 9704 | +.L1321: |
---|
9263 | 9705 | mvn r0, #0 |
---|
9264 | | - ldr r2, [sp, #52] |
---|
9265 | | - ldr r3, [r3] |
---|
9266 | | - cmp r2, r3 |
---|
9267 | | - beq .L1431 |
---|
9268 | | - bl __stack_chk_fail |
---|
9269 | | -.L1431: |
---|
9270 | | - add sp, sp, #60 |
---|
9271 | | - @ sp needed |
---|
9272 | | - pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} |
---|
9273 | | -.L1441: |
---|
| 9706 | + sub sp, fp, #40 |
---|
| 9707 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 9708 | +.L1330: |
---|
9274 | 9709 | .align 2 |
---|
9275 | | -.L1440: |
---|
9276 | | - .word __stack_chk_guard |
---|
| 9710 | +.L1329: |
---|
9277 | 9711 | .word .LANCHOR2 |
---|
9278 | 9712 | .word .LANCHOR0 |
---|
9279 | 9713 | .word .LANCHOR0+310 |
---|
9280 | | - .word .LANCHOR0+312 |
---|
9281 | | - .word .LANCHOR0+302 |
---|
9282 | 9714 | .word .LANCHOR0+258 |
---|
9283 | 9715 | .word .LC117 |
---|
9284 | | - .fnend |
---|
| 9716 | + .word .LANCHOR0+302 |
---|
9285 | 9717 | .size FtlGcScanTempBlk, .-FtlGcScanTempBlk |
---|
9286 | 9718 | .align 2 |
---|
9287 | 9719 | .global FtlReadRefresh |
---|
.. | .. |
---|
9290 | 9722 | .fpu softvfp |
---|
9291 | 9723 | .type FtlReadRefresh, %function |
---|
9292 | 9724 | FtlReadRefresh: |
---|
9293 | | - .fnstart |
---|
9294 | 9725 | @ args = 0, pretend = 0, frame = 96 |
---|
9295 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
9296 | | - push {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
9297 | | - .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
9298 | | - .pad #100 |
---|
| 9726 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 9727 | + mov ip, sp |
---|
| 9728 | + push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 9729 | + sub fp, ip, #4 |
---|
9299 | 9730 | sub sp, sp, #100 |
---|
9300 | | - ldr r6, .L1460 |
---|
9301 | | - ldr r7, .L1460+4 |
---|
9302 | | - ldr r10, [r6, #2720] |
---|
9303 | | - mov r5, r6 |
---|
9304 | | - ldr r3, [r7] |
---|
9305 | | - cmp r10, #0 |
---|
9306 | | - str r3, [sp, #92] |
---|
9307 | | - beq .L1443 |
---|
9308 | | - ldr r2, [r6, #2724] |
---|
9309 | | - ldr r3, [r6, #2552] |
---|
| 9731 | + push {lr} |
---|
| 9732 | + bl __gnu_mcount_nc |
---|
| 9733 | + ldr r5, .L1347 |
---|
| 9734 | + mov r3, sp |
---|
| 9735 | + bic r6, r3, #8128 |
---|
| 9736 | + bic r6, r6, #63 |
---|
| 9737 | + ldr r9, [r5, #2720] |
---|
| 9738 | + ldr r3, [r6, #24] |
---|
| 9739 | + str r3, [fp, #-48] |
---|
| 9740 | + cmp r9, #0 |
---|
| 9741 | + ldr r3, [r5, #2552] |
---|
| 9742 | + beq .L1332 |
---|
| 9743 | + ldr r2, [r5, #2724] |
---|
9310 | 9744 | cmp r2, r3 |
---|
9311 | | - bcs .L1444 |
---|
| 9745 | + bcs .L1333 |
---|
9312 | 9746 | mov r4, #2048 |
---|
9313 | | -.L1449: |
---|
| 9747 | +.L1338: |
---|
9314 | 9748 | ldr r0, [r5, #2724] |
---|
9315 | 9749 | ldr r3, [r5, #2552] |
---|
9316 | 9750 | cmp r0, r3 |
---|
9317 | | - bcc .L1445 |
---|
9318 | | -.L1448: |
---|
| 9751 | + bcc .L1334 |
---|
| 9752 | +.L1337: |
---|
9319 | 9753 | mvn r0, #0 |
---|
9320 | | -.L1442: |
---|
9321 | | - ldr r2, [sp, #92] |
---|
9322 | | - ldr r3, [r7] |
---|
| 9754 | +.L1331: |
---|
| 9755 | + ldr r2, [fp, #-48] |
---|
| 9756 | + ldr r3, [r6, #24] |
---|
9323 | 9757 | cmp r2, r3 |
---|
9324 | | - beq .L1454 |
---|
| 9758 | + beq .L1342 |
---|
9325 | 9759 | bl __stack_chk_fail |
---|
9326 | | -.L1445: |
---|
| 9760 | +.L1334: |
---|
9327 | 9761 | mov r2, #0 |
---|
9328 | | - add r1, sp, #4 |
---|
| 9762 | + sub r1, fp, #136 |
---|
9329 | 9763 | bl log2phys |
---|
9330 | | - ldr r2, [sp, #4] |
---|
9331 | 9764 | ldr r3, [r5, #2724] |
---|
9332 | | - cmn r2, #1 |
---|
| 9765 | + ldr r2, [fp, #-136] |
---|
9333 | 9766 | add r3, r3, #1 |
---|
9334 | 9767 | str r3, [r5, #2724] |
---|
9335 | | - beq .L1447 |
---|
9336 | | - str r3, [sp, #24] |
---|
9337 | | - add r0, sp, #96 |
---|
| 9768 | + cmn r2, #1 |
---|
| 9769 | + beq .L1336 |
---|
| 9770 | + str r2, [fp, #-128] |
---|
| 9771 | + sub r0, fp, #132 |
---|
| 9772 | + str r3, [fp, #-116] |
---|
| 9773 | + mov r2, #0 |
---|
9338 | 9774 | ldr r3, [r5, #3324] |
---|
9339 | 9775 | mov r1, #1 |
---|
9340 | | - str r2, [sp, #12] |
---|
9341 | | - mov r2, #0 |
---|
9342 | | - str r2, [r0, #-88]! |
---|
9343 | | - str r3, [sp, #16] |
---|
9344 | | - add r3, sp, #28 |
---|
9345 | | - str r3, [sp, #20] |
---|
| 9776 | + str r3, [fp, #-124] |
---|
| 9777 | + sub r3, fp, #112 |
---|
| 9778 | + str r2, [fp, #-132] |
---|
| 9779 | + str r3, [fp, #-120] |
---|
9346 | 9780 | bl FlashReadPages |
---|
9347 | | - ldr r3, [sp, #8] |
---|
| 9781 | + ldr r3, [fp, #-132] |
---|
9348 | 9782 | cmp r3, #256 |
---|
9349 | | - bne .L1448 |
---|
9350 | | - ldr r0, [sp, #4] |
---|
| 9783 | + bne .L1337 |
---|
| 9784 | + ldr r0, [fp, #-136] |
---|
9351 | 9785 | ubfx r0, r0, #10, #16 |
---|
9352 | 9786 | bl P2V_block_in_plane |
---|
9353 | 9787 | bl FtlGcRefreshBlock |
---|
9354 | | - b .L1448 |
---|
9355 | | -.L1447: |
---|
| 9788 | + b .L1337 |
---|
| 9789 | +.L1336: |
---|
9356 | 9790 | subs r4, r4, #1 |
---|
9357 | | - bne .L1449 |
---|
9358 | | - b .L1448 |
---|
9359 | | -.L1444: |
---|
9360 | | - ldr r3, [r6, #2556] |
---|
| 9791 | + bne .L1338 |
---|
| 9792 | + b .L1337 |
---|
| 9793 | +.L1333: |
---|
| 9794 | + ldr r3, [r5, #2556] |
---|
9361 | 9795 | mov r0, #0 |
---|
9362 | | - str r0, [r6, #2720] |
---|
9363 | | - str r0, [r6, #2724] |
---|
9364 | | - str r3, [r6, #2716] |
---|
9365 | | - b .L1442 |
---|
9366 | | -.L1443: |
---|
9367 | | - ldr r1, [r6, #2612] |
---|
| 9796 | + str r3, [r5, #2716] |
---|
| 9797 | + str r0, [r5, #2720] |
---|
| 9798 | + str r0, [r5, #2724] |
---|
| 9799 | + b .L1331 |
---|
| 9800 | +.L1332: |
---|
| 9801 | + ldr r2, .L1347+4 |
---|
9368 | 9802 | movw r4, #10000 |
---|
9369 | | - ldr r9, [r6, #2556] |
---|
9370 | | - ldr r8, [r6, #2716] |
---|
| 9803 | + ldr r1, [r5, #2612] |
---|
| 9804 | + ldr r8, [r5, #2556] |
---|
9371 | 9805 | cmp r1, r4 |
---|
9372 | | - ldr fp, .L1460+8 |
---|
9373 | | - add r3, r9, #1048576 |
---|
| 9806 | + ldr r10, [r5, #2716] |
---|
| 9807 | + ldrh r7, [r2, #28] |
---|
| 9808 | + add r2, r8, #1048576 |
---|
9374 | 9809 | movhi r4, #31 |
---|
9375 | 9810 | movls r4, #63 |
---|
9376 | | - cmp r8, r3 |
---|
9377 | | - bhi .L1453 |
---|
9378 | | - ldr r3, [r6, #2552] |
---|
9379 | | - lsr r1, r1, #10 |
---|
| 9811 | + cmp r10, r2 |
---|
| 9812 | + bhi .L1341 |
---|
9380 | 9813 | mov r0, #1000 |
---|
| 9814 | + lsr r1, r1, #10 |
---|
9381 | 9815 | add r1, r1, #1 |
---|
9382 | 9816 | mul r0, r0, r3 |
---|
9383 | 9817 | bl __aeabi_uidiv |
---|
9384 | | - add r0, r0, r8 |
---|
9385 | | - cmp r9, r0 |
---|
9386 | | - bhi .L1453 |
---|
9387 | | - ldrh r3, [fp, #28] |
---|
9388 | | - ands r0, r4, r3 |
---|
9389 | | - movne r0, r10 |
---|
9390 | | - bne .L1442 |
---|
9391 | | - ldr r2, [r6, #2740] |
---|
9392 | | - cmp r3, r2 |
---|
9393 | | - beq .L1442 |
---|
9394 | | -.L1453: |
---|
9395 | | - ldrh r3, [fp, #28] |
---|
9396 | | - mov r0, #0 |
---|
9397 | | - str r0, [r5, #2724] |
---|
9398 | | - str r9, [r5, #2716] |
---|
9399 | | - str r3, [r5, #2740] |
---|
| 9818 | + add r0, r0, r10 |
---|
| 9819 | + cmp r8, r0 |
---|
| 9820 | + bhi .L1341 |
---|
| 9821 | + ands r0, r4, r7 |
---|
| 9822 | + movne r0, r9 |
---|
| 9823 | + bne .L1331 |
---|
| 9824 | + ldr r3, [r5, #2740] |
---|
| 9825 | + cmp r3, r7 |
---|
| 9826 | + beq .L1331 |
---|
| 9827 | +.L1341: |
---|
9400 | 9828 | mov r3, #1 |
---|
| 9829 | + mov r0, #0 |
---|
| 9830 | + str r7, [r5, #2740] |
---|
9401 | 9831 | str r3, [r5, #2720] |
---|
9402 | | - b .L1442 |
---|
9403 | | -.L1454: |
---|
9404 | | - add sp, sp, #100 |
---|
9405 | | - @ sp needed |
---|
9406 | | - pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} |
---|
9407 | | -.L1461: |
---|
| 9832 | + str r0, [r5, #2724] |
---|
| 9833 | + str r8, [r5, #2716] |
---|
| 9834 | + b .L1331 |
---|
| 9835 | +.L1342: |
---|
| 9836 | + sub sp, fp, #40 |
---|
| 9837 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 9838 | +.L1348: |
---|
9408 | 9839 | .align 2 |
---|
9409 | | -.L1460: |
---|
| 9840 | +.L1347: |
---|
9410 | 9841 | .word .LANCHOR0 |
---|
9411 | | - .word __stack_chk_guard |
---|
9412 | 9842 | .word .LANCHOR0+2468 |
---|
9413 | | - .fnend |
---|
9414 | 9843 | .size FtlReadRefresh, .-FtlReadRefresh |
---|
9415 | 9844 | .align 2 |
---|
9416 | 9845 | .global l2p_flush |
---|
.. | .. |
---|
9419 | 9848 | .fpu softvfp |
---|
9420 | 9849 | .type l2p_flush, %function |
---|
9421 | 9850 | l2p_flush: |
---|
9422 | | - .fnstart |
---|
9423 | 9851 | @ args = 0, pretend = 0, frame = 0 |
---|
9424 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
9425 | | - push {r4, r5, r6, r7, r8, lr} |
---|
9426 | | - .save {r4, r5, r6, r7, r8, lr} |
---|
| 9852 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 9853 | + mov ip, sp |
---|
| 9854 | + push {r4, r5, r6, r7, fp, ip, lr, pc} |
---|
| 9855 | + sub fp, ip, #4 |
---|
| 9856 | + push {lr} |
---|
| 9857 | + bl __gnu_mcount_nc |
---|
| 9858 | + ldr r6, .L1353 |
---|
9427 | 9859 | mov r4, #0 |
---|
9428 | | - ldr r6, .L1467 |
---|
9429 | | - mov r7, #12 |
---|
9430 | | - ldr r5, .L1467+4 |
---|
| 9860 | + ldr r5, .L1353+4 |
---|
9431 | 9861 | bl FtlWriteDump_data |
---|
9432 | | -.L1463: |
---|
| 9862 | +.L1350: |
---|
9433 | 9863 | ldrh r3, [r5] |
---|
9434 | 9864 | uxth r0, r4 |
---|
9435 | 9865 | cmp r3, r0 |
---|
9436 | | - bhi .L1465 |
---|
| 9866 | + bhi .L1352 |
---|
9437 | 9867 | mov r0, #0 |
---|
9438 | | - pop {r4, r5, r6, r7, r8, pc} |
---|
9439 | | -.L1465: |
---|
| 9868 | + ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} |
---|
| 9869 | +.L1352: |
---|
9440 | 9870 | ldr r2, [r6, #2540] |
---|
9441 | 9871 | uxth r3, r4 |
---|
9442 | | - mla r3, r7, r3, r2 |
---|
| 9872 | + mov r1, #12 |
---|
| 9873 | + mla r3, r1, r3, r2 |
---|
9443 | 9874 | ldr r3, [r3, #4] |
---|
9444 | 9875 | cmp r3, #0 |
---|
9445 | | - bge .L1464 |
---|
| 9876 | + bge .L1351 |
---|
9446 | 9877 | bl flush_l2p_region |
---|
9447 | | -.L1464: |
---|
| 9878 | +.L1351: |
---|
9448 | 9879 | add r4, r4, #1 |
---|
9449 | | - b .L1463 |
---|
9450 | | -.L1468: |
---|
| 9880 | + b .L1350 |
---|
| 9881 | +.L1354: |
---|
9451 | 9882 | .align 2 |
---|
9452 | | -.L1467: |
---|
| 9883 | +.L1353: |
---|
9453 | 9884 | .word .LANCHOR0 |
---|
9454 | 9885 | .word .LANCHOR0+338 |
---|
9455 | | - .fnend |
---|
9456 | 9886 | .size l2p_flush, .-l2p_flush |
---|
9457 | 9887 | .align 2 |
---|
9458 | 9888 | .global FtlVendorPartWrite |
---|
.. | .. |
---|
9461 | 9891 | .fpu softvfp |
---|
9462 | 9892 | .type FtlVendorPartWrite, %function |
---|
9463 | 9893 | FtlVendorPartWrite: |
---|
9464 | | - .fnstart |
---|
9465 | 9894 | @ args = 0, pretend = 0, frame = 104 |
---|
9466 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
9467 | | - ldr r3, .L1480 |
---|
9468 | | - push {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
9469 | | - .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
9470 | | - mov r10, r2 |
---|
9471 | | - ldr r4, .L1480+4 |
---|
9472 | | - .pad #108 |
---|
| 9895 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 9896 | + mov ip, sp |
---|
| 9897 | + push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 9898 | + sub fp, ip, #4 |
---|
9473 | 9899 | sub sp, sp, #108 |
---|
9474 | | - mov r6, r1 |
---|
9475 | | - add r1, r0, r1 |
---|
9476 | | - ldr r2, [r3] |
---|
9477 | | - str r3, [sp, #4] |
---|
9478 | | - str r2, [sp, #100] |
---|
9479 | | - ldrh r2, [r4] |
---|
9480 | | - cmp r1, r2 |
---|
9481 | | - mvnhi r9, #0 |
---|
9482 | | - bhi .L1469 |
---|
9483 | | - sub r4, r4, #296 |
---|
9484 | | - mov r8, r0 |
---|
9485 | | - add r3, r4, #308 |
---|
9486 | | - mov r9, #0 |
---|
9487 | | - ldrh r7, [r3] |
---|
9488 | | - lsr r7, r0, r7 |
---|
9489 | | - lsl fp, r7, #2 |
---|
9490 | | -.L1471: |
---|
9491 | | - cmp r6, #0 |
---|
9492 | | - bne .L1476 |
---|
9493 | | -.L1469: |
---|
9494 | | - ldr r3, [sp, #4] |
---|
9495 | | - mov r0, r9 |
---|
9496 | | - ldr r2, [sp, #100] |
---|
9497 | | - ldr r3, [r3] |
---|
9498 | | - cmp r2, r3 |
---|
9499 | | - beq .L1477 |
---|
9500 | | - bl __stack_chk_fail |
---|
9501 | | -.L1476: |
---|
9502 | | - ldr r3, [r4, #3372] |
---|
9503 | | - mov r0, r8 |
---|
9504 | | - ldr r2, [r3, fp] |
---|
9505 | | - ldr r3, .L1480+8 |
---|
9506 | | - str r2, [sp, #12] |
---|
| 9900 | + push {lr} |
---|
| 9901 | + bl __gnu_mcount_nc |
---|
| 9902 | + mov r3, sp |
---|
| 9903 | + ldr r7, .L1365 |
---|
| 9904 | + bic r10, r3, #8128 |
---|
| 9905 | + str r2, [fp, #-136] |
---|
| 9906 | + bic r10, r10, #63 |
---|
| 9907 | + add r2, r0, r1 |
---|
| 9908 | + mov r6, r0 |
---|
| 9909 | + mov r5, r1 |
---|
| 9910 | + ldr r3, [r10, #24] |
---|
| 9911 | + str r3, [fp, #-48] |
---|
| 9912 | + mov r3, r7 |
---|
| 9913 | + ldrh r8, [r3], #-12 |
---|
| 9914 | + lsr r8, r0, r8 |
---|
9507 | 9915 | ldrh r3, [r3] |
---|
| 9916 | + cmp r2, r3 |
---|
| 9917 | + subls r7, r7, #308 |
---|
| 9918 | + movls r9, #0 |
---|
| 9919 | + bls .L1357 |
---|
| 9920 | + mvn r9, #0 |
---|
| 9921 | + b .L1355 |
---|
| 9922 | +.L1362: |
---|
| 9923 | + ldr r3, [r7, #3372] |
---|
| 9924 | + mov r0, r6 |
---|
| 9925 | + ldr r2, [r3, r8, lsl #2] |
---|
| 9926 | + ldr r3, .L1365+4 |
---|
| 9927 | + str r2, [fp, #-148] |
---|
| 9928 | + ldrh r3, [r3] |
---|
| 9929 | + str r3, [fp, #-144] |
---|
9508 | 9930 | mov r1, r3 |
---|
9509 | | - str r3, [sp, #8] |
---|
9510 | 9931 | bl __aeabi_uidivmod |
---|
9511 | | - ldr r3, [sp, #8] |
---|
9512 | | - ldr r2, [sp, #12] |
---|
9513 | | - str r1, [sp] |
---|
9514 | | - sub r5, r3, r1 |
---|
9515 | | - uxth r5, r5 |
---|
9516 | | - cmp r6, r5 |
---|
9517 | | - uxthcc r5, r6 |
---|
| 9932 | + ldr r3, [fp, #-144] |
---|
| 9933 | + ldr r2, [fp, #-148] |
---|
| 9934 | + sub r4, r3, r1 |
---|
| 9935 | + str r1, [fp, #-140] |
---|
| 9936 | + ldr r0, [r7, #3308] |
---|
| 9937 | + uxth r4, r4 |
---|
| 9938 | + cmp r4, r5 |
---|
| 9939 | + uxthhi r4, r5 |
---|
9518 | 9940 | cmp r2, #0 |
---|
9519 | | - cmpne r5, r3 |
---|
| 9941 | + cmpne r3, r4 |
---|
9520 | 9942 | movne r1, #1 |
---|
9521 | 9943 | moveq r1, #0 |
---|
9522 | | - beq .L1473 |
---|
9523 | | - ldr r3, [r4, #3308] |
---|
9524 | | - add r0, sp, #16 |
---|
9525 | | - str r2, [sp, #20] |
---|
| 9944 | + beq .L1359 |
---|
| 9945 | + str r2, [fp, #-128] |
---|
9526 | 9946 | mov r2, #1 |
---|
| 9947 | + str r0, [fp, #-124] |
---|
9527 | 9948 | mov r1, r2 |
---|
9528 | | - str r3, [sp, #24] |
---|
9529 | | - add r3, sp, #36 |
---|
9530 | | - str r3, [sp, #28] |
---|
| 9949 | + sub r0, fp, #132 |
---|
| 9950 | + sub r3, fp, #112 |
---|
| 9951 | + str r3, [fp, #-120] |
---|
9531 | 9952 | bl FlashReadPages |
---|
9532 | | -.L1474: |
---|
9533 | | - lsl r3, r5, #9 |
---|
9534 | | - ldr r0, [r4, #3308] |
---|
9535 | | - mov r1, r10 |
---|
| 9953 | +.L1360: |
---|
| 9954 | + lsl r3, r4, #9 |
---|
| 9955 | + ldr r0, [r7, #3308] |
---|
9536 | 9956 | mov r2, r3 |
---|
9537 | | - str r3, [sp, #8] |
---|
9538 | | - ldr r3, [sp] |
---|
9539 | | - sub r6, r6, r5 |
---|
9540 | | - add r8, r8, r5 |
---|
9541 | | - add fp, fp, #4 |
---|
| 9957 | + str r3, [fp, #-144] |
---|
| 9958 | + ldr r3, [fp, #-140] |
---|
| 9959 | + sub r5, r5, r4 |
---|
| 9960 | + ldr r1, [fp, #-136] |
---|
| 9961 | + add r6, r6, r4 |
---|
9542 | 9962 | add r0, r0, r3, lsl #9 |
---|
9543 | 9963 | bl ftl_memcpy |
---|
9544 | | - mov r1, r7 |
---|
9545 | | - ldr r2, [r4, #3308] |
---|
9546 | | - ldr r0, .L1480+12 |
---|
9547 | | - add r7, r7, #1 |
---|
| 9964 | + ldr r2, [r7, #3308] |
---|
| 9965 | + mov r1, r8 |
---|
| 9966 | + ldr r0, .L1365+8 |
---|
9548 | 9967 | bl FtlMapWritePage |
---|
9549 | | - ldr r3, [sp, #8] |
---|
| 9968 | + ldr r2, [fp, #-136] |
---|
| 9969 | + ldr r3, [fp, #-144] |
---|
9550 | 9970 | cmn r0, #1 |
---|
| 9971 | + add r8, r8, #1 |
---|
| 9972 | + add r3, r2, r3 |
---|
9551 | 9973 | mvneq r9, #0 |
---|
9552 | | - add r10, r10, r3 |
---|
9553 | | - b .L1471 |
---|
9554 | | -.L1473: |
---|
9555 | | - ldr r3, .L1480+16 |
---|
9556 | | - ldr r0, [r4, #3308] |
---|
| 9974 | + str r3, [fp, #-136] |
---|
| 9975 | +.L1357: |
---|
| 9976 | + cmp r5, #0 |
---|
| 9977 | + bne .L1362 |
---|
| 9978 | +.L1355: |
---|
| 9979 | + ldr r2, [fp, #-48] |
---|
| 9980 | + ldr r3, [r10, #24] |
---|
| 9981 | + cmp r2, r3 |
---|
| 9982 | + beq .L1363 |
---|
| 9983 | + bl __stack_chk_fail |
---|
| 9984 | +.L1359: |
---|
| 9985 | + ldr r3, .L1365+12 |
---|
9557 | 9986 | ldrh r2, [r3] |
---|
9558 | 9987 | bl ftl_memset |
---|
9559 | | - b .L1474 |
---|
9560 | | -.L1477: |
---|
9561 | | - add sp, sp, #108 |
---|
9562 | | - @ sp needed |
---|
9563 | | - pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} |
---|
9564 | | -.L1481: |
---|
| 9988 | + b .L1360 |
---|
| 9989 | +.L1363: |
---|
| 9990 | + mov r0, r9 |
---|
| 9991 | + sub sp, fp, #40 |
---|
| 9992 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 9993 | +.L1366: |
---|
9565 | 9994 | .align 2 |
---|
9566 | | -.L1480: |
---|
9567 | | - .word __stack_chk_guard |
---|
9568 | | - .word .LANCHOR0+296 |
---|
| 9995 | +.L1365: |
---|
| 9996 | + .word .LANCHOR0+308 |
---|
9569 | 9997 | .word .LANCHOR0+258 |
---|
9570 | 9998 | .word .LANCHOR0+3608 |
---|
9571 | 9999 | .word .LANCHOR0+310 |
---|
9572 | | - .fnend |
---|
9573 | 10000 | .size FtlVendorPartWrite, .-FtlVendorPartWrite |
---|
9574 | 10001 | .align 2 |
---|
9575 | 10002 | .global Ftl_save_ext_data |
---|
.. | .. |
---|
9578 | 10005 | .fpu softvfp |
---|
9579 | 10006 | .type Ftl_save_ext_data, %function |
---|
9580 | 10007 | Ftl_save_ext_data: |
---|
9581 | | - .fnstart |
---|
9582 | 10008 | @ args = 0, pretend = 0, frame = 0 |
---|
9583 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
9584 | | - @ link register save eliminated. |
---|
9585 | | - ldr r2, .L1484 |
---|
9586 | | - ldr r3, .L1484+4 |
---|
| 10009 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 10010 | + mov ip, sp |
---|
| 10011 | + push {fp, ip, lr, pc} |
---|
| 10012 | + sub fp, ip, #4 |
---|
| 10013 | + push {lr} |
---|
| 10014 | + bl __gnu_mcount_nc |
---|
| 10015 | + ldr r2, .L1369 |
---|
| 10016 | + ldr r3, .L1369+4 |
---|
9587 | 10017 | ldr r1, [r2, #2640] |
---|
9588 | 10018 | cmp r1, r3 |
---|
9589 | | - bxne lr |
---|
9590 | | - ldr r3, .L1484+8 |
---|
| 10019 | + ldmfdne sp, {fp, sp, pc} |
---|
| 10020 | + ldr r3, .L1369+8 |
---|
9591 | 10021 | add r2, r2, #2640 |
---|
9592 | | - mov r1, #1 |
---|
9593 | | - mov r0, #0 |
---|
9594 | 10022 | str r3, [r2, #4] |
---|
| 10023 | + mov r1, #1 |
---|
9595 | 10024 | ldr r3, [r2, #-60] |
---|
| 10025 | + mov r0, #0 |
---|
9596 | 10026 | str r3, [r2, #88] |
---|
9597 | 10027 | ldr r3, [r2, #-56] |
---|
9598 | 10028 | str r3, [r2, #92] |
---|
.. | .. |
---|
9616 | 10046 | str r3, [r2, #44] |
---|
9617 | 10047 | ldr r3, [r2, #-24] |
---|
9618 | 10048 | str r3, [r2, #48] |
---|
9619 | | - b FtlVendorPartWrite |
---|
9620 | | -.L1485: |
---|
| 10049 | + bl FtlVendorPartWrite |
---|
| 10050 | + ldmfd sp, {fp, sp, pc} |
---|
| 10051 | +.L1370: |
---|
9621 | 10052 | .align 2 |
---|
9622 | | -.L1484: |
---|
| 10053 | +.L1369: |
---|
9623 | 10054 | .word .LANCHOR0 |
---|
9624 | 10055 | .word 1179929683 |
---|
9625 | | - .word 1342177367 |
---|
9626 | | - .fnend |
---|
| 10056 | + .word 1342177369 |
---|
9627 | 10057 | .size Ftl_save_ext_data, .-Ftl_save_ext_data |
---|
9628 | 10058 | .align 2 |
---|
9629 | 10059 | .global FtlEctTblFlush |
---|
.. | .. |
---|
9632 | 10062 | .fpu softvfp |
---|
9633 | 10063 | .type FtlEctTblFlush, %function |
---|
9634 | 10064 | FtlEctTblFlush: |
---|
9635 | | - .fnstart |
---|
9636 | 10065 | @ args = 0, pretend = 0, frame = 0 |
---|
9637 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
9638 | | - ldr r3, .L1494 |
---|
| 10066 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 10067 | + mov ip, sp |
---|
| 10068 | + push {fp, ip, lr, pc} |
---|
| 10069 | + sub fp, ip, #4 |
---|
| 10070 | + push {lr} |
---|
| 10071 | + bl __gnu_mcount_nc |
---|
| 10072 | + ldr r3, .L1376 |
---|
9639 | 10073 | movw r1, #3652 |
---|
9640 | 10074 | ldrh r2, [r3, r1] |
---|
9641 | 10075 | cmp r2, #31 |
---|
9642 | 10076 | addls r2, r2, #1 |
---|
9643 | | - movhi r2, #32 |
---|
9644 | 10077 | strhls r2, [r3, r1] @ movhi |
---|
9645 | | - movls r2, #1 |
---|
9646 | | - cmp r0, #0 |
---|
9647 | | - bne .L1488 |
---|
9648 | | - ldr r1, [r3, #3348] |
---|
9649 | | - ldr r0, [r1, #20] |
---|
9650 | | - ldr r1, [r1, #16] |
---|
9651 | | - add r2, r2, r0 |
---|
9652 | | - cmp r1, r2 |
---|
9653 | | - bcc .L1492 |
---|
9654 | | -.L1488: |
---|
9655 | | - push {r4, lr} |
---|
9656 | | - .save {r4, lr} |
---|
9657 | | - mov r0, #64 |
---|
9658 | 10078 | ldr r2, [r3, #3348] |
---|
9659 | | - ldr r1, [r2, #16] |
---|
9660 | | - str r1, [r2, #20] |
---|
9661 | | - ldr r1, .L1494+4 |
---|
| 10079 | + movls r1, #1 |
---|
| 10080 | + movhi r1, #32 |
---|
| 10081 | + cmp r0, #0 |
---|
| 10082 | + ldr ip, [r2, #16] |
---|
| 10083 | + bne .L1373 |
---|
| 10084 | + ldr r0, [r2, #20] |
---|
| 10085 | + add r1, r1, r0 |
---|
| 10086 | + cmp r1, ip |
---|
| 10087 | + bhi .L1374 |
---|
| 10088 | +.L1373: |
---|
| 10089 | + ldr r1, .L1376+4 |
---|
| 10090 | + mov r0, #64 |
---|
9662 | 10091 | str r1, [r2] |
---|
9663 | | - movw r1, #3340 |
---|
9664 | | - ldrh r1, [r3, r1] |
---|
| 10092 | + str ip, [r2, #20] |
---|
| 10093 | + movw r2, #3340 |
---|
| 10094 | + ldrh r1, [r3, r2] |
---|
9665 | 10095 | ldr r2, [r3, #3348] |
---|
9666 | 10096 | lsl r3, r1, #9 |
---|
9667 | 10097 | str r3, [r2, #12] |
---|
.. | .. |
---|
9672 | 10102 | str r3, [r2, #4] |
---|
9673 | 10103 | bl FtlVendorPartWrite |
---|
9674 | 10104 | bl Ftl_save_ext_data |
---|
| 10105 | +.L1374: |
---|
9675 | 10106 | mov r0, #0 |
---|
9676 | | - pop {r4, pc} |
---|
9677 | | -.L1492: |
---|
9678 | | - mov r0, #0 |
---|
9679 | | - bx lr |
---|
9680 | | -.L1495: |
---|
| 10107 | + ldmfd sp, {fp, sp, pc} |
---|
| 10108 | +.L1377: |
---|
9681 | 10109 | .align 2 |
---|
9682 | | -.L1494: |
---|
| 10110 | +.L1376: |
---|
9683 | 10111 | .word .LANCHOR0 |
---|
9684 | 10112 | .word 1112818501 |
---|
9685 | | - .fnend |
---|
9686 | 10113 | .size FtlEctTblFlush, .-FtlEctTblFlush |
---|
9687 | 10114 | .align 2 |
---|
9688 | 10115 | .global sftl_vendor_write |
---|
.. | .. |
---|
9691 | 10118 | .fpu softvfp |
---|
9692 | 10119 | .type sftl_vendor_write, %function |
---|
9693 | 10120 | sftl_vendor_write: |
---|
9694 | | - .fnstart |
---|
9695 | 10121 | @ args = 0, pretend = 0, frame = 0 |
---|
9696 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
9697 | | - @ link register save eliminated. |
---|
| 10122 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 10123 | + mov ip, sp |
---|
| 10124 | + push {fp, ip, lr, pc} |
---|
| 10125 | + sub fp, ip, #4 |
---|
| 10126 | + push {lr} |
---|
| 10127 | + bl __gnu_mcount_nc |
---|
9698 | 10128 | add r0, r0, #256 |
---|
9699 | | - b FtlVendorPartWrite |
---|
9700 | | - .fnend |
---|
| 10129 | + bl FtlVendorPartWrite |
---|
| 10130 | + ldmfd sp, {fp, sp, pc} |
---|
9701 | 10131 | .size sftl_vendor_write, .-sftl_vendor_write |
---|
| 10132 | + .section .rodata.str1.1 |
---|
| 10133 | +.LC118: |
---|
| 10134 | + .ascii "FtlVendorPartRead refresh = %x phyAddr = %x\012\000" |
---|
| 10135 | + .text |
---|
9702 | 10136 | .align 2 |
---|
9703 | 10137 | .global FtlVendorPartRead |
---|
9704 | 10138 | .syntax unified |
---|
.. | .. |
---|
9706 | 10140 | .fpu softvfp |
---|
9707 | 10141 | .type FtlVendorPartRead, %function |
---|
9708 | 10142 | FtlVendorPartRead: |
---|
9709 | | - .fnstart |
---|
9710 | 10143 | @ args = 0, pretend = 0, frame = 104 |
---|
9711 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
9712 | | - ldr r3, .L1509 |
---|
9713 | | - push {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
9714 | | - .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
9715 | | - mov r10, r2 |
---|
9716 | | - ldr r5, .L1509+4 |
---|
9717 | | - .pad #108 |
---|
| 10144 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 10145 | + mov ip, sp |
---|
| 10146 | + push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 10147 | + sub fp, ip, #4 |
---|
9718 | 10148 | sub sp, sp, #108 |
---|
9719 | | - mov r7, r1 |
---|
9720 | | - add r1, r0, r1 |
---|
9721 | | - ldr r2, [r3] |
---|
9722 | | - str r3, [sp, #8] |
---|
9723 | | - str r2, [sp, #100] |
---|
9724 | | - ldrh r2, [r5] |
---|
9725 | | - cmp r1, r2 |
---|
9726 | | - mvnhi r9, #0 |
---|
9727 | | - bhi .L1497 |
---|
9728 | | - sub r5, r5, #296 |
---|
| 10149 | + push {lr} |
---|
| 10150 | + bl __gnu_mcount_nc |
---|
| 10151 | + mov r3, sp |
---|
| 10152 | + ldr r6, .L1390 |
---|
| 10153 | + bic r3, r3, #8128 |
---|
| 10154 | + mov r9, r2 |
---|
| 10155 | + bic r3, r3, #63 |
---|
| 10156 | + str r3, [fp, #-136] |
---|
| 10157 | + add r2, r0, r1 |
---|
9729 | 10158 | mov r8, r0 |
---|
9730 | | - add r3, r5, #308 |
---|
9731 | | - mov r9, #0 |
---|
9732 | | - ldrh r6, [r3] |
---|
9733 | | - lsr r6, r0, r6 |
---|
9734 | | - lsl fp, r6, #2 |
---|
9735 | | -.L1499: |
---|
9736 | | - cmp r7, #0 |
---|
9737 | | - bne .L1505 |
---|
9738 | | -.L1497: |
---|
9739 | | - ldr r3, [sp, #8] |
---|
9740 | | - mov r0, r9 |
---|
9741 | | - ldr r2, [sp, #100] |
---|
9742 | | - ldr r3, [r3] |
---|
| 10159 | + mov r5, r1 |
---|
| 10160 | + ldr r3, [r3, #24] |
---|
| 10161 | + str r3, [fp, #-48] |
---|
| 10162 | + mov r3, r6 |
---|
| 10163 | + ldrh r7, [r3], #-12 |
---|
| 10164 | + lsr r7, r0, r7 |
---|
| 10165 | + ldrh r3, [r3] |
---|
9743 | 10166 | cmp r2, r3 |
---|
9744 | | - beq .L1506 |
---|
9745 | | - bl __stack_chk_fail |
---|
9746 | | -.L1505: |
---|
9747 | | - ldr r3, [r5, #3372] |
---|
| 10167 | + subls r6, r6, #308 |
---|
| 10168 | + movls r10, #0 |
---|
| 10169 | + bls .L1381 |
---|
| 10170 | + mvn r10, #0 |
---|
| 10171 | + b .L1379 |
---|
| 10172 | +.L1387: |
---|
| 10173 | + ldr r2, .L1390+4 |
---|
9748 | 10174 | mov r0, r8 |
---|
9749 | | - ldr r3, [r3, fp] |
---|
9750 | | - str r3, [sp, #12] |
---|
9751 | | - ldr r3, .L1509+8 |
---|
9752 | | - ldrh r4, [r3] |
---|
| 10175 | + ldr r3, [r6, #3372] |
---|
| 10176 | + ldrh r4, [r2] |
---|
| 10177 | + ldr r3, [r3, r7, lsl #2] |
---|
9753 | 10178 | mov r1, r4 |
---|
| 10179 | + str r3, [fp, #-144] |
---|
9754 | 10180 | bl __aeabi_uidivmod |
---|
9755 | 10181 | sub r4, r4, r1 |
---|
9756 | | - ldr r3, [sp, #12] |
---|
| 10182 | + ldr r3, [fp, #-144] |
---|
9757 | 10183 | uxth r4, r4 |
---|
9758 | | - str r1, [sp, #4] |
---|
9759 | | - cmp r7, r4 |
---|
9760 | | - uxthcc r4, r7 |
---|
| 10184 | + str r1, [fp, #-140] |
---|
| 10185 | + cmp r4, r5 |
---|
| 10186 | + uxthhi r4, r5 |
---|
9761 | 10187 | cmp r3, #0 |
---|
9762 | 10188 | lsl r2, r4, #9 |
---|
9763 | | - str r2, [sp, #12] |
---|
9764 | | - beq .L1501 |
---|
9765 | | - ldr r2, [r5, #3308] |
---|
9766 | | - add r0, sp, #16 |
---|
9767 | | - str r3, [sp, #20] |
---|
9768 | | - str r3, [sp, #12] |
---|
9769 | | - str r2, [sp, #24] |
---|
9770 | | - add r2, sp, #36 |
---|
9771 | | - str r2, [sp, #28] |
---|
| 10189 | + str r2, [fp, #-144] |
---|
| 10190 | + beq .L1383 |
---|
| 10191 | + ldr r2, [r6, #3308] |
---|
| 10192 | + sub r0, fp, #132 |
---|
| 10193 | + str r2, [fp, #-124] |
---|
| 10194 | + sub r2, fp, #112 |
---|
| 10195 | + str r2, [fp, #-120] |
---|
9772 | 10196 | mov r2, #1 |
---|
9773 | 10197 | mov r1, r2 |
---|
| 10198 | + str r3, [fp, #-128] |
---|
| 10199 | + str r3, [fp, #-148] |
---|
9774 | 10200 | bl FlashReadPages |
---|
9775 | | - ldr r2, [sp, #16] |
---|
9776 | | - ldr r3, [sp, #12] |
---|
| 10201 | + ldr r2, [fp, #-132] |
---|
| 10202 | + ldr r3, [fp, #-148] |
---|
9777 | 10203 | cmn r2, #1 |
---|
9778 | | - ldr r2, [r5, #3452] |
---|
9779 | | - mvneq r9, #0 |
---|
| 10204 | + ldr r2, [r6, #3452] |
---|
| 10205 | + mvneq r10, #0 |
---|
9780 | 10206 | cmp r2, #256 |
---|
9781 | | - bne .L1503 |
---|
| 10207 | + bne .L1385 |
---|
| 10208 | + ldr r0, .L1390+8 |
---|
9782 | 10209 | mov r2, r3 |
---|
9783 | | - mov r1, r6 |
---|
9784 | | - ldr r0, .L1509+12 |
---|
| 10210 | + mov r1, r7 |
---|
9785 | 10211 | bl sftl_printk |
---|
9786 | | - ldr r2, [r5, #3308] |
---|
9787 | | - mov r1, r6 |
---|
9788 | | - ldr r0, .L1509+16 |
---|
| 10212 | + ldr r2, [r6, #3308] |
---|
| 10213 | + ldr r0, .L1390+12 |
---|
| 10214 | + mov r1, r7 |
---|
9789 | 10215 | bl FtlMapWritePage |
---|
9790 | | -.L1503: |
---|
9791 | | - ldr r1, [r5, #3308] |
---|
| 10216 | +.L1385: |
---|
| 10217 | + ldr r1, [r6, #3308] |
---|
9792 | 10218 | lsl r2, r4, #9 |
---|
9793 | | - ldr r3, [sp, #4] |
---|
9794 | | - mov r0, r10 |
---|
| 10219 | + ldr r3, [fp, #-140] |
---|
| 10220 | + mov r0, r9 |
---|
9795 | 10221 | add r1, r1, r3, lsl #9 |
---|
9796 | 10222 | bl ftl_memcpy |
---|
9797 | | -.L1504: |
---|
9798 | | - add r6, r6, #1 |
---|
9799 | | - sub r7, r7, r4 |
---|
| 10223 | +.L1386: |
---|
| 10224 | + ldr r3, [fp, #-144] |
---|
| 10225 | + add r7, r7, #1 |
---|
| 10226 | + sub r5, r5, r4 |
---|
9800 | 10227 | add r8, r8, r4 |
---|
9801 | | - add r10, r10, r4, lsl #9 |
---|
9802 | | - add fp, fp, #4 |
---|
9803 | | - b .L1499 |
---|
9804 | | -.L1501: |
---|
| 10228 | + add r9, r9, r3 |
---|
| 10229 | +.L1381: |
---|
| 10230 | + cmp r5, #0 |
---|
| 10231 | + bne .L1387 |
---|
| 10232 | +.L1379: |
---|
| 10233 | + ldr r3, [fp, #-136] |
---|
| 10234 | + ldr r2, [fp, #-48] |
---|
| 10235 | + ldr r3, [r3, #24] |
---|
| 10236 | + cmp r2, r3 |
---|
| 10237 | + beq .L1388 |
---|
| 10238 | + bl __stack_chk_fail |
---|
| 10239 | +.L1383: |
---|
9805 | 10240 | lsl r2, r4, #9 |
---|
9806 | 10241 | mov r1, r3 |
---|
9807 | | - mov r0, r10 |
---|
| 10242 | + mov r0, r9 |
---|
9808 | 10243 | bl ftl_memset |
---|
9809 | | - b .L1504 |
---|
9810 | | -.L1506: |
---|
9811 | | - add sp, sp, #108 |
---|
9812 | | - @ sp needed |
---|
9813 | | - pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} |
---|
9814 | | -.L1510: |
---|
| 10244 | + b .L1386 |
---|
| 10245 | +.L1388: |
---|
| 10246 | + mov r0, r10 |
---|
| 10247 | + sub sp, fp, #40 |
---|
| 10248 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 10249 | +.L1391: |
---|
9815 | 10250 | .align 2 |
---|
9816 | | -.L1509: |
---|
9817 | | - .word __stack_chk_guard |
---|
9818 | | - .word .LANCHOR0+296 |
---|
| 10251 | +.L1390: |
---|
| 10252 | + .word .LANCHOR0+308 |
---|
9819 | 10253 | .word .LANCHOR0+258 |
---|
9820 | 10254 | .word .LC118 |
---|
9821 | 10255 | .word .LANCHOR0+3608 |
---|
9822 | | - .fnend |
---|
9823 | 10256 | .size FtlVendorPartRead, .-FtlVendorPartRead |
---|
| 10257 | + .section .rodata.str1.1 |
---|
| 10258 | +.LC119: |
---|
| 10259 | + .ascii "no ect\000" |
---|
| 10260 | + .text |
---|
9824 | 10261 | .align 2 |
---|
9825 | 10262 | .global FtlLoadEctTbl |
---|
9826 | 10263 | .syntax unified |
---|
.. | .. |
---|
9828 | 10265 | .fpu softvfp |
---|
9829 | 10266 | .type FtlLoadEctTbl, %function |
---|
9830 | 10267 | FtlLoadEctTbl: |
---|
9831 | | - .fnstart |
---|
9832 | 10268 | @ args = 0, pretend = 0, frame = 0 |
---|
9833 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
9834 | | - push {r4, r5, r6, lr} |
---|
9835 | | - .save {r4, r5, r6, lr} |
---|
| 10269 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 10270 | + mov ip, sp |
---|
| 10271 | + push {r4, r5, fp, ip, lr, pc} |
---|
| 10272 | + sub fp, ip, #4 |
---|
| 10273 | + push {lr} |
---|
| 10274 | + bl __gnu_mcount_nc |
---|
| 10275 | + ldr r4, .L1394 |
---|
9836 | 10276 | movw r5, #3340 |
---|
9837 | | - ldr r4, .L1514 |
---|
9838 | 10277 | mov r0, #64 |
---|
9839 | 10278 | ldr r2, [r4, #3348] |
---|
9840 | 10279 | ldrh r1, [r4, r5] |
---|
9841 | 10280 | bl FtlVendorPartRead |
---|
9842 | 10281 | ldr r3, [r4, #3348] |
---|
9843 | 10282 | ldr r2, [r3] |
---|
9844 | | - ldr r3, .L1514+4 |
---|
| 10283 | + ldr r3, .L1394+4 |
---|
9845 | 10284 | cmp r2, r3 |
---|
9846 | | - beq .L1512 |
---|
9847 | | - ldr r1, .L1514+8 |
---|
9848 | | - ldr r0, .L1514+12 |
---|
| 10285 | + beq .L1393 |
---|
| 10286 | + ldr r1, .L1394+8 |
---|
| 10287 | + ldr r0, .L1394+12 |
---|
9849 | 10288 | bl sftl_printk |
---|
9850 | 10289 | ldrh r2, [r4, r5] |
---|
9851 | | - mov r1, #0 |
---|
9852 | 10290 | ldr r0, [r4, #3348] |
---|
| 10291 | + mov r1, #0 |
---|
9853 | 10292 | lsl r2, r2, #9 |
---|
9854 | 10293 | bl ftl_memset |
---|
9855 | | -.L1512: |
---|
| 10294 | +.L1393: |
---|
9856 | 10295 | mov r0, #0 |
---|
9857 | | - pop {r4, r5, r6, pc} |
---|
9858 | | -.L1515: |
---|
| 10296 | + ldmfd sp, {r4, r5, fp, sp, pc} |
---|
| 10297 | +.L1395: |
---|
9859 | 10298 | .align 2 |
---|
9860 | | -.L1514: |
---|
| 10299 | +.L1394: |
---|
9861 | 10300 | .word .LANCHOR0 |
---|
9862 | 10301 | .word 1112818501 |
---|
9863 | 10302 | .word .LC119 |
---|
9864 | 10303 | .word .LC77 |
---|
9865 | | - .fnend |
---|
9866 | 10304 | .size FtlLoadEctTbl, .-FtlLoadEctTbl |
---|
9867 | 10305 | .align 2 |
---|
9868 | 10306 | .global Ftl_load_ext_data |
---|
.. | .. |
---|
9871 | 10309 | .fpu softvfp |
---|
9872 | 10310 | .type Ftl_load_ext_data, %function |
---|
9873 | 10311 | Ftl_load_ext_data: |
---|
9874 | | - .fnstart |
---|
9875 | 10312 | @ args = 0, pretend = 0, frame = 0 |
---|
9876 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
9877 | | - push {r4, r5, r6, lr} |
---|
9878 | | - .save {r4, r5, r6, lr} |
---|
| 10313 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 10314 | + mov ip, sp |
---|
| 10315 | + push {r4, r5, fp, ip, lr, pc} |
---|
| 10316 | + sub fp, ip, #4 |
---|
| 10317 | + push {lr} |
---|
| 10318 | + bl __gnu_mcount_nc |
---|
| 10319 | + ldr r4, .L1398 |
---|
9879 | 10320 | mov r1, #1 |
---|
9880 | | - ldr r4, .L1520 |
---|
9881 | 10321 | mov r0, #0 |
---|
9882 | | - ldr r5, .L1520+4 |
---|
| 10322 | + ldr r5, .L1398+4 |
---|
9883 | 10323 | add r2, r4, #2640 |
---|
9884 | 10324 | bl FtlVendorPartRead |
---|
9885 | 10325 | ldr r3, [r4, #2640] |
---|
9886 | 10326 | cmp r3, r5 |
---|
9887 | | - beq .L1517 |
---|
| 10327 | + beq .L1397 |
---|
| 10328 | + add r0, r4, #2640 |
---|
9888 | 10329 | mov r2, #512 |
---|
9889 | 10330 | mov r1, #0 |
---|
9890 | | - add r0, r4, #2640 |
---|
9891 | 10331 | bl ftl_memset |
---|
9892 | 10332 | str r5, [r4, #2640] |
---|
9893 | | -.L1517: |
---|
9894 | | - ldr r3, [r4, #2640] |
---|
9895 | | - cmp r3, r5 |
---|
9896 | | - bne .L1518 |
---|
| 10333 | +.L1397: |
---|
| 10334 | + ldr r2, [r4, #2672] |
---|
| 10335 | + str r2, [r4, #2608] |
---|
| 10336 | + ldr r2, [r4, #2676] |
---|
| 10337 | + str r2, [r4, #2560] |
---|
| 10338 | + ldr r2, [r4, #2680] |
---|
9897 | 10339 | ldr r3, [r4, #2728] |
---|
| 10340 | + str r2, [r4, #2568] |
---|
| 10341 | + ldr r2, [r4, #2684] |
---|
9898 | 10342 | str r3, [r4, #2580] |
---|
| 10343 | + str r2, [r4, #2612] |
---|
9899 | 10344 | ldr r3, [r4, #2732] |
---|
| 10345 | + ldr r2, [r4, #2688] |
---|
9900 | 10346 | str r3, [r4, #2584] |
---|
| 10347 | + str r2, [r4, #2616] |
---|
9901 | 10348 | ldr r3, [r4, #2648] |
---|
| 10349 | + ldr r2, .L1398+8 |
---|
9902 | 10350 | str r3, [r4, #2576] |
---|
9903 | 10351 | ldr r3, [r4, #2652] |
---|
9904 | 10352 | str r3, [r4, #2564] |
---|
9905 | 10353 | ldr r3, [r4, #2656] |
---|
9906 | 10354 | str r3, [r4, #2556] |
---|
9907 | 10355 | ldr r3, [r4, #2660] |
---|
| 10356 | + ldrh r2, [r2] |
---|
9908 | 10357 | str r3, [r4, #2572] |
---|
9909 | | - ldr r3, [r4, #2668] |
---|
9910 | | - str r3, [r4, #2600] |
---|
9911 | | - ldr r3, [r4, #2672] |
---|
9912 | | - str r3, [r4, #2608] |
---|
9913 | | - ldr r3, [r4, #2676] |
---|
9914 | | - str r3, [r4, #2560] |
---|
9915 | | - ldr r3, [r4, #2680] |
---|
9916 | | - str r3, [r4, #2568] |
---|
9917 | | - ldr r3, [r4, #2684] |
---|
9918 | | - str r3, [r4, #2612] |
---|
9919 | | - ldr r3, [r4, #2688] |
---|
9920 | | - str r3, [r4, #2616] |
---|
9921 | | -.L1518: |
---|
9922 | | - ldr r3, .L1520+8 |
---|
9923 | 10358 | ldr r0, [r4, #2596] |
---|
| 10359 | + ldr r3, [r4, #2668] |
---|
9924 | 10360 | ldrh r1, [r4, #240] |
---|
9925 | | - ldrh r2, [r3] |
---|
9926 | | - ldr r3, [r4, #2600] |
---|
| 10361 | + str r3, [r4, #2600] |
---|
9927 | 10362 | mla r0, r0, r2, r3 |
---|
9928 | 10363 | bl __aeabi_uidiv |
---|
9929 | 10364 | str r0, [r4, #2604] |
---|
9930 | | - pop {r4, r5, r6, pc} |
---|
9931 | | -.L1521: |
---|
| 10365 | + ldmfd sp, {r4, r5, fp, sp, pc} |
---|
| 10366 | +.L1399: |
---|
9932 | 10367 | .align 2 |
---|
9933 | | -.L1520: |
---|
| 10368 | +.L1398: |
---|
9934 | 10369 | .word .LANCHOR0 |
---|
9935 | 10370 | .word 1179929683 |
---|
9936 | 10371 | .word .LANCHOR0+292 |
---|
9937 | | - .fnend |
---|
9938 | 10372 | .size Ftl_load_ext_data, .-Ftl_load_ext_data |
---|
9939 | 10373 | .align 2 |
---|
9940 | 10374 | .global sftl_vendor_read |
---|
.. | .. |
---|
9943 | 10377 | .fpu softvfp |
---|
9944 | 10378 | .type sftl_vendor_read, %function |
---|
9945 | 10379 | sftl_vendor_read: |
---|
9946 | | - .fnstart |
---|
9947 | 10380 | @ args = 0, pretend = 0, frame = 0 |
---|
9948 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
9949 | | - @ link register save eliminated. |
---|
| 10381 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 10382 | + mov ip, sp |
---|
| 10383 | + push {fp, ip, lr, pc} |
---|
| 10384 | + sub fp, ip, #4 |
---|
| 10385 | + push {lr} |
---|
| 10386 | + bl __gnu_mcount_nc |
---|
9950 | 10387 | add r0, r0, #256 |
---|
9951 | | - b FtlVendorPartRead |
---|
9952 | | - .fnend |
---|
| 10388 | + bl FtlVendorPartRead |
---|
| 10389 | + ldmfd sp, {fp, sp, pc} |
---|
9953 | 10390 | .size sftl_vendor_read, .-sftl_vendor_read |
---|
9954 | 10391 | .align 2 |
---|
9955 | 10392 | .global FtlMapBlkWriteDump_data |
---|
.. | .. |
---|
9958 | 10395 | .fpu softvfp |
---|
9959 | 10396 | .type FtlMapBlkWriteDump_data, %function |
---|
9960 | 10397 | FtlMapBlkWriteDump_data: |
---|
9961 | | - .fnstart |
---|
9962 | 10398 | @ args = 0, pretend = 0, frame = 0 |
---|
9963 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
| 10399 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 10400 | + mov ip, sp |
---|
| 10401 | + push {r4, r5, r6, r7, fp, ip, lr, pc} |
---|
| 10402 | + sub fp, ip, #4 |
---|
| 10403 | + push {lr} |
---|
| 10404 | + bl __gnu_mcount_nc |
---|
9964 | 10405 | ldr r3, [r0, #36] |
---|
| 10406 | + mov r4, r0 |
---|
9965 | 10407 | cmp r3, #0 |
---|
9966 | | - bxeq lr |
---|
9967 | | - mov r3, #0 |
---|
9968 | | - push {r4, r5, r6, lr} |
---|
9969 | | - .save {r4, r5, r6, lr} |
---|
9970 | | - str r3, [r0, #36] |
---|
9971 | | - mov r5, r0 |
---|
9972 | | - ldr r3, .L1530 |
---|
| 10408 | + ldmfdeq sp, {r4, r5, r6, r7, fp, sp, pc} |
---|
9973 | 10409 | ldrh r6, [r0, #6] |
---|
9974 | | - ldr r2, [r0, #24] |
---|
9975 | | - ldr r1, [r3, #3332] |
---|
9976 | | - mov r4, r3 |
---|
9977 | | - ldr r0, [r3, #3304] |
---|
| 10410 | + mov r2, #0 |
---|
| 10411 | + ldr r5, .L1408 |
---|
9978 | 10412 | sub r6, r6, #1 |
---|
| 10413 | + str r2, [r0, #36] |
---|
| 10414 | + ldr r3, [r0, #24] |
---|
9979 | 10415 | uxth r6, r6 |
---|
9980 | | - str r1, [r3, #3464] |
---|
9981 | | - str r0, [r3, #3460] |
---|
9982 | | - ldr r2, [r2, r6, lsl #2] |
---|
9983 | | - cmp r2, #0 |
---|
9984 | | - str r2, [r3, #3456] |
---|
9985 | | - beq .L1525 |
---|
| 10416 | + ldr r0, [r5, #3304] |
---|
| 10417 | + ldr r2, [r5, #3332] |
---|
| 10418 | + str r0, [r5, #3460] |
---|
| 10419 | + str r2, [r5, #3464] |
---|
| 10420 | + ldr r3, [r3, r6, lsl #2] |
---|
| 10421 | + str r3, [r5, #3456] |
---|
| 10422 | + cmp r3, #0 |
---|
| 10423 | + beq .L1403 |
---|
9986 | 10424 | mov r2, #1 |
---|
9987 | | - ldr r0, .L1530+4 |
---|
| 10425 | + ldr r0, .L1408+4 |
---|
9988 | 10426 | mov r1, r2 |
---|
9989 | 10427 | bl FlashReadPages |
---|
9990 | | -.L1526: |
---|
9991 | | - ldr r2, [r4, #3460] |
---|
| 10428 | +.L1404: |
---|
| 10429 | + ldr r2, [r5, #3460] |
---|
9992 | 10430 | mov r1, r6 |
---|
9993 | | - mov r0, r5 |
---|
9994 | | - pop {r4, r5, r6, lr} |
---|
9995 | | - b FtlMapWritePage |
---|
9996 | | -.L1525: |
---|
| 10431 | + mov r0, r4 |
---|
| 10432 | + bl FtlMapWritePage |
---|
| 10433 | + ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} |
---|
| 10434 | +.L1403: |
---|
9997 | 10435 | movw r3, #310 |
---|
9998 | 10436 | mov r1, #255 |
---|
9999 | | - ldrh r2, [r4, r3] |
---|
| 10437 | + ldrh r2, [r5, r3] |
---|
10000 | 10438 | bl ftl_memset |
---|
10001 | | - b .L1526 |
---|
10002 | | -.L1531: |
---|
| 10439 | + b .L1404 |
---|
| 10440 | +.L1409: |
---|
10003 | 10441 | .align 2 |
---|
10004 | | -.L1530: |
---|
| 10442 | +.L1408: |
---|
10005 | 10443 | .word .LANCHOR0 |
---|
10006 | 10444 | .word .LANCHOR0+3452 |
---|
10007 | | - .fnend |
---|
10008 | 10445 | .size FtlMapBlkWriteDump_data, .-FtlMapBlkWriteDump_data |
---|
| 10446 | + .section .rodata.str1.1 |
---|
| 10447 | +.LC120: |
---|
| 10448 | + .ascii "FtlVpcTblFlush error = %x error count = %d\012\000" |
---|
| 10449 | + .text |
---|
10009 | 10450 | .align 2 |
---|
10010 | 10451 | .global FtlVpcTblFlush |
---|
10011 | 10452 | .syntax unified |
---|
.. | .. |
---|
10013 | 10454 | .fpu softvfp |
---|
10014 | 10455 | .type FtlVpcTblFlush, %function |
---|
10015 | 10456 | FtlVpcTblFlush: |
---|
10016 | | - .fnstart |
---|
10017 | 10457 | @ args = 0, pretend = 0, frame = 0 |
---|
10018 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
10019 | | - push {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
10020 | | - .save {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
| 10458 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 10459 | + mov ip, sp |
---|
| 10460 | + push {r4, r5, r6, r7, r8, r9, fp, ip, lr, pc} |
---|
| 10461 | + sub fp, ip, #4 |
---|
| 10462 | + push {lr} |
---|
| 10463 | + bl __gnu_mcount_nc |
---|
| 10464 | + ldr r4, .L1420 |
---|
10021 | 10465 | mov r6, #0 |
---|
10022 | | - ldr r4, .L1542 |
---|
10023 | 10466 | mov r1, #255 |
---|
10024 | | - ldr r3, [r4, #3300] |
---|
10025 | 10467 | add r5, r4, #2624 |
---|
10026 | | - ldr r7, [r4, #3332] |
---|
10027 | | - sub r8, r5, #156 |
---|
10028 | 10468 | add r9, r4, #304 |
---|
| 10469 | + sub r8, r5, #156 |
---|
| 10470 | + ldr r7, [r4, #3332] |
---|
| 10471 | + ldr r3, [r4, #3300] |
---|
10029 | 10472 | str r3, [r4, #3460] |
---|
10030 | | - mov fp, r9 |
---|
10031 | 10473 | ldrh r3, [r5] |
---|
10032 | | - add r10, r9, #6 |
---|
10033 | 10474 | str r7, [r4, #3464] |
---|
10034 | | - str r6, [r7, #12] |
---|
10035 | 10475 | strh r3, [r7, #2] @ movhi |
---|
10036 | | - ldr r3, .L1542+4 |
---|
| 10476 | + ldr r3, .L1420+4 |
---|
10037 | 10477 | strh r3, [r7] @ movhi |
---|
| 10478 | + str r6, [r7, #12] |
---|
10038 | 10479 | ldr r3, [r4, #2632] |
---|
10039 | | - str r6, [r7, #8] |
---|
10040 | | - ldrh r2, [r4, #26] |
---|
10041 | 10480 | str r3, [r7, #4] |
---|
10042 | | - ldr r3, .L1542+8 |
---|
| 10481 | + ldr r3, .L1420+8 |
---|
10043 | 10482 | str r3, [r4, #2468] |
---|
10044 | | - ldr r3, .L1542+12 |
---|
| 10483 | + ldr r3, .L1420+12 |
---|
10045 | 10484 | str r3, [r4, #2472] |
---|
10046 | 10485 | ldrh r3, [r5, #6] |
---|
| 10486 | + str r6, [r7, #8] |
---|
10047 | 10487 | strh r3, [r5, #-148] @ movhi |
---|
10048 | 10488 | ldrh r3, [r4, #254] |
---|
10049 | 10489 | strb r3, [r4, #2478] |
---|
10050 | 10490 | ldrh r3, [r4, #24] |
---|
| 10491 | + ldrh r2, [r4, #26] |
---|
10051 | 10492 | strh r3, [r5, #-142] @ movhi |
---|
10052 | 10493 | ldrb r3, [r4, #30] @ zero_extendqisi2 |
---|
10053 | 10494 | orr r3, r3, r2, lsl #6 |
---|
10054 | | - ldrh r2, [r4, #78] |
---|
10055 | 10495 | strh r3, [r5, #-140] @ movhi |
---|
10056 | 10496 | ldrb r3, [r4, #32] @ zero_extendqisi2 |
---|
10057 | 10497 | strb r3, [r4, #2479] |
---|
10058 | 10498 | ldrh r3, [r4, #76] |
---|
| 10499 | + ldrh r2, [r4, #78] |
---|
10059 | 10500 | strh r3, [r5, #-138] @ movhi |
---|
10060 | 10501 | ldrb r3, [r4, #82] @ zero_extendqisi2 |
---|
10061 | 10502 | orr r3, r3, r2, lsl #6 |
---|
.. | .. |
---|
10063 | 10504 | ldrb r3, [r4, #84] @ zero_extendqisi2 |
---|
10064 | 10505 | strb r3, [r4, #2480] |
---|
10065 | 10506 | ldrh r3, [r4, #124] |
---|
10066 | | - ldrh r2, [r4, #126] |
---|
10067 | | - ldr r0, [r4, #3460] |
---|
10068 | 10507 | strh r3, [r5, #-134] @ movhi |
---|
| 10508 | + ldrh r2, [r4, #126] |
---|
10069 | 10509 | ldrb r3, [r4, #130] @ zero_extendqisi2 |
---|
| 10510 | + ldr r0, [r4, #3460] |
---|
10070 | 10511 | orr r3, r3, r2, lsl #6 |
---|
10071 | 10512 | strh r3, [r5, #-132] @ movhi |
---|
10072 | 10513 | ldrb r3, [r4, #132] @ zero_extendqisi2 |
---|
.. | .. |
---|
10083 | 10524 | mov r1, r8 |
---|
10084 | 10525 | mov r2, #48 |
---|
10085 | 10526 | ldr r0, [r4, #3460] |
---|
10086 | | - movw r8, #65535 |
---|
10087 | 10527 | bl ftl_memcpy |
---|
10088 | 10528 | ldrh r2, [r4, #240] |
---|
10089 | 10529 | ldr r0, [r4, #3460] |
---|
| 10530 | + movw r8, #65535 |
---|
10090 | 10531 | ldr r1, [r4, #72] |
---|
10091 | 10532 | lsl r2, r2, #1 |
---|
10092 | 10533 | add r0, r0, #48 |
---|
10093 | 10534 | bl ftl_memcpy |
---|
10094 | 10535 | mov r0, r6 |
---|
10095 | 10536 | bl FtlUpdateVaildLpn |
---|
10096 | | -.L1533: |
---|
10097 | | - ldr r3, [r4, #3300] |
---|
| 10537 | +.L1411: |
---|
10098 | 10538 | ldrh r1, [r5, #2] |
---|
10099 | 10539 | ldrh r2, [r5] |
---|
| 10540 | + ldr r3, [r4, #3300] |
---|
10100 | 10541 | str r3, [r4, #3460] |
---|
10101 | 10542 | ldr r3, [r4, #3332] |
---|
10102 | 10543 | str r3, [r4, #3464] |
---|
.. | .. |
---|
10105 | 10546 | ldrh r3, [r9] |
---|
10106 | 10547 | sub r3, r3, #1 |
---|
10107 | 10548 | cmp r1, r3 |
---|
10108 | | - blt .L1534 |
---|
| 10549 | + blt .L1412 |
---|
10109 | 10550 | mov r3, #0 |
---|
10110 | 10551 | ldrh r8, [r5, #4] |
---|
10111 | 10552 | strh r3, [r5, #2] @ movhi |
---|
10112 | 10553 | strh r2, [r5, #4] @ movhi |
---|
10113 | 10554 | bl FtlFreeSysBlkQueueOut |
---|
10114 | 10555 | ldr r3, [r4, #2588] |
---|
10115 | | - strh r0, [r5] @ movhi |
---|
10116 | | - add r2, r3, #1 |
---|
10117 | 10556 | str r3, [r4, #2632] |
---|
| 10557 | + add r2, r3, #1 |
---|
| 10558 | + strh r0, [r5] @ movhi |
---|
10118 | 10559 | str r2, [r4, #2588] |
---|
10119 | 10560 | lsl r2, r0, #10 |
---|
10120 | 10561 | str r2, [r4, #3456] |
---|
10121 | 10562 | str r3, [r7, #4] |
---|
10122 | 10563 | strh r0, [r7, #2] @ movhi |
---|
10123 | | -.L1534: |
---|
10124 | | - ldrh r1, [r10] |
---|
| 10564 | +.L1412: |
---|
| 10565 | + ldr r3, .L1420+16 |
---|
10125 | 10566 | ldr r0, [r4, #3300] |
---|
| 10567 | + ldrh r1, [r3] |
---|
10126 | 10568 | bl js_hash |
---|
10127 | 10569 | mov r3, #1 |
---|
10128 | 10570 | str r0, [r7, #12] |
---|
10129 | 10571 | mov r2, r3 |
---|
10130 | 10572 | mov r1, r3 |
---|
10131 | | - ldr r0, .L1542+16 |
---|
| 10573 | + ldr r0, .L1420+20 |
---|
10132 | 10574 | bl FlashProgPages |
---|
10133 | 10575 | ldrh r3, [r5, #2] |
---|
10134 | 10576 | ldr r2, [r4, #3452] |
---|
10135 | 10577 | add r3, r3, #1 |
---|
10136 | | - uxth r3, r3 |
---|
10137 | 10578 | cmn r2, #1 |
---|
| 10579 | + uxth r3, r3 |
---|
10138 | 10580 | strh r3, [r5, #2] @ movhi |
---|
10139 | | - bne .L1535 |
---|
| 10581 | + bne .L1413 |
---|
10140 | 10582 | cmp r3, #1 |
---|
10141 | | - bne .L1536 |
---|
| 10583 | + bne .L1415 |
---|
| 10584 | + ldr r1, .L1420+24 |
---|
10142 | 10585 | movw r2, #1145 |
---|
10143 | | - ldr r1, .L1542+20 |
---|
10144 | | - ldr r0, .L1542+24 |
---|
| 10586 | + ldr r0, .L1420+28 |
---|
10145 | 10587 | bl sftl_printk |
---|
10146 | | -.L1536: |
---|
10147 | 10588 | ldrh r3, [r5, #2] |
---|
10148 | | - add r6, r6, #1 |
---|
10149 | | - uxth r6, r6 |
---|
10150 | 10589 | cmp r3, #1 |
---|
10151 | | - ldrheq r3, [fp] |
---|
| 10590 | + ldrheq r3, [r9] |
---|
10152 | 10591 | subeq r3, r3, #1 |
---|
10153 | 10592 | strheq r3, [r5, #2] @ movhi |
---|
| 10593 | +.L1415: |
---|
| 10594 | + add r6, r6, #1 |
---|
| 10595 | + uxth r6, r6 |
---|
10154 | 10596 | cmp r6, #3 |
---|
10155 | | - bls .L1533 |
---|
10156 | | - mov r2, r6 |
---|
| 10597 | + bls .L1411 |
---|
10157 | 10598 | ldr r1, [r4, #3456] |
---|
10158 | | - ldr r0, .L1542+28 |
---|
| 10599 | + mov r2, r6 |
---|
| 10600 | + ldr r0, .L1420+32 |
---|
10159 | 10601 | bl sftl_printk |
---|
10160 | | -.L1539: |
---|
10161 | | - b .L1539 |
---|
10162 | | -.L1535: |
---|
| 10602 | +.L1418: |
---|
| 10603 | + b .L1418 |
---|
| 10604 | +.L1413: |
---|
10163 | 10605 | cmp r2, #256 |
---|
10164 | 10606 | cmpne r3, #1 |
---|
10165 | | - beq .L1533 |
---|
| 10607 | + beq .L1411 |
---|
10166 | 10608 | movw r3, #65535 |
---|
10167 | 10609 | cmp r8, r3 |
---|
10168 | | - beq .L1540 |
---|
10169 | | - mov r1, #1 |
---|
| 10610 | + beq .L1419 |
---|
10170 | 10611 | mov r0, r8 |
---|
| 10612 | + mov r1, #1 |
---|
10171 | 10613 | bl FtlFreeSysBlkQueueIn |
---|
10172 | | -.L1540: |
---|
| 10614 | +.L1419: |
---|
10173 | 10615 | mov r0, #0 |
---|
10174 | | - pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} |
---|
10175 | | -.L1543: |
---|
| 10616 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, fp, sp, pc} |
---|
| 10617 | +.L1421: |
---|
10176 | 10618 | .align 2 |
---|
10177 | | -.L1542: |
---|
| 10619 | +.L1420: |
---|
10178 | 10620 | .word .LANCHOR0 |
---|
10179 | 10621 | .word -3932 |
---|
10180 | 10622 | .word 1179929683 |
---|
10181 | | - .word 1342177367 |
---|
| 10623 | + .word 1342177369 |
---|
| 10624 | + .word .LANCHOR0+310 |
---|
10182 | 10625 | .word .LANCHOR0+3452 |
---|
10183 | 10626 | .word .LANCHOR1+471 |
---|
10184 | 10627 | .word .LC8 |
---|
10185 | 10628 | .word .LC120 |
---|
10186 | | - .fnend |
---|
10187 | 10629 | .size FtlVpcTblFlush, .-FtlVpcTblFlush |
---|
10188 | 10630 | .align 2 |
---|
10189 | 10631 | .global FtlSysFlush |
---|
.. | .. |
---|
10192 | 10634 | .fpu softvfp |
---|
10193 | 10635 | .type FtlSysFlush, %function |
---|
10194 | 10636 | FtlSysFlush: |
---|
10195 | | - .fnstart |
---|
10196 | 10637 | @ args = 0, pretend = 0, frame = 0 |
---|
10197 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
10198 | | - push {r4, lr} |
---|
10199 | | - .save {r4, lr} |
---|
| 10638 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 10639 | + mov ip, sp |
---|
| 10640 | + push {fp, ip, lr, pc} |
---|
| 10641 | + sub fp, ip, #4 |
---|
| 10642 | + push {lr} |
---|
| 10643 | + bl __gnu_mcount_nc |
---|
10200 | 10644 | bl l2p_flush |
---|
10201 | 10645 | mov r0, #1 |
---|
10202 | 10646 | bl FtlEctTblFlush |
---|
10203 | 10647 | bl FtlVpcTblFlush |
---|
10204 | 10648 | mov r0, #0 |
---|
10205 | | - pop {r4, pc} |
---|
10206 | | - .fnend |
---|
| 10649 | + ldmfd sp, {fp, sp, pc} |
---|
10207 | 10650 | .size FtlSysFlush, .-FtlSysFlush |
---|
10208 | 10651 | .align 2 |
---|
10209 | 10652 | .global sftl_deinit |
---|
.. | .. |
---|
10212 | 10655 | .fpu softvfp |
---|
10213 | 10656 | .type sftl_deinit, %function |
---|
10214 | 10657 | sftl_deinit: |
---|
10215 | | - .fnstart |
---|
10216 | 10658 | @ args = 0, pretend = 0, frame = 0 |
---|
10217 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
10218 | | - ldr r3, .L1552 |
---|
| 10659 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 10660 | + mov ip, sp |
---|
| 10661 | + push {fp, ip, lr, pc} |
---|
| 10662 | + sub fp, ip, #4 |
---|
| 10663 | + push {lr} |
---|
| 10664 | + bl __gnu_mcount_nc |
---|
| 10665 | + ldr r3, .L1425 |
---|
10219 | 10666 | ldr r3, [r3] |
---|
10220 | 10667 | cmp r3, #1 |
---|
10221 | | - bne .L1549 |
---|
10222 | | - push {r4, lr} |
---|
10223 | | - .save {r4, lr} |
---|
| 10668 | + bne .L1424 |
---|
10224 | 10669 | bl FtlSysFlush |
---|
| 10670 | +.L1424: |
---|
10225 | 10671 | mov r0, #0 |
---|
10226 | | - pop {r4, pc} |
---|
10227 | | -.L1549: |
---|
10228 | | - mov r0, #0 |
---|
10229 | | - bx lr |
---|
10230 | | -.L1553: |
---|
| 10672 | + ldmfd sp, {fp, sp, pc} |
---|
| 10673 | +.L1426: |
---|
10231 | 10674 | .align 2 |
---|
10232 | | -.L1552: |
---|
| 10675 | +.L1425: |
---|
10233 | 10676 | .word .LANCHOR2 |
---|
10234 | | - .fnend |
---|
10235 | 10677 | .size sftl_deinit, .-sftl_deinit |
---|
10236 | 10678 | .align 2 |
---|
10237 | 10679 | .global sftl_discard |
---|
.. | .. |
---|
10240 | 10682 | .fpu softvfp |
---|
10241 | 10683 | .type sftl_discard, %function |
---|
10242 | 10684 | sftl_discard: |
---|
10243 | | - .fnstart |
---|
10244 | 10685 | @ args = 0, pretend = 0, frame = 16 |
---|
10245 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
10246 | | - push {r4, r5, r6, r7, r8, r9, lr} |
---|
10247 | | - .save {r4, r5, r6, r7, r8, r9, lr} |
---|
10248 | | - .pad #20 |
---|
10249 | | - sub sp, sp, #20 |
---|
10250 | | - ldr r8, .L1572 |
---|
10251 | | - ldr r4, .L1572+4 |
---|
10252 | | - ldr r3, [r8] |
---|
10253 | | - str r3, [sp, #12] |
---|
10254 | | - ldr r3, [r4, #340] |
---|
| 10686 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 10687 | + mov ip, sp |
---|
| 10688 | + push {r4, r5, r6, r7, r8, r9, fp, ip, lr, pc} |
---|
| 10689 | + sub fp, ip, #4 |
---|
| 10690 | + sub sp, sp, #16 |
---|
| 10691 | + push {lr} |
---|
| 10692 | + bl __gnu_mcount_nc |
---|
| 10693 | + mov r3, sp |
---|
| 10694 | + ldr r8, .L1444 |
---|
| 10695 | + bic r7, r3, #8128 |
---|
| 10696 | + mov r9, r0 |
---|
| 10697 | + bic r7, r7, #63 |
---|
| 10698 | + mov r4, r1 |
---|
| 10699 | + ldr r3, [r7, #24] |
---|
| 10700 | + str r3, [fp, #-40] |
---|
| 10701 | + ldr r3, [r8, #340] |
---|
10255 | 10702 | cmp r3, r1 |
---|
10256 | 10703 | cmpcs r3, r0 |
---|
10257 | | - bls .L1564 |
---|
| 10704 | + bls .L1437 |
---|
10258 | 10705 | add r2, r0, r1 |
---|
10259 | | - mov r7, r0 |
---|
10260 | 10706 | cmp r3, r2 |
---|
10261 | | - mov r5, r1 |
---|
10262 | | - bcc .L1564 |
---|
| 10707 | + bcc .L1437 |
---|
10263 | 10708 | cmp r1, #31 |
---|
10264 | | - bhi .L1556 |
---|
10265 | | -.L1561: |
---|
| 10709 | + bhi .L1429 |
---|
| 10710 | +.L1434: |
---|
10266 | 10711 | mov r0, #0 |
---|
10267 | | -.L1554: |
---|
10268 | | - ldr r2, [sp, #12] |
---|
10269 | | - ldr r3, [r8] |
---|
| 10712 | +.L1427: |
---|
| 10713 | + ldr r2, [fp, #-40] |
---|
| 10714 | + ldr r3, [r7, #24] |
---|
10270 | 10715 | cmp r2, r3 |
---|
10271 | | - beq .L1562 |
---|
| 10716 | + beq .L1435 |
---|
10272 | 10717 | bl __stack_chk_fail |
---|
10273 | | -.L1556: |
---|
| 10718 | +.L1429: |
---|
10274 | 10719 | movw r3, #258 |
---|
10275 | | - ldrh r6, [r4, r3] |
---|
10276 | | - mov r1, r6 |
---|
| 10720 | + ldrh r5, [r8, r3] |
---|
| 10721 | + mov r1, r5 |
---|
10277 | 10722 | bl __aeabi_uidiv |
---|
10278 | | - smulbb r3, r0, r6 |
---|
10279 | | - mov r9, r0 |
---|
10280 | | - sub r7, r7, r3 |
---|
10281 | | - uxth r7, r7 |
---|
10282 | | - cmp r7, #0 |
---|
10283 | | - beq .L1557 |
---|
10284 | | - sub r6, r6, r7 |
---|
10285 | | - add r9, r0, #1 |
---|
10286 | | - cmp r6, r5 |
---|
10287 | | - movcs r6, r5 |
---|
10288 | | - uxth r6, r6 |
---|
10289 | | - sub r5, r5, r6 |
---|
10290 | | -.L1557: |
---|
10291 | | - ldr r6, .L1572+8 |
---|
| 10723 | + mov r6, r0 |
---|
| 10724 | + smulbb r0, r0, r5 |
---|
| 10725 | + sub r9, r9, r0 |
---|
| 10726 | + uxth r9, r9 |
---|
| 10727 | + cmp r9, #0 |
---|
| 10728 | + beq .L1430 |
---|
| 10729 | + sub r5, r5, r9 |
---|
| 10730 | + add r6, r6, #1 |
---|
| 10731 | + cmp r5, r4 |
---|
| 10732 | + movcs r5, r4 |
---|
| 10733 | + uxth r5, r5 |
---|
| 10734 | + sub r4, r4, r5 |
---|
| 10735 | +.L1430: |
---|
| 10736 | + ldr r5, .L1444+4 |
---|
10292 | 10737 | mvn r3, #0 |
---|
10293 | | - str r3, [sp, #8] |
---|
10294 | | - mov r7, r6 |
---|
10295 | | -.L1558: |
---|
10296 | | - ldrh r3, [r6] |
---|
10297 | | - cmp r5, r3 |
---|
10298 | | - bcs .L1560 |
---|
10299 | | - ldr r3, [r4, #3656] |
---|
| 10738 | + str r3, [fp, #-44] |
---|
| 10739 | +.L1431: |
---|
| 10740 | + ldrh r3, [r5] |
---|
| 10741 | + cmp r3, r4 |
---|
| 10742 | + bls .L1433 |
---|
| 10743 | + ldr r3, [r8, #3656] |
---|
10300 | 10744 | cmp r3, #32 |
---|
10301 | | - bls .L1561 |
---|
10302 | | - mov r5, #0 |
---|
10303 | | - str r5, [r4, #3656] |
---|
| 10745 | + bls .L1434 |
---|
| 10746 | + mov r4, #0 |
---|
| 10747 | + str r4, [r8, #3656] |
---|
10304 | 10748 | bl l2p_flush |
---|
10305 | 10749 | bl FtlVpcTblFlush |
---|
10306 | | - b .L1561 |
---|
10307 | | -.L1560: |
---|
| 10750 | + b .L1434 |
---|
| 10751 | +.L1433: |
---|
| 10752 | + sub r1, fp, #48 |
---|
| 10753 | + mov r0, r6 |
---|
10308 | 10754 | mov r2, #0 |
---|
10309 | | - add r1, sp, #4 |
---|
10310 | | - mov r0, r9 |
---|
10311 | 10755 | bl log2phys |
---|
10312 | | - ldr r3, [sp, #4] |
---|
| 10756 | + ldr r3, [fp, #-48] |
---|
10313 | 10757 | cmn r3, #1 |
---|
10314 | | - beq .L1559 |
---|
10315 | | - ldr r3, [r4, #3656] |
---|
| 10758 | + beq .L1432 |
---|
| 10759 | + ldr r3, [r8, #3656] |
---|
| 10760 | + sub r1, fp, #44 |
---|
10316 | 10761 | mov r2, #1 |
---|
10317 | | - add r1, sp, #8 |
---|
10318 | | - mov r0, r9 |
---|
| 10762 | + mov r0, r6 |
---|
10319 | 10763 | add r3, r3, #1 |
---|
10320 | | - str r3, [r4, #3656] |
---|
10321 | | - ldr r3, [r4, #2560] |
---|
| 10764 | + str r3, [r8, #3656] |
---|
| 10765 | + ldr r3, [r8, #2560] |
---|
10322 | 10766 | add r3, r3, #1 |
---|
10323 | | - str r3, [r4, #2560] |
---|
| 10767 | + str r3, [r8, #2560] |
---|
10324 | 10768 | bl log2phys |
---|
10325 | | - ldr r0, [sp, #4] |
---|
| 10769 | + ldr r0, [fp, #-48] |
---|
10326 | 10770 | ubfx r0, r0, #10, #16 |
---|
10327 | 10771 | bl P2V_block_in_plane |
---|
10328 | 10772 | bl decrement_vpc_count |
---|
10329 | | -.L1559: |
---|
10330 | | - ldrh r3, [r7] |
---|
10331 | | - add r9, r9, #1 |
---|
10332 | | - sub r5, r5, r3 |
---|
10333 | | - b .L1558 |
---|
10334 | | -.L1564: |
---|
| 10773 | +.L1432: |
---|
| 10774 | + ldrh r3, [r5] |
---|
| 10775 | + add r6, r6, #1 |
---|
| 10776 | + sub r4, r4, r3 |
---|
| 10777 | + b .L1431 |
---|
| 10778 | +.L1437: |
---|
10335 | 10779 | mvn r0, #0 |
---|
10336 | | - b .L1554 |
---|
10337 | | -.L1562: |
---|
10338 | | - add sp, sp, #20 |
---|
10339 | | - @ sp needed |
---|
10340 | | - pop {r4, r5, r6, r7, r8, r9, pc} |
---|
10341 | | -.L1573: |
---|
| 10780 | + b .L1427 |
---|
| 10781 | +.L1435: |
---|
| 10782 | + sub sp, fp, #36 |
---|
| 10783 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, fp, sp, pc} |
---|
| 10784 | +.L1445: |
---|
10342 | 10785 | .align 2 |
---|
10343 | | -.L1572: |
---|
10344 | | - .word __stack_chk_guard |
---|
| 10786 | +.L1444: |
---|
10345 | 10787 | .word .LANCHOR0 |
---|
10346 | 10788 | .word .LANCHOR0+258 |
---|
10347 | | - .fnend |
---|
10348 | 10789 | .size sftl_discard, .-sftl_discard |
---|
| 10790 | + .section .rodata.str1.1 |
---|
| 10791 | +.LC121: |
---|
| 10792 | + .ascii "FtlCheckVpc %x = %x %x\012\000" |
---|
| 10793 | + .text |
---|
10349 | 10794 | .align 2 |
---|
10350 | 10795 | .global FtlVpcCheckAndModify |
---|
10351 | 10796 | .syntax unified |
---|
.. | .. |
---|
10353 | 10798 | .fpu softvfp |
---|
10354 | 10799 | .type FtlVpcCheckAndModify, %function |
---|
10355 | 10800 | FtlVpcCheckAndModify: |
---|
10356 | | - .fnstart |
---|
10357 | 10801 | @ args = 0, pretend = 0, frame = 8 |
---|
10358 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
10359 | | - push {r0, r1, r2, r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
10360 | | - .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
10361 | | - .pad #12 |
---|
| 10802 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 10803 | + mov ip, sp |
---|
| 10804 | + push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 10805 | + sub fp, ip, #4 |
---|
| 10806 | + sub sp, sp, #12 |
---|
| 10807 | + push {lr} |
---|
| 10808 | + bl __gnu_mcount_nc |
---|
| 10809 | + mov r3, sp |
---|
| 10810 | + ldr r4, .L1461 |
---|
| 10811 | + bic r7, r3, #8128 |
---|
| 10812 | + ldr r1, .L1461+4 |
---|
| 10813 | + bic r7, r7, #63 |
---|
| 10814 | + ldr r0, .L1461+8 |
---|
10362 | 10815 | mov r5, #0 |
---|
10363 | | - ldr r7, .L1590 |
---|
10364 | | - ldr r4, .L1590+4 |
---|
10365 | | - ldr r3, [r7] |
---|
10366 | | - ldr r1, .L1590+8 |
---|
10367 | | - ldr r0, .L1590+12 |
---|
10368 | | - str r3, [sp, #4] |
---|
| 10816 | + ldr r3, [r7, #24] |
---|
| 10817 | + str r3, [fp, #-48] |
---|
10369 | 10818 | bl sftl_printk |
---|
10370 | 10819 | ldrh r2, [r4, #242] |
---|
10371 | 10820 | mov r1, #0 |
---|
10372 | 10821 | ldr r0, [r4, #3352] |
---|
10373 | 10822 | lsl r2, r2, #1 |
---|
10374 | 10823 | bl ftl_memset |
---|
10375 | | -.L1575: |
---|
| 10824 | +.L1447: |
---|
10376 | 10825 | ldr r3, [r4, #2552] |
---|
10377 | | - cmp r5, r3 |
---|
10378 | | - bcc .L1577 |
---|
10379 | | - ldr r9, .L1590+16 |
---|
| 10826 | + cmp r3, r5 |
---|
| 10827 | + bhi .L1449 |
---|
| 10828 | + ldr r9, .L1461+12 |
---|
10380 | 10829 | mov r8, #0 |
---|
10381 | | - ldr r10, .L1590+20 |
---|
10382 | | - ldr fp, .L1590+8 |
---|
10383 | | -.L1578: |
---|
| 10830 | + ldr r10, .L1461+16 |
---|
| 10831 | +.L1450: |
---|
10384 | 10832 | ldrh r3, [r4, #240] |
---|
10385 | 10833 | uxth r5, r8 |
---|
10386 | 10834 | cmp r3, r5 |
---|
10387 | | - bhi .L1584 |
---|
| 10835 | + bhi .L1456 |
---|
10388 | 10836 | bl l2p_flush |
---|
10389 | 10837 | bl FtlVpcTblFlush |
---|
10390 | | - ldr r2, [sp, #4] |
---|
10391 | | - ldr r3, [r7] |
---|
| 10838 | + ldr r2, [fp, #-48] |
---|
| 10839 | + ldr r3, [r7, #24] |
---|
10392 | 10840 | cmp r2, r3 |
---|
10393 | | - beq .L1585 |
---|
| 10841 | + beq .L1457 |
---|
10394 | 10842 | bl __stack_chk_fail |
---|
10395 | | -.L1577: |
---|
10396 | | - mov r2, #0 |
---|
10397 | | - mov r1, sp |
---|
| 10843 | +.L1449: |
---|
| 10844 | + sub r1, fp, #52 |
---|
10398 | 10845 | mov r0, r5 |
---|
| 10846 | + mov r2, #0 |
---|
10399 | 10847 | bl log2phys |
---|
10400 | | - ldr r0, [sp] |
---|
| 10848 | + ldr r0, [fp, #-52] |
---|
10401 | 10849 | cmn r0, #1 |
---|
10402 | | - beq .L1576 |
---|
| 10850 | + beq .L1448 |
---|
10403 | 10851 | ubfx r0, r0, #10, #16 |
---|
10404 | 10852 | bl P2V_block_in_plane |
---|
10405 | 10853 | ldr r2, [r4, #3352] |
---|
.. | .. |
---|
10407 | 10855 | ldrh r3, [r2, r0] |
---|
10408 | 10856 | add r3, r3, #1 |
---|
10409 | 10857 | strh r3, [r2, r0] @ movhi |
---|
10410 | | -.L1576: |
---|
| 10858 | +.L1448: |
---|
10411 | 10859 | add r5, r5, #1 |
---|
10412 | | - b .L1575 |
---|
10413 | | -.L1584: |
---|
| 10860 | + b .L1447 |
---|
| 10861 | +.L1456: |
---|
10414 | 10862 | uxth r1, r8 |
---|
10415 | 10863 | ldr r3, [r4, #72] |
---|
10416 | 10864 | movw r0, #65535 |
---|
.. | .. |
---|
10420 | 10868 | ldrh r3, [r3, r6] |
---|
10421 | 10869 | cmp r2, r0 |
---|
10422 | 10870 | cmpne r2, r3 |
---|
10423 | | - beq .L1580 |
---|
| 10871 | + beq .L1452 |
---|
10424 | 10872 | mov r0, r9 |
---|
10425 | 10873 | bl sftl_printk |
---|
10426 | 10874 | ldrh r3, [r4, #24] |
---|
10427 | 10875 | cmp r3, r5 |
---|
10428 | | - beq .L1580 |
---|
| 10876 | + beq .L1452 |
---|
10429 | 10877 | ldrh r3, [r4, #124] |
---|
10430 | 10878 | cmp r3, r5 |
---|
10431 | | - beq .L1580 |
---|
| 10879 | + beq .L1452 |
---|
10432 | 10880 | ldrh r3, [r4, #76] |
---|
10433 | 10881 | cmp r3, r5 |
---|
10434 | | - beq .L1580 |
---|
| 10882 | + beq .L1452 |
---|
10435 | 10883 | ldr r3, [r4, #72] |
---|
10436 | | - ldrh r2, [r3, r6] |
---|
10437 | | - cmp r2, #0 |
---|
10438 | 10884 | ldr r2, [r4, #3352] |
---|
| 10885 | + ldrh r1, [r3, r6] |
---|
10439 | 10886 | ldrh r2, [r2, r6] |
---|
| 10887 | + cmp r1, #0 |
---|
10440 | 10888 | strh r2, [r3, r6] @ movhi |
---|
10441 | | - bne .L1582 |
---|
| 10889 | + bne .L1454 |
---|
10442 | 10890 | mov r1, r5 |
---|
10443 | 10891 | mov r0, r10 |
---|
10444 | 10892 | bl List_remove_node |
---|
10445 | 10893 | ldrh r3, [r4, #224] |
---|
10446 | 10894 | cmp r3, #0 |
---|
10447 | | - bne .L1583 |
---|
| 10895 | + bne .L1455 |
---|
| 10896 | + ldr r1, .L1461+4 |
---|
10448 | 10897 | movw r2, #2330 |
---|
10449 | | - mov r1, fp |
---|
10450 | | - ldr r0, .L1590+24 |
---|
| 10898 | + ldr r0, .L1461+20 |
---|
10451 | 10899 | bl sftl_printk |
---|
10452 | | -.L1583: |
---|
| 10900 | +.L1455: |
---|
10453 | 10901 | ldrh r3, [r4, #224] |
---|
10454 | 10902 | mov r0, r5 |
---|
10455 | 10903 | sub r3, r3, #1 |
---|
10456 | 10904 | strh r3, [r4, #224] @ movhi |
---|
10457 | 10905 | bl INSERT_DATA_LIST |
---|
10458 | | -.L1580: |
---|
| 10906 | +.L1452: |
---|
10459 | 10907 | add r8, r8, #1 |
---|
10460 | | - b .L1578 |
---|
10461 | | -.L1582: |
---|
| 10908 | + b .L1450 |
---|
| 10909 | +.L1454: |
---|
10462 | 10910 | mov r0, r5 |
---|
10463 | 10911 | bl update_vpc_list |
---|
10464 | | - b .L1580 |
---|
10465 | | -.L1585: |
---|
10466 | | - add sp, sp, #12 |
---|
10467 | | - @ sp needed |
---|
10468 | | - pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} |
---|
10469 | | -.L1591: |
---|
| 10912 | + b .L1452 |
---|
| 10913 | +.L1457: |
---|
| 10914 | + sub sp, fp, #40 |
---|
| 10915 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 10916 | +.L1462: |
---|
10470 | 10917 | .align 2 |
---|
10471 | | -.L1590: |
---|
10472 | | - .word __stack_chk_guard |
---|
| 10918 | +.L1461: |
---|
10473 | 10919 | .word .LANCHOR0 |
---|
10474 | 10920 | .word .LANCHOR1+486 |
---|
10475 | 10921 | .word .LC111 |
---|
10476 | 10922 | .word .LC121 |
---|
10477 | 10923 | .word .LANCHOR0+2532 |
---|
10478 | 10924 | .word .LC8 |
---|
10479 | | - .fnend |
---|
10480 | 10925 | .size FtlVpcCheckAndModify, .-FtlVpcCheckAndModify |
---|
10481 | 10926 | .align 2 |
---|
10482 | 10927 | .global allocate_new_data_superblock |
---|
.. | .. |
---|
10485 | 10930 | .fpu softvfp |
---|
10486 | 10931 | .type allocate_new_data_superblock, %function |
---|
10487 | 10932 | allocate_new_data_superblock: |
---|
10488 | | - .fnstart |
---|
10489 | 10933 | @ args = 0, pretend = 0, frame = 0 |
---|
10490 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
10491 | | - push {r4, r5, r6, lr} |
---|
10492 | | - .save {r4, r5, r6, lr} |
---|
10493 | | - mov r6, r0 |
---|
10494 | | - ldr r4, .L1603 |
---|
10495 | | - ldrh r5, [r0] |
---|
10496 | | - ldrh r3, [r4, #240] |
---|
10497 | | - cmp r3, r5 |
---|
10498 | | - bcs .L1593 |
---|
| 10934 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 10935 | + mov ip, sp |
---|
| 10936 | + push {r4, r5, r6, r7, fp, ip, lr, pc} |
---|
| 10937 | + sub fp, ip, #4 |
---|
| 10938 | + push {lr} |
---|
| 10939 | + bl __gnu_mcount_nc |
---|
| 10940 | + ldr r6, .L1473 |
---|
| 10941 | + mov r5, r0 |
---|
| 10942 | + ldrh r4, [r0] |
---|
| 10943 | + ldrh r3, [r6, #240] |
---|
| 10944 | + cmp r3, r4 |
---|
| 10945 | + bcs .L1464 |
---|
| 10946 | + ldr r1, .L1473+4 |
---|
10499 | 10947 | movw r2, #2766 |
---|
10500 | | - ldr r1, .L1603+4 |
---|
10501 | | - ldr r0, .L1603+8 |
---|
| 10948 | + ldr r0, .L1473+8 |
---|
10502 | 10949 | bl sftl_printk |
---|
10503 | | -.L1593: |
---|
| 10950 | +.L1464: |
---|
10504 | 10951 | movw r3, #65535 |
---|
10505 | | - cmp r5, r3 |
---|
10506 | | - beq .L1594 |
---|
10507 | | - ldr r2, [r4, #72] |
---|
10508 | | - lsl r3, r5, #1 |
---|
10509 | | - mov r0, r5 |
---|
| 10952 | + cmp r4, r3 |
---|
| 10953 | + beq .L1465 |
---|
| 10954 | + ldr r2, [r6, #72] |
---|
| 10955 | + lsl r3, r4, #1 |
---|
| 10956 | + mov r0, r4 |
---|
10510 | 10957 | ldrh r3, [r2, r3] |
---|
10511 | 10958 | cmp r3, #0 |
---|
10512 | | - beq .L1595 |
---|
| 10959 | + beq .L1466 |
---|
10513 | 10960 | bl INSERT_DATA_LIST |
---|
10514 | | -.L1594: |
---|
| 10961 | +.L1465: |
---|
10515 | 10962 | mov r3, #1 |
---|
10516 | | - strb r3, [r6, #8] |
---|
| 10963 | + strb r3, [r5, #8] |
---|
10517 | 10964 | movw r3, #3438 |
---|
10518 | | - ldrh r0, [r4, r3] |
---|
| 10965 | + ldrh r0, [r6, r3] |
---|
10519 | 10966 | movw r3, #65535 |
---|
10520 | 10967 | cmp r0, r3 |
---|
10521 | | - beq .L1596 |
---|
10522 | | - cmp r5, r0 |
---|
10523 | | - bne .L1597 |
---|
10524 | | - ldr r2, [r4, #72] |
---|
10525 | | - lsl r3, r0, #1 |
---|
10526 | | - ldrh r3, [r2, r3] |
---|
| 10968 | + beq .L1467 |
---|
| 10969 | + cmp r0, r4 |
---|
| 10970 | + bne .L1468 |
---|
| 10971 | + ldr r3, [r6, #72] |
---|
| 10972 | + lsl r4, r4, #1 |
---|
| 10973 | + ldrh r3, [r3, r4] |
---|
10527 | 10974 | cmp r3, #0 |
---|
10528 | | - beq .L1598 |
---|
10529 | | -.L1597: |
---|
| 10975 | + beq .L1469 |
---|
| 10976 | +.L1468: |
---|
10530 | 10977 | bl update_vpc_list |
---|
10531 | | -.L1598: |
---|
10532 | | - mvn r2, #0 |
---|
| 10978 | +.L1469: |
---|
10533 | 10979 | movw r3, #3438 |
---|
10534 | | - strh r2, [r4, r3] @ movhi |
---|
10535 | | -.L1596: |
---|
10536 | | - mov r0, r6 |
---|
| 10980 | + mvn r2, #0 |
---|
| 10981 | + strh r2, [r6, r3] @ movhi |
---|
| 10982 | +.L1467: |
---|
| 10983 | + mov r0, r5 |
---|
10537 | 10984 | bl allocate_data_superblock |
---|
10538 | 10985 | bl l2p_flush |
---|
10539 | 10986 | mov r0, #0 |
---|
10540 | 10987 | bl FtlEctTblFlush |
---|
10541 | 10988 | bl FtlVpcTblFlush |
---|
10542 | 10989 | mov r0, #0 |
---|
10543 | | - pop {r4, r5, r6, pc} |
---|
10544 | | -.L1595: |
---|
| 10990 | + ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} |
---|
| 10991 | +.L1466: |
---|
10545 | 10992 | bl INSERT_FREE_LIST |
---|
10546 | | - b .L1594 |
---|
10547 | | -.L1604: |
---|
| 10993 | + b .L1465 |
---|
| 10994 | +.L1474: |
---|
10548 | 10995 | .align 2 |
---|
10549 | | -.L1603: |
---|
| 10996 | +.L1473: |
---|
10550 | 10997 | .word .LANCHOR0 |
---|
10551 | 10998 | .word .LANCHOR1+507 |
---|
10552 | 10999 | .word .LC8 |
---|
10553 | | - .fnend |
---|
10554 | 11000 | .size allocate_new_data_superblock, .-allocate_new_data_superblock |
---|
| 11001 | + .section .rodata.str1.1 |
---|
| 11002 | +.LC122: |
---|
| 11003 | + .ascii "FtlProgPages error %x = %d\012\000" |
---|
| 11004 | +.LC123: |
---|
| 11005 | + .ascii "Ftlwrite decrement_vpc_count %x = %d\012\000" |
---|
| 11006 | + .text |
---|
10555 | 11007 | .align 2 |
---|
10556 | 11008 | .global FtlProgPages |
---|
10557 | 11009 | .syntax unified |
---|
.. | .. |
---|
10559 | 11011 | .fpu softvfp |
---|
10560 | 11012 | .type FtlProgPages, %function |
---|
10561 | 11013 | FtlProgPages: |
---|
10562 | | - .fnstart |
---|
10563 | 11014 | @ args = 0, pretend = 0, frame = 16 |
---|
10564 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
10565 | | - push {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
10566 | | - .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
10567 | | - mov r5, r3 |
---|
10568 | | - ldr r6, .L1620 |
---|
10569 | | - .pad #20 |
---|
| 11015 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 11016 | + mov ip, sp |
---|
| 11017 | + push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 11018 | + sub fp, ip, #4 |
---|
10570 | 11019 | sub sp, sp, #20 |
---|
| 11020 | + push {lr} |
---|
| 11021 | + bl __gnu_mcount_nc |
---|
| 11022 | + mov r5, r3 |
---|
| 11023 | + mov r3, sp |
---|
| 11024 | + bic r6, r3, #8128 |
---|
| 11025 | + ldr r9, .L1493 |
---|
| 11026 | + bic r6, r6, #63 |
---|
10571 | 11027 | mov r7, #0 |
---|
| 11028 | + mov r8, r7 |
---|
10572 | 11029 | mov r2, #0 |
---|
10573 | | - ldr fp, .L1620+4 |
---|
10574 | 11030 | mov r4, r0 |
---|
10575 | | - ldr r3, [r6] |
---|
10576 | | - mov r10, r1 |
---|
10577 | | - ldr r9, .L1620+8 |
---|
10578 | | - str r3, [sp, #12] |
---|
| 11031 | + str r1, [fp, #-56] |
---|
| 11032 | + ldr r3, [r6, #24] |
---|
| 11033 | + str r3, [fp, #-48] |
---|
10579 | 11034 | ldrb r3, [r5, #9] @ zero_extendqisi2 |
---|
10580 | 11035 | bl FlashProgPages |
---|
10581 | | -.L1606: |
---|
10582 | | - cmp r7, r10 |
---|
10583 | | - bne .L1613 |
---|
10584 | | - ldr r3, .L1620+8 |
---|
10585 | | - ldrb r2, [r5, #6] @ zero_extendqisi2 |
---|
10586 | | - ldrh r3, [r3, #232] |
---|
10587 | | - cmp r2, r3 |
---|
10588 | | - bcc .L1605 |
---|
10589 | | - mov r2, #1000 |
---|
10590 | | - ldr r1, .L1620+12 |
---|
10591 | | - ldr r0, .L1620+16 |
---|
10592 | | - bl sftl_printk |
---|
10593 | | -.L1605: |
---|
10594 | | - ldr r2, [sp, #12] |
---|
10595 | | - ldr r3, [r6] |
---|
10596 | | - cmp r2, r3 |
---|
10597 | | - beq .L1615 |
---|
10598 | | - bl __stack_chk_fail |
---|
10599 | | -.L1608: |
---|
| 11036 | +.L1476: |
---|
| 11037 | + ldr r3, [fp, #-56] |
---|
| 11038 | + cmp r8, r3 |
---|
| 11039 | + beq .L1482 |
---|
| 11040 | + ldr r10, .L1493+4 |
---|
| 11041 | + b .L1483 |
---|
| 11042 | +.L1478: |
---|
10600 | 11043 | ldr r1, [r4, #4] |
---|
10601 | | - mov r0, fp |
---|
| 11044 | + mov r0, r10 |
---|
10602 | 11045 | bl sftl_printk |
---|
10603 | 11046 | ldr r0, [r4, #4] |
---|
10604 | 11047 | ubfx r0, r0, #10, #16 |
---|
.. | .. |
---|
10606 | 11049 | bl decrement_vpc_count |
---|
10607 | 11050 | ldrh r3, [r5, #4] |
---|
10608 | 11051 | cmp r3, #0 |
---|
10609 | | - bne .L1607 |
---|
| 11052 | + bne .L1477 |
---|
10610 | 11053 | mov r0, r5 |
---|
10611 | 11054 | bl allocate_new_data_superblock |
---|
10612 | | -.L1607: |
---|
| 11055 | +.L1477: |
---|
10613 | 11056 | mov r0, r5 |
---|
| 11057 | + mov r7, #1 |
---|
10614 | 11058 | bl get_new_active_ppa |
---|
10615 | | - mov r2, #0 |
---|
10616 | 11059 | str r0, [r4, #4] |
---|
10617 | | - str r0, [sp, #8] |
---|
10618 | | - mov r1, #1 |
---|
| 11060 | + str r0, [fp, #-52] |
---|
| 11061 | + mov r2, #0 |
---|
10619 | 11062 | ldrb r3, [r5, #9] @ zero_extendqisi2 |
---|
10620 | 11063 | mov r0, r4 |
---|
| 11064 | + mov r1, #1 |
---|
10621 | 11065 | bl FlashProgPages |
---|
10622 | | -.L1613: |
---|
| 11066 | +.L1483: |
---|
10623 | 11067 | ldr r2, [r4] |
---|
10624 | 11068 | cmn r2, #1 |
---|
10625 | 11069 | cmpne r2, #256 |
---|
10626 | | - beq .L1608 |
---|
| 11070 | + beq .L1478 |
---|
10627 | 11071 | ldrb r2, [r5, #6] @ zero_extendqisi2 |
---|
10628 | 11072 | ldrh r3, [r9, #232] |
---|
10629 | 11073 | cmp r2, r3 |
---|
10630 | | - bcc .L1609 |
---|
10631 | | - movw r2, #985 |
---|
10632 | | - ldr r1, .L1620+12 |
---|
10633 | | - ldr r0, .L1620+16 |
---|
| 11074 | + bcc .L1479 |
---|
| 11075 | + ldr r1, .L1493+8 |
---|
| 11076 | + movw r2, #986 |
---|
| 11077 | + ldr r0, .L1493+12 |
---|
10634 | 11078 | bl sftl_printk |
---|
10635 | | -.L1609: |
---|
| 11079 | +.L1479: |
---|
10636 | 11080 | ldr r3, [r4, #4] |
---|
10637 | | - add r1, sp, #16 |
---|
10638 | | - mov r2, #1 |
---|
| 11081 | + sub r1, fp, #52 |
---|
10639 | 11082 | ldr r0, [r4, #16] |
---|
10640 | | - str r3, [r1, #-8]! |
---|
| 11083 | + mov r2, #1 |
---|
| 11084 | + str r3, [fp, #-52] |
---|
10641 | 11085 | bl log2phys |
---|
10642 | 11086 | ldr r3, [r4, #12] |
---|
10643 | | - ldr r3, [r3, #12] |
---|
10644 | | - ubfx r0, r3, #10, #16 |
---|
10645 | | - str r3, [sp, #4] |
---|
| 11087 | + ldr r0, [r3, #12] |
---|
| 11088 | + cmn r0, #1 |
---|
| 11089 | + beq .L1480 |
---|
| 11090 | + ubfx r0, r0, #10, #16 |
---|
10646 | 11091 | bl P2V_block_in_plane |
---|
10647 | | - ldr r3, [sp, #4] |
---|
10648 | | - mov r8, r0 |
---|
10649 | | - cmn r3, #1 |
---|
10650 | | - beq .L1610 |
---|
10651 | 11092 | ldr r2, [r9, #72] |
---|
10652 | 11093 | lsl r3, r0, #1 |
---|
| 11094 | + mov r10, r0 |
---|
10653 | 11095 | ldrh r2, [r2, r3] |
---|
10654 | 11096 | cmp r2, #0 |
---|
10655 | | - bne .L1611 |
---|
| 11097 | + bne .L1481 |
---|
10656 | 11098 | mov r1, r0 |
---|
10657 | | - ldr r0, .L1620+20 |
---|
| 11099 | + ldr r0, .L1493+16 |
---|
10658 | 11100 | bl sftl_printk |
---|
10659 | | -.L1611: |
---|
10660 | | - mov r0, r8 |
---|
| 11101 | +.L1481: |
---|
| 11102 | + mov r0, r10 |
---|
10661 | 11103 | bl decrement_vpc_count |
---|
10662 | | -.L1610: |
---|
10663 | | - add r7, r7, #1 |
---|
| 11104 | +.L1480: |
---|
| 11105 | + add r8, r8, #1 |
---|
10664 | 11106 | add r4, r4, #20 |
---|
10665 | | - b .L1606 |
---|
10666 | | -.L1615: |
---|
10667 | | - add sp, sp, #20 |
---|
10668 | | - @ sp needed |
---|
10669 | | - pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} |
---|
10670 | | -.L1621: |
---|
| 11107 | + b .L1476 |
---|
| 11108 | +.L1482: |
---|
| 11109 | + cmp r7, #0 |
---|
| 11110 | + beq .L1484 |
---|
| 11111 | + bl FtlSysFlush |
---|
| 11112 | +.L1484: |
---|
| 11113 | + ldr r3, .L1493 |
---|
| 11114 | + ldrb r2, [r5, #6] @ zero_extendqisi2 |
---|
| 11115 | + ldrh r3, [r3, #232] |
---|
| 11116 | + cmp r2, r3 |
---|
| 11117 | + bcc .L1475 |
---|
| 11118 | + ldr r1, .L1493+8 |
---|
| 11119 | + movw r2, #1005 |
---|
| 11120 | + ldr r0, .L1493+12 |
---|
| 11121 | + bl sftl_printk |
---|
| 11122 | +.L1475: |
---|
| 11123 | + ldr r2, [fp, #-48] |
---|
| 11124 | + ldr r3, [r6, #24] |
---|
| 11125 | + cmp r2, r3 |
---|
| 11126 | + beq .L1486 |
---|
| 11127 | + bl __stack_chk_fail |
---|
| 11128 | +.L1486: |
---|
| 11129 | + sub sp, fp, #40 |
---|
| 11130 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 11131 | +.L1494: |
---|
10671 | 11132 | .align 2 |
---|
10672 | | -.L1620: |
---|
10673 | | - .word __stack_chk_guard |
---|
10674 | | - .word .LC122 |
---|
| 11133 | +.L1493: |
---|
10675 | 11134 | .word .LANCHOR0 |
---|
| 11135 | + .word .LC122 |
---|
10676 | 11136 | .word .LANCHOR1+536 |
---|
10677 | 11137 | .word .LC8 |
---|
10678 | 11138 | .word .LC123 |
---|
10679 | | - .fnend |
---|
10680 | 11139 | .size FtlProgPages, .-FtlProgPages |
---|
10681 | 11140 | .align 2 |
---|
10682 | 11141 | .global FtlGcFreeTempBlock |
---|
.. | .. |
---|
10685 | 11144 | .fpu softvfp |
---|
10686 | 11145 | .type FtlGcFreeTempBlock, %function |
---|
10687 | 11146 | FtlGcFreeTempBlock: |
---|
10688 | | - .fnstart |
---|
10689 | | - @ args = 0, pretend = 0, frame = 8 |
---|
10690 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
10691 | | - push {r0, r1, r2, r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
10692 | | - .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
10693 | | - .pad #12 |
---|
10694 | | - ldr r6, .L1648 |
---|
10695 | | - ldr r4, .L1648+4 |
---|
10696 | | - ldr r3, [r6] |
---|
| 11147 | + @ args = 0, pretend = 0, frame = 16 |
---|
| 11148 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 11149 | + mov ip, sp |
---|
| 11150 | + push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 11151 | + sub fp, ip, #4 |
---|
| 11152 | + sub sp, sp, #20 |
---|
| 11153 | + push {lr} |
---|
| 11154 | + bl __gnu_mcount_nc |
---|
| 11155 | + mov r3, sp |
---|
| 11156 | + ldr r4, .L1520 |
---|
| 11157 | + bic r6, r3, #8128 |
---|
| 11158 | + bic r6, r6, #63 |
---|
10697 | 11159 | ldrh r2, [r4, #124] |
---|
10698 | | - str r3, [sp, #4] |
---|
| 11160 | + ldr r3, [r6, #24] |
---|
| 11161 | + str r3, [fp, #-48] |
---|
10699 | 11162 | movw r3, #302 |
---|
10700 | 11163 | ldrh r1, [r4, r3] |
---|
10701 | 11164 | movw r3, #65535 |
---|
10702 | 11165 | cmp r2, r3 |
---|
10703 | | - bne .L1623 |
---|
10704 | | -.L1630: |
---|
| 11166 | + bne .L1496 |
---|
| 11167 | +.L1503: |
---|
10705 | 11168 | ldrh r2, [r4, #124] |
---|
10706 | 11169 | mov r3, #0 |
---|
10707 | 11170 | str r3, [r4, #3444] |
---|
10708 | 11171 | movw r3, #65535 |
---|
10709 | 11172 | cmp r2, r3 |
---|
10710 | | - bne .L1644 |
---|
10711 | | -.L1624: |
---|
| 11173 | + bne .L1517 |
---|
| 11174 | +.L1497: |
---|
10712 | 11175 | mov r0, #0 |
---|
10713 | | - b .L1622 |
---|
10714 | | -.L1623: |
---|
| 11176 | + b .L1495 |
---|
| 11177 | +.L1496: |
---|
| 11178 | + ldr r5, .L1520+4 |
---|
10715 | 11179 | cmp r0, #0 |
---|
10716 | | - ldr r5, .L1648+8 |
---|
10717 | | - beq .L1626 |
---|
| 11180 | + beq .L1499 |
---|
10718 | 11181 | ldrh r2, [r5, #4] |
---|
10719 | 11182 | cmp r2, r3 |
---|
10720 | | - beq .L1627 |
---|
10721 | | -.L1628: |
---|
| 11183 | + beq .L1500 |
---|
| 11184 | +.L1501: |
---|
10722 | 11185 | mov r1, #2 |
---|
10723 | | -.L1626: |
---|
10724 | | - ldr r0, .L1648+12 |
---|
| 11186 | +.L1499: |
---|
| 11187 | + ldr r0, .L1520+8 |
---|
10725 | 11188 | bl FtlGcScanTempBlk |
---|
10726 | 11189 | ldrh r2, [r5, #4] |
---|
10727 | 11190 | movw r3, #65535 |
---|
10728 | | - str r0, [sp] |
---|
| 11191 | + str r0, [fp, #-52] |
---|
10729 | 11192 | cmp r2, r3 |
---|
10730 | 11193 | movne r0, #1 |
---|
10731 | | - beq .L1630 |
---|
10732 | | -.L1622: |
---|
10733 | | - ldr r2, [sp, #4] |
---|
10734 | | - ldr r3, [r6] |
---|
| 11194 | + beq .L1503 |
---|
| 11195 | +.L1495: |
---|
| 11196 | + ldr r2, [fp, #-48] |
---|
| 11197 | + ldr r3, [r6, #24] |
---|
10735 | 11198 | cmp r2, r3 |
---|
10736 | | - beq .L1639 |
---|
| 11199 | + beq .L1512 |
---|
10737 | 11200 | bl __stack_chk_fail |
---|
10738 | | -.L1627: |
---|
| 11201 | +.L1500: |
---|
10739 | 11202 | mov r3, #0 |
---|
10740 | 11203 | strh r3, [r5, #4] @ movhi |
---|
10741 | 11204 | ldrh r3, [r4, #224] |
---|
10742 | 11205 | cmp r3, #17 |
---|
10743 | | - bhi .L1628 |
---|
10744 | | - b .L1626 |
---|
10745 | | -.L1644: |
---|
| 11206 | + bhi .L1501 |
---|
| 11207 | + b .L1499 |
---|
| 11208 | +.L1517: |
---|
10746 | 11209 | movw r3, #3204 |
---|
10747 | | - ldrb r1, [r4, #131] @ zero_extendqisi2 |
---|
| 11210 | + movw r1, #302 |
---|
10748 | 11211 | ldrh r2, [r4, r3] |
---|
10749 | | - movw r3, #302 |
---|
10750 | | - ldrh r3, [r4, r3] |
---|
10751 | | - mul r3, r3, r1 |
---|
| 11212 | + ldrh r1, [r4, r1] |
---|
| 11213 | + ldrb r3, [r4, #131] @ zero_extendqisi2 |
---|
| 11214 | + mul r3, r1, r3 |
---|
10752 | 11215 | cmp r2, r3 |
---|
10753 | | - beq .L1631 |
---|
| 11216 | + beq .L1504 |
---|
| 11217 | + ldr r1, .L1520+12 |
---|
10754 | 11218 | mov r2, #164 |
---|
10755 | | - ldr r1, .L1648+16 |
---|
10756 | | - ldr r0, .L1648+20 |
---|
| 11219 | + ldr r0, .L1520+16 |
---|
10757 | 11220 | bl sftl_printk |
---|
10758 | | -.L1631: |
---|
| 11221 | +.L1504: |
---|
10759 | 11222 | movw r0, #302 |
---|
10760 | | - ldrb r2, [r4, #131] @ zero_extendqisi2 |
---|
10761 | | - ldrh r0, [r4, r0] |
---|
10762 | | - mov r5, #0 |
---|
10763 | 11223 | ldrh r3, [r4, #124] |
---|
| 11224 | + ldrb r2, [r4, #131] @ zero_extendqisi2 |
---|
| 11225 | + mov r5, #0 |
---|
| 11226 | + ldrh r0, [r4, r0] |
---|
10764 | 11227 | mov r10, #12 |
---|
10765 | | - ldr r1, [r4, #72] |
---|
10766 | | - ldr r9, .L1648+24 |
---|
10767 | | - smulbb r2, r2, r0 |
---|
10768 | 11228 | lsl r3, r3, #1 |
---|
| 11229 | + ldr r1, [r4, #72] |
---|
| 11230 | + ldr r9, .L1520+20 |
---|
| 11231 | + smulbb r2, r2, r0 |
---|
10769 | 11232 | strh r2, [r1, r3] @ movhi |
---|
10770 | 11233 | movw r3, #3204 |
---|
10771 | 11234 | ldr r2, [r4, #2576] |
---|
10772 | 11235 | ldrh r3, [r4, r3] |
---|
10773 | 11236 | add r3, r3, r2 |
---|
10774 | 11237 | str r3, [r4, #2576] |
---|
10775 | | -.L1632: |
---|
| 11238 | +.L1505: |
---|
10776 | 11239 | ldrh r2, [r9] |
---|
10777 | 11240 | uxth r3, r5 |
---|
10778 | 11241 | cmp r2, r3 |
---|
10779 | | - bhi .L1636 |
---|
| 11242 | + bhi .L1509 |
---|
10780 | 11243 | movw r0, #65535 |
---|
10781 | 11244 | bl decrement_vpc_count |
---|
10782 | 11245 | ldrh r0, [r4, #124] |
---|
.. | .. |
---|
10784 | 11247 | lsl r3, r0, #1 |
---|
10785 | 11248 | ldrh r3, [r2, r3] |
---|
10786 | 11249 | cmp r3, #0 |
---|
10787 | | - beq .L1637 |
---|
| 11250 | + beq .L1510 |
---|
10788 | 11251 | bl INSERT_DATA_LIST |
---|
10789 | | -.L1638: |
---|
10790 | | - mov r5, #0 |
---|
| 11252 | +.L1511: |
---|
10791 | 11253 | movw r3, #3204 |
---|
10792 | | - strh r5, [r4, r3] @ movhi |
---|
| 11254 | + mov r5, #0 |
---|
10793 | 11255 | mvn r7, #0 |
---|
10794 | | - movw r3, #3196 |
---|
10795 | 11256 | strh r7, [r4, #124] @ movhi |
---|
| 11257 | + strh r5, [r4, r3] @ movhi |
---|
| 11258 | + movw r3, #3196 |
---|
10796 | 11259 | strh r5, [r4, r3] @ movhi |
---|
10797 | 11260 | bl l2p_flush |
---|
10798 | 11261 | bl FtlVpcTblFlush |
---|
.. | .. |
---|
10801 | 11264 | ldrh r3, [r4, r3] |
---|
10802 | 11265 | strh r7, [r4, #172] @ movhi |
---|
10803 | 11266 | add r3, r3, r3, lsl #1 |
---|
10804 | | - cmp r2, r3, asr #2 |
---|
10805 | | - ldrgt r3, .L1648+28 |
---|
| 11267 | + cmp r2, r3, lsr #2 |
---|
| 11268 | + ldrgt r3, .L1520+24 |
---|
10806 | 11269 | movgt r2, #20 |
---|
10807 | 11270 | strhgt r2, [r3] @ movhi |
---|
10808 | | - b .L1624 |
---|
10809 | | -.L1636: |
---|
| 11271 | + b .L1497 |
---|
| 11272 | +.L1509: |
---|
10810 | 11273 | uxth r8, r5 |
---|
10811 | | - ldr fp, [r4, #3200] |
---|
10812 | | - ldr r3, [r4, #2552] |
---|
| 11274 | + ldr r3, [r4, #3200] |
---|
| 11275 | + ldr r2, [r4, #2552] |
---|
10813 | 11276 | mul r8, r10, r8 |
---|
10814 | | - add r7, fp, r8 |
---|
| 11277 | + add r7, r3, r8 |
---|
10815 | 11278 | ldr r0, [r7, #8] |
---|
10816 | | - cmp r0, r3 |
---|
10817 | | - bcc .L1633 |
---|
10818 | | -.L1646: |
---|
| 11279 | + cmp r0, r2 |
---|
| 11280 | + bcc .L1506 |
---|
| 11281 | +.L1518: |
---|
10819 | 11282 | ldrh r0, [r4, #124] |
---|
10820 | | - b .L1647 |
---|
10821 | | -.L1633: |
---|
| 11283 | + b .L1519 |
---|
| 11284 | +.L1506: |
---|
10822 | 11285 | mov r2, #0 |
---|
10823 | | - mov r1, sp |
---|
| 11286 | + sub r1, fp, #52 |
---|
| 11287 | + str r3, [fp, #-56] |
---|
10824 | 11288 | bl log2phys |
---|
10825 | | - ldr r0, [fp, r8] |
---|
10826 | | - ldr r3, [sp] |
---|
10827 | | - cmp r0, r3 |
---|
10828 | | - bne .L1635 |
---|
| 11289 | + ldr r3, [fp, #-56] |
---|
| 11290 | + ldr r2, [fp, #-52] |
---|
| 11291 | + ldr r0, [r3, r8] |
---|
| 11292 | + cmp r0, r2 |
---|
| 11293 | + bne .L1508 |
---|
10829 | 11294 | ubfx r0, r0, #10, #16 |
---|
10830 | 11295 | bl P2V_block_in_plane |
---|
10831 | | - mov r2, #1 |
---|
10832 | | - mov r8, r0 |
---|
10833 | 11296 | add r1, r7, #4 |
---|
| 11297 | + mov r8, r0 |
---|
| 11298 | + mov r2, #1 |
---|
10834 | 11299 | ldr r0, [r7, #8] |
---|
10835 | 11300 | bl log2phys |
---|
10836 | 11301 | mov r0, r8 |
---|
10837 | | -.L1647: |
---|
| 11302 | +.L1519: |
---|
10838 | 11303 | bl decrement_vpc_count |
---|
10839 | | - b .L1634 |
---|
10840 | | -.L1635: |
---|
10841 | | - ldr r2, [r7, #4] |
---|
10842 | | - cmp r3, r2 |
---|
10843 | | - bne .L1646 |
---|
10844 | | -.L1634: |
---|
| 11304 | + b .L1507 |
---|
| 11305 | +.L1508: |
---|
| 11306 | + ldr r3, [r7, #4] |
---|
| 11307 | + cmp r2, r3 |
---|
| 11308 | + bne .L1518 |
---|
| 11309 | +.L1507: |
---|
10845 | 11310 | add r5, r5, #1 |
---|
10846 | | - b .L1632 |
---|
10847 | | -.L1637: |
---|
| 11311 | + b .L1505 |
---|
| 11312 | +.L1510: |
---|
10848 | 11313 | bl INSERT_FREE_LIST |
---|
10849 | | - b .L1638 |
---|
10850 | | -.L1639: |
---|
10851 | | - add sp, sp, #12 |
---|
10852 | | - @ sp needed |
---|
10853 | | - pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} |
---|
10854 | | -.L1649: |
---|
| 11314 | + b .L1511 |
---|
| 11315 | +.L1512: |
---|
| 11316 | + sub sp, fp, #40 |
---|
| 11317 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 11318 | +.L1521: |
---|
10855 | 11319 | .align 2 |
---|
10856 | | -.L1648: |
---|
10857 | | - .word __stack_chk_guard |
---|
| 11320 | +.L1520: |
---|
10858 | 11321 | .word .LANCHOR0 |
---|
10859 | 11322 | .word .LANCHOR2 |
---|
10860 | 11323 | .word .LANCHOR0+124 |
---|
.. | .. |
---|
10862 | 11325 | .word .LC8 |
---|
10863 | 11326 | .word .LANCHOR0+3204 |
---|
10864 | 11327 | .word .LANCHOR0+3152 |
---|
10865 | | - .fnend |
---|
10866 | 11328 | .size FtlGcFreeTempBlock, .-FtlGcFreeTempBlock |
---|
10867 | 11329 | .align 2 |
---|
10868 | 11330 | .global FtlGcPageRecovery |
---|
.. | .. |
---|
10871 | 11333 | .fpu softvfp |
---|
10872 | 11334 | .type FtlGcPageRecovery, %function |
---|
10873 | 11335 | FtlGcPageRecovery: |
---|
10874 | | - .fnstart |
---|
10875 | 11336 | @ args = 0, pretend = 0, frame = 0 |
---|
10876 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
10877 | | - push {r4, r5, r6, lr} |
---|
10878 | | - .save {r4, r5, r6, lr} |
---|
| 11337 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 11338 | + mov ip, sp |
---|
| 11339 | + push {r4, r5, fp, ip, lr, pc} |
---|
| 11340 | + sub fp, ip, #4 |
---|
| 11341 | + push {lr} |
---|
| 11342 | + bl __gnu_mcount_nc |
---|
| 11343 | + ldr r4, .L1524 |
---|
10879 | 11344 | movw r5, #302 |
---|
10880 | | - ldr r4, .L1653 |
---|
10881 | | - ldrh r1, [r4, r5] |
---|
10882 | 11345 | add r0, r4, #124 |
---|
| 11346 | + ldrh r1, [r4, r5] |
---|
10883 | 11347 | bl FtlGcScanTempBlk |
---|
10884 | 11348 | ldrh r2, [r4, #126] |
---|
10885 | 11349 | ldrh r3, [r4, r5] |
---|
10886 | 11350 | cmp r2, r3 |
---|
10887 | | - popcc {r4, r5, r6, pc} |
---|
| 11351 | + ldmfdcc sp, {r4, r5, fp, sp, pc} |
---|
10888 | 11352 | add r0, r4, #3392 |
---|
10889 | 11353 | bl FtlMapBlkWriteDump_data |
---|
10890 | 11354 | mov r0, #0 |
---|
10891 | 11355 | bl FtlGcFreeTempBlock |
---|
10892 | 11356 | mov r3, #0 |
---|
10893 | 11357 | str r3, [r4, #3444] |
---|
10894 | | - pop {r4, r5, r6, pc} |
---|
10895 | | -.L1654: |
---|
| 11358 | + ldmfd sp, {r4, r5, fp, sp, pc} |
---|
| 11359 | +.L1525: |
---|
10896 | 11360 | .align 2 |
---|
10897 | | -.L1653: |
---|
| 11361 | +.L1524: |
---|
10898 | 11362 | .word .LANCHOR0 |
---|
10899 | | - .fnend |
---|
10900 | 11363 | .size FtlGcPageRecovery, .-FtlGcPageRecovery |
---|
10901 | 11364 | .align 2 |
---|
10902 | 11365 | .global FtlPowerLostRecovery |
---|
.. | .. |
---|
10905 | 11368 | .fpu softvfp |
---|
10906 | 11369 | .type FtlPowerLostRecovery, %function |
---|
10907 | 11370 | FtlPowerLostRecovery: |
---|
10908 | | - .fnstart |
---|
10909 | 11371 | @ args = 0, pretend = 0, frame = 0 |
---|
10910 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
10911 | | - push {r4, r5, r6, lr} |
---|
10912 | | - .save {r4, r5, r6, lr} |
---|
| 11372 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 11373 | + mov ip, sp |
---|
| 11374 | + push {r4, r5, r6, r7, fp, ip, lr, pc} |
---|
| 11375 | + sub fp, ip, #4 |
---|
| 11376 | + push {lr} |
---|
| 11377 | + bl __gnu_mcount_nc |
---|
| 11378 | + ldr r4, .L1527 |
---|
10913 | 11379 | mov r5, #0 |
---|
10914 | | - ldr r4, .L1657 |
---|
10915 | 11380 | add r6, r4, #24 |
---|
10916 | | - str r5, [r4, #3476] |
---|
10917 | | - mov r0, r6 |
---|
10918 | 11381 | add r4, r4, #76 |
---|
| 11382 | + mov r0, r6 |
---|
| 11383 | + str r5, [r4, #3400] |
---|
10919 | 11384 | bl FtlRecoverySuperblock |
---|
10920 | 11385 | mov r0, r6 |
---|
10921 | 11386 | bl FtlSlcSuperblockCheck |
---|
.. | .. |
---|
10927 | 11392 | movw r0, #65535 |
---|
10928 | 11393 | bl decrement_vpc_count |
---|
10929 | 11394 | mov r0, r5 |
---|
10930 | | - pop {r4, r5, r6, pc} |
---|
10931 | | -.L1658: |
---|
| 11395 | + ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} |
---|
| 11396 | +.L1528: |
---|
10932 | 11397 | .align 2 |
---|
10933 | | -.L1657: |
---|
| 11398 | +.L1527: |
---|
10934 | 11399 | .word .LANCHOR0 |
---|
10935 | | - .fnend |
---|
10936 | 11400 | .size FtlPowerLostRecovery, .-FtlPowerLostRecovery |
---|
10937 | 11401 | .align 2 |
---|
10938 | 11402 | .global Ftl_gc_temp_data_write_back |
---|
.. | .. |
---|
10941 | 11405 | .fpu softvfp |
---|
10942 | 11406 | .type Ftl_gc_temp_data_write_back, %function |
---|
10943 | 11407 | Ftl_gc_temp_data_write_back: |
---|
10944 | | - .fnstart |
---|
10945 | 11408 | @ args = 0, pretend = 0, frame = 0 |
---|
10946 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
10947 | | - push {r4, r5, r6, lr} |
---|
10948 | | - .save {r4, r5, r6, lr} |
---|
10949 | | - mov r3, #0 |
---|
10950 | | - ldr r4, .L1668 |
---|
| 11409 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 11410 | + mov ip, sp |
---|
| 11411 | + push {r4, r5, r6, r7, fp, ip, lr, pc} |
---|
| 11412 | + sub fp, ip, #4 |
---|
| 11413 | + push {lr} |
---|
| 11414 | + bl __gnu_mcount_nc |
---|
| 11415 | + ldr r4, .L1537 |
---|
10951 | 11416 | mov r5, #0 |
---|
10952 | 11417 | mov r6, #20 |
---|
| 11418 | + mov r3, #0 |
---|
10953 | 11419 | mov r2, r3 |
---|
10954 | 11420 | ldr r1, [r4, #3168] |
---|
10955 | 11421 | ldr r0, [r4, #3292] |
---|
10956 | 11422 | bl FlashProgPages |
---|
10957 | | -.L1660: |
---|
| 11423 | +.L1530: |
---|
10958 | 11424 | ldr r1, [r4, #3168] |
---|
10959 | 11425 | uxth r3, r5 |
---|
10960 | | - cmp r1, r3 |
---|
10961 | | - bhi .L1663 |
---|
10962 | | - ldr r0, [r4, #3292] |
---|
| 11426 | + ldr r2, [r4, #3292] |
---|
| 11427 | + cmp r3, r1 |
---|
| 11428 | + bcc .L1533 |
---|
| 11429 | + mov r0, r2 |
---|
10963 | 11430 | bl FtlGcBufFree |
---|
10964 | 11431 | ldrh r3, [r4, #128] |
---|
10965 | 11432 | mov r0, #0 |
---|
10966 | 11433 | str r0, [r4, #3168] |
---|
10967 | 11434 | cmp r3, r0 |
---|
10968 | | - popne {r4, r5, r6, pc} |
---|
| 11435 | + ldmfdne sp, {r4, r5, r6, r7, fp, sp, pc} |
---|
10969 | 11436 | mov r0, #1 |
---|
10970 | 11437 | bl FtlGcFreeTempBlock |
---|
10971 | 11438 | mov r0, #1 |
---|
10972 | | - pop {r4, r5, r6, pc} |
---|
10973 | | -.L1663: |
---|
| 11439 | + ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} |
---|
| 11440 | +.L1533: |
---|
10974 | 11441 | mul r3, r6, r3 |
---|
10975 | | - ldr r2, [r4, #3292] |
---|
10976 | 11442 | add r5, r5, #1 |
---|
10977 | 11443 | add r1, r2, r3 |
---|
10978 | 11444 | ldr r2, [r2, r3] |
---|
10979 | | - ldr r0, [r1, #12] |
---|
10980 | | - ldr r1, [r1, #4] |
---|
| 11445 | + ldr ip, [r1, #12] |
---|
10981 | 11446 | cmn r2, #1 |
---|
10982 | | - ldrne r2, [r0, #8] |
---|
10983 | | - ldr r0, [r0, #12] |
---|
| 11447 | + ldr r1, [r1, #4] |
---|
| 11448 | + ldr r0, [ip, #12] |
---|
| 11449 | + ldrne r2, [ip, #8] |
---|
10984 | 11450 | bl FtlGcUpdatePage |
---|
10985 | | - b .L1660 |
---|
10986 | | -.L1669: |
---|
| 11451 | + b .L1530 |
---|
| 11452 | +.L1538: |
---|
10987 | 11453 | .align 2 |
---|
10988 | | -.L1668: |
---|
| 11454 | +.L1537: |
---|
10989 | 11455 | .word .LANCHOR0 |
---|
10990 | | - .fnend |
---|
10991 | 11456 | .size Ftl_gc_temp_data_write_back, .-Ftl_gc_temp_data_write_back |
---|
10992 | 11457 | .align 2 |
---|
10993 | 11458 | .global Ftl_get_new_temp_ppa |
---|
.. | .. |
---|
10996 | 11461 | .fpu softvfp |
---|
10997 | 11462 | .type Ftl_get_new_temp_ppa, %function |
---|
10998 | 11463 | Ftl_get_new_temp_ppa: |
---|
10999 | | - .fnstart |
---|
11000 | 11464 | @ args = 0, pretend = 0, frame = 0 |
---|
11001 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
11002 | | - push {r4, r5, r6, lr} |
---|
11003 | | - .save {r4, r5, r6, lr} |
---|
| 11465 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 11466 | + mov ip, sp |
---|
| 11467 | + push {r4, r5, fp, ip, lr, pc} |
---|
| 11468 | + sub fp, ip, #4 |
---|
| 11469 | + push {lr} |
---|
| 11470 | + bl __gnu_mcount_nc |
---|
| 11471 | + ldr r4, .L1542 |
---|
11004 | 11472 | movw r3, #65535 |
---|
11005 | | - ldr r4, .L1674 |
---|
11006 | 11473 | ldrh r2, [r4, #124] |
---|
11007 | 11474 | cmp r2, r3 |
---|
11008 | | - beq .L1671 |
---|
| 11475 | + beq .L1540 |
---|
11009 | 11476 | ldrh r3, [r4, #128] |
---|
11010 | 11477 | cmp r3, #0 |
---|
11011 | | - bne .L1672 |
---|
11012 | | -.L1671: |
---|
| 11478 | + bne .L1541 |
---|
| 11479 | +.L1540: |
---|
11013 | 11480 | mov r0, #0 |
---|
11014 | 11481 | mov r5, #0 |
---|
11015 | 11482 | bl FtlGcFreeTempBlock |
---|
11016 | | - ldr r0, .L1674+4 |
---|
| 11483 | + ldr r0, .L1542+4 |
---|
11017 | 11484 | strb r5, [r4, #132] |
---|
11018 | 11485 | bl allocate_data_superblock |
---|
11019 | 11486 | movw r3, #3196 |
---|
.. | .. |
---|
11024 | 11491 | mov r0, r5 |
---|
11025 | 11492 | bl FtlEctTblFlush |
---|
11026 | 11493 | bl FtlVpcTblFlush |
---|
11027 | | -.L1672: |
---|
11028 | | - ldr r0, .L1674+4 |
---|
11029 | | - pop {r4, r5, r6, lr} |
---|
11030 | | - b get_new_active_ppa |
---|
11031 | | -.L1675: |
---|
| 11494 | +.L1541: |
---|
| 11495 | + ldr r0, .L1542+4 |
---|
| 11496 | + bl get_new_active_ppa |
---|
| 11497 | + ldmfd sp, {r4, r5, fp, sp, pc} |
---|
| 11498 | +.L1543: |
---|
11032 | 11499 | .align 2 |
---|
11033 | | -.L1674: |
---|
| 11500 | +.L1542: |
---|
11034 | 11501 | .word .LANCHOR0 |
---|
11035 | 11502 | .word .LANCHOR0+124 |
---|
11036 | | - .fnend |
---|
11037 | 11503 | .size Ftl_get_new_temp_ppa, .-Ftl_get_new_temp_ppa |
---|
| 11504 | + .section .rodata.str1.1 |
---|
| 11505 | +.LC124: |
---|
| 11506 | + .ascii "SWL %x, FSB = %x vpc= %x,ec=%x th=%x\012\000" |
---|
| 11507 | + .text |
---|
11038 | 11508 | .align 2 |
---|
11039 | 11509 | .global rk_ftl_garbage_collect |
---|
11040 | 11510 | .syntax unified |
---|
.. | .. |
---|
11042 | 11512 | .fpu softvfp |
---|
11043 | 11513 | .type rk_ftl_garbage_collect, %function |
---|
11044 | 11514 | rk_ftl_garbage_collect: |
---|
11045 | | - .fnstart |
---|
11046 | | - @ args = 0, pretend = 0, frame = 40 |
---|
11047 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
11048 | | - ldr r3, .L1803 |
---|
11049 | | - push {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
11050 | | - .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
11051 | | - .pad #52 |
---|
11052 | | - sub sp, sp, #52 |
---|
11053 | | - str r0, [sp, #20] |
---|
11054 | | - ldr r3, [r3] |
---|
11055 | | - str r3, [sp, #44] |
---|
11056 | | - ldr r3, .L1803+4 |
---|
11057 | | - ldr r0, [r3, #3272] |
---|
| 11515 | + @ args = 0, pretend = 0, frame = 32 |
---|
| 11516 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 11517 | + mov ip, sp |
---|
| 11518 | + push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 11519 | + sub fp, ip, #4 |
---|
| 11520 | + sub sp, sp, #44 |
---|
| 11521 | + push {lr} |
---|
| 11522 | + bl __gnu_mcount_nc |
---|
| 11523 | + ldr r4, .L1660 |
---|
| 11524 | + mov r3, sp |
---|
| 11525 | + bic r3, r3, #8128 |
---|
| 11526 | + str r0, [fp, #-72] |
---|
| 11527 | + bic r3, r3, #63 |
---|
| 11528 | + ldr r0, [r4, #3272] |
---|
| 11529 | + ldr r3, [r3, #24] |
---|
11058 | 11530 | cmp r0, #0 |
---|
| 11531 | + str r3, [fp, #-48] |
---|
11059 | 11532 | movne r0, #0 |
---|
11060 | | - bne .L1676 |
---|
11061 | | - add r2, r3, #2528 |
---|
11062 | | - ldrh r2, [r2] |
---|
11063 | | - cmp r2, #47 |
---|
11064 | | - bls .L1676 |
---|
11065 | | - ldr r2, .L1803+8 |
---|
11066 | | - mov r4, r3 |
---|
11067 | | - ldrh r1, [r2, #4] |
---|
11068 | | - movw r2, #65535 |
---|
11069 | | - cmp r1, r2 |
---|
11070 | | - bne .L1678 |
---|
11071 | | -.L1681: |
---|
| 11533 | + bne .L1544 |
---|
| 11534 | + add r3, r4, #2528 |
---|
| 11535 | + ldrh r3, [r3] |
---|
| 11536 | + cmp r3, #47 |
---|
| 11537 | + bls .L1544 |
---|
| 11538 | + ldr r3, .L1660+4 |
---|
| 11539 | + ldrh r2, [r3, #4] |
---|
| 11540 | + movw r3, #65535 |
---|
| 11541 | + cmp r2, r3 |
---|
| 11542 | + bne .L1546 |
---|
| 11543 | +.L1549: |
---|
11072 | 11544 | ldrh r3, [r4, #220] |
---|
11073 | 11545 | movw r2, #65535 |
---|
11074 | 11546 | cmp r3, r2 |
---|
11075 | | - bne .L1679 |
---|
11076 | | -.L1680: |
---|
| 11547 | + bne .L1547 |
---|
| 11548 | +.L1548: |
---|
11077 | 11549 | bl FtlReadRefresh |
---|
| 11550 | + ldrh r0, [r4, #124] |
---|
| 11551 | + ldrh r5, [r4, #172] |
---|
| 11552 | + movw r6, #65535 |
---|
11078 | 11553 | ldr r3, [r4, #3156] |
---|
11079 | | - movw r7, #65535 |
---|
11080 | | - ldr r2, [sp, #20] |
---|
| 11554 | + and r5, r5, r0 |
---|
| 11555 | + ldrh r0, [r4, #222] |
---|
| 11556 | + ldr r2, [fp, #-72] |
---|
11081 | 11557 | add r3, r3, #1 |
---|
| 11558 | + and r5, r5, r0 |
---|
| 11559 | + cmp r5, r6 |
---|
11082 | 11560 | add r3, r3, r2, lsl #7 |
---|
11083 | | - ldrh r2, [r4, #172] |
---|
| 11561 | + movne r5, r6 |
---|
11084 | 11562 | str r3, [r4, #3156] |
---|
11085 | | - cmp r2, r7 |
---|
11086 | | - bne .L1682 |
---|
11087 | | - ldrh r7, [r4, #124] |
---|
11088 | | - cmp r7, r2 |
---|
11089 | | - movne r7, r2 |
---|
11090 | | - bne .L1682 |
---|
11091 | | - ldrh r5, [r4, #222] |
---|
11092 | | - cmp r5, r7 |
---|
11093 | | - bne .L1682 |
---|
| 11563 | + bne .L1550 |
---|
11094 | 11564 | ldrh r2, [r4, #224] |
---|
11095 | 11565 | cmp r2, #24 |
---|
11096 | 11566 | movcc r2, #5120 |
---|
11097 | 11567 | movcs r2, #1024 |
---|
11098 | 11568 | cmp r3, r2 |
---|
11099 | | - movls r7, r5 |
---|
11100 | | - bls .L1682 |
---|
11101 | | - mov r8, #0 |
---|
| 11569 | + bls .L1550 |
---|
11102 | 11570 | movw r3, #3660 |
---|
11103 | | - str r8, [r4, #3156] |
---|
11104 | | - strh r8, [r4, r3] @ movhi |
---|
| 11571 | + mov r7, #0 |
---|
| 11572 | + str r7, [r4, #3156] |
---|
| 11573 | + strh r7, [r4, r3] @ movhi |
---|
11105 | 11574 | bl GetSwlReplaceBlock |
---|
11106 | | - cmp r0, r5 |
---|
11107 | | - mov r7, r0 |
---|
11108 | | - movne r5, r0 |
---|
11109 | | - bne .L1684 |
---|
| 11575 | + mov r5, r0 |
---|
| 11576 | + cmp r0, r6 |
---|
| 11577 | + bne .L1552 |
---|
11110 | 11578 | movw r6, #3154 |
---|
11111 | 11579 | ldrh r2, [r4, #224] |
---|
11112 | 11580 | ldrh r3, [r4, r6] |
---|
11113 | 11581 | cmp r2, r3 |
---|
11114 | | - bcs .L1685 |
---|
| 11582 | + bcs .L1553 |
---|
11115 | 11583 | mov r0, #64 |
---|
11116 | 11584 | bl List_get_gc_head_node |
---|
11117 | 11585 | uxth r3, r0 |
---|
11118 | | - cmp r3, r7 |
---|
11119 | | - beq .L1687 |
---|
| 11586 | + cmp r3, r5 |
---|
| 11587 | + beq .L1555 |
---|
11120 | 11588 | mov r0, r3 |
---|
11121 | 11589 | ldr r3, [r4, #72] |
---|
11122 | 11590 | lsl r0, r0, #1 |
---|
11123 | 11591 | ldrh r3, [r3, r0] |
---|
11124 | 11592 | cmp r3, #7 |
---|
11125 | | - bhi .L1688 |
---|
11126 | | - mov r0, r8 |
---|
| 11593 | + bhi .L1556 |
---|
| 11594 | + mov r0, r7 |
---|
11127 | 11595 | bl List_get_gc_head_node |
---|
11128 | | - uxth r5, r0 |
---|
| 11596 | + uxth r0, r0 |
---|
11129 | 11597 | mov r3, #128 |
---|
| 11598 | + cmp r0, r5 |
---|
11130 | 11599 | strh r3, [r4, r6] @ movhi |
---|
11131 | | - cmp r5, r7 |
---|
11132 | | - bne .L1684 |
---|
11133 | | -.L1687: |
---|
11134 | | - bl FtlGcReFreshBadBlk |
---|
11135 | | -.L1682: |
---|
11136 | | - movw r1, #65535 |
---|
11137 | | - ldr r2, [sp, #20] |
---|
11138 | | - sub r3, r7, r1 |
---|
11139 | | - clz r3, r3 |
---|
11140 | | - lsr r3, r3, #5 |
---|
11141 | | - cmp r2, #0 |
---|
11142 | | - movne r2, #0 |
---|
11143 | | - andeq r2, r3, #1 |
---|
11144 | | - cmp r2, #0 |
---|
11145 | | - beq .L1690 |
---|
11146 | | - ldrh r3, [r4, #224] |
---|
11147 | | - cmp r3, #24 |
---|
11148 | | - movhi r6, #1 |
---|
11149 | | - bhi .L1691 |
---|
11150 | | - movw r2, #302 |
---|
11151 | | - cmp r3, #16 |
---|
11152 | | - ldrh r6, [r4, r2] |
---|
11153 | | - lsrhi r6, r6, #5 |
---|
11154 | | - bhi .L1691 |
---|
11155 | | - cmp r3, #12 |
---|
11156 | | - lsrhi r6, r6, #4 |
---|
11157 | | - bhi .L1691 |
---|
11158 | | - cmp r3, #8 |
---|
11159 | | - lsrhi r6, r6, #2 |
---|
11160 | | -.L1691: |
---|
11161 | | - ldr r2, .L1803+12 |
---|
11162 | | - ldrh r1, [r2] |
---|
11163 | | - cmp r1, r3 |
---|
11164 | | - mov r1, r2 |
---|
11165 | | - bcs .L1695 |
---|
11166 | | - ldrh r3, [r4, #124] |
---|
11167 | | - movw r0, #65535 |
---|
11168 | | - cmp r3, r0 |
---|
11169 | | - bne .L1696 |
---|
11170 | | - ldrh r0, [r4, #222] |
---|
11171 | | - cmp r0, r3 |
---|
11172 | | - bne .L1696 |
---|
11173 | | - movw r3, #3660 |
---|
11174 | | - ldrh r0, [r4, r3] |
---|
11175 | | - cmp r0, #0 |
---|
11176 | | - bne .L1697 |
---|
11177 | | - ldr r3, [r4, #2552] |
---|
11178 | | - ldr ip, [r4, #2548] |
---|
11179 | | - add r3, r3, r3, lsl #1 |
---|
11180 | | - cmp ip, r3, lsr #2 |
---|
11181 | | - movcs r3, #18 |
---|
11182 | | - strhcs r3, [r2] @ movhi |
---|
11183 | | - bcs .L1699 |
---|
11184 | | -.L1697: |
---|
11185 | | - movw r3, #2620 |
---|
11186 | | - ldrh r3, [r4, r3] |
---|
11187 | | - add r3, r3, r3, lsl #1 |
---|
11188 | | - asr r3, r3, #2 |
---|
11189 | | - strh r3, [r1] @ movhi |
---|
11190 | | -.L1699: |
---|
11191 | | - mov r3, #0 |
---|
11192 | | - str r3, [r4, #3164] |
---|
11193 | | -.L1676: |
---|
11194 | | - ldr r3, .L1803 |
---|
11195 | | - ldr r2, [sp, #44] |
---|
11196 | | - ldr r3, [r3] |
---|
| 11600 | + beq .L1555 |
---|
| 11601 | + mov r5, r0 |
---|
| 11602 | +.L1552: |
---|
| 11603 | + ldr r1, .L1660+8 |
---|
| 11604 | + lsl r2, r5, #1 |
---|
| 11605 | + ldr r3, [r4, #72] |
---|
| 11606 | + ldr r0, .L1660+12 |
---|
| 11607 | + ldrh r1, [r1] |
---|
| 11608 | + ldrh r3, [r3, r2] |
---|
| 11609 | + str r1, [sp, #4] |
---|
| 11610 | + ldr r1, [r4, #2536] |
---|
| 11611 | + ldrh r2, [r1, r2] |
---|
| 11612 | + mov r1, r5 |
---|
| 11613 | + str r2, [sp] |
---|
| 11614 | + ldrh r2, [r4, #224] |
---|
| 11615 | + bl sftl_printk |
---|
| 11616 | + b .L1555 |
---|
| 11617 | +.L1546: |
---|
| 11618 | + ldrh r2, [r4, #124] |
---|
11197 | 11619 | cmp r2, r3 |
---|
11198 | | - beq .L1754 |
---|
11199 | | - bl __stack_chk_fail |
---|
11200 | | -.L1678: |
---|
11201 | | - ldrh r3, [r3, #124] |
---|
11202 | | - cmp r3, r2 |
---|
11203 | | - beq .L1681 |
---|
| 11620 | + beq .L1549 |
---|
11204 | 11621 | mov r0, #1 |
---|
11205 | 11622 | bl FtlGcFreeTempBlock |
---|
11206 | 11623 | cmp r0, #0 |
---|
11207 | | - beq .L1681 |
---|
| 11624 | + beq .L1549 |
---|
11208 | 11625 | mov r0, #1 |
---|
11209 | | - b .L1676 |
---|
11210 | | -.L1679: |
---|
| 11626 | + b .L1544 |
---|
| 11627 | +.L1547: |
---|
11211 | 11628 | ldrh r1, [r4, #222] |
---|
11212 | 11629 | cmp r1, r2 |
---|
11213 | 11630 | strheq r3, [r4, #222] @ movhi |
---|
11214 | 11631 | mvneq r3, #0 |
---|
11215 | 11632 | strheq r3, [r4, #220] @ movhi |
---|
11216 | | - b .L1680 |
---|
11217 | | -.L1688: |
---|
| 11633 | + b .L1548 |
---|
| 11634 | +.L1556: |
---|
11218 | 11635 | mov r3, #64 |
---|
11219 | | -.L1799: |
---|
| 11636 | +.L1656: |
---|
11220 | 11637 | strh r3, [r4, r6] @ movhi |
---|
11221 | | - b .L1687 |
---|
11222 | | -.L1685: |
---|
| 11638 | +.L1555: |
---|
| 11639 | + bl FtlGcReFreshBadBlk |
---|
| 11640 | +.L1550: |
---|
| 11641 | + ldr r2, [fp, #-72] |
---|
| 11642 | + movw r3, #65535 |
---|
| 11643 | + cmp r2, #0 |
---|
| 11644 | + cmpeq r5, r3 |
---|
| 11645 | + moveq r2, #1 |
---|
| 11646 | + movne r2, #0 |
---|
| 11647 | + bne .L1558 |
---|
| 11648 | + ldrh r3, [r4, #224] |
---|
| 11649 | + cmp r3, #24 |
---|
| 11650 | + movhi r6, #1 |
---|
| 11651 | + bhi .L1559 |
---|
| 11652 | + movw r2, #302 |
---|
| 11653 | + cmp r3, #16 |
---|
| 11654 | + ldrh r6, [r4, r2] |
---|
| 11655 | + lsrhi r6, r6, #5 |
---|
| 11656 | + bhi .L1559 |
---|
| 11657 | + cmp r3, #12 |
---|
| 11658 | + lsrhi r6, r6, #4 |
---|
| 11659 | + bhi .L1559 |
---|
| 11660 | + cmp r3, #8 |
---|
| 11661 | + lsrhi r6, r6, #2 |
---|
| 11662 | +.L1559: |
---|
| 11663 | + ldr r2, .L1660+8 |
---|
| 11664 | + ldrh r1, [r2] |
---|
| 11665 | + cmp r1, r3 |
---|
| 11666 | + bcs .L1562 |
---|
| 11667 | + ldrh r1, [r4, #222] |
---|
| 11668 | + ldrh r3, [r4, #124] |
---|
| 11669 | + and r3, r3, r1 |
---|
| 11670 | + movw r1, #65535 |
---|
| 11671 | + cmp r3, r1 |
---|
| 11672 | + bne .L1563 |
---|
| 11673 | + movw r3, #3660 |
---|
| 11674 | + ldrh r0, [r4, r3] |
---|
| 11675 | + cmp r0, #0 |
---|
| 11676 | + bne .L1564 |
---|
| 11677 | + ldr r3, [r4, #2552] |
---|
| 11678 | + ldr r1, [r4, #2548] |
---|
| 11679 | + add r3, r3, r3, lsl #1 |
---|
| 11680 | + cmp r1, r3, lsr #2 |
---|
| 11681 | + movcs r3, #18 |
---|
| 11682 | + bcs .L1565 |
---|
| 11683 | +.L1564: |
---|
| 11684 | + movw r3, #2620 |
---|
| 11685 | + ldrh r3, [r4, r3] |
---|
| 11686 | + add r3, r3, r3, lsl #1 |
---|
| 11687 | + lsr r3, r3, #2 |
---|
| 11688 | +.L1565: |
---|
| 11689 | + strh r3, [r2] @ movhi |
---|
| 11690 | + mov r3, #0 |
---|
| 11691 | + str r3, [r4, #3164] |
---|
| 11692 | +.L1544: |
---|
| 11693 | + mov r3, sp |
---|
| 11694 | + ldr r2, [fp, #-48] |
---|
| 11695 | + bic r3, r3, #8128 |
---|
| 11696 | + bic r3, r3, #63 |
---|
| 11697 | + ldr r3, [r3, #24] |
---|
| 11698 | + cmp r2, r3 |
---|
| 11699 | + beq .L1619 |
---|
| 11700 | + bl __stack_chk_fail |
---|
| 11701 | +.L1553: |
---|
11223 | 11702 | mov r3, #80 |
---|
11224 | | - b .L1799 |
---|
11225 | | -.L1684: |
---|
11226 | | - ldr r0, .L1803+12 |
---|
11227 | | - lsl r1, r5, #1 |
---|
11228 | | - ldr r3, [r4, #72] |
---|
11229 | | - mov r7, r5 |
---|
11230 | | - ldrh r2, [r4, #224] |
---|
11231 | | - ldrh r0, [r0] |
---|
11232 | | - ldrh r3, [r3, r1] |
---|
11233 | | - str r0, [sp, #4] |
---|
11234 | | - ldr r0, [r4, #2536] |
---|
11235 | | - ldrh r1, [r0, r1] |
---|
11236 | | - ldr r0, .L1803+16 |
---|
11237 | | - str r1, [sp] |
---|
11238 | | - mov r1, r5 |
---|
11239 | | - bl sftl_printk |
---|
11240 | | - b .L1687 |
---|
11241 | | -.L1696: |
---|
| 11703 | + b .L1656 |
---|
| 11704 | +.L1563: |
---|
11242 | 11705 | movw r3, #2620 |
---|
11243 | 11706 | ldrh r3, [r4, r3] |
---|
11244 | 11707 | add r3, r3, r3, lsl #1 |
---|
11245 | 11708 | asr r3, r3, #2 |
---|
11246 | | - strh r3, [r1] @ movhi |
---|
11247 | | -.L1695: |
---|
| 11709 | + strh r3, [r2] @ movhi |
---|
| 11710 | +.L1562: |
---|
11248 | 11711 | movw r3, #3206 |
---|
11249 | | - movw r7, #65535 |
---|
| 11712 | + movw r5, #65535 |
---|
11250 | 11713 | ldrh r3, [r4, r3] |
---|
11251 | 11714 | cmp r3, #0 |
---|
11252 | 11715 | addne r6, r6, #32 |
---|
11253 | 11716 | uxthne r6, r6 |
---|
11254 | | -.L1701: |
---|
| 11717 | +.L1567: |
---|
11255 | 11718 | ldrh r3, [r4, #172] |
---|
11256 | 11719 | movw r2, #65535 |
---|
11257 | 11720 | cmp r3, r2 |
---|
11258 | | - bne .L1710 |
---|
11259 | | - cmp r7, r3 |
---|
11260 | | - strhne r7, [r4, #172] @ movhi |
---|
11261 | | - bne .L1712 |
---|
| 11721 | + bne .L1575 |
---|
| 11722 | + cmp r5, r3 |
---|
| 11723 | + strhne r5, [r4, #172] @ movhi |
---|
| 11724 | + bne .L1577 |
---|
11262 | 11725 | ldrh r3, [r4, #222] |
---|
11263 | | - cmp r3, r7 |
---|
11264 | | - beq .L1712 |
---|
| 11726 | + cmp r3, r5 |
---|
| 11727 | + beq .L1577 |
---|
11265 | 11728 | ldr r2, [r4, #72] |
---|
11266 | 11729 | lsl r3, r3, #1 |
---|
11267 | 11730 | ldrh r3, [r2, r3] |
---|
.. | .. |
---|
11272 | 11735 | strh r3, [r4, #172] @ movhi |
---|
11273 | 11736 | mvn r3, #0 |
---|
11274 | 11737 | strh r3, [r4, #222] @ movhi |
---|
11275 | | -.L1712: |
---|
| 11738 | +.L1577: |
---|
11276 | 11739 | ldrh r0, [r4, #172] |
---|
11277 | 11740 | mov r3, #0 |
---|
11278 | 11741 | strb r3, [r4, #180] |
---|
11279 | 11742 | movw r3, #65535 |
---|
11280 | 11743 | cmp r0, r3 |
---|
11281 | | - beq .L1710 |
---|
| 11744 | + beq .L1575 |
---|
11282 | 11745 | bl IsBlkInGcList |
---|
11283 | | - cmp r0, #0 |
---|
11284 | | - mvnne r3, #0 |
---|
11285 | | - strhne r3, [r4, #172] @ movhi |
---|
11286 | | - movw r3, #65535 |
---|
11287 | | - ldrh r2, [r4, #172] |
---|
11288 | | - cmp r2, r3 |
---|
11289 | | - beq .L1710 |
---|
11290 | | - ldr r0, .L1803+20 |
---|
11291 | | - bl make_superblock |
---|
11292 | | - mov r3, #0 |
---|
11293 | | - movw r2, #3662 |
---|
11294 | | - strh r3, [r4, r2] @ movhi |
---|
11295 | | - strh r3, [r4, #174] @ movhi |
---|
11296 | | - strb r3, [r4, #178] |
---|
11297 | | - ldrh r3, [r4, #172] |
---|
11298 | | - ldr r2, [r4, #72] |
---|
11299 | | - lsl r3, r3, #1 |
---|
11300 | | - ldrh r2, [r2, r3] |
---|
11301 | | - ldr r3, .L1803+24 |
---|
11302 | | - strh r2, [r3] @ movhi |
---|
11303 | | -.L1710: |
---|
| 11746 | + subs r7, r0, #0 |
---|
| 11747 | + beq .L1580 |
---|
| 11748 | + mvn r3, #0 |
---|
| 11749 | + strh r3, [r4, #172] @ movhi |
---|
| 11750 | +.L1575: |
---|
11304 | 11751 | ldrh r3, [r4, #172] |
---|
11305 | 11752 | ldrh r2, [r4, #24] |
---|
11306 | 11753 | cmp r2, r3 |
---|
11307 | | - beq .L1716 |
---|
| 11754 | + beq .L1581 |
---|
11308 | 11755 | ldrh r2, [r4, #76] |
---|
11309 | 11756 | cmp r2, r3 |
---|
11310 | | - beq .L1716 |
---|
| 11757 | + beq .L1581 |
---|
11311 | 11758 | ldrh r2, [r4, #124] |
---|
11312 | 11759 | cmp r2, r3 |
---|
11313 | | - bne .L1717 |
---|
11314 | | -.L1716: |
---|
| 11760 | + bne .L1582 |
---|
| 11761 | +.L1581: |
---|
11315 | 11762 | mvn r3, #0 |
---|
11316 | 11763 | strh r3, [r4, #172] @ movhi |
---|
11317 | | -.L1717: |
---|
11318 | | - ldr r5, .L1803+4 |
---|
11319 | | - mov r4, r5 |
---|
11320 | | -.L1752: |
---|
11321 | | - ldrh r2, [r5, #172] |
---|
| 11764 | +.L1582: |
---|
| 11765 | + ldr r4, .L1660 |
---|
| 11766 | +.L1617: |
---|
| 11767 | + ldrh r2, [r4, #172] |
---|
11322 | 11768 | movw r3, #65535 |
---|
11323 | 11769 | cmp r2, r3 |
---|
11324 | | - bne .L1718 |
---|
11325 | | - ldr fp, .L1803+28 |
---|
| 11770 | + bne .L1583 |
---|
| 11771 | + ldr r7, .L1660+16 |
---|
11326 | 11772 | mov r3, #0 |
---|
11327 | | - ldr r10, .L1803+32 |
---|
11328 | | - str r3, [r5, #3164] |
---|
11329 | | - mov r9, fp |
---|
11330 | | -.L1719: |
---|
11331 | | - ldrh r8, [fp] |
---|
11332 | | - mov r0, r8 |
---|
| 11773 | + str r3, [r4, #3164] |
---|
| 11774 | +.L1584: |
---|
| 11775 | + ldrh r9, [r7] |
---|
| 11776 | + mov r0, r9 |
---|
11333 | 11777 | bl List_get_gc_head_node |
---|
11334 | | - uxth r2, r0 |
---|
11335 | | - movw r1, #65535 |
---|
11336 | | - cmp r2, r1 |
---|
11337 | | - strh r2, [r4, #172] @ movhi |
---|
11338 | | - bne .L1720 |
---|
| 11778 | + uxth r10, r0 |
---|
| 11779 | + movw r3, #65535 |
---|
| 11780 | + mov r8, r0 |
---|
| 11781 | + cmp r10, r3 |
---|
| 11782 | + strh r10, [r4, #172] @ movhi |
---|
| 11783 | + bne .L1585 |
---|
11339 | 11784 | mov r3, #0 |
---|
11340 | 11785 | mov r0, #8 |
---|
11341 | | - strh r3, [fp] @ movhi |
---|
11342 | | - b .L1676 |
---|
11343 | | -.L1690: |
---|
| 11786 | + strh r3, [r7] @ movhi |
---|
| 11787 | + b .L1544 |
---|
| 11788 | +.L1558: |
---|
11344 | 11789 | ldrh r6, [r4, #124] |
---|
11345 | | - cmp r6, r1 |
---|
11346 | | - bne .L1767 |
---|
11347 | 11790 | ldrh r1, [r4, #222] |
---|
11348 | | - cmp r1, r6 |
---|
11349 | | - movne r3, #0 |
---|
11350 | | - andeq r3, r3, #1 |
---|
11351 | | - cmp r3, #0 |
---|
11352 | | - beq .L1767 |
---|
| 11791 | + and r6, r6, r1 |
---|
| 11792 | + and r6, r6, r5 |
---|
| 11793 | + cmp r6, r3 |
---|
| 11794 | + bne .L1629 |
---|
11353 | 11795 | ldrh r3, [r4, #172] |
---|
11354 | 11796 | cmp r3, r6 |
---|
11355 | | - beq .L1702 |
---|
11356 | | -.L1707: |
---|
11357 | | - mov r7, r6 |
---|
11358 | | -.L1767: |
---|
| 11797 | + beq .L1568 |
---|
| 11798 | +.L1572: |
---|
| 11799 | + mov r5, r6 |
---|
| 11800 | +.L1629: |
---|
11359 | 11801 | mov r6, #1 |
---|
11360 | | - b .L1701 |
---|
11361 | | -.L1702: |
---|
11362 | | - ldr r5, .L1803+12 |
---|
| 11802 | + b .L1567 |
---|
| 11803 | +.L1568: |
---|
| 11804 | + ldr r8, .L1660+8 |
---|
11363 | 11805 | str r2, [r4, #3164] |
---|
11364 | 11806 | ldrh r2, [r4, #224] |
---|
11365 | | - ldrh r3, [r5] |
---|
| 11807 | + ldrh r3, [r8] |
---|
11366 | 11808 | cmp r2, r3 |
---|
11367 | | - bls .L1703 |
---|
| 11809 | + bls .L1569 |
---|
11368 | 11810 | movw r3, #3660 |
---|
11369 | 11811 | ldrh r3, [r4, r3] |
---|
11370 | 11812 | cmp r3, #0 |
---|
11371 | | - bne .L1704 |
---|
| 11813 | + bne .L1570 |
---|
11372 | 11814 | ldr r3, [r4, #2552] |
---|
11373 | 11815 | ldr r2, [r4, #2548] |
---|
11374 | 11816 | add r3, r3, r3, lsl #1 |
---|
11375 | 11817 | cmp r2, r3, lsr #2 |
---|
11376 | 11818 | movcs r3, #18 |
---|
11377 | | - bcs .L1800 |
---|
11378 | | -.L1704: |
---|
| 11819 | + bcs .L1571 |
---|
| 11820 | +.L1570: |
---|
11379 | 11821 | movw r3, #2620 |
---|
11380 | 11822 | ldrh r3, [r4, r3] |
---|
11381 | 11823 | add r3, r3, r3, lsl #1 |
---|
11382 | | - asr r3, r3, #2 |
---|
11383 | | -.L1800: |
---|
11384 | | - strh r3, [r5] @ movhi |
---|
| 11824 | + lsr r3, r3, #2 |
---|
| 11825 | +.L1571: |
---|
| 11826 | + strh r3, [r8] @ movhi |
---|
11385 | 11827 | bl FtlReadRefresh |
---|
11386 | 11828 | mov r0, #0 |
---|
11387 | 11829 | bl List_get_gc_head_node |
---|
.. | .. |
---|
11390 | 11832 | lsl r0, r0, #1 |
---|
11391 | 11833 | ldrh r3, [r3, r0] |
---|
11392 | 11834 | cmp r3, #4 |
---|
11393 | | - bls .L1703 |
---|
11394 | | -.L1802: |
---|
| 11835 | + bls .L1569 |
---|
| 11836 | +.L1659: |
---|
11395 | 11837 | movw r3, #3660 |
---|
11396 | 11838 | ldrh r0, [r4, r3] |
---|
11397 | | - b .L1676 |
---|
11398 | | -.L1703: |
---|
11399 | | - movw r7, #3660 |
---|
11400 | | - ldrh r0, [r4, r7] |
---|
| 11839 | + b .L1544 |
---|
| 11840 | +.L1569: |
---|
| 11841 | + movw r5, #3660 |
---|
| 11842 | + ldrh r0, [r4, r5] |
---|
11401 | 11843 | cmp r0, #0 |
---|
11402 | | - bne .L1707 |
---|
| 11844 | + bne .L1572 |
---|
11403 | 11845 | movw r3, #2620 |
---|
11404 | | - ldrh r8, [r4, r3] |
---|
11405 | | - add r3, r8, r8, lsl #1 |
---|
| 11846 | + ldrh r7, [r4, r3] |
---|
| 11847 | + add r3, r7, r7, lsl #1 |
---|
11406 | 11848 | asr r3, r3, #2 |
---|
11407 | | - strh r3, [r5] @ movhi |
---|
| 11849 | + strh r3, [r8] @ movhi |
---|
11408 | 11850 | bl List_get_gc_head_node |
---|
11409 | 11851 | uxth r0, r0 |
---|
11410 | 11852 | ldr r3, [r4, #72] |
---|
11411 | 11853 | lsl r0, r0, #1 |
---|
| 11854 | + ldrh r1, [r4, #232] |
---|
11412 | 11855 | ldrh r2, [r3, r0] |
---|
11413 | | - ldr r3, .L1803+36 |
---|
11414 | | - ldrh r1, [r3] |
---|
11415 | | - ldrh r3, [r4, #232] |
---|
11416 | | - mul r3, r3, r1 |
---|
| 11856 | + ldr r3, .L1660+20 |
---|
| 11857 | + ldrh r3, [r3] |
---|
| 11858 | + mul r3, r1, r3 |
---|
11417 | 11859 | add r3, r3, r3, lsr #31 |
---|
11418 | 11860 | cmp r2, r3, asr #1 |
---|
11419 | | - ble .L1708 |
---|
| 11861 | + ble .L1573 |
---|
11420 | 11862 | ldrh r3, [r4, #224] |
---|
11421 | | - sub r8, r8, #1 |
---|
11422 | | - cmp r3, r8 |
---|
11423 | | - blt .L1708 |
---|
| 11863 | + sub r7, r7, #1 |
---|
| 11864 | + cmp r3, r7 |
---|
| 11865 | + blt .L1573 |
---|
11424 | 11866 | bl FtlReadRefresh |
---|
11425 | | - ldrh r0, [r4, r7] |
---|
11426 | | - b .L1676 |
---|
11427 | | -.L1708: |
---|
| 11867 | + ldrh r0, [r4, r5] |
---|
| 11868 | + b .L1544 |
---|
| 11869 | +.L1573: |
---|
11428 | 11870 | cmp r2, #0 |
---|
11429 | | - bne .L1707 |
---|
| 11871 | + bne .L1572 |
---|
11430 | 11872 | movw r0, #65535 |
---|
11431 | 11873 | bl decrement_vpc_count |
---|
11432 | 11874 | ldrh r0, [r4, #224] |
---|
11433 | 11875 | add r0, r0, #1 |
---|
11434 | | - b .L1676 |
---|
11435 | | -.L1720: |
---|
11436 | | - str r0, [sp, #16] |
---|
11437 | | - mov r0, r2 |
---|
11438 | | - str r2, [sp, #12] |
---|
11439 | | - add r8, r8, #1 |
---|
| 11876 | + b .L1544 |
---|
| 11877 | +.L1585: |
---|
| 11878 | + mov r0, r10 |
---|
11440 | 11879 | bl IsBlkInGcList |
---|
| 11880 | + add r3, r9, #1 |
---|
11441 | 11881 | cmp r0, #0 |
---|
11442 | | - ldr r2, [sp, #12] |
---|
11443 | | - ldr r3, [sp, #16] |
---|
11444 | | - strhne r8, [fp] @ movhi |
---|
11445 | | - bne .L1719 |
---|
11446 | 11882 | uxth r3, r3 |
---|
11447 | | - ldrh lr, [r4, #232] |
---|
11448 | | - ldr r0, [r4, #72] |
---|
| 11883 | + beq .L1586 |
---|
| 11884 | +.L1657: |
---|
| 11885 | + strh r3, [r7] @ movhi |
---|
| 11886 | + b .L1584 |
---|
| 11887 | +.L1586: |
---|
| 11888 | + ldr r2, .L1660+24 |
---|
11449 | 11889 | uxth r8, r8 |
---|
11450 | | - lsl r1, r3, #1 |
---|
11451 | | - ldrh r3, [r10] |
---|
11452 | | - strh r8, [fp] @ movhi |
---|
11453 | | - ldrh ip, [r0, r1] |
---|
11454 | | - mul r3, lr, r3 |
---|
11455 | | - add lr, r3, r3, lsr #31 |
---|
11456 | | - cmp ip, lr, asr #1 |
---|
11457 | | - bgt .L1723 |
---|
11458 | | - cmp r8, #48 |
---|
11459 | | - cmphi ip, #8 |
---|
11460 | | - bls .L1724 |
---|
11461 | | - ldr ip, .L1803+40 |
---|
11462 | | - ldrh ip, [ip] |
---|
11463 | | - cmp ip, #35 |
---|
11464 | | - bhi .L1724 |
---|
11465 | | -.L1723: |
---|
11466 | | - mov ip, #0 |
---|
11467 | | - strh ip, [r9] @ movhi |
---|
11468 | | -.L1724: |
---|
11469 | | - ldrh r1, [r0, r1] |
---|
11470 | | - movw r0, #65535 |
---|
11471 | | - cmp r3, r1 |
---|
11472 | | - cmple r7, r0 |
---|
11473 | | - bne .L1725 |
---|
11474 | | - ldrh r3, [r9] |
---|
11475 | | - cmp r3, #3 |
---|
11476 | | - mvnls r3, #0 |
---|
11477 | | - strhls r3, [r4, #172] @ movhi |
---|
11478 | | - movls r3, #0 |
---|
11479 | | - strhls r3, [r9] @ movhi |
---|
11480 | | - bls .L1802 |
---|
11481 | | -.L1725: |
---|
11482 | | - cmp r1, #0 |
---|
11483 | | - bne .L1726 |
---|
| 11890 | + ldrh ip, [r4, #232] |
---|
| 11891 | + ldr r1, [r4, #72] |
---|
| 11892 | + lsl r8, r8, #1 |
---|
| 11893 | + strh r3, [r7] @ movhi |
---|
| 11894 | + ldrh r2, [r2] |
---|
| 11895 | + ldrh r0, [r1, r8] |
---|
| 11896 | + mul r2, ip, r2 |
---|
| 11897 | + add ip, r2, r2, lsr #31 |
---|
| 11898 | + cmp r0, ip, asr #1 |
---|
| 11899 | + bgt .L1588 |
---|
| 11900 | + cmp r0, #8 |
---|
| 11901 | + cmphi r3, #48 |
---|
| 11902 | + bls .L1589 |
---|
| 11903 | + ldr r3, .L1660+28 |
---|
| 11904 | + ldrh r3, [r3] |
---|
| 11905 | + cmp r3, #35 |
---|
| 11906 | + bhi .L1589 |
---|
| 11907 | +.L1588: |
---|
| 11908 | + mov r3, #0 |
---|
| 11909 | + strh r3, [r7] @ movhi |
---|
| 11910 | +.L1589: |
---|
| 11911 | + ldrh r3, [r1, r8] |
---|
| 11912 | + movw r1, #65535 |
---|
| 11913 | + cmp r2, r3 |
---|
| 11914 | + cmple r5, r1 |
---|
| 11915 | + bne .L1590 |
---|
| 11916 | + ldrh r2, [r7] |
---|
| 11917 | + cmp r2, #3 |
---|
| 11918 | + bhi .L1590 |
---|
| 11919 | + mvn r3, #0 |
---|
| 11920 | + strh r3, [r4, #172] @ movhi |
---|
| 11921 | + mov r3, #0 |
---|
| 11922 | + strh r3, [r7] @ movhi |
---|
| 11923 | + b .L1659 |
---|
| 11924 | +.L1590: |
---|
| 11925 | + cmp r3, #0 |
---|
| 11926 | + bne .L1591 |
---|
11484 | 11927 | movw r0, #65535 |
---|
11485 | 11928 | bl decrement_vpc_count |
---|
11486 | | - ldrh r3, [r9] |
---|
| 11929 | + ldrh r3, [r7] |
---|
11487 | 11930 | add r3, r3, #1 |
---|
11488 | | - strh r3, [r9] @ movhi |
---|
11489 | | - b .L1719 |
---|
11490 | | -.L1726: |
---|
| 11931 | + b .L1657 |
---|
| 11932 | +.L1591: |
---|
11491 | 11933 | mov r3, #0 |
---|
11492 | 11934 | strb r3, [r4, #180] |
---|
11493 | 11935 | ldrh r3, [r4, #24] |
---|
11494 | | - cmp r3, r2 |
---|
11495 | | - bne .L1727 |
---|
| 11936 | + cmp r3, r10 |
---|
| 11937 | + bne .L1592 |
---|
| 11938 | + ldr r1, .L1660+32 |
---|
11496 | 11939 | movw r2, #717 |
---|
11497 | | - ldr r1, .L1803+44 |
---|
11498 | | - ldr r0, .L1803+48 |
---|
| 11940 | + ldr r0, .L1660+36 |
---|
11499 | 11941 | bl sftl_printk |
---|
11500 | | -.L1727: |
---|
| 11942 | +.L1592: |
---|
11501 | 11943 | ldrh r2, [r4, #172] |
---|
11502 | 11944 | ldrh r3, [r4, #76] |
---|
11503 | 11945 | cmp r2, r3 |
---|
11504 | | - bne .L1728 |
---|
| 11946 | + bne .L1593 |
---|
| 11947 | + ldr r1, .L1660+32 |
---|
11505 | 11948 | movw r2, #718 |
---|
11506 | | - ldr r1, .L1803+44 |
---|
11507 | | - ldr r0, .L1803+48 |
---|
| 11949 | + ldr r0, .L1660+36 |
---|
11508 | 11950 | bl sftl_printk |
---|
11509 | | -.L1728: |
---|
| 11951 | +.L1593: |
---|
11510 | 11952 | ldrh r2, [r4, #172] |
---|
11511 | 11953 | ldrh r3, [r4, #124] |
---|
11512 | 11954 | cmp r2, r3 |
---|
11513 | | - bne .L1729 |
---|
| 11955 | + bne .L1594 |
---|
| 11956 | + ldr r1, .L1660+32 |
---|
11514 | 11957 | movw r2, #719 |
---|
11515 | | - ldr r1, .L1803+44 |
---|
11516 | | - ldr r0, .L1803+48 |
---|
| 11958 | + ldr r0, .L1660+36 |
---|
11517 | 11959 | bl sftl_printk |
---|
11518 | | -.L1729: |
---|
11519 | | - ldr r0, .L1803+20 |
---|
| 11960 | +.L1594: |
---|
| 11961 | + ldr r0, .L1660+40 |
---|
11520 | 11962 | bl make_superblock |
---|
| 11963 | + ldr r1, .L1660+44 |
---|
11521 | 11964 | ldrh r2, [r4, #172] |
---|
11522 | 11965 | mov r3, #0 |
---|
11523 | | - ldr r1, .L1803+52 |
---|
11524 | 11966 | ldr r0, [r4, #72] |
---|
11525 | 11967 | lsl r2, r2, #1 |
---|
11526 | 11968 | strh r3, [r1] @ movhi |
---|
11527 | 11969 | ldrh r2, [r0, r2] |
---|
| 11970 | + strh r2, [r1, #2] @ movhi |
---|
11528 | 11971 | strh r3, [r4, #174] @ movhi |
---|
11529 | 11972 | strb r3, [r4, #178] |
---|
11530 | | - strh r2, [r1, #2] @ movhi |
---|
11531 | | -.L1718: |
---|
| 11973 | +.L1583: |
---|
11532 | 11974 | mov r3, #1 |
---|
11533 | 11975 | str r3, [r4, #3272] |
---|
11534 | | - ldr r3, .L1803+32 |
---|
| 11976 | + ldr r3, .L1660+24 |
---|
11535 | 11977 | ldrh r3, [r3] |
---|
11536 | | - str r3, [sp, #12] |
---|
11537 | | - ldr r3, [sp, #20] |
---|
| 11978 | + str r3, [fp, #-64] |
---|
| 11979 | + ldr r3, [fp, #-72] |
---|
11538 | 11980 | cmp r3, #0 |
---|
11539 | | - beq .L1730 |
---|
11540 | | - ldr r2, [sp, #12] |
---|
| 11981 | + beq .L1595 |
---|
| 11982 | + ldr r2, [fp, #-64] |
---|
11541 | 11983 | ldrh r3, [r4, #232] |
---|
11542 | 11984 | ldr r1, [r4, #72] |
---|
11543 | 11985 | mul r3, r2, r3 |
---|
.. | .. |
---|
11545 | 11987 | lsl r2, r2, #1 |
---|
11546 | 11988 | ldrh r2, [r1, r2] |
---|
11547 | 11989 | sub r3, r3, r2 |
---|
11548 | | - add r2, r3, #3 |
---|
11549 | 11990 | cmp r3, #0 |
---|
11550 | | - movlt r3, r2 |
---|
11551 | | - add r6, r6, r3, asr #2 |
---|
| 11991 | + add r2, r3, #3 |
---|
| 11992 | + movge r2, r3 |
---|
| 11993 | + add r6, r6, r2, asr #2 |
---|
11552 | 11994 | uxth r6, r6 |
---|
11553 | | -.L1730: |
---|
| 11995 | +.L1595: |
---|
11554 | 11996 | ldrh r3, [r4, #174] |
---|
11555 | | - ldr r1, [sp, #12] |
---|
| 11997 | + ldr r1, [fp, #-64] |
---|
11556 | 11998 | add r2, r3, r6 |
---|
11557 | 11999 | cmp r2, r1 |
---|
11558 | 12000 | movgt r2, r1 |
---|
11559 | | - subgt r6, r2, r3 |
---|
| 12001 | + subgt r3, r2, r3 |
---|
| 12002 | + uxthgt r6, r3 |
---|
11560 | 12003 | mov r3, #0 |
---|
11561 | | - uxthgt r6, r6 |
---|
11562 | | -.L1801: |
---|
11563 | | - str r3, [sp, #16] |
---|
11564 | | - ldrh r3, [sp, #16] |
---|
| 12004 | +.L1658: |
---|
| 12005 | + str r3, [fp, #-68] |
---|
| 12006 | + ldrh r8, [r4, #174] |
---|
| 12007 | + ldrh r3, [fp, #-68] |
---|
11565 | 12008 | cmp r6, r3 |
---|
11566 | | - bls .L1740 |
---|
11567 | | - ldr r3, [sp, #16] |
---|
| 12009 | + bls .L1605 |
---|
| 12010 | + ldr r3, [fp, #-68] |
---|
11568 | 12011 | movw r9, #65535 |
---|
11569 | | - ldrh r8, [r5, #174] |
---|
| 12012 | + ldrh ip, [r4, #232] |
---|
11570 | 12013 | mov r10, #20 |
---|
11571 | | - ldrh ip, [r5, #232] |
---|
11572 | | - ldr r0, [r5, #3184] |
---|
11573 | 12014 | add r8, r8, r3 |
---|
| 12015 | + ldr r0, [r4, #3184] |
---|
11574 | 12016 | mov r3, #0 |
---|
11575 | | - ldr r1, .L1803+56 |
---|
11576 | | - mov fp, r3 |
---|
11577 | | - b .L1741 |
---|
11578 | | -.L1734: |
---|
11579 | | - ldrh r2, [r1, #2]! |
---|
11580 | | - add r3, r3, #1 |
---|
| 12017 | + ldr r1, .L1660+48 |
---|
| 12018 | + mov r7, r3 |
---|
| 12019 | + b .L1606 |
---|
| 12020 | +.L1599: |
---|
| 12021 | + ldrh r2, [r1], #2 |
---|
11581 | 12022 | cmp r2, r9 |
---|
11582 | | - mlane lr, r10, fp, r0 |
---|
11583 | | - orrne r2, r8, r2, lsl #10 |
---|
11584 | | - strne r2, [lr, #4] |
---|
11585 | | - addne r2, fp, #1 |
---|
11586 | | - uxthne fp, r2 |
---|
11587 | | -.L1741: |
---|
| 12023 | + beq .L1598 |
---|
| 12024 | + mla lr, r10, r7, r0 |
---|
| 12025 | + add r7, r7, #1 |
---|
| 12026 | + orr r2, r8, r2, lsl #10 |
---|
| 12027 | + uxth r7, r7 |
---|
| 12028 | + str r2, [lr, #4] |
---|
| 12029 | +.L1598: |
---|
| 12030 | + add r3, r3, #1 |
---|
| 12031 | +.L1606: |
---|
11588 | 12032 | uxth r2, r3 |
---|
11589 | 12033 | cmp ip, r2 |
---|
11590 | | - bhi .L1734 |
---|
| 12034 | + bhi .L1599 |
---|
11591 | 12035 | mov r10, #0 |
---|
11592 | | - ldrb r2, [r5, #180] @ zero_extendqisi2 |
---|
11593 | | - mov r1, fp |
---|
| 12036 | + ldrb r2, [r4, #180] @ zero_extendqisi2 |
---|
| 12037 | + mov r1, r7 |
---|
11594 | 12038 | bl FlashReadPages |
---|
11595 | | -.L1735: |
---|
| 12039 | +.L1600: |
---|
11596 | 12040 | uxth r3, r10 |
---|
11597 | | - cmp fp, r3 |
---|
11598 | | - ldrls r3, [sp, #16] |
---|
| 12041 | + cmp r7, r3 |
---|
| 12042 | + ldrls r3, [fp, #-68] |
---|
11599 | 12043 | addls r3, r3, #1 |
---|
11600 | | - bls .L1801 |
---|
11601 | | -.L1739: |
---|
| 12044 | + bls .L1658 |
---|
| 12045 | +.L1604: |
---|
11602 | 12046 | mov r8, #20 |
---|
11603 | | - ldr r3, [r5, #3184] |
---|
| 12047 | + ldr r3, [r4, #3184] |
---|
11604 | 12048 | mul r8, r8, r10 |
---|
11605 | 12049 | add r2, r3, r8 |
---|
11606 | 12050 | ldr r3, [r3, r8] |
---|
11607 | 12051 | cmn r3, #1 |
---|
11608 | | - beq .L1736 |
---|
| 12052 | + beq .L1601 |
---|
11609 | 12053 | ldr r9, [r2, #12] |
---|
11610 | 12054 | movw r3, #61589 |
---|
11611 | 12055 | ldrh r2, [r9] |
---|
11612 | 12056 | cmp r2, r3 |
---|
11613 | | - bne .L1736 |
---|
| 12057 | + bne .L1601 |
---|
11614 | 12058 | ldr r3, [r9, #8] |
---|
11615 | 12059 | cmn r3, #1 |
---|
11616 | | - bne .L1737 |
---|
| 12060 | + bne .L1602 |
---|
| 12061 | + ldr r1, .L1660+32 |
---|
11617 | 12062 | movw r2, #753 |
---|
11618 | | - ldr r1, .L1803+44 |
---|
11619 | | - ldr r0, .L1803+48 |
---|
11620 | | - str r3, [sp, #24] |
---|
| 12063 | + ldr r0, .L1660+36 |
---|
| 12064 | + str r3, [fp, #-76] |
---|
11621 | 12065 | bl sftl_printk |
---|
11622 | | - ldr r3, [sp, #24] |
---|
11623 | | -.L1737: |
---|
11624 | | - mov r2, #0 |
---|
11625 | | - add r1, sp, #36 |
---|
| 12066 | + ldr r3, [fp, #-76] |
---|
| 12067 | +.L1602: |
---|
| 12068 | + sub r1, fp, #56 |
---|
11626 | 12069 | mov r0, r3 |
---|
| 12070 | + mov r2, #0 |
---|
11627 | 12071 | bl log2phys |
---|
11628 | 12072 | ldr r1, [r4, #3184] |
---|
11629 | | - ldr r3, [sp, #36] |
---|
| 12073 | + ldr r3, [fp, #-56] |
---|
11630 | 12074 | add r1, r1, r8 |
---|
11631 | 12075 | ldr r2, [r1, #4] |
---|
11632 | 12076 | cmp r2, r3 |
---|
11633 | | - bne .L1736 |
---|
11634 | | - ldr r3, .L1803+52 |
---|
11635 | | - ldr r2, .L1803+52 |
---|
| 12077 | + bne .L1601 |
---|
| 12078 | + ldr r2, .L1660+44 |
---|
11636 | 12079 | ldr r0, [r4, #3168] |
---|
11637 | | - ldrh r3, [r3] |
---|
11638 | 12080 | ldr r1, [r1, #16] |
---|
| 12081 | + ldrh r3, [r2] |
---|
11639 | 12082 | add r3, r3, #1 |
---|
11640 | 12083 | strh r3, [r2] @ movhi |
---|
11641 | | - mov r2, #20 |
---|
11642 | 12084 | ldr r3, [r4, #3292] |
---|
11643 | | - str r2, [sp, #28] |
---|
| 12085 | + mov r2, #20 |
---|
11644 | 12086 | mla r3, r2, r0, r3 |
---|
| 12087 | + str r3, [fp, #-76] |
---|
11645 | 12088 | str r1, [r3, #16] |
---|
11646 | | - str r3, [sp, #24] |
---|
11647 | 12089 | bl Ftl_get_new_temp_ppa |
---|
11648 | | - ldr r3, [sp, #24] |
---|
11649 | | - ldr r1, [r4, #3292] |
---|
11650 | | - ldr r2, [sp, #28] |
---|
| 12090 | + ldr r3, [fp, #-76] |
---|
| 12091 | + ldr r1, [r4, #3184] |
---|
| 12092 | + mov r2, #20 |
---|
11651 | 12093 | str r0, [r3, #4] |
---|
11652 | | - ldr r3, [r4, #3168] |
---|
11653 | | - mla r3, r2, r3, r1 |
---|
11654 | | - ldr r2, [r4, #3184] |
---|
11655 | | - add r2, r2, r8 |
---|
11656 | | - ldr r1, [r2, #8] |
---|
11657 | | - str r1, [r3, #8] |
---|
| 12094 | + add r1, r1, r8 |
---|
| 12095 | + ldr r0, [r4, #3168] |
---|
| 12096 | + ldr r3, [r4, #3292] |
---|
| 12097 | + mla r3, r2, r0, r3 |
---|
| 12098 | + ldr r2, [r1, #8] |
---|
| 12099 | + str r2, [r3, #8] |
---|
| 12100 | + ldr r2, [r1, #12] |
---|
11658 | 12101 | mov r1, #1 |
---|
11659 | | - ldr r2, [r2, #12] |
---|
11660 | 12102 | str r2, [r3, #12] |
---|
11661 | | - ldr r3, [sp, #36] |
---|
| 12103 | + ldr r3, [fp, #-56] |
---|
11662 | 12104 | str r3, [r9, #12] |
---|
11663 | 12105 | ldrh r3, [r4, #124] |
---|
11664 | 12106 | strh r3, [r9, #2] @ movhi |
---|
.. | .. |
---|
11673 | 12115 | ldrb r2, [r4, #131] @ zero_extendqisi2 |
---|
11674 | 12116 | ldr r3, [r4, #3168] |
---|
11675 | 12117 | cmp r2, r3 |
---|
11676 | | - beq .L1738 |
---|
| 12118 | + beq .L1603 |
---|
11677 | 12119 | ldrh r3, [r4, #128] |
---|
11678 | 12120 | cmp r3, #0 |
---|
11679 | | - bne .L1736 |
---|
11680 | | -.L1738: |
---|
| 12121 | + bne .L1601 |
---|
| 12122 | +.L1603: |
---|
11681 | 12123 | bl Ftl_gc_temp_data_write_back |
---|
11682 | 12124 | cmp r0, #0 |
---|
11683 | | - beq .L1736 |
---|
11684 | | - ldr r3, .L1803+4 |
---|
| 12125 | + beq .L1601 |
---|
| 12126 | + ldr r3, .L1660 |
---|
11685 | 12127 | mov r2, #0 |
---|
11686 | | - mvn r1, #0 |
---|
11687 | 12128 | str r2, [r3, #3272] |
---|
11688 | | - strh r2, [r3, #174] @ movhi |
---|
| 12129 | + movw r2, #65535 |
---|
| 12130 | + str r2, [r3, #172] |
---|
11689 | 12131 | movw r2, #3660 |
---|
11690 | | - strh r1, [r3, #172] @ movhi |
---|
11691 | 12132 | ldrh r0, [r3, r2] |
---|
11692 | | - b .L1676 |
---|
11693 | | -.L1736: |
---|
| 12133 | + b .L1544 |
---|
| 12134 | +.L1601: |
---|
11694 | 12135 | add r10, r10, #1 |
---|
11695 | | - b .L1735 |
---|
11696 | | -.L1740: |
---|
11697 | | - ldrh r3, [r5, #174] |
---|
11698 | | - add r6, r6, r3 |
---|
11699 | | - ldr r3, [sp, #12] |
---|
| 12136 | + b .L1600 |
---|
| 12137 | +.L1605: |
---|
| 12138 | + add r6, r6, r8 |
---|
| 12139 | + ldr r3, [fp, #-64] |
---|
11700 | 12140 | uxth r6, r6 |
---|
| 12141 | + strh r6, [r4, #174] @ movhi |
---|
11701 | 12142 | cmp r3, r6 |
---|
11702 | | - strh r6, [r5, #174] @ movhi |
---|
11703 | | - bhi .L1742 |
---|
11704 | | - ldr r3, [r5, #3168] |
---|
| 12143 | + bhi .L1607 |
---|
| 12144 | + ldr r3, [r4, #3168] |
---|
11705 | 12145 | cmp r3, #0 |
---|
11706 | | - beq .L1743 |
---|
| 12146 | + beq .L1608 |
---|
11707 | 12147 | bl Ftl_gc_temp_data_write_back |
---|
11708 | 12148 | cmp r0, #0 |
---|
11709 | 12149 | movne r3, #0 |
---|
11710 | | - strne r3, [r5, #3272] |
---|
11711 | | - movwne r3, #3660 |
---|
11712 | | - ldrhne r0, [r5, r3] |
---|
11713 | | - bne .L1676 |
---|
11714 | | -.L1743: |
---|
11715 | | - ldr r3, .L1803+52 |
---|
| 12150 | + strne r3, [r4, #3272] |
---|
| 12151 | + bne .L1659 |
---|
| 12152 | +.L1608: |
---|
| 12153 | + ldr r3, .L1660+44 |
---|
11716 | 12154 | ldrh r6, [r3] |
---|
11717 | 12155 | cmp r6, #0 |
---|
11718 | | - bne .L1744 |
---|
11719 | | - ldrh r3, [r5, #172] |
---|
11720 | | - ldr r2, [r5, #72] |
---|
| 12156 | + bne .L1609 |
---|
| 12157 | + ldrh r3, [r4, #172] |
---|
| 12158 | + ldr r2, [r4, #72] |
---|
11721 | 12159 | lsl r3, r3, #1 |
---|
11722 | 12160 | ldrh r3, [r2, r3] |
---|
11723 | 12161 | cmp r3, #0 |
---|
11724 | | - beq .L1744 |
---|
11725 | | -.L1745: |
---|
11726 | | - ldr r3, [r5, #2552] |
---|
| 12162 | + beq .L1609 |
---|
| 12163 | +.L1610: |
---|
| 12164 | + ldr r3, [r4, #2552] |
---|
11727 | 12165 | cmp r6, r3 |
---|
11728 | | - bcs .L1750 |
---|
11729 | | - mov r2, #0 |
---|
11730 | | - add r1, sp, #40 |
---|
11731 | | - mov r0, r6 |
---|
11732 | | - bl log2phys |
---|
11733 | | - ldr r0, [sp, #40] |
---|
11734 | | - cmn r0, #1 |
---|
11735 | | - beq .L1746 |
---|
11736 | | - ubfx r0, r0, #10, #16 |
---|
11737 | | - bl P2V_block_in_plane |
---|
11738 | | - ldrh r3, [r5, #172] |
---|
11739 | | - cmp r3, r0 |
---|
11740 | | - bne .L1746 |
---|
11741 | | -.L1750: |
---|
11742 | | - ldr r3, [r5, #2552] |
---|
11743 | | - cmp r6, r3 |
---|
11744 | | - bcc .L1744 |
---|
11745 | | - ldrh r3, [r5, #172] |
---|
| 12166 | + bcc .L1613 |
---|
| 12167 | +.L1615: |
---|
| 12168 | + ldrh r3, [r4, #172] |
---|
11746 | 12169 | mov r1, #0 |
---|
11747 | | - ldr r2, [r5, #72] |
---|
| 12170 | + ldr r2, [r4, #72] |
---|
11748 | 12171 | lsl r3, r3, #1 |
---|
11749 | 12172 | strh r1, [r2, r3] @ movhi |
---|
11750 | | - ldrh r0, [r5, #172] |
---|
| 12173 | + ldrh r0, [r4, #172] |
---|
11751 | 12174 | bl update_vpc_list |
---|
11752 | 12175 | bl l2p_flush |
---|
11753 | 12176 | bl FtlVpcTblFlush |
---|
11754 | | -.L1744: |
---|
| 12177 | +.L1609: |
---|
11755 | 12178 | mvn r3, #0 |
---|
11756 | | - strh r3, [r5, #172] @ movhi |
---|
11757 | | -.L1742: |
---|
| 12179 | + strh r3, [r4, #172] @ movhi |
---|
| 12180 | +.L1607: |
---|
11758 | 12181 | mov r3, #0 |
---|
11759 | | - str r3, [r5, #3272] |
---|
11760 | | - ldrh r3, [r5, #224] |
---|
| 12182 | + str r3, [r4, #3272] |
---|
| 12183 | + ldrh r3, [r4, #224] |
---|
11761 | 12184 | cmp r3, #2 |
---|
11762 | | - bhi .L1751 |
---|
11763 | | - ldr r3, .L1803+32 |
---|
| 12185 | + bhi .L1616 |
---|
| 12186 | + ldr r3, .L1660+24 |
---|
11764 | 12187 | ldrh r6, [r3] |
---|
11765 | | - b .L1752 |
---|
11766 | | -.L1746: |
---|
| 12188 | + b .L1617 |
---|
| 12189 | +.L1613: |
---|
| 12190 | + sub r1, fp, #52 |
---|
| 12191 | + mov r0, r6 |
---|
| 12192 | + mov r2, #0 |
---|
| 12193 | + bl log2phys |
---|
| 12194 | + ldr r0, [fp, #-52] |
---|
| 12195 | + cmn r0, #1 |
---|
| 12196 | + beq .L1611 |
---|
| 12197 | + ubfx r0, r0, #10, #16 |
---|
| 12198 | + bl P2V_block_in_plane |
---|
| 12199 | + ldrh r3, [r4, #172] |
---|
| 12200 | + cmp r3, r0 |
---|
| 12201 | + beq .L1612 |
---|
| 12202 | +.L1611: |
---|
11767 | 12203 | add r6, r6, #1 |
---|
11768 | | - b .L1745 |
---|
11769 | | -.L1751: |
---|
| 12204 | + b .L1610 |
---|
| 12205 | +.L1612: |
---|
| 12206 | + ldr r3, [r4, #2552] |
---|
| 12207 | + cmp r6, r3 |
---|
| 12208 | + bcc .L1609 |
---|
| 12209 | + b .L1615 |
---|
| 12210 | +.L1616: |
---|
11770 | 12211 | movw r2, #3660 |
---|
11771 | | - ldrh r0, [r5, r2] |
---|
| 12212 | + ldrh r0, [r4, r2] |
---|
11772 | 12213 | cmp r0, #0 |
---|
11773 | 12214 | addeq r0, r3, #1 |
---|
11774 | | - b .L1676 |
---|
11775 | | -.L1754: |
---|
11776 | | - add sp, sp, #52 |
---|
11777 | | - @ sp needed |
---|
11778 | | - pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} |
---|
11779 | | -.L1804: |
---|
| 12215 | + b .L1544 |
---|
| 12216 | +.L1580: |
---|
| 12217 | + ldr r0, .L1660+40 |
---|
| 12218 | + bl make_superblock |
---|
| 12219 | + movw r3, #3662 |
---|
| 12220 | + ldr r2, [r4, #72] |
---|
| 12221 | + strh r7, [r4, r3] @ movhi |
---|
| 12222 | + ldrh r3, [r4, #172] |
---|
| 12223 | + strh r7, [r4, #174] @ movhi |
---|
| 12224 | + strb r7, [r4, #178] |
---|
| 12225 | + lsl r3, r3, #1 |
---|
| 12226 | + ldrh r2, [r2, r3] |
---|
| 12227 | + ldr r3, .L1660+52 |
---|
| 12228 | + strh r2, [r3] @ movhi |
---|
| 12229 | + b .L1575 |
---|
| 12230 | +.L1619: |
---|
| 12231 | + sub sp, fp, #40 |
---|
| 12232 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 12233 | +.L1661: |
---|
11780 | 12234 | .align 2 |
---|
11781 | | -.L1803: |
---|
11782 | | - .word __stack_chk_guard |
---|
| 12235 | +.L1660: |
---|
11783 | 12236 | .word .LANCHOR0 |
---|
11784 | 12237 | .word .LANCHOR2 |
---|
11785 | 12238 | .word .LANCHOR0+3152 |
---|
11786 | 12239 | .word .LC124 |
---|
11787 | | - .word .LANCHOR0+172 |
---|
11788 | | - .word .LANCHOR0+3664 |
---|
11789 | 12240 | .word .LANCHOR0+3160 |
---|
11790 | | - .word .LANCHOR0+302 |
---|
11791 | 12241 | .word .LANCHOR0+304 |
---|
| 12242 | + .word .LANCHOR0+302 |
---|
11792 | 12243 | .word .LANCHOR0+3196 |
---|
11793 | 12244 | .word .LANCHOR1+568 |
---|
11794 | 12245 | .word .LC8 |
---|
| 12246 | + .word .LANCHOR0+172 |
---|
11795 | 12247 | .word .LANCHOR0+3662 |
---|
11796 | | - .word .LANCHOR0+186 |
---|
11797 | | - .fnend |
---|
| 12248 | + .word .LANCHOR0+188 |
---|
| 12249 | + .word .LANCHOR0+3664 |
---|
11798 | 12250 | .size rk_ftl_garbage_collect, .-rk_ftl_garbage_collect |
---|
11799 | 12251 | .align 2 |
---|
11800 | 12252 | .global FtlRead |
---|
.. | .. |
---|
11803 | 12255 | .fpu softvfp |
---|
11804 | 12256 | .type FtlRead, %function |
---|
11805 | 12257 | FtlRead: |
---|
11806 | | - .fnstart |
---|
11807 | 12258 | @ args = 0, pretend = 0, frame = 56 |
---|
11808 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
11809 | | - push {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
11810 | | - .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
11811 | | - mov r10, r3 |
---|
11812 | | - ldr r3, .L1844 |
---|
11813 | | - cmp r0, #16 |
---|
11814 | | - .pad #60 |
---|
| 12259 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 12260 | + mov ip, sp |
---|
| 12261 | + push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 12262 | + sub fp, ip, #4 |
---|
11815 | 12263 | sub sp, sp, #60 |
---|
| 12264 | + push {lr} |
---|
| 12265 | + bl __gnu_mcount_nc |
---|
| 12266 | + mov r8, r3 |
---|
| 12267 | + mov r3, sp |
---|
| 12268 | + bic r3, r3, #8128 |
---|
11816 | 12269 | mov r5, r1 |
---|
11817 | | - str r2, [sp, #4] |
---|
11818 | | - ldr r3, [r3] |
---|
11819 | | - str r3, [sp, #52] |
---|
11820 | | - bne .L1806 |
---|
11821 | | - mov r2, r10 |
---|
11822 | | - ldr r1, [sp, #4] |
---|
| 12270 | + bic r3, r3, #63 |
---|
| 12271 | + cmp r0, #16 |
---|
| 12272 | + str r2, [fp, #-60] |
---|
| 12273 | + ldr r3, [r3, #24] |
---|
| 12274 | + str r3, [fp, #-48] |
---|
| 12275 | + bne .L1663 |
---|
| 12276 | + ldr r1, [fp, #-60] |
---|
| 12277 | + mov r2, r8 |
---|
11823 | 12278 | add r0, r5, #256 |
---|
11824 | 12279 | bl FtlVendorPartRead |
---|
11825 | 12280 | mov r6, r0 |
---|
11826 | | -.L1805: |
---|
11827 | | - ldr r3, .L1844 |
---|
11828 | | - mov r0, r6 |
---|
11829 | | - ldr r2, [sp, #52] |
---|
11830 | | - ldr r3, [r3] |
---|
| 12281 | +.L1662: |
---|
| 12282 | + mov r3, sp |
---|
| 12283 | + ldr r2, [fp, #-48] |
---|
| 12284 | + bic r3, r3, #8128 |
---|
| 12285 | + bic r3, r3, #63 |
---|
| 12286 | + ldr r3, [r3, #24] |
---|
11831 | 12287 | cmp r2, r3 |
---|
11832 | | - beq .L1827 |
---|
| 12288 | + beq .L1685 |
---|
11833 | 12289 | bl __stack_chk_fail |
---|
11834 | | -.L1806: |
---|
11835 | | - ldr r4, .L1844+4 |
---|
11836 | | - ldr r2, [sp, #4] |
---|
| 12290 | +.L1663: |
---|
| 12291 | + ldr r4, .L1703 |
---|
| 12292 | + ldr r2, [fp, #-60] |
---|
11837 | 12293 | ldr r3, [r4, #340] |
---|
11838 | | - cmp r2, r3 |
---|
11839 | | - cmpls r1, r3 |
---|
11840 | | - movcs r9, #1 |
---|
11841 | | - movcc r9, #0 |
---|
11842 | | - bcs .L1829 |
---|
11843 | | - add r2, r1, r2 |
---|
11844 | 12294 | cmp r3, r2 |
---|
11845 | | - str r2, [sp, #12] |
---|
11846 | | - bcc .L1829 |
---|
11847 | | - ldr r3, .L1844+8 |
---|
| 12295 | + cmpcs r3, r1 |
---|
| 12296 | + movls r7, #1 |
---|
| 12297 | + movhi r7, #0 |
---|
| 12298 | + bls .L1687 |
---|
| 12299 | + add r2, r1, r2 |
---|
| 12300 | + str r2, [fp, #-64] |
---|
| 12301 | + cmp r3, r2 |
---|
| 12302 | + bcc .L1687 |
---|
| 12303 | + ldr r3, .L1703+4 |
---|
11848 | 12304 | ldr r6, [r3] |
---|
11849 | 12305 | cmn r6, #1 |
---|
11850 | | - beq .L1805 |
---|
| 12306 | + beq .L1662 |
---|
11851 | 12307 | movw r3, #258 |
---|
11852 | 12308 | mov r0, r5 |
---|
11853 | 12309 | ldrh r6, [r4, r3] |
---|
11854 | | - mov r8, r9 |
---|
11855 | 12310 | mov r1, r6 |
---|
11856 | 12311 | bl __aeabi_uidiv |
---|
11857 | | - ldr r3, [sp, #12] |
---|
| 12312 | + ldr r3, [fp, #-64] |
---|
11858 | 12313 | mov r1, r6 |
---|
11859 | | - str r0, [sp, #16] |
---|
11860 | | - mov r6, r9 |
---|
| 12314 | + str r0, [fp, #-72] |
---|
11861 | 12315 | sub r0, r3, #1 |
---|
| 12316 | + mov r6, r7 |
---|
11862 | 12317 | bl __aeabi_uidiv |
---|
11863 | | - ldr r3, [sp, #16] |
---|
11864 | | - ldr r2, [sp, #4] |
---|
11865 | | - ldr r7, [sp, #16] |
---|
| 12318 | + ldr r3, [fp, #-72] |
---|
| 12319 | + ldr r2, [fp, #-60] |
---|
11866 | 12320 | rsb r3, r3, #1 |
---|
11867 | | - str r0, [sp, #20] |
---|
| 12321 | + ldr r9, [fp, #-72] |
---|
11868 | 12322 | add r3, r3, r0 |
---|
11869 | | - str r9, [sp, #28] |
---|
11870 | | - str r3, [sp, #8] |
---|
| 12323 | + str r3, [fp, #-68] |
---|
11871 | 12324 | ldr r3, [r4, #2584] |
---|
11872 | | - str r9, [sp, #24] |
---|
| 12325 | + str r0, [fp, #-76] |
---|
11873 | 12326 | add r3, r3, r2 |
---|
11874 | | - ldr r2, [sp, #8] |
---|
| 12327 | + ldr r2, [fp, #-68] |
---|
11875 | 12328 | str r3, [r4, #2584] |
---|
11876 | 12329 | ldr r3, [r4, #2556] |
---|
| 12330 | + str r7, [fp, #-56] |
---|
11877 | 12331 | add r3, r3, r2 |
---|
| 12332 | + str r7, [fp, #-84] |
---|
11878 | 12333 | str r3, [r4, #2556] |
---|
11879 | | -.L1808: |
---|
11880 | | - ldr r3, [sp, #8] |
---|
| 12334 | + str r7, [fp, #-80] |
---|
| 12335 | +.L1665: |
---|
| 12336 | + ldr r3, [fp, #-68] |
---|
11881 | 12337 | cmp r3, #0 |
---|
11882 | | - bne .L1825 |
---|
11883 | | - ldr r3, .L1844+4 |
---|
| 12338 | + bne .L1683 |
---|
| 12339 | + ldr r3, .L1703 |
---|
11884 | 12340 | movw r2, #3206 |
---|
11885 | 12341 | ldrh r2, [r3, r2] |
---|
11886 | 12342 | cmp r2, #0 |
---|
11887 | | - bne .L1826 |
---|
| 12343 | + bne .L1684 |
---|
11888 | 12344 | ldrh r3, [r3, #224] |
---|
11889 | 12345 | cmp r3, #31 |
---|
11890 | | - bhi .L1805 |
---|
11891 | | -.L1826: |
---|
| 12346 | + bhi .L1662 |
---|
| 12347 | +.L1684: |
---|
11892 | 12348 | mov r1, #1 |
---|
11893 | 12349 | mov r0, #0 |
---|
11894 | 12350 | bl rk_ftl_garbage_collect |
---|
11895 | | - b .L1805 |
---|
11896 | | -.L1825: |
---|
| 12351 | + b .L1662 |
---|
| 12352 | +.L1683: |
---|
| 12353 | + sub r1, fp, #52 |
---|
| 12354 | + mov r0, r9 |
---|
11897 | 12355 | mov r2, #0 |
---|
11898 | | - add r1, sp, #48 |
---|
11899 | | - mov r0, r7 |
---|
11900 | 12356 | bl log2phys |
---|
11901 | | - ldr r3, [sp, #48] |
---|
| 12357 | + ldr r3, [fp, #-52] |
---|
11902 | 12358 | cmn r3, #1 |
---|
11903 | | - moveq fp, #0 |
---|
11904 | | - beq .L1810 |
---|
11905 | | - ldr r2, [r4, #3288] |
---|
11906 | | - mov fp, #20 |
---|
11907 | | - mla fp, fp, r8, r2 |
---|
11908 | | - str r3, [fp, #4] |
---|
11909 | | - ldr r3, [sp, #16] |
---|
11910 | | - cmp r7, r3 |
---|
11911 | | - bne .L1814 |
---|
11912 | | - ldr r3, [r4, #3312] |
---|
11913 | | - mov r0, r5 |
---|
11914 | | - str r3, [fp, #8] |
---|
11915 | | - ldr r3, .L1844+12 |
---|
11916 | | - ldrh r3, [r3] |
---|
11917 | | - mov r1, r3 |
---|
11918 | | - str r3, [sp, #28] |
---|
11919 | | - bl __aeabi_uidivmod |
---|
11920 | | - ldr r3, [sp, #28] |
---|
11921 | | - str r1, [sp, #24] |
---|
11922 | | - sub r2, r3, r1 |
---|
11923 | | - ldr r1, [sp, #4] |
---|
11924 | | - cmp r1, r2 |
---|
11925 | | - movcc r2, r1 |
---|
11926 | | - cmp r2, r3 |
---|
11927 | | - str r2, [sp, #28] |
---|
11928 | | - streq r10, [fp, #8] |
---|
11929 | | -.L1815: |
---|
11930 | | - ldr r3, .L1844+16 |
---|
11931 | | - ldr r2, [r4, #3336] |
---|
11932 | | - str r7, [fp, #16] |
---|
11933 | | - ldrh r3, [r3] |
---|
11934 | | - mul r3, r8, r3 |
---|
11935 | | - add r8, r8, #1 |
---|
11936 | | - bic r3, r3, #3 |
---|
11937 | | - add r3, r2, r3 |
---|
11938 | | - str r3, [fp, #12] |
---|
11939 | | - b .L1813 |
---|
11940 | | -.L1812: |
---|
11941 | | - mla r0, r0, r7, fp |
---|
11942 | | - ldr r2, [sp, #12] |
---|
| 12359 | + bne .L1700 |
---|
| 12360 | + ldr r3, .L1703+8 |
---|
| 12361 | + mov r10, #0 |
---|
| 12362 | + b .L1666 |
---|
| 12363 | +.L1669: |
---|
| 12364 | + mla r0, r9, r0, r10 |
---|
| 12365 | + ldr r1, [fp, #-64] |
---|
11943 | 12366 | cmp r5, r0 |
---|
11944 | | - movls r3, #1 |
---|
11945 | | - movhi r3, #0 |
---|
11946 | | - cmp r2, r0 |
---|
11947 | | - movls r3, #0 |
---|
11948 | | - cmp r3, #0 |
---|
11949 | | - beq .L1811 |
---|
| 12367 | + movls r2, #1 |
---|
| 12368 | + movhi r2, #0 |
---|
| 12369 | + cmp r1, r0 |
---|
| 12370 | + movls r2, #0 |
---|
| 12371 | + cmp r2, #0 |
---|
| 12372 | + beq .L1668 |
---|
11950 | 12373 | sub r0, r0, r5 |
---|
11951 | 12374 | mov r2, #512 |
---|
11952 | 12375 | mov r1, #0 |
---|
11953 | | - add r0, r10, r0, lsl #9 |
---|
| 12376 | + add r0, r8, r0, lsl #9 |
---|
11954 | 12377 | bl ftl_memset |
---|
11955 | | -.L1811: |
---|
11956 | | - add fp, fp, #1 |
---|
11957 | | -.L1810: |
---|
11958 | | - ldr r3, .L1844+12 |
---|
| 12378 | + ldr r3, .L1703+8 |
---|
| 12379 | +.L1668: |
---|
| 12380 | + add r10, r10, #1 |
---|
| 12381 | +.L1666: |
---|
11959 | 12382 | ldrh r0, [r3] |
---|
11960 | | - cmp fp, r0 |
---|
11961 | | - bcc .L1812 |
---|
11962 | | -.L1813: |
---|
11963 | | - ldr r3, [sp, #8] |
---|
11964 | | - add r7, r7, #1 |
---|
| 12383 | + cmp r0, r10 |
---|
| 12384 | + bhi .L1669 |
---|
| 12385 | +.L1670: |
---|
| 12386 | + ldr r3, [fp, #-68] |
---|
| 12387 | + add r9, r9, #1 |
---|
11965 | 12388 | subs r3, r3, #1 |
---|
11966 | | - str r3, [sp, #8] |
---|
11967 | | - beq .L1817 |
---|
| 12389 | + str r3, [fp, #-68] |
---|
| 12390 | + beq .L1675 |
---|
11968 | 12391 | ldrh r3, [r4, #232] |
---|
11969 | | - cmp r8, r3, lsl #2 |
---|
11970 | | - bne .L1808 |
---|
11971 | | -.L1817: |
---|
11972 | | - cmp r8, #0 |
---|
11973 | | - beq .L1808 |
---|
11974 | | - mov r2, #0 |
---|
11975 | | - mov r1, r8 |
---|
| 12392 | + cmp r7, r3, lsl #2 |
---|
| 12393 | + bne .L1665 |
---|
| 12394 | +.L1675: |
---|
| 12395 | + cmp r7, #0 |
---|
| 12396 | + beq .L1665 |
---|
11976 | 12397 | ldr r0, [r4, #3288] |
---|
11977 | | - mov fp, #0 |
---|
| 12398 | + mov r1, r7 |
---|
| 12399 | + mov r2, #0 |
---|
| 12400 | + mov r10, #0 |
---|
11978 | 12401 | bl FlashReadPages |
---|
11979 | | - lsl r3, r9, #9 |
---|
11980 | | - str r3, [sp, #40] |
---|
11981 | | - ldr r3, [sp, #24] |
---|
| 12402 | + ldr r3, [fp, #-56] |
---|
11982 | 12403 | lsl r3, r3, #9 |
---|
11983 | | - str r3, [sp, #32] |
---|
11984 | | - ldr r3, [sp, #28] |
---|
| 12404 | + str r3, [fp, #-96] |
---|
| 12405 | + ldr r3, [fp, #-80] |
---|
11985 | 12406 | lsl r3, r3, #9 |
---|
11986 | | - str r3, [sp, #36] |
---|
11987 | | -.L1824: |
---|
| 12407 | + str r3, [fp, #-88] |
---|
| 12408 | + ldr r3, [fp, #-84] |
---|
| 12409 | + lsl r3, r3, #9 |
---|
| 12410 | + str r3, [fp, #-92] |
---|
| 12411 | +.L1682: |
---|
11988 | 12412 | mov r3, #20 |
---|
11989 | 12413 | ldr r2, [r4, #3288] |
---|
11990 | | - mul r3, r3, fp |
---|
11991 | | - ldr r0, [sp, #16] |
---|
| 12414 | + ldr r0, [fp, #-72] |
---|
| 12415 | + mul r3, r3, r10 |
---|
11992 | 12416 | add r2, r2, r3 |
---|
11993 | 12417 | ldr r1, [r2, #16] |
---|
11994 | | - cmp r0, r1 |
---|
11995 | | - bne .L1819 |
---|
| 12418 | + cmp r1, r0 |
---|
| 12419 | + bne .L1677 |
---|
11996 | 12420 | ldr r1, [r2, #8] |
---|
11997 | 12421 | ldr r2, [r4, #3312] |
---|
11998 | 12422 | cmp r1, r2 |
---|
11999 | | - bne .L1820 |
---|
12000 | | - str r3, [sp, #44] |
---|
12001 | | - mov r0, r10 |
---|
12002 | | - ldr r3, [sp, #32] |
---|
12003 | | - ldr r2, [sp, #36] |
---|
| 12423 | + bne .L1678 |
---|
| 12424 | + str r3, [fp, #-100] |
---|
| 12425 | + mov r0, r8 |
---|
| 12426 | + ldrd r2, [fp, #-92] |
---|
12004 | 12427 | add r1, r1, r3 |
---|
12005 | | -.L1843: |
---|
| 12428 | +.L1702: |
---|
12006 | 12429 | bl ftl_memcpy |
---|
12007 | | - ldr r3, [sp, #44] |
---|
12008 | | -.L1820: |
---|
| 12430 | + ldr r3, [fp, #-100] |
---|
| 12431 | +.L1678: |
---|
12009 | 12432 | ldr r1, [r4, #3288] |
---|
12010 | 12433 | add r2, r1, r3 |
---|
12011 | 12434 | ldr r0, [r2, #12] |
---|
.. | .. |
---|
12017 | 12440 | strne r0, [r4, #2712] |
---|
12018 | 12441 | ldr ip, [r1, r3] |
---|
12019 | 12442 | cmn ip, #1 |
---|
12020 | | - ldreq r0, [r4, #2712] |
---|
12021 | 12443 | moveq r6, ip |
---|
| 12444 | + ldreq r0, [r4, #2712] |
---|
12022 | 12445 | addeq r0, r0, #1 |
---|
12023 | 12446 | streq r0, [r4, #2712] |
---|
12024 | 12447 | ldr r3, [r1, r3] |
---|
12025 | 12448 | cmp r3, #256 |
---|
12026 | | - bne .L1823 |
---|
| 12449 | + bne .L1681 |
---|
12027 | 12450 | ldr r0, [r2, #4] |
---|
12028 | 12451 | ubfx r0, r0, #10, #16 |
---|
12029 | 12452 | bl P2V_block_in_plane |
---|
12030 | 12453 | bl FtlGcRefreshBlock |
---|
12031 | | -.L1823: |
---|
12032 | | - add fp, fp, #1 |
---|
12033 | | - cmp r8, fp |
---|
12034 | | - bne .L1824 |
---|
12035 | | - mov r8, #0 |
---|
12036 | | - b .L1808 |
---|
12037 | | -.L1814: |
---|
12038 | | - ldr r3, [sp, #20] |
---|
12039 | | - cmp r7, r3 |
---|
12040 | | - bne .L1816 |
---|
12041 | | - ldr r3, [r4, #3316] |
---|
12042 | | - ldr r1, [sp, #12] |
---|
12043 | | - str r3, [fp, #8] |
---|
12044 | | - ldr r3, .L1844+12 |
---|
12045 | | - ldrh r2, [r3] |
---|
12046 | | - mul r3, r2, r7 |
---|
12047 | | - sub r9, r1, r3 |
---|
12048 | | - cmp r2, r9 |
---|
12049 | | - bne .L1815 |
---|
12050 | | -.L1842: |
---|
12051 | | - sub r3, r3, r5 |
---|
12052 | | - add r3, r10, r3, lsl #9 |
---|
12053 | | - str r3, [fp, #8] |
---|
12054 | | - b .L1815 |
---|
12055 | | -.L1816: |
---|
12056 | | - ldr r3, .L1844+12 |
---|
| 12454 | +.L1681: |
---|
| 12455 | + add r10, r10, #1 |
---|
| 12456 | + cmp r7, r10 |
---|
| 12457 | + bne .L1682 |
---|
| 12458 | + mov r7, #0 |
---|
| 12459 | + b .L1665 |
---|
| 12460 | +.L1700: |
---|
| 12461 | + ldr r10, [r4, #3288] |
---|
| 12462 | + mov r2, #20 |
---|
| 12463 | + mla r10, r2, r7, r10 |
---|
| 12464 | + str r3, [r10, #4] |
---|
| 12465 | + ldr r3, [fp, #-72] |
---|
| 12466 | + cmp r9, r3 |
---|
| 12467 | + ldr r3, .L1703+8 |
---|
| 12468 | + bne .L1671 |
---|
| 12469 | + ldrh r3, [r3] |
---|
| 12470 | + mov r0, r5 |
---|
| 12471 | + ldr r2, [r4, #3312] |
---|
| 12472 | + mov r1, r3 |
---|
| 12473 | + str r2, [r10, #8] |
---|
| 12474 | + str r3, [fp, #-84] |
---|
| 12475 | + bl __aeabi_uidivmod |
---|
| 12476 | + ldr r3, [fp, #-84] |
---|
| 12477 | + str r1, [fp, #-80] |
---|
| 12478 | + sub r2, r3, r1 |
---|
| 12479 | + ldr r1, [fp, #-60] |
---|
| 12480 | + cmp r1, r2 |
---|
| 12481 | + movcc r2, r1 |
---|
| 12482 | + str r2, [fp, #-84] |
---|
| 12483 | + cmp r3, r2 |
---|
| 12484 | + streq r8, [r10, #8] |
---|
| 12485 | +.L1672: |
---|
| 12486 | + ldr r3, .L1703+12 |
---|
| 12487 | + ldr r2, [r4, #3336] |
---|
| 12488 | + str r9, [r10, #16] |
---|
12057 | 12489 | ldrh r3, [r3] |
---|
12058 | 12490 | mul r3, r7, r3 |
---|
12059 | | - b .L1842 |
---|
12060 | | -.L1819: |
---|
12061 | | - ldr r0, [sp, #20] |
---|
12062 | | - cmp r0, r1 |
---|
12063 | | - bne .L1820 |
---|
| 12491 | + add r7, r7, #1 |
---|
| 12492 | + bic r3, r3, #3 |
---|
| 12493 | + add r3, r2, r3 |
---|
| 12494 | + str r3, [r10, #12] |
---|
| 12495 | + b .L1670 |
---|
| 12496 | +.L1671: |
---|
| 12497 | + ldrh r2, [r3] |
---|
| 12498 | + ldr r1, [fp, #-76] |
---|
| 12499 | + cmp r9, r1 |
---|
| 12500 | + mul r3, r2, r9 |
---|
| 12501 | + bne .L1673 |
---|
| 12502 | + ldr r1, [fp, #-64] |
---|
| 12503 | + sub r1, r1, r3 |
---|
| 12504 | + str r1, [fp, #-56] |
---|
| 12505 | + cmp r1, r2 |
---|
| 12506 | + ldrne r3, [r4, #3316] |
---|
| 12507 | + bne .L1701 |
---|
| 12508 | +.L1673: |
---|
| 12509 | + sub r3, r3, r5 |
---|
| 12510 | + add r3, r8, r3, lsl #9 |
---|
| 12511 | +.L1701: |
---|
| 12512 | + str r3, [r10, #8] |
---|
| 12513 | + b .L1672 |
---|
| 12514 | +.L1677: |
---|
| 12515 | + ldr r0, [fp, #-76] |
---|
| 12516 | + cmp r1, r0 |
---|
| 12517 | + bne .L1678 |
---|
12064 | 12518 | ldr r1, [r2, #8] |
---|
12065 | 12519 | ldr r2, [r4, #3316] |
---|
12066 | 12520 | cmp r1, r2 |
---|
12067 | | - bne .L1820 |
---|
12068 | | - str r3, [sp, #44] |
---|
12069 | | - ldr r3, .L1844+12 |
---|
12070 | | - ldr r2, [sp, #40] |
---|
12071 | | - ldrh r0, [r3] |
---|
12072 | | - ldr r3, [sp, #20] |
---|
| 12521 | + bne .L1678 |
---|
| 12522 | + ldr r2, .L1703+8 |
---|
| 12523 | + str r3, [fp, #-100] |
---|
| 12524 | + ldr r3, [fp, #-76] |
---|
| 12525 | + ldrh r0, [r2] |
---|
| 12526 | + ldr r2, [fp, #-96] |
---|
12073 | 12527 | mul r0, r3, r0 |
---|
12074 | 12528 | sub r0, r0, r5 |
---|
12075 | | - add r0, r10, r0, lsl #9 |
---|
12076 | | - b .L1843 |
---|
12077 | | -.L1829: |
---|
| 12529 | + add r0, r8, r0, lsl #9 |
---|
| 12530 | + b .L1702 |
---|
| 12531 | +.L1687: |
---|
12078 | 12532 | mvn r6, #0 |
---|
12079 | | - b .L1805 |
---|
12080 | | -.L1827: |
---|
12081 | | - add sp, sp, #60 |
---|
12082 | | - @ sp needed |
---|
12083 | | - pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} |
---|
12084 | | -.L1845: |
---|
| 12533 | + b .L1662 |
---|
| 12534 | +.L1685: |
---|
| 12535 | + mov r0, r6 |
---|
| 12536 | + sub sp, fp, #40 |
---|
| 12537 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 12538 | +.L1704: |
---|
12085 | 12539 | .align 2 |
---|
12086 | | -.L1844: |
---|
12087 | | - .word __stack_chk_guard |
---|
| 12540 | +.L1703: |
---|
12088 | 12541 | .word .LANCHOR0 |
---|
12089 | 12542 | .word .LANCHOR2 |
---|
12090 | 12543 | .word .LANCHOR0+258 |
---|
12091 | 12544 | .word .LANCHOR0+312 |
---|
12092 | | - .fnend |
---|
12093 | 12545 | .size FtlRead, .-FtlRead |
---|
12094 | 12546 | .align 2 |
---|
12095 | 12547 | .global sftl_read |
---|
.. | .. |
---|
12098 | 12550 | .fpu softvfp |
---|
12099 | 12551 | .type sftl_read, %function |
---|
12100 | 12552 | sftl_read: |
---|
12101 | | - .fnstart |
---|
12102 | 12553 | @ args = 0, pretend = 0, frame = 0 |
---|
12103 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
12104 | | - @ link register save eliminated. |
---|
| 12554 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 12555 | + mov ip, sp |
---|
| 12556 | + push {fp, ip, lr, pc} |
---|
| 12557 | + sub fp, ip, #4 |
---|
| 12558 | + push {lr} |
---|
| 12559 | + bl __gnu_mcount_nc |
---|
12105 | 12560 | mov r3, r2 |
---|
12106 | 12561 | mov r2, r1 |
---|
12107 | 12562 | mov r1, r0 |
---|
12108 | 12563 | mov r0, #0 |
---|
12109 | | - b FtlRead |
---|
12110 | | - .fnend |
---|
| 12564 | + bl FtlRead |
---|
| 12565 | + ldmfd sp, {fp, sp, pc} |
---|
12111 | 12566 | .size sftl_read, .-sftl_read |
---|
| 12567 | + .section .rodata.str1.1 |
---|
| 12568 | +.LC125: |
---|
| 12569 | + .ascii "FtlWrite: ecc error:%x %x %x\012\000" |
---|
| 12570 | +.LC126: |
---|
| 12571 | + .ascii "FtlWrite: lpa error:%x %x\012\000" |
---|
| 12572 | + .text |
---|
12112 | 12573 | .align 2 |
---|
12113 | 12574 | .global FtlWrite |
---|
12114 | 12575 | .syntax unified |
---|
.. | .. |
---|
12116 | 12577 | .fpu softvfp |
---|
12117 | 12578 | .type FtlWrite, %function |
---|
12118 | 12579 | FtlWrite: |
---|
12119 | | - .fnstart |
---|
12120 | | - @ args = 0, pretend = 0, frame = 72 |
---|
12121 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
12122 | | - push {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
12123 | | - .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
12124 | | - .pad #76 |
---|
12125 | | - sub sp, sp, #76 |
---|
12126 | | - str r3, [sp, #12] |
---|
| 12580 | + @ args = 0, pretend = 0, frame = 80 |
---|
| 12581 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 12582 | + mov ip, sp |
---|
| 12583 | + push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 12584 | + sub fp, ip, #4 |
---|
| 12585 | + sub sp, sp, #84 |
---|
| 12586 | + push {lr} |
---|
| 12587 | + bl __gnu_mcount_nc |
---|
| 12588 | + str r3, [fp, #-92] |
---|
| 12589 | + mov r3, sp |
---|
| 12590 | + bic r3, r3, #8128 |
---|
| 12591 | + mov r8, r1 |
---|
| 12592 | + bic r3, r3, #63 |
---|
12127 | 12593 | cmp r0, #16 |
---|
12128 | | - mov r10, r1 |
---|
12129 | | - ldr r3, .L1902 |
---|
12130 | | - str r2, [sp, #8] |
---|
12131 | | - ldr r3, [r3] |
---|
12132 | | - str r3, [sp, #68] |
---|
12133 | | - bne .L1848 |
---|
12134 | | - ldr r2, [sp, #12] |
---|
12135 | | - add r0, r10, #256 |
---|
12136 | | - ldr r1, [sp, #8] |
---|
| 12594 | + str r2, [fp, #-88] |
---|
| 12595 | + ldr r3, [r3, #24] |
---|
| 12596 | + str r3, [fp, #-48] |
---|
| 12597 | + bne .L1707 |
---|
| 12598 | + ldr r2, [fp, #-92] |
---|
| 12599 | + add r0, r8, #256 |
---|
| 12600 | + ldr r1, [fp, #-88] |
---|
12137 | 12601 | bl FtlVendorPartWrite |
---|
12138 | | -.L1847: |
---|
12139 | | - ldr r3, .L1902 |
---|
12140 | | - ldr r2, [sp, #68] |
---|
12141 | | - ldr r3, [r3] |
---|
| 12602 | +.L1706: |
---|
| 12603 | + mov r3, sp |
---|
| 12604 | + ldr r2, [fp, #-48] |
---|
| 12605 | + bic r3, r3, #8128 |
---|
| 12606 | + bic r3, r3, #63 |
---|
| 12607 | + ldr r3, [r3, #24] |
---|
12142 | 12608 | cmp r2, r3 |
---|
12143 | | - beq .L1884 |
---|
| 12609 | + beq .L1744 |
---|
12144 | 12610 | bl __stack_chk_fail |
---|
12145 | | -.L1848: |
---|
12146 | | - ldr r4, .L1902+4 |
---|
12147 | | - ldr r2, [sp, #8] |
---|
| 12611 | +.L1707: |
---|
| 12612 | + ldr r4, .L1759 |
---|
| 12613 | + ldr r2, [fp, #-88] |
---|
12148 | 12614 | ldr r3, [r4, #340] |
---|
12149 | | - cmp r2, r3 |
---|
12150 | | - cmpls r1, r3 |
---|
12151 | | - bcs .L1886 |
---|
| 12615 | + cmp r3, r2 |
---|
| 12616 | + cmpcs r3, r1 |
---|
| 12617 | + bls .L1746 |
---|
12152 | 12618 | add r6, r1, r2 |
---|
12153 | 12619 | cmp r3, r6 |
---|
12154 | | - bcc .L1886 |
---|
12155 | | - ldr r5, .L1902+8 |
---|
| 12620 | + bcc .L1746 |
---|
| 12621 | + ldr r5, .L1759+4 |
---|
12156 | 12622 | ldr r0, [r5] |
---|
12157 | 12623 | cmn r0, #1 |
---|
12158 | | - beq .L1847 |
---|
| 12624 | + beq .L1706 |
---|
12159 | 12625 | mov r3, #2048 |
---|
12160 | | - mov r0, r10 |
---|
12161 | 12626 | str r3, [r4, #3668] |
---|
12162 | 12627 | movw r3, #258 |
---|
| 12628 | + mov r0, r8 |
---|
12163 | 12629 | ldrh r7, [r4, r3] |
---|
12164 | 12630 | mov r1, r7 |
---|
12165 | 12631 | bl __aeabi_uidiv |
---|
12166 | 12632 | mov r1, r7 |
---|
12167 | | - str r0, [sp, #4] |
---|
| 12633 | + str r0, [fp, #-84] |
---|
12168 | 12634 | sub r0, r6, #1 |
---|
12169 | 12635 | bl __aeabi_uidiv |
---|
12170 | | - ldr r2, [sp, #4] |
---|
12171 | | - str r0, [sp, #20] |
---|
| 12636 | + ldr r2, [fp, #-84] |
---|
| 12637 | + str r0, [fp, #-108] |
---|
12172 | 12638 | sub r3, r0, r2 |
---|
12173 | | - ldr r2, [sp, #8] |
---|
12174 | | - add fp, r3, #1 |
---|
12175 | | - str r3, [sp, #24] |
---|
| 12639 | + ldr r2, [fp, #-88] |
---|
| 12640 | + str r3, [fp, #-104] |
---|
| 12641 | + add r3, r3, #1 |
---|
| 12642 | + str r3, [fp, #-80] |
---|
12176 | 12643 | ldr r3, [r4, #2580] |
---|
12177 | 12644 | add r3, r3, r2 |
---|
| 12645 | + ldr r2, [fp, #-80] |
---|
12178 | 12646 | str r3, [r4, #2580] |
---|
12179 | 12647 | ldr r3, [r4, #2564] |
---|
12180 | | - add r3, r3, fp |
---|
| 12648 | + add r3, r3, r2 |
---|
12181 | 12649 | str r3, [r4, #2564] |
---|
12182 | 12650 | ldr r3, [r5, #8] |
---|
12183 | 12651 | cmp r3, #0 |
---|
12184 | 12652 | addeq r4, r4, #24 |
---|
12185 | | - beq .L1850 |
---|
| 12653 | + beq .L1709 |
---|
12186 | 12654 | ldrh r3, [r4, #28] |
---|
12187 | 12655 | cmp r3, #0 |
---|
12188 | 12656 | addne r4, r4, #24 |
---|
12189 | 12657 | addeq r4, r4, #76 |
---|
12190 | | -.L1850: |
---|
12191 | | - ldr r7, [sp, #4] |
---|
12192 | | - ldr r5, .L1902+4 |
---|
12193 | | -.L1851: |
---|
12194 | | - cmp fp, #0 |
---|
12195 | | - bne .L1879 |
---|
12196 | | - ldr r1, [sp, #24] |
---|
12197 | | - mov r0, fp |
---|
| 12658 | +.L1709: |
---|
| 12659 | + ldr r6, [fp, #-84] |
---|
| 12660 | + ldr r5, .L1759 |
---|
| 12661 | +.L1710: |
---|
| 12662 | + ldr r3, [fp, #-80] |
---|
| 12663 | + cmp r3, #0 |
---|
| 12664 | + bne .L1740 |
---|
| 12665 | + mov r0, r3 |
---|
| 12666 | + ldr r1, [fp, #-104] |
---|
12198 | 12667 | bl rk_ftl_garbage_collect |
---|
12199 | 12668 | ldrh r3, [r5, #224] |
---|
12200 | 12669 | cmp r3, #5 |
---|
12201 | | - movls r4, #256 |
---|
12202 | | - ldrls r6, .L1902+12 |
---|
12203 | | - bls .L1883 |
---|
12204 | | -.L1882: |
---|
| 12670 | + bls .L1751 |
---|
| 12671 | +.L1743: |
---|
12205 | 12672 | mov r0, #0 |
---|
12206 | | - b .L1847 |
---|
12207 | | -.L1879: |
---|
| 12673 | + b .L1706 |
---|
| 12674 | +.L1740: |
---|
12208 | 12675 | ldrb r2, [r4, #6] @ zero_extendqisi2 |
---|
12209 | 12676 | ldrh r3, [r5, #232] |
---|
12210 | 12677 | cmp r2, r3 |
---|
12211 | | - bcc .L1852 |
---|
12212 | | - movw r2, #1041 |
---|
12213 | | - ldr r1, .L1902+16 |
---|
12214 | | - ldr r0, .L1902+20 |
---|
| 12678 | + bcc .L1711 |
---|
| 12679 | + ldr r1, .L1759+8 |
---|
| 12680 | + movw r2, #1046 |
---|
| 12681 | + ldr r0, .L1759+12 |
---|
12215 | 12682 | bl sftl_printk |
---|
12216 | | -.L1852: |
---|
12217 | | - ldrh r2, [r4, #4] |
---|
12218 | | - cmp r2, #0 |
---|
12219 | | - bne .L1853 |
---|
12220 | | - ldr r3, .L1902+24 |
---|
12221 | | - ldr r6, .L1902+8 |
---|
12222 | | - cmp r4, r3 |
---|
12223 | | - bne .L1854 |
---|
12224 | | - ldrh r8, [r5, #80] |
---|
12225 | | - cmp r8, #0 |
---|
12226 | | - bne .L1855 |
---|
12227 | | - add r0, r4, #52 |
---|
12228 | | - bl allocate_new_data_superblock |
---|
12229 | | - str r8, [r6, #8] |
---|
12230 | | -.L1855: |
---|
12231 | | - ldr r0, .L1902+24 |
---|
12232 | | - bl allocate_new_data_superblock |
---|
12233 | | - ldr r4, .L1902+24 |
---|
12234 | | - ldr r2, [r6, #8] |
---|
12235 | | - add r3, r4, #52 |
---|
12236 | | - cmp r2, #0 |
---|
12237 | | - movne r4, r3 |
---|
12238 | | -.L1856: |
---|
| 12683 | +.L1711: |
---|
12239 | 12684 | ldrh r3, [r4, #4] |
---|
12240 | 12685 | cmp r3, #0 |
---|
12241 | | - bne .L1853 |
---|
| 12686 | + bne .L1712 |
---|
| 12687 | + ldr r2, .L1759+16 |
---|
| 12688 | + ldr r7, .L1759+4 |
---|
| 12689 | + cmp r4, r2 |
---|
| 12690 | + bne .L1713 |
---|
| 12691 | + ldrh r9, [r5, #80] |
---|
| 12692 | + cmp r9, #0 |
---|
| 12693 | + bne .L1714 |
---|
| 12694 | + add r0, r4, #52 |
---|
| 12695 | + bl allocate_new_data_superblock |
---|
| 12696 | + str r9, [r7, #8] |
---|
| 12697 | +.L1714: |
---|
| 12698 | + ldr r0, .L1759+16 |
---|
| 12699 | + bl allocate_new_data_superblock |
---|
| 12700 | + ldr r3, [r7, #8] |
---|
| 12701 | + cmp r3, #0 |
---|
| 12702 | + ldrne r4, .L1759+20 |
---|
| 12703 | + bne .L1715 |
---|
| 12704 | +.L1716: |
---|
| 12705 | + ldr r4, .L1759+16 |
---|
| 12706 | +.L1715: |
---|
| 12707 | + ldrh r3, [r4, #4] |
---|
| 12708 | + cmp r3, #0 |
---|
| 12709 | + bne .L1712 |
---|
12242 | 12710 | mov r0, r4 |
---|
12243 | 12711 | bl allocate_new_data_superblock |
---|
12244 | | -.L1853: |
---|
12245 | | - ldrb r2, [r4, #7] @ zero_extendqisi2 |
---|
| 12712 | +.L1712: |
---|
12246 | 12713 | ldrh r3, [r4, #4] |
---|
| 12714 | + ldr r1, [fp, #-80] |
---|
| 12715 | + ldrb r2, [r4, #7] @ zero_extendqisi2 |
---|
| 12716 | + cmp r3, r1 |
---|
| 12717 | + movcs r3, r1 |
---|
12247 | 12718 | lsl r2, r2, #2 |
---|
12248 | | - cmp r3, fp |
---|
12249 | | - movcs r3, fp |
---|
12250 | 12719 | cmp r2, r3 |
---|
12251 | 12720 | movcc r3, r2 |
---|
12252 | 12721 | ldrb r2, [r4, #6] @ zero_extendqisi2 |
---|
12253 | | - str r3, [sp, #36] |
---|
| 12722 | + str r3, [fp, #-120] |
---|
12254 | 12723 | ldrh r3, [r5, #232] |
---|
12255 | 12724 | cmp r2, r3 |
---|
12256 | | - bcc .L1857 |
---|
12257 | | - movw r2, #1074 |
---|
12258 | | - ldr r1, .L1902+16 |
---|
12259 | | - ldr r0, .L1902+20 |
---|
| 12725 | + bcc .L1717 |
---|
| 12726 | + ldr r1, .L1759+8 |
---|
| 12727 | + movw r2, #1079 |
---|
| 12728 | + ldr r0, .L1759+12 |
---|
12260 | 12729 | bl sftl_printk |
---|
12261 | | -.L1857: |
---|
12262 | | - mov r3, #0 |
---|
12263 | | -.L1901: |
---|
12264 | | - str r3, [sp] |
---|
12265 | | - ldr r3, [sp] |
---|
12266 | | - ldr r2, [sp, #36] |
---|
12267 | | - cmp r3, r2 |
---|
12268 | | - bne .L1877 |
---|
12269 | | -.L1859: |
---|
| 12730 | +.L1717: |
---|
| 12731 | + mov r10, #0 |
---|
| 12732 | +.L1718: |
---|
| 12733 | + ldr r3, [fp, #-120] |
---|
| 12734 | + cmp r3, r10 |
---|
| 12735 | + bne .L1738 |
---|
| 12736 | +.L1719: |
---|
12270 | 12737 | mov r3, r4 |
---|
12271 | | - mov r2, #0 |
---|
12272 | | - ldr r1, [sp] |
---|
12273 | 12738 | ldr r0, [r5, #3296] |
---|
| 12739 | + mov r1, r10 |
---|
| 12740 | + mov r2, #0 |
---|
12274 | 12741 | bl FtlProgPages |
---|
12275 | | - ldr r3, [sp] |
---|
12276 | | - cmp r3, fp |
---|
12277 | | - bls .L1878 |
---|
12278 | | - mov r2, #1152 |
---|
12279 | | - ldr r1, .L1902+16 |
---|
12280 | | - ldr r0, .L1902+20 |
---|
| 12742 | + ldr r3, [fp, #-80] |
---|
| 12743 | + cmp r3, r10 |
---|
| 12744 | + bcs .L1739 |
---|
| 12745 | + ldr r1, .L1759+8 |
---|
| 12746 | + movw r2, #1157 |
---|
| 12747 | + ldr r0, .L1759+12 |
---|
12281 | 12748 | bl sftl_printk |
---|
12282 | | -.L1878: |
---|
12283 | | - ldr r3, [sp] |
---|
12284 | | - sub fp, fp, r3 |
---|
12285 | | - b .L1851 |
---|
12286 | | -.L1854: |
---|
12287 | | - str r2, [r6, #8] |
---|
12288 | | - ldrh r2, [r5, #28] |
---|
12289 | | - cmp r2, #0 |
---|
12290 | | - movne r4, r3 |
---|
12291 | | - bne .L1853 |
---|
| 12749 | +.L1739: |
---|
| 12750 | + ldr r3, [fp, #-80] |
---|
| 12751 | + sub r3, r3, r10 |
---|
| 12752 | + str r3, [fp, #-80] |
---|
| 12753 | + b .L1710 |
---|
| 12754 | +.L1713: |
---|
| 12755 | + str r3, [r7, #8] |
---|
| 12756 | + ldrh r3, [r5, #28] |
---|
| 12757 | + cmp r3, #0 |
---|
| 12758 | + bne .L1716 |
---|
12292 | 12759 | mov r0, r4 |
---|
12293 | 12760 | bl allocate_new_data_superblock |
---|
12294 | | - b .L1856 |
---|
12295 | | -.L1877: |
---|
| 12761 | + b .L1715 |
---|
| 12762 | +.L1738: |
---|
12296 | 12763 | ldrh r3, [r4, #4] |
---|
12297 | 12764 | cmp r3, #0 |
---|
12298 | | - beq .L1859 |
---|
| 12765 | + beq .L1719 |
---|
| 12766 | + sub r1, fp, #72 |
---|
12299 | 12767 | mov r2, #0 |
---|
12300 | | - add r1, sp, #44 |
---|
12301 | | - mov r0, r7 |
---|
12302 | | - mov r8, #20 |
---|
| 12768 | + mov r0, r6 |
---|
12303 | 12769 | bl log2phys |
---|
12304 | 12770 | mov r0, r4 |
---|
12305 | 12771 | bl get_new_active_ppa |
---|
12306 | | - ldr r2, .L1902+28 |
---|
12307 | | - ldr r1, [sp] |
---|
12308 | | - ldr r3, [sp] |
---|
12309 | | - ldrh r2, [r2] |
---|
12310 | | - mul r8, r8, r3 |
---|
| 12772 | + mov r3, #20 |
---|
| 12773 | + mul r3, r3, r10 |
---|
| 12774 | + str r3, [fp, #-96] |
---|
| 12775 | + ldr r2, [fp, #-96] |
---|
12311 | 12776 | ldr r3, [r5, #3296] |
---|
12312 | | - mul r1, r2, r1 |
---|
12313 | | - add r3, r3, r8 |
---|
| 12777 | + add r3, r3, r2 |
---|
| 12778 | + ldr r2, .L1759+24 |
---|
12314 | 12779 | str r0, [r3, #4] |
---|
| 12780 | + ldrh r2, [r2] |
---|
| 12781 | + str r6, [r3, #16] |
---|
| 12782 | + mul r1, r10, r2 |
---|
12315 | 12783 | bic r1, r1, #3 |
---|
12316 | | - str r7, [r3, #16] |
---|
12317 | | - str r1, [sp, #28] |
---|
12318 | | - ldr r0, [sp, #28] |
---|
| 12784 | + str r1, [fp, #-112] |
---|
| 12785 | + ldr r0, [fp, #-112] |
---|
12319 | 12786 | ldr r1, [r5, #3336] |
---|
| 12787 | + str r1, [fp, #-116] |
---|
12320 | 12788 | add r9, r1, r0 |
---|
12321 | | - str r1, [sp, #32] |
---|
12322 | | - str r9, [r3, #12] |
---|
12323 | 12789 | mov r1, #0 |
---|
| 12790 | + str r9, [r3, #12] |
---|
12324 | 12791 | mov r0, r9 |
---|
12325 | 12792 | bl ftl_memset |
---|
12326 | | - ldr r3, [sp, #4] |
---|
12327 | | - ldr r2, [sp, #20] |
---|
12328 | | - cmp r7, r2 |
---|
12329 | | - cmpne r7, r3 |
---|
12330 | | - bne .L1860 |
---|
12331 | | - cmp r7, r3 |
---|
12332 | | - bne .L1861 |
---|
12333 | | - ldr r3, .L1902+32 |
---|
12334 | | - mov r0, r10 |
---|
12335 | | - ldrh r6, [r3] |
---|
12336 | | - mov r1, r6 |
---|
12337 | | - bl __aeabi_uidivmod |
---|
12338 | | - ldr r3, [sp, #8] |
---|
12339 | | - sub r6, r6, r1 |
---|
12340 | | - str r1, [sp, #16] |
---|
12341 | | - cmp r6, r3 |
---|
12342 | | - movcs r6, r3 |
---|
12343 | | -.L1862: |
---|
12344 | | - ldr r3, .L1902+32 |
---|
| 12793 | + ldr r3, [fp, #-84] |
---|
| 12794 | + ldr r2, [fp, #-108] |
---|
| 12795 | + cmp r6, r2 |
---|
| 12796 | + cmpne r6, r3 |
---|
| 12797 | + ldr r3, .L1759+28 |
---|
| 12798 | + bne .L1720 |
---|
| 12799 | + ldr r2, [fp, #-84] |
---|
12345 | 12800 | ldrh r3, [r3] |
---|
12346 | | - cmp r6, r3 |
---|
12347 | | - ldr r3, [sp, #4] |
---|
12348 | | - bne .L1863 |
---|
12349 | | - cmp r7, r3 |
---|
12350 | | - ldr r3, [r5, #3296] |
---|
12351 | | - add r8, r3, r8 |
---|
12352 | | - ldreq r3, [sp, #12] |
---|
12353 | | - beq .L1898 |
---|
12354 | | - mul r6, r6, r7 |
---|
12355 | | - ldr r3, [sp, #12] |
---|
12356 | | - sub r6, r6, r10 |
---|
12357 | | - add r6, r3, r6, lsl #9 |
---|
12358 | | - str r6, [r8, #8] |
---|
12359 | | -.L1865: |
---|
| 12801 | + cmp r6, r2 |
---|
| 12802 | + bne .L1721 |
---|
| 12803 | + mov r1, r3 |
---|
| 12804 | + mov r0, r8 |
---|
| 12805 | + str r3, [fp, #-124] |
---|
| 12806 | + bl __aeabi_uidivmod |
---|
| 12807 | + ldr r3, [fp, #-124] |
---|
| 12808 | + ldr r2, [fp, #-88] |
---|
| 12809 | + sub r7, r3, r1 |
---|
| 12810 | + str r1, [fp, #-100] |
---|
| 12811 | + cmp r7, r2 |
---|
| 12812 | + movcs r7, r2 |
---|
| 12813 | +.L1722: |
---|
| 12814 | + ldr r0, [r5, #3296] |
---|
| 12815 | + cmp r3, r7 |
---|
| 12816 | + ldr r2, [fp, #-96] |
---|
| 12817 | + add r0, r0, r2 |
---|
| 12818 | + bne .L1723 |
---|
| 12819 | + ldr r2, [fp, #-84] |
---|
| 12820 | + cmp r6, r2 |
---|
| 12821 | + mulne r3, r6, r3 |
---|
| 12822 | + ldrne r2, [fp, #-92] |
---|
| 12823 | + ldreq r3, [fp, #-92] |
---|
| 12824 | + subne r3, r3, r8 |
---|
| 12825 | + addne r3, r2, r3, lsl #9 |
---|
| 12826 | + str r3, [r0, #8] |
---|
| 12827 | +.L1725: |
---|
12360 | 12828 | ldrb r2, [r4, #6] @ zero_extendqisi2 |
---|
12361 | 12829 | ldrh r3, [r5, #232] |
---|
12362 | 12830 | cmp r2, r3 |
---|
12363 | | - bcc .L1874 |
---|
12364 | | - movw r2, #1143 |
---|
12365 | | - ldr r1, .L1902+16 |
---|
12366 | | - ldr r0, .L1902+20 |
---|
| 12831 | + bcc .L1735 |
---|
| 12832 | + ldr r1, .L1759+8 |
---|
| 12833 | + movw r2, #1148 |
---|
| 12834 | + ldr r0, .L1759+12 |
---|
12367 | 12835 | bl sftl_printk |
---|
12368 | | -.L1874: |
---|
12369 | | - ldr r3, .L1902+36 |
---|
12370 | | - ldr r2, [sp, #32] |
---|
12371 | | - ldr r1, [sp, #28] |
---|
| 12836 | +.L1735: |
---|
| 12837 | + ldr r2, [fp, #-116] |
---|
| 12838 | + add r10, r10, #1 |
---|
| 12839 | + ldr r1, [fp, #-112] |
---|
| 12840 | + ldr r3, .L1759+32 |
---|
12372 | 12841 | strh r3, [r2, r1] @ movhi |
---|
| 12842 | + str r6, [r9, #8] |
---|
| 12843 | + add r6, r6, #1 |
---|
12373 | 12844 | ldr r3, [r5, #2592] |
---|
12374 | | - str r7, [r9, #8] |
---|
12375 | | - add r7, r7, #1 |
---|
12376 | 12845 | str r3, [r9, #4] |
---|
12377 | | - add r3, r3, #1 |
---|
12378 | | - cmn r3, #1 |
---|
| 12846 | + cmn r3, #2 |
---|
| 12847 | + add r2, r3, #1 |
---|
| 12848 | + strne r2, [r5, #2592] |
---|
12379 | 12849 | moveq r3, #0 |
---|
12380 | | - str r3, [r5, #2592] |
---|
12381 | | - ldr r3, [sp, #44] |
---|
| 12850 | + streq r3, [r5, #2592] |
---|
| 12851 | + ldr r3, [fp, #-72] |
---|
12382 | 12852 | str r3, [r9, #12] |
---|
12383 | 12853 | ldrh r3, [r4] |
---|
12384 | 12854 | strh r3, [r9, #2] @ movhi |
---|
12385 | | - ldr r3, [sp] |
---|
12386 | | - add r3, r3, #1 |
---|
12387 | | - b .L1901 |
---|
12388 | | -.L1861: |
---|
12389 | | - ldr r3, [sp, #8] |
---|
12390 | | - add r6, r10, r3 |
---|
12391 | | - ldr r3, .L1902+32 |
---|
12392 | | - ldrh r2, [r3] |
---|
12393 | | - mov r3, #0 |
---|
12394 | | - str r3, [sp, #16] |
---|
12395 | | - smulbb r2, r2, r7 |
---|
12396 | | - sub r6, r6, r2 |
---|
12397 | | - uxth r6, r6 |
---|
12398 | | - b .L1862 |
---|
12399 | | -.L1863: |
---|
12400 | | - cmp r7, r3 |
---|
12401 | | - ldr r3, [r5, #3296] |
---|
12402 | | - ldreq r2, [r5, #3312] |
---|
12403 | | - ldrne r2, [r5, #3316] |
---|
12404 | | - add r3, r3, r8 |
---|
12405 | | - str r2, [r3, #8] |
---|
12406 | | - ldr r3, [sp, #44] |
---|
12407 | | - cmn r3, #1 |
---|
12408 | | - beq .L1868 |
---|
12409 | | - str r3, [sp, #52] |
---|
12410 | | - mov r1, #1 |
---|
12411 | | - ldr r3, [r5, #3296] |
---|
12412 | | - add r0, sp, #48 |
---|
12413 | | - str r7, [sp, #64] |
---|
12414 | | - add r3, r3, r8 |
---|
12415 | | - ldr r2, [r3, #8] |
---|
12416 | | - ldr r3, [r3, #12] |
---|
12417 | | - str r2, [sp, #56] |
---|
| 12855 | + b .L1718 |
---|
| 12856 | +.L1721: |
---|
| 12857 | + ldr r2, [fp, #-88] |
---|
| 12858 | + add r7, r8, r2 |
---|
| 12859 | + smulbb r2, r6, r3 |
---|
| 12860 | + sub r7, r7, r2 |
---|
12418 | 12861 | mov r2, #0 |
---|
12419 | | - str r3, [sp, #60] |
---|
12420 | | - bl FlashReadPages |
---|
12421 | | - ldr r3, [sp, #48] |
---|
| 12862 | + str r2, [fp, #-100] |
---|
| 12863 | + uxth r7, r7 |
---|
| 12864 | + b .L1722 |
---|
| 12865 | +.L1723: |
---|
| 12866 | + ldr r3, [fp, #-84] |
---|
| 12867 | + cmp r6, r3 |
---|
| 12868 | + ldreq r3, [r5, #3312] |
---|
| 12869 | + ldrne r3, [r5, #3316] |
---|
| 12870 | + str r3, [r0, #8] |
---|
| 12871 | + ldr r3, [fp, #-72] |
---|
12422 | 12872 | cmn r3, #1 |
---|
12423 | | - bne .L1869 |
---|
| 12873 | + beq .L1728 |
---|
| 12874 | + str r6, [fp, #-52] |
---|
| 12875 | + mov r2, #0 |
---|
| 12876 | + str r3, [fp, #-64] |
---|
| 12877 | + mov r1, #1 |
---|
| 12878 | + ldr r3, [r0, #8] |
---|
| 12879 | + str r3, [fp, #-60] |
---|
| 12880 | + ldr r3, [r0, #12] |
---|
| 12881 | + sub r0, fp, #68 |
---|
| 12882 | + str r3, [fp, #-56] |
---|
| 12883 | + bl FlashReadPages |
---|
| 12884 | + ldr r3, [fp, #-68] |
---|
| 12885 | + cmn r3, #1 |
---|
| 12886 | + bne .L1729 |
---|
12424 | 12887 | ldr r2, [r5, #2712] |
---|
12425 | | - ldr r0, .L1902+40 |
---|
| 12888 | + ldr r0, .L1759+36 |
---|
12426 | 12889 | add r2, r2, #1 |
---|
12427 | 12890 | str r2, [r5, #2712] |
---|
12428 | | - mov r2, r7 |
---|
| 12891 | + mov r2, r6 |
---|
12429 | 12892 | ldr r1, [r9, #8] |
---|
12430 | 12893 | bl sftl_printk |
---|
12431 | | -.L1872: |
---|
12432 | | - ldr r3, [sp, #4] |
---|
12433 | | - lsl r2, r6, #9 |
---|
12434 | | - cmp r7, r3 |
---|
12435 | | - bne .L1873 |
---|
| 12894 | +.L1733: |
---|
| 12895 | + ldr r3, [fp, #-84] |
---|
| 12896 | + lsl r2, r7, #9 |
---|
| 12897 | + cmp r6, r3 |
---|
| 12898 | + bne .L1734 |
---|
| 12899 | + ldr r1, [fp, #-96] |
---|
12436 | 12900 | ldr r3, [r5, #3296] |
---|
12437 | | - ldr r1, [sp, #12] |
---|
12438 | | - add r8, r3, r8 |
---|
12439 | | - ldr r3, [sp, #16] |
---|
12440 | | - ldr r0, [r8, #8] |
---|
| 12901 | + add r3, r3, r1 |
---|
| 12902 | + ldr r1, [fp, #-92] |
---|
| 12903 | + ldr r0, [r3, #8] |
---|
| 12904 | + ldr r3, [fp, #-100] |
---|
12441 | 12905 | add r0, r0, r3, lsl #9 |
---|
12442 | | -.L1899: |
---|
| 12906 | +.L1758: |
---|
12443 | 12907 | bl ftl_memcpy |
---|
12444 | | - b .L1865 |
---|
12445 | | -.L1869: |
---|
| 12908 | + b .L1725 |
---|
| 12909 | +.L1729: |
---|
12446 | 12910 | ldr r3, [r9, #8] |
---|
12447 | | - cmp r7, r3 |
---|
12448 | | - beq .L1871 |
---|
| 12911 | + cmp r3, r6 |
---|
| 12912 | + beq .L1733 |
---|
12449 | 12913 | ldr r3, [r5, #2712] |
---|
12450 | | - mov r2, r7 |
---|
12451 | | - ldr r0, .L1902+44 |
---|
| 12914 | + mov r2, r6 |
---|
| 12915 | + ldr r0, .L1759+40 |
---|
12452 | 12916 | add r3, r3, #1 |
---|
12453 | 12917 | str r3, [r5, #2712] |
---|
12454 | 12918 | ldr r1, [r9, #8] |
---|
12455 | 12919 | bl sftl_printk |
---|
12456 | | -.L1871: |
---|
12457 | 12920 | ldr r3, [r9, #8] |
---|
12458 | | - cmp r7, r3 |
---|
12459 | | - beq .L1872 |
---|
12460 | | - movw r2, #1128 |
---|
12461 | | - ldr r1, .L1902+16 |
---|
12462 | | - ldr r0, .L1902+20 |
---|
| 12921 | + cmp r3, r6 |
---|
| 12922 | + beq .L1733 |
---|
| 12923 | + ldr r1, .L1759+8 |
---|
| 12924 | + movw r2, #1133 |
---|
| 12925 | + ldr r0, .L1759+12 |
---|
12463 | 12926 | bl sftl_printk |
---|
12464 | | - b .L1872 |
---|
12465 | | -.L1868: |
---|
12466 | | - ldr r3, [r5, #3296] |
---|
| 12927 | + b .L1733 |
---|
| 12928 | +.L1728: |
---|
| 12929 | + ldr r3, .L1759+44 |
---|
12467 | 12930 | mov r1, #0 |
---|
12468 | | - ldr r2, .L1902+48 |
---|
12469 | | - add r3, r3, r8 |
---|
12470 | | - ldrh r2, [r2] |
---|
12471 | | - ldr r0, [r3, #8] |
---|
| 12931 | + ldr r0, [r0, #8] |
---|
| 12932 | + ldrh r2, [r3] |
---|
12472 | 12933 | bl ftl_memset |
---|
12473 | | - b .L1872 |
---|
12474 | | -.L1873: |
---|
12475 | | - ldr r3, .L1902+32 |
---|
| 12934 | + b .L1733 |
---|
| 12935 | +.L1734: |
---|
| 12936 | + ldr r3, .L1759+28 |
---|
| 12937 | + ldr r0, [fp, #-96] |
---|
12476 | 12938 | ldrh r1, [r3] |
---|
12477 | 12939 | ldr r3, [r5, #3296] |
---|
12478 | | - mul r1, r7, r1 |
---|
12479 | | - add r8, r3, r8 |
---|
12480 | | - ldr r3, [sp, #12] |
---|
12481 | | - ldr r0, [r8, #8] |
---|
12482 | | - sub r1, r1, r10 |
---|
12483 | | - add r1, r3, r1, lsl #9 |
---|
12484 | | - b .L1899 |
---|
12485 | | -.L1860: |
---|
12486 | | - ldr r3, [r5, #3296] |
---|
12487 | | - ldr r2, [sp, #12] |
---|
12488 | | - add r8, r3, r8 |
---|
12489 | | - ldr r3, .L1902+32 |
---|
| 12940 | + add r3, r3, r0 |
---|
| 12941 | + ldr r0, [fp, #-92] |
---|
| 12942 | + mul r1, r6, r1 |
---|
| 12943 | + sub r1, r1, r8 |
---|
| 12944 | + add r1, r0, r1, lsl #9 |
---|
| 12945 | + ldr r0, [r3, #8] |
---|
| 12946 | + b .L1758 |
---|
| 12947 | +.L1720: |
---|
12490 | 12948 | ldrh r3, [r3] |
---|
12491 | | - mul r3, r7, r3 |
---|
12492 | | - sub r3, r3, r10 |
---|
12493 | | - add r3, r2, r3, lsl #9 |
---|
12494 | | -.L1898: |
---|
12495 | | - str r3, [r8, #8] |
---|
12496 | | - b .L1865 |
---|
12497 | | -.L1883: |
---|
| 12949 | + ldr r1, [fp, #-96] |
---|
| 12950 | + ldr r2, [r5, #3296] |
---|
| 12951 | + mul r3, r6, r3 |
---|
| 12952 | + add r2, r2, r1 |
---|
| 12953 | + ldr r1, [fp, #-92] |
---|
| 12954 | + sub r3, r3, r8 |
---|
| 12955 | + add r3, r1, r3, lsl #9 |
---|
| 12956 | + str r3, [r2, #8] |
---|
| 12957 | + b .L1725 |
---|
| 12958 | +.L1751: |
---|
| 12959 | + ldr r6, .L1759+48 |
---|
| 12960 | + mov r4, #256 |
---|
| 12961 | +.L1741: |
---|
| 12962 | + ldrh r2, [r5, #222] |
---|
12498 | 12963 | ldrh r3, [r5, #172] |
---|
| 12964 | + and r3, r3, r2 |
---|
12499 | 12965 | movw r2, #65535 |
---|
12500 | 12966 | cmp r3, r2 |
---|
12501 | | - bne .L1881 |
---|
12502 | | - ldrh r2, [r5, #222] |
---|
12503 | | - cmp r2, r3 |
---|
12504 | | - bne .L1881 |
---|
| 12967 | + bne .L1742 |
---|
12505 | 12968 | mov r0, #0 |
---|
12506 | 12969 | bl List_get_gc_head_node |
---|
12507 | 12970 | uxth r0, r0 |
---|
12508 | 12971 | bl FtlGcRefreshBlock |
---|
12509 | | -.L1881: |
---|
12510 | | - ldr r2, .L1902+52 |
---|
| 12972 | +.L1742: |
---|
| 12973 | + ldr r2, .L1759+52 |
---|
12511 | 12974 | mov r1, #1 |
---|
12512 | | - mov r3, #128 |
---|
12513 | 12975 | mov r0, r1 |
---|
| 12976 | + mov r3, #128 |
---|
12514 | 12977 | strh r3, [r6] @ movhi |
---|
12515 | 12978 | strh r3, [r2] @ movhi |
---|
12516 | 12979 | bl rk_ftl_garbage_collect |
---|
.. | .. |
---|
12519 | 12982 | bl rk_ftl_garbage_collect |
---|
12520 | 12983 | ldrh r3, [r5, #224] |
---|
12521 | 12984 | cmp r3, #2 |
---|
12522 | | - bhi .L1882 |
---|
| 12985 | + bhi .L1743 |
---|
12523 | 12986 | subs r4, r4, #1 |
---|
12524 | | - bne .L1883 |
---|
12525 | | - b .L1882 |
---|
12526 | | -.L1886: |
---|
| 12987 | + bne .L1741 |
---|
| 12988 | + b .L1743 |
---|
| 12989 | +.L1746: |
---|
12527 | 12990 | mvn r0, #0 |
---|
12528 | | - b .L1847 |
---|
12529 | | -.L1884: |
---|
12530 | | - add sp, sp, #76 |
---|
12531 | | - @ sp needed |
---|
12532 | | - pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} |
---|
12533 | | -.L1903: |
---|
| 12991 | + b .L1706 |
---|
| 12992 | +.L1744: |
---|
| 12993 | + sub sp, fp, #40 |
---|
| 12994 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 12995 | +.L1760: |
---|
12534 | 12996 | .align 2 |
---|
12535 | | -.L1902: |
---|
12536 | | - .word __stack_chk_guard |
---|
| 12997 | +.L1759: |
---|
12537 | 12998 | .word .LANCHOR0 |
---|
12538 | 12999 | .word .LANCHOR2 |
---|
12539 | | - .word .LANCHOR0+3154 |
---|
12540 | 13000 | .word .LANCHOR1+591 |
---|
12541 | 13001 | .word .LC8 |
---|
12542 | 13002 | .word .LANCHOR0+24 |
---|
| 13003 | + .word .LANCHOR0+76 |
---|
12543 | 13004 | .word .LANCHOR0+312 |
---|
12544 | 13005 | .word .LANCHOR0+258 |
---|
12545 | 13006 | .word -3947 |
---|
12546 | 13007 | .word .LC125 |
---|
12547 | 13008 | .word .LC126 |
---|
12548 | 13009 | .word .LANCHOR0+310 |
---|
| 13010 | + .word .LANCHOR0+3154 |
---|
12549 | 13011 | .word .LANCHOR0+3152 |
---|
12550 | | - .fnend |
---|
12551 | 13012 | .size FtlWrite, .-FtlWrite |
---|
12552 | 13013 | .align 2 |
---|
12553 | 13014 | .global sftl_gc |
---|
.. | .. |
---|
12556 | 13017 | .fpu softvfp |
---|
12557 | 13018 | .type sftl_gc, %function |
---|
12558 | 13019 | sftl_gc: |
---|
12559 | | - .fnstart |
---|
12560 | 13020 | @ args = 0, pretend = 0, frame = 0 |
---|
12561 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
12562 | | - @ link register save eliminated. |
---|
| 13021 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 13022 | + mov ip, sp |
---|
| 13023 | + push {fp, ip, lr, pc} |
---|
| 13024 | + sub fp, ip, #4 |
---|
| 13025 | + push {lr} |
---|
| 13026 | + bl __gnu_mcount_nc |
---|
12563 | 13027 | mov r1, #1 |
---|
12564 | 13028 | mov r0, r1 |
---|
12565 | | - b rk_ftl_garbage_collect |
---|
12566 | | - .fnend |
---|
| 13029 | + bl rk_ftl_garbage_collect |
---|
| 13030 | + ldmfd sp, {fp, sp, pc} |
---|
12567 | 13031 | .size sftl_gc, .-sftl_gc |
---|
| 13032 | + .section .rodata.str1.1 |
---|
| 13033 | +.LC127: |
---|
| 13034 | + .ascii "%s hash error this.id =%x page =%x pre_id =%x hash " |
---|
| 13035 | + .ascii "=%x hash_r =%x\012\000" |
---|
| 13036 | + .text |
---|
12568 | 13037 | .align 2 |
---|
12569 | 13038 | .global FtlLoadSysInfo |
---|
12570 | 13039 | .syntax unified |
---|
.. | .. |
---|
12572 | 13041 | .fpu softvfp |
---|
12573 | 13042 | .type FtlLoadSysInfo, %function |
---|
12574 | 13043 | FtlLoadSysInfo: |
---|
12575 | | - .fnstart |
---|
12576 | | - @ args = 0, pretend = 0, frame = 0 |
---|
12577 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
12578 | | - push {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
12579 | | - .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
| 13044 | + @ args = 0, pretend = 0, frame = 8 |
---|
| 13045 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 13046 | + mov ip, sp |
---|
| 13047 | + push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 13048 | + sub fp, ip, #4 |
---|
| 13049 | + sub sp, sp, #28 |
---|
| 13050 | + push {lr} |
---|
| 13051 | + bl __gnu_mcount_nc |
---|
| 13052 | + ldr r4, .L1790 |
---|
12580 | 13053 | mov r1, #0 |
---|
12581 | | - ldr r4, .L1936 |
---|
12582 | | - .pad #20 |
---|
12583 | | - sub sp, sp, #20 |
---|
12584 | | - ldr r3, [r4, #3300] |
---|
12585 | 13054 | add r6, r4, #2624 |
---|
12586 | 13055 | ldrh r2, [r4, #240] |
---|
12587 | | - ldr r0, [r4, #72] |
---|
| 13056 | + ldr r3, [r4, #3300] |
---|
12588 | 13057 | str r3, [r4, #3460] |
---|
12589 | | - ldr r3, [r4, #3332] |
---|
| 13058 | + ldr r0, [r4, #72] |
---|
12590 | 13059 | lsl r2, r2, #1 |
---|
| 13060 | + ldr r3, [r4, #3332] |
---|
12591 | 13061 | str r3, [r4, #3464] |
---|
12592 | 13062 | bl ftl_memset |
---|
12593 | 13063 | ldrh r0, [r6] |
---|
12594 | 13064 | movw r3, #65535 |
---|
12595 | 13065 | cmp r0, r3 |
---|
12596 | | - bne .L1906 |
---|
12597 | | -.L1917: |
---|
| 13066 | + bne .L1763 |
---|
| 13067 | +.L1775: |
---|
12598 | 13068 | mvn r0, #0 |
---|
12599 | | -.L1905: |
---|
12600 | | - add sp, sp, #20 |
---|
12601 | | - @ sp needed |
---|
12602 | | - pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} |
---|
12603 | | -.L1906: |
---|
| 13069 | +.L1762: |
---|
| 13070 | + sub sp, fp, #40 |
---|
| 13071 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 13072 | +.L1763: |
---|
12604 | 13073 | mov r1, #1 |
---|
12605 | | - ldr r8, .L1936+4 |
---|
| 13074 | + ldr r9, .L1790+4 |
---|
12606 | 13075 | bl FtlGetLastWrittenPage |
---|
12607 | | - ldr r9, .L1936+8 |
---|
12608 | | - sxth r5, r0 |
---|
| 13076 | + ldr r10, .L1790+8 |
---|
12609 | 13077 | ldrsh r7, [r6] |
---|
12610 | | - add r0, r0, #1 |
---|
12611 | | - ldr r10, .L1936+12 |
---|
12612 | | - strh r0, [r6, #2] @ movhi |
---|
12613 | | -.L1908: |
---|
| 13078 | + sxth r5, r0 |
---|
| 13079 | + add r3, r5, #1 |
---|
| 13080 | + strh r3, [r6, #2] @ movhi |
---|
| 13081 | +.L1765: |
---|
12614 | 13082 | cmp r5, #0 |
---|
12615 | | - bge .L1914 |
---|
| 13083 | + bge .L1772 |
---|
| 13084 | + ldr r1, .L1790+12 |
---|
12616 | 13085 | movw r2, #1474 |
---|
12617 | | - ldr r1, .L1936+16 |
---|
12618 | | - ldr r0, .L1936+20 |
---|
| 13086 | + ldr r0, .L1790+16 |
---|
12619 | 13087 | bl sftl_printk |
---|
12620 | | - b .L1913 |
---|
12621 | | -.L1914: |
---|
| 13088 | + b .L1771 |
---|
| 13089 | +.L1772: |
---|
12622 | 13090 | orr r3, r5, r7, lsl #10 |
---|
12623 | 13091 | mov r2, #1 |
---|
12624 | | - mov r1, r2 |
---|
12625 | 13092 | str r3, [r4, #3456] |
---|
12626 | | - mov r0, r8 |
---|
| 13093 | + mov r1, r2 |
---|
12627 | 13094 | ldr r3, [r4, #3300] |
---|
| 13095 | + mov r0, r9 |
---|
12628 | 13096 | str r3, [r4, #3460] |
---|
12629 | 13097 | bl FlashReadPages |
---|
12630 | 13098 | ldr r3, [r4, #3464] |
---|
12631 | | - ldr fp, [r3, #12] |
---|
12632 | | - cmp fp, #0 |
---|
12633 | | - beq .L1909 |
---|
12634 | | - ldr r3, [r4, #3452] |
---|
12635 | | - cmn r3, #1 |
---|
12636 | | - beq .L1909 |
---|
12637 | | - ldrh r1, [r10] |
---|
| 13099 | + ldr r3, [r3, #12] |
---|
| 13100 | + str r3, [fp, #-48] |
---|
| 13101 | + cmp r3, #0 |
---|
| 13102 | + beq .L1766 |
---|
| 13103 | + ldr r2, [r4, #3452] |
---|
| 13104 | + cmn r2, #1 |
---|
| 13105 | + beq .L1767 |
---|
| 13106 | + ldr r8, .L1790+20 |
---|
12638 | 13107 | ldr r0, [r4, #3460] |
---|
| 13108 | + ldrh r1, [r8] |
---|
12639 | 13109 | bl js_hash |
---|
12640 | | - cmp fp, r0 |
---|
12641 | | - beq .L1909 |
---|
| 13110 | + ldr r3, [fp, #-48] |
---|
| 13111 | + cmp r3, r0 |
---|
| 13112 | + beq .L1768 |
---|
12642 | 13113 | str r0, [sp, #8] |
---|
12643 | 13114 | mov r2, r7 |
---|
12644 | | - str fp, [sp, #4] |
---|
| 13115 | + str r3, [sp, #4] |
---|
| 13116 | + ldr r1, .L1790+12 |
---|
12645 | 13117 | ldrh r3, [r6, #4] |
---|
12646 | | - ldr r1, .L1936+16 |
---|
12647 | | - ldr r0, .L1936+24 |
---|
12648 | 13118 | str r3, [sp] |
---|
12649 | 13119 | mov r3, r5 |
---|
| 13120 | + ldr r0, .L1790+24 |
---|
12650 | 13121 | bl sftl_printk |
---|
12651 | 13122 | cmp r5, #0 |
---|
12652 | | - bne .L1910 |
---|
| 13123 | + bne .L1769 |
---|
12653 | 13124 | ldrh r3, [r6, #4] |
---|
12654 | 13125 | cmp r7, r3 |
---|
12655 | | - beq .L1910 |
---|
12656 | | - sxth r7, r3 |
---|
12657 | | - ldr r3, .L1936+28 |
---|
12658 | | - ldrh r5, [r3] |
---|
12659 | | -.L1912: |
---|
12660 | | - sub r5, r5, #1 |
---|
12661 | | - sxth r5, r5 |
---|
12662 | | - b .L1908 |
---|
12663 | | -.L1910: |
---|
| 13126 | + sxthne r7, r3 |
---|
| 13127 | + ldrhne r5, [r8, #-6] |
---|
| 13128 | + bne .L1767 |
---|
| 13129 | +.L1769: |
---|
12664 | 13130 | mvn r3, #0 |
---|
12665 | 13131 | str r3, [r4, #3452] |
---|
12666 | | -.L1909: |
---|
| 13132 | +.L1767: |
---|
| 13133 | + sub r5, r5, #1 |
---|
| 13134 | + sxth r5, r5 |
---|
| 13135 | + b .L1765 |
---|
| 13136 | +.L1766: |
---|
12667 | 13137 | ldr r3, [r4, #3452] |
---|
12668 | 13138 | cmn r3, #1 |
---|
12669 | | - beq .L1912 |
---|
| 13139 | + beq .L1767 |
---|
| 13140 | +.L1768: |
---|
12670 | 13141 | ldr r3, [r4, #3300] |
---|
12671 | 13142 | ldr r3, [r3] |
---|
12672 | | - cmp r3, r9 |
---|
12673 | | - bne .L1912 |
---|
| 13143 | + cmp r3, r10 |
---|
| 13144 | + bne .L1767 |
---|
12674 | 13145 | ldr r3, [r4, #3332] |
---|
12675 | 13146 | ldrh r2, [r3] |
---|
12676 | 13147 | movw r3, #61604 |
---|
12677 | 13148 | cmp r2, r3 |
---|
12678 | | - bne .L1912 |
---|
12679 | | -.L1913: |
---|
| 13149 | + bne .L1767 |
---|
| 13150 | +.L1771: |
---|
12680 | 13151 | movw r2, #310 |
---|
12681 | 13152 | ldrh r3, [r4, #240] |
---|
12682 | 13153 | ldrh r2, [r4, r2] |
---|
12683 | 13154 | add r3, r3, #24 |
---|
12684 | 13155 | cmp r2, r3, lsl #1 |
---|
12685 | | - bcs .L1916 |
---|
| 13156 | + bcs .L1774 |
---|
| 13157 | + ldr r1, .L1790+12 |
---|
12686 | 13158 | movw r2, #1476 |
---|
12687 | | - ldr r1, .L1936+16 |
---|
12688 | | - ldr r0, .L1936+20 |
---|
| 13159 | + ldr r0, .L1790+16 |
---|
12689 | 13160 | bl sftl_printk |
---|
12690 | | -.L1916: |
---|
12691 | | - ldr r5, .L1936+32 |
---|
| 13161 | +.L1774: |
---|
| 13162 | + ldr r5, .L1790+28 |
---|
12692 | 13163 | mov r2, #48 |
---|
12693 | 13164 | ldr r1, [r4, #3460] |
---|
12694 | 13165 | mov r0, r5 |
---|
.. | .. |
---|
12700 | 13171 | add r1, r1, #48 |
---|
12701 | 13172 | bl ftl_memcpy |
---|
12702 | 13173 | ldr r2, [r4, #2468] |
---|
12703 | | - ldr r3, .L1936+8 |
---|
| 13174 | + ldr r3, .L1790+8 |
---|
12704 | 13175 | cmp r2, r3 |
---|
12705 | | - bne .L1917 |
---|
| 13176 | + bne .L1775 |
---|
12706 | 13177 | ldrb r2, [r4, #2478] @ zero_extendqisi2 |
---|
12707 | 13178 | ldrh r3, [r4, #254] |
---|
12708 | 13179 | ldrh r7, [r5, #8] |
---|
12709 | 13180 | cmp r2, r3 |
---|
12710 | 13181 | strh r7, [r6, #6] @ movhi |
---|
12711 | | - bne .L1917 |
---|
| 13182 | + bne .L1775 |
---|
12712 | 13183 | movw r3, #302 |
---|
12713 | 13184 | movw r2, #258 |
---|
| 13185 | + ldr r6, [r4, #244] |
---|
12714 | 13186 | ldrh r3, [r4, r3] |
---|
12715 | 13187 | ldrh r2, [r4, r2] |
---|
12716 | | - ldr r6, [r4, #244] |
---|
| 13188 | + ldrh r1, [r4, #232] |
---|
12717 | 13189 | str r7, [r4, #3672] |
---|
12718 | 13190 | mul r3, r7, r3 |
---|
12719 | | - ldrh r1, [r4, #232] |
---|
12720 | 13191 | str r3, [r4, #2552] |
---|
12721 | 13192 | mul r3, r3, r2 |
---|
12722 | 13193 | str r3, [r4, #340] |
---|
12723 | | - ldr r3, .L1936+36 |
---|
| 13194 | + ldr r3, .L1790+32 |
---|
12724 | 13195 | ldrh r0, [r3, #6] |
---|
| 13196 | + add r0, r0, r7 |
---|
12725 | 13197 | sub r0, r6, r0 |
---|
12726 | | - sub r0, r0, r7 |
---|
12727 | 13198 | bl __aeabi_uidiv |
---|
12728 | | - cmp r7, r6 |
---|
12729 | 13199 | movw r3, #2620 |
---|
| 13200 | + cmp r7, r6 |
---|
12730 | 13201 | strh r0, [r4, r3] @ movhi |
---|
12731 | | - bls .L1918 |
---|
| 13202 | + bls .L1776 |
---|
| 13203 | + ldr r1, .L1790+12 |
---|
12732 | 13204 | movw r2, #1498 |
---|
12733 | | - ldr r1, .L1936+16 |
---|
12734 | | - ldr r0, .L1936+20 |
---|
| 13205 | + ldr r0, .L1790+16 |
---|
12735 | 13206 | bl sftl_printk |
---|
12736 | | -.L1918: |
---|
| 13207 | +.L1776: |
---|
12737 | 13208 | ldrh r3, [r5, #16] |
---|
12738 | 13209 | ldrh r1, [r5, #14] |
---|
| 13210 | + strh r1, [r4, #24] @ movhi |
---|
12739 | 13211 | lsr r2, r3, #6 |
---|
12740 | | - and r3, r3, #63 |
---|
12741 | | - strb r3, [r4, #30] |
---|
12742 | 13212 | strh r2, [r4, #26] @ movhi |
---|
12743 | 13213 | ldrh r2, [r5, #18] |
---|
12744 | | - ldrb r3, [r4, #2479] @ zero_extendqisi2 |
---|
12745 | | - strh r1, [r4, #24] @ movhi |
---|
| 13214 | + and r3, r3, #63 |
---|
12746 | 13215 | strh r2, [r4, #76] @ movhi |
---|
12747 | 13216 | ldrh r2, [r5, #20] |
---|
12748 | | - strb r3, [r4, #32] |
---|
12749 | | - mvn r3, #0 |
---|
12750 | | - strh r3, [r4, #172] @ movhi |
---|
12751 | | - mov r3, #0 |
---|
12752 | | - strh r3, [r4, #174] @ movhi |
---|
| 13217 | + strb r3, [r4, #30] |
---|
| 13218 | + ldrb r3, [r4, #2479] @ zero_extendqisi2 |
---|
12753 | 13219 | lsr r0, r2, #6 |
---|
12754 | 13220 | and r2, r2, #63 |
---|
12755 | 13221 | strb r2, [r4, #82] |
---|
12756 | 13222 | ldrb r2, [r4, #2480] @ zero_extendqisi2 |
---|
12757 | | - strh r0, [r4, #78] @ movhi |
---|
12758 | | - strb r3, [r4, #178] |
---|
12759 | 13223 | strb r2, [r4, #84] |
---|
12760 | 13224 | ldrh r2, [r5, #22] |
---|
12761 | | - strb r3, [r4, #180] |
---|
12762 | | - str r3, [r4, #2576] |
---|
12763 | 13225 | strh r2, [r4, #124] @ movhi |
---|
12764 | 13226 | ldrh r2, [r5, #24] |
---|
12765 | | - str r3, [r4, #2564] |
---|
12766 | | - str r3, [r4, #2556] |
---|
12767 | | - str r3, [r4, #2572] |
---|
| 13227 | + strh r0, [r4, #78] @ movhi |
---|
| 13228 | + strb r3, [r4, #32] |
---|
| 13229 | + movw r3, #65535 |
---|
12768 | 13230 | lsr r0, r2, #6 |
---|
12769 | 13231 | and r2, r2, #63 |
---|
12770 | 13232 | strb r2, [r4, #130] |
---|
12771 | 13233 | ldrb r2, [r4, #2481] @ zero_extendqisi2 |
---|
12772 | | - str r3, [r4, #2600] |
---|
12773 | | - strh r0, [r4, #126] @ movhi |
---|
12774 | 13234 | strb r2, [r4, #132] |
---|
12775 | 13235 | ldr r2, [r4, #2500] |
---|
| 13236 | + str r3, [r4, #172] |
---|
| 13237 | + mov r3, #0 |
---|
12776 | 13238 | str r2, [r4, #2596] |
---|
| 13239 | + strb r3, [r4, #178] |
---|
| 13240 | + strb r3, [r4, #180] |
---|
| 13241 | + str r3, [r4, #2576] |
---|
| 13242 | + str r3, [r4, #2564] |
---|
| 13243 | + str r3, [r4, #2556] |
---|
| 13244 | + str r3, [r4, #2572] |
---|
| 13245 | + str r3, [r4, #2600] |
---|
12777 | 13246 | str r3, [r4, #2612] |
---|
12778 | | - ldr r2, [r4, #2588] |
---|
| 13247 | + strh r0, [r4, #126] @ movhi |
---|
12779 | 13248 | str r3, [r4, #2568] |
---|
12780 | 13249 | ldr r3, [r4, #2508] |
---|
| 13250 | + ldr r2, [r4, #2588] |
---|
12781 | 13251 | cmp r3, r2 |
---|
12782 | 13252 | ldr r2, [r4, #2592] |
---|
12783 | 13253 | strhi r3, [r4, #2588] |
---|
.. | .. |
---|
12786 | 13256 | strhi r3, [r4, #2592] |
---|
12787 | 13257 | movw r3, #65535 |
---|
12788 | 13258 | cmp r1, r3 |
---|
12789 | | - beq .L1921 |
---|
12790 | | - ldr r0, .L1936+40 |
---|
| 13259 | + beq .L1779 |
---|
| 13260 | + ldr r0, .L1790+36 |
---|
12791 | 13261 | bl make_superblock |
---|
12792 | | -.L1921: |
---|
| 13262 | +.L1779: |
---|
12793 | 13263 | ldrh r2, [r4, #76] |
---|
12794 | 13264 | movw r3, #65535 |
---|
12795 | 13265 | cmp r2, r3 |
---|
12796 | | - beq .L1922 |
---|
12797 | | - ldr r0, .L1936+44 |
---|
| 13266 | + beq .L1780 |
---|
| 13267 | + ldr r0, .L1790+40 |
---|
12798 | 13268 | bl make_superblock |
---|
12799 | | -.L1922: |
---|
| 13269 | +.L1780: |
---|
12800 | 13270 | ldrh r2, [r4, #124] |
---|
12801 | 13271 | movw r3, #65535 |
---|
12802 | 13272 | cmp r2, r3 |
---|
12803 | | - beq .L1923 |
---|
12804 | | - ldr r0, .L1936+48 |
---|
| 13273 | + beq .L1781 |
---|
| 13274 | + ldr r0, .L1790+44 |
---|
12805 | 13275 | bl make_superblock |
---|
12806 | | -.L1923: |
---|
| 13276 | +.L1781: |
---|
12807 | 13277 | ldrh r2, [r4, #172] |
---|
12808 | 13278 | movw r3, #65535 |
---|
12809 | 13279 | cmp r2, r3 |
---|
12810 | | - beq .L1924 |
---|
12811 | | - ldr r0, .L1936+52 |
---|
| 13280 | + beq .L1782 |
---|
| 13281 | + ldr r0, .L1790+48 |
---|
12812 | 13282 | bl make_superblock |
---|
12813 | | -.L1924: |
---|
| 13283 | +.L1782: |
---|
12814 | 13284 | mov r0, #0 |
---|
12815 | | - b .L1905 |
---|
12816 | | -.L1937: |
---|
| 13285 | + b .L1762 |
---|
| 13286 | +.L1791: |
---|
12817 | 13287 | .align 2 |
---|
12818 | | -.L1936: |
---|
| 13288 | +.L1790: |
---|
12819 | 13289 | .word .LANCHOR0 |
---|
12820 | 13290 | .word .LANCHOR0+3452 |
---|
12821 | 13291 | .word 1179929683 |
---|
12822 | | - .word .LANCHOR0+310 |
---|
12823 | 13292 | .word .LANCHOR1+600 |
---|
12824 | 13293 | .word .LC8 |
---|
| 13294 | + .word .LANCHOR0+310 |
---|
12825 | 13295 | .word .LC127 |
---|
12826 | | - .word .LANCHOR0+304 |
---|
12827 | 13296 | .word .LANCHOR0+2468 |
---|
12828 | 13297 | .word .LANCHOR0+352 |
---|
12829 | 13298 | .word .LANCHOR0+24 |
---|
12830 | 13299 | .word .LANCHOR0+76 |
---|
12831 | 13300 | .word .LANCHOR0+124 |
---|
12832 | 13301 | .word .LANCHOR0+172 |
---|
12833 | | - .fnend |
---|
12834 | 13302 | .size FtlLoadSysInfo, .-FtlLoadSysInfo |
---|
| 13303 | + .section .rodata.str1.1 |
---|
| 13304 | +.LC128: |
---|
| 13305 | + .ascii "%s last blk_id =%x page =%x hash error hash =%x has" |
---|
| 13306 | + .ascii "h_r =%x\012\000" |
---|
| 13307 | +.LC129: |
---|
| 13308 | + .ascii "%s scan blk_id =%x page =%x hash error hash =%x has" |
---|
| 13309 | + .ascii "h_r =%x\012\000" |
---|
| 13310 | + .text |
---|
12835 | 13311 | .align 2 |
---|
12836 | 13312 | .global FtlMapTblRecovery |
---|
12837 | 13313 | .syntax unified |
---|
.. | .. |
---|
12839 | 13315 | .fpu softvfp |
---|
12840 | 13316 | .type FtlMapTblRecovery, %function |
---|
12841 | 13317 | FtlMapTblRecovery: |
---|
12842 | | - .fnstart |
---|
12843 | 13318 | @ args = 0, pretend = 0, frame = 32 |
---|
12844 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
12845 | | - push {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
12846 | | - .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
12847 | | - .pad #44 |
---|
| 13319 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 13320 | + mov ip, sp |
---|
| 13321 | + push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 13322 | + sub fp, ip, #4 |
---|
12848 | 13323 | sub sp, sp, #44 |
---|
12849 | | - ldr r3, [r0, #24] |
---|
| 13324 | + push {lr} |
---|
| 13325 | + bl __gnu_mcount_nc |
---|
| 13326 | + ldr r3, [r0, #12] |
---|
12850 | 13327 | mov r4, r0 |
---|
| 13328 | + str r3, [fp, #-56] |
---|
12851 | 13329 | mov r1, #0 |
---|
12852 | | - mov r8, #0 |
---|
12853 | | - ldr r6, .L1980 |
---|
12854 | | - str r3, [sp, #12] |
---|
12855 | 13330 | ldr r3, [r0, #16] |
---|
12856 | | - ldr r9, [r0, #12] |
---|
12857 | | - add fp, r6, #304 |
---|
12858 | | - str r3, [sp, #24] |
---|
| 13331 | + mov r6, #0 |
---|
| 13332 | + str r3, [fp, #-64] |
---|
12859 | 13333 | ldrh r3, [r0, #6] |
---|
12860 | | - str r3, [sp, #16] |
---|
| 13334 | + str r3, [fp, #-48] |
---|
12861 | 13335 | ldrh r3, [r0, #8] |
---|
12862 | | - ldr r0, [sp, #12] |
---|
12863 | | - str r3, [sp, #20] |
---|
12864 | | - ldr r3, [sp, #16] |
---|
| 13336 | + ldr r5, .L1831 |
---|
| 13337 | + str r3, [fp, #-60] |
---|
| 13338 | + ldr r3, [fp, #-48] |
---|
| 13339 | + ldr r9, [r0, #24] |
---|
12865 | 13340 | lsl r2, r3, #2 |
---|
| 13341 | + mov r0, r9 |
---|
12866 | 13342 | bl ftl_memset |
---|
12867 | | - ldr r3, [r6, #3300] |
---|
12868 | | - ldr r5, [r6, #3332] |
---|
12869 | | - str r8, [r4, #32] |
---|
12870 | | - str r3, [r6, #3460] |
---|
| 13343 | + ldr r3, [r5, #3300] |
---|
| 13344 | + ldr r8, [r5, #3332] |
---|
| 13345 | + str r3, [r5, #3460] |
---|
12871 | 13346 | mvn r3, #0 |
---|
12872 | | - str r5, [r6, #3464] |
---|
12873 | | - strh r3, [r4] @ movhi |
---|
12874 | | - strh r3, [r4, #2] @ movhi |
---|
| 13347 | + str r8, [r5, #3464] |
---|
| 13348 | + str r6, [r4, #32] |
---|
| 13349 | + str r3, [r4] |
---|
12875 | 13350 | mov r3, #1 |
---|
12876 | | - str r8, [r4, #28] |
---|
| 13351 | + str r6, [r4, #28] |
---|
12877 | 13352 | str r3, [r4, #36] |
---|
12878 | | -.L1939: |
---|
12879 | | - ldr r3, [sp, #20] |
---|
12880 | | - sxth r7, r8 |
---|
| 13353 | +.L1793: |
---|
| 13354 | + ldr r3, [fp, #-60] |
---|
| 13355 | + sxth r7, r6 |
---|
| 13356 | + uxth r10, r6 |
---|
12881 | 13357 | cmp r7, r3 |
---|
12882 | | - bge .L1958 |
---|
12883 | | - ldr r3, [sp, #20] |
---|
12884 | | - sub r3, r3, #1 |
---|
12885 | | - cmp r7, r3 |
---|
| 13358 | + bge .L1813 |
---|
| 13359 | + ldr r2, [fp, #-56] |
---|
12886 | 13360 | lsl r3, r7, #1 |
---|
12887 | | - bne .L1940 |
---|
12888 | | - ldrh r0, [r9, r3] |
---|
| 13361 | + add r2, r2, r7, lsl #1 |
---|
| 13362 | + str r2, [fp, #-52] |
---|
| 13363 | + ldr r2, [fp, #-60] |
---|
| 13364 | + sub r2, r2, #1 |
---|
| 13365 | + cmp r2, r7 |
---|
| 13366 | + bne .L1794 |
---|
| 13367 | + ldr r3, [fp, #-52] |
---|
12889 | 13368 | mov r1, #1 |
---|
12890 | | - add r10, r9, r3 |
---|
12891 | | - ldr r6, .L1980 |
---|
| 13369 | + ldr r5, .L1831 |
---|
| 13370 | + ldrh r0, [r3] |
---|
12892 | 13371 | bl FtlGetLastWrittenPage |
---|
12893 | 13372 | sxth r3, r0 |
---|
12894 | | - ldr fp, .L1980+4 |
---|
12895 | | - add r0, r0, #1 |
---|
12896 | | - strh r8, [r4] @ movhi |
---|
12897 | | - str r3, [sp, #20] |
---|
12898 | | - mov r8, #0 |
---|
12899 | | - ldr r3, [sp, #24] |
---|
12900 | | - strh r0, [r4, #2] @ movhi |
---|
| 13373 | + str r3, [fp, #-56] |
---|
| 13374 | + add r3, r3, #1 |
---|
| 13375 | + strh r3, [r4, #2] @ movhi |
---|
| 13376 | + ldr r3, [fp, #-64] |
---|
| 13377 | + strh r10, [r4] @ movhi |
---|
| 13378 | + mov r10, #0 |
---|
12901 | 13379 | ldr r3, [r3, r7, lsl #2] |
---|
12902 | 13380 | str r3, [r4, #28] |
---|
12903 | | -.L1941: |
---|
12904 | | - ldr r3, [sp, #20] |
---|
12905 | | - sxth r9, r8 |
---|
| 13381 | +.L1795: |
---|
| 13382 | + ldr r3, [fp, #-56] |
---|
| 13383 | + sxth r6, r10 |
---|
12906 | 13384 | add r2, r3, #1 |
---|
12907 | | - cmp r9, r2 |
---|
12908 | | - blt .L1944 |
---|
12909 | | -.L1958: |
---|
| 13385 | + cmp r6, r2 |
---|
| 13386 | + blt .L1799 |
---|
| 13387 | +.L1813: |
---|
12910 | 13388 | mov r0, r4 |
---|
12911 | 13389 | bl ftl_free_no_use_map_blk |
---|
12912 | | - ldr r3, .L1980+8 |
---|
| 13390 | + ldr r3, .L1831+4 |
---|
12913 | 13391 | ldrh r2, [r4, #2] |
---|
12914 | 13392 | ldrh r3, [r3] |
---|
12915 | 13393 | cmp r2, r3 |
---|
12916 | | - bne .L1946 |
---|
| 13394 | + bne .L1801 |
---|
12917 | 13395 | mov r0, r4 |
---|
12918 | 13396 | bl ftl_map_blk_alloc_new_blk |
---|
12919 | | -.L1946: |
---|
| 13397 | +.L1801: |
---|
12920 | 13398 | mov r0, r4 |
---|
12921 | 13399 | bl ftl_map_blk_gc |
---|
12922 | 13400 | mov r0, r4 |
---|
12923 | 13401 | bl ftl_map_blk_gc |
---|
12924 | 13402 | mov r0, #0 |
---|
12925 | | - add sp, sp, #44 |
---|
12926 | | - @ sp needed |
---|
12927 | | - pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} |
---|
12928 | | -.L1944: |
---|
12929 | | - ldrh r2, [r10] |
---|
12930 | | - mov r0, fp |
---|
12931 | | - orr r2, r9, r2, lsl #10 |
---|
12932 | | - str r2, [r6, #3456] |
---|
| 13403 | + sub sp, fp, #40 |
---|
| 13404 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 13405 | +.L1799: |
---|
| 13406 | + ldr r3, [fp, #-52] |
---|
| 13407 | + ldr r0, .L1831+8 |
---|
| 13408 | + ldrh r2, [r3] |
---|
| 13409 | + orr r2, r6, r2, lsl #10 |
---|
| 13410 | + str r2, [r5, #3456] |
---|
12933 | 13411 | mov r2, #1 |
---|
12934 | 13412 | mov r1, r2 |
---|
12935 | 13413 | bl FlashReadPages |
---|
12936 | | - ldr r2, [r6, #3464] |
---|
| 13414 | + ldr r2, [r5, #3464] |
---|
12937 | 13415 | ldr r2, [r2, #12] |
---|
| 13416 | + str r2, [fp, #-60] |
---|
12938 | 13417 | cmp r2, #0 |
---|
12939 | | - str r2, [sp, #24] |
---|
12940 | | - beq .L1942 |
---|
12941 | | - ldr r1, [r6, #3452] |
---|
| 13418 | + beq .L1796 |
---|
| 13419 | + ldr r1, [r5, #3452] |
---|
12942 | 13420 | cmn r1, #1 |
---|
12943 | | - beq .L1942 |
---|
12944 | | - ldr r1, .L1980+12 |
---|
12945 | | - ldr r0, [r6, #3460] |
---|
| 13421 | + beq .L1814 |
---|
| 13422 | + ldr r1, .L1831+12 |
---|
| 13423 | + ldr r0, [r5, #3460] |
---|
12946 | 13424 | ldrh r1, [r1] |
---|
12947 | 13425 | bl js_hash |
---|
12948 | | - ldr r2, [sp, #24] |
---|
| 13426 | + ldr r2, [fp, #-60] |
---|
12949 | 13427 | cmp r2, r0 |
---|
12950 | | - beq .L1942 |
---|
| 13428 | + beq .L1798 |
---|
| 13429 | + mov r3, r6 |
---|
12951 | 13430 | str r0, [sp, #4] |
---|
12952 | | - mov r3, r9 |
---|
12953 | 13431 | str r2, [sp] |
---|
12954 | 13432 | mov r2, r7 |
---|
12955 | | - ldr r1, .L1980+16 |
---|
12956 | | - ldr r0, .L1980+20 |
---|
| 13433 | + ldr r1, .L1831+16 |
---|
| 13434 | + ldr r0, .L1831+20 |
---|
12957 | 13435 | bl sftl_printk |
---|
12958 | 13436 | mvn r3, #0 |
---|
12959 | | - str r3, [r6, #3452] |
---|
12960 | | -.L1942: |
---|
12961 | | - ldr r3, [r6, #3452] |
---|
| 13437 | + str r3, [r5, #3452] |
---|
| 13438 | +.L1814: |
---|
| 13439 | + add r10, r10, #1 |
---|
| 13440 | + b .L1795 |
---|
| 13441 | +.L1796: |
---|
| 13442 | + ldr r3, [r5, #3452] |
---|
12962 | 13443 | cmn r3, #1 |
---|
12963 | | - beq .L1943 |
---|
12964 | | - ldrh r3, [r5, #8] |
---|
12965 | | - ldr r2, [sp, #16] |
---|
12966 | | - cmp r2, r3 |
---|
12967 | | - bls .L1943 |
---|
12968 | | - ldrh r1, [r5] |
---|
| 13444 | + beq .L1814 |
---|
| 13445 | +.L1798: |
---|
| 13446 | + ldrh r3, [r8, #8] |
---|
| 13447 | + ldr r2, [fp, #-48] |
---|
| 13448 | + cmp r3, r2 |
---|
| 13449 | + bcs .L1814 |
---|
12969 | 13450 | ldrh r2, [r4, #4] |
---|
| 13451 | + ldrh r1, [r8] |
---|
12970 | 13452 | cmp r1, r2 |
---|
12971 | | - ldreq r2, [r6, #3456] |
---|
12972 | | - ldreq r1, [sp, #12] |
---|
12973 | | - streq r2, [r1, r3, lsl #2] |
---|
12974 | | -.L1943: |
---|
12975 | | - add r8, r8, #1 |
---|
12976 | | - b .L1941 |
---|
12977 | | -.L1940: |
---|
12978 | | - ldr r2, [r6, #3300] |
---|
12979 | | - ldr r0, .L1980+4 |
---|
12980 | | - str r2, [r6, #3460] |
---|
12981 | | - add r2, r9, r3 |
---|
12982 | | - str r2, [sp, #28] |
---|
12983 | | - ldrh r2, [r9, r3] |
---|
12984 | | - ldrh r3, [fp] |
---|
| 13453 | + ldreq r2, [r5, #3456] |
---|
| 13454 | + streq r2, [r9, r3, lsl #2] |
---|
| 13455 | + b .L1814 |
---|
| 13456 | +.L1794: |
---|
| 13457 | + ldr r2, [r5, #3300] |
---|
| 13458 | + str r2, [r5, #3460] |
---|
| 13459 | + ldr r2, [fp, #-56] |
---|
| 13460 | + ldr r0, .L1831+8 |
---|
| 13461 | + ldrh r2, [r2, r3] |
---|
| 13462 | + ldr r3, .L1831+4 |
---|
| 13463 | + ldrh r3, [r3] |
---|
12985 | 13464 | sub r3, r3, #1 |
---|
12986 | 13465 | orr r3, r3, r2, lsl #10 |
---|
12987 | 13466 | mov r2, #1 |
---|
12988 | 13467 | mov r1, r2 |
---|
12989 | | - str r3, [r6, #3456] |
---|
| 13468 | + str r3, [r5, #3456] |
---|
12990 | 13469 | bl FlashReadPages |
---|
12991 | | - ldr r3, [r6, #3452] |
---|
| 13470 | + ldr r3, [r5, #3452] |
---|
12992 | 13471 | cmn r3, #1 |
---|
12993 | | - beq .L1960 |
---|
12994 | | - ldrh r2, [r5] |
---|
| 13472 | + beq .L1817 |
---|
| 13473 | + ldrh r2, [r8] |
---|
12995 | 13474 | ldrh r3, [r4, #4] |
---|
12996 | 13475 | cmp r2, r3 |
---|
12997 | | - bne .L1960 |
---|
12998 | | - ldrh r2, [r5, #8] |
---|
| 13476 | + bne .L1817 |
---|
| 13477 | + ldrh r2, [r8, #8] |
---|
12999 | 13478 | movw r3, #64245 |
---|
13000 | 13479 | cmp r2, r3 |
---|
13001 | | - beq .L1948 |
---|
13002 | | -.L1960: |
---|
| 13480 | + beq .L1818 |
---|
| 13481 | +.L1817: |
---|
13003 | 13482 | mov r10, #0 |
---|
13004 | | -.L1949: |
---|
13005 | | - ldrh r2, [fp] |
---|
13006 | | - sxth r3, r10 |
---|
13007 | | - cmp r3, r2 |
---|
13008 | | - bge .L1956 |
---|
13009 | | - ldr r2, [sp, #28] |
---|
13010 | | - ldr r0, .L1980+4 |
---|
13011 | | - str r3, [sp, #36] |
---|
| 13483 | + b .L1809 |
---|
| 13484 | +.L1805: |
---|
| 13485 | + ldr r2, [r5, #3300] |
---|
| 13486 | + lsl lr, ip, #3 |
---|
| 13487 | + ldr r7, [fp, #-48] |
---|
| 13488 | + add r1, r1, #1 |
---|
| 13489 | + ldr r3, [r2, ip, lsl #3] |
---|
| 13490 | + uxth ip, r3 |
---|
| 13491 | + cmp r7, ip |
---|
| 13492 | + addhi r2, r2, lr |
---|
| 13493 | + movhi r3, ip |
---|
| 13494 | + ldrhi r2, [r2, #4] |
---|
| 13495 | + strhi r2, [r9, r3, lsl #2] |
---|
| 13496 | +.L1803: |
---|
| 13497 | + ldrh r3, [r0] |
---|
| 13498 | + sxth ip, r1 |
---|
| 13499 | + sub r3, r3, #1 |
---|
| 13500 | + cmp ip, r3 |
---|
| 13501 | + blt .L1805 |
---|
| 13502 | +.L1811: |
---|
| 13503 | + add r6, r6, #1 |
---|
| 13504 | + b .L1793 |
---|
| 13505 | +.L1818: |
---|
| 13506 | + ldr r0, .L1831+4 |
---|
| 13507 | + mov r1, #0 |
---|
| 13508 | + b .L1803 |
---|
| 13509 | +.L1810: |
---|
| 13510 | + ldr r2, [fp, #-52] |
---|
| 13511 | + ldr r0, .L1831+8 |
---|
| 13512 | + str r3, [fp, #-72] |
---|
13012 | 13513 | ldrh r2, [r2] |
---|
13013 | 13514 | orr r2, r3, r2, lsl #10 |
---|
13014 | | - str r2, [r6, #3456] |
---|
| 13515 | + str r2, [r5, #3456] |
---|
13015 | 13516 | mov r2, #1 |
---|
13016 | 13517 | mov r1, r2 |
---|
13017 | 13518 | bl FlashReadPages |
---|
13018 | | - ldr r2, [r6, #3464] |
---|
| 13519 | + ldr r2, [r5, #3464] |
---|
13019 | 13520 | ldr r2, [r2, #12] |
---|
| 13521 | + str r2, [fp, #-68] |
---|
13020 | 13522 | cmp r2, #0 |
---|
13021 | | - str r2, [sp, #32] |
---|
13022 | | - beq .L1953 |
---|
13023 | | - ldr r1, [r6, #3452] |
---|
| 13523 | + beq .L1806 |
---|
| 13524 | + ldr r1, [r5, #3452] |
---|
13024 | 13525 | cmn r1, #1 |
---|
13025 | | - beq .L1953 |
---|
13026 | | - ldr r1, .L1980+12 |
---|
13027 | | - ldr r0, [r6, #3460] |
---|
| 13526 | + beq .L1815 |
---|
| 13527 | + ldr r1, .L1831+12 |
---|
| 13528 | + ldr r0, [r5, #3460] |
---|
13028 | 13529 | ldrh r1, [r1] |
---|
13029 | 13530 | bl js_hash |
---|
13030 | | - ldr r2, [sp, #32] |
---|
| 13531 | + ldr r2, [fp, #-68] |
---|
13031 | 13532 | cmp r2, r0 |
---|
13032 | | - beq .L1953 |
---|
| 13533 | + beq .L1808 |
---|
| 13534 | + ldr r3, [fp, #-72] |
---|
13033 | 13535 | str r0, [sp, #4] |
---|
13034 | 13536 | str r2, [sp] |
---|
13035 | 13537 | mov r2, r7 |
---|
13036 | | - ldr r3, [sp, #36] |
---|
13037 | | - ldr r1, .L1980+16 |
---|
13038 | | - ldr r0, .L1980+24 |
---|
| 13538 | + ldr r1, .L1831+16 |
---|
| 13539 | + ldr r0, .L1831+24 |
---|
13039 | 13540 | bl sftl_printk |
---|
13040 | 13541 | mvn r3, #0 |
---|
13041 | | - str r3, [r6, #3452] |
---|
13042 | | -.L1953: |
---|
13043 | | - ldr r3, [r6, #3452] |
---|
13044 | | - cmn r3, #1 |
---|
13045 | | - beq .L1954 |
---|
13046 | | - ldrh r3, [r5, #8] |
---|
13047 | | - ldr r2, [sp, #16] |
---|
13048 | | - cmp r2, r3 |
---|
13049 | | - bls .L1954 |
---|
13050 | | - ldrh r1, [r5] |
---|
13051 | | - ldrh r2, [r4, #4] |
---|
13052 | | - cmp r1, r2 |
---|
13053 | | - ldreq r2, [r6, #3456] |
---|
13054 | | - ldreq r1, [sp, #12] |
---|
13055 | | - streq r2, [r1, r3, lsl #2] |
---|
13056 | | -.L1954: |
---|
| 13542 | + str r3, [r5, #3452] |
---|
| 13543 | +.L1815: |
---|
13057 | 13544 | add r10, r10, #1 |
---|
13058 | | - b .L1949 |
---|
13059 | | -.L1948: |
---|
13060 | | - mov r1, #0 |
---|
13061 | | - mov r0, #4 |
---|
13062 | | -.L1950: |
---|
13063 | | - ldrh r2, [fp] |
---|
13064 | | - sxth r3, r1 |
---|
13065 | | - sub r2, r2, #1 |
---|
| 13545 | +.L1809: |
---|
| 13546 | + ldr r2, .L1831+4 |
---|
| 13547 | + sxth r3, r10 |
---|
| 13548 | + ldrh r2, [r2] |
---|
13066 | 13549 | cmp r3, r2 |
---|
13067 | | - blt .L1952 |
---|
13068 | | -.L1956: |
---|
13069 | | - add r8, r8, #1 |
---|
13070 | | - b .L1939 |
---|
13071 | | -.L1952: |
---|
13072 | | - ldr ip, [r6, #3300] |
---|
13073 | | - add r1, r1, #1 |
---|
13074 | | - ldr r7, [sp, #16] |
---|
13075 | | - ldr r2, [ip, r3, lsl #3] |
---|
13076 | | - uxth lr, r2 |
---|
13077 | | - cmp r7, lr |
---|
13078 | | - addhi r3, r0, r3, lsl #3 |
---|
13079 | | - movhi r2, lr |
---|
13080 | | - ldrhi r3, [ip, r3] |
---|
13081 | | - ldrhi ip, [sp, #12] |
---|
13082 | | - strhi r3, [ip, r2, lsl #2] |
---|
13083 | | - b .L1950 |
---|
13084 | | -.L1981: |
---|
| 13550 | + blt .L1810 |
---|
| 13551 | + b .L1811 |
---|
| 13552 | +.L1806: |
---|
| 13553 | + ldr r3, [r5, #3452] |
---|
| 13554 | + cmn r3, #1 |
---|
| 13555 | + beq .L1815 |
---|
| 13556 | +.L1808: |
---|
| 13557 | + ldrh r3, [r8, #8] |
---|
| 13558 | + ldr r2, [fp, #-48] |
---|
| 13559 | + cmp r3, r2 |
---|
| 13560 | + bcs .L1815 |
---|
| 13561 | + ldrh r2, [r4, #4] |
---|
| 13562 | + ldrh r1, [r8] |
---|
| 13563 | + cmp r1, r2 |
---|
| 13564 | + ldreq r2, [r5, #3456] |
---|
| 13565 | + streq r2, [r9, r3, lsl #2] |
---|
| 13566 | + b .L1815 |
---|
| 13567 | +.L1832: |
---|
13085 | 13568 | .align 2 |
---|
13086 | | -.L1980: |
---|
| 13569 | +.L1831: |
---|
13087 | 13570 | .word .LANCHOR0 |
---|
13088 | | - .word .LANCHOR0+3452 |
---|
13089 | 13571 | .word .LANCHOR0+304 |
---|
| 13572 | + .word .LANCHOR0+3452 |
---|
13090 | 13573 | .word .LANCHOR0+310 |
---|
13091 | 13574 | .word .LANCHOR1+615 |
---|
13092 | 13575 | .word .LC128 |
---|
13093 | 13576 | .word .LC129 |
---|
13094 | | - .fnend |
---|
13095 | 13577 | .size FtlMapTblRecovery, .-FtlMapTblRecovery |
---|
13096 | 13578 | .align 2 |
---|
13097 | 13579 | .global FtlLoadVonderInfo |
---|
.. | .. |
---|
13100 | 13582 | .fpu softvfp |
---|
13101 | 13583 | .type FtlLoadVonderInfo, %function |
---|
13102 | 13584 | FtlLoadVonderInfo: |
---|
13103 | | - .fnstart |
---|
13104 | 13585 | @ args = 0, pretend = 0, frame = 0 |
---|
13105 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
13106 | | - ldr r3, .L1984 |
---|
13107 | | - push {r4, lr} |
---|
13108 | | - .save {r4, lr} |
---|
13109 | | - add r2, r3, #320 |
---|
| 13586 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 13587 | + mov ip, sp |
---|
| 13588 | + push {fp, ip, lr, pc} |
---|
| 13589 | + sub fp, ip, #4 |
---|
| 13590 | + push {lr} |
---|
| 13591 | + bl __gnu_mcount_nc |
---|
| 13592 | + ldr r3, .L1834 |
---|
13110 | 13593 | add r0, r3, #3600 |
---|
13111 | | - ldrh r2, [r2] |
---|
| 13594 | + add r2, r3, #320 |
---|
13112 | 13595 | add r0, r0, #8 |
---|
| 13596 | + ldrh r2, [r2] |
---|
13113 | 13597 | strh r2, [r0, #10] @ movhi |
---|
13114 | | - ldr r2, .L1984+4 |
---|
| 13598 | + ldr r2, .L1834+4 |
---|
13115 | 13599 | strh r2, [r0, #4] @ movhi |
---|
13116 | 13600 | add r2, r3, #344 |
---|
13117 | 13601 | ldrh r2, [r2] |
---|
.. | .. |
---|
13129 | 13613 | str r2, [r3, #3632] |
---|
13130 | 13614 | bl FtlMapTblRecovery |
---|
13131 | 13615 | mov r0, #0 |
---|
13132 | | - pop {r4, pc} |
---|
13133 | | -.L1985: |
---|
| 13616 | + ldmfd sp, {fp, sp, pc} |
---|
| 13617 | +.L1835: |
---|
13134 | 13618 | .align 2 |
---|
13135 | | -.L1984: |
---|
| 13619 | +.L1834: |
---|
13136 | 13620 | .word .LANCHOR0 |
---|
13137 | 13621 | .word -3962 |
---|
13138 | | - .fnend |
---|
13139 | 13622 | .size FtlLoadVonderInfo, .-FtlLoadVonderInfo |
---|
13140 | 13623 | .align 2 |
---|
13141 | 13624 | .global FtlLoadMapInfo |
---|
.. | .. |
---|
13144 | 13627 | .fpu softvfp |
---|
13145 | 13628 | .type FtlLoadMapInfo, %function |
---|
13146 | 13629 | FtlLoadMapInfo: |
---|
13147 | | - .fnstart |
---|
13148 | 13630 | @ args = 0, pretend = 0, frame = 0 |
---|
13149 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
13150 | | - push {r4, lr} |
---|
13151 | | - .save {r4, lr} |
---|
| 13631 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 13632 | + mov ip, sp |
---|
| 13633 | + push {fp, ip, lr, pc} |
---|
| 13634 | + sub fp, ip, #4 |
---|
| 13635 | + push {lr} |
---|
| 13636 | + bl __gnu_mcount_nc |
---|
13152 | 13637 | bl FtlL2PDataInit |
---|
13153 | | - ldr r0, .L1988 |
---|
| 13638 | + ldr r0, .L1837 |
---|
13154 | 13639 | bl FtlMapTblRecovery |
---|
13155 | 13640 | mov r0, #0 |
---|
13156 | | - pop {r4, pc} |
---|
13157 | | -.L1989: |
---|
| 13641 | + ldmfd sp, {fp, sp, pc} |
---|
| 13642 | +.L1838: |
---|
13158 | 13643 | .align 2 |
---|
13159 | | -.L1988: |
---|
| 13644 | +.L1837: |
---|
13160 | 13645 | .word .LANCHOR0+3392 |
---|
13161 | | - .fnend |
---|
13162 | 13646 | .size FtlLoadMapInfo, .-FtlLoadMapInfo |
---|
13163 | 13647 | .align 2 |
---|
13164 | 13648 | .global FtlSysBlkInit |
---|
.. | .. |
---|
13167 | 13651 | .fpu softvfp |
---|
13168 | 13652 | .type FtlSysBlkInit, %function |
---|
13169 | 13653 | FtlSysBlkInit: |
---|
13170 | | - .fnstart |
---|
13171 | 13654 | @ args = 0, pretend = 0, frame = 0 |
---|
13172 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
13173 | | - push {r4, r5, r6, r7, r8, lr} |
---|
13174 | | - .save {r4, r5, r6, r7, r8, lr} |
---|
| 13655 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 13656 | + mov ip, sp |
---|
| 13657 | + push {r4, r5, r6, r7, fp, ip, lr, pc} |
---|
| 13658 | + sub fp, ip, #4 |
---|
| 13659 | + push {lr} |
---|
| 13660 | + bl __gnu_mcount_nc |
---|
| 13661 | + ldr r4, .L1855 |
---|
13175 | 13662 | mov r3, #0 |
---|
13176 | | - ldr r4, .L2007 |
---|
13177 | 13663 | add r7, r4, #3472 |
---|
13178 | 13664 | ldrh r0, [r4, #236] |
---|
13179 | 13665 | strh r3, [r7] @ movhi |
---|
.. | .. |
---|
13183 | 13669 | ldrh r2, [r3] |
---|
13184 | 13670 | movw r3, #65535 |
---|
13185 | 13671 | cmp r2, r3 |
---|
13186 | | - bne .L1991 |
---|
13187 | | -.L1993: |
---|
13188 | | - mvn r6, #0 |
---|
13189 | | -.L1990: |
---|
13190 | | - mov r0, r6 |
---|
13191 | | - pop {r4, r5, r6, r7, r8, pc} |
---|
13192 | | -.L1991: |
---|
| 13672 | + bne .L1840 |
---|
| 13673 | +.L1842: |
---|
| 13674 | + mvn r5, #0 |
---|
| 13675 | +.L1839: |
---|
| 13676 | + mov r0, r5 |
---|
| 13677 | + ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} |
---|
| 13678 | +.L1840: |
---|
13193 | 13679 | bl FtlLoadSysInfo |
---|
13194 | | - subs r6, r0, #0 |
---|
13195 | | - bne .L1993 |
---|
| 13680 | + subs r5, r0, #0 |
---|
| 13681 | + bne .L1842 |
---|
13196 | 13682 | bl FtlLoadMapInfo |
---|
13197 | 13683 | bl FtlLoadVonderInfo |
---|
13198 | 13684 | bl Ftl_load_ext_data |
---|
.. | .. |
---|
13202 | 13688 | bl FtlPowerLostRecovery |
---|
13203 | 13689 | mov r0, #1 |
---|
13204 | 13690 | bl FtlUpdateVaildLpn |
---|
13205 | | - ldr r2, [r4, #2540] |
---|
13206 | 13691 | movw r3, #338 |
---|
13207 | | - ldrh r1, [r4, r3] |
---|
| 13692 | + ldr r2, [r4, #2540] |
---|
13208 | 13693 | mov r0, #12 |
---|
13209 | | - mov r3, r6 |
---|
13210 | | -.L1994: |
---|
| 13694 | + ldrh r1, [r4, r3] |
---|
| 13695 | + mov r3, r5 |
---|
| 13696 | + add r2, r2, #4 |
---|
| 13697 | +.L1843: |
---|
13211 | 13698 | cmp r3, r1 |
---|
13212 | | - bge .L1999 |
---|
13213 | | - mla ip, r0, r3, r2 |
---|
13214 | | - ldr ip, [ip, #4] |
---|
| 13699 | + bge .L1848 |
---|
| 13700 | + mul ip, r0, r3 |
---|
| 13701 | + ldr ip, [r2, ip] |
---|
13215 | 13702 | cmp ip, #0 |
---|
13216 | | - bge .L1995 |
---|
13217 | | -.L1999: |
---|
13218 | | - ldr r5, .L2007+4 |
---|
| 13703 | + bge .L1844 |
---|
| 13704 | +.L1848: |
---|
| 13705 | + ldr r6, .L1855+4 |
---|
13219 | 13706 | cmp r3, r1 |
---|
13220 | | - ldrh r2, [r5, #28] |
---|
| 13707 | + ldrh r2, [r6, #28] |
---|
13221 | 13708 | add r2, r2, #1 |
---|
13222 | | - strh r2, [r5, #28] @ movhi |
---|
13223 | | - bge .L2005 |
---|
13224 | | -.L1996: |
---|
13225 | | - ldr r0, .L2007+8 |
---|
| 13709 | + strh r2, [r6, #28] @ movhi |
---|
| 13710 | + bge .L1854 |
---|
| 13711 | +.L1845: |
---|
| 13712 | + ldr r0, .L1855+8 |
---|
13226 | 13713 | bl FtlSuperblockPowerLostFix |
---|
13227 | | - ldr r0, .L2007+12 |
---|
| 13714 | + ldr r0, .L1855+12 |
---|
13228 | 13715 | bl FtlSuperblockPowerLostFix |
---|
13229 | 13716 | ldrh r3, [r4, #24] |
---|
13230 | 13717 | ldr r1, [r4, #72] |
---|
.. | .. |
---|
13232 | 13719 | lsl r3, r3, #1 |
---|
13233 | 13720 | ldrh r2, [r1, r3] |
---|
13234 | 13721 | sub r2, r2, r0 |
---|
13235 | | - movw r0, #302 |
---|
13236 | 13722 | strh r2, [r1, r3] @ movhi |
---|
| 13723 | + movw r0, #302 |
---|
13237 | 13724 | ldrh r2, [r4, #76] |
---|
13238 | | - ldrh r3, [r4, r0] |
---|
13239 | 13725 | ldr ip, [r4, #72] |
---|
13240 | | - ldrh lr, [r4, #80] |
---|
| 13726 | + ldrh r3, [r4, r0] |
---|
13241 | 13727 | lsl r2, r2, #1 |
---|
13242 | 13728 | strh r3, [r4, #26] @ movhi |
---|
13243 | 13729 | mov r3, #0 |
---|
13244 | 13730 | strb r3, [r4, #30] |
---|
13245 | 13731 | strh r3, [r4, #28] @ movhi |
---|
| 13732 | + ldrh lr, [r4, #80] |
---|
13246 | 13733 | ldrh r1, [ip, r2] |
---|
13247 | 13734 | sub r1, r1, lr |
---|
13248 | 13735 | strh r1, [ip, r2] @ movhi |
---|
13249 | 13736 | strb r3, [r4, #82] |
---|
13250 | 13737 | strh r3, [r4, #80] @ movhi |
---|
13251 | | - ldrh r3, [r5, #30] |
---|
| 13738 | + ldrh r3, [r6, #30] |
---|
13252 | 13739 | ldrh r2, [r4, r0] |
---|
13253 | 13740 | add r3, r3, #1 |
---|
13254 | 13741 | strh r2, [r4, #78] @ movhi |
---|
13255 | | - strh r3, [r5, #30] @ movhi |
---|
| 13742 | + strh r3, [r6, #30] @ movhi |
---|
13256 | 13743 | bl l2p_flush |
---|
13257 | 13744 | bl FtlVpcTblFlush |
---|
13258 | 13745 | bl FtlVpcTblFlush |
---|
13259 | | - b .L2000 |
---|
13260 | | -.L1995: |
---|
| 13746 | + b .L1849 |
---|
| 13747 | +.L1844: |
---|
13261 | 13748 | add r3, r3, #1 |
---|
13262 | | - b .L1994 |
---|
13263 | | -.L2005: |
---|
| 13749 | + b .L1843 |
---|
| 13750 | +.L1854: |
---|
13264 | 13751 | ldrh r3, [r7] |
---|
13265 | 13752 | cmp r3, #0 |
---|
13266 | | - bne .L1996 |
---|
13267 | | -.L2000: |
---|
| 13753 | + bne .L1845 |
---|
| 13754 | +.L1849: |
---|
13268 | 13755 | ldrh r0, [r4, #24] |
---|
13269 | 13756 | movw r3, #65535 |
---|
13270 | 13757 | cmp r0, r3 |
---|
13271 | | - beq .L2001 |
---|
13272 | | - ldrh r3, [r4, #28] |
---|
13273 | | - cmp r3, #0 |
---|
13274 | | - bne .L2001 |
---|
| 13758 | + beq .L1850 |
---|
| 13759 | + ldrh r2, [r4, #28] |
---|
13275 | 13760 | ldrh r3, [r4, #80] |
---|
13276 | | - cmp r3, #0 |
---|
13277 | | - bne .L2001 |
---|
| 13761 | + orrs r3, r2, r3 |
---|
| 13762 | + bne .L1850 |
---|
13278 | 13763 | bl FtlGcRefreshBlock |
---|
13279 | 13764 | ldrh r0, [r4, #76] |
---|
13280 | 13765 | bl FtlGcRefreshBlock |
---|
13281 | 13766 | bl FtlVpcTblFlush |
---|
13282 | | - ldr r0, .L2007+8 |
---|
| 13767 | + ldr r0, .L1855+8 |
---|
13283 | 13768 | bl allocate_new_data_superblock |
---|
13284 | | - ldr r0, .L2007+12 |
---|
| 13769 | + ldr r0, .L1855+12 |
---|
13285 | 13770 | bl allocate_new_data_superblock |
---|
13286 | | -.L2001: |
---|
| 13771 | +.L1850: |
---|
13287 | 13772 | bl FtlVpcCheckAndModify |
---|
13288 | | - b .L1990 |
---|
13289 | | -.L2008: |
---|
| 13773 | + b .L1839 |
---|
| 13774 | +.L1856: |
---|
13290 | 13775 | .align 2 |
---|
13291 | | -.L2007: |
---|
| 13776 | +.L1855: |
---|
13292 | 13777 | .word .LANCHOR0 |
---|
13293 | 13778 | .word .LANCHOR0+2468 |
---|
13294 | 13779 | .word .LANCHOR0+24 |
---|
13295 | 13780 | .word .LANCHOR0+76 |
---|
13296 | | - .fnend |
---|
13297 | 13781 | .size FtlSysBlkInit, .-FtlSysBlkInit |
---|
13298 | 13782 | .align 2 |
---|
13299 | 13783 | .global ftl_low_format |
---|
.. | .. |
---|
13302 | 13786 | .fpu softvfp |
---|
13303 | 13787 | .type ftl_low_format, %function |
---|
13304 | 13788 | ftl_low_format: |
---|
13305 | | - .fnstart |
---|
13306 | 13789 | @ args = 0, pretend = 0, frame = 0 |
---|
13307 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
13308 | | - push {r4, r5, r6, r7, r8, r9, r10, lr} |
---|
13309 | | - .save {r4, r5, r6, r7, r8, r9, r10, lr} |
---|
| 13790 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 13791 | + mov ip, sp |
---|
| 13792 | + push {r3, r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 13793 | + sub fp, ip, #4 |
---|
| 13794 | + push {lr} |
---|
| 13795 | + bl __gnu_mcount_nc |
---|
| 13796 | + ldr r4, .L1881 |
---|
13310 | 13797 | mov r3, #0 |
---|
13311 | | - ldr r4, .L2034 |
---|
13312 | 13798 | ldrh r0, [r4, #236] |
---|
13313 | 13799 | str r3, [r4, #2588] |
---|
13314 | 13800 | str r3, [r4, #2592] |
---|
.. | .. |
---|
13316 | 13802 | bl FtlFreeSysBlkQueueInit |
---|
13317 | 13803 | bl FtlLoadBbt |
---|
13318 | 13804 | cmp r0, #0 |
---|
13319 | | - beq .L2010 |
---|
| 13805 | + beq .L1858 |
---|
13320 | 13806 | bl FtlMakeBbt |
---|
13321 | | -.L2010: |
---|
13322 | | - ldr r0, .L2034+4 |
---|
| 13807 | +.L1858: |
---|
| 13808 | + ldr r0, .L1881+4 |
---|
13323 | 13809 | mov r2, #0 |
---|
13324 | | - ldr ip, .L2034+8 |
---|
13325 | | -.L2011: |
---|
| 13810 | + ldr ip, .L1881+8 |
---|
| 13811 | +.L1859: |
---|
13326 | 13812 | ldrh r1, [r0] |
---|
13327 | 13813 | uxth r3, r2 |
---|
13328 | 13814 | add r2, r2, #1 |
---|
13329 | 13815 | cmp r3, r1, lsl #7 |
---|
13330 | | - blt .L2012 |
---|
| 13816 | + blt .L1860 |
---|
13331 | 13817 | ldrh r6, [r4, #240] |
---|
13332 | 13818 | mov r5, #0 |
---|
13333 | | -.L2013: |
---|
| 13819 | +.L1861: |
---|
13334 | 13820 | ldrh r3, [r4, #242] |
---|
13335 | 13821 | cmp r3, r6 |
---|
13336 | | - bhi .L2014 |
---|
| 13822 | + bhi .L1862 |
---|
13337 | 13823 | ldrh r1, [r4, #232] |
---|
13338 | 13824 | sub r3, r5, #3 |
---|
13339 | 13825 | cmp r3, r1, lsl #1 |
---|
13340 | | - bge .L2015 |
---|
13341 | | -.L2019: |
---|
| 13826 | + bge .L1863 |
---|
| 13827 | +.L1867: |
---|
13342 | 13828 | mov r5, #0 |
---|
13343 | 13829 | mov r6, r5 |
---|
13344 | | -.L2016: |
---|
| 13830 | +.L1864: |
---|
13345 | 13831 | ldrh r3, [r4, #240] |
---|
13346 | 13832 | uxth r0, r5 |
---|
13347 | | - add r5, r5, #1 |
---|
13348 | 13833 | cmp r3, r0 |
---|
13349 | | - bhi .L2020 |
---|
13350 | | - ldrh r3, [r4, #242] |
---|
13351 | | - movw r9, #2620 |
---|
13352 | | - ldrh r5, [r4, #232] |
---|
| 13834 | + bhi .L1868 |
---|
| 13835 | + ldrh r9, [r4, #232] |
---|
| 13836 | + movw r8, #2620 |
---|
13353 | 13837 | ldr r10, [r4, #244] |
---|
13354 | | - str r3, [r4, #3284] |
---|
13355 | | - mov r1, r5 |
---|
| 13838 | + ldrh r3, [r4, #242] |
---|
| 13839 | + mov r1, r9 |
---|
13356 | 13840 | mov r0, r10 |
---|
| 13841 | + str r3, [r4, #3284] |
---|
13357 | 13842 | bl __aeabi_uidiv |
---|
13358 | 13843 | ubfx r7, r0, #5, #16 |
---|
13359 | | - mov r8, r0 |
---|
13360 | 13844 | add r3, r7, #36 |
---|
13361 | | - str r0, [r4, #2552] |
---|
13362 | | - strh r3, [r4, r9] @ movhi |
---|
| 13845 | + strh r3, [r4, r8] @ movhi |
---|
13363 | 13846 | mov r3, #24 |
---|
13364 | | - mul r3, r3, r5 |
---|
| 13847 | + mov r5, r0 |
---|
| 13848 | + str r0, [r4, #2552] |
---|
| 13849 | + mul r3, r3, r9 |
---|
13365 | 13850 | cmp r6, r3 |
---|
13366 | | - ble .L2021 |
---|
13367 | | - mov r1, r5 |
---|
| 13851 | + ble .L1869 |
---|
| 13852 | + mov r1, r9 |
---|
13368 | 13853 | sub r0, r10, r6 |
---|
13369 | 13854 | bl __aeabi_uidiv |
---|
| 13855 | + lsr r3, r0, #5 |
---|
| 13856 | + add r3, r3, #24 |
---|
13370 | 13857 | str r0, [r4, #2552] |
---|
13371 | | - lsr r0, r0, #5 |
---|
13372 | | - add r0, r0, #24 |
---|
13373 | | - strh r0, [r4, r9] @ movhi |
---|
13374 | | -.L2021: |
---|
| 13858 | + strh r3, [r4, r8] @ movhi |
---|
| 13859 | +.L1869: |
---|
13375 | 13860 | movw r3, #294 |
---|
13376 | 13861 | ldrh r3, [r4, r3] |
---|
13377 | 13862 | cmp r3, #0 |
---|
13378 | | - beq .L2023 |
---|
| 13863 | + beq .L1871 |
---|
13379 | 13864 | movw r2, #2620 |
---|
13380 | 13865 | ldrh r1, [r4, r2] |
---|
13381 | 13866 | add r1, r1, r3, lsr #1 |
---|
13382 | 13867 | strh r1, [r4, r2] @ movhi |
---|
13383 | | - mul r1, r5, r3 |
---|
| 13868 | + mul r1, r9, r3 |
---|
13384 | 13869 | cmp r6, r1 |
---|
| 13870 | + strlt r5, [r4, #2552] |
---|
13385 | 13871 | addlt r3, r3, #32 |
---|
13386 | | - strlt r8, [r4, #2552] |
---|
13387 | 13872 | addlt r3, r7, r3 |
---|
13388 | 13873 | strhlt r3, [r4, r2] @ movhi |
---|
13389 | | -.L2023: |
---|
| 13874 | +.L1871: |
---|
13390 | 13875 | movw r3, #2620 |
---|
13391 | | - ldr r6, .L2034+12 |
---|
13392 | | - ldrh r2, [r4, r3] |
---|
13393 | | - ldr r3, [r4, #2552] |
---|
13394 | | - sub r3, r3, r2 |
---|
13395 | | - mul r5, r5, r3 |
---|
| 13876 | + ldr r1, [r4, #2552] |
---|
| 13877 | + ldr r6, .L1881+12 |
---|
| 13878 | + mvn r5, #0 |
---|
| 13879 | + ldrh r3, [r4, r3] |
---|
| 13880 | + sub r1, r1, r3 |
---|
13396 | 13881 | movw r3, #302 |
---|
13397 | 13882 | ldrh r3, [r4, r3] |
---|
13398 | | - str r5, [r4, #3672] |
---|
13399 | | - mul r5, r5, r3 |
---|
| 13883 | + mul r1, r9, r1 |
---|
| 13884 | + str r1, [r4, #3672] |
---|
| 13885 | + mul r1, r1, r3 |
---|
13400 | 13886 | movw r3, #258 |
---|
| 13887 | + str r1, [r4, #2552] |
---|
13401 | 13888 | ldrh r3, [r4, r3] |
---|
13402 | | - str r5, [r4, #2552] |
---|
13403 | | - mul r5, r5, r3 |
---|
13404 | | - str r5, [r4, #340] |
---|
| 13889 | + mul r1, r1, r3 |
---|
| 13890 | + str r1, [r4, #340] |
---|
13405 | 13891 | bl FtlBbmTblFlush |
---|
13406 | 13892 | ldrh r2, [r4, #242] |
---|
13407 | 13893 | mov r1, #0 |
---|
13408 | 13894 | ldr r0, [r4, #72] |
---|
13409 | 13895 | lsl r2, r2, #1 |
---|
13410 | 13896 | bl ftl_memset |
---|
13411 | | - mvn r2, #0 |
---|
13412 | 13897 | mov r3, #0 |
---|
13413 | | - mov r5, r2 |
---|
| 13898 | + movw r2, #65535 |
---|
13414 | 13899 | str r3, [r4, #2548] |
---|
13415 | | - strh r3, [r4, #174] @ movhi |
---|
13416 | 13900 | strb r3, [r4, #178] |
---|
13417 | 13901 | strb r3, [r4, #180] |
---|
13418 | | - strh r3, [r4, #26] @ movhi |
---|
13419 | 13902 | strb r3, [r4, #30] |
---|
13420 | | - strh r3, [r4, #24] @ movhi |
---|
| 13903 | + str r3, [r4, #24] |
---|
13421 | 13904 | mov r3, #1 |
---|
13422 | | - strh r2, [r4, #172] @ movhi |
---|
| 13905 | + str r2, [r4, #172] |
---|
13423 | 13906 | strb r3, [r4, #32] |
---|
13424 | | -.L2025: |
---|
| 13907 | +.L1873: |
---|
13425 | 13908 | mov r0, r6 |
---|
13426 | 13909 | bl make_superblock |
---|
13427 | 13910 | ldrb r3, [r4, #31] @ zero_extendqisi2 |
---|
13428 | 13911 | cmp r3, #0 |
---|
13429 | 13912 | ldrh r3, [r4, #24] |
---|
13430 | | - bne .L2026 |
---|
13431 | | - ldr r2, [r4, #72] |
---|
| 13913 | + bne .L1874 |
---|
13432 | 13914 | lsl r3, r3, #1 |
---|
| 13915 | + ldr r2, [r4, #72] |
---|
13433 | 13916 | strh r5, [r2, r3] @ movhi |
---|
13434 | 13917 | ldrh r3, [r4, #24] |
---|
13435 | 13918 | add r3, r3, #1 |
---|
13436 | 13919 | strh r3, [r4, #24] @ movhi |
---|
13437 | | - b .L2025 |
---|
13438 | | -.L2012: |
---|
| 13920 | + b .L1873 |
---|
| 13921 | +.L1860: |
---|
13439 | 13922 | ldr lr, [r4, #3312] |
---|
13440 | 13923 | mvn r1, r3 |
---|
13441 | 13924 | orr r1, r3, r1, lsl #16 |
---|
13442 | 13925 | str r1, [lr, r3, lsl #2] |
---|
13443 | 13926 | ldr r1, [r4, #3316] |
---|
13444 | 13927 | str ip, [r1, r3, lsl #2] |
---|
13445 | | - b .L2011 |
---|
13446 | | -.L2014: |
---|
| 13928 | + b .L1859 |
---|
| 13929 | +.L1862: |
---|
13447 | 13930 | mov r0, r6 |
---|
13448 | 13931 | mov r1, #1 |
---|
13449 | | - bl FtlLowFormatEraseBlock |
---|
13450 | 13932 | add r6, r6, #1 |
---|
13451 | | - add r5, r5, r0 |
---|
13452 | | - uxth r5, r5 |
---|
| 13933 | + bl FtlLowFormatEraseBlock |
---|
| 13934 | + add r5, r0, r5 |
---|
13453 | 13935 | uxth r6, r6 |
---|
13454 | | - b .L2013 |
---|
13455 | | -.L2015: |
---|
| 13936 | + uxth r5, r5 |
---|
| 13937 | + b .L1861 |
---|
| 13938 | +.L1863: |
---|
13456 | 13939 | mov r0, r5 |
---|
13457 | 13940 | bl __aeabi_uidiv |
---|
13458 | 13941 | ldr r3, [r4, #332] |
---|
.. | .. |
---|
13462 | 13945 | ldrh r0, [r4, #236] |
---|
13463 | 13946 | bl FtlFreeSysBlkQueueInit |
---|
13464 | 13947 | ldrh r5, [r4, #240] |
---|
13465 | | -.L2017: |
---|
| 13948 | +.L1865: |
---|
13466 | 13949 | ldrh r3, [r4, #242] |
---|
13467 | 13950 | cmp r3, r5 |
---|
13468 | | - bls .L2019 |
---|
| 13951 | + bls .L1867 |
---|
13469 | 13952 | mov r0, r5 |
---|
| 13953 | + add r5, r5, #1 |
---|
13470 | 13954 | mov r1, #1 |
---|
| 13955 | + uxth r5, r5 |
---|
| 13956 | + bl FtlLowFormatEraseBlock |
---|
| 13957 | + b .L1865 |
---|
| 13958 | +.L1868: |
---|
| 13959 | + mov r1, #0 |
---|
13471 | 13960 | add r5, r5, #1 |
---|
13472 | 13961 | bl FtlLowFormatEraseBlock |
---|
13473 | | - uxth r5, r5 |
---|
13474 | | - b .L2017 |
---|
13475 | | -.L2020: |
---|
13476 | | - mov r1, #0 |
---|
13477 | | - bl FtlLowFormatEraseBlock |
---|
13478 | | - add r6, r6, r0 |
---|
| 13962 | + add r6, r0, r6 |
---|
13479 | 13963 | uxth r6, r6 |
---|
13480 | | - b .L2016 |
---|
13481 | | -.L2026: |
---|
| 13964 | + b .L1864 |
---|
| 13965 | +.L1874: |
---|
13482 | 13966 | ldr r2, [r4, #2588] |
---|
13483 | 13967 | lsl r3, r3, #1 |
---|
13484 | | - ldrh r1, [r4, #28] |
---|
13485 | | - mvn r5, #0 |
---|
13486 | | - ldr r6, .L2034+16 |
---|
13487 | 13968 | str r2, [r4, #36] |
---|
| 13969 | + mvn r5, #0 |
---|
13488 | 13970 | add r2, r2, #1 |
---|
13489 | 13971 | str r2, [r4, #2588] |
---|
13490 | 13972 | ldr r2, [r4, #72] |
---|
| 13973 | + ldrh r1, [r4, #28] |
---|
| 13974 | + ldr r6, .L1881+16 |
---|
13491 | 13975 | strh r1, [r2, r3] @ movhi |
---|
13492 | 13976 | mov r3, #0 |
---|
13493 | 13977 | strh r3, [r4, #78] @ movhi |
---|
.. | .. |
---|
13497 | 13981 | strh r3, [r4, #76] @ movhi |
---|
13498 | 13982 | mov r3, #1 |
---|
13499 | 13983 | strb r3, [r4, #84] |
---|
13500 | | -.L2027: |
---|
| 13984 | +.L1875: |
---|
13501 | 13985 | mov r0, r6 |
---|
13502 | 13986 | bl make_superblock |
---|
13503 | 13987 | ldrb r3, [r4, #83] @ zero_extendqisi2 |
---|
13504 | 13988 | cmp r3, #0 |
---|
13505 | 13989 | ldrh r3, [r4, #76] |
---|
13506 | | - bne .L2028 |
---|
13507 | | - ldr r2, [r4, #72] |
---|
| 13990 | + bne .L1876 |
---|
13508 | 13991 | lsl r3, r3, #1 |
---|
| 13992 | + ldr r2, [r4, #72] |
---|
13509 | 13993 | strh r5, [r2, r3] @ movhi |
---|
13510 | 13994 | ldrh r3, [r4, #76] |
---|
13511 | 13995 | add r3, r3, #1 |
---|
13512 | 13996 | strh r3, [r4, #76] @ movhi |
---|
13513 | | - b .L2027 |
---|
13514 | | -.L2028: |
---|
| 13997 | + b .L1875 |
---|
| 13998 | +.L1876: |
---|
13515 | 13999 | ldr r2, [r4, #2588] |
---|
13516 | 14000 | lsl r3, r3, #1 |
---|
13517 | | - ldrh r1, [r4, #80] |
---|
13518 | | - mvn r5, #0 |
---|
13519 | 14001 | str r2, [r4, #88] |
---|
| 14002 | + mvn r5, #0 |
---|
13520 | 14003 | add r2, r2, #1 |
---|
13521 | 14004 | str r2, [r4, #2588] |
---|
13522 | 14005 | ldr r2, [r4, #72] |
---|
| 14006 | + ldrh r1, [r4, #80] |
---|
13523 | 14007 | strh r1, [r2, r3] @ movhi |
---|
13524 | 14008 | strh r5, [r4, #124] @ movhi |
---|
13525 | 14009 | bl FtlFreeSysBlkQueueOut |
---|
13526 | | - ldr r3, .L2034+20 |
---|
| 14010 | + ldr r3, .L1881+20 |
---|
13527 | 14011 | mov r2, #0 |
---|
13528 | 14012 | strh r2, [r3, #2] @ movhi |
---|
13529 | 14013 | ldr r2, [r4, #3672] |
---|
| 14014 | + strh r2, [r3, #6] @ movhi |
---|
13530 | 14015 | strh r5, [r3, #4] @ movhi |
---|
13531 | 14016 | strh r0, [r3] @ movhi |
---|
13532 | | - strh r2, [r3, #6] @ movhi |
---|
13533 | 14017 | ldr r3, [r4, #2588] |
---|
13534 | 14018 | str r3, [r4, #2632] |
---|
13535 | 14019 | add r3, r3, #1 |
---|
.. | .. |
---|
13538 | 14022 | bl FtlSysBlkInit |
---|
13539 | 14023 | cmp r0, #0 |
---|
13540 | 14024 | mov r0, #0 |
---|
13541 | | - ldreq r3, .L2034+24 |
---|
13542 | 14025 | moveq r2, #1 |
---|
| 14026 | + ldreq r3, .L1881+24 |
---|
13543 | 14027 | streq r2, [r3] |
---|
13544 | | - pop {r4, r5, r6, r7, r8, r9, r10, pc} |
---|
13545 | | -.L2035: |
---|
| 14028 | + ldmfd sp, {r3, r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 14029 | +.L1882: |
---|
13546 | 14030 | .align 2 |
---|
13547 | | -.L2034: |
---|
| 14031 | +.L1881: |
---|
13548 | 14032 | .word .LANCHOR0 |
---|
13549 | 14033 | .word .LANCHOR0+258 |
---|
13550 | 14034 | .word 168778952 |
---|
.. | .. |
---|
13552 | 14036 | .word .LANCHOR0+76 |
---|
13553 | 14037 | .word .LANCHOR0+2624 |
---|
13554 | 14038 | .word .LANCHOR2 |
---|
13555 | | - .fnend |
---|
13556 | 14039 | .size ftl_low_format, .-ftl_low_format |
---|
13557 | 14040 | .align 2 |
---|
13558 | 14041 | .global sftl_init |
---|
.. | .. |
---|
13561 | 14044 | .fpu softvfp |
---|
13562 | 14045 | .type sftl_init, %function |
---|
13563 | 14046 | sftl_init: |
---|
13564 | | - .fnstart |
---|
13565 | 14047 | @ args = 0, pretend = 0, frame = 0 |
---|
13566 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
13567 | | - push {r4, r5, r6, lr} |
---|
13568 | | - .save {r4, r5, r6, lr} |
---|
| 14048 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 14049 | + mov ip, sp |
---|
| 14050 | + push {r4, r5, fp, ip, lr, pc} |
---|
| 14051 | + sub fp, ip, #4 |
---|
| 14052 | + push {lr} |
---|
| 14053 | + bl __gnu_mcount_nc |
---|
| 14054 | + ldr r5, .L1887 |
---|
13569 | 14055 | mvn r3, #0 |
---|
13570 | | - ldr r4, .L2043 |
---|
13571 | | - ldr r5, .L2043+4 |
---|
13572 | | - ldr r1, .L2043+8 |
---|
13573 | | - ldr r0, .L2043+12 |
---|
| 14056 | + ldr r4, .L1887+4 |
---|
| 14057 | + ldr r1, .L1887+8 |
---|
| 14058 | + ldr r0, .L1887+12 |
---|
13574 | 14059 | str r3, [r5] |
---|
13575 | 14060 | bl sftl_printk |
---|
13576 | 14061 | mov r0, r4 |
---|
.. | .. |
---|
13581 | 14066 | bl FtlFreeSysBlkQueueInit |
---|
13582 | 14067 | bl FtlLoadBbt |
---|
13583 | 14068 | cmp r0, #0 |
---|
13584 | | - bne .L2040 |
---|
| 14069 | + bne .L1884 |
---|
13585 | 14070 | bl FtlSysBlkInit |
---|
13586 | 14071 | cmp r0, #0 |
---|
13587 | | - bne .L2040 |
---|
| 14072 | + bne .L1884 |
---|
13588 | 14073 | mov r3, #1 |
---|
13589 | 14074 | str r3, [r5] |
---|
13590 | 14075 | ldrh r3, [r4, #224] |
---|
13591 | 14076 | cmp r3, #15 |
---|
13592 | | - bhi .L2040 |
---|
| 14077 | + bhi .L1884 |
---|
13593 | 14078 | movw r4, #8129 |
---|
13594 | | -.L2039: |
---|
| 14079 | +.L1885: |
---|
13595 | 14080 | mov r1, #1 |
---|
13596 | 14081 | mov r0, #0 |
---|
13597 | 14082 | bl rk_ftl_garbage_collect |
---|
13598 | 14083 | subs r4, r4, #1 |
---|
13599 | | - bne .L2039 |
---|
13600 | | -.L2040: |
---|
| 14084 | + bne .L1885 |
---|
| 14085 | +.L1884: |
---|
13601 | 14086 | mov r0, #0 |
---|
13602 | | - pop {r4, r5, r6, pc} |
---|
13603 | | -.L2044: |
---|
| 14087 | + ldmfd sp, {r4, r5, fp, sp, pc} |
---|
| 14088 | +.L1888: |
---|
13604 | 14089 | .align 2 |
---|
13605 | | -.L2043: |
---|
13606 | | - .word .LANCHOR0 |
---|
| 14090 | +.L1887: |
---|
13607 | 14091 | .word .LANCHOR2 |
---|
| 14092 | + .word .LANCHOR0 |
---|
13608 | 14093 | .word .LC0 |
---|
13609 | 14094 | .word .LC77 |
---|
13610 | | - .fnend |
---|
13611 | 14095 | .size sftl_init, .-sftl_init |
---|
| 14096 | + .section .rodata.str1.1 |
---|
| 14097 | +.LC130: |
---|
| 14098 | + .ascii "write_idblock %x %x\012\000" |
---|
| 14099 | +.LC131: |
---|
| 14100 | + .ascii "write_idblock fail! %x %x %x %x\012\000" |
---|
| 14101 | +.LC132: |
---|
| 14102 | + .ascii "%s idb buffer alloc fail\012\000" |
---|
| 14103 | + .text |
---|
13612 | 14104 | .align 2 |
---|
13613 | 14105 | .global FtlWriteToIDB |
---|
13614 | 14106 | .syntax unified |
---|
.. | .. |
---|
13616 | 14108 | .fpu softvfp |
---|
13617 | 14109 | .type FtlWriteToIDB, %function |
---|
13618 | 14110 | FtlWriteToIDB: |
---|
13619 | | - .fnstart |
---|
13620 | 14111 | @ args = 0, pretend = 0, frame = 104 |
---|
13621 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
13622 | | - push {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
13623 | | - .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
13624 | | - add r8, r1, r0 |
---|
13625 | | - ldr r3, .L2106 |
---|
13626 | | - sub r10, r8, #1 |
---|
13627 | | - cmp r10, #63 |
---|
13628 | | - .pad #116 |
---|
| 14112 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 14113 | + mov ip, sp |
---|
| 14114 | + push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 14115 | + sub fp, ip, #4 |
---|
13629 | 14116 | sub sp, sp, #116 |
---|
13630 | | - movhi r9, #0 |
---|
13631 | | - movls r9, #1 |
---|
13632 | | - ldr r3, [r3] |
---|
| 14117 | + push {lr} |
---|
| 14118 | + bl __gnu_mcount_nc |
---|
| 14119 | + mov r3, sp |
---|
| 14120 | + add r8, r1, r0 |
---|
| 14121 | + bic r3, r3, #8128 |
---|
| 14122 | + sub r9, r8, #1 |
---|
| 14123 | + bic r3, r3, #63 |
---|
| 14124 | + cmp r9, #63 |
---|
| 14125 | + ldr r5, .L1948 |
---|
| 14126 | + mov r4, r0 |
---|
| 14127 | + movhi r10, #0 |
---|
| 14128 | + movls r10, #1 |
---|
| 14129 | + ldr r3, [r3, #24] |
---|
13633 | 14130 | cmp r0, #576 |
---|
13634 | | - orrcs r9, r9, #1 |
---|
13635 | | - cmp r9, #0 |
---|
13636 | | - ldr r5, .L2106+4 |
---|
13637 | | - str r3, [sp, #108] |
---|
13638 | | - beq .L2046 |
---|
| 14131 | + orrcs r10, r10, #1 |
---|
| 14132 | + mov r6, r1 |
---|
| 14133 | + mov r7, r2 |
---|
| 14134 | + cmp r10, #0 |
---|
| 14135 | + str r3, [fp, #-48] |
---|
| 14136 | + beq .L1890 |
---|
13639 | 14137 | ldr r3, [r5, #3676] |
---|
13640 | 14138 | cmp r3, #0 |
---|
13641 | | - bne .L2047 |
---|
13642 | | -.L2105: |
---|
| 14139 | + bne .L1891 |
---|
| 14140 | +.L1947: |
---|
13643 | 14141 | mov r4, #0 |
---|
13644 | | - b .L2045 |
---|
13645 | | -.L2047: |
---|
13646 | | - ldr r7, [r5, #3680] |
---|
13647 | | - ldr r3, .L2106+8 |
---|
13648 | | - ldr r2, [r7] |
---|
| 14142 | + b .L1889 |
---|
| 14143 | +.L1891: |
---|
| 14144 | + ldr r8, [r5, #3680] |
---|
| 14145 | + ldr r3, .L1948+4 |
---|
| 14146 | + ldr r2, [r8] |
---|
13649 | 14147 | cmp r2, r3 |
---|
13650 | | - bne .L2049 |
---|
| 14148 | + bne .L1893 |
---|
13651 | 14149 | ldrh r1, [r5, #10] |
---|
13652 | | - add r0, r7, #260096 |
---|
| 14150 | + add r0, r8, #260096 |
---|
13653 | 14151 | mov r2, #0 |
---|
13654 | 14152 | movw r3, #65023 |
---|
13655 | | -.L2053: |
---|
| 14153 | +.L1897: |
---|
13656 | 14154 | ldr ip, [r0, #-4]! |
---|
13657 | 14155 | cmp ip, #0 |
---|
13658 | | - bne .L2050 |
---|
13659 | | - ldr ip, [r7, r2, lsl #2] |
---|
| 14156 | + bne .L1894 |
---|
| 14157 | + ldr ip, [r8, r2, lsl #2] |
---|
13660 | 14158 | add r2, r2, #1 |
---|
13661 | 14159 | cmp r2, #4096 |
---|
13662 | 14160 | sub r3, r3, #1 |
---|
| 14161 | + str ip, [r0, #2048] |
---|
13663 | 14162 | movhi r2, #0 |
---|
13664 | 14163 | cmp r3, #4096 |
---|
13665 | | - str ip, [r0, #2048] |
---|
13666 | | - bne .L2053 |
---|
13667 | | - mov fp, #512 |
---|
13668 | | - b .L2052 |
---|
13669 | | -.L2050: |
---|
| 14164 | + bne .L1897 |
---|
| 14165 | + mov r3, #512 |
---|
| 14166 | + b .L1946 |
---|
| 14167 | +.L1894: |
---|
13670 | 14168 | add r3, r3, #127 |
---|
13671 | | - lsr fp, r3, #7 |
---|
13672 | | -.L2052: |
---|
| 14169 | + lsr r3, r3, #7 |
---|
| 14170 | +.L1946: |
---|
| 14171 | + str r3, [fp, #-120] |
---|
13673 | 14172 | lsl r1, r1, #2 |
---|
13674 | | - add r0, fp, #4 |
---|
13675 | | - ldr r4, .L2106+4 |
---|
| 14173 | + ldr r3, [fp, #-120] |
---|
13676 | 14174 | uxth r1, r1 |
---|
| 14175 | + add r0, r3, #4 |
---|
13677 | 14176 | bl __aeabi_uidiv |
---|
13678 | 14177 | add r3, r0, #1 |
---|
13679 | | - mov r1, fp |
---|
13680 | 14178 | mov r2, r3 |
---|
13681 | | - ldr r0, .L2106+12 |
---|
13682 | | - str r3, [sp, #16] |
---|
| 14179 | + ldr r1, [fp, #-120] |
---|
| 14180 | + ldr r0, .L1948+8 |
---|
| 14181 | + str r3, [fp, #-124] |
---|
13683 | 14182 | bl sftl_printk |
---|
13684 | | - lsl r3, fp, #7 |
---|
13685 | | - str r3, [sp, #28] |
---|
| 14183 | + ldr r3, [fp, #-120] |
---|
| 14184 | + lsl r3, r3, #7 |
---|
| 14185 | + str r3, [fp, #-140] |
---|
13686 | 14186 | mov r3, #0 |
---|
13687 | | - str r3, [sp, #20] |
---|
13688 | | - str r3, [sp, #12] |
---|
13689 | | -.L2054: |
---|
13690 | | - ldr r3, [sp, #16] |
---|
13691 | | - ldr r2, [sp, #12] |
---|
13692 | | - add r3, r3, r2 |
---|
| 14187 | + mov r10, r3 |
---|
| 14188 | + str r3, [fp, #-128] |
---|
| 14189 | +.L1898: |
---|
| 14190 | + ldr r3, [fp, #-124] |
---|
| 14191 | + add r3, r3, r10 |
---|
| 14192 | + str r3, [fp, #-132] |
---|
13693 | 14193 | cmp r3, #8 |
---|
13694 | | - str r3, [sp, #24] |
---|
13695 | | - bls .L2076 |
---|
13696 | | - ldr r3, [sp, #20] |
---|
| 14194 | + bls .L1920 |
---|
| 14195 | + ldr r3, [fp, #-128] |
---|
13697 | 14196 | cmp r3, #0 |
---|
13698 | | - bne .L2077 |
---|
13699 | | -.L2049: |
---|
13700 | | - mvn fp, #0 |
---|
13701 | | -.L2077: |
---|
13702 | | - ldr r5, .L2106+4 |
---|
13703 | | - mov r3, #0 |
---|
13704 | | - mov r4, fp |
---|
13705 | | - ldr r0, [r5, #3680] |
---|
13706 | | - str r3, [r5, #3676] |
---|
13707 | | - bl kfree |
---|
13708 | | - ldr r0, [r5, #3684] |
---|
13709 | | - bl kfree |
---|
13710 | | -.L2045: |
---|
13711 | | - ldr r3, .L2106 |
---|
13712 | | - mov r0, r4 |
---|
13713 | | - ldr r2, [sp, #108] |
---|
13714 | | - ldr r3, [r3] |
---|
13715 | | - cmp r2, r3 |
---|
13716 | | - beq .L2084 |
---|
13717 | | - bl __stack_chk_fail |
---|
13718 | | -.L2076: |
---|
| 14197 | + bne .L1919 |
---|
| 14198 | +.L1893: |
---|
| 14199 | + mvn r3, #0 |
---|
| 14200 | + str r3, [fp, #-120] |
---|
| 14201 | + b .L1919 |
---|
| 14202 | +.L1920: |
---|
| 14203 | + ldr r4, .L1948 |
---|
13719 | 14204 | mov r2, #512 |
---|
13720 | 14205 | mov r1, #0 |
---|
13721 | 14206 | ldr r0, [r4, #3684] |
---|
13722 | 14207 | bl memset |
---|
13723 | | - ldrh r6, [r4, #10] |
---|
13724 | | - ldr r3, [sp, #12] |
---|
13725 | | - mul r9, r6, r3 |
---|
| 14208 | + ldrh r5, [r4, #10] |
---|
| 14209 | + mul r3, r5, r10 |
---|
| 14210 | + str r3, [fp, #-136] |
---|
13726 | 14211 | ldr r3, [r4, #3260] |
---|
13727 | 14212 | cmp r3, #0 |
---|
13728 | | - moveq r8, #6 |
---|
13729 | | - beq .L2055 |
---|
| 14213 | + moveq r6, #6 |
---|
| 14214 | + beq .L1899 |
---|
13730 | 14215 | ldr r3, [r4, #3264] |
---|
13731 | 14216 | cmp r3, #0 |
---|
13732 | | - moveq r8, #6 |
---|
13733 | | - movne r8, #9 |
---|
13734 | | -.L2055: |
---|
13735 | | - mov r10, r9 |
---|
13736 | | - mov r5, #0 |
---|
13737 | | -.L2056: |
---|
13738 | | - ldr r3, [r4, #3248] |
---|
13739 | | - mov r1, r10 |
---|
| 14217 | + moveq r6, #6 |
---|
| 14218 | + movne r6, #9 |
---|
| 14219 | +.L1899: |
---|
| 14220 | + mul r9, r5, r10 |
---|
| 14221 | + ldr r7, .L1948 |
---|
| 14222 | + mov r4, #0 |
---|
| 14223 | +.L1900: |
---|
| 14224 | + ldr r3, [r7, #3248] |
---|
| 14225 | + mov r1, r9 |
---|
13740 | 14226 | mov r0, #0 |
---|
13741 | | - add r5, r5, #1 |
---|
| 14227 | + add r4, r4, #1 |
---|
13742 | 14228 | blx r3 |
---|
13743 | | - ldr r3, [sp, #16] |
---|
13744 | | - add r10, r10, r6 |
---|
13745 | | - cmp r3, r5 |
---|
13746 | | - bhi .L2056 |
---|
13747 | | - cmp r8, #9 |
---|
13748 | | - movne r5, #0 |
---|
13749 | | - bne .L2057 |
---|
13750 | | - ldr r5, [r4, #3684] |
---|
| 14229 | + ldr r3, [fp, #-124] |
---|
| 14230 | + add r9, r9, r5 |
---|
| 14231 | + cmp r3, r4 |
---|
| 14232 | + bhi .L1900 |
---|
| 14233 | + cmp r6, #9 |
---|
| 14234 | + movne r4, #0 |
---|
| 14235 | + bne .L1901 |
---|
| 14236 | + ldr r4, [r7, #3684] |
---|
13751 | 14237 | mov r2, #1024 |
---|
13752 | 14238 | mov r1, #0 |
---|
13753 | | - mov r0, r5 |
---|
| 14239 | + mov r0, r4 |
---|
13754 | 14240 | bl ftl_memset |
---|
13755 | | - ldr r3, .L2106+16 |
---|
| 14241 | + ldr r3, .L1948+12 |
---|
| 14242 | + str r3, [r4] |
---|
13756 | 14243 | mov r1, #12 |
---|
13757 | | - mov r2, #4 |
---|
13758 | | - str r1, [r5, #4] |
---|
13759 | | - strb r2, [r5, #17] |
---|
13760 | | - add r0, r5, r1 |
---|
13761 | | - str r3, [r5] |
---|
| 14244 | + str r1, [r4, #4] |
---|
13762 | 14245 | mov r3, #0 |
---|
13763 | | - ldrh r2, [r4, #10] |
---|
13764 | | - str r3, [r5, #12] |
---|
13765 | | - strb r3, [r5, #16] |
---|
13766 | | - strh r2, [r5, #18] @ movhi |
---|
13767 | | - mov r2, #16 |
---|
13768 | | - strb r3, [r5, #20] |
---|
13769 | | - strb r2, [r5, #21] |
---|
13770 | | - strh r3, [r5, #22] @ movhi |
---|
| 14246 | + str r3, [r4, #12] |
---|
| 14247 | + mov r3, #1024 |
---|
| 14248 | + strh r3, [r4, #16] @ movhi |
---|
| 14249 | + add r0, r4, r1 |
---|
| 14250 | + ldrh r3, [r7, #10] |
---|
| 14251 | + strh r3, [r4, #18] @ movhi |
---|
| 14252 | + mov r3, #4096 |
---|
| 14253 | + str r3, [r4, #20] |
---|
13771 | 14254 | bl js_hash |
---|
13772 | | - str r0, [r5, #8] |
---|
13773 | | -.L2057: |
---|
13774 | | - ldr r3, [sp, #16] |
---|
13775 | | - mov r10, r7 |
---|
13776 | | - mul r3, r6, r3 |
---|
13777 | | - mov r6, #0 |
---|
13778 | | - str r3, [sp, #32] |
---|
13779 | | -.L2058: |
---|
13780 | | - ldr r3, [sp, #32] |
---|
13781 | | - cmp r6, r3 |
---|
13782 | | - beq .L2065 |
---|
13783 | | - cmp r8, #9 |
---|
13784 | | - lslne r3, r6, #2 |
---|
13785 | | - addeq r3, r6, #1 |
---|
13786 | | - cmp r6, #0 |
---|
13787 | | - cmpeq r8, #9 |
---|
13788 | | - str r3, [sp, #44] |
---|
| 14255 | + str r0, [r4, #8] |
---|
| 14256 | +.L1901: |
---|
| 14257 | + ldr r3, [fp, #-124] |
---|
| 14258 | + mov r9, r8 |
---|
| 14259 | + ldr r7, .L1948 |
---|
| 14260 | + mul r3, r5, r3 |
---|
| 14261 | + mov r5, #0 |
---|
| 14262 | + str r3, [fp, #-144] |
---|
| 14263 | +.L1902: |
---|
| 14264 | + ldr r3, [fp, #-144] |
---|
| 14265 | + cmp r5, r3 |
---|
| 14266 | + beq .L1909 |
---|
| 14267 | + cmp r6, #9 |
---|
| 14268 | + addeq r3, r5, #1 |
---|
| 14269 | + lslne r3, r5, #2 |
---|
| 14270 | + cmp r5, #0 |
---|
| 14271 | + cmpeq r6, #9 |
---|
| 14272 | + str r3, [fp, #-112] |
---|
13789 | 14273 | movw r3, #61424 |
---|
13790 | | - str r3, [sp, #48] |
---|
| 14274 | + str r3, [fp, #-108] |
---|
13791 | 14275 | moveq r0, #1 |
---|
13792 | 14276 | movne r0, #0 |
---|
13793 | | - bne .L2061 |
---|
13794 | | - ldr r3, [r4, #3260] |
---|
| 14277 | + bne .L1905 |
---|
| 14278 | + ldr r3, [r7, #3260] |
---|
13795 | 14279 | mov r0, #70 |
---|
13796 | 14280 | blx r3 |
---|
13797 | | - mov r2, r5 |
---|
13798 | | - add r3, sp, #44 |
---|
13799 | | - mov r1, r9 |
---|
13800 | | - ldr ip, [r4, #3252] |
---|
| 14281 | + mov r2, r4 |
---|
| 14282 | + ldr r1, [fp, #-136] |
---|
| 14283 | + sub r3, fp, #112 |
---|
| 14284 | + ldr ip, [r7, #3252] |
---|
13801 | 14285 | mov r0, #0 |
---|
13802 | 14286 | blx ip |
---|
13803 | | - ldr r3, [r4, #3260] |
---|
13804 | | - str r0, [sp, #36] |
---|
13805 | | - ldrb r0, [r4, #22] @ zero_extendqisi2 |
---|
| 14287 | + ldr r3, [r7, #3260] |
---|
| 14288 | + str r0, [fp, #-148] |
---|
| 14289 | + ldrb r0, [r7, #22] @ zero_extendqisi2 |
---|
13806 | 14290 | blx r3 |
---|
13807 | | - ldr r2, [sp, #36] |
---|
| 14291 | + ldr r2, [fp, #-148] |
---|
13808 | 14292 | cmn r2, #1 |
---|
13809 | | - bne .L2062 |
---|
13810 | | -.L2065: |
---|
13811 | | - ldrb r3, [r4, #14] @ zero_extendqisi2 |
---|
13812 | | - ldr r2, [sp, #12] |
---|
13813 | | - ldr r6, [r4, #3684] |
---|
13814 | | - str r3, [sp, #32] |
---|
13815 | | - ldrh r3, [r4, #10] |
---|
13816 | | - mul r9, r3, r2 |
---|
13817 | | - ldr r2, [r4, #3260] |
---|
13818 | | - cmp r2, #0 |
---|
13819 | | - moveq r8, #6 |
---|
13820 | | - beq .L2064 |
---|
13821 | | - ldr r2, [r4, #3264] |
---|
13822 | | - cmp r2, #0 |
---|
13823 | | - moveq r8, #6 |
---|
13824 | | - movne r8, #9 |
---|
13825 | | -.L2064: |
---|
13826 | | - ldr r2, [sp, #16] |
---|
| 14293 | + bne .L1906 |
---|
| 14294 | +.L1909: |
---|
| 14295 | + ldr r3, .L1948 |
---|
| 14296 | + ldrb r2, [r3, #14] @ zero_extendqisi2 |
---|
| 14297 | + ldr r1, [r3, #3260] |
---|
| 14298 | + str r2, [fp, #-136] |
---|
| 14299 | + ldrh r2, [r3, #10] |
---|
| 14300 | + cmp r1, #0 |
---|
| 14301 | + ldr r9, [r3, #3684] |
---|
| 14302 | + moveq r6, #6 |
---|
| 14303 | + mul r7, r2, r10 |
---|
| 14304 | + beq .L1908 |
---|
| 14305 | + ldr r3, [r3, #3264] |
---|
| 14306 | + cmp r3, #0 |
---|
| 14307 | + moveq r6, #6 |
---|
| 14308 | + movne r6, #9 |
---|
| 14309 | +.L1908: |
---|
| 14310 | + ldr r3, [fp, #-124] |
---|
13827 | 14311 | mov r5, #0 |
---|
13828 | | - mul r10, r3, r2 |
---|
13829 | | -.L2067: |
---|
13830 | | - cmp r5, r10 |
---|
13831 | | - beq .L2071 |
---|
| 14312 | + ldr r4, .L1948 |
---|
| 14313 | + mul r3, r2, r3 |
---|
| 14314 | + str r3, [fp, #-144] |
---|
| 14315 | +.L1911: |
---|
| 14316 | + ldr r3, [fp, #-144] |
---|
| 14317 | + cmp r5, r3 |
---|
| 14318 | + beq .L1915 |
---|
13832 | 14319 | cmp r5, #0 |
---|
13833 | | - cmpeq r8, #9 |
---|
| 14320 | + cmpeq r6, #9 |
---|
13834 | 14321 | moveq r0, #1 |
---|
13835 | 14322 | movne r0, #0 |
---|
13836 | | - bne .L2068 |
---|
| 14323 | + bne .L1912 |
---|
13837 | 14324 | ldr r3, [r4, #3260] |
---|
13838 | 14325 | mov r0, #70 |
---|
13839 | 14326 | blx r3 |
---|
13840 | 14327 | ldr r3, [r4, #3264] |
---|
13841 | 14328 | mov r0, #2 |
---|
13842 | 14329 | blx r3 |
---|
13843 | | - mov r2, r6 |
---|
13844 | | - mov r1, r9 |
---|
| 14330 | + mov r2, r9 |
---|
13845 | 14331 | ldr ip, [r4, #3256] |
---|
13846 | | - add r3, sp, #44 |
---|
| 14332 | + mov r1, r7 |
---|
| 14333 | + sub r3, fp, #112 |
---|
13847 | 14334 | mov r0, #0 |
---|
13848 | 14335 | blx ip |
---|
13849 | 14336 | ldr r3, [r4, #3264] |
---|
13850 | | - ldr r0, [sp, #32] |
---|
| 14337 | + ldr r0, [fp, #-136] |
---|
13851 | 14338 | blx r3 |
---|
13852 | 14339 | ldr r3, [r4, #3260] |
---|
13853 | 14340 | ldrb r0, [r4, #22] @ zero_extendqisi2 |
---|
13854 | 14341 | blx r3 |
---|
13855 | | - ldr r3, [r6] |
---|
13856 | | - ldr r2, .L2106+16 |
---|
| 14342 | + ldr r3, [r9] |
---|
| 14343 | + ldr r2, .L1948+12 |
---|
13857 | 14344 | cmp r3, r2 |
---|
13858 | | - beq .L2069 |
---|
13859 | | -.L2071: |
---|
13860 | | - ldr r0, [r4, #3684] |
---|
13861 | | - mov r3, r7 |
---|
13862 | | - mov r5, #0 |
---|
| 14345 | + beq .L1913 |
---|
| 14346 | +.L1915: |
---|
| 14347 | + ldr r3, .L1948 |
---|
| 14348 | + mov r4, #0 |
---|
| 14349 | + ldr r0, [r3, #3684] |
---|
| 14350 | + mov r3, r8 |
---|
13863 | 14351 | mov r2, r0 |
---|
13864 | | -.L2070: |
---|
13865 | | - mov r6, r2 |
---|
13866 | | - mov r8, r3 |
---|
13867 | | - ldr ip, [r6] |
---|
| 14352 | +.L1914: |
---|
| 14353 | + mov r5, r2 |
---|
| 14354 | + mov r6, r3 |
---|
13868 | 14355 | add r2, r2, #4 |
---|
13869 | | - ldr r1, [r8] |
---|
13870 | 14356 | add r3, r3, #4 |
---|
| 14357 | + ldr ip, [r5] |
---|
| 14358 | + ldr r1, [r6] |
---|
13871 | 14359 | cmp ip, r1 |
---|
13872 | | - beq .L2073 |
---|
| 14360 | + beq .L1917 |
---|
13873 | 14361 | mov r2, #512 |
---|
13874 | 14362 | mov r1, #0 |
---|
13875 | 14363 | bl memset |
---|
13876 | | - ldr r0, .L2106+20 |
---|
13877 | | - str r5, [sp] |
---|
13878 | | - ldr r1, [sp, #12] |
---|
13879 | | - ldr r3, [r8] |
---|
13880 | | - ldr r2, [r6] |
---|
| 14364 | + str r4, [sp] |
---|
| 14365 | + ldr r0, .L1948+16 |
---|
| 14366 | + mov r1, r10 |
---|
| 14367 | + ldr r3, [r6] |
---|
| 14368 | + ldr r2, [r5] |
---|
13881 | 14369 | bl sftl_printk |
---|
13882 | | - ldrh r1, [r4, #10] |
---|
| 14370 | + ldr r3, .L1948 |
---|
13883 | 14371 | mov r0, #0 |
---|
13884 | | - ldr r2, [sp, #12] |
---|
13885 | | - ldr r3, [r4, #3248] |
---|
13886 | | - mul r1, r2, r1 |
---|
| 14372 | + ldrh r1, [r3, #10] |
---|
| 14373 | + ldr r3, [r3, #3248] |
---|
| 14374 | + mul r1, r10, r1 |
---|
13887 | 14375 | blx r3 |
---|
13888 | | -.L2074: |
---|
13889 | | - ldr r3, [sp, #24] |
---|
13890 | | - str r3, [sp, #12] |
---|
13891 | | - b .L2054 |
---|
13892 | | -.L2061: |
---|
13893 | | - add r3, sp, #44 |
---|
13894 | | - mov r2, r10 |
---|
13895 | | - add r1, r9, r6 |
---|
13896 | | - ldr ip, [r4, #3252] |
---|
| 14376 | +.L1918: |
---|
| 14377 | + ldr r10, [fp, #-132] |
---|
| 14378 | + b .L1898 |
---|
| 14379 | +.L1905: |
---|
| 14380 | + ldr r1, [fp, #-136] |
---|
| 14381 | + sub r3, fp, #112 |
---|
| 14382 | + ldr ip, [r7, #3252] |
---|
| 14383 | + mov r2, r9 |
---|
| 14384 | + add r1, r1, r5 |
---|
13897 | 14385 | blx ip |
---|
13898 | 14386 | cmn r0, #1 |
---|
13899 | | - beq .L2065 |
---|
13900 | | - add r10, r10, #2048 |
---|
13901 | | -.L2062: |
---|
13902 | | - add r6, r6, #1 |
---|
13903 | | - b .L2058 |
---|
13904 | | -.L2068: |
---|
13905 | | - add r3, sp, #44 |
---|
13906 | | - mov r2, r6 |
---|
13907 | | - add r1, r9, r5 |
---|
| 14387 | + beq .L1909 |
---|
| 14388 | + add r9, r9, #2048 |
---|
| 14389 | +.L1906: |
---|
| 14390 | + add r5, r5, #1 |
---|
| 14391 | + b .L1902 |
---|
| 14392 | +.L1912: |
---|
13908 | 14393 | ldr ip, [r4, #3256] |
---|
| 14394 | + sub r3, fp, #112 |
---|
| 14395 | + mov r2, r9 |
---|
| 14396 | + add r1, r7, r5 |
---|
13909 | 14397 | blx ip |
---|
13910 | 14398 | cmn r0, #1 |
---|
13911 | | - beq .L2071 |
---|
13912 | | - ldr r2, [sp, #48] |
---|
| 14399 | + beq .L1915 |
---|
| 14400 | + ldr r1, [fp, #-108] |
---|
13913 | 14401 | movw r3, #61424 |
---|
13914 | | - cmp r2, r3 |
---|
13915 | | - bne .L2071 |
---|
13916 | | - add r6, r6, #2048 |
---|
13917 | | -.L2069: |
---|
| 14402 | + cmp r1, r3 |
---|
| 14403 | + bne .L1915 |
---|
| 14404 | + add r9, r9, #2048 |
---|
| 14405 | +.L1913: |
---|
13918 | 14406 | add r5, r5, #1 |
---|
13919 | | - b .L2067 |
---|
13920 | | -.L2073: |
---|
13921 | | - ldr r1, [sp, #28] |
---|
13922 | | - add r5, r5, #1 |
---|
13923 | | - cmp r5, r1 |
---|
13924 | | - bne .L2070 |
---|
13925 | | - ldr r3, [sp, #20] |
---|
| 14407 | + b .L1911 |
---|
| 14408 | +.L1917: |
---|
| 14409 | + ldr r1, [fp, #-140] |
---|
| 14410 | + add r4, r4, #1 |
---|
| 14411 | + cmp r4, r1 |
---|
| 14412 | + bcc .L1914 |
---|
| 14413 | + ldr r3, [fp, #-128] |
---|
13926 | 14414 | add r3, r3, #1 |
---|
| 14415 | + str r3, [fp, #-128] |
---|
13927 | 14416 | cmp r3, #5 |
---|
13928 | | - str r3, [sp, #20] |
---|
13929 | | - bls .L2074 |
---|
13930 | | - b .L2077 |
---|
13931 | | -.L2046: |
---|
| 14417 | + bls .L1918 |
---|
| 14418 | +.L1919: |
---|
| 14419 | + ldr r5, .L1948 |
---|
| 14420 | + mov r3, #0 |
---|
| 14421 | + ldr r4, [fp, #-120] |
---|
| 14422 | + ldr r0, [r5, #3680] |
---|
| 14423 | + str r3, [r5, #3676] |
---|
| 14424 | + bl kfree |
---|
| 14425 | + ldr r0, [r5, #3684] |
---|
| 14426 | + bl kfree |
---|
| 14427 | +.L1889: |
---|
| 14428 | + mov r3, sp |
---|
| 14429 | + ldr r2, [fp, #-48] |
---|
| 14430 | + bic r3, r3, #8128 |
---|
| 14431 | + bic r3, r3, #63 |
---|
| 14432 | + ldr r3, [r3, #24] |
---|
| 14433 | + cmp r2, r3 |
---|
| 14434 | + beq .L1928 |
---|
| 14435 | + bl __stack_chk_fail |
---|
| 14436 | +.L1890: |
---|
13932 | 14437 | cmp r0, #64 |
---|
13933 | | - mov r4, r0 |
---|
13934 | | - mov r6, r1 |
---|
13935 | | - mov r7, r2 |
---|
13936 | | - bne .L2078 |
---|
| 14438 | + bne .L1921 |
---|
13937 | 14439 | mov r0, #262144 |
---|
13938 | 14440 | bl ftl_malloc |
---|
13939 | 14441 | str r0, [r5, #3680] |
---|
13940 | 14442 | mov r0, #262144 |
---|
13941 | 14443 | bl ftl_malloc |
---|
13942 | | - ldr r3, [r5, #3680] |
---|
| 14444 | + mov r3, r0 |
---|
13943 | 14445 | str r0, [r5, #3684] |
---|
13944 | | - cmp r3, #0 |
---|
13945 | | - cmpne r0, #0 |
---|
13946 | | - beq .L2079 |
---|
13947 | | - mov r2, #1 |
---|
13948 | | - mov r1, r9 |
---|
13949 | | - str r2, [r5, #3676] |
---|
13950 | | - mov r0, r3 |
---|
| 14446 | + ldr r0, [r5, #3680] |
---|
| 14447 | + cmp r0, #0 |
---|
| 14448 | + cmpne r3, #0 |
---|
| 14449 | + beq .L1922 |
---|
| 14450 | + mov r1, r10 |
---|
13951 | 14451 | mov r2, #262144 |
---|
| 14452 | + mov r3, #1 |
---|
| 14453 | + str r3, [r5, #3676] |
---|
13952 | 14454 | bl ftl_memset |
---|
13953 | | -.L2078: |
---|
13954 | | - ldr r3, [r5, #3676] |
---|
13955 | | - cmp r3, #0 |
---|
13956 | | - beq .L2105 |
---|
| 14455 | +.L1923: |
---|
13957 | 14456 | cmp r4, #63 |
---|
13958 | 14457 | ldr r0, [r5, #3680] |
---|
13959 | | - ldrhi r3, .L2106+24 |
---|
13960 | | - rsbls r1, r4, #64 |
---|
13961 | | - subls r6, r6, r1 |
---|
13962 | | - movhi r1, r7 |
---|
13963 | | - addls r1, r7, r1, lsl #9 |
---|
13964 | | - addhi r3, r4, r3 |
---|
| 14458 | + sub r3, r4, #64 |
---|
| 14459 | + rsbls r4, r4, #64 |
---|
| 14460 | + addls r6, r6, r3 |
---|
| 14461 | + addls r7, r7, r4, lsl #9 |
---|
13965 | 14462 | addhi r0, r0, r3, lsl #9 |
---|
13966 | | - cmp r10, #576 |
---|
13967 | | - subcs r6, r6, r8 |
---|
13968 | | - subcs r6, r6, #444 |
---|
13969 | | - subcs r6, r6, #2 |
---|
| 14463 | + cmp r9, #576 |
---|
| 14464 | + mov r1, r7 |
---|
| 14465 | + rsbcs r8, r8, #576 |
---|
| 14466 | + addcs r6, r6, r8 |
---|
13970 | 14467 | lsl r2, r6, #9 |
---|
13971 | 14468 | bl ftl_memcpy |
---|
13972 | | - b .L2105 |
---|
13973 | | -.L2079: |
---|
13974 | | - ldr r1, .L2106+28 |
---|
13975 | | - ldr r0, .L2106+32 |
---|
| 14469 | + b .L1947 |
---|
| 14470 | +.L1922: |
---|
| 14471 | + ldr r1, .L1948+20 |
---|
| 14472 | + ldr r0, .L1948+24 |
---|
13976 | 14473 | bl sftl_printk |
---|
13977 | | - b .L2078 |
---|
13978 | | -.L2084: |
---|
13979 | | - add sp, sp, #116 |
---|
13980 | | - @ sp needed |
---|
13981 | | - pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} |
---|
13982 | | -.L2107: |
---|
| 14474 | +.L1921: |
---|
| 14475 | + ldr r3, [r5, #3676] |
---|
| 14476 | + cmp r3, #0 |
---|
| 14477 | + bne .L1923 |
---|
| 14478 | + b .L1947 |
---|
| 14479 | +.L1928: |
---|
| 14480 | + mov r0, r4 |
---|
| 14481 | + sub sp, fp, #40 |
---|
| 14482 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 14483 | +.L1949: |
---|
13983 | 14484 | .align 2 |
---|
13984 | | -.L2106: |
---|
13985 | | - .word __stack_chk_guard |
---|
| 14485 | +.L1948: |
---|
13986 | 14486 | .word .LANCHOR0 |
---|
13987 | 14487 | .word -52655045 |
---|
13988 | 14488 | .word .LC130 |
---|
13989 | 14489 | .word 1179535694 |
---|
13990 | 14490 | .word .LC131 |
---|
13991 | | - .word 8388544 |
---|
13992 | 14491 | .word .LANCHOR1+633 |
---|
13993 | 14492 | .word .LC132 |
---|
13994 | | - .fnend |
---|
13995 | 14493 | .size FtlWriteToIDB, .-FtlWriteToIDB |
---|
13996 | 14494 | .align 2 |
---|
13997 | 14495 | .global sftl_write |
---|
.. | .. |
---|
14000 | 14498 | .fpu softvfp |
---|
14001 | 14499 | .type sftl_write, %function |
---|
14002 | 14500 | sftl_write: |
---|
14003 | | - .fnstart |
---|
14004 | 14501 | @ args = 0, pretend = 0, frame = 0 |
---|
14005 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
14006 | | - push {r4, r5, r6, lr} |
---|
14007 | | - .save {r4, r5, r6, lr} |
---|
| 14502 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 14503 | + mov ip, sp |
---|
| 14504 | + push {r4, r5, r6, r7, fp, ip, lr, pc} |
---|
| 14505 | + sub fp, ip, #4 |
---|
| 14506 | + push {lr} |
---|
| 14507 | + bl __gnu_mcount_nc |
---|
14008 | 14508 | mov r5, r1 |
---|
14009 | 14509 | mov r6, r2 |
---|
14010 | 14510 | mov r4, r0 |
---|
.. | .. |
---|
14013 | 14513 | mov r2, r5 |
---|
14014 | 14514 | mov r1, r4 |
---|
14015 | 14515 | mov r0, #0 |
---|
14016 | | - pop {r4, r5, r6, lr} |
---|
14017 | | - b FtlWrite |
---|
14018 | | - .fnend |
---|
| 14516 | + bl FtlWrite |
---|
| 14517 | + ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} |
---|
14019 | 14518 | .size sftl_write, .-sftl_write |
---|
14020 | 14519 | .align 2 |
---|
14021 | 14520 | .global rk_sftl_vendor_dev_ops_register |
---|
.. | .. |
---|
14024 | 14523 | .fpu softvfp |
---|
14025 | 14524 | .type rk_sftl_vendor_dev_ops_register, %function |
---|
14026 | 14525 | rk_sftl_vendor_dev_ops_register: |
---|
14027 | | - .fnstart |
---|
14028 | 14526 | @ args = 0, pretend = 0, frame = 0 |
---|
14029 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
14030 | | - @ link register save eliminated. |
---|
14031 | | - ldr r2, .L2113 |
---|
14032 | | - ldr r3, [r2, #3688] |
---|
14033 | | - cmp r3, #0 |
---|
14034 | | - streq r0, [r2, #3688] |
---|
14035 | | - moveq r0, r3 |
---|
14036 | | - streq r1, [r2, #3692] |
---|
| 14527 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 14528 | + mov ip, sp |
---|
| 14529 | + push {fp, ip, lr, pc} |
---|
| 14530 | + sub fp, ip, #4 |
---|
| 14531 | + push {lr} |
---|
| 14532 | + bl __gnu_mcount_nc |
---|
| 14533 | + ldr r3, .L1954 |
---|
| 14534 | + mov r2, r0 |
---|
| 14535 | + ldr r0, [r3, #3688] |
---|
| 14536 | + cmp r0, #0 |
---|
| 14537 | + streq r2, [r3, #3688] |
---|
| 14538 | + streq r1, [r3, #3692] |
---|
14037 | 14539 | mvnne r0, #0 |
---|
14038 | | - bx lr |
---|
14039 | | -.L2114: |
---|
| 14540 | + ldmfd sp, {fp, sp, pc} |
---|
| 14541 | +.L1955: |
---|
14040 | 14542 | .align 2 |
---|
14041 | | -.L2113: |
---|
| 14543 | +.L1954: |
---|
14042 | 14544 | .word .LANCHOR0 |
---|
14043 | | - .fnend |
---|
14044 | 14545 | .size rk_sftl_vendor_dev_ops_register, .-rk_sftl_vendor_dev_ops_register |
---|
14045 | 14546 | .align 2 |
---|
14046 | 14547 | .global rk_sftl_vendor_storage_init |
---|
.. | .. |
---|
14049 | 14550 | .fpu softvfp |
---|
14050 | 14551 | .type rk_sftl_vendor_storage_init, %function |
---|
14051 | 14552 | rk_sftl_vendor_storage_init: |
---|
14052 | | - .fnstart |
---|
14053 | 14553 | @ args = 0, pretend = 0, frame = 0 |
---|
14054 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
14055 | | - push {r4, r5, r6, r7, r8, r9, r10, lr} |
---|
14056 | | - .save {r4, r5, r6, r7, r8, r9, r10, lr} |
---|
| 14554 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 14555 | + mov ip, sp |
---|
| 14556 | + push {r4, r5, r6, r7, r8, r9, fp, ip, lr, pc} |
---|
| 14557 | + sub fp, ip, #4 |
---|
| 14558 | + push {lr} |
---|
| 14559 | + bl __gnu_mcount_nc |
---|
| 14560 | + ldr r5, .L1965 |
---|
14057 | 14561 | mov r0, #65536 |
---|
14058 | | - ldr r5, .L2125 |
---|
14059 | 14562 | bl ftl_malloc |
---|
14060 | 14563 | cmp r0, #0 |
---|
| 14564 | + mvneq r4, #11 |
---|
14061 | 14565 | str r0, [r5, #3696] |
---|
14062 | | - mvneq r9, #11 |
---|
14063 | | - beq .L2115 |
---|
14064 | | - ldr r10, .L2125+4 |
---|
14065 | | - mov r7, #0 |
---|
14066 | | - mov r6, r7 |
---|
14067 | | - mov r8, r7 |
---|
14068 | | -.L2119: |
---|
| 14566 | + beq .L1956 |
---|
| 14567 | + ldr r9, .L1965+4 |
---|
| 14568 | + mov r8, #0 |
---|
| 14569 | + mov r7, r8 |
---|
| 14570 | + mov r6, r8 |
---|
| 14571 | +.L1960: |
---|
14069 | 14572 | ldr r3, [r5, #3688] |
---|
14070 | | - mov r1, #128 |
---|
| 14573 | + lsl r0, r6, #7 |
---|
14071 | 14574 | ldr r2, [r5, #3696] |
---|
14072 | | - lsl r0, r8, #7 |
---|
14073 | | - blx r3 |
---|
14074 | | - subs r9, r0, #0 |
---|
14075 | | - bne .L2117 |
---|
14076 | | - ldr r4, [r5, #3696] |
---|
14077 | | - ldr r3, [r4] |
---|
14078 | | - cmp r3, r10 |
---|
14079 | | - bne .L2118 |
---|
14080 | | - add r2, r4, #61440 |
---|
14081 | | - ldr r3, [r4, #4] |
---|
14082 | | - ldr r2, [r2, #4092] |
---|
14083 | | - cmp r3, r6 |
---|
14084 | | - sub r2, r2, r3 |
---|
14085 | | - clz r2, r2 |
---|
14086 | | - lsr r2, r2, #5 |
---|
14087 | | - movls r2, #0 |
---|
14088 | | - cmp r2, #0 |
---|
14089 | | - movne r7, r8 |
---|
14090 | | - movne r6, r3 |
---|
14091 | | -.L2118: |
---|
14092 | | - add r8, r8, #1 |
---|
14093 | | - cmp r8, #2 |
---|
14094 | | - bne .L2119 |
---|
14095 | | - cmp r6, #0 |
---|
14096 | | - beq .L2120 |
---|
14097 | | - ldr r3, [r5, #3688] |
---|
14098 | | - mov r2, r4 |
---|
14099 | 14575 | mov r1, #128 |
---|
14100 | | - lsl r0, r7, #7 |
---|
14101 | 14576 | blx r3 |
---|
14102 | | - subs r9, r0, #0 |
---|
14103 | | - beq .L2115 |
---|
14104 | | -.L2117: |
---|
| 14577 | + subs r4, r0, #0 |
---|
| 14578 | + bne .L1958 |
---|
| 14579 | + ldr r3, [r5, #3696] |
---|
| 14580 | + ldr r2, [r3] |
---|
| 14581 | + cmp r2, r9 |
---|
| 14582 | + bne .L1959 |
---|
| 14583 | + add r1, r3, #61440 |
---|
| 14584 | + ldr r2, [r3, #4] |
---|
| 14585 | + cmp r2, r7 |
---|
| 14586 | + ldr r1, [r1, #4092] |
---|
| 14587 | + sub r1, r1, r2 |
---|
| 14588 | + clz r1, r1 |
---|
| 14589 | + lsr r1, r1, #5 |
---|
| 14590 | + movls r1, #0 |
---|
| 14591 | + cmp r1, #0 |
---|
| 14592 | + movne r8, r6 |
---|
| 14593 | + movne r7, r2 |
---|
| 14594 | +.L1959: |
---|
| 14595 | + cmp r6, #1 |
---|
| 14596 | + bne .L1964 |
---|
| 14597 | + cmp r7, #0 |
---|
| 14598 | + beq .L1961 |
---|
| 14599 | + ldr r4, [r5, #3688] |
---|
| 14600 | + mov r2, r3 |
---|
| 14601 | + lsl r0, r8, #7 |
---|
| 14602 | + mov r1, #128 |
---|
| 14603 | + blx r4 |
---|
| 14604 | + subs r4, r0, #0 |
---|
| 14605 | + beq .L1956 |
---|
| 14606 | +.L1958: |
---|
14105 | 14607 | ldr r0, [r5, #3696] |
---|
14106 | | - mvn r9, #0 |
---|
| 14608 | + mvn r4, #0 |
---|
14107 | 14609 | bl kfree |
---|
14108 | 14610 | mov r3, #0 |
---|
14109 | 14611 | str r3, [r5, #3696] |
---|
14110 | | - b .L2115 |
---|
14111 | | -.L2120: |
---|
| 14612 | + b .L1956 |
---|
| 14613 | +.L1964: |
---|
| 14614 | + mov r6, #1 |
---|
| 14615 | + b .L1960 |
---|
| 14616 | +.L1961: |
---|
14112 | 14617 | mov r2, #65536 |
---|
14113 | | - mov r1, r6 |
---|
14114 | | - mov r0, r4 |
---|
| 14618 | + mov r1, r7 |
---|
| 14619 | + mov r0, r3 |
---|
14115 | 14620 | bl memset |
---|
14116 | | - mov r3, #1 |
---|
14117 | | - add r2, r4, #61440 |
---|
14118 | | - str r3, [r4, #4] |
---|
14119 | | - str r10, [r4] |
---|
14120 | | - str r3, [r2, #4092] |
---|
14121 | | - ldr r3, .L2125+8 |
---|
14122 | | - strh r6, [r4, #12] @ movhi |
---|
14123 | | - strh r3, [r4, #14] @ movhi |
---|
14124 | | -.L2115: |
---|
14125 | | - mov r0, r9 |
---|
14126 | | - pop {r4, r5, r6, r7, r8, r9, r10, pc} |
---|
14127 | | -.L2126: |
---|
| 14621 | + add r2, r0, #61440 |
---|
| 14622 | + str r6, [r0, #4] |
---|
| 14623 | + str r9, [r0] |
---|
| 14624 | + str r6, [r2, #4092] |
---|
| 14625 | + ldr r2, .L1965+8 |
---|
| 14626 | + strh r2, [r0, #14] @ movhi |
---|
| 14627 | +.L1956: |
---|
| 14628 | + mov r0, r4 |
---|
| 14629 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, fp, sp, pc} |
---|
| 14630 | +.L1966: |
---|
14128 | 14631 | .align 2 |
---|
14129 | | -.L2125: |
---|
| 14632 | +.L1965: |
---|
14130 | 14633 | .word .LANCHOR0 |
---|
14131 | 14634 | .word 1380668996 |
---|
14132 | 14635 | .word -1032 |
---|
14133 | | - .fnend |
---|
14134 | 14636 | .size rk_sftl_vendor_storage_init, .-rk_sftl_vendor_storage_init |
---|
14135 | 14637 | .align 2 |
---|
14136 | 14638 | .global rk_sftl_vendor_read |
---|
.. | .. |
---|
14139 | 14641 | .fpu softvfp |
---|
14140 | 14642 | .type rk_sftl_vendor_read, %function |
---|
14141 | 14643 | rk_sftl_vendor_read: |
---|
14142 | | - .fnstart |
---|
14143 | 14644 | @ args = 0, pretend = 0, frame = 0 |
---|
14144 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
14145 | | - ldr r3, .L2137 |
---|
14146 | | - ldr ip, [r3, #3696] |
---|
14147 | | - cmp ip, #0 |
---|
14148 | | - beq .L2132 |
---|
14149 | | - push {r4, r5, r6, lr} |
---|
14150 | | - .save {r4, r5, r6, lr} |
---|
14151 | | - mov r3, #0 |
---|
14152 | | - ldrh r4, [ip, #10] |
---|
14153 | | -.L2129: |
---|
14154 | | - cmp r3, r4 |
---|
14155 | | - bcc .L2131 |
---|
14156 | | - mvn r0, #0 |
---|
14157 | | - pop {r4, r5, r6, pc} |
---|
14158 | | -.L2131: |
---|
14159 | | - add lr, ip, r3, lsl #3 |
---|
14160 | | - ldrh r5, [lr, #16] |
---|
14161 | | - cmp r5, r0 |
---|
14162 | | - bne .L2130 |
---|
14163 | | - ldrh r4, [lr, #20] |
---|
| 14645 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 14646 | + mov ip, sp |
---|
| 14647 | + push {r4, r5, r6, r7, fp, ip, lr, pc} |
---|
| 14648 | + sub fp, ip, #4 |
---|
| 14649 | + push {lr} |
---|
| 14650 | + bl __gnu_mcount_nc |
---|
| 14651 | + ldr r3, .L1973 |
---|
| 14652 | + mov r4, r0 |
---|
14164 | 14653 | mov r0, r1 |
---|
14165 | | - ldrh r1, [lr, #18] |
---|
| 14654 | + ldr r3, [r3, #3696] |
---|
| 14655 | + cmp r3, #0 |
---|
| 14656 | + addne r5, r3, #16 |
---|
| 14657 | + movne lr, #0 |
---|
| 14658 | + ldrhne r1, [r3, #10] |
---|
| 14659 | + bne .L1969 |
---|
| 14660 | +.L1972: |
---|
| 14661 | + mvn r0, #0 |
---|
| 14662 | + ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} |
---|
| 14663 | +.L1970: |
---|
| 14664 | + add lr, lr, #1 |
---|
| 14665 | +.L1969: |
---|
| 14666 | + cmp r1, lr |
---|
| 14667 | + bls .L1972 |
---|
| 14668 | + lsl ip, lr, #3 |
---|
| 14669 | + ldrh r6, [r5, ip] |
---|
| 14670 | + cmp r6, r4 |
---|
| 14671 | + bne .L1970 |
---|
| 14672 | + add ip, r3, ip |
---|
| 14673 | + ldrh r4, [ip, #20] |
---|
| 14674 | + ldrh r1, [ip, #18] |
---|
14166 | 14675 | cmp r4, r2 |
---|
14167 | 14676 | movcs r4, r2 |
---|
14168 | 14677 | add r1, r1, #1024 |
---|
14169 | 14678 | mov r2, r4 |
---|
14170 | | - add r1, ip, r1 |
---|
| 14679 | + add r1, r3, r1 |
---|
14171 | 14680 | bl memcpy |
---|
14172 | 14681 | mov r0, r4 |
---|
14173 | | - pop {r4, r5, r6, pc} |
---|
14174 | | -.L2130: |
---|
14175 | | - add r3, r3, #1 |
---|
14176 | | - b .L2129 |
---|
14177 | | -.L2132: |
---|
14178 | | - mvn r0, #0 |
---|
14179 | | - bx lr |
---|
14180 | | -.L2138: |
---|
| 14682 | + ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} |
---|
| 14683 | +.L1974: |
---|
14181 | 14684 | .align 2 |
---|
14182 | | -.L2137: |
---|
| 14685 | +.L1973: |
---|
14183 | 14686 | .word .LANCHOR0 |
---|
14184 | | - .fnend |
---|
14185 | 14687 | .size rk_sftl_vendor_read, .-rk_sftl_vendor_read |
---|
14186 | 14688 | .align 2 |
---|
14187 | 14689 | .global rk_sftl_vendor_write |
---|
.. | .. |
---|
14190 | 14692 | .fpu softvfp |
---|
14191 | 14693 | .type rk_sftl_vendor_write, %function |
---|
14192 | 14694 | rk_sftl_vendor_write: |
---|
14193 | | - .fnstart |
---|
14194 | 14695 | @ args = 0, pretend = 0, frame = 24 |
---|
14195 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
14196 | | - push {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
14197 | | - .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} |
---|
14198 | | - .pad #28 |
---|
| 14696 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 14697 | + mov ip, sp |
---|
| 14698 | + push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} |
---|
| 14699 | + sub fp, ip, #4 |
---|
14199 | 14700 | sub sp, sp, #28 |
---|
14200 | | - ldr r9, .L2159 |
---|
| 14701 | + push {lr} |
---|
| 14702 | + bl __gnu_mcount_nc |
---|
| 14703 | + ldr r9, .L1994 |
---|
| 14704 | + mov r8, r1 |
---|
| 14705 | + mov r7, r2 |
---|
| 14706 | + str r0, [fp, #-52] |
---|
14201 | 14707 | ldr r4, [r9, #3696] |
---|
14202 | 14708 | cmp r4, #0 |
---|
14203 | | - beq .L2154 |
---|
14204 | | - mov r8, r2 |
---|
| 14709 | + beq .L1990 |
---|
| 14710 | + add r3, r7, #63 |
---|
14205 | 14711 | ldrh r2, [r4, #10] |
---|
14206 | | - add r6, r8, #63 |
---|
| 14712 | + bic r3, r3, #63 |
---|
| 14713 | + str r3, [fp, #-48] |
---|
14207 | 14714 | ldrh r3, [r4, #8] |
---|
14208 | | - mov fp, r1 |
---|
14209 | | - bic r6, r6, #63 |
---|
14210 | | - mov r7, #0 |
---|
14211 | | - str r3, [sp, #4] |
---|
14212 | | -.L2141: |
---|
14213 | | - cmp r7, r2 |
---|
14214 | | - bcc .L2149 |
---|
| 14715 | + mov r6, #0 |
---|
| 14716 | + str r3, [fp, #-56] |
---|
| 14717 | + add r3, r4, #16 |
---|
| 14718 | +.L1977: |
---|
| 14719 | + cmp r6, r2 |
---|
| 14720 | + bcc .L1985 |
---|
14215 | 14721 | ldrh r1, [r4, #14] |
---|
14216 | | - cmp r6, r1 |
---|
14217 | | - bhi .L2154 |
---|
| 14722 | + ldr r3, [fp, #-48] |
---|
| 14723 | + cmp r1, r3 |
---|
| 14724 | + bcc .L1990 |
---|
14218 | 14725 | add r3, r4, r2, lsl #3 |
---|
14219 | | - uxth r6, r6 |
---|
14220 | | - strh r0, [r3, #16] @ movhi |
---|
14221 | | - ldrh r2, [r4, #12] |
---|
14222 | | - strh r8, [r3, #20] @ movhi |
---|
14223 | | - strh r2, [r3, #18] @ movhi |
---|
14224 | | - add r2, r2, r6 |
---|
14225 | | - sub r6, r1, r6 |
---|
14226 | | - strh r2, [r4, #12] @ movhi |
---|
14227 | | - strh r6, [r4, #14] @ movhi |
---|
14228 | | - mov r2, r8 |
---|
14229 | | - ldrh r0, [r3, #18] |
---|
14230 | | - mov r1, fp |
---|
| 14726 | + ldr r2, [fp, #-52] |
---|
| 14727 | + strh r2, [r3, #16] @ movhi |
---|
| 14728 | + ldrh r0, [r4, #12] |
---|
| 14729 | + strh r0, [r3, #18] @ movhi |
---|
| 14730 | + strh r7, [r3, #20] @ movhi |
---|
| 14731 | + ldrh r3, [fp, #-48] |
---|
| 14732 | + add r2, r0, r3 |
---|
14231 | 14733 | add r0, r0, #1024 |
---|
| 14734 | + sub r3, r1, r3 |
---|
| 14735 | + strh r2, [r4, #12] @ movhi |
---|
| 14736 | + strh r3, [r4, #14] @ movhi |
---|
| 14737 | + mov r2, r7 |
---|
| 14738 | + mov r1, r8 |
---|
14232 | 14739 | add r0, r4, r0 |
---|
14233 | 14740 | bl memcpy |
---|
14234 | 14741 | ldrh r3, [r4, #10] |
---|
.. | .. |
---|
14246 | 14753 | movhi r3, #0 |
---|
14247 | 14754 | strh r3, [r4, #8] @ movhi |
---|
14248 | 14755 | ldr r3, [r9, #3692] |
---|
14249 | | - b .L2158 |
---|
14250 | | -.L2149: |
---|
14251 | | - add r5, r4, r7, lsl #3 |
---|
14252 | | - ldrh r3, [r5, #16] |
---|
14253 | | - cmp r3, r0 |
---|
14254 | | - str r3, [sp, #8] |
---|
14255 | | - bne .L2142 |
---|
14256 | | - ldrh r1, [r5, #20] |
---|
| 14756 | + b .L1993 |
---|
| 14757 | +.L1985: |
---|
| 14758 | + lsl r5, r6, #3 |
---|
| 14759 | + ldr r0, [fp, #-52] |
---|
| 14760 | + ldrh r1, [r3, r5] |
---|
| 14761 | + cmp r1, r0 |
---|
| 14762 | + bne .L1978 |
---|
| 14763 | + add r5, r4, r5 |
---|
14257 | 14764 | add r3, r4, #1024 |
---|
| 14765 | + ldrh r1, [r5, #20] |
---|
14258 | 14766 | add r1, r1, #63 |
---|
14259 | 14767 | bic r1, r1, #63 |
---|
14260 | | - cmp r8, r1 |
---|
14261 | | - str r1, [sp, #12] |
---|
14262 | | - bls .L2143 |
---|
| 14768 | + str r1, [fp, #-60] |
---|
| 14769 | + cmp r7, r1 |
---|
| 14770 | + bls .L1979 |
---|
14263 | 14771 | ldrh r1, [r4, #14] |
---|
14264 | | - cmp r6, r1 |
---|
14265 | | - subls r2, r2, #1 |
---|
14266 | | - ldrhls r10, [r5, #18] |
---|
14267 | | - strls r2, [sp, #16] |
---|
14268 | | - bls .L2144 |
---|
14269 | | -.L2154: |
---|
| 14772 | + ldr r0, [fp, #-48] |
---|
| 14773 | + cmp r1, r0 |
---|
| 14774 | + subcs r2, r2, #1 |
---|
| 14775 | + strcs r2, [fp, #-64] |
---|
| 14776 | + ldrhcs r10, [r5, #18] |
---|
| 14777 | + bcs .L1980 |
---|
| 14778 | +.L1990: |
---|
14270 | 14779 | mvn r0, #0 |
---|
14271 | | - b .L2139 |
---|
14272 | | -.L2145: |
---|
14273 | | - ldrh r9, [r5, #20] |
---|
14274 | | - add r0, r3, r10 |
---|
| 14780 | + b .L1975 |
---|
| 14781 | +.L1981: |
---|
14275 | 14782 | ldrh r2, [r5, #16] |
---|
14276 | | - add r7, r7, #1 |
---|
14277 | | - ldrh r1, [r5, #18] |
---|
14278 | | - strh r9, [r5, #12] @ movhi |
---|
14279 | | - add r9, r9, #63 |
---|
14280 | | - bic r9, r9, #63 |
---|
| 14783 | + add r0, r3, r10 |
---|
14281 | 14784 | strh r2, [r5, #8] @ movhi |
---|
14282 | | - strh r10, [r5, #10] @ movhi |
---|
| 14785 | + add r6, r6, #1 |
---|
| 14786 | + ldrh r2, [r5, #20] |
---|
| 14787 | + ldrh r1, [r5, #18] |
---|
| 14788 | + strh r2, [r5, #12] @ movhi |
---|
| 14789 | + add r2, r2, #63 |
---|
| 14790 | + strh r9, [r5, #10] @ movhi |
---|
| 14791 | + bic r9, r2, #63 |
---|
14283 | 14792 | add r1, r3, r1 |
---|
14284 | 14793 | mov r2, r9 |
---|
14285 | | - str r3, [sp, #20] |
---|
| 14794 | + str r3, [fp, #-68] |
---|
14286 | 14795 | bl memcpy |
---|
14287 | | - ldr r3, [sp, #20] |
---|
| 14796 | + ldr r3, [fp, #-68] |
---|
14288 | 14797 | add r10, r10, r9 |
---|
14289 | | -.L2144: |
---|
14290 | | - ldr r2, [sp, #16] |
---|
| 14798 | +.L1980: |
---|
| 14799 | + ldr r2, [fp, #-64] |
---|
| 14800 | + uxth r9, r10 |
---|
14291 | 14801 | add r5, r5, #8 |
---|
14292 | | - cmp r7, r2 |
---|
14293 | | - bcc .L2145 |
---|
14294 | | - ldrh r2, [sp, #8] |
---|
14295 | | - add r7, r4, r7, lsl #3 |
---|
14296 | | - uxth r5, r10 |
---|
| 14802 | + cmp r2, r6 |
---|
| 14803 | + bhi .L1981 |
---|
| 14804 | + add r6, r4, r6, lsl #3 |
---|
| 14805 | + ldr r2, [fp, #-52] |
---|
14297 | 14806 | uxtah r0, r3, r10 |
---|
14298 | | - strh r8, [r7, #20] @ movhi |
---|
14299 | | - strh r2, [r7, #16] @ movhi |
---|
14300 | | - mov r1, fp |
---|
14301 | | - strh r5, [r7, #18] @ movhi |
---|
14302 | | - mov r2, r8 |
---|
| 14807 | + mov r1, r8 |
---|
| 14808 | + strh r2, [r6, #16] @ movhi |
---|
| 14809 | + mov r2, r7 |
---|
| 14810 | + strh r9, [r6, #18] @ movhi |
---|
| 14811 | + strh r7, [r6, #20] @ movhi |
---|
14303 | 14812 | bl memcpy |
---|
14304 | | - uxth r3, r6 |
---|
14305 | | - ldrh r6, [r4, #14] |
---|
14306 | | - add r5, r5, r3 |
---|
14307 | | - sub r6, r6, r3 |
---|
14308 | | - ldr r3, [sp, #12] |
---|
14309 | | - strh r5, [r4, #12] @ movhi |
---|
14310 | | - add r6, r6, r3 |
---|
14311 | | - strh r6, [r4, #14] @ movhi |
---|
14312 | | -.L2146: |
---|
14313 | | - ldr r3, [r4, #4] |
---|
| 14813 | + ldrh r2, [fp, #-48] |
---|
| 14814 | + ldrh r3, [r4, #14] |
---|
| 14815 | + add r9, r2, r9 |
---|
| 14816 | + strh r9, [r4, #12] @ movhi |
---|
| 14817 | + sub r3, r3, r2 |
---|
| 14818 | + ldr r2, [fp, #-60] |
---|
| 14819 | + add r3, r3, r2 |
---|
| 14820 | + strh r3, [r4, #14] @ movhi |
---|
| 14821 | +.L1982: |
---|
14314 | 14822 | add r2, r4, #61440 |
---|
| 14823 | + ldr r3, [r4, #4] |
---|
14315 | 14824 | add r3, r3, #1 |
---|
14316 | 14825 | str r3, [r4, #4] |
---|
14317 | 14826 | str r3, [r2, #4092] |
---|
.. | .. |
---|
14321 | 14830 | cmp r3, #1 |
---|
14322 | 14831 | movhi r3, #0 |
---|
14323 | 14832 | strh r3, [r4, #8] @ movhi |
---|
14324 | | - ldr r3, .L2159 |
---|
| 14833 | + ldr r3, .L1994 |
---|
14325 | 14834 | ldr r3, [r3, #3692] |
---|
14326 | | -.L2158: |
---|
14327 | | - ldr r0, [sp, #4] |
---|
| 14835 | +.L1993: |
---|
| 14836 | + ldr r0, [fp, #-56] |
---|
14328 | 14837 | mov r2, r4 |
---|
14329 | 14838 | mov r1, #128 |
---|
14330 | 14839 | lsl r0, r0, #7 |
---|
14331 | 14840 | blx r3 |
---|
14332 | 14841 | mov r0, #0 |
---|
14333 | | -.L2139: |
---|
14334 | | - add sp, sp, #28 |
---|
14335 | | - @ sp needed |
---|
14336 | | - pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} |
---|
14337 | | -.L2143: |
---|
| 14842 | +.L1975: |
---|
| 14843 | + sub sp, fp, #40 |
---|
| 14844 | + ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} |
---|
| 14845 | +.L1979: |
---|
14338 | 14846 | ldrh r0, [r5, #18] |
---|
14339 | | - mov r2, r8 |
---|
14340 | | - mov r1, fp |
---|
| 14847 | + mov r2, r7 |
---|
| 14848 | + mov r1, r8 |
---|
14341 | 14849 | add r0, r3, r0 |
---|
14342 | 14850 | bl memcpy |
---|
14343 | | - strh r8, [r5, #20] @ movhi |
---|
14344 | | - b .L2146 |
---|
14345 | | -.L2142: |
---|
14346 | | - add r7, r7, #1 |
---|
14347 | | - b .L2141 |
---|
14348 | | -.L2160: |
---|
| 14851 | + strh r7, [r5, #20] @ movhi |
---|
| 14852 | + b .L1982 |
---|
| 14853 | +.L1978: |
---|
| 14854 | + add r6, r6, #1 |
---|
| 14855 | + b .L1977 |
---|
| 14856 | +.L1995: |
---|
14349 | 14857 | .align 2 |
---|
14350 | | -.L2159: |
---|
| 14858 | +.L1994: |
---|
14351 | 14859 | .word .LANCHOR0 |
---|
14352 | | - .fnend |
---|
14353 | 14860 | .size rk_sftl_vendor_write, .-rk_sftl_vendor_write |
---|
| 14861 | + .section .rodata.str1.1 |
---|
| 14862 | +.LC133: |
---|
| 14863 | + .ascii "copy_from_user error %d %p %p\012\000" |
---|
| 14864 | + .text |
---|
14354 | 14865 | .align 2 |
---|
14355 | 14866 | .global rk_sftl_vendor_storage_ioctl |
---|
14356 | 14867 | .syntax unified |
---|
.. | .. |
---|
14358 | 14869 | .fpu softvfp |
---|
14359 | 14870 | .type rk_sftl_vendor_storage_ioctl, %function |
---|
14360 | 14871 | rk_sftl_vendor_storage_ioctl: |
---|
14361 | | - .fnstart |
---|
14362 | 14872 | @ args = 0, pretend = 0, frame = 0 |
---|
14363 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
14364 | | - push {r4, r5, r6, r7, r8, lr} |
---|
14365 | | - .save {r4, r5, r6, r7, r8, lr} |
---|
| 14873 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 14874 | + mov ip, sp |
---|
| 14875 | + push {r4, r5, r6, r7, fp, ip, lr, pc} |
---|
| 14876 | + sub fp, ip, #4 |
---|
| 14877 | + push {lr} |
---|
| 14878 | + bl __gnu_mcount_nc |
---|
14366 | 14879 | mov r0, #4096 |
---|
14367 | | - mov r5, r2 |
---|
| 14880 | + mov r4, r2 |
---|
14368 | 14881 | mov r6, r1 |
---|
14369 | 14882 | bl ftl_malloc |
---|
14370 | | - subs r4, r0, #0 |
---|
14371 | | - mvneq r5, #0 |
---|
14372 | | - beq .L2161 |
---|
14373 | | - ldr r3, .L2186 |
---|
| 14883 | + subs r5, r0, #0 |
---|
| 14884 | + mvneq r4, #0 |
---|
| 14885 | + beq .L1996 |
---|
| 14886 | + ldr r3, .L2014 |
---|
14374 | 14887 | cmp r6, r3 |
---|
14375 | | - beq .L2164 |
---|
| 14888 | + beq .L1998 |
---|
14376 | 14889 | add r3, r3, #1 |
---|
14377 | 14890 | cmp r6, r3 |
---|
14378 | | - beq .L2165 |
---|
14379 | | -.L2183: |
---|
14380 | | - mvn r5, #13 |
---|
14381 | | - b .L2163 |
---|
14382 | | -.L2164: |
---|
14383 | | - ldr r6, .L2186+4 |
---|
14384 | | - mov r3, sp |
---|
14385 | | - and r3, r3, r6 |
---|
14386 | | - ldr r3, [r3, #8] |
---|
14387 | | - .syntax divided |
---|
14388 | | -@ 114 "./include/linux/uaccess.h" 1 |
---|
14389 | | - adds r2, r5, #8; sbcccs r2, r2, r3; movcc r3, #0 |
---|
14390 | | -@ 0 "" 2 |
---|
14391 | | - .arm |
---|
14392 | | - .syntax unified |
---|
14393 | | - cmp r3, #0 |
---|
14394 | | - mov r2, #8 |
---|
14395 | | - bne .L2166 |
---|
14396 | | - mov r1, r5 |
---|
14397 | | - bl arm_copy_from_user |
---|
14398 | | - subs r2, r0, #0 |
---|
14399 | | - beq .L2167 |
---|
14400 | | -.L2166: |
---|
14401 | | - rsb r0, r2, #8 |
---|
14402 | | - mov r1, #0 |
---|
14403 | | - add r0, r4, r0 |
---|
14404 | | - bl memset |
---|
14405 | | - mov r2, r5 |
---|
14406 | | - mov r1, #256 |
---|
14407 | | -.L2185: |
---|
14408 | | - ldr r0, .L2186+8 |
---|
14409 | | - bl sftl_printk |
---|
14410 | | - b .L2183 |
---|
14411 | | -.L2168: |
---|
14412 | | - mov r3, sp |
---|
14413 | | - uxth r2, r0 |
---|
14414 | | - and r6, r6, r3 |
---|
14415 | | - strh r0, [r4, #6] @ movhi |
---|
14416 | | - add r2, r2, #8 |
---|
14417 | | - ldr r3, [r6, #8] |
---|
14418 | | - .syntax divided |
---|
14419 | | -@ 132 "./include/linux/uaccess.h" 1 |
---|
14420 | | - adds r1, r5, r2; sbcccs r1, r1, r3; movcc r3, #0 |
---|
14421 | | -@ 0 "" 2 |
---|
14422 | | - .arm |
---|
14423 | | - .syntax unified |
---|
14424 | | - cmp r3, #0 |
---|
14425 | | - bne .L2183 |
---|
| 14891 | + beq .L1999 |
---|
| 14892 | +.L2012: |
---|
| 14893 | + mvn r4, #13 |
---|
| 14894 | +.L2000: |
---|
14426 | 14895 | mov r0, r5 |
---|
| 14896 | + bl kfree |
---|
| 14897 | +.L1996: |
---|
| 14898 | + mov r0, r4 |
---|
| 14899 | + ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} |
---|
| 14900 | +.L1998: |
---|
14427 | 14901 | mov r1, r4 |
---|
14428 | | - bl arm_copy_to_user |
---|
14429 | | - subs r5, r0, #0 |
---|
14430 | | - beq .L2163 |
---|
14431 | | - b .L2183 |
---|
14432 | | -.L2165: |
---|
14433 | | - ldr r7, .L2186+4 |
---|
14434 | | - mov r3, sp |
---|
14435 | | - and r3, r3, r7 |
---|
14436 | | - ldr r3, [r3, #8] |
---|
14437 | | - .syntax divided |
---|
14438 | | -@ 114 "./include/linux/uaccess.h" 1 |
---|
14439 | | - adds r2, r5, #8; sbcccs r2, r2, r3; movcc r3, #0 |
---|
14440 | | -@ 0 "" 2 |
---|
14441 | | - .arm |
---|
14442 | | - .syntax unified |
---|
14443 | | - cmp r3, #0 |
---|
14444 | 14902 | mov r2, #8 |
---|
14445 | | - bne .L2170 |
---|
14446 | | - mov r1, r5 |
---|
14447 | | - bl arm_copy_from_user |
---|
14448 | | - subs r2, r0, #0 |
---|
14449 | | - beq .L2171 |
---|
14450 | | -.L2170: |
---|
14451 | | - rsb r0, r2, #8 |
---|
14452 | | - mov r1, #0 |
---|
14453 | | - add r0, r4, r0 |
---|
14454 | | - bl memset |
---|
14455 | | - mov r2, r5 |
---|
14456 | | - mov r1, #276 |
---|
14457 | | - b .L2185 |
---|
14458 | | -.L2167: |
---|
14459 | | - ldr r2, [r4] |
---|
14460 | | - ldr r3, .L2186+12 |
---|
| 14903 | + bl _copy_from_user |
---|
| 14904 | + cmp r0, #0 |
---|
| 14905 | + beq .L2001 |
---|
| 14906 | + mov r2, r4 |
---|
| 14907 | + mov r1, #256 |
---|
| 14908 | +.L2013: |
---|
| 14909 | + ldr r0, .L2014+4 |
---|
| 14910 | + bl sftl_printk |
---|
| 14911 | + b .L2012 |
---|
| 14912 | +.L2001: |
---|
| 14913 | + ldr r2, [r5] |
---|
| 14914 | + ldr r3, .L2014+8 |
---|
14461 | 14915 | cmp r2, r3 |
---|
14462 | | - bne .L2172 |
---|
14463 | | - ldrh r2, [r4, #6] |
---|
14464 | | - add r1, r4, #8 |
---|
14465 | | - ldrh r0, [r4, #4] |
---|
| 14916 | + beq .L2002 |
---|
| 14917 | +.L2003: |
---|
| 14918 | + mvn r4, #0 |
---|
| 14919 | + b .L2000 |
---|
| 14920 | +.L2002: |
---|
| 14921 | + ldrh r2, [r5, #6] |
---|
| 14922 | + add r1, r5, #8 |
---|
| 14923 | + ldrh r0, [r5, #4] |
---|
14466 | 14924 | bl rk_sftl_vendor_read |
---|
14467 | 14925 | cmn r0, #1 |
---|
14468 | | - bne .L2168 |
---|
14469 | | -.L2172: |
---|
14470 | | - mvn r5, #0 |
---|
14471 | | -.L2163: |
---|
14472 | | - mov r0, r4 |
---|
14473 | | - bl kfree |
---|
14474 | | -.L2161: |
---|
14475 | | - mov r0, r5 |
---|
14476 | | - pop {r4, r5, r6, r7, r8, pc} |
---|
14477 | | -.L2171: |
---|
14478 | | - ldr r2, [r4] |
---|
14479 | | - ldr r3, .L2186+12 |
---|
14480 | | - cmp r2, r3 |
---|
14481 | | - bne .L2172 |
---|
14482 | | - ldrh r6, [r4, #6] |
---|
14483 | | - movw r3, #4087 |
---|
14484 | | - cmp r6, r3 |
---|
14485 | | - bhi .L2172 |
---|
| 14926 | + beq .L2003 |
---|
14486 | 14927 | mov r3, sp |
---|
14487 | | - add r6, r6, #8 |
---|
14488 | | - and r7, r7, r3 |
---|
14489 | | - ldr r3, [r7, #8] |
---|
| 14928 | + strh r0, [r5, #6] @ movhi |
---|
| 14929 | + bic r1, r3, #8128 |
---|
| 14930 | + uxth r2, r0 |
---|
| 14931 | + bic r1, r1, #63 |
---|
| 14932 | + add r2, r2, #8 |
---|
| 14933 | + ldr r3, [r1, #8] |
---|
14490 | 14934 | .syntax divided |
---|
14491 | | -@ 114 "./include/linux/uaccess.h" 1 |
---|
14492 | | - adds r2, r5, r6; sbcccs r2, r2, r3; movcc r3, #0 |
---|
| 14935 | +@ 177 "./include/linux/uaccess.h" 1 |
---|
| 14936 | + .syntax unified |
---|
| 14937 | +adds r0, r4, r2; sbcscc r0, r0, r3; movcc r3, #0 |
---|
14493 | 14938 | @ 0 "" 2 |
---|
14494 | 14939 | .arm |
---|
14495 | 14940 | .syntax unified |
---|
14496 | 14941 | cmp r3, #0 |
---|
14497 | | - mov r2, r6 |
---|
14498 | | - bne .L2173 |
---|
| 14942 | + bne .L2012 |
---|
| 14943 | + .syntax divided |
---|
| 14944 | +@ 89 "./arch/arm/include/asm/domain.h" 1 |
---|
| 14945 | + mrc p15, 0, r6, c3, c0 @ get domain |
---|
| 14946 | +@ 0 "" 2 |
---|
| 14947 | + .arm |
---|
| 14948 | + .syntax unified |
---|
| 14949 | + bic r3, r6, #12 |
---|
| 14950 | + orr r3, r3, #4 |
---|
| 14951 | + .syntax divided |
---|
| 14952 | +@ 99 "./arch/arm/include/asm/domain.h" 1 |
---|
| 14953 | + mcr p15, 0, r3, c3, c0 @ set domain |
---|
| 14954 | +@ 0 "" 2 |
---|
| 14955 | +@ 102 "./arch/arm/include/asm/domain.h" 1 |
---|
| 14956 | + isb |
---|
| 14957 | +@ 0 "" 2 |
---|
| 14958 | + .arm |
---|
| 14959 | + .syntax unified |
---|
14499 | 14960 | mov r1, r5 |
---|
14500 | 14961 | mov r0, r4 |
---|
14501 | | - bl arm_copy_from_user |
---|
14502 | | - subs r2, r0, #0 |
---|
14503 | | - beq .L2174 |
---|
14504 | | -.L2173: |
---|
14505 | | - sub r6, r6, r2 |
---|
14506 | | - mov r1, #0 |
---|
14507 | | - add r0, r4, r6 |
---|
14508 | | - bl memset |
---|
14509 | | - mov r2, r5 |
---|
14510 | | - movw r1, #283 |
---|
14511 | | - b .L2185 |
---|
14512 | | -.L2174: |
---|
14513 | | - ldrh r2, [r4, #6] |
---|
14514 | | - add r1, r4, #8 |
---|
14515 | | - ldrh r0, [r4, #4] |
---|
| 14962 | + bl arm_copy_to_user |
---|
| 14963 | + mov r4, r0 |
---|
| 14964 | + .syntax divided |
---|
| 14965 | +@ 99 "./arch/arm/include/asm/domain.h" 1 |
---|
| 14966 | + mcr p15, 0, r6, c3, c0 @ set domain |
---|
| 14967 | +@ 0 "" 2 |
---|
| 14968 | +@ 102 "./arch/arm/include/asm/domain.h" 1 |
---|
| 14969 | + isb |
---|
| 14970 | +@ 0 "" 2 |
---|
| 14971 | + .arm |
---|
| 14972 | + .syntax unified |
---|
| 14973 | + cmp r0, #0 |
---|
| 14974 | + beq .L2000 |
---|
| 14975 | + b .L2012 |
---|
| 14976 | +.L1999: |
---|
| 14977 | + mov r1, r4 |
---|
| 14978 | + mov r2, #8 |
---|
| 14979 | + bl _copy_from_user |
---|
| 14980 | + cmp r0, #0 |
---|
| 14981 | + movne r2, r4 |
---|
| 14982 | + movne r1, #276 |
---|
| 14983 | + bne .L2013 |
---|
| 14984 | + ldr r2, [r5] |
---|
| 14985 | + ldr r3, .L2014+8 |
---|
| 14986 | + cmp r2, r3 |
---|
| 14987 | + bne .L2003 |
---|
| 14988 | + ldrh r2, [r5, #6] |
---|
| 14989 | + movw r3, #4087 |
---|
| 14990 | + cmp r2, r3 |
---|
| 14991 | + bhi .L2003 |
---|
| 14992 | + add r2, r2, #8 |
---|
| 14993 | + mov r1, r4 |
---|
| 14994 | + mov r0, r5 |
---|
| 14995 | + uxth r2, r2 |
---|
| 14996 | + bl _copy_from_user |
---|
| 14997 | + cmp r0, #0 |
---|
| 14998 | + movne r2, r4 |
---|
| 14999 | + movwne r1, #283 |
---|
| 15000 | + bne .L2013 |
---|
| 15001 | + ldrh r2, [r5, #6] |
---|
| 15002 | + add r1, r5, #8 |
---|
| 15003 | + ldrh r0, [r5, #4] |
---|
14516 | 15004 | bl rk_sftl_vendor_write |
---|
14517 | | - mov r5, r0 |
---|
14518 | | - b .L2163 |
---|
14519 | | -.L2187: |
---|
| 15005 | + mov r4, r0 |
---|
| 15006 | + b .L2000 |
---|
| 15007 | +.L2015: |
---|
14520 | 15008 | .align 2 |
---|
14521 | | -.L2186: |
---|
| 15009 | +.L2014: |
---|
14522 | 15010 | .word 1074034177 |
---|
14523 | | - .word -8192 |
---|
14524 | 15011 | .word .LC133 |
---|
14525 | 15012 | .word 1448232273 |
---|
14526 | | - .fnend |
---|
14527 | 15013 | .size rk_sftl_vendor_storage_ioctl, .-rk_sftl_vendor_storage_ioctl |
---|
14528 | 15014 | .align 2 |
---|
14529 | 15015 | .global rk_sftl_vendor_register |
---|
.. | .. |
---|
14532 | 15018 | .fpu softvfp |
---|
14533 | 15019 | .type rk_sftl_vendor_register, %function |
---|
14534 | 15020 | rk_sftl_vendor_register: |
---|
14535 | | - .fnstart |
---|
14536 | 15021 | @ args = 0, pretend = 0, frame = 0 |
---|
14537 | | - @ frame_needed = 0, uses_anonymous_args = 0 |
---|
14538 | | - @ link register save eliminated. |
---|
14539 | | - ldr r0, .L2189 |
---|
14540 | | - b misc_register |
---|
14541 | | -.L2190: |
---|
| 15022 | + @ frame_needed = 1, uses_anonymous_args = 0 |
---|
| 15023 | + mov ip, sp |
---|
| 15024 | + push {fp, ip, lr, pc} |
---|
| 15025 | + sub fp, ip, #4 |
---|
| 15026 | + push {lr} |
---|
| 15027 | + bl __gnu_mcount_nc |
---|
| 15028 | + ldr r0, .L2017 |
---|
| 15029 | + bl misc_register |
---|
| 15030 | + ldmfd sp, {fp, sp, pc} |
---|
| 15031 | +.L2018: |
---|
14542 | 15032 | .align 2 |
---|
14543 | | -.L2189: |
---|
| 15033 | +.L2017: |
---|
14544 | 15034 | .word .LANCHOR2+12 |
---|
14545 | | - .fnend |
---|
14546 | 15035 | .size rk_sftl_vendor_register, .-rk_sftl_vendor_register |
---|
| 15036 | + .section .rodata.str1.1 |
---|
| 15037 | +.LC134: |
---|
| 15038 | + .ascii "vendor_storage\000" |
---|
14547 | 15039 | .global g_nand_ops |
---|
14548 | 15040 | .global g_nand_phy_info |
---|
14549 | 15041 | .global gc_ink_free_return_value |
---|
.. | .. |
---|
14693 | 15185 | .global c_ftl_nand_die_num |
---|
14694 | 15186 | .global c_ftl_nand_type |
---|
14695 | 15187 | .section .rodata |
---|
14696 | | - .align 3 |
---|
| 15188 | + .align 2 |
---|
14697 | 15189 | .set .LANCHOR1,. + 0 |
---|
14698 | | - .type __func__.7563, %object |
---|
14699 | | - .size __func__.7563, 17 |
---|
14700 | | -__func__.7563: |
---|
| 15190 | + .type __func__.30, %object |
---|
| 15191 | + .size __func__.30, 17 |
---|
| 15192 | +__func__.30: |
---|
14701 | 15193 | .ascii "INSERT_DATA_LIST\000" |
---|
14702 | | - .type __func__.7558, %object |
---|
14703 | | - .size __func__.7558, 17 |
---|
14704 | | -__func__.7558: |
---|
| 15194 | + .type __func__.31, %object |
---|
| 15195 | + .size __func__.31, 17 |
---|
| 15196 | +__func__.31: |
---|
14705 | 15197 | .ascii "INSERT_FREE_LIST\000" |
---|
14706 | | - .type __func__.7594, %object |
---|
14707 | | - .size __func__.7594, 17 |
---|
14708 | | -__func__.7594: |
---|
| 15198 | + .type __func__.29, %object |
---|
| 15199 | + .size __func__.29, 17 |
---|
| 15200 | +__func__.29: |
---|
14709 | 15201 | .ascii "List_remove_node\000" |
---|
14710 | | - .type __func__.7626, %object |
---|
14711 | | - .size __func__.7626, 22 |
---|
14712 | | -__func__.7626: |
---|
| 15202 | + .type __func__.28, %object |
---|
| 15203 | + .size __func__.28, 22 |
---|
| 15204 | +__func__.28: |
---|
14713 | 15205 | .ascii "List_update_data_list\000" |
---|
14714 | | - .type __func__.7733, %object |
---|
14715 | | - .size __func__.7733, 22 |
---|
14716 | | -__func__.7733: |
---|
| 15206 | + .type __func__.22, %object |
---|
| 15207 | + .size __func__.22, 22 |
---|
| 15208 | +__func__.22: |
---|
14717 | 15209 | .ascii "select_l2p_ram_region\000" |
---|
14718 | | - .type __func__.8053, %object |
---|
14719 | | - .size __func__.8053, 16 |
---|
14720 | | -__func__.8053: |
---|
| 15210 | + .type __func__.14, %object |
---|
| 15211 | + .size __func__.14, 16 |
---|
| 15212 | +__func__.14: |
---|
14721 | 15213 | .ascii "make_superblock\000" |
---|
14722 | | - .type __func__.8229, %object |
---|
14723 | | - .size __func__.8229, 19 |
---|
14724 | | -__func__.8229: |
---|
| 15214 | + .type __func__.8, %object |
---|
| 15215 | + .size __func__.8, 19 |
---|
| 15216 | +__func__.8: |
---|
14725 | 15217 | .ascii "get_new_active_ppa\000" |
---|
14726 | | - .type __func__.13983, %object |
---|
14727 | | - .size __func__.13983, 17 |
---|
14728 | | -__func__.13983: |
---|
| 15218 | + .type __func__.1, %object |
---|
| 15219 | + .size __func__.1, 17 |
---|
| 15220 | +__func__.1: |
---|
14729 | 15221 | .ascii "FlashEraseBlocks\000" |
---|
14730 | | - .type __func__.7668, %object |
---|
14731 | | - .size __func__.7668, 26 |
---|
14732 | | -__func__.7668: |
---|
| 15222 | + .type __func__.26, %object |
---|
| 15223 | + .size __func__.26, 26 |
---|
| 15224 | +__func__.26: |
---|
14733 | 15225 | .ascii "ftl_map_blk_alloc_new_blk\000" |
---|
14734 | | - .type __func__.7173, %object |
---|
14735 | | - .size __func__.7173, 11 |
---|
14736 | | -__func__.7173: |
---|
| 15226 | + .type __func__.37, %object |
---|
| 15227 | + .size __func__.37, 11 |
---|
| 15228 | +__func__.37: |
---|
14737 | 15229 | .ascii "FtlMemInit\000" |
---|
14738 | | - .type __func__.7400, %object |
---|
14739 | | - .size __func__.7400, 14 |
---|
14740 | | -__func__.7400: |
---|
| 15230 | + .type __func__.34, %object |
---|
| 15231 | + .size __func__.34, 14 |
---|
| 15232 | +__func__.34: |
---|
14741 | 15233 | .ascii "FtlBbt2Bitmap\000" |
---|
14742 | | - .type __func__.8074, %object |
---|
14743 | | - .size __func__.8074, 18 |
---|
14744 | | -__func__.8074: |
---|
| 15234 | + .type __func__.13, %object |
---|
| 15235 | + .size __func__.13, 18 |
---|
| 15236 | +__func__.13: |
---|
14745 | 15237 | .ascii "SupperBlkListInit\000" |
---|
14746 | | - .type __func__.13940, %object |
---|
14747 | | - .size __func__.13940, 15 |
---|
14748 | | -__func__.13940: |
---|
| 15238 | + .type __func__.3, %object |
---|
| 15239 | + .size __func__.3, 15 |
---|
| 15240 | +__func__.3: |
---|
14749 | 15241 | .ascii "FlashReadPages\000" |
---|
14750 | | - .type __func__.7845, %object |
---|
14751 | | - .size __func__.7845, 14 |
---|
14752 | | -__func__.7845: |
---|
| 15242 | + .type __func__.19, %object |
---|
| 15243 | + .size __func__.19, 14 |
---|
| 15244 | +__func__.19: |
---|
14753 | 15245 | .ascii "FtlScanSysBlk\000" |
---|
14754 | | - .type __func__.7443, %object |
---|
14755 | | - .size __func__.7443, 11 |
---|
14756 | | -__func__.7443: |
---|
| 15246 | + .type __func__.32, %object |
---|
| 15247 | + .size __func__.32, 11 |
---|
| 15248 | +__func__.32: |
---|
14757 | 15249 | .ascii "FtlLoadBbt\000" |
---|
14758 | | - .type __func__.13959, %object |
---|
14759 | | - .size __func__.13959, 15 |
---|
14760 | | -__func__.13959: |
---|
| 15250 | + .type __func__.2, %object |
---|
| 15251 | + .size __func__.2, 15 |
---|
| 15252 | +__func__.2: |
---|
14761 | 15253 | .ascii "FlashProgPages\000" |
---|
14762 | | - .type __func__.8201, %object |
---|
14763 | | - .size __func__.8201, 25 |
---|
14764 | | -__func__.8201: |
---|
| 15254 | + .type __func__.10, %object |
---|
| 15255 | + .size __func__.10, 25 |
---|
| 15256 | +__func__.10: |
---|
14765 | 15257 | .ascii "allocate_data_superblock\000" |
---|
14766 | | - .type __func__.8242, %object |
---|
14767 | | - .size __func__.8242, 16 |
---|
14768 | | -__func__.8242: |
---|
| 15258 | + .type __func__.7, %object |
---|
| 15259 | + .size __func__.7, 16 |
---|
| 15260 | +__func__.7: |
---|
14769 | 15261 | .ascii "update_vpc_list\000" |
---|
14770 | | - .type __func__.8249, %object |
---|
14771 | | - .size __func__.8249, 20 |
---|
14772 | | -__func__.8249: |
---|
| 15262 | + .type __func__.6, %object |
---|
| 15263 | + .size __func__.6, 20 |
---|
| 15264 | +__func__.6: |
---|
14773 | 15265 | .ascii "decrement_vpc_count\000" |
---|
14774 | | - .type __func__.7694, %object |
---|
14775 | | - .size __func__.7694, 31 |
---|
14776 | | -__func__.7694: |
---|
14777 | | - .ascii "Ftl_write_map_blk_to_last_page\000" |
---|
14778 | | - .type __func__.7708, %object |
---|
14779 | | - .size __func__.7708, 16 |
---|
14780 | | -__func__.7708: |
---|
| 15266 | + .type __func__.23, %object |
---|
| 15267 | + .size __func__.23, 16 |
---|
| 15268 | +__func__.23: |
---|
14781 | 15269 | .ascii "FtlMapWritePage\000" |
---|
14782 | | - .type __func__.7635, %object |
---|
14783 | | - .size __func__.7635, 16 |
---|
14784 | | -__func__.7635: |
---|
| 15270 | + .type __func__.27, %object |
---|
| 15271 | + .size __func__.27, 16 |
---|
| 15272 | +__func__.27: |
---|
14785 | 15273 | .ascii "load_l2p_region\000" |
---|
14786 | | - .type __func__.7679, %object |
---|
14787 | | - .size __func__.7679, 15 |
---|
14788 | | -__func__.7679: |
---|
| 15274 | + .type __func__.25, %object |
---|
| 15275 | + .size __func__.25, 15 |
---|
| 15276 | +__func__.25: |
---|
14789 | 15277 | .ascii "ftl_map_blk_gc\000" |
---|
14790 | | - .type __func__.7750, %object |
---|
14791 | | - .size __func__.7750, 9 |
---|
14792 | | -__func__.7750: |
---|
| 15278 | + .type __func__.24, %object |
---|
| 15279 | + .size __func__.24, 31 |
---|
| 15280 | +__func__.24: |
---|
| 15281 | + .ascii "Ftl_write_map_blk_to_last_page\000" |
---|
| 15282 | + .type __func__.21, %object |
---|
| 15283 | + .size __func__.21, 9 |
---|
| 15284 | +__func__.21: |
---|
14793 | 15285 | .ascii "log2phys\000" |
---|
14794 | | - .type __func__.7962, %object |
---|
14795 | | - .size __func__.7962, 16 |
---|
14796 | | -__func__.7962: |
---|
| 15286 | + .type __func__.16, %object |
---|
| 15287 | + .size __func__.16, 16 |
---|
| 15288 | +__func__.16: |
---|
14797 | 15289 | .ascii "FtlReUsePrevPpa\000" |
---|
14798 | | - .type __func__.7996, %object |
---|
14799 | | - .size __func__.7996, 22 |
---|
14800 | | -__func__.7996: |
---|
| 15290 | + .type __func__.15, %object |
---|
| 15291 | + .size __func__.15, 22 |
---|
| 15292 | +__func__.15: |
---|
14801 | 15293 | .ascii "FtlRecoverySuperblock\000" |
---|
14802 | | - .type __func__.8116, %object |
---|
14803 | | - .size __func__.8116, 14 |
---|
14804 | | -__func__.8116: |
---|
| 15294 | + .type __func__.11, %object |
---|
| 15295 | + .size __func__.11, 14 |
---|
| 15296 | +__func__.11: |
---|
14805 | 15297 | .ascii "ftl_check_vpc\000" |
---|
14806 | | - .type __func__.7823, %object |
---|
14807 | | - .size __func__.7823, 15 |
---|
14808 | | -__func__.7823: |
---|
| 15298 | + .type __func__.20, %object |
---|
| 15299 | + .size __func__.20, 15 |
---|
| 15300 | +__func__.20: |
---|
14809 | 15301 | .ascii "FtlVpcTblFlush\000" |
---|
14810 | | - .type __func__.8099, %object |
---|
14811 | | - .size __func__.8099, 21 |
---|
14812 | | -__func__.8099: |
---|
| 15302 | + .type __func__.12, %object |
---|
| 15303 | + .size __func__.12, 21 |
---|
| 15304 | +__func__.12: |
---|
14813 | 15305 | .ascii "FtlVpcCheckAndModify\000" |
---|
14814 | | - .type __func__.8222, %object |
---|
14815 | | - .size __func__.8222, 29 |
---|
14816 | | -__func__.8222: |
---|
| 15306 | + .type __func__.9, %object |
---|
| 15307 | + .size __func__.9, 29 |
---|
| 15308 | +__func__.9: |
---|
14817 | 15309 | .ascii "allocate_new_data_superblock\000" |
---|
14818 | | - .type __func__.7297, %object |
---|
14819 | | - .size __func__.7297, 13 |
---|
14820 | | -__func__.7297: |
---|
| 15310 | + .type __func__.36, %object |
---|
| 15311 | + .size __func__.36, 13 |
---|
| 15312 | +__func__.36: |
---|
14821 | 15313 | .ascii "FtlProgPages\000" |
---|
14822 | | - .type __func__.8319, %object |
---|
14823 | | - .size __func__.8319, 19 |
---|
14824 | | -__func__.8319: |
---|
| 15314 | + .type __func__.5, %object |
---|
| 15315 | + .size __func__.5, 19 |
---|
| 15316 | +__func__.5: |
---|
14825 | 15317 | .ascii "FtlGcFreeTempBlock\000" |
---|
14826 | | - .type __func__.8432, %object |
---|
14827 | | - .size __func__.8432, 23 |
---|
14828 | | -__func__.8432: |
---|
| 15318 | + .type __func__.4, %object |
---|
| 15319 | + .size __func__.4, 23 |
---|
| 15320 | +__func__.4: |
---|
14829 | 15321 | .ascii "rk_ftl_garbage_collect\000" |
---|
14830 | | - .type __func__.7325, %object |
---|
14831 | | - .size __func__.7325, 9 |
---|
14832 | | -__func__.7325: |
---|
| 15322 | + .type __func__.35, %object |
---|
| 15323 | + .size __func__.35, 9 |
---|
| 15324 | +__func__.35: |
---|
14833 | 15325 | .ascii "FtlWrite\000" |
---|
14834 | | - .type __func__.7894, %object |
---|
14835 | | - .size __func__.7894, 15 |
---|
14836 | | -__func__.7894: |
---|
| 15326 | + .type __func__.18, %object |
---|
| 15327 | + .size __func__.18, 15 |
---|
| 15328 | +__func__.18: |
---|
14837 | 15329 | .ascii "FtlLoadSysInfo\000" |
---|
14838 | | - .type __func__.7916, %object |
---|
14839 | | - .size __func__.7916, 18 |
---|
14840 | | -__func__.7916: |
---|
| 15330 | + .type __func__.17, %object |
---|
| 15331 | + .size __func__.17, 18 |
---|
| 15332 | +__func__.17: |
---|
14841 | 15333 | .ascii "FtlMapTblRecovery\000" |
---|
14842 | | - .type __func__.14102, %object |
---|
14843 | | - .size __func__.14102, 14 |
---|
14844 | | -__func__.14102: |
---|
| 15334 | + .type __func__.0, %object |
---|
| 15335 | + .size __func__.0, 14 |
---|
| 15336 | +__func__.0: |
---|
14845 | 15337 | .ascii "FtlWriteToIDB\000" |
---|
14846 | 15338 | .space 1 |
---|
14847 | 15339 | .type rk_sftl_vendor_storage_fops, %object |
---|
14848 | | - .size rk_sftl_vendor_storage_fops, 160 |
---|
| 15340 | + .size rk_sftl_vendor_storage_fops, 128 |
---|
14849 | 15341 | rk_sftl_vendor_storage_fops: |
---|
14850 | | - .space 36 |
---|
| 15342 | + .space 40 |
---|
14851 | 15343 | .word rk_sftl_vendor_storage_ioctl |
---|
14852 | 15344 | .word rk_sftl_vendor_storage_ioctl |
---|
14853 | | - .space 116 |
---|
| 15345 | + .space 80 |
---|
14854 | 15346 | .data |
---|
14855 | 15347 | .align 2 |
---|
14856 | 15348 | .set .LANCHOR2,. + 0 |
---|
.. | .. |
---|
15502 | 15994 | .size gp_last_act_superblock, 4 |
---|
15503 | 15995 | gp_last_act_superblock: |
---|
15504 | 15996 | .space 4 |
---|
15505 | | - .section .rodata.str1.1,"aMS",%progbits,1 |
---|
15506 | | -.LC0: |
---|
15507 | | - .ascii "SFTL version: 5.0.58 20220814\000" |
---|
15508 | | -.LC1: |
---|
15509 | | - .ascii "\012%s\012\000" |
---|
15510 | | -.LC2: |
---|
15511 | | - .ascii "act blk: %x %x %x %x %x %x\012\000" |
---|
15512 | | -.LC3: |
---|
15513 | | - .ascii "buf blk: %x %x %x %x %x %x\012\000" |
---|
15514 | | -.LC4: |
---|
15515 | | - .ascii "tmp blk: %x %x %x %x %x %x\012\000" |
---|
15516 | | -.LC5: |
---|
15517 | | - .ascii "gc blk: %x %x %x %x %x %x\012\000" |
---|
15518 | | -.LC6: |
---|
15519 | | - .ascii "free blk: %x %x %x\012\000" |
---|
15520 | | -.LC7: |
---|
15521 | | - .ascii "phyBlk = 0x%x die = %d block_in_die = 0x%x 0x%8x\012" |
---|
15522 | | - .ascii "\000" |
---|
15523 | | -.LC8: |
---|
15524 | | - .ascii "\012!!!!! error @ func:%s - line:%d\012\000" |
---|
15525 | | -.LC9: |
---|
15526 | | - .ascii "FLASH INFO:\012\000" |
---|
15527 | | -.LC10: |
---|
15528 | | - .ascii "Device Capacity: %d MB\012\000" |
---|
15529 | | -.LC11: |
---|
15530 | | - .ascii "FTL INFO:\012\000" |
---|
15531 | | -.LC12: |
---|
15532 | | - .ascii "g_MaxLpn = 0x%x\012\000" |
---|
15533 | | -.LC13: |
---|
15534 | | - .ascii "g_VaildLpn = 0x%x\012\000" |
---|
15535 | | -.LC14: |
---|
15536 | | - .ascii "read_page_count = 0x%x\012\000" |
---|
15537 | | -.LC15: |
---|
15538 | | - .ascii "discard_page_count = 0x%x\012\000" |
---|
15539 | | -.LC16: |
---|
15540 | | - .ascii "write_page_count = 0x%x\012\000" |
---|
15541 | | -.LC17: |
---|
15542 | | - .ascii "cache_write_count = 0x%x\012\000" |
---|
15543 | | -.LC18: |
---|
15544 | | - .ascii "l2p_write_count = 0x%x\012\000" |
---|
15545 | | -.LC19: |
---|
15546 | | - .ascii "gc_page_count = 0x%x\012\000" |
---|
15547 | | -.LC20: |
---|
15548 | | - .ascii "totle_write = %d MB\012\000" |
---|
15549 | | -.LC21: |
---|
15550 | | - .ascii "totle_read = %d MB\012\000" |
---|
15551 | | -.LC22: |
---|
15552 | | - .ascii "GSV = 0x%x\012\000" |
---|
15553 | | -.LC23: |
---|
15554 | | - .ascii "GDV = 0x%x\012\000" |
---|
15555 | | -.LC24: |
---|
15556 | | - .ascii "bad blk num = %d\012\000" |
---|
15557 | | -.LC25: |
---|
15558 | | - .ascii "free_superblocks = 0x%x\012\000" |
---|
15559 | | -.LC26: |
---|
15560 | | - .ascii "mlc_EC = 0x%x\012\000" |
---|
15561 | | -.LC27: |
---|
15562 | | - .ascii "slc_EC = 0x%x\012\000" |
---|
15563 | | -.LC28: |
---|
15564 | | - .ascii "avg_EC = 0x%x\012\000" |
---|
15565 | | -.LC29: |
---|
15566 | | - .ascii "sys_EC = 0x%x\012\000" |
---|
15567 | | -.LC30: |
---|
15568 | | - .ascii "max_EC = 0x%x\012\000" |
---|
15569 | | -.LC31: |
---|
15570 | | - .ascii "min_EC = 0x%x\012\000" |
---|
15571 | | -.LC32: |
---|
15572 | | - .ascii "PLT = 0x%x\012\000" |
---|
15573 | | -.LC33: |
---|
15574 | | - .ascii "POT = 0x%x\012\000" |
---|
15575 | | -.LC34: |
---|
15576 | | - .ascii "MaxSector = 0x%x\012\000" |
---|
15577 | | -.LC35: |
---|
15578 | | - .ascii "init_sys_blks_pp = 0x%x\012\000" |
---|
15579 | | -.LC36: |
---|
15580 | | - .ascii "sys_blks_pp = 0x%x\012\000" |
---|
15581 | | -.LC37: |
---|
15582 | | - .ascii "free sysblock = 0x%x\012\000" |
---|
15583 | | -.LC38: |
---|
15584 | | - .ascii "data_blks_pp = 0x%x\012\000" |
---|
15585 | | -.LC39: |
---|
15586 | | - .ascii "data_op_blks_pp = 0x%x\012\000" |
---|
15587 | | -.LC40: |
---|
15588 | | - .ascii "max_data_blks = 0x%x\012\000" |
---|
15589 | | -.LC41: |
---|
15590 | | - .ascii "Sys.id = 0x%x\012\000" |
---|
15591 | | -.LC42: |
---|
15592 | | - .ascii "Bbt.id = 0x%x\012\000" |
---|
15593 | | -.LC43: |
---|
15594 | | - .ascii "ACT.page = 0x%x\012\000" |
---|
15595 | | -.LC44: |
---|
15596 | | - .ascii "ACT.plane = 0x%x\012\000" |
---|
15597 | | -.LC45: |
---|
15598 | | - .ascii "ACT.id = 0x%x\012\000" |
---|
15599 | | -.LC46: |
---|
15600 | | - .ascii "ACT.mode = 0x%x\012\000" |
---|
15601 | | -.LC47: |
---|
15602 | | - .ascii "ACT.a_pages = 0x%x\012\000" |
---|
15603 | | -.LC48: |
---|
15604 | | - .ascii "ACT VPC = 0x%x\012\000" |
---|
15605 | | -.LC49: |
---|
15606 | | - .ascii "BUF.page = 0x%x\012\000" |
---|
15607 | | -.LC50: |
---|
15608 | | - .ascii "BUF.plane = 0x%x\012\000" |
---|
15609 | | -.LC51: |
---|
15610 | | - .ascii "BUF.id = 0x%x\012\000" |
---|
15611 | | -.LC52: |
---|
15612 | | - .ascii "BUF.mode = 0x%x\012\000" |
---|
15613 | | -.LC53: |
---|
15614 | | - .ascii "BUF.a_pages = 0x%x\012\000" |
---|
15615 | | -.LC54: |
---|
15616 | | - .ascii "BUF VPC = 0x%x\012\000" |
---|
15617 | | -.LC55: |
---|
15618 | | - .ascii "TMP.page = 0x%x\012\000" |
---|
15619 | | -.LC56: |
---|
15620 | | - .ascii "TMP.plane = 0x%x\012\000" |
---|
15621 | | -.LC57: |
---|
15622 | | - .ascii "TMP.id = 0x%x\012\000" |
---|
15623 | | -.LC58: |
---|
15624 | | - .ascii "TMP.mode = 0x%x\012\000" |
---|
15625 | | -.LC59: |
---|
15626 | | - .ascii "TMP.a_pages = 0x%x\012\000" |
---|
15627 | | -.LC60: |
---|
15628 | | - .ascii "GC.page = 0x%x\012\000" |
---|
15629 | | -.LC61: |
---|
15630 | | - .ascii "GC.plane = 0x%x\012\000" |
---|
15631 | | -.LC62: |
---|
15632 | | - .ascii "GC.id = 0x%x\012\000" |
---|
15633 | | -.LC63: |
---|
15634 | | - .ascii "GC.mode = 0x%x\012\000" |
---|
15635 | | -.LC64: |
---|
15636 | | - .ascii "GC.a_pages = 0x%x\012\000" |
---|
15637 | | -.LC65: |
---|
15638 | | - .ascii "WR_CHK = %x %x %x\012\000" |
---|
15639 | | -.LC66: |
---|
15640 | | - .ascii "Read Err Cnt = 0x%x\012\000" |
---|
15641 | | -.LC67: |
---|
15642 | | - .ascii "Prog Err Cnt = 0x%x\012\000" |
---|
15643 | | -.LC68: |
---|
15644 | | - .ascii "gc_free_blk_th= 0x%x\012\000" |
---|
15645 | | -.LC69: |
---|
15646 | | - .ascii "gc_merge_free_blk_th= 0x%x\012\000" |
---|
15647 | | -.LC70: |
---|
15648 | | - .ascii "gc_skip_write_count= 0x%x\012\000" |
---|
15649 | | -.LC71: |
---|
15650 | | - .ascii "gc_blk_index= 0x%x\012\000" |
---|
15651 | | -.LC72: |
---|
15652 | | - .ascii "free min EC= 0x%x\012\000" |
---|
15653 | | -.LC73: |
---|
15654 | | - .ascii "free max EC= 0x%x\012\000" |
---|
15655 | | -.LC74: |
---|
15656 | | - .ascii "GC__SB VPC = 0x%x\012\000" |
---|
15657 | | -.LC75: |
---|
15658 | | - .ascii "%d. [0x%x]=0x%x 0x%x 0x%x\012\000" |
---|
15659 | | -.LC76: |
---|
15660 | | - .ascii "free %d. [0x%x] 0x%x 0x%x\012\000" |
---|
15661 | | -.LC77: |
---|
15662 | | - .ascii "%s\012\000" |
---|
15663 | | -.LC78: |
---|
15664 | | - .ascii "swblk %x ,avg = %x max= %x vpc= %x,ec=%x ,max ec=%x" |
---|
15665 | | - .ascii "\012\000" |
---|
15666 | | -.LC79: |
---|
15667 | | - .ascii "FtlGcRefreshBlock 0x%x\012\000" |
---|
15668 | | -.LC80: |
---|
15669 | | - .ascii "FtlGcMarkBadPhyBlk %d 0x%x\012\000" |
---|
15670 | | -.LC81: |
---|
15671 | | - .ascii "%s %p + 0x%x:\000" |
---|
15672 | | -.LC82: |
---|
15673 | | - .ascii "0x%08x,\000" |
---|
15674 | | -.LC83: |
---|
15675 | | - .ascii "0x%04x,\000" |
---|
15676 | | -.LC84: |
---|
15677 | | - .ascii "0x%02x,\000" |
---|
15678 | | -.LC85: |
---|
15679 | | - .ascii "\012\000" |
---|
15680 | | -.LC86: |
---|
15681 | | - .ascii "%s: addr: %x is in id block!!!!!!!!!!\012\000" |
---|
15682 | | -.LC87: |
---|
15683 | | - .ascii "not free: w: d:\000" |
---|
15684 | | -.LC88: |
---|
15685 | | - .ascii "not free: w: s:\000" |
---|
15686 | | -.LC89: |
---|
15687 | | - .ascii "FtlFreeSysBlkQueueOut = %x, free count = %d, error\012" |
---|
15688 | | - .ascii "\000" |
---|
15689 | | -.LC90: |
---|
15690 | | - .ascii "FtlFreeSysBlkQueueOut = %x, free count = %d\012\000" |
---|
15691 | | -.LC91: |
---|
15692 | | - .ascii "%s error allocating memory. return -1\012\000" |
---|
15693 | | -.LC92: |
---|
15694 | | - .ascii "FlashReadPages %x %x error_ecc_bits %d\012\000" |
---|
15695 | | -.LC93: |
---|
15696 | | - .ascii "data:\000" |
---|
15697 | | -.LC94: |
---|
15698 | | - .ascii "spare:\000" |
---|
15699 | | -.LC95: |
---|
15700 | | - .ascii "prog read error: = %x\012\000" |
---|
15701 | | -.LC96: |
---|
15702 | | - .ascii "prog read REFRESH: = %x\012\000" |
---|
15703 | | -.LC97: |
---|
15704 | | - .ascii "prog read s error: = %x %x %x %x %x\012\000" |
---|
15705 | | -.LC98: |
---|
15706 | | - .ascii "prog read d error: = %x %x %x %x %x\012\000" |
---|
15707 | | -.LC99: |
---|
15708 | | - .ascii "FtlBbmTblFlush id=%x,page=%x,previd=%x cnt=%d\012\000" |
---|
15709 | | -.LC100: |
---|
15710 | | - .ascii "FtlBbmTblFlush error:%x\012\000" |
---|
15711 | | -.LC101: |
---|
15712 | | - .ascii "FtlBbmTblFlush error = %x error count = %d\012\000" |
---|
15713 | | -.LC102: |
---|
15714 | | - .ascii "FtlGcFreeBadSuperBlk 0x%x\012\000" |
---|
15715 | | -.LC103: |
---|
15716 | | - .ascii "decrement_vpc_count %x = %d\012\000" |
---|
15717 | | -.LC104: |
---|
15718 | | - .ascii "FtlMapWritePage error = %x \012\000" |
---|
15719 | | -.LC105: |
---|
15720 | | - .ascii "FtlMapWritePage error = %x error count = %d\012\000" |
---|
15721 | | -.LC106: |
---|
15722 | | - .ascii "region_id = %x phyAddr = %x\012\000" |
---|
15723 | | -.LC107: |
---|
15724 | | - .ascii "map_ppn:\000" |
---|
15725 | | -.LC108: |
---|
15726 | | - .ascii "load_l2p_region refresh = %x phyAddr = %x\012\000" |
---|
15727 | | -.LC109: |
---|
15728 | | - .ascii "data prev_ppa = %x error...................\012\000" |
---|
15729 | | -.LC110: |
---|
15730 | | - .ascii "spuer block %x vpn is 0\012 \000" |
---|
15731 | | -.LC111: |
---|
15732 | | - .ascii "...%s enter...\012\000" |
---|
15733 | | -.LC112: |
---|
15734 | | - .ascii "FtlCheckVpc2 %x = %x %x\012\000" |
---|
15735 | | -.LC113: |
---|
15736 | | - .ascii "free blk vpc error %x = %x %x\012\000" |
---|
15737 | | -.LC114: |
---|
15738 | | - .ascii "ftl_scan_all_data = %x\012\000" |
---|
15739 | | -.LC115: |
---|
15740 | | - .ascii "scan lpa = %x ppa= %x\012\000" |
---|
15741 | | -.LC116: |
---|
15742 | | - .ascii "lpa = %x,addr= %x,spare= %x %x %x %x data=%x %x\012" |
---|
15743 | | - .ascii "\000" |
---|
15744 | | -.LC117: |
---|
15745 | | - .ascii "FtlGcScanTempBlk Error ID %x %x!!!!!!! \012\000" |
---|
15746 | | -.LC118: |
---|
15747 | | - .ascii "FtlVendorPartRead refresh = %x phyAddr = %x\012\000" |
---|
15748 | | -.LC119: |
---|
15749 | | - .ascii "no ect\000" |
---|
15750 | | -.LC120: |
---|
15751 | | - .ascii "FtlVpcTblFlush error = %x error count = %d\012\000" |
---|
15752 | | -.LC121: |
---|
15753 | | - .ascii "FtlCheckVpc %x = %x %x\012\000" |
---|
15754 | | -.LC122: |
---|
15755 | | - .ascii "FtlProgPages error %x = %d\012\000" |
---|
15756 | | -.LC123: |
---|
15757 | | - .ascii "Ftlwrite decrement_vpc_count %x = %d\012\000" |
---|
15758 | | -.LC124: |
---|
15759 | | - .ascii "SWL %x, FSB = %x vpc= %x,ec=%x th=%x\012\000" |
---|
15760 | | -.LC125: |
---|
15761 | | - .ascii "FtlWrite: ecc error:%x %x %x\012\000" |
---|
15762 | | -.LC126: |
---|
15763 | | - .ascii "FtlWrite: lpa error:%x %x\012\000" |
---|
15764 | | -.LC127: |
---|
15765 | | - .ascii "%s hash error this.id =%x page =%x pre_id =%x hash " |
---|
15766 | | - .ascii "=%x hash_r =%x\012\000" |
---|
15767 | | -.LC128: |
---|
15768 | | - .ascii "%s last blk_id =%x page =%x hash error hash =%x has" |
---|
15769 | | - .ascii "h_r =%x\012\000" |
---|
15770 | | -.LC129: |
---|
15771 | | - .ascii "%s scan blk_id =%x page =%x hash error hash =%x has" |
---|
15772 | | - .ascii "h_r =%x\012\000" |
---|
15773 | | -.LC130: |
---|
15774 | | - .ascii "write_idblock %x %x\012\000" |
---|
15775 | | -.LC131: |
---|
15776 | | - .ascii "write_idblock fail! %x %x %x %x\012\000" |
---|
15777 | | -.LC132: |
---|
15778 | | - .ascii "%s idb buffer alloc fail\012\000" |
---|
15779 | | -.LC133: |
---|
15780 | | - .ascii "copy_from_user error %d %p %p\012\000" |
---|
15781 | | -.LC134: |
---|
15782 | | - .ascii "vendor_storage\000" |
---|
| 15997 | + .ident "GCC: (GNU Toolchain for the A-profile Architecture 10.3-2021.07 (arm-10.29)) 10.3.1 20210621" |
---|
| 15998 | + .section .note.GNU-stack,"",%progbits |
---|