diff options
author | Dingqiang Lin <jon.lin@rock-chips.com> | 2018-10-11 17:30:35 +0800 |
---|---|---|
committer | Tao Huang <huangtao@rock-chips.com> | 2018-10-17 19:23:45 +0800 |
commit | d5d6b8dcf6e3165d85ed827be6b8ca811a41c49c (patch) | |
tree | 50100e5827fb9abdece3114daa7c5bdc95b873c6 /drivers/rkflash | |
parent | 2713d825104627b7e273f90de51feab6b02e388b (diff) |
drivers: rkflash: fix gc recovery bug
Read flash address is out of range.
Change-Id: I4926283c0b24bb6ae264155b89661022fd934825
Signed-off-by: Dingqiang Lin <jon.lin@rock-chips.com>
Diffstat (limited to 'drivers/rkflash')
-rw-r--r-- | drivers/rkflash/rk_sftl_arm_v7.S | 3903 | ||||
-rw-r--r-- | drivers/rkflash/rk_sftl_arm_v7_thumb.S | 4105 | ||||
-rw-r--r-- | drivers/rkflash/rk_sftl_arm_v8.S | 3261 |
3 files changed, 5655 insertions, 5614 deletions
diff --git a/drivers/rkflash/rk_sftl_arm_v7.S b/drivers/rkflash/rk_sftl_arm_v7.S index bda328556148..5dd1ca461724 100644 --- a/drivers/rkflash/rk_sftl_arm_v7.S +++ b/drivers/rkflash/rk_sftl_arm_v7.S @@ -1,8 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0 */ -/* - * Copyright (c) 2018 Rockchip Electronics Co. Ltd. - * date: 2018-09-30 +/* Copyright (c) 2018 Rockchip Electronics Co. Ltd. + * date: 2018-10-11 */ .file "rk_sftl.c" .global __udivsi3 @@ -4480,20 +4479,20 @@ FlashReadPages: sub fp, ip, #4 sub sp, sp, #12 mov r7, #0 - ldr r5, .L632 + ldr r5, .L633 mov r8, r1 - ldr r9, .L632+4 + ldr r9, .L633+4 mov r4, r0 - ldr r10, .L632+8 + ldr r10, .L633+8 ldrh r3, [r5, #12] str r3, [fp, #-52] .L606: cmp r7, r8 - bne .L616 + bne .L617 mov r0, #0 sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L616: +.L617: ldr r3, [r4, #8] cmp r3, #0 beq .L607 @@ -4510,19 +4509,23 @@ FlashReadPages: sub r1, fp, #44 mov r0, r4 bl l2p_addr_tran + ldr r0, [fp, #-48] + cmp r0, #3 + mvnhi r3, #0 + strhi r3, [r4] + bhi .L610 ldr r6, [r4, #8] ldr r3, [r4, #12] ldr ip, [r5, #3256] tst r6, #63 ldr r1, [fp, #-44] ldrne r6, [r5, #3312] - ldrb r0, [fp, #-48] @ zero_extendqisi2 mov r2, r6 blx ip str r0, [r4] ldrh r3, [r5, #14] cmp r3, #4 - bne .L611 + bne .L613 ldr r0, [fp, #-52] add r2, r6, #2048 ldr r3, [r4, #12] @@ -4533,21 +4536,21 @@ FlashReadPages: ldrb r0, [fp, #-48] @ zero_extendqisi2 blx ip cmn r0, #1 - beq .L612 + beq .L614 ldr r3, [r4, #12] ldr r2, [r3, #12] cmn r2, #1 - bne .L613 + bne .L615 ldr r2, [r3, #8] cmn r2, #1 - bne .L613 + bne .L615 ldr r3, [r3] cmn r3, #1 - beq .L613 -.L612: + beq .L615 +.L614: mvn r3, #0 str r3, [r4] -.L613: +.L615: ldr r3, [r4] sub r0, r0, #256 clz r0, r0 @@ -4557,24 +4560,24 @@ FlashReadPages: cmp r0, #0 movne r3, #256 strne r3, [r4] -.L611: +.L613: ldr r3, [r5, #3312] cmp r6, r3 - bne .L615 + bne .L610 ldr r0, [r4, #8] cmp r6, r0 - beq .L615 + beq .L610 ldrh r2, [r5, #58] mov r1, r6 lsl r2, r2, #9 bl ftl_memcpy -.L615: +.L610: add r7, r7, #1 add r4, r4, #20 b .L606 -.L633: +.L634: .align 2 -.L632: +.L633: .word .LANCHOR0 .word .LANCHOR1+216 .word .LC1 @@ -4591,31 +4594,31 @@ FtlLoadFactoryBbt: mov ip, sp push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} sub fp, ip, #4 - ldr r4, .L644 + ldr r4, .L645 mov r6, #0 mvn r9, #0 - ldr r10, .L644+4 + ldr r10, .L645+4 ldr r3, [r4, #3292] add r7, r4, #162 ldr r8, [r4, #3324] str r3, [r4, #3452] str r8, [r4, #3456] -.L635: +.L636: ldrh r3, [r4, #54] cmp r6, r3 - bcc .L640 + bcc .L641 mov r0, #0 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L640: +.L641: ldrh r5, [r4, #98] strh r9, [r7, #2]! @ movhi -.L637: +.L638: ldrh r3, [r4, #98] sub r5, r5, #1 uxth r5, r5 sub r2, r3, #16 cmp r5, r2 - ble .L638 + ble .L639 mla r3, r6, r3, r5 mov r2, #1 mov r1, r2 @@ -4625,18 +4628,18 @@ FtlLoadFactoryBbt: bl FlashReadPages ldr r3, [r4, #3444] cmn r3, #1 - beq .L637 + beq .L638 ldrh r2, [r8] movw r3, #61664 cmp r2, r3 - bne .L637 + bne .L638 strh r5, [r7] @ movhi -.L638: +.L639: add r6, r6, #1 - b .L635 -.L645: + b .L636 +.L646: .align 2 -.L644: +.L645: .word .LANCHOR0 .word .LANCHOR0+3444 .size FtlLoadFactoryBbt, .-FtlLoadFactoryBbt @@ -4654,7 +4657,7 @@ FtlGetLastWrittenPage: sub fp, ip, #4 sub sp, sp, #84 cmp r1, #1 - ldr r3, .L657 + ldr r3, .L658 lsl r6, r0, #10 mov r2, r1 mov r7, r1 @@ -4674,12 +4677,12 @@ FtlGetLastWrittenPage: ldr r3, [fp, #-96] cmn r3, #1 moveq r8, #0 - beq .L650 -.L649: + beq .L651 +.L650: mov r0, r5 sub sp, fp, #32 ldmfd sp, {r4, r5, r6, r7, r8, fp, sp, pc} -.L653: +.L654: add r3, r8, r5 mov r2, r7 add r3, r3, r3, lsr #31 @@ -4692,25 +4695,25 @@ FtlGetLastWrittenPage: bl FlashReadPages ldr r3, [fp, #-96] cmn r3, #1 - bne .L651 + bne .L652 ldr r3, [fp, #-92] cmn r3, #1 - bne .L651 + bne .L652 ldr r3, [fp, #-116] cmn r3, #1 subne r4, r4, #1 sxthne r5, r4 - bne .L650 -.L651: + bne .L651 +.L652: add r4, r4, #1 sxth r8, r4 -.L650: +.L651: cmp r8, r5 - ble .L653 - b .L649 -.L658: + ble .L654 + b .L650 +.L659: .align 2 -.L657: +.L658: .word .LANCHOR0 .size FtlGetLastWrittenPage, .-FtlGetLastWrittenPage .align 2 @@ -4727,7 +4730,7 @@ FtlScanSysBlk: sub fp, ip, #4 sub sp, sp, #24 mov r5, #0 - ldr r4, .L741 + ldr r4, .L742 movw r3, #3428 mov r1, r5 ldr r2, [r4, #128] @@ -4759,11 +4762,11 @@ FtlScanSysBlk: str r3, [r4, #2584] ldrh r3, [r4, #40] str r3, [fp, #-44] -.L660: +.L661: ldrh r3, [r6, #42] ldr r2, [fp, #-44] cmp r3, r2 - bls .L701 + bls .L702 ldr r1, [r6, #3176] mov r7, #0 ldrh r2, [r6, #32] @@ -4772,9 +4775,9 @@ FtlScanSysBlk: ldr r3, [r6, #3172] str r1, [fp, #-48] ldrh r9, [r6, #112] - ldr ip, .L741+4 - b .L702 -.L662: + ldr ip, .L742+4 + b .L703 +.L663: ldrb r0, [ip, r7] @ zero_extendqisi2 ldr r1, [fp, #-44] str r3, [fp, #-64] @@ -4787,7 +4790,7 @@ FtlScanSysBlk: ldr ip, [fp, #-56] ldr r2, [fp, #-60] ldr r3, [fp, #-64] - bne .L661 + bne .L662 mov r1, #20 mla r0, r1, r10, r8 ldr r1, [fp, #-52] @@ -4803,31 +4806,31 @@ FtlScanSysBlk: str r1, [r0, #12] add r1, r10, #1 uxth r10, r1 -.L661: +.L662: add r7, r7, #1 -.L702: +.L703: uxth r1, r7 cmp r2, r1 - bhi .L662 + bhi .L663 cmp r10, #0 - bne .L663 -.L700: + bne .L664 +.L701: ldr r3, [fp, #-44] add r3, r3, #1 uxth r3, r3 str r3, [fp, #-44] - b .L660 -.L663: + b .L661 +.L664: mov r2, #1 mov r1, r10 mov r0, r8 bl FlashReadPages mov r3, #0 -.L740: +.L741: str r3, [fp, #-48] ldrh r3, [fp, #-48] cmp r10, r3 - bls .L700 + bls .L701 ldr r3, [fp, #-48] mov r9, #20 mul r9, r9, r3 @@ -4839,9 +4842,9 @@ FtlScanSysBlk: cmn r3, #1 lsr ip, r1, #10 uxth r8, ip - bne .L667 + bne .L668 mov r3, #16 -.L669: +.L670: ldr r0, [r4, #3280] str ip, [fp, #-56] str r3, [fp, #-52] @@ -4857,74 +4860,74 @@ FtlScanSysBlk: ldr ip, [fp, #-56] cmp r2, r3 ldr r3, [fp, #-52] - bne .L666 + bne .L667 ldr r3, [r4, #3280] mvn r2, #0 str r2, [r3, r9] ldr r3, [r4, #3280] ldr r3, [r3, r9] cmp r3, r2 - bne .L667 -.L668: + bne .L668 +.L669: mov r1, #1 - b .L739 -.L666: + b .L740 +.L667: ldr r2, [r4, #3280] ldr r2, [r2, r9] cmn r2, #1 - bne .L667 + bne .L668 sub r3, r3, #1 uxth r3, r3 cmp r3, #0 - bne .L669 - b .L668 -.L667: + bne .L670 + b .L669 +.L668: ldr r2, [r6, #2540] ldr r3, [r7, #4] cmn r2, #1 - beq .L670 + beq .L671 cmp r2, r3 - bhi .L671 -.L670: + bhi .L672 +.L671: cmn r3, #1 addne r2, r3, #1 strne r2, [r5, #2540] -.L671: +.L672: ldrh r2, [r7] movw r1, #61604 cmp r2, r1 - beq .L673 - bhi .L674 + beq .L674 + bhi .L675 movw r3, #61574 cmp r2, r3 - beq .L675 -.L672: + beq .L676 +.L673: ldr r3, [fp, #-48] add r3, r3, #1 - b .L740 -.L674: + b .L741 +.L675: movw r3, #61634 cmp r2, r3 - beq .L676 + beq .L677 movw r3, #65535 cmp r2, r3 moveq r1, #0 - bne .L672 -.L739: + bne .L673 +.L740: uxth r0, ip bl FtlFreeSysBlkQueueIn - b .L672 -.L676: - ldr r9, .L741+8 + b .L673 +.L677: + ldr r9, .L742+8 ldr r3, [r4, #128] ldrh r2, [r9] cmp r2, r3 - bls .L678 + bls .L679 movw r2, #1222 - ldr r1, .L741+12 - ldr r0, .L741+16 + ldr r1, .L742+12 + ldr r0, .L742+16 bl sftl_printk -.L678: +.L679: ldr r0, [r4, #128] ldrh r2, [r9] ldr ip, [r4, #3372] @@ -4935,34 +4938,34 @@ FtlScanSysBlk: sxth r3, r3 sxth r1, r1 str r1, [fp, #-52] -.L679: +.L680: ldr r1, [fp, #-52] cmp r3, r1 - bgt .L685 + bgt .L686 cmp r3, #0 - bge .L717 - b .L672 -.L685: + bge .L718 + b .L673 +.L686: lsl lr, r3, #2 ldr r1, [r7, #4] str lr, [fp, #-56] ldr lr, [ip, r3, lsl #2] cmp r1, lr - bls .L680 + bls .L681 ldr r1, [ip] cmp r1, #0 - bne .L681 + bne .L682 cmp r0, r2 addne r2, r2, #1 strhne r2, [r9] @ movhi -.L681: +.L682: uxth ip, r3 mov r1, #0 -.L682: +.L683: uxth r0, r1 sxth r2, r1 cmp ip, r0 - bhi .L683 + bhi .L684 ldr r1, [r7, #4] cmp r3, #0 ldr r2, [r5, #3372] @@ -4971,16 +4974,16 @@ FtlScanSysBlk: lsl r2, r3, #1 ldr r1, [r5, #3348] strh r8, [r1, r2] @ movhi - blt .L672 - ldr r2, .L741+8 + blt .L673 + ldr r2, .L742+8 ldr r1, [r5, #128] ldrh r2, [r2] sub r1, r1, r2 sub r1, r1, #1 sxth r1, r1 cmp r3, r1 - bgt .L672 -.L717: + bgt .L673 +.L718: add r2, r2, #1 ldr r1, [r7, #4] strh r2, [r9] @ movhi @@ -4988,10 +4991,10 @@ FtlScanSysBlk: str r1, [r2, r3, lsl #2] lsl r3, r3, #1 ldr r2, [r4, #3348] -.L737: +.L738: strh r8, [r2, r3] @ movhi - b .L672 -.L683: + b .L673 +.L684: ldr r0, [r6, #3372] add r1, r1, #1 add lr, r0, r2, lsl #2 @@ -5002,21 +5005,21 @@ FtlScanSysBlk: add lr, r0, r2 ldrh lr, [lr, #2] strh lr, [r0, r2] @ movhi - b .L682 -.L680: + b .L683 +.L681: sub r3, r3, #1 sxth r3, r3 - b .L679 -.L675: + b .L680 +.L676: ldrh r2, [r4, #144] ldrh r3, [r4, #120] cmp r2, r3 - bls .L688 + bls .L689 movw r2, #1263 - ldr r1, .L741+12 - ldr r0, .L741+16 + ldr r1, .L742+12 + ldr r0, .L742+16 bl sftl_printk -.L688: +.L689: ldrh r2, [r4, #120] ldrh r1, [r4, #144] ldr ip, [r4, #3360] @@ -5024,15 +5027,15 @@ FtlScanSysBlk: sxth r3, r0 sub r0, r0, r1 str r0, [fp, #-52] -.L689: +.L690: ldr r0, [fp, #-52] cmp r3, r0 - ble .L694 + ble .L695 ldr r9, [ip, r3, lsl #2] lsl lr, r3, #2 ldr r0, [r7, #4] cmp r0, r9 - bls .L690 + bls .L691 sub r2, r2, r1 ldr r0, [ip] clz r2, r2 @@ -5044,27 +5047,27 @@ FtlScanSysBlk: addeq r1, r1, #1 strheq r1, [r5, #144] @ movhi mov r1, #0 -.L692: +.L693: uxth r0, r1 sxth r2, r1 cmp ip, r0 - bhi .L693 + bhi .L694 ldr r1, [r7, #4] ldr r2, [r5, #3360] str r1, [r2, lr] lsl r2, r3, #1 ldr r1, [r5, #148] strh r8, [r1, r2] @ movhi -.L694: +.L695: cmp r3, #0 - blt .L672 + blt .L673 ldrh r2, [r5, #120] ldrh r1, [r5, #144] sub r2, r2, #1 sub r2, r2, r1 sxth r2, r2 cmp r3, r2 - bgt .L672 + bgt .L673 add r1, r1, #1 ldr r2, [r5, #3360] strh r1, [r5, #144] @ movhi @@ -5072,8 +5075,8 @@ FtlScanSysBlk: str r1, [r2, r3, lsl #2] lsl r3, r3, #1 ldr r2, [r5, #148] - b .L737 -.L693: + b .L738 +.L694: ldr r0, [r6, #3360] add r1, r1, #1 add r9, r0, r2, lsl #2 @@ -5084,81 +5087,81 @@ FtlScanSysBlk: add r9, r0, r2 ldrh r9, [r9, #2] strh r9, [r0, r2] @ movhi - b .L692 -.L690: + b .L693 +.L691: sub r3, r3, #1 sxth r3, r3 - b .L689 -.L673: - ldr r9, .L741+20 + b .L690 +.L674: + ldr r9, .L742+20 movw r2, #65535 ldrh r1, [r9] cmp r1, r2 strheq r8, [r9] @ movhi - beq .L738 + beq .L739 ldrh r0, [r9, #4] cmp r0, r2 - beq .L697 + beq .L698 mov r1, #1 bl FtlFreeSysBlkQueueIn -.L697: +.L698: ldr r3, [r7, #4] ldr r2, [r4, #2584] cmp r2, r3 strhcs r8, [r9, #4] @ movhi - bcs .L672 + bcs .L673 ldrh r3, [r9] strh r8, [r9] @ movhi strh r3, [r9, #4] @ movhi ldr r3, [r7, #4] -.L738: +.L739: str r3, [r4, #2584] - b .L672 -.L701: + b .L673 +.L702: ldr r2, [r6, #3348] ldrh r3, [r2] cmp r3, #0 - beq .L703 -.L706: + beq .L704 +.L707: ldr r1, [r4, #148] ldrh r2, [r1] cmp r2, #0 - beq .L704 -.L705: + beq .L705 +.L706: movw r3, #3428 ldrh r2, [r4, r3] ldr r3, [r4, #128] cmp r2, r3 - bls .L736 + bls .L737 movw r2, #1388 - ldr r1, .L741+12 - ldr r0, .L741+16 + ldr r1, .L742+12 + ldr r0, .L742+16 bl sftl_printk -.L736: +.L737: mov r0, #0 sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L703: +.L704: movw r1, #3428 ldrh r1, [r6, r1] cmp r1, #0 ldrne r1, [r6, #128] - beq .L706 -.L707: + beq .L707 +.L708: sxth ip, r3 cmp ip, r1 - bcs .L706 + bcs .L707 lsl r0, ip, #1 add r3, r3, #1 ldrh r0, [r2, r0] cmp r0, #0 - beq .L707 + beq .L708 mov r3, ip mov lr, #0 -.L708: +.L709: ldr r2, [r5, #128] cmp r3, r2 - bcs .L706 + bcs .L707 ldr r1, [r5, #3348] lsl r2, r3, #1 sub r0, r3, ip @@ -5172,27 +5175,27 @@ FtlScanSysBlk: str r6, [r1, r0, lsl #2] ldr r1, [r5, #3348] strh lr, [r1, r2] @ movhi - b .L708 -.L704: + b .L709 +.L705: ldrh r3, [r4, #144] cmp r3, #0 ldrhne r0, [r4, #120] - beq .L705 -.L713: + beq .L706 +.L714: sxth r3, r2 cmp r3, r0 mov ip, r3 - bge .L705 + bge .L706 lsl lr, r3, #1 add r2, r2, #1 ldrh lr, [r1, lr] cmp lr, #0 - beq .L713 + beq .L714 mov lr, #0 -.L714: +.L715: ldrh r2, [r5, #120] cmp r3, r2 - bge .L705 + bge .L706 ldr r1, [r5, #148] lsl r2, r3, #1 sub r0, r3, ip @@ -5206,10 +5209,10 @@ FtlScanSysBlk: str r6, [r1, r0, lsl #2] ldr r1, [r5, #148] strh lr, [r1, r2] @ movhi - b .L714 -.L742: + b .L715 +.L743: .align 2 -.L741: +.L742: .word .LANCHOR0 .word .LANCHOR0+60 .word .LANCHOR0+3428 @@ -5229,8 +5232,8 @@ FtlLoadBbt: mov ip, sp push {r4, r5, r6, r7, fp, ip, lr, pc} sub fp, ip, #4 - ldr r4, .L775 - ldr r7, .L775+4 + ldr r4, .L776 + ldr r7, .L776+4 ldr r3, [r4, #3292] ldr r6, [r4, #3324] str r3, [r4, #3452] @@ -5239,11 +5242,11 @@ FtlLoadBbt: ldrh r5, [r4, #98] sub r5, r5, #1 uxth r5, r5 -.L744: +.L745: ldrh r3, [r4, #98] sub r3, r3, #16 cmp r5, r3 - ble .L747 + ble .L748 lsl r3, r5, #10 mov r2, #1 mov r1, r2 @@ -5252,7 +5255,7 @@ FtlLoadBbt: bl FlashReadPages ldr r3, [r4, #3444] cmn r3, #1 - bne .L745 + bne .L746 ldr r3, [r4, #3448] mov r2, #1 mov r1, r2 @@ -5260,40 +5263,40 @@ FtlLoadBbt: add r3, r3, #1 str r3, [r4, #3448] bl FlashReadPages -.L745: +.L746: ldr r3, [r4, #3444] cmn r3, #1 - beq .L746 + beq .L747 ldrh r2, [r6] movw r3, #61649 cmp r2, r3 - bne .L746 + bne .L747 ldr r3, [r6, #4] strh r5, [r4, #152] @ movhi str r3, [r4, #160] ldrh r3, [r6, #8] strh r3, [r4, #156] @ movhi -.L747: +.L748: ldrh r3, [r4, #152] movw r2, #65535 cmp r3, r2 - beq .L761 + beq .L762 ldrh r3, [r4, #156] cmp r3, r2 - beq .L751 + beq .L752 lsl r3, r3, #10 mov r2, #1 mov r1, r2 - ldr r0, .L775+4 + ldr r0, .L776+4 str r3, [r4, #3448] bl FlashReadPages ldr r3, [r4, #3444] cmn r3, #1 - beq .L751 + beq .L752 ldrh r2, [r6] movw r3, #61649 cmp r2, r3 - bne .L751 + bne .L752 ldr r3, [r6, #4] ldr r2, [r4, #160] cmp r3, r2 @@ -5302,52 +5305,52 @@ FtlLoadBbt: ldrhhi r3, [r6, #8] strhhi r2, [r4, #152] @ movhi strhhi r3, [r4, #156] @ movhi -.L751: - ldr r7, .L775+4 +.L752: + ldr r7, .L776+4 mov r1, #1 ldrh r0, [r4, #152] bl FtlGetLastWrittenPage sxth r5, r0 add r0, r0, #1 strh r0, [r4, #154] @ movhi -.L753: +.L754: cmp r5, #0 - bge .L756 + bge .L757 mov r2, #253 - ldr r1, .L775+8 - ldr r0, .L775+12 + ldr r1, .L776+8 + ldr r0, .L776+12 bl sftl_printk -.L755: +.L756: ldrh r3, [r6, #10] ldrh r0, [r6, #12] strh r3, [r4, #158] @ movhi movw r3, #65535 cmp r0, r3 - beq .L758 + beq .L759 ldr r2, [r4, #28] cmp r0, r2 - beq .L758 + beq .L759 ldrh r3, [r4, #42] lsr r3, r3, #2 cmp r0, r3 cmpcc r2, r3 - bcs .L758 + bcs .L759 bl FtlSysBlkNumInit -.L758: - ldr r6, .L775+16 - mov r5, #0 - ldr r7, .L775+20 .L759: + ldr r6, .L776+16 + mov r5, #0 + ldr r7, .L776+20 +.L760: ldrh r3, [r4, #54] cmp r5, r3 - bcc .L760 + bcc .L761 mov r0, #0 ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} -.L746: +.L747: sub r5, r5, #1 uxth r5, r5 - b .L744 -.L756: + b .L745 +.L757: ldrh r3, [r4, #152] mov r2, #1 mov r1, r2 @@ -5359,16 +5362,16 @@ FtlLoadBbt: bl FlashReadPages ldr r3, [r4, #3444] cmn r3, #1 - beq .L754 + beq .L755 ldrh r2, [r6] movw r3, #61649 cmp r2, r3 - beq .L755 -.L754: + beq .L756 +.L755: sub r5, r5, #1 sxth r5, r5 - b .L753 -.L760: + b .L754 +.L761: ldrh r2, [r7] ldr r1, [r4, #3452] ldr r0, [r6, #4]! @@ -5376,13 +5379,13 @@ FtlLoadBbt: mla r1, r5, r2, r1 add r5, r5, #1 bl ftl_memcpy - b .L759 -.L761: + b .L760 +.L762: mvn r0, #0 ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} -.L776: +.L777: .align 2 -.L775: +.L776: .word .LANCHOR0 .word .LANCHOR0+3444 .word .LANCHOR1+245 @@ -5402,7 +5405,7 @@ FtlLoadSysInfo: mov ip, sp push {r4, r5, r6, r7, r8, fp, ip, lr, pc} sub fp, ip, #4 - ldr r4, .L798 + ldr r4, .L799 mov r1, #0 ldr r3, [r4, #3292] add r6, r4, #2576 @@ -5416,37 +5419,37 @@ FtlLoadSysInfo: ldrh r0, [r6] movw r3, #65535 cmp r0, r3 - bne .L778 -.L786: + bne .L779 +.L787: mvn r0, #0 ldmfd sp, {r4, r5, r6, r7, r8, fp, sp, pc} -.L778: - ldr r7, .L798+4 +.L779: + ldr r7, .L799+4 mov r1, #1 - ldr r8, .L798+8 + ldr r8, .L799+8 bl FtlGetLastWrittenPage sxth r5, r0 add r0, r0, #1 strh r0, [r6, #2] @ movhi -.L780: +.L781: cmp r5, #0 - bge .L783 + bge .L784 movw r2, #1448 - ldr r1, .L798+12 - ldr r0, .L798+16 + ldr r1, .L799+12 + ldr r0, .L799+16 bl sftl_printk -.L782: +.L783: ldrh r3, [r4, #40] ldrh r2, [r4, #110] add r3, r3, #24 cmp r2, r3, lsl #1 - bcs .L785 + bcs .L786 movw r2, #1450 - ldr r1, .L798+12 - ldr r0, .L798+16 + ldr r1, .L799+12 + ldr r0, .L799+16 bl sftl_printk -.L785: - ldr r5, .L798+20 +.L786: + ldr r5, .L799+20 mov r2, #48 ldr r1, [r4, #3452] mov r0, r5 @@ -5468,15 +5471,15 @@ FtlLoadSysInfo: add r1, r3, r1 bl ftl_memcpy ldr r2, [r4, #2268] - ldr r3, .L798+8 + ldr r3, .L799+8 cmp r2, r3 - bne .L786 + bne .L787 ldrb r2, [r4, #2278] @ zero_extendqisi2 ldrh r3, [r4, #54] ldrh r7, [r5, #8] cmp r2, r3 strh r7, [r6, #6] @ movhi - bne .L786 + bne .L787 ldrh r3, [r4, #102] ldrh r2, [r4, #58] ldr r6, [r4, #44] @@ -5493,15 +5496,15 @@ FtlLoadSysInfo: cmp r7, r6 movw r3, #2572 strh r0, [r4, r3] @ movhi - bls .L787 + bls .L788 mov r2, #1472 - ldr r1, .L798+12 - ldr r0, .L798+16 + ldr r1, .L799+12 + ldr r0, .L799+16 bl sftl_printk -.L787: +.L788: ldrh r0, [r5, #14] movw r3, #2348 - ldr r1, .L798+24 + ldr r1, .L799+24 mvn ip, #0 strh r0, [r4, r3] @ movhi ldrh r3, [r5, #16] @@ -5556,37 +5559,37 @@ FtlLoadSysInfo: strhi r3, [r4, #2544] movw r3, #65535 cmp r0, r3 - beq .L790 - ldr r0, .L798+24 + beq .L791 + ldr r0, .L799+24 bl make_superblock -.L790: +.L791: movw r3, #2396 ldrh r2, [r4, r3] movw r3, #65535 cmp r2, r3 - beq .L791 - ldr r0, .L798+28 + beq .L792 + ldr r0, .L799+28 bl make_superblock -.L791: +.L792: movw r3, #2444 ldrh r2, [r4, r3] movw r3, #65535 cmp r2, r3 - beq .L792 - ldr r0, .L798+32 + beq .L793 + ldr r0, .L799+32 bl make_superblock -.L792: +.L793: movw r3, #2588 ldrh r2, [r4, r3] movw r3, #65535 cmp r2, r3 - beq .L793 - ldr r0, .L798+36 + beq .L794 + ldr r0, .L799+36 bl make_superblock -.L793: +.L794: mov r0, #0 ldmfd sp, {r4, r5, r6, r7, r8, fp, sp, pc} -.L783: +.L784: ldrh r3, [r6] mov r2, #1 mov r1, r2 @@ -5598,23 +5601,23 @@ FtlLoadSysInfo: bl FlashReadPages ldr r3, [r4, #3444] cmn r3, #1 - beq .L781 + beq .L782 ldr r3, [r4, #3292] ldr r3, [r3] cmp r3, r8 - bne .L781 + bne .L782 ldr r3, [r4, #3324] ldrh r2, [r3] movw r3, #61604 cmp r2, r3 - beq .L782 -.L781: + beq .L783 +.L782: sub r5, r5, #1 sxth r5, r5 - b .L780 -.L799: + b .L781 +.L800: .align 2 -.L798: +.L799: .word .LANCHOR0 .word .LANCHOR0+3444 .word 1179929683 @@ -5640,7 +5643,7 @@ FlashProgPages: sub fp, ip, #4 sub sp, sp, #48 mov r8, #0 - ldr r6, .L836 + ldr r6, .L839 mov r4, r0 str r3, [fp, #-88] mov r5, r0 @@ -5652,45 +5655,52 @@ FlashProgPages: str r3, [fp, #-72] lsl r3, r3, #3 str r3, [fp, #-80] -.L801: +.L802: ldr r3, [fp, #-76] cmp r8, r3 - bne .L814 + bne .L816 ldr r3, [fp, #-88] cmp r3, #0 - beq .L807 + beq .L810 mov r5, #0 - ldr r7, .L836+4 - ldr r6, .L836 - b .L815 -.L814: + ldr r7, .L839+4 + ldr r6, .L839 + b .L817 +.L816: ldr r3, [r5, #8] cmp r3, #0 - beq .L802 + beq .L803 ldr r3, [r5, #12] cmp r3, #0 - bne .L803 -.L802: - mov r2, #136 - ldr r1, .L836+8 - ldr r0, .L836+12 - bl sftl_printk + bne .L804 .L803: + mov r2, #140 + ldr r1, .L839+8 + ldr r0, .L839+12 + bl sftl_printk +.L804: sub r2, fp, #68 sub r1, fp, #64 mov r0, r5 bl l2p_addr_tran ldr r7, [fp, #-68] + cmp r7, #3 + bls .L805 +.L838: + mvn r3, #0 + str r3, [r5] + b .L806 +.L805: cmp r7, #0 - bne .L804 + bne .L807 ldr r3, [fp, #-64] ldr r2, [fp, #-80] cmp r2, r3 - bls .L804 - ldr r5, .L836+8 - ldr r6, .L836+16 - b .L835 -.L806: + bls .L807 + ldr r5, .L839+8 + ldr r6, .L839+16 + b .L837 +.L809: mvn r3, #0 ldr r2, [r4, #-16] str r3, [r4, #-20] @@ -5701,36 +5711,36 @@ FlashProgPages: mov r3, #16 mov r2, #4 ldr r1, [r4, #-12] - ldr r0, .L836+20 + ldr r0, .L839+20 bl rknand_print_hex mov r3, #4 ldr r1, [r4, #-8] mov r2, r3 - ldr r0, .L836+24 + ldr r0, .L839+24 bl rknand_print_hex -.L835: +.L837: ldr r3, [fp, #-76] add r4, r4, #20 cmp r7, r3 - bne .L806 + bne .L809 bl dump_stack -.L807: +.L810: mov r0, #0 sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L804: +.L807: ldr r1, [r5, #8] tst r1, #63 moveq r7, r1 - beq .L808 + beq .L811 ldr r7, [r10, #3312] cmp r1, r7 - beq .L808 + beq .L811 ldrh r2, [r10, #58] mov r0, r7 lsl r2, r2, #9 bl ftl_memcpy -.L808: +.L811: ldr r3, [r5, #12] mov r2, r7 ldr ip, [r10, #3252] @@ -5743,7 +5753,7 @@ FlashProgPages: strne r3, [r5] ldrh r3, [r6, #14] cmp r3, #4 - bne .L812 + bne .L806 ldr r0, [fp, #-72] add r2, r7, #2048 ldr r3, [r5, #12] @@ -5754,13 +5764,12 @@ FlashProgPages: ldrb r0, [fp, #-68] @ zero_extendqisi2 blx ip cmp r0, #0 - mvnne r3, #0 - strne r3, [r5] -.L812: + bne .L838 +.L806: add r8, r8, #1 add r5, r5, #20 - b .L801 -.L819: + b .L802 +.L821: ldr r2, [r9, #3312] mov r3, #0 mov r1, #1 @@ -5778,49 +5787,49 @@ FlashProgPages: bl FlashReadPages ldr r10, [fp, #-60] cmn r10, #1 - bne .L816 + bne .L818 ldr r1, [r4, #4] mov r0, r7 bl sftl_printk str r10, [r4] -.L816: +.L818: ldr r3, [r4, #12] cmp r3, #0 - beq .L817 + beq .L819 ldr r2, [r3] ldr r3, [r6, #3320] ldr r3, [r3] cmp r2, r3 - beq .L817 + beq .L819 ldr r1, [r4, #4] - ldr r0, .L836+28 + ldr r0, .L839+28 bl sftl_printk mvn r3, #0 str r3, [r4] -.L817: +.L819: ldr r3, [r4, #8] cmp r3, #0 - beq .L818 + beq .L820 ldr r2, [r3] ldr r3, [r6, #3312] ldr r3, [r3] cmp r2, r3 - beq .L818 + beq .L820 ldr r1, [r4, #4] - ldr r0, .L836+32 + ldr r0, .L839+32 bl sftl_printk mvn r3, #0 str r3, [r4] -.L818: +.L820: add r5, r5, #1 add r4, r4, #20 -.L815: +.L817: cmp r8, r5 - bne .L819 - b .L807 -.L837: + bne .L821 + b .L810 +.L840: .align 2 -.L836: +.L839: .word .LANCHOR0 .word .LC86 .word .LANCHOR1+271 @@ -5845,31 +5854,31 @@ FtlLowFormatEraseBlock: sub fp, ip, #4 sub sp, sp, #12 mov r9, #0 - ldr ip, .L880 + ldr ip, .L883 uxtb r6, r1 uxth r7, r0 mov r5, r9 mov r4, r9 mov r10, ip str r7, [ip, #3276] -.L839: +.L842: ldrh r1, [r10, #32] uxth r3, r9 cmp r1, r3 - bhi .L843 + bhi .L846 cmp r5, #0 - beq .L838 + beq .L841 mov r8, #0 mov r9, #20 mov r2, r5 mov r1, #0 ldr r0, [r10, #3260] bl FlashEraseBlocks -.L846: +.L849: uxth r3, r8 cmp r5, r3 - bhi .L848 -.L849: + bhi .L851 +.L852: cmp r6, #0 ldrhne r3, [r10, #104] moveq r3, #2 @@ -5880,55 +5889,55 @@ FtlLowFormatEraseBlock: strne r3, [fp, #-48] mov r3, #0 str r3, [fp, #-44] -.L858: +.L861: mov r8, #0 mov r5, r8 -.L850: +.L853: ldrh r1, [r10, #32] uxth r3, r8 cmp r1, r3 - bhi .L853 + bhi .L856 cmp r5, #0 - beq .L838 + beq .L841 mov r9, #0 mov r3, #1 ldr r2, [fp, #-48] mov r1, r5 ldr r0, [r10, #3260] bl FlashProgPages -.L855: +.L858: uxth r3, r9 cmp r5, r3 - bhi .L857 + bhi .L860 ldr r3, [fp, #-44] ldr r2, [fp, #-52] add r3, r3, #1 str r3, [fp, #-44] ldrh r3, [fp, #-44] cmp r2, r3 - bhi .L858 + bhi .L861 mov r8, #0 mov r9, #20 -.L859: +.L862: uxth r3, r8 cmp r5, r3 - bhi .L861 + bhi .L864 adds r6, r6, #0 movne r6, #1 cmp r7, #63 movhi r7, r6 orrls r7, r6, #1 cmp r7, #0 - beq .L838 + beq .L841 mov r2, r5 ldr r1, [fp, #-48] ldr r0, [r10, #3260] bl FlashEraseBlocks -.L838: +.L841: mov r0, r4 sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L843: +.L846: uxth r3, r9 mov r2, #20 ldr r0, [r10, #3260] @@ -5941,17 +5950,17 @@ FtlLowFormatEraseBlock: bl V2P_block cmp r6, #0 mov r8, r0 - beq .L840 + beq .L843 bl IsBlkInVendorPart cmp r0, #0 - bne .L841 -.L840: + bne .L844 +.L843: mov r0, r8 bl FtlBbmIsBadBlock cmp r0, #0 addne r4, r4, #1 uxthne r4, r4 - bne .L841 + bne .L844 ldr r1, [r10, #3260] mov r3, #20 lsl r8, r8, #10 @@ -5970,25 +5979,25 @@ FtlLowFormatEraseBlock: bic r3, r3, #3 add r3, r0, r3 str r3, [r1, #12] -.L841: +.L844: add r9, r9, #1 - b .L839 -.L848: + b .L842 +.L851: mul r3, r9, r8 ldr r2, [r10, #3260] add r1, r2, r3 ldr r3, [r2, r3] cmn r3, #1 - bne .L847 + bne .L850 ldr r0, [r1, #4] add r4, r4, #1 uxth r4, r4 ubfx r0, r0, #10, #16 bl FtlBbmMapBadBlock -.L847: +.L850: add r8, r8, #1 - b .L846 -.L853: + b .L849 +.L856: uxth r3, r8 mov r2, #20 ldr r0, [r10, #3260] @@ -6001,15 +6010,15 @@ FtlLowFormatEraseBlock: bl V2P_block cmp r6, #0 mov r9, r0 - beq .L851 + beq .L854 bl IsBlkInVendorPart cmp r0, #0 - bne .L852 -.L851: + bne .L855 +.L854: mov r0, r9 bl FtlBbmIsBadBlock cmp r0, #0 - bne .L852 + bne .L855 ldr r1, [r10, #3260] mov r3, #20 mla r1, r3, r5, r1 @@ -6029,44 +6038,44 @@ FtlLowFormatEraseBlock: bic r3, r3, #3 add r3, r0, r3 str r3, [r1, #12] -.L852: +.L855: add r8, r8, #1 - b .L850 -.L857: + b .L853 +.L860: mov r3, #20 ldr r2, [r10, #3260] mul r3, r3, r9 add r1, r2, r3 ldr r3, [r2, r3] cmp r3, #0 - beq .L856 + beq .L859 ldr r0, [r1, #4] add r4, r4, #1 uxth r4, r4 ubfx r0, r0, #10, #16 bl FtlBbmMapBadBlock -.L856: +.L859: add r9, r9, #1 - b .L855 -.L861: + b .L858 +.L864: cmp r6, #0 - beq .L860 + beq .L863 mul r3, r9, r8 ldr r2, [r10, #3260] add r1, r2, r3 ldr r3, [r2, r3] cmp r3, #0 - bne .L860 + bne .L863 ldr r0, [r1, #4] mov r1, #1 ubfx r0, r0, #10, #16 bl FtlFreeSysBlkQueueIn -.L860: +.L863: add r8, r8, #1 - b .L859 -.L881: + b .L862 +.L884: .align 2 -.L880: +.L883: .word .LANCHOR0 .size FtlLowFormatEraseBlock, .-FtlLowFormatEraseBlock .align 2 @@ -6086,15 +6095,15 @@ Ftl_write_map_blk_to_last_page: mov r4, r0 ldr r5, [r0, #12] cmp r3, r2 - bne .L883 + bne .L886 ldrh r3, [r0, #8] cmp r3, #0 - beq .L884 + beq .L887 movw r2, #641 - ldr r1, .L892 - ldr r0, .L892+4 + ldr r1, .L895 + ldr r0, .L895+4 bl sftl_printk -.L884: +.L887: ldrh r3, [r4, #8] add r3, r3, #1 strh r3, [r4, #8] @ movhi @@ -6106,17 +6115,17 @@ Ftl_write_map_blk_to_last_page: ldr r3, [r4, #28] add r3, r3, #1 str r3, [r4, #28] -.L885: +.L888: mov r0, #0 ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} -.L883: +.L886: 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, .L892+8 + ldr r5, .L895+8 orr r3, r3, r7, lsl #10 str r3, [r5, #3448] ldr r3, [r5, #3292] @@ -6124,7 +6133,7 @@ Ftl_write_map_blk_to_last_page: ldr r3, [r5, #3324] str r3, [r5, #3456] str r2, [r3, #4] - ldr r2, .L892+12 + ldr r2, .L895+12 strh r2, [r3, #8] @ movhi ldrh r2, [r0, #4] strh r7, [r3, #2] @ movhi @@ -6135,27 +6144,27 @@ Ftl_write_map_blk_to_last_page: bl ftl_memset mov r2, #0 mov r3, r2 -.L886: +.L889: ldrh r0, [r4, #6] uxth r1, r2 cmp r0, r1 - bhi .L888 + bhi .L891 mov r2, #1 mov r3, #0 mov r1, r2 - ldr r0, .L892+16 + ldr r0, .L895+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 .L885 -.L888: + b .L888 +.L891: uxth r1, r2 ldr r0, [r6, r1, lsl #2] cmp r7, r0, lsr #10 - bne .L887 + bne .L890 ldr r0, [r5, #3292] add r3, r3, #1 uxth r3, r3 @@ -6164,12 +6173,12 @@ Ftl_write_map_blk_to_last_page: ldr r1, [r5, #3292] add r1, r1, r3, lsl #3 str r0, [r1, #4] -.L887: +.L890: add r2, r2, #1 - b .L886 -.L893: + b .L889 +.L896: .align 2 -.L892: +.L895: .word .LANCHOR1+286 .word .LC1 .word .LANCHOR0 @@ -6188,13 +6197,13 @@ FtlMapWritePage: mov ip, sp push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} sub fp, ip, #4 - ldr r7, .L912 + ldr r7, .L915 mov r4, r0 mov r8, r1 mov r9, r2 mov r6, #0 mov r5, r7 -.L895: +.L898: ldr r3, [r7, #2524] add r3, r3, #1 str r3, [r7, #2524] @@ -6202,35 +6211,35 @@ FtlMapWritePage: ldrh r2, [r4, #2] sub r3, r3, #1 cmp r2, r3 - bge .L896 + bge .L899 ldrh r2, [r4] movw r3, #65535 cmp r2, r3 - bne .L897 -.L896: + bne .L900 +.L899: mov r0, r4 bl Ftl_write_map_blk_to_last_page -.L897: +.L900: ldrh r3, [r4] ldr r2, [r4, #12] lsl r3, r3, #1 ldrh r3, [r2, r3] cmp r3, #0 - bne .L898 + bne .L901 movw r2, #699 - ldr r1, .L912+4 - ldr r0, .L912+8 + ldr r1, .L915+4 + ldr r0, .L915+8 bl sftl_printk -.L898: +.L901: ldrh r2, [r4] ldrh r3, [r4, #10] cmp r2, r3 - bcc .L899 + bcc .L902 mov r2, #700 - ldr r1, .L912+4 - ldr r0, .L912+8 + ldr r1, .L915+4 + ldr r0, .L915+8 bl sftl_printk -.L899: +.L902: ldrh r3, [r4] mov r1, #16 ldr r2, [r4, #12] @@ -6245,7 +6254,7 @@ FtlMapWritePage: bl __memzero ldr r3, [r5, #3456] ldr r2, [r4, #28] - ldr r0, .L912+12 + ldr r0, .L915+12 strh r8, [r3, #8] @ movhi str r2, [r3, #4] ldrh r2, [r4, #4] @@ -6261,10 +6270,10 @@ FtlMapWritePage: strh r3, [r4, #2] @ movhi ldr r2, [r5, #3444] cmn r2, #1 - bne .L900 + bne .L903 ldr r1, [r5, #3448] add r6, r6, #1 - ldr r0, .L912+16 + ldr r0, .L915+16 uxth r6, r6 bl sftl_printk ldrh r3, [r4, #2] @@ -6273,38 +6282,38 @@ FtlMapWritePage: subls r3, r3, #1 strhls r3, [r4, #2] @ movhi cmp r6, #3 - bls .L902 + bls .L905 mov r2, r6 ldr r1, [r5, #3448] - ldr r0, .L912+20 + ldr r0, .L915+20 bl sftl_printk -.L903: - b .L903 -.L902: +.L906: + b .L906 +.L905: ldr r3, [r4, #32] cmp r3, #0 - beq .L895 -.L911: - b .L911 -.L900: + beq .L898 +.L914: + b .L914 +.L903: cmp r3, #1 cmpne r2, #256 - beq .L906 + beq .L909 ldr r0, [r4, #36] cmp r0, #0 - beq .L907 -.L906: + beq .L910 +.L909: mov r3, #0 str r3, [r4, #36] - b .L895 -.L907: + b .L898 +.L910: ldr r2, [r5, #3448] ldr r3, [r4, #24] str r2, [r3, r8, lsl #2] ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L913: +.L916: .align 2 -.L912: +.L915: .word .LANCHOR0 .word .LANCHOR1+317 .word .LC1 @@ -6324,22 +6333,22 @@ load_l2p_region: mov ip, sp push {r4, r5, r6, r7, r8, fp, ip, lr, pc} sub fp, ip, #4 - ldr r4, .L921 + ldr r4, .L924 uxth r6, r0 uxth r8, r1 ldrh r3, [r4, #136] cmp r3, r6 - bcs .L915 + bcs .L918 movw r2, #485 - ldr r1, .L921+4 - ldr r0, .L921+8 + ldr r1, .L924+4 + ldr r0, .L924+8 bl sftl_printk -.L915: +.L918: ldr r3, [r4, #3368] mov r5, #12 ldr r7, [r3, r6, lsl #2] cmp r7, #0 - bne .L916 + bne .L919 mul r5, r5, r8 ldr r3, [r4, #2492] ldrh r2, [r4, #110] @@ -6352,14 +6361,14 @@ load_l2p_region: ldr r3, [r4, #2492] add r5, r3, r5 str r7, [r5, #4] -.L917: +.L920: mov r0, #0 ldmfd sp, {r4, r5, r6, r7, r8, fp, sp, pc} -.L916: +.L919: mul r5, r5, r8 ldr r3, [r4, #2492] mov r2, #1 - ldr r0, .L921+12 + ldr r0, .L924+12 mov r1, r2 str r7, [r4, #3448] add r3, r3, r5 @@ -6371,54 +6380,54 @@ load_l2p_region: ldr r8, [r4, #3456] ldrh r3, [r8, #8] cmp r3, r6 - beq .L918 + beq .L921 mov r2, r7 mov r1, r6 - ldr r0, .L921+16 + ldr r0, .L924+16 bl sftl_printk mov r3, #4 ldr r1, [r4, #3456] mov r2, r3 - ldr r0, .L921+20 + ldr r0, .L924+20 bl rknand_print_hex ldrh r3, [r4, #136] mov r2, #4 ldr r1, [r4, #3368] - ldr r0, .L921+24 + ldr r0, .L924+24 bl rknand_print_hex -.L919: +.L922: ldrh r3, [r8, #8] cmp r3, r6 - beq .L920 + beq .L923 mov r2, #508 - ldr r1, .L921+4 - ldr r0, .L921+8 + ldr r1, .L924+4 + ldr r0, .L924+8 bl sftl_printk -.L920: +.L923: ldr r3, [r4, #2492] mov r1, #0 add r2, r3, r5 str r1, [r2, #4] strh r6, [r3, r5] @ movhi - b .L917 -.L918: + b .L920 +.L921: ldr r3, [r4, #3444] cmp r3, #256 - bne .L919 + bne .L922 mov r2, r7 mov r1, r6 - ldr r0, .L921+28 + ldr r0, .L924+28 bl sftl_printk ldr r3, [r4, #2492] mov r1, r6 - ldr r0, .L921+32 + ldr r0, .L924+32 add r3, r3, r5 ldr r2, [r3, #8] bl FtlMapWritePage - b .L919 -.L922: + b .L922 +.L925: .align 2 -.L921: +.L924: .word .LANCHOR0 .word .LANCHOR1+333 .word .LC1 @@ -6448,18 +6457,18 @@ ftl_map_blk_gc: bl ftl_free_no_use_map_blk ldrh r3, [r4, #10] ldrh r2, [r4, #8] - ldr r5, .L939 + ldr r5, .L942 sub r3, r3, #5 cmp r2, r3 - blt .L924 + blt .L927 uxth r0, r0 lsl r0, r0, #1 ldrh r8, [r6, r0] cmp r8, #0 - beq .L924 + beq .L927 ldr r3, [r4, #32] cmp r3, #0 - bne .L924 + bne .L927 mov r2, #1 str r2, [r4, #32] strh r3, [r6, r0] @ movhi @@ -6469,41 +6478,41 @@ ftl_map_blk_gc: strh r3, [r4, #8] @ movhi ldrh r3, [r5, #104] cmp r2, r3 - bcc .L925 + bcc .L928 mov r0, r4 bl ftl_map_blk_alloc_new_blk -.L925: +.L928: mov r6, #0 -.L926: +.L929: ldrh r3, [r4, #6] uxth r10, r6 cmp r3, r10 - bhi .L933 + bhi .L936 mov r1, #1 mov r0, r8 bl FtlFreeSysBlkQueueIn mov r3, #0 str r3, [r4, #32] -.L924: +.L927: ldrh r2, [r4, #2] ldrh r3, [r5, #104] cmp r2, r3 - bcc .L934 + bcc .L937 mov r0, r4 bl ftl_map_blk_alloc_new_blk -.L934: +.L937: mov r0, #0 sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L933: +.L936: 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 .L927 + bne .L930 ldr r3, [r5, #3296] - ldr r0, .L939+4 + ldr r0, .L942+4 str r3, [r5, #3452] ldr r3, [r5, #3324] str r3, [r5, #3456] @@ -6516,40 +6525,40 @@ ftl_map_blk_gc: ldr r3, [fp, #-48] ldrh r2, [r3, #8] cmp r2, r10 - beq .L928 + beq .L931 movw r2, #611 - ldr r1, .L939+8 - ldr r0, .L939+12 + ldr r1, .L942+8 + ldr r0, .L942+12 bl sftl_printk ldr r3, [fp, #-48] -.L928: +.L931: ldr r2, [r5, #3444] cmn r2, #1 - bne .L929 -.L931: + bne .L932 +.L934: ldr r2, [fp, #-44] mov r3, #0 str r3, [r2] -.L930: - b .L930 -.L929: +.L933: + b .L933 +.L932: ldrh r2, [r3, #8] cmp r2, r10 - bne .L931 + bne .L934 ldrh r2, [r3] ldrh r3, [r4, #4] cmp r2, r3 - bne .L931 + bne .L934 ldr r2, [r5, #3452] mov r1, r7 mov r0, r4 bl FtlMapWritePage -.L927: +.L930: add r6, r6, #1 - b .L926 -.L940: + b .L929 +.L943: .align 2 -.L939: +.L942: .word .LANCHOR0 .word .LANCHOR0+3444 .word .LANCHOR1+349 @@ -6571,7 +6580,7 @@ FtlMapTblRecovery: mov r1, #0 ldr r3, [r0, #24] mov r4, r0 - ldr r6, .L968 + ldr r6, .L971 mov r7, #0 ldr r8, [r0, #12] str r3, [fp, #-44] @@ -6597,16 +6606,16 @@ FtlMapTblRecovery: mov r2, #1 str r7, [r4, #28] str r2, [r4, #36] -.L942: +.L945: ldr r3, [fp, #-52] sxth r2, r7 cmp r2, r3 - bge .L959 + bge .L962 ldr r3, [fp, #-52] lsl r0, r2, #1 sub r1, r3, #1 cmp r2, r1 - bne .L943 + bne .L946 add r10, r8, r0 mov r1, #1 ldrh r0, [r8, r0] @@ -6617,26 +6626,26 @@ FtlMapTblRecovery: sxth r1, r0 ldr r2, [fp, #-52] add r0, r0, #1 - ldr ip, .L968+4 + ldr ip, .L971+4 strh r7, [r4] @ movhi add r7, r1, #1 strh r0, [r4, #2] @ movhi ldr r2, [r3, r2, lsl #2] str r2, [r4, #28] -.L944: +.L947: sxth r2, r8 cmp r2, r7 - blt .L946 -.L959: + blt .L949 +.L962: mov r0, r4 bl ftl_free_no_use_map_blk ldrh r2, [r4, #2] ldrh r3, [r5, #104] cmp r2, r3 - bne .L948 + bne .L951 mov r0, r4 bl ftl_map_blk_alloc_new_blk -.L948: +.L951: mov r0, r4 bl ftl_map_blk_gc mov r0, r4 @@ -6644,7 +6653,7 @@ FtlMapTblRecovery: mov r0, #0 sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L946: +.L949: ldrh r1, [r10] mov r0, ip str ip, [fp, #-52] @@ -6656,28 +6665,28 @@ FtlMapTblRecovery: ldr r2, [r6, #3444] ldr ip, [fp, #-52] cmn r2, #1 - beq .L945 + beq .L948 ldrh r2, [r9, #8] ldr r3, [fp, #-48] cmp r3, r2 - bls .L945 + bls .L948 ldrh r1, [r4, #4] ldrh r0, [r9] cmp r0, r1 ldreq r1, [r6, #3448] ldreq r3, [fp, #-44] streq r1, [r3, r2, lsl #2] -.L945: +.L948: add r8, r8, #1 - b .L944 -.L943: + b .L947 +.L946: ldr r2, [r5, #3292] add r3, r8, r0 str r3, [fp, #-60] str r2, [r5, #3452] ldrh r2, [r5, #104] ldrh r1, [r8, r0] - ldr r0, .L968+4 + ldr r0, .L971+4 sub r2, r2, #1 orr r2, r2, r1, lsl #10 str r2, [r5, #3448] @@ -6686,24 +6695,24 @@ FtlMapTblRecovery: bl FlashReadPages ldr r2, [r5, #3444] cmn r2, #1 - beq .L961 + beq .L964 ldrh r1, [r9] ldrh r2, [r4, #4] cmp r1, r2 - bne .L961 + bne .L964 ldrh r1, [r9, #8] movw r2, #64245 cmp r1, r2 - beq .L950 -.L961: + beq .L953 +.L964: mov r10, #0 -.L951: +.L954: ldrh r1, [r5, #104] sxth r2, r10 cmp r2, r1 - bge .L957 + bge .L960 ldr r3, [fp, #-60] - ldr r0, .L968+4 + ldr r0, .L971+4 ldrh r1, [r3] orr r2, r2, r1, lsl #10 str r2, [r5, #3448] @@ -6712,33 +6721,33 @@ FtlMapTblRecovery: bl FlashReadPages ldr r2, [r5, #3444] cmn r2, #1 - beq .L955 + beq .L958 ldrh r2, [r9, #8] ldr r3, [fp, #-48] cmp r3, r2 - bls .L955 + bls .L958 ldrh r1, [r4, #4] ldrh r0, [r9] cmp r0, r1 ldreq r1, [r5, #3448] ldreq r3, [fp, #-44] streq r1, [r3, r2, lsl #2] -.L955: +.L958: add r10, r10, #1 - b .L951 -.L950: + b .L954 +.L953: mov r0, #0 mov lr, #4 -.L952: +.L955: ldrh r1, [r5, #104] sxth r2, r0 sub r1, r1, #1 cmp r2, r1 - blt .L954 -.L957: + blt .L957 +.L960: add r7, r7, #1 - b .L942 -.L954: + b .L945 +.L957: ldr ip, [r5, #3292] add r0, r0, #1 ldr r3, [fp, #-48] @@ -6750,10 +6759,10 @@ FtlMapTblRecovery: movhi r1, r10 ldrhi r2, [ip, r2] strhi r2, [r3, r1, lsl #2] - b .L952 -.L969: + b .L955 +.L972: .align 2 -.L968: +.L971: .word .LANCHOR0 .word .LANCHOR0+3444 .size FtlMapTblRecovery, .-FtlMapTblRecovery @@ -6769,12 +6778,12 @@ FtlLoadVonderInfo: mov ip, sp push {fp, ip, lr, pc} sub fp, ip, #4 - ldr r3, .L971 + ldr r3, .L974 ldrh r2, [r3, #120] add r0, r3, #3456 add r0, r0, #12 strh r2, [r0, #10] @ movhi - ldr r2, .L971+4 + ldr r2, .L974+4 strh r2, [r0, #4] @ movhi ldrh r2, [r3, #144] strh r2, [r0, #8] @ movhi @@ -6791,9 +6800,9 @@ FtlLoadVonderInfo: bl FtlMapTblRecovery mov r0, #0 ldmfd sp, {fp, sp, pc} -.L972: +.L975: .align 2 -.L971: +.L974: .word .LANCHOR0 .word -3962 .size FtlLoadVonderInfo, .-FtlLoadVonderInfo @@ -6810,13 +6819,13 @@ FtlLoadMapInfo: push {fp, ip, lr, pc} sub fp, ip, #4 bl FtlL2PDataInit - ldr r0, .L974 + ldr r0, .L977 bl FtlMapTblRecovery mov r0, #0 ldmfd sp, {fp, sp, pc} -.L975: +.L978: .align 2 -.L974: +.L977: .word .LANCHOR0+3384 .size FtlLoadMapInfo, .-FtlLoadMapInfo .align 2 @@ -6831,7 +6840,7 @@ flush_l2p_region: mov ip, sp push {r4, r5, fp, ip, lr, pc} sub fp, ip, #4 - ldr r5, .L977 + ldr r5, .L980 uxth r0, r0 mov r4, #12 mul r4, r4, r0 @@ -6849,9 +6858,9 @@ flush_l2p_region: bic r3, r3, #-2147483648 str r3, [r4, #4] ldmfd sp, {r4, r5, fp, sp, pc} -.L978: +.L981: .align 2 -.L977: +.L980: .word .LANCHOR0 .size flush_l2p_region, .-flush_l2p_region .align 2 @@ -6868,21 +6877,21 @@ log2phys: sub fp, ip, #4 sub sp, sp, #8 mov r6, r0 - ldr r4, .L992 + ldr r4, .L995 mov r7, r1 mov r10, r2 ldr r3, [r4, #2504] ldrh r5, [r4, #108] cmp r0, r3 - bcc .L980 + bcc .L983 movw r2, #811 - ldr r1, .L992+4 - ldr r0, .L992+8 + ldr r1, .L995+4 + ldr r0, .L995+8 bl sftl_printk -.L980: +.L983: ldr r3, [r4, #2504] cmp r6, r3 - bcs .L981 + bcs .L984 add r5, r5, #7 ldrh r0, [r4, #138] lsr r3, r6, r5 @@ -6891,10 +6900,10 @@ log2phys: str r3, [fp, #-44] mov r2, #12 ldrh r9, [fp, #-44] -.L982: +.L985: uxth r8, r1 cmp r8, r0 - bcc .L987 + bcc .L990 str r2, [fp, #-48] bl select_l2p_ram_region ldr r2, [fp, #-48] @@ -6905,42 +6914,42 @@ log2phys: ldrh r1, [r1, r2] movw r2, #65535 cmp r1, r2 - beq .L988 + beq .L991 ldr r2, [ip, #4] cmp r2, #0 - bge .L988 + bge .L991 bl flush_l2p_region -.L988: +.L991: mov r1, r8 ldrh r0, [fp, #-44] bl load_l2p_region - b .L984 -.L981: + b .L987 +.L984: cmp r10, #0 mvn r0, #0 streq r0, [r7] -.L979: +.L982: sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L987: +.L990: add r1, r1, #1 mla lr, r2, r1, ip ldrh lr, [lr, #-12] cmp lr, r9 - bne .L982 -.L984: + bne .L985 +.L987: mvn r2, #0 cmp r10, #0 bic r5, r6, r2, lsl r5 mov r2, #12 uxth r5, r5 - bne .L985 + bne .L988 ldr r1, [r4, #2492] mla r2, r2, r8, r1 ldr r2, [r2, #8] ldr r2, [r2, r5, lsl #2] str r2, [r7] -.L986: +.L989: ldr r1, [r4, #2492] mov r2, #12 mov r0, #0 @@ -6949,8 +6958,8 @@ log2phys: cmn r2, #1 addne r2, r2, #1 strne r2, [r3, #4] - b .L979 -.L985: + b .L982 +.L988: mul r2, r2, r8 ldr r1, [r4, #2492] ldr r0, [r7] @@ -6962,12 +6971,12 @@ log2phys: ldr r1, [r2, #4] orr r1, r1, #-2147483648 str r1, [r2, #4] - ldr r2, .L992+12 + ldr r2, .L995+12 strh r9, [r2] @ movhi - b .L986 -.L993: + b .L989 +.L996: .align 2 -.L992: +.L995: .word .LANCHOR0 .word .LANCHOR1+364 .word .LC1 @@ -6987,7 +6996,7 @@ FtlReUsePrevPpa: sub fp, ip, #4 sub sp, sp, #4 mov r6, r0 - ldr r7, .L1004 + ldr r7, .L1007 ubfx r0, r1, #10, #16 str r1, [fp, #-32] bl P2V_block_in_plane @@ -6995,34 +7004,34 @@ FtlReUsePrevPpa: lsl r5, r0, #1 ldrh r3, [r2, r5] cmp r3, #0 - bne .L995 + bne .L998 ldr r4, [r7, #2340] cmp r4, #0 - beq .L996 + beq .L999 movw r2, #2344 movw lr, #65535 ldrh ip, [r7, r2] ldr r2, [r7, #2316] sub r4, r4, r2 ubfx r4, r4, #3, #16 -.L997: +.L1000: uxth r1, r3 cmp ip, r1 - bls .L996 + bls .L999 cmp r4, r0 - bne .L998 + bne .L1001 mov r1, r4 - ldr r0, .L1004+4 + ldr r0, .L1007+4 bl List_remove_node movw r3, #2344 ldrh r3, [r7, r3] cmp r3, #0 - bne .L999 + bne .L1002 movw r2, #1699 - ldr r1, .L1004+8 - ldr r0, .L1004+12 + ldr r1, .L1007+8 + ldr r0, .L1007+12 bl sftl_printk -.L999: +.L1002: movw r2, #2344 mov r0, r4 ldrh r3, [r7, r2] @@ -7031,25 +7040,25 @@ FtlReUsePrevPpa: bl INSERT_DATA_LIST ldr r2, [r7, #2324] ldrh r3, [r2, r5] -.L995: +.L998: add r3, r3, #1 strh r3, [r2, r5] @ movhi - b .L996 -.L998: + b .L999 +.L1001: lsl r4, r4, #3 add r3, r3, #1 ldrh r4, [r2, r4] cmp r4, lr - bne .L997 -.L996: + bne .L1000 +.L999: mov r2, #1 sub r1, fp, #32 mov r0, r6 bl log2phys ldmib sp, {r4, r5, r6, r7, fp, sp, pc} -.L1005: +.L1008: .align 2 -.L1004: +.L1007: .word .LANCHOR0 .word .LANCHOR0+2340 .word .LANCHOR1+373 @@ -7069,110 +7078,110 @@ ftl_check_vpc: sub fp, ip, #4 sub sp, sp, #4 mov r4, #0 - ldr r6, .L1030 - ldr r1, .L1030+4 - ldr r0, .L1030+8 + ldr r6, .L1033 + ldr r1, .L1033+4 + ldr r0, .L1033+8 mov r5, r6 bl sftl_printk mov r1, #8192 - ldr r0, .L1030+12 + ldr r0, .L1033+12 bl __memzero -.L1007: +.L1010: ldr r3, [r6, #2504] cmp r4, r3 - bcc .L1009 - ldr r8, .L1030+12 + bcc .L1012 + ldr r8, .L1033+12 mov r4, #0 - ldr r9, .L1030+16 + ldr r9, .L1033+16 mov r6, r4 -.L1010: +.L1013: ldrh r2, [r5, #40] uxth r3, r4 cmp r2, r3 - bhi .L1012 + bhi .L1015 ldr r4, [r5, #2340] cmp r4, #0 - beq .L1013 + beq .L1016 movw r3, #2344 - ldr r9, .L1030+12 + ldr r9, .L1033+12 ldrh r8, [r5, r3] mov r7, #0 ldr r3, [r5, #2316] - ldr r10, .L1030+20 + ldr r10, .L1033+20 sub r4, r4, r3 ubfx r4, r4, #3, #16 -.L1014: +.L1017: uxth r3, r7 cmp r8, r3 - bls .L1013 + bls .L1016 ldr r2, [r5, #2324] lsl r3, r4, #1 ldrh r2, [r2, r3] cmp r2, #0 - beq .L1015 + beq .L1018 mov r6, #1 ldrh r3, [r9, r3] mov r1, r4 mov r0, r10 bl sftl_printk -.L1015: +.L1018: ldr r3, [r5, #2316] lsl r4, r4, #3 add r7, r7, #1 ldrh r4, [r3, r4] movw r3, #65535 cmp r4, r3 - bne .L1014 -.L1013: + bne .L1017 +.L1016: cmp r6, #0 ldmibeq sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} movw r2, #2343 - ldr r1, .L1030+4 - ldr r0, .L1030+24 + ldr r1, .L1033+4 + ldr r0, .L1033+24 bl sftl_printk ldmib sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1009: +.L1012: mov r2, #0 sub r1, fp, #44 mov r0, r4 bl log2phys ldr r0, [fp, #-44] cmn r0, #1 - beq .L1008 + beq .L1011 ubfx r0, r0, #10, #16 bl P2V_block_in_plane - ldr r2, .L1030+12 + ldr r2, .L1033+12 lsl r0, r0, #1 ldrh r3, [r2, r0] add r3, r3, #1 strh r3, [r2, r0] @ movhi -.L1008: +.L1011: add r4, r4, #1 - b .L1007 -.L1012: + b .L1010 +.L1015: uxth r1, r4 ldr r3, [r5, #2324] lsl r7, r1, #1 ldrh r2, [r3, r7] ldrh r3, [r8, r7] cmp r2, r3 - beq .L1011 + beq .L1014 mov r0, r9 bl sftl_printk ldr r3, [r5, #2324] movw r2, #65535 ldrh r3, [r3, r7] cmp r3, r2 - beq .L1011 + beq .L1014 ldrh r2, [r8, r7] cmp r2, r3 movhi r6, #1 -.L1011: +.L1014: add r4, r4, #1 - b .L1010 -.L1031: + b .L1013 +.L1034: .align 2 -.L1030: +.L1033: .word .LANCHOR0 .word .LANCHOR1+389 .word .LC95 @@ -7195,39 +7204,39 @@ ftl_scan_all_data: sub fp, ip, #4 sub sp, sp, #24 mov r5, #0 - ldr r6, .L1040 + ldr r6, .L1043 mov r1, #0 - ldr r0, .L1040+4 + ldr r0, .L1043+4 bl sftl_printk mov r4, r6 -.L1033: +.L1036: ldr r3, [r6, #2504] cmp r5, r3 - bcc .L1039 + bcc .L1042 sub sp, fp, #28 ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} -.L1039: +.L1042: mov r2, #0 sub r1, fp, #32 mov r0, r5 bl log2phys ubfx r3, r5, #0, #11 cmp r3, #0 - bne .L1034 + bne .L1037 ldr r2, [fp, #-32] mov r1, r5 - ldr r0, .L1040+8 + ldr r0, .L1043+8 bl sftl_printk -.L1034: +.L1037: ldr r3, [fp, #-32] cmn r3, #1 - beq .L1036 + beq .L1039 str r3, [r4, #3448] mov r2, #0 ldr r3, [r4, #3292] mov r1, #1 ldr r7, [r4, #3324] - ldr r0, .L1040+12 + ldr r0, .L1043+12 str r3, [r4, #3452] str r5, [r4, #3460] str r7, [r4, #3456] @@ -7236,14 +7245,14 @@ ftl_scan_all_data: ldr r3, [r4, #3444] cmn r3, #1 cmpne r3, #256 - beq .L1037 + beq .L1040 ldr r3, [r7, #8] cmp r5, r3 - beq .L1036 -.L1037: + beq .L1039 +.L1040: ldr r2, [r4, #3452] ldr r3, [r4, #3456] - ldr r0, .L1040+16 + ldr r0, .L1043+16 ldr r1, [r2, #4] str r1, [sp, #16] mov r1, r5 @@ -7258,12 +7267,12 @@ ftl_scan_all_data: ldr r3, [r3] ldr r2, [r4, #3448] bl sftl_printk -.L1036: +.L1039: add r5, r5, #1 - b .L1033 -.L1041: + b .L1036 +.L1044: .align 2 -.L1040: +.L1043: .word .LANCHOR0 .word .LC98 .word .LC99 @@ -7283,221 +7292,225 @@ FtlGcScanTempBlk: push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} sub fp, ip, #4 sub sp, sp, #44 - mov r4, r0 - ldr r3, .L1072 + mov r5, r0 + ldr r3, .L1075 str r1, [fp, #-68] ldrh r6, [r3, #4] movw r3, #65535 cmp r6, r3 - beq .L1066 + beq .L1070 cmp r6, #0 - bne .L1043 -.L1044: + bne .L1046 +.L1047: bl FtlGcPageVarInit - b .L1045 -.L1066: + b .L1048 +.L1070: mov r6, #0 -.L1043: - ldr r3, .L1072+4 +.L1046: + ldr r3, .L1075+4 ldr r2, [fp, #-68] ldrh r3, [r3, #102] cmp r3, r2 - beq .L1044 -.L1045: - ldr r5, .L1072+4 + beq .L1047 +.L1048: + ldr r4, .L1075+4 mov r9, #0 -.L1046: - ldrh r2, [r4] +.L1049: + ldrh r2, [r5] mov r3, #0 - strb r3, [r4, #8] + strb r3, [r5, #8] movw r3, #65535 cmp r2, r3 - beq .L1047 -.L1063: - ldrh r3, [r5, #32] + beq .L1050 +.L1067: + ldrh r3, [r4, #32] mov r2, #0 - ldr r0, [r5, #3280] - add ip, r4, #16 - ldrh r8, [r5, #112] + ldr r0, [r4, #3280] + add ip, r5, #16 + ldrh lr, [r4, #112] mov r10, r2 str r3, [fp, #-72] - movw lr, #65535 - ldr r3, [r5, #3172] + movw r7, #65535 + ldr r3, [r4, #3172] str r3, [fp, #-76] - ldrh r3, [r5, #110] + ldrh r3, [r4, #110] str r3, [fp, #-80] - ldr r3, [r5, #3176] + ldr r3, [r4, #3176] str r3, [fp, #-84] -.L1048: +.L1051: ldr r1, [fp, #-72] uxth r3, r2 cmp r1, r3 - bhi .L1050 + bhi .L1053 mov r8, #0 mov r2, #0 mov r1, r10 bl FlashReadPages -.L1051: +.L1054: uxth r3, r8 cmp r10, r3 - bhi .L1061 + bhi .L1065 ldr r3, [fp, #-68] add r9, r9, #1 add r6, r6, #1 uxth r6, r6 cmp r3, r9 - bls .L1062 -.L1064: - ldrh r3, [r5, #102] + bls .L1066 +.L1068: + ldrh r3, [r4, #102] cmp r3, r6 - bhi .L1063 -.L1047: - ldr r3, .L1072 + bhi .L1067 +.L1050: + ldr r3, .L1075 mvn r2, #0 - strh r6, [r4, #2] @ movhi + strh r6, [r5, #2] @ movhi mov r1, r6 - mov r0, r4 + mov r0, r5 strh r2, [r3, #4] @ movhi mov r2, #0 - strb r2, [r4, #6] + strb r2, [r5, #6] bl ftl_sb_update_avl_pages - b .L1065 -.L1050: + b .L1069 +.L1053: ldrh r3, [ip], #2 - cmp r3, lr - beq .L1049 + cmp r3, r7 + beq .L1052 mov r1, #20 orr r3, r6, r3, lsl #10 mla r1, r1, r10, r0 str r3, [r1, #4] ldr r3, [fp, #-80] mul r3, r3, r10 - add r7, r3, #3 + add r8, r3, #3 cmp r3, #0 - movlt r3, r7 - ldr r7, [fp, #-76] + movlt r3, r8 + ldr r8, [fp, #-76] bic r3, r3, #3 - add r3, r7, r3 + add r3, r8, r3 str r3, [r1, #8] - mul r3, r8, r10 + mul r3, lr, r10 add r10, r10, #1 uxth r10, r10 - add r7, r3, #3 + add r8, r3, #3 cmp r3, #0 - movlt r3, r7 - ldr r7, [fp, #-84] + movlt r3, r8 + ldr r8, [fp, #-84] bic r3, r3, #3 - add r3, r7, r3 + add r3, r8, r3 str r3, [r1, #12] -.L1049: +.L1052: add r2, r2, #1 - b .L1048 -.L1061: + b .L1051 +.L1065: mov r3, #20 - ldr r2, [r5, #3280] + ldr r2, [r4, #3280] mul ip, r3, r8 ldr r7, [r2, ip] add r3, r2, ip ldr r1, [r3, #4] cmp r7, #0 str r1, [fp, #-72] - bne .L1052 + bne .L1055 ldr r3, [r3, #12] movw r2, #65535 ldrh r1, [r3] cmp r1, r2 - bne .L1053 - ldrh r3, [r4] - ldr r2, [r5, #2324] - lsl r3, r3, #1 - strh r7, [r2, r3] @ movhi -.L1071: - ldrh r0, [r4] + bne .L1056 +.L1055: + ldrh r3, [r5] + mov r1, #0 + ldr r2, [r4, #2324] mov r6, #0 + lsl r3, r3, #1 + strh r1, [r2, r3] @ movhi + ldrh r0, [r5] bl INSERT_FREE_LIST mvn r3, #0 - strh r3, [r4] @ movhi + strh r3, [r5] @ movhi bl FtlGcPageVarInit - b .L1046 -.L1053: - mov r2, r7 - sub r1, fp, #64 + b .L1049 +.L1056: ldr r0, [r3, #8] + ldr r2, [r4, #2504] str ip, [fp, #-80] str r3, [fp, #-76] + cmp r0, r2 + bhi .L1055 + mov r2, r7 + sub r1, fp, #64 bl log2phys ldr r3, [fp, #-76] ldr r1, [fp, #-64] ldr ip, [fp, #-80] ldr r2, [r3, #12] - cmp r2, r1 - beq .L1055 -.L1059: + cmn r1, #1 + sub r0, r2, r1 + clz r0, r0 + lsr r0, r0, #5 + moveq r0, #0 + cmp r0, #0 + bne .L1059 +.L1063: ldr r2, [r3, #8] add r8, r8, #1 ldr r1, [fp, #-72] ldr r0, [r3, #12] bl FtlGcUpdatePage - b .L1051 -.L1055: + b .L1054 +.L1059: str r2, [fp, #-56] mov r1, #1 - ldr r2, [r5, #3308] + ldr r2, [r4, #3308] sub r0, fp, #60 str ip, [fp, #-80] str r3, [fp, #-76] str r2, [fp, #-52] - ldr r2, [r5, #3328] + ldr r2, [r4, #3328] str r2, [fp, #-48] mov r2, r7 bl FlashReadPages - ldr r1, [r5, #3280] - ldrh r2, [r5, #58] + ldrh r1, [r4, #58] + ldr r2, [r4, #3280] ldr ip, [fp, #-80] + ldr r0, [fp, #-52] ldr r3, [fp, #-76] - add ip, r1, ip - ldr r1, [fp, #-52] - lsl r2, r2, #7 -.L1056: - cmp r7, r2 - beq .L1059 - ldr r0, [ip, #8] - ldr lr, [r0, r7, lsl #2] - ldr r0, [r1, r7, lsl #2] - cmp lr, r0 - beq .L1057 + lsl r1, r1, #7 + add ip, r2, ip + mov r2, r7 +.L1060: + cmp r2, r1 + beq .L1063 + ldr lr, [ip, #8] + ldr r7, [lr, r2, lsl #2] + ldr lr, [r0, r2, lsl #2] + cmp r7, lr + beq .L1061 ldr r2, [fp, #-56] - ldrh r1, [r4] - ldr r0, .L1072+8 + ldrh r1, [r5] + ldr r0, .L1075+8 bl sftl_printk -.L1052: - ldrh r3, [r4] - mov r1, #0 - ldr r2, [r5, #2324] - lsl r3, r3, #1 - strh r1, [r2, r3] @ movhi - b .L1071 -.L1057: - add r7, r7, #1 - b .L1056 -.L1062: - ldr r2, .L1072 + b .L1055 +.L1061: + add r2, r2, #1 + b .L1060 +.L1066: + ldr r2, .L1075 movw r1, #65535 ldrh r3, [r2, #4] cmp r3, r1 - beq .L1064 + beq .L1068 add r3, r3, r9 strh r3, [r2, #4] @ movhi - ldrh r3, [r5, #102] + ldrh r3, [r4, #102] cmp r3, r6 - bls .L1064 -.L1065: + bls .L1068 +.L1069: mvn r0, #0 sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1073: +.L1076: .align 2 -.L1072: +.L1075: .word .LANCHOR2 .word .LANCHOR0 .word .LC101 @@ -7515,21 +7528,21 @@ FtlReadRefresh: push {r4, r5, fp, ip, lr, pc} sub fp, ip, #4 sub sp, sp, #88 - ldr r3, .L1087 + ldr r3, .L1090 ldr r0, [r3, #2716] mov r4, r3 cmp r0, #0 - beq .L1075 + beq .L1078 ldr r1, [r3, #2720] ldr r2, [r3, #2504] cmp r1, r2 - bcs .L1076 + bcs .L1079 mov r5, #2048 -.L1081: +.L1084: ldr r0, [r4, #2720] ldr r3, [r4, #2504] cmp r0, r3 - bcs .L1078 + bcs .L1081 mov r2, #0 sub r1, fp, #108 bl log2phys @@ -7538,7 +7551,7 @@ FtlReadRefresh: cmn r2, #1 add r3, r3, #1 str r3, [r4, #2720] - beq .L1079 + beq .L1082 str r3, [fp, #-88] sub r0, fp, #20 ldr r3, [r4, #3316] @@ -7552,53 +7565,53 @@ FtlReadRefresh: bl FlashReadPages ldr r3, [fp, #-104] cmp r3, #256 - bne .L1078 + bne .L1081 ldr r0, [fp, #-108] ubfx r0, r0, #10, #16 bl P2V_block_in_plane bl FtlGcRefreshBlock -.L1078: +.L1081: mvn r0, #0 -.L1074: +.L1077: sub sp, fp, #20 ldmfd sp, {r4, r5, fp, sp, pc} -.L1079: +.L1082: subs r5, r5, #1 - bne .L1081 - b .L1078 -.L1076: + bne .L1084 + b .L1081 +.L1079: ldr r2, [r3, #2508] mov r0, #0 str r0, [r3, #2716] str r0, [r3, #2720] str r2, [r3, #2712] - b .L1074 -.L1075: + b .L1077 +.L1078: ldr r1, [r3, #2508] ldr r2, [r3, #2712] add ip, r1, #1048576 cmp r2, ip - bhi .L1084 + bhi .L1087 ldr r3, [r3, #2564] mov ip, #33554432 lsr r3, r3, #10 add r2, r2, ip, asr r3 cmp r1, r2 - bhi .L1084 - ldr r3, .L1087+4 + bhi .L1087 + ldr r3, .L1090+4 ldrb r3, [r3, #28] @ zero_extendqisi2 cmp r3, #0 - bne .L1074 -.L1084: + bne .L1077 +.L1087: mov r3, #1 mov r0, #0 str r3, [r4, #2716] str r0, [r4, #2720] str r1, [r4, #2712] - b .L1074 -.L1088: + b .L1077 +.L1091: .align 2 -.L1087: +.L1090: .word .LANCHOR0 .word .LANCHOR0+2268 .size FtlReadRefresh, .-FtlReadRefresh @@ -7621,7 +7634,7 @@ FtlMapBlkWriteDump_data: mov r3, #0 ldrh r5, [r0, #6] str r3, [r0, #36] - ldr r3, .L1096 + ldr r3, .L1099 ldr r2, [r0, #24] sub r5, r5, #1 uxth r5, r5 @@ -7633,25 +7646,25 @@ FtlMapBlkWriteDump_data: ldr r2, [r2, r5, lsl #2] cmp r2, #0 str r2, [r3, #3448] - beq .L1091 + beq .L1094 mov r2, #1 - ldr r0, .L1096+4 + ldr r0, .L1099+4 mov r1, r2 bl FlashReadPages -.L1092: +.L1095: ldr r2, [r4, #3452] mov r1, r5 mov r0, r6 bl FtlMapWritePage ldmfd sp, {r4, r5, r6, fp, sp, pc} -.L1091: +.L1094: ldrh r2, [r3, #110] mov r1, #255 bl ftl_memset - b .L1092 -.L1097: + b .L1095 +.L1100: .align 2 -.L1096: +.L1099: .word .LANCHOR0 .word .LANCHOR0+3444 .size FtlMapBlkWriteDump_data, .-FtlMapBlkWriteDump_data @@ -7671,8 +7684,8 @@ FlashTestBlk: uxth r4, r0 cmp r4, #11 movls r4, #0 - bls .L1098 - ldr r3, .L1101 + bls .L1101 + ldr r3, .L1104 sub r0, fp, #84 mov r2, #32 mov r1, #165 @@ -7681,7 +7694,7 @@ FlashTestBlk: ldr r5, [r3, #3316] str r5, [fp, #-96] bl memset - ldr r3, .L1101+4 + ldr r3, .L1104+4 mov r2, #1 mov r1, r2 sub r0, fp, #104 @@ -7702,13 +7715,13 @@ FlashTestBlk: movne r4, #1 rsb r4, r4, #0 bl FlashEraseBlocks -.L1098: +.L1101: mov r0, r4 sub sp, fp, #20 ldmfd sp, {r4, r5, fp, sp, pc} -.L1102: +.L1105: .align 2 -.L1101: +.L1104: .word .LANCHOR0 .word 1515870810 .size FlashTestBlk, .-FlashTestBlk @@ -7726,9 +7739,9 @@ FtlBbmTblFlush: sub fp, ip, #4 sub sp, sp, #4 mov r5, #0 - ldr r4, .L1112 + ldr r4, .L1115 mov r1, #0 - ldr r7, .L1112+4 + ldr r7, .L1115+4 ldr r0, [r4, #3292] add r6, r4, #176 ldr r3, [r4, #3324] @@ -7736,19 +7749,19 @@ FtlBbmTblFlush: str r0, [r4, #3452] str r3, [r4, #3456] bl ftl_memset -.L1104: +.L1107: ldrh r3, [r4, #54] cmp r5, r3 - blt .L1105 + blt .L1108 ldr r5, [r4, #3456] mov r2, #16 mov r1, #255 - ldr r8, .L1112+8 + ldr r8, .L1115+8 mov r6, #0 mov r0, r5 mov r7, r6 bl memset - ldr r3, .L1112+12 + ldr r3, .L1115+12 strh r3, [r5] @ movhi ldr r3, [r4, #160] str r3, [r5, #4] @@ -7760,7 +7773,7 @@ FtlBbmTblFlush: strh r3, [r5, #10] @ movhi ldr r3, [r4, #28] strh r3, [r5, #12] @ movhi -.L1106: +.L1109: ldr r3, [r4, #3292] mov r9, #0 ldrh r2, [r4, #154] @@ -7780,7 +7793,7 @@ FtlBbmTblFlush: ldrh r2, [r4, #154] sub r3, r3, #1 cmp r2, r3 - blt .L1107 + blt .L1110 ldr r3, [r4, #160] ldrh r2, [r4, #152] ldr r0, [r4, #3260] @@ -7798,9 +7811,9 @@ FtlBbmTblFlush: str r3, [r4, #3448] str r3, [r0, #4] bl FlashEraseBlocks -.L1107: +.L1110: mov r3, #1 - ldr r0, .L1112+16 + ldr r0, .L1115+16 mov r2, r3 mov r1, r3 bl FlashProgPages @@ -7809,21 +7822,21 @@ FtlBbmTblFlush: strh r3, [r4, #154] @ movhi ldr r3, [r4, #3444] cmn r3, #1 - bne .L1108 + bne .L1111 add r6, r6, #1 ldr r1, [r4, #3448] uxth r6, r6 - ldr r0, .L1112+20 + ldr r0, .L1115+20 bl sftl_printk cmp r6, #3 - bls .L1106 + bls .L1109 mov r2, r6 ldr r1, [r4, #3448] - ldr r0, .L1112+24 + ldr r0, .L1115+24 bl sftl_printk -.L1110: - b .L1110 -.L1105: +.L1113: + b .L1113 +.L1108: ldrh r2, [r7] ldr r3, [r4, #3452] ldr r1, [r6, #4]! @@ -7832,18 +7845,18 @@ FtlBbmTblFlush: add r5, r5, #1 add r0, r3, r0, lsl #2 bl ftl_memcpy - b .L1104 -.L1111: + b .L1107 +.L1114: mov r7, #1 - b .L1106 -.L1108: + b .L1109 +.L1111: cmp r7, #0 - beq .L1111 + beq .L1114 mov r0, #0 ldmib sp, {r4, r5, r6, r7, r8, r9, fp, sp, pc} -.L1113: +.L1116: .align 2 -.L1112: +.L1115: .word .LANCHOR0 .word .LANCHOR0+3380 .word .LC102 @@ -7866,24 +7879,24 @@ allocate_data_superblock: sub fp, ip, #4 sub sp, sp, #12 mov r4, r0 - ldr r10, .L1150 -.L1115: - ldr r8, .L1150+4 + ldr r10, .L1153 +.L1118: + ldr r8, .L1153+4 ldrh r1, [r8, #-8] ldrh r2, [r8] add r2, r2, r1 ldrh r1, [r10, #40] cmp r2, r1 - ble .L1116 + ble .L1119 movw r2, #2615 - ldr r1, .L1150+8 - ldr r0, .L1150+12 + ldr r1, .L1153+8 + ldr r0, .L1153+12 bl sftl_printk -.L1116: - ldr r2, .L1150+16 +.L1119: + ldr r2, .L1153+16 cmp r4, r2 movne r1, #0 - bne .L1117 + bne .L1120 ldrh r2, [r8] ldr r1, [r10, #3160] mul r0, r1, r2 @@ -7894,67 +7907,67 @@ allocate_data_superblock: cmp r1, #0 subne r1, r1, #1 uxthne r1, r1 -.L1117: - ldr r0, .L1150+20 +.L1120: + ldr r0, .L1153+20 bl List_pop_index_node ldrh r2, [r8] mov r7, r0 uxth r9, r0 cmp r2, #0 - bne .L1118 + bne .L1121 mov r2, #2624 - ldr r1, .L1150+8 - ldr r0, .L1150+12 + ldr r1, .L1153+8 + ldr r0, .L1153+12 bl sftl_printk -.L1118: +.L1121: ldrh r2, [r8] sub r2, r2, #1 strh r2, [r8] @ movhi ldrh r2, [r10, #40] cmp r2, r9 - bls .L1115 + bls .L1118 uxth r7, r7 ldr r2, [r10, #2324] lsl r6, r7, #1 ldrh r5, [r2, r6] cmp r5, #0 - bne .L1115 + bne .L1118 strh r9, [r4] @ movhi mov r0, r4 bl make_superblock ldrb r2, [r4, #7] @ zero_extendqisi2 cmp r2, #0 - bne .L1120 + bne .L1123 ldr r2, [r10, #2324] mvn r1, #0 mov r0, r7 strh r1, [r2, r6] @ movhi bl INSERT_DATA_LIST - ldr r3, .L1150+24 + ldr r3, .L1153+24 ldrh r2, [r8] ldrh r1, [r3] add r2, r2, r1 ldrh r1, [r10, #40] cmp r2, r1 - ble .L1115 + ble .L1118 movw r2, #2638 - ldr r1, .L1150+8 - ldr r0, .L1150+12 + ldr r1, .L1153+8 + ldr r0, .L1153+12 bl sftl_printk - b .L1115 -.L1120: - ldr r3, .L1150+24 + b .L1118 +.L1123: + ldr r3, .L1153+24 ldrh r2, [r8] ldrh r1, [r3] add r2, r2, r1 ldrh r1, [r10, #40] cmp r2, r1 - ble .L1122 + ble .L1125 movw r2, #2641 - ldr r1, .L1150+8 - ldr r0, .L1150+12 + ldr r1, .L1153+8 + ldr r0, .L1153+12 bl sftl_printk -.L1122: +.L1125: ldr r0, [r10, #3260] mov r1, #20 ldrh lr, [r10, #32] @@ -7963,30 +7976,30 @@ allocate_data_superblock: mov r2, r0 mla r3, r1, lr, r0 mov lr, #0 -.L1123: +.L1126: cmp r3, r2 - bne .L1125 + bne .L1128 cmp r5, #0 - bne .L1126 + bne .L1129 movw r2, #2652 - ldr r1, .L1150+8 - ldr r0, .L1150+12 + ldr r1, .L1153+8 + ldr r0, .L1153+12 bl sftl_printk -.L1126: - ldr r2, .L1150+28 +.L1129: + ldr r2, .L1153+28 ldrh r2, [r2] cmp r2, r9 - bne .L1127 + bne .L1130 movw r2, #2654 - ldr r1, .L1150+8 - ldr r0, .L1150+12 + ldr r1, .L1153+8 + ldr r0, .L1153+12 bl sftl_printk -.L1127: +.L1130: ldrb r2, [r4, #8] @ zero_extendqisi2 ldr r1, [r10, #2328] cmp r2, #0 ldrh r2, [r1, r6] - bne .L1128 + bne .L1131 cmp r2, #0 ldrhne r0, [r10, #92] moveq r2, #2 @@ -7998,7 +8011,7 @@ allocate_data_superblock: add r2, r2, #1 str r2, [r10, #2548] bl ftl_set_blk_mode -.L1131: +.L1134: ldr r2, [r10, #2328] ldr r1, [r10, #2564] ldr ip, [r10, #2548] @@ -8014,17 +8027,17 @@ allocate_data_superblock: str r0, [r10, #2556] ldr r0, [r10, #3260] ldr r2, [r1, #16] - ldr ip, .L1150+32 + ldr ip, .L1153+32 add r2, r2, #1 str r2, [r1, #16] mov r1, #20 mla r1, r1, r5, r0 add r2, r0, #4 add r1, r1, #24 -.L1133: +.L1136: add r2, r2, #20 cmp r1, r2 - bne .L1134 + bne .L1137 ldrb r1, [r4, #8] @ zero_extendqisi2 mov r2, r5 ldr r0, [r10, #3260] @@ -8032,24 +8045,24 @@ allocate_data_superblock: bl FlashEraseBlocks mov r1, r8 mov ip, #20 -.L1135: +.L1138: uxth r2, r8 cmp r5, r2 - bhi .L1137 + bhi .L1140 cmp r1, #0 - ble .L1138 + ble .L1141 mov r0, r7 bl update_multiplier_value bl FtlBbmTblFlush -.L1138: +.L1141: ldrb r1, [r4, #7] @ zero_extendqisi2 cmp r1, #0 - bne .L1139 + bne .L1142 ldr r2, [r10, #2324] mvn r1, #0 strh r1, [r2, r6] @ movhi - b .L1115 -.L1125: + b .L1118 +.L1128: str lr, [r2, #8] movw r8, #65535 str lr, [r2, #12] @@ -8062,8 +8075,8 @@ allocate_data_superblock: addne r5, r5, #1 uxthne r5, r5 strne r1, [r8, #4] - b .L1123 -.L1128: + b .L1126 +.L1131: add r2, r2, #1 mov r0, r7 strh r2, [r1, r6] @ movhi @@ -8071,19 +8084,19 @@ allocate_data_superblock: add r2, r2, #1 str r2, [r10, #2552] bl ftl_set_blk_mode.part.6 - b .L1131 -.L1134: + b .L1134 +.L1137: ldr r0, [r2, #-20] and r0, r0, ip str r0, [r2, #-20] - b .L1133 -.L1137: + b .L1136 +.L1140: mul r2, ip, r8 ldr lr, [r10, #3260] add r0, lr, r2 ldr r2, [lr, r2] cmn r2, #1 - bne .L1136 + bne .L1139 ldr r0, [r0, #4] add r1, r1, #1 str ip, [fp, #-52] @@ -8099,10 +8112,10 @@ allocate_data_superblock: ldrb r2, [r4, #7] @ zero_extendqisi2 sub r2, r2, #1 strb r2, [r4, #7] -.L1136: - add r8, r8, #1 - b .L1135 .L1139: + add r8, r8, #1 + b .L1138 +.L1142: ldrh r2, [r10, #102] strh r9, [r4] @ movhi smulbb r2, r2, r1 @@ -8121,22 +8134,22 @@ allocate_data_superblock: strh r2, [r0, r3] @ movhi ldrh r3, [r4, #4] cmp r3, #0 - beq .L1140 + beq .L1143 ldrb r3, [r4, #7] @ zero_extendqisi2 cmp r3, #0 - bne .L1141 -.L1140: + bne .L1144 +.L1143: movw r2, #2707 - ldr r1, .L1150+8 - ldr r0, .L1150+12 + ldr r1, .L1153+8 + ldr r0, .L1153+12 bl sftl_printk -.L1141: +.L1144: mov r0, #0 sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1151: +.L1154: .align 2 -.L1150: +.L1153: .word .LANCHOR0 .word .LANCHOR0+2344 .word .LANCHOR1+403 @@ -8161,47 +8174,47 @@ FtlGcFreeBadSuperBlk: sub fp, ip, #4 sub sp, sp, #8 uxth r3, r0 - ldr r6, .L1164 + ldr r6, .L1167 str r3, [fp, #-44] movw r3, #3206 ldrh r3, [r6, r3] cmp r3, #0 movne r7, #0 - ldrne r10, .L1164+4 - bne .L1154 -.L1153: + ldrne r10, .L1167+4 + bne .L1157 +.L1156: mov r0, #0 sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1160: +.L1163: uxtah r3, r6, r7 ldr r1, [fp, #-44] mov r8, #0 ldrb r0, [r3, #60] @ zero_extendqisi2 bl V2P_block mov r9, r0 -.L1155: +.L1158: ldrh r3, [r10] uxth r4, r8 cmp r3, r4 - bhi .L1159 + bhi .L1162 add r7, r7, #1 -.L1154: +.L1157: ldrh r2, [r6, #32] uxth r3, r7 cmp r2, r3 - bhi .L1160 + bhi .L1163 bl FtlGcReFreshBadBlk - b .L1153 -.L1159: + b .L1156 +.L1162: uxth r3, r8 - ldr r5, .L1164+8 + ldr r5, .L1167+8 lsl r2, r3, #1 ldrh r2, [r5, r2] cmp r2, r9 - bne .L1156 + bne .L1159 mov r1, r9 - ldr r0, .L1164+12 + ldr r0, .L1167+12 str r3, [fp, #-48] bl sftl_printk mov r0, r9 @@ -8210,23 +8223,23 @@ FtlGcFreeBadSuperBlk: ldr r3, [fp, #-48] ldrh r2, [r10] add r3, r5, r3, lsl #1 -.L1157: +.L1160: cmp r4, r2 - bcc .L1158 + bcc .L1161 sub r2, r2, #1 strh r2, [r10] @ movhi -.L1156: +.L1159: add r8, r8, #1 - b .L1155 -.L1158: + b .L1158 +.L1161: ldrh r1, [r3, #2]! add r4, r4, #1 uxth r4, r4 strh r1, [r3, #-2] @ movhi - b .L1157 -.L1165: + b .L1160 +.L1168: .align 2 -.L1164: +.L1167: .word .LANCHOR0 .word .LANCHOR0+3206 .word .LANCHOR0+3208 @@ -8244,20 +8257,20 @@ update_vpc_list: mov ip, sp push {r4, r5, r6, fp, ip, lr, pc} sub fp, ip, #4 - ldr r3, .L1176 + ldr r3, .L1179 uxth r4, r0 ldr r1, [r3, #2324] lsl r2, r4, #1 mov r6, r3 ldrh r0, [r1, r2] cmp r0, #0 - bne .L1167 + bne .L1170 movw r2, #2588 ldrh r1, [r3, r2] cmp r1, r4 mvneq r3, #0 strheq r3, [r6, r2] @ movhi - beq .L1169 + beq .L1172 movw r2, #2348 ldrh r2, [r3, r2] cmp r2, r4 @@ -8270,19 +8283,19 @@ update_vpc_list: ldrh r3, [r3, r2] cmp r3, r4 ldmfdeq sp, {r4, r5, r6, fp, sp, pc} -.L1169: - ldr r5, .L1176+4 +.L1172: + ldr r5, .L1179+4 mov r1, r4 - ldr r0, .L1176+8 + ldr r0, .L1179+8 bl List_remove_node ldrh r3, [r5] cmp r3, #0 - bne .L1171 + bne .L1174 movw r2, #2777 - ldr r1, .L1176+12 - ldr r0, .L1176+16 + ldr r1, .L1179+12 + ldr r0, .L1179+16 bl sftl_printk -.L1171: +.L1174: ldrh r3, [r5] mov r0, r4 sub r3, r3, #1 @@ -8296,22 +8309,22 @@ update_vpc_list: add r3, r3, r2 ldrh r2, [r6, #40] cmp r3, r2 - ble .L1175 + ble .L1178 movw r2, #2780 - ldr r1, .L1176+12 - ldr r0, .L1176+16 + ldr r1, .L1179+12 + ldr r0, .L1179+16 bl sftl_printk -.L1175: +.L1178: mov r0, #1 ldmfd sp, {r4, r5, r6, fp, sp, pc} -.L1167: +.L1170: mov r0, r4 bl List_update_data_list mov r0, #0 ldmfd sp, {r4, r5, r6, fp, sp, pc} -.L1177: +.L1180: .align 2 -.L1176: +.L1179: .word .LANCHOR0 .word .LANCHOR0+2336 .word .LANCHOR0+2320 @@ -8333,44 +8346,44 @@ decrement_vpc_count: uxth r6, r0 movw r3, #65535 cmp r6, r3 - ldr r4, .L1190 - beq .L1179 + ldr r4, .L1193 + beq .L1182 ldr r3, [r4, #2324] lsl r5, r6, #1 ldrh r2, [r3, r5] cmp r2, #0 subne r2, r2, #1 strhne r2, [r3, r5] @ movhi - bne .L1179 + bne .L1182 mov r1, r6 - ldr r0, .L1190+4 + ldr r0, .L1193+4 bl sftl_printk ldr r3, [r4, #2324] ldrh r5, [r3, r5] cmp r5, #0 - beq .L1181 -.L1188: + beq .L1184 +.L1191: mov r5, #0 -.L1178: +.L1181: mov r0, r5 ldmfd sp, {r4, r5, r6, r7, fp, sp, pc} -.L1181: +.L1184: movw r2, #2795 -.L1189: - ldr r1, .L1190+8 - ldr r0, .L1190+12 +.L1192: + ldr r1, .L1193+8 + ldr r0, .L1193+12 bl sftl_printk - b .L1178 -.L1179: + b .L1181 +.L1182: movw r7, #3430 movw r3, #65535 ldrh r0, [r4, r7] cmp r0, r3 strheq r6, [r4, r7] @ movhi - beq .L1188 -.L1183: + beq .L1191 +.L1186: cmp r6, r0 - beq .L1188 + beq .L1191 bl update_vpc_list ldr r2, [r4, #2316] adds r5, r0, #0 @@ -8389,12 +8402,12 @@ decrement_vpc_count: lsr r2, r2, #5 moveq r2, #0 cmp r2, #0 - beq .L1178 + beq .L1181 movw r2, #2811 - b .L1189 -.L1191: + b .L1192 +.L1194: .align 2 -.L1190: +.L1193: .word .LANCHOR0 .word .LC106 .word .LANCHOR1+444 @@ -8417,9 +8430,9 @@ FtlRecoverySuperblock: ldrh r3, [r0] mov r10, r0 cmp r3, r2 - beq .L1312 + beq .L1315 ldrh r3, [r0, #2] - ldr r5, .L1319 + ldr r5, .L1322 str r3, [fp, #-64] ldrb r3, [r0, #6] @ zero_extendqisi2 ldr r1, [fp, #-64] @@ -8429,27 +8442,27 @@ FtlRecoverySuperblock: mov r3, #0 strheq r3, [r0, #4] @ movhi ldrhne r0, [r0, #16] - bne .L1196 -.L1317: + bne .L1199 +.L1320: strb r3, [r10, #6] -.L1312: +.L1315: mov r0, #0 sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1197: +.L1200: uxth r1, r3 add r1, r10, r1, lsl #1 ldrh r0, [r1, #16] -.L1196: +.L1199: cmp r0, r2 uxth r6, r3 add r3, r3, #1 - beq .L1197 + beq .L1200 mov r1, #1 bl FtlGetLastWrittenPage cmn r0, #1 mov r4, r0 - beq .L1198 + beq .L1201 ldrh r3, [r5, #32] mov r2, #0 ldr r0, [r5, #3280] @@ -8466,12 +8479,12 @@ FtlRecoverySuperblock: add r3, r10, #16 mov ip, r3 str r3, [fp, #-76] -.L1199: +.L1202: ldr r1, [fp, #-56] uxth r3, r2 cmp r1, r3 - bhi .L1203 - ldr r6, .L1319 + bhi .L1206 + ldr r6, .L1322 mov r2, #0 mov r1, r5 movw r8, #65535 @@ -8484,15 +8497,15 @@ FtlRecoverySuperblock: str r3, [fp, #-56] mov r7, r9 mov r3, #0 -.L1204: +.L1207: uxth r2, r3 cmp r5, r2 - bhi .L1209 + bhi .L1212 addeq r3, r4, #1 uxtheq r3, r3 streq r3, [fp, #-60] - bne .L1207 -.L1313: + bne .L1210 +.L1316: ldr r0, [r9, #4] ubfx r0, r0, #10, #16 bl P2V_plane @@ -8512,14 +8525,14 @@ FtlRecoverySuperblock: cmpeq r1, r0 moveq r2, r1 moveq r1, r3 - beq .L1318 + beq .L1321 movw r3, #65535 cmp r8, r3 - bne .L1213 + bne .L1216 ldrb r3, [r10, #8] @ zero_extendqisi2 cmp r3, #0 - bne .L1214 -.L1213: + bne .L1217 +.L1216: ldr r3, [r6, #3440] uxth r7, r4 uxth r4, r4 @@ -8527,15 +8540,15 @@ FtlRecoverySuperblock: ldreq r3, [fp, #-56] streq r3, [r6, #3440] ldr r3, [fp, #-64] - ldr r6, .L1319 + ldr r6, .L1322 add r3, r3, #7 cmp r4, r3 subgt r4, r7, #7 ldrle r4, [fp, #-64] uxthgt r4, r4 -.L1217: +.L1220: cmp r4, r7 - bhi .L1224 + bhi .L1227 mov r3, #0 ldrh r8, [r6, #32] ldr r0, [r6, #3280] @@ -8543,32 +8556,32 @@ FtlRecoverySuperblock: ldr r1, [fp, #-76] movw lr, #65535 mov ip, #20 - b .L1225 -.L1198: + b .L1228 +.L1201: ldr r3, [fp, #-64] cmp r3, #0 - beq .L1200 + beq .L1203 movw r2, #1766 - ldr r1, .L1319+4 - ldr r0, .L1319+8 + ldr r1, .L1322+4 + ldr r0, .L1322+8 bl sftl_printk -.L1200: +.L1203: ldr r3, [fp, #-80] cmp r3, #0 cmpne r6, r3 - beq .L1201 + beq .L1204 movw r2, #1767 - ldr r1, .L1319+4 - ldr r0, .L1319+8 + ldr r1, .L1322+4 + ldr r0, .L1322+8 bl sftl_printk -.L1201: +.L1204: mov r3, #0 strh r3, [r10, #2] @ movhi - b .L1317 -.L1203: + b .L1320 +.L1206: ldrh r3, [ip], #2 cmp r3, r7 - beq .L1202 + beq .L1205 mla r1, r8, r5, r0 orr r3, r4, r3, lsl #10 str r3, [r1, #4] @@ -8590,45 +8603,45 @@ FtlRecoverySuperblock: bic r3, r3, #3 add r3, lr, r3 str r3, [r1, #12] -.L1202: +.L1205: add r2, r2, #1 - b .L1199 -.L1209: + b .L1202 +.L1212: ldr r2, [r7] cmp r2, #0 - bne .L1205 + bne .L1208 ldr ip, [r7, #12] ldr r2, [ip, #4] cmn r2, #1 - beq .L1206 - ldr r1, .L1319 + beq .L1209 + ldr r1, .L1322 mov r0, r2 str ip, [fp, #-68] ldr r1, [r1, #2544] bl ftl_cmp_data_ver ldr ip, [fp, #-68] cmp r0, #0 - ldrne r1, .L1319 + ldrne r1, .L1322 addne r2, r2, #1 strne r2, [r1, #2544] -.L1206: +.L1209: ldr r2, [ip] cmn r2, #1 - bne .L1208 -.L1207: + bne .L1211 +.L1210: uxth r2, r4 uxth r3, r3 str r2, [fp, #-60] mov r2, #20 mla r9, r2, r3, r9 - b .L1313 -.L1205: - ldr r8, [fp, #-60] + b .L1316 .L1208: + ldr r8, [fp, #-60] +.L1211: add r3, r3, #1 add r7, r7, #20 - b .L1204 -.L1219: + b .L1207 +.L1222: ldrh r2, [r1], #2 add r3, r3, #1 cmp r2, lr @@ -8637,10 +8650,10 @@ FtlRecoverySuperblock: orrne r2, r4, r2, lsl #10 uxthne r5, r5 strne r2, [r9, #4] -.L1225: +.L1228: uxth r2, r3 cmp r8, r2 - bhi .L1219 + bhi .L1222 mov r1, r5 mov r2, #0 bl FlashReadPages @@ -8648,36 +8661,36 @@ FtlRecoverySuperblock: mov r2, #20 movw r1, #65535 mla r5, r2, r5, r3 -.L1220: +.L1223: cmp r5, r3 addeq r4, r4, #1 uxtheq r4, r4 - beq .L1217 -.L1223: + beq .L1220 +.L1226: ldr r2, [r3] cmp r2, #0 - bne .L1214 + bne .L1217 ldr r2, [r3, #12] ldrh r0, [r2] cmp r0, r1 - beq .L1222 + beq .L1225 ldr r2, [r2, #4] cmn r2, #1 strne r2, [r6, #3440] -.L1222: +.L1225: add r3, r3, #20 - b .L1220 -.L1224: + b .L1223 +.L1227: mvn r3, #0 str r3, [r6, #3440] -.L1214: - ldr r1, .L1319 +.L1217: + ldr r1, .L1322 mov r2, #1 ldr r8, [fp, #-64] movw r3, #3512 mov r4, r1 strh r2, [r1, r3] @ movhi -.L1226: +.L1229: ldrh ip, [r4, #32] mov r3, #0 ldr r0, [r4, #3280] @@ -8685,42 +8698,42 @@ FtlRecoverySuperblock: ldr r1, [fp, #-76] movw lr, #65535 mov r5, #20 -.L1227: +.L1230: uxth r2, r3 cmp ip, r2 - bhi .L1229 + bhi .L1232 mov r2, #0 mov r1, r9 bl FlashReadPages mov r3, #0 -.L1316: +.L1319: str r3, [fp, #-72] ldrh r3, [fp, #-72] cmp r9, r3 - bhi .L1256 + bhi .L1259 add r8, r8, #1 ldrh r3, [r4, #102] uxth r8, r8 cmp r3, r8 - bne .L1226 + bne .L1229 ldrh r2, [r4, #32] movw r0, #65535 mov r3, #0 strh r8, [r10, #2] @ movhi strh r3, [r10, #4] @ movhi -.L1257: +.L1260: uxth r1, r3 cmp r1, r2 - bcs .L1312 + bcs .L1315 ldr r1, [fp, #-76] ldrh ip, [r1], #2 cmp ip, r0 str r1, [fp, #-76] add r1, r3, #1 - bne .L1317 + bne .L1320 mov r3, r1 - b .L1257 -.L1229: + b .L1260 +.L1232: ldrh r2, [r1], #2 add r3, r3, #1 cmp r2, lr @@ -8729,8 +8742,8 @@ FtlRecoverySuperblock: addne r9, r9, #1 uxthne r9, r9 strne r2, [r6, #4] - b .L1227 -.L1256: + b .L1230 +.L1259: ldr r3, [fp, #-72] mov r6, #20 ldr r2, [r4, #3280] @@ -8743,7 +8756,7 @@ FtlRecoverySuperblock: bl P2V_plane ldr r3, [fp, #-64] cmp r8, r3 - bcc .L1231 + bcc .L1234 ldr r2, [fp, #-80] moveq r3, #1 movne r3, #0 @@ -8751,26 +8764,26 @@ FtlRecoverySuperblock: movls r3, #0 andhi r3, r3, #1 cmp r3, #0 - bne .L1231 + bne .L1234 ldr r3, [fp, #-60] ldr r2, [fp, #-68] cmp r8, r3 cmpeq r2, r0 - beq .L1232 + beq .L1235 ldr r2, [fp, #-84] ldr r3, [r2, r6] cmn r3, #1 - beq .L1233 + beq .L1236 ldr r7, [r7, #12] movw r3, #61589 ldrh r2, [r7] cmp r2, r3 ldrhne r0, [r10] - bne .L1314 + bne .L1317 ldr r3, [r7, #4] cmn r3, #1 str r3, [fp, #-56] - beq .L1235 + beq .L1238 mov r0, r3 ldr r1, [r4, #2544] bl ftl_cmp_data_ver @@ -8778,16 +8791,16 @@ FtlRecoverySuperblock: ldrne r3, [fp, #-56] addne r3, r3, #1 strne r3, [r4, #2544] -.L1235: +.L1238: ldrh r2, [r7] movw r3, #61589 cmp r2, r3 - beq .L1236 + beq .L1239 movw r2, #1918 - ldr r1, .L1319+4 - ldr r0, .L1319+8 + ldr r1, .L1322+4 + ldr r0, .L1322+8 bl sftl_printk -.L1236: +.L1239: ldr r5, [r7, #8] sub r1, fp, #48 ldr r3, [r7, #12] @@ -8797,14 +8810,14 @@ FtlRecoverySuperblock: bl log2phys ldr r1, [r4, #3440] cmn r1, #1 - beq .L1237 + beq .L1240 ldr r0, [fp, #-56] bl ftl_cmp_data_ver cmp r0, #0 - beq .L1237 + beq .L1240 ldr r2, [fp, #-52] cmn r2, #1 - beq .L1238 + beq .L1241 ldr r0, [r4, #3280] mov r1, #1 add r0, r0, r6 @@ -8816,126 +8829,126 @@ FtlRecoverySuperblock: ldr r1, [r2, r6] add r3, r2, r6 cmn r1, #1 - bne .L1239 -.L1240: + bne .L1242 +.L1243: mvn r3, #0 str r3, [fp, #-52] -.L1247: +.L1250: ldr r6, [fp, #-52] cmn r6, #1 - beq .L1231 -.L1260: + beq .L1234 +.L1263: ubfx r0, r6, #10, #16 bl P2V_block_in_plane ldrh r3, [r4, #40] mov r5, r0 cmp r3, r0 - bhi .L1252 + bhi .L1255 movw r2, #2019 - ldr r1, .L1319+4 - ldr r0, .L1319+8 + ldr r1, .L1322+4 + ldr r0, .L1322+8 bl sftl_printk -.L1252: - ldr r3, .L1319 +.L1255: + ldr r3, .L1322 ldr r2, [r3, #2324] lsl r3, r5, #1 ldrh r3, [r2, r3] cmp r3, #0 - beq .L1253 + beq .L1256 mov r0, r5 -.L1314: +.L1317: bl decrement_vpc_count - b .L1231 -.L1238: + b .L1234 +.L1241: ldr r3, [fp, #-44] ldr r2, [fp, #-48] cmp r2, r3 - bne .L1231 + bne .L1234 mov r2, #1 sub r1, fp, #52 mov r0, r5 bl log2phys -.L1231: +.L1234: ldr r3, [fp, #-72] add r3, r3, #1 - b .L1316 -.L1239: + b .L1319 +.L1242: ldr r1, [r7, #8] cmp r5, r1 - bne .L1240 + bne .L1243 ldr r1, [r7, #4] ldr r0, [r4, #3440] str r1, [fp, #-84] bl ftl_cmp_data_ver cmp r0, #0 - beq .L1240 + beq .L1243 ldr r1, [fp, #-48] ldr r0, [fp, #-44] cmp r1, r0 - bne .L1242 -.L1245: + bne .L1245 +.L1248: ldr r1, [fp, #-52] mov r0, r5 bl FtlReUsePrevPpa - b .L1240 -.L1242: + b .L1243 +.L1245: ldr r0, [fp, #-52] cmp r1, r0 - beq .L1240 + beq .L1243 cmn r1, #1 streq r1, [r2, r6] - beq .L1244 + beq .L1247 str r1, [r3, #4] mov r2, #0 mov r1, #1 mov r0, r3 ldr r7, [r3, #12] bl FlashReadPages -.L1244: +.L1247: ldr r2, [r4, #3280] ldr r2, [r2, r6] cmn r2, #1 - beq .L1245 + beq .L1248 ldr r3, [r7, #4] ldr r0, [r4, #3440] mov r1, r3 bl ftl_cmp_data_ver cmp r0, #0 - beq .L1245 + beq .L1248 mov r1, r3 ldr r0, [fp, #-84] bl ftl_cmp_data_ver cmp r0, #0 - beq .L1240 - b .L1245 -.L1237: + beq .L1243 + b .L1248 +.L1240: ldr r3, [fp, #-44] ldr r2, [fp, #-48] cmp r2, r3 - beq .L1247 + beq .L1250 mov r2, #1 sub r1, fp, #44 mov r0, r5 bl log2phys ldr r6, [fp, #-48] cmn r6, #1 - beq .L1247 + beq .L1250 ldr r3, [fp, #-52] cmp r6, r3 - beq .L1260 + beq .L1263 ubfx r0, r6, #10, #16 bl P2V_block_in_plane - ldr r3, .L1319+12 + ldr r3, .L1322+12 ldrh r2, [r3] cmp r2, r0 - beq .L1251 + beq .L1254 ldrh r2, [r3, #48] cmp r2, r0 - beq .L1251 + beq .L1254 ldrh r3, [r3, #96] cmp r3, r0 - bne .L1247 -.L1251: + bne .L1250 +.L1254: ldr r0, [r4, #3280] mov r2, #0 mov r1, #1 @@ -8945,23 +8958,23 @@ FtlRecoverySuperblock: ldr r3, [r4, #3280] ldr r3, [r3] cmn r3, #1 - beq .L1247 + beq .L1250 ldr r1, [r7, #4] ldr r0, [fp, #-56] bl ftl_cmp_data_ver cmp r0, #0 - bne .L1247 + bne .L1250 mov r2, #1 sub r1, fp, #48 mov r0, r5 bl log2phys - b .L1247 -.L1253: + b .L1250 +.L1256: mov r1, r5 - ldr r0, .L1319+16 + ldr r0, .L1322+16 bl sftl_printk - b .L1231 -.L1233: + b .L1234 +.L1236: ldr r3, [r4, #3516] cmp r3, #31 addls r2, r4, r3, lsl #2 @@ -8973,28 +8986,28 @@ FtlRecoverySuperblock: ldr r3, [r4, #3440] cmn r3, #1 ldreq r3, [fp, #-56] - beq .L1315 + beq .L1318 ldr r2, [fp, #-56] cmp r2, r3 - bcs .L1231 + bcs .L1234 mov r3, r2 -.L1315: +.L1318: str r3, [r4, #3440] - b .L1231 -.L1232: + b .L1234 +.L1235: ldrb r3, [fp, #-68] @ zero_extendqisi2 ldr r2, [fp, #-68] ldr r1, [fp, #-60] strb r3, [r10, #6] ldrh r3, [fp, #-60] strh r3, [r10, #2] @ movhi -.L1318: +.L1321: mov r0, r10 bl ftl_sb_update_avl_pages - b .L1312 -.L1320: + b .L1315 +.L1323: .align 2 -.L1319: +.L1322: .word .LANCHOR0 .word .LANCHOR1+464 .word .LC1 @@ -9014,22 +9027,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, .L1339 - ldr r4, .L1339+4 + ldr r6, .L1342 + ldr r4, .L1342+4 ldrh r2, [r6, #4] cmp r2, #0 - beq .L1322 + beq .L1325 ldrb r3, [r4, #2356] @ zero_extendqisi2 cmp r3, #0 - bne .L1322 + bne .L1325 ldrb r1, [r4, #2355] @ zero_extendqisi2 ldrh r3, [r4, #102] mul r3, r3, r1 cmp r2, r3 - beq .L1322 + beq .L1325 ldrb r8, [r4, #2358] @ zero_extendqisi2 cmp r8, #0 - bne .L1321 + bne .L1324 ldr r7, [r4, #2504] mov r2, r8 sub r1, fp, #64 @@ -9046,37 +9059,37 @@ FtlWriteDump_data: str r0, [fp, #-52] str r5, [fp, #-48] str r8, [r5, #4] - beq .L1324 + beq .L1327 mov r2, r8 mov r1, #1 sub r0, fp, #60 bl FlashReadPages -.L1325: - ldr ip, .L1339 +.L1328: + ldr ip, .L1342 mov r8, #0 - ldr r3, .L1339+8 + ldr r3, .L1342+8 lsl r9, r9, #2 mov r10, r8 strh r3, [r5] @ movhi -.L1326: +.L1329: cmp r9, r8 - bne .L1330 -.L1327: + bne .L1333 +.L1330: mov r3, #1 -.L1338: +.L1341: strb r3, [r4, #2358] -.L1321: +.L1324: sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1324: +.L1327: ldrh r2, [r4, #110] mov r1, #255 bl ftl_memset - b .L1325 -.L1330: + b .L1328 +.L1333: ldrh r3, [r6, #4] cmp r3, #0 - beq .L1327 + beq .L1330 ldr r3, [fp, #-56] mov r0, ip str r7, [r5, #8] @@ -9101,13 +9114,13 @@ FtlWriteDump_data: ldrh r0, [r6] bl decrement_vpc_count ldr ip, [fp, #-68] - b .L1326 -.L1322: + b .L1329 +.L1325: mov r3, #0 - b .L1338 -.L1340: + b .L1341 +.L1343: .align 2 -.L1339: +.L1342: .word .LANCHOR0+2348 .word .LANCHOR0 .word -3947 @@ -9124,31 +9137,31 @@ l2p_flush: mov ip, sp push {r4, r5, r6, fp, ip, lr, pc} sub fp, ip, #4 - ldr r5, .L1345 + ldr r5, .L1348 mov r4, #0 mov r6, #12 bl FtlWriteDump_data -.L1342: +.L1345: ldrh r2, [r5, #138] uxth r3, r4 cmp r2, r3 - bhi .L1344 + bhi .L1347 mov r0, #0 ldmfd sp, {r4, r5, r6, fp, sp, pc} -.L1344: +.L1347: ldr r3, [r5, #2492] uxth r0, r4 mla r3, r6, r0, r3 ldr r3, [r3, #4] cmp r3, #0 - bge .L1343 + bge .L1346 bl flush_l2p_region -.L1343: - add r4, r4, #1 - b .L1342 .L1346: + add r4, r4, #1 + b .L1345 +.L1349: .align 2 -.L1345: +.L1348: .word .LANCHOR0 .size l2p_flush, .-l2p_flush .align 2 @@ -9167,7 +9180,7 @@ FtlSuperblockPowerLostFix: mvn r3, #0 str r3, [fp, #-36] mov r6, #0 - ldr r3, .L1360 + ldr r3, .L1363 movw r1, #61589 mov r4, r0 ldr r2, [r3, #3292] @@ -9184,18 +9197,18 @@ FtlSuperblockPowerLostFix: strh r2, [r5, #2] @ movhi ldr r2, [r3, #3292] str r1, [r2] - ldr r1, .L1360+4 + ldr r1, .L1363+4 ldr r2, [r3, #3292] str r1, [r2, #4] ldrh r2, [r0, #4] tst r2, #1 moveq r7, #6 movne r7, #7 -.L1353: +.L1356: ldrh r3, [r4, #4] cmp r3, #0 - bne .L1349 -.L1350: + bne .L1352 +.L1353: ldrh r3, [r4] ldr r1, [r8, #2324] ldrh r0, [r4, #4] @@ -9210,12 +9223,12 @@ FtlSuperblockPowerLostFix: strh r3, [r4, #4] @ movhi sub sp, fp, #32 ldmfd sp, {r4, r5, r6, r7, r8, fp, sp, pc} -.L1349: +.L1352: mov r0, r4 bl get_new_active_ppa cmn r0, #1 str r0, [fp, #-48] - beq .L1350 + beq .L1353 ldr r3, [r8, #2544] mov r1, #1 sub r0, fp, #52 @@ -9230,11 +9243,11 @@ FtlSuperblockPowerLostFix: ldrh r0, [r4] bl decrement_vpc_count subs r7, r7, #1 - bne .L1353 - b .L1350 -.L1361: + bne .L1356 + b .L1353 +.L1364: .align 2 -.L1360: +.L1363: .word .LANCHOR0 .word 305419896 .size FtlSuperblockPowerLostFix, .-FtlSuperblockPowerLostFix @@ -9252,26 +9265,26 @@ FtlVendorPartWrite: sub fp, ip, #4 sub sp, sp, #100 mov r7, r0 - ldr r4, .L1371 + ldr r4, .L1374 mov r5, r1 str r2, [fp, #-128] add r2, r0, r1 ldrh r3, [r4, #96] cmp r2, r3 mvnhi r8, #0 - bhi .L1362 + bhi .L1365 ldrh r6, [r4, #108] mov r8, #0 lsr r6, r0, r6 lsl r10, r6, #2 -.L1364: +.L1367: cmp r5, #0 - bne .L1369 -.L1362: + bne .L1372 +.L1365: mov r0, r8 sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1369: +.L1372: ldr r3, [r4, #3364] mov r0, r7 ldrh r2, [r4, #58] @@ -9291,7 +9304,7 @@ FtlVendorPartWrite: cmpne r9, r2 movne r1, #1 moveq r1, #0 - beq .L1366 + beq .L1369 ldr r2, [r4, #3300] sub r0, fp, #124 str ip, [fp, #-120] @@ -9301,7 +9314,7 @@ FtlVendorPartWrite: mov r2, #1 mov r1, r2 bl FlashReadPages -.L1367: +.L1370: ldr r3, [fp, #-132] lsl ip, r9, #9 ldr r0, [r4, #3300] @@ -9315,7 +9328,7 @@ FtlVendorPartWrite: bl ftl_memcpy mov r1, r6 ldr r2, [r4, #3300] - ldr r0, .L1371+4 + ldr r0, .L1374+4 add r6, r6, #1 bl FtlMapWritePage ldr r3, [fp, #-128] @@ -9324,15 +9337,15 @@ FtlVendorPartWrite: mvneq r8, #0 add r3, r3, ip str r3, [fp, #-128] - b .L1364 -.L1366: + b .L1367 +.L1369: ldrh r2, [r4, #110] ldr r0, [r4, #3300] bl ftl_memset - b .L1367 -.L1372: + b .L1370 +.L1375: .align 2 -.L1371: +.L1374: .word .LANCHOR0 .word .LANCHOR0+3468 .size FtlVendorPartWrite, .-FtlVendorPartWrite @@ -9348,12 +9361,12 @@ Ftl_save_ext_data: mov ip, sp push {fp, ip, lr, pc} sub fp, ip, #4 - ldr r3, .L1375 - ldr r2, .L1375+4 + ldr r3, .L1378 + ldr r2, .L1378+4 ldr r1, [r3, #2636] cmp r1, r2 ldmfdne sp, {fp, sp, pc} - ldr r2, .L1375+8 + ldr r2, .L1378+8 mov r1, #1 mov r0, #0 str r2, [r3, #2640] @@ -9381,12 +9394,12 @@ Ftl_save_ext_data: str r2, [r3, #2680] ldr r2, [r3, #2568] str r2, [r3, #2684] - ldr r2, .L1375+12 + ldr r2, .L1378+12 bl FtlVendorPartWrite ldmfd sp, {fp, sp, pc} -.L1376: +.L1379: .align 2 -.L1375: +.L1378: .word .LANCHOR0 .word 1179929683 .word 1342177352 @@ -9404,7 +9417,7 @@ FtlEctTblFlush: mov ip, sp push {fp, ip, lr, pc} sub fp, ip, #4 - ldr r2, .L1382 + ldr r2, .L1385 ldrh r3, [r2] cmp r3, #31 addls r3, r3, #1 @@ -9412,20 +9425,20 @@ FtlEctTblFlush: strhls r3, [r2] @ movhi movls r2, #1 cmp r0, #0 - ldr r3, .L1382+4 - bne .L1379 + ldr r3, .L1385+4 + bne .L1382 ldr r1, [r3, #3340] ldr r0, [r1, #20] ldr r1, [r1, #16] add r2, r2, r0 cmp r1, r2 - bcc .L1380 -.L1379: + bcc .L1383 +.L1382: ldr r2, [r3, #3340] mov r0, #64 ldr r1, [r2, #16] str r1, [r2, #20] - ldr r1, .L1382+8 + ldr r1, .L1385+8 str r1, [r2] movw r1, #3332 ldrh r1, [r3, r1] @@ -9439,12 +9452,12 @@ FtlEctTblFlush: str r3, [r2, #4] bl FtlVendorPartWrite bl Ftl_save_ext_data -.L1380: +.L1383: mov r0, #0 ldmfd sp, {fp, sp, pc} -.L1383: +.L1386: .align 2 -.L1382: +.L1385: .word .LANCHOR0+3648 .word .LANCHOR0 .word 1112818501 @@ -9463,7 +9476,7 @@ FtlVendorPartRead: sub fp, ip, #4 sub sp, sp, #96 mov r9, r2 - ldr r3, .L1394 + ldr r3, .L1397 mov r6, r1 add r1, r0, r1 mov r7, r0 @@ -9471,20 +9484,20 @@ FtlVendorPartRead: mov r10, r3 cmp r1, r2 mvnhi r8, #0 - bhi .L1384 + bhi .L1387 ldrh r5, [r3, #108] mov r8, #0 lsr r5, r0, r5 lsl r3, r5, #2 str r3, [fp, #-128] -.L1386: +.L1389: cmp r6, #0 - bne .L1392 -.L1384: + bne .L1395 +.L1387: mov r0, r8 sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1392: +.L1395: ldr r3, [fp, #-128] mov r0, r7 ldr r2, [r10, #3364] @@ -9502,7 +9515,7 @@ FtlVendorPartRead: cmp ip, #0 lsl r3, r4, #9 str r3, [fp, #-136] - beq .L1388 + beq .L1391 ldr r2, [r10, #3300] sub r0, fp, #124 str ip, [fp, #-120] @@ -9519,23 +9532,23 @@ FtlVendorPartRead: ldr r2, [r10, #3444] mvneq r8, #0 cmp r2, #256 - bne .L1390 + bne .L1393 mov r2, ip mov r1, r5 - ldr r0, .L1394+4 + ldr r0, .L1397+4 bl sftl_printk ldr r2, [r10, #3300] mov r1, r5 - ldr r0, .L1394+8 + ldr r0, .L1397+8 bl FtlMapWritePage -.L1390: +.L1393: ldr r1, [r10, #3300] lsl r2, r4, #9 ldr r3, [fp, #-132] mov r0, r9 add r1, r1, r3, lsl #9 bl ftl_memcpy -.L1391: +.L1394: ldr r3, [fp, #-128] add r5, r5, #1 sub r6, r6, r4 @@ -9543,16 +9556,16 @@ FtlVendorPartRead: add r9, r9, r4, lsl #9 add r3, r3, #4 str r3, [fp, #-128] - b .L1386 -.L1388: + b .L1389 +.L1391: lsl r2, r4, #9 mov r1, ip mov r0, r9 bl ftl_memset - b .L1391 -.L1395: + b .L1394 +.L1398: .align 2 -.L1394: +.L1397: .word .LANCHOR0 .word .LC108 .word .LANCHOR0+3468 @@ -9569,7 +9582,7 @@ FtlLoadEctTbl: mov ip, sp push {r4, r5, fp, ip, lr, pc} sub fp, ip, #4 - ldr r4, .L1398 + ldr r4, .L1401 movw r5, #3332 mov r0, #64 ldr r2, [r4, #3340] @@ -9577,23 +9590,23 @@ FtlLoadEctTbl: bl FtlVendorPartRead ldr r3, [r4, #3340] ldr r2, [r3] - ldr r3, .L1398+4 + ldr r3, .L1401+4 cmp r2, r3 - beq .L1397 - ldr r1, .L1398+8 - ldr r0, .L1398+12 + beq .L1400 + ldr r1, .L1401+8 + ldr r0, .L1401+12 bl sftl_printk ldrh r2, [r4, r5] mov r1, #0 ldr r0, [r4, #3340] lsl r2, r2, #9 bl ftl_memset -.L1397: +.L1400: mov r0, #0 ldmfd sp, {r4, r5, fp, sp, pc} -.L1399: +.L1402: .align 2 -.L1398: +.L1401: .word .LANCHOR0 .word 1112818501 .word .LC109 @@ -9611,23 +9624,23 @@ Ftl_load_ext_data: mov ip, sp push {r4, r5, fp, ip, lr, pc} sub fp, ip, #4 - ldr r4, .L1403 + ldr r4, .L1406 mov r1, #1 mov r0, #0 - ldr r2, .L1403+4 + ldr r2, .L1406+4 bl FtlVendorPartRead - ldr r5, .L1403+8 + ldr r5, .L1406+8 ldr r3, [r4, #2636] cmp r3, r5 - beq .L1401 + beq .L1404 mov r1, #512 - ldr r0, .L1403+4 + ldr r0, .L1406+4 bl __memzero str r5, [r4, #2636] -.L1401: +.L1404: ldr r3, [r4, #2636] cmp r3, r5 - bne .L1402 + bne .L1405 ldr r3, [r4, #2724] str r3, [r4, #2532] ldr r3, [r4, #2728] @@ -9652,7 +9665,7 @@ Ftl_load_ext_data: str r3, [r4, #2564] ldr r3, [r4, #2684] str r3, [r4, #2568] -.L1402: +.L1405: ldrh r2, [r4, #92] ldr r3, [r4, #2552] ldr r0, [r4, #2548] @@ -9661,9 +9674,9 @@ Ftl_load_ext_data: bl __udivsi3 str r0, [r4, #2556] ldmfd sp, {r4, r5, fp, sp, pc} -.L1404: +.L1407: .align 2 -.L1403: +.L1406: .word .LANCHOR0 .word .LANCHOR0+2636 .word 1179929683 @@ -9680,10 +9693,10 @@ FtlVpcTblFlush: mov ip, sp push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} sub fp, ip, #4 - ldr r4, .L1414 + ldr r4, .L1417 mov r5, #0 mov r1, #255 - ldr r10, .L1414+4 + ldr r10, .L1417+4 ldr r3, [r4, #3292] add r6, r4, #2576 ldr r7, [r4, #3324] @@ -9694,15 +9707,15 @@ FtlVpcTblFlush: str r7, [r4, #3456] str r5, [r7, #12] strh r3, [r7, #2] @ movhi - ldr r3, .L1414+8 + ldr r3, .L1417+8 strh r3, [r7] @ movhi ldr r3, [r4, #2584] str r5, [r7, #8] ldrh r2, [r6, #-226] str r3, [r7, #4] - ldr r3, .L1414+12 + ldr r3, .L1417+12 str r3, [r4, #2268] - ldr r3, .L1414+16 + ldr r3, .L1417+16 str r3, [r4, #2272] ldrh r3, [r6, #6] strh r3, [r8, #8] @ movhi @@ -9766,7 +9779,7 @@ FtlVpcTblFlush: bl ftl_memcpy mov r0, r5 bl FtlUpdateVaildLpn -.L1406: +.L1409: ldr r3, [r4, #3292] ldrh r1, [r6, #2] ldrh r2, [r6] @@ -9778,7 +9791,7 @@ FtlVpcTblFlush: ldrh r3, [r4, #104] sub r3, r3, #1 cmp r1, r3 - blt .L1407 + blt .L1410 mov r3, #0 ldrh r8, [r6, #4] strh r3, [r6, #2] @ movhi @@ -9793,7 +9806,7 @@ FtlVpcTblFlush: str r2, [r4, #3448] str r3, [r7, #4] strh r0, [r7, #2] @ movhi -.L1407: +.L1410: mov r3, #1 mov r0, r9 mov r2, r3 @@ -9805,14 +9818,14 @@ FtlVpcTblFlush: uxth r3, r3 cmn r2, #1 strh r3, [r6, #2] @ movhi - bne .L1408 + bne .L1411 cmp r3, #1 - bne .L1409 + bne .L1412 movw r2, #1135 mov r1, r10 - ldr r0, .L1414+20 + ldr r0, .L1417+20 bl sftl_printk -.L1409: +.L1412: ldrh r3, [r6, #2] add r5, r5, #1 uxth r5, r5 @@ -9821,29 +9834,29 @@ FtlVpcTblFlush: subeq r3, r3, #1 strheq r3, [r6, #2] @ movhi cmp r5, #3 - bls .L1406 + bls .L1409 mov r2, r5 ldr r1, [r4, #3448] - ldr r0, .L1414+24 + ldr r0, .L1417+24 bl sftl_printk -.L1412: - b .L1412 -.L1408: +.L1415: + b .L1415 +.L1411: cmp r2, #256 cmpne r3, #1 - beq .L1406 + beq .L1409 movw r3, #65535 cmp r8, r3 - beq .L1413 + beq .L1416 mov r1, #1 mov r0, r8 bl FtlFreeSysBlkQueueIn -.L1413: +.L1416: mov r0, #0 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1415: +.L1418: .align 2 -.L1414: +.L1417: .word .LANCHOR0 .word .LANCHOR1+486 .word -3932 @@ -9883,17 +9896,17 @@ sftl_deinit: mov ip, sp push {fp, ip, lr, pc} sub fp, ip, #4 - ldr r3, .L1419 + ldr r3, .L1422 ldr r3, [r3] cmp r3, #1 - bne .L1418 + bne .L1421 bl FtlSysFlush -.L1418: +.L1421: mov r0, #0 ldmfd sp, {fp, sp, pc} -.L1420: +.L1423: .align 2 -.L1419: +.L1422: .word .LANCHOR2 .size sftl_deinit, .-sftl_deinit .align 2 @@ -9910,21 +9923,21 @@ FtlDiscard: sub fp, ip, #4 sub sp, sp, #8 add r2, r0, r1 - ldr r4, .L1436 + ldr r4, .L1439 mov r8, r0 mov r6, r1 ldr r3, [r4, #140] cmp r2, r3 mvnhi r0, #0 - bhi .L1421 + bhi .L1424 cmp r1, #31 - bhi .L1423 -.L1428: + bhi .L1426 +.L1431: mov r0, #0 -.L1421: +.L1424: sub sp, fp, #32 ldmfd sp, {r4, r5, r6, r7, r8, fp, sp, pc} -.L1423: +.L1426: ldrh r5, [r4, #58] mov r1, r5 bl __udivsi3 @@ -9933,36 +9946,36 @@ FtlDiscard: sub r8, r8, r3 uxth r8, r8 cmp r8, #0 - beq .L1424 + beq .L1427 sub r5, r5, r8 add r7, r0, #1 cmp r5, r6 movcs r5, r6 uxth r5, r5 sub r6, r6, r5 -.L1424: +.L1427: mvn r3, #0 str r3, [fp, #-36] -.L1425: +.L1428: ldrh r3, [r4, #58] cmp r6, r3 - bcs .L1427 + bcs .L1430 ldr r3, [r4, #3652] cmp r3, #32 - bls .L1428 + bls .L1431 mov r5, #0 str r5, [r4, #3652] bl l2p_flush bl FtlVpcTblFlush - b .L1428 -.L1427: + b .L1431 +.L1430: mov r2, #0 sub r1, fp, #40 mov r0, r7 bl log2phys ldr r3, [fp, #-40] cmn r3, #1 - beq .L1426 + beq .L1429 ldr r3, [r4, #3652] mov r2, #1 sub r1, fp, #36 @@ -9977,14 +9990,14 @@ FtlDiscard: ubfx r0, r0, #10, #16 bl P2V_block_in_plane bl decrement_vpc_count -.L1426: +.L1429: ldrh r3, [r4, #58] add r7, r7, #1 sub r6, r6, r3 - b .L1425 -.L1437: + b .L1428 +.L1440: .align 2 -.L1436: +.L1439: .word .LANCHOR0 .size FtlDiscard, .-FtlDiscard .align 2 @@ -10001,38 +10014,38 @@ FtlVpcCheckAndModify: sub fp, ip, #4 sub sp, sp, #4 mov r5, #0 - ldr r4, .L1451 - ldr r1, .L1451+4 - ldr r0, .L1451+8 + ldr r4, .L1454 + ldr r1, .L1454+4 + ldr r0, .L1454+8 bl sftl_printk ldrh r2, [r4, #42] mov r1, #0 ldr r0, [r4, #3344] lsl r2, r2, #1 bl ftl_memset -.L1439: +.L1442: ldr r3, [r4, #2504] cmp r5, r3 - bcc .L1441 - ldr r9, .L1451+12 + bcc .L1444 + ldr r9, .L1454+12 mov r7, #0 - ldr r10, .L1451+16 -.L1442: + ldr r10, .L1454+16 +.L1445: ldrh r3, [r4, #40] uxth r6, r7 cmp r3, r6 - bhi .L1447 + bhi .L1450 bl l2p_flush bl FtlVpcTblFlush ldmib sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1441: +.L1444: mov r2, #0 sub r1, fp, #44 mov r0, r5 bl log2phys ldr r0, [fp, #-44] cmn r0, #1 - beq .L1440 + beq .L1443 ubfx r0, r0, #10, #16 bl P2V_block_in_plane ldr r2, [r4, #3344] @@ -10040,10 +10053,10 @@ FtlVpcCheckAndModify: ldrh r3, [r2, r0] add r3, r3, #1 strh r3, [r2, r0] @ movhi -.L1440: +.L1443: add r5, r5, #1 - b .L1439 -.L1447: + b .L1442 +.L1450: uxth r8, r7 ldr r3, [r4, #2324] movw r1, #65535 @@ -10053,37 +10066,37 @@ FtlVpcCheckAndModify: ldrh r3, [r3, r5] cmp r2, r1 cmpne r2, r3 - beq .L1444 + beq .L1447 mov r1, r8 mov r0, r9 bl sftl_printk ldrh r3, [r10] cmp r3, r6 - beq .L1444 - ldr r3, .L1451+20 + beq .L1447 + ldr r3, .L1454+20 ldrh r2, [r3] cmp r2, r6 - beq .L1444 + beq .L1447 ldrh r3, [r3, #-48] cmp r3, r6 - beq .L1444 + beq .L1447 ldr r3, [r4, #2324] ldrh r2, [r3, r5] cmp r2, #0 ldr r2, [r4, #3344] ldrh r2, [r2, r5] strh r2, [r3, r5] @ movhi - bne .L1446 -.L1444: + bne .L1449 +.L1447: add r7, r7, #1 - b .L1442 -.L1446: + b .L1445 +.L1449: mov r0, r8 bl update_vpc_list - b .L1444 -.L1452: + b .L1447 +.L1455: .align 2 -.L1451: +.L1454: .word .LANCHOR0 .word .LANCHOR1+501 .word .LC95 @@ -10103,49 +10116,49 @@ allocate_new_data_superblock: mov ip, sp push {r4, r5, r6, fp, ip, lr, pc} sub fp, ip, #4 - ldr r4, .L1463 + ldr r4, .L1466 mov r6, r0 ldrh r5, [r0] ldrh r3, [r4, #40] cmp r3, r5 - bcs .L1454 + bcs .L1457 movw r2, #2714 - ldr r1, .L1463+4 - ldr r0, .L1463+8 + ldr r1, .L1466+4 + ldr r0, .L1466+8 bl sftl_printk -.L1454: +.L1457: movw r3, #65535 cmp r5, r3 - beq .L1455 + beq .L1458 ldr r2, [r4, #2324] lsl r3, r5, #1 mov r0, r5 ldrh r3, [r2, r3] cmp r3, #0 - beq .L1456 + beq .L1459 bl INSERT_DATA_LIST -.L1455: +.L1458: mov r3, #1 strb r3, [r6, #8] movw r3, #3430 ldrh r0, [r4, r3] movw r3, #65535 cmp r0, r3 - beq .L1457 + beq .L1460 cmp r5, r0 - bne .L1458 + bne .L1461 ldr r2, [r4, #2324] lsl r3, r0, #1 ldrh r3, [r2, r3] cmp r3, #0 - beq .L1459 -.L1458: + beq .L1462 +.L1461: bl update_vpc_list -.L1459: +.L1462: mvn r2, #0 movw r3, #3430 strh r2, [r4, r3] @ movhi -.L1457: +.L1460: mov r0, r6 bl allocate_data_superblock bl l2p_flush @@ -10154,12 +10167,12 @@ allocate_new_data_superblock: bl FtlVpcTblFlush mov r0, #0 ldmfd sp, {r4, r5, r6, fp, sp, pc} -.L1456: +.L1459: bl INSERT_FREE_LIST - b .L1455 -.L1464: + b .L1458 +.L1467: .align 2 -.L1463: +.L1466: .word .LANCHOR0 .word .LANCHOR1+522 .word .LC1 @@ -10178,26 +10191,26 @@ FtlProgPages: sub fp, ip, #4 sub sp, sp, #8 mov r7, #0 - ldr r6, .L1479 + ldr r6, .L1482 mov r4, r3 - ldr r10, .L1479+4 + ldr r10, .L1482+4 mov r2, #0 ldrb r3, [r3, #9] @ zero_extendqisi2 mov r5, r0 mov r9, r1 bl FlashProgPages -.L1466: +.L1469: cmp r7, r9 - beq .L1473 + beq .L1476 mov r8, #0 - b .L1474 -.L1469: + b .L1477 +.L1472: ldr r0, [r5, #4] ubfx r0, r0, #10, #16 bl P2V_block_in_plane ldrh r3, [r4] cmp r3, r0 - bne .L1467 + bne .L1470 ldr r1, [r6, #2324] lsl r3, r3, #1 ldrh r0, [r4, #4] @@ -10208,13 +10221,13 @@ FtlProgPages: strb r8, [r4, #6] strh r8, [r4, #4] @ movhi strh r3, [r4, #2] @ movhi -.L1467: +.L1470: ldrh r3, [r4, #4] cmp r3, #0 - bne .L1468 + bne .L1471 mov r0, r4 bl allocate_new_data_superblock -.L1468: +.L1471: ldr r3, [r6, #2732] add r3, r3, #1 str r3, [r6, #2732] @@ -10230,19 +10243,19 @@ FtlProgPages: ldrb r3, [r4, #9] @ zero_extendqisi2 mov r0, r5 bl FlashProgPages -.L1474: +.L1477: ldr r3, [r5] cmn r3, #1 - beq .L1469 + beq .L1472 ldrb r2, [r4, #6] @ zero_extendqisi2 ldrh r3, [r6, #32] cmp r2, r3 - bcc .L1470 + bcc .L1473 movw r2, #955 mov r1, r10 - ldr r0, .L1479+8 + ldr r0, .L1482+8 bl sftl_printk -.L1470: +.L1473: ldr r3, [r5, #4] sub r1, fp, #40 mov r2, #1 @@ -10257,37 +10270,37 @@ FtlProgPages: ldr r3, [fp, #-48] mov r8, r0 cmn r3, #1 - beq .L1471 + beq .L1474 ldr r2, [r6, #2324] lsl r3, r0, #1 ldrh r2, [r2, r3] cmp r2, #0 - bne .L1472 + bne .L1475 mov r1, r0 - ldr r0, .L1479+12 + ldr r0, .L1482+12 bl sftl_printk -.L1472: +.L1475: mov r0, r8 bl decrement_vpc_count -.L1471: +.L1474: add r7, r7, #1 add r5, r5, #20 - b .L1466 -.L1473: + b .L1469 +.L1476: ldrb r2, [r4, #6] @ zero_extendqisi2 ldrh r3, [r6, #32] cmp r2, r3 - bcc .L1465 + bcc .L1468 movw r2, #970 - ldr r1, .L1479+4 - ldr r0, .L1479+8 + ldr r1, .L1482+4 + ldr r0, .L1482+8 bl sftl_printk -.L1465: +.L1468: sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1480: +.L1483: .align 2 -.L1479: +.L1482: .word .LANCHOR0 .word .LANCHOR1+551 .word .LC1 @@ -10307,51 +10320,51 @@ FtlGcFreeTempBlock: sub fp, ip, #4 sub sp, sp, #4 movw r3, #2444 - ldr r4, .L1507 + ldr r4, .L1510 movw r2, #65535 ldrh r5, [r4, r3] ldrh r1, [r4, #102] cmp r5, r2 - bne .L1482 -.L1492: + bne .L1485 +.L1495: mov r3, #0 str r3, [r4, #3436] movw r3, #2444 ldrh r2, [r4, r3] movw r3, #65535 cmp r2, r3 - bne .L1505 -.L1483: + bne .L1508 +.L1486: mov r0, #0 ldmib sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1482: +.L1485: cmp r0, #0 - beq .L1485 - ldr r3, .L1507+4 + beq .L1488 + ldr r3, .L1510+4 ldrh r0, [r3, #4] cmp r0, r2 - beq .L1486 -.L1487: + beq .L1489 +.L1490: mov r1, #2 -.L1485: - ldr r0, .L1507+8 +.L1488: + ldr r0, .L1510+8 bl FtlGcScanTempBlk cmn r0, #1 str r0, [fp, #-44] - beq .L1488 + beq .L1491 ldr r2, [r4, #2328] lsl r5, r5, #1 ldrh r3, [r2, r5] cmp r3, #4 - bls .L1489 + bls .L1492 sub r3, r3, #5 mov r0, #1 strh r3, [r2, r5] @ movhi bl FtlEctTblFlush -.L1489: +.L1492: ldr r3, [r4, #3436] cmp r3, #0 - bne .L1490 + bne .L1493 ldr r3, [r4, #2732] ldr r0, [fp, #-44] add r3, r3, #1 @@ -10359,47 +10372,47 @@ FtlGcFreeTempBlock: str r3, [r4, #2732] bl FtlBbmMapBadBlock bl FtlBbmTblFlush -.L1490: +.L1493: mov r3, #0 str r3, [r4, #3436] -.L1501: +.L1504: mov r0, #1 ldmib sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1486: +.L1489: mov r2, #0 strh r2, [r3, #4] @ movhi movw r3, #2344 ldrh r3, [r4, r3] cmp r3, #17 - bhi .L1487 - b .L1485 -.L1488: - ldr r3, .L1507+4 + bhi .L1490 + b .L1488 +.L1491: + ldr r3, .L1510+4 ldrh r2, [r3, #4] movw r3, #65535 cmp r2, r3 - bne .L1501 - b .L1492 -.L1505: + bne .L1504 + b .L1495 +.L1508: ldrb r1, [r4, #2451] @ zero_extendqisi2 ldrh r3, [r4, #102] - ldr r6, .L1507+12 + ldr r6, .L1510+12 mul r3, r3, r1 ldrh r2, [r6] cmp r2, r3 - beq .L1493 + beq .L1496 mov r2, #162 - ldr r1, .L1507+16 - ldr r0, .L1507+20 + ldr r1, .L1510+16 + ldr r0, .L1510+20 bl sftl_printk -.L1493: +.L1496: 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, .L1507+20 + ldr r10, .L1510+20 smulbb r2, r2, r0 lsl r3, r3, #1 strh r2, [r1, r3] @ movhi @@ -10407,11 +10420,11 @@ FtlGcFreeTempBlock: ldrh r3, [r6] add r3, r3, r2 str r3, [r4, #2528] -.L1494: +.L1497: ldrh r2, [r6] uxth r3, r5 cmp r2, r3 - bhi .L1498 + bhi .L1501 movw r0, #65535 bl decrement_vpc_count movw r3, #2444 @@ -10421,9 +10434,9 @@ FtlGcFreeTempBlock: lsl r2, r0, #1 ldrh r2, [r1, r2] cmp r2, #0 - beq .L1499 + beq .L1502 bl INSERT_DATA_LIST -.L1500: +.L1503: mvn r7, #0 movw r3, #3192 strh r7, [r4, r5] @ movhi @@ -10443,8 +10456,8 @@ FtlGcFreeTempBlock: movgt r2, #20 movwgt r3, #3148 strhgt r2, [r4, r3] @ movhi - b .L1483 -.L1498: + b .L1486 +.L1501: uxth r3, r5 mov r7, #12 ldr r8, [r4, #3196] @@ -10453,12 +10466,12 @@ FtlGcFreeTempBlock: add r9, r8, r7 ldr r1, [r9, #8] cmp r1, r2 - bcc .L1495 + bcc .L1498 mov r2, #168 - ldr r1, .L1507+16 + ldr r1, .L1510+16 mov r0, r10 bl sftl_printk -.L1495: +.L1498: mov r2, #0 sub r1, fp, #44 ldr r0, [r9, #8] @@ -10466,7 +10479,7 @@ FtlGcFreeTempBlock: ldr r2, [fp, #-44] ldr r0, [r8, r7] cmp r0, r2 - bne .L1496 + bne .L1499 ubfx r0, r0, #10, #16 bl P2V_block_in_plane mov r2, #1 @@ -10475,24 +10488,24 @@ FtlGcFreeTempBlock: ldr r0, [r9, #8] bl log2phys mov r0, r7 -.L1506: +.L1509: bl decrement_vpc_count -.L1497: +.L1500: add r5, r5, #1 - b .L1494 -.L1496: + b .L1497 +.L1499: ldr r3, [r9, #4] cmp r2, r3 - beq .L1497 - ldr r3, .L1507+8 + beq .L1500 + ldr r3, .L1510+8 ldrh r0, [r3] - b .L1506 -.L1499: + b .L1509 +.L1502: bl INSERT_FREE_LIST - b .L1500 -.L1508: + b .L1503 +.L1511: .align 2 -.L1507: +.L1510: .word .LANCHOR0 .word .LANCHOR2 .word .LANCHOR0+2444 @@ -10512,8 +10525,8 @@ FtlGcPageRecovery: mov ip, sp push {r4, r5, fp, ip, lr, pc} sub fp, ip, #4 - ldr r4, .L1511 - ldr r5, .L1511+4 + ldr r4, .L1514 + ldr r5, .L1514+4 ldrh r1, [r4, #102] mov r0, r5 bl FtlGcScanTempBlk @@ -10528,9 +10541,9 @@ FtlGcPageRecovery: mov r3, #0 str r3, [r4, #3436] ldmfd sp, {r4, r5, fp, sp, pc} -.L1512: +.L1515: .align 2 -.L1511: +.L1514: .word .LANCHOR0 .word .LANCHOR0+2444 .size FtlGcPageRecovery, .-FtlGcPageRecovery @@ -10546,7 +10559,7 @@ FtlPowerLostRecovery: mov ip, sp push {r4, r5, r6, fp, ip, lr, pc} sub fp, ip, #4 - ldr r4, .L1514 + ldr r4, .L1517 mov r6, #0 add r5, r4, #2336 str r6, [r4, #3516] @@ -10566,9 +10579,9 @@ FtlPowerLostRecovery: bl decrement_vpc_count mov r0, r6 ldmfd sp, {r4, r5, r6, fp, sp, pc} -.L1515: +.L1518: .align 2 -.L1514: +.L1517: .word .LANCHOR0 .size FtlPowerLostRecovery, .-FtlPowerLostRecovery .align 2 @@ -10583,7 +10596,7 @@ Ftl_gc_temp_data_write_back: mov ip, sp push {r4, r5, r6, fp, ip, lr, pc} sub fp, ip, #4 - ldr r4, .L1523 + ldr r4, .L1526 mov r3, #0 mov r5, #0 mov r6, #20 @@ -10591,14 +10604,14 @@ Ftl_gc_temp_data_write_back: ldr r1, [r4, #3164] ldr r0, [r4, #3284] bl FlashProgPages -.L1517: +.L1520: ldr r1, [r4, #3164] uxth r3, r5 cmp r1, r3 - bhi .L1520 + bhi .L1523 ldr r0, [r4, #3284] bl FtlGcBufFree - ldr r3, .L1523+4 + ldr r3, .L1526+4 mov r0, #0 str r0, [r4, #3164] ldrh r3, [r3, #4] @@ -10606,15 +10619,15 @@ Ftl_gc_temp_data_write_back: ldmfdne sp, {r4, r5, r6, fp, sp, pc} mov r0, #1 bl FtlGcFreeTempBlock - b .L1522 -.L1520: + b .L1525 +.L1523: mul r3, r6, r3 ldr r2, [r4, #3284] add r5, r5, #1 ldr r0, [r2, r3] add r1, r2, r3 cmn r0, #1 - bne .L1518 + bne .L1521 movw r1, #2444 ldr ip, [r4, #2324] ldrh r2, [r4, r1] @@ -10632,19 +10645,19 @@ Ftl_gc_temp_data_write_back: bl FtlBbmMapBadBlock bl FtlBbmTblFlush bl FtlGcPageVarInit -.L1522: +.L1525: mov r0, #1 ldmfd sp, {r4, r5, r6, fp, sp, pc} -.L1518: +.L1521: ldr r3, [r1, #12] ldr r1, [r1, #4] ldr r2, [r3, #8] ldr r0, [r3, #12] bl FtlGcUpdatePage - b .L1517 -.L1524: + b .L1520 +.L1527: .align 2 -.L1523: +.L1526: .word .LANCHOR0 .word .LANCHOR0+2444 .size Ftl_gc_temp_data_write_back, .-Ftl_gc_temp_data_write_back @@ -10660,38 +10673,38 @@ Ftl_get_new_temp_ppa: mov ip, sp push {r4, r5, fp, ip, lr, pc} sub fp, ip, #4 - ldr r4, .L1528 + ldr r4, .L1531 movw r3, #2444 ldrh r2, [r4, r3] movw r3, #65535 cmp r2, r3 - beq .L1526 - ldr r3, .L1528+4 + beq .L1529 + ldr r3, .L1531+4 ldrh r3, [r3, #4] cmp r3, #0 - bne .L1527 -.L1526: + bne .L1530 +.L1529: mov r0, #0 mov r5, #0 bl FtlGcFreeTempBlock - ldr r0, .L1528+4 + ldr r0, .L1531+4 strb r5, [r4, #2452] bl allocate_data_superblock movw r3, #3192 strh r5, [r4, r3] @ movhi - ldr r3, .L1528+8 + ldr r3, .L1531+8 strh r5, [r3] @ movhi bl l2p_flush mov r0, r5 bl FtlEctTblFlush bl FtlVpcTblFlush -.L1527: - ldr r0, .L1528+4 +.L1530: + ldr r0, .L1531+4 bl get_new_active_ppa ldmfd sp, {r4, r5, fp, sp, pc} -.L1529: +.L1532: .align 2 -.L1528: +.L1531: .word .LANCHOR0 .word .LANCHOR0+2444 .word .LANCHOR0+3200 @@ -10708,7 +10721,7 @@ FtlSysBlkInit: mov ip, sp push {r4, r5, r6, r7, r8, fp, ip, lr, pc} sub fp, ip, #4 - ldr r4, .L1545 + ldr r4, .L1548 mov r2, #0 movw r3, #3512 ldrh r0, [r4, #36] @@ -10719,16 +10732,16 @@ FtlSysBlkInit: ldrh r2, [r3] movw r3, #65535 cmp r2, r3 - bne .L1531 -.L1533: + bne .L1534 +.L1536: mvn r8, #0 -.L1530: +.L1533: mov r0, r8 ldmfd sp, {r4, r5, r6, r7, r8, fp, sp, pc} -.L1531: +.L1534: bl FtlLoadSysInfo subs r8, r0, #0 - bne .L1533 + bne .L1536 bl FtlLoadMapInfo bl FtlLoadVonderInfo bl Ftl_load_ext_data @@ -10742,24 +10755,24 @@ FtlSysBlkInit: mov r3, r8 ldr r2, [r4, #2492] mov r0, #12 -.L1534: +.L1537: cmp r3, r1 - bge .L1539 + bge .L1542 mla ip, r0, r3, r2 ldr ip, [ip, #4] cmp ip, #0 - bge .L1535 -.L1539: - ldr r5, .L1545+4 + bge .L1538 +.L1542: + ldr r5, .L1548+4 cmp r3, r1 ldrh r2, [r5, #28] add r6, r5, #80 add r2, r2, #1 strh r2, [r5, #28] @ movhi - bge .L1544 -.L1536: - ldr r7, .L1545+8 - ldr r0, .L1545+12 + bge .L1547 +.L1539: + ldr r7, .L1548+8 + ldr r0, .L1548+12 bl FtlSuperblockPowerLostFix mov r0, r7 bl FtlSuperblockPowerLostFix @@ -10794,29 +10807,29 @@ FtlSysBlkInit: bl l2p_flush bl FtlVpcTblFlush bl FtlVpcTblFlush - b .L1540 -.L1535: + b .L1543 +.L1538: add r3, r3, #1 - b .L1534 -.L1544: + b .L1537 +.L1547: movw r3, #3512 ldrh r3, [r4, r3] cmp r3, #0 - bne .L1536 -.L1540: + bne .L1539 +.L1543: bl FtlVpcCheckAndModify movw r3, #2348 ldrh r0, [r4, r3] movw r3, #65535 cmp r0, r3 - beq .L1530 + beq .L1533 ldrh r3, [r6, #4] cmp r3, #0 - bne .L1530 - ldr r5, .L1545+8 + bne .L1533 + ldr r5, .L1548+8 ldrh r3, [r5, #4] cmp r3, #0 - bne .L1530 + bne .L1533 bl FtlGcRefreshBlock movw r3, #2396 ldrh r0, [r4, r3] @@ -10826,10 +10839,10 @@ FtlSysBlkInit: bl allocate_new_data_superblock mov r0, r5 bl allocate_new_data_superblock - b .L1530 -.L1546: + b .L1533 +.L1549: .align 2 -.L1545: +.L1548: .word .LANCHOR0 .word .LANCHOR0+2268 .word .LANCHOR0+2396 @@ -10848,29 +10861,29 @@ rk_ftl_garbage_collect: push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} sub fp, ip, #4 sub sp, sp, #36 - ldr r3, .L1665 + ldr r3, .L1668 str r0, [fp, #-60] ldr r0, [r3, #3264] mov r4, r3 cmp r0, #0 movne r0, #0 - bne .L1547 + bne .L1550 add r2, r3, #2336 ldrh r2, [r2] cmp r2, #47 - bls .L1547 - ldr r2, .L1665+4 + bls .L1550 + ldr r2, .L1668+4 ldrh r1, [r2, #4] movw r2, #65535 cmp r1, r2 - bne .L1549 -.L1552: + bne .L1552 +.L1555: movw r3, #3204 movw r0, #65535 ldrh r1, [r4, r3] cmp r1, r0 - bne .L1550 -.L1551: + bne .L1553 +.L1554: bl FtlReadRefresh ldr r3, [r4, #3152] movw r5, #65535 @@ -10881,16 +10894,16 @@ rk_ftl_garbage_collect: ldrh r2, [r4, r2] str r3, [r4, #3152] cmp r2, r5 - bne .L1553 + bne .L1556 movw r1, #2444 ldrh r5, [r4, r1] cmp r5, r2 movne r5, r2 - bne .L1553 + bne .L1556 movw r2, #3202 ldrh r6, [r4, r2] cmp r6, r5 - bne .L1553 + bne .L1556 movw r9, #2344 ldrh r2, [r4, r9] cmp r2, #24 @@ -10898,7 +10911,7 @@ rk_ftl_garbage_collect: movcs r2, #1024 cmp r3, r2 movls r5, r6 - bls .L1553 + bls .L1556 mov r8, #0 movw r3, #3656 str r8, [r4, #3152] @@ -10907,33 +10920,33 @@ rk_ftl_garbage_collect: cmp r0, r6 mov r5, r0 movne r6, r0 - bne .L1555 + bne .L1558 movw r7, #3150 ldrh r2, [r4, r9] ldrh r3, [r4, r7] cmp r2, r3 - bcs .L1556 + bcs .L1559 mov r0, #64 bl List_get_gc_head_node uxth r3, r0 cmp r3, r5 - beq .L1558 + beq .L1561 mov r0, r3 ldr r3, [r4, #2324] lsl r0, r0, #1 ldrh r3, [r3, r0] cmp r3, #7 - bhi .L1559 + bhi .L1562 mov r0, r8 bl List_get_gc_head_node uxth r6, r0 mov r3, #128 strh r3, [r4, r7] @ movhi cmp r6, r5 - bne .L1555 -.L1558: + bne .L1558 +.L1561: bl FtlGcReFreshBadBlk -.L1553: +.L1556: movw r1, #65535 ldr r2, [fp, #-60] sub r3, r5, r1 @@ -10943,86 +10956,86 @@ rk_ftl_garbage_collect: movne r2, #0 andeq r2, r3, #1 cmp r2, #0 - beq .L1561 + beq .L1564 movw r3, #2344 ldrh r3, [r4, r3] cmp r3, #24 movhi r6, #1 - bhi .L1562 + bhi .L1565 ldrh r6, [r4, #102] cmp r3, #16 lsrhi r6, r6, #5 - bhi .L1562 + bhi .L1565 cmp r3, #12 lsrhi r6, r6, #4 - bhi .L1562 + bhi .L1565 cmp r3, #8 lsrhi r6, r6, #2 -.L1562: +.L1565: movw r2, #3148 ldrh r1, [r4, r2] cmp r1, r3 - bcs .L1566 + bcs .L1569 movw r3, #2444 movw r1, #65535 ldrh r3, [r4, r3] cmp r3, r1 - bne .L1567 + bne .L1570 movw r1, #3202 ldrh r1, [r4, r1] cmp r1, r3 - bne .L1567 + bne .L1570 movw r3, #3656 ldrh r0, [r4, r3] cmp r0, #0 - bne .L1568 + bne .L1571 ldr r3, [r4, #2504] ldr r1, [r4, #2500] add r3, r3, r3, lsl #1 cmp r1, r3, lsr #2 movcs r3, #18 - bcs .L1660 -.L1568: + bcs .L1663 +.L1571: movw r3, #2572 movw r2, #3148 ldrh r3, [r4, r3] add r3, r3, r3, lsl #1 asr r3, r3, #2 -.L1660: +.L1663: strh r3, [r4, r2] @ movhi mov r3, #0 str r3, [r4, #3160] -.L1547: +.L1550: sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1549: +.L1552: movw r1, #2444 ldrh r3, [r3, r1] cmp r3, r2 - beq .L1552 + beq .L1555 mov r0, #1 bl FtlGcFreeTempBlock cmp r0, #0 - beq .L1552 + beq .L1555 mov r0, #1 - b .L1547 -.L1550: + b .L1550 +.L1553: movw r2, #3202 ldrh ip, [r4, r2] cmp ip, r0 strheq r1, [r4, r2] @ movhi mvneq r2, #0 strheq r2, [r4, r3] @ movhi - b .L1551 -.L1559: + b .L1554 +.L1562: mov r3, #64 -.L1659: +.L1662: strh r3, [r4, r7] @ movhi - b .L1558 -.L1556: + b .L1561 +.L1559: mov r3, #80 - b .L1659 -.L1555: + b .L1662 +.L1558: movw r0, #3148 ldr r3, [r4, #2324] ldrh r0, [r4, r0] @@ -11034,38 +11047,38 @@ rk_ftl_garbage_collect: str r0, [sp, #4] ldr r0, [r4, #2328] ldrh r1, [r0, r1] - ldr r0, .L1665+8 + ldr r0, .L1668+8 str r1, [sp] mov r1, r6 bl sftl_printk - b .L1558 -.L1567: + b .L1561 +.L1570: movw r3, #2572 movw r2, #3148 ldrh r3, [r4, r3] add r3, r3, r3, lsl #1 asr r3, r3, #2 strh r3, [r4, r2] @ movhi -.L1566: +.L1569: movw r3, #3206 movw r5, #65535 ldrh r3, [r4, r3] cmp r3, #0 addne r6, r6, #32 uxthne r6, r6 -.L1572: +.L1575: movw r3, #2588 ldrh r2, [r4, r3] movw r1, #65535 cmp r2, r1 - bne .L1581 + bne .L1584 cmp r5, r2 strhne r5, [r4, r3] @ movhi - bne .L1583 + bne .L1586 movw r2, #3202 ldrh r3, [r4, r2] cmp r3, r5 - beq .L1583 + beq .L1586 ldr r1, [r4, #2324] lsl r3, r3, #1 ldrh r3, [r1, r3] @@ -11078,24 +11091,24 @@ rk_ftl_garbage_collect: strh r1, [r4, r2] @ movhi mvn r2, #0 strh r2, [r4, r3] @ movhi -.L1583: +.L1586: movw r7, #2588 mov r3, #0 ldrh r0, [r4, r7] strb r3, [r4, #2596] movw r3, #65535 cmp r0, r3 - beq .L1581 + beq .L1584 bl IsBlkInGcList cmp r0, #0 - ldr r8, .L1665+12 + ldr r8, .L1668+12 mvnne r3, #0 strhne r3, [r4, r7] @ movhi movw r7, #2588 ldrh r2, [r4, r7] movw r3, #65535 cmp r2, r3 - beq .L1581 + beq .L1584 mov r0, r8 bl make_superblock mov r3, #0 @@ -11109,93 +11122,93 @@ rk_ftl_garbage_collect: ldrh r2, [r2, r3] movw r3, #3660 strh r2, [r4, r3] @ movhi -.L1581: +.L1584: movw r3, #2588 movw r2, #2348 ldrh r3, [r4, r3] ldrh r2, [r4, r2] cmp r2, r3 - beq .L1587 + beq .L1590 movw r2, #2396 ldrh r2, [r4, r2] cmp r2, r3 - bne .L1588 -.L1587: + bne .L1591 +.L1590: mvn r2, #0 movw r3, #2588 strh r2, [r4, r3] @ movhi -.L1588: - ldr r4, .L1665 +.L1591: + ldr r4, .L1668 mov r9, r4 -.L1617: - ldr r7, .L1665+12 +.L1620: + ldr r7, .L1668+12 movw r3, #65535 ldrh r2, [r7] cmp r2, r3 - bne .L1589 + bne .L1592 add r10, r7, #568 mov r3, #0 str r3, [r4, #3160] -.L1590: +.L1593: ldrh r8, [r10] mov r0, r8 bl List_get_gc_head_node - ldr r3, .L1665+12 + ldr r3, .L1668+12 uxth r2, r0 strh r2, [r3] @ movhi movw r3, #65535 cmp r2, r3 - bne .L1591 + bne .L1594 mov r3, #0 mov r0, #8 strh r3, [r10] @ movhi - b .L1547 -.L1561: + b .L1550 +.L1564: movw r0, #2444 ldrh r6, [r4, r0] cmp r6, r1 - bne .L1631 + bne .L1634 movw r1, #3202 ldrh r1, [r4, r1] cmp r1, r6 movne r3, #0 andeq r3, r3, #1 cmp r3, #0 - beq .L1631 + beq .L1634 movw r3, #2588 ldrh r3, [r4, r3] cmp r3, r6 - beq .L1573 -.L1578: + beq .L1576 +.L1581: mov r5, r6 -.L1631: +.L1634: mov r6, #1 - b .L1572 -.L1573: + b .L1575 +.L1576: movw r3, #2344 str r2, [r4, #3160] movw r2, #3148 ldrh r1, [r4, r3] ldrh r3, [r4, r2] cmp r1, r3 - bls .L1574 + bls .L1577 movw r3, #3656 ldrh r3, [r4, r3] cmp r3, #0 - bne .L1575 + bne .L1578 ldr r3, [r4, #2504] ldr r1, [r4, #2500] add r3, r3, r3, lsl #1 cmp r1, r3, lsr #2 movcs r3, #18 - bcs .L1661 -.L1575: + bcs .L1664 +.L1578: movw r3, #2572 movw r2, #3148 ldrh r3, [r4, r3] add r3, r3, r3, lsl #1 asr r3, r3, #2 -.L1661: +.L1664: strh r3, [r4, r2] @ movhi bl FtlReadRefresh mov r0, #0 @@ -11205,16 +11218,16 @@ rk_ftl_garbage_collect: lsl r0, r0, #1 ldrh r3, [r3, r0] cmp r3, #4 - bls .L1574 -.L1664: + bls .L1577 +.L1667: movw r3, #3656 ldrh r0, [r4, r3] - b .L1547 -.L1574: + b .L1550 +.L1577: movw r5, #3656 ldrh r0, [r4, r5] cmp r0, #0 - bne .L1578 + bne .L1581 movw r3, #2572 movw r2, #3148 ldrh r7, [r4, r3] @@ -11231,25 +11244,25 @@ rk_ftl_garbage_collect: mul r3, r3, r1 add r3, r3, r3, lsr #31 cmp r2, r3, asr #1 - ble .L1579 + ble .L1582 movw r3, #2344 sub r7, r7, #1 ldrh r3, [r4, r3] cmp r3, r7 - blt .L1579 + blt .L1582 bl FtlReadRefresh ldrh r0, [r4, r5] - b .L1547 -.L1579: + b .L1550 +.L1582: cmp r2, #0 - bne .L1578 + bne .L1581 movw r0, #65535 bl decrement_vpc_count movw r3, #2344 ldrh r0, [r4, r3] add r0, r0, #1 - b .L1547 -.L1591: + b .L1550 +.L1594: uxth r3, r0 str r2, [fp, #-52] add r8, r8, #1 @@ -11260,7 +11273,7 @@ rk_ftl_garbage_collect: ldr r3, [fp, #-48] ldr r2, [fp, #-52] strhne r8, [r10] @ movhi - bne .L1590 + bne .L1593 lsl r0, r3, #1 ldrh lr, [r9, #32] ldrh r3, [r9, #102] @@ -11271,85 +11284,85 @@ rk_ftl_garbage_collect: ldrh ip, [r1, r0] add lr, r3, r3, lsr #31 cmp ip, lr, asr #1 - bgt .L1594 + bgt .L1597 cmp ip, #8 cmphi r8, #48 - bls .L1595 - ldr ip, .L1665+16 + bls .L1598 + ldr ip, .L1668+16 ldrh ip, [ip] cmp ip, #35 - bhi .L1595 -.L1594: - ldr lr, .L1665+20 + bhi .L1598 +.L1597: + ldr lr, .L1668+20 mov ip, #0 strh ip, [lr] @ movhi -.L1595: +.L1598: ldrh r1, [r1, r0] movw r0, #65535 cmp r3, r1 cmple r5, r0 - bne .L1596 - ldr r3, .L1665+20 + bne .L1599 + ldr r3, .L1668+20 ldrh r3, [r3] cmp r3, #3 - bhi .L1596 + bhi .L1599 mvn r2, #0 movw r3, #2588 strh r2, [r9, r3] @ movhi mov r3, #0 - ldr r2, .L1665+20 + ldr r2, .L1668+20 strh r3, [r2] @ movhi movw r3, #3656 ldrh r0, [r9, r3] - b .L1547 -.L1596: + b .L1550 +.L1599: cmp r1, #0 - bne .L1597 + bne .L1600 movw r0, #65535 bl decrement_vpc_count - ldr r3, .L1665+20 - ldr r2, .L1665+20 + ldr r3, .L1668+20 + ldr r2, .L1668+20 ldrh r3, [r3] add r3, r3, #1 strh r3, [r2] @ movhi - b .L1590 -.L1597: + b .L1593 +.L1600: mov r3, #0 strb r3, [r9, #2596] - ldr r3, .L1665+24 + ldr r3, .L1668+24 ldrh r3, [r3] cmp r3, r2 - bne .L1598 + bne .L1601 mov r2, #700 - ldr r1, .L1665+28 - ldr r0, .L1665+32 + ldr r1, .L1668+28 + ldr r0, .L1668+32 bl sftl_printk -.L1598: - ldr r3, .L1665+36 +.L1601: + ldr r3, .L1668+36 ldrh r2, [r7] ldrh r3, [r3] cmp r2, r3 - bne .L1599 + bne .L1602 movw r2, #701 - ldr r1, .L1665+28 - ldr r0, .L1665+32 + ldr r1, .L1668+28 + ldr r0, .L1668+32 bl sftl_printk -.L1599: - ldr r3, .L1665+40 +.L1602: + ldr r3, .L1668+40 ldrh r2, [r7] ldrh r3, [r3] cmp r2, r3 - bne .L1600 + bne .L1603 movw r2, #702 - ldr r1, .L1665+28 - ldr r0, .L1665+32 + ldr r1, .L1668+28 + ldr r0, .L1668+32 bl sftl_printk -.L1600: - ldr r0, .L1665+12 +.L1603: + ldr r0, .L1668+12 bl make_superblock ldrh r2, [r7] mov r3, #0 - ldr r1, .L1665+44 + ldr r1, .L1668+44 ldr r0, [r9, #2324] lsl r2, r2, #1 strh r3, [r1] @ movhi @@ -11357,14 +11370,14 @@ rk_ftl_garbage_collect: strh r3, [r7, #2] @ movhi strb r3, [r9, #2594] strh r2, [r1, #2] @ movhi -.L1589: +.L1592: mov r3, #1 str r3, [r9, #3264] ldrh r3, [r9, #102] str r3, [fp, #-48] ldr r3, [fp, #-60] cmp r3, #0 - beq .L1601 + beq .L1604 ldr r2, [fp, #-48] ldrh r3, [r9, #32] ldr r1, [r9, #2324] @@ -11378,7 +11391,7 @@ rk_ftl_garbage_collect: movlt r3, r2 add r6, r6, r3, asr #2 uxth r6, r6 -.L1601: +.L1604: ldrh r3, [r7, #2] ldr r1, [fp, #-48] add r2, r3, r6 @@ -11387,12 +11400,12 @@ rk_ftl_garbage_collect: subgt r6, r2, r3 mov r3, #0 uxthgt r6, r6 -.L1663: +.L1666: str r3, [fp, #-56] ldrh r3, [fp, #-56] - ldr r7, .L1665+12 + ldr r7, .L1668+12 cmp r6, r3 - bls .L1611 + bls .L1614 ldrh ip, [r7, #2] mov r2, #0 ldr r3, [fp, #-56] @@ -11402,8 +11415,8 @@ rk_ftl_garbage_collect: add ip, ip, r3 add r3, r7, #14 mov r7, r2 - b .L1612 -.L1605: + b .L1615 +.L1608: ldrh r1, [r3, #2]! movw r10, #65535 add r2, r2, #1 @@ -11413,22 +11426,22 @@ rk_ftl_garbage_collect: orrne r1, ip, r1, lsl #10 uxthne r7, r7 strne r1, [r10, #4] -.L1612: +.L1615: uxth r1, r2 cmp r8, r1 - bhi .L1605 + bhi .L1608 ldrb r2, [r4, #2596] @ zero_extendqisi2 mov r1, r7 bl FlashReadPages mov r3, #0 -.L1662: +.L1665: str r3, [fp, #-52] ldrh r3, [fp, #-52] cmp r7, r3 ldrls r3, [fp, #-56] addls r3, r3, #1 - bls .L1663 -.L1610: + bls .L1666 +.L1613: ldr r3, [fp, #-52] mov r8, #20 mul r8, r8, r3 @@ -11436,22 +11449,22 @@ rk_ftl_garbage_collect: add r2, r3, r8 ldr r3, [r3, r8] cmn r3, #1 - beq .L1607 + beq .L1610 ldr r10, [r2, #12] movw r3, #61589 ldrh r2, [r10] cmp r2, r3 - bne .L1607 + bne .L1610 ldr r3, [r10, #8] cmn r3, #1 - bne .L1608 + bne .L1611 mov r2, #736 - ldr r1, .L1665+28 - ldr r0, .L1665+32 + ldr r1, .L1668+28 + ldr r0, .L1668+32 str r3, [fp, #-64] bl sftl_printk ldr r3, [fp, #-64] -.L1608: +.L1611: mov r2, #0 sub r1, fp, #44 mov r0, r3 @@ -11461,9 +11474,9 @@ rk_ftl_garbage_collect: add r3, r3, r8 ldr r1, [r3, #4] cmp r1, r2 - bne .L1607 - ldr r2, .L1665+44 - ldr r1, .L1665+44 + bne .L1610 + ldr r2, .L1668+44 + ldr r1, .L1668+44 ldr r0, [r4, #3164] ldrh r2, [r2] ldr r3, [r3, #16] @@ -11491,7 +11504,7 @@ rk_ftl_garbage_collect: str r2, [r3, #12] ldr r3, [fp, #-44] str r3, [r10, #12] - ldr r3, .L1665+40 + ldr r3, .L1668+40 ldrh r2, [r3] str r3, [fp, #-64] strh r2, [r10, #2] @ movhi @@ -11506,77 +11519,77 @@ rk_ftl_garbage_collect: ldrb r1, [r4, #2451] @ zero_extendqisi2 ldr r2, [r4, #3164] cmp r1, r2 - beq .L1609 + beq .L1612 ldr r3, [fp, #-64] ldrh r3, [r3, #4] cmp r3, #0 - bne .L1607 -.L1609: + bne .L1610 +.L1612: bl Ftl_gc_temp_data_write_back cmp r0, #0 - beq .L1607 - ldr r3, .L1665 + beq .L1610 + ldr r3, .L1668 mov r2, #0 str r2, [r3, #3264] movw r2, #3656 ldrh r0, [r3, r2] - b .L1547 -.L1607: + b .L1550 +.L1610: ldr r3, [fp, #-52] add r3, r3, #1 - b .L1662 -.L1611: + b .L1665 +.L1614: ldrh r3, [r7, #2] add r6, r6, r3 ldr r3, [fp, #-48] uxth r6, r6 cmp r3, r6 strh r6, [r7, #2] @ movhi - bhi .L1613 + bhi .L1616 ldr r3, [r4, #3164] cmp r3, #0 - beq .L1614 + beq .L1617 bl Ftl_gc_temp_data_write_back cmp r0, #0 movne r3, #0 strne r3, [r4, #3264] - bne .L1664 -.L1614: - ldr r3, .L1665+44 + bne .L1667 +.L1617: + ldr r3, .L1668+44 ldrh r1, [r3] cmp r1, #0 - bne .L1615 + bne .L1618 ldrh r3, [r7] ldr r2, [r4, #2324] lsl r3, r3, #1 ldrh r0, [r2, r3] cmp r0, #0 - beq .L1615 + beq .L1618 strh r1, [r2, r3] @ movhi ldrh r0, [r7] bl update_vpc_list bl l2p_flush bl FtlVpcTblFlush -.L1615: +.L1618: mvn r3, #0 strh r3, [r7] @ movhi -.L1613: +.L1616: mov r3, #0 str r3, [r4, #3264] - ldr r3, .L1665+48 + ldr r3, .L1668+48 ldrh r3, [r3] cmp r3, #2 ldrhls r6, [r4, #102] - bls .L1617 -.L1616: + bls .L1620 +.L1619: movw r2, #3656 ldrh r0, [r4, r2] cmp r0, #0 addeq r0, r3, #1 - b .L1547 -.L1666: + b .L1550 +.L1669: .align 2 -.L1665: +.L1668: .word .LANCHOR0 .word .LANCHOR2 .word .LC113 @@ -11603,11 +11616,11 @@ sftl_init: mov ip, sp push {r4, r5, fp, ip, lr, pc} sub fp, ip, #4 - ldr r4, .L1673 + ldr r4, .L1676 mvn r3, #0 - ldr r5, .L1673+4 - ldr r1, .L1673+8 - ldr r0, .L1673+12 + ldr r5, .L1676+4 + ldr r1, .L1676+8 + ldr r0, .L1676+12 str r3, [r5] bl sftl_printk mov r0, r4 @@ -11618,29 +11631,29 @@ sftl_init: bl FtlFreeSysBlkQueueInit bl FtlLoadBbt cmp r0, #0 - bne .L1671 + bne .L1674 bl FtlSysBlkInit cmp r0, #0 - bne .L1671 + bne .L1674 mov r3, #1 str r3, [r5] movw r3, #2344 ldrh r3, [r4, r3] cmp r3, #15 - bhi .L1671 + bhi .L1674 movw r4, #8129 -.L1670: +.L1673: mov r1, #1 mov r0, #0 bl rk_ftl_garbage_collect subs r4, r4, #1 - bne .L1670 -.L1671: + bne .L1673 +.L1674: mov r0, #0 ldmfd sp, {r4, r5, fp, sp, pc} -.L1674: +.L1677: .align 2 -.L1673: +.L1676: .word .LANCHOR0 .word .LANCHOR2 .word .LC70 @@ -11681,19 +11694,19 @@ FtlRead: str r2, [fp, #-52] cmp r0, #16 mov r9, r3 - bne .L1677 + bne .L1680 mov r2, r3 ldr r1, [fp, #-52] add r0, r6, #256 bl FtlVendorPartRead str r0, [fp, #-48] -.L1676: +.L1679: ldr r0, [fp, #-48] sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1677: +.L1680: ldr r3, [fp, #-52] - ldr r10, .L1711 + ldr r10, .L1714 add r3, r1, r3 str r3, [fp, #-60] ldr r2, [fp, #-60] @@ -11701,12 +11714,12 @@ FtlRead: cmp r2, r3 mvnhi r3, #0 strhi r3, [fp, #-48] - bhi .L1676 - ldr r3, .L1711+4 + bhi .L1679 + ldr r3, .L1714+4 ldr r7, [r3] cmn r7, #1 streq r7, [fp, #-48] - beq .L1676 + beq .L1679 ldrh r4, [r10, #58] mov r0, r6 mov r8, #0 @@ -11736,25 +11749,25 @@ FtlRead: ldr r3, [r10, #2508] add r3, r3, r2 str r3, [r10, #2508] -.L1679: +.L1682: ldr r3, [fp, #-56] cmp r3, #0 - bne .L1696 - ldr r3, .L1711 + bne .L1699 + ldr r3, .L1714 movw r2, #3206 ldrh r2, [r3, r2] cmp r2, #0 - bne .L1697 + bne .L1700 movw r2, #2344 ldrh r3, [r3, r2] cmp r3, #31 - bhi .L1676 -.L1697: + bhi .L1679 +.L1700: mov r1, #1 mov r0, #0 bl rk_ftl_garbage_collect - b .L1676 -.L1696: + b .L1679 +.L1699: sub r1, fp, #44 mov r2, #0 mov r0, r4 @@ -11762,7 +11775,7 @@ FtlRead: ldr r1, [fp, #-44] cmn r1, #1 moveq r10, #0 - beq .L1681 + beq .L1684 ldr r2, [r7, #3280] mov r0, #20 ldr r3, [fp, #-64] @@ -11770,7 +11783,7 @@ FtlRead: mla r2, r0, r5, r2 cmp r4, r3 str r1, [r2, #4] - bne .L1685 + bne .L1688 ldr r1, [r7, #3304] mov r0, r6 str r2, [fp, #-80] @@ -11786,7 +11799,7 @@ FtlRead: cmp r3, r10 str r3, [fp, #-76] streq r9, [r2, #8] -.L1686: +.L1689: ldrh r1, [r7, #112] ldr r0, [r7, #3328] str r4, [r2, #16] @@ -11795,8 +11808,8 @@ FtlRead: bic r1, r1, #3 add r1, r0, r1 str r1, [r2, #12] - b .L1684 -.L1683: + b .L1687 +.L1686: mla r0, r0, r4, r10 ldr r2, [fp, #-60] cmp r2, r0 @@ -11805,29 +11818,29 @@ FtlRead: cmp r6, r0 movhi r2, #0 cmp r2, #0 - beq .L1682 + beq .L1685 sub r0, r0, r6 mov r1, #512 add r0, r9, r0, lsl #9 bl __memzero -.L1682: +.L1685: add r10, r10, #1 -.L1681: +.L1684: ldrh r0, [r7, #58] cmp r10, r0 - bcc .L1683 -.L1684: + bcc .L1686 +.L1687: ldr r3, [fp, #-56] add r4, r4, #1 subs r3, r3, #1 str r3, [fp, #-56] - beq .L1688 + beq .L1691 ldrh r2, [r7, #32] cmp r5, r2, lsl #2 - bne .L1679 -.L1688: + bne .L1682 +.L1691: cmp r5, #0 - beq .L1679 + beq .L1682 mov r2, #0 mov r1, r5 ldr r0, [r7, #3280] @@ -11841,7 +11854,7 @@ FtlRead: ldr r3, [fp, #-76] lsl r3, r3, #9 str r3, [fp, #-84] -.L1695: +.L1698: mov ip, #20 ldr r2, [r7, #3280] mul ip, ip, r10 @@ -11849,20 +11862,20 @@ FtlRead: add r2, r2, ip ldr r1, [r2, #16] cmp r3, r1 - bne .L1690 + bne .L1693 ldr r1, [r2, #8] ldr r2, [r7, #3304] cmp r1, r2 - bne .L1691 + bne .L1694 ldr r3, [fp, #-80] mov r0, r9 ldr r2, [fp, #-84] str ip, [fp, #-92] add r1, r1, r3 -.L1710: +.L1713: bl ftl_memcpy ldr ip, [fp, #-92] -.L1691: +.L1694: ldr r1, [r7, #3280] add r2, r1, ip ldr r0, [r2, #12] @@ -11880,21 +11893,21 @@ FtlRead: streq r0, [r7, #2708] ldr r1, [r1, ip] cmp r1, #256 - bne .L1694 + bne .L1697 ldr r0, [r2, #4] ubfx r0, r0, #10, #16 bl P2V_block_in_plane bl FtlGcRefreshBlock -.L1694: +.L1697: add r10, r10, #1 cmp r5, r10 - bne .L1695 + bne .L1698 mov r5, #0 - b .L1679 -.L1685: + b .L1682 +.L1688: ldr r3, [fp, #-68] cmp r4, r3 - bne .L1687 + bne .L1690 ldr r1, [r7, #3308] ldr r3, [fp, #-60] str r1, [r2, #8] @@ -11904,31 +11917,31 @@ FtlRead: subeq r1, r1, r6 addeq r1, r9, r1, lsl #9 streq r1, [r2, #8] - b .L1686 -.L1687: + b .L1689 +.L1690: mul r10, r4, r10 sub r10, r10, r6 add r10, r9, r10, lsl #9 str r10, [r2, #8] - b .L1686 -.L1690: + b .L1689 +.L1693: ldr r3, [fp, #-68] cmp r3, r1 - bne .L1691 + bne .L1694 ldr r1, [r2, #8] ldr r2, [r7, #3308] cmp r1, r2 - bne .L1691 + bne .L1694 ldrh r0, [r7, #58] str ip, [fp, #-92] ldr r2, [fp, #-88] mul r0, r3, r0 sub r0, r0, r6 add r0, r9, r0, lsl #9 - b .L1710 -.L1712: + b .L1713 +.L1715: .align 2 -.L1711: +.L1714: .word .LANCHOR0 .word .LANCHOR2 .size FtlRead, .-FtlRead @@ -11988,26 +12001,26 @@ FtlWrite: str r2, [fp, #-80] cmp r0, #16 str r3, [fp, #-84] - bne .L1716 + bne .L1719 mov r2, r3 ldr r1, [fp, #-80] add r0, r9, #256 bl FtlVendorPartWrite -.L1715: +.L1718: sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1716: +.L1719: ldr r3, [fp, #-80] - ldr r4, .L1767 + ldr r4, .L1770 add r6, r1, r3 ldr r3, [r4, #140] cmp r6, r3 mvnhi r0, #0 - bhi .L1715 - ldr r5, .L1767+4 + bhi .L1718 + ldr r5, .L1770+4 ldr r0, [r5] cmn r0, #1 - beq .L1715 + beq .L1718 ldrh r7, [r4, #58] mov r3, #2048 str r3, [r4, #3664] @@ -12033,68 +12046,68 @@ FtlWrite: add r3, r3, r2 str r3, [r4, #2516] ldr r3, [r5, #8] - ldr r4, .L1767+8 + ldr r4, .L1770+8 cmp r3, #0 - beq .L1718 + beq .L1721 ldrh r3, [r4, #4] add r0, r4, #48 cmp r3, #0 moveq r4, r0 -.L1718: +.L1721: ldr r5, [fp, #-76] - ldr r10, .L1767 -.L1719: + ldr r10, .L1770 +.L1722: ldr r3, [fp, #-72] cmp r3, #0 - bne .L1747 + bne .L1750 mov r0, r3 ldr r1, [fp, #-96] bl rk_ftl_garbage_collect movw r3, #2344 ldrh r3, [r10, r3] cmp r3, #5 - bls .L1748 -.L1750: + bls .L1751 +.L1753: mov r0, #0 - b .L1715 -.L1747: + b .L1718 +.L1750: ldrb r2, [r4, #6] @ zero_extendqisi2 ldrh r3, [r10, #32] cmp r2, r3 - bcc .L1720 + bcc .L1723 movw r2, #1011 - ldr r1, .L1767+12 - ldr r0, .L1767+16 + ldr r1, .L1770+12 + ldr r0, .L1770+16 bl sftl_printk -.L1720: +.L1723: ldrh r2, [r4, #4] cmp r2, #0 - bne .L1721 - ldr r3, .L1767+8 - ldr r6, .L1767+4 + bne .L1724 + ldr r3, .L1770+8 + ldr r6, .L1770+4 cmp r4, r3 - bne .L1722 + bne .L1725 add r0, r4, #48 ldrh r7, [r0, #4] cmp r7, #0 - bne .L1723 + bne .L1726 bl allocate_new_data_superblock str r7, [r6, #8] -.L1723: - ldr r0, .L1767+8 +.L1726: + ldr r0, .L1770+8 bl allocate_new_data_superblock - ldr r4, .L1767+8 + ldr r4, .L1770+8 ldr r3, [r6, #8] add r0, r4, #48 cmp r3, #0 movne r4, r0 -.L1724: +.L1727: ldrh r3, [r4, #4] cmp r3, #0 - bne .L1721 + bne .L1724 mov r0, r4 bl allocate_new_data_superblock -.L1721: +.L1724: ldrh r3, [r4, #4] ldr r2, [fp, #-72] cmp r3, r2 @@ -12107,20 +12120,20 @@ FtlWrite: str r3, [fp, #-108] ldrh r3, [r10, #32] cmp r2, r3 - bcc .L1725 + bcc .L1728 movw r2, #1044 - ldr r1, .L1767+12 - ldr r0, .L1767+16 + ldr r1, .L1770+12 + ldr r0, .L1770+16 bl sftl_printk -.L1725: +.L1728: mov r3, #0 -.L1766: +.L1769: str r3, [fp, #-68] ldr r3, [fp, #-68] ldr r2, [fp, #-108] cmp r3, r2 - bne .L1745 -.L1727: + bne .L1748 +.L1730: mov r3, r4 mov r2, #0 ldr r1, [fp, #-68] @@ -12129,30 +12142,30 @@ FtlWrite: ldr r3, [fp, #-68] ldr r2, [fp, #-72] cmp r3, r2 - bls .L1746 + bls .L1749 movw r2, #1121 - ldr r1, .L1767+12 - ldr r0, .L1767+16 + ldr r1, .L1770+12 + ldr r0, .L1770+16 bl sftl_printk -.L1746: +.L1749: ldr r3, [fp, #-72] ldr r2, [fp, #-68] sub r3, r3, r2 str r3, [fp, #-72] - b .L1719 -.L1722: + b .L1722 +.L1725: str r2, [r6, #8] ldrh r2, [r3, #4] cmp r2, #0 movne r4, r3 - bne .L1721 + bne .L1724 mov r0, r4 bl allocate_new_data_superblock - b .L1724 -.L1745: + b .L1727 +.L1748: ldrh r3, [r4, #4] cmp r3, #0 - beq .L1727 + beq .L1730 mov r2, #0 sub r1, fp, #64 mov r0, r5 @@ -12184,9 +12197,9 @@ FtlWrite: ldrh r6, [r10, #58] cmp r5, r2 cmpne r5, r3 - bne .L1728 + bne .L1731 cmp r5, r3 - bne .L1729 + bne .L1732 mov r1, r6 mov r0, r9 bl __umodsi3 @@ -12195,25 +12208,25 @@ FtlWrite: str r0, [fp, #-88] cmp r6, r3 movcs r6, r3 -.L1730: +.L1733: ldrh r3, [r10, #58] cmp r6, r3 ldr r3, [fp, #-76] - bne .L1731 + bne .L1734 cmp r5, r3 ldr r3, [r10, #3288] add r7, r3, r7 ldreq r3, [fp, #-84] streq r3, [r7, #8] - beq .L1733 -.L1763: + beq .L1736 +.L1766: mul r6, r5, r6 ldr r3, [fp, #-84] sub r6, r6, r9 add r6, r3, r6, lsl #9 str r6, [r7, #8] - b .L1733 -.L1729: + b .L1736 +.L1732: ldr r3, [fp, #-80] add r2, r9, r3 smulbb r3, r6, r5 @@ -12221,8 +12234,8 @@ FtlWrite: mov r3, #0 uxth r6, r6 str r3, [fp, #-88] - b .L1730 -.L1731: + b .L1733 +.L1734: cmp r5, r3 ldr r3, [r10, #3288] ldreq r2, [r10, #3304] @@ -12231,7 +12244,7 @@ FtlWrite: str r2, [r3, #8] ldr r3, [fp, #-64] cmn r3, #1 - beq .L1736 + beq .L1739 str r3, [fp, #-56] mov r1, #1 ldr r3, [r10, #3288] @@ -12249,49 +12262,49 @@ FtlWrite: ldreq r3, [r10, #2708] addeq r3, r3, #1 streq r3, [r10, #2708] - beq .L1740 + beq .L1743 ldr r3, [r8, #8] cmp r5, r3 - beq .L1739 + beq .L1742 ldr r3, [r10, #2708] mov r2, r5 - ldr r0, .L1767+20 + ldr r0, .L1770+20 add r3, r3, #1 str r3, [r10, #2708] ldr r1, [r8, #8] bl sftl_printk -.L1739: +.L1742: ldr r3, [r8, #8] cmp r5, r3 - beq .L1740 + beq .L1743 movw r2, #1097 - ldr r1, .L1767+12 - ldr r0, .L1767+16 + ldr r1, .L1770+12 + ldr r0, .L1770+16 bl sftl_printk -.L1740: +.L1743: ldr r3, [fp, #-76] lsl r2, r6, #9 cmp r5, r3 - bne .L1741 + bne .L1744 ldr r3, [r10, #3288] ldr r1, [fp, #-84] add r7, r3, r7 ldr r3, [fp, #-88] ldr r0, [r7, #8] add r0, r0, r3, lsl #9 -.L1764: +.L1767: bl ftl_memcpy -.L1733: +.L1736: ldrb r2, [r4, #6] @ zero_extendqisi2 ldrh r3, [r10, #32] cmp r2, r3 - bcc .L1742 + bcc .L1745 movw r2, #1112 - ldr r1, .L1767+12 - ldr r0, .L1767+16 + ldr r1, .L1770+12 + ldr r0, .L1770+16 bl sftl_printk -.L1742: - ldr r3, .L1767+24 +.L1745: + ldr r3, .L1770+24 ldr r2, [fp, #-104] ldr r1, [fp, #-100] strh r3, [r2, r1] @ movhi @@ -12309,16 +12322,16 @@ FtlWrite: strh r3, [r8, #2] @ movhi ldr r3, [fp, #-68] add r3, r3, #1 - b .L1766 -.L1736: + b .L1769 +.L1739: ldr r3, [r10, #3288] mov r1, #0 ldrh r2, [r10, #110] add r3, r3, r7 ldr r0, [r3, #8] bl ftl_memset - b .L1740 -.L1741: + b .L1743 +.L1744: ldrh r1, [r10, #58] ldr r3, [r10, #3288] mul r1, r5, r1 @@ -12327,29 +12340,29 @@ FtlWrite: ldr r0, [r7, #8] sub r1, r1, r9 add r1, r3, r1, lsl #9 - b .L1764 -.L1728: + b .L1767 +.L1731: ldr r3, [r10, #3288] add r7, r3, r7 - b .L1763 -.L1748: - ldr r5, .L1767+28 - mov r4, #256 - ldr r6, .L1767+32 + b .L1766 .L1751: + ldr r5, .L1770+28 + mov r4, #256 + ldr r6, .L1770+32 +.L1754: ldrh r3, [r5] movw r2, #65535 cmp r3, r2 - bne .L1749 + bne .L1752 ldrh r2, [r6] cmp r2, r3 - bne .L1749 + bne .L1752 mov r0, #0 bl List_get_gc_head_node uxth r0, r0 bl FtlGcRefreshBlock -.L1749: - ldr r3, .L1767+36 +.L1752: + ldr r3, .L1770+36 mov r1, #1 mov r2, #128 mov r0, r1 @@ -12359,16 +12372,16 @@ FtlWrite: mov r1, #1 mov r0, #0 bl rk_ftl_garbage_collect - ldr r3, .L1767+40 + ldr r3, .L1770+40 ldrh r3, [r3] cmp r3, #2 - bhi .L1750 + bhi .L1753 subs r4, r4, #1 - bne .L1751 - b .L1750 -.L1768: + bne .L1754 + b .L1753 +.L1771: .align 2 -.L1767: +.L1770: .word .LANCHOR0 .word .LANCHOR2 .word .LANCHOR0+2348 @@ -12407,25 +12420,25 @@ sftl_write: str r1, [fp, #-120] cmp r3, #0 str r2, [fp, #-140] - ldr r4, .L1805 - beq .L1770 + ldr r4, .L1808 + beq .L1773 ldr r3, [r4, #3668] cmp r3, #0 - beq .L1771 + beq .L1774 ldr r10, [r4, #3672] - ldr r3, .L1805+4 + ldr r3, .L1808+4 ldr r2, [r10] cmp r2, r3 - beq .L1772 -.L1789: - ldr r4, .L1805 + beq .L1775 +.L1792: + ldr r4, .L1808 mov r3, #0 ldr r0, [r4, #3672] str r3, [r4, #3668] bl kfree ldr r0, [r4, #3676] bl kfree -.L1771: +.L1774: ldr r3, [fp, #-140] mov r1, r9 ldr r2, [fp, #-120] @@ -12433,16 +12446,16 @@ sftl_write: bl FtlWrite sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1772: +.L1775: ldrh r5, [r4, #14] add r0, r10, #262144 ldrh r4, [r4, #10] mov r3, #0 movw r2, #65535 -.L1776: +.L1779: ldr r1, [r0, #-4] cmp r1, #0 - bne .L1773 + bne .L1776 ldr r1, [r10, r3, lsl #2] add r3, r3, #1 cmp r3, #4096 @@ -12450,20 +12463,20 @@ sftl_write: movhi r3, #0 cmp r2, #4096 str r1, [r0, #-4]! - bne .L1776 + bne .L1779 mov r3, #512 str r3, [fp, #-108] - b .L1775 -.L1773: + b .L1778 +.L1776: add r3, r2, #127 - ldr r0, .L1805+8 + ldr r0, .L1808+8 lsr r3, r3, #7 str r3, [fp, #-108] bl sftl_printk -.L1775: +.L1778: uxtb r5, r5 smulbb r5, r5, r4 - ldr r4, .L1805 + ldr r4, .L1808 uxth r3, r5 mov r5, #0 str r3, [fp, #-112] @@ -12481,10 +12494,10 @@ sftl_write: ldr r3, [fp, #-108] lsl r3, r3, #7 str r3, [fp, #-152] - b .L1788 -.L1796: + b .L1791 +.L1799: str r3, [fp, #-136] -.L1788: +.L1791: mov r1, #512 ldr r0, [r4, #3676] bl __memzero @@ -12505,7 +12518,7 @@ sftl_write: blx r3 ldr r3, [fp, #-124] cmp r3, r6 - bls .L1777 + bls .L1780 mov r1, r8 add r0, r6, r5 bl __udivsi3 @@ -12513,7 +12526,7 @@ sftl_write: mov r1, r0 mov r0, #0 blx r3 -.L1777: +.L1780: mov r1, r6 mov r0, r5 bl __umodsi3 @@ -12521,10 +12534,10 @@ sftl_write: mov r8, r0 sub r3, r5, r0 str r3, [fp, #-144] -.L1778: +.L1781: ldr r3, [fp, #-124] cmp r3, r6 - bhi .L1779 + bhi .L1782 ldrb r7, [r4, #14] @ zero_extendqisi2 mov r0, r5 ldr r3, [r4, #3676] @@ -12544,10 +12557,10 @@ sftl_write: str r3, [fp, #-156] bl __modsi3 uxth r3, r0 -.L1780: +.L1783: ldr r2, [fp, #-108] cmp r6, r2 - bcs .L1784 + bcs .L1787 ldr r2, [fp, #-144] mov r1, r7 str r3, [fp, #-164] @@ -12573,25 +12586,25 @@ sftl_write: mov r0, #0 blx ip cmn r0, #1 - bne .L1781 -.L1784: + bne .L1784 +.L1787: ldr r0, [r4, #3676] mov r3, r10 mov r6, #0 -.L1782: +.L1785: mov r8, r3 ldr r1, [r0, r6, lsl #2] ldr r2, [r8] lsl r7, r6, #2 add r3, r3, #4 cmp r1, r2 - beq .L1785 + beq .L1788 mov r1, #512 bl __memzero ldr r2, [r4, #3676] mov r1, r5 str r6, [sp] - ldr r0, .L1805+12 + ldr r0, .L1808+12 ldr r3, [r8] ldr r2, [r2, r7] bl sftl_printk @@ -12601,13 +12614,13 @@ sftl_write: blx r3 ldr r3, [fp, #-116] cmp r3, #1 - bls .L1795 + bls .L1798 ldr r2, [fp, #-112] mov r0, #0 ldr r3, [r4, #3248] add r1, r2, r5 blx r3 -.L1795: +.L1798: ldr r2, [fp, #-136] ldr r3, [fp, #-116] add r3, r3, r2 @@ -12615,9 +12628,9 @@ sftl_write: add r5, r5, r2 ldr r2, [fp, #-136] cmp r2, #15 - bls .L1796 - b .L1789 -.L1779: + bls .L1799 + b .L1792 +.L1782: mov r1, r7 add r0, r8, r6 bl __udivsi3 @@ -12642,26 +12655,26 @@ sftl_write: ldr r3, [fp, #-132] add r6, r3, r6 uxth r6, r6 - b .L1778 -.L1781: + b .L1781 +.L1784: add r6, r8, r6 mov r3, #0 uxth r6, r6 - b .L1780 -.L1785: + b .L1783 +.L1788: ldr r2, [fp, #-152] add r6, r6, #1 cmp r6, r2 - bne .L1782 + bne .L1785 ldr r3, [fp, #-128] add r3, r3, #1 cmp r3, #5 str r3, [fp, #-128] - bls .L1795 - b .L1789 -.L1770: + bls .L1798 + b .L1792 +.L1773: cmp r0, #64 - bne .L1790 + bne .L1793 mov r0, #262144 bl ftl_malloc str r0, [r4, #3672] @@ -12671,18 +12684,18 @@ sftl_write: str r0, [r4, #3676] cmp r0, #0 cmpne r3, #0 - beq .L1791 + beq .L1794 mov r2, #1 mov r1, #262144 mov r0, r3 str r2, [r4, #3668] bl __memzero -.L1790: +.L1793: cmp r9, #63 ldr r0, [r4, #3672] ldrls r3, [fp, #-120] rsbls r1, r9, #64 - ldrhi r3, .L1805+16 + ldrhi r3, .L1808+16 ldrhi r2, [fp, #-120] subls r2, r3, r1 ldrls r3, [fp, #-140] @@ -12696,15 +12709,15 @@ sftl_write: subhi r2, r2, #3 lsl r2, r2, #9 bl ftl_memcpy - b .L1771 -.L1791: - ldr r1, .L1805+20 - ldr r0, .L1805+24 + b .L1774 +.L1794: + ldr r1, .L1808+20 + ldr r0, .L1808+24 bl sftl_printk - b .L1790 -.L1806: + b .L1793 +.L1809: .align 2 -.L1805: +.L1808: .word .LANCHOR0 .word -52655045 .word .LC115 @@ -12746,47 +12759,47 @@ FtlMakeBbt: sub fp, ip, #4 sub sp, sp, #4 mov r7, #0 - ldr r8, .L1827 + ldr r8, .L1830 bl FtlBbtMemInit bl FtlLoadFactoryBbt sub r5, r8, #180 sub r9, r8, #18 mov r4, r5 -.L1809: +.L1812: ldrh r3, [r5, #54] cmp r7, r3 - bcc .L1815 + bcc .L1818 mov r0, #0 -.L1816: +.L1819: ldrh r2, [r4, #114] uxth r3, r0 add r5, r0, #1 cmp r2, r3 - bhi .L1817 + bhi .L1820 ldrh r5, [r4, #164] movw r6, #65535 sub r5, r5, #1 uxth r5, r5 -.L1818: +.L1821: ldrh r3, [r4, #164] sub r3, r3, #48 cmp r5, r3 - ble .L1822 + ble .L1825 mov r0, r5 bl FtlBbmIsBadBlock cmp r0, #1 - beq .L1819 + beq .L1822 mov r0, r5 bl FlashTestBlk cmp r0, #0 - beq .L1820 + beq .L1823 mov r0, r5 bl FtlBbmMapBadBlock -.L1819: +.L1822: sub r5, r5, #1 uxth r5, r5 - b .L1818 -.L1815: + b .L1821 +.L1818: ldrh r3, [r9, #2]! movw r2, #65535 ldr r0, [r5, #3292] @@ -12794,11 +12807,11 @@ FtlMakeBbt: cmp r3, r2 str r0, [r5, #3452] str r10, [r5, #3456] - beq .L1810 + beq .L1813 ldrh ip, [r5, #98] mov r2, #1 mov r1, r2 - ldr r0, .L1827+4 + ldr r0, .L1830+4 mla ip, r7, ip, r3 lsl r3, ip, #10 str ip, [fp, #-44] @@ -12811,29 +12824,29 @@ FtlMakeBbt: asr r2, r2, #3 bl ftl_memcpy ldr ip, [fp, #-44] -.L1811: +.L1814: uxth r0, ip add r7, r7, #1 add r8, r8, #4 bl FtlBbmMapBadBlock - b .L1809 -.L1810: + b .L1812 +.L1813: mov r1, r7 bl FlashGetBadBlockList ldr r1, [r8] ldr r0, [r5, #3452] bl FtlBbt2Bitmap ldrh r6, [r5, #98] -.L1813: +.L1816: sub r6, r6, #1 uxth r6, r6 -.L1812: +.L1815: ldrh r0, [r4, #98] smlabb r0, r0, r7, r6 uxth r0, r0 bl FtlBbmIsBadBlock cmp r0, #1 - beq .L1813 + beq .L1816 mov r1, #16 ldr r0, [r4, #3324] strh r6, [r9] @ movhi @@ -12841,7 +12854,7 @@ FtlMakeBbt: mov r1, #4096 ldr r0, [r4, #3292] bl __memzero - ldr r3, .L1827+8 + ldr r3, .L1830+8 strh r3, [r10] @ movhi mov r3, #0 str r3, [r10, #4] @@ -12855,39 +12868,39 @@ FtlMakeBbt: lsl r3, ip, #10 str ip, [fp, #-44] str r3, [r4, #3448] - ldr r3, .L1827+12 + ldr r3, .L1830+12 ldrh r2, [r3] lsl r2, r2, #2 bl ftl_memcpy mov r2, #1 - ldr r0, .L1827+4 + ldr r0, .L1830+4 mov r1, r2 bl FlashEraseBlocks mov r3, #1 - ldr r0, .L1827+4 + ldr r0, .L1830+4 mov r2, r3 mov r1, r3 bl FlashProgPages ldr r3, [r4, #3444] ldr ip, [fp, #-44] cmn r3, #1 - bne .L1811 + bne .L1814 uxth r0, ip bl FtlBbmMapBadBlock - b .L1812 -.L1817: + b .L1815 +.L1820: uxth r0, r0 bl FtlBbmMapBadBlock mov r0, r5 - b .L1816 -.L1820: + b .L1819 +.L1823: ldrh r3, [r4, #152] cmp r3, r6 strheq r5, [r4, #152] @ movhi - beq .L1819 -.L1821: + beq .L1822 +.L1824: strh r5, [r4, #156] @ movhi -.L1822: +.L1825: ldrh r3, [r4, #152] mov r5, #0 ldr r0, [r4, #3260] @@ -12917,9 +12930,9 @@ FtlMakeBbt: bl FtlBbmTblFlush mov r0, r5 ldmib sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1828: +.L1831: .align 2 -.L1827: +.L1830: .word .LANCHOR0+180 .word .LANCHOR0+3444 .word -3872 @@ -12937,7 +12950,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, .L1853 + ldr r4, .L1856 mov r3, #0 ldrh r0, [r4, #36] str r3, [r4, #2540] @@ -12945,36 +12958,36 @@ ftl_low_format: bl FtlFreeSysBlkQueueInit bl FtlLoadBbt cmp r0, #0 - beq .L1830 + beq .L1833 bl FtlMakeBbt -.L1830: - ldr r0, .L1853+4 +.L1833: + ldr r0, .L1856+4 mov r2, #0 -.L1831: +.L1834: ldrh r1, [r4, #58] uxth r3, r2 add r2, r2, #1 cmp r3, r1, lsl #7 - blt .L1832 + blt .L1835 ldrh r6, [r4, #40] mov r5, #0 -.L1833: +.L1836: ldrh r3, [r4, #42] cmp r3, r6 - bhi .L1834 + bhi .L1837 ldrh r1, [r4, #32] sub r3, r5, #3 cmp r3, r1, lsl #1 - bge .L1835 -.L1839: + bge .L1838 +.L1842: mov r0, #0 mov r6, r0 -.L1836: +.L1839: ldrh r2, [r4, #40] uxth r3, r0 add r5, r0, #1 cmp r2, r3 - bhi .L1840 + bhi .L1843 ldrh r3, [r4, #42] movw r9, #2572 ldrh r5, [r4, #32] @@ -12991,7 +13004,7 @@ ftl_low_format: mov r3, #24 mul r3, r3, r5 cmp r6, r3 - ble .L1841 + ble .L1844 mov r1, r5 sub r0, r10, r6 bl __udivsi3 @@ -12999,10 +13012,10 @@ ftl_low_format: lsr r0, r0, #5 add r0, r0, #24 strh r0, [r4, r9] @ movhi -.L1841: +.L1844: ldrh r3, [r4, #94] cmp r3, #0 - beq .L1843 + beq .L1846 movw r2, #2572 ldrh r1, [r4, r2] add r1, r1, r3, lsr #1 @@ -13013,7 +13026,7 @@ ftl_low_format: strlt r8, [r4, #2504] addlt r3, r7, r3 strhlt r3, [r4, r2] @ movhi -.L1843: +.L1846: movw r3, #2572 mvn r6, #0 ldrh r2, [r4, r3] @@ -13031,7 +13044,7 @@ ftl_low_format: ldrh r2, [r4, #42] mov r1, #0 ldr r0, [r4, #2324] - ldr r5, .L1853+8 + ldr r5, .L1856+8 lsl r2, r2, #1 sub r5, r5, #240 bl ftl_memset @@ -13054,29 +13067,29 @@ ftl_low_format: ldr r0, [r4, #24] strb r3, [r4, #2356] bl ftl_memset -.L1845: +.L1848: mov r0, r7 bl make_superblock ldrb r3, [r4, #2355] @ zero_extendqisi2 cmp r3, #0 ldrh r3, [r5] - bne .L1846 + bne .L1849 ldr r2, [r4, #2324] lsl r3, r3, #1 strh r6, [r2, r3] @ movhi ldrh r3, [r5] add r3, r3, #1 strh r3, [r5] @ movhi - b .L1845 -.L1832: + b .L1848 +.L1835: ldr ip, [r4, #3304] mvn r1, r3 orr r1, r3, r1, lsl #16 str r1, [ip, r3, lsl #2] ldr r1, [r4, #3308] str r0, [r1, r3, lsl #2] - b .L1831 -.L1834: + b .L1834 +.L1837: mov r0, r6 mov r1, #1 bl FtlLowFormatEraseBlock @@ -13084,8 +13097,8 @@ ftl_low_format: add r5, r5, r0 uxth r5, r5 uxth r6, r6 - b .L1833 -.L1835: + b .L1836 +.L1838: mov r0, r5 bl __udivsi3 ldr r3, [r4, #132] @@ -13095,25 +13108,25 @@ ftl_low_format: ldrh r0, [r4, #36] bl FtlFreeSysBlkQueueInit ldrh r5, [r4, #40] -.L1837: +.L1840: ldrh r3, [r4, #42] cmp r3, r5 - bls .L1839 + bls .L1842 mov r0, r5 mov r1, #1 add r5, r5, #1 bl FtlLowFormatEraseBlock uxth r5, r5 - b .L1837 -.L1840: + b .L1840 +.L1843: mov r1, #0 uxth r0, r0 bl FtlLowFormatEraseBlock add r6, r6, r0 mov r0, r5 uxth r6, r6 - b .L1836 -.L1846: + b .L1839 +.L1849: ldr r2, [r4, #2540] lsl r3, r3, #1 ldrh r1, [r5, #4] @@ -13124,7 +13137,7 @@ ftl_low_format: ldr r2, [r4, #2324] strh r1, [r2, r3] @ movhi mov r3, #0 - ldr r2, .L1853+12 + ldr r2, .L1856+12 movw r1, #2396 strb r3, [r4, #2402] strh r3, [r2, #2] @ movhi @@ -13135,21 +13148,21 @@ ftl_low_format: strh r3, [r4, r1] @ movhi mov r3, #1 strb r3, [r4, #2404] -.L1847: +.L1850: mov r0, r7 bl make_superblock ldrb r3, [r4, #2403] @ zero_extendqisi2 cmp r3, #0 ldrh r3, [r5] - bne .L1848 + bne .L1851 ldr r2, [r4, #2324] lsl r3, r3, #1 strh r6, [r2, r3] @ movhi ldrh r3, [r5] add r3, r3, #1 strh r3, [r5] @ movhi - b .L1847 -.L1848: + b .L1850 +.L1851: ldr r2, [r4, #2540] lsl r3, r3, #1 ldrh r1, [r5, #4] @@ -13162,7 +13175,7 @@ ftl_low_format: movw r3, #2444 strh r5, [r4, r3] @ movhi bl FtlFreeSysBlkQueueOut - ldr r3, .L1853+16 + ldr r3, .L1856+16 mov r2, #0 strh r2, [r3, #2] @ movhi ldr r2, [r4, #3464] @@ -13177,13 +13190,13 @@ ftl_low_format: bl FtlSysBlkInit cmp r0, #0 mov r0, #0 - ldreq r3, .L1853+20 + ldreq r3, .L1856+20 moveq r2, #1 streq r2, [r3] ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1854: +.L1857: .align 2 -.L1853: +.L1856: .word .LANCHOR0 .word 168778952 .word .LANCHOR0+2588 @@ -13218,7 +13231,7 @@ rk_sftl_vendor_dev_ops_register: mov ip, sp push {fp, ip, lr, pc} sub fp, ip, #4 - ldr r2, .L1859 + ldr r2, .L1862 ldr r3, [r2, #3680] cmp r3, #0 streq r0, [r2, #3680] @@ -13226,9 +13239,9 @@ rk_sftl_vendor_dev_ops_register: streq r1, [r2, #3684] mvnne r0, #0 ldmfd sp, {fp, sp, pc} -.L1860: +.L1863: .align 2 -.L1859: +.L1862: .word .LANCHOR0 .size rk_sftl_vendor_dev_ops_register, .-rk_sftl_vendor_dev_ops_register .align 2 @@ -13244,28 +13257,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, .L1870 + ldr r4, .L1873 bl ftl_malloc cmp r0, #0 str r0, [r4, #3688] mvneq r9, #11 - beq .L1861 - ldr r8, .L1870+4 + beq .L1864 + ldr r8, .L1873+4 mov r6, #0 mov r5, r6 mov r7, r6 -.L1865: +.L1868: ldr r3, [r4, #3680] mov r1, #128 ldr r2, [r4, #3688] lsl r0, r7, #7 blx r3 subs r9, r0, #0 - bne .L1863 + bne .L1866 ldr r2, [r4, #3688] ldr r3, [r2] cmp r3, r8 - bne .L1864 + bne .L1867 add r1, r2, #61440 ldr r3, [r2, #4] ldr r1, [r1, #4092] @@ -13277,26 +13290,26 @@ rk_sftl_vendor_storage_init: cmp r1, #0 movne r6, r7 movne r5, r3 -.L1864: +.L1867: add r7, r7, #1 cmp r7, #2 - bne .L1865 + bne .L1868 cmp r5, #0 - beq .L1866 + beq .L1869 ldr r3, [r4, #3680] mov r1, #128 lsl r0, r6, #7 blx r3 subs r9, r0, #0 - beq .L1861 -.L1863: + beq .L1864 +.L1866: ldr r0, [r4, #3688] mvn r9, #0 bl kfree mov r3, #0 str r3, [r4, #3688] - b .L1861 -.L1866: + b .L1864 +.L1869: mov r1, #65536 mov r0, r2 bl __memzero @@ -13306,15 +13319,15 @@ rk_sftl_vendor_storage_init: str r2, [r3, #4] str r8, [r3] str r2, [r1, #4092] - ldr r2, .L1870+8 + ldr r2, .L1873+8 strh r5, [r3, #12] @ movhi strh r2, [r3, #14] @ movhi -.L1861: +.L1864: mov r0, r9 ldmfd sp, {r4, r5, r6, r7, r8, r9, fp, sp, pc} -.L1871: +.L1874: .align 2 -.L1870: +.L1873: .word .LANCHOR0 .word 1380668996 .word -1032 @@ -13331,26 +13344,26 @@ rk_sftl_vendor_read: mov ip, sp push {r4, r5, fp, ip, lr, pc} sub fp, ip, #4 - ldr r3, .L1878 + ldr r3, .L1881 mov r4, r0 mov r0, r1 ldr ip, [r3, #3688] cmp ip, #0 ldrhne lr, [ip, #10] movne r3, #0 - bne .L1874 -.L1877: + bne .L1877 +.L1880: mvn r0, #0 ldmfd sp, {r4, r5, fp, sp, pc} -.L1875: +.L1878: add r3, r3, #1 -.L1874: +.L1877: cmp r3, lr - bcs .L1877 + bcs .L1880 add r1, ip, r3, lsl #3 ldrh r5, [r1, #16] cmp r5, r4 - bne .L1875 + bne .L1878 ldrh r4, [r1, #20] ldrh r1, [r1, #18] cmp r4, r2 @@ -13361,9 +13374,9 @@ rk_sftl_vendor_read: bl memcpy mov r0, r4 ldmfd sp, {r4, r5, fp, sp, pc} -.L1879: +.L1882: .align 2 -.L1878: +.L1881: .word .LANCHOR0 .size rk_sftl_vendor_read, .-rk_sftl_vendor_read .align 2 @@ -13380,23 +13393,23 @@ rk_sftl_vendor_write: sub fp, ip, #4 sub sp, sp, #24 mov ip, r1 - ldr r8, .L1899 + ldr r8, .L1902 mov r9, r2 ldr r4, [r8, #3688] cmp r4, #0 - beq .L1895 + beq .L1898 ldrh r2, [r4, #10] add r7, r9, #63 ldrh r3, [r4, #8] bic r7, r7, #63 mov r5, #0 str r3, [fp, #-44] -.L1882: +.L1885: cmp r5, r2 - bcc .L1890 + bcc .L1893 ldrh r1, [r4, #14] cmp r7, r1 - bhi .L1895 + bhi .L1898 add r3, r4, r2, lsl #3 uxth r7, r7 strh r0, [r3, #16] @ movhi @@ -13428,31 +13441,31 @@ rk_sftl_vendor_write: movhi r3, #0 strh r3, [r4, #8] @ movhi ldr r3, [r8, #3684] - b .L1898 -.L1890: + b .L1901 +.L1893: add r6, r4, r5, lsl #3 ldrh r3, [r6, #16] cmp r3, r0 str r3, [fp, #-48] - bne .L1883 + bne .L1886 ldrh r1, [r6, #20] add r3, r4, #1024 add r1, r1, #63 bic r1, r1, #63 cmp r9, r1 str r1, [fp, #-52] - bls .L1884 + bls .L1887 ldrh r1, [r4, #14] cmp r7, r1 - bhi .L1895 + bhi .L1898 ldrh r8, [r6, #18] sub r2, r2, #1 str r2, [fp, #-56] -.L1885: +.L1888: ldr r2, [fp, #-56] add r6, r6, #8 cmp r5, r2 - bcc .L1886 + bcc .L1889 ldrh r2, [fp, #-48] add r5, r4, r5, lsl #3 uxth r8, r8 @@ -13471,7 +13484,7 @@ rk_sftl_vendor_write: strh r8, [r4, #12] @ movhi add r7, r7, r3 strh r7, [r4, #14] @ movhi -.L1887: +.L1890: ldr r3, [r4, #4] add r2, r4, #61440 add r3, r3, #1 @@ -13483,19 +13496,19 @@ rk_sftl_vendor_write: cmp r3, #1 movhi r3, #0 strh r3, [r4, #8] @ movhi - ldr r3, .L1899 + ldr r3, .L1902 ldr r3, [r3, #3684] -.L1898: +.L1901: ldr r0, [fp, #-44] mov r2, r4 mov r1, #128 lsl r0, r0, #7 blx r3 mov r0, #0 -.L1880: +.L1883: sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1886: +.L1889: ldrh r10, [r6, #20] add r0, r3, r8 ldrh r2, [r6, #16] @@ -13514,8 +13527,8 @@ rk_sftl_vendor_write: bl memcpy ldr ip, [fp, #-64] ldr r3, [fp, #-60] - b .L1885 -.L1884: + b .L1888 +.L1887: add r5, r4, r5, lsl #3 mov r2, r9 mov r1, ip @@ -13523,16 +13536,16 @@ rk_sftl_vendor_write: add r0, r3, r0 bl memcpy strh r9, [r6, #20] @ movhi - b .L1887 -.L1883: + b .L1890 +.L1886: add r5, r5, #1 - b .L1882 -.L1895: + b .L1885 +.L1898: mvn r0, #0 - b .L1880 -.L1900: + b .L1883 +.L1903: .align 2 -.L1899: +.L1902: .word .LANCHOR0 .size rk_sftl_vendor_write, .-rk_sftl_vendor_write .align 2 @@ -13553,18 +13566,18 @@ rk_sftl_vendor_storage_ioctl: bl ftl_malloc subs r4, r0, #0 mvneq r5, #0 - beq .L1901 - ldr r3, .L1926 - cmp r6, r3 beq .L1904 + ldr r3, .L1929 + cmp r6, r3 + beq .L1907 add r3, r3, #1 cmp r6, r3 - beq .L1905 -.L1921: + beq .L1908 +.L1924: mvn r5, #13 - b .L1903 -.L1904: - ldr r6, .L1926+4 + b .L1906 +.L1907: + ldr r6, .L1929+4 mov r3, sp and r3, r3, r6 ldr r3, [r3, #72] @@ -13575,31 +13588,31 @@ rk_sftl_vendor_storage_ioctl: .arm .syntax unified cmp r3, #0 - bne .L1911 + bne .L1914 mov r2, #8 mov r1, r5 bl arm_copy_from_user cmp r0, #0 - bne .L1921 + bne .L1924 ldr r2, [r4] - ldr r3, .L1926+8 + ldr r3, .L1929+8 cmp r2, r3 - beq .L1909 -.L1910: + beq .L1912 +.L1913: mvn r5, #0 -.L1903: +.L1906: mov r0, r4 bl kfree -.L1901: +.L1904: mov r0, r5 ldmfd sp, {r4, r5, r6, fp, sp, pc} -.L1909: +.L1912: ldrh r2, [r4, #6] add r1, r4, #8 ldrh r0, [r4, #4] bl rk_sftl_vendor_read cmn r0, #1 - beq .L1910 + beq .L1913 mov r3, sp uxth r2, r0 and r6, r6, r3 @@ -13613,15 +13626,15 @@ rk_sftl_vendor_storage_ioctl: .arm .syntax unified cmp r3, #0 - bne .L1921 + bne .L1924 mov r0, r5 mov r1, r4 bl arm_copy_to_user subs r5, r0, #0 - beq .L1903 - b .L1921 -.L1905: - ldr r6, .L1926+4 + beq .L1906 + b .L1924 +.L1908: + ldr r6, .L1929+4 mov r3, sp and r3, r3, r6 ldr r3, [r3, #72] @@ -13632,20 +13645,20 @@ rk_sftl_vendor_storage_ioctl: .arm .syntax unified cmp r3, #0 - bne .L1911 + bne .L1914 mov r2, #8 mov r1, r5 bl arm_copy_from_user cmp r0, #0 - bne .L1921 + bne .L1924 ldr r2, [r4] - ldr r3, .L1926+8 + ldr r3, .L1929+8 cmp r2, r3 - bne .L1910 + bne .L1913 ldrh r2, [r4, #6] movw r3, #4087 cmp r2, r3 - bhi .L1910 + bhi .L1913 mov r3, sp add r2, r2, #8 and r6, r6, r3 @@ -13659,26 +13672,26 @@ rk_sftl_vendor_storage_ioctl: cmp r3, #0 movne r1, r2 movne r0, r4 - bne .L1925 + bne .L1928 mov r1, r5 mov r0, r4 bl arm_copy_from_user cmp r0, #0 - bne .L1921 + bne .L1924 ldrh r2, [r4, #6] add r1, r4, #8 ldrh r0, [r4, #4] bl rk_sftl_vendor_write mov r5, r0 - b .L1903 -.L1911: + b .L1906 +.L1914: mov r1, #8 -.L1925: +.L1928: bl __memzero - b .L1921 -.L1927: + b .L1924 +.L1930: .align 2 -.L1926: +.L1929: .word 1074034177 .word -8192 .word 1448232273 @@ -13695,12 +13708,12 @@ rk_sftl_vendor_register: mov ip, sp push {fp, ip, lr, pc} sub fp, ip, #4 - ldr r0, .L1929 + ldr r0, .L1932 bl misc_register ldmfd sp, {fp, sp, pc} -.L1930: +.L1933: .align 2 -.L1929: +.L1932: .word .LANCHOR2+12 .size rk_sftl_vendor_register, .-rk_sftl_vendor_register .global g_nand_ops @@ -13883,9 +13896,9 @@ __func__.4504: .size __func__.4679, 19 __func__.4679: .ascii "get_new_active_ppa\000" - .type __func__.15073, %object - .size __func__.15073, 17 -__func__.15073: + .type __func__.15086, %object + .size __func__.15086, 17 +__func__.15086: .ascii "FlashEraseBlocks\000" .type __func__.4116, %object .size __func__.4116, 26 @@ -13903,9 +13916,9 @@ __func__.3848: .size __func__.4525, 18 __func__.4525: .ascii "SupperBlkListInit\000" - .type __func__.15032, %object - .size __func__.15032, 15 -__func__.15032: + .type __func__.15043, %object + .size __func__.15043, 15 +__func__.15043: .ascii "FlashReadPages\000" .type __func__.4293, %object .size __func__.4293, 14 @@ -13919,9 +13932,9 @@ __func__.3891: .size __func__.4350, 15 __func__.4350: .ascii "FtlLoadSysInfo\000" - .type __func__.15050, %object - .size __func__.15050, 15 -__func__.15050: + .type __func__.15062, %object + .size __func__.15062, 15 +__func__.15062: .ascii "FlashProgPages\000" .type __func__.4142, %object .size __func__.4142, 31 diff --git a/drivers/rkflash/rk_sftl_arm_v7_thumb.S b/drivers/rkflash/rk_sftl_arm_v7_thumb.S index 95aa4302e257..e1b0595b18ee 100644 --- a/drivers/rkflash/rk_sftl_arm_v7_thumb.S +++ b/drivers/rkflash/rk_sftl_arm_v7_thumb.S @@ -1,8 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0 */ -/* - * Copyright (c) 2018 Rockchip Electronics Co. Ltd. - * date: 2018-09-30 +/* Copyright (c) 2018 Rockchip Electronics Co. Ltd. + * date: 2018-10-11 */ .arch armv7-a .eabi_attribute 20, 1 @@ -4602,23 +4601,23 @@ FlashReadPages: push {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} mov r9, r1 - ldr r5, .L637 + ldr r5, .L638 mov r4, r0 mov r8, #0 .pad #20 sub sp, sp, #20 - ldr r10, .L637+4 - ldr fp, .L637+8 + ldr r10, .L638+4 + ldr fp, .L638+8 ldrh r3, [r5, #12] str r3, [sp, #4] .L611: cmp r8, r9 - bne .L621 + bne .L622 movs r0, #0 add sp, sp, #20 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L621: +.L622: ldr r3, [r4, #8] cbz r3, .L612 ldr r3, [r4, #12] @@ -4633,20 +4632,30 @@ FlashReadPages: add r1, sp, #12 mov r0, r4 bl l2p_addr_tran + ldr r0, [sp, #8] + cmp r0, #3 + bls .L614 + mov r3, #-1 + str r3, [r4] +.L615: + add r8, r8, #1 + adds r4, r4, #20 + b .L611 +.L614: ldr r6, [r4, #8] + uxtb r0, r0 ldr r3, [r4, #12] ldr r1, [sp, #12] lsls r2, r6, #26 - ldrb r0, [sp, #8] @ zero_extendqisi2 + ldr r7, [r5, #3256] it ne ldrne r6, [r5, #3312] - ldr r7, [r5, #3256] mov r2, r6 blx r7 str r0, [r4] ldrh r3, [r5, #14] cmp r3, #4 - bne .L616 + bne .L618 ldr r0, [sp, #4] add r2, r6, #2048 ldr r3, [r4, #12] @@ -4657,45 +4666,42 @@ FlashReadPages: ldrb r0, [sp, #8] @ zero_extendqisi2 blx r7 adds r3, r0, #1 - beq .L617 + beq .L619 ldr r3, [r4, #12] ldr r2, [r3, #12] adds r2, r2, #1 - bne .L618 + bne .L620 ldr r2, [r3, #8] adds r2, r2, #1 - bne .L618 + bne .L620 ldr r3, [r3] adds r3, r3, #1 - beq .L618 -.L617: + beq .L620 +.L619: mov r3, #-1 str r3, [r4] -.L618: +.L620: ldr r3, [r4] adds r3, r3, #1 - beq .L616 + beq .L618 cmp r0, #256 it eq streq r0, [r4] -.L616: +.L618: ldr r3, [r5, #3312] cmp r6, r3 - bne .L620 + bne .L615 ldr r0, [r4, #8] cmp r6, r0 - beq .L620 + beq .L615 ldrh r2, [r5, #58] mov r1, r6 lsls r2, r2, #9 bl ftl_memcpy -.L620: - add r8, r8, #1 - adds r4, r4, #20 - b .L611 -.L638: + b .L615 +.L639: .align 2 -.L637: +.L638: .word .LANCHOR0 .word .LANCHOR1+216 .word .LC1 @@ -4715,7 +4721,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, .L649 + ldr r4, .L650 movw r10, #61664 ldr r3, [r4, #3292] add r7, r4, #162 @@ -4723,23 +4729,23 @@ FtlLoadFactoryBbt: addw r9, r4, #3444 str r3, [r4, #3452] str r8, [r4, #3456] -.L640: +.L641: ldrh r3, [r4, #54] cmp r6, r3 - bcc .L645 + bcc .L646 movs r0, #0 pop {r4, r5, r6, r7, r8, r9, r10, pc} -.L645: +.L646: ldrh r5, [r4, #98] movw r3, #65535 strh r3, [r7, #2]! @ movhi -.L642: +.L643: ldrh r3, [r4, #98] subs r5, r5, #1 uxth r5, r5 sub r2, r3, #16 cmp r5, r2 - ble .L643 + ble .L644 mla r3, r6, r3, r5 movs r2, #1 mov r1, r2 @@ -4749,17 +4755,17 @@ FtlLoadFactoryBbt: bl FlashReadPages ldr r3, [r4, #3444] adds r3, r3, #1 - beq .L642 + beq .L643 ldrh r3, [r8] cmp r3, r10 - bne .L642 + bne .L643 strh r5, [r7] @ movhi -.L643: +.L644: adds r6, r6, #1 - b .L640 -.L650: + b .L641 +.L651: .align 2 -.L649: +.L650: .word .LANCHOR0 .fnend .size FtlLoadFactoryBbt, .-FtlLoadFactoryBbt @@ -4774,7 +4780,7 @@ FtlGetLastWrittenPage: .fnstart @ args = 0, pretend = 0, frame = 88 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L662 + ldr r3, .L663 cmp r1, #1 push {r4, r5, r6, r7, r8, lr} .save {r4, r5, r6, r7, r8, lr} @@ -4800,17 +4806,17 @@ FtlGetLastWrittenPage: bl FlashReadPages ldr r3, [sp, #24] adds r3, r3, #1 - bne .L654 + bne .L655 mov r8, #0 -.L655: +.L656: cmp r8, r5 - ble .L658 -.L654: + ble .L659 +.L655: mov r0, r5 add sp, sp, #88 @ sp needed pop {r4, r5, r6, r7, r8, pc} -.L658: +.L659: add r3, r8, r5 mov r2, r7 add r3, r3, r3, lsr #31 @@ -4823,23 +4829,23 @@ FtlGetLastWrittenPage: bl FlashReadPages ldr r3, [sp, #24] adds r3, r3, #1 - bne .L656 + bne .L657 ldr r3, [sp, #28] adds r3, r3, #1 - bne .L656 + bne .L657 ldr r3, [sp, #4] adds r3, r3, #1 - beq .L656 + beq .L657 subs r4, r4, #1 sxth r5, r4 - b .L655 -.L656: + b .L656 +.L657: adds r4, r4, #1 sxth r8, r4 - b .L655 -.L663: + b .L656 +.L664: .align 2 -.L662: +.L663: .word .LANCHOR0 .fnend .size FtlGetLastWrittenPage, .-FtlGetLastWrittenPage @@ -4857,7 +4863,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, .L746 + ldr r4, .L747 mov r1, r5 .pad #20 sub sp, sp, #20 @@ -4887,10 +4893,10 @@ FtlScanSysBlk: str r3, [r4, #2576] str r3, [r4, #2580] str r3, [r4, #2584] -.L665: +.L666: ldrh r3, [r4, #42] cmp r3, r8 - bls .L707 + bls .L708 movs r5, #0 ldrh fp, [r4, #32] ldr r9, [r4, #3280] @@ -4899,11 +4905,11 @@ FtlScanSysBlk: mov r10, #20 ldr r2, [r4, #3176] ldrh r6, [r4, #112] - b .L708 -.L668: + b .L709 +.L669: str r3, [sp, #8] mov r1, r8 - ldr r3, .L746+4 + ldr r3, .L747+4 str r2, [sp, #12] ldrb r0, [r3, r5] @ zero_extendqisi2 bl V2P_block @@ -4911,7 +4917,7 @@ FtlScanSysBlk: bl FtlBbmIsBadBlock ldr r3, [sp, #8] ldr r2, [sp, #12] - cbnz r0, .L666 + cbnz r0, .L667 ldr r1, [sp, #4] mla r0, r10, r7, r9 lsls r1, r1, #10 @@ -4926,27 +4932,27 @@ FtlScanSysBlk: bic r1, r1, #3 add r1, r1, r2 str r1, [r0, #12] -.L666: +.L667: adds r5, r5, #1 -.L708: +.L709: uxth r1, r5 cmp fp, r1 - bhi .L668 - cbnz r7, .L669 -.L706: + bhi .L669 + cbnz r7, .L670 +.L707: add r8, r8, #1 uxth r8, r8 - b .L665 -.L669: + b .L666 +.L670: mov r0, r9 mov r9, #0 movs r2, #1 mov r1, r7 bl FlashReadPages -.L670: +.L671: uxth r3, r9 cmp r7, r3 - bls .L706 + bls .L707 movs r3, #20 mul r10, r3, r9 ldr r3, [r4, #3280] @@ -4956,10 +4962,10 @@ FtlScanSysBlk: ldr r6, [r2, #12] adds r3, r3, #1 ubfx r5, r5, #10, #16 - bne .L673 + bne .L674 mov fp, #16 movw r3, #65535 -.L675: +.L676: ldr r0, [r4, #3280] str r3, [sp, #4] add r0, r0, r10 @@ -4972,73 +4978,73 @@ FtlScanSysBlk: ldrh r2, [r6] ldr r3, [sp, #4] cmp r2, r3 - bne .L672 + bne .L673 ldr r3, [r4, #3280] mov r2, #-1 str r2, [r3, r10] ldr r3, [r4, #3280] ldr r3, [r3, r10] cmp r3, r2 - bne .L673 -.L674: + bne .L674 +.L675: movs r1, #1 - b .L745 -.L672: + b .L746 +.L673: ldr r2, [r4, #3280] ldr r2, [r2, r10] adds r2, r2, #1 - bne .L673 + bne .L674 add fp, fp, #-1 uxth fp, fp cmp fp, #0 - bne .L675 - b .L674 -.L673: + bne .L676 + b .L675 +.L674: ldr r2, [r4, #2540] ldr r3, [r6, #4] adds r1, r2, #1 - beq .L676 + beq .L677 cmp r2, r3 - bhi .L677 -.L676: + bhi .L678 +.L677: adds r2, r3, #1 itt ne addne r2, r3, #1 strne r2, [r4, #2540] -.L677: +.L678: ldrh r2, [r6] movw r1, #61604 cmp r2, r1 - beq .L679 - bhi .L680 + beq .L680 + bhi .L681 movw r3, #61574 cmp r2, r3 - beq .L681 -.L678: + beq .L682 +.L679: add r9, r9, #1 - b .L670 -.L680: + b .L671 +.L681: movw r3, #61634 cmp r2, r3 - beq .L682 + beq .L683 movw r3, #65535 cmp r2, r3 - bne .L678 + bne .L679 movs r1, #0 -.L745: +.L746: mov r0, r5 bl FtlFreeSysBlkQueueIn - b .L678 -.L682: + b .L679 +.L683: ldrh r2, [r4, #3428] ldr r3, [r4, #128] cmp r2, r3 - bls .L684 + bls .L685 movw r2, #1222 - ldr r1, .L746+8 - ldr r0, .L746+12 + ldr r1, .L747+8 + ldr r0, .L747+12 bl sftl_printk -.L684: +.L685: ldr r1, [r4, #128] ldrh r0, [r4, #3428] ldr r10, [r4, #3372] @@ -5048,58 +5054,58 @@ FtlScanSysBlk: add ip, ip, #-1 sxth r3, r3 sxth ip, ip -.L685: +.L686: cmp r3, ip - bgt .L691 + bgt .L692 cmp r3, #0 - bge .L723 - b .L678 -.L691: + bge .L724 + b .L679 +.L692: ldr r2, [r6, #4] lsl fp, r3, #2 mov lr, r2 ldr r2, [r10, r3, lsl #2] cmp lr, r2 - bls .L686 + bls .L687 ldr r2, [r10] - cbnz r2, .L687 + cbnz r2, .L688 cmp r1, r0 itt ne addne r0, r0, #1 strhne r0, [r4, #3428] @ movhi -.L687: +.L688: uxth ip, r3 movs r2, #0 -.L688: +.L689: uxth r0, r2 sxth r1, r2 cmp ip, r0 - bhi .L689 + bhi .L690 ldr r2, [r4, #3372] cmp r3, #0 ldr r1, [r6, #4] str r1, [r2, fp] ldr r2, [r4, #3348] strh r5, [r2, r3, lsl #1] @ movhi - blt .L678 + blt .L679 ldrh r0, [r4, #3428] ldr r2, [r4, #128] subs r2, r2, r0 subs r2, r2, #1 sxth r2, r2 cmp r3, r2 - bgt .L678 -.L723: + bgt .L679 +.L724: ldr r2, [r4, #3372] adds r0, r0, #1 ldr r1, [r6, #4] strh r0, [r4, #3428] @ movhi str r1, [r2, r3, lsl #2] ldr r2, [r4, #3348] -.L743: +.L744: strh r5, [r2, r3, lsl #1] @ movhi - b .L678 -.L689: + b .L679 +.L690: ldr r0, [r4, #3372] adds r2, r2, #1 add lr, r0, r1, lsl #2 @@ -5109,79 +5115,79 @@ FtlScanSysBlk: add lr, r0, r1, lsl #1 ldrh lr, [lr, #2] strh lr, [r0, r1, lsl #1] @ movhi - b .L688 -.L686: + b .L689 +.L687: subs r3, r3, #1 sxth r3, r3 - b .L685 -.L747: + b .L686 +.L748: .align 2 -.L746: +.L747: .word .LANCHOR0 .word .LANCHOR0+60 .word .LANCHOR1+231 .word .LC1 -.L681: +.L682: ldrh r2, [r4, #144] ldrh r3, [r4, #120] cmp r2, r3 - bls .L694 + bls .L695 movw r2, #1263 - ldr r1, .L748 - ldr r0, .L748+4 + ldr r1, .L749 + ldr r0, .L749+4 bl sftl_printk -.L694: +.L695: ldrh lr, [r4, #120] ldrh r0, [r4, #144] ldr r10, [r4, #3360] add ip, lr, #-1 sxth r3, ip sub ip, ip, r0 -.L695: +.L696: cmp r3, ip - ble .L700 + ble .L701 ldr r2, [r6, #4] lsl fp, r3, #2 ldr r1, [r10, r3, lsl #2] cmp r2, r1 - bls .L696 + bls .L697 ldr r2, [r10] - cbnz r2, .L697 + cbnz r2, .L698 cmp lr, r0 itt ne addne r0, r0, #1 strhne r0, [r4, #144] @ movhi -.L697: +.L698: uxth ip, r3 movs r2, #0 -.L698: +.L699: uxth r0, r2 sxth r1, r2 cmp ip, r0 - bhi .L699 + bhi .L700 ldr r2, [r4, #3360] ldr r1, [r6, #4] str r1, [r2, fp] ldr r2, [r4, #148] strh r5, [r2, r3, lsl #1] @ movhi -.L700: +.L701: cmp r3, #0 - blt .L678 + blt .L679 ldrh r2, [r4, #120] ldrh r1, [r4, #144] subs r2, r2, #1 subs r2, r2, r1 sxth r2, r2 cmp r3, r2 - bgt .L678 + bgt .L679 adds r1, r1, #1 ldr r2, [r4, #3360] strh r1, [r4, #144] @ movhi ldr r1, [r6, #4] str r1, [r2, r3, lsl #2] ldr r2, [r4, #148] - b .L743 -.L699: + b .L744 +.L700: ldr r0, [r4, #3360] adds r2, r2, #1 add lr, r0, r1, lsl #2 @@ -5191,81 +5197,81 @@ FtlScanSysBlk: add lr, r0, r1, lsl #1 ldrh lr, [lr, #2] strh lr, [r0, r1, lsl #1] @ movhi - b .L698 -.L696: + b .L699 +.L697: subs r3, r3, #1 sxth r3, r3 - b .L695 -.L679: + b .L696 +.L680: ldrh r1, [r4, #2576] movw r2, #65535 cmp r1, r2 - bne .L702 + bne .L703 strh r5, [r4, #2576] @ movhi -.L744: +.L745: str r3, [r4, #2584] - b .L678 -.L702: + b .L679 +.L703: ldrh r0, [r4, #2580] cmp r0, r2 - beq .L703 + beq .L704 movs r1, #1 bl FtlFreeSysBlkQueueIn -.L703: +.L704: ldr r2, [r4, #2584] ldr r3, [r6, #4] cmp r2, r3 - bcs .L704 + bcs .L705 ldrh r3, [r4, #2576] strh r5, [r4, #2576] @ movhi strh r3, [r4, #2580] @ movhi ldr r3, [r6, #4] - b .L744 -.L704: + b .L745 +.L705: strh r5, [r4, #2580] @ movhi - b .L678 -.L707: + b .L679 +.L708: ldr r1, [r4, #3348] ldrh r3, [r1] - cbz r3, .L709 -.L712: + cbz r3, .L710 +.L713: ldr r1, [r4, #148] ldrh r2, [r1] cmp r2, #0 - beq .L710 -.L711: + beq .L711 +.L712: ldrh r2, [r4, #3428] ldr r3, [r4, #128] cmp r2, r3 - bls .L742 + bls .L743 movw r2, #1388 - ldr r1, .L748 - ldr r0, .L748+4 + ldr r1, .L749 + ldr r0, .L749+4 bl sftl_printk -.L742: +.L743: movs r0, #0 add sp, sp, #20 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L709: +.L710: ldrh r2, [r4, #3428] cmp r2, #0 - beq .L712 + beq .L713 ldr r0, [r4, #128] -.L713: +.L714: sxth r2, r3 cmp r2, r0 - bcs .L712 + bcs .L713 ldrh r5, [r1, r2, lsl #1] adds r3, r3, #1 cmp r5, #0 - beq .L713 + beq .L714 mov r3, r2 movs r5, #0 -.L714: +.L715: ldr r1, [r4, #128] cmp r3, r1 - bcs .L712 + bcs .L713 ldr r1, [r4, #3348] subs r0, r3, r2 ldrh r6, [r1, r3, lsl #1] @@ -5277,26 +5283,26 @@ FtlScanSysBlk: strh r5, [r1, r3, lsl #1] @ movhi adds r3, r3, #1 sxth r3, r3 - b .L714 -.L710: + b .L715 +.L711: ldrh r3, [r4, #144] cmp r3, #0 - beq .L711 + beq .L712 ldrh r0, [r4, #120] -.L719: +.L720: sxth r3, r2 cmp r3, r0 mov r5, r3 - bge .L711 + bge .L712 ldrh r6, [r1, r3, lsl #1] adds r2, r2, #1 cmp r6, #0 - beq .L719 + beq .L720 movs r0, #0 -.L720: +.L721: ldrh r2, [r4, #120] cmp r3, r2 - bge .L711 + bge .L712 ldr r2, [r4, #148] subs r1, r3, r5 ldrh r6, [r2, r3, lsl #1] @@ -5308,10 +5314,10 @@ FtlScanSysBlk: strh r0, [r2, r3, lsl #1] @ movhi adds r3, r3, #1 sxth r3, r3 - b .L720 -.L749: + b .L721 +.L750: .align 2 -.L748: +.L749: .word .LANCHOR1+231 .word .LC1 .fnend @@ -5330,7 +5336,7 @@ FtlLoadBbt: push {r4, r5, r6, r7, r8, lr} .save {r4, r5, r6, r7, r8, lr} movw r8, #61649 - ldr r4, .L779 + ldr r4, .L780 ldr r3, [r4, #3292] addw r7, r4, #3444 ldr r6, [r4, #3324] @@ -5340,11 +5346,11 @@ FtlLoadBbt: ldrh r5, [r4, #98] subs r5, r5, #1 uxth r5, r5 -.L751: +.L752: ldrh r3, [r4, #98] subs r3, r3, #16 cmp r5, r3 - ble .L754 + ble .L755 lsls r3, r5, #10 movs r2, #1 mov r1, r2 @@ -5353,7 +5359,7 @@ FtlLoadBbt: bl FlashReadPages ldr r3, [r4, #3444] adds r3, r3, #1 - bne .L752 + bne .L753 ldr r3, [r4, #3448] movs r2, #1 mov r1, r2 @@ -5361,50 +5367,50 @@ FtlLoadBbt: adds r3, r3, #1 str r3, [r4, #3448] bl FlashReadPages -.L752: +.L753: ldr r3, [r4, #3444] adds r3, r3, #1 - beq .L753 + beq .L754 ldrh r3, [r6] cmp r3, r8 - bne .L753 + bne .L754 ldr r3, [r6, #4] strh r5, [r4, #152] @ movhi str r3, [r4, #160] ldrh r3, [r6, #8] strh r3, [r4, #156] @ movhi -.L754: +.L755: ldrh r3, [r4, #152] movw r2, #65535 cmp r3, r2 - beq .L768 + beq .L769 ldrh r3, [r4, #156] cmp r3, r2 - beq .L758 + beq .L759 lsls r3, r3, #10 movs r2, #1 mov r1, r2 - ldr r0, .L779+4 + ldr r0, .L780+4 str r3, [r4, #3448] bl FlashReadPages ldr r3, [r4, #3444] adds r3, r3, #1 - beq .L758 + beq .L759 ldrh r2, [r6] movw r3, #61649 cmp r2, r3 - bne .L758 + bne .L759 ldr r3, [r6, #4] ldr r2, [r4, #160] cmp r3, r2 - bls .L758 + bls .L759 ldrh r2, [r4, #156] str r3, [r4, #160] ldrh r3, [r6, #8] strh r2, [r4, #152] @ movhi strh r3, [r4, #156] @ movhi -.L758: - ldr r7, .L779+4 +.L759: + ldr r7, .L780+4 movs r1, #1 ldrh r0, [r4, #152] movw r8, #61649 @@ -5412,44 +5418,44 @@ FtlLoadBbt: sxth r5, r0 adds r0, r0, #1 strh r0, [r4, #154] @ movhi -.L760: +.L761: cmp r5, #0 - bge .L763 + bge .L764 movs r2, #253 - ldr r1, .L779+8 - ldr r0, .L779+12 + ldr r1, .L780+8 + ldr r0, .L780+12 bl sftl_printk -.L762: +.L763: ldrh r3, [r6, #10] ldrh r0, [r6, #12] strh r3, [r4, #158] @ movhi movw r3, #65535 cmp r0, r3 - beq .L765 + beq .L766 ldr r2, [r4, #28] cmp r0, r2 - beq .L765 + beq .L766 ldrh r3, [r4, #42] lsrs r3, r3, #2 cmp r2, r3 - bcs .L765 + bcs .L766 cmp r0, r3 - bcs .L765 + bcs .L766 bl FtlSysBlkNumInit -.L765: - ldr r6, .L779+16 - movs r5, #0 .L766: + ldr r6, .L780+16 + movs r5, #0 +.L767: ldrh r3, [r4, #54] cmp r5, r3 - bcc .L767 + bcc .L768 movs r0, #0 pop {r4, r5, r6, r7, r8, pc} -.L753: +.L754: subs r5, r5, #1 uxth r5, r5 - b .L751 -.L763: + b .L752 +.L764: ldrh r3, [r4, #152] movs r2, #1 mov r1, r2 @@ -5461,15 +5467,15 @@ FtlLoadBbt: bl FlashReadPages ldr r3, [r4, #3444] adds r3, r3, #1 - beq .L761 + beq .L762 ldrh r3, [r6] cmp r3, r8 - beq .L762 -.L761: + beq .L763 +.L762: subs r5, r5, #1 sxth r5, r5 - b .L760 -.L767: + b .L761 +.L768: ldrh r2, [r4, #3380] ldr r1, [r4, #3452] ldr r0, [r6, #4]! @@ -5477,13 +5483,13 @@ FtlLoadBbt: mla r1, r5, r2, r1 adds r5, r5, #1 bl ftl_memcpy - b .L766 -.L768: + b .L767 +.L769: mov r0, #-1 pop {r4, r5, r6, r7, r8, pc} -.L780: +.L781: .align 2 -.L779: +.L780: .word .LANCHOR0 .word .LANCHOR0+3444 .word .LANCHOR1+245 @@ -5505,7 +5511,7 @@ FtlLoadSysInfo: push {r3, r4, r5, r6, r7, lr} .save {r3, r4, r5, r6, r7, lr} movs r1, #0 - ldr r4, .L802 + ldr r4, .L803 ldr r3, [r4, #3292] ldrh r2, [r4, #40] ldr r0, [r4, #2324] @@ -5517,39 +5523,39 @@ FtlLoadSysInfo: ldrh r0, [r4, #2576] movw r3, #65535 cmp r0, r3 - bne .L782 -.L790: + bne .L783 +.L791: mov r0, #-1 pop {r3, r4, r5, r6, r7, pc} -.L782: - ldr r7, .L802+4 +.L783: + ldr r7, .L803+4 movs r1, #1 addw r6, r4, #3444 bl FtlGetLastWrittenPage sxth r5, r0 adds r0, r0, #1 strh r0, [r4, #2578] @ movhi -.L784: +.L785: cmp r5, #0 - bge .L787 + bge .L788 mov r2, #1448 - ldr r1, .L802+8 - ldr r0, .L802+12 + ldr r1, .L803+8 + ldr r0, .L803+12 bl sftl_printk -.L786: +.L787: ldrh r3, [r4, #40] ldrh r2, [r4, #110] adds r3, r3, #24 cmp r2, r3, lsl #1 - bcs .L789 + bcs .L790 movw r2, #1450 - ldr r1, .L802+8 - ldr r0, .L802+12 + ldr r1, .L803+8 + ldr r0, .L803+12 bl sftl_printk -.L789: +.L790: movs r2, #48 ldr r1, [r4, #3452] - ldr r0, .L802+16 + ldr r0, .L803+16 bl ftl_memcpy ldrh r2, [r4, #40] ldr r1, [r4, #3452] @@ -5568,15 +5574,15 @@ FtlLoadSysInfo: add r1, r1, r3 bl ftl_memcpy ldr r2, [r4, #2268] - ldr r3, .L802+4 + ldr r3, .L803+4 cmp r2, r3 - bne .L790 + bne .L791 ldrb r2, [r4, #2278] @ zero_extendqisi2 ldrh r3, [r4, #54] ldrh r5, [r4, #2276] cmp r2, r3 strh r5, [r4, #2582] @ movhi - bne .L790 + bne .L791 ldrh r3, [r4, #102] ldrh r2, [r4, #58] ldr r6, [r4, #44] @@ -5592,12 +5598,12 @@ FtlLoadSysInfo: bl __aeabi_uidiv cmp r5, r6 strh r0, [r4, #2572] @ movhi - bls .L791 + bls .L792 mov r2, #1472 - ldr r1, .L802+8 - ldr r0, .L802+12 + ldr r1, .L803+8 + ldr r0, .L803+12 bl sftl_printk -.L791: +.L792: ldrh r3, [r4, #2284] ldrh r1, [r4, #2282] lsrs r2, r3, #6 @@ -5652,34 +5658,34 @@ FtlLoadSysInfo: strhi r3, [r4, #2544] movw r3, #65535 cmp r1, r3 - beq .L794 - ldr r0, .L802+20 - bl make_superblock -.L794: - ldrh r2, [r4, #2396] - movw r3, #65535 - cmp r2, r3 beq .L795 - ldr r0, .L802+24 + ldr r0, .L803+20 bl make_superblock .L795: - ldrh r2, [r4, #2444] + ldrh r2, [r4, #2396] movw r3, #65535 cmp r2, r3 beq .L796 - ldr r0, .L802+28 + ldr r0, .L803+24 bl make_superblock .L796: - ldrh r2, [r4, #2588] + ldrh r2, [r4, #2444] movw r3, #65535 cmp r2, r3 beq .L797 - ldr r0, .L802+32 + ldr r0, .L803+28 bl make_superblock .L797: + ldrh r2, [r4, #2588] + movw r3, #65535 + cmp r2, r3 + beq .L798 + ldr r0, .L803+32 + bl make_superblock +.L798: movs r0, #0 pop {r3, r4, r5, r6, r7, pc} -.L787: +.L788: ldrh r3, [r4, #2576] movs r2, #1 mov r1, r2 @@ -5691,23 +5697,23 @@ FtlLoadSysInfo: bl FlashReadPages ldr r3, [r4, #3444] adds r3, r3, #1 - beq .L785 + beq .L786 ldr r3, [r4, #3292] ldr r3, [r3] cmp r3, r7 - bne .L785 + bne .L786 ldr r3, [r4, #3324] ldrh r2, [r3] movw r3, #61604 cmp r2, r3 - beq .L786 -.L785: + beq .L787 +.L786: subs r5, r5, #1 sxth r5, r5 - b .L784 -.L803: + b .L785 +.L804: .align 2 -.L802: +.L803: .word .LANCHOR0 .word 1179929683 .word .LANCHOR1+256 @@ -5734,7 +5740,7 @@ FlashProgPages: .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} .pad #52 sub sp, sp, #52 - ldr r6, .L840 + ldr r6, .L843 mov fp, r1 mov r4, r0 mov r5, r0 @@ -5746,43 +5752,50 @@ FlashProgPages: str r3, [sp] lsls r3, r3, #3 str r3, [sp, #4] -.L805: +.L806: cmp r10, fp - bne .L818 + bne .L820 ldr r3, [sp, #12] cmp r3, #0 - beq .L811 + beq .L814 movs r5, #0 - ldr r7, .L840+4 - ldr r8, .L840+24 - ldr r9, .L840+28 - b .L819 -.L818: + ldr r7, .L843+4 + ldr r8, .L843+24 + ldr r9, .L843+28 + b .L821 +.L820: ldr r3, [r5, #8] - cbz r3, .L806 + cbz r3, .L807 ldr r3, [r5, #12] - cbnz r3, .L807 -.L806: - movs r2, #136 - ldr r1, .L840+8 - ldr r0, .L840+12 - bl sftl_printk + cbnz r3, .L808 .L807: + movs r2, #140 + ldr r1, .L843+8 + ldr r0, .L843+12 + bl sftl_printk +.L808: add r2, sp, #20 add r1, sp, #24 mov r0, r5 bl l2p_addr_tran ldr r7, [sp, #20] - cbnz r7, .L808 + cmp r7, #3 + bls .L809 +.L842: + mov r3, #-1 + str r3, [r5] + b .L810 +.L809: + cbnz r7, .L811 ldr r3, [sp, #24] ldr r2, [sp, #4] cmp r2, r3 - bls .L808 - ldr r5, .L840+8 - ldr r6, .L840+16 - ldr r8, .L840+32 - b .L839 -.L810: + bls .L811 + ldr r5, .L843+8 + ldr r6, .L843+16 + ldr r8, .L843+32 + b .L841 +.L813: mov r3, #-1 ldr r2, [r4, #-16] str r3, [r4, #-20] @@ -5798,42 +5811,42 @@ FlashProgPages: movs r3, #4 ldr r1, [r4, #-8] mov r2, r3 - ldr r0, .L840+20 + ldr r0, .L843+20 bl rknand_print_hex -.L839: +.L841: cmp r7, fp add r4, r4, #20 - bne .L810 + bne .L813 bl dump_stack -.L811: +.L814: movs r0, #0 add sp, sp, #52 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L808: +.L811: ldr r1, [r5, #8] lsls r3, r1, #26 - beq .L825 + beq .L827 ldr r9, [r8, #3312] cmp r1, r9 - beq .L812 + beq .L815 ldrh r2, [r8, #58] mov r0, r9 lsls r2, r2, #9 bl ftl_memcpy -.L812: +.L815: ldr r3, [r5, #12] mov r2, r9 ldr r1, [sp, #24] ldrb r0, [sp, #20] @ zero_extendqisi2 ldr r7, [r8, #3252] blx r7 - cbnz r0, .L813 + cbnz r0, .L816 str r0, [r5] -.L814: +.L817: ldrh r3, [r8, #14] cmp r3, #4 - bne .L816 + bne .L810 ldr r0, [sp] add r2, r9, #2048 ldr r3, [r5, #12] @@ -5843,21 +5856,20 @@ FlashProgPages: add r1, r1, r0 ldrb r0, [sp, #20] @ zero_extendqisi2 blx r7 - cbz r0, .L816 - mov r3, #-1 - str r3, [r5] -.L816: + cmp r0, #0 + bne .L842 +.L810: add r10, r10, #1 adds r5, r5, #20 - b .L805 -.L825: + b .L806 +.L827: mov r9, r1 - b .L812 -.L813: + b .L815 +.L816: mov r3, #-1 str r3, [r5] - b .L814 -.L823: + b .L817 +.L825: ldr r2, [r6, #3312] movs r3, #0 movs r1, #1 @@ -5875,47 +5887,47 @@ FlashProgPages: bl FlashReadPages ldr fp, [sp, #28] cmp fp, #-1 - bne .L820 + bne .L822 ldr r1, [r4, #4] mov r0, r7 bl sftl_printk str fp, [r4] -.L820: +.L822: ldr r3, [r4, #12] - cbz r3, .L821 + cbz r3, .L823 ldr r2, [r3] ldr r3, [r6, #3320] ldr r3, [r3] cmp r2, r3 - beq .L821 + beq .L823 ldr r1, [r4, #4] mov r0, r8 bl sftl_printk mov r3, #-1 str r3, [r4] -.L821: +.L823: ldr r3, [r4, #8] - cbz r3, .L822 + cbz r3, .L824 ldr r2, [r3] ldr r3, [r6, #3312] ldr r3, [r3] cmp r2, r3 - beq .L822 + beq .L824 ldr r1, [r4, #4] mov r0, r9 bl sftl_printk mov r3, #-1 str r3, [r4] -.L822: +.L824: adds r5, r5, #1 adds r4, r4, #20 -.L819: +.L821: cmp r10, r5 - bne .L823 - b .L811 -.L841: + bne .L825 + b .L814 +.L844: .align 2 -.L840: +.L843: .word .LANCHOR0 .word .LC86 .word .LANCHOR1+271 @@ -5941,7 +5953,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, .L887 + ldr r4, .L890 mov r7, r1 mov r6, r10 mov r5, r10 @@ -5951,76 +5963,76 @@ FtlLowFormatEraseBlock: mov fp, r4 str r0, [sp, #4] str r0, [r4, #3276] -.L843: +.L846: ldrh r1, [r4, #32] uxth r3, r10 cmp r1, r3 - bhi .L848 + bhi .L851 cmp r6, #0 - beq .L842 + beq .L845 mov r8, #0 mov r9, #20 mov r2, r6 movs r1, #0 ldr r0, [r4, #3260] bl FlashEraseBlocks -.L851: +.L854: uxth r3, r8 cmp r6, r3 - bhi .L853 + bhi .L856 cmp r7, #0 - beq .L870 + beq .L873 ldrh r3, [r4, #104] mov r10, #1 str r3, [sp, #8] -.L854: +.L857: mov r8, #0 mov fp, #20 -.L864: +.L867: mov r9, #0 mov r6, r9 -.L855: +.L858: ldrh r1, [r4, #32] uxth r3, r9 cmp r1, r3 - bhi .L859 - cbz r6, .L842 + bhi .L862 + cbz r6, .L845 mov r9, #0 movs r3, #1 mov r2, r10 mov r1, r6 ldr r0, [r4, #3260] bl FlashProgPages -.L861: +.L864: uxth r3, r9 cmp r6, r3 - bhi .L863 + bhi .L866 add r8, r8, #1 ldr r2, [sp, #8] uxth r3, r8 cmp r2, r3 - bhi .L864 + bhi .L867 mov r8, #0 mov r9, #20 -.L865: +.L868: uxth r3, r8 cmp r6, r3 - bhi .L867 + bhi .L870 ldr r3, [sp, #4] cmp r3, #63 - bls .L868 - cbz r7, .L842 -.L868: + bls .L871 + cbz r7, .L845 +.L871: mov r2, r6 mov r1, r10 ldr r0, [r4, #3260] bl FlashEraseBlocks -.L842: +.L845: mov r0, r5 add sp, sp, #20 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L848: +.L851: uxth r3, r10 ldr r0, [r4, #3260] movs r2, #0 @@ -6031,13 +6043,13 @@ FtlLowFormatEraseBlock: ldrb r0, [r3, #60] @ zero_extendqisi2 bl V2P_block mov r8, r0 - cbz r7, .L844 + cbz r7, .L847 bl IsBlkInVendorPart - cbnz r0, .L845 -.L844: + cbnz r0, .L848 +.L847: mov r0, r8 bl FtlBbmIsBadBlock - cbnz r0, .L846 + cbnz r0, .L849 ldr r1, [r4, #3260] lsl r3, r8, #10 ldr r0, [fp, #3328] @@ -6054,34 +6066,34 @@ FtlLowFormatEraseBlock: bic r3, r3, #3 add r3, r3, r0 str r3, [r1, #12] -.L845: +.L848: add r10, r10, #1 - b .L843 -.L846: + b .L846 +.L849: adds r5, r5, #1 uxth r5, r5 - b .L845 -.L853: + b .L848 +.L856: mul r3, r9, r8 ldr r2, [r4, #3260] adds r1, r2, r3 ldr r3, [r2, r3] adds r3, r3, #1 - bne .L852 + bne .L855 ldr r0, [r1, #4] adds r5, r5, #1 uxth r5, r5 ubfx r0, r0, #10, #16 bl FtlBbmMapBadBlock -.L852: +.L855: add r8, r8, #1 - b .L851 -.L870: + b .L854 +.L873: movs r3, #2 mov r10, r7 str r3, [sp, #8] - b .L854 -.L859: + b .L857 +.L862: uxth r3, r9 ldr r0, [r4, #3260] movs r2, #0 @@ -6092,16 +6104,16 @@ FtlLowFormatEraseBlock: ldrb r0, [r3, #60] @ zero_extendqisi2 bl V2P_block str r0, [sp, #12] - cbz r7, .L856 + cbz r7, .L859 bl IsBlkInVendorPart - cbnz r0, .L857 -.L856: + cbnz r0, .L860 +.L859: ldr r0, [sp, #12] bl FtlBbmIsBadBlock - cbnz r0, .L857 + cbnz r0, .L860 ldr r1, [r4, #3260] ldr r3, [sp, #12] - ldr r2, .L887 + ldr r2, .L890 mla r1, fp, r6, r1 ldr r0, [r2, #3308] add r3, r8, r3, lsl #10 @@ -6117,40 +6129,40 @@ FtlLowFormatEraseBlock: bic r3, r3, #3 add r3, r3, r0 str r3, [r1, #12] -.L857: +.L860: add r9, r9, #1 - b .L855 -.L863: + b .L858 +.L866: mul r3, fp, r9 ldr r2, [r4, #3260] adds r1, r2, r3 ldr r3, [r2, r3] - cbz r3, .L862 + cbz r3, .L865 ldr r0, [r1, #4] adds r5, r5, #1 uxth r5, r5 ubfx r0, r0, #10, #16 bl FtlBbmMapBadBlock -.L862: +.L865: add r9, r9, #1 - b .L861 -.L867: - cbz r7, .L866 + b .L864 +.L870: + cbz r7, .L869 mul r3, r9, r8 ldr r2, [r4, #3260] adds r1, r2, r3 ldr r3, [r2, r3] - cbnz r3, .L866 + cbnz r3, .L869 ldr r0, [r1, #4] movs r1, #1 ubfx r0, r0, #10, #16 bl FtlFreeSysBlkQueueIn -.L866: +.L869: add r8, r8, #1 - b .L865 -.L888: + b .L868 +.L891: .align 2 -.L887: +.L890: .word .LANCHOR0 .fnend .size FtlLowFormatEraseBlock, .-FtlLowFormatEraseBlock @@ -6172,14 +6184,14 @@ Ftl_write_map_blk_to_last_page: mov r4, r0 ldr r5, [r0, #12] cmp r3, r2 - bne .L890 + bne .L893 ldrh r3, [r0, #8] - cbz r3, .L891 + cbz r3, .L894 movw r2, #641 - ldr r1, .L899 - ldr r0, .L899+4 + ldr r1, .L902 + ldr r0, .L902+4 bl sftl_printk -.L891: +.L894: ldrh r3, [r4, #8] adds r3, r3, #1 strh r3, [r4, #8] @ movhi @@ -6191,14 +6203,14 @@ Ftl_write_map_blk_to_last_page: ldr r3, [r4, #28] adds r3, r3, #1 str r3, [r4, #28] -.L892: +.L895: movs r0, #0 pop {r3, r4, r5, r6, r7, pc} -.L890: +.L893: ldrh r6, [r5, r3, lsl #1] movs r1, #255 ldrh r3, [r0, #2] - ldr r5, .L899+8 + ldr r5, .L902+8 ldr r2, [r0, #28] ldr r7, [r0, #24] orr r3, r3, r6, lsl #10 @@ -6219,27 +6231,27 @@ Ftl_write_map_blk_to_last_page: bl ftl_memset movs r2, #0 mov r3, r2 -.L893: +.L896: ldrh r0, [r4, #6] uxth r1, r2 cmp r0, r1 - bhi .L895 + bhi .L898 movs r2, #1 movs r3, #0 mov r1, r2 - ldr r0, .L899+12 + ldr r0, .L902+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 .L892 -.L895: + b .L895 +.L898: uxth r1, r2 ldr r0, [r7, r1, lsl #2] cmp r6, r0, lsr #10 - bne .L894 + bne .L897 ldr r0, [r5, #3292] adds r3, r3, #1 uxth r3, r3 @@ -6248,12 +6260,12 @@ Ftl_write_map_blk_to_last_page: ldr r1, [r5, #3292] add r1, r1, r3, lsl #3 str r0, [r1, #4] -.L894: +.L897: adds r2, r2, #1 - b .L893 -.L900: + b .L896 +.L903: .align 2 -.L899: +.L902: .word .LANCHOR1+286 .word .LC1 .word .LANCHOR0 @@ -6274,13 +6286,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, .L925 + ldr r7, .L928 mov r8, r1 mov r10, r2 movs r6, #0 - ldr r9, .L925+20 + ldr r9, .L928+20 mov r5, r7 -.L902: +.L905: ldr r3, [r7, #2524] adds r3, r3, #1 str r3, [r7, #2524] @@ -6288,33 +6300,33 @@ FtlMapWritePage: ldrh r2, [r4, #2] subs r3, r3, #1 cmp r2, r3 - bge .L903 + bge .L906 ldrh r2, [r4] movw r3, #65535 cmp r2, r3 - bne .L904 -.L903: + bne .L907 +.L906: mov r0, r4 bl Ftl_write_map_blk_to_last_page -.L904: +.L907: ldrh r2, [r4] ldr r3, [r4, #12] ldrh r3, [r3, r2, lsl #1] - cbnz r3, .L905 + cbnz r3, .L908 movw r2, #699 mov r1, r9 - ldr r0, .L925+4 + ldr r0, .L928+4 bl sftl_printk -.L905: +.L908: ldrh r2, [r4] ldrh r3, [r4, #10] cmp r2, r3 - bcc .L906 + bcc .L909 mov r2, #700 mov r1, r9 - ldr r0, .L925+4 + ldr r0, .L928+4 bl sftl_printk -.L906: +.L909: ldrh r2, [r4] movs r1, #16 ldr r3, [r4, #12] @@ -6328,7 +6340,7 @@ FtlMapWritePage: bl __memzero ldr r3, [r5, #3456] ldr r2, [r4, #28] - ldr r0, .L925+8 + ldr r0, .L928+8 strh r8, [r3, #8] @ movhi str r2, [r3, #4] ldrh r2, [r4, #4] @@ -6344,10 +6356,10 @@ FtlMapWritePage: strh r3, [r4, #2] @ movhi ldr r2, [r5, #3444] adds r1, r2, #1 - bne .L907 + bne .L910 ldr r1, [r5, #3448] adds r6, r6, #1 - ldr r0, .L925+12 + ldr r0, .L928+12 uxth r6, r6 bl sftl_printk ldrh r3, [r4, #2] @@ -6357,38 +6369,38 @@ FtlMapWritePage: addls r3, r3, #-1 strhls r3, [r4, #2] @ movhi cmp r6, #3 - bls .L909 + bls .L912 mov r2, r6 ldr r1, [r5, #3448] - ldr r0, .L925+16 + ldr r0, .L928+16 bl sftl_printk -.L910: - b .L910 -.L909: +.L913: + b .L913 +.L912: ldr r3, [r4, #32] cmp r3, #0 - beq .L902 -.L924: - b .L924 -.L907: + beq .L905 +.L927: + b .L927 +.L910: cmp r3, #1 - beq .L913 + beq .L916 cmp r2, #256 - beq .L913 + beq .L916 ldr r0, [r4, #36] - cbz r0, .L914 -.L913: + cbz r0, .L917 +.L916: movs r3, #0 str r3, [r4, #36] - b .L902 -.L914: + b .L905 +.L917: ldr r2, [r5, #3448] ldr r3, [r4, #24] str r2, [r3, r8, lsl #2] pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L926: +.L929: .align 2 -.L925: +.L928: .word .LANCHOR0 .word .LC1 .word .LANCHOR0+3444 @@ -6411,20 +6423,20 @@ load_l2p_region: push {r4, r5, r6, r7, r8, lr} .save {r4, r5, r6, r7, r8, lr} mov r6, r0 - ldr r4, .L934 + ldr r4, .L937 mov r8, r1 ldrh r3, [r4, #136] cmp r3, r0 - bcs .L928 + bcs .L931 movw r2, #485 - ldr r1, .L934+4 - ldr r0, .L934+8 + ldr r1, .L937+4 + ldr r0, .L937+8 bl sftl_printk -.L928: +.L931: ldr r3, [r4, #3368] movs r5, #12 ldr r7, [r3, r6, lsl #2] - cbnz r7, .L929 + cbnz r7, .L932 mul r5, r5, r8 ldr r3, [r4, #2492] ldrh r2, [r4, #110] @@ -6437,14 +6449,14 @@ load_l2p_region: ldr r3, [r4, #2492] add r5, r5, r3 str r7, [r5, #4] -.L930: +.L933: movs r0, #0 pop {r4, r5, r6, r7, r8, pc} -.L929: +.L932: mul r5, r5, r8 ldr r3, [r4, #2492] movs r2, #1 - ldr r0, .L934+12 + ldr r0, .L937+12 mov r1, r2 str r7, [r4, #3448] add r3, r3, r5 @@ -6456,54 +6468,54 @@ load_l2p_region: ldr r8, [r4, #3456] ldrh r3, [r8, #8] cmp r3, r6 - beq .L931 + beq .L934 mov r2, r7 mov r1, r6 - ldr r0, .L934+16 + ldr r0, .L937+16 bl sftl_printk movs r3, #4 ldr r1, [r4, #3456] mov r2, r3 - ldr r0, .L934+20 + ldr r0, .L937+20 bl rknand_print_hex ldrh r3, [r4, #136] movs r2, #4 ldr r1, [r4, #3368] - ldr r0, .L934+24 + ldr r0, .L937+24 bl rknand_print_hex -.L932: +.L935: ldrh r3, [r8, #8] cmp r3, r6 - beq .L933 + beq .L936 mov r2, #508 - ldr r1, .L934+4 - ldr r0, .L934+8 + ldr r1, .L937+4 + ldr r0, .L937+8 bl sftl_printk -.L933: +.L936: ldr r3, [r4, #2492] movs r1, #0 adds r2, r3, r5 str r1, [r2, #4] strh r6, [r3, r5] @ movhi - b .L930 -.L931: + b .L933 +.L934: ldr r3, [r4, #3444] cmp r3, #256 - bne .L932 + bne .L935 mov r2, r7 mov r1, r6 - ldr r0, .L934+28 + ldr r0, .L937+28 bl sftl_printk ldr r3, [r4, #2492] mov r1, r6 - ldr r0, .L934+32 + ldr r0, .L937+32 add r3, r3, r5 ldr r2, [r3, #8] bl FtlMapWritePage - b .L932 -.L935: + b .L935 +.L938: .align 2 -.L934: +.L937: .word .LANCHOR0 .word .LANCHOR1+333 .word .LC1 @@ -6535,16 +6547,16 @@ ftl_map_blk_gc: bl ftl_free_no_use_map_blk ldrh r3, [r4, #10] ldrh r2, [r4, #8] - ldr r5, .L952 + ldr r5, .L955 subs r3, r3, #5 cmp r2, r3 - blt .L937 + blt .L940 uxth r0, r0 ldrh r9, [r6, r0, lsl #1] cmp r9, #0 - beq .L937 + beq .L940 ldr r3, [r4, #32] - cbnz r3, .L937 + cbnz r3, .L940 movs r2, #1 str r2, [r4, #32] strh r3, [r6, r0, lsl #1] @ movhi @@ -6554,43 +6566,43 @@ ftl_map_blk_gc: strh r3, [r4, #8] @ movhi ldrh r3, [r5, #104] cmp r2, r3 - bcc .L938 + bcc .L941 mov r0, r4 bl ftl_map_blk_alloc_new_blk -.L938: +.L941: movs r6, #0 -.L939: +.L942: ldrh r2, [r4, #6] uxth fp, r6 cmp r2, fp - bhi .L946 + bhi .L949 movs r1, #1 mov r0, r9 bl FtlFreeSysBlkQueueIn movs r3, #0 str r3, [r4, #32] -.L937: +.L940: ldrh r2, [r4, #2] ldrh r3, [r5, #104] cmp r2, r3 - bcc .L947 + bcc .L950 mov r0, r4 bl ftl_map_blk_alloc_new_blk -.L947: +.L950: movs r0, #0 add sp, sp, #12 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L946: +.L949: 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 .L940 + bne .L943 ldr r2, [r5, #3296] ldr r8, [r5, #3324] - ldr r0, .L952+4 + ldr r0, .L955+4 str r2, [r5, #3452] str r8, [r5, #3456] ldr r2, [r10, r7, lsl #2] @@ -6600,39 +6612,39 @@ ftl_map_blk_gc: bl FlashReadPages ldrh r2, [r8, #8] cmp r2, fp - beq .L941 + beq .L944 movw r2, #611 - ldr r1, .L952+8 - ldr r0, .L952+12 + ldr r1, .L955+8 + ldr r0, .L955+12 bl sftl_printk -.L941: +.L944: ldr r2, [r5, #3444] adds r2, r2, #1 - bne .L942 -.L944: + bne .L945 +.L947: ldr r2, [sp, #4] movs r3, #0 str r3, [r2] -.L943: - b .L943 -.L942: +.L946: + b .L946 +.L945: ldrh r2, [r8, #8] cmp r2, fp - bne .L944 + bne .L947 ldrh r2, [r8] ldrh r3, [r4, #4] cmp r2, r3 - bne .L944 + bne .L947 ldr r2, [r5, #3452] mov r1, r7 mov r0, r4 bl FtlMapWritePage -.L940: +.L943: adds r6, r6, #1 - b .L939 -.L953: + b .L942 +.L956: .align 2 -.L952: +.L955: .word .LANCHOR0 .word .LANCHOR0+3444 .word .LANCHOR1+349 @@ -6660,7 +6672,7 @@ FtlMapTblRecovery: ldrh r10, [r0, #6] str r3, [sp, #4] ldr r3, [r0, #16] - ldr r5, .L981 + ldr r5, .L984 ldr r9, [r0, #12] lsl r2, r10, #2 str r3, [sp, #12] @@ -6684,14 +6696,14 @@ FtlMapTblRecovery: ldr r3, [sp, #8] add fp, r3, #-1 mov r3, r5 -.L955: +.L958: ldr r1, [sp, #8] sxth r2, r8 cmp r2, r1 - bge .L972 + bge .L975 cmp r2, fp lsl r7, r2, #1 - bne .L956 + bne .L959 ldrh r0, [r9, fp, lsl #1] movs r1, #1 bl FtlGetLastWrittenPage @@ -6699,27 +6711,27 @@ FtlMapTblRecovery: add r7, r7, r9 strh r8, [r4] @ movhi sxth r9, r0 - ldr r8, .L981+4 + ldr r8, .L984+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] -.L957: +.L960: sxth r2, fp cmp r2, r9 - blt .L959 -.L972: + blt .L962 +.L975: mov r0, r4 bl ftl_free_no_use_map_blk ldrh r2, [r4, #2] ldrh r3, [r5, #104] cmp r2, r3 - bne .L961 + bne .L964 mov r0, r4 bl ftl_map_blk_alloc_new_blk -.L961: +.L964: mov r0, r4 bl ftl_map_blk_gc mov r0, r4 @@ -6728,7 +6740,7 @@ FtlMapTblRecovery: add sp, sp, #28 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L959: +.L962: ldrh r1, [r7] mov r0, r8 orr r2, r2, r1, lsl #10 @@ -6738,10 +6750,10 @@ FtlMapTblRecovery: bl FlashReadPages ldr r2, [r5, #3444] adds r2, r2, #1 - beq .L958 + beq .L961 ldrh r2, [r6, #8] cmp r10, r2 - bls .L958 + bls .L961 ldrh r1, [r4, #4] ldrh r0, [r6] cmp r0, r1 @@ -6749,14 +6761,14 @@ FtlMapTblRecovery: ldreq r1, [r5, #3448] ldreq r3, [sp, #4] streq r1, [r3, r2, lsl #2] -.L958: +.L961: add fp, fp, #1 - b .L957 -.L956: + b .L960 +.L959: ldr r1, [r5, #3292] str r3, [sp, #20] add r3, r9, r7 - ldr r0, .L981+4 + ldr r0, .L984+4 str r1, [r5, #3452] ldrh r1, [r9, r2, lsl #1] ldrh r2, [r5, #104] @@ -6770,24 +6782,24 @@ FtlMapTblRecovery: ldr r2, [r5, #3444] ldr r3, [sp, #20] adds r2, r2, #1 - beq .L974 + beq .L977 ldrh r1, [r6] ldrh r2, [r4, #4] cmp r1, r2 - bne .L974 + bne .L977 ldrh r1, [r6, #8] movw r2, #64245 cmp r1, r2 - beq .L963 -.L974: + beq .L966 +.L977: movs r7, #0 -.L964: +.L967: ldrh r1, [r3, #104] sxth r2, r7 cmp r2, r1 - bge .L970 + bge .L973 ldr r1, [sp, #16] - ldr r0, .L981+4 + ldr r0, .L984+4 str r3, [sp, #20] ldrh r1, [r1] orr r2, r2, r1, lsl #10 @@ -6798,10 +6810,10 @@ FtlMapTblRecovery: ldr r3, [sp, #20] ldr r2, [r3, #3444] adds r2, r2, #1 - beq .L968 + beq .L971 ldrh r2, [r6, #8] cmp r10, r2 - bls .L968 + bls .L971 ldrh r0, [r6] ldrh r1, [r4, #4] cmp r0, r1 @@ -6809,37 +6821,37 @@ FtlMapTblRecovery: ldreq r1, [r3, #3448] ldreq r0, [sp, #4] streq r1, [r0, r2, lsl #2] -.L968: +.L971: adds r7, r7, #1 - b .L964 -.L963: + b .L967 +.L966: movs r0, #0 mov ip, #4 -.L965: +.L968: ldrh r1, [r5, #104] sxth r2, r0 subs r1, r1, #1 cmp r2, r1 - blt .L967 -.L970: + blt .L970 +.L973: add r8, r8, #1 - b .L955 -.L967: + b .L958 +.L970: ldr r7, [r5, #3292] ldr r1, [r7, r2, lsl #3] uxth lr, r1 cmp r10, lr - bls .L966 + bls .L969 add r2, ip, r2, lsl #3 ldr r2, [r7, r2] ldr r7, [sp, #4] str r2, [r7, lr, lsl #2] -.L966: +.L969: adds r0, r0, #1 - b .L965 -.L982: + b .L968 +.L985: .align 2 -.L981: +.L984: .word .LANCHOR0 .word .LANCHOR0+3444 .fnend @@ -6855,7 +6867,7 @@ FtlLoadVonderInfo: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r0, .L984 + ldr r0, .L987 push {r3, lr} .save {r3, lr} ldrh r3, [r0, #120] @@ -6878,9 +6890,9 @@ FtlLoadVonderInfo: bl FtlMapTblRecovery movs r0, #0 pop {r3, pc} -.L985: +.L988: .align 2 -.L984: +.L987: .word .LANCHOR0 .fnend .size FtlLoadVonderInfo, .-FtlLoadVonderInfo @@ -6898,13 +6910,13 @@ FtlLoadMapInfo: push {r3, lr} .save {r3, lr} bl FtlL2PDataInit - ldr r0, .L987 + ldr r0, .L990 bl FtlMapTblRecovery movs r0, #0 pop {r3, pc} -.L988: +.L991: .align 2 -.L987: +.L990: .word .LANCHOR0+3384 .fnend .size FtlLoadMapInfo, .-FtlLoadMapInfo @@ -6922,7 +6934,7 @@ flush_l2p_region: push {r3, r4, r5, lr} .save {r3, r4, r5, lr} movs r4, #12 - ldr r5, .L990 + ldr r5, .L993 muls r4, r0, r4 ldr r3, [r5, #2492] addw r0, r5, #3384 @@ -6937,9 +6949,9 @@ flush_l2p_region: bic r3, r3, #-2147483648 str r3, [r4, #4] pop {r3, r4, r5, pc} -.L991: +.L994: .align 2 -.L990: +.L993: .word .LANCHOR0 .fnend .size flush_l2p_region, .-flush_l2p_region @@ -6957,21 +6969,21 @@ log2phys: push {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} mov r9, r0 - ldr r4, .L1005 + ldr r4, .L1008 mov r5, r1 mov r7, r2 ldr r3, [r4, #2504] ldrh r10, [r4, #108] cmp r0, r3 - bcc .L993 + bcc .L996 movw r2, #811 - ldr r1, .L1005+4 - ldr r0, .L1005+8 + ldr r1, .L1008+4 + ldr r0, .L1008+8 bl sftl_printk -.L993: +.L996: ldr r3, [r4, #2504] cmp r9, r3 - bcs .L994 + bcs .L997 add r10, r10, #7 ldrh r2, [r4, #138] lsr r6, r9, r10 @@ -6979,10 +6991,10 @@ log2phys: movs r3, #0 uxth r6, r6 mov fp, #12 -.L995: +.L998: uxth r8, r3 cmp r8, r2 - bcc .L1000 + bcc .L1003 bl select_l2p_ram_region mul fp, fp, r0 ldr r3, [r4, #2492] @@ -6991,54 +7003,54 @@ log2phys: add r2, r3, fp movw r3, #65535 cmp r1, r3 - beq .L1001 + beq .L1004 ldr r3, [r2, #4] cmp r3, #0 - bge .L1001 + bge .L1004 bl flush_l2p_region -.L1001: +.L1004: mov r1, r8 mov r0, r6 bl load_l2p_region - b .L997 -.L994: + b .L1000 +.L997: mov r0, #-1 - cbnz r7, .L992 + cbnz r7, .L995 str r0, [r5] pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1000: +.L1003: adds r3, r3, #1 mla r0, fp, r3, r1 ldrh r0, [r0, #-12] cmp r0, r6 - bne .L995 -.L997: + bne .L998 +.L1000: movs r0, #1 movs r3, #12 lsl r0, r0, r10 subs r0, r0, #1 and r0, r0, r9 uxth r0, r0 - cbnz r7, .L998 + cbnz r7, .L1001 ldr r2, [r4, #2492] mla r3, r3, r8, r2 ldr r3, [r3, #8] ldr r3, [r3, r0, lsl #2] str r3, [r5] -.L999: +.L1002: ldr r2, [r4, #2492] movs r3, #12 mla r8, r3, r8, r2 ldr r3, [r8, #4] adds r2, r3, #1 - beq .L1003 + beq .L1006 adds r3, r3, #1 str r3, [r8, #4] -.L1003: +.L1006: movs r0, #0 -.L992: +.L995: pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L998: +.L1001: mul r3, r3, r8 ldr r2, [r4, #2492] ldr r1, [r5] @@ -7051,10 +7063,10 @@ log2phys: ldr r2, [r3, #4] orr r2, r2, #-2147483648 str r2, [r3, #4] - b .L999 -.L1006: + b .L1002 +.L1009: .align 2 -.L1005: +.L1008: .word .LANCHOR0 .word .LANCHOR1+364 .word .LC1 @@ -7075,41 +7087,41 @@ FtlReUsePrevPpa: .save {r4, r5, r6, r7, lr} .pad #12 mov r6, r0 - ldr r5, .L1017 + ldr r5, .L1020 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, .L1008 + cbnz r3, .L1011 ldr r4, [r5, #2340] - cbz r4, .L1009 + cbz r4, .L1012 ldr r1, [r5, #2316] mov ip, #6 - ldr r2, .L1017+4 + ldr r2, .L1020+4 movw lr, #65535 ldrh r0, [r5, #2344] subs r4, r4, r1 asrs r4, r4, #1 muls r4, r2, r4 uxth r4, r4 -.L1010: +.L1013: uxth r2, r3 cmp r0, r2 - bls .L1009 + bls .L1012 cmp r4, r7 - bne .L1011 + bne .L1014 mov r1, r4 - ldr r0, .L1017+8 + ldr r0, .L1020+8 bl List_remove_node ldrh r3, [r5, #2344] - cbnz r3, .L1012 + cbnz r3, .L1015 movw r2, #1699 - ldr r1, .L1017+12 - ldr r0, .L1017+16 + ldr r1, .L1020+12 + ldr r0, .L1020+16 bl sftl_printk -.L1012: +.L1015: ldrh r3, [r5, #2344] mov r0, r4 subs r3, r3, #1 @@ -7117,17 +7129,17 @@ FtlReUsePrevPpa: bl INSERT_DATA_LIST ldr r2, [r5, #2324] ldrh r3, [r2, r7, lsl #1] -.L1008: +.L1011: adds r3, r3, #1 strh r3, [r2, r7, lsl #1] @ movhi - b .L1009 -.L1011: + b .L1012 +.L1014: mul r4, ip, r4 adds r3, r3, #1 ldrh r4, [r1, r4] cmp r4, lr - bne .L1010 -.L1009: + bne .L1013 +.L1012: movs r2, #1 add r1, sp, #4 mov r0, r6 @@ -7135,9 +7147,9 @@ FtlReUsePrevPpa: add sp, sp, #12 @ sp needed pop {r4, r5, r6, r7, pc} -.L1018: +.L1021: .align 2 -.L1017: +.L1020: .word .LANCHOR0 .word -1431655765 .word .LANCHOR0+2340 @@ -7160,112 +7172,112 @@ ftl_check_vpc: .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} .pad #12 movs r4, #0 - ldr r6, .L1043 - ldr r7, .L1043+4 - ldr r1, .L1043+8 + ldr r6, .L1046 + ldr r7, .L1046+4 + ldr r1, .L1046+8 mov r5, r6 - ldr r0, .L1043+12 + ldr r0, .L1046+12 bl sftl_printk mov r1, #8192 - ldr r0, .L1043+4 + ldr r0, .L1046+4 bl __memzero -.L1020: +.L1023: ldr r3, [r6, #2504] cmp r4, r3 - bcc .L1022 - ldr r8, .L1043+4 + bcc .L1025 + ldr r8, .L1046+4 movs r4, #0 - ldr r10, .L1043+24 + ldr r10, .L1046+24 mov r7, r4 movw r9, #65535 -.L1023: +.L1026: ldrh r2, [r5, #40] uxth r3, r4 cmp r2, r3 - bhi .L1025 + bhi .L1028 ldr r4, [r5, #2340] - cbz r4, .L1026 + cbz r4, .L1029 ldr r3, [r5, #2316] movs r6, #0 ldrh r8, [r5, #2344] mov fp, #6 - ldr r9, .L1043+4 + ldr r9, .L1046+4 subs r4, r4, r3 - ldr r3, .L1043+16 + ldr r3, .L1046+16 asrs r4, r4, #1 - ldr r10, .L1043+28 + ldr r10, .L1046+28 muls r4, r3, r4 uxth r4, r4 -.L1027: +.L1030: uxth r3, r6 cmp r8, r3 - bls .L1026 + bls .L1029 ldr r3, [r5, #2324] ldrh r2, [r3, r4, lsl #1] - cbz r2, .L1028 + cbz r2, .L1031 movs r7, #1 ldrh r3, [r9, r4, lsl #1] mov r1, r4 mov r0, r10 bl sftl_printk -.L1028: +.L1031: mul r4, fp, r4 ldr r3, [r5, #2316] adds r6, r6, #1 ldrh r4, [r3, r4] movw r3, #65535 cmp r4, r3 - bne .L1027 -.L1026: - cbz r7, .L1019 + bne .L1030 +.L1029: + cbz r7, .L1022 movw r2, #2343 - ldr r1, .L1043+8 - ldr r0, .L1043+20 + ldr r1, .L1046+8 + ldr r0, .L1046+20 bl sftl_printk -.L1019: +.L1022: add sp, sp, #12 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1022: +.L1025: movs r2, #0 add r1, sp, #4 mov r0, r4 bl log2phys ldr r0, [sp, #4] adds r3, r0, #1 - beq .L1021 + beq .L1024 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 -.L1021: +.L1024: adds r4, r4, #1 - b .L1020 -.L1025: + b .L1023 +.L1028: ldr r3, [r5, #2324] uxth r6, r4 ldrh r2, [r3, r6, lsl #1] ldrh r3, [r8, r6, lsl #1] cmp r2, r3 - beq .L1024 + beq .L1027 mov r1, r6 mov r0, r10 bl sftl_printk ldr r3, [r5, #2324] ldrh r3, [r3, r6, lsl #1] cmp r3, r9 - beq .L1024 + beq .L1027 ldrh r2, [r8, r6, lsl #1] cmp r2, r3 it hi movhi r7, #1 -.L1024: +.L1027: adds r4, r4, #1 - b .L1023 -.L1044: + b .L1026 +.L1047: .align 2 -.L1043: +.L1046: .word .LANCHOR0 .word check_vpc_table .word .LANCHOR1+389 @@ -7290,42 +7302,42 @@ ftl_scan_all_data: push {r4, r5, r6, r7, r8, lr} .save {r4, r5, r6, r7, r8, lr} movs r5, #0 - ldr r6, .L1059 + ldr r6, .L1062 .pad #32 sub sp, sp, #32 movs r1, #0 - ldr r8, .L1059+16 + ldr r8, .L1062+16 mov r4, r6 - ldr r0, .L1059+4 + ldr r0, .L1062+4 bl sftl_printk -.L1046: +.L1049: ldr r3, [r6, #2504] cmp r5, r3 - bcc .L1052 + bcc .L1055 add sp, sp, #32 @ sp needed pop {r4, r5, r6, r7, r8, pc} -.L1052: +.L1055: movs r2, #0 add r1, sp, #28 mov r0, r5 bl log2phys ubfx r3, r5, #0, #11 - cbnz r3, .L1047 + cbnz r3, .L1050 ldr r2, [sp, #28] mov r1, r5 mov r0, r8 bl sftl_printk -.L1047: +.L1050: ldr r3, [sp, #28] adds r2, r3, #1 - beq .L1049 + beq .L1052 str r3, [r4, #3448] movs r2, #0 ldr r3, [r4, #3292] movs r1, #1 ldr r7, [r4, #3324] - ldr r0, .L1059+8 + ldr r0, .L1062+8 str r3, [r4, #3452] str r5, [r4, #3460] str r7, [r4, #3456] @@ -7333,16 +7345,16 @@ ftl_scan_all_data: bl FlashReadPages ldr r3, [r4, #3444] cmp r3, #256 - beq .L1050 + beq .L1053 adds r3, r3, #1 - beq .L1050 + beq .L1053 ldr r3, [r7, #8] cmp r5, r3 - beq .L1049 -.L1050: + beq .L1052 +.L1053: ldr r2, [r4, #3452] ldr r3, [r4, #3456] - ldr r0, .L1059+12 + ldr r0, .L1062+12 ldr r1, [r2, #4] str r1, [sp, #16] mov r1, r5 @@ -7357,12 +7369,12 @@ ftl_scan_all_data: ldr r3, [r3] ldr r2, [r4, #3448] bl sftl_printk -.L1049: +.L1052: adds r5, r5, #1 - b .L1046 -.L1060: + b .L1049 +.L1063: .align 2 -.L1059: +.L1062: .word .LANCHOR0 .word .LC98 .word .LANCHOR0+3444 @@ -7381,67 +7393,67 @@ FtlGcScanTempBlk: .fnstart @ args = 0, pretend = 0, frame = 48 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L1093 + ldr r3, .L1099 push {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} .pad #52 sub sp, sp, #52 - mov r4, r0 + mov r5, r0 str r1, [sp, #12] ldrh r6, [r3, #4] movw r3, #65535 cmp r6, r3 - beq .L1087 - cbnz r6, .L1062 -.L1063: + beq .L1091 + cbnz r6, .L1065 +.L1066: bl FtlGcPageVarInit - b .L1064 -.L1087: + b .L1067 +.L1091: movs r6, #0 -.L1062: - ldr r3, .L1093+4 +.L1065: + ldr r3, .L1099+4 ldr r2, [sp, #12] ldrh r3, [r3, #102] cmp r3, r2 - beq .L1063 -.L1064: + beq .L1066 +.L1067: movw r9, #65535 movs r3, #0 str r3, [sp, #4] -.L1065: +.L1068: movs r3, #0 - strb r3, [r4, #8] - ldrh r3, [r4] + strb r3, [r5, #8] + ldrh r3, [r5] cmp r3, r9 - beq .L1066 - ldr r5, .L1093+4 -.L1084: - ldr r3, [r5, #3280] + beq .L1069 + ldr r4, .L1099+4 +.L1088: + ldr r3, [r4, #3280] movs r2, #0 - ldrh ip, [r5, #32] - add lr, r4, #16 - ldrh fp, [r5, #110] + ldrh ip, [r4, #32] + add lr, r5, #16 + ldrh fp, [r4, #110] mov r7, r2 str r3, [sp, #8] mov r8, #20 - ldr r3, [r5, #3172] - ldr r10, [r5, #3176] + ldr r3, [r4, #3172] + ldr r10, [r4, #3176] str r3, [sp, #16] - ldrh r3, [r5, #112] + ldrh r3, [r4, #112] str r3, [sp, #20] -.L1067: +.L1070: uxth r3, r2 cmp ip, r3 - bhi .L1071 + bhi .L1074 mov fp, #0 movs r2, #0 mov r1, r7 ldr r0, [sp, #8] bl FlashReadPages -.L1072: +.L1075: uxth r3, fp cmp r7, r3 - bhi .L1082 + bhi .L1086 ldr r3, [sp, #4] adds r6, r6, #1 uxth r6, r6 @@ -7450,26 +7462,26 @@ FtlGcScanTempBlk: ldr r2, [sp, #4] ldr r3, [sp, #12] cmp r3, r2 - bls .L1083 -.L1085: - ldrh r3, [r5, #102] + bls .L1087 +.L1089: + ldrh r3, [r4, #102] cmp r3, r6 - bhi .L1084 -.L1066: - ldr r3, .L1093 + bhi .L1088 +.L1069: + ldr r3, .L1099 movw r2, #65535 - strh r6, [r4, #2] @ movhi + strh r6, [r5, #2] @ movhi mov r1, r6 - mov r0, r4 + mov r0, r5 strh r2, [r3, #4] @ movhi movs r2, #0 - strb r2, [r4, #6] + strb r2, [r5, #6] bl ftl_sb_update_avl_pages - b .L1086 -.L1071: + b .L1090 +.L1074: ldrh r3, [lr], #2 cmp r3, r9 - beq .L1068 + beq .L1071 ldr r1, [sp, #8] orr r3, r6, r3, lsl #10 mla r1, r8, r7, r1 @@ -7492,108 +7504,109 @@ FtlGcScanTempBlk: str r0, [r1, #8] add r3, r3, r10 str r3, [r1, #12] -.L1068: +.L1071: adds r2, r2, #1 - b .L1067 -.L1082: + b .L1070 +.L1086: movs r3, #20 - ldr r1, [r5, #3280] + ldr r1, [r4, #3280] mul r3, r3, fp adds r2, r1, r3 ldr r8, [r1, r3] ldr r0, [r2, #4] str r0, [sp, #8] cmp r8, #0 - bne .L1073 + bne .L1076 ldr r10, [r2, #12] ldrh r2, [r10] cmp r2, r9 - bne .L1074 - ldrh r2, [r4] - ldr r3, [r5, #2324] - strh r8, [r3, r2, lsl #1] @ movhi -.L1092: - ldrh r0, [r4] + bne .L1077 +.L1076: + ldrh r2, [r5] + movs r1, #0 + ldr r3, [r4, #2324] movs r6, #0 + strh r1, [r3, r2, lsl #1] @ movhi + ldrh r0, [r5] bl INSERT_FREE_LIST - strh r9, [r4] @ movhi + strh r9, [r5] @ movhi bl FtlGcPageVarInit - b .L1065 -.L1074: - mov r2, r8 - add r1, sp, #24 + b .L1068 +.L1077: ldr r0, [r10, #8] + ldr r2, [r4, #2504] str r3, [sp, #16] + cmp r0, r2 + bhi .L1076 + mov r2, r8 + add r1, sp, #24 bl log2phys ldr r2, [r10, #12] ldr r1, [sp, #24] ldr r3, [sp, #16] cmp r2, r1 - beq .L1076 -.L1080: + beq .L1080 +.L1081: ldr r2, [r10, #8] add fp, fp, #1 ldr r1, [sp, #8] ldr r0, [r10, #12] bl FtlGcUpdatePage - b .L1072 -.L1076: + b .L1075 +.L1080: + str r3, [sp, #16] + adds r3, r2, #1 + beq .L1081 str r2, [sp, #32] movs r1, #1 - ldr r2, [r5, #3308] + ldr r2, [r4, #3308] add r0, sp, #28 - str r3, [sp, #16] str r2, [sp, #36] - ldr r2, [r5, #3328] + ldr r2, [r4, #3328] str r2, [sp, #40] mov r2, r8 bl FlashReadPages - ldrh r2, [r5, #58] - ldr r1, [r5, #3280] + ldrh r2, [r4, #58] + ldr r1, [r4, #3280] ldr r3, [sp, #16] ldr r0, [sp, #36] lsls r2, r2, #7 add ip, r3, r1 -.L1077: +.L1082: cmp r8, r2 - beq .L1080 + beq .L1081 ldr r1, [ip, #8] ldr r3, [r0, r8, lsl #2] ldr r1, [r1, r8, lsl #2] cmp r1, r3 - beq .L1078 + beq .L1083 ldr r2, [sp, #32] - ldrh r1, [r4] - ldr r0, .L1093+8 + ldrh r1, [r5] + ldr r0, .L1099+8 bl sftl_printk -.L1073: - ldrh r2, [r4] - movs r1, #0 - ldr r3, [r5, #2324] - strh r1, [r3, r2, lsl #1] @ movhi - b .L1092 -.L1078: - add r8, r8, #1 - b .L1077 + b .L1076 .L1083: - ldr r2, .L1093 + add r8, r8, #1 + b .L1082 +.L1087: + ldr r2, .L1099 ldrh r3, [r2, #4] cmp r3, r9 - beq .L1085 + beq .L1089 ldr r1, [sp, #4] add r3, r3, r1 strh r3, [r2, #4] @ movhi - ldrh r3, [r5, #102] + ldrh r3, [r4, #102] cmp r3, r6 - bls .L1085 -.L1086: + bls .L1089 +.L1090: mov r0, #-1 add sp, sp, #52 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1094: +.L1100: .align 2 -.L1093: +.L1099: .word .LANCHOR2 .word .LANCHOR0 .word .LC101 @@ -7610,7 +7623,7 @@ FtlReadRefresh: .fnstart @ args = 0, pretend = 0, frame = 88 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L1108 + ldr r3, .L1114 push {r4, r5, r6, lr} .save {r4, r5, r6, lr} .pad #88 @@ -7618,17 +7631,17 @@ FtlReadRefresh: mov r4, r3 ldr r0, [r3, #2716] cmp r0, #0 - beq .L1096 + beq .L1102 ldr r1, [r3, #2720] ldr r2, [r3, #2504] cmp r1, r2 - bcs .L1097 + bcs .L1103 mov r5, #2048 -.L1102: +.L1108: ldr r0, [r4, #2720] ldr r3, [r4, #2504] cmp r0, r3 - bcs .L1099 + bcs .L1105 movs r2, #0 mov r1, sp bl log2phys @@ -7637,7 +7650,7 @@ FtlReadRefresh: adds r1, r2, #1 add r3, r3, #1 str r3, [r4, #2720] - beq .L1100 + beq .L1106 str r3, [sp, #20] add r0, sp, #88 ldr r3, [r4, #3316] @@ -7651,54 +7664,54 @@ FtlReadRefresh: bl FlashReadPages ldr r3, [sp, #4] cmp r3, #256 - bne .L1099 + bne .L1105 ldr r0, [sp] ubfx r0, r0, #10, #16 bl P2V_block_in_plane bl FtlGcRefreshBlock -.L1099: +.L1105: mov r0, #-1 -.L1095: +.L1101: add sp, sp, #88 @ sp needed pop {r4, r5, r6, pc} -.L1100: +.L1106: subs r5, r5, #1 - bne .L1102 - b .L1099 -.L1097: + bne .L1108 + b .L1105 +.L1103: ldr r2, [r3, #2508] movs r0, #0 str r0, [r3, #2716] str r0, [r3, #2720] str r2, [r3, #2712] - b .L1095 -.L1096: + b .L1101 +.L1102: ldr r1, [r3, #2508] ldr r6, [r3, #2712] add r2, r1, #1048576 cmp r6, r2 - bhi .L1105 + bhi .L1111 ldr r2, [r3, #2564] lsrs r5, r2, #10 mov r2, #33554432 asrs r2, r2, r5 add r2, r2, r6 cmp r1, r2 - bhi .L1105 + bhi .L1111 ldrb r3, [r3, #2296] @ zero_extendqisi2 cmp r3, #0 - bne .L1095 -.L1105: + bne .L1101 +.L1111: movs r3, #1 movs r0, #0 str r3, [r4, #2716] str r0, [r4, #2720] str r1, [r4, #2712] - b .L1095 -.L1109: + b .L1101 +.L1115: .align 2 -.L1108: +.L1114: .word .LANCHOR0 .fnend .size FtlReadRefresh, .-FtlReadRefresh @@ -7717,10 +7730,10 @@ FtlMapBlkWriteDump_data: .save {r4, r5, r6, lr} mov r6, r0 ldr r3, [r0, #36] - cbz r3, .L1110 + cbz r3, .L1116 ldrh r5, [r0, #6] movs r3, #0 - ldr r4, .L1114 + ldr r4, .L1120 ldr r2, [r0, #24] str r3, [r0, #36] subs r5, r5, #1 @@ -7731,27 +7744,27 @@ FtlMapBlkWriteDump_data: str r1, [r4, #3456] ldr r2, [r2, r5, lsl #2] str r2, [r4, #3448] - cbz r2, .L1112 + cbz r2, .L1118 movs r2, #1 addw r0, r4, #3444 mov r1, r2 bl FlashReadPages -.L1113: +.L1119: ldr r2, [r4, #3452] mov r1, r5 mov r0, r6 pop {r4, r5, r6, lr} b FtlMapWritePage -.L1112: +.L1118: ldrh r2, [r4, #110] movs r1, #255 bl ftl_memset - b .L1113 -.L1110: + b .L1119 +.L1116: pop {r4, r5, r6, pc} -.L1115: +.L1121: .align 2 -.L1114: +.L1120: .word .LANCHOR0 .fnend .size FtlMapBlkWriteDump_data, .-FtlMapBlkWriteDump_data @@ -7772,8 +7785,8 @@ FlashTestBlk: mov r4, r0 .pad #92 sub sp, sp, #92 - bls .L1118 - ldr r3, .L1119 + bls .L1124 + ldr r3, .L1125 add r0, sp, #24 movs r2, #32 movs r1, #165 @@ -7804,17 +7817,17 @@ FlashTestBlk: movne r4, #1 negs r4, r4 bl FlashEraseBlocks -.L1116: +.L1122: mov r0, r4 add sp, sp, #92 @ sp needed pop {r4, r5, pc} -.L1118: +.L1124: movs r4, #0 - b .L1116 -.L1120: + b .L1122 +.L1126: .align 2 -.L1119: +.L1125: .word .LANCHOR0 .fnend .size FlashTestBlk, .-FlashTestBlk @@ -7833,7 +7846,7 @@ FtlBbmTblFlush: .save {r4, r5, r6, r7, r8, r9, r10, lr} .pad #8 movs r5, #0 - ldr r4, .L1130 + ldr r4, .L1136 movs r1, #0 ldr r0, [r4, #3292] add r6, r4, #176 @@ -7842,15 +7855,15 @@ FtlBbmTblFlush: str r0, [r4, #3452] str r3, [r4, #3456] bl ftl_memset -.L1122: +.L1128: ldrh r3, [r4, #54] cmp r5, r3 - blt .L1123 + blt .L1129 ldr r6, [r4, #3456] movs r2, #16 movs r1, #255 - ldr r8, .L1130+12 - ldr r9, .L1130+16 + ldr r8, .L1136+12 + ldr r9, .L1136+16 movs r5, #0 mov r0, r6 mov r7, r5 @@ -7867,7 +7880,7 @@ FtlBbmTblFlush: strh r3, [r6, #10] @ movhi ldr r3, [r4, #28] strh r3, [r6, #12] @ movhi -.L1124: +.L1130: ldr r3, [r4, #3292] mov r10, #0 ldrh r2, [r4, #154] @@ -7887,7 +7900,7 @@ FtlBbmTblFlush: ldrh r2, [r4, #154] subs r3, r3, #1 cmp r2, r3 - blt .L1125 + blt .L1131 ldr r3, [r4, #160] ldrh r2, [r4, #152] ldr r0, [r4, #3260] @@ -7905,7 +7918,7 @@ FtlBbmTblFlush: str r3, [r4, #3448] str r3, [r0, #4] bl FlashEraseBlocks -.L1125: +.L1131: movs r3, #1 mov r0, r9 mov r2, r3 @@ -7916,21 +7929,21 @@ FtlBbmTblFlush: strh r3, [r4, #154] @ movhi ldr r3, [r4, #3444] adds r3, r3, #1 - bne .L1126 + bne .L1132 adds r5, r5, #1 ldr r1, [r4, #3448] uxth r5, r5 - ldr r0, .L1130+4 + ldr r0, .L1136+4 bl sftl_printk cmp r5, #3 - bls .L1124 + bls .L1130 mov r2, r5 ldr r1, [r4, #3448] - ldr r0, .L1130+8 + ldr r0, .L1136+8 bl sftl_printk -.L1128: - b .L1128 -.L1123: +.L1134: + b .L1134 +.L1129: ldrh r2, [r4, #3380] ldr r3, [r4, #3452] ldr r1, [r6, #4]! @@ -7939,20 +7952,20 @@ FtlBbmTblFlush: adds r5, r5, #1 add r0, r3, r0, lsl #2 bl ftl_memcpy - b .L1122 -.L1129: + b .L1128 +.L1135: movs r7, #1 - b .L1124 -.L1126: + b .L1130 +.L1132: cmp r7, #0 - beq .L1129 + beq .L1135 movs r0, #0 add sp, sp, #8 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, pc} -.L1131: +.L1137: .align 2 -.L1130: +.L1136: .word .LANCHOR0 .word .LC103 .word .LC104 @@ -7974,28 +7987,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, .L1168 + ldr r4, .L1174 .pad #20 sub sp, sp, #20 - ldr r9, .L1168+20 -.L1133: - ldr r3, .L1168 - ldr r2, .L1168 + ldr r9, .L1174+20 +.L1139: + ldr r3, .L1174 + ldr r2, .L1174 ldrh r3, [r3, #2344] ldrh r2, [r2, #2336] add r3, r3, r2 - ldr r2, .L1168 + ldr r2, .L1174 ldrh r2, [r2, #40] cmp r3, r2 - ble .L1134 + ble .L1140 movw r2, #2615 mov r1, r9 - ldr r0, .L1168+4 + ldr r0, .L1174+4 bl sftl_printk -.L1134: - ldr r3, .L1168+8 +.L1140: + ldr r3, .L1174+8 cmp r5, r3 - bne .L1160 + bne .L1166 ldrh r3, [r4, #2344] ldr r1, [r4, #3160] mul r2, r1, r3 @@ -8003,37 +8016,37 @@ allocate_data_superblock: adds r1, r1, #1 add r1, r1, r2, lsr #2 uxth r1, r1 - cbz r1, .L1135 + cbz r1, .L1141 subs r1, r1, #1 uxth r1, r1 -.L1135: - ldr r0, .L1168+12 +.L1141: + ldr r0, .L1174+12 bl List_pop_index_node ldrh r3, [r4, #2344] mov r6, r0 uxth r8, r0 - cbnz r3, .L1136 + cbnz r3, .L1142 mov r2, #2624 mov r1, r9 - ldr r0, .L1168+4 + ldr r0, .L1174+4 bl sftl_printk -.L1136: +.L1142: ldrh r3, [r4, #2344] subs r3, r3, #1 strh r3, [r4, #2344] @ movhi ldrh r3, [r4, #40] cmp r3, r8 - bls .L1133 + bls .L1139 ldr r3, [r4, #2324] uxth r6, r6 ldrh r7, [r3, r6, lsl #1] cmp r7, #0 - bne .L1133 + bne .L1139 strh r8, [r5] @ movhi mov r0, r5 bl make_superblock ldrb r3, [r5, #7] @ zero_extendqisi2 - cbnz r3, .L1138 + cbnz r3, .L1144 ldr r3, [r4, #2324] movw r2, #65535 mov r0, r8 @@ -8044,27 +8057,27 @@ allocate_data_superblock: add r3, r3, r2 ldrh r2, [r4, #40] cmp r3, r2 - ble .L1133 + ble .L1139 movw r2, #2638 mov r1, r9 - ldr r0, .L1168+4 + ldr r0, .L1174+4 bl sftl_printk - b .L1133 -.L1160: + b .L1139 +.L1166: movs r1, #0 - b .L1135 -.L1138: + b .L1141 +.L1144: ldrh r2, [r4, #2336] ldrh r3, [r4, #2344] add r3, r3, r2 ldrh r2, [r4, #40] cmp r3, r2 - ble .L1140 + ble .L1146 movw r2, #2641 mov r1, r9 - ldr r0, .L1168+4 + ldr r0, .L1174+4 bl sftl_printk -.L1140: +.L1146: ldr r1, [r4, #3260] mov r10, #20 ldrh r2, [r4, #32] @@ -8074,34 +8087,34 @@ allocate_data_superblock: mov r3, r1 mla r2, r10, r2, r1 str r2, [sp, #4] -.L1141: +.L1147: ldr r2, [sp, #4] cmp r2, r3 - bne .L1143 - cbnz r7, .L1144 + bne .L1149 + cbnz r7, .L1150 movw r2, #2652 mov r1, r9 - ldr r0, .L1168+4 + ldr r0, .L1174+4 bl sftl_printk -.L1144: +.L1150: ldrh r3, [r4, #2588] cmp r3, r8 - bne .L1145 + bne .L1151 movw r2, #2654 mov r1, r9 - ldr r0, .L1168+4 + ldr r0, .L1174+4 bl sftl_printk -.L1145: +.L1151: ldrb r3, [r5, #8] @ zero_extendqisi2 ldr r2, [r4, #2328] cmp r3, #0 - bne .L1146 + bne .L1152 ldrh r3, [r2, r6, lsl #1] cmp r3, #0 - beq .L1147 + beq .L1153 ldrh r1, [r4, #92] add r3, r3, r1 -.L1167: +.L1173: strh r3, [r2, r6, lsl #1] @ movhi movs r1, #0 ldr r3, [r4, #2548] @@ -8109,7 +8122,7 @@ allocate_data_superblock: adds r3, r3, #1 str r3, [r4, #2548] bl ftl_set_blk_mode -.L1149: +.L1155: ldr r3, [r4, #2328] ldr r2, [r4, #2564] ldrh r0, [r4, #92] @@ -8126,17 +8139,17 @@ allocate_data_superblock: ldr r1, [r4, #3260] str r0, [r4, #2556] ldr r3, [r2, #16] - ldr r0, .L1168+16 + ldr r0, .L1174+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 -.L1151: +.L1157: adds r3, r3, #20 cmp r2, r3 - bne .L1152 + bne .L1158 ldrb r1, [r5, #8] @ zero_extendqisi2 mov r2, r7 ldr r0, [r4, #3260] @@ -8144,42 +8157,42 @@ allocate_data_superblock: bl FlashEraseBlocks mov r3, r10 movs r1, #20 -.L1153: +.L1159: uxth r2, r10 cmp r7, r2 - bhi .L1155 + bhi .L1161 cmp r3, #0 - ble .L1156 + ble .L1162 mov r0, r8 bl update_multiplier_value bl FtlBbmTblFlush -.L1156: +.L1162: ldrb r2, [r5, #7] @ zero_extendqisi2 cmp r2, #0 - bne .L1157 + bne .L1163 ldr r3, [r4, #2324] movw r2, #65535 strh r2, [r3, r6, lsl #1] @ movhi - b .L1133 -.L1143: + b .L1139 +.L1149: str ip, [r3, #8] movw lr, #65535 str ip, [r3, #12] ldrh r2, [r0], #2 cmp r2, lr - beq .L1142 + beq .L1148 mla lr, r10, r7, r1 adds r7, r7, #1 lsls r2, r2, #10 uxth r7, r7 str r2, [lr, #4] -.L1142: +.L1148: adds r3, r3, #20 - b .L1141 -.L1147: + b .L1147 +.L1153: movs r3, #2 - b .L1167 -.L1146: + b .L1173 +.L1152: ldrh r3, [r2, r6, lsl #1] mov r0, r8 adds r3, r3, #1 @@ -8188,19 +8201,19 @@ allocate_data_superblock: adds r3, r3, #1 str r3, [r4, #2552] bl ftl_set_blk_mode.part.6 - b .L1149 -.L1152: + b .L1155 +.L1158: ldr r1, [r3, #-20] ands r1, r1, r0 str r1, [r3, #-20] - b .L1151 -.L1155: + b .L1157 +.L1161: mul r2, r1, r10 ldr r0, [r4, #3260] add ip, r0, r2 ldr r2, [r0, r2] adds r0, r2, #1 - bne .L1154 + bne .L1160 ldr r0, [ip, #4] adds r3, r3, #1 str r1, [sp, #12] @@ -8215,11 +8228,11 @@ allocate_data_superblock: ldrb r2, [r5, #7] @ zero_extendqisi2 subs r2, r2, #1 strb r2, [r5, #7] -.L1154: +.L1160: add r10, r10, #1 add fp, fp, #2 - b .L1153 -.L1157: + b .L1159 +.L1163: ldrh r3, [r4, #102] strh r8, [r5] @ movhi smulbb r3, r3, r2 @@ -8236,22 +8249,22 @@ allocate_data_superblock: ldrh r1, [r5] strh r3, [r2, r1, lsl #1] @ movhi ldrh r3, [r5, #4] - cbz r3, .L1158 + cbz r3, .L1164 ldrb r3, [r5, #7] @ zero_extendqisi2 - cbnz r3, .L1159 -.L1158: + cbnz r3, .L1165 +.L1164: movw r2, #2707 - ldr r1, .L1168+20 - ldr r0, .L1168+4 + ldr r1, .L1174+20 + ldr r0, .L1174+4 bl sftl_printk -.L1159: +.L1165: movs r0, #0 add sp, sp, #20 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1169: +.L1175: .align 2 -.L1168: +.L1174: .word .LANCHOR0 .word .LC1 .word .LANCHOR0+2444 @@ -8274,65 +8287,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, .L1182 + ldr r4, .L1188 ldrh r3, [r4, #3206] - cbz r3, .L1171 + cbz r3, .L1177 movs r7, #0 addw r10, r4, #3208 -.L1172: +.L1178: ldrh r2, [r4, #32] uxth r3, r7 cmp r2, r3 - bhi .L1178 + bhi .L1184 bl FtlGcReFreshBadBlk -.L1171: +.L1177: movs r0, #0 pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1178: +.L1184: uxtah r3, r4, r7 mov r1, r8 mov fp, #0 ldrb r0, [r3, #60] @ zero_extendqisi2 bl V2P_block mov r9, r0 -.L1173: +.L1179: ldrh r3, [r4, #3206] uxth r5, fp cmp r3, r5 - bhi .L1177 + bhi .L1183 adds r7, r7, #1 - b .L1172 -.L1177: + b .L1178 +.L1183: uxth r6, fp add r3, r4, r6, lsl #1 ldrh r3, [r3, #3208] cmp r3, r9 - bne .L1174 + bne .L1180 mov r1, r9 - ldr r0, .L1182+4 + ldr r0, .L1188+4 bl sftl_printk mov r0, r9 bl FtlBbmMapBadBlock bl FtlBbmTblFlush ldrh r1, [r4, #3206] add r3, r10, r6, lsl #1 -.L1175: +.L1181: cmp r5, r1 - bcc .L1176 + bcc .L1182 subs r1, r1, #1 strh r1, [r4, #3206] @ movhi -.L1174: +.L1180: add fp, fp, #1 - b .L1173 -.L1176: + b .L1179 +.L1182: ldrh r0, [r3, #2]! adds r5, r5, #1 uxth r5, r5 strh r0, [r3, #-2] @ movhi - b .L1175 -.L1183: + b .L1181 +.L1189: .align 2 -.L1182: +.L1188: .word .LANCHOR0 .word .LC105 .fnend @@ -8348,7 +8361,7 @@ update_vpc_list: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r2, .L1194 + ldr r2, .L1200 push {r3, r4, r5, lr} .save {r3, r4, r5, lr} mov r5, r0 @@ -8356,23 +8369,23 @@ update_vpc_list: ldr r3, [r2, #2324] ldrh r3, [r3, r0, lsl #1] cmp r3, #0 - bne .L1185 + bne .L1191 ldrh r1, [r2, #2588] cmp r1, r0 - bne .L1186 + bne .L1192 movw r3, #65535 strh r3, [r2, #2588] @ movhi -.L1187: +.L1193: mov r1, r5 - ldr r0, .L1194+4 + ldr r0, .L1200+4 bl List_remove_node ldrh r3, [r4, #2336] - cbnz r3, .L1189 + cbnz r3, .L1195 movw r2, #2777 - ldr r1, .L1194+8 - ldr r0, .L1194+12 + ldr r1, .L1200+8 + ldr r0, .L1200+12 bl sftl_printk -.L1189: +.L1195: ldrh r3, [r4, #2336] mov r0, r5 subs r3, r3, #1 @@ -8385,34 +8398,34 @@ update_vpc_list: add r3, r3, r2 ldrh r2, [r4, #40] cmp r3, r2 - ble .L1193 + ble .L1199 movw r2, #2780 - ldr r1, .L1194+8 - ldr r0, .L1194+12 + ldr r1, .L1200+8 + ldr r0, .L1200+12 bl sftl_printk -.L1193: +.L1199: movs r3, #1 - b .L1184 -.L1186: + b .L1190 +.L1192: ldrh r1, [r2, #2348] cmp r1, r0 - beq .L1184 + beq .L1190 ldrh r1, [r2, #2396] cmp r1, r0 - beq .L1184 + beq .L1190 ldrh r2, [r2, #2444] cmp r2, r0 - bne .L1187 -.L1184: + bne .L1193 +.L1190: mov r0, r3 pop {r3, r4, r5, pc} -.L1185: +.L1191: bl List_update_data_list movs r3, #0 - b .L1184 -.L1195: + b .L1190 +.L1201: .align 2 -.L1194: +.L1200: .word .LANCHOR0 .word .LANCHOR0+2320 .word .LANCHOR1+428 @@ -8435,42 +8448,42 @@ decrement_vpc_count: .save {r4, r5, r6, lr} cmp r0, r3 mov r4, r0 - ldr r5, .L1205 - beq .L1197 + ldr r5, .L1211 + beq .L1203 ldr r3, [r5, #2324] ldrh r2, [r3, r0, lsl #1] - cbnz r2, .L1198 + cbnz r2, .L1204 mov r1, r0 - ldr r0, .L1205+4 + ldr r0, .L1211+4 bl sftl_printk ldr r3, [r5, #2324] ldrh r6, [r3, r4, lsl #1] - cbz r6, .L1199 -.L1203: + cbz r6, .L1205 +.L1209: movs r6, #0 -.L1196: +.L1202: mov r0, r6 pop {r4, r5, r6, pc} -.L1199: +.L1205: movw r2, #2795 -.L1204: - ldr r1, .L1205+8 - ldr r0, .L1205+12 +.L1210: + ldr r1, .L1211+8 + ldr r0, .L1211+12 bl sftl_printk - b .L1196 -.L1198: + b .L1202 +.L1204: subs r2, r2, #1 strh r2, [r3, r0, lsl #1] @ movhi -.L1197: +.L1203: ldrh r0, [r5, #3430] movw r3, #65535 cmp r0, r3 - bne .L1201 + bne .L1207 strh r4, [r5, #3430] @ movhi - b .L1203 -.L1201: + b .L1209 +.L1207: cmp r4, r0 - beq .L1203 + beq .L1209 bl update_vpc_list ldr r2, [r5, #2316] adds r6, r0, #0 @@ -8480,20 +8493,20 @@ decrement_vpc_count: strh r4, [r5, #3430] @ movhi subs r3, r3, r2 asrs r2, r3, #1 - ldr r3, .L1205+16 + ldr r3, .L1211+16 muls r3, r2, r3 ldr r2, [r5, #2324] uxth r1, r3 ldrh r2, [r2, r1, lsl #1] cmp r2, #0 - bne .L1196 + bne .L1202 cmp r4, r1 - beq .L1196 + beq .L1202 movw r2, #2811 - b .L1204 -.L1206: + b .L1210 +.L1212: .align 2 -.L1205: +.L1211: .word .LANCHOR0 .word .LC106 .word .LANCHOR1+444 @@ -8520,9 +8533,9 @@ FtlRecoverySuperblock: sub sp, sp, #52 mov fp, r0 cmp r3, r2 - beq .L1331 + beq .L1337 ldrh r3, [r0, #2] - ldr r4, .L1338 + ldr r4, .L1344 str r3, [sp, #4] ldrb r3, [r0, #6] @ zero_extendqisi2 ldr r1, [sp, #4] @@ -8530,27 +8543,27 @@ FtlRecoverySuperblock: ldrh r3, [r4, #102] cmp r3, r1 mov r3, #0 - bne .L1210 + bne .L1216 strh r3, [r0, #4] @ movhi -.L1336: +.L1342: strb r3, [fp, #6] -.L1331: +.L1337: movs r0, #0 add sp, sp, #52 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1210: +.L1216: ldrh r0, [r0, #16] -.L1211: +.L1217: cmp r0, r2 uxth r6, r3 add r3, r3, #1 - beq .L1212 + beq .L1218 movs r1, #1 bl FtlGetLastWrittenPage adds r7, r0, #1 mov r5, r0 - beq .L1213 + beq .L1219 ldr r3, [r4, #3172] movs r2, #0 ldrh lr, [r4, #32] @@ -8566,11 +8579,11 @@ FtlRecoverySuperblock: add r3, fp, #16 mov ip, r3 str r3, [sp, #16] -.L1214: +.L1220: uxth r3, r2 cmp lr, r3 - bhi .L1220 - ldr r6, .L1338 + bhi .L1226 + ldr r6, .L1344 movs r2, #0 mov r1, r4 movw r9, #65535 @@ -8583,15 +8596,15 @@ FtlRecoverySuperblock: str r3, [sp] mov r7, r8 movs r3, #0 -.L1221: +.L1227: uxth r2, r3 cmp r4, r2 - bhi .L1226 - bne .L1224 + bhi .L1232 + bne .L1230 adds r3, r5, #1 uxth r3, r3 str r3, [sp, #12] -.L1332: +.L1338: ldr r0, [r8, #4] ubfx r0, r0, #10, #16 bl P2V_plane @@ -8599,56 +8612,56 @@ FtlRecoverySuperblock: ldr r2, [sp, #12] str r0, [sp, #8] cmp r3, r2 - bne .L1228 + bne .L1234 ldrh r3, [sp, #12] strh r3, [fp, #2] @ movhi movs r3, #0 strb r3, [fp, #6] strh r3, [fp, #4] @ movhi -.L1228: +.L1234: ldr r3, [sp, #12] ldr r2, [sp, #4] cmp r3, r2 - bne .L1229 + bne .L1235 ldr r3, [sp, #8] ldr r2, [sp, #20] cmp r3, r2 - bne .L1229 + bne .L1235 ldr r1, [sp, #12] mov r2, r3 -.L1337: +.L1343: mov r0, fp bl ftl_sb_update_avl_pages - b .L1331 -.L1212: + b .L1337 +.L1218: uxth r1, r3 adds r1, r1, #8 ldrh r0, [fp, r1, lsl #1] - b .L1211 -.L1213: + b .L1217 +.L1219: ldr r3, [sp, #4] - cbz r3, .L1215 + cbz r3, .L1221 movw r2, #1766 - ldr r1, .L1338+4 - ldr r0, .L1338+8 + ldr r1, .L1344+4 + ldr r0, .L1344+8 bl sftl_printk -.L1215: +.L1221: ldr r3, [sp, #20] - cbz r3, .L1216 + cbz r3, .L1222 cmp r6, r3 - beq .L1216 + beq .L1222 movw r2, #1767 - ldr r1, .L1338+4 - ldr r0, .L1338+8 + ldr r1, .L1344+4 + ldr r0, .L1344+8 bl sftl_printk -.L1216: +.L1222: movs r3, #0 strh r3, [fp, #2] @ movhi - b .L1336 -.L1220: + b .L1342 +.L1226: ldrh r3, [ip], #2 cmp r3, r9 - beq .L1217 + beq .L1223 mla r1, r10, r4, r0 orr r3, r5, r3, lsl #10 str r3, [r1, #4] @@ -8670,47 +8683,47 @@ FtlRecoverySuperblock: str r6, [r1, #8] add r3, r3, r8 str r3, [r1, #12] -.L1217: +.L1223: adds r2, r2, #1 - b .L1214 -.L1226: + b .L1220 +.L1232: ldr r2, [r7] - cbnz r2, .L1222 + cbnz r2, .L1228 ldr r10, [r7, #12] ldr r2, [r10, #4] adds r0, r2, #1 - beq .L1223 + beq .L1229 ldr r1, [r6, #2544] mov r0, r2 bl ftl_cmp_data_ver - cbz r0, .L1223 + cbz r0, .L1229 adds r2, r2, #1 str r2, [r6, #2544] -.L1223: +.L1229: ldr r2, [r10] adds r2, r2, #1 - bne .L1225 -.L1224: + bne .L1231 +.L1230: uxth r2, r5 uxth r3, r3 str r2, [sp, #12] movs r2, #20 mla r8, r2, r3, r8 - b .L1332 -.L1222: + b .L1338 +.L1228: ldr r9, [sp, #8] -.L1225: +.L1231: adds r3, r3, #1 adds r7, r7, #20 - b .L1221 -.L1229: + b .L1227 +.L1235: movw r3, #65535 cmp r9, r3 - bne .L1230 + bne .L1236 ldrb r3, [fp, #8] @ zero_extendqisi2 cmp r3, #0 - bne .L1231 -.L1230: + bne .L1237 +.L1236: ldr r3, [r6, #3440] uxth r7, r5 uxth r5, r5 @@ -8720,74 +8733,74 @@ FtlRecoverySuperblock: ldreq r3, [sp] streq r3, [r6, #3440] ldr r3, [sp, #4] - ldr r6, .L1338 + ldr r6, .L1344 adds r3, r3, #7 cmp r5, r3 itet gt subgt r4, r7, #7 ldrle r4, [sp, #4] uxthgt r4, r4 -.L1234: +.L1240: cmp r4, r7 - bhi .L1241 + bhi .L1247 movs r3, #0 ldrh lr, [r6, #32] ldr r0, [r6, #3280] mov r5, r3 ldr r1, [sp, #16] mov ip, #20 - b .L1242 -.L1236: + b .L1248 +.L1242: ldrh r2, [r1], #2 cmp r2, r8 - beq .L1235 + beq .L1241 mla r9, ip, r5, r0 adds r5, r5, #1 orr r2, r4, r2, lsl #10 uxth r5, r5 str r2, [r9, #4] -.L1235: +.L1241: adds r3, r3, #1 -.L1242: +.L1248: uxth r2, r3 cmp r2, lr - bcc .L1236 + bcc .L1242 movs r2, #0 mov r1, r5 bl FlashReadPages ldr r3, [r6, #3280] movs r2, #20 mla r5, r2, r5, r3 -.L1237: +.L1243: cmp r5, r3 - bne .L1240 + bne .L1246 adds r4, r4, #1 uxth r4, r4 - b .L1234 -.L1240: + b .L1240 +.L1246: ldr r2, [r3] - cbnz r2, .L1231 + cbnz r2, .L1237 ldr r2, [r3, #12] ldrh r1, [r2] cmp r1, r8 - beq .L1239 + beq .L1245 ldr r2, [r2, #4] adds r1, r2, #1 it ne strne r2, [r6, #3440] -.L1239: +.L1245: adds r3, r3, #20 - b .L1237 -.L1241: + b .L1243 +.L1247: mov r3, #-1 str r3, [r6, #3440] -.L1231: - ldr r10, .L1338 +.L1237: + ldr r10, .L1344 movs r3, #1 ldr r5, [sp, #4] mov r4, r10 strh r3, [r10, #3512] @ movhi -.L1243: +.L1249: ldrh r6, [r4, #32] movs r3, #0 ldr r0, [r4, #3280] @@ -8795,60 +8808,60 @@ FtlRecoverySuperblock: ldr r1, [sp, #16] movw r7, #65535 mov ip, #20 -.L1244: +.L1250: uxth r2, r3 cmp r6, r2 - bhi .L1246 + bhi .L1252 movs r2, #0 mov r1, r9 bl FlashReadPages movs r3, #0 -.L1335: +.L1341: str r3, [sp, #24] ldrh r3, [sp, #24] cmp r9, r3 - bhi .L1275 + bhi .L1281 adds r5, r5, #1 ldrh r3, [r4, #102] uxth r5, r5 cmp r3, r5 - bne .L1243 + bne .L1249 ldrh r2, [r4, #32] movw r0, #65535 movs r3, #0 strh r5, [fp, #2] @ movhi strh r3, [fp, #4] @ movhi -.L1276: +.L1282: uxth r1, r3 cmp r1, r2 - bcs .L1331 + bcs .L1337 ldr r1, [sp, #16] ldrh r4, [r1], #2 cmp r4, r0 str r1, [sp, #16] add r1, r3, #1 - bne .L1336 + bne .L1342 mov r3, r1 - b .L1276 -.L1246: + b .L1282 +.L1252: ldrh r2, [r1], #2 cmp r2, r7 - beq .L1245 + beq .L1251 mla lr, ip, r9, r0 orr r2, r5, r2, lsl #10 str r2, [lr, #4] add r2, r9, #1 uxth r9, r2 -.L1245: +.L1251: adds r3, r3, #1 - b .L1244 -.L1339: + b .L1250 +.L1345: .align 2 -.L1338: +.L1344: .word .LANCHOR0 .word .LANCHOR1+464 .word .LC1 -.L1275: +.L1281: ldr r3, [sp, #24] movs r7, #20 muls r7, r3, r7 @@ -8861,54 +8874,54 @@ FtlRecoverySuperblock: bl P2V_plane ldr r3, [sp, #4] cmp r5, r3 - bcc .L1248 + bcc .L1254 ldr r3, [sp, #28] - bne .L1249 + bne .L1255 ldr r2, [sp, #20] cmp r2, r0 - bhi .L1248 -.L1249: + bhi .L1254 +.L1255: ldr r2, [sp, #12] cmp r5, r2 - bne .L1250 + bne .L1256 ldr r2, [sp, #8] cmp r2, r0 - beq .L1251 -.L1250: + beq .L1257 +.L1256: ldr r3, [r3, r7] adds r3, r3, #1 - beq .L1252 + beq .L1258 ldr r8, [r8, #12] movw r3, #61589 ldrh r2, [r8] cmp r2, r3 - beq .L1253 + beq .L1259 ldrh r0, [fp] -.L1333: +.L1339: bl decrement_vpc_count - b .L1248 -.L1253: + b .L1254 +.L1259: ldr r3, [r8, #4] adds r6, r3, #1 str r3, [sp] - beq .L1254 + beq .L1260 ldr r1, [r4, #2544] mov r0, r3 bl ftl_cmp_data_ver - cbz r0, .L1254 + cbz r0, .L1260 ldr r3, [sp] adds r3, r3, #1 str r3, [r4, #2544] -.L1254: +.L1260: ldrh r2, [r8] movw r3, #61589 cmp r2, r3 - beq .L1255 + beq .L1261 movw r2, #1918 - ldr r1, .L1340 - ldr r0, .L1340+4 + ldr r1, .L1346 + ldr r0, .L1346+4 bl sftl_printk -.L1255: +.L1261: ldr r6, [r8, #8] add r1, sp, #40 ldr r3, [r8, #12] @@ -8918,14 +8931,14 @@ FtlRecoverySuperblock: bl log2phys ldr r1, [r4, #3440] adds r0, r1, #1 - beq .L1256 + beq .L1262 ldr r0, [sp] bl ftl_cmp_data_ver cmp r0, #0 - beq .L1256 + beq .L1262 ldr r3, [sp, #36] adds r2, r3, #1 - beq .L1257 + beq .L1263 ldr r0, [r4, #3280] movs r2, #0 movs r1, #1 @@ -8937,123 +8950,123 @@ FtlRecoverySuperblock: ldr r1, [r2, r7] adds r3, r2, r7 adds r1, r1, #1 - bne .L1258 -.L1259: + bne .L1264 +.L1265: mov r3, #-1 str r3, [sp, #36] -.L1266: +.L1272: ldr r0, [sp, #36] adds r1, r0, #1 - beq .L1248 -.L1279: + beq .L1254 +.L1285: ubfx r0, r0, #10, #16 bl P2V_block_in_plane ldrh r3, [r4, #40] mov r6, r0 cmp r3, r0 - bhi .L1271 + bhi .L1277 movw r2, #2019 - ldr r1, .L1340 - ldr r0, .L1340+4 + ldr r1, .L1346 + ldr r0, .L1346+4 bl sftl_printk -.L1271: +.L1277: ldr r3, [r10, #2324] ldrh r3, [r3, r6, lsl #1] cmp r3, #0 - beq .L1272 + beq .L1278 mov r0, r6 - b .L1333 -.L1257: + b .L1339 +.L1263: ldr r3, [sp, #44] ldr r2, [sp, #40] cmp r2, r3 - bne .L1248 + bne .L1254 movs r2, #1 add r1, sp, #36 mov r0, r6 bl log2phys -.L1248: +.L1254: ldr r3, [sp, #24] adds r3, r3, #1 - b .L1335 -.L1258: + b .L1341 +.L1264: ldr r1, [r8, #8] cmp r6, r1 - bne .L1259 + bne .L1265 ldr r1, [r8, #4] ldr r0, [r4, #3440] str r1, [sp, #28] bl ftl_cmp_data_ver cmp r0, #0 - beq .L1259 + beq .L1265 ldr r1, [sp, #40] ldr r0, [sp, #44] cmp r1, r0 - bne .L1261 -.L1264: + bne .L1267 +.L1270: ldr r1, [sp, #36] mov r0, r6 bl FtlReUsePrevPpa - b .L1259 -.L1261: + b .L1265 +.L1267: ldr r0, [sp, #36] cmp r1, r0 - beq .L1259 + beq .L1265 adds r0, r1, #1 - beq .L1262 + beq .L1268 str r1, [r3, #4] movs r2, #0 movs r1, #1 mov r0, r3 ldr r8, [r3, #12] bl FlashReadPages -.L1263: +.L1269: ldr r3, [r4, #3280] ldr r3, [r3, r7] adds r3, r3, #1 - beq .L1264 + beq .L1270 ldr r3, [r8, #4] ldr r0, [r4, #3440] mov r1, r3 bl ftl_cmp_data_ver cmp r0, #0 - beq .L1264 + beq .L1270 mov r1, r3 ldr r0, [sp, #28] bl ftl_cmp_data_ver cmp r0, #0 - beq .L1259 - b .L1264 -.L1262: + beq .L1265 + b .L1270 +.L1268: str r1, [r2, r7] - b .L1263 -.L1256: + b .L1269 +.L1262: ldr r3, [sp, #44] ldr r2, [sp, #40] cmp r2, r3 - beq .L1266 + beq .L1272 movs r2, #1 add r1, sp, #44 mov r0, r6 bl log2phys ldr r8, [sp, #40] cmp r8, #-1 - beq .L1266 + beq .L1272 ldr r3, [sp, #36] cmp r8, r3 - beq .L1269 + beq .L1275 ubfx r0, r8, #10, #16 bl P2V_block_in_plane ldrh r3, [r4, #2348] cmp r3, r0 - beq .L1270 + beq .L1276 ldrh r3, [r4, #2396] cmp r3, r0 - beq .L1270 + beq .L1276 ldrh r3, [r4, #2444] cmp r3, r0 - bne .L1266 -.L1270: + bne .L1272 +.L1276: ldr r0, [r10, #3280] movs r2, #0 movs r1, #1 @@ -9063,23 +9076,23 @@ FtlRecoverySuperblock: ldr r3, [r10, #3280] ldr r3, [r3] adds r3, r3, #1 - beq .L1266 + beq .L1272 ldr r1, [r7, #4] ldr r0, [sp] bl ftl_cmp_data_ver cmp r0, #0 - bne .L1266 + bne .L1272 movs r2, #1 add r1, sp, #40 mov r0, r6 bl log2phys - b .L1266 -.L1272: + b .L1272 +.L1278: mov r1, r6 - ldr r0, .L1340+8 + ldr r0, .L1346+8 bl sftl_printk - b .L1248 -.L1252: + b .L1254 +.L1258: ldr r3, [r4, #3516] cmp r3, #31 itttt ls @@ -9091,30 +9104,30 @@ FtlRecoverySuperblock: bl decrement_vpc_count ldr r3, [r4, #3440] adds r2, r3, #1 - bne .L1274 + bne .L1280 ldr r3, [sp] -.L1334: +.L1340: str r3, [r4, #3440] - b .L1248 -.L1274: + b .L1254 +.L1280: ldr r2, [sp] cmp r2, r3 - bcs .L1248 + bcs .L1254 mov r3, r2 - b .L1334 -.L1251: + b .L1340 +.L1257: ldrb r3, [sp, #8] @ zero_extendqisi2 mov r1, r5 strh r5, [fp, #2] @ movhi ldr r2, [sp, #8] strb r3, [fp, #6] - b .L1337 -.L1269: + b .L1343 +.L1275: mov r0, r8 - b .L1279 -.L1341: + b .L1285 +.L1347: .align 2 -.L1340: +.L1346: .word .LANCHOR1+464 .word .LC1 .word .LC107 @@ -9135,20 +9148,20 @@ FtlWriteDump_data: .save {r4, r5, r6, r7, r8, r9, r10, lr} .pad #24 sub sp, sp, #24 - ldr r4, .L1360 + ldr r4, .L1366 ldrh r2, [r4, #2352] cmp r2, #0 - beq .L1343 + beq .L1349 ldrb r3, [r4, #2356] @ zero_extendqisi2 cmp r3, #0 - bne .L1343 + bne .L1349 ldrb r1, [r4, #2355] @ zero_extendqisi2 ldrh r3, [r4, #102] muls r3, r1, r3 cmp r2, r3 - beq .L1343 + beq .L1349 ldrb r7, [r4, #2358] @ zero_extendqisi2 - cbnz r7, .L1342 + cbnz r7, .L1348 ldr r6, [r4, #2504] mov r2, r7 mov r1, sp @@ -9165,38 +9178,38 @@ FtlWriteDump_data: str r0, [sp, #12] str r5, [sp, #16] str r7, [r5, #4] - beq .L1345 + beq .L1351 mov r2, r7 movs r1, #1 add r0, sp, #4 bl FlashReadPages -.L1346: - ldr r9, .L1360+4 +.L1352: + ldr r9, .L1366+4 movs r7, #0 lsl r8, r8, #2 mov r10, r7 movw r3, #61589 strh r3, [r5] @ movhi -.L1347: +.L1353: cmp r8, r7 - bne .L1351 -.L1348: + bne .L1357 +.L1354: movs r3, #1 -.L1359: +.L1365: strb r3, [r4, #2358] -.L1342: +.L1348: add sp, sp, #24 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, pc} -.L1345: +.L1351: ldrh r2, [r4, #110] movs r1, #255 bl ftl_memset - b .L1346 -.L1351: + b .L1352 +.L1357: ldrh r3, [r4, #2352] cmp r3, #0 - beq .L1348 + beq .L1354 ldr r3, [sp, #8] mov r0, r9 str r6, [r5, #8] @@ -9220,13 +9233,13 @@ FtlWriteDump_data: bl FlashProgPages ldrh r0, [r4, #2348] bl decrement_vpc_count - b .L1347 -.L1343: + b .L1353 +.L1349: movs r3, #0 - b .L1359 -.L1361: + b .L1365 +.L1367: .align 2 -.L1360: +.L1366: .word .LANCHOR0 .word .LANCHOR0+2348 .fnend @@ -9245,30 +9258,30 @@ l2p_flush: push {r4, r5, r6, lr} .save {r4, r5, r6, lr} movs r4, #0 - ldr r5, .L1366 + ldr r5, .L1372 movs r6, #12 bl FtlWriteDump_data -.L1363: +.L1369: ldrh r3, [r5, #138] uxth r0, r4 cmp r3, r0 - bhi .L1365 + bhi .L1371 movs r0, #0 pop {r4, r5, r6, pc} -.L1365: +.L1371: ldr r2, [r5, #2492] uxth r3, r4 mla r3, r6, r3, r2 ldr r3, [r3, #4] cmp r3, #0 - bge .L1364 + bge .L1370 bl flush_l2p_region -.L1364: +.L1370: adds r4, r4, #1 - b .L1363 -.L1367: + b .L1369 +.L1373: .align 2 -.L1366: +.L1372: .word .LANCHOR0 .fnend .size l2p_flush, .-l2p_flush @@ -9287,7 +9300,7 @@ FtlSuperblockPowerLostFix: .save {r4, r5, r6, r7, r8, lr} .pad #24 sub sp, sp, #24 - ldr r5, .L1381 + ldr r5, .L1387 mov r3, #-1 movs r7, #0 movw r1, #61589 @@ -9316,10 +9329,10 @@ FtlSuperblockPowerLostFix: ite eq moveq r8, #6 movne r8, #7 -.L1374: +.L1380: ldrh r3, [r4, #4] - cbnz r3, .L1370 -.L1371: + cbnz r3, .L1376 +.L1377: ldr r2, [r5, #2324] ldrh r1, [r4] ldrh r0, [r4, #4] @@ -9334,12 +9347,12 @@ FtlSuperblockPowerLostFix: add sp, sp, #24 @ sp needed pop {r4, r5, r6, r7, r8, pc} -.L1370: +.L1376: mov r0, r4 bl get_new_active_ppa str r0, [sp, #8] adds r0, r0, #1 - beq .L1371 + beq .L1377 ldr r3, [r5, #2544] movs r1, #1 add r0, sp, #4 @@ -9355,11 +9368,11 @@ FtlSuperblockPowerLostFix: ldrh r0, [r4] bl decrement_vpc_count subs r8, r8, #1 - bne .L1374 - b .L1371 -.L1382: + bne .L1380 + b .L1377 +.L1388: .align 2 -.L1381: +.L1387: .word .LANCHOR0 .fnend .size FtlSuperblockPowerLostFix, .-FtlSuperblockPowerLostFix @@ -9377,7 +9390,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, .L1395 + ldr r4, .L1401 adds r2, r0, r1 .pad #108 sub sp, sp, #108 @@ -9385,19 +9398,19 @@ FtlVendorPartWrite: mov r6, r1 ldrh r3, [r4, #96] cmp r2, r3 - bhi .L1391 + bhi .L1397 ldrh r7, [r4, #108] mov r9, #0 lsr r7, r0, r7 lsl fp, r7, #2 -.L1385: - cbnz r6, .L1390 -.L1383: +.L1391: + cbnz r6, .L1396 +.L1389: mov r0, r9 add sp, sp, #108 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1390: +.L1396: ldr r3, [r4, #3364] mov r0, r8 ldr r2, [r3, fp] @@ -9414,9 +9427,9 @@ FtlVendorPartWrite: cmp r6, r5 it cc uxthcc r5, r6 - cbz r2, .L1387 + cbz r2, .L1393 cmp r5, r3 - beq .L1387 + beq .L1393 ldr r3, [r4, #3300] add r0, sp, #20 str r2, [sp, #24] @@ -9426,7 +9439,7 @@ FtlVendorPartWrite: add r3, sp, #40 str r3, [sp, #32] bl FlashReadPages -.L1388: +.L1394: lsls r3, r5, #9 ldr r0, [r4, #3300] mov r1, r10 @@ -9440,7 +9453,7 @@ FtlVendorPartWrite: bl ftl_memcpy mov r1, r7 ldr r2, [r4, #3300] - ldr r0, .L1395+4 + ldr r0, .L1401+4 adds r7, r7, #1 bl FtlMapWritePage ldr r3, [sp, #8] @@ -9448,19 +9461,19 @@ FtlVendorPartWrite: it eq moveq r9, #-1 add r10, r10, r3 - b .L1385 -.L1387: + b .L1391 +.L1393: ldrh r2, [r4, #110] movs r1, #0 ldr r0, [r4, #3300] bl ftl_memset - b .L1388 -.L1391: + b .L1394 +.L1397: mov r9, #-1 - b .L1383 -.L1396: + b .L1389 +.L1402: .align 2 -.L1395: +.L1401: .word .LANCHOR0 .word .LANCHOR0+3468 .fnend @@ -9477,12 +9490,12 @@ Ftl_save_ext_data: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r2, .L1399 - ldr r3, .L1399+4 + ldr r2, .L1405 + ldr r3, .L1405+4 ldr r1, [r2, #2636] cmp r1, r3 - bne .L1397 - ldr r3, .L1399+8 + bne .L1403 + ldr r3, .L1405+8 addw r2, r2, #2636 movs r1, #1 movs r0, #0 @@ -9512,11 +9525,11 @@ Ftl_save_ext_data: ldr r3, [r2, #-68] str r3, [r2, #48] b FtlVendorPartWrite -.L1397: +.L1403: bx lr -.L1400: +.L1406: .align 2 -.L1399: +.L1405: .word .LANCHOR0 .word 1179929683 .word 1342177352 @@ -9535,7 +9548,7 @@ FtlEctTblFlush: @ frame_needed = 0, uses_anonymous_args = 0 push {r3, lr} .save {r3, lr} - ldr r3, .L1406 + ldr r3, .L1412 ldrh r2, [r3, #3648] cmp r2, #31 itett ls @@ -9543,19 +9556,19 @@ FtlEctTblFlush: movhi r2, #32 strhls r2, [r3, #3648] @ movhi movls r2, #1 - cbnz r0, .L1403 + cbnz r0, .L1409 ldr r1, [r3, #3340] ldr r0, [r1, #20] ldr r1, [r1, #16] add r2, r2, r0 cmp r1, r2 - bcc .L1404 -.L1403: + bcc .L1410 +.L1409: ldr r2, [r3, #3340] movs r0, #64 ldr r1, [r2, #16] str r1, [r2, #20] - ldr r1, .L1406+4 + ldr r1, .L1412+4 str r1, [r2] ldrh r1, [r3, #3332] ldr r2, [r3, #3340] @@ -9568,12 +9581,12 @@ FtlEctTblFlush: str r3, [r2, #4] bl FtlVendorPartWrite bl Ftl_save_ext_data -.L1404: +.L1410: movs r0, #0 pop {r3, pc} -.L1407: +.L1413: .align 2 -.L1406: +.L1412: .word .LANCHOR0 .word 1112818501 .fnend @@ -9608,7 +9621,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, .L1419 + ldr r4, .L1425 adds r2, r0, r1 .pad #108 sub sp, sp, #108 @@ -9616,19 +9629,19 @@ FtlVendorPartRead: mov r7, r1 ldrh r3, [r4, #96] cmp r2, r3 - bhi .L1418 + bhi .L1424 ldrh r6, [r4, #108] mov r9, #0 lsr r6, r0, r6 lsl fp, r6, #2 -.L1411: - cbnz r7, .L1417 -.L1409: +.L1417: + cbnz r7, .L1423 +.L1415: mov r0, r9 add sp, sp, #108 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1417: +.L1423: ldr r3, [r4, #3364] mov r0, r8 ldrh r5, [r4, #58] @@ -9645,7 +9658,7 @@ FtlVendorPartRead: uxthcc r5, r7 lsls r2, r5, #9 str r2, [sp, #8] - cbz r3, .L1413 + cbz r3, .L1419 ldr r2, [r4, #3300] add r0, sp, #20 str r3, [sp, #24] @@ -9663,42 +9676,42 @@ FtlVendorPartRead: it eq moveq r9, #-1 cmp r2, #256 - bne .L1415 + bne .L1421 mov r2, r3 mov r1, r6 - ldr r0, .L1419+4 + ldr r0, .L1425+4 bl sftl_printk ldr r2, [r4, #3300] mov r1, r6 - ldr r0, .L1419+8 + ldr r0, .L1425+8 bl FtlMapWritePage -.L1415: +.L1421: ldr r1, [r4, #3300] lsls r2, r5, #9 ldr r3, [sp, #4] mov r0, r10 add r1, r1, r3, lsl #9 bl ftl_memcpy -.L1416: +.L1422: 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 .L1411 -.L1413: + b .L1417 +.L1419: lsls r2, r5, #9 mov r1, r3 mov r0, r10 bl ftl_memset - b .L1416 -.L1418: + b .L1422 +.L1424: mov r9, #-1 - b .L1409 -.L1420: + b .L1415 +.L1426: .align 2 -.L1419: +.L1425: .word .LANCHOR0 .word .LC108 .word .LANCHOR0+3468 @@ -9718,29 +9731,29 @@ FtlLoadEctTbl: push {r4, lr} .save {r4, lr} movs r0, #64 - ldr r4, .L1423 + ldr r4, .L1429 ldr r2, [r4, #3340] ldrh r1, [r4, #3332] bl FtlVendorPartRead ldr r3, [r4, #3340] ldr r2, [r3] - ldr r3, .L1423+4 + ldr r3, .L1429+4 cmp r2, r3 - beq .L1422 - ldr r1, .L1423+8 - ldr r0, .L1423+12 + beq .L1428 + ldr r1, .L1429+8 + ldr r0, .L1429+12 bl sftl_printk ldrh r2, [r4, #3332] movs r1, #0 ldr r0, [r4, #3340] lsls r2, r2, #9 bl ftl_memset -.L1422: +.L1428: movs r0, #0 pop {r4, pc} -.L1424: +.L1430: .align 2 -.L1423: +.L1429: .word .LANCHOR0 .word 1112818501 .word .LC109 @@ -9761,22 +9774,22 @@ Ftl_load_ext_data: push {r3, r4, r5, lr} .save {r3, r4, r5, lr} movs r1, #1 - ldr r4, .L1428 + ldr r4, .L1434 movs r0, #0 - ldr r5, .L1428+4 + ldr r5, .L1434+4 addw r2, r4, #2636 bl FtlVendorPartRead ldr r3, [r4, #2636] cmp r3, r5 - beq .L1426 + beq .L1432 mov r1, #512 addw r0, r4, #2636 bl __memzero str r5, [r4, #2636] -.L1426: +.L1432: ldr r3, [r4, #2636] cmp r3, r5 - bne .L1427 + bne .L1433 ldr r3, [r4, #2724] str r3, [r4, #2532] ldr r3, [r4, #2728] @@ -9801,7 +9814,7 @@ Ftl_load_ext_data: str r3, [r4, #2564] ldr r3, [r4, #2684] str r3, [r4, #2568] -.L1427: +.L1433: ldrh r2, [r4, #92] ldr r3, [r4, #2552] ldr r0, [r4, #2548] @@ -9810,9 +9823,9 @@ Ftl_load_ext_data: bl __aeabi_uidiv str r0, [r4, #2556] pop {r3, r4, r5, pc} -.L1429: +.L1435: .align 2 -.L1428: +.L1434: .word .LANCHOR0 .word 1179929683 .fnend @@ -9847,14 +9860,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, .L1446 + ldr r4, .L1452 movs r1, #255 movw r7, #65535 - ldr r9, .L1446+16 + ldr r9, .L1452+16 ldr r3, [r4, #3292] addw r8, r4, #3444 ldr r6, [r4, #3324] - ldr r10, .L1446+20 + ldr r10, .L1452+20 str r3, [r4, #3452] ldrh r3, [r4, #2576] str r6, [r4, #3456] @@ -9866,9 +9879,9 @@ FtlVpcTblFlush: str r5, [r6, #8] ldrh r2, [r4, #2350] str r3, [r6, #4] - ldr r3, .L1446+4 + ldr r3, .L1452+4 str r3, [r4, #2268] - ldr r3, .L1446+8 + ldr r3, .L1452+8 str r3, [r4, #2272] ldrh r3, [r4, #2582] strh r3, [r4, #2276] @ movhi @@ -9928,7 +9941,7 @@ FtlVpcTblFlush: bl ftl_memcpy mov r0, r5 bl FtlUpdateVaildLpn -.L1432: +.L1438: ldr r3, [r4, #3292] ldrh r1, [r4, #2578] ldrh r2, [r4, #2576] @@ -9940,7 +9953,7 @@ FtlVpcTblFlush: ldrh r3, [r4, #104] subs r3, r3, #1 cmp r1, r3 - blt .L1433 + blt .L1439 movs r3, #0 ldrh r7, [r4, #2580] strh r3, [r4, #2578] @ movhi @@ -9955,7 +9968,7 @@ FtlVpcTblFlush: str r2, [r4, #3448] str r3, [r6, #4] strh r0, [r6, #2] @ movhi -.L1433: +.L1439: movs r3, #1 mov r0, r8 mov r2, r3 @@ -9967,14 +9980,14 @@ FtlVpcTblFlush: uxth r3, r3 adds r1, r2, #1 strh r3, [r4, #2578] @ movhi - bne .L1434 + bne .L1440 cmp r3, #1 - bne .L1435 + bne .L1441 movw r2, #1135 mov r1, r9 mov r0, r10 bl sftl_printk -.L1435: +.L1441: ldrh r3, [r4, #2578] adds r5, r5, #1 uxth r5, r5 @@ -9984,30 +9997,30 @@ FtlVpcTblFlush: addeq r3, r3, #-1 strheq r3, [r4, #2578] @ movhi cmp r5, #3 - bls .L1432 + bls .L1438 mov r2, r5 ldr r1, [r4, #3448] - ldr r0, .L1446+12 + ldr r0, .L1452+12 bl sftl_printk -.L1438: - b .L1438 -.L1434: +.L1444: + b .L1444 +.L1440: cmp r3, #1 - beq .L1432 + beq .L1438 cmp r2, #256 - beq .L1432 + beq .L1438 movw r3, #65535 cmp r7, r3 - beq .L1439 + beq .L1445 movs r1, #1 mov r0, r7 bl FtlFreeSysBlkQueueIn -.L1439: +.L1445: movs r0, #0 pop {r4, r5, r6, r7, r8, r9, r10, pc} -.L1447: +.L1453: .align 2 -.L1446: +.L1452: .word .LANCHOR0 .word 1179929683 .word 1342177352 @@ -10050,17 +10063,17 @@ sftl_deinit: @ frame_needed = 0, uses_anonymous_args = 0 push {r3, lr} .save {r3, lr} - ldr r3, .L1451 + ldr r3, .L1457 ldr r3, [r3] cmp r3, #1 - bne .L1450 + bne .L1456 bl FtlSysFlush -.L1450: +.L1456: movs r0, #0 pop {r3, pc} -.L1452: +.L1458: .align 2 -.L1451: +.L1457: .word .LANCHOR2 .fnend .size sftl_deinit, .-sftl_deinit @@ -10079,21 +10092,21 @@ FtlDiscard: .save {r4, r5, r6, r7, r8, lr} .pad #8 adds r2, r0, r1 - ldr r4, .L1468 + ldr r4, .L1474 mov r8, r0 mov r6, r1 ldr r3, [r4, #140] cmp r2, r3 - bhi .L1461 + bhi .L1467 cmp r1, #31 - bhi .L1455 -.L1460: + bhi .L1461 +.L1466: movs r0, #0 -.L1453: +.L1459: add sp, sp, #8 @ sp needed pop {r4, r5, r6, r7, r8, pc} -.L1455: +.L1461: ldrh r5, [r4, #58] mov r1, r5 bl __aeabi_uidiv @@ -10101,7 +10114,7 @@ FtlDiscard: mov r7, r0 sub r8, r8, r3 uxth r3, r8 - cbz r3, .L1456 + cbz r3, .L1462 subs r5, r5, r3 adds r7, r7, #1 cmp r5, r6 @@ -10109,29 +10122,29 @@ FtlDiscard: movcs r5, r6 uxth r5, r5 subs r6, r6, r5 -.L1456: +.L1462: mov r3, #-1 str r3, [sp, #4] -.L1457: +.L1463: ldrh r3, [r4, #58] cmp r6, r3 - bcs .L1459 + bcs .L1465 ldr r3, [r4, #3652] cmp r3, #32 - bls .L1460 + bls .L1466 movs r5, #0 str r5, [r4, #3652] bl l2p_flush bl FtlVpcTblFlush - b .L1460 -.L1459: + b .L1466 +.L1465: movs r2, #0 mov r1, sp mov r0, r7 bl log2phys ldr r3, [sp] adds r3, r3, #1 - beq .L1458 + beq .L1464 ldr r3, [r4, #3652] movs r2, #1 add r1, sp, #4 @@ -10146,17 +10159,17 @@ FtlDiscard: ubfx r0, r0, #10, #16 bl P2V_block_in_plane bl decrement_vpc_count -.L1458: +.L1464: ldrh r3, [r4, #58] adds r7, r7, #1 subs r6, r6, r3 - b .L1457 -.L1461: + b .L1463 +.L1467: mov r0, #-1 - b .L1453 -.L1469: + b .L1459 +.L1475: .align 2 -.L1468: +.L1474: .word .LANCHOR0 .fnend .size FtlDiscard, .-FtlDiscard @@ -10175,90 +10188,90 @@ FtlVpcCheckAndModify: .save {r4, r5, r6, r7, r8, r9, lr} .pad #12 movs r5, #0 - ldr r4, .L1483 - ldr r1, .L1483+4 - ldr r0, .L1483+8 + ldr r4, .L1489 + ldr r1, .L1489+4 + ldr r0, .L1489+8 bl sftl_printk ldrh r2, [r4, #42] movs r1, #0 ldr r0, [r4, #3344] lsls r2, r2, #1 bl ftl_memset -.L1471: +.L1477: ldr r3, [r4, #2504] cmp r5, r3 - bcc .L1473 - ldr r9, .L1483+12 + bcc .L1479 + ldr r9, .L1489+12 movs r7, #0 movw r8, #65535 -.L1474: +.L1480: ldrh r3, [r4, #40] uxth r6, r7 cmp r3, r6 - bhi .L1479 + bhi .L1485 bl l2p_flush bl FtlVpcTblFlush add sp, sp, #12 @ sp needed pop {r4, r5, r6, r7, r8, r9, pc} -.L1473: +.L1479: movs r2, #0 add r1, sp, #4 mov r0, r5 bl log2phys ldr r0, [sp, #4] adds r3, r0, #1 - beq .L1472 + beq .L1478 ubfx r0, r0, #10, #16 bl P2V_block_in_plane ldr r2, [r4, #3344] ldrh r3, [r2, r0, lsl #1] adds r3, r3, #1 strh r3, [r2, r0, lsl #1] @ movhi -.L1472: +.L1478: adds r5, r5, #1 - b .L1471 -.L1479: + b .L1477 +.L1485: ldr r3, [r4, #2324] uxth r5, r7 ldrh r2, [r3, r5, lsl #1] ldr r3, [r4, #3344] ldrh r3, [r3, r5, lsl #1] cmp r2, r3 - beq .L1476 + beq .L1482 cmp r2, r8 - beq .L1476 + beq .L1482 mov r1, r5 mov r0, r9 bl sftl_printk ldrh r3, [r4, #2348] cmp r3, r6 - beq .L1476 + beq .L1482 ldrh r3, [r4, #2444] cmp r3, r6 - beq .L1476 + beq .L1482 ldrh r3, [r4, #2396] cmp r3, r6 - beq .L1476 + beq .L1482 ldr r3, [r4, #2324] ldrh r2, [r3, r5, lsl #1] - cbnz r2, .L1478 + cbnz r2, .L1484 ldr r2, [r4, #3344] ldrh r2, [r2, r5, lsl #1] strh r2, [r3, r5, lsl #1] @ movhi -.L1476: +.L1482: adds r7, r7, #1 - b .L1474 -.L1478: + b .L1480 +.L1484: ldr r2, [r4, #3344] mov r0, r6 ldrh r2, [r2, r5, lsl #1] strh r2, [r3, r5, lsl #1] @ movhi bl update_vpc_list - b .L1476 -.L1484: + b .L1482 +.L1490: .align 2 -.L1483: +.L1489: .word .LANCHOR0 .word .LANCHOR1+501 .word .LC95 @@ -10279,42 +10292,42 @@ allocate_new_data_superblock: push {r4, r5, r6, lr} .save {r4, r5, r6, lr} mov r6, r0 - ldr r4, .L1495 + ldr r4, .L1501 ldrh r5, [r0] ldrh r3, [r4, #40] cmp r3, r5 - bcs .L1486 + bcs .L1492 movw r2, #2714 - ldr r1, .L1495+4 - ldr r0, .L1495+8 + ldr r1, .L1501+4 + ldr r0, .L1501+8 bl sftl_printk -.L1486: +.L1492: movw r3, #65535 cmp r5, r3 - beq .L1487 + beq .L1493 ldr r3, [r4, #2324] mov r0, r5 ldrh r3, [r3, r5, lsl #1] - cbz r3, .L1488 + cbz r3, .L1494 bl INSERT_DATA_LIST -.L1487: +.L1493: ldrh r0, [r4, #3430] movs r3, #1 strb r3, [r6, #8] movw r3, #65535 cmp r0, r3 - beq .L1489 + beq .L1495 cmp r5, r0 - bne .L1490 + bne .L1496 ldr r3, [r4, #2324] ldrh r3, [r3, r0, lsl #1] - cbz r3, .L1491 -.L1490: + cbz r3, .L1497 +.L1496: bl update_vpc_list -.L1491: +.L1497: movw r3, #65535 strh r3, [r4, #3430] @ movhi -.L1489: +.L1495: mov r0, r6 bl allocate_data_superblock bl l2p_flush @@ -10323,12 +10336,12 @@ allocate_new_data_superblock: bl FtlVpcTblFlush movs r0, #0 pop {r4, r5, r6, pc} -.L1488: +.L1494: bl INSERT_FREE_LIST - b .L1487 -.L1496: + b .L1493 +.L1502: .align 2 -.L1495: +.L1501: .word .LANCHOR0 .word .LANCHOR1+522 .word .LC1 @@ -10348,29 +10361,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, .L1511 + ldr r6, .L1517 .pad #20 sub sp, sp, #20 mov r4, r3 movs r2, #0 - ldr r10, .L1511+8 + ldr r10, .L1517+8 mov r5, r0 - ldr fp, .L1511+12 + ldr fp, .L1517+12 mov r9, r1 ldrb r3, [r3, #9] @ zero_extendqisi2 bl FlashProgPages -.L1498: +.L1504: cmp r7, r9 - beq .L1505 + beq .L1511 mov r8, #0 - b .L1506 -.L1501: + b .L1512 +.L1507: ldr r0, [r5, #4] ubfx r0, r0, #10, #16 bl P2V_block_in_plane ldrh r3, [r4] cmp r3, r0 - bne .L1499 + bne .L1505 ldr r1, [r6, #2324] ldrh r0, [r4, #4] ldrh r2, [r1, r3, lsl #1] @@ -10380,12 +10393,12 @@ FtlProgPages: strb r8, [r4, #6] strh r8, [r4, #4] @ movhi strh r3, [r4, #2] @ movhi -.L1499: +.L1505: ldrh r3, [r4, #4] - cbnz r3, .L1500 + cbnz r3, .L1506 mov r0, r4 bl allocate_new_data_superblock -.L1500: +.L1506: ldr r3, [r6, #2732] adds r3, r3, #1 str r3, [r6, #2732] @@ -10401,19 +10414,19 @@ FtlProgPages: ldrb r3, [r4, #9] @ zero_extendqisi2 mov r0, r5 bl FlashProgPages -.L1506: +.L1512: ldr r3, [r5] adds r3, r3, #1 - beq .L1501 + beq .L1507 ldrb r2, [r4, #6] @ zero_extendqisi2 ldrh r3, [r6, #32] cmp r2, r3 - bcc .L1502 + bcc .L1508 movw r2, #955 mov r1, r10 mov r0, fp bl sftl_printk -.L1502: +.L1508: ldr r3, [r5, #4] add r1, sp, #16 movs r2, #1 @@ -10428,36 +10441,36 @@ FtlProgPages: ldr r3, [sp, #4] mov r8, r0 adds r3, r3, #1 - beq .L1503 + beq .L1509 ldr r3, [r6, #2324] ldrh r2, [r3, r0, lsl #1] - cbnz r2, .L1504 + cbnz r2, .L1510 mov r1, r0 - ldr r0, .L1511+4 + ldr r0, .L1517+4 bl sftl_printk -.L1504: +.L1510: mov r0, r8 bl decrement_vpc_count -.L1503: +.L1509: adds r7, r7, #1 adds r5, r5, #20 - b .L1498 -.L1505: + b .L1504 +.L1511: ldrb r2, [r4, #6] @ zero_extendqisi2 ldrh r3, [r6, #32] cmp r2, r3 - bcc .L1497 + bcc .L1503 movw r2, #970 - ldr r1, .L1511+8 - ldr r0, .L1511+12 + ldr r1, .L1517+8 + ldr r0, .L1517+12 bl sftl_printk -.L1497: +.L1503: add sp, sp, #20 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1512: +.L1518: .align 2 -.L1511: +.L1517: .word .LANCHOR0 .word .LC112 .word .LANCHOR1+551 @@ -10479,49 +10492,49 @@ FtlGcFreeTempBlock: .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} .pad #12 movw r2, #65535 - ldr r4, .L1539 + ldr r4, .L1545 ldrh r5, [r4, #2444] ldrh r1, [r4, #102] cmp r5, r2 - bne .L1514 -.L1524: + bne .L1520 +.L1530: ldrh r2, [r4, #2444] movs r3, #0 str r3, [r4, #3436] movw r3, #65535 cmp r2, r3 - bne .L1537 -.L1515: + bne .L1543 +.L1521: movs r0, #0 -.L1513: +.L1519: add sp, sp, #12 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1514: - cbz r0, .L1517 - ldr r3, .L1539+4 +.L1520: + cbz r0, .L1523 + ldr r3, .L1545+4 ldrh r0, [r3, #4] cmp r0, r2 - beq .L1518 -.L1519: + beq .L1524 +.L1525: movs r1, #2 -.L1517: - ldr r0, .L1539+8 +.L1523: + ldr r0, .L1545+8 bl FtlGcScanTempBlk str r0, [sp, #4] adds r0, r0, #1 - beq .L1520 + beq .L1526 ldr r2, [r4, #2328] ldrh r3, [r2, r5, lsl #1] cmp r3, #4 - bls .L1521 + bls .L1527 subs r3, r3, #5 movs r0, #1 strh r3, [r2, r5, lsl #1] @ movhi bl FtlEctTblFlush -.L1521: +.L1527: ldr r3, [r4, #3436] - cbnz r3, .L1522 + cbnz r3, .L1528 ldr r3, [r4, #2732] ldr r0, [sp, #4] adds r3, r3, #1 @@ -10529,66 +10542,66 @@ FtlGcFreeTempBlock: str r3, [r4, #2732] bl FtlBbmMapBadBlock bl FtlBbmTblFlush -.L1522: +.L1528: movs r3, #0 str r3, [r4, #3436] -.L1533: +.L1539: movs r0, #1 - b .L1513 -.L1518: + b .L1519 +.L1524: movs r2, #0 strh r2, [r3, #4] @ movhi ldrh r3, [r4, #2344] cmp r3, #17 - bhi .L1519 - b .L1517 -.L1520: - ldr r3, .L1539+4 + bhi .L1525 + b .L1523 +.L1526: + ldr r3, .L1545+4 ldrh r2, [r3, #4] movw r3, #65535 cmp r2, r3 - bne .L1533 - b .L1524 -.L1537: + bne .L1539 + b .L1530 +.L1543: ldrb r1, [r4, #2451] @ zero_extendqisi2 ldrh r3, [r4, #102] ldrh r2, [r4, #3200] muls r3, r1, r3 cmp r2, r3 - beq .L1525 + beq .L1531 movs r2, #162 - ldr r1, .L1539+12 - ldr r0, .L1539+16 + ldr r1, .L1545+12 + ldr r0, .L1545+16 bl sftl_printk -.L1525: +.L1531: 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, .L1539+12 + ldr r10, .L1545+12 smulbb r3, r3, r0 - ldr fp, .L1539+16 + ldr fp, .L1545+16 strh r3, [r2, r1, lsl #1] @ movhi ldr r2, [r4, #2528] ldrh r3, [r4, #3200] add r3, r3, r2 str r3, [r4, #2528] -.L1526: +.L1532: ldrh r2, [r4, #3200] uxth r3, r6 cmp r2, r3 - bhi .L1530 + bhi .L1536 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 .L1531 + beq .L1537 bl INSERT_DATA_LIST -.L1532: +.L1538: movw r6, #65535 movs r5, #0 strh r6, [r4, #2444] @ movhi @@ -10601,11 +10614,11 @@ FtlGcFreeTempBlock: strh r6, [r4, #2588] @ movhi add r3, r3, r3, lsl #1 cmp r2, r3, asr #2 - ble .L1515 + ble .L1521 movs r3, #20 strh r3, [r4, #3148] @ movhi - b .L1515 -.L1530: + b .L1521 +.L1536: uxth r7, r6 ldr r8, [r4, #3196] ldr r3, [r4, #2504] @@ -10613,12 +10626,12 @@ FtlGcFreeTempBlock: add r5, r8, r7 ldr r2, [r5, #8] cmp r2, r3 - bcc .L1527 + bcc .L1533 movs r2, #168 mov r1, r10 mov r0, fp bl sftl_printk -.L1527: +.L1533: movs r2, #0 add r1, sp, #4 ldr r0, [r5, #8] @@ -10626,7 +10639,7 @@ FtlGcFreeTempBlock: ldr r0, [r8, r7] ldr r3, [sp, #4] cmp r0, r3 - bne .L1528 + bne .L1534 ubfx r0, r0, #10, #16 bl P2V_block_in_plane movs r2, #1 @@ -10635,23 +10648,23 @@ FtlGcFreeTempBlock: ldr r0, [r5, #8] bl log2phys mov r0, r7 -.L1538: +.L1544: bl decrement_vpc_count -.L1529: +.L1535: adds r6, r6, #1 - b .L1526 -.L1528: + b .L1532 +.L1534: ldr r2, [r5, #4] cmp r3, r2 - beq .L1529 + beq .L1535 ldrh r0, [r4, #2444] - b .L1538 -.L1531: + b .L1544 +.L1537: bl INSERT_FREE_LIST - b .L1532 -.L1540: + b .L1538 +.L1546: .align 2 -.L1539: +.L1545: .word .LANCHOR0 .word .LANCHOR2 .word .LANCHOR0+2444 @@ -10672,25 +10685,25 @@ FtlGcPageRecovery: @ frame_needed = 0, uses_anonymous_args = 0 push {r4, lr} .save {r4, lr} - ldr r4, .L1543 + ldr r4, .L1549 ldrh r1, [r4, #102] addw r0, r4, #2444 bl FtlGcScanTempBlk ldrh r2, [r4, #2446] ldrh r3, [r4, #102] cmp r2, r3 - bcc .L1541 + bcc .L1547 addw r0, r4, #3384 bl FtlMapBlkWriteDump_data movs r0, #0 bl FtlGcFreeTempBlock movs r3, #0 str r3, [r4, #3436] -.L1541: +.L1547: pop {r4, pc} -.L1544: +.L1550: .align 2 -.L1543: +.L1549: .word .LANCHOR0 .fnend .size FtlGcPageRecovery, .-FtlGcPageRecovery @@ -10708,7 +10721,7 @@ FtlPowerLostRecovery: push {r4, r5, r6, lr} .save {r4, r5, r6, lr} movs r5, #0 - ldr r4, .L1546 + ldr r4, .L1552 addw r6, r4, #2348 str r5, [r4, #3516] mov r0, r6 @@ -10725,9 +10738,9 @@ FtlPowerLostRecovery: bl decrement_vpc_count mov r0, r5 pop {r4, r5, r6, pc} -.L1547: +.L1553: .align 2 -.L1546: +.L1552: .word .LANCHOR0 .fnend .size FtlPowerLostRecovery, .-FtlPowerLostRecovery @@ -10745,35 +10758,35 @@ Ftl_gc_temp_data_write_back: push {r4, r5, r6, lr} .save {r4, r5, r6, lr} movs r3, #0 - ldr r4, .L1555 + ldr r4, .L1561 movs r5, #0 movs r6, #20 mov r2, r3 ldr r1, [r4, #3164] ldr r0, [r4, #3284] bl FlashProgPages -.L1549: +.L1555: ldr r1, [r4, #3164] uxth r3, r5 cmp r1, r3 - bhi .L1552 + bhi .L1558 ldr r0, [r4, #3284] bl FtlGcBufFree ldrh r3, [r4, #2448] movs r0, #0 str r0, [r4, #3164] - cbnz r3, .L1548 + cbnz r3, .L1554 movs r0, #1 bl FtlGcFreeTempBlock - b .L1554 -.L1552: + b .L1560 +.L1558: muls r3, r6, r3 ldr r2, [r4, #3284] adds r5, r5, #1 adds r1, r2, r3 ldr r2, [r2, r3] adds r0, r2, #1 - bne .L1550 + bne .L1556 ldrh r0, [r4, #2444] movs r5, #0 ldr r1, [r4, #2324] @@ -10789,20 +10802,20 @@ Ftl_gc_temp_data_write_back: bl FtlBbmMapBadBlock bl FtlBbmTblFlush bl FtlGcPageVarInit -.L1554: +.L1560: movs r0, #1 -.L1548: +.L1554: pop {r4, r5, r6, pc} -.L1550: +.L1556: ldr r3, [r1, #12] ldr r1, [r1, #4] ldr r2, [r3, #8] ldr r0, [r3, #12] bl FtlGcUpdatePage - b .L1549 -.L1556: + b .L1555 +.L1562: .align 2 -.L1555: +.L1561: .word .LANCHOR0 .fnend .size Ftl_gc_temp_data_write_back, .-Ftl_gc_temp_data_write_back @@ -10820,17 +10833,17 @@ Ftl_get_new_temp_ppa: push {r3, r4, r5, lr} .save {r3, r4, r5, lr} movw r3, #65535 - ldr r4, .L1560 + ldr r4, .L1566 ldrh r2, [r4, #2444] cmp r2, r3 - beq .L1558 + beq .L1564 ldrh r3, [r4, #2448] - cbnz r3, .L1559 -.L1558: + cbnz r3, .L1565 +.L1564: movs r0, #0 movs r5, #0 bl FtlGcFreeTempBlock - ldr r0, .L1560+4 + ldr r0, .L1566+4 strb r5, [r4, #2452] bl allocate_data_superblock strh r5, [r4, #3192] @ movhi @@ -10839,13 +10852,13 @@ Ftl_get_new_temp_ppa: mov r0, r5 bl FtlEctTblFlush bl FtlVpcTblFlush -.L1559: - ldr r0, .L1560+4 +.L1565: + ldr r0, .L1566+4 pop {r3, r4, r5, lr} b get_new_active_ppa -.L1561: +.L1567: .align 2 -.L1560: +.L1566: .word .LANCHOR0 .word .LANCHOR0+2444 .fnend @@ -10864,7 +10877,7 @@ FtlSysBlkInit: push {r4, r5, r6, lr} .save {r4, r5, r6, lr} movs r3, #0 - ldr r4, .L1577 + ldr r4, .L1583 ldrh r0, [r4, #36] strh r3, [r4, #3512] @ movhi bl FtlFreeSysBlkQueueInit @@ -10872,17 +10885,17 @@ FtlSysBlkInit: ldrh r2, [r4, #2576] movw r3, #65535 cmp r2, r3 - bne .L1563 -.L1565: + bne .L1569 +.L1571: mov r5, #-1 -.L1562: +.L1568: mov r0, r5 pop {r4, r5, r6, pc} -.L1563: +.L1569: bl FtlLoadSysInfo mov r5, r0 cmp r0, #0 - bne .L1565 + bne .L1571 bl FtlLoadMapInfo bl FtlLoadVonderInfo bl Ftl_load_ext_data @@ -10896,23 +10909,23 @@ FtlSysBlkInit: mov r3, r5 ldr r2, [r4, #2492] movs r0, #12 -.L1566: +.L1572: cmp r3, r1 - bge .L1571 + bge .L1577 mla r6, r0, r3, r2 ldr r6, [r6, #4] cmp r6, #0 - bge .L1567 -.L1571: + bge .L1573 +.L1577: ldrh r2, [r4, #2296] cmp r3, r1 add r2, r2, #1 strh r2, [r4, #2296] @ movhi - bge .L1576 -.L1568: - ldr r0, .L1577+4 + bge .L1582 +.L1574: + ldr r0, .L1583+4 bl FtlSuperblockPowerLostFix - ldr r0, .L1577+8 + ldr r0, .L1583+8 bl FtlSuperblockPowerLostFix ldrh r1, [r4, #2348] ldr r2, [r4, #2324] @@ -10941,38 +10954,38 @@ FtlSysBlkInit: bl l2p_flush bl FtlVpcTblFlush bl FtlVpcTblFlush - b .L1572 -.L1567: + b .L1578 +.L1573: adds r3, r3, #1 - b .L1566 -.L1576: + b .L1572 +.L1582: ldrh r3, [r4, #3512] cmp r3, #0 - bne .L1568 -.L1572: + bne .L1574 +.L1578: bl FtlVpcCheckAndModify ldrh r0, [r4, #2348] movw r3, #65535 cmp r0, r3 - beq .L1562 + beq .L1568 ldrh r3, [r4, #2352] cmp r3, #0 - bne .L1562 + bne .L1568 ldrh r3, [r4, #2400] cmp r3, #0 - bne .L1562 + bne .L1568 bl FtlGcRefreshBlock ldrh r0, [r4, #2396] bl FtlGcRefreshBlock bl FtlVpcTblFlush - ldr r0, .L1577+4 + ldr r0, .L1583+4 bl allocate_new_data_superblock - ldr r0, .L1577+8 + ldr r0, .L1583+8 bl allocate_new_data_superblock - b .L1562 -.L1578: + b .L1568 +.L1584: .align 2 -.L1577: +.L1583: .word .LANCHOR0 .word .LANCHOR0+2348 .word .LANCHOR0+2396 @@ -10989,7 +11002,7 @@ rk_ftl_garbage_collect: .fnstart @ args = 0, pretend = 0, frame = 32 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L1701 + ldr r3, .L1707 push {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} mov r9, r0 @@ -10998,21 +11011,21 @@ rk_ftl_garbage_collect: mov r4, r3 ldr r0, [r3, #3264] cmp r0, #0 - bne .L1656 + bne .L1662 ldrh r2, [r3, #2336] cmp r2, #47 - bls .L1579 - ldr r2, .L1701+4 + bls .L1585 + ldr r2, .L1707+4 ldrh r1, [r2, #4] movw r2, #65535 cmp r1, r2 - bne .L1581 -.L1584: + bne .L1587 +.L1590: ldrh r2, [r4, #3204] movw r1, #65535 cmp r2, r1 - bne .L1582 -.L1583: + bne .L1588 +.L1589: bl FtlReadRefresh ldr r3, [r4, #3152] movw r6, #65535 @@ -11021,121 +11034,121 @@ rk_ftl_garbage_collect: add r3, r3, r9, lsl #7 cmp r1, r6 str r3, [r4, #3152] - bne .L1585 + bne .L1591 ldrh r2, [r4, #2444] cmp r2, r1 - bne .L1586 + bne .L1592 ldrh r7, [r4, #3202] cmp r7, r2 - bne .L1587 + bne .L1593 ldrh r2, [r4, #2344] cmp r2, #24 ite cc movcc r2, #5120 movcs r2, #1024 cmp r3, r2 - bls .L1587 + bls .L1593 movs r5, #0 str r5, [r4, #3152] strh r5, [r4, #3656] @ movhi bl GetSwlReplaceBlock cmp r0, r7 mov r6, r0 - bne .L1660 + bne .L1666 ldrh r2, [r4, #2344] ldrh r3, [r4, #3150] cmp r2, r3 - bcs .L1590 + bcs .L1596 movs r0, #64 bl List_get_gc_head_node uxth r3, r0 cmp r3, r6 - beq .L1592 + beq .L1598 mov r0, r3 ldr r3, [r4, #2324] ldrh r3, [r3, r0, lsl #1] cmp r3, #7 - bhi .L1593 + bhi .L1599 mov r0, r5 bl List_get_gc_head_node uxth r5, r0 movs r3, #128 strh r3, [r4, #3150] @ movhi cmp r5, r6 - bne .L1589 -.L1592: + bne .L1595 +.L1598: bl FtlGcReFreshBadBlk cmp r9, #0 - bne .L1595 + bne .L1601 movw r3, #65535 cmp r6, r3 - bne .L1595 -.L1654: + bne .L1601 +.L1660: ldrh r3, [r4, #2344] cmp r3, #24 - bhi .L1661 + bhi .L1667 cmp r3, #16 ldrh r5, [r4, #102] - bls .L1597 + bls .L1603 lsrs r5, r5, #5 -.L1596: +.L1602: ldrh r2, [r4, #3148] cmp r2, r3 - bcs .L1600 + bcs .L1606 ldrh r3, [r4, #2444] movw r2, #65535 cmp r3, r2 - bne .L1601 + bne .L1607 ldrh r2, [r4, #3202] cmp r2, r3 - bne .L1601 + bne .L1607 ldrh r0, [r4, #3656] - cbnz r0, .L1602 + cbnz r0, .L1608 ldr r3, [r4, #2504] ldr r2, [r4, #2500] add r3, r3, r3, lsl #1 cmp r2, r3, lsr #2 - bcs .L1603 -.L1602: + bcs .L1609 +.L1608: ldrh r3, [r4, #2572] add r3, r3, r3, lsl #1 asrs r3, r3, #2 -.L1697: +.L1703: strh r3, [r4, #3148] @ movhi movs r3, #0 str r3, [r4, #3160] -.L1579: +.L1585: add sp, sp, #44 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1581: +.L1587: ldrh r3, [r3, #2444] cmp r3, r2 - beq .L1584 + beq .L1590 movs r0, #1 bl FtlGcFreeTempBlock cmp r0, #0 - beq .L1584 + beq .L1590 movs r0, #1 - b .L1579 -.L1582: + b .L1585 +.L1588: ldrh r3, [r4, #3202] cmp r3, r1 itt eq strheq r2, [r4, #3202] @ movhi strheq r3, [r4, #3204] @ movhi - b .L1583 -.L1593: + b .L1589 +.L1599: movs r3, #64 -.L1696: +.L1702: strh r3, [r4, #3150] @ movhi - b .L1592 -.L1590: + b .L1598 +.L1596: movs r3, #80 - b .L1696 -.L1660: + b .L1702 +.L1666: mov r5, r0 -.L1589: +.L1595: ldr r3, [r4, #2324] mov r6, r5 ldrh r1, [r4, #3148] @@ -11143,64 +11156,64 @@ rk_ftl_garbage_collect: ldrh r3, [r3, r5, lsl #1] str r1, [sp, #4] ldr r1, [r4, #2328] - ldr r0, .L1701+8 + ldr r0, .L1707+8 ldrh r1, [r1, r5, lsl #1] str r1, [sp] mov r1, r5 bl sftl_printk - b .L1592 -.L1597: + b .L1598 +.L1603: cmp r3, #12 - bls .L1598 + bls .L1604 lsrs r5, r5, #4 - b .L1596 -.L1598: + b .L1602 +.L1604: cmp r3, #8 - bls .L1596 + bls .L1602 lsrs r5, r5, #2 - b .L1596 -.L1661: + b .L1602 +.L1667: movs r5, #1 - b .L1596 -.L1603: + b .L1602 +.L1609: movs r3, #18 - b .L1697 -.L1601: + b .L1703 +.L1607: ldrh r3, [r4, #2572] add r3, r3, r3, lsl #1 asrs r3, r3, #2 strh r3, [r4, #3148] @ movhi -.L1600: +.L1606: ldrh r3, [r4, #3206] - cbz r3, .L1662 + cbz r3, .L1668 adds r5, r5, #32 uxth r5, r5 -.L1662: +.L1668: movw r6, #65535 -.L1606: +.L1612: ldrh r3, [r4, #2588] movw r2, #65535 cmp r3, r2 - bne .L1615 + bne .L1621 cmp r6, r3 - beq .L1616 + beq .L1622 strh r6, [r4, #2588] @ movhi -.L1617: +.L1623: ldrh r0, [r4, #2588] movw r7, #65535 movs r3, #0 strb r3, [r4, #2596] cmp r0, r7 - beq .L1615 + beq .L1621 bl IsBlkInGcList - cbz r0, .L1620 + cbz r0, .L1626 strh r7, [r4, #2588] @ movhi -.L1620: +.L1626: ldrh r2, [r4, #2588] movw r3, #65535 cmp r2, r3 - beq .L1615 - ldr r0, .L1701+12 + beq .L1621 + ldr r0, .L1707+12 bl make_superblock movs r3, #0 ldrh r2, [r4, #2588] @@ -11210,59 +11223,59 @@ rk_ftl_garbage_collect: ldr r3, [r4, #2324] ldrh r3, [r3, r2, lsl #1] strh r3, [r4, #3660] @ movhi -.L1615: +.L1621: ldrh r3, [r4, #2588] ldrh r2, [r4, #2348] cmp r2, r3 - beq .L1621 + beq .L1627 ldrh r2, [r4, #2396] cmp r2, r3 - bne .L1622 -.L1621: + bne .L1628 +.L1627: movw r3, #65535 strh r3, [r4, #2588] @ movhi -.L1622: - ldr r7, .L1701 +.L1628: + ldr r7, .L1707 mov r4, r7 -.L1652: +.L1658: ldrh r10, [r7, #2588] movw r3, #65535 cmp r10, r3 - bne .L1623 + bne .L1629 movs r3, #0 mov fp, r3 str r3, [r7, #3160] -.L1624: +.L1630: ldrh r8, [r4, #3156] mov r0, r8 bl List_get_gc_head_node uxth r2, r0 cmp r2, r10 strh r2, [r4, #2588] @ movhi - bne .L1625 + bne .L1631 movs r3, #0 movs r0, #8 strh r3, [r4, #3156] @ movhi - b .L1579 -.L1607: + b .L1585 +.L1613: movs r3, #0 ldrh r2, [r4, #2344] str r3, [r4, #3160] ldrh r3, [r4, #3148] cmp r2, r3 - bls .L1608 + bls .L1614 ldrh r3, [r4, #3656] - cbnz r3, .L1609 + cbnz r3, .L1615 ldr r3, [r4, #2504] ldr r2, [r4, #2500] add r3, r3, r3, lsl #1 cmp r2, r3, lsr #2 - bcs .L1610 -.L1609: + bcs .L1616 +.L1615: ldrh r3, [r4, #2572] add r3, r3, r3, lsl #1 asrs r3, r3, #2 -.L1698: +.L1704: strh r3, [r4, #3148] @ movhi bl FtlReadRefresh movs r0, #0 @@ -11271,17 +11284,17 @@ rk_ftl_garbage_collect: uxth r0, r0 ldrh r3, [r3, r0, lsl #1] cmp r3, #4 - bls .L1608 -.L1700: + bls .L1614 +.L1706: ldrh r0, [r4, #3656] - b .L1579 -.L1610: + b .L1585 +.L1616: movs r3, #18 - b .L1698 -.L1608: + b .L1704 +.L1614: ldrh r0, [r4, #3656] cmp r0, #0 - bne .L1612 + bne .L1618 ldrh r5, [r4, #2572] add r3, r5, r5, lsl #1 asrs r3, r3, #2 @@ -11295,43 +11308,43 @@ rk_ftl_garbage_collect: muls r3, r1, r3 add r3, r3, r3, lsr #31 cmp r2, r3, asr #1 - ble .L1613 + ble .L1619 ldrh r3, [r4, #2344] subs r5, r5, #1 cmp r3, r5 - blt .L1613 + blt .L1619 bl FtlReadRefresh - b .L1700 -.L1613: + b .L1706 +.L1619: cmp r2, #0 - bne .L1612 + bne .L1618 movw r0, #65535 bl decrement_vpc_count ldrh r0, [r4, #2344] adds r0, r0, #1 - b .L1579 -.L1702: + b .L1585 +.L1708: .align 2 -.L1701: +.L1707: .word .LANCHOR0 .word .LANCHOR2 .word .LC113 .word .LANCHOR0+2588 -.L1616: +.L1622: ldrh r3, [r4, #3202] cmp r3, r6 - beq .L1617 + beq .L1623 ldr r2, [r4, #2324] ldrh r3, [r2, r3, lsl #1] - cbnz r3, .L1618 + cbnz r3, .L1624 strh r6, [r4, #3202] @ movhi -.L1618: +.L1624: ldrh r3, [r4, #3202] strh r3, [r4, #2588] @ movhi movw r3, #65535 strh r3, [r4, #3202] @ movhi - b .L1617 -.L1625: + b .L1623 +.L1631: str r0, [sp, #16] mov r0, r2 str r2, [sp, #12] @@ -11339,10 +11352,10 @@ rk_ftl_garbage_collect: bl IsBlkInGcList ldr r2, [sp, #12] ldr r3, [sp, #16] - cbz r0, .L1626 + cbz r0, .L1632 strh r8, [r4, #3156] @ movhi - b .L1624 -.L1626: + b .L1630 +.L1632: ldrh lr, [r4, #32] uxth r8, r8 ldrh r1, [r4, #102] @@ -11353,67 +11366,67 @@ rk_ftl_garbage_collect: ldrh ip, [r0, r3, lsl #1] add lr, r1, r1, lsr #31 cmp ip, lr, asr #1 - bgt .L1628 + bgt .L1634 cmp r8, #48 - bls .L1629 + bls .L1635 cmp ip, #8 - bls .L1629 + bls .L1635 ldrh ip, [r4, #3192] cmp ip, #35 - bhi .L1629 -.L1628: + bhi .L1635 +.L1634: strh fp, [r4, #3156] @ movhi -.L1629: +.L1635: ldrh r3, [r0, r3, lsl #1] cmp r1, r3 - bgt .L1630 + bgt .L1636 cmp r6, r10 - bne .L1630 + bne .L1636 ldrh r1, [r4, #3156] cmp r1, #3 - bhi .L1630 + bhi .L1636 movs r3, #0 strh r6, [r4, #2588] @ movhi strh r3, [r4, #3156] @ movhi - b .L1700 -.L1630: - cbnz r3, .L1631 + b .L1706 +.L1636: + cbnz r3, .L1637 movw r0, #65535 bl decrement_vpc_count ldrh r3, [r4, #3156] adds r3, r3, #1 strh r3, [r4, #3156] @ movhi - b .L1624 -.L1631: + b .L1630 +.L1637: movs r3, #0 strb r3, [r4, #2596] ldrh r3, [r4, #2348] cmp r3, r2 - bne .L1632 + bne .L1638 mov r2, #700 - ldr r1, .L1703 - ldr r0, .L1703+4 + ldr r1, .L1709 + ldr r0, .L1709+4 bl sftl_printk -.L1632: +.L1638: ldrh r2, [r4, #2588] ldrh r3, [r4, #2396] cmp r2, r3 - bne .L1633 + bne .L1639 movw r2, #701 - ldr r1, .L1703 - ldr r0, .L1703+4 + ldr r1, .L1709 + ldr r0, .L1709+4 bl sftl_printk -.L1633: +.L1639: ldrh r2, [r4, #2588] ldrh r3, [r4, #2444] cmp r2, r3 - bne .L1634 + bne .L1640 movw r2, #702 - ldr r1, .L1703 - ldr r0, .L1703+4 + ldr r1, .L1709 + ldr r0, .L1709+4 bl sftl_printk -.L1634: - ldr r0, .L1703+8 +.L1640: + ldr r0, .L1709+8 bl make_superblock ldrh r1, [r4, #2588] movs r3, #0 @@ -11423,13 +11436,13 @@ rk_ftl_garbage_collect: strh r3, [r4, #2590] @ movhi strb r3, [r4, #2594] strh r2, [r4, #3660] @ movhi -.L1623: +.L1629: movs r3, #1 str r3, [r4, #3264] ldrh r3, [r4, #102] str r3, [sp, #16] cmp r9, #0 - beq .L1635 + beq .L1641 ldr r2, [sp, #16] ldrh r3, [r4, #32] ldrh r1, [r4, #2588] @@ -11441,7 +11454,7 @@ rk_ftl_garbage_collect: addmi r3, r3, #3 add r5, r5, r3, asr #2 uxth r5, r5 -.L1635: +.L1641: ldrh r3, [r4, #2590] ldr r1, [sp, #16] adds r2, r3, r5 @@ -11452,11 +11465,11 @@ rk_ftl_garbage_collect: mov r3, #0 it gt uxthgt r5, r5 -.L1699: +.L1705: str r3, [sp, #20] ldrh r3, [sp, #20] cmp r5, r3 - bls .L1646 + bls .L1652 ldr r3, [sp, #20] movw r10, #65535 ldrh r8, [r7, #2590] @@ -11464,17 +11477,17 @@ rk_ftl_garbage_collect: ldrh ip, [r7, #32] ldr r0, [r7, #3180] add r8, r8, r3 - ldr r3, .L1703+12 + ldr r3, .L1709+12 str r3, [sp, #24] movs r3, #0 str r3, [sp, #12] - b .L1647 -.L1640: + b .L1653 +.L1646: ldr r1, [sp, #24] ldrh r2, [r1, #2]! cmp r2, r10 str r1, [sp, #24] - beq .L1639 + beq .L1645 ldr r1, [sp, #12] orr r2, r8, r2, lsl #10 mla lr, fp, r1, r0 @@ -11483,47 +11496,47 @@ rk_ftl_garbage_collect: adds r2, r2, #1 uxth r2, r2 str r2, [sp, #12] -.L1639: +.L1645: adds r3, r3, #1 -.L1647: +.L1653: uxth r2, r3 cmp ip, r2 - bhi .L1640 + bhi .L1646 mov fp, #0 ldrb r2, [r7, #2596] @ zero_extendqisi2 ldr r1, [sp, #12] bl FlashReadPages -.L1641: +.L1647: ldr r2, [sp, #12] uxth r3, fp cmp r2, r3 - bhi .L1645 + bhi .L1651 ldr r3, [sp, #20] adds r3, r3, #1 - b .L1699 -.L1645: + b .L1705 +.L1651: mov r8, #20 ldr r3, [r7, #3180] mul r8, r8, fp add r2, r3, r8 ldr r3, [r3, r8] adds r3, r3, #1 - beq .L1642 + beq .L1648 ldr r10, [r2, #12] movw r3, #61589 ldrh r2, [r10] cmp r2, r3 - bne .L1642 + bne .L1648 ldr r3, [r10, #8] adds r2, r3, #1 - bne .L1643 + bne .L1649 mov r2, #736 - ldr r1, .L1703 - ldr r0, .L1703+4 + ldr r1, .L1709 + ldr r0, .L1709+4 str r3, [sp, #24] bl sftl_printk ldr r3, [sp, #24] -.L1643: +.L1649: movs r2, #0 mov r0, r3 add r1, sp, #36 @@ -11533,7 +11546,7 @@ rk_ftl_garbage_collect: add r0, r0, r8 ldr r2, [r0, #4] cmp r2, r3 - bne .L1642 + bne .L1648 ldrh r3, [r4, #3658] movs r2, #20 ldr r1, [r4, #3164] @@ -11574,103 +11587,103 @@ rk_ftl_garbage_collect: ldrb r2, [r4, #2451] @ zero_extendqisi2 ldr r3, [r4, #3164] cmp r2, r3 - beq .L1644 + beq .L1650 ldrh r3, [r4, #2448] - cbnz r3, .L1642 -.L1644: + cbnz r3, .L1648 +.L1650: bl Ftl_gc_temp_data_write_back - cbz r0, .L1642 - ldr r3, .L1703+16 + cbz r0, .L1648 + ldr r3, .L1709+16 movs r2, #0 str r2, [r3, #3264] ldrh r0, [r3, #3656] - b .L1579 -.L1642: + b .L1585 +.L1648: add fp, fp, #1 - b .L1641 -.L1646: + b .L1647 +.L1652: ldrh r3, [r7, #2590] add r5, r5, r3 ldr r3, [sp, #16] uxth r5, r5 cmp r3, r5 strh r5, [r7, #2590] @ movhi - bhi .L1648 + bhi .L1654 ldr r3, [r7, #3164] - cbz r3, .L1649 + cbz r3, .L1655 bl Ftl_gc_temp_data_write_back - cbz r0, .L1649 + cbz r0, .L1655 movs r3, #0 ldrh r0, [r7, #3656] str r3, [r7, #3264] - b .L1579 -.L1649: + b .L1585 +.L1655: ldrh r1, [r7, #3658] - cbnz r1, .L1650 + cbnz r1, .L1656 ldrh r2, [r7, #2588] ldr r3, [r7, #2324] ldrh r0, [r3, r2, lsl #1] - cbz r0, .L1650 + cbz r0, .L1656 strh r1, [r3, r2, lsl #1] @ movhi ldrh r0, [r7, #2588] bl update_vpc_list bl l2p_flush bl FtlVpcTblFlush -.L1650: +.L1656: movw r3, #65535 strh r3, [r7, #2588] @ movhi -.L1648: +.L1654: movs r3, #0 str r3, [r7, #3264] ldrh r3, [r7, #2344] cmp r3, #2 - bhi .L1651 + bhi .L1657 ldrh r5, [r7, #102] - b .L1652 -.L1651: + b .L1658 +.L1657: ldrh r0, [r7, #3656] cmp r0, #0 - bne .L1579 + bne .L1585 adds r0, r3, #1 - b .L1579 -.L1656: + b .L1585 +.L1662: movs r0, #0 - b .L1579 -.L1585: + b .L1585 +.L1591: cmp r9, #0 - beq .L1654 -.L1595: + beq .L1660 +.L1601: ldrh r2, [r4, #2444] movw r3, #65535 cmp r2, r3 - bne .L1665 -.L1655: + bne .L1671 +.L1661: ldrh r3, [r4, #3202] movw r2, #65535 cmp r3, r2 - bne .L1665 + bne .L1671 cmp r6, r3 - bne .L1665 + bne .L1671 ldrh r3, [r4, #2588] cmp r3, r6 - beq .L1607 -.L1612: + beq .L1613 +.L1618: movw r6, #65535 -.L1665: +.L1671: movs r5, #1 - b .L1606 -.L1587: + b .L1612 +.L1593: cmp r9, #0 - beq .L1654 + beq .L1660 movw r6, #65535 - b .L1655 -.L1586: + b .L1661 +.L1592: cmp r9, #0 - bne .L1612 - b .L1654 -.L1704: + bne .L1618 + b .L1660 +.L1710: .align 2 -.L1703: +.L1709: .word .LANCHOR1+583 .word .LC1 .word .LANCHOR0+2588 @@ -11692,10 +11705,10 @@ sftl_init: push {r3, r4, r5, lr} .save {r3, r4, r5, lr} mov r3, #-1 - ldr r4, .L1711 - ldr r5, .L1711+4 - ldr r1, .L1711+8 - ldr r0, .L1711+12 + ldr r4, .L1717 + ldr r5, .L1717+4 + ldr r1, .L1717+8 + ldr r0, .L1717+12 str r3, [r5] bl sftl_printk mov r0, r4 @@ -11705,27 +11718,27 @@ sftl_init: ldrh r0, [r4, #36] bl FtlFreeSysBlkQueueInit bl FtlLoadBbt - cbnz r0, .L1709 + cbnz r0, .L1715 bl FtlSysBlkInit - cbnz r0, .L1709 + cbnz r0, .L1715 movs r3, #1 str r3, [r5] ldrh r3, [r4, #2344] cmp r3, #15 - bhi .L1709 + bhi .L1715 movw r4, #8129 -.L1708: +.L1714: movs r1, #1 movs r0, #0 bl rk_ftl_garbage_collect subs r4, r4, #1 - bne .L1708 -.L1709: + bne .L1714 +.L1715: movs r0, #0 pop {r3, r4, r5, pc} -.L1712: +.L1718: .align 2 -.L1711: +.L1717: .word .LANCHOR0 .word .LANCHOR2 .word .LC70 @@ -11768,30 +11781,30 @@ FtlRead: mov r7, r1 mov r10, r3 str r2, [sp, #20] - bne .L1715 + bne .L1721 mov r2, r3 ldr r1, [sp, #20] add r0, r7, #256 bl FtlVendorPartRead mov r8, r0 -.L1714: +.L1720: mov r0, r8 add sp, sp, #60 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1715: +.L1721: ldr r3, [sp, #20] - ldr r4, .L1747 + ldr r4, .L1753 adds r3, r1, r3 str r3, [sp, #8] ldr r2, [sp, #8] ldr r3, [r4, #140] cmp r2, r3 - bhi .L1736 - ldr r3, .L1747+4 + bhi .L1742 + ldr r3, .L1753+4 ldr r3, [r3] adds r5, r3, #1 - beq .L1737 + beq .L1743 ldrh r5, [r4, #58] mov r0, r7 mov r9, #0 @@ -11820,45 +11833,45 @@ FtlRead: ldr r3, [r4, #2508] add r3, r3, r2 str r3, [r4, #2508] -.L1717: +.L1723: ldr r3, [sp, #4] - cbnz r3, .L1734 - ldr r3, .L1747 + cbnz r3, .L1740 + ldr r3, .L1753 ldrh r2, [r3, #3206] - cbnz r2, .L1735 + cbnz r2, .L1741 ldrh r3, [r3, #2344] cmp r3, #31 - bhi .L1714 -.L1735: + bhi .L1720 +.L1741: movs r1, #1 movs r0, #0 bl rk_ftl_garbage_collect - b .L1714 -.L1734: + b .L1720 +.L1740: movs r2, #0 add r1, sp, #52 mov r0, r5 bl log2phys ldr r2, [sp, #52] adds r0, r2, #1 - bne .L1718 + bne .L1724 mov fp, #0 -.L1719: +.L1725: ldrh r0, [r4, #58] cmp fp, r0 - bcc .L1721 -.L1722: + bcc .L1727 +.L1728: ldr r3, [sp, #4] adds r5, r5, #1 subs r3, r3, #1 str r3, [sp, #4] - beq .L1726 + beq .L1732 ldrh r3, [r4, #32] cmp r6, r3, lsl #2 - bne .L1717 -.L1726: + bne .L1723 +.L1732: cmp r6, #0 - beq .L1717 + beq .L1723 movs r2, #0 mov r1, r6 ldr r0, [r4, #3280] @@ -11872,7 +11885,7 @@ FtlRead: ldr r3, [sp, #28] lsls r3, r3, #9 str r3, [sp, #36] -.L1733: +.L1739: movs r3, #20 ldr r2, [r4, #3280] mul r3, r3, fp @@ -11880,20 +11893,20 @@ FtlRead: add r2, r2, r3 ldr r1, [r2, #16] cmp r0, r1 - bne .L1728 + bne .L1734 ldr r1, [r2, #8] ldr r2, [r4, #3304] cmp r1, r2 - bne .L1729 + bne .L1735 str r3, [sp, #44] mov r0, r10 ldr r3, [sp, #32] ldr r2, [sp, #36] add r1, r1, r3 -.L1746: +.L1752: bl ftl_memcpy ldr r3, [sp, #44] -.L1729: +.L1735: ldr ip, [r4, #3280] add r2, ip, r3 ldr r0, [r2, #12] @@ -11913,32 +11926,32 @@ FtlRead: streq r1, [r4, #2708] ldr r3, [ip, r3] cmp r3, #256 - bne .L1732 + bne .L1738 ldr r0, [r2, #4] ubfx r0, r0, #10, #16 bl P2V_block_in_plane bl FtlGcRefreshBlock -.L1732: +.L1738: add fp, fp, #1 cmp r6, fp - bne .L1733 + bne .L1739 movs r6, #0 - b .L1717 -.L1721: + b .L1723 +.L1727: mla r0, r0, r5, fp cmp r7, r0 - bhi .L1720 + bhi .L1726 ldr r3, [sp, #8] cmp r3, r0 - bls .L1720 + bls .L1726 subs r0, r0, r7 mov r1, #512 add r0, r10, r0, lsl #9 bl __memzero -.L1720: +.L1726: add fp, fp, #1 - b .L1719 -.L1718: + b .L1725 +.L1724: ldr r3, [r4, #3280] movs r1, #20 ldrh fp, [r4, #58] @@ -11946,7 +11959,7 @@ FtlRead: str r2, [r3, #4] ldr r2, [sp, #12] cmp r5, r2 - bne .L1723 + bne .L1729 ldr r2, [r4, #3304] mov r1, fp mov r0, r7 @@ -11963,9 +11976,9 @@ FtlRead: cmp r3, fp str r3, [sp, #28] ldr r3, [sp, #32] - bne .L1724 + bne .L1730 str r10, [r3, #8] -.L1724: +.L1730: ldrh r2, [r4, #112] ldr r1, [r4, #3328] str r5, [r3, #16] @@ -11974,34 +11987,34 @@ FtlRead: bic r2, r2, #3 add r2, r2, r1 str r2, [r3, #12] - b .L1722 -.L1723: + b .L1728 +.L1729: ldr r2, [sp, #16] cmp r5, r2 - bne .L1725 + bne .L1731 ldr r2, [r4, #3308] ldr r1, [sp, #8] str r2, [r3, #8] mul r2, fp, r5 sub r9, r1, r2 cmp fp, r9 - bne .L1724 -.L1745: + bne .L1730 +.L1751: subs r2, r2, r7 add r2, r10, r2, lsl #9 str r2, [r3, #8] - b .L1724 -.L1725: + b .L1730 +.L1731: mul r2, r5, fp - b .L1745 -.L1728: + b .L1751 +.L1734: ldr r0, [sp, #16] cmp r0, r1 - bne .L1729 + bne .L1735 ldr r1, [r2, #8] ldr r2, [r4, #3308] cmp r1, r2 - bne .L1729 + bne .L1735 str r3, [sp, #44] ldrh r0, [r4, #58] ldr r3, [sp, #16] @@ -12009,16 +12022,16 @@ FtlRead: muls r0, r3, r0 subs r0, r0, r7 add r0, r10, r0, lsl #9 - b .L1746 -.L1736: + b .L1752 +.L1742: mov r8, #-1 - b .L1714 -.L1737: + b .L1720 +.L1743: mov r8, r3 - b .L1714 -.L1748: + b .L1720 +.L1754: .align 2 -.L1747: +.L1753: .word .LANCHOR0 .word .LANCHOR2 .fnend @@ -12061,26 +12074,26 @@ FtlWrite: mov r10, r1 str r2, [sp, #12] str r3, [sp, #8] - bne .L1751 + bne .L1757 mov r2, r3 ldr r1, [sp, #12] add r0, r10, #256 bl FtlVendorPartWrite -.L1750: +.L1756: add sp, sp, #68 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1751: +.L1757: ldr r3, [sp, #12] - ldr r5, .L1802 + ldr r5, .L1808 adds r6, r1, r3 ldr r3, [r5, #140] cmp r6, r3 - bhi .L1788 - ldr r4, .L1802+4 + bhi .L1794 + ldr r4, .L1808+4 ldr r0, [r4] adds r7, r0, #1 - beq .L1750 + beq .L1756 ldrh r7, [r5, #58] mov r3, #2048 str r3, [r5, #3664] @@ -12106,68 +12119,68 @@ FtlWrite: add r3, r3, r2 str r3, [r5, #2516] ldr r3, [r4, #8] - cbz r3, .L1790 + cbz r3, .L1796 ldrh r2, [r5, #2352] addw r3, r5, #2348 addw r5, r5, #2396 cmp r2, #0 it ne movne r5, r3 -.L1753: +.L1759: ldr r7, [sp, #4] - ldr r4, .L1802 -.L1754: + ldr r4, .L1808 +.L1760: ldr r3, [sp] - cbnz r3, .L1783 + cbnz r3, .L1789 mov r0, r3 ldr r1, [sp, #24] bl rk_ftl_garbage_collect ldrh r3, [r4, #2344] cmp r3, #5 - bls .L1784 -.L1786: + bls .L1790 +.L1792: movs r0, #0 - b .L1750 -.L1790: + b .L1756 +.L1796: addw r5, r5, #2348 - b .L1753 -.L1783: + b .L1759 +.L1789: ldrb r2, [r5, #6] @ zero_extendqisi2 ldrh r3, [r4, #32] cmp r2, r3 - bcc .L1755 + bcc .L1761 movw r2, #1011 - ldr r1, .L1802+8 - ldr r0, .L1802+12 + ldr r1, .L1808+8 + ldr r0, .L1808+12 bl sftl_printk -.L1755: +.L1761: ldrh r2, [r5, #4] - cbnz r2, .L1756 - ldr r3, .L1802+16 - ldr r6, .L1802+4 + cbnz r2, .L1762 + ldr r3, .L1808+16 + ldr r6, .L1808+4 cmp r5, r3 - bne .L1757 + bne .L1763 ldrh r8, [r4, #2400] cmp r8, #0 - bne .L1758 + bne .L1764 add r0, r5, #48 bl allocate_new_data_superblock str r8, [r6, #8] -.L1758: - ldr r5, .L1802+16 - ldr r0, .L1802+16 +.L1764: + ldr r5, .L1808+16 + ldr r0, .L1808+16 bl allocate_new_data_superblock ldr r2, [r6, #8] add r3, r5, #48 cmp r2, #0 it ne movne r5, r3 -.L1759: +.L1765: ldrh r3, [r5, #4] - cbnz r3, .L1756 + cbnz r3, .L1762 mov r0, r5 bl allocate_new_data_superblock -.L1756: +.L1762: ldrh r2, [r5, #4] ldr r3, [sp] cmp r2, r3 @@ -12182,18 +12195,18 @@ FtlWrite: str r2, [sp, #36] ldrb r2, [r5, #6] @ zero_extendqisi2 cmp r2, r3 - bcc .L1760 + bcc .L1766 movw r2, #1044 - ldr r1, .L1802+8 - ldr r0, .L1802+12 + ldr r1, .L1808+8 + ldr r0, .L1808+12 bl sftl_printk -.L1760: +.L1766: mov fp, #0 -.L1761: +.L1767: ldr r3, [sp, #36] cmp fp, r3 - bne .L1781 -.L1762: + bne .L1787 +.L1768: mov r3, r5 movs r2, #0 mov r1, fp @@ -12201,30 +12214,30 @@ FtlWrite: bl FtlProgPages ldr r3, [sp] cmp fp, r3 - bls .L1782 + bls .L1788 movw r2, #1121 - ldr r1, .L1802+8 - ldr r0, .L1802+12 + ldr r1, .L1808+8 + ldr r0, .L1808+12 bl sftl_printk -.L1782: +.L1788: ldr r3, [sp] sub r3, r3, fp str r3, [sp] - b .L1754 -.L1757: + b .L1760 +.L1763: str r2, [r6, #8] ldrh r2, [r4, #2352] - cbnz r2, .L1793 + cbnz r2, .L1799 mov r0, r5 bl allocate_new_data_superblock - b .L1759 -.L1793: + b .L1765 +.L1799: mov r5, r3 - b .L1756 -.L1781: + b .L1762 +.L1787: ldrh r3, [r5, #4] cmp r3, #0 - beq .L1762 + beq .L1768 movs r2, #0 add r1, sp, #40 mov r0, r7 @@ -12251,10 +12264,10 @@ FtlWrite: bl ftl_memset ldr r3, [sp, #4] cmp r7, r3 - beq .L1763 + beq .L1769 ldr r3, [sp, #20] cmp r7, r3 - bne .L1798 + bne .L1804 ldrh r2, [r4, #58] ldr r3, [sp, #12] smulbb r2, r2, r7 @@ -12263,8 +12276,8 @@ FtlWrite: str r3, [sp, #16] subs r6, r6, r2 uxth r6, r6 - b .L1766 -.L1763: + b .L1772 +.L1769: ldrh r6, [r4, #58] mov r0, r10 mov r1, r6 @@ -12275,11 +12288,11 @@ FtlWrite: cmp r6, r3 it cs movcs r6, r3 -.L1766: +.L1772: ldrh r3, [r4, #58] cmp r6, r3 ldr r3, [sp, #4] - bne .L1767 + bne .L1773 cmp r7, r3 ldr r3, [r4, #3288] itte ne @@ -12292,16 +12305,16 @@ FtlWrite: streq r2, [r3, #8] addne r6, r2, r6, lsl #9 strne r6, [r3, #8] -.L1769: +.L1775: ldrb r2, [r5, #6] @ zero_extendqisi2 ldrh r3, [r4, #32] cmp r2, r3 - bcc .L1778 + bcc .L1784 mov r2, #1112 - ldr r1, .L1802+8 - ldr r0, .L1802+12 + ldr r1, .L1808+8 + ldr r0, .L1808+12 bl sftl_printk -.L1778: +.L1784: ldr r2, [sp, #32] movw r3, #61589 ldr r1, [sp, #28] @@ -12320,8 +12333,8 @@ FtlWrite: str r3, [r9, #12] ldrh r3, [r5] strh r3, [r9, #2] @ movhi - b .L1761 -.L1767: + b .L1767 +.L1773: cmp r7, r3 ldr r3, [r4, #3288] ite eq @@ -12331,7 +12344,7 @@ FtlWrite: str r2, [r3, #8] ldr r3, [sp, #40] adds r1, r3, #1 - beq .L1772 + beq .L1778 str r3, [sp, #48] movs r1, #1 ldr r3, [r4, #3288] @@ -12346,61 +12359,61 @@ FtlWrite: bl FlashReadPages ldr r3, [sp, #44] adds r3, r3, #1 - bne .L1773 + bne .L1779 ldr r3, [r4, #2708] adds r3, r3, #1 str r3, [r4, #2708] -.L1776: +.L1782: ldr r3, [sp, #4] lsls r2, r6, #9 cmp r7, r3 - bne .L1777 + bne .L1783 ldr r3, [r4, #3288] ldr r1, [sp, #8] add r3, r3, r8 ldr r0, [r3, #8] ldr r3, [sp, #16] add r0, r0, r3, lsl #9 -.L1800: +.L1806: bl ftl_memcpy - b .L1769 -.L1803: + b .L1775 +.L1809: .align 2 -.L1802: +.L1808: .word .LANCHOR0 .word .LANCHOR2 .word .LANCHOR1+606 .word .LC1 .word .LANCHOR0+2348 -.L1773: +.L1779: ldr r3, [r9, #8] cmp r7, r3 - beq .L1775 + beq .L1781 ldr r3, [r4, #2708] mov r2, r7 - ldr r0, .L1804 + ldr r0, .L1810 adds r3, r3, #1 str r3, [r4, #2708] ldr r1, [r9, #8] bl sftl_printk -.L1775: +.L1781: ldr r3, [r9, #8] cmp r7, r3 - beq .L1776 + beq .L1782 movw r2, #1097 - ldr r1, .L1804+4 - ldr r0, .L1804+8 + ldr r1, .L1810+4 + ldr r0, .L1810+8 bl sftl_printk - b .L1776 -.L1772: + b .L1782 +.L1778: ldr r3, [r4, #3288] movs r1, #0 ldrh r2, [r4, #110] add r3, r3, r8 ldr r0, [r3, #8] bl ftl_memset - b .L1776 -.L1777: + b .L1782 +.L1783: ldrh r1, [r4, #58] ldr r0, [sp, #8] ldr r3, [r4, #3288] @@ -12409,8 +12422,8 @@ FtlWrite: sub r1, r1, r10 add r1, r0, r1, lsl #9 ldr r0, [r3, #8] - b .L1800 -.L1798: + b .L1806 +.L1804: ldr r3, [r4, #3288] ldr r2, [sp, #8] add r8, r8, r3 @@ -12419,22 +12432,22 @@ FtlWrite: sub r3, r3, r10 add r3, r2, r3, lsl #9 str r3, [r8, #8] - b .L1769 -.L1784: + b .L1775 +.L1790: mov r5, #256 movw r6, #65535 -.L1787: +.L1793: ldrh r3, [r4, #2588] cmp r3, r6 - bne .L1785 + bne .L1791 ldrh r3, [r4, #3202] cmp r3, r6 - bne .L1785 + bne .L1791 movs r0, #0 bl List_get_gc_head_node uxth r0, r0 bl FtlGcRefreshBlock -.L1785: +.L1791: movs r1, #1 movs r3, #128 mov r0, r1 @@ -12446,16 +12459,16 @@ FtlWrite: bl rk_ftl_garbage_collect ldrh r3, [r4, #2344] cmp r3, #2 - bhi .L1786 + bhi .L1792 subs r5, r5, #1 - bne .L1787 - b .L1786 -.L1788: + bne .L1793 + b .L1792 +.L1794: mov r0, #-1 - b .L1750 -.L1805: + b .L1756 +.L1811: .align 2 -.L1804: +.L1810: .word .LC114 .word .LANCHOR1+606 .word .LC1 @@ -12483,27 +12496,27 @@ sftl_write: mov fp, r0 str r1, [sp, #20] str r2, [sp, #40] - ldr r4, .L1849 - bls .L1807 + ldr r4, .L1855 + bls .L1813 cmp r0, #576 - bls .L1808 -.L1807: + bls .L1814 +.L1813: ldr r3, [r4, #3668] - cbz r3, .L1809 + cbz r3, .L1815 ldr r10, [r4, #3672] - ldr r3, .L1849+4 + ldr r3, .L1855+4 ldr r2, [r10] cmp r2, r3 - beq .L1810 -.L1827: - ldr r4, .L1849 + beq .L1816 +.L1833: + ldr r4, .L1855 movs r3, #0 ldr r0, [r4, #3672] str r3, [r4, #3668] bl kfree ldr r0, [r4, #3676] bl kfree -.L1809: +.L1815: ldr r3, [sp, #40] mov r1, fp ldr r2, [sp, #20] @@ -12512,15 +12525,15 @@ sftl_write: add sp, sp, #132 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1810: +.L1816: ldrh r5, [r4, #14] add r0, r10, #262144 ldrh r4, [r4, #10] movs r3, #0 movw r2, #65535 -.L1814: +.L1820: ldr r1, [r0, #-4] - cbnz r1, .L1811 + cbnz r1, .L1817 ldr r1, [r10, r3, lsl #2] adds r3, r3, #1 cmp r3, #4096 @@ -12529,20 +12542,20 @@ sftl_write: movhi r3, #0 cmp r2, #4096 str r1, [r0, #-4]! - bne .L1814 + bne .L1820 mov r3, #512 str r3, [sp, #8] - b .L1813 -.L1811: + b .L1819 +.L1817: add r3, r2, #127 - ldr r0, .L1849+8 + ldr r0, .L1855+8 lsrs r3, r3, #7 str r3, [sp, #8] bl sftl_printk -.L1813: +.L1819: uxtb r5, r5 smulbb r5, r5, r4 - ldr r4, .L1849 + ldr r4, .L1855 uxth r3, r5 movs r5, #0 str r3, [sp, #12] @@ -12561,10 +12574,10 @@ sftl_write: ldr r3, [sp, #8] lsls r3, r3, #7 str r3, [sp, #52] - b .L1826 -.L1834: + b .L1832 +.L1840: str r3, [sp, #36] -.L1826: +.L1832: mov r1, #512 ldr r0, [r4, #3676] bl __memzero @@ -12585,7 +12598,7 @@ sftl_write: blx r3 ldr r3, [sp, #24] cmp r3, r6 - bls .L1815 + bls .L1821 mov r1, r7 adds r0, r6, r5 bl __aeabi_uidiv @@ -12593,7 +12606,7 @@ sftl_write: mov r1, r0 movs r0, #0 blx r3 -.L1815: +.L1821: mov r1, r6 mov r0, r5 bl __aeabi_uidivmod @@ -12601,10 +12614,10 @@ sftl_write: mov r9, r1 subs r3, r5, r1 str r3, [sp, #44] -.L1816: +.L1822: ldr r3, [sp, #24] cmp r3, r6 - bhi .L1817 + bhi .L1823 ldrb r8, [r4, #14] @ zero_extendqisi2 mov r0, r5 ldr r3, [r4, #3676] @@ -12624,10 +12637,10 @@ sftl_write: str r3, [sp, #56] bl __aeabi_idivmod uxth r7, r1 -.L1818: +.L1824: ldr r3, [sp, #8] cmp r6, r3 - bcs .L1822 + bcs .L1828 ldr r3, [sp, #44] mov r1, r8 sub r9, r3, r7 @@ -12651,25 +12664,25 @@ sftl_write: movs r0, #0 blx r7 adds r0, r0, #1 - bne .L1819 -.L1822: + bne .L1825 +.L1828: ldr r0, [r4, #3676] mov r1, r10 movs r6, #0 -.L1820: +.L1826: mov r8, r1 ldr r2, [r0, r6, lsl #2] ldr r3, [r8] lsls r7, r6, #2 adds r1, r1, #4 cmp r2, r3 - beq .L1823 + beq .L1829 mov r1, #512 bl __memzero ldr r2, [r4, #3676] mov r1, r5 str r6, [sp] - ldr r0, .L1849+12 + ldr r0, .L1855+12 ldr r3, [r8] ldr r2, [r2, r7] bl sftl_printk @@ -12679,13 +12692,13 @@ sftl_write: blx r3 ldr r3, [sp, #16] cmp r3, #1 - bls .L1833 + bls .L1839 ldr r2, [sp, #12] movs r0, #0 ldr r3, [r4, #3248] adds r1, r2, r5 blx r3 -.L1833: +.L1839: ldr r2, [sp, #36] ldr r3, [sp, #16] add r3, r3, r2 @@ -12693,9 +12706,9 @@ sftl_write: add r5, r5, r2 ldr r2, [sp, #36] cmp r2, #15 - bls .L1834 - b .L1827 -.L1817: + bls .L1840 + b .L1833 +.L1823: mov r1, r8 add r0, r9, r6 bl __aeabi_uidiv @@ -12718,26 +12731,26 @@ sftl_write: ldr r3, [sp, #32] add r6, r6, r3 uxth r6, r6 - b .L1816 -.L1819: + b .L1822 +.L1825: add r6, r6, r9 movs r7, #0 uxth r6, r6 - b .L1818 -.L1823: + b .L1824 +.L1829: ldr r3, [sp, #52] adds r6, r6, #1 cmp r6, r3 - bne .L1820 + bne .L1826 ldr r3, [sp, #28] adds r3, r3, #1 cmp r3, #5 str r3, [sp, #28] - bls .L1833 - b .L1827 -.L1808: + bls .L1839 + b .L1833 +.L1814: cmp r0, #64 - bne .L1828 + bne .L1834 mov r0, #262144 bl ftl_malloc str r0, [r4, #3672] @@ -12745,23 +12758,23 @@ sftl_write: bl ftl_malloc ldr r3, [r4, #3672] str r0, [r4, #3676] - cbz r3, .L1829 - cbz r0, .L1829 + cbz r3, .L1835 + cbz r0, .L1835 movs r2, #1 mov r1, #262144 mov r0, r3 str r2, [r4, #3668] bl __memzero -.L1828: +.L1834: cmp fp, #63 ldr r0, [r4, #3672] - bhi .L1830 + bhi .L1836 ldr r3, [sp, #20] rsb r1, fp, #64 subs r2, r3, r1 ldr r3, [sp, #40] add r1, r3, r1, lsl #9 -.L1831: +.L1837: cmp r6, #576 ittt hi subhi r2, r2, r5 @@ -12769,22 +12782,22 @@ sftl_write: addhi r2, r2, r3 lsls r2, r2, #9 bl ftl_memcpy - b .L1809 -.L1829: - ldr r1, .L1849+16 - ldr r0, .L1849+20 + b .L1815 +.L1835: + ldr r1, .L1855+16 + ldr r0, .L1855+20 bl sftl_printk - b .L1828 -.L1830: - ldr r3, .L1849+24 + b .L1834 +.L1836: + ldr r3, .L1855+24 ldr r1, [sp, #40] ldr r2, [sp, #20] add r3, r3, fp add r0, r0, r3, lsl #9 - b .L1831 -.L1850: + b .L1837 +.L1856: .align 2 -.L1849: +.L1855: .word .LANCHOR0 .word -52655045 .word .LC115 @@ -12808,47 +12821,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, .L1870+4 + ldr r9, .L1876+4 bl FtlBbtMemInit sub r5, r9, #180 sub r10, r9, #18 mov r4, r5 bl FtlLoadFactoryBbt -.L1852: +.L1858: ldrh r3, [r5, #54] cmp r8, r3 - bcc .L1858 + bcc .L1864 movs r5, #0 -.L1859: +.L1865: ldrh r3, [r4, #114] uxth r0, r5 adds r5, r5, #1 cmp r3, r0 - bhi .L1860 + bhi .L1866 ldrh r5, [r4, #164] movw r6, #65535 subs r5, r5, #1 uxth r5, r5 -.L1861: +.L1867: ldrh r3, [r4, #164] subs r3, r3, #48 cmp r5, r3 - ble .L1865 + ble .L1871 mov r0, r5 bl FtlBbmIsBadBlock cmp r0, #1 - beq .L1862 + beq .L1868 mov r0, r5 bl FlashTestBlk cmp r0, #0 - beq .L1863 + beq .L1869 mov r0, r5 bl FtlBbmMapBadBlock -.L1862: +.L1868: subs r5, r5, #1 uxth r5, r5 - b .L1861 -.L1858: + b .L1867 +.L1864: ldrh r3, [r10, #2]! movw r2, #65535 ldr r0, [r5, #3292] @@ -12856,11 +12869,11 @@ FtlMakeBbt: cmp r3, r2 str r0, [r5, #3452] str fp, [r5, #3456] - beq .L1853 + beq .L1859 ldrh r7, [r5, #98] movs r2, #1 mov r1, r2 - ldr r0, .L1870 + ldr r0, .L1876 mla r7, r8, r7, r3 lsls r3, r7, #10 str r3, [r5, #3448] @@ -12871,29 +12884,29 @@ FtlMakeBbt: adds r2, r2, #7 asrs r2, r2, #3 bl ftl_memcpy -.L1854: +.L1860: uxth r0, r7 add r8, r8, #1 add r9, r9, #4 bl FtlBbmMapBadBlock - b .L1852 -.L1853: + b .L1858 +.L1859: mov r1, r8 bl FlashGetBadBlockList ldr r1, [r9] ldr r0, [r5, #3452] bl FtlBbt2Bitmap ldrh r6, [r5, #98] -.L1856: +.L1862: subs r6, r6, #1 uxth r6, r6 -.L1855: +.L1861: ldrh r0, [r4, #98] smlabb r0, r0, r8, r6 uxth r0, r0 bl FtlBbmIsBadBlock cmp r0, #1 - beq .L1856 + beq .L1862 movs r1, #16 ldr r0, [r4, #3324] strh r6, [r10] @ movhi @@ -12918,32 +12931,32 @@ FtlMakeBbt: str r3, [r4, #3448] bl ftl_memcpy movs r2, #1 - ldr r0, .L1870 + ldr r0, .L1876 mov r1, r2 bl FlashEraseBlocks movs r3, #1 - ldr r0, .L1870 + ldr r0, .L1876 mov r2, r3 mov r1, r3 bl FlashProgPages ldr r3, [r4, #3444] adds r3, r3, #1 - bne .L1854 + bne .L1860 uxth r0, r7 bl FtlBbmMapBadBlock - b .L1855 -.L1860: + b .L1861 +.L1866: bl FtlBbmMapBadBlock - b .L1859 -.L1863: + b .L1865 +.L1869: ldrh r3, [r4, #152] cmp r3, r6 - bne .L1864 + bne .L1870 strh r5, [r4, #152] @ movhi - b .L1862 -.L1864: + b .L1868 +.L1870: strh r5, [r4, #156] @ movhi -.L1865: +.L1871: ldrh r3, [r4, #152] movs r5, #0 ldr r0, [r4, #3260] @@ -12973,9 +12986,9 @@ FtlMakeBbt: bl FtlBbmTblFlush mov r0, r5 pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1871: +.L1877: .align 2 -.L1870: +.L1876: .word .LANCHOR0+3444 .word .LANCHOR0+180 .fnend @@ -12994,42 +13007,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, .L1896 + ldr r4, .L1902 ldrh r0, [r4, #36] str r3, [r4, #2540] str r3, [r4, #2544] bl FtlFreeSysBlkQueueInit bl FtlLoadBbt - cbz r0, .L1873 + cbz r0, .L1879 bl FtlMakeBbt -.L1873: - ldr r0, .L1896+4 +.L1879: + ldr r0, .L1902+4 movs r2, #0 -.L1874: +.L1880: ldrh r1, [r4, #58] uxth r3, r2 adds r2, r2, #1 cmp r3, r1, lsl #7 - blt .L1875 + blt .L1881 ldrh r6, [r4, #40] movs r5, #0 -.L1876: +.L1882: ldrh r3, [r4, #42] cmp r3, r6 - bhi .L1877 + bhi .L1883 ldrh r1, [r4, #32] subs r3, r5, #3 cmp r3, r1, lsl #1 - bge .L1878 -.L1882: + bge .L1884 +.L1888: movs r5, #0 mov r6, r5 -.L1879: +.L1885: ldrh r3, [r4, #40] uxth r0, r5 adds r5, r5, #1 cmp r3, r0 - bhi .L1883 + bhi .L1889 ldrh r3, [r4, #42] ldrh r5, [r4, #32] ldr r9, [r4, #44] @@ -13045,7 +13058,7 @@ ftl_low_format: movs r3, #24 muls r3, r5, r3 cmp r6, r3 - ble .L1884 + ble .L1890 mov r1, r5 sub r0, r9, r6 bl __aeabi_uidiv @@ -13053,9 +13066,9 @@ ftl_low_format: lsrs r0, r0, #5 adds r0, r0, #24 strh r0, [r4, #2572] @ movhi -.L1884: +.L1890: ldrh r3, [r4, #94] - cbz r3, .L1886 + cbz r3, .L1892 ldrh r2, [r4, #2572] add r2, r2, r3, lsr #1 strh r2, [r4, #2572] @ movhi @@ -13066,10 +13079,10 @@ ftl_low_format: strlt r8, [r4, #2504] addlt r3, r3, r7 strhlt r3, [r4, #2572] @ movhi -.L1886: +.L1892: ldrh r2, [r4, #2572] ldr r3, [r4, #2504] - ldr r6, .L1896+8 + ldr r6, .L1902+8 subs r3, r3, r2 muls r5, r3, r5 ldrh r3, [r4, #102] @@ -13102,28 +13115,28 @@ ftl_low_format: strh r5, [r4, #2588] @ movhi strb r3, [r4, #2356] bl ftl_memset -.L1888: +.L1894: mov r0, r6 bl make_superblock ldrb r3, [r4, #2355] @ zero_extendqisi2 ldrh r2, [r4, #2348] cmp r3, #0 - bne .L1889 + bne .L1895 ldr r3, [r4, #2324] strh r5, [r3, r2, lsl #1] @ movhi ldrh r3, [r4, #2348] adds r3, r3, #1 strh r3, [r4, #2348] @ movhi - b .L1888 -.L1875: + b .L1894 +.L1881: ldr r5, [r4, #3304] mvns r1, r3 orr r1, r3, r1, lsl #16 str r1, [r5, r3, lsl #2] ldr r1, [r4, #3308] str r0, [r1, r3, lsl #2] - b .L1874 -.L1877: + b .L1880 +.L1883: mov r0, r6 movs r1, #1 bl FtlLowFormatEraseBlock @@ -13131,8 +13144,8 @@ ftl_low_format: add r5, r5, r0 uxth r5, r5 uxth r6, r6 - b .L1876 -.L1878: + b .L1882 +.L1884: mov r0, r5 bl __aeabi_uidiv ldr r3, [r4, #132] @@ -13142,27 +13155,27 @@ ftl_low_format: ldrh r0, [r4, #36] bl FtlFreeSysBlkQueueInit ldrh r5, [r4, #40] -.L1880: +.L1886: ldrh r3, [r4, #42] cmp r3, r5 - bls .L1882 + bls .L1888 mov r0, r5 movs r1, #1 adds r5, r5, #1 bl FtlLowFormatEraseBlock uxth r5, r5 - b .L1880 -.L1883: + b .L1886 +.L1889: movs r1, #0 bl FtlLowFormatEraseBlock add r6, r6, r0 uxth r6, r6 - b .L1879 -.L1889: + b .L1885 +.L1895: ldr r3, [r4, #2540] movw r5, #65535 ldrh r1, [r4, #2352] - ldr r6, .L1896+12 + ldr r6, .L1902+12 str r3, [r4, #2360] adds r3, r3, #1 str r3, [r4, #2540] @@ -13176,19 +13189,19 @@ ftl_low_format: strh r3, [r4, #2396] @ movhi movs r3, #1 strb r3, [r4, #2404] -.L1890: +.L1896: mov r0, r6 bl make_superblock ldrb r3, [r4, #2403] @ zero_extendqisi2 ldrh r2, [r4, #2396] - cbnz r3, .L1891 + cbnz r3, .L1897 ldr r3, [r4, #2324] strh r5, [r3, r2, lsl #1] @ movhi ldrh r3, [r4, #2396] adds r3, r3, #1 strh r3, [r4, #2396] @ movhi - b .L1890 -.L1891: + b .L1896 +.L1897: ldr r3, [r4, #2540] movw r5, #65535 ldrh r1, [r4, #2400] @@ -13211,16 +13224,16 @@ ftl_low_format: str r3, [r4, #2540] bl FtlVpcTblFlush bl FtlSysBlkInit - cbnz r0, .L1892 - ldr r3, .L1896+16 + cbnz r0, .L1898 + ldr r3, .L1902+16 movs r2, #1 str r2, [r3] -.L1892: +.L1898: movs r0, #0 pop {r3, r4, r5, r6, r7, r8, r9, pc} -.L1897: +.L1903: .align 2 -.L1896: +.L1902: .word .LANCHOR0 .word 168778952 .word .LANCHOR0+2348 @@ -13255,19 +13268,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, .L1902 + ldr r2, .L1908 ldr r3, [r2, #3680] - cbnz r3, .L1901 + cbnz r3, .L1907 str r0, [r2, #3680] mov r0, r3 str r1, [r2, #3684] bx lr -.L1901: +.L1907: mov r0, #-1 bx lr -.L1903: +.L1909: .align 2 -.L1902: +.L1908: .word .LANCHOR0 .fnend .size rk_sftl_vendor_dev_ops_register, .-rk_sftl_vendor_dev_ops_register @@ -13285,55 +13298,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, .L1912 + ldr r4, .L1918 bl ftl_malloc str r0, [r4, #3688] cmp r0, #0 - beq .L1910 - ldr r8, .L1912+4 + beq .L1916 + ldr r8, .L1918+4 mov r9, #0 mov r7, r9 mov r6, r9 -.L1908: +.L1914: ldr r3, [r4, #3680] movs r1, #128 ldr r2, [r4, #3688] lsls r0, r6, #7 blx r3 mov r5, r0 - cbnz r0, .L1906 + cbnz r0, .L1912 ldr r2, [r4, #3688] ldr r3, [r2] cmp r3, r8 - bne .L1907 + bne .L1913 movw r3, #65532 ldr r1, [r2, r3] ldr r3, [r2, #4] cmp r1, r3 - bne .L1907 + bne .L1913 cmp r1, r7 itt hi movhi r9, r6 movhi r7, r1 -.L1907: +.L1913: adds r6, r6, #1 cmp r6, #2 - bne .L1908 - cbz r7, .L1909 + bne .L1914 + cbz r7, .L1915 ldr r3, [r4, #3680] movs r1, #128 lsl r0, r9, #7 blx r3 mov r5, r0 - cbz r0, .L1904 -.L1906: + cbz r0, .L1910 +.L1912: ldr r0, [r4, #3688] mov r5, #-1 bl kfree movs r3, #0 str r3, [r4, #3688] - b .L1904 -.L1909: + b .L1910 +.L1915: mov r1, #65536 mov r0, r2 bl __memzero @@ -13346,15 +13359,15 @@ rk_sftl_vendor_storage_init: movw r2, #64504 strh r7, [r3, #12] @ movhi strh r2, [r3, #14] @ movhi -.L1904: +.L1910: mov r0, r5 pop {r3, r4, r5, r6, r7, r8, r9, pc} -.L1910: +.L1916: mvn r5, #11 - b .L1904 -.L1913: + b .L1910 +.L1919: .align 2 -.L1912: +.L1918: .word .LANCHOR0 .word 1380668996 .fnend @@ -13373,23 +13386,23 @@ rk_sftl_vendor_read: push {r3, r4, r5, r6, r7, lr} .save {r3, r4, r5, r6, r7, lr} mov r7, r0 - ldr r3, .L1920 + ldr r3, .L1926 mov r0, r1 ldr r5, [r3, #3688] - cbz r5, .L1919 + cbz r5, .L1925 ldrh r6, [r5, #10] movs r3, #0 -.L1916: +.L1922: cmp r3, r6 - bcc .L1918 -.L1919: + bcc .L1924 +.L1925: mov r0, #-1 pop {r3, r4, r5, r6, r7, pc} -.L1918: +.L1924: add r1, r5, r3, lsl #3 ldrh r4, [r1, #16] cmp r4, r7 - bne .L1917 + bne .L1923 ldrh r4, [r1, #20] ldrh r1, [r1, #18] cmp r4, r2 @@ -13401,12 +13414,12 @@ rk_sftl_vendor_read: bl memcpy mov r0, r4 pop {r3, r4, r5, r6, r7, pc} -.L1917: +.L1923: adds r3, r3, #1 - b .L1916 -.L1921: + b .L1922 +.L1927: .align 2 -.L1920: +.L1926: .word .LANCHOR0 .fnend .size rk_sftl_vendor_read, .-rk_sftl_vendor_read @@ -13424,26 +13437,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, .L1941 + ldr r2, .L1947 .pad #28 sub sp, sp, #28 mov r3, r1 ldr r4, [r2, #3688] mov r9, r2 cmp r4, #0 - beq .L1937 + beq .L1943 ldrh r2, [r4, #10] add r6, r8, #63 ldrh r1, [r4, #8] bic r6, r6, #63 movs r7, #0 str r1, [sp, #4] -.L1924: +.L1930: cmp r7, r2 - bcc .L1932 + bcc .L1938 ldrh r1, [r4, #14] cmp r6, r1 - bhi .L1937 + bhi .L1943 add r2, r4, r2, lsl #3 uxth r6, r6 strh r0, [r2, #16] @ movhi @@ -13476,31 +13489,31 @@ rk_sftl_vendor_write: movhi r3, #0 strh r3, [r4, #8] @ movhi ldr r3, [r9, #3684] - b .L1940 -.L1932: + b .L1946 +.L1938: add r5, r4, r7, lsl #3 ldrh r1, [r5, #16] cmp r1, r0 str r1, [sp, #8] - bne .L1925 + bne .L1931 ldrh r1, [r5, #20] add fp, r4, #1024 adds r1, r1, #63 bic r1, r1, #63 cmp r8, r1 str r1, [sp, #12] - bls .L1926 + bls .L1932 ldrh r1, [r4, #14] cmp r6, r1 - bhi .L1937 + bhi .L1943 ldrh r10, [r5, #18] subs r2, r2, #1 str r2, [sp, #16] -.L1927: +.L1933: ldr r2, [sp, #16] adds r5, r5, #8 cmp r7, r2 - bcc .L1928 + bcc .L1934 ldrh r2, [sp, #8] add r7, r4, r7, lsl #3 uxth r5, r10 @@ -13519,7 +13532,7 @@ rk_sftl_vendor_write: strh r5, [r4, #12] @ movhi add r6, r6, r3 strh r6, [r4, #14] @ movhi -.L1929: +.L1935: ldr r3, [r4, #4] movw r2, #65532 adds r3, r3, #1 @@ -13532,20 +13545,20 @@ rk_sftl_vendor_write: it hi movhi r3, #0 strh r3, [r4, #8] @ movhi - ldr r3, .L1941 + ldr r3, .L1947 ldr r3, [r3, #3684] -.L1940: +.L1946: ldr r0, [sp, #4] mov r2, r4 movs r1, #128 lsls r0, r0, #7 blx r3 movs r0, #0 -.L1922: +.L1928: add sp, sp, #28 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1928: +.L1934: ldrh r9, [r5, #20] add r0, fp, r10 ldrh r2, [r5, #16] @@ -13562,24 +13575,24 @@ rk_sftl_vendor_write: add r10, r10, r9 bl memcpy ldr r3, [sp, #20] - b .L1927 -.L1926: + b .L1933 +.L1932: ldrh r0, [r5, #18] mov r2, r8 mov r1, r3 add r0, r0, fp bl memcpy strh r8, [r5, #20] @ movhi - b .L1929 -.L1925: + b .L1935 +.L1931: adds r7, r7, #1 - b .L1924 -.L1937: + b .L1930 +.L1943: mov r0, #-1 - b .L1922 -.L1942: + b .L1928 +.L1948: .align 2 -.L1941: +.L1947: .word .LANCHOR0 .fnend .size rk_sftl_vendor_write, .-rk_sftl_vendor_write @@ -13602,18 +13615,18 @@ rk_sftl_vendor_storage_ioctl: bl ftl_malloc mov r4, r0 cmp r0, #0 - beq .L1957 - ldr r3, .L1969 + beq .L1963 + ldr r3, .L1975 cmp r6, r3 - beq .L1946 + beq .L1952 adds r3, r3, #1 cmp r6, r3 - beq .L1947 -.L1968: + beq .L1953 +.L1974: mvn r5, #13 - b .L1945 -.L1946: - ldr r6, .L1969+4 + b .L1951 +.L1952: + ldr r6, .L1975+4 mov r3, sp ands r3, r3, r6 ldr r3, [r3, #72] @@ -13624,31 +13637,31 @@ rk_sftl_vendor_storage_ioctl: .thumb .syntax unified cmp r3, #0 - bne .L1953 + bne .L1959 movs r2, #8 mov r1, r5 bl arm_copy_from_user cmp r0, #0 - bne .L1968 + bne .L1974 ldr r2, [r4] - ldr r3, .L1969+8 + ldr r3, .L1975+8 cmp r2, r3 - beq .L1951 -.L1952: + beq .L1957 +.L1958: mov r5, #-1 -.L1945: +.L1951: mov r0, r4 bl kfree -.L1943: +.L1949: mov r0, r5 pop {r4, r5, r6, pc} -.L1951: +.L1957: ldrh r2, [r4, #6] add r1, r4, #8 ldrh r0, [r4, #4] bl rk_sftl_vendor_read adds r3, r0, #1 - beq .L1952 + beq .L1958 mov r3, sp uxth r2, r0 ands r6, r6, r3 @@ -13662,17 +13675,17 @@ rk_sftl_vendor_storage_ioctl: .thumb .syntax unified cmp r3, #0 - bne .L1968 + bne .L1974 mov r1, r4 mov r0, r5 bl arm_copy_to_user cmp r0, #0 - bne .L1968 -.L1959: + bne .L1974 +.L1965: mov r5, r0 - b .L1945 -.L1947: - ldr r6, .L1969+4 + b .L1951 +.L1953: + ldr r6, .L1975+4 mov r3, sp ands r3, r3, r6 ldr r3, [r3, #72] @@ -13682,20 +13695,20 @@ rk_sftl_vendor_storage_ioctl: @ 0 "" 2 .thumb .syntax unified - cbnz r3, .L1953 + cbnz r3, .L1959 movs r2, #8 mov r1, r5 bl arm_copy_from_user cmp r0, #0 - bne .L1968 + bne .L1974 ldr r2, [r4] - ldr r3, .L1969+8 + ldr r3, .L1975+8 cmp r2, r3 - bne .L1952 + bne .L1958 ldrh r2, [r4, #6] movw r3, #4087 cmp r2, r3 - bhi .L1952 + bhi .L1958 mov r3, sp adds r2, r2, #8 ands r6, r6, r3 @@ -13706,32 +13719,32 @@ rk_sftl_vendor_storage_ioctl: @ 0 "" 2 .thumb .syntax unified - cbnz r3, .L1955 + cbnz r3, .L1961 mov r1, r5 mov r0, r4 bl arm_copy_from_user cmp r0, #0 - bne .L1968 + bne .L1974 ldrh r2, [r4, #6] add r1, r4, #8 ldrh r0, [r4, #4] bl rk_sftl_vendor_write - b .L1959 -.L1953: + b .L1965 +.L1959: movs r1, #8 -.L1967: +.L1973: bl __memzero - b .L1968 -.L1955: + b .L1974 +.L1961: mov r1, r2 mov r0, r4 - b .L1967 -.L1957: + b .L1973 +.L1963: mov r5, #-1 - b .L1943 -.L1970: + b .L1949 +.L1976: .align 2 -.L1969: +.L1975: .word 1074034177 .word -8192 .word 1448232273 @@ -13749,11 +13762,11 @@ rk_sftl_vendor_register: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r0, .L1972 + ldr r0, .L1978 b misc_register -.L1973: +.L1979: .align 2 -.L1972: +.L1978: .word .LANCHOR2+12 .fnend .size rk_sftl_vendor_register, .-rk_sftl_vendor_register @@ -13937,9 +13950,9 @@ __func__.7243: .size __func__.7418, 19 __func__.7418: .ascii "get_new_active_ppa\000" - .type __func__.17812, %object - .size __func__.17812, 17 -__func__.17812: + .type __func__.17825, %object + .size __func__.17825, 17 +__func__.17825: .ascii "FlashEraseBlocks\000" .type __func__.6855, %object .size __func__.6855, 26 @@ -13957,9 +13970,9 @@ __func__.6587: .size __func__.7264, 18 __func__.7264: .ascii "SupperBlkListInit\000" - .type __func__.17771, %object - .size __func__.17771, 15 -__func__.17771: + .type __func__.17782, %object + .size __func__.17782, 15 +__func__.17782: .ascii "FlashReadPages\000" .type __func__.7032, %object .size __func__.7032, 14 @@ -13973,9 +13986,9 @@ __func__.6630: .size __func__.7089, 15 __func__.7089: .ascii "FtlLoadSysInfo\000" - .type __func__.17789, %object - .size __func__.17789, 15 -__func__.17789: + .type __func__.17801, %object + .size __func__.17801, 15 +__func__.17801: .ascii "FlashProgPages\000" .type __func__.6881, %object .size __func__.6881, 31 diff --git a/drivers/rkflash/rk_sftl_arm_v8.S b/drivers/rkflash/rk_sftl_arm_v8.S index d56521ae0232..0c7cf75a6486 100644 --- a/drivers/rkflash/rk_sftl_arm_v8.S +++ b/drivers/rkflash/rk_sftl_arm_v8.S @@ -1,8 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0 */ -/* - * Copyright (c) 2018 Rockchip Electronics Co. Ltd. - * date: 2018-09-30 +/* Copyright (c) 2018 Rockchip Electronics Co. Ltd. + * date: 2018-10-11 */ .arch armv8-a .file "rk_sftl.c" @@ -3937,7 +3936,7 @@ FlashReadPages: add x23, x23, :lo12:.LC1 .L536: cmp x24, x19 - bne .L546 + bne .L547 ldp x19, x20, [sp, 16] mov w0, 0 ldp x21, x22, [sp, 32] @@ -3946,7 +3945,7 @@ FlashReadPages: ldr x27, [sp, 80] ldp x29, x30, [sp], 112 ret -.L546: +.L547: ldr x0, [x19, 8] cbz x0, .L537 ldr x0, [x19, 16] @@ -3961,23 +3960,31 @@ FlashReadPages: add x2, x29, 104 add x1, x29, 108 bl l2p_addr_tran.isra.0 + ldr w0, [x29, 104] + cmp w0, 3 + bls .L539 + mov w0, -1 + str w0, [x19] +.L540: + add x19, x19, 32 + b .L536 +.L539: ldr x20, [x19, 8] tst x20, 63 - beq .L539 - add x0, x21, :lo12:.LANCHOR0 - ldr x20, [x0, 3488] -.L539: + beq .L541 + add x1, x21, :lo12:.LANCHOR0 + ldr x20, [x1, 3488] +.L541: add x27, x21, :lo12:.LANCHOR0 - ldrb w0, [x29, 104] ldr w1, [x29, 108] - mov x2, x20 ldr x3, [x19, 16] + mov x2, x20 ldr x4, [x27, 3392] blr x4 str w0, [x19] ldrh w0, [x27, 14] cmp w0, 4 - bne .L541 + bne .L543 ldrb w0, [x29, 104] add x2, x20, 2048 ldr x4, [x27, 3392] @@ -3987,42 +3994,40 @@ FlashReadPages: add x3, x3, 8 blr x4 cmn w0, #1 - beq .L542 + beq .L544 ldr x2, [x19, 16] ldr w1, [x2, 12] cmn w1, #1 - bne .L543 + bne .L545 ldr w1, [x2, 8] cmn w1, #1 - bne .L543 + bne .L545 ldr w1, [x2] cmn w1, #1 - beq .L543 -.L542: + beq .L545 +.L544: mov w1, -1 str w1, [x19] -.L543: +.L545: ldr w1, [x19] cmn w1, #1 - beq .L541 + beq .L543 cmp w0, 256 - bne .L541 + bne .L543 str w0, [x19] -.L541: +.L543: add x1, x21, :lo12:.LANCHOR0 ldr x0, [x1, 3488] cmp x20, x0 - bne .L545 + bne .L540 ldr x0, [x19, 8] cmp x20, x0 - beq .L545 + beq .L540 ldrh w2, [x1, 62] mov x1, x20 lsl w2, w2, 9 bl ftl_memcpy -.L545: - add x19, x19, 32 - b .L536 + b .L540 .size FlashReadPages, .-FlashReadPages .align 2 .global FtlLoadFactoryBbt @@ -4045,10 +4050,10 @@ FtlLoadFactoryBbt: ldr x1, [x0, 3448] ldr x24, [x0, 3512] stp x1, x24, [x23, 8] -.L564: +.L565: ldrh w0, [x19, 58] cmp w21, w0 - bcc .L569 + bcc .L570 mov w0, 0 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -4056,17 +4061,17 @@ FtlLoadFactoryBbt: ldp x25, x26, [sp, 64] ldp x29, x30, [sp], 80 ret -.L569: +.L570: ldrh w20, [x19, 102] mov w0, -1 strh w0, [x22] -.L566: +.L567: ldrh w0, [x19, 102] sub w20, w20, #1 and w20, w20, 65535 sub w1, w0, #16 cmp w20, w1 - ble .L567 + ble .L568 madd w0, w0, w21, w20 mov w2, 1 mov w1, w2 @@ -4076,15 +4081,15 @@ FtlLoadFactoryBbt: bl FlashReadPages ldr w0, [x25] cmn w0, #1 - beq .L566 + beq .L567 ldrh w0, [x24] cmp w0, w26 - bne .L566 + bne .L567 strh w20, [x22] -.L567: +.L568: add w21, w21, 1 add x22, x22, 2 - b .L564 + b .L565 .size FtlLoadFactoryBbt, .-FtlLoadFactoryBbt .align 2 .global FtlGetLastWrittenPage @@ -4099,9 +4104,9 @@ FtlGetLastWrittenPage: adrp x1, .LANCHOR0 stp x21, x22, [sp, 32] add x2, x1, :lo12:.LANCHOR0 - bne .L575 + bne .L576 ldrh w19, [x2, 108] -.L576: +.L577: add x1, x1, :lo12:.LANCHOR0 sub w19, w19, #1 sxth w19, w19 @@ -4118,23 +4123,23 @@ FtlGetLastWrittenPage: bl FlashReadPages ldr w0, [x29, 96] cmn w0, #1 - bne .L577 + bne .L578 mov w22, 0 mov w24, 2 -.L578: +.L579: cmp w22, w19 - ble .L581 -.L577: + ble .L582 +.L578: mov w0, w19 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] ldp x29, x30, [sp], 160 ret -.L575: +.L576: ldrh w19, [x2, 106] - b .L576 -.L581: + b .L577 +.L582: add w20, w22, w19 mov w2, w23 mov w1, 1 @@ -4146,20 +4151,20 @@ FtlGetLastWrittenPage: bl FlashReadPages ldr w0, [x29, 96] cmn w0, #1 - bne .L579 + bne .L580 ldr w0, [x29, 100] cmn w0, #1 - bne .L579 + bne .L580 ldr w0, [x29, 64] cmn w0, #1 - beq .L579 + beq .L580 sub w19, w20, #1 sxth w19, w19 - b .L578 -.L579: + b .L579 +.L580: add w20, w20, 1 sxth w22, w20 - b .L578 + b .L579 .size FtlGetLastWrittenPage, .-FtlGetLastWrittenPage .align 2 .global FtlScanSysBlk @@ -4204,24 +4209,24 @@ FtlScanSysBlk: add x0, x19, 2656 bl ftl_memset ldrh w24, [x19, 44] -.L587: +.L588: ldrh w0, [x19, 46] cmp w0, w24 - bls .L627 + bls .L628 ldrh w9, [x19, 36] mov x5, 0 ldrh w8, [x19, 116] mov w20, 0 add x7, x19, 64 mov w6, 4 - b .L628 -.L589: + b .L629 +.L590: ldrb w0, [x7, x5] mov w1, w24 bl V2P_block and w4, w0, 65535 bl FtlBbmIsBadBlock - cbnz w0, .L588 + cbnz w0, .L589 ldr x0, [x19, 3424] ubfiz x2, x20, 5, 16 lsl w4, w4, 10 @@ -4238,17 +4243,17 @@ FtlScanSysBlk: sdiv w0, w0, w6 add x0, x2, x0, sxtw 2 str x0, [x1, 16] -.L588: +.L589: add x5, x5, 1 -.L628: +.L629: cmp w9, w5, uxth - bhi .L589 - cbnz w20, .L590 -.L626: + bhi .L590 + cbnz w20, .L591 +.L627: add w24, w24, 1 and w24, w24, 65535 - b .L587 -.L590: + b .L588 +.L591: ldr x0, [x19, 3424] mov w1, w20 mov w2, 1 @@ -4256,7 +4261,7 @@ FtlScanSysBlk: mov x23, 0 add x27, x19, 2656 bl FlashReadPages -.L625: +.L626: ldr x0, [x19, 3424] add x1, x0, x23 ldr w0, [x0, x23] @@ -4264,10 +4269,10 @@ FtlScanSysBlk: cmn w0, #1 ldr x26, [x1, 16] ubfx x22, x22, 10, 16 - bne .L593 + bne .L594 mov w28, 16 mov w3, 65535 -.L595: +.L596: ldr x0, [x19, 3424] mov w2, 1 str w3, [x29, 108] @@ -4283,73 +4288,73 @@ FtlScanSysBlk: ldr w3, [x29, 108] cmp w0, w3 ldr x0, [x19, 3424] - bne .L592 + bne .L593 mov w1, -1 str w1, [x0, x23] ldr x0, [x19, 3424] ldr w0, [x0, x23] cmp w0, w1 - bne .L593 -.L594: + bne .L594 +.L595: mov w1, 1 - b .L665 -.L592: + b .L666 +.L593: ldr w0, [x0, x23] cmn w0, #1 - bne .L593 + bne .L594 sub w28, w28, #1 ands w28, w28, 65535 - bne .L595 - b .L594 -.L593: + bne .L596 + b .L595 +.L594: ldr w1, [x19, 2620] ldr w0, [x26, 4] cmn w1, #1 - beq .L596 + beq .L597 cmp w1, w0 - bhi .L597 -.L596: + bhi .L598 +.L597: cmn w0, #1 - beq .L597 + beq .L598 add w1, w0, 1 str w1, [x19, 2620] -.L597: +.L598: ldrh w1, [x26] mov w2, 61604 cmp w1, w2 - beq .L599 - bhi .L600 + beq .L600 + bhi .L601 mov w0, 61574 cmp w1, w0 - beq .L601 -.L598: + beq .L602 +.L599: add x23, x23, 32 cmp x20, x23 - bne .L625 - b .L626 -.L600: + bne .L626 + b .L627 +.L601: mov w0, 61634 cmp w1, w0 - beq .L602 + beq .L603 mov w0, 65535 cmp w1, w0 - bne .L598 + bne .L599 mov w1, 0 -.L665: +.L666: mov w0, w22 bl FtlFreeSysBlkQueueIn - b .L598 -.L602: + b .L599 +.L603: ldrh w1, [x19, 3696] ldr w0, [x19, 132] cmp w1, w0 - bls .L604 + bls .L605 adrp x0, .LC1 mov w2, 1222 mov x1, x25 add x0, x0, :lo12:.LC1 bl sftl_printk -.L604: +.L605: ldr w3, [x19, 132] ldrh w1, [x19, 3696] and w2, w3, 65535 @@ -4359,52 +4364,52 @@ FtlScanSysBlk: sub w2, w2, #1 sxth x0, w0 sxth w2, w2 -.L605: +.L606: cmp w0, w2 - bgt .L611 - tbz w0, #31, .L645 - b .L598 -.L611: + bgt .L612 + tbz w0, #31, .L646 + b .L599 +.L612: sxtw x5, w0 ldr w8, [x26, 4] lsl x6, x5, 2 ldr w7, [x4, x6] cmp w8, w7 - bls .L606 + bls .L607 ldr w2, [x4] - cbnz w2, .L607 + cbnz w2, .L608 cmp w3, w1 - beq .L607 + beq .L608 add w1, w1, 1 strh w1, [x19, 3696] -.L607: - mov w1, 0 .L608: + mov w1, 0 +.L609: cmp w1, w0 - bne .L609 + bne .L610 ldr x1, [x19, 3608] ldr w2, [x26, 4] str w2, [x1, x6] ldr x1, [x19, 3560] strh w22, [x1, x5, lsl 1] - tbnz w0, #31, .L598 + tbnz w0, #31, .L599 ldrh w1, [x19, 3696] ldr w2, [x19, 132] sub w2, w2, w1 sub w2, w2, #1 cmp w0, w2, sxth - bgt .L598 -.L645: + bgt .L599 +.L646: add w1, w1, 1 strh w1, [x19, 3696] ldr x1, [x19, 3608] ldr w2, [x26, 4] str w2, [x1, x0, lsl 2] ldr x1, [x19, 3560] -.L663: +.L664: strh w22, [x1, x0, lsl 1] - b .L598 -.L609: + b .L599 +.L610: ldr x4, [x19, 3608] sxtw x2, w1 lsl x3, x2, 2 @@ -4418,69 +4423,69 @@ FtlScanSysBlk: add x4, x3, x2 ldrh w4, [x4, 2] strh w4, [x3, x2] - b .L608 -.L606: + b .L609 +.L607: sub w0, w0, #1 sxth x0, w0 - b .L605 -.L601: + b .L606 +.L602: ldrh w1, [x19, 148] ldrh w0, [x19, 124] cmp w1, w0 - bls .L614 + bls .L615 adrp x0, .LC1 mov w2, 1263 mov x1, x25 add x0, x0, :lo12:.LC1 bl sftl_printk -.L614: +.L615: ldrh w3, [x19, 124] ldrh w1, [x19, 148] sub w2, w3, #1 ldr x4, [x19, 3584] sxth x0, w2 sub w2, w2, w1 -.L615: +.L616: cmp w0, w2 - ble .L620 + ble .L621 sxtw x5, w0 ldr w8, [x26, 4] lsl x6, x5, 2 ldr w7, [x4, x6] cmp w8, w7 - bls .L616 + bls .L617 ldr w2, [x4] - cbnz w2, .L617 + cbnz w2, .L618 cmp w3, w1 - beq .L617 + beq .L618 add w1, w1, 1 strh w1, [x19, 148] -.L617: - mov w1, 0 .L618: + mov w1, 0 +.L619: cmp w1, w0 - bne .L619 + bne .L620 ldr x1, [x19, 3584] ldr w2, [x26, 4] str w2, [x1, x6] ldr x1, [x19, 152] strh w22, [x1, x5, lsl 1] -.L620: - tbnz w0, #31, .L598 +.L621: + tbnz w0, #31, .L599 ldrh w1, [x19, 124] ldrh w2, [x19, 148] sub w1, w1, #1 sub w1, w1, w2 cmp w0, w1, sxth - bgt .L598 + bgt .L599 ldr x1, [x19, 3584] add w2, w2, 1 strh w2, [x19, 148] ldr w2, [x26, 4] str w2, [x1, x0, lsl 2] ldr x1, [x19, 152] - b .L663 -.L619: + b .L664 +.L620: ldr x4, [x19, 3584] sxtw x2, w1 lsl x3, x2, 2 @@ -4494,54 +4499,54 @@ FtlScanSysBlk: add x4, x3, x2 ldrh w4, [x4, 2] strh w4, [x3, x2] - b .L618 -.L616: + b .L619 +.L617: sub w0, w0, #1 sxth x0, w0 - b .L615 -.L599: + b .L616 +.L600: ldrh w2, [x27] mov w1, 65535 cmp w2, w1 - bne .L622 + bne .L623 strh w22, [x27] -.L664: +.L665: str w0, [x27, 8] - b .L598 -.L622: + b .L599 +.L623: ldrh w0, [x27, 4] cmp w0, w1 - beq .L623 + beq .L624 mov w1, 1 bl FtlFreeSysBlkQueueIn -.L623: +.L624: ldr w0, [x26, 4] ldr w1, [x27, 8] cmp w1, w0 - bcs .L624 + bcs .L625 ldrh w0, [x27] strh w0, [x27, 4] strh w22, [x27] ldr w0, [x26, 4] - b .L664 -.L624: + b .L665 +.L625: strh w22, [x27, 4] - b .L598 -.L627: + b .L599 +.L628: ldr x1, [x19, 3560] ldrh w0, [x1] - cbz w0, .L629 -.L632: + cbz w0, .L630 +.L633: add x0, x21, :lo12:.LANCHOR0 ldr x1, [x0, 152] ldrh w2, [x1] - cbz w2, .L630 -.L631: + cbz w2, .L631 +.L632: add x21, x21, :lo12:.LANCHOR0 ldrh w1, [x21, 3696] ldr w0, [x21, 132] cmp w1, w0 - bls .L661 + bls .L662 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -4549,7 +4554,7 @@ FtlScanSysBlk: add x1, x1, 288 add x0, x0, :lo12:.LC1 bl sftl_printk -.L661: +.L662: ldp x19, x20, [sp, 16] mov w0, 0 ldp x21, x22, [sp, 32] @@ -4558,22 +4563,22 @@ FtlScanSysBlk: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 112 ret -.L629: +.L630: ldrh w0, [x19, 3696] - cbz w0, .L632 + cbz w0, .L633 ldr w2, [x19, 132] mov w0, 0 -.L633: +.L634: cmp w0, w2 - bcs .L632 + bcs .L633 ldrh w3, [x1, w0, sxtw 1] - cbz w3, .L634 + cbz w3, .L635 mov w1, w0 add x2, x21, :lo12:.LANCHOR0 -.L635: +.L636: ldr w3, [x2, 132] cmp w1, w3 - bcs .L632 + bcs .L633 ldr x5, [x2, 3560] sxtw x6, w1 lsl x4, x6, 1 @@ -4588,27 +4593,27 @@ FtlScanSysBlk: str w6, [x5, x3, lsl 2] ldr x3, [x2, 3560] strh wzr, [x3, x4] - b .L635 -.L634: + b .L636 +.L635: add w0, w0, 1 sxth w0, w0 - b .L633 -.L630: + b .L634 +.L631: ldrh w2, [x0, 148] - cbz w2, .L631 + cbz w2, .L632 ldrh w2, [x0, 124] mov w0, 0 -.L640: +.L641: mov w6, w0 cmp w0, w2 - bge .L631 + bge .L632 ldrh w3, [x1, w0, sxtw 1] - cbz w3, .L641 + cbz w3, .L642 add x1, x21, :lo12:.LANCHOR0 -.L642: +.L643: ldrh w2, [x1, 124] cmp w0, w2 - bge .L631 + bge .L632 ldr x4, [x1, 152] sxtw x5, w0 lsl x3, x5, 1 @@ -4623,11 +4628,11 @@ FtlScanSysBlk: str w5, [x4, x2, lsl 2] ldr x2, [x1, 152] strh wzr, [x2, x3] - b .L642 -.L641: + b .L643 +.L642: add w0, w0, 1 sxth w0, w0 - b .L640 + b .L641 .size FtlScanSysBlk, .-FtlScanSysBlk .align 2 .global FtlLoadBbt @@ -4649,11 +4654,11 @@ FtlLoadBbt: ldrh w20, [x23, 102] sub w20, w20, #1 and w20, w20, 65535 -.L667: +.L668: ldrh w0, [x23, 102] sub w0, w0, #16 cmp w20, w0 - ble .L670 + ble .L671 lsl w0, w20, 10 mov w2, 1 str w0, [x21, 4] @@ -4662,7 +4667,7 @@ FtlLoadBbt: bl FlashReadPages ldr w0, [x21] cmn w0, #1 - bne .L668 + bne .L669 ldr w0, [x21, 4] mov w2, 1 mov w1, w2 @@ -4670,27 +4675,27 @@ FtlLoadBbt: str w0, [x21, 4] mov x0, x21 bl FlashReadPages -.L668: +.L669: ldr w0, [x21] cmn w0, #1 - beq .L669 + beq .L670 ldrh w0, [x22] cmp w0, w24 - bne .L669 + bne .L670 ldr w1, [x22, 4] str w1, [x23, 168] strh w20, [x23, 160] ldrh w1, [x22, 8] strh w1, [x23, 164] -.L670: +.L671: add x21, x19, :lo12:.LANCHOR0 mov w0, 65535 ldrh w1, [x21, 160] cmp w1, w0 - beq .L684 + beq .L685 ldrh w1, [x21, 164] cmp w1, w0 - beq .L674 + beq .L675 add x0, x21, 3712 lsl w1, w1, 10 mov w2, 1 @@ -4699,21 +4704,21 @@ FtlLoadBbt: bl FlashReadPages ldr w0, [x21, 3712] cmn w0, #1 - beq .L674 + beq .L675 ldrh w1, [x22] mov w0, 61649 cmp w1, w0 - bne .L674 + bne .L675 ldr w1, [x21, 168] ldr w0, [x22, 4] cmp w0, w1 - bls .L674 + bls .L675 str w0, [x21, 168] ldrh w1, [x21, 164] ldrh w0, [x22, 8] strh w1, [x21, 160] strh w0, [x21, 164] -.L674: +.L675: add x20, x19, :lo12:.LANCHOR0 mov w1, 1 add x23, x20, 3712 @@ -4723,8 +4728,8 @@ FtlLoadBbt: sxth w21, w0 add w0, w0, 1 strh w0, [x20, 162] -.L676: - tbz w21, #31, .L679 +.L677: + tbz w21, #31, .L680 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -4732,44 +4737,44 @@ FtlLoadBbt: add x1, x1, 304 add x0, x0, :lo12:.LC1 bl sftl_printk -.L678: +.L679: add x1, x19, :lo12:.LANCHOR0 ldrh w0, [x22, 10] mov w2, 65535 strh w0, [x1, 166] ldrh w0, [x22, 12] cmp w0, w2 - beq .L681 + beq .L682 ldr w2, [x1, 32] cmp w0, w2 - beq .L681 + beq .L682 ldrh w1, [x1, 46] lsr w1, w1, 2 cmp w2, w1 - bcs .L681 + bcs .L682 cmp w0, w1 - bcs .L681 + bcs .L682 bl FtlSysBlkNumInit -.L681: +.L682: add x19, x19, :lo12:.LANCHOR0 mov w20, 0 add x21, x19, 192 -.L682: +.L683: ldrh w0, [x19, 58] cmp w20, w0 - bcc .L683 + bcc .L684 mov w0, 0 -.L666: +.L667: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] ldp x29, x30, [sp], 64 ret -.L669: +.L670: sub w20, w20, #1 and w20, w20, 65535 - b .L667 -.L679: + b .L668 +.L680: ldrh w0, [x20, 160] mov w2, 1 mov w1, w2 @@ -4781,15 +4786,15 @@ FtlLoadBbt: bl FlashReadPages ldr w0, [x23] cmn w0, #1 - beq .L677 + beq .L678 ldrh w0, [x22] cmp w0, w24 - beq .L678 -.L677: + beq .L679 +.L678: sub w21, w21, #1 sxth w21, w21 - b .L676 -.L683: + b .L677 +.L684: ldrh w2, [x19, 3624] ldr x0, [x19, 3720] mul w1, w2, w20 @@ -4798,10 +4803,10 @@ FtlLoadBbt: add x1, x0, x1, lsl 2 ldr x0, [x21], 8 bl ftl_memcpy - b .L682 -.L684: + b .L683 +.L685: mov w0, -1 - b .L666 + b .L667 .size FtlLoadBbt, .-FtlLoadBbt .align 2 .global FtlLoadSysInfo @@ -4827,16 +4832,16 @@ FtlLoadSysInfo: ldrh w0, [x19, 2656] mov w1, 65535 cmp w0, w1 - bne .L697 -.L705: + bne .L698 +.L706: mov w0, -1 -.L696: +.L697: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] ldp x29, x30, [sp], 64 ret -.L697: +.L698: add x23, x19, 2656 mov w1, 1 bl FtlGetLastWrittenPage @@ -4846,8 +4851,8 @@ FtlLoadSysInfo: strh w0, [x23, 2] mov w23, 19539 movk w23, 0x4654, lsl 16 -.L699: - tbz w22, #31, .L702 +.L700: + tbz w22, #31, .L703 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -4855,13 +4860,13 @@ FtlLoadSysInfo: add x1, x1, 320 add x0, x0, :lo12:.LC1 bl sftl_printk -.L701: +.L702: add x1, x20, :lo12:.LANCHOR0 ldrh w0, [x1, 44] ldrh w1, [x1, 114] add x0, x0, 24 cmp x1, x0, lsl 1 - bcs .L704 + bcs .L705 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -4869,7 +4874,7 @@ FtlLoadSysInfo: add x1, x1, 320 add x0, x0, :lo12:.LC1 bl sftl_printk -.L704: +.L705: add x19, x20, :lo12:.LANCHOR0 mov w2, 48 add x21, x19, 2312 @@ -4896,13 +4901,13 @@ FtlLoadSysInfo: mov w0, 19539 movk w0, 0x4654, lsl 16 cmp w1, w0 - bne .L705 + bne .L706 ldrh w1, [x19, 2320] ldrb w2, [x19, 2322] ldrh w0, [x19, 58] strh w1, [x19, 2662] cmp w2, w0 - bne .L705 + bne .L706 ldrh w0, [x19, 106] ldrh w2, [x19, 62] ldrh w3, [x19, 36] @@ -4918,7 +4923,7 @@ FtlLoadSysInfo: sub w0, w0, w1 udiv w0, w0, w3 strh w0, [x19, 2652] - bls .L706 + bls .L707 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -4926,7 +4931,7 @@ FtlLoadSysInfo: add x1, x1, 320 add x0, x0, :lo12:.LC1 bl sftl_printk -.L706: +.L707: add x0, x20, :lo12:.LANCHOR0 mov w3, -1 ldrh w2, [x0, 2328] @@ -4972,50 +4977,50 @@ FtlLoadSysInfo: ldr w2, [x0, 2620] str wzr, [x0, 2600] cmp w1, w2 - bls .L707 + bls .L708 str w1, [x0, 2620] -.L707: +.L708: add x0, x20, :lo12:.LANCHOR0 ldr w1, [x0, 2348] ldr w2, [x0, 2624] cmp w1, w2 - bls .L708 + bls .L709 str w1, [x0, 2624] -.L708: +.L709: mov w0, 65535 cmp w4, w0 - beq .L709 + beq .L710 add x0, x20, :lo12:.LANCHOR0 add x0, x0, 2424 bl make_superblock -.L709: +.L710: add x1, x20, :lo12:.LANCHOR0 add x0, x1, 2472 ldrh w2, [x1, 2472] mov w1, 65535 cmp w2, w1 - beq .L710 + beq .L711 bl make_superblock -.L710: +.L711: add x1, x20, :lo12:.LANCHOR0 add x0, x1, 2520 ldrh w2, [x1, 2520] mov w1, 65535 cmp w2, w1 - beq .L711 + beq .L712 bl make_superblock -.L711: +.L712: add x20, x20, :lo12:.LANCHOR0 mov w1, 65535 add x0, x20, 2672 ldrh w2, [x20, 2672] cmp w2, w1 - beq .L712 + beq .L713 bl make_superblock -.L712: +.L713: mov w0, 0 - b .L696 -.L702: + b .L697 +.L703: ldrh w0, [x19, 2656] mov w2, 1 mov w1, w2 @@ -5027,19 +5032,19 @@ FtlLoadSysInfo: bl FlashReadPages ldr w0, [x21] cmn w0, #1 - beq .L700 + beq .L701 ldr x0, [x19, 3448] ldr w0, [x0] cmp w0, w23 - bne .L700 + bne .L701 ldr x0, [x19, 3512] ldrh w0, [x0] cmp w0, w24 - beq .L701 -.L700: + beq .L702 +.L701: sub w22, w22, #1 sxth w22, w22 - b .L699 + b .L700 .size FtlLoadSysInfo, .-FtlLoadSysInfo .align 2 .global FlashProgPages @@ -5067,42 +5072,49 @@ FlashProgPages: add x23, x23, 336 add x24, x24, :lo12:.LC1 lsl w28, w25, 3 -.L719: +.L720: cmp x20, x22 - bne .L732 - cbz w27, .L725 + bne .L734 + cbz w27, .L728 adrp x20, .LC86 adrp x23, .LC87 add x20, x20, :lo12:.LC86 add x23, x23, :lo12:.LC87 - b .L753 -.L732: + b .L755 +.L734: ldr x0, [x20, 8] - cbz x0, .L720 + cbz x0, .L721 ldr x0, [x20, 16] - cbnz x0, .L721 -.L720: - mov w2, 136 + cbnz x0, .L722 +.L721: + mov w2, 140 mov x1, x23 mov x0, x24 bl sftl_printk -.L721: +.L722: ldr w0, [x20, 4] add x2, x29, 120 add x1, x29, 124 bl l2p_addr_tran.isra.0 ldr w0, [x29, 120] - cbnz w0, .L722 + cmp w0, 3 + bls .L723 +.L757: + mov w0, -1 + str w0, [x20] + b .L724 +.L723: + cbnz w0, .L725 ldr w0, [x29, 124] cmp w28, w0 - bls .L722 + bls .L725 adrp x20, .LANCHOR1 add x20, x20, :lo12:.LANCHOR1 adrp x21, .LC80 add x20, x20, 336 add x21, x21, :lo12:.LC80 - b .L752 -.L724: + b .L754 +.L727: ldr w2, [x19, 4] mov w0, -1 str w0, [x19] @@ -5122,11 +5134,11 @@ FlashProgPages: mov w2, w3 add x0, x0, :lo12:.LC82 bl rknand_print_hex -.L752: +.L754: cmp x19, x22 - bne .L724 + bne .L727 bl dump_stack -.L725: +.L728: ldp x19, x20, [sp, 16] mov w0, 0 ldp x21, x22, [sp, 32] @@ -5135,19 +5147,19 @@ FlashProgPages: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 160 ret -.L722: +.L725: ldr x1, [x20, 8] tst x1, 63 - beq .L739 + beq .L741 add x0, x21, :lo12:.LANCHOR0 ldr x26, [x0, 3488] cmp x1, x26 - beq .L726 + beq .L729 ldrh w2, [x0, 62] mov x0, x26 lsl w2, w2, 9 bl ftl_memcpy -.L726: +.L729: add x0, x21, :lo12:.LANCHOR0 ldr w1, [x29, 124] ldr x3, [x20, 16] @@ -5155,13 +5167,13 @@ FlashProgPages: ldr x5, [x0, 3384] ldrb w0, [x29, 120] blr x5 - cbnz w0, .L727 + cbnz w0, .L730 str wzr, [x20] -.L728: +.L731: add x0, x21, :lo12:.LANCHOR0 ldrh w1, [x0, 14] cmp w1, 4 - bne .L730 + bne .L724 ldr x5, [x0, 3384] add x2, x26, 2048 ldrb w0, [x29, 120] @@ -5170,20 +5182,18 @@ FlashProgPages: add w1, w25, w1 add x3, x3, 8 blr x5 - cbz w0, .L730 - mov w0, -1 - str w0, [x20] -.L730: + cbnz w0, .L757 +.L724: add x20, x20, 32 - b .L719 -.L739: + b .L720 +.L741: mov x26, x1 - b .L726 -.L727: + b .L729 +.L730: mov w0, -1 str w0, [x20] - b .L728 -.L737: + b .L731 +.L739: add x0, x21, :lo12:.LANCHOR0 ldr w2, [x29, 108] ldr x1, [x0, 3488] @@ -5200,46 +5210,46 @@ FlashProgPages: bl FlashReadPages ldr w24, [x29, 128] cmn w24, #1 - bne .L734 + bne .L736 ldr w1, [x19, 4] mov x0, x20 bl sftl_printk str w24, [x19] -.L734: +.L736: ldr x0, [x19, 16] - cbz x0, .L735 + cbz x0, .L737 ldr w2, [x0] add x0, x21, :lo12:.LANCHOR0 ldr x0, [x0, 3504] ldr w3, [x0] cmp w2, w3 - beq .L735 + beq .L737 ldr w1, [x19, 4] mov x0, x23 bl sftl_printk mov w0, -1 str w0, [x19] -.L735: +.L737: ldr x0, [x19, 8] - cbz x0, .L736 + cbz x0, .L738 ldr w2, [x0] add x0, x21, :lo12:.LANCHOR0 ldr x0, [x0, 3488] ldr w3, [x0] cmp w2, w3 - beq .L736 + beq .L738 ldr w1, [x19, 4] adrp x0, .LC88 add x0, x0, :lo12:.LC88 bl sftl_printk mov w0, -1 str w0, [x19] -.L736: +.L738: add x19, x19, 32 -.L753: +.L755: cmp x19, x22 - bne .L737 - b .L725 + bne .L739 + b .L728 .size FlashProgPages, .-FlashProgPages .align 2 .global FtlLowFormatEraseBlock @@ -5262,11 +5272,11 @@ FtlLowFormatEraseBlock: mov w20, 0 mov w19, 0 str w23, [x5, 3420] -.L756: +.L759: ldrh w0, [x5, 36] cmp w0, w10 - bhi .L760 - cbz w20, .L755 + bhi .L763 + cbz w20, .L758 ldr x0, [x5, 3400] mov w2, w20 mov w1, 0 @@ -5274,38 +5284,38 @@ FtlLowFormatEraseBlock: mov x24, 0 add x25, x21, :lo12:.LANCHOR0 bl FlashEraseBlocks -.L764: +.L767: ldr x0, [x25, 3400] add x1, x0, x24 ldr w0, [x0, x24] cmn w0, #1 - bne .L763 + bne .L766 ldr w0, [x1, 4] add w19, w19, 1 and w19, w19, 65535 lsr w0, w0, 10 bl FtlBbmMapBadBlock -.L763: +.L766: add x24, x24, 32 cmp x24, x20 - bne .L764 - cbz w22, .L777 + bne .L767 + cbz w22, .L780 add x0, x21, :lo12:.LANCHOR0 mov w25, 1 ldrh w26, [x0, 108] -.L765: +.L768: add x28, x21, :lo12:.LANCHOR0 mov w24, 0 add x0, x28, 64 str x0, [x29, 104] -.L773: +.L776: mov w5, 0 mov w20, 0 -.L766: +.L769: ldrh w0, [x28, 36] cmp w0, w5 - bhi .L769 - cbz w20, .L755 + bhi .L772 + cbz w20, .L758 ldr x0, [x28, 3400] mov w1, w20 mov w3, 1 @@ -5313,11 +5323,11 @@ FtlLowFormatEraseBlock: mov x27, 0 bl FlashProgPages ubfiz x1, x20, 5, 16 -.L772: +.L775: ldr x0, [x28, 3400] add x3, x0, x27 ldr w0, [x0, x27] - cbz w0, .L771 + cbz w0, .L774 ldr w0, [x3, 4] add w19, w19, 1 str x1, [x29, 96] @@ -5325,38 +5335,38 @@ FtlLowFormatEraseBlock: lsr w0, w0, 10 bl FtlBbmMapBadBlock ldr x1, [x29, 96] -.L771: +.L774: add x27, x27, 32 cmp x1, x27 - bne .L772 + bne .L775 add w24, w24, 1 cmp w26, w24, uxth - bhi .L773 + bhi .L776 add x26, x21, :lo12:.LANCHOR0 mov x24, 0 -.L775: - cbz w22, .L774 +.L778: + cbz w22, .L777 ldr x0, [x26, 3400] add x1, x0, x24 ldr w0, [x0, x24] - cbnz w0, .L774 + cbnz w0, .L777 ldr w0, [x1, 4] mov w1, 1 lsr w0, w0, 10 bl FtlFreeSysBlkQueueIn -.L774: +.L777: add x24, x24, 32 cmp x24, x27 - bne .L775 + bne .L778 cmp w23, 63 ccmp w22, 0, 0, hi - beq .L755 + beq .L758 add x21, x21, :lo12:.LANCHOR0 mov w2, w20 mov w1, w25 ldr x0, [x21, 3400] bl FlashEraseBlocks -.L755: +.L758: mov w0, w19 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -5365,7 +5375,7 @@ FtlLowFormatEraseBlock: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 112 ret -.L760: +.L763: ldr x1, [x5, 3400] ubfiz x0, x10, 5, 16 str wzr, [x1, x0] @@ -5374,13 +5384,13 @@ FtlLowFormatEraseBlock: bl V2P_block and w6, w0, 65535 mov w7, w6 - cbz w22, .L757 + cbz w22, .L760 bl IsBlkInVendorPart - cbnz w0, .L758 -.L757: + cbnz w0, .L761 +.L760: mov w0, w7 bl FtlBbmIsBadBlock - cbnz w0, .L759 + cbnz w0, .L762 ldr x0, [x5, 3400] ubfiz x2, x20, 5, 16 lsl w6, w6, 10 @@ -5398,19 +5408,19 @@ FtlLowFormatEraseBlock: sdiv w0, w0, w9 add x0, x2, x0, sxtw 2 str x0, [x1, 16] -.L758: +.L761: add w10, w10, 1 and w10, w10, 65535 - b .L756 -.L759: + b .L759 +.L762: add w19, w19, 1 and w19, w19, 65535 - b .L758 -.L777: + b .L761 +.L780: mov w25, 0 mov w26, 2 - b .L765 -.L769: + b .L768 +.L772: ldr x1, [x28, 3400] ubfiz x0, x5, 5, 16 str wzr, [x1, x0] @@ -5420,13 +5430,13 @@ FtlLowFormatEraseBlock: bl V2P_block and w6, w0, 65535 mov w7, w6 - cbz w22, .L767 + cbz w22, .L770 bl IsBlkInVendorPart - cbnz w0, .L768 -.L767: + cbnz w0, .L771 +.L770: mov w0, w7 bl FtlBbmIsBadBlock - cbnz w0, .L768 + cbnz w0, .L771 ldr x0, [x28, 3400] ubfiz x2, x20, 5, 16 add w6, w24, w6, lsl 10 @@ -5445,10 +5455,10 @@ FtlLowFormatEraseBlock: ldr x2, [x28, 3480] add x0, x2, x0, sxtw 2 str x0, [x1, 16] -.L768: +.L771: add w5, w5, 1 and w5, w5, 65535 - b .L766 + b .L769 .size FtlLowFormatEraseBlock, .-FtlLowFormatEraseBlock .align 2 .global Ftl_write_map_blk_to_last_page @@ -5464,9 +5474,9 @@ Ftl_write_map_blk_to_last_page: ldr x20, [x0, 16] ldrh w0, [x0] cmp w0, w1 - bne .L799 + bne .L802 ldrh w0, [x19, 8] - cbz w0, .L800 + cbz w0, .L803 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -5474,7 +5484,7 @@ Ftl_write_map_blk_to_last_page: add x1, x1, 352 add x0, x0, :lo12:.LC1 bl sftl_printk -.L800: +.L803: ldrh w0, [x19, 8] add w0, w0, 1 strh w0, [x19, 8] @@ -5485,14 +5495,14 @@ Ftl_write_map_blk_to_last_page: strh wzr, [x19] add w0, w0, 1 str w0, [x19, 48] -.L801: +.L804: mov w0, 0 ldr x23, [sp, 48] ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x29, x30, [sp], 64 ret -.L799: +.L802: ubfiz x0, x0, 1, 16 adrp x21, .LANCHOR0 ldr w1, [x19, 48] @@ -5519,10 +5529,10 @@ Ftl_write_map_blk_to_last_page: bl ftl_memset mov w0, 0 mov w1, 0 -.L802: +.L805: ldrh w2, [x19, 6] cmp w2, w1 - bhi .L804 + bhi .L807 add x0, x21, :lo12:.LANCHOR0 mov w2, 1 mov w3, 0 @@ -5534,12 +5544,12 @@ Ftl_write_map_blk_to_last_page: strh w0, [x19, 2] mov x0, x19 bl ftl_map_blk_gc - b .L801 -.L804: + b .L804 +.L807: ubfiz x2, x1, 2, 16 ldr w3, [x23, x2] cmp w22, w3, lsr 10 - bne .L803 + bne .L806 add w0, w0, 1 ldr x4, [x20, 3448] and w0, w0, 65535 @@ -5549,10 +5559,10 @@ Ftl_write_map_blk_to_last_page: ldr x2, [x20, 3448] add x2, x2, x3 str w4, [x2, 4] -.L803: +.L806: add w1, w1, 1 and w1, w1, 65535 - b .L802 + b .L805 .size Ftl_write_map_blk_to_last_page, .-Ftl_write_map_blk_to_last_page .align 2 .global FtlMapWritePage @@ -5575,7 +5585,7 @@ FtlMapWritePage: add x22, x22, :lo12:.LANCHOR1 add x20, x24, 3712 mov w21, 0 -.L810: +.L813: add x0, x23, :lo12:.LANCHOR0 ldr w1, [x0, 2604] add w1, w1, 1 @@ -5584,35 +5594,35 @@ FtlMapWritePage: ldrh w1, [x19, 2] sub w0, w0, #1 cmp w1, w0 - bge .L811 + bge .L814 ldrh w1, [x19] mov w0, 65535 cmp w1, w0 - bne .L812 -.L811: + bne .L815 +.L814: mov x0, x19 bl Ftl_write_map_blk_to_last_page -.L812: +.L815: ldrh w1, [x19] ldr x0, [x19, 16] ldrh w0, [x0, x1, lsl 1] - cbnz w0, .L813 + cbnz w0, .L816 adrp x0, .LC1 mov w2, 699 add x1, x22, 384 add x0, x0, :lo12:.LC1 bl sftl_printk -.L813: +.L816: ldrh w1, [x19] ldrh w0, [x19, 10] cmp w1, w0 - bcc .L814 + bcc .L817 adrp x0, .LC1 mov w2, 700 add x1, x22, 384 add x0, x0, :lo12:.LC1 bl sftl_printk -.L814: +.L817: ldrh w1, [x19] mov w2, 16 ldr x0, [x19, 16] @@ -5643,7 +5653,7 @@ FtlMapWritePage: strh w0, [x19, 2] ldr w1, [x20] cmn w1, #1 - bne .L815 + bne .L818 ldr w1, [x20, 4] adrp x0, .LC89 add x0, x0, :lo12:.LC89 @@ -5652,37 +5662,37 @@ FtlMapWritePage: bl sftl_printk ldrh w0, [x19, 2] cmp w0, 2 - bhi .L816 + bhi .L819 ldrh w0, [x24, 108] sub w0, w0, #1 strh w0, [x19, 2] -.L816: +.L819: cmp w21, 3 - bls .L817 + bls .L820 add x25, x25, :lo12:.LANCHOR0 adrp x0, .LC90 mov w2, w21 add x0, x0, :lo12:.LC90 ldr w1, [x25, 3716] bl sftl_printk -.L818: - b .L818 -.L817: +.L821: + b .L821 +.L820: ldr w0, [x19, 52] - cbz w0, .L810 -.L832: - b .L832 -.L815: + cbz w0, .L813 +.L835: + b .L835 +.L818: cmp w0, 1 - beq .L821 + beq .L824 cmp w1, 256 - beq .L821 + beq .L824 ldr w0, [x19, 56] - cbz w0, .L822 -.L821: + cbz w0, .L825 +.L824: str wzr, [x19, 56] - b .L810 -.L822: + b .L813 +.L825: ldr x0, [x19, 40] ldr w1, [x20, 4] str w1, [x0, w26, uxtw 2] @@ -5711,7 +5721,7 @@ load_l2p_region: str x25, [sp, 64] ldrh w0, [x0, 140] cmp w0, w22 - bcs .L835 + bcs .L838 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -5719,12 +5729,12 @@ load_l2p_region: add x1, x1, 400 add x0, x0, :lo12:.LC1 bl sftl_printk -.L835: +.L838: add x20, x21, :lo12:.LANCHOR0 ubfiz x0, x22, 2, 16 ldr x1, [x20, 3600] ldr w24, [x1, x0] - cbnz w24, .L836 + cbnz w24, .L839 ldr x0, [x20, 2568] lsl x19, x19, 4 ldrh w2, [x20, 114] @@ -5737,7 +5747,7 @@ load_l2p_region: ldr x0, [x20, 2568] add x19, x0, x19 str wzr, [x19, 4] -.L837: +.L840: mov w0, 0 ldr x25, [sp, 64] ldp x19, x20, [sp, 16] @@ -5745,7 +5755,7 @@ load_l2p_region: ldp x23, x24, [sp, 48] ldp x29, x30, [sp], 80 ret -.L836: +.L839: ldr x0, [x20, 2568] lsl x19, x19, 4 add x23, x20, 3712 @@ -5762,7 +5772,7 @@ load_l2p_region: ldr x25, [x20, 3728] ldrh w0, [x25, 8] cmp w0, w22 - beq .L838 + beq .L841 mov w2, w24 mov w1, w22 adrp x0, .LC91 @@ -5780,10 +5790,10 @@ load_l2p_region: mov w2, 4 add x0, x0, :lo12:.LC93 bl rknand_print_hex -.L839: +.L842: ldrh w0, [x25, 8] cmp w0, w22 - beq .L840 + beq .L843 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -5791,18 +5801,18 @@ load_l2p_region: add x1, x1, 400 add x0, x0, :lo12:.LC1 bl sftl_printk -.L840: +.L843: add x21, x21, :lo12:.LANCHOR0 ldr x0, [x21, 2568] add x0, x0, x19 str wzr, [x0, 4] ldr x0, [x21, 2568] strh w22, [x0, x19] - b .L837 -.L838: + b .L840 +.L841: ldr w0, [x20, 3712] cmp w0, 256 - bne .L839 + bne .L842 mov w2, w24 mov w1, w22 adrp x0, .LC94 @@ -5814,7 +5824,7 @@ load_l2p_region: ldr x2, [x0, 8] add x0, x20, 3632 bl FtlMapWritePage - b .L839 + b .L842 .size load_l2p_region, .-load_l2p_region .align 2 .global ftl_map_blk_gc @@ -5836,12 +5846,12 @@ ftl_map_blk_gc: ldrh w2, [x19, 8] sub w1, w1, #5 cmp w2, w1 - blt .L843 + blt .L846 ubfiz x0, x0, 1, 16 ldrh w26, [x20, x0] - cbz w26, .L843 + cbz w26, .L846 ldr w1, [x19, 52] - cbnz w1, .L843 + cbnz w1, .L846 mov w1, 1 str w1, [x19, 52] strh wzr, [x20, x0] @@ -5852,33 +5862,33 @@ ftl_map_blk_gc: add x0, x22, :lo12:.LANCHOR0 ldrh w0, [x0, 108] cmp w1, w0 - bcc .L844 + bcc .L847 mov x0, x19 bl ftl_map_blk_alloc_new_blk -.L844: +.L847: add x27, x22, :lo12:.LANCHOR0 adrp x23, .LANCHOR1 add x23, x23, :lo12:.LANCHOR1 add x21, x27, 3712 add x23, x23, 416 mov w20, 0 -.L845: +.L848: ldrh w0, [x19, 6] cmp w0, w20 - bhi .L852 + bhi .L855 mov w1, 1 mov w0, w26 bl FtlFreeSysBlkQueueIn str wzr, [x19, 52] -.L843: +.L846: add x22, x22, :lo12:.LANCHOR0 ldrh w1, [x19, 2] ldrh w0, [x22, 108] cmp w1, w0 - bcc .L853 + bcc .L856 mov x0, x19 bl ftl_map_blk_alloc_new_blk -.L853: +.L856: mov w0, 0 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -5887,12 +5897,12 @@ ftl_map_blk_gc: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 96 ret -.L852: +.L855: ubfiz x0, x20, 2, 16 add x28, x25, x0 ldr w1, [x25, x0] cmp w26, w1, lsr 10 - bne .L846 + bne .L849 ldr x1, [x27, 3456] mov w2, 1 ldr x24, [x27, 3512] @@ -5904,36 +5914,36 @@ ftl_map_blk_gc: bl FlashReadPages ldrh w0, [x24, 8] cmp w0, w20 - beq .L847 + beq .L850 adrp x0, .LC1 mov w2, 611 mov x1, x23 add x0, x0, :lo12:.LC1 bl sftl_printk -.L847: +.L850: ldr w0, [x21] cmn w0, #1 - bne .L848 -.L850: + bne .L851 +.L853: str wzr, [x28] -.L849: - b .L849 -.L848: +.L852: + b .L852 +.L851: ldrh w0, [x24, 8] cmp w0, w20 - bne .L850 + bne .L853 ldrh w1, [x24] ldrh w0, [x19, 4] cmp w1, w0 - bne .L850 + bne .L853 ldr x2, [x21, 8] mov w1, w20 mov x0, x19 bl FtlMapWritePage -.L846: +.L849: add w20, w20, 1 and w20, w20, 65535 - b .L845 + b .L848 .size ftl_map_blk_gc, .-ftl_map_blk_gc .align 2 .global FtlMapTblRecovery @@ -5974,14 +5984,14 @@ FtlMapTblRecovery: ldr w0, [x29, 116] sub w0, w0, #1 str w0, [x29, 112] -.L860: +.L863: ldr w0, [x29, 116] cmp w27, w0 - bge .L877 + bge .L880 ldr w0, [x29, 112] sxtw x28, w27 cmp w27, w0 - bne .L861 + bne .L864 lsl x0, x28, 1 mov w1, 1 add x20, x23, x0 @@ -5997,20 +6007,20 @@ FtlMapTblRecovery: ldr w0, [x26, x28, lsl 2] add w26, w1, 1 str w0, [x19, 48] -.L862: +.L865: cmp w23, w26 - blt .L864 -.L877: + blt .L867 +.L880: 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 .L866 + bne .L869 mov x0, x19 bl ftl_map_blk_alloc_new_blk -.L866: +.L869: mov x0, x19 bl ftl_map_blk_gc mov x0, x19 @@ -6023,7 +6033,7 @@ FtlMapTblRecovery: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 128 ret -.L864: +.L867: ldrh w0, [x20] mov w2, 1 mov w1, w2 @@ -6033,23 +6043,23 @@ FtlMapTblRecovery: bl FlashReadPages ldr w0, [x25] cmn w0, #1 - beq .L863 + beq .L866 ldrh w0, [x22, 8] cmp w24, w0 - bls .L863 + bls .L866 ldrh w2, [x22] ldrh w1, [x19, 4] cmp w2, w1 - bne .L863 + bne .L866 ldr x2, [x29, 120] ubfiz x0, x0, 2, 16 ldr w1, [x25, 4] str w1, [x2, x0] -.L863: +.L866: add w23, w23, 1 sxth w23, w23 - b .L862 -.L861: + b .L865 +.L864: ldr x0, [x25, 3448] mov w2, 1 str x0, [x20, 8] @@ -6065,21 +6075,21 @@ FtlMapTblRecovery: bl FlashReadPages ldr w0, [x20] cmn w0, #1 - beq .L879 + beq .L882 ldrh w1, [x22] ldrh w0, [x19, 4] cmp w1, w0 - bne .L879 + bne .L882 ldrh w1, [x22, 8] mov w0, 64245 cmp w1, w0 - beq .L868 -.L879: + beq .L871 +.L882: mov w5, 0 -.L869: +.L872: ldrh w0, [x25, 108] cmp w5, w0 - bge .L875 + bge .L878 ldrh w0, [x28] mov w2, 1 str w5, [x29, 108] @@ -6091,48 +6101,48 @@ FtlMapTblRecovery: ldr w0, [x20] ldr w5, [x29, 108] cmn w0, #1 - beq .L873 + beq .L876 ldrh w0, [x22, 8] cmp w24, w0 - bls .L873 + bls .L876 ldrh w2, [x22] ldrh w1, [x19, 4] cmp w2, w1 - bne .L873 + bne .L876 ldr x2, [x29, 120] ubfiz x0, x0, 2, 16 ldr w1, [x20, 4] str w1, [x2, x0] -.L873: +.L876: add w5, w5, 1 sxth w5, w5 - b .L869 -.L868: + b .L872 +.L871: mov w0, 0 -.L870: +.L873: ldrh w1, [x25, 108] sub w1, w1, #1 cmp w0, w1 - blt .L872 -.L875: + blt .L875 +.L878: add w4, w27, 1 sxth w27, w4 - b .L860 -.L872: + b .L863 +.L875: ldr x2, [x25, 3448] sbfiz x5, x0, 3, 32 ldrh w1, [x2, x5] cmp w24, w1 - bls .L871 + bls .L874 add x2, x2, x5 ldr x3, [x29, 120] ubfiz x1, x1, 2, 16 ldr w2, [x2, 4] str w2, [x3, x1] -.L871: +.L874: add w0, w0, 1 sxth w0, w0 - b .L870 + b .L873 .size FtlMapTblRecovery, .-FtlMapTblRecovery .align 2 .global FtlLoadVonderInfo @@ -6222,7 +6232,7 @@ log2phys: ldrh w24, [x0, 112] ldr w0, [x0, 2584] cmp w25, w0 - bcc .L894 + bcc .L897 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -6230,21 +6240,21 @@ log2phys: add x1, x1, 432 add x0, x0, :lo12:.LC1 bl sftl_printk -.L894: +.L897: add x0, x20, :lo12:.LANCHOR0 ldr w1, [x0, 2584] cmp w25, w1 - bcs .L895 + bcs .L898 add w24, w24, 7 ldrh w1, [x0, 142] ldr x2, [x0, 2568] mov x0, 0 lsr w21, w25, w24 and w21, w21, 65535 -.L896: +.L899: and x19, x0, 65535 cmp w19, w1 - bcc .L901 + bcc .L904 bl select_l2p_ram_region and x19, x0, 65535 add x2, x20, :lo12:.LANCHOR0 @@ -6255,58 +6265,58 @@ log2phys: ldrh w2, [x2, x1] mov w1, 65535 cmp w2, w1 - beq .L902 + beq .L905 ldr w1, [x3, 4] - tbz w1, #31, .L902 + tbz w1, #31, .L905 bl flush_l2p_region -.L902: +.L905: mov w1, w26 mov w0, w21 bl load_l2p_region - b .L898 -.L895: + b .L901 +.L898: mov w0, -1 - cbnz w23, .L893 + cbnz w23, .L896 str w0, [x22] -.L893: +.L896: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] ldp x25, x26, [sp, 64] ldp x29, x30, [sp], 80 ret -.L901: +.L904: add x0, x0, 1 add x3, x2, x0, lsl 4 ldrh w3, [x3, -16] cmp w3, w21 - bne .L896 -.L898: + bne .L899 +.L901: mov x0, 1 lsl x0, x0, x24 sub w0, w0, #1 and w0, w0, w25 and x0, x0, 65535 - cbnz w23, .L899 + cbnz w23, .L902 add x1, x20, :lo12:.LANCHOR0 ldr x1, [x1, 2568] add x1, x1, x19, lsl 4 ldr x1, [x1, 8] ldr w0, [x1, x0, lsl 2] str w0, [x22] -.L900: +.L903: add x20, x20, :lo12:.LANCHOR0 ldr x0, [x20, 2568] add x19, x0, x19, lsl 4 ldr w0, [x19, 4] cmn w0, #1 - beq .L904 + beq .L907 add w0, w0, 1 str w0, [x19, 4] -.L904: +.L907: mov w0, 0 - b .L893 -.L899: + b .L896 +.L902: add x2, x20, :lo12:.LANCHOR0 lsl x1, x19, 4 ldr w4, [x22] @@ -6320,7 +6330,7 @@ log2phys: ldr w1, [x0, 4] orr w1, w1, -2147483648 str w1, [x0, 4] - b .L900 + b .L903 .size log2phys, .-log2phys .align 2 .global FtlReUsePrevPpa @@ -6341,9 +6351,9 @@ FtlReUsePrevPpa: ubfiz x20, x0, 1, 16 ldr x3, [x2, 2376] ldrh w1, [x3, x20] - cbnz w1, .L908 + cbnz w1, .L911 ldr x19, [x2, 2408] - cbz x19, .L909 + cbz x19, .L912 ldrh w3, [x2, 2416] mov x4, -6148914691236517206 ldr x2, [x2, 2360] @@ -6354,17 +6364,17 @@ FtlReUsePrevPpa: mul x19, x19, x4 mov w4, 6 and w19, w19, 65535 -.L910: +.L913: cmp w1, w3 - beq .L909 + beq .L912 cmp w19, w0 - bne .L911 + bne .L914 add x23, x22, :lo12:.LANCHOR0 mov w1, w19 add x0, x23, 2408 bl List_remove_node ldrh w0, [x23, 2416] - cbnz w0, .L912 + cbnz w0, .L915 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -6372,7 +6382,7 @@ FtlReUsePrevPpa: add x1, x1, 448 add x0, x0, :lo12:.LC1 bl sftl_printk -.L912: +.L915: add x22, x22, :lo12:.LANCHOR0 ldrh w0, [x22, 2416] sub w0, w0, #1 @@ -6383,7 +6393,7 @@ FtlReUsePrevPpa: ldrh w0, [x1, x20] add w0, w0, 1 strh w0, [x1, x20] -.L909: +.L912: add x1, x29, 76 mov w2, 1 mov w0, w21 @@ -6393,18 +6403,18 @@ FtlReUsePrevPpa: ldr x23, [sp, 48] ldp x29, x30, [sp], 80 ret -.L911: +.L914: umull x19, w19, w4 ldrh w19, [x2, x19] cmp w19, w5 - beq .L909 + beq .L912 add w1, w1, 1 and w1, w1, 65535 - b .L910 -.L908: + b .L913 +.L911: add w1, w1, 1 strh w1, [x3, x20] - b .L909 + b .L912 .size FtlReUsePrevPpa, .-FtlReUsePrevPpa .align 2 .global ftl_check_vpc @@ -6432,10 +6442,10 @@ ftl_check_vpc: mov w1, 0 mov x0, x19 bl ftl_memset -.L919: +.L922: ldr w0, [x24, 2584] cmp w23, w0 - bcc .L921 + bcc .L924 adrp x25, .LC96 add x23, x20, :lo12:.LANCHOR0 add x26, x22, :lo12:check_vpc_table @@ -6443,12 +6453,12 @@ ftl_check_vpc: mov w24, 0 mov w19, 0 mov w4, 65535 -.L922: +.L925: ldrh w0, [x23, 44] cmp w0, w19 - bhi .L924 + bhi .L927 ldr x19, [x23, 2408] - cbz x19, .L925 + cbz x19, .L928 ldr x0, [x23, 2360] adrp x25, .LC97 add x20, x20, :lo12:.LANCHOR0 @@ -6463,18 +6473,18 @@ ftl_check_vpc: mov w23, 0 mul x19, x19, x0 and w19, w19, 65535 -.L926: +.L929: cmp w23, w26 - bne .L928 -.L925: - cbz w24, .L918 + bne .L931 +.L928: + cbz w24, .L921 add x1, x21, :lo12:.LANCHOR1 adrp x0, .LC1 mov w2, 2343 add x1, x1, 464 add x0, x0, :lo12:.LC1 bl sftl_printk -.L918: +.L921: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -6482,31 +6492,31 @@ ftl_check_vpc: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 128 ret -.L921: +.L924: mov w2, 0 add x1, x29, 124 mov w0, w23 bl log2phys ldr w0, [x29, 124] cmn w0, #1 - beq .L920 + beq .L923 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] -.L920: +.L923: add w23, w23, 1 - b .L919 -.L924: + b .L922 +.L927: 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 .L923 + beq .L926 mov x0, x25 str w4, [x29, 108] mov w1, w19 @@ -6515,34 +6525,34 @@ ftl_check_vpc: ldr w4, [x29, 108] ldrh w0, [x0, x28] cmp w0, w4 - beq .L923 + beq .L926 ldrh w1, [x26, x27, lsl 1] cmp w1, w0 csinc w24, w24, wzr, ls -.L923: +.L926: add w19, w19, 1 and w19, w19, 65535 - b .L922 -.L928: + b .L925 +.L931: ldr x1, [x20, 2376] ubfiz x0, x19, 1, 16 ldrh w2, [x1, x0] - cbz w2, .L927 + cbz w2, .L930 ldrh w3, [x22, w19, sxtw 1] mov w24, 1 mov w1, w19 mov x0, x25 bl sftl_printk -.L927: +.L930: ldr x0, [x20, 2360] umull x19, w19, w27 ldrh w19, [x0, x19] mov w0, 65535 cmp w19, w0 - beq .L925 + beq .L928 add w23, w23, 1 and w23, w23, 65535 - b .L926 + b .L929 .size ftl_check_vpc, .-ftl_check_vpc .align 2 .global ftl_scan_all_data @@ -6562,33 +6572,33 @@ ftl_scan_all_data: mov w20, 0 add x19, x21, 3712 bl sftl_printk -.L944: +.L947: add x0, x22, :lo12:.LANCHOR0 ldr w0, [x0, 2584] cmp w20, w0 - bcc .L950 + bcc .L953 ldp x19, x20, [sp, 32] ldp x21, x22, [sp, 48] ldp x29, x30, [sp, 16] ldr x23, [sp, 64] add sp, sp, 96 ret -.L950: +.L953: mov w2, 0 add x1, x29, 76 mov w0, w20 bl log2phys tst x20, 2047 - bne .L945 + bne .L948 ldr w2, [x29, 76] adrp x0, .LC99 mov w1, w20 add x0, x0, :lo12:.LC99 bl sftl_printk -.L945: +.L948: ldr w0, [x29, 76] cmn w0, #1 - beq .L947 + beq .L950 ldr x23, [x21, 3512] mov w2, 0 stp wzr, w0, [x19] @@ -6602,11 +6612,11 @@ ftl_scan_all_data: ldr w0, [x19] cmp w0, 256 ccmn w0, #1, 4, ne - beq .L948 + beq .L951 ldr w0, [x23, 8] cmp w20, w0 - beq .L947 -.L948: + beq .L950 +.L951: ldp x1, x0, [x19, 8] ldr w2, [x1, 4] str w2, [sp] @@ -6618,9 +6628,9 @@ ftl_scan_all_data: ldr w2, [x19, 4] mov w1, w20 bl sftl_printk -.L947: +.L950: add w20, w20, 1 - b .L944 + b .L947 .size ftl_scan_all_data, .-ftl_scan_all_data .align 2 .global FtlGcScanTempBlk @@ -6640,29 +6650,29 @@ FtlGcScanTempBlk: ldrh w21, [x0, 4] mov w0, 65535 cmp w21, w0 - beq .L975 - cbnz w21, .L953 -.L954: + beq .L979 + cbnz w21, .L956 +.L957: bl FtlGcPageVarInit - b .L955 -.L975: + b .L958 +.L979: mov w21, 0 -.L953: +.L956: adrp x0, .LANCHOR0+106 ldrh w0, [x0, #:lo12:.LANCHOR0+106] cmp w0, w25 - beq .L954 -.L955: + beq .L957 +.L958: adrp x26, .LANCHOR0 add x20, x26, :lo12:.LANCHOR0 mov w24, 0 -.L956: +.L959: ldrh w1, [x19] mov w0, 65535 strb wzr, [x19, 8] cmp w1, w0 - beq .L957 -.L972: + beq .L960 +.L976: add x0, x26, :lo12:.LANCHOR0 add x2, x19, 16 mov w22, 0 @@ -6673,28 +6683,28 @@ FtlGcScanTempBlk: ldrh w0, [x0, 36] add x0, x0, 8 add x0, x19, x0, lsl 1 -.L958: +.L961: cmp x0, x2 - bne .L960 + bne .L963 ldr x0, [x20, 3424] mov w1, w22 mov w2, 0 ubfiz x22, x22, 5, 16 mov x27, 0 bl FlashReadPages -.L961: - cmp x27, x22 - bne .L970 +.L964: + cmp x22, x27 + bne .L974 add w21, w21, 1 add w24, w24, 1 and w21, w21, 65535 cmp w25, w24 - bls .L971 -.L973: + bls .L975 +.L977: ldrh w0, [x20, 106] cmp w0, w21 - bhi .L972 -.L957: + bhi .L976 +.L960: add x23, x23, :lo12:.LANCHOR2 strh w21, [x19, 2] strb wzr, [x19, 6] @@ -6704,11 +6714,11 @@ FtlGcScanTempBlk: strh w0, [x23, 4] mov x0, x19 bl ftl_sb_update_avl_pages - b .L974 -.L960: + b .L978 +.L963: ldrh w1, [x2] cmp w1, w9 - beq .L959 + beq .L962 ldr x4, [x20, 3424] ubfiz x6, x22, 5, 16 orr w1, w21, w1, lsl 10 @@ -6728,22 +6738,22 @@ FtlGcScanTempBlk: sdiv w1, w1, w5 add x1, x4, x1, sxtw 2 str x1, [x3, 16] -.L959: +.L962: add x2, x2, 2 - b .L958 -.L970: + b .L961 +.L974: ldr x1, [x20, 3424] add x0, x1, x27 ldr w1, [x1, x27] ldr w2, [x0, 4] str w2, [x29, 108] - cbnz w1, .L962 + cbnz w1, .L965 ldr x28, [x0, 16] mov w1, 65535 ldrh w0, [x28] cmp w0, w1 - bne .L963 -.L962: + bne .L966 +.L965: ldrh w1, [x19] mov w21, 0 ldr x0, [x20, 2376] @@ -6753,23 +6763,28 @@ FtlGcScanTempBlk: mov w0, -1 strh w0, [x19] bl FtlGcPageVarInit - b .L956 -.L963: + b .L959 +.L966: + ldr w1, [x20, 2584] ldr w0, [x28, 8] + cmp w0, w1 + bhi .L965 add x1, x29, 124 mov w2, 0 bl log2phys ldr w0, [x28, 12] ldr w1, [x29, 124] cmp w0, w1 - beq .L965 -.L968: + beq .L969 +.L970: ldp w2, w0, [x28, 8] add x27, x27, 32 ldr w1, [x29, 108] bl FtlGcUpdatePage - b .L961 -.L965: + b .L964 +.L969: + cmn w0, #1 + beq .L970 str w0, [x29, 132] mov w2, 0 ldr x0, [x20, 3480] @@ -6785,34 +6800,34 @@ FtlGcScanTempBlk: ldr x5, [x29, 136] ubfiz x1, x1, 9, 16 add x2, x2, x27 -.L966: +.L971: cmp x0, x1 - beq .L968 + beq .L970 ldr x6, [x2, 8] ldr w7, [x6, x0] add x0, x0, 4 add x6, x5, x0 ldr w6, [x6, -4] cmp w7, w6 - beq .L966 + beq .L971 ldrh w1, [x19] adrp x0, .LC101 ldr w2, [x29, 132] add x0, x0, :lo12:.LC101 bl sftl_printk - b .L962 -.L971: + b .L965 +.L975: add x1, x23, :lo12:.LANCHOR2 mov w2, 65535 ldrh w0, [x1, 4] cmp w0, w2 - beq .L973 + beq .L977 add w0, w0, w24 strh w0, [x1, 4] ldrh w0, [x20, 106] cmp w0, w21 - bls .L973 -.L974: + bls .L977 +.L978: ldp x19, x20, [sp, 16] mov w0, -1 ldp x21, x22, [sp, 32] @@ -6830,22 +6845,22 @@ FtlReadRefresh: add x0, x1, :lo12:.LANCHOR0 add x2, x0, 2720 ldr w3, [x2, 80] - cbz w3, .L983 + cbz w3, .L990 ldr w1, [x0, 2584] ldr w3, [x2, 84] cmp w3, w1 - bcs .L984 + bcs .L991 stp x29, x30, [sp, -160]! add x29, sp, 0 stp x19, x20, [sp, 16] mov x19, x0 mov w20, 2048 str x21, [sp, 32] -.L989: +.L996: ldr w1, [x19, 2584] ldr w0, [x19, 2804] cmp w0, w1 - bcs .L986 + bcs .L993 add x1, x29, 60 mov w2, 0 bl log2phys @@ -6854,7 +6869,7 @@ FtlReadRefresh: add w0, w0, 1 str w0, [x19, 2804] cmn w1, #1 - beq .L987 + beq .L994 str w0, [x29, 88] mov w2, 0 ldr x0, [x19, 3496] @@ -6868,57 +6883,57 @@ FtlReadRefresh: bl FlashReadPages ldr w0, [x29, 64] cmp w0, 256 - bne .L986 + bne .L993 ldr w0, [x29, 60] lsr w0, w0, 10 bl P2V_block_in_plane bl FtlGcRefreshBlock -.L986: +.L993: ldp x19, x20, [sp, 16] mov w0, -1 ldr x21, [sp, 32] ldp x29, x30, [sp], 160 ret -.L987: +.L994: subs w20, w20, #1 - bne .L989 - b .L986 -.L984: + bne .L996 + b .L993 +.L991: ldr w0, [x0, 2588] stp w0, wzr, [x2, 76] str wzr, [x2, 84] -.L993: +.L1000: mov w0, 0 ret -.L983: +.L990: ldr w3, [x0, 2588] ldr w5, [x2, 76] add w2, w3, 1048576 cmp w5, w2 - bhi .L992 + bhi .L999 ldr w2, [x0, 2644] lsr w4, w2, 10 mov w2, 33554432 asr w2, w2, w4 add w2, w2, w5 cmp w3, w2 - bhi .L992 + bhi .L999 ldrb w0, [x0, 2340] - cbnz w0, .L993 -.L992: + cbnz w0, .L1000 +.L999: add x0, x1, :lo12:.LANCHOR0 mov w1, 1 str w3, [x0, 2796] str w1, [x0, 2800] str wzr, [x0, 2804] - b .L993 + b .L1000 .size FtlReadRefresh, .-FtlReadRefresh .align 2 .global FtlMapBlkWriteDump_data .type FtlMapBlkWriteDump_data, %function FtlMapBlkWriteDump_data: ldr w1, [x0, 56] - cbz w1, .L1007 + cbz w1, .L1014 stp x29, x30, [sp, -48]! adrp x1, .LANCHOR0 add x2, x1, :lo12:.LANCHOR0 @@ -6939,11 +6954,11 @@ FtlMapBlkWriteDump_data: str wzr, [x19, 56] ldr w4, [x5, x4] str w4, [x0, 4] - cbz w4, .L1001 + cbz w4, .L1008 mov w2, 1 mov w1, w2 bl FlashReadPages -.L1002: +.L1009: add x1, x21, :lo12:.LANCHOR0 mov x0, x19 ldr x2, [x1, 3720] @@ -6953,13 +6968,13 @@ FtlMapBlkWriteDump_data: ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 48 ret -.L1001: +.L1008: ldrh w2, [x2, 114] mov w1, 255 mov x0, x3 bl ftl_memset - b .L1002 -.L1007: + b .L1009 +.L1014: ret .size FtlMapBlkWriteDump_data, .-FtlMapBlkWriteDump_data .align 2 @@ -6971,7 +6986,7 @@ FlashTestBlk: stp x19, x20, [sp, 16] and w19, w0, 65535 cmp w19, 11 - bls .L1012 + bls .L1019 adrp x20, .LANCHOR0 add x20, x20, :lo12:.LANCHOR0 mov w2, 32 @@ -7003,14 +7018,14 @@ FlashTestBlk: add x0, x29, 32 csetm w19, ne bl FlashEraseBlocks -.L1010: +.L1017: mov w0, w19 ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 128 ret -.L1012: +.L1019: mov w19, 0 - b .L1010 + b .L1017 .size FlashTestBlk, .-FlashTestBlk .align 2 .global FtlBbmTblFlush @@ -7033,11 +7048,11 @@ FtlBbmTblFlush: ldrh w2, [x20, 114] str x0, [x20, 3720] bl ftl_memset -.L1015: +.L1022: ldrh w0, [x20, 58] add x1, x20, 3712 cmp w19, w0 - blt .L1016 + blt .L1023 ldr x26, [x1, 16] add x19, x20, 160 mov w2, 16 @@ -7062,7 +7077,7 @@ FtlBbmTblFlush: strh w0, [x26, 10] ldr w0, [x20, 32] strh w0, [x26, 12] -.L1017: +.L1024: ldr x0, [x25, 3448] str x0, [x25, 3720] ldr x0, [x25, 3512] @@ -7080,7 +7095,7 @@ FtlBbmTblFlush: ldrh w1, [x19, 2] sub w0, w0, #1 cmp w1, w0 - blt .L1018 + blt .L1025 ldr w0, [x19, 8] mov w2, 1 ldrh w1, [x19] @@ -7099,7 +7114,7 @@ FtlBbmTblFlush: mov w1, w2 ldr x0, [x25, 3400] bl FlashEraseBlocks -.L1018: +.L1025: add x20, x25, 3712 mov w3, 1 mov x0, x20 @@ -7111,22 +7126,22 @@ FtlBbmTblFlush: strh w0, [x19, 2] ldr w0, [x25, 3712] cmn w0, #1 - bne .L1019 + bne .L1026 ldr w1, [x25, 3716] add w21, w21, 1 add x0, x24, :lo12:.LC103 and w21, w21, 65535 bl sftl_printk cmp w21, 3 - bls .L1017 + bls .L1024 ldr w1, [x25, 3716] adrp x0, .LC104 mov w2, w21 add x0, x0, :lo12:.LC104 bl sftl_printk -.L1021: - b .L1021 -.L1016: +.L1028: + b .L1028 +.L1023: ldrh w2, [x20, 3624] ldr x0, [x1, 8] ldr x1, [x21], 8 @@ -7135,12 +7150,12 @@ FtlBbmTblFlush: add w19, w19, 1 add x0, x0, x3, sxtw 2 bl ftl_memcpy - b .L1015 -.L1022: + b .L1022 +.L1029: mov w23, 1 - b .L1017 -.L1019: - cbz w23, .L1022 + b .L1024 +.L1026: + cbz w23, .L1029 mov w0, 0 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -7165,13 +7180,13 @@ allocate_data_superblock: add x23, x22, 2520 stp x25, x26, [sp, 64] stp x27, x28, [sp, 80] -.L1025: +.L1032: ldrh w1, [x22, 2400] ldrh w0, [x22, 2416] add w0, w0, w1 ldrh w1, [x22, 44] cmp w0, w1 - ble .L1026 + ble .L1033 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -7179,9 +7194,9 @@ allocate_data_superblock: add x1, x1, 480 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1026: +.L1033: cmp x20, x23 - bne .L1052 + bne .L1059 ldrh w0, [x19, 2416] ldr w1, [x19, 3244] mul w1, w0, w1 @@ -7189,15 +7204,15 @@ allocate_data_superblock: add w0, w0, 1 add w1, w0, w1, lsr 2 ands w1, w1, 65535 - beq .L1027 + beq .L1034 sub w1, w1, #1 and w1, w1, 65535 -.L1027: +.L1034: add x0, x19, 2408 bl List_pop_index_node and w25, w0, 65535 ldrh w0, [x19, 2416] - cbnz w0, .L1028 + cbnz w0, .L1035 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -7205,22 +7220,22 @@ allocate_data_superblock: add x1, x1, 480 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1028: +.L1035: ldrh w0, [x19, 2416] sub w0, w0, #1 strh w0, [x19, 2416] ldrh w0, [x19, 44] cmp w0, w25 - bls .L1025 + bls .L1032 ldr x0, [x19, 2376] ubfiz x26, x25, 1, 16 ldrh w24, [x0, x26] - cbnz w24, .L1025 + cbnz w24, .L1032 strh w25, [x20] mov x0, x20 bl make_superblock ldrb w0, [x20, 7] - cbnz w0, .L1030 + cbnz w0, .L1037 ldr x0, [x19, 2376] mov w1, -1 strh w1, [x0, x26] @@ -7231,7 +7246,7 @@ allocate_data_superblock: add w0, w0, w1 ldrh w1, [x19, 44] cmp w0, w1 - ble .L1025 + ble .L1032 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 mov w2, 2638 @@ -7239,17 +7254,17 @@ allocate_data_superblock: adrp x0, .LC1 add x0, x0, :lo12:.LC1 bl sftl_printk - b .L1025 -.L1052: + b .L1032 +.L1059: mov w1, 0 - b .L1027 -.L1030: + b .L1034 +.L1037: ldrh w1, [x19, 2400] ldrh w0, [x19, 2416] add w0, w0, w1 ldrh w1, [x19, 44] cmp w0, w1 - ble .L1032 + ble .L1039 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -7257,16 +7272,16 @@ allocate_data_superblock: add x1, x1, 480 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1032: +.L1039: add x27, x20, 16 ldrh w4, [x19, 36] mov x3, x27 mov x0, 0 mov w5, 65535 -.L1033: +.L1040: cmp w4, w0, uxth - bhi .L1035 - cbnz w24, .L1036 + bhi .L1042 + cbnz w24, .L1043 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -7274,10 +7289,10 @@ allocate_data_superblock: add x1, x1, 480 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1036: +.L1043: ldrh w0, [x19, 2672] cmp w0, w25 - bne .L1037 + bne .L1044 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -7285,15 +7300,15 @@ allocate_data_superblock: add x1, x1, 480 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1037: +.L1044: ldrb w0, [x20, 8] ldr x1, [x19, 2384] - cbnz w0, .L1038 + cbnz w0, .L1045 ldrh w0, [x1, x26] - cbz w0, .L1039 + cbz w0, .L1046 ldrh w2, [x19, 96] add w0, w0, w2 -.L1060: +.L1067: strh w0, [x1, x26] mov w1, 0 ldr w0, [x19, 2628] @@ -7301,14 +7316,14 @@ allocate_data_superblock: str w0, [x19, 2628] mov w0, w25 bl ftl_set_blk_mode -.L1041: +.L1048: ldr x0, [x19, 2384] ldr w1, [x19, 2644] ldrh w0, [x0, x26] cmp w0, w1 - bls .L1042 + bls .L1049 str w0, [x19, 2644] -.L1042: +.L1049: ldr w1, [x19, 2632] ubfiz x3, x24, 5, 16 ldrh w0, [x19, 96] @@ -7322,51 +7337,51 @@ allocate_data_superblock: add w0, w0, 1 str w0, [x1, 16] mov x0, 0 -.L1043: +.L1050: cmp x3, x0 - bne .L1044 + bne .L1051 ldrb w1, [x20, 8] mov w2, w24 ldr x0, [x19, 3400] mov x28, 0 bl FlashEraseBlocks mov w1, 0 -.L1045: +.L1052: cmp w24, w28, uxth - bhi .L1047 + bhi .L1054 cmp w1, 0 - ble .L1048 + ble .L1055 mov w0, w25 bl update_multiplier_value bl FtlBbmTblFlush -.L1048: +.L1055: ldrb w0, [x20, 7] - cbnz w0, .L1049 + cbnz w0, .L1056 ldr x0, [x19, 2376] mov w1, -1 strh w1, [x0, x26] - b .L1025 -.L1035: + b .L1032 +.L1042: ldr x1, [x19, 3400] add x2, x1, x0, lsl 5 stp xzr, xzr, [x2, 8] ldrh w2, [x3] cmp w2, w5 - beq .L1034 + beq .L1041 ubfiz x6, x24, 5, 16 add w24, w24, 1 add x1, x1, x6 and w24, w24, 65535 lsl w2, w2, 10 str w2, [x1, 4] -.L1034: +.L1041: add x0, x0, 1 add x3, x3, 2 - b .L1033 -.L1039: + b .L1040 +.L1046: mov w0, 2 - b .L1060 -.L1038: + b .L1067 +.L1045: ldrh w0, [x1, x26] add w0, w0, 1 strh w0, [x1, x26] @@ -7375,22 +7390,22 @@ allocate_data_superblock: str w0, [x19, 2632] mov w0, w25 bl ftl_set_blk_mode.part.7 - b .L1041 -.L1044: + b .L1048 +.L1051: ldr x1, [x19, 3400] add x1, x1, x0 add x0, x0, 32 ldr w2, [x1, 4] and w2, w2, -1024 str w2, [x1, 4] - b .L1043 -.L1047: + b .L1050 +.L1054: ldr x2, [x19, 3400] lsl x0, x28, 5 add x3, x2, x0 ldr w2, [x2, x0] cmn w2, #1 - bne .L1046 + bne .L1053 add w1, w1, 1 ldr w0, [x3, 4] stp w2, w1, [x29, 104] @@ -7401,11 +7416,11 @@ allocate_data_superblock: ldrb w0, [x20, 7] sub w0, w0, #1 strb w0, [x20, 7] -.L1046: +.L1053: add x28, x28, 1 add x27, x27, 2 - b .L1045 -.L1049: + b .L1052 +.L1056: add x21, x21, :lo12:.LANCHOR0 strh wzr, [x20, 2] strb wzr, [x20, 6] @@ -7422,10 +7437,10 @@ allocate_data_superblock: ldrh w2, [x20] strh w0, [x1, x2, lsl 1] ldrh w0, [x20, 4] - cbz w0, .L1050 + cbz w0, .L1057 ldrb w0, [x20, 7] - cbnz w0, .L1051 -.L1050: + cbnz w0, .L1058 +.L1057: adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -7433,7 +7448,7 @@ allocate_data_superblock: add x1, x1, 480 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1051: +.L1058: ldp x19, x20, [sp, 16] mov w0, 0 ldp x21, x22, [sp, 32] @@ -7458,16 +7473,16 @@ FtlGcFreeBadSuperBlk: stp x25, x26, [sp, 64] ldrh w0, [x19, 3324] str x27, [sp, 80] - cbz w0, .L1062 + cbz w0, .L1069 add x23, x19, 64 add x24, x19, 3328 mov w21, 0 -.L1063: +.L1070: ldrh w0, [x19, 36] cmp w0, w21 - bhi .L1069 + bhi .L1076 bl FtlGcReFreshBadBlk -.L1062: +.L1069: mov w0, 0 ldr x27, [sp, 80] ldp x19, x20, [sp, 16] @@ -7476,7 +7491,7 @@ FtlGcFreeBadSuperBlk: ldp x25, x26, [sp, 64] ldp x29, x30, [sp], 96 ret -.L1069: +.L1076: ldrb w0, [x23, w21, sxtw] mov w1, w22 adrp x26, .LC105 @@ -7484,18 +7499,18 @@ FtlGcFreeBadSuperBlk: mov w20, 0 bl V2P_block and w25, w0, 65535 -.L1064: +.L1071: ldrh w0, [x19, 3324] cmp w0, w20 - bhi .L1068 + bhi .L1075 add w21, w21, 1 and w21, w21, 65535 - b .L1063 -.L1068: + b .L1070 +.L1075: ldrh w0, [x24, w20, sxtw 1] add w27, w20, 1 cmp w0, w25 - bne .L1065 + bne .L1072 mov w1, w25 mov x0, x26 bl sftl_printk @@ -7504,22 +7519,22 @@ FtlGcFreeBadSuperBlk: bl FtlBbmTblFlush ldrh w0, [x19, 3324] mov w1, w27 -.L1066: +.L1073: cmp w20, w0 - bcc .L1067 + bcc .L1074 sub w0, w0, #1 strh w0, [x19, 3324] -.L1065: +.L1072: and w20, w27, 65535 - b .L1064 -.L1067: + b .L1071 +.L1074: 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 .L1066 + b .L1073 .size FtlGcFreeBadSuperBlk, .-FtlGcFreeBadSuperBlk .align 2 .global update_vpc_list @@ -7535,19 +7550,19 @@ update_vpc_list: ubfiz x1, x19, 1, 16 ldr x2, [x0, 2376] ldrh w1, [x2, x1] - cbnz w1, .L1075 + cbnz w1, .L1082 ldrh w1, [x0, 2672] cmp w1, w19 - bne .L1076 + bne .L1083 mov w1, -1 strh w1, [x0, 2672] -.L1077: +.L1084: add x21, x20, :lo12:.LANCHOR0 mov w1, w19 add x0, x21, 2368 bl List_remove_node ldrh w0, [x21, 2400] - cbnz w0, .L1079 + cbnz w0, .L1086 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -7555,7 +7570,7 @@ update_vpc_list: add x1, x1, 512 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1079: +.L1086: add x20, x20, :lo12:.LANCHOR0 ldrh w0, [x20, 2400] sub w0, w0, #1 @@ -7569,7 +7584,7 @@ update_vpc_list: add w0, w0, w1 ldrh w1, [x20, 44] cmp w0, w1 - ble .L1083 + ble .L1090 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -7577,30 +7592,30 @@ update_vpc_list: add x1, x1, 512 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1083: +.L1090: mov w0, 1 - b .L1074 -.L1076: + b .L1081 +.L1083: ldrh w1, [x0, 2424] cmp w1, w19 - beq .L1082 + beq .L1089 ldrh w1, [x0, 2472] cmp w1, w19 - beq .L1082 + beq .L1089 ldrh w0, [x0, 2520] cmp w0, w19 - bne .L1077 -.L1082: + bne .L1084 +.L1089: mov w0, 0 -.L1074: +.L1081: ldp x19, x20, [sp, 16] ldr x21, [sp, 32] ldp x29, x30, [sp], 48 ret -.L1075: +.L1082: mov w0, w19 bl List_update_data_list - b .L1082 + b .L1089 .size update_vpc_list, .-update_vpc_list .align 2 .global decrement_vpc_count @@ -7614,12 +7629,12 @@ decrement_vpc_count: mov w0, 65535 adrp x19, .LANCHOR0 cmp w20, w0 - beq .L1086 + beq .L1093 add x22, x19, :lo12:.LANCHOR0 ubfiz x21, x20, 1, 16 ldr x1, [x22, 2376] ldrh w0, [x1, x21] - cbnz w0, .L1087 + cbnz w0, .L1094 mov w2, 0 mov w1, w20 adrp x0, .LC106 @@ -7627,16 +7642,16 @@ decrement_vpc_count: bl sftl_printk ldr x0, [x22, 2376] ldrh w0, [x0, x21] - cbz w0, .L1088 -.L1093: + cbz w0, .L1095 +.L1100: mov w21, 0 -.L1085: +.L1092: mov w0, w21 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x29, x30, [sp], 48 ret -.L1088: +.L1095: adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 mov w2, 2795 @@ -7644,21 +7659,21 @@ decrement_vpc_count: adrp x0, .LC1 add x0, x0, :lo12:.LC1 bl sftl_printk - b .L1093 -.L1087: + b .L1100 +.L1094: sub w0, w0, #1 strh w0, [x1, x21] -.L1086: +.L1093: add x19, x19, :lo12:.LANCHOR0 mov w1, 65535 ldrh w0, [x19, 3698] cmp w0, w1 - bne .L1090 + bne .L1097 strh w20, [x19, 3698] - b .L1093 -.L1090: + b .L1100 +.L1097: cmp w20, w0 - beq .L1093 + beq .L1100 bl update_vpc_list cmp w0, 0 ldr x1, [x19, 2360] @@ -7673,9 +7688,9 @@ decrement_vpc_count: ldr x1, [x19, 2376] and x2, x0, 65535 ldrh w1, [x1, x2, lsl 1] - cbnz w1, .L1085 + cbnz w1, .L1092 cmp w20, w0, uxth - beq .L1085 + beq .L1092 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 mov w2, 2811 @@ -7683,7 +7698,7 @@ decrement_vpc_count: adrp x0, .LC1 add x0, x0, :lo12:.LC1 bl sftl_printk - b .L1085 + b .L1092 .size decrement_vpc_count, .-decrement_vpc_count .align 2 .global FtlRecoverySuperblock @@ -7700,7 +7715,7 @@ FtlRecoverySuperblock: stp x27, x28, [sp, 80] ldrh w0, [x0] cmp w0, w1 - beq .L1211 + beq .L1218 ldrb w0, [x20, 6] adrp x19, .LANCHOR0 str w0, [x29, 140] @@ -7708,11 +7723,11 @@ FtlRecoverySuperblock: ldrh w26, [x20, 2] ldrh w0, [x0, 106] cmp w0, w26 - bne .L1097 + bne .L1104 strh wzr, [x20, 4] -.L1217: +.L1224: strb wzr, [x20, 6] -.L1211: +.L1218: ldp x19, x20, [sp, 16] mov w0, 0 ldp x21, x22, [sp, 32] @@ -7721,17 +7736,17 @@ FtlRecoverySuperblock: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 160 ret -.L1097: +.L1104: ldrh w0, [x20, 16] mov w21, 0 -.L1098: +.L1105: cmp w0, w1 - beq .L1099 + beq .L1106 mov w1, 1 bl FtlGetLastWrittenPage mov w23, w0 cmn w0, #1 - beq .L1100 + beq .L1107 add x0, x19, :lo12:.LANCHOR0 add x28, x20, 16 mov x5, x28 @@ -7743,9 +7758,9 @@ FtlRecoverySuperblock: add x1, x1, 8 ldrh w9, [x0, 116] add x1, x20, x1, lsl 1 -.L1101: +.L1108: cmp x5, x1 - bne .L1105 + bne .L1112 add x24, x19, :lo12:.LANCHOR0 mov w2, 0 mov w1, w22 @@ -7758,42 +7773,42 @@ FtlRecoverySuperblock: mov w7, 65535 mov x6, x4 mov w3, 0 -.L1106: +.L1113: cmp w22, w3 - bne .L1111 + bne .L1118 add w22, w23, 1 ldr w0, [x4, 4] and w22, w22, 65535 -.L1213: +.L1220: lsr w0, w0, 10 bl P2V_plane and w27, w0, 65535 add x0, x19, :lo12:.LANCHOR0 ldrh w0, [x0, 106] cmp w0, w22 - bne .L1113 + bne .L1120 strh w22, [x20, 2] strb wzr, [x20, 6] strh wzr, [x20, 4] -.L1113: +.L1120: ldr w0, [x29, 140] cmp w22, w26 ccmp w27, w0, 0, eq - bne .L1114 -.L1218: + bne .L1121 +.L1225: mov w2, w27 mov w1, w22 mov x0, x20 bl ftl_sb_update_avl_pages - b .L1211 -.L1099: + b .L1218 +.L1106: add w21, w21, 1 and w21, w21, 65535 add x0, x20, x21, sxtw 1 ldrh w0, [x0, 16] - b .L1098 -.L1100: - cbz w26, .L1102 + b .L1105 +.L1107: + cbz w26, .L1109 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -7801,11 +7816,11 @@ FtlRecoverySuperblock: add x1, x1, 552 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1102: +.L1109: ldr w0, [x29, 140] cmp w0, 0 ccmp w21, w0, 4, ne - beq .L1103 + beq .L1110 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -7813,13 +7828,13 @@ FtlRecoverySuperblock: add x1, x1, 552 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1103: +.L1110: strh wzr, [x20, 2] - b .L1217 -.L1105: + b .L1224 +.L1112: ldrh w2, [x5] cmp w2, w10 - beq .L1104 + beq .L1111 ldr x4, [x0, 3424] ubfiz x7, x22, 5, 16 orr w2, w23, w2, lsl 10 @@ -7839,76 +7854,76 @@ FtlRecoverySuperblock: sdiv w2, w2, w6 add x2, x4, x2, sxtw 2 str x2, [x3, 16] -.L1104: - add x5, x5, 2 - b .L1101 .L1111: + add x5, x5, 2 + b .L1108 +.L1118: ldr w0, [x6] - cbnz w0, .L1107 + cbnz w0, .L1114 ldr x8, [x6, 16] ldr w5, [x8, 4] cmn w5, #1 - beq .L1108 + beq .L1115 ldr w1, [x24, 2624] mov w0, w5 bl ftl_cmp_data_ver - cbz w0, .L1108 + cbz w0, .L1115 add w5, w5, 1 str w5, [x24, 2624] -.L1108: +.L1115: ldr w0, [x8] cmn w0, #1 - bne .L1110 + bne .L1117 ubfiz x3, x3, 5, 16 and w22, w23, 65535 add x3, x4, x3 ldr w0, [x3, 4] - b .L1213 -.L1107: + b .L1220 +.L1114: mov w7, w9 -.L1110: +.L1117: add w3, w3, 1 add x6, x6, 32 and w3, w3, 65535 - b .L1106 -.L1114: + b .L1113 +.L1121: mov w0, 65535 cmp w7, w0 - bne .L1115 + bne .L1122 ldrb w0, [x20, 8] - cbnz w0, .L1116 -.L1115: + cbnz w0, .L1123 +.L1122: add x0, x19, :lo12:.LANCHOR0 and w3, w23, 65535 ldr w1, [x0, 3708] cmn w1, #1 - bne .L1117 + bne .L1124 str w21, [x0, 3708] -.L1117: +.L1124: add w0, w26, 7 cmp w0, w23, uxth - bge .L1164 + bge .L1171 sub w24, w3, #7 and w24, w24, 65535 -.L1118: +.L1125: add x25, x19, :lo12:.LANCHOR0 mov w4, 65535 -.L1119: +.L1126: cmp w24, w3 - bhi .L1126 + bhi .L1133 ldrh w0, [x25, 36] mov x1, x28 mov w23, 0 add x0, x0, 8 add x0, x20, x0, lsl 1 - b .L1127 -.L1164: + b .L1134 +.L1171: mov w24, w26 - b .L1118 -.L1121: + b .L1125 +.L1128: ldrh w2, [x1] cmp w2, w4 - beq .L1120 + beq .L1127 ldr x5, [x25, 3424] ubfiz x6, x23, 5, 16 add w23, w23, 1 @@ -7916,11 +7931,11 @@ FtlRecoverySuperblock: add x5, x5, x6 and w23, w23, 65535 str w2, [x5, 4] -.L1120: - add x1, x1, 2 .L1127: + add x1, x1, 2 +.L1134: cmp x0, x1 - bne .L1121 + bne .L1128 ldr x0, [x25, 3424] mov w1, w23 str w4, [x29, 120] @@ -7934,47 +7949,47 @@ FtlRecoverySuperblock: ldr w3, [x29, 128] add x0, x1, 16 add x23, x1, x23 -.L1122: +.L1129: cmp x23, x0 - bne .L1125 + bne .L1132 add w24, w24, 1 and w24, w24, 65535 - b .L1119 -.L1125: + b .L1126 +.L1132: ldr w1, [x0, -16] - cbnz w1, .L1116 + cbnz w1, .L1123 ldr x1, [x0] ldrh w2, [x1] cmp w2, w4 - beq .L1124 + beq .L1131 ldr w1, [x1, 4] cmn w1, #1 - beq .L1124 + beq .L1131 str w1, [x25, 3708] -.L1124: +.L1131: add x0, x0, 32 - b .L1122 -.L1126: + b .L1129 +.L1133: add x0, x19, :lo12:.LANCHOR0 mov w1, -1 str w1, [x0, 3708] -.L1116: +.L1123: add x19, x19, :lo12:.LANCHOR0 mov w0, 1 mov w24, w26 strh w0, [x19, 3816] add x0, x19, 3824 str x0, [x29, 104] -.L1128: +.L1135: ldrh w0, [x19, 36] mov x1, x28 mov w23, 0 mov w4, 65535 add x0, x0, 8 add x0, x20, x0, lsl 1 -.L1129: +.L1136: cmp x0, x1 - bne .L1131 + bne .L1138 ldr x0, [x19, 3424] mov w1, w23 mov w2, 0 @@ -7986,32 +8001,32 @@ FtlRecoverySuperblock: add x0, x0, 552 mov x23, 0 str x0, [x29, 120] -.L1132: +.L1139: ldr x0, [x29, 112] cmp x0, x23 - bne .L1158 + bne .L1165 add w24, w24, 1 ldrh w0, [x19, 106] and w24, w24, 65535 cmp w0, w24 - bne .L1128 + bne .L1135 ldrh w1, [x19, 36] mov w0, 0 strh w24, [x20, 2] mov w2, 65535 strh wzr, [x20, 4] -.L1159: +.L1166: cmp w0, w1 - beq .L1211 + beq .L1218 ldrh w3, [x28], 2 cmp w3, w2 - beq .L1160 + beq .L1167 strb w0, [x20, 6] - b .L1211 -.L1131: + b .L1218 +.L1138: ldrh w2, [x1] cmp w2, w4 - beq .L1130 + beq .L1137 ldr x3, [x19, 3424] ubfiz x5, x23, 5, 16 add w23, w23, 1 @@ -8019,10 +8034,10 @@ FtlRecoverySuperblock: add x3, x3, x5 and w23, w23, 65535 str w2, [x3, 4] -.L1130: +.L1137: add x1, x1, 2 - b .L1129 -.L1158: + b .L1136 +.L1165: ldr x4, [x19, 3424] add x4, x4, x23 ldr w5, [x4, 4] @@ -8031,42 +8046,42 @@ FtlRecoverySuperblock: bl P2V_plane and w0, w0, 65535 cmp w24, w26 - bcc .L1133 + bcc .L1140 ldr w1, [x29, 140] ccmp w1, w0, 0, eq - bhi .L1133 + bhi .L1140 cmp w24, w22 ccmp w27, w0, 0, eq - beq .L1134 + beq .L1141 ldr w0, [x4] cmn w0, #1 - beq .L1135 + beq .L1142 ldr x3, [x4, 16] mov w0, 61589 ldrh w1, [x3] cmp w1, w0 - beq .L1136 + beq .L1143 ldrh w0, [x20] -.L1215: +.L1222: bl decrement_vpc_count - b .L1133 -.L1136: + b .L1140 +.L1143: ldr w21, [x3, 4] cmn w21, #1 - beq .L1137 + beq .L1144 ldr w1, [x19, 2624] mov w0, w21 str x3, [x29, 128] bl ftl_cmp_data_ver ldr x3, [x29, 128] - cbz w0, .L1137 + cbz w0, .L1144 add w0, w21, 1 str w0, [x19, 2624] -.L1137: +.L1144: ldrh w1, [x3] mov w0, 61589 cmp w1, w0 - beq .L1138 + beq .L1145 ldr x1, [x29, 120] mov w2, 1918 str x3, [x29, 128] @@ -8074,7 +8089,7 @@ FtlRecoverySuperblock: add x0, x0, :lo12:.LC1 bl sftl_printk ldr x3, [x29, 128] -.L1138: +.L1145: ldp w25, w0, [x3, 8] add x1, x29, 152 str w0, [x29, 148] @@ -8083,13 +8098,13 @@ FtlRecoverySuperblock: bl log2phys ldr w1, [x19, 3708] cmn w1, #1 - beq .L1139 + beq .L1146 mov w0, w21 bl ftl_cmp_data_ver - cbz w0, .L1139 + cbz w0, .L1146 ldr w1, [x29, 148] cmn w1, #1 - beq .L1140 + beq .L1147 ldr x0, [x19, 3424] mov w2, 0 add x0, x0, x23 @@ -8105,22 +8120,22 @@ FtlRecoverySuperblock: add x3, x0, x23 ldr w0, [x0, x23] cmn w0, #1 - bne .L1141 -.L1142: + bne .L1148 +.L1149: mov w0, -1 str w0, [x29, 148] -.L1149: +.L1156: ldr w4, [x29, 148] cmn w4, #1 - beq .L1133 -.L1163: + beq .L1140 +.L1170: lsr w0, w4, 10 bl P2V_block_in_plane and w25, w0, 65535 ldrh w0, [x19, 44] mov w3, w25 cmp w0, w25 - bhi .L1154 + bhi .L1161 ldr x1, [x29, 120] mov w2, 2019 adrp x0, .LC1 @@ -8128,49 +8143,49 @@ FtlRecoverySuperblock: add x0, x0, :lo12:.LC1 bl sftl_printk ldr w3, [x29, 128] -.L1154: +.L1161: ldr x1, [x19, 2376] ubfiz x0, x25, 1, 16 ldrh w0, [x1, x0] - cbz w0, .L1155 + cbz w0, .L1162 mov w0, w3 - b .L1215 -.L1140: + b .L1222 +.L1147: ldp w1, w0, [x29, 152] cmp w1, w0 - bne .L1133 + bne .L1140 mov w2, 1 add x1, x29, 148 mov w0, w25 bl log2phys -.L1133: +.L1140: add x23, x23, 32 - b .L1132 -.L1141: + b .L1139 +.L1148: ldr w0, [x4, 8] cmp w25, w0 - bne .L1142 + bne .L1149 ldr w0, [x4, 4] str w0, [x29, 128] str x4, [x29, 96] uxtw x1, w0 ldr w0, [x19, 3708] bl ftl_cmp_data_ver - cbz w0, .L1142 + cbz w0, .L1149 ldp w0, w1, [x29, 152] ldr x4, [x29, 96] cmp w0, w1 ldr w1, [x29, 148] - bne .L1144 -.L1214: + bne .L1151 +.L1221: mov w0, w25 bl FtlReUsePrevPpa - b .L1142 -.L1144: + b .L1149 +.L1151: cmp w0, w1 - beq .L1142 + beq .L1149 cmn w0, #1 - beq .L1145 + beq .L1152 ldr x4, [x3, 16] mov w2, 0 str w0, [x3, 4] @@ -8180,55 +8195,55 @@ FtlRecoverySuperblock: add x0, x0, x23 bl FlashReadPages ldr x4, [x29, 96] -.L1146: +.L1153: adrp x0, .LANCHOR0 add x0, x0, :lo12:.LANCHOR0 ldr x1, [x0, 3424] ldr w1, [x1, x23] cmn w1, #1 - beq .L1147 + beq .L1154 ldr w3, [x4, 4] ldr w0, [x0, 3708] mov w1, w3 bl ftl_cmp_data_ver - cbz w0, .L1147 + cbz w0, .L1154 ldr w0, [x29, 128] mov w1, w3 bl ftl_cmp_data_ver - cbz w0, .L1142 -.L1147: + cbz w0, .L1149 +.L1154: ldr w1, [x29, 148] - b .L1214 -.L1145: + b .L1221 +.L1152: str w0, [x3] - b .L1146 -.L1139: + b .L1153 +.L1146: ldp w1, w0, [x29, 152] cmp w1, w0 - beq .L1149 + beq .L1156 mov w2, 1 add x1, x29, 156 mov w0, w25 bl log2phys ldr w4, [x29, 152] cmn w4, #1 - beq .L1149 + beq .L1156 ldr w0, [x29, 148] cmp w4, w0 - beq .L1163 + beq .L1170 lsr w0, w4, 10 bl P2V_block_in_plane ldrh w1, [x19, 2424] and w0, w0, 65535 cmp w1, w0 - beq .L1153 + beq .L1160 ldrh w1, [x19, 2472] cmp w1, w0 - beq .L1153 + beq .L1160 ldrh w1, [x19, 2520] cmp w1, w0 - bne .L1149 -.L1153: + bne .L1156 +.L1160: ldr x0, [x19, 3424] mov w2, 0 mov w1, 1 @@ -8240,52 +8255,52 @@ FtlRecoverySuperblock: ldr x0, [x19, 3424] ldr w0, [x0] cmn w0, #1 - beq .L1149 + beq .L1156 ldr x3, [x29, 128] mov w0, w21 ldr w1, [x3, 4] bl ftl_cmp_data_ver - cbnz w0, .L1149 + cbnz w0, .L1156 mov w2, 1 add x1, x29, 152 mov w0, w25 bl log2phys - b .L1149 -.L1155: + b .L1156 +.L1162: mov w1, w25 adrp x0, .LC107 add x0, x0, :lo12:.LC107 bl sftl_printk - b .L1133 -.L1135: + b .L1140 +.L1142: ldr w0, [x19, 3820] cmp w0, 31 - bhi .L1156 + bhi .L1163 ldr x1, [x29, 104] str w5, [x1, w0, uxtw 2] add w0, w0, 1 str w0, [x19, 3820] -.L1156: +.L1163: ldrh w0, [x20] bl decrement_vpc_count ldr w0, [x19, 3708] cmn w0, #1 - bne .L1157 -.L1216: + bne .L1164 +.L1223: str w21, [x19, 3708] - b .L1133 -.L1157: + b .L1140 +.L1164: cmp w21, w0 - bcs .L1133 - b .L1216 -.L1160: + bcs .L1140 + b .L1223 +.L1167: add w0, w0, 1 and w0, w0, 65535 - b .L1159 -.L1134: + b .L1166 +.L1141: strb w27, [x20, 6] strh w22, [x20, 2] - b .L1218 + b .L1225 .size FtlRecoverySuperblock, .-FtlRecoverySuperblock .align 2 .global FtlWriteDump_data @@ -8300,16 +8315,16 @@ FtlWriteDump_data: stp x23, x24, [sp, 48] str x25, [sp, 64] ldrh w2, [x20, 2428] - cbz w2, .L1220 + cbz w2, .L1227 ldrb w1, [x20, 2432] - cbnz w1, .L1220 + cbnz w1, .L1227 ldrb w1, [x20, 2431] ldrh w3, [x20, 106] mul w1, w1, w3 cmp w2, w1 - beq .L1220 + beq .L1227 ldrb w0, [x20, 2434] - cbnz w0, .L1219 + cbnz w0, .L1226 ldr w22, [x20, 2584] add x1, x29, 92 ldrh w24, [x20, 36] @@ -8325,41 +8340,41 @@ FtlWriteDump_data: stp x1, x21, [x29, 104] str w22, [x29, 120] str wzr, [x21, 4] - beq .L1222 + beq .L1229 mov w2, 0 mov w1, 1 add x0, x29, 96 bl FlashReadPages -.L1223: +.L1230: add x25, x19, :lo12:.LANCHOR0 lsl w24, w24, 2 add x20, x25, 2424 mov w0, -3947 mov w23, 0 strh w0, [x21] -.L1224: +.L1231: cmp w24, w23 - bne .L1228 -.L1225: + bne .L1235 +.L1232: add x19, x19, :lo12:.LANCHOR0 mov w0, 1 strb w0, [x19, 2434] -.L1219: +.L1226: 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 -.L1222: +.L1229: ldrh w2, [x20, 114] mov w1, 255 ldr x0, [x20, 3448] bl ftl_memset - b .L1223 -.L1228: + b .L1230 +.L1235: ldrh w0, [x20, 4] - cbz w0, .L1225 + cbz w0, .L1232 ldr w0, [x29, 100] add w23, w23, 1 stp w22, w0, [x21, 8] @@ -8381,11 +8396,11 @@ FtlWriteDump_data: bl FlashProgPages ldrh w0, [x20] bl decrement_vpc_count - b .L1224 -.L1220: + b .L1231 +.L1227: add x19, x19, :lo12:.LANCHOR0 strb wzr, [x19, 2434] - b .L1219 + b .L1226 .size FtlWriteDump_data, .-FtlWriteDump_data .align 2 .global l2p_flush @@ -8398,26 +8413,26 @@ l2p_flush: add x20, x20, :lo12:.LANCHOR0 mov w19, 0 bl FtlWriteDump_data -.L1238: +.L1245: ldrh w0, [x20, 142] cmp w0, w19 - bhi .L1240 + bhi .L1247 mov w0, 0 ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 32 ret -.L1240: +.L1247: ldr x1, [x20, 2568] ubfiz x0, x19, 4, 16 add x0, x1, x0 ldr w0, [x0, 4] - tbz w0, #31, .L1239 + tbz w0, #31, .L1246 mov w0, w19 bl flush_l2p_region -.L1239: +.L1246: add w19, w19, 1 and w19, w19, 65535 - b .L1238 + b .L1245 .size l2p_flush, .-l2p_flush .align 2 .global FtlSuperblockPowerLostFix @@ -8454,10 +8469,10 @@ FtlSuperblockPowerLostFix: ldrh w22, [x19, 4] and w22, w22, 1 add w22, w22, 6 -.L1248: +.L1255: ldrh w0, [x19, 4] - cbnz w0, .L1244 -.L1245: + cbnz w0, .L1251 +.L1252: add x21, x21, :lo12:.LANCHOR0 ldrh w0, [x19] ldrh w3, [x19, 4] @@ -8475,12 +8490,12 @@ FtlSuperblockPowerLostFix: ldr x23, [sp, 48] ldp x29, x30, [sp], 96 ret -.L1244: +.L1251: mov x0, x19 bl get_new_active_ppa str w0, [x29, 68] cmn w0, #1 - beq .L1245 + beq .L1252 ldr w0, [x20, 2624] mov w3, 0 str w0, [x23, 4] @@ -8495,8 +8510,8 @@ FtlSuperblockPowerLostFix: ldrh w0, [x19] bl decrement_vpc_count subs w22, w22, #1 - bne .L1248 - b .L1245 + bne .L1255 + b .L1252 .size FtlSuperblockPowerLostFix, .-FtlSuperblockPowerLostFix .align 2 .global FtlVendorPartWrite @@ -8516,16 +8531,16 @@ FtlVendorPartWrite: ldrh w0, [x19, 100] stp x25, x26, [sp, 64] cmp w1, w0 - bhi .L1264 + bhi .L1271 ldrh w23, [x19, 112] mov x25, x2 add x26, x29, 144 add x27, x19, 3752 mov w24, 0 lsr w23, w28, w23 -.L1258: - cbnz w22, .L1263 -.L1256: +.L1265: + cbnz w22, .L1270 +.L1263: mov w0, w24 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -8534,7 +8549,7 @@ FtlVendorPartWrite: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 208 ret -.L1263: +.L1270: ldrh w1, [x19, 62] ldr x0, [x19, 3592] udiv w21, w28, w1 @@ -8545,9 +8560,9 @@ FtlVendorPartWrite: and w20, w20, 65535 cmp w22, w20 csel w20, w0, w20, cc - cbz w2, .L1260 + cbz w2, .L1267 cmp w20, w1 - beq .L1260 + beq .L1267 ldr x0, [x19, 3464] str w2, [x29, 116] mov w2, 1 @@ -8555,7 +8570,7 @@ FtlVendorPartWrite: mov w1, w2 add x0, x29, 112 bl FlashReadPages -.L1261: +.L1268: lsl w3, w20, 9 ldr x0, [x19, 3464] lsl w21, w21, 9 @@ -8576,16 +8591,16 @@ FtlVendorPartWrite: ldr w3, [x29, 108] csinv w24, w24, wzr, ne add x25, x25, x3, sxtw - b .L1258 -.L1260: + b .L1265 +.L1267: ldrh w2, [x19, 114] mov w1, 0 ldr x0, [x19, 3464] bl ftl_memset - b .L1261 -.L1264: + b .L1268 +.L1271: mov w24, -1 - b .L1256 + b .L1263 .size FtlVendorPartWrite, .-FtlVendorPartWrite .align 2 .global Ftl_save_ext_data @@ -8597,7 +8612,7 @@ Ftl_save_ext_data: movk w1, 0x4654, lsl 16 ldr w3, [x0, 2720] cmp w3, w1 - bne .L1272 + bne .L1279 stp x29, x30, [sp, -16]! add x2, x0, 2720 mov w1, 72 @@ -8632,7 +8647,7 @@ Ftl_save_ext_data: bl FtlVendorPartWrite ldp x29, x30, [sp], 16 ret -.L1272: +.L1279: ret .size Ftl_save_ext_data, .-Ftl_save_ext_data .align 2 @@ -8643,20 +8658,20 @@ FtlEctTblFlush: add x3, x1, :lo12:.LANCHOR0 ldrh w2, [x3, 3952] cmp w2, 31 - bhi .L1279 + bhi .L1286 add w2, w2, 1 strh w2, [x3, 3952] mov w2, 1 -.L1276: - cbnz w0, .L1277 +.L1283: + cbnz w0, .L1284 add x0, x1, :lo12:.LANCHOR0 ldr x0, [x0, 3544] ldr w3, [x0, 20] ldr w0, [x0, 16] add w2, w2, w3 cmp w0, w2 - bcc .L1281 -.L1277: + bcc .L1288 +.L1284: add x0, x1, :lo12:.LANCHOR0 stp x29, x30, [sp, -16]! add x29, sp, 0 @@ -8681,10 +8696,10 @@ FtlEctTblFlush: mov w0, 0 ldp x29, x30, [sp], 16 ret -.L1279: +.L1286: mov w2, 32 - b .L1276 -.L1281: + b .L1283 +.L1288: mov w0, 0 ret .size FtlEctTblFlush, .-FtlEctTblFlush @@ -8717,7 +8732,7 @@ FtlVendorPartRead: stp x27, x28, [sp, 80] ldrh w0, [x3, 100] cmp w1, w0 - bhi .L1294 + bhi .L1301 ldrh w21, [x3, 112] adrp x26, .LC108 mov x25, x2 @@ -8725,9 +8740,9 @@ FtlVendorPartRead: add x26, x26, :lo12:.LC108 mov w24, 0 lsr w21, w23, w21 -.L1287: - cbnz w22, .L1293 -.L1285: +.L1294: + cbnz w22, .L1300 +.L1292: mov w0, w24 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -8736,7 +8751,7 @@ FtlVendorPartRead: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 208 ret -.L1293: +.L1300: ldrh w19, [x28, 62] ldr x0, [x28, 3592] udiv w20, w23, w19 @@ -8748,7 +8763,7 @@ FtlVendorPartRead: cmp w22, w19 csel w19, w0, w19, cc lsl w27, w19, 9 - cbz w4, .L1289 + cbz w4, .L1296 ldr x0, [x28, 3464] mov w2, 1 str x0, [x29, 120] @@ -8764,7 +8779,7 @@ FtlVendorPartRead: ldr w0, [x28, 3712] csinv w24, w24, wzr, ne cmp w0, 256 - bne .L1291 + bne .L1298 mov w2, w4 mov w1, w21 mov x0, x26 @@ -8773,7 +8788,7 @@ FtlVendorPartRead: mov w1, w21 add x0, x28, 3752 bl FtlMapWritePage -.L1291: +.L1298: ldr x1, [x28, 3464] lsl w20, w20, 9 asr w20, w20, 2 @@ -8781,21 +8796,21 @@ FtlVendorPartRead: mov x0, x25 add x1, x1, x20, sxtw 2 bl ftl_memcpy -.L1292: +.L1299: add w21, w21, 1 sub w22, w22, w19 add w23, w23, w19 add x25, x25, x27, sxtw - b .L1287 -.L1289: + b .L1294 +.L1296: mov w2, w27 mov w1, 0 mov x0, x25 bl ftl_memset - b .L1292 -.L1294: + b .L1299 +.L1301: mov w24, -1 - b .L1285 + b .L1292 .size FtlVendorPartRead, .-FtlVendorPartRead .align 2 .global FtlLoadEctTbl @@ -8815,7 +8830,7 @@ FtlLoadEctTbl: mov w0, 17221 movk w0, 0x4254, lsl 16 cmp w1, w0 - beq .L1297 + beq .L1304 adrp x1, .LC109 adrp x0, .LC71 add x1, x1, :lo12:.LC109 @@ -8826,7 +8841,7 @@ FtlLoadEctTbl: ldrh w2, [x19, 3528] lsl w2, w2, 9 bl ftl_memset -.L1297: +.L1304: mov w0, 0 ldr x19, [sp, 16] ldp x29, x30, [sp], 32 @@ -8851,19 +8866,19 @@ Ftl_load_ext_data: ldr w0, [x20, 2720] movk w21, 0x4654, lsl 16 cmp w0, w21 - beq .L1300 + beq .L1307 mov w2, 512 mov w1, 0 mov x0, x22 bl ftl_memset str w21, [x20, 2720] -.L1300: +.L1307: add x0, x19, :lo12:.LANCHOR0 mov w2, 19539 movk w2, 0x4654, lsl 16 ldr w3, [x0, 2720] cmp w3, w2 - bne .L1301 + bne .L1308 ldr w2, [x0, 2808] str w2, [x0, 2612] ldr w2, [x0, 2812] @@ -8888,7 +8903,7 @@ Ftl_load_ext_data: ldr w2, [x0, 2764] str w1, [x0, 2648] str w2, [x0, 2644] -.L1301: +.L1308: add x0, x19, :lo12:.LANCHOR0 ldr w2, [x0, 2632] ldrh w1, [x0, 96] @@ -9010,7 +9025,7 @@ FtlVpcTblFlush: bl ftl_memcpy mov w0, 0 bl FtlUpdateVaildLpn -.L1306: +.L1313: ldrh w2, [x20, 2] ldrh w1, [x20] ldr x0, [x19, 3448] @@ -9022,7 +9037,7 @@ FtlVpcTblFlush: ldrh w0, [x19, 108] sub w0, w0, #1 cmp w2, w0 - blt .L1307 + blt .L1314 ldrh w24, [x20, 4] strh wzr, [x20, 2] strh w1, [x20, 4] @@ -9036,7 +9051,7 @@ FtlVpcTblFlush: strh w0, [x20] strh w0, [x21, 2] str w1, [x21, 4] -.L1307: +.L1314: mov w3, 1 add x0, x19, 3712 mov w1, w3 @@ -9048,46 +9063,46 @@ FtlVpcTblFlush: and w0, w0, 65535 strh w0, [x20, 2] cmn w1, #1 - bne .L1308 + bne .L1315 cmp w0, 1 - bne .L1309 + bne .L1316 adrp x0, .LC1 mov w2, 1135 mov x1, x25 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1309: +.L1316: ldrh w0, [x20, 2] cmp w0, 1 - bne .L1310 + bne .L1317 ldrh w0, [x19, 108] sub w0, w0, #1 strh w0, [x20, 2] -.L1310: +.L1317: add w22, w22, 1 and w22, w22, 65535 cmp w22, 3 - bls .L1306 + bls .L1313 add x23, x23, :lo12:.LANCHOR0 adrp x0, .LC110 mov w2, w22 add x0, x0, :lo12:.LC110 ldr w1, [x23, 3716] bl sftl_printk -.L1312: - b .L1312 -.L1308: +.L1319: + b .L1319 +.L1315: cmp w0, 1 - beq .L1306 + beq .L1313 cmp w1, 256 - beq .L1306 + beq .L1313 mov w0, 65535 cmp w24, w0 - beq .L1313 + beq .L1320 mov w1, 1 mov w0, w24 bl FtlFreeSysBlkQueueIn -.L1313: +.L1320: mov w0, 0 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -9117,14 +9132,14 @@ sftl_deinit: adrp x0, .LANCHOR2 ldr w0, [x0, #:lo12:.LANCHOR2] cmp w0, 1 - bne .L1326 + bne .L1333 stp x29, x30, [sp, -16]! add x29, sp, 0 bl FtlSysFlush mov w0, 0 ldp x29, x30, [sp], 16 ret -.L1326: +.L1333: mov w0, 0 ret .size sftl_deinit, .-sftl_deinit @@ -9142,50 +9157,50 @@ FtlDiscard: str x21, [sp, 32] ldr w2, [x1, 144] cmp w3, w2 - bhi .L1337 + bhi .L1344 cmp w20, 31 - bhi .L1331 -.L1345: + bhi .L1338 +.L1352: mov w0, 0 -.L1329: +.L1336: ldp x19, x20, [sp, 16] ldr x21, [sp, 32] ldp x29, x30, [sp], 64 ret -.L1331: +.L1338: ldrh w1, [x1, 62] udiv w21, w0, w1 msub w0, w1, w21, w0 ands w0, w0, 65535 - beq .L1332 + beq .L1339 sub w1, w1, w0 add w21, w21, 1 cmp w1, w20 csel w1, w1, w20, ls sub w20, w20, w1, uxth -.L1332: +.L1339: add x19, x19, :lo12:.LANCHOR0 mov w0, -1 str w0, [x29, 60] -.L1333: +.L1340: ldrh w0, [x19, 62] cmp w20, w0 - bcs .L1335 + bcs .L1342 ldr w0, [x19, 3956] cmp w0, 32 - bls .L1345 + bls .L1352 str wzr, [x19, 3956] bl l2p_flush bl FtlVpcTblFlush - b .L1345 -.L1335: + b .L1352 +.L1342: mov w2, 0 add x1, x29, 56 mov w0, w21 bl log2phys ldr w0, [x29, 56] cmn w0, #1 - beq .L1334 + beq .L1341 ldr w0, [x19, 3956] mov w2, 1 add x1, x29, 60 @@ -9200,14 +9215,14 @@ FtlDiscard: lsr w0, w0, 10 bl P2V_block_in_plane bl decrement_vpc_count -.L1334: +.L1341: ldrh w0, [x19, 62] add w21, w21, 1 sub w20, w20, w0 - b .L1333 -.L1337: + b .L1340 +.L1344: mov w0, -1 - b .L1329 + b .L1336 .size FtlDiscard, .-FtlDiscard .align 2 .global FtlVpcCheckAndModify @@ -9232,19 +9247,19 @@ FtlVpcCheckAndModify: mov w1, 0 lsl w2, w2, 1 bl ftl_memset -.L1347: +.L1354: ldr w0, [x19, 2584] cmp w21, w0 - bcc .L1349 + bcc .L1356 adrp x22, .LC111 add x20, x20, :lo12:.LANCHOR0 add x22, x22, :lo12:.LC111 mov w19, 0 mov w23, 65535 -.L1350: +.L1357: ldrh w0, [x20, 44] cmp w0, w19 - bhi .L1355 + bhi .L1362 bl l2p_flush bl FtlVpcTblFlush ldr x23, [sp, 48] @@ -9252,14 +9267,14 @@ FtlVpcCheckAndModify: ldp x21, x22, [sp, 32] ldp x29, x30, [sp], 80 ret -.L1349: +.L1356: mov w2, 0 add x1, x29, 76 mov w0, w21 bl log2phys ldr w0, [x29, 76] cmn w0, #1 - beq .L1348 + beq .L1355 lsr w0, w0, 10 bl P2V_block_in_plane ldr x2, [x19, 3552] @@ -9267,48 +9282,48 @@ FtlVpcCheckAndModify: ldrh w1, [x2, x0] add w1, w1, 1 strh w1, [x2, x0] -.L1348: - add w21, w21, 1 - b .L1347 .L1355: + add w21, w21, 1 + b .L1354 +.L1362: ldr x0, [x20, 2376] ubfiz x21, x19, 1, 16 ldrh w2, [x0, x21] ldr x0, [x20, 3552] ldrh w3, [x0, x21] cmp w2, w3 - beq .L1352 + beq .L1359 cmp w2, w23 - beq .L1352 + beq .L1359 mov x0, x22 mov w1, w19 bl sftl_printk ldrh w0, [x20, 2424] cmp w0, w19 - beq .L1352 + beq .L1359 ldrh w0, [x20, 2520] cmp w0, w19 - beq .L1352 + beq .L1359 ldrh w0, [x20, 2472] cmp w0, w19 - beq .L1352 + beq .L1359 ldr x0, [x20, 2376] ldrh w1, [x0, x21] - cbnz w1, .L1354 + cbnz w1, .L1361 ldr x1, [x20, 3552] ldrh w1, [x1, x21] strh w1, [x0, x21] -.L1352: +.L1359: add w19, w19, 1 and w19, w19, 65535 - b .L1350 -.L1354: + b .L1357 +.L1361: ldr x1, [x20, 3552] ldrh w1, [x1, x21] strh w1, [x0, x21] mov w0, w19 bl update_vpc_list - b .L1352 + b .L1359 .size FtlVpcCheckAndModify, .-FtlVpcCheckAndModify .align 2 .global allocate_new_data_superblock @@ -9324,7 +9339,7 @@ allocate_new_data_superblock: add x0, x19, :lo12:.LANCHOR0 ldrh w0, [x0, 44] cmp w0, w20 - bcs .L1361 + bcs .L1368 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -9332,38 +9347,38 @@ allocate_new_data_superblock: add x1, x1, 616 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1361: +.L1368: mov w0, 65535 cmp w20, w0 - beq .L1362 + beq .L1369 add x1, x19, :lo12:.LANCHOR0 ubfiz x0, x20, 1, 16 ldr x1, [x1, 2376] ldrh w0, [x1, x0] - cbz w0, .L1363 + cbz w0, .L1370 mov w0, w20 bl INSERT_DATA_LIST -.L1362: +.L1369: add x2, x19, :lo12:.LANCHOR0 mov w0, 1 strb w0, [x21, 8] mov w1, 65535 ldrh w0, [x2, 3698] cmp w0, w1 - beq .L1364 + beq .L1371 cmp w20, w0 - bne .L1365 + bne .L1372 ldr x2, [x2, 2376] ubfiz x1, x0, 1, 16 ldrh w1, [x2, x1] - cbz w1, .L1366 -.L1365: + cbz w1, .L1373 +.L1372: bl update_vpc_list -.L1366: +.L1373: add x19, x19, :lo12:.LANCHOR0 mov w0, -1 strh w0, [x19, 3698] -.L1364: +.L1371: mov x0, x21 bl allocate_data_superblock bl l2p_flush @@ -9375,10 +9390,10 @@ allocate_new_data_superblock: ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 48 ret -.L1363: +.L1370: mov w0, w20 bl INSERT_FREE_LIST - b .L1362 + b .L1369 .size allocate_new_data_superblock, .-allocate_new_data_superblock .align 2 .global FtlProgPages @@ -9403,18 +9418,18 @@ FtlProgPages: add x25, x25, :lo12:.LANCHOR1 add x20, x0, 4 bl FlashProgPages -.L1372: +.L1379: cmp x20, x24 - beq .L1379 + beq .L1386 sub x23, x20, #4 - b .L1380 -.L1375: + b .L1387 +.L1382: ldr w0, [x20] lsr w0, w0, 10 bl P2V_block_in_plane ldrh w1, [x19] cmp w1, w0, uxth - bne .L1373 + bne .L1380 ldr x2, [x21, 2376] ubfiz x1, x1, 1, 16 ldrh w3, [x19, 4] @@ -9425,12 +9440,12 @@ FtlProgPages: ldrh w0, [x21, 106] strh w0, [x19, 2] strh wzr, [x19, 4] -.L1373: +.L1380: ldrh w0, [x19, 4] - cbnz w0, .L1374 + cbnz w0, .L1381 mov x0, x19 bl allocate_new_data_superblock -.L1374: +.L1381: ldr w0, [x21, 2816] add w0, w0, 1 str w0, [x21, 2816] @@ -9446,20 +9461,20 @@ FtlProgPages: ldrb w3, [x19, 9] mov x0, x23 bl FlashProgPages -.L1380: +.L1387: ldr w0, [x20, -4] cmn w0, #1 - beq .L1375 + beq .L1382 ldrb w1, [x19, 6] ldrh w0, [x21, 36] cmp w1, w0 - bcc .L1376 + bcc .L1383 adrp x0, .LC1 mov w2, 955 add x1, x25, 648 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1376: +.L1383: add x1, x29, 96 ldr w0, [x23, 4] mov w2, 1 @@ -9473,27 +9488,27 @@ FtlProgPages: and w1, w0, 65535 mov w23, w1 cmn w4, #1 - beq .L1377 + beq .L1384 ldr x2, [x21, 2376] ubfiz x0, x1, 1, 16 ldrh w0, [x2, x0] - cbnz w0, .L1378 + cbnz w0, .L1385 adrp x0, .LC112 mov w2, 0 add x0, x0, :lo12:.LC112 bl sftl_printk -.L1378: +.L1385: mov w0, w23 bl decrement_vpc_count -.L1377: +.L1384: add x20, x20, 32 - b .L1372 -.L1379: + b .L1379 +.L1386: add x22, x22, :lo12:.LANCHOR0 ldrb w1, [x19, 6] ldrh w0, [x22, 36] cmp w1, w0 - bcc .L1371 + bcc .L1378 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -9501,7 +9516,7 @@ FtlProgPages: add x1, x1, 648 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1371: +.L1378: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -9525,53 +9540,53 @@ FtlGcFreeTempBlock: ldrh w20, [x2, 2520] ldrh w1, [x2, 106] cmp w20, w3 - bne .L1387 -.L1397: + bne .L1394 +.L1404: add x0, x19, :lo12:.LANCHOR0 mov w2, 65535 add x1, x0, 2520 ldrh w3, [x0, 2520] str wzr, [x0, 3704] cmp w3, w2 - bne .L1410 -.L1413: + bne .L1417 +.L1420: mov w0, 0 -.L1386: +.L1393: 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 -.L1387: - cbz w0, .L1390 +.L1394: + cbz w0, .L1397 adrp x0, .LANCHOR2 add x0, x0, :lo12:.LANCHOR2 ldrh w4, [x0, 4] cmp w4, w3 - beq .L1391 -.L1392: + beq .L1398 +.L1399: mov w1, 2 -.L1390: +.L1397: add x21, x19, :lo12:.LANCHOR0 add x0, x21, 2520 bl FtlGcScanTempBlk str w0, [x29, 92] cmn w0, #1 - beq .L1393 + beq .L1400 ldr x1, [x21, 2384] ubfiz x20, x20, 1, 16 ldrh w0, [x1, x20] cmp w0, 4 - bls .L1394 + bls .L1401 sub w0, w0, #5 strh w0, [x1, x20] mov w0, 1 bl FtlEctTblFlush -.L1394: +.L1401: add x0, x19, :lo12:.LANCHOR0 ldr w1, [x0, 3704] - cbnz w1, .L1395 + cbnz w1, .L1402 ldr w1, [x0, 2816] add w1, w1, 1 str w1, [x0, 2816] @@ -9579,32 +9594,32 @@ FtlGcFreeTempBlock: lsr w0, w0, 10 bl FtlBbmMapBadBlock bl FtlBbmTblFlush -.L1395: +.L1402: add x19, x19, :lo12:.LANCHOR0 str wzr, [x19, 3704] -.L1406: +.L1413: mov w0, 1 - b .L1386 -.L1391: + b .L1393 +.L1398: strh wzr, [x0, 4] ldrh w0, [x2, 2416] cmp w0, 17 - bhi .L1392 - b .L1390 -.L1393: + bhi .L1399 + b .L1397 +.L1400: adrp x0, .LANCHOR2+4 ldrh w1, [x0, #:lo12:.LANCHOR2+4] mov w0, 65535 cmp w1, w0 - bne .L1406 - b .L1397 -.L1410: + bne .L1413 + b .L1404 +.L1417: ldrh w2, [x0, 3304] ldrb w1, [x1, 7] ldrh w0, [x0, 106] mul w0, w1, w0 cmp w2, w0 - beq .L1398 + beq .L1405 adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 @@ -9612,7 +9627,7 @@ FtlGcFreeTempBlock: add x1, x1, 664 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1398: +.L1405: add x0, x19, :lo12:.LANCHOR0 adrp x22, .LANCHOR1 add x22, x22, :lo12:.LANCHOR1 @@ -9630,20 +9645,20 @@ FtlGcFreeTempBlock: ldrh w1, [x0, 3304] add w1, w1, w2 str w1, [x0, 2608] -.L1399: +.L1406: add x21, x19, :lo12:.LANCHOR0 ldrh w0, [x21, 3304] cmp w0, w20 - bhi .L1403 + bhi .L1410 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, .L1404 + cbz w1, .L1411 bl INSERT_DATA_LIST -.L1405: +.L1412: add x19, x19, :lo12:.LANCHOR0 mov w20, -1 strh wzr, [x19, 3304] @@ -9656,11 +9671,11 @@ FtlGcFreeTempBlock: ldrh w1, [x19, 2416] add w0, w0, w0, lsl 1 cmp w1, w0, lsr 2 - ble .L1413 + ble .L1420 mov w0, 20 strh w0, [x19, 3232] - b .L1413 -.L1403: + b .L1420 +.L1410: mov w24, 12 ldr x26, [x21, 3312] ldr w0, [x21, 2584] @@ -9668,12 +9683,12 @@ FtlGcFreeTempBlock: add x23, x26, x24 ldr w1, [x23, 8] cmp w1, w0 - bcc .L1400 + bcc .L1407 mov w2, 168 mov x1, x22 mov x0, x25 bl sftl_printk -.L1400: +.L1407: ldr w0, [x23, 8] add x1, x29, 92 mov w2, 0 @@ -9681,7 +9696,7 @@ FtlGcFreeTempBlock: ldr w0, [x26, x24] ldr w1, [x29, 92] cmp w0, w1 - bne .L1401 + bne .L1408 lsr w0, w0, 10 bl P2V_block_in_plane mov w21, w0 @@ -9690,22 +9705,22 @@ FtlGcFreeTempBlock: add x1, x23, 4 bl log2phys mov w0, w21 -.L1412: +.L1419: bl decrement_vpc_count -.L1402: +.L1409: add w20, w20, 1 and w20, w20, 65535 - b .L1399 -.L1401: + b .L1406 +.L1408: ldr w0, [x23, 4] cmp w1, w0 - beq .L1402 + beq .L1409 add x0, x19, :lo12:.LANCHOR0 ldrh w0, [x0, 2520] - b .L1412 -.L1404: + b .L1419 +.L1411: bl INSERT_FREE_LIST - b .L1405 + b .L1412 .size FtlGcFreeTempBlock, .-FtlGcFreeTempBlock .align 2 .global FtlGcPageRecovery @@ -9723,13 +9738,13 @@ FtlGcPageRecovery: ldrh w1, [x19, 2522] ldrh w0, [x19, 106] cmp w1, w0 - bcc .L1414 + bcc .L1421 add x0, x19, 3632 bl FtlMapBlkWriteDump_data mov w0, 0 bl FtlGcFreeTempBlock str wzr, [x19, 3704] -.L1414: +.L1421: ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 32 ret @@ -9777,25 +9792,25 @@ Ftl_gc_temp_data_write_back: ldr x0, [x19, 3432] bl FlashProgPages mov w10, 0 -.L1420: +.L1427: ldr w1, [x19, 3248] cmp w10, w1 - bcc .L1423 + bcc .L1430 ldr x0, [x19, 3432] bl FtlGcBufFree str wzr, [x19, 3248] ldrh w0, [x19, 2524] - cbnz w0, .L1424 + cbnz w0, .L1431 mov w0, 1 bl FtlGcFreeTempBlock - b .L1426 -.L1423: + b .L1433 +.L1430: ldr x0, [x19, 3432] ubfiz x1, x10, 5, 16 add x3, x0, x1 ldr w0, [x0, x1] cmn w0, #1 - bne .L1421 + bne .L1428 ldrh w3, [x19, 2520] ldr x2, [x19, 2376] strh wzr, [x2, x3, lsl 1] @@ -9810,23 +9825,23 @@ Ftl_gc_temp_data_write_back: bl FtlBbmMapBadBlock bl FtlBbmTblFlush bl FtlGcPageVarInit -.L1426: +.L1433: mov w0, 1 -.L1419: +.L1426: ldr x19, [sp, 16] ldp x29, x30, [sp], 32 ret -.L1421: +.L1428: ldr x0, [x3, 16] ldr w1, [x3, 4] ldp w2, w0, [x0, 8] bl FtlGcUpdatePage add w10, w10, 1 and w10, w10, 65535 - b .L1420 -.L1424: + b .L1427 +.L1431: mov w0, 0 - b .L1419 + b .L1426 .size Ftl_gc_temp_data_write_back, .-Ftl_gc_temp_data_write_back .align 2 .global Ftl_get_new_temp_ppa @@ -9841,10 +9856,10 @@ Ftl_get_new_temp_ppa: ldrh w2, [x0, 2520] mov w0, 65535 cmp w2, w0 - beq .L1428 + beq .L1435 ldrh w0, [x1, 4] - cbnz w0, .L1429 -.L1428: + cbnz w0, .L1436 +.L1435: add x20, x19, :lo12:.LANCHOR0 mov w0, 0 bl FtlGcFreeTempBlock @@ -9857,7 +9872,7 @@ Ftl_get_new_temp_ppa: mov w0, 0 bl FtlEctTblFlush bl FtlVpcTblFlush -.L1429: +.L1436: add x0, x19, :lo12:.LANCHOR0 add x0, x0, 2520 bl get_new_active_ppa @@ -9883,20 +9898,20 @@ FtlSysBlkInit: ldrh w1, [x21, 2656] mov w0, 65535 cmp w1, w0 - bne .L1432 -.L1434: + bne .L1439 +.L1441: mov w23, -1 -.L1431: +.L1438: mov w0, w23 ldr x23, [sp, 48] ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x29, x30, [sp], 64 ret -.L1432: +.L1439: bl FtlLoadSysInfo mov w23, w0 - cbnz w0, .L1434 + cbnz w0, .L1441 bl FtlLoadMapInfo bl FtlLoadVonderInfo bl Ftl_load_ext_data @@ -9910,19 +9925,19 @@ FtlSysBlkInit: mov w0, 0 ldrh w3, [x21, 142] add x1, x1, 4 -.L1435: +.L1442: cmp w0, w3 - bge .L1440 + bge .L1447 ldr w2, [x1], 16 - tbz w2, #31, .L1436 -.L1440: + tbz w2, #31, .L1443 +.L1447: add x2, x20, :lo12:.LANCHOR0 cmp w0, w3 ldrh w1, [x2, 2340] add w1, w1, 1 strh w1, [x2, 2340] - bge .L1445 -.L1437: + bge .L1452 +.L1444: add x19, x20, :lo12:.LANCHOR0 add x22, x19, 2424 add x21, x19, 2472 @@ -9958,26 +9973,26 @@ FtlSysBlkInit: bl l2p_flush bl FtlVpcTblFlush bl FtlVpcTblFlush - b .L1441 -.L1436: + b .L1448 +.L1443: add w0, w0, 1 - b .L1435 -.L1445: + b .L1442 +.L1452: ldrh w0, [x2, 3816] - cbnz w0, .L1437 -.L1441: + cbnz w0, .L1444 +.L1448: add x19, x20, :lo12:.LANCHOR0 bl FtlVpcCheckAndModify mov w1, 65535 add x21, x19, 2424 ldrh w0, [x19, 2424] cmp w0, w1 - beq .L1431 + beq .L1438 ldrh w1, [x19, 2428] - cbnz w1, .L1431 + cbnz w1, .L1438 ldrh w1, [x19, 2476] add x20, x19, 2472 - cbnz w1, .L1431 + cbnz w1, .L1438 bl FtlGcRefreshBlock ldrh w0, [x19, 2472] bl FtlGcRefreshBlock @@ -9986,7 +10001,7 @@ FtlSysBlkInit: bl allocate_new_data_superblock mov x0, x20 bl allocate_new_data_superblock - b .L1431 + b .L1438 .size FtlSysBlkInit, .-FtlSysBlkInit .align 2 .global rk_ftl_garbage_collect @@ -10002,23 +10017,23 @@ rk_ftl_garbage_collect: stp x25, x26, [sp, 64] stp x27, x28, [sp, 80] ldr w2, [x1, 3408] - cbnz w2, .L1520 + cbnz w2, .L1527 ldrh w2, [x1, 2400] cmp w2, 47 - bls .L1520 + bls .L1527 mov w23, w0 adrp x0, .LANCHOR2+4 ldrh w2, [x0, #:lo12:.LANCHOR2+4] mov w0, 65535 cmp w2, w0 - bne .L1449 -.L1452: + bne .L1456 +.L1459: add x0, x19, :lo12:.LANCHOR0 mov w2, 65535 ldrh w1, [x0, 3322] cmp w1, w2 - bne .L1450 -.L1451: + bne .L1457 +.L1458: add x20, x19, :lo12:.LANCHOR0 bl FtlReadRefresh mov w21, 65535 @@ -10028,91 +10043,91 @@ rk_ftl_garbage_collect: add w0, w0, w23, lsl 7 str w0, [x20, 3236] cmp w1, w21 - bne .L1453 + bne .L1460 ldrh w21, [x20, 2520] cmp w21, w1 - bne .L1523 + bne .L1530 ldrh w22, [x20, 3320] cmp w22, w21 - bne .L1453 + bne .L1460 ldrh w1, [x20, 2416] mov w2, 1024 cmp w1, 24 mov w1, 5120 csel w1, w1, w2, cc cmp w0, w1 - bls .L1526 + bls .L1533 strh wzr, [x20, 3960] str wzr, [x20, 3236] bl GetSwlReplaceBlock and w21, w0, 65535 cmp w21, w22 - bne .L1527 + bne .L1534 ldrh w1, [x20, 2416] ldrh w0, [x20, 3234] cmp w1, w0 - bcs .L1456 + bcs .L1463 mov w0, 64 bl List_get_gc_head_node and w0, w0, 65535 cmp w0, w21 - beq .L1458 + beq .L1465 ldr x1, [x20, 2376] ubfiz x0, x0, 1, 16 ldrh w0, [x1, x0] cmp w0, 7 - bhi .L1459 + bhi .L1466 mov w0, 0 bl List_get_gc_head_node and w22, w0, 65535 mov w0, 128 strh w0, [x20, 3234] cmp w22, w21 - bne .L1455 -.L1458: + bne .L1462 +.L1465: bl FtlGcReFreshBadBlk -.L1453: +.L1460: cmp w23, 0 mov w0, 65535 add x1, x19, :lo12:.LANCHOR0 ccmp w21, w0, 0, eq - bne .L1461 + bne .L1468 ldrh w0, [x1, 2416] cmp w0, 24 - bhi .L1528 + bhi .L1535 cmp w0, 16 ldrh w20, [x1, 106] - bls .L1463 + bls .L1470 lsr w20, w20, 5 -.L1462: +.L1469: add x1, x19, :lo12:.LANCHOR0 ldrh w2, [x1, 3232] cmp w2, w0 - bcs .L1466 + bcs .L1473 ldrh w0, [x1, 2520] mov w2, 65535 cmp w0, w2 - bne .L1467 + bne .L1474 ldrh w2, [x1, 3320] cmp w2, w0 - bne .L1467 + bne .L1474 ldrh w0, [x1, 3960] - cbnz w0, .L1468 + cbnz w0, .L1475 ldr w2, [x1, 2584] ldr w3, [x1, 2580] add w2, w2, w2, lsl 1 cmp w3, w2, lsr 2 - bcs .L1469 -.L1468: + bcs .L1476 +.L1475: add x2, x19, :lo12:.LANCHOR0 ldrh w1, [x2, 2652] add w1, w1, w1, lsl 1 asr w1, w1, 2 strh w1, [x2, 3232] -.L1470: +.L1477: add x19, x19, :lo12:.LANCHOR0 str wzr, [x19, 3244] -.L1447: +.L1454: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -10120,34 +10135,34 @@ rk_ftl_garbage_collect: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 128 ret -.L1449: +.L1456: ldrh w1, [x1, 2520] cmp w1, w0 - beq .L1452 + beq .L1459 mov w0, 1 bl FtlGcFreeTempBlock - cbz w0, .L1452 + cbz w0, .L1459 mov w0, 1 - b .L1447 -.L1450: + b .L1454 +.L1457: ldrh w3, [x0, 3320] cmp w3, w2 - bne .L1451 + bne .L1458 strh w1, [x0, 3320] mov w1, -1 strh w1, [x0, 3322] - b .L1451 -.L1459: + b .L1458 +.L1466: mov w0, 64 -.L1555: +.L1562: strh w0, [x20, 3234] - b .L1458 -.L1456: + b .L1465 +.L1463: mov w0, 80 - b .L1555 -.L1527: + b .L1562 +.L1534: mov w22, w21 -.L1455: +.L1462: add x0, x19, :lo12:.LANCHOR0 ubfiz x1, x22, 1, 32 mov w21, w22 @@ -10161,72 +10176,72 @@ rk_ftl_garbage_collect: adrp x0, .LC113 add x0, x0, :lo12:.LC113 bl sftl_printk - b .L1458 -.L1523: + b .L1465 +.L1530: mov w21, w1 - b .L1453 -.L1526: + b .L1460 +.L1533: mov w21, w22 - b .L1453 -.L1463: + b .L1460 +.L1470: cmp w0, 12 - bls .L1464 + bls .L1471 lsr w20, w20, 4 - b .L1462 -.L1464: + b .L1469 +.L1471: mov w1, w20 cmp w0, 9 lsr w20, w20, 2 csel w20, w20, w1, cs - b .L1462 -.L1528: + b .L1469 +.L1535: mov w20, 1 - b .L1462 -.L1469: + b .L1469 +.L1476: mov w2, 18 strh w2, [x1, 3232] - b .L1470 -.L1467: + b .L1477 +.L1474: add x1, x19, :lo12:.LANCHOR0 ldrh w0, [x1, 2652] add w0, w0, w0, lsl 1 asr w0, w0, 2 strh w0, [x1, 3232] -.L1466: +.L1473: add x0, x19, :lo12:.LANCHOR0 ldrh w0, [x0, 3324] - cbz w0, .L1529 + cbz w0, .L1536 add w20, w20, 32 and w20, w20, 65535 -.L1529: +.L1536: mov w21, 65535 -.L1472: +.L1479: add x0, x19, :lo12:.LANCHOR0 mov w2, 65535 ldrh w1, [x0, 2672] cmp w1, w2 - bne .L1481 + bne .L1488 cmp w21, w1 - beq .L1482 + beq .L1489 strh w21, [x0, 2672] -.L1483: +.L1490: add x5, x19, :lo12:.LANCHOR0 mov w1, 65535 ldrh w0, [x5, 2672] strb wzr, [x5, 2680] cmp w0, w1 - beq .L1481 + beq .L1488 bl IsBlkInGcList - cbz w0, .L1486 + cbz w0, .L1493 mov w0, -1 strh w0, [x5, 2672] -.L1486: +.L1493: add x22, x19, :lo12:.LANCHOR0 mov w0, 65535 add x24, x22, 2672 ldrh w1, [x22, 2672] cmp w1, w0 - beq .L1481 + beq .L1488 mov x0, x24 bl make_superblock ldrh w1, [x22, 2672] @@ -10236,76 +10251,76 @@ rk_ftl_garbage_collect: strh wzr, [x22, 3962] ldrh w0, [x0, x1, lsl 1] strh w0, [x22, 3964] -.L1481: +.L1488: add x0, x19, :lo12:.LANCHOR0 ldrh w1, [x0, 2672] ldrh w2, [x0, 2424] cmp w2, w1 - beq .L1487 + beq .L1494 ldrh w0, [x0, 2472] cmp w0, w1 - bne .L1488 -.L1487: + bne .L1495 +.L1494: add x0, x19, :lo12:.LANCHOR0 mov w1, -1 strh w1, [x0, 2672] -.L1488: +.L1495: adrp x25, .LANCHOR1 add x25, x25, :lo12:.LANCHOR1 add x25, x25, 688 -.L1517: +.L1524: add x22, x19, :lo12:.LANCHOR0 mov w0, 65535 ldrh w24, [x22, 2672] cmp w24, w0 - bne .L1489 + bne .L1496 mov w26, 2 str wzr, [x22, 3244] -.L1490: +.L1497: ldrh w5, [x22, 3240] mov w0, w5 bl List_get_gc_head_node and w6, w0, 65535 strh w6, [x22, 2672] cmp w6, w24 - bne .L1491 + bne .L1498 strh wzr, [x22, 3240] mov w0, 8 - b .L1447 -.L1461: + b .L1454 +.L1468: ldrh w2, [x1, 2520] cmp w2, w0 - bne .L1532 + bne .L1539 ldrh w0, [x1, 3320] cmp w0, w2 - bne .L1532 + bne .L1539 cmp w21, w0 - bne .L1532 + bne .L1539 ldrh w0, [x1, 2672] cmp w0, w21 - beq .L1473 -.L1532: + beq .L1480 +.L1539: mov w20, 1 - b .L1472 -.L1473: + b .L1479 +.L1480: ldrh w2, [x1, 2416] ldrh w0, [x1, 3232] str wzr, [x1, 3244] cmp w2, w0 - bls .L1474 + bls .L1481 ldrh w0, [x1, 3960] - cbnz w0, .L1475 + cbnz w0, .L1482 ldr w0, [x1, 2584] ldr w2, [x1, 2580] add w0, w0, w0, lsl 1 cmp w2, w0, lsr 2 - bcs .L1476 -.L1475: + bcs .L1483 +.L1482: add x1, x19, :lo12:.LANCHOR0 ldrh w0, [x1, 2652] add w0, w0, w0, lsl 1 asr w0, w0, 2 -.L1556: +.L1563: strh w0, [x1, 3232] bl FtlReadRefresh mov w0, 0 @@ -10315,16 +10330,16 @@ rk_ftl_garbage_collect: ldr x2, [x1, 2376] ldrh w0, [x2, x0] cmp w0, 4 - bls .L1474 + bls .L1481 ldrh w0, [x1, 3960] - b .L1447 -.L1476: + b .L1454 +.L1483: mov w0, 18 - b .L1556 -.L1474: + b .L1563 +.L1481: add x20, x19, :lo12:.LANCHOR0 ldrh w0, [x20, 3960] - cbnz w0, .L1532 + cbnz w0, .L1539 ldrh w5, [x20, 2652] add w0, w5, w5, lsl 1 asr w0, w0, 2 @@ -10340,47 +10355,47 @@ rk_ftl_garbage_collect: mov w2, 2 sdiv w0, w0, w2 cmp w1, w0 - ble .L1479 + ble .L1486 ldrh w0, [x20, 2416] sub w5, w5, #1 cmp w0, w5 - blt .L1479 + blt .L1486 bl FtlReadRefresh ldrh w0, [x20, 3960] - b .L1447 -.L1479: - cbnz w1, .L1532 + b .L1454 +.L1486: + cbnz w1, .L1539 add x19, x19, :lo12:.LANCHOR0 mov w0, -1 bl decrement_vpc_count ldrh w0, [x19, 2416] add w0, w0, 1 - b .L1447 -.L1482: + b .L1454 +.L1489: ldrh w1, [x0, 3320] cmp w1, w21 - beq .L1483 + beq .L1490 ldr x2, [x0, 2376] ubfiz x1, x1, 1, 16 ldrh w1, [x2, x1] - cbnz w1, .L1484 + cbnz w1, .L1491 mov w1, -1 strh w1, [x0, 3320] -.L1484: +.L1491: add x0, x19, :lo12:.LANCHOR0 ldrh w1, [x0, 3320] strh w1, [x0, 2672] mov w1, -1 strh w1, [x0, 3320] - b .L1483 -.L1491: + b .L1490 +.L1498: mov w0, w6 bl IsBlkInGcList add w5, w5, 1 - cbz w0, .L1492 + cbz w0, .L1499 strh w5, [x22, 3240] - b .L1490 -.L1492: + b .L1497 +.L1499: ldrh w4, [x22, 36] ubfiz x1, x6, 1, 16 ldrh w0, [x22, 106] @@ -10391,73 +10406,73 @@ rk_ftl_garbage_collect: ldrh w3, [x2, x1] sdiv w4, w0, w26 cmp w3, w4 - bgt .L1494 + bgt .L1501 cmp w5, 48 - bls .L1495 + bls .L1502 cmp w3, 8 - bls .L1495 + bls .L1502 ldrh w3, [x22, 3292] cmp w3, 35 - bhi .L1495 -.L1494: + bhi .L1502 +.L1501: strh wzr, [x22, 3240] -.L1495: +.L1502: ldrh w1, [x2, x1] cmp w0, w1 - bgt .L1496 + bgt .L1503 cmp w21, w24 - bne .L1496 + bne .L1503 ldrh w0, [x22, 3240] cmp w0, 3 - bhi .L1496 + bhi .L1503 mov w0, -1 strh wzr, [x22, 3240] strh w0, [x22, 2672] -.L1557: +.L1564: ldrh w0, [x22, 3960] - b .L1447 -.L1496: - cbnz w1, .L1497 + b .L1454 +.L1503: + cbnz w1, .L1504 mov w0, -1 bl decrement_vpc_count ldrh w0, [x22, 3240] add w0, w0, 1 strh w0, [x22, 3240] - b .L1490 -.L1497: + b .L1497 +.L1504: add x0, x19, :lo12:.LANCHOR0 strb wzr, [x0, 2680] ldrh w0, [x0, 2424] cmp w0, w6 - bne .L1498 + bne .L1505 adrp x0, .LC1 mov w2, 700 mov x1, x25 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1498: +.L1505: add x0, x19, :lo12:.LANCHOR0 ldrh w1, [x0, 2672] ldrh w0, [x0, 2472] cmp w1, w0 - bne .L1499 + bne .L1506 adrp x0, .LC1 mov w2, 701 mov x1, x25 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1499: +.L1506: add x0, x19, :lo12:.LANCHOR0 ldrh w1, [x0, 2672] ldrh w0, [x0, 2520] cmp w1, w0 - bne .L1500 + bne .L1507 adrp x0, .LC1 mov w2, 702 mov x1, x25 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1500: +.L1507: add x22, x19, :lo12:.LANCHOR0 add x24, x22, 2672 mov x0, x24 @@ -10469,12 +10484,12 @@ rk_ftl_garbage_collect: strh w0, [x22, 3964] strh wzr, [x22, 2674] strb wzr, [x22, 2678] -.L1489: +.L1496: add x1, x19, :lo12:.LANCHOR0 mov w0, 1 str w0, [x1, 3408] ldrh w26, [x1, 106] - cbz w23, .L1501 + cbz w23, .L1508 ldrh w0, [x1, 36] ldrh w2, [x1, 2672] ldr x1, [x1, 2376] @@ -10485,19 +10500,19 @@ rk_ftl_garbage_collect: sdiv w0, w0, w1 add w20, w20, w0 and w20, w20, 65535 -.L1501: +.L1508: add x0, x19, :lo12:.LANCHOR0 ldrh w0, [x0, 2674] add w1, w0, w20 cmp w1, w26 - ble .L1502 + ble .L1509 sub w20, w26, w0 and w20, w20, 65535 -.L1502: +.L1509: mov w27, 0 -.L1503: +.L1510: cmp w20, w27, uxth - bls .L1511 + bls .L1518 add x0, x19, :lo12:.LANCHOR0 mov w24, 0 add x3, x0, 2688 @@ -10506,11 +10521,11 @@ rk_ftl_garbage_collect: ldrh w4, [x0, 2674] ldrh w7, [x0, 36] add w4, w4, w27 - b .L1512 -.L1505: + b .L1519 +.L1512: ldrh w2, [x3] cmp w2, w6 - beq .L1504 + beq .L1511 ldr x5, [x0, 3280] ubfiz x8, x24, 5, 16 add w24, w24, 1 @@ -10518,13 +10533,13 @@ rk_ftl_garbage_collect: add x5, x5, x8 and w24, w24, 65535 str w2, [x5, 4] -.L1504: +.L1511: add w1, w1, 1 add x3, x3, 2 and w1, w1, 65535 -.L1512: +.L1519: cmp w1, w7 - bne .L1505 + bne .L1512 add x22, x19, :lo12:.LANCHOR0 mov w1, w24 mov x28, 0 @@ -10533,26 +10548,26 @@ rk_ftl_garbage_collect: bl FlashReadPages ubfiz x0, x24, 5, 16 str x0, [x29, 104] -.L1506: +.L1513: ldr x0, [x29, 104] cmp x0, x28 - bne .L1510 + bne .L1517 add w27, w27, 1 - b .L1503 -.L1510: + b .L1510 +.L1517: ldr x0, [x22, 3280] add x1, x0, x28 ldr w0, [x0, x28] cmn w0, #1 - beq .L1507 + beq .L1514 ldr x24, [x1, 16] mov w0, 61589 ldrh w1, [x24] cmp w1, w0 - bne .L1507 + bne .L1514 ldr w4, [x24, 8] cmn w4, #1 - bne .L1508 + bne .L1515 str w4, [x29, 96] mov w2, 736 mov x1, x25 @@ -10560,7 +10575,7 @@ rk_ftl_garbage_collect: add x0, x0, :lo12:.LC1 bl sftl_printk ldr w4, [x29, 96] -.L1508: +.L1515: mov w2, 0 add x1, x29, 124 mov w0, w4 @@ -10570,7 +10585,7 @@ rk_ftl_garbage_collect: add x0, x0, x28 ldr w2, [x0, 4] cmp w2, w1 - bne .L1507 + bne .L1514 ldrh w1, [x22, 3962] ldr x2, [x22, 3432] add w1, w1, 1 @@ -10608,67 +10623,67 @@ rk_ftl_garbage_collect: ldrb w1, [x22, 2527] ldr w0, [x22, 3248] cmp w1, w0 - beq .L1509 + beq .L1516 ldrh w0, [x22, 2524] - cbnz w0, .L1507 -.L1509: + cbnz w0, .L1514 +.L1516: bl Ftl_gc_temp_data_write_back - cbz w0, .L1507 + cbz w0, .L1514 add x19, x19, :lo12:.LANCHOR0 ldrh w0, [x19, 3960] str wzr, [x19, 3408] - b .L1447 -.L1507: + b .L1454 +.L1514: add x28, x28, 32 - b .L1506 -.L1511: + b .L1513 +.L1518: add x22, x19, :lo12:.LANCHOR0 ldrh w0, [x22, 2674] add w20, w20, w0 and w20, w20, 65535 strh w20, [x22, 2674] cmp w26, w20 - bhi .L1513 + bhi .L1520 ldr w0, [x22, 3248] - cbz w0, .L1514 + cbz w0, .L1521 bl Ftl_gc_temp_data_write_back - cbz w0, .L1514 + cbz w0, .L1521 str wzr, [x22, 3408] - b .L1557 -.L1514: + b .L1564 +.L1521: add x0, x19, :lo12:.LANCHOR0 ldrh w1, [x0, 3962] - cbnz w1, .L1515 + cbnz w1, .L1522 ldrh w1, [x0, 2672] ldr x2, [x0, 2376] lsl x1, x1, 1 ldrh w3, [x2, x1] - cbz w3, .L1515 + cbz w3, .L1522 strh wzr, [x2, x1] ldrh w0, [x0, 2672] bl update_vpc_list bl l2p_flush bl FtlVpcTblFlush -.L1515: +.L1522: add x0, x19, :lo12:.LANCHOR0 mov w1, -1 strh w1, [x0, 2672] -.L1513: +.L1520: add x0, x19, :lo12:.LANCHOR0 ldrh w1, [x0, 2416] str wzr, [x0, 3408] cmp w1, 2 - bhi .L1516 + bhi .L1523 ldrh w20, [x0, 106] - b .L1517 -.L1516: + b .L1524 +.L1523: ldrh w0, [x0, 3960] cmp w0, 0 csinc w0, w0, w1, ne - b .L1447 -.L1520: + b .L1454 +.L1527: mov w0, 0 - b .L1447 + b .L1454 .size rk_ftl_garbage_collect, .-rk_ftl_garbage_collect .align 2 .global sftl_init @@ -10694,22 +10709,22 @@ sftl_init: ldrh w0, [x19, 40] bl FtlFreeSysBlkQueueInit bl FtlLoadBbt - cbnz w0, .L1562 + cbnz w0, .L1569 bl FtlSysBlkInit - cbnz w0, .L1562 + cbnz w0, .L1569 mov w0, 1 str w0, [x20, #:lo12:.LANCHOR2] ldrh w0, [x19, 2416] cmp w0, 15 - bhi .L1562 + bhi .L1569 mov w19, 8129 -.L1561: +.L1568: mov w1, 1 mov w0, 0 bl rk_ftl_garbage_collect subs w19, w19, #1 - bne .L1561 -.L1562: + bne .L1568 +.L1569: mov w0, 0 ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 32 @@ -10743,13 +10758,13 @@ FtlRead: mov w25, w2 stp x21, x22, [sp, 32] stp x27, x28, [sp, 80] - bne .L1568 + bne .L1575 mov x2, x3 mov w1, w25 add w0, w19, 256 bl FtlVendorPartRead mov w21, w0 -.L1567: +.L1574: mov w0, w21 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -10758,7 +10773,7 @@ FtlRead: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 160 ret -.L1568: +.L1575: add w0, w1, w2 str w0, [x29, 128] adrp x0, .LANCHOR0 @@ -10767,11 +10782,11 @@ FtlRead: str x0, [x29, 96] ldr w1, [x3, 144] cmp w2, w1 - bhi .L1589 + bhi .L1596 adrp x0, .LANCHOR2 ldr w21, [x0, #:lo12:.LANCHOR2] cmn w21, #1 - beq .L1567 + beq .L1574 ldrh w0, [x3, 62] sub w24, w2, #1 mov x26, x3 @@ -10790,42 +10805,42 @@ FtlRead: add w22, w22, 1 add w0, w0, w22 str w0, [x3, 2588] -.L1570: - cbnz w22, .L1587 +.L1577: + cbnz w22, .L1594 ldr x0, [x29, 96] add x0, x0, :lo12:.LANCHOR0 ldrh w1, [x0, 3324] - cbnz w1, .L1588 + cbnz w1, .L1595 ldrh w0, [x0, 2416] cmp w0, 31 - bhi .L1567 -.L1588: + bhi .L1574 +.L1595: mov w1, 1 mov w0, 0 bl rk_ftl_garbage_collect - b .L1567 -.L1587: + b .L1574 +.L1594: add x1, x29, 156 mov w2, 0 mov w0, w20 bl log2phys ldr w1, [x29, 156] cmn w1, #1 - bne .L1571 + bne .L1578 mov w5, 0 -.L1572: +.L1579: ldrh w0, [x26, 62] cmp w5, w0 - bcc .L1574 -.L1575: + bcc .L1581 +.L1582: add w20, w20, 1 subs w22, w22, #1 - beq .L1579 + beq .L1586 ldrh w0, [x26, 36] cmp w28, w0, lsl 2 - bne .L1570 -.L1579: - cbz w28, .L1570 + bne .L1577 +.L1586: + cbz w28, .L1577 ldr x0, [x26, 3424] mov w1, w28 mov w2, 0 @@ -10842,63 +10857,63 @@ FtlRead: ubfiz x0, x28, 5, 32 mov x28, 0 str x0, [x29, 104] -.L1586: +.L1593: ldr x0, [x26, 3424] add x0, x0, x28 ldr w1, [x0, 24] cmp w27, w1 - bne .L1581 + bne .L1588 ldr x1, [x0, 8] ldr x0, [x26, 3472] cmp x1, x0 - bne .L1582 + bne .L1589 ldr x0, [x29, 120] ldr w2, [x29, 116] add x1, x1, x0 mov x0, x23 -.L1599: +.L1606: bl ftl_memcpy -.L1582: +.L1589: ldr x0, [x26, 3424] add x0, x0, x28 ldr x1, [x0, 16] ldr w2, [x0, 24] ldr w1, [x1, 8] cmp w2, w1 - beq .L1583 + beq .L1590 ldr w1, [x26, 2792] add w1, w1, 1 str w1, [x26, 2792] -.L1583: +.L1590: ldr w2, [x0] cmn w2, #1 - bne .L1584 + bne .L1591 ldr w1, [x26, 2792] mov w21, w2 add w1, w1, 1 str w1, [x26, 2792] -.L1584: +.L1591: ldr w1, [x0] cmp w1, 256 - bne .L1585 + bne .L1592 ldr w0, [x0, 4] lsr w0, w0, 10 bl P2V_block_in_plane bl FtlGcRefreshBlock -.L1585: +.L1592: ldr x0, [x29, 104] add x28, x28, 32 cmp x0, x28 - bne .L1586 + bne .L1593 mov w28, 0 - b .L1570 -.L1574: + b .L1577 +.L1581: madd w0, w20, w0, w5 cmp w19, w0 - bhi .L1573 + bhi .L1580 ldr w1, [x29, 128] cmp w1, w0 - bls .L1573 + bls .L1580 sub w0, w0, w19 str w5, [x29, 120] lsl w0, w0, 9 @@ -10907,17 +10922,17 @@ FtlRead: add x0, x23, x0 bl ftl_memset ldr w5, [x29, 120] -.L1573: +.L1580: add w5, w5, 1 - b .L1572 -.L1571: + b .L1579 +.L1578: ldr x0, [x26, 3424] ubfiz x2, x28, 5, 32 cmp w20, w27 add x0, x0, x2 str w1, [x0, 4] ldrh w0, [x26, 62] - bne .L1576 + bne .L1583 ldr x1, [x26, 3424] ldr x5, [x26, 3472] add x1, x1, x2 @@ -10930,9 +10945,9 @@ FtlRead: csel w3, w25, w5, ls str w3, [x29, 136] cmp w3, w0 - bne .L1577 + bne .L1584 str x23, [x1, 8] -.L1577: +.L1584: ldr x0, [x26, 3424] ldr x1, [x26, 3520] add x2, x0, x2 @@ -10943,10 +10958,10 @@ FtlRead: and x0, x0, 4294967292 add x0, x1, x0 str x0, [x2, 16] - b .L1575 -.L1576: + b .L1582 +.L1583: cmp w20, w24 - bne .L1578 + bne .L1585 ldr x5, [x26, 3424] ldr x1, [x26, 3480] add x5, x5, x2 @@ -10956,13 +10971,13 @@ FtlRead: sub w3, w3, w1 str w3, [x29, 132] cmp w0, w3 - bne .L1577 + bne .L1584 sub w1, w1, w19 lsl w1, w1, 9 add x1, x23, x1 str x1, [x5, 8] - b .L1577 -.L1578: + b .L1584 +.L1585: ldr x1, [x26, 3424] mul w0, w0, w20 add x1, x1, x2 @@ -10970,24 +10985,24 @@ FtlRead: lsl w0, w0, 9 add x0, x23, x0 str x0, [x1, 8] - b .L1577 -.L1581: + b .L1584 +.L1588: cmp w24, w1 - bne .L1582 + bne .L1589 ldr x1, [x0, 8] ldr x0, [x26, 3480] cmp x1, x0 - bne .L1582 + bne .L1589 ldrh w0, [x26, 62] ldr w2, [x29, 112] mul w0, w0, w24 sub w0, w0, w19 lsl w0, w0, 9 add x0, x23, x0 - b .L1599 -.L1589: + b .L1606 +.L1596: mov w21, -1 - b .L1567 + b .L1574 .size FtlRead, .-FtlRead .align 2 .global sftl_read @@ -11019,12 +11034,12 @@ FtlWrite: stp x21, x22, [sp, 32] stp x27, x28, [sp, 80] str w2, [x29, 172] - bne .L1603 + bne .L1610 add w0, w1, 256 ldr w1, [x29, 172] mov x2, x3 bl FtlVendorPartWrite -.L1602: +.L1609: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -11032,7 +11047,7 @@ FtlWrite: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 224 ret -.L1603: +.L1610: ldr w0, [x29, 172] adrp x19, .LANCHOR0 add x1, x19, :lo12:.LANCHOR0 @@ -11041,13 +11056,13 @@ FtlWrite: ldr w0, [x1, 144] ldr w2, [x29, 148] cmp w2, w0 - bhi .L1639 + bhi .L1646 adrp x2, .LANCHOR2 str x2, [x29, 136] add x3, x2, :lo12:.LANCHOR2 ldr w0, [x2, #:lo12:.LANCHOR2] cmn w0, #1 - beq .L1602 + beq .L1609 mov w0, 2048 ldr w2, [x29, 148] str w0, [x1, 3968] @@ -11068,55 +11083,55 @@ FtlWrite: add w0, w0, w24 str w0, [x1, 2596] ldr w0, [x3, 8] - cbz w0, .L1605 + cbz w0, .L1612 ldrh w0, [x20, 4] add x1, x1, 2472 cmp w0, 0 csel x20, x1, x20, eq -.L1605: +.L1612: adrp x0, .LANCHOR1 mov w21, w25 add x0, x0, :lo12:.LANCHOR1 add x0, x0, 712 str x0, [x29, 160] -.L1606: - cbnz w24, .L1634 +.L1613: + cbnz w24, .L1641 ldr w1, [x29, 132] add x19, x19, :lo12:.LANCHOR0 mov w0, 0 bl rk_ftl_garbage_collect ldrh w0, [x19, 2416] cmp w0, 5 - bls .L1635 -.L1637: + bls .L1642 +.L1644: mov w0, 0 - b .L1602 -.L1634: + b .L1609 +.L1641: add x0, x19, :lo12:.LANCHOR0 ldrb w1, [x20, 6] ldrh w0, [x0, 36] cmp w1, w0 - bcc .L1607 + bcc .L1614 ldr x1, [x29, 160] adrp x0, .LC1 mov w2, 1011 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1607: +.L1614: ldrh w0, [x20, 4] - cbnz w0, .L1608 + cbnz w0, .L1615 add x0, x19, :lo12:.LANCHOR0 add x1, x0, 2424 cmp x20, x1 - bne .L1609 + bne .L1616 add x0, x0, 2472 ldrh w1, [x0, 4] - cbnz w1, .L1610 + cbnz w1, .L1617 bl allocate_new_data_superblock ldr x0, [x29, 136] add x0, x0, :lo12:.LANCHOR2 str wzr, [x0, 8] -.L1610: +.L1617: add x20, x19, :lo12:.LANCHOR0 add x22, x20, 2424 add x20, x20, 2472 @@ -11127,12 +11142,12 @@ FtlWrite: ldr w0, [x0, 8] cmp w0, 0 csel x20, x20, x22, ne -.L1611: +.L1618: ldrh w0, [x20, 4] - cbnz w0, .L1608 + cbnz w0, .L1615 mov x0, x20 bl allocate_new_data_superblock -.L1608: +.L1615: ldrh w0, [x20, 4] ldrb w1, [x20, 7] cmp w0, w24 @@ -11145,21 +11160,21 @@ FtlWrite: ldrb w1, [x20, 6] ldrh w0, [x0, 36] cmp w1, w0 - bcc .L1612 + bcc .L1619 ldr x1, [x29, 160] adrp x0, .LC1 mov w2, 1044 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1612: +.L1619: mov x28, 0 -.L1613: +.L1620: ldr w0, [x29, 128] mov w22, w28 cmp w28, w0 - bcc .L1632 + bcc .L1639 mov x22, x0 -.L1614: +.L1621: add x0, x19, :lo12:.LANCHOR0 mov x3, x20 mov w2, 0 @@ -11167,30 +11182,30 @@ FtlWrite: ldr x0, [x0, 3440] bl FtlProgPages cmp w24, w22 - bcs .L1633 + bcs .L1640 ldr x1, [x29, 160] adrp x0, .LC1 mov w2, 1121 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1633: +.L1640: sub w24, w24, w22 - b .L1606 -.L1609: + b .L1613 +.L1616: ldr x0, [x29, 136] add x0, x0, :lo12:.LANCHOR2 str wzr, [x0, 8] ldrh w0, [x1, 4] - cbnz w0, .L1644 + cbnz w0, .L1651 mov x0, x20 bl allocate_new_data_superblock - b .L1611 -.L1644: + b .L1618 +.L1651: mov x20, x1 - b .L1608 -.L1632: + b .L1615 +.L1639: ldrh w0, [x20, 4] - cbz w0, .L1614 + cbz w0, .L1621 add x1, x29, 188 mov w2, 0 mov w0, w21 @@ -11222,9 +11237,9 @@ FtlWrite: cmp w21, w25 ldr x4, [x29, 152] ccmp w21, w0, 4, ne - bne .L1615 + bne .L1622 cmp w21, w25 - bne .L1616 + bne .L1623 ldrh w2, [x4, 62] udiv w0, w23, w2 msub w0, w0, w2, w23 @@ -11234,29 +11249,29 @@ FtlWrite: cmp w2, w0 csel w0, w2, w0, ls str w0, [x29, 152] -.L1617: +.L1624: add x0, x19, :lo12:.LANCHOR0 ldr w2, [x29, 152] ldrh w1, [x0, 62] cmp w2, w1 - bne .L1618 + bne .L1625 ldr x0, [x0, 3440] cmp w21, w25 add x3, x0, x27 - bne .L1619 + bne .L1626 str x26, [x3, 8] -.L1620: +.L1627: add x0, x19, :lo12:.LANCHOR0 ldrb w1, [x20, 6] ldrh w0, [x0, 36] cmp w1, w0 - bcc .L1629 + bcc .L1636 ldr x1, [x29, 160] adrp x0, .LC1 mov w2, 1112 add x0, x0, :lo12:.LC1 bl sftl_printk -.L1629: +.L1636: ldp x1, x2, [x29, 112] mov w0, -3947 add x28, x28, 1 @@ -11273,35 +11288,35 @@ FtlWrite: str w0, [x22, 12] ldrh w0, [x20] strh w0, [x22, 2] - b .L1613 -.L1616: + b .L1620 +.L1623: ldr w0, [x29, 148] ldrh w2, [x4, 62] str wzr, [x29, 168] msub w2, w21, w2, w0 and w0, w2, 65535 str w0, [x29, 152] - b .L1617 -.L1619: + b .L1624 +.L1626: ldr w0, [x29, 152] -.L1651: +.L1658: mul w0, w0, w21 sub w0, w0, w23 lsl w0, w0, 9 add x0, x26, x0 str x0, [x3, 8] - b .L1620 -.L1618: + b .L1627 +.L1625: ldr x1, [x0, 3440] cmp w21, w25 add x1, x1, x27 - bne .L1621 + bne .L1628 ldr x0, [x0, 3472] -.L1650: +.L1657: str x0, [x1, 8] ldr w0, [x29, 188] cmn w0, #1 - beq .L1623 + beq .L1630 add x4, x19, :lo12:.LANCHOR0 str w0, [x29, 196] str w21, [x29, 216] @@ -11317,16 +11332,16 @@ FtlWrite: ldr w0, [x29, 192] ldr x4, [x29, 104] cmn w0, #1 - bne .L1624 + bne .L1631 ldr w0, [x4, 2792] add w0, w0, 1 str w0, [x4, 2792] -.L1627: +.L1634: ldr w0, [x29, 152] cmp w21, w25 lsl w2, w0, 9 add x0, x19, :lo12:.LANCHOR0 - bne .L1628 + bne .L1635 ldr x0, [x0, 3440] mov x1, x26 add x3, x0, x27 @@ -11334,16 +11349,16 @@ FtlWrite: ldr x3, [x3, 8] lsl w0, w0, 9 add x0, x3, x0 -.L1652: +.L1659: bl ftl_memcpy - b .L1620 -.L1621: + b .L1627 +.L1628: ldr x0, [x0, 3480] - b .L1650 -.L1624: + b .L1657 +.L1631: ldr w0, [x22, 8] cmp w21, w0 - beq .L1626 + beq .L1633 ldr w0, [x4, 2792] mov w2, w21 add w0, w0, 1 @@ -11352,17 +11367,17 @@ FtlWrite: add x0, x0, :lo12:.LC114 ldr w1, [x22, 8] bl sftl_printk -.L1626: +.L1633: ldr w0, [x22, 8] cmp w21, w0 - beq .L1627 + beq .L1634 ldr x1, [x29, 160] mov w2, 1097 adrp x0, .LC1 add x0, x0, :lo12:.LC1 bl sftl_printk - b .L1627 -.L1623: + b .L1634 +.L1630: add x1, x19, :lo12:.LANCHOR0 ldr x0, [x1, 3440] ldrh w2, [x1, 114] @@ -11370,8 +11385,8 @@ FtlWrite: add x0, x0, x27 ldr x0, [x0, 8] bl ftl_memset - b .L1627 -.L1628: + b .L1634 +.L1635: ldrh w1, [x0, 62] ldr x0, [x0, 3440] add x3, x0, x27 @@ -11380,27 +11395,27 @@ FtlWrite: ldr x0, [x3, 8] lsl w1, w1, 9 add x1, x26, x1 - b .L1652 -.L1615: + b .L1659 +.L1622: ldr x0, [x4, 3440] add x3, x0, x27 ldrh w0, [x4, 62] - b .L1651 -.L1635: + b .L1658 +.L1642: mov w20, 256 mov w21, 65535 mov w22, 128 -.L1638: +.L1645: ldrh w0, [x19, 2672] cmp w0, w21 - bne .L1636 + bne .L1643 ldrh w0, [x19, 3320] cmp w0, w21 - bne .L1636 + bne .L1643 mov w0, 0 bl List_get_gc_head_node bl FtlGcRefreshBlock -.L1636: +.L1643: mov w1, 1 strh w22, [x19, 3234] mov w0, w1 @@ -11411,13 +11426,13 @@ FtlWrite: bl rk_ftl_garbage_collect ldrh w0, [x19, 2416] cmp w0, 2 - bhi .L1637 + bhi .L1644 subs w20, w20, #1 - bne .L1638 - b .L1637 -.L1639: + bne .L1645 + b .L1644 +.L1646: mov w0, -1 - b .L1602 + b .L1609 .size FtlWrite, .-FtlWrite .align 2 .global sftl_write @@ -11437,27 +11452,27 @@ sftl_write: mov w24, w0 mov x28, x2 cmp w21, 63 - bls .L1654 + bls .L1661 cmp w0, 576 - bls .L1655 -.L1654: + bls .L1662 +.L1661: add x0, x20, :lo12:.LANCHOR0 ldr w1, [x0, 3972] - cbz w1, .L1656 + cbz w1, .L1663 ldr x26, [x0, 3976] mov w1, 35899 movk w1, 0xfcdc, lsl 16 ldr w2, [x26] cmp w2, w1 - beq .L1657 -.L1674: + beq .L1664 +.L1681: add x20, x20, :lo12:.LANCHOR0 ldr x0, [x20, 3976] str wzr, [x20, 3972] bl kfree ldr x0, [x20, 3984] bl kfree -.L1656: +.L1663: mov x3, x28 mov w2, w27 mov w1, w24 @@ -11470,7 +11485,7 @@ sftl_write: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 224 ret -.L1657: +.L1664: ldrh w19, [x0, 14] mov w2, 65535 ldrh w22, [x0, 10] @@ -11478,9 +11493,9 @@ sftl_write: mov w4, 4097 add x3, x26, x0 mov w0, 0 -.L1661: +.L1668: ldr w1, [x3] - cbnz w1, .L1658 + cbnz w1, .L1665 ldr w1, [x26, w0, uxtw 2] add w0, w0, 1 str w1, [x3], -4 @@ -11488,17 +11503,17 @@ sftl_write: sub w2, w2, #1 csel w0, w0, wzr, cc cmp w2, 4096 - bne .L1661 + bne .L1668 mov w25, 512 - b .L1660 -.L1658: + b .L1667 +.L1665: add w25, w2, 127 adrp x0, .LC115 lsr w25, w25, 7 add x0, x0, :lo12:.LC115 mov w3, w25 bl sftl_printk -.L1660: +.L1667: and w19, w19, 255 add x21, x20, :lo12:.LANCHOR0 mul w22, w22, w19 @@ -11512,10 +11527,10 @@ sftl_write: stp wzr, w0, [x29, 152] lsl w0, w25, 7 str w0, [x29, 136] - b .L1673 -.L1681: + b .L1680 +.L1688: str w0, [x29, 140] -.L1673: +.L1680: ldr x0, [x21, 3984] mov x2, 512 mov w1, 0 @@ -11540,7 +11555,7 @@ sftl_write: ldr w3, [x29, 120] cmp w0, w2 ldr x4, [x29, 112] - bls .L1662 + bls .L1669 add w1, w2, w19 ldr x4, [x4, 8] str w2, [x29, 120] @@ -11548,16 +11563,16 @@ sftl_write: udiv w1, w1, w3 blr x4 ldr w2, [x29, 120] -.L1662: +.L1669: udiv w5, w19, w2 mov w4, 0 mov w7, 61424 msub w5, w5, w2, w19 sub w6, w19, w5 -.L1663: +.L1670: ldr w0, [x29, 156] cmp w0, w4 - bhi .L1664 + bhi .L1671 ldrh w5, [x21, 14] mov w9, 0 ldrh w0, [x21, 10] @@ -11573,9 +11588,9 @@ sftl_write: sdiv w0, w1, w4 msub w0, w0, w4, w1 and w0, w0, 65535 -.L1665: +.L1672: cmp w9, w25 - bcs .L1669 + bcs .L1676 add w1, w7, w9 sub w10, w5, w0 add w0, w0, w8 @@ -11601,13 +11616,13 @@ sftl_write: ldr w8, [x29, 120] ldr w4, [x29, 144] ldr x6, [x29, 128] - bne .L1666 -.L1669: + bne .L1673 +.L1676: ldr x0, [x21, 3984] mov x2, x26 mov w4, 0 mov x1, x0 -.L1667: +.L1674: mov x5, x1 mov x3, x2 add x1, x1, 4 @@ -11615,7 +11630,7 @@ sftl_write: ldr w6, [x3] ldr w7, [x5] cmp w7, w6 - beq .L1670 + beq .L1677 mov x2, 512 mov w1, 0 stp x3, x5, [x29, 120] @@ -11636,22 +11651,22 @@ sftl_write: str x2, [x29, 144] blr x3 cmp w23, 1 - bls .L1680 + bls .L1687 ldr x2, [x29, 144] add w1, w22, w19 mov w0, 0 ldr x2, [x2, 8] blr x2 -.L1680: +.L1687: ldr w1, [x29, 156] ldr w0, [x29, 140] add w19, w19, w1 ldr w1, [x29, 140] add w0, w23, w0 cmp w1, 15 - bls .L1681 - b .L1674 -.L1664: + bls .L1688 + b .L1681 +.L1671: ldr w1, [x29, 144] add w0, w5, w4 ldr x8, [x21, 3384] @@ -11676,26 +11691,26 @@ sftl_write: add w4, w0, w4 ldr w6, [x29, 120] and w4, w4, 65535 - b .L1663 -.L1666: + b .L1670 +.L1673: add w9, w10, w9 mov w0, 0 and w9, w9, 65535 - b .L1665 -.L1670: + b .L1672 +.L1677: ldr w3, [x29, 136] add w4, w4, 1 cmp w4, w3 - bne .L1667 + bne .L1674 ldr w0, [x29, 152] add w0, w0, 1 str w0, [x29, 152] cmp w0, 5 - bls .L1680 - b .L1674 -.L1655: + bls .L1687 + b .L1681 +.L1662: cmp w0, 64 - bne .L1675 + bne .L1682 add x22, x20, :lo12:.LANCHOR0 mov w0, 262144 bl ftl_malloc @@ -11705,47 +11720,47 @@ sftl_write: mov x1, x0 ldr x0, [x22, 3976] str x1, [x22, 3984] - cbz x0, .L1676 - cbz x1, .L1676 + cbz x0, .L1683 + cbz x1, .L1683 mov w1, 1 mov w2, 262144 str w1, [x22, 3972] mov w1, 0 bl ftl_memset -.L1675: +.L1682: add x20, x20, :lo12:.LANCHOR0 cmp w24, 63 ldr x0, [x20, 3976] - bhi .L1677 + bhi .L1684 mov w1, 64 sub w1, w1, w24 sub w2, w27, w1 ubfiz x1, x1, 9, 25 add x1, x28, x1 -.L1678: +.L1685: cmp w21, 576 - bls .L1679 + bls .L1686 sub w2, w2, w19 sub w2, w2, #447 -.L1679: +.L1686: lsl w2, w2, 9 bl ftl_memcpy - b .L1656 -.L1676: + b .L1663 +.L1683: adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 add x1, x1, 728 adrp x0, .LC117 add x0, x0, :lo12:.LC117 bl sftl_printk - b .L1675 -.L1677: + b .L1682 +.L1684: lsl w1, w24, 7 mov w2, w27 sub w1, w1, #8192 add x0, x0, x1, lsl 2 mov x1, x28 - b .L1678 + b .L1685 .size sftl_write, .-sftl_write .align 2 .global FtlMakeBbt @@ -11769,47 +11784,47 @@ FtlMakeBbt: add x25, x0, 172 mov x19, x0 add x20, x0, 3712 -.L1698: +.L1705: ldrh w0, [x19, 58] cmp w24, w0 - bcc .L1704 + bcc .L1711 add x20, x21, :lo12:.LANCHOR0 mov w19, 0 -.L1705: +.L1712: ldrh w0, [x20, 118] cmp w0, w19 - bhi .L1706 + bhi .L1713 add x20, x20, 160 ldrh w19, [x20, 12] mov w22, 65535 sub w19, w19, #1 and w19, w19, 65535 -.L1707: +.L1714: ldrh w0, [x20, 12] sub w0, w0, #48 cmp w19, w0 - ble .L1711 + ble .L1718 mov w0, w19 bl FtlBbmIsBadBlock cmp w0, 1 - beq .L1708 + beq .L1715 mov w0, w19 bl FlashTestBlk - cbz w0, .L1709 + cbz w0, .L1716 mov w0, w19 bl FtlBbmMapBadBlock -.L1708: +.L1715: sub w19, w19, #1 and w19, w19, 65535 - b .L1707 -.L1704: + b .L1714 +.L1711: ldr x0, [x19, 3448] mov w2, 65535 ldr x27, [x19, 3512] ldrh w1, [x25] stp x0, x27, [x20, 8] cmp w1, w2 - beq .L1699 + beq .L1706 ldrh w23, [x19, 102] mov w2, 1 madd w23, w23, w24, w1 @@ -11824,29 +11839,29 @@ FtlMakeBbt: add w2, w2, 7 lsr w2, w2, 3 bl ftl_memcpy -.L1700: +.L1707: mov w0, w23 add w24, w24, 1 bl FtlBbmMapBadBlock add x26, x26, 8 add x25, x25, 2 - b .L1698 -.L1699: + b .L1705 +.L1706: mov w1, w24 bl FlashGetBadBlockList ldr x0, [x20, 8] ldr x1, [x26] bl FtlBbt2Bitmap ldrh w22, [x19, 102] -.L1702: +.L1709: sub w22, w22, #1 and w22, w22, 65535 -.L1701: +.L1708: ldrh w0, [x19, 102] madd w0, w24, w0, w22 bl FtlBbmIsBadBlock cmp w0, 1 - beq .L1702 + beq .L1709 ldr x0, [x19, 3512] mov w2, 16 strh w22, [x25] @@ -11881,25 +11896,25 @@ FtlMakeBbt: bl FlashProgPages ldr w0, [x20] cmn w0, #1 - bne .L1700 + bne .L1707 mov w0, w23 bl FtlBbmMapBadBlock - b .L1701 -.L1706: + b .L1708 +.L1713: mov w0, w19 add w19, w19, 1 bl FtlBbmMapBadBlock and w19, w19, 65535 - b .L1705 -.L1709: + b .L1712 +.L1716: ldrh w0, [x20] cmp w0, w22 - bne .L1710 + bne .L1717 strh w19, [x20] - b .L1708 -.L1710: + b .L1715 +.L1717: strh w19, [x20, 4] -.L1711: +.L1718: add x21, x21, :lo12:.LANCHOR0 mov w2, 2 ldr x1, [x21, 3400] @@ -11952,36 +11967,36 @@ ftl_low_format: ldrh w0, [x0, 40] bl FtlFreeSysBlkQueueInit bl FtlLoadBbt - cbz w0, .L1718 + cbz w0, .L1725 bl FtlMakeBbt -.L1718: +.L1725: mov w4, 23752 add x1, x20, :lo12:.LANCHOR0 mov w0, 0 movk w4, 0xa0f, lsl 16 -.L1719: +.L1726: ldrh w2, [x1, 62] cmp w0, w2, lsl 7 - blt .L1720 + blt .L1727 ldrh w21, [x1, 44] add x22, x20, :lo12:.LANCHOR0 mov w19, 0 -.L1721: +.L1728: ldrh w0, [x22, 46] cmp w0, w21 - bhi .L1722 + bhi .L1729 ldrh w0, [x22, 36] sub w1, w19, #3 cmp w1, w0, lsl 1 - bge .L1723 -.L1727: + bge .L1730 +.L1734: add x19, x20, :lo12:.LANCHOR0 mov w21, 0 mov w22, 0 -.L1724: +.L1731: ldrh w0, [x19, 44] cmp w0, w22 - bhi .L1728 + bhi .L1735 ldrh w2, [x19, 36] ldr w1, [x19, 48] ldrh w0, [x19, 46] @@ -11994,28 +12009,28 @@ ftl_low_format: mov w0, 24 mul w0, w2, w0 cmp w21, w0 - ble .L1729 + ble .L1736 sub w1, w1, w21 udiv w1, w1, w2 str w1, [x19, 2584] lsr w1, w1, 5 add w1, w1, 24 strh w1, [x19, 2652] -.L1729: +.L1736: add x0, x20, :lo12:.LANCHOR0 ldrh w1, [x0, 98] - cbz w1, .L1731 + cbz w1, .L1738 ldrh w5, [x0, 2652] add w5, w5, w1, lsr 1 strh w5, [x0, 2652] mul w5, w1, w2 cmp w21, w5 - bge .L1731 + bge .L1738 add w1, w1, 32 str w4, [x0, 2584] add w1, w3, w1 strh w1, [x0, 2652] -.L1731: +.L1738: add x19, x20, :lo12:.LANCHOR0 mov w22, -1 add x21, x19, 2424 @@ -12051,20 +12066,20 @@ ftl_low_format: strh wzr, [x19, 2424] str wzr, [x19, 2580] bl ftl_memset -.L1733: +.L1740: mov x0, x21 bl make_superblock ldrb w1, [x21, 7] ldrh w0, [x21] - cbnz w1, .L1734 + cbnz w1, .L1741 ldr x1, [x19, 2376] ubfiz x0, x0, 1, 16 strh w22, [x1, x0] ldrh w0, [x21] add w0, w0, 1 strh w0, [x21] - b .L1733 -.L1720: + b .L1740 +.L1727: ldr x5, [x1, 3472] ubfiz x3, x0, 2, 16 mvn w2, w0 @@ -12074,8 +12089,8 @@ ftl_low_format: str w2, [x5, x3] ldr x2, [x1, 3480] str w4, [x2, x3] - b .L1719 -.L1722: + b .L1726 +.L1729: mov w0, w21 mov w1, 1 add w21, w21, 1 @@ -12083,8 +12098,8 @@ ftl_low_format: add w19, w19, w0 and w21, w21, 65535 and w19, w19, 65535 - b .L1721 -.L1723: + b .L1728 +.L1730: udiv w0, w19, w0 ldr w19, [x22, 136] add x21, x20, :lo12:.LANCHOR0 @@ -12093,17 +12108,17 @@ ftl_low_format: ldrh w0, [x22, 40] bl FtlFreeSysBlkQueueInit ldrh w19, [x22, 44] -.L1725: +.L1732: ldrh w0, [x21, 46] cmp w0, w19 - bls .L1727 + bls .L1734 mov w0, w19 add w19, w19, 1 mov w1, 1 and w19, w19, 65535 bl FtlLowFormatEraseBlock - b .L1725 -.L1728: + b .L1732 +.L1735: mov w0, w22 mov w1, 0 add w22, w22, 1 @@ -12111,8 +12126,8 @@ ftl_low_format: add w21, w21, w0 and w22, w22, 65535 and w21, w21, 65535 - b .L1724 -.L1734: + b .L1731 +.L1741: ldr w1, [x19, 2620] ubfiz x0, x0, 1, 16 str w1, [x21, 12] @@ -12132,20 +12147,20 @@ ftl_low_format: strb w1, [x19, 2480] add x19, x20, :lo12:.LANCHOR0 mov x20, x0 -.L1735: +.L1742: mov x0, x20 bl make_superblock ldrb w1, [x20, 7] ldrh w0, [x20] - cbnz w1, .L1736 + cbnz w1, .L1743 ldr x1, [x19, 2376] ubfiz x0, x0, 1, 16 strh w21, [x1, x0] ldrh w0, [x20] add w0, w0, 1 strh w0, [x20] - b .L1735 -.L1736: + b .L1742 +.L1743: ldr w1, [x19, 2620] ubfiz x0, x0, 1, 16 str w1, [x20, 12] @@ -12168,11 +12183,11 @@ ftl_low_format: str w0, [x19, 2620] bl FtlVpcTblFlush bl FtlSysBlkInit - cbnz w0, .L1737 + cbnz w0, .L1744 adrp x0, .LANCHOR2 mov w1, 1 str w1, [x0, #:lo12:.LANCHOR2] -.L1737: +.L1744: mov w0, 0 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -12197,12 +12212,12 @@ rk_sftl_vendor_dev_ops_register: adrp x2, .LANCHOR0 add x2, x2, :lo12:.LANCHOR0 ldr x3, [x2, 3992] - cbnz x3, .L1746 + cbnz x3, .L1753 str x0, [x2, 3992] mov w0, 0 str x1, [x2, 4000] ret -.L1746: +.L1753: mov w0, -1 ret .size rk_sftl_vendor_dev_ops_register, .-rk_sftl_vendor_dev_ops_register @@ -12221,38 +12236,38 @@ rk_sftl_vendor_storage_init: stp x25, x26, [sp, 64] bl ftl_malloc str x0, [x22, 4008] - cbz x0, .L1753 + cbz x0, .L1760 mov w26, 22084 mov w25, 0 mov w24, 0 mov w23, 0 movk w26, 0x524b, lsl 16 -.L1751: +.L1758: ldr x3, [x22, 3992] mov w1, 128 ldr x2, [x22, 4008] lsl w0, w23, 7 blr x3 mov w21, w0 - cbnz w0, .L1749 + cbnz w0, .L1756 ldr x19, [x22, 4008] ldr w0, [x19] cmp w0, w26 - bne .L1750 + bne .L1757 add x0, x19, 61440 ldr w1, [x19, 4] ldr w0, [x0, 4092] cmp w0, w1 - bne .L1750 + bne .L1757 cmp w0, w24 - bls .L1750 + bls .L1757 mov w25, w23 mov w24, w0 -.L1750: +.L1757: add w23, w23, 1 cmp w23, 2 - bne .L1751 - cbz w24, .L1752 + bne .L1758 + cbz w24, .L1759 add x0, x20, :lo12:.LANCHOR0 mov x2, x19 mov w1, 128 @@ -12260,15 +12275,15 @@ rk_sftl_vendor_storage_init: lsl w0, w25, 7 blr x3 mov w21, w0 - cbz w0, .L1747 -.L1749: + cbz w0, .L1754 +.L1756: add x20, x20, :lo12:.LANCHOR0 mov w21, -1 ldr x0, [x20, 4008] bl kfree str xzr, [x20, 4008] - b .L1747 -.L1752: + b .L1754 +.L1759: mov w1, 0 mov x2, 65536 mov x0, x19 @@ -12281,7 +12296,7 @@ rk_sftl_vendor_storage_init: str w0, [x1, 4092] mov w0, -1032 strh w0, [x19, 14] -.L1747: +.L1754: mov w0, w21 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -12289,9 +12304,9 @@ rk_sftl_vendor_storage_init: ldp x25, x26, [sp, 64] ldp x29, x30, [sp], 80 ret -.L1753: +.L1760: mov w21, -12 - b .L1747 + b .L1754 .size rk_sftl_vendor_storage_init, .-rk_sftl_vendor_storage_init .align 2 .global rk_sftl_vendor_read @@ -12299,20 +12314,20 @@ rk_sftl_vendor_storage_init: rk_sftl_vendor_read: adrp x3, .LANCHOR0+4008 ldr x4, [x3, #:lo12:.LANCHOR0+4008] - cbz x4, .L1761 + cbz x4, .L1768 ldrh w6, [x4, 10] add x5, x4, 16 mov w3, 0 -.L1758: +.L1765: cmp w3, w6 - bcc .L1760 -.L1761: + bcc .L1767 +.L1768: mov w0, -1 ret -.L1760: +.L1767: ldrh w7, [x5], 8 cmp w7, w0 - bne .L1759 + bne .L1766 stp x29, x30, [sp, -32]! add x3, x4, x3, uxtw 3 mov x0, x1 @@ -12330,9 +12345,9 @@ rk_sftl_vendor_read: ldr x19, [sp, 16] ldp x29, x30, [sp], 32 ret -.L1759: +.L1766: add w3, w3, 1 - b .L1758 + b .L1765 .size rk_sftl_vendor_read, .-rk_sftl_vendor_read .align 2 .global rk_sftl_vendor_write @@ -12348,7 +12363,7 @@ rk_sftl_vendor_write: stp x25, x26, [sp, 64] stp x27, x28, [sp, 80] ldr x19, [x3, 4008] - cbz x19, .L1781 + cbz x19, .L1788 add w21, w2, 63 ldrh w3, [x19, 10] ldrh w24, [x19, 8] @@ -12357,12 +12372,12 @@ rk_sftl_vendor_write: and w21, w21, -64 add x1, x19, 16 mov w20, 0 -.L1768: +.L1775: cmp w20, w3 - bcc .L1776 + bcc .L1783 ldrh w1, [x19, 14] cmp w21, w1 - bhi .L1781 + bhi .L1788 add x3, x19, x3, uxth 3 and w21, w21, 65535 uxtw x2, w28 @@ -12382,11 +12397,11 @@ rk_sftl_vendor_write: ldrh w0, [x19, 10] add w0, w0, 1 strh w0, [x19, 10] - b .L1783 -.L1776: + b .L1790 +.L1783: ldrh w6, [x1], 8 cmp w6, w0 - bne .L1769 + bne .L1776 uxtw x27, w20 add x5, x19, 1024 add x22, x19, x27, lsl 3 @@ -12394,17 +12409,17 @@ rk_sftl_vendor_write: add w25, w25, 63 and w25, w25, -64 cmp w28, w25 - bls .L1770 + bls .L1777 ldrh w0, [x19, 14] cmp w21, w0 - bhi .L1781 + bhi .L1788 add x27, x27, 2 ldrh w22, [x22, 18] add x27, x19, x27, lsl 3 sub w26, w3, #1 -.L1771: +.L1778: cmp w20, w26 - bcc .L1772 + bcc .L1779 add x20, x19, x20, uxtw 3 and w22, w22, 65535 add x0, x5, x22, uxth @@ -12421,7 +12436,7 @@ rk_sftl_vendor_write: sub w21, w0, w21 add w25, w21, w25 strh w25, [x19, 14] -.L1783: +.L1790: ldr w0, [x19, 4] add x1, x19, 61440 add x23, x23, :lo12:.LANCHOR0 @@ -12440,7 +12455,7 @@ rk_sftl_vendor_write: lsl w0, w24, 7 blr x3 mov w0, 0 -.L1766: +.L1773: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -12448,7 +12463,7 @@ rk_sftl_vendor_write: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 128 ret -.L1772: +.L1779: add w20, w20, 1 str x4, [x29, 104] add x0, x19, x20, uxtw 3 @@ -12472,21 +12487,21 @@ rk_sftl_vendor_write: ldr x4, [x29, 104] add w22, w22, w3 ldr x5, [x29, 120] - b .L1771 -.L1770: + b .L1778 +.L1777: ldrh w0, [x22, 18] uxtw x2, w28 mov x1, x4 add x0, x5, x0 bl memcpy strh w28, [x22, 20] - b .L1783 -.L1769: + b .L1790 +.L1776: add w20, w20, 1 - b .L1768 -.L1781: + b .L1775 +.L1788: mov w0, -1 - b .L1766 + b .L1773 .size rk_sftl_vendor_write, .-rk_sftl_vendor_write .align 2 .global rk_sftl_vendor_storage_ioctl @@ -12500,19 +12515,19 @@ rk_sftl_vendor_storage_ioctl: str x21, [sp, 32] mov w21, w1 bl ftl_malloc - cbz x0, .L1798 + cbz x0, .L1805 mov w1, 30209 mov x19, x0 movk w1, 0x4004, lsl 16 cmp w21, w1 - beq .L1787 + beq .L1794 add w1, w1, 1 cmp w21, w1 - beq .L1788 -.L1808: + beq .L1795 +.L1815: mov x20, -14 - b .L1786 -.L1787: + b .L1793 +.L1794: #APP // 21 "./arch/arm64/include/asm/current.h" 1 mrs x21, sp_el0 @@ -12521,56 +12536,56 @@ rk_sftl_vendor_storage_ioctl: mov x1, x20 ldr x2, [x21, 8] #APP -// 410 "./arch/arm64/include/asm/uaccess.h" 1 +// 413 "./arch/arm64/include/asm/uaccess.h" 1 adds x1, x1, 8; ccmp x1, x2, #2, cc; cset x3, ls // 0 "" 2 #NO_APP - cbz x3, .L1794 + cbz x3, .L1801 mov x2, 8 mov x1, x20 bl __arch_copy_from_user - cbnz x0, .L1808 + cbnz x0, .L1815 ldr w1, [x19] mov w0, 17745 movk w0, 0x5652, lsl 16 cmp w1, w0 - beq .L1792 -.L1793: + beq .L1799 +.L1800: mov x20, -1 -.L1786: +.L1793: mov x0, x19 bl kfree -.L1784: +.L1791: mov x0, x20 ldr x21, [sp, 32] ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 48 ret -.L1792: +.L1799: ldrh w2, [x19, 6] add x1, x19, 8 ldrh w0, [x19, 4] bl rk_sftl_vendor_read cmn w0, #1 - beq .L1793 + beq .L1800 strh w0, [x19, 6] and x2, x0, 65535 add x2, x2, 8 mov x0, x20 ldr x1, [x21, 8] #APP -// 420 "./arch/arm64/include/asm/uaccess.h" 1 +// 423 "./arch/arm64/include/asm/uaccess.h" 1 adds x0, x0, x2; ccmp x0, x1, #2, cc; cset x3, ls // 0 "" 2 #NO_APP - cbz x3, .L1808 + cbz x3, .L1815 mov x0, x20 mov x1, x19 mov x20, 0 bl __arch_copy_to_user - cbz x0, .L1786 - b .L1808 -.L1788: + cbz x0, .L1793 + b .L1815 +.L1795: #APP // 21 "./arch/arm64/include/asm/current.h" 1 mrs x21, sp_el0 @@ -12579,54 +12594,54 @@ rk_sftl_vendor_storage_ioctl: mov x1, x20 ldr x2, [x21, 8] #APP -// 410 "./arch/arm64/include/asm/uaccess.h" 1 +// 413 "./arch/arm64/include/asm/uaccess.h" 1 adds x1, x1, 8; ccmp x1, x2, #2, cc; cset x3, ls // 0 "" 2 #NO_APP - cbz x3, .L1794 + cbz x3, .L1801 mov x2, 8 mov x1, x20 bl __arch_copy_from_user - cbnz x0, .L1808 + cbnz x0, .L1815 ldr w1, [x19] mov w0, 17745 movk w0, 0x5652, lsl 16 cmp w1, w0 - bne .L1793 + bne .L1800 ldrh w2, [x19, 6] cmp w2, 4087 - bhi .L1793 + bhi .L1800 add w2, w2, 8 mov x0, x20 sxtw x2, w2 ldr x1, [x21, 8] #APP -// 410 "./arch/arm64/include/asm/uaccess.h" 1 +// 413 "./arch/arm64/include/asm/uaccess.h" 1 adds x0, x0, x2; ccmp x0, x1, #2, cc; cset x3, ls // 0 "" 2 #NO_APP - cbz x3, .L1796 + cbz x3, .L1803 mov x1, x20 mov x0, x19 bl __arch_copy_from_user - cbnz x0, .L1808 + cbnz x0, .L1815 ldrh w2, [x19, 6] add x1, x19, 8 ldrh w0, [x19, 4] bl rk_sftl_vendor_write sxtw x20, w0 - b .L1786 -.L1794: + b .L1793 +.L1801: str xzr, [x19] - b .L1808 -.L1796: + b .L1815 +.L1803: mov w1, 0 mov x0, x19 bl memset - b .L1808 -.L1798: + b .L1815 +.L1805: mov x20, -1 - b .L1784 + b .L1791 .size rk_sftl_vendor_storage_ioctl, .-rk_sftl_vendor_storage_ioctl .align 2 .global rk_sftl_vendor_register @@ -12827,9 +12842,9 @@ __func__.4338: __func__.4513: .string "get_new_active_ppa" .zero 5 - .type __func__.16152, %object - .size __func__.16152, 17 -__func__.16152: + .type __func__.16165, %object + .size __func__.16165, 17 +__func__.16165: .string "FlashEraseBlocks" .zero 7 .type __func__.3950, %object @@ -12852,9 +12867,9 @@ __func__.3682: __func__.4359: .string "SupperBlkListInit" .zero 6 - .type __func__.16111, %object - .size __func__.16111, 15 -__func__.16111: + .type __func__.16122, %object + .size __func__.16122, 15 +__func__.16122: .string "FlashReadPages" .zero 1 .type __func__.4127, %object @@ -12872,9 +12887,9 @@ __func__.3725: __func__.4184: .string "FtlLoadSysInfo" .zero 1 - .type __func__.16129, %object - .size __func__.16129, 15 -__func__.16129: + .type __func__.16141, %object + .size __func__.16141, 15 +__func__.16141: .string "FlashProgPages" .zero 1 .type __func__.3976, %object |