summaryrefslogtreecommitdiff
path: root/drivers/rkflash
diff options
context:
space:
mode:
authorDingqiang Lin <jon.lin@rock-chips.com>2018-10-11 17:30:35 +0800
committerTao Huang <huangtao@rock-chips.com>2018-10-17 19:23:45 +0800
commitd5d6b8dcf6e3165d85ed827be6b8ca811a41c49c (patch)
tree50100e5827fb9abdece3114daa7c5bdc95b873c6 /drivers/rkflash
parent2713d825104627b7e273f90de51feab6b02e388b (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.S3903
-rw-r--r--drivers/rkflash/rk_sftl_arm_v7_thumb.S4105
-rw-r--r--drivers/rkflash/rk_sftl_arm_v8.S3261
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