diff --git a/drivers/rkflash/rk_sftl.h b/drivers/rkflash/rk_sftl.h index 84586d472567..f474236a7cfc 100644 --- a/drivers/rkflash/rk_sftl.h +++ b/drivers/rkflash/rk_sftl.h @@ -14,6 +14,15 @@ u32 sftl_get_density(void); s32 sftl_gc(void); int sftl_vendor_read(u32 index, u32 count, u8 *buf); int sftl_vendor_write(u32 index, u32 count, u8 *buf); + +/* + * rknand_proc_ftlread() Read FTL info which's about 2KB size + * + * @size: buf size(>= 2KB) + * @buf: buf for caching ftl info + * @return real size of caching ftl info + */ +int rknand_proc_ftlread(int size, char *buf); int rk_sftl_vendor_read(u32 id, u8 *buf, u32 size); int rk_sftl_vendor_write(u32 id, u8 *buf, u32 size); int rk_sftl_vendor_register(void); diff --git a/drivers/rkflash/rk_sftl_arm_v7.S b/drivers/rkflash/rk_sftl_arm_v7.S index eb59ee471ec0..59d145aae38d 100644 --- a/drivers/rkflash/rk_sftl_arm_v7.S +++ b/drivers/rkflash/rk_sftl_arm_v7.S @@ -2,7 +2,7 @@ /* * Copyright (c) 2018 Rockchip Electronics Co. Ltd. - * date: 2018-08-14 + * date: 2018-08-17 */ .file "rk_sftl.c" .global __udivsi3 @@ -1866,414 +1866,479 @@ FtlPrintInfo2buf: mov ip, sp push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} sub fp, ip, #4 - sub sp, sp, #12 - mov r7, r0 - ldr r6, .L269 - add r5, r7, #12 + sub sp, sp, #16 + mov r6, r0 + ldr r5, .L269 + add r4, r6, #12 ldr r1, .L269+4 - movw r9, #2344 + movw r8, #2344 bl strcpy - ldr r2, [r6, #116] - mov r0, r5 - ldr r1, .L269+8 - bl sprintf - add r5, r5, r0 - ldr r1, .L269+12 - mov r0, r5 - add r5, r5, #10 - bl strcpy - ldr r2, [r6, #2504] - mov r0, r5 - ldr r1, .L269+16 - bl sprintf - add r5, r5, r0 - ldr r2, [r6, #2500] - ldr r1, .L269+20 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldr r2, [r6, #2508] - ldr r1, .L269+24 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldr r2, [r6, #2512] - ldr r1, .L269+28 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldr r2, [r6, #2516] - ldr r1, .L269+32 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldr r2, [r6, #2520] - ldr r1, .L269+36 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldr r2, [r6, #2524] - ldr r1, .L269+40 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldr r2, [r6, #2528] - ldr r1, .L269+44 - mov r0, r5 - bl sprintf - ldr r2, [r6, #2532] - add r5, r5, r0 - ldr r1, .L269+48 - mov r0, r5 - ldr r4, .L269+52 - ldr r8, .L269+56 - lsr r2, r2, #11 - bl sprintf - ldr r2, [r6, #2536] - add r5, r5, r0 - ldr r1, .L269+60 - mov r0, r5 - lsr r2, r2, #11 - bl sprintf - add r5, r5, r0 - ldr r2, [r6, #2540] - ldr r1, .L269+64 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldr r2, [r6, #2544] - ldr r1, .L269+68 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrh r2, [r6, #158] - ldr r1, .L269+72 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrh r2, [r6, r9] - ldr r1, .L269+76 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldr r2, [r6, #2548] - ldr r1, .L269+80 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldr r2, [r6, #2552] - ldr r1, .L269+84 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldr r2, [r6, #2556] - ldr r1, .L269+88 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldr r2, [r6, #2560] - ldr r1, .L269+92 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldr r2, [r6, #2564] - ldr r1, .L269+96 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldr r2, [r6, #2568] - ldr r1, .L269+100 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrh r2, [r4, #30] - ldr r1, .L269+104 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrh r2, [r4, #28] - ldr r1, .L269+108 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldr r2, [r6, #140] - ldr r1, .L269+112 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldr r2, [r6, #132] - ldr r1, .L269+116 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldr r2, [r6, #28] - ldr r1, .L269+120 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrh r2, [r6, #218] - ldr r1, .L269+124 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrh r2, [r6, #40] - ldr r1, .L269+128 - mov r0, r5 - bl sprintf - movw r3, #2572 - add r5, r5, r0 - ldrh r2, [r6, r3] - mov r0, r5 - ldr r1, .L269+132 - movw r4, #2348 - bl sprintf - add r5, r5, r0 - ldr r2, [r6, #44] - ldr r1, .L269+136 - mov r0, r5 - bl sprintf - add r3, r6, #2576 - add r5, r5, r0 - ldrh r2, [r3] - mov r0, r5 - ldr r1, .L269+140 - bl sprintf - add r5, r5, r0 - ldrh r2, [r6, #152] - ldr r1, .L269+144 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrh r2, [r8, #2] - ldr r1, .L269+148 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrb r2, [r6, #2354] @ zero_extendqisi2 - ldr r1, .L269+152 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrh r2, [r6, r4] - ldr r1, .L269+156 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrb r2, [r6, #2356] @ zero_extendqisi2 - ldr r1, .L269+160 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrh r2, [r8, #4] - ldr r1, .L269+164 - mov r0, r5 - bl sprintf - ldrh r3, [r6, r4] - add r5, r5, r0 - ldr r2, [r6, #2324] - mov r0, r5 - ldr r1, .L269+168 - movw r4, #2396 - lsl r3, r3, #1 - ldrh r2, [r2, r3] - bl sprintf - add r5, r5, r0 - ldrh r2, [r8, #50] - ldr r1, .L269+172 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrb r2, [r6, #2402] @ zero_extendqisi2 - ldr r1, .L269+176 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrh r2, [r6, r4] - ldr r1, .L269+180 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrb r2, [r6, #2404] @ zero_extendqisi2 - ldr r1, .L269+184 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrh r2, [r8, #52] - ldr r1, .L269+188 - mov r0, r5 - bl sprintf - ldrh r3, [r6, r4] - add r5, r5, r0 - ldr r2, [r6, #2324] - mov r0, r5 - ldr r1, .L269+192 - add r4, r8, #96 - lsl r3, r3, #1 - ldrh r2, [r2, r3] - bl sprintf - add r5, r5, r0 - ldrh r2, [r8, #98] - ldr r1, .L269+196 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrb r2, [r6, #2450] @ zero_extendqisi2 - ldr r1, .L269+200 - mov r0, r5 - bl sprintf - movw r3, #2444 - add r5, r5, r0 - ldrh r2, [r6, r3] - mov r0, r5 - ldr r1, .L269+204 - bl sprintf - add r5, r5, r0 - ldrb r2, [r6, #2452] @ zero_extendqisi2 - ldr r1, .L269+208 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrh r2, [r8, #100] - ldr r1, .L269+212 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrh r2, [r4, #146] - ldr r1, .L269+216 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrb r2, [r6, #2594] @ zero_extendqisi2 - ldr r1, .L269+220 - mov r0, r5 - bl sprintf - movw r8, #2588 - add r5, r5, r0 - ldrh r2, [r6, r8] - mov r0, r5 - ldr r1, .L269+224 - bl sprintf - add r5, r5, r0 - ldrb r2, [r6, #2596] @ zero_extendqisi2 - ldr r1, .L269+228 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrh r2, [r4, #148] - ldr r1, .L269+232 - mov r0, r5 - bl sprintf - ldr r3, [r6, #2712] - add r5, r5, r0 - ldr r2, [r6, #2716] - mov r0, r5 - ldr r1, .L269+236 - str r3, [sp] - ldr r3, [r6, #2720] - bl sprintf - add r4, r5, r0 - ldr r2, [r6, #2708] - ldr r1, .L269+240 + ldr r3, [r5, #116] + mov r1, #64 + ldr r2, .L269+8 mov r0, r4 - bl sprintf + bl snprintf add r4, r4, r0 - ldr r2, [r6, #2732] - ldr r1, .L269+244 + ldr r1, .L269+12 mov r0, r4 - bl sprintf + add r4, r4, #10 + bl strcpy + ldr r3, [r5, #2504] + mov r1, #64 + ldr r2, .L269+16 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldr r3, [r5, #2500] + ldr r2, .L269+20 + mov r1, #64 + mov r0, r4 + ldr r7, .L269+24 + bl snprintf + add r4, r4, r0 + ldr r3, [r5, #2508] + ldr r2, .L269+28 + mov r1, #64 + mov r0, r4 + ldr r9, .L269+32 + bl snprintf + add r4, r4, r0 + ldr r3, [r5, #2512] + ldr r2, .L269+36 + mov r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldr r3, [r5, #2516] + ldr r2, .L269+40 + mov r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldr r3, [r5, #2520] + ldr r2, .L269+44 + mov r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldr r3, [r5, #2524] + ldr r2, .L269+48 + mov r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldr r3, [r5, #2528] + ldr r2, .L269+52 + mov r1, #64 + mov r0, r4 + bl snprintf + ldr r3, [r5, #2532] + add r4, r4, r0 + ldr r2, .L269+56 + mov r1, #64 + mov r0, r4 + lsr r3, r3, #11 + bl snprintf + ldr r3, [r5, #2536] + add r4, r4, r0 + ldr r2, .L269+60 + mov r1, #64 + mov r0, r4 + lsr r3, r3, #11 + bl snprintf + add r4, r4, r0 + ldr r3, [r5, #2540] + ldr r2, .L269+64 + mov r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldr r3, [r5, #2544] + ldr r2, .L269+68 + mov r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrh r3, [r5, #158] + ldr r2, .L269+72 + mov r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrh r3, [r5, r8] + ldr r2, .L269+76 + mov r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldr r3, [r5, #2548] + ldr r2, .L269+80 + mov r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldr r3, [r5, #2552] + ldr r2, .L269+84 + mov r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldr r3, [r5, #2556] + ldr r2, .L269+88 + mov r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldr r3, [r5, #2560] + ldr r2, .L269+92 + mov r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldr r3, [r5, #2564] + ldr r2, .L269+96 + mov r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldr r3, [r5, #2568] + ldr r2, .L269+100 + mov r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrh r3, [r7, #30] + ldr r2, .L269+104 + mov r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrh r3, [r7, #28] + ldr r2, .L269+108 + mov r1, #64 + mov r0, r4 + movw r7, #2348 + bl snprintf + add r4, r4, r0 + ldr r3, [r5, #140] + ldr r2, .L269+112 + mov r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldr r3, [r5, #132] + ldr r2, .L269+116 + mov r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldr r3, [r5, #28] + ldr r2, .L269+120 + mov r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrh r3, [r5, #218] + ldr r2, .L269+124 + mov r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrh r3, [r5, #40] + ldr r2, .L269+128 + mov r1, #64 + mov r0, r4 + bl snprintf + movw r3, #2572 + add r4, r4, r0 + ldrh r3, [r5, r3] + mov r1, #64 + ldr r2, .L269+132 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldr r3, [r5, #44] + ldr r2, .L269+136 + mov r1, #64 + mov r0, r4 + bl snprintf + add r3, r5, #2576 + add r4, r4, r0 + ldrh r3, [r3] + mov r1, #64 + ldr r2, .L269+140 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrh r3, [r5, #152] + ldr r2, .L269+144 + mov r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrh r3, [r9, #2] + ldr r2, .L269+148 + mov r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrb r3, [r5, #2354] @ zero_extendqisi2 + ldr r2, .L269+152 + mov r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrh r3, [r5, r7] + ldr r2, .L269+156 + mov r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrb r3, [r5, #2356] @ zero_extendqisi2 + ldr r2, .L269+160 + mov r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrh r3, [r9, #4] + ldr r2, .L269+164 + mov r1, #64 + mov r0, r4 + bl snprintf + ldrh r3, [r5, r7] + add r4, r4, r0 + ldr r2, [r5, #2324] + mov r1, #64 + mov r0, r4 + movw r7, #2396 + lsl r3, r3, #1 + ldrh r3, [r2, r3] + ldr r2, .L269+168 + bl snprintf + add r4, r4, r0 + ldrh r3, [r9, #50] + ldr r2, .L269+172 + mov r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrb r3, [r5, #2402] @ zero_extendqisi2 + ldr r2, .L269+176 + mov r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrh r3, [r5, r7] + ldr r2, .L269+180 + mov r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrb r3, [r5, #2404] @ zero_extendqisi2 + ldr r2, .L269+184 + mov r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrh r3, [r9, #52] + ldr r2, .L269+188 + mov r1, #64 + mov r0, r4 + bl snprintf + ldrh r3, [r5, r7] + add r4, r4, r0 + ldr r2, [r5, #2324] + mov r1, #64 + mov r0, r4 + movw r7, #2588 + lsl r3, r3, #1 + ldrh r3, [r2, r3] + ldr r2, .L269+192 + bl snprintf + add r4, r4, r0 + ldrh r3, [r9, #98] + ldr r2, .L269+196 + mov r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrb r3, [r5, #2450] @ zero_extendqisi2 + ldr r2, .L269+200 + mov r1, #64 + mov r0, r4 + bl snprintf + movw r3, #2444 + add r4, r4, r0 + ldrh r3, [r5, r3] + mov r1, #64 + ldr r2, .L269+204 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrb r3, [r5, #2452] @ zero_extendqisi2 + ldr r2, .L269+208 + mov r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrh r3, [r9, #100] + ldr r2, .L269+212 + mov r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrh r3, [r9, #242] + ldr r2, .L269+216 + mov r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrb r3, [r5, #2594] @ zero_extendqisi2 + ldr r2, .L269+220 + mov r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrh r3, [r5, r7] + ldr r2, .L269+224 + mov r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrb r3, [r5, #2596] @ zero_extendqisi2 + ldr r2, .L269+228 + mov r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrh r3, [r9, #244] + ldr r2, .L269+232 + mov r1, #64 + mov r0, r4 + bl snprintf + ldr r3, [r5, #2712] + add r4, r4, r0 + ldr r2, .L269+236 + mov r1, #64 + mov r0, r4 + str r3, [sp, #4] + ldr r3, [r5, #2720] + str r3, [sp] + ldr r3, [r5, #2716] + bl snprintf + add r4, r4, r0 + ldr r3, [r5, #2708] + ldr r2, .L269+240 + mov r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldr r3, [r5, #2732] + ldr r2, .L269+244 + mov r1, #64 + mov r0, r4 + bl snprintf movw r3, #3148 add r4, r4, r0 - ldrh r2, [r6, r3] + ldrh r3, [r5, r3] + mov r1, #64 + ldr r2, .L269+248 mov r0, r4 - ldr r1, .L269+248 - bl sprintf + bl snprintf movw r3, #3150 add r4, r4, r0 - ldrh r2, [r6, r3] + ldrh r3, [r5, r3] + mov r1, #64 + ldr r2, .L269+252 mov r0, r4 - ldr r1, .L269+252 - bl sprintf + bl snprintf add r4, r4, r0 - ldr r2, [r6, #3152] - ldr r1, .L269+256 + ldr r3, [r5, #3152] + ldr r2, .L269+256 + mov r1, #64 mov r0, r4 - bl sprintf + bl snprintf movw r3, #3156 add r4, r4, r0 - ldrh r2, [r6, r3] + ldrh r3, [r5, r3] + mov r1, #64 + ldr r2, .L269+260 mov r0, r4 - ldr r1, .L269+260 - bl sprintf + bl snprintf add r4, r4, r0 bl GetFreeBlockMinEraseCount - ldr r1, .L269+264 - mov r2, r0 + ldr r2, .L269+264 + mov r3, r0 + mov r1, #64 mov r0, r4 - bl sprintf + bl snprintf add r4, r4, r0 - ldrh r0, [r6, r9] + ldrh r0, [r5, r8] bl GetFreeBlockMaxEraseCount - ldr r1, .L269+268 - mov r2, r0 + ldr r2, .L269+268 + mov r3, r0 + mov r1, #64 mov r0, r4 - bl sprintf + bl snprintf ldr r3, .L269+272 add r4, r4, r0 ldr r3, [r3] cmp r3, #1 beq .L258 .L263: - sub r0, r4, r7 + sub r0, r4, r6 sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} .L258: - ldrh r3, [r6, r8] + ldrh r3, [r5, r7] movw r2, #65535 cmp r3, r2 beq .L260 - ldr r2, [r6, #2324] + ldr r2, [r5, #2324] lsl r3, r3, #1 mov r0, r4 - ldr r1, .L269+276 - ldrh r2, [r2, r3] - bl sprintf + mov r1, #64 + ldrh r3, [r2, r3] + ldr r2, .L269+276 + bl snprintf add r4, r4, r0 .L260: mov r0, #0 ldr r9, .L269+280 bl List_get_gc_head_node - uxth r3, r0 - mov r5, #0 + uxth r0, r0 + mov r7, #0 movw r10, #65535 .L262: - cmp r3, r10 + cmp r0, r10 beq .L261 - ldr r2, [r6, #2328] - lsl r1, r3, #1 - lsl r8, r3, #3 + ldr r3, [r5, #2328] + lsl r2, r0, #1 + lsl r8, r0, #3 + mov r1, #64 + ldrh r3, [r3, r2] + str r3, [sp, #12] + ldr r3, [r5, #2316] + add r3, r3, r8 + ldrh r3, [r3, #4] + str r3, [sp, #8] + ldr r3, [r5, #2324] + ldrh r3, [r3, r2] + mov r2, r9 + stm sp, {r0, r3} + mov r3, r7 mov r0, r4 - ldrh r2, [r2, r1] - str r2, [sp, #8] - ldr r2, [r6, #2316] - add r2, r2, r8 - ldrh r2, [r2, #4] - str r2, [sp, #4] - ldr r2, [r6, #2324] - ldrh r2, [r2, r1] - mov r1, r9 - str r2, [sp] - mov r2, r5 - bl sprintf - add r5, r5, #1 - ldr r3, [r6, #2316] - cmp r5, #16 + add r7, r7, #1 + bl snprintf + ldr r3, [r5, #2316] + cmp r7, #16 add r4, r4, r0 - ldrh r3, [r3, r8] + ldrh r0, [r3, r8] bne .L262 .L261: - ldr r3, [r6, #2340] - mov r5, #0 - ldr r2, [r6, #2316] + ldr r3, [r5, #2340] + mov r7, #0 + ldr r2, [r5, #2316] movw r9, #65535 ldr r10, .L269+284 sub r3, r3, r2 @@ -2281,24 +2346,26 @@ FtlPrintInfo2buf: .L264: cmp r3, r9 beq .L263 - ldr r1, [r6, #2328] + ldr r1, [r5, #2328] lsl r2, r3, #1 lsl r8, r3, #3 mov r0, r4 ldrh r2, [r1, r2] - mov r1, r10 - str r2, [sp, #4] - ldr r2, [r6, #2316] + mov r1, #64 + str r2, [sp, #8] + ldr r2, [r5, #2316] add r2, r2, r8 ldrh r2, [r2, #4] - str r2, [sp] - mov r2, r5 - add r5, r5, #1 - bl sprintf - cmp r5, #4 + str r3, [sp] + mov r3, r7 + add r7, r7, #1 + str r2, [sp, #4] + mov r2, r10 + bl snprintf + cmp r7, #4 add r4, r4, r0 beq .L263 - ldr r3, [r6, #2316] + ldr r3, [r5, #2316] ldrh r3, [r3, r8] b .L264 .L270: @@ -2310,15 +2377,15 @@ FtlPrintInfo2buf: .word .LC4 .word .LC5 .word .LC6 + .word .LANCHOR0+2268 .word .LC7 + .word .LANCHOR0+2348 .word .LC8 .word .LC9 .word .LC10 .word .LC11 .word .LC12 .word .LC13 - .word .LANCHOR0+2268 - .word .LANCHOR0+2348 .word .LC14 .word .LC15 .word .LC16 @@ -2389,10 +2456,14 @@ rknand_proc_ftlread: mov ip, sp push {r4, r5, fp, ip, lr, pc} sub fp, ip, #4 - ldr r2, .L272 - mov r5, r0 - ldr r1, .L272+4 - bl sprintf + cmp r0, #2048 + mov r5, r1 + blt .L273 + ldr r3, .L274 + mov r1, #64 + ldr r2, .L274+4 + mov r0, r5 + bl snprintf add r4, r5, r0 mov r0, r4 bl FtlPrintInfo2buf @@ -2400,8 +2471,11 @@ rknand_proc_ftlread: sub r0, r0, r5 ldmfd sp, {r4, r5, fp, sp, pc} .L273: + mov r0, #0 + ldmfd sp, {r4, r5, fp, sp, pc} +.L275: .align 2 -.L272: +.L274: .word .LC70 .word .LC71 .size rknand_proc_ftlread, .-rknand_proc_ftlread @@ -2418,19 +2492,19 @@ GetSwlReplaceBlock: push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} sub fp, ip, #4 sub sp, sp, #16 - ldr r4, .L298 + ldr r4, .L300 ldr r2, [r4, #2556] ldr r3, [r4, #2568] cmp r2, r3 - bcs .L275 + bcs .L277 ldr r2, [r4, #2328] mov r3, #0 ldrh r1, [r4, #40] str r3, [r4, #2548] sub r2, r2, #2 -.L276: +.L278: cmp r3, r1 - bcc .L277 + bcc .L279 ldr r5, [r4, #2548] mov r0, r5 bl __udivsi3 @@ -2440,48 +2514,48 @@ GetSwlReplaceBlock: sub r0, r5, r0 bl __udivsi3 str r0, [r4, #2548] -.L278: +.L280: ldr r6, [r4, #2568] ldr r7, [r4, #2556] add r3, r6, #256 cmp r3, r7 - bls .L283 + bls .L285 ldr r2, [r4, #2564] add r3, r6, #768 cmp r3, r2 - bls .L283 -.L285: + bls .L285 +.L287: movw r5, #65535 -.L284: +.L286: mov r0, r5 sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L277: +.L279: ldrh r0, [r2, #2]! add r3, r3, #1 ldr ip, [r4, #2548] add r0, r0, ip str r0, [r4, #2548] - b .L276 -.L275: + b .L278 +.L277: ldr r3, [r4, #2564] cmp r2, r3 addhi r3, r3, #1 strhi r3, [r4, #2564] movhi r3, #0 - bls .L278 -.L280: + bls .L280 +.L282: ldrh r2, [r4, #40] cmp r3, r2 - bcs .L278 + bcs .L280 ldr r0, [r4, #2328] lsl r1, r3, #1 add r3, r3, #1 ldrh r2, [r0, r1] add r2, r2, #1 strh r2, [r0, r1] @ movhi - b .L280 -.L283: + b .L282 +.L285: movw r3, #2344 ldrh r0, [r4, r3] add r0, r0, r0, lsl #1 @@ -2490,53 +2564,53 @@ GetSwlReplaceBlock: add r3, r6, #64 mov r9, r0 cmp r0, r3 - bcc .L285 + bcc .L287 ldr r3, [r4, #2320] cmp r3, #0 - beq .L285 + beq .L287 ldrh r10, [r4, #40] movw r1, #65535 ldr lr, [r4, #2316] mov r0, #0 ldr r8, [r4, #2328] mov r2, r1 -.L286: +.L288: ldrh ip, [r3] movw r5, #65535 cmp ip, r5 - bne .L289 + bne .L291 mov r5, r2 -.L288: +.L290: movw r3, #65535 cmp r5, r3 - beq .L285 + beq .L287 lsl r3, r5, #1 ldrh r10, [r8, r3] cmp r6, r10 - bcs .L290 + bcs .L292 str r3, [fp, #-44] bl GetFreeBlockMinEraseCount ldr r3, [fp, #-44] cmp r6, r0 strcc r1, [r4, #2568] -.L290: +.L292: cmp r7, r10 - bls .L285 + bls .L287 add r2, r10, #128 cmp r9, r2 - ble .L285 + ble .L287 add r2, r10, #256 cmp r7, r2 - bhi .L291 + bhi .L293 ldr r2, [r4, #2564] add r10, r10, #768 cmp r10, r2 - bcs .L285 -.L291: + bcs .L287 +.L293: str r9, [sp, #8] mov r1, r5 ldrh r2, [r8, r3] - ldr r0, .L298+4 + ldr r0, .L300+4 str r2, [sp, #4] ldr r2, [r4, #2324] ldrh r3, [r2, r3] @@ -2546,31 +2620,31 @@ GetSwlReplaceBlock: bl sftl_printk mov r3, #1 str r3, [r4, #3160] - b .L284 -.L289: + b .L286 +.L291: add r0, r0, #1 uxth r0, r0 cmp r0, r10 - bhi .L285 + bhi .L287 ldrh r5, [r3, #4] cmp r5, #0 - beq .L287 + beq .L289 sub r3, r3, lr asr r3, r3, #3 uxth r5, r3 lsl r3, r5, #1 ldrh r3, [r8, r3] cmp r6, r3 - bcs .L288 + bcs .L290 cmp r1, r3 movhi r1, r3 movhi r2, r5 -.L287: +.L289: add r3, lr, ip, lsl #3 - b .L286 -.L299: + b .L288 +.L301: .align 2 -.L298: +.L300: .word .LANCHOR0 .word .LC72 .size GetSwlReplaceBlock, .-GetSwlReplaceBlock @@ -2589,19 +2663,19 @@ free_data_superblock: uxth r0, r0 movw r3, #65535 cmp r0, r3 - beq .L301 - ldr r3, .L302 + beq .L303 + ldr r3, .L304 mov r1, #0 ldr r2, [r3, #2324] lsl r3, r0, #1 strh r1, [r2, r3] @ movhi bl INSERT_FREE_LIST -.L301: +.L303: mov r0, #0 ldmfd sp, {fp, sp, pc} -.L303: +.L305: .align 2 -.L302: +.L304: .word .LANCHOR0 .size free_data_superblock, .-free_data_superblock .align 2 @@ -2620,30 +2694,30 @@ get_new_active_ppa: movw r3, #65535 mov r4, r0 cmp r2, r3 - bne .L305 + bne .L307 movw r2, #2776 - ldr r1, .L318 - ldr r0, .L318+4 + ldr r1, .L320 + ldr r0, .L320+4 bl sftl_printk -.L305: - ldr r5, .L318+8 +.L307: + ldr r5, .L320+8 ldrh r2, [r4, #2] ldrh r3, [r5, #102] cmp r2, r3 - bne .L306 + bne .L308 movw r2, #2777 - ldr r1, .L318 - ldr r0, .L318+4 + ldr r1, .L320 + ldr r0, .L320+4 bl sftl_printk -.L306: +.L308: ldrh r3, [r4, #4] cmp r3, #0 - bne .L307 + bne .L309 movw r2, #2778 - ldr r1, .L318 - ldr r0, .L318+4 + ldr r1, .L320 + ldr r0, .L320+4 bl sftl_printk -.L307: +.L309: ldrb r2, [r4, #6] @ zero_extendqisi2 mov r3, #0 ldrh r1, [r5, #32] @@ -2652,10 +2726,10 @@ get_new_active_ppa: add r2, r4, r2, lsl #1 ldrh r0, [r2, #16] mov r2, r3 -.L308: +.L310: cmp r0, ip ldrb r3, [r4, #6] @ zero_extendqisi2 - beq .L310 + beq .L312 ldrh r2, [r4, #4] ldrh r6, [r4, #2] sub r2, r2, #1 @@ -2663,7 +2737,7 @@ get_new_active_ppa: orr r6, r6, r0, lsl #10 movw r0, #65535 strh r2, [r4, #4] @ movhi -.L312: +.L314: add r3, r3, #1 uxtb r3, r3 cmp r1, r3 @@ -2674,7 +2748,7 @@ get_new_active_ppa: add ip, r4, r3, lsl #1 ldrh ip, [ip, #16] cmp ip, r0 - beq .L312 + beq .L314 strb r3, [r4, #6] cmp r2, #0 ldrh r3, [r4, #2] @@ -2684,15 +2758,15 @@ get_new_active_ppa: lsr r3, r3, #5 moveq r3, #0 cmp r3, #0 - beq .L304 + beq .L306 movw r2, #2799 - ldr r1, .L318 - ldr r0, .L318+4 + ldr r1, .L320 + ldr r0, .L320+4 bl sftl_printk -.L304: +.L306: mov r0, r6 ldmfd sp, {r4, r5, r6, fp, sp, pc} -.L310: +.L312: add r3, r3, #1 uxtb r3, r3 cmp r3, r1 @@ -2704,10 +2778,10 @@ get_new_active_ppa: ldrb r3, [r4, #6] @ zero_extendqisi2 add r3, r4, r3, lsl #1 ldrh r0, [r3, #16] - b .L308 -.L319: + b .L310 +.L321: .align 2 -.L318: +.L320: .word .LANCHOR1+111 .word .LC1 .word .LANCHOR0 @@ -2724,26 +2798,26 @@ FtlGcBufInit: mov ip, sp push {r4, r5, r6, r7, r8, fp, ip, lr, pc} sub fp, ip, #4 - ldr r3, .L325 + ldr r3, .L327 mov lr, #12 mov r4, #1 mov r5, #20 mov r2, #0 str r2, [r3, #3164] -.L321: +.L323: ldrh r1, [r3, #32] uxth r0, r2 add ip, r2, #1 cmp r0, r1 - bcc .L322 + bcc .L324 mov ip, #12 mov lr, #0 -.L323: +.L325: ldr r2, [r3, #3184] cmp r1, r2 - bcc .L324 + bcc .L326 ldmfd sp, {r4, r5, r6, r7, r8, fp, sp, pc} -.L322: +.L324: uxth r2, r2 ldr r6, [r3, #3168] mul r0, lr, r2 @@ -2776,8 +2850,8 @@ FtlGcBufInit: ldr r1, [r6, #4] str r1, [r2, #12] mov r2, ip - b .L321 -.L324: + b .L323 +.L326: mul r4, ip, r1 ldr r5, [r3, #3168] add r2, r5, r4 @@ -2804,10 +2878,10 @@ FtlGcBufInit: bic r2, r2, #3 add r2, r4, r2 str r2, [r0, #4] - b .L323 -.L326: + b .L325 +.L328: .align 2 -.L325: +.L327: .word .LANCHOR0 .size FtlGcBufInit, .-FtlGcBufInit .align 2 @@ -2822,37 +2896,37 @@ FtlGcBufFree: mov ip, sp push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} sub fp, ip, #4 - ldr r3, .L334 + ldr r3, .L336 mov lr, #0 mov r5, #20 mov r7, #12 mov r8, lr ldr r6, [r3, #3184] ldr r4, [r3, #3168] -.L328: +.L330: uxth r3, lr cmp r1, r3 ldmfdls sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} mla ip, r5, r3, r0 mov r2, #0 -.L329: +.L331: uxth r3, r2 cmp r6, r3 - bls .L330 + bls .L332 mul r3, r7, r3 add r2, r2, #1 ldr r10, [r4, r3] add r9, r4, r3 ldr r3, [ip, #8] cmp r10, r3 - bne .L329 + bne .L331 str r8, [r9, #8] -.L330: +.L332: add lr, lr, #1 - b .L328 -.L335: + b .L330 +.L337: .align 2 -.L334: +.L336: .word .LANCHOR0 .size FtlGcBufFree, .-FtlGcBufFree .align 2 @@ -2867,41 +2941,41 @@ FtlGcBufAlloc: mov ip, sp push {r4, r5, r6, r7, r8, r9, fp, ip, lr, pc} sub fp, ip, #4 - ldr r3, .L343 + ldr r3, .L345 mov ip, #0 mov r6, #12 mov r7, #1 mov r8, #20 ldr r4, [r3, #3184] ldr r5, [r3, #3168] -.L337: +.L339: uxth r2, ip cmp r1, r2 - bhi .L341 + bhi .L343 ldmfd sp, {r4, r5, r6, r7, r8, r9, fp, sp, pc} -.L341: +.L343: mov lr, #0 -.L338: +.L340: uxth r3, lr cmp r4, r3 - bls .L339 + bls .L341 mla r3, r6, r3, r5 add lr, lr, #1 ldr r9, [r3, #8] cmp r9, #0 - bne .L338 + bne .L340 mla r2, r8, r2, r0 ldr lr, [r3] str r7, [r3, #8] str lr, [r2, #8] ldr r3, [r3, #4] str r3, [r2, #12] -.L339: +.L341: add ip, ip, #1 - b .L337 -.L344: + b .L339 +.L346: .align 2 -.L343: +.L345: .word .LANCHOR0 .size FtlGcBufAlloc, .-FtlGcBufAlloc .align 2 @@ -2916,26 +2990,26 @@ IsBlkInGcList: mov ip, sp push {fp, ip, lr, pc} sub fp, ip, #4 - ldr r2, .L350 + ldr r2, .L352 movw r1, #3192 uxth r0, r0 ldr r3, [r2, #3188] ldrh r2, [r2, r1] add r2, r3, r2, lsl #1 -.L346: +.L348: cmp r3, r2 - bne .L348 + bne .L350 mov r0, #0 ldmfd sp, {fp, sp, pc} -.L348: +.L350: ldrh r1, [r3], #2 cmp r1, r0 - bne .L346 + bne .L348 mov r0, #1 ldmfd sp, {fp, sp, pc} -.L351: +.L353: .align 2 -.L350: +.L352: .word .LANCHOR0 .size IsBlkInGcList, .-IsBlkInGcList .align 2 @@ -2955,31 +3029,31 @@ FtlGcUpdatePage: mov r5, r1 mov r6, r2 bl P2V_block_in_plane - ldr ip, .L356 + ldr ip, .L358 movw r3, #3192 ldr r2, [ip, #3188] ldrh lr, [ip, r3] mov r3, #0 sub r1, r2, #2 -.L353: +.L355: uxth r7, r3 cmp r7, lr - bcc .L355 - bne .L354 + bcc .L357 + bne .L356 lsl r3, r7, #1 strh r0, [r2, r3] @ movhi movw r2, #3192 ldrh r3, [ip, r2] add r3, r3, #1 strh r3, [ip, r2] @ movhi - b .L354 -.L355: + b .L356 +.L357: ldrh r7, [r1, #2]! add r3, r3, #1 cmp r7, r0 - bne .L353 -.L354: - ldr r0, .L356+4 + bne .L355 +.L356: + ldr r0, .L358+4 mov r3, #12 ldrh r2, [r0] mul r3, r3, r2 @@ -2991,9 +3065,9 @@ FtlGcUpdatePage: add r3, r3, #1 strh r3, [r0] @ movhi ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} -.L357: +.L359: .align 2 -.L356: +.L358: .word .LANCHOR0 .word .LANCHOR0+3200 .size FtlGcUpdatePage, .-FtlGcUpdatePage @@ -3012,42 +3086,42 @@ FtlGcRefreshBlock: uxth r4, r0 movw r7, #3202 mov r1, r4 - ldr r0, .L363 + ldr r0, .L365 bl sftl_printk - ldr r3, .L363+4 + ldr r3, .L365+4 ldrh r8, [r3, r7] cmp r4, r8 - beq .L359 + beq .L361 movw r5, #3204 ldrh r6, [r3, r5] cmp r4, r6 - beq .L359 + beq .L361 movw ip, #3206 ldrh lr, [r3, ip] cmp r4, lr - beq .L359 + beq .L361 movw r1, #3208 ldrh r0, [r3, r1] cmp r4, r0 - beq .L359 + beq .L361 movw r2, #65535 cmp r8, r2 strheq r4, [r3, r7] @ movhi - beq .L359 + beq .L361 cmp r6, r2 strheq r4, [r3, r5] @ movhi - beq .L359 + beq .L361 cmp lr, r2 strheq r4, [r3, ip] @ movhi - beq .L359 + beq .L361 cmp r0, r2 strheq r4, [r3, r1] @ movhi -.L359: +.L361: mov r0, #0 ldmfd sp, {r4, r5, r6, r7, r8, fp, sp, pc} -.L364: +.L366: .align 2 -.L363: +.L365: .word .LC73 .word .LANCHOR0 .size FtlGcRefreshBlock, .-FtlGcRefreshBlock @@ -3063,7 +3137,7 @@ FtlGcMarkBadPhyBlk: mov ip, sp push {r4, r5, r6, r7, fp, ip, lr, pc} sub fp, ip, #4 - ldr r4, .L369 + ldr r4, .L371 uxth r5, r0 movw r6, #3210 mov r0, r5 @@ -3071,37 +3145,37 @@ FtlGcMarkBadPhyBlk: mov r2, r5 mov r7, r0 ldrh r1, [r4, r6] - ldr r0, .L369+4 + ldr r0, .L371+4 bl sftl_printk mov r0, r7 bl FtlGcRefreshBlock ldrh r3, [r4, r6] mov r2, #0 - ldr r0, .L369+8 -.L366: + ldr r0, .L371+8 +.L368: uxth r1, r2 cmp r3, r1 - bhi .L368 + bhi .L370 cmp r3, #15 movwls r2, #3210 addls r1, r3, #1 strhls r1, [r4, r2] @ movhi lslls r3, r3, #1 - ldrls r2, .L369+8 + ldrls r2, .L371+8 strhls r5, [r2, r3] @ movhi - b .L367 -.L368: + b .L369 +.L370: add r2, r2, #1 add r1, r0, r2, lsl #1 ldrh r1, [r1, #-2] cmp r1, r5 - bne .L366 -.L367: + bne .L368 +.L369: mov r0, #0 ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} -.L370: +.L372: .align 2 -.L369: +.L371: .word .LANCHOR0 .word .LC74 .word .LANCHOR0+3212 @@ -3118,16 +3192,16 @@ FtlGcReFreshBadBlk: mov ip, sp push {r4, r5, fp, ip, lr, pc} sub fp, ip, #4 - ldr r4, .L377 + ldr r4, .L379 movw r3, #3210 ldrh r2, [r4, r3] cmp r2, #0 - beq .L372 + beq .L374 movw r3, #3202 ldrh r1, [r4, r3] movw r3, #65535 cmp r1, r3 - bne .L372 + bne .L374 movw r3, #3246 movw r5, #3246 ldrh r1, [r4, r3] @@ -3135,7 +3209,7 @@ FtlGcReFreshBadBlk: movcs r2, #0 strhcs r2, [r4, r3] @ movhi ldrh r3, [r4, r5] - ldr r2, .L377+4 + ldr r2, .L379+4 lsl r3, r3, #1 ldrh r0, [r2, r3] bl P2V_block_in_plane @@ -3143,12 +3217,12 @@ FtlGcReFreshBadBlk: ldrh r3, [r4, r5] add r3, r3, #1 strh r3, [r4, r5] @ movhi -.L372: +.L374: mov r0, #0 ldmfd sp, {r4, r5, fp, sp, pc} -.L378: +.L380: .align 2 -.L377: +.L379: .word .LANCHOR0 .word .LANCHOR0+3212 .size FtlGcReFreshBadBlk, .-FtlGcReFreshBadBlk @@ -3164,12 +3238,12 @@ ftl_malloc: mov ip, sp push {fp, ip, lr, pc} sub fp, ip, #4 - ldr r1, .L380 + ldr r1, .L382 bl __kmalloc ldmfd sp, {fp, sp, pc} -.L381: +.L383: .align 2 -.L380: +.L382: .word 37748929 .size ftl_malloc, .-ftl_malloc .align 2 @@ -3206,46 +3280,46 @@ rknand_print_hex: mov r9, r3 mov r5, r6 mov r4, r6 -.L384: +.L386: cmp r4, r9 - bcc .L390 - ldr r0, .L392 + bcc .L392 + ldr r0, .L394 bl sftl_printk ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L390: +.L392: cmp r5, #0 - bne .L385 + bne .L387 mov r3, r6 mov r2, r7 mov r1, r10 - ldr r0, .L392+4 + ldr r0, .L394+4 bl sftl_printk -.L385: +.L387: cmp r8, #4 ldreq r1, [r7, r4, lsl #2] - ldreq r0, .L392+8 - beq .L391 + ldreq r0, .L394+8 + beq .L393 cmp r8, #2 lsleq r3, r4, #1 - ldreq r0, .L392+12 + ldreq r0, .L394+12 ldrbne r1, [r7, r4] @ zero_extendqisi2 ldrheq r1, [r7, r3] - ldrne r0, .L392+16 -.L391: + ldrne r0, .L394+16 +.L393: add r5, r5, #1 bl sftl_printk cmp r5, #15 - bls .L389 + bls .L391 mov r5, #0 - ldr r0, .L392 + ldr r0, .L394 bl sftl_printk -.L389: +.L391: add r4, r4, #1 add r6, r6, r8 - b .L384 -.L393: + b .L386 +.L395: .align 2 -.L392: +.L394: .word .LC79 .word .LC75 .word .LC76 @@ -3266,31 +3340,31 @@ FlashReadPages: sub fp, ip, #4 sub sp, sp, #8 mov r6, #0 - ldr r5, .L412 + ldr r5, .L414 mov r7, r1 - ldr r9, .L412+4 + ldr r9, .L414+4 mov r4, r0 - ldr r10, .L412+8 + ldr r10, .L414+8 ldrh r8, [r5, #12] -.L395: +.L397: cmp r6, r7 - bne .L402 + bne .L404 mov r0, #0 sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L402: +.L404: ldr r3, [r4, #8] cmp r3, #0 - beq .L396 + beq .L398 ldr r3, [r4, #12] cmp r3, #0 - bne .L397 -.L396: + bne .L399 +.L398: mov r2, #101 mov r1, r9 mov r0, r10 bl sftl_printk -.L397: +.L399: sub r2, fp, #48 sub r1, fp, #44 mov r0, r4 @@ -3304,7 +3378,7 @@ FlashReadPages: str r0, [r4] ldrh r3, [r5, #14] cmp r3, #4 - bne .L399 + bne .L401 ldr r3, [r4, #12] ldr r2, [r4, #8] ldr r1, [fp, #-44] @@ -3315,27 +3389,27 @@ FlashReadPages: add r1, r8, r1 blx ip cmn r0, #1 - beq .L400 + beq .L402 ldr r3, [r4, #12] ldr r2, [r3, #12] cmn r2, #1 - bne .L399 + bne .L401 ldr r2, [r3, #8] cmn r2, #1 - bne .L399 + bne .L401 ldr r3, [r3] cmn r3, #1 - beq .L399 -.L400: + beq .L401 +.L402: mvn r3, #0 str r3, [r4] -.L399: +.L401: add r6, r6, #1 add r4, r4, #20 - b .L395 -.L413: + b .L397 +.L415: .align 2 -.L412: +.L414: .word .LANCHOR0 .word .LANCHOR1+130 .word .LC1 @@ -3352,7 +3426,7 @@ FtlLoadFactoryBbt: mov ip, sp push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} sub fp, ip, #4 - ldr r4, .L424 + ldr r4, .L426 mov r6, #0 mvn r9, #0 ldr r3, [r4, #3284] @@ -3361,22 +3435,22 @@ FtlLoadFactoryBbt: add r10, r4, #3264 str r3, [r4, #3272] str r8, [r4, #3276] -.L415: +.L417: ldrh r3, [r4, #54] cmp r6, r3 - bcc .L420 + bcc .L422 mov r0, #0 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L420: +.L422: ldrh r5, [r4, #98] strh r9, [r7, #2]! @ movhi -.L417: +.L419: ldrh r3, [r4, #98] sub r5, r5, #1 uxth r5, r5 sub r2, r3, #16 cmp r5, r2 - ble .L418 + ble .L420 mla r3, r6, r3, r5 mov r2, #1 mov r1, r2 @@ -3386,18 +3460,18 @@ FtlLoadFactoryBbt: bl FlashReadPages ldr r3, [r4, #3264] cmn r3, #1 - beq .L417 + beq .L419 ldrh r2, [r8] movw r3, #61664 cmp r2, r3 - bne .L417 + bne .L419 strh r5, [r7] @ movhi -.L418: +.L420: add r6, r6, #1 - b .L415 -.L425: + b .L417 +.L427: .align 2 -.L424: +.L426: .word .LANCHOR0 .size FtlLoadFactoryBbt, .-FtlLoadFactoryBbt .align 2 @@ -3414,7 +3488,7 @@ FtlGetLastWrittenPage: sub fp, ip, #4 sub sp, sp, #84 cmp r1, #1 - ldr r3, .L437 + ldr r3, .L439 lsl r6, r0, #10 mov r2, r1 mov r7, r1 @@ -3422,7 +3496,7 @@ FtlGetLastWrittenPage: ldrheq r5, [r3, #104] mov r1, #1 ldrhne r5, [r3, #102] - ldr r3, .L437+4 + ldr r3, .L439+4 sub r5, r5, #1 sxth r5, r5 str r3, [fp, #-108] @@ -3434,12 +3508,12 @@ FtlGetLastWrittenPage: ldr r3, [fp, #-96] cmn r3, #1 moveq r8, #0 - beq .L430 -.L429: + beq .L432 +.L431: mov r0, r5 sub sp, fp, #32 ldmfd sp, {r4, r5, r6, r7, r8, fp, sp, pc} -.L433: +.L435: add r3, r8, r5 mov r2, r7 add r3, r3, r3, lsr #31 @@ -3452,25 +3526,25 @@ FtlGetLastWrittenPage: bl FlashReadPages ldr r3, [fp, #-96] cmn r3, #1 - bne .L431 + bne .L433 ldr r3, [fp, #-92] cmn r3, #1 - bne .L431 + bne .L433 ldr r3, [fp, #-116] cmn r3, #1 subne r4, r4, #1 sxthne r5, r4 - bne .L430 -.L431: + bne .L432 +.L433: add r4, r4, #1 sxth r8, r4 -.L430: +.L432: cmp r8, r5 - ble .L433 - b .L429 -.L438: + ble .L435 + b .L431 +.L440: .align 2 -.L437: +.L439: .word .LANCHOR0 .word ftl_temp_buf .size FtlGetLastWrittenPage, .-FtlGetLastWrittenPage @@ -3488,7 +3562,7 @@ FlashProgPages: sub fp, ip, #4 sub sp, sp, #32 mov r9, r3 - ldr r6, .L469 + ldr r6, .L471 mov r10, r1 mov r8, r2 mov r4, r0 @@ -3496,28 +3570,28 @@ FlashProgPages: mov r7, #0 ldrh r3, [r6, #12] str r3, [fp, #-72] -.L440: +.L442: cmp r7, r10 - bne .L448 + bne .L450 cmp r9, #0 - bne .L455 -.L468: + bne .L457 +.L470: mov r0, #0 sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L448: +.L450: ldr r3, [r5, #8] cmp r3, #0 - beq .L441 + beq .L443 ldr r3, [r5, #12] cmp r3, #0 - bne .L442 -.L441: + bne .L444 +.L443: mov r2, #131 - ldr r1, .L469+4 - ldr r0, .L469+8 + ldr r1, .L471+4 + ldr r0, .L471+8 bl sftl_printk -.L442: +.L444: sub r2, fp, #68 sub r1, fp, #64 mov r0, r5 @@ -3534,7 +3608,7 @@ FlashProgPages: strne r3, [r5] ldrh r3, [r6, #14] cmp r3, #4 - bne .L446 + bne .L448 ldr r0, [fp, #-72] ldr r3, [r5, #12] ldr r2, [r5, #8] @@ -3548,11 +3622,11 @@ FlashProgPages: cmp r0, #0 mvnne r3, #0 strne r3, [r5] -.L446: +.L448: add r7, r7, #1 add r5, r5, #20 - b .L440 -.L453: + b .L442 +.L455: mov r3, #0 mov r2, r8 str r3, [r9] @@ -3566,54 +3640,54 @@ FlashProgPages: bl FlashReadPages ldr r3, [fp, #-60] cmn r3, #1 - bne .L450 + bne .L452 ldr r1, [r4, #4] - ldr r0, .L469+12 + ldr r0, .L471+12 str r3, [fp, #-72] bl sftl_printk ldr r3, [fp, #-72] str r3, [r4] -.L450: +.L452: ldr r3, [r4, #12] cmp r3, #0 - beq .L451 + beq .L453 ldr r2, [r3] ldr r3, [r6, #3292] cmp r2, r3 - beq .L451 + beq .L453 ldr r1, [r4, #4] - ldr r0, .L469+16 + ldr r0, .L471+16 bl sftl_printk mvn r3, #0 str r3, [r4] -.L451: +.L453: ldr r3, [r4, #8] cmp r3, #0 - beq .L452 + beq .L454 ldr r2, [r3] ldr r3, [r9] cmp r2, r3 - beq .L452 + beq .L454 ldr r1, [r4, #4] - ldr r0, .L469+20 + ldr r0, .L471+20 bl sftl_printk mvn r3, #0 str r3, [r4] -.L452: +.L454: add r5, r5, #1 add r4, r4, #20 -.L449: +.L451: cmp r7, r5 - bne .L453 - b .L468 -.L455: + bne .L455 + b .L470 +.L457: mov r5, #0 - ldr r9, .L469+24 - ldr r10, .L469+28 - b .L449 -.L470: + ldr r9, .L471+24 + ldr r10, .L471+28 + b .L451 +.L472: .align 2 -.L469: +.L471: .word .LANCHOR0 .word .LANCHOR1+145 .word .LC1 @@ -3637,17 +3711,17 @@ FlashEraseBlocks: sub fp, ip, #4 sub sp, sp, #8 mov r6, #0 - ldr r5, .L482 + ldr r5, .L484 mov r7, r2 mov r4, r0 ldrh r8, [r5, #12] -.L472: +.L474: cmp r6, r7 - bne .L478 + bne .L480 mov r0, #0 sub sp, fp, #32 ldmfd sp, {r4, r5, r6, r7, r8, fp, sp, pc} -.L478: +.L480: sub r2, fp, #40 sub r1, fp, #36 mov r0, r4 @@ -3662,7 +3736,7 @@ FlashEraseBlocks: strne r3, [r4] ldrh r3, [r5, #14] cmp r3, #4 - bne .L476 + bne .L478 ldr r1, [fp, #-36] ldr r3, [r5, #3252] ldrb r0, [fp, #-40] @ zero_extendqisi2 @@ -3671,13 +3745,13 @@ FlashEraseBlocks: cmp r0, #0 mvnne r3, #0 strne r3, [r4] -.L476: +.L478: add r6, r6, #1 add r4, r4, #20 - b .L472 -.L483: + b .L474 +.L485: .align 2 -.L482: +.L484: .word .LANCHOR0 .size FlashEraseBlocks, .-FlashEraseBlocks .align 2 @@ -3699,12 +3773,12 @@ FtlFreeSysBlkQueueIn: uxth r3, r3 cmp r3, r2 ldmfdhi sp, {r4, r5, r6, fp, sp, pc} - ldr r4, .L493 + ldr r4, .L495 ldrh r3, [r4, #218] cmp r3, #1024 ldmfdeq sp, {r4, r5, r6, fp, sp, pc} cmp r1, #0 - beq .L486 + beq .L488 mov r0, r5 bl P2V_block_in_plane mov r6, r0 @@ -3722,7 +3796,7 @@ FtlFreeSysBlkQueueIn: ldr r3, [r4, #2560] add r3, r3, #1 str r3, [r4, #2560] -.L486: +.L488: ldrh r3, [r4, #218] add r3, r3, #1 strh r3, [r4, #218] @ movhi @@ -3733,9 +3807,9 @@ FtlFreeSysBlkQueueIn: strh r5, [r2, #220] @ movhi strh r3, [r4, #216] @ movhi ldmfd sp, {r4, r5, r6, fp, sp, pc} -.L494: +.L496: .align 2 -.L493: +.L495: .word .LANCHOR0 .size FtlFreeSysBlkQueueIn, .-FtlFreeSysBlkQueueIn .align 2 @@ -3756,34 +3830,34 @@ FtlLowFormatEraseBlock: uxtb r6, r1 str r3, [fp, #-48] mov r5, r10 - ldr r3, .L537 + ldr r3, .L539 mov r4, r10 ldr r2, [fp, #-48] mov r9, #20 mov r8, r3 str r2, [r3, #3808] -.L496: +.L498: ldrh r1, [r8, #32] uxth r2, r10 cmp r1, r2 - bhi .L500 + bhi .L502 cmp r5, #0 - beq .L495 + beq .L497 mov r7, #0 mov r9, #20 mov r2, r5 mov r1, #0 ldr r0, [r8, #3804] bl FlashEraseBlocks -.L503: +.L505: uxth r2, r7 cmp r5, r2 - bhi .L505 -.L506: + bhi .L507 +.L508: cmp r6, #0 ldrhne r3, [r8, #104] moveq r3, #6 - ldr r8, .L537 + ldr r8, .L539 streq r3, [fp, #-60] moveq r3, #1 strne r3, [fp, #-52] @@ -3796,16 +3870,16 @@ FtlLowFormatEraseBlock: mov r3, #0 streq r6, [fp, #-56] str r3, [fp, #-44] -.L515: +.L517: mov r7, #0 mov r5, r7 -.L507: +.L509: ldrh r1, [r8, #32] uxth r3, r7 cmp r1, r3 - bhi .L510 + bhi .L512 cmp r5, #0 - beq .L495 + beq .L497 ldr r2, [fp, #-56] mov r3, #1 mov r1, r5 @@ -3813,10 +3887,10 @@ FtlLowFormatEraseBlock: bl FlashProgPages mov r9, #0 mov r2, #20 -.L512: +.L514: uxth r3, r9 cmp r5, r3 - bhi .L514 + bhi .L516 ldr r3, [fp, #-44] ldr r2, [fp, #-60] add r7, r3, r2 @@ -3825,13 +3899,13 @@ FtlLowFormatEraseBlock: ldr r2, [fp, #-44] ldr r3, [fp, #-52] cmp r3, r2 - bhi .L515 + bhi .L517 mov r7, #0 mov r9, #20 -.L516: +.L518: uxth r3, r7 cmp r5, r3 - bhi .L518 + bhi .L520 ldr r3, [fp, #-48] adds r6, r6, #0 movne r6, #1 @@ -3839,16 +3913,16 @@ FtlLowFormatEraseBlock: movhi r8, r6 orrls r8, r6, #1 cmp r8, #0 - beq .L495 + beq .L497 mov r2, r5 ldr r1, [fp, #-56] ldr r0, [r10, #3804] bl FlashEraseBlocks -.L495: +.L497: mov r0, r4 sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L500: +.L502: uxth r2, r10 ldr r0, [r8, #3804] mov r3, #0 @@ -3860,17 +3934,17 @@ FtlLowFormatEraseBlock: bl V2P_block cmp r6, #0 mov r7, r0 - beq .L497 + beq .L499 bl IsBlkInVendorPart cmp r0, #0 - bne .L498 -.L497: + bne .L500 +.L499: mov r0, r7 bl FtlBbmIsBadBlock cmp r0, #0 addne r4, r4, #1 uxthne r4, r4 - bne .L498 + bne .L500 ldr r1, [r8, #3804] lsl r7, r7, #10 ldr r2, [r8, #3812] @@ -3888,25 +3962,25 @@ FtlLowFormatEraseBlock: bic r2, r2, #3 add r2, r0, r2 str r2, [r1, #12] -.L498: +.L500: add r10, r10, #1 - b .L496 -.L505: + b .L498 +.L507: mul r2, r9, r7 ldr r1, [r8, #3804] add r0, r1, r2 ldr r2, [r1, r2] cmn r2, #1 - bne .L504 + bne .L506 ldr r0, [r0, #4] add r4, r4, #1 uxth r4, r4 ubfx r0, r0, #10, #16 bl FtlBbmMapBadBlock -.L504: +.L506: add r7, r7, #1 - b .L503 -.L510: + b .L505 +.L512: uxth r3, r7 mov r2, #20 ldr r0, [r8, #3804] @@ -3919,15 +3993,15 @@ FtlLowFormatEraseBlock: bl V2P_block cmp r6, #0 mov r9, r0 - beq .L508 + beq .L510 bl IsBlkInVendorPart cmp r0, #0 - bne .L509 -.L508: + bne .L511 +.L510: mov r0, r9 bl FtlBbmIsBadBlock cmp r0, #0 - bne .L509 + bne .L511 ldr r1, [r8, #3804] mov r3, #20 mla r1, r3, r5, r1 @@ -3947,16 +4021,16 @@ FtlLowFormatEraseBlock: bic r3, r3, #3 add r3, r0, r3 str r3, [r1, #12] -.L509: +.L511: add r7, r7, #1 - b .L507 -.L514: + b .L509 +.L516: mul r3, r2, r9 ldr r1, [r10, #3804] add r0, r1, r3 ldr r3, [r1, r3] cmp r3, #0 - beq .L513 + beq .L515 ldr r0, [r0, #4] add r4, r4, #1 str r2, [fp, #-64] @@ -3964,28 +4038,28 @@ FtlLowFormatEraseBlock: ubfx r0, r0, #10, #16 bl FtlBbmMapBadBlock ldr r2, [fp, #-64] -.L513: +.L515: add r9, r9, #1 - b .L512 -.L518: + b .L514 +.L520: cmp r6, #0 - beq .L517 + beq .L519 mul r3, r9, r7 ldr r2, [r10, #3804] add r1, r2, r3 ldr r3, [r2, r3] cmp r3, #0 - bne .L517 + bne .L519 ldr r0, [r1, #4] mov r1, #1 ubfx r0, r0, #10, #16 bl FtlFreeSysBlkQueueIn -.L517: +.L519: add r7, r7, #1 - b .L516 -.L538: + b .L518 +.L540: .align 2 -.L537: +.L539: .word .LANCHOR0 .size FtlLowFormatEraseBlock, .-FtlLowFormatEraseBlock .align 2 @@ -4000,12 +4074,12 @@ FtlFreeSysBlkQueueOut: mov ip, sp push {r4, r5, r6, r7, fp, ip, lr, pc} sub fp, ip, #4 - ldr r4, .L546 - ldr r6, .L546+4 -.L540: + ldr r4, .L548 + ldr r6, .L548+4 +.L542: ldrh r1, [r4, #218] cmp r1, #0 - beq .L541 + beq .L543 ldrh r3, [r4, #214] sub r1, r1, #1 strh r1, [r4, #218] @ movhi @@ -4035,23 +4109,23 @@ FtlFreeSysBlkQueueOut: sub r3, r5, #1 uxth r3, r3 cmp r3, r2 - bhi .L542 + bhi .L544 mov r0, r5 ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} -.L541: - ldr r0, .L546+8 +.L543: + ldr r0, .L548+8 bl sftl_printk +.L546: + b .L546 .L544: - b .L544 -.L542: ldrh r2, [r4, #218] mov r1, r5 mov r0, r6 bl sftl_printk - b .L540 -.L547: + b .L542 +.L549: .align 2 -.L546: +.L548: .word .LANCHOR0 .word .LC84 .word .LC83 @@ -4072,16 +4146,16 @@ ftl_map_blk_alloc_new_blk: mov r4, r0 mov r3, #0 ldr r2, [r0, #12] -.L549: +.L551: uxth r5, r3 cmp r5, r1 - bcs .L552 + bcs .L554 mov r7, r2 add r3, r3, #1 ldrh r6, [r7] add r2, r2, #2 cmp r6, #0 - bne .L549 + bne .L551 bl FtlFreeSysBlkQueueOut sub r3, r0, #1 movw r2, #65533 @@ -4089,14 +4163,14 @@ ftl_map_blk_alloc_new_blk: mov r1, r0 strh r0, [r7] @ movhi cmp r3, r2 - bls .L550 - ldr r3, .L556 - ldr r0, .L556+4 + bls .L552 + ldr r3, .L558 + ldr r0, .L558+4 ldrh r2, [r3, #218] bl sftl_printk -.L551: - b .L551 -.L550: +.L553: + b .L553 +.L552: ldr r3, [r4, #28] strh r6, [r4, #2] @ movhi strh r5, [r4] @ movhi @@ -4105,20 +4179,20 @@ ftl_map_blk_alloc_new_blk: ldrh r3, [r4, #8] add r3, r3, #1 strh r3, [r4, #8] @ movhi -.L552: +.L554: ldrh r3, [r4, #10] cmp r3, r5 - bhi .L554 + bhi .L556 movw r2, #603 - ldr r1, .L556+8 - ldr r0, .L556+12 + ldr r1, .L558+8 + ldr r0, .L558+12 bl sftl_printk -.L554: +.L556: mov r0, #0 ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} -.L557: +.L559: .align 2 -.L556: +.L558: .word .LANCHOR0 .word .LC85 .word .LANCHOR1+160 @@ -4140,8 +4214,8 @@ FlashTestBlk: uxth r4, r0 cmp r4, #11 movls r4, #0 - bls .L558 - ldr r5, .L561 + bls .L560 + ldr r5, .L563 sub r0, fp, #84 mov r2, #32 mov r1, #165 @@ -4149,7 +4223,7 @@ FlashTestBlk: lsl r4, r4, #10 str r5, [fp, #-96] bl memset - ldr r3, .L561+4 + ldr r3, .L563+4 mov r2, #1 mov r1, r2 sub r0, fp, #104 @@ -4170,13 +4244,13 @@ FlashTestBlk: movne r4, #1 rsb r4, r4, #0 bl FlashEraseBlocks -.L558: +.L560: mov r0, r4 sub sp, fp, #20 ldmfd sp, {r4, r5, fp, sp, pc} -.L562: +.L564: .align 2 -.L561: +.L563: .word ftl_temp_buf .word 1515870810 .size FlashTestBlk, .-FlashTestBlk @@ -4192,7 +4266,7 @@ FlashGetBadBlockList: mov ip, sp push {r4, r5, r6, fp, ip, lr, pc} sub fp, ip, #4 - ldr r5, .L570 + ldr r5, .L572 mov r4, r0 mov r6, r1 mov r2, #256 @@ -4204,30 +4278,30 @@ FlashGetBadBlockList: blx r3 uxth r0, r0 cmp r0, #50 - bls .L564 + bls .L566 mov r2, #256 mov r1, #255 mov r0, r4 bl memset mov r0, #0 -.L564: +.L566: ldrh r3, [r5, #14] cmp r3, #4 moveq r3, r4 addeq r1, r3, r0, lsl #1 - beq .L566 + beq .L568 ldmfd sp, {r4, r5, r6, fp, sp, pc} -.L567: +.L569: ldrh r2, [r3] lsr r2, r2, #1 strh r2, [r3], #2 @ movhi -.L566: +.L568: cmp r3, r1 - bne .L567 + bne .L569 ldmfd sp, {r4, r5, r6, fp, sp, pc} -.L571: +.L573: .align 2 -.L570: +.L572: .word .LANCHOR0 .size FlashGetBadBlockList, .-FlashGetBadBlockList .align 2 @@ -4244,9 +4318,9 @@ ftl_memset: sub fp, ip, #4 cmp r2, #0 mov r4, r0 - beq .L573 + beq .L575 bl memset -.L573: +.L575: mov r0, r4 ldmfd sp, {r4, fp, sp, pc} .size ftl_memset, .-ftl_memset @@ -4262,7 +4336,7 @@ FtlMemInit: mov ip, sp push {r4, r5, r6, r7, r8, fp, ip, lr, pc} sub fp, ip, #4 - ldr r4, .L678 + ldr r4, .L680 movw r3, #65535 movw r2, #3202 mov r5, #0 @@ -4379,7 +4453,7 @@ FtlMemInit: bl ftl_malloc str r0, [r4, #3860] ldrh r0, [r7] - ldr r3, .L678+4 + ldr r3, .L680+4 add r0, r0, #544 add r0, r0, #3 lsr r0, r0, #9 @@ -4467,136 +4541,136 @@ FtlMemInit: str r0, [r4, #180] lsl r2, r2, #2 mov r1, r2 -.L578: +.L580: cmp r3, lr - bcc .L579 - ldr r2, .L678+8 + bcc .L581 + ldr r2, .L680+8 mov r1, #0 add r3, r2, r3, lsl #2 add r2, r2, #56 add r3, r3, #24 -.L580: +.L582: cmp r2, r3 - bne .L581 + bne .L583 ldr r3, [r4, #3872] cmp r3, #0 - bne .L582 -.L584: - ldr r1, .L678+12 - ldr r0, .L678+16 + bne .L584 +.L586: + ldr r1, .L680+12 + ldr r0, .L680+16 bl sftl_printk mvn r0, #0 ldmfd sp, {r4, r5, r6, r7, r8, fp, sp, pc} -.L579: +.L581: ldr r0, [r4, #180] add r3, r3, #1 add r0, r0, r1 add r1, r1, r2 str r0, [ip, #4]! - b .L578 -.L581: - str r1, [r3, #4]! b .L580 -.L582: +.L583: + str r1, [r3, #4]! + b .L582 +.L584: ldr r3, [r4, #3876] cmp r3, #0 - beq .L584 + beq .L586 ldr r3, [r4, #3892] cmp r3, #0 - beq .L584 + beq .L586 ldr r3, [r4, #3896] cmp r3, #0 - beq .L584 + beq .L586 ldr r3, [r4, #2492] cmp r3, #0 - beq .L584 + beq .L586 ldr r3, [r4, #3900] cmp r3, #0 - beq .L584 + beq .L586 ldr r3, [r4, #2316] cmp r3, #0 - beq .L584 + beq .L586 ldr r3, [r4, #180] cmp r3, #0 - beq .L584 + beq .L586 ldr r3, [r4, #2324] cmp r3, #0 - beq .L584 + beq .L586 ldr r3, [r4, #3188] cmp r3, #0 - beq .L584 + beq .L586 ldr r3, [r4, #3196] cmp r3, #0 - beq .L584 + beq .L586 ldr r3, [r4, #3836] cmp r3, #0 - beq .L584 + beq .L586 ldr r3, [r4, #3844] cmp r3, #0 - beq .L584 + beq .L586 ldr r3, [r4, #3804] cmp r3, #0 - beq .L584 + beq .L586 ldr r3, [r4, #3180] cmp r3, #0 - beq .L584 + beq .L586 ldr r3, [r4, #3840] cmp r3, #0 - beq .L584 + beq .L586 ldr r3, [r4, #3284] cmp r3, #0 - beq .L584 + beq .L586 ldr r3, [r4, #3848] cmp r3, #0 - beq .L584 + beq .L586 ldr r3, [r4, #3852] cmp r3, #0 - beq .L584 + beq .L586 ldr r3, [r4, #3172] cmp r3, #0 - beq .L584 + beq .L586 ldr r3, [r4, #3820] cmp r3, #0 - beq .L584 + beq .L586 ldr r3, [r4, #3812] cmp r3, #0 - beq .L584 + beq .L586 ldr r3, [r4, #3168] cmp r3, #0 - beq .L584 + beq .L586 ldr r3, [r4, #3288] cmp r3, #0 - beq .L584 + beq .L586 ldr r3, [r4, #3816] cmp r3, #0 - beq .L584 + beq .L586 ldr r3, [r4, #3176] cmp r3, #0 - beq .L584 + beq .L586 ldr r3, [r4, #2328] cmp r3, #0 - beq .L584 + beq .L586 ldr r3, [r4, #3860] cmp r3, #0 - beq .L584 + beq .L586 ldr r3, [r4, #148] cmp r3, #0 - beq .L584 - ldr r3, .L678 + beq .L586 + ldr r3, .L680 ldr r2, [r3, #3880] cmp r2, #0 - beq .L584 + beq .L586 ldr r2, [r3, #3884] cmp r2, #0 - beq .L584 + beq .L586 ldr r3, [r3, #3888] cmp r3, #0 - beq .L584 + beq .L586 mov r0, #0 ldmfd sp, {r4, r5, r6, r7, r8, fp, sp, pc} -.L679: +.L681: .align 2 -.L678: +.L680: .word .LANCHOR0 .word 33553920 .word .LANCHOR0+152 @@ -4615,10 +4689,10 @@ FtlBbt2Bitmap: mov ip, sp push {r4, r5, r6, r7, r8, fp, ip, lr, pc} sub fp, ip, #4 - ldr r6, .L686 + ldr r6, .L688 mov r4, r0 mov r7, r1 - ldr r8, .L686+4 + ldr r8, .L688+4 sub r5, r4, #2 ldrh r2, [r6] add r4, r4, #1020 @@ -4628,19 +4702,19 @@ FtlBbt2Bitmap: mov r0, r7 lsl r2, r2, #2 bl ftl_memset -.L683: +.L685: ldrh r3, [r5, #2] movw r2, #65535 cmp r3, r2 ldmfdeq sp, {r4, r5, r6, r7, r8, fp, sp, pc} ldrh r2, [r6, #98] cmp r2, r3 - bhi .L682 + bhi .L684 mov r2, #74 mov r1, r8 - ldr r0, .L686+8 + ldr r0, .L688+8 bl sftl_printk -.L682: +.L684: ldrh r3, [r5, #2]! mov r0, #1 cmp r4, r5 @@ -4649,11 +4723,11 @@ FtlBbt2Bitmap: ldr r2, [r7, r1, lsl #2] orr r3, r2, r0, lsl r3 str r3, [r7, r1, lsl #2] - bne .L683 + bne .L685 ldmfd sp, {r4, r5, r6, r7, r8, fp, sp, pc} -.L687: +.L689: .align 2 -.L686: +.L688: .word .LANCHOR0+3904 .word .LANCHOR1+197 .word .LC1 @@ -4681,35 +4755,35 @@ ftl_free_no_use_map_blk: mov r0, r5 bl ftl_memset mov r2, #0 -.L689: +.L691: ldrh r1, [r4, #6] uxth r3, r2 cmp r1, r3 - bhi .L693 + bhi .L695 ldrh r2, [r5] mov r7, #0 - ldr ip, .L702 + ldr ip, .L704 mov r10, r7 -.L694: +.L696: ldrh r1, [r4, #10] uxth r3, r7 cmp r1, r3 - bhi .L698 + bhi .L700 mov r0, r10 sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L693: +.L695: uxth r3, r2 mov r1, #0 ldr r0, [r6, r3, lsl #2] ubfx r0, r0, #10, #16 -.L690: +.L692: ldrh ip, [r4, #10] uxth r3, r1 cmp ip, r3 addls r2, r2, #1 - bls .L689 -.L692: + bls .L691 +.L694: uxth r3, r1 add r1, r1, #1 lsl r3, r3, #1 @@ -4718,28 +4792,28 @@ ftl_free_no_use_map_blk: ldrheq ip, [r5, r3] addeq ip, ip, #1 strheq ip, [r5, r3] @ movhi - b .L690 -.L698: + b .L692 +.L700: ldrh r1, [r4] uxth r6, r7 cmp r1, r3 - bne .L695 + bne .L697 ldrh r0, [r4, #2] ldrh r1, [ip, #104] cmp r0, r1 lslcc r0, r6, #1 strhcc r1, [r5, r0] @ movhi -.L695: +.L697: lsl r6, r6, #1 ldrh r8, [r5, r6] cmp r2, r8 movhi r10, r3 movhi r2, r8 cmp r8, #0 - bne .L697 + bne .L699 ldrh r0, [r9, r6] cmp r0, #0 - beq .L697 + beq .L699 mov r1, #1 str ip, [fp, #-48] str r2, [fp, #-44] @@ -4750,12 +4824,12 @@ ftl_free_no_use_map_blk: ldr r2, [fp, #-44] sub r3, r3, #1 strh r3, [r4, #8] @ movhi -.L697: +.L699: add r7, r7, #1 - b .L694 -.L703: + b .L696 +.L705: .align 2 -.L702: +.L704: .word .LANCHOR0 .size ftl_free_no_use_map_blk, .-ftl_free_no_use_map_blk .align 2 @@ -4775,15 +4849,15 @@ Ftl_write_map_blk_to_last_page: mov r4, r0 ldr r5, [r0, #12] cmp r3, r2 - bne .L705 + bne .L707 ldrh r3, [r0, #8] cmp r3, #0 - beq .L706 + beq .L708 movw r2, #677 - ldr r1, .L714 - ldr r0, .L714+4 + ldr r1, .L716 + ldr r0, .L716+4 bl sftl_printk -.L706: +.L708: ldrh r3, [r4, #8] add r3, r3, #1 strh r3, [r4, #8] @ movhi @@ -4795,17 +4869,17 @@ Ftl_write_map_blk_to_last_page: ldr r3, [r4, #28] add r3, r3, #1 str r3, [r4, #28] -.L707: +.L709: mov r0, #0 ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} -.L705: +.L707: lsl r3, r3, #1 ldr r2, [r0, #28] ldr r6, [r0, #24] mov r1, #255 ldrh r7, [r5, r3] ldrh r3, [r0, #2] - ldr r5, .L714+8 + ldr r5, .L716+8 orr r3, r3, r7, lsl #10 str r3, [r5, #3268] ldr r3, [r5, #3284] @@ -4813,7 +4887,7 @@ Ftl_write_map_blk_to_last_page: ldr r3, [r5, #3288] str r3, [r5, #3276] str r2, [r3, #4] - ldr r2, .L714+12 + ldr r2, .L716+12 strh r2, [r3, #8] @ movhi ldrh r2, [r0, #4] strh r7, [r3, #2] @ movhi @@ -4824,27 +4898,27 @@ Ftl_write_map_blk_to_last_page: bl ftl_memset mov r2, #0 mov r3, r2 -.L708: +.L710: ldrh r0, [r4, #6] uxth r1, r2 cmp r0, r1 - bhi .L710 + bhi .L712 mov r2, #1 mov r3, #0 mov r1, r2 - ldr r0, .L714+16 + ldr r0, .L716+16 bl FlashProgPages ldrh r3, [r4, #2] mov r0, r4 add r3, r3, #1 strh r3, [r4, #2] @ movhi bl ftl_map_blk_gc - b .L707 -.L710: + b .L709 +.L712: uxth r1, r2 ldr r0, [r6, r1, lsl #2] cmp r7, r0, lsr #10 - bne .L709 + bne .L711 ldr r0, [r5, #3284] add r3, r3, #1 uxth r3, r3 @@ -4853,12 +4927,12 @@ Ftl_write_map_blk_to_last_page: ldr r1, [r5, #3284] add r1, r1, r3, lsl #3 str r0, [r1, #4] -.L709: +.L711: add r2, r2, #1 - b .L708 -.L715: + b .L710 +.L717: .align 2 -.L714: +.L716: .word .LANCHOR1+211 .word .LC1 .word .LANCHOR0 @@ -4877,13 +4951,13 @@ FtlMapWritePage: mov ip, sp push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} sub fp, ip, #4 - ldr r7, .L736 + ldr r7, .L738 mov r4, r0 mov r8, r1 mov r9, r2 mov r6, #0 mov r5, r7 -.L717: +.L719: ldr r3, [r7, #2524] add r3, r3, #1 str r3, [r7, #2524] @@ -4891,35 +4965,35 @@ FtlMapWritePage: ldrh r2, [r4, #2] sub r3, r3, #1 cmp r2, r3 - bge .L718 + bge .L720 ldrh r2, [r4] movw r3, #65535 cmp r2, r3 - bne .L719 -.L718: + bne .L721 +.L720: mov r0, r4 bl Ftl_write_map_blk_to_last_page -.L719: +.L721: ldrh r3, [r4] ldr r2, [r4, #12] lsl r3, r3, #1 ldrh r3, [r2, r3] cmp r3, #0 - bne .L720 + bne .L722 movw r2, #735 - ldr r1, .L736+4 - ldr r0, .L736+8 + ldr r1, .L738+4 + ldr r0, .L738+8 bl sftl_printk -.L720: +.L722: ldrh r2, [r4] ldrh r3, [r4, #10] cmp r2, r3 - bcc .L721 + bcc .L723 mov r2, #736 - ldr r1, .L736+4 - ldr r0, .L736+8 + ldr r1, .L738+4 + ldr r0, .L738+8 bl sftl_printk -.L721: +.L723: ldrh r3, [r4] mov r1, #16 ldr r2, [r4, #12] @@ -4934,7 +5008,7 @@ FtlMapWritePage: bl __memzero ldr r3, [r5, #3276] ldr r2, [r4, #28] - ldr r0, .L736+12 + ldr r0, .L738+12 strh r8, [r3, #8] @ movhi str r2, [r3, #4] ldrh r2, [r4, #4] @@ -4950,10 +5024,10 @@ FtlMapWritePage: strh r0, [r4, #2] @ movhi ldr r3, [r5, #3264] cmn r3, #1 - bne .L722 + bne .L724 ldr r1, [r5, #3268] add r6, r6, #1 - ldr r0, .L736+16 + ldr r0, .L738+16 uxth r6, r6 bl sftl_printk ldrh r3, [r4, #2] @@ -4962,34 +5036,34 @@ FtlMapWritePage: subls r3, r3, #1 strhls r3, [r4, #2] @ movhi cmp r6, #3 - bls .L724 + bls .L726 mov r2, r6 ldr r1, [r5, #3268] - ldr r0, .L736+20 + ldr r0, .L738+20 bl sftl_printk -.L725: - b .L725 -.L724: +.L727: + b .L727 +.L726: ldr r3, [r4, #32] cmp r3, #0 - beq .L717 -.L735: - b .L735 -.L722: + beq .L719 +.L737: + b .L737 +.L724: cmp r3, #0 strhne r10, [r4, #40] @ movhi cmp r0, #1 cmpne r3, #256 moveq r0, #1 movne r0, #0 - beq .L717 + beq .L719 ldr r2, [r5, #3268] ldr r3, [r4, #24] str r2, [r3, r8, lsl #2] ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L737: +.L739: .align 2 -.L736: +.L738: .word .LANCHOR0 .word .LANCHOR1+242 .word .LC1 @@ -5009,22 +5083,22 @@ load_l2p_region: mov ip, sp push {r4, r5, r6, r7, r8, fp, ip, lr, pc} sub fp, ip, #4 - ldr r4, .L745 + ldr r4, .L747 uxth r6, r0 uxth r8, r1 ldrh r3, [r4, #136] cmp r3, r6 - bcs .L739 + bcs .L741 movw r2, #510 - ldr r1, .L745+4 - ldr r0, .L745+8 + ldr r1, .L747+4 + ldr r0, .L747+8 bl sftl_printk -.L739: +.L741: ldr r3, [r4, #3892] mov r5, #12 ldr r7, [r3, r6, lsl #2] cmp r7, #0 - bne .L740 + bne .L742 mul r5, r5, r8 ldr r3, [r4, #2492] ldrh r2, [r4, #110] @@ -5037,14 +5111,14 @@ load_l2p_region: ldr r3, [r4, #2492] add r5, r3, r5 str r7, [r5, #4] -.L741: +.L743: mov r0, #0 ldmfd sp, {r4, r5, r6, r7, r8, fp, sp, pc} -.L740: +.L742: mul r5, r5, r8 ldr r3, [r4, #2492] mov r2, #1 - ldr r0, .L745+12 + ldr r0, .L747+12 mov r1, r2 str r7, [r4, #3268] add r3, r3, r5 @@ -5056,12 +5130,12 @@ load_l2p_region: ldr r3, [r4, #3264] ldr r8, [r4, #3276] cmp r3, #256 - bne .L742 + bne .L744 mov r2, r7 mov r1, r6 - ldr r0, .L745+16 + ldr r0, .L747+16 bl sftl_printk - ldr r0, .L745+20 + ldr r0, .L747+20 lsr r3, r7, #10 mov r1, r6 strh r3, [r0, #40] @ movhi @@ -5069,42 +5143,42 @@ load_l2p_region: add r3, r3, r5 ldr r2, [r3, #8] bl FtlMapWritePage -.L742: +.L744: ldrh r3, [r8, #8] cmp r3, r6 - beq .L743 + beq .L745 mov r2, r7 mov r1, r6 - ldr r0, .L745+24 + ldr r0, .L747+24 bl sftl_printk mov r3, #4 ldr r1, [r4, #3276] mov r2, r3 - ldr r0, .L745+28 + ldr r0, .L747+28 bl rknand_print_hex ldrh r3, [r4, #136] mov r2, #4 ldr r1, [r4, #3892] - ldr r0, .L745+32 + ldr r0, .L747+32 bl rknand_print_hex -.L743: +.L745: ldrh r3, [r8, #8] cmp r3, r6 - beq .L744 + beq .L746 movw r2, #535 - ldr r1, .L745+4 - ldr r0, .L745+8 + ldr r1, .L747+4 + ldr r0, .L747+8 bl sftl_printk -.L744: +.L746: ldr r3, [r4, #2492] mov r1, #0 add r2, r3, r5 str r1, [r2, #4] strh r6, [r3, r5] @ movhi - b .L741 -.L746: + b .L743 +.L748: .align 2 -.L745: +.L747: .word .LANCHOR0 .word .LANCHOR1+258 .word .LC1 @@ -5136,35 +5210,35 @@ ftl_map_blk_gc: ldrh r2, [r4, #8] ldrh r1, [r4, #40] sub r3, ip, #4 - ldr r5, .L770 + ldr r5, .L772 cmp r2, r3 - bge .L748 + bge .L750 movw r3, #65535 cmp r1, r3 - beq .L750 + beq .L752 ldrh r2, [r4, #2] ldrh r3, [r5, #104] cmp r2, r3 - bcc .L751 -.L748: + bcc .L753 +.L750: movw r3, #65535 uxth r0, r0 cmp r1, r3 - beq .L752 + beq .L754 ldrh r2, [r5, #104] ldrh r3, [r4, #2] cmp r2, r3 subls lr, r6, #2 movls r2, #0 - bls .L753 -.L752: + bls .L755 +.L754: lsl r0, r0, #1 ldrh r8, [r6, r0] cmp r8, #0 - beq .L750 + beq .L752 ldr r3, [r4, #32] cmp r3, #0 - bne .L750 + bne .L752 mov r2, #1 str r2, [r4, #32] strh r3, [r6, r0] @ movhi @@ -5174,62 +5248,62 @@ ftl_map_blk_gc: strh r3, [r4, #8] @ movhi ldrh r3, [r5, #104] cmp r2, r3 - bcc .L757 + bcc .L759 mov r0, r4 bl ftl_map_blk_alloc_new_blk -.L757: +.L759: mov r6, #0 -.L758: +.L760: ldrh r3, [r4, #6] uxth r10, r6 cmp r3, r10 - bhi .L765 + bhi .L767 mov r1, #1 mov r0, r8 bl FtlFreeSysBlkQueueIn mov r3, #0 str r3, [r4, #32] -.L750: +.L752: ldrh r2, [r4, #2] ldrh r3, [r5, #104] cmp r2, r3 - bcc .L751 + bcc .L753 mov r0, r4 bl ftl_map_blk_alloc_new_blk -.L751: +.L753: mov r0, #0 sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L755: +.L757: ldrh r10, [lr, #2]! add r8, r2, #1 cmp r10, r1 - beq .L754 + beq .L756 mov r2, r8 -.L753: +.L755: uxth r7, r2 cmp r7, ip - bcc .L755 + bcc .L757 mov r7, r0 -.L754: +.L756: uxth r2, r2 - ldr r0, .L770+4 + ldr r0, .L772+4 lsl r2, r2, #1 ldrh r2, [r6, r2] bl sftl_printk mvn r3, #0 mov r0, r7 strh r3, [r4, #40] @ movhi - b .L752 -.L765: + b .L754 +.L767: uxth r7, r6 add r3, r9, r7, lsl #2 str r3, [fp, #-44] ldr r3, [r9, r7, lsl #2] cmp r8, r3, lsr #10 - bne .L759 + bne .L761 ldr r3, [r5, #3848] - ldr r0, .L770+8 + ldr r0, .L772+8 str r3, [r5, #3272] ldr r3, [r5, #3288] str r3, [r5, #3276] @@ -5242,40 +5316,40 @@ ftl_map_blk_gc: ldr r3, [fp, #-48] ldrh r2, [r3, #8] cmp r2, r10 - beq .L760 + beq .L762 movw r2, #647 - ldr r1, .L770+12 - ldr r0, .L770+16 + ldr r1, .L772+12 + ldr r0, .L772+16 bl sftl_printk ldr r3, [fp, #-48] -.L760: +.L762: ldr r2, [r5, #3264] cmn r2, #1 - bne .L761 -.L763: + bne .L763 +.L765: ldr r2, [fp, #-44] mov r3, #0 str r3, [r2] -.L762: - b .L762 -.L761: +.L764: + b .L764 +.L763: ldrh r2, [r3, #8] cmp r2, r10 - bne .L763 + bne .L765 ldrh r2, [r3] ldrh r3, [r4, #4] cmp r2, r3 - bne .L763 + bne .L765 ldr r2, [r5, #3272] mov r1, r7 mov r0, r4 bl FtlMapWritePage -.L759: +.L761: add r6, r6, #1 - b .L758 -.L771: + b .L760 +.L773: .align 2 -.L770: +.L772: .word .LANCHOR0 .word .LC93 .word .LANCHOR0+3264 @@ -5294,7 +5368,7 @@ flush_l2p_region: mov ip, sp push {r4, r5, fp, ip, lr, pc} sub fp, ip, #4 - ldr r5, .L773 + ldr r5, .L775 uxth r0, r0 mov r4, #12 mul r4, r4, r0 @@ -5312,9 +5386,9 @@ flush_l2p_region: bic r3, r3, #-2147483648 str r3, [r4, #4] ldmfd sp, {r4, r5, fp, sp, pc} -.L774: +.L776: .align 2 -.L773: +.L775: .word .LANCHOR0 .size flush_l2p_region, .-flush_l2p_region .align 2 @@ -5331,7 +5405,7 @@ log2phys: sub fp, ip, #4 sub sp, sp, #4 mvn r6, #0 - ldr r4, .L789 + ldr r4, .L791 mov r7, r1 mov r10, r2 ldrh r3, [r4, #108] @@ -5342,20 +5416,20 @@ log2phys: uxth r8, r9 uxth r6, r6 cmp r0, r3 - bcc .L776 + bcc .L778 movw r2, #847 - ldr r1, .L789+4 - ldr r0, .L789+8 + ldr r1, .L791+4 + ldr r0, .L791+8 bl sftl_printk -.L776: +.L778: ldrh r1, [r4, #138] mov r2, #0 ldr r0, [r4, #2492] mov r3, #12 -.L777: +.L779: uxth r5, r2 cmp r5, r1 - bcc .L782 + bcc .L784 str r3, [fp, #-44] bl select_l2p_ram_region ldr r3, [fp, #-44] @@ -5366,32 +5440,32 @@ log2phys: ldrh r2, [r2, r3] movw r3, #65535 cmp r2, r3 - beq .L783 + beq .L785 ldr r3, [r1, #4] cmp r3, #0 - bge .L783 + bge .L785 bl flush_l2p_region -.L783: +.L785: mov r1, r5 uxth r0, r9 bl load_l2p_region - b .L778 -.L782: + b .L780 +.L784: add r2, r2, #1 mla ip, r3, r2, r0 ldrh ip, [ip, #-12] cmp ip, r8 - bne .L777 -.L778: + bne .L779 +.L780: cmp r10, #0 mov r3, #12 - bne .L779 + bne .L781 ldr r2, [r4, #2492] mla r3, r3, r5, r2 ldr r3, [r3, #8] ldr r3, [r3, r6, lsl #2] str r3, [r7] -.L780: +.L782: ldr r2, [r4, #2492] mov r3, #12 mov r0, #0 @@ -5401,7 +5475,7 @@ log2phys: addne r3, r3, #1 strne r3, [r5, #4] ldmib sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L779: +.L781: mul r3, r3, r5 ldr r2, [r4, #2492] ldr r1, [r7] @@ -5413,12 +5487,12 @@ log2phys: ldr r2, [r3, #4] orr r2, r2, #-2147483648 str r2, [r3, #4] - ldr r3, .L789+12 + ldr r3, .L791+12 strh r8, [r3] @ movhi - b .L780 -.L790: + b .L782 +.L792: .align 2 -.L789: +.L791: .word .LANCHOR0 .word .LANCHOR1+289 .word .LC1 @@ -5438,7 +5512,7 @@ FtlReUsePrevPpa: sub fp, ip, #4 sub sp, sp, #4 mov r6, r0 - ldr r7, .L801 + ldr r7, .L803 ubfx r0, r1, #10, #16 str r1, [fp, #-32] bl P2V_block_in_plane @@ -5446,34 +5520,34 @@ FtlReUsePrevPpa: lsl r5, r0, #1 ldrh r3, [r2, r5] cmp r3, #0 - bne .L792 + bne .L794 ldr r4, [r7, #2340] cmp r4, #0 - beq .L793 + beq .L795 movw r2, #2344 movw lr, #65535 ldrh ip, [r7, r2] ldr r2, [r7, #2316] sub r4, r4, r2 ubfx r4, r4, #3, #16 -.L794: +.L796: uxth r1, r3 cmp ip, r1 - bls .L793 + bls .L795 cmp r4, r0 - bne .L795 + bne .L797 mov r1, r4 - ldr r0, .L801+4 + ldr r0, .L803+4 bl List_remove_node movw r3, #2344 ldrh r3, [r7, r3] cmp r3, #0 - bne .L796 + bne .L798 movw r2, #1737 - ldr r1, .L801+8 - ldr r0, .L801+12 + ldr r1, .L803+8 + ldr r0, .L803+12 bl sftl_printk -.L796: +.L798: movw r2, #2344 mov r0, r4 ldrh r3, [r7, r2] @@ -5482,25 +5556,25 @@ FtlReUsePrevPpa: bl INSERT_DATA_LIST ldr r2, [r7, #2324] ldrh r3, [r2, r5] -.L792: +.L794: add r3, r3, #1 strh r3, [r2, r5] @ movhi - b .L793 -.L795: + b .L795 +.L797: lsl r4, r4, #3 add r3, r3, #1 ldrh r4, [r2, r4] cmp r4, lr - bne .L794 -.L793: + bne .L796 +.L795: mov r2, #1 sub r1, fp, #32 mov r0, r6 bl log2phys ldmib sp, {r4, r5, r6, r7, fp, sp, pc} -.L802: +.L804: .align 2 -.L801: +.L803: .word .LANCHOR0 .word .LANCHOR0+2340 .word .LANCHOR1+298 @@ -5520,39 +5594,39 @@ ftl_scan_all_data: sub fp, ip, #4 sub sp, sp, #24 mov r5, #0 - ldr r6, .L811 + ldr r6, .L813 mov r1, #0 - ldr r0, .L811+4 + ldr r0, .L813+4 bl sftl_printk mov r4, r6 -.L804: +.L806: ldr r3, [r6, #2504] cmp r5, r3 - bcc .L810 + bcc .L812 sub sp, fp, #28 ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} -.L810: +.L812: mov r2, #0 sub r1, fp, #32 mov r0, r5 bl log2phys ubfx r3, r5, #0, #11 cmp r3, #0 - bne .L805 + bne .L807 ldr r2, [fp, #-32] mov r1, r5 - ldr r0, .L811+8 + ldr r0, .L813+8 bl sftl_printk -.L805: +.L807: ldr r3, [fp, #-32] cmn r3, #1 - beq .L807 + beq .L809 str r3, [r4, #3268] mov r2, #0 ldr r3, [r4, #3284] mov r1, #1 ldr r7, [r4, #3288] - ldr r0, .L811+12 + ldr r0, .L813+12 str r3, [r4, #3272] str r5, [r4, #3280] str r7, [r4, #3276] @@ -5561,14 +5635,14 @@ ftl_scan_all_data: ldr r3, [r4, #3264] cmn r3, #1 cmpne r3, #256 - beq .L808 + beq .L810 ldr r3, [r7, #8] cmp r5, r3 - beq .L807 -.L808: + beq .L809 +.L810: ldr r2, [r4, #3272] ldr r3, [r4, #3276] - ldr r0, .L811+16 + ldr r0, .L813+16 ldr r1, [r2, #4] str r1, [sp, #16] mov r1, r5 @@ -5583,12 +5657,12 @@ ftl_scan_all_data: ldr r3, [r3] ldr r2, [r4, #3268] bl sftl_printk -.L807: +.L809: add r5, r5, #1 - b .L804 -.L812: + b .L806 +.L814: .align 2 -.L811: +.L813: .word .LANCHOR0 .word .LC94 .word .LC95 @@ -5608,21 +5682,21 @@ FtlReadRefresh: push {r4, r5, fp, ip, lr, pc} sub fp, ip, #4 sub sp, sp, #88 - ldr r3, .L826 + ldr r3, .L828 ldr r0, [r3, #2716] mov r4, r3 cmp r0, #0 - beq .L814 + beq .L816 ldr r1, [r3, #2720] ldr r2, [r3, #2504] cmp r1, r2 - bcs .L815 + bcs .L817 mov r5, #2048 -.L820: +.L822: ldr r0, [r4, #2720] ldr r3, [r4, #2504] cmp r0, r3 - bcs .L817 + bcs .L819 mov r2, #0 sub r1, fp, #108 bl log2phys @@ -5631,10 +5705,10 @@ FtlReadRefresh: cmn r2, #1 add r3, r3, #1 str r3, [r4, #2720] - beq .L818 + beq .L820 str r3, [fp, #-88] sub r0, fp, #20 - ldr r3, .L826+4 + ldr r3, .L828+4 mov r1, #1 str r2, [fp, #-100] mov r2, #0 @@ -5645,53 +5719,53 @@ FtlReadRefresh: bl FlashReadPages ldr r3, [fp, #-104] cmp r3, #256 - bne .L817 + bne .L819 ldr r0, [fp, #-108] ubfx r0, r0, #10, #16 bl P2V_block_in_plane bl FtlGcRefreshBlock -.L817: +.L819: mvn r0, #0 -.L813: +.L815: sub sp, fp, #20 ldmfd sp, {r4, r5, fp, sp, pc} -.L818: +.L820: subs r5, r5, #1 - bne .L820 - b .L817 -.L815: + bne .L822 + b .L819 +.L817: ldr r2, [r3, #2508] mov r0, #0 str r0, [r3, #2716] str r0, [r3, #2720] str r2, [r3, #2712] - b .L813 -.L814: + b .L815 +.L816: ldr r1, [r3, #2508] ldr r2, [r3, #2712] add ip, r1, #1048576 cmp r2, ip - bhi .L823 + bhi .L825 ldr r3, [r3, #2564] mov ip, #33554432 lsr r3, r3, #10 add r2, r2, ip, asr r3 cmp r1, r2 - bhi .L823 - ldr r3, .L826+8 + bhi .L825 + ldr r3, .L828+8 ldrb r3, [r3, #28] @ zero_extendqisi2 cmp r3, #0 - bne .L813 -.L823: + bne .L815 +.L825: mov r3, #1 mov r0, #0 str r3, [r4, #2716] str r0, [r4, #2720] str r1, [r4, #2712] - b .L813 -.L827: + b .L815 +.L829: .align 2 -.L826: +.L828: .word .LANCHOR0 .word ftl_temp_buf .word .LANCHOR0+2268 @@ -5710,110 +5784,110 @@ ftl_check_vpc: sub fp, ip, #4 sub sp, sp, #4 mov r4, #0 - ldr r6, .L852 - ldr r1, .L852+4 - ldr r0, .L852+8 + ldr r6, .L854 + ldr r1, .L854+4 + ldr r0, .L854+8 mov r5, r6 bl sftl_printk mov r1, #8192 - ldr r0, .L852+12 + ldr r0, .L854+12 bl __memzero -.L829: +.L831: ldr r3, [r6, #2504] cmp r4, r3 - bcc .L831 - ldr r8, .L852+12 + bcc .L833 + ldr r8, .L854+12 mov r4, #0 - ldr r9, .L852+16 + ldr r9, .L854+16 mov r6, r4 -.L832: +.L834: ldrh r2, [r5, #40] uxth r3, r4 cmp r2, r3 - bhi .L834 + bhi .L836 ldr r4, [r5, #2340] cmp r4, #0 - beq .L835 + beq .L837 movw r3, #2344 - ldr r9, .L852+12 + ldr r9, .L854+12 ldrh r8, [r5, r3] mov r7, #0 ldr r3, [r5, #2316] - ldr r10, .L852+20 + ldr r10, .L854+20 sub r4, r4, r3 ubfx r4, r4, #3, #16 -.L836: +.L838: uxth r3, r7 cmp r8, r3 - bls .L835 + bls .L837 ldr r2, [r5, #2324] lsl r3, r4, #1 ldrh r2, [r2, r3] cmp r2, #0 - beq .L837 + beq .L839 mov r6, #1 ldrh r3, [r9, r3] mov r1, r4 mov r0, r10 bl sftl_printk -.L837: +.L839: ldr r3, [r5, #2316] lsl r4, r4, #3 add r7, r7, #1 ldrh r4, [r3, r4] movw r3, #65535 cmp r4, r3 - bne .L836 -.L835: + bne .L838 +.L837: cmp r6, #0 ldmibeq sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} movw r2, #2373 - ldr r1, .L852+4 - ldr r0, .L852+24 + ldr r1, .L854+4 + ldr r0, .L854+24 bl sftl_printk ldmib sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L831: +.L833: mov r2, #0 sub r1, fp, #44 mov r0, r4 bl log2phys ldr r0, [fp, #-44] cmn r0, #1 - beq .L830 + beq .L832 ubfx r0, r0, #10, #16 bl P2V_block_in_plane - ldr r2, .L852+12 + ldr r2, .L854+12 lsl r0, r0, #1 ldrh r3, [r2, r0] add r3, r3, #1 strh r3, [r2, r0] @ movhi -.L830: +.L832: add r4, r4, #1 - b .L829 -.L834: + b .L831 +.L836: uxth r1, r4 ldr r3, [r5, #2324] lsl r7, r1, #1 ldrh r2, [r3, r7] ldrh r3, [r8, r7] cmp r2, r3 - beq .L833 + beq .L835 mov r0, r9 bl sftl_printk ldr r3, [r5, #2324] movw r2, #65535 ldrh r3, [r3, r7] cmp r3, r2 - beq .L833 + beq .L835 ldrh r2, [r8, r7] cmp r2, r3 movhi r6, #1 -.L833: +.L835: add r4, r4, #1 - b .L832 -.L853: + b .L834 +.L855: .align 2 -.L852: +.L854: .word .LANCHOR0 .word .LANCHOR1+314 .word .LC97 @@ -5841,7 +5915,7 @@ FtlMapBlkWriteDump_data: mov r3, #0 ldrh r5, [r0, #6] str r3, [r0, #36] - ldr r3, .L861 + ldr r3, .L863 ldr r2, [r0, #24] sub r5, r5, #1 uxth r5, r5 @@ -5853,25 +5927,25 @@ FtlMapBlkWriteDump_data: ldr r2, [r2, r5, lsl #2] cmp r2, #0 str r2, [r3, #3268] - beq .L856 + beq .L858 mov r2, #1 add r0, r3, #3264 mov r1, r2 bl FlashReadPages -.L857: +.L859: ldr r2, [r4, #3272] mov r1, r5 mov r0, r6 bl FtlMapWritePage ldmfd sp, {r4, r5, r6, fp, sp, pc} -.L856: +.L858: ldrh r2, [r3, #110] mov r1, #255 bl ftl_memset - b .L857 -.L862: + b .L859 +.L864: .align 2 -.L861: +.L863: .word .LANCHOR0 .size FtlMapBlkWriteDump_data, .-FtlMapBlkWriteDump_data .align 2 @@ -5888,7 +5962,7 @@ FtlScanSysBlk: sub fp, ip, #4 sub sp, sp, #24 mov r5, #0 - ldr r4, .L944 + ldr r4, .L946 mov r1, r5 ldr r2, [r4, #128] add r3, r4, #3952 @@ -5920,11 +5994,11 @@ FtlScanSysBlk: str r3, [r4, #2584] ldrh r3, [r4, #40] str r3, [fp, #-44] -.L864: +.L866: ldrh r3, [r6, #42] ldr r2, [fp, #-44] cmp r3, r2 - bls .L905 + bls .L907 ldr r1, [r6, #3176] mov r7, #0 ldrh r2, [r6, #32] @@ -5933,9 +6007,9 @@ FtlScanSysBlk: ldr r3, [r6, #3172] str r1, [fp, #-48] ldrh r9, [r6, #112] - ldr ip, .L944+4 - b .L906 -.L866: + ldr ip, .L946+4 + b .L908 +.L868: ldrb r0, [ip, r7] @ zero_extendqisi2 ldr r1, [fp, #-44] str r3, [fp, #-64] @@ -5948,7 +6022,7 @@ FtlScanSysBlk: ldr ip, [fp, #-56] ldr r2, [fp, #-60] ldr r3, [fp, #-64] - bne .L865 + bne .L867 mov r1, #20 mla r0, r1, r10, r8 ldr r1, [fp, #-52] @@ -5964,31 +6038,31 @@ FtlScanSysBlk: str r1, [r0, #12] add r1, r10, #1 uxth r10, r1 -.L865: +.L867: add r7, r7, #1 -.L906: +.L908: uxth r1, r7 cmp r2, r1 - bhi .L866 + bhi .L868 cmp r10, #0 - bne .L867 -.L904: + bne .L869 +.L906: ldr r3, [fp, #-44] add r3, r3, #1 uxth r3, r3 str r3, [fp, #-44] - b .L864 -.L867: + b .L866 +.L869: mov r2, #1 mov r1, r10 mov r0, r8 bl FlashReadPages mov r3, #0 -.L943: +.L945: str r3, [fp, #-48] ldrh r3, [fp, #-48] cmp r10, r3 - bls .L904 + bls .L906 ldr r3, [fp, #-48] mov r9, #20 mul r9, r9, r3 @@ -6000,9 +6074,9 @@ FtlScanSysBlk: cmn r3, #1 lsr ip, r1, #10 uxth r8, ip - bne .L871 + bne .L873 mov r3, #16 -.L873: +.L875: ldr r0, [r4, #3836] str ip, [fp, #-56] str r3, [fp, #-52] @@ -6018,72 +6092,72 @@ FtlScanSysBlk: ldr ip, [fp, #-56] cmp r2, r3 ldr r3, [fp, #-52] - bne .L870 + bne .L872 ldr r3, [r4, #3836] mvn r2, #0 str r2, [r3, r9] ldr r3, [r4, #3836] ldr r3, [r3, r9] cmp r3, r2 - bne .L871 -.L872: + bne .L873 +.L874: mov r1, #0 uxth r0, ip bl FtlFreeSysBlkQueueIn - b .L876 -.L870: + b .L878 +.L872: ldr r2, [r4, #3836] ldr r2, [r2, r9] cmn r2, #1 - bne .L871 + bne .L873 sub r3, r3, #1 uxth r3, r3 cmp r3, #0 - bne .L873 - b .L872 -.L871: + bne .L875 + b .L874 +.L873: ldr r2, [r6, #2540] ldr r3, [r7, #4] cmn r2, #1 - beq .L874 + beq .L876 cmp r2, r3 - bhi .L875 -.L874: + bhi .L877 +.L876: cmn r3, #1 addne r2, r3, #1 strne r2, [r5, #2540] -.L875: +.L877: ldrh r2, [r7] movw r1, #61604 cmp r2, r1 - beq .L877 - bhi .L878 + beq .L879 + bhi .L880 movw r3, #61574 cmp r2, r3 - beq .L879 -.L876: + beq .L881 +.L878: ldr r3, [fp, #-48] add r3, r3, #1 - b .L943 -.L878: + b .L945 +.L880: movw r3, #61634 cmp r2, r3 - beq .L880 + beq .L882 movw r3, #65535 cmp r2, r3 - beq .L872 - b .L876 -.L880: - ldr r9, .L944+8 + beq .L874 + b .L878 +.L882: + ldr r9, .L946+8 ldr r3, [r4, #128] ldrh r2, [r9] cmp r2, r3 - bls .L882 + bls .L884 movw r2, #1256 - ldr r1, .L944+12 - ldr r0, .L944+16 + ldr r1, .L946+12 + ldr r0, .L946+16 bl sftl_printk -.L882: +.L884: ldr r0, [r4, #128] ldrh r2, [r9] ldr ip, [r4, #3896] @@ -6094,34 +6168,34 @@ FtlScanSysBlk: sxth r3, r3 sxth r1, r1 str r1, [fp, #-52] -.L883: +.L885: ldr r1, [fp, #-52] cmp r3, r1 - bgt .L889 + bgt .L891 cmp r3, #0 - bge .L921 - b .L876 -.L889: + bge .L923 + b .L878 +.L891: lsl lr, r3, #2 ldr r1, [r7, #4] str lr, [fp, #-56] ldr lr, [ip, r3, lsl #2] cmp r1, lr - bls .L884 + bls .L886 ldr r1, [ip] cmp r1, #0 - bne .L885 + bne .L887 cmp r0, r2 addne r2, r2, #1 strhne r2, [r9] @ movhi -.L885: +.L887: uxth ip, r3 mov r1, #0 -.L886: +.L888: uxth r0, r1 sxth r2, r1 cmp ip, r0 - bhi .L887 + bhi .L889 ldr r1, [r7, #4] cmp r3, #0 ldr r2, [r5, #3896] @@ -6130,16 +6204,16 @@ FtlScanSysBlk: lsl r2, r3, #1 ldr r1, [r5, #3872] strh r8, [r1, r2] @ movhi - blt .L876 - ldr r2, .L944+8 + blt .L878 + ldr r2, .L946+8 ldr r1, [r5, #128] ldrh r2, [r2] sub r1, r1, r2 sub r1, r1, #1 sxth r1, r1 cmp r3, r1 - bgt .L876 -.L921: + bgt .L878 +.L923: add r2, r2, #1 ldr r1, [r7, #4] strh r2, [r9] @ movhi @@ -6147,10 +6221,10 @@ FtlScanSysBlk: str r1, [r2, r3, lsl #2] lsl r3, r3, #1 ldr r2, [r4, #3872] -.L941: +.L943: strh r8, [r2, r3] @ movhi - b .L876 -.L887: + b .L878 +.L889: ldr r0, [r6, #3896] add r1, r1, #1 add lr, r0, r2, lsl #2 @@ -6161,21 +6235,21 @@ FtlScanSysBlk: add lr, r0, r2 ldrh lr, [lr, #2] strh lr, [r0, r2] @ movhi - b .L886 -.L884: + b .L888 +.L886: sub r3, r3, #1 sxth r3, r3 - b .L883 -.L879: + b .L885 +.L881: ldrh r2, [r4, #144] ldrh r3, [r4, #120] cmp r2, r3 - bls .L892 + bls .L894 movw r2, #1297 - ldr r1, .L944+12 - ldr r0, .L944+16 + ldr r1, .L946+12 + ldr r0, .L946+16 bl sftl_printk -.L892: +.L894: ldrh r2, [r4, #120] ldrh r1, [r4, #144] ldr ip, [r4, #3884] @@ -6183,15 +6257,15 @@ FtlScanSysBlk: sxth r3, r0 sub r0, r0, r1 str r0, [fp, #-52] -.L893: +.L895: ldr r0, [fp, #-52] cmp r3, r0 - ble .L898 + ble .L900 ldr r9, [ip, r3, lsl #2] lsl lr, r3, #2 ldr r0, [r7, #4] cmp r0, r9 - bls .L894 + bls .L896 sub r2, r2, r1 ldr r0, [ip] clz r2, r2 @@ -6203,27 +6277,27 @@ FtlScanSysBlk: addeq r1, r1, #1 strheq r1, [r5, #144] @ movhi mov r1, #0 -.L896: +.L898: uxth r0, r1 sxth r2, r1 cmp ip, r0 - bhi .L897 + bhi .L899 ldr r1, [r7, #4] ldr r2, [r5, #3884] str r1, [r2, lr] lsl r2, r3, #1 ldr r1, [r5, #148] strh r8, [r1, r2] @ movhi -.L898: +.L900: cmp r3, #0 - blt .L876 + blt .L878 ldrh r2, [r5, #120] ldrh r1, [r5, #144] sub r2, r2, #1 sub r2, r2, r1 sxth r2, r2 cmp r3, r2 - bgt .L876 + bgt .L878 add r1, r1, #1 ldr r2, [r5, #3884] strh r1, [r5, #144] @ movhi @@ -6231,8 +6305,8 @@ FtlScanSysBlk: str r1, [r2, r3, lsl #2] lsl r3, r3, #1 ldr r2, [r5, #148] - b .L941 -.L897: + b .L943 +.L899: ldr r0, [r6, #3884] add r1, r1, #1 add r9, r0, r2, lsl #2 @@ -6243,81 +6317,81 @@ FtlScanSysBlk: add r9, r0, r2 ldrh r9, [r9, #2] strh r9, [r0, r2] @ movhi - b .L896 -.L894: + b .L898 +.L896: sub r3, r3, #1 sxth r3, r3 - b .L893 -.L877: - ldr r9, .L944+20 + b .L895 +.L879: + ldr r9, .L946+20 movw r2, #65535 ldrh r1, [r9] cmp r1, r2 strheq r8, [r9] @ movhi - beq .L942 + beq .L944 ldrh r0, [r9, #4] cmp r0, r2 - beq .L901 + beq .L903 mov r1, #1 bl FtlFreeSysBlkQueueIn -.L901: +.L903: ldr r3, [r7, #4] ldr r2, [r4, #2584] cmp r2, r3 strhcs r8, [r9, #4] @ movhi - bcs .L876 + bcs .L878 ldrh r3, [r9] strh r8, [r9] @ movhi strh r3, [r9, #4] @ movhi ldr r3, [r7, #4] -.L942: +.L944: str r3, [r4, #2584] - b .L876 -.L905: + b .L878 +.L907: ldr r2, [r6, #3872] ldrh r3, [r2] cmp r3, #0 - beq .L907 -.L910: + beq .L909 +.L912: ldr r1, [r4, #148] ldrh r2, [r1] cmp r2, #0 - beq .L908 -.L909: - ldr r3, .L944+8 + beq .L910 +.L911: + ldr r3, .L946+8 ldrh r2, [r3] ldr r3, [r4, #128] cmp r2, r3 - bls .L940 + bls .L942 movw r2, #1422 - ldr r1, .L944+12 - ldr r0, .L944+16 + ldr r1, .L946+12 + ldr r0, .L946+16 bl sftl_printk -.L940: +.L942: mov r0, #0 sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L907: - ldr r1, .L944+8 +.L909: + ldr r1, .L946+8 ldrh r1, [r1] cmp r1, #0 ldrne r1, [r6, #128] - beq .L910 -.L911: + beq .L912 +.L913: sxth ip, r3 cmp ip, r1 - bcs .L910 + bcs .L912 lsl r0, ip, #1 add r3, r3, #1 ldrh r0, [r2, r0] cmp r0, #0 - beq .L911 + beq .L913 mov r3, ip mov lr, #0 -.L912: +.L914: ldr r2, [r5, #128] cmp r3, r2 - bcs .L910 + bcs .L912 ldr r1, [r5, #3872] lsl r2, r3, #1 sub r0, r3, ip @@ -6331,27 +6405,27 @@ FtlScanSysBlk: str r6, [r1, r0, lsl #2] ldr r1, [r5, #3872] strh lr, [r1, r2] @ movhi - b .L912 -.L908: + b .L914 +.L910: ldrh r3, [r4, #144] cmp r3, #0 ldrhne r0, [r4, #120] - beq .L909 -.L917: + beq .L911 +.L919: sxth r3, r2 cmp r3, r0 mov ip, r3 - bge .L909 + bge .L911 lsl lr, r3, #1 add r2, r2, #1 ldrh lr, [r1, lr] cmp lr, #0 - beq .L917 + beq .L919 mov lr, #0 -.L918: +.L920: ldrh r2, [r5, #120] cmp r3, r2 - bge .L909 + bge .L911 ldr r1, [r5, #148] lsl r2, r3, #1 sub r0, r3, ip @@ -6365,10 +6439,10 @@ FtlScanSysBlk: str r6, [r1, r0, lsl #2] ldr r1, [r5, #148] strh lr, [r1, r2] @ movhi - b .L918 -.L945: + b .L920 +.L947: .align 2 -.L944: +.L946: .word .LANCHOR0 .word .LANCHOR0+60 .word .LANCHOR0+3952 @@ -6392,7 +6466,7 @@ FtlMapTblRecovery: mov r1, #0 ldr r3, [r0, #24] mov r4, r0 - ldr r6, .L971 + ldr r6, .L973 mov r7, #0 ldr r8, [r0, #12] str r3, [fp, #-44] @@ -6418,16 +6492,16 @@ FtlMapTblRecovery: mov r2, #1 str r7, [r4, #28] str r2, [r4, #36] -.L947: +.L949: ldr r3, [fp, #-52] sxth r2, r7 cmp r2, r3 - bge .L965 + bge .L967 ldr r3, [fp, #-52] lsl r0, r2, #1 sub r1, r3, #1 cmp r2, r1 - bne .L948 + bne .L950 add r10, r8, r0 mov r1, #1 ldrh r0, [r8, r0] @@ -6438,26 +6512,26 @@ FtlMapTblRecovery: sxth r1, r0 ldr r2, [fp, #-52] add r0, r0, #1 - ldr ip, .L971+4 + ldr ip, .L973+4 strh r7, [r4] @ movhi add r7, r1, #1 strh r0, [r4, #2] @ movhi ldr r2, [r3, r2, lsl #2] str r2, [r4, #28] -.L949: +.L951: sxth r2, r8 cmp r2, r7 - blt .L952 -.L965: + blt .L954 +.L967: mov r0, r4 bl ftl_free_no_use_map_blk ldrh r2, [r4, #2] ldrh r3, [r5, #104] cmp r2, r3 - bne .L954 + bne .L956 mov r0, r4 bl ftl_map_blk_alloc_new_blk -.L954: +.L956: mov r0, r4 bl ftl_map_blk_gc mov r0, r4 @@ -6465,7 +6539,7 @@ FtlMapTblRecovery: mov r0, #0 sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L952: +.L954: ldrh r1, [r10] mov r0, ip str ip, [fp, #-52] @@ -6479,28 +6553,28 @@ FtlMapTblRecovery: cmn r2, #1 ldrheq r2, [r10] strheq r2, [r4, #40] @ movhi - beq .L951 + beq .L953 ldrh r2, [r9, #8] ldr r3, [fp, #-48] cmp r3, r2 - bls .L951 + bls .L953 ldrh r1, [r4, #4] ldrh r0, [r9] cmp r0, r1 ldreq r1, [r6, #3268] ldreq r3, [fp, #-44] streq r1, [r3, r2, lsl #2] -.L951: +.L953: add r8, r8, #1 - b .L949 -.L948: + b .L951 +.L950: ldr r2, [r5, #3284] add r3, r8, r0 str r3, [fp, #-60] str r2, [r5, #3272] ldrh r2, [r5, #104] ldrh r1, [r8, r0] - ldr r0, .L971+4 + ldr r0, .L973+4 sub r2, r2, #1 orr r2, r2, r1, lsl #10 str r2, [r5, #3268] @@ -6509,24 +6583,24 @@ FtlMapTblRecovery: bl FlashReadPages ldr r2, [r5, #3264] cmn r2, #1 - beq .L967 + beq .L969 ldrh r1, [r9] ldrh r2, [r4, #4] cmp r1, r2 - bne .L967 + bne .L969 ldrh r1, [r9, #8] movw r2, #64245 cmp r1, r2 - beq .L956 -.L967: + beq .L958 +.L969: mov r10, #0 -.L957: +.L959: ldrh r1, [r5, #104] sxth r2, r10 cmp r2, r1 - bge .L963 + bge .L965 ldr r3, [fp, #-60] - ldr r0, .L971+4 + ldr r0, .L973+4 ldrh r1, [r3] orr r2, r2, r1, lsl #10 str r2, [r5, #3268] @@ -6535,33 +6609,33 @@ FtlMapTblRecovery: bl FlashReadPages ldr r2, [r5, #3264] cmn r2, #1 - beq .L961 + beq .L963 ldrh r2, [r9, #8] ldr r3, [fp, #-48] cmp r3, r2 - bls .L961 + bls .L963 ldrh r1, [r4, #4] ldrh r0, [r9] cmp r0, r1 ldreq r1, [r5, #3268] ldreq r3, [fp, #-44] streq r1, [r3, r2, lsl #2] -.L961: +.L963: add r10, r10, #1 - b .L957 -.L956: + b .L959 +.L958: mov r0, #0 mov lr, #4 -.L958: +.L960: ldrh r1, [r5, #104] sxth r2, r0 sub r1, r1, #1 cmp r2, r1 - blt .L960 -.L963: + blt .L962 +.L965: add r7, r7, #1 - b .L947 -.L960: + b .L949 +.L962: ldr ip, [r5, #3284] add r0, r0, #1 ldr r3, [fp, #-48] @@ -6573,10 +6647,10 @@ FtlMapTblRecovery: movhi r1, r10 ldrhi r2, [ip, r2] strhi r2, [r3, r1, lsl #2] - b .L958 -.L972: + b .L960 +.L974: .align 2 -.L971: +.L973: .word .LANCHOR0 .word .LANCHOR0+3264 .size FtlMapTblRecovery, .-FtlMapTblRecovery @@ -6592,12 +6666,12 @@ FtlLoadVonderInfo: mov ip, sp push {fp, ip, lr, pc} sub fp, ip, #4 - ldr r3, .L974 + ldr r3, .L976 ldrh r2, [r3, #120] add r0, r3, #3952 add r0, r0, #4 strh r2, [r0, #10] @ movhi - ldr r2, .L974+4 + ldr r2, .L976+4 strh r2, [r0, #4] @ movhi ldrh r2, [r3, #144] strh r2, [r0, #8] @ movhi @@ -6616,9 +6690,9 @@ FtlLoadVonderInfo: bl FtlMapTblRecovery mov r0, #0 ldmfd sp, {fp, sp, pc} -.L975: +.L977: .align 2 -.L974: +.L976: .word .LANCHOR0 .word -3962 .size FtlLoadVonderInfo, .-FtlLoadVonderInfo @@ -6634,7 +6708,7 @@ FtlL2PDataInit: mov ip, sp push {r4, r5, r6, fp, ip, lr, pc} sub fp, ip, #4 - ldr r4, .L979 + ldr r4, .L981 mov r1, #0 mvn r5, #0 ldr r2, [r4, #128] @@ -6651,21 +6725,21 @@ FtlL2PDataInit: mov r3, r4 mov lr, #12 mov r4, r2 -.L977: +.L979: ldrh r0, [r3, #138] uxth r1, r2 add ip, r2, #1 cmp r0, r1 - bhi .L978 + bhi .L980 mvn r1, #0 movw r0, #3908 - ldr r2, .L979+4 + ldr r2, .L981+4 strh r1, [r3, r0] @ movhi ldr r0, [r3, #128] strh r1, [r2, #2] @ movhi strh r1, [r2, #40] @ movhi strh r0, [r2, #10] @ movhi - ldr r0, .L979+8 + ldr r0, .L981+8 strh r0, [r2, #4] @ movhi ldrh r0, [r2, #44] strh r0, [r2, #8] @ movhi @@ -6680,7 +6754,7 @@ FtlL2PDataInit: ldr r0, [r3, #3892] str r0, [r3, #3932] ldmfd sp, {r4, r5, r6, fp, sp, pc} -.L978: +.L980: uxth r2, r2 ldr r1, [r3, #2492] mul r0, lr, r2 @@ -6696,10 +6770,10 @@ FtlL2PDataInit: add r2, r0, r2 str r2, [r1, #8] mov r2, ip - b .L977 -.L980: + b .L979 +.L982: .align 2 -.L979: +.L981: .word .LANCHOR0 .word .LANCHOR0+3908 .word -3902 @@ -6717,13 +6791,13 @@ FtlLoadMapInfo: push {fp, ip, lr, pc} sub fp, ip, #4 bl FtlL2PDataInit - ldr r0, .L982 + ldr r0, .L984 bl FtlMapTblRecovery mov r0, #0 ldmfd sp, {fp, sp, pc} -.L983: +.L985: .align 2 -.L982: +.L984: .word .LANCHOR0+3908 .size FtlLoadMapInfo, .-FtlLoadMapInfo .align 2 @@ -6738,7 +6812,7 @@ FtlVariablesInit: mov ip, sp push {r4, r5, fp, ip, lr, pc} sub fp, ip, #4 - ldr r4, .L985 + ldr r4, .L987 mvn r3, #0 mov r5, #0 mov r1, r5 @@ -6774,9 +6848,9 @@ FtlVariablesInit: bl FtlL2PDataInit mov r0, r5 ldmfd sp, {r4, r5, fp, sp, pc} -.L986: +.L988: .align 2 -.L985: +.L987: .word .LANCHOR0 .size FtlVariablesInit, .-FtlVariablesInit .align 2 @@ -6793,7 +6867,7 @@ SupperBlkListInit: sub fp, ip, #4 sub sp, sp, #16 mov r5, #0 - ldr r4, .L998 + ldr r4, .L1000 mov r1, #0 mov r8, r5 mov r6, r5 @@ -6809,20 +6883,20 @@ SupperBlkListInit: strh r5, [r3] @ movhi strh r5, [r4, r2] @ movhi str r3, [fp, #-48] -.L988: +.L990: ldrh r3, [r4, #40] uxth r10, r5 cmp r10, r3 - bcs .L995 + bcs .L997 ldrh r3, [r4, #102] mov r9, r10 ldrh ip, [r4, #32] str r3, [fp, #-44] mov r3, #0 mov r7, r3 - b .L996 -.L990: - ldr r2, .L998+4 + b .L998 +.L992: + ldr r2, .L1000+4 mov r1, r9 str ip, [fp, #-56] str r3, [fp, #-52] @@ -6836,73 +6910,73 @@ SupperBlkListInit: add r3, r3, #1 addeq r7, r7, r2 uxtheq r7, r7 -.L996: +.L998: uxth r1, r3 cmp ip, r1 - bhi .L990 + bhi .L992 cmp r7, #0 - beq .L991 + beq .L993 mov r1, r7 mov r0, #32768 bl __divsi3 uxth r7, r0 -.L992: +.L994: ldr r3, [r4, #2316] add r3, r3, r9, lsl #3 strh r7, [r3, #4] @ movhi - ldr r3, .L998+8 + ldr r3, .L1000+8 ldrh r1, [r3] cmp r1, r10 - beq .L993 + beq .L995 ldrh r1, [r3, #48] cmp r1, r10 - beq .L993 + beq .L995 ldrh r3, [r3, #96] cmp r3, r10 - beq .L993 + beq .L995 ldr r2, [r4, #2324] lsl r3, r9, #1 ldrh r3, [r2, r3] cmp r3, #0 - bne .L994 + bne .L996 add r8, r8, #1 mov r0, r9 uxth r8, r8 bl INSERT_FREE_LIST -.L993: +.L995: add r5, r5, #1 - b .L988 -.L991: + b .L990 +.L993: ldr r1, [r4, #2324] lsl r3, r9, #1 mvn r0, #0 strh r0, [r1, r3] @ movhi - b .L992 -.L994: + b .L994 +.L996: add r6, r6, #1 mov r0, r9 uxth r6, r6 bl INSERT_DATA_LIST - b .L993 -.L995: + b .L995 +.L997: ldr r2, [fp, #-48] strh r6, [r2] @ movhi add r6, r6, r8 cmp r6, r3 movw r2, #2344 strh r8, [r4, r2] @ movhi - ble .L997 + ble .L999 movw r2, #2206 - ldr r1, .L998+12 - ldr r0, .L998+16 + ldr r1, .L1000+12 + ldr r0, .L1000+16 bl sftl_printk -.L997: +.L999: mov r0, #0 sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L999: +.L1001: .align 2 -.L998: +.L1000: .word .LANCHOR0 .word .LANCHOR0+60 .word .LANCHOR0+2348 @@ -6921,7 +6995,7 @@ FtlGcPageVarInit: mov ip, sp push {r4, fp, ip, lr, pc} sub fp, ip, #4 - ldr r4, .L1001 + ldr r4, .L1003 mov r3, #0 movw r2, #3192 mov r1, #255 @@ -6940,9 +7014,9 @@ FtlGcPageVarInit: bl ftl_memset bl FtlGcBufInit ldmfd sp, {r4, fp, sp, pc} -.L1002: +.L1004: .align 2 -.L1001: +.L1003: .word .LANCHOR0 .size FtlGcPageVarInit, .-FtlGcPageVarInit .align 2 @@ -6959,35 +7033,35 @@ FtlGcScanTempBlk: sub fp, ip, #4 sub sp, sp, #20 mov r6, r0 - ldr r3, .L1026 + ldr r3, .L1028 mov r10, r1 ldrh r4, [r3, #4] movw r3, #65535 cmp r4, r3 - beq .L1020 + beq .L1022 cmp r4, #0 - bne .L1004 -.L1005: + bne .L1006 +.L1007: bl FtlGcPageVarInit - b .L1006 -.L1020: + b .L1008 +.L1022: mov r4, #0 -.L1004: - ldr r3, .L1026+4 +.L1006: + ldr r3, .L1028+4 ldrh r3, [r3, #102] cmp r3, r10 - beq .L1005 -.L1006: - ldr r5, .L1026+4 + beq .L1007 +.L1008: + ldr r5, .L1028+4 mov r8, #0 -.L1014: +.L1016: ldrh r2, [r6] movw r3, #65535 mov r0, #0 strb r0, [r6, #8] cmp r2, r3 - beq .L1007 -.L1017: + beq .L1009 +.L1019: ldrh r3, [r5, #32] mov r2, #0 ldr r0, [r5, #3836] @@ -7003,34 +7077,34 @@ FtlGcScanTempBlk: str r3, [fp, #-56] ldrh r3, [r5, #112] str r3, [fp, #-60] -.L1008: +.L1010: ldr r1, [fp, #-44] uxth r3, r2 cmp r1, r3 - bhi .L1010 + bhi .L1012 mov r9, #0 mov r2, #0 mov r1, r7 bl FlashReadPages -.L1011: +.L1013: uxth r3, r9 cmp r7, r3 - bhi .L1015 + bhi .L1017 add r8, r8, #1 add r4, r4, #1 cmp r10, r8 uxth r4, r4 - bls .L1016 -.L1018: + bls .L1018 +.L1020: ldrh r3, [r5, #102] cmp r3, r4 - bhi .L1017 + bhi .L1019 mov r0, #0 - b .L1007 -.L1010: + b .L1009 +.L1012: ldrh r3, [ip], #2 cmp r3, r9 - beq .L1009 + beq .L1011 mov r1, #20 orr r3, r4, r3, lsl #10 mla r1, r1, r7, r0 @@ -7055,10 +7129,10 @@ FtlGcScanTempBlk: bic r3, r3, #3 add r3, lr, r3 str r3, [r1, #12] -.L1009: +.L1011: add r2, r2, #1 - b .L1008 -.L1015: + b .L1010 +.L1017: mov r3, #20 ldr r2, [r5, #3836] mul r3, r3, r9 @@ -7074,7 +7148,7 @@ FtlGcScanTempBlk: ldr r3, [fp, #-56] ldr r3, [r2, r3] cmp r3, #0 - bne .L1012 + bne .L1014 ldr ip, [fp, #-48] movw r2, #65535 add r9, r9, #1 @@ -7082,11 +7156,11 @@ FtlGcScanTempBlk: ldr r3, [ip, #12] ldrh ip, [r3] cmp ip, r2 - bne .L1013 + bne .L1015 mov r3, #1 str r3, [r5, #4008] -.L1007: - ldr r3, .L1026 +.L1009: + ldr r3, .L1028 mvn r2, #0 strb r0, [r6, #6] mov r1, r4 @@ -7095,13 +7169,13 @@ FtlGcScanTempBlk: mov r2, r0 mov r0, r6 bl ftl_sb_update_avl_pages - b .L1019 -.L1013: + b .L1021 +.L1015: ldr r2, [r3, #8] ldr r0, [r3, #12] bl FtlGcUpdatePage - b .L1011 -.L1012: + b .L1013 +.L1014: ldrh r3, [r6] mov r4, #0 ldr r2, [r5, #2324] @@ -7112,25 +7186,25 @@ FtlGcScanTempBlk: mvn r3, #0 strh r3, [r6] @ movhi bl FtlGcPageVarInit - b .L1014 -.L1016: - ldr r2, .L1026 + b .L1016 +.L1018: + ldr r2, .L1028 movw r1, #65535 ldrh r3, [r2, #4] cmp r3, r1 - beq .L1018 + beq .L1020 add r3, r3, r8 strh r3, [r2, #4] @ movhi ldrh r3, [r5, #102] cmp r3, r4 - bls .L1018 -.L1019: + bls .L1020 +.L1021: mvn r0, #0 sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1027: +.L1029: .align 2 -.L1026: +.L1028: .word .LANCHOR2 .word .LANCHOR0 .size FtlGcScanTempBlk, .-FtlGcScanTempBlk @@ -7163,7 +7237,7 @@ FtlBbmTblFlush: sub fp, ip, #4 sub sp, sp, #4 mov r5, #0 - ldr r4, .L1038 + ldr r4, .L1040 mov r1, #0 ldr r0, [r4, #3284] add r6, r4, #176 @@ -7173,20 +7247,20 @@ FtlBbmTblFlush: str r0, [r4, #3272] str r3, [r4, #3276] bl ftl_memset -.L1030: +.L1032: ldrh r3, [r4, #54] cmp r5, r3 - blt .L1031 + blt .L1033 ldr r6, [r4, #3276] mov r2, #16 mov r1, #255 - ldr r9, .L1038+4 - ldr r8, .L1038+8 + ldr r9, .L1040+4 + ldr r8, .L1040+8 mov r5, #0 mov r0, r6 mov r7, r5 bl memset - ldr r3, .L1038+12 + ldr r3, .L1040+12 strh r3, [r6] @ movhi ldr r3, [r4, #160] str r3, [r6, #4] @@ -7198,7 +7272,7 @@ FtlBbmTblFlush: strh r3, [r6, #10] @ movhi ldr r3, [r4, #28] strh r3, [r6, #12] @ movhi -.L1032: +.L1034: ldr r3, [r4, #3284] mov r10, #0 ldrh r1, [r4, #152] @@ -7215,7 +7289,7 @@ FtlBbmTblFlush: mov r0, r9 bl sftl_printk mov r3, #1 - ldr r0, .L1038+8 + ldr r0, .L1040+8 mov r2, r3 mov r1, r3 bl FlashProgPages @@ -7223,7 +7297,7 @@ FtlBbmTblFlush: ldrh r2, [r4, #154] sub r3, r3, #1 cmp r2, r3 - blt .L1033 + blt .L1035 ldr r3, [r4, #160] ldrh r2, [r4, #152] ldr r0, [r4, #3804] @@ -7246,27 +7320,27 @@ FtlBbmTblFlush: mov r2, r3 mov r1, r3 bl FlashProgPages -.L1033: +.L1035: ldrh r3, [r4, #154] add r3, r3, #1 strh r3, [r4, #154] @ movhi ldr r3, [r4, #3264] cmn r3, #1 - bne .L1034 + bne .L1036 add r5, r5, #1 ldr r1, [r4, #3268] uxth r5, r5 - ldr r0, .L1038+16 + ldr r0, .L1040+16 bl sftl_printk cmp r5, #3 - bls .L1032 + bls .L1034 mov r2, r5 ldr r1, [r4, #3268] - ldr r0, .L1038+20 + ldr r0, .L1040+20 bl sftl_printk -.L1036: - b .L1036 -.L1031: +.L1038: + b .L1038 +.L1033: ldrh r2, [r7] ldr r3, [r4, #3272] ldr r1, [r6, #4]! @@ -7275,18 +7349,18 @@ FtlBbmTblFlush: add r5, r5, #1 add r0, r3, r0, lsl #2 bl ftl_memcpy - b .L1030 -.L1037: - mov r7, #1 b .L1032 -.L1034: +.L1039: + mov r7, #1 + b .L1034 +.L1036: cmp r7, #0 - beq .L1037 + beq .L1039 mov r0, #0 ldmib sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1039: +.L1041: .align 2 -.L1038: +.L1040: .word .LANCHOR0 .word .LC100 .word .LANCHOR0+3264 @@ -7308,25 +7382,25 @@ allocate_data_superblock: sub fp, ip, #4 sub sp, sp, #16 mov r5, r0 - ldr r4, .L1075 + ldr r4, .L1077 add r9, r4, #2336 -.L1041: - ldr r7, .L1075+4 +.L1043: + ldr r7, .L1077+4 ldrh r2, [r9] ldrh r3, [r7] add r3, r3, r2 ldrh r2, [r4, #40] cmp r3, r2 - ble .L1042 + ble .L1044 movw r2, #2654 - ldr r1, .L1075+8 - ldr r0, .L1075+12 + ldr r1, .L1077+8 + ldr r0, .L1077+12 bl sftl_printk -.L1042: - ldr r3, .L1075+16 +.L1044: + ldr r3, .L1077+16 cmp r5, r3 movne r1, #0 - bne .L1043 + bne .L1045 ldrh r3, [r7] ldr r1, [r4, #3160] mul r2, r1, r3 @@ -7337,19 +7411,19 @@ allocate_data_superblock: cmp r1, #0 subne r1, r1, #1 uxthne r1, r1 -.L1043: - ldr r0, .L1075+20 +.L1045: + ldr r0, .L1077+20 bl List_pop_index_node ldrh r3, [r7] mov r6, r0 uxth r8, r0 cmp r3, #0 - bne .L1044 + bne .L1046 movw r2, #2663 - ldr r1, .L1075+8 - ldr r0, .L1075+12 + ldr r1, .L1077+8 + ldr r0, .L1077+12 bl sftl_printk -.L1044: +.L1046: ldrh r3, [r7] mov r0, r5 sub r3, r3, #1 @@ -7358,7 +7432,7 @@ allocate_data_superblock: bl make_superblock ldrb r3, [r5, #7] @ zero_extendqisi2 cmp r3, #0 - bne .L1045 + bne .L1047 uxth r0, r6 ldr r2, [r4, #2324] mvn r1, #0 @@ -7370,24 +7444,24 @@ allocate_data_superblock: add r3, r3, r2 ldrh r2, [r4, #40] cmp r3, r2 - ble .L1041 + ble .L1043 movw r2, #2674 - ldr r1, .L1075+8 - ldr r0, .L1075+12 + ldr r1, .L1077+8 + ldr r0, .L1077+12 bl sftl_printk - b .L1041 -.L1045: + b .L1043 +.L1047: ldrh r2, [r9] ldrh r3, [r7] add r3, r3, r2 ldrh r2, [r4, #40] cmp r3, r2 - ble .L1047 + ble .L1049 movw r2, #2677 - ldr r1, .L1075+8 - ldr r0, .L1075+12 + ldr r1, .L1077+8 + ldr r0, .L1077+12 bl sftl_printk -.L1047: +.L1049: ldr r0, [r4, #3804] mov r2, #20 ldrh r1, [r4, #32] @@ -7397,30 +7471,30 @@ allocate_data_superblock: mov r3, r0 mla r1, r2, r1, r0 str r1, [fp, #-44] -.L1048: +.L1050: ldr r1, [fp, #-44] cmp r1, r3 - bne .L1050 + bne .L1052 cmp r7, #0 - bne .L1051 + bne .L1053 mov r2, #2688 - ldr r1, .L1075+8 - ldr r0, .L1075+12 + ldr r1, .L1077+8 + ldr r0, .L1077+12 bl sftl_printk -.L1051: - ldr r3, .L1075+24 +.L1053: + ldr r3, .L1077+24 ldrh r3, [r3] cmp r3, r8 - bne .L1052 + bne .L1054 movw r2, #2690 - ldr r1, .L1075+8 - ldr r0, .L1075+12 + ldr r1, .L1077+8 + ldr r0, .L1077+12 bl sftl_printk -.L1052: +.L1054: ldrb r3, [r5, #8] @ zero_extendqisi2 uxth r6, r6 cmp r3, #0 - bne .L1053 + bne .L1055 ldr r1, [r4, #2328] lsl r2, r6, #1 ldrh r3, [r1, r2] @@ -7435,7 +7509,7 @@ allocate_data_superblock: add r3, r3, #1 str r3, [r4, #2548] bl ftl_set_blk_mode -.L1056: +.L1058: ldr r3, [r4, #2328] lsl r10, r6, #1 ldr r2, [r4, #2564] @@ -7452,17 +7526,17 @@ allocate_data_superblock: ldr r1, [r4, #3804] str r0, [r4, #2556] ldr r3, [r2, #16] - ldr r0, .L1075+28 + ldr r0, .L1077+28 add r3, r3, #1 str r3, [r2, #16] mov r2, #20 mla r2, r2, r7, r1 add r3, r1, #4 add r2, r2, #24 -.L1058: +.L1060: add r3, r3, #20 cmp r2, r3 - bne .L1059 + bne .L1061 ldrb r1, [r5, #8] @ zero_extendqisi2 mov r2, r7 ldr r0, [r4, #3804] @@ -7470,24 +7544,24 @@ allocate_data_superblock: mov r3, #0 mov ip, #20 mov r1, r3 -.L1060: +.L1062: uxth r2, r3 cmp r7, r2 - bhi .L1062 + bhi .L1064 cmp r1, #0 - ble .L1063 + ble .L1065 mov r0, r6 bl update_multiplier_value bl FtlBbmTblFlush -.L1063: +.L1065: ldrb r2, [r5, #7] @ zero_extendqisi2 cmp r2, #0 - bne .L1064 + bne .L1066 ldr r3, [r4, #2324] mvn r2, #0 strh r2, [r3, r10] @ movhi - b .L1041 -.L1050: + b .L1043 +.L1052: str lr, [r3, #8] movw r10, #65535 str lr, [r3, #12] @@ -7499,8 +7573,8 @@ allocate_data_superblock: addne r7, r7, #1 uxthne r7, r7 strne r1, [r10, #4] - b .L1048 -.L1053: + b .L1050 +.L1055: ldr r1, [r4, #2328] lsl r3, r6, #1 mov r0, r6 @@ -7511,19 +7585,19 @@ allocate_data_superblock: add r3, r3, #1 str r3, [r4, #2552] bl ftl_set_blk_mode.part.6 - b .L1056 -.L1059: + b .L1058 +.L1061: ldr r1, [r3, #-20] and r1, r1, r0 str r1, [r3, #-20] - b .L1058 -.L1062: + b .L1060 +.L1064: mul r2, ip, r3 ldr lr, [r4, #3804] add r0, lr, r2 ldr r2, [lr, r2] cmn r2, #1 - bne .L1061 + bne .L1063 ldr r0, [r0, #4] add r1, r1, #1 str ip, [fp, #-56] @@ -7541,10 +7615,10 @@ allocate_data_superblock: ldrb r2, [r5, #7] @ zero_extendqisi2 sub r2, r2, #1 strb r2, [r5, #7] -.L1061: +.L1063: add r3, r3, #1 - b .L1060 -.L1064: + b .L1062 +.L1066: ldrh r3, [r4, #102] strh r8, [r5] @ movhi smulbb r3, r3, r2 @@ -7563,22 +7637,22 @@ allocate_data_superblock: strh r3, [r1, r2] @ movhi ldrh r3, [r5, #4] cmp r3, #0 - beq .L1065 + beq .L1067 ldrb r3, [r5, #7] @ zero_extendqisi2 cmp r3, #0 - bne .L1066 -.L1065: + bne .L1068 +.L1067: movw r2, #2743 - ldr r1, .L1075+8 - ldr r0, .L1075+12 + ldr r1, .L1077+8 + ldr r0, .L1077+12 bl sftl_printk -.L1066: +.L1068: mov r0, #0 sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1076: +.L1078: .align 2 -.L1075: +.L1077: .word .LANCHOR0 .word .LANCHOR0+2344 .word .LANCHOR1+360 @@ -7602,47 +7676,47 @@ FtlGcFreeBadSuperBlk: sub fp, ip, #4 sub sp, sp, #8 uxth r3, r0 - ldr r6, .L1089 + ldr r6, .L1091 str r3, [fp, #-44] movw r3, #3210 ldrh r3, [r6, r3] cmp r3, #0 movne r7, #0 - ldrne r10, .L1089+4 - bne .L1079 -.L1078: + ldrne r10, .L1091+4 + bne .L1081 +.L1080: mov r0, #0 sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1085: +.L1087: uxtah r3, r6, r7 ldr r1, [fp, #-44] mov r8, #0 ldrb r0, [r3, #60] @ zero_extendqisi2 bl V2P_block mov r9, r0 -.L1080: +.L1082: ldrh r3, [r10] uxth r4, r8 cmp r3, r4 - bhi .L1084 + bhi .L1086 add r7, r7, #1 -.L1079: +.L1081: ldrh r2, [r6, #32] uxth r3, r7 cmp r2, r3 - bhi .L1085 + bhi .L1087 bl FtlGcReFreshBadBlk - b .L1078 -.L1084: + b .L1080 +.L1086: uxth r3, r8 - ldr r5, .L1089+8 + ldr r5, .L1091+8 lsl r2, r3, #1 ldrh r2, [r5, r2] cmp r2, r9 - bne .L1081 + bne .L1083 mov r1, r9 - ldr r0, .L1089+12 + ldr r0, .L1091+12 str r3, [fp, #-48] bl sftl_printk mov r0, r9 @@ -7651,23 +7725,23 @@ FtlGcFreeBadSuperBlk: ldr r3, [fp, #-48] ldrh r2, [r10] add r3, r5, r3, lsl #1 -.L1082: +.L1084: cmp r4, r2 - bcc .L1083 + bcc .L1085 sub r2, r2, #1 strh r2, [r10] @ movhi -.L1081: - add r8, r8, #1 - b .L1080 .L1083: + add r8, r8, #1 + b .L1082 +.L1085: ldrh r1, [r3, #2]! add r4, r4, #1 uxth r4, r4 strh r1, [r3, #-2] @ movhi - b .L1082 -.L1090: + b .L1084 +.L1092: .align 2 -.L1089: +.L1091: .word .LANCHOR0 .word .LANCHOR0+3210 .word .LANCHOR0+3212 @@ -7685,20 +7759,20 @@ update_vpc_list: mov ip, sp push {r4, r5, r6, fp, ip, lr, pc} sub fp, ip, #4 - ldr r3, .L1101 + ldr r3, .L1103 uxth r4, r0 ldr r1, [r3, #2324] lsl r2, r4, #1 mov r6, r3 ldrh r0, [r1, r2] cmp r0, #0 - bne .L1092 + bne .L1094 movw r2, #2588 ldrh r1, [r3, r2] cmp r1, r4 mvneq r3, #0 strheq r3, [r6, r2] @ movhi - beq .L1094 + beq .L1096 movw r2, #2348 ldrh r2, [r3, r2] cmp r2, r4 @@ -7711,19 +7785,19 @@ update_vpc_list: ldrh r3, [r3, r2] cmp r3, r4 ldmfdeq sp, {r4, r5, r6, fp, sp, pc} -.L1094: - ldr r5, .L1101+4 +.L1096: + ldr r5, .L1103+4 mov r1, r4 - ldr r0, .L1101+8 + ldr r0, .L1103+8 bl List_remove_node ldrh r3, [r5] cmp r3, #0 - bne .L1096 + bne .L1098 movw r2, #2813 - ldr r1, .L1101+12 - ldr r0, .L1101+16 + ldr r1, .L1103+12 + ldr r0, .L1103+16 bl sftl_printk -.L1096: +.L1098: ldrh r3, [r5] mov r0, r4 sub r3, r3, #1 @@ -7737,22 +7811,22 @@ update_vpc_list: add r3, r3, r2 ldrh r2, [r6, #40] cmp r3, r2 - ble .L1100 + ble .L1102 mov r2, #2816 - ldr r1, .L1101+12 - ldr r0, .L1101+16 + ldr r1, .L1103+12 + ldr r0, .L1103+16 bl sftl_printk -.L1100: +.L1102: mov r0, #1 ldmfd sp, {r4, r5, r6, fp, sp, pc} -.L1092: +.L1094: mov r0, r4 bl List_update_data_list mov r0, #0 ldmfd sp, {r4, r5, r6, fp, sp, pc} -.L1102: +.L1104: .align 2 -.L1101: +.L1103: .word .LANCHOR0 .word .LANCHOR0+2336 .word .LANCHOR0+2320 @@ -7774,47 +7848,47 @@ decrement_vpc_count: uxth r4, r0 movw r3, #65535 cmp r4, r3 - ldr r5, .L1118 - beq .L1104 + ldr r5, .L1120 + beq .L1106 ldr r3, [r5, #2324] lsl r6, r4, #1 ldrh r2, [r3, r6] cmp r2, #0 subne r2, r2, #1 strhne r2, [r3, r6] @ movhi - bne .L1104 + bne .L1106 mov r1, r4 - ldr r0, .L1118+4 + ldr r0, .L1120+4 bl sftl_printk ldr r3, [r5, #2324] ldrh r3, [r3, r6] cmp r3, #0 - bne .L1106 + bne .L1108 movw r2, #2831 - ldr r1, .L1118+8 - ldr r0, .L1118+12 + ldr r1, .L1120+8 + ldr r0, .L1120+12 bl sftl_printk -.L1106: +.L1108: ldr r3, [r5, #2324] mov r2, #16 mov r1, r4 - ldr r0, .L1118+16 + ldr r0, .L1120+16 strh r2, [r3, r6] @ movhi bl test_node_in_list cmp r0, #0 - beq .L1107 + beq .L1109 mov r1, r4 - ldr r0, .L1118+16 + ldr r0, .L1120+16 bl List_remove_node movw r3, #2344 ldrh r3, [r5, r3] cmp r3, #0 - bne .L1108 + bne .L1110 movw r2, #2835 - ldr r1, .L1118+8 - ldr r0, .L1118+12 + ldr r1, .L1120+8 + ldr r0, .L1120+12 bl sftl_printk -.L1108: +.L1110: movw r2, #2344 mov r0, r4 ldrh r3, [r5, r2] @@ -7823,24 +7897,24 @@ decrement_vpc_count: bl INSERT_DATA_LIST ldr r3, [r5, #2324] mov r1, r4 - ldr r0, .L1118+20 + ldr r0, .L1120+20 ldrh r2, [r3, r6] bl sftl_printk -.L1107: +.L1109: mov r0, r4 bl FtlGcRefreshBlock -.L1111: +.L1113: mov r6, #0 - b .L1103 -.L1104: - ldr r7, .L1118+24 + b .L1105 +.L1106: + ldr r7, .L1120+24 movw r3, #65535 ldrh r0, [r7] cmp r0, r3 strheq r4, [r7] @ movhi - beq .L1111 + beq .L1113 cmp r4, r0 - beq .L1111 + beq .L1113 bl update_vpc_list ldr r2, [r5, #2316] adds r6, r0, #0 @@ -7859,17 +7933,17 @@ decrement_vpc_count: lsr r2, r2, #5 moveq r2, #0 cmp r2, #0 - beq .L1103 + beq .L1105 movw r2, #2856 - ldr r1, .L1118+8 - ldr r0, .L1118+12 + ldr r1, .L1120+8 + ldr r0, .L1120+12 bl sftl_printk -.L1103: +.L1105: mov r0, r6 ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} -.L1119: +.L1121: .align 2 -.L1118: +.L1120: .word .LANCHOR0 .word .LC104 .word .LANCHOR1+401 @@ -7891,22 +7965,22 @@ FtlWriteDump_data: push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} sub fp, ip, #4 sub sp, sp, #28 - ldr r6, .L1138 - ldr r4, .L1138+4 + ldr r6, .L1140 + ldr r4, .L1140+4 ldrh r2, [r6, #4] cmp r2, #0 - beq .L1121 + beq .L1123 ldrb r3, [r4, #2356] @ zero_extendqisi2 cmp r3, #0 - bne .L1121 + bne .L1123 ldrb r1, [r4, #2355] @ zero_extendqisi2 ldrh r3, [r4, #102] mul r3, r3, r1 cmp r2, r3 - beq .L1121 + beq .L1123 ldrb r8, [r4, #2358] @ zero_extendqisi2 cmp r8, #0 - bne .L1120 + bne .L1122 ldr r7, [r4, #2504] mov r2, r8 sub r1, fp, #64 @@ -7923,37 +7997,37 @@ FtlWriteDump_data: str r0, [fp, #-52] str r5, [fp, #-48] str r8, [r5, #4] - beq .L1123 + beq .L1125 mov r2, r8 mov r1, #1 sub r0, fp, #60 bl FlashReadPages -.L1124: - ldr ip, .L1138 +.L1126: + ldr ip, .L1140 mov r8, #0 - ldr r3, .L1138+8 + ldr r3, .L1140+8 lsl r9, r9, #2 mov r10, r8 strh r3, [r5] @ movhi -.L1125: +.L1127: cmp r9, r8 - bne .L1129 -.L1126: + bne .L1131 +.L1128: mov r3, #1 -.L1137: +.L1139: strb r3, [r4, #2358] -.L1120: +.L1122: sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1123: +.L1125: ldrh r2, [r4, #110] mov r1, #255 bl ftl_memset - b .L1124 -.L1129: + b .L1126 +.L1131: ldrh r3, [r6, #4] cmp r3, #0 - beq .L1126 + beq .L1128 ldr r3, [fp, #-56] mov r0, ip str r7, [r5, #8] @@ -7978,13 +8052,13 @@ FtlWriteDump_data: ldrh r0, [r6] bl decrement_vpc_count ldr ip, [fp, #-68] - b .L1125 -.L1121: + b .L1127 +.L1123: mov r3, #0 - b .L1137 -.L1139: + b .L1139 +.L1141: .align 2 -.L1138: +.L1140: .word .LANCHOR0+2348 .word .LANCHOR0 .word -3947 @@ -8001,31 +8075,31 @@ l2p_flush: mov ip, sp push {r4, r5, r6, fp, ip, lr, pc} sub fp, ip, #4 - ldr r5, .L1144 + ldr r5, .L1146 mov r4, #0 mov r6, #12 bl FtlWriteDump_data -.L1141: +.L1143: ldrh r2, [r5, #138] uxth r3, r4 cmp r2, r3 - bhi .L1143 + bhi .L1145 mov r0, #0 ldmfd sp, {r4, r5, r6, fp, sp, pc} -.L1143: +.L1145: ldr r3, [r5, #2492] uxth r0, r4 mla r3, r6, r0, r3 ldr r3, [r3, #4] cmp r3, #0 - bge .L1142 + bge .L1144 bl flush_l2p_region -.L1142: - add r4, r4, #1 - b .L1141 -.L1145: - .align 2 .L1144: + add r4, r4, #1 + b .L1143 +.L1147: + .align 2 +.L1146: .word .LANCHOR0 .size l2p_flush, .-l2p_flush .align 2 @@ -8045,9 +8119,9 @@ FtlRecoverySuperblock: ldrh r3, [r0] mov r4, r0 cmp r3, r2 - beq .L1267 + beq .L1269 ldrh r3, [r0, #2] - ldr r6, .L1274 + ldr r6, .L1276 str r3, [fp, #-64] ldrb r3, [r0, #6] @ zero_extendqisi2 ldr r1, [fp, #-64] @@ -8057,27 +8131,27 @@ FtlRecoverySuperblock: mov r3, #0 strheq r3, [r0, #4] @ movhi ldrhne r0, [r0, #16] - bne .L1150 -.L1272: + bne .L1152 +.L1274: strb r3, [r4, #6] -.L1267: +.L1269: mov r0, #0 sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1151: +.L1153: uxth r1, r3 add r1, r4, r1, lsl #1 ldrh r0, [r1, #16] -.L1150: +.L1152: cmp r0, r2 uxth r7, r3 add r3, r3, #1 - beq .L1151 + beq .L1153 mov r1, #1 bl FtlGetLastWrittenPage cmn r0, #1 mov r5, r0 - beq .L1152 + beq .L1154 ldrh r3, [r6, #32] mov r2, #0 ldr r0, [r6, #3836] @@ -8094,12 +8168,12 @@ FtlRecoverySuperblock: add r3, r4, #16 mov ip, r3 str r3, [fp, #-76] -.L1153: +.L1155: ldr r1, [fp, #-56] uxth r3, r2 cmp r1, r3 - bhi .L1157 - ldr r7, .L1274 + bhi .L1159 + ldr r7, .L1276 mov r2, #0 mov r1, r6 bl FlashReadPages @@ -8114,15 +8188,15 @@ FtlRecoverySuperblock: mov r8, r9 mov r3, #0 str r2, [fp, #-60] -.L1158: +.L1160: uxth r2, r3 cmp r6, r2 - bhi .L1163 + bhi .L1165 addeq r3, r5, #1 uxtheq r3, r3 streq r3, [fp, #-60] - bne .L1161 -.L1268: + bne .L1163 +.L1270: ldr r0, [r9, #4] ubfx r0, r0, #10, #16 bl P2V_plane @@ -8142,15 +8216,15 @@ FtlRecoverySuperblock: cmpeq r1, r0 moveq r2, r1 moveq r1, r3 - beq .L1273 + beq .L1275 ldr r2, [fp, #-72] movw r3, #65535 cmp r2, r3 - bne .L1167 + bne .L1169 ldrb r3, [r4, #8] @ zero_extendqisi2 cmp r3, #0 - bne .L1168 -.L1167: + bne .L1170 +.L1169: ldr r3, [r7, #4012] uxth r8, r5 uxth r5, r5 @@ -8158,15 +8232,15 @@ FtlRecoverySuperblock: ldreq r3, [fp, #-56] streq r3, [r7, #4012] ldr r3, [fp, #-64] - ldr r7, .L1274 + ldr r7, .L1276 add r3, r3, #7 cmp r5, r3 subgt r5, r8, #7 ldrle r5, [fp, #-64] uxthgt r5, r5 -.L1171: +.L1173: cmp r5, r8 - bhi .L1178 + bhi .L1180 mov r3, #0 ldrh r9, [r7, #32] ldr r0, [r7, #3836] @@ -8174,32 +8248,32 @@ FtlRecoverySuperblock: ldr r1, [fp, #-76] movw lr, #65535 mov ip, #20 - b .L1179 -.L1152: + b .L1181 +.L1154: ldr r3, [fp, #-64] cmp r3, #0 - beq .L1154 + beq .L1156 movw r2, #1804 - ldr r1, .L1274+4 - ldr r0, .L1274+8 + ldr r1, .L1276+4 + ldr r0, .L1276+8 bl sftl_printk -.L1154: +.L1156: ldr r3, [fp, #-80] cmp r3, #0 cmpne r7, r3 - beq .L1155 + beq .L1157 movw r2, #1805 - ldr r1, .L1274+4 - ldr r0, .L1274+8 + ldr r1, .L1276+4 + ldr r0, .L1276+8 bl sftl_printk -.L1155: +.L1157: mov r3, #0 strh r3, [r4, #2] @ movhi - b .L1272 -.L1157: + b .L1274 +.L1159: ldrh r3, [ip], #2 cmp r3, r8 - beq .L1156 + beq .L1158 mla r1, r9, r6, r0 orr r3, r5, r3, lsl #10 str r3, [r1, #4] @@ -8221,17 +8295,17 @@ FtlRecoverySuperblock: bic r3, r3, #3 add r3, lr, r3 str r3, [r1, #12] -.L1156: +.L1158: add r2, r2, #1 - b .L1153 -.L1163: + b .L1155 +.L1165: ldr r2, [r8] cmp r2, #0 - bne .L1159 + bne .L1161 ldr ip, [r8, #12] ldr r2, [ip, #4] cmn r2, #1 - beq .L1160 + beq .L1162 ldr r1, [r10, #2544] mov r0, r2 str ip, [fp, #-68] @@ -8240,25 +8314,25 @@ FtlRecoverySuperblock: cmp r0, #0 addne r2, r2, #1 strne r2, [r10, #2544] -.L1160: +.L1162: ldr r2, [ip] cmn r2, #1 - bne .L1162 -.L1161: + bne .L1164 +.L1163: uxth r2, r5 uxth r3, r3 str r2, [fp, #-60] mov r2, #20 mla r9, r2, r3, r9 - b .L1268 -.L1159: + b .L1270 +.L1161: ldr r2, [fp, #-60] str r2, [fp, #-72] -.L1162: +.L1164: add r3, r3, #1 add r8, r8, #20 - b .L1158 -.L1173: + b .L1160 +.L1175: ldrh r2, [r1], #2 add r3, r3, #1 cmp r2, lr @@ -8267,10 +8341,10 @@ FtlRecoverySuperblock: orrne r2, r5, r2, lsl #10 uxthne r6, r6 strne r2, [r10, #4] -.L1179: +.L1181: uxth r2, r3 cmp r9, r2 - bhi .L1173 + bhi .L1175 mov r1, r6 mov r2, #0 bl FlashReadPages @@ -8278,37 +8352,37 @@ FtlRecoverySuperblock: mov r2, #20 movw r1, #65535 mla r6, r2, r6, r3 -.L1174: +.L1176: cmp r6, r3 addeq r5, r5, #1 uxtheq r5, r5 - beq .L1171 -.L1177: + beq .L1173 +.L1179: ldr r2, [r3] cmp r2, #0 - bne .L1168 + bne .L1170 ldr r2, [r3, #12] ldrh r0, [r2] cmp r0, r1 - beq .L1176 + beq .L1178 ldr r2, [r2, #4] cmn r2, #1 strne r2, [r7, #4012] -.L1176: - add r3, r3, #20 - b .L1174 .L1178: + add r3, r3, #20 + b .L1176 +.L1180: mvn r3, #0 str r3, [r7, #4012] -.L1168: - ldr r5, .L1274+12 +.L1170: + ldr r5, .L1276+12 mov r3, #1 mov r0, r5 sub r5, r5, #4016 strh r3, [r0], #-108 @ movhi bl FtlMapBlkWriteDump_data ldr r9, [fp, #-64] -.L1180: +.L1182: ldrh ip, [r5, #32] mov r3, #0 ldr r0, [r5, #3836] @@ -8316,42 +8390,42 @@ FtlRecoverySuperblock: ldr r1, [fp, #-76] movw lr, #65535 mov r6, #20 -.L1181: +.L1183: uxth r2, r3 cmp ip, r2 - bhi .L1183 + bhi .L1185 mov r2, #0 mov r1, r10 bl FlashReadPages mov r3, #0 -.L1271: +.L1273: str r3, [fp, #-72] ldrh r3, [fp, #-72] cmp r10, r3 - bhi .L1211 + bhi .L1213 add r9, r9, #1 ldrh r3, [r5, #102] uxth r9, r9 cmp r3, r9 - bne .L1180 + bne .L1182 ldrh r2, [r5, #32] movw r0, #65535 mov r3, #0 strh r9, [r4, #2] @ movhi strh r3, [r4, #4] @ movhi -.L1212: +.L1214: uxth r1, r3 cmp r1, r2 - bcs .L1267 + bcs .L1269 ldr r1, [fp, #-76] ldrh ip, [r1], #2 cmp ip, r0 str r1, [fp, #-76] add r1, r3, #1 - bne .L1272 + bne .L1274 mov r3, r1 - b .L1212 -.L1183: + b .L1214 +.L1185: ldrh r2, [r1], #2 add r3, r3, #1 cmp r2, lr @@ -8360,8 +8434,8 @@ FtlRecoverySuperblock: addne r10, r10, #1 uxthne r10, r10 strne r2, [r7, #4] - b .L1181 -.L1211: + b .L1183 +.L1213: ldr r3, [fp, #-72] mov r7, #20 ldr r2, [r5, #3836] @@ -8374,7 +8448,7 @@ FtlRecoverySuperblock: bl P2V_plane ldr r3, [fp, #-64] cmp r9, r3 - bcc .L1185 + bcc .L1187 ldr r2, [fp, #-80] moveq r3, #1 movne r3, #0 @@ -8382,34 +8456,34 @@ FtlRecoverySuperblock: movls r3, #0 andhi r3, r3, #1 cmp r3, #0 - bne .L1185 + bne .L1187 ldr r3, [fp, #-60] ldr r2, [fp, #-68] cmp r9, r3 cmpeq r2, r0 - beq .L1186 + beq .L1188 ldr r2, [fp, #-84] ldr r3, [r2, r7] cmn r3, #1 - beq .L1187 + beq .L1189 ldr r8, [r8, #12] movw r3, #61589 ldrh r2, [r8] cmp r2, r3 - beq .L1188 -.L1195: + beq .L1190 +.L1197: ldrh r0, [r4] -.L1270: +.L1272: bl decrement_vpc_count -.L1185: +.L1187: ldr r3, [fp, #-72] add r3, r3, #1 - b .L1271 -.L1188: + b .L1273 +.L1190: ldr r3, [r8, #4] cmn r3, #1 str r3, [fp, #-56] - beq .L1189 + beq .L1191 mov r0, r3 ldr r1, [r5, #2544] bl ftl_cmp_data_ver @@ -8417,16 +8491,16 @@ FtlRecoverySuperblock: ldrne r3, [fp, #-56] addne r3, r3, #1 strne r3, [r5, #2544] -.L1189: +.L1191: ldrh r2, [r8] movw r3, #61589 cmp r2, r3 - beq .L1190 + beq .L1192 movw r2, #1954 - ldr r1, .L1274+4 - ldr r0, .L1274+8 + ldr r1, .L1276+4 + ldr r0, .L1276+8 bl sftl_printk -.L1190: +.L1192: ldr r6, [r8, #8] sub r1, fp, #48 ldr r3, [r8, #12] @@ -8436,14 +8510,14 @@ FtlRecoverySuperblock: bl log2phys ldr r1, [r5, #4012] cmn r1, #1 - beq .L1191 + beq .L1193 ldr r0, [fp, #-56] bl ftl_cmp_data_ver cmp r0, #0 - beq .L1191 + beq .L1193 ldr r2, [fp, #-52] cmn r2, #1 - beq .L1192 + beq .L1194 ldr r0, [r5, #3836] mov r1, #1 add r0, r0, r7 @@ -8455,122 +8529,122 @@ FtlRecoverySuperblock: ldr r1, [r2, r7] add r3, r2, r7 cmn r1, #1 - bne .L1193 -.L1194: + bne .L1195 +.L1196: mvn r3, #0 ldrh r0, [r4] str r3, [fp, #-52] bl decrement_vpc_count -.L1202: +.L1204: ldr r7, [fp, #-52] cmn r7, #1 - beq .L1185 -.L1215: + beq .L1187 +.L1217: ubfx r0, r7, #10, #16 bl P2V_block_in_plane ldrh r3, [r5, #40] mov r6, r0 cmp r3, r0 - bhi .L1207 + bhi .L1209 movw r2, #2055 - ldr r1, .L1274+4 - ldr r0, .L1274+8 + ldr r1, .L1276+4 + ldr r0, .L1276+8 bl sftl_printk -.L1207: +.L1209: ldr r2, [r5, #2324] lsl r3, r6, #1 ldrh r3, [r2, r3] cmp r3, #0 - beq .L1208 + beq .L1210 mov r0, r6 - b .L1270 -.L1192: + b .L1272 +.L1194: ldr r3, [fp, #-44] ldr r2, [fp, #-48] cmp r2, r3 - bne .L1195 + bne .L1197 mov r2, #1 sub r1, fp, #52 mov r0, r6 bl log2phys - b .L1195 -.L1193: + b .L1197 +.L1195: ldr r1, [r8, #8] cmp r6, r1 - bne .L1194 + bne .L1196 ldr r1, [r8, #4] ldr r0, [r5, #4012] str r1, [fp, #-84] bl ftl_cmp_data_ver cmp r0, #0 - beq .L1194 + beq .L1196 ldr r1, [fp, #-48] ldr r0, [fp, #-44] cmp r1, r0 - bne .L1197 -.L1200: + bne .L1199 +.L1202: ldr r1, [fp, #-52] mov r0, r6 bl FtlReUsePrevPpa - b .L1194 -.L1197: + b .L1196 +.L1199: ldr r0, [fp, #-52] cmp r1, r0 - beq .L1194 + beq .L1196 cmn r1, #1 streq r1, [r2, r7] - beq .L1199 + beq .L1201 str r1, [r3, #4] mov r2, #0 mov r1, #1 mov r0, r3 ldr r8, [r3, #12] bl FlashReadPages -.L1199: +.L1201: ldr r2, [r5, #3836] ldr r2, [r2, r7] cmn r2, #1 - beq .L1200 + beq .L1202 ldr r3, [r8, #4] ldr r0, [r5, #4012] mov r1, r3 bl ftl_cmp_data_ver cmp r0, #0 - beq .L1200 + beq .L1202 mov r1, r3 ldr r0, [fp, #-84] bl ftl_cmp_data_ver cmp r0, #0 - beq .L1194 - b .L1200 -.L1191: + beq .L1196 + b .L1202 +.L1193: ldr r3, [fp, #-44] ldr r2, [fp, #-48] cmp r2, r3 - beq .L1202 + beq .L1204 mov r2, #1 sub r1, fp, #44 mov r0, r6 bl log2phys ldr r7, [fp, #-48] cmn r7, #1 - beq .L1202 + beq .L1204 ldr r3, [fp, #-52] cmp r7, r3 - beq .L1215 + beq .L1217 ubfx r0, r7, #10, #16 bl P2V_block_in_plane - ldr r3, .L1274+16 + ldr r3, .L1276+16 ldrh r2, [r3] cmp r2, r0 - beq .L1206 + beq .L1208 ldrh r2, [r3, #48] cmp r2, r0 - beq .L1206 + beq .L1208 ldrh r3, [r3, #96] cmp r3, r0 - bne .L1202 -.L1206: + bne .L1204 +.L1208: ldr r0, [r5, #3836] mov r2, #0 mov r1, #1 @@ -8580,23 +8654,23 @@ FtlRecoverySuperblock: ldr r3, [r5, #3836] ldr r3, [r3] cmn r3, #1 - beq .L1202 + beq .L1204 ldr r1, [r8, #4] ldr r0, [fp, #-56] bl ftl_cmp_data_ver cmp r0, #0 - bne .L1202 + bne .L1204 mov r2, #1 sub r1, fp, #48 mov r0, r6 bl log2phys - b .L1202 -.L1208: + b .L1204 +.L1210: mov r1, r6 - ldr r0, .L1274+20 + ldr r0, .L1276+20 bl sftl_printk - b .L1185 -.L1187: + b .L1187 +.L1189: ldr r3, [r5, #4020] cmp r3, #31 addls r2, r5, r3, lsl #2 @@ -8608,28 +8682,28 @@ FtlRecoverySuperblock: ldr r3, [r5, #4012] cmn r3, #1 ldreq r3, [fp, #-56] - beq .L1269 + beq .L1271 ldr r2, [fp, #-56] cmp r2, r3 - bcs .L1185 + bcs .L1187 mov r3, r2 -.L1269: +.L1271: str r3, [r5, #4012] - b .L1185 -.L1186: + b .L1187 +.L1188: ldrb r3, [fp, #-68] @ zero_extendqisi2 ldr r2, [fp, #-68] ldr r1, [fp, #-60] strb r3, [r4, #6] ldrh r3, [fp, #-60] strh r3, [r4, #2] @ movhi -.L1273: +.L1275: mov r0, r4 bl ftl_sb_update_avl_pages - b .L1267 -.L1275: + b .L1269 +.L1277: .align 2 -.L1274: +.L1276: .word .LANCHOR0 .word .LANCHOR1+421 .word .LC1 @@ -8653,7 +8727,7 @@ FtlSuperblockPowerLostFix: mvn r3, #0 str r3, [fp, #-36] mov r7, #0 - ldr r3, .L1287 + ldr r3, .L1289 movw r1, #61589 mov r4, r0 mov r6, #7 @@ -8671,16 +8745,16 @@ FtlSuperblockPowerLostFix: strh r2, [r5, #2] @ movhi ldr r2, [r3, #3284] str r1, [r2] - ldr r1, .L1287+4 + ldr r1, .L1289+4 ldr r2, [r3, #3284] str r1, [r2, #4] -.L1277: +.L1279: subs r6, r6, #1 - beq .L1279 + beq .L1281 ldrh r3, [r4, #4] cmp r3, #0 - bne .L1278 -.L1279: + bne .L1280 +.L1281: ldrh r3, [r4] ldr r1, [r8, #2324] ldrh r0, [r4, #4] @@ -8695,12 +8769,12 @@ FtlSuperblockPowerLostFix: strh r3, [r4, #4] @ movhi sub sp, fp, #32 ldmfd sp, {r4, r5, r6, r7, r8, fp, sp, pc} -.L1278: +.L1280: mov r0, r4 bl get_new_active_ppa cmn r0, #1 str r0, [fp, #-48] - beq .L1279 + beq .L1281 ldr r3, [r8, #2544] mov r1, #1 sub r0, fp, #52 @@ -8714,10 +8788,10 @@ FtlSuperblockPowerLostFix: bl FlashProgPages ldrh r0, [r4] bl decrement_vpc_count - b .L1277 -.L1288: + b .L1279 +.L1290: .align 2 -.L1287: +.L1289: .word .LANCHOR0 .word 305419896 .size FtlSuperblockPowerLostFix, .-FtlSuperblockPowerLostFix @@ -8733,7 +8807,7 @@ FtlLoadBbt: mov ip, sp push {r4, r5, r6, r7, fp, ip, lr, pc} sub fp, ip, #4 - ldr r4, .L1321 + ldr r4, .L1323 ldr r3, [r4, #3284] add r7, r4, #3264 ldr r6, [r4, #3288] @@ -8743,11 +8817,11 @@ FtlLoadBbt: ldrh r5, [r4, #98] sub r5, r5, #1 uxth r5, r5 -.L1290: +.L1292: ldrh r3, [r4, #98] sub r3, r3, #16 cmp r5, r3 - ble .L1293 + ble .L1295 lsl r3, r5, #10 mov r2, #1 mov r1, r2 @@ -8756,7 +8830,7 @@ FtlLoadBbt: bl FlashReadPages ldr r3, [r4, #3264] cmn r3, #1 - bne .L1291 + bne .L1293 ldr r3, [r4, #3268] mov r2, #1 mov r1, r2 @@ -8764,40 +8838,40 @@ FtlLoadBbt: add r3, r3, #1 str r3, [r4, #3268] bl FlashReadPages -.L1291: +.L1293: ldr r3, [r4, #3264] cmn r3, #1 - beq .L1292 + beq .L1294 ldrh r2, [r6] movw r3, #61649 cmp r2, r3 - bne .L1292 + bne .L1294 ldr r3, [r6, #4] strh r5, [r4, #152] @ movhi str r3, [r4, #160] ldrh r3, [r6, #8] strh r3, [r4, #156] @ movhi -.L1293: +.L1295: ldrh r3, [r4, #152] movw r2, #65535 cmp r3, r2 - beq .L1307 + beq .L1309 ldrh r3, [r4, #156] cmp r3, r2 - beq .L1297 + beq .L1299 lsl r3, r3, #10 mov r2, #1 mov r1, r2 - ldr r0, .L1321+4 + ldr r0, .L1323+4 str r3, [r4, #3268] bl FlashReadPages ldr r3, [r4, #3264] cmn r3, #1 - beq .L1297 + beq .L1299 ldrh r2, [r6] movw r3, #61649 cmp r2, r3 - bne .L1297 + bne .L1299 ldr r3, [r6, #4] ldr r2, [r4, #160] cmp r3, r2 @@ -8806,52 +8880,52 @@ FtlLoadBbt: ldrhhi r3, [r6, #8] strhhi r2, [r4, #152] @ movhi strhhi r3, [r4, #156] @ movhi -.L1297: - ldr r7, .L1321+4 +.L1299: + ldr r7, .L1323+4 mov r1, #1 ldrh r0, [r4, #152] bl FtlGetLastWrittenPage sxth r5, r0 add r0, r0, #1 strh r0, [r4, #154] @ movhi -.L1299: - cmp r5, #0 - bge .L1302 - mov r2, #254 - ldr r1, .L1321+8 - ldr r0, .L1321+12 - bl sftl_printk .L1301: + cmp r5, #0 + bge .L1304 + mov r2, #254 + ldr r1, .L1323+8 + ldr r0, .L1323+12 + bl sftl_printk +.L1303: ldrh r3, [r6, #10] ldrh r0, [r6, #12] strh r3, [r4, #158] @ movhi movw r3, #65535 cmp r0, r3 - beq .L1304 + beq .L1306 ldr r2, [r4, #28] cmp r0, r2 - beq .L1304 + beq .L1306 ldrh r3, [r4, #42] lsr r3, r3, #2 cmp r0, r3 cmpcc r2, r3 - bcs .L1304 + bcs .L1306 bl FtlSysBlkNumInit -.L1304: - ldr r6, .L1321+16 +.L1306: + ldr r6, .L1323+16 mov r5, #0 add r7, r6, #3728 -.L1305: +.L1307: ldrh r3, [r4, #54] cmp r5, r3 - bcc .L1306 + bcc .L1308 mov r0, #0 ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} -.L1292: +.L1294: sub r5, r5, #1 uxth r5, r5 - b .L1290 -.L1302: + b .L1292 +.L1304: ldrh r3, [r4, #152] mov r2, #1 mov r1, r2 @@ -8863,16 +8937,16 @@ FtlLoadBbt: bl FlashReadPages ldr r3, [r4, #3264] cmn r3, #1 - beq .L1300 + beq .L1302 ldrh r2, [r6] movw r3, #61649 cmp r2, r3 - beq .L1301 -.L1300: + beq .L1303 +.L1302: sub r5, r5, #1 sxth r5, r5 - b .L1299 -.L1306: + b .L1301 +.L1308: ldrh r2, [r7] ldr r1, [r4, #3272] ldr r0, [r6, #4]! @@ -8880,13 +8954,13 @@ FtlLoadBbt: mla r1, r5, r2, r1 add r5, r5, #1 bl ftl_memcpy - b .L1305 -.L1307: + b .L1307 +.L1309: mvn r0, #0 ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} -.L1322: +.L1324: .align 2 -.L1321: +.L1323: .word .LANCHOR0 .word .LANCHOR0+3264 .word .LANCHOR1+443 @@ -8907,47 +8981,47 @@ FtlMakeBbt: sub fp, ip, #4 sub sp, sp, #4 mov r7, #0 - ldr r8, .L1342 + ldr r8, .L1344 bl FtlBbtMemInit bl FtlLoadFactoryBbt sub r5, r8, #180 sub r9, r8, #18 mov r4, r5 -.L1324: +.L1326: ldrh r3, [r5, #54] cmp r7, r3 - bcc .L1330 + bcc .L1332 mov r0, #0 -.L1331: +.L1333: ldrh r2, [r4, #114] uxth r3, r0 add r5, r0, #1 cmp r2, r3 - bhi .L1332 + bhi .L1334 ldrh r5, [r4, #164] movw r6, #65535 sub r5, r5, #1 uxth r5, r5 -.L1333: +.L1335: ldrh r3, [r4, #164] sub r3, r3, #48 cmp r5, r3 - ble .L1337 + ble .L1339 mov r0, r5 bl FtlBbmIsBadBlock cmp r0, #1 - beq .L1334 + beq .L1336 mov r0, r5 bl FlashTestBlk cmp r0, #0 - beq .L1335 + beq .L1337 mov r0, r5 bl FtlBbmMapBadBlock -.L1334: +.L1336: sub r5, r5, #1 uxth r5, r5 - b .L1333 -.L1330: + b .L1335 +.L1332: ldrh r3, [r9, #2]! movw r2, #65535 ldr r0, [r5, #3284] @@ -8955,11 +9029,11 @@ FtlMakeBbt: cmp r3, r2 str r0, [r5, #3272] str r10, [r5, #3276] - beq .L1325 + beq .L1327 ldrh ip, [r5, #98] mov r2, #1 mov r1, r2 - ldr r0, .L1342+4 + ldr r0, .L1344+4 mla ip, r7, ip, r3 lsl r3, ip, #10 str ip, [fp, #-44] @@ -8972,29 +9046,29 @@ FtlMakeBbt: asr r2, r2, #3 bl ftl_memcpy ldr ip, [fp, #-44] -.L1326: +.L1328: uxth r0, ip add r7, r7, #1 add r8, r8, #4 bl FtlBbmMapBadBlock - b .L1324 -.L1325: + b .L1326 +.L1327: mov r1, r7 bl FlashGetBadBlockList ldr r1, [r8] ldr r0, [r5, #3272] bl FtlBbt2Bitmap ldrh r6, [r5, #98] -.L1328: +.L1330: sub r6, r6, #1 uxth r6, r6 -.L1327: +.L1329: ldrh r0, [r4, #98] smlabb r0, r0, r7, r6 uxth r0, r0 bl FtlBbmIsBadBlock cmp r0, #1 - beq .L1328 + beq .L1330 mov r1, #16 ldr r0, [r4, #3288] strh r6, [r9] @ movhi @@ -9002,7 +9076,7 @@ FtlMakeBbt: mov r1, #4096 ldr r0, [r4, #3284] bl __memzero - ldr r3, .L1342+8 + ldr r3, .L1344+8 strh r3, [r10] @ movhi mov r3, #0 str r3, [r10, #4] @@ -9016,39 +9090,39 @@ FtlMakeBbt: lsl r3, ip, #10 str ip, [fp, #-44] str r3, [r4, #3268] - ldr r3, .L1342+12 + ldr r3, .L1344+12 ldrh r2, [r3] lsl r2, r2, #2 bl ftl_memcpy mov r2, #1 - ldr r0, .L1342+4 + ldr r0, .L1344+4 mov r1, r2 bl FlashEraseBlocks mov r3, #1 - ldr r0, .L1342+4 + ldr r0, .L1344+4 mov r2, r3 mov r1, r3 bl FlashProgPages ldr r3, [r4, #3264] ldr ip, [fp, #-44] cmn r3, #1 - bne .L1326 + bne .L1328 uxth r0, ip bl FtlBbmMapBadBlock - b .L1327 -.L1332: + b .L1329 +.L1334: uxth r0, r0 bl FtlBbmMapBadBlock mov r0, r5 - b .L1331 -.L1335: + b .L1333 +.L1337: ldrh r3, [r4, #152] cmp r3, r6 strheq r5, [r4, #152] @ movhi - beq .L1334 -.L1336: + beq .L1336 +.L1338: strh r5, [r4, #156] @ movhi -.L1337: +.L1339: ldrh r3, [r4, #152] mov r5, #0 ldr r0, [r4, #3804] @@ -9078,9 +9152,9 @@ FtlMakeBbt: bl FtlBbmTblFlush mov r0, r5 ldmib sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1343: +.L1345: .align 2 -.L1342: +.L1344: .word .LANCHOR0+180 .word .LANCHOR0+3264 .word -3872 @@ -9100,26 +9174,26 @@ FtlVendorPartWrite: sub fp, ip, #4 sub sp, sp, #100 mov r7, r0 - ldr r4, .L1353 + ldr r4, .L1355 mov r5, r1 str r2, [fp, #-128] add r2, r0, r1 ldrh r3, [r4, #96] cmp r2, r3 mvnhi r8, #0 - bhi .L1344 + bhi .L1346 ldrh r6, [r4, #108] mov r8, #0 lsr r6, r0, r6 lsl r10, r6, #2 -.L1346: +.L1348: cmp r5, #0 - bne .L1351 -.L1344: + bne .L1353 +.L1346: mov r0, r8 sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1351: +.L1353: ldr r3, [r4, #3888] mov r0, r7 ldrh r2, [r4, #58] @@ -9139,7 +9213,7 @@ FtlVendorPartWrite: cmpne r9, r2 movne r1, #1 moveq r1, #0 - beq .L1348 + beq .L1350 ldr r2, [r4, #3852] sub r0, fp, #124 str ip, [fp, #-120] @@ -9149,7 +9223,7 @@ FtlVendorPartWrite: mov r2, #1 mov r1, r2 bl FlashReadPages -.L1349: +.L1351: ldr r3, [fp, #-132] lsl ip, r9, #9 ldr r0, [r4, #3852] @@ -9163,7 +9237,7 @@ FtlVendorPartWrite: bl ftl_memcpy mov r1, r6 ldr r2, [r4, #3852] - ldr r0, .L1353+4 + ldr r0, .L1355+4 add r6, r6, #1 bl FtlMapWritePage ldr r3, [fp, #-128] @@ -9172,15 +9246,15 @@ FtlVendorPartWrite: mvneq r8, #0 add r3, r3, ip str r3, [fp, #-128] - b .L1346 -.L1348: + b .L1348 +.L1350: ldrh r2, [r4, #110] ldr r0, [r4, #3852] bl ftl_memset - b .L1349 -.L1354: + b .L1351 +.L1356: .align 2 -.L1353: +.L1355: .word .LANCHOR0 .word .LANCHOR0+3956 .size FtlVendorPartWrite, .-FtlVendorPartWrite @@ -9196,12 +9270,12 @@ Ftl_save_ext_data: mov ip, sp push {fp, ip, lr, pc} sub fp, ip, #4 - ldr r3, .L1357 - ldr r2, .L1357+4 + ldr r3, .L1359 + ldr r2, .L1359+4 ldr r1, [r3, #2636] cmp r1, r2 ldmfdne sp, {fp, sp, pc} - ldr r2, .L1357+8 + ldr r2, .L1359+8 mov r1, #1 mov r0, #0 str r2, [r3, #2640] @@ -9229,12 +9303,12 @@ Ftl_save_ext_data: str r2, [r3, #2680] ldr r2, [r3, #2568] str r2, [r3, #2684] - ldr r2, .L1357+12 + ldr r2, .L1359+12 bl FtlVendorPartWrite ldmfd sp, {fp, sp, pc} -.L1358: +.L1360: .align 2 -.L1357: +.L1359: .word .LANCHOR0 .word 1179929683 .word 1342177349 @@ -9252,7 +9326,7 @@ FtlEctTblFlush: mov ip, sp push {fp, ip, lr, pc} sub fp, ip, #4 - ldr r2, .L1364 + ldr r2, .L1366 ldrh r3, [r2] cmp r3, #31 addls r3, r3, #1 @@ -9260,22 +9334,22 @@ FtlEctTblFlush: strhls r3, [r2] @ movhi movls r3, #1 cmp r0, #0 - ldr r2, .L1364+4 - bne .L1361 + ldr r2, .L1366+4 + bne .L1363 ldr r1, [r2, #3864] ldr r0, [r1, #20] ldr r1, [r1, #16] add r3, r3, r0 cmp r1, r3 - bcc .L1362 -.L1361: + bcc .L1364 +.L1363: ldr r3, [r2, #3864] mov r0, #64 ldr r1, [r3, #16] str r1, [r3, #20] - ldr r1, .L1364+8 + ldr r1, .L1366+8 str r1, [r3] - ldr r3, .L1364+12 + ldr r3, .L1366+12 ldr r2, [r2, #3864] ldrh r1, [r3] lsl r3, r1, #9 @@ -9287,12 +9361,12 @@ FtlEctTblFlush: str r3, [r2, #4] bl FtlVendorPartWrite bl Ftl_save_ext_data -.L1362: +.L1364: mov r0, #0 ldmfd sp, {fp, sp, pc} -.L1365: +.L1367: .align 2 -.L1364: +.L1366: .word .LANCHOR3-4032 .word .LANCHOR0 .word 1112818501 @@ -9312,7 +9386,7 @@ FtlVendorPartRead: sub fp, ip, #4 sub sp, sp, #96 mov r9, r2 - ldr r3, .L1376 + ldr r3, .L1378 mov r6, r1 add r1, r0, r1 mov r7, r0 @@ -9320,20 +9394,20 @@ FtlVendorPartRead: mov r10, r3 cmp r1, r2 mvnhi r8, #0 - bhi .L1366 + bhi .L1368 ldrh r5, [r3, #108] mov r8, #0 lsr r5, r0, r5 lsl r3, r5, #2 str r3, [fp, #-128] -.L1368: +.L1370: cmp r6, #0 - bne .L1374 -.L1366: + bne .L1376 +.L1368: mov r0, r8 sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1374: +.L1376: ldr r3, [fp, #-128] mov r0, r7 ldr r2, [r10, #3888] @@ -9351,7 +9425,7 @@ FtlVendorPartRead: cmp ip, #0 lsl r3, r4, #9 str r3, [fp, #-136] - beq .L1370 + beq .L1372 ldr r2, [r10, #3852] sub r0, fp, #124 str ip, [fp, #-120] @@ -9368,23 +9442,23 @@ FtlVendorPartRead: ldr r2, [r10, #3264] mvneq r8, #0 cmp r2, #256 - bne .L1372 + bne .L1374 mov r2, ip mov r1, r5 - ldr r0, .L1376+4 + ldr r0, .L1378+4 bl sftl_printk ldr r2, [r10, #3852] mov r1, r5 - ldr r0, .L1376+8 + ldr r0, .L1378+8 bl FtlMapWritePage -.L1372: +.L1374: ldr r1, [r10, #3852] lsl r2, r4, #9 ldr r3, [fp, #-132] mov r0, r9 add r1, r1, r3, lsl #9 bl ftl_memcpy -.L1373: +.L1375: ldr r3, [fp, #-128] add r5, r5, #1 sub r6, r6, r4 @@ -9392,16 +9466,16 @@ FtlVendorPartRead: add r9, r9, r4, lsl #9 add r3, r3, #4 str r3, [fp, #-128] - b .L1368 -.L1370: + b .L1370 +.L1372: lsl r2, r4, #9 mov r1, ip mov r0, r9 bl ftl_memset - b .L1373 -.L1377: + b .L1375 +.L1379: .align 2 -.L1376: +.L1378: .word .LANCHOR0 .word .LC107 .word .LANCHOR0+3956 @@ -9418,7 +9492,7 @@ FtlLoadEctTbl: mov ip, sp push {r4, r5, fp, ip, lr, pc} sub fp, ip, #4 - ldr r4, .L1380 + ldr r4, .L1382 mov r0, #64 add r5, r4, #3856 ldr r2, [r4, #3864] @@ -9426,23 +9500,23 @@ FtlLoadEctTbl: bl FtlVendorPartRead ldr r3, [r4, #3864] ldr r2, [r3] - ldr r3, .L1380+4 + ldr r3, .L1382+4 cmp r2, r3 - beq .L1379 - ldr r1, .L1380+8 - ldr r0, .L1380+12 + beq .L1381 + ldr r1, .L1382+8 + ldr r0, .L1382+12 bl sftl_printk ldrh r2, [r5] mov r1, #0 ldr r0, [r4, #3864] lsl r2, r2, #9 bl ftl_memset -.L1379: +.L1381: mov r0, #0 ldmfd sp, {r4, r5, fp, sp, pc} -.L1381: +.L1383: .align 2 -.L1380: +.L1382: .word .LANCHOR0 .word 1112818501 .word .LC108 @@ -9460,23 +9534,23 @@ Ftl_load_ext_data: mov ip, sp push {r4, r5, fp, ip, lr, pc} sub fp, ip, #4 - ldr r4, .L1385 + ldr r4, .L1387 mov r1, #1 mov r0, #0 - ldr r2, .L1385+4 + ldr r2, .L1387+4 bl FtlVendorPartRead - ldr r5, .L1385+8 + ldr r5, .L1387+8 ldr r3, [r4, #2636] cmp r3, r5 - beq .L1383 + beq .L1385 mov r1, #512 - ldr r0, .L1385+4 + ldr r0, .L1387+4 bl __memzero str r5, [r4, #2636] -.L1383: +.L1385: ldr r3, [r4, #2636] cmp r3, r5 - bne .L1384 + bne .L1386 ldr r3, [r4, #2724] str r3, [r4, #2532] ldr r3, [r4, #2728] @@ -9501,7 +9575,7 @@ Ftl_load_ext_data: str r3, [r4, #2564] ldr r3, [r4, #2684] str r3, [r4, #2568] -.L1384: +.L1386: ldrh r2, [r4, #92] ldr r3, [r4, #2552] ldr r0, [r4, #2548] @@ -9510,9 +9584,9 @@ Ftl_load_ext_data: bl __udivsi3 str r0, [r4, #2556] ldmfd sp, {r4, r5, fp, sp, pc} -.L1386: +.L1388: .align 2 -.L1385: +.L1387: .word .LANCHOR0 .word .LANCHOR0+2636 .word 1179929683 @@ -9529,10 +9603,10 @@ FtlVpcTblFlush: mov ip, sp push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} sub fp, ip, #4 - ldr r4, .L1396 + ldr r4, .L1398 mov r6, #0 mov r1, #255 - ldr r10, .L1396+4 + ldr r10, .L1398+4 ldr r3, [r4, #3284] add r5, r4, #2576 ldr r8, [r4, #3288] @@ -9543,15 +9617,15 @@ FtlVpcTblFlush: str r8, [r4, #3276] str r6, [r8, #12] strh r3, [r8, #2] @ movhi - ldr r3, .L1396+8 + ldr r3, .L1398+8 strh r3, [r8] @ movhi ldr r3, [r4, #2584] str r6, [r8, #8] ldrh r2, [r5, #-226] str r3, [r8, #4] - ldr r3, .L1396+12 + ldr r3, .L1398+12 str r3, [r4, #2268] - ldr r3, .L1396+16 + ldr r3, .L1398+16 str r3, [r4, #2272] ldrh r3, [r5, #6] strh r3, [r7, #8] @ movhi @@ -9621,7 +9695,7 @@ FtlVpcTblFlush: bl ftl_memcpy mov r0, r6 bl FtlUpdateVaildLpn -.L1388: +.L1390: ldr r3, [r4, #3284] mov r0, r9 ldrh r2, [r5] @@ -9639,7 +9713,7 @@ FtlVpcTblFlush: ldrh r2, [r5, #2] sub r3, r3, #1 cmp r2, r3 - blt .L1389 + blt .L1391 ldrh r3, [r5] ldrh r7, [r5, #4] strh r3, [r5, #4] @ movhi @@ -9660,21 +9734,21 @@ FtlVpcTblFlush: mov r1, r3 mov r0, r9 bl FlashProgPages -.L1389: +.L1391: ldrh r3, [r5, #2] ldr r2, [r4, #3264] add r3, r3, #1 uxth r3, r3 cmn r2, #1 strh r3, [r5, #2] @ movhi - bne .L1390 + bne .L1392 cmp r3, #1 - bne .L1391 + bne .L1393 movw r2, #1169 mov r1, r10 - ldr r0, .L1396+20 + ldr r0, .L1398+20 bl sftl_printk -.L1391: +.L1393: ldrh r3, [r5, #2] add r6, r6, #1 uxth r6, r6 @@ -9683,29 +9757,29 @@ FtlVpcTblFlush: subeq r3, r3, #1 strheq r3, [r5, #2] @ movhi cmp r6, #3 - bls .L1388 + bls .L1390 mov r2, r6 ldr r1, [r4, #3268] - ldr r0, .L1396+24 + ldr r0, .L1398+24 bl sftl_printk -.L1394: - b .L1394 -.L1390: +.L1396: + b .L1396 +.L1392: cmp r2, #256 cmpne r3, #1 - beq .L1388 + beq .L1390 movw r3, #65535 cmp r7, r3 - beq .L1395 + beq .L1397 mov r1, #1 mov r0, r7 bl FtlFreeSysBlkQueueIn -.L1395: +.L1397: mov r0, #0 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1397: +.L1399: .align 2 -.L1396: +.L1398: .word .LANCHOR0 .word .LANCHOR1+454 .word -3932 @@ -9745,17 +9819,17 @@ sftl_deinit: mov ip, sp push {fp, ip, lr, pc} sub fp, ip, #4 - ldr r3, .L1401 + ldr r3, .L1403 ldr r3, [r3] cmp r3, #1 - bne .L1400 + bne .L1402 bl FtlSysFlush -.L1400: +.L1402: mov r0, #0 ldmfd sp, {fp, sp, pc} -.L1402: +.L1404: .align 2 -.L1401: +.L1403: .word .LANCHOR2 .size sftl_deinit, .-sftl_deinit .align 2 @@ -9772,21 +9846,21 @@ FtlDiscard: sub fp, ip, #4 sub sp, sp, #8 add r2, r0, r1 - ldr r6, .L1418 + ldr r6, .L1420 mov r8, r0 mov r5, r1 ldr r3, [r6, #140] cmp r2, r3 mvnhi r0, #0 - bhi .L1403 - cmp r1, #31 bhi .L1405 -.L1410: + cmp r1, #31 + bhi .L1407 +.L1412: mov r0, #0 -.L1403: +.L1405: sub sp, fp, #32 ldmfd sp, {r4, r5, r6, r7, r8, fp, sp, pc} -.L1405: +.L1407: ldrh r4, [r6, #58] mov r1, r4 bl __udivsi3 @@ -9795,38 +9869,38 @@ FtlDiscard: sub r8, r8, r3 uxth r8, r8 cmp r8, #0 - beq .L1406 + beq .L1408 sub r4, r4, r8 add r7, r0, #1 cmp r4, r5 movcs r4, r5 uxth r4, r4 sub r5, r5, r4 -.L1406: - ldr r4, .L1418+4 +.L1408: + ldr r4, .L1420+4 mvn r3, #0 str r3, [fp, #-36] -.L1407: +.L1409: ldrh r3, [r6, #58] cmp r5, r3 - bcs .L1409 - ldr r3, .L1418+4 + bcs .L1411 + ldr r3, .L1420+4 ldr r2, [r3, #-4028] cmp r2, #32 - bls .L1410 + bls .L1412 mov r4, #0 str r4, [r3, #-4028] bl l2p_flush bl FtlVpcTblFlush - b .L1410 -.L1409: + b .L1412 +.L1411: mov r2, #0 sub r1, fp, #40 mov r0, r7 bl log2phys ldr r3, [fp, #-40] cmn r3, #1 - beq .L1408 + beq .L1410 ldr r3, [r4, #-4028] mov r2, #1 sub r1, fp, #36 @@ -9841,14 +9915,14 @@ FtlDiscard: ubfx r0, r0, #10, #16 bl P2V_block_in_plane bl decrement_vpc_count -.L1408: +.L1410: ldrh r3, [r6, #58] add r7, r7, #1 sub r5, r5, r3 - b .L1407 -.L1419: + b .L1409 +.L1421: .align 2 -.L1418: +.L1420: .word .LANCHOR0 .word .LANCHOR3 .size FtlDiscard, .-FtlDiscard @@ -9866,36 +9940,36 @@ FtlVpcCheckAndModify: sub fp, ip, #4 sub sp, sp, #4 mov r5, #0 - ldr r4, .L1432 - ldr r1, .L1432+4 - ldr r0, .L1432+8 + ldr r4, .L1434 + ldr r1, .L1434+4 + ldr r0, .L1434+8 bl sftl_printk ldrh r2, [r4, #42] mov r1, #0 ldr r0, [r4, #3868] lsl r2, r2, #1 bl ftl_memset -.L1421: +.L1423: ldr r3, [r4, #2504] cmp r5, r3 - bcc .L1423 - ldr r9, .L1432+12 + bcc .L1425 + ldr r9, .L1434+12 mov r6, #0 - ldr r10, .L1432+16 -.L1424: + ldr r10, .L1434+16 +.L1426: ldrh r3, [r4, #40] uxth r5, r6 cmp r3, r5 - bhi .L1428 + bhi .L1430 ldmib sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1423: +.L1425: mov r2, #0 sub r1, fp, #44 mov r0, r5 bl log2phys ldr r0, [fp, #-44] cmn r0, #1 - beq .L1422 + beq .L1424 ubfx r0, r0, #10, #16 bl P2V_block_in_plane ldr r2, [r4, #3868] @@ -9903,10 +9977,10 @@ FtlVpcCheckAndModify: ldrh r3, [r2, r0] add r3, r3, #1 strh r3, [r2, r0] @ movhi -.L1422: +.L1424: add r5, r5, #1 - b .L1421 -.L1428: + b .L1423 +.L1430: uxth r8, r6 ldr r3, [r4, #2324] movw r1, #65535 @@ -9916,20 +9990,20 @@ FtlVpcCheckAndModify: ldrh r3, [r3, r7] cmp r2, r1 cmpne r2, r3 - beq .L1426 + beq .L1428 mov r1, r8 mov r0, r9 bl sftl_printk ldrh r3, [r10] cmp r3, r5 - beq .L1426 - ldr r3, .L1432+20 + beq .L1428 + ldr r3, .L1434+20 ldrh r2, [r3] cmp r2, r5 - beq .L1426 + beq .L1428 ldrh r3, [r3, #-48] cmp r3, r5 - beq .L1426 + beq .L1428 ldr r3, [r4, #3868] mov r0, r8 ldrh r2, [r3, r7] @@ -9938,12 +10012,12 @@ FtlVpcCheckAndModify: bl update_vpc_list bl l2p_flush bl FtlVpcTblFlush -.L1426: +.L1428: add r6, r6, #1 - b .L1424 -.L1433: + b .L1426 +.L1435: .align 2 -.L1432: +.L1434: .word .LANCHOR0 .word .LANCHOR1+469 .word .LC97 @@ -9963,49 +10037,49 @@ allocate_new_data_superblock: mov ip, sp push {r4, r5, r6, r7, fp, ip, lr, pc} sub fp, ip, #4 - ldr r5, .L1444 + ldr r5, .L1446 mov r7, r0 ldrh r4, [r0] ldrh r3, [r5, #40] cmp r3, r4 - bcs .L1435 + bcs .L1437 movw r2, #2750 - ldr r1, .L1444+4 - ldr r0, .L1444+8 + ldr r1, .L1446+4 + ldr r0, .L1446+8 bl sftl_printk -.L1435: +.L1437: movw r3, #65535 cmp r4, r3 - beq .L1436 + beq .L1438 ldr r2, [r5, #2324] lsl r3, r4, #1 mov r0, r4 ldrh r3, [r2, r3] cmp r3, #0 - beq .L1437 + beq .L1439 bl INSERT_DATA_LIST -.L1436: +.L1438: mov r3, #1 movw r2, #65535 strb r3, [r7, #8] - ldr r3, .L1444+12 + ldr r3, .L1446+12 ldrh r0, [r3] mov r6, r3 cmp r0, r2 - beq .L1438 + beq .L1440 cmp r4, r0 - bne .L1439 + bne .L1441 ldr r2, [r5, #2324] lsl r3, r0, #1 ldrh r3, [r2, r3] cmp r3, #0 - beq .L1440 -.L1439: + beq .L1442 +.L1441: bl update_vpc_list -.L1440: +.L1442: mvn r3, #0 strh r3, [r6] @ movhi -.L1438: +.L1440: mov r0, r7 bl allocate_data_superblock bl l2p_flush @@ -10014,12 +10088,12 @@ allocate_new_data_superblock: bl FtlVpcTblFlush mov r0, #0 ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} -.L1437: +.L1439: bl INSERT_FREE_LIST - b .L1436 -.L1445: + b .L1438 +.L1447: .align 2 -.L1444: +.L1446: .word .LANCHOR0 .word .LANCHOR1+490 .word .LC1 @@ -10039,26 +10113,26 @@ FtlProgPages: sub fp, ip, #4 sub sp, sp, #8 mov r7, #0 - ldr r6, .L1460 + ldr r6, .L1462 mov r4, r3 - ldr r10, .L1460+4 + ldr r10, .L1462+4 mov r2, #0 ldrb r3, [r3, #9] @ zero_extendqisi2 mov r5, r0 mov r9, r1 bl FlashProgPages -.L1447: +.L1449: cmp r7, r9 - beq .L1454 + beq .L1456 mov r8, #0 - b .L1455 -.L1450: + b .L1457 +.L1452: ldr r0, [r5, #4] ubfx r0, r0, #10, #16 bl P2V_block_in_plane ldrh r3, [r4] cmp r3, r0 - bne .L1448 + bne .L1450 ldr r1, [r6, #2324] lsl r3, r3, #1 ldrh r0, [r4, #4] @@ -10069,13 +10143,13 @@ FtlProgPages: strb r8, [r4, #6] strh r8, [r4, #4] @ movhi strh r3, [r4, #2] @ movhi -.L1448: +.L1450: ldrh r3, [r4, #4] cmp r3, #0 - bne .L1449 + bne .L1451 mov r0, r4 bl allocate_new_data_superblock -.L1449: +.L1451: ldr r3, [r6, #2732] add r3, r3, #1 str r3, [r6, #2732] @@ -10091,19 +10165,19 @@ FtlProgPages: ldrb r3, [r4, #9] @ zero_extendqisi2 mov r0, r5 bl FlashProgPages -.L1455: +.L1457: ldr r3, [r5] cmn r3, #1 - beq .L1450 + beq .L1452 ldrb r2, [r4, #6] @ zero_extendqisi2 ldrh r3, [r6, #32] cmp r2, r3 - bcc .L1451 - mov r2, #936 + bcc .L1453 + movw r2, #941 mov r1, r10 - ldr r0, .L1460+8 + ldr r0, .L1462+8 bl sftl_printk -.L1451: +.L1453: ldr r3, [r5, #4] sub r1, fp, #40 mov r2, #1 @@ -10118,37 +10192,37 @@ FtlProgPages: ldr r3, [fp, #-48] mov r8, r0 cmn r3, #1 - beq .L1452 + beq .L1454 ldr r2, [r6, #2324] lsl r3, r0, #1 ldrh r2, [r2, r3] cmp r2, #0 - bne .L1453 + bne .L1455 mov r1, r0 - ldr r0, .L1460+12 + ldr r0, .L1462+12 bl sftl_printk -.L1453: +.L1455: mov r0, r8 bl decrement_vpc_count -.L1452: +.L1454: add r7, r7, #1 add r5, r5, #20 - b .L1447 -.L1454: + b .L1449 +.L1456: ldrb r2, [r4, #6] @ zero_extendqisi2 ldrh r3, [r6, #32] cmp r2, r3 - bcc .L1446 - movw r2, #951 - ldr r1, .L1460+4 - ldr r0, .L1460+8 + bcc .L1448 + mov r2, #956 + ldr r1, .L1462+4 + ldr r0, .L1462+8 bl sftl_printk -.L1446: +.L1448: sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1461: +.L1463: .align 2 -.L1460: +.L1462: .word .LANCHOR0 .word .LANCHOR1+519 .word .LC1 @@ -10168,51 +10242,51 @@ FtlGcFreeTempBlock: sub fp, ip, #4 sub sp, sp, #4 movw r3, #2444 - ldr r4, .L1488 + ldr r4, .L1490 movw r2, #65535 ldrh r5, [r4, r3] ldrh r1, [r4, #102] cmp r5, r2 - bne .L1463 -.L1473: + bne .L1465 +.L1475: mov r3, #0 str r3, [r4, #4008] movw r3, #2444 ldrh r2, [r4, r3] movw r3, #65535 cmp r2, r3 - bne .L1486 -.L1464: + bne .L1488 +.L1466: mov r0, #0 ldmib sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1463: +.L1465: cmp r0, #0 - beq .L1466 - ldr r3, .L1488+4 + beq .L1468 + ldr r3, .L1490+4 ldrh r0, [r3, #4] cmp r0, r2 - beq .L1467 -.L1468: + beq .L1469 +.L1470: mov r1, #2 -.L1466: - ldr r0, .L1488+8 +.L1468: + ldr r0, .L1490+8 bl FtlGcScanTempBlk cmn r0, #1 str r0, [fp, #-44] - beq .L1469 + beq .L1471 ldr r2, [r4, #2328] lsl r5, r5, #1 ldrh r3, [r2, r5] cmp r3, #4 - bls .L1470 + bls .L1472 sub r3, r3, #5 mov r0, #1 strh r3, [r2, r5] @ movhi bl FtlEctTblFlush -.L1470: +.L1472: ldr r3, [r4, #4008] cmp r3, #0 - bne .L1471 + bne .L1473 ldr r3, [r4, #2732] ldr r0, [fp, #-44] add r3, r3, #1 @@ -10220,47 +10294,47 @@ FtlGcFreeTempBlock: str r3, [r4, #2732] bl FtlBbmMapBadBlock bl FtlBbmTblFlush -.L1471: +.L1473: mov r3, #0 str r3, [r4, #4008] -.L1482: +.L1484: mov r0, #1 ldmib sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1467: +.L1469: mov r2, #0 strh r2, [r3, #4] @ movhi movw r3, #2344 ldrh r3, [r4, r3] cmp r3, #17 - bhi .L1468 - b .L1466 -.L1469: - ldr r3, .L1488+4 + bhi .L1470 + b .L1468 +.L1471: + ldr r3, .L1490+4 ldrh r2, [r3, #4] movw r3, #65535 cmp r2, r3 - bne .L1482 - b .L1473 -.L1486: + bne .L1484 + b .L1475 +.L1488: ldrb r1, [r4, #2451] @ zero_extendqisi2 ldrh r3, [r4, #102] - ldr r6, .L1488+12 + ldr r6, .L1490+12 mul r3, r3, r1 ldrh r2, [r6] cmp r2, r3 - beq .L1474 + beq .L1476 mov r2, #162 - ldr r1, .L1488+16 - ldr r0, .L1488+20 + ldr r1, .L1490+16 + ldr r0, .L1490+20 bl sftl_printk -.L1474: +.L1476: ldrb r2, [r4, #2451] @ zero_extendqisi2 movw r3, #2444 ldrh r0, [r4, #102] mov r5, #0 ldrh r3, [r4, r3] ldr r1, [r4, #2324] - ldr r10, .L1488+20 + ldr r10, .L1490+20 smulbb r2, r2, r0 lsl r3, r3, #1 strh r2, [r1, r3] @ movhi @@ -10268,11 +10342,11 @@ FtlGcFreeTempBlock: ldrh r3, [r6] add r3, r3, r2 str r3, [r4, #2528] -.L1475: +.L1477: ldrh r2, [r6] uxth r3, r5 cmp r2, r3 - bhi .L1479 + bhi .L1481 movw r0, #65535 bl decrement_vpc_count movw r3, #2444 @@ -10282,9 +10356,9 @@ FtlGcFreeTempBlock: lsl r2, r0, #1 ldrh r2, [r1, r2] cmp r2, #0 - beq .L1480 + beq .L1482 bl INSERT_DATA_LIST -.L1481: +.L1483: mvn r7, #0 movw r3, #3192 strh r7, [r4, r5] @ movhi @@ -10304,8 +10378,8 @@ FtlGcFreeTempBlock: strhgt r7, [r4, r3] @ movhi movwgt r3, #3148 strhgt r2, [r4, r3] @ movhi - b .L1464 -.L1479: + b .L1466 +.L1481: uxth r3, r5 mov r7, #12 ldr r8, [r4, #3196] @@ -10314,12 +10388,12 @@ FtlGcFreeTempBlock: add r9, r8, r7 ldr r1, [r9, #8] cmp r1, r2 - bcc .L1476 + bcc .L1478 mov r2, #168 - ldr r1, .L1488+16 + ldr r1, .L1490+16 mov r0, r10 bl sftl_printk -.L1476: +.L1478: mov r2, #0 sub r1, fp, #44 ldr r0, [r9, #8] @@ -10327,7 +10401,7 @@ FtlGcFreeTempBlock: ldr r2, [fp, #-44] ldr r0, [r8, r7] cmp r0, r2 - bne .L1477 + bne .L1479 ubfx r0, r0, #10, #16 bl P2V_block_in_plane mov r2, #1 @@ -10336,24 +10410,24 @@ FtlGcFreeTempBlock: ldr r0, [r9, #8] bl log2phys mov r0, r7 -.L1487: +.L1489: bl decrement_vpc_count -.L1478: +.L1480: add r5, r5, #1 - b .L1475 -.L1477: + b .L1477 +.L1479: ldr r3, [r9, #4] cmp r2, r3 - beq .L1478 - ldr r3, .L1488+8 + beq .L1480 + ldr r3, .L1490+8 ldrh r0, [r3] - b .L1487 -.L1480: + b .L1489 +.L1482: bl INSERT_FREE_LIST - b .L1481 -.L1489: + b .L1483 +.L1491: .align 2 -.L1488: +.L1490: .word .LANCHOR0 .word .LANCHOR2 .word .LANCHOR0+2444 @@ -10373,8 +10447,8 @@ FtlGcPageRecovery: mov ip, sp push {r4, r5, fp, ip, lr, pc} sub fp, ip, #4 - ldr r4, .L1492 - ldr r5, .L1492+4 + ldr r4, .L1494 + ldr r5, .L1494+4 ldrh r1, [r4, #102] mov r0, r5 bl FtlGcScanTempBlk @@ -10382,16 +10456,16 @@ FtlGcPageRecovery: ldrh r3, [r4, #102] cmp r2, r3 ldmfdcc sp, {r4, r5, fp, sp, pc} - ldr r0, .L1492+8 + ldr r0, .L1494+8 bl FtlMapBlkWriteDump_data mov r0, #0 bl FtlGcFreeTempBlock mov r3, #0 str r3, [r4, #4008] ldmfd sp, {r4, r5, fp, sp, pc} -.L1493: +.L1495: .align 2 -.L1492: +.L1494: .word .LANCHOR0 .word .LANCHOR0+2444 .word .LANCHOR0+3908 @@ -10408,7 +10482,7 @@ FtlPowerLostRecovery: mov ip, sp push {r4, r5, r6, fp, ip, lr, pc} sub fp, ip, #4 - ldr r4, .L1495 + ldr r4, .L1497 mov r6, #0 add r5, r4, #2336 str r6, [r4, #4020] @@ -10428,9 +10502,9 @@ FtlPowerLostRecovery: bl decrement_vpc_count mov r0, r6 ldmfd sp, {r4, r5, r6, fp, sp, pc} -.L1496: +.L1498: .align 2 -.L1495: +.L1497: .word .LANCHOR0 .size FtlPowerLostRecovery, .-FtlPowerLostRecovery .align 2 @@ -10445,7 +10519,7 @@ Ftl_gc_temp_data_write_back: mov ip, sp push {r4, r5, r6, fp, ip, lr, pc} sub fp, ip, #4 - ldr r4, .L1504 + ldr r4, .L1506 mov r3, #0 mov r5, #0 mov r6, #20 @@ -10453,14 +10527,14 @@ Ftl_gc_temp_data_write_back: ldr r1, [r4, #3164] ldr r0, [r4, #3840] bl FlashProgPages -.L1498: +.L1500: ldr r1, [r4, #3164] uxth r3, r5 cmp r1, r3 - bhi .L1501 + bhi .L1503 ldr r0, [r4, #3840] bl FtlGcBufFree - ldr r3, .L1504+4 + ldr r3, .L1506+4 mov r0, #0 str r0, [r4, #3164] ldrh r3, [r3, #4] @@ -10468,15 +10542,15 @@ Ftl_gc_temp_data_write_back: ldmfdne sp, {r4, r5, r6, fp, sp, pc} mov r0, #1 bl FtlGcFreeTempBlock - b .L1503 -.L1501: + b .L1505 +.L1503: mul r3, r6, r3 ldr r2, [r4, #3840] add r5, r5, #1 ldr r0, [r2, r3] add r1, r2, r3 cmn r0, #1 - bne .L1499 + bne .L1501 movw r1, #2444 ldr ip, [r4, #2324] ldrh r2, [r4, r1] @@ -10494,19 +10568,19 @@ Ftl_gc_temp_data_write_back: bl FtlBbmMapBadBlock bl FtlBbmTblFlush bl FtlGcPageVarInit -.L1503: +.L1505: mov r0, #1 ldmfd sp, {r4, r5, r6, fp, sp, pc} -.L1499: +.L1501: ldr r3, [r1, #12] ldr r1, [r1, #4] ldr r2, [r3, #8] ldr r0, [r3, #12] bl FtlGcUpdatePage - b .L1498 -.L1505: + b .L1500 +.L1507: .align 2 -.L1504: +.L1506: .word .LANCHOR0 .word .LANCHOR0+2444 .size Ftl_gc_temp_data_write_back, .-Ftl_gc_temp_data_write_back @@ -10522,38 +10596,38 @@ Ftl_get_new_temp_ppa: mov ip, sp push {r4, r5, fp, ip, lr, pc} sub fp, ip, #4 - ldr r4, .L1509 + ldr r4, .L1511 movw r3, #2444 ldrh r2, [r4, r3] movw r3, #65535 cmp r2, r3 - beq .L1507 - ldr r3, .L1509+4 + beq .L1509 + ldr r3, .L1511+4 ldrh r3, [r3, #4] cmp r3, #0 - bne .L1508 -.L1507: + bne .L1510 +.L1509: mov r0, #0 mov r5, #0 bl FtlGcFreeTempBlock - ldr r0, .L1509+4 + ldr r0, .L1511+4 strb r5, [r4, #2452] bl allocate_data_superblock movw r3, #3192 strh r5, [r4, r3] @ movhi - ldr r3, .L1509+8 + ldr r3, .L1511+8 strh r5, [r3] @ movhi bl l2p_flush mov r0, r5 bl FtlEctTblFlush bl FtlVpcTblFlush -.L1508: - ldr r0, .L1509+4 +.L1510: + ldr r0, .L1511+4 bl get_new_active_ppa ldmfd sp, {r4, r5, fp, sp, pc} -.L1510: +.L1512: .align 2 -.L1509: +.L1511: .word .LANCHOR0 .word .LANCHOR0+2444 .word .LANCHOR0+3200 @@ -10572,28 +10646,28 @@ rk_ftl_garbage_collect: sub fp, ip, #4 sub sp, sp, #36 mov r6, r0 - ldr r3, .L1623 + ldr r3, .L1625 ldr r0, [r3, #3824] mov r5, r3 cmp r0, #0 movne r0, #0 - bne .L1511 + bne .L1513 add r2, r3, #2336 ldrh r2, [r2] cmp r2, #47 - bls .L1511 - ldr r2, .L1623+4 + bls .L1513 + ldr r2, .L1625+4 ldrh r1, [r2, #4] movw r2, #65535 cmp r1, r2 - bne .L1513 -.L1516: + bne .L1515 +.L1518: movw ip, #3204 movw r2, #65535 ldrh r7, [r5, ip] cmp r7, r2 - bne .L1514 -.L1515: + bne .L1516 +.L1517: ldr r3, [r5, #3152] movw r2, #2588 ldrh r2, [r5, r2] @@ -10602,16 +10676,16 @@ rk_ftl_garbage_collect: add r3, r3, r6, lsl #7 cmp r2, r4 str r3, [r5, #3152] - bne .L1517 + bne .L1519 movw r1, #2444 ldrh r4, [r5, r1] cmp r4, r2 movne r4, r2 - bne .L1517 + bne .L1519 movw r2, #3202 ldrh r7, [r5, r2] cmp r7, r4 - bne .L1517 + bne .L1519 movw r10, #2344 ldrh r2, [r5, r10] cmp r2, #24 @@ -10619,8 +10693,8 @@ rk_ftl_garbage_collect: movcs r2, #1024 cmp r3, r2 movls r4, r7 - bls .L1517 - ldr r3, .L1623+8 + bls .L1519 + ldr r3, .L1625+8 mov r9, #0 str r9, [r5, #3152] strh r9, [r3, #-8] @ movhi @@ -10628,33 +10702,33 @@ rk_ftl_garbage_collect: cmp r0, r7 mov r4, r0 movne r7, r0 - bne .L1519 + bne .L1521 movw r8, #3150 ldrh r2, [r5, r10] ldrh r3, [r5, r8] cmp r2, r3 - bcs .L1520 + bcs .L1522 mov r0, #64 bl List_get_gc_head_node uxth r3, r0 cmp r3, r4 - beq .L1522 + beq .L1524 mov r0, r3 ldr r3, [r5, #2324] lsl r0, r0, #1 ldrh r3, [r3, r0] cmp r3, #7 - bhi .L1523 + bhi .L1525 mov r0, r9 bl List_get_gc_head_node uxth r7, r0 mov r3, #128 strh r3, [r5, r8] @ movhi cmp r7, r4 - bne .L1519 -.L1522: + bne .L1521 +.L1524: bl FtlGcReFreshBadBlk -.L1517: +.L1519: movw r2, #65535 sub r3, r4, r2 clz r3, r3 @@ -10663,78 +10737,78 @@ rk_ftl_garbage_collect: movne r6, #0 andeq r6, r3, #1 cmp r6, #0 - beq .L1525 + beq .L1527 movw r3, #2344 ldrh r3, [r5, r3] cmp r3, #24 movhi r6, #1 - bhi .L1526 + bhi .L1528 ldrh r6, [r5, #102] cmp r3, #16 lsrhi r6, r6, #5 - bhi .L1526 + bhi .L1528 cmp r3, #12 lsrhi r6, r6, #4 - bhi .L1526 + bhi .L1528 cmp r3, #8 lsrhi r6, r6, #2 -.L1526: +.L1528: movw r2, #3148 ldrh r1, [r5, r2] cmp r1, r3 - bcs .L1530 + bcs .L1532 movw r3, #2444 movw r1, #65535 ldrh r3, [r5, r3] cmp r3, r1 - bne .L1531 + bne .L1533 movw r1, #3202 ldrh r1, [r5, r1] cmp r1, r3 - bne .L1531 - ldr r3, .L1623+8 + bne .L1533 + ldr r3, .L1625+8 ldrh r0, [r3, #-8] cmp r0, #0 - bne .L1532 + bne .L1534 ldr r3, [r5, #2504] ldr r1, [r5, #2500] add r3, r3, r3, lsl #1 cmp r1, r3, lsr #2 movcs r3, #18 - bcs .L1616 -.L1532: + bcs .L1618 +.L1534: movw r3, #2572 movw r2, #3148 ldrh r3, [r5, r3] add r3, r3, r3, lsl #1 asr r3, r3, #2 -.L1616: +.L1618: strh r3, [r5, r2] @ movhi mov r3, #0 str r3, [r5, #3160] -.L1511: +.L1513: sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1513: +.L1515: movw r1, #2444 ldrh r3, [r3, r1] cmp r3, r2 - beq .L1516 + beq .L1518 mov r0, #1 bl FtlGcFreeTempBlock cmp r0, #0 - beq .L1516 + beq .L1518 mov r0, #1 - b .L1511 -.L1514: + b .L1513 +.L1516: movw r4, #3202 ldrh r3, [r5, r4] cmp r3, r2 - bne .L1515 + bne .L1517 movw r1, #3206 ldrh lr, [r5, r1] cmp lr, r3 - beq .L1515 + beq .L1517 movw r2, #3208 ldrh r0, [r5, r2] cmp r0, r3 @@ -10743,16 +10817,16 @@ rk_ftl_garbage_collect: strhne lr, [r5, ip] @ movhi strhne r0, [r5, r1] @ movhi strhne r3, [r5, r2] @ movhi - b .L1515 -.L1523: + b .L1517 +.L1525: mov r3, #64 -.L1615: +.L1617: strh r3, [r5, r8] @ movhi - b .L1522 -.L1520: + b .L1524 +.L1522: mov r3, #80 - b .L1615 -.L1519: + b .L1617 +.L1521: movw r0, #3148 ldr r3, [r5, #2324] ldrh r0, [r5, r0] @@ -10764,38 +10838,38 @@ rk_ftl_garbage_collect: str r0, [sp, #4] ldr r0, [r5, #2328] ldrh r1, [r0, r1] - ldr r0, .L1623+12 + ldr r0, .L1625+12 str r1, [sp] mov r1, r7 bl sftl_printk - b .L1522 -.L1531: + b .L1524 +.L1533: movw r3, #2572 movw r2, #3148 ldrh r3, [r5, r3] add r3, r3, r3, lsl #1 asr r3, r3, #2 strh r3, [r5, r2] @ movhi -.L1530: +.L1532: movw r3, #3210 movw r4, #65535 ldrh r3, [r5, r3] cmp r3, #0 addne r6, r6, #32 uxthne r6, r6 -.L1536: +.L1538: movw r3, #2588 ldrh r2, [r5, r3] movw r1, #65535 cmp r2, r1 - bne .L1545 + bne .L1547 cmp r4, r2 strhne r4, [r5, r3] @ movhi - bne .L1547 + bne .L1549 movw r2, #3202 ldrh r3, [r5, r2] cmp r3, r4 - beq .L1547 + beq .L1549 ldr r1, [r5, #2324] lsl r3, r3, #1 ldrh r3, [r1, r3] @@ -10808,27 +10882,27 @@ rk_ftl_garbage_collect: strh r1, [r5, r2] @ movhi mvn r2, #0 strh r2, [r5, r3] @ movhi -.L1547: +.L1549: movw r7, #2588 mov r3, #0 ldrh r0, [r5, r7] strb r3, [r5, #2596] movw r3, #65535 cmp r0, r3 - beq .L1545 + beq .L1547 bl IsBlkInGcList cmp r0, #0 - ldr r8, .L1623+16 + ldr r8, .L1625+16 mvnne r3, #0 strhne r3, [r5, r7] @ movhi movw r7, #2588 ldrh r2, [r5, r7] movw r3, #65535 cmp r2, r3 - beq .L1545 + beq .L1547 mov r0, r8 bl make_superblock - ldr r2, .L1623+8 + ldr r2, .L1625+8 mov r3, #0 strh r3, [r8, #2] @ movhi strb r3, [r5, #2594] @@ -10838,83 +10912,83 @@ rk_ftl_garbage_collect: lsl r3, r3, #1 ldrh r3, [r1, r3] strh r3, [r2, #-4] @ movhi -.L1545: +.L1547: movw r3, #2588 movw r2, #2348 ldrh r3, [r5, r3] ldrh r2, [r5, r2] cmp r2, r3 - beq .L1551 + beq .L1553 movw r2, #2396 ldrh r2, [r5, r2] cmp r2, r3 - ldrne r7, .L1623 + ldrne r7, .L1625 movne r5, r7 - bne .L1552 -.L1551: + bne .L1554 +.L1553: mvn r2, #0 movw r3, #2588 -.L1621: +.L1623: strh r2, [r5, r3] @ movhi - ldr r3, .L1623+8 -.L1622: + ldr r3, .L1625+8 +.L1624: ldrh r0, [r3, #-8] - b .L1511 -.L1525: + b .L1513 +.L1527: movw r1, #2444 ldrh r7, [r5, r1] cmp r7, r2 - bne .L1593 + bne .L1595 movw r2, #3202 ldrh r2, [r5, r2] cmp r2, r7 movne r3, #0 andeq r3, r3, #1 cmp r3, #0 - beq .L1593 + beq .L1595 movw r3, #2588 ldrh r3, [r5, r3] cmp r3, r7 - beq .L1537 -.L1542: + beq .L1539 +.L1544: mov r4, r7 -.L1593: +.L1595: mov r6, #1 - b .L1536 -.L1537: + b .L1538 +.L1539: movw r3, #2344 movw r2, #3148 ldrh r8, [r5, r3] ldrh r3, [r5, r2] str r6, [r5, #3160] - ldr r4, .L1623+8 + ldr r4, .L1625+8 cmp r3, r8 - bcs .L1538 + bcs .L1540 ldrh r3, [r4, #-8] cmp r3, #0 - bne .L1539 + bne .L1541 ldr r3, [r5, #2504] ldr r1, [r5, #2500] add r3, r3, r3, lsl #1 cmp r1, r3, lsr #2 movcs r3, #18 - bcs .L1617 -.L1539: + bcs .L1619 +.L1541: movw r3, #2572 movw r2, #3148 ldrh r3, [r5, r3] add r3, r3, r3, lsl #1 asr r3, r3, #2 -.L1617: +.L1619: strh r3, [r5, r2] @ movhi -.L1620: +.L1622: bl FtlReadRefresh ldrh r0, [r4, #-8] - b .L1511 -.L1538: + b .L1513 +.L1540: ldrh r0, [r4, #-8] cmp r0, #0 - bne .L1542 + bne .L1544 movw r3, #2572 ldrh r6, [r5, r3] add r3, r6, r6, lsl #1 @@ -10930,20 +11004,20 @@ rk_ftl_garbage_collect: mul r3, r3, r1 add r3, r3, r3, lsr #31 cmp r2, r3, asr #1 - ble .L1543 + ble .L1545 sub r6, r6, #1 cmp r8, r6 - bge .L1620 -.L1543: + bge .L1622 +.L1545: cmp r2, #0 - bne .L1542 + bne .L1544 movw r0, #65535 bl decrement_vpc_count movw r3, #2344 ldrh r0, [r5, r3] add r0, r0, #1 - b .L1511 -.L1555: + b .L1513 +.L1557: uxth r2, r0 str r1, [fp, #-52] add r10, r10, #1 @@ -10954,7 +11028,7 @@ rk_ftl_garbage_collect: ldr r2, [fp, #-48] ldr r1, [fp, #-52] strhne r10, [r9] @ movhi - bne .L1554 + bne .L1556 ldrh lr, [r5, #32] uxth r10, r10 ldrh r3, [r5, #102] @@ -10965,78 +11039,78 @@ rk_ftl_garbage_collect: ldrh ip, [r0, r2] add lr, r3, r3, lsr #31 cmp ip, lr, asr #1 - bgt .L1558 + bgt .L1560 cmp ip, #8 cmphi r10, #48 - bls .L1559 - ldr ip, .L1623+20 + bls .L1561 + ldr ip, .L1625+20 ldrh ip, [ip] cmp ip, #35 - bhi .L1559 -.L1558: - ldr lr, .L1623+24 + bhi .L1561 +.L1560: + ldr lr, .L1625+24 mov ip, #0 strh ip, [lr] @ movhi -.L1559: +.L1561: ldrh ip, [r0, r2] movw r0, #65535 cmp r3, ip cmple r4, r0 moveq r3, #1 movne r3, #0 - bne .L1560 + bne .L1562 mvn r2, #0 movw r3, #2588 strh r2, [r5, r3] @ movhi mov r2, #0 movw r3, #3156 - b .L1621 -.L1560: + b .L1623 +.L1562: cmp ip, #0 - bne .L1561 + bne .L1563 bl decrement_vpc_count - ldr r3, .L1623+24 - ldr r2, .L1623+24 + ldr r3, .L1625+24 + ldr r2, .L1625+24 ldrh r3, [r3] add r3, r3, #1 strh r3, [r2] @ movhi - b .L1554 -.L1561: + b .L1556 +.L1563: strb r3, [r5, #2596] - ldr r3, .L1623+28 + ldr r3, .L1625+28 ldrh r3, [r3] cmp r3, r1 - bne .L1562 - movw r2, #665 - ldr r1, .L1623+32 - ldr r0, .L1623+36 - bl sftl_printk -.L1562: - ldr r3, .L1623+40 - ldrh r2, [r8] - ldrh r3, [r3] - cmp r2, r3 - bne .L1563 - movw r2, #666 - ldr r1, .L1623+32 - ldr r0, .L1623+36 - bl sftl_printk -.L1563: - ldr r3, .L1623+44 - ldrh r2, [r8] - ldrh r3, [r3] - cmp r2, r3 bne .L1564 - movw r2, #667 - ldr r1, .L1623+32 - ldr r0, .L1623+36 + movw r2, #665 + ldr r1, .L1625+32 + ldr r0, .L1625+36 bl sftl_printk .L1564: - ldr r0, .L1623+16 + ldr r3, .L1625+40 + ldrh r2, [r8] + ldrh r3, [r3] + cmp r2, r3 + bne .L1565 + movw r2, #666 + ldr r1, .L1625+32 + ldr r0, .L1625+36 + bl sftl_printk +.L1565: + ldr r3, .L1625+44 + ldrh r2, [r8] + ldrh r3, [r3] + cmp r2, r3 + bne .L1566 + movw r2, #667 + ldr r1, .L1625+32 + ldr r0, .L1625+36 + bl sftl_printk +.L1566: + ldr r0, .L1625+16 bl make_superblock ldrh r2, [r8] mov r3, #0 - ldr r1, .L1623+48 + ldr r1, .L1625+48 ldr r0, [r5, #2324] lsl r2, r2, #1 strh r3, [r1] @ movhi @@ -11044,7 +11118,7 @@ rk_ftl_garbage_collect: strh r3, [r8, #2] @ movhi strb r3, [r5, #2594] strh r2, [r1, #2] @ movhi -.L1553: +.L1555: bl FtlReadRefresh mov r3, #1 str r3, [r5, #3824] @@ -11058,12 +11132,12 @@ rk_ftl_garbage_collect: subgt r6, r2, r3 mov r3, #0 uxthgt r6, r6 -.L1619: +.L1621: str r3, [fp, #-52] ldrh r3, [fp, #-52] - ldr r8, .L1623+16 + ldr r8, .L1625+16 cmp r6, r3 - bls .L1574 + bls .L1576 ldrh r9, [r8, #2] add r1, r8, #14 ldr r3, [fp, #-52] @@ -11073,8 +11147,8 @@ rk_ftl_garbage_collect: add r9, r9, r3 mov r3, #0 mov r8, r3 - b .L1575 -.L1568: + b .L1577 +.L1570: ldrh r2, [r1, #2]! add r3, r3, #1 cmp r2, r10 @@ -11084,22 +11158,22 @@ rk_ftl_garbage_collect: addne r8, r8, #1 uxthne r8, r8 strne r2, [lr, #4] -.L1575: +.L1577: uxth r2, r3 cmp ip, r2 - bhi .L1568 + bhi .L1570 ldrb r2, [r7, #2596] @ zero_extendqisi2 mov r1, r8 bl FlashReadPages mov r3, #0 -.L1618: +.L1620: str r3, [fp, #-48] ldrh r3, [fp, #-48] cmp r3, r8 ldrcs r3, [fp, #-52] addcs r3, r3, #1 - bcs .L1619 -.L1573: + bcs .L1621 +.L1575: ldr r3, [fp, #-48] mov r9, #20 mul r9, r9, r3 @@ -11107,22 +11181,22 @@ rk_ftl_garbage_collect: add r2, r3, r9 ldr r3, [r3, r9] cmn r3, #1 - beq .L1570 + beq .L1572 ldr r10, [r2, #12] movw r3, #61589 ldrh r2, [r10] cmp r2, r3 - bne .L1570 + bne .L1572 ldr r3, [r10, #8] cmn r3, #1 - bne .L1571 + bne .L1573 movw r2, #703 - ldr r1, .L1623+32 - ldr r0, .L1623+36 + ldr r1, .L1625+32 + ldr r0, .L1625+36 str r3, [fp, #-60] bl sftl_printk ldr r3, [fp, #-60] -.L1571: +.L1573: mov r2, #0 mov r0, r3 sub r1, fp, #44 @@ -11132,8 +11206,8 @@ rk_ftl_garbage_collect: add r0, r0, r9 ldr r2, [r0, #4] cmp r2, r3 - bne .L1570 - ldr r3, .L1623+48 + bne .L1572 + ldr r3, .L1625+48 mov r1, #20 ldr lr, [r5, #3164] ldr r0, [r0, #16] @@ -11161,7 +11235,7 @@ rk_ftl_garbage_collect: str r2, [r1, #12] ldr r2, [fp, #-44] str r2, [r10, #12] - ldr r2, .L1623+44 + ldr r2, .L1625+44 ldrh r1, [r2] str r2, [fp, #-60] strh r1, [r10, #2] @ movhi @@ -11178,58 +11252,58 @@ rk_ftl_garbage_collect: ldr r1, [r5, #3164] ldr r3, [fp, #-68] cmp r0, r1 - beq .L1572 + beq .L1574 ldr r2, [fp, #-60] ldrh r2, [r2, #4] cmp r2, #0 - bne .L1570 -.L1572: + bne .L1572 +.L1574: str r3, [fp, #-60] bl Ftl_gc_temp_data_write_back cmp r0, #0 ldr r3, [fp, #-60] - ldrne r2, .L1623 + ldrne r2, .L1625 movne r1, #0 strne r1, [r2, #3824] - bne .L1622 -.L1570: + bne .L1624 +.L1572: ldr r3, [fp, #-48] add r3, r3, #1 - b .L1618 -.L1574: + b .L1620 +.L1576: ldrh r3, [r8, #2] add r6, r6, r3 ldr r3, [fp, #-56] uxth r6, r6 cmp r3, r6 strh r6, [r8, #2] @ movhi - bhi .L1576 + bhi .L1578 ldr r3, [r7, #3164] - ldr r9, .L1623+8 + ldr r9, .L1625+8 cmp r3, #0 - beq .L1577 + beq .L1579 bl Ftl_gc_temp_data_write_back cmp r0, #0 movne r3, #0 ldrhne r0, [r9, #-8] strne r3, [r7, #3824] - bne .L1511 -.L1577: + bne .L1513 +.L1579: ldrh r6, [r9, #-6] cmp r6, #0 - bne .L1578 + bne .L1580 ldrh r1, [r8] ldr r2, [r7, #2324] lsl r3, r1, #1 ldrh r3, [r2, r3] cmp r3, #0 - beq .L1578 + beq .L1580 ldrh r0, [r9, #-4] ldrh r2, [r8, #2] str r3, [sp] mov r3, r6 str r0, [sp, #4] - ldr r0, .L1623+52 + ldr r0, .L1625+52 bl sftl_printk ldrh r3, [r8] ldr r2, [r7, #2324] @@ -11239,49 +11313,49 @@ rk_ftl_garbage_collect: bl update_vpc_list bl l2p_flush bl FtlVpcTblFlush -.L1578: +.L1580: mvn r3, #0 strh r3, [r8] @ movhi -.L1576: - ldr r3, .L1623+56 +.L1578: + ldr r3, .L1625+56 ldrh r3, [r3] cmp r3, #2 - bhi .L1579 + bhi .L1581 ldrh r6, [r7, #102] -.L1552: - ldr r8, .L1623+16 +.L1554: + ldr r8, .L1625+16 movw r3, #65535 ldrh r2, [r8] cmp r2, r3 - bne .L1553 + bne .L1555 add r9, r8, #568 mov r3, #0 str r3, [r7, #3160] -.L1554: +.L1556: ldrh r10, [r9] mov r0, r10 bl List_get_gc_head_node - ldr r3, .L1623+16 + ldr r3, .L1625+16 uxth r1, r0 strh r1, [r3] @ movhi movw r3, #65535 cmp r1, r3 - bne .L1555 + bne .L1557 mov r3, #0 mov r0, #8 strh r3, [r9] @ movhi - b .L1511 -.L1579: + b .L1513 +.L1581: mov r2, #0 str r2, [r7, #3824] - ldr r2, .L1623+8 + ldr r2, .L1625+8 ldrh r0, [r2, #-8] cmp r0, #0 addeq r0, r3, #1 - b .L1511 -.L1624: + b .L1513 +.L1626: .align 2 -.L1623: +.L1625: .word .LANCHOR0 .word .LANCHOR2 .word .LANCHOR3-4016 @@ -11333,29 +11407,29 @@ FtlRead: str r2, [fp, #-72] cmp r0, #16 mov r9, r3 - bne .L1627 + bne .L1629 mov r2, r3 ldr r1, [fp, #-72] add r0, r7, #256 bl FtlVendorPartRead str r0, [fp, #-48] -.L1626: +.L1628: ldr r0, [fp, #-48] sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1627: +.L1629: ldr r3, [fp, #-72] - ldr r4, .L1661 + ldr r4, .L1663 add r3, r1, r3 str r3, [fp, #-56] ldr r2, [fp, #-56] ldr r3, [r4, #140] cmp r2, r3 - bhi .L1648 - ldr r3, .L1661+4 + bhi .L1650 + ldr r3, .L1663+4 ldr r3, [r3] cmn r3, #1 - beq .L1649 + beq .L1651 ldrh r5, [r4, #58] mov r0, r7 mov r8, #0 @@ -11380,25 +11454,25 @@ FtlRead: str r8, [fp, #-48] add r3, r3, r2 str r3, [r4, #2508] -.L1629: +.L1631: ldr r3, [fp, #-52] cmp r3, #0 - bne .L1646 - ldr r3, .L1661 + bne .L1648 + ldr r3, .L1663 movw r2, #3210 ldrh r2, [r3, r2] cmp r2, #0 - bne .L1647 + bne .L1649 movw r2, #2344 ldrh r3, [r3, r2] cmp r3, #31 - bhi .L1626 -.L1647: + bhi .L1628 +.L1649: mov r1, #1 mov r0, #0 bl rk_ftl_garbage_collect - b .L1626 -.L1646: + b .L1628 +.L1648: mov r2, #0 sub r1, fp, #44 mov r0, r5 @@ -11406,7 +11480,7 @@ FtlRead: ldr r2, [fp, #-44] cmn r2, #1 moveq r10, #0 - beq .L1631 + beq .L1633 ldr r3, [r4, #3836] mov r1, #20 ldrh r10, [r4, #58] @@ -11414,7 +11488,7 @@ FtlRead: str r2, [r3, #4] ldr r2, [fp, #-60] cmp r5, r2 - bne .L1635 + bne .L1637 ldr r2, [r4, #3820] mov r1, r10 mov r0, r7 @@ -11430,7 +11504,7 @@ FtlRead: str r3, [fp, #-80] ldr r3, [fp, #-68] streq r9, [r3, #8] -.L1636: +.L1638: ldrh r2, [r4, #112] ldr r1, [r4, #3816] str r5, [r3, #16] @@ -11439,8 +11513,8 @@ FtlRead: bic r2, r2, #3 add r2, r1, r2 str r2, [r3, #12] - b .L1634 -.L1633: + b .L1636 +.L1635: mla r0, r0, r5, r10 ldr r3, [fp, #-56] cmp r3, r0 @@ -11449,29 +11523,29 @@ FtlRead: cmp r7, r0 movhi r3, #0 cmp r3, #0 - beq .L1632 + beq .L1634 sub r0, r0, r7 mov r1, #512 add r0, r9, r0, lsl #9 bl __memzero -.L1632: +.L1634: add r10, r10, #1 -.L1631: +.L1633: ldrh r0, [r4, #58] cmp r10, r0 - bcc .L1633 -.L1634: + bcc .L1635 +.L1636: ldr r3, [fp, #-52] add r5, r5, #1 subs r3, r3, #1 str r3, [fp, #-52] - beq .L1638 + beq .L1640 ldrh r3, [r4, #32] cmp r6, r3, lsl #2 - bne .L1629 -.L1638: + bne .L1631 +.L1640: cmp r6, #0 - beq .L1629 + beq .L1631 mov r2, #0 mov r1, r6 ldr r0, [r4, #3836] @@ -11486,7 +11560,7 @@ FtlRead: str r3, [fp, #-88] mov r3, #0 str r3, [fp, #-68] -.L1645: +.L1647: ldr r3, [fp, #-68] mov ip, #20 ldr r1, [fp, #-60] @@ -11495,25 +11569,25 @@ FtlRead: add r3, r3, r10 ldr r2, [r3, #16] cmp r1, r2 - bne .L1640 + bne .L1642 ldr r1, [r3, #8] ldr r3, [r4, #3820] cmp r1, r3 - bne .L1641 + bne .L1643 ldr r3, [fp, #-84] mov r0, r9 ldr r2, [fp, #-88] add r1, r1, r3 -.L1660: +.L1662: bl ftl_memcpy -.L1641: +.L1643: ldr r1, [r4, #3836] add r1, r1, r10 ldr r3, [r1, #12] ldr r2, [r1, #16] ldr r3, [r3, #8] cmp r2, r3 - beq .L1642 + beq .L1644 ldr r3, [r4, #2708] add r3, r3, #1 str r3, [r4, #2708] @@ -11522,7 +11596,7 @@ FtlRead: ldr r0, [r2, #4] str r0, [sp, #16] ldr r2, [r2] - ldr r0, .L1661+8 + ldr r0, .L1663+8 str r2, [sp, #12] ldr r2, [r3, #12] str r2, [sp, #8] @@ -11534,7 +11608,7 @@ FtlRead: ldr r3, [r3] ldr r1, [r1, #16] bl sftl_printk -.L1642: +.L1644: ldr r3, [r4, #3836] ldr r1, [r3, r10] add r0, r3, r10 @@ -11545,23 +11619,23 @@ FtlRead: streq r2, [r4, #2708] ldr r3, [r3, r10] cmp r3, #256 - bne .L1644 + bne .L1646 ldr r0, [r0, #4] ubfx r0, r0, #10, #16 bl P2V_block_in_plane bl FtlGcRefreshBlock -.L1644: +.L1646: ldr r3, [fp, #-68] add r3, r3, #1 cmp r6, r3 str r3, [fp, #-68] - bne .L1645 + bne .L1647 mov r6, #0 - b .L1629 -.L1635: + b .L1631 +.L1637: ldr r2, [fp, #-64] cmp r5, r2 - bne .L1637 + bne .L1639 ldr r2, [r4, #3812] ldr r1, [fp, #-56] str r2, [r3, #8] @@ -11571,36 +11645,36 @@ FtlRead: subeq r2, r2, r7 addeq r2, r9, r2, lsl #9 streq r2, [r3, #8] - b .L1636 -.L1637: + b .L1638 +.L1639: mul r10, r5, r10 sub r10, r10, r7 add r10, r9, r10, lsl #9 str r10, [r3, #8] - b .L1636 -.L1640: + b .L1638 +.L1642: ldr r1, [fp, #-64] cmp r1, r2 - bne .L1641 + bne .L1643 ldr r1, [r3, #8] ldr r3, [r4, #3812] cmp r1, r3 - bne .L1641 + bne .L1643 ldrh r0, [r4, #58] ldr r3, [fp, #-64] ldr r2, [fp, #-92] mul r0, r3, r0 sub r0, r0, r7 add r0, r9, r0, lsl #9 - b .L1660 -.L1648: + b .L1662 +.L1650: mvn r3, #0 -.L1649: +.L1651: str r3, [fp, #-48] - b .L1626 -.L1662: + b .L1628 +.L1664: .align 2 -.L1661: +.L1663: .word .LANCHOR0 .word .LANCHOR2 .word .LC96 @@ -11661,27 +11735,27 @@ FtlWrite: str r2, [fp, #-84] cmp r0, #16 str r3, [fp, #-80] - bne .L1666 + bne .L1668 mov r2, r3 ldr r1, [fp, #-84] add r0, r9, #256 bl FtlVendorPartWrite -.L1665: +.L1667: sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1666: +.L1668: ldr r3, [fp, #-84] - ldr r4, .L1716 + ldr r4, .L1718 add r6, r1, r3 ldr r3, [r4, #140] cmp r6, r3 mvnhi r0, #0 - bhi .L1665 - ldr r5, .L1716+4 + bhi .L1667 + ldr r5, .L1718+4 ldr r0, [r5] cmn r0, #1 - beq .L1665 - ldr r3, .L1716+8 + beq .L1667 + ldr r3, .L1718+8 mov r2, #2048 ldrh r7, [r4, #58] mov r0, r9 @@ -11703,68 +11777,68 @@ FtlWrite: add r3, r3, r2 str r3, [r4, #2516] ldr r3, [r5, #8] - ldr r4, .L1716+12 + ldr r4, .L1718+12 cmp r3, #0 - beq .L1668 + beq .L1670 ldrh r3, [r4, #4] add r0, r4, #48 cmp r3, #0 moveq r4, r0 -.L1668: +.L1670: ldr r5, [fp, #-76] - ldr r10, .L1716 -.L1669: + ldr r10, .L1718 +.L1671: ldr r3, [fp, #-72] cmp r3, #0 - bne .L1697 + bne .L1699 mov r0, r3 ldr r1, [fp, #-96] bl rk_ftl_garbage_collect movw r3, #2344 ldrh r3, [r10, r3] cmp r3, #15 - bls .L1698 -.L1700: + bls .L1700 +.L1702: mov r0, #0 - b .L1665 -.L1697: + b .L1667 +.L1699: ldrb r2, [r4, #6] @ zero_extendqisi2 ldrh r3, [r10, #32] cmp r2, r3 - bcc .L1670 - movw r2, #991 - ldr r1, .L1716+16 - ldr r0, .L1716+20 + bcc .L1672 + mov r2, #996 + ldr r1, .L1718+16 + ldr r0, .L1718+20 bl sftl_printk -.L1670: +.L1672: ldrh r2, [r4, #4] cmp r2, #0 - bne .L1671 - ldr r3, .L1716+12 - ldr r6, .L1716+4 + bne .L1673 + ldr r3, .L1718+12 + ldr r6, .L1718+4 cmp r4, r3 - bne .L1672 + bne .L1674 add r0, r4, #48 ldrh r7, [r0, #4] cmp r7, #0 - bne .L1673 + bne .L1675 bl allocate_new_data_superblock str r7, [r6, #8] -.L1673: - ldr r0, .L1716+12 +.L1675: + ldr r0, .L1718+12 bl allocate_new_data_superblock - ldr r4, .L1716+12 + ldr r4, .L1718+12 ldr r3, [r6, #8] add r0, r4, #48 cmp r3, #0 movne r4, r0 -.L1674: +.L1676: ldrh r3, [r4, #4] cmp r3, #0 - bne .L1671 + bne .L1673 mov r0, r4 bl allocate_new_data_superblock -.L1671: +.L1673: ldrb r2, [r4, #7] @ zero_extendqisi2 ldrh r3, [r4, #4] ldr r1, [fp, #-72] @@ -11777,20 +11851,20 @@ FtlWrite: str r3, [fp, #-108] ldrh r3, [r10, #32] cmp r2, r3 - bcc .L1675 - mov r2, #1024 - ldr r1, .L1716+16 - ldr r0, .L1716+20 + bcc .L1677 + movw r2, #1029 + ldr r1, .L1718+16 + ldr r0, .L1718+20 bl sftl_printk -.L1675: +.L1677: mov r3, #0 -.L1715: +.L1717: str r3, [fp, #-68] ldr r3, [fp, #-68] ldr r2, [fp, #-108] cmp r3, r2 - bne .L1695 -.L1677: + bne .L1697 +.L1679: mov r3, r4 mov r2, #0 ldr r1, [fp, #-68] @@ -11799,30 +11873,30 @@ FtlWrite: ldr r3, [fp, #-68] ldr r2, [fp, #-72] cmp r3, r2 - bls .L1696 - movw r2, #1101 - ldr r1, .L1716+16 - ldr r0, .L1716+20 + bls .L1698 + movw r2, #1106 + ldr r1, .L1718+16 + ldr r0, .L1718+20 bl sftl_printk -.L1696: +.L1698: ldr r3, [fp, #-72] ldr r2, [fp, #-68] sub r3, r3, r2 str r3, [fp, #-72] - b .L1669 -.L1672: + b .L1671 +.L1674: str r2, [r6, #8] ldrh r2, [r3, #4] cmp r2, #0 movne r4, r3 - bne .L1671 + bne .L1673 mov r0, r4 bl allocate_new_data_superblock - b .L1674 -.L1695: + b .L1676 +.L1697: ldrh r3, [r4, #4] cmp r3, #0 - beq .L1677 + beq .L1679 mov r2, #0 sub r1, fp, #64 mov r0, r5 @@ -11854,9 +11928,9 @@ FtlWrite: ldrh r6, [r10, #58] cmp r5, r2 cmpne r5, r3 - bne .L1678 + bne .L1680 cmp r5, r3 - bne .L1679 + bne .L1681 mov r1, r6 mov r0, r9 bl __umodsi3 @@ -11865,25 +11939,25 @@ FtlWrite: str r0, [fp, #-88] cmp r6, r3 movcs r6, r3 -.L1680: +.L1682: ldrh r3, [r10, #58] cmp r6, r3 ldr r3, [fp, #-76] - bne .L1681 + bne .L1683 cmp r5, r3 ldr r3, [r10, #3844] add r7, r3, r7 ldreq r3, [fp, #-80] streq r3, [r7, #8] - beq .L1683 -.L1712: + beq .L1685 +.L1714: mul r6, r5, r6 ldr r3, [fp, #-80] sub r6, r6, r9 add r6, r3, r6, lsl #9 str r6, [r7, #8] - b .L1683 -.L1679: + b .L1685 +.L1681: ldr r3, [fp, #-84] add r2, r9, r3 smulbb r3, r6, r5 @@ -11891,8 +11965,8 @@ FtlWrite: mov r3, #0 uxth r6, r6 str r3, [fp, #-88] - b .L1680 -.L1681: + b .L1682 +.L1683: cmp r5, r3 ldr r3, [r10, #3844] ldreq r2, [r10, #3820] @@ -11901,7 +11975,7 @@ FtlWrite: str r2, [r3, #8] ldr r3, [fp, #-64] cmn r3, #1 - beq .L1686 + beq .L1688 str r3, [fp, #-56] mov r1, #1 ldr r3, [r10, #3844] @@ -11919,49 +11993,49 @@ FtlWrite: ldreq r3, [r10, #2708] addeq r3, r3, #1 streq r3, [r10, #2708] - beq .L1690 + beq .L1692 ldr r3, [r8, #8] cmp r5, r3 - beq .L1689 + beq .L1691 ldr r3, [r10, #2708] mov r2, r5 - ldr r0, .L1716+24 + ldr r0, .L1718+24 add r3, r3, #1 str r3, [r10, #2708] ldr r1, [r8, #8] bl sftl_printk -.L1689: +.L1691: ldr r3, [r8, #8] cmp r5, r3 - beq .L1690 - movw r2, #1077 - ldr r1, .L1716+16 - ldr r0, .L1716+20 + beq .L1692 + movw r2, #1082 + ldr r1, .L1718+16 + ldr r0, .L1718+20 bl sftl_printk -.L1690: +.L1692: ldr r3, [fp, #-76] lsl r2, r6, #9 cmp r5, r3 - bne .L1691 + bne .L1693 ldr r3, [r10, #3844] ldr r1, [fp, #-80] add r7, r3, r7 ldr r3, [fp, #-88] ldr r0, [r7, #8] add r0, r0, r3, lsl #9 -.L1713: +.L1715: bl ftl_memcpy -.L1683: +.L1685: ldrb r2, [r4, #6] @ zero_extendqisi2 ldrh r3, [r10, #32] cmp r2, r3 - bcc .L1692 - movw r2, #1092 - ldr r1, .L1716+16 - ldr r0, .L1716+20 + bcc .L1694 + movw r2, #1097 + ldr r1, .L1718+16 + ldr r0, .L1718+20 bl sftl_printk -.L1692: - ldr r3, .L1716+28 +.L1694: + ldr r3, .L1718+28 ldr r2, [fp, #-104] ldr r1, [fp, #-100] strh r3, [r2, r1] @ movhi @@ -11979,16 +12053,16 @@ FtlWrite: strh r3, [r8, #2] @ movhi ldr r3, [fp, #-68] add r3, r3, #1 - b .L1715 -.L1686: + b .L1717 +.L1688: ldr r3, [r10, #3844] mov r1, #0 ldrh r2, [r10, #110] add r3, r3, r7 ldr r0, [r3, #8] bl ftl_memset - b .L1690 -.L1691: + b .L1692 +.L1693: ldrh r1, [r10, #58] ldr r3, [r10, #3844] mul r1, r5, r1 @@ -11997,28 +12071,28 @@ FtlWrite: ldr r0, [r7, #8] sub r1, r1, r9 add r1, r3, r1, lsl #9 - b .L1713 -.L1678: + b .L1715 +.L1680: ldr r3, [r10, #3844] add r7, r3, r7 - b .L1712 -.L1698: - ldr r4, .L1716+32 - ldr r5, .L1716+36 -.L1710: + b .L1714 +.L1700: + ldr r4, .L1718+32 + ldr r5, .L1718+36 +.L1712: ldrh r3, [r4] movw r2, #65535 cmp r3, r2 - bne .L1699 + bne .L1701 ldrh r2, [r5] cmp r2, r3 - bne .L1699 + bne .L1701 mov r0, #0 bl List_get_gc_head_node uxth r0, r0 bl FtlGcRefreshBlock -.L1699: - ldr r3, .L1716+40 +.L1701: + ldr r3, .L1718+40 mov r1, #1 mov r2, #128 mov r0, r1 @@ -12028,14 +12102,14 @@ FtlWrite: mov r1, #1 mov r0, #0 bl rk_ftl_garbage_collect - ldr r3, .L1716+44 + ldr r3, .L1718+44 ldrh r3, [r3] cmp r3, #8 - bls .L1710 - b .L1700 -.L1717: + bls .L1712 + b .L1702 +.L1719: .align 2 -.L1716: +.L1718: .word .LANCHOR0 .word .LANCHOR2 .word .LANCHOR3 @@ -12075,12 +12149,12 @@ sftl_write: str r1, [fp, #-112] cmp r3, #0 str r2, [fp, #-132] - ldr r4, .L1749 - beq .L1719 + ldr r4, .L1751 + beq .L1721 ldr r3, [r4, #-4012] cmp r3, #0 - beq .L1720 - ldr r2, .L1749+4 + beq .L1722 + ldr r2, .L1751+4 mov r0, #512 ldrh r3, [r2, #14] str r3, [fp, #-116] @@ -12091,27 +12165,27 @@ sftl_write: mov r1, r3 str r3, [fp, #-120] bl __udivsi3 - ldr r2, .L1749+8 + ldr r2, .L1751+8 mov r3, #0 - ldr r1, .L1749+12 + ldr r1, .L1751+12 str r0, [fp, #-108] sub ip, r2, #262144 -.L1724: +.L1726: ldr r0, [r2, #-4] cmp r0, #0 - beq .L1721 -.L1725: + beq .L1723 +.L1727: ldr r3, [fp, #-108] mov r4, #0 ldr r2, [fp, #-120] - ldr r9, .L1749+16 - ldr r5, .L1749+4 + ldr r9, .L1751+16 + ldr r5, .L1751+4 str r4, [fp, #-124] mul r3, r3, r2 str r3, [fp, #-144] ldr r3, [fp, #-108] str r3, [fp, #-128] -.L1722: +.L1724: mov r1, #512 mov r0, r9 bl __memzero @@ -12131,7 +12205,7 @@ sftl_write: mov r0, #0 blx r3 cmp r6, #512 - bcs .L1726 + bcs .L1728 mov r1, r8 add r0, r6, r4 bl __udivsi3 @@ -12139,7 +12213,7 @@ sftl_write: mov r1, r0 mov r0, #0 blx r3 -.L1726: +.L1728: mov r1, r6 mov r0, r4 bl __umodsi3 @@ -12147,9 +12221,9 @@ sftl_write: mov r8, r0 sub r3, r4, r0 str r3, [fp, #-140] -.L1727: +.L1729: cmp r6, #512 - bcc .L1728 + bcc .L1730 ldrb r7, [r5, #14] @ zero_extendqisi2 mov r0, r4 ldrh r1, [r5, #10] @@ -12169,9 +12243,9 @@ sftl_write: bl __modsi3 ldr ip, [fp, #-148] uxth r3, r0 -.L1729: +.L1731: cmp r6, #512 - bcs .L1733 + bcs .L1735 ldr r2, [fp, #-136] add r0, ip, r6 mov r1, r7 @@ -12197,24 +12271,24 @@ sftl_write: blx ip cmn r0, #1 ldr ip, [fp, #-148] - bne .L1730 -.L1733: - ldr r3, .L1749+20 + bne .L1732 +.L1735: + ldr r3, .L1751+20 mov r6, #0 -.L1731: +.L1733: mov r7, r3 ldr r1, [r9, r6, lsl #2] ldr r2, [r7] add r3, r3, #4 cmp r1, r2 - beq .L1734 + beq .L1736 mov r1, #512 mov r0, r9 bl __memzero ldr r2, [r9, r6, lsl #2] mov r1, r4 str r6, [sp] - ldr r0, .L1749+24 + ldr r0, .L1751+24 ldr r3, [r7] bl sftl_printk ldr r1, [fp, #-116] @@ -12226,7 +12300,7 @@ sftl_write: blx r3 ldr r3, [fp, #-108] cmp r3, #1 - bls .L1735 + bls .L1737 ldr r3, [fp, #-120] ldr r1, [fp, #-116] add r0, r3, r4 @@ -12235,7 +12309,7 @@ sftl_write: mov r1, r0 mov r0, #0 blx r3 -.L1735: +.L1737: ldr r2, [fp, #-128] ldr r3, [fp, #-108] add r3, r3, r2 @@ -12243,12 +12317,12 @@ sftl_write: add r4, r4, r2 ldr r2, [fp, #-128] cmp r2, #15 - bls .L1741 -.L1740: - ldr r3, .L1749 + bls .L1743 +.L1742: + ldr r3, .L1751 mov r2, #0 str r2, [r3, #-4012] -.L1720: +.L1722: ldr r3, [fp, #-132] mov r1, r10 ldr r2, [fp, #-112] @@ -12256,19 +12330,19 @@ sftl_write: bl FtlWrite sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1721: +.L1723: ldr r0, [ip, r3, lsl #2] add r3, r3, #1 cmp r3, #4096 movhi r3, #0 str r0, [r2, #-4]! cmp r1, r2 - bne .L1724 - b .L1725 -.L1741: + bne .L1726 + b .L1727 +.L1743: str r3, [fp, #-128] - b .L1722 -.L1728: + b .L1724 +.L1730: mov r1, r7 add r0, r8, r6 bl __udivsi3 @@ -12280,7 +12354,7 @@ sftl_write: str r3, [fp, #-104] movw r3, #61424 str r3, [fp, #-100] - ldr r3, .L1749+20 + ldr r3, .L1751+20 add r2, r3, r6, lsl #9 str r2, [fp, #-148] bl __udivsi3 @@ -12294,28 +12368,28 @@ sftl_write: ldr r3, [fp, #-136] add r6, r3, r6 uxth r6, r6 - b .L1727 -.L1730: + b .L1729 +.L1732: add r6, r8, r6 mov r3, #0 uxth r6, r6 - b .L1729 -.L1734: + b .L1731 +.L1736: add r6, r6, #1 cmp r6, #65536 - bne .L1731 + bne .L1733 ldr r3, [fp, #-124] add r3, r3, #1 cmp r3, #5 str r3, [fp, #-124] - bls .L1735 - b .L1740 -.L1719: + bls .L1737 + b .L1742 +.L1721: cmp r0, #63 - ldr r0, .L1749+20 + ldr r0, .L1751+20 ldrls r3, [fp, #-112] rsbls r1, r10, #64 - ldrhi r3, .L1749+28 + ldrhi r3, .L1751+28 ldrhi r2, [fp, #-112] subls r2, r3, r1 ldrls r3, [fp, #-132] @@ -12331,10 +12405,10 @@ sftl_write: str r3, [r4, #-4012] lsl r2, r2, #9 bl memcpy - b .L1720 -.L1750: + b .L1722 +.L1752: .align 2 -.L1749: +.L1751: .word .LANCHOR3 .word .LANCHOR0 .word idb_buf+262144 @@ -12375,7 +12449,7 @@ FtlLoadSysInfo: mov ip, sp push {r4, r5, r6, r7, r8, fp, ip, lr, pc} sub fp, ip, #4 - ldr r4, .L1773 + ldr r4, .L1775 mov r1, #0 ldr r3, [r4, #3284] add r6, r4, #2576 @@ -12389,37 +12463,37 @@ FtlLoadSysInfo: ldrh r0, [r6] movw r3, #65535 cmp r0, r3 - bne .L1753 -.L1761: + bne .L1755 +.L1763: mvn r0, #0 ldmfd sp, {r4, r5, r6, r7, r8, fp, sp, pc} -.L1753: - ldr r8, .L1773+4 +.L1755: + ldr r8, .L1775+4 mov r1, #1 add r7, r4, #3264 bl FtlGetLastWrittenPage sxth r5, r0 add r0, r0, #1 strh r0, [r6, #2] @ movhi -.L1755: - cmp r5, #0 - bge .L1758 - movw r2, #1482 - ldr r1, .L1773+8 - ldr r0, .L1773+12 - bl sftl_printk .L1757: + cmp r5, #0 + bge .L1760 + movw r2, #1482 + ldr r1, .L1775+8 + ldr r0, .L1775+12 + bl sftl_printk +.L1759: ldrh r3, [r4, #40] ldrh r2, [r4, #110] add r3, r3, #24 cmp r2, r3, lsl #1 - bcs .L1760 + bcs .L1762 movw r2, #1484 - ldr r1, .L1773+8 - ldr r0, .L1773+12 + ldr r1, .L1775+8 + ldr r0, .L1775+12 bl sftl_printk -.L1760: - ldr r5, .L1773+16 +.L1762: + ldr r5, .L1775+16 mov r2, #48 ldr r1, [r4, #3272] mov r0, r5 @@ -12441,16 +12515,16 @@ FtlLoadSysInfo: add r1, r3, r1 bl ftl_memcpy ldr r2, [r4, #2268] - ldr r3, .L1773+4 + ldr r3, .L1775+4 cmp r2, r3 - bne .L1761 + bne .L1763 ldrb r2, [r4, #2278] @ zero_extendqisi2 ldrh r3, [r4, #54] ldrh r7, [r5, #8] cmp r2, r3 strh r7, [r6, #6] @ movhi - bne .L1761 - ldr r3, .L1773+20 + bne .L1763 + ldr r3, .L1775+20 ldrh r2, [r4, #58] ldr r6, [r4, #44] str r7, [r3, #-4008] @@ -12467,15 +12541,15 @@ FtlLoadSysInfo: cmp r7, r6 movw r3, #2572 strh r0, [r4, r3] @ movhi - bls .L1762 + bls .L1764 movw r2, #1506 - ldr r1, .L1773+8 - ldr r0, .L1773+12 + ldr r1, .L1775+8 + ldr r0, .L1775+12 bl sftl_printk -.L1762: +.L1764: ldrh r0, [r5, #14] movw r3, #2348 - ldr r1, .L1773+24 + ldr r1, .L1775+24 mvn ip, #0 strh r0, [r4, r3] @ movhi ldrh r3, [r5, #16] @@ -12530,37 +12604,37 @@ FtlLoadSysInfo: strhi r3, [r4, #2544] movw r3, #65535 cmp r0, r3 - beq .L1765 - ldr r0, .L1773+24 + beq .L1767 + ldr r0, .L1775+24 bl make_superblock -.L1765: +.L1767: movw r3, #2396 ldrh r2, [r4, r3] movw r3, #65535 cmp r2, r3 - beq .L1766 - ldr r0, .L1773+28 + beq .L1768 + ldr r0, .L1775+28 bl make_superblock -.L1766: +.L1768: movw r3, #2444 ldrh r2, [r4, r3] movw r3, #65535 cmp r2, r3 - beq .L1767 - ldr r0, .L1773+32 + beq .L1769 + ldr r0, .L1775+32 bl make_superblock -.L1767: +.L1769: movw r3, #2588 ldrh r2, [r4, r3] movw r3, #65535 cmp r2, r3 - beq .L1768 - ldr r0, .L1773+36 + beq .L1770 + ldr r0, .L1775+36 bl make_superblock -.L1768: +.L1770: mov r0, #0 ldmfd sp, {r4, r5, r6, r7, r8, fp, sp, pc} -.L1758: +.L1760: ldrh r3, [r6] mov r2, #1 mov r1, r2 @@ -12572,23 +12646,23 @@ FtlLoadSysInfo: bl FlashReadPages ldr r3, [r4, #3264] cmn r3, #1 - beq .L1756 + beq .L1758 ldr r3, [r4, #3284] ldr r3, [r3] cmp r3, r8 - bne .L1756 + bne .L1758 ldr r3, [r4, #3288] ldrh r2, [r3] movw r3, #61604 cmp r2, r3 - beq .L1757 -.L1756: + beq .L1759 +.L1758: sub r5, r5, #1 sxth r5, r5 - b .L1755 -.L1774: + b .L1757 +.L1776: .align 2 -.L1773: +.L1775: .word .LANCHOR0 .word 1179929683 .word .LANCHOR1+583 @@ -12612,7 +12686,7 @@ FtlSysBlkInit: mov ip, sp push {r4, r5, r6, r7, r8, fp, ip, lr, pc} sub fp, ip, #4 - ldr r4, .L1799 + ldr r4, .L1801 mov r3, #0 add r6, r4, #4016 ldrh r0, [r4, #36] @@ -12623,16 +12697,16 @@ FtlSysBlkInit: ldrh r2, [r3] movw r3, #65535 cmp r2, r3 - bne .L1776 -.L1778: + bne .L1778 +.L1780: mvn r8, #0 -.L1775: +.L1777: mov r0, r8 ldmfd sp, {r4, r5, r6, r7, r8, fp, sp, pc} -.L1776: +.L1778: bl FtlLoadSysInfo subs r8, r0, #0 - bne .L1778 + bne .L1780 bl FtlLoadMapInfo bl FtlLoadVonderInfo bl Ftl_load_ext_data @@ -12646,22 +12720,22 @@ FtlSysBlkInit: mov r3, r8 ldr r2, [r4, #2492] mov r0, #12 -.L1779: +.L1781: cmp r3, r1 - bge .L1784 + bge .L1786 mla ip, r0, r3, r2 ldr ip, [ip, #4] cmp ip, #0 - bge .L1780 -.L1784: - ldr r5, .L1799+4 + bge .L1782 +.L1786: + ldr r5, .L1801+4 cmp r3, r1 ldrh r2, [r5, #28] add r7, r5, #80 add r2, r2, #1 strh r2, [r5, #28] @ movhi - bge .L1798 -.L1781: + bge .L1800 +.L1783: movw r3, #2348 ldr r1, [r4, #2324] ldrh r3, [r4, r3] @@ -12673,7 +12747,7 @@ FtlSysBlkInit: movw r2, #2396 ldrh r2, [r4, r2] ldrh r3, [r4, #102] - ldr r1, .L1799+8 + ldr r1, .L1801+8 ldr ip, [r4, #2324] lsl r2, r2, #1 strh r3, [r7, #2] @ movhi @@ -12685,12 +12759,12 @@ FtlSysBlkInit: sub r0, r0, lr strh r0, [ip, r2] @ movhi ldrh r2, [r4, #102] - ldr r0, .L1799+12 + ldr r0, .L1801+12 strh r3, [r1, #4] @ movhi strh r2, [r1, #2] @ movhi strb r3, [r4, #2402] bl FtlMapBlkWriteDump_data - ldr r0, .L1799+16 + ldr r0, .L1801+16 bl FtlMapBlkWriteDump_data ldrh r3, [r5, #30] add r3, r3, #1 @@ -12698,79 +12772,79 @@ FtlSysBlkInit: bl l2p_flush bl FtlVpcTblFlush bl FtlVpcTblFlush - b .L1785 -.L1780: + b .L1787 +.L1782: add r3, r3, #1 - b .L1779 -.L1798: + b .L1781 +.L1800: ldrh r3, [r6] cmp r3, #0 - bne .L1781 -.L1785: + bne .L1783 +.L1787: ldrh r6, [r5, #44] movw r2, #65533 sub r3, r6, #1 uxth r3, r3 cmp r3, r2 - bhi .L1787 + bhi .L1789 movw r3, #3202 mov r1, r6 - ldr r0, .L1799+20 + ldr r0, .L1801+20 strh r6, [r4, r3] @ movhi bl test_node_in_list cmp r0, #0 - bne .L1788 + bne .L1790 ldrh r3, [r4, #40] cmp r3, r6 - bls .L1788 + bls .L1790 ldr r3, [r4, #2324] lsl r6, r6, #1 ldrh r3, [r3, r6] cmp r3, #0 - bne .L1787 -.L1788: + bne .L1789 +.L1790: mvn r2, #0 movw r3, #3202 strh r2, [r4, r3] @ movhi -.L1787: +.L1789: ldrh r6, [r5, #46] movw r2, #65533 sub r3, r6, #1 uxth r3, r3 cmp r3, r2 - bhi .L1791 + bhi .L1793 movw r3, #3204 mov r1, r6 - ldr r0, .L1799+20 + ldr r0, .L1801+20 strh r6, [r4, r3] @ movhi bl test_node_in_list cmp r0, #0 - bne .L1792 + bne .L1794 ldrh r3, [r4, #40] cmp r3, r6 - bls .L1792 + bls .L1794 ldr r3, [r4, #2324] lsl r6, r6, #1 ldrh r3, [r3, r6] cmp r3, #0 - bne .L1791 -.L1792: + bne .L1793 +.L1794: mvn r2, #0 movw r3, #3204 strh r2, [r4, r3] @ movhi -.L1791: +.L1793: movw r3, #2348 ldrh r0, [r4, r3] movw r3, #65535 cmp r0, r3 - beq .L1794 + beq .L1796 ldrh r3, [r7, #4] cmp r3, #0 - bne .L1794 - ldr r6, .L1799+8 + bne .L1796 + ldr r6, .L1801+8 ldrh r3, [r6, #4] cmp r3, #0 - bne .L1794 + bne .L1796 bl FtlGcRefreshBlock movw r3, #2396 ldrh r0, [r4, r3] @@ -12780,15 +12854,15 @@ FtlSysBlkInit: bl allocate_new_data_superblock mov r0, r6 bl allocate_new_data_superblock -.L1794: +.L1796: ldrh r3, [r5, #28] tst r3, #31 - bne .L1775 + bne .L1777 bl FtlVpcCheckAndModify - b .L1775 -.L1800: + b .L1777 +.L1802: .align 2 -.L1799: +.L1801: .word .LANCHOR0 .word .LANCHOR0+2268 .word .LANCHOR0+2396 @@ -12808,7 +12882,7 @@ ftl_low_format: mov ip, sp push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} sub fp, ip, #4 - ldr r4, .L1825 + ldr r4, .L1827 mov r3, #0 ldrh r0, [r4, #36] str r3, [r4, #2540] @@ -12816,36 +12890,36 @@ ftl_low_format: bl FtlFreeSysBlkQueueInit bl FtlLoadBbt cmp r0, #0 - beq .L1802 + beq .L1804 bl FtlMakeBbt -.L1802: - ldr r0, .L1825+4 +.L1804: + ldr r0, .L1827+4 mov r2, #0 -.L1803: +.L1805: ldrh r1, [r4, #58] uxth r3, r2 add r2, r2, #1 cmp r3, r1, lsl #7 - blt .L1804 + blt .L1806 ldrh r6, [r4, #40] mov r5, #0 -.L1805: +.L1807: ldrh r3, [r4, #42] cmp r3, r6 - bhi .L1806 + bhi .L1808 ldrh r1, [r4, #32] sub r3, r5, #3 cmp r3, r1, lsl #1 - bge .L1807 -.L1811: + bge .L1809 +.L1813: mov r0, #0 mov r6, r0 -.L1808: +.L1810: ldrh r2, [r4, #40] uxth r3, r0 add r5, r0, #1 cmp r2, r3 - bhi .L1812 + bhi .L1814 ldrh r3, [r4, #42] movw r9, #2572 ldrh r5, [r4, #32] @@ -12862,7 +12936,7 @@ ftl_low_format: mov r3, #24 mul r3, r3, r5 cmp r6, r3 - ble .L1813 + ble .L1815 mov r1, r5 sub r0, r10, r6 bl __udivsi3 @@ -12870,10 +12944,10 @@ ftl_low_format: lsr r0, r0, #5 add r0, r0, #24 strh r0, [r4, r9] @ movhi -.L1813: +.L1815: ldrh r3, [r4, #94] cmp r3, #0 - beq .L1815 + beq .L1817 movw r2, #2572 ldrh r1, [r4, r2] add r1, r1, r3, lsr #1 @@ -12884,9 +12958,9 @@ ftl_low_format: strlt r8, [r4, #2504] addlt r3, r7, r3 strhlt r3, [r4, r2] @ movhi -.L1815: +.L1817: movw r3, #2572 - ldr r6, .L1825+8 + ldr r6, .L1827+8 ldrh r2, [r4, r3] mvn r7, #0 ldr r3, [r4, #2504] @@ -12903,7 +12977,7 @@ ftl_low_format: ldrh r2, [r4, #42] mov r1, #0 ldr r0, [r4, #2324] - ldr r5, .L1825+12 + ldr r5, .L1827+12 lsl r2, r2, #1 sub r5, r5, #240 bl ftl_memset @@ -12926,91 +13000,10 @@ ftl_low_format: ldr r0, [r4, #24] strb r3, [r4, #2356] bl ftl_memset -.L1817: - mov r0, r8 - bl make_superblock - ldrb r3, [r4, #2355] @ zero_extendqisi2 - cmp r3, #0 - ldrh r3, [r5] - bne .L1818 - ldr r2, [r4, #2324] - lsl r3, r3, #1 - strh r7, [r2, r3] @ movhi - ldrh r3, [r5] - add r3, r3, #1 - strh r3, [r5] @ movhi - b .L1817 -.L1804: - ldr ip, [r4, #3820] - mvn r1, r3 - orr r1, r3, r1, lsl #16 - str r1, [ip, r3, lsl #2] - ldr r1, [r4, #3812] - str r0, [r1, r3, lsl #2] - b .L1803 -.L1806: - mov r0, r6 - mov r1, #1 - bl FtlLowFormatEraseBlock - add r6, r6, #1 - add r5, r5, r0 - uxth r5, r5 - uxth r6, r6 - b .L1805 -.L1807: - mov r0, r5 - bl __udivsi3 - ldr r3, [r4, #132] - add r0, r0, r3 - uxth r0, r0 - bl FtlSysBlkNumInit - ldrh r0, [r4, #36] - bl FtlFreeSysBlkQueueInit - ldrh r5, [r4, #40] -.L1809: - ldrh r3, [r4, #42] - cmp r3, r5 - bls .L1811 - mov r0, r5 - mov r1, #1 - add r5, r5, #1 - bl FtlLowFormatEraseBlock - uxth r5, r5 - b .L1809 -.L1812: - mov r1, #0 - uxth r0, r0 - bl FtlLowFormatEraseBlock - add r6, r6, r0 - mov r0, r5 - uxth r6, r6 - b .L1808 -.L1818: - ldr r2, [r4, #2540] - lsl r3, r3, #1 - ldrh r1, [r5, #4] - mvn r7, #0 - str r2, [r4, #2360] - add r2, r2, #1 - str r2, [r4, #2540] - ldr r2, [r4, #2324] - strh r1, [r2, r3] @ movhi - mov r3, #0 - ldr r2, .L1825+16 - movw r1, #2396 - strb r3, [r4, #2402] - strh r3, [r2, #2] @ movhi - mov r8, r2 - ldrh r3, [r5] - mov r5, r2 - add r3, r3, #1 - strh r3, [r4, r1] @ movhi - mov r3, #1 - strb r3, [r4, #2404] .L1819: mov r0, r8 bl make_superblock - ldrb r3, [r4, #2403] @ zero_extendqisi2 + ldrb r3, [r4, #2355] @ zero_extendqisi2 cmp r3, #0 ldrh r3, [r5] bne .L1820 @@ -13021,7 +13014,88 @@ ftl_low_format: add r3, r3, #1 strh r3, [r5] @ movhi b .L1819 +.L1806: + ldr ip, [r4, #3820] + mvn r1, r3 + orr r1, r3, r1, lsl #16 + str r1, [ip, r3, lsl #2] + ldr r1, [r4, #3812] + str r0, [r1, r3, lsl #2] + b .L1805 +.L1808: + mov r0, r6 + mov r1, #1 + bl FtlLowFormatEraseBlock + add r6, r6, #1 + add r5, r5, r0 + uxth r5, r5 + uxth r6, r6 + b .L1807 +.L1809: + mov r0, r5 + bl __udivsi3 + ldr r3, [r4, #132] + add r0, r0, r3 + uxth r0, r0 + bl FtlSysBlkNumInit + ldrh r0, [r4, #36] + bl FtlFreeSysBlkQueueInit + ldrh r5, [r4, #40] +.L1811: + ldrh r3, [r4, #42] + cmp r3, r5 + bls .L1813 + mov r0, r5 + mov r1, #1 + add r5, r5, #1 + bl FtlLowFormatEraseBlock + uxth r5, r5 + b .L1811 +.L1814: + mov r1, #0 + uxth r0, r0 + bl FtlLowFormatEraseBlock + add r6, r6, r0 + mov r0, r5 + uxth r6, r6 + b .L1810 .L1820: + ldr r2, [r4, #2540] + lsl r3, r3, #1 + ldrh r1, [r5, #4] + mvn r7, #0 + str r2, [r4, #2360] + add r2, r2, #1 + str r2, [r4, #2540] + ldr r2, [r4, #2324] + strh r1, [r2, r3] @ movhi + mov r3, #0 + ldr r2, .L1827+16 + movw r1, #2396 + strb r3, [r4, #2402] + strh r3, [r2, #2] @ movhi + mov r8, r2 + ldrh r3, [r5] + mov r5, r2 + add r3, r3, #1 + strh r3, [r4, r1] @ movhi + mov r3, #1 + strb r3, [r4, #2404] +.L1821: + mov r0, r8 + bl make_superblock + ldrb r3, [r4, #2403] @ zero_extendqisi2 + cmp r3, #0 + ldrh r3, [r5] + bne .L1822 + ldr r2, [r4, #2324] + lsl r3, r3, #1 + strh r7, [r2, r3] @ movhi + ldrh r3, [r5] + add r3, r3, #1 + strh r3, [r5] @ movhi + b .L1821 +.L1822: ldr r2, [r4, #2540] lsl r3, r3, #1 ldrh r1, [r5, #4] @@ -13034,7 +13108,7 @@ ftl_low_format: movw r3, #2444 strh r5, [r4, r3] @ movhi bl FtlFreeSysBlkQueueOut - ldr r3, .L1825+20 + ldr r3, .L1827+20 mov r2, #0 strh r2, [r3, #2] @ movhi ldr r2, [r6, #-4008] @@ -13049,13 +13123,13 @@ ftl_low_format: bl FtlSysBlkInit cmp r0, #0 mov r0, #0 - ldreq r3, .L1825+24 + ldreq r3, .L1827+24 moveq r2, #1 streq r2, [r3] ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1826: +.L1828: .align 2 -.L1825: +.L1827: .word .LANCHOR0 .word 168778952 .word .LANCHOR3 @@ -13076,11 +13150,11 @@ sftl_init: mov ip, sp push {r4, r5, fp, ip, lr, pc} sub fp, ip, #4 - ldr r4, .L1833 + ldr r4, .L1835 mvn r3, #0 - ldr r5, .L1833+4 - ldr r1, .L1833+8 - ldr r0, .L1833+12 + ldr r5, .L1835+4 + ldr r1, .L1835+8 + ldr r0, .L1835+12 str r3, [r5] bl sftl_printk mov r0, r4 @@ -13091,29 +13165,29 @@ sftl_init: bl FtlFreeSysBlkQueueInit bl FtlLoadBbt cmp r0, #0 - bne .L1831 + bne .L1833 bl FtlSysBlkInit cmp r0, #0 - bne .L1831 + bne .L1833 mov r3, #1 str r3, [r5] movw r3, #2344 ldrh r3, [r4, r3] cmp r3, #15 - bhi .L1831 + bhi .L1833 movw r4, #8129 -.L1830: +.L1832: mov r1, #1 mov r0, #0 bl rk_ftl_garbage_collect subs r4, r4, #1 - bne .L1830 -.L1831: + bne .L1832 +.L1833: mov r0, #0 ldmfd sp, {r4, r5, fp, sp, pc} -.L1834: +.L1836: .align 2 -.L1833: +.L1835: .word .LANCHOR0 .word .LANCHOR2 .word .LC70 @@ -13146,7 +13220,7 @@ rk_sftl_vendor_dev_ops_register: mov ip, sp push {fp, ip, lr, pc} sub fp, ip, #4 - ldr r2, .L1839 + ldr r2, .L1841 ldr r3, [r2, #-4004] cmp r3, #0 streq r0, [r2, #-4004] @@ -13154,9 +13228,9 @@ rk_sftl_vendor_dev_ops_register: streq r1, [r2, #-4000] mvnne r0, #0 ldmfd sp, {fp, sp, pc} -.L1840: +.L1842: .align 2 -.L1839: +.L1841: .word .LANCHOR3 .size rk_sftl_vendor_dev_ops_register, .-rk_sftl_vendor_dev_ops_register .align 2 @@ -13172,28 +13246,28 @@ rk_sftl_vendor_storage_init: push {r4, r5, r6, r7, r8, r9, fp, ip, lr, pc} sub fp, ip, #4 mov r0, #65536 - ldr r4, .L1850 + ldr r4, .L1852 bl ftl_malloc cmp r0, #0 str r0, [r4, #-3996] mvneq r9, #11 - beq .L1841 - ldr r8, .L1850+4 + beq .L1843 + ldr r8, .L1852+4 mov r6, #0 mov r5, r6 mov r7, r6 -.L1845: +.L1847: ldr r3, [r4, #-4004] mov r1, #128 ldr r2, [r4, #-3996] lsl r0, r7, #7 blx r3 subs r9, r0, #0 - bne .L1843 + bne .L1845 ldr r2, [r4, #-3996] ldr r3, [r2] cmp r3, r8 - bne .L1844 + bne .L1846 add r1, r2, #61440 ldr r3, [r2, #4] ldr r1, [r1, #4092] @@ -13205,26 +13279,26 @@ rk_sftl_vendor_storage_init: cmp r1, #0 movne r6, r7 movne r5, r3 -.L1844: +.L1846: add r7, r7, #1 cmp r7, #2 - bne .L1845 + bne .L1847 cmp r5, #0 - beq .L1846 + beq .L1848 ldr r3, [r4, #-4004] mov r1, #128 lsl r0, r6, #7 blx r3 subs r9, r0, #0 - beq .L1841 -.L1843: + beq .L1843 +.L1845: ldr r0, [r4, #-3996] mvn r9, #0 bl kfree mov r3, #0 str r3, [r4, #-3996] - b .L1841 -.L1846: + b .L1843 +.L1848: mov r1, #65536 mov r0, r2 bl __memzero @@ -13234,15 +13308,15 @@ rk_sftl_vendor_storage_init: str r2, [r3, #4] str r8, [r3] str r2, [r1, #4092] - ldr r2, .L1850+8 + ldr r2, .L1852+8 strh r5, [r3, #12] @ movhi strh r2, [r3, #14] @ movhi -.L1841: +.L1843: mov r0, r9 ldmfd sp, {r4, r5, r6, r7, r8, r9, fp, sp, pc} -.L1851: +.L1853: .align 2 -.L1850: +.L1852: .word .LANCHOR3 .word 1380668996 .word -1032 @@ -13259,26 +13333,26 @@ rk_sftl_vendor_read: mov ip, sp push {r4, r5, fp, ip, lr, pc} sub fp, ip, #4 - ldr r3, .L1858 + ldr r3, .L1860 mov r4, r0 mov r0, r1 ldr ip, [r3, #-3996] cmp ip, #0 ldrhne lr, [ip, #10] movne r3, #0 - bne .L1854 -.L1857: + bne .L1856 +.L1859: mvn r0, #0 ldmfd sp, {r4, r5, fp, sp, pc} -.L1855: +.L1857: add r3, r3, #1 -.L1854: +.L1856: cmp r3, lr - bcs .L1857 + bcs .L1859 add r1, ip, r3, lsl #3 ldrh r5, [r1, #16] cmp r5, r4 - bne .L1855 + bne .L1857 ldrh r4, [r1, #20] ldrh r1, [r1, #18] cmp r4, r2 @@ -13289,9 +13363,9 @@ rk_sftl_vendor_read: bl memcpy mov r0, r4 ldmfd sp, {r4, r5, fp, sp, pc} -.L1859: +.L1861: .align 2 -.L1858: +.L1860: .word .LANCHOR3 .size rk_sftl_vendor_read, .-rk_sftl_vendor_read .align 2 @@ -13308,23 +13382,23 @@ rk_sftl_vendor_write: sub fp, ip, #4 sub sp, sp, #24 mov ip, r1 - ldr r8, .L1879 + ldr r8, .L1881 mov r9, r2 ldr r4, [r8, #-3996] cmp r4, #0 - beq .L1875 + beq .L1877 ldrh r2, [r4, #10] add r7, r9, #63 ldrh r3, [r4, #8] bic r7, r7, #63 mov r5, #0 str r3, [fp, #-44] -.L1862: +.L1864: cmp r5, r2 - bcc .L1870 + bcc .L1872 ldrh r1, [r4, #14] cmp r7, r1 - bhi .L1875 + bhi .L1877 add r3, r4, r2, lsl #3 uxth r7, r7 strh r0, [r3, #16] @ movhi @@ -13356,31 +13430,31 @@ rk_sftl_vendor_write: movhi r3, #0 strh r3, [r4, #8] @ movhi ldr r3, [r8, #-4000] - b .L1878 -.L1870: + b .L1880 +.L1872: add r6, r4, r5, lsl #3 ldrh r3, [r6, #16] cmp r3, r0 str r3, [fp, #-48] - bne .L1863 + bne .L1865 ldrh r1, [r6, #20] add r3, r4, #1024 add r1, r1, #63 bic r1, r1, #63 cmp r9, r1 str r1, [fp, #-52] - bls .L1864 + bls .L1866 ldrh r1, [r4, #14] cmp r7, r1 - bhi .L1875 + bhi .L1877 ldrh r8, [r6, #18] sub r2, r2, #1 str r2, [fp, #-56] -.L1865: +.L1867: ldr r2, [fp, #-56] add r6, r6, #8 cmp r5, r2 - bcc .L1866 + bcc .L1868 ldrh r2, [fp, #-48] add r5, r4, r5, lsl #3 uxth r8, r8 @@ -13399,7 +13473,7 @@ rk_sftl_vendor_write: strh r8, [r4, #12] @ movhi add r7, r7, r3 strh r7, [r4, #14] @ movhi -.L1867: +.L1869: ldr r3, [r4, #4] add r2, r4, #61440 add r3, r3, #1 @@ -13411,19 +13485,19 @@ rk_sftl_vendor_write: cmp r3, #1 movhi r3, #0 strh r3, [r4, #8] @ movhi - ldr r3, .L1879 + ldr r3, .L1881 ldr r3, [r3, #-4000] -.L1878: +.L1880: ldr r0, [fp, #-44] mov r2, r4 mov r1, #128 lsl r0, r0, #7 blx r3 mov r0, #0 -.L1860: +.L1862: sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1866: +.L1868: ldrh r10, [r6, #20] add r0, r3, r8 ldrh r2, [r6, #16] @@ -13442,8 +13516,8 @@ rk_sftl_vendor_write: bl memcpy ldr ip, [fp, #-64] ldr r3, [fp, #-60] - b .L1865 -.L1864: + b .L1867 +.L1866: add r5, r4, r5, lsl #3 mov r2, r9 mov r1, ip @@ -13451,16 +13525,16 @@ rk_sftl_vendor_write: add r0, r3, r0 bl memcpy strh r9, [r6, #20] @ movhi - b .L1867 -.L1863: + b .L1869 +.L1865: add r5, r5, #1 - b .L1862 -.L1875: + b .L1864 +.L1877: mvn r0, #0 - b .L1860 -.L1880: + b .L1862 +.L1882: .align 2 -.L1879: +.L1881: .word .LANCHOR3 .size rk_sftl_vendor_write, .-rk_sftl_vendor_write .align 2 @@ -13473,7 +13547,7 @@ rk_sftl_vendor_storage_ioctl: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 1, uses_anonymous_args = 0 mov ip, sp - push {r4, r5, r6, r7, fp, ip, lr, pc} + push {r4, r5, r6, fp, ip, lr, pc} sub fp, ip, #4 mov r0, #4096 mov r5, r2 @@ -13481,79 +13555,53 @@ rk_sftl_vendor_storage_ioctl: bl ftl_malloc subs r4, r0, #0 mvneq r5, #0 - beq .L1881 - ldr r3, .L1907 + beq .L1883 + ldr r3, .L1908 cmp r6, r3 - beq .L1884 + beq .L1886 add r3, r3, #1 cmp r6, r3 - beq .L1885 -.L1906: + beq .L1887 +.L1903: mvn r5, #13 - b .L1883 -.L1884: - ldr r6, .L1907+4 + b .L1885 +.L1886: + ldr r6, .L1908+4 mov r3, sp - and r2, r3, r6 - ldr r3, [r2, #72] + and r3, r3, r6 + ldr r3, [r3, #72] .syntax divided @ 552 "./arch/arm/include/asm/uaccess.h" 1 - adds r1, r5, #8; sbcccs r1, r1, r3; movcc r3, #0 + adds r2, r5, #8; sbcccs r2, r2, r3; movcc r3, #0 @ 0 "" 2 .arm .syntax unified cmp r3, #0 - bne .L1891 - .syntax divided -@ 91 "./arch/arm/include/asm/domain.h" 1 - mrc p15, 0, r7, c3, c0 @ get domain -@ 0 "" 2 - .arm - .syntax unified - bic r3, r7, #12 - orr r3, r3, #4 - .syntax divided -@ 101 "./arch/arm/include/asm/domain.h" 1 - mcr p15, 0, r3, c3, c0 @ set domain -@ 0 "" 2 -@ 104 "./arch/arm/include/asm/domain.h" 1 - isb -@ 0 "" 2 - .arm - .syntax unified + bne .L1893 mov r2, #8 mov r1, r5 bl arm_copy_from_user - .syntax divided -@ 101 "./arch/arm/include/asm/domain.h" 1 - mcr p15, 0, r7, c3, c0 @ set domain -@ 0 "" 2 -@ 104 "./arch/arm/include/asm/domain.h" 1 - isb -@ 0 "" 2 - .arm - .syntax unified cmp r0, #0 - bne .L1906 + bne .L1903 ldr r2, [r4] - ldr r3, .L1907+8 + ldr r3, .L1908+8 cmp r2, r3 - beq .L1889 -.L1890: + beq .L1891 +.L1892: mvn r5, #0 -.L1883: +.L1885: mov r0, r4 bl kfree -.L1881: +.L1883: mov r0, r5 - ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} -.L1889: + ldmfd sp, {r4, r5, r6, fp, sp, pc} +.L1891: ldrh r2, [r4, #6] add r1, r4, #8 ldrh r0, [r4, #4] bl rk_sftl_vendor_read cmn r0, #1 - beq .L1890 + beq .L1892 mov r3, sp uxth r2, r0 and r6, r6, r3 @@ -13567,93 +13615,39 @@ rk_sftl_vendor_storage_ioctl: .arm .syntax unified cmp r3, #0 - bne .L1906 - .syntax divided -@ 91 "./arch/arm/include/asm/domain.h" 1 - mrc p15, 0, r6, c3, c0 @ get domain -@ 0 "" 2 - .arm - .syntax unified - bic r3, r6, #12 - orr r3, r3, #4 - .syntax divided -@ 101 "./arch/arm/include/asm/domain.h" 1 - mcr p15, 0, r3, c3, c0 @ set domain -@ 0 "" 2 -@ 104 "./arch/arm/include/asm/domain.h" 1 - isb -@ 0 "" 2 - .arm - .syntax unified - mov r1, r4 + bne .L1903 mov r0, r5 + mov r1, r4 bl arm_copy_to_user - .syntax divided -@ 101 "./arch/arm/include/asm/domain.h" 1 - mcr p15, 0, r6, c3, c0 @ set domain -@ 0 "" 2 -@ 104 "./arch/arm/include/asm/domain.h" 1 - isb -@ 0 "" 2 - .arm - .syntax unified - cmp r0, #0 - bne .L1906 -.L1897: - mov r5, r0 - b .L1883 -.L1885: - ldr r6, .L1907+4 + subs r5, r0, #0 + beq .L1885 + b .L1903 +.L1887: + ldr r6, .L1908+4 mov r3, sp - and r2, r3, r6 - ldr r3, [r2, #72] + and r3, r3, r6 + ldr r3, [r3, #72] .syntax divided @ 552 "./arch/arm/include/asm/uaccess.h" 1 - adds r1, r5, #8; sbcccs r1, r1, r3; movcc r3, #0 + adds r2, r5, #8; sbcccs r2, r2, r3; movcc r3, #0 @ 0 "" 2 .arm .syntax unified cmp r3, #0 - bne .L1891 - .syntax divided -@ 91 "./arch/arm/include/asm/domain.h" 1 - mrc p15, 0, r7, c3, c0 @ get domain -@ 0 "" 2 - .arm - .syntax unified - bic r3, r7, #12 - orr r3, r3, #4 - .syntax divided -@ 101 "./arch/arm/include/asm/domain.h" 1 - mcr p15, 0, r3, c3, c0 @ set domain -@ 0 "" 2 -@ 104 "./arch/arm/include/asm/domain.h" 1 - isb -@ 0 "" 2 - .arm - .syntax unified + bne .L1893 mov r2, #8 mov r1, r5 bl arm_copy_from_user - .syntax divided -@ 101 "./arch/arm/include/asm/domain.h" 1 - mcr p15, 0, r7, c3, c0 @ set domain -@ 0 "" 2 -@ 104 "./arch/arm/include/asm/domain.h" 1 - isb -@ 0 "" 2 - .arm - .syntax unified cmp r0, #0 - bne .L1906 + bne .L1903 ldr r2, [r4] - ldr r3, .L1907+8 + ldr r3, .L1908+8 cmp r2, r3 - bne .L1890 + bne .L1892 ldrh r2, [r4, #6] movw r3, #4087 cmp r2, r3 - bhi .L1890 + bhi .L1892 mov r3, sp add r2, r2, #8 and r6, r6, r3 @@ -13667,51 +13661,26 @@ rk_sftl_vendor_storage_ioctl: cmp r3, #0 movne r1, r2 movne r0, r4 - bne .L1905 - .syntax divided -@ 91 "./arch/arm/include/asm/domain.h" 1 - mrc p15, 0, r6, c3, c0 @ get domain -@ 0 "" 2 - .arm - .syntax unified - bic r3, r6, #12 - orr r3, r3, #4 - .syntax divided -@ 101 "./arch/arm/include/asm/domain.h" 1 - mcr p15, 0, r3, c3, c0 @ set domain -@ 0 "" 2 -@ 104 "./arch/arm/include/asm/domain.h" 1 - isb -@ 0 "" 2 - .arm - .syntax unified + bne .L1907 mov r1, r5 mov r0, r4 bl arm_copy_from_user - .syntax divided -@ 101 "./arch/arm/include/asm/domain.h" 1 - mcr p15, 0, r6, c3, c0 @ set domain -@ 0 "" 2 -@ 104 "./arch/arm/include/asm/domain.h" 1 - isb -@ 0 "" 2 - .arm - .syntax unified cmp r0, #0 - bne .L1906 + bne .L1903 ldrh r2, [r4, #6] add r1, r4, #8 ldrh r0, [r4, #4] bl rk_sftl_vendor_write - b .L1897 -.L1891: + mov r5, r0 + b .L1885 +.L1893: mov r1, #8 -.L1905: - bl __memzero - b .L1906 -.L1908: - .align 2 .L1907: + bl __memzero + b .L1903 +.L1909: + .align 2 +.L1908: .word 1074034177 .word -8192 .word 1448232273 @@ -13728,12 +13697,12 @@ rk_sftl_vendor_register: mov ip, sp push {fp, ip, lr, pc} sub fp, ip, #4 - ldr r0, .L1910 + ldr r0, .L1911 bl misc_register ldmfd sp, {fp, sp, pc} -.L1911: +.L1912: .align 2 -.L1910: +.L1911: .word .LANCHOR2+12 .size rk_sftl_vendor_register, .-rk_sftl_vendor_register .global ftl_temp_buf @@ -13888,141 +13857,141 @@ rk_sftl_vendor_register: .section .rodata .align 2 .set .LANCHOR1,. + 0 - .type __func__.3953, %object - .size __func__.3953, 17 -__func__.3953: + .type __func__.4010, %object + .size __func__.4010, 17 +__func__.4010: .ascii "INSERT_DATA_LIST\000" - .type __func__.3948, %object - .size __func__.3948, 17 -__func__.3948: + .type __func__.4005, %object + .size __func__.4005, 17 +__func__.4005: .ascii "INSERT_FREE_LIST\000" - .type __func__.3991, %object - .size __func__.3991, 17 -__func__.3991: + .type __func__.4048, %object + .size __func__.4048, 17 +__func__.4048: .ascii "List_remove_node\000" - .type __func__.4023, %object - .size __func__.4023, 22 -__func__.4023: - .ascii "List_update_data_list\000" - .type __func__.4134, %object - .size __func__.4134, 22 -__func__.4134: - .ascii "select_l2p_ram_region\000" - .type __func__.4457, %object - .size __func__.4457, 16 -__func__.4457: - .ascii "make_superblock\000" - .type __func__.4632, %object - .size __func__.4632, 19 -__func__.4632: - .ascii "get_new_active_ppa\000" - .type __func__.14402, %object - .size __func__.14402, 15 -__func__.14402: - .ascii "FlashReadPages\000" - .type __func__.14419, %object - .size __func__.14419, 15 -__func__.14419: - .ascii "FlashProgPages\000" - .type __func__.4065, %object - .size __func__.4065, 26 -__func__.4065: - .ascii "ftl_map_blk_alloc_new_blk\000" - .type __func__.3484, %object - .size __func__.3484, 11 -__func__.3484: - .ascii "FtlMemInit\000" - .type __func__.3788, %object - .size __func__.3788, 14 -__func__.3788: - .ascii "FtlBbt2Bitmap\000" - .type __func__.4095, %object - .size __func__.4095, 31 -__func__.4095: - .ascii "Ftl_write_map_blk_to_last_page\000" - .type __func__.4109, %object - .size __func__.4109, 16 -__func__.4109: - .ascii "FtlMapWritePage\000" - .type __func__.4032, %object - .size __func__.4032, 16 -__func__.4032: - .ascii "load_l2p_region\000" .type __func__.4080, %object - .size __func__.4080, 15 + .size __func__.4080, 22 __func__.4080: + .ascii "List_update_data_list\000" + .type __func__.4191, %object + .size __func__.4191, 22 +__func__.4191: + .ascii "select_l2p_ram_region\000" + .type __func__.4514, %object + .size __func__.4514, 16 +__func__.4514: + .ascii "make_superblock\000" + .type __func__.4689, %object + .size __func__.4689, 19 +__func__.4689: + .ascii "get_new_active_ppa\000" + .type __func__.15027, %object + .size __func__.15027, 15 +__func__.15027: + .ascii "FlashReadPages\000" + .type __func__.15044, %object + .size __func__.15044, 15 +__func__.15044: + .ascii "FlashProgPages\000" + .type __func__.4122, %object + .size __func__.4122, 26 +__func__.4122: + .ascii "ftl_map_blk_alloc_new_blk\000" + .type __func__.3541, %object + .size __func__.3541, 11 +__func__.3541: + .ascii "FtlMemInit\000" + .type __func__.3845, %object + .size __func__.3845, 14 +__func__.3845: + .ascii "FtlBbt2Bitmap\000" + .type __func__.4152, %object + .size __func__.4152, 31 +__func__.4152: + .ascii "Ftl_write_map_blk_to_last_page\000" + .type __func__.4166, %object + .size __func__.4166, 16 +__func__.4166: + .ascii "FtlMapWritePage\000" + .type __func__.4089, %object + .size __func__.4089, 16 +__func__.4089: + .ascii "load_l2p_region\000" + .type __func__.4137, %object + .size __func__.4137, 15 +__func__.4137: .ascii "ftl_map_blk_gc\000" - .type __func__.4151, %object - .size __func__.4151, 9 -__func__.4151: + .type __func__.4208, %object + .size __func__.4208, 9 +__func__.4208: .ascii "log2phys\000" - .type __func__.4366, %object - .size __func__.4366, 16 -__func__.4366: + .type __func__.4423, %object + .size __func__.4423, 16 +__func__.4423: .ascii "FtlReUsePrevPpa\000" - .type __func__.4519, %object - .size __func__.4519, 14 -__func__.4519: + .type __func__.4576, %object + .size __func__.4576, 14 +__func__.4576: .ascii "ftl_check_vpc\000" - .type __func__.4246, %object - .size __func__.4246, 14 -__func__.4246: - .ascii "FtlScanSysBlk\000" - .type __func__.4478, %object - .size __func__.4478, 18 -__func__.4478: - .ascii "SupperBlkListInit\000" - .type __func__.4604, %object - .size __func__.4604, 25 -__func__.4604: - .ascii "allocate_data_superblock\000" - .type __func__.4645, %object - .size __func__.4645, 16 -__func__.4645: - .ascii "update_vpc_list\000" - .type __func__.4652, %object - .size __func__.4652, 20 -__func__.4652: - .ascii "decrement_vpc_count\000" - .type __func__.4400, %object - .size __func__.4400, 22 -__func__.4400: - .ascii "FtlRecoverySuperblock\000" - .type __func__.3831, %object - .size __func__.3831, 11 -__func__.3831: - .ascii "FtlLoadBbt\000" - .type __func__.4224, %object - .size __func__.4224, 15 -__func__.4224: - .ascii "FtlVpcTblFlush\000" - .type __func__.4503, %object - .size __func__.4503, 21 -__func__.4503: - .ascii "FtlVpcCheckAndModify\000" - .type __func__.4625, %object - .size __func__.4625, 29 -__func__.4625: - .ascii "allocate_new_data_superblock\000" - .type __func__.3608, %object - .size __func__.3608, 13 -__func__.3608: - .ascii "FtlProgPages\000" - .type __func__.4723, %object - .size __func__.4723, 19 -__func__.4723: - .ascii "FtlGcFreeTempBlock\000" - .type __func__.4829, %object - .size __func__.4829, 23 -__func__.4829: - .ascii "rk_ftl_garbage_collect\000" - .type __func__.3636, %object - .size __func__.3636, 9 -__func__.3636: - .ascii "FtlWrite\000" .type __func__.4303, %object - .size __func__.4303, 15 + .size __func__.4303, 14 __func__.4303: + .ascii "FtlScanSysBlk\000" + .type __func__.4535, %object + .size __func__.4535, 18 +__func__.4535: + .ascii "SupperBlkListInit\000" + .type __func__.4661, %object + .size __func__.4661, 25 +__func__.4661: + .ascii "allocate_data_superblock\000" + .type __func__.4702, %object + .size __func__.4702, 16 +__func__.4702: + .ascii "update_vpc_list\000" + .type __func__.4709, %object + .size __func__.4709, 20 +__func__.4709: + .ascii "decrement_vpc_count\000" + .type __func__.4457, %object + .size __func__.4457, 22 +__func__.4457: + .ascii "FtlRecoverySuperblock\000" + .type __func__.3888, %object + .size __func__.3888, 11 +__func__.3888: + .ascii "FtlLoadBbt\000" + .type __func__.4281, %object + .size __func__.4281, 15 +__func__.4281: + .ascii "FtlVpcTblFlush\000" + .type __func__.4560, %object + .size __func__.4560, 21 +__func__.4560: + .ascii "FtlVpcCheckAndModify\000" + .type __func__.4682, %object + .size __func__.4682, 29 +__func__.4682: + .ascii "allocate_new_data_superblock\000" + .type __func__.3665, %object + .size __func__.3665, 13 +__func__.3665: + .ascii "FtlProgPages\000" + .type __func__.4780, %object + .size __func__.4780, 19 +__func__.4780: + .ascii "FtlGcFreeTempBlock\000" + .type __func__.4886, %object + .size __func__.4886, 23 +__func__.4886: + .ascii "rk_ftl_garbage_collect\000" + .type __func__.3693, %object + .size __func__.3693, 9 +__func__.3693: + .ascii "FtlWrite\000" + .type __func__.4360, %object + .size __func__.4360, 15 +__func__.4360: .ascii "FtlLoadSysInfo\000" .space 2 .type rk_sftl_vendor_storage_fops, %object diff --git a/drivers/rkflash/rk_sftl_arm_v7_thumb.S b/drivers/rkflash/rk_sftl_arm_v7_thumb.S index f11da2ac7145..568c8c2a3d48 100644 --- a/drivers/rkflash/rk_sftl_arm_v7_thumb.S +++ b/drivers/rkflash/rk_sftl_arm_v7_thumb.S @@ -2,7 +2,7 @@ /* * Copyright (c) 2018 Rockchip Electronics Co. Ltd. - * date: 2018-08-14 + * date: 2018-08-17 */ .arch armv7-a .eabi_attribute 20, 1 @@ -1989,322 +1989,342 @@ FtlPrintInfo2buf: @ frame_needed = 0, uses_anonymous_args = 0 push {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} - mov r7, r0 - ldr r6, .L265 - add r5, r7, #12 + mov r6, r0 + ldr r5, .L265 + add r4, r6, #12 .pad #20 sub sp, sp, #20 ldr r1, .L265+4 bl strcpy - ldr r2, [r6, #116] - mov r0, r5 - ldr r1, .L265+8 - bl sprintf - add r5, r5, r0 + ldr r3, [r5, #116] + movs r1, #64 + ldr r2, .L265+8 + mov r0, r4 + bl snprintf + add r4, r4, r0 ldr r1, .L265+12 - mov r0, r5 - adds r5, r5, #10 + mov r0, r4 + adds r4, r4, #10 bl strcpy - ldr r2, [r6, #2504] - mov r0, r5 - ldr r1, .L265+16 - bl sprintf - add r5, r5, r0 - ldr r2, [r6, #2500] - ldr r1, .L265+20 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldr r2, [r6, #2508] - ldr r1, .L265+24 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldr r2, [r6, #2512] - ldr r1, .L265+28 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldr r2, [r6, #2516] - ldr r1, .L265+32 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldr r2, [r6, #2520] - ldr r1, .L265+36 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldr r2, [r6, #2524] - ldr r1, .L265+40 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldr r2, [r6, #2528] - ldr r1, .L265+44 - mov r0, r5 - bl sprintf - ldr r2, [r6, #2532] - add r5, r5, r0 - ldr r1, .L265+48 - mov r0, r5 - lsrs r2, r2, #11 - bl sprintf - ldr r2, [r6, #2536] - add r5, r5, r0 - ldr r1, .L265+52 - mov r0, r5 - lsrs r2, r2, #11 - bl sprintf - add r5, r5, r0 - ldr r2, [r6, #2540] - ldr r1, .L265+56 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldr r2, [r6, #2544] - ldr r1, .L265+60 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrh r2, [r6, #158] - ldr r1, .L265+64 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrh r2, [r6, #2344] - ldr r1, .L265+68 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldr r2, [r6, #2548] - ldr r1, .L265+72 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldr r2, [r6, #2552] - ldr r1, .L265+76 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldr r2, [r6, #2556] - ldr r1, .L265+80 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldr r2, [r6, #2560] - ldr r1, .L265+84 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldr r2, [r6, #2564] - ldr r1, .L265+88 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldr r2, [r6, #2568] - ldr r1, .L265+92 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrh r2, [r6, #2298] - ldr r1, .L265+96 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrh r2, [r6, #2296] - ldr r1, .L265+100 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldr r2, [r6, #140] - ldr r1, .L265+104 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldr r2, [r6, #132] - ldr r1, .L265+108 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldr r2, [r6, #28] - ldr r1, .L265+112 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrh r2, [r6, #218] - ldr r1, .L265+116 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrh r2, [r6, #40] - ldr r1, .L265+120 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrh r2, [r6, #2572] - ldr r1, .L265+124 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldr r2, [r6, #44] - ldr r1, .L265+128 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrh r2, [r6, #2576] - ldr r1, .L265+132 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrh r2, [r6, #152] - ldr r1, .L265+136 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrh r2, [r6, #2350] - ldr r1, .L265+140 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrb r2, [r6, #2354] @ zero_extendqisi2 - ldr r1, .L265+144 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrh r2, [r6, #2348] - ldr r1, .L265+148 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrb r2, [r6, #2356] @ zero_extendqisi2 - ldr r1, .L265+152 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrh r2, [r6, #2352] - ldr r1, .L265+156 - mov r0, r5 - bl sprintf - ldr r3, [r6, #2324] - add r5, r5, r0 - ldrh r2, [r6, #2348] - mov r0, r5 - ldr r1, .L265+160 - ldrh r2, [r3, r2, lsl #1] - bl sprintf - add r5, r5, r0 - ldrh r2, [r6, #2398] - ldr r1, .L265+164 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrb r2, [r6, #2402] @ zero_extendqisi2 - ldr r1, .L265+168 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrh r2, [r6, #2396] - ldr r1, .L265+172 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrb r2, [r6, #2404] @ zero_extendqisi2 - ldr r1, .L265+176 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrh r2, [r6, #2400] - ldr r1, .L265+180 - mov r0, r5 - bl sprintf - ldr r3, [r6, #2324] - add r5, r5, r0 - ldrh r2, [r6, #2396] - mov r0, r5 - ldr r1, .L265+184 - ldrh r2, [r3, r2, lsl #1] - bl sprintf - add r5, r5, r0 - ldrh r2, [r6, #2446] - ldr r1, .L265+188 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrb r2, [r6, #2450] @ zero_extendqisi2 - ldr r1, .L265+192 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrh r2, [r6, #2444] - ldr r1, .L265+196 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrb r2, [r6, #2452] @ zero_extendqisi2 - ldr r1, .L265+200 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrh r2, [r6, #2448] - ldr r1, .L265+204 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrh r2, [r6, #2590] - ldr r1, .L265+208 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrb r2, [r6, #2594] @ zero_extendqisi2 - ldr r1, .L265+212 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrh r2, [r6, #2588] - ldr r1, .L265+216 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrb r2, [r6, #2596] @ zero_extendqisi2 - ldr r1, .L265+220 - mov r0, r5 - bl sprintf - add r5, r5, r0 - ldrh r2, [r6, #2592] - ldr r1, .L265+224 - mov r0, r5 - bl sprintf - ldr r3, [r6, #2712] - add r5, r5, r0 - ldr r2, [r6, #2716] - mov r0, r5 - ldr r1, .L265+228 - str r3, [sp] - ldr r3, [r6, #2720] - bl sprintf - adds r4, r5, r0 - ldr r2, [r6, #2708] - ldr r1, .L265+232 + ldr r3, [r5, #2504] + movs r1, #64 + ldr r2, .L265+16 mov r0, r4 - bl sprintf + bl snprintf add r4, r4, r0 - ldr r2, [r6, #2732] - ldr r1, .L265+236 + ldr r3, [r5, #2500] + ldr r2, .L265+20 + movs r1, #64 mov r0, r4 - bl sprintf + bl snprintf add r4, r4, r0 - ldrh r2, [r6, #3148] - ldr r1, .L265+240 + ldr r3, [r5, #2508] + ldr r2, .L265+24 + movs r1, #64 mov r0, r4 - bl sprintf + bl snprintf add r4, r4, r0 - ldrh r2, [r6, #3150] - ldr r1, .L265+244 + ldr r3, [r5, #2512] + ldr r2, .L265+28 + movs r1, #64 mov r0, r4 - bl sprintf + bl snprintf add r4, r4, r0 - ldr r2, [r6, #3152] + ldr r3, [r5, #2516] + ldr r2, .L265+32 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldr r3, [r5, #2520] + ldr r2, .L265+36 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldr r3, [r5, #2524] + ldr r2, .L265+40 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldr r3, [r5, #2528] + ldr r2, .L265+44 + movs r1, #64 + mov r0, r4 + bl snprintf + ldr r3, [r5, #2532] + add r4, r4, r0 + ldr r2, .L265+48 + movs r1, #64 + mov r0, r4 + lsrs r3, r3, #11 + bl snprintf + ldr r3, [r5, #2536] + add r4, r4, r0 + ldr r2, .L265+52 + movs r1, #64 + mov r0, r4 + lsrs r3, r3, #11 + bl snprintf + add r4, r4, r0 + ldr r3, [r5, #2540] + ldr r2, .L265+56 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldr r3, [r5, #2544] + ldr r2, .L265+60 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrh r3, [r5, #158] + ldr r2, .L265+64 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrh r3, [r5, #2344] + ldr r2, .L265+68 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldr r3, [r5, #2548] + ldr r2, .L265+72 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldr r3, [r5, #2552] + ldr r2, .L265+76 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldr r3, [r5, #2556] + ldr r2, .L265+80 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldr r3, [r5, #2560] + ldr r2, .L265+84 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldr r3, [r5, #2564] + ldr r2, .L265+88 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldr r3, [r5, #2568] + ldr r2, .L265+92 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrh r3, [r5, #2298] + ldr r2, .L265+96 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrh r3, [r5, #2296] + ldr r2, .L265+100 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldr r3, [r5, #140] + ldr r2, .L265+104 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldr r3, [r5, #132] + ldr r2, .L265+108 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldr r3, [r5, #28] + ldr r2, .L265+112 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrh r3, [r5, #218] + ldr r2, .L265+116 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrh r3, [r5, #40] + ldr r2, .L265+120 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrh r3, [r5, #2572] + ldr r2, .L265+124 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldr r3, [r5, #44] + ldr r2, .L265+128 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrh r3, [r5, #2576] + ldr r2, .L265+132 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrh r3, [r5, #152] + ldr r2, .L265+136 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrh r3, [r5, #2350] + ldr r2, .L265+140 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrb r3, [r5, #2354] @ zero_extendqisi2 + ldr r2, .L265+144 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrh r3, [r5, #2348] + ldr r2, .L265+148 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrb r3, [r5, #2356] @ zero_extendqisi2 + ldr r2, .L265+152 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrh r3, [r5, #2352] + ldr r2, .L265+156 + movs r1, #64 + mov r0, r4 + bl snprintf + ldrh r2, [r5, #2348] + add r4, r4, r0 + ldr r3, [r5, #2324] + movs r1, #64 + mov r0, r4 + ldrh r3, [r3, r2, lsl #1] + ldr r2, .L265+160 + bl snprintf + add r4, r4, r0 + ldrh r3, [r5, #2398] + ldr r2, .L265+164 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrb r3, [r5, #2402] @ zero_extendqisi2 + ldr r2, .L265+168 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrh r3, [r5, #2396] + ldr r2, .L265+172 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrb r3, [r5, #2404] @ zero_extendqisi2 + ldr r2, .L265+176 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrh r3, [r5, #2400] + ldr r2, .L265+180 + movs r1, #64 + mov r0, r4 + bl snprintf + ldrh r2, [r5, #2396] + add r4, r4, r0 + ldr r3, [r5, #2324] + movs r1, #64 + mov r0, r4 + ldrh r3, [r3, r2, lsl #1] + ldr r2, .L265+184 + bl snprintf + add r4, r4, r0 + ldrh r3, [r5, #2446] + ldr r2, .L265+188 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrb r3, [r5, #2450] @ zero_extendqisi2 + ldr r2, .L265+192 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrh r3, [r5, #2444] + ldr r2, .L265+196 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrb r3, [r5, #2452] @ zero_extendqisi2 + ldr r2, .L265+200 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrh r3, [r5, #2448] + ldr r2, .L265+204 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrh r3, [r5, #2590] + ldr r2, .L265+208 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrb r3, [r5, #2594] @ zero_extendqisi2 + ldr r2, .L265+212 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrh r3, [r5, #2588] + ldr r2, .L265+216 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrb r3, [r5, #2596] @ zero_extendqisi2 + ldr r2, .L265+220 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrh r3, [r5, #2592] b .L266 .L267: .align 2 @@ -2365,124 +2385,172 @@ FtlPrintInfo2buf: .word .LC54 .word .LC55 .word .LC56 +.L266: + ldr r2, .L268 + movs r1, #64 + mov r0, r4 + bl snprintf + ldr r3, [r5, #2712] + add r4, r4, r0 + ldr r2, .L268+4 + movs r1, #64 + mov r0, r4 + str r3, [sp, #4] + ldr r3, [r5, #2720] + str r3, [sp] + ldr r3, [r5, #2716] + bl snprintf + add r4, r4, r0 + ldr r3, [r5, #2708] + ldr r2, .L268+8 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldr r3, [r5, #2732] + ldr r2, .L268+12 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrh r3, [r5, #3148] + ldr r2, .L268+16 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrh r3, [r5, #3150] + ldr r2, .L268+20 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldr r3, [r5, #3152] + ldr r2, .L268+24 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrh r3, [r5, #3156] + ldr r2, .L268+28 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + bl GetFreeBlockMinEraseCount + ldr r2, .L268+32 + mov r3, r0 + movs r1, #64 + mov r0, r4 + bl snprintf + add r4, r4, r0 + ldrh r0, [r5, #2344] + bl GetFreeBlockMaxEraseCount + ldr r2, .L268+36 + mov r3, r0 + movs r1, #64 + mov r0, r4 + bl snprintf + ldr r3, .L268+40 + add r4, r4, r0 + ldr r3, [r3] + cmp r3, #1 + beq .L254 +.L259: + subs r0, r4, r6 + add sp, sp, #20 + @ sp needed + pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} +.L254: + ldrh r3, [r5, #2588] + movw r2, #65535 + cmp r3, r2 + beq .L256 + ldr r2, [r5, #2324] + mov r0, r4 + movs r1, #64 + ldrh r3, [r2, r3, lsl #1] + ldr r2, .L268+44 + bl snprintf + add r4, r4, r0 +.L256: + movs r0, #0 + ldr r9, .L268+52 + bl List_get_gc_head_node + uxth r0, r0 + movs r7, #0 + movw fp, #65535 + mov r10, #6 +.L258: + cmp r0, fp + beq .L257 + ldr r3, [r5, #2328] + mul r8, r10, r0 + mov r2, r9 + movs r1, #64 + ldrh r3, [r3, r0, lsl #1] + str r3, [sp, #12] + ldr r3, [r5, #2316] + add r3, r3, r8 + ldrh r3, [r3, #4] + str r3, [sp, #8] + ldr r3, [r5, #2324] + ldrh r3, [r3, r0, lsl #1] + stm sp, {r0, r3} + mov r3, r7 + mov r0, r4 + adds r7, r7, #1 + bl snprintf + ldr r3, [r5, #2316] + cmp r7, #16 + add r4, r4, r0 + ldrh r0, [r3, r8] + bne .L258 +.L257: + ldr r2, [r5, #2316] + movs r7, #0 + ldr r3, [r5, #2340] + movw r9, #65535 + ldr fp, .L268+56 + mov r10, #6 + subs r3, r3, r2 + asrs r2, r3, #1 + ldr r3, .L268+48 + muls r3, r2, r3 + uxth r3, r3 +.L260: + cmp r3, r9 + beq .L259 + ldr r2, [r5, #2328] + mul r8, r10, r3 + mov r0, r4 + movs r1, #64 + ldrh r2, [r2, r3, lsl #1] + str r2, [sp, #8] + ldr r2, [r5, #2316] + add r2, r2, r8 + ldrh r2, [r2, #4] + str r3, [sp] + mov r3, r7 + adds r7, r7, #1 + str r2, [sp, #4] + mov r2, fp + bl snprintf + cmp r7, #4 + add r4, r4, r0 + beq .L259 + ldr r3, [r5, #2316] + ldrh r3, [r3, r8] + b .L260 +.L269: + .align 2 +.L268: .word .LC57 .word .LC58 .word .LC59 .word .LC60 .word .LC61 .word .LC62 -.L266: - ldr r1, .L268 - mov r0, r4 - bl sprintf - add r4, r4, r0 - ldrh r2, [r6, #3156] - ldr r1, .L268+4 - mov r0, r4 - bl sprintf - add r4, r4, r0 - bl GetFreeBlockMinEraseCount - ldr r1, .L268+8 - mov r2, r0 - mov r0, r4 - bl sprintf - add r4, r4, r0 - ldrh r0, [r6, #2344] - bl GetFreeBlockMaxEraseCount - ldr r1, .L268+12 - mov r2, r0 - mov r0, r4 - bl sprintf - ldr r3, .L268+16 - add r4, r4, r0 - ldr r3, [r3] - cmp r3, #1 - beq .L254 -.L259: - subs r0, r4, r7 - add sp, sp, #20 - @ sp needed - pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L254: - ldrh r3, [r6, #2588] - movw r2, #65535 - cmp r3, r2 - beq .L256 - ldr r2, [r6, #2324] - mov r0, r4 - ldr r1, .L268+20 - ldrh r2, [r2, r3, lsl #1] - bl sprintf - add r4, r4, r0 -.L256: - movs r0, #0 - ldr r9, .L268+28 - bl List_get_gc_head_node - uxth r3, r0 - movs r5, #0 - movw fp, #65535 - mov r10, #6 -.L258: - cmp r3, fp - beq .L257 - ldr r2, [r6, #2328] - mul r8, r10, r3 - mov r0, r4 - mov r1, r9 - ldrh r2, [r2, r3, lsl #1] - str r2, [sp, #8] - ldr r2, [r6, #2316] - add r2, r2, r8 - ldrh r2, [r2, #4] - str r2, [sp, #4] - ldr r2, [r6, #2324] - ldrh r2, [r2, r3, lsl #1] - str r2, [sp] - mov r2, r5 - bl sprintf - adds r5, r5, #1 - ldr r3, [r6, #2316] - cmp r5, #16 - add r4, r4, r0 - ldrh r3, [r3, r8] - bne .L258 -.L257: - ldr r2, [r6, #2316] - movs r5, #0 - ldr r3, [r6, #2340] - movw r9, #65535 - ldr fp, .L268+32 - mov r10, #6 - subs r3, r3, r2 - asrs r2, r3, #1 - ldr r3, .L268+24 - muls r3, r2, r3 - uxth r3, r3 -.L260: - cmp r3, r9 - beq .L259 - ldr r2, [r6, #2328] - mul r8, r10, r3 - mov r0, r4 - mov r1, fp - ldrh r2, [r2, r3, lsl #1] - str r2, [sp, #4] - ldr r2, [r6, #2316] - add r2, r2, r8 - ldrh r2, [r2, #4] - str r2, [sp] - mov r2, r5 - adds r5, r5, #1 - bl sprintf - cmp r5, #4 - add r4, r4, r0 - beq .L259 - ldr r3, [r6, #2316] - ldrh r3, [r3, r8] - b .L260 -.L269: - .align 2 -.L268: .word .LC63 .word .LC64 .word .LC65 @@ -2505,12 +2573,16 @@ rknand_proc_ftlread: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 + cmp r0, #2048 push {r3, r4, r5, lr} .save {r3, r4, r5, lr} - mov r5, r0 - ldr r2, .L271 - ldr r1, .L271+4 - bl sprintf + mov r5, r1 + blt .L272 + ldr r3, .L273 + movs r1, #64 + ldr r2, .L273+4 + mov r0, r5 + bl snprintf adds r4, r5, r0 mov r0, r4 bl FtlPrintInfo2buf @@ -2518,8 +2590,11 @@ rknand_proc_ftlread: subs r0, r0, r5 pop {r3, r4, r5, pc} .L272: + movs r0, #0 + pop {r3, r4, r5, pc} +.L274: .align 2 -.L271: +.L273: .word .LC70 .word .LC71 .fnend @@ -2539,18 +2614,18 @@ GetSwlReplaceBlock: .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} .pad #28 sub sp, sp, #28 - ldr r4, .L297 + ldr r4, .L299 ldr r2, [r4, #2556] ldr r3, [r4, #2568] cmp r2, r3 - bcs .L274 + bcs .L276 ldrh r1, [r4, #40] movs r3, #0 ldr r0, [r4, #2328] str r3, [r4, #2548] -.L275: +.L277: cmp r3, r1 - bcc .L276 + bcc .L278 ldr r5, [r4, #2548] mov r0, r5 bl __aeabi_uidiv @@ -2560,48 +2635,48 @@ GetSwlReplaceBlock: subs r0, r5, r0 bl __aeabi_uidiv str r0, [r4, #2548] -.L277: +.L279: ldr r6, [r4, #2568] ldr r7, [r4, #2556] add r3, r6, #256 cmp r3, r7 - bls .L282 + bls .L284 ldr r2, [r4, #2564] add r3, r6, #768 cmp r3, r2 - bls .L282 -.L284: + bls .L284 +.L286: movw r5, #65535 -.L283: +.L285: mov r0, r5 add sp, sp, #28 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L276: +.L278: ldrh r2, [r0, r3, lsl #1] adds r3, r3, #1 ldr r5, [r4, #2548] add r2, r2, r5 str r2, [r4, #2548] - b .L275 -.L274: + b .L277 +.L276: ldr r3, [r4, #2564] cmp r2, r3 - bls .L277 + bls .L279 adds r3, r3, #1 str r3, [r4, #2564] movs r3, #0 -.L279: +.L281: ldrh r2, [r4, #40] cmp r3, r2 - bcs .L277 + bcs .L279 ldr r1, [r4, #2328] ldrh r2, [r1, r3, lsl #1] adds r2, r2, #1 strh r2, [r1, r3, lsl #1] @ movhi adds r3, r3, #1 - b .L279 -.L282: + b .L281 +.L284: ldrh r0, [r4, #2344] add r0, r0, r0, lsl #1 ubfx r0, r0, #2, #16 @@ -2609,10 +2684,10 @@ GetSwlReplaceBlock: add r3, r6, #64 mov r9, r0 cmp r0, r3 - bcc .L284 + bcc .L286 ldr r3, [r4, #2320] cmp r3, #0 - beq .L284 + beq .L286 ldrh r2, [r4, #40] movw r1, #65535 ldr lr, [r4, #2316] @@ -2622,42 +2697,42 @@ GetSwlReplaceBlock: str r2, [sp, #20] mov fp, #6 mov r2, r1 -.L285: +.L287: ldrh ip, [r3] cmp ip, r10 - bne .L288 + bne .L290 mov r5, r2 -.L287: +.L289: movw r3, #65535 cmp r5, r3 - beq .L284 + beq .L286 ldrh r10, [r8, r5, lsl #1] lsl fp, r5, #1 cmp r6, r10 - bcs .L289 + bcs .L291 bl GetFreeBlockMinEraseCount cmp r6, r0 it cc strcc r1, [r4, #2568] -.L289: +.L291: cmp r7, r10 - bls .L284 + bls .L286 add r3, r10, #128 cmp r9, r3 - ble .L284 + ble .L286 add r3, r10, #256 cmp r7, r3 - bhi .L290 + bhi .L292 ldr r3, [r4, #2564] add r10, r10, #768 cmp r10, r3 - bcs .L284 -.L290: + bcs .L286 +.L292: str r9, [sp, #8] mov r2, r7 ldrh r3, [r8, fp] mov r1, r5 - ldr r0, .L297+4 + ldr r0, .L299+4 str r3, [sp, #4] ldr r3, [r4, #2324] ldrh r3, [r3, fp] @@ -2666,33 +2741,33 @@ GetSwlReplaceBlock: bl sftl_printk movs r3, #1 str r3, [r4, #3160] - b .L283 -.L288: + b .L285 +.L290: adds r0, r0, #1 ldr r5, [sp, #20] uxth r0, r0 cmp r0, r5 - bhi .L284 + bhi .L286 ldrh r5, [r3, #4] - cbz r5, .L286 - ldr r5, .L297+8 + cbz r5, .L288 + ldr r5, .L299+8 sub r3, r3, lr asrs r3, r3, #1 muls r3, r5, r3 uxth r5, r3 ldrh r3, [r8, r5, lsl #1] cmp r6, r3 - bcs .L287 + bcs .L289 cmp r1, r3 itt hi movhi r1, r3 movhi r2, r5 -.L286: +.L288: mla r3, fp, ip, lr - b .L285 -.L298: + b .L287 +.L300: .align 2 -.L297: +.L299: .word .LANCHOR0 .word .LC72 .word -1431655765 @@ -2713,18 +2788,18 @@ free_data_superblock: push {r3, lr} .save {r3, lr} cmp r0, r2 - beq .L300 - ldr r2, .L301 + beq .L302 + ldr r2, .L303 movs r1, #0 ldr r2, [r2, #2324] strh r1, [r2, r0, lsl #1] @ movhi bl INSERT_FREE_LIST -.L300: +.L302: movs r0, #0 pop {r3, pc} -.L302: +.L304: .align 2 -.L301: +.L303: .word .LANCHOR0 .fnend .size free_data_superblock, .-free_data_superblock @@ -2745,29 +2820,29 @@ get_new_active_ppa: ldrh r2, [r0] mov r4, r0 cmp r2, r3 - bne .L304 + bne .L306 movw r2, #2776 - ldr r1, .L317 - ldr r0, .L317+4 + ldr r1, .L319 + ldr r0, .L319+4 bl sftl_printk -.L304: - ldr r5, .L317+8 +.L306: + ldr r5, .L319+8 ldrh r2, [r4, #2] ldrh r3, [r5, #102] cmp r2, r3 - bne .L305 + bne .L307 movw r2, #2777 - ldr r1, .L317 - ldr r0, .L317+4 + ldr r1, .L319 + ldr r0, .L319+4 bl sftl_printk -.L305: +.L307: ldrh r3, [r4, #4] - cbnz r3, .L306 + cbnz r3, .L308 movw r2, #2778 - ldr r1, .L317 - ldr r0, .L317+4 + ldr r1, .L319 + ldr r0, .L319+4 bl sftl_printk -.L306: +.L308: ldrb r2, [r4, #6] @ zero_extendqisi2 movs r3, #0 ldrh r1, [r5, #32] @@ -2776,10 +2851,10 @@ get_new_active_ppa: adds r2, r2, #8 ldrh r0, [r4, r2, lsl #1] mov r2, r3 -.L307: +.L309: cmp r0, r6 ldrb r3, [r4, #6] @ zero_extendqisi2 - beq .L309 + beq .L311 ldrh r2, [r4, #4] ldrh r6, [r4, #2] subs r2, r2, #1 @@ -2787,7 +2862,7 @@ get_new_active_ppa: orr r6, r6, r0, lsl #10 movw r0, #65535 strh r2, [r4, #4] @ movhi -.L311: +.L313: adds r3, r3, #1 uxtb r3, r3 cmp r1, r3 @@ -2799,21 +2874,21 @@ get_new_active_ppa: add r7, r3, #8 ldrh r7, [r4, r7, lsl #1] cmp r7, r0 - beq .L311 + beq .L313 strb r3, [r4, #6] ldrh r1, [r4, #2] ldrh r3, [r5, #102] cmp r1, r3 - bne .L303 - cbz r2, .L303 + bne .L305 + cbz r2, .L305 movw r2, #2799 - ldr r1, .L317 - ldr r0, .L317+4 + ldr r1, .L319 + ldr r0, .L319+4 bl sftl_printk -.L303: +.L305: mov r0, r6 pop {r3, r4, r5, r6, r7, pc} -.L309: +.L311: adds r3, r3, #1 uxtb r3, r3 cmp r3, r1 @@ -2826,10 +2901,10 @@ get_new_active_ppa: ldrb r3, [r4, #6] @ zero_extendqisi2 adds r3, r3, #8 ldrh r0, [r4, r3, lsl #1] - b .L307 -.L318: + b .L309 +.L320: .align 2 -.L317: +.L319: .word .LANCHOR1+111 .word .LC1 .word .LANCHOR0 @@ -2846,7 +2921,7 @@ FtlGcBufInit: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L328 + ldr r3, .L330 mov ip, #20 push {r4, r5, r6, r7, r8, r9, lr} .save {r4, r5, r6, r7, r8, r9, lr} @@ -2855,21 +2930,21 @@ FtlGcBufInit: movs r2, #0 mov r7, r3 str r2, [r3, #3164] -.L320: +.L322: ldrh r1, [r3, #32] uxth r0, r2 adds r4, r2, #1 cmp r0, r1 - bcc .L323 - ldr r7, .L328 + bcc .L325 + ldr r7, .L330 mov ip, #12 movs r6, #0 -.L324: +.L326: ldr r2, [r3, #3184] cmp r1, r2 - bcc .L327 + bcc .L329 pop {r4, r5, r6, r7, r8, r9, pc} -.L323: +.L325: uxth r2, r2 ldr r8, [r3, #3168] mul lr, r9, r2 @@ -2900,8 +2975,8 @@ FtlGcBufInit: ldr r1, [r8, #4] str r1, [r2, #12] mov r2, r4 - b .L320 -.L327: + b .L322 +.L329: mul r0, ip, r1 ldr r4, [r3, #3168] ldr r5, [r3, #3172] @@ -2926,10 +3001,10 @@ FtlGcBufInit: add r2, r2, r4 uxth r1, r1 str r2, [r0, #4] - b .L324 -.L329: + b .L326 +.L331: .align 2 -.L328: +.L330: .word .LANCHOR0 .fnend .size FtlGcBufInit, .-FtlGcBufInit @@ -2944,7 +3019,7 @@ FtlGcBufFree: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L337 + ldr r3, .L339 push {r4, r5, r6, r7, r8, r9, r10, lr} .save {r4, r5, r6, r7, r8, r9, r10, lr} movs r5, #0 @@ -2953,32 +3028,32 @@ FtlGcBufFree: mov r8, r5 ldr ip, [r3, #3184] ldr r6, [r3, #3168] -.L331: +.L333: uxth r3, r5 cmp r1, r3 - bls .L330 + bls .L332 mla r4, r10, r3, r0 movs r2, #0 -.L332: +.L334: uxth r3, r2 cmp ip, r3 - bls .L333 + bls .L335 mul r3, lr, r3 ldr r7, [r4, #8] adds r2, r2, #1 add r9, r6, r3 ldr r3, [r6, r3] cmp r3, r7 - bne .L332 + bne .L334 str r8, [r9, #8] -.L333: +.L335: adds r5, r5, #1 - b .L331 -.L330: + b .L333 +.L332: pop {r4, r5, r6, r7, r8, r9, r10, pc} -.L338: +.L340: .align 2 -.L337: +.L339: .word .LANCHOR0 .fnend .size FtlGcBufFree, .-FtlGcBufFree @@ -2993,7 +3068,7 @@ FtlGcBufAlloc: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L346 + ldr r3, .L348 mov ip, #12 push {r4, r5, r6, r7, r8, r9, lr} .save {r4, r5, r6, r7, r8, r9, lr} @@ -3002,34 +3077,34 @@ FtlGcBufAlloc: mov r8, #20 ldr r5, [r3, #3184] ldr r6, [r3, #3168] -.L340: +.L342: uxth r2, r4 cmp r1, r2 - bhi .L344 + bhi .L346 pop {r4, r5, r6, r7, r8, r9, pc} -.L344: +.L346: mov r9, #0 -.L341: +.L343: uxth r3, r9 cmp r5, r3 - bls .L342 + bls .L344 mla r3, ip, r3, r6 add r9, r9, #1 ldr r7, [r3, #8] cmp r7, #0 - bne .L341 + bne .L343 mla r2, r8, r2, r0 ldr r7, [r3] str lr, [r3, #8] str r7, [r2, #8] ldr r3, [r3, #4] str r3, [r2, #12] -.L342: +.L344: adds r4, r4, #1 - b .L340 -.L347: + b .L342 +.L349: .align 2 -.L346: +.L348: .word .LANCHOR0 .fnend .size FtlGcBufAlloc, .-FtlGcBufAlloc @@ -3045,24 +3120,24 @@ IsBlkInGcList: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r2, .L353 + ldr r2, .L355 ldr r3, [r2, #3188] ldrh r2, [r2, #3192] add r2, r3, r2, lsl #1 -.L349: +.L351: cmp r3, r2 - bne .L351 + bne .L353 movs r0, #0 bx lr -.L351: +.L353: ldrh r1, [r3], #2 cmp r1, r0 - bne .L349 + bne .L351 movs r0, #1 bx lr -.L354: +.L356: .align 2 -.L353: +.L355: .word .LANCHOR0 .fnend .size IsBlkInGcList, .-IsBlkInGcList @@ -3085,26 +3160,26 @@ FtlGcUpdatePage: mov r7, r2 movs r4, #0 bl P2V_block_in_plane - ldr r3, .L359 + ldr r3, .L361 ldrh r1, [r3, #3192] ldr r2, [r3, #3188] -.L356: +.L358: uxth ip, r4 cmp ip, r1 - bcc .L358 - bne .L357 + bcc .L360 + bne .L359 strh r0, [r2, ip, lsl #1] @ movhi ldrh r0, [r3, #3192] adds r0, r0, #1 strh r0, [r3, #3192] @ movhi - b .L357 -.L358: + b .L359 +.L360: adds r4, r4, #1 add ip, r2, r4, lsl #1 ldrh ip, [ip, #-2] cmp ip, r0 - bne .L356 -.L357: + bne .L358 +.L359: ldrh r2, [r3, #3200] movs r0, #12 muls r0, r2, r0 @@ -3117,9 +3192,9 @@ FtlGcUpdatePage: adds r2, r2, #1 strh r2, [r3, #3200] @ movhi pop {r3, r4, r5, r6, r7, pc} -.L360: +.L362: .align 2 -.L359: +.L361: .word .LANCHOR0 .fnend .size FtlGcUpdatePage, .-FtlGcUpdatePage @@ -3138,46 +3213,46 @@ FtlGcRefreshBlock: .save {r4, r5, r6, lr} mov r1, r0 mov r4, r0 - ldr r0, .L366 + ldr r0, .L368 bl sftl_printk - ldr r3, .L366+4 + ldr r3, .L368+4 ldrh r6, [r3, #3202] cmp r4, r6 - beq .L362 + beq .L364 ldrh r5, [r3, #3204] cmp r4, r5 - beq .L362 + beq .L364 ldrh r0, [r3, #3206] cmp r4, r0 - beq .L362 + beq .L364 ldrh r1, [r3, #3208] cmp r4, r1 - beq .L362 + beq .L364 movw r2, #65535 cmp r6, r2 - bne .L363 + bne .L365 strh r4, [r3, #3202] @ movhi -.L362: +.L364: movs r0, #0 pop {r4, r5, r6, pc} -.L363: - cmp r5, r2 - bne .L364 - strh r4, [r3, #3204] @ movhi - b .L362 -.L364: - cmp r0, r2 - bne .L365 - strh r4, [r3, #3206] @ movhi - b .L362 .L365: + cmp r5, r2 + bne .L366 + strh r4, [r3, #3204] @ movhi + b .L364 +.L366: + cmp r0, r2 + bne .L367 + strh r4, [r3, #3206] @ movhi + b .L364 +.L367: cmp r1, r2 it eq strheq r4, [r3, #3208] @ movhi - b .L362 -.L367: + b .L364 +.L369: .align 2 -.L366: +.L368: .word .LC73 .word .LANCHOR0 .fnend @@ -3196,41 +3271,41 @@ FtlGcMarkBadPhyBlk: push {r4, r5, r6, lr} .save {r4, r5, r6, lr} mov r5, r0 - ldr r4, .L372 + ldr r4, .L374 bl P2V_block_in_plane mov r2, r5 mov r6, r0 ldrh r1, [r4, #3210] - ldr r0, .L372+4 + ldr r0, .L374+4 bl sftl_printk mov r0, r6 bl FtlGcRefreshBlock ldrh r3, [r4, #3210] movs r2, #0 addw r0, r4, #3212 -.L369: +.L371: uxth r1, r2 cmp r3, r1 - bhi .L371 + bhi .L373 cmp r3, #15 itttt ls addls r2, r3, #1 strhls r2, [r4, #3210] @ movhi addls r4, r4, r3, lsl #1 strhls r5, [r4, #3212] @ movhi - b .L370 -.L371: + b .L372 +.L373: adds r2, r2, #1 add r1, r0, r2, lsl #1 ldrh r1, [r1, #-2] cmp r1, r5 - bne .L369 -.L370: + bne .L371 +.L372: movs r0, #0 pop {r4, r5, r6, pc} -.L373: +.L375: .align 2 -.L372: +.L374: .word .LANCHOR0 .word .LC74 .fnend @@ -3248,13 +3323,13 @@ FtlGcReFreshBadBlk: @ frame_needed = 0, uses_anonymous_args = 0 push {r4, lr} .save {r4, lr} - ldr r4, .L380 + ldr r4, .L382 ldrh r3, [r4, #3210] - cbz r3, .L375 + cbz r3, .L377 ldrh r1, [r4, #3202] movw r2, #65535 cmp r1, r2 - bne .L375 + bne .L377 ldrh r2, [r4, #3246] cmp r2, r3 itt cs @@ -3268,12 +3343,12 @@ FtlGcReFreshBadBlk: ldrh r3, [r4, #3246] adds r3, r3, #1 strh r3, [r4, #3246] @ movhi -.L375: +.L377: movs r0, #0 pop {r4, pc} -.L381: +.L383: .align 2 -.L380: +.L382: .word .LANCHOR0 .fnend .size FtlGcReFreshBadBlk, .-FtlGcReFreshBadBlk @@ -3289,11 +3364,11 @@ ftl_malloc: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r1, .L383 + ldr r1, .L385 b __kmalloc -.L384: +.L386: .align 2 -.L383: +.L385: .word 37748929 .fnend .size ftl_malloc, .-ftl_malloc @@ -3326,54 +3401,54 @@ rknand_print_hex: push {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} movs r6, #0 - ldr fp, .L395+16 + ldr fp, .L397+16 mov r10, r0 mov r7, r1 mov r8, r2 mov r9, r3 mov r5, r6 mov r4, r6 -.L387: +.L389: cmp r4, r9 - bcc .L393 - ldr r0, .L395 + bcc .L395 + ldr r0, .L397 pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} b sftl_printk -.L393: - cbnz r5, .L388 +.L395: + cbnz r5, .L390 mov r3, r6 mov r2, r7 mov r1, r10 - ldr r0, .L395+4 + ldr r0, .L397+4 bl sftl_printk -.L388: +.L390: cmp r8, #4 - bne .L389 + bne .L391 ldr r1, [r7, r4, lsl #2] - ldr r0, .L395+8 -.L394: + ldr r0, .L397+8 +.L396: adds r5, r5, #1 bl sftl_printk cmp r5, #15 - bls .L392 + bls .L394 movs r5, #0 - ldr r0, .L395 + ldr r0, .L397 bl sftl_printk -.L392: +.L394: adds r4, r4, #1 add r6, r6, r8 - b .L387 -.L389: + b .L389 +.L391: cmp r8, #2 ittee eq ldrheq r1, [r7, r4, lsl #1] moveq r0, fp ldrbne r1, [r7, r4] @ zero_extendqisi2 - ldrne r0, .L395+12 - b .L394 -.L396: + ldrne r0, .L397+12 + b .L396 +.L398: .align 2 -.L395: +.L397: .word .LC79 .word .LC75 .word .LC76 @@ -3396,30 +3471,30 @@ FlashReadPages: .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} .pad #12 mov r8, r1 - ldr r5, .L415 + ldr r5, .L417 mov r4, r0 movs r6, #0 - ldr r10, .L415+4 + ldr r10, .L417+4 ldrh r9, [r5, #12] - ldr fp, .L415+8 -.L398: + ldr fp, .L417+8 +.L400: cmp r6, r8 - bne .L405 + bne .L407 movs r0, #0 add sp, sp, #12 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L405: +.L407: ldr r3, [r4, #8] - cbz r3, .L399 + cbz r3, .L401 ldr r3, [r4, #12] - cbnz r3, .L400 -.L399: + cbnz r3, .L402 +.L401: movs r2, #101 mov r1, r10 mov r0, fp bl sftl_printk -.L400: +.L402: mov r2, sp add r1, sp, #4 mov r0, r4 @@ -3433,7 +3508,7 @@ FlashReadPages: str r0, [r4] ldrh r3, [r5, #14] cmp r3, #4 - bne .L402 + bne .L404 ldr r3, [r4, #12] ldr r2, [r4, #8] ldr r1, [sp, #4] @@ -3444,27 +3519,27 @@ FlashReadPages: add r1, r1, r9 blx r7 adds r0, r0, #1 - beq .L403 + beq .L405 ldr r3, [r4, #12] ldr r2, [r3, #12] adds r2, r2, #1 - bne .L402 + bne .L404 ldr r2, [r3, #8] adds r2, r2, #1 - bne .L402 + bne .L404 ldr r3, [r3] adds r3, r3, #1 - beq .L402 -.L403: + beq .L404 +.L405: mov r3, #-1 str r3, [r4] -.L402: +.L404: adds r6, r6, #1 adds r4, r4, #20 - b .L398 -.L416: + b .L400 +.L418: .align 2 -.L415: +.L417: .word .LANCHOR0 .word .LANCHOR1+130 .word .LC1 @@ -3484,7 +3559,7 @@ FtlLoadFactoryBbt: push {r4, r5, r6, r7, r8, r9, r10, lr} .save {r4, r5, r6, r7, r8, r9, r10, lr} movs r6, #0 - ldr r4, .L427 + ldr r4, .L429 movw r10, #61664 ldr r3, [r4, #3284] add r7, r4, #162 @@ -3492,23 +3567,23 @@ FtlLoadFactoryBbt: add r9, r4, #3264 str r3, [r4, #3272] str r8, [r4, #3276] -.L418: +.L420: ldrh r3, [r4, #54] cmp r6, r3 - bcc .L423 + bcc .L425 movs r0, #0 pop {r4, r5, r6, r7, r8, r9, r10, pc} -.L423: +.L425: ldrh r5, [r4, #98] movw r3, #65535 strh r3, [r7, #2]! @ movhi -.L420: +.L422: ldrh r3, [r4, #98] subs r5, r5, #1 uxth r5, r5 sub r2, r3, #16 cmp r5, r2 - ble .L421 + ble .L423 mla r3, r6, r3, r5 movs r2, #1 mov r1, r2 @@ -3518,17 +3593,17 @@ FtlLoadFactoryBbt: bl FlashReadPages ldr r3, [r4, #3264] adds r3, r3, #1 - beq .L420 + beq .L422 ldrh r3, [r8] cmp r3, r10 - bne .L420 + bne .L422 strh r5, [r7] @ movhi -.L421: +.L423: adds r6, r6, #1 - b .L418 -.L428: + b .L420 +.L430: .align 2 -.L427: +.L429: .word .LANCHOR0 .fnend .size FtlLoadFactoryBbt, .-FtlLoadFactoryBbt @@ -3543,7 +3618,7 @@ FtlGetLastWrittenPage: .fnstart @ args = 0, pretend = 0, frame = 88 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L440 + ldr r3, .L442 cmp r1, #1 push {r4, r5, r6, r7, r8, lr} .save {r4, r5, r6, r7, r8, lr} @@ -3558,7 +3633,7 @@ FtlGetLastWrittenPage: it ne ldrhne r5, [r3, #102] add r0, sp, #4 - ldr r3, .L440+4 + ldr r3, .L442+4 subs r5, r5, #1 sxth r5, r5 str r3, [sp, #12] @@ -3569,17 +3644,17 @@ FtlGetLastWrittenPage: bl FlashReadPages ldr r3, [sp, #24] adds r3, r3, #1 - bne .L432 + bne .L434 mov r8, #0 -.L433: +.L435: cmp r8, r5 - ble .L436 -.L432: + ble .L438 +.L434: mov r0, r5 add sp, sp, #88 @ sp needed pop {r4, r5, r6, r7, r8, pc} -.L436: +.L438: add r3, r8, r5 mov r2, r7 add r3, r3, r3, lsr #31 @@ -3592,23 +3667,23 @@ FtlGetLastWrittenPage: bl FlashReadPages ldr r3, [sp, #24] adds r3, r3, #1 - bne .L434 + bne .L436 ldr r3, [sp, #28] adds r3, r3, #1 - bne .L434 + bne .L436 ldr r3, [sp, #4] adds r3, r3, #1 - beq .L434 + beq .L436 subs r4, r4, #1 sxth r5, r4 - b .L433 -.L434: + b .L435 +.L436: adds r4, r4, #1 sxth r8, r4 - b .L433 -.L441: + b .L435 +.L443: .align 2 -.L440: +.L442: .word .LANCHOR0 .word ftl_temp_buf .fnend @@ -3627,7 +3702,7 @@ FlashProgPages: push {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} mov fp, r1 - ldr r6, .L472 + ldr r6, .L474 mov r9, r2 mov r4, r0 mov r5, r0 @@ -3636,28 +3711,28 @@ FlashProgPages: sub sp, sp, #44 ldrh r10, [r6, #12] str r3, [sp, #4] -.L443: +.L445: cmp r8, fp - bne .L451 + bne .L453 ldr r3, [sp, #4] cmp r3, #0 - bne .L458 -.L471: + bne .L460 +.L473: movs r0, #0 add sp, sp, #44 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L451: +.L453: ldr r3, [r5, #8] - cbz r3, .L444 + cbz r3, .L446 ldr r3, [r5, #12] - cbnz r3, .L445 -.L444: + cbnz r3, .L447 +.L446: movs r2, #131 - ldr r1, .L472+4 - ldr r0, .L472+8 + ldr r1, .L474+4 + ldr r0, .L474+8 bl sftl_printk -.L445: +.L447: add r2, sp, #12 add r1, sp, #16 mov r0, r5 @@ -3668,12 +3743,12 @@ FlashProgPages: ldrb r0, [sp, #12] @ zero_extendqisi2 ldr r7, [r6, #3256] blx r7 - cbnz r0, .L446 + cbnz r0, .L448 str r0, [r5] -.L447: +.L449: ldrh r3, [r6, #14] cmp r3, #4 - bne .L449 + bne .L451 ldr r3, [r5, #12] ldr r2, [r5, #8] ldr r1, [sp, #16] @@ -3683,18 +3758,18 @@ FlashProgPages: ldr r7, [r6, #3256] add r1, r1, r10 blx r7 - cbz r0, .L449 + cbz r0, .L451 mov r3, #-1 str r3, [r5] -.L449: +.L451: add r8, r8, #1 adds r5, r5, #20 - b .L443 -.L446: + b .L445 +.L448: mov r3, #-1 str r3, [r5] - b .L447 -.L456: + b .L449 +.L458: movs r3, #0 mov r2, r9 str r3, [r7] @@ -3708,53 +3783,53 @@ FlashProgPages: bl FlashReadPages ldr r3, [sp, #20] adds r2, r3, #1 - bne .L453 + bne .L455 ldr r1, [r4, #4] mov r0, fp str r3, [sp, #4] bl sftl_printk ldr r3, [sp, #4] str r3, [r4] -.L453: +.L455: ldr r3, [r4, #12] - cbz r3, .L454 + cbz r3, .L456 ldr r2, [r3] ldr r3, [r6, #3292] cmp r2, r3 - beq .L454 + beq .L456 ldr r1, [r4, #4] - ldr r0, .L472+12 + ldr r0, .L474+12 bl sftl_printk mov r3, #-1 str r3, [r4] -.L454: +.L456: ldr r3, [r4, #8] - cbz r3, .L455 + cbz r3, .L457 ldr r2, [r3] ldr r3, [r7] cmp r2, r3 - beq .L455 + beq .L457 ldr r1, [r4, #4] - ldr r0, .L472+16 + ldr r0, .L474+16 bl sftl_printk mov r3, #-1 str r3, [r4] -.L455: +.L457: adds r5, r5, #1 adds r4, r4, #20 -.L452: +.L454: cmp r8, r5 - bne .L456 - b .L471 -.L458: + bne .L458 + b .L473 +.L460: movs r5, #0 - ldr r7, .L472+20 - ldr r10, .L472+24 - ldr fp, .L472+28 - b .L452 -.L473: + ldr r7, .L474+20 + ldr r10, .L474+24 + ldr fp, .L474+28 + b .L454 +.L475: .align 2 -.L472: +.L474: .word .LANCHOR0 .word .LANCHOR1+145 .word .LC1 @@ -3780,19 +3855,19 @@ FlashEraseBlocks: .save {r4, r5, r6, r7, r8, r9, lr} .pad #12 mov r7, r2 - ldr r4, .L485 + ldr r4, .L487 mov r5, r0 movs r6, #0 mov r9, #-1 ldrh r8, [r4, #12] -.L475: +.L477: cmp r6, r7 - bne .L481 + bne .L483 movs r0, #0 add sp, sp, #12 @ sp needed pop {r4, r5, r6, r7, r8, r9, pc} -.L481: +.L483: mov r2, sp add r1, sp, #4 mov r0, r5 @@ -3808,21 +3883,21 @@ FlashEraseBlocks: str r3, [r5] ldrh r3, [r4, #14] cmp r3, #4 - bne .L479 + bne .L481 ldr r1, [sp, #4] ldr r3, [r4, #3252] ldrb r0, [sp] @ zero_extendqisi2 add r1, r1, r8 blx r3 - cbz r0, .L479 + cbz r0, .L481 str r9, [r5] -.L479: +.L481: adds r6, r6, #1 adds r5, r5, #20 - b .L475 -.L486: + b .L477 +.L488: .align 2 -.L485: +.L487: .word .LANCHOR0 .fnend .size FlashEraseBlocks, .-FlashEraseBlocks @@ -3844,12 +3919,12 @@ FtlFreeSysBlkQueueIn: .save {r4, r5, r6, lr} mov r5, r0 cmp r3, r2 - bhi .L487 - ldr r4, .L496 + bhi .L489 + ldr r4, .L498 ldrh r3, [r4, #218] cmp r3, #1024 - beq .L487 - cbz r1, .L489 + beq .L489 + cbz r1, .L491 bl P2V_block_in_plane mov r6, r0 ldr r0, [r4, #3804] @@ -3865,7 +3940,7 @@ FtlFreeSysBlkQueueIn: ldr r3, [r4, #2560] adds r3, r3, #1 str r3, [r4, #2560] -.L489: +.L491: ldrh r3, [r4, #218] adds r3, r3, #1 strh r3, [r4, #218] @ movhi @@ -3875,11 +3950,11 @@ FtlFreeSysBlkQueueIn: ubfx r3, r3, #0, #10 strh r5, [r2, #220] @ movhi strh r3, [r4, #216] @ movhi -.L487: +.L489: pop {r4, r5, r6, pc} -.L497: +.L499: .align 2 -.L496: +.L498: .word .LANCHOR0 .fnend .size FtlFreeSysBlkQueueIn, .-FtlFreeSysBlkQueueIn @@ -3897,7 +3972,7 @@ FtlLowFormatEraseBlock: push {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} mov r10, #0 - ldr r4, .L543 + ldr r4, .L545 mov r7, r1 mov r6, r10 mov r5, r10 @@ -3907,79 +3982,79 @@ FtlLowFormatEraseBlock: mov fp, r4 str r0, [sp] str r0, [r4, #3808] -.L499: +.L501: ldrh r1, [r4, #32] uxth r3, r10 cmp r1, r3 - bhi .L504 + bhi .L506 cmp r6, #0 - beq .L498 + beq .L500 mov r8, #0 mov r9, #20 mov r2, r6 movs r1, #0 ldr r0, [r4, #3804] bl FlashEraseBlocks -.L507: +.L509: uxth r3, r8 cmp r6, r3 - bhi .L509 + bhi .L511 cmp r7, #0 - beq .L526 + beq .L528 ldrh r3, [r4, #104] mov r10, #1 str r3, [sp, #4] lsrs r3, r3, #2 str r3, [sp, #8] -.L510: +.L512: mov r8, #0 mov fp, #20 -.L520: +.L522: mov r9, #0 mov r6, r9 -.L511: +.L513: ldrh r1, [r4, #32] uxth r3, r9 cmp r1, r3 - bhi .L515 - cbz r6, .L498 + bhi .L517 + cbz r6, .L500 mov r9, #0 movs r3, #1 mov r2, r10 mov r1, r6 ldr r0, [r4, #3804] bl FlashProgPages -.L517: +.L519: uxth r3, r9 cmp r6, r3 - bhi .L519 + bhi .L521 ldr r3, [sp, #8] add r8, r8, r3 ldr r3, [sp, #4] uxth r8, r8 cmp r3, r8 - bhi .L520 + bhi .L522 mov r8, #0 mov r9, #20 -.L521: +.L523: uxth r3, r8 cmp r6, r3 - bhi .L523 + bhi .L525 ldr r3, [sp] cmp r3, #63 - bls .L524 - cbz r7, .L498 -.L524: + bls .L526 + cbz r7, .L500 +.L526: mov r2, r6 mov r1, r10 ldr r0, [r4, #3804] bl FlashEraseBlocks -.L498: +.L500: mov r0, r5 add sp, sp, #20 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L504: +.L506: uxth r3, r10 ldr r0, [r4, #3804] movs r2, #0 @@ -3990,13 +4065,13 @@ FtlLowFormatEraseBlock: ldrb r0, [r3, #60] @ zero_extendqisi2 bl V2P_block mov r8, r0 - cbz r7, .L500 + cbz r7, .L502 bl IsBlkInVendorPart - cbnz r0, .L501 -.L500: + cbnz r0, .L503 +.L502: mov r0, r8 bl FtlBbmIsBadBlock - cbnz r0, .L502 + cbnz r0, .L504 ldr r1, [r4, #3804] lsl r3, r8, #10 ldr r0, [fp, #3816] @@ -4013,36 +4088,36 @@ FtlLowFormatEraseBlock: bic r3, r3, #3 add r3, r3, r0 str r3, [r1, #12] -.L501: +.L503: add r10, r10, #1 - b .L499 -.L502: + b .L501 +.L504: adds r5, r5, #1 uxth r5, r5 - b .L501 -.L509: + b .L503 +.L511: mul r3, r9, r8 ldr r2, [r4, #3804] adds r1, r2, r3 ldr r3, [r2, r3] adds r3, r3, #1 - bne .L508 + bne .L510 ldr r0, [r1, #4] adds r5, r5, #1 uxth r5, r5 ubfx r0, r0, #10, #16 bl FtlBbmMapBadBlock -.L508: +.L510: add r8, r8, #1 - b .L507 -.L526: + b .L509 +.L528: movs r3, #6 mov r10, r7 str r3, [sp, #8] movs r3, #1 str r3, [sp, #4] - b .L510 -.L515: + b .L512 +.L517: uxth r3, r9 ldr r0, [r4, #3804] movs r2, #0 @@ -4053,16 +4128,16 @@ FtlLowFormatEraseBlock: ldrb r0, [r3, #60] @ zero_extendqisi2 bl V2P_block str r0, [sp, #12] - cbz r7, .L512 + cbz r7, .L514 bl IsBlkInVendorPart - cbnz r0, .L513 -.L512: + cbnz r0, .L515 +.L514: ldr r0, [sp, #12] bl FtlBbmIsBadBlock - cbnz r0, .L513 + cbnz r0, .L515 ldr r1, [r4, #3804] ldr r3, [sp, #12] - ldr r2, .L543 + ldr r2, .L545 mla r1, fp, r6, r1 ldr r0, [r2, #3812] add r3, r8, r3, lsl #10 @@ -4078,40 +4153,40 @@ FtlLowFormatEraseBlock: bic r3, r3, #3 add r3, r3, r0 str r3, [r1, #12] -.L513: +.L515: add r9, r9, #1 - b .L511 -.L519: + b .L513 +.L521: mul r3, fp, r9 ldr r2, [r4, #3804] adds r1, r2, r3 ldr r3, [r2, r3] - cbz r3, .L518 + cbz r3, .L520 ldr r0, [r1, #4] adds r5, r5, #1 uxth r5, r5 ubfx r0, r0, #10, #16 bl FtlBbmMapBadBlock -.L518: +.L520: add r9, r9, #1 - b .L517 -.L523: - cbz r7, .L522 + b .L519 +.L525: + cbz r7, .L524 mul r3, r9, r8 ldr r2, [r4, #3804] adds r1, r2, r3 ldr r3, [r2, r3] - cbnz r3, .L522 + cbnz r3, .L524 ldr r0, [r1, #4] movs r1, #1 ubfx r0, r0, #10, #16 bl FtlFreeSysBlkQueueIn -.L522: +.L524: add r8, r8, #1 - b .L521 -.L544: + b .L523 +.L546: .align 2 -.L543: +.L545: .word .LANCHOR0 .fnend .size FtlLowFormatEraseBlock, .-FtlLowFormatEraseBlock @@ -4128,11 +4203,11 @@ FtlFreeSysBlkQueueOut: @ frame_needed = 0, uses_anonymous_args = 0 push {r3, r4, r5, r6, r7, lr} .save {r3, r4, r5, r6, r7, lr} - ldr r4, .L552 - ldr r6, .L552+4 -.L546: + ldr r4, .L554 + ldr r6, .L554+4 +.L548: ldrh r1, [r4, #218] - cbz r1, .L547 + cbz r1, .L549 ldrh r3, [r4, #214] subs r1, r1, #1 strh r1, [r4, #218] @ movhi @@ -4161,23 +4236,23 @@ FtlFreeSysBlkQueueOut: subs r3, r5, #1 uxth r3, r3 cmp r3, r2 - bhi .L548 + bhi .L550 mov r0, r5 pop {r3, r4, r5, r6, r7, pc} -.L547: - ldr r0, .L552+8 +.L549: + ldr r0, .L554+8 bl sftl_printk +.L552: + b .L552 .L550: - b .L550 -.L548: ldrh r2, [r4, #218] mov r1, r5 mov r0, r6 bl sftl_printk - b .L546 -.L553: + b .L548 +.L555: .align 2 -.L552: +.L554: .word .LANCHOR0 .word .LC84 .word .LC83 @@ -4200,16 +4275,16 @@ ftl_map_blk_alloc_new_blk: ldrh r1, [r0, #10] movs r3, #0 ldr r2, [r0, #12] -.L555: +.L557: uxth r5, r3 cmp r5, r1 - bcs .L558 + bcs .L560 mov r7, r2 adds r3, r3, #1 ldrh r6, [r7] adds r2, r2, #2 cmp r6, #0 - bne .L555 + bne .L557 bl FtlFreeSysBlkQueueOut subs r3, r0, #1 movw r2, #65533 @@ -4217,14 +4292,14 @@ ftl_map_blk_alloc_new_blk: mov r1, r0 strh r0, [r7] @ movhi cmp r3, r2 - bls .L556 - ldr r3, .L562 - ldr r0, .L562+4 + bls .L558 + ldr r3, .L564 + ldr r0, .L564+4 ldrh r2, [r3, #218] bl sftl_printk -.L557: - b .L557 -.L556: +.L559: + b .L559 +.L558: ldr r3, [r4, #28] strh r6, [r4, #2] @ movhi strh r5, [r4] @ movhi @@ -4233,20 +4308,20 @@ ftl_map_blk_alloc_new_blk: ldrh r3, [r4, #8] adds r3, r3, #1 strh r3, [r4, #8] @ movhi -.L558: +.L560: ldrh r3, [r4, #10] cmp r3, r5 - bhi .L560 + bhi .L562 movw r2, #603 - ldr r1, .L562+8 - ldr r0, .L562+12 + ldr r1, .L564+8 + ldr r0, .L564+12 bl sftl_printk -.L560: +.L562: movs r0, #0 pop {r3, r4, r5, r6, r7, pc} -.L563: +.L565: .align 2 -.L562: +.L564: .word .LANCHOR0 .word .LC85 .word .LANCHOR1+160 @@ -4270,8 +4345,8 @@ FlashTestBlk: mov r4, r0 .pad #92 sub sp, sp, #92 - bls .L566 - ldr r5, .L567 + bls .L568 + ldr r5, .L569 add r0, sp, #24 movs r2, #32 movs r1, #165 @@ -4301,17 +4376,17 @@ FlashTestBlk: movne r4, #1 negs r4, r4 bl FlashEraseBlocks -.L564: +.L566: mov r0, r4 add sp, sp, #92 @ sp needed pop {r4, r5, pc} -.L566: - movs r4, #0 - b .L564 .L568: + movs r4, #0 + b .L566 +.L570: .align 2 -.L567: +.L569: .word ftl_temp_buf .fnend .size FlashTestBlk, .-FlashTestBlk @@ -4329,7 +4404,7 @@ FlashGetBadBlockList: push {r4, r5, r6, lr} .save {r4, r5, r6, lr} mov r2, #256 - ldr r5, .L576 + ldr r5, .L578 mov r4, r0 mov r6, r1 movs r1, #255 @@ -4340,31 +4415,31 @@ FlashGetBadBlockList: blx r3 uxth r0, r0 cmp r0, #50 - bls .L570 + bls .L572 mov r2, #256 movs r1, #255 mov r0, r4 bl memset movs r0, #0 -.L570: +.L572: ldrh r3, [r5, #14] cmp r3, #4 - bne .L575 + bne .L577 add r1, r4, r0, lsl #1 mov r3, r4 -.L572: +.L574: cmp r3, r1 - bne .L573 -.L575: + bne .L575 +.L577: pop {r4, r5, r6, pc} -.L573: +.L575: ldrh r2, [r3] lsrs r2, r2, #1 strh r2, [r3], #2 @ movhi - b .L572 -.L577: + b .L574 +.L579: .align 2 -.L576: +.L578: .word .LANCHOR0 .fnend .size FlashGetBadBlockList, .-FlashGetBadBlockList @@ -4382,9 +4457,9 @@ ftl_memset: push {r4, lr} .save {r4, lr} mov r4, r0 - cbz r2, .L579 + cbz r2, .L581 bl memset -.L579: +.L581: mov r0, r4 pop {r4, pc} .fnend @@ -4403,7 +4478,7 @@ FtlMemInit: push {r4, r5, r6, r7, r8, lr} .save {r4, r5, r6, r7, r8, lr} movw r3, #65535 - ldr r4, .L684 + ldr r4, .L686 movs r5, #0 movs r6, #12 movs r7, #20 @@ -4510,7 +4585,7 @@ FtlMemInit: bl ftl_malloc ldrh r3, [r4, #3856] str r0, [r4, #3860] - ldr r0, .L684+4 + ldr r0, .L686+4 addw r3, r3, #547 lsrs r3, r3, #9 and r0, r0, r3, lsl #9 @@ -4597,143 +4672,143 @@ FtlMemInit: str r0, [r4, #180] lsls r2, r2, #2 mov r1, r2 -.L584: +.L586: cmp r3, r6 - bcc .L585 - ldr r2, .L684+8 + bcc .L587 + ldr r2, .L686+8 movs r1, #0 add r3, r2, r3, lsl #2 adds r2, r2, #56 adds r3, r3, #24 -.L586: +.L588: cmp r2, r3 - bne .L587 + bne .L589 ldr r3, [r4, #3872] - cbnz r3, .L588 -.L590: - ldr r1, .L684+12 - ldr r0, .L684+16 + cbnz r3, .L590 +.L592: + ldr r1, .L686+12 + ldr r0, .L686+16 bl sftl_printk mov r0, #-1 pop {r4, r5, r6, r7, r8, pc} -.L585: +.L587: ldr r0, [r4, #180] adds r3, r3, #1 add r0, r0, r1 add r1, r1, r2 str r0, [r5, #4]! - b .L584 -.L587: - str r1, [r3, #4]! b .L586 -.L685: +.L589: + str r1, [r3, #4]! + b .L588 +.L687: .align 2 -.L684: +.L686: .word .LANCHOR0 .word 33553920 .word .LANCHOR0+152 .word .LANCHOR1+186 .word .LC86 -.L588: +.L590: ldr r3, [r4, #3876] cmp r3, #0 - beq .L590 + beq .L592 ldr r3, [r4, #3892] cmp r3, #0 - beq .L590 + beq .L592 ldr r3, [r4, #3896] cmp r3, #0 - beq .L590 + beq .L592 ldr r3, [r4, #2492] cmp r3, #0 - beq .L590 + beq .L592 ldr r3, [r4, #3900] cmp r3, #0 - beq .L590 + beq .L592 ldr r3, [r4, #2316] cmp r3, #0 - beq .L590 + beq .L592 ldr r3, [r4, #180] cmp r3, #0 - beq .L590 + beq .L592 ldr r3, [r4, #2324] cmp r3, #0 - beq .L590 + beq .L592 ldr r3, [r4, #3188] cmp r3, #0 - beq .L590 + beq .L592 ldr r3, [r4, #3196] cmp r3, #0 - beq .L590 + beq .L592 ldr r3, [r4, #3836] cmp r3, #0 - beq .L590 + beq .L592 ldr r3, [r4, #3844] cmp r3, #0 - beq .L590 + beq .L592 ldr r3, [r4, #3804] cmp r3, #0 - beq .L590 + beq .L592 ldr r3, [r4, #3180] cmp r3, #0 - beq .L590 + beq .L592 ldr r3, [r4, #3840] cmp r3, #0 - beq .L590 + beq .L592 ldr r3, [r4, #3284] cmp r3, #0 - beq .L590 + beq .L592 ldr r3, [r4, #3848] cmp r3, #0 - beq .L590 + beq .L592 ldr r3, [r4, #3852] cmp r3, #0 - beq .L590 + beq .L592 ldr r3, [r4, #3172] cmp r3, #0 - beq .L590 + beq .L592 ldr r3, [r4, #3820] cmp r3, #0 - beq .L590 + beq .L592 ldr r3, [r4, #3812] cmp r3, #0 - beq .L590 + beq .L592 ldr r3, [r4, #3168] cmp r3, #0 - beq .L590 + beq .L592 ldr r3, [r4, #3288] cmp r3, #0 - beq .L590 + beq .L592 ldr r3, [r4, #3816] cmp r3, #0 - beq .L590 + beq .L592 ldr r3, [r4, #3176] cmp r3, #0 - beq .L590 + beq .L592 ldr r3, [r4, #2328] cmp r3, #0 - beq .L590 + beq .L592 ldr r3, [r4, #3860] cmp r3, #0 - beq .L590 + beq .L592 ldr r3, [r4, #148] cmp r3, #0 - beq .L590 - ldr r3, .L686 + beq .L592 + ldr r3, .L688 ldr r2, [r3, #3880] cmp r2, #0 - beq .L590 + beq .L592 ldr r2, [r3, #3884] cmp r2, #0 - beq .L590 + beq .L592 ldr r3, [r3, #3888] cmp r3, #0 - beq .L590 + beq .L592 movs r0, #0 pop {r4, r5, r6, r7, r8, pc} -.L687: +.L689: .align 2 -.L686: +.L688: .word .LANCHOR0 .fnend .size FtlMemInit, .-FtlMemInit @@ -4751,30 +4826,30 @@ FtlBbt2Bitmap: push {r4, r5, r6, r7, r8, r9, r10, lr} .save {r4, r5, r6, r7, r8, r9, r10, lr} mov r5, r0 - ldr r6, .L694 + ldr r6, .L696 mov r7, r1 subs r4, r5, #2 movw r8, #65535 - ldr r9, .L694+4 + ldr r9, .L696+4 addw r5, r5, #1022 ldrh r2, [r6, #3904] movs r1, #0 - ldr r10, .L694+8 + ldr r10, .L696+8 mov r0, r7 lsls r2, r2, #2 bl ftl_memset -.L691: +.L693: ldrh r3, [r4, #2] cmp r3, r8 - beq .L688 + beq .L690 ldrh r2, [r6, #98] cmp r2, r3 - bhi .L690 + bhi .L692 movs r2, #74 mov r1, r9 mov r0, r10 bl sftl_printk -.L690: +.L692: ldrh r3, [r4, #2]! movs r2, #1 cmp r5, r4 @@ -4784,12 +4859,12 @@ FtlBbt2Bitmap: ldr r2, [r7, r1, lsl #2] orr r2, r2, r3 str r2, [r7, r1, lsl #2] - bne .L691 -.L688: + bne .L693 +.L690: pop {r4, r5, r6, r7, r8, r9, r10, pc} -.L695: +.L697: .align 2 -.L694: +.L696: .word .LANCHOR0 .word .LANCHOR1+197 .word .LC1 @@ -4819,37 +4894,37 @@ ftl_free_no_use_map_blk: mov r0, r5 bl ftl_memset movs r3, #0 -.L697: +.L699: ldrh r1, [r4, #6] uxth r2, r3 cmp r1, r2 - bhi .L701 + bhi .L703 ldrh fp, [r5] movs r6, #0 - ldr r2, .L710 + ldr r2, .L712 mov r10, r6 -.L702: +.L704: ldrh r1, [r4, #10] uxth r3, r6 cmp r1, r3 - bhi .L706 + bhi .L708 mov r0, r10 add sp, sp, #12 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L701: +.L703: uxth r2, r3 ldr r1, [r6, r2, lsl #2] movs r2, #0 ubfx r1, r1, #10, #16 -.L698: +.L700: ldrh r7, [r4, #10] uxth r0, r2 cmp r7, r0 - bhi .L700 + bhi .L702 adds r3, r3, #1 - b .L697 -.L700: + b .L699 +.L702: uxth r0, r2 adds r2, r2, #1 ldrh r7, [r9, r0, lsl #1] @@ -4858,27 +4933,27 @@ ftl_free_no_use_map_blk: ldrheq r7, [r5, r0, lsl #1] addeq r7, r7, #1 strheq r7, [r5, r0, lsl #1] @ movhi - b .L698 -.L706: + b .L700 +.L708: ldrh r1, [r4] uxth r7, r6 cmp r1, r3 - bne .L703 + bne .L705 ldrh r1, [r2, #104] ldrh r0, [r4, #2] cmp r0, r1 it cc strhcc r1, [r5, r7, lsl #1] @ movhi -.L703: +.L705: ldrh r8, [r5, r7, lsl #1] cmp fp, r8 itt hi movhi r10, r3 movhi fp, r8 cmp r8, #0 - bne .L705 + bne .L707 ldrh r0, [r9, r7, lsl #1] - cbz r0, .L705 + cbz r0, .L707 movs r1, #1 str r2, [sp, #4] bl FtlFreeSysBlkQueueIn @@ -4887,12 +4962,12 @@ ftl_free_no_use_map_blk: ldrh r3, [r4, #8] subs r3, r3, #1 strh r3, [r4, #8] @ movhi -.L705: +.L707: adds r6, r6, #1 - b .L702 -.L711: + b .L704 +.L713: .align 2 -.L710: +.L712: .word .LANCHOR0 .fnend .size ftl_free_no_use_map_blk, .-ftl_free_no_use_map_blk @@ -4914,14 +4989,14 @@ Ftl_write_map_blk_to_last_page: mov r4, r0 ldr r5, [r0, #12] cmp r3, r2 - bne .L713 + bne .L715 ldrh r3, [r0, #8] - cbz r3, .L714 + cbz r3, .L716 movw r2, #677 - ldr r1, .L722 - ldr r0, .L722+4 + ldr r1, .L724 + ldr r0, .L724+4 bl sftl_printk -.L714: +.L716: ldrh r3, [r4, #8] adds r3, r3, #1 strh r3, [r4, #8] @ movhi @@ -4933,14 +5008,14 @@ Ftl_write_map_blk_to_last_page: ldr r3, [r4, #28] adds r3, r3, #1 str r3, [r4, #28] -.L715: +.L717: movs r0, #0 pop {r3, r4, r5, r6, r7, pc} -.L713: +.L715: ldrh r6, [r5, r3, lsl #1] movs r1, #255 ldrh r3, [r0, #2] - ldr r5, .L722+8 + ldr r5, .L724+8 ldr r2, [r0, #28] ldr r7, [r0, #24] orr r3, r3, r6, lsl #10 @@ -4961,27 +5036,27 @@ Ftl_write_map_blk_to_last_page: bl ftl_memset movs r2, #0 mov r3, r2 -.L716: +.L718: ldrh r0, [r4, #6] uxth r1, r2 cmp r0, r1 - bhi .L718 + bhi .L720 movs r2, #1 movs r3, #0 mov r1, r2 - ldr r0, .L722+12 + ldr r0, .L724+12 bl FlashProgPages ldrh r3, [r4, #2] mov r0, r4 adds r3, r3, #1 strh r3, [r4, #2] @ movhi bl ftl_map_blk_gc - b .L715 -.L718: + b .L717 +.L720: uxth r1, r2 ldr r0, [r7, r1, lsl #2] cmp r6, r0, lsr #10 - bne .L717 + bne .L719 ldr r0, [r5, #3284] adds r3, r3, #1 uxth r3, r3 @@ -4990,12 +5065,12 @@ Ftl_write_map_blk_to_last_page: ldr r1, [r5, #3284] add r1, r1, r3, lsl #3 str r0, [r1, #4] -.L717: +.L719: adds r2, r2, #1 - b .L716 -.L723: + b .L718 +.L725: .align 2 -.L722: +.L724: .word .LANCHOR1+211 .word .LC1 .word .LANCHOR0 @@ -5016,13 +5091,13 @@ FtlMapWritePage: push {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} mov r4, r0 - ldr r7, .L753 + ldr r7, .L755 mov r9, r1 mov fp, r2 movs r6, #0 - ldr r10, .L753+20 + ldr r10, .L755+20 mov r5, r7 -.L725: +.L727: ldr r3, [r7, #2524] adds r3, r3, #1 str r3, [r7, #2524] @@ -5030,33 +5105,33 @@ FtlMapWritePage: ldrh r2, [r4, #2] subs r3, r3, #1 cmp r2, r3 - bge .L726 + bge .L728 ldrh r2, [r4] movw r3, #65535 cmp r2, r3 - bne .L727 -.L726: + bne .L729 +.L728: mov r0, r4 bl Ftl_write_map_blk_to_last_page -.L727: +.L729: ldrh r2, [r4] ldr r3, [r4, #12] ldrh r3, [r3, r2, lsl #1] - cbnz r3, .L728 + cbnz r3, .L730 movw r2, #735 mov r1, r10 - ldr r0, .L753+4 + ldr r0, .L755+4 bl sftl_printk -.L728: +.L730: ldrh r2, [r4] ldrh r3, [r4, #10] cmp r2, r3 - bcc .L729 + bcc .L731 mov r2, #736 mov r1, r10 - ldr r0, .L753+4 + ldr r0, .L755+4 bl sftl_printk -.L729: +.L731: ldrh r2, [r4] movs r1, #16 ldr r3, [r4, #12] @@ -5070,7 +5145,7 @@ FtlMapWritePage: bl __memzero ldr r3, [r5, #3276] ldr r2, [r4, #28] - ldr r0, .L753+8 + ldr r0, .L755+8 strh r9, [r3, #8] @ movhi str r2, [r3, #4] ldrh r2, [r4, #4] @@ -5086,10 +5161,10 @@ FtlMapWritePage: strh r3, [r4, #2] @ movhi ldr r2, [r5, #3264] adds r1, r2, #1 - bne .L730 + bne .L732 ldr r1, [r5, #3268] adds r6, r6, #1 - ldr r0, .L753+12 + ldr r0, .L755+12 uxth r6, r6 bl sftl_printk ldrh r3, [r4, #2] @@ -5099,38 +5174,38 @@ FtlMapWritePage: addls r3, r3, #-1 strhls r3, [r4, #2] @ movhi cmp r6, #3 - bls .L732 + bls .L734 mov r2, r6 ldr r1, [r5, #3268] - ldr r0, .L753+16 + ldr r0, .L755+16 bl sftl_printk -.L733: - b .L733 -.L732: +.L735: + b .L735 +.L734: ldr r3, [r4, #32] cmp r3, #0 - beq .L725 -.L750: - b .L750 -.L730: - cbz r2, .L736 + beq .L727 +.L752: + b .L752 +.L732: + cbz r2, .L738 cmp r3, #1 strh r8, [r4, #40] @ movhi - beq .L725 + beq .L727 cmp r2, #256 -.L752: - beq .L725 +.L754: + beq .L727 ldr r2, [r5, #3268] movs r0, #0 ldr r3, [r4, #24] str r2, [r3, r9, lsl #2] pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L736: +.L738: cmp r3, #1 - b .L752 -.L754: + b .L754 +.L756: .align 2 -.L753: +.L755: .word .LANCHOR0 .word .LC1 .word .LANCHOR0+3264 @@ -5153,20 +5228,20 @@ load_l2p_region: push {r4, r5, r6, r7, r8, lr} .save {r4, r5, r6, r7, r8, lr} mov r6, r0 - ldr r4, .L762 + ldr r4, .L764 mov r8, r1 ldrh r3, [r4, #136] cmp r3, r0 - bcs .L756 + bcs .L758 mov r2, #510 - ldr r1, .L762+4 - ldr r0, .L762+8 + ldr r1, .L764+4 + ldr r0, .L764+8 bl sftl_printk -.L756: +.L758: ldr r3, [r4, #3892] movs r5, #12 ldr r7, [r3, r6, lsl #2] - cbnz r7, .L757 + cbnz r7, .L759 mul r5, r5, r8 ldr r3, [r4, #2492] ldrh r2, [r4, #110] @@ -5179,14 +5254,14 @@ load_l2p_region: ldr r3, [r4, #2492] add r5, r5, r3 str r7, [r5, #4] -.L758: +.L760: movs r0, #0 pop {r4, r5, r6, r7, r8, pc} -.L757: +.L759: mul r5, r5, r8 ldr r3, [r4, #2492] movs r2, #1 - ldr r0, .L762+12 + ldr r0, .L764+12 mov r1, r2 str r7, [r4, #3268] add r3, r3, r5 @@ -5198,55 +5273,55 @@ load_l2p_region: ldr r3, [r4, #3264] ldr r8, [r4, #3276] cmp r3, #256 - bne .L759 + bne .L761 mov r2, r7 mov r1, r6 - ldr r0, .L762+16 + ldr r0, .L764+16 bl sftl_printk lsrs r3, r7, #10 mov r1, r6 - ldr r0, .L762+20 + ldr r0, .L764+20 strh r3, [r4, #3948] @ movhi ldr r3, [r4, #2492] add r3, r3, r5 ldr r2, [r3, #8] bl FtlMapWritePage -.L759: +.L761: ldrh r3, [r8, #8] cmp r3, r6 - beq .L760 + beq .L762 mov r2, r7 mov r1, r6 - ldr r0, .L762+24 + ldr r0, .L764+24 bl sftl_printk movs r3, #4 ldr r1, [r4, #3276] mov r2, r3 - ldr r0, .L762+28 + ldr r0, .L764+28 bl rknand_print_hex ldrh r3, [r4, #136] movs r2, #4 ldr r1, [r4, #3892] - ldr r0, .L762+32 + ldr r0, .L764+32 bl rknand_print_hex -.L760: +.L762: ldrh r3, [r8, #8] cmp r3, r6 - beq .L761 + beq .L763 movw r2, #535 - ldr r1, .L762+4 - ldr r0, .L762+8 + ldr r1, .L764+4 + ldr r0, .L764+8 bl sftl_printk -.L761: +.L763: ldr r3, [r4, #2492] movs r1, #0 adds r2, r3, r5 str r1, [r2, #4] strh r6, [r3, r5] @ movhi - b .L758 -.L763: + b .L760 +.L765: .align 2 -.L762: +.L764: .word .LANCHOR0 .word .LANCHOR1+258 .word .LC1 @@ -5280,32 +5355,32 @@ ftl_map_blk_gc: ldrh r2, [r4, #8] ldrh r1, [r4, #40] sub r3, ip, #4 - ldr r5, .L788 + ldr r5, .L790 cmp r2, r3 - bge .L765 + bge .L767 movw r3, #65535 cmp r1, r3 - beq .L767 + beq .L769 ldrh r2, [r4, #2] ldrh r3, [r5, #104] cmp r2, r3 - bcc .L768 -.L765: + bcc .L770 +.L767: movw r3, #65535 uxth r0, r0 cmp r1, r3 - beq .L769 + beq .L771 ldrh r3, [r4, #2] ldrh r2, [r5, #104] cmp r2, r3 - bls .L770 -.L769: + bls .L772 +.L771: ldrh r9, [r6, r0, lsl #1] lsls r2, r0, #1 cmp r9, #0 - beq .L767 + beq .L769 ldr r3, [r4, #32] - cbnz r3, .L767 + cbnz r3, .L769 movs r1, #1 str r1, [r4, #32] strh r3, [r6, r2] @ movhi @@ -5315,66 +5390,66 @@ ftl_map_blk_gc: strh r3, [r4, #8] @ movhi ldrh r3, [r5, #104] cmp r2, r3 - bcc .L775 + bcc .L777 mov r0, r4 bl ftl_map_blk_alloc_new_blk -.L775: +.L777: movs r6, #0 -.L776: +.L778: ldrh r2, [r4, #6] uxth fp, r6 cmp r2, fp - bhi .L783 + bhi .L785 movs r1, #1 mov r0, r9 bl FtlFreeSysBlkQueueIn movs r3, #0 str r3, [r4, #32] -.L767: +.L769: ldrh r2, [r4, #2] ldrh r3, [r5, #104] cmp r2, r3 - bcc .L768 + bcc .L770 mov r0, r4 bl ftl_map_blk_alloc_new_blk -.L768: +.L770: movs r0, #0 add sp, sp, #12 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L773: +.L775: ldrh r8, [r6, r2, lsl #1] add lr, r2, #1 cmp r8, r1 - beq .L771 + beq .L773 mov r2, lr -.L772: +.L774: uxth r7, r2 cmp r7, ip - bcc .L773 + bcc .L775 mov r7, r0 -.L771: +.L773: uxth r2, r2 - ldr r0, .L788+4 + ldr r0, .L790+4 ldrh r2, [r6, r2, lsl #1] bl sftl_printk movw r3, #65535 mov r0, r7 strh r3, [r4, #40] @ movhi - b .L769 -.L770: + b .L771 +.L772: movs r2, #0 - b .L772 -.L783: + b .L774 +.L785: uxth r7, r6 ldr r2, [r10, r7, lsl #2] add r3, r10, r7, lsl #2 str r3, [sp, #4] cmp r9, r2, lsr #10 - bne .L777 + bne .L779 ldr r2, [r5, #3848] ldr r8, [r5, #3288] - ldr r0, .L788+8 + ldr r0, .L790+8 str r2, [r5, #3272] str r8, [r5, #3276] ldr r2, [r10, r7, lsl #2] @@ -5384,39 +5459,39 @@ ftl_map_blk_gc: bl FlashReadPages ldrh r2, [r8, #8] cmp r2, fp - beq .L778 + beq .L780 movw r2, #647 - ldr r1, .L788+12 - ldr r0, .L788+16 + ldr r1, .L790+12 + ldr r0, .L790+16 bl sftl_printk -.L778: +.L780: ldr r2, [r5, #3264] adds r2, r2, #1 - bne .L779 -.L781: + bne .L781 +.L783: ldr r2, [sp, #4] movs r3, #0 str r3, [r2] -.L780: - b .L780 -.L779: +.L782: + b .L782 +.L781: ldrh r2, [r8, #8] cmp r2, fp - bne .L781 + bne .L783 ldrh r2, [r8] ldrh r3, [r4, #4] cmp r2, r3 - bne .L781 + bne .L783 ldr r2, [r5, #3272] mov r1, r7 mov r0, r4 bl FtlMapWritePage -.L777: +.L779: adds r6, r6, #1 - b .L776 -.L789: + b .L778 +.L791: .align 2 -.L788: +.L790: .word .LANCHOR0 .word .LC93 .word .LANCHOR0+3264 @@ -5438,7 +5513,7 @@ flush_l2p_region: push {r3, r4, r5, lr} .save {r3, r4, r5, lr} movs r4, #12 - ldr r5, .L791 + ldr r5, .L793 muls r4, r0, r4 ldr r3, [r5, #2492] addw r0, r5, #3908 @@ -5453,9 +5528,9 @@ flush_l2p_region: bic r3, r3, #-2147483648 str r3, [r4, #4] pop {r3, r4, r5, pc} -.L792: +.L794: .align 2 -.L791: +.L793: .word .LANCHOR0 .fnend .size flush_l2p_region, .-flush_l2p_region @@ -5473,7 +5548,7 @@ log2phys: push {r4, r5, r6, r7, r8, r9, r10, lr} .save {r4, r5, r6, r7, r8, r9, r10, lr} mov r7, r1 - ldr r4, .L807 + ldr r4, .L809 mov r9, r2 ldrh r5, [r4, #108] adds r3, r5, #7 @@ -5486,20 +5561,20 @@ log2phys: ands r5, r5, r0 cmp r0, r3 uxth r5, r5 - bcc .L794 + bcc .L796 movw r2, #847 - ldr r1, .L807+4 - ldr r0, .L807+8 + ldr r1, .L809+4 + ldr r0, .L809+8 bl sftl_printk -.L794: +.L796: ldrh r2, [r4, #138] movs r3, #0 ldr r1, [r4, #2492] mov r10, #12 -.L795: +.L797: uxth r6, r3 cmp r6, r2 - bcc .L800 + bcc .L802 bl select_l2p_ram_region mul r10, r10, r0 ldr r3, [r4, #2492] @@ -5508,44 +5583,44 @@ log2phys: add r2, r3, r10 movw r3, #65535 cmp r1, r3 - beq .L801 + beq .L803 ldr r3, [r2, #4] cmp r3, #0 - bge .L801 + bge .L803 bl flush_l2p_region -.L801: +.L803: mov r1, r6 mov r0, r8 bl load_l2p_region - b .L796 -.L800: + b .L798 +.L802: adds r3, r3, #1 mla r0, r10, r3, r1 ldrh r0, [r0, #-12] cmp r0, r8 - bne .L795 -.L796: + bne .L797 +.L798: movs r3, #12 cmp r9, #0 - bne .L797 + bne .L799 ldr r2, [r4, #2492] mla r3, r3, r6, r2 ldr r3, [r3, #8] ldr r3, [r3, r5, lsl #2] str r3, [r7] -.L798: +.L800: ldr r2, [r4, #2492] movs r3, #12 mla r6, r3, r6, r2 ldr r3, [r6, #4] adds r2, r3, #1 - beq .L804 + beq .L806 adds r3, r3, #1 str r3, [r6, #4] -.L804: +.L806: movs r0, #0 pop {r4, r5, r6, r7, r8, r9, r10, pc} -.L797: +.L799: muls r3, r6, r3 ldr r2, [r4, #2492] ldr r1, [r7] @@ -5558,10 +5633,10 @@ log2phys: ldr r2, [r3, #4] orr r2, r2, #-2147483648 str r2, [r3, #4] - b .L798 -.L808: + b .L800 +.L810: .align 2 -.L807: +.L809: .word .LANCHOR0 .word .LANCHOR1+289 .word .LC1 @@ -5582,41 +5657,41 @@ FtlReUsePrevPpa: .save {r4, r5, r6, r7, lr} .pad #12 mov r6, r0 - ldr r5, .L819 + ldr r5, .L821 ubfx r0, r1, #10, #16 str r1, [sp, #4] bl P2V_block_in_plane ldr r2, [r5, #2324] mov r7, r0 ldrh r3, [r2, r0, lsl #1] - cbnz r3, .L810 + cbnz r3, .L812 ldr r4, [r5, #2340] - cbz r4, .L811 + cbz r4, .L813 ldr r1, [r5, #2316] mov ip, #6 - ldr r2, .L819+4 + ldr r2, .L821+4 movw lr, #65535 ldrh r0, [r5, #2344] subs r4, r4, r1 asrs r4, r4, #1 muls r4, r2, r4 uxth r4, r4 -.L812: +.L814: uxth r2, r3 cmp r0, r2 - bls .L811 + bls .L813 cmp r4, r7 - bne .L813 + bne .L815 mov r1, r4 - ldr r0, .L819+8 + ldr r0, .L821+8 bl List_remove_node ldrh r3, [r5, #2344] - cbnz r3, .L814 + cbnz r3, .L816 movw r2, #1737 - ldr r1, .L819+12 - ldr r0, .L819+16 + ldr r1, .L821+12 + ldr r0, .L821+16 bl sftl_printk -.L814: +.L816: ldrh r3, [r5, #2344] mov r0, r4 subs r3, r3, #1 @@ -5624,17 +5699,17 @@ FtlReUsePrevPpa: bl INSERT_DATA_LIST ldr r2, [r5, #2324] ldrh r3, [r2, r7, lsl #1] -.L810: +.L812: adds r3, r3, #1 strh r3, [r2, r7, lsl #1] @ movhi - b .L811 -.L813: + b .L813 +.L815: mul r4, ip, r4 adds r3, r3, #1 ldrh r4, [r1, r4] cmp r4, lr - bne .L812 -.L811: + bne .L814 +.L813: movs r2, #1 add r1, sp, #4 mov r0, r6 @@ -5642,9 +5717,9 @@ FtlReUsePrevPpa: add sp, sp, #12 @ sp needed pop {r4, r5, r6, r7, pc} -.L820: +.L822: .align 2 -.L819: +.L821: .word .LANCHOR0 .word -1431655765 .word .LANCHOR0+2340 @@ -5666,42 +5741,42 @@ ftl_scan_all_data: push {r4, r5, r6, r7, r8, lr} .save {r4, r5, r6, r7, r8, lr} movs r5, #0 - ldr r6, .L835 + ldr r6, .L837 .pad #32 sub sp, sp, #32 movs r1, #0 - ldr r8, .L835+16 + ldr r8, .L837+16 mov r4, r6 - ldr r0, .L835+4 + ldr r0, .L837+4 bl sftl_printk -.L822: +.L824: ldr r3, [r6, #2504] cmp r5, r3 - bcc .L828 + bcc .L830 add sp, sp, #32 @ sp needed pop {r4, r5, r6, r7, r8, pc} -.L828: +.L830: movs r2, #0 add r1, sp, #28 mov r0, r5 bl log2phys ubfx r3, r5, #0, #11 - cbnz r3, .L823 + cbnz r3, .L825 ldr r2, [sp, #28] mov r1, r5 mov r0, r8 bl sftl_printk -.L823: +.L825: ldr r3, [sp, #28] adds r2, r3, #1 - beq .L825 + beq .L827 str r3, [r4, #3268] movs r2, #0 ldr r3, [r4, #3284] movs r1, #1 ldr r7, [r4, #3288] - ldr r0, .L835+8 + ldr r0, .L837+8 str r3, [r4, #3272] str r5, [r4, #3280] str r7, [r4, #3276] @@ -5709,16 +5784,16 @@ ftl_scan_all_data: bl FlashReadPages ldr r3, [r4, #3264] cmp r3, #256 - beq .L826 + beq .L828 adds r3, r3, #1 - beq .L826 + beq .L828 ldr r3, [r7, #8] cmp r5, r3 - beq .L825 -.L826: + beq .L827 +.L828: ldr r2, [r4, #3272] ldr r3, [r4, #3276] - ldr r0, .L835+12 + ldr r0, .L837+12 ldr r1, [r2, #4] str r1, [sp, #16] mov r1, r5 @@ -5733,12 +5808,12 @@ ftl_scan_all_data: ldr r3, [r3] ldr r2, [r4, #3268] bl sftl_printk -.L825: +.L827: adds r5, r5, #1 - b .L822 -.L836: + b .L824 +.L838: .align 2 -.L835: +.L837: .word .LANCHOR0 .word .LC94 .word .LANCHOR0+3264 @@ -5757,7 +5832,7 @@ FtlReadRefresh: .fnstart @ args = 0, pretend = 0, frame = 88 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L850 + ldr r3, .L852 push {r4, r5, r6, lr} .save {r4, r5, r6, lr} .pad #88 @@ -5765,17 +5840,17 @@ FtlReadRefresh: mov r4, r3 ldr r0, [r3, #2716] cmp r0, #0 - beq .L838 + beq .L840 ldr r1, [r3, #2720] ldr r2, [r3, #2504] cmp r1, r2 - bcs .L839 + bcs .L841 mov r5, #2048 -.L844: +.L846: ldr r0, [r4, #2720] ldr r3, [r4, #2504] cmp r0, r3 - bcs .L841 + bcs .L843 movs r2, #0 mov r1, sp bl log2phys @@ -5784,10 +5859,10 @@ FtlReadRefresh: adds r1, r2, #1 add r3, r3, #1 str r3, [r4, #2720] - beq .L842 + beq .L844 str r3, [sp, #20] add r0, sp, #88 - ldr r3, .L850+4 + ldr r3, .L852+4 movs r1, #1 str r2, [sp, #8] movs r2, #0 @@ -5798,54 +5873,54 @@ FtlReadRefresh: bl FlashReadPages ldr r3, [sp, #4] cmp r3, #256 - bne .L841 + bne .L843 ldr r0, [sp] ubfx r0, r0, #10, #16 bl P2V_block_in_plane bl FtlGcRefreshBlock -.L841: +.L843: mov r0, #-1 -.L837: +.L839: add sp, sp, #88 @ sp needed pop {r4, r5, r6, pc} -.L842: +.L844: subs r5, r5, #1 - bne .L844 - b .L841 -.L839: + bne .L846 + b .L843 +.L841: ldr r2, [r3, #2508] movs r0, #0 str r0, [r3, #2716] str r0, [r3, #2720] str r2, [r3, #2712] - b .L837 -.L838: + b .L839 +.L840: ldr r1, [r3, #2508] ldr r6, [r3, #2712] add r2, r1, #1048576 cmp r6, r2 - bhi .L847 + bhi .L849 ldr r2, [r3, #2564] lsrs r5, r2, #10 mov r2, #33554432 asrs r2, r2, r5 add r2, r2, r6 cmp r1, r2 - bhi .L847 + bhi .L849 ldrb r3, [r3, #2296] @ zero_extendqisi2 cmp r3, #0 - bne .L837 -.L847: + bne .L839 +.L849: movs r3, #1 movs r0, #0 str r3, [r4, #2716] str r0, [r4, #2720] str r1, [r4, #2712] - b .L837 -.L851: + b .L839 +.L853: .align 2 -.L850: +.L852: .word .LANCHOR0 .word ftl_temp_buf .fnend @@ -5865,112 +5940,112 @@ ftl_check_vpc: .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} .pad #12 movs r4, #0 - ldr r6, .L876 - ldr r7, .L876+4 - ldr r1, .L876+8 + ldr r6, .L878 + ldr r7, .L878+4 + ldr r1, .L878+8 mov r5, r6 - ldr r0, .L876+12 + ldr r0, .L878+12 bl sftl_printk mov r1, #8192 - ldr r0, .L876+4 + ldr r0, .L878+4 bl __memzero -.L853: +.L855: ldr r3, [r6, #2504] cmp r4, r3 - bcc .L855 - ldr r8, .L876+4 + bcc .L857 + ldr r8, .L878+4 movs r4, #0 - ldr r10, .L876+24 + ldr r10, .L878+24 mov r7, r4 movw r9, #65535 -.L856: +.L858: ldrh r2, [r5, #40] uxth r3, r4 cmp r2, r3 - bhi .L858 + bhi .L860 ldr r4, [r5, #2340] - cbz r4, .L859 + cbz r4, .L861 ldr r3, [r5, #2316] movs r6, #0 ldrh r8, [r5, #2344] mov fp, #6 - ldr r9, .L876+4 + ldr r9, .L878+4 subs r4, r4, r3 - ldr r3, .L876+16 + ldr r3, .L878+16 asrs r4, r4, #1 - ldr r10, .L876+28 + ldr r10, .L878+28 muls r4, r3, r4 uxth r4, r4 -.L860: +.L862: uxth r3, r6 cmp r8, r3 - bls .L859 + bls .L861 ldr r3, [r5, #2324] ldrh r2, [r3, r4, lsl #1] - cbz r2, .L861 + cbz r2, .L863 movs r7, #1 ldrh r3, [r9, r4, lsl #1] mov r1, r4 mov r0, r10 bl sftl_printk -.L861: +.L863: mul r4, fp, r4 ldr r3, [r5, #2316] adds r6, r6, #1 ldrh r4, [r3, r4] movw r3, #65535 cmp r4, r3 - bne .L860 -.L859: - cbz r7, .L852 + bne .L862 +.L861: + cbz r7, .L854 movw r2, #2373 - ldr r1, .L876+8 - ldr r0, .L876+20 + ldr r1, .L878+8 + ldr r0, .L878+20 bl sftl_printk -.L852: +.L854: add sp, sp, #12 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L855: +.L857: movs r2, #0 add r1, sp, #4 mov r0, r4 bl log2phys ldr r0, [sp, #4] adds r3, r0, #1 - beq .L854 + beq .L856 ubfx r0, r0, #10, #16 bl P2V_block_in_plane ldrh r3, [r7, r0, lsl #1] adds r3, r3, #1 strh r3, [r7, r0, lsl #1] @ movhi -.L854: +.L856: adds r4, r4, #1 - b .L853 -.L858: + b .L855 +.L860: ldr r3, [r5, #2324] uxth r6, r4 ldrh r2, [r3, r6, lsl #1] ldrh r3, [r8, r6, lsl #1] cmp r2, r3 - beq .L857 + beq .L859 mov r1, r6 mov r0, r10 bl sftl_printk ldr r3, [r5, #2324] ldrh r3, [r3, r6, lsl #1] cmp r3, r9 - beq .L857 + beq .L859 ldrh r2, [r8, r6, lsl #1] cmp r2, r3 it hi movhi r7, #1 -.L857: +.L859: adds r4, r4, #1 - b .L856 -.L877: + b .L858 +.L879: .align 2 -.L876: +.L878: .word .LANCHOR0 .word check_vpc_table .word .LANCHOR1+314 @@ -5996,10 +6071,10 @@ FtlMapBlkWriteDump_data: .save {r4, r5, r6, lr} mov r6, r0 ldr r3, [r0, #36] - cbz r3, .L878 + cbz r3, .L880 ldrh r5, [r0, #6] movs r3, #0 - ldr r4, .L882 + ldr r4, .L884 ldr r2, [r0, #24] str r3, [r0, #36] subs r5, r5, #1 @@ -6010,27 +6085,27 @@ FtlMapBlkWriteDump_data: str r1, [r4, #3276] ldr r2, [r2, r5, lsl #2] str r2, [r4, #3268] - cbz r2, .L880 + cbz r2, .L882 movs r2, #1 add r0, r4, #3264 mov r1, r2 bl FlashReadPages -.L881: +.L883: ldr r2, [r4, #3272] mov r1, r5 mov r0, r6 pop {r4, r5, r6, lr} b FtlMapWritePage -.L880: +.L882: ldrh r2, [r4, #110] movs r1, #255 bl ftl_memset - b .L881 -.L878: + b .L883 +.L880: pop {r4, r5, r6, pc} -.L883: +.L885: .align 2 -.L882: +.L884: .word .LANCHOR0 .fnend .size FtlMapBlkWriteDump_data, .-FtlMapBlkWriteDump_data @@ -6048,7 +6123,7 @@ FtlScanSysBlk: push {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} movs r5, #0 - ldr r4, .L965 + ldr r4, .L967 mov r1, r5 .pad #20 sub sp, sp, #20 @@ -6078,10 +6153,10 @@ FtlScanSysBlk: str r3, [r4, #2576] str r3, [r4, #2580] str r3, [r4, #2584] -.L885: +.L887: ldrh r3, [r4, #42] cmp r3, r8 - bls .L927 + bls .L929 movs r5, #0 ldrh fp, [r4, #32] ldr r9, [r4, #3836] @@ -6090,11 +6165,11 @@ FtlScanSysBlk: mov r10, #20 ldr r2, [r4, #3176] ldrh r6, [r4, #112] - b .L928 -.L888: + b .L930 +.L890: str r3, [sp, #8] mov r1, r8 - ldr r3, .L965+4 + ldr r3, .L967+4 str r2, [sp, #12] ldrb r0, [r3, r5] @ zero_extendqisi2 bl V2P_block @@ -6102,7 +6177,7 @@ FtlScanSysBlk: bl FtlBbmIsBadBlock ldr r3, [sp, #8] ldr r2, [sp, #12] - cbnz r0, .L886 + cbnz r0, .L888 ldr r1, [sp, #4] mla r0, r10, r7, r9 lsls r1, r1, #10 @@ -6117,27 +6192,27 @@ FtlScanSysBlk: bic r1, r1, #3 add r1, r1, r2 str r1, [r0, #12] -.L886: +.L888: adds r5, r5, #1 -.L928: +.L930: uxth r1, r5 cmp fp, r1 - bhi .L888 - cbnz r7, .L889 -.L926: + bhi .L890 + cbnz r7, .L891 +.L928: add r8, r8, #1 uxth r8, r8 - b .L885 -.L889: + b .L887 +.L891: mov r0, r9 mov r9, #0 movs r2, #1 mov r1, r7 bl FlashReadPages -.L890: +.L892: uxth r3, r9 cmp r7, r3 - bls .L926 + bls .L928 movs r3, #20 mul r10, r3, r9 ldr r3, [r4, #3836] @@ -6147,10 +6222,10 @@ FtlScanSysBlk: ldr r6, [r2, #12] adds r3, r3, #1 ubfx r5, r5, #10, #16 - bne .L893 + bne .L895 mov fp, #16 movw r3, #65535 -.L895: +.L897: ldr r0, [r4, #3836] str r3, [sp, #4] add r0, r0, r10 @@ -6163,71 +6238,71 @@ FtlScanSysBlk: ldrh r2, [r6] ldr r3, [sp, #4] cmp r2, r3 - bne .L892 + bne .L894 ldr r3, [r4, #3836] mov r2, #-1 str r2, [r3, r10] ldr r3, [r4, #3836] ldr r3, [r3, r10] cmp r3, r2 - bne .L893 -.L894: + bne .L895 +.L896: movs r1, #0 mov r0, r5 bl FtlFreeSysBlkQueueIn - b .L898 -.L892: + b .L900 +.L894: ldr r2, [r4, #3836] ldr r2, [r2, r10] adds r2, r2, #1 - bne .L893 + bne .L895 add fp, fp, #-1 uxth fp, fp cmp fp, #0 - bne .L895 - b .L894 -.L893: + bne .L897 + b .L896 +.L895: ldr r2, [r4, #2540] ldr r3, [r6, #4] adds r1, r2, #1 - beq .L896 + beq .L898 cmp r2, r3 - bhi .L897 -.L896: + bhi .L899 +.L898: adds r2, r3, #1 itt ne addne r2, r3, #1 strne r2, [r4, #2540] -.L897: +.L899: ldrh r2, [r6] movw r1, #61604 cmp r2, r1 - beq .L899 - bhi .L900 + beq .L901 + bhi .L902 movw r3, #61574 cmp r2, r3 - beq .L901 -.L898: - add r9, r9, #1 - b .L890 + beq .L903 .L900: + add r9, r9, #1 + b .L892 +.L902: movw r3, #61634 cmp r2, r3 - beq .L902 + beq .L904 movw r3, #65535 cmp r2, r3 - beq .L894 - b .L898 -.L902: + beq .L896 + b .L900 +.L904: ldrh r2, [r4, #3952] ldr r3, [r4, #128] cmp r2, r3 - bls .L904 + bls .L906 mov r2, #1256 - ldr r1, .L965+8 - ldr r0, .L965+12 + ldr r1, .L967+8 + ldr r0, .L967+12 bl sftl_printk -.L904: +.L906: ldr r1, [r4, #128] ldrh r0, [r4, #3952] ldr r10, [r4, #3896] @@ -6237,58 +6312,58 @@ FtlScanSysBlk: add ip, ip, #-1 sxth r3, r3 sxth ip, ip -.L905: +.L907: cmp r3, ip - bgt .L911 + bgt .L913 cmp r3, #0 - bge .L943 - b .L898 -.L911: + bge .L945 + b .L900 +.L913: ldr r2, [r6, #4] lsl fp, r3, #2 mov lr, r2 ldr r2, [r10, r3, lsl #2] cmp lr, r2 - bls .L906 + bls .L908 ldr r2, [r10] - cbnz r2, .L907 + cbnz r2, .L909 cmp r1, r0 itt ne addne r0, r0, #1 strhne r0, [r4, #3952] @ movhi -.L907: +.L909: uxth ip, r3 movs r2, #0 -.L908: +.L910: uxth r0, r2 sxth r1, r2 cmp ip, r0 - bhi .L909 + bhi .L911 ldr r2, [r4, #3896] cmp r3, #0 ldr r1, [r6, #4] str r1, [r2, fp] ldr r2, [r4, #3872] strh r5, [r2, r3, lsl #1] @ movhi - blt .L898 + blt .L900 ldrh r0, [r4, #3952] ldr r2, [r4, #128] subs r2, r2, r0 subs r2, r2, #1 sxth r2, r2 cmp r3, r2 - bgt .L898 -.L943: + bgt .L900 +.L945: ldr r2, [r4, #3896] adds r0, r0, #1 ldr r1, [r6, #4] strh r0, [r4, #3952] @ movhi str r1, [r2, r3, lsl #2] ldr r2, [r4, #3872] -.L963: +.L965: strh r5, [r2, r3, lsl #1] @ movhi - b .L898 -.L909: + b .L900 +.L911: ldr r0, [r4, #3896] adds r2, r2, #1 add lr, r0, r1, lsl #2 @@ -6298,79 +6373,79 @@ FtlScanSysBlk: add lr, r0, r1, lsl #1 ldrh lr, [lr, #2] strh lr, [r0, r1, lsl #1] @ movhi - b .L908 -.L906: + b .L910 +.L908: subs r3, r3, #1 sxth r3, r3 - b .L905 -.L966: + b .L907 +.L968: .align 2 -.L965: +.L967: .word .LANCHOR0 .word .LANCHOR0+60 .word .LANCHOR1+328 .word .LC1 -.L901: +.L903: ldrh r2, [r4, #144] ldrh r3, [r4, #120] cmp r2, r3 - bls .L914 + bls .L916 movw r2, #1297 - ldr r1, .L967 - ldr r0, .L967+4 + ldr r1, .L969 + ldr r0, .L969+4 bl sftl_printk -.L914: +.L916: ldrh lr, [r4, #120] ldrh r0, [r4, #144] ldr r10, [r4, #3884] add ip, lr, #-1 sxth r3, ip sub ip, ip, r0 -.L915: +.L917: cmp r3, ip - ble .L920 + ble .L922 ldr r2, [r6, #4] lsl fp, r3, #2 ldr r1, [r10, r3, lsl #2] cmp r2, r1 - bls .L916 + bls .L918 ldr r2, [r10] - cbnz r2, .L917 + cbnz r2, .L919 cmp lr, r0 itt ne addne r0, r0, #1 strhne r0, [r4, #144] @ movhi -.L917: +.L919: uxth ip, r3 movs r2, #0 -.L918: +.L920: uxth r0, r2 sxth r1, r2 cmp ip, r0 - bhi .L919 + bhi .L921 ldr r2, [r4, #3884] ldr r1, [r6, #4] str r1, [r2, fp] ldr r2, [r4, #148] strh r5, [r2, r3, lsl #1] @ movhi -.L920: +.L922: cmp r3, #0 - blt .L898 + blt .L900 ldrh r2, [r4, #120] ldrh r1, [r4, #144] subs r2, r2, #1 subs r2, r2, r1 sxth r2, r2 cmp r3, r2 - bgt .L898 + bgt .L900 adds r1, r1, #1 ldr r2, [r4, #3884] strh r1, [r4, #144] @ movhi ldr r1, [r6, #4] str r1, [r2, r3, lsl #2] ldr r2, [r4, #148] - b .L963 -.L919: + b .L965 +.L921: ldr r0, [r4, #3884] adds r2, r2, #1 add lr, r0, r1, lsl #2 @@ -6380,81 +6455,81 @@ FtlScanSysBlk: add lr, r0, r1, lsl #1 ldrh lr, [lr, #2] strh lr, [r0, r1, lsl #1] @ movhi - b .L918 -.L916: + b .L920 +.L918: subs r3, r3, #1 sxth r3, r3 - b .L915 -.L899: + b .L917 +.L901: ldrh r1, [r4, #2576] movw r2, #65535 cmp r1, r2 - bne .L922 + bne .L924 strh r5, [r4, #2576] @ movhi -.L964: +.L966: str r3, [r4, #2584] - b .L898 -.L922: + b .L900 +.L924: ldrh r0, [r4, #2580] cmp r0, r2 - beq .L923 + beq .L925 movs r1, #1 bl FtlFreeSysBlkQueueIn -.L923: +.L925: ldr r2, [r4, #2584] ldr r3, [r6, #4] cmp r2, r3 - bcs .L924 + bcs .L926 ldrh r3, [r4, #2576] strh r5, [r4, #2576] @ movhi strh r3, [r4, #2580] @ movhi ldr r3, [r6, #4] - b .L964 -.L924: + b .L966 +.L926: strh r5, [r4, #2580] @ movhi - b .L898 -.L927: + b .L900 +.L929: ldr r1, [r4, #3872] ldrh r3, [r1] - cbz r3, .L929 -.L932: + cbz r3, .L931 +.L934: ldr r1, [r4, #148] ldrh r2, [r1] cmp r2, #0 - beq .L930 -.L931: + beq .L932 +.L933: ldrh r2, [r4, #3952] ldr r3, [r4, #128] cmp r2, r3 - bls .L962 + bls .L964 movw r2, #1422 - ldr r1, .L967 - ldr r0, .L967+4 + ldr r1, .L969 + ldr r0, .L969+4 bl sftl_printk -.L962: +.L964: movs r0, #0 add sp, sp, #20 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L929: +.L931: ldrh r2, [r4, #3952] cmp r2, #0 - beq .L932 + beq .L934 ldr r0, [r4, #128] -.L933: +.L935: sxth r2, r3 cmp r2, r0 - bcs .L932 + bcs .L934 ldrh r5, [r1, r2, lsl #1] adds r3, r3, #1 cmp r5, #0 - beq .L933 + beq .L935 mov r3, r2 movs r5, #0 -.L934: +.L936: ldr r1, [r4, #128] cmp r3, r1 - bcs .L932 + bcs .L934 ldr r1, [r4, #3872] subs r0, r3, r2 ldrh r6, [r1, r3, lsl #1] @@ -6466,26 +6541,26 @@ FtlScanSysBlk: strh r5, [r1, r3, lsl #1] @ movhi adds r3, r3, #1 sxth r3, r3 - b .L934 -.L930: + b .L936 +.L932: ldrh r3, [r4, #144] cmp r3, #0 - beq .L931 + beq .L933 ldrh r0, [r4, #120] -.L939: +.L941: sxth r3, r2 cmp r3, r0 mov r5, r3 - bge .L931 + bge .L933 ldrh r6, [r1, r3, lsl #1] adds r2, r2, #1 cmp r6, #0 - beq .L939 + beq .L941 movs r0, #0 -.L940: +.L942: ldrh r2, [r4, #120] cmp r3, r2 - bge .L931 + bge .L933 ldr r2, [r4, #148] subs r1, r3, r5 ldrh r6, [r2, r3, lsl #1] @@ -6497,10 +6572,10 @@ FtlScanSysBlk: strh r0, [r2, r3, lsl #1] @ movhi adds r3, r3, #1 sxth r3, r3 - b .L940 -.L968: + b .L942 +.L970: .align 2 -.L967: +.L969: .word .LANCHOR1+328 .word .LC1 .fnend @@ -6526,7 +6601,7 @@ FtlMapTblRecovery: ldrh r10, [r0, #6] str r3, [sp, #4] ldr r3, [r0, #16] - ldr r5, .L994 + ldr r5, .L996 ldr r9, [r0, #12] lsl r2, r10, #2 str r3, [sp, #12] @@ -6550,14 +6625,14 @@ FtlMapTblRecovery: ldr r3, [sp, #8] add fp, r3, #-1 mov r3, r5 -.L970: +.L972: ldr r1, [sp, #8] sxth r2, r8 cmp r2, r1 - bge .L988 + bge .L990 cmp r2, fp lsl r7, r2, #1 - bne .L971 + bne .L973 ldrh r0, [r9, fp, lsl #1] movs r1, #1 bl FtlGetLastWrittenPage @@ -6565,27 +6640,27 @@ FtlMapTblRecovery: add r7, r7, r9 strh r8, [r4] @ movhi sxth r9, r0 - ldr r8, .L994+4 + ldr r8, .L996+4 adds r0, r0, #1 strh r0, [r4, #2] @ movhi add r9, r9, #1 ldr r3, [r3, fp, lsl #2] mov fp, #0 str r3, [r4, #28] -.L972: +.L974: sxth r2, fp cmp r2, r9 - blt .L975 -.L988: + blt .L977 +.L990: mov r0, r4 bl ftl_free_no_use_map_blk ldrh r2, [r4, #2] ldrh r3, [r5, #104] cmp r2, r3 - bne .L977 + bne .L979 mov r0, r4 bl ftl_map_blk_alloc_new_blk -.L977: +.L979: mov r0, r4 bl ftl_map_blk_gc mov r0, r4 @@ -6594,7 +6669,7 @@ FtlMapTblRecovery: add sp, sp, #28 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L975: +.L977: ldrh r1, [r7] mov r0, r8 orr r2, r2, r1, lsl #10 @@ -6604,29 +6679,29 @@ FtlMapTblRecovery: bl FlashReadPages ldr r2, [r5, #3264] adds r2, r2, #1 - beq .L973 + beq .L975 ldrh r2, [r6, #8] cmp r10, r2 - bls .L974 + bls .L976 ldrh r0, [r6] ldrh r1, [r4, #4] cmp r0, r1 - bne .L974 + bne .L976 ldr r1, [r5, #3268] ldr r3, [sp, #4] str r1, [r3, r2, lsl #2] -.L974: +.L976: add fp, fp, #1 - b .L972 -.L973: + b .L974 +.L975: ldrh r2, [r7] strh r2, [r4, #40] @ movhi - b .L974 -.L971: + b .L976 +.L973: ldr r1, [r5, #3284] str r3, [sp, #20] add r3, r9, r7 - ldr r0, .L994+4 + ldr r0, .L996+4 str r1, [r5, #3272] ldrh r1, [r9, r2, lsl #1] ldrh r2, [r5, #104] @@ -6640,24 +6715,24 @@ FtlMapTblRecovery: ldr r2, [r5, #3264] ldr r3, [sp, #20] adds r2, r2, #1 - beq .L990 + beq .L992 ldrh r1, [r6] ldrh r2, [r4, #4] cmp r1, r2 - bne .L990 + bne .L992 ldrh r1, [r6, #8] movw r2, #64245 cmp r1, r2 - beq .L979 -.L990: + beq .L981 +.L992: movs r7, #0 -.L980: +.L982: ldrh r1, [r3, #104] sxth r2, r7 cmp r2, r1 - bge .L986 + bge .L988 ldr r1, [sp, #16] - ldr r0, .L994+4 + ldr r0, .L996+4 str r3, [sp, #20] ldrh r1, [r1] orr r2, r2, r1, lsl #10 @@ -6668,10 +6743,10 @@ FtlMapTblRecovery: ldr r3, [sp, #20] ldr r2, [r3, #3264] adds r2, r2, #1 - beq .L984 + beq .L986 ldrh r2, [r6, #8] cmp r10, r2 - bls .L984 + bls .L986 ldrh r0, [r6] ldrh r1, [r4, #4] cmp r0, r1 @@ -6679,37 +6754,37 @@ FtlMapTblRecovery: ldreq r1, [r3, #3268] ldreq r0, [sp, #4] streq r1, [r0, r2, lsl #2] -.L984: +.L986: adds r7, r7, #1 - b .L980 -.L979: + b .L982 +.L981: movs r0, #0 mov ip, #4 -.L981: +.L983: ldrh r1, [r5, #104] sxth r2, r0 subs r1, r1, #1 cmp r2, r1 - blt .L983 -.L986: + blt .L985 +.L988: add r8, r8, #1 - b .L970 -.L983: + b .L972 +.L985: ldr r7, [r5, #3284] ldr r1, [r7, r2, lsl #3] uxth lr, r1 cmp r10, lr - bls .L982 + bls .L984 add r2, ip, r2, lsl #3 ldr r2, [r7, r2] ldr r7, [sp, #4] str r2, [r7, lr, lsl #2] -.L982: +.L984: adds r0, r0, #1 - b .L981 -.L995: + b .L983 +.L997: .align 2 -.L994: +.L996: .word .LANCHOR0 .word .LANCHOR0+3264 .fnend @@ -6725,7 +6800,7 @@ FtlLoadVonderInfo: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r0, .L997 + ldr r0, .L999 push {r3, lr} .save {r3, lr} ldrh r3, [r0, #120] @@ -6750,9 +6825,9 @@ FtlLoadVonderInfo: bl FtlMapTblRecovery movs r0, #0 pop {r3, pc} -.L998: +.L1000: .align 2 -.L997: +.L999: .word .LANCHOR0 .fnend .size FtlLoadVonderInfo, .-FtlLoadVonderInfo @@ -6770,7 +6845,7 @@ FtlL2PDataInit: push {r3, r4, r5, r6, r7, lr} .save {r3, r4, r5, r6, r7, lr} movs r1, #0 - ldr r4, .L1002 + ldr r4, .L1004 movs r6, #12 ldr r2, [r4, #128] ldr r0, [r4, #3876] @@ -6786,12 +6861,12 @@ FtlL2PDataInit: mov r3, r4 movw r1, #65535 mov r7, r2 -.L1000: +.L1002: ldrh r4, [r3, #138] uxth r0, r2 adds r5, r2, #1 cmp r4, r0 - bhi .L1001 + bhi .L1003 ldr r2, [r3, #128] strh r1, [r3, #3910] @ movhi strh r1, [r3, #3908] @ movhi @@ -6812,7 +6887,7 @@ FtlL2PDataInit: ldr r2, [r3, #3892] str r2, [r3, #3932] pop {r3, r4, r5, r6, r7, pc} -.L1001: +.L1003: uxth r2, r2 ldr r0, [r3, #2492] mul r4, r6, r2 @@ -6828,10 +6903,10 @@ FtlL2PDataInit: add r2, r2, r4 str r2, [r0, #8] mov r2, r5 - b .L1000 -.L1003: + b .L1002 +.L1005: .align 2 -.L1002: +.L1004: .word .LANCHOR0 .fnend .size FtlL2PDataInit, .-FtlL2PDataInit @@ -6849,13 +6924,13 @@ FtlLoadMapInfo: push {r3, lr} .save {r3, lr} bl FtlL2PDataInit - ldr r0, .L1005 + ldr r0, .L1007 bl FtlMapTblRecovery movs r0, #0 pop {r3, pc} -.L1006: +.L1008: .align 2 -.L1005: +.L1007: .word .LANCHOR0+3908 .fnend .size FtlLoadMapInfo, .-FtlLoadMapInfo @@ -6873,7 +6948,7 @@ FtlVariablesInit: push {r3, r4, r5, lr} .save {r3, r4, r5, lr} movs r5, #0 - ldr r4, .L1008 + ldr r4, .L1010 movw r3, #65535 mov r1, r5 ldrh r2, [r4, #120] @@ -6906,9 +6981,9 @@ FtlVariablesInit: bl FtlL2PDataInit mov r0, r5 pop {r3, r4, r5, pc} -.L1009: +.L1011: .align 2 -.L1008: +.L1010: .word .LANCHOR0 .fnend .size FtlVariablesInit, .-FtlVariablesInit @@ -6926,7 +7001,7 @@ SupperBlkListInit: push {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} movs r5, #0 - ldr r4, .L1021 + ldr r4, .L1023 movs r2, #6 mov r9, r5 mov r6, r5 @@ -6944,18 +7019,18 @@ SupperBlkListInit: str r5, [r4, #2332] strh r5, [r4, #2336] @ movhi strh r5, [r4, #2344] @ movhi -.L1011: +.L1013: ldrh r3, [r4, #40] uxth r8, r5 cmp r8, r3 - bcs .L1018 + bcs .L1020 ldrh r3, [r4, #102] ldrh r2, [r4, #32] str r3, [sp, #4] movs r3, #0 mov r7, r3 - b .L1019 -.L1013: + b .L1021 +.L1015: ldrb r0, [r10, r3] @ zero_extendqisi2 mov r1, r8 str r2, [sp, #12] @@ -6964,76 +7039,76 @@ SupperBlkListInit: bl FtlBbmIsBadBlock ldr r3, [sp, #8] ldr r2, [sp, #12] - cbnz r0, .L1012 + cbnz r0, .L1014 ldr r1, [sp, #4] add r7, r7, r1 uxth r7, r7 -.L1012: +.L1014: adds r3, r3, #1 -.L1019: +.L1021: uxth r1, r3 cmp r2, r1 - bhi .L1013 + bhi .L1015 uxth r3, r5 - cbz r7, .L1014 + cbz r7, .L1016 mov r1, r7 str r3, [sp, #4] mov r0, #32768 bl __aeabi_idiv ldr r3, [sp, #4] uxth r7, r0 -.L1015: +.L1017: ldr r1, [r4, #2316] movs r2, #6 mla r2, r2, r3, r1 strh r7, [r2, #4] @ movhi ldrh r2, [r4, #2348] cmp r2, r8 - beq .L1016 + beq .L1018 ldrh r2, [r4, #2396] cmp r2, r8 - beq .L1016 + beq .L1018 ldrh r2, [r4, #2444] cmp r2, r8 - beq .L1016 + beq .L1018 ldr r2, [r4, #2324] ldrh r3, [r2, r3, lsl #1] - cbnz r3, .L1017 + cbnz r3, .L1019 add r9, r9, #1 mov r0, r8 uxth r9, r9 bl INSERT_FREE_LIST -.L1016: +.L1018: adds r5, r5, #1 - b .L1011 -.L1014: + b .L1013 +.L1016: ldr r2, [r4, #2324] strh fp, [r2, r3, lsl #1] @ movhi - b .L1015 -.L1017: + b .L1017 +.L1019: adds r6, r6, #1 mov r0, r8 uxth r6, r6 bl INSERT_DATA_LIST - b .L1016 -.L1018: + b .L1018 +.L1020: strh r6, [r4, #2336] @ movhi add r6, r6, r9 cmp r6, r3 strh r9, [r4, #2344] @ movhi - ble .L1020 + ble .L1022 movw r2, #2206 - ldr r1, .L1021+4 - ldr r0, .L1021+8 + ldr r1, .L1023+4 + ldr r0, .L1023+8 bl sftl_printk -.L1020: +.L1022: movs r0, #0 add sp, sp, #20 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1022: +.L1024: .align 2 -.L1021: +.L1023: .word .LANCHOR0 .word .LANCHOR1+342 .word .LC1 @@ -7053,7 +7128,7 @@ FtlGcPageVarInit: push {r4, lr} .save {r4, lr} movs r3, #0 - ldr r4, .L1024 + ldr r4, .L1026 movs r1, #255 ldrh r2, [r4, #106] ldr r0, [r4, #3188] @@ -7069,9 +7144,9 @@ FtlGcPageVarInit: bl ftl_memset pop {r4, lr} b FtlGcBufInit -.L1025: +.L1027: .align 2 -.L1024: +.L1026: .word .LANCHOR0 .fnend .size FtlGcPageVarInit, .-FtlGcPageVarInit @@ -7086,7 +7161,7 @@ FtlGcScanTempBlk: .fnstart @ args = 0, pretend = 0, frame = 24 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L1051 + ldr r3, .L1053 push {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} .pad #28 @@ -7096,30 +7171,30 @@ FtlGcScanTempBlk: ldrh r4, [r3, #4] movw r3, #65535 cmp r4, r3 - beq .L1045 - cbnz r4, .L1027 -.L1028: + beq .L1047 + cbnz r4, .L1029 +.L1030: bl FtlGcPageVarInit - b .L1029 -.L1045: + b .L1031 +.L1047: movs r4, #0 -.L1027: - ldr r3, .L1051+4 +.L1029: + ldr r3, .L1053+4 ldr r2, [sp, #8] ldrh r3, [r3, #102] cmp r3, r2 - beq .L1028 -.L1029: + beq .L1030 +.L1031: mov fp, #0 movw r8, #65535 -.L1039: +.L1041: ldrh r3, [r7] movs r0, #0 strb r0, [r7, #8] cmp r3, r8 - beq .L1030 - ldr r5, .L1051+4 -.L1042: + beq .L1032 + ldr r5, .L1053+4 +.L1044: ldr r3, [r5, #3836] movs r2, #0 ldrh ip, [r5, #32] @@ -7134,35 +7209,35 @@ FtlGcScanTempBlk: str r3, [sp, #16] ldrh r3, [r5, #112] str r3, [sp, #20] -.L1031: +.L1033: uxth r3, r2 cmp ip, r3 - bhi .L1035 + bhi .L1037 mov r9, #0 movs r2, #0 mov r1, r6 ldr r0, [sp, #4] bl FlashReadPages -.L1036: +.L1038: uxth r3, r9 cmp r6, r3 - bhi .L1040 + bhi .L1042 ldr r3, [sp, #8] add fp, fp, #1 adds r4, r4, #1 uxth r4, r4 cmp r3, fp - bls .L1041 -.L1043: + bls .L1043 +.L1045: ldrh r3, [r5, #102] cmp r3, r4 - bhi .L1042 + bhi .L1044 movs r0, #0 - b .L1030 -.L1035: + b .L1032 +.L1037: ldrh r3, [lr], #2 cmp r3, r8 - beq .L1032 + beq .L1034 ldr r1, [sp, #4] orr r3, r4, r3, lsl #10 mla r1, r9, r6, r1 @@ -7185,10 +7260,10 @@ FtlGcScanTempBlk: str r0, [r1, #8] add r3, r3, r10 str r3, [r1, #12] -.L1032: +.L1034: adds r2, r2, #1 - b .L1031 -.L1040: + b .L1033 +.L1042: movs r3, #20 ldr r2, [r5, #3836] mul r10, r3, r9 @@ -7201,18 +7276,18 @@ FtlGcScanTempBlk: bl P2V_plane ldr r2, [sp, #16] ldr r2, [r2, r10] - cbnz r2, .L1037 + cbnz r2, .L1039 ldr r3, [sp, #12] add r9, r9, #1 ldr r1, [sp, #4] ldr r3, [r3, #12] ldrh r2, [r3] cmp r2, r8 - bne .L1038 + bne .L1040 movs r3, #1 str r3, [r5, #4008] -.L1030: - ldr r3, .L1051 +.L1032: + ldr r3, .L1053 movw r2, #65535 strb r0, [r7, #6] mov r1, r4 @@ -7221,13 +7296,13 @@ FtlGcScanTempBlk: mov r2, r0 mov r0, r7 bl ftl_sb_update_avl_pages - b .L1044 -.L1038: + b .L1046 +.L1040: ldr r2, [r3, #8] ldr r0, [r3, #12] bl FtlGcUpdatePage - b .L1036 -.L1037: + b .L1038 +.L1039: ldrh r2, [r7] movs r4, #0 ldr r3, [r5, #2324] @@ -7236,25 +7311,25 @@ FtlGcScanTempBlk: bl INSERT_FREE_LIST strh r8, [r7] @ movhi bl FtlGcPageVarInit - b .L1039 -.L1041: - ldr r2, .L1051 + b .L1041 +.L1043: + ldr r2, .L1053 ldrh r3, [r2, #4] cmp r3, r8 - beq .L1043 + beq .L1045 add r3, r3, fp strh r3, [r2, #4] @ movhi ldrh r3, [r5, #102] cmp r3, r4 - bls .L1043 -.L1044: + bls .L1045 +.L1046: mov r0, #-1 add sp, sp, #28 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1052: +.L1054: .align 2 -.L1051: +.L1053: .word .LANCHOR2 .word .LANCHOR0 .fnend @@ -7289,7 +7364,7 @@ FtlBbmTblFlush: .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} .pad #12 movs r5, #0 - ldr r4, .L1063 + ldr r4, .L1065 movs r1, #0 ldr r0, [r4, #3284] add r6, r4, #176 @@ -7298,18 +7373,18 @@ FtlBbmTblFlush: str r0, [r4, #3272] str r3, [r4, #3276] bl ftl_memset -.L1055: +.L1057: ldrh r3, [r4, #54] cmp r5, r3 - blt .L1056 + blt .L1058 ldr r6, [r4, #3276] movs r2, #16 movs r1, #255 - ldr r9, .L1063+12 - ldr r8, .L1063+4 + ldr r9, .L1065+12 + ldr r8, .L1065+4 movs r5, #0 mov r0, r6 - ldr r10, .L1063+16 + ldr r10, .L1065+16 bl memset movw r3, #61649 mov r7, r5 @@ -7324,7 +7399,7 @@ FtlBbmTblFlush: strh r3, [r6, #10] @ movhi ldr r3, [r4, #28] strh r3, [r6, #12] @ movhi -.L1057: +.L1059: ldr r3, [r4, #3284] mov fp, #0 ldrh r1, [r4, #152] @@ -7341,7 +7416,7 @@ FtlBbmTblFlush: mov r0, r9 bl sftl_printk movs r3, #1 - ldr r0, .L1063+4 + ldr r0, .L1065+4 mov r2, r3 mov r1, r3 bl FlashProgPages @@ -7349,7 +7424,7 @@ FtlBbmTblFlush: ldrh r2, [r4, #154] subs r3, r3, #1 cmp r2, r3 - blt .L1058 + blt .L1060 ldr r3, [r4, #160] ldrh r2, [r4, #152] ldr r0, [r4, #3804] @@ -7372,27 +7447,27 @@ FtlBbmTblFlush: mov r2, r3 mov r1, r3 bl FlashProgPages -.L1058: +.L1060: ldrh r3, [r4, #154] adds r3, r3, #1 strh r3, [r4, #154] @ movhi ldr r3, [r4, #3264] adds r3, r3, #1 - bne .L1059 + bne .L1061 adds r5, r5, #1 ldr r1, [r4, #3268] uxth r5, r5 mov r0, r10 bl sftl_printk cmp r5, #3 - bls .L1057 + bls .L1059 mov r2, r5 ldr r1, [r4, #3268] - ldr r0, .L1063+8 + ldr r0, .L1065+8 bl sftl_printk -.L1061: - b .L1061 -.L1056: +.L1063: + b .L1063 +.L1058: ldrh r2, [r4, #3904] ldr r3, [r4, #3272] ldr r1, [r6, #4]! @@ -7401,20 +7476,20 @@ FtlBbmTblFlush: adds r5, r5, #1 add r0, r3, r0, lsl #2 bl ftl_memcpy - b .L1055 -.L1062: - movs r7, #1 b .L1057 -.L1059: +.L1064: + movs r7, #1 + b .L1059 +.L1061: cmp r7, #0 - beq .L1062 + beq .L1064 movs r0, #0 add sp, sp, #12 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1064: +.L1066: .align 2 -.L1063: +.L1065: .word .LANCHOR0 .word .LANCHOR0+3264 .word .LC102 @@ -7436,28 +7511,28 @@ allocate_data_superblock: push {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} mov r5, r0 - ldr r4, .L1100 + ldr r4, .L1102 .pad #20 sub sp, sp, #20 - ldr r9, .L1100+20 -.L1066: - ldr r3, .L1100 - ldr r2, .L1100 + ldr r9, .L1102+20 +.L1068: + ldr r3, .L1102 + ldr r2, .L1102 ldrh r3, [r3, #2344] ldrh r2, [r2, #2336] add r3, r3, r2 - ldr r2, .L1100 + ldr r2, .L1102 ldrh r2, [r2, #40] cmp r3, r2 - ble .L1067 + ble .L1069 movw r2, #2654 mov r1, r9 - ldr r0, .L1100+4 + ldr r0, .L1102+4 bl sftl_printk -.L1067: - ldr r3, .L1100+8 +.L1069: + ldr r3, .L1102+8 cmp r5, r3 - bne .L1092 + bne .L1094 ldrh r3, [r4, #2344] ldr r1, [r4, #3160] mul r2, r1, r3 @@ -7465,21 +7540,21 @@ allocate_data_superblock: adds r1, r1, #1 add r1, r1, r2, lsr #2 uxth r1, r1 - cbz r1, .L1068 + cbz r1, .L1070 subs r1, r1, #1 uxth r1, r1 -.L1068: - ldr r0, .L1100+12 +.L1070: + ldr r0, .L1102+12 bl List_pop_index_node ldrh r3, [r4, #2344] mov r6, r0 uxth r8, r0 - cbnz r3, .L1069 + cbnz r3, .L1071 movw r2, #2663 mov r1, r9 - ldr r0, .L1100+4 + ldr r0, .L1102+4 bl sftl_printk -.L1069: +.L1071: ldrh r3, [r4, #2344] mov r0, r5 subs r3, r3, #1 @@ -7487,7 +7562,7 @@ allocate_data_superblock: strh r8, [r5] @ movhi bl make_superblock ldrb r3, [r5, #7] @ zero_extendqisi2 - cbnz r3, .L1070 + cbnz r3, .L1072 ldr r3, [r4, #2324] uxth r6, r6 movw r2, #65535 @@ -7499,27 +7574,27 @@ allocate_data_superblock: add r3, r3, r2 ldrh r2, [r4, #40] cmp r3, r2 - ble .L1066 + ble .L1068 movw r2, #2674 mov r1, r9 - ldr r0, .L1100+4 + ldr r0, .L1102+4 bl sftl_printk - b .L1066 -.L1092: - movs r1, #0 b .L1068 -.L1070: +.L1094: + movs r1, #0 + b .L1070 +.L1072: ldrh r2, [r4, #2336] ldrh r3, [r4, #2344] add r3, r3, r2 ldrh r2, [r4, #40] cmp r3, r2 - ble .L1072 + ble .L1074 movw r2, #2677 mov r1, r9 - ldr r0, .L1100+4 + ldr r0, .L1102+4 bl sftl_printk -.L1072: +.L1074: ldr r1, [r4, #3804] mov r10, #20 ldrh r2, [r4, #32] @@ -7530,35 +7605,35 @@ allocate_data_superblock: mov ip, r7 mla r2, r10, r2, r1 str r2, [sp, #4] -.L1073: +.L1075: ldr r2, [sp, #4] cmp r2, r3 - bne .L1075 - cbnz r7, .L1076 + bne .L1077 + cbnz r7, .L1078 mov r2, #2688 mov r1, r9 - ldr r0, .L1100+4 + ldr r0, .L1102+4 bl sftl_printk -.L1076: +.L1078: ldrh r3, [r4, #2588] cmp r3, r8 - bne .L1077 + bne .L1079 movw r2, #2690 mov r1, r9 - ldr r0, .L1100+4 + ldr r0, .L1102+4 bl sftl_printk -.L1077: +.L1079: ldrb r3, [r5, #8] @ zero_extendqisi2 uxth r6, r6 ldr r2, [r4, #2328] cmp r3, #0 - bne .L1078 + bne .L1080 ldrh r3, [r2, r6, lsl #1] cmp r3, #0 - beq .L1079 + beq .L1081 ldrh r1, [r4, #92] add r3, r3, r1 -.L1099: +.L1101: strh r3, [r2, r6, lsl #1] @ movhi movs r1, #0 ldr r3, [r4, #2548] @@ -7566,7 +7641,7 @@ allocate_data_superblock: adds r3, r3, #1 str r3, [r4, #2548] bl ftl_set_blk_mode -.L1081: +.L1083: ldr r3, [r4, #2328] ldr r2, [r4, #2564] ldrh r0, [r4, #92] @@ -7583,17 +7658,17 @@ allocate_data_superblock: ldr r1, [r4, #3804] str r0, [r4, #2556] ldr r3, [r2, #16] - ldr r0, .L1100+16 + ldr r0, .L1102+16 adds r3, r3, #1 str r3, [r2, #16] movs r2, #20 mla r2, r2, r7, r1 adds r3, r1, #4 adds r2, r2, #24 -.L1083: +.L1085: adds r3, r3, #20 cmp r2, r3 - bne .L1084 + bne .L1086 ldrb r1, [r5, #8] @ zero_extendqisi2 mov r2, r7 ldr r0, [r4, #3804] @@ -7601,42 +7676,42 @@ allocate_data_superblock: bl FlashEraseBlocks mov r3, r10 movs r1, #20 -.L1085: +.L1087: uxth r2, r10 cmp r7, r2 - bhi .L1087 + bhi .L1089 cmp r3, #0 - ble .L1088 + ble .L1090 mov r0, r8 bl update_multiplier_value bl FtlBbmTblFlush -.L1088: +.L1090: ldrb r2, [r5, #7] @ zero_extendqisi2 cmp r2, #0 - bne .L1089 + bne .L1091 ldr r3, [r4, #2324] movw r2, #65535 strh r2, [r3, r6, lsl #1] @ movhi - b .L1066 -.L1075: + b .L1068 +.L1077: str ip, [r3, #8] movw lr, #65535 str ip, [r3, #12] ldrh r2, [r0], #2 cmp r2, lr - beq .L1074 + beq .L1076 mla lr, r10, r7, r1 adds r7, r7, #1 lsls r2, r2, #10 uxth r7, r7 str r2, [lr, #4] -.L1074: +.L1076: adds r3, r3, #20 - b .L1073 -.L1079: + b .L1075 +.L1081: movs r3, #2 - b .L1099 -.L1078: + b .L1101 +.L1080: ldrh r3, [r2, r6, lsl #1] mov r0, r8 adds r3, r3, #1 @@ -7645,19 +7720,19 @@ allocate_data_superblock: adds r3, r3, #1 str r3, [r4, #2552] bl ftl_set_blk_mode.part.6 - b .L1081 -.L1084: + b .L1083 +.L1086: ldr r1, [r3, #-20] ands r1, r1, r0 str r1, [r3, #-20] - b .L1083 -.L1087: + b .L1085 +.L1089: mul r2, r1, r10 ldr r0, [r4, #3804] add ip, r0, r2 ldr r2, [r0, r2] adds r0, r2, #1 - bne .L1086 + bne .L1088 ldr r0, [ip, #4] adds r3, r3, #1 str r1, [sp, #12] @@ -7672,11 +7747,11 @@ allocate_data_superblock: ldrb r2, [r5, #7] @ zero_extendqisi2 subs r2, r2, #1 strb r2, [r5, #7] -.L1086: +.L1088: add r10, r10, #1 add fp, fp, #2 - b .L1085 -.L1089: + b .L1087 +.L1091: ldrh r3, [r4, #102] strh r8, [r5] @ movhi smulbb r3, r3, r2 @@ -7693,22 +7768,22 @@ allocate_data_superblock: ldrh r1, [r5] strh r3, [r2, r1, lsl #1] @ movhi ldrh r3, [r5, #4] - cbz r3, .L1090 + cbz r3, .L1092 ldrb r3, [r5, #7] @ zero_extendqisi2 - cbnz r3, .L1091 -.L1090: + cbnz r3, .L1093 +.L1092: movw r2, #2743 - ldr r1, .L1100+20 - ldr r0, .L1100+4 + ldr r1, .L1102+20 + ldr r0, .L1102+4 bl sftl_printk -.L1091: +.L1093: movs r0, #0 add sp, sp, #20 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1101: +.L1103: .align 2 -.L1100: +.L1102: .word .LANCHOR0 .word .LC1 .word .LANCHOR0+2444 @@ -7731,65 +7806,65 @@ FtlGcFreeBadSuperBlk: push {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} mov r8, r0 - ldr r4, .L1114 + ldr r4, .L1116 ldrh r3, [r4, #3210] - cbz r3, .L1103 + cbz r3, .L1105 movs r7, #0 addw r10, r4, #3212 -.L1104: +.L1106: ldrh r2, [r4, #32] uxth r3, r7 cmp r2, r3 - bhi .L1110 + bhi .L1112 bl FtlGcReFreshBadBlk -.L1103: +.L1105: movs r0, #0 pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1110: +.L1112: uxtah r3, r4, r7 mov r1, r8 mov fp, #0 ldrb r0, [r3, #60] @ zero_extendqisi2 bl V2P_block mov r9, r0 -.L1105: +.L1107: ldrh r3, [r4, #3210] uxth r5, fp cmp r3, r5 - bhi .L1109 + bhi .L1111 adds r7, r7, #1 - b .L1104 -.L1109: + b .L1106 +.L1111: uxth r6, fp add r3, r4, r6, lsl #1 ldrh r3, [r3, #3212] cmp r3, r9 - bne .L1106 + bne .L1108 mov r1, r9 - ldr r0, .L1114+4 + ldr r0, .L1116+4 bl sftl_printk mov r0, r9 bl FtlBbmMapBadBlock bl FtlBbmTblFlush ldrh r1, [r4, #3210] add r3, r10, r6, lsl #1 -.L1107: +.L1109: cmp r5, r1 - bcc .L1108 + bcc .L1110 subs r1, r1, #1 strh r1, [r4, #3210] @ movhi -.L1106: - add fp, fp, #1 - b .L1105 .L1108: + add fp, fp, #1 + b .L1107 +.L1110: ldrh r0, [r3, #2]! adds r5, r5, #1 uxth r5, r5 strh r0, [r3, #-2] @ movhi - b .L1107 -.L1115: + b .L1109 +.L1117: .align 2 -.L1114: +.L1116: .word .LANCHOR0 .word .LC103 .fnend @@ -7805,7 +7880,7 @@ update_vpc_list: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r2, .L1126 + ldr r2, .L1128 push {r3, r4, r5, lr} .save {r3, r4, r5, lr} mov r5, r0 @@ -7813,23 +7888,23 @@ update_vpc_list: ldr r3, [r2, #2324] ldrh r3, [r3, r0, lsl #1] cmp r3, #0 - bne .L1117 + bne .L1119 ldrh r1, [r2, #2588] cmp r1, r0 - bne .L1118 + bne .L1120 movw r3, #65535 strh r3, [r2, #2588] @ movhi -.L1119: +.L1121: mov r1, r5 - ldr r0, .L1126+4 + ldr r0, .L1128+4 bl List_remove_node ldrh r3, [r4, #2336] - cbnz r3, .L1121 + cbnz r3, .L1123 movw r2, #2813 - ldr r1, .L1126+8 - ldr r0, .L1126+12 + ldr r1, .L1128+8 + ldr r0, .L1128+12 bl sftl_printk -.L1121: +.L1123: ldrh r3, [r4, #2336] mov r0, r5 subs r3, r3, #1 @@ -7842,34 +7917,34 @@ update_vpc_list: add r3, r3, r2 ldrh r2, [r4, #40] cmp r3, r2 - ble .L1125 + ble .L1127 mov r2, #2816 - ldr r1, .L1126+8 - ldr r0, .L1126+12 + ldr r1, .L1128+8 + ldr r0, .L1128+12 bl sftl_printk -.L1125: +.L1127: movs r3, #1 - b .L1116 -.L1118: + b .L1118 +.L1120: ldrh r1, [r2, #2348] cmp r1, r0 - beq .L1116 + beq .L1118 ldrh r1, [r2, #2396] cmp r1, r0 - beq .L1116 + beq .L1118 ldrh r2, [r2, #2444] cmp r2, r0 - bne .L1119 -.L1116: + bne .L1121 +.L1118: mov r0, r3 pop {r3, r4, r5, pc} -.L1117: +.L1119: bl List_update_data_list movs r3, #0 - b .L1116 -.L1127: + b .L1118 +.L1129: .align 2 -.L1126: +.L1128: .word .LANCHOR0 .word .LANCHOR0+2320 .word .LANCHOR1+385 @@ -7892,40 +7967,40 @@ decrement_vpc_count: .save {r4, r5, r6, lr} cmp r0, r3 mov r4, r0 - ldr r5, .L1140 - beq .L1129 + ldr r5, .L1142 + beq .L1131 ldr r3, [r5, #2324] ldrh r2, [r3, r0, lsl #1] cmp r2, #0 - bne .L1130 + bne .L1132 mov r1, r0 - ldr r0, .L1140+4 + ldr r0, .L1142+4 bl sftl_printk ldr r3, [r5, #2324] ldrh r3, [r3, r4, lsl #1] - cbnz r3, .L1131 + cbnz r3, .L1133 movw r2, #2831 - ldr r1, .L1140+8 - ldr r0, .L1140+12 + ldr r1, .L1142+8 + ldr r0, .L1142+12 bl sftl_printk -.L1131: +.L1133: ldr r3, [r5, #2324] movs r2, #16 mov r1, r4 - ldr r0, .L1140+16 + ldr r0, .L1142+16 strh r2, [r3, r4, lsl #1] @ movhi bl test_node_in_list - cbz r0, .L1132 + cbz r0, .L1134 mov r1, r4 - ldr r0, .L1140+16 + ldr r0, .L1142+16 bl List_remove_node ldrh r3, [r5, #2344] - cbnz r3, .L1133 + cbnz r3, .L1135 movw r2, #2835 - ldr r1, .L1140+8 - ldr r0, .L1140+12 + ldr r1, .L1142+8 + ldr r0, .L1142+12 bl sftl_printk -.L1133: +.L1135: ldrh r3, [r5, #2344] mov r0, r4 subs r3, r3, #1 @@ -7933,28 +8008,28 @@ decrement_vpc_count: bl INSERT_DATA_LIST ldr r3, [r5, #2324] mov r1, r4 - ldr r0, .L1140+20 + ldr r0, .L1142+20 ldrh r2, [r3, r4, lsl #1] bl sftl_printk -.L1132: +.L1134: mov r0, r4 bl FtlGcRefreshBlock -.L1136: +.L1138: movs r6, #0 - b .L1128 -.L1130: + b .L1130 +.L1132: subs r2, r2, #1 strh r2, [r3, r0, lsl #1] @ movhi -.L1129: +.L1131: ldrh r0, [r5, #4000] movw r3, #65535 cmp r0, r3 - bne .L1135 + bne .L1137 strh r4, [r5, #4000] @ movhi - b .L1136 -.L1135: + b .L1138 +.L1137: cmp r4, r0 - beq .L1136 + beq .L1138 bl update_vpc_list ldr r2, [r5, #2316] adds r6, r0, #0 @@ -7964,24 +8039,24 @@ decrement_vpc_count: strh r4, [r5, #4000] @ movhi subs r3, r3, r2 asrs r2, r3, #1 - ldr r3, .L1140+24 + ldr r3, .L1142+24 muls r3, r2, r3 ldr r2, [r5, #2324] uxth r1, r3 ldrh r2, [r2, r1, lsl #1] - cbnz r2, .L1128 + cbnz r2, .L1130 cmp r4, r1 - beq .L1128 + beq .L1130 movw r2, #2856 - ldr r1, .L1140+8 - ldr r0, .L1140+12 + ldr r1, .L1142+8 + ldr r0, .L1142+12 bl sftl_printk -.L1128: +.L1130: mov r0, r6 pop {r4, r5, r6, pc} -.L1141: +.L1143: .align 2 -.L1140: +.L1142: .word .LANCHOR0 .word .LC104 .word .LANCHOR1+401 @@ -8006,20 +8081,20 @@ FtlWriteDump_data: .save {r4, r5, r6, r7, r8, r9, r10, lr} .pad #24 sub sp, sp, #24 - ldr r4, .L1160 + ldr r4, .L1162 ldrh r2, [r4, #2352] cmp r2, #0 - beq .L1143 + beq .L1145 ldrb r3, [r4, #2356] @ zero_extendqisi2 cmp r3, #0 - bne .L1143 + bne .L1145 ldrb r1, [r4, #2355] @ zero_extendqisi2 ldrh r3, [r4, #102] muls r3, r1, r3 cmp r2, r3 - beq .L1143 + beq .L1145 ldrb r7, [r4, #2358] @ zero_extendqisi2 - cbnz r7, .L1142 + cbnz r7, .L1144 ldr r6, [r4, #2504] mov r2, r7 mov r1, sp @@ -8036,38 +8111,38 @@ FtlWriteDump_data: str r0, [sp, #12] str r5, [sp, #16] str r7, [r5, #4] - beq .L1145 + beq .L1147 mov r2, r7 movs r1, #1 add r0, sp, #4 bl FlashReadPages -.L1146: - ldr r9, .L1160+4 +.L1148: + ldr r9, .L1162+4 movs r7, #0 lsl r8, r8, #2 mov r10, r7 movw r3, #61589 strh r3, [r5] @ movhi -.L1147: +.L1149: cmp r8, r7 - bne .L1151 -.L1148: + bne .L1153 +.L1150: movs r3, #1 -.L1159: +.L1161: strb r3, [r4, #2358] -.L1142: +.L1144: add sp, sp, #24 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, pc} -.L1145: +.L1147: ldrh r2, [r4, #110] movs r1, #255 bl ftl_memset - b .L1146 -.L1151: + b .L1148 +.L1153: ldrh r3, [r4, #2352] cmp r3, #0 - beq .L1148 + beq .L1150 ldr r3, [sp, #8] mov r0, r9 str r6, [r5, #8] @@ -8091,13 +8166,13 @@ FtlWriteDump_data: bl FlashProgPages ldrh r0, [r4, #2348] bl decrement_vpc_count - b .L1147 -.L1143: + b .L1149 +.L1145: movs r3, #0 - b .L1159 -.L1161: + b .L1161 +.L1163: .align 2 -.L1160: +.L1162: .word .LANCHOR0 .word .LANCHOR0+2348 .fnend @@ -8116,30 +8191,30 @@ l2p_flush: push {r4, r5, r6, lr} .save {r4, r5, r6, lr} movs r4, #0 - ldr r5, .L1166 + ldr r5, .L1168 movs r6, #12 bl FtlWriteDump_data -.L1163: +.L1165: ldrh r3, [r5, #138] uxth r0, r4 cmp r3, r0 - bhi .L1165 + bhi .L1167 movs r0, #0 pop {r4, r5, r6, pc} -.L1165: +.L1167: ldr r2, [r5, #2492] uxth r3, r4 mla r3, r6, r3, r2 ldr r3, [r3, #4] cmp r3, #0 - bge .L1164 + bge .L1166 bl flush_l2p_region -.L1164: - adds r4, r4, #1 - b .L1163 -.L1167: - .align 2 .L1166: + adds r4, r4, #1 + b .L1165 +.L1169: + .align 2 +.L1168: .word .LANCHOR0 .fnend .size l2p_flush, .-l2p_flush @@ -8162,9 +8237,9 @@ FtlRecoverySuperblock: sub sp, sp, #52 mov fp, r0 cmp r3, r2 - beq .L1293 + beq .L1295 ldrh r3, [r0, #2] - ldr r4, .L1300 + ldr r4, .L1302 str r3, [sp, #8] ldrb r3, [r0, #6] @ zero_extendqisi2 ldr r1, [sp, #8] @@ -8172,27 +8247,27 @@ FtlRecoverySuperblock: ldrh r3, [r4, #102] cmp r3, r1 mov r3, #0 - bne .L1171 + bne .L1173 strh r3, [r0, #4] @ movhi -.L1298: +.L1300: strb r3, [fp, #6] -.L1293: +.L1295: movs r0, #0 add sp, sp, #52 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1171: +.L1173: ldrh r0, [r0, #16] -.L1172: +.L1174: cmp r0, r2 uxth r5, r3 add r3, r3, #1 - beq .L1173 + beq .L1175 movs r1, #1 bl FtlGetLastWrittenPage adds r7, r0, #1 mov r6, r0 - beq .L1174 + beq .L1176 ldr r3, [r4, #3172] movs r2, #0 ldrh lr, [r4, #32] @@ -8208,11 +8283,11 @@ FtlRecoverySuperblock: add r3, fp, #16 mov ip, r3 str r3, [sp, #20] -.L1175: +.L1177: uxth r3, r2 cmp lr, r3 - bhi .L1181 - ldr r5, .L1300 + bhi .L1183 + ldr r5, .L1302 movs r2, #0 mov r1, r4 movw r9, #65535 @@ -8225,15 +8300,15 @@ FtlRecoverySuperblock: str r3, [sp, #4] mov r7, r8 movs r3, #0 -.L1182: +.L1184: uxth r2, r3 cmp r4, r2 - bhi .L1187 - bne .L1185 + bhi .L1189 + bne .L1187 adds r3, r6, #1 uxth r3, r3 str r3, [sp, #16] -.L1294: +.L1296: ldr r0, [r8, #4] ubfx r0, r0, #10, #16 bl P2V_plane @@ -8241,56 +8316,56 @@ FtlRecoverySuperblock: ldr r2, [sp, #16] str r0, [sp, #12] cmp r3, r2 - bne .L1189 + bne .L1191 ldrh r3, [sp, #16] strh r3, [fp, #2] @ movhi movs r3, #0 strb r3, [fp, #6] strh r3, [fp, #4] @ movhi -.L1189: +.L1191: ldr r3, [sp, #16] ldr r2, [sp, #8] cmp r3, r2 - bne .L1190 + bne .L1192 ldr r3, [sp, #12] ldr r2, [sp, #24] cmp r3, r2 - bne .L1190 + bne .L1192 ldr r1, [sp, #16] mov r2, r3 -.L1299: +.L1301: mov r0, fp bl ftl_sb_update_avl_pages - b .L1293 -.L1173: + b .L1295 +.L1175: uxth r1, r3 adds r1, r1, #8 ldrh r0, [fp, r1, lsl #1] - b .L1172 -.L1174: - ldr r3, [sp, #8] - cbz r3, .L1176 - movw r2, #1804 - ldr r1, .L1300+4 - ldr r0, .L1300+8 - bl sftl_printk + b .L1174 .L1176: - ldr r3, [sp, #24] - cbz r3, .L1177 - cmp r5, r3 - beq .L1177 - movw r2, #1805 - ldr r1, .L1300+4 - ldr r0, .L1300+8 + ldr r3, [sp, #8] + cbz r3, .L1178 + movw r2, #1804 + ldr r1, .L1302+4 + ldr r0, .L1302+8 bl sftl_printk -.L1177: +.L1178: + ldr r3, [sp, #24] + cbz r3, .L1179 + cmp r5, r3 + beq .L1179 + movw r2, #1805 + ldr r1, .L1302+4 + ldr r0, .L1302+8 + bl sftl_printk +.L1179: movs r3, #0 strh r3, [fp, #2] @ movhi - b .L1298 -.L1181: + b .L1300 +.L1183: ldrh r3, [ip], #2 cmp r3, r9 - beq .L1178 + beq .L1180 mla r1, r10, r4, r0 orr r3, r6, r3, lsl #10 str r3, [r1, #4] @@ -8312,51 +8387,51 @@ FtlRecoverySuperblock: str r5, [r1, #8] add r3, r3, r8 str r3, [r1, #12] -.L1178: +.L1180: adds r2, r2, #1 - b .L1175 -.L1187: + b .L1177 +.L1189: ldr r2, [r7] - cbnz r2, .L1183 + cbnz r2, .L1185 ldr r10, [r7, #12] ldr r2, [r10, #4] adds r0, r2, #1 - beq .L1184 + beq .L1186 ldr r1, [r5, #2544] mov r0, r2 bl ftl_cmp_data_ver - cbz r0, .L1184 + cbz r0, .L1186 adds r2, r2, #1 str r2, [r5, #2544] -.L1184: +.L1186: ldr r2, [r10] adds r2, r2, #1 - bne .L1186 -.L1185: + bne .L1188 +.L1187: uxth r2, r6 uxth r3, r3 str r2, [sp, #16] movs r2, #20 mla r8, r2, r3, r8 - b .L1294 -.L1183: + b .L1296 +.L1185: ldr r9, [sp, #12] -.L1186: +.L1188: adds r3, r3, #1 adds r7, r7, #20 - b .L1182 -.L1190: + b .L1184 +.L1192: movw r3, #65535 cmp r9, r3 - bne .L1191 + bne .L1193 ldrb r3, [fp, #8] @ zero_extendqisi2 cmp r3, #0 - bne .L1192 -.L1191: + bne .L1194 +.L1193: ldr r3, [r5, #4012] uxth r8, r6 uxth r6, r6 - ldr r7, .L1300 + ldr r7, .L1302 movw r9, #65535 adds r3, r3, #1 itt eq @@ -8369,68 +8444,68 @@ FtlRecoverySuperblock: subgt r4, r8, #7 ldrle r4, [sp, #8] uxthgt r4, r4 -.L1195: +.L1197: cmp r4, r8 - bhi .L1202 + bhi .L1204 movs r3, #0 ldrh lr, [r7, #32] ldr r0, [r7, #3836] mov r6, r3 ldr r1, [sp, #20] mov ip, #20 - b .L1203 -.L1197: + b .L1205 +.L1199: ldrh r2, [r1], #2 cmp r2, r9 - beq .L1196 + beq .L1198 mla r10, ip, r6, r0 adds r6, r6, #1 orr r2, r4, r2, lsl #10 uxth r6, r6 str r2, [r10, #4] -.L1196: +.L1198: adds r3, r3, #1 -.L1203: +.L1205: uxth r2, r3 cmp r2, lr - bcc .L1197 + bcc .L1199 movs r2, #0 mov r1, r6 bl FlashReadPages ldr r3, [r7, #3836] movs r2, #20 mla r6, r2, r6, r3 -.L1198: +.L1200: cmp r6, r3 - bne .L1201 + bne .L1203 adds r4, r4, #1 uxth r4, r4 - b .L1195 -.L1201: + b .L1197 +.L1203: ldr r2, [r3] - cbnz r2, .L1192 + cbnz r2, .L1194 ldr r2, [r3, #12] ldrh r1, [r2] cmp r1, r9 - beq .L1200 + beq .L1202 ldr r2, [r2, #4] adds r1, r2, #1 it ne strne r2, [r7, #4012] -.L1200: - adds r3, r3, #20 - b .L1198 .L1202: + adds r3, r3, #20 + b .L1200 +.L1204: mov r3, #-1 str r3, [r7, #4012] -.L1192: +.L1194: movs r3, #1 - ldr r0, .L1300+12 + ldr r0, .L1302+12 strh r3, [r5, #4016] @ movhi - ldr r4, .L1300 + ldr r4, .L1302 bl FtlMapBlkWriteDump_data ldr r5, [sp, #8] -.L1204: +.L1206: ldrh r6, [r4, #32] movs r3, #0 ldr r0, [r4, #3836] @@ -8438,61 +8513,61 @@ FtlRecoverySuperblock: ldr r1, [sp, #20] movw r7, #65535 mov ip, #20 -.L1205: +.L1207: uxth r2, r3 cmp r6, r2 - bhi .L1207 + bhi .L1209 movs r2, #0 mov r1, r10 bl FlashReadPages movs r3, #0 -.L1297: +.L1299: str r3, [sp, #28] ldrh r3, [sp, #28] cmp r10, r3 - bhi .L1237 + bhi .L1239 adds r5, r5, #1 ldrh r3, [r4, #102] uxth r5, r5 cmp r3, r5 - bne .L1204 + bne .L1206 ldrh r2, [r4, #32] movw r0, #65535 movs r3, #0 strh r5, [fp, #2] @ movhi strh r3, [fp, #4] @ movhi -.L1238: +.L1240: uxth r1, r3 cmp r1, r2 - bcs .L1293 + bcs .L1295 ldr r1, [sp, #20] ldrh r4, [r1], #2 cmp r4, r0 str r1, [sp, #20] add r1, r3, #1 - bne .L1298 + bne .L1300 mov r3, r1 - b .L1238 -.L1207: + b .L1240 +.L1209: ldrh r2, [r1], #2 cmp r2, r7 - beq .L1206 + beq .L1208 mla lr, ip, r10, r0 add r10, r10, #1 orr r2, r5, r2, lsl #10 uxth r10, r10 str r2, [lr, #4] -.L1206: +.L1208: adds r3, r3, #1 - b .L1205 -.L1301: + b .L1207 +.L1303: .align 2 -.L1300: +.L1302: .word .LANCHOR0 .word .LANCHOR1+421 .word .LC1 .word .LANCHOR0+3908 -.L1237: +.L1239: ldr r3, [sp, #28] movs r7, #20 ldr r9, [r4, #3836] @@ -8504,57 +8579,57 @@ FtlRecoverySuperblock: bl P2V_plane ldr r3, [sp, #8] cmp r5, r3 - bcc .L1209 - bne .L1210 + bcc .L1211 + bne .L1212 ldr r3, [sp, #24] cmp r3, r0 - bhi .L1209 -.L1210: + bhi .L1211 +.L1212: ldr r3, [sp, #16] cmp r5, r3 - bne .L1211 + bne .L1213 ldr r3, [sp, #12] cmp r3, r0 - beq .L1212 -.L1211: + beq .L1214 +.L1213: ldr r3, [r9, r7] adds r3, r3, #1 - beq .L1213 + beq .L1215 ldr r8, [r8, #12] movw r3, #61589 ldrh r2, [r8] cmp r2, r3 - beq .L1214 -.L1221: + beq .L1216 +.L1223: ldrh r0, [fp] -.L1296: +.L1298: bl decrement_vpc_count -.L1209: +.L1211: ldr r3, [sp, #28] adds r3, r3, #1 - b .L1297 -.L1214: + b .L1299 +.L1216: ldr r3, [r8, #4] adds r6, r3, #1 str r3, [sp, #4] - beq .L1215 + beq .L1217 ldr r1, [r4, #2544] mov r0, r3 bl ftl_cmp_data_ver - cbz r0, .L1215 + cbz r0, .L1217 ldr r3, [sp, #4] adds r3, r3, #1 str r3, [r4, #2544] -.L1215: +.L1217: ldrh r2, [r8] movw r3, #61589 cmp r2, r3 - beq .L1216 + beq .L1218 movw r2, #1954 - ldr r1, .L1302 - ldr r0, .L1302+4 + ldr r1, .L1304 + ldr r0, .L1304+4 bl sftl_printk -.L1216: +.L1218: ldr r6, [r8, #8] add r1, sp, #40 ldr r3, [r8, #12] @@ -8564,14 +8639,14 @@ FtlRecoverySuperblock: bl log2phys ldr r1, [r4, #4012] adds r0, r1, #1 - beq .L1217 + beq .L1219 ldr r0, [sp, #4] bl ftl_cmp_data_ver cmp r0, #0 - beq .L1217 + beq .L1219 ldr r3, [sp, #36] adds r2, r3, #1 - beq .L1218 + beq .L1220 ldr r0, [r4, #3836] movs r2, #0 movs r1, #1 @@ -8583,122 +8658,122 @@ FtlRecoverySuperblock: ldr r1, [r2, r7] adds r3, r2, r7 adds r1, r1, #1 - bne .L1219 -.L1220: + bne .L1221 +.L1222: mov r3, #-1 ldrh r0, [fp] str r3, [sp, #36] bl decrement_vpc_count -.L1228: +.L1230: ldr r0, [sp, #36] adds r1, r0, #1 - beq .L1209 -.L1241: + beq .L1211 +.L1243: ubfx r0, r0, #10, #16 bl P2V_block_in_plane ldrh r3, [r4, #40] mov r6, r0 cmp r3, r0 - bhi .L1233 + bhi .L1235 movw r2, #2055 - ldr r1, .L1302 - ldr r0, .L1302+4 + ldr r1, .L1304 + ldr r0, .L1304+4 bl sftl_printk -.L1233: +.L1235: ldr r3, [r4, #2324] ldrh r3, [r3, r6, lsl #1] cmp r3, #0 - beq .L1234 + beq .L1236 mov r0, r6 - b .L1296 -.L1218: + b .L1298 +.L1220: ldr r3, [sp, #44] ldr r2, [sp, #40] cmp r2, r3 - bne .L1221 + bne .L1223 movs r2, #1 add r1, sp, #36 mov r0, r6 bl log2phys - b .L1221 -.L1219: + b .L1223 +.L1221: ldr r1, [r8, #8] cmp r6, r1 - bne .L1220 + bne .L1222 ldr r9, [r8, #4] ldr r0, [r4, #4012] mov r1, r9 bl ftl_cmp_data_ver cmp r0, #0 - beq .L1220 + beq .L1222 ldr r1, [sp, #40] ldr r0, [sp, #44] cmp r1, r0 - bne .L1223 -.L1226: + bne .L1225 +.L1228: ldr r1, [sp, #36] mov r0, r6 bl FtlReUsePrevPpa - b .L1220 -.L1223: + b .L1222 +.L1225: ldr r0, [sp, #36] cmp r1, r0 - beq .L1220 + beq .L1222 adds r0, r1, #1 - beq .L1224 + beq .L1226 str r1, [r3, #4] movs r2, #0 movs r1, #1 mov r0, r3 ldr r8, [r3, #12] bl FlashReadPages -.L1225: +.L1227: ldr r3, [r4, #3836] ldr r3, [r3, r7] adds r3, r3, #1 - beq .L1226 + beq .L1228 ldr r3, [r8, #4] ldr r0, [r4, #4012] mov r1, r3 bl ftl_cmp_data_ver cmp r0, #0 - beq .L1226 + beq .L1228 mov r1, r3 mov r0, r9 bl ftl_cmp_data_ver cmp r0, #0 - beq .L1220 - b .L1226 -.L1224: + beq .L1222 + b .L1228 +.L1226: str r1, [r2, r7] - b .L1225 -.L1217: + b .L1227 +.L1219: ldr r3, [sp, #44] ldr r2, [sp, #40] cmp r2, r3 - beq .L1228 + beq .L1230 movs r2, #1 add r1, sp, #44 mov r0, r6 bl log2phys ldr r8, [sp, #40] cmp r8, #-1 - beq .L1228 + beq .L1230 ldr r3, [sp, #36] cmp r8, r3 - beq .L1231 + beq .L1233 ubfx r0, r8, #10, #16 bl P2V_block_in_plane ldrh r3, [r4, #2348] cmp r3, r0 - beq .L1232 + beq .L1234 ldrh r3, [r4, #2396] cmp r3, r0 - beq .L1232 + beq .L1234 ldrh r3, [r4, #2444] cmp r3, r0 - bne .L1228 -.L1232: + bne .L1230 +.L1234: ldr r0, [r4, #3836] movs r2, #0 movs r1, #1 @@ -8708,23 +8783,23 @@ FtlRecoverySuperblock: ldr r3, [r4, #3836] ldr r3, [r3] adds r3, r3, #1 - beq .L1228 + beq .L1230 ldr r1, [r7, #4] ldr r0, [sp, #4] bl ftl_cmp_data_ver cmp r0, #0 - bne .L1228 + bne .L1230 movs r2, #1 add r1, sp, #40 mov r0, r6 bl log2phys - b .L1228 -.L1234: + b .L1230 +.L1236: mov r1, r6 - ldr r0, .L1302+8 + ldr r0, .L1304+8 bl sftl_printk - b .L1209 -.L1213: + b .L1211 +.L1215: ldr r3, [r4, #4020] cmp r3, #31 itttt ls @@ -8736,30 +8811,30 @@ FtlRecoverySuperblock: bl decrement_vpc_count ldr r3, [r4, #4012] adds r2, r3, #1 - bne .L1236 + bne .L1238 ldr r3, [sp, #4] -.L1295: +.L1297: str r3, [r4, #4012] - b .L1209 -.L1236: + b .L1211 +.L1238: ldr r2, [sp, #4] cmp r2, r3 - bcs .L1209 + bcs .L1211 mov r3, r2 - b .L1295 -.L1212: + b .L1297 +.L1214: ldrb r3, [sp, #12] @ zero_extendqisi2 mov r1, r5 strh r5, [fp, #2] @ movhi ldr r2, [sp, #12] strb r3, [fp, #6] - b .L1299 -.L1231: + b .L1301 +.L1233: mov r0, r8 - b .L1241 -.L1303: + b .L1243 +.L1305: .align 2 -.L1302: +.L1304: .word .LANCHOR1+421 .word .LC1 .word .LC106 @@ -8780,7 +8855,7 @@ FtlSuperblockPowerLostFix: .save {r4, r5, r6, r7, r8, lr} .pad #24 sub sp, sp, #24 - ldr r4, .L1315 + ldr r4, .L1317 mov r3, #-1 mov r8, #0 movw r1, #61589 @@ -8805,12 +8880,12 @@ FtlSuperblockPowerLostFix: add r1, r1, #1269760 addw r1, r1, #1507 str r1, [r2, #4] -.L1305: - subs r7, r7, #1 - beq .L1307 - ldrh r3, [r5, #4] - cbnz r3, .L1306 .L1307: + subs r7, r7, #1 + beq .L1309 + ldrh r3, [r5, #4] + cbnz r3, .L1308 +.L1309: ldr r2, [r4, #2324] ldrh r1, [r5] ldrh r0, [r5, #4] @@ -8825,12 +8900,12 @@ FtlSuperblockPowerLostFix: add sp, sp, #24 @ sp needed pop {r4, r5, r6, r7, r8, pc} -.L1306: +.L1308: mov r0, r5 bl get_new_active_ppa str r0, [sp, #8] adds r0, r0, #1 - beq .L1307 + beq .L1309 ldr r3, [r4, #2544] movs r1, #1 add r0, sp, #4 @@ -8845,10 +8920,10 @@ FtlSuperblockPowerLostFix: bl FlashProgPages ldrh r0, [r5] bl decrement_vpc_count - b .L1305 -.L1316: + b .L1307 +.L1318: .align 2 -.L1315: +.L1317: .word .LANCHOR0 .fnend .size FtlSuperblockPowerLostFix, .-FtlSuperblockPowerLostFix @@ -8866,7 +8941,7 @@ FtlLoadBbt: push {r4, r5, r6, r7, r8, lr} .save {r4, r5, r6, r7, r8, lr} movw r8, #61649 - ldr r4, .L1346 + ldr r4, .L1348 ldr r3, [r4, #3284] add r7, r4, #3264 ldr r6, [r4, #3288] @@ -8876,11 +8951,11 @@ FtlLoadBbt: ldrh r5, [r4, #98] subs r5, r5, #1 uxth r5, r5 -.L1318: +.L1320: ldrh r3, [r4, #98] subs r3, r3, #16 cmp r5, r3 - ble .L1321 + ble .L1323 lsls r3, r5, #10 movs r2, #1 mov r1, r2 @@ -8889,7 +8964,7 @@ FtlLoadBbt: bl FlashReadPages ldr r3, [r4, #3264] adds r3, r3, #1 - bne .L1319 + bne .L1321 ldr r3, [r4, #3268] movs r2, #1 mov r1, r2 @@ -8897,50 +8972,50 @@ FtlLoadBbt: adds r3, r3, #1 str r3, [r4, #3268] bl FlashReadPages -.L1319: +.L1321: ldr r3, [r4, #3264] adds r3, r3, #1 - beq .L1320 + beq .L1322 ldrh r3, [r6] cmp r3, r8 - bne .L1320 + bne .L1322 ldr r3, [r6, #4] strh r5, [r4, #152] @ movhi str r3, [r4, #160] ldrh r3, [r6, #8] strh r3, [r4, #156] @ movhi -.L1321: +.L1323: ldrh r3, [r4, #152] movw r2, #65535 cmp r3, r2 - beq .L1335 + beq .L1337 ldrh r3, [r4, #156] cmp r3, r2 - beq .L1325 + beq .L1327 lsls r3, r3, #10 movs r2, #1 mov r1, r2 - ldr r0, .L1346+4 + ldr r0, .L1348+4 str r3, [r4, #3268] bl FlashReadPages ldr r3, [r4, #3264] adds r3, r3, #1 - beq .L1325 + beq .L1327 ldrh r2, [r6] movw r3, #61649 cmp r2, r3 - bne .L1325 + bne .L1327 ldr r3, [r6, #4] ldr r2, [r4, #160] cmp r3, r2 - bls .L1325 + bls .L1327 ldrh r2, [r4, #156] str r3, [r4, #160] ldrh r3, [r6, #8] strh r2, [r4, #152] @ movhi strh r3, [r4, #156] @ movhi -.L1325: - ldr r7, .L1346+4 +.L1327: + ldr r7, .L1348+4 movs r1, #1 ldrh r0, [r4, #152] movw r8, #61649 @@ -8948,44 +9023,44 @@ FtlLoadBbt: sxth r5, r0 adds r0, r0, #1 strh r0, [r4, #154] @ movhi -.L1327: - cmp r5, #0 - bge .L1330 - movs r2, #254 - ldr r1, .L1346+8 - ldr r0, .L1346+12 - bl sftl_printk .L1329: + cmp r5, #0 + bge .L1332 + movs r2, #254 + ldr r1, .L1348+8 + ldr r0, .L1348+12 + bl sftl_printk +.L1331: ldrh r3, [r6, #10] ldrh r0, [r6, #12] strh r3, [r4, #158] @ movhi movw r3, #65535 cmp r0, r3 - beq .L1332 + beq .L1334 ldr r2, [r4, #28] cmp r0, r2 - beq .L1332 + beq .L1334 ldrh r3, [r4, #42] lsrs r3, r3, #2 cmp r2, r3 - bcs .L1332 + bcs .L1334 cmp r0, r3 - bcs .L1332 + bcs .L1334 bl FtlSysBlkNumInit -.L1332: - ldr r6, .L1346+16 +.L1334: + ldr r6, .L1348+16 movs r5, #0 -.L1333: +.L1335: ldrh r3, [r4, #54] cmp r5, r3 - bcc .L1334 + bcc .L1336 movs r0, #0 pop {r4, r5, r6, r7, r8, pc} -.L1320: +.L1322: subs r5, r5, #1 uxth r5, r5 - b .L1318 -.L1330: + b .L1320 +.L1332: ldrh r3, [r4, #152] movs r2, #1 mov r1, r2 @@ -8997,15 +9072,15 @@ FtlLoadBbt: bl FlashReadPages ldr r3, [r4, #3264] adds r3, r3, #1 - beq .L1328 + beq .L1330 ldrh r3, [r6] cmp r3, r8 - beq .L1329 -.L1328: + beq .L1331 +.L1330: subs r5, r5, #1 sxth r5, r5 - b .L1327 -.L1334: + b .L1329 +.L1336: ldrh r2, [r4, #3904] ldr r1, [r4, #3272] ldr r0, [r6, #4]! @@ -9013,13 +9088,13 @@ FtlLoadBbt: mla r1, r5, r2, r1 adds r5, r5, #1 bl ftl_memcpy - b .L1333 -.L1335: + b .L1335 +.L1337: mov r0, #-1 pop {r4, r5, r6, r7, r8, pc} -.L1347: +.L1349: .align 2 -.L1346: +.L1348: .word .LANCHOR0 .word .LANCHOR0+3264 .word .LANCHOR1+443 @@ -9041,47 +9116,47 @@ FtlMakeBbt: push {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} mov r8, #0 - ldr r9, .L1367+4 + ldr r9, .L1369+4 bl FtlBbtMemInit sub r5, r9, #180 sub r10, r9, #18 mov r4, r5 bl FtlLoadFactoryBbt -.L1349: +.L1351: ldrh r3, [r5, #54] cmp r8, r3 - bcc .L1355 + bcc .L1357 movs r5, #0 -.L1356: +.L1358: ldrh r3, [r4, #114] uxth r0, r5 adds r5, r5, #1 cmp r3, r0 - bhi .L1357 + bhi .L1359 ldrh r5, [r4, #164] movw r6, #65535 subs r5, r5, #1 uxth r5, r5 -.L1358: +.L1360: ldrh r3, [r4, #164] subs r3, r3, #48 cmp r5, r3 - ble .L1362 + ble .L1364 mov r0, r5 bl FtlBbmIsBadBlock cmp r0, #1 - beq .L1359 + beq .L1361 mov r0, r5 bl FlashTestBlk cmp r0, #0 - beq .L1360 + beq .L1362 mov r0, r5 bl FtlBbmMapBadBlock -.L1359: +.L1361: subs r5, r5, #1 uxth r5, r5 - b .L1358 -.L1355: + b .L1360 +.L1357: ldrh r3, [r10, #2]! movw r2, #65535 ldr r0, [r5, #3284] @@ -9089,11 +9164,11 @@ FtlMakeBbt: cmp r3, r2 str r0, [r5, #3272] str fp, [r5, #3276] - beq .L1350 + beq .L1352 ldrh r7, [r5, #98] movs r2, #1 mov r1, r2 - ldr r0, .L1367 + ldr r0, .L1369 mla r7, r8, r7, r3 lsls r3, r7, #10 str r3, [r5, #3268] @@ -9104,29 +9179,29 @@ FtlMakeBbt: adds r2, r2, #7 asrs r2, r2, #3 bl ftl_memcpy -.L1351: +.L1353: uxth r0, r7 add r8, r8, #1 add r9, r9, #4 bl FtlBbmMapBadBlock - b .L1349 -.L1350: + b .L1351 +.L1352: mov r1, r8 bl FlashGetBadBlockList ldr r1, [r9] ldr r0, [r5, #3272] bl FtlBbt2Bitmap ldrh r6, [r5, #98] -.L1353: +.L1355: subs r6, r6, #1 uxth r6, r6 -.L1352: +.L1354: ldrh r0, [r4, #98] smlabb r0, r0, r8, r6 uxth r0, r0 bl FtlBbmIsBadBlock cmp r0, #1 - beq .L1353 + beq .L1355 movs r1, #16 ldr r0, [r4, #3288] strh r6, [r10] @ movhi @@ -9151,32 +9226,32 @@ FtlMakeBbt: str r3, [r4, #3268] bl ftl_memcpy movs r2, #1 - ldr r0, .L1367 + ldr r0, .L1369 mov r1, r2 bl FlashEraseBlocks movs r3, #1 - ldr r0, .L1367 + ldr r0, .L1369 mov r2, r3 mov r1, r3 bl FlashProgPages ldr r3, [r4, #3264] adds r3, r3, #1 - bne .L1351 + bne .L1353 uxth r0, r7 bl FtlBbmMapBadBlock - b .L1352 -.L1357: + b .L1354 +.L1359: bl FtlBbmMapBadBlock - b .L1356 -.L1360: + b .L1358 +.L1362: ldrh r3, [r4, #152] cmp r3, r6 - bne .L1361 + bne .L1363 strh r5, [r4, #152] @ movhi - b .L1359 -.L1361: + b .L1361 +.L1363: strh r5, [r4, #156] @ movhi -.L1362: +.L1364: ldrh r3, [r4, #152] movs r5, #0 ldr r0, [r4, #3804] @@ -9206,9 +9281,9 @@ FtlMakeBbt: bl FtlBbmTblFlush mov r0, r5 pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1368: +.L1370: .align 2 -.L1367: +.L1369: .word .LANCHOR0+3264 .word .LANCHOR0+180 .fnend @@ -9227,7 +9302,7 @@ FtlVendorPartWrite: push {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} mov r10, r2 - ldr r4, .L1381 + ldr r4, .L1383 adds r2, r0, r1 .pad #108 sub sp, sp, #108 @@ -9235,19 +9310,19 @@ FtlVendorPartWrite: mov r6, r1 ldrh r3, [r4, #96] cmp r2, r3 - bhi .L1377 + bhi .L1379 ldrh r7, [r4, #108] mov r9, #0 lsr r7, r0, r7 lsl fp, r7, #2 +.L1373: + cbnz r6, .L1378 .L1371: - cbnz r6, .L1376 -.L1369: mov r0, r9 add sp, sp, #108 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1376: +.L1378: ldr r3, [r4, #3888] mov r0, r8 ldr r2, [r3, fp] @@ -9264,9 +9339,9 @@ FtlVendorPartWrite: cmp r6, r5 it cc uxthcc r5, r6 - cbz r2, .L1373 + cbz r2, .L1375 cmp r5, r3 - beq .L1373 + beq .L1375 ldr r3, [r4, #3852] add r0, sp, #20 str r2, [sp, #24] @@ -9276,7 +9351,7 @@ FtlVendorPartWrite: add r3, sp, #40 str r3, [sp, #32] bl FlashReadPages -.L1374: +.L1376: lsls r3, r5, #9 ldr r0, [r4, #3852] mov r1, r10 @@ -9290,7 +9365,7 @@ FtlVendorPartWrite: bl ftl_memcpy mov r1, r7 ldr r2, [r4, #3852] - ldr r0, .L1381+4 + ldr r0, .L1383+4 adds r7, r7, #1 bl FtlMapWritePage ldr r3, [sp, #8] @@ -9298,19 +9373,19 @@ FtlVendorPartWrite: it eq moveq r9, #-1 add r10, r10, r3 - b .L1371 -.L1373: + b .L1373 +.L1375: ldrh r2, [r4, #110] movs r1, #0 ldr r0, [r4, #3852] bl ftl_memset - b .L1374 -.L1377: + b .L1376 +.L1379: mov r9, #-1 - b .L1369 -.L1382: + b .L1371 +.L1384: .align 2 -.L1381: +.L1383: .word .LANCHOR0 .word .LANCHOR0+3956 .fnend @@ -9327,12 +9402,12 @@ Ftl_save_ext_data: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r2, .L1385 - ldr r3, .L1385+4 + ldr r2, .L1387 + ldr r3, .L1387+4 ldr r1, [r2, #2636] cmp r1, r3 - bne .L1383 - ldr r3, .L1385+8 + bne .L1385 + ldr r3, .L1387+8 addw r2, r2, #2636 movs r1, #1 movs r0, #0 @@ -9362,11 +9437,11 @@ Ftl_save_ext_data: ldr r3, [r2, #-68] str r3, [r2, #48] b FtlVendorPartWrite -.L1383: - bx lr -.L1386: - .align 2 .L1385: + bx lr +.L1388: + .align 2 +.L1387: .word .LANCHOR0 .word 1179929683 .word 1342177349 @@ -9383,7 +9458,7 @@ FtlEctTblFlush: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r2, .L1392 + ldr r2, .L1394 push {r3, lr} .save {r3, lr} ldrh r3, [r2, #-192] @@ -9393,20 +9468,20 @@ FtlEctTblFlush: movhi r2, #32 strhls r3, [r2, #-192] @ movhi movls r2, #1 - ldr r3, .L1392+4 - cbnz r0, .L1389 + ldr r3, .L1394+4 + cbnz r0, .L1391 ldr r1, [r3, #3864] ldr r0, [r1, #20] ldr r1, [r1, #16] add r2, r2, r0 cmp r1, r2 - bcc .L1390 -.L1389: + bcc .L1392 +.L1391: ldr r2, [r3, #3864] movs r0, #64 ldr r1, [r2, #16] str r1, [r2, #20] - ldr r1, .L1392+8 + ldr r1, .L1394+8 str r1, [r2] ldrh r1, [r3, #3856] ldr r2, [r3, #3864] @@ -9419,12 +9494,12 @@ FtlEctTblFlush: str r3, [r2, #4] bl FtlVendorPartWrite bl Ftl_save_ext_data -.L1390: +.L1392: movs r0, #0 pop {r3, pc} -.L1393: +.L1395: .align 2 -.L1392: +.L1394: .word .LANCHOR3 .word .LANCHOR0 .word 1112818501 @@ -9460,7 +9535,7 @@ FtlVendorPartRead: push {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} mov r10, r2 - ldr r4, .L1405 + ldr r4, .L1407 adds r2, r0, r1 .pad #108 sub sp, sp, #108 @@ -9468,19 +9543,19 @@ FtlVendorPartRead: mov r7, r1 ldrh r3, [r4, #96] cmp r2, r3 - bhi .L1404 + bhi .L1406 ldrh r6, [r4, #108] mov r9, #0 lsr r6, r0, r6 lsl fp, r6, #2 +.L1399: + cbnz r7, .L1405 .L1397: - cbnz r7, .L1403 -.L1395: mov r0, r9 add sp, sp, #108 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1403: +.L1405: ldr r3, [r4, #3888] mov r0, r8 ldrh r5, [r4, #58] @@ -9497,7 +9572,7 @@ FtlVendorPartRead: uxthcc r5, r7 lsls r2, r5, #9 str r2, [sp, #8] - cbz r3, .L1399 + cbz r3, .L1401 ldr r2, [r4, #3852] add r0, sp, #20 str r3, [sp, #24] @@ -9515,42 +9590,42 @@ FtlVendorPartRead: it eq moveq r9, #-1 cmp r2, #256 - bne .L1401 + bne .L1403 mov r2, r3 mov r1, r6 - ldr r0, .L1405+4 + ldr r0, .L1407+4 bl sftl_printk ldr r2, [r4, #3852] mov r1, r6 - ldr r0, .L1405+8 + ldr r0, .L1407+8 bl FtlMapWritePage -.L1401: +.L1403: ldr r1, [r4, #3852] lsls r2, r5, #9 ldr r3, [sp, #4] mov r0, r10 add r1, r1, r3, lsl #9 bl ftl_memcpy -.L1402: +.L1404: ldr r3, [sp, #8] adds r6, r6, #1 subs r7, r7, r5 add r8, r8, r5 add fp, fp, #4 add r10, r10, r3 - b .L1397 -.L1399: + b .L1399 +.L1401: lsls r2, r5, #9 mov r1, r3 mov r0, r10 bl ftl_memset - b .L1402 -.L1404: - mov r9, #-1 - b .L1395 + b .L1404 .L1406: + mov r9, #-1 + b .L1397 +.L1408: .align 2 -.L1405: +.L1407: .word .LANCHOR0 .word .LC107 .word .LANCHOR0+3956 @@ -9570,29 +9645,29 @@ FtlLoadEctTbl: push {r4, lr} .save {r4, lr} movs r0, #64 - ldr r4, .L1409 + ldr r4, .L1411 ldr r2, [r4, #3864] ldrh r1, [r4, #3856] bl FtlVendorPartRead ldr r3, [r4, #3864] ldr r2, [r3] - ldr r3, .L1409+4 + ldr r3, .L1411+4 cmp r2, r3 - beq .L1408 - ldr r1, .L1409+8 - ldr r0, .L1409+12 + beq .L1410 + ldr r1, .L1411+8 + ldr r0, .L1411+12 bl sftl_printk ldrh r2, [r4, #3856] movs r1, #0 ldr r0, [r4, #3864] lsls r2, r2, #9 bl ftl_memset -.L1408: +.L1410: movs r0, #0 pop {r4, pc} -.L1410: +.L1412: .align 2 -.L1409: +.L1411: .word .LANCHOR0 .word 1112818501 .word .LC108 @@ -9613,22 +9688,22 @@ Ftl_load_ext_data: push {r3, r4, r5, lr} .save {r3, r4, r5, lr} movs r1, #1 - ldr r4, .L1414 + ldr r4, .L1416 movs r0, #0 - ldr r5, .L1414+4 + ldr r5, .L1416+4 addw r2, r4, #2636 bl FtlVendorPartRead ldr r3, [r4, #2636] cmp r3, r5 - beq .L1412 + beq .L1414 mov r1, #512 addw r0, r4, #2636 bl __memzero str r5, [r4, #2636] -.L1412: +.L1414: ldr r3, [r4, #2636] cmp r3, r5 - bne .L1413 + bne .L1415 ldr r3, [r4, #2724] str r3, [r4, #2532] ldr r3, [r4, #2728] @@ -9653,7 +9728,7 @@ Ftl_load_ext_data: str r3, [r4, #2564] ldr r3, [r4, #2684] str r3, [r4, #2568] -.L1413: +.L1415: ldrh r2, [r4, #92] ldr r3, [r4, #2552] ldr r0, [r4, #2548] @@ -9662,9 +9737,9 @@ Ftl_load_ext_data: bl __aeabi_uidiv str r0, [r4, #2556] pop {r3, r4, r5, pc} -.L1415: +.L1417: .align 2 -.L1414: +.L1416: .word .LANCHOR0 .word 1179929683 .fnend @@ -9699,14 +9774,14 @@ FtlVpcTblFlush: push {r4, r5, r6, r7, r8, r9, r10, lr} .save {r4, r5, r6, r7, r8, r9, r10, lr} movs r5, #0 - ldr r4, .L1432 + ldr r4, .L1434 movs r1, #255 movw r7, #65535 - ldr r9, .L1432+16 + ldr r9, .L1434+16 ldr r3, [r4, #3284] add r8, r4, #3264 ldr r6, [r4, #3288] - ldr r10, .L1432+20 + ldr r10, .L1434+20 str r3, [r4, #3272] ldrh r3, [r4, #2576] str r6, [r4, #3276] @@ -9718,9 +9793,9 @@ FtlVpcTblFlush: str r5, [r6, #8] ldrh r2, [r4, #2350] str r3, [r6, #4] - ldr r3, .L1432+4 + ldr r3, .L1434+4 str r3, [r4, #2268] - ldr r3, .L1432+8 + ldr r3, .L1434+8 str r3, [r4, #2272] ldrh r3, [r4, #2582] strh r3, [r4, #2276] @ movhi @@ -9784,7 +9859,7 @@ FtlVpcTblFlush: bl ftl_memcpy mov r0, r5 bl FtlUpdateVaildLpn -.L1418: +.L1420: ldr r3, [r4, #3284] mov r0, r8 ldrh r2, [r4, #2576] @@ -9802,7 +9877,7 @@ FtlVpcTblFlush: ldrh r2, [r4, #2578] subs r3, r3, #1 cmp r2, r3 - blt .L1419 + blt .L1421 ldrh r3, [r4, #2576] ldrh r7, [r4, #2580] strh r3, [r4, #2580] @ movhi @@ -9823,21 +9898,21 @@ FtlVpcTblFlush: mov r1, r3 mov r0, r8 bl FlashProgPages -.L1419: +.L1421: ldrh r3, [r4, #2578] ldr r2, [r4, #3264] adds r3, r3, #1 uxth r3, r3 adds r1, r2, #1 strh r3, [r4, #2578] @ movhi - bne .L1420 + bne .L1422 cmp r3, #1 - bne .L1421 + bne .L1423 movw r2, #1169 mov r1, r9 mov r0, r10 bl sftl_printk -.L1421: +.L1423: ldrh r3, [r4, #2578] adds r5, r5, #1 uxth r5, r5 @@ -9847,30 +9922,30 @@ FtlVpcTblFlush: addeq r3, r3, #-1 strheq r3, [r4, #2578] @ movhi cmp r5, #3 - bls .L1418 + bls .L1420 mov r2, r5 ldr r1, [r4, #3268] - ldr r0, .L1432+12 + ldr r0, .L1434+12 bl sftl_printk -.L1424: - b .L1424 -.L1420: +.L1426: + b .L1426 +.L1422: cmp r3, #1 - beq .L1418 + beq .L1420 cmp r2, #256 - beq .L1418 + beq .L1420 movw r3, #65535 cmp r7, r3 - beq .L1425 + beq .L1427 movs r1, #1 mov r0, r7 bl FtlFreeSysBlkQueueIn -.L1425: +.L1427: movs r0, #0 pop {r4, r5, r6, r7, r8, r9, r10, pc} -.L1433: +.L1435: .align 2 -.L1432: +.L1434: .word .LANCHOR0 .word 1179929683 .word 1342177349 @@ -9913,17 +9988,17 @@ sftl_deinit: @ frame_needed = 0, uses_anonymous_args = 0 push {r3, lr} .save {r3, lr} - ldr r3, .L1437 + ldr r3, .L1439 ldr r3, [r3] cmp r3, #1 - bne .L1436 + bne .L1438 bl FtlSysFlush -.L1436: +.L1438: movs r0, #0 pop {r3, pc} -.L1438: +.L1440: .align 2 -.L1437: +.L1439: .word .LANCHOR2 .fnend .size sftl_deinit, .-sftl_deinit @@ -9942,21 +10017,21 @@ FtlDiscard: .save {r4, r5, r6, r7, r8, lr} .pad #8 adds r2, r0, r1 - ldr r6, .L1454 + ldr r6, .L1456 mov r8, r0 mov r5, r1 ldr r3, [r6, #140] cmp r2, r3 - bhi .L1447 + bhi .L1449 cmp r1, #31 - bhi .L1441 -.L1446: + bhi .L1443 +.L1448: movs r0, #0 -.L1439: +.L1441: add sp, sp, #8 @ sp needed pop {r4, r5, r6, r7, r8, pc} -.L1441: +.L1443: ldrh r4, [r6, #58] mov r1, r4 bl __aeabi_uidiv @@ -9964,7 +10039,7 @@ FtlDiscard: mov r7, r0 sub r8, r8, r3 uxth r3, r8 - cbz r3, .L1442 + cbz r3, .L1444 subs r4, r4, r3 adds r7, r7, #1 cmp r4, r5 @@ -9972,31 +10047,31 @@ FtlDiscard: movcs r4, r5 uxth r4, r4 subs r5, r5, r4 -.L1442: - ldr r4, .L1454+4 +.L1444: + ldr r4, .L1456+4 mov r3, #-1 str r3, [sp, #4] -.L1443: +.L1445: ldrh r3, [r6, #58] cmp r5, r3 - bcs .L1445 - ldr r3, .L1454+4 + bcs .L1447 + ldr r3, .L1456+4 ldr r2, [r3, #-188] cmp r2, #32 - bls .L1446 + bls .L1448 movs r4, #0 str r4, [r3, #-188] bl l2p_flush bl FtlVpcTblFlush - b .L1446 -.L1445: + b .L1448 +.L1447: movs r2, #0 mov r1, sp mov r0, r7 bl log2phys ldr r3, [sp] adds r3, r3, #1 - beq .L1444 + beq .L1446 ldr r3, [r4, #-188] movs r2, #1 add r1, sp, #4 @@ -10011,17 +10086,17 @@ FtlDiscard: ubfx r0, r0, #10, #16 bl P2V_block_in_plane bl decrement_vpc_count -.L1444: +.L1446: ldrh r3, [r6, #58] adds r7, r7, #1 subs r5, r5, r3 - b .L1443 -.L1447: + b .L1445 +.L1449: mov r0, #-1 - b .L1439 -.L1455: + b .L1441 +.L1457: .align 2 -.L1454: +.L1456: .word .LANCHOR0 .word .LANCHOR3 .fnend @@ -10041,69 +10116,69 @@ FtlVpcCheckAndModify: .save {r4, r5, r6, r7, r8, r9, lr} .pad #12 movs r5, #0 - ldr r4, .L1468 - ldr r1, .L1468+4 - ldr r0, .L1468+8 + ldr r4, .L1470 + ldr r1, .L1470+4 + ldr r0, .L1470+8 bl sftl_printk ldrh r2, [r4, #42] movs r1, #0 ldr r0, [r4, #3868] lsls r2, r2, #1 bl ftl_memset -.L1457: +.L1459: ldr r3, [r4, #2504] cmp r5, r3 - bcc .L1459 - ldr r9, .L1468+12 + bcc .L1461 + ldr r9, .L1470+12 movs r7, #0 movw r8, #65535 -.L1460: +.L1462: ldrh r3, [r4, #40] uxth r5, r7 cmp r3, r5 - bhi .L1464 + bhi .L1466 add sp, sp, #12 @ sp needed pop {r4, r5, r6, r7, r8, r9, pc} -.L1459: +.L1461: movs r2, #0 add r1, sp, #4 mov r0, r5 bl log2phys ldr r0, [sp, #4] adds r3, r0, #1 - beq .L1458 + beq .L1460 ubfx r0, r0, #10, #16 bl P2V_block_in_plane ldr r2, [r4, #3868] ldrh r3, [r2, r0, lsl #1] adds r3, r3, #1 strh r3, [r2, r0, lsl #1] @ movhi -.L1458: +.L1460: adds r5, r5, #1 - b .L1457 -.L1464: + b .L1459 +.L1466: ldr r3, [r4, #2324] uxth r6, r7 ldrh r2, [r3, r6, lsl #1] ldr r3, [r4, #3868] ldrh r3, [r3, r6, lsl #1] cmp r2, r3 - beq .L1462 + beq .L1464 cmp r2, r8 - beq .L1462 + beq .L1464 mov r1, r6 mov r0, r9 bl sftl_printk ldrh r3, [r4, #2348] cmp r3, r5 - beq .L1462 + beq .L1464 ldrh r3, [r4, #2444] cmp r3, r5 - beq .L1462 + beq .L1464 ldrh r3, [r4, #2396] cmp r3, r5 - beq .L1462 + beq .L1464 ldr r3, [r4, #3868] mov r0, r5 ldrh r2, [r3, r6, lsl #1] @@ -10112,12 +10187,12 @@ FtlVpcCheckAndModify: bl update_vpc_list bl l2p_flush bl FtlVpcTblFlush -.L1462: +.L1464: adds r7, r7, #1 - b .L1460 -.L1469: + b .L1462 +.L1471: .align 2 -.L1468: +.L1470: .word .LANCHOR0 .word .LANCHOR1+469 .word .LC97 @@ -10138,42 +10213,42 @@ allocate_new_data_superblock: push {r4, r5, r6, lr} .save {r4, r5, r6, lr} mov r6, r0 - ldr r4, .L1480 + ldr r4, .L1482 ldrh r5, [r0] ldrh r3, [r4, #40] cmp r3, r5 - bcs .L1471 + bcs .L1473 movw r2, #2750 - ldr r1, .L1480+4 - ldr r0, .L1480+8 + ldr r1, .L1482+4 + ldr r0, .L1482+8 bl sftl_printk -.L1471: +.L1473: movw r3, #65535 cmp r5, r3 - beq .L1472 + beq .L1474 ldr r3, [r4, #2324] mov r0, r5 ldrh r3, [r3, r5, lsl #1] - cbz r3, .L1473 + cbz r3, .L1475 bl INSERT_DATA_LIST -.L1472: +.L1474: ldrh r0, [r4, #4000] movs r3, #1 strb r3, [r6, #8] movw r3, #65535 cmp r0, r3 - beq .L1474 + beq .L1476 cmp r5, r0 - bne .L1475 + bne .L1477 ldr r3, [r4, #2324] ldrh r3, [r3, r0, lsl #1] - cbz r3, .L1476 -.L1475: + cbz r3, .L1478 +.L1477: bl update_vpc_list -.L1476: +.L1478: movw r3, #65535 strh r3, [r4, #4000] @ movhi -.L1474: +.L1476: mov r0, r6 bl allocate_data_superblock bl l2p_flush @@ -10182,12 +10257,12 @@ allocate_new_data_superblock: bl FtlVpcTblFlush movs r0, #0 pop {r4, r5, r6, pc} -.L1473: +.L1475: bl INSERT_FREE_LIST - b .L1472 -.L1481: + b .L1474 +.L1483: .align 2 -.L1480: +.L1482: .word .LANCHOR0 .word .LANCHOR1+490 .word .LC1 @@ -10207,29 +10282,29 @@ FtlProgPages: push {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} movs r7, #0 - ldr r6, .L1496 + ldr r6, .L1498 .pad #20 sub sp, sp, #20 mov r4, r3 movs r2, #0 - ldr r10, .L1496+8 + ldr r10, .L1498+8 mov r5, r0 - ldr fp, .L1496+12 + ldr fp, .L1498+12 mov r9, r1 ldrb r3, [r3, #9] @ zero_extendqisi2 bl FlashProgPages -.L1483: +.L1485: cmp r7, r9 - beq .L1490 + beq .L1492 mov r8, #0 - b .L1491 -.L1486: + b .L1493 +.L1488: ldr r0, [r5, #4] ubfx r0, r0, #10, #16 bl P2V_block_in_plane ldrh r3, [r4] cmp r3, r0 - bne .L1484 + bne .L1486 ldr r1, [r6, #2324] ldrh r0, [r4, #4] ldrh r2, [r1, r3, lsl #1] @@ -10239,12 +10314,12 @@ FtlProgPages: strb r8, [r4, #6] strh r8, [r4, #4] @ movhi strh r3, [r4, #2] @ movhi -.L1484: +.L1486: ldrh r3, [r4, #4] - cbnz r3, .L1485 + cbnz r3, .L1487 mov r0, r4 bl allocate_new_data_superblock -.L1485: +.L1487: ldr r3, [r6, #2732] adds r3, r3, #1 str r3, [r6, #2732] @@ -10260,19 +10335,19 @@ FtlProgPages: ldrb r3, [r4, #9] @ zero_extendqisi2 mov r0, r5 bl FlashProgPages -.L1491: +.L1493: ldr r3, [r5] adds r3, r3, #1 - beq .L1486 + beq .L1488 ldrb r2, [r4, #6] @ zero_extendqisi2 ldrh r3, [r6, #32] cmp r2, r3 - bcc .L1487 - mov r2, #936 + bcc .L1489 + movw r2, #941 mov r1, r10 mov r0, fp bl sftl_printk -.L1487: +.L1489: ldr r3, [r5, #4] add r1, sp, #16 movs r2, #1 @@ -10287,36 +10362,36 @@ FtlProgPages: ldr r3, [sp, #4] mov r8, r0 adds r3, r3, #1 - beq .L1488 + beq .L1490 ldr r3, [r6, #2324] ldrh r2, [r3, r0, lsl #1] - cbnz r2, .L1489 + cbnz r2, .L1491 mov r1, r0 - ldr r0, .L1496+4 + ldr r0, .L1498+4 bl sftl_printk -.L1489: +.L1491: mov r0, r8 bl decrement_vpc_count -.L1488: +.L1490: adds r7, r7, #1 adds r5, r5, #20 - b .L1483 -.L1490: + b .L1485 +.L1492: ldrb r2, [r4, #6] @ zero_extendqisi2 ldrh r3, [r6, #32] cmp r2, r3 - bcc .L1482 - movw r2, #951 - ldr r1, .L1496+8 - ldr r0, .L1496+12 + bcc .L1484 + mov r2, #956 + ldr r1, .L1498+8 + ldr r0, .L1498+12 bl sftl_printk -.L1482: +.L1484: add sp, sp, #20 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1497: +.L1499: .align 2 -.L1496: +.L1498: .word .LANCHOR0 .word .LC111 .word .LANCHOR1+519 @@ -10338,49 +10413,49 @@ FtlGcFreeTempBlock: .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} .pad #12 movw r2, #65535 - ldr r4, .L1524 + ldr r4, .L1526 ldrh r5, [r4, #2444] ldrh r1, [r4, #102] cmp r5, r2 - bne .L1499 -.L1509: + bne .L1501 +.L1511: ldrh r2, [r4, #2444] movs r3, #0 str r3, [r4, #4008] movw r3, #65535 cmp r2, r3 - bne .L1522 -.L1500: + bne .L1524 +.L1502: movs r0, #0 -.L1498: +.L1500: add sp, sp, #12 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1499: - cbz r0, .L1502 - ldr r3, .L1524+4 +.L1501: + cbz r0, .L1504 + ldr r3, .L1526+4 ldrh r0, [r3, #4] cmp r0, r2 - beq .L1503 -.L1504: + beq .L1505 +.L1506: movs r1, #2 -.L1502: - ldr r0, .L1524+8 +.L1504: + ldr r0, .L1526+8 bl FtlGcScanTempBlk str r0, [sp, #4] adds r0, r0, #1 - beq .L1505 + beq .L1507 ldr r2, [r4, #2328] ldrh r3, [r2, r5, lsl #1] cmp r3, #4 - bls .L1506 + bls .L1508 subs r3, r3, #5 movs r0, #1 strh r3, [r2, r5, lsl #1] @ movhi bl FtlEctTblFlush -.L1506: +.L1508: ldr r3, [r4, #4008] - cbnz r3, .L1507 + cbnz r3, .L1509 ldr r3, [r4, #2732] ldr r0, [sp, #4] adds r3, r3, #1 @@ -10388,66 +10463,66 @@ FtlGcFreeTempBlock: str r3, [r4, #2732] bl FtlBbmMapBadBlock bl FtlBbmTblFlush -.L1507: +.L1509: movs r3, #0 str r3, [r4, #4008] -.L1518: +.L1520: movs r0, #1 - b .L1498 -.L1503: + b .L1500 +.L1505: movs r2, #0 strh r2, [r3, #4] @ movhi ldrh r3, [r4, #2344] cmp r3, #17 - bhi .L1504 - b .L1502 -.L1505: - ldr r3, .L1524+4 + bhi .L1506 + b .L1504 +.L1507: + ldr r3, .L1526+4 ldrh r2, [r3, #4] movw r3, #65535 cmp r2, r3 - bne .L1518 - b .L1509 -.L1522: + bne .L1520 + b .L1511 +.L1524: ldrb r1, [r4, #2451] @ zero_extendqisi2 ldrh r3, [r4, #102] ldrh r2, [r4, #3200] muls r3, r1, r3 cmp r2, r3 - beq .L1510 + beq .L1512 movs r2, #162 - ldr r1, .L1524+12 - ldr r0, .L1524+16 + ldr r1, .L1526+12 + ldr r0, .L1526+16 bl sftl_printk -.L1510: +.L1512: ldrb r3, [r4, #2451] @ zero_extendqisi2 movs r6, #0 ldrh r0, [r4, #102] mov r9, #12 ldr r2, [r4, #2324] ldrh r1, [r4, #2444] - ldr r10, .L1524+12 + ldr r10, .L1526+12 smulbb r3, r3, r0 - ldr fp, .L1524+16 + ldr fp, .L1526+16 strh r3, [r2, r1, lsl #1] @ movhi ldr r2, [r4, #2528] ldrh r3, [r4, #3200] add r3, r3, r2 str r3, [r4, #2528] -.L1511: +.L1513: ldrh r2, [r4, #3200] uxth r3, r6 cmp r2, r3 - bhi .L1515 + bhi .L1517 movw r0, #65535 bl decrement_vpc_count ldrh r0, [r4, #2444] ldr r3, [r4, #2324] ldrh r3, [r3, r0, lsl #1] cmp r3, #0 - beq .L1516 + beq .L1518 bl INSERT_DATA_LIST -.L1517: +.L1519: movs r5, #0 movw r6, #65535 strh r6, [r4, #2444] @ movhi @@ -10459,12 +10534,12 @@ FtlGcFreeTempBlock: ldrh r2, [r4, #2344] add r3, r3, r3, lsl #1 cmp r2, r3, asr #2 - ble .L1500 + ble .L1502 movs r3, #20 strh r6, [r4, #2588] @ movhi strh r3, [r4, #3148] @ movhi - b .L1500 -.L1515: + b .L1502 +.L1517: uxth r7, r6 ldr r8, [r4, #3196] ldr r3, [r4, #2504] @@ -10472,12 +10547,12 @@ FtlGcFreeTempBlock: add r5, r8, r7 ldr r2, [r5, #8] cmp r2, r3 - bcc .L1512 + bcc .L1514 movs r2, #168 mov r1, r10 mov r0, fp bl sftl_printk -.L1512: +.L1514: movs r2, #0 add r1, sp, #4 ldr r0, [r5, #8] @@ -10485,7 +10560,7 @@ FtlGcFreeTempBlock: ldr r0, [r8, r7] ldr r3, [sp, #4] cmp r0, r3 - bne .L1513 + bne .L1515 ubfx r0, r0, #10, #16 bl P2V_block_in_plane movs r2, #1 @@ -10494,23 +10569,23 @@ FtlGcFreeTempBlock: ldr r0, [r5, #8] bl log2phys mov r0, r7 -.L1523: +.L1525: bl decrement_vpc_count -.L1514: +.L1516: adds r6, r6, #1 - b .L1511 -.L1513: + b .L1513 +.L1515: ldr r2, [r5, #4] cmp r3, r2 - beq .L1514 + beq .L1516 ldrh r0, [r4, #2444] - b .L1523 -.L1516: + b .L1525 +.L1518: bl INSERT_FREE_LIST - b .L1517 -.L1525: + b .L1519 +.L1527: .align 2 -.L1524: +.L1526: .word .LANCHOR0 .word .LANCHOR2 .word .LANCHOR0+2444 @@ -10531,25 +10606,25 @@ FtlGcPageRecovery: @ frame_needed = 0, uses_anonymous_args = 0 push {r4, lr} .save {r4, lr} - ldr r4, .L1528 + ldr r4, .L1530 ldrh r1, [r4, #102] addw r0, r4, #2444 bl FtlGcScanTempBlk ldrh r2, [r4, #2446] ldrh r3, [r4, #102] cmp r2, r3 - bcc .L1526 + bcc .L1528 addw r0, r4, #3908 bl FtlMapBlkWriteDump_data movs r0, #0 bl FtlGcFreeTempBlock movs r3, #0 str r3, [r4, #4008] -.L1526: - pop {r4, pc} -.L1529: - .align 2 .L1528: + pop {r4, pc} +.L1531: + .align 2 +.L1530: .word .LANCHOR0 .fnend .size FtlGcPageRecovery, .-FtlGcPageRecovery @@ -10567,7 +10642,7 @@ FtlPowerLostRecovery: push {r4, r5, r6, lr} .save {r4, r5, r6, lr} movs r5, #0 - ldr r4, .L1531 + ldr r4, .L1533 addw r6, r4, #2348 str r5, [r4, #4020] mov r0, r6 @@ -10584,9 +10659,9 @@ FtlPowerLostRecovery: bl decrement_vpc_count mov r0, r5 pop {r4, r5, r6, pc} -.L1532: +.L1534: .align 2 -.L1531: +.L1533: .word .LANCHOR0 .fnend .size FtlPowerLostRecovery, .-FtlPowerLostRecovery @@ -10604,35 +10679,35 @@ Ftl_gc_temp_data_write_back: push {r4, r5, r6, lr} .save {r4, r5, r6, lr} movs r3, #0 - ldr r4, .L1540 + ldr r4, .L1542 movs r5, #0 movs r6, #20 mov r2, r3 ldr r1, [r4, #3164] ldr r0, [r4, #3840] bl FlashProgPages -.L1534: +.L1536: ldr r1, [r4, #3164] uxth r3, r5 cmp r1, r3 - bhi .L1537 + bhi .L1539 ldr r0, [r4, #3840] bl FtlGcBufFree ldrh r3, [r4, #2448] movs r0, #0 str r0, [r4, #3164] - cbnz r3, .L1533 + cbnz r3, .L1535 movs r0, #1 bl FtlGcFreeTempBlock - b .L1539 -.L1537: + b .L1541 +.L1539: muls r3, r6, r3 ldr r2, [r4, #3840] adds r5, r5, #1 adds r1, r2, r3 ldr r2, [r2, r3] adds r0, r2, #1 - bne .L1535 + bne .L1537 ldrh r0, [r4, #2444] movs r5, #0 ldr r1, [r4, #2324] @@ -10648,20 +10723,20 @@ Ftl_gc_temp_data_write_back: bl FtlBbmMapBadBlock bl FtlBbmTblFlush bl FtlGcPageVarInit -.L1539: +.L1541: movs r0, #1 -.L1533: - pop {r4, r5, r6, pc} .L1535: + pop {r4, r5, r6, pc} +.L1537: ldr r3, [r1, #12] ldr r1, [r1, #4] ldr r2, [r3, #8] ldr r0, [r3, #12] bl FtlGcUpdatePage - b .L1534 -.L1541: + b .L1536 +.L1543: .align 2 -.L1540: +.L1542: .word .LANCHOR0 .fnend .size Ftl_gc_temp_data_write_back, .-Ftl_gc_temp_data_write_back @@ -10679,17 +10754,17 @@ Ftl_get_new_temp_ppa: push {r3, r4, r5, lr} .save {r3, r4, r5, lr} movw r3, #65535 - ldr r4, .L1545 + ldr r4, .L1547 ldrh r2, [r4, #2444] cmp r2, r3 - beq .L1543 + beq .L1545 ldrh r3, [r4, #2448] - cbnz r3, .L1544 -.L1543: + cbnz r3, .L1546 +.L1545: movs r0, #0 movs r5, #0 bl FtlGcFreeTempBlock - ldr r0, .L1545+4 + ldr r0, .L1547+4 strb r5, [r4, #2452] bl allocate_data_superblock strh r5, [r4, #3192] @ movhi @@ -10698,13 +10773,13 @@ Ftl_get_new_temp_ppa: mov r0, r5 bl FtlEctTblFlush bl FtlVpcTblFlush -.L1544: - ldr r0, .L1545+4 +.L1546: + ldr r0, .L1547+4 pop {r3, r4, r5, lr} b get_new_active_ppa -.L1546: +.L1548: .align 2 -.L1545: +.L1547: .word .LANCHOR0 .word .LANCHOR0+2444 .fnend @@ -10720,7 +10795,7 @@ rk_ftl_garbage_collect: .fnstart @ args = 0, pretend = 0, frame = 24 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L1665 + ldr r3, .L1667 push {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} mov r7, r0 @@ -10729,21 +10804,21 @@ rk_ftl_garbage_collect: mov r4, r3 ldr r0, [r3, #3824] cmp r0, #0 - bne .L1621 + bne .L1623 ldrh r2, [r3, #2336] cmp r2, #47 - bls .L1547 - ldr r2, .L1665+4 + bls .L1549 + ldr r2, .L1667+4 ldrh r1, [r2, #4] movw r2, #65535 cmp r1, r2 - bne .L1549 -.L1552: + bne .L1551 +.L1554: ldrh r0, [r4, #3204] movw r2, #65535 cmp r0, r2 - bne .L1550 -.L1551: + bne .L1552 +.L1553: ldr r3, [r4, #3152] movw r5, #65535 ldrh r1, [r4, #2588] @@ -10751,112 +10826,112 @@ rk_ftl_garbage_collect: add r3, r3, r7, lsl #7 cmp r1, r5 str r3, [r4, #3152] - bne .L1553 + bne .L1555 ldrh r2, [r4, #2444] cmp r2, r1 - bne .L1554 + bne .L1556 ldrh r8, [r4, #3202] cmp r8, r2 - bne .L1555 + bne .L1557 ldrh r2, [r4, #2344] cmp r2, #24 ite cc movcc r2, #5120 movcs r2, #1024 cmp r3, r2 - bls .L1555 - ldr r3, .L1665+8 + bls .L1557 + ldr r3, .L1667+8 movs r6, #0 str r6, [r4, #3152] strh r6, [r3, #-184] @ movhi bl GetSwlReplaceBlock cmp r0, r8 mov r5, r0 - bne .L1625 + bne .L1627 ldrh r2, [r4, #2344] ldrh r3, [r4, #3150] cmp r2, r3 - bcs .L1558 + bcs .L1560 movs r0, #64 bl List_get_gc_head_node uxth r3, r0 cmp r3, r5 - beq .L1560 + beq .L1562 mov r0, r3 ldr r3, [r4, #2324] ldrh r3, [r3, r0, lsl #1] cmp r3, #7 - bhi .L1561 + bhi .L1563 mov r0, r6 bl List_get_gc_head_node uxth r6, r0 movs r3, #128 strh r3, [r4, #3150] @ movhi cmp r6, r5 - bne .L1557 -.L1560: + bne .L1559 +.L1562: bl FtlGcReFreshBadBlk cmp r7, #0 - bne .L1563 + bne .L1565 movw r3, #65535 cmp r5, r3 - bne .L1563 -.L1619: + bne .L1565 +.L1621: ldrh r3, [r4, #2344] cmp r3, #24 - bhi .L1626 + bhi .L1628 cmp r3, #16 ldrh r6, [r4, #102] - bls .L1565 + bls .L1567 lsrs r6, r6, #5 -.L1564: +.L1566: ldrh r2, [r4, #3148] cmp r2, r3 - bcs .L1568 + bcs .L1570 ldrh r3, [r4, #2444] movw r2, #65535 cmp r3, r2 - bne .L1569 + bne .L1571 ldrh r2, [r4, #3202] cmp r2, r3 - bne .L1569 - ldr r3, .L1665+8 + bne .L1571 + ldr r3, .L1667+8 ldrh r0, [r3, #-184] - cbnz r0, .L1570 + cbnz r0, .L1572 ldr r3, [r4, #2504] ldr r2, [r4, #2500] add r3, r3, r3, lsl #1 cmp r2, r3, lsr #2 - bcs .L1571 -.L1570: + bcs .L1573 +.L1572: ldrh r3, [r4, #2572] add r3, r3, r3, lsl #1 asrs r3, r3, #2 -.L1659: +.L1661: strh r3, [r4, #3148] @ movhi movs r3, #0 str r3, [r4, #3160] -.L1547: +.L1549: add sp, sp, #36 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1549: +.L1551: ldrh r3, [r3, #2444] cmp r3, r2 - beq .L1552 + beq .L1554 movs r0, #1 bl FtlGcFreeTempBlock cmp r0, #0 - beq .L1552 + beq .L1554 movs r0, #1 - b .L1547 -.L1550: + b .L1549 +.L1552: ldrh r3, [r4, #3202] cmp r3, r2 - bne .L1551 + bne .L1553 ldrh r1, [r4, #3206] cmp r1, r3 - beq .L1551 + beq .L1553 ldrh r2, [r4, #3208] cmp r2, r3 itttt ne @@ -10864,18 +10939,18 @@ rk_ftl_garbage_collect: strhne r1, [r4, #3204] @ movhi strhne r2, [r4, #3206] @ movhi strhne r3, [r4, #3208] @ movhi - b .L1551 -.L1561: + b .L1553 +.L1563: movs r3, #64 -.L1658: +.L1660: strh r3, [r4, #3150] @ movhi - b .L1560 -.L1558: + b .L1562 +.L1560: movs r3, #80 - b .L1658 -.L1625: + b .L1660 +.L1627: mov r6, r0 -.L1557: +.L1559: ldr r3, [r4, #2324] mov r5, r6 ldrh r1, [r4, #3148] @@ -10883,66 +10958,66 @@ rk_ftl_garbage_collect: ldrh r3, [r3, r6, lsl #1] str r1, [sp, #4] ldr r1, [r4, #2328] - ldr r0, .L1665+12 + ldr r0, .L1667+12 ldrh r1, [r1, r6, lsl #1] str r1, [sp] mov r1, r6 bl sftl_printk - b .L1560 -.L1565: + b .L1562 +.L1567: cmp r3, #12 - bls .L1566 + bls .L1568 lsrs r6, r6, #4 - b .L1564 -.L1566: + b .L1566 +.L1568: cmp r3, #8 - bls .L1564 + bls .L1566 lsrs r6, r6, #2 - b .L1564 -.L1626: + b .L1566 +.L1628: movs r6, #1 - b .L1564 -.L1571: + b .L1566 +.L1573: movs r3, #18 - b .L1659 -.L1569: + b .L1661 +.L1571: ldrh r3, [r4, #2572] add r3, r3, r3, lsl #1 asrs r3, r3, #2 strh r3, [r4, #3148] @ movhi -.L1568: +.L1570: ldrh r3, [r4, #3210] - cbz r3, .L1627 + cbz r3, .L1629 adds r6, r6, #32 uxth r6, r6 -.L1627: +.L1629: movw r5, #65535 -.L1574: +.L1576: ldrh r3, [r4, #2588] movw r2, #65535 cmp r3, r2 - bne .L1583 + bne .L1585 cmp r5, r3 - beq .L1584 + beq .L1586 strh r5, [r4, #2588] @ movhi -.L1585: +.L1587: ldrh r0, [r4, #2588] movw r7, #65535 movs r3, #0 strb r3, [r4, #2596] cmp r0, r7 - beq .L1583 + beq .L1585 bl IsBlkInGcList - cbz r0, .L1588 + cbz r0, .L1590 strh r7, [r4, #2588] @ movhi -.L1588: +.L1590: ldrh r2, [r4, #2588] movw r3, #65535 cmp r2, r3 - beq .L1583 - ldr r0, .L1665+16 + beq .L1585 + ldr r0, .L1667+16 bl make_superblock - ldr r2, .L1665+8 + ldr r2, .L1667+8 movs r3, #0 strh r3, [r4, #2590] @ movhi strb r3, [r4, #2594] @@ -10951,67 +11026,67 @@ rk_ftl_garbage_collect: ldr r3, [r4, #2324] ldrh r3, [r3, r1, lsl #1] strh r3, [r2, #-180] @ movhi -.L1583: +.L1585: ldrh r3, [r4, #2588] ldrh r2, [r4, #2348] cmp r2, r3 - beq .L1589 + beq .L1591 ldrh r2, [r4, #2396] cmp r2, r3 - beq .L1589 - ldr r7, .L1665+8 -.L1590: + beq .L1591 + ldr r7, .L1667+8 +.L1592: ldrh r9, [r4, #2588] movw r3, #65535 cmp r9, r3 - bne .L1591 + bne .L1593 movs r3, #0 mov r10, r3 str r3, [r4, #3160] -.L1592: +.L1594: ldrh r8, [r4, #3156] mov r0, r8 bl List_get_gc_head_node uxth fp, r0 cmp fp, r9 strh fp, [r4, #2588] @ movhi - bne .L1593 + bne .L1595 movs r3, #0 movs r0, #8 strh r3, [r4, #3156] @ movhi - b .L1547 -.L1575: + b .L1549 +.L1577: movs r3, #0 ldrh r7, [r4, #2344] str r3, [r4, #3160] ldrh r3, [r4, #3148] - ldr r5, .L1665+8 + ldr r5, .L1667+8 cmp r3, r7 - bcs .L1576 + bcs .L1578 ldrh r3, [r5, #-184] - cbnz r3, .L1577 + cbnz r3, .L1579 ldr r3, [r4, #2504] ldr r2, [r4, #2500] add r3, r3, r3, lsl #1 cmp r2, r3, lsr #2 - bcs .L1578 -.L1577: + bcs .L1580 +.L1579: ldrh r3, [r4, #2572] add r3, r3, r3, lsl #1 asrs r3, r3, #2 -.L1660: - strh r3, [r4, #3148] @ movhi .L1662: + strh r3, [r4, #3148] @ movhi +.L1664: bl FtlReadRefresh ldrh r0, [r5, #-184] - b .L1547 -.L1578: + b .L1549 +.L1580: movs r3, #18 - b .L1660 -.L1576: + b .L1662 +.L1578: ldrh r0, [r5, #-184] cmp r0, #0 - bne .L1580 + bne .L1582 ldrh r6, [r4, #2572] add r3, r6, r6, lsl #1 asrs r3, r3, #2 @@ -11025,57 +11100,57 @@ rk_ftl_garbage_collect: muls r3, r1, r3 add r3, r3, r3, lsr #31 cmp r2, r3, asr #1 - ble .L1581 + ble .L1583 subs r6, r6, #1 cmp r7, r6 - bge .L1662 -.L1581: + bge .L1664 +.L1583: cmp r2, #0 - bne .L1580 + bne .L1582 movw r0, #65535 bl decrement_vpc_count ldrh r0, [r4, #2344] adds r0, r0, #1 - b .L1547 -.L1666: + b .L1549 +.L1668: .align 2 -.L1665: +.L1667: .word .LANCHOR0 .word .LANCHOR2 .word .LANCHOR3 .word .LC112 .word .LANCHOR0+2588 -.L1584: +.L1586: ldrh r3, [r4, #3202] cmp r3, r5 - beq .L1585 + beq .L1587 ldr r2, [r4, #2324] ldrh r3, [r2, r3, lsl #1] - cbnz r3, .L1586 + cbnz r3, .L1588 strh r5, [r4, #3202] @ movhi -.L1586: +.L1588: ldrh r3, [r4, #3202] strh r3, [r4, #2588] @ movhi movw r3, #65535 strh r3, [r4, #3202] @ movhi - b .L1585 -.L1589: + b .L1587 +.L1591: movw r3, #65535 strh r3, [r4, #2588] @ movhi -.L1663: - ldr r3, .L1667 +.L1665: + ldr r3, .L1669 ldrh r0, [r3, #-184] - b .L1547 -.L1593: + b .L1549 +.L1595: str r0, [sp, #8] mov r0, fp bl IsBlkInGcList add r8, r8, #1 ldr r3, [sp, #8] - cbz r0, .L1594 + cbz r0, .L1596 strh r8, [r4, #3156] @ movhi - b .L1592 -.L1594: + b .L1594 +.L1596: uxth r0, r3 ldrh ip, [r4, #32] ldrh r3, [r4, #102] @@ -11086,64 +11161,64 @@ rk_ftl_garbage_collect: ldrh r1, [r2, r0, lsl #1] add ip, r3, r3, lsr #31 cmp r1, ip, asr #1 - bgt .L1596 + bgt .L1598 cmp r8, #48 - bls .L1597 + bls .L1599 cmp r1, #8 - bls .L1597 + bls .L1599 ldrh r1, [r4, #3192] cmp r1, #35 - bhi .L1597 -.L1596: + bhi .L1599 +.L1598: strh r10, [r4, #3156] @ movhi -.L1597: +.L1599: ldrh r2, [r2, r0, lsl #1] cmp r3, r2 - bgt .L1598 + bgt .L1600 cmp r5, r9 - bne .L1598 + bne .L1600 movs r3, #0 strh r5, [r4, #2588] @ movhi strh r3, [r4, #3156] @ movhi - b .L1663 -.L1598: - cbnz r2, .L1599 + b .L1665 +.L1600: + cbnz r2, .L1601 movw r0, #65535 bl decrement_vpc_count ldrh r3, [r4, #3156] adds r3, r3, #1 strh r3, [r4, #3156] @ movhi - b .L1592 -.L1599: + b .L1594 +.L1601: movs r3, #0 strb r3, [r4, #2596] ldrh r3, [r4, #2348] cmp r3, fp - bne .L1600 + bne .L1602 movw r2, #665 - ldr r1, .L1667+4 - ldr r0, .L1667+8 + ldr r1, .L1669+4 + ldr r0, .L1669+8 bl sftl_printk -.L1600: +.L1602: ldrh r2, [r4, #2588] ldrh r3, [r4, #2396] cmp r2, r3 - bne .L1601 + bne .L1603 movw r2, #666 - ldr r1, .L1667+4 - ldr r0, .L1667+8 + ldr r1, .L1669+4 + ldr r0, .L1669+8 bl sftl_printk -.L1601: +.L1603: ldrh r2, [r4, #2588] ldrh r3, [r4, #2444] cmp r2, r3 - bne .L1602 + bne .L1604 movw r2, #667 - ldr r1, .L1667+4 - ldr r0, .L1667+8 + ldr r1, .L1669+4 + ldr r0, .L1669+8 bl sftl_printk -.L1602: - ldr r0, .L1667+12 +.L1604: + ldr r0, .L1669+12 bl make_superblock ldrh r1, [r4, #2588] movs r3, #0 @@ -11153,7 +11228,7 @@ rk_ftl_garbage_collect: strh r3, [r4, #2590] @ movhi strb r3, [r4, #2594] strh r2, [r7, #-180] @ movhi -.L1591: +.L1593: bl FtlReadRefresh movs r3, #1 str r3, [r4, #3824] @@ -11169,11 +11244,11 @@ rk_ftl_garbage_collect: mov r3, #0 it gt uxthgt r6, r6 -.L1661: +.L1663: str r3, [sp, #8] ldrh r3, [sp, #8] cmp r6, r3 - bls .L1612 + bls .L1614 ldr r3, [sp, #8] movw r10, #65535 ldrh r1, [r4, #2590] @@ -11182,58 +11257,58 @@ rk_ftl_garbage_collect: ldr r0, [r4, #3180] add r1, r1, r3 movs r3, #0 - ldr ip, .L1667+20 + ldr ip, .L1669+20 mov r8, r3 - b .L1613 -.L1606: + b .L1615 +.L1608: ldrh r2, [ip, #2]! cmp r2, r10 - beq .L1605 + beq .L1607 mla r9, fp, r8, r0 add r8, r8, #1 orr r2, r1, r2, lsl #10 uxth r8, r8 str r2, [r9, #4] -.L1605: +.L1607: adds r3, r3, #1 -.L1613: +.L1615: uxth r2, r3 cmp lr, r2 - bhi .L1606 + bhi .L1608 mov fp, #0 ldrb r2, [r4, #2596] @ zero_extendqisi2 mov r1, r8 bl FlashReadPages -.L1607: +.L1609: uxth r3, fp cmp r8, r3 - bhi .L1611 + bhi .L1613 ldr r3, [sp, #8] adds r3, r3, #1 - b .L1661 -.L1611: + b .L1663 +.L1613: mov r9, #20 ldr r3, [r4, #3180] mul r9, r9, fp add r2, r3, r9 ldr r3, [r3, r9] adds r3, r3, #1 - beq .L1608 + beq .L1610 ldr r10, [r2, #12] movw r3, #61589 ldrh r2, [r10] cmp r2, r3 - bne .L1608 + bne .L1610 ldr r3, [r10, #8] adds r2, r3, #1 - bne .L1609 + bne .L1611 movw r2, #703 - ldr r1, .L1667+4 - ldr r0, .L1667+8 + ldr r1, .L1669+4 + ldr r0, .L1669+8 str r3, [sp, #16] bl sftl_printk ldr r3, [sp, #16] -.L1609: +.L1611: movs r2, #0 mov r0, r3 add r1, sp, #28 @@ -11243,7 +11318,7 @@ rk_ftl_garbage_collect: add r0, r0, r9 ldr r2, [r0, #4] cmp r2, r3 - bne .L1608 + bne .L1610 ldrh r3, [r7, #-182] movs r2, #20 ldr r1, [r4, #3164] @@ -11284,46 +11359,46 @@ rk_ftl_garbage_collect: ldrb r2, [r4, #2451] @ zero_extendqisi2 ldr r3, [r4, #3164] cmp r2, r3 - beq .L1610 + beq .L1612 ldrh r3, [r4, #2448] - cbnz r3, .L1608 -.L1610: + cbnz r3, .L1610 +.L1612: bl Ftl_gc_temp_data_write_back - cbz r0, .L1608 -.L1664: + cbz r0, .L1610 +.L1666: movs r3, #0 ldrh r0, [r7, #-184] str r3, [r4, #3824] - b .L1547 -.L1608: + b .L1549 +.L1610: add fp, fp, #1 - b .L1607 -.L1612: + b .L1609 +.L1614: ldrh r3, [r4, #2590] add r6, r6, r3 ldr r3, [sp, #12] uxth r6, r6 cmp r3, r6 strh r6, [r4, #2590] @ movhi - bhi .L1614 + bhi .L1616 ldr r3, [r4, #3164] - cbz r3, .L1615 + cbz r3, .L1617 bl Ftl_gc_temp_data_write_back cmp r0, #0 - bne .L1664 -.L1615: + bne .L1666 +.L1617: ldrh r6, [r7, #-182] - cbnz r6, .L1616 + cbnz r6, .L1618 ldrh r1, [r4, #2588] ldr r3, [r4, #2324] ldrh r3, [r3, r1, lsl #1] - cbz r3, .L1616 + cbz r3, .L1618 ldrh r0, [r7, #-180] ldrh r2, [r4, #2590] str r3, [sp] mov r3, r6 str r0, [sp, #4] - ldr r0, .L1667+16 + ldr r0, .L1669+16 bl sftl_printk ldrh r2, [r4, #2588] ldr r3, [r4, #2324] @@ -11332,68 +11407,68 @@ rk_ftl_garbage_collect: bl update_vpc_list bl l2p_flush bl FtlVpcTblFlush -.L1616: +.L1618: movw r3, #65535 strh r3, [r4, #2588] @ movhi -.L1614: +.L1616: ldrh r3, [r4, #2344] cmp r3, #2 - bhi .L1617 + bhi .L1619 ldrh r6, [r4, #102] - b .L1590 -.L1617: + b .L1592 +.L1619: movs r2, #0 str r2, [r4, #3824] - ldr r2, .L1667 + ldr r2, .L1669 ldrh r0, [r2, #-184] cmp r0, #0 - bne .L1547 + bne .L1549 adds r0, r3, #1 - b .L1547 -.L1621: + b .L1549 +.L1623: movs r0, #0 - b .L1547 -.L1668: + b .L1549 +.L1670: .align 2 -.L1667: +.L1669: .word .LANCHOR3 .word .LANCHOR1+551 .word .LC1 .word .LANCHOR0+2588 .word .LC113 .word .LANCHOR0+2602 -.L1553: +.L1555: cmp r7, #0 - beq .L1619 -.L1563: + beq .L1621 +.L1565: ldrh r2, [r4, #2444] movw r3, #65535 cmp r2, r3 - bne .L1630 -.L1620: + bne .L1632 +.L1622: ldrh r3, [r4, #3202] movw r2, #65535 cmp r3, r2 - bne .L1630 + bne .L1632 cmp r5, r3 - bne .L1630 + bne .L1632 ldrh r3, [r4, #2588] cmp r3, r5 - beq .L1575 -.L1580: + beq .L1577 +.L1582: movw r5, #65535 -.L1630: +.L1632: movs r6, #1 - b .L1574 -.L1554: + b .L1576 +.L1556: cmp r7, #0 - bne .L1580 - b .L1619 -.L1555: + bne .L1582 + b .L1621 +.L1557: cmp r7, #0 - beq .L1619 + beq .L1621 movw r5, #65535 - b .L1620 + b .L1622 .fnend .size rk_ftl_garbage_collect, .-rk_ftl_garbage_collect .align 1 @@ -11432,30 +11507,30 @@ FtlRead: mov r7, r1 mov r9, r3 str r2, [sp, #56] - bne .L1671 + bne .L1673 mov r2, r3 ldr r1, [sp, #56] add r0, r7, #256 bl FtlVendorPartRead str r0, [sp, #28] -.L1670: +.L1672: ldr r0, [sp, #28] add sp, sp, #84 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1671: +.L1673: ldr r3, [sp, #56] - ldr r4, .L1703 + ldr r4, .L1705 adds r3, r1, r3 str r3, [sp, #36] ldr r2, [sp, #36] ldr r3, [r4, #140] cmp r2, r3 - bhi .L1692 - ldr r3, .L1703+4 + bhi .L1694 + ldr r3, .L1705+4 ldr r3, [r3] adds r0, r3, #1 - beq .L1693 + beq .L1695 ldrh r5, [r4, #58] mov r0, r7 mov r8, #0 @@ -11480,45 +11555,45 @@ FtlRead: str r8, [sp, #28] add r3, r3, r2 str r3, [r4, #2508] -.L1673: +.L1675: ldr r3, [sp, #32] - cbnz r3, .L1690 - ldr r3, .L1703 + cbnz r3, .L1692 + ldr r3, .L1705 ldrh r2, [r3, #3210] - cbnz r2, .L1691 + cbnz r2, .L1693 ldrh r3, [r3, #2344] cmp r3, #31 - bhi .L1670 -.L1691: + bhi .L1672 +.L1693: movs r1, #1 movs r0, #0 bl rk_ftl_garbage_collect - b .L1670 -.L1690: + b .L1672 +.L1692: add r1, sp, #76 movs r2, #0 mov r0, r5 bl log2phys ldr r3, [sp, #76] adds r1, r3, #1 - bne .L1674 + bne .L1676 mov r10, #0 -.L1675: +.L1677: ldrh r0, [r4, #58] cmp r10, r0 - bcc .L1677 -.L1678: + bcc .L1679 +.L1680: ldr r3, [sp, #32] adds r5, r5, #1 subs r3, r3, #1 str r3, [sp, #32] - beq .L1682 + beq .L1684 ldrh r3, [r4, #32] cmp r6, r3, lsl #2 - bne .L1673 -.L1682: + bne .L1675 +.L1684: cmp r6, #0 - beq .L1673 + beq .L1675 movs r2, #0 mov r1, r6 ldr r0, [r4, #3836] @@ -11532,7 +11607,7 @@ FtlRead: ldr r3, [sp, #52] lsls r3, r3, #9 str r3, [sp, #64] -.L1689: +.L1691: movs r3, #20 ldr r1, [sp, #40] mul r10, r3, fp @@ -11540,25 +11615,25 @@ FtlRead: add r3, r3, r10 ldr r2, [r3, #16] cmp r1, r2 - bne .L1684 + bne .L1686 ldr r1, [r3, #8] ldr r3, [r4, #3820] cmp r1, r3 - bne .L1685 + bne .L1687 ldr r3, [sp, #60] mov r0, r9 ldr r2, [sp, #64] add r1, r1, r3 -.L1702: +.L1704: bl ftl_memcpy -.L1685: +.L1687: ldr r1, [r4, #3836] add r1, r1, r10 ldr r3, [r1, #12] ldr r2, [r1, #16] ldr r3, [r3, #8] cmp r2, r3 - beq .L1686 + beq .L1688 ldr r3, [r4, #2708] adds r3, r3, #1 str r3, [r4, #2708] @@ -11567,7 +11642,7 @@ FtlRead: ldr r0, [r2, #4] str r0, [sp, #16] ldr r2, [r2] - ldr r0, .L1703+8 + ldr r0, .L1705+8 str r2, [sp, #12] ldr r2, [r3, #12] str r2, [sp, #8] @@ -11579,7 +11654,7 @@ FtlRead: ldr r3, [r3] ldr r1, [r1, #16] bl sftl_printk -.L1686: +.L1688: ldr r3, [r4, #3836] ldr r1, [r3, r10] add r0, r3, r10 @@ -11591,32 +11666,32 @@ FtlRead: streq r2, [r4, #2708] ldr r3, [r3, r10] cmp r3, #256 - bne .L1688 + bne .L1690 ldr r0, [r0, #4] ubfx r0, r0, #10, #16 bl P2V_block_in_plane bl FtlGcRefreshBlock -.L1688: +.L1690: add fp, fp, #1 cmp r6, fp - bne .L1689 + bne .L1691 movs r6, #0 - b .L1673 -.L1677: + b .L1675 +.L1679: mla r0, r0, r5, r10 cmp r7, r0 - bhi .L1676 + bhi .L1678 ldr r3, [sp, #36] cmp r3, r0 - bls .L1676 + bls .L1678 subs r0, r0, r7 mov r1, #512 add r0, r9, r0, lsl #9 bl __memzero -.L1676: +.L1678: add r10, r10, #1 - b .L1675 -.L1674: + b .L1677 +.L1676: ldr r2, [r4, #3836] mov fp, #20 ldrh r10, [r4, #58] @@ -11624,7 +11699,7 @@ FtlRead: str r3, [fp, #4] ldr r3, [sp, #40] cmp r5, r3 - bne .L1679 + bne .L1681 ldr r3, [r4, #3820] mov r1, r10 mov r0, r7 @@ -11638,9 +11713,9 @@ FtlRead: movcs r3, r2 cmp r3, r10 str r3, [sp, #52] - bne .L1680 + bne .L1682 str r9, [fp, #8] -.L1680: +.L1682: ldrh r3, [r4, #112] ldr r2, [r4, #3816] str r5, [fp, #16] @@ -11649,49 +11724,49 @@ FtlRead: bic r3, r3, #3 add r3, r3, r2 str r3, [fp, #12] - b .L1678 -.L1679: + b .L1680 +.L1681: ldr r3, [sp, #44] cmp r5, r3 - bne .L1681 + bne .L1683 ldr r3, [r4, #3812] ldr r2, [sp, #36] str r3, [fp, #8] mul r3, r10, r5 sub r8, r2, r3 cmp r10, r8 - bne .L1680 -.L1701: + bne .L1682 +.L1703: subs r3, r3, r7 add r3, r9, r3, lsl #9 str r3, [fp, #8] - b .L1680 -.L1681: + b .L1682 +.L1683: mul r3, r5, r10 - b .L1701 -.L1684: + b .L1703 +.L1686: ldr r1, [sp, #44] cmp r1, r2 - bne .L1685 + bne .L1687 ldr r1, [r3, #8] ldr r3, [r4, #3812] cmp r1, r3 - bne .L1685 + bne .L1687 ldrh r0, [r4, #58] ldr r3, [sp, #44] ldr r2, [sp, #68] muls r0, r3, r0 subs r0, r0, r7 add r0, r9, r0, lsl #9 - b .L1702 -.L1692: + b .L1704 +.L1694: mov r3, #-1 -.L1693: +.L1695: str r3, [sp, #28] - b .L1670 -.L1704: + b .L1672 +.L1706: .align 2 -.L1703: +.L1705: .word .LANCHOR0 .word .LANCHOR2 .word .LC96 @@ -11735,27 +11810,27 @@ FtlWrite: mov r10, r1 str r2, [sp, #12] str r3, [sp, #8] - bne .L1707 + bne .L1709 mov r2, r3 ldr r1, [sp, #12] add r0, r10, #256 bl FtlVendorPartWrite -.L1706: +.L1708: add sp, sp, #68 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1707: +.L1709: ldr r3, [sp, #12] - ldr r5, .L1757 + ldr r5, .L1759 adds r6, r1, r3 ldr r3, [r5, #140] cmp r6, r3 - bhi .L1743 - ldr r4, .L1757+4 + bhi .L1745 + ldr r4, .L1759+4 ldr r0, [r4] adds r7, r0, #1 - beq .L1706 - ldr r3, .L1757+8 + beq .L1708 + ldr r3, .L1759+8 mov r2, #2048 ldrh r7, [r5, #58] mov r0, r10 @@ -11777,68 +11852,68 @@ FtlWrite: add r3, r3, r2 str r3, [r5, #2516] ldr r3, [r4, #8] - cbz r3, .L1745 + cbz r3, .L1747 ldrh r2, [r5, #2352] addw r3, r5, #2348 addw r5, r5, #2396 cmp r2, #0 it ne movne r5, r3 -.L1709: +.L1711: ldr r7, [sp, #4] - ldr r4, .L1757 -.L1710: + ldr r4, .L1759 +.L1712: ldr r3, [sp] - cbnz r3, .L1739 + cbnz r3, .L1741 mov r0, r3 ldr r1, [sp, #24] bl rk_ftl_garbage_collect ldrh r3, [r4, #2344] cmp r3, #15 - bls .L1740 -.L1742: + bls .L1742 +.L1744: movs r0, #0 - b .L1706 -.L1745: + b .L1708 +.L1747: addw r5, r5, #2348 - b .L1709 -.L1739: + b .L1711 +.L1741: ldrb r2, [r5, #6] @ zero_extendqisi2 ldrh r3, [r4, #32] cmp r2, r3 - bcc .L1711 - movw r2, #991 - ldr r1, .L1757+12 - ldr r0, .L1757+16 + bcc .L1713 + mov r2, #996 + ldr r1, .L1759+12 + ldr r0, .L1759+16 bl sftl_printk -.L1711: +.L1713: ldrh r2, [r5, #4] - cbnz r2, .L1712 - ldr r3, .L1757+20 - ldr r6, .L1757+4 + cbnz r2, .L1714 + ldr r3, .L1759+20 + ldr r6, .L1759+4 cmp r5, r3 - bne .L1713 + bne .L1715 ldrh r8, [r4, #2400] cmp r8, #0 - bne .L1714 + bne .L1716 add r0, r5, #48 bl allocate_new_data_superblock str r8, [r6, #8] -.L1714: - ldr r5, .L1757+20 - ldr r0, .L1757+20 +.L1716: + ldr r5, .L1759+20 + ldr r0, .L1759+20 bl allocate_new_data_superblock ldr r2, [r6, #8] add r3, r5, #48 cmp r2, #0 it ne movne r5, r3 -.L1715: +.L1717: ldrh r3, [r5, #4] - cbnz r3, .L1712 + cbnz r3, .L1714 mov r0, r5 bl allocate_new_data_superblock -.L1712: +.L1714: ldrb r2, [r5, #7] @ zero_extendqisi2 ldrh r3, [r5, #4] ldr r1, [sp] @@ -11853,18 +11928,18 @@ FtlWrite: str r2, [sp, #36] ldrb r2, [r5, #6] @ zero_extendqisi2 cmp r2, r3 - bcc .L1716 - mov r2, #1024 - ldr r1, .L1757+12 - ldr r0, .L1757+16 + bcc .L1718 + movw r2, #1029 + ldr r1, .L1759+12 + ldr r0, .L1759+16 bl sftl_printk -.L1716: +.L1718: mov fp, #0 -.L1717: +.L1719: ldr r3, [sp, #36] cmp fp, r3 - bne .L1737 -.L1718: + bne .L1739 +.L1720: mov r3, r5 movs r2, #0 mov r1, fp @@ -11872,30 +11947,30 @@ FtlWrite: bl FtlProgPages ldr r3, [sp] cmp fp, r3 - bls .L1738 - movw r2, #1101 - ldr r1, .L1757+12 - ldr r0, .L1757+16 + bls .L1740 + movw r2, #1106 + ldr r1, .L1759+12 + ldr r0, .L1759+16 bl sftl_printk -.L1738: +.L1740: ldr r3, [sp] sub r3, r3, fp str r3, [sp] - b .L1710 -.L1713: + b .L1712 +.L1715: str r2, [r6, #8] ldrh r2, [r4, #2352] - cbnz r2, .L1748 + cbnz r2, .L1750 mov r0, r5 bl allocate_new_data_superblock - b .L1715 -.L1748: + b .L1717 +.L1750: mov r5, r3 - b .L1712 -.L1737: + b .L1714 +.L1739: ldrh r3, [r5, #4] cmp r3, #0 - beq .L1718 + beq .L1720 movs r2, #0 add r1, sp, #40 mov r0, r7 @@ -11922,10 +11997,10 @@ FtlWrite: bl ftl_memset ldr r3, [sp, #4] cmp r7, r3 - beq .L1719 + beq .L1721 ldr r3, [sp, #20] cmp r7, r3 - bne .L1752 + bne .L1754 ldrh r2, [r4, #58] ldr r3, [sp, #12] smulbb r2, r2, r7 @@ -11934,8 +12009,8 @@ FtlWrite: str r3, [sp, #16] subs r6, r6, r2 uxth r6, r6 - b .L1722 -.L1719: + b .L1724 +.L1721: ldrh r6, [r4, #58] mov r0, r10 mov r1, r6 @@ -11946,11 +12021,11 @@ FtlWrite: cmp r6, r3 it cs movcs r6, r3 -.L1722: +.L1724: ldrh r3, [r4, #58] cmp r6, r3 ldr r3, [sp, #4] - bne .L1723 + bne .L1725 cmp r7, r3 ldr r3, [r4, #3844] itte ne @@ -11963,16 +12038,16 @@ FtlWrite: streq r2, [r3, #8] addne r6, r2, r6, lsl #9 strne r6, [r3, #8] -.L1725: +.L1727: ldrb r2, [r5, #6] @ zero_extendqisi2 ldrh r3, [r4, #32] cmp r2, r3 - bcc .L1734 - movw r2, #1092 - ldr r1, .L1757+12 - ldr r0, .L1757+16 + bcc .L1736 + movw r2, #1097 + ldr r1, .L1759+12 + ldr r0, .L1759+16 bl sftl_printk -.L1734: +.L1736: ldr r2, [sp, #32] movw r3, #61589 ldr r1, [sp, #28] @@ -11991,8 +12066,8 @@ FtlWrite: str r3, [r9, #12] ldrh r3, [r5] strh r3, [r9, #2] @ movhi - b .L1717 -.L1723: + b .L1719 +.L1725: cmp r7, r3 ldr r3, [r4, #3844] ite eq @@ -12002,7 +12077,7 @@ FtlWrite: str r2, [r3, #8] ldr r3, [sp, #40] adds r1, r3, #1 - beq .L1728 + beq .L1730 str r3, [sp, #48] movs r1, #1 ldr r3, [r4, #3844] @@ -12017,62 +12092,62 @@ FtlWrite: bl FlashReadPages ldr r3, [sp, #44] adds r3, r3, #1 - bne .L1729 + bne .L1731 ldr r3, [r4, #2708] adds r3, r3, #1 str r3, [r4, #2708] -.L1732: +.L1734: ldr r3, [sp, #4] lsls r2, r6, #9 cmp r7, r3 - bne .L1733 + bne .L1735 ldr r3, [r4, #3844] ldr r1, [sp, #8] add r3, r3, r8 ldr r0, [r3, #8] ldr r3, [sp, #16] add r0, r0, r3, lsl #9 -.L1755: - bl ftl_memcpy - b .L1725 -.L1758: - .align 2 .L1757: + bl ftl_memcpy + b .L1727 +.L1760: + .align 2 +.L1759: .word .LANCHOR0 .word .LANCHOR2 .word .LANCHOR3 .word .LANCHOR1+574 .word .LC1 .word .LANCHOR0+2348 -.L1729: +.L1731: ldr r3, [r9, #8] cmp r7, r3 - beq .L1731 + beq .L1733 ldr r3, [r4, #2708] mov r2, r7 - ldr r0, .L1759 + ldr r0, .L1761 adds r3, r3, #1 str r3, [r4, #2708] ldr r1, [r9, #8] bl sftl_printk -.L1731: +.L1733: ldr r3, [r9, #8] cmp r7, r3 - beq .L1732 - movw r2, #1077 - ldr r1, .L1759+4 - ldr r0, .L1759+8 + beq .L1734 + movw r2, #1082 + ldr r1, .L1761+4 + ldr r0, .L1761+8 bl sftl_printk - b .L1732 -.L1728: + b .L1734 +.L1730: ldr r3, [r4, #3844] movs r1, #0 ldrh r2, [r4, #110] add r3, r3, r8 ldr r0, [r3, #8] bl ftl_memset - b .L1732 -.L1733: + b .L1734 +.L1735: ldrh r1, [r4, #58] ldr r0, [sp, #8] ldr r3, [r4, #3844] @@ -12081,8 +12156,8 @@ FtlWrite: sub r1, r1, r10 add r1, r0, r1, lsl #9 ldr r0, [r3, #8] - b .L1755 -.L1752: + b .L1757 +.L1754: ldr r3, [r4, #3844] ldr r2, [sp, #8] add r8, r8, r3 @@ -12091,21 +12166,21 @@ FtlWrite: sub r3, r3, r10 add r3, r2, r3, lsl #9 str r3, [r8, #8] - b .L1725 -.L1740: + b .L1727 +.L1742: movw r5, #65535 -.L1753: +.L1755: ldrh r3, [r4, #2588] cmp r3, r5 - bne .L1741 + bne .L1743 ldrh r3, [r4, #3202] cmp r3, r5 - bne .L1741 + bne .L1743 movs r0, #0 bl List_get_gc_head_node uxth r0, r0 bl FtlGcRefreshBlock -.L1741: +.L1743: movs r1, #1 movs r3, #128 mov r0, r1 @@ -12117,14 +12192,14 @@ FtlWrite: bl rk_ftl_garbage_collect ldrh r3, [r4, #2344] cmp r3, #8 - bls .L1753 - b .L1742 -.L1743: + bls .L1755 + b .L1744 +.L1745: mov r0, #-1 - b .L1706 -.L1760: + b .L1708 +.L1762: .align 2 -.L1759: +.L1761: .word .LC114 .word .LANCHOR1+574 .word .LC1 @@ -12152,15 +12227,15 @@ sftl_write: mov fp, r0 str r1, [sp, #16] str r2, [sp, #36] - ldr r6, .L1793 - bls .L1762 + ldr r6, .L1795 + bls .L1764 cmp r0, #576 - bls .L1763 -.L1762: + bls .L1765 +.L1764: ldr r3, [r6, #-172] cmp r3, #0 - beq .L1764 - ldr r2, .L1793+4 + beq .L1766 + ldr r2, .L1795+4 mov r0, #512 ldrh r3, [r2, #14] str r3, [sp, #20] @@ -12171,28 +12246,28 @@ sftl_write: mov r1, r3 str r3, [sp, #24] bl __aeabi_uidiv - ldr r2, .L1793+8 + ldr r2, .L1795+8 movs r3, #0 - ldr r1, .L1793+12 + ldr r1, .L1795+12 str r0, [sp, #12] sub r4, r2, #262144 -.L1768: +.L1770: ldr r0, [r2, #-4] cmp r0, #0 - beq .L1765 -.L1769: + beq .L1767 +.L1771: ldr r3, [sp, #12] movs r4, #0 ldr r2, [sp, #24] - ldr r5, .L1793+4 + ldr r5, .L1795+4 str r4, [sp, #28] muls r3, r2, r3 str r3, [sp, #48] ldr r3, [sp, #12] str r3, [sp, #32] -.L1766: +.L1768: mov r1, #512 - ldr r0, .L1793+16 + ldr r0, .L1795+16 bl __memzero ldrh r7, [r5, #14] mov r0, r4 @@ -12210,7 +12285,7 @@ sftl_write: movs r0, #0 blx r3 cmp r6, #512 - bcs .L1770 + bcs .L1772 mov r1, r7 adds r0, r6, r4 bl __aeabi_uidiv @@ -12218,7 +12293,7 @@ sftl_write: mov r1, r0 movs r0, #0 blx r3 -.L1770: +.L1772: mov r1, r6 mov r0, r4 bl __aeabi_uidivmod @@ -12226,9 +12301,9 @@ sftl_write: mov r9, r1 subs r3, r4, r1 str r3, [sp, #44] -.L1771: +.L1773: cmp r6, #512 - bcc .L1772 + bcc .L1774 ldrb r8, [r5, #14] @ zero_extendqisi2 mov r0, r4 ldrh r1, [r5, #10] @@ -12246,14 +12321,14 @@ sftl_write: str r3, [sp, #44] bl __aeabi_idivmod uxth r7, r1 -.L1773: +.L1775: cmp r6, #512 - bcs .L1777 + bcs .L1779 ldr r3, [sp, #40] mov r1, r8 add r0, r10, r6 sub r9, r3, r7 - ldr r3, .L1793+16 + ldr r3, .L1795+16 uxth r9, r9 add r2, r3, r6, lsl #9 str r2, [sp, #52] @@ -12271,27 +12346,27 @@ sftl_write: movs r0, #0 blx r7 adds r0, r0, #1 - bne .L1774 -.L1777: - ldr r1, .L1793+20 + bne .L1776 +.L1779: + ldr r1, .L1795+20 movs r6, #0 -.L1775: - ldr r3, .L1793+16 +.L1777: + ldr r3, .L1795+16 mov r7, r1 adds r1, r1, #4 ldr r2, [r3, r6, lsl #2] ldr r3, [r7] cmp r2, r3 - beq .L1778 + beq .L1780 mov r1, #512 - ldr r0, .L1793+16 + ldr r0, .L1795+16 bl __memzero - ldr r2, .L1793+16 + ldr r2, .L1795+16 mov r1, r4 str r6, [sp] ldr r3, [r7] ldr r2, [r2, r6, lsl #2] - ldr r0, .L1793+24 + ldr r0, .L1795+24 bl sftl_printk mov r0, r4 ldr r1, [sp, #20] @@ -12302,7 +12377,7 @@ sftl_write: blx r3 ldr r3, [sp, #12] cmp r3, #1 - bls .L1779 + bls .L1781 ldr r3, [sp, #24] ldr r1, [sp, #20] adds r0, r3, r4 @@ -12311,7 +12386,7 @@ sftl_write: mov r1, r0 movs r0, #0 blx r3 -.L1779: +.L1781: ldr r2, [sp, #32] ldr r3, [sp, #12] add r3, r3, r2 @@ -12319,12 +12394,12 @@ sftl_write: add r4, r4, r2 ldr r2, [sp, #32] cmp r2, #15 - bls .L1785 -.L1784: - ldr r3, .L1793 + bls .L1787 +.L1786: + ldr r3, .L1795 movs r2, #0 str r2, [r3, #-172] -.L1764: +.L1766: ldr r3, [sp, #36] mov r1, fp ldr r2, [sp, #16] @@ -12333,7 +12408,7 @@ sftl_write: add sp, sp, #124 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1765: +.L1767: ldr r0, [r4, r3, lsl #2] adds r3, r3, #1 cmp r3, #4096 @@ -12341,12 +12416,12 @@ sftl_write: movhi r3, #0 str r0, [r2, #-4]! cmp r1, r2 - bne .L1768 - b .L1769 -.L1785: + bne .L1770 + b .L1771 +.L1787: str r3, [sp, #32] - b .L1766 -.L1772: + b .L1768 +.L1774: mov r1, r8 add r0, r9, r6 bl __aeabi_uidiv @@ -12357,7 +12432,7 @@ sftl_write: str r3, [sp, #56] movw r3, #61424 str r3, [sp, #60] - ldr r3, .L1793+20 + ldr r3, .L1795+20 add r2, r3, r6, lsl #9 str r2, [sp, #52] bl __aeabi_uidiv @@ -12370,32 +12445,32 @@ sftl_write: ldr r3, [sp, #40] add r6, r6, r3 uxth r6, r6 - b .L1771 -.L1774: + b .L1773 +.L1776: add r6, r6, r9 movs r7, #0 uxth r6, r6 - b .L1773 -.L1778: + b .L1775 +.L1780: adds r6, r6, #1 cmp r6, #65536 - bne .L1775 + bne .L1777 ldr r3, [sp, #28] adds r3, r3, #1 cmp r3, #5 str r3, [sp, #28] - bls .L1779 - b .L1784 -.L1763: + bls .L1781 + b .L1786 +.L1765: cmp r0, #63 - ldr r0, .L1793+20 - bhi .L1781 + ldr r0, .L1795+20 + bhi .L1783 ldr r3, [sp, #16] rsb r1, fp, #64 subs r2, r3, r1 ldr r3, [sp, #36] add r1, r3, r1, lsl #9 -.L1782: +.L1784: movs r3, #1 cmp r5, #576 str r3, [r6, #-172] @@ -12405,17 +12480,17 @@ sftl_write: addhi r2, r2, r3 lsls r2, r2, #9 bl memcpy - b .L1764 -.L1781: - ldr r3, .L1793+28 + b .L1766 +.L1783: + ldr r3, .L1795+28 ldr r1, [sp, #36] ldr r2, [sp, #16] add r3, r3, fp add r0, r0, r3, lsl #9 - b .L1782 -.L1794: + b .L1784 +.L1796: .align 2 -.L1793: +.L1795: .word .LANCHOR3 .word .LANCHOR0 .word idb_buf+262144 @@ -12440,7 +12515,7 @@ FtlLoadSysInfo: push {r3, r4, r5, r6, r7, lr} .save {r3, r4, r5, r6, r7, lr} movs r1, #0 - ldr r4, .L1816 + ldr r4, .L1818 ldr r3, [r4, #3284] ldrh r2, [r4, #40] ldr r0, [r4, #2324] @@ -12452,39 +12527,39 @@ FtlLoadSysInfo: ldrh r0, [r4, #2576] movw r3, #65535 cmp r0, r3 - bne .L1796 -.L1804: + bne .L1798 +.L1806: mov r0, #-1 pop {r3, r4, r5, r6, r7, pc} -.L1796: - ldr r7, .L1816+4 +.L1798: + ldr r7, .L1818+4 movs r1, #1 add r6, r4, #3264 bl FtlGetLastWrittenPage sxth r5, r0 adds r0, r0, #1 strh r0, [r4, #2578] @ movhi -.L1798: - cmp r5, #0 - bge .L1801 - movw r2, #1482 - ldr r1, .L1816+8 - ldr r0, .L1816+12 - bl sftl_printk .L1800: + cmp r5, #0 + bge .L1803 + movw r2, #1482 + ldr r1, .L1818+8 + ldr r0, .L1818+12 + bl sftl_printk +.L1802: ldrh r3, [r4, #40] ldrh r2, [r4, #110] adds r3, r3, #24 cmp r2, r3, lsl #1 - bcs .L1803 + bcs .L1805 movw r2, #1484 - ldr r1, .L1816+8 - ldr r0, .L1816+12 + ldr r1, .L1818+8 + ldr r0, .L1818+12 bl sftl_printk -.L1803: +.L1805: movs r2, #48 ldr r1, [r4, #3272] - ldr r0, .L1816+16 + ldr r0, .L1818+16 bl ftl_memcpy ldrh r2, [r4, #40] ldr r1, [r4, #3272] @@ -12503,16 +12578,16 @@ FtlLoadSysInfo: add r1, r1, r3 bl ftl_memcpy ldr r2, [r4, #2268] - ldr r3, .L1816+4 + ldr r3, .L1818+4 cmp r2, r3 - bne .L1804 + bne .L1806 ldrb r2, [r4, #2278] @ zero_extendqisi2 ldrh r3, [r4, #54] ldrh r5, [r4, #2276] cmp r2, r3 strh r5, [r4, #2582] @ movhi - bne .L1804 - ldr r3, .L1816+20 + bne .L1806 + ldr r3, .L1818+20 ldrh r2, [r4, #58] ldr r6, [r4, #44] str r5, [r3, #-168] @@ -12528,12 +12603,12 @@ FtlLoadSysInfo: bl __aeabi_uidiv cmp r5, r6 strh r0, [r4, #2572] @ movhi - bls .L1805 + bls .L1807 movw r2, #1506 - ldr r1, .L1816+8 - ldr r0, .L1816+12 + ldr r1, .L1818+8 + ldr r0, .L1818+12 bl sftl_printk -.L1805: +.L1807: ldrh r3, [r4, #2284] ldrh r1, [r4, #2282] lsrs r2, r3, #6 @@ -12588,34 +12663,34 @@ FtlLoadSysInfo: strhi r3, [r4, #2544] movw r3, #65535 cmp r1, r3 - beq .L1808 - ldr r0, .L1816+24 + beq .L1810 + ldr r0, .L1818+24 bl make_superblock -.L1808: +.L1810: ldrh r2, [r4, #2396] movw r3, #65535 cmp r2, r3 - beq .L1809 - ldr r0, .L1816+28 + beq .L1811 + ldr r0, .L1818+28 bl make_superblock -.L1809: +.L1811: ldrh r2, [r4, #2444] movw r3, #65535 cmp r2, r3 - beq .L1810 - ldr r0, .L1816+32 + beq .L1812 + ldr r0, .L1818+32 bl make_superblock -.L1810: +.L1812: ldrh r2, [r4, #2588] movw r3, #65535 cmp r2, r3 - beq .L1811 - ldr r0, .L1816+36 + beq .L1813 + ldr r0, .L1818+36 bl make_superblock -.L1811: +.L1813: movs r0, #0 pop {r3, r4, r5, r6, r7, pc} -.L1801: +.L1803: ldrh r3, [r4, #2576] movs r2, #1 mov r1, r2 @@ -12627,23 +12702,23 @@ FtlLoadSysInfo: bl FlashReadPages ldr r3, [r4, #3264] adds r3, r3, #1 - beq .L1799 + beq .L1801 ldr r3, [r4, #3284] ldr r3, [r3] cmp r3, r7 - bne .L1799 + bne .L1801 ldr r3, [r4, #3288] ldrh r2, [r3] movw r3, #61604 cmp r2, r3 - beq .L1800 -.L1799: + beq .L1802 +.L1801: subs r5, r5, #1 sxth r5, r5 - b .L1798 -.L1817: + b .L1800 +.L1819: .align 2 -.L1816: +.L1818: .word .LANCHOR0 .word 1179929683 .word .LANCHOR1+583 @@ -12670,7 +12745,7 @@ FtlSysBlkInit: push {r4, r5, r6, lr} .save {r4, r5, r6, lr} movs r3, #0 - ldr r4, .L1842 + ldr r4, .L1844 ldrh r0, [r4, #36] strh r3, [r4, #4016] @ movhi bl FtlFreeSysBlkQueueInit @@ -12678,17 +12753,17 @@ FtlSysBlkInit: ldrh r2, [r4, #2576] movw r3, #65535 cmp r2, r3 - bne .L1819 -.L1821: + bne .L1821 +.L1823: mov r6, #-1 -.L1818: +.L1820: mov r0, r6 pop {r4, r5, r6, pc} -.L1819: +.L1821: bl FtlLoadSysInfo mov r6, r0 cmp r0, #0 - bne .L1821 + bne .L1823 bl FtlLoadMapInfo bl FtlLoadVonderInfo bl Ftl_load_ext_data @@ -12702,20 +12777,20 @@ FtlSysBlkInit: mov r3, r6 ldr r2, [r4, #2492] movs r0, #12 -.L1822: +.L1824: cmp r3, r1 - bge .L1827 + bge .L1829 mla r5, r0, r3, r2 ldr r5, [r5, #4] cmp r5, #0 - bge .L1823 -.L1827: + bge .L1825 +.L1829: ldrh r2, [r4, #2296] cmp r3, r1 add r2, r2, #1 strh r2, [r4, #2296] @ movhi - bge .L1841 -.L1824: + bge .L1843 +.L1826: ldrh r1, [r4, #2348] ldr r2, [r4, #2324] ldrh r0, [r4, #2352] @@ -12734,12 +12809,12 @@ FtlSysBlkInit: subs r2, r2, r5 strh r2, [r1, r0, lsl #1] @ movhi ldrh r2, [r4, #102] - ldr r0, .L1842+4 + ldr r0, .L1844+4 strb r3, [r4, #2402] strh r2, [r4, #2398] @ movhi strh r3, [r4, #2400] @ movhi bl FtlMapBlkWriteDump_data - ldr r0, .L1842+8 + ldr r0, .L1844+8 bl FtlMapBlkWriteDump_data ldrh r3, [r4, #2298] adds r3, r3, #1 @@ -12747,82 +12822,82 @@ FtlSysBlkInit: bl l2p_flush bl FtlVpcTblFlush bl FtlVpcTblFlush - b .L1828 -.L1823: + b .L1830 +.L1825: adds r3, r3, #1 - b .L1822 -.L1841: + b .L1824 +.L1843: ldrh r3, [r4, #4016] cmp r3, #0 - bne .L1824 -.L1828: + bne .L1826 +.L1830: ldrh r5, [r4, #2312] movw r2, #65533 subs r3, r5, #1 uxth r3, r3 cmp r3, r2 - bhi .L1830 + bhi .L1832 mov r1, r5 - ldr r0, .L1842+12 + ldr r0, .L1844+12 strh r5, [r4, #3202] @ movhi bl test_node_in_list - cbnz r0, .L1831 + cbnz r0, .L1833 ldrh r3, [r4, #40] cmp r3, r5 - bls .L1831 + bls .L1833 ldr r3, [r4, #2324] ldrh r3, [r3, r5, lsl #1] - cbnz r3, .L1830 -.L1831: + cbnz r3, .L1832 +.L1833: movw r3, #65535 strh r3, [r4, #3202] @ movhi -.L1830: +.L1832: ldrh r5, [r4, #2314] movw r2, #65533 subs r3, r5, #1 uxth r3, r3 cmp r3, r2 - bhi .L1834 + bhi .L1836 mov r1, r5 - ldr r0, .L1842+12 + ldr r0, .L1844+12 strh r5, [r4, #3204] @ movhi bl test_node_in_list - cbnz r0, .L1835 + cbnz r0, .L1837 ldrh r3, [r4, #40] cmp r3, r5 - bls .L1835 + bls .L1837 ldr r3, [r4, #2324] ldrh r3, [r3, r5, lsl #1] - cbnz r3, .L1834 -.L1835: + cbnz r3, .L1836 +.L1837: movw r3, #65535 strh r3, [r4, #3204] @ movhi -.L1834: +.L1836: ldrh r0, [r4, #2348] movw r3, #65535 cmp r0, r3 - beq .L1837 + beq .L1839 ldrh r3, [r4, #2352] - cbnz r3, .L1837 + cbnz r3, .L1839 ldrh r3, [r4, #2400] - cbnz r3, .L1837 + cbnz r3, .L1839 bl FtlGcRefreshBlock ldrh r0, [r4, #2396] bl FtlGcRefreshBlock bl FtlVpcTblFlush - ldr r0, .L1842+16 + ldr r0, .L1844+16 bl allocate_new_data_superblock - ldr r0, .L1842+20 + ldr r0, .L1844+20 bl allocate_new_data_superblock -.L1837: +.L1839: ldrh r3, [r4, #2296] lsls r3, r3, #27 - bne .L1818 + bne .L1820 bl FtlVpcCheckAndModify - b .L1818 -.L1843: + b .L1820 +.L1845: .align 2 -.L1842: +.L1844: .word .LANCHOR0 .word .LANCHOR0+3908 .word .LANCHOR0+3956 @@ -12845,42 +12920,42 @@ ftl_low_format: push {r3, r4, r5, r6, r7, r8, r9, lr} .save {r3, r4, r5, r6, r7, r8, r9, lr} movs r3, #0 - ldr r4, .L1868 + ldr r4, .L1870 ldrh r0, [r4, #36] str r3, [r4, #2540] str r3, [r4, #2544] bl FtlFreeSysBlkQueueInit bl FtlLoadBbt - cbz r0, .L1845 + cbz r0, .L1847 bl FtlMakeBbt -.L1845: - ldr r0, .L1868+4 +.L1847: + ldr r0, .L1870+4 movs r2, #0 -.L1846: +.L1848: ldrh r1, [r4, #58] uxth r3, r2 adds r2, r2, #1 cmp r3, r1, lsl #7 - blt .L1847 + blt .L1849 ldrh r6, [r4, #40] movs r5, #0 -.L1848: +.L1850: ldrh r3, [r4, #42] cmp r3, r6 - bhi .L1849 + bhi .L1851 ldrh r1, [r4, #32] subs r3, r5, #3 cmp r3, r1, lsl #1 - bge .L1850 -.L1854: + bge .L1852 +.L1856: movs r5, #0 mov r6, r5 -.L1851: +.L1853: ldrh r3, [r4, #40] uxth r0, r5 adds r5, r5, #1 cmp r3, r0 - bhi .L1855 + bhi .L1857 ldrh r3, [r4, #42] ldrh r5, [r4, #32] ldr r9, [r4, #44] @@ -12896,7 +12971,7 @@ ftl_low_format: movs r3, #24 muls r3, r5, r3 cmp r6, r3 - ble .L1856 + ble .L1858 mov r1, r5 sub r0, r9, r6 bl __aeabi_uidiv @@ -12904,9 +12979,9 @@ ftl_low_format: lsrs r0, r0, #5 adds r0, r0, #24 strh r0, [r4, #2572] @ movhi -.L1856: +.L1858: ldrh r3, [r4, #94] - cbz r3, .L1858 + cbz r3, .L1860 ldrh r2, [r4, #2572] add r2, r2, r3, lsr #1 strh r2, [r4, #2572] @ movhi @@ -12917,11 +12992,11 @@ ftl_low_format: strlt r8, [r4, #2504] addlt r3, r3, r7 strhlt r3, [r4, #2572] @ movhi -.L1858: +.L1860: ldrh r2, [r4, #2572] movw r6, #65535 ldr r3, [r4, #2504] - ldr r7, .L1868+8 + ldr r7, .L1870+8 subs r3, r3, r2 muls r5, r3, r5 ldrh r3, [r4, #102] @@ -12936,7 +13011,7 @@ ftl_low_format: ldrh r2, [r4, #42] movs r1, #0 ldr r0, [r4, #2324] - ldr r7, .L1868+12 + ldr r7, .L1870+12 lsls r2, r2, #1 bl ftl_memset ldrh r2, [r4, #40] @@ -12955,28 +13030,28 @@ ftl_low_format: strh r6, [r4, #2588] @ movhi strb r3, [r4, #2356] bl ftl_memset -.L1860: +.L1862: mov r0, r7 bl make_superblock ldrb r3, [r4, #2355] @ zero_extendqisi2 ldrh r2, [r4, #2348] cmp r3, #0 - bne .L1861 + bne .L1863 ldr r3, [r4, #2324] strh r6, [r3, r2, lsl #1] @ movhi ldrh r3, [r4, #2348] adds r3, r3, #1 strh r3, [r4, #2348] @ movhi - b .L1860 -.L1847: + b .L1862 +.L1849: ldr r5, [r4, #3820] mvns r1, r3 orr r1, r3, r1, lsl #16 str r1, [r5, r3, lsl #2] ldr r1, [r4, #3812] str r0, [r1, r3, lsl #2] - b .L1846 -.L1849: + b .L1848 +.L1851: mov r0, r6 movs r1, #1 bl FtlLowFormatEraseBlock @@ -12984,8 +13059,8 @@ ftl_low_format: add r5, r5, r0 uxth r5, r5 uxth r6, r6 - b .L1848 -.L1850: + b .L1850 +.L1852: mov r0, r5 bl __aeabi_uidiv ldr r3, [r4, #132] @@ -12995,27 +13070,27 @@ ftl_low_format: ldrh r0, [r4, #36] bl FtlFreeSysBlkQueueInit ldrh r5, [r4, #40] -.L1852: +.L1854: ldrh r3, [r4, #42] cmp r3, r5 - bls .L1854 + bls .L1856 mov r0, r5 movs r1, #1 adds r5, r5, #1 bl FtlLowFormatEraseBlock uxth r5, r5 - b .L1852 -.L1855: + b .L1854 +.L1857: movs r1, #0 bl FtlLowFormatEraseBlock add r6, r6, r0 uxth r6, r6 - b .L1851 -.L1861: + b .L1853 +.L1863: ldr r3, [r4, #2540] movw r6, #65535 ldrh r1, [r4, #2352] - ldr r7, .L1868+16 + ldr r7, .L1870+16 str r3, [r4, #2360] adds r3, r3, #1 str r3, [r4, #2540] @@ -13029,19 +13104,19 @@ ftl_low_format: strh r3, [r4, #2396] @ movhi movs r3, #1 strb r3, [r4, #2404] -.L1862: +.L1864: mov r0, r7 bl make_superblock ldrb r3, [r4, #2403] @ zero_extendqisi2 ldrh r2, [r4, #2396] - cbnz r3, .L1863 + cbnz r3, .L1865 ldr r3, [r4, #2324] strh r6, [r3, r2, lsl #1] @ movhi ldrh r3, [r4, #2396] adds r3, r3, #1 strh r3, [r4, #2396] @ movhi - b .L1862 -.L1863: + b .L1864 +.L1865: ldr r3, [r4, #2540] movw r6, #65535 ldrh r1, [r4, #2400] @@ -13064,16 +13139,16 @@ ftl_low_format: str r3, [r4, #2540] bl FtlVpcTblFlush bl FtlSysBlkInit - cbnz r0, .L1864 - ldr r3, .L1868+20 + cbnz r0, .L1866 + ldr r3, .L1870+20 movs r2, #1 str r2, [r3] -.L1864: +.L1866: movs r0, #0 pop {r3, r4, r5, r6, r7, r8, r9, pc} -.L1869: +.L1871: .align 2 -.L1868: +.L1870: .word .LANCHOR0 .word 168778952 .word .LANCHOR3 @@ -13096,10 +13171,10 @@ sftl_init: push {r3, r4, r5, lr} .save {r3, r4, r5, lr} mov r3, #-1 - ldr r4, .L1876 - ldr r5, .L1876+4 - ldr r1, .L1876+8 - ldr r0, .L1876+12 + ldr r4, .L1878 + ldr r5, .L1878+4 + ldr r1, .L1878+8 + ldr r0, .L1878+12 str r3, [r5] bl sftl_printk mov r0, r4 @@ -13109,27 +13184,27 @@ sftl_init: ldrh r0, [r4, #36] bl FtlFreeSysBlkQueueInit bl FtlLoadBbt - cbnz r0, .L1874 + cbnz r0, .L1876 bl FtlSysBlkInit - cbnz r0, .L1874 + cbnz r0, .L1876 movs r3, #1 str r3, [r5] ldrh r3, [r4, #2344] cmp r3, #15 - bhi .L1874 + bhi .L1876 movw r4, #8129 -.L1873: +.L1875: movs r1, #1 movs r0, #0 bl rk_ftl_garbage_collect subs r4, r4, #1 - bne .L1873 -.L1874: + bne .L1875 +.L1876: movs r0, #0 pop {r3, r4, r5, pc} -.L1877: +.L1879: .align 2 -.L1876: +.L1878: .word .LANCHOR0 .word .LANCHOR2 .word .LC70 @@ -13163,19 +13238,19 @@ rk_sftl_vendor_dev_ops_register: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r2, .L1882 + ldr r2, .L1884 ldr r3, [r2, #-164] - cbnz r3, .L1881 + cbnz r3, .L1883 str r0, [r2, #-164] mov r0, r3 str r1, [r2, #-160] bx lr -.L1881: +.L1883: mov r0, #-1 bx lr -.L1883: +.L1885: .align 2 -.L1882: +.L1884: .word .LANCHOR3 .fnend .size rk_sftl_vendor_dev_ops_register, .-rk_sftl_vendor_dev_ops_register @@ -13193,55 +13268,55 @@ rk_sftl_vendor_storage_init: push {r3, r4, r5, r6, r7, r8, r9, lr} .save {r3, r4, r5, r6, r7, r8, r9, lr} mov r0, #65536 - ldr r4, .L1892 + ldr r4, .L1894 bl ftl_malloc str r0, [r4, #-156] cmp r0, #0 - beq .L1890 - ldr r8, .L1892+4 + beq .L1892 + ldr r8, .L1894+4 mov r9, #0 mov r7, r9 mov r6, r9 -.L1888: +.L1890: ldr r3, [r4, #-164] movs r1, #128 ldr r2, [r4, #-156] lsls r0, r6, #7 blx r3 mov r5, r0 - cbnz r0, .L1886 + cbnz r0, .L1888 ldr r2, [r4, #-156] ldr r3, [r2] cmp r3, r8 - bne .L1887 + bne .L1889 movw r3, #65532 ldr r1, [r2, r3] ldr r3, [r2, #4] cmp r1, r3 - bne .L1887 + bne .L1889 cmp r1, r7 itt hi movhi r9, r6 movhi r7, r1 -.L1887: +.L1889: adds r6, r6, #1 cmp r6, #2 - bne .L1888 - cbz r7, .L1889 + bne .L1890 + cbz r7, .L1891 ldr r3, [r4, #-164] movs r1, #128 lsl r0, r9, #7 blx r3 mov r5, r0 - cbz r0, .L1884 -.L1886: + cbz r0, .L1886 +.L1888: ldr r0, [r4, #-156] mov r5, #-1 bl kfree movs r3, #0 str r3, [r4, #-156] - b .L1884 -.L1889: + b .L1886 +.L1891: mov r1, #65536 mov r0, r2 bl __memzero @@ -13254,15 +13329,15 @@ rk_sftl_vendor_storage_init: movw r2, #64504 strh r7, [r3, #12] @ movhi strh r2, [r3, #14] @ movhi -.L1884: +.L1886: mov r0, r5 pop {r3, r4, r5, r6, r7, r8, r9, pc} -.L1890: - mvn r5, #11 - b .L1884 -.L1893: - .align 2 .L1892: + mvn r5, #11 + b .L1886 +.L1895: + .align 2 +.L1894: .word .LANCHOR3 .word 1380668996 .fnend @@ -13281,23 +13356,23 @@ rk_sftl_vendor_read: push {r3, r4, r5, r6, r7, lr} .save {r3, r4, r5, r6, r7, lr} mov r7, r0 - ldr r3, .L1900 + ldr r3, .L1902 mov r0, r1 ldr r5, [r3, #-156] - cbz r5, .L1899 + cbz r5, .L1901 ldrh r6, [r5, #10] movs r3, #0 -.L1896: +.L1898: cmp r3, r6 - bcc .L1898 -.L1899: + bcc .L1900 +.L1901: mov r0, #-1 pop {r3, r4, r5, r6, r7, pc} -.L1898: +.L1900: add r1, r5, r3, lsl #3 ldrh r4, [r1, #16] cmp r4, r7 - bne .L1897 + bne .L1899 ldrh r4, [r1, #20] ldrh r1, [r1, #18] cmp r4, r2 @@ -13309,12 +13384,12 @@ rk_sftl_vendor_read: bl memcpy mov r0, r4 pop {r3, r4, r5, r6, r7, pc} -.L1897: +.L1899: adds r3, r3, #1 - b .L1896 -.L1901: + b .L1898 +.L1903: .align 2 -.L1900: +.L1902: .word .LANCHOR3 .fnend .size rk_sftl_vendor_read, .-rk_sftl_vendor_read @@ -13332,26 +13407,26 @@ rk_sftl_vendor_write: push {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} mov r8, r2 - ldr r2, .L1921 + ldr r2, .L1923 .pad #28 sub sp, sp, #28 mov r3, r1 ldr r4, [r2, #-156] mov r9, r2 cmp r4, #0 - beq .L1917 + beq .L1919 ldrh r2, [r4, #10] add r6, r8, #63 ldrh r1, [r4, #8] bic r6, r6, #63 movs r7, #0 str r1, [sp, #4] -.L1904: +.L1906: cmp r7, r2 - bcc .L1912 + bcc .L1914 ldrh r1, [r4, #14] cmp r6, r1 - bhi .L1917 + bhi .L1919 add r2, r4, r2, lsl #3 uxth r6, r6 strh r0, [r2, #16] @ movhi @@ -13384,31 +13459,31 @@ rk_sftl_vendor_write: movhi r3, #0 strh r3, [r4, #8] @ movhi ldr r3, [r9, #-160] - b .L1920 -.L1912: + b .L1922 +.L1914: add r5, r4, r7, lsl #3 ldrh r1, [r5, #16] cmp r1, r0 str r1, [sp, #8] - bne .L1905 + bne .L1907 ldrh r1, [r5, #20] add fp, r4, #1024 adds r1, r1, #63 bic r1, r1, #63 cmp r8, r1 str r1, [sp, #12] - bls .L1906 + bls .L1908 ldrh r1, [r4, #14] cmp r6, r1 - bhi .L1917 + bhi .L1919 ldrh r10, [r5, #18] subs r2, r2, #1 str r2, [sp, #16] -.L1907: +.L1909: ldr r2, [sp, #16] adds r5, r5, #8 cmp r7, r2 - bcc .L1908 + bcc .L1910 ldrh r2, [sp, #8] add r7, r4, r7, lsl #3 uxth r5, r10 @@ -13427,7 +13502,7 @@ rk_sftl_vendor_write: strh r5, [r4, #12] @ movhi add r6, r6, r3 strh r6, [r4, #14] @ movhi -.L1909: +.L1911: ldr r3, [r4, #4] movw r2, #65532 adds r3, r3, #1 @@ -13440,20 +13515,20 @@ rk_sftl_vendor_write: it hi movhi r3, #0 strh r3, [r4, #8] @ movhi - ldr r3, .L1921 + ldr r3, .L1923 ldr r3, [r3, #-160] -.L1920: +.L1922: ldr r0, [sp, #4] mov r2, r4 movs r1, #128 lsls r0, r0, #7 blx r3 movs r0, #0 -.L1902: +.L1904: add sp, sp, #28 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1908: +.L1910: ldrh r9, [r5, #20] add r0, fp, r10 ldrh r2, [r5, #16] @@ -13470,24 +13545,24 @@ rk_sftl_vendor_write: add r10, r10, r9 bl memcpy ldr r3, [sp, #20] - b .L1907 -.L1906: + b .L1909 +.L1908: ldrh r0, [r5, #18] mov r2, r8 mov r1, r3 add r0, r0, fp bl memcpy strh r8, [r5, #20] @ movhi - b .L1909 -.L1905: + b .L1911 +.L1907: adds r7, r7, #1 - b .L1904 -.L1917: + b .L1906 +.L1919: mov r0, #-1 - b .L1902 -.L1922: + b .L1904 +.L1924: .align 2 -.L1921: +.L1923: .word .LANCHOR3 .fnend .size rk_sftl_vendor_write, .-rk_sftl_vendor_write @@ -13510,18 +13585,18 @@ rk_sftl_vendor_storage_ioctl: bl ftl_malloc mov r4, r0 cmp r0, #0 - beq .L1937 - ldr r3, .L1949 + beq .L1939 + ldr r3, .L1951 cmp r6, r3 - beq .L1926 + beq .L1928 adds r3, r3, #1 cmp r6, r3 - beq .L1927 -.L1948: + beq .L1929 +.L1950: mvn r5, #13 - b .L1925 -.L1926: - ldr r6, .L1949+4 + b .L1927 +.L1928: + ldr r6, .L1951+4 mov r3, sp ands r3, r3, r6 ldr r3, [r3, #72] @@ -13532,31 +13607,31 @@ rk_sftl_vendor_storage_ioctl: .thumb .syntax unified cmp r3, #0 - bne .L1933 + bne .L1935 movs r2, #8 mov r1, r5 bl arm_copy_from_user cmp r0, #0 - bne .L1948 + bne .L1950 ldr r2, [r4] - ldr r3, .L1949+8 + ldr r3, .L1951+8 cmp r2, r3 - beq .L1931 -.L1932: + beq .L1933 +.L1934: mov r5, #-1 -.L1925: +.L1927: mov r0, r4 bl kfree -.L1923: +.L1925: mov r0, r5 pop {r4, r5, r6, pc} -.L1931: +.L1933: ldrh r2, [r4, #6] add r1, r4, #8 ldrh r0, [r4, #4] bl rk_sftl_vendor_read adds r3, r0, #1 - beq .L1932 + beq .L1934 mov r3, sp uxth r2, r0 ands r6, r6, r3 @@ -13570,17 +13645,17 @@ rk_sftl_vendor_storage_ioctl: .thumb .syntax unified cmp r3, #0 - bne .L1948 + bne .L1950 mov r1, r4 mov r0, r5 bl arm_copy_to_user cmp r0, #0 - bne .L1948 -.L1939: + bne .L1950 +.L1941: mov r5, r0 - b .L1925 -.L1927: - ldr r6, .L1949+4 + b .L1927 +.L1929: + ldr r6, .L1951+4 mov r3, sp ands r3, r3, r6 ldr r3, [r3, #72] @@ -13590,20 +13665,20 @@ rk_sftl_vendor_storage_ioctl: @ 0 "" 2 .thumb .syntax unified - cbnz r3, .L1933 + cbnz r3, .L1935 movs r2, #8 mov r1, r5 bl arm_copy_from_user cmp r0, #0 - bne .L1948 + bne .L1950 ldr r2, [r4] - ldr r3, .L1949+8 + ldr r3, .L1951+8 cmp r2, r3 - bne .L1932 + bne .L1934 ldrh r2, [r4, #6] movw r3, #4087 cmp r2, r3 - bhi .L1932 + bhi .L1934 mov r3, sp adds r2, r2, #8 ands r6, r6, r3 @@ -13614,32 +13689,32 @@ rk_sftl_vendor_storage_ioctl: @ 0 "" 2 .thumb .syntax unified - cbnz r3, .L1935 + cbnz r3, .L1937 mov r1, r5 mov r0, r4 bl arm_copy_from_user cmp r0, #0 - bne .L1948 + bne .L1950 ldrh r2, [r4, #6] add r1, r4, #8 ldrh r0, [r4, #4] bl rk_sftl_vendor_write - b .L1939 -.L1933: - movs r1, #8 -.L1947: - bl __memzero - b .L1948 + b .L1941 .L1935: + movs r1, #8 +.L1949: + bl __memzero + b .L1950 +.L1937: mov r1, r2 mov r0, r4 - b .L1947 -.L1937: + b .L1949 +.L1939: mov r5, #-1 - b .L1923 -.L1950: + b .L1925 +.L1952: .align 2 -.L1949: +.L1951: .word 1074034177 .word -8192 .word 1448232273 @@ -13657,11 +13732,11 @@ rk_sftl_vendor_register: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r0, .L1952 + ldr r0, .L1954 b misc_register -.L1953: +.L1955: .align 2 -.L1952: +.L1954: .word .LANCHOR2+12 .fnend .size rk_sftl_vendor_register, .-rk_sftl_vendor_register @@ -13817,141 +13892,141 @@ rk_sftl_vendor_register: .section .rodata .align 2 .set .LANCHOR1,. + 0 - .type __func__.6748, %object - .size __func__.6748, 17 -__func__.6748: + .type __func__.6749, %object + .size __func__.6749, 17 +__func__.6749: .ascii "INSERT_DATA_LIST\000" - .type __func__.6743, %object - .size __func__.6743, 17 -__func__.6743: + .type __func__.6744, %object + .size __func__.6744, 17 +__func__.6744: .ascii "INSERT_FREE_LIST\000" - .type __func__.6786, %object - .size __func__.6786, 17 -__func__.6786: + .type __func__.6787, %object + .size __func__.6787, 17 +__func__.6787: .ascii "List_remove_node\000" - .type __func__.6818, %object - .size __func__.6818, 22 -__func__.6818: + .type __func__.6819, %object + .size __func__.6819, 22 +__func__.6819: .ascii "List_update_data_list\000" - .type __func__.6929, %object - .size __func__.6929, 22 -__func__.6929: + .type __func__.6930, %object + .size __func__.6930, 22 +__func__.6930: .ascii "select_l2p_ram_region\000" - .type __func__.7252, %object - .size __func__.7252, 16 -__func__.7252: + .type __func__.7253, %object + .size __func__.7253, 16 +__func__.7253: .ascii "make_superblock\000" - .type __func__.7427, %object - .size __func__.7427, 19 -__func__.7427: + .type __func__.7428, %object + .size __func__.7428, 19 +__func__.7428: .ascii "get_new_active_ppa\000" - .type __func__.17765, %object - .size __func__.17765, 15 -__func__.17765: + .type __func__.17766, %object + .size __func__.17766, 15 +__func__.17766: .ascii "FlashReadPages\000" - .type __func__.17782, %object - .size __func__.17782, 15 -__func__.17782: + .type __func__.17783, %object + .size __func__.17783, 15 +__func__.17783: .ascii "FlashProgPages\000" - .type __func__.6860, %object - .size __func__.6860, 26 -__func__.6860: + .type __func__.6861, %object + .size __func__.6861, 26 +__func__.6861: .ascii "ftl_map_blk_alloc_new_blk\000" - .type __func__.6279, %object - .size __func__.6279, 11 -__func__.6279: + .type __func__.6280, %object + .size __func__.6280, 11 +__func__.6280: .ascii "FtlMemInit\000" - .type __func__.6583, %object - .size __func__.6583, 14 -__func__.6583: + .type __func__.6584, %object + .size __func__.6584, 14 +__func__.6584: .ascii "FtlBbt2Bitmap\000" - .type __func__.6890, %object - .size __func__.6890, 31 -__func__.6890: + .type __func__.6891, %object + .size __func__.6891, 31 +__func__.6891: .ascii "Ftl_write_map_blk_to_last_page\000" - .type __func__.6904, %object - .size __func__.6904, 16 -__func__.6904: + .type __func__.6905, %object + .size __func__.6905, 16 +__func__.6905: .ascii "FtlMapWritePage\000" - .type __func__.6827, %object - .size __func__.6827, 16 -__func__.6827: + .type __func__.6828, %object + .size __func__.6828, 16 +__func__.6828: .ascii "load_l2p_region\000" - .type __func__.6875, %object - .size __func__.6875, 15 -__func__.6875: + .type __func__.6876, %object + .size __func__.6876, 15 +__func__.6876: .ascii "ftl_map_blk_gc\000" - .type __func__.6946, %object - .size __func__.6946, 9 -__func__.6946: + .type __func__.6947, %object + .size __func__.6947, 9 +__func__.6947: .ascii "log2phys\000" - .type __func__.7161, %object - .size __func__.7161, 16 -__func__.7161: + .type __func__.7162, %object + .size __func__.7162, 16 +__func__.7162: .ascii "FtlReUsePrevPpa\000" - .type __func__.7314, %object - .size __func__.7314, 14 -__func__.7314: + .type __func__.7315, %object + .size __func__.7315, 14 +__func__.7315: .ascii "ftl_check_vpc\000" - .type __func__.7041, %object - .size __func__.7041, 14 -__func__.7041: + .type __func__.7042, %object + .size __func__.7042, 14 +__func__.7042: .ascii "FtlScanSysBlk\000" - .type __func__.7273, %object - .size __func__.7273, 18 -__func__.7273: + .type __func__.7274, %object + .size __func__.7274, 18 +__func__.7274: .ascii "SupperBlkListInit\000" - .type __func__.7399, %object - .size __func__.7399, 25 -__func__.7399: + .type __func__.7400, %object + .size __func__.7400, 25 +__func__.7400: .ascii "allocate_data_superblock\000" - .type __func__.7440, %object - .size __func__.7440, 16 -__func__.7440: + .type __func__.7441, %object + .size __func__.7441, 16 +__func__.7441: .ascii "update_vpc_list\000" - .type __func__.7447, %object - .size __func__.7447, 20 -__func__.7447: + .type __func__.7448, %object + .size __func__.7448, 20 +__func__.7448: .ascii "decrement_vpc_count\000" - .type __func__.7195, %object - .size __func__.7195, 22 -__func__.7195: + .type __func__.7196, %object + .size __func__.7196, 22 +__func__.7196: .ascii "FtlRecoverySuperblock\000" - .type __func__.6626, %object - .size __func__.6626, 11 -__func__.6626: + .type __func__.6627, %object + .size __func__.6627, 11 +__func__.6627: .ascii "FtlLoadBbt\000" - .type __func__.7019, %object - .size __func__.7019, 15 -__func__.7019: + .type __func__.7020, %object + .size __func__.7020, 15 +__func__.7020: .ascii "FtlVpcTblFlush\000" - .type __func__.7298, %object - .size __func__.7298, 21 -__func__.7298: + .type __func__.7299, %object + .size __func__.7299, 21 +__func__.7299: .ascii "FtlVpcCheckAndModify\000" - .type __func__.7420, %object - .size __func__.7420, 29 -__func__.7420: + .type __func__.7421, %object + .size __func__.7421, 29 +__func__.7421: .ascii "allocate_new_data_superblock\000" - .type __func__.6403, %object - .size __func__.6403, 13 -__func__.6403: + .type __func__.6404, %object + .size __func__.6404, 13 +__func__.6404: .ascii "FtlProgPages\000" - .type __func__.7518, %object - .size __func__.7518, 19 -__func__.7518: + .type __func__.7519, %object + .size __func__.7519, 19 +__func__.7519: .ascii "FtlGcFreeTempBlock\000" - .type __func__.7624, %object - .size __func__.7624, 23 -__func__.7624: + .type __func__.7625, %object + .size __func__.7625, 23 +__func__.7625: .ascii "rk_ftl_garbage_collect\000" - .type __func__.6431, %object - .size __func__.6431, 9 -__func__.6431: + .type __func__.6432, %object + .size __func__.6432, 9 +__func__.6432: .ascii "FtlWrite\000" - .type __func__.7098, %object - .size __func__.7098, 15 -__func__.7098: + .type __func__.7099, %object + .size __func__.7099, 15 +__func__.7099: .ascii "FtlLoadSysInfo\000" .space 2 .type rk_sftl_vendor_storage_fops, %object diff --git a/drivers/rkflash/rk_sftl_arm_v8.S b/drivers/rkflash/rk_sftl_arm_v8.S index 2267cc9400a7..b477611bb3f5 100644 --- a/drivers/rkflash/rk_sftl_arm_v8.S +++ b/drivers/rkflash/rk_sftl_arm_v8.S @@ -2,7 +2,7 @@ /* * Copyright (c) 2018 Rockchip Electronics Co. Ltd. - * date: 2018-08-14 + * date: 2018-08-17 */ .arch armv8-a .file "rk_sftl.c" @@ -1514,399 +1514,462 @@ FtlPrintInfo2buf: add x20, x0, 12 str x27, [sp, 80] bl strcpy - ldr w2, [x21, 120] + ldr w3, [x21, 120] + adrp x2, .LC3 + add x2, x2, :lo12:.LC3 + mov x1, 64 mov x0, x20 - adrp x1, .LC3 - add x1, x1, :lo12:.LC3 - bl sprintf + bl snprintf add x20, x20, x0, sxtw mov x0, x20 adrp x1, .LC4 add x1, x1, :lo12:.LC4 bl strcpy - ldr w2, [x21, 2584] + ldr w3, [x21, 2584] add x20, x20, 10 + mov x1, 64 mov x0, x20 - adrp x1, .LC5 - add x1, x1, :lo12:.LC5 - bl sprintf + adrp x2, .LC5 + add x2, x2, :lo12:.LC5 + bl snprintf add x20, x20, x0, sxtw - ldr w2, [x21, 2580] + ldr w3, [x21, 2580] + mov x1, 64 mov x0, x20 - adrp x1, .LC6 - add x1, x1, :lo12:.LC6 - bl sprintf + adrp x2, .LC6 + add x2, x2, :lo12:.LC6 + bl snprintf add x20, x20, x0, sxtw - ldr w2, [x21, 2588] + ldr w3, [x21, 2588] + mov x1, 64 mov x0, x20 - adrp x1, .LC7 - add x1, x1, :lo12:.LC7 - bl sprintf + adrp x2, .LC7 + add x2, x2, :lo12:.LC7 + bl snprintf add x20, x20, x0, sxtw - ldr w2, [x21, 2592] + ldr w3, [x21, 2592] + mov x1, 64 mov x0, x20 - adrp x1, .LC8 - add x1, x1, :lo12:.LC8 - bl sprintf + adrp x2, .LC8 + add x2, x2, :lo12:.LC8 + bl snprintf add x20, x20, x0, sxtw - ldr w2, [x21, 2596] + ldr w3, [x21, 2596] + mov x1, 64 mov x0, x20 - adrp x1, .LC9 - add x1, x1, :lo12:.LC9 - bl sprintf + adrp x2, .LC9 + add x2, x2, :lo12:.LC9 + bl snprintf add x20, x20, x0, sxtw - ldr w2, [x21, 2600] + ldr w3, [x21, 2600] + mov x1, 64 mov x0, x20 - adrp x1, .LC10 - add x1, x1, :lo12:.LC10 - bl sprintf + adrp x2, .LC10 + add x2, x2, :lo12:.LC10 + bl snprintf add x20, x20, x0, sxtw - ldr w2, [x21, 2604] + ldr w3, [x21, 2604] + mov x1, 64 mov x0, x20 - adrp x1, .LC11 - add x1, x1, :lo12:.LC11 - bl sprintf + adrp x2, .LC11 + add x2, x2, :lo12:.LC11 + bl snprintf add x20, x20, x0, sxtw - ldr w2, [x21, 2608] + ldr w3, [x21, 2608] + mov x1, 64 mov x0, x20 - adrp x1, .LC12 - add x1, x1, :lo12:.LC12 - bl sprintf + adrp x2, .LC12 + add x2, x2, :lo12:.LC12 + bl snprintf add x20, x20, x0, sxtw - ldr w2, [x21, 2612] + ldr w3, [x21, 2612] + mov x1, 64 mov x0, x20 - adrp x1, .LC13 - add x1, x1, :lo12:.LC13 - lsr w2, w2, 11 - bl sprintf - ldr w2, [x21, 2616] + adrp x2, .LC13 + add x2, x2, :lo12:.LC13 + lsr w3, w3, 11 + bl snprintf + ldr w3, [x21, 2616] add x20, x20, x0, sxtw + mov x1, 64 mov x0, x20 - adrp x1, .LC14 - add x1, x1, :lo12:.LC14 - lsr w2, w2, 11 - bl sprintf - ldr w2, [x21, 2620] + adrp x2, .LC14 + add x2, x2, :lo12:.LC14 + lsr w3, w3, 11 + bl snprintf + ldr w3, [x21, 2620] add x20, x20, x0, sxtw + mov x1, 64 mov x0, x20 - adrp x1, .LC15 - add x1, x1, :lo12:.LC15 - bl sprintf + adrp x2, .LC15 + add x2, x2, :lo12:.LC15 + bl snprintf add x20, x20, x0, sxtw - ldr w2, [x21, 2624] + ldr w3, [x21, 2624] + mov x1, 64 mov x0, x20 - adrp x1, .LC16 - add x1, x1, :lo12:.LC16 - bl sprintf + adrp x2, .LC16 + add x2, x2, :lo12:.LC16 + bl snprintf add x20, x20, x0, sxtw - ldrh w2, [x21, 166] + ldrh w3, [x21, 166] + mov x1, 64 mov x0, x20 - adrp x1, .LC17 - add x1, x1, :lo12:.LC17 - bl sprintf + adrp x2, .LC17 + add x2, x2, :lo12:.LC17 + bl snprintf add x20, x20, x0, sxtw - ldrh w2, [x21, 2416] + ldrh w3, [x21, 2416] + mov x1, 64 mov x0, x20 - adrp x1, .LC18 - add x1, x1, :lo12:.LC18 - bl sprintf + adrp x2, .LC18 + add x2, x2, :lo12:.LC18 + bl snprintf add x20, x20, x0, sxtw - ldr w2, [x21, 2628] + ldr w3, [x21, 2628] + mov x1, 64 mov x0, x20 - adrp x1, .LC19 - add x1, x1, :lo12:.LC19 - bl sprintf + adrp x2, .LC19 + add x2, x2, :lo12:.LC19 + bl snprintf add x20, x20, x0, sxtw - ldr w2, [x21, 2632] + ldr w3, [x21, 2632] + mov x1, 64 mov x0, x20 - adrp x1, .LC20 - add x1, x1, :lo12:.LC20 - bl sprintf + adrp x2, .LC20 + add x2, x2, :lo12:.LC20 + bl snprintf add x20, x20, x0, sxtw - ldr w2, [x21, 2636] + ldr w3, [x21, 2636] + mov x1, 64 mov x0, x20 - adrp x1, .LC21 - add x1, x1, :lo12:.LC21 - bl sprintf + adrp x2, .LC21 + add x2, x2, :lo12:.LC21 + bl snprintf add x20, x20, x0, sxtw - ldr w2, [x21, 2640] + ldr w3, [x21, 2640] + mov x1, 64 mov x0, x20 - adrp x1, .LC22 - add x1, x1, :lo12:.LC22 - bl sprintf + adrp x2, .LC22 + add x2, x2, :lo12:.LC22 + bl snprintf add x20, x20, x0, sxtw - ldr w2, [x21, 2644] + ldr w3, [x21, 2644] + mov x1, 64 mov x0, x20 - adrp x1, .LC23 - add x1, x1, :lo12:.LC23 - bl sprintf + adrp x2, .LC23 + add x2, x2, :lo12:.LC23 + bl snprintf add x20, x20, x0, sxtw - ldr w2, [x21, 2648] + ldr w3, [x21, 2648] + mov x1, 64 mov x0, x20 - adrp x1, .LC24 - add x1, x1, :lo12:.LC24 - bl sprintf + adrp x2, .LC24 + add x2, x2, :lo12:.LC24 + bl snprintf add x20, x20, x0, sxtw - ldrh w2, [x21, 2342] + ldrh w3, [x21, 2342] + mov x1, 64 mov x0, x20 - adrp x1, .LC25 - add x1, x1, :lo12:.LC25 - bl sprintf + adrp x2, .LC25 + add x2, x2, :lo12:.LC25 + bl snprintf add x20, x20, x0, sxtw - ldrh w2, [x21, 2340] + ldrh w3, [x21, 2340] + mov x1, 64 mov x0, x20 - adrp x1, .LC26 - add x1, x1, :lo12:.LC26 - bl sprintf + adrp x2, .LC26 + add x2, x2, :lo12:.LC26 + bl snprintf add x20, x20, x0, sxtw - ldr w2, [x21, 144] + ldr w3, [x21, 144] + mov x1, 64 mov x0, x20 - adrp x1, .LC27 - add x1, x1, :lo12:.LC27 - bl sprintf + adrp x2, .LC27 + add x2, x2, :lo12:.LC27 + bl snprintf add x20, x20, x0, sxtw - ldr w2, [x21, 136] + ldr w3, [x21, 136] + mov x1, 64 mov x0, x20 - adrp x1, .LC28 - add x1, x1, :lo12:.LC28 - bl sprintf + adrp x2, .LC28 + add x2, x2, :lo12:.LC28 + bl snprintf add x20, x20, x0, sxtw - ldr w2, [x21, 32] + ldr w3, [x21, 32] + mov x1, 64 mov x0, x20 - adrp x1, .LC29 - add x1, x1, :lo12:.LC29 - bl sprintf + adrp x2, .LC29 + add x2, x2, :lo12:.LC29 + bl snprintf add x20, x20, x0, sxtw - ldrh w2, [x21, 262] + ldrh w3, [x21, 262] + mov x1, 64 mov x0, x20 - adrp x1, .LC30 - add x1, x1, :lo12:.LC30 - bl sprintf + adrp x2, .LC30 + add x2, x2, :lo12:.LC30 + bl snprintf add x20, x20, x0, sxtw - ldrh w2, [x21, 44] + ldrh w3, [x21, 44] + mov x1, 64 mov x0, x20 - adrp x1, .LC31 - add x1, x1, :lo12:.LC31 - bl sprintf + adrp x2, .LC31 + add x2, x2, :lo12:.LC31 + bl snprintf add x20, x20, x0, sxtw - ldrh w2, [x21, 2652] + ldrh w3, [x21, 2652] + mov x1, 64 mov x0, x20 - adrp x1, .LC32 - add x1, x1, :lo12:.LC32 - bl sprintf + adrp x2, .LC32 + add x2, x2, :lo12:.LC32 + bl snprintf add x20, x20, x0, sxtw - ldr w2, [x21, 48] + ldr w3, [x21, 48] + mov x1, 64 mov x0, x20 - adrp x1, .LC33 - add x1, x1, :lo12:.LC33 - bl sprintf + adrp x2, .LC33 + add x2, x2, :lo12:.LC33 + bl snprintf add x20, x20, x0, sxtw - ldrh w2, [x21, 2656] + ldrh w3, [x21, 2656] + mov x1, 64 mov x0, x20 - adrp x1, .LC34 - add x1, x1, :lo12:.LC34 - bl sprintf + adrp x2, .LC34 + add x2, x2, :lo12:.LC34 + bl snprintf add x20, x20, x0, sxtw - ldrh w2, [x21, 160] + ldrh w3, [x21, 160] + mov x1, 64 mov x0, x20 - adrp x1, .LC35 - add x1, x1, :lo12:.LC35 - bl sprintf + adrp x2, .LC35 + add x2, x2, :lo12:.LC35 + bl snprintf add x20, x20, x0, sxtw - ldrh w2, [x21, 2426] + ldrh w3, [x21, 2426] + mov x1, 64 mov x0, x20 - adrp x1, .LC36 - add x1, x1, :lo12:.LC36 - bl sprintf + adrp x2, .LC36 + add x2, x2, :lo12:.LC36 + bl snprintf add x20, x20, x0, sxtw - ldrb w2, [x21, 2430] + ldrb w3, [x21, 2430] + mov x1, 64 mov x0, x20 - adrp x1, .LC37 - add x1, x1, :lo12:.LC37 - bl sprintf + adrp x2, .LC37 + add x2, x2, :lo12:.LC37 + bl snprintf add x20, x20, x0, sxtw - ldrh w2, [x21, 2424] + ldrh w3, [x21, 2424] + mov x1, 64 mov x0, x20 - adrp x1, .LC38 - add x1, x1, :lo12:.LC38 - bl sprintf + adrp x2, .LC38 + add x2, x2, :lo12:.LC38 + bl snprintf add x20, x20, x0, sxtw - ldrb w2, [x21, 2432] + ldrb w3, [x21, 2432] + mov x1, 64 mov x0, x20 - adrp x1, .LC39 - add x1, x1, :lo12:.LC39 - bl sprintf + adrp x2, .LC39 + add x2, x2, :lo12:.LC39 + bl snprintf add x20, x20, x0, sxtw - ldrh w2, [x21, 2428] + ldrh w3, [x21, 2428] + mov x1, 64 mov x0, x20 - adrp x1, .LC40 - add x1, x1, :lo12:.LC40 - bl sprintf + adrp x2, .LC40 + add x2, x2, :lo12:.LC40 + bl snprintf add x20, x20, x0, sxtw ldrh w1, [x21, 2424] + adrp x2, .LC41 ldr x0, [x21, 2376] - ldrh w2, [x0, x1, lsl 1] + add x2, x2, :lo12:.LC41 + ldrh w3, [x0, x1, lsl 1] + mov x1, 64 mov x0, x20 - adrp x1, .LC41 - add x1, x1, :lo12:.LC41 - bl sprintf + bl snprintf add x20, x20, x0, sxtw - ldrh w2, [x21, 2474] + ldrh w3, [x21, 2474] + mov x1, 64 mov x0, x20 - adrp x1, .LC42 - add x1, x1, :lo12:.LC42 - bl sprintf + adrp x2, .LC42 + add x2, x2, :lo12:.LC42 + bl snprintf add x20, x20, x0, sxtw - ldrb w2, [x21, 2478] + ldrb w3, [x21, 2478] + mov x1, 64 mov x0, x20 - adrp x1, .LC43 - add x1, x1, :lo12:.LC43 - bl sprintf + adrp x2, .LC43 + add x2, x2, :lo12:.LC43 + bl snprintf add x20, x20, x0, sxtw - ldrh w2, [x21, 2472] + ldrh w3, [x21, 2472] + mov x1, 64 mov x0, x20 - adrp x1, .LC44 - add x1, x1, :lo12:.LC44 - bl sprintf + adrp x2, .LC44 + add x2, x2, :lo12:.LC44 + bl snprintf add x20, x20, x0, sxtw - ldrb w2, [x21, 2480] + ldrb w3, [x21, 2480] + mov x1, 64 mov x0, x20 - adrp x1, .LC45 - add x1, x1, :lo12:.LC45 - bl sprintf + adrp x2, .LC45 + add x2, x2, :lo12:.LC45 + bl snprintf add x20, x20, x0, sxtw - ldrh w2, [x21, 2476] + ldrh w3, [x21, 2476] + mov x1, 64 mov x0, x20 - adrp x1, .LC46 - add x1, x1, :lo12:.LC46 - bl sprintf + adrp x2, .LC46 + add x2, x2, :lo12:.LC46 + bl snprintf add x20, x20, x0, sxtw ldrh w1, [x21, 2472] + adrp x2, .LC47 ldr x0, [x21, 2376] - ldrh w2, [x0, x1, lsl 1] + add x2, x2, :lo12:.LC47 + ldrh w3, [x0, x1, lsl 1] + mov x1, 64 mov x0, x20 - adrp x1, .LC47 - add x1, x1, :lo12:.LC47 - bl sprintf + bl snprintf add x20, x20, x0, sxtw - ldrh w2, [x21, 2522] + ldrh w3, [x21, 2522] + mov x1, 64 mov x0, x20 - adrp x1, .LC48 - add x1, x1, :lo12:.LC48 - bl sprintf + adrp x2, .LC48 + add x2, x2, :lo12:.LC48 + bl snprintf add x20, x20, x0, sxtw - ldrb w2, [x21, 2526] + ldrb w3, [x21, 2526] + mov x1, 64 mov x0, x20 - adrp x1, .LC49 - add x1, x1, :lo12:.LC49 - bl sprintf + adrp x2, .LC49 + add x2, x2, :lo12:.LC49 + bl snprintf add x20, x20, x0, sxtw - ldrh w2, [x21, 2520] + ldrh w3, [x21, 2520] + mov x1, 64 mov x0, x20 - adrp x1, .LC50 - add x1, x1, :lo12:.LC50 - bl sprintf + adrp x2, .LC50 + add x2, x2, :lo12:.LC50 + bl snprintf add x20, x20, x0, sxtw - ldrb w2, [x21, 2528] + ldrb w3, [x21, 2528] + mov x1, 64 mov x0, x20 - adrp x1, .LC51 - add x1, x1, :lo12:.LC51 - bl sprintf + adrp x2, .LC51 + add x2, x2, :lo12:.LC51 + bl snprintf add x20, x20, x0, sxtw - ldrh w2, [x21, 2524] + ldrh w3, [x21, 2524] + mov x1, 64 mov x0, x20 - adrp x1, .LC52 - add x1, x1, :lo12:.LC52 - bl sprintf + adrp x2, .LC52 + add x2, x2, :lo12:.LC52 + bl snprintf add x20, x20, x0, sxtw - ldrh w2, [x21, 2674] + ldrh w3, [x21, 2674] + mov x1, 64 mov x0, x20 - adrp x1, .LC53 - add x1, x1, :lo12:.LC53 - bl sprintf + adrp x2, .LC53 + add x2, x2, :lo12:.LC53 + bl snprintf add x20, x20, x0, sxtw - ldrb w2, [x21, 2678] + ldrb w3, [x21, 2678] + mov x1, 64 mov x0, x20 - adrp x1, .LC54 - add x1, x1, :lo12:.LC54 - bl sprintf + adrp x2, .LC54 + add x2, x2, :lo12:.LC54 + bl snprintf add x20, x20, x0, sxtw - ldrh w2, [x21, 2672] + ldrh w3, [x21, 2672] + mov x1, 64 mov x0, x20 - adrp x1, .LC55 - add x1, x1, :lo12:.LC55 - bl sprintf + adrp x2, .LC55 + add x2, x2, :lo12:.LC55 + bl snprintf add x20, x20, x0, sxtw - ldrb w2, [x21, 2680] + ldrb w3, [x21, 2680] + mov x1, 64 mov x0, x20 - adrp x1, .LC56 - add x1, x1, :lo12:.LC56 - bl sprintf + adrp x2, .LC56 + add x2, x2, :lo12:.LC56 + bl snprintf add x20, x20, x0, sxtw - ldrh w2, [x21, 2676] + ldrh w3, [x21, 2676] + mov x1, 64 mov x0, x20 - adrp x1, .LC57 - add x1, x1, :lo12:.LC57 - bl sprintf + adrp x2, .LC57 + add x2, x2, :lo12:.LC57 + bl snprintf add x20, x20, x0, sxtw - ldr w4, [x21, 2796] - adrp x1, .LC58 - ldr w3, [x21, 2804] - add x1, x1, :lo12:.LC58 - ldr w2, [x21, 2800] + ldr w5, [x21, 2796] + mov x1, 64 + ldr w4, [x21, 2804] + adrp x2, .LC58 + ldr w3, [x21, 2800] + add x2, x2, :lo12:.LC58 mov x0, x20 - bl sprintf + bl snprintf add x19, x20, x0, sxtw - ldr w2, [x21, 2792] + ldr w3, [x21, 2792] + mov x1, 64 mov x0, x19 - adrp x1, .LC59 - add x1, x1, :lo12:.LC59 - bl sprintf + adrp x2, .LC59 + add x2, x2, :lo12:.LC59 + bl snprintf add x19, x19, x0, sxtw - ldr w2, [x21, 2816] + ldr w3, [x21, 2816] + mov x1, 64 mov x0, x19 - adrp x1, .LC60 - add x1, x1, :lo12:.LC60 - bl sprintf + adrp x2, .LC60 + add x2, x2, :lo12:.LC60 + bl snprintf add x19, x19, x0, sxtw - ldrh w2, [x21, 3232] + ldrh w3, [x21, 3232] + mov x1, 64 mov x0, x19 - adrp x1, .LC61 - add x1, x1, :lo12:.LC61 - bl sprintf + adrp x2, .LC61 + add x2, x2, :lo12:.LC61 + bl snprintf add x19, x19, x0, sxtw - ldrh w2, [x21, 3234] + ldrh w3, [x21, 3234] + mov x1, 64 mov x0, x19 - adrp x1, .LC62 - add x1, x1, :lo12:.LC62 - bl sprintf + adrp x2, .LC62 + add x2, x2, :lo12:.LC62 + bl snprintf add x19, x19, x0, sxtw - ldr w2, [x21, 3236] + ldr w3, [x21, 3236] + mov x1, 64 mov x0, x19 - adrp x1, .LC63 - add x1, x1, :lo12:.LC63 - bl sprintf + adrp x2, .LC63 + add x2, x2, :lo12:.LC63 + bl snprintf add x19, x19, x0, sxtw - ldrh w2, [x21, 3240] - adrp x1, .LC64 - add x1, x1, :lo12:.LC64 + ldrh w3, [x21, 3240] + adrp x2, .LC64 + add x2, x2, :lo12:.LC64 + mov x1, 64 mov x0, x19 - bl sprintf + bl snprintf add x19, x19, x0, sxtw bl GetFreeBlockMinEraseCount - and w2, w0, 65535 - adrp x1, .LC65 + and w3, w0, 65535 + mov x1, 64 mov x0, x19 - add x1, x1, :lo12:.LC65 - bl sprintf + adrp x2, .LC65 + add x2, x2, :lo12:.LC65 + bl snprintf add x19, x19, x0, sxtw ldrh w0, [x21, 2416] bl GetFreeBlockMaxEraseCount - and w2, w0, 65535 - adrp x1, .LC66 + and w3, w0, 65535 + adrp x2, .LC66 mov x0, x19 - add x1, x1, :lo12:.LC66 - bl sprintf + add x2, x2, :lo12:.LC66 + mov x1, 64 + bl snprintf add x19, x19, x0, sxtw adrp x0, .LANCHOR2 ldr w0, [x0, #:lo12:.LANCHOR2] @@ -1928,43 +1991,45 @@ FtlPrintInfo2buf: beq .L212 ldr x1, [x21, 2376] ubfiz x0, x0, 1, 16 - ldrh w2, [x1, x0] + adrp x2, .LC67 + add x2, x2, :lo12:.LC67 + ldrh w3, [x1, x0] mov x0, x19 - adrp x1, .LC67 - add x1, x1, :lo12:.LC67 - bl sprintf + mov x1, 64 + bl snprintf add x19, x19, x0, sxtw .L212: mov w0, 0 adrp x24, .LC68 bl List_get_gc_head_node add x21, x23, :lo12:.LANCHOR0 - and w3, w0, 65535 + and w4, w0, 65535 add x24, x24, :lo12:.LC68 mov w20, 0 mov w27, 65535 mov w26, 6 .L214: - cmp w3, w27 + cmp w4, w27 beq .L213 - umull x25, w3, w26 + umull x25, w4, w26 ldr x0, [x21, 2360] ldr x2, [x21, 2376] - ubfiz x1, x3, 1, 16 - ldr x4, [x21, 2384] + ubfiz x1, x4, 1, 16 + ldr x3, [x21, 2384] add x0, x0, x25 - ldrh w5, [x0, 4] + ldrh w5, [x2, x1] + mov x2, x24 + ldrh w7, [x3, x1] + mov w3, w20 + ldrh w6, [x0, 4] + mov x1, 64 mov x0, x19 - ldrh w6, [x4, x1] - ldrh w4, [x2, x1] - mov w2, w20 - mov x1, x24 add w20, w20, 1 - bl sprintf + bl snprintf add x19, x19, x0, sxtw ldr x0, [x21, 2360] cmp w20, 16 - ldrh w3, [x0, x25] + ldrh w4, [x0, x25] bne .L214 .L213: add x23, x23, :lo12:.LANCHOR0 @@ -1974,48 +2039,53 @@ FtlPrintInfo2buf: mov w25, 65535 mov w26, 6 ldr x0, [x23, 2360] - ldr x3, [x23, 2408] - sub x3, x3, x0 + ldr x4, [x23, 2408] + sub x4, x4, x0 mov x0, -6148914691236517206 - asr x3, x3, 1 + asr x4, x4, 1 movk x0, 0xaaab, lsl 0 - mul x3, x3, x0 - and w3, w3, 65535 + mul x4, x4, x0 + and w4, w4, 65535 .L216: - cmp w3, w25 + cmp w4, w25 beq .L215 - umull x24, w3, w26 + umull x24, w4, w26 ldr x0, [x23, 2360] ldr x2, [x23, 2384] - ubfiz x1, x3, 1, 16 + ubfiz x1, x4, 1, 16 add x0, x0, x24 - ldrh w5, [x2, x1] - mov w2, w20 - ldrh w4, [x0, 4] - mov x1, x21 - mov x0, x19 + mov w3, w20 add w20, w20, 1 - bl sprintf + ldrh w6, [x2, x1] + mov x2, x21 + ldrh w5, [x0, 4] + mov x1, 64 + mov x0, x19 + bl snprintf add x19, x19, x0, sxtw cmp w20, 4 beq .L215 ldr x0, [x23, 2360] - ldrh w3, [x0, x24] + ldrh w4, [x0, x24] b .L216 .size FtlPrintInfo2buf, .-FtlPrintInfo2buf .align 2 .global rknand_proc_ftlread .type rknand_proc_ftlread, %function rknand_proc_ftlread: + cmp w0, 2047 + ble .L224 stp x29, x30, [sp, -32]! - adrp x2, .LC70 - adrp x1, .LC71 - add x2, x2, :lo12:.LC70 + adrp x3, .LC70 + adrp x2, .LC71 + add x3, x3, :lo12:.LC70 add x29, sp, 0 - add x1, x1, :lo12:.LC71 + add x2, x2, :lo12:.LC71 stp x19, x20, [sp, 16] - mov x20, x0 - bl sprintf + mov x20, x1 + mov x1, 64 + mov x0, x20 + bl snprintf add x19, x20, x0, sxtw mov x0, x19 bl FtlPrintInfo2buf @@ -2024,6 +2094,9 @@ rknand_proc_ftlread: ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 32 ret +.L224: + mov w0, 0 + ret .size rknand_proc_ftlread, .-rknand_proc_ftlread .align 2 .global GetSwlReplaceBlock @@ -2037,14 +2110,14 @@ GetSwlReplaceBlock: ldr w2, [x0, 2636] ldr w1, [x0, 2648] cmp w2, w1 - bcs .L225 + bcs .L230 ldrh w2, [x0, 44] mov x1, 0 ldr x4, [x0, 2384] str wzr, [x0, 2628] -.L226: +.L231: cmp w2, w1 - bhi .L227 + bhi .L232 add x1, x8, :lo12:.LANCHOR0 ldr w0, [x1, 2628] udiv w2, w0, w2 @@ -2054,50 +2127,50 @@ GetSwlReplaceBlock: ldrh w2, [x1, 96] udiv w0, w0, w2 str w0, [x1, 2628] -.L228: +.L233: add x1, x8, :lo12:.LANCHOR0 ldr w9, [x1, 2648] ldr w11, [x1, 2636] add w0, w9, 256 cmp w0, w11 - bls .L233 + bls .L238 ldr w1, [x1, 2644] add w0, w9, 768 cmp w0, w1 - bls .L233 -.L235: + bls .L238 +.L240: mov w20, 65535 -.L234: +.L239: mov w0, w20 ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 32 ret -.L227: +.L232: ldrh w3, [x4, x1, lsl 1] add x1, x1, 1 ldr w5, [x0, 2628] add w3, w3, w5 str w3, [x0, 2628] - b .L226 -.L225: + b .L231 +.L230: ldr w1, [x0, 2644] cmp w2, w1 - bls .L228 + bls .L233 add w1, w1, 1 str w1, [x0, 2644] mov w1, 0 -.L230: +.L235: ldrh w2, [x0, 44] cmp w1, w2 - bcs .L228 + bcs .L233 ldr x4, [x0, 2384] ubfiz x3, x1, 1, 32 add w1, w1, 1 ldrh w2, [x4, x3] add w2, w2, 1 strh w2, [x4, x3] - b .L230 -.L233: + b .L235 +.L238: add x10, x8, :lo12:.LANCHOR0 ldrh w0, [x10, 2416] add w0, w0, w0, lsl 1 @@ -2106,9 +2179,9 @@ GetSwlReplaceBlock: and w6, w0, 65535 add w0, w9, 64 cmp w6, w0 - bcc .L235 + bcc .L240 ldr x0, [x10, 2368] - cbz x0, .L235 + cbz x0, .L240 mov w4, 65535 ldrh w12, [x10, 44] mov x13, -6148914691236517206 @@ -2119,39 +2192,39 @@ GetSwlReplaceBlock: mov w1, 0 movk x13, 0xaaab, lsl 0 mov w14, 6 -.L236: +.L241: ldrh w3, [x0] cmp w3, w10 - bne .L239 + bne .L244 mov w20, w2 -.L238: +.L243: mov w0, 65535 cmp w20, w0 - beq .L235 + beq .L240 ubfiz x7, x20, 1, 32 ldrh w3, [x5, x7] cmp w9, w3 - bcs .L240 + bcs .L245 bl GetFreeBlockMinEraseCount cmp w9, w0, uxth - bcs .L240 + bcs .L245 add x0, x8, :lo12:.LANCHOR0 str w4, [x0, 2648] -.L240: +.L245: cmp w11, w3 - bls .L235 + bls .L240 add w0, w3, 128 cmp w6, w0 - ble .L235 + ble .L240 add w0, w3, 256 cmp w11, w0 - bhi .L241 + bhi .L246 add x0, x8, :lo12:.LANCHOR0 add w3, w3, 768 ldr w0, [x0, 2644] cmp w3, w0 - bcs .L235 -.L241: + bcs .L240 +.L246: add x19, x8, :lo12:.LANCHOR0 ldrh w5, [x5, x7] mov w2, w11 @@ -2164,14 +2237,14 @@ GetSwlReplaceBlock: bl sftl_printk mov w0, 1 str w0, [x19, 3244] - b .L234 -.L239: + b .L239 +.L244: add w1, w1, 1 and w1, w1, 65535 cmp w1, w12 - bhi .L235 + bhi .L240 ldrh w15, [x0, 4] - cbz w15, .L237 + cbz w15, .L242 sub x0, x0, x7 asr x0, x0, 1 mul x0, x0, x13 @@ -2179,14 +2252,14 @@ GetSwlReplaceBlock: and x0, x0, 65535 ldrh w0, [x5, x0, lsl 1] cmp w9, w0 - bcs .L238 + bcs .L243 cmp w4, w0 - bls .L237 + bls .L242 mov w4, w0 mov w2, w20 -.L237: +.L242: umaddl x0, w3, w14, x7 - b .L236 + b .L241 .size GetSwlReplaceBlock, .-GetSwlReplaceBlock .align 2 .global free_data_superblock @@ -2195,7 +2268,7 @@ free_data_superblock: and w0, w0, 65535 mov w1, 65535 cmp w0, w1 - beq .L252 + beq .L257 stp x29, x30, [sp, -16]! adrp x2, .LANCHOR0+2376 ubfiz x1, x0, 1, 16 @@ -2206,7 +2279,7 @@ free_data_superblock: mov w0, 0 ldp x29, x30, [sp], 16 ret -.L252: +.L257: mov w0, 0 ret .size free_data_superblock, .-free_data_superblock @@ -2222,7 +2295,7 @@ get_new_active_ppa: ldrh w1, [x0] mov w0, 65535 cmp w1, w0 - bne .L256 + bne .L261 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -2230,13 +2303,13 @@ get_new_active_ppa: add x1, x1, 136 add x0, x0, :lo12:.LC1 bl sftl_printk -.L256: +.L261: adrp x20, .LANCHOR0 add x0, x20, :lo12:.LANCHOR0 ldrh w1, [x19, 2] ldrh w0, [x0, 106] cmp w1, w0 - bne .L257 + bne .L262 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -2244,9 +2317,9 @@ get_new_active_ppa: add x1, x1, 136 add x0, x0, :lo12:.LC1 bl sftl_printk -.L257: +.L262: ldrh w0, [x19, 4] - cbnz w0, .L258 + cbnz w0, .L263 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -2254,7 +2327,7 @@ get_new_active_ppa: add x1, x1, 136 add x0, x0, :lo12:.LC1 bl sftl_printk -.L258: +.L263: ldrb w0, [x19, 6] add x1, x20, :lo12:.LANCHOR0 strb wzr, [x19, 10] @@ -2262,9 +2335,9 @@ get_new_active_ppa: ldrh w2, [x1, 36] mov w1, 65535 ldrh w0, [x19, x0, lsl 1] -.L259: +.L264: cmp w0, w1 - beq .L261 + beq .L266 ldrh w21, [x19, 2] mov w3, 65535 ldrh w1, [x19, 4] @@ -2273,27 +2346,27 @@ get_new_active_ppa: sub w1, w1, #1 and w1, w1, 65535 strh w1, [x19, 4] -.L263: +.L268: add w0, w0, 1 and w0, w0, 255 cmp w2, w0 - bne .L262 + bne .L267 ldrh w0, [x19, 2] add w0, w0, 1 strh w0, [x19, 2] mov w0, 0 -.L262: +.L267: add x4, x19, x0, sxtw 1 ldrh w4, [x4, 16] cmp w4, w3 - beq .L263 + beq .L268 add x20, x20, :lo12:.LANCHOR0 strb w0, [x19, 6] ldrh w2, [x19, 2] ldrh w0, [x20, 106] cmp w2, w0 - bne .L255 - cbz w1, .L255 + bne .L260 + cbz w1, .L260 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -2301,28 +2374,28 @@ get_new_active_ppa: add x1, x1, 136 add x0, x0, :lo12:.LC1 bl sftl_printk -.L255: +.L260: mov w0, w21 ldr x21, [sp, 32] ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 48 ret -.L261: +.L266: ldrb w0, [x19, 6] add w0, w0, 1 and w0, w0, 255 strb w0, [x19, 6] cmp w0, w2 - bne .L260 + bne .L265 ldrh w0, [x19, 2] strb wzr, [x19, 6] add w0, w0, 1 strh w0, [x19, 2] -.L260: +.L265: ldrb w0, [x19, 6] add x0, x0, 8 ldrh w0, [x19, x0, lsl 1] - b .L259 + b .L264 .size get_new_active_ppa, .-get_new_active_ppa .align 2 .global FtlGcBufInit @@ -2335,19 +2408,19 @@ FtlGcBufInit: mov w9, 1 mov w5, 4 str wzr, [x1, 3248] -.L271: +.L276: ldrh w2, [x1, 36] cmp w3, w2 - bcc .L272 + bcc .L277 add x0, x0, :lo12:.LANCHOR0 mov w6, 24 mov w5, 4 -.L273: +.L278: ldr w1, [x0, 3288] cmp w2, w1 - bcc .L274 + bcc .L279 ret -.L272: +.L277: umull x4, w3, w8 ldr x6, [x1, 3256] ldr x7, [x1, 3264] @@ -2375,8 +2448,8 @@ FtlGcBufInit: str x4, [x2, 8] ldr x4, [x6, 8] str x4, [x2, 16] - b .L271 -.L274: + b .L276 +.L279: umull x4, w2, w6 ldr x3, [x0, 3256] ldr x7, [x0, 3264] @@ -2397,7 +2470,7 @@ FtlGcBufInit: sdiv w1, w1, w5 add x1, x4, x1, sxtw 2 str x1, [x3, 8] - b .L273 + b .L278 .size FtlGcBufInit, .-FtlGcBufInit .align 2 .global FtlGcBufFree @@ -2409,31 +2482,31 @@ FtlGcBufFree: mov w8, 24 ldr w7, [x2, 3288] ldr x5, [x2, 3256] -.L276: +.L281: cmp w3, w1 - bcs .L275 + bcs .L280 ubfiz x4, x3, 5, 16 mov w2, 0 add x4, x0, x4 - b .L281 -.L277: + b .L286 +.L282: add w2, w2, 1 and w2, w2, 65535 -.L281: +.L286: cmp w2, w7 - bcs .L278 + bcs .L283 umull x6, w2, w8 add x9, x5, x6 ldr x10, [x5, x6] ldr x6, [x4, 8] cmp x10, x6 - bne .L277 + bne .L282 str wzr, [x9, 16] -.L278: +.L283: add w3, w3, 1 and w3, w3, 65535 - b .L276 -.L275: + b .L281 +.L280: ret .size FtlGcBufFree, .-FtlGcBufFree .align 2 @@ -2447,20 +2520,20 @@ FtlGcBufAlloc: mov w8, 1 ldr w5, [x2, 3288] ldr x6, [x2, 3256] -.L283: +.L288: cmp w3, w1 - bcs .L282 + bcs .L287 mov w2, 0 - b .L288 -.L284: + b .L293 +.L289: add w2, w2, 1 and w2, w2, 65535 -.L288: +.L293: cmp w2, w5 - bcs .L285 + bcs .L290 umaddl x4, w2, w7, x6 ldr w9, [x4, 16] - cbnz w9, .L284 + cbnz w9, .L289 ubfiz x2, x3, 5, 16 ldr x9, [x4] add x2, x0, x2 @@ -2468,11 +2541,11 @@ FtlGcBufAlloc: str x9, [x2, 8] ldr x4, [x4, 8] str x4, [x2, 16] -.L285: +.L290: add w3, w3, 1 and w3, w3, 65535 - b .L283 -.L282: + b .L288 +.L287: ret .size FtlGcBufAlloc, .-FtlGcBufAlloc .align 2 @@ -2485,17 +2558,17 @@ IsBlkInGcList: ldrh w2, [x1, 3292] ldr x3, [x1, 3296] mov x1, 0 -.L290: +.L295: cmp w2, w1, uxth - bhi .L292 + bhi .L297 mov w0, 0 ret -.L292: +.L297: add x1, x1, 1 add x4, x3, x1, lsl 1 ldrh w4, [x4, -2] cmp w4, w0 - bne .L290 + bne .L295 mov w0, 1 ret .size IsBlkInGcList, .-IsBlkInGcList @@ -2516,25 +2589,25 @@ FtlGcUpdatePage: ldrh w1, [x4, 3292] ldr x6, [x4, 3296] mov x4, 0 -.L295: +.L300: and w2, w4, 65535 cmp w2, w1 - bcc .L297 - bne .L296 + bcc .L302 + bne .L301 and x4, x4, 65535 strh w0, [x6, x4, lsl 1] add x4, x3, :lo12:.LANCHOR0 ldrh w0, [x4, 3292] add w0, w0, 1 strh w0, [x4, 3292] - b .L296 -.L297: + b .L301 +.L302: add x4, x4, 1 add x2, x6, x4, lsl 1 ldrh w2, [x2, -2] cmp w2, w9 - bne .L295 -.L296: + bne .L300 +.L301: add x0, x3, :lo12:.LANCHOR0 mov w1, 12 ldrh w3, [x0, 3304] @@ -2568,40 +2641,40 @@ FtlGcRefreshBlock: add x0, x0, :lo12:.LANCHOR0 ldrh w5, [x0, 3320] cmp w19, w5 - beq .L300 + beq .L305 ldrh w4, [x0, 3322] cmp w19, w4 - beq .L300 + beq .L305 ldrh w3, [x0, 3324] cmp w19, w3 - beq .L300 + beq .L305 ldrh w2, [x0, 3326] cmp w19, w2 - beq .L300 + beq .L305 mov w1, 65535 cmp w5, w1 - bne .L301 + bne .L306 strh w19, [x0, 3320] -.L300: +.L305: mov w0, 0 ldr x19, [sp, 16] ldp x29, x30, [sp], 32 ret -.L301: +.L306: cmp w4, w1 - bne .L302 + bne .L307 strh w19, [x0, 3322] - b .L300 -.L302: + b .L305 +.L307: cmp w3, w1 - bne .L303 + bne .L308 strh w19, [x0, 3324] - b .L300 -.L303: + b .L305 +.L308: cmp w2, w1 - bne .L300 + bne .L305 strh w19, [x0, 3326] - b .L300 + b .L305 .size FtlGcRefreshBlock, .-FtlGcRefreshBlock .align 2 .global FtlGcMarkBadPhyBlk @@ -2627,24 +2700,24 @@ FtlGcMarkBadPhyBlk: bl FtlGcRefreshBlock ldrh w0, [x20, -8] mov x1, 0 -.L306: +.L311: cmp w0, w1, uxth - bhi .L308 + bhi .L313 cmp w0, 15 - bhi .L307 + bhi .L312 add x19, x19, :lo12:.LANCHOR0 add w1, w0, 1 add x19, x19, 3336 strh w1, [x19, -8] strh w21, [x19, w0, sxtw 1] - b .L307 -.L308: + b .L312 +.L313: add x1, x1, 1 add x2, x20, x1, lsl 1 ldrh w2, [x2, -2] cmp w2, w21 - bne .L306 -.L307: + bne .L311 +.L312: mov w0, 0 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -2661,16 +2734,16 @@ FtlGcReFreshBadBlk: adrp x19, .LANCHOR0 add x0, x19, :lo12:.LANCHOR0 ldrh w1, [x0, 3328] - cbz w1, .L311 + cbz w1, .L316 ldrh w3, [x0, 3320] mov w2, 65535 cmp w3, w2 - bne .L311 + bne .L316 ldrh w2, [x0, 3370] cmp w2, w1 - bcc .L312 + bcc .L317 strh wzr, [x0, 3370] -.L312: +.L317: add x19, x19, :lo12:.LANCHOR0 add x0, x19, 3336 ldrh w1, [x19, 3370] @@ -2680,7 +2753,7 @@ FtlGcReFreshBadBlk: ldrh w0, [x19, 3370] add w0, w0, 1 strh w0, [x19, 3370] -.L311: +.L316: mov w0, 0 ldr x19, [sp, 16] ldp x29, x30, [sp], 32 @@ -2732,9 +2805,9 @@ rknand_print_hex: mov x19, 0 mov w20, 0 adrp x28, .LC77 -.L322: +.L327: cmp w26, w19 - bhi .L328 + bhi .L333 adrp x0, .LC79 add x0, x0, :lo12:.LC79 bl sftl_printk @@ -2745,42 +2818,42 @@ rknand_print_hex: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 96 ret -.L328: - cbnz w20, .L323 +.L333: + cbnz w20, .L328 mov w3, w22 mov x2, x21 mov x1, x27 mov x0, x24 bl sftl_printk -.L323: +.L328: cmp w23, 4 - bne .L324 + bne .L329 ldr w1, [x21, x19, lsl 2] adrp x0, .LC76 add x0, x0, :lo12:.LC76 -.L330: +.L335: bl sftl_printk add w20, w20, 1 cmp w20, 15 - bls .L327 + bls .L332 mov w20, 0 adrp x0, .LC79 add x0, x0, :lo12:.LC79 bl sftl_printk -.L327: +.L332: add x19, x19, 1 add w22, w22, w23 - b .L322 -.L324: + b .L327 +.L329: cmp w23, 2 - bne .L326 + bne .L331 ldrh w1, [x21, x19, lsl 1] add x0, x28, :lo12:.LC77 - b .L330 -.L326: + b .L335 +.L331: ldrb w1, [x21, x19] mov x0, x25 - b .L330 + b .L335 .size rknand_print_hex, .-rknand_print_hex .align 2 .global FlashReadPages @@ -2803,9 +2876,9 @@ FlashReadPages: add x23, x0, x1 add x20, x20, 160 add x21, x21, :lo12:.LC1 -.L332: +.L337: cmp x19, x23 - bne .L339 + bne .L344 ldp x19, x20, [sp, 16] mov w0, 0 ldp x21, x22, [sp, 32] @@ -2813,17 +2886,17 @@ FlashReadPages: ldp x25, x26, [sp, 64] ldp x29, x30, [sp], 96 ret -.L339: +.L344: ldr x0, [x19, 8] - cbz x0, .L333 + cbz x0, .L338 ldr x0, [x19, 16] - cbnz x0, .L334 -.L333: + cbnz x0, .L339 +.L338: mov w2, 101 mov x1, x20 mov x0, x21 bl sftl_printk -.L334: +.L339: ldr w0, [x19, 4] add x26, x22, :lo12:.LANCHOR0 add x2, x29, 88 @@ -2837,7 +2910,7 @@ FlashReadPages: str w0, [x19] ldrh w0, [x26, 14] cmp w0, 4 - bne .L336 + bne .L341 ldrb w0, [x29, 88] ldr x4, [x26, 3400] ldp x2, x3, [x19, 8] @@ -2847,23 +2920,23 @@ FlashReadPages: add w1, w25, w1 blr x4 cmn w0, #1 - beq .L337 + beq .L342 ldr x0, [x19, 16] ldr w1, [x0, 12] cmn w1, #1 - bne .L336 + bne .L341 ldr w1, [x0, 8] cmn w1, #1 - bne .L336 + bne .L341 ldr w0, [x0] cmn w0, #1 - beq .L336 -.L337: + beq .L341 +.L342: mov w0, -1 str w0, [x19] -.L336: +.L341: add x19, x19, 32 - b .L332 + b .L337 .size FlashReadPages, .-FlashReadPages .align 2 .global FtlLoadFactoryBbt @@ -2886,10 +2959,10 @@ FtlLoadFactoryBbt: ldr x1, [x0, 3440] ldr x24, [x0, 3448] stp x1, x24, [x23, 8] -.L351: +.L356: ldrh w0, [x19, 58] cmp w21, w0 - bcc .L356 + bcc .L361 mov w0, 0 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -2897,17 +2970,17 @@ FtlLoadFactoryBbt: ldp x25, x26, [sp, 64] ldp x29, x30, [sp], 80 ret -.L356: +.L361: ldrh w20, [x19, 102] mov w0, -1 strh w0, [x22] -.L353: +.L358: ldrh w0, [x19, 102] sub w20, w20, #1 and w20, w20, 65535 sub w1, w0, #16 cmp w20, w1 - ble .L354 + ble .L359 madd w0, w0, w21, w20 mov w2, 1 mov w1, w2 @@ -2917,15 +2990,15 @@ FtlLoadFactoryBbt: bl FlashReadPages ldr w0, [x25] cmn w0, #1 - beq .L353 + beq .L358 ldrh w0, [x24] cmp w0, w26 - bne .L353 + bne .L358 strh w20, [x22] -.L354: +.L359: add w21, w21, 1 add x22, x22, 2 - b .L351 + b .L356 .size FtlLoadFactoryBbt, .-FtlLoadFactoryBbt .align 2 .global FtlGetLastWrittenPage @@ -2940,9 +3013,9 @@ FtlGetLastWrittenPage: adrp x1, .LANCHOR0 stp x21, x22, [sp, 32] add x1, x1, :lo12:.LANCHOR0 - bne .L362 + bne .L367 ldrh w19, [x1, 108] -.L363: +.L368: sub w19, w19, #1 adrp x1, ftl_temp_buf sxth w19, w19 @@ -2959,23 +3032,23 @@ FtlGetLastWrittenPage: bl FlashReadPages ldr w0, [x29, 96] cmn w0, #1 - bne .L364 + bne .L369 mov w22, 0 mov w24, 2 -.L365: +.L370: cmp w22, w19 - ble .L368 -.L364: + ble .L373 +.L369: mov w0, w19 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] ldp x29, x30, [sp], 160 ret -.L362: +.L367: ldrh w19, [x1, 106] - b .L363 -.L368: + b .L368 +.L373: add w20, w22, w19 mov w2, w23 mov w1, 1 @@ -2987,20 +3060,20 @@ FtlGetLastWrittenPage: bl FlashReadPages ldr w0, [x29, 96] cmn w0, #1 - bne .L366 + bne .L371 ldr w0, [x29, 100] cmn w0, #1 - bne .L366 + bne .L371 ldr w0, [x29, 64] cmn w0, #1 - beq .L366 + beq .L371 sub w19, w20, #1 sxth w19, w19 - b .L365 -.L366: + b .L370 +.L371: add w20, w20, 1 sxth w22, w20 - b .L365 + b .L370 .size FtlGetLastWrittenPage, .-FtlGetLastWrittenPage .align 2 .global FlashProgPages @@ -3027,11 +3100,11 @@ FlashProgPages: mov x19, x0 add x22, x22, 176 add x23, x23, :lo12:.LC1 -.L374: +.L379: cmp x19, x24 - bne .L382 - cbnz w26, .L383 -.L401: + bne .L387 + cbnz w26, .L388 +.L406: ldp x19, x20, [sp, 16] mov w0, 0 ldp x21, x22, [sp, 32] @@ -3040,17 +3113,17 @@ FlashProgPages: ldr x27, [sp, 80] ldp x29, x30, [sp], 144 ret -.L382: +.L387: ldr x0, [x19, 8] - cbz x0, .L375 + cbz x0, .L380 ldr x0, [x19, 16] - cbnz x0, .L376 -.L375: + cbnz x0, .L381 +.L380: mov w2, 131 mov x1, x22 mov x0, x23 bl sftl_printk -.L376: +.L381: ldr w0, [x19, 4] add x2, x29, 104 add x1, x29, 108 @@ -3061,13 +3134,13 @@ FlashProgPages: ldr x4, [x0, 3392] ldrb w0, [x29, 104] blr x4 - cbnz w0, .L377 + cbnz w0, .L382 str wzr, [x19] -.L378: +.L383: add x0, x21, :lo12:.LANCHOR0 ldrh w1, [x0, 14] cmp w1, 4 - bne .L380 + bne .L385 ldr x4, [x0, 3392] ldrb w0, [x29, 104] ldp x2, x3, [x19, 8] @@ -3076,17 +3149,17 @@ FlashProgPages: add x2, x2, 2048 add w1, w27, w1 blr x4 - cbz w0, .L380 + cbz w0, .L385 mov w0, -1 str w0, [x19] -.L380: +.L385: add x19, x19, 32 - b .L374 -.L377: + b .L379 +.L382: mov w0, -1 str w0, [x19] - b .L378 -.L387: + b .L383 +.L392: str wzr, [x21] mov w2, w25 str wzr, [x23] @@ -3098,50 +3171,50 @@ FlashProgPages: bl FlashReadPages ldr w24, [x29, 112] cmn w24, #1 - bne .L384 + bne .L389 ldr w1, [x20, 4] adrp x0, .LC80 add x0, x0, :lo12:.LC80 bl sftl_printk str w24, [x20] -.L384: +.L389: ldr x0, [x20, 16] - cbz x0, .L385 + cbz x0, .L390 ldr w2, [x0] ldr w3, [x21] cmp w2, w3 - beq .L385 + beq .L390 ldr w1, [x20, 4] adrp x0, .LC81 add x0, x0, :lo12:.LC81 bl sftl_printk mov w0, -1 str w0, [x20] -.L385: +.L390: ldr x0, [x20, 8] - cbz x0, .L386 + cbz x0, .L391 ldr w3, [x22, #:lo12:check_buf] ldr w2, [x0] cmp w2, w3 - beq .L386 + beq .L391 ldr w1, [x20, 4] adrp x0, .LC82 add x0, x0, :lo12:.LC82 bl sftl_printk mov w0, -1 str w0, [x20] -.L386: +.L391: add x20, x20, 32 -.L402: +.L407: cmp x20, x19 - bne .L387 - b .L401 -.L383: + bne .L392 + b .L406 +.L388: add x21, x21, :lo12:.LANCHOR0 adrp x22, check_buf add x21, x21, 3456 add x23, x22, :lo12:check_buf - b .L402 + b .L407 .size FlashProgPages, .-FlashProgPages .align 2 .global FlashEraseBlocks @@ -3160,16 +3233,16 @@ FlashEraseBlocks: add x22, x0, x2 mov w21, -1 ldrh w23, [x19, 12] -.L405: +.L410: cmp x20, x22 - bne .L411 + bne .L416 ldp x19, x20, [sp, 16] mov w0, 0 ldp x21, x22, [sp, 32] ldr x23, [sp, 48] ldp x29, x30, [sp], 80 ret -.L411: +.L416: ldr w0, [x20] add x2, x29, 72 add x1, x29, 76 @@ -3183,17 +3256,17 @@ FlashEraseBlocks: str w0, [x20, -4] ldrh w0, [x19, 14] cmp w0, 4 - bne .L409 + bne .L414 ldrb w0, [x29, 72] ldr x2, [x19, 3384] ldr w1, [x29, 76] add w1, w23, w1 blr x2 - cbz w0, .L409 + cbz w0, .L414 str w21, [x20, -4] -.L409: +.L414: add x20, x20, 32 - b .L405 + b .L410 .size FlashEraseBlocks, .-FlashEraseBlocks .align 2 .global FtlFreeSysBlkQueueIn @@ -3207,15 +3280,15 @@ FtlFreeSysBlkQueueIn: sub w2, w21, #1 mov w0, 65533 cmp w0, w2, uxth - bcc .L416 + bcc .L421 adrp x0, .LANCHOR0 add x20, x0, :lo12:.LANCHOR0 mov x19, x0 ldrh w2, [x20, 262] cmp w2, 1024 - beq .L416 + beq .L421 and w1, w1, 65535 - cbz w1, .L418 + cbz w1, .L423 mov w0, w21 bl P2V_block_in_plane and w22, w0, 65535 @@ -3234,7 +3307,7 @@ FtlFreeSysBlkQueueIn: ldr w0, [x20, 2640] add w0, w0, 1 str w0, [x20, 2640] -.L418: +.L423: add x0, x19, :lo12:.LANCHOR0 add x0, x0, 256 ldrh w1, [x0, 6] @@ -3246,7 +3319,7 @@ FtlFreeSysBlkQueueIn: and w1, w1, 1023 strh w1, [x0, 4] strh w21, [x2, 8] -.L416: +.L421: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x29, x30, [sp], 48 @@ -3273,11 +3346,11 @@ FtlLowFormatEraseBlock: mov w21, 0 mov w19, 0 str w24, [x5, 3976] -.L427: +.L432: ldrh w0, [x5, 36] cmp w0, w10 - bhi .L431 - cbz w21, .L426 + bhi .L436 + cbz w21, .L431 ldr x0, [x5, 3968] mov w2, w21 mov w1, 0 @@ -3285,40 +3358,40 @@ FtlLowFormatEraseBlock: mov x22, 0 add x25, x20, :lo12:.LANCHOR0 bl FlashEraseBlocks -.L435: +.L440: ldr x0, [x25, 3968] add x1, x0, x22 ldr w0, [x0, x22] cmn w0, #1 - bne .L434 + bne .L439 ldr w0, [x1, 4] add w19, w19, 1 and w19, w19, 65535 lsr w0, w0, 10 bl FtlBbmMapBadBlock -.L434: +.L439: add x22, x22, 32 cmp x22, x21 - bne .L435 - cbz w23, .L448 + bne .L440 + cbz w23, .L453 add x0, x20, :lo12:.LANCHOR0 mov w25, 1 ldrh w26, [x0, 108] lsr w0, w26, 2 str w0, [x29, 124] -.L436: +.L441: add x27, x20, :lo12:.LANCHOR0 mov w22, 0 add x0, x27, 64 str x0, [x29, 112] -.L444: +.L449: mov w5, 0 mov w21, 0 -.L437: +.L442: ldrh w0, [x27, 36] cmp w0, w5 - bhi .L440 - cbz w21, .L426 + bhi .L445 + cbz w21, .L431 ldr x0, [x27, 3968] mov w1, w21 mov w3, 1 @@ -3326,11 +3399,11 @@ FtlLowFormatEraseBlock: mov x28, 0 bl FlashProgPages ubfiz x1, x21, 5, 16 -.L443: +.L448: ldr x0, [x27, 3968] add x3, x0, x28 ldr w0, [x0, x28] - cbz w0, .L442 + cbz w0, .L447 ldr w0, [x3, 4] add w19, w19, 1 str x1, [x29, 104] @@ -3338,40 +3411,40 @@ FtlLowFormatEraseBlock: lsr w0, w0, 10 bl FtlBbmMapBadBlock ldr x1, [x29, 104] -.L442: +.L447: add x28, x28, 32 cmp x1, x28 - bne .L443 + bne .L448 ldr w0, [x29, 124] add w22, w22, w0 and w22, w22, 65535 cmp w26, w22 - bhi .L444 + bhi .L449 add x26, x20, :lo12:.LANCHOR0 mov x22, 0 -.L446: - cbz w23, .L445 +.L451: + cbz w23, .L450 ldr x0, [x26, 3968] add x1, x0, x22 ldr w0, [x0, x22] - cbnz w0, .L445 + cbnz w0, .L450 ldr w0, [x1, 4] mov w1, 1 lsr w0, w0, 10 bl FtlFreeSysBlkQueueIn -.L445: +.L450: add x22, x22, 32 cmp x22, x28 - bne .L446 + bne .L451 cmp w24, 63 ccmp w23, 0, 0, hi - beq .L426 + beq .L431 add x20, x20, :lo12:.LANCHOR0 mov w2, w21 mov w1, w25 ldr x0, [x20, 3968] bl FlashEraseBlocks -.L426: +.L431: mov w0, w19 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -3380,7 +3453,7 @@ FtlLowFormatEraseBlock: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 128 ret -.L431: +.L436: ldr x1, [x5, 3968] ubfiz x0, x10, 5, 16 str wzr, [x1, x0] @@ -3389,13 +3462,13 @@ FtlLowFormatEraseBlock: bl V2P_block and w6, w0, 65535 mov w7, w6 - cbz w23, .L428 + cbz w23, .L433 bl IsBlkInVendorPart - cbnz w0, .L429 -.L428: + cbnz w0, .L434 +.L433: mov w0, w7 bl FtlBbmIsBadBlock - cbnz w0, .L430 + cbnz w0, .L435 ldr x0, [x5, 3968] ubfiz x2, x21, 5, 16 lsl w6, w6, 10 @@ -3413,21 +3486,21 @@ FtlLowFormatEraseBlock: sdiv w0, w0, w9 add x0, x2, x0, sxtw 2 str x0, [x1, 16] -.L429: +.L434: add w10, w10, 1 and w10, w10, 65535 - b .L427 -.L430: + b .L432 +.L435: add w19, w19, 1 and w19, w19, 65535 - b .L429 -.L448: + b .L434 +.L453: mov w0, 6 mov w25, 0 mov w26, 1 str w0, [x29, 124] - b .L436 -.L440: + b .L441 +.L445: ldr x1, [x27, 3968] ubfiz x0, x5, 5, 16 str wzr, [x1, x0] @@ -3437,13 +3510,13 @@ FtlLowFormatEraseBlock: bl V2P_block and w6, w0, 65535 mov w7, w6 - cbz w23, .L438 + cbz w23, .L443 bl IsBlkInVendorPart - cbnz w0, .L439 -.L438: + cbnz w0, .L444 +.L443: mov w0, w7 bl FtlBbmIsBadBlock - cbnz w0, .L439 + cbnz w0, .L444 ldr x0, [x27, 3968] ubfiz x2, x21, 5, 16 add w6, w22, w6, lsl 10 @@ -3462,10 +3535,10 @@ FtlLowFormatEraseBlock: ldr x2, [x27, 3984] add x0, x2, x0, sxtw 2 str x0, [x1, 16] -.L439: +.L444: add w5, w5, 1 and w5, w5, 65535 - b .L437 + b .L442 .size FtlLowFormatEraseBlock, .-FtlLowFormatEraseBlock .align 2 .global FtlFreeSysBlkQueueOut @@ -3481,9 +3554,9 @@ FtlFreeSysBlkQueueOut: adrp x23, .LC84 add x23, x23, :lo12:.LC84 stp x21, x22, [sp, 32] -.L470: +.L475: ldrh w1, [x20, 6] - cbz w1, .L471 + cbz w1, .L476 ldrh w0, [x20, 2] sub w1, w1, #1 strh w1, [x20, 6] @@ -3513,26 +3586,26 @@ FtlFreeSysBlkQueueOut: str w0, [x19, 2640] mov w0, 65533 cmp w0, w1, uxth - bcc .L472 + bcc .L477 mov w0, w21 ldr x23, [sp, 48] ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x29, x30, [sp], 64 ret -.L471: +.L476: adrp x0, .LC83 mov w1, 0 add x0, x0, :lo12:.LC83 bl sftl_printk -.L474: - b .L474 -.L472: +.L479: + b .L479 +.L477: ldrh w2, [x20, 6] mov w1, w21 mov x0, x23 bl sftl_printk - b .L470 + b .L475 .size FtlFreeSysBlkQueueOut, .-FtlFreeSysBlkQueueOut .align 2 .global ftl_map_blk_alloc_new_blk @@ -3546,27 +3619,27 @@ ftl_map_blk_alloc_new_blk: mov w20, 0 ldrh w1, [x0, 10] ldr x0, [x0, 16] -.L478: +.L483: cmp w20, w1 - beq .L482 + beq .L487 mov x21, x0 ldrh w2, [x0], 2 - cbnz w2, .L479 + cbnz w2, .L484 bl FtlFreeSysBlkQueueOut and w1, w0, 65535 strh w0, [x21] sub w2, w1, #1 mov w0, 65533 cmp w0, w2, uxth - bcs .L480 + bcs .L485 adrp x0, .LANCHOR0+262 ldrh w2, [x0, #:lo12:.LANCHOR0+262] adrp x0, .LC85 add x0, x0, :lo12:.LC85 bl sftl_printk -.L481: - b .L481 -.L480: +.L486: + b .L486 +.L485: ldr w0, [x19, 48] strh wzr, [x19, 2] add w0, w0, 1 @@ -3575,10 +3648,10 @@ ftl_map_blk_alloc_new_blk: strh w20, [x19] add w0, w0, 1 strh w0, [x19, 8] -.L482: +.L487: ldrh w0, [x19, 10] cmp w0, w20 - bhi .L484 + bhi .L489 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -3586,16 +3659,16 @@ ftl_map_blk_alloc_new_blk: add x1, x1, 192 add x0, x0, :lo12:.LC1 bl sftl_printk -.L484: +.L489: mov w0, 0 ldr x21, [sp, 32] ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 48 ret -.L479: +.L484: add w20, w20, 1 and w20, w20, 65535 - b .L478 + b .L483 .size ftl_map_blk_alloc_new_blk, .-ftl_map_blk_alloc_new_blk .align 2 .global ftl_memset @@ -3812,23 +3885,23 @@ FtlMemInit: str x0, [x19, 192] mov w2, w4 mov x0, x20 -.L489: +.L494: cmp w1, w6 - bcc .L490 + bcc .L495 mov w2, 8 add x4, x0, :lo12:.LANCHOR0 sub w2, w2, w1 add x4, x4, 160 add x2, x2, 1 mov x3, 0 -.L491: +.L496: add x3, x3, 1 cmp x3, x2 - bne .L492 + bne .L497 add x1, x21, :lo12:.LANCHOR3 ldr x2, [x1, -256] - cbnz x2, .L493 -.L495: + cbnz x2, .L498 +.L500: adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 add x1, x1, 224 @@ -3836,94 +3909,94 @@ FtlMemInit: add x0, x0, :lo12:.LC86 bl sftl_printk mov w0, -1 -.L488: +.L493: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldr x23, [sp, 48] ldp x29, x30, [sp], 64 ret -.L490: +.L495: ldr x3, [x19, 192] add w1, w1, 1 add x3, x3, x2, uxtw 2 add w2, w2, w4 str x3, [x5], 8 - b .L489 -.L492: + b .L494 +.L497: add x5, x1, x3 add x5, x4, x5, lsl 3 str xzr, [x5, 24] - b .L491 -.L493: + b .L496 +.L498: ldr x2, [x1, -248] - cbz x2, .L495 + cbz x2, .L500 ldr x2, [x1, -216] - cbz x2, .L495 + cbz x2, .L500 ldr x2, [x1, -208] - cbz x2, .L495 + cbz x2, .L500 add x2, x0, :lo12:.LANCHOR0 ldr x3, [x2, 2568] - cbz x3, .L495 + cbz x3, .L500 ldr x1, [x1, -200] - cbz x1, .L495 + cbz x1, .L500 ldr x1, [x2, 2360] - cbz x1, .L495 + cbz x1, .L500 ldr x1, [x2, 192] - cbz x1, .L495 + cbz x1, .L500 ldr x1, [x2, 2376] - cbz x1, .L495 + cbz x1, .L500 mov x1, x2 ldr x2, [x2, 3296] - cbz x2, .L495 + cbz x2, .L500 ldr x2, [x1, 3312] - cbz x2, .L495 + cbz x2, .L500 ldr x2, [x1, 4024] - cbz x2, .L495 + cbz x2, .L500 ldr x2, [x1, 4040] - cbz x2, .L495 + cbz x2, .L500 ldr x2, [x1, 3968] - cbz x2, .L495 + cbz x2, .L500 ldr x2, [x1, 3280] - cbz x2, .L495 + cbz x2, .L500 ldr x2, [x1, 4032] - cbz x2, .L495 + cbz x2, .L500 ldr x2, [x1, 3440] - cbz x2, .L495 + cbz x2, .L500 ldr x2, [x1, 4048] - cbz x2, .L495 + cbz x2, .L500 ldr x1, [x1, 4056] - cbz x1, .L495 + cbz x1, .L500 add x0, x0, :lo12:.LANCHOR0 ldr x1, [x0, 3264] - cbz x1, .L495 + cbz x1, .L500 ldr x1, [x0, 4000] - cbz x1, .L495 + cbz x1, .L500 ldr x1, [x0, 3984] - cbz x1, .L495 + cbz x1, .L500 ldr x1, [x0, 3256] - cbz x1, .L495 + cbz x1, .L500 ldr x1, [x0, 3448] - cbz x1, .L495 + cbz x1, .L500 ldr x1, [x0, 3992] - cbz x1, .L495 + cbz x1, .L500 ldr x1, [x0, 3272] - cbz x1, .L495 + cbz x1, .L500 ldr x1, [x0, 2384] - cbz x1, .L495 + cbz x1, .L500 ldr x1, [x0, 4072] - cbz x1, .L495 + cbz x1, .L500 ldr x0, [x0, 152] - cbz x0, .L495 + cbz x0, .L500 adrp x0, .LANCHOR3 add x0, x0, :lo12:.LANCHOR3 ldr x1, [x0, -240] - cbz x1, .L495 + cbz x1, .L500 ldr x1, [x0, -232] - cbz x1, .L495 + cbz x1, .L500 ldr x0, [x0, -224] - cbz x0, .L495 + cbz x0, .L500 mov w0, 0 - b .L488 + b .L493 .size FtlMemInit, .-FtlMemInit .align 2 .global FtlBbt2Bitmap @@ -3948,20 +4021,20 @@ FtlBbt2Bitmap: mov w1, 0 mov x0, x21 bl ftl_memset -.L593: +.L598: ldrh w0, [x22, x19] mov w1, 65535 cmp w0, w1 - beq .L590 + beq .L595 ldrh w1, [x23, 102] cmp w1, w0 - bhi .L592 + bhi .L597 adrp x0, .LC1 mov w2, 74 mov x1, x20 add x0, x0, :lo12:.LC1 bl sftl_printk -.L592: +.L597: ldrh w2, [x22, x19] mov w1, 1 add x19, x19, 2 @@ -3972,8 +4045,8 @@ FtlBbt2Bitmap: ldr w1, [x21, x0] orr w1, w1, w2 str w1, [x21, x0] - bne .L593 -.L590: + bne .L598 +.L595: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldr x23, [sp, 48] @@ -4037,19 +4110,19 @@ ftl_free_no_use_map_blk: mov x0, x21 bl ftl_memset mov w0, 0 -.L602: +.L607: ldrh w1, [x19, 6] cmp w1, w0 - bhi .L606 + bhi .L611 ldrh w26, [x21] adrp x24, .LANCHOR0 add x24, x24, :lo12:.LANCHOR0 mov w25, 0 mov w20, 0 -.L607: +.L612: ldrh w0, [x19, 10] cmp w0, w20 - bhi .L611 + bhi .L616 mov w0, w25 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -4057,61 +4130,61 @@ ftl_free_no_use_map_blk: ldp x25, x26, [sp, 64] ldp x29, x30, [sp], 80 ret -.L606: +.L611: ubfiz x1, x0, 2, 16 ldr w2, [x20, x1] mov w1, 0 ubfx x2, x2, 10, 16 -.L603: +.L608: ldrh w3, [x19, 10] cmp w3, w1 - bhi .L605 + bhi .L610 add w0, w0, 1 and w0, w0, 65535 - b .L602 -.L605: + b .L607 +.L610: ubfiz x3, x1, 1, 16 ldrh w4, [x23, x3] cmp w4, w2 - bne .L604 + bne .L609 ldrh w4, [x21, x3] add w4, w4, 1 strh w4, [x21, x3] -.L604: +.L609: add w1, w1, 1 and w1, w1, 65535 - b .L603 -.L611: + b .L608 +.L616: ldrh w0, [x19] uxtw x22, w20 cmp w0, w20 - bne .L608 + bne .L613 ldrh w0, [x24, 108] ldrh w1, [x19, 2] cmp w1, w0 - bcs .L608 + bcs .L613 strh w0, [x21, x22, lsl 1] -.L608: +.L613: lsl x22, x22, 1 ldrh w0, [x21, x22] cmp w26, w0 - bls .L609 + bls .L614 mov w25, w20 mov w26, w0 -.L609: - cbnz w0, .L610 +.L614: + cbnz w0, .L615 ldrh w0, [x23, x22] - cbz w0, .L610 + cbz w0, .L615 mov w1, 1 bl FtlFreeSysBlkQueueIn strh wzr, [x23, x22] ldrh w0, [x19, 8] sub w0, w0, #1 strh w0, [x19, 8] -.L610: +.L615: add w20, w20, 1 and w20, w20, 65535 - b .L607 + b .L612 .size ftl_free_no_use_map_blk, .-ftl_free_no_use_map_blk .align 2 .global Ftl_write_map_blk_to_last_page @@ -4127,9 +4200,9 @@ Ftl_write_map_blk_to_last_page: ldr x20, [x0, 16] ldrh w0, [x0] cmp w0, w1 - bne .L617 + bne .L622 ldrh w0, [x19, 8] - cbz w0, .L618 + cbz w0, .L623 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -4137,7 +4210,7 @@ Ftl_write_map_blk_to_last_page: add x1, x1, 256 add x0, x0, :lo12:.LC1 bl sftl_printk -.L618: +.L623: ldrh w0, [x19, 8] add w0, w0, 1 strh w0, [x19, 8] @@ -4148,14 +4221,14 @@ Ftl_write_map_blk_to_last_page: strh wzr, [x19] add w0, w0, 1 str w0, [x19, 48] -.L619: +.L624: mov w0, 0 ldr x23, [sp, 48] ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x29, x30, [sp], 64 ret -.L617: +.L622: ubfiz x0, x0, 1, 16 adrp x21, .LANCHOR0 ldr w1, [x19, 48] @@ -4182,10 +4255,10 @@ Ftl_write_map_blk_to_last_page: bl ftl_memset mov w0, 0 mov w1, 0 -.L620: +.L625: ldrh w2, [x19, 6] cmp w2, w1 - bhi .L622 + bhi .L627 add x0, x21, :lo12:.LANCHOR0 mov w2, 1 mov w3, 0 @@ -4197,12 +4270,12 @@ Ftl_write_map_blk_to_last_page: strh w0, [x19, 2] mov x0, x19 bl ftl_map_blk_gc - b .L619 -.L622: + b .L624 +.L627: ubfiz x2, x1, 2, 16 ldr w3, [x23, x2] cmp w22, w3, lsr 10 - bne .L621 + bne .L626 add w0, w0, 1 ldr x4, [x20, 3440] and w0, w0, 65535 @@ -4212,10 +4285,10 @@ Ftl_write_map_blk_to_last_page: ldr x2, [x20, 3440] add x2, x2, x3 str w4, [x2, 4] -.L621: +.L626: add w1, w1, 1 and w1, w1, 65535 - b .L620 + b .L625 .size Ftl_write_map_blk_to_last_page, .-Ftl_write_map_blk_to_last_page .align 2 .global FtlMapWritePage @@ -4238,7 +4311,7 @@ FtlMapWritePage: add x23, x23, :lo12:.LANCHOR1 add x20, x25, 3408 mov w22, 0 -.L628: +.L633: add x0, x24, :lo12:.LANCHOR0 ldr w1, [x0, 2604] add w1, w1, 1 @@ -4247,35 +4320,35 @@ FtlMapWritePage: ldrh w1, [x19, 2] sub w0, w0, #1 cmp w1, w0 - bge .L629 + bge .L634 ldrh w1, [x19] mov w0, 65535 cmp w1, w0 - bne .L630 -.L629: + bne .L635 +.L634: mov x0, x19 bl Ftl_write_map_blk_to_last_page -.L630: +.L635: ldrh w1, [x19] ldr x0, [x19, 16] ldrh w0, [x0, x1, lsl 1] - cbnz w0, .L631 + cbnz w0, .L636 adrp x0, .LC1 mov w2, 735 add x1, x23, 288 add x0, x0, :lo12:.LC1 bl sftl_printk -.L631: +.L636: ldrh w1, [x19] ldrh w0, [x19, 10] cmp w1, w0 - bcc .L632 + bcc .L637 adrp x0, .LC1 mov w2, 736 add x1, x23, 288 add x0, x0, :lo12:.LC1 bl sftl_printk -.L632: +.L637: ldrh w1, [x19] mov w2, 16 ldr x0, [x19, 16] @@ -4306,7 +4379,7 @@ FtlMapWritePage: strh w0, [x19, 2] ldr w1, [x20] cmn w1, #1 - bne .L633 + bne .L638 ldr w1, [x20, 4] adrp x0, .LC87 add x0, x0, :lo12:.LC87 @@ -4315,34 +4388,34 @@ FtlMapWritePage: bl sftl_printk ldrh w0, [x19, 2] cmp w0, 2 - bhi .L634 + bhi .L639 ldrh w0, [x25, 108] sub w0, w0, #1 strh w0, [x19, 2] -.L634: +.L639: cmp w22, 3 - bls .L635 + bls .L640 add x21, x21, :lo12:.LANCHOR0 adrp x0, .LC88 mov w2, w22 add x0, x0, :lo12:.LC88 ldr w1, [x21, 3412] bl sftl_printk -.L636: - b .L636 -.L635: +.L641: + b .L641 +.L640: ldr w0, [x19, 52] - cbz w0, .L628 -.L653: - b .L653 -.L633: - cbz w1, .L639 + cbz w0, .L633 +.L658: + b .L658 +.L638: + cbz w1, .L644 strh w28, [x19, 60] cmp w0, 1 - beq .L628 + beq .L633 cmp w1, 256 -.L656: - beq .L628 +.L661: + beq .L633 ldr x0, [x19, 40] add x21, x21, :lo12:.LANCHOR0 ldr w1, [x21, 3412] @@ -4355,9 +4428,9 @@ FtlMapWritePage: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 96 ret -.L639: +.L644: cmp w0, 1 - b .L656 + b .L661 .size FtlMapWritePage, .-FtlMapWritePage .align 2 .global load_l2p_region @@ -4375,7 +4448,7 @@ load_l2p_region: and x20, x1, 65535 ldrh w0, [x0, 140] cmp w0, w21 - bcs .L658 + bcs .L663 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -4383,13 +4456,13 @@ load_l2p_region: add x1, x1, 304 add x0, x0, :lo12:.LC1 bl sftl_printk -.L658: +.L663: adrp x22, .LANCHOR3 add x26, x22, :lo12:.LANCHOR3 ubfiz x0, x21, 2, 16 ldr x1, [x26, -216] ldr w23, [x1, x0] - cbnz w23, .L659 + cbnz w23, .L664 add x19, x19, :lo12:.LANCHOR0 lsl x20, x20, 4 mov w1, 255 @@ -4403,7 +4476,7 @@ load_l2p_region: ldr x0, [x19, 2568] add x20, x0, x20 str wzr, [x20, 4] -.L660: +.L665: mov w0, 0 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -4411,7 +4484,7 @@ load_l2p_region: ldp x25, x26, [sp, 64] ldp x29, x30, [sp], 80 ret -.L659: +.L664: add x24, x19, :lo12:.LANCHOR0 lsl x20, x20, 4 add x25, x24, 3408 @@ -4429,7 +4502,7 @@ load_l2p_region: ldr x25, [x24, 3424] ldr w0, [x24, 3408] cmp w0, 256 - bne .L661 + bne .L666 mov w2, w23 mov w1, w21 adrp x0, .LC89 @@ -4443,10 +4516,10 @@ load_l2p_region: ldr x2, [x0, 8] sub x0, x26, #184 bl FtlMapWritePage -.L661: +.L666: ldrh w0, [x25, 8] cmp w0, w21 - beq .L662 + beq .L667 mov w2, w23 add x23, x19, :lo12:.LANCHOR0 mov w1, w21 @@ -4466,10 +4539,10 @@ load_l2p_region: mov w2, 4 add x0, x0, :lo12:.LC92 bl rknand_print_hex -.L662: +.L667: ldrh w0, [x25, 8] cmp w0, w21 - beq .L663 + beq .L668 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -4477,14 +4550,14 @@ load_l2p_region: add x1, x1, 304 add x0, x0, :lo12:.LC1 bl sftl_printk -.L663: +.L668: add x19, x19, :lo12:.LANCHOR0 ldr x0, [x19, 2568] add x0, x0, x20 str wzr, [x0, 4] ldr x0, [x19, 2568] strh w21, [x0, x20] - b .L660 + b .L665 .size load_l2p_region, .-load_l2p_region .align 2 .global ftl_map_blk_gc @@ -4507,31 +4580,31 @@ ftl_map_blk_gc: sub w1, w4, #4 cmp w2, w1 ldrh w1, [x19, 60] - bge .L666 + bge .L671 mov w2, 65535 cmp w1, w2 - beq .L668 + beq .L673 add x2, x21, :lo12:.LANCHOR0 ldrh w3, [x19, 2] ldrh w2, [x2, 108] cmp w3, w2 - bcc .L669 -.L666: + bcc .L674 +.L671: mov w2, 65535 and w0, w0, 65535 cmp w1, w2 - beq .L670 + beq .L675 add x2, x21, :lo12:.LANCHOR0 ldrh w3, [x19, 2] ldrh w2, [x2, 108] cmp w2, w3 - bls .L671 -.L670: + bls .L676 +.L675: ubfiz x0, x0, 1, 32 ldrh w26, [x20, x0] - cbz w26, .L668 + cbz w26, .L673 ldr w1, [x19, 52] - cbnz w1, .L668 + cbnz w1, .L673 mov w1, 1 str w1, [x19, 52] strh wzr, [x20, x0] @@ -4542,33 +4615,33 @@ ftl_map_blk_gc: add x0, x21, :lo12:.LANCHOR0 ldrh w0, [x0, 108] cmp w1, w0 - bcc .L676 + bcc .L681 mov x0, x19 bl ftl_map_blk_alloc_new_blk -.L676: +.L681: add x27, x21, :lo12:.LANCHOR0 adrp x24, .LANCHOR1 add x24, x24, :lo12:.LANCHOR1 add x23, x27, 3408 add x24, x24, 320 mov w20, 0 -.L677: +.L682: ldrh w0, [x19, 6] cmp w0, w20 - bhi .L684 + bhi .L689 mov w1, 1 mov w0, w26 bl FtlFreeSysBlkQueueIn str wzr, [x19, 52] -.L668: +.L673: add x21, x21, :lo12:.LANCHOR0 ldrh w1, [x19, 2] ldrh w0, [x21, 108] cmp w1, w0 - bcc .L669 + bcc .L674 mov x0, x19 bl ftl_map_blk_alloc_new_blk -.L669: +.L674: mov w0, 0 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -4577,18 +4650,18 @@ ftl_map_blk_gc: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 96 ret -.L674: +.L679: ldrh w6, [x20, x2, lsl 1] add x5, x2, 1 cmp w6, w1 - beq .L672 + beq .L677 mov x2, x5 -.L673: +.L678: and w23, w2, 65535 cmp w23, w4 - bcc .L674 + bcc .L679 mov w23, w0 -.L672: +.L677: and x2, x2, 65535 adrp x0, .LC93 add x0, x0, :lo12:.LC93 @@ -4597,16 +4670,16 @@ ftl_map_blk_gc: mov w0, -1 strh w0, [x19, 60] mov w0, w23 - b .L670 -.L671: + b .L675 +.L676: mov x2, 0 - b .L673 -.L684: + b .L678 +.L689: ubfiz x0, x20, 2, 16 add x28, x22, x0 ldr w1, [x22, x0] cmp w26, w1, lsr 10 - bne .L678 + bne .L683 ldr x25, [x27, 3448] mov w2, 1 ldr x1, [x27, 4048] @@ -4618,36 +4691,36 @@ ftl_map_blk_gc: bl FlashReadPages ldrh w0, [x25, 8] cmp w0, w20 - beq .L679 + beq .L684 adrp x0, .LC1 mov w2, 647 mov x1, x24 add x0, x0, :lo12:.LC1 bl sftl_printk -.L679: +.L684: ldr w0, [x23] cmn w0, #1 - bne .L680 -.L682: + bne .L685 +.L687: str wzr, [x28] -.L681: - b .L681 -.L680: +.L686: + b .L686 +.L685: ldrh w0, [x25, 8] cmp w0, w20 - bne .L682 + bne .L687 ldrh w1, [x25] ldrh w0, [x19, 4] cmp w1, w0 - bne .L682 + bne .L687 ldr x2, [x23, 8] mov w1, w20 mov x0, x19 bl FtlMapWritePage -.L678: +.L683: add w20, w20, 1 and w20, w20, 65535 - b .L677 + b .L682 .size ftl_map_blk_gc, .-ftl_map_blk_gc .align 2 .global flush_l2p_region @@ -4702,7 +4775,7 @@ log2phys: and w19, w19, w0 cmp w0, w1 and x19, x19, 65535 - bcc .L693 + bcc .L698 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -4710,15 +4783,15 @@ log2phys: add x1, x1, 336 add x0, x0, :lo12:.LC1 bl sftl_printk -.L693: +.L698: add x0, x24, :lo12:.LANCHOR0 ldrh w1, [x0, 142] ldr x2, [x0, 2568] mov x0, 0 -.L694: +.L699: and x20, x0, 65535 cmp w20, w1 - bcc .L699 + bcc .L704 bl select_l2p_ram_region and x20, x0, 65535 add x2, x24, :lo12:.LANCHOR0 @@ -4729,39 +4802,39 @@ log2phys: ldrh w2, [x2, x1] mov w1, 65535 cmp w2, w1 - beq .L700 + beq .L705 ldr w1, [x3, 4] - tbz w1, #31, .L700 + tbz w1, #31, .L705 bl flush_l2p_region -.L700: +.L705: mov w1, w25 mov w0, w21 bl load_l2p_region - b .L695 -.L699: + b .L700 +.L704: add x0, x0, 1 add x3, x2, x0, lsl 4 ldrh w3, [x3, -16] cmp w3, w21 - bne .L694 -.L695: - cbnz w23, .L696 + bne .L699 +.L700: + cbnz w23, .L701 add x0, x24, :lo12:.LANCHOR0 ldr x0, [x0, 2568] add x0, x0, x20, lsl 4 ldr x0, [x0, 8] ldr w0, [x0, x19, lsl 2] str w0, [x22] -.L697: +.L702: add x24, x24, :lo12:.LANCHOR0 ldr x0, [x24, 2568] add x20, x0, x20, lsl 4 ldr w0, [x20, 4] cmn w0, #1 - beq .L702 + beq .L707 add w0, w0, 1 str w0, [x20, 4] -.L702: +.L707: mov w0, 0 ldr x25, [sp, 64] ldp x19, x20, [sp, 16] @@ -4769,7 +4842,7 @@ log2phys: ldp x23, x24, [sp, 48] ldp x29, x30, [sp], 80 ret -.L696: +.L701: add x2, x24, :lo12:.LANCHOR0 lsl x0, x20, 4 mov x1, x0 @@ -4784,7 +4857,7 @@ log2phys: ldr w1, [x0, 4] orr w1, w1, -2147483648 str w1, [x0, 4] - b .L697 + b .L702 .size log2phys, .-log2phys .align 2 .global FtlReUsePrevPpa @@ -4805,9 +4878,9 @@ FtlReUsePrevPpa: ubfiz x20, x0, 1, 16 ldr x3, [x2, 2376] ldrh w1, [x3, x20] - cbnz w1, .L708 + cbnz w1, .L713 ldr x19, [x2, 2408] - cbz x19, .L709 + cbz x19, .L714 ldrh w3, [x2, 2416] mov x4, -6148914691236517206 ldr x2, [x2, 2360] @@ -4818,17 +4891,17 @@ FtlReUsePrevPpa: mul x19, x19, x4 mov w4, 6 and w19, w19, 65535 -.L710: +.L715: cmp w1, w3 - beq .L709 + beq .L714 cmp w19, w0 - bne .L711 + bne .L716 add x23, x22, :lo12:.LANCHOR0 mov w1, w19 add x0, x23, 2408 bl List_remove_node ldrh w0, [x23, 2416] - cbnz w0, .L712 + cbnz w0, .L717 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -4836,7 +4909,7 @@ FtlReUsePrevPpa: add x1, x1, 352 add x0, x0, :lo12:.LC1 bl sftl_printk -.L712: +.L717: add x22, x22, :lo12:.LANCHOR0 ldrh w0, [x22, 2416] sub w0, w0, #1 @@ -4847,7 +4920,7 @@ FtlReUsePrevPpa: ldrh w0, [x1, x20] add w0, w0, 1 strh w0, [x1, x20] -.L709: +.L714: add x1, x29, 76 mov w2, 1 mov w0, w21 @@ -4857,18 +4930,18 @@ FtlReUsePrevPpa: ldr x23, [sp, 48] ldp x29, x30, [sp], 80 ret -.L711: +.L716: umull x19, w19, w4 ldrh w19, [x2, x19] cmp w19, w5 - beq .L709 + beq .L714 add w1, w1, 1 and w1, w1, 65535 - b .L710 -.L708: + b .L715 +.L713: add w1, w1, 1 strh w1, [x3, x20] - b .L709 + b .L714 .size FtlReUsePrevPpa, .-FtlReUsePrevPpa .align 2 .global ftl_scan_all_data @@ -4888,33 +4961,33 @@ ftl_scan_all_data: mov w20, 0 add x19, x21, 3408 bl sftl_printk -.L719: +.L724: add x0, x22, :lo12:.LANCHOR0 ldr w0, [x0, 2584] cmp w20, w0 - bcc .L725 + bcc .L730 ldp x19, x20, [sp, 32] ldp x21, x22, [sp, 48] ldp x29, x30, [sp, 16] ldr x23, [sp, 64] add sp, sp, 96 ret -.L725: +.L730: mov w2, 0 add x1, x29, 76 mov w0, w20 bl log2phys tst x20, 2047 - bne .L720 + bne .L725 ldr w2, [x29, 76] adrp x0, .LC95 mov w1, w20 add x0, x0, :lo12:.LC95 bl sftl_printk -.L720: +.L725: ldr w0, [x29, 76] cmn w0, #1 - beq .L722 + beq .L727 ldr x23, [x21, 3448] mov w2, 0 stp wzr, w0, [x19] @@ -4928,11 +5001,11 @@ ftl_scan_all_data: ldr w0, [x19] cmp w0, 256 ccmn w0, #1, 4, ne - beq .L723 + beq .L728 ldr w0, [x23, 8] cmp w20, w0 - beq .L722 -.L723: + beq .L727 +.L728: ldp x1, x0, [x19, 8] ldr w2, [x1, 4] str w2, [sp] @@ -4944,9 +5017,9 @@ ftl_scan_all_data: ldr w2, [x19, 4] mov w1, w20 bl sftl_printk -.L722: +.L727: add w20, w20, 1 - b .L719 + b .L724 .size ftl_scan_all_data, .-ftl_scan_all_data .align 2 .global FtlReadRefresh @@ -4956,22 +5029,22 @@ FtlReadRefresh: add x1, x0, :lo12:.LANCHOR0 add x2, x1, 2720 ldr w3, [x2, 80] - cbz w3, .L728 + cbz w3, .L733 ldr w0, [x1, 2584] ldr w3, [x2, 84] cmp w3, w0 - bcs .L729 + bcs .L734 stp x29, x30, [sp, -160]! add x29, sp, 0 stp x19, x20, [sp, 16] mov x19, x1 mov w20, 2048 str x21, [sp, 32] -.L734: +.L739: ldr w1, [x19, 2584] ldr w0, [x19, 2804] cmp w0, w1 - bcs .L731 + bcs .L736 add x1, x29, 60 mov w2, 0 bl log2phys @@ -4980,7 +5053,7 @@ FtlReadRefresh: add w0, w0, 1 str w0, [x19, 2804] cmn w1, #1 - beq .L732 + beq .L737 str w0, [x29, 88] adrp x0, ftl_temp_buf add x0, x0, :lo12:ftl_temp_buf @@ -4995,57 +5068,57 @@ FtlReadRefresh: bl FlashReadPages ldr w0, [x29, 64] cmp w0, 256 - bne .L731 + bne .L736 ldr w0, [x29, 60] lsr w0, w0, 10 bl P2V_block_in_plane bl FtlGcRefreshBlock -.L731: +.L736: ldp x19, x20, [sp, 16] mov w0, -1 ldr x21, [sp, 32] ldp x29, x30, [sp], 160 ret -.L732: +.L737: subs w20, w20, #1 - bne .L734 - b .L731 -.L729: + bne .L739 + b .L736 +.L734: ldr w0, [x1, 2588] stp w0, wzr, [x2, 76] str wzr, [x2, 84] -.L738: +.L743: mov w0, 0 ret -.L728: +.L733: ldr w3, [x1, 2588] ldr w5, [x2, 76] add w2, w3, 1048576 cmp w5, w2 - bhi .L737 + bhi .L742 ldr w2, [x1, 2644] lsr w4, w2, 10 mov w2, 33554432 asr w2, w2, w4 add w2, w2, w5 cmp w3, w2 - bhi .L737 + bhi .L742 ldrb w1, [x1, 2340] - cbnz w1, .L738 -.L737: + cbnz w1, .L743 +.L742: add x0, x0, :lo12:.LANCHOR0 mov w1, 1 str w3, [x0, 2796] str w1, [x0, 2800] str wzr, [x0, 2804] - b .L738 + b .L743 .size FtlReadRefresh, .-FtlReadRefresh .align 2 .global FtlMapBlkWriteDump_data .type FtlMapBlkWriteDump_data, %function FtlMapBlkWriteDump_data: ldr w1, [x0, 56] - cbz w1, .L752 + cbz w1, .L757 stp x29, x30, [sp, -48]! adrp x1, .LANCHOR0 add x2, x1, :lo12:.LANCHOR0 @@ -5066,11 +5139,11 @@ FtlMapBlkWriteDump_data: str wzr, [x19, 56] ldr w4, [x5, x4] str w4, [x0, 4] - cbz w4, .L746 + cbz w4, .L751 mov w2, 1 mov w1, w2 bl FlashReadPages -.L747: +.L752: add x1, x21, :lo12:.LANCHOR0 mov x0, x19 ldr x2, [x1, 3416] @@ -5080,13 +5153,13 @@ FtlMapBlkWriteDump_data: ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 48 ret -.L746: +.L751: ldrh w2, [x2, 114] mov w1, 255 mov x0, x3 bl ftl_memset - b .L747 -.L752: + b .L752 +.L757: ret .size FtlMapBlkWriteDump_data, .-FtlMapBlkWriteDump_data .align 2 @@ -5134,24 +5207,24 @@ FtlScanSysBlk: add x0, x19, 2656 bl ftl_memset ldrh w24, [x19, 44] -.L756: +.L761: ldrh w0, [x19, 46] cmp w0, w24 - bls .L796 + bls .L801 ldrh w9, [x19, 36] mov x5, 0 ldrh w8, [x19, 116] mov w21, 0 add x7, x19, 64 mov w6, 4 - b .L797 -.L758: + b .L802 +.L763: ldrb w0, [x7, x5] mov w1, w24 bl V2P_block and w4, w0, 65535 bl FtlBbmIsBadBlock - cbnz w0, .L757 + cbnz w0, .L762 ldr x0, [x19, 4024] ubfiz x2, x21, 5, 16 lsl w4, w4, 10 @@ -5168,17 +5241,17 @@ FtlScanSysBlk: sdiv w0, w0, w6 add x0, x2, x0, sxtw 2 str x0, [x1, 16] -.L757: +.L762: add x5, x5, 1 -.L797: +.L802: cmp w9, w5, uxth - bhi .L758 - cbnz w21, .L759 -.L795: + bhi .L763 + cbnz w21, .L764 +.L800: add w24, w24, 1 and w24, w24, 65535 - b .L756 -.L759: + b .L761 +.L764: ldr x0, [x19, 4024] mov w1, w21 mov w2, 1 @@ -5186,7 +5259,7 @@ FtlScanSysBlk: mov x23, 0 add x28, x19, 2656 bl FlashReadPages -.L794: +.L799: ldr x0, [x19, 4024] add x1, x0, x23 ldr w0, [x0, x23] @@ -5194,10 +5267,10 @@ FtlScanSysBlk: cmn w0, #1 ldr x27, [x1, 16] ubfx x26, x26, 10, 16 - bne .L762 + bne .L767 mov w3, 16 mov w4, 65535 -.L764: +.L769: ldr x0, [x19, 4024] mov w2, 1 stp w4, w3, [x29, 104] @@ -5213,72 +5286,72 @@ FtlScanSysBlk: ldrh w0, [x27] cmp w0, w4 ldr x0, [x19, 4024] - bne .L761 + bne .L766 mov w1, -1 str w1, [x0, x23] ldr x0, [x19, 4024] ldr w0, [x0, x23] cmp w0, w1 - bne .L762 -.L763: + bne .L767 +.L768: mov w1, 0 mov w0, w26 bl FtlFreeSysBlkQueueIn - b .L767 -.L761: + b .L772 +.L766: ldr w0, [x0, x23] cmn w0, #1 - bne .L762 + bne .L767 sub w3, w3, #1 ands w3, w3, 65535 - bne .L764 - b .L763 -.L762: + bne .L769 + b .L768 +.L767: ldr w1, [x19, 2620] ldr w0, [x27, 4] cmn w1, #1 - beq .L765 + beq .L770 cmp w1, w0 - bhi .L766 -.L765: + bhi .L771 +.L770: cmn w0, #1 - beq .L766 + beq .L771 add w1, w0, 1 str w1, [x19, 2620] -.L766: +.L771: ldrh w1, [x27] mov w2, 61604 cmp w1, w2 - beq .L768 - bhi .L769 + beq .L773 + bhi .L774 mov w0, 61574 cmp w1, w0 - beq .L770 -.L767: + beq .L775 +.L772: add x23, x23, 32 cmp x21, x23 - bne .L794 - b .L795 -.L769: + bne .L799 + b .L800 +.L774: mov w0, 61634 cmp w1, w0 - beq .L771 + beq .L776 mov w0, 65535 cmp w1, w0 - beq .L763 - b .L767 -.L771: + beq .L768 + b .L772 +.L776: add x0, x20, :lo12:.LANCHOR3 ldrh w1, [x0, -120] ldr w0, [x19, 132] cmp w1, w0 - bls .L773 + bls .L778 adrp x0, .LC1 mov w2, 1256 mov x1, x25 add x0, x0, :lo12:.LC1 bl sftl_printk -.L773: +.L778: add x4, x20, :lo12:.LANCHOR3 ldr w3, [x19, 132] and w2, w3, 65535 @@ -5289,45 +5362,45 @@ FtlScanSysBlk: sub w2, w2, w1 sub w2, w2, #1 sxth w2, w2 -.L774: +.L779: cmp w0, w2 - bgt .L780 - tbz w0, #31, .L814 - b .L767 -.L780: + bgt .L785 + tbz w0, #31, .L819 + b .L772 +.L785: sxtw x5, w0 ldr w8, [x27, 4] lsl x6, x5, 2 ldr w7, [x4, x6] cmp w8, w7 - bls .L775 + bls .L780 ldr w2, [x4] - cbnz w2, .L776 + cbnz w2, .L781 cmp w3, w1 - beq .L776 + beq .L781 add x2, x20, :lo12:.LANCHOR3 add w1, w1, 1 strh w1, [x2, -120] -.L776: +.L781: add x3, x20, :lo12:.LANCHOR3 mov w1, 0 -.L777: +.L782: cmp w1, w0 - bne .L778 + bne .L783 add x1, x20, :lo12:.LANCHOR3 ldr w3, [x27, 4] ldr x2, [x1, -208] str w3, [x2, x6] ldr x2, [x1, -256] strh w26, [x2, x5, lsl 1] - tbnz w0, #31, .L767 + tbnz w0, #31, .L772 ldrh w1, [x1, -120] ldr w2, [x19, 132] sub w2, w2, w1 sub w2, w2, #1 cmp w0, w2, sxth - bgt .L767 -.L814: + bgt .L772 +.L819: add x2, x20, :lo12:.LANCHOR3 add w1, w1, 1 ldr w3, [x27, 4] @@ -5335,10 +5408,10 @@ FtlScanSysBlk: ldr x1, [x2, -208] str w3, [x1, x0, lsl 2] ldr x1, [x2, -256] -.L832: +.L837: strh w26, [x1, x0, lsl 1] - b .L767 -.L778: + b .L772 +.L783: ldr x7, [x3, -208] sxtw x2, w1 lsl x4, x2, 2 @@ -5352,22 +5425,22 @@ FtlScanSysBlk: add x7, x4, x2 ldrh w7, [x7, 2] strh w7, [x4, x2] - b .L777 -.L775: + b .L782 +.L780: sub w0, w0, #1 sxth x0, w0 - b .L774 -.L770: + b .L779 +.L775: ldrh w1, [x19, 148] ldrh w0, [x19, 124] cmp w1, w0 - bls .L783 + bls .L788 adrp x0, .LC1 mov w2, 1297 mov x1, x25 add x0, x0, :lo12:.LC1 bl sftl_printk -.L783: +.L788: add x4, x20, :lo12:.LANCHOR3 ldrh w3, [x19, 124] ldrh w1, [x19, 148] @@ -5375,41 +5448,41 @@ FtlScanSysBlk: ldr x4, [x4, -232] sxth x0, w2 sub w2, w2, w1 -.L784: +.L789: cmp w0, w2 - ble .L789 + ble .L794 sxtw x5, w0 ldr w8, [x27, 4] lsl x6, x5, 2 ldr w7, [x4, x6] cmp w8, w7 - bls .L785 + bls .L790 ldr w2, [x4] - cbnz w2, .L786 + cbnz w2, .L791 cmp w3, w1 - beq .L786 + beq .L791 add w1, w1, 1 strh w1, [x19, 148] -.L786: +.L791: add x7, x20, :lo12:.LANCHOR3 mov w1, 0 -.L787: +.L792: cmp w1, w0 - bne .L788 + bne .L793 add x1, x20, :lo12:.LANCHOR3 ldr w2, [x27, 4] ldr x1, [x1, -232] str w2, [x1, x6] ldr x1, [x19, 152] strh w26, [x1, x5, lsl 1] -.L789: - tbnz w0, #31, .L767 +.L794: + tbnz w0, #31, .L772 ldrh w1, [x19, 124] ldrh w2, [x19, 148] sub w1, w1, #1 sub w1, w1, w2 cmp w0, w1, sxth - bgt .L767 + bgt .L772 add x1, x20, :lo12:.LANCHOR3 add w2, w2, 1 strh w2, [x19, 148] @@ -5417,8 +5490,8 @@ FtlScanSysBlk: ldr x1, [x1, -232] str w2, [x1, x0, lsl 2] ldr x1, [x19, 152] - b .L832 -.L788: + b .L837 +.L793: ldr x4, [x7, -232] sxtw x2, w1 lsl x3, x2, 2 @@ -5432,56 +5505,56 @@ FtlScanSysBlk: add x4, x3, x2 ldrh w4, [x4, 2] strh w4, [x3, x2] - b .L787 -.L785: + b .L792 +.L790: sub w0, w0, #1 sxth x0, w0 - b .L784 -.L768: + b .L789 +.L773: ldrh w2, [x28] mov w1, 65535 cmp w2, w1 - bne .L791 + bne .L796 strh w26, [x28] -.L833: +.L838: str w0, [x28, 8] - b .L767 -.L791: + b .L772 +.L796: ldrh w0, [x28, 4] cmp w0, w1 - beq .L792 + beq .L797 mov w1, 1 bl FtlFreeSysBlkQueueIn -.L792: +.L797: ldr w0, [x27, 4] ldr w1, [x28, 8] cmp w1, w0 - bcs .L793 + bcs .L798 ldrh w0, [x28] strh w0, [x28, 4] strh w26, [x28] ldr w0, [x27, 4] - b .L833 -.L793: + b .L838 +.L798: strh w26, [x28, 4] - b .L767 -.L796: + b .L772 +.L801: add x0, x20, :lo12:.LANCHOR3 ldr x1, [x0, -256] ldrh w2, [x1] - cbz w2, .L798 -.L801: + cbz w2, .L803 +.L806: add x0, x22, :lo12:.LANCHOR0 ldr x1, [x0, 152] ldrh w2, [x1] - cbz w2, .L799 -.L800: + cbz w2, .L804 +.L805: add x20, x20, :lo12:.LANCHOR3 add x22, x22, :lo12:.LANCHOR0 ldrh w1, [x20, -120] ldr w0, [x22, 132] cmp w1, w0 - bls .L830 + bls .L835 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -5489,7 +5562,7 @@ FtlScanSysBlk: add x1, x1, 368 add x0, x0, :lo12:.LC1 bl sftl_printk -.L830: +.L835: ldp x19, x20, [sp, 16] mov w0, 0 ldp x21, x22, [sp, 32] @@ -5498,23 +5571,23 @@ FtlScanSysBlk: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 112 ret -.L798: +.L803: ldrh w0, [x0, -120] - cbz w0, .L801 + cbz w0, .L806 ldr w2, [x19, 132] mov w0, 0 -.L802: +.L807: cmp w0, w2 - bcs .L801 + bcs .L806 ldrh w3, [x1, w0, sxtw 1] - cbz w3, .L803 + cbz w3, .L808 mov w1, w0 add x7, x22, :lo12:.LANCHOR0 add x3, x20, :lo12:.LANCHOR3 -.L804: +.L809: ldr w2, [x7, 132] cmp w1, w2 - bcs .L801 + bcs .L806 ldr x5, [x3, -256] sxtw x6, w1 lsl x4, x6, 1 @@ -5529,28 +5602,28 @@ FtlScanSysBlk: str w6, [x5, x2, lsl 2] ldr x2, [x3, -256] strh wzr, [x2, x4] - b .L804 -.L803: + b .L809 +.L808: add w0, w0, 1 sxth w0, w0 - b .L802 -.L799: + b .L807 +.L804: ldrh w2, [x0, 148] - cbz w2, .L800 + cbz w2, .L805 ldrh w2, [x0, 124] mov w0, 0 -.L809: +.L814: mov w6, w0 cmp w0, w2 - bge .L800 + bge .L805 ldrh w3, [x1, w0, sxtw 1] - cbz w3, .L810 + cbz w3, .L815 add x2, x22, :lo12:.LANCHOR0 add x7, x20, :lo12:.LANCHOR3 -.L811: +.L816: ldrh w1, [x2, 124] cmp w0, w1 - bge .L800 + bge .L805 ldr x4, [x2, 152] sxtw x5, w0 lsl x3, x5, 1 @@ -5565,11 +5638,11 @@ FtlScanSysBlk: str w5, [x4, x1, lsl 2] ldr x1, [x2, 152] strh wzr, [x1, x3] - b .L811 -.L810: + b .L816 +.L815: add w0, w0, 1 sxth w0, w0 - b .L809 + b .L814 .size FtlScanSysBlk, .-FtlScanSysBlk .align 2 .global FtlMapTblRecovery @@ -5610,14 +5683,14 @@ FtlMapTblRecovery: ldr w0, [x29, 116] sub w0, w0, #1 str w0, [x29, 112] -.L835: +.L840: ldr w0, [x29, 116] cmp w27, w0 - bge .L853 + bge .L858 ldr w0, [x29, 112] sxtw x28, w27 cmp w27, w0 - bne .L836 + bne .L841 lsl x0, x28, 1 mov w1, 1 add x20, x23, x0 @@ -5633,20 +5706,20 @@ FtlMapTblRecovery: ldr w0, [x26, x28, lsl 2] add w26, w1, 1 str w0, [x19, 48] -.L837: +.L842: cmp w23, w26 - blt .L840 -.L853: + blt .L845 +.L858: add x21, x21, :lo12:.LANCHOR0 mov x0, x19 bl ftl_free_no_use_map_blk ldrh w1, [x19, 2] ldrh w0, [x21, 108] cmp w1, w0 - bne .L842 + bne .L847 mov x0, x19 bl ftl_map_blk_alloc_new_blk -.L842: +.L847: mov x0, x19 bl ftl_map_blk_gc mov x0, x19 @@ -5659,7 +5732,7 @@ FtlMapTblRecovery: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 128 ret -.L840: +.L845: ldrh w0, [x20] mov w2, 1 mov w1, w2 @@ -5669,27 +5742,27 @@ FtlMapTblRecovery: bl FlashReadPages ldr w0, [x25] cmn w0, #1 - beq .L838 + beq .L843 ldrh w0, [x22, 8] cmp w24, w0 - bls .L839 + bls .L844 ldrh w2, [x22] ldrh w1, [x19, 4] cmp w2, w1 - bne .L839 + bne .L844 ldr x2, [x29, 120] ubfiz x0, x0, 2, 16 ldr w1, [x25, 4] str w1, [x2, x0] -.L839: +.L844: add w23, w23, 1 sxth w23, w23 - b .L837 -.L838: + b .L842 +.L843: ldrh w0, [x20] strh w0, [x19, 60] - b .L839 -.L836: + b .L844 +.L841: ldr x0, [x25, 3440] mov w2, 1 str x0, [x20, 8] @@ -5705,21 +5778,21 @@ FtlMapTblRecovery: bl FlashReadPages ldr w0, [x20] cmn w0, #1 - beq .L855 + beq .L860 ldrh w1, [x22] ldrh w0, [x19, 4] cmp w1, w0 - bne .L855 + bne .L860 ldrh w1, [x22, 8] mov w0, 64245 cmp w1, w0 - beq .L844 -.L855: + beq .L849 +.L860: mov w5, 0 -.L845: +.L850: ldrh w0, [x25, 108] cmp w5, w0 - bge .L851 + bge .L856 ldrh w0, [x28] mov w2, 1 str w5, [x29, 108] @@ -5731,48 +5804,48 @@ FtlMapTblRecovery: ldr w0, [x20] ldr w5, [x29, 108] cmn w0, #1 - beq .L849 + beq .L854 ldrh w0, [x22, 8] cmp w24, w0 - bls .L849 + bls .L854 ldrh w2, [x22] ldrh w1, [x19, 4] cmp w2, w1 - bne .L849 + bne .L854 ldr x2, [x29, 120] ubfiz x0, x0, 2, 16 ldr w1, [x20, 4] str w1, [x2, x0] -.L849: +.L854: add w5, w5, 1 sxth w5, w5 - b .L845 -.L844: + b .L850 +.L849: mov w0, 0 -.L846: +.L851: ldrh w1, [x25, 108] sub w1, w1, #1 cmp w0, w1 - blt .L848 -.L851: + blt .L853 +.L856: add w4, w27, 1 sxth w27, w4 - b .L835 -.L848: + b .L840 +.L853: ldr x2, [x25, 3440] sbfiz x5, x0, 3, 32 ldrh w1, [x2, x5] cmp w24, w1 - bls .L847 + bls .L852 add x2, x2, x5 ldr x3, [x29, 120] ubfiz x1, x1, 2, 16 ldr w2, [x2, 4] str w2, [x3, x1] -.L847: +.L852: add w0, w0, 1 sxth w0, w0 - b .L846 + b .L851 .size FtlMapTblRecovery, .-FtlMapTblRecovery .align 2 .global FtlLoadVonderInfo @@ -5834,10 +5907,10 @@ FtlL2PDataInit: mov x1, x20 mov w0, 0 mov w5, -1 -.L863: +.L868: ldrh w2, [x1, 142] cmp w2, w0 - bhi .L864 + bhi .L869 add x0, x19, :lo12:.LANCHOR3 ldr w3, [x1, 132] ldrh w1, [x1, 140] @@ -5863,7 +5936,7 @@ FtlL2PDataInit: ldr x21, [sp, 32] ldp x29, x30, [sp], 48 ret -.L864: +.L869: ldr x3, [x1, 2568] ubfiz x2, x0, 4, 16 add x3, x3, x2 @@ -5881,7 +5954,7 @@ FtlL2PDataInit: and x2, x2, -4 add x2, x4, x2 str x2, [x3, 8] - b .L863 + b .L868 .size FtlL2PDataInit, .-FtlL2PDataInit .align 2 .global FtlLoadMapInfo @@ -5971,75 +6044,75 @@ SupperBlkListInit: str xzr, [x19, 2368] str xzr, [x19, 2392] str xzr, [x19, 2408] -.L871: +.L876: ldrh w0, [x19, 44] cmp w20, w0 - bcs .L878 + bcs .L883 ldrh w8, [x19, 36] mov x6, 0 ldrh w7, [x19, 106] mov w5, 0 - b .L879 -.L873: + b .L884 +.L878: ldrb w0, [x23, x6] mov w1, w20 bl V2P_block bl FtlBbmIsBadBlock - cbnz w0, .L872 + cbnz w0, .L877 add w5, w5, w7 and w5, w5, 65535 -.L872: +.L877: add x6, x6, 1 -.L879: +.L884: cmp w8, w6, uxth - bhi .L873 - cbz w5, .L874 + bhi .L878 + cbz w5, .L879 mov w0, 32768 sdiv w5, w0, w5 -.L875: +.L880: ldr x1, [x19, 2360] mov w0, 6 umaddl x0, w20, w0, x1 strh w5, [x0, 4] ldrh w0, [x19, 2424] cmp w0, w20 - beq .L876 + beq .L881 ldrh w0, [x19, 2472] cmp w0, w20 - beq .L876 + beq .L881 ldrh w0, [x19, 2520] cmp w0, w20 - beq .L876 + beq .L881 ldr x1, [x19, 2376] ubfiz x0, x20, 1, 16 ldrh w0, [x1, x0] - cbnz w0, .L877 + cbnz w0, .L882 add w22, w22, 1 mov w0, w20 and w22, w22, 65535 bl INSERT_FREE_LIST -.L876: +.L881: add w20, w20, 1 and w20, w20, 65535 - b .L871 -.L874: + b .L876 +.L879: ldr x1, [x19, 2376] ubfiz x0, x20, 1, 16 mov w2, -1 strh w2, [x1, x0] - b .L875 -.L877: + b .L880 +.L882: add w21, w21, 1 mov w0, w20 and w21, w21, 65535 bl INSERT_DATA_LIST - b .L876 -.L878: + b .L881 +.L883: strh w21, [x19, 2400] add w21, w21, w22 strh w22, [x19, 2416] cmp w21, w0 - ble .L880 + ble .L885 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -6047,7 +6120,7 @@ SupperBlkListInit: add x1, x1, 384 add x0, x0, :lo12:.LC1 bl sftl_printk -.L880: +.L885: mov w0, 0 ldr x23, [sp, 48] ldp x19, x20, [sp, 16] @@ -6081,10 +6154,10 @@ ftl_check_vpc: mov w1, 0 mov x0, x19 bl ftl_memset -.L883: +.L888: ldr w0, [x24, 2584] cmp w23, w0 - bcc .L885 + bcc .L890 adrp x25, .LC98 add x23, x20, :lo12:.LANCHOR0 add x26, x22, :lo12:check_vpc_table @@ -6092,12 +6165,12 @@ ftl_check_vpc: mov w24, 0 mov w19, 0 mov w4, 65535 -.L886: +.L891: ldrh w0, [x23, 44] cmp w0, w19 - bhi .L888 + bhi .L893 ldr x19, [x23, 2408] - cbz x19, .L889 + cbz x19, .L894 ldr x0, [x23, 2360] adrp x25, .LC99 add x20, x20, :lo12:.LANCHOR0 @@ -6112,18 +6185,18 @@ ftl_check_vpc: mov w23, 0 mul x19, x19, x0 and w19, w19, 65535 -.L890: +.L895: cmp w23, w26 - bne .L892 -.L889: - cbz w24, .L882 + bne .L897 +.L894: + cbz w24, .L887 add x1, x21, :lo12:.LANCHOR1 adrp x0, .LC1 mov w2, 2373 add x1, x1, 408 add x0, x0, :lo12:.LC1 bl sftl_printk -.L882: +.L887: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -6131,31 +6204,31 @@ ftl_check_vpc: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 128 ret -.L885: +.L890: mov w2, 0 add x1, x29, 124 mov w0, w23 bl log2phys ldr w0, [x29, 124] cmn w0, #1 - beq .L884 + beq .L889 lsr w0, w0, 10 bl P2V_block_in_plane and x0, x0, 65535 ldrh w1, [x19, x0, lsl 1] add w1, w1, 1 strh w1, [x19, x0, lsl 1] -.L884: +.L889: add w23, w23, 1 - b .L883 -.L888: + b .L888 +.L893: ldr x0, [x23, 2376] ubfiz x28, x19, 1, 16 sxtw x27, w19 ldrh w2, [x0, x28] ldrh w3, [x26, x27, lsl 1] cmp w2, w3 - beq .L887 + beq .L892 mov x0, x25 str w4, [x29, 108] mov w1, w19 @@ -6164,34 +6237,34 @@ ftl_check_vpc: ldr w4, [x29, 108] ldrh w0, [x0, x28] cmp w0, w4 - beq .L887 + beq .L892 ldrh w1, [x26, x27, lsl 1] cmp w1, w0 csinc w24, w24, wzr, ls -.L887: +.L892: add w19, w19, 1 and w19, w19, 65535 - b .L886 -.L892: + b .L891 +.L897: ldr x1, [x20, 2376] ubfiz x0, x19, 1, 16 ldrh w2, [x1, x0] - cbz w2, .L891 + cbz w2, .L896 ldrh w3, [x22, w19, sxtw 1] mov w24, 1 mov w1, w19 mov x0, x25 bl sftl_printk -.L891: +.L896: ldr x0, [x20, 2360] umull x19, w19, w27 ldrh w19, [x0, x19] mov w0, 65535 cmp w19, w0 - beq .L889 + beq .L894 add w23, w23, 1 and w23, w23, 65535 - b .L890 + b .L895 .size ftl_check_vpc, .-ftl_check_vpc .align 2 .global FtlGcPageVarInit @@ -6237,29 +6310,29 @@ FtlGcScanTempBlk: ldrh w19, [x0, 4] mov w0, 65535 cmp w19, w0 - beq .L926 - cbnz w19, .L910 -.L911: + beq .L931 + cbnz w19, .L915 +.L916: bl FtlGcPageVarInit - b .L912 -.L926: + b .L917 +.L931: mov w19, 0 -.L910: +.L915: adrp x0, .LANCHOR0+106 ldrh w0, [x0, #:lo12:.LANCHOR0+106] cmp w0, w25 - beq .L911 -.L912: + beq .L916 +.L917: adrp x26, .LANCHOR0 add x22, x26, :lo12:.LANCHOR0 mov w24, 0 -.L920: +.L925: ldrh w1, [x21] mov w0, 65535 strb wzr, [x21, 8] cmp w1, w0 - beq .L927 -.L923: + beq .L932 +.L928: add x0, x26, :lo12:.LANCHOR0 add x2, x21, 16 mov w20, 0 @@ -6270,9 +6343,9 @@ FtlGcScanTempBlk: ldrh w0, [x0, 36] add x0, x0, 8 add x0, x21, x0, lsl 1 -.L914: +.L919: cmp x0, x2 - bne .L916 + bne .L921 ldr x0, [x22, 4024] mov w1, w20 mov w2, 0 @@ -6280,25 +6353,25 @@ FtlGcScanTempBlk: bl FlashReadPages mov x10, 0 mov w11, 65535 -.L917: +.L922: cmp x10, x20 - bne .L921 + bne .L926 add w19, w19, 1 add w24, w24, 1 and w19, w19, 65535 cmp w25, w24 - bls .L922 -.L924: + bls .L927 +.L929: ldrh w0, [x22, 106] cmp w0, w19 - bhi .L923 -.L927: + bhi .L928 +.L932: mov w2, 0 - b .L913 -.L916: + b .L918 +.L921: ldrh w1, [x2] cmp w1, w9 - beq .L915 + beq .L920 ldr x4, [x22, 4024] ubfiz x6, x20, 5, 16 orr w1, w19, w1, lsl 10 @@ -6318,10 +6391,10 @@ FtlGcScanTempBlk: sdiv w1, w1, w5 add x1, x4, x1, sxtw 2 str x1, [x3, 16] -.L915: +.L920: add x2, x2, 2 - b .L914 -.L921: + b .L919 +.L926: ldr x6, [x22, 4024] add x5, x6, x10 ldr w4, [x5, 4] @@ -6329,16 +6402,16 @@ FtlGcScanTempBlk: bl P2V_plane and w2, w0, 65535 ldr w0, [x6, x10] - cbnz w0, .L918 + cbnz w0, .L923 ldr x0, [x5, 16] add x10, x10, 32 ldrh w1, [x0] cmp w1, w11 - bne .L919 + bne .L924 adrp x0, .LANCHOR3-40 mov w1, 1 str w1, [x0, #:lo12:.LANCHOR3-40] -.L913: +.L918: add x23, x23, :lo12:.LANCHOR2 strh w19, [x21, 2] strb w2, [x21, 6] @@ -6347,13 +6420,13 @@ FtlGcScanTempBlk: strh w0, [x23, 4] mov x0, x21 bl ftl_sb_update_avl_pages - b .L925 -.L919: + b .L930 +.L924: ldp w2, w0, [x0, 8] mov w1, w4 bl FtlGcUpdatePage - b .L917 -.L918: + b .L922 +.L923: ldr x0, [x22, 2376] mov w19, 0 ldrh w1, [x21] @@ -6363,19 +6436,19 @@ FtlGcScanTempBlk: mov w0, -1 strh w0, [x21] bl FtlGcPageVarInit - b .L920 -.L922: + b .L925 +.L927: add x1, x23, :lo12:.LANCHOR2 mov w2, 65535 ldrh w0, [x1, 4] cmp w0, w2 - beq .L924 + beq .L929 add w0, w0, w24 strh w0, [x1, 4] ldrh w0, [x22, 106] cmp w0, w19 - bls .L924 -.L925: + bls .L929 +.L930: mov w0, -1 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -6393,7 +6466,7 @@ FlashTestBlk: stp x19, x20, [sp, 16] and w19, w0, 65535 cmp w19, 11 - bls .L935 + bls .L940 add x0, x29, 64 mov w2, 32 mov w1, 165 @@ -6423,14 +6496,14 @@ FlashTestBlk: add x0, x29, 32 csetm w19, ne bl FlashEraseBlocks -.L933: +.L938: mov w0, w19 ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 128 ret -.L935: +.L940: mov w19, 0 - b .L933 + b .L938 .size FlashTestBlk, .-FlashTestBlk .align 2 .global FlashGetBadBlockList @@ -6453,32 +6526,32 @@ FlashGetBadBlockList: blr x2 and w0, w0, 65535 cmp w0, 50 - bls .L938 + bls .L943 mov w2, 256 mov w1, 255 mov x0, x20 bl ftl_memset mov w0, 0 -.L938: +.L943: add x19, x19, :lo12:.LANCHOR0 ldrh w1, [x19, 14] cmp w1, 4 - bne .L942 + bne .L947 mov x1, 0 -.L940: +.L945: cmp w0, w1, uxth - bhi .L941 -.L942: + bhi .L946 +.L947: ldp x19, x20, [sp, 16] ldr x21, [sp, 32] ldp x29, x30, [sp], 48 ret -.L941: +.L946: ldrh w2, [x20, x1, lsl 1] lsr w2, w2, 1 strh w2, [x20, x1, lsl 1] add x1, x1, 1 - b .L940 + b .L945 .size FlashGetBadBlockList, .-FlashGetBadBlockList .align 2 .global ftl_memcpy @@ -6514,11 +6587,11 @@ FtlBbmTblFlush: ldrh w2, [x19, 114] str x0, [x19, 3416] bl ftl_memset -.L947: +.L952: ldrh w0, [x19, 58] add x20, x19, 3408 cmp w21, w0 - blt .L948 + blt .L953 ldr x24, [x20, 16] mov w1, 255 mov w2, 16 @@ -6543,7 +6616,7 @@ FtlBbmTblFlush: ldr w0, [x19, 32] mov x19, x1 strh w0, [x24, 12] -.L949: +.L954: ldr x0, [x25, 3440] str x0, [x20, 8] ldr x0, [x25, 3448] @@ -6566,7 +6639,7 @@ FtlBbmTblFlush: ldrh w1, [x19, 2] sub w0, w0, #1 cmp w1, w0 - blt .L950 + blt .L955 ldr w0, [x19, 8] mov w2, 1 ldrh w1, [x19] @@ -6590,13 +6663,13 @@ FtlBbmTblFlush: mov w2, w3 mov w1, w3 bl FlashProgPages -.L950: +.L955: ldrh w0, [x19, 2] add w0, w0, 1 strh w0, [x19, 2] ldr w0, [x20] cmn w0, #1 - bne .L951 + bne .L956 ldr w1, [x20, 4] add w21, w21, 1 adrp x0, .LC101 @@ -6604,15 +6677,15 @@ FtlBbmTblFlush: add x0, x0, :lo12:.LC101 bl sftl_printk cmp w21, 3 - bls .L949 + bls .L954 ldr w1, [x20, 4] adrp x0, .LC102 mov w2, w21 add x0, x0, :lo12:.LC102 bl sftl_printk +.L958: + b .L958 .L953: - b .L953 -.L948: ldrh w2, [x22, -192] ldr x1, [x23], 8 ldr x0, [x20, 8] @@ -6621,12 +6694,12 @@ FtlBbmTblFlush: add w21, w21, 1 add x0, x0, x3, sxtw 2 bl ftl_memcpy - b .L947 -.L954: + b .L952 +.L959: mov w23, 1 - b .L949 -.L951: - cbz w23, .L954 + b .L954 +.L956: + cbz w23, .L959 mov w0, 0 ldr x25, [sp, 64] ldp x19, x20, [sp, 16] @@ -6651,13 +6724,13 @@ allocate_data_superblock: add x23, x22, 2520 stp x25, x26, [sp, 64] stp x27, x28, [sp, 80] -.L957: +.L962: ldrh w1, [x22, 2400] ldrh w0, [x22, 2416] add w0, w0, w1 ldrh w1, [x22, 44] cmp w0, w1 - ble .L958 + ble .L963 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -6665,9 +6738,9 @@ allocate_data_superblock: add x1, x1, 424 add x0, x0, :lo12:.LC1 bl sftl_printk -.L958: +.L963: cmp x20, x23 - bne .L983 + bne .L988 ldrh w0, [x19, 2416] ldr w1, [x19, 3244] mul w1, w0, w1 @@ -6675,15 +6748,15 @@ allocate_data_superblock: add w0, w0, 1 add w1, w0, w1, lsr 2 ands w1, w1, 65535 - beq .L959 + beq .L964 sub w1, w1, #1 and w1, w1, 65535 -.L959: +.L964: add x0, x19, 2408 bl List_pop_index_node and w24, w0, 65535 ldrh w0, [x19, 2416] - cbnz w0, .L960 + cbnz w0, .L965 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -6691,7 +6764,7 @@ allocate_data_superblock: add x1, x1, 424 add x0, x0, :lo12:.LC1 bl sftl_printk -.L960: +.L965: ldrh w0, [x19, 2416] sub w0, w0, #1 strh w0, [x19, 2416] @@ -6699,7 +6772,7 @@ allocate_data_superblock: mov x0, x20 bl make_superblock ldrb w0, [x20, 7] - cbnz w0, .L961 + cbnz w0, .L966 ldr x1, [x19, 2376] ubfiz x0, x24, 1, 16 mov w2, -1 @@ -6711,7 +6784,7 @@ allocate_data_superblock: add w0, w0, w1 ldrh w1, [x19, 44] cmp w0, w1 - ble .L957 + ble .L962 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 mov w2, 2674 @@ -6719,17 +6792,17 @@ allocate_data_superblock: adrp x0, .LC1 add x0, x0, :lo12:.LC1 bl sftl_printk - b .L957 -.L983: + b .L962 +.L988: mov w1, 0 - b .L959 -.L961: + b .L964 +.L966: ldrh w1, [x19, 2400] ldrh w0, [x19, 2416] add w0, w0, w1 ldrh w1, [x19, 44] cmp w0, w1 - ble .L963 + ble .L968 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -6737,17 +6810,17 @@ allocate_data_superblock: add x1, x1, 424 add x0, x0, :lo12:.LC1 bl sftl_printk -.L963: +.L968: add x27, x20, 16 ldrh w4, [x19, 36] mov x3, x27 mov x0, 0 mov w25, 0 mov w5, 65535 -.L964: +.L969: cmp w4, w0, uxth - bhi .L966 - cbnz w25, .L967 + bhi .L971 + cbnz w25, .L972 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -6755,10 +6828,10 @@ allocate_data_superblock: add x1, x1, 424 add x0, x0, :lo12:.LC1 bl sftl_printk -.L967: +.L972: ldrh w0, [x19, 2672] cmp w0, w24 - bne .L968 + bne .L973 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -6766,17 +6839,17 @@ allocate_data_superblock: add x1, x1, 424 add x0, x0, :lo12:.LC1 bl sftl_printk -.L968: +.L973: ldrb w0, [x20, 8] uxtw x26, w24 - cbnz w0, .L969 + cbnz w0, .L974 ldr x2, [x19, 2384] lsl x1, x26, 1 ldrh w0, [x2, x1] - cbz w0, .L970 + cbz w0, .L975 ldrh w3, [x19, 96] add w0, w0, w3 -.L991: +.L996: strh w0, [x2, x1] mov w1, 0 ldr w0, [x19, 2628] @@ -6784,15 +6857,15 @@ allocate_data_superblock: str w0, [x19, 2628] mov w0, w24 bl ftl_set_blk_mode -.L972: +.L977: ldr x0, [x19, 2384] lsl x26, x26, 1 ldr w1, [x19, 2644] ldrh w0, [x0, x26] cmp w0, w1 - bls .L973 + bls .L978 str w0, [x19, 2644] -.L973: +.L978: ldr w1, [x19, 2632] ubfiz x3, x25, 5, 16 ldrh w0, [x19, 96] @@ -6806,51 +6879,51 @@ allocate_data_superblock: add w0, w0, 1 str w0, [x1, 16] mov x0, 0 -.L974: +.L979: cmp x3, x0 - bne .L975 + bne .L980 ldrb w1, [x20, 8] mov w2, w25 ldr x0, [x19, 3968] mov x28, 0 bl FlashEraseBlocks mov w1, 0 -.L976: +.L981: cmp w25, w28, uxth - bhi .L978 + bhi .L983 cmp w1, 0 - ble .L979 + ble .L984 mov w0, w24 bl update_multiplier_value bl FtlBbmTblFlush -.L979: +.L984: ldrb w0, [x20, 7] - cbnz w0, .L980 + cbnz w0, .L985 ldr x0, [x19, 2376] mov w1, -1 strh w1, [x0, x26] - b .L957 -.L966: + b .L962 +.L971: ldr x1, [x19, 3968] add x2, x1, x0, lsl 5 stp xzr, xzr, [x2, 8] ldrh w2, [x3] cmp w2, w5 - beq .L965 + beq .L970 ubfiz x6, x25, 5, 16 add w25, w25, 1 add x1, x1, x6 and w25, w25, 65535 lsl w2, w2, 10 str w2, [x1, 4] -.L965: +.L970: add x0, x0, 1 add x3, x3, 2 - b .L964 -.L970: + b .L969 +.L975: mov w0, 2 - b .L991 -.L969: + b .L996 +.L974: ldr x2, [x19, 2384] lsl x0, x26, 1 ldrh w1, [x2, x0] @@ -6861,22 +6934,22 @@ allocate_data_superblock: str w0, [x19, 2632] mov w0, w24 bl ftl_set_blk_mode.part.7 - b .L972 -.L975: + b .L977 +.L980: ldr x1, [x19, 3968] add x1, x1, x0 add x0, x0, 32 ldr w2, [x1, 4] and w2, w2, -1024 str w2, [x1, 4] - b .L974 -.L978: + b .L979 +.L983: ldr x2, [x19, 3968] lsl x0, x28, 5 add x3, x2, x0 ldr w2, [x2, x0] cmn w2, #1 - bne .L977 + bne .L982 add w1, w1, 1 ldr w0, [x3, 4] stp w2, w1, [x29, 104] @@ -6887,11 +6960,11 @@ allocate_data_superblock: ldrb w0, [x20, 7] sub w0, w0, #1 strb w0, [x20, 7] -.L977: +.L982: add x28, x28, 1 add x27, x27, 2 - b .L976 -.L980: + b .L981 +.L985: add x21, x21, :lo12:.LANCHOR0 strh wzr, [x20, 2] strb wzr, [x20, 6] @@ -6908,10 +6981,10 @@ allocate_data_superblock: ldrh w2, [x20] strh w0, [x1, x2, lsl 1] ldrh w0, [x20, 4] - cbz w0, .L981 + cbz w0, .L986 ldrb w0, [x20, 7] - cbnz w0, .L982 -.L981: + cbnz w0, .L987 +.L986: adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -6919,7 +6992,7 @@ allocate_data_superblock: add x1, x1, 424 add x0, x0, :lo12:.LC1 bl sftl_printk -.L982: +.L987: ldp x19, x20, [sp, 16] mov w0, 0 ldp x21, x22, [sp, 32] @@ -6944,16 +7017,16 @@ FtlGcFreeBadSuperBlk: stp x25, x26, [sp, 64] ldrh w0, [x19, 3328] str x27, [sp, 80] - cbz w0, .L993 + cbz w0, .L998 add x23, x19, 64 add x24, x19, 3336 mov w21, 0 -.L994: +.L999: ldrh w0, [x19, 36] cmp w0, w21 - bhi .L1000 + bhi .L1005 bl FtlGcReFreshBadBlk -.L993: +.L998: mov w0, 0 ldr x27, [sp, 80] ldp x19, x20, [sp, 16] @@ -6962,7 +7035,7 @@ FtlGcFreeBadSuperBlk: ldp x25, x26, [sp, 64] ldp x29, x30, [sp], 96 ret -.L1000: +.L1005: ldrb w0, [x23, w21, sxtw] mov w1, w22 adrp x26, .LC103 @@ -6970,18 +7043,18 @@ FtlGcFreeBadSuperBlk: mov w20, 0 bl V2P_block and w25, w0, 65535 -.L995: +.L1000: ldrh w0, [x19, 3328] cmp w0, w20 - bhi .L999 + bhi .L1004 add w21, w21, 1 and w21, w21, 65535 - b .L994 -.L999: + b .L999 +.L1004: ldrh w0, [x24, w20, sxtw 1] add w27, w20, 1 cmp w0, w25 - bne .L996 + bne .L1001 mov w1, w25 mov x0, x26 bl sftl_printk @@ -6990,22 +7063,22 @@ FtlGcFreeBadSuperBlk: bl FtlBbmTblFlush ldrh w0, [x19, 3328] mov w1, w27 -.L997: +.L1002: cmp w20, w0 - bcc .L998 + bcc .L1003 sub w0, w0, #1 strh w0, [x19, 3328] -.L996: +.L1001: and w20, w27, 65535 - b .L995 -.L998: + b .L1000 +.L1003: sub w2, w1, #1 ldrh w3, [x24, w1, sxtw 1] add w20, w20, 1 add w1, w1, 1 and w20, w20, 65535 strh w3, [x24, w2, sxtw 1] - b .L997 + b .L1002 .size FtlGcFreeBadSuperBlk, .-FtlGcFreeBadSuperBlk .align 2 .global update_vpc_list @@ -7021,19 +7094,19 @@ update_vpc_list: ubfiz x1, x19, 1, 16 ldr x2, [x0, 2376] ldrh w1, [x2, x1] - cbnz w1, .L1006 + cbnz w1, .L1011 ldrh w1, [x0, 2672] cmp w1, w19 - bne .L1007 + bne .L1012 mov w1, -1 strh w1, [x0, 2672] -.L1008: +.L1013: add x21, x20, :lo12:.LANCHOR0 mov w1, w19 add x0, x21, 2368 bl List_remove_node ldrh w0, [x21, 2400] - cbnz w0, .L1010 + cbnz w0, .L1015 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -7041,7 +7114,7 @@ update_vpc_list: add x1, x1, 456 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1010: +.L1015: add x20, x20, :lo12:.LANCHOR0 ldrh w0, [x20, 2400] sub w0, w0, #1 @@ -7055,7 +7128,7 @@ update_vpc_list: add w0, w0, w1 ldrh w1, [x20, 44] cmp w0, w1 - ble .L1014 + ble .L1019 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -7063,30 +7136,30 @@ update_vpc_list: add x1, x1, 456 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1014: +.L1019: mov w0, 1 - b .L1005 -.L1007: + b .L1010 +.L1012: ldrh w1, [x0, 2424] cmp w1, w19 - beq .L1013 + beq .L1018 ldrh w1, [x0, 2472] cmp w1, w19 - beq .L1013 + beq .L1018 ldrh w0, [x0, 2520] cmp w0, w19 - bne .L1008 -.L1013: + bne .L1013 +.L1018: mov w0, 0 -.L1005: +.L1010: ldp x19, x20, [sp, 16] ldr x21, [sp, 32] ldp x29, x30, [sp], 48 ret -.L1006: +.L1011: mov w0, w19 bl List_update_data_list - b .L1013 + b .L1018 .size update_vpc_list, .-update_vpc_list .align 2 .global decrement_vpc_count @@ -7099,13 +7172,13 @@ decrement_vpc_count: stp x21, x22, [sp, 32] mov w0, 65535 cmp w19, w0 - beq .L1017 + beq .L1022 adrp x20, .LANCHOR0 add x22, x20, :lo12:.LANCHOR0 ubfiz x21, x19, 1, 16 ldr x1, [x22, 2376] ldrh w0, [x1, x21] - cbnz w0, .L1018 + cbnz w0, .L1023 mov w2, 0 mov w1, w19 adrp x0, .LC104 @@ -7113,7 +7186,7 @@ decrement_vpc_count: bl sftl_printk ldr x0, [x22, 2376] ldrh w0, [x0, x21] - cbnz w0, .L1019 + cbnz w0, .L1024 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -7121,7 +7194,7 @@ decrement_vpc_count: add x1, x1, 472 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1019: +.L1024: add x22, x20, :lo12:.LANCHOR0 mov w1, 16 add x6, x22, 2408 @@ -7130,12 +7203,12 @@ decrement_vpc_count: mov w1, w19 mov x0, x6 bl test_node_in_list - cbz w0, .L1020 + cbz w0, .L1025 mov w1, w19 mov x0, x6 bl List_remove_node ldrh w0, [x22, 2416] - cbnz w0, .L1021 + cbnz w0, .L1026 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -7143,7 +7216,7 @@ decrement_vpc_count: add x1, x1, 472 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1021: +.L1026: add x20, x20, :lo12:.LANCHOR0 ldrh w0, [x20, 2416] sub w0, w0, #1 @@ -7156,27 +7229,27 @@ decrement_vpc_count: adrp x0, .LC105 add x0, x0, :lo12:.LC105 bl sftl_printk -.L1020: +.L1025: mov w0, w19 bl FtlGcRefreshBlock -.L1024: +.L1029: mov w21, 0 - b .L1016 -.L1018: + b .L1021 +.L1023: sub w0, w0, #1 strh w0, [x1, x21] -.L1017: +.L1022: adrp x20, .LANCHOR3 add x20, x20, :lo12:.LANCHOR3 mov w1, 65535 ldrh w0, [x20, -48] cmp w0, w1 - bne .L1023 + bne .L1028 strh w19, [x20, -48] - b .L1024 -.L1023: + b .L1029 +.L1028: cmp w19, w0 - beq .L1024 + beq .L1029 bl update_vpc_list cmp w0, 0 adrp x1, .LANCHOR0 @@ -7193,9 +7266,9 @@ decrement_vpc_count: mul x0, x0, x2 and x2, x0, 65535 ldrh w1, [x1, x2, lsl 1] - cbnz w1, .L1016 + cbnz w1, .L1021 cmp w19, w0, uxth - beq .L1016 + beq .L1021 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -7203,7 +7276,7 @@ decrement_vpc_count: add x1, x1, 472 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1016: +.L1021: mov w0, w21 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -7223,16 +7296,16 @@ FtlWriteDump_data: stp x23, x24, [sp, 48] str x25, [sp, 64] ldrh w2, [x20, 2428] - cbz w2, .L1030 + cbz w2, .L1035 ldrb w1, [x20, 2432] - cbnz w1, .L1030 + cbnz w1, .L1035 ldrb w1, [x20, 2431] ldrh w3, [x20, 106] mul w1, w1, w3 cmp w2, w1 - beq .L1030 + beq .L1035 ldrb w0, [x20, 2434] - cbnz w0, .L1029 + cbnz w0, .L1034 ldr w22, [x20, 2584] add x1, x29, 92 ldrh w24, [x20, 36] @@ -7248,41 +7321,41 @@ FtlWriteDump_data: stp x1, x21, [x29, 104] str w22, [x29, 120] str wzr, [x21, 4] - beq .L1032 + beq .L1037 mov w2, 0 mov w1, 1 add x0, x29, 96 bl FlashReadPages -.L1033: +.L1038: add x25, x19, :lo12:.LANCHOR0 lsl w24, w24, 2 add x20, x25, 2424 mov w0, -3947 mov w23, 0 strh w0, [x21] -.L1034: +.L1039: cmp w24, w23 - bne .L1038 -.L1035: + bne .L1043 +.L1040: add x19, x19, :lo12:.LANCHOR0 mov w0, 1 strb w0, [x19, 2434] -.L1029: +.L1034: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] ldr x25, [sp, 64] ldp x29, x30, [sp], 128 ret -.L1032: +.L1037: ldrh w2, [x20, 114] mov w1, 255 ldr x0, [x20, 3440] bl ftl_memset - b .L1033 -.L1038: + b .L1038 +.L1043: ldrh w0, [x20, 4] - cbz w0, .L1035 + cbz w0, .L1040 ldr w0, [x29, 100] add w23, w23, 1 stp w22, w0, [x21, 8] @@ -7304,11 +7377,11 @@ FtlWriteDump_data: bl FlashProgPages ldrh w0, [x20] bl decrement_vpc_count - b .L1034 -.L1030: + b .L1039 +.L1035: add x19, x19, :lo12:.LANCHOR0 strb wzr, [x19, 2434] - b .L1029 + b .L1034 .size FtlWriteDump_data, .-FtlWriteDump_data .align 2 .global l2p_flush @@ -7321,26 +7394,26 @@ l2p_flush: add x20, x20, :lo12:.LANCHOR0 mov w19, 0 bl FtlWriteDump_data -.L1048: +.L1053: ldrh w0, [x20, 142] cmp w0, w19 - bhi .L1050 + bhi .L1055 mov w0, 0 ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 32 ret -.L1050: +.L1055: ldr x1, [x20, 2568] ubfiz x0, x19, 4, 16 add x0, x1, x0 ldr w0, [x0, 4] - tbz w0, #31, .L1049 + tbz w0, #31, .L1054 mov w0, w19 bl flush_l2p_region -.L1049: +.L1054: add w19, w19, 1 and w19, w19, 65535 - b .L1048 + b .L1053 .size l2p_flush, .-l2p_flush .align 2 .global FtlRecoverySuperblock @@ -7357,7 +7430,7 @@ FtlRecoverySuperblock: stp x27, x28, [sp, 80] ldrh w0, [x0] cmp w0, w1 - beq .L1170 + beq .L1175 ldrb w0, [x19, 6] adrp x20, .LANCHOR0 str w0, [x29, 156] @@ -7365,11 +7438,11 @@ FtlRecoverySuperblock: ldrh w27, [x19, 2] ldrh w0, [x0, 106] cmp w0, w27 - bne .L1055 + bne .L1060 strh wzr, [x19, 4] -.L1176: +.L1181: strb wzr, [x19, 6] -.L1170: +.L1175: ldp x19, x20, [sp, 16] mov w0, 0 ldp x21, x22, [sp, 32] @@ -7378,17 +7451,17 @@ FtlRecoverySuperblock: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 176 ret -.L1055: +.L1060: ldrh w0, [x19, 16] mov w21, 0 -.L1056: +.L1061: cmp w0, w1 - beq .L1057 + beq .L1062 mov w1, 1 bl FtlGetLastWrittenPage mov w24, w0 cmn w0, #1 - beq .L1058 + beq .L1063 add x0, x20, :lo12:.LANCHOR0 add x1, x19, 16 str x1, [x29, 144] @@ -7401,9 +7474,9 @@ FtlRecoverySuperblock: add x1, x1, 8 ldrh w9, [x0, 116] add x1, x19, x1, lsl 1 -.L1059: +.L1064: cmp x5, x1 - bne .L1063 + bne .L1068 add x23, x20, :lo12:.LANCHOR0 mov w2, 0 mov w1, w21 @@ -7416,42 +7489,42 @@ FtlRecoverySuperblock: mov w7, 65535 mov x6, x4 mov w3, 0 -.L1064: +.L1069: cmp w21, w3 - bne .L1069 + bne .L1074 add w23, w24, 1 ldr w0, [x4, 4] and w23, w23, 65535 -.L1172: +.L1177: lsr w0, w0, 10 bl P2V_plane and w28, w0, 65535 add x0, x20, :lo12:.LANCHOR0 ldrh w0, [x0, 106] cmp w0, w23 - bne .L1071 + bne .L1076 strh w23, [x19, 2] strb wzr, [x19, 6] strh wzr, [x19, 4] -.L1071: +.L1076: ldr w0, [x29, 156] cmp w23, w27 ccmp w28, w0, 0, eq - bne .L1072 -.L1177: + bne .L1077 +.L1182: mov w2, w28 mov w1, w23 mov x0, x19 bl ftl_sb_update_avl_pages - b .L1170 -.L1057: + b .L1175 +.L1062: add w21, w21, 1 and w21, w21, 65535 add x0, x19, x21, sxtw 1 ldrh w0, [x0, 16] - b .L1056 -.L1058: - cbz w27, .L1060 + b .L1061 +.L1063: + cbz w27, .L1065 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -7459,11 +7532,11 @@ FtlRecoverySuperblock: add x1, x1, 496 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1060: +.L1065: ldr w0, [x29, 156] cmp w0, 0 ccmp w21, w0, 4, ne - beq .L1061 + beq .L1066 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -7471,13 +7544,13 @@ FtlRecoverySuperblock: add x1, x1, 496 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1061: +.L1066: strh wzr, [x19, 2] - b .L1176 -.L1063: + b .L1181 +.L1068: ldrh w2, [x5] cmp w2, w10 - beq .L1062 + beq .L1067 ldr x4, [x0, 4024] ubfiz x7, x21, 5, 16 orr w2, w24, w2, lsl 10 @@ -7497,77 +7570,77 @@ FtlRecoverySuperblock: sdiv w2, w2, w6 add x2, x4, x2, sxtw 2 str x2, [x3, 16] -.L1062: +.L1067: add x5, x5, 2 - b .L1059 -.L1069: + b .L1064 +.L1074: ldr w0, [x6] - cbnz w0, .L1065 + cbnz w0, .L1070 ldr x8, [x6, 16] ldr w5, [x8, 4] cmn w5, #1 - beq .L1066 + beq .L1071 ldr w1, [x23, 2624] mov w0, w5 bl ftl_cmp_data_ver - cbz w0, .L1066 + cbz w0, .L1071 add w5, w5, 1 str w5, [x23, 2624] -.L1066: +.L1071: ldr w0, [x8] cmn w0, #1 - bne .L1068 + bne .L1073 ubfiz x3, x3, 5, 16 and w23, w24, 65535 add x3, x4, x3 ldr w0, [x3, 4] - b .L1172 -.L1065: + b .L1177 +.L1070: mov w7, w9 -.L1068: +.L1073: add w3, w3, 1 add x6, x6, 32 and w3, w3, 65535 - b .L1064 -.L1072: + b .L1069 +.L1077: mov w0, 65535 adrp x21, .LANCHOR3 cmp w7, w0 - bne .L1073 + bne .L1078 ldrb w0, [x19, 8] - cbnz w0, .L1074 -.L1073: + cbnz w0, .L1079 +.L1078: add x0, x21, :lo12:.LANCHOR3 and w3, w24, 65535 ldr w1, [x0, -36] cmn w1, #1 - bne .L1075 + bne .L1080 str w22, [x0, -36] -.L1075: +.L1080: add w0, w27, 7 cmp w0, w24, uxth - bge .L1123 + bge .L1128 sub w25, w3, #7 and w25, w25, 65535 -.L1076: +.L1081: add x26, x20, :lo12:.LANCHOR0 mov w4, 65535 -.L1077: +.L1082: cmp w25, w3 - bhi .L1084 + bhi .L1089 ldrh w0, [x26, 36] mov w24, 0 ldr x1, [x29, 144] add x0, x0, 8 add x0, x19, x0, lsl 1 - b .L1085 -.L1123: + b .L1090 +.L1128: mov w25, w27 - b .L1076 -.L1079: + b .L1081 +.L1084: ldrh w2, [x1] cmp w2, w4 - beq .L1078 + beq .L1083 ldr x5, [x26, 4024] ubfiz x6, x24, 5, 16 add w24, w24, 1 @@ -7575,11 +7648,11 @@ FtlRecoverySuperblock: add x5, x5, x6 and w24, w24, 65535 str w2, [x5, 4] -.L1078: +.L1083: add x1, x1, 2 -.L1085: +.L1090: cmp x0, x1 - bne .L1079 + bne .L1084 ldr x0, [x26, 4024] mov w1, w24 mov w2, 0 @@ -7594,31 +7667,31 @@ FtlRecoverySuperblock: ldr w3, [x29, 136] add x0, x1, 16 add x24, x1, x24 -.L1080: +.L1085: cmp x24, x0 - bne .L1083 + bne .L1088 add w25, w25, 1 and w25, w25, 65535 - b .L1077 -.L1083: + b .L1082 +.L1088: ldr w1, [x0, -16] - cbnz w1, .L1074 + cbnz w1, .L1079 ldr x1, [x0] ldrh w5, [x1] cmp w5, w4 - beq .L1082 + beq .L1087 ldr w1, [x1, 4] cmn w1, #1 - beq .L1082 + beq .L1087 str w1, [x2, -36] -.L1082: +.L1087: add x0, x0, 32 - b .L1080 -.L1084: + b .L1085 +.L1089: add x0, x21, :lo12:.LANCHOR3 mov w1, -1 str w1, [x0, -36] -.L1074: +.L1079: add x21, x21, :lo12:.LANCHOR3 mov w0, 1 mov w25, w27 @@ -7628,16 +7701,16 @@ FtlRecoverySuperblock: bl FtlMapBlkWriteDump_data sub x0, x21, #24 str x0, [x29, 112] -.L1086: +.L1091: ldrh w0, [x20, 36] mov w24, 0 ldr x1, [x29, 144] mov w4, 65535 add x0, x0, 8 add x0, x19, x0, lsl 1 -.L1087: +.L1092: cmp x0, x1 - bne .L1089 + bne .L1094 ldr x0, [x20, 4024] mov w1, w24 mov w2, 0 @@ -7649,34 +7722,34 @@ FtlRecoverySuperblock: add x0, x0, 496 mov x24, 0 str x0, [x29, 128] -.L1090: +.L1095: ldr x0, [x29, 120] cmp x0, x24 - bne .L1117 + bne .L1122 add w25, w25, 1 ldrh w0, [x20, 106] and w25, w25, 65535 cmp w0, w25 - bne .L1086 + bne .L1091 ldrh w1, [x20, 36] mov w0, 0 strh w25, [x19, 2] mov w2, 65535 strh wzr, [x19, 4] -.L1118: +.L1123: cmp w0, w1 - beq .L1170 + beq .L1175 ldr x4, [x29, 144] ldrh w3, [x4], 2 str x4, [x29, 144] cmp w3, w2 - beq .L1119 + beq .L1124 strb w0, [x19, 6] - b .L1170 -.L1089: + b .L1175 +.L1094: ldrh w2, [x1] cmp w2, w4 - beq .L1088 + beq .L1093 ldr x3, [x20, 4024] ubfiz x5, x24, 5, 16 add w24, w24, 1 @@ -7684,10 +7757,10 @@ FtlRecoverySuperblock: add x3, x3, x5 and w24, w24, 65535 str w2, [x3, 4] -.L1088: +.L1093: add x1, x1, 2 - b .L1087 -.L1117: + b .L1092 +.L1122: ldr x4, [x20, 4024] add x4, x4, x24 ldr w5, [x4, 4] @@ -7696,45 +7769,45 @@ FtlRecoverySuperblock: bl P2V_plane and w0, w0, 65535 cmp w25, w27 - bcc .L1091 + bcc .L1096 ldr w1, [x29, 156] ccmp w1, w0, 0, eq - bhi .L1091 + bhi .L1096 cmp w25, w23 ccmp w28, w0, 0, eq - beq .L1092 + beq .L1097 ldr w0, [x4] cmn w0, #1 - beq .L1093 + beq .L1098 ldr x3, [x4, 16] mov w0, 61589 ldrh w1, [x3] cmp w1, w0 - beq .L1094 -.L1101: + beq .L1099 +.L1106: ldrh w0, [x19] -.L1175: +.L1180: bl decrement_vpc_count -.L1091: +.L1096: add x24, x24, 32 - b .L1090 -.L1094: + b .L1095 +.L1099: ldr w22, [x3, 4] cmn w22, #1 - beq .L1095 + beq .L1100 ldr w1, [x20, 2624] mov w0, w22 str x3, [x29, 136] bl ftl_cmp_data_ver ldr x3, [x29, 136] - cbz w0, .L1095 + cbz w0, .L1100 add w0, w22, 1 str w0, [x20, 2624] -.L1095: +.L1100: ldrh w1, [x3] mov w0, 61589 cmp w1, w0 - beq .L1096 + beq .L1101 ldr x1, [x29, 128] mov w2, 1954 str x3, [x29, 136] @@ -7742,7 +7815,7 @@ FtlRecoverySuperblock: add x0, x0, :lo12:.LC1 bl sftl_printk ldr x3, [x29, 136] -.L1096: +.L1101: ldp w26, w0, [x3, 8] add x1, x29, 168 str w0, [x29, 164] @@ -7751,13 +7824,13 @@ FtlRecoverySuperblock: bl log2phys ldr w1, [x21, -36] cmn w1, #1 - beq .L1097 + beq .L1102 mov w0, w22 bl ftl_cmp_data_ver - cbz w0, .L1097 + cbz w0, .L1102 ldr w1, [x29, 164] cmn w1, #1 - beq .L1098 + beq .L1103 ldr x0, [x20, 4024] mov w2, 0 add x0, x0, x24 @@ -7773,24 +7846,24 @@ FtlRecoverySuperblock: add x3, x0, x24 ldr w0, [x0, x24] cmn w0, #1 - bne .L1099 -.L1100: + bne .L1104 +.L1105: mov w0, -1 str w0, [x29, 164] ldrh w0, [x19] bl decrement_vpc_count -.L1108: +.L1113: ldr w4, [x29, 164] cmn w4, #1 - beq .L1091 -.L1122: + beq .L1096 +.L1127: lsr w0, w4, 10 bl P2V_block_in_plane and w26, w0, 65535 ldrh w0, [x20, 44] mov w3, w26 cmp w0, w26 - bhi .L1113 + bhi .L1118 ldr x1, [x29, 128] mov w2, 2055 adrp x0, .LC1 @@ -7798,47 +7871,47 @@ FtlRecoverySuperblock: add x0, x0, :lo12:.LC1 bl sftl_printk ldr w3, [x29, 136] -.L1113: +.L1118: ldr x1, [x20, 2376] ubfiz x0, x26, 1, 16 ldrh w0, [x1, x0] - cbz w0, .L1114 + cbz w0, .L1119 mov w0, w3 - b .L1175 -.L1098: + b .L1180 +.L1103: ldp w1, w0, [x29, 168] cmp w1, w0 - bne .L1101 + bne .L1106 mov w2, 1 add x1, x29, 164 mov w0, w26 bl log2phys - b .L1101 -.L1099: + b .L1106 +.L1104: ldr w0, [x4, 8] cmp w26, w0 - bne .L1100 + bne .L1105 ldr w0, [x4, 4] str w0, [x29, 136] str x4, [x29, 104] uxtw x1, w0 ldr w0, [x21, -36] bl ftl_cmp_data_ver - cbz w0, .L1100 + cbz w0, .L1105 ldp w0, w1, [x29, 168] ldr x4, [x29, 104] cmp w0, w1 ldr w1, [x29, 164] - bne .L1103 -.L1173: + bne .L1108 +.L1178: mov w0, w26 bl FtlReUsePrevPpa - b .L1100 -.L1103: + b .L1105 +.L1108: cmp w0, w1 - beq .L1100 + beq .L1105 cmn w0, #1 - beq .L1104 + beq .L1109 ldr x4, [x3, 16] mov w2, 0 str w0, [x3, 4] @@ -7848,54 +7921,54 @@ FtlRecoverySuperblock: add x0, x0, x24 bl FlashReadPages ldr x4, [x29, 104] -.L1105: +.L1110: adrp x0, .LANCHOR0+4024 ldr x0, [x0, #:lo12:.LANCHOR0+4024] ldr w0, [x0, x24] cmn w0, #1 - beq .L1106 + beq .L1111 ldr w3, [x4, 4] ldr w0, [x21, -36] mov w1, w3 bl ftl_cmp_data_ver - cbz w0, .L1106 + cbz w0, .L1111 ldr w0, [x29, 136] mov w1, w3 bl ftl_cmp_data_ver - cbz w0, .L1100 -.L1106: + cbz w0, .L1105 +.L1111: ldr w1, [x29, 164] - b .L1173 -.L1104: + b .L1178 +.L1109: str w0, [x3] - b .L1105 -.L1097: + b .L1110 +.L1102: ldp w1, w0, [x29, 168] cmp w1, w0 - beq .L1108 + beq .L1113 mov w2, 1 add x1, x29, 172 mov w0, w26 bl log2phys ldr w4, [x29, 168] cmn w4, #1 - beq .L1108 + beq .L1113 ldr w0, [x29, 164] cmp w4, w0 - beq .L1122 + beq .L1127 lsr w0, w4, 10 bl P2V_block_in_plane ldrh w1, [x20, 2424] and w0, w0, 65535 cmp w1, w0 - beq .L1112 + beq .L1117 ldrh w1, [x20, 2472] cmp w1, w0 - beq .L1112 + beq .L1117 ldrh w1, [x20, 2520] cmp w1, w0 - bne .L1108 -.L1112: + bne .L1113 +.L1117: ldr x0, [x20, 4024] mov w2, 0 mov w1, 1 @@ -7907,52 +7980,52 @@ FtlRecoverySuperblock: ldr x0, [x20, 4024] ldr w0, [x0] cmn w0, #1 - beq .L1108 + beq .L1113 ldr x3, [x29, 136] mov w0, w22 ldr w1, [x3, 4] bl ftl_cmp_data_ver - cbnz w0, .L1108 + cbnz w0, .L1113 mov w2, 1 add x1, x29, 168 mov w0, w26 bl log2phys - b .L1108 -.L1114: + b .L1113 +.L1119: mov w1, w26 adrp x0, .LC106 add x0, x0, :lo12:.LC106 bl sftl_printk - b .L1091 -.L1093: + b .L1096 +.L1098: ldr w0, [x21, -28] cmp w0, 31 - bhi .L1115 + bhi .L1120 ldr x1, [x29, 112] str w5, [x1, w0, uxtw 2] add w0, w0, 1 str w0, [x21, -28] -.L1115: +.L1120: ldrh w0, [x19] bl decrement_vpc_count ldr w0, [x21, -36] cmn w0, #1 - bne .L1116 -.L1174: + bne .L1121 +.L1179: str w22, [x21, -36] - b .L1091 -.L1116: + b .L1096 +.L1121: cmp w22, w0 - bcs .L1091 - b .L1174 -.L1119: + bcs .L1096 + b .L1179 +.L1124: add w0, w0, 1 and w0, w0, 65535 - b .L1118 -.L1092: + b .L1123 +.L1097: strb w28, [x19, 6] strh w23, [x19, 2] - b .L1177 + b .L1182 .size FtlRecoverySuperblock, .-FtlRecoverySuperblock .align 2 .global FtlSuperblockPowerLostFix @@ -7988,12 +8061,12 @@ FtlSuperblockPowerLostFix: movk w3, 0x1234, lsl 16 ldr x1, [x0, 3440] str w3, [x1, 4] -.L1179: +.L1184: subs w22, w22, #1 - beq .L1181 + beq .L1186 ldrh w0, [x19, 4] - cbnz w0, .L1180 -.L1181: + cbnz w0, .L1185 +.L1186: add x2, x23, :lo12:.LANCHOR0 ldrh w0, [x19] ldrh w4, [x19, 4] @@ -8011,12 +8084,12 @@ FtlSuperblockPowerLostFix: ldr x23, [sp, 48] ldp x29, x30, [sp], 96 ret -.L1180: +.L1185: mov x0, x19 bl get_new_active_ppa str w0, [x29, 68] cmn w0, #1 - beq .L1181 + beq .L1186 ldr w0, [x20, 2624] mov w3, 0 str w0, [x21, 4] @@ -8030,7 +8103,7 @@ FtlSuperblockPowerLostFix: bl FlashProgPages ldrh w0, [x19] bl decrement_vpc_count - b .L1179 + b .L1184 .size FtlSuperblockPowerLostFix, .-FtlSuperblockPowerLostFix .align 2 .global FtlLoadBbt @@ -8052,11 +8125,11 @@ FtlLoadBbt: ldrh w20, [x23, 102] sub w20, w20, #1 and w20, w20, 65535 -.L1191: +.L1196: ldrh w0, [x23, 102] sub w0, w0, #16 cmp w20, w0 - ble .L1194 + ble .L1199 lsl w0, w20, 10 mov w2, 1 str w0, [x21, 4] @@ -8065,7 +8138,7 @@ FtlLoadBbt: bl FlashReadPages ldr w0, [x21] cmn w0, #1 - bne .L1192 + bne .L1197 ldr w0, [x21, 4] mov w2, 1 mov w1, w2 @@ -8073,27 +8146,27 @@ FtlLoadBbt: str w0, [x21, 4] mov x0, x21 bl FlashReadPages -.L1192: +.L1197: ldr w0, [x21] cmn w0, #1 - beq .L1193 + beq .L1198 ldrh w0, [x22] cmp w0, w24 - bne .L1193 + bne .L1198 ldr w1, [x22, 4] str w1, [x23, 168] strh w20, [x23, 160] ldrh w1, [x22, 8] strh w1, [x23, 164] -.L1194: +.L1199: add x21, x19, :lo12:.LANCHOR0 mov w0, 65535 ldrh w1, [x21, 160] cmp w1, w0 - beq .L1208 + beq .L1213 ldrh w1, [x21, 164] cmp w1, w0 - beq .L1198 + beq .L1203 add x0, x21, 3408 lsl w1, w1, 10 mov w2, 1 @@ -8102,21 +8175,21 @@ FtlLoadBbt: bl FlashReadPages ldr w0, [x21, 3408] cmn w0, #1 - beq .L1198 + beq .L1203 ldrh w1, [x22] mov w0, 61649 cmp w1, w0 - bne .L1198 + bne .L1203 ldr w1, [x21, 168] ldr w0, [x22, 4] cmp w0, w1 - bls .L1198 + bls .L1203 str w0, [x21, 168] ldrh w1, [x21, 164] ldrh w0, [x22, 8] strh w1, [x21, 160] strh w0, [x21, 164] -.L1198: +.L1203: add x20, x19, :lo12:.LANCHOR0 mov w1, 1 add x23, x20, 3408 @@ -8126,8 +8199,8 @@ FtlLoadBbt: sxth w21, w0 add w0, w0, 1 strh w0, [x20, 162] -.L1200: - tbz w21, #31, .L1203 +.L1205: + tbz w21, #31, .L1208 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -8135,46 +8208,46 @@ FtlLoadBbt: add x1, x1, 520 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1202: +.L1207: add x1, x19, :lo12:.LANCHOR0 ldrh w0, [x22, 10] mov w2, 65535 strh w0, [x1, 166] ldrh w0, [x22, 12] cmp w0, w2 - beq .L1205 + beq .L1210 ldr w2, [x1, 32] cmp w0, w2 - beq .L1205 + beq .L1210 ldrh w1, [x1, 46] lsr w1, w1, 2 cmp w2, w1 - bcs .L1205 + bcs .L1210 cmp w0, w1 - bcs .L1205 + bcs .L1210 bl FtlSysBlkNumInit -.L1205: +.L1210: add x19, x19, :lo12:.LANCHOR0 adrp x21, .LANCHOR3 add x22, x19, 192 add x21, x21, :lo12:.LANCHOR3 mov w20, 0 -.L1206: +.L1211: ldrh w0, [x19, 58] cmp w20, w0 - bcc .L1207 + bcc .L1212 mov w0, 0 -.L1190: +.L1195: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] ldp x29, x30, [sp], 64 ret -.L1193: +.L1198: sub w20, w20, #1 and w20, w20, 65535 - b .L1191 -.L1203: + b .L1196 +.L1208: ldrh w0, [x20, 160] mov w2, 1 mov w1, w2 @@ -8186,15 +8259,15 @@ FtlLoadBbt: bl FlashReadPages ldr w0, [x23] cmn w0, #1 - beq .L1201 + beq .L1206 ldrh w0, [x22] cmp w0, w24 - beq .L1202 -.L1201: + beq .L1207 +.L1206: sub w21, w21, #1 sxth w21, w21 - b .L1200 -.L1207: + b .L1205 +.L1212: ldrh w2, [x21, -192] ldr x0, [x19, 3416] mul w1, w2, w20 @@ -8203,10 +8276,10 @@ FtlLoadBbt: add x1, x0, x1, lsl 2 ldr x0, [x22], 8 bl ftl_memcpy - b .L1206 -.L1208: + b .L1211 +.L1213: mov w0, -1 - b .L1190 + b .L1195 .size FtlLoadBbt, .-FtlLoadBbt .align 2 .global FtlMakeBbt @@ -8231,47 +8304,47 @@ FtlMakeBbt: add x25, x0, 172 mov x19, x0 add x20, x0, 3408 -.L1221: +.L1226: ldrh w0, [x19, 58] cmp w24, w0 - bcc .L1227 + bcc .L1232 add x20, x21, :lo12:.LANCHOR0 mov w19, 0 -.L1228: +.L1233: ldrh w0, [x20, 118] cmp w0, w19 - bhi .L1229 + bhi .L1234 add x20, x20, 160 ldrh w19, [x20, 12] mov w22, 65535 sub w19, w19, #1 and w19, w19, 65535 -.L1230: +.L1235: ldrh w0, [x20, 12] sub w0, w0, #48 cmp w19, w0 - ble .L1234 + ble .L1239 mov w0, w19 bl FtlBbmIsBadBlock cmp w0, 1 - beq .L1231 + beq .L1236 mov w0, w19 bl FlashTestBlk - cbz w0, .L1232 + cbz w0, .L1237 mov w0, w19 bl FtlBbmMapBadBlock -.L1231: +.L1236: sub w19, w19, #1 and w19, w19, 65535 - b .L1230 -.L1227: + b .L1235 +.L1232: ldr x0, [x19, 3440] mov w2, 65535 ldr x27, [x19, 3448] ldrh w1, [x25] stp x0, x27, [x20, 8] cmp w1, w2 - beq .L1222 + beq .L1227 ldrh w23, [x19, 102] mov w2, 1 madd w23, w23, w24, w1 @@ -8286,29 +8359,29 @@ FtlMakeBbt: add w2, w2, 7 lsr w2, w2, 3 bl ftl_memcpy -.L1223: +.L1228: mov w0, w23 add w24, w24, 1 bl FtlBbmMapBadBlock add x26, x26, 8 add x25, x25, 2 - b .L1221 -.L1222: + b .L1226 +.L1227: mov w1, w24 bl FlashGetBadBlockList ldr x0, [x20, 8] ldr x1, [x26] bl FtlBbt2Bitmap ldrh w22, [x19, 102] -.L1225: +.L1230: sub w22, w22, #1 and w22, w22, 65535 -.L1224: +.L1229: ldrh w0, [x19, 102] madd w0, w24, w0, w22 bl FtlBbmIsBadBlock cmp w0, 1 - beq .L1225 + beq .L1230 ldr x0, [x19, 3448] mov w2, 16 strh w22, [x25] @@ -8344,25 +8417,25 @@ FtlMakeBbt: bl FlashProgPages ldr w0, [x20] cmn w0, #1 - bne .L1223 + bne .L1228 mov w0, w23 bl FtlBbmMapBadBlock - b .L1224 -.L1229: + b .L1229 +.L1234: mov w0, w19 add w19, w19, 1 bl FtlBbmMapBadBlock and w19, w19, 65535 - b .L1228 -.L1232: + b .L1233 +.L1237: ldrh w0, [x20] cmp w0, w22 - bne .L1233 + bne .L1238 strh w19, [x20] - b .L1231 -.L1233: + b .L1236 +.L1238: strh w19, [x20, 4] -.L1234: +.L1239: add x21, x21, :lo12:.LANCHOR0 mov w2, 2 ldr x1, [x21, 3968] @@ -8419,16 +8492,16 @@ FtlVendorPartWrite: stp x25, x26, [sp, 64] ldrh w1, [x0, 100] cmp w2, w1 - bhi .L1248 + bhi .L1253 ldrh w21, [x0, 112] adrp x26, .LANCHOR3 add x25, x26, :lo12:.LANCHOR3 mov w23, 0 sub x25, x25, #112 lsr w21, w27, w21 -.L1242: - cbnz w28, .L1247 -.L1240: +.L1247: + cbnz w28, .L1252 +.L1245: mov w0, w23 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -8437,7 +8510,7 @@ FtlVendorPartWrite: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 208 ret -.L1247: +.L1252: add x2, x22, :lo12:.LANCHOR0 add x0, x26, :lo12:.LANCHOR3 ldrh w1, [x2, 62] @@ -8450,9 +8523,9 @@ FtlVendorPartWrite: and w19, w19, 65535 cmp w28, w19 csel w19, w0, w19, cc - cbz w4, .L1244 + cbz w4, .L1249 cmp w19, w1 - beq .L1244 + beq .L1249 ldr x0, [x2, 4056] mov w2, 1 str x0, [x29, 120] @@ -8462,7 +8535,7 @@ FtlVendorPartWrite: str w4, [x29, 116] add x0, x29, 112 bl FlashReadPages -.L1245: +.L1250: add x5, x22, :lo12:.LANCHOR0 lsl w4, w19, 9 lsl w20, w20, 9 @@ -8486,17 +8559,17 @@ FtlVendorPartWrite: ldr w4, [x29, 108] csinv w23, w23, wzr, ne add x24, x24, x4, sxtw - b .L1242 -.L1244: + b .L1247 +.L1249: add x0, x22, :lo12:.LANCHOR0 mov w1, 0 ldrh w2, [x0, 114] ldr x0, [x0, 4056] bl ftl_memset - b .L1245 -.L1248: + b .L1250 +.L1253: mov w23, -1 - b .L1240 + b .L1245 .size FtlVendorPartWrite, .-FtlVendorPartWrite .align 2 .global Ftl_save_ext_data @@ -8508,7 +8581,7 @@ Ftl_save_ext_data: movk w1, 0x4654, lsl 16 ldr w3, [x0, 2720] cmp w3, w1 - bne .L1256 + bne .L1261 stp x29, x30, [sp, -16]! add x2, x0, 2720 mov w1, 69 @@ -8543,7 +8616,7 @@ Ftl_save_ext_data: bl FtlVendorPartWrite ldp x29, x30, [sp], 16 ret -.L1256: +.L1261: ret .size Ftl_save_ext_data, .-Ftl_save_ext_data .align 2 @@ -8554,21 +8627,21 @@ FtlEctTblFlush: add x1, x1, :lo12:.LANCHOR3 ldrh w2, [x1, 104] cmp w2, 31 - bhi .L1263 + bhi .L1268 add w2, w2, 1 strh w2, [x1, 104] mov w2, 1 -.L1260: +.L1265: adrp x1, .LANCHOR0 - cbnz w0, .L1261 + cbnz w0, .L1266 add x0, x1, :lo12:.LANCHOR0 ldr x0, [x0, 4080] ldr w3, [x0, 20] ldr w0, [x0, 16] add w2, w2, w3 cmp w0, w2 - bcc .L1265 -.L1261: + bcc .L1270 +.L1266: add x0, x1, :lo12:.LANCHOR0 stp x29, x30, [sp, -16]! add x29, sp, 0 @@ -8593,10 +8666,10 @@ FtlEctTblFlush: mov w0, 0 ldp x29, x30, [sp], 16 ret -.L1263: +.L1268: mov w2, 32 - b .L1260 -.L1265: + b .L1265 +.L1270: mov w0, 0 ret .size FtlEctTblFlush, .-FtlEctTblFlush @@ -8630,7 +8703,7 @@ FtlVendorPartRead: stp x27, x28, [sp, 80] ldrh w1, [x0, 100] cmp w2, w1 - bhi .L1278 + bhi .L1283 ldrh w21, [x0, 112] adrp x0, .LANCHOR3 add x0, x0, :lo12:.LANCHOR3 @@ -8638,9 +8711,9 @@ FtlVendorPartRead: sub x0, x0, #112 str x0, [x29, 104] lsr w21, w23, w21 -.L1271: - cbnz w22, .L1277 -.L1269: +.L1276: + cbnz w22, .L1282 +.L1274: mov w0, w25 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -8649,7 +8722,7 @@ FtlVendorPartRead: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 208 ret -.L1277: +.L1282: add x28, x24, :lo12:.LANCHOR0 adrp x0, .LANCHOR3 add x0, x0, :lo12:.LANCHOR3 @@ -8664,7 +8737,7 @@ FtlVendorPartRead: cmp w22, w19 csel w19, w0, w19, cc lsl w27, w19, 9 - cbz w4, .L1273 + cbz w4, .L1278 ldr x0, [x28, 4056] mov w2, 1 str x0, [x29, 120] @@ -8681,7 +8754,7 @@ FtlVendorPartRead: ldr w0, [x28, 3408] csinv w25, w25, wzr, ne cmp w0, 256 - bne .L1275 + bne .L1280 mov w2, w4 mov w1, w21 adrp x0, .LC107 @@ -8691,7 +8764,7 @@ FtlVendorPartRead: mov w1, w21 ldr x0, [x29, 104] bl FtlMapWritePage -.L1275: +.L1280: add x0, x24, :lo12:.LANCHOR0 lsl w20, w20, 9 asr w20, w20, 2 @@ -8700,21 +8773,21 @@ FtlVendorPartRead: mov x0, x26 add x1, x1, x20, sxtw 2 bl ftl_memcpy -.L1276: +.L1281: add w21, w21, 1 sub w22, w22, w19 add w23, w23, w19 add x26, x26, x27, sxtw - b .L1271 -.L1273: + b .L1276 +.L1278: mov w2, w27 mov w1, 0 mov x0, x26 bl ftl_memset - b .L1276 -.L1278: + b .L1281 +.L1283: mov w25, -1 - b .L1269 + b .L1274 .size FtlVendorPartRead, .-FtlVendorPartRead .align 2 .global FtlLoadEctTbl @@ -8734,7 +8807,7 @@ FtlLoadEctTbl: mov w0, 17221 movk w0, 0x4254, lsl 16 cmp w1, w0 - beq .L1281 + beq .L1286 adrp x1, .LC108 adrp x0, .LC71 add x1, x1, :lo12:.LC108 @@ -8745,7 +8818,7 @@ FtlLoadEctTbl: ldrh w2, [x19, 4064] lsl w2, w2, 9 bl ftl_memset -.L1281: +.L1286: mov w0, 0 ldr x19, [sp, 16] ldp x29, x30, [sp], 32 @@ -8770,19 +8843,19 @@ Ftl_load_ext_data: ldr w0, [x20, 2720] movk w21, 0x4654, lsl 16 cmp w0, w21 - beq .L1284 + beq .L1289 mov w2, 512 mov w1, 0 mov x0, x22 bl ftl_memset str w21, [x20, 2720] -.L1284: +.L1289: add x0, x19, :lo12:.LANCHOR0 mov w2, 19539 movk w2, 0x4654, lsl 16 ldr w3, [x0, 2720] cmp w3, w2 - bne .L1285 + bne .L1290 ldr w2, [x0, 2808] str w2, [x0, 2612] ldr w2, [x0, 2812] @@ -8807,7 +8880,7 @@ Ftl_load_ext_data: ldr w2, [x0, 2764] str w1, [x0, 2648] str w2, [x0, 2644] -.L1285: +.L1290: add x0, x19, :lo12:.LANCHOR0 ldr w2, [x0, 2632] ldrh w1, [x0, 96] @@ -8933,7 +9006,7 @@ FtlVpcTblFlush: bl ftl_memcpy mov w0, 0 bl FtlUpdateVaildLpn -.L1290: +.L1295: ldr x0, [x19, 3440] mov w3, 1 str x0, [x20, 8] @@ -8951,7 +9024,7 @@ FtlVpcTblFlush: ldrh w1, [x19, 2658] sub w0, w0, #1 cmp w1, w0 - blt .L1291 + blt .L1296 ldrh w0, [x19, 2656] ldrh w24, [x19, 2660] strh wzr, [x19, 2658] @@ -8971,53 +9044,53 @@ FtlVpcTblFlush: mov x0, x20 mov w1, w3 bl FlashProgPages -.L1291: +.L1296: ldrh w0, [x19, 2658] ldr w1, [x20] add w0, w0, 1 and w0, w0, 65535 strh w0, [x19, 2658] cmn w1, #1 - bne .L1292 + bne .L1297 cmp w0, 1 - bne .L1293 + bne .L1298 adrp x0, .LC1 mov w2, 1169 mov x1, x25 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1293: +.L1298: ldrh w0, [x19, 2658] cmp w0, 1 - bne .L1294 + bne .L1299 ldrh w0, [x19, 108] sub w0, w0, #1 strh w0, [x19, 2658] -.L1294: +.L1299: add w22, w22, 1 and w22, w22, 65535 cmp w22, 3 - bls .L1290 + bls .L1295 add x23, x23, :lo12:.LANCHOR0 adrp x0, .LC109 mov w2, w22 add x0, x0, :lo12:.LC109 ldr w1, [x23, 3412] bl sftl_printk -.L1296: - b .L1296 -.L1292: +.L1301: + b .L1301 +.L1297: cmp w0, 1 - beq .L1290 + beq .L1295 cmp w1, 256 - beq .L1290 + beq .L1295 mov w0, 65535 cmp w24, w0 - beq .L1297 + beq .L1302 mov w1, 1 mov w0, w24 bl FtlFreeSysBlkQueueIn -.L1297: +.L1302: mov w0, 0 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -9047,14 +9120,14 @@ sftl_deinit: adrp x0, .LANCHOR2 ldr w0, [x0, #:lo12:.LANCHOR2] cmp w0, 1 - bne .L1310 + bne .L1315 stp x29, x30, [sp, -16]! add x29, sp, 0 bl FtlSysFlush mov w0, 0 ldp x29, x30, [sp], 16 ret -.L1310: +.L1315: mov w0, 0 ret .size sftl_deinit, .-sftl_deinit @@ -9072,54 +9145,54 @@ FtlDiscard: stp x21, x22, [sp, 32] ldr w2, [x1, 144] cmp w3, w2 - bhi .L1321 + bhi .L1326 cmp w19, 31 - bhi .L1315 -.L1329: + bhi .L1320 +.L1334: mov w0, 0 -.L1313: +.L1318: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x29, x30, [sp], 64 ret -.L1315: +.L1320: ldrh w1, [x1, 62] udiv w21, w0, w1 msub w0, w1, w21, w0 ands w0, w0, 65535 - beq .L1316 + beq .L1321 sub w1, w1, w0 add w21, w21, 1 cmp w1, w19 csel w1, w1, w19, ls sub w19, w19, w1, uxth -.L1316: +.L1321: adrp x22, .LANCHOR3 add x20, x20, :lo12:.LANCHOR0 add x22, x22, :lo12:.LANCHOR3 mov w0, -1 str w0, [x29, 60] -.L1317: +.L1322: ldrh w0, [x20, 62] cmp w19, w0 - bcs .L1319 + bcs .L1324 adrp x0, .LANCHOR3 add x0, x0, :lo12:.LANCHOR3 ldr w1, [x0, 108] cmp w1, 32 - bls .L1329 + bls .L1334 str wzr, [x0, 108] bl l2p_flush bl FtlVpcTblFlush - b .L1329 -.L1319: + b .L1334 +.L1324: mov w2, 0 add x1, x29, 56 mov w0, w21 bl log2phys ldr w0, [x29, 56] cmn w0, #1 - beq .L1318 + beq .L1323 ldr w0, [x22, 108] mov w2, 1 add x1, x29, 60 @@ -9134,14 +9207,14 @@ FtlDiscard: lsr w0, w0, 10 bl P2V_block_in_plane bl decrement_vpc_count -.L1318: +.L1323: ldrh w0, [x20, 62] add w21, w21, 1 sub w19, w19, w0 - b .L1317 -.L1321: + b .L1322 +.L1326: mov w0, -1 - b .L1313 + b .L1318 .size FtlDiscard, .-FtlDiscard .align 2 .global FtlVpcCheckAndModify @@ -9166,32 +9239,32 @@ FtlVpcCheckAndModify: mov w1, 0 lsl w2, w2, 1 bl ftl_memset -.L1331: +.L1336: ldr w0, [x19, 2584] cmp w21, w0 - bcc .L1333 + bcc .L1338 adrp x22, .LC110 add x20, x20, :lo12:.LANCHOR0 add x22, x22, :lo12:.LC110 mov w19, 0 mov w23, 65535 -.L1334: +.L1339: ldrh w0, [x20, 44] cmp w0, w19 - bhi .L1338 + bhi .L1343 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldr x23, [sp, 48] ldp x29, x30, [sp], 80 ret -.L1333: +.L1338: mov w2, 0 add x1, x29, 76 mov w0, w21 bl log2phys ldr w0, [x29, 76] cmn w0, #1 - beq .L1332 + beq .L1337 lsr w0, w0, 10 bl P2V_block_in_plane ldr x2, [x19, 4088] @@ -9199,31 +9272,31 @@ FtlVpcCheckAndModify: ldrh w1, [x2, x0] add w1, w1, 1 strh w1, [x2, x0] -.L1332: +.L1337: add w21, w21, 1 - b .L1331 -.L1338: + b .L1336 +.L1343: ldr x0, [x20, 2376] ubfiz x21, x19, 1, 16 ldrh w2, [x0, x21] ldr x0, [x20, 4088] ldrh w3, [x0, x21] cmp w2, w3 - beq .L1336 + beq .L1341 cmp w2, w23 - beq .L1336 + beq .L1341 mov x0, x22 mov w1, w19 bl sftl_printk ldrh w0, [x20, 2424] cmp w0, w19 - beq .L1336 + beq .L1341 ldrh w0, [x20, 2520] cmp w0, w19 - beq .L1336 + beq .L1341 ldrh w0, [x20, 2472] cmp w0, w19 - beq .L1336 + beq .L1341 ldr x0, [x20, 4088] ldrh w1, [x0, x21] ldr x0, [x20, 2376] @@ -9232,10 +9305,10 @@ FtlVpcCheckAndModify: bl update_vpc_list bl l2p_flush bl FtlVpcTblFlush -.L1336: +.L1341: add w19, w19, 1 and w19, w19, 65535 - b .L1334 + b .L1339 .size FtlVpcCheckAndModify, .-FtlVpcCheckAndModify .align 2 .global allocate_new_data_superblock @@ -9251,7 +9324,7 @@ allocate_new_data_superblock: add x0, x19, :lo12:.LANCHOR0 ldrh w0, [x0, 44] cmp w0, w21 - bcs .L1344 + bcs .L1349 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -9259,18 +9332,18 @@ allocate_new_data_superblock: add x1, x1, 576 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1344: +.L1349: mov w0, 65535 cmp w21, w0 - beq .L1345 + beq .L1350 add x1, x19, :lo12:.LANCHOR0 ubfiz x0, x21, 1, 16 ldr x1, [x1, 2376] ldrh w0, [x1, x0] - cbz w0, .L1346 + cbz w0, .L1351 mov w0, w21 bl INSERT_DATA_LIST -.L1345: +.L1350: mov w0, 1 adrp x1, .LANCHOR3 strb w0, [x22, 8] @@ -9279,21 +9352,21 @@ allocate_new_data_superblock: mov x20, x1 ldrh w0, [x0, -48] cmp w0, w2 - beq .L1347 + beq .L1352 cmp w21, w0 - bne .L1348 + bne .L1353 add x19, x19, :lo12:.LANCHOR0 ubfiz x1, x0, 1, 16 ldr x2, [x19, 2376] ldrh w1, [x2, x1] - cbz w1, .L1349 -.L1348: + cbz w1, .L1354 +.L1353: bl update_vpc_list -.L1349: +.L1354: add x1, x20, :lo12:.LANCHOR3 mov w0, -1 strh w0, [x1, -48] -.L1347: +.L1352: mov x0, x22 bl allocate_data_superblock bl l2p_flush @@ -9305,10 +9378,10 @@ allocate_new_data_superblock: ldp x21, x22, [sp, 32] ldp x29, x30, [sp], 48 ret -.L1346: +.L1351: mov w0, w21 bl INSERT_FREE_LIST - b .L1345 + b .L1350 .size allocate_new_data_superblock, .-allocate_new_data_superblock .align 2 .global FtlProgPages @@ -9333,18 +9406,18 @@ FtlProgPages: add x25, x25, :lo12:.LANCHOR1 add x20, x0, 4 bl FlashProgPages -.L1355: +.L1360: cmp x20, x24 - beq .L1362 + beq .L1367 sub x23, x20, #4 - b .L1363 -.L1358: + b .L1368 +.L1363: ldr w0, [x20] lsr w0, w0, 10 bl P2V_block_in_plane ldrh w1, [x19] cmp w1, w0, uxth - bne .L1356 + bne .L1361 ldr x2, [x21, 2376] ubfiz x1, x1, 1, 16 ldrh w3, [x19, 4] @@ -9355,12 +9428,12 @@ FtlProgPages: ldrh w0, [x21, 106] strh w0, [x19, 2] strh wzr, [x19, 4] -.L1356: +.L1361: ldrh w0, [x19, 4] - cbnz w0, .L1357 + cbnz w0, .L1362 mov x0, x19 bl allocate_new_data_superblock -.L1357: +.L1362: ldr w0, [x21, 2816] add w0, w0, 1 str w0, [x21, 2816] @@ -9376,20 +9449,20 @@ FtlProgPages: ldrb w3, [x19, 9] mov x0, x23 bl FlashProgPages -.L1363: +.L1368: ldr w0, [x20, -4] cmn w0, #1 - beq .L1358 + beq .L1363 ldrb w1, [x19, 6] ldrh w0, [x21, 36] cmp w1, w0 - bcc .L1359 + bcc .L1364 adrp x0, .LC1 - mov w2, 936 + mov w2, 941 add x1, x25, 608 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1359: +.L1364: add x1, x29, 96 ldr w0, [x23, 4] mov w2, 1 @@ -9403,35 +9476,35 @@ FtlProgPages: and w1, w0, 65535 mov w23, w1 cmn w4, #1 - beq .L1360 + beq .L1365 ldr x2, [x21, 2376] ubfiz x0, x1, 1, 16 ldrh w0, [x2, x0] - cbnz w0, .L1361 + cbnz w0, .L1366 adrp x0, .LC111 mov w2, 0 add x0, x0, :lo12:.LC111 bl sftl_printk -.L1361: +.L1366: mov w0, w23 bl decrement_vpc_count -.L1360: +.L1365: add x20, x20, 32 - b .L1355 -.L1362: + b .L1360 +.L1367: add x22, x22, :lo12:.LANCHOR0 ldrb w1, [x19, 6] ldrh w0, [x22, 36] cmp w1, w0 - bcc .L1354 + bcc .L1359 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 - mov w2, 951 + mov w2, 956 add x1, x1, 608 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1354: +.L1359: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -9455,8 +9528,8 @@ FtlGcFreeTempBlock: ldrh w20, [x2, 2520] ldrh w1, [x2, 106] cmp w20, w3 - bne .L1370 -.L1380: + bne .L1375 +.L1385: adrp x0, .LANCHOR3-40 mov w2, 65535 str wzr, [x0, #:lo12:.LANCHOR3-40] @@ -9464,47 +9537,47 @@ FtlGcFreeTempBlock: add x1, x0, 2520 ldrh w3, [x0, 2520] cmp w3, w2 - bne .L1393 -.L1396: + bne .L1398 +.L1401: mov w0, 0 -.L1369: +.L1374: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] ldp x25, x26, [sp, 64] ldp x29, x30, [sp], 96 ret -.L1370: - cbz w0, .L1373 +.L1375: + cbz w0, .L1378 adrp x0, .LANCHOR2 add x0, x0, :lo12:.LANCHOR2 ldrh w4, [x0, 4] cmp w4, w3 - beq .L1374 -.L1375: + beq .L1379 +.L1380: mov w1, 2 -.L1373: +.L1378: add x21, x19, :lo12:.LANCHOR0 add x0, x21, 2520 bl FtlGcScanTempBlk str w0, [x29, 92] cmn w0, #1 - beq .L1376 + beq .L1381 ldr x1, [x21, 2384] ubfiz x20, x20, 1, 16 ldrh w0, [x1, x20] cmp w0, 4 - bls .L1377 + bls .L1382 sub w0, w0, #5 strh w0, [x1, x20] mov w0, 1 bl FtlEctTblFlush -.L1377: +.L1382: adrp x0, .LANCHOR3 add x1, x0, :lo12:.LANCHOR3 mov x20, x0 ldr w1, [x1, -40] - cbnz w1, .L1378 + cbnz w1, .L1383 add x19, x19, :lo12:.LANCHOR0 ldr w0, [x19, 2816] add w0, w0, 1 @@ -9513,32 +9586,32 @@ FtlGcFreeTempBlock: lsr w0, w0, 10 bl FtlBbmMapBadBlock bl FtlBbmTblFlush -.L1378: +.L1383: add x0, x20, :lo12:.LANCHOR3 str wzr, [x0, -40] -.L1389: +.L1394: mov w0, 1 - b .L1369 -.L1374: + b .L1374 +.L1379: strh wzr, [x0, 4] ldrh w0, [x2, 2416] cmp w0, 17 - bhi .L1375 - b .L1373 -.L1376: + bhi .L1380 + b .L1378 +.L1381: adrp x0, .LANCHOR2+4 ldrh w1, [x0, #:lo12:.LANCHOR2+4] mov w0, 65535 cmp w1, w0 - bne .L1389 - b .L1380 -.L1393: + bne .L1394 + b .L1385 +.L1398: ldrh w2, [x0, 3304] ldrb w1, [x1, 7] ldrh w0, [x0, 106] mul w0, w1, w0 cmp w2, w0 - beq .L1381 + beq .L1386 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -9546,7 +9619,7 @@ FtlGcFreeTempBlock: add x1, x1, 624 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1381: +.L1386: add x0, x19, :lo12:.LANCHOR0 adrp x22, .LANCHOR1 add x22, x22, :lo12:.LANCHOR1 @@ -9564,20 +9637,20 @@ FtlGcFreeTempBlock: ldrh w1, [x0, 3304] add w1, w1, w2 str w1, [x0, 2608] -.L1382: +.L1387: add x21, x19, :lo12:.LANCHOR0 ldrh w0, [x21, 3304] cmp w0, w20 - bhi .L1386 + bhi .L1391 mov w0, -1 bl decrement_vpc_count ldrh w0, [x21, 2520] ldr x2, [x21, 2376] ubfiz x1, x0, 1, 16 ldrh w1, [x2, x1] - cbz w1, .L1387 + cbz w1, .L1392 bl INSERT_DATA_LIST -.L1388: +.L1393: add x19, x19, :lo12:.LANCHOR0 mov w20, -1 strh wzr, [x19, 3304] @@ -9589,12 +9662,12 @@ FtlGcFreeTempBlock: ldrh w1, [x19, 2416] add w0, w0, w0, lsl 1 cmp w1, w0, lsr 2 - ble .L1396 + ble .L1401 mov w0, 20 strh w20, [x19, 2672] strh w0, [x19, 3232] - b .L1396 -.L1386: + b .L1401 +.L1391: mov w24, 12 ldr x26, [x21, 3312] ldr w0, [x21, 2584] @@ -9602,12 +9675,12 @@ FtlGcFreeTempBlock: add x23, x26, x24 ldr w1, [x23, 8] cmp w1, w0 - bcc .L1383 + bcc .L1388 mov w2, 168 mov x1, x22 mov x0, x25 bl sftl_printk -.L1383: +.L1388: ldr w0, [x23, 8] add x1, x29, 92 mov w2, 0 @@ -9615,7 +9688,7 @@ FtlGcFreeTempBlock: ldr w0, [x26, x24] ldr w1, [x29, 92] cmp w0, w1 - bne .L1384 + bne .L1389 lsr w0, w0, 10 bl P2V_block_in_plane mov w21, w0 @@ -9624,22 +9697,22 @@ FtlGcFreeTempBlock: add x1, x23, 4 bl log2phys mov w0, w21 -.L1395: +.L1400: bl decrement_vpc_count -.L1385: +.L1390: add w20, w20, 1 and w20, w20, 65535 - b .L1382 -.L1384: + b .L1387 +.L1389: ldr w0, [x23, 4] cmp w1, w0 - beq .L1385 + beq .L1390 add x0, x19, :lo12:.LANCHOR0 ldrh w0, [x0, 2520] - b .L1395 -.L1387: + b .L1400 +.L1392: bl INSERT_FREE_LIST - b .L1388 + b .L1393 .size FtlGcFreeTempBlock, .-FtlGcFreeTempBlock .align 2 .global FtlGcPageRecovery @@ -9657,7 +9730,7 @@ FtlGcPageRecovery: ldrh w1, [x19, 2522] ldrh w0, [x19, 106] cmp w1, w0 - bcc .L1397 + bcc .L1402 adrp x19, .LANCHOR3 add x19, x19, :lo12:.LANCHOR3 sub x0, x19, #184 @@ -9665,7 +9738,7 @@ FtlGcPageRecovery: mov w0, 0 bl FtlGcFreeTempBlock str wzr, [x19, -40] -.L1397: +.L1402: ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 32 ret @@ -9714,25 +9787,25 @@ Ftl_gc_temp_data_write_back: ldr x0, [x19, 4032] bl FlashProgPages mov w10, 0 -.L1403: +.L1408: ldr w1, [x19, 3248] cmp w10, w1 - bcc .L1406 + bcc .L1411 ldr x0, [x19, 4032] bl FtlGcBufFree str wzr, [x19, 3248] ldrh w0, [x19, 2524] - cbnz w0, .L1407 + cbnz w0, .L1412 mov w0, 1 bl FtlGcFreeTempBlock - b .L1409 -.L1406: + b .L1414 +.L1411: ldr x0, [x19, 4032] ubfiz x1, x10, 5, 16 add x3, x0, x1 ldr w0, [x0, x1] cmn w0, #1 - bne .L1404 + bne .L1409 ldrh w3, [x19, 2520] ldr x2, [x19, 2376] strh wzr, [x2, x3, lsl 1] @@ -9747,23 +9820,23 @@ Ftl_gc_temp_data_write_back: bl FtlBbmMapBadBlock bl FtlBbmTblFlush bl FtlGcPageVarInit -.L1409: +.L1414: mov w0, 1 -.L1402: +.L1407: ldr x19, [sp, 16] ldp x29, x30, [sp], 32 ret -.L1404: +.L1409: ldr x0, [x3, 16] ldr w1, [x3, 4] ldp w2, w0, [x0, 8] bl FtlGcUpdatePage add w10, w10, 1 and w10, w10, 65535 - b .L1403 -.L1407: + b .L1408 +.L1412: mov w0, 0 - b .L1402 + b .L1407 .size Ftl_gc_temp_data_write_back, .-Ftl_gc_temp_data_write_back .align 2 .global Ftl_get_new_temp_ppa @@ -9778,10 +9851,10 @@ Ftl_get_new_temp_ppa: ldrh w2, [x0, 2520] mov w0, 65535 cmp w2, w0 - beq .L1411 + beq .L1416 ldrh w0, [x1, 4] - cbnz w0, .L1412 -.L1411: + cbnz w0, .L1417 +.L1416: add x20, x19, :lo12:.LANCHOR0 mov w0, 0 bl FtlGcFreeTempBlock @@ -9794,7 +9867,7 @@ Ftl_get_new_temp_ppa: mov w0, 0 bl FtlEctTblFlush bl FtlVpcTblFlush -.L1412: +.L1417: add x0, x19, :lo12:.LANCHOR0 add x0, x0, 2520 bl get_new_active_ppa @@ -9816,23 +9889,23 @@ rk_ftl_garbage_collect: stp x25, x26, [sp, 64] stp x27, x28, [sp, 80] ldr w2, [x1, 4008] - cbnz w2, .L1485 + cbnz w2, .L1490 ldrh w2, [x1, 2400] cmp w2, 47 - bls .L1485 + bls .L1490 mov w23, w0 adrp x0, .LANCHOR2+4 ldrh w2, [x0, #:lo12:.LANCHOR2+4] mov w0, 65535 cmp w2, w0 - bne .L1416 -.L1419: + bne .L1421 +.L1424: add x1, x19, :lo12:.LANCHOR0 mov w2, 65535 ldrh w4, [x1, 3322] cmp w4, w2 - bne .L1417 -.L1418: + bne .L1422 +.L1423: add x21, x19, :lo12:.LANCHOR0 mov w20, 65535 ldr w1, [x21, 3236] @@ -9841,93 +9914,93 @@ rk_ftl_garbage_collect: add w1, w1, w23, lsl 7 str w1, [x21, 3236] cmp w0, w20 - bne .L1420 + bne .L1425 ldrh w20, [x21, 2520] cmp w20, w0 - bne .L1488 + bne .L1493 ldrh w22, [x21, 3320] cmp w22, w20 - bne .L1420 + bne .L1425 ldrh w0, [x21, 2416] mov w2, 1024 cmp w0, 24 mov w0, 5120 csel w0, w0, w2, cc cmp w1, w0 - bls .L1491 + bls .L1496 adrp x0, .LANCHOR3+112 str wzr, [x21, 3236] strh wzr, [x0, #:lo12:.LANCHOR3+112] bl GetSwlReplaceBlock and w20, w0, 65535 cmp w20, w22 - bne .L1492 + bne .L1497 ldrh w1, [x21, 2416] ldrh w0, [x21, 3234] cmp w1, w0 - bcs .L1423 + bcs .L1428 mov w0, 64 bl List_get_gc_head_node and w0, w0, 65535 cmp w0, w20 - beq .L1425 + beq .L1430 ldr x1, [x21, 2376] ubfiz x0, x0, 1, 16 ldrh w0, [x1, x0] cmp w0, 7 - bhi .L1426 + bhi .L1431 mov w0, 0 bl List_get_gc_head_node and w22, w0, 65535 mov w0, 128 strh w0, [x21, 3234] cmp w22, w20 - bne .L1422 -.L1425: + bne .L1427 +.L1430: bl FtlGcReFreshBadBlk -.L1420: +.L1425: cmp w23, 0 mov w0, 65535 ccmp w20, w0, 0, eq - bne .L1428 + bne .L1433 add x1, x19, :lo12:.LANCHOR0 ldrh w0, [x1, 2416] cmp w0, 24 - bhi .L1493 + bhi .L1498 cmp w0, 16 ldrh w21, [x1, 106] - bls .L1430 + bls .L1435 lsr w21, w21, 5 -.L1429: +.L1434: add x1, x19, :lo12:.LANCHOR0 ldrh w2, [x1, 3232] cmp w2, w0 - bcs .L1433 + bcs .L1438 ldrh w0, [x1, 2520] mov w2, 65535 cmp w0, w2 - bne .L1434 + bne .L1439 ldrh w2, [x1, 3320] cmp w2, w0 - bne .L1434 + bne .L1439 adrp x0, .LANCHOR3+112 ldrh w0, [x0, #:lo12:.LANCHOR3+112] - cbnz w0, .L1435 + cbnz w0, .L1440 ldr w2, [x1, 2584] ldr w3, [x1, 2580] add w2, w2, w2, lsl 1 cmp w3, w2, lsr 2 - bcs .L1436 -.L1435: + bcs .L1441 +.L1440: add x2, x19, :lo12:.LANCHOR0 ldrh w1, [x2, 2652] add w1, w1, w1, lsl 1 asr w1, w1, 2 strh w1, [x2, 3232] -.L1437: +.L1442: add x19, x19, :lo12:.LANCHOR0 str wzr, [x19, 3244] -.L1414: +.L1419: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -9935,42 +10008,42 @@ rk_ftl_garbage_collect: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 128 ret -.L1416: +.L1421: ldrh w1, [x1, 2520] cmp w1, w0 - beq .L1419 + beq .L1424 mov w0, 1 bl FtlGcFreeTempBlock - cbz w0, .L1419 + cbz w0, .L1424 mov w0, 1 - b .L1414 -.L1417: + b .L1419 +.L1422: ldrh w0, [x1, 3320] cmp w0, w2 - bne .L1418 + bne .L1423 ldrh w3, [x1, 3324] cmp w3, w0 - beq .L1418 + beq .L1423 ldrh w2, [x1, 3326] cmp w2, w0 - beq .L1418 + beq .L1423 mov w0, -1 strh w4, [x1, 3320] strh w3, [x1, 3322] strh w2, [x1, 3324] strh w0, [x1, 3326] - b .L1418 -.L1426: + b .L1423 +.L1431: mov w0, 64 -.L1517: +.L1522: strh w0, [x21, 3234] - b .L1425 -.L1423: + b .L1430 +.L1428: mov w0, 80 - b .L1517 -.L1492: + b .L1522 +.L1497: mov w22, w20 -.L1422: +.L1427: add x0, x19, :lo12:.LANCHOR0 ubfiz x1, x22, 1, 32 mov w20, w22 @@ -9984,72 +10057,72 @@ rk_ftl_garbage_collect: adrp x0, .LC112 add x0, x0, :lo12:.LC112 bl sftl_printk - b .L1425 -.L1488: + b .L1430 +.L1493: mov w20, w0 - b .L1420 -.L1491: + b .L1425 +.L1496: mov w20, w22 - b .L1420 -.L1430: + b .L1425 +.L1435: cmp w0, 12 - bls .L1431 + bls .L1436 lsr w21, w21, 4 - b .L1429 -.L1431: + b .L1434 +.L1436: mov w1, w21 cmp w0, 9 lsr w21, w21, 2 csel w21, w21, w1, cs - b .L1429 -.L1493: + b .L1434 +.L1498: mov w21, 1 - b .L1429 -.L1436: + b .L1434 +.L1441: mov w2, 18 strh w2, [x1, 3232] - b .L1437 -.L1434: + b .L1442 +.L1439: add x1, x19, :lo12:.LANCHOR0 ldrh w0, [x1, 2652] add w0, w0, w0, lsl 1 asr w0, w0, 2 strh w0, [x1, 3232] -.L1433: +.L1438: add x0, x19, :lo12:.LANCHOR0 ldrh w0, [x0, 3328] - cbz w0, .L1494 + cbz w0, .L1499 add w21, w21, 32 and w21, w21, 65535 -.L1494: +.L1499: mov w20, 65535 -.L1439: +.L1444: add x0, x19, :lo12:.LANCHOR0 mov w2, 65535 ldrh w1, [x0, 2672] cmp w1, w2 - bne .L1448 + bne .L1453 cmp w20, w1 - beq .L1449 + beq .L1454 strh w20, [x0, 2672] -.L1450: +.L1455: add x5, x19, :lo12:.LANCHOR0 mov w1, 65535 ldrh w0, [x5, 2672] strb wzr, [x5, 2680] cmp w0, w1 - beq .L1448 + beq .L1453 bl IsBlkInGcList - cbz w0, .L1453 + cbz w0, .L1458 mov w0, -1 strh w0, [x5, 2672] -.L1453: +.L1458: add x22, x19, :lo12:.LANCHOR0 mov w0, 65535 add x23, x22, 2672 ldrh w1, [x22, 2672] cmp w1, w0 - beq .L1448 + beq .L1453 mov x0, x23 bl make_superblock adrp x0, .LANCHOR3 @@ -10061,87 +10134,87 @@ rk_ftl_garbage_collect: strh wzr, [x0, 114] ldrh w1, [x1, x2, lsl 1] strh w1, [x0, 116] -.L1448: +.L1453: add x0, x19, :lo12:.LANCHOR0 ldrh w1, [x0, 2672] ldrh w2, [x0, 2424] cmp w2, w1 - beq .L1454 + beq .L1459 ldrh w0, [x0, 2472] cmp w0, w1 - beq .L1454 + beq .L1459 adrp x24, .LANCHOR1 add x24, x24, :lo12:.LANCHOR1 add x24, x24, 648 -.L1455: +.L1460: add x22, x19, :lo12:.LANCHOR0 mov w0, 65535 ldrh w23, [x22, 2672] cmp w23, w0 - bne .L1456 + bne .L1461 mov w25, 2 str wzr, [x22, 3244] -.L1457: +.L1462: ldrh w5, [x22, 3240] mov w0, w5 bl List_get_gc_head_node and w6, w0, 65535 strh w6, [x22, 2672] cmp w6, w23 - bne .L1458 + bne .L1463 strh wzr, [x22, 3240] mov w0, 8 - b .L1414 -.L1428: + b .L1419 +.L1433: add x5, x19, :lo12:.LANCHOR0 ldrh w1, [x5, 2520] cmp w1, w0 - bne .L1497 + bne .L1502 ldrh w0, [x5, 3320] cmp w0, w1 - bne .L1497 + bne .L1502 cmp w20, w0 - bne .L1497 + bne .L1502 ldrh w0, [x5, 2672] cmp w0, w20 - beq .L1440 -.L1497: + beq .L1445 +.L1502: mov w21, 1 - b .L1439 -.L1440: + b .L1444 +.L1445: ldrh w7, [x5, 2416] adrp x21, .LANCHOR3 ldrh w0, [x5, 3232] str wzr, [x5, 3244] cmp w0, w7 - bcs .L1441 + bcs .L1446 add x0, x21, :lo12:.LANCHOR3 ldrh w0, [x0, 112] - cbnz w0, .L1442 + cbnz w0, .L1447 ldr w0, [x5, 2584] ldr w1, [x5, 2580] add w0, w0, w0, lsl 1 cmp w1, w0, lsr 2 - bcs .L1443 -.L1442: + bcs .L1448 +.L1447: add x19, x19, :lo12:.LANCHOR0 ldrh w0, [x19, 2652] add w0, w0, w0, lsl 1 asr w0, w0, 2 strh w0, [x19, 3232] -.L1444: +.L1449: bl FtlReadRefresh -.L1518: +.L1523: add x21, x21, :lo12:.LANCHOR3 - b .L1519 -.L1443: + b .L1524 +.L1448: mov w0, 18 strh w0, [x5, 3232] - b .L1444 -.L1441: + b .L1449 +.L1446: add x21, x21, :lo12:.LANCHOR3 ldrh w0, [x21, 112] - cbnz w0, .L1497 + cbnz w0, .L1502 ldrh w6, [x5, 2652] add w0, w6, w6, lsl 1 asr w0, w0, 2 @@ -10157,55 +10230,55 @@ rk_ftl_garbage_collect: mov w2, 2 sdiv w0, w0, w2 cmp w1, w0 - ble .L1446 + ble .L1451 sub w6, w6, #1 cmp w7, w6 - blt .L1446 + blt .L1451 bl FtlReadRefresh -.L1519: +.L1524: ldrh w0, [x21, 112] - b .L1414 -.L1446: - cbnz w1, .L1497 + b .L1419 +.L1451: + cbnz w1, .L1502 add x19, x19, :lo12:.LANCHOR0 mov w0, -1 bl decrement_vpc_count ldrh w0, [x19, 2416] add w0, w0, 1 - b .L1414 -.L1449: + b .L1419 +.L1454: ldrh w1, [x0, 3320] cmp w1, w20 - beq .L1450 + beq .L1455 ldr x2, [x0, 2376] ubfiz x1, x1, 1, 16 ldrh w1, [x2, x1] - cbnz w1, .L1451 + cbnz w1, .L1456 mov w1, -1 strh w1, [x0, 3320] -.L1451: +.L1456: add x0, x19, :lo12:.LANCHOR0 ldrh w1, [x0, 3320] strh w1, [x0, 2672] mov w1, -1 strh w1, [x0, 3320] - b .L1450 -.L1454: + b .L1455 +.L1459: add x19, x19, :lo12:.LANCHOR0 mov w0, -1 strh w0, [x19, 2672] -.L1520: +.L1525: adrp x0, .LANCHOR3+112 ldrh w0, [x0, #:lo12:.LANCHOR3+112] - b .L1414 -.L1458: + b .L1419 +.L1463: mov w0, w6 bl IsBlkInGcList add w5, w5, 1 - cbz w0, .L1459 + cbz w0, .L1464 strh w5, [x22, 3240] - b .L1457 -.L1459: + b .L1462 +.L1464: ldrh w4, [x22, 36] ubfiz x1, x6, 1, 16 ldrh w0, [x22, 106] @@ -10216,69 +10289,69 @@ rk_ftl_garbage_collect: ldrh w3, [x2, x1] sdiv w4, w0, w25 cmp w3, w4 - bgt .L1461 + bgt .L1466 cmp w5, 48 - bls .L1462 + bls .L1467 cmp w3, 8 - bls .L1462 + bls .L1467 ldrh w3, [x22, 3292] cmp w3, 35 - bhi .L1462 -.L1461: + bhi .L1467 +.L1466: strh wzr, [x22, 3240] -.L1462: +.L1467: ldrh w1, [x2, x1] cmp w0, w1 - bgt .L1463 + bgt .L1468 cmp w20, w23 - bne .L1463 + bne .L1468 add x19, x19, :lo12:.LANCHOR0 mov w0, -1 strh wzr, [x19, 3240] strh w0, [x19, 2672] - b .L1520 -.L1463: - cbnz w1, .L1464 + b .L1525 +.L1468: + cbnz w1, .L1469 mov w0, -1 bl decrement_vpc_count ldrh w0, [x22, 3240] add w0, w0, 1 strh w0, [x22, 3240] - b .L1457 -.L1464: + b .L1462 +.L1469: add x0, x19, :lo12:.LANCHOR0 strb wzr, [x0, 2680] ldrh w0, [x0, 2424] cmp w0, w6 - bne .L1465 + bne .L1470 adrp x0, .LC1 mov w2, 665 mov x1, x24 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1465: +.L1470: add x0, x19, :lo12:.LANCHOR0 ldrh w1, [x0, 2672] ldrh w0, [x0, 2472] cmp w1, w0 - bne .L1466 + bne .L1471 adrp x0, .LC1 mov w2, 666 mov x1, x24 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1466: +.L1471: add x0, x19, :lo12:.LANCHOR0 ldrh w1, [x0, 2672] ldrh w0, [x0, 2520] cmp w1, w0 - bne .L1467 + bne .L1472 adrp x0, .LC1 mov w2, 667 mov x1, x24 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1467: +.L1472: add x23, x19, :lo12:.LANCHOR0 add x22, x23, 2672 mov x0, x22 @@ -10292,7 +10365,7 @@ rk_ftl_garbage_collect: strh w1, [x0, 116] strh wzr, [x23, 2674] strb wzr, [x23, 2678] -.L1456: +.L1461: bl FtlReadRefresh add x0, x19, :lo12:.LANCHOR0 mov w1, 1 @@ -10301,14 +10374,14 @@ rk_ftl_garbage_collect: ldrh w0, [x0, 2674] add w1, w0, w21 cmp w1, w26 - ble .L1468 + ble .L1473 sub w21, w26, w0 and w21, w21, 65535 -.L1468: +.L1473: mov w25, 0 -.L1469: +.L1474: cmp w21, w25, uxth - bls .L1477 + bls .L1482 add x0, x19, :lo12:.LANCHOR0 mov w23, 0 add x3, x0, 2688 @@ -10317,11 +10390,11 @@ rk_ftl_garbage_collect: ldrh w4, [x0, 2674] ldrh w7, [x0, 36] add w4, w4, w25 - b .L1478 -.L1471: + b .L1483 +.L1476: ldrh w2, [x3] cmp w2, w6 - beq .L1470 + beq .L1475 ldr x5, [x0, 3280] ubfiz x8, x23, 5, 16 add w23, w23, 1 @@ -10329,13 +10402,13 @@ rk_ftl_garbage_collect: add x5, x5, x8 and w23, w23, 65535 str w2, [x5, 4] -.L1470: +.L1475: add w1, w1, 1 add x3, x3, 2 and w1, w1, 65535 -.L1478: +.L1483: cmp w1, w7 - bne .L1471 + bne .L1476 add x22, x19, :lo12:.LANCHOR0 mov w1, w23 mov x27, 0 @@ -10344,32 +10417,32 @@ rk_ftl_garbage_collect: bl FlashReadPages ubfiz x0, x23, 5, 16 str x0, [x29, 104] -.L1472: +.L1477: ldr x0, [x29, 104] cmp x27, x0 - bne .L1476 + bne .L1481 add w25, w25, 1 - b .L1469 -.L1476: + b .L1474 +.L1481: ldr x0, [x22, 3280] add x1, x0, x27 ldr w0, [x0, x27] cmn w0, #1 - beq .L1473 + beq .L1478 ldr x23, [x1, 16] mov w0, 61589 ldrh w1, [x23] cmp w1, w0 - bne .L1473 + bne .L1478 ldr w28, [x23, 8] cmn w28, #1 - bne .L1474 + bne .L1479 adrp x0, .LC1 mov w2, 703 mov x1, x24 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1474: +.L1479: mov w2, 0 add x1, x29, 124 mov w0, w28 @@ -10379,7 +10452,7 @@ rk_ftl_garbage_collect: add x0, x0, x27 ldr w2, [x0, 4] cmp w2, w1 - bne .L1473 + bne .L1478 adrp x28, .LANCHOR3 add x2, x28, :lo12:.LANCHOR3 ldr w0, [x0, 24] @@ -10419,45 +10492,45 @@ rk_ftl_garbage_collect: ldrb w1, [x22, 2527] ldr w0, [x22, 3248] cmp w1, w0 - beq .L1475 + beq .L1480 ldrh w0, [x22, 2524] - cbnz w0, .L1473 -.L1475: + cbnz w0, .L1478 +.L1480: bl Ftl_gc_temp_data_write_back - cbz w0, .L1473 + cbz w0, .L1478 add x19, x19, :lo12:.LANCHOR0 add x28, x28, :lo12:.LANCHOR3 str wzr, [x19, 4008] ldrh w0, [x28, 112] - b .L1414 -.L1473: + b .L1419 +.L1478: add x27, x27, 32 - b .L1472 -.L1477: + b .L1477 +.L1482: add x22, x19, :lo12:.LANCHOR0 ldrh w0, [x22, 2674] add w21, w21, w0 and w21, w21, 65535 strh w21, [x22, 2674] cmp w26, w21 - bhi .L1479 + bhi .L1484 ldr w0, [x22, 3248] adrp x21, .LANCHOR3 - cbz w0, .L1480 + cbz w0, .L1485 bl Ftl_gc_temp_data_write_back - cbz w0, .L1480 + cbz w0, .L1485 str wzr, [x22, 4008] - b .L1518 -.L1480: + b .L1523 +.L1485: add x21, x21, :lo12:.LANCHOR3 ldrh w0, [x21, 114] - cbnz w0, .L1481 + cbnz w0, .L1486 add x22, x19, :lo12:.LANCHOR0 ldrh w1, [x22, 2672] ldr x3, [x22, 2376] ubfiz x2, x1, 1, 16 ldrh w4, [x3, x2] - cbz w4, .L1481 + cbz w4, .L1486 ldrh w5, [x21, 116] mov w3, 0 ldrh w2, [x22, 2674] @@ -10471,27 +10544,27 @@ rk_ftl_garbage_collect: bl update_vpc_list bl l2p_flush bl FtlVpcTblFlush -.L1481: +.L1486: add x0, x19, :lo12:.LANCHOR0 mov w1, -1 strh w1, [x0, 2672] -.L1479: +.L1484: add x1, x19, :lo12:.LANCHOR0 ldrh w0, [x1, 2416] cmp w0, 2 - bhi .L1482 + bhi .L1487 ldrh w21, [x1, 106] - b .L1455 -.L1482: + b .L1460 +.L1487: str wzr, [x1, 4008] adrp x1, .LANCHOR3+112 ldrh w1, [x1, #:lo12:.LANCHOR3+112] cmp w1, 0 csinc w0, w1, w0, ne - b .L1414 -.L1485: + b .L1419 +.L1490: mov w0, 0 - b .L1414 + b .L1419 .size rk_ftl_garbage_collect, .-rk_ftl_garbage_collect .align 2 .global sftl_gc @@ -10522,13 +10595,13 @@ FtlRead: mov w27, w2 stp x21, x22, [sp, 48] stp x25, x26, [sp, 80] - bne .L1524 + bne .L1529 mov x2, x3 mov w1, w27 add w0, w19, 256 bl FtlVendorPartRead mov w21, w0 -.L1523: +.L1528: mov w0, w21 ldp x19, x20, [sp, 32] ldp x21, x22, [sp, 48] @@ -10538,7 +10611,7 @@ FtlRead: ldp x29, x30, [sp, 16] add sp, sp, 192 ret -.L1524: +.L1529: add w0, w1, w2 str w0, [x29, 144] adrp x0, .LANCHOR0 @@ -10547,11 +10620,11 @@ FtlRead: str x0, [x29, 112] ldr w1, [x8, 144] cmp w2, w1 - bhi .L1545 + bhi .L1550 adrp x0, .LANCHOR2 ldr w21, [x0, #:lo12:.LANCHOR2] cmn w21, #1 - beq .L1523 + beq .L1528 ldrh w0, [x8, 62] sub w24, w2, #1 mov x25, x8 @@ -10570,42 +10643,42 @@ FtlRead: adrp x0, .LC96 add x0, x0, :lo12:.LC96 str x0, [x29, 104] -.L1526: - cbnz w22, .L1543 +.L1531: + cbnz w22, .L1548 ldr x0, [x29, 112] add x0, x0, :lo12:.LANCHOR0 ldrh w1, [x0, 3328] - cbnz w1, .L1544 + cbnz w1, .L1549 ldrh w0, [x0, 2416] cmp w0, 31 - bhi .L1523 -.L1544: + bhi .L1528 +.L1549: mov w1, 1 mov w0, 0 bl rk_ftl_garbage_collect - b .L1523 -.L1543: + b .L1528 +.L1548: add x1, x29, 172 mov w2, 0 mov w0, w20 bl log2phys ldr w1, [x29, 172] cmn w1, #1 - bne .L1527 + bne .L1532 mov w4, 0 -.L1528: +.L1533: ldrh w0, [x25, 62] cmp w4, w0 - bcc .L1530 -.L1531: + bcc .L1535 +.L1536: add w20, w20, 1 subs w22, w22, #1 - beq .L1535 + beq .L1540 ldrh w0, [x25, 36] cmp w28, w0, lsl 2 - bne .L1526 -.L1535: - cbz w28, .L1526 + bne .L1531 +.L1540: + cbz w28, .L1531 ldr x0, [x25, 4024] mov w1, w28 mov w2, 0 @@ -10622,30 +10695,30 @@ FtlRead: ubfiz x0, x28, 5, 32 mov x28, 0 str x0, [x29, 120] -.L1542: +.L1547: ldr x0, [x25, 4024] add x0, x0, x28 ldr w1, [x0, 24] cmp w26, w1 - bne .L1537 + bne .L1542 ldr x1, [x0, 8] ldr x0, [x25, 4000] cmp x1, x0 - bne .L1538 + bne .L1543 ldr x0, [x29, 136] ldr w2, [x29, 132] add x1, x1, x0 mov x0, x23 -.L1555: +.L1560: bl ftl_memcpy -.L1538: +.L1543: ldr x0, [x25, 4024] add x0, x0, x28 ldr x1, [x0, 16] ldr w2, [x0, 24] ldr w1, [x1, 8] cmp w2, w1 - beq .L1539 + beq .L1544 ldr w1, [x25, 2792] add w1, w1, 1 str w1, [x25, 2792] @@ -10659,38 +10732,38 @@ FtlRead: ldr w2, [x0, 4] ldr x0, [x29, 104] bl sftl_printk -.L1539: +.L1544: ldr x0, [x25, 4024] add x1, x0, x28 ldr w2, [x0, x28] cmn w2, #1 - bne .L1540 + bne .L1545 ldr w0, [x25, 2792] mov w21, w2 add w0, w0, 1 str w0, [x25, 2792] -.L1540: +.L1545: ldr w0, [x1] cmp w0, 256 - bne .L1541 + bne .L1546 ldr w0, [x1, 4] lsr w0, w0, 10 bl P2V_block_in_plane bl FtlGcRefreshBlock -.L1541: +.L1546: ldr x0, [x29, 120] add x28, x28, 32 cmp x0, x28 - bne .L1542 + bne .L1547 mov w28, 0 - b .L1526 -.L1530: + b .L1531 +.L1535: madd w0, w20, w0, w4 cmp w19, w0 - bhi .L1529 + bhi .L1534 ldr w1, [x29, 144] cmp w1, w0 - bls .L1529 + bls .L1534 sub w0, w0, w19 str w4, [x29, 136] lsl w0, w0, 9 @@ -10699,17 +10772,17 @@ FtlRead: add x0, x23, x0 bl ftl_memset ldr w4, [x29, 136] -.L1529: +.L1534: add w4, w4, 1 - b .L1528 -.L1527: + b .L1533 +.L1532: ldr x0, [x25, 4024] ubfiz x2, x28, 5, 32 cmp w20, w26 add x0, x0, x2 str w1, [x0, 4] ldrh w0, [x25, 62] - bne .L1532 + bne .L1537 ldr x1, [x25, 4024] ldr x4, [x25, 4000] add x1, x1, x2 @@ -10722,9 +10795,9 @@ FtlRead: csel w3, w27, w4, ls str w3, [x29, 152] cmp w3, w0 - bne .L1533 + bne .L1538 str x23, [x1, 8] -.L1533: +.L1538: ldr x0, [x25, 4024] ldr x1, [x25, 3992] add x2, x0, x2 @@ -10735,10 +10808,10 @@ FtlRead: and x0, x0, 4294967292 add x0, x1, x0 str x0, [x2, 16] - b .L1531 -.L1532: + b .L1536 +.L1537: cmp w20, w24 - bne .L1534 + bne .L1539 ldr x4, [x25, 4024] ldr x1, [x25, 3984] add x4, x4, x2 @@ -10748,13 +10821,13 @@ FtlRead: sub w3, w3, w1 str w3, [x29, 148] cmp w0, w3 - bne .L1533 + bne .L1538 sub w1, w1, w19 lsl w1, w1, 9 add x1, x23, x1 str x1, [x4, 8] - b .L1533 -.L1534: + b .L1538 +.L1539: ldr x1, [x25, 4024] mul w0, w0, w20 add x1, x1, x2 @@ -10762,24 +10835,24 @@ FtlRead: lsl w0, w0, 9 add x0, x23, x0 str x0, [x1, 8] - b .L1533 -.L1537: + b .L1538 +.L1542: cmp w24, w1 - bne .L1538 + bne .L1543 ldr x1, [x0, 8] ldr x0, [x25, 3984] cmp x1, x0 - bne .L1538 + bne .L1543 ldrh w0, [x25, 62] ldr w2, [x29, 128] mul w0, w0, w24 sub w0, w0, w19 lsl w0, w0, 9 add x0, x23, x0 - b .L1555 -.L1545: + b .L1560 +.L1550: mov w21, -1 - b .L1523 + b .L1528 .size FtlRead, .-FtlRead .align 2 .global sftl_read @@ -10811,12 +10884,12 @@ FtlWrite: stp x21, x22, [sp, 32] stp x25, x26, [sp, 64] str w2, [x29, 156] - bne .L1559 + bne .L1564 add w0, w1, 256 ldr w1, [x29, 156] mov x2, x3 bl FtlVendorPartWrite -.L1558: +.L1563: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -10824,7 +10897,7 @@ FtlWrite: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 224 ret -.L1559: +.L1564: ldr w0, [x29, 156] adrp x19, .LANCHOR0 add x1, x19, :lo12:.LANCHOR0 @@ -10833,13 +10906,13 @@ FtlWrite: ldr w0, [x1, 144] ldr w2, [x29, 148] cmp w2, w0 - bhi .L1594 + bhi .L1599 adrp x2, .LANCHOR2 str x2, [x29, 136] add x3, x2, :lo12:.LANCHOR2 ldr w0, [x2, #:lo12:.LANCHOR2] cmn w0, #1 - beq .L1558 + beq .L1563 adrp x0, .LANCHOR3+120 mov w2, 2048 add x20, x1, 2424 @@ -10857,54 +10930,54 @@ FtlWrite: add w0, w0, w25 str w0, [x1, 2596] ldr w0, [x3, 8] - cbz w0, .L1561 + cbz w0, .L1566 ldrh w0, [x20, 4] add x1, x1, 2472 cmp w0, 0 csel x20, x1, x20, eq -.L1561: +.L1566: adrp x22, .LANCHOR1 add x22, x22, :lo12:.LANCHOR1 mov w21, w26 add x22, x22, 672 -.L1562: - cbnz w25, .L1590 +.L1567: + cbnz w25, .L1595 ldr w1, [x29, 132] add x19, x19, :lo12:.LANCHOR0 mov w0, 0 bl rk_ftl_garbage_collect ldrh w0, [x19, 2416] cmp w0, 15 - bls .L1591 -.L1593: + bls .L1596 +.L1598: mov w0, 0 - b .L1558 -.L1590: + b .L1563 +.L1595: add x0, x19, :lo12:.LANCHOR0 ldrb w1, [x20, 6] ldrh w0, [x0, 36] cmp w1, w0 - bcc .L1563 + bcc .L1568 adrp x0, .LC1 - mov w2, 991 + mov w2, 996 mov x1, x22 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1563: +.L1568: ldrh w0, [x20, 4] - cbnz w0, .L1564 + cbnz w0, .L1569 add x0, x19, :lo12:.LANCHOR0 add x1, x0, 2424 cmp x20, x1 - bne .L1565 + bne .L1570 add x0, x0, 2472 ldrh w1, [x0, 4] - cbnz w1, .L1566 + cbnz w1, .L1571 bl allocate_new_data_superblock ldr x0, [x29, 136] add x0, x0, :lo12:.LANCHOR2 str wzr, [x0, 8] -.L1566: +.L1571: add x20, x19, :lo12:.LANCHOR0 add x23, x20, 2424 add x20, x20, 2472 @@ -10915,12 +10988,12 @@ FtlWrite: ldr w0, [x0, 8] cmp w0, 0 csel x20, x20, x23, ne -.L1567: +.L1572: ldrh w0, [x20, 4] - cbnz w0, .L1564 + cbnz w0, .L1569 mov x0, x20 bl allocate_new_data_superblock -.L1564: +.L1569: ldrh w0, [x20, 4] ldrb w1, [x20, 7] cmp w0, w25 @@ -10933,21 +11006,21 @@ FtlWrite: ldrb w1, [x20, 6] ldrh w0, [x0, 36] cmp w1, w0 - bcc .L1568 + bcc .L1573 adrp x0, .LC1 - mov w2, 1024 + mov w2, 1029 mov x1, x22 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1568: +.L1573: str xzr, [x29, 168] -.L1569: +.L1574: ldr w1, [x29, 128] ldr w23, [x29, 168] cmp w23, w1 - bcc .L1588 + bcc .L1593 mov x23, x1 -.L1570: +.L1575: add x0, x19, :lo12:.LANCHOR0 mov x3, x20 mov w2, 0 @@ -10955,30 +11028,30 @@ FtlWrite: ldr x0, [x0, 4040] bl FtlProgPages cmp w25, w23 - bcs .L1589 + bcs .L1594 adrp x0, .LC1 - mov w2, 1101 + mov w2, 1106 mov x1, x22 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1589: +.L1594: sub w25, w25, w23 - b .L1562 -.L1565: + b .L1567 +.L1570: ldr x0, [x29, 136] add x0, x0, :lo12:.LANCHOR2 str wzr, [x0, 8] ldrh w0, [x1, 4] - cbnz w0, .L1599 + cbnz w0, .L1604 mov x0, x20 bl allocate_new_data_superblock - b .L1567 -.L1599: + b .L1572 +.L1604: mov x20, x1 - b .L1564 -.L1588: + b .L1569 +.L1593: ldrh w0, [x20, 4] - cbz w0, .L1570 + cbz w0, .L1575 add x1, x29, 188 mov w2, 0 mov w0, w21 @@ -11011,9 +11084,9 @@ FtlWrite: cmp w21, w26 ldr x4, [x29, 160] ccmp w21, w0, 4, ne - bne .L1571 + bne .L1576 cmp w21, w26 - bne .L1572 + bne .L1577 ldrh w2, [x4, 62] udiv w0, w24, w2 msub w0, w0, w2, w24 @@ -11023,29 +11096,29 @@ FtlWrite: cmp w2, w0 csel w0, w2, w0, ls str w0, [x29, 160] -.L1573: +.L1578: add x0, x19, :lo12:.LANCHOR0 ldr w2, [x29, 160] ldrh w1, [x0, 62] cmp w2, w1 - bne .L1574 + bne .L1579 ldr x0, [x0, 4040] cmp w21, w26 add x3, x0, x28 - bne .L1575 + bne .L1580 str x27, [x3, 8] -.L1576: +.L1581: add x0, x19, :lo12:.LANCHOR0 ldrb w1, [x20, 6] ldrh w0, [x0, 36] cmp w1, w0 - bcc .L1585 + bcc .L1590 adrp x0, .LC1 - mov w2, 1092 + mov w2, 1097 mov x1, x22 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1585: +.L1590: ldp x1, x2, [x29, 112] mov w0, -3947 strh w0, [x1, x2] @@ -11064,35 +11137,35 @@ FtlWrite: ldr x0, [x29, 168] add x0, x0, 1 str x0, [x29, 168] - b .L1569 -.L1572: + b .L1574 +.L1577: ldr w0, [x29, 148] ldrh w2, [x4, 62] str wzr, [x29, 152] msub w2, w21, w2, w0 and w0, w2, 65535 str w0, [x29, 160] - b .L1573 -.L1575: + b .L1578 +.L1580: ldr w0, [x29, 160] -.L1606: +.L1611: mul w0, w0, w21 sub w0, w0, w24 lsl w0, w0, 9 add x0, x27, x0 str x0, [x3, 8] - b .L1576 -.L1574: + b .L1581 +.L1579: ldr x1, [x0, 4040] cmp w21, w26 add x1, x1, x28 - bne .L1577 + bne .L1582 ldr x0, [x0, 4000] -.L1605: +.L1610: str x0, [x1, 8] ldr w0, [x29, 188] cmn w0, #1 - beq .L1579 + beq .L1584 add x4, x19, :lo12:.LANCHOR0 str w0, [x29, 196] str w21, [x29, 216] @@ -11108,16 +11181,16 @@ FtlWrite: ldr w0, [x29, 192] ldr x4, [x29, 104] cmn w0, #1 - bne .L1580 + bne .L1585 ldr w0, [x4, 2792] add w0, w0, 1 str w0, [x4, 2792] -.L1583: +.L1588: ldr w0, [x29, 160] cmp w21, w26 lsl w2, w0, 9 add x0, x19, :lo12:.LANCHOR0 - bne .L1584 + bne .L1589 ldr x0, [x0, 4040] mov x1, x27 add x3, x0, x28 @@ -11125,16 +11198,16 @@ FtlWrite: ldr x3, [x3, 8] lsl w0, w0, 9 add x0, x3, x0 -.L1607: +.L1612: bl ftl_memcpy - b .L1576 -.L1577: + b .L1581 +.L1582: ldr x0, [x0, 3984] - b .L1605 -.L1580: + b .L1610 +.L1585: ldr w0, [x23, 8] cmp w21, w0 - beq .L1582 + beq .L1587 ldr w0, [x4, 2792] mov w2, w21 add w0, w0, 1 @@ -11143,17 +11216,17 @@ FtlWrite: add x0, x0, :lo12:.LC114 ldr w1, [x23, 8] bl sftl_printk -.L1582: +.L1587: ldr w0, [x23, 8] cmp w21, w0 - beq .L1583 - mov w2, 1077 + beq .L1588 + mov w2, 1082 mov x1, x22 adrp x0, .LC1 add x0, x0, :lo12:.LC1 bl sftl_printk - b .L1583 -.L1579: + b .L1588 +.L1584: add x1, x19, :lo12:.LANCHOR0 ldr x0, [x1, 4040] ldrh w2, [x1, 114] @@ -11161,8 +11234,8 @@ FtlWrite: add x0, x0, x28 ldr x0, [x0, 8] bl ftl_memset - b .L1583 -.L1584: + b .L1588 +.L1589: ldrh w1, [x0, 62] ldr x0, [x0, 4040] add x3, x0, x28 @@ -11171,26 +11244,26 @@ FtlWrite: ldr x0, [x3, 8] lsl w1, w1, 9 add x1, x27, x1 - b .L1607 -.L1571: + b .L1612 +.L1576: ldr x0, [x4, 4040] add x3, x0, x28 ldrh w0, [x4, 62] - b .L1606 -.L1591: + b .L1611 +.L1596: mov w21, 65535 mov w20, 128 -.L1603: +.L1608: ldrh w0, [x19, 2672] cmp w0, w21 - bne .L1592 + bne .L1597 ldrh w0, [x19, 3320] cmp w0, w21 - bne .L1592 + bne .L1597 mov w0, 0 bl List_get_gc_head_node bl FtlGcRefreshBlock -.L1592: +.L1597: mov w1, 1 strh w20, [x19, 3234] mov w0, w1 @@ -11201,11 +11274,11 @@ FtlWrite: bl rk_ftl_garbage_collect ldrh w0, [x19, 2416] cmp w0, 8 - bls .L1603 - b .L1593 -.L1594: + bls .L1608 + b .L1598 +.L1599: mov w0, -1 - b .L1558 + b .L1563 .size FtlWrite, .-FtlWrite .align 2 .global sftl_write @@ -11224,14 +11297,14 @@ sftl_write: stp x19, x20, [sp, 16] mov x25, x2 stp x27, x28, [sp, 80] - bls .L1609 + bls .L1614 cmp w0, 576 - bls .L1610 -.L1609: + bls .L1615 +.L1614: adrp x0, .LANCHOR3 add x0, x0, :lo12:.LANCHOR3 ldr w0, [x0, 124] - cbz w0, .L1611 + cbz w0, .L1616 adrp x20, .LANCHOR0 add x0, x20, :lo12:.LANCHOR0 mov w23, 512 @@ -11249,11 +11322,11 @@ sftl_write: mov w0, 0 and w21, w21, 65535 udiv w23, w23, w21 -.L1615: +.L1620: add x4, x2, x8 ldr w7, [x4, x3] - cbz w7, .L1612 -.L1616: + cbz w7, .L1617 +.L1621: mul w0, w21, w23 add x20, x20, :lo12:.LANCHOR0 stp w0, wzr, [x29, 152] @@ -11261,7 +11334,7 @@ sftl_write: add x0, x1, :lo12:idb_buf mov w27, 0 str x0, [x29, 136] -.L1613: +.L1618: adrp x5, gp_flash_check_buf mov x2, 512 add x0, x5, :lo12:gp_flash_check_buf @@ -11286,7 +11359,7 @@ sftl_write: str x5, [x29, 144] ldr w3, [x29, 124] cmp w2, 511 - bhi .L1617 + bhi .L1622 add w1, w2, w19 ldr x4, [x4, 8] str w2, [x29, 124] @@ -11294,15 +11367,15 @@ sftl_write: udiv w1, w1, w3 blr x4 ldr w2, [x29, 124] -.L1617: +.L1622: udiv w5, w19, w2 mov w4, 0 mov w7, 61424 msub w5, w5, w2, w19 sub w6, w19, w5 -.L1618: +.L1623: cmp w4, 511 - bls .L1619 + bls .L1624 ldrh w4, [x20, 14] mov w5, 0 ldrh w0, [x20, 10] @@ -11319,9 +11392,9 @@ sftl_write: ldr x1, [x29, 144] and w0, w0, 65535 add x9, x1, :lo12:gp_flash_check_buf -.L1620: +.L1625: cmp w5, 511 - bhi .L1624 + bhi .L1629 add w1, w6, w5 sub w8, w4, w0 add w0, w0, w7 @@ -11345,18 +11418,18 @@ sftl_write: ldr w6, [x29, 112] ldp w8, w7, [x29, 120] ldr x9, [x29, 128] - bne .L1621 -.L1624: + bne .L1626 +.L1629: ldr x0, [x29, 144] mov x28, 0 add x5, x0, :lo12:gp_flash_check_buf -.L1622: +.L1627: ldr x1, [x29, 136] lsl x0, x28, 2 ldr w3, [x0, x1] ldr w0, [x0, x5] cmp w0, w3 - beq .L1625 + beq .L1630 mov x2, 512 mov w1, 0 mov x0, x5 @@ -11376,23 +11449,23 @@ sftl_write: mov w0, 0 blr x2 cmp w23, 1 - bls .L1626 + bls .L1631 add w1, w21, w19 ldr x2, [x20, 3384] mov w0, 0 udiv w1, w1, w26 blr x2 -.L1626: +.L1631: ldr w0, [x29, 152] add w27, w27, w23 cmp w27, 15 add w19, w19, w0 - bls .L1613 -.L1631: + bls .L1618 +.L1636: adrp x0, .LANCHOR3 add x0, x0, :lo12:.LANCHOR3 str wzr, [x0, 124] -.L1611: +.L1616: mov x3, x25 mov w2, w24 mov w1, w22 @@ -11405,7 +11478,7 @@ sftl_write: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 224 ret -.L1612: +.L1617: ldr w7, [x3, w0, uxtw 2] add w0, w0, 1 str w7, [x4, x3] @@ -11413,9 +11486,9 @@ sftl_write: sub x2, x2, #4 csel w0, w0, wzr, cc cmp x2, x5 - bne .L1615 - b .L1616 -.L1619: + bne .L1620 + b .L1621 +.L1624: add w0, w5, w4 ubfiz x2, x4, 9, 16 str w4, [x29, 112] @@ -11439,53 +11512,53 @@ sftl_write: add w4, w0, w4 ldp w5, w6, [x29, 120] and w4, w4, 65535 - b .L1618 -.L1621: + b .L1623 +.L1626: add w5, w8, w5 mov w0, 0 and w5, w5, 65535 - b .L1620 -.L1625: + b .L1625 +.L1630: add x28, x28, 1 cmp x28, 65536 - bne .L1622 + bne .L1627 ldr w0, [x29, 156] add w0, w0, 1 str w0, [x29, 156] cmp w0, 5 - bls .L1626 - b .L1631 -.L1610: + bls .L1631 + b .L1636 +.L1615: cmp w0, 63 adrp x3, idb_buf - bhi .L1628 + bhi .L1633 mov w1, 64 sub w1, w1, w0 sub w2, w24, w1 ubfiz x1, x1, 9, 25 add x1, x25, x1 add x0, x3, :lo12:idb_buf -.L1629: +.L1634: adrp x3, .LANCHOR3 add x3, x3, :lo12:.LANCHOR3 mov w6, 1 cmp w5, 576 str w6, [x3, 124] - bls .L1630 + bls .L1635 sub w2, w2, w4 sub w2, w2, #447 -.L1630: +.L1635: lsl w2, w2, 9 bl memcpy - b .L1611 -.L1628: + b .L1616 +.L1633: lsl w0, w0, 7 add x3, x3, :lo12:idb_buf sub w0, w0, #8192 mov x1, x2 add x0, x3, x0, lsl 2 mov w2, w24 - b .L1629 + b .L1634 .size sftl_write, .-sftl_write .align 2 .global FtlLoadSysInfo @@ -11511,16 +11584,16 @@ FtlLoadSysInfo: ldrh w0, [x19, 2656] mov w1, 65535 cmp w0, w1 - bne .L1642 -.L1650: + bne .L1647 +.L1655: mov w0, -1 -.L1641: +.L1646: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] ldp x29, x30, [sp], 64 ret -.L1642: +.L1647: add x23, x19, 2656 mov w1, 1 bl FtlGetLastWrittenPage @@ -11530,8 +11603,8 @@ FtlLoadSysInfo: strh w0, [x23, 2] mov w23, 19539 movk w23, 0x4654, lsl 16 -.L1644: - tbz w22, #31, .L1647 +.L1649: + tbz w22, #31, .L1652 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -11539,13 +11612,13 @@ FtlLoadSysInfo: add x1, x1, 688 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1646: +.L1651: add x1, x20, :lo12:.LANCHOR0 ldrh w0, [x1, 44] ldrh w1, [x1, 114] add x0, x0, 24 cmp x1, x0, lsl 1 - bcs .L1649 + bcs .L1654 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -11553,7 +11626,7 @@ FtlLoadSysInfo: add x1, x1, 688 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1649: +.L1654: add x19, x20, :lo12:.LANCHOR0 mov w2, 48 add x21, x19, 2312 @@ -11580,13 +11653,13 @@ FtlLoadSysInfo: mov w0, 19539 movk w0, 0x4654, lsl 16 cmp w1, w0 - bne .L1650 + bne .L1655 ldrh w1, [x19, 2320] ldrb w2, [x19, 2322] ldrh w0, [x19, 58] strh w1, [x19, 2662] cmp w2, w0 - bne .L1650 + bne .L1655 adrp x0, .LANCHOR3+128 ldrh w2, [x19, 62] ldrh w3, [x19, 36] @@ -11603,7 +11676,7 @@ FtlLoadSysInfo: sub w0, w0, w1 udiv w0, w0, w3 strh w0, [x19, 2652] - bls .L1651 + bls .L1656 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -11611,7 +11684,7 @@ FtlLoadSysInfo: add x1, x1, 688 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1651: +.L1656: add x0, x20, :lo12:.LANCHOR0 mov w3, -1 ldrh w2, [x0, 2328] @@ -11657,50 +11730,50 @@ FtlLoadSysInfo: ldr w2, [x0, 2620] str wzr, [x0, 2600] cmp w1, w2 - bls .L1652 + bls .L1657 str w1, [x0, 2620] -.L1652: +.L1657: add x0, x20, :lo12:.LANCHOR0 ldr w1, [x0, 2348] ldr w2, [x0, 2624] cmp w1, w2 - bls .L1653 + bls .L1658 str w1, [x0, 2624] -.L1653: +.L1658: mov w0, 65535 cmp w4, w0 - beq .L1654 + beq .L1659 add x0, x20, :lo12:.LANCHOR0 add x0, x0, 2424 bl make_superblock -.L1654: +.L1659: add x1, x20, :lo12:.LANCHOR0 add x0, x1, 2472 ldrh w2, [x1, 2472] mov w1, 65535 cmp w2, w1 - beq .L1655 + beq .L1660 bl make_superblock -.L1655: +.L1660: add x1, x20, :lo12:.LANCHOR0 add x0, x1, 2520 ldrh w2, [x1, 2520] mov w1, 65535 cmp w2, w1 - beq .L1656 + beq .L1661 bl make_superblock -.L1656: +.L1661: add x20, x20, :lo12:.LANCHOR0 mov w1, 65535 add x0, x20, 2672 ldrh w2, [x20, 2672] cmp w2, w1 - beq .L1657 + beq .L1662 bl make_superblock -.L1657: +.L1662: mov w0, 0 - b .L1641 -.L1647: + b .L1646 +.L1652: ldrh w0, [x19, 2656] mov w2, 1 mov w1, w2 @@ -11712,19 +11785,19 @@ FtlLoadSysInfo: bl FlashReadPages ldr w0, [x21] cmn w0, #1 - beq .L1645 + beq .L1650 ldr x0, [x19, 3440] ldr w0, [x0] cmp w0, w23 - bne .L1645 + bne .L1650 ldr x0, [x19, 3448] ldrh w0, [x0] cmp w0, w24 - beq .L1646 -.L1645: + beq .L1651 +.L1650: sub w22, w22, #1 sxth w22, w22 - b .L1644 + b .L1649 .size FtlLoadSysInfo, .-FtlLoadSysInfo .align 2 .global FtlSysBlkInit @@ -11746,20 +11819,20 @@ FtlSysBlkInit: ldrh w1, [x20, 2656] mov w0, 65535 cmp w1, w0 - bne .L1664 -.L1666: + bne .L1669 +.L1671: mov w22, -1 -.L1663: +.L1668: mov w0, w22 ldr x23, [sp, 48] ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x29, x30, [sp], 64 ret -.L1664: +.L1669: bl FtlLoadSysInfo mov w22, w0 - cbnz w0, .L1666 + cbnz w0, .L1671 bl FtlLoadMapInfo bl FtlLoadVonderInfo bl Ftl_load_ext_data @@ -11773,19 +11846,19 @@ FtlSysBlkInit: mov w0, 0 ldrh w3, [x20, 142] add x1, x1, 4 -.L1667: - cmp w0, w3 - bge .L1672 - ldr w2, [x1], 16 - tbz w2, #31, .L1668 .L1672: + cmp w0, w3 + bge .L1677 + ldr w2, [x1], 16 + tbz w2, #31, .L1673 +.L1677: add x1, x19, :lo12:.LANCHOR0 cmp w0, w3 ldrh w2, [x1, 2340] add w2, w2, 1 strh w2, [x1, 2340] - bge .L1686 -.L1669: + bge .L1691 +.L1674: add x20, x19, :lo12:.LANCHOR0 add x21, x21, :lo12:.LANCHOR3 sub x0, x21, #184 @@ -11820,72 +11893,72 @@ FtlSysBlkInit: bl l2p_flush bl FtlVpcTblFlush bl FtlVpcTblFlush - b .L1673 -.L1668: + b .L1678 +.L1673: add w0, w0, 1 - b .L1667 -.L1686: + b .L1672 +.L1691: add x0, x21, :lo12:.LANCHOR3 ldrh w0, [x0, -32] - cbnz w0, .L1669 -.L1673: + cbnz w0, .L1674 +.L1678: add x7, x19, :lo12:.LANCHOR0 mov w0, 65533 ldrh w6, [x7, 2356] sub w1, w6, #1 cmp w0, w1, uxth - bcc .L1675 + bcc .L1680 strh w6, [x7, 3320] mov w1, w6 add x0, x7, 2408 bl test_node_in_list - cbnz w0, .L1676 + cbnz w0, .L1681 ldrh w0, [x7, 44] cmp w0, w6 - bls .L1676 + bls .L1681 ldr x0, [x7, 2376] ubfiz x6, x6, 1, 16 ldrh w0, [x0, x6] - cbnz w0, .L1675 -.L1676: + cbnz w0, .L1680 +.L1681: add x0, x19, :lo12:.LANCHOR0 mov w1, -1 strh w1, [x0, 3320] -.L1675: +.L1680: add x7, x19, :lo12:.LANCHOR0 mov w0, 65533 ldrh w6, [x7, 2358] sub w1, w6, #1 cmp w0, w1, uxth - bcc .L1679 + bcc .L1684 strh w6, [x7, 3322] mov w1, w6 add x0, x7, 2408 bl test_node_in_list - cbnz w0, .L1680 + cbnz w0, .L1685 ldrh w0, [x7, 44] cmp w0, w6 - bls .L1680 + bls .L1685 ldr x0, [x7, 2376] ubfiz x6, x6, 1, 16 ldrh w0, [x0, x6] - cbnz w0, .L1679 -.L1680: + cbnz w0, .L1684 +.L1685: add x0, x19, :lo12:.LANCHOR0 mov w1, -1 strh w1, [x0, 3322] -.L1679: +.L1684: add x20, x19, :lo12:.LANCHOR0 mov w1, 65535 add x23, x20, 2424 ldrh w0, [x20, 2424] cmp w0, w1 - beq .L1682 + beq .L1687 ldrh w1, [x20, 2428] - cbnz w1, .L1682 + cbnz w1, .L1687 ldrh w1, [x20, 2476] add x21, x20, 2472 - cbnz w1, .L1682 + cbnz w1, .L1687 bl FtlGcRefreshBlock ldrh w0, [x20, 2472] bl FtlGcRefreshBlock @@ -11894,13 +11967,13 @@ FtlSysBlkInit: bl allocate_new_data_superblock mov x0, x21 bl allocate_new_data_superblock -.L1682: +.L1687: add x19, x19, :lo12:.LANCHOR0 ldrh w0, [x19, 2340] tst x0, 31 - bne .L1663 + bne .L1668 bl FtlVpcCheckAndModify - b .L1663 + b .L1668 .size FtlSysBlkInit, .-FtlSysBlkInit .align 2 .global ftl_low_format @@ -11918,36 +11991,36 @@ ftl_low_format: ldrh w0, [x0, 40] bl FtlFreeSysBlkQueueInit bl FtlLoadBbt - cbz w0, .L1689 + cbz w0, .L1694 bl FtlMakeBbt -.L1689: +.L1694: mov w4, 23752 add x1, x20, :lo12:.LANCHOR0 mov w0, 0 movk w4, 0xa0f, lsl 16 -.L1690: +.L1695: ldrh w2, [x1, 62] cmp w0, w2, lsl 7 - blt .L1691 + blt .L1696 ldrh w21, [x1, 44] add x22, x20, :lo12:.LANCHOR0 mov w19, 0 -.L1692: +.L1697: ldrh w0, [x22, 46] cmp w0, w21 - bhi .L1693 + bhi .L1698 ldrh w0, [x22, 36] sub w1, w19, #3 cmp w1, w0, lsl 1 - bge .L1694 -.L1698: + bge .L1699 +.L1703: add x19, x20, :lo12:.LANCHOR0 mov w21, 0 mov w22, 0 -.L1695: +.L1700: ldrh w0, [x19, 44] cmp w0, w22 - bhi .L1699 + bhi .L1704 ldrh w2, [x19, 36] ldr w1, [x19, 48] ldrh w0, [x19, 46] @@ -11960,28 +12033,28 @@ ftl_low_format: mov w0, 24 mul w0, w2, w0 cmp w21, w0 - ble .L1700 + ble .L1705 sub w1, w1, w21 udiv w1, w1, w2 str w1, [x19, 2584] lsr w1, w1, 5 add w1, w1, 24 strh w1, [x19, 2652] -.L1700: +.L1705: add x0, x20, :lo12:.LANCHOR0 ldrh w1, [x0, 98] - cbz w1, .L1702 + cbz w1, .L1707 ldrh w5, [x0, 2652] add w5, w5, w1, lsr 1 strh w5, [x0, 2652] mul w5, w1, w2 cmp w21, w5 - bge .L1702 + bge .L1707 add w1, w1, 32 str w4, [x0, 2584] add w1, w3, w1 strh w1, [x0, 2652] -.L1702: +.L1707: add x19, x20, :lo12:.LANCHOR0 adrp x22, .LANCHOR3 add x21, x19, 2424 @@ -12019,20 +12092,20 @@ ftl_low_format: strh wzr, [x19, 2424] str wzr, [x19, 2580] bl ftl_memset -.L1704: +.L1709: mov x0, x21 bl make_superblock ldrb w1, [x21, 7] ldrh w0, [x21] - cbnz w1, .L1705 + cbnz w1, .L1710 ldr x1, [x19, 2376] ubfiz x0, x0, 1, 16 strh w23, [x1, x0] ldrh w0, [x21] add w0, w0, 1 strh w0, [x21] - b .L1704 -.L1691: + b .L1709 +.L1696: ldr x5, [x1, 4000] ubfiz x3, x0, 2, 16 mvn w2, w0 @@ -12042,8 +12115,8 @@ ftl_low_format: str w2, [x5, x3] ldr x2, [x1, 3984] str w4, [x2, x3] - b .L1690 -.L1693: + b .L1695 +.L1698: mov w0, w21 mov w1, 1 add w21, w21, 1 @@ -12051,8 +12124,8 @@ ftl_low_format: add w19, w19, w0 and w21, w21, 65535 and w19, w19, 65535 - b .L1692 -.L1694: + b .L1697 +.L1699: udiv w0, w19, w0 ldr w19, [x22, 136] add x21, x20, :lo12:.LANCHOR0 @@ -12061,17 +12134,17 @@ ftl_low_format: ldrh w0, [x22, 40] bl FtlFreeSysBlkQueueInit ldrh w19, [x22, 44] -.L1696: +.L1701: ldrh w0, [x21, 46] cmp w0, w19 - bls .L1698 + bls .L1703 mov w0, w19 add w19, w19, 1 mov w1, 1 and w19, w19, 65535 bl FtlLowFormatEraseBlock - b .L1696 -.L1699: + b .L1701 +.L1704: mov w0, w22 mov w1, 0 add w22, w22, 1 @@ -12079,8 +12152,8 @@ ftl_low_format: add w21, w21, w0 and w22, w22, 65535 and w21, w21, 65535 - b .L1695 -.L1705: + b .L1700 +.L1710: ldr w1, [x19, 2620] ubfiz x0, x0, 1, 16 str w1, [x21, 12] @@ -12100,20 +12173,20 @@ ftl_low_format: strb w1, [x19, 2480] add x19, x20, :lo12:.LANCHOR0 mov x20, x0 -.L1706: +.L1711: mov x0, x20 bl make_superblock ldrb w1, [x20, 7] ldrh w0, [x20] - cbnz w1, .L1707 + cbnz w1, .L1712 ldr x1, [x19, 2376] ubfiz x0, x0, 1, 16 strh w21, [x1, x0] ldrh w0, [x20] add w0, w0, 1 strh w0, [x20] - b .L1706 -.L1707: + b .L1711 +.L1712: ldr w1, [x19, 2620] ubfiz x0, x0, 1, 16 str w1, [x20, 12] @@ -12137,11 +12210,11 @@ ftl_low_format: str w0, [x19, 2620] bl FtlVpcTblFlush bl FtlSysBlkInit - cbnz w0, .L1708 + cbnz w0, .L1713 adrp x0, .LANCHOR2 mov w1, 1 str w1, [x0, #:lo12:.LANCHOR2] -.L1708: +.L1713: mov w0, 0 ldr x23, [sp, 48] ldp x19, x20, [sp, 16] @@ -12173,22 +12246,22 @@ sftl_init: ldrh w0, [x19, 40] bl FtlFreeSysBlkQueueInit bl FtlLoadBbt - cbnz w0, .L1717 + cbnz w0, .L1722 bl FtlSysBlkInit - cbnz w0, .L1717 + cbnz w0, .L1722 mov w0, 1 str w0, [x20, #:lo12:.LANCHOR2] ldrh w0, [x19, 2416] cmp w0, 15 - bhi .L1717 + bhi .L1722 mov w19, 8129 -.L1716: +.L1721: mov w1, 1 mov w0, 0 bl rk_ftl_garbage_collect subs w19, w19, #1 - bne .L1716 -.L1717: + bne .L1721 +.L1722: mov w0, 0 ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 32 @@ -12212,11 +12285,11 @@ rk_sftl_vendor_dev_ops_register: adrp x2, .LANCHOR3 add x2, x2, :lo12:.LANCHOR3 ldr x3, [x2, 136] - cbnz x3, .L1724 + cbnz x3, .L1729 stp x0, x1, [x2, 136] mov w0, 0 ret -.L1724: +.L1729: mov w0, -1 ret .size rk_sftl_vendor_dev_ops_register, .-rk_sftl_vendor_dev_ops_register @@ -12235,38 +12308,38 @@ rk_sftl_vendor_storage_init: stp x25, x26, [sp, 64] bl ftl_malloc str x0, [x22, 152] - cbz x0, .L1731 + cbz x0, .L1736 mov w26, 22084 mov w25, 0 mov w24, 0 mov w23, 0 movk w26, 0x524b, lsl 16 -.L1729: +.L1734: ldr x3, [x22, 136] mov w1, 128 ldr x2, [x22, 152] lsl w0, w23, 7 blr x3 mov w21, w0 - cbnz w0, .L1727 + cbnz w0, .L1732 ldr x19, [x22, 152] ldr w0, [x19] cmp w0, w26 - bne .L1728 + bne .L1733 add x0, x19, 61440 ldr w1, [x19, 4] ldr w0, [x0, 4092] cmp w0, w1 - bne .L1728 + bne .L1733 cmp w0, w24 - bls .L1728 + bls .L1733 mov w25, w23 mov w24, w0 -.L1728: +.L1733: add w23, w23, 1 cmp w23, 2 - bne .L1729 - cbz w24, .L1730 + bne .L1734 + cbz w24, .L1735 add x0, x20, :lo12:.LANCHOR3 mov x2, x19 mov w1, 128 @@ -12274,15 +12347,15 @@ rk_sftl_vendor_storage_init: lsl w0, w25, 7 blr x3 mov w21, w0 - cbz w0, .L1725 -.L1727: + cbz w0, .L1730 +.L1732: add x20, x20, :lo12:.LANCHOR3 mov w21, -1 ldr x0, [x20, 152] bl kfree str xzr, [x20, 152] - b .L1725 -.L1730: + b .L1730 +.L1735: mov w1, 0 mov x2, 65536 mov x0, x19 @@ -12295,7 +12368,7 @@ rk_sftl_vendor_storage_init: str w0, [x1, 4092] mov w0, -1032 strh w0, [x19, 14] -.L1725: +.L1730: mov w0, w21 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -12303,9 +12376,9 @@ rk_sftl_vendor_storage_init: ldp x25, x26, [sp, 64] ldp x29, x30, [sp], 80 ret -.L1731: +.L1736: mov w21, -12 - b .L1725 + b .L1730 .size rk_sftl_vendor_storage_init, .-rk_sftl_vendor_storage_init .align 2 .global rk_sftl_vendor_read @@ -12313,20 +12386,20 @@ rk_sftl_vendor_storage_init: rk_sftl_vendor_read: adrp x3, .LANCHOR3+152 ldr x4, [x3, #:lo12:.LANCHOR3+152] - cbz x4, .L1739 + cbz x4, .L1744 ldrh w6, [x4, 10] add x5, x4, 16 mov w3, 0 -.L1736: +.L1741: cmp w3, w6 - bcc .L1738 -.L1739: + bcc .L1743 +.L1744: mov w0, -1 ret -.L1738: +.L1743: ldrh w7, [x5], 8 cmp w7, w0 - bne .L1737 + bne .L1742 stp x29, x30, [sp, -32]! add x3, x4, x3, uxtw 3 mov x0, x1 @@ -12344,9 +12417,9 @@ rk_sftl_vendor_read: ldr x19, [sp, 16] ldp x29, x30, [sp], 32 ret -.L1737: +.L1742: add w3, w3, 1 - b .L1736 + b .L1741 .size rk_sftl_vendor_read, .-rk_sftl_vendor_read .align 2 .global rk_sftl_vendor_write @@ -12362,7 +12435,7 @@ rk_sftl_vendor_write: stp x25, x26, [sp, 64] stp x27, x28, [sp, 80] ldr x19, [x3, 152] - cbz x19, .L1759 + cbz x19, .L1764 add w21, w2, 63 ldrh w3, [x19, 10] ldrh w24, [x19, 8] @@ -12371,12 +12444,12 @@ rk_sftl_vendor_write: and w21, w21, -64 add x1, x19, 16 mov w20, 0 -.L1746: +.L1751: cmp w20, w3 - bcc .L1754 + bcc .L1759 ldrh w1, [x19, 14] cmp w21, w1 - bhi .L1759 + bhi .L1764 add x3, x19, x3, uxth 3 and w21, w21, 65535 uxtw x2, w28 @@ -12396,11 +12469,11 @@ rk_sftl_vendor_write: ldrh w0, [x19, 10] add w0, w0, 1 strh w0, [x19, 10] - b .L1761 -.L1754: + b .L1766 +.L1759: ldrh w6, [x1], 8 cmp w6, w0 - bne .L1747 + bne .L1752 uxtw x27, w20 add x5, x19, 1024 add x22, x19, x27, lsl 3 @@ -12408,17 +12481,17 @@ rk_sftl_vendor_write: add w25, w25, 63 and w25, w25, -64 cmp w28, w25 - bls .L1748 + bls .L1753 ldrh w0, [x19, 14] cmp w21, w0 - bhi .L1759 + bhi .L1764 add x27, x27, 2 ldrh w22, [x22, 18] add x27, x19, x27, lsl 3 sub w26, w3, #1 -.L1749: +.L1754: cmp w20, w26 - bcc .L1750 + bcc .L1755 add x20, x19, x20, uxtw 3 and w22, w22, 65535 add x0, x5, x22, uxth @@ -12435,7 +12508,7 @@ rk_sftl_vendor_write: sub w21, w0, w21 add w25, w21, w25 strh w25, [x19, 14] -.L1761: +.L1766: ldr w0, [x19, 4] add x1, x19, 61440 add x23, x23, :lo12:.LANCHOR3 @@ -12454,7 +12527,7 @@ rk_sftl_vendor_write: lsl w0, w24, 7 blr x3 mov w0, 0 -.L1744: +.L1749: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -12462,7 +12535,7 @@ rk_sftl_vendor_write: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 128 ret -.L1750: +.L1755: add w20, w20, 1 str x4, [x29, 104] add x0, x19, x20, uxtw 3 @@ -12486,21 +12559,21 @@ rk_sftl_vendor_write: ldr x4, [x29, 104] add w22, w22, w3 ldr x5, [x29, 120] - b .L1749 -.L1748: + b .L1754 +.L1753: ldrh w0, [x22, 18] uxtw x2, w28 mov x1, x4 add x0, x5, x0 bl memcpy strh w28, [x22, 20] - b .L1761 -.L1747: + b .L1766 +.L1752: add w20, w20, 1 - b .L1746 -.L1759: + b .L1751 +.L1764: mov w0, -1 - b .L1744 + b .L1749 .size rk_sftl_vendor_write, .-rk_sftl_vendor_write .align 2 .global rk_sftl_vendor_storage_ioctl @@ -12514,19 +12587,19 @@ rk_sftl_vendor_storage_ioctl: str x21, [sp, 32] mov w21, w1 bl ftl_malloc - cbz x0, .L1776 + cbz x0, .L1781 mov w1, 30209 mov x19, x0 movk w1, 0x4004, lsl 16 cmp w21, w1 - beq .L1765 + beq .L1770 add w1, w1, 1 cmp w21, w1 - beq .L1766 -.L1786: + beq .L1771 +.L1791: mov x20, -14 - b .L1764 -.L1765: + b .L1769 +.L1770: #APP // 21 "./arch/arm64/include/asm/current.h" 1 mrs x21, sp_el0 @@ -12539,34 +12612,34 @@ rk_sftl_vendor_storage_ioctl: adds x1, x1, 8; ccmp x1, x2, #2, cc; cset x3, ls // 0 "" 2 #NO_APP - cbz x3, .L1772 + cbz x3, .L1777 mov x2, 8 mov x1, x20 bl __arch_copy_from_user - cbnz x0, .L1786 + cbnz x0, .L1791 ldr w1, [x19] mov w0, 17745 movk w0, 0x5652, lsl 16 cmp w1, w0 - beq .L1770 -.L1771: + beq .L1775 +.L1776: mov x20, -1 -.L1764: +.L1769: mov x0, x19 bl kfree -.L1762: +.L1767: mov x0, x20 ldr x21, [sp, 32] ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 48 ret -.L1770: +.L1775: ldrh w2, [x19, 6] add x1, x19, 8 ldrh w0, [x19, 4] bl rk_sftl_vendor_read cmn w0, #1 - beq .L1771 + beq .L1776 strh w0, [x19, 6] and x2, x0, 65535 add x2, x2, 8 @@ -12577,14 +12650,14 @@ rk_sftl_vendor_storage_ioctl: adds x0, x0, x2; ccmp x0, x1, #2, cc; cset x3, ls // 0 "" 2 #NO_APP - cbz x3, .L1786 + cbz x3, .L1791 mov x0, x20 mov x1, x19 mov x20, 0 bl __arch_copy_to_user - cbz x0, .L1764 - b .L1786 -.L1766: + cbz x0, .L1769 + b .L1791 +.L1771: #APP // 21 "./arch/arm64/include/asm/current.h" 1 mrs x21, sp_el0 @@ -12597,19 +12670,19 @@ rk_sftl_vendor_storage_ioctl: adds x1, x1, 8; ccmp x1, x2, #2, cc; cset x3, ls // 0 "" 2 #NO_APP - cbz x3, .L1772 + cbz x3, .L1777 mov x2, 8 mov x1, x20 bl __arch_copy_from_user - cbnz x0, .L1786 + cbnz x0, .L1791 ldr w1, [x19] mov w0, 17745 movk w0, 0x5652, lsl 16 cmp w1, w0 - bne .L1771 + bne .L1776 ldrh w2, [x19, 6] cmp w2, 4087 - bhi .L1771 + bhi .L1776 add w2, w2, 8 mov x0, x20 sxtw x2, w2 @@ -12619,28 +12692,28 @@ rk_sftl_vendor_storage_ioctl: adds x0, x0, x2; ccmp x0, x1, #2, cc; cset x3, ls // 0 "" 2 #NO_APP - cbz x3, .L1774 + cbz x3, .L1779 mov x1, x20 mov x0, x19 bl __arch_copy_from_user - cbnz x0, .L1786 + cbnz x0, .L1791 ldrh w2, [x19, 6] add x1, x19, 8 ldrh w0, [x19, 4] bl rk_sftl_vendor_write sxtw x20, w0 - b .L1764 -.L1772: + b .L1769 +.L1777: str xzr, [x19] - b .L1786 -.L1774: + b .L1791 +.L1779: mov w1, 0 mov x0, x19 bl memset - b .L1786 -.L1776: + b .L1791 +.L1781: mov x20, -1 - b .L1762 + b .L1767 .size rk_sftl_vendor_storage_ioctl, .-rk_sftl_vendor_storage_ioctl .align 2 .global rk_sftl_vendor_register @@ -12807,169 +12880,169 @@ rk_sftl_vendor_register: .section .rodata .align 3 .set .LANCHOR1,. + 0 - .type __func__.3843, %object - .size __func__.3843, 17 -__func__.3843: + .type __func__.3844, %object + .size __func__.3844, 17 +__func__.3844: .string "INSERT_DATA_LIST" .zero 7 - .type __func__.3838, %object - .size __func__.3838, 17 -__func__.3838: + .type __func__.3839, %object + .size __func__.3839, 17 +__func__.3839: .string "INSERT_FREE_LIST" .zero 7 - .type __func__.3881, %object - .size __func__.3881, 17 -__func__.3881: + .type __func__.3882, %object + .size __func__.3882, 17 +__func__.3882: .string "List_remove_node" .zero 7 - .type __func__.3913, %object - .size __func__.3913, 22 -__func__.3913: + .type __func__.3914, %object + .size __func__.3914, 22 +__func__.3914: .string "List_update_data_list" .zero 2 - .type __func__.4024, %object - .size __func__.4024, 22 -__func__.4024: + .type __func__.4025, %object + .size __func__.4025, 22 +__func__.4025: .string "select_l2p_ram_region" .zero 2 - .type __func__.4347, %object - .size __func__.4347, 16 -__func__.4347: + .type __func__.4348, %object + .size __func__.4348, 16 +__func__.4348: .string "make_superblock" - .type __func__.4522, %object - .size __func__.4522, 19 -__func__.4522: + .type __func__.4523, %object + .size __func__.4523, 19 +__func__.4523: .string "get_new_active_ppa" .zero 5 - .type __func__.16105, %object - .size __func__.16105, 15 -__func__.16105: + .type __func__.16106, %object + .size __func__.16106, 15 +__func__.16106: .string "FlashReadPages" .zero 1 - .type __func__.16122, %object - .size __func__.16122, 15 -__func__.16122: + .type __func__.16123, %object + .size __func__.16123, 15 +__func__.16123: .string "FlashProgPages" .zero 1 - .type __func__.3955, %object - .size __func__.3955, 26 -__func__.3955: + .type __func__.3956, %object + .size __func__.3956, 26 +__func__.3956: .string "ftl_map_blk_alloc_new_blk" .zero 6 - .type __func__.3380, %object - .size __func__.3380, 11 -__func__.3380: + .type __func__.3381, %object + .size __func__.3381, 11 +__func__.3381: .string "FtlMemInit" .zero 5 - .type __func__.3678, %object - .size __func__.3678, 14 -__func__.3678: + .type __func__.3679, %object + .size __func__.3679, 14 +__func__.3679: .string "FtlBbt2Bitmap" .zero 2 - .type __func__.3985, %object - .size __func__.3985, 31 -__func__.3985: + .type __func__.3986, %object + .size __func__.3986, 31 +__func__.3986: .string "Ftl_write_map_blk_to_last_page" .zero 1 - .type __func__.3999, %object - .size __func__.3999, 16 -__func__.3999: + .type __func__.4000, %object + .size __func__.4000, 16 +__func__.4000: .string "FtlMapWritePage" - .type __func__.3922, %object - .size __func__.3922, 16 -__func__.3922: + .type __func__.3923, %object + .size __func__.3923, 16 +__func__.3923: .string "load_l2p_region" - .type __func__.3970, %object - .size __func__.3970, 15 -__func__.3970: + .type __func__.3971, %object + .size __func__.3971, 15 +__func__.3971: .string "ftl_map_blk_gc" .zero 1 - .type __func__.4041, %object - .size __func__.4041, 9 -__func__.4041: + .type __func__.4042, %object + .size __func__.4042, 9 +__func__.4042: .string "log2phys" .zero 7 - .type __func__.4256, %object - .size __func__.4256, 16 -__func__.4256: + .type __func__.4257, %object + .size __func__.4257, 16 +__func__.4257: .string "FtlReUsePrevPpa" - .type __func__.4136, %object - .size __func__.4136, 14 -__func__.4136: + .type __func__.4137, %object + .size __func__.4137, 14 +__func__.4137: .string "FtlScanSysBlk" .zero 2 - .type __func__.4368, %object - .size __func__.4368, 18 -__func__.4368: + .type __func__.4369, %object + .size __func__.4369, 18 +__func__.4369: .string "SupperBlkListInit" .zero 6 - .type __func__.4409, %object - .size __func__.4409, 14 -__func__.4409: + .type __func__.4410, %object + .size __func__.4410, 14 +__func__.4410: .string "ftl_check_vpc" .zero 2 - .type __func__.4494, %object - .size __func__.4494, 25 -__func__.4494: + .type __func__.4495, %object + .size __func__.4495, 25 +__func__.4495: .string "allocate_data_superblock" .zero 7 - .type __func__.4535, %object - .size __func__.4535, 16 -__func__.4535: + .type __func__.4536, %object + .size __func__.4536, 16 +__func__.4536: .string "update_vpc_list" - .type __func__.4542, %object - .size __func__.4542, 20 -__func__.4542: + .type __func__.4543, %object + .size __func__.4543, 20 +__func__.4543: .string "decrement_vpc_count" .zero 4 - .type __func__.4290, %object - .size __func__.4290, 22 -__func__.4290: + .type __func__.4291, %object + .size __func__.4291, 22 +__func__.4291: .string "FtlRecoverySuperblock" .zero 2 - .type __func__.3721, %object - .size __func__.3721, 11 -__func__.3721: + .type __func__.3722, %object + .size __func__.3722, 11 +__func__.3722: .string "FtlLoadBbt" .zero 5 - .type __func__.4114, %object - .size __func__.4114, 15 -__func__.4114: + .type __func__.4115, %object + .size __func__.4115, 15 +__func__.4115: .string "FtlVpcTblFlush" .zero 1 - .type __func__.4393, %object - .size __func__.4393, 21 -__func__.4393: + .type __func__.4394, %object + .size __func__.4394, 21 +__func__.4394: .string "FtlVpcCheckAndModify" .zero 3 - .type __func__.4515, %object - .size __func__.4515, 29 -__func__.4515: + .type __func__.4516, %object + .size __func__.4516, 29 +__func__.4516: .string "allocate_new_data_superblock" .zero 3 - .type __func__.3504, %object - .size __func__.3504, 13 -__func__.3504: + .type __func__.3505, %object + .size __func__.3505, 13 +__func__.3505: .string "FtlProgPages" .zero 3 - .type __func__.4613, %object - .size __func__.4613, 19 -__func__.4613: + .type __func__.4614, %object + .size __func__.4614, 19 +__func__.4614: .string "FtlGcFreeTempBlock" .zero 5 - .type __func__.4719, %object - .size __func__.4719, 23 -__func__.4719: + .type __func__.4720, %object + .size __func__.4720, 23 +__func__.4720: .string "rk_ftl_garbage_collect" .zero 1 - .type __func__.3532, %object - .size __func__.3532, 9 -__func__.3532: + .type __func__.3533, %object + .size __func__.3533, 9 +__func__.3533: .string "FtlWrite" .zero 7 - .type __func__.4193, %object - .size __func__.4193, 15 -__func__.4193: + .type __func__.4194, %object + .size __func__.4194, 15 +__func__.4194: .string "FtlLoadSysInfo" .zero 1 .type rk_sftl_vendor_storage_fops, %object diff --git a/drivers/rkflash/rkflash_blk.c b/drivers/rkflash/rkflash_blk.c index dc4167fba624..4baae8e78e56 100644 --- a/drivers/rkflash/rkflash_blk.c +++ b/drivers/rkflash/rkflash_blk.c @@ -188,10 +188,17 @@ static unsigned int rk_partition_init(struct flash_part *part) static int rkflash_proc_show(struct seq_file *m, void *v) { + int real_size = 0; + char *ftl_buf = kzalloc(4096, GFP_KERNEL); + + real_size = rknand_proc_ftlread(4096, ftl_buf); + if (real_size > 0) + seq_printf(m, "%s", ftl_buf); seq_printf(m, "Totle Read %ld KB\n", totle_read_data >> 1); seq_printf(m, "Totle Write %ld KB\n", totle_write_data >> 1); seq_printf(m, "totle_write_count %ld\n", totle_write_count); seq_printf(m, "totle_read_count %ld\n", totle_read_count); + kfree(ftl_buf); return 0; }