| .. | .. |
|---|
| 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 |
|---|