.. | .. |
---|
1 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
---|
2 | 2 | |
---|
3 | | -/* Copyright (c) 2018 Rockchip Electronics Co. Ltd. |
---|
| 3 | +/* Copyright (c) 2018-2021 Rockchip Electronics Co. Ltd. |
---|
4 | 4 | * date: 2022-08-15 |
---|
5 | 5 | */ |
---|
6 | 6 | .arch armv8-a |
---|
7 | 7 | .file "rk_sftl.c" |
---|
8 | 8 | .text |
---|
9 | 9 | .align 2 |
---|
| 10 | + .type uaccess_disable_not_uao, %function |
---|
| 11 | +uaccess_disable_not_uao: |
---|
| 12 | + hint 25 // paciasp |
---|
| 13 | +#APP |
---|
| 14 | +// 271 "./arch/arm64/include/asm/uaccess.h" 1 |
---|
| 15 | + .if 1 == 1 |
---|
| 16 | +661: |
---|
| 17 | + nop |
---|
| 18 | +662: |
---|
| 19 | +.pushsection .altinstructions,"a" |
---|
| 20 | + .word 661b - . |
---|
| 21 | + .word 663f - . |
---|
| 22 | + .hword 10 |
---|
| 23 | + .byte 662b-661b |
---|
| 24 | + .byte 664f-663f |
---|
| 25 | +.popsection |
---|
| 26 | +.subsection 1 |
---|
| 27 | +663: |
---|
| 28 | + .inst (0xd500401f | ((0) << 16 | (4) << 5) | ((!!1) << 8)) |
---|
| 29 | + |
---|
| 30 | +664: |
---|
| 31 | + .org . - (664b-663b) + (662b-661b) |
---|
| 32 | + .org . - (662b-661b) + (664b-663b) |
---|
| 33 | + .previous |
---|
| 34 | +.endif |
---|
| 35 | + |
---|
| 36 | +// 0 "" 2 |
---|
| 37 | +#NO_APP |
---|
| 38 | + hint 29 // autiasp |
---|
| 39 | + ret |
---|
| 40 | + .size uaccess_disable_not_uao, .-uaccess_disable_not_uao |
---|
| 41 | + .align 2 |
---|
| 42 | + .type uaccess_enable_not_uao, %function |
---|
| 43 | +uaccess_enable_not_uao: |
---|
| 44 | + hint 25 // paciasp |
---|
| 45 | +#APP |
---|
| 46 | +// 276 "./arch/arm64/include/asm/uaccess.h" 1 |
---|
| 47 | + .if 1 == 1 |
---|
| 48 | +661: |
---|
| 49 | + nop |
---|
| 50 | +662: |
---|
| 51 | +.pushsection .altinstructions,"a" |
---|
| 52 | + .word 661b - . |
---|
| 53 | + .word 663f - . |
---|
| 54 | + .hword 10 |
---|
| 55 | + .byte 662b-661b |
---|
| 56 | + .byte 664f-663f |
---|
| 57 | +.popsection |
---|
| 58 | +.subsection 1 |
---|
| 59 | +663: |
---|
| 60 | + .inst (0xd500401f | ((0) << 16 | (4) << 5) | ((!!0) << 8)) |
---|
| 61 | + |
---|
| 62 | +664: |
---|
| 63 | + .org . - (664b-663b) + (662b-661b) |
---|
| 64 | + .org . - (662b-661b) + (664b-663b) |
---|
| 65 | + .previous |
---|
| 66 | +.endif |
---|
| 67 | + |
---|
| 68 | +// 0 "" 2 |
---|
| 69 | +#NO_APP |
---|
| 70 | + hint 29 // autiasp |
---|
| 71 | + ret |
---|
| 72 | + .size uaccess_enable_not_uao, .-uaccess_enable_not_uao |
---|
| 73 | + .section .rodata.str1.1,"aMS",@progbits,1 |
---|
| 74 | +.LC0: |
---|
| 75 | + .string "Buffer overflow detected (%d < %lu)!\n" |
---|
| 76 | + .text |
---|
| 77 | + .align 2 |
---|
| 78 | + .type copy_overflow, %function |
---|
| 79 | +copy_overflow: |
---|
| 80 | + hint 25 // paciasp |
---|
| 81 | + stp x29, x30, [sp, -16]! |
---|
| 82 | + mov x2, x1 |
---|
| 83 | + mov x29, sp |
---|
| 84 | + mov w1, w0 |
---|
| 85 | + adrp x0, .LC0 |
---|
| 86 | + add x0, x0, :lo12:.LC0 |
---|
| 87 | + bl __warn_printk |
---|
| 88 | +#APP |
---|
| 89 | +// 147 "./include/linux/thread_info.h" 1 |
---|
| 90 | + .pushsection __bug_table,"aw"; .align 2; 14470: .long 14471f - 14470b; .pushsection .rodata.str,"aMS",@progbits,1; 14472: .string "include/linux/thread_info.h"; .popsection; .long 14472b - 14470b; .short 147; .short (1 << 0)|((1 << 3) | ((9) << 8)); .popsection; 14471: brk 0x800 |
---|
| 91 | +// 0 "" 2 |
---|
| 92 | +#NO_APP |
---|
| 93 | + ldp x29, x30, [sp], 16 |
---|
| 94 | + hint 29 // autiasp |
---|
| 95 | + ret |
---|
| 96 | + .size copy_overflow, .-copy_overflow |
---|
| 97 | + .align 2 |
---|
| 98 | + .type __range_ok, %function |
---|
| 99 | +__range_ok: |
---|
| 100 | +#APP |
---|
| 101 | +// 19 "./arch/arm64/include/asm/current.h" 1 |
---|
| 102 | + mrs x3, sp_el0 |
---|
| 103 | +// 0 "" 2 |
---|
| 104 | +#NO_APP |
---|
| 105 | + ldr w4, [x3, 44] |
---|
| 106 | + hint 25 // paciasp |
---|
| 107 | + ldr x2, [x3, 8] |
---|
| 108 | + tbnz x4, 21, .L8 |
---|
| 109 | + ldr x3, [x3] |
---|
| 110 | + tst w3, 67108864 |
---|
| 111 | + beq .L9 |
---|
| 112 | +.L8: |
---|
| 113 | + sbfx x3, x0, 0, 56 |
---|
| 114 | + and x0, x0, x3 |
---|
| 115 | +.L9: |
---|
| 116 | +#APP |
---|
| 117 | +// 79 "./arch/arm64/include/asm/uaccess.h" 1 |
---|
| 118 | + adds x0, x0, x1 |
---|
| 119 | + csel x2, xzr, x2, hi |
---|
| 120 | + csinv x0, x0, xzr, cc |
---|
| 121 | + sbcs xzr, x0, x2 |
---|
| 122 | + cset x0, ls |
---|
| 123 | + |
---|
| 124 | +// 0 "" 2 |
---|
| 125 | +#NO_APP |
---|
| 126 | + hint 29 // autiasp |
---|
| 127 | + ret |
---|
| 128 | + .size __range_ok, .-__range_ok |
---|
| 129 | + .align 2 |
---|
10 | 130 | .type l2p_addr_tran.isra.0, %function |
---|
11 | 131 | l2p_addr_tran.isra.0: |
---|
| 132 | + .section __patchable_function_entries,"aw",@progbits |
---|
| 133 | + .align 3 |
---|
| 134 | + .8byte .LPFE1 |
---|
| 135 | + .text |
---|
| 136 | +.LPFE1: |
---|
| 137 | + nop |
---|
| 138 | + nop |
---|
12 | 139 | adrp x4, .LANCHOR0 |
---|
13 | 140 | add x4, x4, :lo12:.LANCHOR0 |
---|
| 141 | + hint 25 // paciasp |
---|
14 | 142 | ldrh w3, [x4, 8] |
---|
15 | | - ldrh w6, [x4, 10] |
---|
| 143 | + ldrh w5, [x4, 10] |
---|
16 | 144 | ldrh w4, [x4, 14] |
---|
17 | 145 | cmp w4, 4 |
---|
18 | | - bne .L2 |
---|
| 146 | + bne .L15 |
---|
19 | 147 | lsr w3, w3, 1 |
---|
20 | | - ubfiz w6, w6, 1, 15 |
---|
21 | | -.L2: |
---|
22 | | - lsr w5, w0, 10 |
---|
| 148 | + ubfiz w5, w5, 1, 15 |
---|
| 149 | +.L15: |
---|
| 150 | + ubfx x4, x0, 10, 16 |
---|
| 151 | + ubfx x6, x0, 10, 16 |
---|
23 | 152 | and w0, w0, 1023 |
---|
24 | | - and w4, w5, 65535 |
---|
25 | | - and w5, w5, 65535 |
---|
| 153 | + hint 29 // autiasp |
---|
26 | 154 | udiv w4, w4, w3 |
---|
27 | | - msub w3, w3, w4, w5 |
---|
28 | | - madd w3, w3, w6, w0 |
---|
29 | | - mov w0, 0 |
---|
| 155 | + msub w3, w3, w4, w6 |
---|
| 156 | + madd w3, w3, w5, w0 |
---|
30 | 157 | str w3, [x1] |
---|
31 | 158 | str w4, [x2] |
---|
32 | 159 | ret |
---|
33 | 160 | .size l2p_addr_tran.isra.0, .-l2p_addr_tran.isra.0 |
---|
34 | 161 | .align 2 |
---|
| 162 | + .type _copy_from_user, %function |
---|
| 163 | +_copy_from_user: |
---|
| 164 | + hint 25 // paciasp |
---|
| 165 | + stp x29, x30, [sp, -48]! |
---|
| 166 | + mov x29, sp |
---|
| 167 | + stp x19, x20, [sp, 16] |
---|
| 168 | + mov x20, x1 |
---|
| 169 | + mov x19, x2 |
---|
| 170 | + mov x1, x2 |
---|
| 171 | + str x21, [sp, 32] |
---|
| 172 | + mov x21, x0 |
---|
| 173 | + mov x0, x20 |
---|
| 174 | + bl __range_ok |
---|
| 175 | + cbz x0, .L20 |
---|
| 176 | + bl uaccess_enable_not_uao |
---|
| 177 | + sbfx x0, x20, 0, 56 |
---|
| 178 | +#APP |
---|
| 179 | +// 19 "./arch/arm64/include/asm/current.h" 1 |
---|
| 180 | + mrs x1, sp_el0 |
---|
| 181 | +// 0 "" 2 |
---|
| 182 | +#NO_APP |
---|
| 183 | + and x0, x20, x0 |
---|
| 184 | + ldr x2, [x1, 8] |
---|
| 185 | +#APP |
---|
| 186 | +// 289 "./arch/arm64/include/asm/uaccess.h" 1 |
---|
| 187 | + bics xzr, x0, x2 |
---|
| 188 | + csel x1, x20, xzr, eq |
---|
| 189 | + |
---|
| 190 | +// 0 "" 2 |
---|
| 191 | +// 297 "./arch/arm64/include/asm/uaccess.h" 1 |
---|
| 192 | + hint #20 |
---|
| 193 | +// 0 "" 2 |
---|
| 194 | +#NO_APP |
---|
| 195 | + mov x2, x19 |
---|
| 196 | + mov x0, x21 |
---|
| 197 | + bl __arch_copy_from_user |
---|
| 198 | + mov x20, x0 |
---|
| 199 | + bl uaccess_disable_not_uao |
---|
| 200 | + cbz x20, .L17 |
---|
| 201 | +.L18: |
---|
| 202 | + sub x19, x19, x20 |
---|
| 203 | + mov x2, x20 |
---|
| 204 | + add x0, x21, x19 |
---|
| 205 | + mov w1, 0 |
---|
| 206 | + bl memset |
---|
| 207 | +.L17: |
---|
| 208 | + mov x0, x20 |
---|
| 209 | + ldp x19, x20, [sp, 16] |
---|
| 210 | + ldr x21, [sp, 32] |
---|
| 211 | + ldp x29, x30, [sp], 48 |
---|
| 212 | + hint 29 // autiasp |
---|
| 213 | + ret |
---|
| 214 | +.L20: |
---|
| 215 | + mov x20, x19 |
---|
| 216 | + b .L18 |
---|
| 217 | + .size _copy_from_user, .-_copy_from_user |
---|
| 218 | + .section .rodata.str1.1 |
---|
| 219 | +.LC1: |
---|
| 220 | + .string "SFTL version: 5.0.58 20220814" |
---|
| 221 | +.LC2: |
---|
| 222 | + .string "\n%s\n" |
---|
| 223 | +.LC3: |
---|
| 224 | + .string "act blk: %x %x %x %x %x %x\n" |
---|
| 225 | +.LC4: |
---|
| 226 | + .string "buf blk: %x %x %x %x %x %x\n" |
---|
| 227 | +.LC5: |
---|
| 228 | + .string "tmp blk: %x %x %x %x %x %x\n" |
---|
| 229 | +.LC6: |
---|
| 230 | + .string "gc blk: %x %x %x %x %x %x\n" |
---|
| 231 | +.LC7: |
---|
| 232 | + .string "free blk: %x %x %x\n" |
---|
| 233 | + .text |
---|
| 234 | + .align 2 |
---|
35 | 235 | .global ftl_print_sblk_info |
---|
36 | 236 | .type ftl_print_sblk_info, %function |
---|
37 | 237 | ftl_print_sblk_info: |
---|
| 238 | + hint 34 // bti c |
---|
| 239 | + .section __patchable_function_entries |
---|
| 240 | + .align 3 |
---|
| 241 | + .8byte .LPFE2 |
---|
| 242 | + .text |
---|
| 243 | +.LPFE2: |
---|
| 244 | + nop |
---|
| 245 | + nop |
---|
| 246 | + hint 25 // paciasp |
---|
38 | 247 | stp x29, x30, [sp, -32]! |
---|
39 | | - adrp x1, .LC0 |
---|
40 | | - adrp x0, .LC1 |
---|
41 | | - add x1, x1, :lo12:.LC0 |
---|
42 | | - add x29, sp, 0 |
---|
| 248 | + adrp x1, .LC1 |
---|
| 249 | + mov x29, sp |
---|
43 | 250 | str x19, [sp, 16] |
---|
44 | 251 | adrp x19, .LANCHOR0 |
---|
45 | 252 | add x19, x19, :lo12:.LANCHOR0 |
---|
46 | | - add x0, x0, :lo12:.LC1 |
---|
47 | | - bl sftl_printk |
---|
| 253 | + add x1, x1, :lo12:.LC1 |
---|
48 | 254 | adrp x0, .LC2 |
---|
49 | 255 | add x0, x0, :lo12:.LC2 |
---|
| 256 | + bl sftl_printk |
---|
50 | 257 | ldrh w1, [x19, 24] |
---|
51 | | - ldr x3, [x19, 72] |
---|
| 258 | + ldr x0, [x19, 72] |
---|
52 | 259 | ldrh w5, [x19, 28] |
---|
53 | | - ubfiz x2, x1, 1, 16 |
---|
54 | 260 | ldrb w4, [x19, 32] |
---|
55 | | - ldrh w6, [x3, x2] |
---|
| 261 | + ldrh w6, [x0, x1, lsl 1] |
---|
| 262 | + adrp x0, .LC3 |
---|
56 | 263 | ldrb w3, [x19, 30] |
---|
| 264 | + add x0, x0, :lo12:.LC3 |
---|
57 | 265 | ldrh w2, [x19, 26] |
---|
| 266 | + ldrh w1, [x19, 24] |
---|
58 | 267 | bl sftl_printk |
---|
59 | 268 | ldrh w1, [x19, 80] |
---|
60 | | - adrp x0, .LC3 |
---|
61 | | - ldr x3, [x19, 72] |
---|
62 | | - add x0, x0, :lo12:.LC3 |
---|
| 269 | + ldr x0, [x19, 72] |
---|
63 | 270 | ldrh w5, [x19, 84] |
---|
64 | | - ubfiz x2, x1, 1, 16 |
---|
65 | 271 | ldrb w4, [x19, 88] |
---|
66 | | - ldrh w6, [x3, x2] |
---|
| 272 | + ldrh w6, [x0, x1, lsl 1] |
---|
| 273 | + adrp x0, .LC4 |
---|
67 | 274 | ldrb w3, [x19, 86] |
---|
| 275 | + add x0, x0, :lo12:.LC4 |
---|
68 | 276 | ldrh w2, [x19, 82] |
---|
| 277 | + ldrh w1, [x19, 80] |
---|
69 | 278 | bl sftl_printk |
---|
70 | 279 | ldrh w1, [x19, 128] |
---|
71 | | - adrp x0, .LC4 |
---|
72 | | - ldr x3, [x19, 72] |
---|
73 | | - add x0, x0, :lo12:.LC4 |
---|
| 280 | + ldr x0, [x19, 72] |
---|
74 | 281 | ldrh w5, [x19, 132] |
---|
75 | | - ubfiz x2, x1, 1, 16 |
---|
76 | 282 | ldrb w4, [x19, 136] |
---|
77 | | - ldrh w6, [x3, x2] |
---|
| 283 | + ldrh w6, [x0, x1, lsl 1] |
---|
| 284 | + adrp x0, .LC5 |
---|
78 | 285 | ldrb w3, [x19, 134] |
---|
| 286 | + add x0, x0, :lo12:.LC5 |
---|
79 | 287 | ldrh w2, [x19, 130] |
---|
| 288 | + ldrh w1, [x19, 128] |
---|
80 | 289 | bl sftl_printk |
---|
81 | 290 | ldrh w1, [x19, 176] |
---|
82 | | - adrp x0, .LC5 |
---|
83 | | - ldr x3, [x19, 72] |
---|
84 | | - add x0, x0, :lo12:.LC5 |
---|
| 291 | + ldr x0, [x19, 72] |
---|
85 | 292 | ldrh w5, [x19, 180] |
---|
86 | | - ubfiz x2, x1, 1, 16 |
---|
87 | 293 | ldrb w4, [x19, 184] |
---|
88 | | - ldrh w6, [x3, x2] |
---|
| 294 | + ldrh w6, [x0, x1, lsl 1] |
---|
| 295 | + adrp x0, .LC6 |
---|
89 | 296 | ldrb w3, [x19, 182] |
---|
| 297 | + add x0, x0, :lo12:.LC6 |
---|
90 | 298 | ldrh w2, [x19, 178] |
---|
| 299 | + ldrh w1, [x19, 176] |
---|
91 | 300 | bl sftl_printk |
---|
92 | 301 | ldrh w3, [x19, 224] |
---|
93 | | - adrp x0, .LC6 |
---|
| 302 | + adrp x0, .LC7 |
---|
94 | 303 | ldrh w2, [x19, 226] |
---|
95 | | - add x0, x0, :lo12:.LC6 |
---|
| 304 | + add x0, x0, :lo12:.LC7 |
---|
96 | 305 | ldrh w1, [x19, 228] |
---|
97 | 306 | bl sftl_printk |
---|
98 | 307 | ldr x19, [sp, 16] |
---|
99 | 308 | ldp x29, x30, [sp], 32 |
---|
| 309 | + hint 29 // autiasp |
---|
100 | 310 | ret |
---|
101 | 311 | .size ftl_print_sblk_info, .-ftl_print_sblk_info |
---|
102 | 312 | .align 2 |
---|
103 | 313 | .global Ftl_log2 |
---|
104 | 314 | .type Ftl_log2, %function |
---|
105 | 315 | Ftl_log2: |
---|
| 316 | + hint 34 // bti c |
---|
| 317 | + .section __patchable_function_entries |
---|
| 318 | + .align 3 |
---|
| 319 | + .8byte .LPFE3 |
---|
| 320 | + .text |
---|
| 321 | +.LPFE3: |
---|
| 322 | + nop |
---|
| 323 | + nop |
---|
106 | 324 | mov w2, 1 |
---|
107 | 325 | mov w1, 0 |
---|
108 | | -.L6: |
---|
| 326 | + hint 25 // paciasp |
---|
| 327 | +.L28: |
---|
109 | 328 | cmp w2, w0 |
---|
110 | | - bls .L7 |
---|
| 329 | + bls .L29 |
---|
111 | 330 | sub w0, w1, #1 |
---|
| 331 | + hint 29 // autiasp |
---|
112 | 332 | ret |
---|
113 | | -.L7: |
---|
| 333 | +.L29: |
---|
114 | 334 | add w1, w1, 1 |
---|
115 | 335 | lsl w2, w2, 1 |
---|
116 | 336 | and w1, w1, 65535 |
---|
117 | | - b .L6 |
---|
| 337 | + b .L28 |
---|
118 | 338 | .size Ftl_log2, .-Ftl_log2 |
---|
119 | 339 | .align 2 |
---|
120 | 340 | .global FtlPrintInfo |
---|
121 | 341 | .type FtlPrintInfo, %function |
---|
122 | 342 | FtlPrintInfo: |
---|
| 343 | + hint 34 // bti c |
---|
| 344 | + .section __patchable_function_entries |
---|
| 345 | + .align 3 |
---|
| 346 | + .8byte .LPFE4 |
---|
| 347 | + .text |
---|
| 348 | +.LPFE4: |
---|
| 349 | + nop |
---|
| 350 | + nop |
---|
| 351 | + hint 25 // paciasp |
---|
| 352 | + hint 29 // autiasp |
---|
123 | 353 | ret |
---|
124 | 354 | .size FtlPrintInfo, .-FtlPrintInfo |
---|
125 | 355 | .align 2 |
---|
126 | 356 | .global FtlSysBlkNumInit |
---|
127 | 357 | .type FtlSysBlkNumInit, %function |
---|
128 | 358 | FtlSysBlkNumInit: |
---|
| 359 | + hint 34 // bti c |
---|
| 360 | + .section __patchable_function_entries |
---|
| 361 | + .align 3 |
---|
| 362 | + .8byte .LPFE5 |
---|
| 363 | + .text |
---|
| 364 | +.LPFE5: |
---|
| 365 | + nop |
---|
| 366 | + nop |
---|
129 | 367 | and w0, w0, 65535 |
---|
130 | 368 | mov w1, 24 |
---|
131 | 369 | cmp w0, 24 |
---|
| 370 | + hint 25 // paciasp |
---|
132 | 371 | csel w0, w0, w1, cs |
---|
133 | | - adrp x1, .LANCHOR0 |
---|
134 | | - add x1, x1, :lo12:.LANCHOR0 |
---|
135 | | - and w0, w0, 65535 |
---|
136 | | - ldrh w2, [x1, 236] |
---|
137 | | - ldrh w3, [x1, 246] |
---|
138 | | - str w0, [x1, 232] |
---|
139 | | - mul w2, w2, w0 |
---|
140 | | - sub w0, w3, w0 |
---|
141 | | - strh w0, [x1, 244] |
---|
142 | | - ldr w0, [x1, 252] |
---|
143 | | - str w2, [x1, 240] |
---|
144 | | - sub w2, w0, w2 |
---|
| 372 | + hint 29 // autiasp |
---|
| 373 | + and w1, w0, 65535 |
---|
| 374 | + adrp x0, .LANCHOR0 |
---|
| 375 | + add x0, x0, :lo12:.LANCHOR0 |
---|
| 376 | + ldrh w2, [x0, 236] |
---|
| 377 | + ldrh w3, [x0, 246] |
---|
| 378 | + str w1, [x0, 232] |
---|
| 379 | + mul w2, w2, w1 |
---|
| 380 | + sub w1, w3, w1 |
---|
| 381 | + strh w1, [x0, 244] |
---|
| 382 | + ldr w1, [x0, 252] |
---|
| 383 | + str w2, [x0, 240] |
---|
| 384 | + sub w2, w1, w2 |
---|
| 385 | + str w2, [x0, 248] |
---|
145 | 386 | mov w0, 0 |
---|
146 | | - str w2, [x1, 248] |
---|
147 | 387 | ret |
---|
148 | 388 | .size FtlSysBlkNumInit, .-FtlSysBlkNumInit |
---|
149 | 389 | .align 2 |
---|
150 | 390 | .global FtlConstantsInit |
---|
151 | 391 | .type FtlConstantsInit, %function |
---|
152 | 392 | FtlConstantsInit: |
---|
153 | | - stp x29, x30, [sp, -16]! |
---|
154 | | - mov x7, x0 |
---|
155 | | - adrp x4, .LANCHOR0 |
---|
156 | | - add x29, sp, 0 |
---|
157 | | - ldrh w2, [x0] |
---|
158 | | - add x0, x4, :lo12:.LANCHOR0 |
---|
159 | | - ldrh w3, [x7, 14] |
---|
160 | | - ldrh w6, [x7, 2] |
---|
161 | | - ldrh w5, [x7, 4] |
---|
162 | | - cmp w3, 4 |
---|
163 | | - ldrh w1, [x7, 6] |
---|
164 | | - strh w2, [x0, 256] |
---|
165 | | - strh w6, [x0, 258] |
---|
166 | | - strh w5, [x0, 260] |
---|
167 | | - strh w1, [x0, 246] |
---|
168 | | - strh w3, [x0, 262] |
---|
169 | | - bne .L11 |
---|
170 | | - lsr w1, w1, 1 |
---|
171 | | - strh w1, [x0, 246] |
---|
172 | | - mov w1, 8 |
---|
173 | | - strh w1, [x0, 262] |
---|
174 | | -.L12: |
---|
175 | | - add x1, x4, :lo12:.LANCHOR0 |
---|
176 | | - mov x0, 0 |
---|
177 | | - add x3, x1, 264 |
---|
178 | | -.L13: |
---|
179 | | - strb w0, [x0, x3] |
---|
180 | | - add x0, x0, 1 |
---|
181 | | - cmp x0, 32 |
---|
182 | | - bne .L13 |
---|
| 393 | + hint 34 // bti c |
---|
| 394 | + .section __patchable_function_entries |
---|
| 395 | + .align 3 |
---|
| 396 | + .8byte .LPFE6 |
---|
| 397 | + .text |
---|
| 398 | +.LPFE6: |
---|
| 399 | + nop |
---|
| 400 | + nop |
---|
| 401 | + hint 25 // paciasp |
---|
| 402 | + stp x29, x30, [sp, -80]! |
---|
| 403 | + mov x29, sp |
---|
| 404 | + stp x19, x20, [sp, 16] |
---|
| 405 | + adrp x19, .LANCHOR0 |
---|
| 406 | + add x19, x19, :lo12:.LANCHOR0 |
---|
| 407 | + stp x21, x22, [sp, 32] |
---|
| 408 | + mov x22, x0 |
---|
| 409 | + stp x23, x24, [sp, 48] |
---|
| 410 | + ldrh w2, [x0, 14] |
---|
| 411 | + str x25, [sp, 64] |
---|
| 412 | + ldrh w1, [x0] |
---|
| 413 | + ldrh w20, [x0, 2] |
---|
| 414 | + ldrh w3, [x0, 4] |
---|
| 415 | + ldrh w0, [x0, 6] |
---|
| 416 | + strh w0, [x19, 246] |
---|
| 417 | + strh w1, [x19, 256] |
---|
| 418 | + strh w20, [x19, 258] |
---|
| 419 | + strh w3, [x19, 260] |
---|
| 420 | + strh w2, [x19, 262] |
---|
| 421 | + cmp w2, 4 |
---|
| 422 | + bne .L36 |
---|
| 423 | + lsr w0, w0, 1 |
---|
| 424 | + strh w0, [x19, 246] |
---|
| 425 | + mov w0, 8 |
---|
| 426 | + strh w0, [x19, 262] |
---|
| 427 | +.L37: |
---|
| 428 | + add x0, x19, 264 |
---|
| 429 | + mov x24, 0 |
---|
| 430 | +.L38: |
---|
| 431 | + strb w24, [x24, x0] |
---|
| 432 | + add x24, x24, 1 |
---|
| 433 | + cmp x24, 32 |
---|
| 434 | + bne .L38 |
---|
| 435 | + cmp w1, 1 |
---|
183 | 436 | mov w0, 5 |
---|
184 | | - strh wzr, [x1, 298] |
---|
185 | | - strh w0, [x1, 296] |
---|
186 | | - cmp w2, 1 |
---|
187 | | - bne .L14 |
---|
188 | | - strh w2, [x1, 296] |
---|
189 | | -.L14: |
---|
190 | | - add x3, x4, :lo12:.LANCHOR0 |
---|
| 437 | + csel w0, w0, w1, ne |
---|
| 438 | + strh w0, [x19, 296] |
---|
191 | 439 | mov w0, 640 |
---|
192 | | - strh w0, [x3, 300] |
---|
193 | | - ldrh w0, [x3, 260] |
---|
194 | | - ldrh w5, [x3, 246] |
---|
195 | | - mul w6, w6, w0 |
---|
196 | | - mul w0, w0, w5 |
---|
197 | | - and w6, w6, 65535 |
---|
198 | | - strh w6, [x3, 236] |
---|
| 440 | + ldrh w21, [x19, 246] |
---|
| 441 | + strh w0, [x19, 300] |
---|
| 442 | + ldrh w0, [x19, 260] |
---|
| 443 | + strh wzr, [x19, 298] |
---|
| 444 | + mul w20, w20, w0 |
---|
| 445 | + mul w0, w0, w21 |
---|
| 446 | + and w20, w20, 65535 |
---|
| 447 | + strh w20, [x19, 236] |
---|
199 | 448 | and w0, w0, 65535 |
---|
200 | | - strh w0, [x3, 302] |
---|
| 449 | + strh w0, [x19, 302] |
---|
201 | 450 | bl Ftl_log2 |
---|
202 | | - ldrh w9, [x7, 12] |
---|
203 | | - ldrh w8, [x3, 262] |
---|
204 | | - strh w0, [x3, 304] |
---|
205 | | - strh w9, [x3, 306] |
---|
206 | | - mul w0, w6, w9 |
---|
207 | | - strh w9, [x3, 308] |
---|
208 | | - strh w0, [x3, 310] |
---|
209 | | - mov w0, w8 |
---|
| 451 | + ldrh w25, [x22, 12] |
---|
| 452 | + ldrh w23, [x19, 262] |
---|
| 453 | + strh w0, [x19, 304] |
---|
| 454 | + strh w25, [x19, 306] |
---|
| 455 | + mul w0, w20, w25 |
---|
| 456 | + strh w25, [x19, 308] |
---|
| 457 | + strh w0, [x19, 310] |
---|
| 458 | + mov w0, w23 |
---|
210 | 459 | bl Ftl_log2 |
---|
211 | | - and w2, w0, 65535 |
---|
212 | | - strh w0, [x3, 312] |
---|
213 | | - ubfiz w0, w8, 9, 7 |
---|
214 | | - strh w0, [x3, 314] |
---|
215 | | - ubfx w0, w0, 8, 8 |
---|
216 | | - strh w0, [x3, 316] |
---|
217 | | - ldrh w0, [x7, 20] |
---|
218 | | - strh w0, [x3, 318] |
---|
219 | | - mul w0, w6, w5 |
---|
220 | | - str w0, [x3, 252] |
---|
221 | | - mul w0, w0, w8 |
---|
222 | | - mul w8, w8, w9 |
---|
223 | | - mul w0, w0, w9 |
---|
224 | | - asr w0, w0, 11 |
---|
225 | | - str w0, [x3, 320] |
---|
226 | | - mov w0, 5120 |
---|
227 | | - sdiv w0, w0, w8 |
---|
228 | | - and w0, w0, 65535 |
---|
229 | | - cmp w0, 4 |
---|
230 | | - bls .L15 |
---|
231 | | -.L21: |
---|
232 | | - add x1, x4, :lo12:.LANCHOR0 |
---|
233 | | - strh w0, [x3, 324] |
---|
234 | | - mov w0, 640 |
---|
235 | | - lsl w5, w5, 6 |
---|
236 | | - asr w0, w0, w2 |
---|
237 | | - add w2, w2, 9 |
---|
238 | | - add w0, w0, 2 |
---|
239 | | - strh w0, [x1, 326] |
---|
240 | | - asr w5, w5, w2 |
---|
241 | | - strh w5, [x1, 328] |
---|
242 | | - and w5, w5, 65535 |
---|
243 | | - cmp w6, 1 |
---|
244 | | - mul w0, w5, w6 |
---|
245 | | - add w5, w5, 8 |
---|
246 | | - str w0, [x1, 332] |
---|
247 | | - ldrh w0, [x1, 324] |
---|
248 | | - udiv w0, w0, w6 |
---|
249 | | - add w5, w0, w5 |
---|
250 | | - beq .L17 |
---|
251 | | -.L22: |
---|
252 | | - add x4, x4, :lo12:.LANCHOR0 |
---|
253 | | - str w5, [x1, 232] |
---|
254 | | - ldrh w0, [x4, 232] |
---|
| 460 | + and w3, w0, 65535 |
---|
| 461 | + ubfiz w1, w23, 9, 7 |
---|
| 462 | + strh w1, [x19, 314] |
---|
| 463 | + and w1, w23, 127 |
---|
| 464 | + mul w2, w20, w21 |
---|
| 465 | + mul w23, w23, w25 |
---|
| 466 | + str w2, [x19, 252] |
---|
| 467 | + ubfiz w1, w1, 1, 15 |
---|
| 468 | + strh w1, [x19, 316] |
---|
| 469 | + ldrh w1, [x22, 20] |
---|
| 470 | + lsl w21, w21, 6 |
---|
| 471 | + strh w1, [x19, 318] |
---|
| 472 | + mov w1, 5120 |
---|
| 473 | + mul w2, w2, w23 |
---|
| 474 | + strh w0, [x19, 312] |
---|
| 475 | + sdiv w1, w1, w23 |
---|
| 476 | + asr w2, w2, 11 |
---|
| 477 | + str w2, [x19, 320] |
---|
| 478 | + mov w2, 4 |
---|
| 479 | + cmp w1, 4 |
---|
| 480 | + csel w1, w1, w2, gt |
---|
| 481 | + mov w2, 640 |
---|
| 482 | + asr w2, w2, w0 |
---|
| 483 | + add w0, w3, 9 |
---|
| 484 | + cmp w20, 1 |
---|
| 485 | + add w2, w2, 2 |
---|
| 486 | + asr w0, w21, w0 |
---|
| 487 | + and w21, w0, 65535 |
---|
| 488 | + strh w0, [x19, 328] |
---|
| 489 | + strh w1, [x19, 324] |
---|
| 490 | + mul w0, w20, w21 |
---|
| 491 | + strh w2, [x19, 326] |
---|
| 492 | + str w0, [x19, 332] |
---|
| 493 | + and w0, w1, 65535 |
---|
| 494 | + udiv w0, w0, w20 |
---|
| 495 | + add w0, w0, w21 |
---|
| 496 | + add w1, w0, 12 |
---|
| 497 | + add w0, w0, 8 |
---|
| 498 | + csel w0, w0, w1, ne |
---|
| 499 | + str w0, [x19, 232] |
---|
255 | 500 | bl FtlSysBlkNumInit |
---|
256 | | - ldr w0, [x4, 232] |
---|
257 | | - str w0, [x4, 336] |
---|
258 | | - ldr w0, [x4, 248] |
---|
259 | | - ldrh w1, [x4, 306] |
---|
260 | | - str wzr, [x4, 344] |
---|
261 | | - lsl w0, w0, 2 |
---|
| 501 | + strh w24, [x19, 342] |
---|
| 502 | + ldr w0, [x19, 232] |
---|
| 503 | + ldr w1, [x19, 248] |
---|
| 504 | + str w0, [x19, 336] |
---|
| 505 | + ldrh w0, [x19, 306] |
---|
| 506 | + str wzr, [x19, 344] |
---|
| 507 | + ldp x21, x22, [sp, 32] |
---|
262 | 508 | mul w0, w0, w1 |
---|
263 | | - ldrh w1, [x4, 312] |
---|
| 509 | + ldrh w1, [x19, 312] |
---|
| 510 | + ldp x23, x24, [sp, 48] |
---|
264 | 511 | add w1, w1, 9 |
---|
| 512 | + lsl w0, w0, 2 |
---|
| 513 | + ldr x25, [sp, 64] |
---|
265 | 514 | lsr w0, w0, w1 |
---|
266 | 515 | add w0, w0, 2 |
---|
267 | | - strh w0, [x4, 340] |
---|
268 | | - mov w0, 32 |
---|
269 | | - strh w0, [x4, 342] |
---|
270 | | - ldrh w0, [x4, 324] |
---|
| 516 | + strh w0, [x19, 340] |
---|
| 517 | + ldrh w0, [x19, 324] |
---|
271 | 518 | add w0, w0, 3 |
---|
272 | | - strh w0, [x4, 324] |
---|
273 | | - ldr w0, [x4, 332] |
---|
| 519 | + strh w0, [x19, 324] |
---|
| 520 | + ldr w0, [x19, 332] |
---|
274 | 521 | add w0, w0, 3 |
---|
275 | | - str w0, [x4, 332] |
---|
| 522 | + str w0, [x19, 332] |
---|
276 | 523 | mov w0, 0 |
---|
277 | | - ldp x29, x30, [sp], 16 |
---|
| 524 | + ldp x19, x20, [sp, 16] |
---|
| 525 | + ldp x29, x30, [sp], 80 |
---|
| 526 | + hint 29 // autiasp |
---|
278 | 527 | ret |
---|
279 | | -.L11: |
---|
280 | | - cmp w3, 8 |
---|
281 | | - bne .L12 |
---|
282 | | - cmp w5, 1 |
---|
283 | | - bne .L12 |
---|
284 | | - lsr w1, w1, 1 |
---|
285 | | - strh w1, [x0, 246] |
---|
286 | | - mov w1, 2 |
---|
287 | | - strh w1, [x0, 260] |
---|
288 | | - b .L12 |
---|
289 | | -.L15: |
---|
290 | | - mov w0, 4 |
---|
291 | | - b .L21 |
---|
292 | | -.L17: |
---|
293 | | - add w5, w5, 4 |
---|
294 | | - b .L22 |
---|
| 528 | +.L36: |
---|
| 529 | + cmp w2, 8 |
---|
| 530 | + bne .L37 |
---|
| 531 | + cmp w3, 1 |
---|
| 532 | + bne .L37 |
---|
| 533 | + lsr w0, w0, 1 |
---|
| 534 | + strh w0, [x19, 246] |
---|
| 535 | + mov w0, 2 |
---|
| 536 | + strh w0, [x19, 260] |
---|
| 537 | + b .L37 |
---|
295 | 538 | .size FtlConstantsInit, .-FtlConstantsInit |
---|
296 | 539 | .align 2 |
---|
297 | 540 | .global IsBlkInVendorPart |
---|
298 | 541 | .type IsBlkInVendorPart, %function |
---|
299 | 542 | IsBlkInVendorPart: |
---|
| 543 | + hint 34 // bti c |
---|
| 544 | + .section __patchable_function_entries |
---|
| 545 | + .align 3 |
---|
| 546 | + .8byte .LPFE7 |
---|
| 547 | + .text |
---|
| 548 | +.LPFE7: |
---|
| 549 | + nop |
---|
| 550 | + nop |
---|
300 | 551 | adrp x1, .LANCHOR0 |
---|
301 | 552 | add x1, x1, :lo12:.LANCHOR0 |
---|
302 | | - and w0, w0, 65535 |
---|
| 553 | + hint 25 // paciasp |
---|
303 | 554 | ldrh w2, [x1, 348] |
---|
304 | | - cbz w2, .L27 |
---|
305 | | - ldrh w2, [x1, 324] |
---|
306 | | - ldr x3, [x1, 352] |
---|
| 555 | + cbz w2, .L50 |
---|
| 556 | + ldr x2, [x1, 352] |
---|
| 557 | + and w0, w0, 65535 |
---|
| 558 | + ldrh w3, [x1, 324] |
---|
307 | 559 | mov x1, 0 |
---|
308 | | -.L25: |
---|
309 | | - cmp w2, w1, uxth |
---|
310 | | - bhi .L26 |
---|
311 | | -.L27: |
---|
| 560 | + sub x2, x2, #2 |
---|
| 561 | +.L48: |
---|
| 562 | + cmp w3, w1, uxth |
---|
| 563 | + bhi .L49 |
---|
| 564 | +.L50: |
---|
312 | 565 | mov w0, 0 |
---|
| 566 | +.L46: |
---|
| 567 | + hint 29 // autiasp |
---|
313 | 568 | ret |
---|
314 | | -.L26: |
---|
| 569 | +.L49: |
---|
315 | 570 | add x1, x1, 1 |
---|
316 | | - add x4, x3, x1, lsl 1 |
---|
317 | | - ldrh w4, [x4, -2] |
---|
| 571 | + ldrh w4, [x2, x1, lsl 1] |
---|
318 | 572 | cmp w4, w0 |
---|
319 | | - bne .L25 |
---|
| 573 | + bne .L48 |
---|
320 | 574 | mov w0, 1 |
---|
321 | | - ret |
---|
| 575 | + b .L46 |
---|
322 | 576 | .size IsBlkInVendorPart, .-IsBlkInVendorPart |
---|
323 | 577 | .align 2 |
---|
324 | 578 | .global FtlCacheWriteBack |
---|
325 | 579 | .type FtlCacheWriteBack, %function |
---|
326 | 580 | FtlCacheWriteBack: |
---|
| 581 | + hint 34 // bti c |
---|
| 582 | + .section __patchable_function_entries |
---|
| 583 | + .align 3 |
---|
| 584 | + .8byte .LPFE8 |
---|
| 585 | + .text |
---|
| 586 | +.LPFE8: |
---|
| 587 | + nop |
---|
| 588 | + nop |
---|
327 | 589 | mov w0, 0 |
---|
| 590 | + hint 25 // paciasp |
---|
| 591 | + hint 29 // autiasp |
---|
328 | 592 | ret |
---|
329 | 593 | .size FtlCacheWriteBack, .-FtlCacheWriteBack |
---|
330 | 594 | .align 2 |
---|
331 | 595 | .global sftl_get_density |
---|
332 | 596 | .type sftl_get_density, %function |
---|
333 | 597 | sftl_get_density: |
---|
| 598 | + hint 34 // bti c |
---|
| 599 | + .section __patchable_function_entries |
---|
| 600 | + .align 3 |
---|
| 601 | + .8byte .LPFE9 |
---|
| 602 | + .text |
---|
| 603 | +.LPFE9: |
---|
| 604 | + nop |
---|
| 605 | + nop |
---|
334 | 606 | adrp x0, .LANCHOR0+344 |
---|
| 607 | + hint 25 // paciasp |
---|
| 608 | + hint 29 // autiasp |
---|
335 | 609 | ldr w0, [x0, #:lo12:.LANCHOR0+344] |
---|
336 | 610 | ret |
---|
337 | 611 | .size sftl_get_density, .-sftl_get_density |
---|
| 612 | + .section .rodata.str1.1 |
---|
| 613 | +.LC8: |
---|
| 614 | + .string "phyBlk = 0x%x die = %d block_in_die = 0x%x 0x%8x\n" |
---|
| 615 | + .text |
---|
338 | 616 | .align 2 |
---|
339 | 617 | .global FtlBbmMapBadBlock |
---|
340 | 618 | .type FtlBbmMapBadBlock, %function |
---|
341 | 619 | FtlBbmMapBadBlock: |
---|
| 620 | + hint 34 // bti c |
---|
| 621 | + .section __patchable_function_entries |
---|
| 622 | + .align 3 |
---|
| 623 | + .8byte .LPFE10 |
---|
| 624 | + .text |
---|
| 625 | +.LPFE10: |
---|
| 626 | + nop |
---|
| 627 | + nop |
---|
| 628 | + hint 25 // paciasp |
---|
342 | 629 | stp x29, x30, [sp, -32]! |
---|
343 | 630 | and w1, w0, 65535 |
---|
344 | | - mov w4, 1 |
---|
345 | | - add x29, sp, 0 |
---|
| 631 | + mov x29, sp |
---|
346 | 632 | str x19, [sp, 16] |
---|
347 | 633 | adrp x19, .LANCHOR0 |
---|
348 | 634 | add x19, x19, :lo12:.LANCHOR0 |
---|
| 635 | + mov w4, 1 |
---|
349 | 636 | add x19, x19, 360 |
---|
350 | | - ldrh w0, [x19, -58] |
---|
351 | | - udiv w3, w1, w0 |
---|
352 | | - and w2, w3, 65535 |
---|
353 | | - msub w3, w3, w0, w1 |
---|
354 | | - add x0, x19, x2, uxth 3 |
---|
355 | | - and w3, w3, 65535 |
---|
356 | | - ldr x0, [x0, 32] |
---|
| 637 | + ldrh w3, [x19, -58] |
---|
| 638 | + udiv w2, w1, w3 |
---|
| 639 | + msub w3, w2, w3, w1 |
---|
| 640 | + add x0, x19, w2, uxth 3 |
---|
357 | 641 | ubfx x5, x3, 5, 11 |
---|
358 | | - lsl x5, x5, 2 |
---|
359 | 642 | lsl w4, w4, w3 |
---|
| 643 | + ldr x0, [x0, 32] |
---|
| 644 | + lsl x5, x5, 2 |
---|
| 645 | + and w3, w3, 65535 |
---|
360 | 646 | ldr w6, [x0, x5] |
---|
361 | 647 | orr w4, w4, w6 |
---|
362 | 648 | str w4, [x0, x5] |
---|
363 | | - adrp x0, .LC7 |
---|
364 | | - add x0, x0, :lo12:.LC7 |
---|
| 649 | + adrp x0, .LC8 |
---|
| 650 | + add x0, x0, :lo12:.LC8 |
---|
365 | 651 | bl sftl_printk |
---|
366 | 652 | ldrh w0, [x19, 6] |
---|
367 | 653 | add w0, w0, 1 |
---|
.. | .. |
---|
369 | 655 | mov w0, 0 |
---|
370 | 656 | ldr x19, [sp, 16] |
---|
371 | 657 | ldp x29, x30, [sp], 32 |
---|
| 658 | + hint 29 // autiasp |
---|
372 | 659 | ret |
---|
373 | 660 | .size FtlBbmMapBadBlock, .-FtlBbmMapBadBlock |
---|
374 | 661 | .align 2 |
---|
375 | 662 | .global FtlBbmIsBadBlock |
---|
376 | 663 | .type FtlBbmIsBadBlock, %function |
---|
377 | 664 | FtlBbmIsBadBlock: |
---|
| 665 | + hint 34 // bti c |
---|
| 666 | + .section __patchable_function_entries |
---|
| 667 | + .align 3 |
---|
| 668 | + .8byte .LPFE11 |
---|
| 669 | + .text |
---|
| 670 | +.LPFE11: |
---|
| 671 | + nop |
---|
| 672 | + nop |
---|
378 | 673 | adrp x2, .LANCHOR0 |
---|
379 | 674 | add x3, x2, :lo12:.LANCHOR0 |
---|
380 | 675 | and w0, w0, 65535 |
---|
| 676 | + hint 25 // paciasp |
---|
| 677 | + hint 29 // autiasp |
---|
381 | 678 | ldrh w1, [x3, 302] |
---|
382 | 679 | udiv w2, w0, w1 |
---|
383 | | - msub w0, w2, w1, w0 |
---|
384 | | - add x2, x3, x2, uxth 3 |
---|
385 | | - and w0, w0, 65535 |
---|
386 | | - ldr x1, [x2, 392] |
---|
387 | | - ubfx x3, x0, 5, 11 |
---|
388 | | - ldr w1, [x1, x3, lsl 2] |
---|
389 | | - lsr w0, w1, w0 |
---|
| 680 | + msub w1, w2, w1, w0 |
---|
| 681 | + add x2, x3, w2, uxth 3 |
---|
| 682 | + ldr x0, [x2, 392] |
---|
| 683 | + ubfx x3, x1, 5, 11 |
---|
| 684 | + ldr w0, [x0, x3, lsl 2] |
---|
| 685 | + lsr w0, w0, w1 |
---|
390 | 686 | and w0, w0, 1 |
---|
391 | 687 | ret |
---|
392 | 688 | .size FtlBbmIsBadBlock, .-FtlBbmIsBadBlock |
---|
.. | .. |
---|
394 | 690 | .global FtlBbtInfoPrint |
---|
395 | 691 | .type FtlBbtInfoPrint, %function |
---|
396 | 692 | FtlBbtInfoPrint: |
---|
| 693 | + hint 34 // bti c |
---|
| 694 | + .section __patchable_function_entries |
---|
| 695 | + .align 3 |
---|
| 696 | + .8byte .LPFE12 |
---|
| 697 | + .text |
---|
| 698 | +.LPFE12: |
---|
| 699 | + nop |
---|
| 700 | + nop |
---|
| 701 | + hint 25 // paciasp |
---|
| 702 | + hint 29 // autiasp |
---|
397 | 703 | ret |
---|
398 | 704 | .size FtlBbtInfoPrint, .-FtlBbtInfoPrint |
---|
399 | 705 | .align 2 |
---|
400 | 706 | .global FtlBbtCalcTotleCnt |
---|
401 | 707 | .type FtlBbtCalcTotleCnt, %function |
---|
402 | 708 | FtlBbtCalcTotleCnt: |
---|
| 709 | + hint 34 // bti c |
---|
| 710 | + .section __patchable_function_entries |
---|
| 711 | + .align 3 |
---|
| 712 | + .8byte .LPFE13 |
---|
| 713 | + .text |
---|
| 714 | +.LPFE13: |
---|
| 715 | + nop |
---|
| 716 | + nop |
---|
| 717 | + hint 25 // paciasp |
---|
| 718 | + stp x29, x30, [sp, -48]! |
---|
403 | 719 | adrp x0, .LANCHOR0 |
---|
| 720 | + mov x29, sp |
---|
404 | 721 | add x0, x0, :lo12:.LANCHOR0 |
---|
405 | | - mov w4, 0 |
---|
406 | | - mov w5, 0 |
---|
407 | | - ldrh w6, [x0, 302] |
---|
| 722 | + stp x19, x20, [sp, 16] |
---|
| 723 | + mov w20, 0 |
---|
| 724 | + mov w19, 0 |
---|
| 725 | + str x21, [sp, 32] |
---|
| 726 | + ldrh w21, [x0, 302] |
---|
408 | 727 | ldrh w0, [x0, 258] |
---|
409 | | - mul w6, w6, w0 |
---|
410 | | - cmp w4, w6 |
---|
411 | | - blt .L45 |
---|
412 | | - mov w0, w5 |
---|
| 728 | + mul w21, w21, w0 |
---|
| 729 | +.L64: |
---|
| 730 | + cmp w19, w21 |
---|
| 731 | + blt .L66 |
---|
| 732 | + mov w0, w20 |
---|
| 733 | + ldp x19, x20, [sp, 16] |
---|
| 734 | + ldr x21, [sp, 32] |
---|
| 735 | + ldp x29, x30, [sp], 48 |
---|
| 736 | + hint 29 // autiasp |
---|
413 | 737 | ret |
---|
414 | | -.L45: |
---|
415 | | - stp x29, x30, [sp, -16]! |
---|
416 | | - add x29, sp, 0 |
---|
417 | | -.L38: |
---|
418 | | - mov w0, w4 |
---|
| 738 | +.L66: |
---|
| 739 | + mov w0, w19 |
---|
419 | 740 | bl FtlBbmIsBadBlock |
---|
420 | | - cbz w0, .L37 |
---|
421 | | - add w5, w5, 1 |
---|
422 | | - and w5, w5, 65535 |
---|
423 | | -.L37: |
---|
424 | | - add w4, w4, 1 |
---|
425 | | - and w4, w4, 65535 |
---|
426 | | - cmp w4, w6 |
---|
427 | | - blt .L38 |
---|
428 | | - mov w0, w5 |
---|
429 | | - ldp x29, x30, [sp], 16 |
---|
430 | | - ret |
---|
| 741 | + cbz w0, .L65 |
---|
| 742 | + add w20, w20, 1 |
---|
| 743 | + and w20, w20, 65535 |
---|
| 744 | +.L65: |
---|
| 745 | + add w19, w19, 1 |
---|
| 746 | + and w19, w19, 65535 |
---|
| 747 | + b .L64 |
---|
431 | 748 | .size FtlBbtCalcTotleCnt, .-FtlBbtCalcTotleCnt |
---|
432 | 749 | .align 2 |
---|
433 | 750 | .global V2P_block |
---|
434 | 751 | .type V2P_block, %function |
---|
435 | 752 | V2P_block: |
---|
| 753 | + hint 34 // bti c |
---|
| 754 | + .section __patchable_function_entries |
---|
| 755 | + .align 3 |
---|
| 756 | + .8byte .LPFE14 |
---|
| 757 | + .text |
---|
| 758 | +.LPFE14: |
---|
| 759 | + nop |
---|
| 760 | + nop |
---|
436 | 761 | adrp x4, .LANCHOR0 |
---|
437 | 762 | add x4, x4, :lo12:.LANCHOR0 |
---|
438 | 763 | and w0, w0, 65535 |
---|
439 | 764 | and w1, w1, 65535 |
---|
| 765 | + hint 25 // paciasp |
---|
| 766 | + hint 29 // autiasp |
---|
440 | 767 | ldrh w2, [x4, 260] |
---|
441 | 768 | ldrh w4, [x4, 302] |
---|
442 | 769 | udiv w3, w0, w2 |
---|
.. | .. |
---|
449 | 776 | .global P2V_plane |
---|
450 | 777 | .type P2V_plane, %function |
---|
451 | 778 | P2V_plane: |
---|
| 779 | + hint 34 // bti c |
---|
| 780 | + .section __patchable_function_entries |
---|
| 781 | + .align 3 |
---|
| 782 | + .8byte .LPFE15 |
---|
| 783 | + .text |
---|
| 784 | +.LPFE15: |
---|
| 785 | + nop |
---|
| 786 | + nop |
---|
452 | 787 | adrp x2, .LANCHOR0 |
---|
453 | 788 | add x2, x2, :lo12:.LANCHOR0 |
---|
454 | | - and w3, w0, 65535 |
---|
| 789 | + and w0, w0, 65535 |
---|
| 790 | + hint 25 // paciasp |
---|
| 791 | + hint 29 // autiasp |
---|
455 | 792 | ldrh w1, [x2, 260] |
---|
456 | | - ldrh w2, [x2, 302] |
---|
457 | | - udiv w0, w3, w1 |
---|
458 | | - udiv w2, w3, w2 |
---|
459 | | - msub w0, w0, w1, w3 |
---|
460 | | - madd w0, w1, w2, w0 |
---|
| 793 | + ldrh w3, [x2, 302] |
---|
| 794 | + udiv w2, w0, w1 |
---|
| 795 | + udiv w3, w0, w3 |
---|
| 796 | + msub w0, w2, w1, w0 |
---|
| 797 | + madd w0, w1, w3, w0 |
---|
461 | 798 | ret |
---|
462 | 799 | .size P2V_plane, .-P2V_plane |
---|
463 | 800 | .align 2 |
---|
464 | 801 | .global P2V_block_in_plane |
---|
465 | 802 | .type P2V_block_in_plane, %function |
---|
466 | 803 | P2V_block_in_plane: |
---|
467 | | - adrp x1, .LANCHOR0 |
---|
468 | | - add x1, x1, :lo12:.LANCHOR0 |
---|
| 804 | + hint 34 // bti c |
---|
| 805 | + .section __patchable_function_entries |
---|
| 806 | + .align 3 |
---|
| 807 | + .8byte .LPFE16 |
---|
| 808 | + .text |
---|
| 809 | +.LPFE16: |
---|
| 810 | + nop |
---|
| 811 | + nop |
---|
| 812 | + adrp x2, .LANCHOR0 |
---|
| 813 | + add x2, x2, :lo12:.LANCHOR0 |
---|
469 | 814 | and w3, w0, 65535 |
---|
470 | | - ldrh w2, [x1, 302] |
---|
471 | | - ldrh w1, [x1, 260] |
---|
472 | | - udiv w0, w3, w2 |
---|
473 | | - msub w0, w0, w2, w3 |
---|
| 815 | + hint 25 // paciasp |
---|
| 816 | + hint 29 // autiasp |
---|
| 817 | + ldrh w0, [x2, 302] |
---|
| 818 | + udiv w1, w3, w0 |
---|
| 819 | + msub w0, w1, w0, w3 |
---|
| 820 | + ldrh w1, [x2, 260] |
---|
474 | 821 | and w0, w0, 65535 |
---|
475 | 822 | udiv w0, w0, w1 |
---|
476 | 823 | ret |
---|
.. | .. |
---|
479 | 826 | .global ftl_cmp_data_ver |
---|
480 | 827 | .type ftl_cmp_data_ver, %function |
---|
481 | 828 | ftl_cmp_data_ver: |
---|
| 829 | + hint 34 // bti c |
---|
| 830 | + .section __patchable_function_entries |
---|
| 831 | + .align 3 |
---|
| 832 | + .8byte .LPFE17 |
---|
| 833 | + .text |
---|
| 834 | +.LPFE17: |
---|
| 835 | + nop |
---|
| 836 | + nop |
---|
482 | 837 | cmp w0, w1 |
---|
483 | 838 | mov w2, -2147483648 |
---|
484 | | - bls .L50 |
---|
| 839 | + hint 25 // paciasp |
---|
| 840 | + bls .L78 |
---|
485 | 841 | sub w1, w0, w1 |
---|
486 | 842 | cmp w1, w2 |
---|
487 | 843 | cset w0, ls |
---|
| 844 | +.L77: |
---|
| 845 | + hint 29 // autiasp |
---|
488 | 846 | ret |
---|
489 | | -.L50: |
---|
| 847 | +.L78: |
---|
490 | 848 | sub w1, w1, w0 |
---|
491 | 849 | cmp w1, w2 |
---|
492 | 850 | cset w0, hi |
---|
493 | | - ret |
---|
| 851 | + b .L77 |
---|
494 | 852 | .size ftl_cmp_data_ver, .-ftl_cmp_data_ver |
---|
495 | 853 | .align 2 |
---|
496 | 854 | .global FtlFreeSysBlkQueueEmpty |
---|
497 | 855 | .type FtlFreeSysBlkQueueEmpty, %function |
---|
498 | 856 | FtlFreeSysBlkQueueEmpty: |
---|
| 857 | + hint 34 // bti c |
---|
| 858 | + .section __patchable_function_entries |
---|
| 859 | + .align 3 |
---|
| 860 | + .8byte .LPFE18 |
---|
| 861 | + .text |
---|
| 862 | +.LPFE18: |
---|
| 863 | + nop |
---|
| 864 | + nop |
---|
499 | 865 | adrp x0, .LANCHOR0+462 |
---|
| 866 | + hint 25 // paciasp |
---|
| 867 | + hint 29 // autiasp |
---|
500 | 868 | ldrh w0, [x0, #:lo12:.LANCHOR0+462] |
---|
501 | 869 | cmp w0, 0 |
---|
502 | 870 | cset w0, eq |
---|
.. | .. |
---|
506 | 874 | .global FtlFreeSysBlkQueueFull |
---|
507 | 875 | .type FtlFreeSysBlkQueueFull, %function |
---|
508 | 876 | FtlFreeSysBlkQueueFull: |
---|
| 877 | + hint 34 // bti c |
---|
| 878 | + .section __patchable_function_entries |
---|
| 879 | + .align 3 |
---|
| 880 | + .8byte .LPFE19 |
---|
| 881 | + .text |
---|
| 882 | +.LPFE19: |
---|
| 883 | + nop |
---|
| 884 | + nop |
---|
509 | 885 | adrp x0, .LANCHOR0+462 |
---|
| 886 | + hint 25 // paciasp |
---|
| 887 | + hint 29 // autiasp |
---|
510 | 888 | ldrh w0, [x0, #:lo12:.LANCHOR0+462] |
---|
511 | 889 | cmp w0, 1024 |
---|
512 | 890 | cset w0, eq |
---|
.. | .. |
---|
516 | 894 | .global FtlFreeSysBLkSort |
---|
517 | 895 | .type FtlFreeSysBLkSort, %function |
---|
518 | 896 | FtlFreeSysBLkSort: |
---|
| 897 | + hint 34 // bti c |
---|
| 898 | + .section __patchable_function_entries |
---|
| 899 | + .align 3 |
---|
| 900 | + .8byte .LPFE20 |
---|
| 901 | + .text |
---|
| 902 | +.LPFE20: |
---|
| 903 | + nop |
---|
| 904 | + nop |
---|
519 | 905 | adrp x0, .LANCHOR0 |
---|
520 | | - add x2, x0, :lo12:.LANCHOR0 |
---|
521 | | - add x1, x2, 456 |
---|
522 | | - ldrh w3, [x1, 6] |
---|
523 | | - cbz w3, .L54 |
---|
524 | | - ldrh w5, [x2, 2540] |
---|
525 | | - mov w6, 0 |
---|
526 | | - ldrh w3, [x1, 2] |
---|
527 | | - mov w4, 0 |
---|
528 | | - ldrh w2, [x1, 4] |
---|
529 | | - and w5, w5, 31 |
---|
530 | | -.L56: |
---|
531 | | - cmp w5, w4 |
---|
532 | | - bgt .L57 |
---|
533 | | - cbz w6, .L54 |
---|
534 | 906 | add x0, x0, :lo12:.LANCHOR0 |
---|
535 | | - strh w3, [x0, 458] |
---|
536 | | - strh w2, [x0, 460] |
---|
537 | | -.L54: |
---|
| 907 | + hint 25 // paciasp |
---|
| 908 | + ldrh w1, [x0, 462] |
---|
| 909 | + cbz w1, .L85 |
---|
| 910 | + ldrh w5, [x0, 2540] |
---|
| 911 | + add x4, x0, 456 |
---|
| 912 | + ldrh w2, [x4, 2] |
---|
| 913 | + mov w6, 0 |
---|
| 914 | + ldrh w1, [x4, 4] |
---|
| 915 | + and w5, w5, 31 |
---|
| 916 | + mov w3, 0 |
---|
| 917 | +.L88: |
---|
| 918 | + cmp w3, w5 |
---|
| 919 | + bne .L89 |
---|
| 920 | + cbz w6, .L85 |
---|
| 921 | + strh w2, [x0, 458] |
---|
| 922 | + strh w1, [x0, 460] |
---|
| 923 | +.L85: |
---|
| 924 | + hint 29 // autiasp |
---|
538 | 925 | ret |
---|
539 | | -.L57: |
---|
540 | | - add x6, x1, x3, sxtw 1 |
---|
541 | | - add w4, w4, 1 |
---|
| 926 | +.L89: |
---|
| 927 | + add x6, x4, w2, sxtw 1 |
---|
542 | 928 | add w3, w3, 1 |
---|
543 | | - and w4, w4, 65535 |
---|
544 | | - and w3, w3, 1023 |
---|
| 929 | + add w2, w2, 1 |
---|
| 930 | + and w3, w3, 65535 |
---|
| 931 | + and w2, w2, 1023 |
---|
545 | 932 | ldrh w7, [x6, 8] |
---|
546 | | - add x6, x1, x2, sxtw 1 |
---|
| 933 | + add x6, x4, w1, sxtw 1 |
---|
| 934 | + add w1, w1, 1 |
---|
| 935 | + and w1, w1, 1023 |
---|
547 | 936 | strh w7, [x6, 8] |
---|
548 | 937 | mov w6, 1 |
---|
549 | | - add w2, w2, w6 |
---|
550 | | - and w2, w2, 1023 |
---|
551 | | - b .L56 |
---|
| 938 | + b .L88 |
---|
552 | 939 | .size FtlFreeSysBLkSort, .-FtlFreeSysBLkSort |
---|
553 | 940 | .align 2 |
---|
554 | 941 | .global IsInFreeQueue |
---|
555 | 942 | .type IsInFreeQueue, %function |
---|
556 | 943 | IsInFreeQueue: |
---|
| 944 | + hint 34 // bti c |
---|
| 945 | + .section __patchable_function_entries |
---|
| 946 | + .align 3 |
---|
| 947 | + .8byte .LPFE21 |
---|
| 948 | + .text |
---|
| 949 | +.LPFE21: |
---|
| 950 | + nop |
---|
| 951 | + nop |
---|
557 | 952 | adrp x1, .LANCHOR0 |
---|
558 | 953 | add x1, x1, :lo12:.LANCHOR0 |
---|
559 | | - add x1, x1, 456 |
---|
| 954 | + hint 25 // paciasp |
---|
| 955 | + ldrh w3, [x1, 462] |
---|
| 956 | + cmp w3, 1024 |
---|
| 957 | + beq .L99 |
---|
| 958 | + ldrh w5, [x1, 458] |
---|
| 959 | + add x4, x1, 456 |
---|
560 | 960 | and w0, w0, 65535 |
---|
561 | | - ldrh w4, [x1, 6] |
---|
562 | | - cmp w4, 1024 |
---|
563 | | - beq .L67 |
---|
564 | | - ldrh w5, [x1, 2] |
---|
565 | | - mov w3, 0 |
---|
566 | | -.L65: |
---|
567 | | - cmp w3, w4 |
---|
568 | | - bcc .L66 |
---|
569 | | -.L67: |
---|
| 961 | + mov w2, 0 |
---|
| 962 | +.L97: |
---|
| 963 | + cmp w3, w2 |
---|
| 964 | + bhi .L98 |
---|
| 965 | +.L99: |
---|
570 | 966 | mov w0, 0 |
---|
| 967 | +.L95: |
---|
| 968 | + hint 29 // autiasp |
---|
571 | 969 | ret |
---|
572 | | -.L66: |
---|
573 | | - add w2, w3, w5 |
---|
574 | | - ubfiz x2, x2, 1, 10 |
---|
575 | | - add x2, x1, x2 |
---|
576 | | - ldrh w2, [x2, 8] |
---|
577 | | - cmp w2, w0 |
---|
578 | | - beq .L68 |
---|
579 | | - add w3, w3, 1 |
---|
580 | | - b .L65 |
---|
581 | | -.L68: |
---|
| 970 | +.L98: |
---|
| 971 | + add w1, w5, w2 |
---|
| 972 | + ubfiz x1, x1, 1, 10 |
---|
| 973 | + add x1, x4, x1 |
---|
| 974 | + ldrh w1, [x1, 8] |
---|
| 975 | + cmp w1, w0 |
---|
| 976 | + beq .L100 |
---|
| 977 | + add w2, w2, 1 |
---|
| 978 | + b .L97 |
---|
| 979 | +.L100: |
---|
582 | 980 | mov w0, 1 |
---|
583 | | - ret |
---|
| 981 | + b .L95 |
---|
584 | 982 | .size IsInFreeQueue, .-IsInFreeQueue |
---|
585 | 983 | .align 2 |
---|
586 | 984 | .global insert_data_list |
---|
587 | 985 | .type insert_data_list, %function |
---|
588 | 986 | insert_data_list: |
---|
589 | | - adrp x2, .LANCHOR0 |
---|
590 | | - add x3, x2, :lo12:.LANCHOR0 |
---|
591 | | - and w0, w0, 65535 |
---|
592 | | - mov x4, x2 |
---|
593 | | - ldrh w1, [x3, 244] |
---|
594 | | - cmp w1, w0 |
---|
595 | | - bls .L71 |
---|
596 | | - mov w6, 6 |
---|
597 | | - ldr x8, [x3, 2560] |
---|
598 | | - mov w1, -1 |
---|
599 | | - umull x7, w0, w6 |
---|
600 | | - add x13, x8, x7 |
---|
601 | | - strh w1, [x13, 2] |
---|
602 | | - strh w1, [x8, x7] |
---|
603 | | - ldr x1, [x3, 2568] |
---|
604 | | - cbnz x1, .L72 |
---|
605 | | - str x13, [x3, 2568] |
---|
606 | | -.L71: |
---|
607 | | - mov w0, 0 |
---|
608 | | - ret |
---|
609 | | -.L72: |
---|
610 | | - ldr x11, [x3, 72] |
---|
611 | | - ubfiz x2, x0, 1, 16 |
---|
612 | | - ldr x10, [x3, 2560] |
---|
613 | | - mov x9, -6148914691236517206 |
---|
614 | | - movk x9, 0xaaab, lsl 0 |
---|
615 | | - ldrh w14, [x3, 244] |
---|
| 987 | + hint 34 // bti c |
---|
| 988 | + .section __patchable_function_entries |
---|
| 989 | + .align 3 |
---|
| 990 | + .8byte .LPFE22 |
---|
| 991 | + .text |
---|
| 992 | +.LPFE22: |
---|
| 993 | + nop |
---|
| 994 | + nop |
---|
| 995 | + adrp x1, .LANCHOR0 |
---|
| 996 | + add x1, x1, :lo12:.LANCHOR0 |
---|
| 997 | + hint 25 // paciasp |
---|
| 998 | + ldrh w2, [x1, 244] |
---|
| 999 | + cmp w2, w0, uxth |
---|
| 1000 | + bls .L104 |
---|
| 1001 | + and w3, w0, 65535 |
---|
| 1002 | + mov w10, 6 |
---|
| 1003 | + ldr x7, [x1, 2560] |
---|
| 1004 | + mov w0, -1 |
---|
| 1005 | + umull x6, w3, w10 |
---|
| 1006 | + add x4, x7, x6 |
---|
| 1007 | + str w0, [x7, x6] |
---|
| 1008 | + ldr x2, [x1, 2568] |
---|
| 1009 | + cbnz x2, .L105 |
---|
| 1010 | +.L117: |
---|
| 1011 | + str x4, [x1, 2568] |
---|
| 1012 | + b .L104 |
---|
| 1013 | +.L105: |
---|
| 1014 | + ldr x11, [x1, 72] |
---|
| 1015 | + ubfiz x5, x3, 1, 16 |
---|
| 1016 | + ldrh w8, [x4, 4] |
---|
| 1017 | + mov w12, 0 |
---|
| 1018 | + ldr x9, [x1, 2560] |
---|
| 1019 | + cmp w8, 0 |
---|
| 1020 | + ldrh w5, [x11, x5] |
---|
616 | 1021 | mov w15, 65535 |
---|
617 | | - mov w3, 0 |
---|
618 | | - ldrh w5, [x11, x2] |
---|
619 | | - ldrh w2, [x13, 4] |
---|
620 | | - cmp w2, 0 |
---|
621 | | - mul w5, w5, w2 |
---|
622 | | - sub x2, x1, x10 |
---|
623 | | - asr x2, x2, 1 |
---|
624 | | - csinv w5, w5, wzr, ne |
---|
625 | | - mul x2, x2, x9 |
---|
626 | | - and w2, w2, 65535 |
---|
627 | | -.L77: |
---|
628 | | - add w3, w3, 1 |
---|
629 | | - and w3, w3, 65535 |
---|
630 | | - cmp w3, w14 |
---|
631 | | - bhi .L71 |
---|
632 | | - cmp w0, w2 |
---|
633 | | - beq .L71 |
---|
634 | | - ldrh w12, [x1, 4] |
---|
635 | | - cbz w12, .L75 |
---|
636 | | - ubfiz x9, x2, 1, 16 |
---|
637 | | - ldrh w9, [x11, x9] |
---|
638 | | - mul w9, w9, w12 |
---|
639 | | - cmp w9, w5 |
---|
640 | | - bcs .L75 |
---|
641 | | - ldrh w9, [x1] |
---|
642 | | - cmp w9, w15 |
---|
643 | | - bne .L76 |
---|
644 | | - strh w2, [x13, 2] |
---|
645 | | - add x2, x4, :lo12:.LANCHOR0 |
---|
646 | | - strh w0, [x1] |
---|
647 | | - str x13, [x2, 2576] |
---|
648 | | - b .L71 |
---|
649 | | -.L76: |
---|
650 | | - umaddl x1, w9, w6, x10 |
---|
651 | | - mov w2, w9 |
---|
652 | | - b .L77 |
---|
653 | | -.L75: |
---|
654 | | - strh w2, [x8, x7] |
---|
655 | | - ldrh w2, [x1, 2] |
---|
656 | | - strh w2, [x13, 2] |
---|
657 | | - add x2, x4, :lo12:.LANCHOR0 |
---|
658 | | - ldr x3, [x2, 2568] |
---|
659 | | - cmp x1, x3 |
---|
660 | | - bne .L78 |
---|
661 | | - strh w0, [x1, 2] |
---|
662 | | - str x13, [x2, 2568] |
---|
663 | | - b .L71 |
---|
664 | | -.L78: |
---|
665 | | - ldrh w3, [x1, 2] |
---|
| 1022 | + ldrh w14, [x1, 244] |
---|
| 1023 | + mul w5, w5, w8 |
---|
| 1024 | + mov x8, -6148914691236517206 |
---|
| 1025 | + movk x8, 0xaaab, lsl 0 |
---|
| 1026 | + csel w5, w5, w0, ne |
---|
| 1027 | + sub x0, x2, x9 |
---|
| 1028 | + asr x0, x0, 1 |
---|
| 1029 | + mul x0, x0, x8 |
---|
| 1030 | + and w0, w0, 65535 |
---|
| 1031 | +.L110: |
---|
| 1032 | + add w8, w12, 1 |
---|
| 1033 | + and w12, w8, 65535 |
---|
| 1034 | + cmp w14, w8, uxth |
---|
| 1035 | + bcc .L104 |
---|
| 1036 | + cmp w3, w0 |
---|
| 1037 | + beq .L104 |
---|
| 1038 | + ldrh w13, [x2, 4] |
---|
| 1039 | + cbz w13, .L108 |
---|
| 1040 | + ubfiz x8, x0, 1, 16 |
---|
| 1041 | + ldrh w8, [x11, x8] |
---|
| 1042 | + mul w8, w8, w13 |
---|
| 1043 | + cmp w8, w5 |
---|
| 1044 | + bcs .L108 |
---|
| 1045 | + ldrh w8, [x2] |
---|
| 1046 | + cmp w8, w15 |
---|
| 1047 | + bne .L109 |
---|
| 1048 | + strh w0, [x4, 2] |
---|
| 1049 | + strh w3, [x2] |
---|
| 1050 | + str x4, [x1, 2576] |
---|
| 1051 | +.L104: |
---|
| 1052 | + mov w0, 0 |
---|
| 1053 | + hint 29 // autiasp |
---|
| 1054 | + ret |
---|
| 1055 | +.L109: |
---|
| 1056 | + umaddl x2, w8, w10, x9 |
---|
| 1057 | + mov w0, w8 |
---|
| 1058 | + b .L110 |
---|
| 1059 | +.L108: |
---|
| 1060 | + strh w0, [x7, x6] |
---|
| 1061 | + ldrh w0, [x2, 2] |
---|
| 1062 | + strh w0, [x4, 2] |
---|
| 1063 | + ldr x5, [x1, 2568] |
---|
| 1064 | + cmp x2, x5 |
---|
| 1065 | + bne .L111 |
---|
| 1066 | + strh w3, [x2, 2] |
---|
| 1067 | + b .L117 |
---|
| 1068 | +.L111: |
---|
666 | 1069 | mov w4, 6 |
---|
667 | | - ldr x2, [x2, 2560] |
---|
668 | | - umull x3, w3, w4 |
---|
669 | | - strh w0, [x2, x3] |
---|
670 | | - strh w0, [x1, 2] |
---|
671 | | - b .L71 |
---|
| 1070 | + ldr x1, [x1, 2560] |
---|
| 1071 | + umull x0, w0, w4 |
---|
| 1072 | + strh w3, [x1, x0] |
---|
| 1073 | + strh w3, [x2, 2] |
---|
| 1074 | + b .L104 |
---|
672 | 1075 | .size insert_data_list, .-insert_data_list |
---|
| 1076 | + .section .rodata.str1.1 |
---|
| 1077 | +.LC9: |
---|
| 1078 | + .string "\n!!!!! error @ func:%s - line:%d\n" |
---|
| 1079 | + .text |
---|
673 | 1080 | .align 2 |
---|
674 | 1081 | .global INSERT_DATA_LIST |
---|
675 | 1082 | .type INSERT_DATA_LIST, %function |
---|
676 | 1083 | INSERT_DATA_LIST: |
---|
| 1084 | + hint 34 // bti c |
---|
| 1085 | + .section __patchable_function_entries |
---|
| 1086 | + .align 3 |
---|
| 1087 | + .8byte .LPFE23 |
---|
| 1088 | + .text |
---|
| 1089 | +.LPFE23: |
---|
| 1090 | + nop |
---|
| 1091 | + nop |
---|
| 1092 | + hint 25 // paciasp |
---|
677 | 1093 | stp x29, x30, [sp, -16]! |
---|
678 | | - add x29, sp, 0 |
---|
| 1094 | + mov x29, sp |
---|
679 | 1095 | bl insert_data_list |
---|
680 | 1096 | adrp x1, .LANCHOR0 |
---|
681 | 1097 | add x1, x1, :lo12:.LANCHOR0 |
---|
.. | .. |
---|
685 | 1101 | strh w0, [x1, 2584] |
---|
686 | 1102 | ldrh w1, [x1, 244] |
---|
687 | 1103 | cmp w1, w0 |
---|
688 | | - bcs .L83 |
---|
| 1104 | + bcs .L118 |
---|
689 | 1105 | adrp x1, .LANCHOR1 |
---|
690 | | - adrp x0, .LC8 |
---|
691 | | - mov w2, 214 |
---|
| 1106 | + adrp x0, .LC9 |
---|
692 | 1107 | add x1, x1, :lo12:.LANCHOR1 |
---|
693 | | - add x0, x0, :lo12:.LC8 |
---|
| 1108 | + add x0, x0, :lo12:.LC9 |
---|
| 1109 | + mov w2, 214 |
---|
694 | 1110 | bl sftl_printk |
---|
695 | | -.L83: |
---|
| 1111 | +.L118: |
---|
696 | 1112 | ldp x29, x30, [sp], 16 |
---|
| 1113 | + hint 29 // autiasp |
---|
697 | 1114 | ret |
---|
698 | 1115 | .size INSERT_DATA_LIST, .-INSERT_DATA_LIST |
---|
699 | 1116 | .align 2 |
---|
700 | 1117 | .global insert_free_list |
---|
701 | 1118 | .type insert_free_list, %function |
---|
702 | 1119 | insert_free_list: |
---|
703 | | - and w0, w0, 65535 |
---|
704 | | - mov w7, 65535 |
---|
705 | | - cmp w0, w7 |
---|
706 | | - beq .L87 |
---|
707 | | - adrp x2, .LANCHOR0 |
---|
708 | | - add x5, x2, :lo12:.LANCHOR0 |
---|
709 | | - mov w6, 6 |
---|
710 | | - mov w1, -1 |
---|
711 | | - mov x3, x2 |
---|
712 | | - ldr x9, [x5, 2560] |
---|
713 | | - umull x8, w0, w6 |
---|
714 | | - add x4, x9, x8 |
---|
715 | | - strh w1, [x4, 2] |
---|
716 | | - strh w1, [x9, x8] |
---|
717 | | - ldr x1, [x5, 2592] |
---|
718 | | - cbnz x1, .L88 |
---|
719 | | - str x4, [x5, 2592] |
---|
720 | | -.L87: |
---|
721 | | - mov w0, 0 |
---|
722 | | - ret |
---|
723 | | -.L88: |
---|
724 | | - ldr x11, [x5, 2600] |
---|
725 | | - ubfiz x2, x0, 1, 16 |
---|
726 | | - ldr x10, [x5, 2560] |
---|
727 | | - mov x5, -6148914691236517206 |
---|
728 | | - movk x5, 0xaaab, lsl 0 |
---|
729 | | - ldrh w12, [x11, x2] |
---|
730 | | - sub x2, x1, x10 |
---|
| 1120 | + hint 34 // bti c |
---|
| 1121 | + .section __patchable_function_entries |
---|
| 1122 | + .align 3 |
---|
| 1123 | + .8byte .LPFE24 |
---|
| 1124 | + .text |
---|
| 1125 | +.LPFE24: |
---|
| 1126 | + nop |
---|
| 1127 | + nop |
---|
| 1128 | + mov w11, 65535 |
---|
| 1129 | + hint 25 // paciasp |
---|
| 1130 | + cmp w11, w0, uxth |
---|
| 1131 | + beq .L122 |
---|
| 1132 | + and w3, w0, 65535 |
---|
| 1133 | + adrp x1, .LANCHOR0 |
---|
| 1134 | + add x1, x1, :lo12:.LANCHOR0 |
---|
| 1135 | + mov w9, 6 |
---|
| 1136 | + mov w0, -1 |
---|
| 1137 | + umull x5, w3, w9 |
---|
| 1138 | + ldr x6, [x1, 2560] |
---|
| 1139 | + add x4, x6, x5 |
---|
| 1140 | + str w0, [x6, x5] |
---|
| 1141 | + ldr x0, [x1, 2592] |
---|
| 1142 | + cbnz x0, .L123 |
---|
| 1143 | +.L129: |
---|
| 1144 | + str x4, [x1, 2592] |
---|
| 1145 | + b .L122 |
---|
| 1146 | +.L123: |
---|
| 1147 | + ldr x10, [x1, 2600] |
---|
| 1148 | + ubfiz x2, x3, 1, 16 |
---|
| 1149 | + ldr x8, [x1, 2560] |
---|
| 1150 | + mov x7, -6148914691236517206 |
---|
| 1151 | + ldrh w12, [x10, x2] |
---|
| 1152 | + movk x7, 0xaaab, lsl 0 |
---|
| 1153 | + sub x2, x0, x8 |
---|
731 | 1154 | asr x2, x2, 1 |
---|
732 | | - mul x2, x2, x5 |
---|
| 1155 | + mul x2, x2, x7 |
---|
733 | 1156 | and w2, w2, 65535 |
---|
734 | | -.L91: |
---|
735 | | - ubfiz x5, x2, 1, 16 |
---|
736 | | - ldrh w5, [x11, x5] |
---|
737 | | - cmp w5, w12 |
---|
738 | | - bcs .L89 |
---|
739 | | - ldrh w5, [x1] |
---|
740 | | - cmp w5, w7 |
---|
741 | | - bne .L90 |
---|
| 1157 | +.L126: |
---|
| 1158 | + ubfiz x7, x2, 1, 16 |
---|
| 1159 | + ldrh w7, [x10, x7] |
---|
| 1160 | + cmp w7, w12 |
---|
| 1161 | + bcs .L124 |
---|
| 1162 | + ldrh w7, [x0] |
---|
| 1163 | + cmp w7, w11 |
---|
| 1164 | + bne .L125 |
---|
742 | 1165 | strh w2, [x4, 2] |
---|
743 | | - strh w0, [x1] |
---|
744 | | - b .L87 |
---|
745 | | -.L90: |
---|
746 | | - umaddl x1, w5, w6, x10 |
---|
747 | | - mov w2, w5 |
---|
748 | | - b .L91 |
---|
749 | | -.L89: |
---|
750 | | - ldrh w5, [x1, 2] |
---|
751 | | - strh w5, [x4, 2] |
---|
752 | | - strh w2, [x9, x8] |
---|
753 | | - add x2, x3, :lo12:.LANCHOR0 |
---|
754 | | - ldr x3, [x2, 2592] |
---|
755 | | - cmp x1, x3 |
---|
756 | | - bne .L92 |
---|
757 | | - strh w0, [x1, 2] |
---|
758 | | - str x4, [x2, 2592] |
---|
759 | | - b .L87 |
---|
760 | | -.L92: |
---|
761 | | - ldrh w3, [x1, 2] |
---|
| 1166 | + strh w3, [x0] |
---|
| 1167 | +.L122: |
---|
| 1168 | + mov w0, 0 |
---|
| 1169 | + hint 29 // autiasp |
---|
| 1170 | + ret |
---|
| 1171 | +.L125: |
---|
| 1172 | + umaddl x0, w7, w9, x8 |
---|
| 1173 | + mov w2, w7 |
---|
| 1174 | + b .L126 |
---|
| 1175 | +.L124: |
---|
| 1176 | + ldrh w7, [x0, 2] |
---|
| 1177 | + strh w7, [x4, 2] |
---|
| 1178 | + strh w2, [x6, x5] |
---|
| 1179 | + ldr x2, [x1, 2592] |
---|
| 1180 | + cmp x2, x0 |
---|
| 1181 | + bne .L127 |
---|
| 1182 | + strh w3, [x0, 2] |
---|
| 1183 | + b .L129 |
---|
| 1184 | +.L127: |
---|
| 1185 | + ldrh w2, [x0, 2] |
---|
762 | 1186 | mov w4, 6 |
---|
763 | | - ldr x2, [x2, 2560] |
---|
764 | | - umull x3, w3, w4 |
---|
765 | | - strh w0, [x2, x3] |
---|
766 | | - strh w0, [x1, 2] |
---|
767 | | - b .L87 |
---|
| 1187 | + ldr x1, [x1, 2560] |
---|
| 1188 | + umull x2, w2, w4 |
---|
| 1189 | + strh w3, [x1, x2] |
---|
| 1190 | + strh w3, [x0, 2] |
---|
| 1191 | + b .L122 |
---|
768 | 1192 | .size insert_free_list, .-insert_free_list |
---|
769 | 1193 | .align 2 |
---|
770 | 1194 | .global INSERT_FREE_LIST |
---|
771 | 1195 | .type INSERT_FREE_LIST, %function |
---|
772 | 1196 | INSERT_FREE_LIST: |
---|
| 1197 | + hint 34 // bti c |
---|
| 1198 | + .section __patchable_function_entries |
---|
| 1199 | + .align 3 |
---|
| 1200 | + .8byte .LPFE25 |
---|
| 1201 | + .text |
---|
| 1202 | +.LPFE25: |
---|
| 1203 | + nop |
---|
| 1204 | + nop |
---|
| 1205 | + hint 25 // paciasp |
---|
773 | 1206 | stp x29, x30, [sp, -16]! |
---|
774 | | - add x29, sp, 0 |
---|
| 1207 | + mov x29, sp |
---|
775 | 1208 | bl insert_free_list |
---|
776 | 1209 | adrp x1, .LANCHOR0 |
---|
777 | 1210 | add x1, x1, :lo12:.LANCHOR0 |
---|
.. | .. |
---|
781 | 1214 | strh w0, [x1, 228] |
---|
782 | 1215 | ldrh w1, [x1, 244] |
---|
783 | 1216 | cmp w1, w0 |
---|
784 | | - bcs .L93 |
---|
| 1217 | + bcs .L130 |
---|
785 | 1218 | adrp x1, .LANCHOR1 |
---|
786 | 1219 | add x1, x1, :lo12:.LANCHOR1 |
---|
787 | | - adrp x0, .LC8 |
---|
| 1220 | + adrp x0, .LC9 |
---|
| 1221 | + add x1, x1, 17 |
---|
| 1222 | + add x0, x0, :lo12:.LC9 |
---|
788 | 1223 | mov w2, 207 |
---|
789 | | - add x1, x1, 24 |
---|
790 | | - add x0, x0, :lo12:.LC8 |
---|
791 | 1224 | bl sftl_printk |
---|
792 | | -.L93: |
---|
| 1225 | +.L130: |
---|
793 | 1226 | ldp x29, x30, [sp], 16 |
---|
| 1227 | + hint 29 // autiasp |
---|
794 | 1228 | ret |
---|
795 | 1229 | .size INSERT_FREE_LIST, .-INSERT_FREE_LIST |
---|
796 | 1230 | .align 2 |
---|
797 | 1231 | .global List_remove_node |
---|
798 | 1232 | .type List_remove_node, %function |
---|
799 | 1233 | List_remove_node: |
---|
| 1234 | + hint 34 // bti c |
---|
| 1235 | + .section __patchable_function_entries |
---|
| 1236 | + .align 3 |
---|
| 1237 | + .8byte .LPFE26 |
---|
| 1238 | + .text |
---|
| 1239 | +.LPFE26: |
---|
| 1240 | + nop |
---|
| 1241 | + nop |
---|
| 1242 | + hint 25 // paciasp |
---|
800 | 1243 | stp x29, x30, [sp, -64]! |
---|
801 | 1244 | and w1, w1, 65535 |
---|
802 | | - mov w2, 6 |
---|
803 | | - add x29, sp, 0 |
---|
| 1245 | + mov x29, sp |
---|
804 | 1246 | stp x19, x20, [sp, 16] |
---|
805 | | - adrp x19, .LANCHOR0 |
---|
806 | | - str x23, [sp, 48] |
---|
807 | | - mov x23, x0 |
---|
808 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
| 1247 | + adrp x20, .LANCHOR0 |
---|
| 1248 | + add x20, x20, :lo12:.LANCHOR0 |
---|
809 | 1249 | stp x21, x22, [sp, 32] |
---|
810 | | - umull x21, w1, w2 |
---|
811 | | - ldr x22, [x0, 2560] |
---|
| 1250 | + mov x21, x0 |
---|
| 1251 | + mov w0, 6 |
---|
| 1252 | + ldr x22, [x20, 2560] |
---|
| 1253 | + umull x19, w1, w0 |
---|
| 1254 | + str x23, [sp, 48] |
---|
812 | 1255 | mov w0, 65535 |
---|
813 | | - add x20, x22, x21 |
---|
814 | | - ldrh w1, [x20, 2] |
---|
| 1256 | + add x23, x22, x19 |
---|
| 1257 | + ldrh w1, [x23, 2] |
---|
815 | 1258 | cmp w1, w0 |
---|
816 | | - bne .L97 |
---|
817 | | - ldr x0, [x23] |
---|
818 | | - cmp x20, x0 |
---|
819 | | - beq .L97 |
---|
820 | | - adrp x1, .LANCHOR1 |
---|
821 | | - add x1, x1, :lo12:.LANCHOR1 |
---|
822 | | - adrp x0, .LC8 |
---|
823 | | - mov w2, 372 |
---|
824 | | - add x1, x1, 48 |
---|
825 | | - add x0, x0, :lo12:.LC8 |
---|
826 | | - bl sftl_printk |
---|
827 | | -.L97: |
---|
828 | | - ldr x0, [x23] |
---|
| 1259 | + bne .L134 |
---|
| 1260 | + ldr x0, [x21] |
---|
| 1261 | + cmp x23, x0 |
---|
| 1262 | + bne .L135 |
---|
| 1263 | +.L138: |
---|
| 1264 | + ldrh w0, [x22, x19] |
---|
829 | 1265 | mov w1, 65535 |
---|
830 | | - cmp x20, x0 |
---|
831 | | - ldrh w0, [x22, x21] |
---|
832 | | - bne .L98 |
---|
833 | 1266 | cmp w0, w1 |
---|
834 | | - bne .L99 |
---|
835 | | - str xzr, [x23] |
---|
836 | | -.L100: |
---|
| 1267 | + bne .L142 |
---|
| 1268 | + str xzr, [x21] |
---|
| 1269 | +.L140: |
---|
837 | 1270 | mov w0, -1 |
---|
838 | | - strh w0, [x22, x21] |
---|
839 | | - strh w0, [x20, 2] |
---|
| 1271 | + str w0, [x22, x19] |
---|
840 | 1272 | mov w0, 0 |
---|
841 | 1273 | ldp x19, x20, [sp, 16] |
---|
842 | 1274 | ldp x21, x22, [sp, 32] |
---|
843 | 1275 | ldr x23, [sp, 48] |
---|
844 | 1276 | ldp x29, x30, [sp], 64 |
---|
| 1277 | + hint 29 // autiasp |
---|
845 | 1278 | ret |
---|
846 | | -.L99: |
---|
847 | | - add x19, x19, :lo12:.LANCHOR0 |
---|
| 1279 | +.L135: |
---|
| 1280 | + adrp x1, .LANCHOR1 |
---|
| 1281 | + add x1, x1, :lo12:.LANCHOR1 |
---|
| 1282 | + adrp x0, .LC9 |
---|
| 1283 | + add x1, x1, 34 |
---|
| 1284 | + add x0, x0, :lo12:.LC9 |
---|
| 1285 | + mov w2, 372 |
---|
| 1286 | + bl sftl_printk |
---|
| 1287 | +.L134: |
---|
| 1288 | + ldr x0, [x21] |
---|
| 1289 | + ldrh w1, [x22, x19] |
---|
| 1290 | + cmp x0, x23 |
---|
| 1291 | + beq .L138 |
---|
| 1292 | + ldrh w0, [x23, 2] |
---|
| 1293 | + mov w2, 65535 |
---|
| 1294 | + cmp w1, w2 |
---|
| 1295 | + bne .L141 |
---|
| 1296 | + cmp w0, w1 |
---|
| 1297 | + beq .L140 |
---|
| 1298 | + mov w1, 6 |
---|
| 1299 | + mov w2, -1 |
---|
| 1300 | + umull x0, w0, w1 |
---|
| 1301 | + ldr x1, [x20, 2560] |
---|
| 1302 | + strh w2, [x1, x0] |
---|
| 1303 | + b .L140 |
---|
| 1304 | +.L142: |
---|
| 1305 | + ldr x1, [x20, 2560] |
---|
848 | 1306 | mov w2, 6 |
---|
849 | | - ldr x1, [x19, 2560] |
---|
850 | 1307 | umaddl x0, w0, w2, x1 |
---|
851 | 1308 | mov w1, -1 |
---|
852 | | - str x0, [x23] |
---|
| 1309 | + str x0, [x21] |
---|
853 | 1310 | strh w1, [x0, 2] |
---|
854 | | - b .L100 |
---|
855 | | -.L98: |
---|
856 | | - cmp w0, w1 |
---|
857 | | - ldrh w1, [x20, 2] |
---|
858 | | - bne .L101 |
---|
859 | | - cmp w1, w0 |
---|
860 | | - beq .L100 |
---|
861 | | - add x19, x19, :lo12:.LANCHOR0 |
---|
862 | | - mov w0, 6 |
---|
863 | | - mov w2, -1 |
---|
864 | | - umull x1, w1, w0 |
---|
865 | | - ldr x0, [x19, 2560] |
---|
866 | | - strh w2, [x0, x1] |
---|
867 | | - b .L100 |
---|
868 | | -.L101: |
---|
869 | | - add x19, x19, :lo12:.LANCHOR0 |
---|
| 1311 | + b .L140 |
---|
| 1312 | +.L141: |
---|
| 1313 | + ldr x3, [x20, 2560] |
---|
870 | 1314 | mov w2, 6 |
---|
871 | | - ldr x3, [x19, 2560] |
---|
872 | | - umaddl x0, w0, w2, x3 |
---|
873 | | - strh w1, [x0, 2] |
---|
874 | | - ldrh w0, [x20, 2] |
---|
875 | | - ldr x1, [x19, 2560] |
---|
876 | | - ldrh w3, [x22, x21] |
---|
| 1315 | + umaddl x1, w1, w2, x3 |
---|
| 1316 | + strh w0, [x1, 2] |
---|
877 | 1317 | umull x0, w0, w2 |
---|
| 1318 | + ldr x1, [x20, 2560] |
---|
| 1319 | + ldrh w3, [x22, x19] |
---|
878 | 1320 | strh w3, [x1, x0] |
---|
879 | | - b .L100 |
---|
| 1321 | + b .L140 |
---|
880 | 1322 | .size List_remove_node, .-List_remove_node |
---|
881 | 1323 | .align 2 |
---|
882 | 1324 | .global List_pop_index_node |
---|
883 | 1325 | .type List_pop_index_node, %function |
---|
884 | 1326 | List_pop_index_node: |
---|
| 1327 | + hint 34 // bti c |
---|
| 1328 | + .section __patchable_function_entries |
---|
| 1329 | + .align 3 |
---|
| 1330 | + .8byte .LPFE27 |
---|
| 1331 | + .text |
---|
| 1332 | +.LPFE27: |
---|
| 1333 | + nop |
---|
| 1334 | + nop |
---|
885 | 1335 | ldr x2, [x0] |
---|
886 | | - cbz x2, .L109 |
---|
| 1336 | + cbz x2, .L150 |
---|
| 1337 | + hint 25 // paciasp |
---|
887 | 1338 | stp x29, x30, [sp, -32]! |
---|
888 | 1339 | adrp x3, .LANCHOR0+2560 |
---|
889 | | - and w1, w1, 65535 |
---|
890 | | - mov w4, 65535 |
---|
891 | | - add x29, sp, 0 |
---|
| 1340 | + mov x29, sp |
---|
892 | 1341 | str x19, [sp, 16] |
---|
893 | | - mov w5, 6 |
---|
| 1342 | + and w1, w1, 65535 |
---|
894 | 1343 | ldr x19, [x3, #:lo12:.LANCHOR0+2560] |
---|
895 | | -.L105: |
---|
896 | | - cbnz w1, .L106 |
---|
897 | | -.L108: |
---|
| 1344 | + mov w4, 65535 |
---|
| 1345 | + mov w5, 6 |
---|
| 1346 | +.L147: |
---|
| 1347 | + cbz w1, .L148 |
---|
| 1348 | + ldrh w3, [x2] |
---|
| 1349 | + cmp w3, w4 |
---|
| 1350 | + bne .L149 |
---|
| 1351 | +.L148: |
---|
898 | 1352 | sub x19, x2, x19 |
---|
899 | 1353 | mov x2, -6148914691236517206 |
---|
900 | | - asr x19, x19, 1 |
---|
901 | 1354 | movk x2, 0xaaab, lsl 0 |
---|
| 1355 | + asr x19, x19, 1 |
---|
902 | 1356 | mul x19, x19, x2 |
---|
903 | 1357 | and w19, w19, 65535 |
---|
904 | 1358 | mov w1, w19 |
---|
.. | .. |
---|
906 | 1360 | mov w0, w19 |
---|
907 | 1361 | ldr x19, [sp, 16] |
---|
908 | 1362 | ldp x29, x30, [sp], 32 |
---|
| 1363 | + hint 29 // autiasp |
---|
909 | 1364 | ret |
---|
910 | | -.L106: |
---|
911 | | - ldrh w3, [x2] |
---|
912 | | - cmp w3, w4 |
---|
913 | | - beq .L108 |
---|
| 1365 | +.L149: |
---|
914 | 1366 | sub w1, w1, #1 |
---|
915 | 1367 | umaddl x2, w3, w5, x19 |
---|
916 | 1368 | and w1, w1, 65535 |
---|
917 | | - b .L105 |
---|
918 | | -.L109: |
---|
| 1369 | + b .L147 |
---|
| 1370 | +.L150: |
---|
919 | 1371 | mov w0, 65535 |
---|
920 | 1372 | ret |
---|
921 | 1373 | .size List_pop_index_node, .-List_pop_index_node |
---|
.. | .. |
---|
923 | 1375 | .global List_pop_head_node |
---|
924 | 1376 | .type List_pop_head_node, %function |
---|
925 | 1377 | List_pop_head_node: |
---|
| 1378 | + hint 34 // bti c |
---|
| 1379 | + .section __patchable_function_entries |
---|
| 1380 | + .align 3 |
---|
| 1381 | + .8byte .LPFE28 |
---|
| 1382 | + .text |
---|
| 1383 | +.LPFE28: |
---|
| 1384 | + nop |
---|
| 1385 | + nop |
---|
| 1386 | + hint 25 // paciasp |
---|
926 | 1387 | stp x29, x30, [sp, -16]! |
---|
927 | 1388 | mov w1, 0 |
---|
928 | | - add x29, sp, 0 |
---|
| 1389 | + mov x29, sp |
---|
929 | 1390 | bl List_pop_index_node |
---|
930 | 1391 | ldp x29, x30, [sp], 16 |
---|
| 1392 | + hint 29 // autiasp |
---|
931 | 1393 | ret |
---|
932 | 1394 | .size List_pop_head_node, .-List_pop_head_node |
---|
933 | 1395 | .align 2 |
---|
934 | 1396 | .global List_get_gc_head_node |
---|
935 | 1397 | .type List_get_gc_head_node, %function |
---|
936 | 1398 | List_get_gc_head_node: |
---|
| 1399 | + hint 34 // bti c |
---|
| 1400 | + .section __patchable_function_entries |
---|
| 1401 | + .align 3 |
---|
| 1402 | + .8byte .LPFE29 |
---|
| 1403 | + .text |
---|
| 1404 | +.LPFE29: |
---|
| 1405 | + nop |
---|
| 1406 | + nop |
---|
937 | 1407 | and w2, w0, 65535 |
---|
938 | 1408 | adrp x0, .LANCHOR0 |
---|
939 | 1409 | add x0, x0, :lo12:.LANCHOR0 |
---|
| 1410 | + hint 25 // paciasp |
---|
940 | 1411 | ldr x1, [x0, 2568] |
---|
941 | | - cbz x1, .L121 |
---|
942 | | - ldr x3, [x0, 2560] |
---|
| 1412 | + cbz x1, .L165 |
---|
943 | 1413 | mov w4, 6 |
---|
| 1414 | + ldr x3, [x0, 2560] |
---|
944 | 1415 | mov w0, 65535 |
---|
945 | | -.L118: |
---|
946 | | - cbz w2, .L119 |
---|
| 1416 | +.L162: |
---|
| 1417 | + cbz w2, .L163 |
---|
947 | 1418 | ldrh w1, [x1] |
---|
948 | 1419 | cmp w1, w0 |
---|
949 | | - bne .L120 |
---|
| 1420 | + bne .L164 |
---|
| 1421 | +.L160: |
---|
| 1422 | + hint 29 // autiasp |
---|
950 | 1423 | ret |
---|
951 | | -.L120: |
---|
| 1424 | +.L164: |
---|
952 | 1425 | sub w2, w2, #1 |
---|
953 | 1426 | umaddl x1, w1, w4, x3 |
---|
954 | 1427 | and w2, w2, 65535 |
---|
955 | | - b .L118 |
---|
956 | | -.L121: |
---|
| 1428 | + b .L162 |
---|
| 1429 | +.L165: |
---|
957 | 1430 | mov w0, 65535 |
---|
958 | | - ret |
---|
959 | | -.L119: |
---|
| 1431 | + b .L160 |
---|
| 1432 | +.L163: |
---|
960 | 1433 | sub x0, x1, x3 |
---|
961 | 1434 | mov x1, -6148914691236517206 |
---|
962 | | - asr x0, x0, 1 |
---|
963 | 1435 | movk x1, 0xaaab, lsl 0 |
---|
| 1436 | + asr x0, x0, 1 |
---|
964 | 1437 | mul x0, x0, x1 |
---|
965 | 1438 | and w0, w0, 65535 |
---|
966 | | - ret |
---|
| 1439 | + b .L160 |
---|
967 | 1440 | .size List_get_gc_head_node, .-List_get_gc_head_node |
---|
968 | 1441 | .align 2 |
---|
969 | 1442 | .global List_update_data_list |
---|
970 | 1443 | .type List_update_data_list, %function |
---|
971 | 1444 | List_update_data_list: |
---|
| 1445 | + hint 34 // bti c |
---|
| 1446 | + .section __patchable_function_entries |
---|
| 1447 | + .align 3 |
---|
| 1448 | + .8byte .LPFE30 |
---|
| 1449 | + .text |
---|
| 1450 | +.LPFE30: |
---|
| 1451 | + nop |
---|
| 1452 | + nop |
---|
| 1453 | + hint 25 // paciasp |
---|
972 | 1454 | stp x29, x30, [sp, -64]! |
---|
973 | | - add x29, sp, 0 |
---|
| 1455 | + mov x29, sp |
---|
974 | 1456 | stp x19, x20, [sp, 16] |
---|
975 | | - and w20, w0, 65535 |
---|
976 | 1457 | adrp x19, .LANCHOR0 |
---|
977 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
| 1458 | + add x19, x19, :lo12:.LANCHOR0 |
---|
978 | 1459 | stp x21, x22, [sp, 32] |
---|
| 1460 | + ldrh w1, [x19, 24] |
---|
979 | 1461 | stp x23, x24, [sp, 48] |
---|
980 | | - ldrh w1, [x0, 24] |
---|
981 | | - cmp w1, w20 |
---|
982 | | - beq .L124 |
---|
983 | | - ldrh w1, [x0, 80] |
---|
984 | | - cmp w1, w20 |
---|
985 | | - beq .L124 |
---|
986 | | - ldrh w1, [x0, 128] |
---|
987 | | - cmp w1, w20 |
---|
988 | | - beq .L124 |
---|
| 1462 | + cmp w1, w0, uxth |
---|
| 1463 | + beq .L169 |
---|
| 1464 | + and w20, w0, 65535 |
---|
| 1465 | + ldrh w0, [x19, 80] |
---|
| 1466 | + cmp w0, w20 |
---|
| 1467 | + beq .L169 |
---|
| 1468 | + ldrh w0, [x19, 128] |
---|
| 1469 | + cmp w0, w20 |
---|
| 1470 | + beq .L169 |
---|
989 | 1471 | mov w22, 6 |
---|
990 | | - ldr x24, [x0, 2560] |
---|
991 | | - ldr x1, [x0, 2568] |
---|
| 1472 | + ldr x24, [x19, 2560] |
---|
992 | 1473 | umull x22, w20, w22 |
---|
| 1474 | + ldr x0, [x19, 2568] |
---|
993 | 1475 | add x23, x24, x22 |
---|
994 | | - cmp x23, x1 |
---|
995 | | - beq .L124 |
---|
996 | | - ldr x2, [x0, 72] |
---|
997 | | - ubfiz x1, x20, 1, 16 |
---|
| 1476 | + cmp x23, x0 |
---|
| 1477 | + beq .L169 |
---|
| 1478 | + ldr x1, [x19, 72] |
---|
| 1479 | + ubfiz x0, x20, 1, 16 |
---|
| 1480 | + ldrh w21, [x1, x0] |
---|
| 1481 | + mov w1, 65535 |
---|
998 | 1482 | ldrh w0, [x23, 4] |
---|
999 | 1483 | cmp w0, 0 |
---|
1000 | | - ldrh w21, [x2, x1] |
---|
1001 | | - mov w1, 65535 |
---|
1002 | 1484 | mul w21, w21, w0 |
---|
1003 | 1485 | ldrh w0, [x23, 2] |
---|
1004 | 1486 | csinv w21, w21, wzr, ne |
---|
1005 | 1487 | cmp w0, w1 |
---|
1006 | | - bne .L127 |
---|
| 1488 | + bne .L172 |
---|
1007 | 1489 | ldrh w1, [x24, x22] |
---|
1008 | 1490 | cmp w1, w0 |
---|
1009 | | - bne .L127 |
---|
| 1491 | + bne .L172 |
---|
1010 | 1492 | adrp x1, .LANCHOR1 |
---|
1011 | 1493 | add x1, x1, :lo12:.LANCHOR1 |
---|
1012 | | - adrp x0, .LC8 |
---|
| 1494 | + adrp x0, .LC9 |
---|
| 1495 | + add x1, x1, 51 |
---|
| 1496 | + add x0, x0, :lo12:.LC9 |
---|
1013 | 1497 | mov w2, 463 |
---|
1014 | | - add x1, x1, 72 |
---|
1015 | | - add x0, x0, :lo12:.LC8 |
---|
1016 | 1498 | bl sftl_printk |
---|
1017 | | -.L127: |
---|
| 1499 | +.L172: |
---|
1018 | 1500 | ldrh w0, [x23, 2] |
---|
1019 | 1501 | mov w1, 65535 |
---|
1020 | 1502 | cmp w0, w1 |
---|
1021 | | - bne .L128 |
---|
| 1503 | + bne .L173 |
---|
1022 | 1504 | ldrh w1, [x24, x22] |
---|
1023 | 1505 | cmp w1, w0 |
---|
1024 | | - beq .L124 |
---|
1025 | | -.L128: |
---|
| 1506 | + beq .L169 |
---|
| 1507 | +.L173: |
---|
1026 | 1508 | mov w1, 6 |
---|
1027 | | - add x22, x19, :lo12:.LANCHOR0 |
---|
1028 | 1509 | mov x2, -6148914691236517206 |
---|
1029 | | - umull x0, w0, w1 |
---|
1030 | 1510 | movk x2, 0xaaab, lsl 0 |
---|
| 1511 | + umull x0, w0, w1 |
---|
1031 | 1512 | asr x1, x0, 1 |
---|
1032 | 1513 | mul x1, x1, x2 |
---|
1033 | | - ldr x2, [x22, 72] |
---|
| 1514 | + ldr x2, [x19, 72] |
---|
1034 | 1515 | ldrh w1, [x2, x1, lsl 1] |
---|
1035 | | - ldr x2, [x22, 2560] |
---|
| 1516 | + ldr x2, [x19, 2560] |
---|
1036 | 1517 | add x0, x2, x0 |
---|
1037 | 1518 | ldrh w2, [x0, 4] |
---|
1038 | 1519 | cmp w2, 0 |
---|
1039 | 1520 | mul w0, w1, w2 |
---|
1040 | 1521 | csinv w0, w0, wzr, ne |
---|
1041 | 1522 | cmp w21, w0 |
---|
1042 | | - bcs .L124 |
---|
| 1523 | + bcs .L169 |
---|
1043 | 1524 | mov w1, w20 |
---|
1044 | | - add x0, x22, 2568 |
---|
| 1525 | + add x0, x19, 2568 |
---|
1045 | 1526 | bl List_remove_node |
---|
1046 | | - ldrh w0, [x22, 2584] |
---|
1047 | | - cbnz w0, .L130 |
---|
| 1527 | + ldrh w0, [x19, 2584] |
---|
| 1528 | + cbnz w0, .L175 |
---|
1048 | 1529 | adrp x1, .LANCHOR1 |
---|
1049 | 1530 | add x1, x1, :lo12:.LANCHOR1 |
---|
1050 | | - adrp x0, .LC8 |
---|
| 1531 | + adrp x0, .LC9 |
---|
| 1532 | + add x1, x1, 51 |
---|
| 1533 | + add x0, x0, :lo12:.LC9 |
---|
1051 | 1534 | mov w2, 474 |
---|
1052 | | - add x1, x1, 72 |
---|
1053 | | - add x0, x0, :lo12:.LC8 |
---|
1054 | 1535 | bl sftl_printk |
---|
1055 | | -.L130: |
---|
1056 | | - add x19, x19, :lo12:.LANCHOR0 |
---|
| 1536 | +.L175: |
---|
1057 | 1537 | ldrh w0, [x19, 2584] |
---|
1058 | 1538 | sub w0, w0, #1 |
---|
1059 | 1539 | strh w0, [x19, 2584] |
---|
1060 | 1540 | mov w0, w20 |
---|
1061 | 1541 | bl INSERT_DATA_LIST |
---|
1062 | | -.L124: |
---|
| 1542 | +.L169: |
---|
1063 | 1543 | mov w0, 0 |
---|
1064 | 1544 | ldp x19, x20, [sp, 16] |
---|
1065 | 1545 | ldp x21, x22, [sp, 32] |
---|
1066 | 1546 | ldp x23, x24, [sp, 48] |
---|
1067 | 1547 | ldp x29, x30, [sp], 64 |
---|
| 1548 | + hint 29 // autiasp |
---|
1068 | 1549 | ret |
---|
1069 | 1550 | .size List_update_data_list, .-List_update_data_list |
---|
1070 | 1551 | .align 2 |
---|
1071 | 1552 | .global select_l2p_ram_region |
---|
1072 | 1553 | .type select_l2p_ram_region, %function |
---|
1073 | 1554 | select_l2p_ram_region: |
---|
| 1555 | + hint 34 // bti c |
---|
| 1556 | + .section __patchable_function_entries |
---|
| 1557 | + .align 3 |
---|
| 1558 | + .8byte .LPFE31 |
---|
| 1559 | + .text |
---|
| 1560 | +.LPFE31: |
---|
| 1561 | + nop |
---|
| 1562 | + nop |
---|
| 1563 | + hint 25 // paciasp |
---|
1074 | 1564 | stp x29, x30, [sp, -32]! |
---|
1075 | | - adrp x1, .LANCHOR0 |
---|
1076 | | - add x0, x1, :lo12:.LANCHOR0 |
---|
| 1565 | + adrp x2, .LANCHOR0 |
---|
| 1566 | + mov x29, sp |
---|
| 1567 | + add x2, x2, :lo12:.LANCHOR0 |
---|
1077 | 1568 | mov x3, 0 |
---|
1078 | | - add x29, sp, 0 |
---|
1079 | 1569 | str x19, [sp, 16] |
---|
1080 | | - mov w4, 65535 |
---|
1081 | | - ldrh w2, [x0, 342] |
---|
1082 | | - ldr x0, [x0, 2608] |
---|
1083 | | -.L135: |
---|
| 1570 | + mov w5, 65535 |
---|
| 1571 | + ldr x0, [x2, 2608] |
---|
| 1572 | + ldrh w1, [x2, 342] |
---|
| 1573 | + sub x4, x0, #16 |
---|
| 1574 | +.L180: |
---|
1084 | 1575 | and w19, w3, 65535 |
---|
1085 | | - cmp w19, w2 |
---|
1086 | | - bcc .L137 |
---|
1087 | | - add x4, x0, 4 |
---|
1088 | | - mov w19, w2 |
---|
1089 | | - mov w6, -2147483648 |
---|
1090 | | - mov w3, 0 |
---|
1091 | | -.L138: |
---|
1092 | | - cmp w3, w2 |
---|
1093 | | - bne .L140 |
---|
1094 | | - cmp w19, w2 |
---|
1095 | | - bcc .L136 |
---|
1096 | | - add x1, x1, :lo12:.LANCHOR0 |
---|
1097 | | - mov w19, w2 |
---|
| 1576 | + cmp w1, w3, uxth |
---|
| 1577 | + bhi .L182 |
---|
| 1578 | + mov w19, w1 |
---|
| 1579 | + add x7, x0, 4 |
---|
| 1580 | + mov x3, 0 |
---|
| 1581 | + mov w5, -2147483648 |
---|
| 1582 | +.L183: |
---|
| 1583 | + and w6, w3, 65535 |
---|
| 1584 | + cmp w1, w3, uxth |
---|
| 1585 | + bhi .L185 |
---|
| 1586 | + cmp w1, w19 |
---|
| 1587 | + bhi .L181 |
---|
| 1588 | + mov w19, w1 |
---|
| 1589 | + ldrh w5, [x2, 2616] |
---|
1098 | 1590 | mov w3, -1 |
---|
1099 | | - ldrh w4, [x1, 2616] |
---|
1100 | | - mov w1, 0 |
---|
1101 | | -.L141: |
---|
| 1591 | + mov w2, 0 |
---|
| 1592 | +.L186: |
---|
1102 | 1593 | cmp w1, w2 |
---|
1103 | | - bne .L143 |
---|
1104 | | - cmp w19, w1 |
---|
1105 | | - bcc .L136 |
---|
| 1594 | + bne .L188 |
---|
| 1595 | + cmp w1, w19 |
---|
| 1596 | + bhi .L181 |
---|
1106 | 1597 | adrp x1, .LANCHOR1 |
---|
1107 | 1598 | add x1, x1, :lo12:.LANCHOR1 |
---|
| 1599 | + add x1, x1, 73 |
---|
1108 | 1600 | mov w2, 796 |
---|
1109 | | - add x1, x1, 96 |
---|
1110 | | - adrp x0, .LC8 |
---|
1111 | | - add x0, x0, :lo12:.LC8 |
---|
| 1601 | + adrp x0, .LC9 |
---|
| 1602 | + add x0, x0, :lo12:.LC9 |
---|
1112 | 1603 | bl sftl_printk |
---|
1113 | | - b .L136 |
---|
1114 | | -.L137: |
---|
| 1604 | + b .L181 |
---|
| 1605 | +.L182: |
---|
1115 | 1606 | add x3, x3, 1 |
---|
1116 | | - add x5, x0, x3, lsl 4 |
---|
1117 | | - ldrh w5, [x5, -16] |
---|
1118 | | - cmp w5, w4 |
---|
1119 | | - bne .L135 |
---|
1120 | | -.L136: |
---|
| 1607 | + lsl x6, x3, 4 |
---|
| 1608 | + ldrh w6, [x4, x6] |
---|
| 1609 | + cmp w6, w5 |
---|
| 1610 | + bne .L180 |
---|
| 1611 | +.L181: |
---|
1121 | 1612 | mov w0, w19 |
---|
1122 | 1613 | ldr x19, [sp, 16] |
---|
1123 | 1614 | ldp x29, x30, [sp], 32 |
---|
| 1615 | + hint 29 // autiasp |
---|
1124 | 1616 | ret |
---|
1125 | | -.L140: |
---|
1126 | | - ldr w5, [x4] |
---|
1127 | | - tbnz w5, #31, .L139 |
---|
| 1617 | +.L185: |
---|
| 1618 | + lsl x4, x3, 4 |
---|
| 1619 | + ldr w4, [x7, x4] |
---|
| 1620 | + tbnz w4, #31, .L184 |
---|
| 1621 | + cmp w4, w5 |
---|
| 1622 | + bcs .L184 |
---|
| 1623 | + mov w5, w4 |
---|
| 1624 | + mov w19, w6 |
---|
| 1625 | +.L184: |
---|
| 1626 | + add x3, x3, 1 |
---|
| 1627 | + b .L183 |
---|
| 1628 | +.L188: |
---|
| 1629 | + ldr w4, [x0, 4] |
---|
| 1630 | + cmp w4, w3 |
---|
| 1631 | + bcs .L187 |
---|
| 1632 | + ldrh w6, [x0] |
---|
1128 | 1633 | cmp w6, w5 |
---|
1129 | | - bls .L139 |
---|
1130 | | - mov w6, w5 |
---|
1131 | | - mov w19, w3 |
---|
1132 | | -.L139: |
---|
1133 | | - add w3, w3, 1 |
---|
1134 | | - add x4, x4, 16 |
---|
1135 | | - and w3, w3, 65535 |
---|
1136 | | - b .L138 |
---|
1137 | | -.L143: |
---|
1138 | | - ldr w6, [x0, 4] |
---|
1139 | | - cmp w3, w6 |
---|
1140 | | - bls .L142 |
---|
1141 | | - ldrh w5, [x0] |
---|
1142 | | - cmp w5, w4 |
---|
1143 | | - csel w3, w3, w6, eq |
---|
1144 | | - csel w19, w19, w1, eq |
---|
1145 | | -.L142: |
---|
1146 | | - add w1, w1, 1 |
---|
| 1634 | + csel w3, w3, w4, eq |
---|
| 1635 | + csel w19, w19, w2, eq |
---|
| 1636 | +.L187: |
---|
| 1637 | + add w2, w2, 1 |
---|
1147 | 1638 | add x0, x0, 16 |
---|
1148 | | - and w1, w1, 65535 |
---|
1149 | | - b .L141 |
---|
| 1639 | + and w2, w2, 65535 |
---|
| 1640 | + b .L186 |
---|
1150 | 1641 | .size select_l2p_ram_region, .-select_l2p_ram_region |
---|
1151 | 1642 | .align 2 |
---|
1152 | 1643 | .global FtlUpdateVaildLpn |
---|
1153 | 1644 | .type FtlUpdateVaildLpn, %function |
---|
1154 | 1645 | FtlUpdateVaildLpn: |
---|
| 1646 | + hint 34 // bti c |
---|
| 1647 | + .section __patchable_function_entries |
---|
| 1648 | + .align 3 |
---|
| 1649 | + .8byte .LPFE32 |
---|
| 1650 | + .text |
---|
| 1651 | +.LPFE32: |
---|
| 1652 | + nop |
---|
| 1653 | + nop |
---|
1155 | 1654 | adrp x1, .LANCHOR0 |
---|
1156 | | - add x3, x1, :lo12:.LANCHOR0 |
---|
1157 | | - ldrh w2, [x3, 2618] |
---|
| 1655 | + add x1, x1, :lo12:.LANCHOR0 |
---|
| 1656 | + hint 25 // paciasp |
---|
| 1657 | + ldrh w2, [x1, 2618] |
---|
1158 | 1658 | cmp w2, 4 |
---|
1159 | | - bhi .L146 |
---|
1160 | | - cbnz w0, .L146 |
---|
| 1659 | + bhi .L191 |
---|
| 1660 | + cbnz w0, .L191 |
---|
1161 | 1661 | add w2, w2, 1 |
---|
1162 | | - strh w2, [x3, 2618] |
---|
| 1662 | + strh w2, [x1, 2618] |
---|
| 1663 | +.L190: |
---|
| 1664 | + hint 29 // autiasp |
---|
1163 | 1665 | ret |
---|
1164 | | -.L146: |
---|
1165 | | - add x0, x1, :lo12:.LANCHOR0 |
---|
| 1666 | +.L191: |
---|
| 1667 | + ldrh w4, [x1, 244] |
---|
| 1668 | + mov x0, 0 |
---|
| 1669 | + ldr x5, [x1, 72] |
---|
1166 | 1670 | mov w6, 65535 |
---|
1167 | | - mov x1, 0 |
---|
1168 | | - ldrh w4, [x0, 244] |
---|
1169 | | - ldr x5, [x0, 72] |
---|
1170 | | - strh wzr, [x0, 2618] |
---|
1171 | | - str wzr, [x0, 2620] |
---|
1172 | | -.L147: |
---|
1173 | | - cmp w4, w1, uxth |
---|
1174 | | - bhi .L149 |
---|
1175 | | - ret |
---|
1176 | | -.L149: |
---|
1177 | | - ldrh w3, [x5, x1, lsl 1] |
---|
| 1671 | + strh wzr, [x1, 2618] |
---|
| 1672 | + str wzr, [x1, 2620] |
---|
| 1673 | +.L192: |
---|
| 1674 | + cmp w4, w0, uxth |
---|
| 1675 | + bls .L190 |
---|
| 1676 | + ldrh w3, [x5, x0, lsl 1] |
---|
1178 | 1677 | cmp w3, w6 |
---|
1179 | | - beq .L148 |
---|
1180 | | - ldr w2, [x0, 2620] |
---|
| 1678 | + beq .L193 |
---|
| 1679 | + ldr w2, [x1, 2620] |
---|
1181 | 1680 | add w2, w2, w3 |
---|
1182 | | - str w2, [x0, 2620] |
---|
1183 | | -.L148: |
---|
1184 | | - add x1, x1, 1 |
---|
1185 | | - b .L147 |
---|
| 1681 | + str w2, [x1, 2620] |
---|
| 1682 | +.L193: |
---|
| 1683 | + add x0, x0, 1 |
---|
| 1684 | + b .L192 |
---|
1186 | 1685 | .size FtlUpdateVaildLpn, .-FtlUpdateVaildLpn |
---|
1187 | 1686 | .align 2 |
---|
1188 | 1687 | .global ftl_sb_update_avl_pages |
---|
1189 | 1688 | .type ftl_sb_update_avl_pages, %function |
---|
1190 | 1689 | ftl_sb_update_avl_pages: |
---|
1191 | | - and w6, w1, 65535 |
---|
1192 | | - adrp x4, .LANCHOR0 |
---|
1193 | | - add x1, x4, :lo12:.LANCHOR0 |
---|
1194 | | - and w2, w2, 65535 |
---|
1195 | | - strh wzr, [x0, 4] |
---|
1196 | | - ldrh w3, [x1, 236] |
---|
1197 | | - mov w1, 65535 |
---|
1198 | | -.L152: |
---|
1199 | | - cmp w3, w2, uxth |
---|
1200 | | - bhi .L154 |
---|
1201 | | - add x4, x4, :lo12:.LANCHOR0 |
---|
1202 | | - ubfiz x3, x3, 1, 16 |
---|
1203 | | - add x3, x3, 16 |
---|
1204 | | - add x2, x0, 16 |
---|
1205 | | - add x3, x0, x3 |
---|
1206 | | - mov w5, 65535 |
---|
1207 | | - ldrh w1, [x4, 306] |
---|
1208 | | - sub w1, w1, #1 |
---|
| 1690 | + hint 34 // bti c |
---|
| 1691 | + .section __patchable_function_entries |
---|
| 1692 | + .align 3 |
---|
| 1693 | + .8byte .LPFE33 |
---|
| 1694 | + .text |
---|
| 1695 | +.LPFE33: |
---|
| 1696 | + nop |
---|
| 1697 | + nop |
---|
| 1698 | + adrp x3, .LANCHOR0 |
---|
| 1699 | + add x3, x3, :lo12:.LANCHOR0 |
---|
1209 | 1700 | and w1, w1, 65535 |
---|
1210 | | - sub w1, w1, w6 |
---|
1211 | | -.L155: |
---|
1212 | | - cmp x2, x3 |
---|
1213 | | - bne .L157 |
---|
| 1701 | + and w2, w2, 65535 |
---|
| 1702 | + mov w6, 65535 |
---|
| 1703 | + strh wzr, [x0, 4] |
---|
| 1704 | + ldrh w5, [x3, 236] |
---|
| 1705 | + hint 25 // paciasp |
---|
| 1706 | +.L198: |
---|
| 1707 | + cmp w5, w2, uxth |
---|
| 1708 | + bhi .L200 |
---|
| 1709 | + ldrh w2, [x3, 306] |
---|
| 1710 | + add x4, x0, 16 |
---|
| 1711 | + mov w6, 65535 |
---|
| 1712 | + sub w2, w2, w1 |
---|
| 1713 | + mov x1, 0 |
---|
| 1714 | + sub w2, w2, #1 |
---|
| 1715 | + sxth w2, w2 |
---|
| 1716 | +.L201: |
---|
| 1717 | + cmp w5, w1, uxth |
---|
| 1718 | + bhi .L203 |
---|
| 1719 | + hint 29 // autiasp |
---|
1214 | 1720 | ret |
---|
1215 | | -.L154: |
---|
1216 | | - add x5, x0, x2, sxtw 1 |
---|
1217 | | - ldrh w5, [x5, 16] |
---|
1218 | | - cmp w5, w1 |
---|
1219 | | - beq .L153 |
---|
1220 | | - ldrh w5, [x0, 4] |
---|
1221 | | - add w5, w5, 1 |
---|
1222 | | - strh w5, [x0, 4] |
---|
1223 | | -.L153: |
---|
1224 | | - add w2, w2, 1 |
---|
1225 | | - b .L152 |
---|
1226 | | -.L157: |
---|
1227 | | - ldrh w4, [x2] |
---|
1228 | | - cmp w4, w5 |
---|
1229 | | - beq .L156 |
---|
| 1721 | +.L200: |
---|
| 1722 | + add x4, x0, w2, sxtw 1 |
---|
| 1723 | + ldrh w4, [x4, 16] |
---|
| 1724 | + cmp w4, w6 |
---|
| 1725 | + beq .L199 |
---|
1230 | 1726 | ldrh w4, [x0, 4] |
---|
1231 | | - add w4, w1, w4 |
---|
| 1727 | + add w4, w4, 1 |
---|
1232 | 1728 | strh w4, [x0, 4] |
---|
1233 | | -.L156: |
---|
1234 | | - add x2, x2, 2 |
---|
1235 | | - b .L155 |
---|
| 1729 | +.L199: |
---|
| 1730 | + add w2, w2, 1 |
---|
| 1731 | + b .L198 |
---|
| 1732 | +.L203: |
---|
| 1733 | + ldrh w3, [x4, x1, lsl 1] |
---|
| 1734 | + cmp w3, w6 |
---|
| 1735 | + beq .L202 |
---|
| 1736 | + ldrh w3, [x0, 4] |
---|
| 1737 | + add w3, w2, w3 |
---|
| 1738 | + strh w3, [x0, 4] |
---|
| 1739 | +.L202: |
---|
| 1740 | + add x1, x1, 1 |
---|
| 1741 | + b .L201 |
---|
1236 | 1742 | .size ftl_sb_update_avl_pages, .-ftl_sb_update_avl_pages |
---|
1237 | 1743 | .align 2 |
---|
1238 | 1744 | .global FtlSlcSuperblockCheck |
---|
1239 | 1745 | .type FtlSlcSuperblockCheck, %function |
---|
1240 | 1746 | FtlSlcSuperblockCheck: |
---|
| 1747 | + hint 34 // bti c |
---|
| 1748 | + .section __patchable_function_entries |
---|
| 1749 | + .align 3 |
---|
| 1750 | + .8byte .LPFE34 |
---|
| 1751 | + .text |
---|
| 1752 | +.LPFE34: |
---|
| 1753 | + nop |
---|
| 1754 | + nop |
---|
1241 | 1755 | ldrh w1, [x0, 4] |
---|
1242 | | - cbz w1, .L158 |
---|
1243 | | - ldrh w2, [x0] |
---|
1244 | | - mov w1, 65535 |
---|
1245 | | - cmp w2, w1 |
---|
1246 | | - beq .L158 |
---|
1247 | | - ldrb w2, [x0, 6] |
---|
1248 | | - add x2, x2, 8 |
---|
1249 | | - ldrh w3, [x0, x2, lsl 1] |
---|
1250 | | - adrp x2, .LANCHOR0+236 |
---|
1251 | | - ldrh w4, [x2, #:lo12:.LANCHOR0+236] |
---|
1252 | | - mov w2, w1 |
---|
1253 | | -.L161: |
---|
1254 | | - cmp w3, w2 |
---|
1255 | | - beq .L163 |
---|
1256 | | -.L158: |
---|
| 1756 | + hint 25 // paciasp |
---|
| 1757 | + cbz w1, .L205 |
---|
| 1758 | + ldrh w1, [x0] |
---|
| 1759 | + mov w2, 65535 |
---|
| 1760 | + cmp w1, w2 |
---|
| 1761 | + beq .L205 |
---|
| 1762 | + ldrb w1, [x0, 6] |
---|
| 1763 | + adrp x3, .LANCHOR0+236 |
---|
| 1764 | + add x1, x1, 8 |
---|
| 1765 | + ldrh w3, [x3, #:lo12:.LANCHOR0+236] |
---|
| 1766 | + ldrh w1, [x0, x1, lsl 1] |
---|
| 1767 | +.L208: |
---|
| 1768 | + cmp w1, w2 |
---|
| 1769 | + beq .L210 |
---|
| 1770 | +.L205: |
---|
| 1771 | + hint 29 // autiasp |
---|
1257 | 1772 | ret |
---|
1258 | | -.L163: |
---|
| 1773 | +.L210: |
---|
1259 | 1774 | ldrb w1, [x0, 6] |
---|
1260 | 1775 | add w1, w1, 1 |
---|
1261 | 1776 | and w1, w1, 255 |
---|
1262 | 1777 | strb w1, [x0, 6] |
---|
1263 | | - cmp w1, w4 |
---|
1264 | | - bne .L162 |
---|
| 1778 | + cmp w1, w3 |
---|
| 1779 | + bne .L209 |
---|
1265 | 1780 | ldrh w1, [x0, 2] |
---|
1266 | 1781 | strb wzr, [x0, 6] |
---|
1267 | 1782 | add w1, w1, 1 |
---|
1268 | 1783 | strh w1, [x0, 2] |
---|
1269 | | -.L162: |
---|
| 1784 | +.L209: |
---|
1270 | 1785 | ldrb w1, [x0, 6] |
---|
1271 | 1786 | add x1, x1, 8 |
---|
1272 | | - ldrh w3, [x0, x1, lsl 1] |
---|
1273 | | - b .L161 |
---|
| 1787 | + ldrh w1, [x0, x1, lsl 1] |
---|
| 1788 | + b .L208 |
---|
1274 | 1789 | .size FtlSlcSuperblockCheck, .-FtlSlcSuperblockCheck |
---|
1275 | 1790 | .align 2 |
---|
1276 | 1791 | .global make_superblock |
---|
1277 | 1792 | .type make_superblock, %function |
---|
1278 | 1793 | make_superblock: |
---|
1279 | | - stp x29, x30, [sp, -32]! |
---|
1280 | | - add x29, sp, 0 |
---|
| 1794 | + hint 34 // bti c |
---|
| 1795 | + .section __patchable_function_entries |
---|
| 1796 | + .align 3 |
---|
| 1797 | + .8byte .LPFE35 |
---|
| 1798 | + .text |
---|
| 1799 | +.LPFE35: |
---|
| 1800 | + nop |
---|
| 1801 | + nop |
---|
| 1802 | + hint 25 // paciasp |
---|
| 1803 | + stp x29, x30, [sp, -96]! |
---|
| 1804 | + mov x29, sp |
---|
1281 | 1805 | stp x19, x20, [sp, 16] |
---|
1282 | | - mov x19, x0 |
---|
1283 | 1806 | adrp x20, .LANCHOR0 |
---|
1284 | | - add x0, x20, :lo12:.LANCHOR0 |
---|
1285 | | - ldrh w1, [x19] |
---|
1286 | | - ldrh w0, [x0, 244] |
---|
| 1807 | + add x20, x20, :lo12:.LANCHOR0 |
---|
| 1808 | + stp x21, x22, [sp, 32] |
---|
| 1809 | + mov x19, x0 |
---|
| 1810 | + stp x23, x24, [sp, 48] |
---|
| 1811 | + stp x25, x26, [sp, 64] |
---|
| 1812 | + str x27, [sp, 80] |
---|
| 1813 | + ldrh w1, [x0] |
---|
| 1814 | + ldrh w0, [x20, 244] |
---|
1287 | 1815 | cmp w1, w0 |
---|
1288 | | - bcc .L165 |
---|
| 1816 | + bcc .L213 |
---|
1289 | 1817 | adrp x1, .LANCHOR1 |
---|
1290 | 1818 | add x1, x1, :lo12:.LANCHOR1 |
---|
1291 | | - adrp x0, .LC8 |
---|
| 1819 | + adrp x0, .LC9 |
---|
| 1820 | + add x1, x1, 95 |
---|
| 1821 | + add x0, x0, :lo12:.LC9 |
---|
1292 | 1822 | mov w2, 2157 |
---|
1293 | | - add x1, x1, 120 |
---|
1294 | | - add x0, x0, :lo12:.LC8 |
---|
1295 | 1823 | bl sftl_printk |
---|
1296 | | -.L165: |
---|
1297 | | - add x0, x20, :lo12:.LANCHOR0 |
---|
1298 | | - add x6, x19, 16 |
---|
1299 | | - add x7, x0, 264 |
---|
| 1824 | +.L213: |
---|
| 1825 | + ldrh w26, [x20, 236] |
---|
| 1826 | + add x23, x19, 16 |
---|
| 1827 | + add x27, x20, 264 |
---|
| 1828 | + mov x22, 0 |
---|
| 1829 | + mov w25, -1 |
---|
1300 | 1830 | strh wzr, [x19, 4] |
---|
1301 | 1831 | strb wzr, [x19, 7] |
---|
1302 | | - mov x5, 0 |
---|
1303 | | - ldrh w8, [x0, 236] |
---|
1304 | | - mov w9, -1 |
---|
1305 | | -.L166: |
---|
1306 | | - cmp w8, w5, uxth |
---|
1307 | | - bhi .L168 |
---|
1308 | | - add x20, x20, :lo12:.LANCHOR0 |
---|
1309 | | - ldrb w0, [x19, 7] |
---|
1310 | | - strb wzr, [x19, 9] |
---|
1311 | | - ldrh w1, [x20, 306] |
---|
1312 | | - mul w0, w0, w1 |
---|
| 1832 | +.L214: |
---|
1313 | 1833 | ldrh w1, [x19] |
---|
1314 | | - strh w0, [x19, 4] |
---|
| 1834 | + ldrb w21, [x19, 7] |
---|
| 1835 | + cmp w26, w22, uxth |
---|
| 1836 | + bhi .L216 |
---|
| 1837 | + ldrh w0, [x20, 306] |
---|
| 1838 | + ubfiz x1, x1, 1, 16 |
---|
| 1839 | + strb wzr, [x19, 9] |
---|
| 1840 | + mul w21, w21, w0 |
---|
| 1841 | + strh w21, [x19, 4] |
---|
1315 | 1842 | ldr x0, [x20, 2600] |
---|
1316 | | - ldrh w1, [x0, x1, lsl 1] |
---|
| 1843 | + ldp x21, x22, [sp, 32] |
---|
| 1844 | + ldrh w1, [x0, x1] |
---|
1317 | 1845 | mov w0, 10000 |
---|
| 1846 | + ldp x23, x24, [sp, 48] |
---|
1318 | 1847 | cmp w1, w0 |
---|
1319 | | - bls .L169 |
---|
1320 | | - mov w0, 1 |
---|
| 1848 | + cset w0, hi |
---|
| 1849 | + ldp x25, x26, [sp, 64] |
---|
1321 | 1850 | strb w0, [x19, 9] |
---|
1322 | | -.L169: |
---|
1323 | 1851 | mov w0, 0 |
---|
1324 | 1852 | ldp x19, x20, [sp, 16] |
---|
1325 | | - ldp x29, x30, [sp], 32 |
---|
| 1853 | + ldr x27, [sp, 80] |
---|
| 1854 | + ldp x29, x30, [sp], 96 |
---|
| 1855 | + hint 29 // autiasp |
---|
1326 | 1856 | ret |
---|
1327 | | -.L168: |
---|
1328 | | - ldrh w1, [x19] |
---|
1329 | | - ldrb w0, [x7, x5] |
---|
| 1857 | +.L216: |
---|
| 1858 | + ldrb w0, [x27, x22] |
---|
1330 | 1859 | bl V2P_block |
---|
1331 | | - mov w4, w0 |
---|
1332 | | - strh w9, [x6] |
---|
| 1860 | + strh w25, [x23] |
---|
| 1861 | + mov w24, w0 |
---|
1333 | 1862 | bl FtlBbmIsBadBlock |
---|
1334 | | - cbnz w0, .L167 |
---|
1335 | | - strh w4, [x6] |
---|
1336 | | - ldrb w0, [x19, 7] |
---|
1337 | | - add w0, w0, 1 |
---|
1338 | | - strb w0, [x19, 7] |
---|
1339 | | -.L167: |
---|
1340 | | - add x5, x5, 1 |
---|
1341 | | - add x6, x6, 2 |
---|
1342 | | - b .L166 |
---|
| 1863 | + cbnz w0, .L215 |
---|
| 1864 | + strh w24, [x23] |
---|
| 1865 | + add w21, w21, 1 |
---|
| 1866 | + strb w21, [x19, 7] |
---|
| 1867 | +.L215: |
---|
| 1868 | + add x22, x22, 1 |
---|
| 1869 | + add x23, x23, 2 |
---|
| 1870 | + b .L214 |
---|
1343 | 1871 | .size make_superblock, .-make_superblock |
---|
1344 | 1872 | .align 2 |
---|
1345 | 1873 | .global update_multiplier_value |
---|
1346 | 1874 | .type update_multiplier_value, %function |
---|
1347 | 1875 | update_multiplier_value: |
---|
1348 | | - and w8, w0, 65535 |
---|
1349 | | - adrp x0, .LANCHOR0 |
---|
1350 | | - add x1, x0, :lo12:.LANCHOR0 |
---|
1351 | | - mov x9, 0 |
---|
1352 | | - mov w6, 0 |
---|
1353 | | - mov x5, x0 |
---|
1354 | | - add x7, x1, 264 |
---|
1355 | | - ldrh w10, [x1, 236] |
---|
1356 | | - ldrh w11, [x1, 306] |
---|
1357 | | - cmp w10, w9, uxth |
---|
1358 | | - bhi .L183 |
---|
1359 | | - cbz w6, .L181 |
---|
| 1876 | + hint 34 // bti c |
---|
| 1877 | + .section __patchable_function_entries |
---|
| 1878 | + .align 3 |
---|
| 1879 | + .8byte .LPFE36 |
---|
| 1880 | + .text |
---|
| 1881 | +.LPFE36: |
---|
| 1882 | + nop |
---|
| 1883 | + nop |
---|
| 1884 | + hint 25 // paciasp |
---|
| 1885 | + stp x29, x30, [sp, -80]! |
---|
| 1886 | + mov x29, sp |
---|
| 1887 | + stp x19, x20, [sp, 16] |
---|
| 1888 | + adrp x20, .LANCHOR0 |
---|
| 1889 | + add x20, x20, :lo12:.LANCHOR0 |
---|
| 1890 | + stp x23, x24, [sp, 48] |
---|
| 1891 | + mov w19, 0 |
---|
| 1892 | + ldrh w23, [x20, 236] |
---|
| 1893 | + ldrh w24, [x20, 306] |
---|
| 1894 | + stp x21, x22, [sp, 32] |
---|
| 1895 | + and w21, w0, 65535 |
---|
| 1896 | + mov x22, 0 |
---|
| 1897 | + str x25, [sp, 64] |
---|
| 1898 | + add x25, x20, 264 |
---|
| 1899 | +.L220: |
---|
| 1900 | + cmp w23, w22, uxth |
---|
| 1901 | + bhi .L222 |
---|
| 1902 | + cbz w19, .L223 |
---|
1360 | 1903 | mov w0, 32768 |
---|
1361 | | - sdiv w6, w0, w6 |
---|
1362 | | -.L182: |
---|
1363 | | - add x0, x5, :lo12:.LANCHOR0 |
---|
| 1904 | + udiv w19, w0, w19 |
---|
| 1905 | +.L223: |
---|
| 1906 | + ldr x0, [x20, 2560] |
---|
1364 | 1907 | mov w1, 6 |
---|
1365 | | - ldr x0, [x0, 2560] |
---|
1366 | | - umaddl x8, w8, w1, x0 |
---|
| 1908 | + umaddl x21, w21, w1, x0 |
---|
1367 | 1909 | mov w0, 0 |
---|
1368 | | - strh w6, [x8, 4] |
---|
| 1910 | + strh w19, [x21, 4] |
---|
| 1911 | + ldp x19, x20, [sp, 16] |
---|
| 1912 | + ldp x21, x22, [sp, 32] |
---|
| 1913 | + ldp x23, x24, [sp, 48] |
---|
| 1914 | + ldr x25, [sp, 64] |
---|
| 1915 | + ldp x29, x30, [sp], 80 |
---|
| 1916 | + hint 29 // autiasp |
---|
1369 | 1917 | ret |
---|
1370 | | -.L176: |
---|
1371 | | - mov w6, 0 |
---|
1372 | | - b .L175 |
---|
1373 | | -.L181: |
---|
1374 | | - mov w6, 0 |
---|
1375 | | - b .L182 |
---|
1376 | | -.L183: |
---|
1377 | | - stp x29, x30, [sp, -16]! |
---|
1378 | | - add x29, sp, 0 |
---|
1379 | | -.L174: |
---|
1380 | | - ldrb w0, [x7, x9] |
---|
1381 | | - mov w1, w8 |
---|
| 1918 | +.L222: |
---|
| 1919 | + ldrb w0, [x25, x22] |
---|
| 1920 | + mov w1, w21 |
---|
1382 | 1921 | bl V2P_block |
---|
1383 | 1922 | bl FtlBbmIsBadBlock |
---|
1384 | | - cbnz w0, .L173 |
---|
1385 | | - add w6, w6, w11 |
---|
1386 | | - and w6, w6, 65535 |
---|
1387 | | -.L173: |
---|
1388 | | - add x9, x9, 1 |
---|
1389 | | - cmp w10, w9, uxth |
---|
1390 | | - bhi .L174 |
---|
1391 | | - cbz w6, .L176 |
---|
1392 | | - mov w0, 32768 |
---|
1393 | | - sdiv w6, w0, w6 |
---|
1394 | | -.L175: |
---|
1395 | | - add x0, x5, :lo12:.LANCHOR0 |
---|
1396 | | - mov w1, 6 |
---|
1397 | | - ldr x0, [x0, 2560] |
---|
1398 | | - umaddl x8, w8, w1, x0 |
---|
1399 | | - mov w0, 0 |
---|
1400 | | - strh w6, [x8, 4] |
---|
1401 | | - ldp x29, x30, [sp], 16 |
---|
1402 | | - ret |
---|
| 1923 | + cbnz w0, .L221 |
---|
| 1924 | + add w19, w24, w19 |
---|
| 1925 | + and w19, w19, 65535 |
---|
| 1926 | +.L221: |
---|
| 1927 | + add x22, x22, 1 |
---|
| 1928 | + b .L220 |
---|
1403 | 1929 | .size update_multiplier_value, .-update_multiplier_value |
---|
1404 | 1930 | .align 2 |
---|
1405 | 1931 | .global GetFreeBlockMinEraseCount |
---|
1406 | 1932 | .type GetFreeBlockMinEraseCount, %function |
---|
1407 | 1933 | GetFreeBlockMinEraseCount: |
---|
| 1934 | + hint 34 // bti c |
---|
| 1935 | + .section __patchable_function_entries |
---|
| 1936 | + .align 3 |
---|
| 1937 | + .8byte .LPFE37 |
---|
| 1938 | + .text |
---|
| 1939 | +.LPFE37: |
---|
| 1940 | + nop |
---|
| 1941 | + nop |
---|
1408 | 1942 | adrp x1, .LANCHOR0 |
---|
1409 | 1943 | add x1, x1, :lo12:.LANCHOR0 |
---|
| 1944 | + hint 25 // paciasp |
---|
1410 | 1945 | ldr x0, [x1, 2592] |
---|
1411 | | - cbz x0, .L186 |
---|
| 1946 | + cbz x0, .L230 |
---|
1412 | 1947 | ldr x2, [x1, 2560] |
---|
1413 | 1948 | ldr x1, [x1, 2600] |
---|
1414 | 1949 | sub x0, x0, x2 |
---|
.. | .. |
---|
1418 | 1953 | mul x0, x0, x2 |
---|
1419 | 1954 | and x0, x0, 65535 |
---|
1420 | 1955 | ldrh w0, [x1, x0, lsl 1] |
---|
| 1956 | +.L229: |
---|
| 1957 | + hint 29 // autiasp |
---|
1421 | 1958 | ret |
---|
1422 | | -.L186: |
---|
| 1959 | +.L230: |
---|
1423 | 1960 | mov w0, 0 |
---|
1424 | | - ret |
---|
| 1961 | + b .L229 |
---|
1425 | 1962 | .size GetFreeBlockMinEraseCount, .-GetFreeBlockMinEraseCount |
---|
1426 | 1963 | .align 2 |
---|
1427 | 1964 | .global GetFreeBlockMaxEraseCount |
---|
1428 | 1965 | .type GetFreeBlockMaxEraseCount, %function |
---|
1429 | 1966 | GetFreeBlockMaxEraseCount: |
---|
| 1967 | + hint 34 // bti c |
---|
| 1968 | + .section __patchable_function_entries |
---|
| 1969 | + .align 3 |
---|
| 1970 | + .8byte .LPFE38 |
---|
| 1971 | + .text |
---|
| 1972 | +.LPFE38: |
---|
| 1973 | + nop |
---|
| 1974 | + nop |
---|
1430 | 1975 | adrp x2, .LANCHOR0 |
---|
1431 | | - add x4, x2, :lo12:.LANCHOR0 |
---|
| 1976 | + add x2, x2, :lo12:.LANCHOR0 |
---|
| 1977 | + hint 25 // paciasp |
---|
| 1978 | + ldr x1, [x2, 2592] |
---|
| 1979 | + cbz x1, .L238 |
---|
| 1980 | + ldrh w3, [x2, 228] |
---|
| 1981 | + mov w4, 7 |
---|
1432 | 1982 | and w0, w0, 65535 |
---|
1433 | | - ldr x1, [x4, 2592] |
---|
1434 | | - cbz x1, .L194 |
---|
1435 | | - ldrh w3, [x4, 228] |
---|
1436 | | - mov w5, 7 |
---|
1437 | | - ldr x4, [x4, 2560] |
---|
1438 | | - mov w6, 6 |
---|
1439 | | - mov w7, 65535 |
---|
1440 | | - sub x1, x1, x4 |
---|
1441 | | - mul w3, w3, w5 |
---|
1442 | | - asr x1, x1, 1 |
---|
| 1983 | + mul w3, w3, w4 |
---|
1443 | 1984 | asr w3, w3, 3 |
---|
1444 | 1985 | cmp w0, w3 |
---|
1445 | | - csel w0, w3, w0, gt |
---|
| 1986 | + ble .L234 |
---|
| 1987 | + and w0, w3, 65535 |
---|
| 1988 | +.L234: |
---|
| 1989 | + ldr x4, [x2, 2560] |
---|
1446 | 1990 | mov x3, -6148914691236517206 |
---|
1447 | 1991 | movk x3, 0xaaab, lsl 0 |
---|
| 1992 | + mov w6, 6 |
---|
| 1993 | + sub x1, x1, x4 |
---|
| 1994 | + mov w7, 65535 |
---|
| 1995 | + asr x1, x1, 1 |
---|
1448 | 1996 | mul x1, x1, x3 |
---|
1449 | 1997 | mov w3, 0 |
---|
1450 | 1998 | and w1, w1, 65535 |
---|
1451 | | -.L190: |
---|
| 1999 | +.L235: |
---|
1452 | 2000 | cmp w0, w3 |
---|
1453 | | - beq .L193 |
---|
| 2001 | + bne .L237 |
---|
| 2002 | +.L236: |
---|
| 2003 | + ldr x0, [x2, 2600] |
---|
| 2004 | + ubfiz x1, x1, 1, 16 |
---|
| 2005 | + ldrh w0, [x0, x1] |
---|
| 2006 | +.L233: |
---|
| 2007 | + hint 29 // autiasp |
---|
| 2008 | + ret |
---|
| 2009 | +.L237: |
---|
1454 | 2010 | umull x5, w1, w6 |
---|
1455 | 2011 | ldrh w5, [x4, x5] |
---|
1456 | 2012 | cmp w5, w7 |
---|
1457 | | - bne .L191 |
---|
1458 | | -.L193: |
---|
1459 | | - add x2, x2, :lo12:.LANCHOR0 |
---|
1460 | | - ubfiz x1, x1, 1, 16 |
---|
1461 | | - ldr x0, [x2, 2600] |
---|
1462 | | - ldrh w0, [x0, x1] |
---|
1463 | | - ret |
---|
1464 | | -.L191: |
---|
| 2013 | + beq .L236 |
---|
1465 | 2014 | add w3, w3, 1 |
---|
1466 | 2015 | mov w1, w5 |
---|
1467 | 2016 | and w3, w3, 65535 |
---|
1468 | | - b .L190 |
---|
1469 | | -.L194: |
---|
| 2017 | + b .L235 |
---|
| 2018 | +.L238: |
---|
1470 | 2019 | mov w0, 0 |
---|
1471 | | - ret |
---|
| 2020 | + b .L233 |
---|
1472 | 2021 | .size GetFreeBlockMaxEraseCount, .-GetFreeBlockMaxEraseCount |
---|
| 2022 | + .section .rodata.str1.1 |
---|
| 2023 | +.LC10: |
---|
| 2024 | + .string "FLASH INFO:\n" |
---|
| 2025 | +.LC11: |
---|
| 2026 | + .string "Device Capacity: %d MB\n" |
---|
| 2027 | +.LC12: |
---|
| 2028 | + .string "FTL INFO:\n" |
---|
| 2029 | +.LC13: |
---|
| 2030 | + .string "g_MaxLpn = 0x%x\n" |
---|
| 2031 | +.LC14: |
---|
| 2032 | + .string "g_VaildLpn = 0x%x\n" |
---|
| 2033 | +.LC15: |
---|
| 2034 | + .string "read_page_count = 0x%x\n" |
---|
| 2035 | +.LC16: |
---|
| 2036 | + .string "discard_page_count = 0x%x\n" |
---|
| 2037 | +.LC17: |
---|
| 2038 | + .string "write_page_count = 0x%x\n" |
---|
| 2039 | +.LC18: |
---|
| 2040 | + .string "cache_write_count = 0x%x\n" |
---|
| 2041 | +.LC19: |
---|
| 2042 | + .string "l2p_write_count = 0x%x\n" |
---|
| 2043 | +.LC20: |
---|
| 2044 | + .string "gc_page_count = 0x%x\n" |
---|
| 2045 | +.LC21: |
---|
| 2046 | + .string "totle_write = %d MB\n" |
---|
| 2047 | +.LC22: |
---|
| 2048 | + .string "totle_read = %d MB\n" |
---|
| 2049 | +.LC23: |
---|
| 2050 | + .string "GSV = 0x%x\n" |
---|
| 2051 | +.LC24: |
---|
| 2052 | + .string "GDV = 0x%x\n" |
---|
| 2053 | +.LC25: |
---|
| 2054 | + .string "bad blk num = %d\n" |
---|
| 2055 | +.LC26: |
---|
| 2056 | + .string "free_superblocks = 0x%x\n" |
---|
| 2057 | +.LC27: |
---|
| 2058 | + .string "mlc_EC = 0x%x\n" |
---|
| 2059 | +.LC28: |
---|
| 2060 | + .string "slc_EC = 0x%x\n" |
---|
| 2061 | +.LC29: |
---|
| 2062 | + .string "avg_EC = 0x%x\n" |
---|
| 2063 | +.LC30: |
---|
| 2064 | + .string "sys_EC = 0x%x\n" |
---|
| 2065 | +.LC31: |
---|
| 2066 | + .string "max_EC = 0x%x\n" |
---|
| 2067 | +.LC32: |
---|
| 2068 | + .string "min_EC = 0x%x\n" |
---|
| 2069 | +.LC33: |
---|
| 2070 | + .string "PLT = 0x%x\n" |
---|
| 2071 | +.LC34: |
---|
| 2072 | + .string "POT = 0x%x\n" |
---|
| 2073 | +.LC35: |
---|
| 2074 | + .string "MaxSector = 0x%x\n" |
---|
| 2075 | +.LC36: |
---|
| 2076 | + .string "init_sys_blks_pp = 0x%x\n" |
---|
| 2077 | +.LC37: |
---|
| 2078 | + .string "sys_blks_pp = 0x%x\n" |
---|
| 2079 | +.LC38: |
---|
| 2080 | + .string "free sysblock = 0x%x\n" |
---|
| 2081 | +.LC39: |
---|
| 2082 | + .string "data_blks_pp = 0x%x\n" |
---|
| 2083 | +.LC40: |
---|
| 2084 | + .string "data_op_blks_pp = 0x%x\n" |
---|
| 2085 | +.LC41: |
---|
| 2086 | + .string "max_data_blks = 0x%x\n" |
---|
| 2087 | +.LC42: |
---|
| 2088 | + .string "Sys.id = 0x%x\n" |
---|
| 2089 | +.LC43: |
---|
| 2090 | + .string "Bbt.id = 0x%x\n" |
---|
| 2091 | +.LC44: |
---|
| 2092 | + .string "ACT.page = 0x%x\n" |
---|
| 2093 | +.LC45: |
---|
| 2094 | + .string "ACT.plane = 0x%x\n" |
---|
| 2095 | +.LC46: |
---|
| 2096 | + .string "ACT.id = 0x%x\n" |
---|
| 2097 | +.LC47: |
---|
| 2098 | + .string "ACT.mode = 0x%x\n" |
---|
| 2099 | +.LC48: |
---|
| 2100 | + .string "ACT.a_pages = 0x%x\n" |
---|
| 2101 | +.LC49: |
---|
| 2102 | + .string "ACT VPC = 0x%x\n" |
---|
| 2103 | +.LC50: |
---|
| 2104 | + .string "BUF.page = 0x%x\n" |
---|
| 2105 | +.LC51: |
---|
| 2106 | + .string "BUF.plane = 0x%x\n" |
---|
| 2107 | +.LC52: |
---|
| 2108 | + .string "BUF.id = 0x%x\n" |
---|
| 2109 | +.LC53: |
---|
| 2110 | + .string "BUF.mode = 0x%x\n" |
---|
| 2111 | +.LC54: |
---|
| 2112 | + .string "BUF.a_pages = 0x%x\n" |
---|
| 2113 | +.LC55: |
---|
| 2114 | + .string "BUF VPC = 0x%x\n" |
---|
| 2115 | +.LC56: |
---|
| 2116 | + .string "TMP.page = 0x%x\n" |
---|
| 2117 | +.LC57: |
---|
| 2118 | + .string "TMP.plane = 0x%x\n" |
---|
| 2119 | +.LC58: |
---|
| 2120 | + .string "TMP.id = 0x%x\n" |
---|
| 2121 | +.LC59: |
---|
| 2122 | + .string "TMP.mode = 0x%x\n" |
---|
| 2123 | +.LC60: |
---|
| 2124 | + .string "TMP.a_pages = 0x%x\n" |
---|
| 2125 | +.LC61: |
---|
| 2126 | + .string "GC.page = 0x%x\n" |
---|
| 2127 | +.LC62: |
---|
| 2128 | + .string "GC.plane = 0x%x\n" |
---|
| 2129 | +.LC63: |
---|
| 2130 | + .string "GC.id = 0x%x\n" |
---|
| 2131 | +.LC64: |
---|
| 2132 | + .string "GC.mode = 0x%x\n" |
---|
| 2133 | +.LC65: |
---|
| 2134 | + .string "GC.a_pages = 0x%x\n" |
---|
| 2135 | +.LC66: |
---|
| 2136 | + .string "WR_CHK = %x %x %x\n" |
---|
| 2137 | +.LC67: |
---|
| 2138 | + .string "Read Err Cnt = 0x%x\n" |
---|
| 2139 | +.LC68: |
---|
| 2140 | + .string "Prog Err Cnt = 0x%x\n" |
---|
| 2141 | +.LC69: |
---|
| 2142 | + .string "gc_free_blk_th= 0x%x\n" |
---|
| 2143 | +.LC70: |
---|
| 2144 | + .string "gc_merge_free_blk_th= 0x%x\n" |
---|
| 2145 | +.LC71: |
---|
| 2146 | + .string "gc_skip_write_count= 0x%x\n" |
---|
| 2147 | +.LC72: |
---|
| 2148 | + .string "gc_blk_index= 0x%x\n" |
---|
| 2149 | +.LC73: |
---|
| 2150 | + .string "free min EC= 0x%x\n" |
---|
| 2151 | +.LC74: |
---|
| 2152 | + .string "free max EC= 0x%x\n" |
---|
| 2153 | +.LC75: |
---|
| 2154 | + .string "GC__SB VPC = 0x%x\n" |
---|
| 2155 | +.LC76: |
---|
| 2156 | + .string "%d. [0x%x]=0x%x 0x%x 0x%x\n" |
---|
| 2157 | +.LC77: |
---|
| 2158 | + .string "free %d. [0x%x] 0x%x 0x%x\n" |
---|
| 2159 | + .text |
---|
1473 | 2160 | .align 2 |
---|
1474 | 2161 | .global FtlPrintInfo2buf |
---|
1475 | 2162 | .type FtlPrintInfo2buf, %function |
---|
1476 | 2163 | FtlPrintInfo2buf: |
---|
1477 | | - stp x29, x30, [sp, -96]! |
---|
1478 | | - adrp x1, .LC9 |
---|
1479 | | - add x1, x1, :lo12:.LC9 |
---|
1480 | | - add x29, sp, 0 |
---|
1481 | | - stp x21, x22, [sp, 32] |
---|
1482 | | - mov x22, x0 |
---|
1483 | | - stp x23, x24, [sp, 48] |
---|
1484 | | - adrp x23, .LANCHOR0 |
---|
1485 | | - add x21, x23, :lo12:.LANCHOR0 |
---|
| 2164 | + hint 34 // bti c |
---|
| 2165 | + .section __patchable_function_entries |
---|
| 2166 | + .align 3 |
---|
| 2167 | + .8byte .LPFE39 |
---|
| 2168 | + .text |
---|
| 2169 | +.LPFE39: |
---|
| 2170 | + nop |
---|
| 2171 | + nop |
---|
| 2172 | + hint 25 // paciasp |
---|
| 2173 | + stp x29, x30, [sp, -80]! |
---|
| 2174 | + adrp x1, .LC10 |
---|
| 2175 | + mov x29, sp |
---|
1486 | 2176 | stp x19, x20, [sp, 16] |
---|
| 2177 | + adrp x19, .LANCHOR0 |
---|
| 2178 | + add x19, x19, :lo12:.LANCHOR0 |
---|
| 2179 | + add x1, x1, :lo12:.LC10 |
---|
| 2180 | + stp x21, x22, [sp, 32] |
---|
| 2181 | + mov x21, x0 |
---|
| 2182 | + stp x23, x24, [sp, 48] |
---|
| 2183 | + add x20, x21, 12 |
---|
1487 | 2184 | stp x25, x26, [sp, 64] |
---|
1488 | | - add x20, x0, 12 |
---|
1489 | | - str x27, [sp, 80] |
---|
1490 | 2185 | bl strcpy |
---|
1491 | | - ldr w3, [x21, 320] |
---|
1492 | | - adrp x2, .LC10 |
---|
1493 | | - add x2, x2, :lo12:.LC10 |
---|
| 2186 | + ldr w3, [x19, 320] |
---|
| 2187 | + adrp x2, .LC11 |
---|
| 2188 | + add x2, x2, :lo12:.LC11 |
---|
| 2189 | + mov x0, x20 |
---|
1494 | 2190 | mov x1, 64 |
---|
1495 | | - mov x0, x20 |
---|
1496 | 2191 | bl snprintf |
---|
1497 | | - add x20, x20, x0, sxtw |
---|
| 2192 | + add x20, x20, w0, sxtw |
---|
1498 | 2193 | mov x0, x20 |
---|
1499 | | - adrp x1, .LC11 |
---|
1500 | | - add x1, x1, :lo12:.LC11 |
---|
| 2194 | + adrp x1, .LC12 |
---|
| 2195 | + add x1, x1, :lo12:.LC12 |
---|
1501 | 2196 | bl strcpy |
---|
1502 | | - ldr w3, [x21, 2624] |
---|
| 2197 | + ldr w3, [x19, 2624] |
---|
1503 | 2198 | add x20, x20, 10 |
---|
1504 | | - mov x1, 64 |
---|
1505 | 2199 | mov x0, x20 |
---|
1506 | | - adrp x2, .LC12 |
---|
1507 | | - add x2, x2, :lo12:.LC12 |
---|
1508 | | - bl snprintf |
---|
1509 | | - add x20, x20, x0, sxtw |
---|
1510 | | - ldr w3, [x21, 2620] |
---|
1511 | 2200 | mov x1, 64 |
---|
1512 | | - mov x0, x20 |
---|
1513 | 2201 | adrp x2, .LC13 |
---|
1514 | 2202 | add x2, x2, :lo12:.LC13 |
---|
1515 | 2203 | bl snprintf |
---|
1516 | | - add x20, x20, x0, sxtw |
---|
1517 | | - ldr w3, [x21, 2628] |
---|
| 2204 | + add x22, x20, w0, sxtw |
---|
| 2205 | + ldr w3, [x19, 2620] |
---|
| 2206 | + mov x0, x22 |
---|
1518 | 2207 | mov x1, 64 |
---|
1519 | | - mov x0, x20 |
---|
1520 | 2208 | adrp x2, .LC14 |
---|
1521 | 2209 | add x2, x2, :lo12:.LC14 |
---|
1522 | 2210 | bl snprintf |
---|
1523 | | - add x20, x20, x0, sxtw |
---|
1524 | | - ldr w3, [x21, 2632] |
---|
| 2211 | + add x22, x22, w0, sxtw |
---|
| 2212 | + ldr w3, [x19, 2628] |
---|
| 2213 | + mov x0, x22 |
---|
1525 | 2214 | mov x1, 64 |
---|
1526 | | - mov x0, x20 |
---|
1527 | 2215 | adrp x2, .LC15 |
---|
1528 | 2216 | add x2, x2, :lo12:.LC15 |
---|
1529 | 2217 | bl snprintf |
---|
1530 | | - add x20, x20, x0, sxtw |
---|
1531 | | - ldr w3, [x21, 2636] |
---|
| 2218 | + add x22, x22, w0, sxtw |
---|
| 2219 | + ldr w3, [x19, 2632] |
---|
| 2220 | + mov x0, x22 |
---|
1532 | 2221 | mov x1, 64 |
---|
1533 | | - mov x0, x20 |
---|
1534 | 2222 | adrp x2, .LC16 |
---|
1535 | 2223 | add x2, x2, :lo12:.LC16 |
---|
1536 | 2224 | bl snprintf |
---|
1537 | | - add x20, x20, x0, sxtw |
---|
1538 | | - ldr w3, [x21, 2640] |
---|
| 2225 | + add x22, x22, w0, sxtw |
---|
| 2226 | + ldr w3, [x19, 2636] |
---|
| 2227 | + mov x0, x22 |
---|
1539 | 2228 | mov x1, 64 |
---|
1540 | | - mov x0, x20 |
---|
1541 | 2229 | adrp x2, .LC17 |
---|
1542 | 2230 | add x2, x2, :lo12:.LC17 |
---|
1543 | 2231 | bl snprintf |
---|
1544 | | - add x20, x20, x0, sxtw |
---|
1545 | | - ldr w3, [x21, 2644] |
---|
| 2232 | + add x22, x22, w0, sxtw |
---|
| 2233 | + ldr w3, [x19, 2640] |
---|
| 2234 | + mov x0, x22 |
---|
1546 | 2235 | mov x1, 64 |
---|
1547 | | - mov x0, x20 |
---|
1548 | 2236 | adrp x2, .LC18 |
---|
1549 | 2237 | add x2, x2, :lo12:.LC18 |
---|
1550 | 2238 | bl snprintf |
---|
1551 | | - add x20, x20, x0, sxtw |
---|
1552 | | - ldr w3, [x21, 2648] |
---|
| 2239 | + add x22, x22, w0, sxtw |
---|
| 2240 | + ldr w3, [x19, 2644] |
---|
| 2241 | + mov x0, x22 |
---|
1553 | 2242 | mov x1, 64 |
---|
1554 | | - mov x0, x20 |
---|
1555 | 2243 | adrp x2, .LC19 |
---|
1556 | 2244 | add x2, x2, :lo12:.LC19 |
---|
1557 | 2245 | bl snprintf |
---|
1558 | | - add x20, x20, x0, sxtw |
---|
1559 | | - ldr w3, [x21, 2652] |
---|
| 2246 | + add x22, x22, w0, sxtw |
---|
| 2247 | + ldr w3, [x19, 2648] |
---|
| 2248 | + mov x0, x22 |
---|
1560 | 2249 | mov x1, 64 |
---|
1561 | | - mov x0, x20 |
---|
1562 | 2250 | adrp x2, .LC20 |
---|
1563 | 2251 | add x2, x2, :lo12:.LC20 |
---|
1564 | | - lsr w3, w3, 11 |
---|
1565 | 2252 | bl snprintf |
---|
1566 | | - ldr w3, [x21, 2656] |
---|
1567 | | - add x20, x20, x0, sxtw |
---|
| 2253 | + add x22, x22, w0, sxtw |
---|
| 2254 | + ldr w3, [x19, 2652] |
---|
| 2255 | + mov x0, x22 |
---|
1568 | 2256 | mov x1, 64 |
---|
1569 | | - mov x0, x20 |
---|
1570 | 2257 | adrp x2, .LC21 |
---|
1571 | 2258 | add x2, x2, :lo12:.LC21 |
---|
1572 | 2259 | lsr w3, w3, 11 |
---|
1573 | 2260 | bl snprintf |
---|
1574 | | - ldr w3, [x21, 2660] |
---|
1575 | | - add x20, x20, x0, sxtw |
---|
| 2261 | + ldr w3, [x19, 2656] |
---|
| 2262 | + add x22, x22, w0, sxtw |
---|
| 2263 | + mov x0, x22 |
---|
1576 | 2264 | mov x1, 64 |
---|
1577 | | - mov x0, x20 |
---|
1578 | 2265 | adrp x2, .LC22 |
---|
1579 | 2266 | add x2, x2, :lo12:.LC22 |
---|
| 2267 | + lsr w3, w3, 11 |
---|
1580 | 2268 | bl snprintf |
---|
1581 | | - add x20, x20, x0, sxtw |
---|
1582 | | - ldr w3, [x21, 2664] |
---|
| 2269 | + ldr w3, [x19, 2660] |
---|
| 2270 | + add x22, x22, w0, sxtw |
---|
| 2271 | + mov x0, x22 |
---|
1583 | 2272 | mov x1, 64 |
---|
1584 | | - mov x0, x20 |
---|
1585 | 2273 | adrp x2, .LC23 |
---|
1586 | 2274 | add x2, x2, :lo12:.LC23 |
---|
1587 | 2275 | bl snprintf |
---|
1588 | | - add x20, x20, x0, sxtw |
---|
1589 | | - ldrh w3, [x21, 366] |
---|
| 2276 | + add x22, x22, w0, sxtw |
---|
| 2277 | + ldr w3, [x19, 2664] |
---|
| 2278 | + mov x0, x22 |
---|
1590 | 2279 | mov x1, 64 |
---|
1591 | | - mov x0, x20 |
---|
1592 | 2280 | adrp x2, .LC24 |
---|
1593 | 2281 | add x2, x2, :lo12:.LC24 |
---|
1594 | 2282 | bl snprintf |
---|
1595 | | - add x20, x20, x0, sxtw |
---|
1596 | | - ldrh w3, [x21, 228] |
---|
| 2283 | + add x22, x22, w0, sxtw |
---|
| 2284 | + ldrh w3, [x19, 366] |
---|
| 2285 | + mov x0, x22 |
---|
1597 | 2286 | mov x1, 64 |
---|
1598 | | - mov x0, x20 |
---|
1599 | 2287 | adrp x2, .LC25 |
---|
1600 | 2288 | add x2, x2, :lo12:.LC25 |
---|
1601 | 2289 | bl snprintf |
---|
1602 | | - add x20, x20, x0, sxtw |
---|
1603 | | - ldr w3, [x21, 2668] |
---|
| 2290 | + add x22, x22, w0, sxtw |
---|
| 2291 | + ldrh w3, [x19, 228] |
---|
| 2292 | + mov x0, x22 |
---|
1604 | 2293 | mov x1, 64 |
---|
1605 | | - mov x0, x20 |
---|
1606 | 2294 | adrp x2, .LC26 |
---|
1607 | 2295 | add x2, x2, :lo12:.LC26 |
---|
1608 | 2296 | bl snprintf |
---|
1609 | | - add x20, x20, x0, sxtw |
---|
1610 | | - ldr w3, [x21, 2672] |
---|
| 2297 | + add x22, x22, w0, sxtw |
---|
| 2298 | + ldr w3, [x19, 2668] |
---|
| 2299 | + mov x0, x22 |
---|
1611 | 2300 | mov x1, 64 |
---|
1612 | | - mov x0, x20 |
---|
1613 | 2301 | adrp x2, .LC27 |
---|
1614 | 2302 | add x2, x2, :lo12:.LC27 |
---|
1615 | 2303 | bl snprintf |
---|
1616 | | - add x20, x20, x0, sxtw |
---|
1617 | | - ldr w3, [x21, 2676] |
---|
| 2304 | + add x22, x22, w0, sxtw |
---|
| 2305 | + ldr w3, [x19, 2672] |
---|
| 2306 | + mov x0, x22 |
---|
1618 | 2307 | mov x1, 64 |
---|
1619 | | - mov x0, x20 |
---|
1620 | 2308 | adrp x2, .LC28 |
---|
1621 | 2309 | add x2, x2, :lo12:.LC28 |
---|
1622 | 2310 | bl snprintf |
---|
1623 | | - add x20, x20, x0, sxtw |
---|
1624 | | - ldr w3, [x21, 2680] |
---|
| 2311 | + add x22, x22, w0, sxtw |
---|
| 2312 | + ldr w3, [x19, 2676] |
---|
| 2313 | + mov x0, x22 |
---|
1625 | 2314 | mov x1, 64 |
---|
1626 | | - mov x0, x20 |
---|
1627 | 2315 | adrp x2, .LC29 |
---|
1628 | 2316 | add x2, x2, :lo12:.LC29 |
---|
1629 | 2317 | bl snprintf |
---|
1630 | | - add x20, x20, x0, sxtw |
---|
1631 | | - ldr w3, [x21, 2684] |
---|
| 2318 | + add x22, x22, w0, sxtw |
---|
| 2319 | + ldr w3, [x19, 2680] |
---|
| 2320 | + mov x0, x22 |
---|
1632 | 2321 | mov x1, 64 |
---|
1633 | | - mov x0, x20 |
---|
1634 | 2322 | adrp x2, .LC30 |
---|
1635 | 2323 | add x2, x2, :lo12:.LC30 |
---|
1636 | 2324 | bl snprintf |
---|
1637 | | - add x20, x20, x0, sxtw |
---|
1638 | | - ldr w3, [x21, 2688] |
---|
| 2325 | + add x22, x22, w0, sxtw |
---|
| 2326 | + ldr w3, [x19, 2684] |
---|
| 2327 | + mov x0, x22 |
---|
1639 | 2328 | mov x1, 64 |
---|
1640 | | - mov x0, x20 |
---|
1641 | 2329 | adrp x2, .LC31 |
---|
1642 | 2330 | add x2, x2, :lo12:.LC31 |
---|
1643 | 2331 | bl snprintf |
---|
1644 | | - add x20, x20, x0, sxtw |
---|
1645 | | - ldrh w3, [x21, 2542] |
---|
| 2332 | + add x22, x22, w0, sxtw |
---|
| 2333 | + ldr w3, [x19, 2688] |
---|
| 2334 | + mov x0, x22 |
---|
1646 | 2335 | mov x1, 64 |
---|
1647 | | - mov x0, x20 |
---|
1648 | 2336 | adrp x2, .LC32 |
---|
1649 | 2337 | add x2, x2, :lo12:.LC32 |
---|
1650 | 2338 | bl snprintf |
---|
1651 | | - add x20, x20, x0, sxtw |
---|
1652 | | - ldrh w3, [x21, 2540] |
---|
| 2339 | + add x22, x22, w0, sxtw |
---|
| 2340 | + ldrh w3, [x19, 2542] |
---|
| 2341 | + mov x0, x22 |
---|
1653 | 2342 | mov x1, 64 |
---|
1654 | | - mov x0, x20 |
---|
1655 | 2343 | adrp x2, .LC33 |
---|
1656 | 2344 | add x2, x2, :lo12:.LC33 |
---|
1657 | 2345 | bl snprintf |
---|
1658 | | - add x20, x20, x0, sxtw |
---|
1659 | | - ldr w3, [x21, 344] |
---|
| 2346 | + add x22, x22, w0, sxtw |
---|
| 2347 | + ldrh w3, [x19, 2540] |
---|
| 2348 | + mov x0, x22 |
---|
1660 | 2349 | mov x1, 64 |
---|
1661 | | - mov x0, x20 |
---|
1662 | 2350 | adrp x2, .LC34 |
---|
1663 | 2351 | add x2, x2, :lo12:.LC34 |
---|
1664 | 2352 | bl snprintf |
---|
1665 | | - add x20, x20, x0, sxtw |
---|
1666 | | - ldr w3, [x21, 336] |
---|
| 2353 | + add x22, x22, w0, sxtw |
---|
| 2354 | + ldr w3, [x19, 344] |
---|
| 2355 | + mov x0, x22 |
---|
1667 | 2356 | mov x1, 64 |
---|
1668 | | - mov x0, x20 |
---|
1669 | 2357 | adrp x2, .LC35 |
---|
1670 | 2358 | add x2, x2, :lo12:.LC35 |
---|
1671 | 2359 | bl snprintf |
---|
1672 | | - add x20, x20, x0, sxtw |
---|
1673 | | - ldr w3, [x21, 232] |
---|
| 2360 | + add x22, x22, w0, sxtw |
---|
| 2361 | + ldr w3, [x19, 336] |
---|
| 2362 | + mov x0, x22 |
---|
1674 | 2363 | mov x1, 64 |
---|
1675 | | - mov x0, x20 |
---|
1676 | 2364 | adrp x2, .LC36 |
---|
1677 | 2365 | add x2, x2, :lo12:.LC36 |
---|
1678 | 2366 | bl snprintf |
---|
1679 | | - add x20, x20, x0, sxtw |
---|
1680 | | - ldrh w3, [x21, 462] |
---|
| 2367 | + add x22, x22, w0, sxtw |
---|
| 2368 | + ldr w3, [x19, 232] |
---|
| 2369 | + mov x0, x22 |
---|
1681 | 2370 | mov x1, 64 |
---|
1682 | | - mov x0, x20 |
---|
1683 | 2371 | adrp x2, .LC37 |
---|
1684 | 2372 | add x2, x2, :lo12:.LC37 |
---|
1685 | 2373 | bl snprintf |
---|
1686 | | - add x20, x20, x0, sxtw |
---|
1687 | | - ldrh w3, [x21, 244] |
---|
| 2374 | + add x22, x22, w0, sxtw |
---|
| 2375 | + ldrh w3, [x19, 462] |
---|
| 2376 | + mov x0, x22 |
---|
1688 | 2377 | mov x1, 64 |
---|
1689 | | - mov x0, x20 |
---|
1690 | 2378 | adrp x2, .LC38 |
---|
1691 | 2379 | add x2, x2, :lo12:.LC38 |
---|
1692 | 2380 | bl snprintf |
---|
1693 | | - add x20, x20, x0, sxtw |
---|
1694 | | - ldrh w3, [x21, 2692] |
---|
| 2381 | + add x22, x22, w0, sxtw |
---|
| 2382 | + ldrh w3, [x19, 244] |
---|
| 2383 | + mov x0, x22 |
---|
1695 | 2384 | mov x1, 64 |
---|
1696 | | - mov x0, x20 |
---|
1697 | 2385 | adrp x2, .LC39 |
---|
1698 | 2386 | add x2, x2, :lo12:.LC39 |
---|
1699 | 2387 | bl snprintf |
---|
1700 | | - add x20, x20, x0, sxtw |
---|
1701 | | - ldr w3, [x21, 248] |
---|
| 2388 | + add x22, x22, w0, sxtw |
---|
| 2389 | + ldrh w3, [x19, 2692] |
---|
| 2390 | + mov x0, x22 |
---|
1702 | 2391 | mov x1, 64 |
---|
1703 | | - mov x0, x20 |
---|
1704 | 2392 | adrp x2, .LC40 |
---|
1705 | 2393 | add x2, x2, :lo12:.LC40 |
---|
1706 | 2394 | bl snprintf |
---|
1707 | | - add x20, x20, x0, sxtw |
---|
1708 | | - ldrh w3, [x21, 2696] |
---|
| 2395 | + add x22, x22, w0, sxtw |
---|
| 2396 | + ldr w3, [x19, 248] |
---|
| 2397 | + mov x0, x22 |
---|
1709 | 2398 | mov x1, 64 |
---|
1710 | | - mov x0, x20 |
---|
1711 | 2399 | adrp x2, .LC41 |
---|
1712 | 2400 | add x2, x2, :lo12:.LC41 |
---|
1713 | 2401 | bl snprintf |
---|
1714 | | - add x20, x20, x0, sxtw |
---|
1715 | | - ldrh w3, [x21, 360] |
---|
| 2402 | + add x22, x22, w0, sxtw |
---|
| 2403 | + ldrh w3, [x19, 2696] |
---|
| 2404 | + mov x0, x22 |
---|
1716 | 2405 | mov x1, 64 |
---|
1717 | | - mov x0, x20 |
---|
1718 | 2406 | adrp x2, .LC42 |
---|
1719 | 2407 | add x2, x2, :lo12:.LC42 |
---|
1720 | 2408 | bl snprintf |
---|
1721 | | - add x20, x20, x0, sxtw |
---|
1722 | | - ldrh w3, [x21, 26] |
---|
| 2409 | + add x22, x22, w0, sxtw |
---|
| 2410 | + ldrh w3, [x19, 360] |
---|
| 2411 | + mov x0, x22 |
---|
1723 | 2412 | mov x1, 64 |
---|
1724 | | - mov x0, x20 |
---|
1725 | 2413 | adrp x2, .LC43 |
---|
1726 | 2414 | add x2, x2, :lo12:.LC43 |
---|
1727 | 2415 | bl snprintf |
---|
1728 | | - add x20, x20, x0, sxtw |
---|
1729 | | - ldrb w3, [x21, 30] |
---|
| 2416 | + add x22, x22, w0, sxtw |
---|
| 2417 | + ldrh w3, [x19, 26] |
---|
| 2418 | + mov x0, x22 |
---|
1730 | 2419 | mov x1, 64 |
---|
1731 | | - mov x0, x20 |
---|
1732 | 2420 | adrp x2, .LC44 |
---|
1733 | 2421 | add x2, x2, :lo12:.LC44 |
---|
1734 | 2422 | bl snprintf |
---|
1735 | | - add x20, x20, x0, sxtw |
---|
1736 | | - ldrh w3, [x21, 24] |
---|
| 2423 | + add x22, x22, w0, sxtw |
---|
| 2424 | + ldrb w3, [x19, 30] |
---|
| 2425 | + mov x0, x22 |
---|
1737 | 2426 | mov x1, 64 |
---|
1738 | | - mov x0, x20 |
---|
1739 | 2427 | adrp x2, .LC45 |
---|
1740 | 2428 | add x2, x2, :lo12:.LC45 |
---|
1741 | 2429 | bl snprintf |
---|
1742 | | - add x20, x20, x0, sxtw |
---|
1743 | | - ldrb w3, [x21, 32] |
---|
| 2430 | + add x22, x22, w0, sxtw |
---|
| 2431 | + ldrh w3, [x19, 24] |
---|
| 2432 | + mov x0, x22 |
---|
1744 | 2433 | mov x1, 64 |
---|
1745 | | - mov x0, x20 |
---|
1746 | 2434 | adrp x2, .LC46 |
---|
1747 | 2435 | add x2, x2, :lo12:.LC46 |
---|
1748 | 2436 | bl snprintf |
---|
1749 | | - add x20, x20, x0, sxtw |
---|
1750 | | - ldrh w3, [x21, 28] |
---|
| 2437 | + add x22, x22, w0, sxtw |
---|
| 2438 | + ldrb w3, [x19, 32] |
---|
| 2439 | + mov x0, x22 |
---|
1751 | 2440 | mov x1, 64 |
---|
1752 | | - mov x0, x20 |
---|
1753 | 2441 | adrp x2, .LC47 |
---|
1754 | 2442 | add x2, x2, :lo12:.LC47 |
---|
1755 | 2443 | bl snprintf |
---|
1756 | | - add x20, x20, x0, sxtw |
---|
1757 | | - ldrh w1, [x21, 24] |
---|
| 2444 | + add x22, x22, w0, sxtw |
---|
| 2445 | + ldrh w3, [x19, 28] |
---|
| 2446 | + mov x0, x22 |
---|
| 2447 | + mov x1, 64 |
---|
1758 | 2448 | adrp x2, .LC48 |
---|
1759 | | - ldr x0, [x21, 72] |
---|
1760 | 2449 | add x2, x2, :lo12:.LC48 |
---|
1761 | | - ldrh w3, [x0, x1, lsl 1] |
---|
1762 | | - mov x1, 64 |
---|
1763 | | - mov x0, x20 |
---|
1764 | 2450 | bl snprintf |
---|
1765 | | - add x20, x20, x0, sxtw |
---|
1766 | | - ldrh w3, [x21, 82] |
---|
1767 | | - mov x1, 64 |
---|
1768 | | - mov x0, x20 |
---|
| 2451 | + add x22, x22, w0, sxtw |
---|
| 2452 | + ldrh w1, [x19, 24] |
---|
1769 | 2453 | adrp x2, .LC49 |
---|
| 2454 | + ldr x0, [x19, 72] |
---|
1770 | 2455 | add x2, x2, :lo12:.LC49 |
---|
1771 | | - bl snprintf |
---|
1772 | | - add x20, x20, x0, sxtw |
---|
1773 | | - ldrb w3, [x21, 86] |
---|
| 2456 | + ldrh w3, [x0, x1, lsl 1] |
---|
| 2457 | + mov x0, x22 |
---|
1774 | 2458 | mov x1, 64 |
---|
1775 | | - mov x0, x20 |
---|
| 2459 | + bl snprintf |
---|
| 2460 | + add x22, x22, w0, sxtw |
---|
| 2461 | + ldrh w3, [x19, 82] |
---|
| 2462 | + mov x0, x22 |
---|
| 2463 | + mov x1, 64 |
---|
1776 | 2464 | adrp x2, .LC50 |
---|
1777 | 2465 | add x2, x2, :lo12:.LC50 |
---|
1778 | 2466 | bl snprintf |
---|
1779 | | - add x20, x20, x0, sxtw |
---|
1780 | | - ldrh w3, [x21, 80] |
---|
| 2467 | + add x22, x22, w0, sxtw |
---|
| 2468 | + ldrb w3, [x19, 86] |
---|
| 2469 | + mov x0, x22 |
---|
1781 | 2470 | mov x1, 64 |
---|
1782 | | - mov x0, x20 |
---|
1783 | 2471 | adrp x2, .LC51 |
---|
1784 | 2472 | add x2, x2, :lo12:.LC51 |
---|
1785 | 2473 | bl snprintf |
---|
1786 | | - add x20, x20, x0, sxtw |
---|
1787 | | - ldrb w3, [x21, 88] |
---|
| 2474 | + add x22, x22, w0, sxtw |
---|
| 2475 | + ldrh w3, [x19, 80] |
---|
| 2476 | + mov x0, x22 |
---|
1788 | 2477 | mov x1, 64 |
---|
1789 | | - mov x0, x20 |
---|
1790 | 2478 | adrp x2, .LC52 |
---|
1791 | 2479 | add x2, x2, :lo12:.LC52 |
---|
1792 | 2480 | bl snprintf |
---|
1793 | | - add x20, x20, x0, sxtw |
---|
1794 | | - ldrh w3, [x21, 84] |
---|
| 2481 | + add x22, x22, w0, sxtw |
---|
| 2482 | + ldrb w3, [x19, 88] |
---|
| 2483 | + mov x0, x22 |
---|
1795 | 2484 | mov x1, 64 |
---|
1796 | | - mov x0, x20 |
---|
1797 | 2485 | adrp x2, .LC53 |
---|
1798 | 2486 | add x2, x2, :lo12:.LC53 |
---|
1799 | 2487 | bl snprintf |
---|
1800 | | - add x20, x20, x0, sxtw |
---|
1801 | | - ldrh w1, [x21, 80] |
---|
| 2488 | + add x22, x22, w0, sxtw |
---|
| 2489 | + ldrh w3, [x19, 84] |
---|
| 2490 | + mov x0, x22 |
---|
| 2491 | + mov x1, 64 |
---|
1802 | 2492 | adrp x2, .LC54 |
---|
1803 | | - ldr x0, [x21, 72] |
---|
1804 | 2493 | add x2, x2, :lo12:.LC54 |
---|
1805 | | - ldrh w3, [x0, x1, lsl 1] |
---|
1806 | | - mov x1, 64 |
---|
1807 | | - mov x0, x20 |
---|
1808 | 2494 | bl snprintf |
---|
1809 | | - add x20, x20, x0, sxtw |
---|
1810 | | - ldrh w3, [x21, 130] |
---|
1811 | | - mov x1, 64 |
---|
1812 | | - mov x0, x20 |
---|
| 2495 | + add x22, x22, w0, sxtw |
---|
| 2496 | + ldrh w1, [x19, 80] |
---|
1813 | 2497 | adrp x2, .LC55 |
---|
| 2498 | + ldr x0, [x19, 72] |
---|
1814 | 2499 | add x2, x2, :lo12:.LC55 |
---|
1815 | | - bl snprintf |
---|
1816 | | - add x20, x20, x0, sxtw |
---|
1817 | | - ldrb w3, [x21, 134] |
---|
| 2500 | + ldrh w3, [x0, x1, lsl 1] |
---|
| 2501 | + mov x0, x22 |
---|
1818 | 2502 | mov x1, 64 |
---|
1819 | | - mov x0, x20 |
---|
| 2503 | + bl snprintf |
---|
| 2504 | + add x22, x22, w0, sxtw |
---|
| 2505 | + ldrh w3, [x19, 130] |
---|
| 2506 | + mov x0, x22 |
---|
| 2507 | + mov x1, 64 |
---|
1820 | 2508 | adrp x2, .LC56 |
---|
1821 | 2509 | add x2, x2, :lo12:.LC56 |
---|
1822 | 2510 | bl snprintf |
---|
1823 | | - add x20, x20, x0, sxtw |
---|
1824 | | - ldrh w3, [x21, 128] |
---|
| 2511 | + add x22, x22, w0, sxtw |
---|
| 2512 | + ldrb w3, [x19, 134] |
---|
| 2513 | + mov x0, x22 |
---|
1825 | 2514 | mov x1, 64 |
---|
1826 | | - mov x0, x20 |
---|
1827 | 2515 | adrp x2, .LC57 |
---|
1828 | 2516 | add x2, x2, :lo12:.LC57 |
---|
1829 | 2517 | bl snprintf |
---|
1830 | | - add x20, x20, x0, sxtw |
---|
1831 | | - ldrb w3, [x21, 136] |
---|
| 2518 | + add x22, x22, w0, sxtw |
---|
| 2519 | + ldrh w3, [x19, 128] |
---|
| 2520 | + mov x0, x22 |
---|
1832 | 2521 | mov x1, 64 |
---|
1833 | | - mov x0, x20 |
---|
1834 | 2522 | adrp x2, .LC58 |
---|
1835 | 2523 | add x2, x2, :lo12:.LC58 |
---|
1836 | 2524 | bl snprintf |
---|
1837 | | - add x20, x20, x0, sxtw |
---|
1838 | | - ldrh w3, [x21, 132] |
---|
| 2525 | + add x22, x22, w0, sxtw |
---|
| 2526 | + ldrb w3, [x19, 136] |
---|
| 2527 | + mov x0, x22 |
---|
1839 | 2528 | mov x1, 64 |
---|
1840 | | - mov x0, x20 |
---|
1841 | 2529 | adrp x2, .LC59 |
---|
1842 | 2530 | add x2, x2, :lo12:.LC59 |
---|
1843 | 2531 | bl snprintf |
---|
1844 | | - add x20, x20, x0, sxtw |
---|
1845 | | - ldrh w3, [x21, 178] |
---|
| 2532 | + add x22, x22, w0, sxtw |
---|
| 2533 | + ldrh w3, [x19, 132] |
---|
| 2534 | + mov x0, x22 |
---|
1846 | 2535 | mov x1, 64 |
---|
1847 | | - mov x0, x20 |
---|
1848 | 2536 | adrp x2, .LC60 |
---|
1849 | 2537 | add x2, x2, :lo12:.LC60 |
---|
1850 | 2538 | bl snprintf |
---|
1851 | | - add x20, x20, x0, sxtw |
---|
1852 | | - ldrb w3, [x21, 182] |
---|
| 2539 | + add x22, x22, w0, sxtw |
---|
| 2540 | + ldrh w3, [x19, 178] |
---|
| 2541 | + mov x0, x22 |
---|
1853 | 2542 | mov x1, 64 |
---|
1854 | | - mov x0, x20 |
---|
1855 | 2543 | adrp x2, .LC61 |
---|
1856 | 2544 | add x2, x2, :lo12:.LC61 |
---|
1857 | 2545 | bl snprintf |
---|
1858 | | - add x20, x20, x0, sxtw |
---|
1859 | | - ldrh w3, [x21, 176] |
---|
| 2546 | + add x22, x22, w0, sxtw |
---|
| 2547 | + ldrb w3, [x19, 182] |
---|
| 2548 | + mov x0, x22 |
---|
1860 | 2549 | mov x1, 64 |
---|
1861 | | - mov x0, x20 |
---|
1862 | 2550 | adrp x2, .LC62 |
---|
1863 | 2551 | add x2, x2, :lo12:.LC62 |
---|
1864 | 2552 | bl snprintf |
---|
1865 | | - add x20, x20, x0, sxtw |
---|
1866 | | - ldrb w3, [x21, 184] |
---|
| 2553 | + add x22, x22, w0, sxtw |
---|
| 2554 | + ldrh w3, [x19, 176] |
---|
| 2555 | + mov x0, x22 |
---|
1867 | 2556 | mov x1, 64 |
---|
1868 | | - mov x0, x20 |
---|
1869 | 2557 | adrp x2, .LC63 |
---|
1870 | 2558 | add x2, x2, :lo12:.LC63 |
---|
1871 | 2559 | bl snprintf |
---|
1872 | | - add x20, x20, x0, sxtw |
---|
1873 | | - ldrh w3, [x21, 180] |
---|
| 2560 | + add x22, x22, w0, sxtw |
---|
| 2561 | + ldrb w3, [x19, 184] |
---|
| 2562 | + mov x0, x22 |
---|
1874 | 2563 | mov x1, 64 |
---|
1875 | | - mov x0, x20 |
---|
1876 | 2564 | adrp x2, .LC64 |
---|
1877 | 2565 | add x2, x2, :lo12:.LC64 |
---|
1878 | 2566 | bl snprintf |
---|
1879 | | - add x20, x20, x0, sxtw |
---|
1880 | | - ldr w5, [x21, 2788] |
---|
| 2567 | + add x22, x22, w0, sxtw |
---|
| 2568 | + ldrh w3, [x19, 180] |
---|
| 2569 | + mov x0, x22 |
---|
1881 | 2570 | mov x1, 64 |
---|
1882 | | - ldr w4, [x21, 2796] |
---|
1883 | 2571 | adrp x2, .LC65 |
---|
1884 | | - ldr w3, [x21, 2792] |
---|
1885 | 2572 | add x2, x2, :lo12:.LC65 |
---|
1886 | | - mov x0, x20 |
---|
1887 | 2573 | bl snprintf |
---|
1888 | | - add x19, x20, x0, sxtw |
---|
1889 | | - ldr w3, [x21, 2784] |
---|
| 2574 | + add x22, x22, w0, sxtw |
---|
| 2575 | + ldr w5, [x19, 2788] |
---|
| 2576 | + mov x0, x22 |
---|
| 2577 | + ldr w4, [x19, 2796] |
---|
1890 | 2578 | mov x1, 64 |
---|
1891 | | - mov x0, x19 |
---|
| 2579 | + ldr w3, [x19, 2792] |
---|
1892 | 2580 | adrp x2, .LC66 |
---|
1893 | 2581 | add x2, x2, :lo12:.LC66 |
---|
1894 | 2582 | bl snprintf |
---|
1895 | | - add x19, x19, x0, sxtw |
---|
1896 | | - ldr w3, [x21, 2808] |
---|
| 2583 | + add x22, x22, w0, sxtw |
---|
| 2584 | + ldr w3, [x19, 2784] |
---|
| 2585 | + mov x0, x22 |
---|
1897 | 2586 | mov x1, 64 |
---|
1898 | | - mov x0, x19 |
---|
1899 | 2587 | adrp x2, .LC67 |
---|
1900 | 2588 | add x2, x2, :lo12:.LC67 |
---|
1901 | 2589 | bl snprintf |
---|
1902 | | - add x19, x19, x0, sxtw |
---|
1903 | | - ldrh w3, [x21, 3224] |
---|
| 2590 | + add x22, x22, w0, sxtw |
---|
| 2591 | + ldr w3, [x19, 2808] |
---|
1904 | 2592 | mov x1, 64 |
---|
1905 | | - mov x0, x19 |
---|
| 2593 | + mov x0, x22 |
---|
1906 | 2594 | adrp x2, .LC68 |
---|
1907 | 2595 | add x2, x2, :lo12:.LC68 |
---|
1908 | 2596 | bl snprintf |
---|
1909 | | - add x19, x19, x0, sxtw |
---|
1910 | | - ldrh w3, [x21, 3226] |
---|
| 2597 | + add x20, x22, w0, sxtw |
---|
| 2598 | + ldrh w3, [x19, 3224] |
---|
| 2599 | + mov x0, x20 |
---|
1911 | 2600 | mov x1, 64 |
---|
1912 | | - mov x0, x19 |
---|
1913 | 2601 | adrp x2, .LC69 |
---|
1914 | 2602 | add x2, x2, :lo12:.LC69 |
---|
1915 | 2603 | bl snprintf |
---|
1916 | | - add x19, x19, x0, sxtw |
---|
1917 | | - ldr w3, [x21, 3228] |
---|
| 2604 | + add x20, x20, w0, sxtw |
---|
| 2605 | + ldrh w3, [x19, 3226] |
---|
| 2606 | + mov x0, x20 |
---|
1918 | 2607 | mov x1, 64 |
---|
1919 | | - mov x0, x19 |
---|
1920 | 2608 | adrp x2, .LC70 |
---|
1921 | 2609 | add x2, x2, :lo12:.LC70 |
---|
1922 | 2610 | bl snprintf |
---|
1923 | | - add x19, x19, x0, sxtw |
---|
1924 | | - ldrh w3, [x21, 3232] |
---|
| 2611 | + add x20, x20, w0, sxtw |
---|
| 2612 | + ldr w3, [x19, 3228] |
---|
| 2613 | + mov x0, x20 |
---|
| 2614 | + mov x1, 64 |
---|
1925 | 2615 | adrp x2, .LC71 |
---|
1926 | 2616 | add x2, x2, :lo12:.LC71 |
---|
1927 | | - mov x1, 64 |
---|
1928 | | - mov x0, x19 |
---|
1929 | 2617 | bl snprintf |
---|
1930 | | - add x19, x19, x0, sxtw |
---|
| 2618 | + add x20, x20, w0, sxtw |
---|
| 2619 | + ldrh w3, [x19, 3232] |
---|
| 2620 | + adrp x2, .LC72 |
---|
| 2621 | + add x2, x2, :lo12:.LC72 |
---|
| 2622 | + mov x1, 64 |
---|
| 2623 | + mov x0, x20 |
---|
| 2624 | + bl snprintf |
---|
| 2625 | + add x20, x20, w0, sxtw |
---|
1931 | 2626 | bl GetFreeBlockMinEraseCount |
---|
1932 | 2627 | and w3, w0, 65535 |
---|
1933 | 2628 | mov x1, 64 |
---|
1934 | | - mov x0, x19 |
---|
1935 | | - adrp x2, .LC72 |
---|
1936 | | - add x2, x2, :lo12:.LC72 |
---|
| 2629 | + mov x0, x20 |
---|
| 2630 | + adrp x2, .LC73 |
---|
| 2631 | + add x2, x2, :lo12:.LC73 |
---|
1937 | 2632 | bl snprintf |
---|
1938 | | - add x19, x19, x0, sxtw |
---|
1939 | | - ldrh w0, [x21, 228] |
---|
| 2633 | + add x20, x20, w0, sxtw |
---|
| 2634 | + ldrh w0, [x19, 228] |
---|
1940 | 2635 | bl GetFreeBlockMaxEraseCount |
---|
1941 | 2636 | and w3, w0, 65535 |
---|
1942 | | - adrp x2, .LC73 |
---|
1943 | | - mov x0, x19 |
---|
1944 | | - add x2, x2, :lo12:.LC73 |
---|
| 2637 | + adrp x2, .LC74 |
---|
| 2638 | + mov x0, x20 |
---|
| 2639 | + add x2, x2, :lo12:.LC74 |
---|
1945 | 2640 | mov x1, 64 |
---|
1946 | 2641 | bl snprintf |
---|
1947 | | - add x19, x19, x0, sxtw |
---|
| 2642 | + add x20, x20, w0, sxtw |
---|
1948 | 2643 | adrp x0, .LANCHOR2 |
---|
1949 | 2644 | ldr w0, [x0, #:lo12:.LANCHOR2] |
---|
1950 | 2645 | cmp w0, 1 |
---|
1951 | | - beq .L196 |
---|
1952 | | -.L201: |
---|
1953 | | - sub w0, w19, w22 |
---|
1954 | | - ldr x27, [sp, 80] |
---|
| 2646 | + beq .L241 |
---|
| 2647 | +.L246: |
---|
| 2648 | + sub w0, w20, w21 |
---|
1955 | 2649 | ldp x19, x20, [sp, 16] |
---|
1956 | 2650 | ldp x21, x22, [sp, 32] |
---|
1957 | 2651 | ldp x23, x24, [sp, 48] |
---|
1958 | 2652 | ldp x25, x26, [sp, 64] |
---|
1959 | | - ldp x29, x30, [sp], 96 |
---|
| 2653 | + ldp x29, x30, [sp], 80 |
---|
| 2654 | + hint 29 // autiasp |
---|
1960 | 2655 | ret |
---|
1961 | | -.L196: |
---|
1962 | | - ldrh w0, [x21, 176] |
---|
| 2656 | +.L241: |
---|
| 2657 | + ldrh w0, [x19, 176] |
---|
1963 | 2658 | mov w1, 65535 |
---|
1964 | 2659 | cmp w0, w1 |
---|
1965 | | - beq .L198 |
---|
1966 | | - ldr x1, [x21, 72] |
---|
| 2660 | + beq .L243 |
---|
| 2661 | + ldr x1, [x19, 72] |
---|
1967 | 2662 | ubfiz x0, x0, 1, 16 |
---|
1968 | | - adrp x2, .LC74 |
---|
1969 | | - add x2, x2, :lo12:.LC74 |
---|
| 2663 | + adrp x2, .LC75 |
---|
| 2664 | + add x2, x2, :lo12:.LC75 |
---|
1970 | 2665 | ldrh w3, [x1, x0] |
---|
1971 | | - mov x0, x19 |
---|
| 2666 | + mov x0, x20 |
---|
1972 | 2667 | mov x1, 64 |
---|
1973 | 2668 | bl snprintf |
---|
1974 | | - add x19, x19, x0, sxtw |
---|
1975 | | -.L198: |
---|
| 2669 | + add x20, x20, w0, sxtw |
---|
| 2670 | +.L243: |
---|
1976 | 2671 | mov w0, 0 |
---|
1977 | | - adrp x24, .LC75 |
---|
| 2672 | + adrp x23, .LC76 |
---|
1978 | 2673 | bl List_get_gc_head_node |
---|
1979 | | - add x21, x23, :lo12:.LANCHOR0 |
---|
| 2674 | + add x23, x23, :lo12:.LC76 |
---|
1980 | 2675 | and w4, w0, 65535 |
---|
1981 | | - add x24, x24, :lo12:.LC75 |
---|
1982 | | - mov w20, 0 |
---|
1983 | | - mov w27, 65535 |
---|
1984 | | - mov w26, 6 |
---|
1985 | | -.L200: |
---|
1986 | | - cmp w4, w27 |
---|
1987 | | - beq .L199 |
---|
1988 | | - umull x25, w4, w26 |
---|
1989 | | - ldr x0, [x21, 2560] |
---|
1990 | | - ldr x2, [x21, 72] |
---|
| 2676 | + mov w22, 0 |
---|
| 2677 | + mov w26, 65535 |
---|
| 2678 | + mov w25, 6 |
---|
| 2679 | +.L245: |
---|
| 2680 | + ldr x0, [x19, 2560] |
---|
| 2681 | + cmp w4, w26 |
---|
| 2682 | + beq .L244 |
---|
| 2683 | + umull x24, w4, w25 |
---|
1991 | 2684 | ubfiz x1, x4, 1, 16 |
---|
1992 | | - ldr x3, [x21, 2600] |
---|
1993 | | - add x0, x0, x25 |
---|
| 2685 | + ldr x2, [x19, 72] |
---|
| 2686 | + add x0, x0, x24 |
---|
| 2687 | + ldr x3, [x19, 2600] |
---|
1994 | 2688 | ldrh w5, [x2, x1] |
---|
1995 | | - mov x2, x24 |
---|
1996 | | - ldrh w7, [x3, x1] |
---|
1997 | | - mov w3, w20 |
---|
| 2689 | + mov x2, x23 |
---|
1998 | 2690 | ldrh w6, [x0, 4] |
---|
| 2691 | + mov x0, x20 |
---|
| 2692 | + ldrh w7, [x3, x1] |
---|
| 2693 | + mov w3, w22 |
---|
1999 | 2694 | mov x1, 64 |
---|
2000 | | - mov x0, x19 |
---|
2001 | | - add w20, w20, 1 |
---|
| 2695 | + add w22, w22, 1 |
---|
2002 | 2696 | bl snprintf |
---|
2003 | | - add x19, x19, x0, sxtw |
---|
2004 | | - ldr x0, [x21, 2560] |
---|
2005 | | - cmp w20, 16 |
---|
2006 | | - ldrh w4, [x0, x25] |
---|
2007 | | - bne .L200 |
---|
2008 | | -.L199: |
---|
2009 | | - add x23, x23, :lo12:.LANCHOR0 |
---|
2010 | | - adrp x21, .LC76 |
---|
2011 | | - add x21, x21, :lo12:.LC76 |
---|
2012 | | - mov w20, 0 |
---|
| 2697 | + add x20, x20, w0, sxtw |
---|
| 2698 | + ldr x0, [x19, 2560] |
---|
| 2699 | + ldrh w4, [x0, x24] |
---|
| 2700 | + cmp w22, 16 |
---|
| 2701 | + bne .L245 |
---|
| 2702 | +.L244: |
---|
| 2703 | + ldr x0, [x19, 2560] |
---|
| 2704 | + adrp x23, .LC77 |
---|
| 2705 | + ldr x4, [x19, 2592] |
---|
| 2706 | + add x23, x23, :lo12:.LC77 |
---|
| 2707 | + mov w22, 0 |
---|
2013 | 2708 | mov w25, 65535 |
---|
2014 | | - mov w26, 6 |
---|
2015 | | - ldr x0, [x23, 2560] |
---|
2016 | | - ldr x4, [x23, 2592] |
---|
2017 | 2709 | sub x4, x4, x0 |
---|
2018 | 2710 | mov x0, -6148914691236517206 |
---|
2019 | | - asr x4, x4, 1 |
---|
2020 | 2711 | movk x0, 0xaaab, lsl 0 |
---|
| 2712 | + mov w26, 6 |
---|
| 2713 | + asr x4, x4, 1 |
---|
2021 | 2714 | mul x4, x4, x0 |
---|
2022 | 2715 | and w4, w4, 65535 |
---|
2023 | | -.L202: |
---|
| 2716 | +.L247: |
---|
2024 | 2717 | cmp w4, w25 |
---|
2025 | | - beq .L201 |
---|
| 2718 | + beq .L246 |
---|
| 2719 | + ldr x0, [x19, 2560] |
---|
2026 | 2720 | umull x24, w4, w26 |
---|
2027 | | - ldr x0, [x23, 2560] |
---|
2028 | | - ldr x2, [x23, 2600] |
---|
| 2721 | + ldr x2, [x19, 2600] |
---|
2029 | 2722 | ubfiz x1, x4, 1, 16 |
---|
2030 | 2723 | add x0, x0, x24 |
---|
2031 | | - mov w3, w20 |
---|
2032 | | - add w20, w20, 1 |
---|
| 2724 | + mov w3, w22 |
---|
| 2725 | + add w22, w22, 1 |
---|
2033 | 2726 | ldrh w6, [x2, x1] |
---|
2034 | | - mov x2, x21 |
---|
| 2727 | + mov x2, x23 |
---|
2035 | 2728 | ldrh w5, [x0, 4] |
---|
2036 | 2729 | mov x1, 64 |
---|
2037 | | - mov x0, x19 |
---|
| 2730 | + mov x0, x20 |
---|
2038 | 2731 | bl snprintf |
---|
2039 | | - add x19, x19, x0, sxtw |
---|
2040 | | - cmp w20, 4 |
---|
2041 | | - beq .L201 |
---|
2042 | | - ldr x0, [x23, 2560] |
---|
| 2732 | + add x20, x20, w0, sxtw |
---|
| 2733 | + cmp w22, 4 |
---|
| 2734 | + beq .L246 |
---|
| 2735 | + ldr x0, [x19, 2560] |
---|
2043 | 2736 | ldrh w4, [x0, x24] |
---|
2044 | | - b .L202 |
---|
| 2737 | + b .L247 |
---|
2045 | 2738 | .size FtlPrintInfo2buf, .-FtlPrintInfo2buf |
---|
| 2739 | + .section .rodata.str1.1 |
---|
| 2740 | +.LC78: |
---|
| 2741 | + .string "%s\n" |
---|
| 2742 | + .text |
---|
2046 | 2743 | .align 2 |
---|
2047 | 2744 | .global rknand_proc_ftlread |
---|
2048 | 2745 | .type rknand_proc_ftlread, %function |
---|
2049 | 2746 | rknand_proc_ftlread: |
---|
| 2747 | + hint 34 // bti c |
---|
| 2748 | + .section __patchable_function_entries |
---|
| 2749 | + .align 3 |
---|
| 2750 | + .8byte .LPFE40 |
---|
| 2751 | + .text |
---|
| 2752 | +.LPFE40: |
---|
| 2753 | + nop |
---|
| 2754 | + nop |
---|
2050 | 2755 | cmp w0, 2047 |
---|
2051 | | - ble .L210 |
---|
| 2756 | + ble .L255 |
---|
| 2757 | + hint 25 // paciasp |
---|
2052 | 2758 | stp x29, x30, [sp, -32]! |
---|
2053 | | - adrp x3, .LC0 |
---|
2054 | | - adrp x2, .LC77 |
---|
2055 | | - add x3, x3, :lo12:.LC0 |
---|
2056 | | - add x29, sp, 0 |
---|
2057 | | - add x2, x2, :lo12:.LC77 |
---|
| 2759 | + adrp x3, .LC1 |
---|
| 2760 | + mov x29, sp |
---|
| 2761 | + add x3, x3, :lo12:.LC1 |
---|
| 2762 | + adrp x2, .LC78 |
---|
| 2763 | + add x2, x2, :lo12:.LC78 |
---|
2058 | 2764 | stp x19, x20, [sp, 16] |
---|
2059 | | - mov x20, x1 |
---|
| 2765 | + mov x19, x1 |
---|
2060 | 2766 | mov x1, 64 |
---|
2061 | | - mov x0, x20 |
---|
2062 | | - bl snprintf |
---|
2063 | | - add x19, x20, x0, sxtw |
---|
| 2767 | + add x20, x19, 30 |
---|
2064 | 2768 | mov x0, x19 |
---|
| 2769 | + bl snprintf |
---|
| 2770 | + mov x0, x20 |
---|
2065 | 2771 | bl FtlPrintInfo2buf |
---|
2066 | | - add x0, x19, x0, sxtw |
---|
2067 | | - sub w0, w0, w20 |
---|
| 2772 | + add x0, x20, w0, sxtw |
---|
| 2773 | + sub w0, w0, w19 |
---|
2068 | 2774 | ldp x19, x20, [sp, 16] |
---|
2069 | 2775 | ldp x29, x30, [sp], 32 |
---|
| 2776 | + hint 29 // autiasp |
---|
2070 | 2777 | ret |
---|
2071 | | -.L210: |
---|
| 2778 | +.L255: |
---|
2072 | 2779 | mov w0, 0 |
---|
2073 | 2780 | ret |
---|
2074 | 2781 | .size rknand_proc_ftlread, .-rknand_proc_ftlread |
---|
| 2782 | + .section .rodata.str1.1 |
---|
| 2783 | +.LC79: |
---|
| 2784 | + .string "swblk %x ,avg = %x max= %x vpc= %x,ec=%x ,max ec=%x\n" |
---|
| 2785 | + .text |
---|
2075 | 2786 | .align 2 |
---|
2076 | 2787 | .global GetSwlReplaceBlock |
---|
2077 | 2788 | .type GetSwlReplaceBlock, %function |
---|
2078 | 2789 | GetSwlReplaceBlock: |
---|
2079 | | - stp x29, x30, [sp, -32]! |
---|
2080 | | - adrp x8, .LANCHOR0 |
---|
2081 | | - add x0, x8, :lo12:.LANCHOR0 |
---|
2082 | | - add x29, sp, 0 |
---|
| 2790 | + hint 34 // bti c |
---|
| 2791 | + .section __patchable_function_entries |
---|
| 2792 | + .align 3 |
---|
| 2793 | + .8byte .LPFE41 |
---|
| 2794 | + .text |
---|
| 2795 | +.LPFE41: |
---|
| 2796 | + nop |
---|
| 2797 | + nop |
---|
| 2798 | + hint 25 // paciasp |
---|
| 2799 | + stp x29, x30, [sp, -96]! |
---|
| 2800 | + mov x29, sp |
---|
2083 | 2801 | stp x19, x20, [sp, 16] |
---|
2084 | | - ldr w2, [x0, 2676] |
---|
2085 | | - ldr w1, [x0, 2688] |
---|
2086 | | - cmp w2, w1 |
---|
2087 | | - bcs .L216 |
---|
2088 | | - ldrh w2, [x0, 244] |
---|
2089 | | - mov x1, 0 |
---|
2090 | | - ldr x4, [x0, 2600] |
---|
2091 | | - str wzr, [x0, 2668] |
---|
2092 | | -.L217: |
---|
2093 | | - cmp w2, w1 |
---|
2094 | | - bhi .L218 |
---|
2095 | | - add x1, x8, :lo12:.LANCHOR0 |
---|
2096 | | - ldr w0, [x1, 2668] |
---|
2097 | | - udiv w2, w0, w2 |
---|
2098 | | - str w2, [x1, 2676] |
---|
2099 | | - ldr w2, [x1, 2672] |
---|
2100 | | - sub w0, w0, w2 |
---|
2101 | | - ldrh w2, [x1, 296] |
---|
2102 | | - udiv w0, w0, w2 |
---|
2103 | | - str w0, [x1, 2668] |
---|
2104 | | -.L219: |
---|
2105 | | - add x1, x8, :lo12:.LANCHOR0 |
---|
2106 | | - ldr w9, [x1, 2688] |
---|
2107 | | - ldr w11, [x1, 2676] |
---|
2108 | | - add w0, w9, 256 |
---|
2109 | | - cmp w0, w11 |
---|
2110 | | - bls .L224 |
---|
2111 | | - ldr w1, [x1, 2684] |
---|
2112 | | - add w0, w9, 768 |
---|
| 2802 | + adrp x19, .LANCHOR0 |
---|
| 2803 | + add x19, x19, :lo12:.LANCHOR0 |
---|
| 2804 | + stp x21, x22, [sp, 32] |
---|
| 2805 | + ldr w1, [x19, 2676] |
---|
| 2806 | + ldr w0, [x19, 2688] |
---|
| 2807 | + stp x23, x24, [sp, 48] |
---|
| 2808 | + stp x25, x26, [sp, 64] |
---|
| 2809 | + str x27, [sp, 80] |
---|
| 2810 | + cmp w1, w0 |
---|
| 2811 | + bcs .L261 |
---|
| 2812 | + ldrh w1, [x19, 244] |
---|
| 2813 | + mov x2, 0 |
---|
| 2814 | + ldr x4, [x19, 2600] |
---|
| 2815 | + str wzr, [x19, 2668] |
---|
| 2816 | +.L262: |
---|
| 2817 | + ldr w0, [x19, 2668] |
---|
| 2818 | + cmp w1, w2 |
---|
| 2819 | + bhi .L263 |
---|
| 2820 | + udiv w1, w0, w1 |
---|
| 2821 | + str w1, [x19, 2676] |
---|
| 2822 | + ldr w1, [x19, 2672] |
---|
| 2823 | + sub w0, w0, w1 |
---|
| 2824 | + ldrh w1, [x19, 296] |
---|
| 2825 | + udiv w0, w0, w1 |
---|
| 2826 | + str w0, [x19, 2668] |
---|
| 2827 | +.L264: |
---|
| 2828 | + ldr w22, [x19, 2688] |
---|
| 2829 | + ldr w24, [x19, 2676] |
---|
| 2830 | + add w0, w22, 256 |
---|
| 2831 | + cmp w0, w24 |
---|
| 2832 | + bls .L269 |
---|
| 2833 | + ldr w1, [x19, 2684] |
---|
| 2834 | + add w0, w22, 768 |
---|
2113 | 2835 | cmp w0, w1 |
---|
2114 | | - bls .L224 |
---|
2115 | | -.L226: |
---|
| 2836 | + bls .L269 |
---|
| 2837 | +.L271: |
---|
2116 | 2838 | mov w20, 65535 |
---|
2117 | | -.L225: |
---|
| 2839 | +.L270: |
---|
2118 | 2840 | mov w0, w20 |
---|
2119 | 2841 | ldp x19, x20, [sp, 16] |
---|
2120 | | - ldp x29, x30, [sp], 32 |
---|
| 2842 | + ldp x21, x22, [sp, 32] |
---|
| 2843 | + ldp x23, x24, [sp, 48] |
---|
| 2844 | + ldp x25, x26, [sp, 64] |
---|
| 2845 | + ldr x27, [sp, 80] |
---|
| 2846 | + ldp x29, x30, [sp], 96 |
---|
| 2847 | + hint 29 // autiasp |
---|
2121 | 2848 | ret |
---|
2122 | | -.L218: |
---|
2123 | | - ldrh w3, [x4, x1, lsl 1] |
---|
2124 | | - add x1, x1, 1 |
---|
2125 | | - ldr w5, [x0, 2668] |
---|
2126 | | - add w3, w3, w5 |
---|
2127 | | - str w3, [x0, 2668] |
---|
2128 | | - b .L217 |
---|
2129 | | -.L216: |
---|
2130 | | - ldr w1, [x0, 2684] |
---|
2131 | | - cmp w2, w1 |
---|
2132 | | - bls .L219 |
---|
| 2849 | +.L263: |
---|
| 2850 | + ldrh w3, [x4, x2, lsl 1] |
---|
| 2851 | + add x2, x2, 1 |
---|
| 2852 | + add w0, w3, w0 |
---|
| 2853 | + str w0, [x19, 2668] |
---|
| 2854 | + b .L262 |
---|
| 2855 | +.L261: |
---|
| 2856 | + ldr w0, [x19, 2684] |
---|
| 2857 | + cmp w1, w0 |
---|
| 2858 | + bls .L264 |
---|
| 2859 | + add w0, w0, 1 |
---|
| 2860 | + str w0, [x19, 2684] |
---|
| 2861 | + mov x0, 0 |
---|
| 2862 | +.L266: |
---|
| 2863 | + ldrh w1, [x19, 244] |
---|
| 2864 | + cmp w1, w0 |
---|
| 2865 | + bls .L264 |
---|
| 2866 | + ldr x3, [x19, 2600] |
---|
| 2867 | + lsl x2, x0, 1 |
---|
| 2868 | + add x0, x0, 1 |
---|
| 2869 | + ldrh w1, [x3, x2] |
---|
2133 | 2870 | add w1, w1, 1 |
---|
2134 | | - str w1, [x0, 2684] |
---|
2135 | | - mov w1, 0 |
---|
2136 | | -.L221: |
---|
2137 | | - ldrh w2, [x0, 244] |
---|
2138 | | - cmp w1, w2 |
---|
2139 | | - bcs .L219 |
---|
2140 | | - ldr x4, [x0, 2600] |
---|
2141 | | - ubfiz x3, x1, 1, 32 |
---|
2142 | | - add w1, w1, 1 |
---|
2143 | | - ldrh w2, [x4, x3] |
---|
2144 | | - add w2, w2, 1 |
---|
2145 | | - strh w2, [x4, x3] |
---|
2146 | | - b .L221 |
---|
2147 | | -.L224: |
---|
2148 | | - add x10, x8, :lo12:.LANCHOR0 |
---|
2149 | | - ldrh w0, [x10, 228] |
---|
| 2871 | + strh w1, [x3, x2] |
---|
| 2872 | + b .L266 |
---|
| 2873 | +.L269: |
---|
| 2874 | + ldrh w0, [x19, 228] |
---|
2150 | 2875 | add w0, w0, w0, lsl 1 |
---|
2151 | | - lsr w0, w0, 2 |
---|
| 2876 | + ubfx x0, x0, 2, 16 |
---|
2152 | 2877 | bl GetFreeBlockMaxEraseCount |
---|
2153 | | - and w6, w0, 65535 |
---|
2154 | | - add w0, w9, 64 |
---|
2155 | | - cmp w6, w0 |
---|
2156 | | - bcc .L226 |
---|
2157 | | - ldr x0, [x10, 2568] |
---|
2158 | | - cbz x0, .L226 |
---|
2159 | | - mov w4, 65535 |
---|
2160 | | - ldrh w12, [x10, 244] |
---|
2161 | | - mov x13, -6148914691236517206 |
---|
2162 | | - ldr x7, [x10, 2560] |
---|
2163 | | - ldr x5, [x10, 2600] |
---|
2164 | | - mov w2, w4 |
---|
2165 | | - mov w10, w4 |
---|
2166 | | - mov w1, 0 |
---|
2167 | | - movk x13, 0xaaab, lsl 0 |
---|
2168 | | - mov w14, 6 |
---|
2169 | | -.L227: |
---|
2170 | | - ldrh w3, [x0] |
---|
2171 | | - cmp w3, w10 |
---|
2172 | | - bne .L230 |
---|
2173 | | - mov w20, w2 |
---|
2174 | | -.L229: |
---|
| 2878 | + add w1, w22, 64 |
---|
| 2879 | + and w27, w0, 65535 |
---|
| 2880 | + cmp w1, w0, uxth |
---|
| 2881 | + bhi .L271 |
---|
| 2882 | + ldr x0, [x19, 2568] |
---|
| 2883 | + cbz x0, .L271 |
---|
| 2884 | + ldrh w7, [x19, 244] |
---|
| 2885 | + mov w23, 65535 |
---|
| 2886 | + ldr x3, [x19, 2560] |
---|
| 2887 | + mov x8, -6148914691236517206 |
---|
| 2888 | + ldr x25, [x19, 2600] |
---|
| 2889 | + mov w1, w23 |
---|
| 2890 | + mov w6, w23 |
---|
| 2891 | + mov w4, 0 |
---|
| 2892 | + movk x8, 0xaaab, lsl 0 |
---|
| 2893 | + mov w9, 6 |
---|
| 2894 | +.L272: |
---|
| 2895 | + ldrh w2, [x0] |
---|
| 2896 | + cmp w2, w6 |
---|
| 2897 | + bne .L275 |
---|
| 2898 | + mov w20, w1 |
---|
| 2899 | +.L274: |
---|
2175 | 2900 | mov w0, 65535 |
---|
2176 | 2901 | cmp w20, w0 |
---|
2177 | | - beq .L226 |
---|
2178 | | - ubfiz x7, x20, 1, 32 |
---|
2179 | | - ldrh w3, [x5, x7] |
---|
2180 | | - cmp w9, w3 |
---|
2181 | | - bcs .L231 |
---|
| 2902 | + beq .L271 |
---|
| 2903 | + ldrh w21, [x25, w20, uxtw 1] |
---|
| 2904 | + ubfiz x26, x20, 1, 32 |
---|
| 2905 | + cmp w22, w21 |
---|
| 2906 | + bcs .L276 |
---|
2182 | 2907 | bl GetFreeBlockMinEraseCount |
---|
2183 | | - cmp w9, w0, uxth |
---|
2184 | | - bcs .L231 |
---|
2185 | | - add x0, x8, :lo12:.LANCHOR0 |
---|
2186 | | - str w4, [x0, 2688] |
---|
2187 | | -.L231: |
---|
2188 | | - cmp w11, w3 |
---|
2189 | | - bls .L226 |
---|
2190 | | - add w0, w3, 128 |
---|
2191 | | - cmp w6, w0 |
---|
2192 | | - ble .L226 |
---|
2193 | | - add w0, w3, 256 |
---|
2194 | | - cmp w11, w0 |
---|
2195 | | - bhi .L232 |
---|
2196 | | - add x0, x8, :lo12:.LANCHOR0 |
---|
2197 | | - add w3, w3, 768 |
---|
2198 | | - ldr w0, [x0, 2684] |
---|
2199 | | - cmp w3, w0 |
---|
2200 | | - bcs .L226 |
---|
2201 | | -.L232: |
---|
2202 | | - add x19, x8, :lo12:.LANCHOR0 |
---|
2203 | | - ldrh w5, [x5, x7] |
---|
2204 | | - mov w2, w11 |
---|
2205 | | - mov w1, w20 |
---|
2206 | | - ldr x0, [x19, 72] |
---|
| 2908 | + cmp w22, w0, uxth |
---|
| 2909 | + bcs .L276 |
---|
| 2910 | + str w23, [x19, 2688] |
---|
| 2911 | +.L276: |
---|
| 2912 | + cmp w24, w21 |
---|
| 2913 | + bls .L271 |
---|
| 2914 | + add w0, w21, 128 |
---|
| 2915 | + cmp w27, w0 |
---|
| 2916 | + ble .L271 |
---|
| 2917 | + add w0, w21, 256 |
---|
2207 | 2918 | ldr w3, [x19, 2684] |
---|
2208 | | - ldrh w4, [x0, x7] |
---|
2209 | | - adrp x0, .LC78 |
---|
2210 | | - add x0, x0, :lo12:.LC78 |
---|
| 2919 | + cmp w24, w0 |
---|
| 2920 | + bhi .L277 |
---|
| 2921 | + add w21, w21, 768 |
---|
| 2922 | + cmp w21, w3 |
---|
| 2923 | + bcs .L271 |
---|
| 2924 | +.L277: |
---|
| 2925 | + ldr x0, [x19, 72] |
---|
| 2926 | + mov w6, w27 |
---|
| 2927 | + ldrh w5, [x25, x26] |
---|
| 2928 | + mov w2, w24 |
---|
| 2929 | + mov w1, w20 |
---|
| 2930 | + ldrh w4, [x0, x26] |
---|
| 2931 | + adrp x0, .LC79 |
---|
| 2932 | + add x0, x0, :lo12:.LC79 |
---|
2211 | 2933 | bl sftl_printk |
---|
2212 | 2934 | mov w0, 1 |
---|
2213 | 2935 | str w0, [x19, 3236] |
---|
2214 | | - b .L225 |
---|
2215 | | -.L230: |
---|
2216 | | - add w1, w1, 1 |
---|
2217 | | - and w1, w1, 65535 |
---|
2218 | | - cmp w1, w12 |
---|
2219 | | - bhi .L226 |
---|
2220 | | - ldrh w15, [x0, 4] |
---|
2221 | | - cbz w15, .L228 |
---|
2222 | | - sub x0, x0, x7 |
---|
| 2936 | + b .L270 |
---|
| 2937 | +.L275: |
---|
| 2938 | + add w5, w4, 1 |
---|
| 2939 | + and w4, w5, 65535 |
---|
| 2940 | + cmp w7, w5, uxth |
---|
| 2941 | + bcc .L271 |
---|
| 2942 | + ldrh w5, [x0, 4] |
---|
| 2943 | + cbz w5, .L273 |
---|
| 2944 | + sub x0, x0, x3 |
---|
2223 | 2945 | asr x0, x0, 1 |
---|
2224 | | - mul x0, x0, x13 |
---|
| 2946 | + mul x0, x0, x8 |
---|
2225 | 2947 | and w20, w0, 65535 |
---|
2226 | 2948 | and x0, x0, 65535 |
---|
2227 | | - ldrh w0, [x5, x0, lsl 1] |
---|
2228 | | - cmp w9, w0 |
---|
2229 | | - bcs .L229 |
---|
2230 | | - cmp w4, w0 |
---|
2231 | | - bls .L228 |
---|
2232 | | - mov w4, w0 |
---|
2233 | | - mov w2, w20 |
---|
2234 | | -.L228: |
---|
2235 | | - umaddl x0, w3, w14, x7 |
---|
2236 | | - b .L227 |
---|
| 2949 | + ldrh w0, [x25, x0, lsl 1] |
---|
| 2950 | + cmp w22, w0 |
---|
| 2951 | + bcs .L274 |
---|
| 2952 | + cmp w0, w23 |
---|
| 2953 | + bcs .L273 |
---|
| 2954 | + mov w23, w0 |
---|
| 2955 | + mov w1, w20 |
---|
| 2956 | +.L273: |
---|
| 2957 | + umaddl x0, w2, w9, x3 |
---|
| 2958 | + b .L272 |
---|
2237 | 2959 | .size GetSwlReplaceBlock, .-GetSwlReplaceBlock |
---|
2238 | 2960 | .align 2 |
---|
2239 | 2961 | .global free_data_superblock |
---|
2240 | 2962 | .type free_data_superblock, %function |
---|
2241 | 2963 | free_data_superblock: |
---|
2242 | | - and w0, w0, 65535 |
---|
2243 | | - mov w1, 65535 |
---|
2244 | | - cmp w0, w1 |
---|
2245 | | - beq .L243 |
---|
2246 | | - stp x29, x30, [sp, -16]! |
---|
| 2964 | + hint 34 // bti c |
---|
| 2965 | + .section __patchable_function_entries |
---|
| 2966 | + .align 3 |
---|
| 2967 | + .8byte .LPFE42 |
---|
| 2968 | + .text |
---|
| 2969 | +.LPFE42: |
---|
| 2970 | + nop |
---|
| 2971 | + nop |
---|
| 2972 | + mov w2, 65535 |
---|
| 2973 | + cmp w2, w0, uxth |
---|
| 2974 | + beq .L288 |
---|
| 2975 | + hint 25 // paciasp |
---|
2247 | 2976 | adrp x2, .LANCHOR0+72 |
---|
2248 | | - ubfiz x1, x0, 1, 16 |
---|
2249 | | - add x29, sp, 0 |
---|
| 2977 | + stp x29, x30, [sp, -16]! |
---|
| 2978 | + and w1, w0, 65535 |
---|
| 2979 | + mov x29, sp |
---|
2250 | 2980 | ldr x2, [x2, #:lo12:.LANCHOR0+72] |
---|
2251 | | - strh wzr, [x2, x1] |
---|
| 2981 | + ubfiz x0, x1, 1, 16 |
---|
| 2982 | + strh wzr, [x2, x0] |
---|
| 2983 | + mov w0, w1 |
---|
2252 | 2984 | bl INSERT_FREE_LIST |
---|
2253 | 2985 | mov w0, 0 |
---|
2254 | 2986 | ldp x29, x30, [sp], 16 |
---|
| 2987 | + hint 29 // autiasp |
---|
2255 | 2988 | ret |
---|
2256 | | -.L243: |
---|
| 2989 | +.L288: |
---|
2257 | 2990 | mov w0, 0 |
---|
2258 | 2991 | ret |
---|
2259 | 2992 | .size free_data_superblock, .-free_data_superblock |
---|
.. | .. |
---|
2261 | 2994 | .global get_new_active_ppa |
---|
2262 | 2995 | .type get_new_active_ppa, %function |
---|
2263 | 2996 | get_new_active_ppa: |
---|
2264 | | - stp x29, x30, [sp, -32]! |
---|
2265 | | - add x29, sp, 0 |
---|
| 2997 | + hint 34 // bti c |
---|
| 2998 | + .section __patchable_function_entries |
---|
| 2999 | + .align 3 |
---|
| 3000 | + .8byte .LPFE43 |
---|
| 3001 | + .text |
---|
| 3002 | +.LPFE43: |
---|
| 3003 | + nop |
---|
| 3004 | + nop |
---|
| 3005 | + hint 25 // paciasp |
---|
| 3006 | + stp x29, x30, [sp, -48]! |
---|
| 3007 | + mov x29, sp |
---|
2266 | 3008 | stp x19, x20, [sp, 16] |
---|
2267 | 3009 | mov x19, x0 |
---|
| 3010 | + str x21, [sp, 32] |
---|
2268 | 3011 | ldrh w1, [x0] |
---|
2269 | 3012 | mov w0, 65535 |
---|
2270 | 3013 | cmp w1, w0 |
---|
2271 | | - bne .L247 |
---|
| 3014 | + bne .L292 |
---|
2272 | 3015 | adrp x1, .LANCHOR1 |
---|
2273 | 3016 | add x1, x1, :lo12:.LANCHOR1 |
---|
2274 | | - adrp x0, .LC8 |
---|
| 3017 | + adrp x0, .LC9 |
---|
| 3018 | + add x1, x1, 111 |
---|
| 3019 | + add x0, x0, :lo12:.LC9 |
---|
2275 | 3020 | mov w2, 2792 |
---|
2276 | | - add x1, x1, 136 |
---|
2277 | | - add x0, x0, :lo12:.LC8 |
---|
2278 | 3021 | bl sftl_printk |
---|
2279 | | -.L247: |
---|
2280 | | - adrp x20, .LANCHOR0 |
---|
2281 | | - add x0, x20, :lo12:.LANCHOR0 |
---|
| 3022 | +.L292: |
---|
| 3023 | + adrp x21, .LANCHOR0 |
---|
| 3024 | + add x21, x21, :lo12:.LANCHOR0 |
---|
2282 | 3025 | ldrh w1, [x19, 2] |
---|
2283 | | - ldrh w0, [x0, 306] |
---|
| 3026 | + ldrh w0, [x21, 306] |
---|
2284 | 3027 | cmp w1, w0 |
---|
2285 | | - bne .L248 |
---|
| 3028 | + bne .L293 |
---|
2286 | 3029 | adrp x1, .LANCHOR1 |
---|
2287 | 3030 | add x1, x1, :lo12:.LANCHOR1 |
---|
2288 | | - adrp x0, .LC8 |
---|
| 3031 | + adrp x0, .LC9 |
---|
| 3032 | + add x1, x1, 111 |
---|
| 3033 | + add x0, x0, :lo12:.LC9 |
---|
2289 | 3034 | mov w2, 2793 |
---|
2290 | | - add x1, x1, 136 |
---|
2291 | | - add x0, x0, :lo12:.LC8 |
---|
2292 | 3035 | bl sftl_printk |
---|
2293 | | -.L248: |
---|
| 3036 | +.L293: |
---|
2294 | 3037 | ldrh w0, [x19, 4] |
---|
2295 | | - cbnz w0, .L249 |
---|
| 3038 | + cbnz w0, .L294 |
---|
2296 | 3039 | adrp x1, .LANCHOR1 |
---|
2297 | 3040 | add x1, x1, :lo12:.LANCHOR1 |
---|
2298 | | - adrp x0, .LC8 |
---|
| 3041 | + adrp x0, .LC9 |
---|
| 3042 | + add x1, x1, 111 |
---|
| 3043 | + add x0, x0, :lo12:.LC9 |
---|
2299 | 3044 | mov w2, 2794 |
---|
2300 | | - add x1, x1, 136 |
---|
2301 | | - add x0, x0, :lo12:.LC8 |
---|
2302 | 3045 | bl sftl_printk |
---|
2303 | | -.L249: |
---|
| 3046 | +.L294: |
---|
2304 | 3047 | ldrb w0, [x19, 6] |
---|
2305 | | - add x1, x20, :lo12:.LANCHOR0 |
---|
| 3048 | + mov w2, 65535 |
---|
2306 | 3049 | strb wzr, [x19, 10] |
---|
2307 | 3050 | add x0, x0, 8 |
---|
2308 | | - ldrh w3, [x1, 236] |
---|
2309 | | - mov w1, 65535 |
---|
| 3051 | + ldrh w3, [x21, 236] |
---|
2310 | 3052 | ldrh w0, [x19, x0, lsl 1] |
---|
2311 | | -.L250: |
---|
2312 | | - cmp w0, w1 |
---|
2313 | | - beq .L252 |
---|
2314 | | - add x20, x20, :lo12:.LANCHOR0 |
---|
2315 | | - ldrh w1, [x19, 2] |
---|
2316 | | - ldrh w2, [x20, 306] |
---|
2317 | | - cmp w1, w2 |
---|
2318 | | - bcs .L256 |
---|
2319 | | - orr w20, w1, w0, lsl 10 |
---|
2320 | | - ldrh w1, [x19, 4] |
---|
2321 | | - ldrb w0, [x19, 6] |
---|
2322 | | - mov w4, 65535 |
---|
2323 | | - sub w1, w1, #1 |
---|
2324 | | - and w1, w1, 65535 |
---|
2325 | | - strh w1, [x19, 4] |
---|
2326 | | -.L255: |
---|
2327 | | - add w0, w0, 1 |
---|
2328 | | - and w0, w0, 255 |
---|
2329 | | - cmp w3, w0 |
---|
2330 | | - bne .L254 |
---|
2331 | | - ldrh w0, [x19, 2] |
---|
2332 | | - add w0, w0, 1 |
---|
2333 | | - strh w0, [x19, 2] |
---|
2334 | | - mov w0, 0 |
---|
2335 | | -.L254: |
---|
2336 | | - add x5, x19, x0, sxtw 1 |
---|
2337 | | - ldrh w5, [x5, 16] |
---|
2338 | | - cmp w5, w4 |
---|
2339 | | - beq .L255 |
---|
2340 | | - strb w0, [x19, 6] |
---|
2341 | | - ldrh w0, [x19, 2] |
---|
| 3053 | +.L295: |
---|
| 3054 | + ldrh w20, [x19, 2] |
---|
2342 | 3055 | cmp w0, w2 |
---|
2343 | | - bne .L246 |
---|
2344 | | - cbz w1, .L246 |
---|
| 3056 | + beq .L297 |
---|
| 3057 | + ldrh w2, [x21, 306] |
---|
| 3058 | + cmp w2, w20 |
---|
| 3059 | + bls .L301 |
---|
| 3060 | + orr w20, w20, w0, lsl 10 |
---|
| 3061 | + ldrh w0, [x19, 4] |
---|
| 3062 | + ldrb w1, [x19, 6] |
---|
| 3063 | + mov w5, 65535 |
---|
| 3064 | + sub w0, w0, #1 |
---|
| 3065 | + and w0, w0, 65535 |
---|
| 3066 | + strh w0, [x19, 4] |
---|
| 3067 | +.L300: |
---|
| 3068 | + add w4, w1, 1 |
---|
| 3069 | + and w1, w4, 255 |
---|
| 3070 | + cmp w3, w4, uxtb |
---|
| 3071 | + bne .L299 |
---|
| 3072 | + ldrh w1, [x19, 2] |
---|
| 3073 | + add w1, w1, 1 |
---|
| 3074 | + strh w1, [x19, 2] |
---|
| 3075 | + mov w1, 0 |
---|
| 3076 | +.L299: |
---|
| 3077 | + add x4, x19, w1, sxtw 1 |
---|
| 3078 | + ldrh w4, [x4, 16] |
---|
| 3079 | + cmp w4, w5 |
---|
| 3080 | + beq .L300 |
---|
| 3081 | + strb w1, [x19, 6] |
---|
| 3082 | + ldrh w1, [x19, 2] |
---|
| 3083 | + cmp w1, w2 |
---|
| 3084 | + bne .L291 |
---|
| 3085 | + cbz w0, .L291 |
---|
2345 | 3086 | adrp x1, .LANCHOR1 |
---|
2346 | 3087 | add x1, x1, :lo12:.LANCHOR1 |
---|
2347 | | - adrp x0, .LC8 |
---|
| 3088 | + adrp x0, .LC9 |
---|
| 3089 | + add x1, x1, 111 |
---|
| 3090 | + add x0, x0, :lo12:.LC9 |
---|
2348 | 3091 | mov w2, 2817 |
---|
2349 | | - add x1, x1, 136 |
---|
2350 | | - add x0, x0, :lo12:.LC8 |
---|
2351 | 3092 | bl sftl_printk |
---|
2352 | | -.L246: |
---|
| 3093 | +.L291: |
---|
2353 | 3094 | mov w0, w20 |
---|
2354 | 3095 | ldp x19, x20, [sp, 16] |
---|
2355 | | - ldp x29, x30, [sp], 32 |
---|
| 3096 | + ldr x21, [sp, 32] |
---|
| 3097 | + ldp x29, x30, [sp], 48 |
---|
| 3098 | + hint 29 // autiasp |
---|
2356 | 3099 | ret |
---|
2357 | | -.L252: |
---|
2358 | | - ldrb w0, [x19, 6] |
---|
2359 | | - add w0, w0, 1 |
---|
2360 | | - and w0, w0, 255 |
---|
2361 | | - strb w0, [x19, 6] |
---|
2362 | | - cmp w0, w3 |
---|
2363 | | - bne .L251 |
---|
2364 | | - ldrh w0, [x19, 2] |
---|
| 3100 | +.L297: |
---|
| 3101 | + ldrb w1, [x19, 6] |
---|
| 3102 | + add w1, w1, 1 |
---|
| 3103 | + and w1, w1, 255 |
---|
| 3104 | + strb w1, [x19, 6] |
---|
| 3105 | + cmp w1, w3 |
---|
| 3106 | + bne .L296 |
---|
| 3107 | + add w20, w20, 1 |
---|
| 3108 | + strh w20, [x19, 2] |
---|
2365 | 3109 | strb wzr, [x19, 6] |
---|
2366 | | - add w0, w0, 1 |
---|
2367 | | - strh w0, [x19, 2] |
---|
2368 | | -.L251: |
---|
| 3110 | +.L296: |
---|
2369 | 3111 | ldrb w0, [x19, 6] |
---|
2370 | 3112 | add x0, x0, 8 |
---|
2371 | 3113 | ldrh w0, [x19, x0, lsl 1] |
---|
2372 | | - b .L250 |
---|
2373 | | -.L256: |
---|
| 3114 | + b .L295 |
---|
| 3115 | +.L301: |
---|
2374 | 3116 | mov w20, 65535 |
---|
2375 | | - b .L246 |
---|
| 3117 | + b .L291 |
---|
2376 | 3118 | .size get_new_active_ppa, .-get_new_active_ppa |
---|
2377 | 3119 | .align 2 |
---|
2378 | 3120 | .global FtlGcBufInit |
---|
2379 | 3121 | .type FtlGcBufInit, %function |
---|
2380 | 3122 | FtlGcBufInit: |
---|
| 3123 | + hint 34 // bti c |
---|
| 3124 | + .section __patchable_function_entries |
---|
| 3125 | + .align 3 |
---|
| 3126 | + .8byte .LPFE44 |
---|
| 3127 | + .text |
---|
| 3128 | +.LPFE44: |
---|
| 3129 | + nop |
---|
| 3130 | + nop |
---|
2381 | 3131 | adrp x0, .LANCHOR0 |
---|
2382 | | - add x1, x0, :lo12:.LANCHOR0 |
---|
2383 | | - mov w3, 0 |
---|
2384 | | - mov w8, 24 |
---|
2385 | | - mov w9, 1 |
---|
2386 | | - mov w5, 4 |
---|
2387 | | - str wzr, [x1, 3240] |
---|
2388 | | -.L263: |
---|
2389 | | - ldrh w2, [x1, 236] |
---|
2390 | | - cmp w3, w2 |
---|
2391 | | - bcc .L264 |
---|
2392 | 3132 | add x0, x0, :lo12:.LANCHOR0 |
---|
| 3133 | + mov w2, 0 |
---|
| 3134 | + mov w7, 24 |
---|
| 3135 | + mov w8, 1 |
---|
| 3136 | + mov w4, 4 |
---|
| 3137 | + str wzr, [x0, 3240] |
---|
| 3138 | + hint 25 // paciasp |
---|
| 3139 | +.L308: |
---|
| 3140 | + ldrh w1, [x0, 236] |
---|
| 3141 | + cmp w1, w2 |
---|
| 3142 | + bhi .L309 |
---|
2393 | 3143 | mov w6, 24 |
---|
2394 | 3144 | mov w5, 4 |
---|
2395 | | -.L265: |
---|
2396 | | - ldr w1, [x0, 3280] |
---|
2397 | | - cmp w2, w1 |
---|
2398 | | - bcc .L266 |
---|
| 3145 | +.L310: |
---|
| 3146 | + ldr w2, [x0, 3280] |
---|
| 3147 | + cmp w1, w2 |
---|
| 3148 | + bcc .L311 |
---|
| 3149 | + hint 29 // autiasp |
---|
2399 | 3150 | ret |
---|
2400 | | -.L264: |
---|
2401 | | - umull x4, w3, w8 |
---|
2402 | | - ldr x6, [x1, 3248] |
---|
2403 | | - ldr x7, [x1, 3256] |
---|
2404 | | - add x2, x6, x4 |
---|
2405 | | - str w9, [x2, 16] |
---|
2406 | | - ldrh w2, [x1, 314] |
---|
2407 | | - mul w2, w2, w3 |
---|
2408 | | - sdiv w2, w2, w5 |
---|
2409 | | - add x2, x7, x2, sxtw 2 |
---|
2410 | | - str x2, [x6, x4] |
---|
2411 | | - ldrh w2, [x1, 316] |
---|
2412 | | - ldr x7, [x1, 3248] |
---|
2413 | | - ldr x10, [x1, 3264] |
---|
2414 | | - add x6, x7, x4 |
---|
2415 | | - mul w2, w2, w3 |
---|
2416 | | - sdiv w2, w2, w5 |
---|
2417 | | - add x2, x10, x2, sxtw 2 |
---|
2418 | | - str x2, [x6, 8] |
---|
2419 | | - ldr x2, [x1, 3272] |
---|
2420 | | - ubfiz x10, x3, 5, 16 |
---|
2421 | | - ldr x4, [x7, x4] |
---|
2422 | | - add w3, w3, 1 |
---|
2423 | | - add x2, x2, x10 |
---|
2424 | | - and w3, w3, 65535 |
---|
2425 | | - str x4, [x2, 8] |
---|
2426 | | - ldr x4, [x6, 8] |
---|
2427 | | - str x4, [x2, 16] |
---|
2428 | | - b .L263 |
---|
2429 | | -.L266: |
---|
2430 | | - umull x4, w2, w6 |
---|
2431 | | - ldr x3, [x0, 3248] |
---|
2432 | | - ldr x7, [x0, 3256] |
---|
2433 | | - add x1, x3, x4 |
---|
2434 | | - str wzr, [x1, 16] |
---|
| 3151 | +.L309: |
---|
| 3152 | + ldr x5, [x0, 3248] |
---|
| 3153 | + umull x3, w2, w7 |
---|
| 3154 | + ldr x6, [x0, 3256] |
---|
| 3155 | + add x1, x5, x3 |
---|
| 3156 | + str w8, [x1, 16] |
---|
2435 | 3157 | ldrh w1, [x0, 314] |
---|
2436 | 3158 | mul w1, w1, w2 |
---|
2437 | | - sdiv w1, w1, w5 |
---|
2438 | | - add x1, x7, x1, sxtw 2 |
---|
2439 | | - str x1, [x3, x4] |
---|
| 3159 | + sdiv w1, w1, w4 |
---|
| 3160 | + add x1, x6, w1, sxtw 2 |
---|
| 3161 | + str x1, [x5, x3] |
---|
2440 | 3162 | ldrh w1, [x0, 316] |
---|
2441 | | - ldr x3, [x0, 3248] |
---|
2442 | | - add x3, x3, x4 |
---|
2443 | | - ldr x4, [x0, 3264] |
---|
| 3163 | + ldr x6, [x0, 3248] |
---|
| 3164 | + ldr x9, [x0, 3264] |
---|
2444 | 3165 | mul w1, w1, w2 |
---|
| 3166 | + add x5, x6, x3 |
---|
| 3167 | + sdiv w1, w1, w4 |
---|
| 3168 | + add x1, x9, w1, sxtw 2 |
---|
| 3169 | + str x1, [x5, 8] |
---|
| 3170 | + ldr x1, [x0, 3272] |
---|
| 3171 | + ubfiz x9, x2, 5, 16 |
---|
| 3172 | + ldr x3, [x6, x3] |
---|
| 3173 | + add x1, x1, x9 |
---|
2445 | 3174 | add w2, w2, 1 |
---|
2446 | 3175 | and w2, w2, 65535 |
---|
2447 | | - sdiv w1, w1, w5 |
---|
2448 | | - add x1, x4, x1, sxtw 2 |
---|
2449 | | - str x1, [x3, 8] |
---|
2450 | | - b .L265 |
---|
| 3176 | + str x3, [x1, 8] |
---|
| 3177 | + ldr x3, [x5, 8] |
---|
| 3178 | + str x3, [x1, 16] |
---|
| 3179 | + b .L308 |
---|
| 3180 | +.L311: |
---|
| 3181 | + ldr x3, [x0, 3248] |
---|
| 3182 | + umull x4, w1, w6 |
---|
| 3183 | + ldr x7, [x0, 3256] |
---|
| 3184 | + add x2, x3, x4 |
---|
| 3185 | + str wzr, [x2, 16] |
---|
| 3186 | + ldrh w2, [x0, 314] |
---|
| 3187 | + mul w2, w2, w1 |
---|
| 3188 | + sdiv w2, w2, w5 |
---|
| 3189 | + add x2, x7, w2, sxtw 2 |
---|
| 3190 | + str x2, [x3, x4] |
---|
| 3191 | + ldrh w2, [x0, 316] |
---|
| 3192 | + ldr x3, [x0, 3248] |
---|
| 3193 | + mul w2, w2, w1 |
---|
| 3194 | + add x3, x3, x4 |
---|
| 3195 | + ldr x4, [x0, 3264] |
---|
| 3196 | + add w1, w1, 1 |
---|
| 3197 | + and w1, w1, 65535 |
---|
| 3198 | + sdiv w2, w2, w5 |
---|
| 3199 | + add x2, x4, w2, sxtw 2 |
---|
| 3200 | + str x2, [x3, 8] |
---|
| 3201 | + b .L310 |
---|
2451 | 3202 | .size FtlGcBufInit, .-FtlGcBufInit |
---|
2452 | 3203 | .align 2 |
---|
2453 | 3204 | .global FtlGcBufFree |
---|
2454 | 3205 | .type FtlGcBufFree, %function |
---|
2455 | 3206 | FtlGcBufFree: |
---|
| 3207 | + hint 34 // bti c |
---|
| 3208 | + .section __patchable_function_entries |
---|
| 3209 | + .align 3 |
---|
| 3210 | + .8byte .LPFE45 |
---|
| 3211 | + .text |
---|
| 3212 | +.LPFE45: |
---|
| 3213 | + nop |
---|
| 3214 | + nop |
---|
2456 | 3215 | adrp x2, .LANCHOR0 |
---|
2457 | 3216 | add x2, x2, :lo12:.LANCHOR0 |
---|
2458 | 3217 | mov w3, 0 |
---|
2459 | 3218 | mov w8, 24 |
---|
| 3219 | + hint 25 // paciasp |
---|
2460 | 3220 | ldr w7, [x2, 3280] |
---|
2461 | 3221 | ldr x5, [x2, 3248] |
---|
2462 | | -.L268: |
---|
| 3222 | +.L314: |
---|
2463 | 3223 | cmp w3, w1 |
---|
2464 | | - bcs .L267 |
---|
| 3224 | + bcs .L313 |
---|
2465 | 3225 | ubfiz x4, x3, 5, 16 |
---|
2466 | 3226 | mov w2, 0 |
---|
2467 | 3227 | add x4, x0, x4 |
---|
2468 | | - b .L273 |
---|
2469 | | -.L269: |
---|
| 3228 | + b .L319 |
---|
| 3229 | +.L315: |
---|
2470 | 3230 | add w2, w2, 1 |
---|
2471 | 3231 | and w2, w2, 65535 |
---|
2472 | | -.L273: |
---|
| 3232 | +.L319: |
---|
2473 | 3233 | cmp w2, w7 |
---|
2474 | | - bcs .L270 |
---|
| 3234 | + bcs .L316 |
---|
2475 | 3235 | umull x6, w2, w8 |
---|
2476 | 3236 | add x9, x5, x6 |
---|
2477 | 3237 | ldr x10, [x5, x6] |
---|
2478 | 3238 | ldr x6, [x4, 8] |
---|
2479 | 3239 | cmp x10, x6 |
---|
2480 | | - bne .L269 |
---|
| 3240 | + bne .L315 |
---|
2481 | 3241 | str wzr, [x9, 16] |
---|
2482 | | -.L270: |
---|
| 3242 | +.L316: |
---|
2483 | 3243 | add w3, w3, 1 |
---|
2484 | 3244 | and w3, w3, 65535 |
---|
2485 | | - b .L268 |
---|
2486 | | -.L267: |
---|
| 3245 | + b .L314 |
---|
| 3246 | +.L313: |
---|
| 3247 | + hint 29 // autiasp |
---|
2487 | 3248 | ret |
---|
2488 | 3249 | .size FtlGcBufFree, .-FtlGcBufFree |
---|
2489 | 3250 | .align 2 |
---|
2490 | 3251 | .global FtlGcBufAlloc |
---|
2491 | 3252 | .type FtlGcBufAlloc, %function |
---|
2492 | 3253 | FtlGcBufAlloc: |
---|
| 3254 | + hint 34 // bti c |
---|
| 3255 | + .section __patchable_function_entries |
---|
| 3256 | + .align 3 |
---|
| 3257 | + .8byte .LPFE46 |
---|
| 3258 | + .text |
---|
| 3259 | +.LPFE46: |
---|
| 3260 | + nop |
---|
| 3261 | + nop |
---|
2493 | 3262 | adrp x2, .LANCHOR0 |
---|
2494 | 3263 | add x2, x2, :lo12:.LANCHOR0 |
---|
2495 | | - mov w3, 0 |
---|
2496 | 3264 | mov w7, 24 |
---|
2497 | 3265 | mov w8, 1 |
---|
2498 | | - ldr w5, [x2, 3280] |
---|
2499 | | - ldr x6, [x2, 3248] |
---|
2500 | | -.L275: |
---|
2501 | | - cmp w3, w1 |
---|
2502 | | - bcs .L274 |
---|
| 3266 | + hint 25 // paciasp |
---|
| 3267 | + ldr w6, [x2, 3280] |
---|
| 3268 | + ldr x5, [x2, 3248] |
---|
2503 | 3269 | mov w2, 0 |
---|
2504 | | - b .L280 |
---|
2505 | | -.L276: |
---|
2506 | | - add w2, w2, 1 |
---|
2507 | | - and w2, w2, 65535 |
---|
2508 | | -.L280: |
---|
2509 | | - cmp w2, w5 |
---|
2510 | | - bcs .L277 |
---|
2511 | | - umaddl x4, w2, w7, x6 |
---|
2512 | | - ldr w9, [x4, 16] |
---|
2513 | | - cbnz w9, .L276 |
---|
2514 | | - ubfiz x2, x3, 5, 16 |
---|
2515 | | - ldr x9, [x4] |
---|
2516 | | - add x2, x0, x2 |
---|
2517 | | - str w8, [x4, 16] |
---|
2518 | | - str x9, [x2, 8] |
---|
2519 | | - ldr x4, [x4, 8] |
---|
2520 | | - str x4, [x2, 16] |
---|
2521 | | -.L277: |
---|
| 3270 | +.L322: |
---|
| 3271 | + cmp w2, w1 |
---|
| 3272 | + bcc .L327 |
---|
| 3273 | + hint 29 // autiasp |
---|
| 3274 | + ret |
---|
| 3275 | +.L323: |
---|
2522 | 3276 | add w3, w3, 1 |
---|
2523 | 3277 | and w3, w3, 65535 |
---|
2524 | | - b .L275 |
---|
2525 | | -.L274: |
---|
2526 | | - ret |
---|
| 3278 | +.L326: |
---|
| 3279 | + cmp w3, w6 |
---|
| 3280 | + bcs .L324 |
---|
| 3281 | + umaddl x4, w3, w7, x5 |
---|
| 3282 | + ldr w9, [x4, 16] |
---|
| 3283 | + cbnz w9, .L323 |
---|
| 3284 | + ubfiz x3, x2, 5, 16 |
---|
| 3285 | + str w8, [x4, 16] |
---|
| 3286 | + add x3, x0, x3 |
---|
| 3287 | + ldr x9, [x4] |
---|
| 3288 | + str x9, [x3, 8] |
---|
| 3289 | + ldr x4, [x4, 8] |
---|
| 3290 | + str x4, [x3, 16] |
---|
| 3291 | +.L324: |
---|
| 3292 | + add w2, w2, 1 |
---|
| 3293 | + and w2, w2, 65535 |
---|
| 3294 | + b .L322 |
---|
| 3295 | +.L327: |
---|
| 3296 | + mov w3, 0 |
---|
| 3297 | + b .L326 |
---|
2527 | 3298 | .size FtlGcBufAlloc, .-FtlGcBufAlloc |
---|
2528 | 3299 | .align 2 |
---|
2529 | 3300 | .global IsBlkInGcList |
---|
2530 | 3301 | .type IsBlkInGcList, %function |
---|
2531 | 3302 | IsBlkInGcList: |
---|
| 3303 | + hint 34 // bti c |
---|
| 3304 | + .section __patchable_function_entries |
---|
| 3305 | + .align 3 |
---|
| 3306 | + .8byte .LPFE47 |
---|
| 3307 | + .text |
---|
| 3308 | +.LPFE47: |
---|
| 3309 | + nop |
---|
| 3310 | + nop |
---|
2532 | 3311 | adrp x1, .LANCHOR0 |
---|
2533 | 3312 | add x1, x1, :lo12:.LANCHOR0 |
---|
2534 | 3313 | and w0, w0, 65535 |
---|
2535 | | - ldrh w2, [x1, 3284] |
---|
2536 | | - ldr x3, [x1, 3288] |
---|
| 3314 | + hint 25 // paciasp |
---|
| 3315 | + ldr x2, [x1, 3288] |
---|
| 3316 | + ldrh w3, [x1, 3284] |
---|
2537 | 3317 | mov x1, 0 |
---|
2538 | | -.L282: |
---|
2539 | | - cmp w2, w1, uxth |
---|
2540 | | - bhi .L284 |
---|
| 3318 | + sub x2, x2, #2 |
---|
| 3319 | +.L330: |
---|
| 3320 | + cmp w3, w1, uxth |
---|
| 3321 | + bhi .L332 |
---|
2541 | 3322 | mov w0, 0 |
---|
| 3323 | +.L329: |
---|
| 3324 | + hint 29 // autiasp |
---|
2542 | 3325 | ret |
---|
2543 | | -.L284: |
---|
| 3326 | +.L332: |
---|
2544 | 3327 | add x1, x1, 1 |
---|
2545 | | - add x4, x3, x1, lsl 1 |
---|
2546 | | - ldrh w4, [x4, -2] |
---|
| 3328 | + ldrh w4, [x2, x1, lsl 1] |
---|
2547 | 3329 | cmp w4, w0 |
---|
2548 | | - bne .L282 |
---|
| 3330 | + bne .L330 |
---|
2549 | 3331 | mov w0, 1 |
---|
2550 | | - ret |
---|
| 3332 | + b .L329 |
---|
2551 | 3333 | .size IsBlkInGcList, .-IsBlkInGcList |
---|
2552 | 3334 | .align 2 |
---|
2553 | 3335 | .global FtlGcUpdatePage |
---|
2554 | 3336 | .type FtlGcUpdatePage, %function |
---|
2555 | 3337 | FtlGcUpdatePage: |
---|
2556 | | - mov w5, w0 |
---|
2557 | | - mov w8, w1 |
---|
2558 | | - mov w7, w2 |
---|
2559 | | - stp x29, x30, [sp, -16]! |
---|
2560 | | - lsr w0, w0, 10 |
---|
2561 | | - add x29, sp, 0 |
---|
| 3338 | + hint 34 // bti c |
---|
| 3339 | + .section __patchable_function_entries |
---|
| 3340 | + .align 3 |
---|
| 3341 | + .8byte .LPFE48 |
---|
| 3342 | + .text |
---|
| 3343 | +.LPFE48: |
---|
| 3344 | + nop |
---|
| 3345 | + nop |
---|
| 3346 | + hint 25 // paciasp |
---|
| 3347 | + stp x29, x30, [sp, -48]! |
---|
| 3348 | + mov x29, sp |
---|
| 3349 | + stp x19, x20, [sp, 16] |
---|
| 3350 | + mov w19, w0 |
---|
| 3351 | + mov w20, w2 |
---|
| 3352 | + ubfx x0, x19, 10, 16 |
---|
| 3353 | + str x21, [sp, 32] |
---|
| 3354 | + mov w21, w1 |
---|
2562 | 3355 | bl P2V_block_in_plane |
---|
2563 | | - and w9, w0, 65535 |
---|
2564 | 3356 | adrp x3, .LANCHOR0 |
---|
2565 | | - add x4, x3, :lo12:.LANCHOR0 |
---|
2566 | | - ldrh w1, [x4, 3284] |
---|
2567 | | - ldr x6, [x4, 3288] |
---|
| 3357 | + add x3, x3, :lo12:.LANCHOR0 |
---|
| 3358 | + and w6, w0, 65535 |
---|
2568 | 3359 | mov x4, 0 |
---|
2569 | | -.L287: |
---|
| 3360 | + ldr x1, [x3, 3288] |
---|
| 3361 | + ldrh w5, [x3, 3284] |
---|
| 3362 | + sub x7, x1, #2 |
---|
| 3363 | +.L336: |
---|
2570 | 3364 | and w2, w4, 65535 |
---|
2571 | | - cmp w2, w1 |
---|
2572 | | - bcc .L289 |
---|
2573 | | - bne .L288 |
---|
2574 | | - and x4, x4, 65535 |
---|
2575 | | - strh w0, [x6, x4, lsl 1] |
---|
2576 | | - add x4, x3, :lo12:.LANCHOR0 |
---|
2577 | | - ldrh w0, [x4, 3284] |
---|
| 3365 | + cmp w5, w2 |
---|
| 3366 | + bhi .L338 |
---|
| 3367 | + bne .L337 |
---|
| 3368 | + strh w0, [x1, x4, lsl 1] |
---|
| 3369 | + ldrh w0, [x3, 3284] |
---|
2578 | 3370 | add w0, w0, 1 |
---|
2579 | | - strh w0, [x4, 3284] |
---|
2580 | | - b .L288 |
---|
2581 | | -.L289: |
---|
| 3371 | + strh w0, [x3, 3284] |
---|
| 3372 | + b .L337 |
---|
| 3373 | +.L338: |
---|
2582 | 3374 | add x4, x4, 1 |
---|
2583 | | - add x2, x6, x4, lsl 1 |
---|
2584 | | - ldrh w2, [x2, -2] |
---|
2585 | | - cmp w2, w9 |
---|
2586 | | - bne .L287 |
---|
2587 | | -.L288: |
---|
2588 | | - add x0, x3, :lo12:.LANCHOR0 |
---|
2589 | | - mov w1, 12 |
---|
2590 | | - ldrh w3, [x0, 3296] |
---|
2591 | | - ldr x4, [x0, 3304] |
---|
2592 | | - umull x3, w3, w1 |
---|
2593 | | - add x4, x4, x3 |
---|
2594 | | - str w8, [x4, 4] |
---|
2595 | | - ldr x1, [x0, 3304] |
---|
2596 | | - add x4, x1, x3 |
---|
2597 | | - str w7, [x4, 8] |
---|
2598 | | - str w5, [x1, x3] |
---|
2599 | | - ldrh w1, [x0, 3296] |
---|
2600 | | - add w1, w1, 1 |
---|
2601 | | - strh w1, [x0, 3296] |
---|
2602 | | - ldp x29, x30, [sp], 16 |
---|
| 3375 | + ldrh w2, [x7, x4, lsl 1] |
---|
| 3376 | + cmp w2, w6 |
---|
| 3377 | + bne .L336 |
---|
| 3378 | +.L337: |
---|
| 3379 | + ldrh w4, [x3, 3296] |
---|
| 3380 | + mov w0, 12 |
---|
| 3381 | + umull x4, w4, w0 |
---|
| 3382 | + ldr x0, [x3, 3304] |
---|
| 3383 | + add x0, x0, x4 |
---|
| 3384 | + str w21, [x0, 4] |
---|
| 3385 | + ldr x0, [x3, 3304] |
---|
| 3386 | + add x1, x0, x4 |
---|
| 3387 | + str w20, [x1, 8] |
---|
| 3388 | + str w19, [x0, x4] |
---|
| 3389 | + ldrh w0, [x3, 3296] |
---|
| 3390 | + add w0, w0, 1 |
---|
| 3391 | + strh w0, [x3, 3296] |
---|
| 3392 | + ldp x19, x20, [sp, 16] |
---|
| 3393 | + ldr x21, [sp, 32] |
---|
| 3394 | + ldp x29, x30, [sp], 48 |
---|
| 3395 | + hint 29 // autiasp |
---|
2603 | 3396 | ret |
---|
2604 | 3397 | .size FtlGcUpdatePage, .-FtlGcUpdatePage |
---|
| 3398 | + .section .rodata.str1.1 |
---|
| 3399 | +.LC80: |
---|
| 3400 | + .string "FtlGcRefreshBlock 0x%x\n" |
---|
| 3401 | + .text |
---|
2605 | 3402 | .align 2 |
---|
2606 | 3403 | .global FtlGcRefreshBlock |
---|
2607 | 3404 | .type FtlGcRefreshBlock, %function |
---|
2608 | 3405 | FtlGcRefreshBlock: |
---|
| 3406 | + hint 34 // bti c |
---|
| 3407 | + .section __patchable_function_entries |
---|
| 3408 | + .align 3 |
---|
| 3409 | + .8byte .LPFE49 |
---|
| 3410 | + .text |
---|
| 3411 | +.LPFE49: |
---|
| 3412 | + nop |
---|
| 3413 | + nop |
---|
| 3414 | + hint 25 // paciasp |
---|
2609 | 3415 | stp x29, x30, [sp, -32]! |
---|
2610 | | - add x29, sp, 0 |
---|
| 3416 | + mov x29, sp |
---|
2611 | 3417 | str x19, [sp, 16] |
---|
2612 | 3418 | and w19, w0, 65535 |
---|
2613 | 3419 | mov w1, w19 |
---|
2614 | | - adrp x0, .LC79 |
---|
2615 | | - add x0, x0, :lo12:.LC79 |
---|
| 3420 | + adrp x0, .LC80 |
---|
| 3421 | + add x0, x0, :lo12:.LC80 |
---|
2616 | 3422 | bl sftl_printk |
---|
2617 | 3423 | adrp x0, .LANCHOR0 |
---|
2618 | 3424 | add x0, x0, :lo12:.LANCHOR0 |
---|
2619 | 3425 | ldrh w3, [x0, 226] |
---|
2620 | | - cmp w19, w3 |
---|
2621 | | - beq .L292 |
---|
| 3426 | + cmp w3, w19 |
---|
| 3427 | + beq .L341 |
---|
2622 | 3428 | ldrh w2, [x0, 224] |
---|
2623 | | - cmp w19, w2 |
---|
2624 | | - beq .L292 |
---|
| 3429 | + cmp w2, w19 |
---|
| 3430 | + beq .L341 |
---|
2625 | 3431 | mov w1, 65535 |
---|
2626 | 3432 | cmp w3, w1 |
---|
2627 | | - bne .L293 |
---|
| 3433 | + bne .L342 |
---|
2628 | 3434 | strh w19, [x0, 226] |
---|
2629 | | -.L292: |
---|
| 3435 | +.L341: |
---|
2630 | 3436 | mov w0, 0 |
---|
2631 | 3437 | ldr x19, [sp, 16] |
---|
2632 | 3438 | ldp x29, x30, [sp], 32 |
---|
| 3439 | + hint 29 // autiasp |
---|
2633 | 3440 | ret |
---|
2634 | | -.L293: |
---|
| 3441 | +.L342: |
---|
2635 | 3442 | cmp w2, w1 |
---|
2636 | | - bne .L292 |
---|
| 3443 | + bne .L341 |
---|
2637 | 3444 | strh w19, [x0, 224] |
---|
2638 | | - b .L292 |
---|
| 3445 | + b .L341 |
---|
2639 | 3446 | .size FtlGcRefreshBlock, .-FtlGcRefreshBlock |
---|
| 3447 | + .section .rodata.str1.1 |
---|
| 3448 | +.LC81: |
---|
| 3449 | + .string "FtlGcMarkBadPhyBlk %d 0x%x\n" |
---|
| 3450 | + .text |
---|
2640 | 3451 | .align 2 |
---|
2641 | 3452 | .global FtlGcMarkBadPhyBlk |
---|
2642 | 3453 | .type FtlGcMarkBadPhyBlk, %function |
---|
2643 | 3454 | FtlGcMarkBadPhyBlk: |
---|
| 3455 | + hint 34 // bti c |
---|
| 3456 | + .section __patchable_function_entries |
---|
| 3457 | + .align 3 |
---|
| 3458 | + .8byte .LPFE50 |
---|
| 3459 | + .text |
---|
| 3460 | +.LPFE50: |
---|
| 3461 | + nop |
---|
| 3462 | + nop |
---|
| 3463 | + hint 25 // paciasp |
---|
2644 | 3464 | stp x29, x30, [sp, -48]! |
---|
2645 | | - add x29, sp, 0 |
---|
| 3465 | + mov x29, sp |
---|
2646 | 3466 | stp x19, x20, [sp, 16] |
---|
2647 | 3467 | adrp x19, .LANCHOR0 |
---|
2648 | | - add x20, x19, :lo12:.LANCHOR0 |
---|
2649 | | - stp x21, x22, [sp, 32] |
---|
2650 | | - and w21, w0, 65535 |
---|
2651 | | - add x20, x20, 3320 |
---|
2652 | | - mov w0, w21 |
---|
2653 | | - bl P2V_block_in_plane |
---|
2654 | | - ldrh w1, [x20, -8] |
---|
2655 | | - mov w2, w21 |
---|
2656 | | - mov w22, w0 |
---|
2657 | | - adrp x0, .LC80 |
---|
2658 | | - add x0, x0, :lo12:.LC80 |
---|
2659 | | - bl sftl_printk |
---|
2660 | | - mov w0, w22 |
---|
2661 | | - bl FtlGcRefreshBlock |
---|
2662 | | - ldrh w0, [x20, -8] |
---|
2663 | | - mov x1, 0 |
---|
2664 | | -.L296: |
---|
2665 | | - cmp w0, w1, uxth |
---|
2666 | | - bhi .L298 |
---|
2667 | | - cmp w0, 15 |
---|
2668 | | - bhi .L297 |
---|
2669 | 3468 | add x19, x19, :lo12:.LANCHOR0 |
---|
| 3469 | + and w20, w0, 65535 |
---|
| 3470 | + str x21, [sp, 32] |
---|
| 3471 | + mov w0, w20 |
---|
| 3472 | + bl P2V_block_in_plane |
---|
| 3473 | + ldrh w1, [x19, 3312] |
---|
| 3474 | + mov w2, w20 |
---|
| 3475 | + mov w21, w0 |
---|
| 3476 | + adrp x0, .LC81 |
---|
| 3477 | + add x0, x0, :lo12:.LC81 |
---|
| 3478 | + bl sftl_printk |
---|
| 3479 | + mov w0, w21 |
---|
| 3480 | + bl FtlGcRefreshBlock |
---|
| 3481 | + ldrh w0, [x19, 3312] |
---|
| 3482 | + add x2, x19, 3314 |
---|
| 3483 | + mov x1, 0 |
---|
| 3484 | +.L345: |
---|
| 3485 | + cmp w0, w1, uxth |
---|
| 3486 | + bhi .L347 |
---|
| 3487 | + cmp w0, 15 |
---|
| 3488 | + bhi .L346 |
---|
2670 | 3489 | add w1, w0, 1 |
---|
2671 | | - add x19, x19, 3320 |
---|
2672 | | - strh w1, [x19, -8] |
---|
2673 | | - strh w21, [x19, w0, sxtw 1] |
---|
2674 | | - b .L297 |
---|
2675 | | -.L298: |
---|
| 3490 | + add x19, x19, 3314 |
---|
| 3491 | + strh w1, [x19, -2] |
---|
| 3492 | + strh w20, [x19, w0, sxtw 1] |
---|
| 3493 | + b .L346 |
---|
| 3494 | +.L347: |
---|
2676 | 3495 | add x1, x1, 1 |
---|
2677 | | - add x2, x20, x1, lsl 1 |
---|
2678 | | - ldrh w2, [x2, -2] |
---|
2679 | | - cmp w2, w21 |
---|
2680 | | - bne .L296 |
---|
2681 | | -.L297: |
---|
| 3496 | + add x3, x2, x1, lsl 1 |
---|
| 3497 | + ldrh w3, [x3, -2] |
---|
| 3498 | + cmp w3, w20 |
---|
| 3499 | + bne .L345 |
---|
| 3500 | +.L346: |
---|
2682 | 3501 | mov w0, 0 |
---|
2683 | 3502 | ldp x19, x20, [sp, 16] |
---|
2684 | | - ldp x21, x22, [sp, 32] |
---|
| 3503 | + ldr x21, [sp, 32] |
---|
2685 | 3504 | ldp x29, x30, [sp], 48 |
---|
| 3505 | + hint 29 // autiasp |
---|
2686 | 3506 | ret |
---|
2687 | 3507 | .size FtlGcMarkBadPhyBlk, .-FtlGcMarkBadPhyBlk |
---|
2688 | 3508 | .align 2 |
---|
2689 | 3509 | .global FtlGcReFreshBadBlk |
---|
2690 | 3510 | .type FtlGcReFreshBadBlk, %function |
---|
2691 | 3511 | FtlGcReFreshBadBlk: |
---|
| 3512 | + hint 34 // bti c |
---|
| 3513 | + .section __patchable_function_entries |
---|
| 3514 | + .align 3 |
---|
| 3515 | + .8byte .LPFE51 |
---|
| 3516 | + .text |
---|
| 3517 | +.LPFE51: |
---|
| 3518 | + nop |
---|
| 3519 | + nop |
---|
| 3520 | + hint 25 // paciasp |
---|
2692 | 3521 | stp x29, x30, [sp, -32]! |
---|
2693 | | - add x29, sp, 0 |
---|
| 3522 | + mov x29, sp |
---|
2694 | 3523 | str x19, [sp, 16] |
---|
2695 | 3524 | adrp x19, .LANCHOR0 |
---|
2696 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
2697 | | - ldrh w1, [x0, 3312] |
---|
2698 | | - cbz w1, .L301 |
---|
2699 | | - ldrh w3, [x0, 226] |
---|
2700 | | - mov w2, 65535 |
---|
2701 | | - cmp w3, w2 |
---|
2702 | | - bne .L301 |
---|
2703 | | - ldrh w2, [x0, 3354] |
---|
2704 | | - cmp w2, w1 |
---|
2705 | | - bcc .L302 |
---|
2706 | | - strh wzr, [x0, 3354] |
---|
2707 | | -.L302: |
---|
2708 | 3525 | add x19, x19, :lo12:.LANCHOR0 |
---|
2709 | | - add x0, x19, 3320 |
---|
2710 | | - ldrh w1, [x19, 3354] |
---|
| 3526 | + ldrh w0, [x19, 3312] |
---|
| 3527 | + cbz w0, .L350 |
---|
| 3528 | + ldrh w2, [x19, 226] |
---|
| 3529 | + mov w1, 65535 |
---|
| 3530 | + cmp w2, w1 |
---|
| 3531 | + bne .L350 |
---|
| 3532 | + ldrh w1, [x19, 3348] |
---|
| 3533 | + cmp w1, w0 |
---|
| 3534 | + bcc .L351 |
---|
| 3535 | + strh wzr, [x19, 3348] |
---|
| 3536 | +.L351: |
---|
| 3537 | + ldrh w1, [x19, 3348] |
---|
| 3538 | + add x0, x19, 3314 |
---|
2711 | 3539 | ldrh w0, [x0, x1, lsl 1] |
---|
2712 | 3540 | bl P2V_block_in_plane |
---|
2713 | 3541 | bl FtlGcRefreshBlock |
---|
2714 | | - ldrh w0, [x19, 3354] |
---|
| 3542 | + ldrh w0, [x19, 3348] |
---|
2715 | 3543 | add w0, w0, 1 |
---|
2716 | | - strh w0, [x19, 3354] |
---|
2717 | | -.L301: |
---|
| 3544 | + strh w0, [x19, 3348] |
---|
| 3545 | +.L350: |
---|
2718 | 3546 | mov w0, 0 |
---|
2719 | 3547 | ldr x19, [sp, 16] |
---|
2720 | 3548 | ldp x29, x30, [sp], 32 |
---|
| 3549 | + hint 29 // autiasp |
---|
2721 | 3550 | ret |
---|
2722 | 3551 | .size FtlGcReFreshBadBlk, .-FtlGcReFreshBadBlk |
---|
2723 | 3552 | .align 2 |
---|
2724 | 3553 | .global ftl_malloc |
---|
2725 | 3554 | .type ftl_malloc, %function |
---|
2726 | 3555 | ftl_malloc: |
---|
| 3556 | + hint 34 // bti c |
---|
| 3557 | + .section __patchable_function_entries |
---|
| 3558 | + .align 3 |
---|
| 3559 | + .8byte .LPFE52 |
---|
| 3560 | + .text |
---|
| 3561 | +.LPFE52: |
---|
| 3562 | + nop |
---|
| 3563 | + nop |
---|
| 3564 | + hint 25 // paciasp |
---|
2727 | 3565 | stp x29, x30, [sp, -16]! |
---|
2728 | | - mov w1, 193 |
---|
2729 | | - movk w1, 0x60, lsl 16 |
---|
| 3566 | + mov w1, 3265 |
---|
| 3567 | + mov x29, sp |
---|
2730 | 3568 | sxtw x0, w0 |
---|
2731 | | - add x29, sp, 0 |
---|
2732 | 3569 | bl __kmalloc |
---|
2733 | 3570 | ldp x29, x30, [sp], 16 |
---|
| 3571 | + hint 29 // autiasp |
---|
2734 | 3572 | ret |
---|
2735 | 3573 | .size ftl_malloc, .-ftl_malloc |
---|
2736 | 3574 | .align 2 |
---|
2737 | 3575 | .global ftl_free |
---|
2738 | 3576 | .type ftl_free, %function |
---|
2739 | 3577 | ftl_free: |
---|
| 3578 | + hint 34 // bti c |
---|
| 3579 | + .section __patchable_function_entries |
---|
| 3580 | + .align 3 |
---|
| 3581 | + .8byte .LPFE53 |
---|
| 3582 | + .text |
---|
| 3583 | +.LPFE53: |
---|
| 3584 | + nop |
---|
| 3585 | + nop |
---|
| 3586 | + hint 25 // paciasp |
---|
2740 | 3587 | stp x29, x30, [sp, -16]! |
---|
2741 | | - add x29, sp, 0 |
---|
| 3588 | + mov x29, sp |
---|
2742 | 3589 | bl kfree |
---|
2743 | 3590 | ldp x29, x30, [sp], 16 |
---|
| 3591 | + hint 29 // autiasp |
---|
2744 | 3592 | ret |
---|
2745 | 3593 | .size ftl_free, .-ftl_free |
---|
| 3594 | + .section .rodata.str1.1 |
---|
| 3595 | +.LC82: |
---|
| 3596 | + .string "%s %p + 0x%x:" |
---|
| 3597 | +.LC83: |
---|
| 3598 | + .string "0x%08x," |
---|
| 3599 | +.LC84: |
---|
| 3600 | + .string "0x%04x," |
---|
| 3601 | +.LC85: |
---|
| 3602 | + .string "0x%02x," |
---|
| 3603 | +.LC86: |
---|
| 3604 | + .string "\n" |
---|
| 3605 | + .text |
---|
2746 | 3606 | .align 2 |
---|
2747 | 3607 | .global rknand_print_hex |
---|
2748 | 3608 | .type rknand_print_hex, %function |
---|
2749 | 3609 | rknand_print_hex: |
---|
| 3610 | + hint 34 // bti c |
---|
| 3611 | + .section __patchable_function_entries |
---|
| 3612 | + .align 3 |
---|
| 3613 | + .8byte .LPFE54 |
---|
| 3614 | + .text |
---|
| 3615 | +.LPFE54: |
---|
| 3616 | + nop |
---|
| 3617 | + nop |
---|
| 3618 | + hint 25 // paciasp |
---|
2750 | 3619 | stp x29, x30, [sp, -96]! |
---|
2751 | | - add x29, sp, 0 |
---|
2752 | | - stp x21, x22, [sp, 32] |
---|
2753 | | - mov x21, x1 |
---|
2754 | | - stp x23, x24, [sp, 48] |
---|
2755 | | - adrp x24, .LC81 |
---|
2756 | | - stp x25, x26, [sp, 64] |
---|
2757 | | - mov w23, w2 |
---|
2758 | | - stp x27, x28, [sp, 80] |
---|
2759 | | - adrp x25, .LC84 |
---|
2760 | | - mov x27, x0 |
---|
2761 | | - mov w26, w3 |
---|
2762 | | - add x24, x24, :lo12:.LC81 |
---|
2763 | | - add x25, x25, :lo12:.LC84 |
---|
| 3620 | + mov x29, sp |
---|
2764 | 3621 | stp x19, x20, [sp, 16] |
---|
2765 | | - mov w22, 0 |
---|
| 3622 | + mov x20, x1 |
---|
2766 | 3623 | mov x19, 0 |
---|
2767 | | - mov w20, 0 |
---|
2768 | | - adrp x28, .LC83 |
---|
2769 | | -.L312: |
---|
2770 | | - cmp w26, w19 |
---|
2771 | | - bhi .L318 |
---|
2772 | | - adrp x0, .LC85 |
---|
2773 | | - add x0, x0, :lo12:.LC85 |
---|
| 3624 | + stp x21, x22, [sp, 32] |
---|
| 3625 | + mov w22, w2 |
---|
| 3626 | + mov w21, 0 |
---|
| 3627 | + stp x23, x24, [sp, 48] |
---|
| 3628 | + mov w23, w3 |
---|
| 3629 | + mov w24, 0 |
---|
| 3630 | + stp x25, x26, [sp, 64] |
---|
| 3631 | + adrp x26, .LC82 |
---|
| 3632 | + mov x25, x0 |
---|
| 3633 | + add x26, x26, :lo12:.LC82 |
---|
| 3634 | + stp x27, x28, [sp, 80] |
---|
| 3635 | + adrp x27, .LC85 |
---|
| 3636 | + add x27, x27, :lo12:.LC85 |
---|
| 3637 | + adrp x28, .LC84 |
---|
| 3638 | +.L361: |
---|
| 3639 | + cmp w23, w19 |
---|
| 3640 | + bhi .L367 |
---|
| 3641 | + adrp x0, .LC86 |
---|
| 3642 | + add x0, x0, :lo12:.LC86 |
---|
2774 | 3643 | bl sftl_printk |
---|
2775 | 3644 | ldp x19, x20, [sp, 16] |
---|
2776 | 3645 | ldp x21, x22, [sp, 32] |
---|
.. | .. |
---|
2778 | 3647 | ldp x25, x26, [sp, 64] |
---|
2779 | 3648 | ldp x27, x28, [sp, 80] |
---|
2780 | 3649 | ldp x29, x30, [sp], 96 |
---|
| 3650 | + hint 29 // autiasp |
---|
2781 | 3651 | ret |
---|
2782 | | -.L318: |
---|
2783 | | - cbnz w20, .L313 |
---|
2784 | | - mov w3, w22 |
---|
2785 | | - mov x2, x21 |
---|
2786 | | - mov x1, x27 |
---|
2787 | | - mov x0, x24 |
---|
| 3652 | +.L367: |
---|
| 3653 | + cbnz w21, .L362 |
---|
| 3654 | + mov w3, w24 |
---|
| 3655 | + mov x2, x20 |
---|
| 3656 | + mov x1, x25 |
---|
| 3657 | + mov x0, x26 |
---|
2788 | 3658 | bl sftl_printk |
---|
2789 | | -.L313: |
---|
2790 | | - cmp w23, 4 |
---|
2791 | | - bne .L314 |
---|
2792 | | - ldr w1, [x21, x19, lsl 2] |
---|
2793 | | - adrp x0, .LC82 |
---|
2794 | | - add x0, x0, :lo12:.LC82 |
---|
2795 | | -.L320: |
---|
| 3659 | +.L362: |
---|
| 3660 | + cmp w22, 4 |
---|
| 3661 | + bne .L363 |
---|
| 3662 | + ldr w1, [x20, x19, lsl 2] |
---|
| 3663 | + adrp x0, .LC83 |
---|
| 3664 | + add x0, x0, :lo12:.LC83 |
---|
| 3665 | +.L369: |
---|
| 3666 | + add w21, w21, 1 |
---|
2796 | 3667 | bl sftl_printk |
---|
2797 | | - add w20, w20, 1 |
---|
2798 | | - cmp w20, 15 |
---|
2799 | | - bls .L317 |
---|
2800 | | - mov w20, 0 |
---|
2801 | | - adrp x0, .LC85 |
---|
2802 | | - add x0, x0, :lo12:.LC85 |
---|
| 3668 | + cmp w21, 15 |
---|
| 3669 | + bls .L366 |
---|
| 3670 | + mov w21, 0 |
---|
| 3671 | + adrp x0, .LC86 |
---|
| 3672 | + add x0, x0, :lo12:.LC86 |
---|
2803 | 3673 | bl sftl_printk |
---|
2804 | | -.L317: |
---|
| 3674 | +.L366: |
---|
2805 | 3675 | add x19, x19, 1 |
---|
2806 | | - add w22, w22, w23 |
---|
2807 | | - b .L312 |
---|
2808 | | -.L314: |
---|
2809 | | - cmp w23, 2 |
---|
2810 | | - bne .L316 |
---|
2811 | | - ldrh w1, [x21, x19, lsl 1] |
---|
2812 | | - add x0, x28, :lo12:.LC83 |
---|
2813 | | - b .L320 |
---|
2814 | | -.L316: |
---|
2815 | | - ldrb w1, [x21, x19] |
---|
2816 | | - mov x0, x25 |
---|
2817 | | - b .L320 |
---|
| 3676 | + add w24, w24, w22 |
---|
| 3677 | + b .L361 |
---|
| 3678 | +.L363: |
---|
| 3679 | + cmp w22, 2 |
---|
| 3680 | + bne .L365 |
---|
| 3681 | + ldrh w1, [x20, x19, lsl 1] |
---|
| 3682 | + add x0, x28, :lo12:.LC84 |
---|
| 3683 | + b .L369 |
---|
| 3684 | +.L365: |
---|
| 3685 | + ldrb w1, [x20, x19] |
---|
| 3686 | + mov x0, x27 |
---|
| 3687 | + b .L369 |
---|
2818 | 3688 | .size rknand_print_hex, .-rknand_print_hex |
---|
| 3689 | + .section .rodata.str1.1 |
---|
| 3690 | +.LC87: |
---|
| 3691 | + .string "%s: addr: %x is in id block!!!!!!!!!!\n" |
---|
| 3692 | +.LC88: |
---|
| 3693 | + .string "not free: w: d:" |
---|
| 3694 | +.LC89: |
---|
| 3695 | + .string "not free: w: s:" |
---|
| 3696 | + .text |
---|
2819 | 3697 | .align 2 |
---|
2820 | 3698 | .global FlashEraseBlocks |
---|
2821 | 3699 | .type FlashEraseBlocks, %function |
---|
2822 | 3700 | FlashEraseBlocks: |
---|
2823 | | - stp x29, x30, [sp, -112]! |
---|
2824 | | - add x29, sp, 0 |
---|
2825 | | - stp x19, x20, [sp, 16] |
---|
2826 | | - adrp x19, .LANCHOR0 |
---|
2827 | | - add x19, x19, :lo12:.LANCHOR0 |
---|
| 3701 | + hint 34 // bti c |
---|
| 3702 | + .section __patchable_function_entries |
---|
| 3703 | + .align 3 |
---|
| 3704 | + .8byte .LPFE55 |
---|
| 3705 | + .text |
---|
| 3706 | +.LPFE55: |
---|
| 3707 | + nop |
---|
| 3708 | + nop |
---|
| 3709 | + hint 25 // paciasp |
---|
| 3710 | + stp x29, x30, [sp, -96]! |
---|
| 3711 | + mrs x1, sp_el0 |
---|
| 3712 | + mov x29, sp |
---|
2828 | 3713 | stp x21, x22, [sp, 32] |
---|
| 3714 | + adrp x21, .LANCHOR0 |
---|
| 3715 | + add x21, x21, :lo12:.LANCHOR0 |
---|
| 3716 | + stp x19, x20, [sp, 16] |
---|
| 3717 | + mov x19, x0 |
---|
| 3718 | + mov w0, 32 |
---|
2829 | 3719 | stp x23, x24, [sp, 48] |
---|
2830 | | - ubfiz x23, x2, 5, 32 |
---|
| 3720 | + mov x20, x19 |
---|
| 3721 | + umaddl x22, w2, w0, x19 |
---|
2831 | 3722 | stp x25, x26, [sp, 64] |
---|
2832 | | - mov x20, x0 |
---|
2833 | | - str x27, [sp, 80] |
---|
2834 | | - adrp x21, __stack_chk_guard |
---|
2835 | | - add x24, x23, 4 |
---|
2836 | | - add x0, x21, :lo12:__stack_chk_guard |
---|
2837 | | - ldrh w25, [x19, 12] |
---|
2838 | | - add x22, x20, 4 |
---|
2839 | | - add x24, x20, x24 |
---|
2840 | | - ldr x1, [x0] |
---|
2841 | | - str x1, [x29, 104] |
---|
2842 | | - mov x1,0 |
---|
2843 | | - mov w26, -1 |
---|
2844 | | - lsl w27, w25, 3 |
---|
2845 | | -.L322: |
---|
2846 | | - cmp x22, x24 |
---|
2847 | | - beq .L326 |
---|
2848 | | - ldr w0, [x22] |
---|
2849 | | - add x2, x29, 96 |
---|
2850 | | - add x1, x29, 100 |
---|
| 3723 | + mov w24, -1 |
---|
| 3724 | + ldrh w23, [x21, 12] |
---|
| 3725 | + ldr x3, [x1, 1376] |
---|
| 3726 | + str x3, [sp, 88] |
---|
| 3727 | + mov x3, 0 |
---|
| 3728 | + lsl w26, w23, 3 |
---|
| 3729 | +.L371: |
---|
| 3730 | + cmp x20, x22 |
---|
| 3731 | + beq .L375 |
---|
| 3732 | + ldr w0, [x20, 4] |
---|
| 3733 | + add x2, sp, 80 |
---|
| 3734 | + add x1, sp, 84 |
---|
2851 | 3735 | bl l2p_addr_tran.isra.0 |
---|
2852 | | - ldr w0, [x29, 96] |
---|
2853 | | - cbnz w0, .L323 |
---|
2854 | | - ldr w1, [x29, 100] |
---|
2855 | | - cmp w27, w1 |
---|
2856 | | - bls .L323 |
---|
2857 | | - mov x19, x20 |
---|
2858 | | - add x23, x20, x23 |
---|
| 3736 | + ldr w0, [sp, 80] |
---|
| 3737 | + cbnz w0, .L372 |
---|
| 3738 | + ldr w1, [sp, 84] |
---|
| 3739 | + cmp w26, w1 |
---|
| 3740 | + bls .L372 |
---|
2859 | 3741 | adrp x20, .LANCHOR1 |
---|
2860 | 3742 | add x20, x20, :lo12:.LANCHOR1 |
---|
2861 | | - adrp x22, .LC86 |
---|
2862 | | - add x20, x20, 160 |
---|
2863 | | - add x22, x22, :lo12:.LC86 |
---|
2864 | | -.L324: |
---|
2865 | | - cmp x19, x23 |
---|
2866 | | - bne .L325 |
---|
| 3743 | + adrp x21, .LC87 |
---|
| 3744 | + add x20, x20, 130 |
---|
| 3745 | + add x21, x21, :lo12:.LC87 |
---|
| 3746 | +.L373: |
---|
| 3747 | + cmp x19, x22 |
---|
| 3748 | + bne .L374 |
---|
2867 | 3749 | bl dump_stack |
---|
2868 | | -.L326: |
---|
2869 | | - add x21, x21, :lo12:__stack_chk_guard |
---|
2870 | | - mov w0, 0 |
---|
2871 | | - ldr x2, [x29, 104] |
---|
2872 | | - ldr x1, [x21] |
---|
2873 | | - eor x1, x2, x1 |
---|
2874 | | - cbz x1, .L333 |
---|
| 3750 | +.L375: |
---|
| 3751 | + mrs x0, sp_el0 |
---|
| 3752 | + ldr x1, [sp, 88] |
---|
| 3753 | + ldr x2, [x0, 1376] |
---|
| 3754 | + subs x1, x1, x2 |
---|
| 3755 | + mov x2, 0 |
---|
| 3756 | + beq .L382 |
---|
2875 | 3757 | bl __stack_chk_fail |
---|
2876 | | -.L325: |
---|
2877 | | - ldr w2, [x29, 100] |
---|
| 3758 | +.L374: |
---|
| 3759 | + ldr w2, [sp, 84] |
---|
2878 | 3760 | mov w0, -1 |
---|
2879 | 3761 | str w0, [x19] |
---|
2880 | 3762 | mov x1, x20 |
---|
2881 | | - mov x0, x22 |
---|
| 3763 | + mov x0, x21 |
---|
2882 | 3764 | add x19, x19, 32 |
---|
2883 | 3765 | bl sftl_printk |
---|
2884 | 3766 | ldr x1, [x19, -24] |
---|
2885 | 3767 | mov w3, 16 |
---|
2886 | 3768 | mov w2, 4 |
---|
2887 | | - adrp x0, .LC87 |
---|
2888 | | - add x0, x0, :lo12:.LC87 |
---|
| 3769 | + adrp x0, .LC88 |
---|
| 3770 | + add x0, x0, :lo12:.LC88 |
---|
2889 | 3771 | bl rknand_print_hex |
---|
2890 | 3772 | ldr x1, [x19, -16] |
---|
2891 | 3773 | mov w3, 4 |
---|
2892 | | - adrp x0, .LC88 |
---|
| 3774 | + adrp x0, .LC89 |
---|
2893 | 3775 | mov w2, w3 |
---|
2894 | | - add x0, x0, :lo12:.LC88 |
---|
| 3776 | + add x0, x0, :lo12:.LC89 |
---|
2895 | 3777 | bl rknand_print_hex |
---|
2896 | | - b .L324 |
---|
2897 | | -.L323: |
---|
2898 | | - ldr w1, [x29, 100] |
---|
2899 | | - ldr x2, [x19, 3368] |
---|
| 3778 | + b .L373 |
---|
| 3779 | +.L372: |
---|
| 3780 | + ldr w1, [sp, 84] |
---|
| 3781 | + ldr x2, [x21, 3360] |
---|
2900 | 3782 | blr x2 |
---|
2901 | 3783 | cmp w0, 0 |
---|
2902 | | - csel w0, w26, wzr, ne |
---|
2903 | | - str w0, [x22, -4] |
---|
2904 | | - ldrh w0, [x19, 14] |
---|
| 3784 | + csel w0, wzr, w24, eq |
---|
| 3785 | + str w0, [x20] |
---|
| 3786 | + ldrh w0, [x21, 14] |
---|
2905 | 3787 | cmp w0, 4 |
---|
2906 | | - bne .L330 |
---|
2907 | | - ldrb w0, [x29, 96] |
---|
2908 | | - ldr x2, [x19, 3368] |
---|
2909 | | - ldr w1, [x29, 100] |
---|
2910 | | - add w1, w25, w1 |
---|
| 3788 | + bne .L379 |
---|
| 3789 | + ldrb w0, [sp, 80] |
---|
| 3790 | + ldr x2, [x21, 3360] |
---|
| 3791 | + ldr w1, [sp, 84] |
---|
| 3792 | + add w1, w23, w1 |
---|
2911 | 3793 | blr x2 |
---|
2912 | | - cbz w0, .L330 |
---|
2913 | | - str w26, [x22, -4] |
---|
2914 | | -.L330: |
---|
2915 | | - add x22, x22, 32 |
---|
2916 | | - b .L322 |
---|
2917 | | -.L333: |
---|
| 3794 | + cbz w0, .L379 |
---|
| 3795 | + str w24, [x20] |
---|
| 3796 | +.L379: |
---|
| 3797 | + add x20, x20, 32 |
---|
| 3798 | + b .L371 |
---|
| 3799 | +.L382: |
---|
| 3800 | + mov w0, 0 |
---|
2918 | 3801 | ldp x19, x20, [sp, 16] |
---|
2919 | 3802 | ldp x21, x22, [sp, 32] |
---|
2920 | 3803 | ldp x23, x24, [sp, 48] |
---|
2921 | 3804 | ldp x25, x26, [sp, 64] |
---|
2922 | | - ldr x27, [sp, 80] |
---|
2923 | | - ldp x29, x30, [sp], 112 |
---|
| 3805 | + ldp x29, x30, [sp], 96 |
---|
| 3806 | + hint 29 // autiasp |
---|
2924 | 3807 | ret |
---|
2925 | 3808 | .size FlashEraseBlocks, .-FlashEraseBlocks |
---|
2926 | 3809 | .align 2 |
---|
2927 | 3810 | .global FtlFreeSysBlkQueueIn |
---|
2928 | 3811 | .type FtlFreeSysBlkQueueIn, %function |
---|
2929 | 3812 | FtlFreeSysBlkQueueIn: |
---|
| 3813 | + hint 34 // bti c |
---|
| 3814 | + .section __patchable_function_entries |
---|
| 3815 | + .align 3 |
---|
| 3816 | + .8byte .LPFE56 |
---|
| 3817 | + .text |
---|
| 3818 | +.LPFE56: |
---|
| 3819 | + nop |
---|
| 3820 | + nop |
---|
| 3821 | + hint 25 // paciasp |
---|
2930 | 3822 | stp x29, x30, [sp, -48]! |
---|
2931 | | - add x29, sp, 0 |
---|
2932 | | - stp x21, x22, [sp, 32] |
---|
| 3823 | + mov x29, sp |
---|
| 3824 | + str x21, [sp, 32] |
---|
2933 | 3825 | and w21, w0, 65535 |
---|
2934 | | - stp x19, x20, [sp, 16] |
---|
2935 | 3826 | sub w2, w21, #1 |
---|
2936 | 3827 | mov w0, 65533 |
---|
| 3828 | + stp x19, x20, [sp, 16] |
---|
2937 | 3829 | cmp w0, w2, uxth |
---|
2938 | | - bcc .L338 |
---|
2939 | | - adrp x0, .LANCHOR0 |
---|
2940 | | - add x20, x0, :lo12:.LANCHOR0 |
---|
2941 | | - mov x19, x0 |
---|
2942 | | - ldrh w2, [x20, 462] |
---|
2943 | | - cmp w2, 1024 |
---|
2944 | | - beq .L338 |
---|
| 3830 | + bcc .L388 |
---|
| 3831 | + adrp x19, .LANCHOR0 |
---|
| 3832 | + add x19, x19, :lo12:.LANCHOR0 |
---|
| 3833 | + ldrh w0, [x19, 462] |
---|
| 3834 | + cmp w0, 1024 |
---|
| 3835 | + beq .L388 |
---|
2945 | 3836 | and w1, w1, 65535 |
---|
2946 | | - cbz w1, .L340 |
---|
| 3837 | + cbz w1, .L390 |
---|
2947 | 3838 | mov w0, w21 |
---|
2948 | 3839 | bl P2V_block_in_plane |
---|
2949 | | - and w22, w0, 65535 |
---|
2950 | | - ldr x0, [x20, 3408] |
---|
| 3840 | + and w20, w0, 65535 |
---|
2951 | 3841 | lsl w1, w21, 10 |
---|
| 3842 | + ldr x0, [x19, 3400] |
---|
2952 | 3843 | mov w2, 1 |
---|
2953 | 3844 | str w1, [x0, 4] |
---|
2954 | 3845 | mov w1, w2 |
---|
2955 | | - ldr x0, [x20, 3408] |
---|
| 3846 | + ldr x0, [x19, 3400] |
---|
2956 | 3847 | bl FlashEraseBlocks |
---|
2957 | | - ldr x2, [x20, 2600] |
---|
2958 | | - ubfiz x0, x22, 1, 16 |
---|
| 3848 | + ldr x2, [x19, 2600] |
---|
| 3849 | + ubfiz x0, x20, 1, 16 |
---|
2959 | 3850 | ldrh w1, [x2, x0] |
---|
2960 | 3851 | add w1, w1, 1 |
---|
2961 | 3852 | strh w1, [x2, x0] |
---|
2962 | | - ldr w0, [x20, 2680] |
---|
| 3853 | + ldr w0, [x19, 2680] |
---|
2963 | 3854 | add w0, w0, 1 |
---|
2964 | | - str w0, [x20, 2680] |
---|
2965 | | -.L340: |
---|
2966 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
2967 | | - add x0, x0, 456 |
---|
2968 | | - ldrh w1, [x0, 6] |
---|
2969 | | - add w1, w1, 1 |
---|
2970 | | - strh w1, [x0, 6] |
---|
2971 | | - ldrh w1, [x0, 4] |
---|
2972 | | - add x2, x0, x1, sxtw 1 |
---|
2973 | | - add w1, w1, 1 |
---|
2974 | | - and w1, w1, 1023 |
---|
2975 | | - strh w1, [x0, 4] |
---|
2976 | | - strh w21, [x2, 8] |
---|
2977 | | -.L338: |
---|
| 3855 | + str w0, [x19, 2680] |
---|
| 3856 | +.L390: |
---|
| 3857 | + ldrh w0, [x19, 462] |
---|
| 3858 | + add x19, x19, 456 |
---|
| 3859 | + ldrh w1, [x19, 4] |
---|
| 3860 | + add w0, w0, 1 |
---|
| 3861 | + strh w0, [x19, 6] |
---|
| 3862 | + ldrh w0, [x19, 4] |
---|
| 3863 | + add x1, x19, x1, lsl 1 |
---|
| 3864 | + add w0, w0, 1 |
---|
| 3865 | + and w0, w0, 1023 |
---|
| 3866 | + strh w0, [x19, 4] |
---|
| 3867 | + strh w21, [x1, 8] |
---|
| 3868 | +.L388: |
---|
2978 | 3869 | ldp x19, x20, [sp, 16] |
---|
2979 | | - ldp x21, x22, [sp, 32] |
---|
| 3870 | + ldr x21, [sp, 32] |
---|
2980 | 3871 | ldp x29, x30, [sp], 48 |
---|
| 3872 | + hint 29 // autiasp |
---|
2981 | 3873 | ret |
---|
2982 | 3874 | .size FtlFreeSysBlkQueueIn, .-FtlFreeSysBlkQueueIn |
---|
| 3875 | + .section .rodata.str1.1 |
---|
| 3876 | +.LC90: |
---|
| 3877 | + .string "FtlFreeSysBlkQueueOut = %x, free count = %d, error\n" |
---|
| 3878 | + .text |
---|
2983 | 3879 | .align 2 |
---|
2984 | 3880 | .global FtlFreeSysBlkQueueOut |
---|
2985 | 3881 | .type FtlFreeSysBlkQueueOut, %function |
---|
2986 | 3882 | FtlFreeSysBlkQueueOut: |
---|
2987 | | - stp x29, x30, [sp, -48]! |
---|
2988 | | - adrp x0, .LANCHOR0 |
---|
2989 | | - add x29, sp, 0 |
---|
2990 | | - str x21, [sp, 32] |
---|
2991 | | - add x21, x0, :lo12:.LANCHOR0 |
---|
| 3883 | + hint 34 // bti c |
---|
| 3884 | + .section __patchable_function_entries |
---|
| 3885 | + .align 3 |
---|
| 3886 | + .8byte .LPFE57 |
---|
| 3887 | + .text |
---|
| 3888 | +.LPFE57: |
---|
| 3889 | + nop |
---|
| 3890 | + nop |
---|
| 3891 | + hint 25 // paciasp |
---|
| 3892 | + stp x29, x30, [sp, -32]! |
---|
| 3893 | + mov x29, sp |
---|
2992 | 3894 | stp x19, x20, [sp, 16] |
---|
2993 | | - mov x19, x0 |
---|
2994 | | - ldrh w2, [x21, 462] |
---|
2995 | | - cbz w2, .L352 |
---|
2996 | | - ldrh w0, [x21, 458] |
---|
2997 | | - add x1, x21, 456 |
---|
| 3895 | + adrp x19, .LANCHOR0 |
---|
| 3896 | + add x19, x19, :lo12:.LANCHOR0 |
---|
| 3897 | + ldrh w2, [x19, 462] |
---|
| 3898 | + cbz w2, .L402 |
---|
| 3899 | + ldrh w3, [x19, 458] |
---|
| 3900 | + add x0, x19, 456 |
---|
| 3901 | + ldrh w1, [x19, 458] |
---|
2998 | 3902 | sub w2, w2, #1 |
---|
2999 | | - strh w2, [x21, 462] |
---|
| 3903 | + strh w2, [x19, 462] |
---|
3000 | 3904 | mov w2, 1 |
---|
3001 | | - add x3, x1, x0, sxtw 1 |
---|
3002 | | - add w0, w0, 1 |
---|
3003 | | - and w0, w0, 1023 |
---|
3004 | | - strh w0, [x21, 458] |
---|
3005 | | - ldr x0, [x21, 3408] |
---|
| 3905 | + add x3, x0, x3, lsl 1 |
---|
| 3906 | + add w1, w1, 1 |
---|
| 3907 | + ldr x0, [x19, 3400] |
---|
| 3908 | + and w1, w1, 1023 |
---|
3006 | 3909 | ldrh w20, [x3, 8] |
---|
| 3910 | + strh w1, [x19, 458] |
---|
3007 | 3911 | lsl w1, w20, 10 |
---|
3008 | 3912 | str w1, [x0, 4] |
---|
3009 | 3913 | mov w1, w2 |
---|
3010 | | - ldr x0, [x21, 3408] |
---|
| 3914 | + ldr x0, [x19, 3400] |
---|
3011 | 3915 | bl FlashEraseBlocks |
---|
3012 | | - ldr w0, [x21, 2680] |
---|
| 3916 | + ldr w0, [x19, 2680] |
---|
| 3917 | + sub w1, w20, #1 |
---|
3013 | 3918 | add w0, w0, 1 |
---|
3014 | | - str w0, [x21, 2680] |
---|
3015 | | -.L349: |
---|
3016 | | - sub w0, w20, #1 |
---|
3017 | | - mov w1, 65533 |
---|
3018 | | - cmp w1, w0, uxth |
---|
3019 | | - bcs .L350 |
---|
3020 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
| 3919 | + str w0, [x19, 2680] |
---|
| 3920 | + mov w0, 65533 |
---|
| 3921 | + cmp w0, w1, uxth |
---|
| 3922 | + bcs .L400 |
---|
| 3923 | +.L399: |
---|
| 3924 | + ldrh w2, [x19, 462] |
---|
| 3925 | + adrp x0, .LC90 |
---|
3021 | 3926 | mov w1, w20 |
---|
3022 | | - ldrh w2, [x0, 462] |
---|
3023 | | - adrp x0, .LC89 |
---|
3024 | | - add x0, x0, :lo12:.LC89 |
---|
| 3927 | + add x0, x0, :lo12:.LC90 |
---|
3025 | 3928 | bl sftl_printk |
---|
3026 | | -.L351: |
---|
3027 | | - b .L351 |
---|
3028 | | -.L352: |
---|
| 3929 | +.L401: |
---|
| 3930 | + b .L401 |
---|
| 3931 | +.L402: |
---|
3029 | 3932 | mov w20, 65535 |
---|
3030 | | - b .L349 |
---|
3031 | | -.L350: |
---|
| 3933 | + b .L399 |
---|
| 3934 | +.L400: |
---|
3032 | 3935 | mov w0, w20 |
---|
3033 | | - ldr x21, [sp, 32] |
---|
3034 | 3936 | ldp x19, x20, [sp, 16] |
---|
3035 | | - ldp x29, x30, [sp], 48 |
---|
| 3937 | + ldp x29, x30, [sp], 32 |
---|
| 3938 | + hint 29 // autiasp |
---|
3036 | 3939 | ret |
---|
3037 | 3940 | .size FtlFreeSysBlkQueueOut, .-FtlFreeSysBlkQueueOut |
---|
| 3941 | + .section .rodata.str1.1 |
---|
| 3942 | +.LC91: |
---|
| 3943 | + .string "FtlFreeSysBlkQueueOut = %x, free count = %d\n" |
---|
| 3944 | + .text |
---|
3038 | 3945 | .align 2 |
---|
3039 | 3946 | .global ftl_map_blk_alloc_new_blk |
---|
3040 | 3947 | .type ftl_map_blk_alloc_new_blk, %function |
---|
3041 | 3948 | ftl_map_blk_alloc_new_blk: |
---|
| 3949 | + hint 34 // bti c |
---|
| 3950 | + .section __patchable_function_entries |
---|
| 3951 | + .align 3 |
---|
| 3952 | + .8byte .LPFE58 |
---|
| 3953 | + .text |
---|
| 3954 | +.LPFE58: |
---|
| 3955 | + nop |
---|
| 3956 | + nop |
---|
| 3957 | + hint 25 // paciasp |
---|
3042 | 3958 | stp x29, x30, [sp, -48]! |
---|
3043 | | - add x29, sp, 0 |
---|
| 3959 | + mov x29, sp |
---|
3044 | 3960 | stp x19, x20, [sp, 16] |
---|
3045 | 3961 | mov x19, x0 |
---|
3046 | | - str x21, [sp, 32] |
---|
3047 | 3962 | mov w20, 0 |
---|
| 3963 | + str x21, [sp, 32] |
---|
3048 | 3964 | ldrh w1, [x0, 10] |
---|
3049 | 3965 | ldr x0, [x0, 16] |
---|
3050 | | -.L355: |
---|
3051 | | - cmp w20, w1 |
---|
3052 | | - beq .L359 |
---|
| 3966 | +.L405: |
---|
| 3967 | + cmp w1, w20 |
---|
| 3968 | + beq .L411 |
---|
3053 | 3969 | mov x21, x0 |
---|
3054 | 3970 | ldrh w2, [x0], 2 |
---|
3055 | | - cbnz w2, .L356 |
---|
| 3971 | + cbnz w2, .L406 |
---|
3056 | 3972 | bl FtlFreeSysBlkQueueOut |
---|
3057 | 3973 | and w1, w0, 65535 |
---|
3058 | | - strh w0, [x21] |
---|
3059 | 3974 | sub w2, w1, #1 |
---|
| 3975 | + strh w0, [x21] |
---|
3060 | 3976 | mov w0, 65533 |
---|
3061 | 3977 | cmp w0, w2, uxth |
---|
3062 | | - bcs .L357 |
---|
| 3978 | + bcs .L407 |
---|
3063 | 3979 | adrp x0, .LANCHOR0+462 |
---|
3064 | 3980 | ldrh w2, [x0, #:lo12:.LANCHOR0+462] |
---|
3065 | | - adrp x0, .LC90 |
---|
3066 | | - add x0, x0, :lo12:.LC90 |
---|
| 3981 | + adrp x0, .LC91 |
---|
| 3982 | + add x0, x0, :lo12:.LC91 |
---|
3067 | 3983 | bl sftl_printk |
---|
3068 | | -.L358: |
---|
3069 | | - b .L358 |
---|
3070 | | -.L357: |
---|
| 3984 | +.L408: |
---|
| 3985 | + b .L408 |
---|
| 3986 | +.L407: |
---|
3071 | 3987 | ldr w0, [x19, 48] |
---|
3072 | | - strh wzr, [x19, 2] |
---|
| 3988 | + strh w20, [x19] |
---|
3073 | 3989 | add w0, w0, 1 |
---|
3074 | 3990 | str w0, [x19, 48] |
---|
3075 | 3991 | ldrh w0, [x19, 8] |
---|
3076 | | - strh w20, [x19] |
---|
| 3992 | + strh wzr, [x19, 2] |
---|
3077 | 3993 | add w0, w0, 1 |
---|
3078 | 3994 | strh w0, [x19, 8] |
---|
3079 | | -.L359: |
---|
3080 | 3995 | ldrh w0, [x19, 10] |
---|
3081 | 3996 | cmp w0, w20 |
---|
3082 | | - bhi .L361 |
---|
| 3997 | + bhi .L409 |
---|
| 3998 | +.L411: |
---|
3083 | 3999 | adrp x1, .LANCHOR1 |
---|
3084 | 4000 | add x1, x1, :lo12:.LANCHOR1 |
---|
3085 | | - adrp x0, .LC8 |
---|
| 4001 | + adrp x0, .LC9 |
---|
| 4002 | + add x1, x1, 147 |
---|
| 4003 | + add x0, x0, :lo12:.LC9 |
---|
3086 | 4004 | mov w2, 578 |
---|
3087 | | - add x1, x1, 184 |
---|
3088 | | - add x0, x0, :lo12:.LC8 |
---|
3089 | 4005 | bl sftl_printk |
---|
3090 | | -.L361: |
---|
| 4006 | +.L409: |
---|
3091 | 4007 | mov w0, 0 |
---|
3092 | | - ldr x21, [sp, 32] |
---|
3093 | 4008 | ldp x19, x20, [sp, 16] |
---|
| 4009 | + ldr x21, [sp, 32] |
---|
3094 | 4010 | ldp x29, x30, [sp], 48 |
---|
| 4011 | + hint 29 // autiasp |
---|
3095 | 4012 | ret |
---|
3096 | | -.L356: |
---|
| 4013 | +.L406: |
---|
3097 | 4014 | add w20, w20, 1 |
---|
3098 | 4015 | and w20, w20, 65535 |
---|
3099 | | - b .L355 |
---|
| 4016 | + b .L405 |
---|
3100 | 4017 | .size ftl_map_blk_alloc_new_blk, .-ftl_map_blk_alloc_new_blk |
---|
3101 | 4018 | .align 2 |
---|
3102 | 4019 | .global ftl_memset |
---|
3103 | 4020 | .type ftl_memset, %function |
---|
3104 | 4021 | ftl_memset: |
---|
| 4022 | + hint 34 // bti c |
---|
| 4023 | + .section __patchable_function_entries |
---|
| 4024 | + .align 3 |
---|
| 4025 | + .8byte .LPFE59 |
---|
| 4026 | + .text |
---|
| 4027 | +.LPFE59: |
---|
| 4028 | + nop |
---|
| 4029 | + nop |
---|
| 4030 | + hint 25 // paciasp |
---|
3105 | 4031 | stp x29, x30, [sp, -16]! |
---|
3106 | 4032 | uxtw x2, w2 |
---|
3107 | | - add x29, sp, 0 |
---|
| 4033 | + mov x29, sp |
---|
3108 | 4034 | bl memset |
---|
3109 | 4035 | ldp x29, x30, [sp], 16 |
---|
| 4036 | + hint 29 // autiasp |
---|
3110 | 4037 | ret |
---|
3111 | 4038 | .size ftl_memset, .-ftl_memset |
---|
| 4039 | + .section .rodata.str1.1 |
---|
| 4040 | +.LC92: |
---|
| 4041 | + .string "%s error allocating memory. return -1\n" |
---|
| 4042 | + .text |
---|
3112 | 4043 | .align 2 |
---|
3113 | 4044 | .global FtlMemInit |
---|
3114 | 4045 | .type FtlMemInit, %function |
---|
3115 | 4046 | FtlMemInit: |
---|
| 4047 | + hint 34 // bti c |
---|
| 4048 | + .section __patchable_function_entries |
---|
| 4049 | + .align 3 |
---|
| 4050 | + .8byte .LPFE60 |
---|
| 4051 | + .text |
---|
| 4052 | +.LPFE60: |
---|
| 4053 | + nop |
---|
| 4054 | + nop |
---|
| 4055 | + hint 25 // paciasp |
---|
3116 | 4056 | stp x29, x30, [sp, -48]! |
---|
3117 | 4057 | mov w0, 65535 |
---|
3118 | | - add x29, sp, 0 |
---|
| 4058 | + mov x29, sp |
---|
3119 | 4059 | stp x19, x20, [sp, 16] |
---|
3120 | | - adrp x20, .LANCHOR0 |
---|
3121 | | - add x19, x20, :lo12:.LANCHOR0 |
---|
3122 | | - stp x21, x22, [sp, 32] |
---|
3123 | | - add x1, x19, 2560 |
---|
3124 | | - add x2, x19, 2560 |
---|
3125 | | - add x3, x19, 3328 |
---|
3126 | | - strh wzr, [x19, 3232] |
---|
3127 | | - strh wzr, [x19, 3312] |
---|
3128 | | - stp wzr, wzr, [x1, 68] |
---|
3129 | | - stp wzr, wzr, [x1, 76] |
---|
3130 | | - str wzr, [x19, 2644] |
---|
3131 | | - str wzr, [x19, 2648] |
---|
3132 | | - stp wzr, wzr, [x2, 100] |
---|
3133 | | - stp wzr, wzr, [x2, 108] |
---|
3134 | | - str wzr, [x19, 2680] |
---|
3135 | | - str wzr, [x19, 2684] |
---|
| 4060 | + adrp x19, .LANCHOR0 |
---|
| 4061 | + add x19, x19, :lo12:.LANCHOR0 |
---|
| 4062 | + add x4, x19, 3416 |
---|
| 4063 | + add x3, x19, 2676 |
---|
| 4064 | + add x2, x19, 2656 |
---|
| 4065 | + add x1, x19, 2636 |
---|
3136 | 4066 | str wzr, [x19, 2688] |
---|
3137 | | - str wzr, [x19, 3228] |
---|
3138 | | - str wzr, [x19, 3236] |
---|
3139 | | - stp wzr, w0, [x3, 88] |
---|
| 4067 | + stp wzr, w0, [x4, -8] |
---|
3140 | 4068 | mov w0, -1 |
---|
3141 | | - stp wzr, wzr, [x3, 96] |
---|
3142 | | - strh w0, [x19, 226] |
---|
3143 | 4069 | strh w0, [x19, 224] |
---|
| 4070 | + strh w0, [x19, 226] |
---|
3144 | 4071 | mov w0, 32 |
---|
| 4072 | + stp wzr, wzr, [x2, -12] |
---|
| 4073 | + stp wzr, wzr, [x3, -8] |
---|
| 4074 | + stp wzr, wzr, [x1, -8] |
---|
| 4075 | + stp wzr, wzr, [x4] |
---|
| 4076 | + stp wzr, wzr, [x1] |
---|
| 4077 | + stp wzr, wzr, [x3, 4] |
---|
| 4078 | + stp wzr, wzr, [x2, 4] |
---|
3145 | 4079 | strh w0, [x19, 3224] |
---|
3146 | 4080 | mov w0, 128 |
---|
| 4081 | + str x21, [sp, 32] |
---|
3147 | 4082 | strh w0, [x19, 3226] |
---|
3148 | | - strh wzr, [x19, 3354] |
---|
| 4083 | + str wzr, [x19, 3228] |
---|
| 4084 | + strh wzr, [x19, 3232] |
---|
| 4085 | + str wzr, [x19, 3236] |
---|
| 4086 | + strh wzr, [x19, 3312] |
---|
| 4087 | + strh wzr, [x19, 3348] |
---|
3149 | 4088 | ldrh w0, [x19, 310] |
---|
3150 | 4089 | lsl w0, w0, 1 |
---|
3151 | 4090 | bl ftl_malloc |
---|
.. | .. |
---|
3154 | 4093 | mov w0, 12 |
---|
3155 | 4094 | mul w0, w1, w0 |
---|
3156 | 4095 | bl ftl_malloc |
---|
3157 | | - ldrh w21, [x19, 236] |
---|
| 4096 | + ldrh w20, [x19, 236] |
---|
3158 | 4097 | str x0, [x19, 3304] |
---|
3159 | | - lsl w22, w21, 5 |
---|
3160 | | - lsl w21, w21, 7 |
---|
| 4098 | + lsl w21, w20, 7 |
---|
| 4099 | + lsl w20, w20, 5 |
---|
3161 | 4100 | mov w0, w21 |
---|
| 4101 | + bl ftl_malloc |
---|
| 4102 | + str x0, [x19, 3424] |
---|
| 4103 | + mov w0, w20 |
---|
3162 | 4104 | bl ftl_malloc |
---|
3163 | 4105 | str x0, [x19, 3432] |
---|
3164 | | - mov w0, w22 |
---|
3165 | | - bl ftl_malloc |
---|
3166 | | - str x0, [x19, 3440] |
---|
3167 | 4106 | mov w0, w21 |
---|
3168 | 4107 | bl ftl_malloc |
---|
3169 | | - str x0, [x19, 3448] |
---|
3170 | | - mov w0, w22 |
---|
| 4108 | + str x0, [x19, 3440] |
---|
| 4109 | + mov w0, w20 |
---|
3171 | 4110 | bl ftl_malloc |
---|
3172 | | - str x0, [x19, 3408] |
---|
3173 | | - mov w0, w22 |
---|
| 4111 | + str x0, [x19, 3400] |
---|
| 4112 | + mov w0, w20 |
---|
3174 | 4113 | bl ftl_malloc |
---|
3175 | 4114 | str x0, [x19, 3272] |
---|
3176 | 4115 | ldrh w0, [x19, 236] |
---|
3177 | | - ldrh w21, [x19, 314] |
---|
| 4116 | + ldrh w20, [x19, 314] |
---|
3178 | 4117 | lsl w0, w0, 1 |
---|
3179 | 4118 | add w0, w0, 1 |
---|
3180 | 4119 | str w0, [x19, 3280] |
---|
3181 | | - mov w0, w21 |
---|
| 4120 | + mov w0, w20 |
---|
| 4121 | + bl ftl_malloc |
---|
| 4122 | + str x0, [x19, 3448] |
---|
| 4123 | + mov w0, w20 |
---|
3182 | 4124 | bl ftl_malloc |
---|
3183 | 4125 | str x0, [x19, 3456] |
---|
3184 | | - mov w0, w21 |
---|
| 4126 | + mov w0, w20 |
---|
3185 | 4127 | bl ftl_malloc |
---|
3186 | 4128 | str x0, [x19, 3464] |
---|
3187 | | - mov w0, w21 |
---|
3188 | | - bl ftl_malloc |
---|
3189 | | - str x0, [x19, 3472] |
---|
3190 | 4129 | ldr w0, [x19, 3280] |
---|
3191 | | - mul w0, w21, w0 |
---|
| 4130 | + mul w0, w20, w0 |
---|
3192 | 4131 | bl ftl_malloc |
---|
3193 | 4132 | str x0, [x19, 3256] |
---|
3194 | | - mov w0, w21 |
---|
| 4133 | + mov w0, w20 |
---|
| 4134 | + bl ftl_malloc |
---|
| 4135 | + str x0, [x19, 3472] |
---|
| 4136 | + mov w0, w20 |
---|
3195 | 4137 | bl ftl_malloc |
---|
3196 | 4138 | str x0, [x19, 3480] |
---|
3197 | | - mov w0, w21 |
---|
3198 | | - bl ftl_malloc |
---|
3199 | | - str x0, [x19, 3488] |
---|
3200 | 4139 | ldr w1, [x19, 3280] |
---|
3201 | 4140 | mov w0, 24 |
---|
3202 | 4141 | mul w0, w1, w0 |
---|
3203 | 4142 | bl ftl_malloc |
---|
3204 | 4143 | str x0, [x19, 3248] |
---|
3205 | | - mov w0, w21 |
---|
| 4144 | + mov w0, w20 |
---|
| 4145 | + bl ftl_malloc |
---|
| 4146 | + str x0, [x19, 3488] |
---|
| 4147 | + mov w0, w20 |
---|
3206 | 4148 | bl ftl_malloc |
---|
3207 | 4149 | str x0, [x19, 3496] |
---|
3208 | | - mov w0, w21 |
---|
3209 | | - bl ftl_malloc |
---|
3210 | | - str x0, [x19, 3504] |
---|
3211 | 4150 | ldrh w0, [x19, 262] |
---|
3212 | 4151 | lsl w0, w0, 2 |
---|
3213 | 4152 | bl ftl_malloc |
---|
3214 | | - ldrh w21, [x19, 316] |
---|
3215 | | - str x0, [x19, 3512] |
---|
| 4153 | + ldrh w20, [x19, 316] |
---|
| 4154 | + str x0, [x19, 3504] |
---|
3216 | 4155 | ldrh w0, [x19, 236] |
---|
3217 | | - mul w21, w21, w0 |
---|
3218 | | - mov w0, w21 |
---|
| 4156 | + mul w20, w20, w0 |
---|
| 4157 | + mov w0, w20 |
---|
| 4158 | + bl ftl_malloc |
---|
| 4159 | + str x0, [x19, 3512] |
---|
| 4160 | + lsl w0, w20, 2 |
---|
3219 | 4161 | bl ftl_malloc |
---|
3220 | 4162 | str x0, [x19, 3520] |
---|
3221 | | - lsl w0, w21, 2 |
---|
3222 | | - bl ftl_malloc |
---|
3223 | | - str x0, [x19, 3528] |
---|
3224 | 4163 | ldrh w1, [x19, 316] |
---|
3225 | 4164 | ldr w0, [x19, 3280] |
---|
3226 | 4165 | mul w0, w1, w0 |
---|
3227 | 4166 | bl ftl_malloc |
---|
3228 | 4167 | str x0, [x19, 3264] |
---|
3229 | 4168 | ldrh w0, [x19, 246] |
---|
| 4169 | + ubfiz w1, w0, 1, 15 |
---|
3230 | 4170 | ubfiz w0, w0, 1, 15 |
---|
3231 | | - strh w0, [x19, 3536] |
---|
3232 | | - and w0, w0, 65534 |
---|
| 4171 | + strh w1, [x19, 3528] |
---|
3233 | 4172 | bl ftl_malloc |
---|
3234 | | - str x0, [x19, 3544] |
---|
3235 | | - ldrh w0, [x19, 3536] |
---|
| 4173 | + str x0, [x19, 3536] |
---|
| 4174 | + ldrh w0, [x19, 3528] |
---|
3236 | 4175 | add x0, x0, 547 |
---|
3237 | 4176 | lsr x0, x0, 9 |
---|
3238 | | - strh w0, [x19, 3536] |
---|
| 4177 | + strh w0, [x19, 3528] |
---|
3239 | 4178 | lsl w0, w0, 9 |
---|
3240 | 4179 | bl ftl_malloc |
---|
3241 | | - ldrh w21, [x19, 246] |
---|
3242 | | - str x0, [x19, 3552] |
---|
| 4180 | + ldrh w20, [x19, 246] |
---|
| 4181 | + str x0, [x19, 3544] |
---|
3243 | 4182 | add x0, x0, 32 |
---|
3244 | 4183 | str x0, [x19, 2600] |
---|
3245 | | - lsl w21, w21, 1 |
---|
3246 | | - mov w0, w21 |
---|
| 4184 | + lsl w20, w20, 1 |
---|
| 4185 | + mov w0, w20 |
---|
| 4186 | + bl ftl_malloc |
---|
| 4187 | + str x0, [x19, 3552] |
---|
| 4188 | + mov w0, w20 |
---|
| 4189 | + bl ftl_malloc |
---|
| 4190 | + ldr w20, [x19, 332] |
---|
| 4191 | + str x0, [x19, 72] |
---|
| 4192 | + lsl w20, w20, 1 |
---|
| 4193 | + mov w0, w20 |
---|
3247 | 4194 | bl ftl_malloc |
---|
3248 | 4195 | str x0, [x19, 3560] |
---|
3249 | | - mov w0, w21 |
---|
3250 | | - bl ftl_malloc |
---|
3251 | | - ldr w21, [x19, 332] |
---|
3252 | | - str x0, [x19, 72] |
---|
3253 | | - lsl w21, w21, 1 |
---|
3254 | | - mov w0, w21 |
---|
| 4196 | + mov w0, w20 |
---|
3255 | 4197 | bl ftl_malloc |
---|
3256 | 4198 | str x0, [x19, 3568] |
---|
3257 | | - mov w0, w21 |
---|
3258 | | - bl ftl_malloc |
---|
3259 | | - str x0, [x19, 3576] |
---|
3260 | 4199 | ldrh w0, [x19, 324] |
---|
3261 | 4200 | lsl w0, w0, 1 |
---|
3262 | 4201 | bl ftl_malloc |
---|
.. | .. |
---|
3264 | 4203 | ldrh w0, [x19, 324] |
---|
3265 | 4204 | lsl w0, w0, 1 |
---|
3266 | 4205 | bl ftl_malloc |
---|
3267 | | - str x0, [x19, 3584] |
---|
| 4206 | + str x0, [x19, 3576] |
---|
3268 | 4207 | ldrh w0, [x19, 324] |
---|
3269 | 4208 | lsl w0, w0, 2 |
---|
3270 | 4209 | bl ftl_malloc |
---|
3271 | | - str x0, [x19, 3592] |
---|
| 4210 | + str x0, [x19, 3584] |
---|
3272 | 4211 | ldrh w0, [x19, 326] |
---|
3273 | 4212 | lsl w0, w0, 2 |
---|
3274 | 4213 | bl ftl_malloc |
---|
3275 | 4214 | ldrh w2, [x19, 326] |
---|
3276 | 4215 | mov w1, 0 |
---|
3277 | | - str x0, [x19, 3600] |
---|
| 4216 | + str x0, [x19, 3592] |
---|
3278 | 4217 | lsl w2, w2, 2 |
---|
3279 | 4218 | bl ftl_memset |
---|
3280 | 4219 | ldrh w0, [x19, 340] |
---|
3281 | 4220 | lsl w0, w0, 2 |
---|
3282 | 4221 | bl ftl_malloc |
---|
3283 | | - str x0, [x19, 3608] |
---|
| 4222 | + str x0, [x19, 3600] |
---|
3284 | 4223 | ldr w0, [x19, 332] |
---|
3285 | 4224 | lsl w0, w0, 2 |
---|
3286 | 4225 | bl ftl_malloc |
---|
3287 | | - str x0, [x19, 3616] |
---|
| 4226 | + str x0, [x19, 3608] |
---|
3288 | 4227 | ldrh w0, [x19, 342] |
---|
3289 | 4228 | lsl w0, w0, 4 |
---|
3290 | 4229 | bl ftl_malloc |
---|
.. | .. |
---|
3293 | 4232 | ldrh w0, [x19, 314] |
---|
3294 | 4233 | mul w0, w1, w0 |
---|
3295 | 4234 | bl ftl_malloc |
---|
3296 | | - str x0, [x19, 3624] |
---|
| 4235 | + str x0, [x19, 3616] |
---|
3297 | 4236 | ldrh w1, [x19, 246] |
---|
3298 | 4237 | mov w0, 6 |
---|
3299 | 4238 | mul w0, w1, w0 |
---|
.. | .. |
---|
3303 | 4242 | ldrh w1, [x19, 258] |
---|
3304 | 4243 | add w0, w0, 31 |
---|
3305 | 4244 | asr w0, w0, 5 |
---|
3306 | | - strh w0, [x19, 3632] |
---|
| 4245 | + strh w0, [x19, 3624] |
---|
3307 | 4246 | mul w0, w1, w0 |
---|
3308 | 4247 | lsl w0, w0, 2 |
---|
3309 | 4248 | bl ftl_malloc |
---|
3310 | | - ldrh w4, [x19, 3632] |
---|
3311 | | - add x5, x19, 400 |
---|
3312 | | - ldrh w6, [x19, 258] |
---|
3313 | | - mov x1, 1 |
---|
3314 | | - str x0, [x19, 392] |
---|
3315 | | - mov w2, w4 |
---|
3316 | | - mov x0, x20 |
---|
3317 | | -.L366: |
---|
3318 | | - cmp w1, w6 |
---|
3319 | | - bcc .L367 |
---|
| 4249 | + ldrh w3, [x19, 3624] |
---|
| 4250 | + add x4, x19, 360 |
---|
| 4251 | + ldrh w1, [x19, 258] |
---|
| 4252 | + mov x20, x0 |
---|
| 4253 | + mov w2, w3 |
---|
| 4254 | + str x0, [x4, 32] |
---|
| 4255 | + mov x0, 0 |
---|
| 4256 | +.L416: |
---|
| 4257 | + add x0, x0, 1 |
---|
| 4258 | + cmp w1, w0 |
---|
| 4259 | + bhi .L417 |
---|
| 4260 | + cmp w1, 0 |
---|
3320 | 4261 | mov w2, 8 |
---|
3321 | | - add x4, x0, :lo12:.LANCHOR0 |
---|
| 4262 | + csinc w1, w1, wzr, ne |
---|
| 4263 | + add x0, x19, 360 |
---|
3322 | 4264 | sub w2, w2, w1 |
---|
3323 | | - add x4, x4, 360 |
---|
3324 | | - add x2, x2, 1 |
---|
3325 | | - mov x3, 0 |
---|
3326 | | -.L368: |
---|
3327 | | - add x3, x3, 1 |
---|
3328 | | - cmp x3, x2 |
---|
3329 | | - bne .L369 |
---|
3330 | | - add x1, x0, :lo12:.LANCHOR0 |
---|
3331 | | - ldr x2, [x1, 3568] |
---|
3332 | | - cbnz x2, .L370 |
---|
3333 | | -.L372: |
---|
| 4265 | + add w1, w1, 4 |
---|
| 4266 | + ubfiz x3, x1, 3, 17 |
---|
| 4267 | + lsl x2, x2, 3 |
---|
| 4268 | + add x0, x0, x3 |
---|
| 4269 | + mov w1, 0 |
---|
| 4270 | + bl memset |
---|
| 4271 | + ldr x0, [x19, 3560] |
---|
| 4272 | + cbnz x0, .L418 |
---|
| 4273 | +.L420: |
---|
3334 | 4274 | adrp x1, .LANCHOR1 |
---|
3335 | 4275 | add x1, x1, :lo12:.LANCHOR1 |
---|
3336 | | - add x1, x1, 216 |
---|
3337 | | - adrp x0, .LC91 |
---|
3338 | | - add x0, x0, :lo12:.LC91 |
---|
| 4276 | + add x1, x1, 173 |
---|
| 4277 | + adrp x0, .LC92 |
---|
| 4278 | + add x0, x0, :lo12:.LC92 |
---|
3339 | 4279 | bl sftl_printk |
---|
3340 | 4280 | mov w0, -1 |
---|
3341 | | -.L365: |
---|
| 4281 | +.L415: |
---|
3342 | 4282 | ldp x19, x20, [sp, 16] |
---|
3343 | | - ldp x21, x22, [sp, 32] |
---|
| 4283 | + ldr x21, [sp, 32] |
---|
3344 | 4284 | ldp x29, x30, [sp], 48 |
---|
| 4285 | + hint 29 // autiasp |
---|
3345 | 4286 | ret |
---|
3346 | | -.L367: |
---|
3347 | | - ldr x3, [x19, 392] |
---|
3348 | | - add w1, w1, 1 |
---|
3349 | | - add x3, x3, x2, uxtw 2 |
---|
3350 | | - add w2, w2, w4 |
---|
3351 | | - str x3, [x5], 8 |
---|
3352 | | - b .L366 |
---|
3353 | | -.L369: |
---|
3354 | | - add x5, x1, x3 |
---|
3355 | | - add x5, x4, x5, lsl 3 |
---|
3356 | | - str xzr, [x5, 24] |
---|
3357 | | - b .L368 |
---|
3358 | | -.L370: |
---|
3359 | | - ldr x2, [x1, 3576] |
---|
3360 | | - cbz x2, .L372 |
---|
3361 | | - ldr x2, [x1, 3608] |
---|
3362 | | - cbz x2, .L372 |
---|
3363 | | - ldr x2, [x1, 3616] |
---|
3364 | | - cbz x2, .L372 |
---|
3365 | | - ldr x2, [x1, 2608] |
---|
3366 | | - cbz x2, .L372 |
---|
3367 | | - ldr x2, [x1, 3624] |
---|
3368 | | - cbz x2, .L372 |
---|
3369 | | - ldr x2, [x1, 2560] |
---|
3370 | | - cbz x2, .L372 |
---|
3371 | | - ldr x2, [x1, 392] |
---|
3372 | | - cbz x2, .L372 |
---|
3373 | | - ldr x1, [x1, 72] |
---|
3374 | | - cbz x1, .L372 |
---|
3375 | | - add x1, x0, :lo12:.LANCHOR0 |
---|
3376 | | - ldr x2, [x1, 3288] |
---|
3377 | | - cbz x2, .L372 |
---|
3378 | | - ldr x2, [x1, 3304] |
---|
3379 | | - cbz x2, .L372 |
---|
3380 | | - ldr x2, [x1, 3432] |
---|
3381 | | - cbz x2, .L372 |
---|
3382 | | - ldr x2, [x1, 3448] |
---|
3383 | | - cbz x2, .L372 |
---|
3384 | | - ldr x2, [x1, 3408] |
---|
3385 | | - cbz x2, .L372 |
---|
3386 | | - ldr x2, [x1, 3272] |
---|
3387 | | - cbz x2, .L372 |
---|
3388 | | - ldr x2, [x1, 3440] |
---|
3389 | | - cbz x2, .L372 |
---|
3390 | | - ldr x2, [x1, 3456] |
---|
3391 | | - cbz x2, .L372 |
---|
3392 | | - ldr x2, [x1, 3464] |
---|
3393 | | - cbz x2, .L372 |
---|
3394 | | - ldr x1, [x1, 3472] |
---|
3395 | | - cbz x1, .L372 |
---|
3396 | | - add x0, x0, :lo12:.LANCHOR0 |
---|
3397 | | - ldr x1, [x0, 3256] |
---|
3398 | | - cbz x1, .L372 |
---|
3399 | | - ldr x1, [x0, 3480] |
---|
3400 | | - cbz x1, .L372 |
---|
3401 | | - ldr x1, [x0, 3488] |
---|
3402 | | - cbz x1, .L372 |
---|
3403 | | - ldr x1, [x0, 3248] |
---|
3404 | | - cbz x1, .L372 |
---|
3405 | | - ldr x1, [x0, 3520] |
---|
3406 | | - cbz x1, .L372 |
---|
3407 | | - ldr x1, [x0, 3528] |
---|
3408 | | - cbz x1, .L372 |
---|
3409 | | - ldr x1, [x0, 3264] |
---|
3410 | | - cbz x1, .L372 |
---|
3411 | | - ldr x1, [x0, 2600] |
---|
3412 | | - cbz x1, .L372 |
---|
3413 | | - ldr x1, [x0, 3544] |
---|
3414 | | - cbz x1, .L372 |
---|
3415 | | - ldr x0, [x0, 352] |
---|
3416 | | - cbz x0, .L372 |
---|
| 4287 | +.L417: |
---|
| 4288 | + add x5, x4, x0, lsl 3 |
---|
| 4289 | + add x6, x20, w2, uxtw 2 |
---|
| 4290 | + add w2, w2, w3 |
---|
| 4291 | + str x6, [x5, 32] |
---|
| 4292 | + b .L416 |
---|
| 4293 | +.L418: |
---|
| 4294 | + ldr x0, [x19, 3568] |
---|
| 4295 | + cbz x0, .L420 |
---|
| 4296 | + ldr x0, [x19, 3600] |
---|
| 4297 | + cbz x0, .L420 |
---|
| 4298 | + ldr x0, [x19, 3608] |
---|
| 4299 | + cbz x0, .L420 |
---|
| 4300 | + ldr x0, [x19, 2608] |
---|
| 4301 | + cbz x0, .L420 |
---|
| 4302 | + ldr x0, [x19, 3616] |
---|
| 4303 | + cbz x0, .L420 |
---|
| 4304 | + ldr x0, [x19, 2560] |
---|
| 4305 | + cbz x0, .L420 |
---|
| 4306 | + cbz x20, .L420 |
---|
| 4307 | + ldr x0, [x19, 72] |
---|
| 4308 | + cbz x0, .L420 |
---|
| 4309 | + ldr x0, [x19, 3288] |
---|
| 4310 | + cbz x0, .L420 |
---|
| 4311 | + ldr x0, [x19, 3304] |
---|
| 4312 | + cbz x0, .L420 |
---|
| 4313 | + ldr x0, [x19, 3424] |
---|
| 4314 | + cbz x0, .L420 |
---|
| 4315 | + ldr x0, [x19, 3440] |
---|
| 4316 | + cbz x0, .L420 |
---|
| 4317 | + ldr x0, [x19, 3400] |
---|
| 4318 | + cbz x0, .L420 |
---|
| 4319 | + ldr x0, [x19, 3272] |
---|
| 4320 | + cbz x0, .L420 |
---|
| 4321 | + ldr x0, [x19, 3432] |
---|
| 4322 | + cbz x0, .L420 |
---|
| 4323 | + ldr x0, [x19, 3448] |
---|
| 4324 | + cbz x0, .L420 |
---|
| 4325 | + ldr x0, [x19, 3456] |
---|
| 4326 | + cbz x0, .L420 |
---|
| 4327 | + ldr x0, [x19, 3464] |
---|
| 4328 | + cbz x0, .L420 |
---|
| 4329 | + ldr x0, [x19, 3256] |
---|
| 4330 | + cbz x0, .L420 |
---|
| 4331 | + ldr x0, [x19, 3472] |
---|
| 4332 | + cbz x0, .L420 |
---|
| 4333 | + ldr x0, [x19, 3480] |
---|
| 4334 | + cbz x0, .L420 |
---|
| 4335 | + ldr x0, [x19, 3248] |
---|
| 4336 | + cbz x0, .L420 |
---|
| 4337 | + ldr x0, [x19, 3512] |
---|
| 4338 | + cbz x0, .L420 |
---|
| 4339 | + ldr x0, [x19, 3520] |
---|
| 4340 | + cbz x0, .L420 |
---|
| 4341 | + ldr x0, [x19, 3264] |
---|
| 4342 | + cbz x0, .L420 |
---|
| 4343 | + ldr x0, [x19, 2600] |
---|
| 4344 | + cbz x0, .L420 |
---|
| 4345 | + ldr x0, [x19, 3536] |
---|
| 4346 | + cbz x0, .L420 |
---|
| 4347 | + ldr x0, [x19, 352] |
---|
| 4348 | + cbz x0, .L420 |
---|
3417 | 4349 | adrp x0, .LANCHOR0 |
---|
3418 | 4350 | add x0, x0, :lo12:.LANCHOR0 |
---|
| 4351 | + ldr x1, [x0, 3576] |
---|
| 4352 | + cbz x1, .L420 |
---|
3419 | 4353 | ldr x1, [x0, 3584] |
---|
3420 | | - cbz x1, .L372 |
---|
3421 | | - ldr x1, [x0, 3592] |
---|
3422 | | - cbz x1, .L372 |
---|
3423 | | - ldr x0, [x0, 3600] |
---|
3424 | | - cbz x0, .L372 |
---|
| 4354 | + cbz x1, .L420 |
---|
| 4355 | + ldr x0, [x0, 3592] |
---|
| 4356 | + cbz x0, .L420 |
---|
3425 | 4357 | mov w0, 0 |
---|
3426 | | - b .L365 |
---|
| 4358 | + b .L415 |
---|
3427 | 4359 | .size FtlMemInit, .-FtlMemInit |
---|
3428 | 4360 | .align 2 |
---|
3429 | 4361 | .global FtlBbt2Bitmap |
---|
3430 | 4362 | .type FtlBbt2Bitmap, %function |
---|
3431 | 4363 | FtlBbt2Bitmap: |
---|
| 4364 | + hint 34 // bti c |
---|
| 4365 | + .section __patchable_function_entries |
---|
| 4366 | + .align 3 |
---|
| 4367 | + .8byte .LPFE61 |
---|
| 4368 | + .text |
---|
| 4369 | +.LPFE61: |
---|
| 4370 | + nop |
---|
| 4371 | + nop |
---|
| 4372 | + hint 25 // paciasp |
---|
3432 | 4373 | stp x29, x30, [sp, -64]! |
---|
3433 | | - add x29, sp, 0 |
---|
3434 | | - stp x21, x22, [sp, 32] |
---|
3435 | | - adrp x21, .LANCHOR0 |
---|
| 4374 | + mov x29, sp |
---|
3436 | 4375 | stp x23, x24, [sp, 48] |
---|
3437 | | - mov x23, x0 |
---|
3438 | | - add x0, x21, :lo12:.LANCHOR0 |
---|
| 4376 | + adrp x23, .LANCHOR0 |
---|
| 4377 | + add x23, x23, :lo12:.LANCHOR0 |
---|
| 4378 | + stp x21, x22, [sp, 32] |
---|
| 4379 | + adrp x21, .LANCHOR1 |
---|
| 4380 | + add x21, x21, :lo12:.LANCHOR1 |
---|
| 4381 | + ldrh w2, [x23, 3624] |
---|
| 4382 | + adrp x24, .LC9 |
---|
| 4383 | + add x21, x21, 184 |
---|
| 4384 | + add x24, x24, :lo12:.LC9 |
---|
3439 | 4385 | stp x19, x20, [sp, 16] |
---|
3440 | | - adrp x20, .LANCHOR1 |
---|
3441 | | - add x20, x20, :lo12:.LANCHOR1 |
---|
3442 | | - adrp x24, .LC8 |
---|
3443 | | - add x20, x20, 232 |
---|
3444 | | - ldrh w2, [x0, 3632] |
---|
3445 | | - add x24, x24, :lo12:.LC8 |
---|
3446 | 4386 | mov x19, 0 |
---|
3447 | | - mov x22, x1 |
---|
3448 | | - mov x0, x22 |
---|
3449 | | - mov w1, 0 |
---|
| 4387 | + mov x20, x1 |
---|
| 4388 | + mov x22, x0 |
---|
3450 | 4389 | lsl w2, w2, 2 |
---|
| 4390 | + mov x0, x20 |
---|
| 4391 | + mov w1, 0 |
---|
3451 | 4392 | bl ftl_memset |
---|
3452 | | -.L470: |
---|
3453 | | - ldrh w0, [x23, x19] |
---|
| 4393 | +.L518: |
---|
| 4394 | + ldrh w0, [x22, x19, lsl 1] |
---|
3454 | 4395 | mov w1, 65535 |
---|
3455 | 4396 | cmp w0, w1 |
---|
3456 | | - beq .L467 |
---|
3457 | | - add x1, x21, :lo12:.LANCHOR0 |
---|
3458 | | - ldrh w1, [x1, 302] |
---|
| 4397 | + beq .L515 |
---|
| 4398 | + ldrh w1, [x23, 302] |
---|
3459 | 4399 | cmp w1, w0 |
---|
3460 | | - bhi .L469 |
---|
3461 | | - mov w2, 74 |
---|
3462 | | - mov x1, x20 |
---|
| 4400 | + bhi .L517 |
---|
| 4401 | + mov x1, x21 |
---|
3463 | 4402 | mov x0, x24 |
---|
| 4403 | + mov w2, 74 |
---|
3464 | 4404 | bl sftl_printk |
---|
3465 | | -.L469: |
---|
3466 | | - ldrh w2, [x23, x19] |
---|
3467 | | - mov w1, 1 |
---|
3468 | | - add x19, x19, 2 |
---|
3469 | | - cmp x19, 1024 |
---|
3470 | | - ubfx x0, x2, 5, 11 |
---|
3471 | | - lsl w2, w1, w2 |
---|
3472 | | - lsl x0, x0, 2 |
---|
3473 | | - ldr w1, [x22, x0] |
---|
3474 | | - orr w1, w1, w2 |
---|
3475 | | - str w1, [x22, x0] |
---|
3476 | | - bne .L470 |
---|
3477 | | -.L467: |
---|
| 4405 | +.L517: |
---|
| 4406 | + ldrh w3, [x22, x19, lsl 1] |
---|
| 4407 | + mov w2, 1 |
---|
| 4408 | + add x19, x19, 1 |
---|
| 4409 | + ubfx x1, x3, 5, 11 |
---|
| 4410 | + lsl w3, w2, w3 |
---|
| 4411 | + lsl x1, x1, 2 |
---|
| 4412 | + ldr w2, [x20, x1] |
---|
| 4413 | + orr w2, w2, w3 |
---|
| 4414 | + str w2, [x20, x1] |
---|
| 4415 | + cmp x19, 512 |
---|
| 4416 | + bne .L518 |
---|
| 4417 | +.L515: |
---|
3478 | 4418 | ldp x19, x20, [sp, 16] |
---|
3479 | 4419 | ldp x21, x22, [sp, 32] |
---|
3480 | 4420 | ldp x23, x24, [sp, 48] |
---|
3481 | 4421 | ldp x29, x30, [sp], 64 |
---|
| 4422 | + hint 29 // autiasp |
---|
3482 | 4423 | ret |
---|
3483 | 4424 | .size FtlBbt2Bitmap, .-FtlBbt2Bitmap |
---|
3484 | 4425 | .align 2 |
---|
3485 | 4426 | .global FtlBbtMemInit |
---|
3486 | 4427 | .type FtlBbtMemInit, %function |
---|
3487 | 4428 | FtlBbtMemInit: |
---|
3488 | | - stp x29, x30, [sp, -16]! |
---|
| 4429 | + hint 34 // bti c |
---|
| 4430 | + .section __patchable_function_entries |
---|
| 4431 | + .align 3 |
---|
| 4432 | + .8byte .LPFE62 |
---|
| 4433 | + .text |
---|
| 4434 | +.LPFE62: |
---|
| 4435 | + nop |
---|
| 4436 | + nop |
---|
| 4437 | + hint 25 // paciasp |
---|
3489 | 4438 | adrp x0, .LANCHOR0 |
---|
| 4439 | + stp x29, x30, [sp, -16]! |
---|
3490 | 4440 | add x0, x0, :lo12:.LANCHOR0 |
---|
3491 | 4441 | mov w1, -1 |
---|
3492 | | - add x29, sp, 0 |
---|
| 4442 | + mov x29, sp |
---|
3493 | 4443 | mov w2, 16 |
---|
3494 | 4444 | add x0, x0, 372 |
---|
3495 | 4445 | strh w1, [x0, -12] |
---|
.. | .. |
---|
3497 | 4447 | strh wzr, [x0, -6] |
---|
3498 | 4448 | bl ftl_memset |
---|
3499 | 4449 | ldp x29, x30, [sp], 16 |
---|
| 4450 | + hint 29 // autiasp |
---|
3500 | 4451 | ret |
---|
3501 | 4452 | .size FtlBbtMemInit, .-FtlBbtMemInit |
---|
3502 | 4453 | .align 2 |
---|
3503 | 4454 | .global FtlFreeSysBlkQueueInit |
---|
3504 | 4455 | .type FtlFreeSysBlkQueueInit, %function |
---|
3505 | 4456 | FtlFreeSysBlkQueueInit: |
---|
3506 | | - stp x29, x30, [sp, -16]! |
---|
| 4457 | + hint 34 // bti c |
---|
| 4458 | + .section __patchable_function_entries |
---|
| 4459 | + .align 3 |
---|
| 4460 | + .8byte .LPFE63 |
---|
| 4461 | + .text |
---|
| 4462 | +.LPFE63: |
---|
| 4463 | + nop |
---|
| 4464 | + nop |
---|
3507 | 4465 | adrp x3, .LANCHOR0 |
---|
3508 | 4466 | add x3, x3, :lo12:.LANCHOR0 |
---|
| 4467 | + hint 25 // paciasp |
---|
| 4468 | + add x1, x3, 456 |
---|
| 4469 | + stp x29, x30, [sp, -16]! |
---|
3509 | 4470 | mov w2, 2048 |
---|
3510 | | - add x29, sp, 0 |
---|
| 4471 | + mov x29, sp |
---|
| 4472 | + str wzr, [x1, 2] |
---|
3511 | 4473 | mov w1, 0 |
---|
3512 | 4474 | strh w0, [x3, 456] |
---|
3513 | 4475 | add x0, x3, 464 |
---|
3514 | | - strh wzr, [x3, 458] |
---|
3515 | | - strh wzr, [x3, 460] |
---|
3516 | 4476 | strh wzr, [x3, 462] |
---|
3517 | 4477 | bl ftl_memset |
---|
3518 | 4478 | mov w0, 0 |
---|
3519 | 4479 | ldp x29, x30, [sp], 16 |
---|
| 4480 | + hint 29 // autiasp |
---|
3520 | 4481 | ret |
---|
3521 | 4482 | .size FtlFreeSysBlkQueueInit, .-FtlFreeSysBlkQueueInit |
---|
3522 | 4483 | .align 2 |
---|
3523 | 4484 | .global ftl_free_no_use_map_blk |
---|
3524 | 4485 | .type ftl_free_no_use_map_blk, %function |
---|
3525 | 4486 | ftl_free_no_use_map_blk: |
---|
| 4487 | + hint 34 // bti c |
---|
| 4488 | + .section __patchable_function_entries |
---|
| 4489 | + .align 3 |
---|
| 4490 | + .8byte .LPFE64 |
---|
| 4491 | + .text |
---|
| 4492 | +.LPFE64: |
---|
| 4493 | + nop |
---|
| 4494 | + nop |
---|
| 4495 | + hint 25 // paciasp |
---|
3526 | 4496 | stp x29, x30, [sp, -80]! |
---|
3527 | 4497 | mov w1, 0 |
---|
3528 | | - add x29, sp, 0 |
---|
| 4498 | + mov x29, sp |
---|
3529 | 4499 | stp x19, x20, [sp, 16] |
---|
3530 | 4500 | mov x19, x0 |
---|
3531 | 4501 | stp x21, x22, [sp, 32] |
---|
3532 | 4502 | stp x23, x24, [sp, 48] |
---|
3533 | 4503 | str x25, [sp, 64] |
---|
3534 | | - ldrh w2, [x0, 10] |
---|
3535 | 4504 | ldp x21, x20, [x0, 32] |
---|
| 4505 | + ldrh w2, [x0, 10] |
---|
3536 | 4506 | ldr x22, [x0, 16] |
---|
3537 | 4507 | lsl w2, w2, 1 |
---|
3538 | 4508 | mov x0, x21 |
---|
3539 | 4509 | bl ftl_memset |
---|
3540 | 4510 | mov w0, 0 |
---|
3541 | | -.L479: |
---|
| 4511 | +.L526: |
---|
3542 | 4512 | ldrh w1, [x19, 6] |
---|
3543 | 4513 | cmp w1, w0 |
---|
3544 | | - bhi .L483 |
---|
| 4514 | + bhi .L530 |
---|
3545 | 4515 | adrp x0, .LANCHOR0+308 |
---|
3546 | | - mov w23, 0 |
---|
| 4516 | + mov w24, 0 |
---|
3547 | 4517 | mov w20, 0 |
---|
3548 | 4518 | ldrh w1, [x0, #:lo12:.LANCHOR0+308] |
---|
3549 | 4519 | ldrh w0, [x19] |
---|
3550 | 4520 | strh w1, [x21, x0, lsl 1] |
---|
3551 | | - ldrh w24, [x21] |
---|
3552 | | -.L484: |
---|
| 4521 | + ldrh w25, [x21] |
---|
| 4522 | +.L531: |
---|
3553 | 4523 | ldrh w0, [x19, 10] |
---|
3554 | 4524 | cmp w0, w20 |
---|
3555 | | - bhi .L488 |
---|
3556 | | - mov w0, w23 |
---|
3557 | | - ldr x25, [sp, 64] |
---|
| 4525 | + bhi .L534 |
---|
| 4526 | + mov w0, w24 |
---|
3558 | 4527 | ldp x19, x20, [sp, 16] |
---|
3559 | 4528 | ldp x21, x22, [sp, 32] |
---|
3560 | 4529 | ldp x23, x24, [sp, 48] |
---|
| 4530 | + ldr x25, [sp, 64] |
---|
3561 | 4531 | ldp x29, x30, [sp], 80 |
---|
| 4532 | + hint 29 // autiasp |
---|
3562 | 4533 | ret |
---|
3563 | | -.L483: |
---|
| 4534 | +.L530: |
---|
3564 | 4535 | ubfiz x1, x0, 2, 16 |
---|
3565 | 4536 | ldr w2, [x20, x1] |
---|
3566 | 4537 | mov w1, 0 |
---|
3567 | 4538 | ubfx x2, x2, 10, 16 |
---|
3568 | | -.L480: |
---|
| 4539 | +.L527: |
---|
3569 | 4540 | ldrh w3, [x19, 10] |
---|
3570 | 4541 | cmp w3, w1 |
---|
3571 | | - bhi .L482 |
---|
| 4542 | + bhi .L529 |
---|
3572 | 4543 | add w0, w0, 1 |
---|
3573 | 4544 | and w0, w0, 65535 |
---|
3574 | | - b .L479 |
---|
3575 | | -.L482: |
---|
| 4545 | + b .L526 |
---|
| 4546 | +.L529: |
---|
3576 | 4547 | ubfiz x3, x1, 1, 16 |
---|
3577 | 4548 | ldrh w4, [x22, x3] |
---|
3578 | 4549 | cmp w4, w2 |
---|
3579 | | - bne .L481 |
---|
3580 | | - cbz w2, .L481 |
---|
| 4550 | + bne .L528 |
---|
| 4551 | + cbz w2, .L528 |
---|
3581 | 4552 | ldrh w4, [x21, x3] |
---|
3582 | 4553 | add w4, w4, 1 |
---|
3583 | 4554 | strh w4, [x21, x3] |
---|
3584 | | -.L481: |
---|
| 4555 | +.L528: |
---|
3585 | 4556 | add w1, w1, 1 |
---|
3586 | 4557 | and w1, w1, 65535 |
---|
3587 | | - b .L480 |
---|
3588 | | -.L488: |
---|
3589 | | - ubfiz x0, x20, 1, 16 |
---|
3590 | | - ldrh w1, [x21, x0] |
---|
3591 | | - cmp w24, w1 |
---|
3592 | | - bls .L485 |
---|
3593 | | - add x25, x22, x0 |
---|
3594 | | - ldrh w0, [x22, x0] |
---|
3595 | | - cbnz w0, .L486 |
---|
3596 | | -.L487: |
---|
3597 | | - add w20, w20, 1 |
---|
3598 | | - and w20, w20, 65535 |
---|
3599 | | - b .L484 |
---|
3600 | | -.L485: |
---|
3601 | | - cbnz w1, .L487 |
---|
3602 | | - add x25, x22, x0 |
---|
3603 | | - ldrh w0, [x22, x0] |
---|
3604 | | - cbz w0, .L487 |
---|
3605 | | -.L489: |
---|
| 4558 | + b .L527 |
---|
| 4559 | +.L534: |
---|
| 4560 | + ubfiz x23, x20, 1, 16 |
---|
| 4561 | + ldrh w0, [x21, x23] |
---|
| 4562 | + cmp w0, w25 |
---|
| 4563 | + bcs .L532 |
---|
| 4564 | + ldrh w1, [x22, x23] |
---|
| 4565 | + cmp w1, 0 |
---|
| 4566 | + csel w24, w24, w20, eq |
---|
| 4567 | + csel w25, w25, w0, eq |
---|
| 4568 | +.L532: |
---|
| 4569 | + cbnz w0, .L533 |
---|
| 4570 | + ldrh w0, [x22, x23] |
---|
| 4571 | + cbz w0, .L533 |
---|
3606 | 4572 | mov w1, 1 |
---|
3607 | 4573 | bl FtlFreeSysBlkQueueIn |
---|
3608 | | - strh wzr, [x25] |
---|
| 4574 | + strh wzr, [x22, x23] |
---|
3609 | 4575 | ldrh w0, [x19, 8] |
---|
3610 | 4576 | sub w0, w0, #1 |
---|
3611 | 4577 | strh w0, [x19, 8] |
---|
3612 | | - b .L487 |
---|
3613 | | -.L490: |
---|
3614 | | - mov w24, 0 |
---|
3615 | | - b .L489 |
---|
3616 | | -.L486: |
---|
3617 | | - mov w23, w20 |
---|
3618 | | - cbz w1, .L490 |
---|
3619 | | - mov w24, w1 |
---|
3620 | | - b .L487 |
---|
| 4578 | +.L533: |
---|
| 4579 | + add w20, w20, 1 |
---|
| 4580 | + and w20, w20, 65535 |
---|
| 4581 | + b .L531 |
---|
3621 | 4582 | .size ftl_free_no_use_map_blk, .-ftl_free_no_use_map_blk |
---|
3622 | 4583 | .align 2 |
---|
3623 | 4584 | .global FtlL2PDataInit |
---|
3624 | 4585 | .type FtlL2PDataInit, %function |
---|
3625 | 4586 | FtlL2PDataInit: |
---|
| 4587 | + hint 34 // bti c |
---|
| 4588 | + .section __patchable_function_entries |
---|
| 4589 | + .align 3 |
---|
| 4590 | + .8byte .LPFE65 |
---|
| 4591 | + .text |
---|
| 4592 | +.LPFE65: |
---|
| 4593 | + nop |
---|
| 4594 | + nop |
---|
| 4595 | + hint 25 // paciasp |
---|
3626 | 4596 | stp x29, x30, [sp, -32]! |
---|
3627 | | - adrp x0, .LANCHOR0 |
---|
3628 | 4597 | mov w1, 0 |
---|
3629 | | - add x29, sp, 0 |
---|
| 4598 | + mov x29, sp |
---|
3630 | 4599 | str x19, [sp, 16] |
---|
3631 | | - add x19, x0, :lo12:.LANCHOR0 |
---|
3632 | | - ldr x0, [x19, 3576] |
---|
| 4600 | + adrp x19, .LANCHOR0 |
---|
| 4601 | + add x19, x19, :lo12:.LANCHOR0 |
---|
| 4602 | + ldr x0, [x19, 3568] |
---|
3633 | 4603 | ldr w2, [x19, 332] |
---|
3634 | 4604 | lsl w2, w2, 1 |
---|
3635 | 4605 | bl ftl_memset |
---|
.. | .. |
---|
3637 | 4607 | mov w1, 255 |
---|
3638 | 4608 | ldrh w2, [x19, 314] |
---|
3639 | 4609 | mul w2, w2, w0 |
---|
3640 | | - ldr x0, [x19, 3624] |
---|
| 4610 | + ldr x0, [x19, 3616] |
---|
3641 | 4611 | bl ftl_memset |
---|
3642 | | - mov x0, x19 |
---|
3643 | | - mov w1, 0 |
---|
3644 | | - mov w5, -1 |
---|
3645 | | -.L500: |
---|
3646 | | - ldrh w2, [x0, 342] |
---|
3647 | | - cmp w2, w1 |
---|
3648 | | - bhi .L501 |
---|
3649 | | - mov w2, -1 |
---|
3650 | | - strh w2, [x0, 3642] |
---|
3651 | | - strh w2, [x0, 3640] |
---|
3652 | | - add x1, x0, 3640 |
---|
3653 | | - ldr w2, [x0, 332] |
---|
3654 | | - strh w2, [x0, 3650] |
---|
3655 | | - mov w2, -3902 |
---|
3656 | | - strh w2, [x0, 3644] |
---|
3657 | | - ldrh w2, [x0, 3704] |
---|
3658 | | - strh w2, [x0, 3648] |
---|
3659 | | - ldrh w2, [x0, 340] |
---|
3660 | | - strh w2, [x0, 3646] |
---|
3661 | | - ldr x2, [x0, 3568] |
---|
3662 | | - str x2, [x0, 3656] |
---|
3663 | | - ldr x2, [x0, 3616] |
---|
3664 | | - str x2, [x0, 3664] |
---|
3665 | | - ldr x2, [x0, 3576] |
---|
3666 | | - str x2, [x0, 3672] |
---|
3667 | | - ldr x0, [x0, 3608] |
---|
3668 | | - str x0, [x1, 40] |
---|
| 4612 | + mov w0, 0 |
---|
| 4613 | + mov w4, -1 |
---|
| 4614 | +.L545: |
---|
| 4615 | + ldrh w1, [x19, 342] |
---|
| 4616 | + cmp w1, w0 |
---|
| 4617 | + bhi .L546 |
---|
| 4618 | + ldr w1, [x19, 332] |
---|
| 4619 | + strh w1, [x19, 3642] |
---|
| 4620 | + mov w1, -1 |
---|
| 4621 | + str w1, [x19, 3632] |
---|
| 4622 | + mov w1, -3902 |
---|
| 4623 | + strh w1, [x19, 3636] |
---|
| 4624 | + ldrh w1, [x19, 3696] |
---|
| 4625 | + strh w1, [x19, 3640] |
---|
| 4626 | + ldrh w1, [x19, 340] |
---|
| 4627 | + strh w1, [x19, 3638] |
---|
| 4628 | + ldr x1, [x19, 3560] |
---|
| 4629 | + str x1, [x19, 3648] |
---|
| 4630 | + ldr x1, [x19, 3608] |
---|
| 4631 | + str x1, [x19, 3656] |
---|
| 4632 | + ldr x1, [x19, 3568] |
---|
| 4633 | + str x1, [x19, 3664] |
---|
| 4634 | + ldr x1, [x19, 3600] |
---|
| 4635 | + str x1, [x19, 3672] |
---|
3669 | 4636 | ldr x19, [sp, 16] |
---|
3670 | 4637 | ldp x29, x30, [sp], 32 |
---|
| 4638 | + hint 29 // autiasp |
---|
3671 | 4639 | ret |
---|
3672 | | -.L501: |
---|
3673 | | - ldr x3, [x0, 2608] |
---|
3674 | | - ubfiz x2, x1, 4, 16 |
---|
3675 | | - add x3, x3, x2 |
---|
3676 | | - str wzr, [x3, 4] |
---|
3677 | | - ldr x3, [x0, 2608] |
---|
3678 | | - strh w5, [x3, x2] |
---|
3679 | | - ldr x3, [x0, 2608] |
---|
3680 | | - ldr x4, [x0, 3624] |
---|
3681 | | - add x3, x3, x2 |
---|
3682 | | - ldrh w2, [x0, 314] |
---|
3683 | | - mul w2, w2, w1 |
---|
3684 | | - add w1, w1, 1 |
---|
3685 | | - and w1, w1, 65535 |
---|
3686 | | - sxtw x2, w2 |
---|
3687 | | - and x2, x2, -4 |
---|
3688 | | - add x2, x4, x2 |
---|
3689 | | - str x2, [x3, 8] |
---|
3690 | | - b .L500 |
---|
| 4640 | +.L546: |
---|
| 4641 | + ldr x2, [x19, 2608] |
---|
| 4642 | + ubfiz x1, x0, 4, 16 |
---|
| 4643 | + add x2, x2, x1 |
---|
| 4644 | + str wzr, [x2, 4] |
---|
| 4645 | + ldr x2, [x19, 2608] |
---|
| 4646 | + strh w4, [x2, x1] |
---|
| 4647 | + ldr x2, [x19, 2608] |
---|
| 4648 | + ldr x3, [x19, 3616] |
---|
| 4649 | + add x2, x2, x1 |
---|
| 4650 | + ldrh w1, [x19, 314] |
---|
| 4651 | + mul w1, w1, w0 |
---|
| 4652 | + add w0, w0, 1 |
---|
| 4653 | + and w0, w0, 65535 |
---|
| 4654 | + sxtw x1, w1 |
---|
| 4655 | + and x1, x1, -4 |
---|
| 4656 | + add x1, x3, x1 |
---|
| 4657 | + str x1, [x2, 8] |
---|
| 4658 | + b .L545 |
---|
3691 | 4659 | .size FtlL2PDataInit, .-FtlL2PDataInit |
---|
3692 | 4660 | .align 2 |
---|
3693 | 4661 | .global FtlVariablesInit |
---|
3694 | 4662 | .type FtlVariablesInit, %function |
---|
3695 | 4663 | FtlVariablesInit: |
---|
| 4664 | + hint 34 // bti c |
---|
| 4665 | + .section __patchable_function_entries |
---|
| 4666 | + .align 3 |
---|
| 4667 | + .8byte .LPFE66 |
---|
| 4668 | + .text |
---|
| 4669 | +.LPFE66: |
---|
| 4670 | + nop |
---|
| 4671 | + nop |
---|
| 4672 | + hint 25 // paciasp |
---|
3696 | 4673 | stp x29, x30, [sp, -32]! |
---|
3697 | 4674 | mov w0, -1 |
---|
3698 | | - mov w1, 0 |
---|
3699 | | - add x29, sp, 0 |
---|
| 4675 | + mov x29, sp |
---|
3700 | 4676 | str x19, [sp, 16] |
---|
3701 | 4677 | adrp x19, .LANCHOR0 |
---|
3702 | 4678 | add x19, x19, :lo12:.LANCHOR0 |
---|
3703 | | - strh w0, [x19, 3706] |
---|
| 4679 | + mov w1, 0 |
---|
| 4680 | + strh w0, [x19, 3698] |
---|
3704 | 4681 | mov w0, -1 |
---|
3705 | | - str w0, [x19, 3716] |
---|
| 4682 | + str w0, [x19, 3708] |
---|
3706 | 4683 | ldr x0, [x19, 352] |
---|
3707 | | - ldrh w2, [x19, 324] |
---|
3708 | 4684 | strh wzr, [x19, 348] |
---|
3709 | | - str wzr, [x19, 3708] |
---|
| 4685 | + ldrh w2, [x19, 324] |
---|
| 4686 | + str wzr, [x19, 3700] |
---|
| 4687 | + str wzr, [x19, 3704] |
---|
3710 | 4688 | lsl w2, w2, 1 |
---|
3711 | | - str wzr, [x19, 3712] |
---|
3712 | 4689 | bl ftl_memset |
---|
3713 | 4690 | ldr x0, [x19, 2600] |
---|
3714 | 4691 | mov w1, 0 |
---|
3715 | 4692 | ldrh w2, [x19, 246] |
---|
3716 | 4693 | lsl w2, w2, 1 |
---|
3717 | 4694 | bl ftl_memset |
---|
3718 | | - ldr x0, [x19, 3544] |
---|
| 4695 | + ldr x0, [x19, 3536] |
---|
3719 | 4696 | mov w1, 0 |
---|
3720 | 4697 | ldrh w2, [x19, 246] |
---|
3721 | 4698 | lsl w2, w2, 1 |
---|
3722 | 4699 | bl ftl_memset |
---|
| 4700 | + add x0, x19, 2512 |
---|
3723 | 4701 | mov w2, 48 |
---|
3724 | 4702 | mov w1, 0 |
---|
3725 | | - add x0, x19, 2512 |
---|
3726 | 4703 | bl ftl_memset |
---|
3727 | 4704 | mov w2, 512 |
---|
3728 | 4705 | mov w1, 0 |
---|
.. | .. |
---|
3730 | 4707 | bl ftl_memset |
---|
3731 | 4708 | bl FtlGcBufInit |
---|
3732 | 4709 | bl FtlL2PDataInit |
---|
3733 | | - ldr x19, [sp, 16] |
---|
3734 | 4710 | mov w0, 0 |
---|
| 4711 | + ldr x19, [sp, 16] |
---|
3735 | 4712 | ldp x29, x30, [sp], 32 |
---|
| 4713 | + hint 29 // autiasp |
---|
3736 | 4714 | ret |
---|
3737 | 4715 | .size FtlVariablesInit, .-FtlVariablesInit |
---|
3738 | 4716 | .align 2 |
---|
3739 | 4717 | .global SupperBlkListInit |
---|
3740 | 4718 | .type SupperBlkListInit, %function |
---|
3741 | 4719 | SupperBlkListInit: |
---|
3742 | | - stp x29, x30, [sp, -64]! |
---|
| 4720 | + hint 34 // bti c |
---|
| 4721 | + .section __patchable_function_entries |
---|
| 4722 | + .align 3 |
---|
| 4723 | + .8byte .LPFE67 |
---|
| 4724 | + .text |
---|
| 4725 | +.LPFE67: |
---|
| 4726 | + nop |
---|
| 4727 | + nop |
---|
| 4728 | + hint 25 // paciasp |
---|
| 4729 | + stp x29, x30, [sp, -112]! |
---|
3743 | 4730 | mov w0, 6 |
---|
3744 | | - mov w1, 0 |
---|
3745 | | - add x29, sp, 0 |
---|
| 4731 | + mov x29, sp |
---|
3746 | 4732 | stp x19, x20, [sp, 16] |
---|
3747 | 4733 | adrp x19, .LANCHOR0 |
---|
3748 | 4734 | add x19, x19, :lo12:.LANCHOR0 |
---|
3749 | | - str x23, [sp, 48] |
---|
3750 | | - add x23, x19, 264 |
---|
3751 | | - stp x21, x22, [sp, 32] |
---|
3752 | | - mov w20, 0 |
---|
3753 | | - mov w22, 0 |
---|
| 4735 | + stp x25, x26, [sp, 64] |
---|
| 4736 | + add x25, x19, 264 |
---|
| 4737 | + mov w1, 0 |
---|
3754 | 4738 | ldrh w2, [x19, 246] |
---|
| 4739 | + mov w20, 0 |
---|
| 4740 | + mov w26, -1 |
---|
| 4741 | + stp x21, x22, [sp, 32] |
---|
3755 | 4742 | mov w21, 0 |
---|
| 4743 | + stp x23, x24, [sp, 48] |
---|
| 4744 | + mov w23, 0 |
---|
3756 | 4745 | mul w2, w2, w0 |
---|
3757 | 4746 | ldr x0, [x19, 2560] |
---|
| 4747 | + stp x27, x28, [sp, 80] |
---|
| 4748 | + mov w27, 32768 |
---|
3758 | 4749 | bl ftl_memset |
---|
3759 | | - strh wzr, [x19, 2584] |
---|
3760 | 4750 | strh wzr, [x19, 228] |
---|
3761 | 4751 | str xzr, [x19, 2568] |
---|
3762 | 4752 | str xzr, [x19, 2576] |
---|
| 4753 | + strh wzr, [x19, 2584] |
---|
3763 | 4754 | str xzr, [x19, 2592] |
---|
3764 | | -.L506: |
---|
| 4755 | +.L551: |
---|
3765 | 4756 | ldrh w0, [x19, 244] |
---|
3766 | | - cmp w20, w0 |
---|
3767 | | - bcs .L513 |
---|
3768 | | - ldrh w8, [x19, 236] |
---|
3769 | | - mov x6, 0 |
---|
3770 | | - ldrh w7, [x19, 306] |
---|
3771 | | - mov w5, 0 |
---|
3772 | | - b .L514 |
---|
3773 | | -.L508: |
---|
3774 | | - ldrb w0, [x23, x6] |
---|
| 4757 | + cmp w0, w20 |
---|
| 4758 | + bls .L558 |
---|
| 4759 | + ldrh w2, [x19, 236] |
---|
| 4760 | + mov x24, 0 |
---|
| 4761 | + ldrh w28, [x19, 306] |
---|
| 4762 | + mov w22, 0 |
---|
| 4763 | + b .L559 |
---|
| 4764 | +.L553: |
---|
| 4765 | + ldrb w0, [x25, x24] |
---|
3775 | 4766 | mov w1, w20 |
---|
| 4767 | + str w2, [sp, 108] |
---|
3776 | 4768 | bl V2P_block |
---|
3777 | 4769 | bl FtlBbmIsBadBlock |
---|
3778 | | - cbnz w0, .L507 |
---|
3779 | | - add w5, w5, w7 |
---|
3780 | | - and w5, w5, 65535 |
---|
3781 | | -.L507: |
---|
3782 | | - add x6, x6, 1 |
---|
3783 | | -.L514: |
---|
3784 | | - cmp w8, w6, uxth |
---|
3785 | | - bhi .L508 |
---|
3786 | | - cbz w5, .L509 |
---|
3787 | | - mov w0, 32768 |
---|
3788 | | - sdiv w5, w0, w5 |
---|
3789 | | -.L510: |
---|
| 4770 | + ldr w2, [sp, 108] |
---|
| 4771 | + cbnz w0, .L552 |
---|
| 4772 | + add w22, w28, w22 |
---|
| 4773 | + and w22, w22, 65535 |
---|
| 4774 | +.L552: |
---|
| 4775 | + add x24, x24, 1 |
---|
| 4776 | +.L559: |
---|
| 4777 | + cmp w2, w24, uxth |
---|
| 4778 | + bhi .L553 |
---|
| 4779 | + cbz w22, .L554 |
---|
| 4780 | + udiv w22, w27, w22 |
---|
| 4781 | +.L555: |
---|
3790 | 4782 | ldr x1, [x19, 2560] |
---|
3791 | 4783 | mov w0, 6 |
---|
3792 | 4784 | umaddl x0, w20, w0, x1 |
---|
3793 | | - strh w5, [x0, 4] |
---|
| 4785 | + strh w22, [x0, 4] |
---|
3794 | 4786 | ldrh w0, [x19, 24] |
---|
3795 | 4787 | cmp w0, w20 |
---|
3796 | | - beq .L511 |
---|
| 4788 | + beq .L556 |
---|
3797 | 4789 | ldrh w0, [x19, 80] |
---|
3798 | 4790 | cmp w0, w20 |
---|
3799 | | - beq .L511 |
---|
| 4791 | + beq .L556 |
---|
3800 | 4792 | ldrh w0, [x19, 128] |
---|
3801 | 4793 | cmp w0, w20 |
---|
3802 | | - beq .L511 |
---|
| 4794 | + beq .L556 |
---|
3803 | 4795 | ldr x1, [x19, 72] |
---|
3804 | 4796 | ubfiz x0, x20, 1, 16 |
---|
3805 | 4797 | ldrh w0, [x1, x0] |
---|
3806 | | - cbnz w0, .L512 |
---|
3807 | | - add w22, w22, 1 |
---|
| 4798 | + cbnz w0, .L557 |
---|
| 4799 | + add w23, w23, 1 |
---|
3808 | 4800 | mov w0, w20 |
---|
3809 | | - and w22, w22, 65535 |
---|
| 4801 | + and w23, w23, 65535 |
---|
3810 | 4802 | bl INSERT_FREE_LIST |
---|
3811 | | -.L511: |
---|
| 4803 | +.L556: |
---|
3812 | 4804 | add w20, w20, 1 |
---|
3813 | 4805 | and w20, w20, 65535 |
---|
3814 | | - b .L506 |
---|
3815 | | -.L509: |
---|
| 4806 | + b .L551 |
---|
| 4807 | +.L554: |
---|
3816 | 4808 | ldr x1, [x19, 72] |
---|
3817 | 4809 | ubfiz x0, x20, 1, 16 |
---|
3818 | | - mov w2, -1 |
---|
3819 | | - strh w2, [x1, x0] |
---|
3820 | | - b .L510 |
---|
3821 | | -.L512: |
---|
| 4810 | + strh w26, [x1, x0] |
---|
| 4811 | + b .L555 |
---|
| 4812 | +.L557: |
---|
3822 | 4813 | add w21, w21, 1 |
---|
3823 | 4814 | mov w0, w20 |
---|
3824 | 4815 | and w21, w21, 65535 |
---|
3825 | 4816 | bl INSERT_DATA_LIST |
---|
3826 | | - b .L511 |
---|
3827 | | -.L513: |
---|
| 4817 | + b .L556 |
---|
| 4818 | +.L558: |
---|
| 4819 | + strh w23, [x19, 228] |
---|
3828 | 4820 | strh w21, [x19, 2584] |
---|
3829 | | - add w21, w21, w22 |
---|
3830 | | - strh w22, [x19, 228] |
---|
| 4821 | + add w21, w21, w23 |
---|
3831 | 4822 | cmp w21, w0 |
---|
3832 | | - ble .L515 |
---|
| 4823 | + ble .L560 |
---|
3833 | 4824 | adrp x1, .LANCHOR1 |
---|
3834 | 4825 | add x1, x1, :lo12:.LANCHOR1 |
---|
3835 | | - adrp x0, .LC8 |
---|
| 4826 | + adrp x0, .LC9 |
---|
| 4827 | + add x1, x1, 198 |
---|
| 4828 | + add x0, x0, :lo12:.LC9 |
---|
3836 | 4829 | mov w2, 2219 |
---|
3837 | | - add x1, x1, 248 |
---|
3838 | | - add x0, x0, :lo12:.LC8 |
---|
3839 | 4830 | bl sftl_printk |
---|
3840 | | -.L515: |
---|
| 4831 | +.L560: |
---|
3841 | 4832 | mov w0, 0 |
---|
3842 | | - ldr x23, [sp, 48] |
---|
3843 | 4833 | ldp x19, x20, [sp, 16] |
---|
3844 | 4834 | ldp x21, x22, [sp, 32] |
---|
3845 | | - ldp x29, x30, [sp], 64 |
---|
| 4835 | + ldp x23, x24, [sp, 48] |
---|
| 4836 | + ldp x25, x26, [sp, 64] |
---|
| 4837 | + ldp x27, x28, [sp, 80] |
---|
| 4838 | + ldp x29, x30, [sp], 112 |
---|
| 4839 | + hint 29 // autiasp |
---|
3846 | 4840 | ret |
---|
3847 | 4841 | .size SupperBlkListInit, .-SupperBlkListInit |
---|
3848 | 4842 | .align 2 |
---|
3849 | 4843 | .global FtlGcPageVarInit |
---|
3850 | 4844 | .type FtlGcPageVarInit, %function |
---|
3851 | 4845 | FtlGcPageVarInit: |
---|
| 4846 | + hint 34 // bti c |
---|
| 4847 | + .section __patchable_function_entries |
---|
| 4848 | + .align 3 |
---|
| 4849 | + .8byte .LPFE68 |
---|
| 4850 | + .text |
---|
| 4851 | +.LPFE68: |
---|
| 4852 | + nop |
---|
| 4853 | + nop |
---|
| 4854 | + hint 25 // paciasp |
---|
3852 | 4855 | stp x29, x30, [sp, -32]! |
---|
3853 | 4856 | mov w1, 255 |
---|
3854 | | - add x29, sp, 0 |
---|
| 4857 | + mov x29, sp |
---|
3855 | 4858 | str x19, [sp, 16] |
---|
3856 | 4859 | adrp x19, .LANCHOR0 |
---|
3857 | 4860 | add x19, x19, :lo12:.LANCHOR0 |
---|
3858 | 4861 | ldr x0, [x19, 3288] |
---|
3859 | | - ldrh w2, [x19, 310] |
---|
3860 | 4862 | strh wzr, [x19, 3284] |
---|
| 4863 | + ldrh w2, [x19, 310] |
---|
3861 | 4864 | strh wzr, [x19, 3296] |
---|
3862 | 4865 | lsl w2, w2, 1 |
---|
3863 | 4866 | bl ftl_memset |
---|
.. | .. |
---|
3870 | 4873 | bl FtlGcBufInit |
---|
3871 | 4874 | ldr x19, [sp, 16] |
---|
3872 | 4875 | ldp x29, x30, [sp], 32 |
---|
| 4876 | + hint 29 // autiasp |
---|
3873 | 4877 | ret |
---|
3874 | 4878 | .size FtlGcPageVarInit, .-FtlGcPageVarInit |
---|
3875 | 4879 | .align 2 |
---|
3876 | 4880 | .global FlashGetBadBlockList |
---|
3877 | 4881 | .type FlashGetBadBlockList, %function |
---|
3878 | 4882 | FlashGetBadBlockList: |
---|
| 4883 | + hint 34 // bti c |
---|
| 4884 | + .section __patchable_function_entries |
---|
| 4885 | + .align 3 |
---|
| 4886 | + .8byte .LPFE69 |
---|
| 4887 | + .text |
---|
| 4888 | +.LPFE69: |
---|
| 4889 | + nop |
---|
| 4890 | + nop |
---|
| 4891 | + hint 25 // paciasp |
---|
3879 | 4892 | stp x29, x30, [sp, -48]! |
---|
3880 | 4893 | mov w2, 256 |
---|
3881 | | - add x29, sp, 0 |
---|
| 4894 | + mov x29, sp |
---|
3882 | 4895 | stp x19, x20, [sp, 16] |
---|
3883 | | - mov x20, x0 |
---|
| 4896 | + adrp x20, .LANCHOR0 |
---|
| 4897 | + add x20, x20, :lo12:.LANCHOR0 |
---|
| 4898 | + mov x19, x0 |
---|
3884 | 4899 | str x21, [sp, 32] |
---|
3885 | 4900 | mov w21, w1 |
---|
3886 | 4901 | mov w1, 255 |
---|
3887 | 4902 | bl ftl_memset |
---|
3888 | | - adrp x19, .LANCHOR0 |
---|
3889 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
| 4903 | + ldr x2, [x20, 3352] |
---|
3890 | 4904 | mov w1, w21 |
---|
3891 | | - ldr x2, [x0, 3360] |
---|
3892 | | - mov x0, x20 |
---|
| 4905 | + mov x0, x19 |
---|
3893 | 4906 | blr x2 |
---|
3894 | 4907 | and w0, w0, 65535 |
---|
3895 | 4908 | cmp w0, 50 |
---|
3896 | | - bls .L520 |
---|
| 4909 | + bls .L565 |
---|
| 4910 | + mov x0, x19 |
---|
3897 | 4911 | mov w2, 256 |
---|
3898 | 4912 | mov w1, 255 |
---|
3899 | | - mov x0, x20 |
---|
3900 | 4913 | bl ftl_memset |
---|
3901 | 4914 | mov w0, 0 |
---|
3902 | | -.L520: |
---|
3903 | | - add x19, x19, :lo12:.LANCHOR0 |
---|
3904 | | - ldrh w1, [x19, 14] |
---|
| 4915 | +.L565: |
---|
| 4916 | + ldrh w1, [x20, 14] |
---|
3905 | 4917 | cmp w1, 4 |
---|
3906 | | - bne .L524 |
---|
| 4918 | + bne .L570 |
---|
3907 | 4919 | mov x1, 0 |
---|
3908 | | -.L522: |
---|
| 4920 | + b .L566 |
---|
| 4921 | +.L567: |
---|
| 4922 | + ldrh w2, [x19, x1, lsl 1] |
---|
| 4923 | + lsr w2, w2, 1 |
---|
| 4924 | + strh w2, [x19, x1, lsl 1] |
---|
| 4925 | + add x1, x1, 1 |
---|
| 4926 | +.L566: |
---|
3909 | 4927 | cmp w0, w1, uxth |
---|
3910 | | - bhi .L523 |
---|
3911 | | -.L524: |
---|
| 4928 | + bhi .L567 |
---|
| 4929 | +.L570: |
---|
3912 | 4930 | ldp x19, x20, [sp, 16] |
---|
3913 | 4931 | ldr x21, [sp, 32] |
---|
3914 | 4932 | ldp x29, x30, [sp], 48 |
---|
| 4933 | + hint 29 // autiasp |
---|
3915 | 4934 | ret |
---|
3916 | | -.L523: |
---|
3917 | | - ldrh w2, [x20, x1, lsl 1] |
---|
3918 | | - lsr w2, w2, 1 |
---|
3919 | | - strh w2, [x20, x1, lsl 1] |
---|
3920 | | - add x1, x1, 1 |
---|
3921 | | - b .L522 |
---|
3922 | 4935 | .size FlashGetBadBlockList, .-FlashGetBadBlockList |
---|
3923 | 4936 | .align 2 |
---|
3924 | 4937 | .global ftl_memcpy |
---|
3925 | 4938 | .type ftl_memcpy, %function |
---|
3926 | 4939 | ftl_memcpy: |
---|
| 4940 | + hint 34 // bti c |
---|
| 4941 | + .section __patchable_function_entries |
---|
| 4942 | + .align 3 |
---|
| 4943 | + .8byte .LPFE70 |
---|
| 4944 | + .text |
---|
| 4945 | +.LPFE70: |
---|
| 4946 | + nop |
---|
| 4947 | + nop |
---|
| 4948 | + hint 25 // paciasp |
---|
3927 | 4949 | stp x29, x30, [sp, -16]! |
---|
3928 | 4950 | uxtw x2, w2 |
---|
3929 | | - add x29, sp, 0 |
---|
| 4951 | + mov x29, sp |
---|
3930 | 4952 | bl memcpy |
---|
3931 | 4953 | ldp x29, x30, [sp], 16 |
---|
| 4954 | + hint 29 // autiasp |
---|
3932 | 4955 | ret |
---|
3933 | 4956 | .size ftl_memcpy, .-ftl_memcpy |
---|
| 4957 | + .section .rodata.str1.1 |
---|
| 4958 | +.LC93: |
---|
| 4959 | + .string "FlashReadPages %x %x error_ecc_bits %d\n" |
---|
| 4960 | +.LC94: |
---|
| 4961 | + .string "data:" |
---|
| 4962 | +.LC95: |
---|
| 4963 | + .string "spare:" |
---|
| 4964 | + .text |
---|
3934 | 4965 | .align 2 |
---|
3935 | 4966 | .global FlashReadPages |
---|
3936 | 4967 | .type FlashReadPages, %function |
---|
3937 | 4968 | FlashReadPages: |
---|
3938 | | - stp x29, x30, [sp, -112]! |
---|
3939 | | - ubfiz x1, x1, 5, 32 |
---|
3940 | | - add x29, sp, 0 |
---|
3941 | | - stp x21, x22, [sp, 32] |
---|
3942 | | - adrp x21, __stack_chk_guard |
---|
3943 | | - stp x23, x24, [sp, 48] |
---|
3944 | | - add x2, x21, :lo12:__stack_chk_guard |
---|
| 4969 | + hint 34 // bti c |
---|
| 4970 | + .section __patchable_function_entries |
---|
| 4971 | + .align 3 |
---|
| 4972 | + .8byte .LPFE71 |
---|
| 4973 | + .text |
---|
| 4974 | +.LPFE71: |
---|
| 4975 | + nop |
---|
| 4976 | + nop |
---|
| 4977 | + hint 25 // paciasp |
---|
| 4978 | + stp x29, x30, [sp, -96]! |
---|
| 4979 | + mrs x2, sp_el0 |
---|
| 4980 | + mov x29, sp |
---|
3945 | 4981 | stp x19, x20, [sp, 16] |
---|
3946 | | - adrp x22, .LANCHOR0 |
---|
3947 | | - stp x25, x26, [sp, 64] |
---|
3948 | | - adrp x23, .LANCHOR1 |
---|
3949 | | - stp x27, x28, [sp, 80] |
---|
3950 | | - add x23, x23, :lo12:.LANCHOR1 |
---|
3951 | | - adrp x25, .LC8 |
---|
3952 | 4982 | mov x19, x0 |
---|
3953 | | - ldr x3, [x2] |
---|
3954 | | - str x3, [x29, 104] |
---|
3955 | | - mov x3,0 |
---|
3956 | | - add x2, x22, :lo12:.LANCHOR0 |
---|
3957 | | - add x24, x0, x1 |
---|
3958 | | - add x23, x23, 272 |
---|
3959 | | - add x25, x25, :lo12:.LC8 |
---|
3960 | | - ldrh w26, [x2, 12] |
---|
3961 | | -.L529: |
---|
3962 | | - cmp x24, x19 |
---|
3963 | | - bne .L542 |
---|
3964 | | - add x21, x21, :lo12:__stack_chk_guard |
---|
3965 | | - mov w0, 0 |
---|
3966 | | - ldr x2, [x29, 104] |
---|
3967 | | - ldr x1, [x21] |
---|
3968 | | - eor x1, x2, x1 |
---|
3969 | | - cbz x1, .L543 |
---|
| 4983 | + adrp x20, .LANCHOR0 |
---|
| 4984 | + add x20, x20, :lo12:.LANCHOR0 |
---|
| 4985 | + mov w0, 32 |
---|
| 4986 | + stp x21, x22, [sp, 32] |
---|
| 4987 | + adrp x22, .LANCHOR1 |
---|
| 4988 | + add x22, x22, :lo12:.LANCHOR1 |
---|
| 4989 | + stp x23, x24, [sp, 48] |
---|
| 4990 | + umaddl x23, w1, w0, x19 |
---|
| 4991 | + adrp x24, .LC9 |
---|
| 4992 | + stp x25, x26, [sp, 64] |
---|
| 4993 | + add x22, x22, 216 |
---|
| 4994 | + ldrh w25, [x20, 12] |
---|
| 4995 | + ldr x3, [x2, 1376] |
---|
| 4996 | + str x3, [sp, 88] |
---|
| 4997 | + mov x3, 0 |
---|
| 4998 | + add x24, x24, :lo12:.LC9 |
---|
| 4999 | +.L575: |
---|
| 5000 | + cmp x19, x23 |
---|
| 5001 | + bne .L588 |
---|
| 5002 | + mrs x0, sp_el0 |
---|
| 5003 | + ldr x1, [sp, 88] |
---|
| 5004 | + ldr x2, [x0, 1376] |
---|
| 5005 | + subs x1, x1, x2 |
---|
| 5006 | + mov x2, 0 |
---|
| 5007 | + beq .L589 |
---|
3970 | 5008 | bl __stack_chk_fail |
---|
3971 | | -.L542: |
---|
| 5009 | +.L588: |
---|
3972 | 5010 | ldr x0, [x19, 8] |
---|
3973 | | - cbz x0, .L530 |
---|
| 5011 | + cbz x0, .L576 |
---|
3974 | 5012 | ldr x0, [x19, 16] |
---|
3975 | | - cbnz x0, .L531 |
---|
3976 | | -.L530: |
---|
| 5013 | + cbnz x0, .L577 |
---|
| 5014 | +.L576: |
---|
| 5015 | + mov x1, x22 |
---|
| 5016 | + mov x0, x24 |
---|
3977 | 5017 | mov w2, 96 |
---|
3978 | | - mov x1, x23 |
---|
3979 | | - mov x0, x25 |
---|
3980 | 5018 | bl sftl_printk |
---|
3981 | | -.L531: |
---|
| 5019 | +.L577: |
---|
3982 | 5020 | ldr w0, [x19, 4] |
---|
3983 | | - add x2, x29, 96 |
---|
3984 | | - add x1, x29, 100 |
---|
| 5021 | + add x2, sp, 80 |
---|
| 5022 | + add x1, sp, 84 |
---|
3985 | 5023 | bl l2p_addr_tran.isra.0 |
---|
3986 | | - ldr w0, [x29, 96] |
---|
| 5024 | + ldr w0, [sp, 80] |
---|
3987 | 5025 | cmp w0, 3 |
---|
3988 | | - bls .L532 |
---|
| 5026 | + bls .L578 |
---|
3989 | 5027 | mov w0, -1 |
---|
3990 | 5028 | str w0, [x19] |
---|
3991 | | -.L533: |
---|
| 5029 | +.L579: |
---|
3992 | 5030 | add x19, x19, 32 |
---|
3993 | | - b .L529 |
---|
3994 | | -.L532: |
---|
3995 | | - ldr x20, [x19, 8] |
---|
3996 | | - tst x20, 63 |
---|
3997 | | - beq .L534 |
---|
3998 | | - add x1, x22, :lo12:.LANCHOR0 |
---|
3999 | | - ldr x20, [x1, 3496] |
---|
4000 | | -.L534: |
---|
4001 | | - add x28, x22, :lo12:.LANCHOR0 |
---|
4002 | | - ldr w1, [x29, 100] |
---|
| 5031 | + b .L575 |
---|
| 5032 | +.L578: |
---|
| 5033 | + ldr x21, [x19, 8] |
---|
| 5034 | + tst x21, 63 |
---|
| 5035 | + beq .L580 |
---|
| 5036 | + ldr x21, [x20, 3488] |
---|
| 5037 | +.L580: |
---|
| 5038 | + mov x2, x21 |
---|
| 5039 | + ldr w1, [sp, 84] |
---|
4003 | 5040 | ldr x3, [x19, 16] |
---|
4004 | | - mov x2, x20 |
---|
4005 | | - ldr x4, [x28, 3384] |
---|
| 5041 | + ldr x4, [x20, 3376] |
---|
4006 | 5042 | blr x4 |
---|
4007 | 5043 | str w0, [x19] |
---|
4008 | | - ldrh w0, [x28, 14] |
---|
| 5044 | + ldrh w0, [x20, 14] |
---|
4009 | 5045 | cmp w0, 4 |
---|
4010 | | - bne .L536 |
---|
4011 | | - ldrb w0, [x29, 96] |
---|
4012 | | - add x2, x20, 2048 |
---|
4013 | | - ldr x4, [x28, 3384] |
---|
4014 | | - ldr w1, [x29, 100] |
---|
| 5046 | + bne .L582 |
---|
| 5047 | + ldrb w0, [sp, 80] |
---|
| 5048 | + add x2, x21, 2048 |
---|
| 5049 | + ldr x4, [x20, 3376] |
---|
4015 | 5050 | ldr x3, [x19, 16] |
---|
4016 | | - add w1, w26, w1 |
---|
| 5051 | + ldr w1, [sp, 84] |
---|
4017 | 5052 | add x3, x3, 8 |
---|
| 5053 | + add w1, w25, w1 |
---|
4018 | 5054 | blr x4 |
---|
4019 | 5055 | cmn w0, #1 |
---|
4020 | | - beq .L537 |
---|
| 5056 | + beq .L583 |
---|
4021 | 5057 | ldr x1, [x19, 16] |
---|
4022 | 5058 | ldr w2, [x1, 12] |
---|
4023 | 5059 | cmn w2, #1 |
---|
4024 | | - bne .L538 |
---|
| 5060 | + bne .L584 |
---|
4025 | 5061 | ldr w2, [x1, 8] |
---|
4026 | 5062 | cmn w2, #1 |
---|
4027 | | - bne .L538 |
---|
| 5063 | + bne .L584 |
---|
4028 | 5064 | ldr w1, [x1] |
---|
4029 | 5065 | cmn w1, #1 |
---|
4030 | | - beq .L538 |
---|
4031 | | -.L537: |
---|
4032 | | - mov w1, -1 |
---|
4033 | | - str w1, [x19] |
---|
4034 | | -.L538: |
---|
| 5066 | + beq .L584 |
---|
| 5067 | +.L583: |
---|
| 5068 | + mov w0, -1 |
---|
| 5069 | +.L615: |
---|
| 5070 | + str w0, [x19] |
---|
| 5071 | + b .L585 |
---|
| 5072 | +.L584: |
---|
4035 | 5073 | ldr w1, [x19] |
---|
4036 | 5074 | cmn w1, #1 |
---|
4037 | | - beq .L539 |
---|
| 5075 | + beq .L585 |
---|
4038 | 5076 | cmp w0, 256 |
---|
4039 | | - bne .L539 |
---|
4040 | | - str w0, [x19] |
---|
4041 | | -.L539: |
---|
| 5077 | + beq .L615 |
---|
| 5078 | +.L585: |
---|
4042 | 5079 | ldr w3, [x19] |
---|
4043 | 5080 | cmp w3, 256 |
---|
4044 | 5081 | ccmn w3, #1, 4, ne |
---|
4045 | | - bne .L536 |
---|
| 5082 | + bne .L582 |
---|
4046 | 5083 | ldr w1, [x19, 4] |
---|
4047 | | - adrp x0, .LC92 |
---|
4048 | | - ldr w2, [x29, 100] |
---|
4049 | | - add x0, x0, :lo12:.LC92 |
---|
| 5084 | + adrp x0, .LC93 |
---|
| 5085 | + ldr w2, [sp, 84] |
---|
| 5086 | + add x0, x0, :lo12:.LC93 |
---|
4050 | 5087 | bl sftl_printk |
---|
4051 | 5088 | ldr x1, [x19, 8] |
---|
4052 | | - cbz x1, .L541 |
---|
4053 | | - mov w3, 4 |
---|
4054 | | - adrp x0, .LC93 |
---|
4055 | | - mov w2, w3 |
---|
4056 | | - add x0, x0, :lo12:.LC93 |
---|
4057 | | - bl rknand_print_hex |
---|
4058 | | -.L541: |
---|
4059 | | - ldr x1, [x19, 16] |
---|
4060 | | - cbz x1, .L536 |
---|
| 5089 | + cbz x1, .L587 |
---|
4061 | 5090 | mov w3, 4 |
---|
4062 | 5091 | adrp x0, .LC94 |
---|
4063 | 5092 | mov w2, w3 |
---|
4064 | 5093 | add x0, x0, :lo12:.LC94 |
---|
4065 | 5094 | bl rknand_print_hex |
---|
4066 | | -.L536: |
---|
4067 | | - add x1, x22, :lo12:.LANCHOR0 |
---|
4068 | | - ldr x0, [x1, 3496] |
---|
4069 | | - cmp x20, x0 |
---|
4070 | | - bne .L533 |
---|
| 5095 | +.L587: |
---|
| 5096 | + ldr x1, [x19, 16] |
---|
| 5097 | + cbz x1, .L582 |
---|
| 5098 | + mov w3, 4 |
---|
| 5099 | + adrp x0, .LC95 |
---|
| 5100 | + mov w2, w3 |
---|
| 5101 | + add x0, x0, :lo12:.LC95 |
---|
| 5102 | + bl rknand_print_hex |
---|
| 5103 | +.L582: |
---|
| 5104 | + ldr x0, [x20, 3488] |
---|
| 5105 | + cmp x0, x21 |
---|
| 5106 | + bne .L579 |
---|
4071 | 5107 | ldr x0, [x19, 8] |
---|
4072 | | - cmp x20, x0 |
---|
4073 | | - beq .L533 |
---|
4074 | | - ldrh w2, [x1, 262] |
---|
4075 | | - mov x1, x20 |
---|
| 5108 | + cmp x0, x21 |
---|
| 5109 | + beq .L579 |
---|
| 5110 | + ldrh w2, [x20, 262] |
---|
| 5111 | + mov x1, x21 |
---|
4076 | 5112 | lsl w2, w2, 9 |
---|
4077 | 5113 | bl ftl_memcpy |
---|
4078 | | - b .L533 |
---|
4079 | | -.L543: |
---|
| 5114 | + b .L579 |
---|
| 5115 | +.L589: |
---|
| 5116 | + mov w0, 0 |
---|
4080 | 5117 | ldp x19, x20, [sp, 16] |
---|
4081 | 5118 | ldp x21, x22, [sp, 32] |
---|
4082 | 5119 | ldp x23, x24, [sp, 48] |
---|
4083 | 5120 | ldp x25, x26, [sp, 64] |
---|
4084 | | - ldp x27, x28, [sp, 80] |
---|
4085 | | - ldp x29, x30, [sp], 112 |
---|
| 5121 | + ldp x29, x30, [sp], 96 |
---|
| 5122 | + hint 29 // autiasp |
---|
4086 | 5123 | ret |
---|
4087 | 5124 | .size FlashReadPages, .-FlashReadPages |
---|
4088 | 5125 | .align 2 |
---|
4089 | 5126 | .global FtlLoadFactoryBbt |
---|
4090 | 5127 | .type FtlLoadFactoryBbt, %function |
---|
4091 | 5128 | FtlLoadFactoryBbt: |
---|
| 5129 | + hint 34 // bti c |
---|
| 5130 | + .section __patchable_function_entries |
---|
| 5131 | + .align 3 |
---|
| 5132 | + .8byte .LPFE72 |
---|
| 5133 | + .text |
---|
| 5134 | +.LPFE72: |
---|
| 5135 | + nop |
---|
| 5136 | + nop |
---|
| 5137 | + hint 25 // paciasp |
---|
4092 | 5138 | stp x29, x30, [sp, -80]! |
---|
4093 | | - adrp x0, .LANCHOR0 |
---|
4094 | | - add x0, x0, :lo12:.LANCHOR0 |
---|
4095 | | - add x29, sp, 0 |
---|
4096 | | - stp x21, x22, [sp, 32] |
---|
4097 | | - add x22, x0, 372 |
---|
4098 | | - stp x25, x26, [sp, 64] |
---|
4099 | | - mov w21, 0 |
---|
| 5139 | + mov x29, sp |
---|
4100 | 5140 | stp x19, x20, [sp, 16] |
---|
4101 | | - mov x19, x0 |
---|
| 5141 | + adrp x20, .LANCHOR0 |
---|
| 5142 | + add x20, x20, :lo12:.LANCHOR0 |
---|
| 5143 | + stp x21, x22, [sp, 32] |
---|
| 5144 | + add x21, x20, 3712 |
---|
| 5145 | + mov w22, 0 |
---|
4102 | 5146 | stp x23, x24, [sp, 48] |
---|
4103 | | - add x23, x0, 3720 |
---|
4104 | | - mov x25, x23 |
---|
| 5147 | + add x23, x20, 360 |
---|
| 5148 | + stp x25, x26, [sp, 64] |
---|
| 5149 | + mov w25, -1 |
---|
4105 | 5150 | mov w26, 61664 |
---|
4106 | | - ldr x1, [x0, 3456] |
---|
4107 | | - ldr x24, [x0, 3520] |
---|
4108 | | - stp x1, x24, [x23, 8] |
---|
4109 | | -.L570: |
---|
4110 | | - ldrh w0, [x19, 258] |
---|
4111 | | - cmp w21, w0 |
---|
4112 | | - bcc .L575 |
---|
| 5151 | + ldr x0, [x20, 3448] |
---|
| 5152 | + ldr x24, [x20, 3512] |
---|
| 5153 | + stp x0, x24, [x21, 8] |
---|
| 5154 | +.L617: |
---|
| 5155 | + ldrh w0, [x20, 258] |
---|
| 5156 | + cmp w0, w22 |
---|
| 5157 | + bhi .L622 |
---|
4113 | 5158 | mov w0, 0 |
---|
4114 | 5159 | ldp x19, x20, [sp, 16] |
---|
4115 | 5160 | ldp x21, x22, [sp, 32] |
---|
4116 | 5161 | ldp x23, x24, [sp, 48] |
---|
4117 | 5162 | ldp x25, x26, [sp, 64] |
---|
4118 | 5163 | ldp x29, x30, [sp], 80 |
---|
| 5164 | + hint 29 // autiasp |
---|
4119 | 5165 | ret |
---|
4120 | | -.L575: |
---|
4121 | | - ldrh w20, [x19, 302] |
---|
4122 | | - mov w0, -1 |
---|
4123 | | - strh w0, [x22] |
---|
4124 | | -.L572: |
---|
4125 | | - ldrh w0, [x19, 302] |
---|
4126 | | - sub w20, w20, #1 |
---|
4127 | | - and w20, w20, 65535 |
---|
| 5166 | +.L622: |
---|
| 5167 | + ldrh w19, [x20, 302] |
---|
| 5168 | + strh w25, [x23, 12] |
---|
| 5169 | +.L619: |
---|
| 5170 | + ldrh w0, [x20, 302] |
---|
| 5171 | + sub w19, w19, #1 |
---|
| 5172 | + and w19, w19, 65535 |
---|
4128 | 5173 | sub w1, w0, #16 |
---|
4129 | | - cmp w20, w1 |
---|
4130 | | - ble .L573 |
---|
4131 | | - madd w0, w0, w21, w20 |
---|
| 5174 | + cmp w19, w1 |
---|
| 5175 | + ble .L620 |
---|
| 5176 | + madd w0, w0, w22, w19 |
---|
4132 | 5177 | mov w2, 1 |
---|
4133 | 5178 | mov w1, w2 |
---|
4134 | 5179 | lsl w0, w0, 10 |
---|
4135 | | - str w0, [x25, 4] |
---|
4136 | | - mov x0, x23 |
---|
| 5180 | + str w0, [x21, 4] |
---|
| 5181 | + mov x0, x21 |
---|
4137 | 5182 | bl FlashReadPages |
---|
4138 | | - ldr w0, [x25] |
---|
| 5183 | + ldr w0, [x21] |
---|
4139 | 5184 | cmn w0, #1 |
---|
4140 | | - beq .L572 |
---|
| 5185 | + beq .L619 |
---|
4141 | 5186 | ldrh w0, [x24] |
---|
4142 | 5187 | cmp w0, w26 |
---|
4143 | | - bne .L572 |
---|
4144 | | - strh w20, [x22] |
---|
4145 | | -.L573: |
---|
4146 | | - add w21, w21, 1 |
---|
4147 | | - add x22, x22, 2 |
---|
4148 | | - b .L570 |
---|
| 5188 | + bne .L619 |
---|
| 5189 | + strh w19, [x23, 12] |
---|
| 5190 | +.L620: |
---|
| 5191 | + add w22, w22, 1 |
---|
| 5192 | + add x23, x23, 2 |
---|
| 5193 | + b .L617 |
---|
4149 | 5194 | .size FtlLoadFactoryBbt, .-FtlLoadFactoryBbt |
---|
4150 | 5195 | .align 2 |
---|
4151 | 5196 | .global FtlGetLastWrittenPage |
---|
4152 | 5197 | .type FtlGetLastWrittenPage, %function |
---|
4153 | 5198 | FtlGetLastWrittenPage: |
---|
4154 | | - stp x29, x30, [sp, -192]! |
---|
4155 | | - add x29, sp, 0 |
---|
4156 | | - stp x21, x22, [sp, 32] |
---|
4157 | | - adrp x21, __stack_chk_guard |
---|
4158 | | - stp x23, x24, [sp, 48] |
---|
4159 | | - mov w24, w1 |
---|
| 5199 | + hint 34 // bti c |
---|
| 5200 | + .section __patchable_function_entries |
---|
| 5201 | + .align 3 |
---|
| 5202 | + .8byte .LPFE73 |
---|
| 5203 | + .text |
---|
| 5204 | +.LPFE73: |
---|
| 5205 | + nop |
---|
| 5206 | + nop |
---|
| 5207 | + hint 25 // paciasp |
---|
| 5208 | + stp x29, x30, [sp, -176]! |
---|
| 5209 | + mov x29, sp |
---|
4160 | 5210 | stp x19, x20, [sp, 16] |
---|
4161 | | - add x1, x21, :lo12:__stack_chk_guard |
---|
4162 | | - str x25, [sp, 64] |
---|
4163 | | - cmp w24, 1 |
---|
4164 | | - ldr x2, [x1] |
---|
4165 | | - str x2, [x29, 184] |
---|
4166 | | - mov x2,0 |
---|
| 5211 | + stp x21, x22, [sp, 32] |
---|
| 5212 | + mov w22, w1 |
---|
| 5213 | + mrs x1, sp_el0 |
---|
| 5214 | + stp x23, x24, [sp, 48] |
---|
| 5215 | + cmp w22, 1 |
---|
| 5216 | + ldr x2, [x1, 1376] |
---|
| 5217 | + str x2, [sp, 168] |
---|
| 5218 | + mov x2, 0 |
---|
4167 | 5219 | adrp x1, .LANCHOR0 |
---|
4168 | | - add x2, x1, :lo12:.LANCHOR0 |
---|
4169 | | - bne .L581 |
---|
4170 | | - ldrh w19, [x2, 308] |
---|
4171 | | -.L582: |
---|
4172 | 5220 | add x1, x1, :lo12:.LANCHOR0 |
---|
| 5221 | + bne .L628 |
---|
| 5222 | + ldrh w19, [x1, 308] |
---|
| 5223 | +.L629: |
---|
4173 | 5224 | sub w19, w19, #1 |
---|
| 5225 | + lsl w21, w0, 10 |
---|
| 5226 | + ldr x1, [x1, 3496] |
---|
4174 | 5227 | sxth w19, w19 |
---|
4175 | | - lsl w22, w0, 10 |
---|
4176 | | - orr w0, w19, w22 |
---|
4177 | | - mov w2, w24 |
---|
4178 | | - ldr x1, [x1, 3504] |
---|
4179 | | - str x1, [x29, 96] |
---|
4180 | | - add x1, x29, 120 |
---|
4181 | | - str w0, [x29, 92] |
---|
4182 | | - add x0, x29, 88 |
---|
4183 | | - str x1, [x29, 104] |
---|
| 5228 | + orr w0, w19, w0, lsl 10 |
---|
| 5229 | + str x1, [sp, 80] |
---|
| 5230 | + add x1, sp, 104 |
---|
| 5231 | + mov w2, w22 |
---|
| 5232 | + str w0, [sp, 76] |
---|
| 5233 | + add x0, sp, 72 |
---|
| 5234 | + str x1, [sp, 88] |
---|
4184 | 5235 | mov w1, 1 |
---|
4185 | 5236 | bl FlashReadPages |
---|
4186 | | - ldr w0, [x29, 120] |
---|
| 5237 | + ldr w0, [sp, 104] |
---|
4187 | 5238 | cmn w0, #1 |
---|
4188 | | - bne .L583 |
---|
| 5239 | + bne .L631 |
---|
4189 | 5240 | mov w23, 0 |
---|
4190 | | - mov w25, 2 |
---|
4191 | | -.L584: |
---|
4192 | | - cmp w23, w19 |
---|
4193 | | - ble .L587 |
---|
4194 | | -.L583: |
---|
4195 | | - add x21, x21, :lo12:__stack_chk_guard |
---|
4196 | | - mov w0, w19 |
---|
4197 | | - ldr x2, [x29, 184] |
---|
4198 | | - ldr x1, [x21] |
---|
4199 | | - eor x1, x2, x1 |
---|
4200 | | - cbz x1, .L588 |
---|
4201 | | - bl __stack_chk_fail |
---|
4202 | | -.L581: |
---|
4203 | | - ldrh w19, [x2, 306] |
---|
4204 | | - b .L582 |
---|
4205 | | -.L587: |
---|
4206 | | - add w20, w23, w19 |
---|
4207 | | - mov w2, w24 |
---|
| 5241 | + mov w24, 2 |
---|
| 5242 | + b .L630 |
---|
| 5243 | +.L628: |
---|
| 5244 | + ldrh w19, [x1, 306] |
---|
| 5245 | + b .L629 |
---|
| 5246 | +.L634: |
---|
| 5247 | + add w0, w23, w19 |
---|
4208 | 5248 | mov w1, 1 |
---|
4209 | | - sdiv w20, w20, w25 |
---|
4210 | | - sxth w0, w20 |
---|
4211 | | - orr w0, w0, w22 |
---|
4212 | | - str w0, [x29, 92] |
---|
4213 | | - add x0, x29, 88 |
---|
| 5249 | + mov w2, w22 |
---|
| 5250 | + sdiv w0, w0, w24 |
---|
| 5251 | + sxth w20, w0 |
---|
| 5252 | + orr w0, w0, w21 |
---|
| 5253 | + str w0, [sp, 76] |
---|
| 5254 | + add x0, sp, 72 |
---|
4214 | 5255 | bl FlashReadPages |
---|
4215 | | - ldr w0, [x29, 120] |
---|
| 5256 | + ldp w0, w1, [sp, 104] |
---|
| 5257 | + and w0, w0, w1 |
---|
4216 | 5258 | cmn w0, #1 |
---|
4217 | | - bne .L585 |
---|
4218 | | - ldr w0, [x29, 124] |
---|
| 5259 | + bne .L632 |
---|
| 5260 | + ldr w0, [sp, 72] |
---|
4219 | 5261 | cmn w0, #1 |
---|
4220 | | - bne .L585 |
---|
4221 | | - ldr w0, [x29, 88] |
---|
4222 | | - cmn w0, #1 |
---|
4223 | | - beq .L585 |
---|
| 5262 | + beq .L632 |
---|
4224 | 5263 | sub w19, w20, #1 |
---|
4225 | 5264 | sxth w19, w19 |
---|
4226 | | - b .L584 |
---|
4227 | | -.L585: |
---|
| 5265 | +.L630: |
---|
| 5266 | + cmp w23, w19 |
---|
| 5267 | + ble .L634 |
---|
| 5268 | +.L631: |
---|
| 5269 | + mrs x0, sp_el0 |
---|
| 5270 | + ldr x1, [sp, 168] |
---|
| 5271 | + ldr x2, [x0, 1376] |
---|
| 5272 | + subs x1, x1, x2 |
---|
| 5273 | + mov x2, 0 |
---|
| 5274 | + beq .L635 |
---|
| 5275 | + bl __stack_chk_fail |
---|
| 5276 | +.L632: |
---|
4228 | 5277 | add w20, w20, 1 |
---|
4229 | 5278 | sxth w23, w20 |
---|
4230 | | - b .L584 |
---|
4231 | | -.L588: |
---|
| 5279 | + b .L630 |
---|
| 5280 | +.L635: |
---|
| 5281 | + mov w0, w19 |
---|
4232 | 5282 | ldp x19, x20, [sp, 16] |
---|
4233 | 5283 | ldp x21, x22, [sp, 32] |
---|
4234 | 5284 | ldp x23, x24, [sp, 48] |
---|
4235 | | - ldr x25, [sp, 64] |
---|
4236 | | - ldp x29, x30, [sp], 192 |
---|
| 5285 | + ldp x29, x30, [sp], 176 |
---|
| 5286 | + hint 29 // autiasp |
---|
4237 | 5287 | ret |
---|
4238 | 5288 | .size FtlGetLastWrittenPage, .-FtlGetLastWrittenPage |
---|
4239 | 5289 | .align 2 |
---|
4240 | 5290 | .global FtlScanSysBlk |
---|
4241 | 5291 | .type FtlScanSysBlk, %function |
---|
4242 | 5292 | FtlScanSysBlk: |
---|
4243 | | - stp x29, x30, [sp, -112]! |
---|
| 5293 | + hint 34 // bti c |
---|
| 5294 | + .section __patchable_function_entries |
---|
| 5295 | + .align 3 |
---|
| 5296 | + .8byte .LPFE74 |
---|
| 5297 | + .text |
---|
| 5298 | +.LPFE74: |
---|
| 5299 | + nop |
---|
| 5300 | + nop |
---|
| 5301 | + hint 25 // paciasp |
---|
| 5302 | + stp x29, x30, [sp, -96]! |
---|
4244 | 5303 | mov w1, 0 |
---|
4245 | | - add x29, sp, 0 |
---|
| 5304 | + mov x29, sp |
---|
4246 | 5305 | stp x19, x20, [sp, 16] |
---|
| 5306 | + adrp x19, .LANCHOR0 |
---|
| 5307 | + add x19, x19, :lo12:.LANCHOR0 |
---|
4247 | 5308 | stp x21, x22, [sp, 32] |
---|
4248 | | - adrp x21, .LANCHOR0 |
---|
4249 | | - add x19, x21, :lo12:.LANCHOR0 |
---|
| 5309 | + ldr x0, [x19, 3608] |
---|
4250 | 5310 | stp x23, x24, [sp, 48] |
---|
4251 | | - stp x25, x26, [sp, 64] |
---|
4252 | | - adrp x25, .LANCHOR1 |
---|
4253 | | - stp x27, x28, [sp, 80] |
---|
4254 | | - add x25, x25, :lo12:.LANCHOR1 |
---|
4255 | | - ldr x0, [x19, 3616] |
---|
4256 | | - add x25, x25, 288 |
---|
4257 | 5311 | ldr w2, [x19, 332] |
---|
4258 | | - strh wzr, [x19, 3704] |
---|
4259 | | - strh wzr, [x19, 348] |
---|
| 5312 | + stp x25, x26, [sp, 64] |
---|
| 5313 | + adrp x24, .LANCHOR1 |
---|
| 5314 | + add x24, x24, :lo12:.LANCHOR1 |
---|
4260 | 5315 | lsl w2, w2, 2 |
---|
| 5316 | + stp x27, x28, [sp, 80] |
---|
| 5317 | + add x24, x24, 231 |
---|
| 5318 | + strh wzr, [x19, 348] |
---|
| 5319 | + strh wzr, [x19, 3696] |
---|
4261 | 5320 | bl ftl_memset |
---|
4262 | | - ldr x0, [x19, 3568] |
---|
| 5321 | + ldr x0, [x19, 3560] |
---|
4263 | 5322 | mov w1, 0 |
---|
4264 | 5323 | ldr w2, [x19, 332] |
---|
4265 | 5324 | lsl w2, w2, 1 |
---|
4266 | 5325 | bl ftl_memset |
---|
4267 | | - ldr x0, [x19, 3592] |
---|
| 5326 | + ldr x0, [x19, 3584] |
---|
4268 | 5327 | mov w1, 0 |
---|
4269 | 5328 | ldrh w2, [x19, 324] |
---|
4270 | 5329 | lsl w2, w2, 2 |
---|
.. | .. |
---|
4274 | 5333 | ldrh w2, [x19, 324] |
---|
4275 | 5334 | lsl w2, w2, 1 |
---|
4276 | 5335 | bl ftl_memset |
---|
| 5336 | + add x0, x19, 2696 |
---|
4277 | 5337 | mov w2, 16 |
---|
4278 | 5338 | mov w1, 255 |
---|
4279 | | - add x0, x19, 2696 |
---|
4280 | 5339 | bl ftl_memset |
---|
4281 | | - ldrh w24, [x19, 244] |
---|
4282 | | -.L594: |
---|
| 5340 | + ldrh w23, [x19, 244] |
---|
| 5341 | +.L642: |
---|
4283 | 5342 | ldrh w0, [x19, 246] |
---|
4284 | | - cmp w0, w24 |
---|
4285 | | - bls .L634 |
---|
4286 | | - ldrh w9, [x19, 236] |
---|
4287 | | - mov x5, 0 |
---|
4288 | | - ldrh w8, [x19, 316] |
---|
4289 | | - mov w20, 0 |
---|
4290 | | - add x7, x19, 264 |
---|
4291 | | - mov w6, 4 |
---|
4292 | | - b .L635 |
---|
4293 | | -.L596: |
---|
4294 | | - ldrb w0, [x7, x5] |
---|
4295 | | - mov w1, w24 |
---|
| 5343 | + cmp w0, w23 |
---|
| 5344 | + bls .L681 |
---|
| 5345 | + ldrh w28, [x19, 236] |
---|
| 5346 | + add x26, x19, 264 |
---|
| 5347 | + ldrh w27, [x19, 316] |
---|
| 5348 | + mov x21, 0 |
---|
| 5349 | + mov w22, 0 |
---|
| 5350 | + mov w25, 4 |
---|
| 5351 | + b .L682 |
---|
| 5352 | +.L644: |
---|
| 5353 | + ldrb w0, [x26, x21] |
---|
| 5354 | + mov w1, w23 |
---|
4296 | 5355 | bl V2P_block |
---|
4297 | | - and w4, w0, 65535 |
---|
| 5356 | + and w20, w0, 65535 |
---|
4298 | 5357 | bl FtlBbmIsBadBlock |
---|
4299 | | - cbnz w0, .L595 |
---|
4300 | | - ldr x0, [x19, 3432] |
---|
4301 | | - ubfiz x2, x20, 5, 16 |
---|
4302 | | - lsl w4, w4, 10 |
---|
| 5358 | + cbnz w0, .L643 |
---|
| 5359 | + ldr x0, [x19, 3424] |
---|
| 5360 | + ubfiz x2, x22, 5, 16 |
---|
| 5361 | + lsl w20, w20, 10 |
---|
4303 | 5362 | add x0, x0, x2 |
---|
4304 | | - str w4, [x0, 4] |
---|
4305 | | - ldr x1, [x19, 3432] |
---|
| 5363 | + str w20, [x0, 4] |
---|
| 5364 | + ldr x1, [x19, 3424] |
---|
4306 | 5365 | ldr x0, [x19, 3256] |
---|
4307 | 5366 | add x1, x1, x2 |
---|
4308 | 5367 | ldr x2, [x19, 3264] |
---|
4309 | 5368 | str x0, [x1, 8] |
---|
4310 | | - mul w0, w20, w8 |
---|
4311 | | - add w20, w20, 1 |
---|
4312 | | - and w20, w20, 65535 |
---|
4313 | | - sdiv w0, w0, w6 |
---|
4314 | | - add x0, x2, x0, sxtw 2 |
---|
| 5369 | + mul w0, w22, w27 |
---|
| 5370 | + add w22, w22, 1 |
---|
| 5371 | + and w22, w22, 65535 |
---|
| 5372 | + sdiv w0, w0, w25 |
---|
| 5373 | + add x0, x2, w0, sxtw 2 |
---|
4315 | 5374 | str x0, [x1, 16] |
---|
4316 | | -.L595: |
---|
4317 | | - add x5, x5, 1 |
---|
4318 | | -.L635: |
---|
4319 | | - cmp w9, w5, uxth |
---|
4320 | | - bhi .L596 |
---|
4321 | | - cbnz w20, .L597 |
---|
4322 | | -.L633: |
---|
4323 | | - add w24, w24, 1 |
---|
4324 | | - and w24, w24, 65535 |
---|
4325 | | - b .L594 |
---|
4326 | | -.L597: |
---|
4327 | | - ldr x0, [x19, 3432] |
---|
4328 | | - mov w1, w20 |
---|
| 5375 | +.L643: |
---|
| 5376 | + add x21, x21, 1 |
---|
| 5377 | +.L682: |
---|
| 5378 | + cmp w28, w21, uxth |
---|
| 5379 | + bhi .L644 |
---|
| 5380 | + cbnz w22, .L645 |
---|
| 5381 | +.L680: |
---|
| 5382 | + add w23, w23, 1 |
---|
| 5383 | + and w23, w23, 65535 |
---|
| 5384 | + b .L642 |
---|
| 5385 | +.L645: |
---|
| 5386 | + ldr x0, [x19, 3424] |
---|
| 5387 | + adrp x26, .LC9 |
---|
| 5388 | + mov w1, w22 |
---|
| 5389 | + add x26, x26, :lo12:.LC9 |
---|
4329 | 5390 | mov w2, 1 |
---|
4330 | | - ubfiz x20, x20, 5, 16 |
---|
4331 | | - mov x23, 0 |
---|
4332 | | - add x27, x19, 2696 |
---|
| 5391 | + mov x25, 0 |
---|
4333 | 5392 | bl FlashReadPages |
---|
4334 | | -.L632: |
---|
4335 | | - ldr x0, [x19, 3432] |
---|
4336 | | - add x1, x0, x23 |
---|
4337 | | - ldr w0, [x0, x23] |
---|
4338 | | - ldr w22, [x1, 4] |
---|
| 5393 | +.L679: |
---|
| 5394 | + ldr x0, [x19, 3424] |
---|
| 5395 | + lsl x27, x25, 5 |
---|
| 5396 | + add x1, x0, x25, lsl 5 |
---|
| 5397 | + ldr w0, [x0, x27] |
---|
| 5398 | + ldr w20, [x1, 4] |
---|
| 5399 | + ldr x21, [x1, 16] |
---|
| 5400 | + ubfx x20, x20, 10, 16 |
---|
4339 | 5401 | cmn w0, #1 |
---|
4340 | | - ldr x26, [x1, 16] |
---|
4341 | | - ubfx x22, x22, 10, 16 |
---|
4342 | | - bne .L600 |
---|
| 5402 | + bne .L648 |
---|
4343 | 5403 | mov w28, 16 |
---|
4344 | | - mov w3, 65535 |
---|
4345 | | -.L602: |
---|
4346 | | - ldr x0, [x19, 3432] |
---|
| 5404 | +.L650: |
---|
| 5405 | + ldr x0, [x19, 3424] |
---|
4347 | 5406 | mov w2, 1 |
---|
4348 | | - str w3, [x29, 108] |
---|
4349 | | - add x0, x0, x23 |
---|
| 5407 | + add x0, x0, x27 |
---|
4350 | 5408 | ldr w1, [x0, 4] |
---|
4351 | 5409 | add w1, w1, 1 |
---|
4352 | 5410 | str w1, [x0, 4] |
---|
4353 | 5411 | mov w1, w2 |
---|
4354 | | - ldr x0, [x19, 3432] |
---|
4355 | | - add x0, x0, x23 |
---|
| 5412 | + ldr x0, [x19, 3424] |
---|
| 5413 | + add x0, x0, x27 |
---|
4356 | 5414 | bl FlashReadPages |
---|
4357 | | - ldrh w0, [x26] |
---|
4358 | | - ldr w3, [x29, 108] |
---|
| 5415 | + ldrh w0, [x21] |
---|
| 5416 | + mov w3, 65535 |
---|
4359 | 5417 | cmp w0, w3 |
---|
4360 | | - ldr x0, [x19, 3432] |
---|
4361 | | - bne .L599 |
---|
| 5418 | + ldr x0, [x19, 3424] |
---|
| 5419 | + bne .L647 |
---|
4362 | 5420 | mov w1, -1 |
---|
4363 | | - str w1, [x0, x23] |
---|
4364 | | - ldr x0, [x19, 3432] |
---|
4365 | | - ldr w0, [x0, x23] |
---|
| 5421 | + str w1, [x0, x27] |
---|
| 5422 | + ldr x0, [x19, 3424] |
---|
| 5423 | + ldr w0, [x0, x27] |
---|
4366 | 5424 | cmp w0, w1 |
---|
4367 | | - bne .L600 |
---|
4368 | | -.L601: |
---|
4369 | | - mov w1, 1 |
---|
4370 | | - b .L672 |
---|
4371 | | -.L599: |
---|
4372 | | - ldr w0, [x0, x23] |
---|
4373 | | - cmn w0, #1 |
---|
4374 | | - bne .L600 |
---|
4375 | | - sub w28, w28, #1 |
---|
4376 | | - ands w28, w28, 65535 |
---|
4377 | | - bne .L602 |
---|
4378 | | - b .L601 |
---|
4379 | | -.L600: |
---|
| 5425 | + beq .L649 |
---|
| 5426 | +.L648: |
---|
4380 | 5427 | ldr w1, [x19, 2660] |
---|
4381 | | - ldr w0, [x26, 4] |
---|
| 5428 | + ldr w0, [x21, 4] |
---|
4382 | 5429 | cmn w1, #1 |
---|
4383 | | - beq .L603 |
---|
| 5430 | + beq .L697 |
---|
4384 | 5431 | cmp w1, w0 |
---|
4385 | | - bhi .L604 |
---|
4386 | | -.L603: |
---|
| 5432 | + bhi .L651 |
---|
| 5433 | +.L697: |
---|
4387 | 5434 | cmn w0, #1 |
---|
4388 | | - beq .L604 |
---|
| 5435 | + beq .L651 |
---|
4389 | 5436 | add w1, w0, 1 |
---|
4390 | 5437 | str w1, [x19, 2660] |
---|
4391 | | -.L604: |
---|
4392 | | - ldrh w1, [x26] |
---|
| 5438 | +.L651: |
---|
| 5439 | + ldrh w1, [x21] |
---|
| 5440 | + mov w2, 61634 |
---|
| 5441 | + cmp w1, w2 |
---|
| 5442 | + beq .L652 |
---|
| 5443 | + bhi .L653 |
---|
| 5444 | + mov w2, 61574 |
---|
| 5445 | + cmp w1, w2 |
---|
| 5446 | + beq .L654 |
---|
4393 | 5447 | mov w2, 61604 |
---|
4394 | 5448 | cmp w1, w2 |
---|
4395 | | - beq .L606 |
---|
4396 | | - bhi .L607 |
---|
4397 | | - mov w0, 61574 |
---|
4398 | | - cmp w1, w0 |
---|
4399 | | - beq .L608 |
---|
4400 | | -.L605: |
---|
4401 | | - add x23, x23, 32 |
---|
4402 | | - cmp x20, x23 |
---|
4403 | | - bne .L632 |
---|
4404 | | - b .L633 |
---|
4405 | | -.L607: |
---|
4406 | | - mov w0, 61634 |
---|
4407 | | - cmp w1, w0 |
---|
4408 | | - beq .L609 |
---|
| 5449 | + beq .L655 |
---|
| 5450 | +.L656: |
---|
| 5451 | + add x25, x25, 1 |
---|
| 5452 | + cmp w22, w25, uxth |
---|
| 5453 | + bhi .L679 |
---|
| 5454 | + b .L680 |
---|
| 5455 | +.L647: |
---|
| 5456 | + ldr w0, [x0, x27] |
---|
| 5457 | + cmn w0, #1 |
---|
| 5458 | + bne .L648 |
---|
| 5459 | + sub w28, w28, #1 |
---|
| 5460 | + ands w28, w28, 65535 |
---|
| 5461 | + bne .L650 |
---|
| 5462 | +.L649: |
---|
| 5463 | + mov w1, 1 |
---|
| 5464 | + b .L721 |
---|
| 5465 | +.L653: |
---|
4409 | 5466 | mov w0, 65535 |
---|
4410 | 5467 | cmp w1, w0 |
---|
4411 | | - bne .L605 |
---|
| 5468 | + bne .L656 |
---|
4412 | 5469 | mov w1, 0 |
---|
4413 | | -.L672: |
---|
4414 | | - mov w0, w22 |
---|
| 5470 | +.L721: |
---|
| 5471 | + mov w0, w20 |
---|
4415 | 5472 | bl FtlFreeSysBlkQueueIn |
---|
4416 | | - b .L605 |
---|
4417 | | -.L609: |
---|
4418 | | - ldrh w1, [x19, 3704] |
---|
| 5473 | + b .L656 |
---|
| 5474 | +.L652: |
---|
| 5475 | + ldrh w1, [x19, 3696] |
---|
4419 | 5476 | ldr w0, [x19, 332] |
---|
4420 | 5477 | cmp w1, w0 |
---|
4421 | | - bls .L611 |
---|
4422 | | - adrp x0, .LC8 |
---|
| 5478 | + bls .L658 |
---|
| 5479 | + mov x1, x24 |
---|
| 5480 | + mov x0, x26 |
---|
4423 | 5481 | mov w2, 1232 |
---|
4424 | | - mov x1, x25 |
---|
4425 | | - add x0, x0, :lo12:.LC8 |
---|
4426 | 5482 | bl sftl_printk |
---|
4427 | | -.L611: |
---|
4428 | | - ldr w3, [x19, 332] |
---|
4429 | | - ldrh w1, [x19, 3704] |
---|
4430 | | - and w2, w3, 65535 |
---|
4431 | | - ldr x4, [x19, 3616] |
---|
4432 | | - sub w0, w2, #1 |
---|
4433 | | - sub w2, w2, w1 |
---|
4434 | | - sub w2, w2, #1 |
---|
4435 | | - sxth x0, w0 |
---|
4436 | | - sxth w2, w2 |
---|
4437 | | -.L612: |
---|
4438 | | - cmp w0, w2 |
---|
4439 | | - bgt .L618 |
---|
4440 | | - tbz w0, #31, .L652 |
---|
4441 | | - b .L605 |
---|
4442 | | -.L618: |
---|
4443 | | - sxtw x5, w0 |
---|
4444 | | - ldr w8, [x26, 4] |
---|
4445 | | - lsl x6, x5, 2 |
---|
4446 | | - ldr w7, [x4, x6] |
---|
4447 | | - cmp w8, w7 |
---|
4448 | | - bls .L613 |
---|
4449 | | - ldr w2, [x4] |
---|
4450 | | - cbnz w2, .L614 |
---|
4451 | | - cmp w3, w1 |
---|
4452 | | - beq .L614 |
---|
4453 | | - add w1, w1, 1 |
---|
4454 | | - strh w1, [x19, 3704] |
---|
4455 | | -.L614: |
---|
4456 | | - mov w1, 0 |
---|
4457 | | -.L615: |
---|
4458 | | - cmp w1, w0 |
---|
4459 | | - bne .L616 |
---|
4460 | | - ldr x1, [x19, 3616] |
---|
4461 | | - ldr w2, [x26, 4] |
---|
4462 | | - str w2, [x1, x6] |
---|
4463 | | - ldr x1, [x19, 3568] |
---|
4464 | | - strh w22, [x1, x5, lsl 1] |
---|
4465 | | - tbnz w0, #31, .L605 |
---|
4466 | | - ldrh w1, [x19, 3704] |
---|
4467 | | - ldr w2, [x19, 332] |
---|
4468 | | - sub w2, w2, w1 |
---|
4469 | | - sub w2, w2, #1 |
---|
4470 | | - cmp w0, w2, sxth |
---|
4471 | | - bgt .L605 |
---|
4472 | | -.L652: |
---|
4473 | | - add w1, w1, 1 |
---|
4474 | | - strh w1, [x19, 3704] |
---|
4475 | | - ldr x1, [x19, 3616] |
---|
4476 | | - ldr w2, [x26, 4] |
---|
4477 | | - str w2, [x1, x0, lsl 2] |
---|
4478 | | - ldr x1, [x19, 3568] |
---|
4479 | | -.L670: |
---|
4480 | | - strh w22, [x1, x0, lsl 1] |
---|
4481 | | - b .L605 |
---|
4482 | | -.L616: |
---|
4483 | | - ldr x4, [x19, 3616] |
---|
4484 | | - sxtw x2, w1 |
---|
4485 | | - lsl x3, x2, 2 |
---|
4486 | | - lsl x2, x2, 1 |
---|
4487 | | - add x7, x4, x3 |
---|
4488 | | - add w1, w1, 1 |
---|
4489 | | - sxth w1, w1 |
---|
4490 | | - ldr w7, [x7, 4] |
---|
4491 | | - str w7, [x4, x3] |
---|
4492 | | - ldr x3, [x19, 3568] |
---|
4493 | | - add x4, x3, x2 |
---|
4494 | | - ldrh w4, [x4, 2] |
---|
4495 | | - strh w4, [x3, x2] |
---|
4496 | | - b .L615 |
---|
4497 | | -.L613: |
---|
| 5483 | +.L658: |
---|
| 5484 | + ldr w4, [x19, 332] |
---|
| 5485 | + ldrh w3, [x19, 3696] |
---|
| 5486 | + and w0, w4, 65535 |
---|
| 5487 | + sub w1, w0, #1 |
---|
| 5488 | + sub w0, w0, w3 |
---|
| 5489 | + ldr x5, [x19, 3608] |
---|
4498 | 5490 | sub w0, w0, #1 |
---|
4499 | | - sxth x0, w0 |
---|
4500 | | - b .L612 |
---|
4501 | | -.L608: |
---|
| 5491 | + sxth w2, w1 |
---|
| 5492 | + sxth x1, w1 |
---|
| 5493 | + sxth w0, w0 |
---|
| 5494 | + add x7, x5, 4 |
---|
| 5495 | +.L659: |
---|
| 5496 | + cmp w0, w2 |
---|
| 5497 | + bge .L664 |
---|
| 5498 | + sub x6, x1, #1 |
---|
| 5499 | + ldr w10, [x21, 4] |
---|
| 5500 | + lsl x8, x1, 2 |
---|
| 5501 | + ldr w9, [x7, x6, lsl 2] |
---|
| 5502 | + cmp w10, w9 |
---|
| 5503 | + bls .L660 |
---|
| 5504 | + ldr w0, [x5] |
---|
| 5505 | + cbnz w0, .L661 |
---|
| 5506 | + cmp w4, w3 |
---|
| 5507 | + beq .L661 |
---|
| 5508 | + add w3, w3, 1 |
---|
| 5509 | + strh w3, [x19, 3696] |
---|
| 5510 | +.L661: |
---|
| 5511 | + mov w0, 0 |
---|
| 5512 | +.L662: |
---|
| 5513 | + ldr x3, [x19, 3608] |
---|
| 5514 | + cmp w0, w2 |
---|
| 5515 | + bne .L663 |
---|
| 5516 | + ldr w0, [x21, 4] |
---|
| 5517 | + str w0, [x3, x8] |
---|
| 5518 | + ldr x0, [x19, 3560] |
---|
| 5519 | + strh w20, [x0, x1, lsl 1] |
---|
| 5520 | +.L664: |
---|
| 5521 | + tbnz w2, #31, .L656 |
---|
| 5522 | + ldrh w1, [x19, 3696] |
---|
| 5523 | + ldr w0, [x19, 332] |
---|
| 5524 | + sub w0, w0, w1 |
---|
| 5525 | + sub w0, w0, #1 |
---|
| 5526 | + cmp w2, w0, sxth |
---|
| 5527 | + bgt .L656 |
---|
| 5528 | + ldr x0, [x19, 3608] |
---|
| 5529 | + add w1, w1, 1 |
---|
| 5530 | + strh w1, [x19, 3696] |
---|
| 5531 | + ldr w1, [x21, 4] |
---|
| 5532 | + str w1, [x0, w2, sxtw 2] |
---|
| 5533 | + ldr x0, [x19, 3560] |
---|
| 5534 | +.L720: |
---|
| 5535 | + strh w20, [x0, w2, sxtw 1] |
---|
| 5536 | + b .L656 |
---|
| 5537 | +.L663: |
---|
| 5538 | + add w4, w0, 1 |
---|
| 5539 | + ldr w5, [x3, w4, sxtw 2] |
---|
| 5540 | + str w5, [x3, w0, sxtw 2] |
---|
| 5541 | + ldr x3, [x19, 3560] |
---|
| 5542 | + ldrh w5, [x3, w4, sxtw 1] |
---|
| 5543 | + strh w5, [x3, w0, sxtw 1] |
---|
| 5544 | + sxth w0, w4 |
---|
| 5545 | + b .L662 |
---|
| 5546 | +.L660: |
---|
| 5547 | + sub w2, w2, #1 |
---|
| 5548 | + mov x1, x6 |
---|
| 5549 | + sxth w2, w2 |
---|
| 5550 | + b .L659 |
---|
| 5551 | +.L654: |
---|
4502 | 5552 | ldrh w1, [x19, 348] |
---|
4503 | 5553 | ldrh w0, [x19, 324] |
---|
4504 | 5554 | cmp w1, w0 |
---|
4505 | | - bls .L621 |
---|
4506 | | - adrp x0, .LC8 |
---|
4507 | | - mov w2, 1273 |
---|
4508 | | - mov x1, x25 |
---|
4509 | | - add x0, x0, :lo12:.LC8 |
---|
4510 | | - bl sftl_printk |
---|
4511 | | -.L621: |
---|
4512 | | - ldrh w3, [x19, 324] |
---|
4513 | | - ldrh w1, [x19, 348] |
---|
4514 | | - sub w2, w3, #1 |
---|
4515 | | - ldr x4, [x19, 3592] |
---|
4516 | | - sxth x0, w2 |
---|
4517 | | - sub w2, w2, w1 |
---|
4518 | | -.L622: |
---|
4519 | | - cmp w0, w2 |
---|
4520 | | - ble .L627 |
---|
4521 | | - sxtw x5, w0 |
---|
4522 | | - ldr w8, [x26, 4] |
---|
4523 | | - lsl x6, x5, 2 |
---|
4524 | | - ldr w7, [x4, x6] |
---|
4525 | | - cmp w8, w7 |
---|
4526 | | - bls .L623 |
---|
4527 | | - ldr w2, [x4] |
---|
4528 | | - cbnz w2, .L624 |
---|
4529 | | - cmp w3, w1 |
---|
4530 | | - beq .L624 |
---|
4531 | | - add w1, w1, 1 |
---|
4532 | | - strh w1, [x19, 348] |
---|
4533 | | -.L624: |
---|
4534 | | - mov w1, 0 |
---|
4535 | | -.L625: |
---|
4536 | | - cmp w1, w0 |
---|
4537 | | - bne .L626 |
---|
4538 | | - ldr x1, [x19, 3592] |
---|
4539 | | - ldr w2, [x26, 4] |
---|
4540 | | - str w2, [x1, x6] |
---|
4541 | | - ldr x1, [x19, 352] |
---|
4542 | | - strh w22, [x1, x5, lsl 1] |
---|
4543 | | -.L627: |
---|
4544 | | - tbnz w0, #31, .L605 |
---|
4545 | | - ldrh w1, [x19, 324] |
---|
4546 | | - ldrh w2, [x19, 348] |
---|
4547 | | - sub w1, w1, #1 |
---|
4548 | | - sub w1, w1, w2 |
---|
4549 | | - cmp w0, w1, sxth |
---|
4550 | | - bgt .L605 |
---|
4551 | | - ldr x1, [x19, 3592] |
---|
4552 | | - add w2, w2, 1 |
---|
4553 | | - strh w2, [x19, 348] |
---|
4554 | | - ldr w2, [x26, 4] |
---|
4555 | | - str w2, [x1, x0, lsl 2] |
---|
4556 | | - ldr x1, [x19, 352] |
---|
4557 | | - b .L670 |
---|
4558 | | -.L626: |
---|
4559 | | - ldr x4, [x19, 3592] |
---|
4560 | | - sxtw x2, w1 |
---|
4561 | | - lsl x3, x2, 2 |
---|
4562 | | - lsl x2, x2, 1 |
---|
4563 | | - add x7, x4, x3 |
---|
4564 | | - add w1, w1, 1 |
---|
4565 | | - sxth w1, w1 |
---|
4566 | | - ldr w7, [x7, 4] |
---|
4567 | | - str w7, [x4, x3] |
---|
4568 | | - ldr x3, [x19, 352] |
---|
4569 | | - add x4, x3, x2 |
---|
4570 | | - ldrh w4, [x4, 2] |
---|
4571 | | - strh w4, [x3, x2] |
---|
4572 | | - b .L625 |
---|
4573 | | -.L623: |
---|
4574 | | - sub w0, w0, #1 |
---|
4575 | | - sxth x0, w0 |
---|
4576 | | - b .L622 |
---|
4577 | | -.L606: |
---|
4578 | | - ldrh w2, [x27] |
---|
4579 | | - mov w1, 65535 |
---|
4580 | | - cmp w2, w1 |
---|
4581 | | - bne .L629 |
---|
4582 | | - strh w22, [x27] |
---|
4583 | | -.L671: |
---|
4584 | | - str w0, [x27, 8] |
---|
4585 | | - b .L605 |
---|
4586 | | -.L629: |
---|
4587 | | - ldrh w0, [x27, 4] |
---|
4588 | | - cmp w0, w1 |
---|
4589 | | - beq .L630 |
---|
4590 | | - mov w1, 1 |
---|
4591 | | - bl FtlFreeSysBlkQueueIn |
---|
4592 | | -.L630: |
---|
4593 | | - ldr w0, [x26, 4] |
---|
4594 | | - ldr w1, [x27, 8] |
---|
4595 | | - cmp w1, w0 |
---|
4596 | | - bcs .L631 |
---|
4597 | | - ldrh w0, [x27] |
---|
4598 | | - strh w0, [x27, 4] |
---|
4599 | | - strh w22, [x27] |
---|
4600 | | - ldr w0, [x26, 4] |
---|
4601 | | - b .L671 |
---|
4602 | | -.L631: |
---|
4603 | | - strh w22, [x27, 4] |
---|
4604 | | - b .L605 |
---|
4605 | | -.L634: |
---|
4606 | | - ldr x1, [x19, 3568] |
---|
4607 | | - ldrh w0, [x1] |
---|
4608 | | - cbz w0, .L636 |
---|
4609 | | -.L639: |
---|
4610 | | - add x0, x21, :lo12:.LANCHOR0 |
---|
4611 | | - ldr x1, [x0, 352] |
---|
4612 | | - ldrh w2, [x1] |
---|
4613 | | - cbz w2, .L637 |
---|
4614 | | -.L638: |
---|
4615 | | - add x21, x21, :lo12:.LANCHOR0 |
---|
4616 | | - ldrh w1, [x21, 3704] |
---|
4617 | | - ldr w0, [x21, 332] |
---|
4618 | | - cmp w1, w0 |
---|
4619 | 5555 | bls .L668 |
---|
4620 | | - adrp x1, .LANCHOR1 |
---|
4621 | | - add x1, x1, :lo12:.LANCHOR1 |
---|
4622 | | - adrp x0, .LC8 |
---|
4623 | | - mov w2, 1398 |
---|
4624 | | - add x1, x1, 288 |
---|
4625 | | - add x0, x0, :lo12:.LC8 |
---|
| 5556 | + mov x1, x24 |
---|
| 5557 | + mov x0, x26 |
---|
| 5558 | + mov w2, 1273 |
---|
4626 | 5559 | bl sftl_printk |
---|
4627 | 5560 | .L668: |
---|
4628 | | - ldp x19, x20, [sp, 16] |
---|
| 5561 | + ldrh w3, [x19, 324] |
---|
| 5562 | + ldrh w0, [x19, 348] |
---|
| 5563 | + sub w1, w3, #1 |
---|
| 5564 | + ldr x4, [x19, 3584] |
---|
| 5565 | + sxth w2, w1 |
---|
| 5566 | + sub w1, w1, w0 |
---|
| 5567 | +.L669: |
---|
| 5568 | + cmp w2, w1 |
---|
| 5569 | + ble .L674 |
---|
| 5570 | + sbfiz x5, x2, 2, 32 |
---|
| 5571 | + ldr w8, [x21, 4] |
---|
| 5572 | + sxtw x6, w2 |
---|
| 5573 | + ldr w7, [x4, x5] |
---|
| 5574 | + cmp w8, w7 |
---|
| 5575 | + bls .L670 |
---|
| 5576 | + ldr w1, [x4] |
---|
| 5577 | + cbnz w1, .L671 |
---|
| 5578 | + cmp w3, w0 |
---|
| 5579 | + beq .L671 |
---|
| 5580 | + add w0, w0, 1 |
---|
| 5581 | + strh w0, [x19, 348] |
---|
| 5582 | +.L671: |
---|
4629 | 5583 | mov w0, 0 |
---|
| 5584 | +.L672: |
---|
| 5585 | + ldr x1, [x19, 3584] |
---|
| 5586 | + cmp w0, w2 |
---|
| 5587 | + bne .L673 |
---|
| 5588 | + ldr w0, [x21, 4] |
---|
| 5589 | + str w0, [x1, x5] |
---|
| 5590 | + ldr x0, [x19, 352] |
---|
| 5591 | + strh w20, [x0, x6, lsl 1] |
---|
| 5592 | +.L674: |
---|
| 5593 | + tbnz w2, #31, .L656 |
---|
| 5594 | + ldrh w0, [x19, 324] |
---|
| 5595 | + ldrh w1, [x19, 348] |
---|
| 5596 | + sub w0, w0, #1 |
---|
| 5597 | + sub w0, w0, w1 |
---|
| 5598 | + cmp w2, w0, sxth |
---|
| 5599 | + bgt .L656 |
---|
| 5600 | + ldr x0, [x19, 3584] |
---|
| 5601 | + add w1, w1, 1 |
---|
| 5602 | + strh w1, [x19, 348] |
---|
| 5603 | + ldr w1, [x21, 4] |
---|
| 5604 | + str w1, [x0, w2, sxtw 2] |
---|
| 5605 | + ldr x0, [x19, 352] |
---|
| 5606 | + b .L720 |
---|
| 5607 | +.L673: |
---|
| 5608 | + add w3, w0, 1 |
---|
| 5609 | + ldr w4, [x1, w3, sxtw 2] |
---|
| 5610 | + str w4, [x1, w0, sxtw 2] |
---|
| 5611 | + ldr x1, [x19, 352] |
---|
| 5612 | + ldrh w4, [x1, w3, sxtw 1] |
---|
| 5613 | + strh w4, [x1, w0, sxtw 1] |
---|
| 5614 | + sxth w0, w3 |
---|
| 5615 | + b .L672 |
---|
| 5616 | +.L670: |
---|
| 5617 | + sub w2, w2, #1 |
---|
| 5618 | + sxth w2, w2 |
---|
| 5619 | + b .L669 |
---|
| 5620 | +.L655: |
---|
| 5621 | + ldrh w3, [x19, 2696] |
---|
| 5622 | + add x1, x19, 2560 |
---|
| 5623 | + mov w2, 65535 |
---|
| 5624 | + cmp w3, w2 |
---|
| 5625 | + bne .L676 |
---|
| 5626 | + strh w20, [x1, 136] |
---|
| 5627 | + str w0, [x1, 144] |
---|
| 5628 | + b .L656 |
---|
| 5629 | +.L676: |
---|
| 5630 | + ldrh w0, [x1, 140] |
---|
| 5631 | + cmp w0, w2 |
---|
| 5632 | + beq .L677 |
---|
| 5633 | + mov w1, 1 |
---|
| 5634 | + bl FtlFreeSysBlkQueueIn |
---|
| 5635 | +.L677: |
---|
| 5636 | + ldr w1, [x21, 4] |
---|
| 5637 | + add x0, x19, 2560 |
---|
| 5638 | + ldr w2, [x0, 144] |
---|
| 5639 | + cmp w2, w1 |
---|
| 5640 | + bcs .L678 |
---|
| 5641 | + ldrh w1, [x0, 136] |
---|
| 5642 | + strh w1, [x0, 140] |
---|
| 5643 | + strh w20, [x0, 136] |
---|
| 5644 | + ldr w1, [x21, 4] |
---|
| 5645 | + str w1, [x0, 144] |
---|
| 5646 | + b .L656 |
---|
| 5647 | +.L678: |
---|
| 5648 | + strh w20, [x0, 140] |
---|
| 5649 | + b .L656 |
---|
| 5650 | +.L681: |
---|
| 5651 | + ldr x2, [x19, 3560] |
---|
| 5652 | + ldrh w0, [x2] |
---|
| 5653 | + cbz w0, .L683 |
---|
| 5654 | +.L686: |
---|
| 5655 | + ldr x1, [x19, 352] |
---|
| 5656 | + ldrh w0, [x1] |
---|
| 5657 | + cbz w0, .L684 |
---|
| 5658 | +.L685: |
---|
| 5659 | + ldrh w1, [x19, 3696] |
---|
| 5660 | + ldr w0, [x19, 332] |
---|
| 5661 | + cmp w1, w0 |
---|
| 5662 | + bls .L716 |
---|
| 5663 | + adrp x1, .LANCHOR1 |
---|
| 5664 | + add x1, x1, :lo12:.LANCHOR1 |
---|
| 5665 | + adrp x0, .LC9 |
---|
| 5666 | + add x1, x1, 231 |
---|
| 5667 | + add x0, x0, :lo12:.LC9 |
---|
| 5668 | + mov w2, 1398 |
---|
| 5669 | + bl sftl_printk |
---|
| 5670 | +.L716: |
---|
| 5671 | + mov w0, 0 |
---|
| 5672 | + ldp x19, x20, [sp, 16] |
---|
4630 | 5673 | ldp x21, x22, [sp, 32] |
---|
4631 | 5674 | ldp x23, x24, [sp, 48] |
---|
4632 | 5675 | ldp x25, x26, [sp, 64] |
---|
4633 | 5676 | ldp x27, x28, [sp, 80] |
---|
4634 | | - ldp x29, x30, [sp], 112 |
---|
| 5677 | + ldp x29, x30, [sp], 96 |
---|
| 5678 | + hint 29 // autiasp |
---|
4635 | 5679 | ret |
---|
4636 | | -.L636: |
---|
4637 | | - ldrh w0, [x19, 3704] |
---|
4638 | | - cbz w0, .L639 |
---|
4639 | | - ldr w2, [x19, 332] |
---|
| 5680 | +.L683: |
---|
| 5681 | + ldrh w0, [x19, 3696] |
---|
| 5682 | + cbz w0, .L686 |
---|
| 5683 | + ldr w3, [x19, 332] |
---|
4640 | 5684 | mov w0, 0 |
---|
4641 | | -.L640: |
---|
4642 | | - cmp w0, w2 |
---|
4643 | | - bcs .L639 |
---|
4644 | | - ldrh w3, [x1, w0, sxtw 1] |
---|
4645 | | - cbz w3, .L641 |
---|
4646 | | - mov w1, w0 |
---|
4647 | | - add x2, x21, :lo12:.LANCHOR0 |
---|
4648 | | -.L642: |
---|
4649 | | - ldr w3, [x2, 332] |
---|
4650 | | - cmp w1, w3 |
---|
4651 | | - bcs .L639 |
---|
4652 | | - ldr x5, [x2, 3568] |
---|
4653 | | - sxtw x6, w1 |
---|
4654 | | - lsl x4, x6, 1 |
---|
4655 | | - sub w3, w1, w0 |
---|
4656 | | - sxtw x3, w3 |
---|
4657 | | - add w1, w1, 1 |
---|
| 5685 | +.L687: |
---|
| 5686 | + cmp w0, w3 |
---|
| 5687 | + bcs .L686 |
---|
| 5688 | + ldrh w4, [x2, w0, sxtw 1] |
---|
| 5689 | + add w1, w0, 1 |
---|
4658 | 5690 | sxth w1, w1 |
---|
4659 | | - ldrh w7, [x5, x4] |
---|
4660 | | - strh w7, [x5, x3, lsl 1] |
---|
4661 | | - ldr x5, [x2, 3616] |
---|
4662 | | - ldr w6, [x5, x6, lsl 2] |
---|
4663 | | - str w6, [x5, x3, lsl 2] |
---|
4664 | | - ldr x3, [x2, 3568] |
---|
4665 | | - strh wzr, [x3, x4] |
---|
4666 | | - b .L642 |
---|
4667 | | -.L641: |
---|
4668 | | - add w0, w0, 1 |
---|
4669 | | - sxth w0, w0 |
---|
4670 | | - b .L640 |
---|
4671 | | -.L637: |
---|
4672 | | - ldrh w2, [x0, 348] |
---|
4673 | | - cbz w2, .L638 |
---|
4674 | | - ldrh w2, [x0, 324] |
---|
| 5691 | + cbz w4, .L699 |
---|
| 5692 | + mov w1, w0 |
---|
| 5693 | +.L688: |
---|
| 5694 | + ldr x2, [x19, 3560] |
---|
| 5695 | + sub w3, w1, w0 |
---|
| 5696 | + ldrh w4, [x2, w1, sxtw 1] |
---|
| 5697 | + strh w4, [x2, w3, sxtw 1] |
---|
| 5698 | + ldr x2, [x19, 3608] |
---|
| 5699 | + ldr w4, [x2, w1, sxtw 2] |
---|
| 5700 | + str w4, [x2, w3, sxtw 2] |
---|
| 5701 | + ldr x2, [x19, 3560] |
---|
| 5702 | + strh wzr, [x2, w1, sxtw 1] |
---|
| 5703 | + add w2, w1, 1 |
---|
| 5704 | + ldr w3, [x19, 332] |
---|
| 5705 | + sxth w1, w2 |
---|
| 5706 | + cmp w3, w2, sxth |
---|
| 5707 | + bhi .L688 |
---|
| 5708 | + b .L686 |
---|
| 5709 | +.L699: |
---|
| 5710 | + mov w0, w1 |
---|
| 5711 | + b .L687 |
---|
| 5712 | +.L684: |
---|
| 5713 | + ldrh w0, [x19, 348] |
---|
| 5714 | + cbz w0, .L685 |
---|
| 5715 | + ldrh w2, [x19, 324] |
---|
4675 | 5716 | mov w0, 0 |
---|
4676 | | -.L647: |
---|
4677 | | - mov w6, w0 |
---|
| 5717 | +.L692: |
---|
| 5718 | + mov w3, w0 |
---|
4678 | 5719 | cmp w0, w2 |
---|
4679 | | - bge .L638 |
---|
4680 | | - ldrh w3, [x1, w0, sxtw 1] |
---|
4681 | | - cbz w3, .L648 |
---|
4682 | | - add x1, x21, :lo12:.LANCHOR0 |
---|
4683 | | -.L649: |
---|
4684 | | - ldrh w2, [x1, 324] |
---|
4685 | | - cmp w0, w2 |
---|
4686 | | - bge .L638 |
---|
4687 | | - ldr x4, [x1, 352] |
---|
4688 | | - sxtw x5, w0 |
---|
4689 | | - lsl x3, x5, 1 |
---|
4690 | | - sub w2, w0, w6 |
---|
4691 | | - sxtw x2, w2 |
---|
| 5720 | + bge .L685 |
---|
| 5721 | + ldrh w4, [x1, w0, sxtw 1] |
---|
| 5722 | + cbz w4, .L717 |
---|
| 5723 | +.L693: |
---|
| 5724 | + ldrh w1, [x19, 324] |
---|
| 5725 | + cmp w0, w1 |
---|
| 5726 | + bge .L685 |
---|
| 5727 | + ldr x1, [x19, 352] |
---|
| 5728 | + sub w2, w0, w3 |
---|
| 5729 | + ldrh w4, [x1, w0, sxtw 1] |
---|
| 5730 | + strh w4, [x1, w2, sxtw 1] |
---|
| 5731 | + ldr x1, [x19, 3584] |
---|
| 5732 | + ldr w4, [x1, w0, sxtw 2] |
---|
| 5733 | + str w4, [x1, w2, sxtw 2] |
---|
| 5734 | + ldr x1, [x19, 352] |
---|
| 5735 | + strh wzr, [x1, w0, sxtw 1] |
---|
4692 | 5736 | add w0, w0, 1 |
---|
4693 | 5737 | sxth w0, w0 |
---|
4694 | | - ldrh w7, [x4, x3] |
---|
4695 | | - strh w7, [x4, x2, lsl 1] |
---|
4696 | | - ldr x4, [x1, 3592] |
---|
4697 | | - ldr w5, [x4, x5, lsl 2] |
---|
4698 | | - str w5, [x4, x2, lsl 2] |
---|
4699 | | - ldr x2, [x1, 352] |
---|
4700 | | - strh wzr, [x2, x3] |
---|
4701 | | - b .L649 |
---|
4702 | | -.L648: |
---|
| 5738 | + b .L693 |
---|
| 5739 | +.L717: |
---|
4703 | 5740 | add w0, w0, 1 |
---|
4704 | 5741 | sxth w0, w0 |
---|
4705 | | - b .L647 |
---|
| 5742 | + b .L692 |
---|
4706 | 5743 | .size FtlScanSysBlk, .-FtlScanSysBlk |
---|
4707 | 5744 | .align 2 |
---|
4708 | 5745 | .global FtlLoadBbt |
---|
4709 | 5746 | .type FtlLoadBbt, %function |
---|
4710 | 5747 | FtlLoadBbt: |
---|
4711 | | - stp x29, x30, [sp, -64]! |
---|
4712 | | - add x29, sp, 0 |
---|
| 5748 | + hint 34 // bti c |
---|
| 5749 | + .section __patchable_function_entries |
---|
| 5750 | + .align 3 |
---|
| 5751 | + .8byte .LPFE75 |
---|
| 5752 | + .text |
---|
| 5753 | +.LPFE75: |
---|
| 5754 | + nop |
---|
| 5755 | + nop |
---|
| 5756 | + hint 25 // paciasp |
---|
| 5757 | + stp x29, x30, [sp, -80]! |
---|
| 5758 | + mov x29, sp |
---|
4713 | 5759 | stp x19, x20, [sp, 16] |
---|
4714 | 5760 | adrp x19, .LANCHOR0 |
---|
4715 | | - stp x23, x24, [sp, 48] |
---|
4716 | | - add x23, x19, :lo12:.LANCHOR0 |
---|
| 5761 | + add x19, x19, :lo12:.LANCHOR0 |
---|
4717 | 5762 | stp x21, x22, [sp, 32] |
---|
4718 | | - add x21, x23, 3720 |
---|
4719 | | - mov w24, 61649 |
---|
4720 | | - ldr x0, [x23, 3456] |
---|
4721 | | - ldr x22, [x23, 3520] |
---|
4722 | | - stp x0, x22, [x21, 8] |
---|
| 5763 | + add x22, x19, 3712 |
---|
| 5764 | + ldr x0, [x19, 3448] |
---|
| 5765 | + stp x23, x24, [sp, 48] |
---|
| 5766 | + mov w23, 61649 |
---|
| 5767 | + str x25, [sp, 64] |
---|
| 5768 | + ldr x21, [x19, 3512] |
---|
| 5769 | + stp x0, x21, [x22, 8] |
---|
4723 | 5770 | bl FtlBbtMemInit |
---|
4724 | | - ldrh w20, [x23, 302] |
---|
| 5771 | + ldrh w20, [x19, 302] |
---|
4725 | 5772 | sub w20, w20, #1 |
---|
4726 | 5773 | and w20, w20, 65535 |
---|
4727 | | -.L674: |
---|
4728 | | - ldrh w0, [x23, 302] |
---|
| 5774 | +.L723: |
---|
| 5775 | + ldrh w0, [x19, 302] |
---|
4729 | 5776 | sub w0, w0, #16 |
---|
4730 | 5777 | cmp w20, w0 |
---|
4731 | | - ble .L677 |
---|
| 5778 | + ble .L728 |
---|
4732 | 5779 | lsl w0, w20, 10 |
---|
4733 | 5780 | mov w2, 1 |
---|
4734 | | - str w0, [x21, 4] |
---|
4735 | 5781 | mov w1, w2 |
---|
4736 | | - mov x0, x21 |
---|
| 5782 | + str w0, [x22, 4] |
---|
| 5783 | + mov x0, x22 |
---|
4737 | 5784 | bl FlashReadPages |
---|
4738 | | - ldr w0, [x21] |
---|
| 5785 | + ldr w0, [x22] |
---|
4739 | 5786 | cmn w0, #1 |
---|
4740 | | - bne .L675 |
---|
4741 | | - ldr w0, [x21, 4] |
---|
4742 | | - mov w2, 1 |
---|
4743 | | - mov w1, w2 |
---|
4744 | | - add w0, w0, 1 |
---|
4745 | | - str w0, [x21, 4] |
---|
4746 | | - mov x0, x21 |
---|
4747 | | - bl FlashReadPages |
---|
4748 | | -.L675: |
---|
4749 | | - ldr w0, [x21] |
---|
4750 | | - cmn w0, #1 |
---|
4751 | | - beq .L676 |
---|
4752 | | - ldrh w0, [x22] |
---|
4753 | | - cmp w0, w24 |
---|
4754 | | - bne .L676 |
---|
4755 | | - ldr w1, [x22, 4] |
---|
4756 | | - str w1, [x23, 368] |
---|
4757 | | - strh w20, [x23, 360] |
---|
4758 | | - ldrh w1, [x22, 8] |
---|
4759 | | - strh w1, [x23, 364] |
---|
4760 | | -.L677: |
---|
4761 | | - add x21, x19, :lo12:.LANCHOR0 |
---|
| 5787 | + beq .L724 |
---|
| 5788 | +.L727: |
---|
| 5789 | + ldrh w0, [x21] |
---|
| 5790 | + cmp w0, w23 |
---|
| 5791 | + bne .L726 |
---|
| 5792 | + ldr w1, [x21, 4] |
---|
| 5793 | + str w1, [x19, 368] |
---|
| 5794 | + strh w20, [x19, 360] |
---|
| 5795 | + ldrh w1, [x21, 8] |
---|
| 5796 | + strh w1, [x19, 364] |
---|
| 5797 | +.L728: |
---|
| 5798 | + ldrh w1, [x19, 360] |
---|
4762 | 5799 | mov w0, 65535 |
---|
4763 | | - ldrh w1, [x21, 360] |
---|
4764 | 5800 | cmp w1, w0 |
---|
4765 | | - beq .L691 |
---|
4766 | | - ldrh w1, [x21, 364] |
---|
| 5801 | + beq .L742 |
---|
| 5802 | + ldrh w1, [x19, 364] |
---|
4767 | 5803 | cmp w1, w0 |
---|
4768 | | - beq .L681 |
---|
4769 | | - add x0, x21, 3720 |
---|
| 5804 | + beq .L732 |
---|
| 5805 | + add x0, x19, 3712 |
---|
4770 | 5806 | lsl w1, w1, 10 |
---|
4771 | 5807 | mov w2, 1 |
---|
4772 | 5808 | str w1, [x0, 4] |
---|
4773 | 5809 | mov w1, w2 |
---|
4774 | 5810 | bl FlashReadPages |
---|
4775 | | - ldr w0, [x21, 3720] |
---|
| 5811 | + ldr w0, [x19, 3712] |
---|
4776 | 5812 | cmn w0, #1 |
---|
4777 | | - beq .L681 |
---|
4778 | | - ldrh w1, [x22] |
---|
| 5813 | + beq .L732 |
---|
| 5814 | + ldrh w1, [x21] |
---|
4779 | 5815 | mov w0, 61649 |
---|
4780 | 5816 | cmp w1, w0 |
---|
4781 | | - bne .L681 |
---|
4782 | | - ldr w1, [x21, 368] |
---|
4783 | | - ldr w0, [x22, 4] |
---|
| 5817 | + bne .L732 |
---|
| 5818 | + ldr w1, [x19, 368] |
---|
| 5819 | + ldr w0, [x21, 4] |
---|
4784 | 5820 | cmp w0, w1 |
---|
4785 | | - bls .L681 |
---|
4786 | | - str w0, [x21, 368] |
---|
4787 | | - ldrh w1, [x21, 364] |
---|
4788 | | - ldrh w0, [x22, 8] |
---|
4789 | | - strh w1, [x21, 360] |
---|
4790 | | - strh w0, [x21, 364] |
---|
4791 | | -.L681: |
---|
4792 | | - add x20, x19, :lo12:.LANCHOR0 |
---|
| 5821 | + bls .L732 |
---|
| 5822 | + str w0, [x19, 368] |
---|
| 5823 | + ldrh w1, [x19, 364] |
---|
| 5824 | + ldrh w0, [x21, 8] |
---|
| 5825 | + strh w1, [x19, 360] |
---|
| 5826 | + strh w0, [x19, 364] |
---|
| 5827 | +.L732: |
---|
| 5828 | + ldrh w0, [x19, 360] |
---|
4793 | 5829 | mov w1, 1 |
---|
4794 | | - add x23, x20, 3720 |
---|
4795 | | - mov w24, 61649 |
---|
4796 | | - ldrh w0, [x20, 360] |
---|
| 5830 | + add x23, x19, 3712 |
---|
| 5831 | + mov w20, 0 |
---|
| 5832 | + mov w25, 61649 |
---|
4797 | 5833 | bl FtlGetLastWrittenPage |
---|
4798 | | - sxth w21, w0 |
---|
4799 | | - add w0, w0, 1 |
---|
4800 | | - strh w0, [x20, 362] |
---|
4801 | | -.L683: |
---|
4802 | | - tbz w21, #31, .L686 |
---|
| 5834 | + sxth w24, w0 |
---|
| 5835 | + mov w22, w0 |
---|
| 5836 | + add w0, w24, 1 |
---|
| 5837 | + strh w0, [x19, 362] |
---|
| 5838 | +.L734: |
---|
| 5839 | + sub w0, w22, w20 |
---|
| 5840 | + tbz x0, 15, .L737 |
---|
4803 | 5841 | adrp x1, .LANCHOR1 |
---|
4804 | 5842 | add x1, x1, :lo12:.LANCHOR1 |
---|
4805 | | - adrp x0, .LC8 |
---|
| 5843 | + adrp x0, .LC9 |
---|
| 5844 | + add x1, x1, 245 |
---|
| 5845 | + add x0, x0, :lo12:.LC9 |
---|
4806 | 5846 | mov w2, 251 |
---|
4807 | | - add x1, x1, 304 |
---|
4808 | | - add x0, x0, :lo12:.LC8 |
---|
4809 | 5847 | bl sftl_printk |
---|
4810 | | -.L685: |
---|
4811 | | - add x1, x19, :lo12:.LANCHOR0 |
---|
4812 | | - ldrh w0, [x22, 10] |
---|
4813 | | - mov w2, 65535 |
---|
4814 | | - strh w0, [x1, 366] |
---|
4815 | | - ldrh w0, [x22, 12] |
---|
| 5848 | +.L736: |
---|
| 5849 | + ldrh w0, [x21, 10] |
---|
| 5850 | + mov w1, 65535 |
---|
| 5851 | + strh w0, [x19, 366] |
---|
| 5852 | + ldrh w0, [x21, 12] |
---|
| 5853 | + cmp w0, w1 |
---|
| 5854 | + beq .L739 |
---|
| 5855 | + ldr w2, [x19, 232] |
---|
4816 | 5856 | cmp w0, w2 |
---|
4817 | | - beq .L688 |
---|
4818 | | - ldr w2, [x1, 232] |
---|
4819 | | - cmp w0, w2 |
---|
4820 | | - beq .L688 |
---|
4821 | | - ldrh w1, [x1, 246] |
---|
| 5857 | + beq .L739 |
---|
| 5858 | + ldrh w1, [x19, 246] |
---|
4822 | 5859 | lsr w1, w1, 2 |
---|
4823 | 5860 | cmp w2, w1 |
---|
4824 | | - bcs .L688 |
---|
| 5861 | + bcs .L739 |
---|
4825 | 5862 | cmp w0, w1 |
---|
4826 | | - bcs .L688 |
---|
| 5863 | + bcs .L739 |
---|
4827 | 5864 | bl FtlSysBlkNumInit |
---|
4828 | | -.L688: |
---|
4829 | | - add x19, x19, :lo12:.LANCHOR0 |
---|
4830 | | - mov w20, 0 |
---|
4831 | | - add x21, x19, 392 |
---|
4832 | | -.L689: |
---|
| 5865 | +.L739: |
---|
| 5866 | + add x21, x19, 360 |
---|
| 5867 | + mov x20, 0 |
---|
| 5868 | +.L740: |
---|
4833 | 5869 | ldrh w0, [x19, 258] |
---|
4834 | | - cmp w20, w0 |
---|
4835 | | - bcc .L690 |
---|
| 5870 | + cmp w0, w20 |
---|
| 5871 | + bhi .L741 |
---|
4836 | 5872 | mov w0, 0 |
---|
4837 | | -.L673: |
---|
| 5873 | +.L722: |
---|
4838 | 5874 | ldp x19, x20, [sp, 16] |
---|
4839 | 5875 | ldp x21, x22, [sp, 32] |
---|
4840 | 5876 | ldp x23, x24, [sp, 48] |
---|
4841 | | - ldp x29, x30, [sp], 64 |
---|
| 5877 | + ldr x25, [sp, 64] |
---|
| 5878 | + ldp x29, x30, [sp], 80 |
---|
| 5879 | + hint 29 // autiasp |
---|
4842 | 5880 | ret |
---|
4843 | | -.L676: |
---|
4844 | | - sub w20, w20, #1 |
---|
4845 | | - and w20, w20, 65535 |
---|
4846 | | - b .L674 |
---|
4847 | | -.L686: |
---|
4848 | | - ldrh w0, [x20, 360] |
---|
| 5881 | +.L724: |
---|
| 5882 | + ldr w0, [x22, 4] |
---|
4849 | 5883 | mov w2, 1 |
---|
4850 | 5884 | mov w1, w2 |
---|
4851 | | - orr w0, w21, w0, lsl 10 |
---|
| 5885 | + add w0, w0, 1 |
---|
| 5886 | + str w0, [x22, 4] |
---|
| 5887 | + mov x0, x22 |
---|
| 5888 | + bl FlashReadPages |
---|
| 5889 | + ldr w0, [x22] |
---|
| 5890 | + cmn w0, #1 |
---|
| 5891 | + bne .L727 |
---|
| 5892 | +.L726: |
---|
| 5893 | + sub w20, w20, #1 |
---|
| 5894 | + and w20, w20, 65535 |
---|
| 5895 | + b .L723 |
---|
| 5896 | +.L737: |
---|
| 5897 | + ldrh w0, [x19, 360] |
---|
| 5898 | + sub w1, w24, w20 |
---|
| 5899 | + mov w2, 1 |
---|
| 5900 | + orr w0, w1, w0, lsl 10 |
---|
4852 | 5901 | str w0, [x23, 4] |
---|
4853 | | - ldr x0, [x20, 3456] |
---|
| 5902 | + ldr x0, [x19, 3448] |
---|
| 5903 | + mov w1, w2 |
---|
4854 | 5904 | str x0, [x23, 8] |
---|
4855 | 5905 | mov x0, x23 |
---|
4856 | 5906 | bl FlashReadPages |
---|
4857 | 5907 | ldr w0, [x23] |
---|
4858 | 5908 | cmn w0, #1 |
---|
4859 | | - beq .L684 |
---|
4860 | | - ldrh w0, [x22] |
---|
4861 | | - cmp w0, w24 |
---|
4862 | | - beq .L685 |
---|
4863 | | -.L684: |
---|
4864 | | - sub w21, w21, #1 |
---|
4865 | | - sxth w21, w21 |
---|
4866 | | - b .L683 |
---|
4867 | | -.L690: |
---|
4868 | | - ldrh w2, [x19, 3632] |
---|
4869 | | - ldr x0, [x19, 3728] |
---|
4870 | | - mul w1, w2, w20 |
---|
4871 | | - lsl w2, w2, 2 |
---|
| 5909 | + beq .L735 |
---|
| 5910 | + ldrh w0, [x21] |
---|
| 5911 | + cmp w0, w25 |
---|
| 5912 | + beq .L736 |
---|
| 5913 | +.L735: |
---|
4872 | 5914 | add w20, w20, 1 |
---|
4873 | | - add x1, x0, x1, lsl 2 |
---|
4874 | | - ldr x0, [x21], 8 |
---|
| 5915 | + b .L734 |
---|
| 5916 | +.L741: |
---|
| 5917 | + ldrh w2, [x19, 3624] |
---|
| 5918 | + add x0, x21, x20, lsl 3 |
---|
| 5919 | + ldr x1, [x19, 3720] |
---|
| 5920 | + ldr x0, [x0, 32] |
---|
| 5921 | + mul w3, w2, w20 |
---|
| 5922 | + lsl w2, w2, 2 |
---|
| 5923 | + add x20, x20, 1 |
---|
| 5924 | + add x1, x1, x3, lsl 2 |
---|
4875 | 5925 | bl ftl_memcpy |
---|
4876 | | - b .L689 |
---|
4877 | | -.L691: |
---|
| 5926 | + b .L740 |
---|
| 5927 | +.L742: |
---|
4878 | 5928 | mov w0, -1 |
---|
4879 | | - b .L673 |
---|
| 5929 | + b .L722 |
---|
4880 | 5930 | .size FtlLoadBbt, .-FtlLoadBbt |
---|
| 5931 | + .section .rodata.str1.1 |
---|
| 5932 | +.LC96: |
---|
| 5933 | + .string "prog read error: = %x\n" |
---|
| 5934 | +.LC97: |
---|
| 5935 | + .string "prog read REFRESH: = %x\n" |
---|
| 5936 | +.LC98: |
---|
| 5937 | + .string "prog read s error: = %x %x %x %x %x\n" |
---|
| 5938 | +.LC99: |
---|
| 5939 | + .string "prog read d error: = %x %x %x %x %x\n" |
---|
| 5940 | + .text |
---|
4881 | 5941 | .align 2 |
---|
4882 | 5942 | .global FlashProgPages |
---|
4883 | 5943 | .type FlashProgPages, %function |
---|
4884 | 5944 | FlashProgPages: |
---|
| 5945 | + hint 34 // bti c |
---|
| 5946 | + .section __patchable_function_entries |
---|
| 5947 | + .align 3 |
---|
| 5948 | + .8byte .LPFE76 |
---|
| 5949 | + .text |
---|
| 5950 | +.LPFE76: |
---|
| 5951 | + nop |
---|
| 5952 | + nop |
---|
| 5953 | + hint 25 // paciasp |
---|
4885 | 5954 | stp x29, x30, [sp, -160]! |
---|
4886 | | - ubfiz x1, x1, 5, 32 |
---|
4887 | | - add x29, sp, 0 |
---|
| 5955 | + mov x29, sp |
---|
4888 | 5956 | stp x19, x20, [sp, 16] |
---|
4889 | | - mov x19, x0 |
---|
| 5957 | + adrp x20, .LANCHOR0 |
---|
| 5958 | + add x20, x20, :lo12:.LANCHOR0 |
---|
4890 | 5959 | stp x21, x22, [sp, 32] |
---|
4891 | | - adrp x22, __stack_chk_guard |
---|
| 5960 | + mov x19, x0 |
---|
| 5961 | + mov w0, 32 |
---|
4892 | 5962 | stp x23, x24, [sp, 48] |
---|
4893 | | - adrp x21, .LANCHOR0 |
---|
| 5963 | + adrp x23, .LANCHOR1 |
---|
| 5964 | + umaddl x22, w1, w0, x19 |
---|
4894 | 5965 | stp x25, x26, [sp, 64] |
---|
4895 | | - adrp x24, .LANCHOR1 |
---|
| 5966 | + add x23, x23, :lo12:.LANCHOR1 |
---|
| 5967 | + mov w25, w2 |
---|
4896 | 5968 | stp x27, x28, [sp, 80] |
---|
4897 | | - add x24, x24, :lo12:.LANCHOR1 |
---|
4898 | | - str w2, [x29, 108] |
---|
4899 | | - add x2, x22, :lo12:__stack_chk_guard |
---|
4900 | | - ldr x3, [x2] |
---|
4901 | | - str x3, [x29, 152] |
---|
4902 | | - mov x3,0 |
---|
4903 | | - add x2, x21, :lo12:.LANCHOR0 |
---|
4904 | | - adrp x25, .LC8 |
---|
4905 | | - add x23, x0, x1 |
---|
4906 | | - mov x20, x0 |
---|
4907 | | - add x24, x24, 320 |
---|
4908 | | - ldrh w26, [x2, 12] |
---|
4909 | | - add x25, x25, :lo12:.LC8 |
---|
4910 | | - lsl w28, w26, 3 |
---|
4911 | | -.L704: |
---|
4912 | | - cmp x20, x23 |
---|
4913 | | - bne .L718 |
---|
4914 | | - adrp x20, .LC95 |
---|
4915 | | - adrp x24, .LC96 |
---|
4916 | | - add x20, x20, :lo12:.LC95 |
---|
4917 | | - add x24, x24, :lo12:.LC96 |
---|
4918 | | -.L719: |
---|
4919 | | - cmp x19, x23 |
---|
4920 | | - beq .L712 |
---|
4921 | | - add x0, x21, :lo12:.LANCHOR0 |
---|
4922 | | - ldr w2, [x29, 108] |
---|
4923 | | - ldr x1, [x0, 3496] |
---|
4924 | | - str wzr, [x1] |
---|
4925 | | - ldr x1, [x0, 3512] |
---|
4926 | | - str wzr, [x1] |
---|
4927 | | - ldr w1, [x19, 4] |
---|
4928 | | - str w1, [x29, 124] |
---|
4929 | | - ldr x1, [x0, 3496] |
---|
4930 | | - ldr x0, [x0, 3512] |
---|
4931 | | - stp x1, x0, [x29, 128] |
---|
| 5969 | + mrs x2, sp_el0 |
---|
| 5970 | + adrp x26, .LC9 |
---|
| 5971 | + ldrh w27, [x20, 12] |
---|
| 5972 | + ldr x3, [x2, 1376] |
---|
| 5973 | + str x3, [sp, 152] |
---|
| 5974 | + mov x3, 0 |
---|
| 5975 | + mov x21, x19 |
---|
| 5976 | + add x23, x23, 256 |
---|
| 5977 | + add x26, x26, :lo12:.LC9 |
---|
| 5978 | + lsl w28, w27, 3 |
---|
| 5979 | +.L755: |
---|
| 5980 | + cmp x21, x22 |
---|
| 5981 | + bne .L769 |
---|
| 5982 | + adrp x21, .LC96 |
---|
| 5983 | + adrp x23, .LC97 |
---|
| 5984 | + add x21, x21, :lo12:.LC96 |
---|
| 5985 | + add x23, x23, :lo12:.LC97 |
---|
| 5986 | +.L770: |
---|
| 5987 | + cmp x19, x22 |
---|
| 5988 | + beq .L763 |
---|
| 5989 | + ldr x0, [x20, 3488] |
---|
| 5990 | + mov w2, w25 |
---|
4932 | 5991 | mov w1, 1 |
---|
4933 | | - add x0, x29, 120 |
---|
| 5992 | + str wzr, [x0] |
---|
| 5993 | + ldr x0, [x20, 3504] |
---|
| 5994 | + str wzr, [x0] |
---|
| 5995 | + ldr w0, [x19, 4] |
---|
| 5996 | + str w0, [sp, 124] |
---|
| 5997 | + ldr x0, [x20, 3488] |
---|
| 5998 | + str x0, [sp, 128] |
---|
| 5999 | + ldr x0, [x20, 3504] |
---|
| 6000 | + str x0, [sp, 136] |
---|
| 6001 | + add x0, sp, 120 |
---|
4934 | 6002 | bl FlashReadPages |
---|
4935 | | - ldr w25, [x29, 120] |
---|
4936 | | - cmn w25, #1 |
---|
4937 | | - bne .L720 |
---|
| 6003 | + ldr w24, [sp, 120] |
---|
| 6004 | + cmn w24, #1 |
---|
| 6005 | + bne .L771 |
---|
4938 | 6006 | ldr w1, [x19, 4] |
---|
4939 | | - mov x0, x20 |
---|
| 6007 | + mov x0, x21 |
---|
4940 | 6008 | bl sftl_printk |
---|
4941 | | - str w25, [x19] |
---|
4942 | | -.L720: |
---|
4943 | | - ldr w25, [x29, 120] |
---|
4944 | | - cmp w25, 256 |
---|
4945 | | - bne .L721 |
---|
| 6009 | + str w24, [x19] |
---|
| 6010 | +.L771: |
---|
| 6011 | + ldr w24, [sp, 120] |
---|
| 6012 | + cmp w24, 256 |
---|
| 6013 | + bne .L772 |
---|
4946 | 6014 | ldr w1, [x19, 4] |
---|
4947 | | - mov x0, x24 |
---|
| 6015 | + mov x0, x23 |
---|
4948 | 6016 | bl sftl_printk |
---|
4949 | | - str w25, [x19] |
---|
4950 | | -.L721: |
---|
4951 | | - ldr x0, [x19, 16] |
---|
4952 | | - cbz x0, .L722 |
---|
4953 | | - add x1, x21, :lo12:.LANCHOR0 |
---|
4954 | | - ldr w2, [x0] |
---|
4955 | | - ldr x1, [x1, 3512] |
---|
4956 | | - ldr w4, [x1] |
---|
| 6017 | + str w24, [x19] |
---|
| 6018 | +.L772: |
---|
| 6019 | + ldr x1, [x19, 16] |
---|
| 6020 | + cbz x1, .L773 |
---|
| 6021 | + ldr x0, [x20, 3504] |
---|
| 6022 | + ldr w2, [x1] |
---|
| 6023 | + ldr w4, [x0] |
---|
4957 | 6024 | cmp w2, w4 |
---|
4958 | | - bne .L723 |
---|
4959 | | - ldr w5, [x0, 8] |
---|
4960 | | - ldr w3, [x1, 8] |
---|
| 6025 | + bne .L774 |
---|
| 6026 | + ldr w3, [x0, 8] |
---|
| 6027 | + ldr w5, [x1, 8] |
---|
4961 | 6028 | cmp w5, w3 |
---|
4962 | | - beq .L722 |
---|
4963 | | -.L723: |
---|
4964 | | - ldr w3, [x0, 4] |
---|
4965 | | - adrp x0, .LC97 |
---|
4966 | | - ldr w5, [x1, 4] |
---|
4967 | | - add x0, x0, :lo12:.LC97 |
---|
4968 | | - ldr w1, [x19, 4] |
---|
4969 | | - bl sftl_printk |
---|
4970 | | - mov w0, -1 |
---|
4971 | | - str w0, [x19] |
---|
4972 | | -.L722: |
---|
4973 | | - ldr x0, [x19, 8] |
---|
4974 | | - cbz x0, .L724 |
---|
4975 | | - add x1, x21, :lo12:.LANCHOR0 |
---|
4976 | | - ldr w2, [x0] |
---|
4977 | | - ldr x1, [x1, 3496] |
---|
4978 | | - ldr w4, [x1] |
---|
4979 | | - cmp w2, w4 |
---|
4980 | | - bne .L725 |
---|
4981 | | - ldr w5, [x0, 2048] |
---|
4982 | | - ldr w3, [x1, 2048] |
---|
4983 | | - cmp w5, w3 |
---|
4984 | | - beq .L724 |
---|
4985 | | -.L725: |
---|
4986 | | - ldr w3, [x0, 4] |
---|
| 6029 | + beq .L773 |
---|
| 6030 | +.L774: |
---|
| 6031 | + ldr w5, [x0, 4] |
---|
4987 | 6032 | adrp x0, .LC98 |
---|
4988 | | - ldr w5, [x1, 4] |
---|
| 6033 | + ldr w3, [x1, 4] |
---|
4989 | 6034 | add x0, x0, :lo12:.LC98 |
---|
4990 | 6035 | ldr w1, [x19, 4] |
---|
4991 | 6036 | bl sftl_printk |
---|
4992 | 6037 | mov w0, -1 |
---|
4993 | 6038 | str w0, [x19] |
---|
4994 | | -.L724: |
---|
4995 | | - add x19, x19, 32 |
---|
4996 | | - b .L719 |
---|
4997 | | -.L718: |
---|
4998 | | - ldr x0, [x20, 8] |
---|
4999 | | - cbz x0, .L705 |
---|
5000 | | - ldr x0, [x20, 16] |
---|
5001 | | - cbnz x0, .L706 |
---|
5002 | | -.L705: |
---|
5003 | | - mov w2, 148 |
---|
5004 | | - mov x1, x24 |
---|
5005 | | - mov x0, x25 |
---|
| 6039 | +.L773: |
---|
| 6040 | + ldr x1, [x19, 8] |
---|
| 6041 | + cbz x1, .L775 |
---|
| 6042 | + ldr x0, [x20, 3488] |
---|
| 6043 | + ldr w2, [x1] |
---|
| 6044 | + ldr w4, [x0] |
---|
| 6045 | + cmp w2, w4 |
---|
| 6046 | + bne .L776 |
---|
| 6047 | + ldr w3, [x0, 2048] |
---|
| 6048 | + ldr w5, [x1, 2048] |
---|
| 6049 | + cmp w5, w3 |
---|
| 6050 | + beq .L775 |
---|
| 6051 | +.L776: |
---|
| 6052 | + ldr w5, [x0, 4] |
---|
| 6053 | + adrp x0, .LC99 |
---|
| 6054 | + ldr w3, [x1, 4] |
---|
| 6055 | + add x0, x0, :lo12:.LC99 |
---|
| 6056 | + ldr w1, [x19, 4] |
---|
5006 | 6057 | bl sftl_printk |
---|
5007 | | -.L706: |
---|
5008 | | - ldr w0, [x20, 4] |
---|
5009 | | - add x2, x29, 112 |
---|
5010 | | - add x1, x29, 116 |
---|
5011 | | - bl l2p_addr_tran.isra.0 |
---|
5012 | | - ldr w0, [x29, 112] |
---|
5013 | | - cmp w0, 3 |
---|
5014 | | - bls .L707 |
---|
5015 | | -.L743: |
---|
5016 | 6058 | mov w0, -1 |
---|
5017 | | - str w0, [x20] |
---|
5018 | | - b .L708 |
---|
5019 | | -.L707: |
---|
5020 | | - cbnz w0, .L709 |
---|
5021 | | - ldr w0, [x29, 116] |
---|
| 6059 | + str w0, [x19] |
---|
| 6060 | +.L775: |
---|
| 6061 | + add x19, x19, 32 |
---|
| 6062 | + b .L770 |
---|
| 6063 | +.L769: |
---|
| 6064 | + ldr x0, [x21, 8] |
---|
| 6065 | + cbz x0, .L756 |
---|
| 6066 | + ldr x0, [x21, 16] |
---|
| 6067 | + cbnz x0, .L757 |
---|
| 6068 | +.L756: |
---|
| 6069 | + mov x1, x23 |
---|
| 6070 | + mov x0, x26 |
---|
| 6071 | + mov w2, 148 |
---|
| 6072 | + bl sftl_printk |
---|
| 6073 | +.L757: |
---|
| 6074 | + ldr w0, [x21, 4] |
---|
| 6075 | + add x2, sp, 112 |
---|
| 6076 | + add x1, sp, 116 |
---|
| 6077 | + bl l2p_addr_tran.isra.0 |
---|
| 6078 | + ldr w0, [sp, 112] |
---|
| 6079 | + cmp w0, 3 |
---|
| 6080 | + bls .L758 |
---|
| 6081 | + mov w0, -1 |
---|
| 6082 | + str w0, [x21] |
---|
| 6083 | +.L759: |
---|
| 6084 | + add x21, x21, 32 |
---|
| 6085 | + b .L755 |
---|
| 6086 | +.L758: |
---|
| 6087 | + cbnz w0, .L760 |
---|
| 6088 | + ldr w0, [sp, 116] |
---|
5022 | 6089 | cmp w28, w0 |
---|
5023 | | - bls .L709 |
---|
| 6090 | + bls .L760 |
---|
5024 | 6091 | adrp x20, .LANCHOR1 |
---|
5025 | 6092 | add x20, x20, :lo12:.LANCHOR1 |
---|
5026 | | - adrp x21, .LC86 |
---|
5027 | | - add x20, x20, 320 |
---|
5028 | | - add x21, x21, :lo12:.LC86 |
---|
5029 | | - b .L741 |
---|
5030 | | -.L711: |
---|
| 6093 | + adrp x21, .LC87 |
---|
| 6094 | + add x20, x20, 256 |
---|
| 6095 | + add x21, x21, :lo12:.LC87 |
---|
| 6096 | +.L761: |
---|
| 6097 | + cmp x19, x22 |
---|
| 6098 | + bne .L762 |
---|
| 6099 | + bl dump_stack |
---|
| 6100 | +.L763: |
---|
| 6101 | + mrs x0, sp_el0 |
---|
| 6102 | + ldr x1, [sp, 152] |
---|
| 6103 | + ldr x2, [x0, 1376] |
---|
| 6104 | + subs x1, x1, x2 |
---|
| 6105 | + mov x2, 0 |
---|
| 6106 | + beq .L778 |
---|
| 6107 | + bl __stack_chk_fail |
---|
| 6108 | +.L762: |
---|
5031 | 6109 | ldr w2, [x19, 4] |
---|
5032 | 6110 | mov w0, -1 |
---|
5033 | 6111 | str w0, [x19] |
---|
.. | .. |
---|
5038 | 6116 | ldr x1, [x19, -24] |
---|
5039 | 6117 | mov w3, 16 |
---|
5040 | 6118 | mov w2, 4 |
---|
5041 | | - adrp x0, .LC87 |
---|
5042 | | - add x0, x0, :lo12:.LC87 |
---|
| 6119 | + adrp x0, .LC88 |
---|
| 6120 | + add x0, x0, :lo12:.LC88 |
---|
5043 | 6121 | bl rknand_print_hex |
---|
5044 | 6122 | ldr x1, [x19, -16] |
---|
5045 | 6123 | mov w3, 4 |
---|
5046 | | - adrp x0, .LC88 |
---|
| 6124 | + adrp x0, .LC89 |
---|
5047 | 6125 | mov w2, w3 |
---|
5048 | | - add x0, x0, :lo12:.LC88 |
---|
| 6126 | + add x0, x0, :lo12:.LC89 |
---|
5049 | 6127 | bl rknand_print_hex |
---|
5050 | | -.L741: |
---|
5051 | | - cmp x19, x23 |
---|
5052 | | - bne .L711 |
---|
5053 | | - bl dump_stack |
---|
5054 | | -.L712: |
---|
5055 | | - add x22, x22, :lo12:__stack_chk_guard |
---|
5056 | | - mov w0, 0 |
---|
5057 | | - ldr x2, [x29, 152] |
---|
5058 | | - ldr x1, [x22] |
---|
5059 | | - eor x1, x2, x1 |
---|
5060 | | - cbz x1, .L727 |
---|
5061 | | - bl __stack_chk_fail |
---|
5062 | | -.L709: |
---|
5063 | | - ldr x1, [x20, 8] |
---|
| 6128 | + b .L761 |
---|
| 6129 | +.L760: |
---|
| 6130 | + ldr x1, [x21, 8] |
---|
5064 | 6131 | tst x1, 63 |
---|
5065 | | - beq .L728 |
---|
5066 | | - add x0, x21, :lo12:.LANCHOR0 |
---|
5067 | | - ldr x27, [x0, 3496] |
---|
5068 | | - cmp x1, x27 |
---|
5069 | | - beq .L713 |
---|
5070 | | - ldrh w2, [x0, 262] |
---|
5071 | | - mov x0, x27 |
---|
| 6132 | + beq .L779 |
---|
| 6133 | + ldr x24, [x20, 3488] |
---|
| 6134 | + cmp x24, x1 |
---|
| 6135 | + beq .L764 |
---|
| 6136 | + ldrh w2, [x20, 262] |
---|
| 6137 | + mov x0, x24 |
---|
5072 | 6138 | lsl w2, w2, 9 |
---|
5073 | 6139 | bl ftl_memcpy |
---|
5074 | | -.L713: |
---|
5075 | | - add x0, x21, :lo12:.LANCHOR0 |
---|
5076 | | - ldr w1, [x29, 116] |
---|
5077 | | - ldr x3, [x20, 16] |
---|
5078 | | - mov x2, x27 |
---|
5079 | | - ldr x5, [x0, 3376] |
---|
5080 | | - ldrb w0, [x29, 112] |
---|
5081 | | - blr x5 |
---|
5082 | | - cbnz w0, .L714 |
---|
5083 | | - str wzr, [x20] |
---|
5084 | | -.L715: |
---|
5085 | | - add x0, x21, :lo12:.LANCHOR0 |
---|
5086 | | - ldrh w1, [x0, 14] |
---|
5087 | | - cmp w1, 4 |
---|
5088 | | - bne .L708 |
---|
5089 | | - ldr x5, [x0, 3376] |
---|
5090 | | - add x2, x27, 2048 |
---|
5091 | | - ldrb w0, [x29, 112] |
---|
5092 | | - ldr w1, [x29, 116] |
---|
5093 | | - ldr x3, [x20, 16] |
---|
5094 | | - add w1, w26, w1 |
---|
| 6140 | +.L764: |
---|
| 6141 | + ldrb w0, [sp, 112] |
---|
| 6142 | + add x5, x20, 3352 |
---|
| 6143 | + ldr w1, [sp, 116] |
---|
| 6144 | + mov x2, x24 |
---|
| 6145 | + ldr x3, [x21, 16] |
---|
| 6146 | + str x5, [sp, 104] |
---|
| 6147 | + ldr x4, [x20, 3368] |
---|
| 6148 | + blr x4 |
---|
| 6149 | + cmp w0, 0 |
---|
| 6150 | + mov w4, -1 |
---|
| 6151 | + csel w0, wzr, w4, eq |
---|
| 6152 | + str w0, [x21] |
---|
| 6153 | + ldr x5, [sp, 104] |
---|
| 6154 | + ldrh w0, [x20, 14] |
---|
| 6155 | + cmp w0, 4 |
---|
| 6156 | + bne .L759 |
---|
| 6157 | + ldrb w0, [sp, 112] |
---|
| 6158 | + add x2, x24, 2048 |
---|
| 6159 | + ldr x5, [x5, 16] |
---|
| 6160 | + ldr x3, [x21, 16] |
---|
| 6161 | + ldr w1, [sp, 116] |
---|
5095 | 6162 | add x3, x3, 8 |
---|
| 6163 | + add w1, w27, w1 |
---|
5096 | 6164 | blr x5 |
---|
5097 | | - cbnz w0, .L743 |
---|
5098 | | -.L708: |
---|
5099 | | - add x20, x20, 32 |
---|
5100 | | - b .L704 |
---|
5101 | | -.L728: |
---|
5102 | | - mov x27, x1 |
---|
5103 | | - b .L713 |
---|
5104 | | -.L714: |
---|
5105 | | - mov w0, -1 |
---|
5106 | | - str w0, [x20] |
---|
5107 | | - b .L715 |
---|
5108 | | -.L727: |
---|
| 6165 | + cbz w0, .L759 |
---|
| 6166 | + mov w4, -1 |
---|
| 6167 | + str w4, [x21] |
---|
| 6168 | + b .L759 |
---|
| 6169 | +.L779: |
---|
| 6170 | + mov x24, x1 |
---|
| 6171 | + b .L764 |
---|
| 6172 | +.L778: |
---|
| 6173 | + mov w0, 0 |
---|
5109 | 6174 | ldp x19, x20, [sp, 16] |
---|
5110 | 6175 | ldp x21, x22, [sp, 32] |
---|
5111 | 6176 | ldp x23, x24, [sp, 48] |
---|
5112 | 6177 | ldp x25, x26, [sp, 64] |
---|
5113 | 6178 | ldp x27, x28, [sp, 80] |
---|
5114 | 6179 | ldp x29, x30, [sp], 160 |
---|
| 6180 | + hint 29 // autiasp |
---|
5115 | 6181 | ret |
---|
5116 | 6182 | .size FlashProgPages, .-FlashProgPages |
---|
5117 | 6183 | .align 2 |
---|
5118 | 6184 | .global FtlLowFormatEraseBlock |
---|
5119 | 6185 | .type FtlLowFormatEraseBlock, %function |
---|
5120 | 6186 | FtlLowFormatEraseBlock: |
---|
| 6187 | + hint 34 // bti c |
---|
| 6188 | + .section __patchable_function_entries |
---|
| 6189 | + .align 3 |
---|
| 6190 | + .8byte .LPFE77 |
---|
| 6191 | + .text |
---|
| 6192 | +.LPFE77: |
---|
| 6193 | + nop |
---|
| 6194 | + nop |
---|
| 6195 | + hint 25 // paciasp |
---|
5121 | 6196 | stp x29, x30, [sp, -112]! |
---|
5122 | | - mov w10, 0 |
---|
5123 | | - mov w9, 4 |
---|
5124 | | - add x29, sp, 0 |
---|
5125 | | - stp x21, x22, [sp, 32] |
---|
5126 | | - adrp x21, .LANCHOR0 |
---|
5127 | | - add x5, x21, :lo12:.LANCHOR0 |
---|
5128 | | - stp x19, x20, [sp, 16] |
---|
5129 | | - stp x23, x24, [sp, 48] |
---|
5130 | | - and w22, w1, 255 |
---|
5131 | | - stp x25, x26, [sp, 64] |
---|
5132 | | - add x8, x5, 264 |
---|
| 6197 | + adrp x4, .LANCHOR0 |
---|
| 6198 | + mov x29, sp |
---|
5133 | 6199 | stp x27, x28, [sp, 80] |
---|
5134 | | - and w23, w0, 65535 |
---|
| 6200 | + add x28, x4, :lo12:.LANCHOR0 |
---|
| 6201 | + stp x21, x22, [sp, 32] |
---|
| 6202 | + and w21, w1, 255 |
---|
| 6203 | + and w22, w0, 65535 |
---|
| 6204 | + stp x23, x24, [sp, 48] |
---|
| 6205 | + add x24, x28, 264 |
---|
| 6206 | + mov w23, 0 |
---|
| 6207 | + stp x19, x20, [sp, 16] |
---|
5135 | 6208 | mov w20, 0 |
---|
5136 | 6209 | mov w19, 0 |
---|
5137 | | - str w23, [x5, 3428] |
---|
5138 | | -.L745: |
---|
5139 | | - ldrh w0, [x5, 236] |
---|
5140 | | - cmp w0, w10 |
---|
5141 | | - bhi .L749 |
---|
5142 | | - cbz w20, .L744 |
---|
5143 | | - ldr x0, [x5, 3408] |
---|
| 6210 | + stp x25, x26, [sp, 64] |
---|
| 6211 | + mov w25, 4 |
---|
| 6212 | + str w22, [x28, 3420] |
---|
| 6213 | +.L795: |
---|
| 6214 | + ldrh w0, [x28, 236] |
---|
| 6215 | + cmp w0, w23 |
---|
| 6216 | + bhi .L799 |
---|
| 6217 | + cbz w20, .L794 |
---|
| 6218 | + ldr x0, [x28, 3400] |
---|
5144 | 6219 | mov w2, w20 |
---|
5145 | 6220 | mov w1, 0 |
---|
5146 | | - ubfiz x20, x20, 5, 16 |
---|
5147 | | - mov x24, 0 |
---|
5148 | | - add x25, x21, :lo12:.LANCHOR0 |
---|
| 6221 | + mov x23, 0 |
---|
5149 | 6222 | bl FlashEraseBlocks |
---|
5150 | | -.L753: |
---|
5151 | | - ldr x0, [x25, 3408] |
---|
5152 | | - add x1, x0, x24 |
---|
5153 | | - ldr w0, [x0, x24] |
---|
| 6223 | +.L803: |
---|
| 6224 | + ldr x1, [x28, 3400] |
---|
| 6225 | + lsl x0, x23, 5 |
---|
| 6226 | + ldr w0, [x1, x0] |
---|
| 6227 | + add x2, x1, x23, lsl 5 |
---|
5154 | 6228 | cmn w0, #1 |
---|
5155 | | - bne .L752 |
---|
5156 | | - ldr w0, [x1, 4] |
---|
| 6229 | + bne .L802 |
---|
| 6230 | + ldr w0, [x2, 4] |
---|
5157 | 6231 | add w19, w19, 1 |
---|
5158 | 6232 | and w19, w19, 65535 |
---|
5159 | | - lsr w0, w0, 10 |
---|
| 6233 | + ubfx x0, x0, 10, 16 |
---|
5160 | 6234 | bl FtlBbmMapBadBlock |
---|
5161 | | -.L752: |
---|
5162 | | - add x24, x24, 32 |
---|
5163 | | - cmp x24, x20 |
---|
5164 | | - bne .L753 |
---|
5165 | | - cbz w22, .L766 |
---|
5166 | | - add x0, x21, :lo12:.LANCHOR0 |
---|
5167 | | - mov w25, 1 |
---|
5168 | | - ldrh w26, [x0, 308] |
---|
5169 | | -.L754: |
---|
5170 | | - add x28, x21, :lo12:.LANCHOR0 |
---|
5171 | | - mov w24, 0 |
---|
| 6235 | +.L802: |
---|
| 6236 | + add x23, x23, 1 |
---|
| 6237 | + cmp w20, w23, uxth |
---|
| 6238 | + bhi .L803 |
---|
| 6239 | + cbz w21, .L816 |
---|
| 6240 | + ldrh w26, [x28, 308] |
---|
| 6241 | + mov w24, 1 |
---|
| 6242 | +.L804: |
---|
5172 | 6243 | add x0, x28, 264 |
---|
5173 | | - str x0, [x29, 104] |
---|
5174 | | -.L762: |
---|
5175 | | - mov w5, 0 |
---|
| 6244 | + mov w23, 0 |
---|
| 6245 | + str x0, [sp, 96] |
---|
| 6246 | +.L812: |
---|
| 6247 | + mov w27, 0 |
---|
5176 | 6248 | mov w20, 0 |
---|
5177 | | -.L755: |
---|
| 6249 | +.L805: |
---|
5178 | 6250 | ldrh w0, [x28, 236] |
---|
5179 | | - cmp w0, w5 |
---|
5180 | | - bhi .L758 |
---|
5181 | | - cbz w20, .L744 |
---|
5182 | | - ldr x0, [x28, 3408] |
---|
| 6251 | + cmp w0, w27 |
---|
| 6252 | + bhi .L808 |
---|
| 6253 | + cbz w20, .L794 |
---|
| 6254 | + ldr x0, [x28, 3400] |
---|
| 6255 | + mov w2, w24 |
---|
5183 | 6256 | mov w1, w20 |
---|
5184 | 6257 | mov w3, 1 |
---|
5185 | | - mov w2, w25 |
---|
5186 | | - mov x27, 0 |
---|
| 6258 | + mov x25, 0 |
---|
5187 | 6259 | bl FlashProgPages |
---|
5188 | | - ubfiz x1, x20, 5, 16 |
---|
5189 | | -.L761: |
---|
5190 | | - ldr x0, [x28, 3408] |
---|
5191 | | - add x3, x0, x27 |
---|
5192 | | - ldr w0, [x0, x27] |
---|
5193 | | - cbz w0, .L760 |
---|
5194 | | - ldr w0, [x3, 4] |
---|
| 6260 | +.L811: |
---|
| 6261 | + ldr x1, [x28, 3400] |
---|
| 6262 | + lsl x0, x25, 5 |
---|
| 6263 | + ldr w0, [x1, x0] |
---|
| 6264 | + add x2, x1, x25, lsl 5 |
---|
| 6265 | + cbz w0, .L810 |
---|
| 6266 | + ldr w0, [x2, 4] |
---|
5195 | 6267 | add w19, w19, 1 |
---|
5196 | | - str x1, [x29, 96] |
---|
5197 | 6268 | and w19, w19, 65535 |
---|
5198 | | - lsr w0, w0, 10 |
---|
| 6269 | + ubfx x0, x0, 10, 16 |
---|
5199 | 6270 | bl FtlBbmMapBadBlock |
---|
5200 | | - ldr x1, [x29, 96] |
---|
5201 | | -.L760: |
---|
5202 | | - add x27, x27, 32 |
---|
5203 | | - cmp x1, x27 |
---|
5204 | | - bne .L761 |
---|
5205 | | - add w24, w24, 1 |
---|
5206 | | - cmp w26, w24, uxth |
---|
5207 | | - bhi .L762 |
---|
5208 | | - add x26, x21, :lo12:.LANCHOR0 |
---|
5209 | | - mov x24, 0 |
---|
5210 | | -.L764: |
---|
5211 | | - cbz w22, .L763 |
---|
5212 | | - ldr x0, [x26, 3408] |
---|
5213 | | - add x1, x0, x24 |
---|
5214 | | - ldr w0, [x0, x24] |
---|
5215 | | - cbnz w0, .L763 |
---|
5216 | | - ldr w0, [x1, 4] |
---|
| 6271 | +.L810: |
---|
| 6272 | + add x25, x25, 1 |
---|
| 6273 | + cmp w20, w25, uxth |
---|
| 6274 | + bhi .L811 |
---|
| 6275 | + add w23, w23, 1 |
---|
| 6276 | + cmp w26, w23, uxth |
---|
| 6277 | + bhi .L812 |
---|
| 6278 | + mov x23, 0 |
---|
| 6279 | +.L814: |
---|
| 6280 | + cbz w21, .L813 |
---|
| 6281 | + ldr x1, [x28, 3400] |
---|
| 6282 | + lsl x0, x23, 5 |
---|
| 6283 | + ldr w0, [x1, x0] |
---|
| 6284 | + add x2, x1, x23, lsl 5 |
---|
| 6285 | + cbnz w0, .L813 |
---|
| 6286 | + ldr w0, [x2, 4] |
---|
5217 | 6287 | mov w1, 1 |
---|
5218 | | - lsr w0, w0, 10 |
---|
| 6288 | + ubfx x0, x0, 10, 16 |
---|
5219 | 6289 | bl FtlFreeSysBlkQueueIn |
---|
5220 | | -.L763: |
---|
5221 | | - add x24, x24, 32 |
---|
5222 | | - cmp x24, x27 |
---|
5223 | | - bne .L764 |
---|
5224 | | - cmp w23, 63 |
---|
5225 | | - ccmp w22, 0, 0, hi |
---|
5226 | | - beq .L744 |
---|
5227 | | - add x21, x21, :lo12:.LANCHOR0 |
---|
| 6290 | +.L813: |
---|
| 6291 | + add x23, x23, 1 |
---|
| 6292 | + cmp w20, w23, uxth |
---|
| 6293 | + bhi .L814 |
---|
| 6294 | + cmp w22, 63 |
---|
| 6295 | + ccmp w21, 0, 0, hi |
---|
| 6296 | + beq .L794 |
---|
| 6297 | + ldr x0, [x28, 3400] |
---|
5228 | 6298 | mov w2, w20 |
---|
5229 | | - mov w1, w25 |
---|
5230 | | - ldr x0, [x21, 3408] |
---|
| 6299 | + mov w1, w24 |
---|
5231 | 6300 | bl FlashEraseBlocks |
---|
5232 | | -.L744: |
---|
| 6301 | +.L794: |
---|
5233 | 6302 | mov w0, w19 |
---|
5234 | 6303 | ldp x19, x20, [sp, 16] |
---|
5235 | 6304 | ldp x21, x22, [sp, 32] |
---|
.. | .. |
---|
5237 | 6306 | ldp x25, x26, [sp, 64] |
---|
5238 | 6307 | ldp x27, x28, [sp, 80] |
---|
5239 | 6308 | ldp x29, x30, [sp], 112 |
---|
| 6309 | + hint 29 // autiasp |
---|
5240 | 6310 | ret |
---|
5241 | | -.L749: |
---|
5242 | | - ldr x1, [x5, 3408] |
---|
5243 | | - ubfiz x0, x10, 5, 16 |
---|
| 6311 | +.L799: |
---|
| 6312 | + ldr x1, [x28, 3400] |
---|
| 6313 | + ubfiz x0, x23, 5, 16 |
---|
5244 | 6314 | str wzr, [x1, x0] |
---|
5245 | | - mov w1, w23 |
---|
5246 | | - ldrb w0, [x8, w10, sxtw] |
---|
| 6315 | + mov w1, w22 |
---|
| 6316 | + ldrb w0, [x24, w23, sxtw] |
---|
5247 | 6317 | bl V2P_block |
---|
5248 | | - and w6, w0, 65535 |
---|
5249 | | - mov w7, w6 |
---|
5250 | | - cbz w22, .L746 |
---|
| 6318 | + and w27, w0, 65535 |
---|
| 6319 | + mov w26, w27 |
---|
| 6320 | + cbz w21, .L796 |
---|
5251 | 6321 | bl IsBlkInVendorPart |
---|
5252 | | - cbnz w0, .L747 |
---|
5253 | | -.L746: |
---|
5254 | | - mov w0, w7 |
---|
| 6322 | + cbnz w0, .L797 |
---|
| 6323 | +.L796: |
---|
| 6324 | + mov w0, w26 |
---|
5255 | 6325 | bl FtlBbmIsBadBlock |
---|
5256 | | - cbnz w0, .L748 |
---|
5257 | | - ldr x0, [x5, 3408] |
---|
| 6326 | + cbnz w0, .L798 |
---|
| 6327 | + ldr x0, [x28, 3400] |
---|
5258 | 6328 | ubfiz x2, x20, 5, 16 |
---|
5259 | | - lsl w6, w6, 10 |
---|
| 6329 | + lsl w27, w27, 10 |
---|
5260 | 6330 | add x0, x0, x2 |
---|
5261 | | - str w6, [x0, 4] |
---|
5262 | | - ldr x1, [x5, 3408] |
---|
5263 | | - ldr x0, [x5, 3488] |
---|
| 6331 | + str w27, [x0, 4] |
---|
| 6332 | + ldr x1, [x28, 3400] |
---|
| 6333 | + ldr x0, [x28, 3480] |
---|
5264 | 6334 | add x1, x1, x2 |
---|
5265 | | - ldr x2, [x5, 3528] |
---|
| 6335 | + ldr x2, [x28, 3520] |
---|
5266 | 6336 | str x0, [x1, 8] |
---|
5267 | | - ldrh w0, [x5, 316] |
---|
| 6337 | + ldrh w0, [x28, 316] |
---|
5268 | 6338 | mul w0, w0, w20 |
---|
5269 | 6339 | add w20, w20, 1 |
---|
5270 | 6340 | and w20, w20, 65535 |
---|
5271 | | - sdiv w0, w0, w9 |
---|
5272 | | - add x0, x2, x0, sxtw 2 |
---|
| 6341 | + sdiv w0, w0, w25 |
---|
| 6342 | + add x0, x2, w0, sxtw 2 |
---|
5273 | 6343 | str x0, [x1, 16] |
---|
5274 | | -.L747: |
---|
5275 | | - add w10, w10, 1 |
---|
5276 | | - and w10, w10, 65535 |
---|
5277 | | - b .L745 |
---|
5278 | | -.L748: |
---|
| 6344 | +.L797: |
---|
| 6345 | + add w23, w23, 1 |
---|
| 6346 | + and w23, w23, 65535 |
---|
| 6347 | + b .L795 |
---|
| 6348 | +.L798: |
---|
5279 | 6349 | add w19, w19, 1 |
---|
5280 | 6350 | and w19, w19, 65535 |
---|
5281 | | - b .L747 |
---|
5282 | | -.L766: |
---|
5283 | | - mov w25, 0 |
---|
| 6351 | + b .L797 |
---|
| 6352 | +.L816: |
---|
| 6353 | + mov w24, 0 |
---|
5284 | 6354 | mov w26, 2 |
---|
5285 | | - b .L754 |
---|
5286 | | -.L758: |
---|
5287 | | - ldr x1, [x28, 3408] |
---|
5288 | | - ubfiz x0, x5, 5, 16 |
---|
| 6355 | + b .L804 |
---|
| 6356 | +.L808: |
---|
| 6357 | + ldr x1, [x28, 3400] |
---|
| 6358 | + ubfiz x0, x27, 5, 16 |
---|
5289 | 6359 | str wzr, [x1, x0] |
---|
5290 | | - mov w1, w23 |
---|
5291 | | - ldr x0, [x29, 104] |
---|
5292 | | - ldrb w0, [x0, w5, sxtw] |
---|
| 6360 | + mov w1, w22 |
---|
| 6361 | + ldr x0, [sp, 96] |
---|
| 6362 | + ldrb w0, [x0, w27, sxtw] |
---|
5293 | 6363 | bl V2P_block |
---|
5294 | | - and w6, w0, 65535 |
---|
5295 | | - mov w7, w6 |
---|
5296 | | - cbz w22, .L756 |
---|
| 6364 | + and w25, w0, 65535 |
---|
| 6365 | + mov w1, w25 |
---|
| 6366 | + cbz w21, .L806 |
---|
| 6367 | + str w25, [sp, 108] |
---|
5297 | 6368 | bl IsBlkInVendorPart |
---|
5298 | | - cbnz w0, .L757 |
---|
5299 | | -.L756: |
---|
5300 | | - mov w0, w7 |
---|
| 6369 | + ldr w1, [sp, 108] |
---|
| 6370 | + cbnz w0, .L807 |
---|
| 6371 | +.L806: |
---|
| 6372 | + mov w0, w1 |
---|
5301 | 6373 | bl FtlBbmIsBadBlock |
---|
5302 | | - cbnz w0, .L757 |
---|
5303 | | - ldr x0, [x28, 3408] |
---|
5304 | | - ubfiz x2, x20, 5, 16 |
---|
5305 | | - add w6, w24, w6, lsl 10 |
---|
5306 | | - add x0, x0, x2 |
---|
5307 | | - str w6, [x0, 4] |
---|
5308 | | - ldr x1, [x28, 3408] |
---|
5309 | | - ldr x0, [x28, 3480] |
---|
5310 | | - add x1, x1, x2 |
---|
| 6374 | + cbnz w0, .L807 |
---|
| 6375 | + ldr x0, [x28, 3400] |
---|
| 6376 | + ubfiz x3, x20, 5, 16 |
---|
| 6377 | + add w25, w23, w25, lsl 10 |
---|
5311 | 6378 | mov w2, 4 |
---|
| 6379 | + add x0, x0, x3 |
---|
| 6380 | + str w25, [x0, 4] |
---|
| 6381 | + ldr x1, [x28, 3400] |
---|
| 6382 | + ldr x0, [x28, 3472] |
---|
| 6383 | + add x1, x1, x3 |
---|
| 6384 | + ldr x3, [x28, 3480] |
---|
5312 | 6385 | str x0, [x1, 8] |
---|
5313 | 6386 | ldrh w0, [x28, 316] |
---|
5314 | 6387 | mul w0, w0, w20 |
---|
5315 | 6388 | add w20, w20, 1 |
---|
5316 | 6389 | and w20, w20, 65535 |
---|
5317 | 6390 | sdiv w0, w0, w2 |
---|
5318 | | - ldr x2, [x28, 3488] |
---|
5319 | | - add x0, x2, x0, sxtw 2 |
---|
| 6391 | + add x0, x3, w0, sxtw 2 |
---|
5320 | 6392 | str x0, [x1, 16] |
---|
5321 | | -.L757: |
---|
5322 | | - add w5, w5, 1 |
---|
5323 | | - and w5, w5, 65535 |
---|
5324 | | - b .L755 |
---|
| 6393 | +.L807: |
---|
| 6394 | + add w2, w27, 1 |
---|
| 6395 | + and w27, w2, 65535 |
---|
| 6396 | + b .L805 |
---|
5325 | 6397 | .size FtlLowFormatEraseBlock, .-FtlLowFormatEraseBlock |
---|
5326 | 6398 | .align 2 |
---|
5327 | 6399 | .global FlashTestBlk |
---|
5328 | 6400 | .type FlashTestBlk, %function |
---|
5329 | 6401 | FlashTestBlk: |
---|
5330 | | - stp x29, x30, [sp, -160]! |
---|
5331 | | - adrp x1, __stack_chk_guard |
---|
5332 | | - add x29, sp, 0 |
---|
| 6402 | + hint 34 // bti c |
---|
| 6403 | + .section __patchable_function_entries |
---|
| 6404 | + .align 3 |
---|
| 6405 | + .8byte .LPFE78 |
---|
| 6406 | + .text |
---|
| 6407 | +.LPFE78: |
---|
| 6408 | + nop |
---|
| 6409 | + nop |
---|
| 6410 | + hint 25 // paciasp |
---|
| 6411 | + stp x29, x30, [sp, -144]! |
---|
| 6412 | + mov x29, sp |
---|
5333 | 6413 | stp x19, x20, [sp, 16] |
---|
5334 | 6414 | and w19, w0, 65535 |
---|
5335 | | - str x21, [sp, 32] |
---|
5336 | | - add x0, x1, :lo12:__stack_chk_guard |
---|
| 6415 | + mrs x0, sp_el0 |
---|
| 6416 | + ldr x1, [x0, 1376] |
---|
| 6417 | + str x1, [sp, 136] |
---|
| 6418 | + mov x1, 0 |
---|
5337 | 6419 | cmp w19, 11 |
---|
5338 | | - mov x21, x1 |
---|
5339 | | - ldr x2, [x0] |
---|
5340 | | - str x2, [x29, 152] |
---|
5341 | | - mov x2,0 |
---|
5342 | | - bls .L791 |
---|
| 6420 | + bls .L841 |
---|
5343 | 6421 | adrp x20, .LANCHOR0 |
---|
5344 | 6422 | add x20, x20, :lo12:.LANCHOR0 |
---|
5345 | 6423 | mov w2, 32 |
---|
5346 | 6424 | mov w1, 165 |
---|
5347 | 6425 | lsl w19, w19, 10 |
---|
5348 | | - ldr x0, [x20, 3504] |
---|
5349 | | - str x0, [x29, 64] |
---|
5350 | | - add x0, x29, 88 |
---|
5351 | | - str x0, [x29, 72] |
---|
| 6426 | + ldr x0, [x20, 3496] |
---|
| 6427 | + str x0, [sp, 48] |
---|
| 6428 | + add x0, sp, 72 |
---|
| 6429 | + str x0, [sp, 56] |
---|
5352 | 6430 | bl ftl_memset |
---|
5353 | | - ldr x0, [x20, 3504] |
---|
| 6431 | + ldr x0, [x20, 3496] |
---|
5354 | 6432 | mov w2, 8 |
---|
5355 | 6433 | mov w1, 90 |
---|
5356 | 6434 | bl ftl_memset |
---|
5357 | | - str w19, [x29, 60] |
---|
| 6435 | + add x0, sp, 40 |
---|
5358 | 6436 | mov w2, 1 |
---|
5359 | | - add x0, x29, 56 |
---|
5360 | 6437 | mov w1, w2 |
---|
| 6438 | + str w19, [sp, 44] |
---|
5361 | 6439 | bl FlashEraseBlocks |
---|
5362 | 6440 | mov w3, 1 |
---|
5363 | | - add x0, x29, 56 |
---|
| 6441 | + add x0, sp, 40 |
---|
5364 | 6442 | mov w2, w3 |
---|
5365 | 6443 | mov w1, w3 |
---|
5366 | 6444 | bl FlashProgPages |
---|
5367 | | - ldr w0, [x29, 56] |
---|
5368 | | - cbnz w0, .L792 |
---|
| 6445 | + ldr w0, [sp, 40] |
---|
| 6446 | + cbnz w0, .L842 |
---|
5369 | 6447 | add w0, w19, 1 |
---|
5370 | 6448 | mov w3, 1 |
---|
5371 | | - str w0, [x29, 60] |
---|
5372 | 6449 | mov w2, w3 |
---|
5373 | 6450 | mov w1, w3 |
---|
5374 | | - add x0, x29, 56 |
---|
| 6451 | + str w0, [sp, 44] |
---|
| 6452 | + add x0, sp, 40 |
---|
5375 | 6453 | bl FlashProgPages |
---|
5376 | | - ldr w0, [x29, 56] |
---|
| 6454 | + ldr w0, [sp, 40] |
---|
5377 | 6455 | cmp w0, 0 |
---|
5378 | 6456 | csetm w20, ne |
---|
5379 | | -.L789: |
---|
| 6457 | +.L839: |
---|
| 6458 | + add x0, sp, 40 |
---|
5380 | 6459 | mov w2, 1 |
---|
5381 | 6460 | mov w1, 0 |
---|
5382 | | - add x0, x29, 56 |
---|
5383 | | - str w19, [x29, 60] |
---|
| 6461 | + str w19, [sp, 44] |
---|
5384 | 6462 | bl FlashEraseBlocks |
---|
5385 | | -.L787: |
---|
5386 | | - add x1, x21, :lo12:__stack_chk_guard |
---|
5387 | | - mov w0, w20 |
---|
5388 | | - ldr x2, [x29, 152] |
---|
5389 | | - ldr x1, [x1] |
---|
5390 | | - eor x1, x2, x1 |
---|
5391 | | - cbz x1, .L790 |
---|
| 6463 | +.L837: |
---|
| 6464 | + mrs x0, sp_el0 |
---|
| 6465 | + ldr x1, [sp, 136] |
---|
| 6466 | + ldr x2, [x0, 1376] |
---|
| 6467 | + subs x1, x1, x2 |
---|
| 6468 | + mov x2, 0 |
---|
| 6469 | + beq .L840 |
---|
5392 | 6470 | bl __stack_chk_fail |
---|
5393 | | -.L792: |
---|
| 6471 | +.L842: |
---|
5394 | 6472 | mov w20, -1 |
---|
5395 | | - b .L789 |
---|
5396 | | -.L791: |
---|
| 6473 | + b .L839 |
---|
| 6474 | +.L841: |
---|
5397 | 6475 | mov w20, 0 |
---|
5398 | | - b .L787 |
---|
5399 | | -.L790: |
---|
| 6476 | + b .L837 |
---|
| 6477 | +.L840: |
---|
| 6478 | + mov w0, w20 |
---|
5400 | 6479 | ldp x19, x20, [sp, 16] |
---|
5401 | | - ldr x21, [sp, 32] |
---|
5402 | | - ldp x29, x30, [sp], 160 |
---|
| 6480 | + ldp x29, x30, [sp], 144 |
---|
| 6481 | + hint 29 // autiasp |
---|
5403 | 6482 | ret |
---|
5404 | 6483 | .size FlashTestBlk, .-FlashTestBlk |
---|
| 6484 | + .section .rodata.str1.1 |
---|
| 6485 | +.LC100: |
---|
| 6486 | + .string "FtlBbmTblFlush id=%x,page=%x,previd=%x cnt=%d\n" |
---|
| 6487 | +.LC101: |
---|
| 6488 | + .string "FtlBbmTblFlush error:%x\n" |
---|
| 6489 | +.LC102: |
---|
| 6490 | + .string "FtlBbmTblFlush error = %x error count = %d\n" |
---|
| 6491 | + .text |
---|
5405 | 6492 | .align 2 |
---|
5406 | 6493 | .global FtlBbmTblFlush |
---|
5407 | 6494 | .type FtlBbmTblFlush, %function |
---|
5408 | 6495 | FtlBbmTblFlush: |
---|
| 6496 | + hint 34 // bti c |
---|
| 6497 | + .section __patchable_function_entries |
---|
| 6498 | + .align 3 |
---|
| 6499 | + .8byte .LPFE79 |
---|
| 6500 | + .text |
---|
| 6501 | +.LPFE79: |
---|
| 6502 | + nop |
---|
| 6503 | + nop |
---|
| 6504 | + hint 25 // paciasp |
---|
5409 | 6505 | stp x29, x30, [sp, -80]! |
---|
5410 | 6506 | mov w1, 0 |
---|
5411 | | - add x29, sp, 0 |
---|
| 6507 | + mov x29, sp |
---|
5412 | 6508 | stp x19, x20, [sp, 16] |
---|
5413 | | - mov w19, 0 |
---|
5414 | | - stp x25, x26, [sp, 64] |
---|
5415 | | - adrp x25, .LANCHOR0 |
---|
5416 | | - add x20, x25, :lo12:.LANCHOR0 |
---|
| 6509 | + adrp x19, .LANCHOR0 |
---|
| 6510 | + add x19, x19, :lo12:.LANCHOR0 |
---|
| 6511 | + mov x20, 0 |
---|
5417 | 6512 | stp x21, x22, [sp, 32] |
---|
| 6513 | + add x22, x19, 360 |
---|
| 6514 | + ldr x2, [x19, 3512] |
---|
| 6515 | + str x2, [x19, 3728] |
---|
| 6516 | + ldrh w2, [x19, 314] |
---|
| 6517 | + ldr x0, [x19, 3448] |
---|
5418 | 6518 | stp x23, x24, [sp, 48] |
---|
5419 | | - add x21, x20, 392 |
---|
5420 | | - ldr x2, [x20, 3520] |
---|
5421 | | - ldr x0, [x20, 3456] |
---|
5422 | | - str x2, [x20, 3736] |
---|
5423 | | - ldrh w2, [x20, 314] |
---|
5424 | | - str x0, [x20, 3728] |
---|
| 6519 | + stp x25, x26, [sp, 64] |
---|
| 6520 | + str x0, [x19, 3720] |
---|
5425 | 6521 | bl ftl_memset |
---|
5426 | | -.L795: |
---|
5427 | | - ldrh w0, [x20, 258] |
---|
5428 | | - add x1, x20, 3720 |
---|
5429 | | - cmp w19, w0 |
---|
5430 | | - blt .L796 |
---|
5431 | | - ldr x26, [x1, 16] |
---|
5432 | | - add x19, x20, 360 |
---|
| 6522 | +.L845: |
---|
| 6523 | + ldrh w0, [x19, 258] |
---|
| 6524 | + add x1, x19, 3712 |
---|
| 6525 | + cmp w0, w20 |
---|
| 6526 | + bgt .L846 |
---|
| 6527 | + ldr x21, [x1, 16] |
---|
5433 | 6528 | mov w2, 16 |
---|
5434 | 6529 | mov w1, 255 |
---|
5435 | | - mov x0, x26 |
---|
| 6530 | + adrp x25, .LC100 |
---|
| 6531 | + mov x0, x21 |
---|
5436 | 6532 | bl ftl_memset |
---|
5437 | 6533 | mov w0, -3887 |
---|
5438 | | - adrp x23, .LC99 |
---|
5439 | | - strh w0, [x26] |
---|
5440 | | - add x25, x25, :lo12:.LANCHOR0 |
---|
5441 | | - add x23, x23, :lo12:.LC99 |
---|
5442 | | - mov w21, 0 |
---|
5443 | | - ldr w0, [x19, 8] |
---|
| 6534 | + strh w0, [x21] |
---|
| 6535 | + adrp x26, .LC101 |
---|
| 6536 | + add x20, x19, 360 |
---|
| 6537 | + ldr w0, [x22, 8] |
---|
| 6538 | + add x25, x25, :lo12:.LC100 |
---|
| 6539 | + str w0, [x21, 4] |
---|
| 6540 | + add x26, x26, :lo12:.LC101 |
---|
| 6541 | + ldrh w0, [x19, 360] |
---|
| 6542 | + mov w24, 0 |
---|
| 6543 | + strh w0, [x21, 2] |
---|
| 6544 | + ldr w0, [x22, 4] |
---|
5444 | 6545 | mov w22, 0 |
---|
5445 | | - str w0, [x26, 4] |
---|
5446 | | - adrp x24, .LC100 |
---|
5447 | | - ldrh w0, [x20, 360] |
---|
5448 | | - strh w0, [x26, 2] |
---|
5449 | | - ldrh w0, [x19, 4] |
---|
5450 | | - strh w0, [x26, 8] |
---|
5451 | | - ldrh w0, [x19, 6] |
---|
5452 | | - strh w0, [x26, 10] |
---|
5453 | | - ldr w0, [x20, 232] |
---|
5454 | | - strh w0, [x26, 12] |
---|
5455 | | - ldr w0, [x20, 2676] |
---|
5456 | | - strh w0, [x26, 14] |
---|
5457 | | -.L797: |
---|
5458 | | - ldr x0, [x25, 3456] |
---|
5459 | | - str x0, [x25, 3728] |
---|
5460 | | - ldr x0, [x25, 3520] |
---|
5461 | | - str x0, [x25, 3736] |
---|
5462 | | - ldrh w1, [x19] |
---|
5463 | | - ldrh w2, [x19, 2] |
---|
5464 | | - ldrh w3, [x19, 4] |
---|
5465 | | - ldrh w4, [x26, 10] |
---|
| 6546 | + str w0, [x21, 8] |
---|
| 6547 | + ldr w0, [x19, 232] |
---|
| 6548 | + strh w0, [x21, 12] |
---|
| 6549 | + ldr w0, [x19, 2676] |
---|
| 6550 | + strh w0, [x21, 14] |
---|
| 6551 | +.L847: |
---|
| 6552 | + ldr x0, [x19, 3448] |
---|
| 6553 | + str x0, [x19, 3720] |
---|
| 6554 | + ldr x0, [x19, 3512] |
---|
| 6555 | + str x0, [x19, 3728] |
---|
| 6556 | + ldrh w1, [x20] |
---|
| 6557 | + ldrh w2, [x20, 2] |
---|
| 6558 | + ldrh w3, [x20, 4] |
---|
| 6559 | + ldrh w4, [x21, 10] |
---|
5466 | 6560 | orr w0, w2, w1, lsl 10 |
---|
5467 | | - str wzr, [x25, 3720] |
---|
5468 | | - str w0, [x25, 3724] |
---|
5469 | | - mov x0, x23 |
---|
| 6561 | + str wzr, [x19, 3712] |
---|
| 6562 | + str w0, [x19, 3716] |
---|
| 6563 | + mov x0, x25 |
---|
5470 | 6564 | bl sftl_printk |
---|
5471 | | - ldrh w0, [x25, 308] |
---|
5472 | | - ldrh w1, [x19, 2] |
---|
| 6565 | + ldrh w0, [x19, 308] |
---|
| 6566 | + ldrh w1, [x20, 2] |
---|
5473 | 6567 | sub w0, w0, #1 |
---|
5474 | 6568 | cmp w1, w0 |
---|
5475 | | - blt .L798 |
---|
5476 | | - ldr w0, [x19, 8] |
---|
| 6569 | + blt .L848 |
---|
| 6570 | + ldr w0, [x20, 8] |
---|
5477 | 6571 | mov w2, 1 |
---|
5478 | | - ldrh w1, [x19] |
---|
| 6572 | + strh wzr, [x20, 2] |
---|
5479 | 6573 | add w0, w0, 1 |
---|
5480 | | - str w0, [x19, 8] |
---|
5481 | | - str w0, [x26, 4] |
---|
5482 | | - strh w1, [x26, 8] |
---|
5483 | | - ldrh w0, [x19, 4] |
---|
5484 | | - strh w1, [x19, 4] |
---|
5485 | | - ldr x1, [x25, 3408] |
---|
5486 | | - strh w0, [x19] |
---|
5487 | | - lsl w0, w0, 10 |
---|
5488 | | - str w0, [x25, 3724] |
---|
5489 | | - strh wzr, [x19, 2] |
---|
5490 | | - str w0, [x1, 4] |
---|
| 6574 | + str w0, [x20, 8] |
---|
| 6575 | + str w0, [x21, 4] |
---|
| 6576 | + ldrh w0, [x20] |
---|
| 6577 | + ldrh w1, [x20, 4] |
---|
| 6578 | + strh w0, [x20, 4] |
---|
| 6579 | + strh w0, [x21, 8] |
---|
| 6580 | + ldr x0, [x19, 3400] |
---|
| 6581 | + strh w1, [x20] |
---|
| 6582 | + lsl w1, w1, 10 |
---|
| 6583 | + str w1, [x19, 3716] |
---|
| 6584 | + str w1, [x0, 4] |
---|
5491 | 6585 | mov w1, w2 |
---|
5492 | | - ldr x0, [x25, 3408] |
---|
| 6586 | + ldr x0, [x19, 3400] |
---|
5493 | 6587 | bl FlashEraseBlocks |
---|
5494 | | -.L798: |
---|
5495 | | - add x20, x25, 3720 |
---|
| 6588 | +.L848: |
---|
| 6589 | + add x23, x19, 3712 |
---|
5496 | 6590 | mov w3, 1 |
---|
5497 | | - mov x0, x20 |
---|
| 6591 | + mov x0, x23 |
---|
5498 | 6592 | mov w2, w3 |
---|
5499 | 6593 | mov w1, w3 |
---|
5500 | 6594 | bl FlashProgPages |
---|
5501 | | - ldrh w0, [x19, 2] |
---|
| 6595 | + ldrh w0, [x20, 2] |
---|
5502 | 6596 | add w0, w0, 1 |
---|
5503 | | - strh w0, [x19, 2] |
---|
5504 | | - ldr w0, [x25, 3720] |
---|
| 6597 | + strh w0, [x20, 2] |
---|
| 6598 | + ldr w0, [x19, 3712] |
---|
5505 | 6599 | cmn w0, #1 |
---|
5506 | | - bne .L799 |
---|
5507 | | - ldr w1, [x25, 3724] |
---|
5508 | | - add w21, w21, 1 |
---|
5509 | | - add x0, x24, :lo12:.LC100 |
---|
5510 | | - and w21, w21, 65535 |
---|
5511 | | - bl sftl_printk |
---|
5512 | | - cmp w21, 3 |
---|
5513 | | - bls .L797 |
---|
5514 | | - ldr w1, [x25, 3724] |
---|
5515 | | - adrp x0, .LC101 |
---|
5516 | | - mov w2, w21 |
---|
5517 | | - add x0, x0, :lo12:.LC101 |
---|
5518 | | - bl sftl_printk |
---|
5519 | | -.L801: |
---|
5520 | | - b .L801 |
---|
5521 | | -.L796: |
---|
5522 | | - ldrh w2, [x20, 3632] |
---|
5523 | | - ldr x0, [x1, 8] |
---|
5524 | | - ldr x1, [x21], 8 |
---|
5525 | | - mul w3, w19, w2 |
---|
5526 | | - lsl w2, w2, 2 |
---|
5527 | | - add w19, w19, 1 |
---|
5528 | | - add x0, x0, x3, sxtw 2 |
---|
5529 | | - bl ftl_memcpy |
---|
5530 | | - b .L795 |
---|
5531 | | -.L802: |
---|
5532 | | - mov w22, 1 |
---|
5533 | | - b .L797 |
---|
5534 | | -.L799: |
---|
| 6600 | + bne .L849 |
---|
| 6601 | + ldr w1, [x19, 3716] |
---|
5535 | 6602 | add w22, w22, 1 |
---|
5536 | | - cmp w22, 1 |
---|
5537 | | - ble .L802 |
---|
| 6603 | + and w22, w22, 65535 |
---|
| 6604 | + mov x0, x26 |
---|
| 6605 | + bl sftl_printk |
---|
| 6606 | + cmp w22, 3 |
---|
| 6607 | + bls .L847 |
---|
| 6608 | + ldr w1, [x19, 3716] |
---|
| 6609 | + adrp x0, .LC102 |
---|
| 6610 | + mov w2, w22 |
---|
| 6611 | + add x0, x0, :lo12:.LC102 |
---|
| 6612 | + bl sftl_printk |
---|
| 6613 | +.L851: |
---|
| 6614 | + b .L851 |
---|
| 6615 | +.L846: |
---|
| 6616 | + ldrh w2, [x19, 3624] |
---|
| 6617 | + add x4, x22, x20, lsl 3 |
---|
| 6618 | + ldr x0, [x1, 8] |
---|
| 6619 | + ldr x1, [x4, 32] |
---|
| 6620 | + mul w3, w2, w20 |
---|
| 6621 | + lsl w2, w2, 2 |
---|
| 6622 | + add x20, x20, 1 |
---|
| 6623 | + add x0, x0, w3, sxtw 2 |
---|
| 6624 | + bl ftl_memcpy |
---|
| 6625 | + b .L845 |
---|
| 6626 | +.L849: |
---|
| 6627 | + add w24, w24, 1 |
---|
| 6628 | + cmp w24, 1 |
---|
| 6629 | + ble .L847 |
---|
5538 | 6630 | cmp w0, 256 |
---|
5539 | | - beq .L797 |
---|
| 6631 | + beq .L847 |
---|
5540 | 6632 | mov w0, 0 |
---|
5541 | 6633 | ldp x19, x20, [sp, 16] |
---|
5542 | 6634 | ldp x21, x22, [sp, 32] |
---|
5543 | 6635 | ldp x23, x24, [sp, 48] |
---|
5544 | 6636 | ldp x25, x26, [sp, 64] |
---|
5545 | 6637 | ldp x29, x30, [sp], 80 |
---|
| 6638 | + hint 29 // autiasp |
---|
5546 | 6639 | ret |
---|
5547 | 6640 | .size FtlBbmTblFlush, .-FtlBbmTblFlush |
---|
5548 | 6641 | .align 2 |
---|
5549 | 6642 | .global allocate_data_superblock |
---|
5550 | 6643 | .type allocate_data_superblock, %function |
---|
5551 | 6644 | allocate_data_superblock: |
---|
| 6645 | + hint 34 // bti c |
---|
| 6646 | + .section __patchable_function_entries |
---|
| 6647 | + .align 3 |
---|
| 6648 | + .8byte .LPFE80 |
---|
| 6649 | + .text |
---|
| 6650 | +.LPFE80: |
---|
| 6651 | + nop |
---|
| 6652 | + nop |
---|
| 6653 | + hint 25 // paciasp |
---|
5552 | 6654 | stp x29, x30, [sp, -112]! |
---|
5553 | | - add x29, sp, 0 |
---|
5554 | | - stp x21, x22, [sp, 32] |
---|
5555 | | - adrp x21, .LANCHOR0 |
---|
5556 | | - add x22, x21, :lo12:.LANCHOR0 |
---|
| 6655 | + mov x29, sp |
---|
5557 | 6656 | stp x19, x20, [sp, 16] |
---|
5558 | | - stp x23, x24, [sp, 48] |
---|
| 6657 | + adrp x19, .LANCHOR0 |
---|
| 6658 | + add x19, x19, :lo12:.LANCHOR0 |
---|
5559 | 6659 | mov x20, x0 |
---|
5560 | | - mov x19, x22 |
---|
5561 | | - add x23, x22, 128 |
---|
| 6660 | + stp x23, x24, [sp, 48] |
---|
| 6661 | + adrp x23, .LANCHOR1 |
---|
| 6662 | + add x23, x23, :lo12:.LANCHOR1 |
---|
5562 | 6663 | stp x25, x26, [sp, 64] |
---|
| 6664 | + add x25, x19, 128 |
---|
| 6665 | + stp x21, x22, [sp, 32] |
---|
5563 | 6666 | stp x27, x28, [sp, 80] |
---|
5564 | | -.L808: |
---|
5565 | | - ldrh w1, [x22, 2584] |
---|
5566 | | - ldrh w0, [x22, 228] |
---|
5567 | | - add w0, w0, w1 |
---|
5568 | | - ldrh w1, [x22, 244] |
---|
5569 | | - cmp w0, w1 |
---|
5570 | | - ble .L809 |
---|
5571 | | - adrp x1, .LANCHOR1 |
---|
5572 | | - add x1, x1, :lo12:.LANCHOR1 |
---|
5573 | | - adrp x0, .LC8 |
---|
5574 | | - mov w2, 2667 |
---|
5575 | | - add x1, x1, 336 |
---|
5576 | | - add x0, x0, :lo12:.LC8 |
---|
5577 | | - bl sftl_printk |
---|
5578 | | -.L809: |
---|
5579 | | - cmp x20, x23 |
---|
5580 | | - bne .L835 |
---|
| 6667 | +.L857: |
---|
| 6668 | + ldrh w1, [x19, 2584] |
---|
5581 | 6669 | ldrh w0, [x19, 228] |
---|
5582 | | - ldr w1, [x19, 3236] |
---|
5583 | | - mul w1, w0, w1 |
---|
5584 | | - lsr w0, w0, 1 |
---|
5585 | | - add w0, w0, 1 |
---|
5586 | | - add w1, w0, w1, lsr 2 |
---|
5587 | | - ands w1, w1, 65535 |
---|
5588 | | - beq .L810 |
---|
5589 | | - sub w1, w1, #1 |
---|
5590 | | - and w1, w1, 65535 |
---|
5591 | | -.L810: |
---|
| 6670 | + add w0, w0, w1 |
---|
| 6671 | + ldrh w1, [x19, 244] |
---|
| 6672 | + cmp w0, w1 |
---|
| 6673 | + ble .L858 |
---|
| 6674 | + adrp x0, .LC9 |
---|
| 6675 | + add x1, x23, 271 |
---|
| 6676 | + add x0, x0, :lo12:.LC9 |
---|
| 6677 | + mov w2, 2667 |
---|
| 6678 | + bl sftl_printk |
---|
| 6679 | +.L858: |
---|
| 6680 | + cmp x20, x25 |
---|
| 6681 | + bne .L883 |
---|
| 6682 | + ldrh w1, [x19, 228] |
---|
| 6683 | + mov w2, 65535 |
---|
| 6684 | + ldr w0, [x19, 3236] |
---|
| 6685 | + mul w0, w1, w0 |
---|
| 6686 | + lsr w1, w1, 1 |
---|
| 6687 | + add w0, w1, w0, lsr 2 |
---|
| 6688 | + and w1, w0, 65535 |
---|
| 6689 | + cmp w2, w0, uxth |
---|
| 6690 | + csel w1, w1, wzr, ne |
---|
| 6691 | +.L859: |
---|
5592 | 6692 | add x0, x19, 2592 |
---|
5593 | 6693 | bl List_pop_index_node |
---|
5594 | | - and w26, w0, 65535 |
---|
| 6694 | + and w22, w0, 65535 |
---|
5595 | 6695 | ldrh w0, [x19, 228] |
---|
5596 | | - cbnz w0, .L811 |
---|
5597 | | - adrp x1, .LANCHOR1 |
---|
5598 | | - add x1, x1, :lo12:.LANCHOR1 |
---|
5599 | | - adrp x0, .LC8 |
---|
| 6696 | + cbnz w0, .L860 |
---|
| 6697 | + adrp x0, .LC9 |
---|
| 6698 | + add x1, x23, 271 |
---|
| 6699 | + add x0, x0, :lo12:.LC9 |
---|
5600 | 6700 | mov w2, 2676 |
---|
5601 | | - add x1, x1, 336 |
---|
5602 | | - add x0, x0, :lo12:.LC8 |
---|
5603 | 6701 | bl sftl_printk |
---|
5604 | | -.L811: |
---|
| 6702 | +.L860: |
---|
5605 | 6703 | ldrh w0, [x19, 228] |
---|
5606 | 6704 | sub w0, w0, #1 |
---|
5607 | 6705 | strh w0, [x19, 228] |
---|
5608 | 6706 | ldrh w0, [x19, 244] |
---|
5609 | | - cmp w0, w26 |
---|
5610 | | - bls .L808 |
---|
| 6707 | + cmp w0, w22 |
---|
| 6708 | + bls .L857 |
---|
5611 | 6709 | ldr x0, [x19, 72] |
---|
5612 | | - ubfiz x25, x26, 1, 16 |
---|
5613 | | - ldrh w24, [x0, x25] |
---|
5614 | | - cbnz w24, .L808 |
---|
5615 | | - strh w26, [x20] |
---|
| 6710 | + ubfiz x24, x22, 1, 16 |
---|
| 6711 | + ldrh w21, [x0, x24] |
---|
| 6712 | + cbnz w21, .L857 |
---|
| 6713 | + strh w22, [x20] |
---|
5616 | 6714 | mov x0, x20 |
---|
5617 | 6715 | bl make_superblock |
---|
5618 | 6716 | ldrb w0, [x20, 7] |
---|
5619 | | - cbnz w0, .L813 |
---|
| 6717 | + cbnz w0, .L862 |
---|
5620 | 6718 | ldr x0, [x19, 72] |
---|
5621 | 6719 | mov w1, -1 |
---|
5622 | | - strh w1, [x0, x25] |
---|
5623 | | - mov w0, w26 |
---|
| 6720 | + strh w1, [x0, x24] |
---|
| 6721 | + mov w0, w22 |
---|
5624 | 6722 | bl INSERT_DATA_LIST |
---|
5625 | 6723 | ldrh w1, [x19, 2584] |
---|
5626 | 6724 | ldrh w0, [x19, 228] |
---|
5627 | 6725 | add w0, w0, w1 |
---|
5628 | 6726 | ldrh w1, [x19, 244] |
---|
5629 | 6727 | cmp w0, w1 |
---|
5630 | | - ble .L808 |
---|
5631 | | - adrp x1, .LANCHOR1 |
---|
5632 | | - add x1, x1, :lo12:.LANCHOR1 |
---|
| 6728 | + ble .L857 |
---|
| 6729 | + add x1, x23, 271 |
---|
5633 | 6730 | mov w2, 2690 |
---|
5634 | | - add x1, x1, 336 |
---|
5635 | | - adrp x0, .LC8 |
---|
5636 | | - add x0, x0, :lo12:.LC8 |
---|
| 6731 | + adrp x0, .LC9 |
---|
| 6732 | + add x0, x0, :lo12:.LC9 |
---|
5637 | 6733 | bl sftl_printk |
---|
5638 | | - b .L808 |
---|
5639 | | -.L835: |
---|
| 6734 | + b .L857 |
---|
| 6735 | +.L883: |
---|
5640 | 6736 | mov w1, 0 |
---|
5641 | | - b .L810 |
---|
5642 | | -.L813: |
---|
| 6737 | + b .L859 |
---|
| 6738 | +.L862: |
---|
5643 | 6739 | ldrh w1, [x19, 2584] |
---|
5644 | 6740 | ldrh w0, [x19, 228] |
---|
5645 | 6741 | add w0, w0, w1 |
---|
5646 | 6742 | ldrh w1, [x19, 244] |
---|
5647 | 6743 | cmp w0, w1 |
---|
5648 | | - ble .L815 |
---|
5649 | | - adrp x1, .LANCHOR1 |
---|
5650 | | - add x1, x1, :lo12:.LANCHOR1 |
---|
5651 | | - adrp x0, .LC8 |
---|
| 6744 | + ble .L864 |
---|
| 6745 | + adrp x0, .LC9 |
---|
| 6746 | + add x1, x23, 271 |
---|
| 6747 | + add x0, x0, :lo12:.LC9 |
---|
5652 | 6748 | mov w2, 2693 |
---|
5653 | | - add x1, x1, 336 |
---|
5654 | | - add x0, x0, :lo12:.LC8 |
---|
5655 | 6749 | bl sftl_printk |
---|
5656 | | -.L815: |
---|
5657 | | - add x27, x20, 16 |
---|
5658 | | - ldrh w4, [x19, 236] |
---|
5659 | | - mov x3, x27 |
---|
| 6750 | +.L864: |
---|
| 6751 | + ldrh w3, [x19, 236] |
---|
| 6752 | + add x4, x20, 16 |
---|
5660 | 6753 | mov x0, 0 |
---|
5661 | 6754 | mov w5, 65535 |
---|
5662 | | -.L816: |
---|
5663 | | - cmp w4, w0, uxth |
---|
5664 | | - bhi .L818 |
---|
5665 | | - cbnz w24, .L819 |
---|
5666 | | - adrp x1, .LANCHOR1 |
---|
5667 | | - add x1, x1, :lo12:.LANCHOR1 |
---|
5668 | | - adrp x0, .LC8 |
---|
| 6755 | +.L865: |
---|
| 6756 | + cmp w3, w0, uxth |
---|
| 6757 | + bhi .L867 |
---|
| 6758 | + cbnz w21, .L868 |
---|
| 6759 | + adrp x0, .LC9 |
---|
| 6760 | + add x1, x23, 271 |
---|
| 6761 | + add x0, x0, :lo12:.LC9 |
---|
5669 | 6762 | mov w2, 2704 |
---|
5670 | | - add x1, x1, 336 |
---|
5671 | | - add x0, x0, :lo12:.LC8 |
---|
5672 | 6763 | bl sftl_printk |
---|
5673 | | -.L819: |
---|
| 6764 | +.L868: |
---|
5674 | 6765 | ldrh w0, [x19, 176] |
---|
5675 | | - cmp w0, w26 |
---|
5676 | | - bne .L820 |
---|
5677 | | - adrp x1, .LANCHOR1 |
---|
5678 | | - add x1, x1, :lo12:.LANCHOR1 |
---|
5679 | | - adrp x0, .LC8 |
---|
| 6766 | + cmp w0, w22 |
---|
| 6767 | + bne .L869 |
---|
| 6768 | + adrp x0, .LC9 |
---|
| 6769 | + add x1, x23, 271 |
---|
| 6770 | + add x0, x0, :lo12:.LC9 |
---|
5680 | 6771 | mov w2, 2706 |
---|
5681 | | - add x1, x1, 336 |
---|
5682 | | - add x0, x0, :lo12:.LC8 |
---|
5683 | 6772 | bl sftl_printk |
---|
5684 | | -.L820: |
---|
5685 | | - ldrb w0, [x20, 8] |
---|
5686 | | - ldr x1, [x19, 2600] |
---|
5687 | | - cbnz w0, .L821 |
---|
5688 | | - ldrh w0, [x1, x25] |
---|
5689 | | - cbz w0, .L822 |
---|
| 6773 | +.L869: |
---|
| 6774 | + ldrb w2, [x20, 8] |
---|
| 6775 | + ldr x0, [x19, 2600] |
---|
| 6776 | + ldrh w1, [x0, x24] |
---|
| 6777 | + cbnz w2, .L870 |
---|
| 6778 | + cbz w1, .L884 |
---|
5690 | 6779 | ldrh w2, [x19, 296] |
---|
5691 | | - add w0, w0, w2 |
---|
5692 | | -.L843: |
---|
5693 | | - strh w0, [x1, x25] |
---|
| 6780 | + add w1, w1, w2 |
---|
| 6781 | + and w1, w1, 65535 |
---|
| 6782 | +.L871: |
---|
| 6783 | + strh w1, [x0, x24] |
---|
5694 | 6784 | ldr w0, [x19, 2668] |
---|
5695 | 6785 | add w0, w0, 1 |
---|
5696 | 6786 | str w0, [x19, 2668] |
---|
5697 | | -.L824: |
---|
| 6787 | +.L872: |
---|
5698 | 6788 | ldr x0, [x19, 2600] |
---|
5699 | 6789 | ldr w1, [x19, 2684] |
---|
5700 | | - ldrh w0, [x0, x25] |
---|
| 6790 | + ldrh w0, [x0, x24] |
---|
5701 | 6791 | cmp w0, w1 |
---|
5702 | | - bls .L825 |
---|
| 6792 | + bls .L873 |
---|
5703 | 6793 | str w0, [x19, 2684] |
---|
5704 | | -.L825: |
---|
| 6794 | +.L873: |
---|
5705 | 6795 | ldr w1, [x19, 2672] |
---|
5706 | | - ubfiz x3, x24, 5, 16 |
---|
5707 | 6796 | ldrh w0, [x19, 296] |
---|
5708 | 6797 | ldr w2, [x19, 2668] |
---|
5709 | 6798 | madd w0, w0, w2, w1 |
---|
5710 | 6799 | ldrh w1, [x19, 244] |
---|
5711 | 6800 | udiv w0, w0, w1 |
---|
5712 | | - ldr x1, [x19, 3552] |
---|
| 6801 | + ldr x1, [x19, 3544] |
---|
5713 | 6802 | str w0, [x19, 2676] |
---|
5714 | 6803 | ldr w0, [x1, 16] |
---|
5715 | 6804 | add w0, w0, 1 |
---|
5716 | 6805 | str w0, [x1, 16] |
---|
5717 | | - mov x0, 0 |
---|
5718 | | -.L826: |
---|
5719 | | - cmp x3, x0 |
---|
5720 | | - bne .L827 |
---|
| 6806 | + mov x1, 0 |
---|
| 6807 | +.L874: |
---|
| 6808 | + ldr x0, [x19, 3400] |
---|
| 6809 | + cmp w21, w1, uxth |
---|
| 6810 | + bhi .L875 |
---|
5721 | 6811 | ldrb w1, [x20, 8] |
---|
5722 | | - mov w2, w24 |
---|
5723 | | - ldr x0, [x19, 3408] |
---|
5724 | | - mov x28, 0 |
---|
| 6812 | + mov w2, w21 |
---|
| 6813 | + mov x26, 0 |
---|
| 6814 | + mov w27, 0 |
---|
5725 | 6815 | bl FlashEraseBlocks |
---|
5726 | | - mov w1, 0 |
---|
5727 | | -.L828: |
---|
5728 | | - cmp w24, w28, uxth |
---|
5729 | | - bhi .L830 |
---|
5730 | | - cmp w1, 0 |
---|
5731 | | - ble .L831 |
---|
5732 | | - mov w0, w26 |
---|
| 6816 | + add x2, x20, 16 |
---|
| 6817 | +.L876: |
---|
| 6818 | + cmp w21, w26, uxth |
---|
| 6819 | + bhi .L878 |
---|
| 6820 | + cmp w27, 0 |
---|
| 6821 | + ble .L879 |
---|
| 6822 | + mov w0, w22 |
---|
5733 | 6823 | bl update_multiplier_value |
---|
5734 | 6824 | bl FtlBbmTblFlush |
---|
5735 | | -.L831: |
---|
| 6825 | +.L879: |
---|
5736 | 6826 | ldrb w0, [x20, 7] |
---|
5737 | | - cbnz w0, .L832 |
---|
| 6827 | + cbnz w0, .L880 |
---|
5738 | 6828 | ldr x0, [x19, 72] |
---|
5739 | 6829 | mov w1, -1 |
---|
5740 | | - strh w1, [x0, x25] |
---|
5741 | | - b .L808 |
---|
5742 | | -.L818: |
---|
5743 | | - ldr x1, [x19, 3408] |
---|
| 6830 | + strh w1, [x0, x24] |
---|
| 6831 | + b .L857 |
---|
| 6832 | +.L867: |
---|
| 6833 | + ldr x1, [x19, 3400] |
---|
5744 | 6834 | add x2, x1, x0, lsl 5 |
---|
5745 | 6835 | stp xzr, xzr, [x2, 8] |
---|
5746 | | - ldrh w2, [x3] |
---|
| 6836 | + ldrh w2, [x4, x0, lsl 1] |
---|
5747 | 6837 | cmp w2, w5 |
---|
5748 | | - beq .L817 |
---|
5749 | | - ubfiz x6, x24, 5, 16 |
---|
5750 | | - add w24, w24, 1 |
---|
| 6838 | + beq .L866 |
---|
| 6839 | + ubfiz x6, x21, 5, 16 |
---|
| 6840 | + add w21, w21, 1 |
---|
5751 | 6841 | add x1, x1, x6 |
---|
5752 | | - and w24, w24, 65535 |
---|
| 6842 | + and w21, w21, 65535 |
---|
5753 | 6843 | lsl w2, w2, 10 |
---|
5754 | 6844 | str w2, [x1, 4] |
---|
5755 | | -.L817: |
---|
| 6845 | +.L866: |
---|
5756 | 6846 | add x0, x0, 1 |
---|
5757 | | - add x3, x3, 2 |
---|
5758 | | - b .L816 |
---|
5759 | | -.L822: |
---|
5760 | | - mov w0, 2 |
---|
5761 | | - b .L843 |
---|
5762 | | -.L821: |
---|
5763 | | - ldrh w0, [x1, x25] |
---|
5764 | | - add w0, w0, 1 |
---|
5765 | | - strh w0, [x1, x25] |
---|
| 6847 | + b .L865 |
---|
| 6848 | +.L884: |
---|
| 6849 | + mov w1, 2 |
---|
| 6850 | + b .L871 |
---|
| 6851 | +.L870: |
---|
| 6852 | + add w1, w1, 1 |
---|
| 6853 | + strh w1, [x0, x24] |
---|
5766 | 6854 | ldr w0, [x19, 2672] |
---|
5767 | 6855 | add w0, w0, 1 |
---|
5768 | 6856 | str w0, [x19, 2672] |
---|
5769 | | - b .L824 |
---|
5770 | | -.L827: |
---|
5771 | | - ldr x1, [x19, 3408] |
---|
5772 | | - add x1, x1, x0 |
---|
5773 | | - add x0, x0, 32 |
---|
5774 | | - ldr w2, [x1, 4] |
---|
| 6857 | + b .L872 |
---|
| 6858 | +.L875: |
---|
| 6859 | + add x0, x0, x1, lsl 5 |
---|
| 6860 | + add x1, x1, 1 |
---|
| 6861 | + ldr w2, [x0, 4] |
---|
5775 | 6862 | and w2, w2, -1024 |
---|
5776 | | - str w2, [x1, 4] |
---|
5777 | | - b .L826 |
---|
5778 | | -.L830: |
---|
5779 | | - ldr x2, [x19, 3408] |
---|
5780 | | - lsl x0, x28, 5 |
---|
5781 | | - add x3, x2, x0 |
---|
5782 | | - ldr w2, [x2, x0] |
---|
5783 | | - cmn w2, #1 |
---|
5784 | | - bne .L829 |
---|
5785 | | - add w1, w1, 1 |
---|
| 6863 | + str w2, [x0, 4] |
---|
| 6864 | + b .L874 |
---|
| 6865 | +.L878: |
---|
| 6866 | + ldr x1, [x19, 3400] |
---|
| 6867 | + lsl x0, x26, 5 |
---|
| 6868 | + ldr w28, [x1, x0] |
---|
| 6869 | + add x3, x1, x26, lsl 5 |
---|
| 6870 | + cmn w28, #1 |
---|
| 6871 | + bne .L877 |
---|
5786 | 6872 | ldr w0, [x3, 4] |
---|
5787 | | - stp w2, w1, [x29, 104] |
---|
5788 | | - lsr w0, w0, 10 |
---|
| 6873 | + add w27, w27, 1 |
---|
| 6874 | + str x2, [sp, 104] |
---|
| 6875 | + ubfx x0, x0, 10, 16 |
---|
5789 | 6876 | bl FtlBbmMapBadBlock |
---|
5790 | | - ldp w2, w1, [x29, 104] |
---|
5791 | | - strh w2, [x27] |
---|
| 6877 | + ldr x2, [sp, 104] |
---|
| 6878 | + strh w28, [x2, x26, lsl 1] |
---|
5792 | 6879 | ldrb w0, [x20, 7] |
---|
5793 | 6880 | sub w0, w0, #1 |
---|
5794 | 6881 | strb w0, [x20, 7] |
---|
5795 | | -.L829: |
---|
5796 | | - add x28, x28, 1 |
---|
5797 | | - add x27, x27, 2 |
---|
5798 | | - b .L828 |
---|
5799 | | -.L832: |
---|
5800 | | - add x21, x21, :lo12:.LANCHOR0 |
---|
| 6882 | +.L877: |
---|
| 6883 | + add x26, x26, 1 |
---|
| 6884 | + b .L876 |
---|
| 6885 | +.L880: |
---|
| 6886 | + ldrh w1, [x19, 306] |
---|
| 6887 | + strh w22, [x20] |
---|
5801 | 6888 | strh wzr, [x20, 2] |
---|
5802 | 6889 | strb wzr, [x20, 6] |
---|
5803 | | - ldrh w1, [x21, 306] |
---|
5804 | | - strh w26, [x20] |
---|
5805 | 6890 | mul w0, w0, w1 |
---|
5806 | | - ldr w1, [x21, 2660] |
---|
| 6891 | + ldr w1, [x19, 2660] |
---|
5807 | 6892 | str w1, [x20, 12] |
---|
5808 | 6893 | and w0, w0, 65535 |
---|
5809 | 6894 | add w1, w1, 1 |
---|
5810 | 6895 | strh w0, [x20, 4] |
---|
5811 | | - str w1, [x21, 2660] |
---|
5812 | | - ldr x1, [x21, 72] |
---|
| 6896 | + str w1, [x19, 2660] |
---|
| 6897 | + ldr x1, [x19, 72] |
---|
5813 | 6898 | ldrh w2, [x20] |
---|
5814 | 6899 | strh w0, [x1, x2, lsl 1] |
---|
5815 | 6900 | ldrh w0, [x20, 4] |
---|
5816 | | - cbz w0, .L833 |
---|
| 6901 | + cbz w0, .L881 |
---|
5817 | 6902 | ldrb w0, [x20, 7] |
---|
5818 | | - cbnz w0, .L834 |
---|
5819 | | -.L833: |
---|
| 6903 | + cbnz w0, .L882 |
---|
| 6904 | +.L881: |
---|
5820 | 6905 | adrp x1, .LANCHOR1 |
---|
5821 | 6906 | add x1, x1, :lo12:.LANCHOR1 |
---|
5822 | | - adrp x0, .LC8 |
---|
| 6907 | + adrp x0, .LC9 |
---|
| 6908 | + add x1, x1, 271 |
---|
| 6909 | + add x0, x0, :lo12:.LC9 |
---|
5823 | 6910 | mov w2, 2759 |
---|
5824 | | - add x1, x1, 336 |
---|
5825 | | - add x0, x0, :lo12:.LC8 |
---|
5826 | 6911 | bl sftl_printk |
---|
5827 | | -.L834: |
---|
5828 | | - ldp x19, x20, [sp, 16] |
---|
| 6912 | +.L882: |
---|
5829 | 6913 | mov w0, 0 |
---|
| 6914 | + ldp x19, x20, [sp, 16] |
---|
5830 | 6915 | ldp x21, x22, [sp, 32] |
---|
5831 | 6916 | ldp x23, x24, [sp, 48] |
---|
5832 | 6917 | ldp x25, x26, [sp, 64] |
---|
5833 | 6918 | ldp x27, x28, [sp, 80] |
---|
5834 | 6919 | ldp x29, x30, [sp], 112 |
---|
| 6920 | + hint 29 // autiasp |
---|
5835 | 6921 | ret |
---|
5836 | 6922 | .size allocate_data_superblock, .-allocate_data_superblock |
---|
| 6923 | + .section .rodata.str1.1 |
---|
| 6924 | +.LC103: |
---|
| 6925 | + .string "FtlGcFreeBadSuperBlk 0x%x\n" |
---|
| 6926 | + .text |
---|
5837 | 6927 | .align 2 |
---|
5838 | 6928 | .global FtlGcFreeBadSuperBlk |
---|
5839 | 6929 | .type FtlGcFreeBadSuperBlk, %function |
---|
5840 | 6930 | FtlGcFreeBadSuperBlk: |
---|
| 6931 | + hint 34 // bti c |
---|
| 6932 | + .section __patchable_function_entries |
---|
| 6933 | + .align 3 |
---|
| 6934 | + .8byte .LPFE81 |
---|
| 6935 | + .text |
---|
| 6936 | +.LPFE81: |
---|
| 6937 | + nop |
---|
| 6938 | + nop |
---|
| 6939 | + hint 25 // paciasp |
---|
5841 | 6940 | stp x29, x30, [sp, -96]! |
---|
5842 | | - add x29, sp, 0 |
---|
| 6941 | + mov x29, sp |
---|
5843 | 6942 | stp x19, x20, [sp, 16] |
---|
5844 | 6943 | adrp x19, .LANCHOR0 |
---|
5845 | 6944 | add x19, x19, :lo12:.LANCHOR0 |
---|
5846 | | - stp x21, x22, [sp, 32] |
---|
5847 | | - and w22, w0, 65535 |
---|
5848 | | - stp x23, x24, [sp, 48] |
---|
5849 | 6945 | stp x25, x26, [sp, 64] |
---|
| 6946 | + and w25, w0, 65535 |
---|
5850 | 6947 | ldrh w0, [x19, 3312] |
---|
| 6948 | + stp x21, x22, [sp, 32] |
---|
| 6949 | + stp x23, x24, [sp, 48] |
---|
5851 | 6950 | str x27, [sp, 80] |
---|
5852 | | - cbz w0, .L845 |
---|
5853 | | - add x23, x19, 264 |
---|
5854 | | - add x24, x19, 3320 |
---|
5855 | | - mov w21, 0 |
---|
5856 | | -.L846: |
---|
5857 | | - ldrh w0, [x19, 236] |
---|
5858 | | - cmp w0, w21 |
---|
5859 | | - bhi .L852 |
---|
5860 | | - bl FtlGcReFreshBadBlk |
---|
5861 | | -.L845: |
---|
| 6951 | + cbnz w0, .L896 |
---|
| 6952 | +.L891: |
---|
5862 | 6953 | mov w0, 0 |
---|
5863 | | - ldr x27, [sp, 80] |
---|
5864 | 6954 | ldp x19, x20, [sp, 16] |
---|
5865 | 6955 | ldp x21, x22, [sp, 32] |
---|
5866 | 6956 | ldp x23, x24, [sp, 48] |
---|
5867 | 6957 | ldp x25, x26, [sp, 64] |
---|
| 6958 | + ldr x27, [sp, 80] |
---|
5868 | 6959 | ldp x29, x30, [sp], 96 |
---|
| 6960 | + hint 29 // autiasp |
---|
5869 | 6961 | ret |
---|
5870 | | -.L852: |
---|
5871 | | - ldrb w0, [x23, w21, sxtw] |
---|
5872 | | - mov w1, w22 |
---|
5873 | | - adrp x26, .LC102 |
---|
5874 | | - add x26, x26, :lo12:.LC102 |
---|
| 6962 | +.L895: |
---|
| 6963 | + add x0, x19, 264 |
---|
| 6964 | + mov w1, w25 |
---|
5875 | 6965 | mov w20, 0 |
---|
| 6966 | + ldrb w0, [x0, w21, sxtw] |
---|
5876 | 6967 | bl V2P_block |
---|
5877 | | - and w25, w0, 65535 |
---|
5878 | | -.L847: |
---|
| 6968 | + and w22, w0, 65535 |
---|
| 6969 | +.L892: |
---|
5879 | 6970 | ldrh w0, [x19, 3312] |
---|
5880 | 6971 | cmp w0, w20 |
---|
5881 | | - bhi .L851 |
---|
| 6972 | + bhi .L894 |
---|
5882 | 6973 | add w21, w21, 1 |
---|
5883 | 6974 | and w21, w21, 65535 |
---|
5884 | | - b .L846 |
---|
5885 | | -.L851: |
---|
| 6975 | +.L890: |
---|
| 6976 | + ldrh w0, [x19, 236] |
---|
| 6977 | + cmp w0, w21 |
---|
| 6978 | + bhi .L895 |
---|
| 6979 | + bl FtlGcReFreshBadBlk |
---|
| 6980 | + b .L891 |
---|
| 6981 | +.L894: |
---|
5886 | 6982 | ldrh w0, [x24, w20, sxtw 1] |
---|
5887 | 6983 | add w27, w20, 1 |
---|
5888 | | - cmp w0, w25 |
---|
5889 | | - bne .L848 |
---|
5890 | | - mov w1, w25 |
---|
| 6984 | + cmp w0, w22 |
---|
| 6985 | + bne .L893 |
---|
| 6986 | + mov w1, w22 |
---|
5891 | 6987 | mov x0, x26 |
---|
5892 | 6988 | bl sftl_printk |
---|
5893 | | - mov w0, w25 |
---|
| 6989 | + mov w0, w22 |
---|
5894 | 6990 | bl FtlBbmMapBadBlock |
---|
5895 | 6991 | bl FtlBbmTblFlush |
---|
5896 | | - ldrh w0, [x19, 3312] |
---|
5897 | | - mov w1, w27 |
---|
5898 | | -.L849: |
---|
5899 | | - cmp w20, w0 |
---|
5900 | | - bcc .L850 |
---|
5901 | | - sub w0, w0, #1 |
---|
5902 | | - strh w0, [x19, 3312] |
---|
5903 | | -.L848: |
---|
| 6992 | + ldrh w23, [x19, 3312] |
---|
| 6993 | + add x1, x24, w27, sxtw 1 |
---|
| 6994 | + add x0, x24, w20, uxth 1 |
---|
| 6995 | + cmp w20, w23 |
---|
| 6996 | + sub w2, w23, w20 |
---|
| 6997 | + sub w23, w23, #1 |
---|
| 6998 | + ubfiz x2, x2, 1, 16 |
---|
| 6999 | + csel x2, x2, xzr, ls |
---|
| 7000 | + bl memmove |
---|
| 7001 | + strh w23, [x19, 3312] |
---|
| 7002 | +.L893: |
---|
5904 | 7003 | and w20, w27, 65535 |
---|
5905 | | - b .L847 |
---|
5906 | | -.L850: |
---|
5907 | | - sub w2, w1, #1 |
---|
5908 | | - ldrh w3, [x24, w1, sxtw 1] |
---|
5909 | | - add w20, w20, 1 |
---|
5910 | | - add w1, w1, 1 |
---|
5911 | | - and w20, w20, 65535 |
---|
5912 | | - strh w3, [x24, w2, sxtw 1] |
---|
5913 | | - b .L849 |
---|
| 7004 | + b .L892 |
---|
| 7005 | +.L896: |
---|
| 7006 | + adrp x26, .LC103 |
---|
| 7007 | + add x24, x19, 3314 |
---|
| 7008 | + add x26, x26, :lo12:.LC103 |
---|
| 7009 | + mov w21, 0 |
---|
| 7010 | + b .L890 |
---|
5914 | 7011 | .size FtlGcFreeBadSuperBlk, .-FtlGcFreeBadSuperBlk |
---|
5915 | 7012 | .align 2 |
---|
5916 | 7013 | .global update_vpc_list |
---|
5917 | 7014 | .type update_vpc_list, %function |
---|
5918 | 7015 | update_vpc_list: |
---|
5919 | | - stp x29, x30, [sp, -48]! |
---|
5920 | | - add x29, sp, 0 |
---|
| 7016 | + hint 34 // bti c |
---|
| 7017 | + .section __patchable_function_entries |
---|
| 7018 | + .align 3 |
---|
| 7019 | + .8byte .LPFE82 |
---|
| 7020 | + .text |
---|
| 7021 | +.LPFE82: |
---|
| 7022 | + nop |
---|
| 7023 | + nop |
---|
| 7024 | + hint 25 // paciasp |
---|
| 7025 | + stp x29, x30, [sp, -32]! |
---|
| 7026 | + mov x29, sp |
---|
5921 | 7027 | stp x19, x20, [sp, 16] |
---|
5922 | | - and w20, w0, 65535 |
---|
5923 | 7028 | adrp x19, .LANCHOR0 |
---|
5924 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
5925 | | - str x21, [sp, 32] |
---|
5926 | | - ubfiz x1, x20, 1, 16 |
---|
5927 | | - ldr x2, [x0, 72] |
---|
5928 | | - ldrh w1, [x2, x1] |
---|
5929 | | - cbnz w1, .L858 |
---|
5930 | | - ldrh w1, [x0, 226] |
---|
5931 | | - cmp w1, w20 |
---|
5932 | | - bne .L859 |
---|
5933 | | - mov w1, -1 |
---|
5934 | | - strh w1, [x0, 226] |
---|
5935 | | -.L859: |
---|
5936 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
5937 | | - ldrh w1, [x0, 224] |
---|
5938 | | - cmp w1, w20 |
---|
5939 | | - bne .L860 |
---|
5940 | | - mov w1, -1 |
---|
5941 | | - strh w1, [x0, 224] |
---|
5942 | | -.L860: |
---|
5943 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
5944 | | - ldrh w1, [x0, 176] |
---|
5945 | | - cmp w1, w20 |
---|
5946 | | - bne .L861 |
---|
5947 | | - mov w1, -1 |
---|
5948 | | - strh w1, [x0, 176] |
---|
5949 | | -.L862: |
---|
5950 | | - add x21, x19, :lo12:.LANCHOR0 |
---|
| 7029 | + add x19, x19, :lo12:.LANCHOR0 |
---|
| 7030 | + and w20, w0, 65535 |
---|
| 7031 | + ubfiz x0, x0, 1, 16 |
---|
| 7032 | + ldr x1, [x19, 72] |
---|
| 7033 | + ldrh w0, [x1, x0] |
---|
| 7034 | + cbnz w0, .L899 |
---|
| 7035 | + ldrh w0, [x19, 226] |
---|
| 7036 | + cmp w0, w20 |
---|
| 7037 | + bne .L900 |
---|
| 7038 | + mov w0, -1 |
---|
| 7039 | + strh w0, [x19, 226] |
---|
| 7040 | +.L900: |
---|
| 7041 | + ldrh w0, [x19, 224] |
---|
| 7042 | + cmp w0, w20 |
---|
| 7043 | + bne .L901 |
---|
| 7044 | + mov w0, -1 |
---|
| 7045 | + strh w0, [x19, 224] |
---|
| 7046 | +.L901: |
---|
| 7047 | + ldrh w0, [x19, 176] |
---|
| 7048 | + cmp w0, w20 |
---|
| 7049 | + bne .L902 |
---|
| 7050 | + mov w0, -1 |
---|
| 7051 | + strh w0, [x19, 176] |
---|
| 7052 | +.L903: |
---|
5951 | 7053 | mov w1, w20 |
---|
5952 | | - add x0, x21, 2568 |
---|
| 7054 | + add x0, x19, 2568 |
---|
5953 | 7055 | bl List_remove_node |
---|
5954 | | - ldrh w0, [x21, 2584] |
---|
5955 | | - cbnz w0, .L864 |
---|
| 7056 | + ldrh w0, [x19, 2584] |
---|
| 7057 | + cbnz w0, .L905 |
---|
5956 | 7058 | adrp x1, .LANCHOR1 |
---|
5957 | 7059 | add x1, x1, :lo12:.LANCHOR1 |
---|
5958 | | - adrp x0, .LC8 |
---|
| 7060 | + adrp x0, .LC9 |
---|
| 7061 | + add x1, x1, 296 |
---|
| 7062 | + add x0, x0, :lo12:.LC9 |
---|
5959 | 7063 | mov w2, 2835 |
---|
5960 | | - add x1, x1, 368 |
---|
5961 | | - add x0, x0, :lo12:.LC8 |
---|
5962 | 7064 | bl sftl_printk |
---|
5963 | | -.L864: |
---|
5964 | | - add x19, x19, :lo12:.LANCHOR0 |
---|
| 7065 | +.L905: |
---|
5965 | 7066 | ldrh w0, [x19, 2584] |
---|
5966 | 7067 | sub w0, w0, #1 |
---|
5967 | 7068 | strh w0, [x19, 2584] |
---|
.. | .. |
---|
5974 | 7075 | add w0, w0, w1 |
---|
5975 | 7076 | ldrh w1, [x19, 244] |
---|
5976 | 7077 | cmp w0, w1 |
---|
5977 | | - ble .L868 |
---|
| 7078 | + ble .L909 |
---|
5978 | 7079 | adrp x1, .LANCHOR1 |
---|
5979 | 7080 | add x1, x1, :lo12:.LANCHOR1 |
---|
5980 | | - adrp x0, .LC8 |
---|
| 7081 | + adrp x0, .LC9 |
---|
| 7082 | + add x1, x1, 296 |
---|
| 7083 | + add x0, x0, :lo12:.LC9 |
---|
5981 | 7084 | mov w2, 2838 |
---|
5982 | | - add x1, x1, 368 |
---|
5983 | | - add x0, x0, :lo12:.LC8 |
---|
5984 | 7085 | bl sftl_printk |
---|
5985 | | -.L868: |
---|
| 7086 | +.L909: |
---|
5986 | 7087 | mov w0, 1 |
---|
5987 | | - b .L857 |
---|
5988 | | -.L861: |
---|
5989 | | - ldrh w1, [x0, 24] |
---|
5990 | | - cmp w1, w20 |
---|
5991 | | - beq .L867 |
---|
5992 | | - ldrh w1, [x0, 80] |
---|
5993 | | - cmp w1, w20 |
---|
5994 | | - beq .L867 |
---|
5995 | | - ldrh w0, [x0, 128] |
---|
| 7088 | + b .L898 |
---|
| 7089 | +.L902: |
---|
| 7090 | + ldrh w0, [x19, 24] |
---|
5996 | 7091 | cmp w0, w20 |
---|
5997 | | - bne .L862 |
---|
5998 | | -.L867: |
---|
| 7092 | + beq .L908 |
---|
| 7093 | + ldrh w0, [x19, 80] |
---|
| 7094 | + cmp w0, w20 |
---|
| 7095 | + beq .L908 |
---|
| 7096 | + ldrh w0, [x19, 128] |
---|
| 7097 | + cmp w0, w20 |
---|
| 7098 | + bne .L903 |
---|
| 7099 | +.L908: |
---|
5999 | 7100 | mov w0, 0 |
---|
6000 | | -.L857: |
---|
| 7101 | +.L898: |
---|
6001 | 7102 | ldp x19, x20, [sp, 16] |
---|
6002 | | - ldr x21, [sp, 32] |
---|
6003 | | - ldp x29, x30, [sp], 48 |
---|
| 7103 | + ldp x29, x30, [sp], 32 |
---|
| 7104 | + hint 29 // autiasp |
---|
6004 | 7105 | ret |
---|
6005 | | -.L858: |
---|
| 7106 | +.L899: |
---|
6006 | 7107 | mov w0, w20 |
---|
6007 | 7108 | bl List_update_data_list |
---|
6008 | | - b .L867 |
---|
| 7109 | + b .L908 |
---|
6009 | 7110 | .size update_vpc_list, .-update_vpc_list |
---|
| 7111 | + .section .rodata.str1.1 |
---|
| 7112 | +.LC104: |
---|
| 7113 | + .string "decrement_vpc_count %x = %d\n" |
---|
| 7114 | + .text |
---|
6010 | 7115 | .align 2 |
---|
6011 | 7116 | .global decrement_vpc_count |
---|
6012 | 7117 | .type decrement_vpc_count, %function |
---|
6013 | 7118 | decrement_vpc_count: |
---|
| 7119 | + hint 34 // bti c |
---|
| 7120 | + .section __patchable_function_entries |
---|
| 7121 | + .align 3 |
---|
| 7122 | + .8byte .LPFE83 |
---|
| 7123 | + .text |
---|
| 7124 | +.LPFE83: |
---|
| 7125 | + nop |
---|
| 7126 | + nop |
---|
| 7127 | + hint 25 // paciasp |
---|
6014 | 7128 | stp x29, x30, [sp, -48]! |
---|
6015 | | - add x29, sp, 0 |
---|
| 7129 | + mov w1, 65535 |
---|
| 7130 | + mov x29, sp |
---|
6016 | 7131 | stp x19, x20, [sp, 16] |
---|
6017 | | - and w20, w0, 65535 |
---|
6018 | | - stp x21, x22, [sp, 32] |
---|
6019 | | - mov w0, 65535 |
---|
| 7132 | + cmp w1, w0, uxth |
---|
6020 | 7133 | adrp x19, .LANCHOR0 |
---|
6021 | | - cmp w20, w0 |
---|
6022 | | - beq .L871 |
---|
6023 | | - add x22, x19, :lo12:.LANCHOR0 |
---|
| 7134 | + str x21, [sp, 32] |
---|
| 7135 | + and w20, w0, 65535 |
---|
| 7136 | + add x19, x19, :lo12:.LANCHOR0 |
---|
| 7137 | + beq .L912 |
---|
| 7138 | + ldr x1, [x19, 72] |
---|
6024 | 7139 | ubfiz x21, x20, 1, 16 |
---|
6025 | | - ldr x1, [x22, 72] |
---|
6026 | 7140 | ldrh w0, [x1, x21] |
---|
6027 | | - cbnz w0, .L872 |
---|
6028 | | - mov w2, 0 |
---|
| 7141 | + cbnz w0, .L913 |
---|
6029 | 7142 | mov w1, w20 |
---|
6030 | | - adrp x0, .LC103 |
---|
6031 | | - add x0, x0, :lo12:.LC103 |
---|
| 7143 | + mov w2, 0 |
---|
| 7144 | + adrp x0, .LC104 |
---|
| 7145 | + add x0, x0, :lo12:.LC104 |
---|
6032 | 7146 | bl sftl_printk |
---|
6033 | | - ldr x0, [x22, 72] |
---|
| 7147 | + ldr x0, [x19, 72] |
---|
6034 | 7148 | ldrh w0, [x0, x21] |
---|
6035 | | - cbz w0, .L873 |
---|
6036 | | -.L878: |
---|
| 7149 | + cbz w0, .L914 |
---|
| 7150 | +.L919: |
---|
6037 | 7151 | mov w21, 0 |
---|
6038 | | -.L870: |
---|
| 7152 | +.L911: |
---|
6039 | 7153 | mov w0, w21 |
---|
6040 | 7154 | ldp x19, x20, [sp, 16] |
---|
6041 | | - ldp x21, x22, [sp, 32] |
---|
| 7155 | + ldr x21, [sp, 32] |
---|
6042 | 7156 | ldp x29, x30, [sp], 48 |
---|
| 7157 | + hint 29 // autiasp |
---|
6043 | 7158 | ret |
---|
6044 | | -.L873: |
---|
| 7159 | +.L914: |
---|
6045 | 7160 | adrp x1, .LANCHOR1 |
---|
6046 | 7161 | add x1, x1, :lo12:.LANCHOR1 |
---|
| 7162 | + add x1, x1, 312 |
---|
6047 | 7163 | mov w2, 2853 |
---|
6048 | | - add x1, x1, 384 |
---|
6049 | | - adrp x0, .LC8 |
---|
6050 | | - add x0, x0, :lo12:.LC8 |
---|
| 7164 | + adrp x0, .LC9 |
---|
| 7165 | + add x0, x0, :lo12:.LC9 |
---|
6051 | 7166 | bl sftl_printk |
---|
6052 | | - b .L878 |
---|
6053 | | -.L872: |
---|
| 7167 | + b .L919 |
---|
| 7168 | +.L913: |
---|
6054 | 7169 | sub w0, w0, #1 |
---|
6055 | 7170 | strh w0, [x1, x21] |
---|
6056 | | -.L871: |
---|
6057 | | - add x19, x19, :lo12:.LANCHOR0 |
---|
| 7171 | +.L912: |
---|
| 7172 | + ldrh w0, [x19, 3698] |
---|
6058 | 7173 | mov w1, 65535 |
---|
6059 | | - ldrh w0, [x19, 3706] |
---|
6060 | 7174 | cmp w0, w1 |
---|
6061 | | - bne .L875 |
---|
6062 | | - strh w20, [x19, 3706] |
---|
6063 | | - b .L878 |
---|
6064 | | -.L875: |
---|
6065 | | - cmp w20, w0 |
---|
6066 | | - beq .L878 |
---|
| 7175 | + bne .L916 |
---|
| 7176 | + strh w20, [x19, 3698] |
---|
| 7177 | + b .L919 |
---|
| 7178 | +.L916: |
---|
| 7179 | + cmp w0, w20 |
---|
| 7180 | + beq .L919 |
---|
6067 | 7181 | bl update_vpc_list |
---|
6068 | 7182 | cmp w0, 0 |
---|
6069 | 7183 | ldr x1, [x19, 2560] |
---|
6070 | | - cset w21, ne |
---|
| 7184 | + strh w20, [x19, 3698] |
---|
6071 | 7185 | ldr x0, [x19, 2568] |
---|
6072 | | - strh w20, [x19, 3706] |
---|
| 7186 | + cset w21, ne |
---|
6073 | 7187 | sub x0, x0, x1 |
---|
6074 | 7188 | mov x1, -6148914691236517206 |
---|
6075 | | - asr x0, x0, 1 |
---|
6076 | 7189 | movk x1, 0xaaab, lsl 0 |
---|
| 7190 | + asr x0, x0, 1 |
---|
6077 | 7191 | mul x0, x0, x1 |
---|
6078 | 7192 | ldr x1, [x19, 72] |
---|
6079 | 7193 | and x2, x0, 65535 |
---|
6080 | 7194 | ldrh w1, [x1, x2, lsl 1] |
---|
6081 | | - cbnz w1, .L870 |
---|
| 7195 | + cbnz w1, .L911 |
---|
6082 | 7196 | cmp w20, w0, uxth |
---|
6083 | | - beq .L870 |
---|
| 7197 | + beq .L911 |
---|
6084 | 7198 | adrp x1, .LANCHOR1 |
---|
6085 | 7199 | add x1, x1, :lo12:.LANCHOR1 |
---|
| 7200 | + add x1, x1, 312 |
---|
6086 | 7201 | mov w2, 2869 |
---|
6087 | | - add x1, x1, 384 |
---|
6088 | | - adrp x0, .LC8 |
---|
6089 | | - add x0, x0, :lo12:.LC8 |
---|
| 7202 | + adrp x0, .LC9 |
---|
| 7203 | + add x0, x0, :lo12:.LC9 |
---|
6090 | 7204 | bl sftl_printk |
---|
6091 | | - b .L870 |
---|
| 7205 | + b .L911 |
---|
6092 | 7206 | .size decrement_vpc_count, .-decrement_vpc_count |
---|
6093 | 7207 | .align 2 |
---|
6094 | 7208 | .global FtlSuperblockPowerLostFix |
---|
6095 | 7209 | .type FtlSuperblockPowerLostFix, %function |
---|
6096 | 7210 | FtlSuperblockPowerLostFix: |
---|
6097 | | - stp x29, x30, [sp, -112]! |
---|
6098 | | - mov w2, 61589 |
---|
6099 | | - add x29, sp, 0 |
---|
| 7211 | + hint 34 // bti c |
---|
| 7212 | + .section __patchable_function_entries |
---|
| 7213 | + .align 3 |
---|
| 7214 | + .8byte .LPFE84 |
---|
| 7215 | + .text |
---|
| 7216 | +.LPFE84: |
---|
| 7217 | + nop |
---|
| 7218 | + nop |
---|
| 7219 | + hint 25 // paciasp |
---|
| 7220 | + stp x29, x30, [sp, -96]! |
---|
| 7221 | + mov x29, sp |
---|
6100 | 7222 | stp x19, x20, [sp, 16] |
---|
6101 | | - mov x19, x0 |
---|
| 7223 | + adrp x20, .LANCHOR0 |
---|
| 7224 | + add x20, x20, :lo12:.LANCHOR0 |
---|
6102 | 7225 | stp x21, x22, [sp, 32] |
---|
6103 | | - adrp x21, .LANCHOR0 |
---|
6104 | | - stp x23, x24, [sp, 48] |
---|
6105 | | - adrp x23, __stack_chk_guard |
---|
6106 | | - add x0, x23, :lo12:__stack_chk_guard |
---|
6107 | | - ldr x1, [x0] |
---|
6108 | | - str x1, [x29, 104] |
---|
6109 | | - mov x1,0 |
---|
| 7226 | + mov x19, x0 |
---|
| 7227 | + mrs x0, sp_el0 |
---|
| 7228 | + ldr x1, [x0, 1376] |
---|
| 7229 | + str x1, [sp, 88] |
---|
| 7230 | + mov x1, 0 |
---|
6110 | 7231 | mov w0, -1 |
---|
6111 | | - str w0, [x29, 96] |
---|
6112 | | - add x0, x21, :lo12:.LANCHOR0 |
---|
6113 | | - mov x20, x0 |
---|
6114 | | - ldr x24, [x0, 3520] |
---|
6115 | | - ldr x1, [x0, 3456] |
---|
6116 | | - stp x1, x24, [x29, 80] |
---|
6117 | | - mov w1, -3 |
---|
6118 | | - str w1, [x24, 8] |
---|
6119 | | - mov w1, -2 |
---|
6120 | | - str w1, [x24, 12] |
---|
6121 | | - ldrh w1, [x19] |
---|
6122 | | - strh w1, [x24, 2] |
---|
6123 | | - strh wzr, [x24] |
---|
6124 | | - ldr x1, [x0, 3456] |
---|
6125 | | - str w2, [x1] |
---|
6126 | | - mov w2, 22136 |
---|
6127 | | - movk w2, 0x1234, lsl 16 |
---|
6128 | | - ldr x1, [x0, 3456] |
---|
6129 | | - str w2, [x1, 4] |
---|
6130 | | - ldrh w22, [x19, 4] |
---|
6131 | | - and w22, w22, 1 |
---|
6132 | | - add w22, w22, 6 |
---|
6133 | | -.L885: |
---|
6134 | | - ldrh w0, [x19, 4] |
---|
6135 | | - cbnz w0, .L881 |
---|
6136 | | -.L882: |
---|
6137 | | - add x21, x21, :lo12:.LANCHOR0 |
---|
| 7232 | + ldr x22, [x20, 3512] |
---|
| 7233 | + str w0, [sp, 80] |
---|
| 7234 | + ldr x0, [x20, 3448] |
---|
| 7235 | + str x0, [sp, 64] |
---|
| 7236 | + mov x0, -3 |
---|
| 7237 | + str x22, [sp, 72] |
---|
| 7238 | + movk x0, 0xfffe, lsl 32 |
---|
| 7239 | + str x0, [x22, 8] |
---|
| 7240 | + mov w1, 61589 |
---|
6138 | 7241 | ldrh w0, [x19] |
---|
6139 | | - ldrh w3, [x19, 4] |
---|
6140 | | - add x23, x23, :lo12:__stack_chk_guard |
---|
6141 | | - ldr x2, [x21, 72] |
---|
| 7242 | + strh wzr, [x22] |
---|
| 7243 | + strh w0, [x22, 2] |
---|
| 7244 | + ldr x0, [x20, 3448] |
---|
| 7245 | + str w1, [x0] |
---|
| 7246 | + mov w1, 22136 |
---|
| 7247 | + movk w1, 0x1234, lsl 16 |
---|
| 7248 | + ldr x0, [x20, 3448] |
---|
| 7249 | + str w1, [x0, 4] |
---|
| 7250 | + ldrh w21, [x19, 4] |
---|
| 7251 | + and w21, w21, 1 |
---|
| 7252 | + add w21, w21, 6 |
---|
| 7253 | +.L921: |
---|
| 7254 | + ldrh w0, [x19, 4] |
---|
| 7255 | + cbz w21, .L923 |
---|
| 7256 | + cbnz w0, .L922 |
---|
| 7257 | +.L923: |
---|
| 7258 | + ldrh w0, [x19] |
---|
| 7259 | + ldr x2, [x20, 72] |
---|
6142 | 7260 | lsl x0, x0, 1 |
---|
| 7261 | + ldrh w3, [x19, 4] |
---|
6143 | 7262 | ldrh w1, [x2, x0] |
---|
6144 | 7263 | sub w1, w1, w3 |
---|
6145 | 7264 | strh w1, [x2, x0] |
---|
6146 | | - strb wzr, [x19, 6] |
---|
6147 | | - ldrh w0, [x21, 306] |
---|
6148 | | - strh w0, [x19, 2] |
---|
6149 | 7265 | strh wzr, [x19, 4] |
---|
6150 | | - ldr x1, [x29, 104] |
---|
6151 | | - ldr x0, [x23] |
---|
6152 | | - eor x0, x1, x0 |
---|
6153 | | - cbz x0, .L886 |
---|
| 7266 | + ldrh w0, [x20, 306] |
---|
| 7267 | + strh w0, [x19, 2] |
---|
| 7268 | + mrs x0, sp_el0 |
---|
| 7269 | + strb wzr, [x19, 6] |
---|
| 7270 | + ldr x1, [sp, 88] |
---|
| 7271 | + ldr x2, [x0, 1376] |
---|
| 7272 | + subs x1, x1, x2 |
---|
| 7273 | + mov x2, 0 |
---|
| 7274 | + beq .L927 |
---|
6154 | 7275 | bl __stack_chk_fail |
---|
6155 | | -.L881: |
---|
| 7276 | +.L922: |
---|
6156 | 7277 | mov x0, x19 |
---|
6157 | 7278 | bl get_new_active_ppa |
---|
6158 | | - str w0, [x29, 76] |
---|
| 7279 | + str w0, [sp, 60] |
---|
6159 | 7280 | cmn w0, #1 |
---|
6160 | | - beq .L882 |
---|
| 7281 | + beq .L923 |
---|
6161 | 7282 | ldr w0, [x20, 2664] |
---|
6162 | 7283 | mov w3, 0 |
---|
6163 | | - str w0, [x24, 4] |
---|
| 7284 | + str w0, [x22, 4] |
---|
6164 | 7285 | mov w2, 0 |
---|
6165 | | - add w0, w0, 1 |
---|
| 7286 | + cmn w0, #2 |
---|
6166 | 7287 | mov w1, 1 |
---|
6167 | | - cmn w0, #1 |
---|
6168 | | - csel w0, w0, wzr, ne |
---|
| 7288 | + csinc w0, wzr, w0, eq |
---|
6169 | 7289 | str w0, [x20, 2664] |
---|
6170 | | - add x0, x29, 72 |
---|
| 7290 | + add x0, sp, 56 |
---|
| 7291 | + sub w21, w21, #1 |
---|
6171 | 7292 | bl FlashProgPages |
---|
6172 | 7293 | ldrh w0, [x19] |
---|
6173 | 7294 | bl decrement_vpc_count |
---|
6174 | | - subs w22, w22, #1 |
---|
6175 | | - bne .L885 |
---|
6176 | | - b .L882 |
---|
6177 | | -.L886: |
---|
| 7295 | + b .L921 |
---|
| 7296 | +.L927: |
---|
6178 | 7297 | ldp x19, x20, [sp, 16] |
---|
6179 | 7298 | ldp x21, x22, [sp, 32] |
---|
6180 | | - ldp x23, x24, [sp, 48] |
---|
6181 | | - ldp x29, x30, [sp], 112 |
---|
| 7299 | + ldp x29, x30, [sp], 96 |
---|
| 7300 | + hint 29 // autiasp |
---|
6182 | 7301 | ret |
---|
6183 | 7302 | .size FtlSuperblockPowerLostFix, .-FtlSuperblockPowerLostFix |
---|
6184 | 7303 | .align 2 |
---|
6185 | 7304 | .global FtlMakeBbt |
---|
6186 | 7305 | .type FtlMakeBbt, %function |
---|
6187 | 7306 | FtlMakeBbt: |
---|
| 7307 | + hint 34 // bti c |
---|
| 7308 | + .section __patchable_function_entries |
---|
| 7309 | + .align 3 |
---|
| 7310 | + .8byte .LPFE85 |
---|
| 7311 | + .text |
---|
| 7312 | +.LPFE85: |
---|
| 7313 | + nop |
---|
| 7314 | + nop |
---|
| 7315 | + hint 25 // paciasp |
---|
6188 | 7316 | stp x29, x30, [sp, -96]! |
---|
6189 | | - add x29, sp, 0 |
---|
| 7317 | + mov x29, sp |
---|
6190 | 7318 | stp x19, x20, [sp, 16] |
---|
6191 | 7319 | adrp x19, .LANCHOR0 |
---|
6192 | | - stp x25, x26, [sp, 64] |
---|
6193 | | - stp x21, x22, [sp, 32] |
---|
6194 | | - mov x21, x19 |
---|
| 7320 | + add x19, x19, :lo12:.LANCHOR0 |
---|
6195 | 7321 | stp x23, x24, [sp, 48] |
---|
6196 | | - mov w24, 0 |
---|
| 7322 | + add x24, x19, 360 |
---|
| 7323 | + add x20, x19, 3712 |
---|
| 7324 | + stp x25, x26, [sp, 64] |
---|
| 7325 | + mov x25, x24 |
---|
| 7326 | + mov w23, 0 |
---|
6197 | 7327 | stp x27, x28, [sp, 80] |
---|
| 7328 | + mov w27, 65535 |
---|
| 7329 | + mov w28, -3872 |
---|
| 7330 | + stp x21, x22, [sp, 32] |
---|
6198 | 7331 | bl FtlBbtMemInit |
---|
6199 | 7332 | bl FtlLoadFactoryBbt |
---|
6200 | | - mov w28, -3872 |
---|
6201 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
6202 | | - add x26, x0, 392 |
---|
6203 | | - add x25, x0, 372 |
---|
6204 | | - mov x19, x0 |
---|
6205 | | - add x20, x0, 3720 |
---|
6206 | | -.L895: |
---|
| 7333 | +.L934: |
---|
6207 | 7334 | ldrh w0, [x19, 258] |
---|
6208 | | - cmp w24, w0 |
---|
6209 | | - bcc .L901 |
---|
6210 | | - add x20, x21, :lo12:.LANCHOR0 |
---|
6211 | | - mov w19, 0 |
---|
6212 | | -.L902: |
---|
6213 | | - ldrh w0, [x20, 318] |
---|
6214 | | - cmp w0, w19 |
---|
6215 | | - bhi .L903 |
---|
6216 | | - add x20, x20, 360 |
---|
6217 | | - ldrh w19, [x20, 12] |
---|
| 7335 | + cmp w0, w23 |
---|
| 7336 | + bhi .L940 |
---|
| 7337 | + mov w20, 0 |
---|
| 7338 | +.L941: |
---|
| 7339 | + ldrh w0, [x19, 318] |
---|
| 7340 | + cmp w0, w20 |
---|
| 7341 | + bhi .L942 |
---|
| 7342 | + ldrh w20, [x19, 372] |
---|
| 7343 | + add x21, x19, 360 |
---|
6218 | 7344 | mov w22, 65535 |
---|
6219 | | - sub w19, w19, #1 |
---|
6220 | | - and w19, w19, 65535 |
---|
6221 | | -.L904: |
---|
6222 | | - ldrh w0, [x20, 12] |
---|
| 7345 | + sub w20, w20, #1 |
---|
| 7346 | + and w20, w20, 65535 |
---|
| 7347 | +.L943: |
---|
| 7348 | + ldrh w0, [x21, 12] |
---|
6223 | 7349 | sub w0, w0, #48 |
---|
6224 | | - cmp w19, w0 |
---|
6225 | | - ble .L908 |
---|
6226 | | - mov w0, w19 |
---|
| 7350 | + cmp w20, w0 |
---|
| 7351 | + ble .L947 |
---|
| 7352 | + mov w0, w20 |
---|
6227 | 7353 | bl FtlBbmIsBadBlock |
---|
6228 | 7354 | cmp w0, 1 |
---|
6229 | | - beq .L905 |
---|
6230 | | - mov w0, w19 |
---|
| 7355 | + beq .L944 |
---|
| 7356 | + mov w0, w20 |
---|
6231 | 7357 | bl FlashTestBlk |
---|
6232 | | - cbz w0, .L906 |
---|
6233 | | - mov w0, w19 |
---|
| 7358 | + cbz w0, .L945 |
---|
| 7359 | + mov w0, w20 |
---|
6234 | 7360 | bl FtlBbmMapBadBlock |
---|
6235 | | -.L905: |
---|
6236 | | - sub w19, w19, #1 |
---|
6237 | | - and w19, w19, 65535 |
---|
6238 | | - b .L904 |
---|
6239 | | -.L901: |
---|
6240 | | - ldr x0, [x19, 3456] |
---|
6241 | | - mov w2, 65535 |
---|
6242 | | - ldr x27, [x19, 3520] |
---|
6243 | | - ldrh w1, [x25] |
---|
6244 | | - stp x0, x27, [x20, 8] |
---|
6245 | | - cmp w1, w2 |
---|
6246 | | - beq .L896 |
---|
6247 | | - ldrh w23, [x19, 302] |
---|
| 7361 | +.L944: |
---|
| 7362 | + sub w20, w20, #1 |
---|
| 7363 | + and w20, w20, 65535 |
---|
| 7364 | + b .L943 |
---|
| 7365 | +.L940: |
---|
| 7366 | + ldrh w1, [x25, 12] |
---|
| 7367 | + ldr x0, [x19, 3448] |
---|
| 7368 | + ldr x26, [x19, 3512] |
---|
| 7369 | + stp x0, x26, [x20, 8] |
---|
| 7370 | + cmp w1, w27 |
---|
| 7371 | + beq .L935 |
---|
| 7372 | + ldrh w22, [x19, 302] |
---|
6248 | 7373 | mov w2, 1 |
---|
6249 | | - madd w23, w23, w24, w1 |
---|
| 7374 | + madd w22, w22, w23, w1 |
---|
6250 | 7375 | mov w1, w2 |
---|
6251 | | - lsl w0, w23, 10 |
---|
| 7376 | + lsl w0, w22, 10 |
---|
6252 | 7377 | str w0, [x20, 4] |
---|
6253 | 7378 | mov x0, x20 |
---|
6254 | 7379 | bl FlashReadPages |
---|
6255 | | - ldr x1, [x20, 8] |
---|
6256 | | - ldr x0, [x26] |
---|
6257 | 7380 | ldrh w2, [x19, 302] |
---|
| 7381 | + ldr x1, [x20, 8] |
---|
6258 | 7382 | add w2, w2, 7 |
---|
| 7383 | + ldr x0, [x24, 32] |
---|
6259 | 7384 | lsr w2, w2, 3 |
---|
6260 | 7385 | bl ftl_memcpy |
---|
6261 | | -.L897: |
---|
6262 | | - mov w0, w23 |
---|
6263 | | - add w24, w24, 1 |
---|
6264 | | - bl FtlBbmMapBadBlock |
---|
6265 | | - add x26, x26, 8 |
---|
| 7386 | +.L936: |
---|
| 7387 | + mov w0, w22 |
---|
| 7388 | + add w23, w23, 1 |
---|
| 7389 | + add x24, x24, 8 |
---|
6266 | 7390 | add x25, x25, 2 |
---|
6267 | | - b .L895 |
---|
6268 | | -.L896: |
---|
6269 | | - mov w1, w24 |
---|
| 7391 | + bl FtlBbmMapBadBlock |
---|
| 7392 | + b .L934 |
---|
| 7393 | +.L935: |
---|
| 7394 | + mov w1, w23 |
---|
6270 | 7395 | bl FlashGetBadBlockList |
---|
6271 | 7396 | ldr x0, [x20, 8] |
---|
6272 | | - ldr x1, [x26] |
---|
| 7397 | + ldr x1, [x24, 32] |
---|
6273 | 7398 | bl FtlBbt2Bitmap |
---|
6274 | | - ldrh w22, [x19, 302] |
---|
6275 | | -.L899: |
---|
6276 | | - sub w22, w22, #1 |
---|
6277 | | - and w22, w22, 65535 |
---|
6278 | | -.L898: |
---|
| 7399 | + ldrh w21, [x19, 302] |
---|
| 7400 | +.L938: |
---|
| 7401 | + sub w21, w21, #1 |
---|
| 7402 | + and w21, w21, 65535 |
---|
| 7403 | +.L937: |
---|
6279 | 7404 | ldrh w0, [x19, 302] |
---|
6280 | | - madd w0, w24, w0, w22 |
---|
| 7405 | + madd w0, w23, w0, w21 |
---|
6281 | 7406 | bl FtlBbmIsBadBlock |
---|
6282 | 7407 | cmp w0, 1 |
---|
6283 | | - beq .L899 |
---|
6284 | | - ldr x0, [x19, 3520] |
---|
| 7408 | + beq .L938 |
---|
| 7409 | + ldr x0, [x19, 3512] |
---|
| 7410 | + strh w21, [x25, 12] |
---|
6285 | 7411 | mov w2, 16 |
---|
6286 | | - strh w22, [x25] |
---|
6287 | 7412 | mov w1, 0 |
---|
6288 | 7413 | bl ftl_memset |
---|
6289 | | - ldr x0, [x19, 3456] |
---|
| 7414 | + ldr x0, [x19, 3448] |
---|
6290 | 7415 | mov w2, 4096 |
---|
6291 | 7416 | mov w1, 0 |
---|
6292 | 7417 | bl ftl_memset |
---|
6293 | | - strh w28, [x27] |
---|
6294 | | - str wzr, [x27, 4] |
---|
6295 | | - ldrh w23, [x19, 302] |
---|
6296 | | - ldrh w0, [x25] |
---|
6297 | | - strh w0, [x27, 2] |
---|
6298 | | - ldrh w2, [x19, 3632] |
---|
6299 | | - ldrh w0, [x25] |
---|
6300 | | - ldr x1, [x26] |
---|
| 7418 | + strh w28, [x26] |
---|
| 7419 | + str wzr, [x26, 4] |
---|
| 7420 | + ldrh w22, [x19, 302] |
---|
| 7421 | + ldrh w0, [x25, 12] |
---|
| 7422 | + strh w0, [x26, 2] |
---|
| 7423 | + ldrh w2, [x19, 3624] |
---|
| 7424 | + ldr x1, [x24, 32] |
---|
| 7425 | + madd w22, w22, w23, w0 |
---|
6301 | 7426 | lsl w2, w2, 2 |
---|
6302 | | - madd w23, w23, w24, w0 |
---|
6303 | | - lsl w0, w23, 10 |
---|
| 7427 | + lsl w0, w22, 10 |
---|
6304 | 7428 | str w0, [x20, 4] |
---|
6305 | 7429 | ldr x0, [x20, 8] |
---|
6306 | 7430 | bl ftl_memcpy |
---|
.. | .. |
---|
6310 | 7434 | bl FlashEraseBlocks |
---|
6311 | 7435 | mov w3, 1 |
---|
6312 | 7436 | mov x0, x20 |
---|
6313 | | - mov w2, w3 |
---|
6314 | 7437 | mov w1, w3 |
---|
| 7438 | + mov w2, w3 |
---|
6315 | 7439 | bl FlashProgPages |
---|
6316 | | - ldr w0, [x20] |
---|
6317 | | - cmn w0, #1 |
---|
6318 | | - bne .L897 |
---|
6319 | | - mov w0, w23 |
---|
| 7440 | + ldr w1, [x20] |
---|
| 7441 | + and w0, w22, 65535 |
---|
| 7442 | + cmn w1, #1 |
---|
| 7443 | + bne .L936 |
---|
6320 | 7444 | bl FtlBbmMapBadBlock |
---|
6321 | | - b .L898 |
---|
6322 | | -.L903: |
---|
6323 | | - mov w0, w19 |
---|
6324 | | - add w19, w19, 1 |
---|
| 7445 | + b .L937 |
---|
| 7446 | +.L942: |
---|
| 7447 | + mov w0, w20 |
---|
| 7448 | + add w20, w20, 1 |
---|
| 7449 | + and w20, w20, 65535 |
---|
6325 | 7450 | bl FtlBbmMapBadBlock |
---|
6326 | | - and w19, w19, 65535 |
---|
6327 | | - b .L902 |
---|
6328 | | -.L906: |
---|
6329 | | - ldrh w0, [x20] |
---|
| 7451 | + b .L941 |
---|
| 7452 | +.L945: |
---|
| 7453 | + ldrh w0, [x21] |
---|
6330 | 7454 | cmp w0, w22 |
---|
6331 | | - bne .L907 |
---|
6332 | | - strh w19, [x20] |
---|
6333 | | - b .L905 |
---|
6334 | | -.L907: |
---|
6335 | | - strh w19, [x20, 4] |
---|
6336 | | -.L908: |
---|
6337 | | - add x21, x21, :lo12:.LANCHOR0 |
---|
| 7455 | + bne .L946 |
---|
| 7456 | + strh w20, [x21] |
---|
| 7457 | + b .L944 |
---|
| 7458 | +.L946: |
---|
| 7459 | + strh w20, [x21, 4] |
---|
| 7460 | +.L947: |
---|
| 7461 | + ldr x1, [x19, 3400] |
---|
| 7462 | + str wzr, [x19, 368] |
---|
| 7463 | + ldrh w0, [x19, 360] |
---|
6338 | 7464 | mov w2, 2 |
---|
6339 | | - ldr x1, [x21, 3408] |
---|
6340 | | - ldrh w0, [x21, 360] |
---|
6341 | | - str wzr, [x21, 368] |
---|
6342 | | - strh wzr, [x21, 362] |
---|
| 7465 | + strh wzr, [x19, 362] |
---|
6343 | 7466 | lsl w0, w0, 10 |
---|
6344 | 7467 | str w0, [x1, 4] |
---|
6345 | | - ldr x0, [x21, 3408] |
---|
6346 | | - ldrh w1, [x21, 364] |
---|
| 7468 | + ldr x0, [x19, 3400] |
---|
| 7469 | + ldrh w1, [x19, 364] |
---|
6347 | 7470 | lsl w1, w1, 10 |
---|
6348 | 7471 | str w1, [x0, 36] |
---|
6349 | 7472 | mov w1, 1 |
---|
6350 | 7473 | bl FlashEraseBlocks |
---|
6351 | | - ldrh w0, [x21, 360] |
---|
| 7474 | + ldrh w0, [x19, 360] |
---|
6352 | 7475 | bl FtlBbmMapBadBlock |
---|
6353 | | - ldrh w0, [x21, 364] |
---|
| 7476 | + ldrh w0, [x19, 364] |
---|
6354 | 7477 | bl FtlBbmMapBadBlock |
---|
6355 | 7478 | bl FtlBbmTblFlush |
---|
6356 | | - strh wzr, [x21, 362] |
---|
6357 | | - ldr w0, [x21, 368] |
---|
6358 | | - ldrh w1, [x21, 364] |
---|
| 7479 | + strh wzr, [x19, 362] |
---|
| 7480 | + ldr w0, [x19, 368] |
---|
| 7481 | + ldrh w1, [x19, 364] |
---|
6359 | 7482 | add w0, w0, 1 |
---|
6360 | | - str w0, [x21, 368] |
---|
6361 | | - ldrh w0, [x21, 360] |
---|
6362 | | - strh w0, [x21, 364] |
---|
6363 | | - strh w1, [x21, 360] |
---|
| 7483 | + str w0, [x19, 368] |
---|
| 7484 | + ldrh w0, [x19, 360] |
---|
| 7485 | + strh w1, [x19, 360] |
---|
| 7486 | + strh w0, [x19, 364] |
---|
6364 | 7487 | bl FtlBbmTblFlush |
---|
6365 | 7488 | mov w0, 0 |
---|
6366 | 7489 | ldp x19, x20, [sp, 16] |
---|
.. | .. |
---|
6369 | 7492 | ldp x25, x26, [sp, 64] |
---|
6370 | 7493 | ldp x27, x28, [sp, 80] |
---|
6371 | 7494 | ldp x29, x30, [sp], 96 |
---|
| 7495 | + hint 29 // autiasp |
---|
6372 | 7496 | ret |
---|
6373 | 7497 | .size FtlMakeBbt, .-FtlMakeBbt |
---|
6374 | 7498 | .align 2 |
---|
6375 | 7499 | .global ftl_memcmp |
---|
6376 | 7500 | .type ftl_memcmp, %function |
---|
6377 | 7501 | ftl_memcmp: |
---|
| 7502 | + hint 34 // bti c |
---|
| 7503 | + .section __patchable_function_entries |
---|
| 7504 | + .align 3 |
---|
| 7505 | + .8byte .LPFE86 |
---|
| 7506 | + .text |
---|
| 7507 | +.LPFE86: |
---|
| 7508 | + nop |
---|
| 7509 | + nop |
---|
| 7510 | + hint 25 // paciasp |
---|
6378 | 7511 | stp x29, x30, [sp, -16]! |
---|
6379 | 7512 | uxtw x2, w2 |
---|
6380 | | - add x29, sp, 0 |
---|
| 7513 | + mov x29, sp |
---|
6381 | 7514 | bl memcmp |
---|
6382 | 7515 | ldp x29, x30, [sp], 16 |
---|
| 7516 | + hint 29 // autiasp |
---|
6383 | 7517 | ret |
---|
6384 | 7518 | .size ftl_memcmp, .-ftl_memcmp |
---|
6385 | 7519 | .align 2 |
---|
6386 | 7520 | .global js_hash |
---|
6387 | 7521 | .type js_hash, %function |
---|
6388 | 7522 | js_hash: |
---|
| 7523 | + hint 34 // bti c |
---|
| 7524 | + .section __patchable_function_entries |
---|
| 7525 | + .align 3 |
---|
| 7526 | + .8byte .LPFE87 |
---|
| 7527 | + .text |
---|
| 7528 | +.LPFE87: |
---|
| 7529 | + nop |
---|
| 7530 | + nop |
---|
6389 | 7531 | mov x4, x0 |
---|
6390 | 7532 | mov w0, 42982 |
---|
6391 | 7533 | mov x3, 0 |
---|
6392 | 7534 | movk w0, 0x47c6, lsl 16 |
---|
6393 | | -.L917: |
---|
| 7535 | + hint 25 // paciasp |
---|
| 7536 | +.L956: |
---|
6394 | 7537 | cmp w1, w3 |
---|
6395 | | - bhi .L918 |
---|
| 7538 | + bhi .L957 |
---|
| 7539 | + hint 29 // autiasp |
---|
6396 | 7540 | ret |
---|
6397 | | -.L918: |
---|
6398 | | - lsr w2, w0, 2 |
---|
| 7541 | +.L957: |
---|
6399 | 7542 | ldrb w5, [x4, x3] |
---|
| 7543 | + lsr w2, w0, 2 |
---|
6400 | 7544 | add w2, w2, w0, lsl 5 |
---|
6401 | 7545 | add x3, x3, 1 |
---|
6402 | 7546 | add w2, w2, w5 |
---|
6403 | 7547 | eor w0, w0, w2 |
---|
6404 | | - b .L917 |
---|
| 7548 | + b .L956 |
---|
6405 | 7549 | .size js_hash, .-js_hash |
---|
6406 | | - .align 2 |
---|
6407 | | - .global Ftl_write_map_blk_to_last_page |
---|
6408 | | - .type Ftl_write_map_blk_to_last_page, %function |
---|
6409 | | -Ftl_write_map_blk_to_last_page: |
---|
6410 | | - stp x29, x30, [sp, -64]! |
---|
6411 | | - mov w1, 65535 |
---|
6412 | | - add x29, sp, 0 |
---|
6413 | | - stp x19, x20, [sp, 16] |
---|
6414 | | - mov x19, x0 |
---|
6415 | | - stp x21, x22, [sp, 32] |
---|
6416 | | - stp x23, x24, [sp, 48] |
---|
6417 | | - ldr x20, [x0, 16] |
---|
6418 | | - ldrh w0, [x0] |
---|
6419 | | - cmp w0, w1 |
---|
6420 | | - bne .L920 |
---|
6421 | | - ldrh w0, [x19, 8] |
---|
6422 | | - cbz w0, .L921 |
---|
6423 | | - adrp x1, .LANCHOR1 |
---|
6424 | | - add x1, x1, :lo12:.LANCHOR1 |
---|
6425 | | - adrp x0, .LC8 |
---|
6426 | | - mov w2, 641 |
---|
6427 | | - add x1, x1, 408 |
---|
6428 | | - add x0, x0, :lo12:.LC8 |
---|
6429 | | - bl sftl_printk |
---|
6430 | | -.L921: |
---|
6431 | | - ldrh w0, [x19, 8] |
---|
6432 | | - add w0, w0, 1 |
---|
6433 | | - strh w0, [x19, 8] |
---|
6434 | | - bl FtlFreeSysBlkQueueOut |
---|
6435 | | - strh w0, [x20] |
---|
6436 | | - strh wzr, [x19, 2] |
---|
6437 | | - ldr w0, [x19, 48] |
---|
6438 | | - strh wzr, [x19] |
---|
6439 | | - add w0, w0, 1 |
---|
6440 | | - str w0, [x19, 48] |
---|
6441 | | -.L922: |
---|
6442 | | - mov w0, 0 |
---|
6443 | | - ldp x19, x20, [sp, 16] |
---|
6444 | | - ldp x21, x22, [sp, 32] |
---|
6445 | | - ldp x23, x24, [sp, 48] |
---|
6446 | | - ldp x29, x30, [sp], 64 |
---|
6447 | | - ret |
---|
6448 | | -.L920: |
---|
6449 | | - ubfiz x0, x0, 1, 16 |
---|
6450 | | - adrp x21, .LANCHOR0 |
---|
6451 | | - ldrh w1, [x19, 2] |
---|
6452 | | - ldr x24, [x19, 40] |
---|
6453 | | - ldrh w23, [x20, x0] |
---|
6454 | | - add x20, x21, :lo12:.LANCHOR0 |
---|
6455 | | - ldr w0, [x19, 48] |
---|
6456 | | - ldr x22, [x20, 3520] |
---|
6457 | | - orr w1, w1, w23, lsl 10 |
---|
6458 | | - str w1, [x20, 3724] |
---|
6459 | | - ldr x1, [x20, 3456] |
---|
6460 | | - str x1, [x20, 3728] |
---|
6461 | | - str x22, [x20, 3736] |
---|
6462 | | - mov w1, 255 |
---|
6463 | | - str w0, [x22, 4] |
---|
6464 | | - mov w0, -1291 |
---|
6465 | | - strh w0, [x22, 8] |
---|
6466 | | - ldrh w0, [x19, 4] |
---|
6467 | | - strh w0, [x22] |
---|
6468 | | - strh w23, [x22, 2] |
---|
6469 | | - ldrh w2, [x20, 308] |
---|
6470 | | - ldr x0, [x20, 3456] |
---|
6471 | | - lsl w2, w2, 3 |
---|
6472 | | - bl ftl_memset |
---|
6473 | | - mov w1, 0 |
---|
6474 | | - mov w0, 0 |
---|
6475 | | -.L923: |
---|
6476 | | - ldrh w2, [x19, 6] |
---|
6477 | | - cmp w2, w0 |
---|
6478 | | - bhi .L925 |
---|
6479 | | - add x21, x21, :lo12:.LANCHOR0 |
---|
6480 | | - add x6, x21, 3720 |
---|
6481 | | - ldrh w1, [x21, 314] |
---|
6482 | | - ldr x0, [x21, 3728] |
---|
6483 | | - bl js_hash |
---|
6484 | | - str w0, [x22, 12] |
---|
6485 | | - mov w2, 1 |
---|
6486 | | - mov w3, 0 |
---|
6487 | | - mov w1, w2 |
---|
6488 | | - mov x0, x6 |
---|
6489 | | - bl FlashProgPages |
---|
6490 | | - ldrh w0, [x19, 2] |
---|
6491 | | - add w0, w0, 1 |
---|
6492 | | - strh w0, [x19, 2] |
---|
6493 | | - mov x0, x19 |
---|
6494 | | - bl ftl_map_blk_gc |
---|
6495 | | - b .L922 |
---|
6496 | | -.L925: |
---|
6497 | | - ubfiz x2, x0, 2, 16 |
---|
6498 | | - ldr w3, [x24, x2] |
---|
6499 | | - cmp w23, w3, lsr 10 |
---|
6500 | | - bne .L924 |
---|
6501 | | - add w1, w1, 1 |
---|
6502 | | - ldr x4, [x20, 3456] |
---|
6503 | | - and w1, w1, 65535 |
---|
6504 | | - ubfiz x3, x1, 3, 16 |
---|
6505 | | - str w0, [x4, x3] |
---|
6506 | | - ldr w4, [x24, x2] |
---|
6507 | | - ldr x2, [x20, 3456] |
---|
6508 | | - add x2, x2, x3 |
---|
6509 | | - str w4, [x2, 4] |
---|
6510 | | -.L924: |
---|
6511 | | - add w0, w0, 1 |
---|
6512 | | - and w0, w0, 65535 |
---|
6513 | | - b .L923 |
---|
6514 | | - .size Ftl_write_map_blk_to_last_page, .-Ftl_write_map_blk_to_last_page |
---|
| 7550 | + .section .rodata.str1.1 |
---|
| 7551 | +.LC105: |
---|
| 7552 | + .string "FtlMapWritePage error = %x \n" |
---|
| 7553 | +.LC106: |
---|
| 7554 | + .string "FtlMapWritePage error = %x error count = %d\n" |
---|
| 7555 | + .text |
---|
6515 | 7556 | .align 2 |
---|
6516 | 7557 | .global FtlMapWritePage |
---|
6517 | 7558 | .type FtlMapWritePage, %function |
---|
6518 | 7559 | FtlMapWritePage: |
---|
6519 | | - stp x29, x30, [sp, -112]! |
---|
6520 | | - add x29, sp, 0 |
---|
6521 | | - stp x21, x22, [sp, 32] |
---|
6522 | | - mov w21, 0 |
---|
| 7560 | + hint 34 // bti c |
---|
| 7561 | + .section __patchable_function_entries |
---|
| 7562 | + .align 3 |
---|
| 7563 | + .8byte .LPFE88 |
---|
| 7564 | + .text |
---|
| 7565 | +.LPFE88: |
---|
| 7566 | + nop |
---|
| 7567 | + nop |
---|
| 7568 | + hint 25 // paciasp |
---|
| 7569 | + stp x29, x30, [sp, -96]! |
---|
| 7570 | + mov x29, sp |
---|
6523 | 7571 | stp x23, x24, [sp, 48] |
---|
6524 | | - adrp x24, .LANCHOR0 |
---|
6525 | | - stp x25, x26, [sp, 64] |
---|
6526 | | - add x22, x24, :lo12:.LANCHOR0 |
---|
6527 | | - mov w26, w1 |
---|
| 7572 | + mov w24, w1 |
---|
6528 | 7573 | stp x19, x20, [sp, 16] |
---|
6529 | | - stp x27, x28, [sp, 80] |
---|
6530 | | - adrp x23, .LANCHOR1 |
---|
| 7574 | + adrp x20, .LANCHOR0 |
---|
| 7575 | + add x20, x20, :lo12:.LANCHOR0 |
---|
6531 | 7576 | mov x19, x0 |
---|
6532 | | - mov x28, x2 |
---|
6533 | | - ubfiz x27, x26, 2, 32 |
---|
6534 | | - mov x25, x24 |
---|
6535 | | - add x23, x23, :lo12:.LANCHOR1 |
---|
6536 | | - add x20, x22, 3720 |
---|
6537 | | -.L931: |
---|
6538 | | - add x0, x24, :lo12:.LANCHOR0 |
---|
6539 | | - ldr w1, [x0, 2644] |
---|
6540 | | - add w1, w1, 1 |
---|
6541 | | - str w1, [x0, 2644] |
---|
6542 | | - ldrh w0, [x0, 308] |
---|
| 7577 | + stp x21, x22, [sp, 32] |
---|
| 7578 | + add x21, x20, 3712 |
---|
| 7579 | + stp x25, x26, [sp, 64] |
---|
| 7580 | + adrp x25, .LANCHOR1 |
---|
| 7581 | + mov x26, x2 |
---|
| 7582 | + add x25, x25, :lo12:.LANCHOR1 |
---|
| 7583 | + stp x27, x28, [sp, 80] |
---|
| 7584 | + ubfiz x27, x24, 2, 32 |
---|
| 7585 | + mov w22, 0 |
---|
| 7586 | +.L960: |
---|
| 7587 | + ldr w0, [x20, 2644] |
---|
| 7588 | + add w0, w0, 1 |
---|
| 7589 | + str w0, [x20, 2644] |
---|
| 7590 | + ldrh w0, [x20, 308] |
---|
6543 | 7591 | ldrh w1, [x19, 2] |
---|
6544 | 7592 | sub w0, w0, #1 |
---|
6545 | 7593 | cmp w1, w0 |
---|
6546 | | - bge .L932 |
---|
| 7594 | + bge .L961 |
---|
6547 | 7595 | ldrh w1, [x19] |
---|
6548 | 7596 | mov w0, 65535 |
---|
6549 | 7597 | cmp w1, w0 |
---|
6550 | | - bne .L933 |
---|
6551 | | -.L932: |
---|
| 7598 | + bne .L962 |
---|
| 7599 | +.L961: |
---|
6552 | 7600 | mov x0, x19 |
---|
6553 | 7601 | bl Ftl_write_map_blk_to_last_page |
---|
6554 | | -.L933: |
---|
| 7602 | +.L962: |
---|
6555 | 7603 | ldrh w1, [x19] |
---|
6556 | 7604 | ldr x0, [x19, 16] |
---|
6557 | 7605 | ldrh w0, [x0, x1, lsl 1] |
---|
6558 | | - cbnz w0, .L934 |
---|
6559 | | - adrp x0, .LC8 |
---|
| 7606 | + cbnz w0, .L963 |
---|
| 7607 | + adrp x0, .LC9 |
---|
| 7608 | + add x1, x25, 332 |
---|
| 7609 | + add x0, x0, :lo12:.LC9 |
---|
6560 | 7610 | mov w2, 700 |
---|
6561 | | - add x1, x23, 440 |
---|
6562 | | - add x0, x0, :lo12:.LC8 |
---|
6563 | 7611 | bl sftl_printk |
---|
6564 | | -.L934: |
---|
| 7612 | +.L963: |
---|
6565 | 7613 | ldrh w1, [x19] |
---|
6566 | 7614 | ldrh w0, [x19, 10] |
---|
6567 | 7615 | cmp w1, w0 |
---|
6568 | | - bcc .L935 |
---|
6569 | | - adrp x0, .LC8 |
---|
| 7616 | + bcc .L964 |
---|
| 7617 | + adrp x0, .LC9 |
---|
| 7618 | + add x1, x25, 332 |
---|
| 7619 | + add x0, x0, :lo12:.LC9 |
---|
6570 | 7620 | mov w2, 701 |
---|
6571 | | - add x1, x23, 440 |
---|
6572 | | - add x0, x0, :lo12:.LC8 |
---|
6573 | 7621 | bl sftl_printk |
---|
6574 | | -.L935: |
---|
| 7622 | +.L964: |
---|
6575 | 7623 | ldrh w1, [x19] |
---|
6576 | 7624 | mov w2, 16 |
---|
6577 | 7625 | ldr x0, [x19, 16] |
---|
6578 | | - ldrh w3, [x0, x1, lsl 1] |
---|
| 7626 | + ldrh w28, [x0, x1, lsl 1] |
---|
6579 | 7627 | mov w1, 0 |
---|
6580 | 7628 | ldrh w0, [x19, 2] |
---|
6581 | | - str w3, [x29, 108] |
---|
6582 | | - str x28, [x20, 8] |
---|
6583 | | - orr w0, w0, w3, lsl 10 |
---|
6584 | | - str w0, [x20, 4] |
---|
6585 | | - ldr x0, [x22, 3520] |
---|
6586 | | - str x0, [x20, 16] |
---|
| 7629 | + str x26, [x21, 8] |
---|
| 7630 | + orr w0, w0, w28, lsl 10 |
---|
| 7631 | + str w0, [x21, 4] |
---|
| 7632 | + ldr x0, [x20, 3512] |
---|
| 7633 | + str x0, [x21, 16] |
---|
6587 | 7634 | bl ftl_memset |
---|
6588 | | - ldr x6, [x20, 16] |
---|
| 7635 | + ldr x23, [x21, 16] |
---|
6589 | 7636 | ldr w0, [x19, 48] |
---|
6590 | | - ldr w3, [x29, 108] |
---|
6591 | | - strh w26, [x6, 8] |
---|
6592 | | - str w0, [x6, 4] |
---|
| 7637 | + str w0, [x23, 4] |
---|
| 7638 | + strh w24, [x23, 8] |
---|
6593 | 7639 | ldrh w0, [x19, 4] |
---|
6594 | | - strh w0, [x6] |
---|
6595 | | - strh w3, [x6, 2] |
---|
6596 | | - ldrh w1, [x22, 314] |
---|
6597 | | - ldr x0, [x20, 8] |
---|
| 7640 | + strh w0, [x23] |
---|
| 7641 | + strh w28, [x23, 2] |
---|
| 7642 | + ldrh w1, [x20, 314] |
---|
| 7643 | + ldr x0, [x21, 8] |
---|
6598 | 7644 | bl js_hash |
---|
6599 | | - str w0, [x6, 12] |
---|
| 7645 | + str w0, [x23, 12] |
---|
6600 | 7646 | mov w3, 1 |
---|
6601 | | - mov x0, x20 |
---|
| 7647 | + mov x0, x21 |
---|
6602 | 7648 | mov w1, w3 |
---|
6603 | 7649 | mov w2, w3 |
---|
6604 | 7650 | bl FlashProgPages |
---|
6605 | 7651 | ldrh w0, [x19, 2] |
---|
6606 | 7652 | add w0, w0, 1 |
---|
6607 | 7653 | strh w0, [x19, 2] |
---|
6608 | | - ldp w0, w1, [x20] |
---|
| 7654 | + ldp w0, w1, [x21] |
---|
6609 | 7655 | cmn w0, #1 |
---|
6610 | | - bne .L936 |
---|
6611 | | - adrp x0, .LC104 |
---|
6612 | | - add x0, x0, :lo12:.LC104 |
---|
| 7656 | + bne .L965 |
---|
| 7657 | + adrp x0, .LC105 |
---|
| 7658 | + add x0, x0, :lo12:.LC105 |
---|
6613 | 7659 | bl sftl_printk |
---|
6614 | | - add w21, w21, 1 |
---|
| 7660 | + add w22, w22, 1 |
---|
6615 | 7661 | ldrh w0, [x19, 2] |
---|
6616 | | - and w21, w21, 65535 |
---|
| 7662 | + and w22, w22, 65535 |
---|
6617 | 7663 | cmp w0, 2 |
---|
6618 | | - bhi .L937 |
---|
6619 | | - ldrh w0, [x22, 308] |
---|
| 7664 | + bhi .L966 |
---|
| 7665 | + ldrh w0, [x20, 308] |
---|
6620 | 7666 | sub w0, w0, #1 |
---|
6621 | 7667 | strh w0, [x19, 2] |
---|
6622 | | -.L937: |
---|
6623 | | - cmp w21, 3 |
---|
6624 | | - bls .L938 |
---|
6625 | | - add x25, x25, :lo12:.LANCHOR0 |
---|
6626 | | - adrp x0, .LC105 |
---|
6627 | | - mov w2, w21 |
---|
6628 | | - add x0, x0, :lo12:.LC105 |
---|
6629 | | - ldr w1, [x25, 3724] |
---|
| 7668 | +.L966: |
---|
| 7669 | + cmp w22, 3 |
---|
| 7670 | + bls .L967 |
---|
| 7671 | + ldr w1, [x20, 3716] |
---|
| 7672 | + adrp x0, .LC106 |
---|
| 7673 | + mov w2, w22 |
---|
| 7674 | + add x0, x0, :lo12:.LC106 |
---|
6630 | 7675 | bl sftl_printk |
---|
6631 | | -.L939: |
---|
6632 | | - b .L939 |
---|
6633 | | -.L938: |
---|
| 7676 | +.L968: |
---|
| 7677 | + b .L968 |
---|
| 7678 | +.L967: |
---|
6634 | 7679 | ldr w0, [x19, 52] |
---|
6635 | | - cbz w0, .L931 |
---|
6636 | | -.L954: |
---|
6637 | | - b .L954 |
---|
6638 | | -.L936: |
---|
| 7680 | + cbz w0, .L960 |
---|
| 7681 | +.L970: |
---|
| 7682 | + b .L970 |
---|
| 7683 | +.L965: |
---|
6639 | 7684 | ldr x0, [x19, 40] |
---|
6640 | 7685 | str w1, [x0, x27] |
---|
6641 | 7686 | ldrh w0, [x19, 2] |
---|
6642 | 7687 | cmp w0, 1 |
---|
6643 | | - beq .L942 |
---|
6644 | | - ldr w0, [x20] |
---|
| 7688 | + beq .L971 |
---|
| 7689 | + ldr w0, [x21] |
---|
6645 | 7690 | cmp w0, 256 |
---|
6646 | | - beq .L942 |
---|
| 7691 | + beq .L971 |
---|
6647 | 7692 | ldr w1, [x19, 56] |
---|
6648 | | - cbz w1, .L943 |
---|
6649 | | -.L942: |
---|
| 7693 | + cbz w1, .L972 |
---|
| 7694 | +.L971: |
---|
6650 | 7695 | str wzr, [x19, 56] |
---|
6651 | | - b .L931 |
---|
6652 | | -.L943: |
---|
| 7696 | + b .L960 |
---|
| 7697 | +.L972: |
---|
6653 | 7698 | cmn w0, #1 |
---|
6654 | | - bne .L944 |
---|
| 7699 | + bne .L973 |
---|
6655 | 7700 | adrp x1, .LANCHOR1 |
---|
6656 | 7701 | add x1, x1, :lo12:.LANCHOR1 |
---|
6657 | | - adrp x0, .LC8 |
---|
| 7702 | + adrp x0, .LC9 |
---|
| 7703 | + add x1, x1, 332 |
---|
| 7704 | + add x0, x0, :lo12:.LC9 |
---|
6658 | 7705 | mov w2, 745 |
---|
6659 | | - add x1, x1, 440 |
---|
6660 | | - add x0, x0, :lo12:.LC8 |
---|
6661 | 7706 | bl sftl_printk |
---|
6662 | | -.L944: |
---|
6663 | | - ldp x19, x20, [sp, 16] |
---|
6664 | | - mov w0, 0 |
---|
6665 | | - ldp x21, x22, [sp, 32] |
---|
6666 | | - ldp x23, x24, [sp, 48] |
---|
6667 | | - ldp x25, x26, [sp, 64] |
---|
6668 | | - ldp x27, x28, [sp, 80] |
---|
6669 | | - ldp x29, x30, [sp], 112 |
---|
6670 | | - ret |
---|
6671 | | - .size FtlMapWritePage, .-FtlMapWritePage |
---|
6672 | | - .align 2 |
---|
6673 | | - .global load_l2p_region |
---|
6674 | | - .type load_l2p_region, %function |
---|
6675 | | -load_l2p_region: |
---|
6676 | | - stp x29, x30, [sp, -80]! |
---|
6677 | | - add x29, sp, 0 |
---|
6678 | | - stp x21, x22, [sp, 32] |
---|
6679 | | - and w22, w0, 65535 |
---|
6680 | | - adrp x21, .LANCHOR0 |
---|
6681 | | - add x0, x21, :lo12:.LANCHOR0 |
---|
6682 | | - stp x19, x20, [sp, 16] |
---|
6683 | | - and x19, x1, 65535 |
---|
6684 | | - stp x23, x24, [sp, 48] |
---|
6685 | | - str x25, [sp, 64] |
---|
6686 | | - ldrh w0, [x0, 340] |
---|
6687 | | - cmp w0, w22 |
---|
6688 | | - bcs .L957 |
---|
6689 | | - adrp x1, .LANCHOR1 |
---|
6690 | | - add x1, x1, :lo12:.LANCHOR1 |
---|
6691 | | - adrp x0, .LC8 |
---|
6692 | | - mov w2, 485 |
---|
6693 | | - add x1, x1, 456 |
---|
6694 | | - add x0, x0, :lo12:.LC8 |
---|
6695 | | - bl sftl_printk |
---|
6696 | | -.L957: |
---|
6697 | | - add x20, x21, :lo12:.LANCHOR0 |
---|
6698 | | - ubfiz x0, x22, 2, 16 |
---|
6699 | | - ldr x1, [x20, 3608] |
---|
6700 | | - ldr w24, [x1, x0] |
---|
6701 | | - cbnz w24, .L958 |
---|
6702 | | - ldr x0, [x20, 2608] |
---|
6703 | | - lsl x19, x19, 4 |
---|
6704 | | - ldrh w2, [x20, 314] |
---|
6705 | | - mov w1, 255 |
---|
6706 | | - add x0, x0, x19 |
---|
6707 | | - ldr x0, [x0, 8] |
---|
6708 | | - bl ftl_memset |
---|
6709 | | - ldr x0, [x20, 2608] |
---|
6710 | | - strh w22, [x0, x19] |
---|
6711 | | - ldr x0, [x20, 2608] |
---|
6712 | | - add x19, x0, x19 |
---|
6713 | | - str wzr, [x19, 4] |
---|
6714 | | -.L959: |
---|
6715 | | - mov w0, 0 |
---|
6716 | | - ldr x25, [sp, 64] |
---|
6717 | | - ldp x19, x20, [sp, 16] |
---|
6718 | | - ldp x21, x22, [sp, 32] |
---|
6719 | | - ldp x23, x24, [sp, 48] |
---|
6720 | | - ldp x29, x30, [sp], 80 |
---|
6721 | | - ret |
---|
6722 | | -.L958: |
---|
6723 | | - ldr x0, [x20, 2608] |
---|
6724 | | - lsl x19, x19, 4 |
---|
6725 | | - add x23, x20, 3720 |
---|
6726 | | - mov w2, 1 |
---|
6727 | | - add x0, x0, x19 |
---|
6728 | | - mov w1, w2 |
---|
6729 | | - str w24, [x20, 3724] |
---|
6730 | | - ldr x0, [x0, 8] |
---|
6731 | | - str x0, [x20, 3728] |
---|
6732 | | - ldr x0, [x20, 3520] |
---|
6733 | | - str x0, [x20, 3736] |
---|
6734 | | - mov x0, x23 |
---|
6735 | | - bl FlashReadPages |
---|
6736 | | - ldr x25, [x20, 3736] |
---|
6737 | | - ldrh w0, [x25, 8] |
---|
6738 | | - cmp w0, w22 |
---|
6739 | | - beq .L960 |
---|
6740 | | - mov w2, w24 |
---|
6741 | | - mov w1, w22 |
---|
6742 | | - adrp x0, .LC106 |
---|
6743 | | - add x0, x0, :lo12:.LC106 |
---|
6744 | | - bl sftl_printk |
---|
6745 | | - ldr x1, [x20, 3736] |
---|
6746 | | - mov w3, 4 |
---|
6747 | | - adrp x0, .LC94 |
---|
6748 | | - mov w2, w3 |
---|
6749 | | - add x0, x0, :lo12:.LC94 |
---|
6750 | | - bl rknand_print_hex |
---|
6751 | | - ldrh w3, [x20, 340] |
---|
6752 | | - adrp x0, .LC107 |
---|
6753 | | - ldr x1, [x20, 3608] |
---|
6754 | | - mov w2, 4 |
---|
6755 | | - add x0, x0, :lo12:.LC107 |
---|
6756 | | - bl rknand_print_hex |
---|
6757 | | -.L961: |
---|
6758 | | - ldrh w0, [x25, 8] |
---|
6759 | | - cmp w0, w22 |
---|
6760 | | - beq .L962 |
---|
6761 | | - adrp x1, .LANCHOR1 |
---|
6762 | | - add x1, x1, :lo12:.LANCHOR1 |
---|
6763 | | - adrp x0, .LC8 |
---|
6764 | | - mov w2, 508 |
---|
6765 | | - add x1, x1, 456 |
---|
6766 | | - add x0, x0, :lo12:.LC8 |
---|
6767 | | - bl sftl_printk |
---|
6768 | | -.L962: |
---|
6769 | | - add x21, x21, :lo12:.LANCHOR0 |
---|
6770 | | - ldr x0, [x21, 2608] |
---|
6771 | | - add x0, x0, x19 |
---|
6772 | | - str wzr, [x0, 4] |
---|
6773 | | - ldr x0, [x21, 2608] |
---|
6774 | | - strh w22, [x0, x19] |
---|
6775 | | - b .L959 |
---|
6776 | | -.L960: |
---|
6777 | | - ldr w0, [x20, 3720] |
---|
6778 | | - cmp w0, 256 |
---|
6779 | | - bne .L961 |
---|
6780 | | - mov w2, w24 |
---|
6781 | | - mov w1, w22 |
---|
6782 | | - adrp x0, .LC108 |
---|
6783 | | - add x0, x0, :lo12:.LC108 |
---|
6784 | | - bl sftl_printk |
---|
6785 | | - ldr x0, [x20, 2608] |
---|
6786 | | - mov w1, w22 |
---|
6787 | | - add x0, x0, x19 |
---|
6788 | | - ldr x2, [x0, 8] |
---|
6789 | | - add x0, x20, 3640 |
---|
6790 | | - bl FtlMapWritePage |
---|
6791 | | - b .L961 |
---|
6792 | | - .size load_l2p_region, .-load_l2p_region |
---|
6793 | | - .align 2 |
---|
6794 | | - .global ftl_map_blk_gc |
---|
6795 | | - .type ftl_map_blk_gc, %function |
---|
6796 | | -ftl_map_blk_gc: |
---|
6797 | | - stp x29, x30, [sp, -96]! |
---|
6798 | | - add x29, sp, 0 |
---|
6799 | | - stp x19, x20, [sp, 16] |
---|
6800 | | - mov x19, x0 |
---|
6801 | | - stp x21, x22, [sp, 32] |
---|
6802 | | - adrp x22, .LANCHOR0 |
---|
6803 | | - stp x23, x24, [sp, 48] |
---|
6804 | | - stp x25, x26, [sp, 64] |
---|
6805 | | - stp x27, x28, [sp, 80] |
---|
6806 | | - ldr x20, [x0, 16] |
---|
6807 | | - ldr x25, [x0, 40] |
---|
6808 | | - bl ftl_free_no_use_map_blk |
---|
6809 | | - ldrh w1, [x19, 10] |
---|
6810 | | - ldrh w2, [x19, 8] |
---|
6811 | | - sub w1, w1, #5 |
---|
6812 | | - cmp w2, w1 |
---|
6813 | | - blt .L965 |
---|
6814 | | - ubfiz x0, x0, 1, 16 |
---|
6815 | | - ldrh w26, [x20, x0] |
---|
6816 | | - cbz w26, .L965 |
---|
6817 | | - ldr w1, [x19, 52] |
---|
6818 | | - cbnz w1, .L965 |
---|
6819 | | - mov w1, 1 |
---|
6820 | | - str w1, [x19, 52] |
---|
6821 | | - strh wzr, [x20, x0] |
---|
6822 | | - ldrh w0, [x19, 8] |
---|
6823 | | - ldrh w1, [x19, 2] |
---|
6824 | | - sub w0, w0, #1 |
---|
6825 | | - strh w0, [x19, 8] |
---|
6826 | | - add x0, x22, :lo12:.LANCHOR0 |
---|
6827 | | - ldrh w0, [x0, 308] |
---|
6828 | | - cmp w1, w0 |
---|
6829 | | - bcc .L966 |
---|
6830 | | - mov x0, x19 |
---|
6831 | | - bl ftl_map_blk_alloc_new_blk |
---|
6832 | | -.L966: |
---|
6833 | | - add x27, x22, :lo12:.LANCHOR0 |
---|
6834 | | - adrp x23, .LANCHOR1 |
---|
6835 | | - add x23, x23, :lo12:.LANCHOR1 |
---|
6836 | | - add x21, x27, 3720 |
---|
6837 | | - add x23, x23, 472 |
---|
6838 | | - mov w20, 0 |
---|
6839 | | -.L967: |
---|
6840 | | - ldrh w0, [x19, 6] |
---|
6841 | | - cmp w0, w20 |
---|
6842 | | - bhi .L974 |
---|
6843 | | - mov w1, 1 |
---|
6844 | | - mov w0, w26 |
---|
6845 | | - bl FtlFreeSysBlkQueueIn |
---|
6846 | | - str wzr, [x19, 52] |
---|
6847 | | -.L965: |
---|
6848 | | - add x22, x22, :lo12:.LANCHOR0 |
---|
6849 | | - ldrh w1, [x19, 2] |
---|
6850 | | - ldrh w0, [x22, 308] |
---|
6851 | | - cmp w1, w0 |
---|
6852 | | - bcc .L975 |
---|
6853 | | - mov x0, x19 |
---|
6854 | | - bl ftl_map_blk_alloc_new_blk |
---|
6855 | | -.L975: |
---|
| 7707 | +.L973: |
---|
6856 | 7708 | mov w0, 0 |
---|
6857 | 7709 | ldp x19, x20, [sp, 16] |
---|
6858 | 7710 | ldp x21, x22, [sp, 32] |
---|
.. | .. |
---|
6860 | 7712 | ldp x25, x26, [sp, 64] |
---|
6861 | 7713 | ldp x27, x28, [sp, 80] |
---|
6862 | 7714 | ldp x29, x30, [sp], 96 |
---|
| 7715 | + hint 29 // autiasp |
---|
6863 | 7716 | ret |
---|
6864 | | -.L974: |
---|
6865 | | - ubfiz x0, x20, 2, 16 |
---|
6866 | | - add x28, x25, x0 |
---|
6867 | | - ldr w1, [x25, x0] |
---|
6868 | | - cmp w26, w1, lsr 10 |
---|
6869 | | - bne .L968 |
---|
6870 | | - ldr x1, [x27, 3464] |
---|
6871 | | - mov w2, 1 |
---|
6872 | | - ldr x24, [x27, 3520] |
---|
6873 | | - stp x1, x24, [x21, 8] |
---|
6874 | | - mov w1, w2 |
---|
6875 | | - ldr w0, [x25, x0] |
---|
6876 | | - str w0, [x21, 4] |
---|
6877 | | - mov x0, x21 |
---|
6878 | | - bl FlashReadPages |
---|
6879 | | - ldrh w0, [x24, 8] |
---|
6880 | | - cmp w0, w20 |
---|
6881 | | - beq .L969 |
---|
6882 | | - adrp x0, .LC8 |
---|
6883 | | - mov w2, 611 |
---|
6884 | | - mov x1, x23 |
---|
6885 | | - add x0, x0, :lo12:.LC8 |
---|
| 7717 | + .size FtlMapWritePage, .-FtlMapWritePage |
---|
| 7718 | + .section .rodata.str1.1 |
---|
| 7719 | +.LC107: |
---|
| 7720 | + .string "region_id = %x phyAddr = %x\n" |
---|
| 7721 | +.LC108: |
---|
| 7722 | + .string "map_ppn:" |
---|
| 7723 | +.LC109: |
---|
| 7724 | + .string "load_l2p_region refresh = %x phyAddr = %x\n" |
---|
| 7725 | + .text |
---|
| 7726 | + .align 2 |
---|
| 7727 | + .global load_l2p_region |
---|
| 7728 | + .type load_l2p_region, %function |
---|
| 7729 | +load_l2p_region: |
---|
| 7730 | + hint 34 // bti c |
---|
| 7731 | + .section __patchable_function_entries |
---|
| 7732 | + .align 3 |
---|
| 7733 | + .8byte .LPFE89 |
---|
| 7734 | + .text |
---|
| 7735 | +.LPFE89: |
---|
| 7736 | + nop |
---|
| 7737 | + nop |
---|
| 7738 | + hint 25 // paciasp |
---|
| 7739 | + stp x29, x30, [sp, -64]! |
---|
| 7740 | + mov x29, sp |
---|
| 7741 | + stp x19, x20, [sp, 16] |
---|
| 7742 | + adrp x19, .LANCHOR0 |
---|
| 7743 | + add x19, x19, :lo12:.LANCHOR0 |
---|
| 7744 | + and w20, w1, 65535 |
---|
| 7745 | + stp x21, x22, [sp, 32] |
---|
| 7746 | + and w21, w0, 65535 |
---|
| 7747 | + ldrh w1, [x19, 340] |
---|
| 7748 | + stp x23, x24, [sp, 48] |
---|
| 7749 | + cmp w1, w0, uxth |
---|
| 7750 | + bcs .L985 |
---|
| 7751 | + adrp x1, .LANCHOR1 |
---|
| 7752 | + add x1, x1, :lo12:.LANCHOR1 |
---|
| 7753 | + adrp x0, .LC9 |
---|
| 7754 | + add x1, x1, 348 |
---|
| 7755 | + add x0, x0, :lo12:.LC9 |
---|
| 7756 | + mov w2, 485 |
---|
6886 | 7757 | bl sftl_printk |
---|
6887 | | -.L969: |
---|
6888 | | - ldr w0, [x21] |
---|
6889 | | - cmn w0, #1 |
---|
6890 | | - bne .L970 |
---|
6891 | | -.L972: |
---|
6892 | | - str wzr, [x28] |
---|
6893 | | -.L971: |
---|
6894 | | - b .L971 |
---|
6895 | | -.L970: |
---|
| 7758 | +.L985: |
---|
| 7759 | + ldr x1, [x19, 3600] |
---|
| 7760 | + ubfiz x0, x21, 2, 16 |
---|
| 7761 | + ubfiz x20, x20, 4, 16 |
---|
| 7762 | + ldr w23, [x1, x0] |
---|
| 7763 | + ldr x0, [x19, 2608] |
---|
| 7764 | + add x0, x0, x20 |
---|
| 7765 | + ldr x0, [x0, 8] |
---|
| 7766 | + cbnz w23, .L986 |
---|
| 7767 | + ldrh w2, [x19, 314] |
---|
| 7768 | + mov w1, 255 |
---|
| 7769 | + bl ftl_memset |
---|
| 7770 | + ldr x0, [x19, 2608] |
---|
| 7771 | + strh w21, [x0, x20] |
---|
| 7772 | + ldr x0, [x19, 2608] |
---|
| 7773 | + add x20, x0, x20 |
---|
| 7774 | + str wzr, [x20, 4] |
---|
| 7775 | +.L987: |
---|
| 7776 | + mov w0, 0 |
---|
| 7777 | + ldp x19, x20, [sp, 16] |
---|
| 7778 | + ldp x21, x22, [sp, 32] |
---|
| 7779 | + ldp x23, x24, [sp, 48] |
---|
| 7780 | + ldp x29, x30, [sp], 64 |
---|
| 7781 | + hint 29 // autiasp |
---|
| 7782 | + ret |
---|
| 7783 | +.L986: |
---|
| 7784 | + add x22, x19, 3712 |
---|
| 7785 | + str x0, [x19, 3720] |
---|
| 7786 | + ldr x0, [x19, 3512] |
---|
| 7787 | + mov w2, 1 |
---|
| 7788 | + mov w1, w2 |
---|
| 7789 | + str w23, [x19, 3716] |
---|
| 7790 | + str x0, [x19, 3728] |
---|
| 7791 | + mov x0, x22 |
---|
| 7792 | + bl FlashReadPages |
---|
| 7793 | + ldr x24, [x19, 3728] |
---|
6896 | 7794 | ldrh w0, [x24, 8] |
---|
6897 | | - cmp w0, w20 |
---|
6898 | | - bne .L972 |
---|
6899 | | - ldrh w1, [x24] |
---|
6900 | | - ldrh w0, [x19, 4] |
---|
| 7795 | + cmp w0, w21 |
---|
| 7796 | + beq .L988 |
---|
| 7797 | + mov w2, w23 |
---|
| 7798 | + mov w1, w21 |
---|
| 7799 | + adrp x0, .LC107 |
---|
| 7800 | + add x0, x0, :lo12:.LC107 |
---|
| 7801 | + bl sftl_printk |
---|
| 7802 | + ldr x1, [x19, 3728] |
---|
| 7803 | + mov w3, 4 |
---|
| 7804 | + adrp x0, .LC95 |
---|
| 7805 | + mov w2, w3 |
---|
| 7806 | + add x0, x0, :lo12:.LC95 |
---|
| 7807 | + bl rknand_print_hex |
---|
| 7808 | + ldrh w3, [x19, 340] |
---|
| 7809 | + adrp x0, .LC108 |
---|
| 7810 | + ldr x1, [x19, 3600] |
---|
| 7811 | + add x0, x0, :lo12:.LC108 |
---|
| 7812 | + mov w2, 4 |
---|
| 7813 | + bl rknand_print_hex |
---|
| 7814 | +.L989: |
---|
| 7815 | + ldrh w0, [x24, 8] |
---|
| 7816 | + cmp w0, w21 |
---|
| 7817 | + beq .L991 |
---|
| 7818 | + adrp x1, .LANCHOR1 |
---|
| 7819 | + add x1, x1, :lo12:.LANCHOR1 |
---|
| 7820 | + adrp x0, .LC9 |
---|
| 7821 | + add x1, x1, 348 |
---|
| 7822 | + add x0, x0, :lo12:.LC9 |
---|
| 7823 | + mov w2, 508 |
---|
| 7824 | + bl sftl_printk |
---|
| 7825 | +.L991: |
---|
| 7826 | + ldr x0, [x19, 2608] |
---|
| 7827 | + add x0, x0, x20 |
---|
| 7828 | + str wzr, [x0, 4] |
---|
| 7829 | + ldr x0, [x19, 2608] |
---|
| 7830 | + strh w21, [x0, x20] |
---|
| 7831 | + b .L987 |
---|
| 7832 | +.L988: |
---|
| 7833 | + ldr w0, [x19, 3712] |
---|
| 7834 | + cmp w0, 256 |
---|
| 7835 | + bne .L991 |
---|
| 7836 | + mov w2, w23 |
---|
| 7837 | + mov w1, w21 |
---|
| 7838 | + adrp x0, .LC109 |
---|
| 7839 | + add x0, x0, :lo12:.LC109 |
---|
| 7840 | + bl sftl_printk |
---|
| 7841 | + ldr x0, [x19, 2608] |
---|
| 7842 | + mov w1, w21 |
---|
| 7843 | + add x0, x0, x20 |
---|
| 7844 | + ldr x2, [x0, 8] |
---|
| 7845 | + add x0, x19, 3632 |
---|
| 7846 | + bl FtlMapWritePage |
---|
| 7847 | + b .L989 |
---|
| 7848 | + .size load_l2p_region, .-load_l2p_region |
---|
| 7849 | + .align 2 |
---|
| 7850 | + .global ftl_map_blk_gc |
---|
| 7851 | + .type ftl_map_blk_gc, %function |
---|
| 7852 | +ftl_map_blk_gc: |
---|
| 7853 | + hint 34 // bti c |
---|
| 7854 | + .section __patchable_function_entries |
---|
| 7855 | + .align 3 |
---|
| 7856 | + .8byte .LPFE90 |
---|
| 7857 | + .text |
---|
| 7858 | +.LPFE90: |
---|
| 7859 | + nop |
---|
| 7860 | + nop |
---|
| 7861 | + hint 25 // paciasp |
---|
| 7862 | + stp x29, x30, [sp, -96]! |
---|
| 7863 | + mov x29, sp |
---|
| 7864 | + stp x19, x20, [sp, 16] |
---|
| 7865 | + mov x19, x0 |
---|
| 7866 | + adrp x20, .LANCHOR0 |
---|
| 7867 | + stp x21, x22, [sp, 32] |
---|
| 7868 | + add x20, x20, :lo12:.LANCHOR0 |
---|
| 7869 | + stp x23, x24, [sp, 48] |
---|
| 7870 | + stp x25, x26, [sp, 64] |
---|
| 7871 | + str x27, [sp, 80] |
---|
| 7872 | + ldr x21, [x0, 16] |
---|
| 7873 | + ldr x24, [x0, 40] |
---|
| 7874 | + bl ftl_free_no_use_map_blk |
---|
| 7875 | + ldrh w1, [x19, 10] |
---|
| 7876 | + ldrh w2, [x19, 8] |
---|
| 7877 | + sub w1, w1, #5 |
---|
| 7878 | + cmp w2, w1 |
---|
| 7879 | + blt .L995 |
---|
| 7880 | + ubfiz x0, x0, 1, 16 |
---|
| 7881 | + ldrh w25, [x21, x0] |
---|
| 7882 | + cbz w25, .L995 |
---|
| 7883 | + ldr w1, [x19, 52] |
---|
| 7884 | + cbnz w1, .L995 |
---|
| 7885 | + mov w1, 1 |
---|
| 7886 | + str w1, [x19, 52] |
---|
| 7887 | + strh wzr, [x21, x0] |
---|
| 7888 | + ldrh w0, [x19, 8] |
---|
| 7889 | + ldrh w1, [x19, 2] |
---|
| 7890 | + sub w0, w0, #1 |
---|
| 7891 | + strh w0, [x19, 8] |
---|
| 7892 | + ldrh w0, [x20, 308] |
---|
6901 | 7893 | cmp w1, w0 |
---|
6902 | | - bne .L972 |
---|
6903 | | - ldr x2, [x21, 8] |
---|
6904 | | - mov w1, w20 |
---|
| 7894 | + bcc .L996 |
---|
| 7895 | + mov x0, x19 |
---|
| 7896 | + bl ftl_map_blk_alloc_new_blk |
---|
| 7897 | +.L996: |
---|
| 7898 | + adrp x22, .LANCHOR1 |
---|
| 7899 | + add x22, x22, :lo12:.LANCHOR1 |
---|
| 7900 | + adrp x26, .LC9 |
---|
| 7901 | + add x22, x22, 364 |
---|
| 7902 | + add x26, x26, :lo12:.LC9 |
---|
| 7903 | + mov w21, 0 |
---|
| 7904 | +.L997: |
---|
| 7905 | + ldrh w0, [x19, 6] |
---|
| 7906 | + cmp w0, w21 |
---|
| 7907 | + bhi .L1004 |
---|
| 7908 | + mov w0, w25 |
---|
| 7909 | + mov w1, 1 |
---|
| 7910 | + bl FtlFreeSysBlkQueueIn |
---|
| 7911 | + str wzr, [x19, 52] |
---|
| 7912 | +.L995: |
---|
| 7913 | + ldrh w1, [x19, 2] |
---|
| 7914 | + ldrh w0, [x20, 308] |
---|
| 7915 | + cmp w1, w0 |
---|
| 7916 | + bcc .L1005 |
---|
| 7917 | + mov x0, x19 |
---|
| 7918 | + bl ftl_map_blk_alloc_new_blk |
---|
| 7919 | +.L1005: |
---|
| 7920 | + mov w0, 0 |
---|
| 7921 | + ldp x19, x20, [sp, 16] |
---|
| 7922 | + ldp x21, x22, [sp, 32] |
---|
| 7923 | + ldp x23, x24, [sp, 48] |
---|
| 7924 | + ldp x25, x26, [sp, 64] |
---|
| 7925 | + ldr x27, [sp, 80] |
---|
| 7926 | + ldp x29, x30, [sp], 96 |
---|
| 7927 | + hint 29 // autiasp |
---|
| 7928 | + ret |
---|
| 7929 | +.L1004: |
---|
| 7930 | + ubfiz x1, x21, 2, 16 |
---|
| 7931 | + add x27, x24, x1 |
---|
| 7932 | + ldr w0, [x24, x1] |
---|
| 7933 | + cmp w25, w0, lsr 10 |
---|
| 7934 | + bne .L998 |
---|
| 7935 | + add x0, x20, 3712 |
---|
| 7936 | + ldr x2, [x20, 3456] |
---|
| 7937 | + ldr x23, [x20, 3512] |
---|
| 7938 | + stp x2, x23, [x0, 8] |
---|
| 7939 | + mov w2, 1 |
---|
| 7940 | + ldr w1, [x24, x1] |
---|
| 7941 | + str w1, [x0, 4] |
---|
| 7942 | + mov w1, w2 |
---|
| 7943 | + bl FlashReadPages |
---|
| 7944 | + ldrh w0, [x23, 8] |
---|
| 7945 | + cmp w0, w21 |
---|
| 7946 | + beq .L999 |
---|
| 7947 | + mov x1, x22 |
---|
| 7948 | + mov x0, x26 |
---|
| 7949 | + mov w2, 611 |
---|
| 7950 | + bl sftl_printk |
---|
| 7951 | +.L999: |
---|
| 7952 | + ldr w1, [x20, 3712] |
---|
| 7953 | + add x0, x20, 3712 |
---|
| 7954 | + cmn w1, #1 |
---|
| 7955 | + bne .L1000 |
---|
| 7956 | +.L1002: |
---|
| 7957 | + str wzr, [x27] |
---|
| 7958 | +.L1001: |
---|
| 7959 | + b .L1001 |
---|
| 7960 | +.L1000: |
---|
| 7961 | + ldrh w1, [x23, 8] |
---|
| 7962 | + cmp w1, w21 |
---|
| 7963 | + bne .L1002 |
---|
| 7964 | + ldrh w2, [x23] |
---|
| 7965 | + ldrh w1, [x19, 4] |
---|
| 7966 | + cmp w2, w1 |
---|
| 7967 | + bne .L1002 |
---|
| 7968 | + ldr x2, [x0, 8] |
---|
| 7969 | + mov w1, w21 |
---|
6905 | 7970 | mov x0, x19 |
---|
6906 | 7971 | bl FtlMapWritePage |
---|
6907 | | -.L968: |
---|
6908 | | - add w20, w20, 1 |
---|
6909 | | - and w20, w20, 65535 |
---|
6910 | | - b .L967 |
---|
| 7972 | +.L998: |
---|
| 7973 | + add w21, w21, 1 |
---|
| 7974 | + and w21, w21, 65535 |
---|
| 7975 | + b .L997 |
---|
6911 | 7976 | .size ftl_map_blk_gc, .-ftl_map_blk_gc |
---|
| 7977 | + .align 2 |
---|
| 7978 | + .global Ftl_write_map_blk_to_last_page |
---|
| 7979 | + .type Ftl_write_map_blk_to_last_page, %function |
---|
| 7980 | +Ftl_write_map_blk_to_last_page: |
---|
| 7981 | + hint 34 // bti c |
---|
| 7982 | + .section __patchable_function_entries |
---|
| 7983 | + .align 3 |
---|
| 7984 | + .8byte .LPFE91 |
---|
| 7985 | + .text |
---|
| 7986 | +.LPFE91: |
---|
| 7987 | + nop |
---|
| 7988 | + nop |
---|
| 7989 | + hint 25 // paciasp |
---|
| 7990 | + stp x29, x30, [sp, -64]! |
---|
| 7991 | + mov w1, 65535 |
---|
| 7992 | + mov x29, sp |
---|
| 7993 | + stp x19, x20, [sp, 16] |
---|
| 7994 | + mov x19, x0 |
---|
| 7995 | + stp x21, x22, [sp, 32] |
---|
| 7996 | + str x23, [sp, 48] |
---|
| 7997 | + ldr x20, [x0, 16] |
---|
| 7998 | + ldrh w0, [x0] |
---|
| 7999 | + cmp w0, w1 |
---|
| 8000 | + bne .L1012 |
---|
| 8001 | + ldrh w0, [x19, 8] |
---|
| 8002 | + cbz w0, .L1013 |
---|
| 8003 | + adrp x1, .LANCHOR1 |
---|
| 8004 | + add x1, x1, :lo12:.LANCHOR1 |
---|
| 8005 | + adrp x0, .LC9 |
---|
| 8006 | + add x1, x1, 379 |
---|
| 8007 | + add x0, x0, :lo12:.LC9 |
---|
| 8008 | + mov w2, 641 |
---|
| 8009 | + bl sftl_printk |
---|
| 8010 | +.L1013: |
---|
| 8011 | + ldrh w0, [x19, 8] |
---|
| 8012 | + add w0, w0, 1 |
---|
| 8013 | + strh w0, [x19, 8] |
---|
| 8014 | + bl FtlFreeSysBlkQueueOut |
---|
| 8015 | + strh w0, [x20] |
---|
| 8016 | + str wzr, [x19] |
---|
| 8017 | + ldr w0, [x19, 48] |
---|
| 8018 | + add w0, w0, 1 |
---|
| 8019 | + str w0, [x19, 48] |
---|
| 8020 | +.L1014: |
---|
| 8021 | + mov w0, 0 |
---|
| 8022 | + ldp x19, x20, [sp, 16] |
---|
| 8023 | + ldp x21, x22, [sp, 32] |
---|
| 8024 | + ldr x23, [sp, 48] |
---|
| 8025 | + ldp x29, x30, [sp], 64 |
---|
| 8026 | + hint 29 // autiasp |
---|
| 8027 | + ret |
---|
| 8028 | +.L1012: |
---|
| 8029 | + ubfiz x0, x0, 1, 16 |
---|
| 8030 | + ldrh w1, [x19, 2] |
---|
| 8031 | + ldr x23, [x19, 40] |
---|
| 8032 | + ldrh w22, [x20, x0] |
---|
| 8033 | + adrp x20, .LANCHOR0 |
---|
| 8034 | + add x20, x20, :lo12:.LANCHOR0 |
---|
| 8035 | + ldr w0, [x19, 48] |
---|
| 8036 | + orr w1, w1, w22, lsl 10 |
---|
| 8037 | + ldr x21, [x20, 3512] |
---|
| 8038 | + str w1, [x20, 3716] |
---|
| 8039 | + ldr x1, [x20, 3448] |
---|
| 8040 | + str x1, [x20, 3720] |
---|
| 8041 | + str x21, [x20, 3728] |
---|
| 8042 | + mov w1, 255 |
---|
| 8043 | + str w0, [x21, 4] |
---|
| 8044 | + mov w0, -1291 |
---|
| 8045 | + strh w0, [x21, 8] |
---|
| 8046 | + ldrh w0, [x19, 4] |
---|
| 8047 | + strh w0, [x21] |
---|
| 8048 | + strh w22, [x21, 2] |
---|
| 8049 | + ldrh w2, [x20, 308] |
---|
| 8050 | + ldr x0, [x20, 3448] |
---|
| 8051 | + lsl w2, w2, 3 |
---|
| 8052 | + bl ftl_memset |
---|
| 8053 | + mov w2, 0 |
---|
| 8054 | + mov w0, 0 |
---|
| 8055 | +.L1015: |
---|
| 8056 | + ldrh w1, [x19, 6] |
---|
| 8057 | + cmp w1, w0 |
---|
| 8058 | + bhi .L1017 |
---|
| 8059 | + ldrh w1, [x20, 314] |
---|
| 8060 | + add x22, x20, 3712 |
---|
| 8061 | + ldr x0, [x20, 3720] |
---|
| 8062 | + bl js_hash |
---|
| 8063 | + str w0, [x21, 12] |
---|
| 8064 | + mov w2, 1 |
---|
| 8065 | + mov x0, x22 |
---|
| 8066 | + mov w1, w2 |
---|
| 8067 | + mov w3, 0 |
---|
| 8068 | + bl FlashProgPages |
---|
| 8069 | + ldrh w0, [x19, 2] |
---|
| 8070 | + add w0, w0, 1 |
---|
| 8071 | + strh w0, [x19, 2] |
---|
| 8072 | + mov x0, x19 |
---|
| 8073 | + bl ftl_map_blk_gc |
---|
| 8074 | + b .L1014 |
---|
| 8075 | +.L1017: |
---|
| 8076 | + ubfiz x3, x0, 2, 16 |
---|
| 8077 | + ldr w1, [x23, x3] |
---|
| 8078 | + cmp w22, w1, lsr 10 |
---|
| 8079 | + bne .L1016 |
---|
| 8080 | + add w1, w2, 1 |
---|
| 8081 | + ldr x5, [x20, 3448] |
---|
| 8082 | + ubfiz x4, x1, 3, 16 |
---|
| 8083 | + and w2, w1, 65535 |
---|
| 8084 | + ubfiz x1, x1, 3, 16 |
---|
| 8085 | + add x1, x1, 4 |
---|
| 8086 | + str w0, [x5, x4] |
---|
| 8087 | + ldr w4, [x23, x3] |
---|
| 8088 | + ldr x3, [x20, 3448] |
---|
| 8089 | + str w4, [x3, x1] |
---|
| 8090 | +.L1016: |
---|
| 8091 | + add w0, w0, 1 |
---|
| 8092 | + and w0, w0, 65535 |
---|
| 8093 | + b .L1015 |
---|
| 8094 | + .size Ftl_write_map_blk_to_last_page, .-Ftl_write_map_blk_to_last_page |
---|
6912 | 8095 | .align 2 |
---|
6913 | 8096 | .global flush_l2p_region |
---|
6914 | 8097 | .type flush_l2p_region, %function |
---|
6915 | 8098 | flush_l2p_region: |
---|
| 8099 | + hint 34 // bti c |
---|
| 8100 | + .section __patchable_function_entries |
---|
| 8101 | + .align 3 |
---|
| 8102 | + .8byte .LPFE92 |
---|
| 8103 | + .text |
---|
| 8104 | +.LPFE92: |
---|
| 8105 | + nop |
---|
| 8106 | + nop |
---|
| 8107 | + hint 25 // paciasp |
---|
6916 | 8108 | stp x29, x30, [sp, -32]! |
---|
6917 | | - add x29, sp, 0 |
---|
| 8109 | + mov x29, sp |
---|
6918 | 8110 | stp x19, x20, [sp, 16] |
---|
6919 | 8111 | adrp x19, .LANCHOR0 |
---|
6920 | 8112 | add x19, x19, :lo12:.LANCHOR0 |
---|
.. | .. |
---|
6923 | 8115 | add x1, x0, x20 |
---|
6924 | 8116 | ldr x2, [x1, 8] |
---|
6925 | 8117 | ldrh w1, [x0, x20] |
---|
6926 | | - add x0, x19, 3640 |
---|
| 8118 | + add x0, x19, 3632 |
---|
6927 | 8119 | bl FtlMapWritePage |
---|
6928 | 8120 | ldr x0, [x19, 2608] |
---|
6929 | 8121 | add x0, x0, x20 |
---|
.. | .. |
---|
6933 | 8125 | mov w0, 0 |
---|
6934 | 8126 | ldp x19, x20, [sp, 16] |
---|
6935 | 8127 | ldp x29, x30, [sp], 32 |
---|
| 8128 | + hint 29 // autiasp |
---|
6936 | 8129 | ret |
---|
6937 | 8130 | .size flush_l2p_region, .-flush_l2p_region |
---|
6938 | 8131 | .align 2 |
---|
6939 | 8132 | .global log2phys |
---|
6940 | 8133 | .type log2phys, %function |
---|
6941 | 8134 | log2phys: |
---|
| 8135 | + hint 34 // bti c |
---|
| 8136 | + .section __patchable_function_entries |
---|
| 8137 | + .align 3 |
---|
| 8138 | + .8byte .LPFE93 |
---|
| 8139 | + .text |
---|
| 8140 | +.LPFE93: |
---|
| 8141 | + nop |
---|
| 8142 | + nop |
---|
| 8143 | + hint 25 // paciasp |
---|
6942 | 8144 | stp x29, x30, [sp, -80]! |
---|
6943 | | - add x29, sp, 0 |
---|
| 8145 | + mov x29, sp |
---|
6944 | 8146 | stp x19, x20, [sp, 16] |
---|
6945 | 8147 | adrp x20, .LANCHOR0 |
---|
6946 | | - stp x25, x26, [sp, 64] |
---|
6947 | | - mov w25, w0 |
---|
6948 | | - add x0, x20, :lo12:.LANCHOR0 |
---|
| 8148 | + add x20, x20, :lo12:.LANCHOR0 |
---|
6949 | 8149 | stp x21, x22, [sp, 32] |
---|
6950 | | - stp x23, x24, [sp, 48] |
---|
| 8150 | + mov w21, w0 |
---|
6951 | 8151 | mov x22, x1 |
---|
| 8152 | + ldrh w19, [x20, 312] |
---|
| 8153 | + stp x23, x24, [sp, 48] |
---|
6952 | 8154 | mov w23, w2 |
---|
6953 | | - ldrh w24, [x0, 312] |
---|
6954 | | - ldr w0, [x0, 2624] |
---|
6955 | | - cmp w25, w0 |
---|
6956 | | - bcc .L984 |
---|
| 8155 | + add w0, w19, 7 |
---|
| 8156 | + mov x19, 1 |
---|
| 8157 | + str x25, [sp, 64] |
---|
| 8158 | + lsr w24, w21, w0 |
---|
| 8159 | + and w24, w24, 65535 |
---|
| 8160 | + lsl x19, x19, x0 |
---|
| 8161 | + ldr w0, [x20, 2624] |
---|
| 8162 | + sub w19, w19, #1 |
---|
| 8163 | + and w19, w19, w21 |
---|
| 8164 | + and w19, w19, 65535 |
---|
| 8165 | + cmp w0, w21 |
---|
| 8166 | + bhi .L1025 |
---|
6957 | 8167 | adrp x1, .LANCHOR1 |
---|
6958 | 8168 | add x1, x1, :lo12:.LANCHOR1 |
---|
6959 | | - adrp x0, .LC8 |
---|
| 8169 | + add x1, x1, 410 |
---|
6960 | 8170 | mov w2, 820 |
---|
6961 | | - add x1, x1, 488 |
---|
6962 | | - add x0, x0, :lo12:.LC8 |
---|
| 8171 | + adrp x0, .LC9 |
---|
| 8172 | + add x0, x0, :lo12:.LC9 |
---|
6963 | 8173 | bl sftl_printk |
---|
6964 | | -.L984: |
---|
6965 | | - add x0, x20, :lo12:.LANCHOR0 |
---|
6966 | | - ldr w1, [x0, 2624] |
---|
6967 | | - cmp w25, w1 |
---|
6968 | | - bcs .L985 |
---|
6969 | | - add w24, w24, 7 |
---|
6970 | | - ldrh w1, [x0, 342] |
---|
6971 | | - ldr x2, [x0, 2608] |
---|
| 8174 | + ldr w0, [x20, 2624] |
---|
| 8175 | + cmp w0, w21 |
---|
| 8176 | + bhi .L1025 |
---|
| 8177 | + mov w0, -1 |
---|
| 8178 | + cbnz w23, .L1024 |
---|
| 8179 | + str w0, [x22] |
---|
| 8180 | +.L1024: |
---|
| 8181 | + ldp x19, x20, [sp, 16] |
---|
| 8182 | + ldp x21, x22, [sp, 32] |
---|
| 8183 | + ldp x23, x24, [sp, 48] |
---|
| 8184 | + ldr x25, [sp, 64] |
---|
| 8185 | + ldp x29, x30, [sp], 80 |
---|
| 8186 | + hint 29 // autiasp |
---|
| 8187 | + ret |
---|
| 8188 | +.L1031: |
---|
| 8189 | + add x0, x0, 1 |
---|
| 8190 | + lsl x3, x0, 4 |
---|
| 8191 | + ldrh w3, [x1, x3] |
---|
| 8192 | + cmp w3, w24 |
---|
| 8193 | + bne .L1027 |
---|
| 8194 | +.L1028: |
---|
| 8195 | + ldr x0, [x20, 2608] |
---|
| 8196 | + ubfiz x2, x25, 4, 16 |
---|
| 8197 | + ubfiz x19, x19, 2, 16 |
---|
| 8198 | + add x0, x0, x2 |
---|
| 8199 | + ldr x0, [x0, 8] |
---|
| 8200 | + cbnz w23, .L1029 |
---|
| 8201 | + ldr w0, [x0, x19] |
---|
| 8202 | + str w0, [x22] |
---|
| 8203 | +.L1030: |
---|
| 8204 | + ldr x0, [x20, 2608] |
---|
| 8205 | + add x0, x0, x2 |
---|
| 8206 | + ldr w1, [x0, 4] |
---|
| 8207 | + cmn w1, #1 |
---|
| 8208 | + beq .L1034 |
---|
| 8209 | + add w1, w1, 1 |
---|
| 8210 | + str w1, [x0, 4] |
---|
| 8211 | +.L1034: |
---|
| 8212 | + mov w0, 0 |
---|
| 8213 | + b .L1024 |
---|
| 8214 | +.L1029: |
---|
| 8215 | + ldr w1, [x22] |
---|
| 8216 | + str w1, [x0, x19] |
---|
| 8217 | + strh w24, [x20, 2616] |
---|
| 8218 | + ldr x1, [x20, 2608] |
---|
| 8219 | + add x1, x1, x2 |
---|
| 8220 | + ldr w0, [x1, 4] |
---|
| 8221 | + orr w0, w0, -2147483648 |
---|
| 8222 | + str w0, [x1, 4] |
---|
| 8223 | + b .L1030 |
---|
| 8224 | +.L1025: |
---|
| 8225 | + ldr x1, [x20, 2608] |
---|
6972 | 8226 | mov x0, 0 |
---|
6973 | | - lsr w21, w25, w24 |
---|
6974 | | - and w21, w21, 65535 |
---|
6975 | | -.L986: |
---|
6976 | | - and x19, x0, 65535 |
---|
6977 | | - cmp w19, w1 |
---|
6978 | | - bcc .L991 |
---|
| 8227 | + ldrh w2, [x20, 342] |
---|
| 8228 | + sub x1, x1, #16 |
---|
| 8229 | +.L1027: |
---|
| 8230 | + and w25, w0, 65535 |
---|
| 8231 | + cmp w2, w0, uxth |
---|
| 8232 | + bhi .L1031 |
---|
6979 | 8233 | bl select_l2p_ram_region |
---|
6980 | | - and x19, x0, 65535 |
---|
6981 | | - add x2, x20, :lo12:.LANCHOR0 |
---|
6982 | | - ubfiz x1, x19, 4, 16 |
---|
6983 | | - mov w26, w0 |
---|
6984 | | - ldr x2, [x2, 2608] |
---|
| 8234 | + and w25, w0, 65535 |
---|
| 8235 | + mov w21, w25 |
---|
| 8236 | + ldr x2, [x20, 2608] |
---|
| 8237 | + ubfiz x1, x21, 4, 16 |
---|
6985 | 8238 | add x3, x2, x1 |
---|
6986 | 8239 | ldrh w2, [x2, x1] |
---|
6987 | 8240 | mov w1, 65535 |
---|
6988 | 8241 | cmp w2, w1 |
---|
6989 | | - beq .L992 |
---|
| 8242 | + beq .L1032 |
---|
6990 | 8243 | ldr w1, [x3, 4] |
---|
6991 | | - tbz w1, #31, .L992 |
---|
| 8244 | + tbz w1, #31, .L1032 |
---|
6992 | 8245 | bl flush_l2p_region |
---|
6993 | | -.L992: |
---|
6994 | | - mov w1, w26 |
---|
6995 | | - mov w0, w21 |
---|
| 8246 | +.L1032: |
---|
| 8247 | + mov w1, w21 |
---|
| 8248 | + mov w0, w24 |
---|
6996 | 8249 | bl load_l2p_region |
---|
6997 | | - b .L988 |
---|
6998 | | -.L985: |
---|
6999 | | - mov w0, -1 |
---|
7000 | | - cbnz w23, .L983 |
---|
7001 | | - str w0, [x22] |
---|
7002 | | -.L983: |
---|
7003 | | - ldp x19, x20, [sp, 16] |
---|
7004 | | - ldp x21, x22, [sp, 32] |
---|
7005 | | - ldp x23, x24, [sp, 48] |
---|
7006 | | - ldp x25, x26, [sp, 64] |
---|
7007 | | - ldp x29, x30, [sp], 80 |
---|
7008 | | - ret |
---|
7009 | | -.L991: |
---|
7010 | | - add x0, x0, 1 |
---|
7011 | | - add x3, x2, x0, lsl 4 |
---|
7012 | | - ldrh w3, [x3, -16] |
---|
7013 | | - cmp w3, w21 |
---|
7014 | | - bne .L986 |
---|
7015 | | -.L988: |
---|
7016 | | - mov x0, 1 |
---|
7017 | | - lsl x0, x0, x24 |
---|
7018 | | - sub w0, w0, #1 |
---|
7019 | | - and w0, w0, w25 |
---|
7020 | | - and x0, x0, 65535 |
---|
7021 | | - cbnz w23, .L989 |
---|
7022 | | - add x1, x20, :lo12:.LANCHOR0 |
---|
7023 | | - ldr x1, [x1, 2608] |
---|
7024 | | - add x1, x1, x19, lsl 4 |
---|
7025 | | - ldr x1, [x1, 8] |
---|
7026 | | - ldr w0, [x1, x0, lsl 2] |
---|
7027 | | - str w0, [x22] |
---|
7028 | | -.L990: |
---|
7029 | | - add x20, x20, :lo12:.LANCHOR0 |
---|
7030 | | - ldr x0, [x20, 2608] |
---|
7031 | | - add x19, x0, x19, lsl 4 |
---|
7032 | | - ldr w0, [x19, 4] |
---|
7033 | | - cmn w0, #1 |
---|
7034 | | - beq .L994 |
---|
7035 | | - add w0, w0, 1 |
---|
7036 | | - str w0, [x19, 4] |
---|
7037 | | -.L994: |
---|
7038 | | - mov w0, 0 |
---|
7039 | | - b .L983 |
---|
7040 | | -.L989: |
---|
7041 | | - add x2, x20, :lo12:.LANCHOR0 |
---|
7042 | | - lsl x1, x19, 4 |
---|
7043 | | - ldr w4, [x22] |
---|
7044 | | - ldr x3, [x2, 2608] |
---|
7045 | | - add x3, x3, x1 |
---|
7046 | | - ldr x3, [x3, 8] |
---|
7047 | | - str w4, [x3, x0, lsl 2] |
---|
7048 | | - strh w21, [x2, 2616] |
---|
7049 | | - ldr x0, [x2, 2608] |
---|
7050 | | - add x0, x0, x1 |
---|
7051 | | - ldr w1, [x0, 4] |
---|
7052 | | - orr w1, w1, -2147483648 |
---|
7053 | | - str w1, [x0, 4] |
---|
7054 | | - b .L990 |
---|
| 8250 | + b .L1028 |
---|
7055 | 8251 | .size log2phys, .-log2phys |
---|
7056 | 8252 | .align 2 |
---|
7057 | 8253 | .global FtlWriteDump_data |
---|
7058 | 8254 | .type FtlWriteDump_data, %function |
---|
7059 | 8255 | FtlWriteDump_data: |
---|
7060 | | - stp x29, x30, [sp, -128]! |
---|
7061 | | - add x29, sp, 0 |
---|
| 8256 | + hint 34 // bti c |
---|
| 8257 | + .section __patchable_function_entries |
---|
| 8258 | + .align 3 |
---|
| 8259 | + .8byte .LPFE94 |
---|
| 8260 | + .text |
---|
| 8261 | +.LPFE94: |
---|
| 8262 | + nop |
---|
| 8263 | + nop |
---|
| 8264 | + hint 25 // paciasp |
---|
| 8265 | + stp x29, x30, [sp, -112]! |
---|
| 8266 | + mrs x0, sp_el0 |
---|
| 8267 | + mov x29, sp |
---|
7062 | 8268 | stp x19, x20, [sp, 16] |
---|
7063 | 8269 | adrp x19, .LANCHOR0 |
---|
7064 | | - add x20, x19, :lo12:.LANCHOR0 |
---|
| 8270 | + add x19, x19, :lo12:.LANCHOR0 |
---|
7065 | 8271 | stp x21, x22, [sp, 32] |
---|
7066 | | - stp x23, x24, [sp, 48] |
---|
7067 | | - adrp x22, __stack_chk_guard |
---|
7068 | | - stp x25, x26, [sp, 64] |
---|
7069 | | - add x0, x22, :lo12:__stack_chk_guard |
---|
7070 | | - ldrh w2, [x20, 28] |
---|
7071 | | - ldr x1, [x0] |
---|
7072 | | - str x1, [x29, 120] |
---|
7073 | | - mov x1,0 |
---|
7074 | | - cbz w2, .L998 |
---|
7075 | | - ldrb w1, [x20, 32] |
---|
7076 | | - cbnz w1, .L998 |
---|
7077 | | - ldrb w1, [x20, 31] |
---|
7078 | | - ldrh w3, [x20, 306] |
---|
| 8272 | + str x23, [sp, 48] |
---|
| 8273 | + ldrh w2, [x19, 28] |
---|
| 8274 | + ldr x1, [x0, 1376] |
---|
| 8275 | + str x1, [sp, 104] |
---|
| 8276 | + mov x1, 0 |
---|
| 8277 | + cbz w2, .L1038 |
---|
| 8278 | + ldrb w1, [x19, 32] |
---|
| 8279 | + cbnz w1, .L1038 |
---|
| 8280 | + ldrb w1, [x19, 31] |
---|
| 8281 | + ldrh w3, [x19, 306] |
---|
7079 | 8282 | mul w1, w1, w3 |
---|
7080 | 8283 | cmp w2, w1 |
---|
7081 | | - beq .L998 |
---|
7082 | | - ldrb w0, [x20, 34] |
---|
7083 | | - cbnz w0, .L997 |
---|
7084 | | - ldr w23, [x20, 2624] |
---|
7085 | | - add x1, x29, 84 |
---|
7086 | | - ldrh w25, [x20, 236] |
---|
| 8284 | + beq .L1038 |
---|
| 8285 | + ldrb w0, [x19, 34] |
---|
| 8286 | + cbnz w0, .L1037 |
---|
| 8287 | + ldr w22, [x19, 2624] |
---|
| 8288 | + add x1, sp, 68 |
---|
| 8289 | + ldrh w21, [x19, 236] |
---|
7087 | 8290 | mov w2, 0 |
---|
7088 | | - sub w23, w23, #1 |
---|
7089 | | - mov w0, w23 |
---|
| 8291 | + sub w22, w22, #1 |
---|
| 8292 | + mov w0, w22 |
---|
7090 | 8293 | bl log2phys |
---|
7091 | | - ldr x21, [x20, 3520] |
---|
7092 | | - ldr w0, [x29, 84] |
---|
7093 | | - ldr x1, [x20, 3456] |
---|
7094 | | - str w0, [x29, 92] |
---|
| 8294 | + ldr x20, [x19, 3512] |
---|
| 8295 | + str w22, [sp, 96] |
---|
| 8296 | + ldr w0, [sp, 68] |
---|
| 8297 | + ldr x1, [x19, 3448] |
---|
| 8298 | + str w0, [sp, 76] |
---|
| 8299 | + stp x1, x20, [sp, 80] |
---|
| 8300 | + str wzr, [x20, 4] |
---|
7095 | 8301 | cmn w0, #1 |
---|
7096 | | - stp x1, x21, [x29, 96] |
---|
7097 | | - str w23, [x29, 112] |
---|
7098 | | - str wzr, [x21, 4] |
---|
7099 | | - beq .L1000 |
---|
| 8302 | + beq .L1040 |
---|
| 8303 | + add x0, sp, 72 |
---|
7100 | 8304 | mov w2, 0 |
---|
7101 | 8305 | mov w1, 1 |
---|
7102 | | - add x0, x29, 88 |
---|
7103 | 8306 | bl FlashReadPages |
---|
7104 | | -.L1001: |
---|
7105 | | - add x26, x19, :lo12:.LANCHOR0 |
---|
7106 | | - lsl w25, w25, 2 |
---|
7107 | | - add x20, x26, 24 |
---|
| 8307 | +.L1041: |
---|
| 8308 | + lsl w21, w21, 2 |
---|
| 8309 | + add x23, x19, 24 |
---|
7108 | 8310 | mov w0, -3947 |
---|
7109 | | - mov w24, 0 |
---|
7110 | | - strh w0, [x21] |
---|
7111 | | -.L1002: |
---|
7112 | | - cmp w25, w24 |
---|
7113 | | - bne .L1006 |
---|
7114 | | -.L1003: |
---|
7115 | | - add x19, x19, :lo12:.LANCHOR0 |
---|
| 8311 | + strh w0, [x20] |
---|
| 8312 | +.L1042: |
---|
| 8313 | + cbnz w21, .L1046 |
---|
| 8314 | +.L1043: |
---|
7116 | 8315 | mov w0, 1 |
---|
7117 | 8316 | strb w0, [x19, 34] |
---|
7118 | | -.L997: |
---|
7119 | | - add x22, x22, :lo12:__stack_chk_guard |
---|
7120 | | - ldr x1, [x29, 120] |
---|
7121 | | - ldr x0, [x22] |
---|
7122 | | - eor x0, x1, x0 |
---|
7123 | | - cbz x0, .L1008 |
---|
| 8317 | +.L1037: |
---|
| 8318 | + mrs x0, sp_el0 |
---|
| 8319 | + ldr x1, [sp, 104] |
---|
| 8320 | + ldr x2, [x0, 1376] |
---|
| 8321 | + subs x1, x1, x2 |
---|
| 8322 | + mov x2, 0 |
---|
| 8323 | + beq .L1048 |
---|
7124 | 8324 | bl __stack_chk_fail |
---|
7125 | | -.L1000: |
---|
7126 | | - ldrh w2, [x20, 314] |
---|
| 8325 | +.L1040: |
---|
| 8326 | + ldrh w2, [x19, 314] |
---|
7127 | 8327 | mov w1, 255 |
---|
7128 | | - ldr x0, [x20, 3456] |
---|
| 8328 | + ldr x0, [x19, 3448] |
---|
7129 | 8329 | bl ftl_memset |
---|
7130 | | - b .L1001 |
---|
7131 | | -.L1006: |
---|
7132 | | - ldrh w0, [x20, 4] |
---|
7133 | | - cbz w0, .L1003 |
---|
7134 | | - ldr w0, [x29, 92] |
---|
7135 | | - add w24, w24, 1 |
---|
7136 | | - stp w23, w0, [x21, 8] |
---|
7137 | | - ldrh w0, [x20] |
---|
7138 | | - strh w0, [x21, 2] |
---|
7139 | | - mov x0, x20 |
---|
| 8330 | + b .L1041 |
---|
| 8331 | +.L1046: |
---|
| 8332 | + ldrh w0, [x23, 4] |
---|
| 8333 | + cbz w0, .L1043 |
---|
| 8334 | + ldr w0, [sp, 76] |
---|
| 8335 | + sub w21, w21, #1 |
---|
| 8336 | + stp w22, w0, [x20, 8] |
---|
| 8337 | + ldrh w0, [x23] |
---|
| 8338 | + strh w0, [x20, 2] |
---|
| 8339 | + mov x0, x23 |
---|
7140 | 8340 | bl get_new_active_ppa |
---|
7141 | | - str w0, [x29, 92] |
---|
7142 | | - ldr w0, [x26, 2664] |
---|
| 8341 | + str w0, [sp, 76] |
---|
| 8342 | + ldr w0, [x19, 2664] |
---|
7143 | 8343 | mov w3, 0 |
---|
7144 | | - str w0, [x21, 4] |
---|
| 8344 | + str w0, [x20, 4] |
---|
7145 | 8345 | mov w2, 0 |
---|
7146 | | - add w0, w0, 1 |
---|
| 8346 | + cmn w0, #2 |
---|
7147 | 8347 | mov w1, 1 |
---|
7148 | | - cmn w0, #1 |
---|
7149 | | - csel w0, w0, wzr, ne |
---|
7150 | | - str w0, [x26, 2664] |
---|
7151 | | - add x0, x29, 88 |
---|
| 8348 | + csinc w0, wzr, w0, eq |
---|
| 8349 | + str w0, [x19, 2664] |
---|
| 8350 | + add x0, sp, 72 |
---|
7152 | 8351 | bl FlashProgPages |
---|
7153 | | - ldrh w0, [x20] |
---|
| 8352 | + ldrh w0, [x23] |
---|
7154 | 8353 | bl decrement_vpc_count |
---|
7155 | | - b .L1002 |
---|
7156 | | -.L998: |
---|
7157 | | - add x19, x19, :lo12:.LANCHOR0 |
---|
| 8354 | + b .L1042 |
---|
| 8355 | +.L1038: |
---|
7158 | 8356 | strb wzr, [x19, 34] |
---|
7159 | | - b .L997 |
---|
7160 | | -.L1008: |
---|
| 8357 | + b .L1037 |
---|
| 8358 | +.L1048: |
---|
7161 | 8359 | ldp x19, x20, [sp, 16] |
---|
7162 | 8360 | ldp x21, x22, [sp, 32] |
---|
7163 | | - ldp x23, x24, [sp, 48] |
---|
7164 | | - ldp x25, x26, [sp, 64] |
---|
7165 | | - ldp x29, x30, [sp], 128 |
---|
| 8361 | + ldr x23, [sp, 48] |
---|
| 8362 | + ldp x29, x30, [sp], 112 |
---|
| 8363 | + hint 29 // autiasp |
---|
7166 | 8364 | ret |
---|
7167 | 8365 | .size FtlWriteDump_data, .-FtlWriteDump_data |
---|
7168 | 8366 | .align 2 |
---|
7169 | 8367 | .global FtlReUsePrevPpa |
---|
7170 | 8368 | .type FtlReUsePrevPpa, %function |
---|
7171 | 8369 | FtlReUsePrevPpa: |
---|
7172 | | - stp x29, x30, [sp, -80]! |
---|
7173 | | - add x29, sp, 0 |
---|
| 8370 | + hint 34 // bti c |
---|
| 8371 | + .section __patchable_function_entries |
---|
| 8372 | + .align 3 |
---|
| 8373 | + .8byte .LPFE95 |
---|
| 8374 | + .text |
---|
| 8375 | +.LPFE95: |
---|
| 8376 | + nop |
---|
| 8377 | + nop |
---|
| 8378 | + hint 25 // paciasp |
---|
| 8379 | + stp x29, x30, [sp, -64]! |
---|
| 8380 | + mov x29, sp |
---|
| 8381 | + stp x19, x20, [sp, 16] |
---|
| 8382 | + adrp x19, .LANCHOR0 |
---|
| 8383 | + add x19, x19, :lo12:.LANCHOR0 |
---|
7174 | 8384 | stp x21, x22, [sp, 32] |
---|
7175 | 8385 | mov w21, w0 |
---|
7176 | | - stp x19, x20, [sp, 16] |
---|
7177 | | - lsr w0, w1, 10 |
---|
7178 | | - str w1, [x29, 76] |
---|
7179 | | - adrp x22, .LANCHOR0 |
---|
7180 | | - str x23, [sp, 48] |
---|
| 8386 | + ubfx x0, x1, 10, 16 |
---|
| 8387 | + str w1, [sp, 60] |
---|
7181 | 8388 | bl P2V_block_in_plane |
---|
7182 | | - add x2, x22, :lo12:.LANCHOR0 |
---|
7183 | | - and w0, w0, 65535 |
---|
7184 | | - ubfiz x20, x0, 1, 16 |
---|
7185 | | - ldr x3, [x2, 72] |
---|
7186 | | - ldrh w1, [x3, x20] |
---|
7187 | | - cbnz w1, .L1017 |
---|
7188 | | - ldr x19, [x2, 2592] |
---|
7189 | | - cbz x19, .L1018 |
---|
7190 | | - ldrh w3, [x2, 228] |
---|
7191 | | - mov x4, -6148914691236517206 |
---|
7192 | | - ldr x2, [x2, 2560] |
---|
7193 | | - movk x4, 0xaaab, lsl 0 |
---|
7194 | | - mov w5, 65535 |
---|
7195 | | - sub x19, x19, x2 |
---|
7196 | | - asr x19, x19, 1 |
---|
7197 | | - mul x19, x19, x4 |
---|
7198 | | - mov w4, 6 |
---|
7199 | | - and w19, w19, 65535 |
---|
7200 | | -.L1019: |
---|
7201 | | - cmp w1, w3 |
---|
7202 | | - beq .L1018 |
---|
7203 | | - cmp w19, w0 |
---|
7204 | | - bne .L1020 |
---|
7205 | | - add x23, x22, :lo12:.LANCHOR0 |
---|
7206 | | - mov w1, w19 |
---|
7207 | | - add x0, x23, 2592 |
---|
| 8389 | + and w4, w0, 65535 |
---|
| 8390 | + mov w22, w4 |
---|
| 8391 | + ldr x0, [x19, 72] |
---|
| 8392 | + ubfiz x20, x22, 1, 16 |
---|
| 8393 | + ldrh w3, [x0, x20] |
---|
| 8394 | + cbnz w3, .L1057 |
---|
| 8395 | + ldr x2, [x19, 2592] |
---|
| 8396 | + cbz x2, .L1058 |
---|
| 8397 | + ldr x0, [x19, 2560] |
---|
| 8398 | + mov x5, -6148914691236517206 |
---|
| 8399 | + movk x5, 0xaaab, lsl 0 |
---|
| 8400 | + ldrh w1, [x19, 228] |
---|
| 8401 | + sub x2, x2, x0 |
---|
| 8402 | + mov w6, 65535 |
---|
| 8403 | + asr x2, x2, 1 |
---|
| 8404 | + mul x2, x2, x5 |
---|
| 8405 | + mov w5, 6 |
---|
| 8406 | + and w2, w2, 65535 |
---|
| 8407 | +.L1059: |
---|
| 8408 | + cmp w3, w1 |
---|
| 8409 | + beq .L1058 |
---|
| 8410 | + cmp w2, w4 |
---|
| 8411 | + bne .L1060 |
---|
| 8412 | + mov w1, w22 |
---|
| 8413 | + add x0, x19, 2592 |
---|
7208 | 8414 | bl List_remove_node |
---|
7209 | | - ldrh w0, [x23, 228] |
---|
7210 | | - cbnz w0, .L1021 |
---|
| 8415 | + ldrh w0, [x19, 228] |
---|
| 8416 | + cbnz w0, .L1061 |
---|
7211 | 8417 | adrp x1, .LANCHOR1 |
---|
7212 | 8418 | add x1, x1, :lo12:.LANCHOR1 |
---|
7213 | | - adrp x0, .LC8 |
---|
| 8419 | + adrp x0, .LC9 |
---|
| 8420 | + add x1, x1, 419 |
---|
| 8421 | + add x0, x0, :lo12:.LC9 |
---|
7214 | 8422 | mov w2, 1742 |
---|
7215 | | - add x1, x1, 504 |
---|
7216 | | - add x0, x0, :lo12:.LC8 |
---|
7217 | 8423 | bl sftl_printk |
---|
7218 | | -.L1021: |
---|
7219 | | - add x22, x22, :lo12:.LANCHOR0 |
---|
7220 | | - ldrh w0, [x22, 228] |
---|
| 8424 | +.L1061: |
---|
| 8425 | + ldrh w0, [x19, 228] |
---|
7221 | 8426 | sub w0, w0, #1 |
---|
7222 | | - strh w0, [x22, 228] |
---|
7223 | | - mov w0, w19 |
---|
| 8427 | + strh w0, [x19, 228] |
---|
| 8428 | + mov w0, w22 |
---|
7224 | 8429 | bl INSERT_DATA_LIST |
---|
7225 | | - ldr x1, [x22, 72] |
---|
| 8430 | + ldr x1, [x19, 72] |
---|
7226 | 8431 | ldrh w0, [x1, x20] |
---|
7227 | 8432 | add w0, w0, 1 |
---|
7228 | 8433 | strh w0, [x1, x20] |
---|
7229 | | -.L1018: |
---|
7230 | | - add x1, x29, 76 |
---|
7231 | | - mov w2, 1 |
---|
| 8434 | +.L1058: |
---|
| 8435 | + add x1, sp, 60 |
---|
7232 | 8436 | mov w0, w21 |
---|
| 8437 | + mov w2, 1 |
---|
7233 | 8438 | bl log2phys |
---|
7234 | 8439 | ldp x19, x20, [sp, 16] |
---|
7235 | 8440 | ldp x21, x22, [sp, 32] |
---|
7236 | | - ldr x23, [sp, 48] |
---|
7237 | | - ldp x29, x30, [sp], 80 |
---|
| 8441 | + ldp x29, x30, [sp], 64 |
---|
| 8442 | + hint 29 // autiasp |
---|
7238 | 8443 | ret |
---|
7239 | | -.L1020: |
---|
7240 | | - umull x19, w19, w4 |
---|
7241 | | - ldrh w19, [x2, x19] |
---|
7242 | | - cmp w19, w5 |
---|
7243 | | - beq .L1018 |
---|
7244 | | - add w1, w1, 1 |
---|
7245 | | - and w1, w1, 65535 |
---|
7246 | | - b .L1019 |
---|
7247 | | -.L1017: |
---|
7248 | | - add w1, w1, 1 |
---|
7249 | | - strh w1, [x3, x20] |
---|
7250 | | - b .L1018 |
---|
| 8444 | +.L1060: |
---|
| 8445 | + umull x2, w2, w5 |
---|
| 8446 | + ldrh w2, [x0, x2] |
---|
| 8447 | + cmp w2, w6 |
---|
| 8448 | + beq .L1058 |
---|
| 8449 | + add w3, w3, 1 |
---|
| 8450 | + and w3, w3, 65535 |
---|
| 8451 | + b .L1059 |
---|
| 8452 | +.L1057: |
---|
| 8453 | + add w3, w3, 1 |
---|
| 8454 | + strh w3, [x0, x20] |
---|
| 8455 | + b .L1058 |
---|
7251 | 8456 | .size FtlReUsePrevPpa, .-FtlReUsePrevPpa |
---|
| 8457 | + .section .rodata.str1.1 |
---|
| 8458 | +.LC110: |
---|
| 8459 | + .string "data prev_ppa = %x error...................\n" |
---|
| 8460 | +.LC111: |
---|
| 8461 | + .string "spuer block %x vpn is 0\n " |
---|
| 8462 | + .text |
---|
7252 | 8463 | .align 2 |
---|
7253 | 8464 | .global FtlRecoverySuperblock |
---|
7254 | 8465 | .type FtlRecoverySuperblock, %function |
---|
7255 | 8466 | FtlRecoverySuperblock: |
---|
| 8467 | + hint 34 // bti c |
---|
| 8468 | + .section __patchable_function_entries |
---|
| 8469 | + .align 3 |
---|
| 8470 | + .8byte .LPFE96 |
---|
| 8471 | + .text |
---|
| 8472 | +.LPFE96: |
---|
| 8473 | + nop |
---|
| 8474 | + nop |
---|
| 8475 | + hint 25 // paciasp |
---|
7256 | 8476 | stp x29, x30, [sp, -192]! |
---|
7257 | | - add x29, sp, 0 |
---|
| 8477 | + mov x29, sp |
---|
7258 | 8478 | stp x19, x20, [sp, 16] |
---|
7259 | 8479 | mov x20, x0 |
---|
| 8480 | + mrs x0, sp_el0 |
---|
7260 | 8481 | stp x21, x22, [sp, 32] |
---|
7261 | | - adrp x0, __stack_chk_guard |
---|
7262 | 8482 | stp x23, x24, [sp, 48] |
---|
7263 | | - add x1, x0, :lo12:__stack_chk_guard |
---|
7264 | 8483 | stp x25, x26, [sp, 64] |
---|
7265 | 8484 | stp x27, x28, [sp, 80] |
---|
7266 | | - str x0, [x29, 120] |
---|
7267 | | - ldr x2, [x1] |
---|
7268 | | - str x2, [x29, 184] |
---|
7269 | | - mov x2,0 |
---|
| 8485 | + ldr x1, [x0, 1376] |
---|
| 8486 | + str x1, [sp, 184] |
---|
| 8487 | + mov x1, 0 |
---|
| 8488 | + ldrh w0, [x20] |
---|
7270 | 8489 | mov w1, 65535 |
---|
7271 | | - ldrh w2, [x20] |
---|
7272 | | - cmp w2, w1 |
---|
7273 | | - beq .L1029 |
---|
7274 | | - ldrb w0, [x20, 6] |
---|
| 8490 | + cmp w0, w1 |
---|
| 8491 | + beq .L1069 |
---|
7275 | 8492 | adrp x19, .LANCHOR0 |
---|
7276 | | - str w0, [x29, 156] |
---|
7277 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
7278 | | - ldrh w26, [x20, 2] |
---|
7279 | | - ldrh w0, [x0, 306] |
---|
7280 | | - cmp w0, w26 |
---|
7281 | | - bne .L1030 |
---|
| 8493 | + add x19, x19, :lo12:.LANCHOR0 |
---|
| 8494 | + ldrb w0, [x20, 6] |
---|
| 8495 | + ldrh w24, [x20, 2] |
---|
| 8496 | + str w0, [sp, 152] |
---|
| 8497 | + ldrh w0, [x19, 306] |
---|
| 8498 | + cmp w0, w24 |
---|
| 8499 | + bne .L1070 |
---|
| 8500 | + strh w0, [x20, 2] |
---|
7282 | 8501 | strh wzr, [x20, 4] |
---|
7283 | | -.L1156: |
---|
| 8502 | +.L1191: |
---|
7284 | 8503 | strb wzr, [x20, 6] |
---|
7285 | | -.L1029: |
---|
7286 | | - ldr x1, [x29, 120] |
---|
7287 | | - mov w0, 0 |
---|
7288 | | - add x1, x1, :lo12:__stack_chk_guard |
---|
7289 | | - ldr x2, [x29, 184] |
---|
7290 | | - ldr x1, [x1] |
---|
7291 | | - eor x1, x2, x1 |
---|
7292 | | - cbz x1, .L1098 |
---|
| 8504 | +.L1069: |
---|
| 8505 | + mrs x0, sp_el0 |
---|
| 8506 | + ldr x1, [sp, 184] |
---|
| 8507 | + ldr x2, [x0, 1376] |
---|
| 8508 | + subs x1, x1, x2 |
---|
| 8509 | + mov x2, 0 |
---|
| 8510 | + beq .L1135 |
---|
7293 | 8511 | bl __stack_chk_fail |
---|
7294 | | -.L1030: |
---|
| 8512 | +.L1070: |
---|
7295 | 8513 | ldrh w0, [x20, 16] |
---|
7296 | 8514 | mov w21, 0 |
---|
7297 | | -.L1031: |
---|
| 8515 | +.L1071: |
---|
7298 | 8516 | cmp w0, w1 |
---|
7299 | | - beq .L1032 |
---|
| 8517 | + beq .L1072 |
---|
7300 | 8518 | mov w1, 1 |
---|
7301 | 8519 | bl FtlGetLastWrittenPage |
---|
7302 | | - mov w23, w0 |
---|
| 8520 | + mov w26, w0 |
---|
7303 | 8521 | cmn w0, #1 |
---|
7304 | | - beq .L1033 |
---|
7305 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
7306 | | - add x28, x20, 16 |
---|
7307 | | - mov x4, x28 |
---|
| 8522 | + beq .L1073 |
---|
| 8523 | + ldrh w6, [x19, 236] |
---|
| 8524 | + add x9, x20, 16 |
---|
| 8525 | + ldrh w7, [x19, 314] |
---|
| 8526 | + mov x1, 0 |
---|
| 8527 | + ldrh w8, [x19, 316] |
---|
7308 | 8528 | mov w22, 0 |
---|
7309 | 8529 | mov w10, 65535 |
---|
7310 | | - mov w6, 4 |
---|
7311 | | - ldrh w3, [x0, 236] |
---|
7312 | | - ldrh w8, [x0, 314] |
---|
7313 | | - add x3, x3, 8 |
---|
7314 | | - ldrh w9, [x0, 316] |
---|
7315 | | - add x3, x20, x3, lsl 1 |
---|
7316 | | -.L1034: |
---|
7317 | | - cmp x3, x4 |
---|
7318 | | - bne .L1038 |
---|
7319 | | - add x24, x19, :lo12:.LANCHOR0 |
---|
| 8530 | + mov w4, 4 |
---|
| 8531 | +.L1074: |
---|
| 8532 | + ldr x0, [x19, 3424] |
---|
| 8533 | + cmp w6, w1, uxth |
---|
| 8534 | + bhi .L1078 |
---|
7320 | 8535 | mov w2, 0 |
---|
7321 | 8536 | mov w1, w22 |
---|
7322 | | - ldr x0, [x24, 3432] |
---|
7323 | 8537 | bl FlashReadPages |
---|
7324 | | - ldr w21, [x24, 2664] |
---|
7325 | | - ldr x4, [x24, 3432] |
---|
7326 | | - and w9, w23, 65535 |
---|
| 8538 | + ldr w21, [x19, 2664] |
---|
| 8539 | + ldr x28, [x19, 3424] |
---|
| 8540 | + and w4, w26, 65535 |
---|
7327 | 8541 | sub w21, w21, #1 |
---|
7328 | | - mov w7, 65535 |
---|
7329 | | - mov x6, x4 |
---|
7330 | | - mov w3, 0 |
---|
7331 | | -.L1039: |
---|
7332 | | - cmp w22, w3 |
---|
7333 | | - bne .L1044 |
---|
7334 | | - add w22, w23, 1 |
---|
7335 | | - ldr w0, [x4, 4] |
---|
7336 | | - and w22, w22, 65535 |
---|
7337 | | -.L1151: |
---|
7338 | | - lsr w0, w0, 10 |
---|
| 8542 | + mov w25, 65535 |
---|
| 8543 | + mov x2, x28 |
---|
| 8544 | + mov w27, 0 |
---|
| 8545 | +.L1079: |
---|
| 8546 | + cmp w22, w27 |
---|
| 8547 | + bne .L1084 |
---|
| 8548 | + add w23, w26, 1 |
---|
| 8549 | + ldr w0, [x28, 4] |
---|
| 8550 | + and w23, w23, 65535 |
---|
| 8551 | +.L1186: |
---|
| 8552 | + ubfx x0, x0, 10, 16 |
---|
7339 | 8553 | bl P2V_plane |
---|
7340 | | - and w27, w0, 65535 |
---|
7341 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
7342 | | - ldrh w0, [x0, 306] |
---|
7343 | | - cmp w0, w22 |
---|
7344 | | - bne .L1046 |
---|
7345 | | - strh w22, [x20, 2] |
---|
7346 | | - strb wzr, [x20, 6] |
---|
| 8554 | + and w22, w0, 65535 |
---|
| 8555 | + ldrh w0, [x19, 306] |
---|
| 8556 | + cmp w0, w23 |
---|
| 8557 | + bne .L1086 |
---|
| 8558 | + strh w23, [x20, 2] |
---|
7347 | 8559 | strh wzr, [x20, 4] |
---|
7348 | | -.L1046: |
---|
7349 | | - ldr w0, [x29, 156] |
---|
7350 | | - cmp w22, w26 |
---|
7351 | | - ccmp w27, w0, 0, eq |
---|
7352 | | - bne .L1047 |
---|
7353 | | -.L1157: |
---|
7354 | | - mov w2, w27 |
---|
7355 | | - mov w1, w22 |
---|
| 8560 | + strb wzr, [x20, 6] |
---|
| 8561 | +.L1086: |
---|
| 8562 | + ldr w0, [sp, 152] |
---|
| 8563 | + cmp w23, w24 |
---|
| 8564 | + ccmp w22, w0, 0, eq |
---|
| 8565 | + bne .L1087 |
---|
| 8566 | +.L1192: |
---|
| 8567 | + mov w2, w22 |
---|
| 8568 | + mov w1, w23 |
---|
7356 | 8569 | mov x0, x20 |
---|
7357 | 8570 | bl ftl_sb_update_avl_pages |
---|
7358 | | - b .L1029 |
---|
7359 | | -.L1032: |
---|
7360 | | - add w21, w21, 1 |
---|
7361 | | - and w21, w21, 65535 |
---|
7362 | | - add x0, x20, x21, sxtw 1 |
---|
| 8571 | + b .L1069 |
---|
| 8572 | +.L1072: |
---|
| 8573 | + add w0, w21, 1 |
---|
| 8574 | + and w21, w0, 65535 |
---|
| 8575 | + add x0, x20, w0, uxth 1 |
---|
7363 | 8576 | ldrh w0, [x0, 16] |
---|
7364 | | - b .L1031 |
---|
7365 | | -.L1033: |
---|
7366 | | - cbz w26, .L1035 |
---|
| 8577 | + b .L1071 |
---|
| 8578 | +.L1073: |
---|
| 8579 | + cbz w24, .L1075 |
---|
7367 | 8580 | adrp x1, .LANCHOR1 |
---|
7368 | 8581 | add x1, x1, :lo12:.LANCHOR1 |
---|
7369 | | - adrp x0, .LC8 |
---|
| 8582 | + adrp x0, .LC9 |
---|
| 8583 | + add x1, x1, 435 |
---|
| 8584 | + add x0, x0, :lo12:.LC9 |
---|
7370 | 8585 | mov w2, 1809 |
---|
7371 | | - add x1, x1, 520 |
---|
7372 | | - add x0, x0, :lo12:.LC8 |
---|
7373 | 8586 | bl sftl_printk |
---|
7374 | | -.L1035: |
---|
7375 | | - ldr w0, [x29, 156] |
---|
| 8587 | +.L1075: |
---|
| 8588 | + ldr w0, [sp, 152] |
---|
7376 | 8589 | cmp w0, 0 |
---|
7377 | 8590 | ccmp w21, w0, 4, ne |
---|
7378 | | - beq .L1036 |
---|
| 8591 | + beq .L1076 |
---|
7379 | 8592 | adrp x1, .LANCHOR1 |
---|
7380 | 8593 | add x1, x1, :lo12:.LANCHOR1 |
---|
7381 | | - adrp x0, .LC8 |
---|
| 8594 | + adrp x0, .LC9 |
---|
| 8595 | + add x1, x1, 435 |
---|
| 8596 | + add x0, x0, :lo12:.LC9 |
---|
7382 | 8597 | mov w2, 1810 |
---|
7383 | | - add x1, x1, 520 |
---|
7384 | | - add x0, x0, :lo12:.LC8 |
---|
7385 | 8598 | bl sftl_printk |
---|
7386 | | -.L1036: |
---|
| 8599 | +.L1076: |
---|
7387 | 8600 | strh wzr, [x20, 2] |
---|
7388 | | - b .L1156 |
---|
7389 | | -.L1038: |
---|
7390 | | - ldrh w1, [x4] |
---|
7391 | | - cmp w1, w10 |
---|
7392 | | - beq .L1037 |
---|
7393 | | - ldr x5, [x0, 3432] |
---|
7394 | | - ubfiz x7, x22, 5, 16 |
---|
7395 | | - orr w1, w23, w1, lsl 10 |
---|
7396 | | - add x5, x5, x7 |
---|
7397 | | - str w1, [x5, 4] |
---|
7398 | | - mul w1, w22, w8 |
---|
7399 | | - ldr x2, [x0, 3432] |
---|
7400 | | - ldr x5, [x0, 3256] |
---|
7401 | | - sdiv w1, w1, w6 |
---|
7402 | | - add x2, x2, x7 |
---|
7403 | | - add x1, x5, x1, sxtw 2 |
---|
7404 | | - str x1, [x2, 8] |
---|
7405 | | - mul w1, w22, w9 |
---|
7406 | | - ldr x5, [x0, 3264] |
---|
| 8601 | + b .L1191 |
---|
| 8602 | +.L1078: |
---|
| 8603 | + ldrh w3, [x9, x1, lsl 1] |
---|
| 8604 | + cmp w3, w10 |
---|
| 8605 | + beq .L1077 |
---|
| 8606 | + ubfiz x5, x22, 5, 16 |
---|
| 8607 | + orr w3, w26, w3, lsl 10 |
---|
| 8608 | + add x0, x0, x5 |
---|
| 8609 | + str w3, [x0, 4] |
---|
| 8610 | + mul w0, w22, w7 |
---|
| 8611 | + ldr x2, [x19, 3424] |
---|
| 8612 | + sdiv w0, w0, w4 |
---|
| 8613 | + ldr x3, [x19, 3256] |
---|
| 8614 | + add x2, x2, x5 |
---|
| 8615 | + add x0, x3, w0, sxtw 2 |
---|
| 8616 | + str x0, [x2, 8] |
---|
| 8617 | + mul w0, w22, w8 |
---|
7407 | 8618 | add w22, w22, 1 |
---|
| 8619 | + ldr x3, [x19, 3264] |
---|
7408 | 8620 | and w22, w22, 65535 |
---|
7409 | | - sdiv w1, w1, w6 |
---|
7410 | | - add x1, x5, x1, sxtw 2 |
---|
7411 | | - str x1, [x2, 16] |
---|
7412 | | -.L1037: |
---|
7413 | | - add x4, x4, 2 |
---|
7414 | | - b .L1034 |
---|
7415 | | -.L1044: |
---|
7416 | | - ldr w0, [x6] |
---|
7417 | | - cbnz w0, .L1040 |
---|
7418 | | - ldr x8, [x6, 16] |
---|
7419 | | - ldr w5, [x8, 4] |
---|
7420 | | - cmn w5, #1 |
---|
7421 | | - beq .L1041 |
---|
7422 | | - ldr w1, [x24, 2664] |
---|
7423 | | - mov w0, w5 |
---|
| 8621 | + sdiv w0, w0, w4 |
---|
| 8622 | + add x0, x3, w0, sxtw 2 |
---|
| 8623 | + str x0, [x2, 16] |
---|
| 8624 | +.L1077: |
---|
| 8625 | + add x1, x1, 1 |
---|
| 8626 | + b .L1074 |
---|
| 8627 | +.L1084: |
---|
| 8628 | + ldr w0, [x2] |
---|
| 8629 | + cbnz w0, .L1080 |
---|
| 8630 | + ldr x3, [x2, 16] |
---|
| 8631 | + ldr w23, [x3, 4] |
---|
| 8632 | + cmn w23, #1 |
---|
| 8633 | + beq .L1081 |
---|
| 8634 | + ldr w1, [x19, 2664] |
---|
| 8635 | + mov w0, w23 |
---|
| 8636 | + stp x3, x2, [sp, 96] |
---|
| 8637 | + str w4, [sp, 112] |
---|
7424 | 8638 | bl ftl_cmp_data_ver |
---|
7425 | | - cbz w0, .L1041 |
---|
7426 | | - add w5, w5, 1 |
---|
7427 | | - str w5, [x24, 2664] |
---|
7428 | | -.L1041: |
---|
7429 | | - ldr w0, [x8] |
---|
7430 | | - cmn w0, #1 |
---|
7431 | | - bne .L1043 |
---|
7432 | | - ubfiz x3, x3, 5, 16 |
---|
7433 | | - and w22, w23, 65535 |
---|
7434 | | - add x3, x4, x3 |
---|
7435 | | - ldr w0, [x3, 4] |
---|
7436 | | - b .L1151 |
---|
7437 | | -.L1040: |
---|
7438 | | - mov w7, w9 |
---|
7439 | | -.L1043: |
---|
7440 | | - add w3, w3, 1 |
---|
7441 | | - add x6, x6, 32 |
---|
7442 | | - and w3, w3, 65535 |
---|
7443 | | - b .L1039 |
---|
7444 | | -.L1047: |
---|
7445 | | - mov w0, 65535 |
---|
7446 | | - cmp w7, w0 |
---|
7447 | | - bne .L1048 |
---|
7448 | | - ldrb w0, [x20, 8] |
---|
7449 | | - cbnz w0, .L1049 |
---|
7450 | | -.L1048: |
---|
7451 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
7452 | | - and w3, w23, 65535 |
---|
7453 | | - ldr w1, [x0, 3716] |
---|
7454 | | - cmn w1, #1 |
---|
7455 | | - bne .L1050 |
---|
7456 | | - str w21, [x0, 3716] |
---|
7457 | | -.L1050: |
---|
7458 | | - add w0, w26, 7 |
---|
7459 | | - cmp w0, w23, uxth |
---|
7460 | | - bge .L1099 |
---|
7461 | | - sub w24, w3, #7 |
---|
7462 | | - and w24, w24, 65535 |
---|
7463 | | -.L1051: |
---|
7464 | | - add x25, x19, :lo12:.LANCHOR0 |
---|
7465 | | - mov w4, 65535 |
---|
7466 | | -.L1052: |
---|
7467 | | - cmp w24, w3 |
---|
7468 | | - bhi .L1059 |
---|
7469 | | - ldrh w0, [x25, 236] |
---|
7470 | | - mov x1, x28 |
---|
7471 | | - mov w23, 0 |
---|
7472 | | - add x0, x0, 8 |
---|
7473 | | - add x0, x20, x0, lsl 1 |
---|
7474 | | - b .L1060 |
---|
7475 | | -.L1099: |
---|
7476 | | - mov w24, w26 |
---|
7477 | | - b .L1051 |
---|
7478 | | -.L1054: |
---|
7479 | | - ldrh w2, [x1] |
---|
7480 | | - cmp w2, w4 |
---|
7481 | | - beq .L1053 |
---|
7482 | | - ldr x5, [x25, 3432] |
---|
7483 | | - ubfiz x6, x23, 5, 16 |
---|
| 8639 | + ldr w4, [sp, 112] |
---|
| 8640 | + ldp x3, x2, [sp, 96] |
---|
| 8641 | + cbz w0, .L1081 |
---|
7484 | 8642 | add w23, w23, 1 |
---|
7485 | | - orr w2, w24, w2, lsl 10 |
---|
7486 | | - add x5, x5, x6 |
---|
7487 | | - and w23, w23, 65535 |
---|
7488 | | - str w2, [x5, 4] |
---|
7489 | | -.L1053: |
---|
7490 | | - add x1, x1, 2 |
---|
7491 | | -.L1060: |
---|
7492 | | - cmp x0, x1 |
---|
7493 | | - bne .L1054 |
---|
7494 | | - ldr x0, [x25, 3432] |
---|
7495 | | - mov w1, w23 |
---|
7496 | | - str w4, [x29, 136] |
---|
7497 | | - mov w2, 0 |
---|
7498 | | - str w3, [x29, 144] |
---|
7499 | | - ubfiz x23, x23, 5, 16 |
---|
7500 | | - add x23, x23, 16 |
---|
7501 | | - bl FlashReadPages |
---|
7502 | | - ldr x1, [x25, 3432] |
---|
7503 | | - ldr w4, [x29, 136] |
---|
7504 | | - ldr w3, [x29, 144] |
---|
7505 | | - add x0, x1, 16 |
---|
7506 | | - add x23, x1, x23 |
---|
7507 | | -.L1055: |
---|
7508 | | - cmp x23, x0 |
---|
7509 | | - bne .L1058 |
---|
7510 | | - add w24, w24, 1 |
---|
7511 | | - and w24, w24, 65535 |
---|
7512 | | - b .L1052 |
---|
7513 | | -.L1058: |
---|
7514 | | - ldr w1, [x0, -16] |
---|
7515 | | - cbnz w1, .L1049 |
---|
7516 | | - ldr x1, [x0] |
---|
7517 | | - ldrh w2, [x1] |
---|
7518 | | - cmp w2, w4 |
---|
7519 | | - beq .L1057 |
---|
7520 | | - ldr w1, [x1, 4] |
---|
7521 | | - cmn w1, #1 |
---|
7522 | | - beq .L1057 |
---|
7523 | | - str w1, [x25, 3716] |
---|
7524 | | -.L1057: |
---|
7525 | | - add x0, x0, 32 |
---|
7526 | | - b .L1055 |
---|
7527 | | -.L1059: |
---|
7528 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
7529 | | - mov w1, -1 |
---|
7530 | | - str w1, [x0, 3716] |
---|
7531 | | -.L1049: |
---|
7532 | | - add x19, x19, :lo12:.LANCHOR0 |
---|
| 8643 | + str w23, [x19, 2664] |
---|
| 8644 | +.L1081: |
---|
| 8645 | + ldr w0, [x3] |
---|
| 8646 | + cmn w0, #1 |
---|
| 8647 | + bne .L1083 |
---|
| 8648 | + ubfiz x27, x27, 5, 16 |
---|
| 8649 | + and w23, w26, 65535 |
---|
| 8650 | + add x27, x28, x27 |
---|
| 8651 | + ldr w0, [x27, 4] |
---|
| 8652 | + b .L1186 |
---|
| 8653 | +.L1080: |
---|
| 8654 | + mov w25, w4 |
---|
| 8655 | +.L1083: |
---|
| 8656 | + add w27, w27, 1 |
---|
| 8657 | + add x2, x2, 32 |
---|
| 8658 | + and w27, w27, 65535 |
---|
| 8659 | + b .L1079 |
---|
| 8660 | +.L1087: |
---|
| 8661 | + mov w0, 65535 |
---|
| 8662 | + cmp w25, w0 |
---|
| 8663 | + bne .L1088 |
---|
| 8664 | + ldrb w0, [x20, 8] |
---|
| 8665 | + cbnz w0, .L1089 |
---|
| 8666 | +.L1088: |
---|
| 8667 | + ldr w0, [x19, 3708] |
---|
| 8668 | + and w27, w26, 65535 |
---|
| 8669 | + cmn w0, #1 |
---|
| 8670 | + bne .L1090 |
---|
| 8671 | + str w21, [x19, 3708] |
---|
| 8672 | +.L1090: |
---|
| 8673 | + add w0, w24, 7 |
---|
| 8674 | + sub w25, w26, #7 |
---|
| 8675 | + and w25, w25, 65535 |
---|
| 8676 | + cmp w0, w26, uxth |
---|
| 8677 | + csel w25, w25, w24, lt |
---|
| 8678 | + add x4, x20, 16 |
---|
| 8679 | + mov w28, 65535 |
---|
| 8680 | +.L1092: |
---|
| 8681 | + ldrh w3, [x19, 236] |
---|
| 8682 | + cmp w25, w27 |
---|
| 8683 | + bls .L1137 |
---|
| 8684 | + mov w0, -1 |
---|
| 8685 | + str w0, [x19, 3708] |
---|
| 8686 | +.L1089: |
---|
7533 | 8687 | mov w0, 1 |
---|
7534 | | - mov w24, w26 |
---|
7535 | | - strh w0, [x19, 3752] |
---|
7536 | | - add x0, x19, 3760 |
---|
7537 | | - str x0, [x29, 112] |
---|
7538 | | -.L1061: |
---|
7539 | | - ldrh w0, [x19, 236] |
---|
7540 | | - mov x1, x28 |
---|
7541 | | - mov w23, 0 |
---|
7542 | | - mov w4, 65535 |
---|
7543 | | - add x0, x0, 8 |
---|
7544 | | - add x0, x20, x0, lsl 1 |
---|
7545 | | -.L1062: |
---|
7546 | | - cmp x0, x1 |
---|
7547 | | - bne .L1064 |
---|
7548 | | - ldr x0, [x19, 3432] |
---|
7549 | | - mov w1, w23 |
---|
7550 | | - mov w2, 0 |
---|
7551 | | - bl FlashReadPages |
---|
7552 | | - ubfiz x0, x23, 5, 16 |
---|
7553 | | - str x0, [x29, 128] |
---|
| 8688 | + mov w27, w24 |
---|
| 8689 | + strh w0, [x19, 3744] |
---|
7554 | 8690 | adrp x0, .LANCHOR1 |
---|
7555 | 8691 | add x0, x0, :lo12:.LANCHOR1 |
---|
7556 | | - add x0, x0, 520 |
---|
7557 | | - mov x23, 0 |
---|
7558 | | - str x0, [x29, 136] |
---|
7559 | | -.L1065: |
---|
7560 | | - ldr x0, [x29, 128] |
---|
7561 | | - cmp x0, x23 |
---|
7562 | | - bne .L1092 |
---|
7563 | | - add w24, w24, 1 |
---|
7564 | | - ldrh w0, [x19, 306] |
---|
7565 | | - and w24, w24, 65535 |
---|
7566 | | - cmp w0, w24 |
---|
7567 | | - bne .L1061 |
---|
7568 | | - ldrh w1, [x19, 236] |
---|
7569 | | - mov w0, 0 |
---|
7570 | | - strh w24, [x20, 2] |
---|
7571 | | - mov w2, 65535 |
---|
| 8692 | + add x0, x0, 435 |
---|
| 8693 | + str x0, [sp, 120] |
---|
| 8694 | +.L1100: |
---|
| 8695 | + ldrh w3, [x19, 236] |
---|
| 8696 | + add x4, x20, 16 |
---|
| 8697 | + mov x1, 0 |
---|
| 8698 | + mov w28, 0 |
---|
| 8699 | + mov w5, 65535 |
---|
| 8700 | +.L1101: |
---|
| 8701 | + ldr x0, [x19, 3424] |
---|
| 8702 | + cmp w3, w1, uxth |
---|
| 8703 | + bhi .L1103 |
---|
| 8704 | + mov w1, w28 |
---|
| 8705 | + mov w2, 0 |
---|
| 8706 | + bl FlashReadPages |
---|
| 8707 | + str xzr, [sp, 96] |
---|
| 8708 | + adrp x0, .LC111 |
---|
| 8709 | + add x0, x0, :lo12:.LC111 |
---|
| 8710 | + str x0, [sp, 128] |
---|
| 8711 | +.L1104: |
---|
| 8712 | + ldrh w0, [sp, 96] |
---|
| 8713 | + cmp w28, w0, uxth |
---|
| 8714 | + bhi .L1131 |
---|
| 8715 | + ldrh w1, [x19, 306] |
---|
| 8716 | + add w0, w27, 1 |
---|
| 8717 | + and w27, w0, 65535 |
---|
| 8718 | + cmp w1, w0, uxth |
---|
| 8719 | + bne .L1100 |
---|
| 8720 | + ldrh w2, [x19, 236] |
---|
| 8721 | + add x3, x20, 14 |
---|
| 8722 | + mov x0, 0 |
---|
| 8723 | + mov w4, 65535 |
---|
| 8724 | + strh w27, [x20, 2] |
---|
7572 | 8725 | strh wzr, [x20, 4] |
---|
7573 | | -.L1093: |
---|
7574 | | - cmp w0, w1 |
---|
7575 | | - beq .L1029 |
---|
7576 | | - ldrh w3, [x28], 2 |
---|
7577 | | - cmp w3, w2 |
---|
7578 | | - beq .L1094 |
---|
| 8726 | +.L1132: |
---|
| 8727 | + cmp w2, w0, uxth |
---|
| 8728 | + bls .L1069 |
---|
| 8729 | + add x1, x0, 1 |
---|
| 8730 | + ldrh w5, [x3, x1, lsl 1] |
---|
| 8731 | + cmp w5, w4 |
---|
| 8732 | + beq .L1138 |
---|
7579 | 8733 | strb w0, [x20, 6] |
---|
7580 | | - b .L1029 |
---|
7581 | | -.L1064: |
---|
7582 | | - ldrh w2, [x1] |
---|
7583 | | - cmp w2, w4 |
---|
7584 | | - beq .L1063 |
---|
7585 | | - ldr x3, [x19, 3432] |
---|
7586 | | - ubfiz x5, x23, 5, 16 |
---|
7587 | | - add w23, w23, 1 |
---|
7588 | | - orr w2, w24, w2, lsl 10 |
---|
7589 | | - add x3, x3, x5 |
---|
7590 | | - and w23, w23, 65535 |
---|
7591 | | - str w2, [x3, 4] |
---|
7592 | | -.L1063: |
---|
7593 | | - add x1, x1, 2 |
---|
7594 | | - b .L1062 |
---|
7595 | | -.L1092: |
---|
7596 | | - ldr x4, [x19, 3432] |
---|
7597 | | - add x4, x4, x23 |
---|
7598 | | - ldr w5, [x4, 4] |
---|
7599 | | - str w5, [x29, 180] |
---|
7600 | | - lsr w0, w5, 10 |
---|
| 8734 | + b .L1069 |
---|
| 8735 | +.L1094: |
---|
| 8736 | + ldrh w2, [x4, x1, lsl 1] |
---|
| 8737 | + cmp w2, w28 |
---|
| 8738 | + beq .L1093 |
---|
| 8739 | + ubfiz x5, x26, 5, 16 |
---|
| 8740 | + add w26, w26, 1 |
---|
| 8741 | + add x0, x0, x5 |
---|
| 8742 | + and w26, w26, 65535 |
---|
| 8743 | + orr w2, w25, w2, lsl 10 |
---|
| 8744 | + str w2, [x0, 4] |
---|
| 8745 | +.L1093: |
---|
| 8746 | + add x1, x1, 1 |
---|
| 8747 | +.L1099: |
---|
| 8748 | + ldr x0, [x19, 3424] |
---|
| 8749 | + cmp w3, w1, uxth |
---|
| 8750 | + bhi .L1094 |
---|
| 8751 | + mov w1, w26 |
---|
| 8752 | + mov w2, 0 |
---|
| 8753 | + str x4, [sp, 96] |
---|
| 8754 | + bl FlashReadPages |
---|
| 8755 | + ldr x0, [x19, 3424] |
---|
| 8756 | + mov w1, 32 |
---|
| 8757 | + ldr x4, [sp, 96] |
---|
| 8758 | + umaddl x1, w1, w26, x0 |
---|
| 8759 | +.L1095: |
---|
| 8760 | + cmp x1, x0 |
---|
| 8761 | + bne .L1098 |
---|
| 8762 | + add w25, w25, 1 |
---|
| 8763 | + and w25, w25, 65535 |
---|
| 8764 | + b .L1092 |
---|
| 8765 | +.L1137: |
---|
| 8766 | + mov x1, 0 |
---|
| 8767 | + mov w26, 0 |
---|
| 8768 | + b .L1099 |
---|
| 8769 | +.L1098: |
---|
| 8770 | + ldr w2, [x0] |
---|
| 8771 | + cbnz w2, .L1089 |
---|
| 8772 | + ldr x2, [x0, 16] |
---|
| 8773 | + ldrh w3, [x2] |
---|
| 8774 | + cmp w3, w28 |
---|
| 8775 | + beq .L1097 |
---|
| 8776 | + ldr w2, [x2, 4] |
---|
| 8777 | + cmn w2, #1 |
---|
| 8778 | + beq .L1097 |
---|
| 8779 | + str w2, [x19, 3708] |
---|
| 8780 | +.L1097: |
---|
| 8781 | + add x0, x0, 32 |
---|
| 8782 | + b .L1095 |
---|
| 8783 | +.L1103: |
---|
| 8784 | + ldrh w2, [x4, x1, lsl 1] |
---|
| 8785 | + cmp w2, w5 |
---|
| 8786 | + beq .L1102 |
---|
| 8787 | + ubfiz x6, x28, 5, 16 |
---|
| 8788 | + add w28, w28, 1 |
---|
| 8789 | + add x0, x0, x6 |
---|
| 8790 | + and w28, w28, 65535 |
---|
| 8791 | + orr w2, w27, w2, lsl 10 |
---|
| 8792 | + str w2, [x0, 4] |
---|
| 8793 | +.L1102: |
---|
| 8794 | + add x1, x1, 1 |
---|
| 8795 | + b .L1101 |
---|
| 8796 | +.L1131: |
---|
| 8797 | + ldr x0, [sp, 96] |
---|
| 8798 | + ldr x2, [x19, 3424] |
---|
| 8799 | + lsl x26, x0, 5 |
---|
| 8800 | + add x1, x2, x0, lsl 5 |
---|
| 8801 | + stp x1, x2, [sp, 104] |
---|
| 8802 | + ldr w25, [x1, 4] |
---|
| 8803 | + str w25, [sp, 180] |
---|
| 8804 | + cmp w27, w24 |
---|
| 8805 | + bcc .L1105 |
---|
| 8806 | + ubfx x0, x25, 10, 16 |
---|
7601 | 8807 | bl P2V_plane |
---|
| 8808 | + ldr w1, [sp, 152] |
---|
7602 | 8809 | and w0, w0, 65535 |
---|
7603 | | - cmp w24, w26 |
---|
7604 | | - bcc .L1066 |
---|
7605 | | - ldr w1, [x29, 156] |
---|
| 8810 | + cmp w27, w24 |
---|
7606 | 8811 | ccmp w1, w0, 0, eq |
---|
7607 | | - bhi .L1066 |
---|
7608 | | - cmp w24, w22 |
---|
7609 | | - ccmp w27, w0, 0, eq |
---|
7610 | | - beq .L1067 |
---|
7611 | | - ldr w0, [x4] |
---|
| 8812 | + bhi .L1105 |
---|
| 8813 | + cmp w27, w23 |
---|
| 8814 | + ccmp w22, w0, 0, eq |
---|
| 8815 | + ldp x1, x2, [sp, 104] |
---|
| 8816 | + bne .L1106 |
---|
| 8817 | + strh w23, [x20, 2] |
---|
| 8818 | + strb w22, [x20, 6] |
---|
| 8819 | + b .L1192 |
---|
| 8820 | +.L1106: |
---|
| 8821 | + ldr w0, [x2, x26] |
---|
7612 | 8822 | cmn w0, #1 |
---|
7613 | | - beq .L1068 |
---|
7614 | | - ldr x3, [x4, 16] |
---|
| 8823 | + beq .L1107 |
---|
| 8824 | + ldr x3, [x1, 16] |
---|
7615 | 8825 | mov w0, 61589 |
---|
7616 | | - ldrh w1, [x3] |
---|
7617 | | - cmp w1, w0 |
---|
7618 | | - beq .L1069 |
---|
| 8826 | + ldrh w25, [x3] |
---|
| 8827 | + cmp w25, w0 |
---|
| 8828 | + beq .L1108 |
---|
7619 | 8829 | ldrh w0, [x20] |
---|
7620 | | -.L1153: |
---|
| 8830 | +.L1188: |
---|
7621 | 8831 | bl decrement_vpc_count |
---|
7622 | | - b .L1066 |
---|
7623 | | -.L1069: |
---|
| 8832 | + b .L1105 |
---|
| 8833 | +.L1108: |
---|
7624 | 8834 | ldr w21, [x3, 4] |
---|
7625 | 8835 | cmn w21, #1 |
---|
7626 | | - beq .L1070 |
---|
| 8836 | + beq .L1110 |
---|
7627 | 8837 | ldr w1, [x19, 2664] |
---|
7628 | 8838 | mov w0, w21 |
---|
7629 | | - str x3, [x29, 144] |
---|
| 8839 | + str x3, [sp, 104] |
---|
7630 | 8840 | bl ftl_cmp_data_ver |
---|
7631 | | - ldr x3, [x29, 144] |
---|
7632 | | - cbz w0, .L1070 |
---|
| 8841 | + ldr x3, [sp, 104] |
---|
| 8842 | + cbz w0, .L1110 |
---|
7633 | 8843 | add w0, w21, 1 |
---|
7634 | 8844 | str w0, [x19, 2664] |
---|
7635 | | -.L1070: |
---|
7636 | | - ldrh w1, [x3] |
---|
7637 | | - mov w0, 61589 |
---|
7638 | | - cmp w1, w0 |
---|
7639 | | - beq .L1071 |
---|
7640 | | - ldr x1, [x29, 136] |
---|
7641 | | - mov w2, 1961 |
---|
7642 | | - str x3, [x29, 144] |
---|
7643 | | - adrp x0, .LC8 |
---|
7644 | | - add x0, x0, :lo12:.LC8 |
---|
7645 | | - bl sftl_printk |
---|
7646 | | - ldr x3, [x29, 144] |
---|
7647 | | -.L1071: |
---|
7648 | | - ldp w25, w0, [x3, 8] |
---|
7649 | | - add x1, x29, 176 |
---|
7650 | | - str w0, [x29, 172] |
---|
7651 | | - mov w2, 0 |
---|
7652 | | - mov w0, w25 |
---|
7653 | | - bl log2phys |
---|
7654 | | - ldr w1, [x19, 3716] |
---|
7655 | | - ldr w3, [x29, 172] |
---|
7656 | | - cmn w1, #1 |
---|
7657 | | - beq .L1072 |
---|
7658 | | - mov w0, w21 |
---|
7659 | | - bl ftl_cmp_data_ver |
---|
7660 | | - cbz w0, .L1072 |
---|
7661 | | - cmn w3, #1 |
---|
7662 | | - beq .L1073 |
---|
7663 | | - ldr x0, [x19, 3432] |
---|
7664 | | - mov w2, 0 |
---|
7665 | | - mov w1, 1 |
---|
7666 | | - add x0, x0, x23 |
---|
7667 | | - ldr x4, [x0, 16] |
---|
7668 | | - str w3, [x0, 4] |
---|
7669 | | - str x4, [x29, 144] |
---|
7670 | | - ldr x0, [x19, 3432] |
---|
7671 | | - add x0, x0, x23 |
---|
7672 | | - bl FlashReadPages |
---|
7673 | | - ldr x0, [x19, 3432] |
---|
7674 | | - ldr x4, [x29, 144] |
---|
7675 | | - add x3, x0, x23 |
---|
7676 | | - ldr w0, [x0, x23] |
---|
7677 | | - cmn w0, #1 |
---|
7678 | | - bne .L1074 |
---|
7679 | | -.L1075: |
---|
7680 | | - mov w0, -1 |
---|
7681 | | - str w0, [x29, 172] |
---|
7682 | | -.L1082: |
---|
7683 | | - ldr w4, [x29, 172] |
---|
7684 | | - cmn w4, #1 |
---|
7685 | | - beq .L1066 |
---|
7686 | | -.L1097: |
---|
7687 | | - lsr w0, w4, 10 |
---|
7688 | | - bl P2V_block_in_plane |
---|
7689 | | - and w25, w0, 65535 |
---|
7690 | | - ldrh w0, [x19, 244] |
---|
7691 | | - mov w3, w25 |
---|
| 8845 | + ldrh w0, [x3] |
---|
7692 | 8846 | cmp w0, w25 |
---|
7693 | | - bhi .L1088 |
---|
7694 | | - ldr x1, [x29, 136] |
---|
7695 | | - mov w2, 2066 |
---|
7696 | | - adrp x0, .LC8 |
---|
7697 | | - str w25, [x29, 144] |
---|
7698 | | - add x0, x0, :lo12:.LC8 |
---|
| 8847 | + beq .L1110 |
---|
| 8848 | + ldr x1, [sp, 120] |
---|
| 8849 | + mov w2, 1961 |
---|
| 8850 | + adrp x0, .LC9 |
---|
| 8851 | + add x0, x0, :lo12:.LC9 |
---|
7699 | 8852 | bl sftl_printk |
---|
7700 | | - ldr w3, [x29, 144] |
---|
7701 | | -.L1088: |
---|
7702 | | - ldr x1, [x19, 72] |
---|
7703 | | - ubfiz x0, x25, 1, 16 |
---|
7704 | | - ldrh w0, [x1, x0] |
---|
7705 | | - cbz w0, .L1089 |
---|
7706 | | - mov w0, w3 |
---|
7707 | | - b .L1153 |
---|
7708 | | -.L1073: |
---|
7709 | | - ldp w1, w0, [x29, 176] |
---|
7710 | | - cmp w1, w0 |
---|
7711 | | - bne .L1066 |
---|
7712 | | - mov w2, 1 |
---|
7713 | | - add x1, x29, 172 |
---|
| 8853 | + ldr x3, [sp, 104] |
---|
| 8854 | +.L1110: |
---|
| 8855 | + add x1, sp, 176 |
---|
| 8856 | + ldp w25, w0, [x3, 8] |
---|
| 8857 | + mov w2, 0 |
---|
| 8858 | + str w0, [sp, 172] |
---|
7714 | 8859 | mov w0, w25 |
---|
7715 | 8860 | bl log2phys |
---|
7716 | | -.L1066: |
---|
7717 | | - add x23, x23, 32 |
---|
7718 | | - b .L1065 |
---|
7719 | | -.L1074: |
---|
7720 | | - ldr w0, [x4, 8] |
---|
7721 | | - cmp w25, w0 |
---|
7722 | | - bne .L1075 |
---|
7723 | | - ldr w0, [x4, 4] |
---|
7724 | | - str w0, [x29, 144] |
---|
7725 | | - str x4, [x29, 104] |
---|
7726 | | - uxtw x1, w0 |
---|
7727 | | - ldr w0, [x19, 3716] |
---|
| 8861 | + ldr w1, [x19, 3708] |
---|
| 8862 | + ldr w2, [sp, 172] |
---|
| 8863 | + cmn w1, #1 |
---|
| 8864 | + beq .L1112 |
---|
| 8865 | + mov w0, w21 |
---|
| 8866 | + str w2, [sp, 104] |
---|
7728 | 8867 | bl ftl_cmp_data_ver |
---|
7729 | | - cbz w0, .L1075 |
---|
7730 | | - ldp w0, w1, [x29, 176] |
---|
7731 | | - ldr x4, [x29, 104] |
---|
7732 | | - cmp w0, w1 |
---|
7733 | | - ldr w1, [x29, 172] |
---|
7734 | | - bne .L1077 |
---|
7735 | | -.L1152: |
---|
7736 | | - mov w0, w25 |
---|
7737 | | - bl FtlReUsePrevPpa |
---|
7738 | | - b .L1075 |
---|
7739 | | -.L1077: |
---|
7740 | | - cmp w0, w1 |
---|
7741 | | - beq .L1075 |
---|
7742 | | - cmn w0, #1 |
---|
7743 | | - beq .L1078 |
---|
7744 | | - ldr x4, [x3, 16] |
---|
| 8868 | + ldr w2, [sp, 104] |
---|
| 8869 | + cbz w0, .L1112 |
---|
| 8870 | + cmn w2, #1 |
---|
| 8871 | + beq .L1113 |
---|
| 8872 | + ldr x0, [x19, 3424] |
---|
| 8873 | + add x0, x0, x26 |
---|
| 8874 | + str w2, [x0, 4] |
---|
7745 | 8875 | mov w2, 0 |
---|
7746 | | - str w0, [x3, 4] |
---|
| 8876 | + ldr x1, [x0, 16] |
---|
| 8877 | + str x1, [sp, 104] |
---|
| 8878 | + ldr x0, [x19, 3424] |
---|
7747 | 8879 | mov w1, 1 |
---|
7748 | | - str x4, [x29, 104] |
---|
7749 | | - ldr x0, [x19, 3432] |
---|
7750 | | - add x0, x0, x23 |
---|
| 8880 | + add x0, x0, x26 |
---|
7751 | 8881 | bl FlashReadPages |
---|
7752 | | - ldr x4, [x29, 104] |
---|
7753 | | -.L1079: |
---|
| 8882 | + ldr x2, [x19, 3424] |
---|
| 8883 | + add x3, x2, x26 |
---|
| 8884 | + ldr w0, [x2, x26] |
---|
| 8885 | + cmn w0, #1 |
---|
| 8886 | + bne .L1114 |
---|
| 8887 | +.L1115: |
---|
| 8888 | + mov w0, -1 |
---|
| 8889 | + str w0, [sp, 172] |
---|
| 8890 | +.L1122: |
---|
| 8891 | + ldr w0, [sp, 172] |
---|
| 8892 | + cmn w0, #1 |
---|
| 8893 | + beq .L1105 |
---|
| 8894 | + ubfx x0, x0, 10, 16 |
---|
| 8895 | + bl P2V_block_in_plane |
---|
| 8896 | + and w26, w0, 65535 |
---|
| 8897 | + ldrh w0, [x19, 244] |
---|
| 8898 | + mov w25, w26 |
---|
| 8899 | + cmp w0, w26, uxth |
---|
| 8900 | + bhi .L1127 |
---|
| 8901 | + ldr x1, [sp, 120] |
---|
| 8902 | + adrp x0, .LC9 |
---|
| 8903 | + mov w2, 2066 |
---|
| 8904 | + add x0, x0, :lo12:.LC9 |
---|
| 8905 | + bl sftl_printk |
---|
| 8906 | +.L1127: |
---|
| 8907 | + ldr x1, [x19, 72] |
---|
| 8908 | + ubfiz x0, x26, 1, 16 |
---|
| 8909 | + ldrh w0, [x1, x0] |
---|
| 8910 | + cbz w0, .L1128 |
---|
| 8911 | + mov w0, w25 |
---|
| 8912 | + b .L1188 |
---|
| 8913 | +.L1113: |
---|
| 8914 | + ldp w1, w0, [sp, 176] |
---|
| 8915 | + cmp w1, w0 |
---|
| 8916 | + bne .L1105 |
---|
| 8917 | + add x1, sp, 172 |
---|
| 8918 | + mov w0, w25 |
---|
| 8919 | + mov w2, 1 |
---|
| 8920 | + bl log2phys |
---|
| 8921 | +.L1105: |
---|
| 8922 | + ldr x0, [sp, 96] |
---|
| 8923 | + add x0, x0, 1 |
---|
| 8924 | + str x0, [sp, 96] |
---|
| 8925 | + b .L1104 |
---|
| 8926 | +.L1114: |
---|
| 8927 | + ldr x0, [sp, 104] |
---|
| 8928 | + ldr w4, [x0, 8] |
---|
| 8929 | + cmp w4, w25 |
---|
| 8930 | + bne .L1115 |
---|
| 8931 | + ldr w0, [x0, 4] |
---|
| 8932 | + str w0, [sp, 112] |
---|
| 8933 | + uxtw x1, w0 |
---|
| 8934 | + ldr w0, [x19, 3708] |
---|
| 8935 | + stp x3, x2, [sp, 136] |
---|
| 8936 | + str w4, [sp, 156] |
---|
| 8937 | + bl ftl_cmp_data_ver |
---|
| 8938 | + cbz w0, .L1115 |
---|
| 8939 | + ldp w1, w0, [sp, 172] |
---|
| 8940 | + ldr w5, [sp, 180] |
---|
| 8941 | + ldr w4, [sp, 156] |
---|
| 8942 | + cmp w0, w5 |
---|
| 8943 | + ldp x3, x2, [sp, 136] |
---|
| 8944 | + bne .L1117 |
---|
| 8945 | + mov w0, w4 |
---|
| 8946 | +.L1187: |
---|
| 8947 | + bl FtlReUsePrevPpa |
---|
| 8948 | + b .L1115 |
---|
| 8949 | +.L1117: |
---|
| 8950 | + cmp w0, w1 |
---|
| 8951 | + beq .L1115 |
---|
| 8952 | + cmn w0, #1 |
---|
| 8953 | + beq .L1118 |
---|
| 8954 | + str w0, [x3, 4] |
---|
| 8955 | + mov w2, 0 |
---|
| 8956 | + ldr x1, [x3, 16] |
---|
| 8957 | + str x1, [sp, 104] |
---|
| 8958 | + ldr x0, [x19, 3424] |
---|
| 8959 | + mov w1, 1 |
---|
| 8960 | + add x0, x0, x26 |
---|
| 8961 | + bl FlashReadPages |
---|
| 8962 | +.L1119: |
---|
7754 | 8963 | adrp x0, .LANCHOR0 |
---|
7755 | 8964 | add x0, x0, :lo12:.LANCHOR0 |
---|
7756 | | - ldr x1, [x0, 3432] |
---|
7757 | | - ldr w1, [x1, x23] |
---|
| 8965 | + ldr x1, [x0, 3424] |
---|
| 8966 | + ldr w1, [x1, x26] |
---|
7758 | 8967 | cmn w1, #1 |
---|
7759 | | - beq .L1080 |
---|
7760 | | - ldr w3, [x4, 4] |
---|
7761 | | - ldr w0, [x0, 3716] |
---|
7762 | | - mov w1, w3 |
---|
| 8968 | + beq .L1120 |
---|
| 8969 | + ldr x1, [sp, 104] |
---|
| 8970 | + ldr w0, [x0, 3708] |
---|
| 8971 | + ldr w26, [x1, 4] |
---|
| 8972 | + mov w1, w26 |
---|
7763 | 8973 | bl ftl_cmp_data_ver |
---|
7764 | | - cbz w0, .L1080 |
---|
7765 | | - ldr w0, [x29, 144] |
---|
7766 | | - mov w1, w3 |
---|
| 8974 | + cbz w0, .L1120 |
---|
| 8975 | + ldr w0, [sp, 112] |
---|
| 8976 | + mov w1, w26 |
---|
7767 | 8977 | bl ftl_cmp_data_ver |
---|
7768 | | - cbz w0, .L1075 |
---|
7769 | | -.L1080: |
---|
7770 | | - ldr w1, [x29, 172] |
---|
7771 | | - b .L1152 |
---|
7772 | | -.L1078: |
---|
7773 | | - str w0, [x3] |
---|
7774 | | - b .L1079 |
---|
7775 | | -.L1072: |
---|
7776 | | - ldp w1, w0, [x29, 176] |
---|
7777 | | - cmp w1, w0 |
---|
7778 | | - beq .L1082 |
---|
7779 | | - cmn w3, #1 |
---|
7780 | | - beq .L1084 |
---|
7781 | | - ldr w0, [x19, 252] |
---|
7782 | | - cmp w0, w3, lsr 10 |
---|
7783 | | - bhi .L1084 |
---|
7784 | | - adrp x0, .LC109 |
---|
7785 | | - mov w1, w3 |
---|
7786 | | - add x0, x0, :lo12:.LC109 |
---|
7787 | | -.L1155: |
---|
7788 | | - bl sftl_printk |
---|
7789 | | - b .L1066 |
---|
7790 | | -.L1084: |
---|
7791 | | - mov w2, 1 |
---|
7792 | | - add x1, x29, 180 |
---|
| 8978 | + cbz w0, .L1115 |
---|
| 8979 | +.L1120: |
---|
| 8980 | + ldr w1, [sp, 172] |
---|
7793 | 8981 | mov w0, w25 |
---|
| 8982 | + b .L1187 |
---|
| 8983 | +.L1118: |
---|
| 8984 | + str w0, [x2, x26] |
---|
| 8985 | + b .L1119 |
---|
| 8986 | +.L1112: |
---|
| 8987 | + ldp w1, w0, [sp, 176] |
---|
| 8988 | + cmp w1, w0 |
---|
| 8989 | + beq .L1122 |
---|
| 8990 | + cmn w2, #1 |
---|
| 8991 | + beq .L1124 |
---|
| 8992 | + ldr w0, [x19, 252] |
---|
| 8993 | + cmp w0, w2, lsr 10 |
---|
| 8994 | + bhi .L1124 |
---|
| 8995 | + adrp x0, .LC110 |
---|
| 8996 | + mov w1, w2 |
---|
| 8997 | + add x0, x0, :lo12:.LC110 |
---|
| 8998 | +.L1190: |
---|
| 8999 | + bl sftl_printk |
---|
| 9000 | + b .L1105 |
---|
| 9001 | +.L1124: |
---|
| 9002 | + add x1, sp, 180 |
---|
| 9003 | + mov w0, w25 |
---|
| 9004 | + mov w2, 1 |
---|
7794 | 9005 | bl log2phys |
---|
7795 | | - ldr w4, [x29, 176] |
---|
7796 | | - cmn w4, #1 |
---|
7797 | | - beq .L1082 |
---|
7798 | | - ldr w0, [x29, 172] |
---|
7799 | | - cmp w4, w0 |
---|
7800 | | - beq .L1097 |
---|
7801 | | - lsr w0, w4, 10 |
---|
| 9006 | + ldr w26, [sp, 176] |
---|
| 9007 | + cmn w26, #1 |
---|
| 9008 | + beq .L1122 |
---|
| 9009 | + ldr w0, [sp, 172] |
---|
| 9010 | + cmp w26, w0 |
---|
| 9011 | + beq .L1122 |
---|
| 9012 | + ubfx x0, x26, 10, 16 |
---|
7802 | 9013 | bl P2V_block_in_plane |
---|
7803 | | - ldrh w1, [x19, 24] |
---|
7804 | | - and w0, w0, 65535 |
---|
7805 | | - cmp w1, w0 |
---|
7806 | | - beq .L1087 |
---|
7807 | | - ldrh w1, [x19, 80] |
---|
7808 | | - cmp w1, w0 |
---|
7809 | | - beq .L1087 |
---|
7810 | | - ldrh w1, [x19, 128] |
---|
7811 | | - cmp w1, w0 |
---|
7812 | | - bne .L1082 |
---|
7813 | | -.L1087: |
---|
7814 | | - ldr x0, [x19, 3432] |
---|
| 9014 | + ldrh w2, [x19, 24] |
---|
| 9015 | + and w1, w0, 65535 |
---|
| 9016 | + cmp w2, w0, uxth |
---|
| 9017 | + beq .L1126 |
---|
| 9018 | + ldrh w0, [x19, 80] |
---|
| 9019 | + cmp w0, w1 |
---|
| 9020 | + beq .L1126 |
---|
| 9021 | + ldrh w0, [x19, 128] |
---|
| 9022 | + cmp w0, w1 |
---|
| 9023 | + bne .L1122 |
---|
| 9024 | +.L1126: |
---|
| 9025 | + ldr x0, [x19, 3424] |
---|
7815 | 9026 | mov w2, 0 |
---|
7816 | 9027 | mov w1, 1 |
---|
7817 | | - str w4, [x0, 4] |
---|
| 9028 | + str w26, [x0, 4] |
---|
7818 | 9029 | ldr x3, [x0, 16] |
---|
7819 | | - ldr x0, [x19, 3432] |
---|
7820 | | - str x3, [x29, 144] |
---|
| 9030 | + str x3, [sp, 104] |
---|
| 9031 | + ldr x0, [x19, 3424] |
---|
7821 | 9032 | bl FlashReadPages |
---|
7822 | | - ldr x0, [x19, 3432] |
---|
| 9033 | + ldr x0, [x19, 3424] |
---|
7823 | 9034 | ldr w0, [x0] |
---|
7824 | 9035 | cmn w0, #1 |
---|
7825 | | - beq .L1082 |
---|
7826 | | - ldr x3, [x29, 144] |
---|
| 9036 | + beq .L1122 |
---|
| 9037 | + ldr x3, [sp, 104] |
---|
7827 | 9038 | mov w0, w21 |
---|
7828 | 9039 | ldr w1, [x3, 4] |
---|
7829 | 9040 | bl ftl_cmp_data_ver |
---|
7830 | | - cbnz w0, .L1082 |
---|
7831 | | - mov w2, 1 |
---|
7832 | | - add x1, x29, 176 |
---|
| 9041 | + cbnz w0, .L1122 |
---|
| 9042 | + add x1, sp, 176 |
---|
7833 | 9043 | mov w0, w25 |
---|
| 9044 | + mov w2, 1 |
---|
7834 | 9045 | bl log2phys |
---|
7835 | | - b .L1082 |
---|
7836 | | -.L1089: |
---|
7837 | | - adrp x0, .LC110 |
---|
7838 | | - mov w1, w25 |
---|
7839 | | - add x0, x0, :lo12:.LC110 |
---|
7840 | | - b .L1155 |
---|
7841 | | -.L1068: |
---|
7842 | | - ldr w0, [x19, 3756] |
---|
| 9046 | + b .L1122 |
---|
| 9047 | +.L1128: |
---|
| 9048 | + mov w1, w26 |
---|
| 9049 | + ldr x0, [sp, 128] |
---|
| 9050 | + b .L1190 |
---|
| 9051 | +.L1107: |
---|
| 9052 | + ldr w0, [x19, 3748] |
---|
7843 | 9053 | cmp w0, 31 |
---|
7844 | | - bhi .L1090 |
---|
7845 | | - ldr x1, [x29, 112] |
---|
7846 | | - str w5, [x1, w0, uxtw 2] |
---|
| 9054 | + bhi .L1129 |
---|
| 9055 | + add x1, x19, 3752 |
---|
| 9056 | + str w25, [x1, w0, uxtw 2] |
---|
7847 | 9057 | add w0, w0, 1 |
---|
7848 | | - str w0, [x19, 3756] |
---|
7849 | | -.L1090: |
---|
| 9058 | + str w0, [x19, 3748] |
---|
| 9059 | +.L1129: |
---|
7850 | 9060 | ldrh w0, [x20] |
---|
7851 | 9061 | bl decrement_vpc_count |
---|
7852 | | - ldr w0, [x19, 3716] |
---|
| 9062 | + ldr w0, [x19, 3708] |
---|
7853 | 9063 | cmn w0, #1 |
---|
7854 | | - bne .L1091 |
---|
7855 | | -.L1154: |
---|
7856 | | - str w21, [x19, 3716] |
---|
7857 | | - b .L1066 |
---|
7858 | | -.L1091: |
---|
7859 | | - cmp w21, w0 |
---|
7860 | | - bcs .L1066 |
---|
7861 | | - b .L1154 |
---|
7862 | | -.L1094: |
---|
7863 | | - add w0, w0, 1 |
---|
7864 | | - and w0, w0, 65535 |
---|
7865 | | - b .L1093 |
---|
7866 | | -.L1067: |
---|
7867 | | - strb w27, [x20, 6] |
---|
7868 | | - strh w22, [x20, 2] |
---|
7869 | | - b .L1157 |
---|
7870 | | -.L1098: |
---|
| 9064 | + bne .L1130 |
---|
| 9065 | +.L1189: |
---|
| 9066 | + str w21, [x19, 3708] |
---|
| 9067 | + b .L1105 |
---|
| 9068 | +.L1130: |
---|
| 9069 | + cmp w0, w21 |
---|
| 9070 | + bls .L1105 |
---|
| 9071 | + b .L1189 |
---|
| 9072 | +.L1138: |
---|
| 9073 | + mov x0, x1 |
---|
| 9074 | + b .L1132 |
---|
| 9075 | +.L1135: |
---|
| 9076 | + mov w0, 0 |
---|
7871 | 9077 | ldp x19, x20, [sp, 16] |
---|
7872 | 9078 | ldp x21, x22, [sp, 32] |
---|
7873 | 9079 | ldp x23, x24, [sp, 48] |
---|
7874 | 9080 | ldp x25, x26, [sp, 64] |
---|
7875 | 9081 | ldp x27, x28, [sp, 80] |
---|
7876 | 9082 | ldp x29, x30, [sp], 192 |
---|
| 9083 | + hint 29 // autiasp |
---|
7877 | 9084 | ret |
---|
7878 | 9085 | .size FtlRecoverySuperblock, .-FtlRecoverySuperblock |
---|
| 9086 | + .section .rodata.str1.1 |
---|
| 9087 | +.LC112: |
---|
| 9088 | + .string "...%s enter...\n" |
---|
| 9089 | +.LC113: |
---|
| 9090 | + .string "FtlCheckVpc2 %x = %x %x\n" |
---|
| 9091 | +.LC114: |
---|
| 9092 | + .string "free blk vpc error %x = %x %x\n" |
---|
| 9093 | + .text |
---|
7879 | 9094 | .align 2 |
---|
7880 | 9095 | .global ftl_check_vpc |
---|
7881 | 9096 | .type ftl_check_vpc, %function |
---|
7882 | 9097 | ftl_check_vpc: |
---|
7883 | | - stp x29, x30, [sp, -128]! |
---|
7884 | | - add x29, sp, 0 |
---|
| 9098 | + hint 34 // bti c |
---|
| 9099 | + .section __patchable_function_entries |
---|
| 9100 | + .align 3 |
---|
| 9101 | + .8byte .LPFE97 |
---|
| 9102 | + .text |
---|
| 9103 | +.LPFE97: |
---|
| 9104 | + nop |
---|
| 9105 | + nop |
---|
| 9106 | + hint 25 // paciasp |
---|
| 9107 | + stp x29, x30, [sp, -112]! |
---|
| 9108 | + mrs x0, sp_el0 |
---|
| 9109 | + mov x29, sp |
---|
7885 | 9110 | stp x19, x20, [sp, 16] |
---|
7886 | 9111 | adrp x20, .LANCHOR0 |
---|
| 9112 | + add x20, x20, :lo12:.LANCHOR0 |
---|
7887 | 9113 | stp x21, x22, [sp, 32] |
---|
7888 | | - adrp x21, __stack_chk_guard |
---|
7889 | | - stp x23, x24, [sp, 48] |
---|
7890 | | - add x0, x21, :lo12:__stack_chk_guard |
---|
7891 | | - stp x25, x26, [sp, 64] |
---|
7892 | | - add x25, x20, :lo12:.LANCHOR0 |
---|
7893 | | - stp x27, x28, [sp, 80] |
---|
| 9114 | + mov w19, 0 |
---|
7894 | 9115 | adrp x22, .LANCHOR1 |
---|
7895 | | - mov w24, 0 |
---|
7896 | | - adrp x23, check_vpc_table |
---|
7897 | | - ldr x1, [x0] |
---|
7898 | | - str x1, [x29, 120] |
---|
7899 | | - mov x1,0 |
---|
7900 | | - add x19, x23, :lo12:check_vpc_table |
---|
7901 | | - add x1, x22, :lo12:.LANCHOR1 |
---|
7902 | | - adrp x0, .LC111 |
---|
7903 | | - add x1, x1, 544 |
---|
7904 | | - add x0, x0, :lo12:.LC111 |
---|
| 9116 | + stp x23, x24, [sp, 48] |
---|
| 9117 | + add x22, x22, :lo12:.LANCHOR1 |
---|
| 9118 | + adrp x21, check_vpc_table |
---|
| 9119 | + stp x25, x26, [sp, 64] |
---|
| 9120 | + add x21, x21, :lo12:check_vpc_table |
---|
| 9121 | + stp x27, x28, [sp, 80] |
---|
| 9122 | + ldr x1, [x0, 1376] |
---|
| 9123 | + str x1, [sp, 104] |
---|
| 9124 | + mov x1, 0 |
---|
| 9125 | + adrp x0, .LC112 |
---|
| 9126 | + add x1, x22, 457 |
---|
| 9127 | + add x0, x0, :lo12:.LC112 |
---|
7905 | 9128 | bl sftl_printk |
---|
| 9129 | + mov x0, x21 |
---|
7906 | 9130 | mov w2, 8192 |
---|
7907 | 9131 | mov w1, 0 |
---|
7908 | | - mov x0, x19 |
---|
7909 | 9132 | bl ftl_memset |
---|
7910 | | -.L1159: |
---|
7911 | | - ldr w0, [x25, 2624] |
---|
7912 | | - cmp w24, w0 |
---|
7913 | | - bcc .L1161 |
---|
7914 | | - adrp x26, .LC112 |
---|
7915 | | - add x24, x20, :lo12:.LANCHOR0 |
---|
7916 | | - add x27, x23, :lo12:check_vpc_table |
---|
7917 | | - add x26, x26, :lo12:.LC112 |
---|
7918 | | - mov w25, 0 |
---|
7919 | | - mov w19, 0 |
---|
7920 | | - mov w5, 65535 |
---|
7921 | | -.L1162: |
---|
7922 | | - ldrh w0, [x24, 244] |
---|
| 9133 | +.L1194: |
---|
| 9134 | + ldr w0, [x20, 2624] |
---|
7923 | 9135 | cmp w0, w19 |
---|
7924 | | - bhi .L1164 |
---|
7925 | | - ldr x19, [x24, 2592] |
---|
7926 | | - cbz x19, .L1165 |
---|
7927 | | - ldr x0, [x24, 2560] |
---|
7928 | | - adrp x26, .LC113 |
---|
7929 | | - add x20, x20, :lo12:.LANCHOR0 |
---|
7930 | | - add x23, x23, :lo12:check_vpc_table |
---|
7931 | | - sub x19, x19, x0 |
---|
7932 | | - mov x0, -6148914691236517206 |
---|
7933 | | - asr x19, x19, 1 |
---|
7934 | | - movk x0, 0xaaab, lsl 0 |
---|
7935 | | - add x26, x26, :lo12:.LC113 |
---|
7936 | | - ldrh w27, [x24, 228] |
---|
7937 | | - mov w28, 6 |
---|
| 9136 | + bhi .L1196 |
---|
| 9137 | + adrp x23, .LC113 |
---|
| 9138 | + add x23, x23, :lo12:.LC113 |
---|
7938 | 9139 | mov w24, 0 |
---|
7939 | | - mul x19, x19, x0 |
---|
| 9140 | + mov w19, 0 |
---|
| 9141 | + mov w26, 65535 |
---|
| 9142 | + mov w27, 1 |
---|
| 9143 | +.L1197: |
---|
| 9144 | + ldrh w0, [x20, 244] |
---|
| 9145 | + cmp w0, w19 |
---|
| 9146 | + bhi .L1199 |
---|
| 9147 | + ldr x19, [x20, 2592] |
---|
| 9148 | + cbz x19, .L1200 |
---|
| 9149 | + ldr x1, [x20, 2560] |
---|
| 9150 | + adrp x25, .LC114 |
---|
| 9151 | + ldrh w26, [x20, 228] |
---|
| 9152 | + add x25, x25, :lo12:.LC114 |
---|
| 9153 | + sub x19, x19, x1 |
---|
| 9154 | + mov x1, -6148914691236517206 |
---|
| 9155 | + movk x1, 0xaaab, lsl 0 |
---|
| 9156 | + mov w23, 0 |
---|
| 9157 | + asr x19, x19, 1 |
---|
| 9158 | + mov w27, 6 |
---|
| 9159 | + mov w28, 65535 |
---|
| 9160 | + mul x19, x19, x1 |
---|
7940 | 9161 | and w19, w19, 65535 |
---|
7941 | | -.L1166: |
---|
7942 | | - cmp w24, w27 |
---|
7943 | | - bne .L1168 |
---|
7944 | | -.L1165: |
---|
7945 | | - cbz w25, .L1158 |
---|
7946 | | - add x1, x22, :lo12:.LANCHOR1 |
---|
7947 | | - adrp x0, .LC8 |
---|
| 9162 | +.L1201: |
---|
| 9163 | + cmp w23, w26 |
---|
| 9164 | + bne .L1203 |
---|
| 9165 | +.L1200: |
---|
| 9166 | + cbz w24, .L1193 |
---|
| 9167 | + adrp x0, .LC9 |
---|
| 9168 | + add x1, x22, 457 |
---|
| 9169 | + add x0, x0, :lo12:.LC9 |
---|
7948 | 9170 | mov w2, 2394 |
---|
7949 | | - add x1, x1, 544 |
---|
7950 | | - add x0, x0, :lo12:.LC8 |
---|
7951 | 9171 | bl sftl_printk |
---|
7952 | | -.L1158: |
---|
7953 | | - add x21, x21, :lo12:__stack_chk_guard |
---|
7954 | | - ldr x1, [x29, 120] |
---|
7955 | | - ldr x0, [x21] |
---|
7956 | | - eor x0, x1, x0 |
---|
7957 | | - cbz x0, .L1170 |
---|
| 9172 | +.L1193: |
---|
| 9173 | + mrs x0, sp_el0 |
---|
| 9174 | + ldr x1, [sp, 104] |
---|
| 9175 | + ldr x2, [x0, 1376] |
---|
| 9176 | + subs x1, x1, x2 |
---|
| 9177 | + mov x2, 0 |
---|
| 9178 | + beq .L1205 |
---|
7958 | 9179 | bl __stack_chk_fail |
---|
7959 | | -.L1161: |
---|
| 9180 | +.L1196: |
---|
| 9181 | + add x1, sp, 100 |
---|
| 9182 | + mov w0, w19 |
---|
7960 | 9183 | mov w2, 0 |
---|
7961 | | - add x1, x29, 116 |
---|
7962 | | - mov w0, w24 |
---|
7963 | 9184 | bl log2phys |
---|
7964 | | - ldr w0, [x29, 116] |
---|
| 9185 | + ldr w0, [sp, 100] |
---|
7965 | 9186 | cmn w0, #1 |
---|
7966 | | - beq .L1160 |
---|
7967 | | - lsr w0, w0, 10 |
---|
| 9187 | + beq .L1195 |
---|
| 9188 | + ubfx x0, x0, 10, 16 |
---|
7968 | 9189 | bl P2V_block_in_plane |
---|
7969 | 9190 | and x0, x0, 65535 |
---|
7970 | | - ldrh w1, [x19, x0, lsl 1] |
---|
| 9191 | + ldrh w1, [x21, x0, lsl 1] |
---|
7971 | 9192 | add w1, w1, 1 |
---|
7972 | | - strh w1, [x19, x0, lsl 1] |
---|
7973 | | -.L1160: |
---|
7974 | | - add w24, w24, 1 |
---|
7975 | | - b .L1159 |
---|
7976 | | -.L1164: |
---|
7977 | | - ldr x0, [x24, 72] |
---|
7978 | | - ubfiz x4, x19, 1, 16 |
---|
| 9193 | + strh w1, [x21, x0, lsl 1] |
---|
| 9194 | +.L1195: |
---|
| 9195 | + add w19, w19, 1 |
---|
| 9196 | + b .L1194 |
---|
| 9197 | +.L1199: |
---|
| 9198 | + ldr x0, [x20, 72] |
---|
| 9199 | + ubfiz x25, x19, 1, 16 |
---|
| 9200 | + ldrh w3, [x21, w19, sxtw 1] |
---|
7979 | 9201 | sxtw x28, w19 |
---|
7980 | | - str x4, [x29, 96] |
---|
7981 | | - ldrh w3, [x27, x28, lsl 1] |
---|
7982 | | - ldrh w2, [x0, x4] |
---|
| 9202 | + ldrh w2, [x0, x25] |
---|
7983 | 9203 | cmp w2, w3 |
---|
7984 | | - beq .L1163 |
---|
7985 | | - mov x0, x26 |
---|
7986 | | - str w5, [x29, 108] |
---|
| 9204 | + beq .L1198 |
---|
| 9205 | + mov x0, x23 |
---|
7987 | 9206 | mov w1, w19 |
---|
7988 | 9207 | bl sftl_printk |
---|
7989 | | - ldr x0, [x24, 72] |
---|
7990 | | - ldr x4, [x29, 96] |
---|
7991 | | - ldr w5, [x29, 108] |
---|
7992 | | - ldrh w0, [x0, x4] |
---|
7993 | | - cmp w0, w5 |
---|
7994 | | - beq .L1163 |
---|
7995 | | - ldrh w1, [x27, x28, lsl 1] |
---|
| 9208 | + ldr x0, [x20, 72] |
---|
| 9209 | + ldrh w0, [x0, x25] |
---|
| 9210 | + cmp w0, w26 |
---|
| 9211 | + beq .L1198 |
---|
| 9212 | + ldrh w1, [x21, x28, lsl 1] |
---|
7996 | 9213 | cmp w1, w0 |
---|
7997 | | - csinc w25, w25, wzr, ls |
---|
7998 | | -.L1163: |
---|
| 9214 | + csel w24, w24, w27, ls |
---|
| 9215 | +.L1198: |
---|
7999 | 9216 | add w19, w19, 1 |
---|
8000 | 9217 | and w19, w19, 65535 |
---|
8001 | | - b .L1162 |
---|
8002 | | -.L1168: |
---|
| 9218 | + b .L1197 |
---|
| 9219 | +.L1203: |
---|
8003 | 9220 | ldr x1, [x20, 72] |
---|
8004 | 9221 | ubfiz x0, x19, 1, 16 |
---|
8005 | 9222 | ldrh w2, [x1, x0] |
---|
8006 | | - cbz w2, .L1167 |
---|
8007 | | - ldrh w3, [x23, w19, sxtw 1] |
---|
8008 | | - mov w25, 1 |
---|
| 9223 | + cbz w2, .L1202 |
---|
| 9224 | + ldrh w3, [x21, w19, sxtw 1] |
---|
| 9225 | + mov w24, 1 |
---|
8009 | 9226 | mov w1, w19 |
---|
8010 | | - mov x0, x26 |
---|
| 9227 | + mov x0, x25 |
---|
8011 | 9228 | bl sftl_printk |
---|
8012 | | -.L1167: |
---|
| 9229 | +.L1202: |
---|
| 9230 | + umull x19, w19, w27 |
---|
8013 | 9231 | ldr x0, [x20, 2560] |
---|
8014 | | - umull x19, w19, w28 |
---|
8015 | 9232 | ldrh w19, [x0, x19] |
---|
8016 | | - mov w0, 65535 |
---|
8017 | | - cmp w19, w0 |
---|
8018 | | - beq .L1165 |
---|
8019 | | - add w24, w24, 1 |
---|
8020 | | - and w24, w24, 65535 |
---|
8021 | | - b .L1166 |
---|
8022 | | -.L1170: |
---|
| 9233 | + cmp w19, w28 |
---|
| 9234 | + beq .L1200 |
---|
| 9235 | + add w23, w23, 1 |
---|
| 9236 | + and w23, w23, 65535 |
---|
| 9237 | + b .L1201 |
---|
| 9238 | +.L1205: |
---|
8023 | 9239 | ldp x19, x20, [sp, 16] |
---|
8024 | 9240 | ldp x21, x22, [sp, 32] |
---|
8025 | 9241 | ldp x23, x24, [sp, 48] |
---|
8026 | 9242 | ldp x25, x26, [sp, 64] |
---|
8027 | 9243 | ldp x27, x28, [sp, 80] |
---|
8028 | | - ldp x29, x30, [sp], 128 |
---|
| 9244 | + ldp x29, x30, [sp], 112 |
---|
| 9245 | + hint 29 // autiasp |
---|
8029 | 9246 | ret |
---|
8030 | 9247 | .size ftl_check_vpc, .-ftl_check_vpc |
---|
| 9248 | + .section .rodata.str1.1 |
---|
| 9249 | +.LC115: |
---|
| 9250 | + .string "ftl_scan_all_data = %x\n" |
---|
| 9251 | +.LC116: |
---|
| 9252 | + .string "scan lpa = %x ppa= %x\n" |
---|
| 9253 | +.LC117: |
---|
| 9254 | + .string "lpa = %x,addr= %x,spare= %x %x %x %x data=%x %x\n" |
---|
| 9255 | + .text |
---|
8031 | 9256 | .align 2 |
---|
8032 | 9257 | .global ftl_scan_all_data |
---|
8033 | 9258 | .type ftl_scan_all_data, %function |
---|
8034 | 9259 | ftl_scan_all_data: |
---|
| 9260 | + hint 34 // bti c |
---|
| 9261 | + .section __patchable_function_entries |
---|
| 9262 | + .align 3 |
---|
| 9263 | + .8byte .LPFE98 |
---|
| 9264 | + .text |
---|
| 9265 | +.LPFE98: |
---|
| 9266 | + nop |
---|
| 9267 | + nop |
---|
| 9268 | + hint 25 // paciasp |
---|
8035 | 9269 | sub sp, sp, #96 |
---|
| 9270 | + mrs x0, sp_el0 |
---|
8036 | 9271 | stp x29, x30, [sp, 16] |
---|
8037 | 9272 | add x29, sp, 16 |
---|
8038 | | - stp x23, x24, [sp, 64] |
---|
8039 | | - adrp x24, .LANCHOR0 |
---|
8040 | | - add x23, x24, :lo12:.LANCHOR0 |
---|
8041 | 9273 | stp x19, x20, [sp, 32] |
---|
8042 | | - add x19, x23, 3720 |
---|
8043 | | - stp x21, x22, [sp, 48] |
---|
8044 | 9274 | mov w20, 0 |
---|
8045 | | - adrp x22, __stack_chk_guard |
---|
8046 | | - add x0, x22, :lo12:__stack_chk_guard |
---|
8047 | | - ldr x1, [x0] |
---|
8048 | | - str x1, [x29, 72] |
---|
8049 | | - mov x1,0 |
---|
8050 | | - adrp x0, .LC114 |
---|
8051 | | - add x0, x0, :lo12:.LC114 |
---|
8052 | | - bl sftl_printk |
---|
8053 | | -.L1185: |
---|
8054 | | - add x0, x24, :lo12:.LANCHOR0 |
---|
8055 | | - ldr w0, [x0, 2624] |
---|
8056 | | - cmp w20, w0 |
---|
8057 | | - bcc .L1191 |
---|
8058 | | - add x0, x22, :lo12:__stack_chk_guard |
---|
8059 | | - ldr x1, [x29, 72] |
---|
8060 | | - ldr x0, [x0] |
---|
8061 | | - eor x0, x1, x0 |
---|
8062 | | - cbz x0, .L1192 |
---|
8063 | | - bl __stack_chk_fail |
---|
8064 | | -.L1191: |
---|
8065 | | - mov w2, 0 |
---|
8066 | | - add x1, x29, 68 |
---|
8067 | | - mov w0, w20 |
---|
8068 | | - bl log2phys |
---|
8069 | | - tst x20, 2047 |
---|
8070 | | - bne .L1186 |
---|
8071 | | - ldr w2, [x29, 68] |
---|
| 9275 | + stp x21, x22, [sp, 48] |
---|
| 9276 | + adrp x21, .LANCHOR0 |
---|
| 9277 | + add x21, x21, :lo12:.LANCHOR0 |
---|
| 9278 | + str x23, [sp, 64] |
---|
| 9279 | + adrp x22, .LC116 |
---|
| 9280 | + add x19, x21, 3712 |
---|
| 9281 | + add x22, x22, :lo12:.LC116 |
---|
| 9282 | + ldr x1, [x0, 1376] |
---|
| 9283 | + str x1, [sp, 88] |
---|
| 9284 | + mov x1, 0 |
---|
8072 | 9285 | adrp x0, .LC115 |
---|
8073 | | - mov w1, w20 |
---|
8074 | 9286 | add x0, x0, :lo12:.LC115 |
---|
8075 | 9287 | bl sftl_printk |
---|
8076 | | -.L1186: |
---|
8077 | | - ldr w1, [x29, 68] |
---|
8078 | | - cmn w1, #1 |
---|
8079 | | - beq .L1188 |
---|
8080 | | - ldr x0, [x23, 3456] |
---|
| 9288 | +.L1220: |
---|
| 9289 | + ldr w0, [x21, 2624] |
---|
| 9290 | + cmp w0, w20 |
---|
| 9291 | + bhi .L1226 |
---|
| 9292 | + mrs x0, sp_el0 |
---|
| 9293 | + ldr x1, [sp, 88] |
---|
| 9294 | + ldr x2, [x0, 1376] |
---|
| 9295 | + subs x1, x1, x2 |
---|
| 9296 | + mov x2, 0 |
---|
| 9297 | + beq .L1227 |
---|
| 9298 | + bl __stack_chk_fail |
---|
| 9299 | +.L1226: |
---|
| 9300 | + add x1, sp, 84 |
---|
| 9301 | + mov w0, w20 |
---|
8081 | 9302 | mov w2, 0 |
---|
8082 | | - ldr x21, [x23, 3520] |
---|
8083 | | - stp wzr, w1, [x19] |
---|
| 9303 | + bl log2phys |
---|
| 9304 | + tst x20, 2047 |
---|
| 9305 | + bne .L1221 |
---|
| 9306 | + ldr w2, [sp, 84] |
---|
| 9307 | + mov w1, w20 |
---|
| 9308 | + mov x0, x22 |
---|
| 9309 | + bl sftl_printk |
---|
| 9310 | +.L1221: |
---|
| 9311 | + ldr w0, [sp, 84] |
---|
| 9312 | + cmn w0, #1 |
---|
| 9313 | + beq .L1223 |
---|
| 9314 | + stp wzr, w0, [x19] |
---|
| 9315 | + mov w2, 0 |
---|
| 9316 | + ldr x0, [x21, 3448] |
---|
8084 | 9317 | mov w1, 1 |
---|
8085 | | - stp x0, x21, [x19, 8] |
---|
| 9318 | + ldr x23, [x21, 3512] |
---|
| 9319 | + str x0, [x19, 8] |
---|
8086 | 9320 | mov x0, x19 |
---|
| 9321 | + str x23, [x19, 16] |
---|
8087 | 9322 | str w20, [x19, 24] |
---|
8088 | 9323 | bl FlashReadPages |
---|
8089 | | - ldr w1, [x19] |
---|
8090 | | - cmp w1, 256 |
---|
8091 | | - ccmn w1, #1, 4, ne |
---|
8092 | | - beq .L1189 |
---|
8093 | | - ldr w0, [x21, 8] |
---|
8094 | | - cmp w20, w0 |
---|
8095 | | - beq .L1188 |
---|
8096 | | -.L1189: |
---|
8097 | | - ldp x1, x0, [x19, 8] |
---|
8098 | | - ldr w2, [x1, 4] |
---|
| 9324 | + ldr w0, [x19] |
---|
| 9325 | + cmp w0, 256 |
---|
| 9326 | + ccmn w0, #1, 4, ne |
---|
| 9327 | + beq .L1224 |
---|
| 9328 | + ldr w0, [x23, 8] |
---|
| 9329 | + cmp w0, w20 |
---|
| 9330 | + beq .L1223 |
---|
| 9331 | +.L1224: |
---|
| 9332 | + ldp x0, x1, [x19, 8] |
---|
| 9333 | + ldr w2, [x0, 4] |
---|
8099 | 9334 | str w2, [sp] |
---|
8100 | | - ldp w3, w4, [x0] |
---|
8101 | | - ldp w5, w6, [x0, 8] |
---|
8102 | | - adrp x0, .LC116 |
---|
8103 | | - ldr w7, [x1] |
---|
8104 | | - add x0, x0, :lo12:.LC116 |
---|
8105 | | - ldr w2, [x19, 4] |
---|
| 9335 | + ldr w7, [x0] |
---|
| 9336 | + adrp x0, .LC117 |
---|
| 9337 | + ldp w3, w4, [x1] |
---|
| 9338 | + add x0, x0, :lo12:.LC117 |
---|
| 9339 | + ldp w5, w6, [x1, 8] |
---|
8106 | 9340 | mov w1, w20 |
---|
| 9341 | + ldr w2, [x19, 4] |
---|
8107 | 9342 | bl sftl_printk |
---|
8108 | | -.L1188: |
---|
| 9343 | +.L1223: |
---|
8109 | 9344 | add w20, w20, 1 |
---|
8110 | | - b .L1185 |
---|
8111 | | -.L1192: |
---|
| 9345 | + b .L1220 |
---|
| 9346 | +.L1227: |
---|
| 9347 | + ldp x29, x30, [sp, 16] |
---|
8112 | 9348 | ldp x19, x20, [sp, 32] |
---|
8113 | 9349 | ldp x21, x22, [sp, 48] |
---|
8114 | | - ldp x23, x24, [sp, 64] |
---|
8115 | | - ldp x29, x30, [sp, 16] |
---|
| 9350 | + ldr x23, [sp, 64] |
---|
8116 | 9351 | add sp, sp, 96 |
---|
| 9352 | + hint 29 // autiasp |
---|
8117 | 9353 | ret |
---|
8118 | 9354 | .size ftl_scan_all_data, .-ftl_scan_all_data |
---|
| 9355 | + .section .rodata.str1.1 |
---|
| 9356 | +.LC118: |
---|
| 9357 | + .string "FtlGcScanTempBlk Error ID %x %x!!!!!!! \n" |
---|
| 9358 | + .text |
---|
8119 | 9359 | .align 2 |
---|
8120 | 9360 | .global FtlGcScanTempBlk |
---|
8121 | 9361 | .type FtlGcScanTempBlk, %function |
---|
8122 | 9362 | FtlGcScanTempBlk: |
---|
| 9363 | + hint 34 // bti c |
---|
| 9364 | + .section __patchable_function_entries |
---|
| 9365 | + .align 3 |
---|
| 9366 | + .8byte .LPFE99 |
---|
| 9367 | + .text |
---|
| 9368 | +.LPFE99: |
---|
| 9369 | + nop |
---|
| 9370 | + nop |
---|
| 9371 | + hint 25 // paciasp |
---|
8123 | 9372 | stp x29, x30, [sp, -160]! |
---|
8124 | | - add x29, sp, 0 |
---|
| 9373 | + mov x29, sp |
---|
8125 | 9374 | stp x21, x22, [sp, 32] |
---|
8126 | | - adrp x22, __stack_chk_guard |
---|
| 9375 | + adrp x22, .LANCHOR2 |
---|
| 9376 | + add x22, x22, :lo12:.LANCHOR2 |
---|
8127 | 9377 | stp x19, x20, [sp, 16] |
---|
8128 | | - mov x19, x0 |
---|
8129 | | - stp x25, x26, [sp, 64] |
---|
8130 | | - add x0, x22, :lo12:__stack_chk_guard |
---|
| 9378 | + mov x20, x0 |
---|
| 9379 | + mrs x0, sp_el0 |
---|
8131 | 9380 | stp x23, x24, [sp, 48] |
---|
8132 | | - mov w25, w1 |
---|
| 9381 | + stp x25, x26, [sp, 64] |
---|
8133 | 9382 | stp x27, x28, [sp, 80] |
---|
8134 | | - adrp x21, .LANCHOR2 |
---|
8135 | | - str x22, [x29, 96] |
---|
8136 | | - ldr x1, [x0] |
---|
8137 | | - str x1, [x29, 152] |
---|
8138 | | - mov x1,0 |
---|
8139 | | - add x0, x21, :lo12:.LANCHOR2 |
---|
8140 | | - ldrh w28, [x0, 4] |
---|
| 9383 | + ldrh w28, [x22, 4] |
---|
| 9384 | + str w1, [sp, 104] |
---|
| 9385 | + ldr x1, [x0, 1376] |
---|
| 9386 | + str x1, [sp, 152] |
---|
| 9387 | + mov x1, 0 |
---|
8141 | 9388 | mov w0, 65535 |
---|
8142 | 9389 | cmp w28, w0 |
---|
8143 | | - beq .L1219 |
---|
8144 | | - cbnz w28, .L1195 |
---|
8145 | | -.L1196: |
---|
8146 | | - bl FtlGcPageVarInit |
---|
8147 | | - b .L1197 |
---|
8148 | | -.L1219: |
---|
8149 | | - mov w28, 0 |
---|
8150 | | -.L1195: |
---|
| 9390 | + beq .L1253 |
---|
| 9391 | + cbz w28, .L1231 |
---|
| 9392 | +.L1230: |
---|
8151 | 9393 | adrp x0, .LANCHOR0+306 |
---|
| 9394 | + ldr w1, [sp, 104] |
---|
8152 | 9395 | ldrh w0, [x0, #:lo12:.LANCHOR0+306] |
---|
8153 | | - cmp w0, w25 |
---|
8154 | | - beq .L1196 |
---|
8155 | | -.L1197: |
---|
8156 | | - adrp x26, .LANCHOR0 |
---|
8157 | | - add x22, x26, :lo12:.LANCHOR0 |
---|
8158 | | - mov w24, 0 |
---|
8159 | | -.L1212: |
---|
8160 | | - ldrh w1, [x19] |
---|
8161 | | - mov w0, 65535 |
---|
8162 | | - strb wzr, [x19, 8] |
---|
8163 | | - cmp w1, w0 |
---|
8164 | | - beq .L1198 |
---|
8165 | | -.L1215: |
---|
8166 | | - add x0, x26, :lo12:.LANCHOR0 |
---|
8167 | | - add x6, x19, 16 |
---|
8168 | | - mov w20, 0 |
---|
8169 | | - mov w11, 65535 |
---|
8170 | | - mov w7, 4 |
---|
8171 | | - ldrh w9, [x0, 314] |
---|
8172 | | - ldrh w10, [x0, 316] |
---|
8173 | | - ldrh w0, [x0, 236] |
---|
8174 | | - add x0, x0, 8 |
---|
8175 | | - add x0, x19, x0, lsl 1 |
---|
8176 | | -.L1199: |
---|
8177 | | - cmp x0, x6 |
---|
8178 | | - bne .L1201 |
---|
8179 | | - ldr x0, [x22, 3432] |
---|
8180 | | - mov w2, 0 |
---|
8181 | | - mov w1, w20 |
---|
8182 | | - mov x23, 0 |
---|
8183 | | - bl FlashReadPages |
---|
8184 | | - ubfiz x0, x20, 5, 16 |
---|
8185 | | - str x0, [x29, 104] |
---|
8186 | | -.L1202: |
---|
8187 | | - ldr x0, [x29, 104] |
---|
8188 | | - cmp x0, x23 |
---|
8189 | | - bne .L1213 |
---|
8190 | | - add w4, w28, 1 |
---|
8191 | | - add w24, w24, 1 |
---|
8192 | | - and w28, w4, 65535 |
---|
8193 | | - cmp w25, w24 |
---|
8194 | | - bls .L1214 |
---|
8195 | | -.L1216: |
---|
8196 | | - ldrh w0, [x22, 306] |
---|
8197 | | - cmp w0, w28 |
---|
8198 | | - bhi .L1215 |
---|
8199 | | -.L1198: |
---|
8200 | | - add x21, x21, :lo12:.LANCHOR2 |
---|
8201 | | - strh w28, [x19, 2] |
---|
8202 | | - strb wzr, [x19, 6] |
---|
8203 | | - mov w0, -1 |
---|
8204 | | - mov w2, 0 |
---|
8205 | | - mov w1, w28 |
---|
8206 | | - strh w0, [x21, 4] |
---|
8207 | | - mov x0, x19 |
---|
8208 | | - bl ftl_sb_update_avl_pages |
---|
8209 | | - b .L1217 |
---|
8210 | | -.L1201: |
---|
8211 | | - ldrh w1, [x6] |
---|
8212 | | - cmp w1, w11 |
---|
8213 | | - beq .L1200 |
---|
8214 | | - ldr x5, [x22, 3432] |
---|
8215 | | - ubfiz x8, x20, 5, 16 |
---|
8216 | | - orr w1, w28, w1, lsl 10 |
---|
8217 | | - add x5, x5, x8 |
---|
8218 | | - str w1, [x5, 4] |
---|
8219 | | - mul w1, w20, w9 |
---|
8220 | | - ldr x2, [x22, 3432] |
---|
8221 | | - ldr x5, [x22, 3256] |
---|
8222 | | - sdiv w1, w1, w7 |
---|
8223 | | - add x2, x2, x8 |
---|
8224 | | - add x1, x5, x1, sxtw 2 |
---|
8225 | | - str x1, [x2, 8] |
---|
8226 | | - mul w1, w20, w10 |
---|
8227 | | - ldr x5, [x22, 3264] |
---|
8228 | | - add w20, w20, 1 |
---|
8229 | | - and w20, w20, 65535 |
---|
8230 | | - sdiv w1, w1, w7 |
---|
8231 | | - add x1, x5, x1, sxtw 2 |
---|
8232 | | - str x1, [x2, 16] |
---|
8233 | | -.L1200: |
---|
8234 | | - add x6, x6, 2 |
---|
8235 | | - b .L1199 |
---|
8236 | | -.L1213: |
---|
8237 | | - ldr x0, [x22, 3432] |
---|
8238 | | - add x1, x0, x23 |
---|
8239 | | - ldr w0, [x0, x23] |
---|
8240 | | - ldr w27, [x1, 4] |
---|
8241 | | - ldr x20, [x1, 16] |
---|
8242 | | - cbnz w0, .L1203 |
---|
8243 | | - ldrh w0, [x20] |
---|
8244 | | - mov w1, 65535 |
---|
8245 | 9396 | cmp w0, w1 |
---|
8246 | | - bne .L1204 |
---|
8247 | | -.L1229: |
---|
8248 | | - ldrh w1, [x19] |
---|
| 9397 | + bne .L1232 |
---|
| 9398 | +.L1231: |
---|
| 9399 | + bl FtlGcPageVarInit |
---|
| 9400 | +.L1232: |
---|
| 9401 | + adrp x19, .LANCHOR0 |
---|
| 9402 | + add x19, x19, :lo12:.LANCHOR0 |
---|
| 9403 | + mov w24, 0 |
---|
| 9404 | + mov w26, 65535 |
---|
| 9405 | +.L1248: |
---|
| 9406 | + ldrh w0, [x20] |
---|
| 9407 | + strb wzr, [x20, 8] |
---|
| 9408 | + cmp w0, w26 |
---|
| 9409 | + beq .L1233 |
---|
| 9410 | + add x0, x20, 16 |
---|
| 9411 | + str x0, [sp, 96] |
---|
| 9412 | +.L1234: |
---|
| 9413 | + ldrh w7, [x19, 236] |
---|
| 9414 | + mov x1, 0 |
---|
| 9415 | + ldrh w8, [x19, 314] |
---|
| 9416 | + mov w21, 0 |
---|
| 9417 | + ldrh w9, [x19, 316] |
---|
| 9418 | + mov w5, 4 |
---|
| 9419 | +.L1235: |
---|
| 9420 | + ldr x0, [x19, 3424] |
---|
| 9421 | + cmp w7, w1, uxth |
---|
| 9422 | + bhi .L1237 |
---|
| 9423 | + mov x23, 0 |
---|
| 9424 | + mov w1, w21 |
---|
| 9425 | + mov w2, 0 |
---|
| 9426 | + bl FlashReadPages |
---|
| 9427 | +.L1238: |
---|
| 9428 | + cmp w21, w23, uxth |
---|
| 9429 | + bhi .L1249 |
---|
| 9430 | + ldr w0, [sp, 104] |
---|
| 9431 | + add w3, w28, 1 |
---|
| 9432 | + add w24, w24, 1 |
---|
| 9433 | + and w28, w3, 65535 |
---|
| 9434 | + cmp w0, w24 |
---|
| 9435 | + bhi .L1250 |
---|
| 9436 | + ldrh w0, [x22, 4] |
---|
| 9437 | + cmp w0, w26 |
---|
| 9438 | + beq .L1250 |
---|
| 9439 | + add w0, w0, w24 |
---|
| 9440 | + strh w0, [x22, 4] |
---|
| 9441 | + ldrh w0, [x19, 306] |
---|
| 9442 | + cmp w0, w28 |
---|
| 9443 | + bls .L1233 |
---|
| 9444 | +.L1251: |
---|
| 9445 | + mrs x0, sp_el0 |
---|
| 9446 | + ldr x1, [sp, 152] |
---|
| 9447 | + ldr x2, [x0, 1376] |
---|
| 9448 | + subs x1, x1, x2 |
---|
| 9449 | + mov x2, 0 |
---|
| 9450 | + beq .L1252 |
---|
| 9451 | + bl __stack_chk_fail |
---|
| 9452 | +.L1253: |
---|
8249 | 9453 | mov w28, 0 |
---|
8250 | | - ldr x0, [x22, 72] |
---|
| 9454 | + b .L1230 |
---|
| 9455 | +.L1237: |
---|
| 9456 | + ldr x2, [sp, 96] |
---|
| 9457 | + ldrh w4, [x2, x1, lsl 1] |
---|
| 9458 | + cmp w4, w26 |
---|
| 9459 | + beq .L1236 |
---|
| 9460 | + ubfiz x6, x21, 5, 16 |
---|
| 9461 | + orr w4, w28, w4, lsl 10 |
---|
| 9462 | + add x0, x0, x6 |
---|
| 9463 | + str w4, [x0, 4] |
---|
| 9464 | + mul w0, w21, w8 |
---|
| 9465 | + ldr x2, [x19, 3424] |
---|
| 9466 | + sdiv w0, w0, w5 |
---|
| 9467 | + ldr x4, [x19, 3256] |
---|
| 9468 | + add x2, x2, x6 |
---|
| 9469 | + add x0, x4, w0, sxtw 2 |
---|
| 9470 | + str x0, [x2, 8] |
---|
| 9471 | + mul w0, w21, w9 |
---|
| 9472 | + add w21, w21, 1 |
---|
| 9473 | + ldr x4, [x19, 3264] |
---|
| 9474 | + and w21, w21, 65535 |
---|
| 9475 | + sdiv w0, w0, w5 |
---|
| 9476 | + add x0, x4, w0, sxtw 2 |
---|
| 9477 | + str x0, [x2, 16] |
---|
| 9478 | +.L1236: |
---|
| 9479 | + add x1, x1, 1 |
---|
| 9480 | + b .L1235 |
---|
| 9481 | +.L1249: |
---|
| 9482 | + ldr x0, [x19, 3424] |
---|
| 9483 | + lsl x27, x23, 5 |
---|
| 9484 | + add x1, x0, x23, lsl 5 |
---|
| 9485 | + ldr w0, [x0, x27] |
---|
| 9486 | + ldr w5, [x1, 4] |
---|
| 9487 | + ldr x25, [x1, 16] |
---|
| 9488 | + cbnz w0, .L1239 |
---|
| 9489 | + ldrh w0, [x25] |
---|
| 9490 | + cmp w0, w26 |
---|
| 9491 | + beq .L1263 |
---|
| 9492 | + ldr w1, [x19, 2624] |
---|
| 9493 | + ldr w0, [x25, 8] |
---|
| 9494 | + cmp w0, w1 |
---|
| 9495 | + bls .L1241 |
---|
| 9496 | +.L1263: |
---|
| 9497 | + ldrh w1, [x20] |
---|
| 9498 | + mov w28, 0 |
---|
| 9499 | + ldr x0, [x19, 72] |
---|
8251 | 9500 | strh wzr, [x0, x1, lsl 1] |
---|
8252 | | - ldrh w0, [x19] |
---|
| 9501 | + ldrh w0, [x20] |
---|
8253 | 9502 | bl INSERT_FREE_LIST |
---|
8254 | 9503 | mov w0, -1 |
---|
8255 | | - strh w0, [x19] |
---|
8256 | | - strh w0, [x22, 176] |
---|
| 9504 | + strh w0, [x20] |
---|
| 9505 | + strh w0, [x19, 176] |
---|
8257 | 9506 | bl FtlGcPageVarInit |
---|
8258 | | - b .L1212 |
---|
8259 | | -.L1204: |
---|
8260 | | - ldr w0, [x20, 8] |
---|
8261 | | - ldr w1, [x22, 2624] |
---|
8262 | | - cmp w0, w1 |
---|
8263 | | - bhi .L1229 |
---|
8264 | | - add x1, x29, 116 |
---|
| 9507 | + b .L1248 |
---|
| 9508 | +.L1241: |
---|
| 9509 | + add x1, sp, 116 |
---|
8265 | 9510 | mov w2, 0 |
---|
| 9511 | + str w5, [sp, 108] |
---|
8266 | 9512 | bl log2phys |
---|
8267 | | - ldr w0, [x20, 12] |
---|
8268 | | - ldr w1, [x29, 116] |
---|
| 9513 | + ldr w0, [x25, 12] |
---|
| 9514 | + ldr w1, [sp, 116] |
---|
| 9515 | + ldr w5, [sp, 108] |
---|
8269 | 9516 | cmp w0, w1 |
---|
8270 | | - beq .L1207 |
---|
8271 | | -.L1209: |
---|
8272 | | - ldr w2, [x20, 8] |
---|
8273 | | -.L1230: |
---|
8274 | | - ldr w0, [x20, 12] |
---|
8275 | | - mov w1, w27 |
---|
8276 | | - add x23, x23, 32 |
---|
| 9517 | + beq .L1243 |
---|
| 9518 | +.L1245: |
---|
| 9519 | + ldr w2, [x25, 8] |
---|
| 9520 | +.L1264: |
---|
| 9521 | + ldr w0, [x25, 12] |
---|
| 9522 | + mov w1, w5 |
---|
| 9523 | + add x23, x23, 1 |
---|
8277 | 9524 | bl FtlGcUpdatePage |
---|
8278 | | - b .L1202 |
---|
8279 | | -.L1207: |
---|
| 9525 | + b .L1238 |
---|
| 9526 | +.L1243: |
---|
8280 | 9527 | cmn w0, #1 |
---|
8281 | | - beq .L1209 |
---|
8282 | | - str w0, [x29, 124] |
---|
| 9528 | + beq .L1245 |
---|
| 9529 | + str w0, [sp, 124] |
---|
8283 | 9530 | mov w2, 0 |
---|
8284 | | - ldr x0, [x22, 3488] |
---|
| 9531 | + ldr x0, [x19, 3480] |
---|
| 9532 | + str x0, [sp, 128] |
---|
| 9533 | + ldr x0, [x19, 3520] |
---|
8285 | 9534 | mov w1, 1 |
---|
8286 | | - str x0, [x29, 128] |
---|
8287 | | - ldr x0, [x22, 3528] |
---|
8288 | | - str x0, [x29, 136] |
---|
8289 | | - add x0, x29, 120 |
---|
| 9535 | + str w5, [sp, 108] |
---|
| 9536 | + str x0, [sp, 136] |
---|
| 9537 | + add x0, sp, 120 |
---|
8290 | 9538 | bl FlashReadPages |
---|
8291 | | - ldrh w1, [x22, 262] |
---|
| 9539 | + ldr w5, [sp, 108] |
---|
| 9540 | + ldrh w1, [x19, 262] |
---|
| 9541 | + ldr x2, [sp, 128] |
---|
| 9542 | + ldr x0, [x19, 3424] |
---|
| 9543 | + lsl w1, w1, 7 |
---|
| 9544 | + sub x2, x2, #4 |
---|
| 9545 | + add x27, x0, x27 |
---|
8292 | 9546 | mov x0, 0 |
---|
8293 | | - ldr x2, [x22, 3432] |
---|
8294 | | - ldr x6, [x29, 128] |
---|
8295 | | - ubfiz x1, x1, 9, 16 |
---|
8296 | | - add x2, x2, x23 |
---|
8297 | | -.L1210: |
---|
8298 | | - cmp x0, x1 |
---|
8299 | | - beq .L1209 |
---|
8300 | | - ldr x7, [x2, 8] |
---|
8301 | | - ldr w8, [x7, x0] |
---|
8302 | | - add x0, x0, 4 |
---|
8303 | | - add x7, x6, x0 |
---|
8304 | | - ldr w7, [x7, -4] |
---|
8305 | | - cmp w8, w7 |
---|
8306 | | - beq .L1210 |
---|
8307 | | - ldrh w1, [x19] |
---|
8308 | | - adrp x0, .LC117 |
---|
8309 | | - ldr w2, [x29, 124] |
---|
8310 | | - add x0, x0, :lo12:.LC117 |
---|
| 9547 | +.L1246: |
---|
| 9548 | + cmp w1, w0 |
---|
| 9549 | + bls .L1245 |
---|
| 9550 | + ldr x6, [x27, 8] |
---|
| 9551 | + ldr w7, [x6, x0, lsl 2] |
---|
| 9552 | + add x0, x0, 1 |
---|
| 9553 | + ldr w6, [x2, x0, lsl 2] |
---|
| 9554 | + cmp w7, w6 |
---|
| 9555 | + beq .L1246 |
---|
| 9556 | + ldrh w1, [x20] |
---|
| 9557 | + adrp x0, .LC118 |
---|
| 9558 | + ldr w2, [sp, 124] |
---|
| 9559 | + add x0, x0, :lo12:.LC118 |
---|
8311 | 9560 | bl sftl_printk |
---|
8312 | | - b .L1229 |
---|
8313 | | -.L1203: |
---|
| 9561 | + b .L1263 |
---|
| 9562 | +.L1239: |
---|
8314 | 9563 | mov w2, -1 |
---|
8315 | | - b .L1230 |
---|
8316 | | -.L1214: |
---|
8317 | | - add x1, x21, :lo12:.LANCHOR2 |
---|
8318 | | - mov w2, 65535 |
---|
8319 | | - ldrh w0, [x1, 4] |
---|
8320 | | - cmp w0, w2 |
---|
8321 | | - beq .L1216 |
---|
8322 | | - add w0, w0, w24 |
---|
8323 | | - strh w0, [x1, 4] |
---|
8324 | | - ldrh w0, [x22, 306] |
---|
| 9564 | + b .L1264 |
---|
| 9565 | +.L1250: |
---|
| 9566 | + ldrh w0, [x19, 306] |
---|
8325 | 9567 | cmp w0, w28 |
---|
8326 | | - bls .L1216 |
---|
8327 | | -.L1217: |
---|
8328 | | - ldr x1, [x29, 96] |
---|
| 9568 | + bhi .L1234 |
---|
| 9569 | +.L1233: |
---|
| 9570 | + strh w28, [x20, 2] |
---|
8329 | 9571 | mov w0, -1 |
---|
8330 | | - add x22, x1, :lo12:__stack_chk_guard |
---|
8331 | | - ldr x2, [x29, 152] |
---|
8332 | | - ldr x1, [x22] |
---|
8333 | | - eor x1, x2, x1 |
---|
8334 | | - cbz x1, .L1218 |
---|
8335 | | - bl __stack_chk_fail |
---|
8336 | | -.L1218: |
---|
| 9572 | + strb wzr, [x20, 6] |
---|
| 9573 | + mov w1, w28 |
---|
| 9574 | + mov w2, 0 |
---|
| 9575 | + strh w0, [x22, 4] |
---|
| 9576 | + mov x0, x20 |
---|
| 9577 | + bl ftl_sb_update_avl_pages |
---|
| 9578 | + b .L1251 |
---|
| 9579 | +.L1252: |
---|
| 9580 | + mov w0, -1 |
---|
8337 | 9581 | ldp x19, x20, [sp, 16] |
---|
8338 | 9582 | ldp x21, x22, [sp, 32] |
---|
8339 | 9583 | ldp x23, x24, [sp, 48] |
---|
8340 | 9584 | ldp x25, x26, [sp, 64] |
---|
8341 | 9585 | ldp x27, x28, [sp, 80] |
---|
8342 | 9586 | ldp x29, x30, [sp], 160 |
---|
| 9587 | + hint 29 // autiasp |
---|
8343 | 9588 | ret |
---|
8344 | 9589 | .size FtlGcScanTempBlk, .-FtlGcScanTempBlk |
---|
8345 | 9590 | .align 2 |
---|
8346 | 9591 | .global FtlReadRefresh |
---|
8347 | 9592 | .type FtlReadRefresh, %function |
---|
8348 | 9593 | FtlReadRefresh: |
---|
| 9594 | + hint 34 // bti c |
---|
| 9595 | + .section __patchable_function_entries |
---|
| 9596 | + .align 3 |
---|
| 9597 | + .8byte .LPFE100 |
---|
| 9598 | + .text |
---|
| 9599 | +.LPFE100: |
---|
| 9600 | + nop |
---|
| 9601 | + nop |
---|
| 9602 | + hint 25 // paciasp |
---|
8349 | 9603 | stp x29, x30, [sp, -160]! |
---|
8350 | | - add x29, sp, 0 |
---|
| 9604 | + mrs x0, sp_el0 |
---|
| 9605 | + mov x29, sp |
---|
8351 | 9606 | stp x19, x20, [sp, 16] |
---|
8352 | | - adrp x20, __stack_chk_guard |
---|
8353 | | - stp x21, x22, [sp, 32] |
---|
8354 | | - add x0, x20, :lo12:__stack_chk_guard |
---|
8355 | | - ldr x1, [x0] |
---|
8356 | | - str x1, [x29, 152] |
---|
8357 | | - mov x1,0 |
---|
8358 | | - adrp x1, .LANCHOR0 |
---|
8359 | | - add x0, x1, :lo12:.LANCHOR0 |
---|
8360 | | - add x2, x0, 2712 |
---|
8361 | | - ldr w3, [x2, 80] |
---|
8362 | | - cbz w3, .L1232 |
---|
8363 | | - ldr w1, [x0, 2624] |
---|
8364 | | - ldr w3, [x2, 84] |
---|
8365 | | - cmp w3, w1 |
---|
8366 | | - bcs .L1233 |
---|
8367 | | - mov x19, x0 |
---|
8368 | | - mov w21, 2048 |
---|
8369 | | -.L1238: |
---|
8370 | | - add x22, x19, 2712 |
---|
| 9607 | + adrp x19, .LANCHOR0 |
---|
| 9608 | + add x19, x19, :lo12:.LANCHOR0 |
---|
| 9609 | + str x21, [sp, 32] |
---|
| 9610 | + ldr x1, [x0, 1376] |
---|
| 9611 | + str x1, [sp, 152] |
---|
| 9612 | + mov x1, 0 |
---|
| 9613 | + ldr w0, [x19, 2624] |
---|
| 9614 | + add x1, x19, 2712 |
---|
| 9615 | + ldr w2, [x1, 80] |
---|
| 9616 | + cbz w2, .L1266 |
---|
| 9617 | + ldr w2, [x1, 84] |
---|
| 9618 | + cmp w2, w0 |
---|
| 9619 | + bcs .L1267 |
---|
| 9620 | + mov w20, 2048 |
---|
| 9621 | +.L1272: |
---|
8371 | 9622 | ldr w1, [x19, 2624] |
---|
8372 | | - ldr w0, [x22, 84] |
---|
| 9623 | + add x21, x19, 2712 |
---|
| 9624 | + ldr w0, [x21, 84] |
---|
8373 | 9625 | cmp w0, w1 |
---|
8374 | | - bcc .L1234 |
---|
8375 | | -.L1237: |
---|
| 9626 | + bcc .L1268 |
---|
| 9627 | +.L1271: |
---|
8376 | 9628 | mov w0, -1 |
---|
8377 | | -.L1231: |
---|
8378 | | - add x20, x20, :lo12:__stack_chk_guard |
---|
8379 | | - ldr x2, [x29, 152] |
---|
8380 | | - ldr x1, [x20] |
---|
8381 | | - eor x1, x2, x1 |
---|
8382 | | - cbz x1, .L1243 |
---|
| 9629 | +.L1265: |
---|
| 9630 | + mrs x1, sp_el0 |
---|
| 9631 | + ldr x2, [sp, 152] |
---|
| 9632 | + ldr x3, [x1, 1376] |
---|
| 9633 | + subs x2, x2, x3 |
---|
| 9634 | + mov x3, 0 |
---|
| 9635 | + beq .L1276 |
---|
8383 | 9636 | bl __stack_chk_fail |
---|
8384 | | -.L1234: |
---|
8385 | | - add x1, x29, 52 |
---|
| 9637 | +.L1268: |
---|
| 9638 | + add x1, sp, 52 |
---|
8386 | 9639 | mov w2, 0 |
---|
8387 | 9640 | bl log2phys |
---|
8388 | | - ldr w0, [x22, 84] |
---|
8389 | | - ldr w1, [x29, 52] |
---|
| 9641 | + ldr w1, [sp, 52] |
---|
| 9642 | + ldr w0, [x21, 84] |
---|
8390 | 9643 | add w0, w0, 1 |
---|
8391 | | - str w0, [x22, 84] |
---|
| 9644 | + str w0, [x21, 84] |
---|
8392 | 9645 | cmn w1, #1 |
---|
8393 | | - beq .L1236 |
---|
8394 | | - str w0, [x29, 80] |
---|
| 9646 | + beq .L1270 |
---|
| 9647 | + str w0, [sp, 80] |
---|
8395 | 9648 | mov w2, 0 |
---|
8396 | | - ldr x0, [x19, 3504] |
---|
8397 | | - str x0, [x29, 64] |
---|
8398 | | - add x0, x29, 88 |
---|
8399 | | - str x0, [x29, 72] |
---|
8400 | | - add x0, x29, 160 |
---|
8401 | | - str w1, [x29, 60] |
---|
| 9649 | + ldr x0, [x19, 3496] |
---|
| 9650 | + str x0, [sp, 64] |
---|
| 9651 | + add x0, sp, 88 |
---|
| 9652 | + stp wzr, w1, [sp, 56] |
---|
8402 | 9653 | mov w1, 1 |
---|
8403 | | - str wzr, [x0, -104]! |
---|
| 9654 | + str x0, [sp, 72] |
---|
| 9655 | + add x0, sp, 56 |
---|
8404 | 9656 | bl FlashReadPages |
---|
8405 | | - ldr w0, [x29, 56] |
---|
| 9657 | + ldr w0, [sp, 56] |
---|
8406 | 9658 | cmp w0, 256 |
---|
8407 | | - bne .L1237 |
---|
8408 | | - ldr w0, [x29, 52] |
---|
8409 | | - lsr w0, w0, 10 |
---|
| 9659 | + bne .L1271 |
---|
| 9660 | + ldr w0, [sp, 52] |
---|
| 9661 | + ubfx x0, x0, 10, 16 |
---|
8410 | 9662 | bl P2V_block_in_plane |
---|
8411 | 9663 | bl FtlGcRefreshBlock |
---|
8412 | | - b .L1237 |
---|
8413 | | -.L1236: |
---|
8414 | | - subs w21, w21, #1 |
---|
8415 | | - bne .L1238 |
---|
8416 | | - b .L1237 |
---|
8417 | | -.L1233: |
---|
8418 | | - ldr w0, [x0, 2628] |
---|
8419 | | - stp w0, wzr, [x2, 76] |
---|
8420 | | - str wzr, [x2, 84] |
---|
8421 | | -.L1246: |
---|
| 9664 | + b .L1271 |
---|
| 9665 | +.L1270: |
---|
| 9666 | + subs w20, w20, #1 |
---|
| 9667 | + bne .L1272 |
---|
| 9668 | + b .L1271 |
---|
| 9669 | +.L1267: |
---|
| 9670 | + ldr w0, [x19, 2628] |
---|
| 9671 | + str w0, [x1, 76] |
---|
| 9672 | + str xzr, [x1, 80] |
---|
| 9673 | +.L1279: |
---|
8422 | 9674 | mov w0, 0 |
---|
8423 | | - b .L1231 |
---|
8424 | | -.L1232: |
---|
8425 | | - ldr w4, [x0, 2684] |
---|
| 9675 | + b .L1265 |
---|
| 9676 | +.L1266: |
---|
| 9677 | + ldr w2, [x19, 2684] |
---|
8426 | 9678 | mov w3, 10000 |
---|
8427 | | - ldr w5, [x0, 2628] |
---|
8428 | | - mov w6, 31 |
---|
8429 | | - cmp w4, w3 |
---|
8430 | | - ldr w7, [x2, 76] |
---|
| 9679 | + mov w5, 31 |
---|
| 9680 | + ldr w6, [x1, 76] |
---|
| 9681 | + cmp w2, w3 |
---|
8431 | 9682 | mov w3, 63 |
---|
8432 | | - csel w6, w6, w3, hi |
---|
8433 | | - add w3, w5, 1048576 |
---|
8434 | | - cmp w7, w3 |
---|
8435 | | - bhi .L1242 |
---|
8436 | | - ldr w3, [x0, 2624] |
---|
8437 | | - mov w8, 1000 |
---|
8438 | | - lsr w4, w4, 10 |
---|
8439 | | - add w4, w4, 1 |
---|
8440 | | - mul w3, w3, w8 |
---|
8441 | | - udiv w3, w3, w4 |
---|
8442 | | - add w3, w3, w7 |
---|
8443 | | - cmp w5, w3 |
---|
8444 | | - bhi .L1242 |
---|
8445 | | - ldrh w0, [x0, 2540] |
---|
8446 | | - tst w6, w0 |
---|
8447 | | - bne .L1246 |
---|
8448 | | - ldr w2, [x2, 100] |
---|
8449 | | - cmp w0, w2 |
---|
8450 | | - beq .L1246 |
---|
8451 | | -.L1242: |
---|
8452 | | - add x0, x1, :lo12:.LANCHOR0 |
---|
8453 | | - add x1, x0, 2712 |
---|
8454 | | - ldrh w0, [x0, 2540] |
---|
8455 | | - str w0, [x1, 100] |
---|
8456 | | - str w5, [x1, 76] |
---|
8457 | | - mov w0, 1 |
---|
8458 | | - str wzr, [x1, 84] |
---|
8459 | | - str w0, [x1, 80] |
---|
8460 | | - b .L1246 |
---|
8461 | | -.L1243: |
---|
| 9683 | + csel w5, w5, w3, hi |
---|
| 9684 | + ldr w3, [x19, 2628] |
---|
| 9685 | + ldrh w4, [x19, 2540] |
---|
| 9686 | + add w7, w3, 1048576 |
---|
| 9687 | + cmp w6, w7 |
---|
| 9688 | + bhi .L1275 |
---|
| 9689 | + mov w7, 1000 |
---|
| 9690 | + lsr w2, w2, 10 |
---|
| 9691 | + add w2, w2, 1 |
---|
| 9692 | + mul w0, w0, w7 |
---|
| 9693 | + udiv w0, w0, w2 |
---|
| 9694 | + add w0, w0, w6 |
---|
| 9695 | + cmp w3, w0 |
---|
| 9696 | + bhi .L1275 |
---|
| 9697 | + tst w5, w4 |
---|
| 9698 | + bne .L1279 |
---|
| 9699 | + ldr w0, [x1, 100] |
---|
| 9700 | + cmp w0, w4 |
---|
| 9701 | + beq .L1279 |
---|
| 9702 | +.L1275: |
---|
| 9703 | + mov x0, 1 |
---|
| 9704 | + str w3, [x19, 2788] |
---|
| 9705 | + str x0, [x19, 2792] |
---|
| 9706 | + str w4, [x19, 2812] |
---|
| 9707 | + b .L1279 |
---|
| 9708 | +.L1276: |
---|
8462 | 9709 | ldp x19, x20, [sp, 16] |
---|
8463 | | - ldp x21, x22, [sp, 32] |
---|
| 9710 | + ldr x21, [sp, 32] |
---|
8464 | 9711 | ldp x29, x30, [sp], 160 |
---|
| 9712 | + hint 29 // autiasp |
---|
8465 | 9713 | ret |
---|
8466 | 9714 | .size FtlReadRefresh, .-FtlReadRefresh |
---|
8467 | 9715 | .align 2 |
---|
8468 | 9716 | .global l2p_flush |
---|
8469 | 9717 | .type l2p_flush, %function |
---|
8470 | 9718 | l2p_flush: |
---|
| 9719 | + hint 34 // bti c |
---|
| 9720 | + .section __patchable_function_entries |
---|
| 9721 | + .align 3 |
---|
| 9722 | + .8byte .LPFE101 |
---|
| 9723 | + .text |
---|
| 9724 | +.LPFE101: |
---|
| 9725 | + nop |
---|
| 9726 | + nop |
---|
| 9727 | + hint 25 // paciasp |
---|
8471 | 9728 | stp x29, x30, [sp, -32]! |
---|
8472 | | - add x29, sp, 0 |
---|
| 9729 | + mov x29, sp |
---|
8473 | 9730 | stp x19, x20, [sp, 16] |
---|
8474 | 9731 | adrp x20, .LANCHOR0 |
---|
8475 | 9732 | add x20, x20, :lo12:.LANCHOR0 |
---|
8476 | 9733 | mov w19, 0 |
---|
8477 | 9734 | bl FtlWriteDump_data |
---|
8478 | | -.L1250: |
---|
| 9735 | +.L1283: |
---|
8479 | 9736 | ldrh w0, [x20, 342] |
---|
8480 | 9737 | cmp w0, w19 |
---|
8481 | | - bhi .L1252 |
---|
| 9738 | + bhi .L1285 |
---|
8482 | 9739 | mov w0, 0 |
---|
8483 | 9740 | ldp x19, x20, [sp, 16] |
---|
8484 | 9741 | ldp x29, x30, [sp], 32 |
---|
| 9742 | + hint 29 // autiasp |
---|
8485 | 9743 | ret |
---|
8486 | | -.L1252: |
---|
| 9744 | +.L1285: |
---|
8487 | 9745 | ldr x1, [x20, 2608] |
---|
8488 | 9746 | ubfiz x0, x19, 4, 16 |
---|
8489 | 9747 | add x0, x1, x0 |
---|
8490 | 9748 | ldr w0, [x0, 4] |
---|
8491 | | - tbz w0, #31, .L1251 |
---|
| 9749 | + tbz w0, #31, .L1284 |
---|
8492 | 9750 | mov w0, w19 |
---|
8493 | 9751 | bl flush_l2p_region |
---|
8494 | | -.L1251: |
---|
| 9752 | +.L1284: |
---|
8495 | 9753 | add w19, w19, 1 |
---|
8496 | 9754 | and w19, w19, 65535 |
---|
8497 | | - b .L1250 |
---|
| 9755 | + b .L1283 |
---|
8498 | 9756 | .size l2p_flush, .-l2p_flush |
---|
8499 | 9757 | .align 2 |
---|
8500 | 9758 | .global FtlVendorPartWrite |
---|
8501 | 9759 | .type FtlVendorPartWrite, %function |
---|
8502 | 9760 | FtlVendorPartWrite: |
---|
| 9761 | + hint 34 // bti c |
---|
| 9762 | + .section __patchable_function_entries |
---|
| 9763 | + .align 3 |
---|
| 9764 | + .8byte .LPFE102 |
---|
| 9765 | + .text |
---|
| 9766 | +.LPFE102: |
---|
| 9767 | + nop |
---|
| 9768 | + nop |
---|
| 9769 | + hint 25 // paciasp |
---|
8503 | 9770 | stp x29, x30, [sp, -224]! |
---|
8504 | | - add x29, sp, 0 |
---|
| 9771 | + mov x29, sp |
---|
8505 | 9772 | stp x19, x20, [sp, 16] |
---|
8506 | 9773 | adrp x19, .LANCHOR0 |
---|
8507 | | - stp x21, x22, [sp, 32] |
---|
8508 | 9774 | add x19, x19, :lo12:.LANCHOR0 |
---|
8509 | | - stp x25, x26, [sp, 64] |
---|
8510 | | - adrp x22, __stack_chk_guard |
---|
8511 | | - stp x27, x28, [sp, 80] |
---|
8512 | | - mov w26, w0 |
---|
| 9775 | + stp x21, x22, [sp, 32] |
---|
| 9776 | + mov w21, w0 |
---|
| 9777 | + mrs x0, sp_el0 |
---|
8513 | 9778 | stp x23, x24, [sp, 48] |
---|
8514 | | - add x0, x22, :lo12:__stack_chk_guard |
---|
8515 | | - mov w28, w1 |
---|
8516 | | - ldr x1, [x0] |
---|
8517 | | - str x1, [x29, 216] |
---|
8518 | | - mov x1,0 |
---|
| 9779 | + mov w20, w1 |
---|
| 9780 | + ldrh w22, [x19, 312] |
---|
| 9781 | + stp x25, x26, [sp, 64] |
---|
| 9782 | + stp x27, x28, [sp, 80] |
---|
| 9783 | + lsr w22, w21, w22 |
---|
| 9784 | + ldr x1, [x0, 1376] |
---|
| 9785 | + str x1, [sp, 216] |
---|
| 9786 | + mov x1, 0 |
---|
8519 | 9787 | ldrh w0, [x19, 300] |
---|
8520 | | - add w1, w26, w28 |
---|
| 9788 | + add w1, w21, w20 |
---|
8521 | 9789 | cmp w1, w0 |
---|
8522 | | - bhi .L1263 |
---|
8523 | | - ldrh w23, [x19, 312] |
---|
8524 | | - mov x25, x2 |
---|
8525 | | - add x27, x19, 3888 |
---|
8526 | | - mov w24, 0 |
---|
8527 | | - lsr w23, w26, w23 |
---|
8528 | | -.L1256: |
---|
8529 | | - cbnz w28, .L1261 |
---|
8530 | | -.L1254: |
---|
8531 | | - add x22, x22, :lo12:__stack_chk_guard |
---|
8532 | | - mov w0, w24 |
---|
8533 | | - ldr x2, [x29, 216] |
---|
8534 | | - ldr x1, [x22] |
---|
8535 | | - eor x1, x2, x1 |
---|
8536 | | - cbz x1, .L1262 |
---|
| 9790 | + bhi .L1296 |
---|
| 9791 | + mov x24, x2 |
---|
| 9792 | + add x27, x19, 3880 |
---|
| 9793 | + mov w25, 0 |
---|
| 9794 | + mov w28, -1 |
---|
| 9795 | +.L1289: |
---|
| 9796 | + cbnz w20, .L1294 |
---|
| 9797 | +.L1287: |
---|
| 9798 | + mrs x0, sp_el0 |
---|
| 9799 | + ldr x1, [sp, 216] |
---|
| 9800 | + ldr x2, [x0, 1376] |
---|
| 9801 | + subs x1, x1, x2 |
---|
| 9802 | + mov x2, 0 |
---|
| 9803 | + beq .L1295 |
---|
8537 | 9804 | bl __stack_chk_fail |
---|
8538 | | -.L1261: |
---|
| 9805 | +.L1294: |
---|
8539 | 9806 | ldrh w1, [x19, 262] |
---|
8540 | | - ldr x0, [x19, 3600] |
---|
8541 | | - udiv w21, w26, w1 |
---|
8542 | | - ldr w2, [x0, w23, uxtw 2] |
---|
8543 | | - and w0, w28, 65535 |
---|
8544 | | - msub w21, w21, w1, w26 |
---|
8545 | | - sub w20, w1, w21 |
---|
8546 | | - and w20, w20, 65535 |
---|
8547 | | - cmp w28, w20 |
---|
8548 | | - csel w20, w0, w20, cc |
---|
8549 | | - cbz w2, .L1258 |
---|
8550 | | - cmp w20, w1 |
---|
8551 | | - beq .L1258 |
---|
8552 | | - ldr x0, [x19, 3472] |
---|
8553 | | - str x0, [x29, 128] |
---|
8554 | | - add x0, x29, 152 |
---|
8555 | | - str w2, [x29, 124] |
---|
| 9807 | + ldr x0, [x19, 3592] |
---|
| 9808 | + udiv w23, w21, w1 |
---|
| 9809 | + ldr w2, [x0, w22, uxtw 2] |
---|
| 9810 | + msub w23, w23, w1, w21 |
---|
| 9811 | + sub w0, w1, w23 |
---|
| 9812 | + and w26, w0, 65535 |
---|
| 9813 | + cmp w20, w0, uxth |
---|
| 9814 | + bcs .L1290 |
---|
| 9815 | + and w26, w20, 65535 |
---|
| 9816 | +.L1290: |
---|
| 9817 | + ldr x0, [x19, 3464] |
---|
| 9818 | + cbz w2, .L1291 |
---|
| 9819 | + cmp w1, w26 |
---|
| 9820 | + beq .L1291 |
---|
| 9821 | + str x0, [sp, 128] |
---|
| 9822 | + add x0, sp, 152 |
---|
| 9823 | + str w2, [sp, 124] |
---|
8556 | 9824 | mov w2, 1 |
---|
8557 | | - str x0, [x29, 136] |
---|
8558 | 9825 | mov w1, w2 |
---|
8559 | | - add x0, x29, 120 |
---|
| 9826 | + str x0, [sp, 136] |
---|
| 9827 | + add x0, sp, 120 |
---|
8560 | 9828 | bl FlashReadPages |
---|
8561 | | -.L1259: |
---|
8562 | | - lsl w4, w20, 9 |
---|
8563 | | - ldr x0, [x19, 3472] |
---|
8564 | | - lsl w21, w21, 9 |
---|
| 9829 | +.L1292: |
---|
| 9830 | + lsl w4, w26, 9 |
---|
| 9831 | + sbfiz x23, x23, 9, 23 |
---|
| 9832 | + ldr x0, [x19, 3464] |
---|
8565 | 9833 | mov w2, w4 |
---|
8566 | | - asr w21, w21, 2 |
---|
8567 | | - mov x1, x25 |
---|
8568 | | - str w4, [x29, 108] |
---|
8569 | | - add x0, x0, x21, sxtw 2 |
---|
| 9834 | + mov x1, x24 |
---|
| 9835 | + str w4, [sp, 108] |
---|
| 9836 | + add x0, x0, x23 |
---|
8570 | 9837 | bl ftl_memcpy |
---|
8571 | | - sub w28, w28, w20 |
---|
8572 | | - ldr x2, [x19, 3472] |
---|
8573 | | - mov w1, w23 |
---|
| 9838 | + ldr x2, [x19, 3464] |
---|
| 9839 | + mov w1, w22 |
---|
8574 | 9840 | mov x0, x27 |
---|
8575 | | - add w26, w26, w20 |
---|
8576 | | - add w23, w23, 1 |
---|
| 9841 | + sub w20, w20, w26 |
---|
| 9842 | + add w21, w21, w26 |
---|
| 9843 | + add w22, w22, 1 |
---|
8577 | 9844 | bl FtlMapWritePage |
---|
| 9845 | + ldr w4, [sp, 108] |
---|
8578 | 9846 | cmn w0, #1 |
---|
8579 | | - ldr w4, [x29, 108] |
---|
8580 | | - csinv w24, w24, wzr, ne |
---|
8581 | | - add x25, x25, x4, sxtw |
---|
8582 | | - b .L1256 |
---|
8583 | | -.L1258: |
---|
| 9847 | + csel w25, w25, w28, ne |
---|
| 9848 | + add x24, x24, w4, sxtw |
---|
| 9849 | + b .L1289 |
---|
| 9850 | +.L1291: |
---|
8584 | 9851 | ldrh w2, [x19, 314] |
---|
8585 | 9852 | mov w1, 0 |
---|
8586 | | - ldr x0, [x19, 3472] |
---|
8587 | 9853 | bl ftl_memset |
---|
8588 | | - b .L1259 |
---|
8589 | | -.L1263: |
---|
8590 | | - mov w24, -1 |
---|
8591 | | - b .L1254 |
---|
8592 | | -.L1262: |
---|
| 9854 | + b .L1292 |
---|
| 9855 | +.L1296: |
---|
| 9856 | + mov w25, -1 |
---|
| 9857 | + b .L1287 |
---|
| 9858 | +.L1295: |
---|
| 9859 | + mov w0, w25 |
---|
8593 | 9860 | ldp x19, x20, [sp, 16] |
---|
8594 | 9861 | ldp x21, x22, [sp, 32] |
---|
8595 | 9862 | ldp x23, x24, [sp, 48] |
---|
8596 | 9863 | ldp x25, x26, [sp, 64] |
---|
8597 | 9864 | ldp x27, x28, [sp, 80] |
---|
8598 | 9865 | ldp x29, x30, [sp], 224 |
---|
| 9866 | + hint 29 // autiasp |
---|
8599 | 9867 | ret |
---|
8600 | 9868 | .size FtlVendorPartWrite, .-FtlVendorPartWrite |
---|
8601 | 9869 | .align 2 |
---|
8602 | 9870 | .global Ftl_save_ext_data |
---|
8603 | 9871 | .type Ftl_save_ext_data, %function |
---|
8604 | 9872 | Ftl_save_ext_data: |
---|
| 9873 | + hint 34 // bti c |
---|
| 9874 | + .section __patchable_function_entries |
---|
| 9875 | + .align 3 |
---|
| 9876 | + .8byte .LPFE103 |
---|
| 9877 | + .text |
---|
| 9878 | +.LPFE103: |
---|
| 9879 | + nop |
---|
| 9880 | + nop |
---|
8605 | 9881 | adrp x0, .LANCHOR0 |
---|
8606 | 9882 | add x0, x0, :lo12:.LANCHOR0 |
---|
8607 | 9883 | mov w1, 19539 |
---|
8608 | 9884 | movk w1, 0x4654, lsl 16 |
---|
8609 | 9885 | ldr w3, [x0, 2712] |
---|
8610 | 9886 | cmp w3, w1 |
---|
8611 | | - bne .L1271 |
---|
8612 | | - stp x29, x30, [sp, -16]! |
---|
| 9887 | + bne .L1304 |
---|
8613 | 9888 | add x2, x0, 2712 |
---|
| 9889 | + hint 25 // paciasp |
---|
| 9890 | + stp x29, x30, [sp, -16]! |
---|
8614 | 9891 | mov w1, 87 |
---|
8615 | | - add x29, sp, 0 |
---|
8616 | 9892 | movk w1, 0x5000, lsl 16 |
---|
| 9893 | + mov x29, sp |
---|
8617 | 9894 | str w1, [x2, 4] |
---|
8618 | 9895 | ldr w1, [x0, 2652] |
---|
8619 | 9896 | str w1, [x2, 88] |
---|
.. | .. |
---|
8642 | 9919 | mov w0, 0 |
---|
8643 | 9920 | bl FtlVendorPartWrite |
---|
8644 | 9921 | ldp x29, x30, [sp], 16 |
---|
| 9922 | + hint 29 // autiasp |
---|
8645 | 9923 | ret |
---|
8646 | | -.L1271: |
---|
| 9924 | +.L1304: |
---|
8647 | 9925 | ret |
---|
8648 | 9926 | .size Ftl_save_ext_data, .-Ftl_save_ext_data |
---|
8649 | 9927 | .align 2 |
---|
8650 | 9928 | .global FtlEctTblFlush |
---|
8651 | 9929 | .type FtlEctTblFlush, %function |
---|
8652 | 9930 | FtlEctTblFlush: |
---|
8653 | | - adrp x1, .LANCHOR0 |
---|
8654 | | - add x3, x1, :lo12:.LANCHOR0 |
---|
8655 | | - ldrh w2, [x3, 3952] |
---|
8656 | | - cmp w2, 31 |
---|
8657 | | - bhi .L1278 |
---|
8658 | | - add w2, w2, 1 |
---|
8659 | | - strh w2, [x3, 3952] |
---|
8660 | | - mov w2, 1 |
---|
8661 | | -.L1275: |
---|
8662 | | - cbnz w0, .L1276 |
---|
8663 | | - add x0, x1, :lo12:.LANCHOR0 |
---|
8664 | | - ldr x0, [x0, 3552] |
---|
8665 | | - ldr w3, [x0, 20] |
---|
8666 | | - ldr w0, [x0, 16] |
---|
8667 | | - add w2, w2, w3 |
---|
8668 | | - cmp w0, w2 |
---|
8669 | | - bcc .L1280 |
---|
8670 | | -.L1276: |
---|
8671 | | - add x0, x1, :lo12:.LANCHOR0 |
---|
| 9931 | + hint 34 // bti c |
---|
| 9932 | + .section __patchable_function_entries |
---|
| 9933 | + .align 3 |
---|
| 9934 | + .8byte .LPFE104 |
---|
| 9935 | + .text |
---|
| 9936 | +.LPFE104: |
---|
| 9937 | + nop |
---|
| 9938 | + nop |
---|
| 9939 | + adrp x2, .LANCHOR0 |
---|
| 9940 | + add x2, x2, :lo12:.LANCHOR0 |
---|
| 9941 | + ldrh w1, [x2, 3944] |
---|
| 9942 | + cmp w1, 31 |
---|
| 9943 | + bhi .L1311 |
---|
| 9944 | + add w1, w1, 1 |
---|
| 9945 | + mov w3, 1 |
---|
| 9946 | + strh w1, [x2, 3944] |
---|
| 9947 | +.L1308: |
---|
| 9948 | + ldr x1, [x2, 3544] |
---|
| 9949 | + ldr w4, [x1, 16] |
---|
| 9950 | + cbnz w0, .L1309 |
---|
| 9951 | + ldr w0, [x1, 20] |
---|
| 9952 | + add w3, w3, w0 |
---|
| 9953 | + cmp w3, w4 |
---|
| 9954 | + bhi .L1313 |
---|
| 9955 | +.L1309: |
---|
| 9956 | + hint 25 // paciasp |
---|
8672 | 9957 | stp x29, x30, [sp, -16]! |
---|
8673 | | - add x29, sp, 0 |
---|
8674 | | - ldr x1, [x0, 3552] |
---|
8675 | | - ldr w2, [x1, 16] |
---|
8676 | | - str w2, [x1, 20] |
---|
8677 | | - mov w2, 17221 |
---|
8678 | | - movk w2, 0x4254, lsl 16 |
---|
8679 | | - str w2, [x1] |
---|
8680 | | - ldr x2, [x0, 3552] |
---|
8681 | | - ldrh w1, [x0, 3536] |
---|
| 9958 | + mov w0, 17221 |
---|
| 9959 | + mov x29, sp |
---|
| 9960 | + movk w0, 0x4254, lsl 16 |
---|
| 9961 | + str w0, [x1] |
---|
| 9962 | + str w4, [x1, 20] |
---|
| 9963 | + ldr x0, [x2, 3544] |
---|
| 9964 | + ldrh w1, [x2, 3528] |
---|
| 9965 | + str wzr, [x0, 4] |
---|
8682 | 9966 | lsl w3, w1, 9 |
---|
8683 | | - str wzr, [x2, 4] |
---|
8684 | | - str w3, [x2, 12] |
---|
8685 | | - ldr w3, [x2, 8] |
---|
| 9967 | + str w3, [x0, 12] |
---|
| 9968 | + ldr w3, [x0, 8] |
---|
| 9969 | + ldr x2, [x2, 3544] |
---|
8686 | 9970 | add w3, w3, 1 |
---|
8687 | | - str w3, [x2, 8] |
---|
8688 | | - ldr x2, [x0, 3552] |
---|
| 9971 | + str w3, [x0, 8] |
---|
8689 | 9972 | mov w0, 64 |
---|
8690 | 9973 | bl FtlVendorPartWrite |
---|
8691 | 9974 | bl Ftl_save_ext_data |
---|
8692 | 9975 | mov w0, 0 |
---|
8693 | 9976 | ldp x29, x30, [sp], 16 |
---|
| 9977 | + hint 29 // autiasp |
---|
8694 | 9978 | ret |
---|
8695 | | -.L1278: |
---|
8696 | | - mov w2, 32 |
---|
8697 | | - b .L1275 |
---|
8698 | | -.L1280: |
---|
| 9979 | +.L1311: |
---|
| 9980 | + mov w3, 32 |
---|
| 9981 | + b .L1308 |
---|
| 9982 | +.L1313: |
---|
8699 | 9983 | mov w0, 0 |
---|
8700 | 9984 | ret |
---|
8701 | 9985 | .size FtlEctTblFlush, .-FtlEctTblFlush |
---|
.. | .. |
---|
8703 | 9987 | .global sftl_vendor_write |
---|
8704 | 9988 | .type sftl_vendor_write, %function |
---|
8705 | 9989 | sftl_vendor_write: |
---|
| 9990 | + hint 34 // bti c |
---|
| 9991 | + .section __patchable_function_entries |
---|
| 9992 | + .align 3 |
---|
| 9993 | + .8byte .LPFE105 |
---|
| 9994 | + .text |
---|
| 9995 | +.LPFE105: |
---|
| 9996 | + nop |
---|
| 9997 | + nop |
---|
| 9998 | + hint 25 // paciasp |
---|
8706 | 9999 | stp x29, x30, [sp, -16]! |
---|
8707 | 10000 | add w0, w0, 256 |
---|
8708 | | - add x29, sp, 0 |
---|
| 10001 | + mov x29, sp |
---|
8709 | 10002 | bl FtlVendorPartWrite |
---|
8710 | 10003 | ldp x29, x30, [sp], 16 |
---|
| 10004 | + hint 29 // autiasp |
---|
8711 | 10005 | ret |
---|
8712 | 10006 | .size sftl_vendor_write, .-sftl_vendor_write |
---|
| 10007 | + .section .rodata.str1.1 |
---|
| 10008 | +.LC119: |
---|
| 10009 | + .string "FtlVendorPartRead refresh = %x phyAddr = %x\n" |
---|
| 10010 | + .text |
---|
8713 | 10011 | .align 2 |
---|
8714 | 10012 | .global FtlVendorPartRead |
---|
8715 | 10013 | .type FtlVendorPartRead, %function |
---|
8716 | 10014 | FtlVendorPartRead: |
---|
| 10015 | + hint 34 // bti c |
---|
| 10016 | + .section __patchable_function_entries |
---|
| 10017 | + .align 3 |
---|
| 10018 | + .8byte .LPFE106 |
---|
| 10019 | + .text |
---|
| 10020 | +.LPFE106: |
---|
| 10021 | + nop |
---|
| 10022 | + nop |
---|
| 10023 | + hint 25 // paciasp |
---|
8717 | 10024 | stp x29, x30, [sp, -224]! |
---|
8718 | 10025 | adrp x3, .LANCHOR0 |
---|
8719 | | - add x3, x3, :lo12:.LANCHOR0 |
---|
8720 | | - add x29, sp, 0 |
---|
8721 | | - stp x21, x22, [sp, 32] |
---|
8722 | | - mov w22, w1 |
---|
8723 | | - stp x23, x24, [sp, 48] |
---|
8724 | | - mov w23, w0 |
---|
8725 | | - stp x25, x26, [sp, 64] |
---|
8726 | | - adrp x0, __stack_chk_guard |
---|
8727 | | - stp x19, x20, [sp, 16] |
---|
8728 | | - add x1, x0, :lo12:__stack_chk_guard |
---|
| 10026 | + mov x29, sp |
---|
8729 | 10027 | stp x27, x28, [sp, 80] |
---|
8730 | | - mov x25, x2 |
---|
8731 | | - str x0, [x29, 104] |
---|
8732 | | - ldr x2, [x1] |
---|
8733 | | - str x2, [x29, 216] |
---|
8734 | | - mov x2,0 |
---|
8735 | | - ldrh w1, [x3, 300] |
---|
8736 | | - add w2, w23, w22 |
---|
8737 | | - cmp w2, w1 |
---|
8738 | | - bhi .L1294 |
---|
8739 | | - ldrh w21, [x3, 312] |
---|
8740 | | - adrp x26, .LC118 |
---|
8741 | | - mov x28, x3 |
---|
8742 | | - add x26, x26, :lo12:.LC118 |
---|
| 10028 | + add x28, x3, :lo12:.LANCHOR0 |
---|
| 10029 | + stp x19, x20, [sp, 16] |
---|
| 10030 | + mov w20, w0 |
---|
| 10031 | + mrs x0, sp_el0 |
---|
| 10032 | + stp x21, x22, [sp, 32] |
---|
| 10033 | + mov w19, w1 |
---|
| 10034 | + ldrh w21, [x28, 312] |
---|
| 10035 | + stp x23, x24, [sp, 48] |
---|
| 10036 | + stp x25, x26, [sp, 64] |
---|
| 10037 | + lsr w21, w20, w21 |
---|
| 10038 | + ldr x1, [x0, 1376] |
---|
| 10039 | + str x1, [sp, 216] |
---|
| 10040 | + mov x1, 0 |
---|
| 10041 | + ldrh w0, [x28, 300] |
---|
| 10042 | + add w1, w20, w19 |
---|
| 10043 | + cmp w1, w0 |
---|
| 10044 | + bhi .L1327 |
---|
| 10045 | + adrp x26, .LC119 |
---|
| 10046 | + mov x22, x2 |
---|
| 10047 | + add x26, x26, :lo12:.LC119 |
---|
8743 | 10048 | mov w24, 0 |
---|
8744 | | - lsr w21, w23, w21 |
---|
8745 | | -.L1286: |
---|
8746 | | - cbnz w22, .L1292 |
---|
8747 | | -.L1284: |
---|
8748 | | - ldr x1, [x29, 104] |
---|
8749 | | - mov w0, w24 |
---|
8750 | | - add x1, x1, :lo12:__stack_chk_guard |
---|
8751 | | - ldr x2, [x29, 216] |
---|
8752 | | - ldr x1, [x1] |
---|
8753 | | - eor x1, x2, x1 |
---|
8754 | | - cbz x1, .L1293 |
---|
| 10049 | +.L1319: |
---|
| 10050 | + cbnz w19, .L1325 |
---|
| 10051 | +.L1317: |
---|
| 10052 | + mrs x0, sp_el0 |
---|
| 10053 | + ldr x1, [sp, 216] |
---|
| 10054 | + ldr x2, [x0, 1376] |
---|
| 10055 | + subs x1, x1, x2 |
---|
| 10056 | + mov x2, 0 |
---|
| 10057 | + beq .L1326 |
---|
8755 | 10058 | bl __stack_chk_fail |
---|
8756 | | -.L1292: |
---|
8757 | | - ldrh w19, [x28, 262] |
---|
8758 | | - ldr x0, [x28, 3600] |
---|
8759 | | - udiv w20, w23, w19 |
---|
| 10059 | +.L1325: |
---|
| 10060 | + ldr x0, [x28, 3592] |
---|
8760 | 10061 | ldr w4, [x0, w21, uxtw 2] |
---|
8761 | | - and w0, w22, 65535 |
---|
8762 | | - msub w20, w20, w19, w23 |
---|
8763 | | - sub w19, w19, w20 |
---|
8764 | | - and w19, w19, 65535 |
---|
8765 | | - cmp w22, w19 |
---|
8766 | | - csel w19, w0, w19, cc |
---|
8767 | | - lsl w27, w19, 9 |
---|
8768 | | - cbz w4, .L1288 |
---|
8769 | | - ldr x0, [x28, 3472] |
---|
| 10062 | + ldrh w0, [x28, 262] |
---|
| 10063 | + udiv w23, w20, w0 |
---|
| 10064 | + msub w23, w23, w0, w20 |
---|
| 10065 | + sub w0, w0, w23 |
---|
| 10066 | + and w25, w0, 65535 |
---|
| 10067 | + cmp w19, w0, uxth |
---|
| 10068 | + bcs .L1320 |
---|
| 10069 | + and w25, w19, 65535 |
---|
| 10070 | +.L1320: |
---|
| 10071 | + lsl w27, w25, 9 |
---|
| 10072 | + cbz w4, .L1321 |
---|
| 10073 | + ldr x0, [x28, 3464] |
---|
| 10074 | + str x0, [sp, 128] |
---|
| 10075 | + add x0, sp, 152 |
---|
8770 | 10076 | mov w2, 1 |
---|
8771 | | - str x0, [x29, 128] |
---|
8772 | | - add x0, x29, 152 |
---|
8773 | | - str w4, [x29, 100] |
---|
8774 | 10077 | mov w1, w2 |
---|
8775 | | - str w4, [x29, 124] |
---|
8776 | | - str x0, [x29, 136] |
---|
8777 | | - add x0, x29, 120 |
---|
| 10078 | + str w4, [sp, 108] |
---|
| 10079 | + str w4, [sp, 124] |
---|
| 10080 | + str x0, [sp, 136] |
---|
| 10081 | + add x0, sp, 120 |
---|
8778 | 10082 | bl FlashReadPages |
---|
8779 | | - ldr w0, [x29, 120] |
---|
8780 | | - ldr w4, [x29, 100] |
---|
| 10083 | + ldr w0, [sp, 120] |
---|
| 10084 | + ldr w4, [sp, 108] |
---|
8781 | 10085 | cmn w0, #1 |
---|
8782 | | - ldr w0, [x28, 3720] |
---|
| 10086 | + ldr w0, [x28, 3712] |
---|
8783 | 10087 | csinv w24, w24, wzr, ne |
---|
8784 | 10088 | cmp w0, 256 |
---|
8785 | | - bne .L1290 |
---|
| 10089 | + bne .L1323 |
---|
8786 | 10090 | mov w2, w4 |
---|
8787 | 10091 | mov w1, w21 |
---|
8788 | 10092 | mov x0, x26 |
---|
8789 | 10093 | bl sftl_printk |
---|
8790 | | - ldr x2, [x28, 3472] |
---|
| 10094 | + ldr x2, [x28, 3464] |
---|
8791 | 10095 | mov w1, w21 |
---|
8792 | | - add x0, x28, 3888 |
---|
| 10096 | + add x0, x28, 3880 |
---|
8793 | 10097 | bl FtlMapWritePage |
---|
8794 | | -.L1290: |
---|
8795 | | - ldr x1, [x28, 3472] |
---|
8796 | | - lsl w20, w20, 9 |
---|
8797 | | - asr w20, w20, 2 |
---|
| 10098 | +.L1323: |
---|
| 10099 | + ldr x1, [x28, 3464] |
---|
| 10100 | + sbfiz x23, x23, 9, 23 |
---|
8798 | 10101 | mov w2, w27 |
---|
8799 | | - mov x0, x25 |
---|
8800 | | - add x1, x1, x20, sxtw 2 |
---|
| 10102 | + mov x0, x22 |
---|
| 10103 | + add x1, x1, x23 |
---|
8801 | 10104 | bl ftl_memcpy |
---|
8802 | | -.L1291: |
---|
| 10105 | +.L1324: |
---|
8803 | 10106 | add w21, w21, 1 |
---|
8804 | | - sub w22, w22, w19 |
---|
8805 | | - add w23, w23, w19 |
---|
8806 | | - add x25, x25, x27, sxtw |
---|
8807 | | - b .L1286 |
---|
8808 | | -.L1288: |
---|
| 10107 | + sub w19, w19, w25 |
---|
| 10108 | + add w20, w20, w25 |
---|
| 10109 | + add x22, x22, w27, sxtw |
---|
| 10110 | + b .L1319 |
---|
| 10111 | +.L1321: |
---|
8809 | 10112 | mov w2, w27 |
---|
| 10113 | + mov x0, x22 |
---|
8810 | 10114 | mov w1, 0 |
---|
8811 | | - mov x0, x25 |
---|
8812 | 10115 | bl ftl_memset |
---|
8813 | | - b .L1291 |
---|
8814 | | -.L1294: |
---|
| 10116 | + b .L1324 |
---|
| 10117 | +.L1327: |
---|
8815 | 10118 | mov w24, -1 |
---|
8816 | | - b .L1284 |
---|
8817 | | -.L1293: |
---|
| 10119 | + b .L1317 |
---|
| 10120 | +.L1326: |
---|
| 10121 | + mov w0, w24 |
---|
8818 | 10122 | ldp x19, x20, [sp, 16] |
---|
8819 | 10123 | ldp x21, x22, [sp, 32] |
---|
8820 | 10124 | ldp x23, x24, [sp, 48] |
---|
8821 | 10125 | ldp x25, x26, [sp, 64] |
---|
8822 | 10126 | ldp x27, x28, [sp, 80] |
---|
8823 | 10127 | ldp x29, x30, [sp], 224 |
---|
| 10128 | + hint 29 // autiasp |
---|
8824 | 10129 | ret |
---|
8825 | 10130 | .size FtlVendorPartRead, .-FtlVendorPartRead |
---|
| 10131 | + .section .rodata.str1.1 |
---|
| 10132 | +.LC120: |
---|
| 10133 | + .string "no ect" |
---|
| 10134 | + .text |
---|
8826 | 10135 | .align 2 |
---|
8827 | 10136 | .global FtlLoadEctTbl |
---|
8828 | 10137 | .type FtlLoadEctTbl, %function |
---|
8829 | 10138 | FtlLoadEctTbl: |
---|
| 10139 | + hint 34 // bti c |
---|
| 10140 | + .section __patchable_function_entries |
---|
| 10141 | + .align 3 |
---|
| 10142 | + .8byte .LPFE107 |
---|
| 10143 | + .text |
---|
| 10144 | +.LPFE107: |
---|
| 10145 | + nop |
---|
| 10146 | + nop |
---|
| 10147 | + hint 25 // paciasp |
---|
8830 | 10148 | stp x29, x30, [sp, -32]! |
---|
8831 | 10149 | mov w0, 64 |
---|
8832 | | - add x29, sp, 0 |
---|
| 10150 | + mov x29, sp |
---|
8833 | 10151 | str x19, [sp, 16] |
---|
8834 | 10152 | adrp x19, .LANCHOR0 |
---|
8835 | 10153 | add x19, x19, :lo12:.LANCHOR0 |
---|
8836 | | - ldrh w1, [x19, 3536] |
---|
8837 | | - ldr x2, [x19, 3552] |
---|
| 10154 | + ldrh w1, [x19, 3528] |
---|
| 10155 | + ldr x2, [x19, 3544] |
---|
8838 | 10156 | bl FtlVendorPartRead |
---|
8839 | | - ldr x0, [x19, 3552] |
---|
| 10157 | + ldr x0, [x19, 3544] |
---|
8840 | 10158 | ldr w1, [x0] |
---|
8841 | 10159 | mov w0, 17221 |
---|
8842 | 10160 | movk w0, 0x4254, lsl 16 |
---|
8843 | 10161 | cmp w1, w0 |
---|
8844 | | - beq .L1297 |
---|
8845 | | - adrp x1, .LC119 |
---|
8846 | | - adrp x0, .LC77 |
---|
8847 | | - add x1, x1, :lo12:.LC119 |
---|
8848 | | - add x0, x0, :lo12:.LC77 |
---|
| 10162 | + beq .L1330 |
---|
| 10163 | + adrp x1, .LC120 |
---|
| 10164 | + adrp x0, .LC78 |
---|
| 10165 | + add x1, x1, :lo12:.LC120 |
---|
| 10166 | + add x0, x0, :lo12:.LC78 |
---|
8849 | 10167 | bl sftl_printk |
---|
8850 | | - ldr x0, [x19, 3552] |
---|
| 10168 | + ldr x0, [x19, 3544] |
---|
8851 | 10169 | mov w1, 0 |
---|
8852 | | - ldrh w2, [x19, 3536] |
---|
| 10170 | + ldrh w2, [x19, 3528] |
---|
8853 | 10171 | lsl w2, w2, 9 |
---|
8854 | 10172 | bl ftl_memset |
---|
8855 | | -.L1297: |
---|
| 10173 | +.L1330: |
---|
8856 | 10174 | mov w0, 0 |
---|
8857 | 10175 | ldr x19, [sp, 16] |
---|
8858 | 10176 | ldp x29, x30, [sp], 32 |
---|
| 10177 | + hint 29 // autiasp |
---|
8859 | 10178 | ret |
---|
8860 | 10179 | .size FtlLoadEctTbl, .-FtlLoadEctTbl |
---|
8861 | 10180 | .align 2 |
---|
8862 | 10181 | .global Ftl_load_ext_data |
---|
8863 | 10182 | .type Ftl_load_ext_data, %function |
---|
8864 | 10183 | Ftl_load_ext_data: |
---|
| 10184 | + hint 34 // bti c |
---|
| 10185 | + .section __patchable_function_entries |
---|
| 10186 | + .align 3 |
---|
| 10187 | + .8byte .LPFE108 |
---|
| 10188 | + .text |
---|
| 10189 | +.LPFE108: |
---|
| 10190 | + nop |
---|
| 10191 | + nop |
---|
| 10192 | + hint 25 // paciasp |
---|
8865 | 10193 | stp x29, x30, [sp, -48]! |
---|
8866 | 10194 | mov w1, 1 |
---|
8867 | | - mov w0, 0 |
---|
8868 | | - add x29, sp, 0 |
---|
| 10195 | + mov x29, sp |
---|
8869 | 10196 | stp x19, x20, [sp, 16] |
---|
8870 | 10197 | adrp x19, .LANCHOR0 |
---|
8871 | | - add x20, x19, :lo12:.LANCHOR0 |
---|
8872 | | - stp x21, x22, [sp, 32] |
---|
8873 | | - add x22, x20, 2712 |
---|
8874 | | - mov w21, 19539 |
---|
8875 | | - mov x2, x22 |
---|
| 10198 | + add x19, x19, :lo12:.LANCHOR0 |
---|
| 10199 | + str x21, [sp, 32] |
---|
| 10200 | + add x21, x19, 2712 |
---|
| 10201 | + mov x2, x21 |
---|
| 10202 | + mov w0, 0 |
---|
8876 | 10203 | bl FtlVendorPartRead |
---|
8877 | | - ldr w0, [x20, 2712] |
---|
8878 | | - movk w21, 0x4654, lsl 16 |
---|
8879 | | - cmp w0, w21 |
---|
8880 | | - beq .L1300 |
---|
| 10204 | + mov w20, 19539 |
---|
| 10205 | + ldr w0, [x19, 2712] |
---|
| 10206 | + movk w20, 0x4654, lsl 16 |
---|
| 10207 | + cmp w0, w20 |
---|
| 10208 | + beq .L1333 |
---|
| 10209 | + mov x0, x21 |
---|
8881 | 10210 | mov w2, 512 |
---|
8882 | 10211 | mov w1, 0 |
---|
8883 | | - mov x0, x22 |
---|
8884 | 10212 | bl ftl_memset |
---|
8885 | | - str w21, [x20, 2712] |
---|
8886 | | -.L1300: |
---|
8887 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
8888 | | - mov w2, 19539 |
---|
8889 | | - movk w2, 0x4654, lsl 16 |
---|
8890 | | - ldr w3, [x0, 2712] |
---|
8891 | | - cmp w3, w2 |
---|
8892 | | - bne .L1301 |
---|
8893 | | - ldr w2, [x0, 2800] |
---|
8894 | | - str w2, [x0, 2652] |
---|
8895 | | - ldr w2, [x0, 2804] |
---|
8896 | | - str w2, [x0, 2656] |
---|
8897 | | - ldr w2, [x0, 2720] |
---|
8898 | | - str w2, [x0, 2648] |
---|
8899 | | - ldr w2, [x0, 2724] |
---|
8900 | | - str w2, [x0, 2636] |
---|
8901 | | - ldr w2, [x0, 2728] |
---|
8902 | | - str w2, [x0, 2628] |
---|
8903 | | - ldr w2, [x0, 2732] |
---|
8904 | | - str w2, [x0, 2644] |
---|
8905 | | - ldr w2, [x0, 2740] |
---|
8906 | | - str w2, [x0, 2672] |
---|
8907 | | - ldr w2, [x0, 2744] |
---|
8908 | | - str w2, [x0, 2680] |
---|
8909 | | - ldr w2, [x0, 2748] |
---|
8910 | | - str w2, [x0, 2632] |
---|
8911 | | - ldr w2, [x0, 2752] |
---|
8912 | | - ldr w1, [x0, 2760] |
---|
8913 | | - str w2, [x0, 2640] |
---|
8914 | | - ldr w2, [x0, 2756] |
---|
8915 | | - str w1, [x0, 2688] |
---|
8916 | | - str w2, [x0, 2684] |
---|
8917 | | -.L1301: |
---|
8918 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
8919 | | - ldr w2, [x0, 2672] |
---|
8920 | | - ldrh w1, [x0, 296] |
---|
8921 | | - ldr w3, [x0, 2668] |
---|
8922 | | - madd w1, w1, w3, w2 |
---|
8923 | | - ldrh w2, [x0, 244] |
---|
8924 | | - udiv w1, w1, w2 |
---|
8925 | | - str w1, [x0, 2676] |
---|
| 10213 | + str w20, [x19, 2712] |
---|
| 10214 | +.L1333: |
---|
| 10215 | + ldr w1, [x19, 2800] |
---|
| 10216 | + str w1, [x19, 2652] |
---|
| 10217 | + ldr w1, [x19, 2804] |
---|
| 10218 | + ldr w2, [x19, 2744] |
---|
| 10219 | + str w1, [x19, 2656] |
---|
| 10220 | + ldr w1, [x19, 2720] |
---|
| 10221 | + str w1, [x19, 2648] |
---|
| 10222 | + ldr w1, [x19, 2724] |
---|
| 10223 | + str w2, [x19, 2680] |
---|
| 10224 | + ldr w2, [x19, 2748] |
---|
| 10225 | + str w2, [x19, 2632] |
---|
| 10226 | + ldr w2, [x19, 2752] |
---|
| 10227 | + str w1, [x19, 2636] |
---|
| 10228 | + ldr w1, [x19, 2728] |
---|
| 10229 | + ldr w0, [x19, 2760] |
---|
| 10230 | + str w1, [x19, 2628] |
---|
| 10231 | + ldr w1, [x19, 2732] |
---|
| 10232 | + str w2, [x19, 2640] |
---|
| 10233 | + ldr w2, [x19, 2756] |
---|
| 10234 | + str w1, [x19, 2644] |
---|
| 10235 | + ldr w1, [x19, 2740] |
---|
| 10236 | + str w2, [x19, 2684] |
---|
| 10237 | + ldr w2, [x19, 2668] |
---|
| 10238 | + str w0, [x19, 2688] |
---|
| 10239 | + ldrh w0, [x19, 296] |
---|
| 10240 | + str w1, [x19, 2672] |
---|
| 10241 | + ldr x21, [sp, 32] |
---|
| 10242 | + madd w0, w0, w2, w1 |
---|
| 10243 | + ldrh w1, [x19, 244] |
---|
| 10244 | + udiv w0, w0, w1 |
---|
| 10245 | + str w0, [x19, 2676] |
---|
8926 | 10246 | ldp x19, x20, [sp, 16] |
---|
8927 | | - ldp x21, x22, [sp, 32] |
---|
8928 | 10247 | ldp x29, x30, [sp], 48 |
---|
| 10248 | + hint 29 // autiasp |
---|
8929 | 10249 | ret |
---|
8930 | 10250 | .size Ftl_load_ext_data, .-Ftl_load_ext_data |
---|
8931 | 10251 | .align 2 |
---|
8932 | 10252 | .global sftl_vendor_read |
---|
8933 | 10253 | .type sftl_vendor_read, %function |
---|
8934 | 10254 | sftl_vendor_read: |
---|
| 10255 | + hint 34 // bti c |
---|
| 10256 | + .section __patchable_function_entries |
---|
| 10257 | + .align 3 |
---|
| 10258 | + .8byte .LPFE109 |
---|
| 10259 | + .text |
---|
| 10260 | +.LPFE109: |
---|
| 10261 | + nop |
---|
| 10262 | + nop |
---|
| 10263 | + hint 25 // paciasp |
---|
8935 | 10264 | stp x29, x30, [sp, -16]! |
---|
8936 | 10265 | add w0, w0, 256 |
---|
8937 | | - add x29, sp, 0 |
---|
| 10266 | + mov x29, sp |
---|
8938 | 10267 | bl FtlVendorPartRead |
---|
8939 | 10268 | ldp x29, x30, [sp], 16 |
---|
| 10269 | + hint 29 // autiasp |
---|
8940 | 10270 | ret |
---|
8941 | 10271 | .size sftl_vendor_read, .-sftl_vendor_read |
---|
8942 | 10272 | .align 2 |
---|
8943 | 10273 | .global FtlMapBlkWriteDump_data |
---|
8944 | 10274 | .type FtlMapBlkWriteDump_data, %function |
---|
8945 | 10275 | FtlMapBlkWriteDump_data: |
---|
8946 | | - ldr w1, [x0, 56] |
---|
8947 | | - cbz w1, .L1313 |
---|
| 10276 | + hint 34 // bti c |
---|
| 10277 | + .section __patchable_function_entries |
---|
| 10278 | + .align 3 |
---|
| 10279 | + .8byte .LPFE110 |
---|
| 10280 | + .text |
---|
| 10281 | +.LPFE110: |
---|
| 10282 | + nop |
---|
| 10283 | + nop |
---|
| 10284 | + hint 25 // paciasp |
---|
8948 | 10285 | stp x29, x30, [sp, -48]! |
---|
8949 | | - adrp x1, .LANCHOR0 |
---|
8950 | | - add x2, x1, :lo12:.LANCHOR0 |
---|
8951 | | - add x29, sp, 0 |
---|
| 10286 | + mov x29, sp |
---|
8952 | 10287 | stp x19, x20, [sp, 16] |
---|
8953 | 10288 | mov x19, x0 |
---|
8954 | 10289 | str x21, [sp, 32] |
---|
8955 | | - add x0, x2, 3720 |
---|
8956 | | - mov x21, x1 |
---|
8957 | | - ldrh w20, [x19, 6] |
---|
8958 | | - ldr x4, [x2, 3520] |
---|
8959 | | - sub w20, w20, #1 |
---|
8960 | | - ldr x3, [x2, 3464] |
---|
8961 | | - and w20, w20, 65535 |
---|
8962 | | - ldr x5, [x19, 40] |
---|
8963 | | - stp x3, x4, [x0, 8] |
---|
8964 | | - ubfiz x4, x20, 2, 16 |
---|
| 10290 | + ldr w0, [x0, 56] |
---|
| 10291 | + cbz w0, .L1337 |
---|
| 10292 | + ldrh w1, [x19, 6] |
---|
| 10293 | + adrp x20, .LANCHOR0 |
---|
| 10294 | + add x20, x20, :lo12:.LANCHOR0 |
---|
8965 | 10295 | str wzr, [x19, 56] |
---|
8966 | | - ldr w4, [x5, x4] |
---|
8967 | | - str w4, [x0, 4] |
---|
8968 | | - cbz w4, .L1307 |
---|
| 10296 | + sub w1, w1, #1 |
---|
| 10297 | + add x0, x20, 3712 |
---|
| 10298 | + ldr x2, [x19, 40] |
---|
| 10299 | + and w21, w1, 65535 |
---|
| 10300 | + ubfiz x1, x1, 2, 16 |
---|
| 10301 | + ldr x3, [x20, 3456] |
---|
| 10302 | + ldr x4, [x20, 3512] |
---|
| 10303 | + stp x3, x4, [x0, 8] |
---|
| 10304 | + ldr w1, [x2, x1] |
---|
| 10305 | + str w1, [x0, 4] |
---|
| 10306 | + cbz w1, .L1339 |
---|
8969 | 10307 | mov w2, 1 |
---|
8970 | 10308 | mov w1, w2 |
---|
8971 | 10309 | bl FlashReadPages |
---|
8972 | | -.L1308: |
---|
8973 | | - add x1, x21, :lo12:.LANCHOR0 |
---|
| 10310 | +.L1340: |
---|
| 10311 | + ldr x2, [x20, 3720] |
---|
| 10312 | + mov w1, w21 |
---|
8974 | 10313 | mov x0, x19 |
---|
8975 | | - ldr x2, [x1, 3728] |
---|
8976 | | - mov w1, w20 |
---|
8977 | 10314 | bl FtlMapWritePage |
---|
8978 | | - ldr x21, [sp, 32] |
---|
| 10315 | +.L1337: |
---|
8979 | 10316 | ldp x19, x20, [sp, 16] |
---|
| 10317 | + ldr x21, [sp, 32] |
---|
8980 | 10318 | ldp x29, x30, [sp], 48 |
---|
| 10319 | + hint 29 // autiasp |
---|
8981 | 10320 | ret |
---|
8982 | | -.L1307: |
---|
8983 | | - ldrh w2, [x2, 314] |
---|
8984 | | - mov w1, 255 |
---|
| 10321 | +.L1339: |
---|
| 10322 | + ldrh w2, [x20, 314] |
---|
8985 | 10323 | mov x0, x3 |
---|
| 10324 | + mov w1, 255 |
---|
8986 | 10325 | bl ftl_memset |
---|
8987 | | - b .L1308 |
---|
8988 | | -.L1313: |
---|
8989 | | - ret |
---|
| 10326 | + b .L1340 |
---|
8990 | 10327 | .size FtlMapBlkWriteDump_data, .-FtlMapBlkWriteDump_data |
---|
| 10328 | + .section .rodata.str1.1 |
---|
| 10329 | +.LC121: |
---|
| 10330 | + .string "FtlVpcTblFlush error = %x error count = %d\n" |
---|
| 10331 | + .text |
---|
8991 | 10332 | .align 2 |
---|
8992 | 10333 | .global FtlVpcTblFlush |
---|
8993 | 10334 | .type FtlVpcTblFlush, %function |
---|
8994 | 10335 | FtlVpcTblFlush: |
---|
| 10336 | + hint 34 // bti c |
---|
| 10337 | + .section __patchable_function_entries |
---|
| 10338 | + .align 3 |
---|
| 10339 | + .8byte .LPFE111 |
---|
| 10340 | + .text |
---|
| 10341 | +.LPFE111: |
---|
| 10342 | + nop |
---|
| 10343 | + nop |
---|
| 10344 | + hint 25 // paciasp |
---|
8995 | 10345 | stp x29, x30, [sp, -80]! |
---|
8996 | | - add x29, sp, 0 |
---|
| 10346 | + mov x29, sp |
---|
8997 | 10347 | stp x19, x20, [sp, 16] |
---|
| 10348 | + adrp x19, .LANCHOR0 |
---|
| 10349 | + add x19, x19, :lo12:.LANCHOR0 |
---|
8998 | 10350 | stp x21, x22, [sp, 32] |
---|
8999 | | - adrp x22, .LANCHOR0 |
---|
9000 | | - add x19, x22, :lo12:.LANCHOR0 |
---|
9001 | | - stp x25, x26, [sp, 64] |
---|
9002 | | - stp x23, x24, [sp, 48] |
---|
| 10351 | + add x21, x19, 2560 |
---|
9003 | 10352 | add x20, x19, 2512 |
---|
9004 | | - add x23, x19, 2696 |
---|
9005 | | - mov w21, 0 |
---|
9006 | | - ldr x26, [x19, 3520] |
---|
| 10353 | + stp x23, x24, [sp, 48] |
---|
| 10354 | + adrp x23, .LANCHOR1 |
---|
| 10355 | + add x23, x23, :lo12:.LANCHOR1 |
---|
| 10356 | + str x25, [sp, 64] |
---|
| 10357 | + add x23, x23, 471 |
---|
| 10358 | + ldr x22, [x19, 3512] |
---|
| 10359 | + str x22, [x19, 3728] |
---|
| 10360 | + ldr x0, [x19, 3448] |
---|
| 10361 | + str x0, [x19, 3720] |
---|
| 10362 | + ldrh w0, [x21, 136] |
---|
9007 | 10363 | mov w24, 65535 |
---|
9008 | | - ldr x0, [x19, 3456] |
---|
9009 | | - str x0, [x19, 3728] |
---|
9010 | | - ldrh w0, [x19, 2696] |
---|
9011 | | - str x26, [x19, 3736] |
---|
9012 | | - strh w0, [x26, 2] |
---|
| 10364 | + strh w0, [x22, 2] |
---|
9013 | 10365 | mov w0, -3932 |
---|
9014 | | - strh w0, [x26] |
---|
9015 | | - str wzr, [x26, 12] |
---|
9016 | | - ldr w0, [x19, 2704] |
---|
9017 | | - stp w0, wzr, [x26, 4] |
---|
9018 | | - mov w0, 19539 |
---|
9019 | | - ldrh w1, [x19, 24] |
---|
9020 | | - movk w0, 0x4654, lsl 16 |
---|
9021 | | - str w0, [x19, 2512] |
---|
9022 | | - mov w0, 87 |
---|
9023 | | - ldrb w2, [x19, 30] |
---|
9024 | | - strh w1, [x19, 2526] |
---|
9025 | | - movk w0, 0x5000, lsl 16 |
---|
9026 | | - ldrh w1, [x19, 26] |
---|
9027 | | - str w0, [x19, 2516] |
---|
9028 | | - ldrh w0, [x19, 2702] |
---|
| 10366 | + strh w0, [x22] |
---|
| 10367 | + ldr w0, [x21, 144] |
---|
| 10368 | + str w0, [x22, 4] |
---|
| 10369 | + mov x0, 19539 |
---|
| 10370 | + str xzr, [x22, 8] |
---|
| 10371 | + movk x0, 0x4654, lsl 16 |
---|
| 10372 | + ldrb w1, [x19, 30] |
---|
| 10373 | + movk x0, 0x57, lsl 32 |
---|
| 10374 | + movk x0, 0x5000, lsl 48 |
---|
| 10375 | + str x0, [x19, 2512] |
---|
| 10376 | + ldrh w0, [x21, 142] |
---|
9029 | 10377 | strh w0, [x19, 2520] |
---|
9030 | | - orr w1, w2, w1, lsl 6 |
---|
9031 | 10378 | ldrh w0, [x19, 258] |
---|
9032 | 10379 | strb w0, [x19, 2522] |
---|
9033 | | - strh w1, [x19, 2528] |
---|
9034 | | - ldrh w1, [x19, 80] |
---|
9035 | | - ldrb w2, [x19, 86] |
---|
9036 | | - strh w1, [x19, 2530] |
---|
9037 | | - ldrh w1, [x19, 82] |
---|
| 10380 | + ldrh w0, [x19, 24] |
---|
| 10381 | + strh w0, [x19, 2526] |
---|
| 10382 | + ldrh w0, [x19, 26] |
---|
| 10383 | + orr w0, w1, w0, lsl 6 |
---|
| 10384 | + strh w0, [x19, 2528] |
---|
9038 | 10385 | ldrb w0, [x19, 32] |
---|
9039 | 10386 | strb w0, [x19, 2523] |
---|
9040 | | - orr w1, w2, w1, lsl 6 |
---|
| 10387 | + ldrh w0, [x19, 80] |
---|
| 10388 | + ldrb w1, [x19, 86] |
---|
| 10389 | + strh w0, [x19, 2530] |
---|
| 10390 | + ldrh w0, [x19, 82] |
---|
| 10391 | + ldrh w2, [x19, 314] |
---|
| 10392 | + orr w0, w1, w0, lsl 6 |
---|
| 10393 | + strh w0, [x19, 2532] |
---|
9041 | 10394 | ldrb w0, [x19, 88] |
---|
9042 | | - strh w1, [x19, 2532] |
---|
9043 | 10395 | strb w0, [x19, 2524] |
---|
9044 | | - ldrh w1, [x19, 128] |
---|
| 10396 | + ldrh w0, [x19, 128] |
---|
| 10397 | + ldrb w1, [x19, 134] |
---|
| 10398 | + strh w0, [x19, 2534] |
---|
| 10399 | + ldrh w0, [x19, 130] |
---|
| 10400 | + orr w0, w1, w0, lsl 6 |
---|
| 10401 | + strh w0, [x19, 2536] |
---|
9045 | 10402 | ldrb w0, [x19, 136] |
---|
9046 | | - ldrb w2, [x19, 134] |
---|
9047 | | - strh w1, [x19, 2534] |
---|
| 10403 | + mov w1, 255 |
---|
9048 | 10404 | strb w0, [x19, 2525] |
---|
9049 | | - ldrh w1, [x19, 130] |
---|
9050 | 10405 | ldr w0, [x19, 2668] |
---|
9051 | 10406 | str w0, [x19, 2544] |
---|
9052 | 10407 | ldr w0, [x19, 2660] |
---|
9053 | | - orr w1, w2, w1, lsl 6 |
---|
9054 | 10408 | str w0, [x19, 2552] |
---|
9055 | 10409 | ldr w0, [x19, 2664] |
---|
9056 | | - ldrh w2, [x19, 314] |
---|
9057 | 10410 | str w0, [x19, 2548] |
---|
9058 | | - ldr x0, [x19, 3728] |
---|
9059 | | - strh w1, [x19, 2536] |
---|
9060 | | - mov w1, 255 |
---|
| 10411 | + ldr x0, [x19, 3720] |
---|
9061 | 10412 | bl ftl_memset |
---|
9062 | | - ldr x0, [x19, 3728] |
---|
| 10413 | + ldr x0, [x19, 3720] |
---|
9063 | 10414 | mov x1, x20 |
---|
9064 | 10415 | mov w2, 48 |
---|
9065 | | - mov x20, x23 |
---|
9066 | | - adrp x23, .LANCHOR1 |
---|
9067 | | - add x23, x23, :lo12:.LANCHOR1 |
---|
9068 | | - add x23, x23, 560 |
---|
| 10416 | + mov w20, 0 |
---|
9069 | 10417 | bl ftl_memcpy |
---|
9070 | 10418 | ldrh w2, [x19, 244] |
---|
9071 | 10419 | ldr x1, [x19, 72] |
---|
9072 | | - ldr x0, [x19, 3728] |
---|
| 10420 | + ldr x0, [x19, 3720] |
---|
9073 | 10421 | lsl w2, w2, 1 |
---|
9074 | 10422 | add x0, x0, 48 |
---|
9075 | 10423 | bl ftl_memcpy |
---|
9076 | 10424 | mov w0, 0 |
---|
9077 | 10425 | bl FtlUpdateVaildLpn |
---|
9078 | | -.L1317: |
---|
9079 | | - ldrh w2, [x20, 2] |
---|
9080 | | - ldrh w1, [x20] |
---|
9081 | | - ldr x0, [x19, 3456] |
---|
| 10426 | +.L1346: |
---|
| 10427 | + ldrh w1, [x21, 136] |
---|
| 10428 | + ldrh w2, [x21, 138] |
---|
| 10429 | + ldr x0, [x19, 3448] |
---|
| 10430 | + str x0, [x19, 3720] |
---|
| 10431 | + ldr x0, [x19, 3512] |
---|
9082 | 10432 | str x0, [x19, 3728] |
---|
9083 | | - ldr x0, [x19, 3520] |
---|
9084 | | - str x0, [x19, 3736] |
---|
9085 | 10433 | orr w0, w2, w1, lsl 10 |
---|
9086 | | - str w0, [x19, 3724] |
---|
| 10434 | + str w0, [x19, 3716] |
---|
9087 | 10435 | ldrh w0, [x19, 308] |
---|
9088 | 10436 | sub w0, w0, #1 |
---|
9089 | 10437 | cmp w2, w0 |
---|
9090 | | - blt .L1318 |
---|
9091 | | - ldrh w24, [x20, 4] |
---|
9092 | | - strh wzr, [x20, 2] |
---|
9093 | | - strh w1, [x20, 4] |
---|
| 10438 | + blt .L1347 |
---|
| 10439 | + ldrh w24, [x21, 140] |
---|
| 10440 | + strh wzr, [x21, 138] |
---|
| 10441 | + strh w1, [x21, 140] |
---|
9094 | 10442 | bl FtlFreeSysBlkQueueOut |
---|
9095 | 10443 | ldr w1, [x19, 2660] |
---|
9096 | | - str w1, [x20, 8] |
---|
| 10444 | + str w1, [x21, 144] |
---|
9097 | 10445 | add w2, w1, 1 |
---|
9098 | 10446 | str w2, [x19, 2660] |
---|
9099 | 10447 | ubfiz w2, w0, 10, 16 |
---|
9100 | | - str w2, [x19, 3724] |
---|
9101 | | - strh w0, [x20] |
---|
9102 | | - strh w0, [x26, 2] |
---|
9103 | | - str w1, [x26, 4] |
---|
9104 | | -.L1318: |
---|
| 10448 | + str w2, [x19, 3716] |
---|
| 10449 | + strh w0, [x22, 2] |
---|
| 10450 | + str w1, [x22, 4] |
---|
| 10451 | + strh w0, [x21, 136] |
---|
| 10452 | +.L1347: |
---|
9105 | 10453 | ldrh w1, [x19, 314] |
---|
9106 | | - ldr x0, [x19, 3456] |
---|
| 10454 | + ldr x0, [x19, 3448] |
---|
9107 | 10455 | bl js_hash |
---|
9108 | | - str w0, [x26, 12] |
---|
| 10456 | + str w0, [x22, 12] |
---|
9109 | 10457 | mov w3, 1 |
---|
9110 | | - add x0, x19, 3720 |
---|
| 10458 | + add x0, x19, 3712 |
---|
9111 | 10459 | mov w1, w3 |
---|
9112 | 10460 | mov w2, w3 |
---|
9113 | 10461 | bl FlashProgPages |
---|
9114 | | - ldrh w0, [x20, 2] |
---|
9115 | | - ldr w1, [x19, 3720] |
---|
| 10462 | + ldrh w0, [x21, 138] |
---|
| 10463 | + ldr w1, [x19, 3712] |
---|
9116 | 10464 | add w0, w0, 1 |
---|
9117 | 10465 | and w0, w0, 65535 |
---|
9118 | | - strh w0, [x20, 2] |
---|
| 10466 | + strh w0, [x21, 138] |
---|
9119 | 10467 | cmn w1, #1 |
---|
9120 | | - bne .L1319 |
---|
| 10468 | + bne .L1348 |
---|
9121 | 10469 | cmp w0, 1 |
---|
9122 | | - bne .L1320 |
---|
9123 | | - adrp x0, .LC8 |
---|
9124 | | - mov w2, 1145 |
---|
| 10470 | + bne .L1350 |
---|
9125 | 10471 | mov x1, x23 |
---|
9126 | | - add x0, x0, :lo12:.LC8 |
---|
| 10472 | + mov w2, 1145 |
---|
| 10473 | + adrp x0, .LC9 |
---|
| 10474 | + add x0, x0, :lo12:.LC9 |
---|
9127 | 10475 | bl sftl_printk |
---|
9128 | | -.L1320: |
---|
9129 | | - ldrh w0, [x20, 2] |
---|
| 10476 | + ldrh w0, [x21, 138] |
---|
9130 | 10477 | cmp w0, 1 |
---|
9131 | | - bne .L1321 |
---|
| 10478 | + bne .L1350 |
---|
9132 | 10479 | ldrh w0, [x19, 308] |
---|
9133 | 10480 | sub w0, w0, #1 |
---|
9134 | | - strh w0, [x20, 2] |
---|
9135 | | -.L1321: |
---|
9136 | | - add w21, w21, 1 |
---|
9137 | | - and w21, w21, 65535 |
---|
9138 | | - cmp w21, 3 |
---|
9139 | | - bls .L1317 |
---|
9140 | | - add x22, x22, :lo12:.LANCHOR0 |
---|
9141 | | - adrp x0, .LC120 |
---|
9142 | | - mov w2, w21 |
---|
9143 | | - add x0, x0, :lo12:.LC120 |
---|
9144 | | - ldr w1, [x22, 3724] |
---|
| 10481 | + strh w0, [x21, 138] |
---|
| 10482 | +.L1350: |
---|
| 10483 | + add w20, w20, 1 |
---|
| 10484 | + and w20, w20, 65535 |
---|
| 10485 | + cmp w20, 3 |
---|
| 10486 | + bls .L1346 |
---|
| 10487 | + ldr w1, [x19, 3716] |
---|
| 10488 | + adrp x0, .LC121 |
---|
| 10489 | + mov w2, w20 |
---|
| 10490 | + add x0, x0, :lo12:.LC121 |
---|
9145 | 10491 | bl sftl_printk |
---|
9146 | | -.L1323: |
---|
9147 | | - b .L1323 |
---|
9148 | | -.L1319: |
---|
| 10492 | +.L1353: |
---|
| 10493 | + b .L1353 |
---|
| 10494 | +.L1348: |
---|
9149 | 10495 | cmp w0, 1 |
---|
9150 | | - beq .L1317 |
---|
| 10496 | + beq .L1346 |
---|
9151 | 10497 | cmp w1, 256 |
---|
9152 | | - beq .L1317 |
---|
| 10498 | + beq .L1346 |
---|
9153 | 10499 | mov w0, 65535 |
---|
9154 | 10500 | cmp w24, w0 |
---|
9155 | | - beq .L1324 |
---|
9156 | | - mov w1, 1 |
---|
| 10501 | + beq .L1354 |
---|
9157 | 10502 | mov w0, w24 |
---|
| 10503 | + mov w1, 1 |
---|
9158 | 10504 | bl FtlFreeSysBlkQueueIn |
---|
9159 | | -.L1324: |
---|
| 10505 | +.L1354: |
---|
9160 | 10506 | mov w0, 0 |
---|
9161 | 10507 | ldp x19, x20, [sp, 16] |
---|
9162 | 10508 | ldp x21, x22, [sp, 32] |
---|
9163 | 10509 | ldp x23, x24, [sp, 48] |
---|
9164 | | - ldp x25, x26, [sp, 64] |
---|
| 10510 | + ldr x25, [sp, 64] |
---|
9165 | 10511 | ldp x29, x30, [sp], 80 |
---|
| 10512 | + hint 29 // autiasp |
---|
9166 | 10513 | ret |
---|
9167 | 10514 | .size FtlVpcTblFlush, .-FtlVpcTblFlush |
---|
9168 | 10515 | .align 2 |
---|
9169 | 10516 | .global FtlSysFlush |
---|
9170 | 10517 | .type FtlSysFlush, %function |
---|
9171 | 10518 | FtlSysFlush: |
---|
| 10519 | + hint 34 // bti c |
---|
| 10520 | + .section __patchable_function_entries |
---|
| 10521 | + .align 3 |
---|
| 10522 | + .8byte .LPFE112 |
---|
| 10523 | + .text |
---|
| 10524 | +.LPFE112: |
---|
| 10525 | + nop |
---|
| 10526 | + nop |
---|
| 10527 | + hint 25 // paciasp |
---|
9172 | 10528 | stp x29, x30, [sp, -16]! |
---|
9173 | | - add x29, sp, 0 |
---|
| 10529 | + mov x29, sp |
---|
9174 | 10530 | bl l2p_flush |
---|
9175 | 10531 | mov w0, 1 |
---|
9176 | 10532 | bl FtlEctTblFlush |
---|
9177 | 10533 | bl FtlVpcTblFlush |
---|
9178 | 10534 | mov w0, 0 |
---|
9179 | 10535 | ldp x29, x30, [sp], 16 |
---|
| 10536 | + hint 29 // autiasp |
---|
9180 | 10537 | ret |
---|
9181 | 10538 | .size FtlSysFlush, .-FtlSysFlush |
---|
9182 | 10539 | .align 2 |
---|
9183 | 10540 | .global sftl_deinit |
---|
9184 | 10541 | .type sftl_deinit, %function |
---|
9185 | 10542 | sftl_deinit: |
---|
| 10543 | + hint 34 // bti c |
---|
| 10544 | + .section __patchable_function_entries |
---|
| 10545 | + .align 3 |
---|
| 10546 | + .8byte .LPFE113 |
---|
| 10547 | + .text |
---|
| 10548 | +.LPFE113: |
---|
| 10549 | + nop |
---|
| 10550 | + nop |
---|
9186 | 10551 | adrp x0, .LANCHOR2 |
---|
9187 | 10552 | ldr w0, [x0, #:lo12:.LANCHOR2] |
---|
9188 | 10553 | cmp w0, 1 |
---|
9189 | | - bne .L1337 |
---|
| 10554 | + bne .L1367 |
---|
| 10555 | + hint 25 // paciasp |
---|
9190 | 10556 | stp x29, x30, [sp, -16]! |
---|
9191 | | - add x29, sp, 0 |
---|
| 10557 | + mov x29, sp |
---|
9192 | 10558 | bl FtlSysFlush |
---|
9193 | 10559 | mov w0, 0 |
---|
9194 | 10560 | ldp x29, x30, [sp], 16 |
---|
| 10561 | + hint 29 // autiasp |
---|
9195 | 10562 | ret |
---|
9196 | | -.L1337: |
---|
| 10563 | +.L1367: |
---|
9197 | 10564 | mov w0, 0 |
---|
9198 | 10565 | ret |
---|
9199 | 10566 | .size sftl_deinit, .-sftl_deinit |
---|
.. | .. |
---|
9201 | 10568 | .global sftl_discard |
---|
9202 | 10569 | .type sftl_discard, %function |
---|
9203 | 10570 | sftl_discard: |
---|
| 10571 | + hint 34 // bti c |
---|
| 10572 | + .section __patchable_function_entries |
---|
| 10573 | + .align 3 |
---|
| 10574 | + .8byte .LPFE114 |
---|
| 10575 | + .text |
---|
| 10576 | +.LPFE114: |
---|
| 10577 | + nop |
---|
| 10578 | + nop |
---|
| 10579 | + hint 25 // paciasp |
---|
9204 | 10580 | stp x29, x30, [sp, -64]! |
---|
9205 | | - add x29, sp, 0 |
---|
| 10581 | + mov x29, sp |
---|
9206 | 10582 | stp x19, x20, [sp, 16] |
---|
9207 | | - mov w20, w1 |
---|
9208 | | - stp x21, x22, [sp, 32] |
---|
9209 | | - adrp x21, __stack_chk_guard |
---|
9210 | | - add x1, x21, :lo12:__stack_chk_guard |
---|
9211 | 10583 | adrp x19, .LANCHOR0 |
---|
9212 | | - ldr x2, [x1] |
---|
9213 | | - str x2, [x29, 56] |
---|
9214 | | - mov x2,0 |
---|
9215 | | - add x2, x19, :lo12:.LANCHOR0 |
---|
9216 | | - ldr w1, [x2, 344] |
---|
| 10584 | + add x19, x19, :lo12:.LANCHOR0 |
---|
| 10585 | + str x21, [sp, 32] |
---|
| 10586 | + mov w20, w1 |
---|
| 10587 | + mrs x1, sp_el0 |
---|
| 10588 | + ldr x2, [x1, 1376] |
---|
| 10589 | + str x2, [sp, 56] |
---|
| 10590 | + mov x2, 0 |
---|
| 10591 | + ldr w1, [x19, 344] |
---|
9217 | 10592 | cmp w1, w0 |
---|
9218 | | - bls .L1351 |
---|
| 10593 | + bls .L1381 |
---|
9219 | 10594 | cmp w1, w20 |
---|
9220 | | - bcc .L1351 |
---|
9221 | | - add w3, w0, w20 |
---|
9222 | | - cmp w1, w3 |
---|
9223 | | - bcc .L1351 |
---|
| 10595 | + bcc .L1381 |
---|
| 10596 | + add w2, w0, w20 |
---|
| 10597 | + cmp w1, w2 |
---|
| 10598 | + bcc .L1381 |
---|
9224 | 10599 | cmp w20, 31 |
---|
9225 | | - bhi .L1342 |
---|
9226 | | -.L1359: |
---|
| 10600 | + bhi .L1372 |
---|
| 10601 | +.L1389: |
---|
9227 | 10602 | mov w0, 0 |
---|
9228 | | -.L1340: |
---|
9229 | | - add x21, x21, :lo12:__stack_chk_guard |
---|
9230 | | - ldr x2, [x29, 56] |
---|
9231 | | - ldr x1, [x21] |
---|
9232 | | - eor x1, x2, x1 |
---|
9233 | | - cbz x1, .L1348 |
---|
| 10603 | +.L1370: |
---|
| 10604 | + mrs x1, sp_el0 |
---|
| 10605 | + ldr x2, [sp, 56] |
---|
| 10606 | + ldr x3, [x1, 1376] |
---|
| 10607 | + subs x2, x2, x3 |
---|
| 10608 | + mov x3, 0 |
---|
| 10609 | + beq .L1378 |
---|
9234 | 10610 | bl __stack_chk_fail |
---|
9235 | | -.L1342: |
---|
9236 | | - ldrh w1, [x2, 262] |
---|
9237 | | - udiv w22, w0, w1 |
---|
9238 | | - msub w0, w1, w22, w0 |
---|
| 10611 | +.L1372: |
---|
| 10612 | + ldrh w1, [x19, 262] |
---|
| 10613 | + udiv w21, w0, w1 |
---|
| 10614 | + msub w0, w1, w21, w0 |
---|
9239 | 10615 | ands w0, w0, 65535 |
---|
9240 | | - beq .L1343 |
---|
| 10616 | + beq .L1373 |
---|
9241 | 10617 | sub w0, w1, w0 |
---|
9242 | | - add w22, w22, 1 |
---|
| 10618 | + add w21, w21, 1 |
---|
9243 | 10619 | cmp w0, w20 |
---|
9244 | 10620 | csel w0, w0, w20, ls |
---|
9245 | 10621 | sub w20, w20, w0, uxth |
---|
9246 | | -.L1343: |
---|
9247 | | - add x19, x19, :lo12:.LANCHOR0 |
---|
| 10622 | +.L1373: |
---|
9248 | 10623 | mov w0, -1 |
---|
9249 | | - str w0, [x29, 52] |
---|
9250 | | -.L1344: |
---|
| 10624 | + str w0, [sp, 52] |
---|
| 10625 | +.L1374: |
---|
9251 | 10626 | ldrh w0, [x19, 262] |
---|
9252 | | - cmp w20, w0 |
---|
9253 | | - bcs .L1346 |
---|
9254 | | - ldr w0, [x19, 3956] |
---|
| 10627 | + cmp w0, w20 |
---|
| 10628 | + bls .L1376 |
---|
| 10629 | + ldr w0, [x19, 3948] |
---|
9255 | 10630 | cmp w0, 32 |
---|
9256 | | - bls .L1359 |
---|
9257 | | - str wzr, [x19, 3956] |
---|
| 10631 | + bls .L1389 |
---|
| 10632 | + str wzr, [x19, 3948] |
---|
9258 | 10633 | bl l2p_flush |
---|
9259 | 10634 | bl FtlVpcTblFlush |
---|
9260 | | - b .L1359 |
---|
9261 | | -.L1346: |
---|
| 10635 | + b .L1389 |
---|
| 10636 | +.L1376: |
---|
| 10637 | + add x1, sp, 48 |
---|
| 10638 | + mov w0, w21 |
---|
9262 | 10639 | mov w2, 0 |
---|
9263 | | - add x1, x29, 48 |
---|
9264 | | - mov w0, w22 |
---|
9265 | 10640 | bl log2phys |
---|
9266 | | - ldr w0, [x29, 48] |
---|
| 10641 | + ldr w0, [sp, 48] |
---|
9267 | 10642 | cmn w0, #1 |
---|
9268 | | - beq .L1345 |
---|
9269 | | - ldr w0, [x19, 3956] |
---|
| 10643 | + beq .L1375 |
---|
| 10644 | + ldr w0, [x19, 3948] |
---|
| 10645 | + add x1, sp, 52 |
---|
9270 | 10646 | mov w2, 1 |
---|
9271 | | - add x1, x29, 52 |
---|
9272 | 10647 | add w0, w0, 1 |
---|
9273 | | - str w0, [x19, 3956] |
---|
| 10648 | + str w0, [x19, 3948] |
---|
9274 | 10649 | ldr w0, [x19, 2632] |
---|
9275 | 10650 | add w0, w0, 1 |
---|
9276 | 10651 | str w0, [x19, 2632] |
---|
9277 | | - mov w0, w22 |
---|
| 10652 | + mov w0, w21 |
---|
9278 | 10653 | bl log2phys |
---|
9279 | | - ldr w0, [x29, 48] |
---|
9280 | | - lsr w0, w0, 10 |
---|
| 10654 | + ldr w0, [sp, 48] |
---|
| 10655 | + ubfx x0, x0, 10, 16 |
---|
9281 | 10656 | bl P2V_block_in_plane |
---|
9282 | 10657 | bl decrement_vpc_count |
---|
9283 | | -.L1345: |
---|
| 10658 | +.L1375: |
---|
9284 | 10659 | ldrh w0, [x19, 262] |
---|
9285 | | - add w22, w22, 1 |
---|
| 10660 | + add w21, w21, 1 |
---|
9286 | 10661 | sub w20, w20, w0 |
---|
9287 | | - b .L1344 |
---|
9288 | | -.L1351: |
---|
| 10662 | + b .L1374 |
---|
| 10663 | +.L1381: |
---|
9289 | 10664 | mov w0, -1 |
---|
9290 | | - b .L1340 |
---|
9291 | | -.L1348: |
---|
| 10665 | + b .L1370 |
---|
| 10666 | +.L1378: |
---|
9292 | 10667 | ldp x19, x20, [sp, 16] |
---|
9293 | | - ldp x21, x22, [sp, 32] |
---|
| 10668 | + ldr x21, [sp, 32] |
---|
9294 | 10669 | ldp x29, x30, [sp], 64 |
---|
| 10670 | + hint 29 // autiasp |
---|
9295 | 10671 | ret |
---|
9296 | 10672 | .size sftl_discard, .-sftl_discard |
---|
| 10673 | + .section .rodata.str1.1 |
---|
| 10674 | +.LC122: |
---|
| 10675 | + .string "FtlCheckVpc %x = %x %x\n" |
---|
| 10676 | + .text |
---|
9297 | 10677 | .align 2 |
---|
9298 | 10678 | .global FtlVpcCheckAndModify |
---|
9299 | 10679 | .type FtlVpcCheckAndModify, %function |
---|
9300 | 10680 | FtlVpcCheckAndModify: |
---|
| 10681 | + hint 34 // bti c |
---|
| 10682 | + .section __patchable_function_entries |
---|
| 10683 | + .align 3 |
---|
| 10684 | + .8byte .LPFE115 |
---|
| 10685 | + .text |
---|
| 10686 | +.LPFE115: |
---|
| 10687 | + nop |
---|
| 10688 | + nop |
---|
| 10689 | + hint 25 // paciasp |
---|
9301 | 10690 | stp x29, x30, [sp, -96]! |
---|
9302 | | - add x29, sp, 0 |
---|
| 10691 | + mrs x0, sp_el0 |
---|
| 10692 | + mov x29, sp |
---|
9303 | 10693 | stp x19, x20, [sp, 16] |
---|
9304 | | - adrp x20, .LANCHOR0 |
---|
| 10694 | + adrp x19, .LANCHOR0 |
---|
| 10695 | + add x19, x19, :lo12:.LANCHOR0 |
---|
9305 | 10696 | stp x21, x22, [sp, 32] |
---|
9306 | | - adrp x22, __stack_chk_guard |
---|
| 10697 | + adrp x22, .LANCHOR1 |
---|
| 10698 | + add x22, x22, :lo12:.LANCHOR1 |
---|
9307 | 10699 | stp x23, x24, [sp, 48] |
---|
9308 | | - add x0, x22, :lo12:__stack_chk_guard |
---|
9309 | | - stp x25, x26, [sp, 64] |
---|
9310 | | - add x19, x20, :lo12:.LANCHOR0 |
---|
9311 | | - adrp x23, .LANCHOR1 |
---|
9312 | | - mov w21, 0 |
---|
9313 | | - ldr x1, [x0] |
---|
9314 | | - str x1, [x29, 88] |
---|
9315 | | - mov x1,0 |
---|
9316 | | - adrp x0, .LC111 |
---|
9317 | | - add x1, x23, :lo12:.LANCHOR1 |
---|
9318 | | - add x0, x0, :lo12:.LC111 |
---|
9319 | | - add x1, x1, 576 |
---|
| 10700 | + mov w20, 0 |
---|
| 10701 | + str x25, [sp, 64] |
---|
| 10702 | + ldr x1, [x0, 1376] |
---|
| 10703 | + str x1, [sp, 88] |
---|
| 10704 | + mov x1, 0 |
---|
| 10705 | + adrp x0, .LC112 |
---|
| 10706 | + add x1, x22, 486 |
---|
| 10707 | + add x0, x0, :lo12:.LC112 |
---|
9320 | 10708 | bl sftl_printk |
---|
9321 | | - ldr x0, [x19, 3560] |
---|
| 10709 | + ldr x0, [x19, 3552] |
---|
9322 | 10710 | mov w1, 0 |
---|
9323 | 10711 | ldrh w2, [x19, 246] |
---|
9324 | 10712 | lsl w2, w2, 1 |
---|
9325 | 10713 | bl ftl_memset |
---|
9326 | | -.L1361: |
---|
| 10714 | +.L1391: |
---|
9327 | 10715 | ldr w0, [x19, 2624] |
---|
9328 | | - cmp w21, w0 |
---|
9329 | | - bcc .L1363 |
---|
9330 | | - add x20, x20, :lo12:.LANCHOR0 |
---|
9331 | | - adrp x24, .LC121 |
---|
9332 | | - add x26, x20, 2592 |
---|
9333 | | - add x24, x24, :lo12:.LC121 |
---|
9334 | | - mov w19, 0 |
---|
| 10716 | + cmp w0, w20 |
---|
| 10717 | + bhi .L1393 |
---|
| 10718 | + adrp x23, .LC122 |
---|
| 10719 | + adrp x24, .LC9 |
---|
| 10720 | + add x23, x23, :lo12:.LC122 |
---|
| 10721 | + add x24, x24, :lo12:.LC9 |
---|
| 10722 | + mov w20, 0 |
---|
9335 | 10723 | mov w25, 65535 |
---|
9336 | | -.L1364: |
---|
9337 | | - ldrh w0, [x20, 244] |
---|
9338 | | - cmp w0, w19 |
---|
9339 | | - bhi .L1370 |
---|
| 10724 | +.L1394: |
---|
| 10725 | + ldrh w0, [x19, 244] |
---|
| 10726 | + cmp w0, w20 |
---|
| 10727 | + bhi .L1400 |
---|
9340 | 10728 | bl l2p_flush |
---|
9341 | | - add x22, x22, :lo12:__stack_chk_guard |
---|
9342 | 10729 | bl FtlVpcTblFlush |
---|
9343 | | - ldr x1, [x29, 88] |
---|
9344 | | - ldr x0, [x22] |
---|
9345 | | - eor x0, x1, x0 |
---|
9346 | | - cbz x0, .L1371 |
---|
| 10730 | + mrs x0, sp_el0 |
---|
| 10731 | + ldr x1, [sp, 88] |
---|
| 10732 | + ldr x2, [x0, 1376] |
---|
| 10733 | + subs x1, x1, x2 |
---|
| 10734 | + mov x2, 0 |
---|
| 10735 | + beq .L1401 |
---|
9347 | 10736 | bl __stack_chk_fail |
---|
9348 | | -.L1363: |
---|
| 10737 | +.L1393: |
---|
| 10738 | + add x1, sp, 84 |
---|
| 10739 | + mov w0, w20 |
---|
9349 | 10740 | mov w2, 0 |
---|
9350 | | - add x1, x29, 84 |
---|
9351 | | - mov w0, w21 |
---|
9352 | 10741 | bl log2phys |
---|
9353 | | - ldr w0, [x29, 84] |
---|
| 10742 | + ldr w0, [sp, 84] |
---|
9354 | 10743 | cmn w0, #1 |
---|
9355 | | - beq .L1362 |
---|
9356 | | - lsr w0, w0, 10 |
---|
| 10744 | + beq .L1392 |
---|
| 10745 | + ubfx x0, x0, 10, 16 |
---|
9357 | 10746 | bl P2V_block_in_plane |
---|
9358 | | - ldr x2, [x19, 3560] |
---|
| 10747 | + ldr x2, [x19, 3552] |
---|
9359 | 10748 | ubfiz x0, x0, 1, 16 |
---|
9360 | 10749 | ldrh w1, [x2, x0] |
---|
9361 | 10750 | add w1, w1, 1 |
---|
9362 | 10751 | strh w1, [x2, x0] |
---|
9363 | | -.L1362: |
---|
9364 | | - add w21, w21, 1 |
---|
9365 | | - b .L1361 |
---|
9366 | | -.L1370: |
---|
9367 | | - ldr x0, [x20, 72] |
---|
9368 | | - ubfiz x21, x19, 1, 16 |
---|
| 10752 | +.L1392: |
---|
| 10753 | + add w20, w20, 1 |
---|
| 10754 | + b .L1391 |
---|
| 10755 | +.L1400: |
---|
| 10756 | + ldr x0, [x19, 72] |
---|
| 10757 | + ubfiz x21, x20, 1, 16 |
---|
9369 | 10758 | ldrh w2, [x0, x21] |
---|
9370 | | - ldr x0, [x20, 3560] |
---|
| 10759 | + ldr x0, [x19, 3552] |
---|
9371 | 10760 | ldrh w3, [x0, x21] |
---|
9372 | 10761 | cmp w2, w3 |
---|
9373 | | - beq .L1366 |
---|
| 10762 | + beq .L1396 |
---|
9374 | 10763 | cmp w2, w25 |
---|
9375 | | - beq .L1366 |
---|
9376 | | - mov x0, x24 |
---|
9377 | | - mov w1, w19 |
---|
| 10764 | + beq .L1396 |
---|
| 10765 | + mov x0, x23 |
---|
| 10766 | + mov w1, w20 |
---|
9378 | 10767 | bl sftl_printk |
---|
9379 | | - ldrh w0, [x20, 24] |
---|
9380 | | - cmp w0, w19 |
---|
9381 | | - beq .L1366 |
---|
9382 | | - ldrh w0, [x20, 128] |
---|
9383 | | - cmp w0, w19 |
---|
9384 | | - beq .L1366 |
---|
9385 | | - ldrh w0, [x20, 80] |
---|
9386 | | - cmp w0, w19 |
---|
9387 | | - beq .L1366 |
---|
9388 | | - ldr x0, [x20, 72] |
---|
9389 | | - ldrh w1, [x0, x21] |
---|
9390 | | - cbnz w1, .L1368 |
---|
9391 | | - ldr x1, [x20, 3560] |
---|
| 10768 | + ldrh w0, [x19, 24] |
---|
| 10769 | + cmp w0, w20 |
---|
| 10770 | + beq .L1396 |
---|
| 10771 | + ldrh w0, [x19, 128] |
---|
| 10772 | + cmp w0, w20 |
---|
| 10773 | + beq .L1396 |
---|
| 10774 | + ldrh w0, [x19, 80] |
---|
| 10775 | + cmp w0, w20 |
---|
| 10776 | + beq .L1396 |
---|
| 10777 | + ldr x0, [x19, 72] |
---|
| 10778 | + ldr x1, [x19, 3552] |
---|
| 10779 | + ldrh w2, [x0, x21] |
---|
9392 | 10780 | ldrh w1, [x1, x21] |
---|
9393 | 10781 | strh w1, [x0, x21] |
---|
9394 | | - mov w1, w19 |
---|
9395 | | - mov x0, x26 |
---|
| 10782 | + cbnz w2, .L1398 |
---|
| 10783 | + mov w1, w20 |
---|
| 10784 | + add x0, x19, 2592 |
---|
9396 | 10785 | bl List_remove_node |
---|
9397 | | - ldrh w0, [x20, 228] |
---|
9398 | | - cbnz w0, .L1369 |
---|
9399 | | - add x1, x23, :lo12:.LANCHOR1 |
---|
9400 | | - adrp x0, .LC8 |
---|
| 10786 | + ldrh w0, [x19, 228] |
---|
| 10787 | + cbnz w0, .L1399 |
---|
| 10788 | + add x1, x22, 486 |
---|
| 10789 | + mov x0, x24 |
---|
9401 | 10790 | mov w2, 2330 |
---|
9402 | | - add x1, x1, 576 |
---|
9403 | | - add x0, x0, :lo12:.LC8 |
---|
9404 | 10791 | bl sftl_printk |
---|
9405 | | -.L1369: |
---|
9406 | | - ldrh w0, [x20, 228] |
---|
| 10792 | +.L1399: |
---|
| 10793 | + ldrh w0, [x19, 228] |
---|
9407 | 10794 | sub w0, w0, #1 |
---|
9408 | | - strh w0, [x20, 228] |
---|
9409 | | - mov w0, w19 |
---|
| 10795 | + strh w0, [x19, 228] |
---|
| 10796 | + mov w0, w20 |
---|
9410 | 10797 | bl INSERT_DATA_LIST |
---|
9411 | | -.L1366: |
---|
9412 | | - add w19, w19, 1 |
---|
9413 | | - and w19, w19, 65535 |
---|
9414 | | - b .L1364 |
---|
9415 | | -.L1368: |
---|
9416 | | - ldr x1, [x20, 3560] |
---|
9417 | | - ldrh w1, [x1, x21] |
---|
9418 | | - strh w1, [x0, x21] |
---|
9419 | | - mov w0, w19 |
---|
| 10798 | +.L1396: |
---|
| 10799 | + add w20, w20, 1 |
---|
| 10800 | + and w20, w20, 65535 |
---|
| 10801 | + b .L1394 |
---|
| 10802 | +.L1398: |
---|
| 10803 | + mov w0, w20 |
---|
9420 | 10804 | bl update_vpc_list |
---|
9421 | | - b .L1366 |
---|
9422 | | -.L1371: |
---|
| 10805 | + b .L1396 |
---|
| 10806 | +.L1401: |
---|
9423 | 10807 | ldp x19, x20, [sp, 16] |
---|
9424 | 10808 | ldp x21, x22, [sp, 32] |
---|
9425 | 10809 | ldp x23, x24, [sp, 48] |
---|
9426 | | - ldp x25, x26, [sp, 64] |
---|
| 10810 | + ldr x25, [sp, 64] |
---|
9427 | 10811 | ldp x29, x30, [sp], 96 |
---|
| 10812 | + hint 29 // autiasp |
---|
9428 | 10813 | ret |
---|
9429 | 10814 | .size FtlVpcCheckAndModify, .-FtlVpcCheckAndModify |
---|
9430 | 10815 | .align 2 |
---|
9431 | 10816 | .global allocate_new_data_superblock |
---|
9432 | 10817 | .type allocate_new_data_superblock, %function |
---|
9433 | 10818 | allocate_new_data_superblock: |
---|
| 10819 | + hint 34 // bti c |
---|
| 10820 | + .section __patchable_function_entries |
---|
| 10821 | + .align 3 |
---|
| 10822 | + .8byte .LPFE116 |
---|
| 10823 | + .text |
---|
| 10824 | +.LPFE116: |
---|
| 10825 | + nop |
---|
| 10826 | + nop |
---|
| 10827 | + hint 25 // paciasp |
---|
9434 | 10828 | stp x29, x30, [sp, -48]! |
---|
9435 | | - add x29, sp, 0 |
---|
| 10829 | + mov x29, sp |
---|
9436 | 10830 | stp x19, x20, [sp, 16] |
---|
9437 | | - adrp x19, .LANCHOR0 |
---|
| 10831 | + adrp x20, .LANCHOR0 |
---|
| 10832 | + add x20, x20, :lo12:.LANCHOR0 |
---|
9438 | 10833 | str x21, [sp, 32] |
---|
9439 | 10834 | mov x21, x0 |
---|
9440 | | - ldrh w20, [x0] |
---|
9441 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
9442 | | - ldrh w0, [x0, 244] |
---|
9443 | | - cmp w0, w20 |
---|
9444 | | - bcs .L1377 |
---|
| 10835 | + ldrh w19, [x0] |
---|
| 10836 | + ldrh w0, [x20, 244] |
---|
| 10837 | + cmp w0, w19 |
---|
| 10838 | + bcs .L1407 |
---|
9445 | 10839 | adrp x1, .LANCHOR1 |
---|
9446 | 10840 | add x1, x1, :lo12:.LANCHOR1 |
---|
9447 | | - adrp x0, .LC8 |
---|
| 10841 | + adrp x0, .LC9 |
---|
| 10842 | + add x1, x1, 507 |
---|
| 10843 | + add x0, x0, :lo12:.LC9 |
---|
9448 | 10844 | mov w2, 2766 |
---|
9449 | | - add x1, x1, 600 |
---|
9450 | | - add x0, x0, :lo12:.LC8 |
---|
9451 | 10845 | bl sftl_printk |
---|
9452 | | -.L1377: |
---|
| 10846 | +.L1407: |
---|
9453 | 10847 | mov w0, 65535 |
---|
9454 | | - cmp w20, w0 |
---|
9455 | | - beq .L1378 |
---|
9456 | | - add x1, x19, :lo12:.LANCHOR0 |
---|
9457 | | - ubfiz x0, x20, 1, 16 |
---|
9458 | | - ldr x1, [x1, 72] |
---|
| 10848 | + cmp w19, w0 |
---|
| 10849 | + beq .L1408 |
---|
| 10850 | + ldr x1, [x20, 72] |
---|
| 10851 | + ubfiz x0, x19, 1, 16 |
---|
9459 | 10852 | ldrh w0, [x1, x0] |
---|
9460 | | - cbz w0, .L1379 |
---|
9461 | | - mov w0, w20 |
---|
| 10853 | + cbz w0, .L1409 |
---|
| 10854 | + mov w0, w19 |
---|
9462 | 10855 | bl INSERT_DATA_LIST |
---|
9463 | | -.L1378: |
---|
9464 | | - add x2, x19, :lo12:.LANCHOR0 |
---|
| 10856 | +.L1408: |
---|
9465 | 10857 | mov w0, 1 |
---|
9466 | 10858 | strb w0, [x21, 8] |
---|
| 10859 | + ldrh w0, [x20, 3698] |
---|
9467 | 10860 | mov w1, 65535 |
---|
9468 | | - ldrh w0, [x2, 3706] |
---|
9469 | 10861 | cmp w0, w1 |
---|
9470 | | - beq .L1380 |
---|
9471 | | - cmp w20, w0 |
---|
9472 | | - bne .L1381 |
---|
9473 | | - ldr x2, [x2, 72] |
---|
9474 | | - ubfiz x1, x0, 1, 16 |
---|
9475 | | - ldrh w1, [x2, x1] |
---|
9476 | | - cbz w1, .L1382 |
---|
9477 | | -.L1381: |
---|
| 10862 | + beq .L1410 |
---|
| 10863 | + cmp w0, w19 |
---|
| 10864 | + bne .L1411 |
---|
| 10865 | + ldr x1, [x20, 72] |
---|
| 10866 | + ubfiz x19, x19, 1, 16 |
---|
| 10867 | + ldrh w1, [x1, x19] |
---|
| 10868 | + cbz w1, .L1412 |
---|
| 10869 | +.L1411: |
---|
9478 | 10870 | bl update_vpc_list |
---|
9479 | | -.L1382: |
---|
9480 | | - add x19, x19, :lo12:.LANCHOR0 |
---|
| 10871 | +.L1412: |
---|
9481 | 10872 | mov w0, -1 |
---|
9482 | | - strh w0, [x19, 3706] |
---|
9483 | | -.L1380: |
---|
| 10873 | + strh w0, [x20, 3698] |
---|
| 10874 | +.L1410: |
---|
9484 | 10875 | mov x0, x21 |
---|
9485 | 10876 | bl allocate_data_superblock |
---|
9486 | 10877 | bl l2p_flush |
---|
9487 | 10878 | mov w0, 0 |
---|
9488 | 10879 | bl FtlEctTblFlush |
---|
9489 | 10880 | bl FtlVpcTblFlush |
---|
9490 | | - ldr x21, [sp, 32] |
---|
9491 | 10881 | mov w0, 0 |
---|
9492 | 10882 | ldp x19, x20, [sp, 16] |
---|
| 10883 | + ldr x21, [sp, 32] |
---|
9493 | 10884 | ldp x29, x30, [sp], 48 |
---|
| 10885 | + hint 29 // autiasp |
---|
9494 | 10886 | ret |
---|
9495 | | -.L1379: |
---|
9496 | | - mov w0, w20 |
---|
| 10887 | +.L1409: |
---|
| 10888 | + mov w0, w19 |
---|
9497 | 10889 | bl INSERT_FREE_LIST |
---|
9498 | | - b .L1378 |
---|
| 10890 | + b .L1408 |
---|
9499 | 10891 | .size allocate_new_data_superblock, .-allocate_new_data_superblock |
---|
| 10892 | + .section .rodata.str1.1 |
---|
| 10893 | +.LC123: |
---|
| 10894 | + .string "FtlProgPages error %x = %d\n" |
---|
| 10895 | +.LC124: |
---|
| 10896 | + .string "Ftlwrite decrement_vpc_count %x = %d\n" |
---|
| 10897 | + .text |
---|
9500 | 10898 | .align 2 |
---|
9501 | 10899 | .global FtlProgPages |
---|
9502 | 10900 | .type FtlProgPages, %function |
---|
9503 | 10901 | FtlProgPages: |
---|
9504 | | - stp x29, x30, [sp, -96]! |
---|
9505 | | - add x29, sp, 0 |
---|
| 10902 | + hint 34 // bti c |
---|
| 10903 | + .section __patchable_function_entries |
---|
| 10904 | + .align 3 |
---|
| 10905 | + .8byte .LPFE117 |
---|
| 10906 | + .text |
---|
| 10907 | +.LPFE117: |
---|
| 10908 | + nop |
---|
| 10909 | + nop |
---|
| 10910 | + hint 25 // paciasp |
---|
| 10911 | + stp x29, x30, [sp, -80]! |
---|
| 10912 | + mrs x2, sp_el0 |
---|
| 10913 | + mov x29, sp |
---|
9506 | 10914 | stp x19, x20, [sp, 16] |
---|
9507 | 10915 | mov x20, x3 |
---|
| 10916 | + mov x19, x0 |
---|
9508 | 10917 | stp x21, x22, [sp, 32] |
---|
9509 | | - mov w22, w1 |
---|
| 10918 | + mov w21, w1 |
---|
9510 | 10919 | stp x23, x24, [sp, 48] |
---|
9511 | | - adrp x21, __stack_chk_guard |
---|
9512 | | - stp x25, x26, [sp, 64] |
---|
9513 | | - add x2, x21, :lo12:__stack_chk_guard |
---|
9514 | | - ubfiz x22, x22, 5, 32 |
---|
9515 | | - mov x23, x0 |
---|
9516 | | - ldr x3, [x2] |
---|
9517 | | - str x3, [x29, 88] |
---|
9518 | | - mov x3,0 |
---|
9519 | | - add x22, x22, 4 |
---|
| 10920 | + adrp x24, .LC123 |
---|
| 10921 | + adrp x23, .LANCHOR0 |
---|
| 10922 | + ldr x3, [x2, 1376] |
---|
| 10923 | + str x3, [sp, 72] |
---|
| 10924 | + mov x3, 0 |
---|
| 10925 | + mov w2, 0 |
---|
9520 | 10926 | ldrb w3, [x20, 9] |
---|
9521 | | - adrp x24, .LC122 |
---|
9522 | | - adrp x25, .LANCHOR0 |
---|
9523 | | - add x19, x23, 4 |
---|
9524 | | - add x22, x23, x22 |
---|
9525 | | - add x24, x24, :lo12:.LC122 |
---|
9526 | | - add x26, x25, :lo12:.LANCHOR0 |
---|
9527 | | - mov w2, 0 |
---|
| 10927 | + add x24, x24, :lo12:.LC123 |
---|
| 10928 | + add x23, x23, :lo12:.LANCHOR0 |
---|
9528 | 10929 | bl FlashProgPages |
---|
9529 | | -.L1388: |
---|
9530 | | - cmp x22, x19 |
---|
9531 | | - beq .L1394 |
---|
9532 | | - sub x23, x19, #4 |
---|
9533 | | - b .L1395 |
---|
9534 | | -.L1390: |
---|
9535 | | - ldr w1, [x19] |
---|
9536 | | - mov x0, x24 |
---|
9537 | | - bl sftl_printk |
---|
9538 | | - ldr w0, [x19] |
---|
9539 | | - lsr w0, w0, 10 |
---|
9540 | | - bl P2V_block_in_plane |
---|
9541 | | - bl decrement_vpc_count |
---|
9542 | | - ldrh w0, [x20, 4] |
---|
9543 | | - cbnz w0, .L1389 |
---|
9544 | | - mov x0, x20 |
---|
9545 | | - bl allocate_new_data_superblock |
---|
9546 | | -.L1389: |
---|
9547 | | - mov x0, x20 |
---|
9548 | | - bl get_new_active_ppa |
---|
9549 | | - str w0, [x19] |
---|
9550 | | - mov w2, 0 |
---|
9551 | | - str w0, [x29, 84] |
---|
9552 | | - mov w1, 1 |
---|
9553 | | - ldrb w3, [x20, 9] |
---|
9554 | | - mov x0, x23 |
---|
9555 | | - bl FlashProgPages |
---|
9556 | | -.L1395: |
---|
9557 | | - ldr w2, [x19, -4] |
---|
9558 | | - cmp w2, 256 |
---|
9559 | | - ccmn w2, #1, 4, ne |
---|
9560 | | - beq .L1390 |
---|
9561 | | - ldrb w1, [x20, 6] |
---|
9562 | | - ldrh w0, [x26, 236] |
---|
9563 | | - cmp w1, w0 |
---|
9564 | | - bcc .L1391 |
---|
9565 | | - adrp x1, .LANCHOR1 |
---|
9566 | | - add x1, x1, :lo12:.LANCHOR1 |
---|
9567 | | - adrp x0, .LC8 |
---|
9568 | | - mov w2, 985 |
---|
9569 | | - add x1, x1, 632 |
---|
9570 | | - add x0, x0, :lo12:.LC8 |
---|
9571 | | - bl sftl_printk |
---|
9572 | | -.L1391: |
---|
9573 | | - add x1, x29, 96 |
---|
9574 | | - ldr w0, [x23, 4] |
---|
9575 | | - mov w2, 1 |
---|
9576 | | - str w0, [x1, -12]! |
---|
9577 | | - ldr w0, [x23, 24] |
---|
9578 | | - bl log2phys |
---|
9579 | | - ldr x0, [x23, 16] |
---|
9580 | | - ldr w4, [x0, 12] |
---|
9581 | | - lsr w0, w4, 10 |
---|
9582 | | - bl P2V_block_in_plane |
---|
9583 | | - and w1, w0, 65535 |
---|
9584 | | - mov w23, w1 |
---|
9585 | | - cmn w4, #1 |
---|
9586 | | - beq .L1392 |
---|
9587 | | - add x2, x25, :lo12:.LANCHOR0 |
---|
9588 | | - ubfiz x0, x1, 1, 16 |
---|
9589 | | - ldr x2, [x2, 72] |
---|
9590 | | - ldrh w0, [x2, x0] |
---|
9591 | | - cbnz w0, .L1393 |
---|
9592 | | - adrp x0, .LC123 |
---|
9593 | | - mov w2, 0 |
---|
9594 | | - add x0, x0, :lo12:.LC123 |
---|
9595 | | - bl sftl_printk |
---|
9596 | | -.L1393: |
---|
9597 | | - mov w0, w23 |
---|
9598 | | - bl decrement_vpc_count |
---|
9599 | | -.L1392: |
---|
9600 | | - add x19, x19, 32 |
---|
9601 | | - b .L1388 |
---|
9602 | | -.L1394: |
---|
| 10930 | + mov w1, 32 |
---|
| 10931 | + umaddl x21, w21, w1, x19 |
---|
| 10932 | +.L1418: |
---|
| 10933 | + cmp x21, x19 |
---|
| 10934 | + bne .L1425 |
---|
9603 | 10935 | adrp x0, .LANCHOR0+236 |
---|
9604 | 10936 | ldrb w1, [x20, 6] |
---|
9605 | 10937 | ldrh w0, [x0, #:lo12:.LANCHOR0+236] |
---|
9606 | 10938 | cmp w1, w0 |
---|
9607 | | - bcc .L1387 |
---|
| 10939 | + bcc .L1417 |
---|
9608 | 10940 | adrp x1, .LANCHOR1 |
---|
9609 | 10941 | add x1, x1, :lo12:.LANCHOR1 |
---|
9610 | | - adrp x0, .LC8 |
---|
| 10942 | + adrp x0, .LC9 |
---|
| 10943 | + add x1, x1, 536 |
---|
| 10944 | + add x0, x0, :lo12:.LC9 |
---|
9611 | 10945 | mov w2, 1000 |
---|
9612 | | - add x1, x1, 632 |
---|
9613 | | - add x0, x0, :lo12:.LC8 |
---|
9614 | 10946 | bl sftl_printk |
---|
9615 | | -.L1387: |
---|
9616 | | - add x21, x21, :lo12:__stack_chk_guard |
---|
9617 | | - ldr x1, [x29, 88] |
---|
9618 | | - ldr x0, [x21] |
---|
9619 | | - eor x0, x1, x0 |
---|
9620 | | - cbz x0, .L1397 |
---|
| 10947 | +.L1417: |
---|
| 10948 | + mrs x0, sp_el0 |
---|
| 10949 | + ldr x1, [sp, 72] |
---|
| 10950 | + ldr x2, [x0, 1376] |
---|
| 10951 | + subs x1, x1, x2 |
---|
| 10952 | + mov x2, 0 |
---|
| 10953 | + beq .L1427 |
---|
9621 | 10954 | bl __stack_chk_fail |
---|
9622 | | -.L1397: |
---|
| 10955 | +.L1420: |
---|
| 10956 | + ldr w1, [x19, 4] |
---|
| 10957 | + mov x0, x24 |
---|
| 10958 | + bl sftl_printk |
---|
| 10959 | + ldr w0, [x19, 4] |
---|
| 10960 | + ubfx x0, x0, 10, 16 |
---|
| 10961 | + bl P2V_block_in_plane |
---|
| 10962 | + bl decrement_vpc_count |
---|
| 10963 | + ldrh w0, [x20, 4] |
---|
| 10964 | + cbnz w0, .L1419 |
---|
| 10965 | + mov x0, x20 |
---|
| 10966 | + bl allocate_new_data_superblock |
---|
| 10967 | +.L1419: |
---|
| 10968 | + mov x0, x20 |
---|
| 10969 | + bl get_new_active_ppa |
---|
| 10970 | + str w0, [x19, 4] |
---|
| 10971 | + mov w2, 0 |
---|
| 10972 | + mov w1, 1 |
---|
| 10973 | + str w0, [sp, 68] |
---|
| 10974 | + ldrb w3, [x20, 9] |
---|
| 10975 | + mov x0, x19 |
---|
| 10976 | + bl FlashProgPages |
---|
| 10977 | +.L1425: |
---|
| 10978 | + ldr w2, [x19] |
---|
| 10979 | + cmp w2, 256 |
---|
| 10980 | + ccmn w2, #1, 4, ne |
---|
| 10981 | + beq .L1420 |
---|
| 10982 | + ldrb w1, [x20, 6] |
---|
| 10983 | + ldrh w0, [x23, 236] |
---|
| 10984 | + cmp w1, w0 |
---|
| 10985 | + bcc .L1421 |
---|
| 10986 | + adrp x1, .LANCHOR1 |
---|
| 10987 | + add x1, x1, :lo12:.LANCHOR1 |
---|
| 10988 | + adrp x0, .LC9 |
---|
| 10989 | + add x1, x1, 536 |
---|
| 10990 | + add x0, x0, :lo12:.LC9 |
---|
| 10991 | + mov w2, 985 |
---|
| 10992 | + bl sftl_printk |
---|
| 10993 | +.L1421: |
---|
| 10994 | + ldr w0, [x19, 4] |
---|
| 10995 | + add x1, sp, 68 |
---|
| 10996 | + str w0, [sp, 68] |
---|
| 10997 | + mov w2, 1 |
---|
| 10998 | + ldr w0, [x19, 24] |
---|
| 10999 | + bl log2phys |
---|
| 11000 | + ldr x0, [x19, 16] |
---|
| 11001 | + ldr w0, [x0, 12] |
---|
| 11002 | + cmn w0, #1 |
---|
| 11003 | + beq .L1422 |
---|
| 11004 | + ubfx x0, x0, 10, 16 |
---|
| 11005 | + bl P2V_block_in_plane |
---|
| 11006 | + and w1, w0, 65535 |
---|
| 11007 | + mov w22, w1 |
---|
| 11008 | + ldr x2, [x23, 72] |
---|
| 11009 | + ubfiz x0, x22, 1, 16 |
---|
| 11010 | + ldrh w0, [x2, x0] |
---|
| 11011 | + cbnz w0, .L1423 |
---|
| 11012 | + adrp x0, .LC124 |
---|
| 11013 | + mov w2, 0 |
---|
| 11014 | + add x0, x0, :lo12:.LC124 |
---|
| 11015 | + bl sftl_printk |
---|
| 11016 | +.L1423: |
---|
| 11017 | + mov w0, w22 |
---|
| 11018 | + bl decrement_vpc_count |
---|
| 11019 | +.L1422: |
---|
| 11020 | + add x19, x19, 32 |
---|
| 11021 | + b .L1418 |
---|
| 11022 | +.L1427: |
---|
9623 | 11023 | ldp x19, x20, [sp, 16] |
---|
9624 | 11024 | ldp x21, x22, [sp, 32] |
---|
9625 | 11025 | ldp x23, x24, [sp, 48] |
---|
9626 | | - ldp x25, x26, [sp, 64] |
---|
9627 | | - ldp x29, x30, [sp], 96 |
---|
| 11026 | + ldp x29, x30, [sp], 80 |
---|
| 11027 | + hint 29 // autiasp |
---|
9628 | 11028 | ret |
---|
9629 | 11029 | .size FtlProgPages, .-FtlProgPages |
---|
9630 | 11030 | .align 2 |
---|
9631 | 11031 | .global FtlGcFreeTempBlock |
---|
9632 | 11032 | .type FtlGcFreeTempBlock, %function |
---|
9633 | 11033 | FtlGcFreeTempBlock: |
---|
9634 | | - stp x29, x30, [sp, -96]! |
---|
9635 | | - mov w3, 65535 |
---|
9636 | | - add x29, sp, 0 |
---|
| 11034 | + hint 34 // bti c |
---|
| 11035 | + .section __patchable_function_entries |
---|
| 11036 | + .align 3 |
---|
| 11037 | + .8byte .LPFE118 |
---|
| 11038 | + .text |
---|
| 11039 | +.LPFE118: |
---|
| 11040 | + nop |
---|
| 11041 | + nop |
---|
| 11042 | + hint 25 // paciasp |
---|
| 11043 | + stp x29, x30, [sp, -80]! |
---|
| 11044 | + mrs x1, sp_el0 |
---|
| 11045 | + mov x29, sp |
---|
9637 | 11046 | stp x19, x20, [sp, 16] |
---|
9638 | 11047 | adrp x19, .LANCHOR0 |
---|
| 11048 | + add x19, x19, :lo12:.LANCHOR0 |
---|
9639 | 11049 | stp x21, x22, [sp, 32] |
---|
9640 | | - adrp x21, __stack_chk_guard |
---|
9641 | 11050 | stp x23, x24, [sp, 48] |
---|
9642 | | - add x1, x21, :lo12:__stack_chk_guard |
---|
9643 | | - stp x25, x26, [sp, 64] |
---|
9644 | | - ldr x2, [x1] |
---|
9645 | | - str x2, [x29, 88] |
---|
9646 | | - mov x2,0 |
---|
9647 | | - add x2, x19, :lo12:.LANCHOR0 |
---|
9648 | | - ldrh w4, [x2, 128] |
---|
9649 | | - ldrh w1, [x2, 306] |
---|
9650 | | - cmp w4, w3 |
---|
9651 | | - bne .L1403 |
---|
9652 | | -.L1410: |
---|
9653 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
| 11051 | + ldrh w3, [x19, 128] |
---|
| 11052 | + ldr x2, [x1, 1376] |
---|
| 11053 | + str x2, [sp, 72] |
---|
| 11054 | + mov x2, 0 |
---|
| 11055 | + ldrh w1, [x19, 306] |
---|
9654 | 11056 | mov w2, 65535 |
---|
9655 | | - add x1, x0, 128 |
---|
9656 | | - ldrh w3, [x0, 128] |
---|
9657 | | - str wzr, [x0, 3712] |
---|
9658 | 11057 | cmp w3, w2 |
---|
9659 | | - bne .L1424 |
---|
9660 | | -.L1428: |
---|
| 11058 | + bne .L1433 |
---|
| 11059 | +.L1440: |
---|
| 11060 | + ldrh w2, [x19, 128] |
---|
| 11061 | + add x0, x19, 128 |
---|
| 11062 | + str wzr, [x19, 3704] |
---|
| 11063 | + mov w1, 65535 |
---|
| 11064 | + cmp w2, w1 |
---|
| 11065 | + bne .L1454 |
---|
| 11066 | +.L1458: |
---|
9661 | 11067 | mov w0, 0 |
---|
9662 | | -.L1402: |
---|
9663 | | - add x21, x21, :lo12:__stack_chk_guard |
---|
9664 | | - ldr x2, [x29, 88] |
---|
9665 | | - ldr x1, [x21] |
---|
9666 | | - eor x1, x2, x1 |
---|
9667 | | - cbz x1, .L1419 |
---|
| 11068 | +.L1432: |
---|
| 11069 | + mrs x1, sp_el0 |
---|
| 11070 | + ldr x2, [sp, 72] |
---|
| 11071 | + ldr x3, [x1, 1376] |
---|
| 11072 | + subs x2, x2, x3 |
---|
| 11073 | + mov x3, 0 |
---|
| 11074 | + beq .L1449 |
---|
9668 | 11075 | bl __stack_chk_fail |
---|
9669 | | -.L1403: |
---|
| 11076 | +.L1433: |
---|
9670 | 11077 | adrp x20, .LANCHOR2 |
---|
9671 | | - cbz w0, .L1406 |
---|
9672 | | - add x0, x20, :lo12:.LANCHOR2 |
---|
9673 | | - ldrh w4, [x0, 4] |
---|
9674 | | - cmp w4, w3 |
---|
9675 | | - beq .L1407 |
---|
9676 | | -.L1408: |
---|
9677 | | - mov w1, 2 |
---|
9678 | | -.L1406: |
---|
9679 | 11078 | add x20, x20, :lo12:.LANCHOR2 |
---|
9680 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
9681 | | - add x0, x0, 128 |
---|
| 11079 | + cbz w0, .L1436 |
---|
| 11080 | + ldrh w0, [x20, 4] |
---|
| 11081 | + cmp w0, w2 |
---|
| 11082 | + beq .L1437 |
---|
| 11083 | +.L1438: |
---|
| 11084 | + mov w1, 2 |
---|
| 11085 | +.L1436: |
---|
| 11086 | + add x0, x19, 128 |
---|
9682 | 11087 | bl FtlGcScanTempBlk |
---|
9683 | | - str w0, [x29, 84] |
---|
9684 | | - mov w0, 65535 |
---|
9685 | 11088 | ldrh w1, [x20, 4] |
---|
| 11089 | + str w0, [sp, 68] |
---|
| 11090 | + mov w0, 65535 |
---|
9686 | 11091 | cmp w1, w0 |
---|
9687 | | - beq .L1410 |
---|
| 11092 | + beq .L1440 |
---|
9688 | 11093 | mov w0, 1 |
---|
9689 | | - b .L1402 |
---|
9690 | | -.L1407: |
---|
9691 | | - strh wzr, [x0, 4] |
---|
9692 | | - ldrh w0, [x2, 228] |
---|
| 11094 | + b .L1432 |
---|
| 11095 | +.L1437: |
---|
| 11096 | + ldrh w0, [x19, 228] |
---|
| 11097 | + strh wzr, [x20, 4] |
---|
9693 | 11098 | cmp w0, 17 |
---|
9694 | | - bhi .L1408 |
---|
9695 | | - b .L1406 |
---|
9696 | | -.L1424: |
---|
9697 | | - ldrh w2, [x0, 3296] |
---|
9698 | | - ldrb w1, [x1, 7] |
---|
9699 | | - ldrh w0, [x0, 306] |
---|
9700 | | - mul w0, w1, w0 |
---|
9701 | | - cmp w2, w0 |
---|
9702 | | - beq .L1411 |
---|
| 11099 | + bhi .L1438 |
---|
| 11100 | + b .L1436 |
---|
| 11101 | +.L1454: |
---|
| 11102 | + ldrb w0, [x0, 7] |
---|
| 11103 | + ldrh w2, [x19, 306] |
---|
| 11104 | + ldrh w1, [x19, 3296] |
---|
| 11105 | + mul w0, w0, w2 |
---|
| 11106 | + cmp w1, w0 |
---|
| 11107 | + beq .L1441 |
---|
9703 | 11108 | adrp x1, .LANCHOR1 |
---|
9704 | 11109 | add x1, x1, :lo12:.LANCHOR1 |
---|
9705 | | - adrp x0, .LC8 |
---|
| 11110 | + adrp x0, .LC9 |
---|
| 11111 | + add x1, x1, 549 |
---|
| 11112 | + add x0, x0, :lo12:.LC9 |
---|
9706 | 11113 | mov w2, 164 |
---|
9707 | | - add x1, x1, 648 |
---|
9708 | | - add x0, x0, :lo12:.LC8 |
---|
9709 | 11114 | bl sftl_printk |
---|
9710 | | -.L1411: |
---|
9711 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
9712 | | - mov w22, 0 |
---|
9713 | | - mov x20, x0 |
---|
9714 | | - mov w26, 12 |
---|
9715 | | - ldrb w1, [x0, 135] |
---|
9716 | | - ldrh w4, [x0, 306] |
---|
9717 | | - ldr x2, [x0, 72] |
---|
9718 | | - ldrh w3, [x0, 128] |
---|
9719 | | - mul w1, w1, w4 |
---|
9720 | | - strh w1, [x2, x3, lsl 1] |
---|
9721 | | - ldr w2, [x0, 2648] |
---|
9722 | | - ldrh w1, [x0, 3296] |
---|
9723 | | - add w1, w1, w2 |
---|
9724 | | - str w1, [x0, 2648] |
---|
9725 | | -.L1412: |
---|
9726 | | - ldrh w0, [x20, 3296] |
---|
9727 | | - cmp w0, w22 |
---|
9728 | | - bhi .L1416 |
---|
| 11115 | +.L1441: |
---|
| 11116 | + ldrb w0, [x19, 135] |
---|
| 11117 | + mov w20, 0 |
---|
| 11118 | + ldrh w3, [x19, 306] |
---|
| 11119 | + mov w24, 12 |
---|
| 11120 | + ldrh w2, [x19, 128] |
---|
| 11121 | + ldr x1, [x19, 72] |
---|
| 11122 | + mul w0, w0, w3 |
---|
| 11123 | + strh w0, [x1, x2, lsl 1] |
---|
| 11124 | + ldr w1, [x19, 2648] |
---|
| 11125 | + ldrh w0, [x19, 3296] |
---|
| 11126 | + add w0, w0, w1 |
---|
| 11127 | + str w0, [x19, 2648] |
---|
| 11128 | +.L1442: |
---|
| 11129 | + ldrh w0, [x19, 3296] |
---|
| 11130 | + cmp w0, w20 |
---|
| 11131 | + bhi .L1446 |
---|
9729 | 11132 | mov w0, -1 |
---|
9730 | 11133 | bl decrement_vpc_count |
---|
9731 | | - ldrh w0, [x20, 128] |
---|
9732 | | - ldr x2, [x20, 72] |
---|
9733 | | - ubfiz x1, x0, 1, 16 |
---|
9734 | | - ldrh w1, [x2, x1] |
---|
9735 | | - cbz w1, .L1417 |
---|
| 11134 | + ldrh w2, [x19, 128] |
---|
| 11135 | + ldr x1, [x19, 72] |
---|
| 11136 | + ldrh w0, [x19, 128] |
---|
| 11137 | + ldrh w1, [x1, x2, lsl 1] |
---|
| 11138 | + cbz w1, .L1447 |
---|
9736 | 11139 | bl INSERT_DATA_LIST |
---|
9737 | | -.L1418: |
---|
9738 | | - add x19, x19, :lo12:.LANCHOR0 |
---|
| 11140 | +.L1448: |
---|
9739 | 11141 | mov w20, -1 |
---|
9740 | | - strh wzr, [x19, 3296] |
---|
9741 | 11142 | strh w20, [x19, 128] |
---|
9742 | 11143 | strh wzr, [x19, 3284] |
---|
| 11144 | + strh wzr, [x19, 3296] |
---|
9743 | 11145 | bl l2p_flush |
---|
9744 | 11146 | bl FtlVpcTblFlush |
---|
9745 | 11147 | strh w20, [x19, 176] |
---|
.. | .. |
---|
9747 | 11149 | ldrh w1, [x19, 228] |
---|
9748 | 11150 | add w0, w0, w0, lsl 1 |
---|
9749 | 11151 | cmp w1, w0, lsr 2 |
---|
9750 | | - ble .L1428 |
---|
| 11152 | + ble .L1458 |
---|
9751 | 11153 | mov w0, 20 |
---|
9752 | 11154 | strh w0, [x19, 3224] |
---|
9753 | | - b .L1428 |
---|
9754 | | -.L1416: |
---|
9755 | | - umull x24, w22, w26 |
---|
9756 | | - ldr x25, [x20, 3304] |
---|
9757 | | - ldr w1, [x20, 2624] |
---|
9758 | | - add x23, x25, x24 |
---|
9759 | | - ldr w0, [x23, 8] |
---|
| 11155 | + b .L1458 |
---|
| 11156 | +.L1446: |
---|
| 11157 | + ldr x23, [x19, 3304] |
---|
| 11158 | + umull x22, w20, w24 |
---|
| 11159 | + ldr w1, [x19, 2624] |
---|
| 11160 | + add x21, x23, x22 |
---|
| 11161 | + ldr w0, [x21, 8] |
---|
9760 | 11162 | cmp w0, w1 |
---|
9761 | | - bcc .L1413 |
---|
9762 | | -.L1426: |
---|
9763 | | - ldrh w0, [x20, 128] |
---|
9764 | | - b .L1427 |
---|
9765 | | -.L1413: |
---|
9766 | | - add x1, x29, 84 |
---|
| 11163 | + bcc .L1443 |
---|
| 11164 | +.L1456: |
---|
| 11165 | + ldrh w0, [x19, 128] |
---|
| 11166 | + b .L1457 |
---|
| 11167 | +.L1443: |
---|
| 11168 | + add x1, sp, 68 |
---|
9767 | 11169 | mov w2, 0 |
---|
9768 | 11170 | bl log2phys |
---|
9769 | | - ldr w0, [x25, x24] |
---|
9770 | | - ldr w1, [x29, 84] |
---|
| 11171 | + ldr w1, [sp, 68] |
---|
| 11172 | + ldr w0, [x23, x22] |
---|
9771 | 11173 | cmp w0, w1 |
---|
9772 | | - bne .L1415 |
---|
9773 | | - lsr w0, w0, 10 |
---|
| 11174 | + bne .L1445 |
---|
| 11175 | + ubfx x0, x0, 10, 16 |
---|
9774 | 11176 | bl P2V_block_in_plane |
---|
9775 | | - mov w24, w0 |
---|
9776 | | - ldr w0, [x23, 8] |
---|
| 11177 | + mov w22, w0 |
---|
| 11178 | + ldr w0, [x21, 8] |
---|
| 11179 | + add x1, x21, 4 |
---|
9777 | 11180 | mov w2, 1 |
---|
9778 | | - add x1, x23, 4 |
---|
9779 | 11181 | bl log2phys |
---|
9780 | | - mov w0, w24 |
---|
9781 | | -.L1427: |
---|
| 11182 | + mov w0, w22 |
---|
| 11183 | +.L1457: |
---|
9782 | 11184 | bl decrement_vpc_count |
---|
9783 | | - b .L1414 |
---|
9784 | | -.L1415: |
---|
9785 | | - ldr w0, [x23, 4] |
---|
| 11185 | + b .L1444 |
---|
| 11186 | +.L1445: |
---|
| 11187 | + ldr w0, [x21, 4] |
---|
9786 | 11188 | cmp w1, w0 |
---|
9787 | | - bne .L1426 |
---|
9788 | | -.L1414: |
---|
9789 | | - add w22, w22, 1 |
---|
9790 | | - and w22, w22, 65535 |
---|
9791 | | - b .L1412 |
---|
9792 | | -.L1417: |
---|
| 11189 | + bne .L1456 |
---|
| 11190 | +.L1444: |
---|
| 11191 | + add w20, w20, 1 |
---|
| 11192 | + and w20, w20, 65535 |
---|
| 11193 | + b .L1442 |
---|
| 11194 | +.L1447: |
---|
9793 | 11195 | bl INSERT_FREE_LIST |
---|
9794 | | - b .L1418 |
---|
9795 | | -.L1419: |
---|
| 11196 | + b .L1448 |
---|
| 11197 | +.L1449: |
---|
9796 | 11198 | ldp x19, x20, [sp, 16] |
---|
9797 | 11199 | ldp x21, x22, [sp, 32] |
---|
9798 | 11200 | ldp x23, x24, [sp, 48] |
---|
9799 | | - ldp x25, x26, [sp, 64] |
---|
9800 | | - ldp x29, x30, [sp], 96 |
---|
| 11201 | + ldp x29, x30, [sp], 80 |
---|
| 11202 | + hint 29 // autiasp |
---|
9801 | 11203 | ret |
---|
9802 | 11204 | .size FtlGcFreeTempBlock, .-FtlGcFreeTempBlock |
---|
9803 | 11205 | .align 2 |
---|
9804 | 11206 | .global FtlGcPageRecovery |
---|
9805 | 11207 | .type FtlGcPageRecovery, %function |
---|
9806 | 11208 | FtlGcPageRecovery: |
---|
| 11209 | + hint 34 // bti c |
---|
| 11210 | + .section __patchable_function_entries |
---|
| 11211 | + .align 3 |
---|
| 11212 | + .8byte .LPFE119 |
---|
| 11213 | + .text |
---|
| 11214 | +.LPFE119: |
---|
| 11215 | + nop |
---|
| 11216 | + nop |
---|
| 11217 | + hint 25 // paciasp |
---|
9807 | 11218 | stp x29, x30, [sp, -32]! |
---|
9808 | | - add x29, sp, 0 |
---|
| 11219 | + mov x29, sp |
---|
9809 | 11220 | stp x19, x20, [sp, 16] |
---|
9810 | 11221 | adrp x19, .LANCHOR0 |
---|
9811 | 11222 | add x19, x19, :lo12:.LANCHOR0 |
---|
.. | .. |
---|
9816 | 11227 | ldrh w1, [x19, 130] |
---|
9817 | 11228 | ldrh w0, [x19, 306] |
---|
9818 | 11229 | cmp w1, w0 |
---|
9819 | | - bcc .L1429 |
---|
9820 | | - add x0, x19, 3640 |
---|
| 11230 | + bcc .L1459 |
---|
| 11231 | + add x0, x19, 3632 |
---|
9821 | 11232 | bl FtlMapBlkWriteDump_data |
---|
9822 | 11233 | mov w0, 0 |
---|
9823 | 11234 | bl FtlGcFreeTempBlock |
---|
9824 | | - str wzr, [x19, 3712] |
---|
9825 | | -.L1429: |
---|
| 11235 | + str wzr, [x19, 3704] |
---|
| 11236 | +.L1459: |
---|
9826 | 11237 | ldp x19, x20, [sp, 16] |
---|
9827 | 11238 | ldp x29, x30, [sp], 32 |
---|
| 11239 | + hint 29 // autiasp |
---|
9828 | 11240 | ret |
---|
9829 | 11241 | .size FtlGcPageRecovery, .-FtlGcPageRecovery |
---|
9830 | 11242 | .align 2 |
---|
9831 | 11243 | .global FtlPowerLostRecovery |
---|
9832 | 11244 | .type FtlPowerLostRecovery, %function |
---|
9833 | 11245 | FtlPowerLostRecovery: |
---|
| 11246 | + hint 34 // bti c |
---|
| 11247 | + .section __patchable_function_entries |
---|
| 11248 | + .align 3 |
---|
| 11249 | + .8byte .LPFE120 |
---|
| 11250 | + .text |
---|
| 11251 | +.LPFE120: |
---|
| 11252 | + nop |
---|
| 11253 | + nop |
---|
| 11254 | + hint 25 // paciasp |
---|
9834 | 11255 | stp x29, x30, [sp, -32]! |
---|
9835 | | - add x29, sp, 0 |
---|
| 11256 | + mov x29, sp |
---|
9836 | 11257 | stp x19, x20, [sp, 16] |
---|
9837 | 11258 | adrp x19, .LANCHOR0 |
---|
9838 | 11259 | add x19, x19, :lo12:.LANCHOR0 |
---|
9839 | 11260 | add x20, x19, 24 |
---|
9840 | 11261 | add x19, x19, 80 |
---|
9841 | 11262 | mov x0, x20 |
---|
9842 | | - str wzr, [x19, 3676] |
---|
| 11263 | + str wzr, [x19, 3668] |
---|
9843 | 11264 | bl FtlRecoverySuperblock |
---|
9844 | 11265 | mov x0, x20 |
---|
9845 | 11266 | bl FtlSlcSuperblockCheck |
---|
.. | .. |
---|
9853 | 11274 | mov w0, 0 |
---|
9854 | 11275 | ldp x19, x20, [sp, 16] |
---|
9855 | 11276 | ldp x29, x30, [sp], 32 |
---|
| 11277 | + hint 29 // autiasp |
---|
9856 | 11278 | ret |
---|
9857 | 11279 | .size FtlPowerLostRecovery, .-FtlPowerLostRecovery |
---|
9858 | 11280 | .align 2 |
---|
9859 | 11281 | .global Ftl_gc_temp_data_write_back |
---|
9860 | 11282 | .type Ftl_gc_temp_data_write_back, %function |
---|
9861 | 11283 | Ftl_gc_temp_data_write_back: |
---|
| 11284 | + hint 34 // bti c |
---|
| 11285 | + .section __patchable_function_entries |
---|
| 11286 | + .align 3 |
---|
| 11287 | + .8byte .LPFE121 |
---|
| 11288 | + .text |
---|
| 11289 | +.LPFE121: |
---|
| 11290 | + nop |
---|
| 11291 | + nop |
---|
| 11292 | + hint 25 // paciasp |
---|
9862 | 11293 | stp x29, x30, [sp, -32]! |
---|
9863 | | - adrp x11, .LANCHOR0 |
---|
9864 | 11294 | mov w3, 0 |
---|
| 11295 | + mov x29, sp |
---|
| 11296 | + stp x19, x20, [sp, 16] |
---|
| 11297 | + adrp x19, .LANCHOR0 |
---|
| 11298 | + add x19, x19, :lo12:.LANCHOR0 |
---|
9865 | 11299 | mov w2, 0 |
---|
9866 | | - add x29, sp, 0 |
---|
9867 | | - str x19, [sp, 16] |
---|
9868 | | - add x19, x11, :lo12:.LANCHOR0 |
---|
| 11300 | + mov w20, 0 |
---|
9869 | 11301 | ldr w1, [x19, 3240] |
---|
9870 | | - ldr x0, [x19, 3440] |
---|
| 11302 | + ldr x0, [x19, 3432] |
---|
9871 | 11303 | bl FlashProgPages |
---|
9872 | | - mov w10, 0 |
---|
9873 | | -.L1435: |
---|
| 11304 | +.L1465: |
---|
9874 | 11305 | ldr w1, [x19, 3240] |
---|
9875 | | - cmp w10, w1 |
---|
9876 | | - bcc .L1438 |
---|
9877 | | - ldr x0, [x19, 3440] |
---|
| 11306 | + ldr x2, [x19, 3432] |
---|
| 11307 | + cmp w20, w1 |
---|
| 11308 | + bcc .L1468 |
---|
| 11309 | + mov x0, x2 |
---|
9878 | 11310 | bl FtlGcBufFree |
---|
9879 | | - str wzr, [x19, 3240] |
---|
9880 | 11311 | ldrh w0, [x19, 132] |
---|
9881 | | - cbnz w0, .L1440 |
---|
| 11312 | + str wzr, [x19, 3240] |
---|
| 11313 | + cbnz w0, .L1470 |
---|
9882 | 11314 | mov w0, 1 |
---|
9883 | 11315 | bl FtlGcFreeTempBlock |
---|
9884 | 11316 | mov w0, 1 |
---|
9885 | | -.L1434: |
---|
9886 | | - ldr x19, [sp, 16] |
---|
| 11317 | +.L1464: |
---|
| 11318 | + ldp x19, x20, [sp, 16] |
---|
9887 | 11319 | ldp x29, x30, [sp], 32 |
---|
| 11320 | + hint 29 // autiasp |
---|
9888 | 11321 | ret |
---|
9889 | | -.L1438: |
---|
9890 | | - ldr x2, [x19, 3440] |
---|
9891 | | - ubfiz x0, x10, 5, 16 |
---|
9892 | | - add x1, x2, x0 |
---|
9893 | | - ldr w2, [x2, x0] |
---|
| 11322 | +.L1468: |
---|
| 11323 | + ubfiz x4, x20, 5, 16 |
---|
| 11324 | + add x1, x2, x4 |
---|
| 11325 | + ldr w2, [x2, x4] |
---|
9894 | 11326 | ldr x3, [x1, 16] |
---|
9895 | | - cmn w2, #1 |
---|
9896 | | - bne .L1436 |
---|
9897 | | -.L1442: |
---|
9898 | 11327 | ldr w1, [x1, 4] |
---|
9899 | 11328 | ldr w0, [x3, 12] |
---|
| 11329 | + cmn w2, #1 |
---|
| 11330 | + bne .L1466 |
---|
| 11331 | +.L1472: |
---|
| 11332 | + add w20, w20, 1 |
---|
9900 | 11333 | bl FtlGcUpdatePage |
---|
9901 | | - add w10, w10, 1 |
---|
9902 | | - and w10, w10, 65535 |
---|
9903 | | - b .L1435 |
---|
9904 | | -.L1436: |
---|
| 11334 | + and w20, w20, 65535 |
---|
| 11335 | + b .L1465 |
---|
| 11336 | +.L1466: |
---|
9905 | 11337 | ldr w2, [x3, 8] |
---|
9906 | | - b .L1442 |
---|
9907 | | -.L1440: |
---|
| 11338 | + b .L1472 |
---|
| 11339 | +.L1470: |
---|
9908 | 11340 | mov w0, 0 |
---|
9909 | | - b .L1434 |
---|
| 11341 | + b .L1464 |
---|
9910 | 11342 | .size Ftl_gc_temp_data_write_back, .-Ftl_gc_temp_data_write_back |
---|
9911 | 11343 | .align 2 |
---|
9912 | 11344 | .global Ftl_get_new_temp_ppa |
---|
9913 | 11345 | .type Ftl_get_new_temp_ppa, %function |
---|
9914 | 11346 | Ftl_get_new_temp_ppa: |
---|
| 11347 | + hint 34 // bti c |
---|
| 11348 | + .section __patchable_function_entries |
---|
| 11349 | + .align 3 |
---|
| 11350 | + .8byte .LPFE122 |
---|
| 11351 | + .text |
---|
| 11352 | +.LPFE122: |
---|
| 11353 | + nop |
---|
| 11354 | + nop |
---|
| 11355 | + hint 25 // paciasp |
---|
9915 | 11356 | stp x29, x30, [sp, -32]! |
---|
9916 | | - add x29, sp, 0 |
---|
9917 | | - stp x19, x20, [sp, 16] |
---|
| 11357 | + mov w1, 65535 |
---|
| 11358 | + mov x29, sp |
---|
| 11359 | + str x19, [sp, 16] |
---|
9918 | 11360 | adrp x19, .LANCHOR0 |
---|
9919 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
9920 | | - add x1, x0, 128 |
---|
9921 | | - ldrh w2, [x0, 128] |
---|
9922 | | - mov w0, 65535 |
---|
9923 | | - cmp w2, w0 |
---|
9924 | | - beq .L1444 |
---|
9925 | | - ldrh w0, [x1, 4] |
---|
9926 | | - cbnz w0, .L1445 |
---|
9927 | | -.L1444: |
---|
9928 | | - add x20, x19, :lo12:.LANCHOR0 |
---|
| 11361 | + add x19, x19, :lo12:.LANCHOR0 |
---|
| 11362 | + ldrh w2, [x19, 128] |
---|
| 11363 | + cmp w2, w1 |
---|
| 11364 | + beq .L1474 |
---|
| 11365 | + ldrh w0, [x19, 132] |
---|
| 11366 | + cbnz w0, .L1475 |
---|
| 11367 | +.L1474: |
---|
9929 | 11368 | mov w0, 0 |
---|
9930 | 11369 | bl FtlGcFreeTempBlock |
---|
9931 | | - add x0, x20, 128 |
---|
| 11370 | + add x0, x19, 128 |
---|
9932 | 11371 | strb wzr, [x0, 8] |
---|
9933 | 11372 | bl allocate_data_superblock |
---|
9934 | | - strh wzr, [x20, 3284] |
---|
9935 | | - strh wzr, [x20, 3296] |
---|
| 11373 | + strh wzr, [x19, 3284] |
---|
| 11374 | + strh wzr, [x19, 3296] |
---|
9936 | 11375 | bl l2p_flush |
---|
9937 | 11376 | mov w0, 0 |
---|
9938 | 11377 | bl FtlEctTblFlush |
---|
9939 | 11378 | bl FtlVpcTblFlush |
---|
9940 | | -.L1445: |
---|
9941 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
9942 | | - add x0, x0, 128 |
---|
| 11379 | +.L1475: |
---|
| 11380 | + add x0, x19, 128 |
---|
9943 | 11381 | bl get_new_active_ppa |
---|
9944 | | - ldp x19, x20, [sp, 16] |
---|
| 11382 | + ldr x19, [sp, 16] |
---|
9945 | 11383 | ldp x29, x30, [sp], 32 |
---|
| 11384 | + hint 29 // autiasp |
---|
9946 | 11385 | ret |
---|
9947 | 11386 | .size Ftl_get_new_temp_ppa, .-Ftl_get_new_temp_ppa |
---|
| 11387 | + .section .rodata.str1.1 |
---|
| 11388 | +.LC125: |
---|
| 11389 | + .string "SWL %x, FSB = %x vpc= %x,ec=%x th=%x\n" |
---|
| 11390 | + .text |
---|
9948 | 11391 | .align 2 |
---|
9949 | 11392 | .global rk_ftl_garbage_collect |
---|
9950 | 11393 | .type rk_ftl_garbage_collect, %function |
---|
9951 | 11394 | rk_ftl_garbage_collect: |
---|
| 11395 | + hint 34 // bti c |
---|
| 11396 | + .section __patchable_function_entries |
---|
| 11397 | + .align 3 |
---|
| 11398 | + .8byte .LPFE123 |
---|
| 11399 | + .text |
---|
| 11400 | +.LPFE123: |
---|
| 11401 | + nop |
---|
| 11402 | + nop |
---|
| 11403 | + hint 25 // paciasp |
---|
9952 | 11404 | stp x29, x30, [sp, -144]! |
---|
9953 | | - add x29, sp, 0 |
---|
9954 | | - stp x19, x20, [sp, 16] |
---|
9955 | | - adrp x19, .LANCHOR0 |
---|
| 11405 | + adrp x6, .LANCHOR0 |
---|
| 11406 | + mov x29, sp |
---|
9956 | 11407 | stp x23, x24, [sp, 48] |
---|
9957 | | - adrp x24, __stack_chk_guard |
---|
9958 | | - stp x27, x28, [sp, 80] |
---|
9959 | | - mov w27, w0 |
---|
| 11408 | + add x23, x6, :lo12:.LANCHOR0 |
---|
| 11409 | + stp x19, x20, [sp, 16] |
---|
9960 | 11410 | stp x21, x22, [sp, 32] |
---|
9961 | | - add x0, x24, :lo12:__stack_chk_guard |
---|
9962 | 11411 | stp x25, x26, [sp, 64] |
---|
9963 | | - str x24, [x29, 112] |
---|
9964 | | - ldr x1, [x0] |
---|
9965 | | - str x1, [x29, 136] |
---|
9966 | | - mov x1,0 |
---|
9967 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
9968 | | - ldr w1, [x0, 3416] |
---|
9969 | | - cbnz w1, .L1527 |
---|
9970 | | - ldrh w1, [x0, 2584] |
---|
9971 | | - cmp w1, 47 |
---|
9972 | | - bls .L1527 |
---|
9973 | | - adrp x1, .LANCHOR2+4 |
---|
9974 | | - ldrh w2, [x1, #:lo12:.LANCHOR2+4] |
---|
| 11412 | + stp x27, x28, [sp, 80] |
---|
| 11413 | + str w0, [sp, 108] |
---|
| 11414 | + mrs x0, sp_el0 |
---|
| 11415 | + ldr x1, [x0, 1376] |
---|
| 11416 | + str x1, [sp, 136] |
---|
| 11417 | + mov x1, 0 |
---|
| 11418 | + ldr w0, [x23, 3408] |
---|
| 11419 | + cbnz w0, .L1554 |
---|
| 11420 | + ldrh w0, [x23, 2584] |
---|
| 11421 | + cmp w0, 47 |
---|
| 11422 | + bls .L1554 |
---|
| 11423 | + adrp x0, .LANCHOR2+4 |
---|
| 11424 | + ldrh w1, [x0, #:lo12:.LANCHOR2+4] |
---|
| 11425 | + mov w0, 65535 |
---|
| 11426 | + cmp w1, w0 |
---|
| 11427 | + bne .L1479 |
---|
| 11428 | +.L1482: |
---|
| 11429 | + ldrh w0, [x23, 224] |
---|
9975 | 11430 | mov w1, 65535 |
---|
9976 | | - cmp w2, w1 |
---|
9977 | | - bne .L1449 |
---|
9978 | | -.L1452: |
---|
9979 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
9980 | | - mov w2, 65535 |
---|
9981 | | - ldrh w1, [x0, 224] |
---|
9982 | | - cmp w1, w2 |
---|
9983 | | - bne .L1450 |
---|
9984 | | -.L1451: |
---|
9985 | | - add x20, x19, :lo12:.LANCHOR0 |
---|
| 11431 | + cmp w0, w1 |
---|
| 11432 | + bne .L1480 |
---|
| 11433 | +.L1481: |
---|
9986 | 11434 | bl FtlReadRefresh |
---|
9987 | | - mov w21, 65535 |
---|
9988 | | - ldr w0, [x20, 3228] |
---|
9989 | | - ldrh w1, [x20, 176] |
---|
| 11435 | + ldr w1, [sp, 108] |
---|
| 11436 | + ldr w0, [x23, 3228] |
---|
| 11437 | + mov w19, 65535 |
---|
| 11438 | + ldrh w2, [x23, 128] |
---|
9990 | 11439 | add w0, w0, 1 |
---|
9991 | | - add w0, w0, w27, lsl 7 |
---|
9992 | | - str w0, [x20, 3228] |
---|
9993 | | - cmp w1, w21 |
---|
9994 | | - bne .L1453 |
---|
9995 | | - ldrh w21, [x20, 128] |
---|
9996 | | - cmp w21, w1 |
---|
9997 | | - bne .L1530 |
---|
9998 | | - ldrh w22, [x20, 226] |
---|
9999 | | - cmp w22, w21 |
---|
10000 | | - bne .L1453 |
---|
10001 | | - ldrh w1, [x20, 228] |
---|
| 11440 | + add w0, w0, w1, lsl 7 |
---|
| 11441 | + ldrh w1, [x23, 176] |
---|
| 11442 | + str w0, [x23, 3228] |
---|
| 11443 | + and w1, w1, w2 |
---|
| 11444 | + ldrh w2, [x23, 226] |
---|
| 11445 | + and w1, w1, w2 |
---|
| 11446 | + and w20, w1, 65535 |
---|
| 11447 | + cmp w19, w1, uxth |
---|
| 11448 | + bne .L1556 |
---|
| 11449 | + ldrh w1, [x23, 228] |
---|
10002 | 11450 | mov w2, 1024 |
---|
10003 | 11451 | cmp w1, 24 |
---|
10004 | 11452 | mov w1, 5120 |
---|
10005 | 11453 | csel w1, w1, w2, cc |
---|
10006 | 11454 | cmp w0, w1 |
---|
10007 | | - bls .L1533 |
---|
10008 | | - strh wzr, [x20, 3960] |
---|
10009 | | - str wzr, [x20, 3228] |
---|
| 11455 | + bls .L1483 |
---|
| 11456 | + str wzr, [x23, 3228] |
---|
| 11457 | + strh wzr, [x23, 3952] |
---|
10010 | 11458 | bl GetSwlReplaceBlock |
---|
10011 | | - and w21, w0, 65535 |
---|
10012 | | - cmp w21, w22 |
---|
10013 | | - bne .L1534 |
---|
10014 | | - ldrh w1, [x20, 228] |
---|
10015 | | - ldrh w0, [x20, 3226] |
---|
| 11459 | + and w20, w0, 65535 |
---|
| 11460 | + cmp w19, w0, uxth |
---|
| 11461 | + bne .L1485 |
---|
| 11462 | + ldrh w1, [x23, 228] |
---|
| 11463 | + ldrh w0, [x23, 3226] |
---|
10016 | 11464 | cmp w1, w0 |
---|
10017 | | - bcs .L1456 |
---|
| 11465 | + bcs .L1486 |
---|
10018 | 11466 | mov w0, 64 |
---|
10019 | 11467 | bl List_get_gc_head_node |
---|
10020 | | - and w0, w0, 65535 |
---|
10021 | | - cmp w0, w21 |
---|
10022 | | - beq .L1458 |
---|
10023 | | - ldr x1, [x20, 72] |
---|
10024 | | - ubfiz x0, x0, 1, 16 |
---|
10025 | | - ldrh w0, [x1, x0] |
---|
| 11468 | + and w1, w0, 65535 |
---|
| 11469 | + cmp w20, w0, uxth |
---|
| 11470 | + beq .L1488 |
---|
| 11471 | + ldr x0, [x23, 72] |
---|
| 11472 | + ubfiz x1, x1, 1, 16 |
---|
| 11473 | + ldrh w0, [x0, x1] |
---|
10026 | 11474 | cmp w0, 7 |
---|
10027 | | - bhi .L1459 |
---|
| 11475 | + bhi .L1489 |
---|
10028 | 11476 | mov w0, 0 |
---|
10029 | 11477 | bl List_get_gc_head_node |
---|
10030 | | - and w22, w0, 65535 |
---|
10031 | | - mov w0, 128 |
---|
10032 | | - strh w0, [x20, 3226] |
---|
10033 | | - cmp w22, w21 |
---|
10034 | | - bne .L1455 |
---|
10035 | | -.L1458: |
---|
10036 | | - bl FtlGcReFreshBadBlk |
---|
10037 | | -.L1453: |
---|
10038 | | - cmp w27, 0 |
---|
10039 | | - mov w1, 65535 |
---|
10040 | | - ccmp w21, w1, 0, eq |
---|
10041 | | - bne .L1461 |
---|
10042 | | - add x1, x19, :lo12:.LANCHOR0 |
---|
10043 | | - ldrh w0, [x1, 228] |
---|
10044 | | - cmp w0, 24 |
---|
10045 | | - bhi .L1535 |
---|
10046 | | - cmp w0, 16 |
---|
10047 | | - ldrh w20, [x1, 306] |
---|
10048 | | - bls .L1463 |
---|
10049 | | - lsr w20, w20, 5 |
---|
10050 | | -.L1462: |
---|
10051 | | - add x1, x19, :lo12:.LANCHOR0 |
---|
10052 | | - ldrh w2, [x1, 3224] |
---|
10053 | | - cmp w2, w0 |
---|
10054 | | - bcs .L1466 |
---|
10055 | | - ldrh w0, [x1, 128] |
---|
10056 | | - mov w2, 65535 |
---|
10057 | | - cmp w0, w2 |
---|
10058 | | - bne .L1467 |
---|
10059 | | - ldrh w2, [x1, 226] |
---|
10060 | | - cmp w2, w0 |
---|
10061 | | - bne .L1467 |
---|
10062 | | - ldrh w0, [x1, 3960] |
---|
10063 | | - cbnz w0, .L1468 |
---|
10064 | | - ldr w2, [x1, 2624] |
---|
10065 | | - ldr w3, [x1, 2620] |
---|
10066 | | - add w2, w2, w2, lsl 1 |
---|
10067 | | - cmp w3, w2, lsr 2 |
---|
10068 | | - bcs .L1469 |
---|
10069 | | -.L1468: |
---|
10070 | | - add x2, x19, :lo12:.LANCHOR0 |
---|
10071 | | - ldrh w1, [x2, 2692] |
---|
10072 | | - add w1, w1, w1, lsl 1 |
---|
10073 | | - asr w1, w1, 2 |
---|
10074 | | - strh w1, [x2, 3224] |
---|
10075 | | -.L1470: |
---|
10076 | | - add x19, x19, :lo12:.LANCHOR0 |
---|
10077 | | - str wzr, [x19, 3236] |
---|
10078 | | -.L1447: |
---|
10079 | | - ldr x1, [x29, 112] |
---|
10080 | | - add x24, x1, :lo12:__stack_chk_guard |
---|
10081 | | - ldr x2, [x29, 136] |
---|
10082 | | - ldr x1, [x24] |
---|
10083 | | - eor x1, x2, x1 |
---|
10084 | | - cbz x1, .L1525 |
---|
10085 | | - bl __stack_chk_fail |
---|
10086 | | -.L1449: |
---|
10087 | | - ldrh w0, [x0, 128] |
---|
10088 | | - cmp w0, w1 |
---|
10089 | | - beq .L1452 |
---|
| 11478 | + mov w2, 128 |
---|
| 11479 | + strh w2, [x23, 3226] |
---|
| 11480 | + and w1, w0, 65535 |
---|
| 11481 | + cmp w20, w0, uxth |
---|
| 11482 | + beq .L1488 |
---|
| 11483 | + mov w20, w1 |
---|
| 11484 | +.L1485: |
---|
| 11485 | + ldr x1, [x23, 72] |
---|
| 11486 | + ubfiz x0, x20, 1, 16 |
---|
| 11487 | + ldr x2, [x23, 2600] |
---|
| 11488 | + ldrh w3, [x1, x0] |
---|
| 11489 | + mov w1, w20 |
---|
| 11490 | + ldrh w5, [x23, 3224] |
---|
| 11491 | + ldrh w4, [x2, x0] |
---|
| 11492 | + adrp x0, .LC125 |
---|
| 11493 | + ldrh w2, [x23, 228] |
---|
| 11494 | + add x0, x0, :lo12:.LC125 |
---|
| 11495 | + bl sftl_printk |
---|
| 11496 | + b .L1488 |
---|
| 11497 | +.L1479: |
---|
| 11498 | + ldrh w1, [x23, 128] |
---|
| 11499 | + cmp w1, w0 |
---|
| 11500 | + beq .L1482 |
---|
10090 | 11501 | mov w0, 1 |
---|
10091 | 11502 | bl FtlGcFreeTempBlock |
---|
10092 | | - cbz w0, .L1452 |
---|
| 11503 | + cbz w0, .L1482 |
---|
10093 | 11504 | mov w0, 1 |
---|
10094 | | - b .L1447 |
---|
10095 | | -.L1450: |
---|
10096 | | - ldrh w3, [x0, 226] |
---|
10097 | | - cmp w3, w2 |
---|
10098 | | - bne .L1451 |
---|
10099 | | - strh w1, [x0, 226] |
---|
10100 | | - mov w1, -1 |
---|
10101 | | - strh w1, [x0, 224] |
---|
10102 | | - b .L1451 |
---|
10103 | | -.L1459: |
---|
10104 | | - mov w0, 64 |
---|
10105 | | -.L1565: |
---|
10106 | | - strh w0, [x20, 3226] |
---|
10107 | | - b .L1458 |
---|
10108 | | -.L1456: |
---|
10109 | | - mov w0, 80 |
---|
10110 | | - b .L1565 |
---|
10111 | | -.L1534: |
---|
10112 | | - mov w22, w21 |
---|
10113 | | -.L1455: |
---|
10114 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
10115 | | - ubfiz x1, x22, 1, 32 |
---|
10116 | | - mov w21, w22 |
---|
10117 | | - ldr x2, [x0, 72] |
---|
10118 | | - ldr x3, [x0, 2600] |
---|
10119 | | - ldrh w5, [x0, 3224] |
---|
10120 | | - ldrh w4, [x3, x1] |
---|
10121 | | - ldrh w3, [x2, x1] |
---|
10122 | | - mov w1, w22 |
---|
10123 | | - ldrh w2, [x0, 228] |
---|
10124 | | - adrp x0, .LC124 |
---|
10125 | | - add x0, x0, :lo12:.LC124 |
---|
10126 | | - bl sftl_printk |
---|
10127 | | - b .L1458 |
---|
10128 | | -.L1530: |
---|
10129 | | - mov w21, w1 |
---|
10130 | | - b .L1453 |
---|
10131 | | -.L1533: |
---|
10132 | | - mov w21, w22 |
---|
10133 | | - b .L1453 |
---|
10134 | | -.L1463: |
---|
10135 | | - cmp w0, 12 |
---|
10136 | | - bls .L1464 |
---|
10137 | | - lsr w20, w20, 4 |
---|
10138 | | - b .L1462 |
---|
10139 | | -.L1464: |
---|
10140 | | - mov w1, w20 |
---|
10141 | | - cmp w0, 9 |
---|
10142 | | - lsr w20, w20, 2 |
---|
10143 | | - csel w20, w20, w1, cs |
---|
10144 | | - b .L1462 |
---|
10145 | | -.L1535: |
---|
10146 | | - mov w20, 1 |
---|
10147 | | - b .L1462 |
---|
10148 | | -.L1469: |
---|
10149 | | - mov w2, 18 |
---|
10150 | | - strh w2, [x1, 3224] |
---|
10151 | | - b .L1470 |
---|
10152 | | -.L1467: |
---|
10153 | | - add x1, x19, :lo12:.LANCHOR0 |
---|
10154 | | - ldrh w0, [x1, 2692] |
---|
10155 | | - add w0, w0, w0, lsl 1 |
---|
10156 | | - asr w0, w0, 2 |
---|
10157 | | - strh w0, [x1, 3224] |
---|
10158 | | -.L1466: |
---|
10159 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
10160 | | - ldrh w0, [x0, 3312] |
---|
10161 | | - cbz w0, .L1536 |
---|
10162 | | - add w20, w20, 32 |
---|
10163 | | - and w20, w20, 65535 |
---|
10164 | | -.L1536: |
---|
10165 | | - mov w21, 65535 |
---|
10166 | | -.L1472: |
---|
10167 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
10168 | | - mov w2, 65535 |
---|
10169 | | - ldrh w1, [x0, 176] |
---|
10170 | | - cmp w1, w2 |
---|
| 11505 | + b .L1477 |
---|
| 11506 | +.L1480: |
---|
| 11507 | + ldrh w2, [x23, 226] |
---|
| 11508 | + cmp w2, w1 |
---|
10171 | 11509 | bne .L1481 |
---|
10172 | | - cmp w21, w1 |
---|
10173 | | - beq .L1482 |
---|
10174 | | - strh w21, [x0, 176] |
---|
10175 | | -.L1483: |
---|
10176 | | - add x5, x19, :lo12:.LANCHOR0 |
---|
10177 | | - mov w1, 65535 |
---|
10178 | | - ldrh w0, [x5, 176] |
---|
10179 | | - strb wzr, [x5, 184] |
---|
10180 | | - cmp w0, w1 |
---|
10181 | | - beq .L1481 |
---|
10182 | | - bl IsBlkInGcList |
---|
10183 | | - cbz w0, .L1486 |
---|
| 11510 | + strh w0, [x23, 226] |
---|
10184 | 11511 | mov w0, -1 |
---|
10185 | | - strh w0, [x5, 176] |
---|
10186 | | -.L1486: |
---|
10187 | | - add x22, x19, :lo12:.LANCHOR0 |
---|
10188 | | - mov w0, 65535 |
---|
10189 | | - add x23, x22, 176 |
---|
10190 | | - ldrh w1, [x22, 176] |
---|
10191 | | - cmp w1, w0 |
---|
10192 | | - beq .L1481 |
---|
10193 | | - mov x0, x23 |
---|
10194 | | - bl make_superblock |
---|
10195 | | - ldrh w1, [x22, 176] |
---|
10196 | | - ldr x0, [x22, 72] |
---|
10197 | | - strh wzr, [x22, 178] |
---|
10198 | | - strb wzr, [x22, 182] |
---|
10199 | | - strh wzr, [x22, 3962] |
---|
10200 | | - ldrh w0, [x0, x1, lsl 1] |
---|
10201 | | - strh w0, [x22, 3964] |
---|
10202 | | -.L1481: |
---|
10203 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
10204 | | - ldrh w1, [x0, 176] |
---|
10205 | | - ldrh w2, [x0, 24] |
---|
10206 | | - cmp w2, w1 |
---|
10207 | | - beq .L1487 |
---|
10208 | | - ldrh w2, [x0, 80] |
---|
10209 | | - cmp w2, w1 |
---|
10210 | | - beq .L1487 |
---|
10211 | | - ldrh w0, [x0, 128] |
---|
10212 | | - cmp w0, w1 |
---|
10213 | | - bne .L1488 |
---|
10214 | | -.L1487: |
---|
10215 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
10216 | | - mov w1, -1 |
---|
10217 | | - strh w1, [x0, 176] |
---|
| 11512 | + strh w0, [x23, 224] |
---|
| 11513 | + b .L1481 |
---|
| 11514 | +.L1489: |
---|
| 11515 | + mov w0, 64 |
---|
| 11516 | +.L1584: |
---|
| 11517 | + strh w0, [x23, 3226] |
---|
10218 | 11518 | .L1488: |
---|
10219 | | - adrp x23, .LANCHOR1 |
---|
10220 | | - add x23, x23, :lo12:.LANCHOR1 |
---|
10221 | | - add x23, x23, 672 |
---|
10222 | | -.L1523: |
---|
10223 | | - add x22, x19, :lo12:.LANCHOR0 |
---|
| 11519 | + bl FtlGcReFreshBadBlk |
---|
| 11520 | +.L1483: |
---|
| 11521 | + ldr w1, [sp, 108] |
---|
10224 | 11522 | mov w0, 65535 |
---|
10225 | | - ldrh w25, [x22, 176] |
---|
10226 | | - cmp w25, w0 |
---|
10227 | | - bne .L1489 |
---|
10228 | | - mov w26, 2 |
---|
10229 | | - str wzr, [x22, 3236] |
---|
10230 | | -.L1490: |
---|
10231 | | - ldrh w5, [x22, 3232] |
---|
10232 | | - mov w0, w5 |
---|
10233 | | - bl List_get_gc_head_node |
---|
10234 | | - and w6, w0, 65535 |
---|
10235 | | - strh w6, [x22, 176] |
---|
10236 | | - cmp w6, w25 |
---|
| 11523 | + cmp w1, 0 |
---|
| 11524 | + ccmp w20, w0, 0, eq |
---|
10237 | 11525 | bne .L1491 |
---|
10238 | | - strh wzr, [x22, 3232] |
---|
10239 | | - mov w0, 8 |
---|
10240 | | - b .L1447 |
---|
10241 | | -.L1461: |
---|
10242 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
10243 | | - ldrh w2, [x0, 128] |
---|
10244 | | - cmp w2, w1 |
---|
10245 | | - bne .L1539 |
---|
10246 | | - ldrh w1, [x0, 226] |
---|
10247 | | - cmp w1, w2 |
---|
10248 | | - bne .L1539 |
---|
10249 | | - cmp w21, w1 |
---|
10250 | | - bne .L1539 |
---|
10251 | | - ldrh w1, [x0, 176] |
---|
10252 | | - cmp w1, w21 |
---|
10253 | | - beq .L1473 |
---|
10254 | | -.L1539: |
---|
10255 | | - mov w20, 1 |
---|
10256 | | - b .L1472 |
---|
10257 | | -.L1473: |
---|
10258 | | - ldrh w2, [x0, 228] |
---|
10259 | | - ldrh w1, [x0, 3224] |
---|
10260 | | - str wzr, [x0, 3236] |
---|
10261 | | - cmp w2, w1 |
---|
10262 | | - bls .L1474 |
---|
10263 | | - ldrh w1, [x0, 3960] |
---|
10264 | | - cbnz w1, .L1475 |
---|
10265 | | - ldr w1, [x0, 2624] |
---|
10266 | | - ldr w2, [x0, 2620] |
---|
| 11526 | + ldrh w0, [x23, 228] |
---|
| 11527 | + cmp w0, 24 |
---|
| 11528 | + bhi .L1559 |
---|
| 11529 | + ldrh w19, [x23, 306] |
---|
| 11530 | + cmp w0, 16 |
---|
| 11531 | + bls .L1493 |
---|
| 11532 | + lsr w19, w19, 5 |
---|
| 11533 | +.L1492: |
---|
| 11534 | + ldrh w1, [x23, 3224] |
---|
| 11535 | + cmp w1, w0 |
---|
| 11536 | + bcs .L1495 |
---|
| 11537 | + ldrh w1, [x23, 226] |
---|
| 11538 | + ldrh w0, [x23, 128] |
---|
| 11539 | + and w0, w0, w1 |
---|
| 11540 | + mov w1, 65535 |
---|
| 11541 | + cmp w1, w0, uxth |
---|
| 11542 | + bne .L1496 |
---|
| 11543 | + ldrh w0, [x23, 3952] |
---|
| 11544 | + cbnz w0, .L1497 |
---|
| 11545 | + ldr w1, [x23, 2624] |
---|
| 11546 | + ldr w2, [x23, 2620] |
---|
10267 | 11547 | add w1, w1, w1, lsl 1 |
---|
10268 | 11548 | cmp w2, w1, lsr 2 |
---|
10269 | | - bcs .L1476 |
---|
10270 | | -.L1475: |
---|
10271 | | - add x1, x19, :lo12:.LANCHOR0 |
---|
10272 | | - ldrh w0, [x1, 2692] |
---|
| 11549 | + bcs .L1560 |
---|
| 11550 | +.L1497: |
---|
| 11551 | + ldrh w1, [x23, 2692] |
---|
| 11552 | + add w1, w1, w1, lsl 1 |
---|
| 11553 | + lsr w1, w1, 2 |
---|
| 11554 | +.L1498: |
---|
| 11555 | + strh w1, [x23, 3224] |
---|
| 11556 | + str wzr, [x23, 3236] |
---|
| 11557 | +.L1477: |
---|
| 11558 | + mrs x1, sp_el0 |
---|
| 11559 | + ldr x2, [sp, 136] |
---|
| 11560 | + ldr x3, [x1, 1376] |
---|
| 11561 | + subs x2, x2, x3 |
---|
| 11562 | + mov x3, 0 |
---|
| 11563 | + beq .L1552 |
---|
| 11564 | + bl __stack_chk_fail |
---|
| 11565 | +.L1486: |
---|
| 11566 | + mov w0, 80 |
---|
| 11567 | + b .L1584 |
---|
| 11568 | +.L1556: |
---|
| 11569 | + mov w20, w19 |
---|
| 11570 | + b .L1483 |
---|
| 11571 | +.L1493: |
---|
| 11572 | + cmp w0, 12 |
---|
| 11573 | + bls .L1494 |
---|
| 11574 | + lsr w19, w19, 4 |
---|
| 11575 | + b .L1492 |
---|
| 11576 | +.L1494: |
---|
| 11577 | + cmp w0, 8 |
---|
| 11578 | + bls .L1492 |
---|
| 11579 | + lsr w19, w19, 2 |
---|
| 11580 | + b .L1492 |
---|
| 11581 | +.L1559: |
---|
| 11582 | + mov w19, 1 |
---|
| 11583 | + b .L1492 |
---|
| 11584 | +.L1560: |
---|
| 11585 | + mov w1, 18 |
---|
| 11586 | + b .L1498 |
---|
| 11587 | +.L1496: |
---|
| 11588 | + ldrh w0, [x23, 2692] |
---|
10273 | 11589 | add w0, w0, w0, lsl 1 |
---|
10274 | 11590 | asr w0, w0, 2 |
---|
10275 | | - strh w0, [x1, 3224] |
---|
10276 | | -.L1477: |
---|
| 11591 | + strh w0, [x23, 3224] |
---|
| 11592 | +.L1495: |
---|
| 11593 | + ldrh w0, [x23, 3312] |
---|
| 11594 | + cbz w0, .L1561 |
---|
| 11595 | + add w19, w19, 32 |
---|
| 11596 | + and w19, w19, 65535 |
---|
| 11597 | +.L1561: |
---|
| 11598 | + mov w20, 65535 |
---|
| 11599 | +.L1500: |
---|
| 11600 | + ldrh w0, [x23, 176] |
---|
| 11601 | + mov w1, 65535 |
---|
| 11602 | + cmp w0, w1 |
---|
| 11603 | + bne .L1508 |
---|
| 11604 | + cmp w20, w0 |
---|
| 11605 | + beq .L1509 |
---|
| 11606 | + strh w20, [x23, 176] |
---|
| 11607 | +.L1510: |
---|
| 11608 | + ldrh w0, [x23, 176] |
---|
| 11609 | + add x21, x23, 176 |
---|
| 11610 | + strb wzr, [x21, 8] |
---|
| 11611 | + mov w1, 65535 |
---|
| 11612 | + cmp w0, w1 |
---|
| 11613 | + beq .L1508 |
---|
| 11614 | + bl IsBlkInGcList |
---|
| 11615 | + cbz w0, .L1513 |
---|
| 11616 | + mov w0, -1 |
---|
| 11617 | + strh w0, [x23, 176] |
---|
| 11618 | +.L1508: |
---|
| 11619 | + ldrh w0, [x23, 176] |
---|
| 11620 | + ldrh w1, [x23, 24] |
---|
| 11621 | + cmp w1, w0 |
---|
| 11622 | + beq .L1514 |
---|
| 11623 | + ldrh w1, [x23, 80] |
---|
| 11624 | + cmp w1, w0 |
---|
| 11625 | + beq .L1514 |
---|
| 11626 | + ldrh w1, [x23, 128] |
---|
| 11627 | + cmp w1, w0 |
---|
| 11628 | + bne .L1515 |
---|
| 11629 | +.L1514: |
---|
| 11630 | + mov w0, -1 |
---|
| 11631 | + strh w0, [x23, 176] |
---|
| 11632 | +.L1515: |
---|
| 11633 | + adrp x21, .LANCHOR1 |
---|
| 11634 | + add x21, x21, :lo12:.LANCHOR1 |
---|
| 11635 | + add x21, x21, 568 |
---|
| 11636 | +.L1550: |
---|
| 11637 | + ldrh w24, [x23, 176] |
---|
| 11638 | + mov w0, 65535 |
---|
| 11639 | + cmp w24, w0 |
---|
| 11640 | + bne .L1516 |
---|
| 11641 | + mov w25, 2 |
---|
| 11642 | + str wzr, [x23, 3236] |
---|
| 11643 | +.L1517: |
---|
| 11644 | + ldrh w22, [x23, 3232] |
---|
| 11645 | + mov w0, w22 |
---|
| 11646 | + bl List_get_gc_head_node |
---|
| 11647 | + and w26, w0, 65535 |
---|
| 11648 | + strh w26, [x23, 176] |
---|
| 11649 | + cmp w26, w24 |
---|
| 11650 | + bne .L1518 |
---|
| 11651 | + mov w0, 8 |
---|
| 11652 | + strh wzr, [x23, 3232] |
---|
| 11653 | + b .L1477 |
---|
| 11654 | +.L1491: |
---|
| 11655 | + ldrh w19, [x23, 128] |
---|
| 11656 | + ldrh w1, [x23, 226] |
---|
| 11657 | + and w19, w19, w1 |
---|
| 11658 | + and w19, w20, w19 |
---|
| 11659 | + cmp w19, w0 |
---|
| 11660 | + bne .L1562 |
---|
| 11661 | + ldrh w0, [x23, 176] |
---|
| 11662 | + cmp w0, w19 |
---|
| 11663 | + beq .L1501 |
---|
| 11664 | +.L1505: |
---|
| 11665 | + mov w20, w19 |
---|
| 11666 | +.L1562: |
---|
| 11667 | + mov w19, 1 |
---|
| 11668 | + b .L1500 |
---|
| 11669 | +.L1501: |
---|
| 11670 | + ldrh w1, [x23, 228] |
---|
| 11671 | + ldrh w0, [x23, 3224] |
---|
| 11672 | + str wzr, [x23, 3236] |
---|
| 11673 | + cmp w1, w0 |
---|
| 11674 | + bls .L1502 |
---|
| 11675 | + ldrh w0, [x23, 3952] |
---|
| 11676 | + cbnz w0, .L1503 |
---|
| 11677 | + ldr w0, [x23, 2624] |
---|
| 11678 | + ldr w1, [x23, 2620] |
---|
| 11679 | + add w0, w0, w0, lsl 1 |
---|
| 11680 | + cmp w1, w0, lsr 2 |
---|
| 11681 | + bcs .L1563 |
---|
| 11682 | +.L1503: |
---|
| 11683 | + ldrh w0, [x23, 2692] |
---|
| 11684 | + add w0, w0, w0, lsl 1 |
---|
| 11685 | + lsr w0, w0, 2 |
---|
| 11686 | +.L1504: |
---|
| 11687 | + strh w0, [x23, 3224] |
---|
10277 | 11688 | bl FtlReadRefresh |
---|
10278 | 11689 | mov w0, 0 |
---|
10279 | 11690 | bl List_get_gc_head_node |
---|
10280 | | - add x1, x19, :lo12:.LANCHOR0 |
---|
| 11691 | + ldr x1, [x23, 72] |
---|
10281 | 11692 | ubfiz x0, x0, 1, 16 |
---|
10282 | | - ldr x2, [x1, 72] |
---|
10283 | | - ldrh w0, [x2, x0] |
---|
| 11693 | + ldrh w0, [x1, x0] |
---|
10284 | 11694 | cmp w0, 4 |
---|
10285 | | - bls .L1474 |
---|
10286 | | - ldrh w0, [x1, 3960] |
---|
10287 | | - b .L1447 |
---|
10288 | | -.L1476: |
---|
10289 | | - mov w1, 18 |
---|
10290 | | - strh w1, [x0, 3224] |
---|
| 11695 | + bls .L1502 |
---|
| 11696 | +.L1585: |
---|
| 11697 | + ldrh w0, [x23, 3952] |
---|
10291 | 11698 | b .L1477 |
---|
10292 | | -.L1474: |
---|
10293 | | - add x20, x19, :lo12:.LANCHOR0 |
---|
10294 | | - ldrh w0, [x20, 3960] |
---|
10295 | | - cbnz w0, .L1539 |
---|
10296 | | - ldrh w5, [x20, 2692] |
---|
10297 | | - add w0, w5, w5, lsl 1 |
---|
| 11699 | +.L1563: |
---|
| 11700 | + mov w0, 18 |
---|
| 11701 | + b .L1504 |
---|
| 11702 | +.L1502: |
---|
| 11703 | + ldrh w0, [x23, 3952] |
---|
| 11704 | + cbnz w0, .L1505 |
---|
| 11705 | + ldrh w20, [x23, 2692] |
---|
| 11706 | + add w0, w20, w20, lsl 1 |
---|
10298 | 11707 | asr w0, w0, 2 |
---|
10299 | | - strh w0, [x20, 3224] |
---|
| 11708 | + strh w0, [x23, 3224] |
---|
10300 | 11709 | mov w0, 0 |
---|
10301 | 11710 | bl List_get_gc_head_node |
---|
10302 | | - ldr x1, [x20, 72] |
---|
| 11711 | + ldr x1, [x23, 72] |
---|
10303 | 11712 | ubfiz x0, x0, 1, 16 |
---|
10304 | | - ldrh w2, [x20, 236] |
---|
| 11713 | + ldrh w2, [x23, 236] |
---|
10305 | 11714 | ldrh w1, [x1, x0] |
---|
10306 | | - ldrh w0, [x20, 308] |
---|
| 11715 | + ldrh w0, [x23, 308] |
---|
10307 | 11716 | mul w0, w0, w2 |
---|
10308 | 11717 | mov w2, 2 |
---|
10309 | 11718 | sdiv w0, w0, w2 |
---|
10310 | 11719 | cmp w1, w0 |
---|
10311 | | - ble .L1479 |
---|
10312 | | - ldrh w0, [x20, 228] |
---|
10313 | | - sub w5, w5, #1 |
---|
10314 | | - cmp w0, w5 |
---|
10315 | | - blt .L1479 |
---|
| 11720 | + ble .L1506 |
---|
| 11721 | + ldrh w0, [x23, 228] |
---|
| 11722 | + sub w20, w20, #1 |
---|
| 11723 | + cmp w0, w20 |
---|
| 11724 | + blt .L1506 |
---|
10316 | 11725 | bl FtlReadRefresh |
---|
10317 | | - ldrh w0, [x20, 3960] |
---|
10318 | | - b .L1447 |
---|
10319 | | -.L1479: |
---|
10320 | | - cbnz w1, .L1539 |
---|
10321 | | - add x19, x19, :lo12:.LANCHOR0 |
---|
| 11726 | + b .L1585 |
---|
| 11727 | +.L1506: |
---|
| 11728 | + cbnz w1, .L1505 |
---|
10322 | 11729 | mov w0, -1 |
---|
10323 | 11730 | bl decrement_vpc_count |
---|
10324 | | - ldrh w0, [x19, 228] |
---|
| 11731 | + ldrh w0, [x23, 228] |
---|
10325 | 11732 | add w0, w0, 1 |
---|
10326 | | - b .L1447 |
---|
10327 | | -.L1482: |
---|
10328 | | - ldrh w1, [x0, 226] |
---|
10329 | | - cmp w1, w21 |
---|
10330 | | - beq .L1483 |
---|
10331 | | - ldr x2, [x0, 72] |
---|
10332 | | - ubfiz x1, x1, 1, 16 |
---|
10333 | | - ldrh w1, [x2, x1] |
---|
10334 | | - cbnz w1, .L1484 |
---|
10335 | | - mov w1, -1 |
---|
10336 | | - strh w1, [x0, 226] |
---|
10337 | | -.L1484: |
---|
10338 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
10339 | | - ldrh w1, [x0, 226] |
---|
10340 | | - strh w1, [x0, 176] |
---|
10341 | | - mov w1, -1 |
---|
10342 | | - strh w1, [x0, 226] |
---|
10343 | | - b .L1483 |
---|
10344 | | -.L1491: |
---|
10345 | | - mov w0, w6 |
---|
| 11733 | + b .L1477 |
---|
| 11734 | +.L1509: |
---|
| 11735 | + ldrh w0, [x23, 226] |
---|
| 11736 | + cmp w0, w20 |
---|
| 11737 | + beq .L1510 |
---|
| 11738 | + ldr x1, [x23, 72] |
---|
| 11739 | + ubfiz x0, x0, 1, 16 |
---|
| 11740 | + ldrh w0, [x1, x0] |
---|
| 11741 | + cbnz w0, .L1511 |
---|
| 11742 | + mov w0, -1 |
---|
| 11743 | + strh w0, [x23, 226] |
---|
| 11744 | +.L1511: |
---|
| 11745 | + ldrh w0, [x23, 226] |
---|
| 11746 | + strh w0, [x23, 176] |
---|
| 11747 | + mov w0, -1 |
---|
| 11748 | + strh w0, [x23, 226] |
---|
| 11749 | + b .L1510 |
---|
| 11750 | +.L1518: |
---|
| 11751 | + mov w0, w26 |
---|
10346 | 11752 | bl IsBlkInGcList |
---|
10347 | | - add w5, w5, 1 |
---|
10348 | | - cbz w0, .L1492 |
---|
10349 | | - strh w5, [x22, 3232] |
---|
10350 | | - b .L1490 |
---|
10351 | | -.L1492: |
---|
10352 | | - ldrh w4, [x22, 236] |
---|
10353 | | - ubfiz x1, x6, 1, 16 |
---|
10354 | | - ldrh w0, [x22, 306] |
---|
10355 | | - and w5, w5, 65535 |
---|
10356 | | - ldr x2, [x22, 72] |
---|
10357 | | - strh w5, [x22, 3232] |
---|
10358 | | - mul w0, w0, w4 |
---|
10359 | | - ldrh w3, [x2, x1] |
---|
10360 | | - sdiv w4, w0, w26 |
---|
10361 | | - cmp w3, w4 |
---|
10362 | | - bgt .L1494 |
---|
10363 | | - cmp w5, 48 |
---|
10364 | | - bls .L1495 |
---|
10365 | | - cmp w3, 8 |
---|
10366 | | - bls .L1495 |
---|
10367 | | - ldrh w3, [x22, 3284] |
---|
10368 | | - cmp w3, 35 |
---|
10369 | | - bhi .L1495 |
---|
10370 | | -.L1494: |
---|
10371 | | - strh wzr, [x22, 3232] |
---|
10372 | | -.L1495: |
---|
10373 | | - ldrh w1, [x2, x1] |
---|
| 11753 | + add w1, w22, 1 |
---|
| 11754 | + and w1, w1, 65535 |
---|
| 11755 | + strh w1, [x23, 3232] |
---|
| 11756 | + cbnz w0, .L1517 |
---|
| 11757 | + ldrh w5, [x23, 236] |
---|
| 11758 | + ubfiz x2, x26, 1, 16 |
---|
| 11759 | + ldrh w0, [x23, 306] |
---|
| 11760 | + ldr x3, [x23, 72] |
---|
| 11761 | + mul w0, w0, w5 |
---|
| 11762 | + ldrh w4, [x3, x2] |
---|
| 11763 | + sdiv w5, w0, w25 |
---|
| 11764 | + cmp w4, w5 |
---|
| 11765 | + bgt .L1521 |
---|
| 11766 | + cmp w1, 48 |
---|
| 11767 | + bls .L1522 |
---|
| 11768 | + cmp w4, 8 |
---|
| 11769 | + bls .L1522 |
---|
| 11770 | + ldrh w1, [x23, 3284] |
---|
| 11771 | + cmp w1, 35 |
---|
| 11772 | + bhi .L1522 |
---|
| 11773 | +.L1521: |
---|
| 11774 | + strh wzr, [x23, 3232] |
---|
| 11775 | +.L1522: |
---|
| 11776 | + ldrh w1, [x3, x2] |
---|
10374 | 11777 | cmp w0, w1 |
---|
10375 | | - bgt .L1496 |
---|
10376 | | - cmp w21, w25 |
---|
10377 | | - bne .L1496 |
---|
10378 | | - ldrh w0, [x22, 3232] |
---|
| 11778 | + bgt .L1523 |
---|
| 11779 | + cmp w20, w24 |
---|
| 11780 | + bne .L1523 |
---|
| 11781 | + ldrh w0, [x23, 3232] |
---|
10379 | 11782 | cmp w0, 3 |
---|
10380 | | - bhi .L1496 |
---|
| 11783 | + bhi .L1523 |
---|
10381 | 11784 | mov w0, -1 |
---|
10382 | | - strh wzr, [x22, 3232] |
---|
10383 | | - strh w0, [x22, 176] |
---|
10384 | | -.L1566: |
---|
10385 | | - ldrh w0, [x22, 3960] |
---|
10386 | | - b .L1447 |
---|
10387 | | -.L1496: |
---|
10388 | | - cbnz w1, .L1497 |
---|
| 11785 | + strh w0, [x23, 176] |
---|
| 11786 | + strh wzr, [x23, 3232] |
---|
| 11787 | + b .L1585 |
---|
| 11788 | +.L1523: |
---|
| 11789 | + cbnz w1, .L1524 |
---|
10389 | 11790 | mov w0, -1 |
---|
10390 | 11791 | bl decrement_vpc_count |
---|
10391 | | - ldrh w0, [x22, 3232] |
---|
| 11792 | + ldrh w0, [x23, 3232] |
---|
10392 | 11793 | add w0, w0, 1 |
---|
10393 | | - strh w0, [x22, 3232] |
---|
10394 | | - b .L1490 |
---|
10395 | | -.L1497: |
---|
10396 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
10397 | | - strb wzr, [x0, 184] |
---|
10398 | | - ldrh w0, [x0, 24] |
---|
10399 | | - cmp w0, w6 |
---|
10400 | | - bne .L1498 |
---|
10401 | | - adrp x0, .LC8 |
---|
| 11794 | + strh w0, [x23, 3232] |
---|
| 11795 | + b .L1517 |
---|
| 11796 | +.L1524: |
---|
| 11797 | + ldrh w0, [x23, 24] |
---|
| 11798 | + strb wzr, [x23, 184] |
---|
| 11799 | + cmp w0, w26 |
---|
| 11800 | + bne .L1525 |
---|
| 11801 | + adrp x0, .LC9 |
---|
| 11802 | + mov x1, x21 |
---|
| 11803 | + add x0, x0, :lo12:.LC9 |
---|
10402 | 11804 | mov w2, 717 |
---|
10403 | | - mov x1, x23 |
---|
10404 | | - add x0, x0, :lo12:.LC8 |
---|
10405 | 11805 | bl sftl_printk |
---|
10406 | | -.L1498: |
---|
10407 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
10408 | | - ldrh w1, [x0, 176] |
---|
10409 | | - ldrh w0, [x0, 80] |
---|
| 11806 | +.L1525: |
---|
| 11807 | + ldrh w1, [x23, 176] |
---|
| 11808 | + ldrh w0, [x23, 80] |
---|
10410 | 11809 | cmp w1, w0 |
---|
10411 | | - bne .L1499 |
---|
10412 | | - adrp x0, .LC8 |
---|
| 11810 | + bne .L1526 |
---|
| 11811 | + adrp x0, .LC9 |
---|
| 11812 | + mov x1, x21 |
---|
| 11813 | + add x0, x0, :lo12:.LC9 |
---|
10413 | 11814 | mov w2, 718 |
---|
10414 | | - mov x1, x23 |
---|
10415 | | - add x0, x0, :lo12:.LC8 |
---|
10416 | 11815 | bl sftl_printk |
---|
10417 | | -.L1499: |
---|
10418 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
10419 | | - ldrh w1, [x0, 176] |
---|
10420 | | - ldrh w0, [x0, 128] |
---|
| 11816 | +.L1526: |
---|
| 11817 | + ldrh w1, [x23, 176] |
---|
| 11818 | + ldrh w0, [x23, 128] |
---|
10421 | 11819 | cmp w1, w0 |
---|
10422 | | - bne .L1500 |
---|
10423 | | - adrp x0, .LC8 |
---|
| 11820 | + bne .L1527 |
---|
| 11821 | + adrp x0, .LC9 |
---|
| 11822 | + mov x1, x21 |
---|
| 11823 | + add x0, x0, :lo12:.LC9 |
---|
10424 | 11824 | mov w2, 719 |
---|
10425 | | - mov x1, x23 |
---|
10426 | | - add x0, x0, :lo12:.LC8 |
---|
10427 | 11825 | bl sftl_printk |
---|
10428 | | -.L1500: |
---|
10429 | | - add x22, x19, :lo12:.LANCHOR0 |
---|
10430 | | - add x25, x22, 176 |
---|
10431 | | - mov x0, x25 |
---|
| 11826 | +.L1527: |
---|
| 11827 | + add x22, x23, 176 |
---|
| 11828 | + mov x0, x22 |
---|
10432 | 11829 | bl make_superblock |
---|
10433 | | - ldrh w1, [x22, 176] |
---|
10434 | | - ldr x0, [x22, 72] |
---|
10435 | | - strh wzr, [x22, 3962] |
---|
| 11830 | + ldrh w1, [x23, 176] |
---|
| 11831 | + ldr x0, [x23, 72] |
---|
| 11832 | + strh wzr, [x23, 3954] |
---|
10436 | 11833 | ldrh w0, [x0, x1, lsl 1] |
---|
10437 | | - strh w0, [x22, 3964] |
---|
10438 | | - strh wzr, [x22, 178] |
---|
10439 | | - strb wzr, [x22, 182] |
---|
10440 | | -.L1489: |
---|
10441 | | - add x1, x19, :lo12:.LANCHOR0 |
---|
| 11834 | + strh wzr, [x23, 178] |
---|
| 11835 | + strb wzr, [x23, 182] |
---|
| 11836 | + strh w0, [x23, 3956] |
---|
| 11837 | +.L1516: |
---|
10442 | 11838 | mov w0, 1 |
---|
10443 | | - str w0, [x1, 3416] |
---|
10444 | | - ldrh w26, [x1, 306] |
---|
10445 | | - cbz w27, .L1501 |
---|
10446 | | - ldrh w0, [x1, 236] |
---|
10447 | | - ldrh w2, [x1, 176] |
---|
10448 | | - ldr x1, [x1, 72] |
---|
10449 | | - mul w0, w0, w26 |
---|
| 11839 | + str w0, [x23, 3408] |
---|
| 11840 | + ldrh w0, [x23, 306] |
---|
| 11841 | + str w0, [sp, 104] |
---|
| 11842 | + ldr w0, [sp, 108] |
---|
| 11843 | + cbz w0, .L1528 |
---|
| 11844 | + ldr w1, [sp, 104] |
---|
| 11845 | + ldrh w0, [x23, 236] |
---|
| 11846 | + ldrh w2, [x23, 176] |
---|
| 11847 | + mul w0, w0, w1 |
---|
| 11848 | + ldr x1, [x23, 72] |
---|
10450 | 11849 | ldrh w1, [x1, x2, lsl 1] |
---|
10451 | 11850 | sub w0, w0, w1 |
---|
10452 | 11851 | mov w1, 4 |
---|
10453 | 11852 | sdiv w0, w0, w1 |
---|
10454 | | - add w20, w20, w0 |
---|
10455 | | - and w20, w20, 65535 |
---|
10456 | | -.L1501: |
---|
10457 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
10458 | | - ldrh w0, [x0, 178] |
---|
10459 | | - add w1, w0, w20 |
---|
10460 | | - cmp w1, w26 |
---|
10461 | | - ble .L1502 |
---|
10462 | | - sub w20, w26, w0 |
---|
10463 | | - and w20, w20, 65535 |
---|
10464 | | -.L1502: |
---|
10465 | | - mov w28, 0 |
---|
10466 | | -.L1503: |
---|
10467 | | - cmp w20, w28, uxth |
---|
10468 | | - bls .L1511 |
---|
10469 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
| 11853 | + add w19, w0, w19 |
---|
| 11854 | + and w19, w19, 65535 |
---|
| 11855 | +.L1528: |
---|
| 11856 | + ldrh w0, [x23, 178] |
---|
| 11857 | + ldr w2, [sp, 104] |
---|
| 11858 | + add w1, w0, w19 |
---|
| 11859 | + cmp w1, w2 |
---|
| 11860 | + ble .L1529 |
---|
| 11861 | + sub w0, w2, w0 |
---|
| 11862 | + and w19, w0, 65535 |
---|
| 11863 | +.L1529: |
---|
| 11864 | + add x26, x23, 176 |
---|
| 11865 | + mov w27, 0 |
---|
| 11866 | +.L1530: |
---|
| 11867 | + ldrh w0, [x26, 2] |
---|
| 11868 | + cmp w19, w27, uxth |
---|
| 11869 | + bls .L1538 |
---|
| 11870 | + ldrh w7, [x23, 236] |
---|
| 11871 | + add w1, w0, w27 |
---|
| 11872 | + mov x4, x26 |
---|
10470 | 11873 | mov w22, 0 |
---|
10471 | | - add x3, x0, 192 |
---|
10472 | | - mov w1, 0 |
---|
10473 | | - mov w6, 65535 |
---|
10474 | | - ldrh w4, [x0, 178] |
---|
10475 | | - ldrh w7, [x0, 236] |
---|
10476 | | - add w4, w4, w28 |
---|
10477 | | - b .L1512 |
---|
10478 | | -.L1505: |
---|
10479 | | - ldrh w2, [x3] |
---|
10480 | | - cmp w2, w6 |
---|
10481 | | - beq .L1504 |
---|
10482 | | - ldr x5, [x0, 3272] |
---|
| 11874 | + mov w2, 0 |
---|
| 11875 | + mov w5, 65535 |
---|
| 11876 | + b .L1539 |
---|
| 11877 | +.L1532: |
---|
| 11878 | + ldrh w3, [x4, 16] |
---|
| 11879 | + cmp w3, w5 |
---|
| 11880 | + beq .L1531 |
---|
10483 | 11881 | ubfiz x8, x22, 5, 16 |
---|
10484 | 11882 | add w22, w22, 1 |
---|
10485 | | - orr w2, w4, w2, lsl 10 |
---|
10486 | | - add x5, x5, x8 |
---|
| 11883 | + add x0, x0, x8 |
---|
10487 | 11884 | and w22, w22, 65535 |
---|
10488 | | - str w2, [x5, 4] |
---|
10489 | | -.L1504: |
---|
10490 | | - add w1, w1, 1 |
---|
10491 | | - add x3, x3, 2 |
---|
10492 | | - and w1, w1, 65535 |
---|
10493 | | -.L1512: |
---|
10494 | | - cmp w1, w7 |
---|
10495 | | - bne .L1505 |
---|
10496 | | - add x24, x19, :lo12:.LANCHOR0 |
---|
| 11885 | + orr w3, w1, w3, lsl 10 |
---|
| 11886 | + str w3, [x0, 4] |
---|
| 11887 | +.L1531: |
---|
| 11888 | + add w2, w2, 1 |
---|
| 11889 | + add x4, x4, 2 |
---|
| 11890 | + and w2, w2, 65535 |
---|
| 11891 | +.L1539: |
---|
| 11892 | + ldr x0, [x23, 3272] |
---|
| 11893 | + cmp w2, w7 |
---|
| 11894 | + bne .L1532 |
---|
| 11895 | + ldrb w2, [x26, 8] |
---|
10497 | 11896 | mov w1, w22 |
---|
10498 | | - mov x25, 0 |
---|
10499 | | - ldrb w2, [x24, 184] |
---|
10500 | | - ldr x0, [x24, 3272] |
---|
| 11897 | + mov x24, 0 |
---|
10501 | 11898 | bl FlashReadPages |
---|
10502 | | - ubfiz x0, x22, 5, 16 |
---|
10503 | | - mov x22, x24 |
---|
10504 | | - str x0, [x29, 120] |
---|
10505 | | -.L1506: |
---|
10506 | | - ldr x0, [x29, 120] |
---|
10507 | | - cmp x0, x25 |
---|
10508 | | - bne .L1510 |
---|
10509 | | - add w28, w28, 1 |
---|
10510 | | - b .L1503 |
---|
10511 | | -.L1510: |
---|
10512 | | - ldr x0, [x22, 3272] |
---|
10513 | | - add x1, x0, x25 |
---|
10514 | | - ldr w0, [x0, x25] |
---|
| 11899 | + adrp x0, .LC9 |
---|
| 11900 | + add x0, x0, :lo12:.LC9 |
---|
| 11901 | + str x0, [sp, 112] |
---|
| 11902 | +.L1533: |
---|
| 11903 | + cmp w22, w24, uxth |
---|
| 11904 | + bhi .L1537 |
---|
| 11905 | + add w27, w27, 1 |
---|
| 11906 | + b .L1530 |
---|
| 11907 | +.L1537: |
---|
| 11908 | + ldr x0, [x23, 3272] |
---|
| 11909 | + lsl x28, x24, 5 |
---|
| 11910 | + add x1, x0, x24, lsl 5 |
---|
| 11911 | + ldr w0, [x0, x28] |
---|
10515 | 11912 | cmn w0, #1 |
---|
10516 | | - beq .L1507 |
---|
10517 | | - ldr x24, [x1, 16] |
---|
| 11913 | + beq .L1534 |
---|
| 11914 | + ldr x25, [x1, 16] |
---|
10518 | 11915 | mov w0, 61589 |
---|
10519 | | - ldrh w1, [x24] |
---|
| 11916 | + ldrh w1, [x25] |
---|
10520 | 11917 | cmp w1, w0 |
---|
10521 | | - bne .L1507 |
---|
10522 | | - ldr w5, [x24, 8] |
---|
10523 | | - cmn w5, #1 |
---|
10524 | | - bne .L1508 |
---|
10525 | | - str w5, [x29, 104] |
---|
| 11918 | + bne .L1534 |
---|
| 11919 | + ldr w4, [x25, 8] |
---|
| 11920 | + cmn w4, #1 |
---|
| 11921 | + bne .L1535 |
---|
| 11922 | + ldr x0, [sp, 112] |
---|
| 11923 | + mov x1, x21 |
---|
10526 | 11924 | mov w2, 753 |
---|
10527 | | - mov x1, x23 |
---|
10528 | | - adrp x0, .LC8 |
---|
10529 | | - add x0, x0, :lo12:.LC8 |
---|
| 11925 | + str w4, [sp, 120] |
---|
10530 | 11926 | bl sftl_printk |
---|
10531 | | - ldr w5, [x29, 104] |
---|
10532 | | -.L1508: |
---|
| 11927 | + ldr w4, [sp, 120] |
---|
| 11928 | +.L1535: |
---|
| 11929 | + add x1, sp, 128 |
---|
10533 | 11930 | mov w2, 0 |
---|
10534 | | - add x1, x29, 128 |
---|
10535 | | - mov w0, w5 |
---|
| 11931 | + mov w0, w4 |
---|
10536 | 11932 | bl log2phys |
---|
10537 | | - ldr x0, [x22, 3272] |
---|
10538 | | - ldr w1, [x29, 128] |
---|
10539 | | - add x0, x0, x25 |
---|
| 11933 | + ldr x0, [x23, 3272] |
---|
| 11934 | + ldr w1, [sp, 128] |
---|
| 11935 | + add x0, x0, x28 |
---|
10540 | 11936 | ldr w2, [x0, 4] |
---|
10541 | 11937 | cmp w2, w1 |
---|
10542 | | - bne .L1507 |
---|
10543 | | - ldrh w1, [x22, 3962] |
---|
10544 | | - ldr x2, [x22, 3440] |
---|
| 11938 | + bne .L1534 |
---|
| 11939 | + ldrh w1, [x23, 3954] |
---|
| 11940 | + ldr x2, [x23, 3432] |
---|
10545 | 11941 | add w1, w1, 1 |
---|
10546 | | - strh w1, [x22, 3962] |
---|
10547 | | - ldr w1, [x22, 3240] |
---|
| 11942 | + strh w1, [x23, 3954] |
---|
| 11943 | + ldr w1, [x23, 3240] |
---|
10548 | 11944 | ldr w0, [x0, 24] |
---|
10549 | 11945 | add x1, x2, x1, lsl 5 |
---|
10550 | | - str x1, [x29, 104] |
---|
| 11946 | + str x1, [sp, 120] |
---|
10551 | 11947 | str w0, [x1, 24] |
---|
10552 | 11948 | bl Ftl_get_new_temp_ppa |
---|
10553 | | - ldr x1, [x29, 104] |
---|
| 11949 | + ldr x1, [sp, 120] |
---|
10554 | 11950 | str w0, [x1, 4] |
---|
10555 | | - ldr w0, [x22, 3240] |
---|
10556 | | - ldr x1, [x22, 3440] |
---|
10557 | | - add x0, x1, x0, lsl 5 |
---|
10558 | | - ldr x1, [x22, 3272] |
---|
10559 | | - add x1, x1, x25 |
---|
| 11951 | + ldr w0, [x23, 3240] |
---|
| 11952 | + ldr x1, [x23, 3272] |
---|
| 11953 | + ldr x2, [x23, 3432] |
---|
| 11954 | + add x1, x1, x28 |
---|
| 11955 | + add x0, x2, x0, lsl 5 |
---|
10560 | 11956 | ldr x2, [x1, 8] |
---|
10561 | 11957 | str x2, [x0, 8] |
---|
| 11958 | + add x2, x23, 128 |
---|
| 11959 | + str x2, [sp, 120] |
---|
10562 | 11960 | ldr x1, [x1, 16] |
---|
10563 | 11961 | str x1, [x0, 16] |
---|
10564 | | - ldr w0, [x29, 128] |
---|
| 11962 | + ldr w0, [sp, 128] |
---|
10565 | 11963 | mov w1, 1 |
---|
10566 | | - str w0, [x24, 12] |
---|
10567 | | - ldrh w0, [x22, 128] |
---|
10568 | | - strh w0, [x24, 2] |
---|
10569 | | - ldr w0, [x22, 2664] |
---|
10570 | | - str w0, [x24, 4] |
---|
10571 | | - ldr w0, [x22, 3240] |
---|
| 11964 | + str w0, [x25, 12] |
---|
| 11965 | + ldrh w0, [x23, 128] |
---|
| 11966 | + strh w0, [x25, 2] |
---|
| 11967 | + ldr w0, [x23, 2664] |
---|
| 11968 | + str w0, [x25, 4] |
---|
| 11969 | + ldr w0, [x23, 3240] |
---|
10572 | 11970 | add w0, w0, 1 |
---|
10573 | | - str w0, [x22, 3240] |
---|
10574 | | - ldr x0, [x22, 3272] |
---|
10575 | | - add x0, x0, x25 |
---|
| 11971 | + str w0, [x23, 3240] |
---|
| 11972 | + ldr x0, [x23, 3272] |
---|
| 11973 | + add x0, x0, x28 |
---|
10576 | 11974 | bl FtlGcBufAlloc |
---|
10577 | | - ldrb w1, [x22, 135] |
---|
10578 | | - ldr w0, [x22, 3240] |
---|
| 11975 | + ldr x2, [sp, 120] |
---|
| 11976 | + ldr w0, [x23, 3240] |
---|
| 11977 | + ldrb w1, [x2, 7] |
---|
10579 | 11978 | cmp w1, w0 |
---|
10580 | | - beq .L1509 |
---|
10581 | | - ldrh w0, [x22, 132] |
---|
10582 | | - cbnz w0, .L1507 |
---|
10583 | | -.L1509: |
---|
| 11979 | + beq .L1536 |
---|
| 11980 | + ldrh w0, [x2, 4] |
---|
| 11981 | + cbnz w0, .L1534 |
---|
| 11982 | +.L1536: |
---|
10584 | 11983 | bl Ftl_gc_temp_data_write_back |
---|
10585 | | - cbz w0, .L1507 |
---|
10586 | | - add x19, x19, :lo12:.LANCHOR0 |
---|
10587 | | - mov w0, -1 |
---|
10588 | | - strh wzr, [x19, 178] |
---|
10589 | | - strh w0, [x19, 176] |
---|
10590 | | - str wzr, [x19, 3416] |
---|
10591 | | - ldrh w0, [x19, 3960] |
---|
10592 | | - b .L1447 |
---|
10593 | | -.L1507: |
---|
10594 | | - add x25, x25, 32 |
---|
10595 | | - b .L1506 |
---|
10596 | | -.L1511: |
---|
10597 | | - add x22, x19, :lo12:.LANCHOR0 |
---|
10598 | | - ldrh w0, [x22, 178] |
---|
10599 | | - add w20, w20, w0 |
---|
10600 | | - and w20, w20, 65535 |
---|
10601 | | - strh w20, [x22, 178] |
---|
10602 | | - cmp w26, w20 |
---|
10603 | | - bhi .L1513 |
---|
10604 | | - ldr w0, [x22, 3240] |
---|
10605 | | - cbz w0, .L1514 |
---|
| 11984 | + cbz w0, .L1534 |
---|
| 11985 | + mov w0, 65535 |
---|
| 11986 | + str w0, [x23, 176] |
---|
| 11987 | + str wzr, [x23, 3408] |
---|
| 11988 | + b .L1585 |
---|
| 11989 | +.L1534: |
---|
| 11990 | + add x24, x24, 1 |
---|
| 11991 | + b .L1533 |
---|
| 11992 | +.L1538: |
---|
| 11993 | + add w19, w19, w0 |
---|
| 11994 | + ldr w0, [sp, 104] |
---|
| 11995 | + and w19, w19, 65535 |
---|
| 11996 | + strh w19, [x26, 2] |
---|
| 11997 | + cmp w0, w19 |
---|
| 11998 | + bhi .L1540 |
---|
| 11999 | + ldr w0, [x23, 3240] |
---|
| 12000 | + cbz w0, .L1541 |
---|
10606 | 12001 | bl Ftl_gc_temp_data_write_back |
---|
10607 | | - cbz w0, .L1514 |
---|
10608 | | - str wzr, [x22, 3416] |
---|
10609 | | - b .L1566 |
---|
10610 | | -.L1514: |
---|
10611 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
10612 | | - ldrh w1, [x0, 3962] |
---|
10613 | | - cbnz w1, .L1515 |
---|
10614 | | - ldrh w2, [x0, 176] |
---|
10615 | | - ldr x1, [x0, 72] |
---|
10616 | | - ldrh w1, [x1, x2, lsl 1] |
---|
10617 | | - cbz w1, .L1515 |
---|
10618 | | - mov x20, x0 |
---|
10619 | | - mov w22, 0 |
---|
10620 | | -.L1516: |
---|
10621 | | - ldr w0, [x20, 2624] |
---|
10622 | | - cmp w22, w0 |
---|
10623 | | - bcs .L1521 |
---|
| 12002 | + cbz w0, .L1541 |
---|
| 12003 | + str wzr, [x23, 3408] |
---|
| 12004 | + b .L1585 |
---|
| 12005 | +.L1541: |
---|
| 12006 | + ldrh w0, [x23, 3954] |
---|
| 12007 | + cbnz w0, .L1542 |
---|
| 12008 | + ldrh w1, [x23, 176] |
---|
| 12009 | + ldr x0, [x23, 72] |
---|
| 12010 | + ldrh w0, [x0, x1, lsl 1] |
---|
| 12011 | + cbz w0, .L1542 |
---|
| 12012 | + mov w19, 0 |
---|
| 12013 | + b .L1543 |
---|
| 12014 | +.L1546: |
---|
| 12015 | + add x1, sp, 132 |
---|
| 12016 | + mov w0, w19 |
---|
10624 | 12017 | mov w2, 0 |
---|
10625 | | - add x1, x29, 132 |
---|
10626 | | - mov w0, w22 |
---|
10627 | 12018 | bl log2phys |
---|
10628 | | - ldr w0, [x29, 132] |
---|
| 12019 | + ldr w0, [sp, 132] |
---|
10629 | 12020 | cmn w0, #1 |
---|
10630 | | - beq .L1517 |
---|
10631 | | - lsr w0, w0, 10 |
---|
| 12021 | + beq .L1544 |
---|
| 12022 | + ubfx x0, x0, 10, 16 |
---|
10632 | 12023 | bl P2V_block_in_plane |
---|
10633 | | - ldrh w1, [x20, 176] |
---|
| 12024 | + ldrh w1, [x23, 176] |
---|
10634 | 12025 | cmp w1, w0, uxth |
---|
10635 | | - bne .L1517 |
---|
10636 | | -.L1521: |
---|
10637 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
10638 | | - ldr w1, [x0, 2624] |
---|
10639 | | - cmp w22, w1 |
---|
10640 | | - bcc .L1515 |
---|
10641 | | - ldrh w2, [x0, 176] |
---|
10642 | | - ldr x1, [x0, 72] |
---|
10643 | | - strh wzr, [x1, x2, lsl 1] |
---|
10644 | | - ldrh w0, [x0, 176] |
---|
| 12026 | + beq .L1545 |
---|
| 12027 | +.L1544: |
---|
| 12028 | + add w19, w19, 1 |
---|
| 12029 | +.L1543: |
---|
| 12030 | + ldr w0, [x23, 2624] |
---|
| 12031 | + cmp w19, w0 |
---|
| 12032 | + bcc .L1546 |
---|
| 12033 | +.L1548: |
---|
| 12034 | + ldrh w1, [x23, 176] |
---|
| 12035 | + ldr x0, [x23, 72] |
---|
| 12036 | + strh wzr, [x0, x1, lsl 1] |
---|
| 12037 | + ldrh w0, [x23, 176] |
---|
10645 | 12038 | bl update_vpc_list |
---|
10646 | 12039 | bl l2p_flush |
---|
10647 | 12040 | bl FtlVpcTblFlush |
---|
10648 | | -.L1515: |
---|
10649 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
10650 | | - mov w1, -1 |
---|
10651 | | - strh w1, [x0, 176] |
---|
10652 | | -.L1513: |
---|
10653 | | - add x1, x19, :lo12:.LANCHOR0 |
---|
10654 | | - ldrh w0, [x1, 228] |
---|
10655 | | - str wzr, [x1, 3416] |
---|
| 12041 | +.L1542: |
---|
| 12042 | + mov w0, -1 |
---|
| 12043 | + strh w0, [x23, 176] |
---|
| 12044 | +.L1540: |
---|
| 12045 | + ldrh w0, [x23, 228] |
---|
| 12046 | + str wzr, [x23, 3408] |
---|
10656 | 12047 | cmp w0, 2 |
---|
10657 | | - bhi .L1522 |
---|
10658 | | - ldrh w20, [x1, 306] |
---|
10659 | | - b .L1523 |
---|
10660 | | -.L1517: |
---|
10661 | | - add w22, w22, 1 |
---|
10662 | | - b .L1516 |
---|
10663 | | -.L1522: |
---|
10664 | | - ldrh w1, [x1, 3960] |
---|
| 12048 | + bhi .L1549 |
---|
| 12049 | + ldrh w19, [x23, 306] |
---|
| 12050 | + b .L1550 |
---|
| 12051 | +.L1545: |
---|
| 12052 | + ldr w0, [x23, 2624] |
---|
| 12053 | + cmp w19, w0 |
---|
| 12054 | + bcc .L1542 |
---|
| 12055 | + b .L1548 |
---|
| 12056 | +.L1549: |
---|
| 12057 | + ldrh w1, [x23, 3952] |
---|
10665 | 12058 | cmp w1, 0 |
---|
10666 | 12059 | csinc w0, w1, w0, ne |
---|
10667 | | - b .L1447 |
---|
10668 | | -.L1527: |
---|
| 12060 | + b .L1477 |
---|
| 12061 | +.L1554: |
---|
10669 | 12062 | mov w0, 0 |
---|
10670 | | - b .L1447 |
---|
10671 | | -.L1525: |
---|
| 12063 | + b .L1477 |
---|
| 12064 | +.L1513: |
---|
| 12065 | + mov x0, x21 |
---|
| 12066 | + bl make_superblock |
---|
| 12067 | + ldrh w1, [x23, 176] |
---|
| 12068 | + ldr x0, [x23, 72] |
---|
| 12069 | + strh wzr, [x21, 2] |
---|
| 12070 | + strb wzr, [x21, 6] |
---|
| 12071 | + strh wzr, [x23, 3954] |
---|
| 12072 | + ldrh w0, [x0, x1, lsl 1] |
---|
| 12073 | + strh w0, [x23, 3956] |
---|
| 12074 | + b .L1508 |
---|
| 12075 | +.L1552: |
---|
10672 | 12076 | ldp x19, x20, [sp, 16] |
---|
10673 | 12077 | ldp x21, x22, [sp, 32] |
---|
10674 | 12078 | ldp x23, x24, [sp, 48] |
---|
10675 | 12079 | ldp x25, x26, [sp, 64] |
---|
10676 | 12080 | ldp x27, x28, [sp, 80] |
---|
10677 | 12081 | ldp x29, x30, [sp], 144 |
---|
| 12082 | + hint 29 // autiasp |
---|
10678 | 12083 | ret |
---|
10679 | 12084 | .size rk_ftl_garbage_collect, .-rk_ftl_garbage_collect |
---|
10680 | 12085 | .align 2 |
---|
10681 | 12086 | .global FtlRead |
---|
10682 | 12087 | .type FtlRead, %function |
---|
10683 | 12088 | FtlRead: |
---|
10684 | | - stp x29, x30, [sp, -176]! |
---|
| 12089 | + hint 34 // bti c |
---|
| 12090 | + .section __patchable_function_entries |
---|
| 12091 | + .align 3 |
---|
| 12092 | + .8byte .LPFE124 |
---|
| 12093 | + .text |
---|
| 12094 | +.LPFE124: |
---|
| 12095 | + nop |
---|
| 12096 | + nop |
---|
| 12097 | + hint 25 // paciasp |
---|
| 12098 | + stp x29, x30, [sp, -160]! |
---|
10685 | 12099 | and w0, w0, 255 |
---|
10686 | | - cmp w0, 16 |
---|
10687 | | - add x29, sp, 0 |
---|
| 12100 | + mov x29, sp |
---|
| 12101 | + stp x19, x20, [sp, 16] |
---|
| 12102 | + stp x21, x22, [sp, 32] |
---|
| 12103 | + mov x21, x3 |
---|
| 12104 | + stp x23, x24, [sp, 48] |
---|
| 12105 | + mov w23, w2 |
---|
10688 | 12106 | stp x25, x26, [sp, 64] |
---|
10689 | 12107 | mov w26, w1 |
---|
10690 | | - stp x21, x22, [sp, 32] |
---|
10691 | | - adrp x1, __stack_chk_guard |
---|
10692 | | - stp x19, x20, [sp, 16] |
---|
10693 | | - mov w25, w2 |
---|
10694 | | - stp x23, x24, [sp, 48] |
---|
10695 | | - add x2, x1, :lo12:__stack_chk_guard |
---|
| 12108 | + mrs x1, sp_el0 |
---|
10696 | 12109 | stp x27, x28, [sp, 80] |
---|
10697 | | - mov x22, x3 |
---|
10698 | | - str x1, [x29, 112] |
---|
10699 | | - ldr x3, [x2] |
---|
10700 | | - str x3, [x29, 168] |
---|
10701 | | - mov x3,0 |
---|
10702 | | - bne .L1568 |
---|
10703 | | - mov x2, x22 |
---|
10704 | | - mov w1, w25 |
---|
| 12110 | + ldr x2, [x1, 1376] |
---|
| 12111 | + str x2, [sp, 152] |
---|
| 12112 | + mov x2, 0 |
---|
| 12113 | + cmp w0, 16 |
---|
| 12114 | + bne .L1587 |
---|
| 12115 | + mov x2, x3 |
---|
| 12116 | + mov w1, w23 |
---|
10705 | 12117 | add w0, w26, 256 |
---|
10706 | 12118 | bl FtlVendorPartRead |
---|
10707 | 12119 | mov w19, w0 |
---|
10708 | | -.L1567: |
---|
10709 | | - ldr x1, [x29, 112] |
---|
10710 | | - mov w0, w19 |
---|
10711 | | - add x1, x1, :lo12:__stack_chk_guard |
---|
10712 | | - ldr x2, [x29, 168] |
---|
10713 | | - ldr x1, [x1] |
---|
10714 | | - eor x1, x2, x1 |
---|
10715 | | - cbz x1, .L1589 |
---|
| 12120 | +.L1586: |
---|
| 12121 | + mrs x0, sp_el0 |
---|
| 12122 | + ldr x1, [sp, 152] |
---|
| 12123 | + ldr x2, [x0, 1376] |
---|
| 12124 | + subs x1, x1, x2 |
---|
| 12125 | + mov x2, 0 |
---|
| 12126 | + beq .L1609 |
---|
10716 | 12127 | bl __stack_chk_fail |
---|
10717 | | -.L1568: |
---|
10718 | | - adrp x1, .LANCHOR0 |
---|
10719 | | - add x3, x1, :lo12:.LANCHOR0 |
---|
10720 | | - str x1, [x29, 104] |
---|
10721 | | - ldr w0, [x3, 344] |
---|
10722 | | - cmp w26, w0 |
---|
10723 | | - bcs .L1592 |
---|
10724 | | - cmp w25, w0 |
---|
10725 | | - bhi .L1592 |
---|
10726 | | - add w1, w26, w25 |
---|
10727 | | - str w1, [x29, 144] |
---|
| 12128 | +.L1587: |
---|
| 12129 | + adrp x3, .LANCHOR0 |
---|
| 12130 | + add x28, x3, :lo12:.LANCHOR0 |
---|
| 12131 | + ldr w0, [x28, 344] |
---|
| 12132 | + cmp w0, w26 |
---|
| 12133 | + bls .L1612 |
---|
| 12134 | + cmp w0, w23 |
---|
| 12135 | + bcc .L1612 |
---|
| 12136 | + add w1, w26, w23 |
---|
| 12137 | + str w1, [sp, 116] |
---|
10728 | 12138 | cmp w0, w1 |
---|
10729 | | - bcc .L1592 |
---|
| 12139 | + bcc .L1612 |
---|
10730 | 12140 | adrp x0, .LANCHOR2 |
---|
10731 | 12141 | ldr w19, [x0, #:lo12:.LANCHOR2] |
---|
10732 | 12142 | cmn w19, #1 |
---|
10733 | | - beq .L1567 |
---|
10734 | | - ldrh w0, [x3, 262] |
---|
10735 | | - mov x27, x3 |
---|
10736 | | - mov w23, 0 |
---|
10737 | | - mov w28, 0 |
---|
| 12143 | + beq .L1586 |
---|
| 12144 | + ldrh w0, [x28, 262] |
---|
| 12145 | + mov w20, 0 |
---|
10738 | 12146 | mov w19, 0 |
---|
10739 | | - stp wzr, wzr, [x29, 148] |
---|
| 12147 | + stp wzr, wzr, [sp, 108] |
---|
10740 | 12148 | udiv w1, w26, w0 |
---|
10741 | | - str w1, [x29, 156] |
---|
10742 | | - add w1, w26, w25 |
---|
10743 | | - sub w24, w1, #1 |
---|
10744 | | - ldr w20, [x29, 156] |
---|
10745 | | - udiv w24, w24, w0 |
---|
10746 | | - ldr w0, [x29, 156] |
---|
10747 | | - sub w21, w24, w0 |
---|
10748 | | - ldr w0, [x3, 2656] |
---|
10749 | | - add w21, w21, 1 |
---|
10750 | | - add w0, w0, w25 |
---|
10751 | | - str w0, [x3, 2656] |
---|
10752 | | - ldr w0, [x3, 2628] |
---|
10753 | | - add w0, w0, w21 |
---|
10754 | | - str w0, [x3, 2628] |
---|
10755 | | -.L1570: |
---|
10756 | | - cbnz w21, .L1587 |
---|
10757 | | - ldr x0, [x29, 104] |
---|
10758 | | - add x0, x0, :lo12:.LANCHOR0 |
---|
10759 | | - ldrh w1, [x0, 3312] |
---|
10760 | | - cbnz w1, .L1588 |
---|
10761 | | - ldrh w0, [x0, 228] |
---|
| 12149 | + stp w1, wzr, [sp, 100] |
---|
| 12150 | + add w1, w26, w23 |
---|
| 12151 | + sub w25, w1, #1 |
---|
| 12152 | + ldr w22, [sp, 100] |
---|
| 12153 | + udiv w25, w25, w0 |
---|
| 12154 | + ldr w0, [sp, 100] |
---|
| 12155 | + sub w24, w25, w0 |
---|
| 12156 | + ldr w0, [x28, 2656] |
---|
| 12157 | + add w24, w24, 1 |
---|
| 12158 | + add w0, w0, w23 |
---|
| 12159 | + str w0, [x28, 2656] |
---|
| 12160 | + ldr w0, [x28, 2628] |
---|
| 12161 | + add w0, w0, w24 |
---|
| 12162 | + str w0, [x28, 2628] |
---|
| 12163 | +.L1589: |
---|
| 12164 | + cbnz w24, .L1607 |
---|
| 12165 | + ldrh w0, [x28, 3312] |
---|
| 12166 | + cbnz w0, .L1608 |
---|
| 12167 | + ldrh w0, [x28, 228] |
---|
10762 | 12168 | cmp w0, 31 |
---|
10763 | | - bhi .L1567 |
---|
10764 | | -.L1588: |
---|
| 12169 | + bhi .L1586 |
---|
| 12170 | +.L1608: |
---|
10765 | 12171 | mov w1, 1 |
---|
10766 | 12172 | mov w0, 0 |
---|
10767 | 12173 | bl rk_ftl_garbage_collect |
---|
10768 | | - b .L1567 |
---|
10769 | | -.L1587: |
---|
10770 | | - add x1, x29, 164 |
---|
| 12174 | + b .L1586 |
---|
| 12175 | +.L1607: |
---|
| 12176 | + add x1, sp, 148 |
---|
| 12177 | + mov w0, w22 |
---|
10771 | 12178 | mov w2, 0 |
---|
10772 | | - mov w0, w20 |
---|
10773 | 12179 | bl log2phys |
---|
10774 | | - ldr w1, [x29, 164] |
---|
| 12180 | + ldr w1, [sp, 148] |
---|
10775 | 12181 | cmn w1, #1 |
---|
10776 | | - bne .L1571 |
---|
10777 | | - mov w6, 0 |
---|
10778 | | -.L1572: |
---|
10779 | | - ldrh w0, [x27, 262] |
---|
10780 | | - cmp w6, w0 |
---|
10781 | | - bcc .L1574 |
---|
10782 | | -.L1575: |
---|
10783 | | - add w20, w20, 1 |
---|
10784 | | - subs w21, w21, #1 |
---|
10785 | | - beq .L1579 |
---|
10786 | | - ldrh w0, [x27, 236] |
---|
10787 | | - cmp w28, w0, lsl 2 |
---|
10788 | | - bne .L1570 |
---|
10789 | | -.L1579: |
---|
10790 | | - cbz w28, .L1570 |
---|
10791 | | - ldr x0, [x27, 3432] |
---|
10792 | | - mov w1, w28 |
---|
10793 | | - mov w2, 0 |
---|
10794 | | - bl FlashReadPages |
---|
10795 | | - ldr w0, [x29, 148] |
---|
10796 | | - lsl w0, w0, 9 |
---|
10797 | | - str w0, [x29, 128] |
---|
10798 | | - ldr w0, [x29, 152] |
---|
10799 | | - lsl w0, w0, 9 |
---|
10800 | | - str x0, [x29, 136] |
---|
10801 | | - lsl w0, w23, 9 |
---|
10802 | | - str w0, [x29, 132] |
---|
10803 | | - ubfiz x0, x28, 5, 32 |
---|
10804 | | - mov x28, 0 |
---|
10805 | | - str x0, [x29, 120] |
---|
10806 | | -.L1586: |
---|
10807 | | - ldr x0, [x27, 3432] |
---|
10808 | | - ldr w2, [x29, 156] |
---|
10809 | | - add x0, x0, x28 |
---|
10810 | | - ldr w1, [x0, 24] |
---|
10811 | | - cmp w2, w1 |
---|
10812 | | - bne .L1581 |
---|
10813 | | - ldr x1, [x0, 8] |
---|
10814 | | - ldr x0, [x27, 3480] |
---|
10815 | | - cmp x1, x0 |
---|
10816 | | - bne .L1582 |
---|
10817 | | - ldr x0, [x29, 136] |
---|
10818 | | - ldr w2, [x29, 132] |
---|
10819 | | - add x1, x1, x0 |
---|
10820 | | - mov x0, x22 |
---|
10821 | | -.L1602: |
---|
10822 | | - bl ftl_memcpy |
---|
10823 | | -.L1582: |
---|
10824 | | - ldr x0, [x27, 3432] |
---|
10825 | | - add x0, x0, x28 |
---|
10826 | | - ldr x1, [x0, 16] |
---|
10827 | | - ldr w2, [x0, 24] |
---|
10828 | | - ldr w1, [x1, 8] |
---|
10829 | | - cmp w2, w1 |
---|
10830 | | - beq .L1583 |
---|
10831 | | - ldr w1, [x27, 2784] |
---|
10832 | | - add w1, w1, 1 |
---|
10833 | | - str w1, [x27, 2784] |
---|
10834 | | -.L1583: |
---|
10835 | | - ldr w2, [x0] |
---|
10836 | | - cmn w2, #1 |
---|
10837 | | - bne .L1584 |
---|
10838 | | - ldr w1, [x27, 2784] |
---|
10839 | | - mov w19, w2 |
---|
10840 | | - add w1, w1, 1 |
---|
10841 | | - str w1, [x27, 2784] |
---|
10842 | | -.L1584: |
---|
10843 | | - ldr w1, [x0] |
---|
10844 | | - cmp w1, 256 |
---|
10845 | | - bne .L1585 |
---|
10846 | | - ldr w0, [x0, 4] |
---|
10847 | | - lsr w0, w0, 10 |
---|
10848 | | - bl P2V_block_in_plane |
---|
10849 | | - bl FtlGcRefreshBlock |
---|
10850 | | -.L1585: |
---|
10851 | | - ldr x0, [x29, 120] |
---|
10852 | | - add x28, x28, 32 |
---|
10853 | | - cmp x0, x28 |
---|
10854 | | - bne .L1586 |
---|
10855 | | - mov w28, 0 |
---|
10856 | | - b .L1570 |
---|
10857 | | -.L1574: |
---|
10858 | | - madd w0, w20, w0, w6 |
---|
| 12182 | + bne .L1622 |
---|
| 12183 | + mov w27, 0 |
---|
| 12184 | + b .L1590 |
---|
| 12185 | +.L1593: |
---|
| 12186 | + madd w0, w0, w22, w27 |
---|
10859 | 12187 | cmp w26, w0 |
---|
10860 | | - bhi .L1573 |
---|
10861 | | - ldr w1, [x29, 144] |
---|
| 12188 | + bhi .L1592 |
---|
| 12189 | + ldr w1, [sp, 116] |
---|
10862 | 12190 | cmp w1, w0 |
---|
10863 | | - bls .L1573 |
---|
| 12191 | + bls .L1592 |
---|
10864 | 12192 | sub w0, w0, w26 |
---|
10865 | | - str w6, [x29, 136] |
---|
10866 | | - lsl w0, w0, 9 |
---|
10867 | 12193 | mov w2, 512 |
---|
10868 | 12194 | mov w1, 0 |
---|
10869 | | - add x0, x22, x0 |
---|
| 12195 | + lsl w0, w0, 9 |
---|
| 12196 | + add x0, x21, x0 |
---|
10870 | 12197 | bl ftl_memset |
---|
10871 | | - ldr w6, [x29, 136] |
---|
10872 | | -.L1573: |
---|
10873 | | - add w6, w6, 1 |
---|
10874 | | - b .L1572 |
---|
10875 | | -.L1571: |
---|
10876 | | - ldr x0, [x27, 3432] |
---|
10877 | | - ubfiz x2, x28, 5, 32 |
---|
10878 | | - add x0, x0, x2 |
---|
10879 | | - str w1, [x0, 4] |
---|
10880 | | - ldr w0, [x29, 156] |
---|
10881 | | - cmp w20, w0 |
---|
10882 | | - ldrh w0, [x27, 262] |
---|
10883 | | - bne .L1576 |
---|
10884 | | - ldr x1, [x27, 3432] |
---|
10885 | | - ldr x6, [x27, 3480] |
---|
10886 | | - add x1, x1, x2 |
---|
10887 | | - str x6, [x1, 8] |
---|
10888 | | - udiv w6, w26, w0 |
---|
10889 | | - msub w3, w6, w0, w26 |
---|
10890 | | - str w3, [x29, 152] |
---|
10891 | | - sub w23, w0, w3 |
---|
10892 | | - cmp w25, w23 |
---|
10893 | | - csel w23, w25, w23, ls |
---|
10894 | | - cmp w23, w0 |
---|
10895 | | - bne .L1577 |
---|
10896 | | - str x22, [x1, 8] |
---|
10897 | | -.L1577: |
---|
10898 | | - ldr x0, [x27, 3432] |
---|
10899 | | - ldr x1, [x27, 3528] |
---|
10900 | | - add x2, x0, x2 |
---|
10901 | | - ldrh w0, [x27, 316] |
---|
10902 | | - str w20, [x2, 24] |
---|
10903 | | - mul w0, w0, w28 |
---|
10904 | | - add w28, w28, 1 |
---|
10905 | | - and x0, x0, 4294967292 |
---|
10906 | | - add x0, x1, x0 |
---|
10907 | | - str x0, [x2, 16] |
---|
10908 | | - b .L1575 |
---|
10909 | | -.L1576: |
---|
10910 | | - cmp w20, w24 |
---|
10911 | | - bne .L1578 |
---|
10912 | | - ldr x6, [x27, 3432] |
---|
10913 | | - ldr x1, [x27, 3488] |
---|
10914 | | - add x6, x6, x2 |
---|
10915 | | - ldr w3, [x29, 144] |
---|
10916 | | - str x1, [x6, 8] |
---|
10917 | | - mul w1, w20, w0 |
---|
10918 | | - sub w3, w3, w1 |
---|
10919 | | - str w3, [x29, 148] |
---|
10920 | | - cmp w0, w3 |
---|
10921 | | - bne .L1577 |
---|
10922 | | - sub w1, w1, w26 |
---|
10923 | | - lsl w1, w1, 9 |
---|
10924 | | - add x1, x22, x1 |
---|
10925 | | - str x1, [x6, 8] |
---|
10926 | | - b .L1577 |
---|
10927 | | -.L1578: |
---|
10928 | | - ldr x1, [x27, 3432] |
---|
10929 | | - mul w0, w0, w20 |
---|
10930 | | - add x1, x1, x2 |
---|
10931 | | - sub w0, w0, w26 |
---|
10932 | | - lsl w0, w0, 9 |
---|
10933 | | - add x0, x22, x0 |
---|
10934 | | - str x0, [x1, 8] |
---|
10935 | | - b .L1577 |
---|
10936 | | -.L1581: |
---|
10937 | | - cmp w24, w1 |
---|
10938 | | - bne .L1582 |
---|
10939 | | - ldr x1, [x0, 8] |
---|
10940 | | - ldr x0, [x27, 3488] |
---|
10941 | | - cmp x1, x0 |
---|
10942 | | - bne .L1582 |
---|
10943 | | - ldrh w0, [x27, 262] |
---|
10944 | | - ldr w2, [x29, 128] |
---|
10945 | | - mul w0, w0, w24 |
---|
10946 | | - sub w0, w0, w26 |
---|
10947 | | - lsl w0, w0, 9 |
---|
10948 | | - add x0, x22, x0 |
---|
10949 | | - b .L1602 |
---|
10950 | 12198 | .L1592: |
---|
| 12199 | + add w27, w27, 1 |
---|
| 12200 | +.L1590: |
---|
| 12201 | + ldrh w0, [x28, 262] |
---|
| 12202 | + cmp w0, w27 |
---|
| 12203 | + bhi .L1593 |
---|
| 12204 | +.L1594: |
---|
| 12205 | + add w22, w22, 1 |
---|
| 12206 | + subs w24, w24, #1 |
---|
| 12207 | + beq .L1599 |
---|
| 12208 | + ldrh w0, [x28, 236] |
---|
| 12209 | + cmp w20, w0, lsl 2 |
---|
| 12210 | + bne .L1589 |
---|
| 12211 | +.L1599: |
---|
| 12212 | + cbz w20, .L1589 |
---|
| 12213 | + ldr x0, [x28, 3424] |
---|
| 12214 | + mov w1, w20 |
---|
| 12215 | + mov w2, 0 |
---|
| 12216 | + mov x27, 0 |
---|
| 12217 | + bl FlashReadPages |
---|
| 12218 | + ldr w0, [sp, 112] |
---|
| 12219 | + lsl w0, w0, 9 |
---|
| 12220 | + str w0, [sp, 132] |
---|
| 12221 | + ldr w0, [sp, 104] |
---|
| 12222 | + lsl w0, w0, 9 |
---|
| 12223 | + str x0, [sp, 120] |
---|
| 12224 | + ldr w0, [sp, 108] |
---|
| 12225 | + lsl w0, w0, 9 |
---|
| 12226 | + str w0, [sp, 128] |
---|
| 12227 | +.L1606: |
---|
| 12228 | + ldr x0, [x28, 3424] |
---|
| 12229 | + lsl x6, x27, 5 |
---|
| 12230 | + ldr w2, [sp, 100] |
---|
| 12231 | + add x0, x0, x27, lsl 5 |
---|
| 12232 | + ldr w1, [x0, 24] |
---|
| 12233 | + cmp w1, w2 |
---|
| 12234 | + bne .L1601 |
---|
| 12235 | + ldr x1, [x0, 8] |
---|
| 12236 | + ldr x0, [x28, 3472] |
---|
| 12237 | + cmp x1, x0 |
---|
| 12238 | + bne .L1602 |
---|
| 12239 | + ldr x0, [sp, 120] |
---|
| 12240 | + str x6, [sp, 136] |
---|
| 12241 | + ldr w2, [sp, 128] |
---|
| 12242 | + add x1, x1, x0 |
---|
| 12243 | + mov x0, x21 |
---|
| 12244 | +.L1625: |
---|
| 12245 | + bl ftl_memcpy |
---|
| 12246 | + ldr x6, [sp, 136] |
---|
| 12247 | +.L1602: |
---|
| 12248 | + ldr x1, [x28, 3424] |
---|
| 12249 | + add x0, x1, x6 |
---|
| 12250 | + ldr x2, [x0, 16] |
---|
| 12251 | + ldr w7, [x0, 24] |
---|
| 12252 | + ldr w2, [x2, 8] |
---|
| 12253 | + cmp w7, w2 |
---|
| 12254 | + beq .L1603 |
---|
| 12255 | + ldr w2, [x28, 2784] |
---|
| 12256 | + add w2, w2, 1 |
---|
| 12257 | + str w2, [x28, 2784] |
---|
| 12258 | +.L1603: |
---|
| 12259 | + ldr w7, [x1, x6] |
---|
| 12260 | + cmn w7, #1 |
---|
| 12261 | + bne .L1604 |
---|
| 12262 | + ldr w2, [x28, 2784] |
---|
| 12263 | + mov w19, w7 |
---|
| 12264 | + add w2, w2, 1 |
---|
| 12265 | + str w2, [x28, 2784] |
---|
| 12266 | +.L1604: |
---|
| 12267 | + ldr w1, [x1, x6] |
---|
| 12268 | + cmp w1, 256 |
---|
| 12269 | + bne .L1605 |
---|
| 12270 | + ldr w0, [x0, 4] |
---|
| 12271 | + ubfx x0, x0, 10, 16 |
---|
| 12272 | + bl P2V_block_in_plane |
---|
| 12273 | + bl FtlGcRefreshBlock |
---|
| 12274 | +.L1605: |
---|
| 12275 | + add x27, x27, 1 |
---|
| 12276 | + cmp w20, w27 |
---|
| 12277 | + bhi .L1606 |
---|
| 12278 | + mov w20, 0 |
---|
| 12279 | + b .L1589 |
---|
| 12280 | +.L1622: |
---|
| 12281 | + ldr x0, [x28, 3424] |
---|
| 12282 | + ubfiz x5, x20, 5, 32 |
---|
| 12283 | + add x0, x0, x5 |
---|
| 12284 | + str w1, [x0, 4] |
---|
| 12285 | + ldr w0, [sp, 100] |
---|
| 12286 | + ldrh w1, [x28, 262] |
---|
| 12287 | + cmp w22, w0 |
---|
| 12288 | + bne .L1595 |
---|
| 12289 | + udiv w6, w26, w1 |
---|
| 12290 | + ldr x0, [x28, 3424] |
---|
| 12291 | + ldr x2, [x28, 3472] |
---|
| 12292 | + msub w3, w6, w1, w26 |
---|
| 12293 | + add x0, x0, x5 |
---|
| 12294 | + str w3, [sp, 104] |
---|
| 12295 | + sub w6, w1, w3 |
---|
| 12296 | + cmp w23, w6 |
---|
| 12297 | + csel w3, w23, w6, ls |
---|
| 12298 | + str w3, [sp, 108] |
---|
| 12299 | + cmp w1, w3 |
---|
| 12300 | + csel x1, x2, x21, ne |
---|
| 12301 | + str x1, [x0, 8] |
---|
| 12302 | +.L1596: |
---|
| 12303 | + ldrh w0, [x28, 316] |
---|
| 12304 | + ldr x1, [x28, 3424] |
---|
| 12305 | + ldr x2, [x28, 3520] |
---|
| 12306 | + mul w0, w0, w20 |
---|
| 12307 | + add x1, x1, x5 |
---|
| 12308 | + add w20, w20, 1 |
---|
| 12309 | + and x0, x0, 4294967292 |
---|
| 12310 | + add x0, x2, x0 |
---|
| 12311 | + str x0, [x1, 16] |
---|
| 12312 | + str w22, [x1, 24] |
---|
| 12313 | + b .L1594 |
---|
| 12314 | +.L1595: |
---|
| 12315 | + ldr x2, [x28, 3424] |
---|
| 12316 | + mul w0, w22, w1 |
---|
| 12317 | + add x2, x2, x5 |
---|
| 12318 | + cmp w22, w25 |
---|
| 12319 | + bne .L1597 |
---|
| 12320 | + ldr w3, [sp, 116] |
---|
| 12321 | + sub w3, w3, w0 |
---|
| 12322 | + str w3, [sp, 112] |
---|
| 12323 | + cmp w3, w1 |
---|
| 12324 | + beq .L1597 |
---|
| 12325 | + ldr x0, [x28, 3480] |
---|
| 12326 | +.L1624: |
---|
| 12327 | + str x0, [x2, 8] |
---|
| 12328 | + b .L1596 |
---|
| 12329 | +.L1597: |
---|
| 12330 | + sub w0, w0, w26 |
---|
| 12331 | + lsl w0, w0, 9 |
---|
| 12332 | + add x0, x21, x0 |
---|
| 12333 | + b .L1624 |
---|
| 12334 | +.L1601: |
---|
| 12335 | + cmp w1, w25 |
---|
| 12336 | + bne .L1602 |
---|
| 12337 | + ldr x1, [x0, 8] |
---|
| 12338 | + ldr x0, [x28, 3480] |
---|
| 12339 | + cmp x1, x0 |
---|
| 12340 | + bne .L1602 |
---|
| 12341 | + ldrh w0, [x28, 262] |
---|
| 12342 | + ldr w2, [sp, 132] |
---|
| 12343 | + str x6, [sp, 136] |
---|
| 12344 | + mul w0, w0, w25 |
---|
| 12345 | + sub w0, w0, w26 |
---|
| 12346 | + lsl w0, w0, 9 |
---|
| 12347 | + add x0, x21, x0 |
---|
| 12348 | + b .L1625 |
---|
| 12349 | +.L1612: |
---|
10951 | 12350 | mov w19, -1 |
---|
10952 | | - b .L1567 |
---|
10953 | | -.L1589: |
---|
| 12351 | + b .L1586 |
---|
| 12352 | +.L1609: |
---|
| 12353 | + mov w0, w19 |
---|
10954 | 12354 | ldp x19, x20, [sp, 16] |
---|
10955 | 12355 | ldp x21, x22, [sp, 32] |
---|
10956 | 12356 | ldp x23, x24, [sp, 48] |
---|
10957 | 12357 | ldp x25, x26, [sp, 64] |
---|
10958 | 12358 | ldp x27, x28, [sp, 80] |
---|
10959 | | - ldp x29, x30, [sp], 176 |
---|
| 12359 | + ldp x29, x30, [sp], 160 |
---|
| 12360 | + hint 29 // autiasp |
---|
10960 | 12361 | ret |
---|
10961 | 12362 | .size FtlRead, .-FtlRead |
---|
10962 | 12363 | .align 2 |
---|
10963 | 12364 | .global sftl_read |
---|
10964 | 12365 | .type sftl_read, %function |
---|
10965 | 12366 | sftl_read: |
---|
| 12367 | + hint 34 // bti c |
---|
| 12368 | + .section __patchable_function_entries |
---|
| 12369 | + .align 3 |
---|
| 12370 | + .8byte .LPFE125 |
---|
| 12371 | + .text |
---|
| 12372 | +.LPFE125: |
---|
| 12373 | + nop |
---|
| 12374 | + nop |
---|
| 12375 | + hint 25 // paciasp |
---|
10966 | 12376 | stp x29, x30, [sp, -16]! |
---|
10967 | 12377 | mov x3, x2 |
---|
| 12378 | + mov x29, sp |
---|
10968 | 12379 | mov w2, w1 |
---|
10969 | 12380 | mov w1, w0 |
---|
10970 | | - add x29, sp, 0 |
---|
10971 | 12381 | mov w0, 0 |
---|
10972 | 12382 | bl FtlRead |
---|
10973 | 12383 | ldp x29, x30, [sp], 16 |
---|
| 12384 | + hint 29 // autiasp |
---|
10974 | 12385 | ret |
---|
10975 | 12386 | .size sftl_read, .-sftl_read |
---|
| 12387 | + .section .rodata.str1.1 |
---|
| 12388 | +.LC126: |
---|
| 12389 | + .string "FtlWrite: ecc error:%x %x %x\n" |
---|
| 12390 | +.LC127: |
---|
| 12391 | + .string "FtlWrite: lpa error:%x %x\n" |
---|
| 12392 | + .text |
---|
10976 | 12393 | .align 2 |
---|
10977 | 12394 | .global FtlWrite |
---|
10978 | 12395 | .type FtlWrite, %function |
---|
10979 | 12396 | FtlWrite: |
---|
10980 | | - stp x29, x30, [sp, -240]! |
---|
| 12397 | + hint 34 // bti c |
---|
| 12398 | + .section __patchable_function_entries |
---|
| 12399 | + .align 3 |
---|
| 12400 | + .8byte .LPFE126 |
---|
| 12401 | + .text |
---|
| 12402 | +.LPFE126: |
---|
| 12403 | + nop |
---|
| 12404 | + nop |
---|
| 12405 | + hint 25 // paciasp |
---|
| 12406 | + stp x29, x30, [sp, -224]! |
---|
10981 | 12407 | and w0, w0, 255 |
---|
10982 | | - cmp w0, 16 |
---|
10983 | | - add x29, sp, 0 |
---|
10984 | | - stp x23, x24, [sp, 48] |
---|
10985 | | - mov w23, w1 |
---|
10986 | | - stp x25, x26, [sp, 64] |
---|
10987 | | - adrp x1, __stack_chk_guard |
---|
10988 | | - stp x27, x28, [sp, 80] |
---|
10989 | | - mov w26, w2 |
---|
| 12408 | + mov x29, sp |
---|
10990 | 12409 | stp x19, x20, [sp, 16] |
---|
10991 | | - add x2, x1, :lo12:__stack_chk_guard |
---|
10992 | 12410 | stp x21, x22, [sp, 32] |
---|
10993 | | - mov x27, x3 |
---|
10994 | | - str x1, [x29, 112] |
---|
10995 | | - ldr x3, [x2] |
---|
10996 | | - str x3, [x29, 232] |
---|
10997 | | - mov x3,0 |
---|
10998 | | - bne .L1606 |
---|
10999 | | - mov x2, x27 |
---|
11000 | | - mov w1, w26 |
---|
11001 | | - add w0, w23, 256 |
---|
| 12411 | + mov w21, w1 |
---|
| 12412 | + mrs x1, sp_el0 |
---|
| 12413 | + stp x23, x24, [sp, 48] |
---|
| 12414 | + stp x25, x26, [sp, 64] |
---|
| 12415 | + mov x25, x3 |
---|
| 12416 | + stp x27, x28, [sp, 80] |
---|
| 12417 | + str w2, [sp, 120] |
---|
| 12418 | + ldr x2, [x1, 1376] |
---|
| 12419 | + str x2, [sp, 216] |
---|
| 12420 | + mov x2, 0 |
---|
| 12421 | + cmp w0, 16 |
---|
| 12422 | + bne .L1629 |
---|
| 12423 | + ldr w1, [sp, 120] |
---|
| 12424 | + mov x2, x3 |
---|
| 12425 | + add w0, w21, 256 |
---|
11002 | 12426 | bl FtlVendorPartWrite |
---|
11003 | | -.L1605: |
---|
11004 | | - ldr x1, [x29, 112] |
---|
11005 | | - add x1, x1, :lo12:__stack_chk_guard |
---|
11006 | | - ldr x2, [x29, 232] |
---|
11007 | | - ldr x1, [x1] |
---|
11008 | | - eor x1, x2, x1 |
---|
11009 | | - cbz x1, .L1642 |
---|
| 12427 | +.L1628: |
---|
| 12428 | + mrs x1, sp_el0 |
---|
| 12429 | + ldr x2, [sp, 216] |
---|
| 12430 | + ldr x3, [x1, 1376] |
---|
| 12431 | + subs x2, x2, x3 |
---|
| 12432 | + mov x3, 0 |
---|
| 12433 | + beq .L1666 |
---|
11010 | 12434 | bl __stack_chk_fail |
---|
11011 | | -.L1606: |
---|
11012 | | - adrp x19, .LANCHOR0 |
---|
11013 | | - add x1, x19, :lo12:.LANCHOR0 |
---|
11014 | | - ldr w0, [x1, 344] |
---|
11015 | | - cmp w23, w0 |
---|
11016 | | - bcs .L1645 |
---|
11017 | | - cmp w26, w0 |
---|
11018 | | - bhi .L1645 |
---|
11019 | | - add w2, w23, w26 |
---|
11020 | | - str w2, [x29, 124] |
---|
11021 | | - cmp w0, w2 |
---|
11022 | | - bcc .L1645 |
---|
11023 | | - adrp x2, .LANCHOR2 |
---|
11024 | | - str x2, [x29, 152] |
---|
11025 | | - add x3, x2, :lo12:.LANCHOR2 |
---|
11026 | | - ldr w0, [x2, #:lo12:.LANCHOR2] |
---|
| 12435 | +.L1629: |
---|
| 12436 | + adrp x4, .LANCHOR0 |
---|
| 12437 | + add x24, x4, :lo12:.LANCHOR0 |
---|
| 12438 | + ldr w0, [x24, 344] |
---|
| 12439 | + cmp w0, w21 |
---|
| 12440 | + bls .L1669 |
---|
| 12441 | + ldr w1, [sp, 120] |
---|
| 12442 | + cmp w0, w1 |
---|
| 12443 | + bcc .L1669 |
---|
| 12444 | + add w1, w21, w1 |
---|
| 12445 | + str w1, [sp, 124] |
---|
| 12446 | + cmp w0, w1 |
---|
| 12447 | + bcc .L1669 |
---|
| 12448 | + adrp x0, .LANCHOR2 |
---|
| 12449 | + ldr w0, [x0, #:lo12:.LANCHOR2] |
---|
11027 | 12450 | cmn w0, #1 |
---|
11028 | | - beq .L1605 |
---|
| 12451 | + beq .L1628 |
---|
11029 | 12452 | mov w0, 2048 |
---|
11030 | | - add w2, w23, w26 |
---|
11031 | | - str w0, [x1, 3968] |
---|
11032 | | - sub w2, w2, #1 |
---|
11033 | | - ldrh w0, [x1, 262] |
---|
11034 | | - add x20, x1, 24 |
---|
11035 | | - udiv w25, w23, w0 |
---|
11036 | | - udiv w0, w2, w0 |
---|
11037 | | - str w0, [x29, 160] |
---|
11038 | | - sub w0, w0, w25 |
---|
11039 | | - add w24, w0, 1 |
---|
11040 | | - str w0, [x29, 148] |
---|
11041 | | - ldr w0, [x1, 2652] |
---|
| 12453 | + str w0, [x24, 3960] |
---|
| 12454 | + ldrh w0, [x24, 262] |
---|
| 12455 | + sub w1, w1, #1 |
---|
| 12456 | + add x20, x24, 24 |
---|
| 12457 | + udiv w27, w21, w0 |
---|
| 12458 | + udiv w0, w1, w0 |
---|
| 12459 | + ldr w1, [sp, 120] |
---|
| 12460 | + str w0, [sp, 160] |
---|
| 12461 | + sub w0, w0, w27 |
---|
| 12462 | + add w26, w0, 1 |
---|
| 12463 | + str w0, [sp, 136] |
---|
| 12464 | + ldr w0, [x24, 2652] |
---|
| 12465 | + add w0, w0, w1 |
---|
| 12466 | + str w0, [x24, 2652] |
---|
| 12467 | + ldr w0, [x24, 2636] |
---|
11042 | 12468 | add w0, w0, w26 |
---|
11043 | | - str w0, [x1, 2652] |
---|
11044 | | - ldr w0, [x1, 2636] |
---|
11045 | | - add w0, w0, w24 |
---|
11046 | | - str w0, [x1, 2636] |
---|
11047 | | - ldr w0, [x3, 8] |
---|
11048 | | - cbz w0, .L1608 |
---|
11049 | | - ldrh w0, [x20, 4] |
---|
11050 | | - add x1, x1, 80 |
---|
11051 | | - cmp w0, 0 |
---|
11052 | | - csel x20, x1, x20, eq |
---|
11053 | | -.L1608: |
---|
11054 | | - adrp x0, .LANCHOR1 |
---|
11055 | | - mov w21, w25 |
---|
11056 | | - add x0, x0, :lo12:.LANCHOR1 |
---|
11057 | | - add x0, x0, 696 |
---|
11058 | | - str x0, [x29, 176] |
---|
11059 | | -.L1609: |
---|
11060 | | - cbnz w24, .L1637 |
---|
11061 | | - ldr w1, [x29, 148] |
---|
11062 | | - add x19, x19, :lo12:.LANCHOR0 |
---|
11063 | | - mov w0, 0 |
---|
11064 | | - bl rk_ftl_garbage_collect |
---|
11065 | | - ldrh w0, [x19, 228] |
---|
11066 | | - cmp w0, 5 |
---|
11067 | | - bls .L1638 |
---|
11068 | | -.L1640: |
---|
11069 | | - mov w0, 0 |
---|
11070 | | - b .L1605 |
---|
11071 | | -.L1637: |
---|
11072 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
11073 | | - ldrb w1, [x20, 6] |
---|
11074 | | - ldrh w0, [x0, 236] |
---|
11075 | | - cmp w1, w0 |
---|
11076 | | - bcc .L1610 |
---|
11077 | | - ldr x1, [x29, 176] |
---|
11078 | | - adrp x0, .LC8 |
---|
11079 | | - mov w2, 1041 |
---|
11080 | | - add x0, x0, :lo12:.LC8 |
---|
11081 | | - bl sftl_printk |
---|
11082 | | -.L1610: |
---|
11083 | | - ldrh w0, [x20, 4] |
---|
11084 | | - cbnz w0, .L1611 |
---|
11085 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
11086 | | - add x1, x0, 24 |
---|
11087 | | - cmp x20, x1 |
---|
11088 | | - bne .L1612 |
---|
11089 | | - add x0, x0, 80 |
---|
11090 | | - ldrh w1, [x0, 4] |
---|
11091 | | - cbnz w1, .L1613 |
---|
11092 | | - bl allocate_new_data_superblock |
---|
11093 | | - ldr x0, [x29, 152] |
---|
11094 | | - add x0, x0, :lo12:.LANCHOR2 |
---|
11095 | | - str wzr, [x0, 8] |
---|
11096 | | -.L1613: |
---|
11097 | | - add x20, x19, :lo12:.LANCHOR0 |
---|
11098 | | - add x22, x20, 24 |
---|
11099 | | - add x20, x20, 80 |
---|
11100 | | - mov x0, x22 |
---|
11101 | | - bl allocate_new_data_superblock |
---|
11102 | | - ldr x0, [x29, 152] |
---|
| 12469 | + str w0, [x24, 2636] |
---|
| 12470 | + adrp x0, .LANCHOR2 |
---|
11103 | 12471 | add x0, x0, :lo12:.LANCHOR2 |
---|
11104 | 12472 | ldr w0, [x0, 8] |
---|
11105 | | - cmp w0, 0 |
---|
11106 | | - csel x20, x20, x22, ne |
---|
11107 | | -.L1614: |
---|
11108 | | - ldrh w0, [x20, 4] |
---|
11109 | | - cbnz w0, .L1611 |
---|
11110 | | - mov x0, x20 |
---|
11111 | | - bl allocate_new_data_superblock |
---|
11112 | | -.L1611: |
---|
11113 | | - ldrh w0, [x20, 4] |
---|
11114 | | - ldrb w1, [x20, 7] |
---|
11115 | | - cmp w0, w24 |
---|
11116 | | - csel w0, w0, w24, ls |
---|
11117 | | - lsl w1, w1, 2 |
---|
11118 | | - cmp w0, w1 |
---|
11119 | | - csel w0, w0, w1, ls |
---|
11120 | | - str w0, [x29, 144] |
---|
11121 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
| 12473 | + cbz w0, .L1631 |
---|
| 12474 | + ldrh w1, [x20, 4] |
---|
| 12475 | + add x0, x24, 80 |
---|
| 12476 | + cmp w1, 0 |
---|
| 12477 | + csel x20, x0, x20, eq |
---|
| 12478 | +.L1631: |
---|
| 12479 | + adrp x23, .LANCHOR1 |
---|
| 12480 | + add x23, x23, :lo12:.LANCHOR1 |
---|
| 12481 | + adrp x28, .LC9 |
---|
| 12482 | + mov w19, w27 |
---|
| 12483 | + add x23, x23, 591 |
---|
| 12484 | + add x28, x28, :lo12:.LC9 |
---|
| 12485 | +.L1632: |
---|
| 12486 | + cbnz w26, .L1662 |
---|
| 12487 | + ldr w1, [sp, 136] |
---|
| 12488 | + mov w0, 0 |
---|
| 12489 | + bl rk_ftl_garbage_collect |
---|
| 12490 | + ldrh w0, [x24, 228] |
---|
| 12491 | + cmp w0, 5 |
---|
| 12492 | + bls .L1674 |
---|
| 12493 | +.L1665: |
---|
| 12494 | + mov w0, 0 |
---|
| 12495 | + b .L1628 |
---|
| 12496 | +.L1662: |
---|
11122 | 12497 | ldrb w1, [x20, 6] |
---|
11123 | | - ldrh w0, [x0, 236] |
---|
| 12498 | + ldrh w0, [x24, 236] |
---|
11124 | 12499 | cmp w1, w0 |
---|
11125 | | - bcc .L1615 |
---|
11126 | | - ldr x1, [x29, 176] |
---|
11127 | | - adrp x0, .LC8 |
---|
11128 | | - mov w2, 1074 |
---|
11129 | | - add x0, x0, :lo12:.LC8 |
---|
| 12500 | + bcc .L1633 |
---|
| 12501 | + mov x1, x23 |
---|
| 12502 | + mov x0, x28 |
---|
| 12503 | + mov w2, 1041 |
---|
11130 | 12504 | bl sftl_printk |
---|
11131 | | -.L1615: |
---|
11132 | | - str xzr, [x29, 184] |
---|
11133 | | -.L1616: |
---|
11134 | | - ldr w1, [x29, 144] |
---|
11135 | | - ldr w22, [x29, 184] |
---|
11136 | | - cmp w22, w1 |
---|
11137 | | - bcc .L1635 |
---|
11138 | | - mov x22, x1 |
---|
11139 | | -.L1617: |
---|
11140 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
11141 | | - mov x3, x20 |
---|
11142 | | - mov w2, 0 |
---|
11143 | | - mov w1, w22 |
---|
11144 | | - ldr x0, [x0, 3448] |
---|
11145 | | - bl FtlProgPages |
---|
11146 | | - cmp w24, w22 |
---|
11147 | | - bcs .L1636 |
---|
11148 | | - ldr x1, [x29, 176] |
---|
11149 | | - adrp x0, .LC8 |
---|
11150 | | - mov w2, 1152 |
---|
11151 | | - add x0, x0, :lo12:.LC8 |
---|
11152 | | - bl sftl_printk |
---|
11153 | | -.L1636: |
---|
11154 | | - sub w24, w24, w22 |
---|
11155 | | - b .L1609 |
---|
11156 | | -.L1612: |
---|
11157 | | - ldr x0, [x29, 152] |
---|
| 12505 | +.L1633: |
---|
| 12506 | + ldrh w0, [x20, 4] |
---|
| 12507 | + cbnz w0, .L1634 |
---|
| 12508 | + add x0, x24, 24 |
---|
| 12509 | + cmp x20, x0 |
---|
| 12510 | + bne .L1635 |
---|
| 12511 | + ldrh w1, [x24, 84] |
---|
| 12512 | + add x0, x24, 80 |
---|
| 12513 | + cbnz w1, .L1636 |
---|
| 12514 | + bl allocate_new_data_superblock |
---|
| 12515 | + adrp x0, .LANCHOR2 |
---|
11158 | 12516 | add x0, x0, :lo12:.LANCHOR2 |
---|
11159 | 12517 | str wzr, [x0, 8] |
---|
11160 | | - ldrh w0, [x1, 4] |
---|
11161 | | - cbnz w0, .L1650 |
---|
| 12518 | +.L1636: |
---|
| 12519 | + add x0, x24, 24 |
---|
| 12520 | + bl allocate_new_data_superblock |
---|
| 12521 | + adrp x0, .LANCHOR2 |
---|
| 12522 | + add x0, x0, :lo12:.LANCHOR2 |
---|
| 12523 | + ldr w0, [x0, 8] |
---|
| 12524 | + cbnz w0, .L1673 |
---|
| 12525 | +.L1638: |
---|
| 12526 | + add x20, x24, 24 |
---|
| 12527 | +.L1637: |
---|
| 12528 | + ldrh w0, [x20, 4] |
---|
| 12529 | + cbnz w0, .L1634 |
---|
11162 | 12530 | mov x0, x20 |
---|
11163 | 12531 | bl allocate_new_data_superblock |
---|
11164 | | - b .L1614 |
---|
11165 | | -.L1650: |
---|
11166 | | - mov x20, x1 |
---|
11167 | | - b .L1611 |
---|
11168 | | -.L1635: |
---|
| 12532 | +.L1634: |
---|
11169 | 12533 | ldrh w0, [x20, 4] |
---|
11170 | | - cbz w0, .L1617 |
---|
11171 | | - add x1, x29, 196 |
---|
| 12534 | + ldrb w1, [x20, 7] |
---|
| 12535 | + cmp w0, w26 |
---|
| 12536 | + csel w0, w0, w26, ls |
---|
| 12537 | + lsl w1, w1, 2 |
---|
| 12538 | + cmp w1, w0 |
---|
| 12539 | + csel w0, w1, w0, ls |
---|
| 12540 | + ldrb w1, [x20, 6] |
---|
| 12541 | + str w0, [sp, 140] |
---|
| 12542 | + ldrh w0, [x24, 236] |
---|
| 12543 | + cmp w1, w0 |
---|
| 12544 | + bcc .L1639 |
---|
| 12545 | + mov x1, x23 |
---|
| 12546 | + mov x0, x28 |
---|
| 12547 | + mov w2, 1074 |
---|
| 12548 | + bl sftl_printk |
---|
| 12549 | +.L1639: |
---|
| 12550 | + ldr w0, [sp, 140] |
---|
| 12551 | + str xzr, [sp, 104] |
---|
| 12552 | + add w0, w0, w19 |
---|
| 12553 | + str w0, [sp, 164] |
---|
| 12554 | + adrp x0, .LC127 |
---|
| 12555 | + add x0, x0, :lo12:.LC127 |
---|
| 12556 | + str x0, [sp, 168] |
---|
| 12557 | +.L1640: |
---|
| 12558 | + ldr w0, [sp, 164] |
---|
| 12559 | + ldr w22, [sp, 104] |
---|
| 12560 | + cmp w19, w0 |
---|
| 12561 | + bne .L1660 |
---|
| 12562 | + ldr w22, [sp, 140] |
---|
| 12563 | +.L1641: |
---|
| 12564 | + ldr x0, [x24, 3440] |
---|
| 12565 | + mov x3, x20 |
---|
| 12566 | + mov w1, w22 |
---|
11172 | 12567 | mov w2, 0 |
---|
11173 | | - mov w0, w21 |
---|
| 12568 | + bl FtlProgPages |
---|
| 12569 | + cmp w26, w22 |
---|
| 12570 | + bcs .L1661 |
---|
| 12571 | + mov x1, x23 |
---|
| 12572 | + mov x0, x28 |
---|
| 12573 | + mov w2, 1152 |
---|
| 12574 | + bl sftl_printk |
---|
| 12575 | +.L1661: |
---|
| 12576 | + sub w26, w26, w22 |
---|
| 12577 | + b .L1632 |
---|
| 12578 | +.L1635: |
---|
| 12579 | + adrp x1, .LANCHOR2 |
---|
| 12580 | + add x1, x1, :lo12:.LANCHOR2 |
---|
| 12581 | + ldrh w0, [x0, 4] |
---|
| 12582 | + str wzr, [x1, 8] |
---|
| 12583 | + cbnz w0, .L1638 |
---|
| 12584 | + mov x0, x20 |
---|
| 12585 | + bl allocate_new_data_superblock |
---|
| 12586 | + b .L1637 |
---|
| 12587 | +.L1673: |
---|
| 12588 | + add x20, x24, 80 |
---|
| 12589 | + b .L1637 |
---|
| 12590 | +.L1660: |
---|
| 12591 | + ldrh w0, [x20, 4] |
---|
| 12592 | + cbz w0, .L1641 |
---|
| 12593 | + add x1, sp, 180 |
---|
| 12594 | + mov w2, 0 |
---|
| 12595 | + mov w0, w19 |
---|
11174 | 12596 | bl log2phys |
---|
11175 | 12597 | mov x0, x20 |
---|
11176 | 12598 | bl get_new_active_ppa |
---|
11177 | | - add x3, x19, :lo12:.LANCHOR0 |
---|
11178 | | - ldr x1, [x29, 184] |
---|
11179 | | - str x3, [x29, 168] |
---|
11180 | | - lsl x28, x1, 5 |
---|
11181 | | - ldr x1, [x3, 3448] |
---|
11182 | | - ldrh w2, [x3, 316] |
---|
11183 | | - add x1, x1, x28 |
---|
| 12599 | + ldr x1, [sp, 104] |
---|
| 12600 | + ldr x2, [sp, 104] |
---|
| 12601 | + lsl x1, x1, 5 |
---|
| 12602 | + str x1, [sp, 112] |
---|
| 12603 | + ldr x1, [x24, 3440] |
---|
| 12604 | + add x1, x1, x2, lsl 5 |
---|
| 12605 | + ldrh w2, [x24, 316] |
---|
11184 | 12606 | str w0, [x1, 4] |
---|
11185 | | - mul w22, w22, w2 |
---|
11186 | | - ldr x0, [x3, 3448] |
---|
| 12607 | + ldr x1, [sp, 104] |
---|
| 12608 | + mul w22, w2, w22 |
---|
| 12609 | + ldr x0, [x24, 3440] |
---|
| 12610 | + add x0, x0, x1, lsl 5 |
---|
11187 | 12611 | and x1, x22, 4294967292 |
---|
11188 | | - str x1, [x29, 136] |
---|
11189 | | - add x0, x0, x28 |
---|
11190 | | - ldr x1, [x3, 3528] |
---|
11191 | | - ldr x3, [x29, 136] |
---|
11192 | | - str x1, [x29, 128] |
---|
| 12612 | + str x1, [sp, 144] |
---|
| 12613 | + ldr x1, [x24, 3520] |
---|
| 12614 | + str w19, [x0, 24] |
---|
| 12615 | + ldr x3, [sp, 144] |
---|
| 12616 | + str x1, [sp, 152] |
---|
11193 | 12617 | add x22, x1, x3 |
---|
11194 | | - str w21, [x0, 24] |
---|
11195 | 12618 | str x22, [x0, 16] |
---|
11196 | 12619 | mov w1, 0 |
---|
11197 | 12620 | mov x0, x22 |
---|
11198 | 12621 | bl ftl_memset |
---|
11199 | | - ldr w0, [x29, 160] |
---|
11200 | | - cmp w21, w25 |
---|
11201 | | - ldr x3, [x29, 168] |
---|
11202 | | - ccmp w21, w0, 4, ne |
---|
11203 | | - bne .L1618 |
---|
11204 | | - cmp w21, w25 |
---|
11205 | | - bne .L1619 |
---|
11206 | | - ldrh w2, [x3, 262] |
---|
11207 | | - udiv w0, w23, w2 |
---|
11208 | | - msub w0, w0, w2, w23 |
---|
11209 | | - str w0, [x29, 164] |
---|
11210 | | - sub w2, w2, w0 |
---|
11211 | | - cmp w2, w26 |
---|
11212 | | - csel w0, w2, w26, ls |
---|
11213 | | - str w0, [x29, 168] |
---|
11214 | | -.L1620: |
---|
11215 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
11216 | | - ldr w2, [x29, 168] |
---|
11217 | | - ldrh w1, [x0, 262] |
---|
11218 | | - cmp w2, w1 |
---|
11219 | | - bne .L1621 |
---|
11220 | | - ldr x0, [x0, 3448] |
---|
11221 | | - cmp w21, w25 |
---|
11222 | | - add x4, x0, x28 |
---|
11223 | | - bne .L1622 |
---|
11224 | | - str x27, [x4, 8] |
---|
11225 | | -.L1623: |
---|
11226 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
11227 | | - ldrb w1, [x20, 6] |
---|
11228 | | - ldrh w0, [x0, 236] |
---|
| 12622 | + ldr w0, [sp, 160] |
---|
| 12623 | + cmp w19, w27 |
---|
| 12624 | + ldrh w1, [x24, 262] |
---|
| 12625 | + ccmp w19, w0, 4, ne |
---|
| 12626 | + bne .L1642 |
---|
| 12627 | + cmp w19, w27 |
---|
| 12628 | + bne .L1643 |
---|
| 12629 | + udiv w0, w21, w1 |
---|
| 12630 | + msub w0, w0, w1, w21 |
---|
| 12631 | + str w0, [sp, 128] |
---|
| 12632 | + sub w2, w1, w0 |
---|
| 12633 | + ldr w0, [sp, 120] |
---|
| 12634 | + cmp w2, w0 |
---|
| 12635 | + csel w0, w2, w0, ls |
---|
| 12636 | + str w0, [sp, 132] |
---|
| 12637 | +.L1644: |
---|
| 12638 | + ldr x0, [sp, 112] |
---|
| 12639 | + ldr x3, [x24, 3440] |
---|
| 12640 | + add x3, x3, x0 |
---|
| 12641 | + ldr w0, [sp, 132] |
---|
11229 | 12642 | cmp w1, w0 |
---|
11230 | | - bcc .L1632 |
---|
11231 | | - ldr x1, [x29, 176] |
---|
11232 | | - adrp x0, .LC8 |
---|
| 12643 | + bne .L1645 |
---|
| 12644 | + mul w0, w1, w19 |
---|
| 12645 | + cmp w19, w27 |
---|
| 12646 | + sub w0, w0, w21 |
---|
| 12647 | + lsl w0, w0, 9 |
---|
| 12648 | + add x0, x25, x0 |
---|
| 12649 | + csel x0, x25, x0, eq |
---|
| 12650 | + str x0, [x3, 8] |
---|
| 12651 | +.L1647: |
---|
| 12652 | + ldrb w1, [x20, 6] |
---|
| 12653 | + ldrh w0, [x24, 236] |
---|
| 12654 | + cmp w1, w0 |
---|
| 12655 | + bcc .L1657 |
---|
| 12656 | + mov x1, x23 |
---|
| 12657 | + mov x0, x28 |
---|
11233 | 12658 | mov w2, 1143 |
---|
11234 | | - add x0, x0, :lo12:.LC8 |
---|
11235 | 12659 | bl sftl_printk |
---|
11236 | | -.L1632: |
---|
11237 | | - ldp x1, x2, [x29, 128] |
---|
| 12660 | +.L1657: |
---|
| 12661 | + ldp x2, x1, [sp, 144] |
---|
11238 | 12662 | mov w0, -3947 |
---|
11239 | 12663 | strh w0, [x1, x2] |
---|
11240 | | - add x1, x19, :lo12:.LANCHOR0 |
---|
11241 | | - ldr w0, [x1, 2664] |
---|
11242 | | - stp w0, w21, [x22, 4] |
---|
11243 | | - add w21, w21, 1 |
---|
11244 | | - add w0, w0, 1 |
---|
11245 | | - cmn w0, #1 |
---|
11246 | | - csel w0, w0, wzr, ne |
---|
11247 | | - str w0, [x1, 2664] |
---|
11248 | | - ldr w0, [x29, 196] |
---|
| 12664 | + ldr w0, [x24, 2664] |
---|
| 12665 | + stp w0, w19, [x22, 4] |
---|
| 12666 | + add w19, w19, 1 |
---|
| 12667 | + cmn w0, #2 |
---|
| 12668 | + csinc w0, wzr, w0, eq |
---|
| 12669 | + str w0, [x24, 2664] |
---|
| 12670 | + ldr w0, [sp, 180] |
---|
11249 | 12671 | str w0, [x22, 12] |
---|
11250 | 12672 | ldrh w0, [x20] |
---|
11251 | 12673 | strh w0, [x22, 2] |
---|
11252 | | - ldr x0, [x29, 184] |
---|
| 12674 | + ldr x0, [sp, 104] |
---|
11253 | 12675 | add x0, x0, 1 |
---|
11254 | | - str x0, [x29, 184] |
---|
11255 | | - b .L1616 |
---|
11256 | | -.L1619: |
---|
11257 | | - ldr w0, [x29, 124] |
---|
11258 | | - ldrh w2, [x3, 262] |
---|
11259 | | - msub w2, w21, w2, w0 |
---|
| 12676 | + str x0, [sp, 104] |
---|
| 12677 | + b .L1640 |
---|
| 12678 | +.L1643: |
---|
| 12679 | + ldr w0, [sp, 124] |
---|
| 12680 | + msub w2, w1, w19, w0 |
---|
11260 | 12681 | and w0, w2, 65535 |
---|
11261 | | - stp wzr, w0, [x29, 164] |
---|
11262 | | - b .L1620 |
---|
11263 | | -.L1622: |
---|
11264 | | - ldr w0, [x29, 168] |
---|
11265 | | -.L1657: |
---|
11266 | | - mul w0, w0, w21 |
---|
11267 | | - sub w0, w0, w23 |
---|
11268 | | - lsl w0, w0, 9 |
---|
11269 | | - add x0, x27, x0 |
---|
11270 | | - str x0, [x4, 8] |
---|
11271 | | - b .L1623 |
---|
11272 | | -.L1621: |
---|
11273 | | - ldr x1, [x0, 3448] |
---|
11274 | | - cmp w21, w25 |
---|
11275 | | - add x1, x1, x28 |
---|
11276 | | - bne .L1624 |
---|
11277 | | - ldr x0, [x0, 3480] |
---|
11278 | | -.L1656: |
---|
11279 | | - str x0, [x1, 8] |
---|
11280 | | - ldr w0, [x29, 196] |
---|
| 12682 | + stp wzr, w0, [sp, 128] |
---|
| 12683 | + b .L1644 |
---|
| 12684 | +.L1645: |
---|
| 12685 | + cmp w19, w27 |
---|
| 12686 | + bne .L1648 |
---|
| 12687 | + ldr x0, [x24, 3472] |
---|
| 12688 | +.L1680: |
---|
| 12689 | + str x0, [x3, 8] |
---|
| 12690 | + ldr w0, [sp, 180] |
---|
11281 | 12691 | cmn w0, #1 |
---|
11282 | | - beq .L1626 |
---|
11283 | | - add x5, x19, :lo12:.LANCHOR0 |
---|
11284 | | - str w0, [x29, 204] |
---|
11285 | | - str w21, [x29, 224] |
---|
| 12692 | + beq .L1650 |
---|
| 12693 | + str w19, [sp, 208] |
---|
11286 | 12694 | mov w2, 0 |
---|
11287 | | - str x5, [x29, 104] |
---|
11288 | | - ldr x0, [x5, 3448] |
---|
11289 | | - add x0, x0, x28 |
---|
11290 | | - ldp x1, x0, [x0, 8] |
---|
11291 | | - stp x1, x0, [x29, 208] |
---|
| 12695 | + str w0, [sp, 188] |
---|
11292 | 12696 | mov w1, 1 |
---|
11293 | | - add x0, x29, 200 |
---|
| 12697 | + ldr x0, [x3, 8] |
---|
| 12698 | + str x0, [sp, 192] |
---|
| 12699 | + ldr x0, [x3, 16] |
---|
| 12700 | + str x0, [sp, 200] |
---|
| 12701 | + add x0, sp, 184 |
---|
11294 | 12702 | bl FlashReadPages |
---|
11295 | | - ldr w3, [x29, 200] |
---|
11296 | | - ldr x5, [x29, 104] |
---|
| 12703 | + ldr w3, [sp, 184] |
---|
11297 | 12704 | cmn w3, #1 |
---|
11298 | | - bne .L1627 |
---|
11299 | | - ldr w0, [x5, 2784] |
---|
11300 | | - mov w2, w21 |
---|
| 12705 | + bne .L1651 |
---|
| 12706 | + ldr w0, [x24, 2784] |
---|
| 12707 | + mov w2, w19 |
---|
11301 | 12708 | add w0, w0, 1 |
---|
11302 | | - str w0, [x5, 2784] |
---|
11303 | | - adrp x0, .LC125 |
---|
11304 | | - add x0, x0, :lo12:.LC125 |
---|
11305 | | - ldr w1, [x22, 8] |
---|
11306 | | - bl sftl_printk |
---|
11307 | | -.L1630: |
---|
11308 | | - ldr w0, [x29, 168] |
---|
11309 | | - cmp w21, w25 |
---|
11310 | | - lsl w2, w0, 9 |
---|
11311 | | - add x0, x19, :lo12:.LANCHOR0 |
---|
11312 | | - bne .L1631 |
---|
11313 | | - ldr x0, [x0, 3448] |
---|
11314 | | - mov x1, x27 |
---|
11315 | | - add x4, x0, x28 |
---|
11316 | | - ldr w0, [x29, 164] |
---|
11317 | | - ldr x3, [x4, 8] |
---|
11318 | | - lsl w0, w0, 9 |
---|
11319 | | - add x0, x3, x0 |
---|
11320 | | -.L1658: |
---|
11321 | | - bl ftl_memcpy |
---|
11322 | | - b .L1623 |
---|
11323 | | -.L1624: |
---|
11324 | | - ldr x0, [x0, 3488] |
---|
11325 | | - b .L1656 |
---|
11326 | | -.L1627: |
---|
11327 | | - ldr w0, [x22, 8] |
---|
11328 | | - cmp w21, w0 |
---|
11329 | | - beq .L1629 |
---|
11330 | | - ldr w0, [x5, 2784] |
---|
11331 | | - mov w2, w21 |
---|
11332 | | - add w0, w0, 1 |
---|
11333 | | - str w0, [x5, 2784] |
---|
| 12709 | + str w0, [x24, 2784] |
---|
11334 | 12710 | adrp x0, .LC126 |
---|
11335 | 12711 | add x0, x0, :lo12:.LC126 |
---|
11336 | 12712 | ldr w1, [x22, 8] |
---|
11337 | 12713 | bl sftl_printk |
---|
11338 | | -.L1629: |
---|
| 12714 | +.L1655: |
---|
| 12715 | + ldr w0, [sp, 132] |
---|
| 12716 | + cmp w19, w27 |
---|
| 12717 | + lsl w2, w0, 9 |
---|
| 12718 | + bne .L1656 |
---|
| 12719 | + ldr x0, [sp, 112] |
---|
| 12720 | + ldr x1, [x24, 3440] |
---|
| 12721 | + add x1, x1, x0 |
---|
| 12722 | + ldr w0, [sp, 128] |
---|
| 12723 | + ldr x3, [x1, 8] |
---|
| 12724 | + lsl w0, w0, 9 |
---|
| 12725 | + mov x1, x25 |
---|
| 12726 | + add x0, x3, x0 |
---|
| 12727 | +.L1681: |
---|
| 12728 | + bl ftl_memcpy |
---|
| 12729 | + b .L1647 |
---|
| 12730 | +.L1648: |
---|
| 12731 | + ldr x0, [x24, 3480] |
---|
| 12732 | + b .L1680 |
---|
| 12733 | +.L1651: |
---|
11339 | 12734 | ldr w0, [x22, 8] |
---|
11340 | | - cmp w21, w0 |
---|
11341 | | - beq .L1630 |
---|
11342 | | - ldr x1, [x29, 176] |
---|
11343 | | - mov w2, 1128 |
---|
11344 | | - adrp x0, .LC8 |
---|
11345 | | - add x0, x0, :lo12:.LC8 |
---|
| 12735 | + cmp w0, w19 |
---|
| 12736 | + beq .L1655 |
---|
| 12737 | + ldr w0, [x24, 2784] |
---|
| 12738 | + mov w2, w19 |
---|
| 12739 | + add w0, w0, 1 |
---|
| 12740 | + str w0, [x24, 2784] |
---|
| 12741 | + ldr x0, [sp, 168] |
---|
| 12742 | + ldr w1, [x22, 8] |
---|
11346 | 12743 | bl sftl_printk |
---|
11347 | | - b .L1630 |
---|
11348 | | -.L1626: |
---|
11349 | | - add x1, x19, :lo12:.LANCHOR0 |
---|
11350 | | - ldr x0, [x1, 3448] |
---|
11351 | | - ldrh w2, [x1, 314] |
---|
| 12744 | + ldr w0, [x22, 8] |
---|
| 12745 | + cmp w0, w19 |
---|
| 12746 | + beq .L1655 |
---|
| 12747 | + mov x1, x23 |
---|
| 12748 | + mov x0, x28 |
---|
| 12749 | + mov w2, 1128 |
---|
| 12750 | + bl sftl_printk |
---|
| 12751 | + b .L1655 |
---|
| 12752 | +.L1650: |
---|
| 12753 | + ldrh w2, [x24, 314] |
---|
11352 | 12754 | mov w1, 0 |
---|
11353 | | - add x0, x0, x28 |
---|
11354 | | - ldr x0, [x0, 8] |
---|
| 12755 | + ldr x0, [x3, 8] |
---|
11355 | 12756 | bl ftl_memset |
---|
11356 | | - b .L1630 |
---|
11357 | | -.L1631: |
---|
11358 | | - ldrh w1, [x0, 262] |
---|
11359 | | - ldr x0, [x0, 3448] |
---|
11360 | | - add x4, x0, x28 |
---|
11361 | | - mul w1, w1, w21 |
---|
11362 | | - sub w1, w1, w23 |
---|
11363 | | - ldr x0, [x4, 8] |
---|
| 12757 | + b .L1655 |
---|
| 12758 | +.L1656: |
---|
| 12759 | + ldrh w1, [x24, 262] |
---|
| 12760 | + ldr x3, [sp, 112] |
---|
| 12761 | + ldr x0, [x24, 3440] |
---|
| 12762 | + mul w1, w1, w19 |
---|
| 12763 | + add x0, x0, x3 |
---|
| 12764 | + sub w1, w1, w21 |
---|
11364 | 12765 | lsl w1, w1, 9 |
---|
11365 | | - add x1, x27, x1 |
---|
11366 | | - b .L1658 |
---|
11367 | | -.L1618: |
---|
11368 | | - ldr x0, [x3, 3448] |
---|
11369 | | - add x4, x0, x28 |
---|
11370 | | - ldrh w0, [x3, 262] |
---|
11371 | | - b .L1657 |
---|
11372 | | -.L1638: |
---|
11373 | | - mov w20, 256 |
---|
| 12766 | + add x1, x25, x1 |
---|
| 12767 | + ldr x0, [x0, 8] |
---|
| 12768 | + b .L1681 |
---|
| 12769 | +.L1642: |
---|
| 12770 | + ldr x2, [sp, 112] |
---|
| 12771 | + mul w1, w1, w19 |
---|
| 12772 | + ldr x0, [x24, 3440] |
---|
| 12773 | + sub w1, w1, w21 |
---|
| 12774 | + add x0, x0, x2 |
---|
| 12775 | + lsl w1, w1, 9 |
---|
| 12776 | + add x1, x25, x1 |
---|
| 12777 | + str x1, [x0, 8] |
---|
| 12778 | + b .L1647 |
---|
| 12779 | +.L1674: |
---|
| 12780 | + mov w19, 256 |
---|
11374 | 12781 | mov w21, 65535 |
---|
11375 | | - mov w22, 128 |
---|
11376 | | -.L1641: |
---|
11377 | | - ldrh w0, [x19, 176] |
---|
11378 | | - cmp w0, w21 |
---|
11379 | | - bne .L1639 |
---|
11380 | | - ldrh w0, [x19, 226] |
---|
11381 | | - cmp w0, w21 |
---|
11382 | | - bne .L1639 |
---|
| 12782 | + mov w20, 128 |
---|
| 12783 | +.L1663: |
---|
| 12784 | + ldrh w0, [x24, 176] |
---|
| 12785 | + ldrh w1, [x24, 226] |
---|
| 12786 | + and w0, w0, w1 |
---|
| 12787 | + cmp w21, w0, uxth |
---|
| 12788 | + bne .L1664 |
---|
11383 | 12789 | mov w0, 0 |
---|
11384 | 12790 | bl List_get_gc_head_node |
---|
11385 | 12791 | bl FtlGcRefreshBlock |
---|
11386 | | -.L1639: |
---|
| 12792 | +.L1664: |
---|
11387 | 12793 | mov w1, 1 |
---|
11388 | | - strh w22, [x19, 3226] |
---|
11389 | 12794 | mov w0, w1 |
---|
11390 | | - strh w22, [x19, 3224] |
---|
| 12795 | + strh w20, [x24, 3224] |
---|
| 12796 | + strh w20, [x24, 3226] |
---|
11391 | 12797 | bl rk_ftl_garbage_collect |
---|
11392 | 12798 | mov w1, 1 |
---|
11393 | 12799 | mov w0, 0 |
---|
11394 | 12800 | bl rk_ftl_garbage_collect |
---|
11395 | | - ldrh w0, [x19, 228] |
---|
| 12801 | + ldrh w0, [x24, 228] |
---|
11396 | 12802 | cmp w0, 2 |
---|
11397 | | - bhi .L1640 |
---|
11398 | | - subs w20, w20, #1 |
---|
11399 | | - bne .L1641 |
---|
11400 | | - b .L1640 |
---|
11401 | | -.L1645: |
---|
| 12803 | + bhi .L1665 |
---|
| 12804 | + subs w19, w19, #1 |
---|
| 12805 | + bne .L1663 |
---|
| 12806 | + b .L1665 |
---|
| 12807 | +.L1669: |
---|
11402 | 12808 | mov w0, -1 |
---|
11403 | | - b .L1605 |
---|
11404 | | -.L1642: |
---|
| 12809 | + b .L1628 |
---|
| 12810 | +.L1666: |
---|
11405 | 12811 | ldp x19, x20, [sp, 16] |
---|
11406 | 12812 | ldp x21, x22, [sp, 32] |
---|
11407 | 12813 | ldp x23, x24, [sp, 48] |
---|
11408 | 12814 | ldp x25, x26, [sp, 64] |
---|
11409 | 12815 | ldp x27, x28, [sp, 80] |
---|
11410 | | - ldp x29, x30, [sp], 240 |
---|
| 12816 | + ldp x29, x30, [sp], 224 |
---|
| 12817 | + hint 29 // autiasp |
---|
11411 | 12818 | ret |
---|
11412 | 12819 | .size FtlWrite, .-FtlWrite |
---|
11413 | 12820 | .align 2 |
---|
11414 | 12821 | .global sftl_gc |
---|
11415 | 12822 | .type sftl_gc, %function |
---|
11416 | 12823 | sftl_gc: |
---|
| 12824 | + hint 34 // bti c |
---|
| 12825 | + .section __patchable_function_entries |
---|
| 12826 | + .align 3 |
---|
| 12827 | + .8byte .LPFE127 |
---|
| 12828 | + .text |
---|
| 12829 | +.LPFE127: |
---|
| 12830 | + nop |
---|
| 12831 | + nop |
---|
| 12832 | + hint 25 // paciasp |
---|
11417 | 12833 | stp x29, x30, [sp, -16]! |
---|
11418 | 12834 | mov w1, 1 |
---|
| 12835 | + mov x29, sp |
---|
11419 | 12836 | mov w0, w1 |
---|
11420 | | - add x29, sp, 0 |
---|
11421 | 12837 | bl rk_ftl_garbage_collect |
---|
11422 | 12838 | ldp x29, x30, [sp], 16 |
---|
| 12839 | + hint 29 // autiasp |
---|
11423 | 12840 | ret |
---|
11424 | 12841 | .size sftl_gc, .-sftl_gc |
---|
| 12842 | + .section .rodata.str1.1 |
---|
| 12843 | +.LC128: |
---|
| 12844 | + .string "%s hash error this.id =%x page =%x pre_id =%x hash =%x hash_r =%x\n" |
---|
| 12845 | + .text |
---|
11425 | 12846 | .align 2 |
---|
11426 | 12847 | .global FtlLoadSysInfo |
---|
11427 | 12848 | .type FtlLoadSysInfo, %function |
---|
11428 | 12849 | FtlLoadSysInfo: |
---|
| 12850 | + hint 34 // bti c |
---|
| 12851 | + .section __patchable_function_entries |
---|
| 12852 | + .align 3 |
---|
| 12853 | + .8byte .LPFE128 |
---|
| 12854 | + .text |
---|
| 12855 | +.LPFE128: |
---|
| 12856 | + nop |
---|
| 12857 | + nop |
---|
| 12858 | + hint 25 // paciasp |
---|
11429 | 12859 | stp x29, x30, [sp, -80]! |
---|
11430 | 12860 | mov w1, 0 |
---|
11431 | | - add x29, sp, 0 |
---|
11432 | | - stp x21, x22, [sp, 32] |
---|
11433 | | - adrp x22, .LANCHOR0 |
---|
11434 | | - add x21, x22, :lo12:.LANCHOR0 |
---|
| 12861 | + mov x29, sp |
---|
11435 | 12862 | stp x19, x20, [sp, 16] |
---|
11436 | | - add x20, x21, 3720 |
---|
| 12863 | + adrp x19, .LANCHOR0 |
---|
| 12864 | + add x19, x19, :lo12:.LANCHOR0 |
---|
| 12865 | + stp x25, x26, [sp, 64] |
---|
| 12866 | + add x25, x19, 3712 |
---|
| 12867 | + stp x21, x22, [sp, 32] |
---|
| 12868 | + ldrh w2, [x19, 244] |
---|
11437 | 12869 | stp x23, x24, [sp, 48] |
---|
11438 | | - str x25, [sp, 64] |
---|
11439 | | - ldr x0, [x21, 3456] |
---|
11440 | | - str x0, [x20, 8] |
---|
11441 | | - ldr x0, [x21, 3520] |
---|
11442 | | - str x0, [x20, 16] |
---|
11443 | | - ldr x0, [x21, 72] |
---|
11444 | | - ldrh w2, [x21, 244] |
---|
| 12870 | + ldr x0, [x19, 3448] |
---|
| 12871 | + str x0, [x25, 8] |
---|
| 12872 | + ldr x0, [x19, 3512] |
---|
| 12873 | + str x0, [x25, 16] |
---|
| 12874 | + ldr x0, [x19, 72] |
---|
11445 | 12875 | lsl w2, w2, 1 |
---|
11446 | 12876 | bl ftl_memset |
---|
11447 | | - ldrh w0, [x21, 2696] |
---|
| 12877 | + ldrh w0, [x19, 2696] |
---|
11448 | 12878 | mov w1, 65535 |
---|
11449 | 12879 | cmp w0, w1 |
---|
11450 | | - bne .L1662 |
---|
11451 | | -.L1673: |
---|
| 12880 | + bne .L1685 |
---|
| 12881 | +.L1697: |
---|
11452 | 12882 | mov w0, -1 |
---|
11453 | | -.L1661: |
---|
| 12883 | +.L1684: |
---|
11454 | 12884 | ldp x19, x20, [sp, 16] |
---|
11455 | 12885 | ldp x21, x22, [sp, 32] |
---|
11456 | 12886 | ldp x23, x24, [sp, 48] |
---|
11457 | | - ldr x25, [sp, 64] |
---|
| 12887 | + ldp x25, x26, [sp, 64] |
---|
11458 | 12888 | ldp x29, x30, [sp], 80 |
---|
| 12889 | + hint 29 // autiasp |
---|
11459 | 12890 | ret |
---|
11460 | | -.L1662: |
---|
11461 | | - add x23, x21, 2696 |
---|
| 12891 | +.L1685: |
---|
| 12892 | + add x21, x19, 2560 |
---|
11462 | 12893 | mov w1, 1 |
---|
11463 | 12894 | bl FtlGetLastWrittenPage |
---|
11464 | | - sxth w19, w0 |
---|
11465 | | - adrp x1, .LANCHOR1 |
---|
11466 | | - add w0, w0, 1 |
---|
11467 | | - add x1, x1, :lo12:.LANCHOR1 |
---|
11468 | | - strh w0, [x23, 2] |
---|
11469 | | - ldrsh w23, [x21, 2696] |
---|
11470 | | - add x24, x1, 712 |
---|
11471 | | -.L1664: |
---|
11472 | | - tbz w19, #31, .L1670 |
---|
| 12895 | + sxth w20, w0 |
---|
| 12896 | + add w0, w20, 1 |
---|
| 12897 | + mov w24, 19539 |
---|
| 12898 | + ldrsh w22, [x21, 136] |
---|
| 12899 | + movk w24, 0x4654, lsl 16 |
---|
| 12900 | + strh w0, [x21, 138] |
---|
| 12901 | + adrp x21, .LANCHOR1 |
---|
| 12902 | + add x21, x21, :lo12:.LANCHOR1 |
---|
| 12903 | + add x21, x21, 600 |
---|
| 12904 | +.L1687: |
---|
| 12905 | + tbz w20, #31, .L1694 |
---|
11473 | 12906 | adrp x1, .LANCHOR1 |
---|
11474 | 12907 | add x1, x1, :lo12:.LANCHOR1 |
---|
| 12908 | + add x1, x1, 600 |
---|
11475 | 12909 | mov w2, 1474 |
---|
11476 | | - add x1, x1, 712 |
---|
11477 | | - adrp x0, .LC8 |
---|
11478 | | - add x0, x0, :lo12:.LC8 |
---|
| 12910 | + adrp x0, .LC9 |
---|
| 12911 | + add x0, x0, :lo12:.LC9 |
---|
11479 | 12912 | bl sftl_printk |
---|
11480 | | - b .L1669 |
---|
11481 | | -.L1670: |
---|
11482 | | - orr w0, w19, w23, lsl 10 |
---|
11483 | | - str w0, [x20, 4] |
---|
11484 | | - ldr x0, [x21, 3456] |
---|
| 12913 | + b .L1693 |
---|
| 12914 | +.L1694: |
---|
| 12915 | + orr w0, w20, w22, lsl 10 |
---|
| 12916 | + str w0, [x25, 4] |
---|
| 12917 | + ldr x0, [x19, 3448] |
---|
11485 | 12918 | mov w2, 1 |
---|
11486 | | - str x0, [x20, 8] |
---|
11487 | 12919 | mov w1, w2 |
---|
11488 | | - mov x0, x20 |
---|
| 12920 | + str x0, [x25, 8] |
---|
| 12921 | + mov x0, x25 |
---|
11489 | 12922 | bl FlashReadPages |
---|
11490 | | - ldr x0, [x20, 16] |
---|
11491 | | - ldr w7, [x0, 12] |
---|
11492 | | - cbz w7, .L1665 |
---|
11493 | | - ldr w0, [x20] |
---|
| 12923 | + ldr x0, [x25, 16] |
---|
| 12924 | + ldr w23, [x0, 12] |
---|
| 12925 | + ldr w0, [x25] |
---|
11494 | 12926 | cmn w0, #1 |
---|
11495 | | - beq .L1665 |
---|
11496 | | - ldrh w1, [x21, 314] |
---|
11497 | | - ldr x0, [x20, 8] |
---|
| 12927 | + cbz w23, .L1688 |
---|
| 12928 | + beq .L1689 |
---|
| 12929 | + ldrh w1, [x19, 314] |
---|
| 12930 | + ldr x0, [x25, 8] |
---|
11498 | 12931 | bl js_hash |
---|
11499 | | - cmp w7, w0 |
---|
11500 | | - beq .L1665 |
---|
11501 | | - ldrh w4, [x21, 2700] |
---|
11502 | 12932 | mov w6, w0 |
---|
11503 | | - mov w5, w7 |
---|
11504 | | - adrp x0, .LC127 |
---|
11505 | | - mov w3, w19 |
---|
11506 | | - mov w2, w23 |
---|
11507 | | - mov x1, x24 |
---|
11508 | | - add x0, x0, :lo12:.LC127 |
---|
11509 | | - bl sftl_printk |
---|
11510 | | - cbnz w19, .L1666 |
---|
11511 | | - ldrh w0, [x21, 2700] |
---|
11512 | 12933 | cmp w23, w0 |
---|
11513 | | - beq .L1666 |
---|
11514 | | - ldrh w19, [x21, 308] |
---|
11515 | | - sxth w23, w0 |
---|
11516 | | -.L1668: |
---|
11517 | | - sub w19, w19, #1 |
---|
11518 | | - sxth w19, w19 |
---|
11519 | | - b .L1664 |
---|
11520 | | -.L1666: |
---|
| 12934 | + beq .L1690 |
---|
| 12935 | + ldrh w4, [x19, 2700] |
---|
| 12936 | + adrp x0, .LC128 |
---|
| 12937 | + mov w5, w23 |
---|
| 12938 | + mov w3, w20 |
---|
| 12939 | + mov w2, w22 |
---|
| 12940 | + mov x1, x21 |
---|
| 12941 | + add x0, x0, :lo12:.LC128 |
---|
| 12942 | + bl sftl_printk |
---|
| 12943 | + cbnz w20, .L1691 |
---|
| 12944 | + ldrh w0, [x19, 2700] |
---|
| 12945 | + cmp w22, w0 |
---|
| 12946 | + beq .L1691 |
---|
| 12947 | + ldrh w20, [x19, 308] |
---|
| 12948 | + sxth w22, w0 |
---|
| 12949 | +.L1689: |
---|
| 12950 | + sub w20, w20, #1 |
---|
| 12951 | + sxth w20, w20 |
---|
| 12952 | + b .L1687 |
---|
| 12953 | +.L1691: |
---|
11521 | 12954 | mov w0, -1 |
---|
11522 | | - str w0, [x20] |
---|
11523 | | -.L1665: |
---|
11524 | | - ldr w0, [x20] |
---|
11525 | | - cmn w0, #1 |
---|
11526 | | - beq .L1668 |
---|
11527 | | - ldr x0, [x21, 3456] |
---|
11528 | | - ldr w1, [x0] |
---|
11529 | | - mov w0, 19539 |
---|
11530 | | - movk w0, 0x4654, lsl 16 |
---|
11531 | | - cmp w1, w0 |
---|
11532 | | - bne .L1668 |
---|
11533 | | - ldr x0, [x21, 3520] |
---|
| 12955 | + str w0, [x25] |
---|
| 12956 | + b .L1689 |
---|
| 12957 | +.L1688: |
---|
| 12958 | + beq .L1689 |
---|
| 12959 | +.L1690: |
---|
| 12960 | + ldr x0, [x19, 3448] |
---|
| 12961 | + ldr w0, [x0] |
---|
| 12962 | + cmp w0, w24 |
---|
| 12963 | + bne .L1689 |
---|
| 12964 | + ldr x0, [x19, 3512] |
---|
11534 | 12965 | ldrh w1, [x0] |
---|
11535 | 12966 | mov w0, 61604 |
---|
11536 | 12967 | cmp w1, w0 |
---|
11537 | | - bne .L1668 |
---|
11538 | | -.L1669: |
---|
11539 | | - add x1, x22, :lo12:.LANCHOR0 |
---|
11540 | | - ldrh w0, [x1, 244] |
---|
11541 | | - ldrh w1, [x1, 314] |
---|
| 12968 | + bne .L1689 |
---|
| 12969 | +.L1693: |
---|
| 12970 | + ldrh w0, [x19, 244] |
---|
| 12971 | + ldrh w1, [x19, 314] |
---|
11542 | 12972 | add x0, x0, 24 |
---|
11543 | 12973 | cmp x1, x0, lsl 1 |
---|
11544 | | - bcs .L1672 |
---|
| 12974 | + bcs .L1696 |
---|
11545 | 12975 | adrp x1, .LANCHOR1 |
---|
11546 | 12976 | add x1, x1, :lo12:.LANCHOR1 |
---|
11547 | | - adrp x0, .LC8 |
---|
| 12977 | + adrp x0, .LC9 |
---|
| 12978 | + add x1, x1, 600 |
---|
| 12979 | + add x0, x0, :lo12:.LC9 |
---|
11548 | 12980 | mov w2, 1476 |
---|
11549 | | - add x1, x1, 712 |
---|
11550 | | - add x0, x0, :lo12:.LC8 |
---|
11551 | 12981 | bl sftl_printk |
---|
11552 | | -.L1672: |
---|
11553 | | - add x19, x22, :lo12:.LANCHOR0 |
---|
| 12982 | +.L1696: |
---|
| 12983 | + ldr x1, [x19, 3720] |
---|
| 12984 | + add x21, x19, 2512 |
---|
11554 | 12985 | mov w2, 48 |
---|
11555 | | - add x20, x19, 2512 |
---|
11556 | | - mov x0, x20 |
---|
11557 | | - ldr x1, [x19, 3728] |
---|
| 12986 | + mov x0, x21 |
---|
11558 | 12987 | bl ftl_memcpy |
---|
11559 | 12988 | ldr x0, [x19, 72] |
---|
11560 | 12989 | ldrh w2, [x19, 244] |
---|
11561 | | - ldr x1, [x19, 3728] |
---|
| 12990 | + ldr x1, [x19, 3720] |
---|
11562 | 12991 | lsl w2, w2, 1 |
---|
11563 | 12992 | add x1, x1, 48 |
---|
11564 | 12993 | bl ftl_memcpy |
---|
.. | .. |
---|
11566 | 12995 | mov w0, 19539 |
---|
11567 | 12996 | movk w0, 0x4654, lsl 16 |
---|
11568 | 12997 | cmp w1, w0 |
---|
11569 | | - bne .L1673 |
---|
| 12998 | + bne .L1697 |
---|
11570 | 12999 | ldrh w1, [x19, 2520] |
---|
11571 | 13000 | ldrb w2, [x19, 2522] |
---|
11572 | 13001 | ldrh w0, [x19, 258] |
---|
11573 | 13002 | strh w1, [x19, 2702] |
---|
11574 | 13003 | cmp w2, w0 |
---|
11575 | | - bne .L1673 |
---|
| 13004 | + bne .L1697 |
---|
11576 | 13005 | ldrh w0, [x19, 306] |
---|
11577 | 13006 | ldrh w2, [x19, 262] |
---|
11578 | 13007 | ldrh w3, [x19, 236] |
---|
11579 | | - str w1, [x19, 3972] |
---|
| 13008 | + str w1, [x19, 3964] |
---|
11580 | 13009 | mul w0, w0, w1 |
---|
11581 | 13010 | str w0, [x19, 2624] |
---|
11582 | 13011 | mul w0, w2, w0 |
---|
11583 | 13012 | ldr w2, [x19, 248] |
---|
11584 | 13013 | str w0, [x19, 344] |
---|
11585 | 13014 | ldrh w0, [x19, 366] |
---|
11586 | | - cmp w1, w2 |
---|
| 13015 | + add w0, w0, w1 |
---|
11587 | 13016 | sub w0, w2, w0 |
---|
11588 | | - sub w0, w0, w1 |
---|
11589 | 13017 | udiv w0, w0, w3 |
---|
11590 | 13018 | strh w0, [x19, 2692] |
---|
11591 | | - bls .L1674 |
---|
| 13019 | + cmp w1, w2 |
---|
| 13020 | + bls .L1698 |
---|
11592 | 13021 | adrp x1, .LANCHOR1 |
---|
11593 | 13022 | add x1, x1, :lo12:.LANCHOR1 |
---|
11594 | | - adrp x0, .LC8 |
---|
| 13023 | + adrp x0, .LC9 |
---|
| 13024 | + add x1, x1, 600 |
---|
| 13025 | + add x0, x0, :lo12:.LC9 |
---|
11595 | 13026 | mov w2, 1498 |
---|
11596 | | - add x1, x1, 712 |
---|
11597 | | - add x0, x0, :lo12:.LC8 |
---|
11598 | 13027 | bl sftl_printk |
---|
11599 | | -.L1674: |
---|
11600 | | - add x0, x22, :lo12:.LANCHOR0 |
---|
11601 | | - mov w3, -1 |
---|
11602 | | - ldrh w2, [x0, 2528] |
---|
11603 | | - ldrh w4, [x0, 2526] |
---|
11604 | | - strh w4, [x0, 24] |
---|
11605 | | - lsr w5, w2, 6 |
---|
| 13028 | +.L1698: |
---|
| 13029 | + ldrh w2, [x19, 2528] |
---|
| 13030 | + add x0, x19, 2660 |
---|
| 13031 | + ldr w1, [x19, 2544] |
---|
| 13032 | + ldrh w3, [x19, 2526] |
---|
| 13033 | + lsr w4, w2, 6 |
---|
11606 | 13034 | and w2, w2, 63 |
---|
11607 | | - strb w2, [x0, 30] |
---|
11608 | | - ldrb w2, [x0, 2523] |
---|
11609 | | - strb w2, [x0, 32] |
---|
11610 | | - ldrh w2, [x0, 2530] |
---|
11611 | | - strh w2, [x0, 80] |
---|
11612 | | - ldrh w2, [x0, 2532] |
---|
11613 | | - strh w5, [x0, 26] |
---|
11614 | | - strh w3, [x0, 176] |
---|
11615 | | - lsr w5, w2, 6 |
---|
| 13035 | + strb w2, [x19, 30] |
---|
| 13036 | + ldrb w2, [x19, 2523] |
---|
| 13037 | + strb w2, [x19, 32] |
---|
| 13038 | + mov w2, 65535 |
---|
| 13039 | + str w2, [x19, 176] |
---|
| 13040 | + ldrh w2, [x19, 2530] |
---|
| 13041 | + strh w2, [x19, 80] |
---|
| 13042 | + ldrh w2, [x19, 2532] |
---|
| 13043 | + strh w4, [x19, 26] |
---|
| 13044 | + stp wzr, wzr, [x0, -16] |
---|
| 13045 | + lsr w4, w2, 6 |
---|
11616 | 13046 | and w2, w2, 63 |
---|
11617 | | - strb w2, [x0, 86] |
---|
11618 | | - ldrb w2, [x0, 2524] |
---|
11619 | | - strb w2, [x0, 88] |
---|
11620 | | - ldrh w2, [x0, 2534] |
---|
11621 | | - strh w2, [x0, 128] |
---|
11622 | | - ldrh w2, [x0, 2536] |
---|
11623 | | - strh w5, [x0, 82] |
---|
11624 | | - strh wzr, [x0, 178] |
---|
11625 | | - lsr w5, w2, 6 |
---|
| 13047 | + strb w2, [x19, 86] |
---|
| 13048 | + ldrb w2, [x19, 2524] |
---|
| 13049 | + strb w2, [x19, 88] |
---|
| 13050 | + ldrh w2, [x19, 2534] |
---|
| 13051 | + strh w2, [x19, 128] |
---|
| 13052 | + ldrh w2, [x19, 2536] |
---|
| 13053 | + strh w4, [x19, 82] |
---|
| 13054 | + stp w1, wzr, [x0, 8] |
---|
| 13055 | + lsr w4, w2, 6 |
---|
11626 | 13056 | and w2, w2, 63 |
---|
11627 | | - strb w2, [x0, 134] |
---|
11628 | | - ldrb w2, [x0, 2525] |
---|
11629 | | - strb w2, [x0, 136] |
---|
11630 | | - ldr w2, [x0, 2544] |
---|
11631 | | - str w2, [x0, 2668] |
---|
11632 | | - strb wzr, [x0, 182] |
---|
11633 | | - strb wzr, [x0, 184] |
---|
11634 | | - strh w5, [x0, 130] |
---|
11635 | | - str wzr, [x0, 2628] |
---|
11636 | | - str wzr, [x0, 2636] |
---|
11637 | | - str wzr, [x0, 2644] |
---|
11638 | | - str wzr, [x0, 2648] |
---|
11639 | | - str wzr, [x0, 2672] |
---|
11640 | | - str wzr, [x0, 2684] |
---|
11641 | | - ldr w1, [x0, 2552] |
---|
11642 | | - ldr w2, [x0, 2660] |
---|
11643 | | - str wzr, [x0, 2640] |
---|
11644 | | - cmp w1, w2 |
---|
11645 | | - bls .L1675 |
---|
11646 | | - str w1, [x0, 2660] |
---|
11647 | | -.L1675: |
---|
11648 | | - add x0, x22, :lo12:.LANCHOR0 |
---|
11649 | | - ldr w1, [x0, 2548] |
---|
11650 | | - ldr w2, [x0, 2664] |
---|
11651 | | - cmp w1, w2 |
---|
11652 | | - bls .L1676 |
---|
11653 | | - str w1, [x0, 2664] |
---|
11654 | | -.L1676: |
---|
| 13057 | + strb w2, [x19, 134] |
---|
| 13058 | + ldrb w2, [x19, 2525] |
---|
| 13059 | + strh w3, [x19, 24] |
---|
| 13060 | + strh w4, [x19, 130] |
---|
| 13061 | + strb w2, [x19, 136] |
---|
| 13062 | + strb wzr, [x19, 182] |
---|
| 13063 | + strb wzr, [x19, 184] |
---|
| 13064 | + str wzr, [x19, 2628] |
---|
| 13065 | + str wzr, [x19, 2636] |
---|
| 13066 | + str wzr, [x19, 2684] |
---|
| 13067 | + str wzr, [x19, 2640] |
---|
| 13068 | + ldr w0, [x19, 2552] |
---|
| 13069 | + ldr w1, [x19, 2660] |
---|
| 13070 | + cmp w0, w1 |
---|
| 13071 | + bls .L1699 |
---|
| 13072 | + str w0, [x19, 2660] |
---|
| 13073 | +.L1699: |
---|
| 13074 | + ldr w0, [x19, 2548] |
---|
| 13075 | + ldr w1, [x19, 2664] |
---|
| 13076 | + cmp w0, w1 |
---|
| 13077 | + bls .L1700 |
---|
| 13078 | + str w0, [x19, 2664] |
---|
| 13079 | +.L1700: |
---|
11655 | 13080 | mov w0, 65535 |
---|
11656 | | - cmp w4, w0 |
---|
11657 | | - beq .L1677 |
---|
11658 | | - add x0, x22, :lo12:.LANCHOR0 |
---|
11659 | | - add x0, x0, 24 |
---|
| 13081 | + cmp w3, w0 |
---|
| 13082 | + beq .L1701 |
---|
| 13083 | + add x0, x19, 24 |
---|
11660 | 13084 | bl make_superblock |
---|
11661 | | -.L1677: |
---|
11662 | | - add x1, x22, :lo12:.LANCHOR0 |
---|
11663 | | - add x0, x1, 80 |
---|
11664 | | - ldrh w2, [x1, 80] |
---|
| 13085 | +.L1701: |
---|
| 13086 | + ldrh w2, [x19, 80] |
---|
| 13087 | + add x0, x19, 80 |
---|
11665 | 13088 | mov w1, 65535 |
---|
11666 | 13089 | cmp w2, w1 |
---|
11667 | | - beq .L1678 |
---|
| 13090 | + beq .L1702 |
---|
11668 | 13091 | bl make_superblock |
---|
11669 | | -.L1678: |
---|
11670 | | - add x1, x22, :lo12:.LANCHOR0 |
---|
11671 | | - add x0, x1, 128 |
---|
11672 | | - ldrh w2, [x1, 128] |
---|
| 13092 | +.L1702: |
---|
| 13093 | + ldrh w2, [x19, 128] |
---|
| 13094 | + add x0, x19, 128 |
---|
11673 | 13095 | mov w1, 65535 |
---|
11674 | 13096 | cmp w2, w1 |
---|
11675 | | - beq .L1679 |
---|
| 13097 | + beq .L1703 |
---|
11676 | 13098 | bl make_superblock |
---|
11677 | | -.L1679: |
---|
11678 | | - add x22, x22, :lo12:.LANCHOR0 |
---|
| 13099 | +.L1703: |
---|
| 13100 | + ldrh w2, [x19, 176] |
---|
| 13101 | + add x0, x19, 176 |
---|
11679 | 13102 | mov w1, 65535 |
---|
11680 | | - add x0, x22, 176 |
---|
11681 | | - ldrh w2, [x22, 176] |
---|
11682 | 13103 | cmp w2, w1 |
---|
11683 | | - beq .L1680 |
---|
| 13104 | + beq .L1704 |
---|
11684 | 13105 | bl make_superblock |
---|
11685 | | -.L1680: |
---|
| 13106 | +.L1704: |
---|
11686 | 13107 | mov w0, 0 |
---|
11687 | | - b .L1661 |
---|
| 13108 | + b .L1684 |
---|
11688 | 13109 | .size FtlLoadSysInfo, .-FtlLoadSysInfo |
---|
| 13110 | + .section .rodata.str1.1 |
---|
| 13111 | +.LC129: |
---|
| 13112 | + .string "%s last blk_id =%x page =%x hash error hash =%x hash_r =%x\n" |
---|
| 13113 | +.LC130: |
---|
| 13114 | + .string "%s scan blk_id =%x page =%x hash error hash =%x hash_r =%x\n" |
---|
| 13115 | + .text |
---|
11689 | 13116 | .align 2 |
---|
11690 | 13117 | .global FtlMapTblRecovery |
---|
11691 | 13118 | .type FtlMapTblRecovery, %function |
---|
11692 | 13119 | FtlMapTblRecovery: |
---|
| 13120 | + hint 34 // bti c |
---|
| 13121 | + .section __patchable_function_entries |
---|
| 13122 | + .align 3 |
---|
| 13123 | + .8byte .LPFE129 |
---|
| 13124 | + .text |
---|
| 13125 | +.LPFE129: |
---|
| 13126 | + nop |
---|
| 13127 | + nop |
---|
| 13128 | + hint 25 // paciasp |
---|
11693 | 13129 | stp x29, x30, [sp, -144]! |
---|
11694 | 13130 | mov w1, 0 |
---|
11695 | | - add x29, sp, 0 |
---|
| 13131 | + mov x29, sp |
---|
11696 | 13132 | stp x19, x20, [sp, 16] |
---|
11697 | 13133 | mov x19, x0 |
---|
11698 | | - stp x21, x22, [sp, 32] |
---|
11699 | | - adrp x21, .LANCHOR0 |
---|
11700 | | - stp x23, x24, [sp, 48] |
---|
11701 | 13134 | mov w20, 0 |
---|
| 13135 | + stp x21, x22, [sp, 32] |
---|
| 13136 | + stp x23, x24, [sp, 48] |
---|
11702 | 13137 | stp x25, x26, [sp, 64] |
---|
11703 | 13138 | stp x27, x28, [sp, 80] |
---|
11704 | | - ldrh w25, [x0, 6] |
---|
11705 | | - ldr x23, [x0, 40] |
---|
11706 | | - ldr x24, [x0, 16] |
---|
11707 | | - ldr x0, [x0, 24] |
---|
11708 | | - lsl w2, w25, 2 |
---|
11709 | | - str x0, [x29, 128] |
---|
11710 | | - ldrh w0, [x19, 8] |
---|
11711 | | - str w0, [x29, 136] |
---|
11712 | | - mov x0, x23 |
---|
| 13139 | + ldrh w23, [x0, 6] |
---|
| 13140 | + ldr x22, [x0, 40] |
---|
| 13141 | + ldp x27, x28, [x0, 16] |
---|
| 13142 | + lsl w2, w23, 2 |
---|
| 13143 | + ldrh w0, [x0, 8] |
---|
| 13144 | + str w0, [sp, 112] |
---|
| 13145 | + mov x0, x22 |
---|
11713 | 13146 | bl ftl_memset |
---|
11714 | | - stp wzr, wzr, [x19, 48] |
---|
11715 | | - add x0, x21, :lo12:.LANCHOR0 |
---|
11716 | | - ldr x2, [x0, 3456] |
---|
11717 | | - ldr x22, [x0, 3520] |
---|
11718 | | - str x2, [x0, 3728] |
---|
11719 | | - str x22, [x0, 3736] |
---|
| 13147 | + str xzr, [x19, 48] |
---|
| 13148 | + adrp x6, .LANCHOR0 |
---|
| 13149 | + add x24, x6, :lo12:.LANCHOR0 |
---|
11720 | 13150 | mov w0, -1 |
---|
11721 | | - strh w0, [x19] |
---|
11722 | | - strh w0, [x19, 2] |
---|
| 13151 | + ldr x1, [x24, 3448] |
---|
| 13152 | + str x1, [x24, 3720] |
---|
| 13153 | + ldr x21, [x24, 3512] |
---|
| 13154 | + str x21, [x24, 3728] |
---|
| 13155 | + str w0, [x19] |
---|
11723 | 13156 | mov w0, 1 |
---|
11724 | 13157 | str w0, [x19, 56] |
---|
11725 | | - ldr w0, [x29, 136] |
---|
| 13158 | + ldr w0, [sp, 112] |
---|
11726 | 13159 | sub w0, w0, #1 |
---|
11727 | | - str w0, [x29, 116] |
---|
| 13160 | + str w0, [sp, 124] |
---|
11728 | 13161 | adrp x0, .LANCHOR1 |
---|
11729 | 13162 | add x0, x0, :lo12:.LANCHOR1 |
---|
11730 | | - add x0, x0, 728 |
---|
11731 | | - str x0, [x29, 104] |
---|
11732 | | -.L1693: |
---|
11733 | | - ldr w0, [x29, 136] |
---|
| 13163 | + add x0, x0, 615 |
---|
| 13164 | + str x0, [sp, 128] |
---|
| 13165 | +.L1714: |
---|
| 13166 | + ldr w0, [sp, 112] |
---|
11734 | 13167 | cmp w20, w0 |
---|
11735 | | - bge .L1712 |
---|
11736 | | - ldr w0, [x29, 116] |
---|
11737 | | - sxtw x28, w20 |
---|
11738 | | - cmp w20, w0 |
---|
11739 | | - bne .L1694 |
---|
11740 | | - lsl x0, x28, 1 |
---|
11741 | | - mov w26, 0 |
---|
11742 | | - add x1, x24, x0 |
---|
11743 | | - str x1, [x29, 136] |
---|
| 13168 | + bge .L1734 |
---|
| 13169 | + add x0, x27, w20, sxtw 1 |
---|
| 13170 | + str x0, [sp, 104] |
---|
| 13171 | + ldr w0, [sp, 124] |
---|
| 13172 | + sxtw x26, w20 |
---|
| 13173 | + sbfiz x1, x20, 1, 32 |
---|
| 13174 | + cmp w0, w20 |
---|
| 13175 | + bne .L1715 |
---|
| 13176 | + ldr x0, [sp, 104] |
---|
11744 | 13177 | mov w1, 1 |
---|
11745 | | - ldrh w0, [x24, x0] |
---|
11746 | | - adrp x24, .LANCHOR1 |
---|
11747 | | - add x24, x24, :lo12:.LANCHOR1 |
---|
11748 | | - add x24, x24, 728 |
---|
| 13178 | + adrp x27, .LC129 |
---|
| 13179 | + add x27, x27, :lo12:.LC129 |
---|
| 13180 | + ldrh w0, [x0] |
---|
11749 | 13181 | bl FtlGetLastWrittenPage |
---|
11750 | | - sxth w1, w0 |
---|
11751 | | - add w0, w0, 1 |
---|
11752 | | - strh w0, [x19, 2] |
---|
11753 | | - ldr x0, [x29, 128] |
---|
| 13182 | + sxth w25, w0 |
---|
| 13183 | + add w25, w25, 1 |
---|
11754 | 13184 | strh w20, [x19] |
---|
11755 | | - str w1, [x29, 120] |
---|
11756 | | - ldr w0, [x0, x28, lsl 2] |
---|
11757 | | - add x28, x21, :lo12:.LANCHOR0 |
---|
11758 | | - add x27, x28, 3720 |
---|
| 13185 | + strh w25, [x19, 2] |
---|
| 13186 | + ldr w0, [x28, x26, lsl 2] |
---|
| 13187 | + adrp x26, .LANCHOR1 |
---|
| 13188 | + add x26, x26, :lo12:.LANCHOR1 |
---|
| 13189 | + mov w28, 0 |
---|
| 13190 | + add x26, x26, 615 |
---|
11759 | 13191 | str w0, [x19, 48] |
---|
11760 | | -.L1695: |
---|
11761 | | - ldr w0, [x29, 120] |
---|
11762 | | - add w0, w0, 1 |
---|
11763 | | - cmp w26, w0 |
---|
11764 | | - blt .L1698 |
---|
11765 | | -.L1712: |
---|
11766 | | - add x21, x21, :lo12:.LANCHOR0 |
---|
| 13192 | +.L1716: |
---|
| 13193 | + cmp w28, w25 |
---|
| 13194 | + blt .L1720 |
---|
| 13195 | +.L1734: |
---|
11767 | 13196 | mov x0, x19 |
---|
11768 | 13197 | bl ftl_free_no_use_map_blk |
---|
11769 | 13198 | ldrh w1, [x19, 2] |
---|
11770 | | - ldrh w0, [x21, 308] |
---|
| 13199 | + ldrh w0, [x24, 308] |
---|
11771 | 13200 | cmp w1, w0 |
---|
11772 | | - bne .L1700 |
---|
| 13201 | + bne .L1722 |
---|
11773 | 13202 | mov x0, x19 |
---|
11774 | 13203 | bl ftl_map_blk_alloc_new_blk |
---|
11775 | | -.L1700: |
---|
| 13204 | +.L1722: |
---|
11776 | 13205 | mov x0, x19 |
---|
11777 | 13206 | bl ftl_map_blk_gc |
---|
11778 | 13207 | mov x0, x19 |
---|
.. | .. |
---|
11784 | 13213 | ldp x25, x26, [sp, 64] |
---|
11785 | 13214 | ldp x27, x28, [sp, 80] |
---|
11786 | 13215 | ldp x29, x30, [sp], 144 |
---|
| 13216 | + hint 29 // autiasp |
---|
11787 | 13217 | ret |
---|
11788 | | -.L1698: |
---|
11789 | | - ldr x0, [x29, 136] |
---|
| 13218 | +.L1720: |
---|
| 13219 | + ldr x0, [sp, 104] |
---|
| 13220 | + add x3, x24, 3712 |
---|
11790 | 13221 | mov w2, 1 |
---|
11791 | 13222 | mov w1, w2 |
---|
| 13223 | + str x3, [sp, 112] |
---|
11792 | 13224 | ldrh w0, [x0] |
---|
11793 | | - orr w0, w26, w0, lsl 10 |
---|
11794 | | - str w0, [x27, 4] |
---|
11795 | | - mov x0, x27 |
---|
| 13225 | + orr w0, w28, w0, lsl 10 |
---|
| 13226 | + str w0, [x24, 3716] |
---|
| 13227 | + mov x0, x3 |
---|
11796 | 13228 | bl FlashReadPages |
---|
11797 | | - ldr x0, [x27, 16] |
---|
11798 | | - ldr w8, [x0, 12] |
---|
11799 | | - cbz w8, .L1696 |
---|
11800 | | - ldr w0, [x27] |
---|
| 13229 | + ldr x3, [sp, 112] |
---|
| 13230 | + ldr x0, [x3, 16] |
---|
| 13231 | + ldr w4, [x0, 12] |
---|
| 13232 | + ldr w0, [x24, 3712] |
---|
| 13233 | + str w4, [sp, 112] |
---|
11801 | 13234 | cmn w0, #1 |
---|
11802 | | - beq .L1696 |
---|
11803 | | - ldrh w1, [x28, 314] |
---|
11804 | | - ldr x0, [x27, 8] |
---|
| 13235 | + cbz w4, .L1717 |
---|
| 13236 | + beq .L1735 |
---|
| 13237 | + ldrh w1, [x24, 314] |
---|
| 13238 | + ldr x0, [x3, 8] |
---|
11805 | 13239 | bl js_hash |
---|
11806 | | - cmp w8, w0 |
---|
11807 | | - beq .L1696 |
---|
| 13240 | + ldr w4, [sp, 112] |
---|
11808 | 13241 | mov w5, w0 |
---|
11809 | | - mov w4, w8 |
---|
11810 | | - mov w3, w26 |
---|
| 13242 | + cmp w4, w0 |
---|
| 13243 | + beq .L1719 |
---|
| 13244 | + mov x0, x27 |
---|
| 13245 | + mov w3, w28 |
---|
11811 | 13246 | mov w2, w20 |
---|
11812 | | - mov x1, x24 |
---|
11813 | | - adrp x0, .LC128 |
---|
11814 | | - add x0, x0, :lo12:.LC128 |
---|
| 13247 | + mov x1, x26 |
---|
11815 | 13248 | bl sftl_printk |
---|
11816 | 13249 | mov w0, -1 |
---|
11817 | | - str w0, [x27] |
---|
11818 | | -.L1696: |
---|
11819 | | - ldr w0, [x27] |
---|
11820 | | - cmn w0, #1 |
---|
11821 | | - beq .L1697 |
---|
11822 | | - ldrh w0, [x22, 8] |
---|
11823 | | - cmp w25, w0 |
---|
11824 | | - bls .L1697 |
---|
11825 | | - ldrh w2, [x22] |
---|
| 13250 | + str w0, [x24, 3712] |
---|
| 13251 | +.L1735: |
---|
| 13252 | + add w28, w28, 1 |
---|
| 13253 | + sxth w28, w28 |
---|
| 13254 | + b .L1716 |
---|
| 13255 | +.L1717: |
---|
| 13256 | + beq .L1735 |
---|
| 13257 | +.L1719: |
---|
| 13258 | + ldrh w0, [x21, 8] |
---|
| 13259 | + cmp w0, w23 |
---|
| 13260 | + bcs .L1735 |
---|
| 13261 | + ldrh w2, [x21] |
---|
11826 | 13262 | ldrh w1, [x19, 4] |
---|
11827 | 13263 | cmp w2, w1 |
---|
11828 | | - bne .L1697 |
---|
| 13264 | + bne .L1735 |
---|
11829 | 13265 | ubfiz x0, x0, 2, 16 |
---|
11830 | | - ldr w1, [x27, 4] |
---|
11831 | | - str w1, [x23, x0] |
---|
11832 | | -.L1697: |
---|
11833 | | - add w7, w26, 1 |
---|
11834 | | - sxth w26, w7 |
---|
11835 | | - b .L1695 |
---|
11836 | | -.L1694: |
---|
11837 | | - add x26, x21, :lo12:.LANCHOR0 |
---|
11838 | | - lsl x2, x28, 1 |
---|
11839 | | - add x0, x26, 3720 |
---|
11840 | | - ldr x1, [x26, 3456] |
---|
11841 | | - str x1, [x0, 8] |
---|
11842 | | - add x1, x24, x2 |
---|
11843 | | - str x1, [x29, 120] |
---|
11844 | | - ldrh w1, [x24, x2] |
---|
11845 | | - ldrh w2, [x26, 308] |
---|
| 13266 | + ldr w1, [x24, 3716] |
---|
| 13267 | + str w1, [x22, x0] |
---|
| 13268 | + b .L1735 |
---|
| 13269 | +.L1715: |
---|
| 13270 | + add x0, x24, 3712 |
---|
| 13271 | + ldr x2, [x24, 3448] |
---|
| 13272 | + str x2, [x0, 8] |
---|
| 13273 | + ldrh w2, [x24, 308] |
---|
| 13274 | + ldrh w1, [x27, x1] |
---|
11846 | 13275 | sub w2, w2, #1 |
---|
11847 | 13276 | orr w1, w2, w1, lsl 10 |
---|
11848 | 13277 | mov w2, 1 |
---|
11849 | 13278 | str w1, [x0, 4] |
---|
11850 | 13279 | mov w1, w2 |
---|
11851 | 13280 | bl FlashReadPages |
---|
11852 | | - ldr w0, [x26, 3720] |
---|
| 13281 | + ldr w0, [x24, 3712] |
---|
11853 | 13282 | cmn w0, #1 |
---|
11854 | | - beq .L1714 |
---|
11855 | | - ldrh w1, [x22] |
---|
| 13283 | + beq .L1738 |
---|
| 13284 | + ldrh w1, [x21] |
---|
11856 | 13285 | ldrh w0, [x19, 4] |
---|
11857 | 13286 | cmp w1, w0 |
---|
11858 | | - bne .L1714 |
---|
11859 | | - ldrh w1, [x22, 8] |
---|
| 13287 | + bne .L1738 |
---|
| 13288 | + ldrh w1, [x21, 8] |
---|
11860 | 13289 | mov w0, 64245 |
---|
11861 | 13290 | cmp w1, w0 |
---|
11862 | | - beq .L1702 |
---|
11863 | | -.L1714: |
---|
11864 | | - add x26, x21, :lo12:.LANCHOR0 |
---|
11865 | | - mov w27, 0 |
---|
11866 | | - add x28, x26, 3720 |
---|
11867 | | -.L1703: |
---|
11868 | | - ldrh w0, [x26, 308] |
---|
11869 | | - cmp w27, w0 |
---|
11870 | | - bge .L1710 |
---|
11871 | | - ldr x0, [x29, 120] |
---|
11872 | | - mov w2, 1 |
---|
11873 | | - mov w1, w2 |
---|
11874 | | - ldrh w0, [x0] |
---|
11875 | | - orr w0, w27, w0, lsl 10 |
---|
11876 | | - str w0, [x28, 4] |
---|
11877 | | - mov x0, x28 |
---|
11878 | | - bl FlashReadPages |
---|
11879 | | - ldr x0, [x28, 16] |
---|
11880 | | - ldr w7, [x0, 12] |
---|
11881 | | - cbz w7, .L1707 |
---|
11882 | | - ldr w0, [x28] |
---|
11883 | | - cmn w0, #1 |
---|
11884 | | - beq .L1707 |
---|
11885 | | - ldrh w1, [x26, 314] |
---|
11886 | | - ldr x0, [x28, 8] |
---|
11887 | | - bl js_hash |
---|
11888 | | - cmp w7, w0 |
---|
11889 | | - beq .L1707 |
---|
11890 | | - ldr x1, [x29, 104] |
---|
11891 | | - mov w5, w0 |
---|
11892 | | - mov w4, w7 |
---|
11893 | | - mov w3, w27 |
---|
11894 | | - mov w2, w20 |
---|
11895 | | - adrp x0, .LC129 |
---|
11896 | | - add x0, x0, :lo12:.LC129 |
---|
11897 | | - bl sftl_printk |
---|
11898 | | - mov w0, -1 |
---|
11899 | | - str w0, [x28] |
---|
11900 | | -.L1707: |
---|
11901 | | - ldr w0, [x28] |
---|
11902 | | - cmn w0, #1 |
---|
11903 | | - beq .L1708 |
---|
11904 | | - ldrh w0, [x22, 8] |
---|
11905 | | - cmp w25, w0 |
---|
11906 | | - bls .L1708 |
---|
11907 | | - ldrh w2, [x22] |
---|
11908 | | - ldrh w1, [x19, 4] |
---|
11909 | | - cmp w2, w1 |
---|
11910 | | - bne .L1708 |
---|
11911 | | - ubfiz x0, x0, 2, 16 |
---|
11912 | | - ldr w1, [x28, 4] |
---|
11913 | | - str w1, [x23, x0] |
---|
11914 | | -.L1708: |
---|
11915 | | - add w6, w27, 1 |
---|
11916 | | - sxth w27, w6 |
---|
11917 | | - b .L1703 |
---|
11918 | | -.L1702: |
---|
11919 | | - mov w0, 0 |
---|
11920 | | -.L1704: |
---|
11921 | | - ldrh w1, [x26, 308] |
---|
11922 | | - sub w1, w1, #1 |
---|
11923 | | - cmp w0, w1 |
---|
11924 | | - blt .L1706 |
---|
11925 | | -.L1710: |
---|
11926 | | - add w20, w20, 1 |
---|
11927 | | - sxth w20, w20 |
---|
11928 | | - b .L1693 |
---|
11929 | | -.L1706: |
---|
11930 | | - ldr x2, [x26, 3456] |
---|
11931 | | - sbfiz x3, x0, 3, 32 |
---|
11932 | | - ldrh w1, [x2, x3] |
---|
11933 | | - cmp w25, w1 |
---|
11934 | | - bls .L1705 |
---|
11935 | | - add x2, x2, x3 |
---|
11936 | | - ubfiz x1, x1, 2, 16 |
---|
11937 | | - ldr w2, [x2, 4] |
---|
11938 | | - str w2, [x23, x1] |
---|
11939 | | -.L1705: |
---|
| 13291 | + beq .L1739 |
---|
| 13292 | +.L1738: |
---|
| 13293 | + adrp x25, .LC130 |
---|
| 13294 | + mov w26, 0 |
---|
| 13295 | + add x25, x25, :lo12:.LC130 |
---|
| 13296 | + b .L1730 |
---|
| 13297 | +.L1726: |
---|
| 13298 | + ldr x3, [x24, 3448] |
---|
| 13299 | + lsl w1, w0, 1 |
---|
| 13300 | + ldr w4, [x3, w1, sxtw 2] |
---|
| 13301 | + and w2, w4, 65535 |
---|
| 13302 | + cmp w23, w4, uxth |
---|
| 13303 | + bls .L1725 |
---|
| 13304 | + add w1, w1, 1 |
---|
| 13305 | + ldr w3, [x3, w1, sxtw 2] |
---|
| 13306 | + ubfiz x1, x2, 2, 16 |
---|
| 13307 | + str w3, [x22, x1] |
---|
| 13308 | +.L1725: |
---|
11940 | 13309 | add w0, w0, 1 |
---|
11941 | 13310 | sxth w0, w0 |
---|
11942 | | - b .L1704 |
---|
| 13311 | +.L1724: |
---|
| 13312 | + ldrh w1, [x24, 308] |
---|
| 13313 | + sub w1, w1, #1 |
---|
| 13314 | + cmp w0, w1 |
---|
| 13315 | + blt .L1726 |
---|
| 13316 | +.L1732: |
---|
| 13317 | + add w20, w20, 1 |
---|
| 13318 | + sxth w20, w20 |
---|
| 13319 | + b .L1714 |
---|
| 13320 | +.L1739: |
---|
| 13321 | + mov w0, 0 |
---|
| 13322 | + b .L1724 |
---|
| 13323 | +.L1731: |
---|
| 13324 | + ldr x0, [sp, 104] |
---|
| 13325 | + add x5, x24, 3712 |
---|
| 13326 | + mov w2, 1 |
---|
| 13327 | + mov w1, w2 |
---|
| 13328 | + str x5, [sp, 136] |
---|
| 13329 | + ldrh w0, [x0] |
---|
| 13330 | + orr w0, w26, w0, lsl 10 |
---|
| 13331 | + str w0, [x24, 3716] |
---|
| 13332 | + mov x0, x5 |
---|
| 13333 | + bl FlashReadPages |
---|
| 13334 | + ldr x5, [sp, 136] |
---|
| 13335 | + ldr x0, [x5, 16] |
---|
| 13336 | + ldr w4, [x0, 12] |
---|
| 13337 | + ldr w0, [x24, 3712] |
---|
| 13338 | + str w4, [sp, 136] |
---|
| 13339 | + cmn w0, #1 |
---|
| 13340 | + cbz w4, .L1727 |
---|
| 13341 | + beq .L1736 |
---|
| 13342 | + ldrh w1, [x24, 314] |
---|
| 13343 | + ldr x0, [x5, 8] |
---|
| 13344 | + bl js_hash |
---|
| 13345 | + ldr w4, [sp, 136] |
---|
| 13346 | + mov w5, w0 |
---|
| 13347 | + cmp w4, w0 |
---|
| 13348 | + beq .L1729 |
---|
| 13349 | + ldr x1, [sp, 128] |
---|
| 13350 | + mov x0, x25 |
---|
| 13351 | + mov w3, w26 |
---|
| 13352 | + mov w2, w20 |
---|
| 13353 | + bl sftl_printk |
---|
| 13354 | + mov w0, -1 |
---|
| 13355 | + str w0, [x24, 3712] |
---|
| 13356 | +.L1736: |
---|
| 13357 | + add w3, w26, 1 |
---|
| 13358 | + sxth w26, w3 |
---|
| 13359 | +.L1730: |
---|
| 13360 | + ldrh w0, [x24, 308] |
---|
| 13361 | + cmp w26, w0 |
---|
| 13362 | + blt .L1731 |
---|
| 13363 | + b .L1732 |
---|
| 13364 | +.L1727: |
---|
| 13365 | + beq .L1736 |
---|
| 13366 | +.L1729: |
---|
| 13367 | + ldrh w0, [x21, 8] |
---|
| 13368 | + cmp w0, w23 |
---|
| 13369 | + bcs .L1736 |
---|
| 13370 | + ldrh w2, [x21] |
---|
| 13371 | + ldrh w1, [x19, 4] |
---|
| 13372 | + cmp w2, w1 |
---|
| 13373 | + bne .L1736 |
---|
| 13374 | + ubfiz x0, x0, 2, 16 |
---|
| 13375 | + ldr w1, [x24, 3716] |
---|
| 13376 | + str w1, [x22, x0] |
---|
| 13377 | + b .L1736 |
---|
11943 | 13378 | .size FtlMapTblRecovery, .-FtlMapTblRecovery |
---|
11944 | 13379 | .align 2 |
---|
11945 | 13380 | .global FtlLoadVonderInfo |
---|
11946 | 13381 | .type FtlLoadVonderInfo, %function |
---|
11947 | 13382 | FtlLoadVonderInfo: |
---|
| 13383 | + hint 34 // bti c |
---|
| 13384 | + .section __patchable_function_entries |
---|
| 13385 | + .align 3 |
---|
| 13386 | + .8byte .LPFE130 |
---|
| 13387 | + .text |
---|
| 13388 | +.LPFE130: |
---|
| 13389 | + nop |
---|
| 13390 | + nop |
---|
11948 | 13391 | adrp x1, .LANCHOR0 |
---|
11949 | 13392 | add x1, x1, :lo12:.LANCHOR0 |
---|
| 13393 | + hint 25 // paciasp |
---|
11950 | 13394 | stp x29, x30, [sp, -16]! |
---|
11951 | | - add x0, x1, 3888 |
---|
11952 | | - add x29, sp, 0 |
---|
| 13395 | + add x0, x1, 3880 |
---|
| 13396 | + mov x29, sp |
---|
11953 | 13397 | ldrh w2, [x1, 324] |
---|
11954 | 13398 | strh w2, [x0, 10] |
---|
11955 | 13399 | mov w2, -3962 |
---|
.. | .. |
---|
11960 | 13404 | strh w2, [x0, 6] |
---|
11961 | 13405 | ldr x2, [x1, 352] |
---|
11962 | 13406 | str x2, [x0, 16] |
---|
11963 | | - ldr x2, [x1, 3592] |
---|
11964 | | - str x2, [x0, 24] |
---|
11965 | 13407 | ldr x2, [x1, 3584] |
---|
11966 | | - ldr x1, [x1, 3600] |
---|
| 13408 | + str x2, [x0, 24] |
---|
| 13409 | + ldr x2, [x1, 3576] |
---|
| 13410 | + ldr x1, [x1, 3592] |
---|
11967 | 13411 | stp x2, x1, [x0, 32] |
---|
11968 | 13412 | bl FtlMapTblRecovery |
---|
11969 | 13413 | mov w0, 0 |
---|
11970 | 13414 | ldp x29, x30, [sp], 16 |
---|
| 13415 | + hint 29 // autiasp |
---|
11971 | 13416 | ret |
---|
11972 | 13417 | .size FtlLoadVonderInfo, .-FtlLoadVonderInfo |
---|
11973 | 13418 | .align 2 |
---|
11974 | 13419 | .global FtlLoadMapInfo |
---|
11975 | 13420 | .type FtlLoadMapInfo, %function |
---|
11976 | 13421 | FtlLoadMapInfo: |
---|
| 13422 | + hint 34 // bti c |
---|
| 13423 | + .section __patchable_function_entries |
---|
| 13424 | + .align 3 |
---|
| 13425 | + .8byte .LPFE131 |
---|
| 13426 | + .text |
---|
| 13427 | +.LPFE131: |
---|
| 13428 | + nop |
---|
| 13429 | + nop |
---|
| 13430 | + hint 25 // paciasp |
---|
11977 | 13431 | stp x29, x30, [sp, -16]! |
---|
11978 | | - add x29, sp, 0 |
---|
| 13432 | + mov x29, sp |
---|
11979 | 13433 | bl FtlL2PDataInit |
---|
11980 | 13434 | adrp x0, .LANCHOR0 |
---|
11981 | 13435 | add x0, x0, :lo12:.LANCHOR0 |
---|
11982 | | - add x0, x0, 3640 |
---|
| 13436 | + add x0, x0, 3632 |
---|
11983 | 13437 | bl FtlMapTblRecovery |
---|
11984 | 13438 | mov w0, 0 |
---|
11985 | 13439 | ldp x29, x30, [sp], 16 |
---|
| 13440 | + hint 29 // autiasp |
---|
11986 | 13441 | ret |
---|
11987 | 13442 | .size FtlLoadMapInfo, .-FtlLoadMapInfo |
---|
11988 | 13443 | .align 2 |
---|
11989 | 13444 | .global FtlSysBlkInit |
---|
11990 | 13445 | .type FtlSysBlkInit, %function |
---|
11991 | 13446 | FtlSysBlkInit: |
---|
11992 | | - stp x29, x30, [sp, -64]! |
---|
11993 | | - add x29, sp, 0 |
---|
| 13447 | + hint 34 // bti c |
---|
| 13448 | + .section __patchable_function_entries |
---|
| 13449 | + .align 3 |
---|
| 13450 | + .8byte .LPFE132 |
---|
| 13451 | + .text |
---|
| 13452 | +.LPFE132: |
---|
| 13453 | + nop |
---|
| 13454 | + nop |
---|
| 13455 | + hint 25 // paciasp |
---|
| 13456 | + stp x29, x30, [sp, -48]! |
---|
| 13457 | + mov x29, sp |
---|
11994 | 13458 | stp x19, x20, [sp, 16] |
---|
11995 | | - adrp x20, .LANCHOR0 |
---|
| 13459 | + adrp x19, .LANCHOR0 |
---|
| 13460 | + add x19, x19, :lo12:.LANCHOR0 |
---|
11996 | 13461 | stp x21, x22, [sp, 32] |
---|
11997 | | - add x21, x20, :lo12:.LANCHOR0 |
---|
11998 | | - str x23, [sp, 48] |
---|
11999 | | - ldrh w0, [x21, 240] |
---|
12000 | | - strh wzr, [x21, 3752] |
---|
| 13462 | + ldrh w0, [x19, 240] |
---|
| 13463 | + strh wzr, [x19, 3744] |
---|
12001 | 13464 | bl FtlFreeSysBlkQueueInit |
---|
12002 | 13465 | bl FtlScanSysBlk |
---|
12003 | | - ldrh w1, [x21, 2696] |
---|
| 13466 | + ldrh w1, [x19, 2696] |
---|
12004 | 13467 | mov w0, 65535 |
---|
12005 | 13468 | cmp w1, w0 |
---|
12006 | | - bne .L1739 |
---|
12007 | | -.L1741: |
---|
12008 | | - mov w23, -1 |
---|
12009 | | -.L1738: |
---|
12010 | | - mov w0, w23 |
---|
12011 | | - ldr x23, [sp, 48] |
---|
| 13469 | + bne .L1758 |
---|
| 13470 | +.L1760: |
---|
| 13471 | + mov w20, -1 |
---|
| 13472 | +.L1757: |
---|
| 13473 | + mov w0, w20 |
---|
12012 | 13474 | ldp x19, x20, [sp, 16] |
---|
12013 | 13475 | ldp x21, x22, [sp, 32] |
---|
12014 | | - ldp x29, x30, [sp], 64 |
---|
| 13476 | + ldp x29, x30, [sp], 48 |
---|
| 13477 | + hint 29 // autiasp |
---|
12015 | 13478 | ret |
---|
12016 | | -.L1739: |
---|
| 13479 | +.L1758: |
---|
12017 | 13480 | bl FtlLoadSysInfo |
---|
12018 | | - mov w23, w0 |
---|
12019 | | - cbnz w0, .L1741 |
---|
| 13481 | + mov w20, w0 |
---|
| 13482 | + cbnz w0, .L1760 |
---|
12020 | 13483 | bl FtlLoadMapInfo |
---|
12021 | 13484 | bl FtlLoadVonderInfo |
---|
12022 | 13485 | bl Ftl_load_ext_data |
---|
.. | .. |
---|
12026 | 13489 | bl FtlPowerLostRecovery |
---|
12027 | 13490 | mov w0, 1 |
---|
12028 | 13491 | bl FtlUpdateVaildLpn |
---|
12029 | | - ldr x1, [x21, 2608] |
---|
12030 | | - mov w0, 0 |
---|
12031 | | - ldrh w3, [x21, 342] |
---|
| 13492 | + ldr x1, [x19, 2608] |
---|
| 13493 | + mov x0, 0 |
---|
| 13494 | + ldrh w2, [x19, 342] |
---|
12032 | 13495 | add x1, x1, 4 |
---|
12033 | | -.L1742: |
---|
12034 | | - cmp w0, w3 |
---|
12035 | | - bge .L1747 |
---|
12036 | | - ldr w2, [x1], 16 |
---|
12037 | | - tbz w2, #31, .L1743 |
---|
12038 | | -.L1747: |
---|
12039 | | - add x2, x20, :lo12:.LANCHOR0 |
---|
12040 | | - cmp w0, w3 |
---|
12041 | | - ldrh w1, [x2, 2540] |
---|
12042 | | - add w1, w1, 1 |
---|
12043 | | - strh w1, [x2, 2540] |
---|
12044 | | - bge .L1753 |
---|
12045 | | -.L1744: |
---|
12046 | | - add x19, x20, :lo12:.LANCHOR0 |
---|
| 13496 | +.L1761: |
---|
| 13497 | + mov w3, w0 |
---|
| 13498 | + cmp w2, w0 |
---|
| 13499 | + ble .L1765 |
---|
| 13500 | + lsl x4, x0, 4 |
---|
| 13501 | + add x0, x0, 1 |
---|
| 13502 | + ldr w4, [x1, x4] |
---|
| 13503 | + tbz w4, #31, .L1761 |
---|
| 13504 | +.L1765: |
---|
| 13505 | + ldrh w0, [x19, 2540] |
---|
| 13506 | + add w0, w0, 1 |
---|
| 13507 | + strh w0, [x19, 2540] |
---|
| 13508 | + cmp w3, w2 |
---|
| 13509 | + bge .L1772 |
---|
| 13510 | +.L1762: |
---|
12047 | 13511 | add x22, x19, 24 |
---|
12048 | 13512 | add x21, x19, 80 |
---|
12049 | 13513 | mov x0, x22 |
---|
.. | .. |
---|
12052 | 13516 | bl FtlSuperblockPowerLostFix |
---|
12053 | 13517 | ldrh w0, [x19, 24] |
---|
12054 | 13518 | ldr x2, [x19, 72] |
---|
12055 | | - ldrh w3, [x19, 28] |
---|
12056 | 13519 | lsl x0, x0, 1 |
---|
| 13520 | + ldrh w3, [x19, 28] |
---|
12057 | 13521 | ldrh w1, [x2, x0] |
---|
12058 | 13522 | sub w1, w1, w3 |
---|
12059 | 13523 | strh w1, [x2, x0] |
---|
12060 | | - strb wzr, [x19, 30] |
---|
| 13524 | + strh wzr, [x19, 28] |
---|
12061 | 13525 | ldrh w0, [x19, 306] |
---|
12062 | 13526 | strh w0, [x19, 26] |
---|
12063 | 13527 | ldrh w0, [x19, 80] |
---|
12064 | 13528 | ldr x2, [x19, 72] |
---|
12065 | | - strh wzr, [x19, 28] |
---|
| 13529 | + strb wzr, [x19, 30] |
---|
12066 | 13530 | lsl x0, x0, 1 |
---|
12067 | 13531 | ldrh w3, [x19, 84] |
---|
12068 | 13532 | ldrh w1, [x2, x0] |
---|
12069 | 13533 | sub w1, w1, w3 |
---|
12070 | 13534 | strh w1, [x2, x0] |
---|
12071 | | - strb wzr, [x19, 86] |
---|
| 13535 | + strh wzr, [x19, 84] |
---|
12072 | 13536 | ldrh w0, [x19, 306] |
---|
12073 | 13537 | strh w0, [x19, 82] |
---|
12074 | 13538 | ldrh w0, [x19, 2542] |
---|
12075 | | - strh wzr, [x19, 84] |
---|
| 13539 | + strb wzr, [x19, 86] |
---|
12076 | 13540 | add w0, w0, 1 |
---|
12077 | 13541 | strh w0, [x19, 2542] |
---|
12078 | 13542 | bl l2p_flush |
---|
12079 | 13543 | bl FtlVpcTblFlush |
---|
12080 | 13544 | bl FtlVpcTblFlush |
---|
12081 | | - b .L1748 |
---|
12082 | | -.L1743: |
---|
12083 | | - add w0, w0, 1 |
---|
12084 | | - b .L1742 |
---|
12085 | | -.L1753: |
---|
12086 | | - ldrh w0, [x2, 3752] |
---|
12087 | | - cbnz w0, .L1744 |
---|
12088 | | -.L1748: |
---|
12089 | | - add x19, x20, :lo12:.LANCHOR0 |
---|
12090 | | - mov w1, 65535 |
---|
12091 | | - add x21, x19, 24 |
---|
| 13545 | + b .L1766 |
---|
| 13546 | +.L1772: |
---|
| 13547 | + ldrh w0, [x19, 3744] |
---|
| 13548 | + cbnz w0, .L1762 |
---|
| 13549 | +.L1766: |
---|
12092 | 13550 | ldrh w0, [x19, 24] |
---|
| 13551 | + add x22, x19, 24 |
---|
| 13552 | + mov w1, 65535 |
---|
12093 | 13553 | cmp w0, w1 |
---|
12094 | | - beq .L1749 |
---|
| 13554 | + beq .L1767 |
---|
12095 | 13555 | ldrh w1, [x19, 28] |
---|
12096 | | - cbnz w1, .L1749 |
---|
12097 | | - ldrh w1, [x19, 84] |
---|
12098 | | - add x20, x19, 80 |
---|
12099 | | - cbnz w1, .L1749 |
---|
| 13556 | + add x21, x19, 80 |
---|
| 13557 | + ldrh w2, [x19, 84] |
---|
| 13558 | + orr w1, w1, w2 |
---|
| 13559 | + tst w1, 65535 |
---|
| 13560 | + bne .L1767 |
---|
12100 | 13561 | bl FtlGcRefreshBlock |
---|
12101 | 13562 | ldrh w0, [x19, 80] |
---|
12102 | 13563 | bl FtlGcRefreshBlock |
---|
12103 | 13564 | bl FtlVpcTblFlush |
---|
| 13565 | + mov x0, x22 |
---|
| 13566 | + bl allocate_new_data_superblock |
---|
12104 | 13567 | mov x0, x21 |
---|
12105 | 13568 | bl allocate_new_data_superblock |
---|
12106 | | - mov x0, x20 |
---|
12107 | | - bl allocate_new_data_superblock |
---|
12108 | | -.L1749: |
---|
| 13569 | +.L1767: |
---|
12109 | 13570 | bl FtlVpcCheckAndModify |
---|
12110 | | - b .L1738 |
---|
| 13571 | + b .L1757 |
---|
12111 | 13572 | .size FtlSysBlkInit, .-FtlSysBlkInit |
---|
12112 | 13573 | .align 2 |
---|
12113 | 13574 | .global ftl_low_format |
---|
12114 | 13575 | .type ftl_low_format, %function |
---|
12115 | 13576 | ftl_low_format: |
---|
| 13577 | + hint 34 // bti c |
---|
| 13578 | + .section __patchable_function_entries |
---|
| 13579 | + .align 3 |
---|
| 13580 | + .8byte .LPFE133 |
---|
| 13581 | + .text |
---|
| 13582 | +.LPFE133: |
---|
| 13583 | + nop |
---|
| 13584 | + nop |
---|
| 13585 | + hint 25 // paciasp |
---|
12116 | 13586 | stp x29, x30, [sp, -48]! |
---|
12117 | | - add x29, sp, 0 |
---|
| 13587 | + mov x29, sp |
---|
12118 | 13588 | stp x19, x20, [sp, 16] |
---|
12119 | | - adrp x20, .LANCHOR0 |
---|
12120 | | - add x0, x20, :lo12:.LANCHOR0 |
---|
12121 | | - stp x21, x22, [sp, 32] |
---|
12122 | | - str wzr, [x0, 2660] |
---|
12123 | | - str wzr, [x0, 2664] |
---|
12124 | | - str wzr, [x0, 2676] |
---|
12125 | | - ldrh w0, [x0, 240] |
---|
| 13589 | + adrp x19, .LANCHOR0 |
---|
| 13590 | + add x19, x19, :lo12:.LANCHOR0 |
---|
| 13591 | + str x21, [sp, 32] |
---|
| 13592 | + ldrh w0, [x19, 240] |
---|
| 13593 | + str wzr, [x19, 2660] |
---|
| 13594 | + str wzr, [x19, 2664] |
---|
| 13595 | + str wzr, [x19, 2676] |
---|
12126 | 13596 | bl FtlFreeSysBlkQueueInit |
---|
12127 | 13597 | bl FtlLoadBbt |
---|
12128 | | - cbz w0, .L1756 |
---|
| 13598 | + cbz w0, .L1775 |
---|
12129 | 13599 | bl FtlMakeBbt |
---|
12130 | | -.L1756: |
---|
12131 | | - mov w4, 23752 |
---|
12132 | | - add x1, x20, :lo12:.LANCHOR0 |
---|
| 13600 | +.L1775: |
---|
| 13601 | + mov w3, 23752 |
---|
12133 | 13602 | mov w0, 0 |
---|
12134 | | - movk w4, 0xa0f, lsl 16 |
---|
12135 | | -.L1757: |
---|
12136 | | - ldrh w2, [x1, 262] |
---|
12137 | | - cmp w0, w2, lsl 7 |
---|
12138 | | - blt .L1758 |
---|
12139 | | - ldrh w21, [x1, 244] |
---|
12140 | | - add x22, x20, :lo12:.LANCHOR0 |
---|
12141 | | - mov w19, 0 |
---|
12142 | | -.L1759: |
---|
12143 | | - ldrh w0, [x22, 246] |
---|
12144 | | - cmp w0, w21 |
---|
12145 | | - bhi .L1760 |
---|
12146 | | - ldrh w0, [x22, 236] |
---|
12147 | | - sub w1, w19, #3 |
---|
12148 | | - cmp w1, w0, lsl 1 |
---|
12149 | | - bge .L1761 |
---|
12150 | | -.L1765: |
---|
12151 | | - add x19, x20, :lo12:.LANCHOR0 |
---|
12152 | | - mov w21, 0 |
---|
12153 | | - mov w22, 0 |
---|
12154 | | -.L1762: |
---|
12155 | | - ldrh w0, [x19, 244] |
---|
12156 | | - cmp w0, w22 |
---|
12157 | | - bhi .L1766 |
---|
12158 | | - ldrh w2, [x19, 236] |
---|
12159 | | - ldr w1, [x19, 248] |
---|
| 13603 | + movk w3, 0xa0f, lsl 16 |
---|
| 13604 | +.L1776: |
---|
| 13605 | + ldrh w1, [x19, 262] |
---|
| 13606 | + cmp w0, w1, lsl 7 |
---|
| 13607 | + blt .L1777 |
---|
| 13608 | + ldrh w21, [x19, 244] |
---|
| 13609 | + mov w20, 0 |
---|
| 13610 | +.L1778: |
---|
12160 | 13611 | ldrh w0, [x19, 246] |
---|
12161 | | - str w0, [x19, 3428] |
---|
12162 | | - udiv w4, w1, w2 |
---|
| 13612 | + cmp w0, w21 |
---|
| 13613 | + bhi .L1779 |
---|
| 13614 | + ldrh w0, [x19, 236] |
---|
| 13615 | + sub w1, w20, #3 |
---|
| 13616 | + cmp w1, w0, lsl 1 |
---|
| 13617 | + bge .L1780 |
---|
| 13618 | +.L1784: |
---|
| 13619 | + mov w20, 0 |
---|
| 13620 | + mov w21, 0 |
---|
| 13621 | +.L1781: |
---|
| 13622 | + ldrh w0, [x19, 244] |
---|
| 13623 | + cmp w0, w21 |
---|
| 13624 | + bhi .L1785 |
---|
| 13625 | + ldrh w0, [x19, 246] |
---|
| 13626 | + ldrh w2, [x19, 236] |
---|
| 13627 | + str w0, [x19, 3420] |
---|
| 13628 | + ldr w0, [x19, 248] |
---|
| 13629 | + udiv w4, w0, w2 |
---|
12163 | 13630 | ubfx x3, x4, 5, 16 |
---|
12164 | 13631 | str w4, [x19, 2624] |
---|
12165 | | - add w0, w3, 36 |
---|
12166 | | - strh w0, [x19, 2692] |
---|
12167 | | - mov w0, 24 |
---|
12168 | | - mul w0, w2, w0 |
---|
12169 | | - cmp w21, w0 |
---|
12170 | | - ble .L1767 |
---|
12171 | | - sub w1, w1, w21 |
---|
12172 | | - udiv w1, w1, w2 |
---|
12173 | | - str w1, [x19, 2624] |
---|
12174 | | - lsr w1, w1, 5 |
---|
12175 | | - add w1, w1, 24 |
---|
| 13632 | + add w1, w3, 36 |
---|
12176 | 13633 | strh w1, [x19, 2692] |
---|
12177 | | -.L1767: |
---|
12178 | | - add x0, x20, :lo12:.LANCHOR0 |
---|
12179 | | - ldrh w1, [x0, 298] |
---|
12180 | | - cbz w1, .L1769 |
---|
12181 | | - ldrh w5, [x0, 2692] |
---|
12182 | | - add w5, w5, w1, lsr 1 |
---|
12183 | | - strh w5, [x0, 2692] |
---|
12184 | | - mul w5, w1, w2 |
---|
12185 | | - cmp w21, w5 |
---|
12186 | | - bge .L1769 |
---|
| 13634 | + mov w1, 24 |
---|
| 13635 | + mul w1, w2, w1 |
---|
| 13636 | + cmp w20, w1 |
---|
| 13637 | + ble .L1786 |
---|
| 13638 | + sub w0, w0, w20 |
---|
| 13639 | + udiv w0, w0, w2 |
---|
| 13640 | + str w0, [x19, 2624] |
---|
| 13641 | + lsr w0, w0, 5 |
---|
| 13642 | + add w0, w0, 24 |
---|
| 13643 | + strh w0, [x19, 2692] |
---|
| 13644 | +.L1786: |
---|
| 13645 | + ldrh w1, [x19, 298] |
---|
| 13646 | + cbz w1, .L1788 |
---|
| 13647 | + ldrh w0, [x19, 2692] |
---|
| 13648 | + add w0, w0, w1, lsr 1 |
---|
| 13649 | + strh w0, [x19, 2692] |
---|
| 13650 | + mul w0, w1, w2 |
---|
| 13651 | + cmp w20, w0 |
---|
| 13652 | + bge .L1788 |
---|
12187 | 13653 | add w1, w1, 32 |
---|
12188 | | - str w4, [x0, 2624] |
---|
| 13654 | + str w4, [x19, 2624] |
---|
12189 | 13655 | add w1, w3, w1 |
---|
12190 | | - strh w1, [x0, 2692] |
---|
12191 | | -.L1769: |
---|
12192 | | - add x19, x20, :lo12:.LANCHOR0 |
---|
12193 | | - add x21, x19, 24 |
---|
| 13656 | + strh w1, [x19, 2692] |
---|
| 13657 | +.L1788: |
---|
12194 | 13658 | ldrh w1, [x19, 2692] |
---|
| 13659 | + add x21, x19, 24 |
---|
12195 | 13660 | ldr w0, [x19, 2624] |
---|
| 13661 | + mov w20, -1 |
---|
12196 | 13662 | sub w0, w0, w1 |
---|
12197 | 13663 | ldrh w1, [x19, 306] |
---|
12198 | 13664 | mul w0, w0, w2 |
---|
12199 | | - str w0, [x19, 3972] |
---|
| 13665 | + str w0, [x19, 3964] |
---|
12200 | 13666 | mul w0, w1, w0 |
---|
12201 | 13667 | ldrh w1, [x19, 262] |
---|
12202 | 13668 | str w0, [x19, 2624] |
---|
.. | .. |
---|
12208 | 13674 | ldrh w2, [x19, 246] |
---|
12209 | 13675 | lsl w2, w2, 1 |
---|
12210 | 13676 | bl ftl_memset |
---|
12211 | | - mov w0, -1 |
---|
12212 | | - mov w22, w0 |
---|
12213 | | - mov w1, 1 |
---|
12214 | | - strh w0, [x19, 176] |
---|
12215 | | - strh wzr, [x19, 178] |
---|
| 13677 | + mov w1, 65535 |
---|
| 13678 | + mov w0, 1 |
---|
| 13679 | + strb wzr, [x21, 6] |
---|
| 13680 | + strb w0, [x21, 8] |
---|
| 13681 | + str wzr, [x19, 24] |
---|
| 13682 | + str w1, [x19, 176] |
---|
12216 | 13683 | strb wzr, [x19, 182] |
---|
12217 | 13684 | strb wzr, [x19, 184] |
---|
12218 | | - strh wzr, [x21, 2] |
---|
12219 | | - strb wzr, [x21, 6] |
---|
12220 | | - strh wzr, [x19, 24] |
---|
12221 | | - strb w1, [x21, 8] |
---|
12222 | 13685 | str wzr, [x19, 2620] |
---|
12223 | | -.L1771: |
---|
| 13686 | +.L1790: |
---|
12224 | 13687 | mov x0, x21 |
---|
12225 | 13688 | bl make_superblock |
---|
12226 | 13689 | ldrb w1, [x21, 7] |
---|
12227 | 13690 | ldrh w0, [x21] |
---|
12228 | | - cbnz w1, .L1772 |
---|
| 13691 | + cbnz w1, .L1791 |
---|
12229 | 13692 | ldr x1, [x19, 72] |
---|
12230 | 13693 | ubfiz x0, x0, 1, 16 |
---|
12231 | | - strh w22, [x1, x0] |
---|
| 13694 | + strh w20, [x1, x0] |
---|
12232 | 13695 | ldrh w0, [x21] |
---|
12233 | 13696 | add w0, w0, 1 |
---|
12234 | 13697 | strh w0, [x21] |
---|
12235 | | - b .L1771 |
---|
12236 | | -.L1758: |
---|
12237 | | - ldr x5, [x1, 3480] |
---|
12238 | | - ubfiz x3, x0, 2, 16 |
---|
12239 | | - mvn w2, w0 |
---|
12240 | | - orr w2, w0, w2, lsl 16 |
---|
| 13698 | + b .L1790 |
---|
| 13699 | +.L1777: |
---|
| 13700 | + ldr x4, [x19, 3472] |
---|
| 13701 | + ubfiz x2, x0, 2, 16 |
---|
| 13702 | + mvn w1, w0 |
---|
| 13703 | + orr w1, w0, w1, lsl 16 |
---|
| 13704 | + str w1, [x4, x2] |
---|
12241 | 13705 | add w0, w0, 1 |
---|
| 13706 | + ldr x1, [x19, 3480] |
---|
12242 | 13707 | and w0, w0, 65535 |
---|
12243 | | - str w2, [x5, x3] |
---|
12244 | | - ldr x2, [x1, 3488] |
---|
12245 | | - str w4, [x2, x3] |
---|
12246 | | - b .L1757 |
---|
12247 | | -.L1760: |
---|
| 13708 | + str w3, [x1, x2] |
---|
| 13709 | + b .L1776 |
---|
| 13710 | +.L1779: |
---|
12248 | 13711 | mov w0, w21 |
---|
12249 | 13712 | mov w1, 1 |
---|
12250 | 13713 | add w21, w21, 1 |
---|
12251 | 13714 | bl FtlLowFormatEraseBlock |
---|
12252 | | - add w19, w19, w0 |
---|
| 13715 | + add w20, w0, w20 |
---|
12253 | 13716 | and w21, w21, 65535 |
---|
12254 | | - and w19, w19, 65535 |
---|
12255 | | - b .L1759 |
---|
12256 | | -.L1761: |
---|
12257 | | - udiv w0, w19, w0 |
---|
12258 | | - ldr w19, [x22, 336] |
---|
12259 | | - add x21, x20, :lo12:.LANCHOR0 |
---|
12260 | | - add w0, w0, w19 |
---|
| 13717 | + and w20, w20, 65535 |
---|
| 13718 | + b .L1778 |
---|
| 13719 | +.L1780: |
---|
| 13720 | + udiv w20, w20, w0 |
---|
| 13721 | + ldr w0, [x19, 336] |
---|
| 13722 | + add w0, w20, w0 |
---|
12261 | 13723 | bl FtlSysBlkNumInit |
---|
12262 | | - ldrh w0, [x22, 240] |
---|
| 13724 | + ldrh w0, [x19, 240] |
---|
12263 | 13725 | bl FtlFreeSysBlkQueueInit |
---|
12264 | | - ldrh w19, [x22, 244] |
---|
12265 | | -.L1763: |
---|
12266 | | - ldrh w0, [x21, 246] |
---|
12267 | | - cmp w0, w19 |
---|
12268 | | - bls .L1765 |
---|
12269 | | - mov w0, w19 |
---|
12270 | | - add w19, w19, 1 |
---|
| 13726 | + ldrh w20, [x19, 244] |
---|
| 13727 | +.L1782: |
---|
| 13728 | + ldrh w0, [x19, 246] |
---|
| 13729 | + cmp w0, w20 |
---|
| 13730 | + bls .L1784 |
---|
| 13731 | + mov w0, w20 |
---|
| 13732 | + add w20, w20, 1 |
---|
12271 | 13733 | mov w1, 1 |
---|
12272 | | - and w19, w19, 65535 |
---|
| 13734 | + and w20, w20, 65535 |
---|
12273 | 13735 | bl FtlLowFormatEraseBlock |
---|
12274 | | - b .L1763 |
---|
12275 | | -.L1766: |
---|
12276 | | - mov w0, w22 |
---|
| 13736 | + b .L1782 |
---|
| 13737 | +.L1785: |
---|
| 13738 | + mov w0, w21 |
---|
12277 | 13739 | mov w1, 0 |
---|
12278 | | - add w22, w22, 1 |
---|
| 13740 | + add w21, w21, 1 |
---|
12279 | 13741 | bl FtlLowFormatEraseBlock |
---|
12280 | | - add w21, w21, w0 |
---|
12281 | | - and w22, w22, 65535 |
---|
| 13742 | + add w20, w0, w20 |
---|
12282 | 13743 | and w21, w21, 65535 |
---|
12283 | | - b .L1762 |
---|
12284 | | -.L1772: |
---|
| 13744 | + and w20, w20, 65535 |
---|
| 13745 | + b .L1781 |
---|
| 13746 | +.L1791: |
---|
12285 | 13747 | ldr w1, [x19, 2660] |
---|
12286 | 13748 | ubfiz x0, x0, 1, 16 |
---|
12287 | 13749 | str w1, [x21, 12] |
---|
| 13750 | + add x20, x19, 80 |
---|
12288 | 13751 | add w1, w1, 1 |
---|
12289 | 13752 | str w1, [x19, 2660] |
---|
12290 | 13753 | ldr x1, [x19, 72] |
---|
12291 | 13754 | ldrh w2, [x21, 4] |
---|
12292 | 13755 | strh w2, [x1, x0] |
---|
12293 | | - add x0, x19, 80 |
---|
12294 | | - strh wzr, [x19, 82] |
---|
12295 | | - ldrh w1, [x21] |
---|
| 13756 | + strh wzr, [x20, 2] |
---|
| 13757 | + ldrh w0, [x21] |
---|
12296 | 13758 | mov w21, -1 |
---|
12297 | | - strb wzr, [x19, 86] |
---|
12298 | | - add w1, w1, 1 |
---|
12299 | | - strh w1, [x19, 80] |
---|
12300 | | - mov w1, 1 |
---|
12301 | | - strb w1, [x19, 88] |
---|
12302 | | - add x19, x20, :lo12:.LANCHOR0 |
---|
12303 | | - mov x20, x0 |
---|
12304 | | -.L1773: |
---|
| 13759 | + strb wzr, [x20, 6] |
---|
| 13760 | + add w0, w0, 1 |
---|
| 13761 | + strh w0, [x19, 80] |
---|
| 13762 | + mov w0, 1 |
---|
| 13763 | + strb w0, [x20, 8] |
---|
| 13764 | +.L1792: |
---|
12305 | 13765 | mov x0, x20 |
---|
12306 | 13766 | bl make_superblock |
---|
12307 | 13767 | ldrb w1, [x20, 7] |
---|
12308 | 13768 | ldrh w0, [x20] |
---|
12309 | | - cbnz w1, .L1774 |
---|
| 13769 | + cbnz w1, .L1793 |
---|
12310 | 13770 | ldr x1, [x19, 72] |
---|
12311 | 13771 | ubfiz x0, x0, 1, 16 |
---|
12312 | 13772 | strh w21, [x1, x0] |
---|
12313 | 13773 | ldrh w0, [x20] |
---|
12314 | 13774 | add w0, w0, 1 |
---|
12315 | 13775 | strh w0, [x20] |
---|
12316 | | - b .L1773 |
---|
12317 | | -.L1774: |
---|
| 13776 | + b .L1792 |
---|
| 13777 | +.L1793: |
---|
12318 | 13778 | ldr w1, [x19, 2660] |
---|
12319 | 13779 | ubfiz x0, x0, 1, 16 |
---|
12320 | 13780 | str w1, [x20, 12] |
---|
.. | .. |
---|
12322 | 13782 | str w1, [x19, 2660] |
---|
12323 | 13783 | ldr x1, [x19, 72] |
---|
12324 | 13784 | ldrh w2, [x20, 4] |
---|
12325 | | - mov w20, -1 |
---|
12326 | 13785 | strh w2, [x1, x0] |
---|
12327 | | - strh w20, [x19, 128] |
---|
| 13786 | + mov w0, -1 |
---|
| 13787 | + strh w0, [x19, 128] |
---|
12328 | 13788 | bl FtlFreeSysBlkQueueOut |
---|
12329 | 13789 | strh w0, [x19, 2696] |
---|
12330 | | - ldr w0, [x19, 3972] |
---|
| 13790 | + add x1, x19, 2560 |
---|
| 13791 | + mov w0, -65536 |
---|
| 13792 | + str w0, [x1, 138] |
---|
| 13793 | + ldr w0, [x19, 3964] |
---|
12331 | 13794 | strh w0, [x19, 2702] |
---|
12332 | 13795 | ldr w0, [x19, 2660] |
---|
12333 | 13796 | str w0, [x19, 2704] |
---|
12334 | 13797 | add w0, w0, 1 |
---|
12335 | | - strh wzr, [x19, 2698] |
---|
12336 | | - strh w20, [x19, 2700] |
---|
12337 | 13798 | str w0, [x19, 2660] |
---|
12338 | 13799 | bl FtlVpcTblFlush |
---|
12339 | 13800 | bl FtlSysBlkInit |
---|
12340 | | - cbnz w0, .L1775 |
---|
| 13801 | + cbnz w0, .L1794 |
---|
12341 | 13802 | adrp x0, .LANCHOR2 |
---|
12342 | 13803 | mov w1, 1 |
---|
12343 | 13804 | str w1, [x0, #:lo12:.LANCHOR2] |
---|
12344 | | -.L1775: |
---|
| 13805 | +.L1794: |
---|
12345 | 13806 | mov w0, 0 |
---|
12346 | 13807 | ldp x19, x20, [sp, 16] |
---|
12347 | | - ldp x21, x22, [sp, 32] |
---|
| 13808 | + ldr x21, [sp, 32] |
---|
12348 | 13809 | ldp x29, x30, [sp], 48 |
---|
| 13810 | + hint 29 // autiasp |
---|
12349 | 13811 | ret |
---|
12350 | 13812 | .size ftl_low_format, .-ftl_low_format |
---|
12351 | 13813 | .align 2 |
---|
12352 | 13814 | .global sftl_init |
---|
12353 | 13815 | .type sftl_init, %function |
---|
12354 | 13816 | sftl_init: |
---|
| 13817 | + hint 34 // bti c |
---|
| 13818 | + .section __patchable_function_entries |
---|
| 13819 | + .align 3 |
---|
| 13820 | + .8byte .LPFE134 |
---|
| 13821 | + .text |
---|
| 13822 | +.LPFE134: |
---|
| 13823 | + nop |
---|
| 13824 | + nop |
---|
| 13825 | + hint 25 // paciasp |
---|
12355 | 13826 | stp x29, x30, [sp, -32]! |
---|
12356 | | - adrp x1, .LC0 |
---|
12357 | | - add x1, x1, :lo12:.LC0 |
---|
12358 | | - mov w0, -1 |
---|
12359 | | - add x29, sp, 0 |
---|
| 13827 | + adrp x1, .LC1 |
---|
| 13828 | + mov x29, sp |
---|
| 13829 | + add x1, x1, :lo12:.LC1 |
---|
12360 | 13830 | stp x19, x20, [sp, 16] |
---|
12361 | 13831 | adrp x20, .LANCHOR2 |
---|
| 13832 | + mov w0, -1 |
---|
12362 | 13833 | adrp x19, .LANCHOR0 |
---|
12363 | 13834 | add x19, x19, :lo12:.LANCHOR0 |
---|
12364 | 13835 | str w0, [x20, #:lo12:.LANCHOR2] |
---|
12365 | | - adrp x0, .LC77 |
---|
12366 | | - add x0, x0, :lo12:.LC77 |
---|
| 13836 | + adrp x0, .LC78 |
---|
| 13837 | + add x0, x0, :lo12:.LC78 |
---|
12367 | 13838 | bl sftl_printk |
---|
12368 | 13839 | mov x0, x19 |
---|
12369 | 13840 | bl FtlConstantsInit |
---|
.. | .. |
---|
12372 | 13843 | ldrh w0, [x19, 240] |
---|
12373 | 13844 | bl FtlFreeSysBlkQueueInit |
---|
12374 | 13845 | bl FtlLoadBbt |
---|
12375 | | - cbnz w0, .L1784 |
---|
| 13846 | + cbnz w0, .L1800 |
---|
12376 | 13847 | bl FtlSysBlkInit |
---|
12377 | | - cbnz w0, .L1784 |
---|
| 13848 | + cbnz w0, .L1800 |
---|
12378 | 13849 | mov w0, 1 |
---|
12379 | 13850 | str w0, [x20, #:lo12:.LANCHOR2] |
---|
12380 | 13851 | ldrh w0, [x19, 228] |
---|
12381 | 13852 | cmp w0, 15 |
---|
12382 | | - bhi .L1784 |
---|
| 13853 | + bhi .L1800 |
---|
12383 | 13854 | mov w19, 8129 |
---|
12384 | | -.L1783: |
---|
| 13855 | +.L1801: |
---|
12385 | 13856 | mov w1, 1 |
---|
12386 | 13857 | mov w0, 0 |
---|
12387 | 13858 | bl rk_ftl_garbage_collect |
---|
12388 | 13859 | subs w19, w19, #1 |
---|
12389 | | - bne .L1783 |
---|
12390 | | -.L1784: |
---|
| 13860 | + bne .L1801 |
---|
| 13861 | +.L1800: |
---|
12391 | 13862 | mov w0, 0 |
---|
12392 | 13863 | ldp x19, x20, [sp, 16] |
---|
12393 | 13864 | ldp x29, x30, [sp], 32 |
---|
| 13865 | + hint 29 // autiasp |
---|
12394 | 13866 | ret |
---|
12395 | 13867 | .size sftl_init, .-sftl_init |
---|
| 13868 | + .section .rodata.str1.1 |
---|
| 13869 | +.LC131: |
---|
| 13870 | + .string "write_idblock %x %x\n" |
---|
| 13871 | +.LC132: |
---|
| 13872 | + .string "write_idblock fail! %x %x %x %x\n" |
---|
| 13873 | +.LC133: |
---|
| 13874 | + .string "%s idb buffer alloc fail\n" |
---|
| 13875 | + .text |
---|
12396 | 13876 | .align 2 |
---|
12397 | 13877 | .global FtlWriteToIDB |
---|
12398 | 13878 | .type FtlWriteToIDB, %function |
---|
12399 | 13879 | FtlWriteToIDB: |
---|
12400 | | - stp x29, x30, [sp, -240]! |
---|
12401 | | - add x29, sp, 0 |
---|
| 13880 | + hint 34 // bti c |
---|
| 13881 | + .section __patchable_function_entries |
---|
| 13882 | + .align 3 |
---|
| 13883 | + .8byte .LPFE135 |
---|
| 13884 | + .text |
---|
| 13885 | +.LPFE135: |
---|
| 13886 | + nop |
---|
| 13887 | + nop |
---|
| 13888 | + hint 25 // paciasp |
---|
| 13889 | + stp x29, x30, [sp, -208]! |
---|
| 13890 | + adrp x5, .LANCHOR0 |
---|
| 13891 | + mov x29, sp |
---|
12402 | 13892 | stp x19, x20, [sp, 16] |
---|
12403 | | - mov w19, w0 |
---|
| 13893 | + mov w20, w0 |
---|
| 13894 | + mrs x0, sp_el0 |
---|
12404 | 13895 | stp x21, x22, [sp, 32] |
---|
12405 | | - adrp x0, __stack_chk_guard |
---|
| 13896 | + mov w19, w1 |
---|
| 13897 | + add w22, w19, w20 |
---|
12406 | 13898 | stp x23, x24, [sp, 48] |
---|
12407 | | - mov w21, w1 |
---|
| 13899 | + sub w23, w22, #1 |
---|
| 13900 | + cmp w23, 63 |
---|
12408 | 13901 | stp x25, x26, [sp, 64] |
---|
12409 | | - add x1, x0, :lo12:__stack_chk_guard |
---|
| 13902 | + add x25, x5, :lo12:.LANCHOR0 |
---|
12410 | 13903 | stp x27, x28, [sp, 80] |
---|
12411 | | - mov x22, x2 |
---|
12412 | | - add w23, w21, w19 |
---|
12413 | | - str x0, [x29, 112] |
---|
12414 | | - ldr x2, [x1] |
---|
12415 | | - str x2, [x29, 232] |
---|
12416 | | - mov x2,0 |
---|
12417 | | - sub w24, w23, #1 |
---|
12418 | | - cmp w24, 63 |
---|
12419 | | - adrp x20, .LANCHOR0 |
---|
12420 | | - bls .L1788 |
---|
12421 | | - cmp w19, 575 |
---|
12422 | | - bls .L1789 |
---|
12423 | | -.L1788: |
---|
12424 | | - add x0, x20, :lo12:.LANCHOR0 |
---|
12425 | | - ldr w1, [x0, 3976] |
---|
12426 | | - cbnz w1, .L1790 |
---|
12427 | | -.L1855: |
---|
| 13904 | + ldr x1, [x0, 1376] |
---|
| 13905 | + str x1, [sp, 200] |
---|
| 13906 | + mov x1, 0 |
---|
| 13907 | + bls .L1805 |
---|
| 13908 | + cmp w20, 575 |
---|
| 13909 | + bls .L1806 |
---|
| 13910 | +.L1805: |
---|
| 13911 | + ldr w0, [x25, 3968] |
---|
| 13912 | + cbnz w0, .L1807 |
---|
| 13913 | +.L1869: |
---|
12428 | 13914 | mov w19, 0 |
---|
12429 | | - b .L1787 |
---|
12430 | | -.L1790: |
---|
12431 | | - ldr x24, [x0, 3984] |
---|
12432 | | - mov w1, 35899 |
---|
12433 | | - movk w1, 0xfcdc, lsl 16 |
---|
12434 | | - ldr w2, [x24] |
---|
12435 | | - cmp w2, w1 |
---|
12436 | | - bne .L1792 |
---|
12437 | | - add x1, x24, 258048 |
---|
12438 | | - ldrh w2, [x0, 10] |
---|
| 13915 | + b .L1804 |
---|
| 13916 | +.L1807: |
---|
| 13917 | + ldr x22, [x25, 3976] |
---|
| 13918 | + mov w0, 35899 |
---|
| 13919 | + movk w0, 0xfcdc, lsl 16 |
---|
| 13920 | + ldr w1, [x22] |
---|
| 13921 | + cmp w1, w0 |
---|
| 13922 | + bne .L1809 |
---|
| 13923 | + add x1, x22, 258048 |
---|
| 13924 | + ldrh w2, [x25, 10] |
---|
12439 | 13925 | add x1, x1, 2044 |
---|
12440 | 13926 | mov w0, 0 |
---|
12441 | 13927 | mov w19, 65023 |
---|
12442 | | - mov w3, 4097 |
---|
12443 | | -.L1796: |
---|
12444 | | - ldr w4, [x1] |
---|
12445 | | - cbnz w4, .L1793 |
---|
12446 | | - ldr w4, [x24, w0, uxtw 2] |
---|
| 13928 | +.L1813: |
---|
| 13929 | + ldr w3, [x1] |
---|
| 13930 | + cbnz w3, .L1810 |
---|
| 13931 | + ldr w3, [x22, w0, uxtw 2] |
---|
12447 | 13932 | add w0, w0, 1 |
---|
12448 | | - str w4, [x1, 2048] |
---|
12449 | | - cmp w0, w3 |
---|
| 13933 | + str w3, [x1, 2048] |
---|
| 13934 | + cmp w0, 4096 |
---|
| 13935 | + bls .L1811 |
---|
| 13936 | + mov w0, 0 |
---|
| 13937 | +.L1811: |
---|
12450 | 13938 | sub w19, w19, #1 |
---|
12451 | | - csel w0, w0, wzr, cc |
---|
12452 | 13939 | sub x1, x1, #4 |
---|
12453 | 13940 | cmp w19, 4096 |
---|
12454 | | - bne .L1796 |
---|
| 13941 | + bne .L1813 |
---|
12455 | 13942 | mov w19, 512 |
---|
12456 | | - b .L1795 |
---|
12457 | | -.L1793: |
---|
| 13943 | + b .L1812 |
---|
| 13944 | +.L1810: |
---|
12458 | 13945 | add w19, w19, 127 |
---|
12459 | 13946 | lsr w19, w19, 7 |
---|
12460 | | -.L1795: |
---|
| 13947 | +.L1812: |
---|
12461 | 13948 | ubfiz w0, w2, 2, 14 |
---|
12462 | | - add w21, w19, 4 |
---|
| 13949 | + add w20, w19, 4 |
---|
12463 | 13950 | mov w1, w19 |
---|
12464 | | - add x27, x20, :lo12:.LANCHOR0 |
---|
12465 | | - mov w25, 0 |
---|
12466 | | - mov w22, 0 |
---|
12467 | | - udiv w21, w21, w0 |
---|
12468 | | - adrp x0, .LC130 |
---|
12469 | | - add x0, x0, :lo12:.LC130 |
---|
12470 | | - add w21, w21, 1 |
---|
12471 | | - mov w2, w21 |
---|
| 13951 | + mov w23, 0 |
---|
| 13952 | + mov w21, 0 |
---|
| 13953 | + udiv w20, w20, w0 |
---|
| 13954 | + adrp x0, .LC131 |
---|
| 13955 | + add x0, x0, :lo12:.LC131 |
---|
| 13956 | + add w20, w20, 1 |
---|
| 13957 | + mov w2, w20 |
---|
12472 | 13958 | bl sftl_printk |
---|
12473 | 13959 | lsl w0, w19, 7 |
---|
12474 | | - str w0, [x29, 140] |
---|
12475 | | -.L1797: |
---|
12476 | | - add w0, w21, w22 |
---|
12477 | | - str w0, [x29, 144] |
---|
| 13960 | + str w0, [sp, 100] |
---|
| 13961 | +.L1814: |
---|
| 13962 | + add w0, w20, w21 |
---|
| 13963 | + str w0, [sp, 104] |
---|
12478 | 13964 | cmp w0, 8 |
---|
12479 | | - bls .L1819 |
---|
12480 | | - cbnz w25, .L1820 |
---|
12481 | | -.L1792: |
---|
| 13965 | + bls .L1836 |
---|
| 13966 | + cbnz w23, .L1835 |
---|
| 13967 | +.L1809: |
---|
12482 | 13968 | mov w19, -1 |
---|
12483 | | -.L1820: |
---|
12484 | | - add x20, x20, :lo12:.LANCHOR0 |
---|
12485 | | - ldr x0, [x20, 3984] |
---|
12486 | | - str wzr, [x20, 3976] |
---|
12487 | | - bl kfree |
---|
12488 | | - ldr x0, [x20, 3992] |
---|
12489 | | - bl kfree |
---|
12490 | | -.L1787: |
---|
12491 | | - ldr x1, [x29, 112] |
---|
12492 | | - mov w0, w19 |
---|
12493 | | - add x1, x1, :lo12:__stack_chk_guard |
---|
12494 | | - ldr x2, [x29, 232] |
---|
12495 | | - ldr x1, [x1] |
---|
12496 | | - eor x1, x2, x1 |
---|
12497 | | - cbz x1, .L1827 |
---|
12498 | | - bl __stack_chk_fail |
---|
12499 | | -.L1819: |
---|
12500 | | - ldr x0, [x27, 3992] |
---|
| 13969 | + b .L1835 |
---|
| 13970 | +.L1836: |
---|
| 13971 | + ldr x0, [x25, 3984] |
---|
12501 | 13972 | mov w1, 0 |
---|
12502 | 13973 | mov x2, 512 |
---|
12503 | 13974 | bl memset |
---|
12504 | | - ldrh w28, [x27, 10] |
---|
12505 | | - ldr x1, [x27, 3392] |
---|
12506 | | - mul w0, w22, w28 |
---|
12507 | | - str w0, [x29, 152] |
---|
12508 | | - cbz x1, .L1828 |
---|
12509 | | - ldr x0, [x27, 3400] |
---|
12510 | | - mov w23, 6 |
---|
| 13975 | + ldrh w27, [x25, 10] |
---|
| 13976 | + ldr x1, [x25, 3384] |
---|
| 13977 | + mul w0, w21, w27 |
---|
| 13978 | + str w0, [sp, 96] |
---|
| 13979 | + cbz x1, .L1845 |
---|
| 13980 | + ldr x0, [x25, 3392] |
---|
| 13981 | + mov w24, 6 |
---|
12511 | 13982 | cmp x0, 0 |
---|
12512 | 13983 | mov w0, 9 |
---|
12513 | | - csel w23, w23, w0, eq |
---|
12514 | | -.L1798: |
---|
12515 | | - mul w4, w22, w28 |
---|
| 13984 | + csel w24, w24, w0, eq |
---|
| 13985 | +.L1815: |
---|
| 13986 | + mul w28, w21, w27 |
---|
12516 | 13987 | mov w26, 0 |
---|
12517 | | -.L1799: |
---|
12518 | | - ldr x6, [x27, 3368] |
---|
12519 | | - mov w1, w4 |
---|
12520 | | - str w4, [x29, 148] |
---|
12521 | | - mov w0, 0 |
---|
| 13988 | +.L1816: |
---|
| 13989 | + ldr x3, [x25, 3360] |
---|
| 13990 | + mov w1, w28 |
---|
12522 | 13991 | add w26, w26, 1 |
---|
12523 | | - blr x6 |
---|
12524 | | - ldr w4, [x29, 148] |
---|
12525 | | - cmp w21, w26 |
---|
12526 | | - add w4, w4, w28 |
---|
12527 | | - bhi .L1799 |
---|
12528 | | - cmp w23, 9 |
---|
12529 | | - bne .L1830 |
---|
12530 | | - ldr x26, [x27, 3992] |
---|
| 13992 | + add w28, w28, w27 |
---|
| 13993 | + mov w0, 0 |
---|
| 13994 | + blr x3 |
---|
| 13995 | + cmp w20, w26 |
---|
| 13996 | + bhi .L1816 |
---|
| 13997 | + cmp w24, 9 |
---|
| 13998 | + bne .L1847 |
---|
| 13999 | + ldr x28, [x25, 3984] |
---|
12531 | 14000 | mov w2, 1024 |
---|
12532 | 14001 | mov w1, 0 |
---|
12533 | | - mov x0, x26 |
---|
| 14002 | + mov x0, x28 |
---|
12534 | 14003 | bl ftl_memset |
---|
12535 | | - mov w0, 18766 |
---|
| 14004 | + mov x0, 18766 |
---|
| 14005 | + str wzr, [x28, 12] |
---|
| 14006 | + movk x0, 0x464e, lsl 16 |
---|
12536 | 14007 | mov w1, 12 |
---|
12537 | | - movk w0, 0x464e, lsl 16 |
---|
12538 | | - stp w0, w1, [x26] |
---|
12539 | | - mov w0, 4 |
---|
12540 | | - strb w0, [x26, 17] |
---|
12541 | | - ldrh w0, [x27, 10] |
---|
12542 | | - strh w0, [x26, 18] |
---|
12543 | | - strb wzr, [x26, 16] |
---|
12544 | | - mov w0, 16 |
---|
12545 | | - strb wzr, [x26, 20] |
---|
12546 | | - strb w0, [x26, 21] |
---|
12547 | | - add x0, x26, 12 |
---|
12548 | | - strh wzr, [x26, 22] |
---|
12549 | | - str wzr, [x26, 12] |
---|
| 14008 | + movk x0, 0xc, lsl 32 |
---|
| 14009 | + str x0, [x28] |
---|
| 14010 | + mov w0, 1024 |
---|
| 14011 | + strh w0, [x28, 16] |
---|
| 14012 | + ldrh w0, [x25, 10] |
---|
| 14013 | + strh w0, [x28, 18] |
---|
| 14014 | + mov w0, 4096 |
---|
| 14015 | + str w0, [x28, 20] |
---|
| 14016 | + add x0, x28, 12 |
---|
12550 | 14017 | bl js_hash |
---|
12551 | | - str w0, [x26, 8] |
---|
12552 | | -.L1800: |
---|
12553 | | - mul w0, w21, w28 |
---|
12554 | | - mov x7, x24 |
---|
12555 | | - mov x28, 0 |
---|
12556 | | - str w0, [x29, 148] |
---|
12557 | | -.L1801: |
---|
12558 | | - ldr w0, [x29, 148] |
---|
12559 | | - mov w1, w28 |
---|
12560 | | - cmp w28, w0 |
---|
12561 | | - bcs .L1808 |
---|
12562 | | - cmp w23, 9 |
---|
12563 | | - bne .L1802 |
---|
12564 | | - add w0, w1, 1 |
---|
12565 | | -.L1853: |
---|
12566 | | - str w0, [x29, 168] |
---|
| 14018 | + str w0, [x28, 8] |
---|
| 14019 | +.L1817: |
---|
| 14020 | + mul w0, w20, w27 |
---|
| 14021 | + mov x27, x22 |
---|
| 14022 | + mov w26, 0 |
---|
| 14023 | + str w0, [sp, 108] |
---|
| 14024 | +.L1818: |
---|
| 14025 | + ldr w0, [sp, 108] |
---|
| 14026 | + cmp w26, w0 |
---|
| 14027 | + beq .L1825 |
---|
| 14028 | + cmp w24, 9 |
---|
| 14029 | + lsl w0, w26, 2 |
---|
| 14030 | + csinc w0, w0, w26, ne |
---|
| 14031 | + str w0, [sp, 136] |
---|
12567 | 14032 | mov w0, 61424 |
---|
12568 | | - str w0, [x29, 172] |
---|
12569 | | - cmp w1, 0 |
---|
12570 | | - ccmp w23, 9, 0, eq |
---|
12571 | | - bne .L1804 |
---|
12572 | | - ldr x1, [x27, 3392] |
---|
12573 | | - add x8, x27, 3360 |
---|
12574 | | - str x7, [x29, 104] |
---|
| 14033 | + str w0, [sp, 140] |
---|
| 14034 | + cmp w26, 0 |
---|
| 14035 | + ccmp w24, 9, 0, eq |
---|
| 14036 | + bne .L1821 |
---|
| 14037 | + ldr x1, [x25, 3384] |
---|
| 14038 | + add x8, x25, 3352 |
---|
12575 | 14039 | mov w0, 70 |
---|
12576 | | - str x8, [x29, 128] |
---|
| 14040 | + str x8, [sp, 112] |
---|
12577 | 14041 | blr x1 |
---|
12578 | | - ldr x8, [x29, 128] |
---|
12579 | | - add x3, x29, 168 |
---|
12580 | | - ldr w1, [x29, 152] |
---|
12581 | | - mov x2, x26 |
---|
12582 | | - str x8, [x29, 120] |
---|
| 14042 | + ldr w1, [sp, 96] |
---|
| 14043 | + ldr x8, [sp, 112] |
---|
| 14044 | + add x3, sp, 136 |
---|
| 14045 | + mov x2, x28 |
---|
12583 | 14046 | mov w0, 0 |
---|
| 14047 | + str x8, [sp, 120] |
---|
12584 | 14048 | ldr x9, [x8, 16] |
---|
12585 | 14049 | blr x9 |
---|
12586 | 14050 | mov w1, w0 |
---|
12587 | | - ldr x8, [x29, 120] |
---|
12588 | | - ldrb w0, [x27, 22] |
---|
12589 | | - str w1, [x29, 128] |
---|
| 14051 | + ldr x8, [sp, 120] |
---|
| 14052 | + str w1, [sp, 112] |
---|
| 14053 | + ldrb w0, [x25, 22] |
---|
12590 | 14054 | ldr x2, [x8, 32] |
---|
12591 | 14055 | blr x2 |
---|
12592 | | - ldr w1, [x29, 128] |
---|
12593 | | - ldr x7, [x29, 104] |
---|
| 14056 | + ldr w1, [sp, 112] |
---|
12594 | 14057 | cmn w1, #1 |
---|
12595 | | - bne .L1805 |
---|
12596 | | -.L1808: |
---|
12597 | | - ldrb w0, [x27, 14] |
---|
12598 | | - str w0, [x29, 128] |
---|
12599 | | - ldrh w0, [x27, 10] |
---|
12600 | | - ldr x28, [x27, 3992] |
---|
12601 | | - mul w1, w22, w0 |
---|
12602 | | - str w1, [x29, 152] |
---|
12603 | | - add x1, x27, 3360 |
---|
12604 | | - ldr x2, [x1, 32] |
---|
12605 | | - cbnz x2, .L1806 |
---|
| 14058 | + bne .L1822 |
---|
| 14059 | +.L1825: |
---|
| 14060 | + ldrb w0, [x25, 14] |
---|
| 14061 | + add x1, x25, 3352 |
---|
| 14062 | + str w0, [sp, 108] |
---|
| 14063 | + ldrh w0, [x25, 10] |
---|
| 14064 | + ldr x3, [x1, 32] |
---|
| 14065 | + ldr x26, [x25, 3984] |
---|
| 14066 | + mul w27, w21, w0 |
---|
| 14067 | + cbnz x3, .L1823 |
---|
12606 | 14068 | mov w1, 6 |
---|
12607 | | -.L1854: |
---|
12608 | | - mul w0, w21, w0 |
---|
12609 | | - mov x26, 0 |
---|
12610 | | - str w0, [x29, 120] |
---|
12611 | | - str w1, [x29, 148] |
---|
12612 | | -.L1810: |
---|
12613 | | - ldr w0, [x29, 120] |
---|
12614 | | - mov w1, w26 |
---|
12615 | | - cmp w0, w26 |
---|
12616 | | - bls .L1814 |
---|
12617 | | - ldr w0, [x29, 148] |
---|
12618 | | - cmp w26, 0 |
---|
| 14069 | +.L1868: |
---|
| 14070 | + mul w0, w20, w0 |
---|
| 14071 | + mov w28, 0 |
---|
| 14072 | + str w1, [sp, 96] |
---|
| 14073 | + str w0, [sp, 112] |
---|
| 14074 | +.L1827: |
---|
| 14075 | + ldr w0, [sp, 112] |
---|
| 14076 | + cmp w28, w0 |
---|
| 14077 | + beq .L1831 |
---|
| 14078 | + ldr w0, [sp, 96] |
---|
| 14079 | + cmp w28, 0 |
---|
12619 | 14080 | ccmp w0, 9, 0, eq |
---|
12620 | | - bne .L1811 |
---|
12621 | | - ldr x1, [x27, 3392] |
---|
| 14081 | + bne .L1828 |
---|
| 14082 | + ldr x1, [x25, 3384] |
---|
12622 | 14083 | mov w0, 70 |
---|
12623 | 14084 | blr x1 |
---|
12624 | | - ldr x1, [x27, 3400] |
---|
| 14085 | + ldr x1, [x25, 3392] |
---|
12625 | 14086 | mov w0, 2 |
---|
12626 | 14087 | blr x1 |
---|
12627 | | - ldr x8, [x27, 3384] |
---|
12628 | | - add x3, x29, 168 |
---|
12629 | | - ldr w1, [x29, 152] |
---|
12630 | | - mov x2, x28 |
---|
| 14088 | + add x3, sp, 136 |
---|
| 14089 | + ldr x7, [x25, 3376] |
---|
| 14090 | + mov x2, x26 |
---|
| 14091 | + mov w1, w27 |
---|
12631 | 14092 | mov w0, 0 |
---|
12632 | | - blr x8 |
---|
12633 | | - ldrb w0, [x29, 128] |
---|
12634 | | - ldr x1, [x27, 3400] |
---|
| 14093 | + blr x7 |
---|
| 14094 | + ldrb w0, [sp, 108] |
---|
| 14095 | + ldr x1, [x25, 3392] |
---|
12635 | 14096 | blr x1 |
---|
12636 | | - ldrb w0, [x27, 22] |
---|
12637 | | - ldr x1, [x27, 3392] |
---|
| 14097 | + ldrb w0, [x25, 22] |
---|
| 14098 | + ldr x1, [x25, 3384] |
---|
12638 | 14099 | blr x1 |
---|
12639 | | - ldr w0, [x28] |
---|
| 14100 | + ldr w0, [x26] |
---|
12640 | 14101 | mov w1, 18766 |
---|
12641 | 14102 | movk w1, 0x464e, lsl 16 |
---|
12642 | 14103 | cmp w0, w1 |
---|
12643 | | - beq .L1812 |
---|
12644 | | -.L1814: |
---|
12645 | | - ldr x0, [x27, 3992] |
---|
12646 | | - mov x1, x24 |
---|
12647 | | - mov w23, 0 |
---|
12648 | | - mov x2, x0 |
---|
12649 | | -.L1813: |
---|
12650 | | - mov x26, x2 |
---|
12651 | | - mov x3, x1 |
---|
12652 | | - add x2, x2, 4 |
---|
12653 | | - add x1, x1, 4 |
---|
12654 | | - ldr w4, [x3] |
---|
12655 | | - ldr w6, [x26] |
---|
12656 | | - cmp w6, w4 |
---|
12657 | | - beq .L1816 |
---|
| 14104 | + beq .L1829 |
---|
| 14105 | +.L1831: |
---|
| 14106 | + ldr x0, [x25, 3984] |
---|
| 14107 | + mov x24, 0 |
---|
| 14108 | +.L1830: |
---|
| 14109 | + ldr w2, [x0, x24, lsl 2] |
---|
| 14110 | + add x27, x0, x24, lsl 2 |
---|
| 14111 | + ldr w1, [x22, x24, lsl 2] |
---|
| 14112 | + add x28, x22, x24, lsl 2 |
---|
| 14113 | + cmp w2, w1 |
---|
| 14114 | + beq .L1833 |
---|
12658 | 14115 | mov x2, 512 |
---|
12659 | 14116 | mov w1, 0 |
---|
12660 | | - str x3, [x29, 152] |
---|
12661 | 14117 | bl memset |
---|
12662 | | - ldr x3, [x29, 152] |
---|
12663 | | - mov w1, w22 |
---|
12664 | | - ldr w2, [x26] |
---|
12665 | | - mov w4, w23 |
---|
12666 | | - adrp x0, .LC131 |
---|
12667 | | - add x0, x0, :lo12:.LC131 |
---|
12668 | | - ldr w3, [x3] |
---|
12669 | | - bl sftl_printk |
---|
12670 | | - ldrh w1, [x27, 10] |
---|
12671 | | - mov w0, 0 |
---|
12672 | | - ldr x2, [x27, 3368] |
---|
12673 | | - mul w1, w1, w22 |
---|
12674 | | - blr x2 |
---|
12675 | | -.L1817: |
---|
12676 | | - ldr w22, [x29, 144] |
---|
12677 | | - b .L1797 |
---|
12678 | | -.L1828: |
---|
12679 | | - mov w23, 6 |
---|
12680 | | - b .L1798 |
---|
12681 | | -.L1830: |
---|
12682 | | - mov x26, 0 |
---|
12683 | | - b .L1800 |
---|
12684 | | -.L1802: |
---|
12685 | | - lsl w0, w1, 2 |
---|
12686 | | - b .L1853 |
---|
12687 | | -.L1804: |
---|
12688 | | - ldr x8, [x27, 3376] |
---|
12689 | | - add x3, x29, 168 |
---|
12690 | | - ldr w0, [x29, 152] |
---|
12691 | | - mov x2, x7 |
---|
12692 | | - str x7, [x29, 128] |
---|
12693 | | - add w1, w1, w0 |
---|
12694 | | - mov w0, 0 |
---|
12695 | | - blr x8 |
---|
12696 | | - cmn w0, #1 |
---|
12697 | | - beq .L1808 |
---|
12698 | | - ldr x7, [x29, 128] |
---|
12699 | | - add x7, x7, 2048 |
---|
12700 | | -.L1805: |
---|
12701 | | - add x28, x28, 1 |
---|
12702 | | - b .L1801 |
---|
12703 | | -.L1806: |
---|
12704 | | - ldr x1, [x1, 40] |
---|
12705 | | - mov w23, 6 |
---|
12706 | | - cmp x1, 0 |
---|
12707 | | - mov w1, 9 |
---|
12708 | | - csel w1, w23, w1, eq |
---|
12709 | | - b .L1854 |
---|
12710 | | -.L1811: |
---|
12711 | | - ldr x7, [x27, 3384] |
---|
12712 | | - add x3, x29, 168 |
---|
12713 | | - ldr w0, [x29, 152] |
---|
12714 | | - mov x2, x28 |
---|
12715 | | - add w1, w0, w1 |
---|
12716 | | - mov w0, 0 |
---|
12717 | | - blr x7 |
---|
12718 | | - cmn w0, #1 |
---|
12719 | | - beq .L1814 |
---|
12720 | | - ldr w0, [x29, 172] |
---|
12721 | | - mov w1, 61424 |
---|
12722 | | - cmp w0, w1 |
---|
12723 | | - bne .L1814 |
---|
12724 | | - add x28, x28, 2048 |
---|
12725 | | -.L1812: |
---|
12726 | | - add x26, x26, 1 |
---|
12727 | | - b .L1810 |
---|
12728 | | -.L1816: |
---|
12729 | | - ldr w3, [x29, 140] |
---|
12730 | | - add w23, w23, 1 |
---|
12731 | | - cmp w23, w3 |
---|
12732 | | - bne .L1813 |
---|
12733 | | - add w25, w25, 1 |
---|
12734 | | - cmp w25, 5 |
---|
12735 | | - bls .L1817 |
---|
12736 | | - b .L1820 |
---|
12737 | | -.L1789: |
---|
12738 | | - cmp w19, 64 |
---|
12739 | | - bne .L1821 |
---|
12740 | | - add x25, x20, :lo12:.LANCHOR0 |
---|
12741 | | - mov w0, 262144 |
---|
12742 | | - bl ftl_malloc |
---|
12743 | | - str x0, [x25, 3984] |
---|
12744 | | - mov w0, 262144 |
---|
12745 | | - bl ftl_malloc |
---|
12746 | | - mov x1, x0 |
---|
12747 | | - ldr x0, [x25, 3984] |
---|
12748 | | - str x1, [x25, 3992] |
---|
12749 | | - cbz x0, .L1822 |
---|
12750 | | - cbz x1, .L1822 |
---|
12751 | | - mov w1, 1 |
---|
12752 | | - mov w2, 262144 |
---|
12753 | | - str w1, [x25, 3976] |
---|
12754 | | - mov w1, 0 |
---|
12755 | | - bl ftl_memset |
---|
12756 | | -.L1821: |
---|
12757 | | - add x20, x20, :lo12:.LANCHOR0 |
---|
12758 | | - ldr w0, [x20, 3976] |
---|
12759 | | - cbz w0, .L1855 |
---|
12760 | | - cmp w19, 63 |
---|
12761 | | - ldr x0, [x20, 3984] |
---|
12762 | | - bhi .L1824 |
---|
12763 | | - mov w1, 64 |
---|
12764 | | - sub w19, w1, w19 |
---|
12765 | | - sub w21, w21, w19 |
---|
12766 | | - ubfiz x19, x19, 9, 25 |
---|
12767 | | - add x1, x22, x19 |
---|
12768 | | -.L1825: |
---|
12769 | | - cmp w24, 575 |
---|
12770 | | - bls .L1826 |
---|
12771 | | - sub w21, w21, w23 |
---|
12772 | | - sub w21, w21, #446 |
---|
12773 | | -.L1826: |
---|
12774 | | - lsl w2, w21, 9 |
---|
12775 | | - bl ftl_memcpy |
---|
12776 | | - b .L1855 |
---|
12777 | | -.L1822: |
---|
12778 | | - adrp x1, .LANCHOR1 |
---|
12779 | | - add x1, x1, :lo12:.LANCHOR1 |
---|
12780 | | - add x1, x1, 752 |
---|
| 14118 | + ldr w2, [x27] |
---|
| 14119 | + mov w1, w21 |
---|
| 14120 | + ldr w3, [x28] |
---|
| 14121 | + mov w4, w24 |
---|
12781 | 14122 | adrp x0, .LC132 |
---|
12782 | 14123 | add x0, x0, :lo12:.LC132 |
---|
12783 | 14124 | bl sftl_printk |
---|
12784 | | - b .L1821 |
---|
12785 | | -.L1824: |
---|
12786 | | - lsl w2, w19, 7 |
---|
12787 | | - mov x1, x22 |
---|
12788 | | - sub w2, w2, #8192 |
---|
12789 | | - add x0, x0, x2, lsl 2 |
---|
12790 | | - b .L1825 |
---|
12791 | | -.L1827: |
---|
| 14125 | + ldrh w1, [x25, 10] |
---|
| 14126 | + mov w0, 0 |
---|
| 14127 | + ldr x2, [x25, 3360] |
---|
| 14128 | + mul w1, w1, w21 |
---|
| 14129 | + blr x2 |
---|
| 14130 | +.L1834: |
---|
| 14131 | + ldr w21, [sp, 104] |
---|
| 14132 | + b .L1814 |
---|
| 14133 | +.L1845: |
---|
| 14134 | + mov w24, 6 |
---|
| 14135 | + b .L1815 |
---|
| 14136 | +.L1847: |
---|
| 14137 | + mov x28, 0 |
---|
| 14138 | + b .L1817 |
---|
| 14139 | +.L1821: |
---|
| 14140 | + ldr x8, [x25, 3368] |
---|
| 14141 | + add x3, sp, 136 |
---|
| 14142 | + ldr w0, [sp, 96] |
---|
| 14143 | + mov x2, x27 |
---|
| 14144 | + add w1, w0, w26 |
---|
| 14145 | + mov w0, 0 |
---|
| 14146 | + blr x8 |
---|
| 14147 | + cmn w0, #1 |
---|
| 14148 | + beq .L1825 |
---|
| 14149 | + add x27, x27, 2048 |
---|
| 14150 | +.L1822: |
---|
| 14151 | + add w26, w26, 1 |
---|
| 14152 | + b .L1818 |
---|
| 14153 | +.L1823: |
---|
| 14154 | + ldr x1, [x1, 40] |
---|
| 14155 | + mov w24, 6 |
---|
| 14156 | + cmp x1, 0 |
---|
| 14157 | + mov w1, 9 |
---|
| 14158 | + csel w1, w24, w1, eq |
---|
| 14159 | + b .L1868 |
---|
| 14160 | +.L1828: |
---|
| 14161 | + ldr x6, [x25, 3376] |
---|
| 14162 | + add x3, sp, 136 |
---|
| 14163 | + mov x2, x26 |
---|
| 14164 | + add w1, w27, w28 |
---|
| 14165 | + mov w0, 0 |
---|
| 14166 | + blr x6 |
---|
| 14167 | + cmn w0, #1 |
---|
| 14168 | + beq .L1831 |
---|
| 14169 | + ldr w0, [sp, 140] |
---|
| 14170 | + mov w1, 61424 |
---|
| 14171 | + cmp w0, w1 |
---|
| 14172 | + bne .L1831 |
---|
| 14173 | + add x26, x26, 2048 |
---|
| 14174 | +.L1829: |
---|
| 14175 | + add w28, w28, 1 |
---|
| 14176 | + b .L1827 |
---|
| 14177 | +.L1833: |
---|
| 14178 | + ldr w1, [sp, 100] |
---|
| 14179 | + add x24, x24, 1 |
---|
| 14180 | + cmp w1, w24 |
---|
| 14181 | + bhi .L1830 |
---|
| 14182 | + add w23, w23, 1 |
---|
| 14183 | + cmp w23, 5 |
---|
| 14184 | + bls .L1834 |
---|
| 14185 | +.L1835: |
---|
| 14186 | + ldr x0, [x25, 3976] |
---|
| 14187 | + str wzr, [x25, 3968] |
---|
| 14188 | + bl kfree |
---|
| 14189 | + ldr x0, [x25, 3984] |
---|
| 14190 | + bl kfree |
---|
| 14191 | +.L1804: |
---|
| 14192 | + mrs x0, sp_el0 |
---|
| 14193 | + ldr x1, [sp, 200] |
---|
| 14194 | + ldr x2, [x0, 1376] |
---|
| 14195 | + subs x1, x1, x2 |
---|
| 14196 | + mov x2, 0 |
---|
| 14197 | + beq .L1844 |
---|
| 14198 | + bl __stack_chk_fail |
---|
| 14199 | +.L1806: |
---|
| 14200 | + mov x21, x2 |
---|
| 14201 | + cmp w20, 64 |
---|
| 14202 | + bne .L1837 |
---|
| 14203 | + mov w0, 262144 |
---|
| 14204 | + bl ftl_malloc |
---|
| 14205 | + str x0, [x25, 3976] |
---|
| 14206 | + mov w0, 262144 |
---|
| 14207 | + bl ftl_malloc |
---|
| 14208 | + mov x1, x0 |
---|
| 14209 | + ldr x0, [x25, 3976] |
---|
| 14210 | + str x1, [x25, 3984] |
---|
| 14211 | + cbz x0, .L1838 |
---|
| 14212 | + cbz x1, .L1838 |
---|
| 14213 | + mov w1, 1 |
---|
| 14214 | + mov w2, 262144 |
---|
| 14215 | + str w1, [x25, 3968] |
---|
| 14216 | + mov w1, 0 |
---|
| 14217 | + bl ftl_memset |
---|
| 14218 | +.L1839: |
---|
| 14219 | + sub w1, w20, #64 |
---|
| 14220 | + ldr x0, [x25, 3976] |
---|
| 14221 | + cmp w20, 63 |
---|
| 14222 | + bhi .L1841 |
---|
| 14223 | + add w19, w19, w1 |
---|
| 14224 | + mov w1, 64 |
---|
| 14225 | + sub w20, w1, w20 |
---|
| 14226 | + ubfiz x20, x20, 9, 25 |
---|
| 14227 | + add x21, x21, x20 |
---|
| 14228 | +.L1842: |
---|
| 14229 | + cmp w23, 575 |
---|
| 14230 | + bls .L1843 |
---|
| 14231 | + sub w19, w19, w22 |
---|
| 14232 | + add w19, w19, 576 |
---|
| 14233 | +.L1843: |
---|
| 14234 | + lsl w2, w19, 9 |
---|
| 14235 | + mov x1, x21 |
---|
| 14236 | + bl ftl_memcpy |
---|
| 14237 | + b .L1869 |
---|
| 14238 | +.L1838: |
---|
| 14239 | + adrp x1, .LANCHOR1 |
---|
| 14240 | + add x1, x1, :lo12:.LANCHOR1 |
---|
| 14241 | + adrp x0, .LC133 |
---|
| 14242 | + add x1, x1, 633 |
---|
| 14243 | + add x0, x0, :lo12:.LC133 |
---|
| 14244 | + bl sftl_printk |
---|
| 14245 | +.L1837: |
---|
| 14246 | + ldr w0, [x25, 3968] |
---|
| 14247 | + cbnz w0, .L1839 |
---|
| 14248 | + b .L1869 |
---|
| 14249 | +.L1841: |
---|
| 14250 | + ubfiz x1, x1, 9, 25 |
---|
| 14251 | + add x0, x0, x1 |
---|
| 14252 | + b .L1842 |
---|
| 14253 | +.L1844: |
---|
| 14254 | + mov w0, w19 |
---|
12792 | 14255 | ldp x19, x20, [sp, 16] |
---|
12793 | 14256 | ldp x21, x22, [sp, 32] |
---|
12794 | 14257 | ldp x23, x24, [sp, 48] |
---|
12795 | 14258 | ldp x25, x26, [sp, 64] |
---|
12796 | 14259 | ldp x27, x28, [sp, 80] |
---|
12797 | | - ldp x29, x30, [sp], 240 |
---|
| 14260 | + ldp x29, x30, [sp], 208 |
---|
| 14261 | + hint 29 // autiasp |
---|
12798 | 14262 | ret |
---|
12799 | 14263 | .size FtlWriteToIDB, .-FtlWriteToIDB |
---|
12800 | 14264 | .align 2 |
---|
12801 | 14265 | .global sftl_write |
---|
12802 | 14266 | .type sftl_write, %function |
---|
12803 | 14267 | sftl_write: |
---|
| 14268 | + hint 34 // bti c |
---|
| 14269 | + .section __patchable_function_entries |
---|
| 14270 | + .align 3 |
---|
| 14271 | + .8byte .LPFE136 |
---|
| 14272 | + .text |
---|
| 14273 | +.LPFE136: |
---|
| 14274 | + nop |
---|
| 14275 | + nop |
---|
| 14276 | + hint 25 // paciasp |
---|
12804 | 14277 | stp x29, x30, [sp, -48]! |
---|
12805 | | - add x29, sp, 0 |
---|
| 14278 | + mov x29, sp |
---|
12806 | 14279 | stp x19, x20, [sp, 16] |
---|
12807 | 14280 | mov w20, w1 |
---|
12808 | 14281 | mov w19, w0 |
---|
.. | .. |
---|
12814 | 14287 | mov w1, w19 |
---|
12815 | 14288 | mov w0, 0 |
---|
12816 | 14289 | bl FtlWrite |
---|
12817 | | - ldr x21, [sp, 32] |
---|
12818 | 14290 | ldp x19, x20, [sp, 16] |
---|
| 14291 | + ldr x21, [sp, 32] |
---|
12819 | 14292 | ldp x29, x30, [sp], 48 |
---|
| 14293 | + hint 29 // autiasp |
---|
12820 | 14294 | ret |
---|
12821 | 14295 | .size sftl_write, .-sftl_write |
---|
12822 | 14296 | .align 2 |
---|
12823 | 14297 | .global rk_sftl_vendor_dev_ops_register |
---|
12824 | 14298 | .type rk_sftl_vendor_dev_ops_register, %function |
---|
12825 | 14299 | rk_sftl_vendor_dev_ops_register: |
---|
| 14300 | + hint 34 // bti c |
---|
| 14301 | + .section __patchable_function_entries |
---|
| 14302 | + .align 3 |
---|
| 14303 | + .8byte .LPFE137 |
---|
| 14304 | + .text |
---|
| 14305 | +.LPFE137: |
---|
| 14306 | + nop |
---|
| 14307 | + nop |
---|
12826 | 14308 | adrp x2, .LANCHOR0 |
---|
12827 | 14309 | add x2, x2, :lo12:.LANCHOR0 |
---|
12828 | | - ldr x3, [x2, 4000] |
---|
12829 | | - cbnz x3, .L1860 |
---|
12830 | | - str x0, [x2, 4000] |
---|
| 14310 | + hint 25 // paciasp |
---|
| 14311 | + ldr x3, [x2, 3992] |
---|
| 14312 | + cbnz x3, .L1874 |
---|
| 14313 | + str x0, [x2, 3992] |
---|
12831 | 14314 | mov w0, 0 |
---|
12832 | | - str x1, [x2, 4008] |
---|
| 14315 | + str x1, [x2, 4000] |
---|
| 14316 | +.L1872: |
---|
| 14317 | + hint 29 // autiasp |
---|
12833 | 14318 | ret |
---|
12834 | | -.L1860: |
---|
| 14319 | +.L1874: |
---|
12835 | 14320 | mov w0, -1 |
---|
12836 | | - ret |
---|
| 14321 | + b .L1872 |
---|
12837 | 14322 | .size rk_sftl_vendor_dev_ops_register, .-rk_sftl_vendor_dev_ops_register |
---|
12838 | 14323 | .align 2 |
---|
12839 | 14324 | .global rk_sftl_vendor_storage_init |
---|
12840 | 14325 | .type rk_sftl_vendor_storage_init, %function |
---|
12841 | 14326 | rk_sftl_vendor_storage_init: |
---|
12842 | | - stp x29, x30, [sp, -80]! |
---|
| 14327 | + hint 34 // bti c |
---|
| 14328 | + .section __patchable_function_entries |
---|
| 14329 | + .align 3 |
---|
| 14330 | + .8byte .LPFE138 |
---|
| 14331 | + .text |
---|
| 14332 | +.LPFE138: |
---|
| 14333 | + nop |
---|
| 14334 | + nop |
---|
| 14335 | + hint 25 // paciasp |
---|
| 14336 | + stp x29, x30, [sp, -64]! |
---|
12843 | 14337 | mov w0, 65536 |
---|
12844 | | - add x29, sp, 0 |
---|
| 14338 | + mov x29, sp |
---|
12845 | 14339 | stp x19, x20, [sp, 16] |
---|
12846 | 14340 | adrp x20, .LANCHOR0 |
---|
12847 | | - stp x21, x22, [sp, 32] |
---|
12848 | | - add x22, x20, :lo12:.LANCHOR0 |
---|
12849 | | - stp x23, x24, [sp, 48] |
---|
12850 | | - stp x25, x26, [sp, 64] |
---|
12851 | | - bl ftl_malloc |
---|
12852 | | - str x0, [x22, 4016] |
---|
12853 | | - cbz x0, .L1867 |
---|
12854 | | - mov w26, 22084 |
---|
12855 | | - mov w25, 0 |
---|
12856 | | - mov w24, 0 |
---|
12857 | | - mov w23, 0 |
---|
12858 | | - movk w26, 0x524b, lsl 16 |
---|
12859 | | -.L1865: |
---|
12860 | | - ldr x3, [x22, 4000] |
---|
12861 | | - mov w1, 128 |
---|
12862 | | - ldr x2, [x22, 4016] |
---|
12863 | | - lsl w0, w23, 7 |
---|
12864 | | - blr x3 |
---|
12865 | | - mov w21, w0 |
---|
12866 | | - cbnz w0, .L1863 |
---|
12867 | | - ldr x19, [x22, 4016] |
---|
12868 | | - ldr w0, [x19] |
---|
12869 | | - cmp w0, w26 |
---|
12870 | | - bne .L1864 |
---|
12871 | | - add x0, x19, 61440 |
---|
12872 | | - ldr w1, [x19, 4] |
---|
12873 | | - ldr w0, [x0, 4092] |
---|
12874 | | - cmp w0, w1 |
---|
12875 | | - bne .L1864 |
---|
12876 | | - cmp w0, w24 |
---|
12877 | | - bls .L1864 |
---|
12878 | | - mov w25, w23 |
---|
12879 | | - mov w24, w0 |
---|
12880 | | -.L1864: |
---|
12881 | | - add w23, w23, 1 |
---|
12882 | | - cmp w23, 2 |
---|
12883 | | - bne .L1865 |
---|
12884 | | - cbz w24, .L1866 |
---|
12885 | | - add x0, x20, :lo12:.LANCHOR0 |
---|
12886 | | - mov x2, x19 |
---|
12887 | | - mov w1, 128 |
---|
12888 | | - ldr x3, [x0, 4000] |
---|
12889 | | - lsl w0, w25, 7 |
---|
12890 | | - blr x3 |
---|
12891 | | - mov w21, w0 |
---|
12892 | | - cbz w0, .L1861 |
---|
12893 | | -.L1863: |
---|
12894 | 14341 | add x20, x20, :lo12:.LANCHOR0 |
---|
12895 | | - mov w21, -1 |
---|
12896 | | - ldr x0, [x20, 4016] |
---|
| 14342 | + stp x21, x22, [sp, 32] |
---|
| 14343 | + stp x23, x24, [sp, 48] |
---|
| 14344 | + bl ftl_malloc |
---|
| 14345 | + str x0, [x20, 4008] |
---|
| 14346 | + cbz x0, .L1882 |
---|
| 14347 | + mov w24, 22084 |
---|
| 14348 | + mov w23, 0 |
---|
| 14349 | + mov w22, 0 |
---|
| 14350 | + mov w21, 0 |
---|
| 14351 | + movk w24, 0x524b, lsl 16 |
---|
| 14352 | +.L1880: |
---|
| 14353 | + ldr x3, [x20, 3992] |
---|
| 14354 | + lsl w0, w21, 7 |
---|
| 14355 | + ldr x2, [x20, 4008] |
---|
| 14356 | + mov w1, 128 |
---|
| 14357 | + blr x3 |
---|
| 14358 | + mov w19, w0 |
---|
| 14359 | + cbnz w0, .L1878 |
---|
| 14360 | + ldr x3, [x20, 4008] |
---|
| 14361 | + ldr w0, [x3] |
---|
| 14362 | + cmp w0, w24 |
---|
| 14363 | + bne .L1879 |
---|
| 14364 | + add x0, x3, 49152 |
---|
| 14365 | + ldr w1, [x3, 4] |
---|
| 14366 | + ldr w0, [x0, 16380] |
---|
| 14367 | + cmp w0, w1 |
---|
| 14368 | + bne .L1879 |
---|
| 14369 | + cmp w0, w22 |
---|
| 14370 | + bls .L1879 |
---|
| 14371 | + mov w23, w21 |
---|
| 14372 | + mov w22, w0 |
---|
| 14373 | +.L1879: |
---|
| 14374 | + cbz w21, .L1883 |
---|
| 14375 | + cbz w22, .L1881 |
---|
| 14376 | + ldr x4, [x20, 3992] |
---|
| 14377 | + mov x2, x3 |
---|
| 14378 | + lsl w0, w23, 7 |
---|
| 14379 | + mov w1, 128 |
---|
| 14380 | + blr x4 |
---|
| 14381 | + mov w19, w0 |
---|
| 14382 | + cbz w0, .L1876 |
---|
| 14383 | +.L1878: |
---|
| 14384 | + ldr x0, [x20, 4008] |
---|
| 14385 | + mov w19, -1 |
---|
12897 | 14386 | bl kfree |
---|
12898 | | - str xzr, [x20, 4016] |
---|
12899 | | - b .L1861 |
---|
12900 | | -.L1866: |
---|
12901 | | - mov w1, 0 |
---|
| 14387 | + str xzr, [x20, 4008] |
---|
| 14388 | + b .L1876 |
---|
| 14389 | +.L1883: |
---|
| 14390 | + mov w21, 1 |
---|
| 14391 | + b .L1880 |
---|
| 14392 | +.L1881: |
---|
| 14393 | + mov x0, x3 |
---|
12902 | 14394 | mov x2, 65536 |
---|
12903 | | - mov x0, x19 |
---|
| 14395 | + mov w1, 0 |
---|
12904 | 14396 | bl memset |
---|
12905 | | - mov w1, 22084 |
---|
12906 | | - mov w0, 1 |
---|
12907 | | - movk w1, 0x524b, lsl 16 |
---|
12908 | | - stp w1, w0, [x19] |
---|
12909 | | - add x1, x19, 61440 |
---|
12910 | | - str w0, [x1, 4092] |
---|
| 14397 | + mov x3, x0 |
---|
| 14398 | + mov x0, 22084 |
---|
| 14399 | + movk x0, 0x524b, lsl 16 |
---|
| 14400 | + movk x0, 0x1, lsl 32 |
---|
| 14401 | + str x0, [x3] |
---|
| 14402 | + add x0, x3, 49152 |
---|
| 14403 | + str w21, [x0, 16380] |
---|
12911 | 14404 | mov w0, -1032 |
---|
12912 | | - strh w0, [x19, 14] |
---|
12913 | | -.L1861: |
---|
12914 | | - mov w0, w21 |
---|
| 14405 | + strh w0, [x3, 14] |
---|
| 14406 | +.L1876: |
---|
| 14407 | + mov w0, w19 |
---|
12915 | 14408 | ldp x19, x20, [sp, 16] |
---|
12916 | 14409 | ldp x21, x22, [sp, 32] |
---|
12917 | 14410 | ldp x23, x24, [sp, 48] |
---|
12918 | | - ldp x25, x26, [sp, 64] |
---|
12919 | | - ldp x29, x30, [sp], 80 |
---|
| 14411 | + ldp x29, x30, [sp], 64 |
---|
| 14412 | + hint 29 // autiasp |
---|
12920 | 14413 | ret |
---|
12921 | | -.L1867: |
---|
12922 | | - mov w21, -12 |
---|
12923 | | - b .L1861 |
---|
| 14414 | +.L1882: |
---|
| 14415 | + mov w19, -12 |
---|
| 14416 | + b .L1876 |
---|
12924 | 14417 | .size rk_sftl_vendor_storage_init, .-rk_sftl_vendor_storage_init |
---|
12925 | 14418 | .align 2 |
---|
12926 | 14419 | .global rk_sftl_vendor_read |
---|
12927 | 14420 | .type rk_sftl_vendor_read, %function |
---|
12928 | 14421 | rk_sftl_vendor_read: |
---|
12929 | | - adrp x3, .LANCHOR0+4016 |
---|
12930 | | - ldr x4, [x3, #:lo12:.LANCHOR0+4016] |
---|
12931 | | - cbz x4, .L1875 |
---|
12932 | | - ldrh w6, [x4, 10] |
---|
12933 | | - add x5, x4, 16 |
---|
12934 | | - mov w3, 0 |
---|
12935 | | -.L1872: |
---|
12936 | | - cmp w3, w6 |
---|
12937 | | - bcc .L1874 |
---|
12938 | | -.L1875: |
---|
| 14422 | + hint 34 // bti c |
---|
| 14423 | + .section __patchable_function_entries |
---|
| 14424 | + .align 3 |
---|
| 14425 | + .8byte .LPFE139 |
---|
| 14426 | + .text |
---|
| 14427 | +.LPFE139: |
---|
| 14428 | + nop |
---|
| 14429 | + nop |
---|
| 14430 | + mov w5, w0 |
---|
| 14431 | + mov x0, x1 |
---|
| 14432 | + adrp x1, .LANCHOR0+4008 |
---|
| 14433 | + ldr x4, [x1, #:lo12:.LANCHOR0+4008] |
---|
| 14434 | + cbz x4, .L1889 |
---|
| 14435 | + ldrh w1, [x4, 10] |
---|
| 14436 | + add x6, x4, 16 |
---|
| 14437 | + mov x3, 0 |
---|
| 14438 | +.L1887: |
---|
| 14439 | + cmp w1, w3 |
---|
| 14440 | + bhi .L1888 |
---|
| 14441 | +.L1889: |
---|
12939 | 14442 | mov w0, -1 |
---|
12940 | 14443 | ret |
---|
12941 | | -.L1874: |
---|
12942 | | - ldrh w7, [x5], 8 |
---|
12943 | | - cmp w7, w0 |
---|
12944 | | - bne .L1873 |
---|
| 14444 | +.L1888: |
---|
| 14445 | + add x7, x3, 1 |
---|
| 14446 | + lsl x3, x3, 3 |
---|
| 14447 | + ldrh w8, [x6, x3] |
---|
| 14448 | + cmp w8, w5 |
---|
| 14449 | + bne .L1890 |
---|
| 14450 | + hint 25 // paciasp |
---|
12945 | 14451 | stp x29, x30, [sp, -32]! |
---|
12946 | | - add x3, x4, x3, uxtw 3 |
---|
12947 | | - mov x0, x1 |
---|
12948 | | - add x29, sp, 0 |
---|
| 14452 | + add x3, x4, x3 |
---|
| 14453 | + mov x29, sp |
---|
12949 | 14454 | str x19, [sp, 16] |
---|
12950 | | - ldrh w19, [x3, 20] |
---|
| 14455 | + ldrh w5, [x3, 20] |
---|
12951 | 14456 | ldrh w1, [x3, 18] |
---|
12952 | | - cmp w19, w2 |
---|
12953 | | - csel w19, w19, w2, ls |
---|
| 14457 | + cmp w5, w2 |
---|
12954 | 14458 | add x1, x1, 1024 |
---|
12955 | | - uxtw x2, w19 |
---|
| 14459 | + csel w19, w5, w2, ls |
---|
12956 | 14460 | add x1, x4, x1 |
---|
| 14461 | + csel w2, w5, w2, ls |
---|
12957 | 14462 | bl memcpy |
---|
12958 | 14463 | mov w0, w19 |
---|
12959 | 14464 | ldr x19, [sp, 16] |
---|
12960 | 14465 | ldp x29, x30, [sp], 32 |
---|
| 14466 | + hint 29 // autiasp |
---|
12961 | 14467 | ret |
---|
12962 | | -.L1873: |
---|
12963 | | - add w3, w3, 1 |
---|
12964 | | - b .L1872 |
---|
| 14468 | +.L1890: |
---|
| 14469 | + mov x3, x7 |
---|
| 14470 | + b .L1887 |
---|
12965 | 14471 | .size rk_sftl_vendor_read, .-rk_sftl_vendor_read |
---|
12966 | 14472 | .align 2 |
---|
12967 | 14473 | .global rk_sftl_vendor_write |
---|
12968 | 14474 | .type rk_sftl_vendor_write, %function |
---|
12969 | 14475 | rk_sftl_vendor_write: |
---|
| 14476 | + hint 34 // bti c |
---|
| 14477 | + .section __patchable_function_entries |
---|
| 14478 | + .align 3 |
---|
| 14479 | + .8byte .LPFE140 |
---|
| 14480 | + .text |
---|
| 14481 | +.LPFE140: |
---|
| 14482 | + nop |
---|
| 14483 | + nop |
---|
| 14484 | + hint 25 // paciasp |
---|
12970 | 14485 | stp x29, x30, [sp, -128]! |
---|
12971 | | - add x29, sp, 0 |
---|
12972 | | - stp x23, x24, [sp, 48] |
---|
12973 | | - adrp x23, .LANCHOR0 |
---|
12974 | | - add x3, x23, :lo12:.LANCHOR0 |
---|
12975 | | - stp x19, x20, [sp, 16] |
---|
| 14486 | + mov x29, sp |
---|
12976 | 14487 | stp x21, x22, [sp, 32] |
---|
| 14488 | + adrp x22, .LANCHOR0 |
---|
| 14489 | + add x22, x22, :lo12:.LANCHOR0 |
---|
| 14490 | + stp x19, x20, [sp, 16] |
---|
| 14491 | + ldr x19, [x22, 4008] |
---|
| 14492 | + stp x23, x24, [sp, 48] |
---|
12977 | 14493 | stp x25, x26, [sp, 64] |
---|
12978 | 14494 | stp x27, x28, [sp, 80] |
---|
12979 | | - ldr x19, [x3, 4016] |
---|
12980 | | - cbz x19, .L1895 |
---|
| 14495 | + cbz x19, .L1910 |
---|
12981 | 14496 | add w21, w2, 63 |
---|
12982 | 14497 | ldrh w3, [x19, 10] |
---|
12983 | | - ldrh w24, [x19, 8] |
---|
| 14498 | + ldrh w23, [x19, 8] |
---|
| 14499 | + mov w7, w0 |
---|
12984 | 14500 | mov x4, x1 |
---|
12985 | | - mov w28, w2 |
---|
| 14501 | + mov w27, w2 |
---|
12986 | 14502 | and w21, w21, -64 |
---|
12987 | | - add x1, x19, 16 |
---|
12988 | | - mov w20, 0 |
---|
12989 | | -.L1882: |
---|
12990 | | - cmp w20, w3 |
---|
12991 | | - bcc .L1890 |
---|
| 14503 | + add x0, x19, 16 |
---|
| 14504 | + mov x20, 0 |
---|
| 14505 | +.L1897: |
---|
| 14506 | + mov w25, w20 |
---|
| 14507 | + cmp w3, w20 |
---|
| 14508 | + bhi .L1904 |
---|
12992 | 14509 | ldrh w1, [x19, 14] |
---|
12993 | | - cmp w21, w1 |
---|
12994 | | - bhi .L1895 |
---|
12995 | | - add x3, x19, x3, uxth 3 |
---|
| 14510 | + cmp w1, w21 |
---|
| 14511 | + bcc .L1910 |
---|
| 14512 | + add x3, x19, w3, uxth 3 |
---|
12996 | 14513 | and w21, w21, 65535 |
---|
12997 | | - uxtw x2, w28 |
---|
12998 | | - strh w0, [x3, 16] |
---|
| 14514 | + strh w7, [x3, 16] |
---|
12999 | 14515 | ldrh w0, [x19, 12] |
---|
13000 | 14516 | strh w0, [x3, 18] |
---|
13001 | | - strh w28, [x3, 20] |
---|
13002 | | - add w0, w0, w21 |
---|
| 14517 | + strh w27, [x3, 20] |
---|
| 14518 | + add w2, w0, w21 |
---|
13003 | 14519 | sub w21, w1, w21 |
---|
13004 | | - strh w0, [x19, 12] |
---|
13005 | | - strh w21, [x19, 14] |
---|
13006 | | - mov x1, x4 |
---|
13007 | | - ldrh w0, [x3, 18] |
---|
| 14520 | + and x0, x0, 65535 |
---|
| 14521 | + strh w2, [x19, 12] |
---|
13008 | 14522 | add x0, x0, 1024 |
---|
| 14523 | + strh w21, [x19, 14] |
---|
| 14524 | + uxtw x2, w27 |
---|
| 14525 | + mov x1, x4 |
---|
13009 | 14526 | add x0, x19, x0 |
---|
13010 | 14527 | bl memcpy |
---|
13011 | 14528 | ldrh w0, [x19, 10] |
---|
13012 | 14529 | add w0, w0, 1 |
---|
13013 | 14530 | strh w0, [x19, 10] |
---|
13014 | | - b .L1897 |
---|
13015 | | -.L1890: |
---|
13016 | | - ldrh w6, [x1], 8 |
---|
13017 | | - cmp w6, w0 |
---|
13018 | | - bne .L1883 |
---|
13019 | | - uxtw x27, w20 |
---|
| 14531 | + b .L1912 |
---|
| 14532 | +.L1904: |
---|
| 14533 | + add x1, x20, 1 |
---|
| 14534 | + lsl x20, x20, 3 |
---|
| 14535 | + ldrh w2, [x0, x20] |
---|
| 14536 | + cmp w2, w7 |
---|
| 14537 | + bne .L1908 |
---|
| 14538 | + add x20, x19, x20 |
---|
13020 | 14539 | add x5, x19, 1024 |
---|
13021 | | - add x22, x19, x27, lsl 3 |
---|
13022 | | - ldrh w25, [x22, 20] |
---|
13023 | | - add w25, w25, 63 |
---|
13024 | | - and w25, w25, -64 |
---|
13025 | | - cmp w28, w25 |
---|
13026 | | - bls .L1884 |
---|
| 14540 | + ldrh w26, [x20, 20] |
---|
| 14541 | + add w26, w26, 63 |
---|
| 14542 | + and w26, w26, -64 |
---|
| 14543 | + cmp w27, w26 |
---|
| 14544 | + bls .L1898 |
---|
13027 | 14545 | ldrh w0, [x19, 14] |
---|
13028 | | - cmp w21, w0 |
---|
13029 | | - bhi .L1895 |
---|
13030 | | - add x27, x27, 2 |
---|
13031 | | - ldrh w22, [x22, 18] |
---|
13032 | | - add x27, x19, x27, lsl 3 |
---|
13033 | | - sub w26, w3, #1 |
---|
13034 | | -.L1885: |
---|
13035 | | - cmp w20, w26 |
---|
13036 | | - bcc .L1886 |
---|
13037 | | - add x20, x19, x20, uxtw 3 |
---|
13038 | | - and w22, w22, 65535 |
---|
13039 | | - add x0, x5, x22, uxth |
---|
13040 | | - uxtw x2, w28 |
---|
| 14546 | + cmp w0, w21 |
---|
| 14547 | + bcc .L1910 |
---|
| 14548 | + ldrh w6, [x20, 18] |
---|
| 14549 | + sub w24, w3, #1 |
---|
| 14550 | +.L1899: |
---|
| 14551 | + and w28, w6, 65535 |
---|
| 14552 | + add x20, x20, 8 |
---|
| 14553 | + cmp w24, w25 |
---|
| 14554 | + bhi .L1900 |
---|
| 14555 | + add x25, x19, w25, uxtw 3 |
---|
| 14556 | + add x0, x5, w28, uxth |
---|
| 14557 | + uxtw x2, w27 |
---|
13041 | 14558 | mov x1, x4 |
---|
13042 | 14559 | and w21, w21, 65535 |
---|
13043 | | - strh w22, [x20, 18] |
---|
13044 | | - add w22, w22, w21 |
---|
13045 | | - strh w6, [x20, 16] |
---|
13046 | | - strh w28, [x20, 20] |
---|
| 14560 | + strh w7, [x25, 16] |
---|
| 14561 | + strh w28, [x25, 18] |
---|
| 14562 | + add w28, w21, w28 |
---|
| 14563 | + strh w27, [x25, 20] |
---|
13047 | 14564 | bl memcpy |
---|
13048 | | - strh w22, [x19, 12] |
---|
| 14565 | + strh w28, [x19, 12] |
---|
13049 | 14566 | ldrh w0, [x19, 14] |
---|
13050 | 14567 | sub w21, w0, w21 |
---|
13051 | | - add w25, w21, w25 |
---|
13052 | | - strh w25, [x19, 14] |
---|
13053 | | -.L1897: |
---|
| 14568 | + add w26, w21, w26 |
---|
| 14569 | + strh w26, [x19, 14] |
---|
| 14570 | +.L1912: |
---|
13054 | 14571 | ldr w0, [x19, 4] |
---|
13055 | | - add x1, x19, 61440 |
---|
13056 | | - add x23, x23, :lo12:.LANCHOR0 |
---|
13057 | | - mov x2, x19 |
---|
| 14572 | + add x1, x19, 49152 |
---|
| 14573 | + ldr x3, [x22, 4000] |
---|
13058 | 14574 | add w0, w0, 1 |
---|
13059 | 14575 | str w0, [x19, 4] |
---|
13060 | | - str w0, [x1, 4092] |
---|
| 14576 | + mov x2, x19 |
---|
| 14577 | + str w0, [x1, 16380] |
---|
13061 | 14578 | mov w1, 128 |
---|
13062 | | - ldr x3, [x23, 4008] |
---|
13063 | 14579 | ldrh w0, [x19, 8] |
---|
13064 | 14580 | add w0, w0, 1 |
---|
13065 | 14581 | and w0, w0, 65535 |
---|
13066 | 14582 | cmp w0, 1 |
---|
13067 | 14583 | csel w0, w0, wzr, ls |
---|
13068 | 14584 | strh w0, [x19, 8] |
---|
13069 | | - lsl w0, w24, 7 |
---|
| 14585 | + lsl w0, w23, 7 |
---|
13070 | 14586 | blr x3 |
---|
13071 | 14587 | mov w0, 0 |
---|
13072 | | -.L1880: |
---|
| 14588 | +.L1895: |
---|
13073 | 14589 | ldp x19, x20, [sp, 16] |
---|
13074 | 14590 | ldp x21, x22, [sp, 32] |
---|
13075 | 14591 | ldp x23, x24, [sp, 48] |
---|
13076 | 14592 | ldp x25, x26, [sp, 64] |
---|
13077 | 14593 | ldp x27, x28, [sp, 80] |
---|
13078 | 14594 | ldp x29, x30, [sp], 128 |
---|
| 14595 | + hint 29 // autiasp |
---|
13079 | 14596 | ret |
---|
13080 | | -.L1886: |
---|
13081 | | - add w20, w20, 1 |
---|
13082 | | - str x4, [x29, 104] |
---|
13083 | | - add x0, x19, x20, uxtw 3 |
---|
13084 | | - str x5, [x29, 120] |
---|
13085 | | - add x27, x27, 8 |
---|
13086 | | - ldrh w1, [x0, 16] |
---|
13087 | | - strh w1, [x27, -8] |
---|
13088 | | - ldrh w1, [x0, 20] |
---|
13089 | | - strh w1, [x27, -4] |
---|
13090 | | - strh w22, [x27, -6] |
---|
13091 | | - ldrh w3, [x0, 20] |
---|
13092 | | - ldrh w1, [x0, 18] |
---|
13093 | | - add x0, x5, x22, uxtw |
---|
13094 | | - add w3, w3, 63 |
---|
13095 | | - and w3, w3, -64 |
---|
| 14597 | +.L1900: |
---|
| 14598 | + add w25, w25, 1 |
---|
| 14599 | + str x5, [sp, 104] |
---|
| 14600 | + stp w6, w7, [sp, 112] |
---|
| 14601 | + add x1, x19, w25, uxtw 3 |
---|
| 14602 | + str x4, [sp, 120] |
---|
| 14603 | + ldrh w0, [x1, 16] |
---|
| 14604 | + strh w0, [x20, 8] |
---|
| 14605 | + ldrh w0, [x1, 20] |
---|
| 14606 | + strh w28, [x20, 10] |
---|
| 14607 | + strh w0, [x20, 12] |
---|
| 14608 | + add x0, x5, w6, uxtw |
---|
| 14609 | + ldrh w2, [x1, 20] |
---|
| 14610 | + ldrh w1, [x1, 18] |
---|
| 14611 | + add w2, w2, 63 |
---|
| 14612 | + and w28, w2, -64 |
---|
13096 | 14613 | add x1, x5, x1 |
---|
13097 | | - and x2, x3, 131008 |
---|
13098 | | - stp w6, w3, [x29, 112] |
---|
| 14614 | + and x2, x2, 131008 |
---|
13099 | 14615 | bl memcpy |
---|
13100 | | - ldp w6, w3, [x29, 112] |
---|
13101 | | - ldr x4, [x29, 104] |
---|
13102 | | - add w22, w22, w3 |
---|
13103 | | - ldr x5, [x29, 120] |
---|
13104 | | - b .L1885 |
---|
13105 | | -.L1884: |
---|
13106 | | - ldrh w0, [x22, 18] |
---|
13107 | | - uxtw x2, w28 |
---|
| 14616 | + ldp w6, w7, [sp, 112] |
---|
| 14617 | + ldr x5, [sp, 104] |
---|
| 14618 | + add w6, w6, w28 |
---|
| 14619 | + ldr x4, [sp, 120] |
---|
| 14620 | + b .L1899 |
---|
| 14621 | +.L1898: |
---|
| 14622 | + ldrh w0, [x20, 18] |
---|
| 14623 | + uxtw x2, w27 |
---|
13108 | 14624 | mov x1, x4 |
---|
13109 | 14625 | add x0, x5, x0 |
---|
13110 | 14626 | bl memcpy |
---|
13111 | | - strh w28, [x22, 20] |
---|
| 14627 | + strh w27, [x20, 20] |
---|
| 14628 | + b .L1912 |
---|
| 14629 | +.L1908: |
---|
| 14630 | + mov x20, x1 |
---|
13112 | 14631 | b .L1897 |
---|
13113 | | -.L1883: |
---|
13114 | | - add w20, w20, 1 |
---|
13115 | | - b .L1882 |
---|
13116 | | -.L1895: |
---|
| 14632 | +.L1910: |
---|
13117 | 14633 | mov w0, -1 |
---|
13118 | | - b .L1880 |
---|
| 14634 | + b .L1895 |
---|
13119 | 14635 | .size rk_sftl_vendor_write, .-rk_sftl_vendor_write |
---|
| 14636 | + .section .rodata.str1.1 |
---|
| 14637 | +.LC134: |
---|
| 14638 | + .string "copy_from_user error %d %p %p\n" |
---|
| 14639 | + .text |
---|
13120 | 14640 | .align 2 |
---|
13121 | 14641 | .global rk_sftl_vendor_storage_ioctl |
---|
13122 | 14642 | .type rk_sftl_vendor_storage_ioctl, %function |
---|
13123 | 14643 | rk_sftl_vendor_storage_ioctl: |
---|
13124 | | - stp x29, x30, [sp, -64]! |
---|
| 14644 | + hint 34 // bti c |
---|
| 14645 | + .section __patchable_function_entries |
---|
| 14646 | + .align 3 |
---|
| 14647 | + .8byte .LPFE141 |
---|
| 14648 | + .text |
---|
| 14649 | +.LPFE141: |
---|
| 14650 | + nop |
---|
| 14651 | + nop |
---|
| 14652 | + hint 25 // paciasp |
---|
| 14653 | + stp x29, x30, [sp, -48]! |
---|
13125 | 14654 | mov w0, 4096 |
---|
13126 | | - add x29, sp, 0 |
---|
| 14655 | + mov x29, sp |
---|
13127 | 14656 | stp x19, x20, [sp, 16] |
---|
13128 | 14657 | mov x20, x2 |
---|
13129 | | - stp x21, x22, [sp, 32] |
---|
| 14658 | + str x21, [sp, 32] |
---|
13130 | 14659 | mov w21, w1 |
---|
13131 | | - str x23, [sp, 48] |
---|
13132 | 14660 | bl ftl_malloc |
---|
13133 | | - cbz x0, .L1920 |
---|
| 14661 | + cbz x0, .L1924 |
---|
| 14662 | + mov w1, 30209 |
---|
13134 | 14663 | mov x19, x0 |
---|
13135 | | - mov w0, 30209 |
---|
13136 | | - movk w0, 0x4004, lsl 16 |
---|
13137 | | - cmp w21, w0 |
---|
13138 | | - beq .L1901 |
---|
13139 | | - add w0, w0, 1 |
---|
13140 | | - cmp w21, w0 |
---|
13141 | | - beq .L1902 |
---|
13142 | | -.L1936: |
---|
| 14664 | + movk w1, 0x4004, lsl 16 |
---|
| 14665 | + cmp w21, w1 |
---|
| 14666 | + beq .L1915 |
---|
| 14667 | + add w1, w1, 1 |
---|
| 14668 | + cmp w21, w1 |
---|
| 14669 | + beq .L1916 |
---|
| 14670 | +.L1934: |
---|
13143 | 14671 | mov x20, -14 |
---|
13144 | | - b .L1900 |
---|
13145 | | -.L1901: |
---|
13146 | | -#APP |
---|
13147 | | -// 19 "./arch/arm64/include/asm/current.h" 1 |
---|
13148 | | - mrs x0, sp_el0 |
---|
13149 | | -// 0 "" 2 |
---|
13150 | | -#NO_APP |
---|
13151 | | - ldr w2, [x0, 44] |
---|
13152 | | - ldr x1, [x0, 8] |
---|
13153 | | - tbnz x2, 21, .L1903 |
---|
13154 | | - ldr x0, [x0] |
---|
13155 | | - tbz x0, 26, .L1922 |
---|
13156 | | -.L1903: |
---|
13157 | | - sbfx x0, x20, 0, 56 |
---|
13158 | | - and x0, x0, x20 |
---|
13159 | | -.L1904: |
---|
13160 | | -#APP |
---|
13161 | | -// 89 "./arch/arm64/include/asm/uaccess.h" 1 |
---|
13162 | | - adds x0, x0, 8 |
---|
13163 | | - csel x1, xzr, x1, hi |
---|
13164 | | - csinv x0, x0, xzr, cc |
---|
13165 | | - sbcs xzr, x0, x1 |
---|
13166 | | - cset x0, ls |
---|
13167 | | - |
---|
13168 | | -// 0 "" 2 |
---|
13169 | | -#NO_APP |
---|
13170 | | - cbz x0, .L1923 |
---|
13171 | | - sbfx x21, x20, 0, 56 |
---|
13172 | | -#APP |
---|
13173 | | -// 19 "./arch/arm64/include/asm/current.h" 1 |
---|
13174 | | - mrs x22, sp_el0 |
---|
13175 | | -// 0 "" 2 |
---|
13176 | | -#NO_APP |
---|
13177 | | - and x21, x21, x20 |
---|
13178 | | - ldr x0, [x22, 8] |
---|
13179 | | -#APP |
---|
13180 | | -// 249 "./arch/arm64/include/asm/uaccess.h" 1 |
---|
13181 | | - bics xzr, x21, x0 |
---|
13182 | | - csel x1, x20, xzr, eq |
---|
13183 | | - |
---|
13184 | | -// 0 "" 2 |
---|
13185 | | -// 257 "./arch/arm64/include/asm/uaccess.h" 1 |
---|
13186 | | - hint #20 |
---|
13187 | | -// 0 "" 2 |
---|
13188 | | -#NO_APP |
---|
13189 | | - mov x2, 8 |
---|
| 14672 | +.L1917: |
---|
13190 | 14673 | mov x0, x19 |
---|
13191 | | - bl __arch_copy_from_user |
---|
13192 | | - mov x2, x0 |
---|
13193 | | - cbz x0, .L1906 |
---|
13194 | | -.L1905: |
---|
13195 | | - sub x0, x19, x2 |
---|
13196 | | - mov w1, 0 |
---|
13197 | | - add x0, x0, 8 |
---|
13198 | | - bl memset |
---|
| 14674 | + bl kfree |
---|
| 14675 | +.L1913: |
---|
| 14676 | + mov x0, x20 |
---|
| 14677 | + ldp x19, x20, [sp, 16] |
---|
| 14678 | + ldr x21, [sp, 32] |
---|
| 14679 | + ldp x29, x30, [sp], 48 |
---|
| 14680 | + hint 29 // autiasp |
---|
| 14681 | + ret |
---|
| 14682 | +.L1915: |
---|
| 14683 | + mov x1, x20 |
---|
| 14684 | + mov x2, 8 |
---|
| 14685 | + bl _copy_from_user |
---|
| 14686 | + cbz x0, .L1918 |
---|
13199 | 14687 | mov x2, x20 |
---|
13200 | 14688 | mov w1, 256 |
---|
13201 | | -.L1938: |
---|
13202 | | - adrp x0, .LC133 |
---|
13203 | | - add x0, x0, :lo12:.LC133 |
---|
| 14689 | +.L1935: |
---|
| 14690 | + adrp x0, .LC134 |
---|
| 14691 | + add x0, x0, :lo12:.LC134 |
---|
13204 | 14692 | bl sftl_printk |
---|
13205 | | - b .L1936 |
---|
13206 | | -.L1922: |
---|
13207 | | - mov x0, x20 |
---|
13208 | | - b .L1904 |
---|
13209 | | -.L1923: |
---|
13210 | | - mov x2, 8 |
---|
13211 | | - b .L1905 |
---|
13212 | | -.L1907: |
---|
13213 | | - strh w0, [x19, 6] |
---|
13214 | | - and x2, x0, 65535 |
---|
13215 | | - add x2, x2, 8 |
---|
13216 | | - ldr w0, [x22, 44] |
---|
13217 | | - ldr x1, [x22, 8] |
---|
13218 | | - tbnz x0, 21, .L1924 |
---|
13219 | | - ldr x0, [x22] |
---|
13220 | | - tst x0, 67108864 |
---|
13221 | | - csel x0, x21, x20, ne |
---|
13222 | | -.L1908: |
---|
13223 | | -#APP |
---|
13224 | | -// 89 "./arch/arm64/include/asm/uaccess.h" 1 |
---|
13225 | | - adds x0, x0, x2 |
---|
13226 | | - csel x1, xzr, x1, hi |
---|
13227 | | - csinv x0, x0, xzr, cc |
---|
13228 | | - sbcs xzr, x0, x1 |
---|
13229 | | - cset x0, ls |
---|
13230 | | - |
---|
13231 | | -// 0 "" 2 |
---|
13232 | | -#NO_APP |
---|
13233 | | - cbz x0, .L1936 |
---|
13234 | | -#APP |
---|
13235 | | -// 19 "./arch/arm64/include/asm/current.h" 1 |
---|
13236 | | - mrs x0, sp_el0 |
---|
13237 | | -// 0 "" 2 |
---|
13238 | | -#NO_APP |
---|
13239 | | - ldr x1, [x0, 8] |
---|
13240 | | -#APP |
---|
13241 | | -// 249 "./arch/arm64/include/asm/uaccess.h" 1 |
---|
13242 | | - bics xzr, x21, x1 |
---|
13243 | | - csel x0, x20, xzr, eq |
---|
13244 | | - |
---|
13245 | | -// 0 "" 2 |
---|
13246 | | -// 257 "./arch/arm64/include/asm/uaccess.h" 1 |
---|
13247 | | - hint #20 |
---|
13248 | | -// 0 "" 2 |
---|
13249 | | -#NO_APP |
---|
13250 | | - mov x20, 0 |
---|
13251 | | - mov x1, x19 |
---|
13252 | | - bl __arch_copy_to_user |
---|
13253 | | - cbz x0, .L1900 |
---|
13254 | | - b .L1936 |
---|
13255 | | -.L1924: |
---|
13256 | | - mov x0, x21 |
---|
13257 | | - b .L1908 |
---|
13258 | | -.L1902: |
---|
13259 | | -#APP |
---|
13260 | | -// 19 "./arch/arm64/include/asm/current.h" 1 |
---|
13261 | | - mrs x0, sp_el0 |
---|
13262 | | -// 0 "" 2 |
---|
13263 | | -#NO_APP |
---|
13264 | | - ldr w2, [x0, 44] |
---|
13265 | | - ldr x1, [x0, 8] |
---|
13266 | | - tbnz x2, 21, .L1910 |
---|
13267 | | - ldr x0, [x0] |
---|
13268 | | - tbz x0, 26, .L1927 |
---|
13269 | | -.L1910: |
---|
13270 | | - sbfx x0, x20, 0, 56 |
---|
13271 | | - and x0, x0, x20 |
---|
13272 | | -.L1911: |
---|
13273 | | -#APP |
---|
13274 | | -// 89 "./arch/arm64/include/asm/uaccess.h" 1 |
---|
13275 | | - adds x0, x0, 8 |
---|
13276 | | - csel x1, xzr, x1, hi |
---|
13277 | | - csinv x0, x0, xzr, cc |
---|
13278 | | - sbcs xzr, x0, x1 |
---|
13279 | | - cset x0, ls |
---|
13280 | | - |
---|
13281 | | -// 0 "" 2 |
---|
13282 | | -#NO_APP |
---|
13283 | | - cbz x0, .L1928 |
---|
13284 | | - sbfx x22, x20, 0, 56 |
---|
13285 | | -#APP |
---|
13286 | | -// 19 "./arch/arm64/include/asm/current.h" 1 |
---|
13287 | | - mrs x23, sp_el0 |
---|
13288 | | -// 0 "" 2 |
---|
13289 | | -#NO_APP |
---|
13290 | | - and x22, x22, x20 |
---|
13291 | | - ldr x0, [x23, 8] |
---|
13292 | | -#APP |
---|
13293 | | -// 249 "./arch/arm64/include/asm/uaccess.h" 1 |
---|
13294 | | - bics xzr, x22, x0 |
---|
13295 | | - csel x1, x20, xzr, eq |
---|
13296 | | - |
---|
13297 | | -// 0 "" 2 |
---|
13298 | | -// 257 "./arch/arm64/include/asm/uaccess.h" 1 |
---|
13299 | | - hint #20 |
---|
13300 | | -// 0 "" 2 |
---|
13301 | | -#NO_APP |
---|
13302 | | - mov x2, 8 |
---|
13303 | | - mov x0, x19 |
---|
13304 | | - bl __arch_copy_from_user |
---|
13305 | | - mov x2, x0 |
---|
13306 | | - cbz x0, .L1913 |
---|
13307 | | -.L1912: |
---|
13308 | | - sub x0, x19, x2 |
---|
13309 | | - mov w1, 0 |
---|
13310 | | - add x0, x0, 8 |
---|
13311 | | - bl memset |
---|
13312 | | - mov x2, x20 |
---|
13313 | | - mov w1, 276 |
---|
13314 | | - b .L1938 |
---|
13315 | | -.L1927: |
---|
13316 | | - mov x0, x20 |
---|
13317 | | - b .L1911 |
---|
13318 | | -.L1928: |
---|
13319 | | - mov x2, 8 |
---|
13320 | | - b .L1912 |
---|
13321 | | -.L1929: |
---|
13322 | | - mov x0, x22 |
---|
13323 | | - b .L1915 |
---|
13324 | | -.L1931: |
---|
13325 | | - mov x0, x21 |
---|
13326 | | - b .L1916 |
---|
13327 | | -.L1920: |
---|
13328 | | - mov x20, -1 |
---|
13329 | | - b .L1898 |
---|
13330 | | -.L1906: |
---|
| 14693 | + b .L1934 |
---|
| 14694 | +.L1918: |
---|
13331 | 14695 | ldr w1, [x19] |
---|
13332 | 14696 | mov w0, 17745 |
---|
13333 | 14697 | movk w0, 0x5652, lsl 16 |
---|
13334 | 14698 | cmp w1, w0 |
---|
13335 | | - bne .L1914 |
---|
| 14699 | + beq .L1919 |
---|
| 14700 | +.L1920: |
---|
| 14701 | + mov x20, -1 |
---|
| 14702 | + b .L1917 |
---|
| 14703 | +.L1919: |
---|
13336 | 14704 | ldrh w2, [x19, 6] |
---|
13337 | 14705 | add x1, x19, 8 |
---|
13338 | 14706 | ldrh w0, [x19, 4] |
---|
13339 | 14707 | bl rk_sftl_vendor_read |
---|
13340 | 14708 | cmn w0, #1 |
---|
13341 | | - bne .L1907 |
---|
13342 | | -.L1914: |
---|
13343 | | - mov x20, -1 |
---|
13344 | | -.L1900: |
---|
13345 | | - mov x0, x19 |
---|
13346 | | - bl kfree |
---|
13347 | | -.L1898: |
---|
| 14709 | + beq .L1920 |
---|
| 14710 | + strh w0, [x19, 6] |
---|
| 14711 | + and x0, x0, 65535 |
---|
| 14712 | + add x21, x0, 8 |
---|
13348 | 14713 | mov x0, x20 |
---|
13349 | | - ldr x23, [sp, 48] |
---|
13350 | | - ldp x19, x20, [sp, 16] |
---|
13351 | | - ldp x21, x22, [sp, 32] |
---|
13352 | | - ldp x29, x30, [sp], 64 |
---|
13353 | | - ret |
---|
13354 | | -.L1913: |
---|
13355 | | - ldr w1, [x19] |
---|
13356 | | - mov w0, 17745 |
---|
13357 | | - movk w0, 0x5652, lsl 16 |
---|
13358 | | - cmp w1, w0 |
---|
13359 | | - bne .L1914 |
---|
13360 | | - ldrh w21, [x19, 6] |
---|
13361 | | - cmp w21, 4087 |
---|
13362 | | - bhi .L1914 |
---|
13363 | | - ldr w0, [x23, 44] |
---|
13364 | | - add w21, w21, 8 |
---|
13365 | | - sxtw x21, w21 |
---|
13366 | | - ldr x1, [x23, 8] |
---|
13367 | | - tbnz x0, 21, .L1929 |
---|
13368 | | - ldr x0, [x23] |
---|
13369 | | - tst x0, 67108864 |
---|
13370 | | - csel x0, x22, x20, ne |
---|
13371 | | -.L1915: |
---|
13372 | | -#APP |
---|
13373 | | -// 89 "./arch/arm64/include/asm/uaccess.h" 1 |
---|
13374 | | - adds x0, x0, x21 |
---|
13375 | | - csel x1, xzr, x1, hi |
---|
13376 | | - csinv x0, x0, xzr, cc |
---|
13377 | | - sbcs xzr, x0, x1 |
---|
13378 | | - cset x0, ls |
---|
13379 | | - |
---|
13380 | | -// 0 "" 2 |
---|
13381 | | -#NO_APP |
---|
13382 | | - cbz x0, .L1931 |
---|
| 14714 | + mov x1, x21 |
---|
| 14715 | + bl __range_ok |
---|
| 14716 | + cbz x0, .L1934 |
---|
| 14717 | + bl uaccess_enable_not_uao |
---|
| 14718 | + sbfx x1, x20, 0, 56 |
---|
13383 | 14719 | #APP |
---|
13384 | 14720 | // 19 "./arch/arm64/include/asm/current.h" 1 |
---|
13385 | 14721 | mrs x0, sp_el0 |
---|
13386 | 14722 | // 0 "" 2 |
---|
13387 | 14723 | #NO_APP |
---|
13388 | | - ldr x0, [x0, 8] |
---|
| 14724 | + and x1, x1, x20 |
---|
| 14725 | + ldr x2, [x0, 8] |
---|
13389 | 14726 | #APP |
---|
13390 | | -// 249 "./arch/arm64/include/asm/uaccess.h" 1 |
---|
13391 | | - bics xzr, x22, x0 |
---|
13392 | | - csel x1, x20, xzr, eq |
---|
| 14727 | +// 289 "./arch/arm64/include/asm/uaccess.h" 1 |
---|
| 14728 | + bics xzr, x1, x2 |
---|
| 14729 | + csel x0, x20, xzr, eq |
---|
13393 | 14730 | |
---|
13394 | 14731 | // 0 "" 2 |
---|
13395 | | -// 257 "./arch/arm64/include/asm/uaccess.h" 1 |
---|
| 14732 | +// 297 "./arch/arm64/include/asm/uaccess.h" 1 |
---|
13396 | 14733 | hint #20 |
---|
13397 | 14734 | // 0 "" 2 |
---|
13398 | 14735 | #NO_APP |
---|
13399 | 14736 | mov x2, x21 |
---|
13400 | | - mov x0, x19 |
---|
13401 | | - bl __arch_copy_from_user |
---|
13402 | | - cbz x0, .L1917 |
---|
| 14737 | + mov x1, x19 |
---|
| 14738 | + mov x20, 0 |
---|
| 14739 | + bl __arch_copy_to_user |
---|
| 14740 | + mov x21, x0 |
---|
| 14741 | + bl uaccess_disable_not_uao |
---|
| 14742 | + cbz x21, .L1917 |
---|
| 14743 | + b .L1934 |
---|
13403 | 14744 | .L1916: |
---|
13404 | | - sub x21, x21, x0 |
---|
13405 | | - mov x2, x0 |
---|
13406 | | - mov w1, 0 |
---|
13407 | | - add x0, x19, x21 |
---|
13408 | | - bl memset |
---|
| 14745 | + mov x1, x20 |
---|
| 14746 | + mov x2, 8 |
---|
| 14747 | + bl _copy_from_user |
---|
| 14748 | + cbz x0, .L1922 |
---|
| 14749 | + mov x2, x20 |
---|
| 14750 | + mov w1, 276 |
---|
| 14751 | + b .L1935 |
---|
| 14752 | +.L1922: |
---|
| 14753 | + ldr w1, [x19] |
---|
| 14754 | + mov w0, 17745 |
---|
| 14755 | + movk w0, 0x5652, lsl 16 |
---|
| 14756 | + cmp w1, w0 |
---|
| 14757 | + bne .L1920 |
---|
| 14758 | + ldrh w2, [x19, 6] |
---|
| 14759 | + cmp w2, 4087 |
---|
| 14760 | + bhi .L1920 |
---|
| 14761 | + add w2, w2, 8 |
---|
| 14762 | + mov x1, x20 |
---|
| 14763 | + and x2, x2, 65535 |
---|
| 14764 | + mov x0, x19 |
---|
| 14765 | + bl _copy_from_user |
---|
| 14766 | + cbz x0, .L1923 |
---|
13409 | 14767 | mov x2, x20 |
---|
13410 | 14768 | mov w1, 283 |
---|
13411 | | - b .L1938 |
---|
13412 | | -.L1917: |
---|
| 14769 | + b .L1935 |
---|
| 14770 | +.L1923: |
---|
13413 | 14771 | ldrh w2, [x19, 6] |
---|
13414 | 14772 | add x1, x19, 8 |
---|
13415 | 14773 | ldrh w0, [x19, 4] |
---|
13416 | 14774 | bl rk_sftl_vendor_write |
---|
13417 | 14775 | sxtw x20, w0 |
---|
13418 | | - b .L1900 |
---|
| 14776 | + b .L1917 |
---|
| 14777 | +.L1924: |
---|
| 14778 | + mov x20, -1 |
---|
| 14779 | + b .L1913 |
---|
13419 | 14780 | .size rk_sftl_vendor_storage_ioctl, .-rk_sftl_vendor_storage_ioctl |
---|
13420 | 14781 | .align 2 |
---|
13421 | 14782 | .global rk_sftl_vendor_register |
---|
13422 | 14783 | .type rk_sftl_vendor_register, %function |
---|
13423 | 14784 | rk_sftl_vendor_register: |
---|
| 14785 | + hint 34 // bti c |
---|
| 14786 | + .section __patchable_function_entries |
---|
| 14787 | + .align 3 |
---|
| 14788 | + .8byte .LPFE142 |
---|
| 14789 | + .text |
---|
| 14790 | +.LPFE142: |
---|
| 14791 | + nop |
---|
| 14792 | + nop |
---|
| 14793 | + hint 25 // paciasp |
---|
13424 | 14794 | stp x29, x30, [sp, -16]! |
---|
13425 | 14795 | adrp x0, .LANCHOR2 |
---|
| 14796 | + mov x29, sp |
---|
13426 | 14797 | add x0, x0, :lo12:.LANCHOR2 |
---|
13427 | | - add x29, sp, 0 |
---|
13428 | 14798 | add x0, x0, 16 |
---|
13429 | 14799 | bl misc_register |
---|
13430 | 14800 | ldp x29, x30, [sp], 16 |
---|
| 14801 | + hint 29 // autiasp |
---|
13431 | 14802 | ret |
---|
13432 | 14803 | .size rk_sftl_vendor_register, .-rk_sftl_vendor_register |
---|
| 14804 | + .section .rodata.str1.1 |
---|
| 14805 | +.LC135: |
---|
| 14806 | + .string "vendor_storage" |
---|
13433 | 14807 | .global g_nand_ops |
---|
13434 | 14808 | .global g_nand_phy_info |
---|
13435 | 14809 | .global gc_ink_free_return_value |
---|
.. | .. |
---|
13581 | 14955 | .section .rodata |
---|
13582 | 14956 | .align 3 |
---|
13583 | 14957 | .set .LANCHOR1,. + 0 |
---|
13584 | | - .type __func__.5954, %object |
---|
13585 | | - .size __func__.5954, 17 |
---|
13586 | | -__func__.5954: |
---|
| 14958 | + .type __func__.30, %object |
---|
| 14959 | + .size __func__.30, 17 |
---|
| 14960 | +__func__.30: |
---|
13587 | 14961 | .string "INSERT_DATA_LIST" |
---|
13588 | | - .zero 7 |
---|
13589 | | - .type __func__.5949, %object |
---|
13590 | | - .size __func__.5949, 17 |
---|
13591 | | -__func__.5949: |
---|
| 14962 | + .type __func__.31, %object |
---|
| 14963 | + .size __func__.31, 17 |
---|
| 14964 | +__func__.31: |
---|
13592 | 14965 | .string "INSERT_FREE_LIST" |
---|
13593 | | - .zero 7 |
---|
13594 | | - .type __func__.5985, %object |
---|
13595 | | - .size __func__.5985, 17 |
---|
13596 | | -__func__.5985: |
---|
| 14966 | + .type __func__.29, %object |
---|
| 14967 | + .size __func__.29, 17 |
---|
| 14968 | +__func__.29: |
---|
13597 | 14969 | .string "List_remove_node" |
---|
13598 | | - .zero 7 |
---|
13599 | | - .type __func__.6017, %object |
---|
13600 | | - .size __func__.6017, 22 |
---|
13601 | | -__func__.6017: |
---|
| 14970 | + .type __func__.28, %object |
---|
| 14971 | + .size __func__.28, 22 |
---|
| 14972 | +__func__.28: |
---|
13602 | 14973 | .string "List_update_data_list" |
---|
13603 | | - .zero 2 |
---|
13604 | | - .type __func__.6124, %object |
---|
13605 | | - .size __func__.6124, 22 |
---|
13606 | | -__func__.6124: |
---|
| 14974 | + .type __func__.22, %object |
---|
| 14975 | + .size __func__.22, 22 |
---|
| 14976 | +__func__.22: |
---|
13607 | 14977 | .string "select_l2p_ram_region" |
---|
13608 | | - .zero 2 |
---|
13609 | | - .type __func__.6444, %object |
---|
13610 | | - .size __func__.6444, 16 |
---|
13611 | | -__func__.6444: |
---|
| 14978 | + .type __func__.14, %object |
---|
| 14979 | + .size __func__.14, 16 |
---|
| 14980 | +__func__.14: |
---|
13612 | 14981 | .string "make_superblock" |
---|
13613 | | - .type __func__.6620, %object |
---|
13614 | | - .size __func__.6620, 19 |
---|
13615 | | -__func__.6620: |
---|
| 14982 | + .type __func__.8, %object |
---|
| 14983 | + .size __func__.8, 19 |
---|
| 14984 | +__func__.8: |
---|
13616 | 14985 | .string "get_new_active_ppa" |
---|
13617 | | - .zero 5 |
---|
13618 | | - .type __func__.13529, %object |
---|
13619 | | - .size __func__.13529, 17 |
---|
13620 | | -__func__.13529: |
---|
| 14986 | + .type __func__.1, %object |
---|
| 14987 | + .size __func__.1, 17 |
---|
| 14988 | +__func__.1: |
---|
13621 | 14989 | .string "FlashEraseBlocks" |
---|
13622 | | - .zero 7 |
---|
13623 | | - .type __func__.6059, %object |
---|
13624 | | - .size __func__.6059, 26 |
---|
13625 | | -__func__.6059: |
---|
| 14990 | + .type __func__.26, %object |
---|
| 14991 | + .size __func__.26, 26 |
---|
| 14992 | +__func__.26: |
---|
13626 | 14993 | .string "ftl_map_blk_alloc_new_blk" |
---|
13627 | | - .zero 6 |
---|
13628 | | - .type __func__.5564, %object |
---|
13629 | | - .size __func__.5564, 11 |
---|
13630 | | -__func__.5564: |
---|
| 14994 | + .type __func__.37, %object |
---|
| 14995 | + .size __func__.37, 11 |
---|
| 14996 | +__func__.37: |
---|
13631 | 14997 | .string "FtlMemInit" |
---|
13632 | | - .zero 5 |
---|
13633 | | - .type __func__.5791, %object |
---|
13634 | | - .size __func__.5791, 14 |
---|
13635 | | -__func__.5791: |
---|
| 14998 | + .type __func__.34, %object |
---|
| 14999 | + .size __func__.34, 14 |
---|
| 15000 | +__func__.34: |
---|
13636 | 15001 | .string "FtlBbt2Bitmap" |
---|
13637 | | - .zero 2 |
---|
13638 | | - .type __func__.6465, %object |
---|
13639 | | - .size __func__.6465, 18 |
---|
13640 | | -__func__.6465: |
---|
| 15002 | + .type __func__.13, %object |
---|
| 15003 | + .size __func__.13, 18 |
---|
| 15004 | +__func__.13: |
---|
13641 | 15005 | .string "SupperBlkListInit" |
---|
13642 | | - .zero 6 |
---|
13643 | | - .type __func__.13486, %object |
---|
13644 | | - .size __func__.13486, 15 |
---|
13645 | | -__func__.13486: |
---|
| 15006 | + .type __func__.3, %object |
---|
| 15007 | + .size __func__.3, 15 |
---|
| 15008 | +__func__.3: |
---|
13646 | 15009 | .string "FlashReadPages" |
---|
13647 | | - .zero 1 |
---|
13648 | | - .type __func__.6236, %object |
---|
13649 | | - .size __func__.6236, 14 |
---|
13650 | | -__func__.6236: |
---|
| 15010 | + .type __func__.19, %object |
---|
| 15011 | + .size __func__.19, 14 |
---|
| 15012 | +__func__.19: |
---|
13651 | 15013 | .string "FtlScanSysBlk" |
---|
13652 | | - .zero 2 |
---|
13653 | | - .type __func__.5834, %object |
---|
13654 | | - .size __func__.5834, 11 |
---|
13655 | | -__func__.5834: |
---|
| 15014 | + .type __func__.32, %object |
---|
| 15015 | + .size __func__.32, 11 |
---|
| 15016 | +__func__.32: |
---|
13656 | 15017 | .string "FtlLoadBbt" |
---|
13657 | | - .zero 5 |
---|
13658 | | - .type __func__.13505, %object |
---|
13659 | | - .size __func__.13505, 15 |
---|
13660 | | -__func__.13505: |
---|
| 15018 | + .type __func__.2, %object |
---|
| 15019 | + .size __func__.2, 15 |
---|
| 15020 | +__func__.2: |
---|
13661 | 15021 | .string "FlashProgPages" |
---|
13662 | | - .zero 1 |
---|
13663 | | - .type __func__.6592, %object |
---|
13664 | | - .size __func__.6592, 25 |
---|
13665 | | -__func__.6592: |
---|
| 15022 | + .type __func__.10, %object |
---|
| 15023 | + .size __func__.10, 25 |
---|
| 15024 | +__func__.10: |
---|
13666 | 15025 | .string "allocate_data_superblock" |
---|
13667 | | - .zero 7 |
---|
13668 | | - .type __func__.6633, %object |
---|
13669 | | - .size __func__.6633, 16 |
---|
13670 | | -__func__.6633: |
---|
| 15026 | + .type __func__.7, %object |
---|
| 15027 | + .size __func__.7, 16 |
---|
| 15028 | +__func__.7: |
---|
13671 | 15029 | .string "update_vpc_list" |
---|
13672 | | - .type __func__.6640, %object |
---|
13673 | | - .size __func__.6640, 20 |
---|
13674 | | -__func__.6640: |
---|
| 15030 | + .type __func__.6, %object |
---|
| 15031 | + .size __func__.6, 20 |
---|
| 15032 | +__func__.6: |
---|
13675 | 15033 | .string "decrement_vpc_count" |
---|
13676 | | - .zero 4 |
---|
13677 | | - .type __func__.6085, %object |
---|
13678 | | - .size __func__.6085, 31 |
---|
13679 | | -__func__.6085: |
---|
13680 | | - .string "Ftl_write_map_blk_to_last_page" |
---|
13681 | | - .zero 1 |
---|
13682 | | - .type __func__.6099, %object |
---|
13683 | | - .size __func__.6099, 16 |
---|
13684 | | -__func__.6099: |
---|
| 15034 | + .type __func__.23, %object |
---|
| 15035 | + .size __func__.23, 16 |
---|
| 15036 | +__func__.23: |
---|
13685 | 15037 | .string "FtlMapWritePage" |
---|
13686 | | - .type __func__.6026, %object |
---|
13687 | | - .size __func__.6026, 16 |
---|
13688 | | -__func__.6026: |
---|
| 15038 | + .type __func__.27, %object |
---|
| 15039 | + .size __func__.27, 16 |
---|
| 15040 | +__func__.27: |
---|
13689 | 15041 | .string "load_l2p_region" |
---|
13690 | | - .type __func__.6070, %object |
---|
13691 | | - .size __func__.6070, 15 |
---|
13692 | | -__func__.6070: |
---|
| 15042 | + .type __func__.25, %object |
---|
| 15043 | + .size __func__.25, 15 |
---|
| 15044 | +__func__.25: |
---|
13693 | 15045 | .string "ftl_map_blk_gc" |
---|
13694 | | - .zero 1 |
---|
13695 | | - .type __func__.6141, %object |
---|
13696 | | - .size __func__.6141, 9 |
---|
13697 | | -__func__.6141: |
---|
| 15046 | + .type __func__.24, %object |
---|
| 15047 | + .size __func__.24, 31 |
---|
| 15048 | +__func__.24: |
---|
| 15049 | + .string "Ftl_write_map_blk_to_last_page" |
---|
| 15050 | + .type __func__.21, %object |
---|
| 15051 | + .size __func__.21, 9 |
---|
| 15052 | +__func__.21: |
---|
13698 | 15053 | .string "log2phys" |
---|
13699 | | - .zero 7 |
---|
13700 | | - .type __func__.6353, %object |
---|
13701 | | - .size __func__.6353, 16 |
---|
13702 | | -__func__.6353: |
---|
| 15054 | + .type __func__.16, %object |
---|
| 15055 | + .size __func__.16, 16 |
---|
| 15056 | +__func__.16: |
---|
13703 | 15057 | .string "FtlReUsePrevPpa" |
---|
13704 | | - .type __func__.6387, %object |
---|
13705 | | - .size __func__.6387, 22 |
---|
13706 | | -__func__.6387: |
---|
| 15058 | + .type __func__.15, %object |
---|
| 15059 | + .size __func__.15, 22 |
---|
| 15060 | +__func__.15: |
---|
13707 | 15061 | .string "FtlRecoverySuperblock" |
---|
13708 | | - .zero 2 |
---|
13709 | | - .type __func__.6507, %object |
---|
13710 | | - .size __func__.6507, 14 |
---|
13711 | | -__func__.6507: |
---|
| 15062 | + .type __func__.11, %object |
---|
| 15063 | + .size __func__.11, 14 |
---|
| 15064 | +__func__.11: |
---|
13712 | 15065 | .string "ftl_check_vpc" |
---|
13713 | | - .zero 2 |
---|
13714 | | - .type __func__.6214, %object |
---|
13715 | | - .size __func__.6214, 15 |
---|
13716 | | -__func__.6214: |
---|
| 15066 | + .type __func__.20, %object |
---|
| 15067 | + .size __func__.20, 15 |
---|
| 15068 | +__func__.20: |
---|
13717 | 15069 | .string "FtlVpcTblFlush" |
---|
13718 | | - .zero 1 |
---|
13719 | | - .type __func__.6490, %object |
---|
13720 | | - .size __func__.6490, 21 |
---|
13721 | | -__func__.6490: |
---|
| 15070 | + .type __func__.12, %object |
---|
| 15071 | + .size __func__.12, 21 |
---|
| 15072 | +__func__.12: |
---|
13722 | 15073 | .string "FtlVpcCheckAndModify" |
---|
13723 | | - .zero 3 |
---|
13724 | | - .type __func__.6613, %object |
---|
13725 | | - .size __func__.6613, 29 |
---|
13726 | | -__func__.6613: |
---|
| 15074 | + .type __func__.9, %object |
---|
| 15075 | + .size __func__.9, 29 |
---|
| 15076 | +__func__.9: |
---|
13727 | 15077 | .string "allocate_new_data_superblock" |
---|
13728 | | - .zero 3 |
---|
13729 | | - .type __func__.5688, %object |
---|
13730 | | - .size __func__.5688, 13 |
---|
13731 | | -__func__.5688: |
---|
| 15078 | + .type __func__.36, %object |
---|
| 15079 | + .size __func__.36, 13 |
---|
| 15080 | +__func__.36: |
---|
13732 | 15081 | .string "FtlProgPages" |
---|
13733 | | - .zero 3 |
---|
13734 | | - .type __func__.6710, %object |
---|
13735 | | - .size __func__.6710, 19 |
---|
13736 | | -__func__.6710: |
---|
| 15082 | + .type __func__.5, %object |
---|
| 15083 | + .size __func__.5, 19 |
---|
| 15084 | +__func__.5: |
---|
13737 | 15085 | .string "FtlGcFreeTempBlock" |
---|
13738 | | - .zero 5 |
---|
13739 | | - .type __func__.6823, %object |
---|
13740 | | - .size __func__.6823, 23 |
---|
13741 | | -__func__.6823: |
---|
| 15086 | + .type __func__.4, %object |
---|
| 15087 | + .size __func__.4, 23 |
---|
| 15088 | +__func__.4: |
---|
13742 | 15089 | .string "rk_ftl_garbage_collect" |
---|
13743 | | - .zero 1 |
---|
13744 | | - .type __func__.5716, %object |
---|
13745 | | - .size __func__.5716, 9 |
---|
13746 | | -__func__.5716: |
---|
| 15090 | + .type __func__.35, %object |
---|
| 15091 | + .size __func__.35, 9 |
---|
| 15092 | +__func__.35: |
---|
13747 | 15093 | .string "FtlWrite" |
---|
13748 | | - .zero 7 |
---|
13749 | | - .type __func__.6285, %object |
---|
13750 | | - .size __func__.6285, 15 |
---|
13751 | | -__func__.6285: |
---|
| 15094 | + .type __func__.18, %object |
---|
| 15095 | + .size __func__.18, 15 |
---|
| 15096 | +__func__.18: |
---|
13752 | 15097 | .string "FtlLoadSysInfo" |
---|
13753 | | - .zero 1 |
---|
13754 | | - .type __func__.6307, %object |
---|
13755 | | - .size __func__.6307, 18 |
---|
13756 | | -__func__.6307: |
---|
| 15098 | + .type __func__.17, %object |
---|
| 15099 | + .size __func__.17, 18 |
---|
| 15100 | +__func__.17: |
---|
13757 | 15101 | .string "FtlMapTblRecovery" |
---|
13758 | | - .zero 6 |
---|
13759 | | - .type __func__.13648, %object |
---|
13760 | | - .size __func__.13648, 14 |
---|
13761 | | -__func__.13648: |
---|
| 15102 | + .type __func__.0, %object |
---|
| 15103 | + .size __func__.0, 14 |
---|
| 15104 | +__func__.0: |
---|
13762 | 15105 | .string "FtlWriteToIDB" |
---|
13763 | | - .zero 2 |
---|
| 15106 | + .zero 1 |
---|
13764 | 15107 | .type rk_sftl_vendor_storage_fops, %object |
---|
13765 | | - .size rk_sftl_vendor_storage_fops, 288 |
---|
| 15108 | + .size rk_sftl_vendor_storage_fops, 256 |
---|
13766 | 15109 | rk_sftl_vendor_storage_fops: |
---|
13767 | | - .zero 72 |
---|
| 15110 | + .zero 80 |
---|
13768 | 15111 | .xword rk_sftl_vendor_storage_ioctl |
---|
13769 | 15112 | .xword rk_sftl_vendor_storage_ioctl |
---|
13770 | | - .zero 200 |
---|
| 15113 | + .zero 160 |
---|
13771 | 15114 | .data |
---|
13772 | 15115 | .align 3 |
---|
13773 | 15116 | .set .LANCHOR2,. + 0 |
---|
.. | .. |
---|
13790 | 15133 | rkflash_vender_storage_dev: |
---|
13791 | 15134 | .word 255 |
---|
13792 | 15135 | .zero 4 |
---|
13793 | | - .xword .LC134 |
---|
| 15136 | + .xword .LC135 |
---|
13794 | 15137 | .xword rk_sftl_vendor_storage_fops |
---|
13795 | 15138 | .zero 56 |
---|
13796 | 15139 | .bss |
---|
.. | .. |
---|
14178 | 15521 | .size g_gc_bad_block_temp_num, 2 |
---|
14179 | 15522 | g_gc_bad_block_temp_num: |
---|
14180 | 15523 | .zero 2 |
---|
14181 | | - .zero 6 |
---|
14182 | 15524 | .type g_gc_bad_block_temp_tbl, %object |
---|
14183 | 15525 | .size g_gc_bad_block_temp_tbl, 34 |
---|
14184 | 15526 | g_gc_bad_block_temp_tbl: |
---|
.. | .. |
---|
14187 | 15529 | .size g_gc_bad_block_gc_index, 2 |
---|
14188 | 15530 | g_gc_bad_block_gc_index: |
---|
14189 | 15531 | .zero 2 |
---|
14190 | | - .zero 4 |
---|
| 15532 | + .zero 2 |
---|
14191 | 15533 | .type g_nand_ops, %object |
---|
14192 | 15534 | .size g_nand_ops, 48 |
---|
14193 | 15535 | g_nand_ops: |
---|
.. | .. |
---|
14426 | 15768 | .size gp_last_act_superblock, 8 |
---|
14427 | 15769 | gp_last_act_superblock: |
---|
14428 | 15770 | .zero 8 |
---|
14429 | | - .section .rodata.str1.1,"aMS",@progbits,1 |
---|
14430 | | -.LC0: |
---|
14431 | | - .string "SFTL version: 5.0.58 20220814" |
---|
14432 | | -.LC1: |
---|
14433 | | - .string "\n%s\n" |
---|
14434 | | -.LC2: |
---|
14435 | | - .string "act blk: %x %x %x %x %x %x\n" |
---|
14436 | | -.LC3: |
---|
14437 | | - .string "buf blk: %x %x %x %x %x %x\n" |
---|
14438 | | -.LC4: |
---|
14439 | | - .string "tmp blk: %x %x %x %x %x %x\n" |
---|
14440 | | -.LC5: |
---|
14441 | | - .string "gc blk: %x %x %x %x %x %x\n" |
---|
14442 | | -.LC6: |
---|
14443 | | - .string "free blk: %x %x %x\n" |
---|
14444 | | -.LC7: |
---|
14445 | | - .string "phyBlk = 0x%x die = %d block_in_die = 0x%x 0x%8x\n" |
---|
14446 | | -.LC8: |
---|
14447 | | - .string "\n!!!!! error @ func:%s - line:%d\n" |
---|
14448 | | -.LC9: |
---|
14449 | | - .string "FLASH INFO:\n" |
---|
14450 | | -.LC10: |
---|
14451 | | - .string "Device Capacity: %d MB\n" |
---|
14452 | | -.LC11: |
---|
14453 | | - .string "FTL INFO:\n" |
---|
14454 | | -.LC12: |
---|
14455 | | - .string "g_MaxLpn = 0x%x\n" |
---|
14456 | | -.LC13: |
---|
14457 | | - .string "g_VaildLpn = 0x%x\n" |
---|
14458 | | -.LC14: |
---|
14459 | | - .string "read_page_count = 0x%x\n" |
---|
14460 | | -.LC15: |
---|
14461 | | - .string "discard_page_count = 0x%x\n" |
---|
14462 | | -.LC16: |
---|
14463 | | - .string "write_page_count = 0x%x\n" |
---|
14464 | | -.LC17: |
---|
14465 | | - .string "cache_write_count = 0x%x\n" |
---|
14466 | | -.LC18: |
---|
14467 | | - .string "l2p_write_count = 0x%x\n" |
---|
14468 | | -.LC19: |
---|
14469 | | - .string "gc_page_count = 0x%x\n" |
---|
14470 | | -.LC20: |
---|
14471 | | - .string "totle_write = %d MB\n" |
---|
14472 | | -.LC21: |
---|
14473 | | - .string "totle_read = %d MB\n" |
---|
14474 | | -.LC22: |
---|
14475 | | - .string "GSV = 0x%x\n" |
---|
14476 | | -.LC23: |
---|
14477 | | - .string "GDV = 0x%x\n" |
---|
14478 | | -.LC24: |
---|
14479 | | - .string "bad blk num = %d\n" |
---|
14480 | | -.LC25: |
---|
14481 | | - .string "free_superblocks = 0x%x\n" |
---|
14482 | | -.LC26: |
---|
14483 | | - .string "mlc_EC = 0x%x\n" |
---|
14484 | | -.LC27: |
---|
14485 | | - .string "slc_EC = 0x%x\n" |
---|
14486 | | -.LC28: |
---|
14487 | | - .string "avg_EC = 0x%x\n" |
---|
14488 | | -.LC29: |
---|
14489 | | - .string "sys_EC = 0x%x\n" |
---|
14490 | | -.LC30: |
---|
14491 | | - .string "max_EC = 0x%x\n" |
---|
14492 | | -.LC31: |
---|
14493 | | - .string "min_EC = 0x%x\n" |
---|
14494 | | -.LC32: |
---|
14495 | | - .string "PLT = 0x%x\n" |
---|
14496 | | -.LC33: |
---|
14497 | | - .string "POT = 0x%x\n" |
---|
14498 | | -.LC34: |
---|
14499 | | - .string "MaxSector = 0x%x\n" |
---|
14500 | | -.LC35: |
---|
14501 | | - .string "init_sys_blks_pp = 0x%x\n" |
---|
14502 | | -.LC36: |
---|
14503 | | - .string "sys_blks_pp = 0x%x\n" |
---|
14504 | | -.LC37: |
---|
14505 | | - .string "free sysblock = 0x%x\n" |
---|
14506 | | -.LC38: |
---|
14507 | | - .string "data_blks_pp = 0x%x\n" |
---|
14508 | | -.LC39: |
---|
14509 | | - .string "data_op_blks_pp = 0x%x\n" |
---|
14510 | | -.LC40: |
---|
14511 | | - .string "max_data_blks = 0x%x\n" |
---|
14512 | | -.LC41: |
---|
14513 | | - .string "Sys.id = 0x%x\n" |
---|
14514 | | -.LC42: |
---|
14515 | | - .string "Bbt.id = 0x%x\n" |
---|
14516 | | -.LC43: |
---|
14517 | | - .string "ACT.page = 0x%x\n" |
---|
14518 | | -.LC44: |
---|
14519 | | - .string "ACT.plane = 0x%x\n" |
---|
14520 | | -.LC45: |
---|
14521 | | - .string "ACT.id = 0x%x\n" |
---|
14522 | | -.LC46: |
---|
14523 | | - .string "ACT.mode = 0x%x\n" |
---|
14524 | | -.LC47: |
---|
14525 | | - .string "ACT.a_pages = 0x%x\n" |
---|
14526 | | -.LC48: |
---|
14527 | | - .string "ACT VPC = 0x%x\n" |
---|
14528 | | -.LC49: |
---|
14529 | | - .string "BUF.page = 0x%x\n" |
---|
14530 | | -.LC50: |
---|
14531 | | - .string "BUF.plane = 0x%x\n" |
---|
14532 | | -.LC51: |
---|
14533 | | - .string "BUF.id = 0x%x\n" |
---|
14534 | | -.LC52: |
---|
14535 | | - .string "BUF.mode = 0x%x\n" |
---|
14536 | | -.LC53: |
---|
14537 | | - .string "BUF.a_pages = 0x%x\n" |
---|
14538 | | -.LC54: |
---|
14539 | | - .string "BUF VPC = 0x%x\n" |
---|
14540 | | -.LC55: |
---|
14541 | | - .string "TMP.page = 0x%x\n" |
---|
14542 | | -.LC56: |
---|
14543 | | - .string "TMP.plane = 0x%x\n" |
---|
14544 | | -.LC57: |
---|
14545 | | - .string "TMP.id = 0x%x\n" |
---|
14546 | | -.LC58: |
---|
14547 | | - .string "TMP.mode = 0x%x\n" |
---|
14548 | | -.LC59: |
---|
14549 | | - .string "TMP.a_pages = 0x%x\n" |
---|
14550 | | -.LC60: |
---|
14551 | | - .string "GC.page = 0x%x\n" |
---|
14552 | | -.LC61: |
---|
14553 | | - .string "GC.plane = 0x%x\n" |
---|
14554 | | -.LC62: |
---|
14555 | | - .string "GC.id = 0x%x\n" |
---|
14556 | | -.LC63: |
---|
14557 | | - .string "GC.mode = 0x%x\n" |
---|
14558 | | -.LC64: |
---|
14559 | | - .string "GC.a_pages = 0x%x\n" |
---|
14560 | | -.LC65: |
---|
14561 | | - .string "WR_CHK = %x %x %x\n" |
---|
14562 | | -.LC66: |
---|
14563 | | - .string "Read Err Cnt = 0x%x\n" |
---|
14564 | | -.LC67: |
---|
14565 | | - .string "Prog Err Cnt = 0x%x\n" |
---|
14566 | | -.LC68: |
---|
14567 | | - .string "gc_free_blk_th= 0x%x\n" |
---|
14568 | | -.LC69: |
---|
14569 | | - .string "gc_merge_free_blk_th= 0x%x\n" |
---|
14570 | | -.LC70: |
---|
14571 | | - .string "gc_skip_write_count= 0x%x\n" |
---|
14572 | | -.LC71: |
---|
14573 | | - .string "gc_blk_index= 0x%x\n" |
---|
14574 | | -.LC72: |
---|
14575 | | - .string "free min EC= 0x%x\n" |
---|
14576 | | -.LC73: |
---|
14577 | | - .string "free max EC= 0x%x\n" |
---|
14578 | | -.LC74: |
---|
14579 | | - .string "GC__SB VPC = 0x%x\n" |
---|
14580 | | -.LC75: |
---|
14581 | | - .string "%d. [0x%x]=0x%x 0x%x 0x%x\n" |
---|
14582 | | -.LC76: |
---|
14583 | | - .string "free %d. [0x%x] 0x%x 0x%x\n" |
---|
14584 | | -.LC77: |
---|
14585 | | - .string "%s\n" |
---|
14586 | | -.LC78: |
---|
14587 | | - .string "swblk %x ,avg = %x max= %x vpc= %x,ec=%x ,max ec=%x\n" |
---|
14588 | | -.LC79: |
---|
14589 | | - .string "FtlGcRefreshBlock 0x%x\n" |
---|
14590 | | -.LC80: |
---|
14591 | | - .string "FtlGcMarkBadPhyBlk %d 0x%x\n" |
---|
14592 | | -.LC81: |
---|
14593 | | - .string "%s %p + 0x%x:" |
---|
14594 | | -.LC82: |
---|
14595 | | - .string "0x%08x," |
---|
14596 | | -.LC83: |
---|
14597 | | - .string "0x%04x," |
---|
14598 | | -.LC84: |
---|
14599 | | - .string "0x%02x," |
---|
14600 | | -.LC85: |
---|
14601 | | - .string "\n" |
---|
14602 | | -.LC86: |
---|
14603 | | - .string "%s: addr: %x is in id block!!!!!!!!!!\n" |
---|
14604 | | -.LC87: |
---|
14605 | | - .string "not free: w: d:" |
---|
14606 | | -.LC88: |
---|
14607 | | - .string "not free: w: s:" |
---|
14608 | | -.LC89: |
---|
14609 | | - .string "FtlFreeSysBlkQueueOut = %x, free count = %d, error\n" |
---|
14610 | | -.LC90: |
---|
14611 | | - .string "FtlFreeSysBlkQueueOut = %x, free count = %d\n" |
---|
14612 | | -.LC91: |
---|
14613 | | - .string "%s error allocating memory. return -1\n" |
---|
14614 | | -.LC92: |
---|
14615 | | - .string "FlashReadPages %x %x error_ecc_bits %d\n" |
---|
14616 | | -.LC93: |
---|
14617 | | - .string "data:" |
---|
14618 | | -.LC94: |
---|
14619 | | - .string "spare:" |
---|
14620 | | -.LC95: |
---|
14621 | | - .string "prog read error: = %x\n" |
---|
14622 | | -.LC96: |
---|
14623 | | - .string "prog read REFRESH: = %x\n" |
---|
14624 | | -.LC97: |
---|
14625 | | - .string "prog read s error: = %x %x %x %x %x\n" |
---|
14626 | | -.LC98: |
---|
14627 | | - .string "prog read d error: = %x %x %x %x %x\n" |
---|
14628 | | -.LC99: |
---|
14629 | | - .string "FtlBbmTblFlush id=%x,page=%x,previd=%x cnt=%d\n" |
---|
14630 | | -.LC100: |
---|
14631 | | - .string "FtlBbmTblFlush error:%x\n" |
---|
14632 | | -.LC101: |
---|
14633 | | - .string "FtlBbmTblFlush error = %x error count = %d\n" |
---|
14634 | | -.LC102: |
---|
14635 | | - .string "FtlGcFreeBadSuperBlk 0x%x\n" |
---|
14636 | | -.LC103: |
---|
14637 | | - .string "decrement_vpc_count %x = %d\n" |
---|
14638 | | -.LC104: |
---|
14639 | | - .string "FtlMapWritePage error = %x \n" |
---|
14640 | | -.LC105: |
---|
14641 | | - .string "FtlMapWritePage error = %x error count = %d\n" |
---|
14642 | | -.LC106: |
---|
14643 | | - .string "region_id = %x phyAddr = %x\n" |
---|
14644 | | -.LC107: |
---|
14645 | | - .string "map_ppn:" |
---|
14646 | | -.LC108: |
---|
14647 | | - .string "load_l2p_region refresh = %x phyAddr = %x\n" |
---|
14648 | | -.LC109: |
---|
14649 | | - .string "data prev_ppa = %x error...................\n" |
---|
14650 | | -.LC110: |
---|
14651 | | - .string "spuer block %x vpn is 0\n " |
---|
14652 | | -.LC111: |
---|
14653 | | - .string "...%s enter...\n" |
---|
14654 | | -.LC112: |
---|
14655 | | - .string "FtlCheckVpc2 %x = %x %x\n" |
---|
14656 | | -.LC113: |
---|
14657 | | - .string "free blk vpc error %x = %x %x\n" |
---|
14658 | | -.LC114: |
---|
14659 | | - .string "ftl_scan_all_data = %x\n" |
---|
14660 | | -.LC115: |
---|
14661 | | - .string "scan lpa = %x ppa= %x\n" |
---|
14662 | | -.LC116: |
---|
14663 | | - .string "lpa = %x,addr= %x,spare= %x %x %x %x data=%x %x\n" |
---|
14664 | | -.LC117: |
---|
14665 | | - .string "FtlGcScanTempBlk Error ID %x %x!!!!!!! \n" |
---|
14666 | | -.LC118: |
---|
14667 | | - .string "FtlVendorPartRead refresh = %x phyAddr = %x\n" |
---|
14668 | | -.LC119: |
---|
14669 | | - .string "no ect" |
---|
14670 | | -.LC120: |
---|
14671 | | - .string "FtlVpcTblFlush error = %x error count = %d\n" |
---|
14672 | | -.LC121: |
---|
14673 | | - .string "FtlCheckVpc %x = %x %x\n" |
---|
14674 | | -.LC122: |
---|
14675 | | - .string "FtlProgPages error %x = %d\n" |
---|
14676 | | -.LC123: |
---|
14677 | | - .string "Ftlwrite decrement_vpc_count %x = %d\n" |
---|
14678 | | -.LC124: |
---|
14679 | | - .string "SWL %x, FSB = %x vpc= %x,ec=%x th=%x\n" |
---|
14680 | | -.LC125: |
---|
14681 | | - .string "FtlWrite: ecc error:%x %x %x\n" |
---|
14682 | | -.LC126: |
---|
14683 | | - .string "FtlWrite: lpa error:%x %x\n" |
---|
14684 | | -.LC127: |
---|
14685 | | - .string "%s hash error this.id =%x page =%x pre_id =%x hash =%x hash_r =%x\n" |
---|
14686 | | -.LC128: |
---|
14687 | | - .string "%s last blk_id =%x page =%x hash error hash =%x hash_r =%x\n" |
---|
14688 | | -.LC129: |
---|
14689 | | - .string "%s scan blk_id =%x page =%x hash error hash =%x hash_r =%x\n" |
---|
14690 | | -.LC130: |
---|
14691 | | - .string "write_idblock %x %x\n" |
---|
14692 | | -.LC131: |
---|
14693 | | - .string "write_idblock fail! %x %x %x %x\n" |
---|
14694 | | -.LC132: |
---|
14695 | | - .string "%s idb buffer alloc fail\n" |
---|
14696 | | -.LC133: |
---|
14697 | | - .string "copy_from_user error %d %p %p\n" |
---|
14698 | | -.LC134: |
---|
14699 | | - .string "vendor_storage" |
---|
| 15771 | + .ident "GCC: (GNU Toolchain for the A-profile Architecture 10.2-2020.11 (arm-10.16)) 10.2.1 20201103" |
---|
| 15772 | + .section .note.GNU-stack,"",@progbits |
---|
| 15773 | + .section .note.gnu.property,"a" |
---|
| 15774 | + .align 3 |
---|
| 15775 | + .word 4 |
---|
| 15776 | + .word 16 |
---|
| 15777 | + .word 5 |
---|
| 15778 | + .string "GNU" |
---|
| 15779 | + .word 3221225472 |
---|
| 15780 | + .word 4 |
---|
| 15781 | + .word 3 |
---|
| 15782 | + .align 3 |
---|