From 19e6e2a5806b97df8fab51a6bbf21bd5f75f720c Mon Sep 17 00:00:00 2001 From: "jon.lin" Date: Thu, 29 Nov 2018 18:59:30 -0800 Subject: [PATCH] drivers: rkflash: support 4KB page size slc nand 1.support 4KB page size slc nand; 2.support idblock update when NANDC version is 9. Change-Id: Ia4c170270264fd46dbd2bc627d0780b8fe46f7d5 Signed-off-by: jon.lin --- drivers/rkflash/flash.c | 14 + drivers/rkflash/flash_com.h | 2 + drivers/rkflash/nandc.c | 5 + drivers/rkflash/nandc.h | 1 + drivers/rkflash/rk_sftl_arm_v7.S | 3027 ++++++++++++------------ drivers/rkflash/rk_sftl_arm_v7_thumb.S | 2400 ++++++++++--------- drivers/rkflash/rk_sftl_arm_v8.S | 2172 +++++++++-------- 7 files changed, 3935 insertions(+), 3686 deletions(-) diff --git a/drivers/rkflash/flash.c b/drivers/rkflash/flash.c index 6febe8389146..ab4d89d895e6 100644 --- a/drivers/rkflash/flash.c +++ b/drivers/rkflash/flash.c @@ -81,6 +81,11 @@ static void flash_bch_sel(u8 bits) nandc_bch_sel(bits); } +static void flash_set_sector(u8 num) +{ + nand_para.sec_per_page = num; +} + static __maybe_unused void flash_timing_cfg(u32 ahb_khz) { nandc_time_cfg(nand_para.access_freq); @@ -427,6 +432,8 @@ static void nandc_flash_print_info(void) static void ftl_flash_init(void) { + u8 nandc_ver = nandc_get_version(); + /* para init */ g_nand_phy_info.nand_type = nand_para.cell; g_nand_phy_info.die_num = nand_para.die_per_chip; @@ -449,6 +456,10 @@ static void ftl_flash_init(void) g_nand_ops.erase_blk = flash_erase_block; g_nand_ops.prog_page = flash_prog_page; g_nand_ops.read_page = flash_read_page; + if (nandc_ver == 9) { + g_nand_ops.bch_sel = flash_bch_sel; + g_nand_ops.set_sec_num = flash_set_sector; + } } u32 nandc_flash_init(void __iomem *nandc_addr) @@ -485,6 +496,9 @@ u32 nandc_flash_init(void __iomem *nandc_addr) if (id_byte[0][0] == 0x2C && id_byte[0][3] == 0xA6) { nand_para.plane_per_die = 2; nand_para.sec_per_page = 8; + } else if (id_byte[0][0] == 0x98 && id_byte[0][3] == 0x26) { + nand_para.blk_per_plane = 2048; + nand_para.sec_per_page = 8; } else { nand_para.plane_per_die = 2; nand_para.blk_per_plane = 2048; diff --git a/drivers/rkflash/flash_com.h b/drivers/rkflash/flash_com.h index 8e2cbce9bbb5..5de1998160d9 100644 --- a/drivers/rkflash/flash_com.h +++ b/drivers/rkflash/flash_com.h @@ -59,6 +59,8 @@ struct nand_ops { u32 (*erase_blk)(u8 cs, u32 page_addr); u32 (*prog_page)(u8 cs, u32 page_addr, u32 *data, u32 *spare); u32 (*read_page)(u8 cs, u32 page_addr, u32 *data, u32 *spare); + void (*bch_sel)(u8 bits); + void (*set_sec_num)(u8 num); }; s32 ftl_flash_prog_pages(void *req, u32 num_req, u32 flash_type, u32 check); diff --git a/drivers/rkflash/nandc.c b/drivers/rkflash/nandc.c index ce7fecaac8c1..69e3b0ed5598 100644 --- a/drivers/rkflash/nandc.c +++ b/drivers/rkflash/nandc.c @@ -23,6 +23,11 @@ static struct MASTER_INFO_T master; static u32 *g_master_temp_buf; #endif +u8 nandc_get_version(void) +{ + return g_nandc_ver; +} + void nandc_init(void __iomem *nandc_addr) { union FM_CTL_T ctl_reg; diff --git a/drivers/rkflash/nandc.h b/drivers/rkflash/nandc.h index 8031c79b679b..e650493dbe4d 100644 --- a/drivers/rkflash/nandc.h +++ b/drivers/rkflash/nandc.h @@ -341,5 +341,6 @@ void nandc_bch_sel(u8 bits); void nandc_read_not_case_busy_en(u8 en); void nandc_time_cfg(u32 ns); void nandc_clean_irq(void); +u8 nandc_get_version(void); #endif diff --git a/drivers/rkflash/rk_sftl_arm_v7.S b/drivers/rkflash/rk_sftl_arm_v7.S index 5787848609f5..468977512f80 100644 --- a/drivers/rkflash/rk_sftl_arm_v7.S +++ b/drivers/rkflash/rk_sftl_arm_v7.S @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0 */ /* Copyright (c) 2018 Rockchip Electronics Co. Ltd. - * date: 2018-11-02 + * date: 2018-11-29 */ .file "rk_sftl.c" .global __udivsi3 @@ -159,22 +159,24 @@ FtlConstantsInit: sub fp, ip, #4 sub sp, sp, #4 mov r7, r0 - ldrh r2, [r7, #14] + ldrh r2, [r7, #6] + ldrh ip, [r7, #14] ldr r4, .L25 - ldr ip, .L25+4 - cmp r2, #4 ldrh r1, [r0] - ldrheq r2, [r7, #6] + cmp ip, #4 ldrh r6, [r0, #2] - ldrh r0, [r0, #4] - strh r1, [r4, #52] @ movhi + strh r2, [r4, #42] @ movhi lsreq r2, r2, #1 - strh r6, [r4, #54] @ movhi - strh r0, [r4, #56] @ movhi + strh ip, [r4, #58] @ movhi + ldr ip, .L25+4 strheq r2, [r4, #42] @ movhi moveq r2, #8 + ldrh r0, [r0, #4] strheq r2, [r4, #58] @ movhi mov r2, #0 + strh r1, [r4, #52] @ movhi + strh r6, [r4, #54] @ movhi + strh r0, [r4, #56] @ movhi .L17: strb r2, [r2, ip] add r2, r2, #1 @@ -3398,7 +3400,7 @@ FtlFreeSysBlkQueueIn: mov r0, r5 bl P2V_block_in_plane mov r6, r0 - ldr r0, [r4, #3260] + ldr r0, [r4, #3268] lsl r3, r5, #10 mov r2, #1 mov r1, r2 @@ -3447,7 +3449,7 @@ FtlFreeSysBlkQueueOut: beq .L417 ldrh r3, [r4, #214] sub r2, r2, #1 - ldr r0, [r4, #3260] + ldr r0, [r4, #3268] strh r2, [r4, #218] @ movhi mov r2, #1 add r1, r4, r3, lsl #1 @@ -3638,7 +3640,7 @@ FtlMemInit: movw r2, #3202 mov r5, #0 mov r7, #12 - str r3, [r4, #3268] + str r3, [r4, #3276] mvn r3, #0 strh r3, [r4, r2] @ movhi movw r2, #3204 @@ -3671,11 +3673,11 @@ FtlMemInit: str r5, [r4, #2560] str r5, [r4, #2564] str r5, [r4, #2568] - str r5, [r4, #3264] - str r5, [r4, #3160] str r5, [r4, #3272] + str r5, [r4, #3160] + str r5, [r4, #3280] str r5, [r4, #3152] - str r5, [r4, #3276] + str r5, [r4, #3284] bl ftl_malloc str r0, [r4, #3188] ldrh r0, [r4, #106] @@ -3687,16 +3689,16 @@ FtlMemInit: lsl r8, r6, #2 mov r0, r8 bl ftl_malloc - str r0, [r4, #3280] - mov r0, r6 - bl ftl_malloc - str r0, [r4, #3284] - mov r0, r8 - bl ftl_malloc str r0, [r4, #3288] mov r0, r6 bl ftl_malloc - str r0, [r4, #3260] + str r0, [r4, #3292] + mov r0, r8 + bl ftl_malloc + str r0, [r4, #3296] + mov r0, r6 + bl ftl_malloc + str r0, [r4, #3268] mov r0, r6 bl ftl_malloc ldrh r3, [r4, #32] @@ -3707,17 +3709,7 @@ FtlMemInit: add r3, r3, #1 str r3, [r4, #3184] bl ftl_malloc - str r0, [r4, #3292] - mov r0, r6 - bl ftl_malloc - str r0, [r4, #3296] - mov r0, r6 - bl ftl_malloc str r0, [r4, #3300] - ldr r0, [r4, #3184] - mul r0, r0, r6 - bl ftl_malloc - str r0, [r4, #3172] mov r0, r6 bl ftl_malloc str r0, [r4, #3304] @@ -3725,30 +3717,40 @@ FtlMemInit: bl ftl_malloc str r0, [r4, #3308] ldr r0, [r4, #3184] - mul r0, r7, r0 + mul r0, r0, r6 bl ftl_malloc - str r0, [r4, #3168] + str r0, [r4, #3172] mov r0, r6 bl ftl_malloc str r0, [r4, #3312] mov r0, r6 bl ftl_malloc str r0, [r4, #3316] + ldr r0, [r4, #3184] + mul r0, r7, r0 + bl ftl_malloc + str r0, [r4, #3168] + mov r0, r6 + bl ftl_malloc + str r0, [r4, #3320] + mov r0, r6 + bl ftl_malloc + str r0, [r4, #3324] ldrh r0, [r4, #58] lsl r0, r0, #2 bl ftl_malloc ldrh r3, [r4, #112] ldrh r6, [r4, #32] - str r0, [r4, #3320] + str r0, [r4, #3328] mul r6, r6, r3 mov r0, r6 bl ftl_malloc - str r0, [r4, #3324] + str r0, [r4, #3332] lsl r0, r6, #2 - movw r6, #3332 + movw r6, #3340 bl ftl_malloc ldrh r3, [r4, #112] - str r0, [r4, #3328] + str r0, [r4, #3336] ldr r0, [r4, #3184] mul r0, r0, r3 bl ftl_malloc @@ -3758,7 +3760,7 @@ FtlMemInit: uxth r0, r0 strh r0, [r4, r6] @ movhi bl ftl_malloc - str r0, [r4, #3336] + str r0, [r4, #3344] ldrh r0, [r4, r6] ldr r3, .L548+4 add r0, r0, #544 @@ -3768,13 +3770,13 @@ FtlMemInit: and r0, r3, r0, lsl #9 bl ftl_malloc ldrh r6, [r4, #42] - str r0, [r4, #3340] + str r0, [r4, #3348] add r0, r0, #32 str r0, [r4, #2328] lsl r6, r6, #1 mov r0, r6 bl ftl_malloc - str r0, [r4, #3344] + str r0, [r4, #3352] mov r0, r6 bl ftl_malloc ldr r6, [r4, #128] @@ -3782,10 +3784,10 @@ FtlMemInit: lsl r6, r6, #1 mov r0, r6 bl ftl_malloc - str r0, [r4, #3348] + str r0, [r4, #3356] mov r0, r6 bl ftl_malloc - str r0, [r4, #3352] + str r0, [r4, #3360] ldrh r0, [r4, #42] lsr r0, r0, #3 add r0, r0, #4 @@ -3798,28 +3800,28 @@ FtlMemInit: ldrh r0, [r4, #120] lsl r0, r0, #1 bl ftl_malloc - str r0, [r4, #3356] + str r0, [r4, #3364] ldrh r0, [r4, #120] lsl r0, r0, #2 bl ftl_malloc - str r0, [r4, #3360] + str r0, [r4, #3368] ldrh r0, [r4, #122] lsl r0, r0, #2 bl ftl_malloc ldrh r2, [r4, #122] mov r1, r5 - str r0, [r4, #3364] - movw r5, #3380 + str r0, [r4, #3372] + movw r5, #3388 lsl r2, r2, #2 bl ftl_memset ldrh r0, [r4, #136] lsl r0, r0, #2 bl ftl_malloc - str r0, [r4, #3368] + str r0, [r4, #3376] ldr r0, [r4, #128] lsl r0, r0, #2 bl ftl_malloc - str r0, [r4, #3372] + str r0, [r4, #3380] ldrh r0, [r4, #138] mul r0, r7, r0 bl ftl_malloc @@ -3828,7 +3830,7 @@ FtlMemInit: ldrh r0, [r4, #110] mul r0, r0, r3 bl ftl_malloc - str r0, [r4, #3376] + str r0, [r4, #3384] ldrh r0, [r4, #42] lsl r0, r0, #3 bl ftl_malloc @@ -3859,7 +3861,7 @@ FtlMemInit: .L450: cmp r2, r3 bne .L451 - ldr r3, [r4, #3348] + ldr r3, [r4, #3356] cmp r3, #0 bne .L452 .L454: @@ -3879,19 +3881,19 @@ FtlMemInit: str r1, [r3, #4]! b .L450 .L452: - ldr r3, [r4, #3352] + ldr r3, [r4, #3360] cmp r3, #0 beq .L454 - ldr r3, [r4, #3368] + ldr r3, [r4, #3376] cmp r3, #0 beq .L454 - ldr r3, [r4, #3372] + ldr r3, [r4, #3380] cmp r3, #0 beq .L454 ldr r3, [r4, #2492] cmp r3, #0 beq .L454 - ldr r3, [r4, #3376] + ldr r3, [r4, #3384] cmp r3, #0 beq .L454 ldr r3, [r4, #2316] @@ -3909,31 +3911,22 @@ FtlMemInit: ldr r3, [r4, #3196] cmp r3, #0 beq .L454 - ldr r3, [r4, #3280] - cmp r3, #0 - beq .L454 ldr r3, [r4, #3288] cmp r3, #0 beq .L454 - ldr r3, [r4, #3260] - cmp r3, #0 - beq .L454 - ldr r3, [r4, #3180] - cmp r3, #0 - beq .L454 - ldr r3, [r4, #3284] - cmp r3, #0 - beq .L454 - ldr r3, [r4, #3292] - cmp r3, #0 - beq .L454 ldr r3, [r4, #3296] cmp r3, #0 beq .L454 - ldr r3, [r4, #3300] + ldr r3, [r4, #3268] cmp r3, #0 beq .L454 - ldr r3, [r4, #3172] + ldr r3, [r4, #3180] + cmp r3, #0 + beq .L454 + ldr r3, [r4, #3292] + cmp r3, #0 + beq .L454 + ldr r3, [r4, #3300] cmp r3, #0 beq .L454 ldr r3, [r4, #3304] @@ -3942,13 +3935,22 @@ FtlMemInit: ldr r3, [r4, #3308] cmp r3, #0 beq .L454 + ldr r3, [r4, #3172] + cmp r3, #0 + beq .L454 + ldr r3, [r4, #3312] + cmp r3, #0 + beq .L454 + ldr r3, [r4, #3316] + cmp r3, #0 + beq .L454 ldr r3, [r4, #3168] cmp r3, #0 beq .L454 - ldr r3, [r4, #3324] + ldr r3, [r4, #3332] cmp r3, #0 beq .L454 - ldr r3, [r4, #3328] + ldr r3, [r4, #3336] cmp r3, #0 beq .L454 ldr r3, [r4, #3176] @@ -3957,20 +3959,20 @@ FtlMemInit: ldr r3, [r4, #2328] cmp r3, #0 beq .L454 - ldr r3, [r4, #3336] + ldr r3, [r4, #3344] cmp r3, #0 beq .L454 ldr r3, [r4, #148] cmp r3, #0 beq .L454 ldr r3, .L548 - ldr r2, [r3, #3356] + ldr r2, [r3, #3364] cmp r2, #0 beq .L454 - ldr r2, [r3, #3360] + ldr r2, [r3, #3368] cmp r2, #0 beq .L454 - ldr r3, [r3, #3364] + ldr r3, [r3, #3372] cmp r3, #0 beq .L454 mov r0, #0 @@ -3997,7 +3999,7 @@ FtlBbt2Bitmap: push {r4, r5, r6, r7, r8, r9, fp, ip, lr, pc} sub fp, ip, #4 ldr r6, .L556 - movw r3, #3380 + movw r3, #3388 mov r4, r0 ldr r8, .L556+4 sub r5, r4, #2 @@ -4165,13 +4167,13 @@ FtlL2PDataInit: mov r1, #0 mvn r5, #0 ldr r2, [r4, #128] - ldr r0, [r4, #3352] + ldr r0, [r4, #3360] lsl r2, r2, #1 bl ftl_memset ldrh r3, [r4, #110] mov r1, #255 ldrh r2, [r4, #138] - ldr r0, [r4, #3376] + ldr r0, [r4, #3384] mul r2, r2, r3 bl ftl_memset mov r2, #0 @@ -4186,26 +4188,25 @@ FtlL2PDataInit: bhi .L582 ldr r2, .L583+4 mvn r1, #0 - movw r0, #3384 - strh r1, [r3, r0] @ movhi strh r1, [r2, #2] @ movhi + strh r1, [r2] @ movhi ldr r1, [r3, #128] strh r1, [r2, #10] @ movhi ldr r1, .L583+8 strh r1, [r2, #4] @ movhi - movw r1, #3428 + movw r1, #3436 ldrh r1, [r3, r1] strh r1, [r2, #8] @ movhi ldrh r1, [r3, #136] strh r1, [r2, #6] @ movhi - ldr r2, [r3, #3348] - str r2, [r3, #3396] - ldr r2, [r3, #3372] - str r2, [r3, #3400] - ldr r2, [r3, #3352] + ldr r2, [r3, #3356] str r2, [r3, #3404] - ldr r2, [r3, #3368] + ldr r2, [r3, #3380] str r2, [r3, #3408] + ldr r2, [r3, #3360] + str r2, [r3, #3412] + ldr r2, [r3, #3376] + str r2, [r3, #3416] ldmfd sp, {r4, r5, r6, fp, sp, pc} .L582: uxth r2, r2 @@ -4218,7 +4219,7 @@ FtlL2PDataInit: add r1, r1, r0 ldrh r0, [r3, #110] mul r2, r2, r0 - ldr r0, [r3, #3376] + ldr r0, [r3, #3384] bic r2, r2, #3 add r2, r0, r2 str r2, [r1, #8] @@ -4228,7 +4229,7 @@ FtlL2PDataInit: .align 2 .L583: .word .LANCHOR0 - .word .LANCHOR0+3384 + .word .LANCHOR0+3392 .word -3902 .size FtlL2PDataInit, .-FtlL2PDataInit .align 2 @@ -4245,16 +4246,16 @@ FtlVariablesInit: sub fp, ip, #4 ldr r4, .L586 mvn r3, #0 - movw r2, #3430 + movw r2, #3438 mov r5, #0 strh r3, [r4, r2] @ movhi mov r1, r5 ldrh r2, [r4, #120] ldr r0, [r4, #148] - str r3, [r4, #3440] - str r5, [r4, #3432] + str r3, [r4, #3448] + str r5, [r4, #3440] lsl r2, r2, #1 - str r5, [r4, #3436] + str r5, [r4, #3444] strh r5, [r4, #144] @ movhi bl ftl_memset ldrh r2, [r4, #42] @@ -4264,7 +4265,7 @@ FtlVariablesInit: bl ftl_memset ldrh r2, [r4, #42] mov r1, r5 - ldr r0, [r4, #3336] + ldr r0, [r4, #3344] lsl r2, r2, #1 bl ftl_memset add r0, r4, #2256 @@ -4519,7 +4520,7 @@ FlashReadPages: ldr ip, [r5, #3256] tst r6, #63 ldr r1, [fp, #-44] - ldrne r6, [r5, #3312] + ldrne r6, [r5, #3320] mov r2, r6 blx ip str r0, [r4] @@ -4561,7 +4562,7 @@ FlashReadPages: movne r3, #256 strne r3, [r4] .L613: - ldr r3, [r5, #3312] + ldr r3, [r5, #3320] cmp r6, r3 bne .L610 ldr r0, [r4, #8] @@ -4598,11 +4599,11 @@ FtlLoadFactoryBbt: mov r6, #0 mvn r9, #0 ldr r10, .L645+4 - ldr r3, [r4, #3292] + ldr r3, [r4, #3300] add r7, r4, #162 - ldr r8, [r4, #3324] - str r3, [r4, #3452] - str r8, [r4, #3456] + ldr r8, [r4, #3332] + str r3, [r4, #3460] + str r8, [r4, #3464] .L636: ldrh r3, [r4, #54] cmp r6, r3 @@ -4624,9 +4625,9 @@ FtlLoadFactoryBbt: mov r1, r2 mov r0, r10 lsl r3, r3, #10 - str r3, [r4, #3448] + str r3, [r4, #3456] bl FlashReadPages - ldr r3, [r4, #3444] + ldr r3, [r4, #3452] cmn r3, #1 beq .L638 ldrh r2, [r8] @@ -4641,7 +4642,7 @@ FtlLoadFactoryBbt: .align 2 .L645: .word .LANCHOR0 - .word .LANCHOR0+3444 + .word .LANCHOR0+3452 .size FtlLoadFactoryBbt, .-FtlLoadFactoryBbt .align 2 .global FtlGetLastWrittenPage @@ -4665,7 +4666,7 @@ FtlGetLastWrittenPage: ldrheq r5, [r3, #104] mov r1, #1 ldrhne r5, [r3, #102] - ldr r3, [r3, #3316] + ldr r3, [r3, #3324] sub r5, r5, #1 sxth r5, r5 str r3, [fp, #-108] @@ -4731,23 +4732,23 @@ FtlScanSysBlk: sub sp, sp, #24 mov r5, #0 ldr r4, .L742 - movw r3, #3428 + movw r3, #3436 mov r1, r5 ldr r2, [r4, #128] mov r6, r4 - ldr r0, [r4, #3372] + ldr r0, [r4, #3380] strh r5, [r4, r3] @ movhi strh r5, [r4, #144] @ movhi lsl r2, r2, #2 bl ftl_memset ldr r2, [r4, #128] mov r1, r5 - ldr r0, [r4, #3348] + ldr r0, [r4, #3356] lsl r2, r2, #1 bl ftl_memset ldrh r2, [r4, #120] mov r1, r5 - ldr r0, [r4, #3360] + ldr r0, [r4, #3368] lsl r2, r2, #2 bl ftl_memset ldrh r2, [r4, #120] @@ -4771,7 +4772,7 @@ FtlScanSysBlk: mov r7, #0 ldrh r2, [r6, #32] mov r10, r7 - ldr r8, [r6, #3280] + ldr r8, [r6, #3288] ldr r3, [r6, #3172] str r1, [fp, #-48] ldrh r9, [r6, #112] @@ -4834,7 +4835,7 @@ FtlScanSysBlk: ldr r3, [fp, #-48] mov r9, #20 mul r9, r9, r3 - ldr r3, [r4, #3280] + ldr r3, [r4, #3288] add r2, r3, r9 ldr r3, [r3, r9] ldr r1, [r2, #4] @@ -4845,7 +4846,7 @@ FtlScanSysBlk: bne .L668 mov r3, #16 .L670: - ldr r0, [r4, #3280] + ldr r0, [r4, #3288] str ip, [fp, #-56] str r3, [fp, #-52] add r0, r0, r9 @@ -4861,10 +4862,10 @@ FtlScanSysBlk: cmp r2, r3 ldr r3, [fp, #-52] bne .L667 - ldr r3, [r4, #3280] + ldr r3, [r4, #3288] mvn r2, #0 str r2, [r3, r9] - ldr r3, [r4, #3280] + ldr r3, [r4, #3288] ldr r3, [r3, r9] cmp r3, r2 bne .L668 @@ -4872,7 +4873,7 @@ FtlScanSysBlk: mov r1, #1 b .L740 .L667: - ldr r2, [r4, #3280] + ldr r2, [r4, #3288] ldr r2, [r2, r9] cmn r2, #1 bne .L668 @@ -4930,7 +4931,7 @@ FtlScanSysBlk: .L679: ldr r0, [r4, #128] ldrh r2, [r9] - ldr ip, [r4, #3372] + ldr ip, [r4, #3380] uxth r1, r0 sub r3, r1, #1 sub r1, r1, r2 @@ -4968,11 +4969,11 @@ FtlScanSysBlk: bhi .L684 ldr r1, [r7, #4] cmp r3, #0 - ldr r2, [r5, #3372] + ldr r2, [r5, #3380] ldr r0, [fp, #-56] str r1, [r2, r0] lsl r2, r3, #1 - ldr r1, [r5, #3348] + ldr r1, [r5, #3356] strh r8, [r1, r2] @ movhi blt .L673 ldr r2, .L742+8 @@ -4987,21 +4988,21 @@ FtlScanSysBlk: add r2, r2, #1 ldr r1, [r7, #4] strh r2, [r9] @ movhi - ldr r2, [r4, #3372] + ldr r2, [r4, #3380] str r1, [r2, r3, lsl #2] lsl r3, r3, #1 - ldr r2, [r4, #3348] + ldr r2, [r4, #3356] .L738: strh r8, [r2, r3] @ movhi b .L673 .L684: - ldr r0, [r6, #3372] + ldr r0, [r6, #3380] add r1, r1, #1 add lr, r0, r2, lsl #2 ldr lr, [lr, #4] str lr, [r0, r2, lsl #2] lsl r2, r2, #1 - ldr r0, [r6, #3348] + ldr r0, [r6, #3356] add lr, r0, r2 ldrh lr, [lr, #2] strh lr, [r0, r2] @ movhi @@ -5022,7 +5023,7 @@ FtlScanSysBlk: .L689: ldrh r2, [r4, #120] ldrh r1, [r4, #144] - ldr ip, [r4, #3360] + ldr ip, [r4, #3368] sub r0, r2, #1 sxth r3, r0 sub r0, r0, r1 @@ -5053,7 +5054,7 @@ FtlScanSysBlk: cmp ip, r0 bhi .L694 ldr r1, [r7, #4] - ldr r2, [r5, #3360] + ldr r2, [r5, #3368] str r1, [r2, lr] lsl r2, r3, #1 ldr r1, [r5, #148] @@ -5069,7 +5070,7 @@ FtlScanSysBlk: cmp r3, r2 bgt .L673 add r1, r1, #1 - ldr r2, [r5, #3360] + ldr r2, [r5, #3368] strh r1, [r5, #144] @ movhi ldr r1, [r7, #4] str r1, [r2, r3, lsl #2] @@ -5077,7 +5078,7 @@ FtlScanSysBlk: ldr r2, [r5, #148] b .L738 .L694: - ldr r0, [r6, #3360] + ldr r0, [r6, #3368] add r1, r1, #1 add r9, r0, r2, lsl #2 ldr r9, [r9, #4] @@ -5118,7 +5119,7 @@ FtlScanSysBlk: str r3, [r4, #2584] b .L673 .L702: - ldr r2, [r6, #3348] + ldr r2, [r6, #3356] ldrh r3, [r2] cmp r3, #0 beq .L704 @@ -5128,7 +5129,7 @@ FtlScanSysBlk: cmp r2, #0 beq .L705 .L706: - movw r3, #3428 + movw r3, #3436 ldrh r2, [r4, r3] ldr r3, [r4, #128] cmp r2, r3 @@ -5142,7 +5143,7 @@ FtlScanSysBlk: sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} .L704: - movw r1, #3428 + movw r1, #3436 ldrh r1, [r6, r1] cmp r1, #0 ldrne r1, [r6, #128] @@ -5162,18 +5163,18 @@ FtlScanSysBlk: ldr r2, [r5, #128] cmp r3, r2 bcs .L707 - ldr r1, [r5, #3348] + ldr r1, [r5, #3356] lsl r2, r3, #1 sub r0, r3, ip lsl r6, r0, #1 ldrh r7, [r1, r2] strh r7, [r1, r6] @ movhi - ldr r1, [r5, #3372] + ldr r1, [r5, #3380] ldr r6, [r1, r3, lsl #2] add r3, r3, #1 sxth r3, r3 str r6, [r1, r0, lsl #2] - ldr r1, [r5, #3348] + ldr r1, [r5, #3356] strh lr, [r1, r2] @ movhi b .L709 .L705: @@ -5202,7 +5203,7 @@ FtlScanSysBlk: lsl r6, r0, #1 ldrh r7, [r1, r2] strh r7, [r1, r6] @ movhi - ldr r1, [r5, #3360] + ldr r1, [r5, #3368] ldr r6, [r1, r3, lsl #2] add r3, r3, #1 sxth r3, r3 @@ -5215,7 +5216,7 @@ FtlScanSysBlk: .L742: .word .LANCHOR0 .word .LANCHOR0+60 - .word .LANCHOR0+3428 + .word .LANCHOR0+3436 .word .LANCHOR1+231 .word .LC1 .word .LANCHOR0+2576 @@ -5234,10 +5235,10 @@ FtlLoadBbt: sub fp, ip, #4 ldr r4, .L776 ldr r7, .L776+4 - ldr r3, [r4, #3292] - ldr r6, [r4, #3324] - str r3, [r4, #3452] - str r6, [r4, #3456] + ldr r3, [r4, #3300] + ldr r6, [r4, #3332] + str r3, [r4, #3460] + str r6, [r4, #3464] bl FtlBbtMemInit ldrh r5, [r4, #98] sub r5, r5, #1 @@ -5251,20 +5252,20 @@ FtlLoadBbt: mov r2, #1 mov r1, r2 mov r0, r7 - str r3, [r4, #3448] + str r3, [r4, #3456] bl FlashReadPages - ldr r3, [r4, #3444] + ldr r3, [r4, #3452] cmn r3, #1 bne .L746 - ldr r3, [r4, #3448] + ldr r3, [r4, #3456] mov r2, #1 mov r1, r2 mov r0, r7 add r3, r3, #1 - str r3, [r4, #3448] + str r3, [r4, #3456] bl FlashReadPages .L746: - ldr r3, [r4, #3444] + ldr r3, [r4, #3452] cmn r3, #1 beq .L747 ldrh r2, [r6] @@ -5288,9 +5289,9 @@ FtlLoadBbt: mov r2, #1 mov r1, r2 ldr r0, .L776+4 - str r3, [r4, #3448] + str r3, [r4, #3456] bl FlashReadPages - ldr r3, [r4, #3444] + ldr r3, [r4, #3452] cmn r3, #1 beq .L752 ldrh r2, [r6] @@ -5356,11 +5357,11 @@ FtlLoadBbt: mov r1, r2 mov r0, r7 orr r3, r5, r3, lsl #10 - str r3, [r4, #3448] - ldr r3, [r4, #3292] - str r3, [r4, #3452] + str r3, [r4, #3456] + ldr r3, [r4, #3300] + str r3, [r4, #3460] bl FlashReadPages - ldr r3, [r4, #3444] + ldr r3, [r4, #3452] cmn r3, #1 beq .L755 ldrh r2, [r6] @@ -5373,7 +5374,7 @@ FtlLoadBbt: b .L754 .L761: ldrh r2, [r7] - ldr r1, [r4, #3452] + ldr r1, [r4, #3460] ldr r0, [r6, #4]! lsl r2, r2, #2 mla r1, r5, r2, r1 @@ -5387,11 +5388,11 @@ FtlLoadBbt: .align 2 .L776: .word .LANCHOR0 - .word .LANCHOR0+3444 + .word .LANCHOR0+3452 .word .LANCHOR1+245 .word .LC1 .word .LANCHOR0+176 - .word .LANCHOR0+3380 + .word .LANCHOR0+3388 .size FtlLoadBbt, .-FtlLoadBbt .align 2 .global FtlLoadSysInfo @@ -5407,14 +5408,14 @@ FtlLoadSysInfo: sub fp, ip, #4 ldr r4, .L799 mov r1, #0 - ldr r3, [r4, #3292] + ldr r3, [r4, #3300] add r6, r4, #2576 ldrh r2, [r4, #40] ldr r0, [r4, #2324] - str r3, [r4, #3452] - ldr r3, [r4, #3324] + str r3, [r4, #3460] + ldr r3, [r4, #3332] lsl r2, r2, #1 - str r3, [r4, #3456] + str r3, [r4, #3464] bl ftl_memset ldrh r0, [r6] movw r3, #65535 @@ -5451,17 +5452,17 @@ FtlLoadSysInfo: .L786: ldr r5, .L799+20 mov r2, #48 - ldr r1, [r4, #3452] + ldr r1, [r4, #3460] mov r0, r5 bl ftl_memcpy ldrh r2, [r4, #40] - ldr r1, [r4, #3452] + ldr r1, [r4, #3460] ldr r0, [r4, #2324] lsl r2, r2, #1 add r1, r1, #48 bl ftl_memcpy ldrh r1, [r4, #40] - ldr r3, [r4, #3452] + ldr r3, [r4, #3460] ldr r0, [r4, #24] lsr r2, r1, #3 add r1, r1, #24 @@ -5485,7 +5486,7 @@ FtlLoadSysInfo: ldr r6, [r4, #44] ldrh r0, [r4, #158] mul r3, r7, r3 - str r7, [r4, #3464] + str r7, [r4, #3472] ldrh r1, [r4, #32] sub r0, r6, r0 sub r0, r0, r7 @@ -5595,18 +5596,18 @@ FtlLoadSysInfo: mov r1, r2 mov r0, r7 orr r3, r5, r3, lsl #10 - str r3, [r4, #3448] - ldr r3, [r4, #3292] - str r3, [r4, #3452] + str r3, [r4, #3456] + ldr r3, [r4, #3300] + str r3, [r4, #3460] bl FlashReadPages - ldr r3, [r4, #3444] + ldr r3, [r4, #3452] cmn r3, #1 beq .L782 - ldr r3, [r4, #3292] + ldr r3, [r4, #3300] ldr r3, [r3] cmp r3, r8 bne .L782 - ldr r3, [r4, #3324] + ldr r3, [r4, #3332] ldrh r2, [r3] movw r3, #61604 cmp r2, r3 @@ -5619,7 +5620,7 @@ FtlLoadSysInfo: .align 2 .L799: .word .LANCHOR0 - .word .LANCHOR0+3444 + .word .LANCHOR0+3452 .word 1179929683 .word .LANCHOR1+256 .word .LC1 @@ -5733,7 +5734,7 @@ FlashProgPages: tst r1, #63 moveq r7, r1 beq .L811 - ldr r7, [r10, #3312] + ldr r7, [r10, #3320] cmp r1, r7 beq .L811 ldrh r2, [r10, #58] @@ -5770,19 +5771,19 @@ FlashProgPages: add r5, r5, #20 b .L802 .L821: - ldr r2, [r9, #3312] + ldr r2, [r9, #3320] mov r3, #0 mov r1, #1 sub r0, fp, #60 str r3, [r2] - ldr r2, [r9, #3320] + ldr r2, [r9, #3328] str r3, [r2] ldr r3, [r4, #4] ldr r2, [fp, #-84] str r3, [fp, #-56] - ldr r3, [r9, #3312] - str r3, [fp, #-52] ldr r3, [r9, #3320] + str r3, [fp, #-52] + ldr r3, [r9, #3328] str r3, [fp, #-48] bl FlashReadPages ldr r10, [fp, #-60] @@ -5797,7 +5798,7 @@ FlashProgPages: cmp r3, #0 beq .L819 ldr r2, [r3] - ldr r3, [r6, #3320] + ldr r3, [r6, #3328] ldr r3, [r3] cmp r2, r3 beq .L819 @@ -5811,7 +5812,7 @@ FlashProgPages: cmp r3, #0 beq .L820 ldr r2, [r3] - ldr r3, [r6, #3312] + ldr r3, [r6, #3320] ldr r3, [r3] cmp r2, r3 beq .L820 @@ -5860,7 +5861,7 @@ FtlLowFormatEraseBlock: mov r5, r9 mov r4, r9 mov r10, ip - str r7, [ip, #3276] + str r7, [ip, #3284] .L842: ldrh r1, [r10, #32] uxth r3, r9 @@ -5872,7 +5873,7 @@ FtlLowFormatEraseBlock: mov r9, #20 mov r2, r5 mov r1, #0 - ldr r0, [r10, #3260] + ldr r0, [r10, #3268] bl FlashEraseBlocks .L849: uxth r3, r8 @@ -5903,7 +5904,7 @@ FtlLowFormatEraseBlock: mov r3, #1 ldr r2, [fp, #-48] mov r1, r5 - ldr r0, [r10, #3260] + ldr r0, [r10, #3268] bl FlashProgPages .L858: uxth r3, r9 @@ -5931,7 +5932,7 @@ FtlLowFormatEraseBlock: beq .L841 mov r2, r5 ldr r1, [fp, #-48] - ldr r0, [r10, #3260] + ldr r0, [r10, #3268] bl FlashEraseBlocks .L841: mov r0, r4 @@ -5940,7 +5941,7 @@ FtlLowFormatEraseBlock: .L846: uxth r3, r9 mov r2, #20 - ldr r0, [r10, #3260] + ldr r0, [r10, #3268] mul r1, r2, r3 mov r2, #0 add r3, r10, r3 @@ -5961,11 +5962,11 @@ FtlLowFormatEraseBlock: addne r4, r4, #1 uxthne r4, r4 bne .L844 - ldr r1, [r10, #3260] + ldr r1, [r10, #3268] mov r3, #20 lsl r8, r8, #10 mla r1, r3, r5, r1 - ldr r3, [r10, #3308] + ldr r3, [r10, #3316] str r3, [r1, #8] ldrh r3, [r10, #112] str r8, [r1, #4] @@ -5975,7 +5976,7 @@ FtlLowFormatEraseBlock: add r0, r3, #3 cmp r3, #0 movlt r3, r0 - ldr r0, [r10, #3328] + ldr r0, [r10, #3336] bic r3, r3, #3 add r3, r0, r3 str r3, [r1, #12] @@ -5984,7 +5985,7 @@ FtlLowFormatEraseBlock: b .L842 .L851: mul r3, r9, r8 - ldr r2, [r10, #3260] + ldr r2, [r10, #3268] add r1, r2, r3 ldr r3, [r2, r3] cmn r3, #1 @@ -6000,7 +6001,7 @@ FtlLowFormatEraseBlock: .L856: uxth r3, r8 mov r2, #20 - ldr r0, [r10, #3260] + ldr r0, [r10, #3268] mul r1, r2, r3 mov r2, #0 add r3, r10, r3 @@ -6019,12 +6020,12 @@ FtlLowFormatEraseBlock: bl FtlBbmIsBadBlock cmp r0, #0 bne .L855 - ldr r1, [r10, #3260] + ldr r1, [r10, #3268] mov r3, #20 mla r1, r3, r5, r1 ldr r3, [fp, #-44] add r9, r3, r9, lsl #10 - ldr r3, [r10, #3304] + ldr r3, [r10, #3312] str r9, [r1, #4] str r3, [r1, #8] ldrh r3, [r10, #112] @@ -6034,7 +6035,7 @@ FtlLowFormatEraseBlock: add r0, r3, #3 cmp r3, #0 movlt r3, r0 - ldr r0, [r10, #3308] + ldr r0, [r10, #3316] bic r3, r3, #3 add r3, r0, r3 str r3, [r1, #12] @@ -6043,7 +6044,7 @@ FtlLowFormatEraseBlock: b .L853 .L860: mov r3, #20 - ldr r2, [r10, #3260] + ldr r2, [r10, #3268] mul r3, r3, r9 add r1, r2, r3 ldr r3, [r2, r3] @@ -6061,7 +6062,7 @@ FtlLowFormatEraseBlock: cmp r6, #0 beq .L863 mul r3, r9, r8 - ldr r2, [r10, #3260] + ldr r2, [r10, #3268] add r1, r2, r3 ldr r3, [r2, r3] cmp r3, #0 @@ -6127,11 +6128,11 @@ Ftl_write_map_blk_to_last_page: ldrh r3, [r0, #2] ldr r5, .L895+8 orr r3, r3, r7, lsl #10 - str r3, [r5, #3448] - ldr r3, [r5, #3292] - str r3, [r5, #3452] - ldr r3, [r5, #3324] str r3, [r5, #3456] + ldr r3, [r5, #3300] + str r3, [r5, #3460] + ldr r3, [r5, #3332] + str r3, [r5, #3464] str r2, [r3, #4] ldr r2, .L895+12 strh r2, [r3, #8] @ movhi @@ -6139,7 +6140,7 @@ Ftl_write_map_blk_to_last_page: strh r7, [r3, #2] @ movhi strh r2, [r3] @ movhi ldrh r2, [r5, #104] - ldr r0, [r5, #3292] + ldr r0, [r5, #3300] lsl r2, r2, #3 bl ftl_memset mov r2, #0 @@ -6165,12 +6166,12 @@ Ftl_write_map_blk_to_last_page: ldr r0, [r6, r1, lsl #2] cmp r7, r0, lsr #10 bne .L890 - ldr r0, [r5, #3292] + ldr r0, [r5, #3300] add r3, r3, #1 uxth r3, r3 str r1, [r0, r3, lsl #3] ldr r0, [r6, r1, lsl #2] - ldr r1, [r5, #3292] + ldr r1, [r5, #3300] add r1, r1, r3, lsl #3 str r0, [r1, #4] .L890: @@ -6183,7 +6184,7 @@ Ftl_write_map_blk_to_last_page: .word .LC1 .word .LANCHOR0 .word -1291 - .word .LANCHOR0+3444 + .word .LANCHOR0+3452 .size Ftl_write_map_blk_to_last_page, .-Ftl_write_map_blk_to_last_page .align 2 .global FtlMapWritePage @@ -6243,16 +6244,16 @@ FtlMapWritePage: ldrh r3, [r4] mov r1, #16 ldr r2, [r4, #12] - ldr r0, [r5, #3324] + ldr r0, [r5, #3332] lsl r3, r3, #1 ldrh r10, [r2, r3] ldrh r3, [r4, #2] - str r0, [r5, #3456] - str r9, [r5, #3452] + str r0, [r5, #3464] + str r9, [r5, #3460] orr r3, r3, r10, lsl #10 - str r3, [r5, #3448] + str r3, [r5, #3456] bl __memzero - ldr r3, [r5, #3456] + ldr r3, [r5, #3464] ldr r2, [r4, #28] ldr r0, .L915+12 strh r8, [r3, #8] @ movhi @@ -6268,10 +6269,10 @@ FtlMapWritePage: add r3, r3, #1 uxth r3, r3 strh r3, [r4, #2] @ movhi - ldr r2, [r5, #3444] + ldr r2, [r5, #3452] cmn r2, #1 bne .L903 - ldr r1, [r5, #3448] + ldr r1, [r5, #3456] add r6, r6, #1 ldr r0, .L915+16 uxth r6, r6 @@ -6284,7 +6285,7 @@ FtlMapWritePage: cmp r6, #3 bls .L905 mov r2, r6 - ldr r1, [r5, #3448] + ldr r1, [r5, #3456] ldr r0, .L915+20 bl sftl_printk .L906: @@ -6307,7 +6308,7 @@ FtlMapWritePage: str r3, [r4, #36] b .L898 .L910: - ldr r2, [r5, #3448] + ldr r2, [r5, #3456] ldr r3, [r4, #24] str r2, [r3, r8, lsl #2] ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} @@ -6317,7 +6318,7 @@ FtlMapWritePage: .word .LANCHOR0 .word .LANCHOR1+317 .word .LC1 - .word .LANCHOR0+3444 + .word .LANCHOR0+3452 .word .LC89 .word .LC90 .size FtlMapWritePage, .-FtlMapWritePage @@ -6344,7 +6345,7 @@ load_l2p_region: ldr r0, .L924+8 bl sftl_printk .L918: - ldr r3, [r4, #3368] + ldr r3, [r4, #3376] mov r5, #12 ldr r7, [r3, r6, lsl #2] cmp r7, #0 @@ -6370,14 +6371,14 @@ load_l2p_region: mov r2, #1 ldr r0, .L924+12 mov r1, r2 - str r7, [r4, #3448] + str r7, [r4, #3456] add r3, r3, r5 ldr r3, [r3, #8] - str r3, [r4, #3452] - ldr r3, [r4, #3324] - str r3, [r4, #3456] + str r3, [r4, #3460] + ldr r3, [r4, #3332] + str r3, [r4, #3464] bl FlashReadPages - ldr r8, [r4, #3456] + ldr r8, [r4, #3464] ldrh r3, [r8, #8] cmp r3, r6 beq .L921 @@ -6386,13 +6387,13 @@ load_l2p_region: ldr r0, .L924+16 bl sftl_printk mov r3, #4 - ldr r1, [r4, #3456] + ldr r1, [r4, #3464] mov r2, r3 ldr r0, .L924+20 bl rknand_print_hex ldrh r3, [r4, #136] mov r2, #4 - ldr r1, [r4, #3368] + ldr r1, [r4, #3376] ldr r0, .L924+24 bl rknand_print_hex .L922: @@ -6411,7 +6412,7 @@ load_l2p_region: strh r6, [r3, r5] @ movhi b .L920 .L921: - ldr r3, [r4, #3444] + ldr r3, [r4, #3452] cmp r3, #256 bne .L922 mov r2, r7 @@ -6431,12 +6432,12 @@ load_l2p_region: .word .LANCHOR0 .word .LANCHOR1+333 .word .LC1 - .word .LANCHOR0+3444 + .word .LANCHOR0+3452 .word .LC91 .word .LC92 .word .LC93 .word .LC94 - .word .LANCHOR0+3384 + .word .LANCHOR0+3392 .size load_l2p_region, .-load_l2p_region .align 2 .global ftl_map_blk_gc @@ -6511,14 +6512,14 @@ ftl_map_blk_gc: ldr r3, [r9, r7, lsl #2] cmp r8, r3, lsr #10 bne .L930 - ldr r3, [r5, #3296] + ldr r3, [r5, #3304] ldr r0, .L942+4 - str r3, [r5, #3452] - ldr r3, [r5, #3324] - str r3, [r5, #3456] + str r3, [r5, #3460] + ldr r3, [r5, #3332] + str r3, [r5, #3464] ldr r2, [r9, r7, lsl #2] str r3, [fp, #-48] - str r2, [r5, #3448] + str r2, [r5, #3456] mov r2, #1 mov r1, r2 bl FlashReadPages @@ -6532,7 +6533,7 @@ ftl_map_blk_gc: bl sftl_printk ldr r3, [fp, #-48] .L931: - ldr r2, [r5, #3444] + ldr r2, [r5, #3452] cmn r2, #1 bne .L932 .L934: @@ -6549,7 +6550,7 @@ ftl_map_blk_gc: ldrh r3, [r4, #4] cmp r2, r3 bne .L934 - ldr r2, [r5, #3452] + ldr r2, [r5, #3460] mov r1, r7 mov r0, r4 bl FtlMapWritePage @@ -6560,7 +6561,7 @@ ftl_map_blk_gc: .align 2 .L942: .word .LANCHOR0 - .word .LANCHOR0+3444 + .word .LANCHOR0+3452 .word .LANCHOR1+349 .word .LC1 .size ftl_map_blk_gc, .-ftl_map_blk_gc @@ -6595,12 +6596,12 @@ FtlMapTblRecovery: ldr r3, [fp, #-48] lsl r2, r3, #2 bl ftl_memset - ldr r3, [r6, #3292] + ldr r3, [r6, #3300] mvn r2, #0 - ldr r9, [r6, #3324] + ldr r9, [r6, #3332] str r7, [r4, #32] - str r3, [r6, #3452] - str r9, [r6, #3456] + str r3, [r6, #3460] + str r9, [r6, #3464] strh r2, [r4] @ movhi strh r2, [r4, #2] @ movhi mov r2, #1 @@ -6658,11 +6659,11 @@ FtlMapTblRecovery: mov r0, ip str ip, [fp, #-52] orr r2, r2, r1, lsl #10 - str r2, [r6, #3448] + str r2, [r6, #3456] mov r2, #1 mov r1, r2 bl FlashReadPages - ldr r2, [r6, #3444] + ldr r2, [r6, #3452] ldr ip, [fp, #-52] cmn r2, #1 beq .L948 @@ -6673,27 +6674,27 @@ FtlMapTblRecovery: ldrh r1, [r4, #4] ldrh r0, [r9] cmp r0, r1 - ldreq r1, [r6, #3448] + ldreq r1, [r6, #3456] ldreq r3, [fp, #-44] streq r1, [r3, r2, lsl #2] .L948: add r8, r8, #1 b .L947 .L946: - ldr r2, [r5, #3292] + ldr r2, [r5, #3300] add r3, r8, r0 str r3, [fp, #-60] - str r2, [r5, #3452] + str r2, [r5, #3460] ldrh r2, [r5, #104] ldrh r1, [r8, r0] ldr r0, .L971+4 sub r2, r2, #1 orr r2, r2, r1, lsl #10 - str r2, [r5, #3448] + str r2, [r5, #3456] mov r2, #1 mov r1, r2 bl FlashReadPages - ldr r2, [r5, #3444] + ldr r2, [r5, #3452] cmn r2, #1 beq .L964 ldrh r1, [r9] @@ -6715,11 +6716,11 @@ FtlMapTblRecovery: ldr r0, .L971+4 ldrh r1, [r3] orr r2, r2, r1, lsl #10 - str r2, [r5, #3448] + str r2, [r5, #3456] mov r2, #1 mov r1, r2 bl FlashReadPages - ldr r2, [r5, #3444] + ldr r2, [r5, #3452] cmn r2, #1 beq .L958 ldrh r2, [r9, #8] @@ -6729,7 +6730,7 @@ FtlMapTblRecovery: ldrh r1, [r4, #4] ldrh r0, [r9] cmp r0, r1 - ldreq r1, [r5, #3448] + ldreq r1, [r5, #3456] ldreq r3, [fp, #-44] streq r1, [r3, r2, lsl #2] .L958: @@ -6748,7 +6749,7 @@ FtlMapTblRecovery: add r7, r7, #1 b .L945 .L957: - ldr ip, [r5, #3292] + ldr ip, [r5, #3300] add r0, r0, #1 ldr r3, [fp, #-48] ldr r1, [ip, r2, lsl #3] @@ -6764,7 +6765,7 @@ FtlMapTblRecovery: .align 2 .L971: .word .LANCHOR0 - .word .LANCHOR0+3444 + .word .LANCHOR0+3452 .size FtlMapTblRecovery, .-FtlMapTblRecovery .align 2 .global FtlLoadVonderInfo @@ -6780,8 +6781,8 @@ FtlLoadVonderInfo: sub fp, ip, #4 ldr r3, .L974 ldrh r2, [r3, #120] - add r0, r3, #3456 - add r0, r0, #12 + add r0, r3, #3472 + add r0, r0, #4 strh r2, [r0, #10] @ movhi ldr r2, .L974+4 strh r2, [r0, #4] @ movhi @@ -6790,13 +6791,13 @@ FtlLoadVonderInfo: ldrh r2, [r3, #122] strh r2, [r0, #6] @ movhi ldr r2, [r3, #148] - str r2, [r3, #3480] - ldr r2, [r3, #3360] - str r2, [r3, #3484] - ldr r2, [r3, #3356] str r2, [r3, #3488] - ldr r2, [r3, #3364] + ldr r2, [r3, #3368] str r2, [r3, #3492] + ldr r2, [r3, #3364] + str r2, [r3, #3496] + ldr r2, [r3, #3372] + str r2, [r3, #3500] bl FtlMapTblRecovery mov r0, #0 ldmfd sp, {fp, sp, pc} @@ -6826,7 +6827,7 @@ FtlLoadMapInfo: .L978: .align 2 .L977: - .word .LANCHOR0+3384 + .word .LANCHOR0+3392 .size FtlLoadMapInfo, .-FtlLoadMapInfo .align 2 .global flush_l2p_region @@ -6845,8 +6846,7 @@ flush_l2p_region: mov r4, #12 mul r4, r4, r0 ldr r3, [r5, #2492] - add r0, r5, #3376 - add r0, r0, #8 + add r0, r5, #3392 add r2, r3, r4 ldrh r1, [r3, r4] ldr r2, [r2, #8] @@ -7231,18 +7231,18 @@ ftl_scan_all_data: ldr r3, [fp, #-32] cmn r3, #1 beq .L1039 - str r3, [r4, #3448] + str r3, [r4, #3456] mov r2, #0 - ldr r3, [r4, #3292] + ldr r3, [r4, #3300] mov r1, #1 - ldr r7, [r4, #3324] + ldr r7, [r4, #3332] ldr r0, .L1043+12 - str r3, [r4, #3452] - str r5, [r4, #3460] - str r7, [r4, #3456] - str r2, [r4, #3444] + str r3, [r4, #3460] + str r5, [r4, #3468] + str r7, [r4, #3464] + str r2, [r4, #3452] bl FlashReadPages - ldr r3, [r4, #3444] + ldr r3, [r4, #3452] cmn r3, #1 cmpne r3, #256 beq .L1040 @@ -7250,8 +7250,8 @@ ftl_scan_all_data: cmp r5, r3 beq .L1039 .L1040: - ldr r2, [r4, #3452] - ldr r3, [r4, #3456] + ldr r2, [r4, #3460] + ldr r3, [r4, #3464] ldr r0, .L1043+16 ldr r1, [r2, #4] str r1, [sp, #16] @@ -7265,7 +7265,7 @@ ftl_scan_all_data: ldr r2, [r3, #4] str r2, [sp] ldr r3, [r3] - ldr r2, [r4, #3448] + ldr r2, [r4, #3456] bl sftl_printk .L1039: add r5, r5, #1 @@ -7276,7 +7276,7 @@ ftl_scan_all_data: .word .LANCHOR0 .word .LC98 .word .LC99 - .word .LANCHOR0+3444 + .word .LANCHOR0+3452 .word .LC100 .size ftl_scan_all_data, .-ftl_scan_all_data .align 2 @@ -7325,7 +7325,7 @@ FtlGcScanTempBlk: .L1067: ldrh r3, [r4, #32] mov r2, #0 - ldr r0, [r4, #3280] + ldr r0, [r4, #3288] add ip, r5, #16 ldrh lr, [r4, #112] mov r10, r2 @@ -7403,7 +7403,7 @@ FtlGcScanTempBlk: b .L1051 .L1065: mov r3, #20 - ldr r2, [r4, #3280] + ldr r2, [r4, #3288] mul ip, r3, r8 ldr r7, [r2, ip] add r3, r2, ip @@ -7460,17 +7460,17 @@ FtlGcScanTempBlk: .L1059: str r2, [fp, #-56] mov r1, #1 - ldr r2, [r4, #3308] + ldr r2, [r4, #3316] sub r0, fp, #60 str ip, [fp, #-80] str r3, [fp, #-76] str r2, [fp, #-52] - ldr r2, [r4, #3328] + ldr r2, [r4, #3336] str r2, [fp, #-48] mov r2, r7 bl FlashReadPages ldrh r1, [r4, #58] - ldr r2, [r4, #3280] + ldr r2, [r4, #3288] ldr ip, [fp, #-80] ldr r0, [fp, #-52] ldr r3, [fp, #-76] @@ -7554,7 +7554,7 @@ FtlReadRefresh: beq .L1082 str r3, [fp, #-88] sub r0, fp, #20 - ldr r3, [r4, #3316] + ldr r3, [r4, #3324] mov r1, #1 str r2, [fp, #-100] mov r2, #0 @@ -7638,21 +7638,21 @@ FtlMapBlkWriteDump_data: ldr r2, [r0, #24] sub r5, r5, #1 uxth r5, r5 - ldr r0, [r3, #3296] + ldr r0, [r3, #3304] mov r4, r3 - ldr r1, [r3, #3324] - str r0, [r3, #3452] - str r1, [r3, #3456] + ldr r1, [r3, #3332] + str r0, [r3, #3460] + str r1, [r3, #3464] ldr r2, [r2, r5, lsl #2] cmp r2, #0 - str r2, [r3, #3448] + str r2, [r3, #3456] beq .L1094 mov r2, #1 ldr r0, .L1099+4 mov r1, r2 bl FlashReadPages .L1095: - ldr r2, [r4, #3452] + ldr r2, [r4, #3460] mov r1, r5 mov r0, r6 bl FtlMapWritePage @@ -7666,7 +7666,7 @@ FtlMapBlkWriteDump_data: .align 2 .L1099: .word .LANCHOR0 - .word .LANCHOR0+3444 + .word .LANCHOR0+3452 .size FtlMapBlkWriteDump_data, .-FtlMapBlkWriteDump_data .align 2 .global FlashTestBlk @@ -7691,7 +7691,7 @@ FlashTestBlk: mov r1, #165 str r0, [fp, #-92] lsl r4, r4, #10 - ldr r5, [r3, #3316] + ldr r5, [r3, #3324] str r5, [fp, #-96] bl memset ldr r3, .L1104+4 @@ -7742,18 +7742,18 @@ FtlBbmTblFlush: ldr r4, .L1115 mov r1, #0 ldr r7, .L1115+4 - ldr r0, [r4, #3292] + ldr r0, [r4, #3300] add r6, r4, #176 - ldr r3, [r4, #3324] + ldr r3, [r4, #3332] ldrh r2, [r4, #110] - str r0, [r4, #3452] - str r3, [r4, #3456] + str r0, [r4, #3460] + str r3, [r4, #3464] bl ftl_memset .L1107: ldrh r3, [r4, #54] cmp r5, r3 blt .L1108 - ldr r5, [r4, #3456] + ldr r5, [r4, #3464] mov r2, #16 mov r1, #255 ldr r8, .L1115+8 @@ -7774,17 +7774,17 @@ FtlBbmTblFlush: ldr r3, [r4, #28] strh r3, [r5, #12] @ movhi .L1109: - ldr r3, [r4, #3292] + ldr r3, [r4, #3300] mov r9, #0 ldrh r2, [r4, #154] ldrh r1, [r4, #152] - str r3, [r4, #3452] - ldr r3, [r4, #3324] - str r9, [r4, #3444] - str r3, [r4, #3456] + str r3, [r4, #3460] + ldr r3, [r4, #3332] + str r9, [r4, #3452] + str r3, [r4, #3464] orr r3, r2, r1, lsl #10 ldrh r0, [r5, #10] - str r3, [r4, #3448] + str r3, [r4, #3456] ldrh r3, [r4, #156] str r0, [sp] mov r0, r8 @@ -7796,7 +7796,7 @@ FtlBbmTblFlush: blt .L1110 ldr r3, [r4, #160] ldrh r2, [r4, #152] - ldr r0, [r4, #3260] + ldr r0, [r4, #3268] add r3, r3, #1 strh r9, [r4, #154] @ movhi str r3, [r4, #160] @@ -7808,7 +7808,7 @@ FtlBbmTblFlush: strh r3, [r4, #152] @ movhi mov r1, r2 lsl r3, r3, #10 - str r3, [r4, #3448] + str r3, [r4, #3456] str r3, [r0, #4] bl FlashEraseBlocks .L1110: @@ -7820,25 +7820,25 @@ FtlBbmTblFlush: ldrh r3, [r4, #154] add r3, r3, #1 strh r3, [r4, #154] @ movhi - ldr r3, [r4, #3444] + ldr r3, [r4, #3452] cmn r3, #1 bne .L1111 add r6, r6, #1 - ldr r1, [r4, #3448] + ldr r1, [r4, #3456] uxth r6, r6 ldr r0, .L1115+20 bl sftl_printk cmp r6, #3 bls .L1109 mov r2, r6 - ldr r1, [r4, #3448] + ldr r1, [r4, #3456] ldr r0, .L1115+24 bl sftl_printk .L1113: b .L1113 .L1108: ldrh r2, [r7] - ldr r3, [r4, #3452] + ldr r3, [r4, #3460] ldr r1, [r6, #4]! mul r0, r2, r5 lsl r2, r2, #2 @@ -7858,10 +7858,10 @@ FtlBbmTblFlush: .align 2 .L1115: .word .LANCHOR0 - .word .LANCHOR0+3380 + .word .LANCHOR0+3388 .word .LC102 .word -3887 - .word .LANCHOR0+3444 + .word .LANCHOR0+3452 .word .LC103 .word .LC104 .size FtlBbmTblFlush, .-FtlBbmTblFlush @@ -7968,7 +7968,7 @@ allocate_data_superblock: ldr r0, .L1153+12 bl sftl_printk .L1125: - ldr r0, [r10, #3260] + ldr r0, [r10, #3268] mov r1, #20 ldrh lr, [r10, #32] add ip, r4, #16 @@ -8023,9 +8023,9 @@ allocate_data_superblock: ldr r2, [r10, #2552] mla r0, ip, r0, r2 bl __udivsi3 - ldr r1, [r10, #3340] + ldr r1, [r10, #3348] str r0, [r10, #2556] - ldr r0, [r10, #3260] + ldr r0, [r10, #3268] ldr r2, [r1, #16] ldr ip, .L1153+32 add r2, r2, #1 @@ -8040,7 +8040,7 @@ allocate_data_superblock: bne .L1137 ldrb r1, [r4, #8] @ zero_extendqisi2 mov r2, r5 - ldr r0, [r10, #3260] + ldr r0, [r10, #3268] mov r8, #0 bl FlashEraseBlocks mov r1, r8 @@ -8092,7 +8092,7 @@ allocate_data_superblock: b .L1136 .L1140: mul r2, ip, r8 - ldr lr, [r10, #3260] + ldr lr, [r10, #3268] add r0, lr, r2 ldr r2, [lr, r2] cmn r2, #1 @@ -8375,7 +8375,7 @@ decrement_vpc_count: bl sftl_printk b .L1181 .L1182: - movw r7, #3430 + movw r7, #3438 movw r3, #65535 ldrh r0, [r4, r7] cmp r0, r3 @@ -8465,7 +8465,7 @@ FtlRecoverySuperblock: beq .L1201 ldrh r3, [r5, #32] mov r2, #0 - ldr r0, [r5, #3280] + ldr r0, [r5, #3288] movw r7, #65535 ldr lr, [r5, #3176] mov r8, #20 @@ -8491,7 +8491,7 @@ FtlRecoverySuperblock: bl FlashReadPages ldr r3, [r6, #2544] uxth r2, r4 - ldr r9, [r6, #3280] + ldr r9, [r6, #3288] str r2, [fp, #-60] sub r3, r3, #1 str r3, [fp, #-56] @@ -8533,12 +8533,12 @@ FtlRecoverySuperblock: cmp r3, #0 bne .L1217 .L1216: - ldr r3, [r6, #3440] + ldr r3, [r6, #3448] uxth r7, r4 uxth r4, r4 cmn r3, #1 ldreq r3, [fp, #-56] - streq r3, [r6, #3440] + streq r3, [r6, #3448] ldr r3, [fp, #-64] ldr r6, .L1322 add r3, r3, #7 @@ -8551,7 +8551,7 @@ FtlRecoverySuperblock: bhi .L1227 mov r3, #0 ldrh r8, [r6, #32] - ldr r0, [r6, #3280] + ldr r0, [r6, #3288] mov r5, r3 ldr r1, [fp, #-76] movw lr, #65535 @@ -8657,7 +8657,7 @@ FtlRecoverySuperblock: mov r1, r5 mov r2, #0 bl FlashReadPages - ldr r3, [r6, #3280] + ldr r3, [r6, #3288] mov r2, #20 movw r1, #65535 mla r5, r2, r5, r3 @@ -8676,24 +8676,23 @@ FtlRecoverySuperblock: beq .L1225 ldr r2, [r2, #4] cmn r2, #1 - strne r2, [r6, #3440] + strne r2, [r6, #3448] .L1225: add r3, r3, #20 b .L1223 .L1227: mvn r3, #0 - str r3, [r6, #3440] + str r3, [r6, #3448] .L1217: - ldr r1, .L1322 - mov r2, #1 + ldr r4, .L1322+12 + mov r3, #1 ldr r8, [fp, #-64] - movw r3, #3512 - mov r4, r1 - strh r2, [r1, r3] @ movhi + strh r3, [r4] @ movhi + sub r4, r4, #3520 .L1229: ldrh ip, [r4, #32] mov r3, #0 - ldr r0, [r4, #3280] + ldr r0, [r4, #3288] mov r9, r3 ldr r1, [fp, #-76] movw lr, #65535 @@ -8746,7 +8745,7 @@ FtlRecoverySuperblock: .L1259: ldr r3, [fp, #-72] mov r6, #20 - ldr r2, [r4, #3280] + ldr r2, [r4, #3288] mul r6, r6, r3 str r2, [fp, #-84] add r7, r2, r6 @@ -8808,7 +8807,7 @@ FtlRecoverySuperblock: mov r0, r5 str r3, [fp, #-52] bl log2phys - ldr r1, [r4, #3440] + ldr r1, [r4, #3448] cmn r1, #1 beq .L1240 ldr r0, [fp, #-56] @@ -8818,14 +8817,14 @@ FtlRecoverySuperblock: ldr r2, [fp, #-52] cmn r2, #1 beq .L1241 - ldr r0, [r4, #3280] + ldr r0, [r4, #3288] mov r1, #1 add r0, r0, r6 str r2, [r0, #4] mov r2, #0 ldr r7, [r0, #12] bl FlashReadPages - ldr r2, [r4, #3280] + ldr r2, [r4, #3288] ldr r1, [r2, r6] add r3, r2, r6 cmn r1, #1 @@ -8849,8 +8848,7 @@ FtlRecoverySuperblock: ldr r0, .L1322+8 bl sftl_printk .L1255: - ldr r3, .L1322 - ldr r2, [r3, #2324] + ldr r2, [r4, #2324] lsl r3, r5, #1 ldrh r3, [r2, r3] cmp r3, #0 @@ -8877,7 +8875,7 @@ FtlRecoverySuperblock: cmp r5, r1 bne .L1243 ldr r1, [r7, #4] - ldr r0, [r4, #3440] + ldr r0, [r4, #3448] str r1, [fp, #-84] bl ftl_cmp_data_ver cmp r0, #0 @@ -8905,12 +8903,12 @@ FtlRecoverySuperblock: ldr r7, [r3, #12] bl FlashReadPages .L1247: - ldr r2, [r4, #3280] + ldr r2, [r4, #3288] ldr r2, [r2, r6] cmn r2, #1 beq .L1248 ldr r3, [r7, #4] - ldr r0, [r4, #3440] + ldr r0, [r4, #3448] mov r1, r3 bl ftl_cmp_data_ver cmp r0, #0 @@ -8938,7 +8936,7 @@ FtlRecoverySuperblock: beq .L1263 ubfx r0, r6, #10, #16 bl P2V_block_in_plane - ldr r3, .L1322+12 + ldr r3, .L1322+16 ldrh r2, [r3] cmp r2, r0 beq .L1254 @@ -8949,13 +8947,13 @@ FtlRecoverySuperblock: cmp r3, r0 bne .L1250 .L1254: - ldr r0, [r4, #3280] + ldr r0, [r4, #3288] mov r2, #0 mov r1, #1 str r6, [r0, #4] ldr r7, [r0, #12] bl FlashReadPages - ldr r3, [r4, #3280] + ldr r3, [r4, #3288] ldr r3, [r3] cmn r3, #1 beq .L1250 @@ -8971,19 +8969,19 @@ FtlRecoverySuperblock: b .L1250 .L1256: mov r1, r5 - ldr r0, .L1322+16 + ldr r0, .L1322+20 bl sftl_printk b .L1234 .L1236: - ldr r3, [r4, #3516] + ldr r3, [r4, #3524] cmp r3, #31 addls r2, r4, r3, lsl #2 addls r3, r3, #1 - strls r3, [r4, #3516] - strls r5, [r2, #3520] + strls r3, [r4, #3524] + strls r5, [r2, #3528] ldrh r0, [r10] bl decrement_vpc_count - ldr r3, [r4, #3440] + ldr r3, [r4, #3448] cmn r3, #1 ldreq r3, [fp, #-56] beq .L1318 @@ -8992,7 +8990,7 @@ FtlRecoverySuperblock: bcs .L1234 mov r3, r2 .L1318: - str r3, [r4, #3440] + str r3, [r4, #3448] b .L1234 .L1235: ldrb r3, [fp, #-68] @ zero_extendqisi2 @@ -9011,6 +9009,7 @@ FtlRecoverySuperblock: .word .LANCHOR0 .word .LANCHOR1+464 .word .LC1 + .word .LANCHOR0+3520 .word .LANCHOR0+2348 .word .LC107 .size FtlRecoverySuperblock, .-FtlRecoverySuperblock @@ -9051,8 +9050,8 @@ FtlWriteDump_data: mov r0, r7 bl log2phys ldr r3, [fp, #-64] - ldr r5, [r4, #3324] - ldr r0, [r4, #3292] + ldr r5, [r4, #3332] + ldr r0, [r4, #3300] cmn r3, #1 str r3, [fp, #-56] str r7, [fp, #-44] @@ -9183,9 +9182,9 @@ FtlSuperblockPowerLostFix: ldr r3, .L1363 movw r1, #61589 mov r4, r0 - ldr r2, [r3, #3292] + ldr r2, [r3, #3300] mov r8, r3 - ldr r5, [r3, #3324] + ldr r5, [r3, #3332] str r2, [fp, #-44] mvn r2, #2 str r5, [fp, #-40] @@ -9195,10 +9194,10 @@ FtlSuperblockPowerLostFix: ldrh r2, [r0] strh r6, [r5] @ movhi strh r2, [r5, #2] @ movhi - ldr r2, [r3, #3292] + ldr r2, [r3, #3300] str r1, [r2] ldr r1, .L1363+4 - ldr r2, [r3, #3292] + ldr r2, [r3, #3300] str r1, [r2, #4] ldrh r2, [r0, #4] tst r2, #1 @@ -9285,7 +9284,7 @@ FtlVendorPartWrite: sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} .L1372: - ldr r3, [r4, #3364] + ldr r3, [r4, #3372] mov r0, r7 ldrh r2, [r4, #58] ldr ip, [r3, r10] @@ -9305,7 +9304,7 @@ FtlVendorPartWrite: movne r1, #1 moveq r1, #0 beq .L1369 - ldr r2, [r4, #3300] + ldr r2, [r4, #3308] sub r0, fp, #124 str ip, [fp, #-120] str r2, [fp, #-116] @@ -9317,7 +9316,7 @@ FtlVendorPartWrite: .L1370: ldr r3, [fp, #-132] lsl ip, r9, #9 - ldr r0, [r4, #3300] + ldr r0, [r4, #3308] sub r5, r5, r9 mov r2, ip ldr r1, [fp, #-128] @@ -9327,7 +9326,7 @@ FtlVendorPartWrite: add r0, r0, r3, lsl #9 bl ftl_memcpy mov r1, r6 - ldr r2, [r4, #3300] + ldr r2, [r4, #3308] ldr r0, .L1374+4 add r6, r6, #1 bl FtlMapWritePage @@ -9340,14 +9339,14 @@ FtlVendorPartWrite: b .L1367 .L1369: ldrh r2, [r4, #110] - ldr r0, [r4, #3300] + ldr r0, [r4, #3308] bl ftl_memset b .L1370 .L1375: .align 2 .L1374: .word .LANCHOR0 - .word .LANCHOR0+3468 + .word .LANCHOR0+3476 .size FtlVendorPartWrite, .-FtlVendorPartWrite .align 2 .global Ftl_save_ext_data @@ -9417,32 +9416,32 @@ FtlEctTblFlush: mov ip, sp push {fp, ip, lr, pc} sub fp, ip, #4 - ldr r2, .L1385 - ldrh r3, [r2] - cmp r3, #31 - addls r3, r3, #1 + ldr r3, .L1385 + movw r1, #3656 + ldrh r2, [r3, r1] + cmp r2, #31 + addls r2, r2, #1 movhi r2, #32 - strhls r3, [r2] @ movhi + strhls r2, [r3, r1] @ movhi movls r2, #1 cmp r0, #0 - ldr r3, .L1385+4 bne .L1382 - ldr r1, [r3, #3340] + ldr r1, [r3, #3348] ldr r0, [r1, #20] ldr r1, [r1, #16] add r2, r2, r0 cmp r1, r2 bcc .L1383 .L1382: - ldr r2, [r3, #3340] + ldr r2, [r3, #3348] mov r0, #64 ldr r1, [r2, #16] str r1, [r2, #20] - ldr r1, .L1385+8 + ldr r1, .L1385+4 str r1, [r2] - movw r1, #3332 + movw r1, #3340 ldrh r1, [r3, r1] - ldr r2, [r3, #3340] + ldr r2, [r3, #3348] lsl r3, r1, #9 str r3, [r2, #12] ldr r3, [r2, #8] @@ -9458,7 +9457,6 @@ FtlEctTblFlush: .L1386: .align 2 .L1385: - .word .LANCHOR0+3648 .word .LANCHOR0 .word 1112818501 .size FtlEctTblFlush, .-FtlEctTblFlush @@ -9500,7 +9498,7 @@ FtlVendorPartRead: .L1395: ldr r3, [fp, #-128] mov r0, r7 - ldr r2, [r10, #3364] + ldr r2, [r10, #3372] ldrh r4, [r10, #58] ldr ip, [r2, r3] mov r1, r4 @@ -9516,7 +9514,7 @@ FtlVendorPartRead: lsl r3, r4, #9 str r3, [fp, #-136] beq .L1391 - ldr r2, [r10, #3300] + ldr r2, [r10, #3308] sub r0, fp, #124 str ip, [fp, #-120] str ip, [fp, #-136] @@ -9529,7 +9527,7 @@ FtlVendorPartRead: ldr r2, [fp, #-124] ldr ip, [fp, #-136] cmn r2, #1 - ldr r2, [r10, #3444] + ldr r2, [r10, #3452] mvneq r8, #0 cmp r2, #256 bne .L1393 @@ -9537,12 +9535,12 @@ FtlVendorPartRead: mov r1, r5 ldr r0, .L1397+4 bl sftl_printk - ldr r2, [r10, #3300] + ldr r2, [r10, #3308] mov r1, r5 ldr r0, .L1397+8 bl FtlMapWritePage .L1393: - ldr r1, [r10, #3300] + ldr r1, [r10, #3308] lsl r2, r4, #9 ldr r3, [fp, #-132] mov r0, r9 @@ -9568,7 +9566,7 @@ FtlVendorPartRead: .L1397: .word .LANCHOR0 .word .LC108 - .word .LANCHOR0+3468 + .word .LANCHOR0+3476 .size FtlVendorPartRead, .-FtlVendorPartRead .align 2 .global FtlLoadEctTbl @@ -9583,12 +9581,12 @@ FtlLoadEctTbl: push {r4, r5, fp, ip, lr, pc} sub fp, ip, #4 ldr r4, .L1401 - movw r5, #3332 + movw r5, #3340 mov r0, #64 - ldr r2, [r4, #3340] + ldr r2, [r4, #3348] ldrh r1, [r4, r5] bl FtlVendorPartRead - ldr r3, [r4, #3340] + ldr r3, [r4, #3348] ldr r2, [r3] ldr r3, .L1401+4 cmp r2, r3 @@ -9598,7 +9596,7 @@ FtlLoadEctTbl: bl sftl_printk ldrh r2, [r4, r5] mov r1, #0 - ldr r0, [r4, #3340] + ldr r0, [r4, #3348] lsl r2, r2, #9 bl ftl_memset .L1400: @@ -9697,14 +9695,14 @@ FtlVpcTblFlush: mov r5, #0 mov r1, #255 ldr r10, .L1417+4 - ldr r3, [r4, #3292] + ldr r3, [r4, #3300] add r6, r4, #2576 - ldr r7, [r4, #3324] + ldr r7, [r4, #3332] sub r8, r6, #308 - add r9, r6, #868 - str r3, [r4, #3452] + add r9, r6, #876 + str r3, [r4, #3460] ldrh r3, [r6] - str r7, [r4, #3456] + str r7, [r4, #3464] str r5, [r7, #12] strh r3, [r7, #2] @ movhi ldr r3, .L1417+8 @@ -9743,7 +9741,7 @@ FtlVpcTblFlush: strh r3, [r8, #22] @ movhi ldrh r2, [r6, #-130] ldrb r3, [r4, #2450] @ zero_extendqisi2 - ldr r0, [r4, #3452] + ldr r0, [r4, #3460] orr r3, r3, r2, lsl #6 ldrh r2, [r4, #110] strh r3, [r8, #24] @ movhi @@ -9758,17 +9756,17 @@ FtlVpcTblFlush: bl ftl_memset mov r1, r8 mov r2, #48 - ldr r0, [r4, #3452] + ldr r0, [r4, #3460] movw r8, #65535 bl ftl_memcpy ldrh r2, [r4, #40] - ldr r0, [r4, #3452] + ldr r0, [r4, #3460] ldr r1, [r4, #2324] lsl r2, r2, #1 add r0, r0, #48 bl ftl_memcpy ldrh r0, [r4, #40] - ldr r3, [r4, #3452] + ldr r3, [r4, #3460] ldr r1, [r4, #24] lsr r2, r0, #3 add r0, r0, #24 @@ -9780,14 +9778,14 @@ FtlVpcTblFlush: mov r0, r5 bl FtlUpdateVaildLpn .L1409: - ldr r3, [r4, #3292] + ldr r3, [r4, #3300] ldrh r1, [r6, #2] ldrh r2, [r6] - str r3, [r4, #3452] - ldr r3, [r4, #3324] - str r3, [r4, #3456] + str r3, [r4, #3460] + ldr r3, [r4, #3332] + str r3, [r4, #3464] orr r3, r1, r2, lsl #10 - str r3, [r4, #3448] + str r3, [r4, #3456] ldrh r3, [r4, #104] sub r3, r3, #1 cmp r1, r3 @@ -9803,7 +9801,7 @@ FtlVpcTblFlush: str r3, [r4, #2584] str r2, [r4, #2540] lsl r2, r0, #10 - str r2, [r4, #3448] + str r2, [r4, #3456] str r3, [r7, #4] strh r0, [r7, #2] @ movhi .L1410: @@ -9813,7 +9811,7 @@ FtlVpcTblFlush: mov r1, r3 bl FlashProgPages ldrh r3, [r6, #2] - ldr r2, [r4, #3444] + ldr r2, [r4, #3452] add r3, r3, #1 uxth r3, r3 cmn r2, #1 @@ -9836,7 +9834,7 @@ FtlVpcTblFlush: cmp r5, #3 bls .L1409 mov r2, r5 - ldr r1, [r4, #3448] + ldr r1, [r4, #3456] ldr r0, .L1417+24 bl sftl_printk .L1415: @@ -9960,11 +9958,11 @@ sftl_discard: ldrh r3, [r4, #58] cmp r6, r3 bcs .L1430 - ldr r3, [r4, #3652] + ldr r3, [r4, #3660] cmp r3, #32 bls .L1431 mov r5, #0 - str r5, [r4, #3652] + str r5, [r4, #3660] bl l2p_flush bl FtlVpcTblFlush b .L1431 @@ -9976,12 +9974,12 @@ sftl_discard: ldr r3, [fp, #-40] cmn r3, #1 beq .L1429 - ldr r3, [r4, #3652] + ldr r3, [r4, #3660] mov r2, #1 sub r1, fp, #36 mov r0, r7 add r3, r3, #1 - str r3, [r4, #3652] + str r3, [r4, #3660] ldr r3, [r4, #2512] add r3, r3, #1 str r3, [r4, #2512] @@ -10020,7 +10018,7 @@ FtlVpcCheckAndModify: bl sftl_printk ldrh r2, [r4, #42] mov r1, #0 - ldr r0, [r4, #3344] + ldr r0, [r4, #3352] lsl r2, r2, #1 bl ftl_memset .L1442: @@ -10048,7 +10046,7 @@ FtlVpcCheckAndModify: beq .L1443 ubfx r0, r0, #10, #16 bl P2V_block_in_plane - ldr r2, [r4, #3344] + ldr r2, [r4, #3352] lsl r0, r0, #1 ldrh r3, [r2, r0] add r3, r3, #1 @@ -10062,7 +10060,7 @@ FtlVpcCheckAndModify: movw r1, #65535 lsl r5, r8, #1 ldrh r2, [r3, r5] - ldr r3, [r4, #3344] + ldr r3, [r4, #3352] ldrh r3, [r3, r5] cmp r2, r1 cmpne r2, r3 @@ -10083,7 +10081,7 @@ FtlVpcCheckAndModify: ldr r3, [r4, #2324] ldrh r2, [r3, r5] cmp r2, #0 - ldr r2, [r4, #3344] + ldr r2, [r4, #3352] ldrh r2, [r2, r5] strh r2, [r3, r5] @ movhi bne .L1449 @@ -10140,7 +10138,7 @@ allocate_new_data_superblock: .L1458: mov r3, #1 strb r3, [r6, #8] - movw r3, #3430 + movw r3, #3438 ldrh r0, [r4, r3] movw r3, #65535 cmp r0, r3 @@ -10156,7 +10154,7 @@ allocate_new_data_superblock: bl update_vpc_list .L1462: mvn r2, #0 - movw r3, #3430 + movw r3, #3438 strh r2, [r4, r3] @ movhi .L1460: mov r0, r6 @@ -10251,7 +10249,7 @@ FtlProgPages: ldrh r3, [r6, #32] cmp r2, r3 bcc .L1473 - movw r2, #958 + mov r2, #960 mov r1, r10 ldr r0, .L1482+8 bl sftl_printk @@ -10291,7 +10289,7 @@ FtlProgPages: ldrh r3, [r6, #32] cmp r2, r3 bcc .L1468 - movw r2, #973 + movw r2, #975 ldr r1, .L1482+4 ldr r0, .L1482+8 bl sftl_printk @@ -10328,7 +10326,7 @@ FtlGcFreeTempBlock: bne .L1485 .L1495: mov r3, #0 - str r3, [r4, #3436] + str r3, [r4, #3444] movw r3, #2444 ldrh r2, [r4, r3] movw r3, #65535 @@ -10362,7 +10360,7 @@ FtlGcFreeTempBlock: strh r3, [r2, r5] @ movhi bl FtlEctTblFlush .L1492: - ldr r3, [r4, #3436] + ldr r3, [r4, #3444] cmp r3, #0 bne .L1493 ldr r3, [r4, #2732] @@ -10374,7 +10372,7 @@ FtlGcFreeTempBlock: bl FtlBbmTblFlush .L1493: mov r3, #0 - str r3, [r4, #3436] + str r3, [r4, #3444] .L1504: mov r0, #1 ldmib sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} @@ -10534,12 +10532,12 @@ FtlGcPageRecovery: ldrh r3, [r4, #102] cmp r2, r3 ldmfdcc sp, {r4, r5, fp, sp, pc} - add r0, r5, #940 + add r0, r4, #3392 bl FtlMapBlkWriteDump_data mov r0, #0 bl FtlGcFreeTempBlock mov r3, #0 - str r3, [r4, #3436] + str r3, [r4, #3444] ldmfd sp, {r4, r5, fp, sp, pc} .L1515: .align 2 @@ -10562,7 +10560,7 @@ FtlPowerLostRecovery: ldr r4, .L1517 mov r6, #0 add r5, r4, #2336 - str r6, [r4, #3516] + str r6, [r4, #3524] add r5, r5, #12 add r4, r4, #2384 mov r0, r5 @@ -10602,14 +10600,14 @@ Ftl_gc_temp_data_write_back: mov r6, #20 mov r2, r3 ldr r1, [r4, #3164] - ldr r0, [r4, #3284] + ldr r0, [r4, #3292] bl FlashProgPages .L1520: ldr r1, [r4, #3164] uxth r3, r5 cmp r1, r3 bhi .L1523 - ldr r0, [r4, #3284] + ldr r0, [r4, #3292] bl FtlGcBufFree ldr r3, .L1526+4 mov r0, #0 @@ -10622,7 +10620,7 @@ Ftl_gc_temp_data_write_back: b .L1525 .L1523: mul r3, r6, r3 - ldr r2, [r4, #3284] + ldr r2, [r4, #3292] add r5, r5, #1 ldr r0, [r2, r3] add r1, r2, r3 @@ -10638,7 +10636,7 @@ Ftl_gc_temp_data_write_back: strh r0, [r4, r1] @ movhi add r2, r2, #1 str r2, [r4, #2732] - ldr r2, [r4, #3284] + ldr r2, [r4, #3292] add r3, r2, r3 ldr r0, [r3, #4] ubfx r0, r0, #10, #16 @@ -10722,10 +10720,10 @@ FtlSysBlkInit: push {r4, r5, r6, r7, r8, fp, ip, lr, pc} sub fp, ip, #4 ldr r4, .L1548 - mov r2, #0 - movw r3, #3512 + mov r3, #0 + add r7, r4, #3520 ldrh r0, [r4, #36] - strh r2, [r4, r3] @ movhi + strh r3, [r7] @ movhi bl FtlFreeSysBlkQueueInit bl FtlScanSysBlk add r3, r4, #2576 @@ -10812,8 +10810,7 @@ FtlSysBlkInit: add r3, r3, #1 b .L1537 .L1547: - movw r3, #3512 - ldrh r3, [r4, r3] + ldrh r3, [r7] cmp r3, #0 bne .L1539 .L1543: @@ -10861,10 +10858,10 @@ 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, .L1668 + ldr r3, .L1669 str r0, [fp, #-60] - ldr r0, [r3, #3264] - mov r4, r3 + ldr r0, [r3, #3272] + mov r6, r3 cmp r0, #0 movne r0, #0 bne .L1550 @@ -10872,7 +10869,7 @@ rk_ftl_garbage_collect: ldrh r2, [r2] cmp r2, #47 bls .L1550 - ldr r2, .L1668+4 + ldr r2, .L1669+4 ldrh r1, [r2, #4] movw r2, #65535 cmp r1, r2 @@ -10880,76 +10877,76 @@ rk_ftl_garbage_collect: .L1555: movw r3, #3204 movw r0, #65535 - ldrh r1, [r4, r3] + ldrh r1, [r6, r3] cmp r1, r0 bne .L1553 .L1554: bl FtlReadRefresh - ldr r3, [r4, #3152] - movw r5, #65535 + ldr r3, [r6, #3152] + movw r4, #65535 ldr r2, [fp, #-60] add r3, r3, #1 add r3, r3, r2, lsl #7 movw r2, #2588 - ldrh r2, [r4, r2] - str r3, [r4, #3152] - cmp r2, r5 + ldrh r2, [r6, r2] + str r3, [r6, #3152] + cmp r2, r4 bne .L1556 movw r1, #2444 - ldrh r5, [r4, r1] - cmp r5, r2 - movne r5, r2 + ldrh r4, [r6, r1] + cmp r4, r2 + movne r4, r2 bne .L1556 movw r2, #3202 - ldrh r6, [r4, r2] - cmp r6, r5 + ldrh r5, [r6, r2] + cmp r5, r4 bne .L1556 movw r9, #2344 - ldrh r2, [r4, r9] + ldrh r2, [r6, r9] cmp r2, #24 movcc r2, #5120 movcs r2, #1024 cmp r3, r2 - movls r5, r6 + movls r4, r5 bls .L1556 + ldr r3, .L1669+8 mov r8, #0 - movw r3, #3656 - str r8, [r4, #3152] - strh r8, [r4, r3] @ movhi + str r8, [r6, #3152] + strh r8, [r3] @ movhi bl GetSwlReplaceBlock - cmp r0, r6 - mov r5, r0 - movne r6, r0 + cmp r0, r5 + mov r4, r0 + movne r5, r0 bne .L1558 movw r7, #3150 - ldrh r2, [r4, r9] - ldrh r3, [r4, r7] + ldrh r2, [r6, r9] + ldrh r3, [r6, r7] cmp r2, r3 bcs .L1559 mov r0, #64 bl List_get_gc_head_node uxth r3, r0 - cmp r3, r5 + cmp r3, r4 beq .L1561 mov r0, r3 - ldr r3, [r4, #2324] + ldr r3, [r6, #2324] lsl r0, r0, #1 ldrh r3, [r3, r0] cmp r3, #7 bhi .L1562 mov r0, r8 bl List_get_gc_head_node - uxth r6, r0 + uxth r5, r0 mov r3, #128 - strh r3, [r4, r7] @ movhi - cmp r6, r5 + strh r3, [r6, r7] @ movhi + cmp r5, r4 bne .L1558 .L1561: bl FtlGcReFreshBadBlk .L1556: movw r1, #65535 ldr r2, [fp, #-60] - sub r3, r5, r1 + sub r3, r4, r1 clz r3, r3 lsr r3, r3, #5 cmp r2, #0 @@ -10958,39 +10955,39 @@ rk_ftl_garbage_collect: cmp r2, #0 beq .L1564 movw r3, #2344 - ldrh r3, [r4, r3] + ldrh r3, [r6, r3] cmp r3, #24 - movhi r6, #1 + movhi r5, #1 bhi .L1565 - ldrh r6, [r4, #102] + ldrh r5, [r6, #102] cmp r3, #16 - lsrhi r6, r6, #5 + lsrhi r5, r5, #5 bhi .L1565 cmp r3, #12 - lsrhi r6, r6, #4 + lsrhi r5, r5, #4 bhi .L1565 cmp r3, #8 - lsrhi r6, r6, #2 + lsrhi r5, r5, #2 .L1565: movw r2, #3148 - ldrh r1, [r4, r2] + ldrh r1, [r6, r2] cmp r1, r3 bcs .L1569 movw r3, #2444 movw r1, #65535 - ldrh r3, [r4, r3] + ldrh r3, [r6, r3] cmp r3, r1 bne .L1570 movw r1, #3202 - ldrh r1, [r4, r1] + ldrh r1, [r6, r1] cmp r1, r3 bne .L1570 - movw r3, #3656 - ldrh r0, [r4, r3] + ldr r3, .L1669+8 + ldrh r0, [r3] cmp r0, #0 bne .L1571 - ldr r3, [r4, #2504] - ldr r1, [r4, #2500] + ldr r3, [r6, #2504] + ldr r1, [r6, #2500] add r3, r3, r3, lsl #1 cmp r1, r3, lsr #2 movcs r3, #18 @@ -10998,13 +10995,13 @@ rk_ftl_garbage_collect: .L1571: movw r3, #2572 movw r2, #3148 - ldrh r3, [r4, r3] + ldrh r3, [r6, r3] add r3, r3, r3, lsl #1 asr r3, r3, #2 .L1663: - strh r3, [r4, r2] @ movhi + strh r3, [r6, r2] @ movhi mov r3, #0 - str r3, [r4, #3160] + str r3, [r6, #3160] .L1550: sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} @@ -11021,139 +11018,139 @@ rk_ftl_garbage_collect: b .L1550 .L1553: movw r2, #3202 - ldrh ip, [r4, r2] + ldrh ip, [r6, r2] cmp ip, r0 - strheq r1, [r4, r2] @ movhi + strheq r1, [r6, r2] @ movhi mvneq r2, #0 - strheq r2, [r4, r3] @ movhi + strheq r2, [r6, r3] @ movhi b .L1554 .L1562: mov r3, #64 .L1662: - strh r3, [r4, r7] @ movhi + strh r3, [r6, r7] @ movhi b .L1561 .L1559: mov r3, #80 b .L1662 .L1558: movw r0, #3148 - ldr r3, [r4, #2324] - ldrh r0, [r4, r0] - lsl r1, r6, #1 + ldr r3, [r6, #2324] + ldrh r0, [r6, r0] + lsl r1, r5, #1 movw r2, #2344 ldrh r3, [r3, r1] - mov r5, r6 - ldrh r2, [r4, r2] + mov r4, r5 + ldrh r2, [r6, r2] str r0, [sp, #4] - ldr r0, [r4, #2328] + ldr r0, [r6, #2328] ldrh r1, [r0, r1] - ldr r0, .L1668+8 + ldr r0, .L1669+12 str r1, [sp] - mov r1, r6 + mov r1, r5 bl sftl_printk b .L1561 .L1570: movw r3, #2572 movw r2, #3148 - ldrh r3, [r4, r3] + ldrh r3, [r6, r3] add r3, r3, r3, lsl #1 asr r3, r3, #2 - strh r3, [r4, r2] @ movhi + strh r3, [r6, r2] @ movhi .L1569: movw r3, #3206 - movw r5, #65535 - ldrh r3, [r4, r3] + movw r4, #65535 + ldrh r3, [r6, r3] cmp r3, #0 - addne r6, r6, #32 - uxthne r6, r6 + addne r5, r5, #32 + uxthne r5, r5 .L1575: movw r3, #2588 - ldrh r2, [r4, r3] + ldrh r2, [r6, r3] movw r1, #65535 cmp r2, r1 bne .L1584 - cmp r5, r2 - strhne r5, [r4, r3] @ movhi + cmp r4, r2 + strhne r4, [r6, r3] @ movhi bne .L1586 movw r2, #3202 - ldrh r3, [r4, r2] - cmp r3, r5 + ldrh r3, [r6, r2] + cmp r3, r4 beq .L1586 - ldr r1, [r4, #2324] + ldr r1, [r6, #2324] lsl r3, r3, #1 ldrh r3, [r1, r3] cmp r3, #0 mvneq r3, #0 - strheq r3, [r4, r2] @ movhi + strheq r3, [r6, r2] @ movhi movw r3, #3202 - ldrh r1, [r4, r3] + ldrh r1, [r6, r3] movw r2, #2588 - strh r1, [r4, r2] @ movhi + strh r1, [r6, r2] @ movhi mvn r2, #0 - strh r2, [r4, r3] @ movhi + strh r2, [r6, r3] @ movhi .L1586: movw r7, #2588 mov r3, #0 - ldrh r0, [r4, r7] - strb r3, [r4, #2596] + ldrh r0, [r6, r7] + strb r3, [r6, #2596] movw r3, #65535 cmp r0, r3 beq .L1584 bl IsBlkInGcList cmp r0, #0 - ldr r8, .L1668+12 + ldr r8, .L1669+16 mvnne r3, #0 - strhne r3, [r4, r7] @ movhi + strhne r3, [r6, r7] @ movhi movw r7, #2588 - ldrh r2, [r4, r7] + ldrh r2, [r6, r7] movw r3, #65535 cmp r2, r3 beq .L1584 mov r0, r8 bl make_superblock mov r3, #0 - movw r2, #3658 - strh r3, [r4, r2] @ movhi + movw r2, #3666 + strh r3, [r6, r2] @ movhi strh r3, [r8, #2] @ movhi - strb r3, [r4, #2594] - ldrh r3, [r4, r7] - ldr r2, [r4, #2324] + strb r3, [r6, #2594] + ldrh r3, [r6, r7] + ldr r2, [r6, #2324] lsl r3, r3, #1 ldrh r2, [r2, r3] - movw r3, #3660 - strh r2, [r4, r3] @ movhi + movw r3, #3668 + strh r2, [r6, r3] @ movhi .L1584: movw r3, #2588 movw r2, #2348 - ldrh r3, [r4, r3] - ldrh r2, [r4, r2] + ldrh r3, [r6, r3] + ldrh r2, [r6, r2] cmp r2, r3 beq .L1590 movw r2, #2396 - ldrh r2, [r4, r2] + ldrh r2, [r6, r2] cmp r2, r3 bne .L1591 .L1590: mvn r2, #0 movw r3, #2588 - strh r2, [r4, r3] @ movhi + strh r2, [r6, r3] @ movhi .L1591: - ldr r4, .L1668 - mov r9, r4 + ldr r6, .L1669 + mov r9, r6 .L1620: - ldr r7, .L1668+12 + ldr r7, .L1669+16 movw r3, #65535 ldrh r2, [r7] cmp r2, r3 bne .L1592 add r10, r7, #568 mov r3, #0 - str r3, [r4, #3160] + str r3, [r6, #3160] .L1593: ldrh r8, [r10] mov r0, r8 bl List_get_gc_head_node - ldr r3, .L1668+12 + ldr r3, .L1669+16 uxth r2, r0 strh r2, [r3] @ movhi movw r3, #65535 @@ -11165,39 +11162,39 @@ rk_ftl_garbage_collect: b .L1550 .L1564: movw r0, #2444 - ldrh r6, [r4, r0] - cmp r6, r1 + ldrh r5, [r6, r0] + cmp r5, r1 bne .L1634 movw r1, #3202 - ldrh r1, [r4, r1] - cmp r1, r6 + ldrh r1, [r6, r1] + cmp r1, r5 movne r3, #0 andeq r3, r3, #1 cmp r3, #0 beq .L1634 movw r3, #2588 - ldrh r3, [r4, r3] - cmp r3, r6 + ldrh r3, [r6, r3] + cmp r3, r5 beq .L1576 .L1581: - mov r5, r6 + mov r4, r5 .L1634: - mov r6, #1 + mov r5, #1 b .L1575 .L1576: movw r3, #2344 - str r2, [r4, #3160] + str r2, [r6, #3160] movw r2, #3148 - ldrh r1, [r4, r3] - ldrh r3, [r4, r2] + ldrh r1, [r6, r3] + ldrh r3, [r6, r2] + ldr r4, .L1669+8 cmp r1, r3 bls .L1577 - movw r3, #3656 - ldrh r3, [r4, r3] + ldrh r3, [r4] cmp r3, #0 bne .L1578 - ldr r3, [r4, #2504] - ldr r1, [r4, #2500] + ldr r3, [r6, #2504] + ldr r1, [r6, #2500] add r3, r3, r3, lsl #1 cmp r1, r3, lsr #2 movcs r3, #18 @@ -11205,61 +11202,58 @@ rk_ftl_garbage_collect: .L1578: movw r3, #2572 movw r2, #3148 - ldrh r3, [r4, r3] + ldrh r3, [r6, r3] add r3, r3, r3, lsl #1 asr r3, r3, #2 .L1664: - strh r3, [r4, r2] @ movhi + strh r3, [r6, r2] @ movhi bl FtlReadRefresh mov r0, #0 bl List_get_gc_head_node uxth r0, r0 - ldr r3, [r4, #2324] + ldr r3, [r6, #2324] lsl r0, r0, #1 ldrh r3, [r3, r0] cmp r3, #4 bls .L1577 .L1667: - movw r3, #3656 - ldrh r0, [r4, r3] + ldrh r0, [r4] b .L1550 .L1577: - movw r5, #3656 - ldrh r0, [r4, r5] + ldrh r0, [r4] cmp r0, #0 bne .L1581 movw r3, #2572 movw r2, #3148 - ldrh r7, [r4, r3] + ldrh r7, [r6, r3] add r3, r7, r7, lsl #1 asr r3, r3, #2 - strh r3, [r4, r2] @ movhi + strh r3, [r6, r2] @ movhi bl List_get_gc_head_node uxth r0, r0 - ldr r3, [r4, #2324] - ldrh r1, [r4, #104] + ldr r3, [r6, #2324] + ldrh r1, [r6, #104] lsl r0, r0, #1 ldrh r2, [r3, r0] - ldrh r3, [r4, #32] + ldrh r3, [r6, #32] mul r3, r3, r1 add r3, r3, r3, lsr #31 cmp r2, r3, asr #1 ble .L1582 movw r3, #2344 sub r7, r7, #1 - ldrh r3, [r4, r3] + ldrh r3, [r6, r3] cmp r3, r7 blt .L1582 bl FtlReadRefresh - ldrh r0, [r4, r5] - b .L1550 + b .L1667 .L1582: cmp r2, #0 bne .L1581 movw r0, #65535 bl decrement_vpc_count movw r3, #2344 - ldrh r0, [r4, r3] + ldrh r0, [r6, r3] add r0, r0, #1 b .L1550 .L1594: @@ -11288,21 +11282,21 @@ rk_ftl_garbage_collect: cmp ip, #8 cmphi r8, #48 bls .L1598 - ldr ip, .L1668+16 + ldr ip, .L1669+20 ldrh ip, [ip] cmp ip, #35 bhi .L1598 .L1597: - ldr lr, .L1668+20 + ldr lr, .L1669+24 mov ip, #0 strh ip, [lr] @ movhi .L1598: ldrh r1, [r1, r0] movw r0, #65535 cmp r3, r1 - cmple r5, r0 + cmple r4, r0 bne .L1599 - ldr r3, .L1668+20 + ldr r3, .L1669+24 ldrh r3, [r3] cmp r3, #3 bhi .L1599 @@ -11310,18 +11304,19 @@ rk_ftl_garbage_collect: movw r3, #2588 strh r2, [r9, r3] @ movhi mov r3, #0 - ldr r2, .L1668+20 + ldr r2, .L1669+24 strh r3, [r2] @ movhi - movw r3, #3656 - ldrh r0, [r9, r3] + add r3, r2, #508 +.L1668: + ldrh r0, [r3] b .L1550 .L1599: cmp r1, #0 bne .L1600 movw r0, #65535 bl decrement_vpc_count - ldr r3, .L1668+20 - ldr r2, .L1668+20 + ldr r3, .L1669+24 + ldr r2, .L1669+24 ldrh r3, [r3] add r3, r3, #1 strh r3, [r2] @ movhi @@ -11329,40 +11324,40 @@ rk_ftl_garbage_collect: .L1600: mov r3, #0 strb r3, [r9, #2596] - ldr r3, .L1668+24 + ldr r3, .L1669+28 ldrh r3, [r3] cmp r3, r2 bne .L1601 mov r2, #700 - ldr r1, .L1668+28 - ldr r0, .L1668+32 + ldr r1, .L1669+32 + ldr r0, .L1669+36 bl sftl_printk .L1601: - ldr r3, .L1668+36 + ldr r3, .L1669+40 ldrh r2, [r7] ldrh r3, [r3] cmp r2, r3 bne .L1602 movw r2, #701 - ldr r1, .L1668+28 - ldr r0, .L1668+32 + ldr r1, .L1669+32 + ldr r0, .L1669+36 bl sftl_printk .L1602: - ldr r3, .L1668+40 + ldr r3, .L1669+44 ldrh r2, [r7] ldrh r3, [r3] cmp r2, r3 bne .L1603 movw r2, #702 - ldr r1, .L1668+28 - ldr r0, .L1668+32 + ldr r1, .L1669+32 + ldr r0, .L1669+36 bl sftl_printk .L1603: - ldr r0, .L1668+12 + ldr r0, .L1669+16 bl make_superblock ldrh r2, [r7] mov r3, #0 - ldr r1, .L1668+44 + ldr r1, .L1669+48 ldr r0, [r9, #2324] lsl r2, r2, #1 strh r3, [r1] @ movhi @@ -11372,7 +11367,7 @@ rk_ftl_garbage_collect: strh r2, [r1, #2] @ movhi .L1592: mov r3, #1 - str r3, [r9, #3264] + str r3, [r9, #3272] ldrh r3, [r9, #102] str r3, [fp, #-48] ldr r3, [fp, #-60] @@ -11389,29 +11384,29 @@ rk_ftl_garbage_collect: add r2, r3, #3 cmp r3, #0 movlt r3, r2 - add r6, r6, r3, asr #2 - uxth r6, r6 + add r5, r5, r3, asr #2 + uxth r5, r5 .L1604: ldrh r3, [r7, #2] ldr r1, [fp, #-48] - add r2, r3, r6 + add r2, r3, r5 cmp r2, r1 movgt r2, r1 - subgt r6, r2, r3 + subgt r5, r2, r3 mov r3, #0 - uxthgt r6, r6 + uxthgt r5, r5 .L1666: str r3, [fp, #-56] ldrh r3, [fp, #-56] - ldr r7, .L1668+12 - cmp r6, r3 + ldr r7, .L1669+16 + cmp r5, r3 bls .L1614 ldrh ip, [r7, #2] mov r2, #0 ldr r3, [fp, #-56] mov lr, #20 - ldrh r8, [r4, #32] - ldr r0, [r4, #3180] + ldrh r8, [r6, #32] + ldr r0, [r6, #3180] add ip, ip, r3 add r3, r7, #14 mov r7, r2 @@ -11430,7 +11425,7 @@ rk_ftl_garbage_collect: uxth r1, r2 cmp r8, r1 bhi .L1608 - ldrb r2, [r4, #2596] @ zero_extendqisi2 + ldrb r2, [r6, #2596] @ zero_extendqisi2 mov r1, r7 bl FlashReadPages mov r3, #0 @@ -11445,7 +11440,7 @@ rk_ftl_garbage_collect: ldr r3, [fp, #-52] mov r8, #20 mul r8, r8, r3 - ldr r3, [r4, #3180] + ldr r3, [r6, #3180] add r2, r3, r8 ldr r3, [r3, r8] cmn r3, #1 @@ -11459,8 +11454,8 @@ rk_ftl_garbage_collect: cmn r3, #1 bne .L1611 mov r2, #736 - ldr r1, .L1668+28 - ldr r0, .L1668+32 + ldr r1, .L1669+32 + ldr r0, .L1669+36 str r3, [fp, #-64] bl sftl_printk ldr r3, [fp, #-64] @@ -11469,33 +11464,33 @@ rk_ftl_garbage_collect: sub r1, fp, #44 mov r0, r3 bl log2phys - ldr r3, [r4, #3180] + ldr r3, [r6, #3180] ldr r2, [fp, #-44] add r3, r3, r8 ldr r1, [r3, #4] cmp r1, r2 bne .L1610 - ldr r2, .L1668+44 - ldr r1, .L1668+44 - ldr r0, [r4, #3164] + ldr r2, .L1669+48 + ldr r1, .L1669+48 + ldr r0, [r6, #3164] ldrh r2, [r2] ldr r3, [r3, #16] add r2, r2, #1 strh r2, [r1] @ movhi mov r1, #20 - ldr r2, [r4, #3284] + ldr r2, [r6, #3292] str r1, [fp, #-68] mla r2, r1, r0, r2 str r3, [r2, #16] str r2, [fp, #-64] bl Ftl_get_new_temp_ppa ldr r2, [fp, #-64] - ldr r3, [r4, #3284] + ldr r3, [r6, #3292] ldr r1, [fp, #-68] str r0, [r2, #4] - ldr r2, [r4, #3164] + ldr r2, [r6, #3164] mla r3, r1, r2, r3 - ldr r2, [r4, #3180] + ldr r2, [r6, #3180] add r2, r2, r8 ldr r1, [r2, #8] str r1, [r3, #8] @@ -11504,20 +11499,20 @@ rk_ftl_garbage_collect: str r2, [r3, #12] ldr r3, [fp, #-44] str r3, [r10, #12] - ldr r3, .L1668+40 + ldr r3, .L1669+44 ldrh r2, [r3] str r3, [fp, #-64] strh r2, [r10, #2] @ movhi - ldr r2, [r4, #2544] - ldr r0, [r4, #3180] + ldr r2, [r6, #2544] + ldr r0, [r6, #3180] str r2, [r10, #4] - ldr r2, [r4, #3164] + ldr r2, [r6, #3164] add r0, r0, r8 add r2, r2, #1 - str r2, [r4, #3164] + str r2, [r6, #3164] bl FtlGcBufAlloc - ldrb r1, [r4, #2451] @ zero_extendqisi2 - ldr r2, [r4, #3164] + ldrb r1, [r6, #2451] @ zero_extendqisi2 + ldr r2, [r6, #3164] cmp r1, r2 beq .L1612 ldr r3, [fp, #-64] @@ -11527,40 +11522,39 @@ rk_ftl_garbage_collect: .L1612: bl Ftl_gc_temp_data_write_back cmp r0, #0 - beq .L1610 - ldr r3, .L1668 - mov r2, #0 - str r2, [r3, #3264] - movw r2, #3656 - ldrh r0, [r3, r2] - b .L1550 + ldrne r3, .L1669 + movne r2, #0 + strne r2, [r3, #3272] + addne r3, r3, #3664 + bne .L1668 .L1610: ldr r3, [fp, #-52] add r3, r3, #1 b .L1665 .L1614: ldrh r3, [r7, #2] - add r6, r6, r3 + add r5, r5, r3 ldr r3, [fp, #-48] - uxth r6, r6 - cmp r3, r6 - strh r6, [r7, #2] @ movhi + uxth r5, r5 + cmp r3, r5 + strh r5, [r7, #2] @ movhi bhi .L1616 - ldr r3, [r4, #3164] + ldr r3, [r6, #3164] cmp r3, #0 beq .L1617 bl Ftl_gc_temp_data_write_back cmp r0, #0 movne r3, #0 - strne r3, [r4, #3264] - bne .L1667 + strne r3, [r6, #3272] + ldrne r3, .L1669+8 + bne .L1668 .L1617: - ldr r3, .L1668+44 + ldr r3, .L1669+48 ldrh r1, [r3] cmp r1, #0 bne .L1618 ldrh r3, [r7] - ldr r2, [r4, #2324] + ldr r2, [r6, #2324] lsl r3, r3, #1 ldrh r0, [r2, r3] cmp r0, #0 @@ -11575,23 +11569,24 @@ rk_ftl_garbage_collect: strh r3, [r7] @ movhi .L1616: mov r3, #0 - str r3, [r4, #3264] - ldr r3, .L1668+48 + str r3, [r6, #3272] + ldr r3, .L1669+52 ldrh r3, [r3] cmp r3, #2 - ldrhls r6, [r4, #102] + ldrhls r5, [r6, #102] bls .L1620 .L1619: - movw r2, #3656 - ldrh r0, [r4, r2] + ldr r2, .L1669+8 + ldrh r0, [r2] cmp r0, #0 addeq r0, r3, #1 b .L1550 -.L1669: +.L1670: .align 2 -.L1668: +.L1669: .word .LANCHOR0 .word .LANCHOR2 + .word .LANCHOR0+3664 .word .LC113 .word .LANCHOR0+2588 .word .LANCHOR0+3192 @@ -11601,7 +11596,7 @@ rk_ftl_garbage_collect: .word .LC1 .word .LANCHOR0+2396 .word .LANCHOR0+2444 - .word .LANCHOR0+3658 + .word .LANCHOR0+3666 .word .LANCHOR0+2344 .size rk_ftl_garbage_collect, .-rk_ftl_garbage_collect .align 2 @@ -11616,11 +11611,11 @@ sftl_init: mov ip, sp push {r4, r5, fp, ip, lr, pc} sub fp, ip, #4 - ldr r4, .L1676 + ldr r4, .L1677 mvn r3, #0 - ldr r5, .L1676+4 - ldr r1, .L1676+8 - ldr r0, .L1676+12 + ldr r5, .L1677+4 + ldr r1, .L1677+8 + ldr r0, .L1677+12 str r3, [r5] bl sftl_printk mov r0, r4 @@ -11631,29 +11626,29 @@ sftl_init: bl FtlFreeSysBlkQueueInit bl FtlLoadBbt cmp r0, #0 - bne .L1674 + bne .L1675 bl FtlSysBlkInit cmp r0, #0 - bne .L1674 + bne .L1675 mov r3, #1 str r3, [r5] movw r3, #2344 ldrh r3, [r4, r3] cmp r3, #15 - bhi .L1674 + bhi .L1675 movw r4, #8129 -.L1673: +.L1674: mov r1, #1 mov r0, #0 bl rk_ftl_garbage_collect subs r4, r4, #1 - bne .L1673 -.L1674: + bne .L1674 +.L1675: mov r0, #0 ldmfd sp, {r4, r5, fp, sp, pc} -.L1677: +.L1678: .align 2 -.L1676: +.L1677: .word .LANCHOR0 .word .LANCHOR2 .word .LC70 @@ -11694,19 +11689,19 @@ FtlRead: str r2, [fp, #-52] cmp r0, #16 mov r9, r3 - bne .L1680 + bne .L1681 mov r2, r3 ldr r1, [fp, #-52] add r0, r6, #256 bl FtlVendorPartRead str r0, [fp, #-48] -.L1679: +.L1680: ldr r0, [fp, #-48] sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1680: +.L1681: ldr r3, [fp, #-52] - ldr r10, .L1714 + ldr r10, .L1715 add r3, r1, r3 str r3, [fp, #-60] ldr r2, [fp, #-60] @@ -11714,12 +11709,12 @@ FtlRead: cmp r2, r3 mvnhi r3, #0 strhi r3, [fp, #-48] - bhi .L1679 - ldr r3, .L1714+4 + bhi .L1680 + ldr r3, .L1715+4 ldr r7, [r3] cmn r7, #1 streq r7, [fp, #-48] - beq .L1679 + beq .L1680 ldrh r4, [r10, #58] mov r0, r6 mov r8, #0 @@ -11749,25 +11744,25 @@ FtlRead: ldr r3, [r10, #2508] add r3, r3, r2 str r3, [r10, #2508] -.L1682: +.L1683: ldr r3, [fp, #-56] cmp r3, #0 - bne .L1699 - ldr r3, .L1714 + bne .L1700 + ldr r3, .L1715 movw r2, #3206 ldrh r2, [r3, r2] cmp r2, #0 - bne .L1700 + bne .L1701 movw r2, #2344 ldrh r3, [r3, r2] cmp r3, #31 - bhi .L1679 -.L1700: + bhi .L1680 +.L1701: mov r1, #1 mov r0, #0 bl rk_ftl_garbage_collect - b .L1679 -.L1699: + b .L1680 +.L1700: sub r1, fp, #44 mov r2, #0 mov r0, r4 @@ -11775,16 +11770,16 @@ FtlRead: ldr r1, [fp, #-44] cmn r1, #1 moveq r10, #0 - beq .L1684 - ldr r2, [r7, #3280] + beq .L1685 + ldr r2, [r7, #3288] mov r0, #20 ldr r3, [fp, #-64] ldrh r10, [r7, #58] mla r2, r0, r5, r2 cmp r4, r3 str r1, [r2, #4] - bne .L1688 - ldr r1, [r7, #3304] + bne .L1689 + ldr r1, [r7, #3312] mov r0, r6 str r2, [fp, #-80] str r1, [r2, #8] @@ -11799,17 +11794,17 @@ FtlRead: cmp r3, r10 str r3, [fp, #-76] streq r9, [r2, #8] -.L1689: +.L1690: ldrh r1, [r7, #112] - ldr r0, [r7, #3328] + ldr r0, [r7, #3336] str r4, [r2, #16] mul r1, r5, r1 add r5, r5, #1 bic r1, r1, #3 add r1, r0, r1 str r1, [r2, #12] - b .L1687 -.L1686: + b .L1688 +.L1687: mla r0, r0, r4, r10 ldr r2, [fp, #-60] cmp r2, r0 @@ -11818,32 +11813,32 @@ FtlRead: cmp r6, r0 movhi r2, #0 cmp r2, #0 - beq .L1685 + beq .L1686 sub r0, r0, r6 mov r1, #512 add r0, r9, r0, lsl #9 bl __memzero -.L1685: +.L1686: add r10, r10, #1 -.L1684: +.L1685: ldrh r0, [r7, #58] cmp r10, r0 - bcc .L1686 -.L1687: + bcc .L1687 +.L1688: ldr r3, [fp, #-56] add r4, r4, #1 subs r3, r3, #1 str r3, [fp, #-56] - beq .L1691 + beq .L1692 ldrh r2, [r7, #32] cmp r5, r2, lsl #2 - bne .L1682 -.L1691: + bne .L1683 +.L1692: cmp r5, #0 - beq .L1682 + beq .L1683 mov r2, #0 mov r1, r5 - ldr r0, [r7, #3280] + ldr r0, [r7, #3288] mov r10, #0 bl FlashReadPages lsl r3, r8, #9 @@ -11854,29 +11849,29 @@ FtlRead: ldr r3, [fp, #-76] lsl r3, r3, #9 str r3, [fp, #-84] -.L1698: +.L1699: mov ip, #20 - ldr r2, [r7, #3280] + ldr r2, [r7, #3288] mul ip, ip, r10 ldr r3, [fp, #-64] add r2, r2, ip ldr r1, [r2, #16] cmp r3, r1 - bne .L1693 - ldr r1, [r2, #8] - ldr r2, [r7, #3304] - cmp r1, r2 bne .L1694 + ldr r1, [r2, #8] + ldr r2, [r7, #3312] + cmp r1, r2 + bne .L1695 ldr r3, [fp, #-80] mov r0, r9 ldr r2, [fp, #-84] str ip, [fp, #-92] add r1, r1, r3 -.L1713: +.L1714: bl ftl_memcpy ldr ip, [fp, #-92] -.L1694: - ldr r1, [r7, #3280] +.L1695: + ldr r1, [r7, #3288] add r2, r1, ip ldr r0, [r2, #12] ldr lr, [r2, #16] @@ -11893,22 +11888,22 @@ FtlRead: streq r0, [r7, #2708] ldr r1, [r1, ip] cmp r1, #256 - bne .L1697 + bne .L1698 ldr r0, [r2, #4] ubfx r0, r0, #10, #16 bl P2V_block_in_plane bl FtlGcRefreshBlock -.L1697: +.L1698: add r10, r10, #1 cmp r5, r10 - bne .L1698 + bne .L1699 mov r5, #0 - b .L1682 -.L1688: + b .L1683 +.L1689: ldr r3, [fp, #-68] cmp r4, r3 - bne .L1690 - ldr r1, [r7, #3308] + bne .L1691 + ldr r1, [r7, #3316] ldr r3, [fp, #-60] str r1, [r2, #8] mul r1, r10, r4 @@ -11917,31 +11912,31 @@ FtlRead: subeq r1, r1, r6 addeq r1, r9, r1, lsl #9 streq r1, [r2, #8] - b .L1689 -.L1690: + b .L1690 +.L1691: mul r10, r4, r10 sub r10, r10, r6 add r10, r9, r10, lsl #9 str r10, [r2, #8] - b .L1689 -.L1693: + b .L1690 +.L1694: ldr r3, [fp, #-68] cmp r3, r1 - bne .L1694 + bne .L1695 ldr r1, [r2, #8] - ldr r2, [r7, #3308] + ldr r2, [r7, #3316] cmp r1, r2 - bne .L1694 + bne .L1695 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 .L1713 -.L1715: + b .L1714 +.L1716: .align 2 -.L1714: +.L1715: .word .LANCHOR0 .word .LANCHOR2 .size FtlRead, .-FtlRead @@ -12001,29 +11996,29 @@ FtlWrite: str r2, [fp, #-80] cmp r0, #16 str r3, [fp, #-84] - bne .L1719 + bne .L1720 mov r2, r3 ldr r1, [fp, #-80] add r0, r9, #256 bl FtlVendorPartWrite -.L1718: +.L1719: sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1719: +.L1720: ldr r3, [fp, #-80] - ldr r4, .L1770 + ldr r4, .L1771 add r6, r1, r3 ldr r3, [r4, #140] cmp r6, r3 mvnhi r0, #0 - bhi .L1718 - ldr r5, .L1770+4 + bhi .L1719 + ldr r5, .L1771+4 ldr r0, [r5] cmn r0, #1 - beq .L1718 + beq .L1719 ldrh r7, [r4, #58] mov r3, #2048 - str r3, [r4, #3664] + str r3, [r4, #3672] mov r0, r9 mov r1, r7 bl __udivsi3 @@ -12046,68 +12041,68 @@ FtlWrite: add r3, r3, r2 str r3, [r4, #2516] ldr r3, [r5, #8] - ldr r4, .L1770+8 + ldr r4, .L1771+8 cmp r3, #0 - beq .L1721 + beq .L1722 ldrh r3, [r4, #4] add r0, r4, #48 cmp r3, #0 moveq r4, r0 -.L1721: - ldr r5, [fp, #-76] - ldr r10, .L1770 .L1722: + ldr r5, [fp, #-76] + ldr r10, .L1771 +.L1723: ldr r3, [fp, #-72] cmp r3, #0 - bne .L1750 + bne .L1751 mov r0, r3 ldr r1, [fp, #-96] bl rk_ftl_garbage_collect movw r3, #2344 ldrh r3, [r10, r3] cmp r3, #5 - bls .L1751 -.L1753: + bls .L1752 +.L1754: mov r0, #0 - b .L1718 -.L1750: + b .L1719 +.L1751: ldrb r2, [r4, #6] @ zero_extendqisi2 ldrh r3, [r10, #32] cmp r2, r3 - bcc .L1723 - movw r2, #1014 - ldr r1, .L1770+12 - ldr r0, .L1770+16 + bcc .L1724 + mov r2, #1016 + ldr r1, .L1771+12 + ldr r0, .L1771+16 bl sftl_printk -.L1723: +.L1724: ldrh r2, [r4, #4] cmp r2, #0 - bne .L1724 - ldr r3, .L1770+8 - ldr r6, .L1770+4 - cmp r4, r3 bne .L1725 + ldr r3, .L1771+8 + ldr r6, .L1771+4 + cmp r4, r3 + bne .L1726 add r0, r4, #48 ldrh r7, [r0, #4] cmp r7, #0 - bne .L1726 + bne .L1727 bl allocate_new_data_superblock str r7, [r6, #8] -.L1726: - ldr r0, .L1770+8 +.L1727: + ldr r0, .L1771+8 bl allocate_new_data_superblock - ldr r4, .L1770+8 + ldr r4, .L1771+8 ldr r3, [r6, #8] add r0, r4, #48 cmp r3, #0 movne r4, r0 -.L1727: +.L1728: ldrh r3, [r4, #4] cmp r3, #0 - bne .L1724 + bne .L1725 mov r0, r4 bl allocate_new_data_superblock -.L1724: +.L1725: ldrh r3, [r4, #4] ldr r2, [fp, #-72] cmp r3, r2 @@ -12120,52 +12115,52 @@ FtlWrite: str r3, [fp, #-108] ldrh r3, [r10, #32] cmp r2, r3 - bcc .L1728 - movw r2, #1047 - ldr r1, .L1770+12 - ldr r0, .L1770+16 + bcc .L1729 + movw r2, #1049 + ldr r1, .L1771+12 + ldr r0, .L1771+16 bl sftl_printk -.L1728: +.L1729: mov r3, #0 -.L1769: +.L1770: str r3, [fp, #-68] ldr r3, [fp, #-68] ldr r2, [fp, #-108] cmp r3, r2 - bne .L1748 -.L1730: + bne .L1749 +.L1731: mov r3, r4 mov r2, #0 ldr r1, [fp, #-68] - ldr r0, [r10, #3288] + ldr r0, [r10, #3296] bl FtlProgPages ldr r3, [fp, #-68] ldr r2, [fp, #-72] cmp r3, r2 - bls .L1749 - movw r2, #1124 - ldr r1, .L1770+12 - ldr r0, .L1770+16 + bls .L1750 + movw r2, #1126 + ldr r1, .L1771+12 + ldr r0, .L1771+16 bl sftl_printk -.L1749: +.L1750: ldr r3, [fp, #-72] ldr r2, [fp, #-68] sub r3, r3, r2 str r3, [fp, #-72] - b .L1722 -.L1725: + b .L1723 +.L1726: str r2, [r6, #8] ldrh r2, [r3, #4] cmp r2, #0 movne r4, r3 - bne .L1724 + bne .L1725 mov r0, r4 bl allocate_new_data_superblock - b .L1727 -.L1748: + b .L1728 +.L1749: ldrh r3, [r4, #4] cmp r3, #0 - beq .L1730 + beq .L1731 mov r2, #0 sub r1, fp, #64 mov r0, r5 @@ -12178,11 +12173,11 @@ FtlWrite: ldr r3, [fp, #-68] mul r1, r2, r1 mul r7, r7, r3 - ldr r3, [r10, #3288] + ldr r3, [r10, #3296] bic r1, r1, #3 str r1, [fp, #-100] add r3, r3, r7 - ldr r1, [r10, #3328] + ldr r1, [r10, #3336] str r0, [r3, #4] ldr r0, [fp, #-100] str r1, [fp, #-104] @@ -12197,9 +12192,9 @@ FtlWrite: ldrh r6, [r10, #58] cmp r5, r2 cmpne r5, r3 - bne .L1731 - cmp r5, r3 bne .L1732 + cmp r5, r3 + bne .L1733 mov r1, r6 mov r0, r9 bl __umodsi3 @@ -12208,25 +12203,25 @@ FtlWrite: str r0, [fp, #-88] cmp r6, r3 movcs r6, r3 -.L1733: +.L1734: ldrh r3, [r10, #58] cmp r6, r3 ldr r3, [fp, #-76] - bne .L1734 + bne .L1735 cmp r5, r3 - ldr r3, [r10, #3288] + ldr r3, [r10, #3296] add r7, r3, r7 ldreq r3, [fp, #-84] streq r3, [r7, #8] - beq .L1736 -.L1766: + beq .L1737 +.L1767: mul r6, r5, r6 ldr r3, [fp, #-84] sub r6, r6, r9 add r6, r3, r6, lsl #9 str r6, [r7, #8] - b .L1736 -.L1732: + b .L1737 +.L1733: ldr r3, [fp, #-80] add r2, r9, r3 smulbb r3, r6, r5 @@ -12234,20 +12229,20 @@ FtlWrite: mov r3, #0 uxth r6, r6 str r3, [fp, #-88] - b .L1733 -.L1734: + b .L1734 +.L1735: cmp r5, r3 - ldr r3, [r10, #3288] - ldreq r2, [r10, #3304] - ldrne r2, [r10, #3308] + ldr r3, [r10, #3296] + ldreq r2, [r10, #3312] + ldrne r2, [r10, #3316] add r3, r3, r7 str r2, [r3, #8] ldr r3, [fp, #-64] cmn r3, #1 - beq .L1739 + beq .L1740 str r3, [fp, #-56] mov r1, #1 - ldr r3, [r10, #3288] + ldr r3, [r10, #3296] sub r0, fp, #60 str r5, [fp, #-44] add r3, r3, r7 @@ -12262,49 +12257,49 @@ FtlWrite: ldreq r3, [r10, #2708] addeq r3, r3, #1 streq r3, [r10, #2708] - beq .L1743 + beq .L1744 ldr r3, [r8, #8] cmp r5, r3 - beq .L1742 + beq .L1743 ldr r3, [r10, #2708] mov r2, r5 - ldr r0, .L1770+20 + ldr r0, .L1771+20 add r3, r3, #1 str r3, [r10, #2708] ldr r1, [r8, #8] bl sftl_printk -.L1742: +.L1743: ldr r3, [r8, #8] cmp r5, r3 - beq .L1743 - movw r2, #1100 - ldr r1, .L1770+12 - ldr r0, .L1770+16 + beq .L1744 + movw r2, #1102 + ldr r1, .L1771+12 + ldr r0, .L1771+16 bl sftl_printk -.L1743: +.L1744: ldr r3, [fp, #-76] lsl r2, r6, #9 cmp r5, r3 - bne .L1744 - ldr r3, [r10, #3288] + bne .L1745 + ldr r3, [r10, #3296] ldr r1, [fp, #-84] add r7, r3, r7 ldr r3, [fp, #-88] ldr r0, [r7, #8] add r0, r0, r3, lsl #9 -.L1767: +.L1768: bl ftl_memcpy -.L1736: +.L1737: ldrb r2, [r4, #6] @ zero_extendqisi2 ldrh r3, [r10, #32] cmp r2, r3 - bcc .L1745 - movw r2, #1115 - ldr r1, .L1770+12 - ldr r0, .L1770+16 + bcc .L1746 + movw r2, #1117 + ldr r1, .L1771+12 + ldr r0, .L1771+16 bl sftl_printk -.L1745: - ldr r3, .L1770+24 +.L1746: + ldr r3, .L1771+24 ldr r2, [fp, #-104] ldr r1, [fp, #-100] strh r3, [r2, r1] @ movhi @@ -12322,47 +12317,47 @@ FtlWrite: strh r3, [r8, #2] @ movhi ldr r3, [fp, #-68] add r3, r3, #1 - b .L1769 -.L1739: - ldr r3, [r10, #3288] + b .L1770 +.L1740: + ldr r3, [r10, #3296] mov r1, #0 ldrh r2, [r10, #110] add r3, r3, r7 ldr r0, [r3, #8] bl ftl_memset - b .L1743 -.L1744: + b .L1744 +.L1745: ldrh r1, [r10, #58] - ldr r3, [r10, #3288] + ldr r3, [r10, #3296] mul r1, r5, r1 add r7, r3, r7 ldr r3, [fp, #-84] ldr r0, [r7, #8] sub r1, r1, r9 add r1, r3, r1, lsl #9 - b .L1767 -.L1731: - ldr r3, [r10, #3288] + b .L1768 +.L1732: + ldr r3, [r10, #3296] add r7, r3, r7 - b .L1766 -.L1751: - ldr r5, .L1770+28 + b .L1767 +.L1752: + ldr r5, .L1771+28 mov r4, #256 - ldr r6, .L1770+32 -.L1754: + ldr r6, .L1771+32 +.L1755: ldrh r3, [r5] movw r2, #65535 cmp r3, r2 - bne .L1752 + bne .L1753 ldrh r2, [r6] cmp r2, r3 - bne .L1752 + bne .L1753 mov r0, #0 bl List_get_gc_head_node uxth r0, r0 bl FtlGcRefreshBlock -.L1752: - ldr r3, .L1770+36 +.L1753: + ldr r3, .L1771+36 mov r1, #1 mov r2, #128 mov r0, r1 @@ -12372,16 +12367,16 @@ FtlWrite: mov r1, #1 mov r0, #0 bl rk_ftl_garbage_collect - ldr r3, .L1770+40 + ldr r3, .L1771+40 ldrh r3, [r3] cmp r3, #2 - bhi .L1753 + bhi .L1754 subs r4, r4, #1 - bne .L1754 - b .L1753 -.L1771: + bne .L1755 + b .L1754 +.L1772: .align 2 -.L1770: +.L1771: .word .LANCHOR0 .word .LANCHOR2 .word .LANCHOR0+2348 @@ -12394,350 +12389,6 @@ FtlWrite: .word .LANCHOR0+3150 .word .LANCHOR0+2344 .size FtlWrite, .-FtlWrite - .global __modsi3 - .align 2 - .global sftl_write - .syntax unified - .arm - .fpu softvfp - .type sftl_write, %function -sftl_write: - @ args = 0, pretend = 0, frame = 124 - @ frame_needed = 1, uses_anonymous_args = 0 - mov ip, sp - push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} - sub fp, ip, #4 - sub sp, sp, #128 - add r5, r0, r1 - sub r6, r5, #1 - mov r3, r1 - cmp r6, #63 - mov r9, r0 - movhi r3, #0 - movls r3, #1 - cmp r0, #576 - orrcs r3, r3, #1 - str r1, [fp, #-120] - cmp r3, #0 - str r2, [fp, #-140] - ldr r4, .L1810 - beq .L1773 - ldr r3, [r4, #3668] - cmp r3, #0 - beq .L1775 - ldr r10, [r4, #3672] - ldr r3, .L1810+4 - ldr r2, [r10] - cmp r2, r3 - beq .L1776 -.L1793: - ldr r4, .L1810 - mov r3, #0 - ldr r0, [r4, #3672] - str r3, [r4, #3668] - bl kfree - ldr r0, [r4, #3676] - bl kfree -.L1775: - ldr r3, [fp, #-140] - mov r1, r9 - ldr r2, [fp, #-120] - mov r0, #0 - bl FtlWrite - sub sp, fp, #40 - ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1776: - ldrh r5, [r4, #14] - add r0, r10, #262144 - ldrh r4, [r4, #10] - mov r3, #0 - movw r2, #65535 -.L1780: - ldr r1, [r0, #-4] - cmp r1, #0 - bne .L1777 - ldr r1, [r10, r3, lsl #2] - add r3, r3, #1 - cmp r3, #4096 - sub r2, r2, #1 - movhi r3, #0 - cmp r2, #4096 - str r1, [r0, #-4]! - bne .L1780 - mov r3, #512 - str r3, [fp, #-108] - b .L1779 -.L1777: - add r3, r2, #127 - ldr r0, .L1810+8 - lsr r3, r3, #7 - str r3, [fp, #-108] - bl sftl_printk -.L1779: - uxtb r5, r5 - smulbb r5, r5, r4 - ldr r4, .L1810 - uxth r3, r5 - mov r5, #0 - str r3, [fp, #-112] - sub r0, r3, #1 - mov r1, r3 - ldr r3, [fp, #-108] - add r0, r0, r3 - bl __udivsi3 - ldr r2, [fp, #-112] - str r0, [fp, #-116] - str r0, [fp, #-136] - str r5, [fp, #-128] - mul r3, r0, r2 - str r3, [fp, #-124] - ldr r3, [fp, #-108] - lsl r3, r3, #7 - str r3, [fp, #-152] - b .L1792 -.L1801: - str r3, [fp, #-136] -.L1792: - mov r1, #512 - ldr r0, [r4, #3676] - bl __memzero - ldrh r8, [r4, #14] - mov r0, r5 - ldrh r6, [r4, #10] - mov r1, r8 - uxtb r7, r8 - uxth r3, r7 - str r3, [fp, #-132] - ldrh r3, [fp, #-132] - smulbb r6, r6, r3 - bl __udivsi3 - ldr r3, [r4, #3248] - mov r1, r0 - mov r0, #0 - uxth r6, r6 - blx r3 - ldr r3, [fp, #-124] - cmp r3, r6 - bls .L1781 - mov r1, r8 - add r0, r6, r5 - bl __udivsi3 - ldr r3, [r4, #3248] - mov r1, r0 - mov r0, #0 - blx r3 -.L1781: - mov r1, r6 - mov r0, r5 - bl __umodsi3 - mov r6, #0 - mov r8, r0 - sub r3, r5, r0 - str r3, [fp, #-144] -.L1782: - ldr r3, [fp, #-124] - cmp r3, r6 - bhi .L1783 - ldrb r7, [r4, #14] @ zero_extendqisi2 - mov r0, r5 - ldr r3, [r4, #3676] - mov r6, #0 - ldrh r1, [r4, #10] - str r3, [fp, #-148] - uxth r3, r7 - str r3, [fp, #-144] - ldrh r3, [fp, #-144] - smulbb r1, r1, r3 - uxth r1, r1 - bl __umodsi3 - mov r1, r7 - sub r3, r5, r0 - str r0, [fp, #-132] - ldrh r0, [fp, #-132] - str r3, [fp, #-156] - bl __modsi3 - uxth r3, r0 -.L1784: - ldr r2, [fp, #-108] - cmp r6, r2 - bcs .L1788 - ldr r2, [fp, #-144] - mov r1, r7 - str r3, [fp, #-164] - sub r8, r2, r3 - ldr r3, [fp, #-148] - uxth r8, r8 - add r2, r3, r6, lsl #9 - ldr r3, [fp, #-132] - str r2, [fp, #-160] - add r0, r3, r6 - bl __udivsi3 - ldr r2, [fp, #-156] - uxth r0, r0 - ldr r3, [fp, #-164] - mov r1, r7 - add r3, r3, r2 - mla r0, r7, r0, r3 - bl __udivsi3 - ldr ip, [r4, #3256] - mov r1, r0 - sub r3, fp, #104 - ldr r2, [fp, #-160] - mov r0, #0 - blx ip - cmn r0, #1 - bne .L1785 -.L1788: - ldr r0, [r4, #3676] - mov r3, r10 - mov r6, #0 -.L1786: - mov r8, r3 - ldr r1, [r0, r6, lsl #2] - ldr r2, [r8] - lsl r7, r6, #2 - add r3, r3, #4 - cmp r1, r2 - beq .L1789 - mov r1, #512 - bl __memzero - ldr r2, [r4, #3676] - mov r1, r5 - str r6, [sp] - ldr r0, .L1810+12 - ldr r3, [r8] - ldr r2, [r2, r7] - bl sftl_printk - ldr r3, [r4, #3248] - mov r1, r5 - mov r0, #0 - blx r3 - ldr r3, [fp, #-116] - cmp r3, #1 - bls .L1800 - ldr r2, [fp, #-112] - mov r0, #0 - ldr r3, [r4, #3248] - add r1, r2, r5 - blx r3 -.L1800: - ldr r2, [fp, #-136] - ldr r3, [fp, #-116] - add r3, r3, r2 - ldr r2, [fp, #-124] - add r5, r5, r2 - ldr r2, [fp, #-136] - cmp r2, #15 - bls .L1801 - b .L1793 -.L1783: - mov r1, r7 - add r0, r8, r6 - bl __udivsi3 - uxth ip, r0 - add r2, r10, r6, lsl #9 - ldr r0, [fp, #-144] - mul r3, r7, ip - mov r1, r7 - str ip, [fp, #-156] - str r2, [fp, #-148] - str r3, [fp, #-104] - movw r3, #61424 - str r3, [fp, #-100] - bl __udivsi3 - ldr ip, [fp, #-156] - sub r3, fp, #104 - ldr r2, [fp, #-148] - add r1, r0, ip - mov r0, #0 - ldr ip, [r4, #3252] - blx ip - ldr r3, [fp, #-132] - add r6, r3, r6 - uxth r6, r6 - b .L1782 -.L1785: - add r6, r8, r6 - mov r3, #0 - uxth r6, r6 - b .L1784 -.L1789: - ldr r2, [fp, #-152] - add r6, r6, #1 - cmp r6, r2 - bne .L1786 - ldr r3, [fp, #-128] - add r3, r3, #1 - cmp r3, #5 - str r3, [fp, #-128] - bls .L1800 - b .L1793 -.L1773: - cmp r0, #64 - bne .L1794 - mov r0, #262144 - bl ftl_malloc - str r0, [r4, #3672] - mov r0, #262144 - bl ftl_malloc - ldr r3, [r4, #3672] - str r0, [r4, #3676] - cmp r0, #0 - cmpne r3, #0 - beq .L1795 - mov r2, #1 - mov r1, #262144 - mov r0, r3 - str r2, [r4, #3668] - bl __memzero -.L1794: - ldr r3, [r4, #3668] - cmp r3, #0 - beq .L1775 - cmp r9, #63 - ldr r1, [r4, #3672] - ldrls r3, [fp, #-120] - rsbls r8, r9, #64 - ldrhi r4, .L1810+16 - mov r2, #262144 - ldrhi r7, [fp, #-120] - movls r4, r1 - subls r7, r3, r8 - ldrls r3, [fp, #-140] - addhi r4, r9, r4 - ldrhi r8, [fp, #-140] - addhi r4, r1, r4, lsl #9 - ldr r0, .L1810+20 - addls r8, r3, r8, lsl #9 - cmp r6, #576 - subcs r7, r7, r5 - subcs r7, r7, #444 - mov r3, r4 - subcs r7, r7, #2 - str r7, [sp] - bl sftl_printk - lsl r2, r7, #9 - mov r1, r8 - mov r0, r4 - bl ftl_memcpy - b .L1775 -.L1795: - ldr r1, .L1810+24 - ldr r0, .L1810+28 - bl sftl_printk - b .L1794 -.L1811: - .align 2 -.L1810: - .word .LANCHOR0 - .word -52655045 - .word .LC115 - .word .LC116 - .word 8388544 - .word .LC118 - .word .LANCHOR1+615 - .word .LC117 - .size sftl_write, .-sftl_write .align 2 .global sftl_vendor_write .syntax unified @@ -12771,102 +12422,102 @@ FtlMakeBbt: sub fp, ip, #4 sub sp, sp, #4 mov r7, #0 - ldr r8, .L1832 + ldr r8, .L1793 bl FtlBbtMemInit bl FtlLoadFactoryBbt sub r5, r8, #180 sub r9, r8, #18 mov r4, r5 -.L1814: +.L1775: ldrh r3, [r5, #54] cmp r7, r3 - bcc .L1820 + bcc .L1781 mov r0, #0 -.L1821: +.L1782: ldrh r2, [r4, #114] uxth r3, r0 add r5, r0, #1 cmp r2, r3 - bhi .L1822 + bhi .L1783 ldrh r5, [r4, #164] movw r6, #65535 sub r5, r5, #1 uxth r5, r5 -.L1823: +.L1784: ldrh r3, [r4, #164] sub r3, r3, #48 cmp r5, r3 - ble .L1827 + ble .L1788 mov r0, r5 bl FtlBbmIsBadBlock cmp r0, #1 - beq .L1824 + beq .L1785 mov r0, r5 bl FlashTestBlk cmp r0, #0 - beq .L1825 + beq .L1786 mov r0, r5 bl FtlBbmMapBadBlock -.L1824: +.L1785: sub r5, r5, #1 uxth r5, r5 - b .L1823 -.L1820: + b .L1784 +.L1781: ldrh r3, [r9, #2]! movw r2, #65535 - ldr r0, [r5, #3292] - ldr r10, [r5, #3324] + ldr r0, [r5, #3300] + ldr r10, [r5, #3332] cmp r3, r2 - str r0, [r5, #3452] - str r10, [r5, #3456] - beq .L1815 + str r0, [r5, #3460] + str r10, [r5, #3464] + beq .L1776 ldrh ip, [r5, #98] mov r2, #1 mov r1, r2 - ldr r0, .L1832+4 + ldr r0, .L1793+4 mla ip, r7, ip, r3 lsl r3, ip, #10 str ip, [fp, #-44] - str r3, [r5, #3448] + str r3, [r5, #3456] bl FlashReadPages ldrh r2, [r5, #98] - ldr r1, [r5, #3452] + ldr r1, [r5, #3460] ldr r0, [r8] add r2, r2, #7 asr r2, r2, #3 bl ftl_memcpy ldr ip, [fp, #-44] -.L1816: +.L1777: uxth r0, ip add r7, r7, #1 add r8, r8, #4 bl FtlBbmMapBadBlock - b .L1814 -.L1815: + b .L1775 +.L1776: mov r1, r7 bl FlashGetBadBlockList ldr r1, [r8] - ldr r0, [r5, #3452] + ldr r0, [r5, #3460] bl FtlBbt2Bitmap ldrh r6, [r5, #98] -.L1818: +.L1779: sub r6, r6, #1 uxth r6, r6 -.L1817: +.L1778: ldrh r0, [r4, #98] smlabb r0, r0, r7, r6 uxth r0, r0 bl FtlBbmIsBadBlock cmp r0, #1 - beq .L1818 + beq .L1779 mov r1, #16 - ldr r0, [r4, #3324] + ldr r0, [r4, #3332] strh r6, [r9] @ movhi bl __memzero mov r1, #4096 - ldr r0, [r4, #3292] + ldr r0, [r4, #3300] bl __memzero - ldr r3, .L1832+8 + ldr r3, .L1793+8 strh r3, [r10] @ movhi mov r3, #0 str r3, [r10, #4] @@ -12875,47 +12526,47 @@ FtlMakeBbt: strh r3, [r10, #2] @ movhi ldrh r3, [r9] ldr r1, [r8] - ldr r0, [r4, #3452] + ldr r0, [r4, #3460] mla ip, r7, ip, r3 lsl r3, ip, #10 str ip, [fp, #-44] - str r3, [r4, #3448] - ldr r3, .L1832+12 + str r3, [r4, #3456] + ldr r3, .L1793+12 ldrh r2, [r3] lsl r2, r2, #2 bl ftl_memcpy mov r2, #1 - ldr r0, .L1832+4 + ldr r0, .L1793+4 mov r1, r2 bl FlashEraseBlocks mov r3, #1 - ldr r0, .L1832+4 + ldr r0, .L1793+4 mov r2, r3 mov r1, r3 bl FlashProgPages - ldr r3, [r4, #3444] + ldr r3, [r4, #3452] ldr ip, [fp, #-44] cmn r3, #1 - bne .L1816 + bne .L1777 uxth r0, ip bl FtlBbmMapBadBlock - b .L1817 -.L1822: + b .L1778 +.L1783: uxth r0, r0 bl FtlBbmMapBadBlock mov r0, r5 - b .L1821 -.L1825: + b .L1782 +.L1786: ldrh r3, [r4, #152] cmp r3, r6 strheq r5, [r4, #152] @ movhi - beq .L1824 -.L1826: + beq .L1785 +.L1787: strh r5, [r4, #156] @ movhi -.L1827: +.L1788: ldrh r3, [r4, #152] mov r5, #0 - ldr r0, [r4, #3260] + ldr r0, [r4, #3268] mov r1, #1 str r5, [r4, #160] mov r2, #2 @@ -12942,13 +12593,13 @@ FtlMakeBbt: bl FtlBbmTblFlush mov r0, r5 ldmib sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1833: +.L1794: .align 2 -.L1832: +.L1793: .word .LANCHOR0+180 - .word .LANCHOR0+3444 + .word .LANCHOR0+3452 .word -3872 - .word .LANCHOR0+3380 + .word .LANCHOR0+3388 .size FtlMakeBbt, .-FtlMakeBbt .align 2 .global ftl_low_format @@ -12962,7 +12613,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, .L1858 + ldr r4, .L1819 mov r3, #0 ldrh r0, [r4, #36] str r3, [r4, #2540] @@ -12970,41 +12621,41 @@ ftl_low_format: bl FtlFreeSysBlkQueueInit bl FtlLoadBbt cmp r0, #0 - beq .L1835 + beq .L1796 bl FtlMakeBbt -.L1835: - ldr r0, .L1858+4 +.L1796: + ldr r0, .L1819+4 mov r2, #0 -.L1836: +.L1797: ldrh r1, [r4, #58] uxth r3, r2 add r2, r2, #1 cmp r3, r1, lsl #7 - blt .L1837 + blt .L1798 ldrh r6, [r4, #40] mov r5, #0 -.L1838: +.L1799: ldrh r3, [r4, #42] cmp r3, r6 - bhi .L1839 + bhi .L1800 ldrh r1, [r4, #32] sub r3, r5, #3 cmp r3, r1, lsl #1 - bge .L1840 -.L1844: + bge .L1801 +.L1805: mov r0, #0 mov r6, r0 -.L1841: +.L1802: ldrh r2, [r4, #40] uxth r3, r0 add r5, r0, #1 cmp r2, r3 - bhi .L1845 + bhi .L1806 ldrh r3, [r4, #42] movw r9, #2572 ldrh r5, [r4, #32] ldr r10, [r4, #44] - str r3, [r4, #3276] + str r3, [r4, #3284] mov r1, r5 mov r0, r10 bl __udivsi3 @@ -13016,7 +12667,7 @@ ftl_low_format: mov r3, #24 mul r3, r3, r5 cmp r6, r3 - ble .L1846 + ble .L1807 mov r1, r5 sub r0, r10, r6 bl __udivsi3 @@ -13024,10 +12675,10 @@ ftl_low_format: lsr r0, r0, #5 add r0, r0, #24 strh r0, [r4, r9] @ movhi -.L1846: +.L1807: ldrh r3, [r4, #94] cmp r3, #0 - beq .L1848 + beq .L1809 movw r2, #2572 ldrh r1, [r4, r2] add r1, r1, r3, lsr #1 @@ -13038,7 +12689,7 @@ ftl_low_format: strlt r8, [r4, #2504] addlt r3, r7, r3 strhlt r3, [r4, r2] @ movhi -.L1848: +.L1809: movw r3, #2572 mvn r6, #0 ldrh r2, [r4, r3] @@ -13046,7 +12697,7 @@ ftl_low_format: sub r3, r3, r2 mul r5, r5, r3 ldrh r3, [r4, #102] - str r5, [r4, #3464] + str r5, [r4, #3472] mul r5, r5, r3 ldrh r3, [r4, #58] str r5, [r4, #2504] @@ -13056,7 +12707,7 @@ ftl_low_format: ldrh r2, [r4, #42] mov r1, #0 ldr r0, [r4, #2324] - ldr r5, .L1858+8 + ldr r5, .L1819+8 lsl r2, r2, #1 sub r5, r5, #240 bl ftl_memset @@ -13079,29 +12730,29 @@ ftl_low_format: ldr r0, [r4, #24] strb r3, [r4, #2356] bl ftl_memset -.L1850: +.L1811: mov r0, r7 bl make_superblock ldrb r3, [r4, #2355] @ zero_extendqisi2 cmp r3, #0 ldrh r3, [r5] - bne .L1851 + bne .L1812 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 .L1850 -.L1837: - ldr ip, [r4, #3304] + b .L1811 +.L1798: + ldr ip, [r4, #3312] mvn r1, r3 orr r1, r3, r1, lsl #16 str r1, [ip, r3, lsl #2] - ldr r1, [r4, #3308] + ldr r1, [r4, #3316] str r0, [r1, r3, lsl #2] - b .L1836 -.L1839: + b .L1797 +.L1800: mov r0, r6 mov r1, #1 bl FtlLowFormatEraseBlock @@ -13109,8 +12760,8 @@ ftl_low_format: add r5, r5, r0 uxth r5, r5 uxth r6, r6 - b .L1838 -.L1840: + b .L1799 +.L1801: mov r0, r5 bl __udivsi3 ldr r3, [r4, #132] @@ -13120,25 +12771,25 @@ ftl_low_format: ldrh r0, [r4, #36] bl FtlFreeSysBlkQueueInit ldrh r5, [r4, #40] -.L1842: +.L1803: ldrh r3, [r4, #42] cmp r3, r5 - bls .L1844 + bls .L1805 mov r0, r5 mov r1, #1 add r5, r5, #1 bl FtlLowFormatEraseBlock uxth r5, r5 - b .L1842 -.L1845: + b .L1803 +.L1806: mov r1, #0 uxth r0, r0 bl FtlLowFormatEraseBlock add r6, r6, r0 mov r0, r5 uxth r6, r6 - b .L1841 -.L1851: + b .L1802 +.L1812: ldr r2, [r4, #2540] lsl r3, r3, #1 ldrh r1, [r5, #4] @@ -13149,7 +12800,7 @@ ftl_low_format: ldr r2, [r4, #2324] strh r1, [r2, r3] @ movhi mov r3, #0 - ldr r2, .L1858+12 + ldr r2, .L1819+12 movw r1, #2396 strb r3, [r4, #2402] strh r3, [r2, #2] @ movhi @@ -13160,21 +12811,21 @@ ftl_low_format: strh r3, [r4, r1] @ movhi mov r3, #1 strb r3, [r4, #2404] -.L1852: +.L1813: mov r0, r7 bl make_superblock ldrb r3, [r4, #2403] @ zero_extendqisi2 cmp r3, #0 ldrh r3, [r5] - bne .L1853 + bne .L1814 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 .L1852 -.L1853: + b .L1813 +.L1814: ldr r2, [r4, #2540] lsl r3, r3, #1 ldrh r1, [r5, #4] @@ -13187,10 +12838,10 @@ ftl_low_format: movw r3, #2444 strh r5, [r4, r3] @ movhi bl FtlFreeSysBlkQueueOut - ldr r3, .L1858+16 + ldr r3, .L1819+16 mov r2, #0 strh r2, [r3, #2] @ movhi - ldr r2, [r4, #3464] + ldr r2, [r4, #3472] strh r5, [r3, #4] @ movhi strh r0, [r3] @ movhi strh r2, [r3, #6] @ movhi @@ -13202,13 +12853,13 @@ ftl_low_format: bl FtlSysBlkInit cmp r0, #0 mov r0, #0 - ldreq r3, .L1858+20 + ldreq r3, .L1819+20 moveq r2, #1 streq r2, [r3] ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1859: +.L1820: .align 2 -.L1858: +.L1819: .word .LANCHOR0 .word 168778952 .word .LANCHOR0+2588 @@ -13232,6 +12883,416 @@ ftl_memcmp: ldmfd sp, {fp, sp, pc} .size ftl_memcmp, .-ftl_memcmp .align 2 + .global FtlWriteToIDB + .syntax unified + .arm + .fpu softvfp + .type FtlWriteToIDB, %function +FtlWriteToIDB: + @ args = 0, pretend = 0, frame = 100 + @ frame_needed = 1, uses_anonymous_args = 0 + mov ip, sp + push {r4, r5, r6, r7, r8, r9, r10, fp, ip, lr, pc} + sub fp, ip, #4 + sub sp, sp, #104 + add r8, r1, r0 + sub r9, r8, #1 + mov r5, r0 + cmp r9, #63 + mov r4, r1 + movhi r3, #0 + movls r3, #1 + cmp r0, #576 + orrcs r3, r3, #1 + mov r7, r2 + cmp r3, #0 + ldr r6, .L1886 + beq .L1823 + ldr r3, [r6, #3676] + cmp r3, #0 + bne .L1824 +.L1885: + mov r4, #0 + b .L1822 +.L1824: + ldr r3, [r6, #3680] + ldr r2, [r3] + str r3, [fp, #-112] + ldr r3, .L1886+4 + cmp r2, r3 + bne .L1826 + ldr r3, [fp, #-112] + mov r2, #0 + ldrh r1, [r6, #10] + add r0, r3, #262144 + movw r3, #65535 +.L1830: + ldr ip, [r0, #-4] + cmp ip, #0 + bne .L1827 + ldr ip, [fp, #-112] + sub r3, r3, #1 + ldr ip, [ip, r2, lsl #2] + add r2, r2, #1 + cmp r2, #4096 + movhi r2, #0 + cmp r3, #4096 + str ip, [r0, #-4]! + bne .L1830 + mov r3, #512 + b .L1883 +.L1827: + add r3, r3, #127 + lsr r3, r3, #7 +.L1883: + str r3, [fp, #-116] + lsl r1, r1, #2 + ldr r3, [fp, #-116] + uxth r1, r1 + ldr r4, .L1886 + add r0, r3, #4 + bl __udivsi3 + add r3, r0, #1 + mov r6, r4 + str r3, [fp, #-120] + ldr r3, [fp, #-116] + lsl r3, r3, #7 + str r3, [fp, #-132] + mov r3, #0 + str r3, [fp, #-124] + str r3, [fp, #-108] +.L1853: + mov r1, #512 + ldr r0, [r4, #3684] + bl __memzero + ldr r3, [fp, #-108] + ldrh r7, [r4, #10] + mul r8, r3, r7 + ldr r3, [r4, #3260] + cmp r3, #0 + moveq r10, #6 + beq .L1831 + ldr r3, [r4, #3264] + cmp r3, #0 + moveq r10, #6 + movne r10, #9 +.L1831: + ldr r3, [r6, #3248] + mov r1, r8 + mov r0, #0 + blx r3 + ldr r3, [fp, #-120] + cmp r3, #1 + beq .L1832 + ldr r3, [r6, #3248] + add r1, r7, r8 + mov r0, #0 + blx r3 +.L1832: + cmp r10, #9 + movne r5, #0 + bne .L1833 + ldr r5, [r6, #3684] + mov r1, #1024 + mov r0, r5 + bl __memzero + ldr r2, .L1886+8 + mov r3, #12 + add r1, r5, #11 + add r0, r5, #23 + stm r5, {r2, r3} + mov r3, #0 + mov r2, #4 + str r3, [r5, #12] + strb r3, [r5, #16] + strb r2, [r5, #17] + strb r3, [r5, #20] + ldrh r2, [r6, #10] + strh r3, [r5, #22] @ movhi + ldr r3, .L1886+12 + strh r2, [r5, #18] @ movhi + mov r2, #16 + strb r2, [r5, #21] +.L1834: + lsr r2, r3, #2 + ldrb ip, [r1, #1]! @ zero_extendqisi2 + add r2, r2, r3, lsl #5 + cmp r0, r1 + add r2, r2, ip + eor r3, r3, r2 + bne .L1834 + str r3, [r5, #8] +.L1833: + ldr r3, [fp, #-120] + mov r9, r8 + mul r3, r7, r3 + mov r7, #0 + str r3, [fp, #-136] + ldr r3, [fp, #-112] + str r3, [fp, #-128] +.L1835: + ldr r3, [fp, #-136] + cmp r7, r3 + beq .L1842 + cmp r10, #9 + addne r3, r8, r7 + addeq r3, r9, #1 + lslne r3, r3, #2 + cmp r7, #0 + cmpeq r10, #9 + moveq r0, #1 + str r3, [fp, #-104] + movw r3, #61424 + str r3, [fp, #-100] + movne r0, #0 + bne .L1838 + ldr r3, [r4, #3260] + mov r0, #70 + blx r3 + sub r3, fp, #104 + ldr ip, [r4, #3252] + mov r2, r5 + mov r1, r8 + mov r0, #0 + blx ip + ldr r2, [r4, #3260] + str r0, [fp, #-140] + ldrb r0, [r4, #22] @ zero_extendqisi2 + blx r2 + ldr r3, [fp, #-140] + cmn r3, #1 + bne .L1839 +.L1842: + ldrb r3, [r4, #14] @ zero_extendqisi2 + ldrh r10, [r4, #10] + ldr r7, [r4, #3684] + str r3, [fp, #-128] + ldr r3, [fp, #-108] + mul r9, r3, r10 + ldr r3, [r4, #3260] + cmp r3, #0 + moveq r8, #6 + beq .L1841 + ldr r3, [r4, #3264] + cmp r3, #0 + moveq r8, #6 + movne r8, #9 +.L1841: + ldr r3, [fp, #-120] + mov r5, #0 + mul r10, r10, r3 +.L1844: + cmp r5, r10 + beq .L1848 + cmp r5, #0 + cmpeq r8, #9 + moveq r0, #1 + movne r0, #0 + bne .L1845 + ldr r3, [r4, #3260] + mov r0, #70 + blx r3 + ldr r3, [r4, #3264] + mov r0, #2 + blx r3 + mov r2, r7 + ldr ip, [r4, #3256] + mov r1, r9 + sub r3, fp, #104 + mov r0, #0 + blx ip + ldr r3, [r4, #3264] + ldr r0, [fp, #-128] + blx r3 + ldr r3, [r4, #3260] + ldrb r0, [r4, #22] @ zero_extendqisi2 + blx r3 + ldr r3, [r7] + ldr r2, .L1886+8 + cmp r3, r2 + beq .L1846 +.L1848: + ldr r0, [r4, #3684] + mov r5, #0 + ldr r3, [fp, #-112] +.L1847: + mov r8, r3 + ldr r1, [r0, r5, lsl #2] + ldr r2, [r8] + lsl r7, r5, #2 + add r3, r3, #4 + cmp r1, r2 + beq .L1850 + mov r1, #512 + bl __memzero + ldr r2, [r6, #3684] + ldr r1, [fp, #-108] + str r5, [sp] + ldr r0, .L1886+16 + ldr r3, [r8] + ldr r2, [r2, r7] + bl sftl_printk + ldrh r1, [r6, #10] + mov r0, #0 + ldr r2, [fp, #-108] + ldr r3, [r6, #3248] + mul r1, r2, r1 + blx r3 +.L1851: + ldr r3, [fp, #-108] + ldr r2, [fp, #-120] + add r3, r3, r2 + cmp r3, #15 + str r3, [fp, #-108] + bls .L1853 + ldr r3, [fp, #-124] + cmp r3, #0 + bne .L1854 +.L1826: + mvn r3, #0 + str r3, [fp, #-116] +.L1854: + ldr r5, .L1886 + mov r3, #0 + ldr r4, [fp, #-116] + ldr r0, [r5, #3680] + str r3, [r5, #3676] + bl kfree + ldr r0, [r5, #3684] + bl kfree +.L1822: + mov r0, r4 + sub sp, fp, #40 + ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} +.L1838: + ldr ip, [r4, #3252] + sub r3, fp, #104 + ldr r2, [fp, #-128] + mov r1, r9 + blx ip + cmn r0, #1 + beq .L1842 + ldr r3, [fp, #-128] + add r3, r3, #2048 + str r3, [fp, #-128] +.L1839: + add r7, r7, #1 + add r9, r9, #1 + b .L1835 +.L1845: + ldr ip, [r4, #3256] + sub r3, fp, #104 + mov r2, r7 + add r1, r9, r5 + blx ip + cmn r0, #1 + beq .L1848 + ldr r2, [fp, #-100] + movw r3, #61424 + cmp r2, r3 + bne .L1848 + add r7, r7, #2048 +.L1846: + add r5, r5, #1 + b .L1844 +.L1850: + ldr r2, [fp, #-132] + add r5, r5, #1 + cmp r5, r2 + bne .L1847 + ldr r3, [fp, #-124] + add r3, r3, #1 + cmp r3, #5 + str r3, [fp, #-124] + bls .L1851 + b .L1854 +.L1823: + cmp r0, #64 + bne .L1855 + mov r0, #262144 + bl ftl_malloc + str r0, [r6, #3680] + mov r0, #262144 + bl ftl_malloc + ldr r3, [r6, #3680] + str r0, [r6, #3684] + cmp r0, #0 + cmpne r3, #0 + beq .L1856 + mov r2, #1 + mov r1, #262144 + mov r0, r3 + str r2, [r6, #3676] + bl __memzero +.L1855: + ldr r3, [r6, #3676] + cmp r3, #0 + beq .L1885 + cmp r5, #63 + ldr r1, [r6, #3680] + ldrhi r6, .L1886+20 + rsbls r5, r5, #64 + subls r4, r4, r5 + addls r7, r7, r5, lsl #9 + movls r6, r1 + ldr r0, .L1886+24 + addhi r6, r5, r6 + mov r2, #262144 + addhi r6, r1, r6, lsl #9 + cmp r9, #576 + subcs r4, r4, r8 + subcs r4, r4, #444 + mov r3, r6 + subcs r4, r4, #2 + str r4, [sp] + bl sftl_printk + lsl r2, r4, #9 + mov r1, r7 + mov r0, r6 + bl ftl_memcpy + b .L1885 +.L1856: + ldr r1, .L1886+28 + ldr r0, .L1886+32 + bl sftl_printk + b .L1855 +.L1887: + .align 2 +.L1886: + .word .LANCHOR0 + .word -52655045 + .word 1179535694 + .word 1204201446 + .word .LC115 + .word 8388544 + .word .LC117 + .word .LANCHOR1+615 + .word .LC116 + .size FtlWriteToIDB, .-FtlWriteToIDB + .align 2 + .global sftl_write + .syntax unified + .arm + .fpu softvfp + .type sftl_write, %function +sftl_write: + @ args = 0, pretend = 0, frame = 0 + @ frame_needed = 1, uses_anonymous_args = 0 + mov ip, sp + push {r4, r5, r6, fp, ip, lr, pc} + sub fp, ip, #4 + mov r5, r1 + mov r6, r2 + mov r4, r0 + bl FtlWriteToIDB + mov r3, r6 + mov r2, r5 + mov r1, r4 + mov r0, #0 + bl FtlWrite + ldmfd sp, {r4, r5, r6, fp, sp, pc} + .size sftl_write, .-sftl_write + .align 2 .global rk_sftl_vendor_dev_ops_register .syntax unified .arm @@ -13243,17 +13304,17 @@ rk_sftl_vendor_dev_ops_register: mov ip, sp push {fp, ip, lr, pc} sub fp, ip, #4 - ldr r2, .L1864 - ldr r3, [r2, #3680] + ldr r2, .L1892 + ldr r3, [r2, #3688] cmp r3, #0 - streq r0, [r2, #3680] + streq r0, [r2, #3688] moveq r0, r3 - streq r1, [r2, #3684] + streq r1, [r2, #3692] mvnne r0, #0 ldmfd sp, {fp, sp, pc} -.L1865: +.L1893: .align 2 -.L1864: +.L1892: .word .LANCHOR0 .size rk_sftl_vendor_dev_ops_register, .-rk_sftl_vendor_dev_ops_register .align 2 @@ -13269,28 +13330,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, .L1875 + ldr r4, .L1903 bl ftl_malloc cmp r0, #0 - str r0, [r4, #3688] + str r0, [r4, #3696] mvneq r9, #11 - beq .L1866 - ldr r8, .L1875+4 + beq .L1894 + ldr r8, .L1903+4 mov r6, #0 mov r5, r6 mov r7, r6 -.L1870: - ldr r3, [r4, #3680] +.L1898: + ldr r3, [r4, #3688] mov r1, #128 - ldr r2, [r4, #3688] + ldr r2, [r4, #3696] lsl r0, r7, #7 blx r3 subs r9, r0, #0 - bne .L1868 - ldr r2, [r4, #3688] + bne .L1896 + ldr r2, [r4, #3696] ldr r3, [r2] cmp r3, r8 - bne .L1869 + bne .L1897 add r1, r2, #61440 ldr r3, [r2, #4] ldr r1, [r1, #4092] @@ -13302,44 +13363,44 @@ rk_sftl_vendor_storage_init: cmp r1, #0 movne r6, r7 movne r5, r3 -.L1869: +.L1897: add r7, r7, #1 cmp r7, #2 - bne .L1870 + bne .L1898 cmp r5, #0 - beq .L1871 - ldr r3, [r4, #3680] + beq .L1899 + ldr r3, [r4, #3688] mov r1, #128 lsl r0, r6, #7 blx r3 subs r9, r0, #0 - beq .L1866 -.L1868: - ldr r0, [r4, #3688] + beq .L1894 +.L1896: + ldr r0, [r4, #3696] mvn r9, #0 bl kfree mov r3, #0 - str r3, [r4, #3688] - b .L1866 -.L1871: + str r3, [r4, #3696] + b .L1894 +.L1899: mov r1, #65536 mov r0, r2 bl __memzero - ldr r3, [r4, #3688] + ldr r3, [r4, #3696] mov r2, #1 add r1, r3, #61440 str r2, [r3, #4] str r8, [r3] str r2, [r1, #4092] - ldr r2, .L1875+8 + ldr r2, .L1903+8 strh r5, [r3, #12] @ movhi strh r2, [r3, #14] @ movhi -.L1866: +.L1894: mov r0, r9 ldmfd sp, {r4, r5, r6, r7, r8, r9, fp, sp, pc} -.L1876: +.L1904: .align 2 -.L1875: +.L1903: .word .LANCHOR0 .word 1380668996 .word -1032 @@ -13356,26 +13417,26 @@ rk_sftl_vendor_read: mov ip, sp push {r4, r5, fp, ip, lr, pc} sub fp, ip, #4 - ldr r3, .L1883 + ldr r3, .L1911 mov r4, r0 mov r0, r1 - ldr ip, [r3, #3688] + ldr ip, [r3, #3696] cmp ip, #0 ldrhne lr, [ip, #10] movne r3, #0 - bne .L1879 -.L1882: + bne .L1907 +.L1910: mvn r0, #0 ldmfd sp, {r4, r5, fp, sp, pc} -.L1880: +.L1908: add r3, r3, #1 -.L1879: +.L1907: cmp r3, lr - bcs .L1882 + bcs .L1910 add r1, ip, r3, lsl #3 ldrh r5, [r1, #16] cmp r5, r4 - bne .L1880 + bne .L1908 ldrh r4, [r1, #20] ldrh r1, [r1, #18] cmp r4, r2 @@ -13386,9 +13447,9 @@ rk_sftl_vendor_read: bl memcpy mov r0, r4 ldmfd sp, {r4, r5, fp, sp, pc} -.L1884: +.L1912: .align 2 -.L1883: +.L1911: .word .LANCHOR0 .size rk_sftl_vendor_read, .-rk_sftl_vendor_read .align 2 @@ -13405,23 +13466,23 @@ rk_sftl_vendor_write: sub fp, ip, #4 sub sp, sp, #24 mov ip, r1 - ldr r8, .L1904 + ldr r8, .L1932 mov r9, r2 - ldr r4, [r8, #3688] + ldr r4, [r8, #3696] cmp r4, #0 - beq .L1900 + beq .L1928 ldrh r2, [r4, #10] add r7, r9, #63 ldrh r3, [r4, #8] bic r7, r7, #63 mov r5, #0 str r3, [fp, #-44] -.L1887: +.L1915: cmp r5, r2 - bcc .L1895 + bcc .L1923 ldrh r1, [r4, #14] cmp r7, r1 - bhi .L1900 + bhi .L1928 add r3, r4, r2, lsl #3 uxth r7, r7 strh r0, [r3, #16] @ movhi @@ -13452,32 +13513,32 @@ rk_sftl_vendor_write: cmp r3, #1 movhi r3, #0 strh r3, [r4, #8] @ movhi - ldr r3, [r8, #3684] - b .L1903 -.L1895: + ldr r3, [r8, #3692] + b .L1931 +.L1923: add r6, r4, r5, lsl #3 ldrh r3, [r6, #16] cmp r3, r0 str r3, [fp, #-48] - bne .L1888 + bne .L1916 ldrh r1, [r6, #20] add r3, r4, #1024 add r1, r1, #63 bic r1, r1, #63 cmp r9, r1 str r1, [fp, #-52] - bls .L1889 + bls .L1917 ldrh r1, [r4, #14] cmp r7, r1 - bhi .L1900 + bhi .L1928 ldrh r8, [r6, #18] sub r2, r2, #1 str r2, [fp, #-56] -.L1890: +.L1918: ldr r2, [fp, #-56] add r6, r6, #8 cmp r5, r2 - bcc .L1891 + bcc .L1919 ldrh r2, [fp, #-48] add r5, r4, r5, lsl #3 uxth r8, r8 @@ -13496,7 +13557,7 @@ rk_sftl_vendor_write: strh r8, [r4, #12] @ movhi add r7, r7, r3 strh r7, [r4, #14] @ movhi -.L1892: +.L1920: ldr r3, [r4, #4] add r2, r4, #61440 add r3, r3, #1 @@ -13508,19 +13569,19 @@ rk_sftl_vendor_write: cmp r3, #1 movhi r3, #0 strh r3, [r4, #8] @ movhi - ldr r3, .L1904 - ldr r3, [r3, #3684] -.L1903: + ldr r3, .L1932 + ldr r3, [r3, #3692] +.L1931: ldr r0, [fp, #-44] mov r2, r4 mov r1, #128 lsl r0, r0, #7 blx r3 mov r0, #0 -.L1885: +.L1913: sub sp, fp, #40 ldmfd sp, {r4, r5, r6, r7, r8, r9, r10, fp, sp, pc} -.L1891: +.L1919: ldrh r10, [r6, #20] add r0, r3, r8 ldrh r2, [r6, #16] @@ -13539,8 +13600,8 @@ rk_sftl_vendor_write: bl memcpy ldr ip, [fp, #-64] ldr r3, [fp, #-60] - b .L1890 -.L1889: + b .L1918 +.L1917: add r5, r4, r5, lsl #3 mov r2, r9 mov r1, ip @@ -13548,16 +13609,16 @@ rk_sftl_vendor_write: add r0, r3, r0 bl memcpy strh r9, [r6, #20] @ movhi - b .L1892 -.L1888: + b .L1920 +.L1916: add r5, r5, #1 - b .L1887 -.L1900: + b .L1915 +.L1928: mvn r0, #0 - b .L1885 -.L1905: + b .L1913 +.L1933: .align 2 -.L1904: +.L1932: .word .LANCHOR0 .size rk_sftl_vendor_write, .-rk_sftl_vendor_write .align 2 @@ -13578,18 +13639,18 @@ rk_sftl_vendor_storage_ioctl: bl ftl_malloc subs r4, r0, #0 mvneq r5, #0 - beq .L1906 - ldr r3, .L1931 + beq .L1934 + ldr r3, .L1959 cmp r6, r3 - beq .L1909 + beq .L1937 add r3, r3, #1 cmp r6, r3 - beq .L1910 -.L1926: + beq .L1938 +.L1954: mvn r5, #13 - b .L1908 -.L1909: - ldr r6, .L1931+4 + b .L1936 +.L1937: + ldr r6, .L1959+4 mov r3, sp and r3, r3, r6 ldr r3, [r3, #72] @@ -13600,31 +13661,31 @@ rk_sftl_vendor_storage_ioctl: .arm .syntax unified cmp r3, #0 - bne .L1916 + bne .L1944 mov r2, #8 mov r1, r5 bl arm_copy_from_user cmp r0, #0 - bne .L1926 + bne .L1954 ldr r2, [r4] - ldr r3, .L1931+8 + ldr r3, .L1959+8 cmp r2, r3 - beq .L1914 -.L1915: + beq .L1942 +.L1943: mvn r5, #0 -.L1908: +.L1936: mov r0, r4 bl kfree -.L1906: +.L1934: mov r0, r5 ldmfd sp, {r4, r5, r6, fp, sp, pc} -.L1914: +.L1942: ldrh r2, [r4, #6] add r1, r4, #8 ldrh r0, [r4, #4] bl rk_sftl_vendor_read cmn r0, #1 - beq .L1915 + beq .L1943 mov r3, sp uxth r2, r0 and r6, r6, r3 @@ -13638,15 +13699,15 @@ rk_sftl_vendor_storage_ioctl: .arm .syntax unified cmp r3, #0 - bne .L1926 + bne .L1954 mov r0, r5 mov r1, r4 bl arm_copy_to_user subs r5, r0, #0 - beq .L1908 - b .L1926 -.L1910: - ldr r6, .L1931+4 + beq .L1936 + b .L1954 +.L1938: + ldr r6, .L1959+4 mov r3, sp and r3, r3, r6 ldr r3, [r3, #72] @@ -13657,20 +13718,20 @@ rk_sftl_vendor_storage_ioctl: .arm .syntax unified cmp r3, #0 - bne .L1916 + bne .L1944 mov r2, #8 mov r1, r5 bl arm_copy_from_user cmp r0, #0 - bne .L1926 + bne .L1954 ldr r2, [r4] - ldr r3, .L1931+8 + ldr r3, .L1959+8 cmp r2, r3 - bne .L1915 + bne .L1943 ldrh r2, [r4, #6] movw r3, #4087 cmp r2, r3 - bhi .L1915 + bhi .L1943 mov r3, sp add r2, r2, #8 and r6, r6, r3 @@ -13684,26 +13745,26 @@ rk_sftl_vendor_storage_ioctl: cmp r3, #0 movne r1, r2 movne r0, r4 - bne .L1930 + bne .L1958 mov r1, r5 mov r0, r4 bl arm_copy_from_user cmp r0, #0 - bne .L1926 + bne .L1954 ldrh r2, [r4, #6] add r1, r4, #8 ldrh r0, [r4, #4] bl rk_sftl_vendor_write mov r5, r0 - b .L1908 -.L1916: + b .L1936 +.L1944: mov r1, #8 -.L1930: +.L1958: bl __memzero - b .L1926 -.L1932: + b .L1954 +.L1960: .align 2 -.L1931: +.L1959: .word 1074034177 .word -8192 .word 1448232273 @@ -13720,12 +13781,12 @@ rk_sftl_vendor_register: mov ip, sp push {fp, ip, lr, pc} sub fp, ip, #4 - ldr r0, .L1934 + ldr r0, .L1962 bl misc_register ldmfd sp, {fp, sp, pc} -.L1935: +.L1963: .align 2 -.L1934: +.L1962: .word .LANCHOR2+12 .size rk_sftl_vendor_register, .-rk_sftl_vendor_register .global g_nand_ops @@ -13880,149 +13941,149 @@ rk_sftl_vendor_register: .section .rodata .align 2 .set .LANCHOR1,. + 0 - .type __func__.4011, %object - .size __func__.4011, 17 -__func__.4011: + .type __func__.3954, %object + .size __func__.3954, 17 +__func__.3954: .ascii "INSERT_DATA_LIST\000" - .type __func__.4006, %object - .size __func__.4006, 17 -__func__.4006: + .type __func__.3949, %object + .size __func__.3949, 17 +__func__.3949: .ascii "INSERT_FREE_LIST\000" - .type __func__.4042, %object - .size __func__.4042, 17 -__func__.4042: + .type __func__.3985, %object + .size __func__.3985, 17 +__func__.3985: .ascii "List_remove_node\000" - .type __func__.4074, %object - .size __func__.4074, 22 -__func__.4074: + .type __func__.4017, %object + .size __func__.4017, 22 +__func__.4017: .ascii "List_update_data_list\000" - .type __func__.4181, %object - .size __func__.4181, 22 -__func__.4181: + .type __func__.4124, %object + .size __func__.4124, 22 +__func__.4124: .ascii "select_l2p_ram_region\000" - .type __func__.4504, %object - .size __func__.4504, 16 -__func__.4504: - .ascii "make_superblock\000" - .type __func__.4679, %object - .size __func__.4679, 19 -__func__.4679: - .ascii "get_new_active_ppa\000" - .type __func__.15086, %object - .size __func__.15086, 17 -__func__.15086: - .ascii "FlashEraseBlocks\000" - .type __func__.4116, %object - .size __func__.4116, 26 -__func__.4116: - .ascii "ftl_map_blk_alloc_new_blk\000" - .type __func__.3543, %object - .size __func__.3543, 11 -__func__.3543: - .ascii "FtlMemInit\000" - .type __func__.3848, %object - .size __func__.3848, 14 -__func__.3848: - .ascii "FtlBbt2Bitmap\000" - .type __func__.4525, %object - .size __func__.4525, 18 -__func__.4525: - .ascii "SupperBlkListInit\000" - .type __func__.15043, %object - .size __func__.15043, 15 -__func__.15043: - .ascii "FlashReadPages\000" - .type __func__.4293, %object - .size __func__.4293, 14 -__func__.4293: - .ascii "FtlScanSysBlk\000" - .type __func__.3891, %object - .size __func__.3891, 11 -__func__.3891: - .ascii "FtlLoadBbt\000" - .type __func__.4350, %object - .size __func__.4350, 15 -__func__.4350: - .ascii "FtlLoadSysInfo\000" - .type __func__.15062, %object - .size __func__.15062, 15 -__func__.15062: - .ascii "FlashProgPages\000" - .type __func__.4142, %object - .size __func__.4142, 31 -__func__.4142: - .ascii "Ftl_write_map_blk_to_last_page\000" - .type __func__.4156, %object - .size __func__.4156, 16 -__func__.4156: - .ascii "FtlMapWritePage\000" - .type __func__.4083, %object - .size __func__.4083, 16 -__func__.4083: - .ascii "load_l2p_region\000" - .type __func__.4127, %object - .size __func__.4127, 15 -__func__.4127: - .ascii "ftl_map_blk_gc\000" - .type __func__.4198, %object - .size __func__.4198, 9 -__func__.4198: - .ascii "log2phys\000" - .type __func__.4413, %object - .size __func__.4413, 16 -__func__.4413: - .ascii "FtlReUsePrevPpa\000" - .type __func__.4566, %object - .size __func__.4566, 14 -__func__.4566: - .ascii "ftl_check_vpc\000" - .type __func__.4651, %object - .size __func__.4651, 25 -__func__.4651: - .ascii "allocate_data_superblock\000" - .type __func__.4692, %object - .size __func__.4692, 16 -__func__.4692: - .ascii "update_vpc_list\000" - .type __func__.4699, %object - .size __func__.4699, 20 -__func__.4699: - .ascii "decrement_vpc_count\000" .type __func__.4447, %object - .size __func__.4447, 22 + .size __func__.4447, 16 __func__.4447: + .ascii "make_superblock\000" + .type __func__.4622, %object + .size __func__.4622, 19 +__func__.4622: + .ascii "get_new_active_ppa\000" + .type __func__.15029, %object + .size __func__.15029, 17 +__func__.15029: + .ascii "FlashEraseBlocks\000" + .type __func__.4059, %object + .size __func__.4059, 26 +__func__.4059: + .ascii "ftl_map_blk_alloc_new_blk\000" + .type __func__.3564, %object + .size __func__.3564, 11 +__func__.3564: + .ascii "FtlMemInit\000" + .type __func__.3791, %object + .size __func__.3791, 14 +__func__.3791: + .ascii "FtlBbt2Bitmap\000" + .type __func__.4468, %object + .size __func__.4468, 18 +__func__.4468: + .ascii "SupperBlkListInit\000" + .type __func__.14986, %object + .size __func__.14986, 15 +__func__.14986: + .ascii "FlashReadPages\000" + .type __func__.4236, %object + .size __func__.4236, 14 +__func__.4236: + .ascii "FtlScanSysBlk\000" + .type __func__.3834, %object + .size __func__.3834, 11 +__func__.3834: + .ascii "FtlLoadBbt\000" + .type __func__.4293, %object + .size __func__.4293, 15 +__func__.4293: + .ascii "FtlLoadSysInfo\000" + .type __func__.15005, %object + .size __func__.15005, 15 +__func__.15005: + .ascii "FlashProgPages\000" + .type __func__.4085, %object + .size __func__.4085, 31 +__func__.4085: + .ascii "Ftl_write_map_blk_to_last_page\000" + .type __func__.4099, %object + .size __func__.4099, 16 +__func__.4099: + .ascii "FtlMapWritePage\000" + .type __func__.4026, %object + .size __func__.4026, 16 +__func__.4026: + .ascii "load_l2p_region\000" + .type __func__.4070, %object + .size __func__.4070, 15 +__func__.4070: + .ascii "ftl_map_blk_gc\000" + .type __func__.4141, %object + .size __func__.4141, 9 +__func__.4141: + .ascii "log2phys\000" + .type __func__.4356, %object + .size __func__.4356, 16 +__func__.4356: + .ascii "FtlReUsePrevPpa\000" + .type __func__.4509, %object + .size __func__.4509, 14 +__func__.4509: + .ascii "ftl_check_vpc\000" + .type __func__.4594, %object + .size __func__.4594, 25 +__func__.4594: + .ascii "allocate_data_superblock\000" + .type __func__.4635, %object + .size __func__.4635, 16 +__func__.4635: + .ascii "update_vpc_list\000" + .type __func__.4642, %object + .size __func__.4642, 20 +__func__.4642: + .ascii "decrement_vpc_count\000" + .type __func__.4390, %object + .size __func__.4390, 22 +__func__.4390: .ascii "FtlRecoverySuperblock\000" - .type __func__.4271, %object - .size __func__.4271, 15 -__func__.4271: + .type __func__.4214, %object + .size __func__.4214, 15 +__func__.4214: .ascii "FtlVpcTblFlush\000" - .type __func__.4550, %object - .size __func__.4550, 21 -__func__.4550: + .type __func__.4493, %object + .size __func__.4493, 21 +__func__.4493: .ascii "FtlVpcCheckAndModify\000" - .type __func__.4672, %object - .size __func__.4672, 29 -__func__.4672: + .type __func__.4615, %object + .size __func__.4615, 29 +__func__.4615: .ascii "allocate_new_data_superblock\000" - .type __func__.3667, %object - .size __func__.3667, 13 -__func__.3667: + .type __func__.3688, %object + .size __func__.3688, 13 +__func__.3688: .ascii "FtlProgPages\000" - .type __func__.4769, %object - .size __func__.4769, 19 -__func__.4769: + .type __func__.4712, %object + .size __func__.4712, 19 +__func__.4712: .ascii "FtlGcFreeTempBlock\000" - .type __func__.4880, %object - .size __func__.4880, 23 -__func__.4880: + .type __func__.4823, %object + .size __func__.4823, 23 +__func__.4823: .ascii "rk_ftl_garbage_collect\000" - .type __func__.3695, %object - .size __func__.3695, 9 -__func__.3695: + .type __func__.3716, %object + .size __func__.3716, 9 +__func__.3716: .ascii "FtlWrite\000" - .type __func__.3807, %object - .size __func__.3807, 14 -__func__.3807: + .type __func__.15153, %object + .size __func__.15153, 14 +__func__.15153: .ascii "FtlWriteToIDB\000" .space 3 .type rk_sftl_vendor_storage_fops, %object @@ -14052,7 +14113,7 @@ power_up_flag: .size rkflash_vender_storage_dev, 40 rkflash_vender_storage_dev: .word 255 - .word .LC119 + .word .LC118 .word rk_sftl_vendor_storage_fops .space 28 .bss @@ -14451,9 +14512,9 @@ g_gc_bad_block_temp_tbl: g_gc_bad_block_gc_index: .space 2 .type g_nand_ops, %object - .size g_nand_ops, 16 + .size g_nand_ops, 24 g_nand_ops: - .space 16 + .space 24 .type req_erase, %object .size req_erase, 4 req_erase: @@ -14830,7 +14891,7 @@ gp_last_act_superblock: .LC69: .ascii "free %d. [0x%x] 0x%x 0x%x\012\000" .LC70: - .ascii "SFTL version: 5.0.48 20180930\000" + .ascii "SFTL version: 5.0.49 20181030\000" .LC71: .ascii "%s\012\000" .LC72: @@ -14923,12 +14984,10 @@ gp_last_act_superblock: .LC114: .ascii "FtlWrite: lpa error:%x %x\012\000" .LC115: - .ascii "write_idblock fix data %x %x %x\012\000" -.LC116: .ascii "write_idblock fail! %x %x %x %x\012\000" -.LC117: +.LC116: .ascii "%s idb buffer alloc fail\012\000" -.LC118: +.LC117: .ascii "%p %x %p %x\012\000" -.LC119: +.LC118: .ascii "vendor_storage\000" diff --git a/drivers/rkflash/rk_sftl_arm_v7_thumb.S b/drivers/rkflash/rk_sftl_arm_v7_thumb.S index 7103ff940fd1..c8341eccf2bf 100644 --- a/drivers/rkflash/rk_sftl_arm_v7_thumb.S +++ b/drivers/rkflash/rk_sftl_arm_v7_thumb.S @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0 */ /* Copyright (c) 2018 Rockchip Electronics Co. Ltd. - * date: 2018-11-02 + * date: 2018-11-29 */ .arch armv7-a .eabi_attribute 20, 1 @@ -178,24 +178,27 @@ FtlConstantsInit: push {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} mov fp, r0 - ldrh r3, [fp, #14] - ldrh r2, [r0] + ldrh r3, [fp, #6] + ldrh r1, [fp, #14] ldr r4, .L25 - cmp r3, #4 + ldrh r2, [r0] + cmp r1, #4 ldrh r6, [r0, #2] + strh r3, [r4, #42] @ movhi + it eq + lsreq r3, r3, #1 + strh r1, [r4, #58] @ movhi + ldr r1, .L25+4 + itt eq + strheq r3, [r4, #42] @ movhi + moveq r3, #8 ldrh r0, [r0, #4] + it eq + strheq r3, [r4, #58] @ movhi + movs r3, #0 strh r2, [r4, #52] @ movhi strh r6, [r4, #54] @ movhi strh r0, [r4, #56] @ movhi - bne .L16 - ldrh r3, [fp, #6] - lsrs r3, r3, #1 - strh r3, [r4, #42] @ movhi - movs r3, #8 - strh r3, [r4, #58] @ movhi -.L16: - ldr r1, .L25+4 - movs r3, #0 .L17: strb r3, [r3, r1] adds r3, r3, #1 @@ -3523,7 +3526,7 @@ FtlFreeSysBlkQueueIn: cbz r1, .L410 bl P2V_block_in_plane mov r6, r0 - ldr r0, [r4, #3260] + ldr r0, [r4, #3268] lsls r3, r5, #10 movs r2, #1 mov r1, r2 @@ -3572,7 +3575,7 @@ FtlFreeSysBlkQueueOut: cbz r2, .L423 ldrh r3, [r4, #214] subs r2, r2, #1 - ldr r0, [r4, #3260] + ldr r0, [r4, #3268] strh r2, [r4, #218] @ movhi movs r2, #1 add r1, r4, r3, lsl #1 @@ -3775,7 +3778,7 @@ FtlMemInit: movs r7, #12 movs r6, #20 ldrh r0, [r4, #106] - str r3, [r4, #3268] + str r3, [r4, #3276] strh r3, [r4, #3202] @ movhi strh r3, [r4, #3204] @ movhi movs r3, #32 @@ -3796,11 +3799,11 @@ FtlMemInit: str r5, [r4, #2560] str r5, [r4, #2564] str r5, [r4, #2568] - str r5, [r4, #3264] - str r5, [r4, #3160] str r5, [r4, #3272] + str r5, [r4, #3160] + str r5, [r4, #3280] str r5, [r4, #3152] - str r5, [r4, #3276] + str r5, [r4, #3284] strh r5, [r4, #3156] @ movhi strh r5, [r4, #3206] @ movhi strh r5, [r4, #3242] @ movhi @@ -3815,16 +3818,16 @@ FtlMemInit: lsl r8, r6, #2 mov r0, r8 bl ftl_malloc - str r0, [r4, #3280] - mov r0, r6 - bl ftl_malloc - str r0, [r4, #3284] - mov r0, r8 - bl ftl_malloc str r0, [r4, #3288] mov r0, r6 bl ftl_malloc - str r0, [r4, #3260] + str r0, [r4, #3292] + mov r0, r8 + bl ftl_malloc + str r0, [r4, #3296] + mov r0, r6 + bl ftl_malloc + str r0, [r4, #3268] mov r0, r6 bl ftl_malloc ldrh r3, [r4, #32] @@ -3835,17 +3838,7 @@ FtlMemInit: adds r3, r3, #1 str r3, [r4, #3184] bl ftl_malloc - str r0, [r4, #3292] - mov r0, r6 - bl ftl_malloc - str r0, [r4, #3296] - mov r0, r6 - bl ftl_malloc str r0, [r4, #3300] - ldr r0, [r4, #3184] - muls r0, r6, r0 - bl ftl_malloc - str r0, [r4, #3172] mov r0, r6 bl ftl_malloc str r0, [r4, #3304] @@ -3853,29 +3846,39 @@ FtlMemInit: bl ftl_malloc str r0, [r4, #3308] ldr r0, [r4, #3184] - muls r0, r7, r0 + muls r0, r6, r0 bl ftl_malloc - str r0, [r4, #3168] + str r0, [r4, #3172] mov r0, r6 bl ftl_malloc str r0, [r4, #3312] mov r0, r6 bl ftl_malloc str r0, [r4, #3316] + ldr r0, [r4, #3184] + muls r0, r7, r0 + bl ftl_malloc + str r0, [r4, #3168] + mov r0, r6 + bl ftl_malloc + str r0, [r4, #3320] + mov r0, r6 + bl ftl_malloc + str r0, [r4, #3324] ldrh r0, [r4, #58] lsls r0, r0, #2 bl ftl_malloc ldrh r3, [r4, #112] ldrh r6, [r4, #32] - str r0, [r4, #3320] + str r0, [r4, #3328] muls r6, r3, r6 mov r0, r6 bl ftl_malloc - str r0, [r4, #3324] + str r0, [r4, #3332] lsls r0, r6, #2 bl ftl_malloc ldrh r3, [r4, #112] - str r0, [r4, #3328] + str r0, [r4, #3336] ldr r0, [r4, #3184] muls r0, r3, r0 bl ftl_malloc @@ -3883,24 +3886,24 @@ FtlMemInit: ldrh r0, [r4, #42] lsls r0, r0, #1 uxth r0, r0 - strh r0, [r4, #3332] @ movhi + strh r0, [r4, #3340] @ movhi bl ftl_malloc - ldrh r3, [r4, #3332] - str r0, [r4, #3336] + ldrh r3, [r4, #3340] + str r0, [r4, #3344] ldr r0, .L551+4 addw r3, r3, #547 lsrs r3, r3, #9 and r0, r0, r3, lsl #9 - strh r3, [r4, #3332] @ movhi + strh r3, [r4, #3340] @ movhi bl ftl_malloc ldrh r6, [r4, #42] - str r0, [r4, #3340] + str r0, [r4, #3348] adds r0, r0, #32 str r0, [r4, #2328] lsls r6, r6, #1 mov r0, r6 bl ftl_malloc - str r0, [r4, #3344] + str r0, [r4, #3352] mov r0, r6 bl ftl_malloc ldr r6, [r4, #128] @@ -3908,10 +3911,10 @@ FtlMemInit: lsls r6, r6, #1 mov r0, r6 bl ftl_malloc - str r0, [r4, #3348] + str r0, [r4, #3356] mov r0, r6 bl ftl_malloc - str r0, [r4, #3352] + str r0, [r4, #3360] ldrh r0, [r4, #42] lsrs r0, r0, #3 adds r0, r0, #4 @@ -3924,28 +3927,28 @@ FtlMemInit: ldrh r0, [r4, #120] lsls r0, r0, #1 bl ftl_malloc - str r0, [r4, #3356] + str r0, [r4, #3364] ldrh r0, [r4, #120] lsls r0, r0, #2 bl ftl_malloc - str r0, [r4, #3360] + str r0, [r4, #3368] ldrh r0, [r4, #122] lsls r0, r0, #2 bl ftl_malloc ldrh r2, [r4, #122] mov r1, r5 - str r0, [r4, #3364] + str r0, [r4, #3372] add r5, r4, #180 lsls r2, r2, #2 bl ftl_memset ldrh r0, [r4, #136] lsls r0, r0, #2 bl ftl_malloc - str r0, [r4, #3368] + str r0, [r4, #3376] ldr r0, [r4, #128] lsls r0, r0, #2 bl ftl_malloc - str r0, [r4, #3372] + str r0, [r4, #3380] ldrh r0, [r4, #138] muls r0, r7, r0 bl ftl_malloc @@ -3955,7 +3958,7 @@ FtlMemInit: muls r0, r3, r0 bl ftl_malloc ldrh r3, [r4, #42] - str r0, [r4, #3376] + str r0, [r4, #3384] movs r0, #6 muls r0, r3, r0 bl ftl_malloc @@ -3964,11 +3967,11 @@ FtlMemInit: ldrh r3, [r4, #54] adds r0, r0, #31 asrs r0, r0, #5 - strh r0, [r4, #3380] @ movhi + strh r0, [r4, #3388] @ movhi muls r0, r3, r0 lsls r0, r0, #2 bl ftl_malloc - ldrh r2, [r4, #3380] + ldrh r2, [r4, #3388] movs r3, #1 ldrh r6, [r4, #54] str r0, [r4, #180] @@ -3985,7 +3988,7 @@ FtlMemInit: .L453: cmp r2, r3 bne .L454 - ldr r3, [r4, #3348] + ldr r3, [r4, #3356] cbnz r3, .L455 .L457: ldr r1, .L551+12 @@ -4012,19 +4015,19 @@ FtlMemInit: .word .LANCHOR1+173 .word .LC85 .L455: - ldr r3, [r4, #3352] + ldr r3, [r4, #3360] cmp r3, #0 beq .L457 - ldr r3, [r4, #3368] + ldr r3, [r4, #3376] cmp r3, #0 beq .L457 - ldr r3, [r4, #3372] + ldr r3, [r4, #3380] cmp r3, #0 beq .L457 ldr r3, [r4, #2492] cmp r3, #0 beq .L457 - ldr r3, [r4, #3376] + ldr r3, [r4, #3384] cmp r3, #0 beq .L457 ldr r3, [r4, #2316] @@ -4042,31 +4045,22 @@ FtlMemInit: ldr r3, [r4, #3196] cmp r3, #0 beq .L457 - ldr r3, [r4, #3280] - cmp r3, #0 - beq .L457 ldr r3, [r4, #3288] cmp r3, #0 beq .L457 - ldr r3, [r4, #3260] - cmp r3, #0 - beq .L457 - ldr r3, [r4, #3180] - cmp r3, #0 - beq .L457 - ldr r3, [r4, #3284] - cmp r3, #0 - beq .L457 - ldr r3, [r4, #3292] - cmp r3, #0 - beq .L457 ldr r3, [r4, #3296] cmp r3, #0 beq .L457 - ldr r3, [r4, #3300] + ldr r3, [r4, #3268] cmp r3, #0 beq .L457 - ldr r3, [r4, #3172] + ldr r3, [r4, #3180] + cmp r3, #0 + beq .L457 + ldr r3, [r4, #3292] + cmp r3, #0 + beq .L457 + ldr r3, [r4, #3300] cmp r3, #0 beq .L457 ldr r3, [r4, #3304] @@ -4075,13 +4069,22 @@ FtlMemInit: ldr r3, [r4, #3308] cmp r3, #0 beq .L457 + ldr r3, [r4, #3172] + cmp r3, #0 + beq .L457 + ldr r3, [r4, #3312] + cmp r3, #0 + beq .L457 + ldr r3, [r4, #3316] + cmp r3, #0 + beq .L457 ldr r3, [r4, #3168] cmp r3, #0 beq .L457 - ldr r3, [r4, #3324] + ldr r3, [r4, #3332] cmp r3, #0 beq .L457 - ldr r3, [r4, #3328] + ldr r3, [r4, #3336] cmp r3, #0 beq .L457 ldr r3, [r4, #3176] @@ -4090,20 +4093,20 @@ FtlMemInit: ldr r3, [r4, #2328] cmp r3, #0 beq .L457 - ldr r3, [r4, #3336] + ldr r3, [r4, #3344] cmp r3, #0 beq .L457 ldr r3, [r4, #148] cmp r3, #0 beq .L457 ldr r3, .L553 - ldr r2, [r3, #3356] + ldr r2, [r3, #3364] cmp r2, #0 beq .L457 - ldr r2, [r3, #3360] + ldr r2, [r3, #3368] cmp r2, #0 beq .L457 - ldr r3, [r3, #3364] + ldr r3, [r3, #3372] cmp r3, #0 beq .L457 movs r0, #0 @@ -4134,7 +4137,7 @@ FtlBbt2Bitmap: movw r8, #65535 ldr r9, .L561+4 addw r5, r5, #1022 - ldrh r2, [r6, #3380] + ldrh r2, [r6, #3388] movs r1, #0 ldr r10, .L561+8 mov r0, r7 @@ -4295,13 +4298,13 @@ FtlL2PDataInit: ldr r4, .L588 movs r6, #12 ldr r2, [r4, #128] - ldr r0, [r4, #3352] + ldr r0, [r4, #3360] lsls r2, r2, #1 bl ftl_memset ldrh r3, [r4, #110] movs r1, #255 ldrh r2, [r4, #138] - ldr r0, [r4, #3376] + ldr r0, [r4, #3384] muls r2, r3, r2 bl ftl_memset movs r2, #0 @@ -4315,23 +4318,23 @@ FtlL2PDataInit: cmp r4, r0 bhi .L587 ldr r2, [r3, #128] - strh r1, [r3, #3386] @ movhi - strh r1, [r3, #3384] @ movhi - strh r2, [r3, #3394] @ movhi + strh r1, [r3, #3394] @ movhi + strh r1, [r3, #3392] @ movhi + strh r2, [r3, #3402] @ movhi movw r2, #61634 - strh r2, [r3, #3388] @ movhi - ldrh r2, [r3, #3428] - strh r2, [r3, #3392] @ movhi + strh r2, [r3, #3396] @ movhi + ldrh r2, [r3, #3436] + strh r2, [r3, #3400] @ movhi ldrh r2, [r3, #136] - strh r2, [r3, #3390] @ movhi - ldr r2, [r3, #3348] - str r2, [r3, #3396] - ldr r2, [r3, #3372] - str r2, [r3, #3400] - ldr r2, [r3, #3352] + strh r2, [r3, #3398] @ movhi + ldr r2, [r3, #3356] str r2, [r3, #3404] - ldr r2, [r3, #3368] + ldr r2, [r3, #3380] str r2, [r3, #3408] + ldr r2, [r3, #3360] + str r2, [r3, #3412] + ldr r2, [r3, #3376] + str r2, [r3, #3416] pop {r3, r4, r5, r6, r7, pc} .L587: uxth r2, r2 @@ -4344,7 +4347,7 @@ FtlL2PDataInit: add r0, r0, r4 ldrh r4, [r3, #110] muls r2, r4, r2 - ldr r4, [r3, #3376] + ldr r4, [r3, #3384] bic r2, r2, #3 add r2, r2, r4 str r2, [r0, #8] @@ -4374,13 +4377,13 @@ FtlVariablesInit: movw r3, #65535 mov r1, r5 ldrh r2, [r4, #120] - strh r3, [r4, #3430] @ movhi + strh r3, [r4, #3438] @ movhi mov r3, #-1 ldr r0, [r4, #148] - str r3, [r4, #3440] + str r3, [r4, #3448] lsls r2, r2, #1 - str r5, [r4, #3432] - str r5, [r4, #3436] + str r5, [r4, #3440] + str r5, [r4, #3444] strh r5, [r4, #144] @ movhi bl ftl_memset ldrh r2, [r4, #42] @@ -4390,7 +4393,7 @@ FtlVariablesInit: bl ftl_memset ldrh r2, [r4, #42] mov r1, r5 - ldr r0, [r4, #3336] + ldr r0, [r4, #3344] lsls r2, r2, #1 bl ftl_memset addw r0, r4, #2268 @@ -4649,7 +4652,7 @@ FlashReadPages: lsls r2, r6, #26 ldr r7, [r5, #3256] it ne - ldrne r6, [r5, #3312] + ldrne r6, [r5, #3320] mov r2, r6 blx r7 str r0, [r4] @@ -4688,7 +4691,7 @@ FlashReadPages: it eq streq r0, [r4] .L618: - ldr r3, [r5, #3312] + ldr r3, [r5, #3320] cmp r6, r3 bne .L615 ldr r0, [r4, #8] @@ -4723,12 +4726,12 @@ FtlLoadFactoryBbt: movs r6, #0 ldr r4, .L650 movw r10, #61664 - ldr r3, [r4, #3292] + ldr r3, [r4, #3300] add r7, r4, #162 - ldr r8, [r4, #3324] - addw r9, r4, #3444 - str r3, [r4, #3452] - str r8, [r4, #3456] + ldr r8, [r4, #3332] + addw r9, r4, #3452 + str r3, [r4, #3460] + str r8, [r4, #3464] .L641: ldrh r3, [r4, #54] cmp r6, r3 @@ -4751,9 +4754,9 @@ FtlLoadFactoryBbt: mov r1, r2 mov r0, r9 lsls r3, r3, #10 - str r3, [r4, #3448] + str r3, [r4, #3456] bl FlashReadPages - ldr r3, [r4, #3444] + ldr r3, [r4, #3452] adds r3, r3, #1 beq .L643 ldrh r3, [r8] @@ -4795,7 +4798,7 @@ FtlGetLastWrittenPage: it ne ldrhne r5, [r3, #102] add r0, sp, #4 - ldr r3, [r3, #3316] + ldr r3, [r3, #3324] subs r5, r5, #1 sxth r5, r5 str r3, [sp, #12] @@ -4868,19 +4871,19 @@ FtlScanSysBlk: .pad #20 sub sp, sp, #20 ldr r2, [r4, #128] - ldr r0, [r4, #3372] - strh r5, [r4, #3428] @ movhi + ldr r0, [r4, #3380] + strh r5, [r4, #3436] @ movhi strh r5, [r4, #144] @ movhi lsls r2, r2, #2 bl ftl_memset ldr r2, [r4, #128] mov r1, r5 - ldr r0, [r4, #3348] + ldr r0, [r4, #3356] lsls r2, r2, #1 bl ftl_memset ldrh r2, [r4, #120] mov r1, r5 - ldr r0, [r4, #3360] + ldr r0, [r4, #3368] lsls r2, r2, #2 bl ftl_memset ldrh r2, [r4, #120] @@ -4899,7 +4902,7 @@ FtlScanSysBlk: bls .L708 movs r5, #0 ldrh fp, [r4, #32] - ldr r9, [r4, #3280] + ldr r9, [r4, #3288] mov r7, r5 ldr r3, [r4, #3172] mov r10, #20 @@ -4955,7 +4958,7 @@ FtlScanSysBlk: bls .L707 movs r3, #20 mul r10, r3, r9 - ldr r3, [r4, #3280] + ldr r3, [r4, #3288] add r2, r3, r10 ldr r3, [r3, r10] ldr r5, [r2, #4] @@ -4966,7 +4969,7 @@ FtlScanSysBlk: mov fp, #16 movw r3, #65535 .L676: - ldr r0, [r4, #3280] + ldr r0, [r4, #3288] str r3, [sp, #4] add r0, r0, r10 ldr r2, [r0, #4] @@ -4979,10 +4982,10 @@ FtlScanSysBlk: ldr r3, [sp, #4] cmp r2, r3 bne .L673 - ldr r3, [r4, #3280] + ldr r3, [r4, #3288] mov r2, #-1 str r2, [r3, r10] - ldr r3, [r4, #3280] + ldr r3, [r4, #3288] ldr r3, [r3, r10] cmp r3, r2 bne .L674 @@ -4990,7 +4993,7 @@ FtlScanSysBlk: movs r1, #1 b .L746 .L673: - ldr r2, [r4, #3280] + ldr r2, [r4, #3288] ldr r2, [r2, r10] adds r2, r2, #1 bne .L674 @@ -5036,7 +5039,7 @@ FtlScanSysBlk: bl FtlFreeSysBlkQueueIn b .L679 .L683: - ldrh r2, [r4, #3428] + ldrh r2, [r4, #3436] ldr r3, [r4, #128] cmp r2, r3 bls .L685 @@ -5046,8 +5049,8 @@ FtlScanSysBlk: bl sftl_printk .L685: ldr r1, [r4, #128] - ldrh r0, [r4, #3428] - ldr r10, [r4, #3372] + ldrh r0, [r4, #3436] + ldr r10, [r4, #3380] uxth ip, r1 add r3, ip, #-1 sub ip, ip, r0 @@ -5072,7 +5075,7 @@ FtlScanSysBlk: cmp r1, r0 itt ne addne r0, r0, #1 - strhne r0, [r4, #3428] @ movhi + strhne r0, [r4, #3436] @ movhi .L688: uxth ip, r3 movs r2, #0 @@ -5081,14 +5084,14 @@ FtlScanSysBlk: sxth r1, r2 cmp ip, r0 bhi .L690 - ldr r2, [r4, #3372] + ldr r2, [r4, #3380] cmp r3, #0 ldr r1, [r6, #4] str r1, [r2, fp] - ldr r2, [r4, #3348] + ldr r2, [r4, #3356] strh r5, [r2, r3, lsl #1] @ movhi blt .L679 - ldrh r0, [r4, #3428] + ldrh r0, [r4, #3436] ldr r2, [r4, #128] subs r2, r2, r0 subs r2, r2, #1 @@ -5096,22 +5099,22 @@ FtlScanSysBlk: cmp r3, r2 bgt .L679 .L724: - ldr r2, [r4, #3372] + ldr r2, [r4, #3380] adds r0, r0, #1 ldr r1, [r6, #4] - strh r0, [r4, #3428] @ movhi + strh r0, [r4, #3436] @ movhi str r1, [r2, r3, lsl #2] - ldr r2, [r4, #3348] + ldr r2, [r4, #3356] .L744: strh r5, [r2, r3, lsl #1] @ movhi b .L679 .L690: - ldr r0, [r4, #3372] + ldr r0, [r4, #3380] adds r2, r2, #1 add lr, r0, r1, lsl #2 ldr lr, [lr, #4] str lr, [r0, r1, lsl #2] - ldr r0, [r4, #3348] + ldr r0, [r4, #3356] add lr, r0, r1, lsl #1 ldrh lr, [lr, #2] strh lr, [r0, r1, lsl #1] @ movhi @@ -5139,7 +5142,7 @@ FtlScanSysBlk: .L695: ldrh lr, [r4, #120] ldrh r0, [r4, #144] - ldr r10, [r4, #3360] + ldr r10, [r4, #3368] add ip, lr, #-1 sxth r3, ip sub ip, ip, r0 @@ -5165,7 +5168,7 @@ FtlScanSysBlk: sxth r1, r2 cmp ip, r0 bhi .L700 - ldr r2, [r4, #3360] + ldr r2, [r4, #3368] ldr r1, [r6, #4] str r1, [r2, fp] ldr r2, [r4, #148] @@ -5181,14 +5184,14 @@ FtlScanSysBlk: cmp r3, r2 bgt .L679 adds r1, r1, #1 - ldr r2, [r4, #3360] + ldr r2, [r4, #3368] strh r1, [r4, #144] @ movhi ldr r1, [r6, #4] str r1, [r2, r3, lsl #2] ldr r2, [r4, #148] b .L744 .L700: - ldr r0, [r4, #3360] + ldr r0, [r4, #3368] adds r2, r2, #1 add lr, r0, r1, lsl #2 ldr lr, [lr, #4] @@ -5231,7 +5234,7 @@ FtlScanSysBlk: strh r5, [r4, #2580] @ movhi b .L679 .L708: - ldr r1, [r4, #3348] + ldr r1, [r4, #3356] ldrh r3, [r1] cbz r3, .L710 .L713: @@ -5240,7 +5243,7 @@ FtlScanSysBlk: cmp r2, #0 beq .L711 .L712: - ldrh r2, [r4, #3428] + ldrh r2, [r4, #3436] ldr r3, [r4, #128] cmp r2, r3 bls .L743 @@ -5254,7 +5257,7 @@ FtlScanSysBlk: @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} .L710: - ldrh r2, [r4, #3428] + ldrh r2, [r4, #3436] cmp r2, #0 beq .L713 ldr r0, [r4, #128] @@ -5272,14 +5275,14 @@ FtlScanSysBlk: ldr r1, [r4, #128] cmp r3, r1 bcs .L713 - ldr r1, [r4, #3348] + ldr r1, [r4, #3356] subs r0, r3, r2 ldrh r6, [r1, r3, lsl #1] strh r6, [r1, r0, lsl #1] @ movhi - ldr r1, [r4, #3372] + ldr r1, [r4, #3380] ldr r6, [r1, r3, lsl #2] str r6, [r1, r0, lsl #2] - ldr r1, [r4, #3348] + ldr r1, [r4, #3356] strh r5, [r1, r3, lsl #1] @ movhi adds r3, r3, #1 sxth r3, r3 @@ -5307,7 +5310,7 @@ FtlScanSysBlk: subs r1, r3, r5 ldrh r6, [r2, r3, lsl #1] strh r6, [r2, r1, lsl #1] @ movhi - ldr r2, [r4, #3360] + ldr r2, [r4, #3368] ldr r6, [r2, r3, lsl #2] str r6, [r2, r1, lsl #2] ldr r2, [r4, #148] @@ -5337,11 +5340,11 @@ FtlLoadBbt: .save {r4, r5, r6, r7, r8, lr} movw r8, #61649 ldr r4, .L780 - ldr r3, [r4, #3292] - addw r7, r4, #3444 - ldr r6, [r4, #3324] - str r3, [r4, #3452] - str r6, [r4, #3456] + ldr r3, [r4, #3300] + addw r7, r4, #3452 + ldr r6, [r4, #3332] + str r3, [r4, #3460] + str r6, [r4, #3464] bl FtlBbtMemInit ldrh r5, [r4, #98] subs r5, r5, #1 @@ -5355,20 +5358,20 @@ FtlLoadBbt: movs r2, #1 mov r1, r2 mov r0, r7 - str r3, [r4, #3448] + str r3, [r4, #3456] bl FlashReadPages - ldr r3, [r4, #3444] + ldr r3, [r4, #3452] adds r3, r3, #1 bne .L753 - ldr r3, [r4, #3448] + ldr r3, [r4, #3456] movs r2, #1 mov r1, r2 mov r0, r7 adds r3, r3, #1 - str r3, [r4, #3448] + str r3, [r4, #3456] bl FlashReadPages .L753: - ldr r3, [r4, #3444] + ldr r3, [r4, #3452] adds r3, r3, #1 beq .L754 ldrh r3, [r6] @@ -5391,9 +5394,9 @@ FtlLoadBbt: movs r2, #1 mov r1, r2 ldr r0, .L780+4 - str r3, [r4, #3448] + str r3, [r4, #3456] bl FlashReadPages - ldr r3, [r4, #3444] + ldr r3, [r4, #3452] adds r3, r3, #1 beq .L759 ldrh r2, [r6] @@ -5461,11 +5464,11 @@ FtlLoadBbt: mov r1, r2 mov r0, r7 orr r3, r5, r3, lsl #10 - str r3, [r4, #3448] - ldr r3, [r4, #3292] - str r3, [r4, #3452] + str r3, [r4, #3456] + ldr r3, [r4, #3300] + str r3, [r4, #3460] bl FlashReadPages - ldr r3, [r4, #3444] + ldr r3, [r4, #3452] adds r3, r3, #1 beq .L762 ldrh r3, [r6] @@ -5476,8 +5479,8 @@ FtlLoadBbt: sxth r5, r5 b .L761 .L768: - ldrh r2, [r4, #3380] - ldr r1, [r4, #3452] + ldrh r2, [r4, #3388] + ldr r1, [r4, #3460] ldr r0, [r6, #4]! lsls r2, r2, #2 mla r1, r5, r2, r1 @@ -5491,7 +5494,7 @@ FtlLoadBbt: .align 2 .L780: .word .LANCHOR0 - .word .LANCHOR0+3444 + .word .LANCHOR0+3452 .word .LANCHOR1+245 .word .LC1 .word .LANCHOR0+176 @@ -5512,13 +5515,13 @@ FtlLoadSysInfo: .save {r3, r4, r5, r6, r7, lr} movs r1, #0 ldr r4, .L803 - ldr r3, [r4, #3292] + ldr r3, [r4, #3300] ldrh r2, [r4, #40] ldr r0, [r4, #2324] - str r3, [r4, #3452] - ldr r3, [r4, #3324] + str r3, [r4, #3460] + ldr r3, [r4, #3332] lsls r2, r2, #1 - str r3, [r4, #3456] + str r3, [r4, #3464] bl ftl_memset ldrh r0, [r4, #2576] movw r3, #65535 @@ -5530,7 +5533,7 @@ FtlLoadSysInfo: .L783: ldr r7, .L803+4 movs r1, #1 - addw r6, r4, #3444 + addw r6, r4, #3452 bl FtlGetLastWrittenPage sxth r5, r0 adds r0, r0, #1 @@ -5554,17 +5557,17 @@ FtlLoadSysInfo: bl sftl_printk .L790: movs r2, #48 - ldr r1, [r4, #3452] + ldr r1, [r4, #3460] ldr r0, .L803+16 bl ftl_memcpy ldrh r2, [r4, #40] - ldr r1, [r4, #3452] + ldr r1, [r4, #3460] ldr r0, [r4, #2324] lsls r2, r2, #1 adds r1, r1, #48 bl ftl_memcpy ldrh r1, [r4, #40] - ldr r3, [r4, #3452] + ldr r3, [r4, #3460] ldr r0, [r4, #24] lsrs r2, r1, #3 adds r1, r1, #24 @@ -5588,7 +5591,7 @@ FtlLoadSysInfo: ldr r6, [r4, #44] ldrh r0, [r4, #158] muls r3, r5, r3 - str r5, [r4, #3464] + str r5, [r4, #3472] ldrh r1, [r4, #32] subs r0, r6, r0 subs r0, r0, r5 @@ -5691,18 +5694,18 @@ FtlLoadSysInfo: mov r1, r2 mov r0, r6 orr r3, r5, r3, lsl #10 - str r3, [r4, #3448] - ldr r3, [r4, #3292] - str r3, [r4, #3452] + str r3, [r4, #3456] + ldr r3, [r4, #3300] + str r3, [r4, #3460] bl FlashReadPages - ldr r3, [r4, #3444] + ldr r3, [r4, #3452] adds r3, r3, #1 beq .L786 - ldr r3, [r4, #3292] + ldr r3, [r4, #3300] ldr r3, [r3] cmp r3, r7 bne .L786 - ldr r3, [r4, #3324] + ldr r3, [r4, #3332] ldrh r2, [r3] movw r3, #61604 cmp r2, r3 @@ -5827,7 +5830,7 @@ FlashProgPages: ldr r1, [r5, #8] lsls r3, r1, #26 beq .L827 - ldr r9, [r8, #3312] + ldr r9, [r8, #3320] cmp r1, r9 beq .L815 ldrh r2, [r8, #58] @@ -5870,19 +5873,19 @@ FlashProgPages: str r3, [r5] b .L817 .L825: - ldr r2, [r6, #3312] + ldr r2, [r6, #3320] movs r3, #0 movs r1, #1 add r0, sp, #28 str r3, [r2] - ldr r2, [r6, #3320] + ldr r2, [r6, #3328] str r3, [r2] ldr r3, [r4, #4] ldr r2, [sp, #8] str r3, [sp, #32] - ldr r3, [r6, #3312] - str r3, [sp, #36] ldr r3, [r6, #3320] + str r3, [sp, #36] + ldr r3, [r6, #3328] str r3, [sp, #40] bl FlashReadPages ldr fp, [sp, #28] @@ -5896,7 +5899,7 @@ FlashProgPages: ldr r3, [r4, #12] cbz r3, .L823 ldr r2, [r3] - ldr r3, [r6, #3320] + ldr r3, [r6, #3328] ldr r3, [r3] cmp r2, r3 beq .L823 @@ -5909,7 +5912,7 @@ FlashProgPages: ldr r3, [r4, #8] cbz r3, .L824 ldr r2, [r3] - ldr r3, [r6, #3312] + ldr r3, [r6, #3320] ldr r3, [r3] cmp r2, r3 beq .L824 @@ -5962,7 +5965,7 @@ FtlLowFormatEraseBlock: sub sp, sp, #20 mov fp, r4 str r0, [sp, #4] - str r0, [r4, #3276] + str r0, [r4, #3284] .L846: ldrh r1, [r4, #32] uxth r3, r10 @@ -5974,7 +5977,7 @@ FtlLowFormatEraseBlock: mov r9, #20 mov r2, r6 movs r1, #0 - ldr r0, [r4, #3260] + ldr r0, [r4, #3268] bl FlashEraseBlocks .L854: uxth r3, r8 @@ -6001,7 +6004,7 @@ FtlLowFormatEraseBlock: movs r3, #1 mov r2, r10 mov r1, r6 - ldr r0, [r4, #3260] + ldr r0, [r4, #3268] bl FlashProgPages .L864: uxth r3, r9 @@ -6025,7 +6028,7 @@ FtlLowFormatEraseBlock: .L871: mov r2, r6 mov r1, r10 - ldr r0, [r4, #3260] + ldr r0, [r4, #3268] bl FlashEraseBlocks .L845: mov r0, r5 @@ -6034,7 +6037,7 @@ FtlLowFormatEraseBlock: pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} .L851: uxth r3, r10 - ldr r0, [r4, #3260] + ldr r0, [r4, #3268] movs r2, #0 mul r1, r9, r3 add r3, r3, r4 @@ -6050,12 +6053,12 @@ FtlLowFormatEraseBlock: mov r0, r8 bl FtlBbmIsBadBlock cbnz r0, .L849 - ldr r1, [r4, #3260] + ldr r1, [r4, #3268] lsl r3, r8, #10 - ldr r0, [fp, #3328] + ldr r0, [fp, #3336] mla r1, r9, r6, r1 str r3, [r1, #4] - ldr r3, [r4, #3308] + ldr r3, [r4, #3316] str r3, [r1, #8] ldrh r3, [r4, #112] muls r3, r6, r3 @@ -6075,7 +6078,7 @@ FtlLowFormatEraseBlock: b .L848 .L856: mul r3, r9, r8 - ldr r2, [r4, #3260] + ldr r2, [r4, #3268] adds r1, r2, r3 ldr r3, [r2, r3] adds r3, r3, #1 @@ -6095,7 +6098,7 @@ FtlLowFormatEraseBlock: b .L857 .L862: uxth r3, r9 - ldr r0, [r4, #3260] + ldr r0, [r4, #3268] movs r2, #0 mul r1, fp, r3 add r3, r3, r4 @@ -6111,14 +6114,14 @@ FtlLowFormatEraseBlock: ldr r0, [sp, #12] bl FtlBbmIsBadBlock cbnz r0, .L860 - ldr r1, [r4, #3260] + ldr r1, [r4, #3268] ldr r3, [sp, #12] ldr r2, .L890 mla r1, fp, r6, r1 - ldr r0, [r2, #3308] + ldr r0, [r2, #3316] add r3, r8, r3, lsl #10 str r3, [r1, #4] - ldr r3, [r4, #3304] + ldr r3, [r4, #3312] str r3, [r1, #8] ldrh r3, [r4, #112] muls r3, r6, r3 @@ -6134,7 +6137,7 @@ FtlLowFormatEraseBlock: b .L858 .L866: mul r3, fp, r9 - ldr r2, [r4, #3260] + ldr r2, [r4, #3268] adds r1, r2, r3 ldr r3, [r2, r3] cbz r3, .L865 @@ -6149,7 +6152,7 @@ FtlLowFormatEraseBlock: .L870: cbz r7, .L869 mul r3, r9, r8 - ldr r2, [r4, #3260] + ldr r2, [r4, #3268] adds r1, r2, r3 ldr r3, [r2, r3] cbnz r3, .L869 @@ -6214,11 +6217,11 @@ Ftl_write_map_blk_to_last_page: ldr r2, [r0, #28] ldr r7, [r0, #24] orr r3, r3, r6, lsl #10 - str r3, [r5, #3448] - ldr r3, [r5, #3292] - str r3, [r5, #3452] - ldr r3, [r5, #3324] str r3, [r5, #3456] + ldr r3, [r5, #3300] + str r3, [r5, #3460] + ldr r3, [r5, #3332] + str r3, [r5, #3464] str r2, [r3, #4] movw r2, #64245 strh r2, [r3, #8] @ movhi @@ -6226,7 +6229,7 @@ Ftl_write_map_blk_to_last_page: strh r6, [r3, #2] @ movhi strh r2, [r3] @ movhi ldrh r2, [r5, #104] - ldr r0, [r5, #3292] + ldr r0, [r5, #3300] lsls r2, r2, #3 bl ftl_memset movs r2, #0 @@ -6252,12 +6255,12 @@ Ftl_write_map_blk_to_last_page: ldr r0, [r7, r1, lsl #2] cmp r6, r0, lsr #10 bne .L897 - ldr r0, [r5, #3292] + ldr r0, [r5, #3300] adds r3, r3, #1 uxth r3, r3 str r1, [r0, r3, lsl #3] ldr r0, [r7, r1, lsl #2] - ldr r1, [r5, #3292] + ldr r1, [r5, #3300] add r1, r1, r3, lsl #3 str r0, [r1, #4] .L897: @@ -6269,7 +6272,7 @@ Ftl_write_map_blk_to_last_page: .word .LANCHOR1+286 .word .LC1 .word .LANCHOR0 - .word .LANCHOR0+3444 + .word .LANCHOR0+3452 .fnend .size Ftl_write_map_blk_to_last_page, .-Ftl_write_map_blk_to_last_page .align 1 @@ -6330,15 +6333,15 @@ FtlMapWritePage: ldrh r2, [r4] movs r1, #16 ldr r3, [r4, #12] - ldr r0, [r5, #3324] + ldr r0, [r5, #3332] ldrh fp, [r3, r2, lsl #1] ldrh r3, [r4, #2] - str r0, [r5, #3456] - str r10, [r5, #3452] + str r0, [r5, #3464] + str r10, [r5, #3460] orr r3, r3, fp, lsl #10 - str r3, [r5, #3448] + str r3, [r5, #3456] bl __memzero - ldr r3, [r5, #3456] + ldr r3, [r5, #3464] ldr r2, [r4, #28] ldr r0, .L928+8 strh r8, [r3, #8] @ movhi @@ -6354,10 +6357,10 @@ FtlMapWritePage: adds r3, r3, #1 uxth r3, r3 strh r3, [r4, #2] @ movhi - ldr r2, [r5, #3444] + ldr r2, [r5, #3452] adds r1, r2, #1 bne .L910 - ldr r1, [r5, #3448] + ldr r1, [r5, #3456] adds r6, r6, #1 ldr r0, .L928+12 uxth r6, r6 @@ -6371,7 +6374,7 @@ FtlMapWritePage: cmp r6, #3 bls .L912 mov r2, r6 - ldr r1, [r5, #3448] + ldr r1, [r5, #3456] ldr r0, .L928+16 bl sftl_printk .L913: @@ -6394,7 +6397,7 @@ FtlMapWritePage: str r3, [r4, #36] b .L905 .L917: - ldr r2, [r5, #3448] + ldr r2, [r5, #3456] ldr r3, [r4, #24] str r2, [r3, r8, lsl #2] pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} @@ -6403,7 +6406,7 @@ FtlMapWritePage: .L928: .word .LANCHOR0 .word .LC1 - .word .LANCHOR0+3444 + .word .LANCHOR0+3452 .word .LC89 .word .LC90 .word .LANCHOR1+317 @@ -6433,7 +6436,7 @@ load_l2p_region: ldr r0, .L937+8 bl sftl_printk .L931: - ldr r3, [r4, #3368] + ldr r3, [r4, #3376] movs r5, #12 ldr r7, [r3, r6, lsl #2] cbnz r7, .L932 @@ -6458,14 +6461,14 @@ load_l2p_region: movs r2, #1 ldr r0, .L937+12 mov r1, r2 - str r7, [r4, #3448] + str r7, [r4, #3456] add r3, r3, r5 ldr r3, [r3, #8] - str r3, [r4, #3452] - ldr r3, [r4, #3324] - str r3, [r4, #3456] + str r3, [r4, #3460] + ldr r3, [r4, #3332] + str r3, [r4, #3464] bl FlashReadPages - ldr r8, [r4, #3456] + ldr r8, [r4, #3464] ldrh r3, [r8, #8] cmp r3, r6 beq .L934 @@ -6474,13 +6477,13 @@ load_l2p_region: ldr r0, .L937+16 bl sftl_printk movs r3, #4 - ldr r1, [r4, #3456] + ldr r1, [r4, #3464] mov r2, r3 ldr r0, .L937+20 bl rknand_print_hex ldrh r3, [r4, #136] movs r2, #4 - ldr r1, [r4, #3368] + ldr r1, [r4, #3376] ldr r0, .L937+24 bl rknand_print_hex .L935: @@ -6499,7 +6502,7 @@ load_l2p_region: strh r6, [r3, r5] @ movhi b .L933 .L934: - ldr r3, [r4, #3444] + ldr r3, [r4, #3452] cmp r3, #256 bne .L935 mov r2, r7 @@ -6519,12 +6522,12 @@ load_l2p_region: .word .LANCHOR0 .word .LANCHOR1+333 .word .LC1 - .word .LANCHOR0+3444 + .word .LANCHOR0+3452 .word .LC91 .word .LC92 .word .LC93 .word .LC94 - .word .LANCHOR0+3384 + .word .LANCHOR0+3392 .fnend .size load_l2p_region, .-load_l2p_region .align 1 @@ -6600,13 +6603,13 @@ ftl_map_blk_gc: str r3, [sp, #4] cmp r9, r2, lsr #10 bne .L943 - ldr r2, [r5, #3296] - ldr r8, [r5, #3324] + ldr r2, [r5, #3304] + ldr r8, [r5, #3332] ldr r0, .L955+4 - str r2, [r5, #3452] - str r8, [r5, #3456] + str r2, [r5, #3460] + str r8, [r5, #3464] ldr r2, [r10, r7, lsl #2] - str r2, [r5, #3448] + str r2, [r5, #3456] movs r2, #1 mov r1, r2 bl FlashReadPages @@ -6618,7 +6621,7 @@ ftl_map_blk_gc: ldr r0, .L955+12 bl sftl_printk .L944: - ldr r2, [r5, #3444] + ldr r2, [r5, #3452] adds r2, r2, #1 bne .L945 .L947: @@ -6635,7 +6638,7 @@ ftl_map_blk_gc: ldrh r3, [r4, #4] cmp r2, r3 bne .L947 - ldr r2, [r5, #3452] + ldr r2, [r5, #3460] mov r1, r7 mov r0, r4 bl FtlMapWritePage @@ -6646,7 +6649,7 @@ ftl_map_blk_gc: .align 2 .L955: .word .LANCHOR0 - .word .LANCHOR0+3444 + .word .LANCHOR0+3452 .word .LANCHOR1+349 .word .LC1 .fnend @@ -6680,13 +6683,13 @@ FtlMapTblRecovery: ldr r0, [sp, #4] str r3, [sp, #8] bl ftl_memset - ldr r3, [r5, #3292] + ldr r3, [r5, #3300] movs r2, #1 - ldr r6, [r5, #3324] + ldr r6, [r5, #3332] str r2, [r4, #36] - str r3, [r5, #3452] + str r3, [r5, #3460] movw r3, #65535 - str r6, [r5, #3456] + str r6, [r5, #3464] strh r3, [r4] @ movhi strh r3, [r4, #2] @ movhi movs r3, #0 @@ -6744,11 +6747,11 @@ FtlMapTblRecovery: ldrh r1, [r7] mov r0, r8 orr r2, r2, r1, lsl #10 - str r2, [r5, #3448] + str r2, [r5, #3456] movs r2, #1 mov r1, r2 bl FlashReadPages - ldr r2, [r5, #3444] + ldr r2, [r5, #3452] adds r2, r2, #1 beq .L961 ldrh r2, [r6, #8] @@ -6758,28 +6761,28 @@ FtlMapTblRecovery: ldrh r0, [r6] cmp r0, r1 ittt eq - ldreq r1, [r5, #3448] + ldreq r1, [r5, #3456] ldreq r3, [sp, #4] streq r1, [r3, r2, lsl #2] .L961: add fp, fp, #1 b .L960 .L959: - ldr r1, [r5, #3292] + ldr r1, [r5, #3300] str r3, [sp, #20] add r3, r9, r7 ldr r0, .L984+4 - str r1, [r5, #3452] + str r1, [r5, #3460] ldrh r1, [r9, r2, lsl #1] ldrh r2, [r5, #104] str r3, [sp, #16] subs r2, r2, #1 orr r2, r2, r1, lsl #10 - str r2, [r5, #3448] + str r2, [r5, #3456] movs r2, #1 mov r1, r2 bl FlashReadPages - ldr r2, [r5, #3444] + ldr r2, [r5, #3452] ldr r3, [sp, #20] adds r2, r2, #1 beq .L977 @@ -6803,12 +6806,12 @@ FtlMapTblRecovery: str r3, [sp, #20] ldrh r1, [r1] orr r2, r2, r1, lsl #10 - str r2, [r3, #3448] + str r2, [r3, #3456] movs r2, #1 mov r1, r2 bl FlashReadPages ldr r3, [sp, #20] - ldr r2, [r3, #3444] + ldr r2, [r3, #3452] adds r2, r2, #1 beq .L971 ldrh r2, [r6, #8] @@ -6818,7 +6821,7 @@ FtlMapTblRecovery: ldrh r1, [r4, #4] cmp r0, r1 ittt eq - ldreq r1, [r3, #3448] + ldreq r1, [r3, #3456] ldreq r0, [sp, #4] streq r1, [r0, r2, lsl #2] .L971: @@ -6837,7 +6840,7 @@ FtlMapTblRecovery: add r8, r8, #1 b .L958 .L970: - ldr r7, [r5, #3292] + ldr r7, [r5, #3300] ldr r1, [r7, r2, lsl #3] uxth lr, r1 cmp r10, lr @@ -6853,7 +6856,7 @@ FtlMapTblRecovery: .align 2 .L984: .word .LANCHOR0 - .word .LANCHOR0+3444 + .word .LANCHOR0+3452 .fnend .size FtlMapTblRecovery, .-FtlMapTblRecovery .align 1 @@ -6871,15 +6874,15 @@ FtlLoadVonderInfo: push {r3, lr} .save {r3, lr} ldrh r3, [r0, #120] - strh r3, [r0, #3478] @ movhi + strh r3, [r0, #3486] @ movhi movw r3, #61574 - strh r3, [r0, #3472] @ movhi + strh r3, [r0, #3480] @ movhi ldrh r3, [r0, #144] - strh r3, [r0, #3476] @ movhi + strh r3, [r0, #3484] @ movhi ldrh r3, [r0, #122] - strh r3, [r0, #3474] @ movhi + strh r3, [r0, #3482] @ movhi ldr r3, [r0, #148] - addw r0, r0, #3468 + addw r0, r0, #3476 str r3, [r0, #12] ldr r3, [r0, #-108] str r3, [r0, #16] @@ -6917,7 +6920,7 @@ FtlLoadMapInfo: .L991: .align 2 .L990: - .word .LANCHOR0+3384 + .word .LANCHOR0+3392 .fnend .size FtlLoadMapInfo, .-FtlLoadMapInfo .align 1 @@ -6937,7 +6940,7 @@ flush_l2p_region: ldr r5, .L993 muls r4, r0, r4 ldr r3, [r5, #2492] - addw r0, r5, #3384 + add r0, r5, #3392 adds r2, r3, r4 ldrh r1, [r3, r4] ldr r2, [r2, #8] @@ -7332,18 +7335,18 @@ ftl_scan_all_data: ldr r3, [sp, #28] adds r2, r3, #1 beq .L1052 - str r3, [r4, #3448] + str r3, [r4, #3456] movs r2, #0 - ldr r3, [r4, #3292] + ldr r3, [r4, #3300] movs r1, #1 - ldr r7, [r4, #3324] + ldr r7, [r4, #3332] ldr r0, .L1062+8 - str r3, [r4, #3452] - str r5, [r4, #3460] - str r7, [r4, #3456] - str r2, [r4, #3444] + str r3, [r4, #3460] + str r5, [r4, #3468] + str r7, [r4, #3464] + str r2, [r4, #3452] bl FlashReadPages - ldr r3, [r4, #3444] + ldr r3, [r4, #3452] cmp r3, #256 beq .L1053 adds r3, r3, #1 @@ -7352,8 +7355,8 @@ ftl_scan_all_data: cmp r5, r3 beq .L1052 .L1053: - ldr r2, [r4, #3452] - ldr r3, [r4, #3456] + ldr r2, [r4, #3460] + ldr r3, [r4, #3464] ldr r0, .L1062+12 ldr r1, [r2, #4] str r1, [sp, #16] @@ -7367,7 +7370,7 @@ ftl_scan_all_data: ldr r2, [r3, #4] str r2, [sp] ldr r3, [r3] - ldr r2, [r4, #3448] + ldr r2, [r4, #3456] bl sftl_printk .L1052: adds r5, r5, #1 @@ -7377,7 +7380,7 @@ ftl_scan_all_data: .L1062: .word .LANCHOR0 .word .LC98 - .word .LANCHOR0+3444 + .word .LANCHOR0+3452 .word .LC100 .word .LC99 .fnend @@ -7428,7 +7431,7 @@ FtlGcScanTempBlk: beq .L1069 ldr r4, .L1099+4 .L1088: - ldr r3, [r4, #3280] + ldr r3, [r4, #3288] movs r2, #0 ldrh ip, [r4, #32] add lr, r5, #16 @@ -7509,7 +7512,7 @@ FtlGcScanTempBlk: b .L1070 .L1086: movs r3, #20 - ldr r1, [r4, #3280] + ldr r1, [r4, #3288] mul r3, r3, fp adds r2, r1, r3 ldr r8, [r1, r3] @@ -7559,15 +7562,15 @@ FtlGcScanTempBlk: beq .L1081 str r2, [sp, #32] movs r1, #1 - ldr r2, [r4, #3308] + ldr r2, [r4, #3316] add r0, sp, #28 str r2, [sp, #36] - ldr r2, [r4, #3328] + ldr r2, [r4, #3336] str r2, [sp, #40] mov r2, r8 bl FlashReadPages ldrh r2, [r4, #58] - ldr r1, [r4, #3280] + ldr r1, [r4, #3288] ldr r3, [sp, #16] ldr r0, [sp, #36] lsls r2, r2, #7 @@ -7653,7 +7656,7 @@ FtlReadRefresh: beq .L1106 str r3, [sp, #20] add r0, sp, #88 - ldr r3, [r4, #3316] + ldr r3, [r4, #3324] movs r1, #1 str r2, [sp, #8] movs r2, #0 @@ -7737,20 +7740,20 @@ FtlMapBlkWriteDump_data: ldr r2, [r0, #24] str r3, [r0, #36] subs r5, r5, #1 - ldr r0, [r4, #3296] + ldr r0, [r4, #3304] uxth r5, r5 - ldr r1, [r4, #3324] - str r0, [r4, #3452] - str r1, [r4, #3456] + ldr r1, [r4, #3332] + str r0, [r4, #3460] + str r1, [r4, #3464] ldr r2, [r2, r5, lsl #2] - str r2, [r4, #3448] + str r2, [r4, #3456] cbz r2, .L1118 movs r2, #1 - addw r0, r4, #3444 + addw r0, r4, #3452 mov r1, r2 bl FlashReadPages .L1119: - ldr r2, [r4, #3452] + ldr r2, [r4, #3460] mov r1, r5 mov r0, r6 pop {r4, r5, r6, lr} @@ -7792,7 +7795,7 @@ FlashTestBlk: movs r1, #165 lsls r4, r4, #10 str r0, [sp, #16] - ldr r5, [r3, #3316] + ldr r5, [r3, #3324] str r5, [sp, #12] bl memset mov r3, #1515870810 @@ -7848,18 +7851,18 @@ FtlBbmTblFlush: movs r5, #0 ldr r4, .L1136 movs r1, #0 - ldr r0, [r4, #3292] + ldr r0, [r4, #3300] add r6, r4, #176 - ldr r3, [r4, #3324] + ldr r3, [r4, #3332] ldrh r2, [r4, #110] - str r0, [r4, #3452] - str r3, [r4, #3456] + str r0, [r4, #3460] + str r3, [r4, #3464] bl ftl_memset .L1128: ldrh r3, [r4, #54] cmp r5, r3 blt .L1129 - ldr r6, [r4, #3456] + ldr r6, [r4, #3464] movs r2, #16 movs r1, #255 ldr r8, .L1136+12 @@ -7881,17 +7884,17 @@ FtlBbmTblFlush: ldr r3, [r4, #28] strh r3, [r6, #12] @ movhi .L1130: - ldr r3, [r4, #3292] + ldr r3, [r4, #3300] mov r10, #0 ldrh r2, [r4, #154] ldrh r1, [r4, #152] - str r3, [r4, #3452] - ldr r3, [r4, #3324] - str r10, [r4, #3444] - str r3, [r4, #3456] + str r3, [r4, #3460] + ldr r3, [r4, #3332] + str r10, [r4, #3452] + str r3, [r4, #3464] orr r3, r2, r1, lsl #10 ldrh r0, [r6, #10] - str r3, [r4, #3448] + str r3, [r4, #3456] ldrh r3, [r4, #156] str r0, [sp] mov r0, r8 @@ -7903,7 +7906,7 @@ FtlBbmTblFlush: blt .L1131 ldr r3, [r4, #160] ldrh r2, [r4, #152] - ldr r0, [r4, #3260] + ldr r0, [r4, #3268] adds r3, r3, #1 strh r10, [r4, #154] @ movhi str r3, [r4, #160] @@ -7915,7 +7918,7 @@ FtlBbmTblFlush: strh r3, [r4, #152] @ movhi mov r1, r2 lsls r3, r3, #10 - str r3, [r4, #3448] + str r3, [r4, #3456] str r3, [r0, #4] bl FlashEraseBlocks .L1131: @@ -7927,25 +7930,25 @@ FtlBbmTblFlush: ldrh r3, [r4, #154] adds r3, r3, #1 strh r3, [r4, #154] @ movhi - ldr r3, [r4, #3444] + ldr r3, [r4, #3452] adds r3, r3, #1 bne .L1132 adds r5, r5, #1 - ldr r1, [r4, #3448] + ldr r1, [r4, #3456] uxth r5, r5 ldr r0, .L1136+4 bl sftl_printk cmp r5, #3 bls .L1130 mov r2, r5 - ldr r1, [r4, #3448] + ldr r1, [r4, #3456] ldr r0, .L1136+8 bl sftl_printk .L1134: b .L1134 .L1129: - ldrh r2, [r4, #3380] - ldr r3, [r4, #3452] + ldrh r2, [r4, #3388] + ldr r3, [r4, #3460] ldr r1, [r6, #4]! mul r0, r2, r5 lsls r2, r2, #2 @@ -7970,7 +7973,7 @@ FtlBbmTblFlush: .word .LC103 .word .LC104 .word .LC102 - .word .LANCHOR0+3444 + .word .LANCHOR0+3452 .fnend .size FtlBbmTblFlush, .-FtlBbmTblFlush .align 1 @@ -8078,7 +8081,7 @@ allocate_data_superblock: ldr r0, .L1174+4 bl sftl_printk .L1146: - ldr r1, [r4, #3260] + ldr r1, [r4, #3268] mov r10, #20 ldrh r2, [r4, #32] add fp, r5, #16 @@ -8135,8 +8138,8 @@ allocate_data_superblock: ldr r3, [r4, #2552] mla r0, r2, r0, r3 bl __aeabi_uidiv - ldr r2, [r4, #3340] - ldr r1, [r4, #3260] + ldr r2, [r4, #3348] + ldr r1, [r4, #3268] str r0, [r4, #2556] ldr r3, [r2, #16] ldr r0, .L1174+16 @@ -8152,7 +8155,7 @@ allocate_data_superblock: bne .L1158 ldrb r1, [r5, #8] @ zero_extendqisi2 mov r2, r7 - ldr r0, [r4, #3260] + ldr r0, [r4, #3268] mov r10, #0 bl FlashEraseBlocks mov r3, r10 @@ -8209,7 +8212,7 @@ allocate_data_superblock: b .L1157 .L1161: mul r2, r1, r10 - ldr r0, [r4, #3260] + ldr r0, [r4, #3268] add ip, r0, r2 ldr r2, [r0, r2] adds r0, r2, #1 @@ -8475,11 +8478,11 @@ decrement_vpc_count: subs r2, r2, #1 strh r2, [r3, r0, lsl #1] @ movhi .L1203: - ldrh r0, [r5, #3430] + ldrh r0, [r5, #3438] movw r3, #65535 cmp r0, r3 bne .L1207 - strh r4, [r5, #3430] @ movhi + strh r4, [r5, #3438] @ movhi b .L1209 .L1207: cmp r4, r0 @@ -8490,7 +8493,7 @@ decrement_vpc_count: ldr r3, [r5, #2320] it ne movne r6, #1 - strh r4, [r5, #3430] @ movhi + strh r4, [r5, #3438] @ movhi subs r3, r3, r2 asrs r2, r3, #1 ldr r3, .L1211+16 @@ -8568,7 +8571,7 @@ FtlRecoverySuperblock: movs r2, #0 ldrh lr, [r4, #32] movw r9, #65535 - ldr r0, [r4, #3280] + ldr r0, [r4, #3288] mov r10, #20 str r3, [sp] ldrh r3, [r4, #110] @@ -8590,7 +8593,7 @@ FtlRecoverySuperblock: bl FlashReadPages ldr r3, [r6, #2544] uxth r2, r5 - ldr r8, [r6, #3280] + ldr r8, [r6, #3288] str r2, [sp, #8] subs r3, r3, #1 str r3, [sp] @@ -8724,14 +8727,14 @@ FtlRecoverySuperblock: cmp r3, #0 bne .L1237 .L1236: - ldr r3, [r6, #3440] + ldr r3, [r6, #3448] uxth r7, r5 uxth r5, r5 movw r8, #65535 adds r3, r3, #1 itt eq ldreq r3, [sp] - streq r3, [r6, #3440] + streq r3, [r6, #3448] ldr r3, [sp, #4] ldr r6, .L1344 adds r3, r3, #7 @@ -8745,7 +8748,7 @@ FtlRecoverySuperblock: bhi .L1247 movs r3, #0 ldrh lr, [r6, #32] - ldr r0, [r6, #3280] + ldr r0, [r6, #3288] mov r5, r3 ldr r1, [sp, #16] mov ip, #20 @@ -8768,7 +8771,7 @@ FtlRecoverySuperblock: movs r2, #0 mov r1, r5 bl FlashReadPages - ldr r3, [r6, #3280] + ldr r3, [r6, #3288] movs r2, #20 mla r5, r2, r5, r3 .L1243: @@ -8787,23 +8790,23 @@ FtlRecoverySuperblock: ldr r2, [r2, #4] adds r1, r2, #1 it ne - strne r2, [r6, #3440] + strne r2, [r6, #3448] .L1245: adds r3, r3, #20 b .L1243 .L1247: mov r3, #-1 - str r3, [r6, #3440] + str r3, [r6, #3448] .L1237: ldr r10, .L1344 movs r3, #1 ldr r5, [sp, #4] mov r4, r10 - strh r3, [r10, #3512] @ movhi + strh r3, [r10, #3520] @ movhi .L1249: ldrh r6, [r4, #32] movs r3, #0 - ldr r0, [r4, #3280] + ldr r0, [r4, #3288] mov r9, r3 ldr r1, [sp, #16] movw r7, #65535 @@ -8865,7 +8868,7 @@ FtlRecoverySuperblock: ldr r3, [sp, #24] movs r7, #20 muls r7, r3, r7 - ldr r3, [r4, #3280] + ldr r3, [r4, #3288] str r3, [sp, #28] add r8, r3, r7 ldr r6, [r8, #4] @@ -8929,7 +8932,7 @@ FtlRecoverySuperblock: mov r0, r6 str r3, [sp, #36] bl log2phys - ldr r1, [r4, #3440] + ldr r1, [r4, #3448] adds r0, r1, #1 beq .L1262 ldr r0, [sp] @@ -8939,14 +8942,14 @@ FtlRecoverySuperblock: ldr r3, [sp, #36] adds r2, r3, #1 beq .L1263 - ldr r0, [r4, #3280] + ldr r0, [r4, #3288] movs r2, #0 movs r1, #1 add r0, r0, r7 str r3, [r0, #4] ldr r8, [r0, #12] bl FlashReadPages - ldr r2, [r4, #3280] + ldr r2, [r4, #3288] ldr r1, [r2, r7] adds r3, r2, r7 adds r1, r1, #1 @@ -8994,7 +8997,7 @@ FtlRecoverySuperblock: cmp r6, r1 bne .L1265 ldr r1, [r8, #4] - ldr r0, [r4, #3440] + ldr r0, [r4, #3448] str r1, [sp, #28] bl ftl_cmp_data_ver cmp r0, #0 @@ -9021,12 +9024,12 @@ FtlRecoverySuperblock: ldr r8, [r3, #12] bl FlashReadPages .L1269: - ldr r3, [r4, #3280] + ldr r3, [r4, #3288] ldr r3, [r3, r7] adds r3, r3, #1 beq .L1270 ldr r3, [r8, #4] - ldr r0, [r4, #3440] + ldr r0, [r4, #3448] mov r1, r3 bl ftl_cmp_data_ver cmp r0, #0 @@ -9067,13 +9070,13 @@ FtlRecoverySuperblock: cmp r3, r0 bne .L1272 .L1276: - ldr r0, [r10, #3280] + ldr r0, [r10, #3288] movs r2, #0 movs r1, #1 str r8, [r0, #4] ldr r7, [r0, #12] bl FlashReadPages - ldr r3, [r10, #3280] + ldr r3, [r10, #3288] ldr r3, [r3] adds r3, r3, #1 beq .L1272 @@ -9093,21 +9096,21 @@ FtlRecoverySuperblock: bl sftl_printk b .L1254 .L1258: - ldr r3, [r4, #3516] + ldr r3, [r4, #3524] cmp r3, #31 itttt ls addls r2, r4, r3, lsl #2 addls r3, r3, #1 - strls r3, [r4, #3516] - strls r6, [r2, #3520] + strls r3, [r4, #3524] + strls r6, [r2, #3528] ldrh r0, [fp] bl decrement_vpc_count - ldr r3, [r4, #3440] + ldr r3, [r4, #3448] adds r2, r3, #1 bne .L1280 ldr r3, [sp] .L1340: - str r3, [r4, #3440] + str r3, [r4, #3448] b .L1254 .L1280: ldr r2, [sp] @@ -9170,8 +9173,8 @@ FtlWriteDump_data: mov r0, r6 bl log2phys ldr r3, [sp] - ldr r5, [r4, #3324] - ldr r0, [r4, #3292] + ldr r5, [r4, #3332] + ldr r0, [r4, #3300] str r3, [sp, #8] adds r3, r3, #1 str r6, [sp, #20] @@ -9306,8 +9309,8 @@ FtlSuperblockPowerLostFix: movw r1, #61589 str r3, [sp, #20] mov r4, r0 - ldr r2, [r5, #3292] - ldr r6, [r5, #3324] + ldr r2, [r5, #3300] + ldr r6, [r5, #3332] str r2, [sp, #12] mvn r2, #2 str r6, [sp, #16] @@ -9317,10 +9320,10 @@ FtlSuperblockPowerLostFix: ldrh r2, [r0] strh r7, [r6] @ movhi strh r2, [r6, #2] @ movhi - ldr r2, [r5, #3292] + ldr r2, [r5, #3300] str r1, [r2] add r1, r1, #304087040 - ldr r2, [r5, #3292] + ldr r2, [r5, #3300] add r1, r1, #1269760 addw r1, r1, #1507 str r1, [r2, #4] @@ -9411,7 +9414,7 @@ FtlVendorPartWrite: @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} .L1396: - ldr r3, [r4, #3364] + ldr r3, [r4, #3372] mov r0, r8 ldr r2, [r3, fp] ldrh r3, [r4, #58] @@ -9430,7 +9433,7 @@ FtlVendorPartWrite: cbz r2, .L1393 cmp r5, r3 beq .L1393 - ldr r3, [r4, #3300] + ldr r3, [r4, #3308] add r0, sp, #20 str r2, [sp, #24] movs r2, #1 @@ -9441,7 +9444,7 @@ FtlVendorPartWrite: bl FlashReadPages .L1394: lsls r3, r5, #9 - ldr r0, [r4, #3300] + ldr r0, [r4, #3308] mov r1, r10 mov r2, r3 str r3, [sp, #8] @@ -9452,7 +9455,7 @@ FtlVendorPartWrite: add r0, r0, r3, lsl #9 bl ftl_memcpy mov r1, r7 - ldr r2, [r4, #3300] + ldr r2, [r4, #3308] ldr r0, .L1401+4 adds r7, r7, #1 bl FtlMapWritePage @@ -9465,7 +9468,7 @@ FtlVendorPartWrite: .L1393: ldrh r2, [r4, #110] movs r1, #0 - ldr r0, [r4, #3300] + ldr r0, [r4, #3308] bl ftl_memset b .L1394 .L1397: @@ -9475,7 +9478,7 @@ FtlVendorPartWrite: .align 2 .L1401: .word .LANCHOR0 - .word .LANCHOR0+3468 + .word .LANCHOR0+3476 .fnend .size FtlVendorPartWrite, .-FtlVendorPartWrite .align 1 @@ -9549,29 +9552,29 @@ FtlEctTblFlush: push {r3, lr} .save {r3, lr} ldr r3, .L1412 - ldrh r2, [r3, #3648] + ldrh r2, [r3, #3656] cmp r2, #31 itett ls addls r2, r2, #1 movhi r2, #32 - strhls r2, [r3, #3648] @ movhi + strhls r2, [r3, #3656] @ movhi movls r2, #1 cbnz r0, .L1409 - ldr r1, [r3, #3340] + ldr r1, [r3, #3348] ldr r0, [r1, #20] ldr r1, [r1, #16] add r2, r2, r0 cmp r1, r2 bcc .L1410 .L1409: - ldr r2, [r3, #3340] + ldr r2, [r3, #3348] movs r0, #64 ldr r1, [r2, #16] str r1, [r2, #20] ldr r1, .L1412+4 str r1, [r2] - ldrh r1, [r3, #3332] - ldr r2, [r3, #3340] + ldrh r1, [r3, #3340] + ldr r2, [r3, #3348] lsls r3, r1, #9 str r3, [r2, #12] ldr r3, [r2, #8] @@ -9642,7 +9645,7 @@ FtlVendorPartRead: @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} .L1423: - ldr r3, [r4, #3364] + ldr r3, [r4, #3372] mov r0, r8 ldrh r5, [r4, #58] ldr r3, [r3, fp] @@ -9659,7 +9662,7 @@ FtlVendorPartRead: lsls r2, r5, #9 str r2, [sp, #8] cbz r3, .L1419 - ldr r2, [r4, #3300] + ldr r2, [r4, #3308] add r0, sp, #20 str r3, [sp, #24] str r3, [sp, #12] @@ -9672,7 +9675,7 @@ FtlVendorPartRead: ldr r2, [sp, #20] ldr r3, [sp, #12] adds r2, r2, #1 - ldr r2, [r4, #3444] + ldr r2, [r4, #3452] it eq moveq r9, #-1 cmp r2, #256 @@ -9681,12 +9684,12 @@ FtlVendorPartRead: mov r1, r6 ldr r0, .L1425+4 bl sftl_printk - ldr r2, [r4, #3300] + ldr r2, [r4, #3308] mov r1, r6 ldr r0, .L1425+8 bl FtlMapWritePage .L1421: - ldr r1, [r4, #3300] + ldr r1, [r4, #3308] lsls r2, r5, #9 ldr r3, [sp, #4] mov r0, r10 @@ -9714,7 +9717,7 @@ FtlVendorPartRead: .L1425: .word .LANCHOR0 .word .LC108 - .word .LANCHOR0+3468 + .word .LANCHOR0+3476 .fnend .size FtlVendorPartRead, .-FtlVendorPartRead .align 1 @@ -9732,10 +9735,10 @@ FtlLoadEctTbl: .save {r4, lr} movs r0, #64 ldr r4, .L1429 - ldr r2, [r4, #3340] - ldrh r1, [r4, #3332] + ldr r2, [r4, #3348] + ldrh r1, [r4, #3340] bl FtlVendorPartRead - ldr r3, [r4, #3340] + ldr r3, [r4, #3348] ldr r2, [r3] ldr r3, .L1429+4 cmp r2, r3 @@ -9743,9 +9746,9 @@ FtlLoadEctTbl: ldr r1, .L1429+8 ldr r0, .L1429+12 bl sftl_printk - ldrh r2, [r4, #3332] + ldrh r2, [r4, #3340] movs r1, #0 - ldr r0, [r4, #3340] + ldr r0, [r4, #3348] lsls r2, r2, #9 bl ftl_memset .L1428: @@ -9864,13 +9867,13 @@ FtlVpcTblFlush: movs r1, #255 movw r7, #65535 ldr r9, .L1452+16 - ldr r3, [r4, #3292] - addw r8, r4, #3444 - ldr r6, [r4, #3324] + ldr r3, [r4, #3300] + addw r8, r4, #3452 + ldr r6, [r4, #3332] ldr r10, .L1452+20 - str r3, [r4, #3452] + str r3, [r4, #3460] ldrh r3, [r4, #2576] - str r6, [r4, #3456] + str r6, [r4, #3464] str r5, [r6, #12] strh r3, [r6, #2] @ movhi movw r3, #61604 @@ -9904,7 +9907,7 @@ FtlVpcTblFlush: strb r3, [r4, #2280] ldrh r3, [r4, #2444] ldrh r2, [r4, #2446] - ldr r0, [r4, #3452] + ldr r0, [r4, #3460] strh r3, [r4, #2290] @ movhi ldrb r3, [r4, #2450] @ zero_extendqisi2 orr r3, r3, r2, lsl #6 @@ -9921,16 +9924,16 @@ FtlVpcTblFlush: bl ftl_memset movs r2, #48 addw r1, r4, #2268 - ldr r0, [r4, #3452] + ldr r0, [r4, #3460] bl ftl_memcpy ldrh r2, [r4, #40] - ldr r0, [r4, #3452] + ldr r0, [r4, #3460] ldr r1, [r4, #2324] lsls r2, r2, #1 adds r0, r0, #48 bl ftl_memcpy ldrh r0, [r4, #40] - ldr r3, [r4, #3452] + ldr r3, [r4, #3460] ldr r1, [r4, #24] lsrs r2, r0, #3 adds r0, r0, #24 @@ -9942,14 +9945,14 @@ FtlVpcTblFlush: mov r0, r5 bl FtlUpdateVaildLpn .L1438: - ldr r3, [r4, #3292] + ldr r3, [r4, #3300] ldrh r1, [r4, #2578] ldrh r2, [r4, #2576] - str r3, [r4, #3452] - ldr r3, [r4, #3324] - str r3, [r4, #3456] + str r3, [r4, #3460] + ldr r3, [r4, #3332] + str r3, [r4, #3464] orr r3, r1, r2, lsl #10 - str r3, [r4, #3448] + str r3, [r4, #3456] ldrh r3, [r4, #104] subs r3, r3, #1 cmp r1, r3 @@ -9965,7 +9968,7 @@ FtlVpcTblFlush: str r3, [r4, #2584] str r2, [r4, #2540] lsls r2, r0, #10 - str r2, [r4, #3448] + str r2, [r4, #3456] str r3, [r6, #4] strh r0, [r6, #2] @ movhi .L1439: @@ -9975,7 +9978,7 @@ FtlVpcTblFlush: mov r1, r3 bl FlashProgPages ldrh r3, [r4, #2578] - ldr r2, [r4, #3444] + ldr r2, [r4, #3452] adds r3, r3, #1 uxth r3, r3 adds r1, r2, #1 @@ -9999,7 +10002,7 @@ FtlVpcTblFlush: cmp r5, #3 bls .L1438 mov r2, r5 - ldr r1, [r4, #3448] + ldr r1, [r4, #3456] ldr r0, .L1452+12 bl sftl_printk .L1444: @@ -10129,11 +10132,11 @@ sftl_discard: ldrh r3, [r4, #58] cmp r6, r3 bcs .L1465 - ldr r3, [r4, #3652] + ldr r3, [r4, #3660] cmp r3, #32 bls .L1466 movs r5, #0 - str r5, [r4, #3652] + str r5, [r4, #3660] bl l2p_flush bl FtlVpcTblFlush b .L1466 @@ -10145,12 +10148,12 @@ sftl_discard: ldr r3, [sp] adds r3, r3, #1 beq .L1464 - ldr r3, [r4, #3652] + ldr r3, [r4, #3660] movs r2, #1 add r1, sp, #4 mov r0, r7 adds r3, r3, #1 - str r3, [r4, #3652] + str r3, [r4, #3660] ldr r3, [r4, #2512] adds r3, r3, #1 str r3, [r4, #2512] @@ -10194,7 +10197,7 @@ FtlVpcCheckAndModify: bl sftl_printk ldrh r2, [r4, #42] movs r1, #0 - ldr r0, [r4, #3344] + ldr r0, [r4, #3352] lsls r2, r2, #1 bl ftl_memset .L1477: @@ -10224,7 +10227,7 @@ FtlVpcCheckAndModify: beq .L1478 ubfx r0, r0, #10, #16 bl P2V_block_in_plane - ldr r2, [r4, #3344] + ldr r2, [r4, #3352] ldrh r3, [r2, r0, lsl #1] adds r3, r3, #1 strh r3, [r2, r0, lsl #1] @ movhi @@ -10235,7 +10238,7 @@ FtlVpcCheckAndModify: ldr r3, [r4, #2324] uxth r5, r7 ldrh r2, [r3, r5, lsl #1] - ldr r3, [r4, #3344] + ldr r3, [r4, #3352] ldrh r3, [r3, r5, lsl #1] cmp r2, r3 beq .L1482 @@ -10256,14 +10259,14 @@ FtlVpcCheckAndModify: ldr r3, [r4, #2324] ldrh r2, [r3, r5, lsl #1] cbnz r2, .L1484 - ldr r2, [r4, #3344] + ldr r2, [r4, #3352] ldrh r2, [r2, r5, lsl #1] strh r2, [r3, r5, lsl #1] @ movhi .L1482: adds r7, r7, #1 b .L1480 .L1484: - ldr r2, [r4, #3344] + ldr r2, [r4, #3352] mov r0, r6 ldrh r2, [r2, r5, lsl #1] strh r2, [r3, r5, lsl #1] @ movhi @@ -10311,7 +10314,7 @@ allocate_new_data_superblock: cbz r3, .L1494 bl INSERT_DATA_LIST .L1493: - ldrh r0, [r4, #3430] + ldrh r0, [r4, #3438] movs r3, #1 strb r3, [r6, #8] movw r3, #65535 @@ -10326,7 +10329,7 @@ allocate_new_data_superblock: bl update_vpc_list .L1497: movw r3, #65535 - strh r3, [r4, #3430] @ movhi + strh r3, [r4, #3438] @ movhi .L1495: mov r0, r6 bl allocate_data_superblock @@ -10422,7 +10425,7 @@ FtlProgPages: ldrh r3, [r6, #32] cmp r2, r3 bcc .L1508 - movw r2, #958 + mov r2, #960 mov r1, r10 mov r0, fp bl sftl_printk @@ -10460,7 +10463,7 @@ FtlProgPages: ldrh r3, [r6, #32] cmp r2, r3 bcc .L1503 - movw r2, #973 + movw r2, #975 ldr r1, .L1517+8 ldr r0, .L1517+12 bl sftl_printk @@ -10500,7 +10503,7 @@ FtlGcFreeTempBlock: .L1530: ldrh r2, [r4, #2444] movs r3, #0 - str r3, [r4, #3436] + str r3, [r4, #3444] movw r3, #65535 cmp r2, r3 bne .L1543 @@ -10533,7 +10536,7 @@ FtlGcFreeTempBlock: strh r3, [r2, r5, lsl #1] @ movhi bl FtlEctTblFlush .L1527: - ldr r3, [r4, #3436] + ldr r3, [r4, #3444] cbnz r3, .L1528 ldr r3, [r4, #2732] ldr r0, [sp, #4] @@ -10544,7 +10547,7 @@ FtlGcFreeTempBlock: bl FtlBbmTblFlush .L1528: movs r3, #0 - str r3, [r4, #3436] + str r3, [r4, #3444] .L1539: movs r0, #1 b .L1519 @@ -10693,12 +10696,12 @@ FtlGcPageRecovery: ldrh r3, [r4, #102] cmp r2, r3 bcc .L1547 - addw r0, r4, #3384 + add r0, r4, #3392 bl FtlMapBlkWriteDump_data movs r0, #0 bl FtlGcFreeTempBlock movs r3, #0 - str r3, [r4, #3436] + str r3, [r4, #3444] .L1547: pop {r4, pc} .L1550: @@ -10723,7 +10726,7 @@ FtlPowerLostRecovery: movs r5, #0 ldr r4, .L1552 addw r6, r4, #2348 - str r5, [r4, #3516] + str r5, [r4, #3524] mov r0, r6 addw r4, r4, #2396 bl FtlRecoverySuperblock @@ -10763,14 +10766,14 @@ Ftl_gc_temp_data_write_back: movs r6, #20 mov r2, r3 ldr r1, [r4, #3164] - ldr r0, [r4, #3284] + ldr r0, [r4, #3292] bl FlashProgPages .L1555: ldr r1, [r4, #3164] uxth r3, r5 cmp r1, r3 bhi .L1558 - ldr r0, [r4, #3284] + ldr r0, [r4, #3292] bl FtlGcBufFree ldrh r3, [r4, #2448] movs r0, #0 @@ -10781,7 +10784,7 @@ Ftl_gc_temp_data_write_back: b .L1560 .L1558: muls r3, r6, r3 - ldr r2, [r4, #3284] + ldr r2, [r4, #3292] adds r5, r5, #1 adds r1, r2, r3 ldr r2, [r2, r3] @@ -10795,7 +10798,7 @@ Ftl_gc_temp_data_write_back: ldr r2, [r4, #2732] adds r2, r2, #1 str r2, [r4, #2732] - ldr r2, [r4, #3284] + ldr r2, [r4, #3292] add r3, r3, r2 ldr r0, [r3, #4] ubfx r0, r0, #10, #16 @@ -10879,7 +10882,7 @@ FtlSysBlkInit: movs r3, #0 ldr r4, .L1583 ldrh r0, [r4, #36] - strh r3, [r4, #3512] @ movhi + strh r3, [r4, #3520] @ movhi bl FtlFreeSysBlkQueueInit bl FtlScanSysBlk ldrh r2, [r4, #2576] @@ -10959,7 +10962,7 @@ FtlSysBlkInit: adds r3, r3, #1 b .L1572 .L1582: - ldrh r3, [r4, #3512] + ldrh r3, [r4, #3520] cmp r3, #0 bne .L1574 .L1578: @@ -11009,7 +11012,7 @@ rk_ftl_garbage_collect: .pad #44 sub sp, sp, #44 mov r4, r3 - ldr r0, [r3, #3264] + ldr r0, [r3, #3272] cmp r0, #0 bne .L1662 ldrh r2, [r3, #2336] @@ -11050,7 +11053,7 @@ rk_ftl_garbage_collect: bls .L1593 movs r5, #0 str r5, [r4, #3152] - strh r5, [r4, #3656] @ movhi + strh r5, [r4, #3664] @ movhi bl GetSwlReplaceBlock cmp r0, r7 mov r6, r0 @@ -11102,7 +11105,7 @@ rk_ftl_garbage_collect: ldrh r2, [r4, #3202] cmp r2, r3 bne .L1607 - ldrh r0, [r4, #3656] + ldrh r0, [r4, #3664] cbnz r0, .L1608 ldr r3, [r4, #2504] ldr r2, [r4, #2500] @@ -11219,10 +11222,10 @@ rk_ftl_garbage_collect: ldrh r2, [r4, #2588] strh r3, [r4, #2590] @ movhi strb r3, [r4, #2594] - strh r3, [r4, #3658] @ movhi + strh r3, [r4, #3666] @ movhi ldr r3, [r4, #2324] ldrh r3, [r3, r2, lsl #1] - strh r3, [r4, #3660] @ movhi + strh r3, [r4, #3668] @ movhi .L1621: ldrh r3, [r4, #2588] ldrh r2, [r4, #2348] @@ -11264,7 +11267,7 @@ rk_ftl_garbage_collect: ldrh r3, [r4, #3148] cmp r2, r3 bls .L1614 - ldrh r3, [r4, #3656] + ldrh r3, [r4, #3664] cbnz r3, .L1615 ldr r3, [r4, #2504] ldr r2, [r4, #2500] @@ -11286,13 +11289,13 @@ rk_ftl_garbage_collect: cmp r3, #4 bls .L1614 .L1706: - ldrh r0, [r4, #3656] + ldrh r0, [r4, #3664] b .L1585 .L1616: movs r3, #18 b .L1704 .L1614: - ldrh r0, [r4, #3656] + ldrh r0, [r4, #3664] cmp r0, #0 bne .L1618 ldrh r5, [r4, #2572] @@ -11431,14 +11434,14 @@ rk_ftl_garbage_collect: ldrh r1, [r4, #2588] movs r3, #0 ldr r2, [r4, #2324] - strh r3, [r4, #3658] @ movhi + strh r3, [r4, #3666] @ movhi ldrh r2, [r2, r1, lsl #1] strh r3, [r4, #2590] @ movhi strb r3, [r4, #2594] - strh r2, [r4, #3660] @ movhi + strh r2, [r4, #3668] @ movhi .L1629: movs r3, #1 - str r3, [r4, #3264] + str r3, [r4, #3272] ldrh r3, [r4, #102] str r3, [sp, #16] cmp r9, #0 @@ -11547,20 +11550,20 @@ rk_ftl_garbage_collect: ldr r2, [r0, #4] cmp r2, r3 bne .L1648 - ldrh r3, [r4, #3658] + ldrh r3, [r4, #3666] movs r2, #20 ldr r1, [r4, #3164] str r2, [sp, #28] adds r3, r3, #1 - strh r3, [r4, #3658] @ movhi - ldr r3, [r4, #3284] + strh r3, [r4, #3666] @ movhi + ldr r3, [r4, #3292] mla r3, r2, r1, r3 ldr r1, [r0, #16] str r1, [r3, #16] str r3, [sp, #24] bl Ftl_get_new_temp_ppa ldr r3, [sp, #24] - ldr r1, [r4, #3284] + ldr r1, [r4, #3292] ldr r2, [sp, #28] str r0, [r3, #4] ldr r3, [r4, #3164] @@ -11595,8 +11598,8 @@ rk_ftl_garbage_collect: cbz r0, .L1648 ldr r3, .L1709+16 movs r2, #0 - str r2, [r3, #3264] - ldrh r0, [r3, #3656] + str r2, [r3, #3272] + ldrh r0, [r3, #3664] b .L1585 .L1648: add fp, fp, #1 @@ -11614,11 +11617,11 @@ rk_ftl_garbage_collect: bl Ftl_gc_temp_data_write_back cbz r0, .L1655 movs r3, #0 - ldrh r0, [r7, #3656] - str r3, [r7, #3264] + ldrh r0, [r7, #3664] + str r3, [r7, #3272] b .L1585 .L1655: - ldrh r1, [r7, #3658] + ldrh r1, [r7, #3666] cbnz r1, .L1656 ldrh r2, [r7, #2588] ldr r3, [r7, #2324] @@ -11634,14 +11637,14 @@ rk_ftl_garbage_collect: strh r3, [r7, #2588] @ movhi .L1654: movs r3, #0 - str r3, [r7, #3264] + str r3, [r7, #3272] ldrh r3, [r7, #2344] cmp r3, #2 bhi .L1657 ldrh r5, [r7, #102] b .L1658 .L1657: - ldrh r0, [r7, #3656] + ldrh r0, [r7, #3664] cmp r0, #0 bne .L1585 adds r0, r3, #1 @@ -11874,7 +11877,7 @@ FtlRead: beq .L1723 movs r2, #0 mov r1, r6 - ldr r0, [r4, #3280] + ldr r0, [r4, #3288] mov fp, #0 bl FlashReadPages lsl r3, r9, #9 @@ -11887,7 +11890,7 @@ FtlRead: str r3, [sp, #36] .L1739: movs r3, #20 - ldr r2, [r4, #3280] + ldr r2, [r4, #3288] mul r3, r3, fp ldr r0, [sp, #12] add r2, r2, r3 @@ -11895,7 +11898,7 @@ FtlRead: cmp r0, r1 bne .L1734 ldr r1, [r2, #8] - ldr r2, [r4, #3304] + ldr r2, [r4, #3312] cmp r1, r2 bne .L1735 str r3, [sp, #44] @@ -11907,7 +11910,7 @@ FtlRead: bl ftl_memcpy ldr r3, [sp, #44] .L1735: - ldr ip, [r4, #3280] + ldr ip, [r4, #3288] add r2, ip, r3 ldr r0, [r2, #12] ldr r1, [r2, #16] @@ -11952,7 +11955,7 @@ FtlRead: add fp, fp, #1 b .L1725 .L1724: - ldr r3, [r4, #3280] + ldr r3, [r4, #3288] movs r1, #20 ldrh fp, [r4, #58] mla r3, r1, r6, r3 @@ -11960,7 +11963,7 @@ FtlRead: ldr r2, [sp, #12] cmp r5, r2 bne .L1729 - ldr r2, [r4, #3304] + ldr r2, [r4, #3312] mov r1, fp mov r0, r7 str r3, [sp, #32] @@ -11980,7 +11983,7 @@ FtlRead: str r10, [r3, #8] .L1730: ldrh r2, [r4, #112] - ldr r1, [r4, #3328] + ldr r1, [r4, #3336] str r5, [r3, #16] muls r2, r6, r2 adds r6, r6, #1 @@ -11992,7 +11995,7 @@ FtlRead: ldr r2, [sp, #16] cmp r5, r2 bne .L1731 - ldr r2, [r4, #3308] + ldr r2, [r4, #3316] ldr r1, [sp, #8] str r2, [r3, #8] mul r2, fp, r5 @@ -12012,7 +12015,7 @@ FtlRead: cmp r0, r1 bne .L1735 ldr r1, [r2, #8] - ldr r2, [r4, #3308] + ldr r2, [r4, #3316] cmp r1, r2 bne .L1735 str r3, [sp, #44] @@ -12096,7 +12099,7 @@ FtlWrite: beq .L1756 ldrh r7, [r5, #58] mov r3, #2048 - str r3, [r5, #3664] + str r3, [r5, #3672] mov r0, r10 mov r1, r7 bl __aeabi_uidiv @@ -12149,7 +12152,7 @@ FtlWrite: ldrh r3, [r4, #32] cmp r2, r3 bcc .L1761 - movw r2, #1014 + mov r2, #1016 ldr r1, .L1808+8 ldr r0, .L1808+12 bl sftl_printk @@ -12196,7 +12199,7 @@ FtlWrite: ldrb r2, [r5, #6] @ zero_extendqisi2 cmp r2, r3 bcc .L1766 - movw r2, #1047 + movw r2, #1049 ldr r1, .L1808+8 ldr r0, .L1808+12 bl sftl_printk @@ -12210,12 +12213,12 @@ FtlWrite: mov r3, r5 movs r2, #0 mov r1, fp - ldr r0, [r4, #3288] + ldr r0, [r4, #3296] bl FtlProgPages ldr r3, [sp] cmp fp, r3 bls .L1788 - movw r2, #1124 + movw r2, #1126 ldr r1, .L1808+8 ldr r0, .L1808+12 bl sftl_printk @@ -12247,7 +12250,7 @@ FtlWrite: mul r8, r8, fp bl get_new_active_ppa ldrh r2, [r4, #112] - ldr r3, [r4, #3288] + ldr r3, [r4, #3296] mul r1, r2, fp add r3, r3, r8 str r0, [r3, #4] @@ -12255,7 +12258,7 @@ FtlWrite: bic r1, r1, #3 str r1, [sp, #28] ldr r0, [sp, #28] - ldr r1, [r4, #3328] + ldr r1, [r4, #3336] add r9, r1, r0 str r1, [sp, #32] str r9, [r3, #12] @@ -12294,7 +12297,7 @@ FtlWrite: ldr r3, [sp, #4] bne .L1773 cmp r7, r3 - ldr r3, [r4, #3288] + ldr r3, [r4, #3296] itte ne mulne r6, r6, r7 ldrne r2, [sp, #8] @@ -12310,7 +12313,7 @@ FtlWrite: ldrh r3, [r4, #32] cmp r2, r3 bcc .L1784 - movw r2, #1115 + movw r2, #1117 ldr r1, .L1808+8 ldr r0, .L1808+12 bl sftl_printk @@ -12336,10 +12339,10 @@ FtlWrite: b .L1767 .L1773: cmp r7, r3 - ldr r3, [r4, #3288] + ldr r3, [r4, #3296] ite eq - ldreq r2, [r4, #3304] - ldrne r2, [r4, #3308] + ldreq r2, [r4, #3312] + ldrne r2, [r4, #3316] add r3, r3, r8 str r2, [r3, #8] ldr r3, [sp, #40] @@ -12347,7 +12350,7 @@ FtlWrite: beq .L1778 str r3, [sp, #48] movs r1, #1 - ldr r3, [r4, #3288] + ldr r3, [r4, #3296] add r0, sp, #44 str r7, [sp, #60] add r3, r3, r8 @@ -12368,7 +12371,7 @@ FtlWrite: lsls r2, r6, #9 cmp r7, r3 bne .L1783 - ldr r3, [r4, #3288] + ldr r3, [r4, #3296] ldr r1, [sp, #8] add r3, r3, r8 ldr r0, [r3, #8] @@ -12400,13 +12403,13 @@ FtlWrite: ldr r3, [r9, #8] cmp r7, r3 beq .L1782 - movw r2, #1100 + movw r2, #1102 ldr r1, .L1810+4 ldr r0, .L1810+8 bl sftl_printk b .L1782 .L1778: - ldr r3, [r4, #3288] + ldr r3, [r4, #3296] movs r1, #0 ldrh r2, [r4, #110] add r3, r3, r8 @@ -12416,7 +12419,7 @@ FtlWrite: .L1783: ldrh r1, [r4, #58] ldr r0, [sp, #8] - ldr r3, [r4, #3288] + ldr r3, [r4, #3296] muls r1, r7, r1 add r3, r3, r8 sub r1, r1, r10 @@ -12424,7 +12427,7 @@ FtlWrite: ldr r0, [r3, #8] b .L1806 .L1804: - ldr r3, [r4, #3288] + ldr r3, [r4, #3296] ldr r2, [sp, #8] add r8, r8, r3 ldrh r3, [r4, #58] @@ -12474,351 +12477,6 @@ FtlWrite: .word .LC1 .fnend .size FtlWrite, .-FtlWrite - .global __aeabi_idivmod - .align 1 - .global sftl_write - .syntax unified - .thumb - .thumb_func - .fpu softvfp - .type sftl_write, %function -sftl_write: - .fnstart - @ args = 0, pretend = 0, frame = 120 - @ frame_needed = 0, uses_anonymous_args = 0 - push {r4, r5, r6, r7, r8, r9, r10, fp, lr} - .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} - adds r6, r0, r1 - subs r7, r6, #1 - .pad #132 - sub sp, sp, #132 - cmp r7, #63 - mov fp, r0 - str r1, [sp, #20] - str r2, [sp, #40] - ldr r4, .L1857 - bls .L1813 - cmp r0, #576 - bcc .L1814 -.L1813: - ldr r3, [r4, #3668] - cbz r3, .L1816 - ldr r10, [r4, #3672] - ldr r3, .L1857+4 - ldr r2, [r10] - cmp r2, r3 - beq .L1817 -.L1834: - ldr r4, .L1857 - movs r3, #0 - ldr r0, [r4, #3672] - str r3, [r4, #3668] - bl kfree - ldr r0, [r4, #3676] - bl kfree -.L1816: - ldr r3, [sp, #40] - mov r1, fp - ldr r2, [sp, #20] - movs r0, #0 - bl FtlWrite - add sp, sp, #132 - @ sp needed - pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1817: - ldrh r5, [r4, #14] - add r0, r10, #262144 - ldrh r4, [r4, #10] - movs r3, #0 - movw r2, #65535 -.L1821: - ldr r1, [r0, #-4] - cbnz r1, .L1818 - ldr r1, [r10, r3, lsl #2] - adds r3, r3, #1 - cmp r3, #4096 - add r2, r2, #-1 - it hi - movhi r3, #0 - cmp r2, #4096 - str r1, [r0, #-4]! - bne .L1821 - mov r3, #512 - str r3, [sp, #8] - b .L1820 -.L1818: - add r3, r2, #127 - ldr r0, .L1857+8 - lsrs r3, r3, #7 - str r3, [sp, #8] - bl sftl_printk -.L1820: - uxtb r5, r5 - smulbb r5, r5, r4 - ldr r4, .L1857 - uxth r3, r5 - movs r5, #0 - str r3, [sp, #12] - subs r0, r3, #1 - mov r1, r3 - ldr r3, [sp, #8] - add r0, r0, r3 - bl __aeabi_uidiv - ldr r2, [sp, #12] - mov r3, r0 - str r0, [sp, #16] - str r0, [sp, #36] - str r5, [sp, #28] - muls r3, r2, r3 - str r3, [sp, #24] - ldr r3, [sp, #8] - lsls r3, r3, #7 - str r3, [sp, #52] - b .L1833 -.L1842: - str r3, [sp, #36] -.L1833: - mov r1, #512 - ldr r0, [r4, #3676] - bl __memzero - ldrh r7, [r4, #14] - mov r0, r5 - ldrh r6, [r4, #10] - mov r1, r7 - uxtb r8, r7 - uxth r3, r8 - str r3, [sp, #32] - ldrh r3, [sp, #32] - smulbb r6, r6, r3 - bl __aeabi_uidiv - ldr r3, [r4, #3248] - mov r1, r0 - movs r0, #0 - uxth r6, r6 - blx r3 - ldr r3, [sp, #24] - cmp r3, r6 - bls .L1822 - mov r1, r7 - adds r0, r6, r5 - bl __aeabi_uidiv - ldr r3, [r4, #3248] - mov r1, r0 - movs r0, #0 - blx r3 -.L1822: - mov r1, r6 - mov r0, r5 - bl __aeabi_uidivmod - movs r6, #0 - mov r9, r1 - subs r3, r5, r1 - str r3, [sp, #44] -.L1823: - ldr r3, [sp, #24] - cmp r3, r6 - bhi .L1824 - ldrb r8, [r4, #14] @ zero_extendqisi2 - mov r0, r5 - ldr r3, [r4, #3676] - movs r6, #0 - ldrh r1, [r4, #10] - str r3, [sp, #48] - uxth r3, r8 - str r3, [sp, #44] - ldrh r3, [sp, #44] - smulbb r1, r1, r3 - uxth r1, r1 - bl __aeabi_uidivmod - str r1, [sp, #32] - subs r3, r5, r1 - ldrh r0, [sp, #32] - mov r1, r8 - str r3, [sp, #56] - bl __aeabi_idivmod - uxth r7, r1 -.L1825: - ldr r3, [sp, #8] - cmp r6, r3 - bcs .L1829 - ldr r3, [sp, #44] - mov r1, r8 - sub r9, r3, r7 - ldr r3, [sp, #48] - uxth r9, r9 - add r2, r3, r6, lsl #9 - ldr r3, [sp, #32] - str r2, [sp, #60] - adds r0, r3, r6 - bl __aeabi_uidiv - ldr r3, [sp, #56] - uxth r0, r0 - mov r1, r8 - add r7, r7, r3 - mla r0, r8, r0, r7 - bl __aeabi_uidiv - ldr r7, [r4, #3256] - mov r1, r0 - add r3, sp, #64 - ldr r2, [sp, #60] - movs r0, #0 - blx r7 - adds r0, r0, #1 - bne .L1826 -.L1829: - ldr r0, [r4, #3676] - mov r1, r10 - movs r6, #0 -.L1827: - mov r8, r1 - ldr r2, [r0, r6, lsl #2] - ldr r3, [r8] - lsls r7, r6, #2 - adds r1, r1, #4 - cmp r2, r3 - beq .L1830 - mov r1, #512 - bl __memzero - ldr r2, [r4, #3676] - mov r1, r5 - str r6, [sp] - ldr r0, .L1857+12 - ldr r3, [r8] - ldr r2, [r2, r7] - bl sftl_printk - ldr r3, [r4, #3248] - mov r1, r5 - movs r0, #0 - blx r3 - ldr r3, [sp, #16] - cmp r3, #1 - bls .L1841 - ldr r2, [sp, #12] - movs r0, #0 - ldr r3, [r4, #3248] - adds r1, r2, r5 - blx r3 -.L1841: - ldr r2, [sp, #36] - ldr r3, [sp, #16] - add r3, r3, r2 - ldr r2, [sp, #24] - add r5, r5, r2 - ldr r2, [sp, #36] - cmp r2, #15 - bls .L1842 - b .L1834 -.L1824: - mov r1, r8 - add r0, r9, r6 - bl __aeabi_uidiv - uxth r7, r0 - add r2, r10, r6, lsl #9 - ldr r0, [sp, #44] - mul r3, r8, r7 - mov r1, r8 - str r2, [sp, #48] - str r3, [sp, #64] - movw r3, #61424 - str r3, [sp, #68] - bl __aeabi_uidiv - adds r1, r0, r7 - add r3, sp, #64 - ldr r2, [sp, #48] - movs r0, #0 - ldr r7, [r4, #3252] - blx r7 - ldr r3, [sp, #32] - add r6, r6, r3 - uxth r6, r6 - b .L1823 -.L1826: - add r6, r6, r9 - movs r7, #0 - uxth r6, r6 - b .L1825 -.L1830: - ldr r3, [sp, #52] - adds r6, r6, #1 - cmp r6, r3 - bne .L1827 - ldr r3, [sp, #28] - adds r3, r3, #1 - cmp r3, #5 - str r3, [sp, #28] - bls .L1841 - b .L1834 -.L1814: - cmp r0, #64 - bne .L1835 - mov r0, #262144 - bl ftl_malloc - str r0, [r4, #3672] - mov r0, #262144 - bl ftl_malloc - ldr r3, [r4, #3672] - str r0, [r4, #3676] - cbz r3, .L1836 - cbz r0, .L1836 - movs r2, #1 - mov r1, #262144 - mov r0, r3 - str r2, [r4, #3668] - bl __memzero -.L1835: - ldr r3, [r4, #3668] - cmp r3, #0 - beq .L1816 - cmp fp, #63 - ldr r1, [r4, #3672] - bhi .L1838 - ldr r3, [sp, #20] - rsb r5, fp, #64 - mov r4, r1 - sub r8, r3, r5 - ldr r3, [sp, #40] - add r5, r3, r5, lsl #9 -.L1839: - cmp r7, #576 - ldr r0, .L1857+16 - it cs - subcs r8, r8, r6 - mov r3, r4 - it cs - subcs r8, r8, #446 - mov r2, #262144 - str r8, [sp] - bl sftl_printk - lsl r2, r8, #9 - mov r1, r5 - mov r0, r4 - bl ftl_memcpy - b .L1816 -.L1836: - ldr r1, .L1857+20 - ldr r0, .L1857+24 - bl sftl_printk - b .L1835 -.L1838: - ldr r4, .L1857+28 - ldr r5, [sp, #40] - ldr r8, [sp, #20] - add r4, r4, fp - add r4, r1, r4, lsl #9 - b .L1839 -.L1858: - .align 2 -.L1857: - .word .LANCHOR0 - .word -52655045 - .word .LC115 - .word .LC116 - .word .LC118 - .word .LANCHOR1+615 - .word .LC117 - .word 8388544 - .fnend - .size sftl_write, .-sftl_write .align 1 .global FtlMakeBbt .syntax unified @@ -12833,98 +12491,98 @@ 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, .L1878+4 + ldr r9, .L1831+4 bl FtlBbtMemInit sub r5, r9, #180 sub r10, r9, #18 mov r4, r5 bl FtlLoadFactoryBbt -.L1860: +.L1813: ldrh r3, [r5, #54] cmp r8, r3 - bcc .L1866 + bcc .L1819 movs r5, #0 -.L1867: +.L1820: ldrh r3, [r4, #114] uxth r0, r5 adds r5, r5, #1 cmp r3, r0 - bhi .L1868 + bhi .L1821 ldrh r5, [r4, #164] movw r6, #65535 subs r5, r5, #1 uxth r5, r5 -.L1869: +.L1822: ldrh r3, [r4, #164] subs r3, r3, #48 cmp r5, r3 - ble .L1873 + ble .L1826 mov r0, r5 bl FtlBbmIsBadBlock cmp r0, #1 - beq .L1870 + beq .L1823 mov r0, r5 bl FlashTestBlk cmp r0, #0 - beq .L1871 + beq .L1824 mov r0, r5 bl FtlBbmMapBadBlock -.L1870: +.L1823: subs r5, r5, #1 uxth r5, r5 - b .L1869 -.L1866: + b .L1822 +.L1819: ldrh r3, [r10, #2]! movw r2, #65535 - ldr r0, [r5, #3292] - ldr fp, [r5, #3324] + ldr r0, [r5, #3300] + ldr fp, [r5, #3332] cmp r3, r2 - str r0, [r5, #3452] - str fp, [r5, #3456] - beq .L1861 + str r0, [r5, #3460] + str fp, [r5, #3464] + beq .L1814 ldrh r7, [r5, #98] movs r2, #1 mov r1, r2 - ldr r0, .L1878 + ldr r0, .L1831 mla r7, r8, r7, r3 lsls r3, r7, #10 - str r3, [r5, #3448] + str r3, [r5, #3456] bl FlashReadPages ldrh r2, [r5, #98] - ldr r1, [r5, #3452] + ldr r1, [r5, #3460] ldr r0, [r9] adds r2, r2, #7 asrs r2, r2, #3 bl ftl_memcpy -.L1862: +.L1815: uxth r0, r7 add r8, r8, #1 add r9, r9, #4 bl FtlBbmMapBadBlock - b .L1860 -.L1861: + b .L1813 +.L1814: mov r1, r8 bl FlashGetBadBlockList ldr r1, [r9] - ldr r0, [r5, #3452] + ldr r0, [r5, #3460] bl FtlBbt2Bitmap ldrh r6, [r5, #98] -.L1864: +.L1817: subs r6, r6, #1 uxth r6, r6 -.L1863: +.L1816: ldrh r0, [r4, #98] smlabb r0, r0, r8, r6 uxth r0, r0 bl FtlBbmIsBadBlock cmp r0, #1 - beq .L1864 + beq .L1817 movs r1, #16 - ldr r0, [r4, #3324] + ldr r0, [r4, #3332] strh r6, [r10] @ movhi bl __memzero mov r1, #4096 - ldr r0, [r4, #3292] + ldr r0, [r4, #3300] bl __memzero movw r3, #61664 strh r3, [fp] @ movhi @@ -12932,46 +12590,46 @@ FtlMakeBbt: str r3, [fp, #4] ldrh r3, [r10] ldrh r7, [r4, #98] - ldrh r2, [r4, #3380] + ldrh r2, [r4, #3388] strh r3, [fp, #2] @ movhi ldrh r3, [r10] ldr r1, [r9] lsls r2, r2, #2 - ldr r0, [r4, #3452] + ldr r0, [r4, #3460] mla r7, r8, r7, r3 lsls r3, r7, #10 - str r3, [r4, #3448] + str r3, [r4, #3456] bl ftl_memcpy movs r2, #1 - ldr r0, .L1878 + ldr r0, .L1831 mov r1, r2 bl FlashEraseBlocks movs r3, #1 - ldr r0, .L1878 + ldr r0, .L1831 mov r2, r3 mov r1, r3 bl FlashProgPages - ldr r3, [r4, #3444] + ldr r3, [r4, #3452] adds r3, r3, #1 - bne .L1862 + bne .L1815 uxth r0, r7 bl FtlBbmMapBadBlock - b .L1863 -.L1868: + b .L1816 +.L1821: bl FtlBbmMapBadBlock - b .L1867 -.L1871: + b .L1820 +.L1824: ldrh r3, [r4, #152] cmp r3, r6 - bne .L1872 + bne .L1825 strh r5, [r4, #152] @ movhi - b .L1870 -.L1872: + b .L1823 +.L1825: strh r5, [r4, #156] @ movhi -.L1873: +.L1826: ldrh r3, [r4, #152] movs r5, #0 - ldr r0, [r4, #3260] + ldr r0, [r4, #3268] movs r1, #1 str r5, [r4, #160] movs r2, #2 @@ -12998,10 +12656,10 @@ FtlMakeBbt: bl FtlBbmTblFlush mov r0, r5 pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1879: +.L1832: .align 2 -.L1878: - .word .LANCHOR0+3444 +.L1831: + .word .LANCHOR0+3452 .word .LANCHOR0+180 .fnend .size FtlMakeBbt, .-FtlMakeBbt @@ -13019,46 +12677,46 @@ 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, .L1904 + ldr r4, .L1857 ldrh r0, [r4, #36] str r3, [r4, #2540] str r3, [r4, #2544] bl FtlFreeSysBlkQueueInit bl FtlLoadBbt - cbz r0, .L1881 + cbz r0, .L1834 bl FtlMakeBbt -.L1881: - ldr r0, .L1904+4 +.L1834: + ldr r0, .L1857+4 movs r2, #0 -.L1882: +.L1835: ldrh r1, [r4, #58] uxth r3, r2 adds r2, r2, #1 cmp r3, r1, lsl #7 - blt .L1883 + blt .L1836 ldrh r6, [r4, #40] movs r5, #0 -.L1884: +.L1837: ldrh r3, [r4, #42] cmp r3, r6 - bhi .L1885 + bhi .L1838 ldrh r1, [r4, #32] subs r3, r5, #3 cmp r3, r1, lsl #1 - bge .L1886 -.L1890: + bge .L1839 +.L1843: movs r5, #0 mov r6, r5 -.L1887: +.L1840: ldrh r3, [r4, #40] uxth r0, r5 adds r5, r5, #1 cmp r3, r0 - bhi .L1891 + bhi .L1844 ldrh r3, [r4, #42] ldrh r5, [r4, #32] ldr r9, [r4, #44] - str r3, [r4, #3276] + str r3, [r4, #3284] mov r1, r5 mov r0, r9 bl __aeabi_uidiv @@ -13070,7 +12728,7 @@ ftl_low_format: movs r3, #24 muls r3, r5, r3 cmp r6, r3 - ble .L1892 + ble .L1845 mov r1, r5 sub r0, r9, r6 bl __aeabi_uidiv @@ -13078,9 +12736,9 @@ ftl_low_format: lsrs r0, r0, #5 adds r0, r0, #24 strh r0, [r4, #2572] @ movhi -.L1892: +.L1845: ldrh r3, [r4, #94] - cbz r3, .L1894 + cbz r3, .L1847 ldrh r2, [r4, #2572] add r2, r2, r3, lsr #1 strh r2, [r4, #2572] @ movhi @@ -13091,14 +12749,14 @@ ftl_low_format: strlt r8, [r4, #2504] addlt r3, r3, r7 strhlt r3, [r4, #2572] @ movhi -.L1894: +.L1847: ldrh r2, [r4, #2572] ldr r3, [r4, #2504] - ldr r6, .L1904+8 + ldr r6, .L1857+8 subs r3, r3, r2 muls r5, r3, r5 ldrh r3, [r4, #102] - str r5, [r4, #3464] + str r5, [r4, #3472] muls r5, r3, r5 ldrh r3, [r4, #58] str r5, [r4, #2504] @@ -13127,28 +12785,28 @@ ftl_low_format: strh r5, [r4, #2588] @ movhi strb r3, [r4, #2356] bl ftl_memset -.L1896: +.L1849: mov r0, r6 bl make_superblock ldrb r3, [r4, #2355] @ zero_extendqisi2 ldrh r2, [r4, #2348] cmp r3, #0 - bne .L1897 + bne .L1850 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 .L1896 -.L1883: - ldr r5, [r4, #3304] + b .L1849 +.L1836: + ldr r5, [r4, #3312] mvns r1, r3 orr r1, r3, r1, lsl #16 str r1, [r5, r3, lsl #2] - ldr r1, [r4, #3308] + ldr r1, [r4, #3316] str r0, [r1, r3, lsl #2] - b .L1882 -.L1885: + b .L1835 +.L1838: mov r0, r6 movs r1, #1 bl FtlLowFormatEraseBlock @@ -13156,8 +12814,8 @@ ftl_low_format: add r5, r5, r0 uxth r5, r5 uxth r6, r6 - b .L1884 -.L1886: + b .L1837 +.L1839: mov r0, r5 bl __aeabi_uidiv ldr r3, [r4, #132] @@ -13167,27 +12825,27 @@ ftl_low_format: ldrh r0, [r4, #36] bl FtlFreeSysBlkQueueInit ldrh r5, [r4, #40] -.L1888: +.L1841: ldrh r3, [r4, #42] cmp r3, r5 - bls .L1890 + bls .L1843 mov r0, r5 movs r1, #1 adds r5, r5, #1 bl FtlLowFormatEraseBlock uxth r5, r5 - b .L1888 -.L1891: + b .L1841 +.L1844: movs r1, #0 bl FtlLowFormatEraseBlock add r6, r6, r0 uxth r6, r6 - b .L1887 -.L1897: + b .L1840 +.L1850: ldr r3, [r4, #2540] movw r5, #65535 ldrh r1, [r4, #2352] - ldr r6, .L1904+12 + ldr r6, .L1857+12 str r3, [r4, #2360] adds r3, r3, #1 str r3, [r4, #2540] @@ -13201,19 +12859,19 @@ ftl_low_format: strh r3, [r4, #2396] @ movhi movs r3, #1 strb r3, [r4, #2404] -.L1898: +.L1851: mov r0, r6 bl make_superblock ldrb r3, [r4, #2403] @ zero_extendqisi2 ldrh r2, [r4, #2396] - cbnz r3, .L1899 + cbnz r3, .L1852 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 .L1898 -.L1899: + b .L1851 +.L1852: ldr r3, [r4, #2540] movw r5, #65535 ldrh r1, [r4, #2400] @@ -13227,7 +12885,7 @@ ftl_low_format: movs r3, #0 strh r0, [r4, #2576] @ movhi strh r3, [r4, #2578] @ movhi - ldr r3, [r4, #3464] + ldr r3, [r4, #3472] strh r5, [r4, #2580] @ movhi strh r3, [r4, #2582] @ movhi ldr r3, [r4, #2540] @@ -13236,16 +12894,16 @@ ftl_low_format: str r3, [r4, #2540] bl FtlVpcTblFlush bl FtlSysBlkInit - cbnz r0, .L1900 - ldr r3, .L1904+16 + cbnz r0, .L1853 + ldr r3, .L1857+16 movs r2, #1 str r2, [r3] -.L1900: +.L1853: movs r0, #0 pop {r3, r4, r5, r6, r7, r8, r9, pc} -.L1905: +.L1858: .align 2 -.L1904: +.L1857: .word .LANCHOR0 .word 168778952 .word .LANCHOR0+2348 @@ -13269,6 +12927,434 @@ ftl_memcmp: .fnend .size ftl_memcmp, .-ftl_memcmp .align 1 + .global FtlWriteToIDB + .syntax unified + .thumb + .thumb_func + .fpu softvfp + .type FtlWriteToIDB, %function +FtlWriteToIDB: + .fnstart + @ args = 0, pretend = 0, frame = 96 + @ frame_needed = 0, uses_anonymous_args = 0 + push {r4, r5, r6, r7, r8, r9, r10, fp, lr} + .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} + adds r7, r1, r0 + add r8, r7, #-1 + .pad #108 + sub sp, sp, #108 + cmp r8, #63 + mov r4, r0 + mov r6, r1 + mov r9, r2 + ldr r5, .L1932 + bls .L1861 + cmp r0, #576 + bcc .L1862 +.L1861: + ldr r3, [r5, #3676] + cbnz r3, .L1863 +.L1931: + movs r4, #0 + b .L1860 +.L1863: + ldr r3, [r5, #3680] + ldr r2, [r3] + str r3, [sp, #8] + ldr r3, .L1932+4 + cmp r2, r3 + bne .L1865 + ldr r3, [sp, #8] + movs r2, #0 + ldrh r1, [r5, #10] + add r0, r3, #262144 + movw r3, #65535 +.L1869: + ldr r4, [r0, #-4] + cbnz r4, .L1866 + ldr r4, [sp, #8] + subs r3, r3, #1 + ldr r4, [r4, r2, lsl #2] + adds r2, r2, #1 + cmp r2, #4096 + it hi + movhi r2, #0 + cmp r3, #4096 + str r4, [r0, #-4]! + bne .L1869 + mov r3, #512 + b .L1928 +.L1866: + adds r3, r3, #127 + lsrs r3, r3, #7 +.L1928: + str r3, [sp, #12] + lsls r1, r1, #2 + ldr r3, [sp, #12] + uxth r1, r1 + ldr r4, .L1932 + adds r0, r3, #4 + bl __aeabi_uidiv + adds r3, r0, #1 + str r3, [sp, #20] + ldr r3, [sp, #12] + lsls r3, r3, #7 + str r3, [sp, #28] + movs r3, #0 + mov fp, r3 + str r3, [sp, #16] +.L1892: + mov r1, #512 + ldr r0, [r4, #3684] + bl __memzero + ldrh r7, [r4, #10] + ldr r3, [r4, #3260] + mul r9, fp, r7 + cmp r3, #0 + beq .L1900 + ldr r3, [r4, #3264] + cmp r3, #0 + ite eq + moveq r3, #6 + movne r3, #9 +.L1929: + str r3, [sp, #24] + mov r1, r9 + ldr r3, .L1932 + movs r0, #0 + ldr r3, [r3, #3248] + blx r3 + ldr r3, [sp, #20] + cmp r3, #1 + beq .L1871 + ldr r3, .L1932 + add r1, r7, r9 + movs r0, #0 + ldr r3, [r3, #3248] + blx r3 +.L1871: + ldr r3, [sp, #24] + cmp r3, #9 + bne .L1902 + ldr r3, .L1932 + mov r1, #1024 + ldr r5, [r3, #3684] + mov r0, r5 + bl __memzero + ldr r2, .L1932+8 + movs r3, #12 + add r1, r5, #11 + add r0, r5, #23 + stm r5, {r2, r3} + movs r2, #4 + strb r2, [r5, #17] + movs r3, #0 + ldr r2, .L1932 + str r3, [r5, #12] + strb r3, [r5, #16] + ldrh r2, [r2, #10] + strb r3, [r5, #20] + strh r3, [r5, #22] @ movhi + ldr r3, .L1932+12 + strh r2, [r5, #18] @ movhi + movs r2, #16 + strb r2, [r5, #21] +.L1873: + lsrs r2, r3, #2 + ldrb ip, [r1, #1]! @ zero_extendqisi2 + add r2, r2, r3, lsl #5 + cmp r0, r1 + add r2, r2, ip + eor r3, r3, r2 + bne .L1873 + str r3, [r5, #8] +.L1872: + ldr r3, [sp, #20] + mov r10, r9 + mov r8, #0 + muls r3, r7, r3 + ldr r7, [sp, #8] + str r3, [sp, #32] +.L1874: + ldr r3, [sp, #32] + cmp r8, r3 + beq .L1881 + ldr r3, [sp, #24] + cmp r3, #9 + itet ne + addne r3, r9, r8 + addeq r3, r10, #1 + lslne r3, r3, #2 + str r3, [sp, #40] + movw r3, #61424 + str r3, [sp, #44] + cmp r8, #0 + bne .L1877 + ldr r3, [sp, #24] + cmp r3, #9 + bne .L1877 + ldr r3, [r4, #3260] + movs r0, #70 + blx r3 + mov r2, r5 + add r3, sp, #40 + mov r1, r9 + mov r0, r8 + ldr r6, [r4, #3252] + blx r6 + ldr r3, [r4, #3260] + str r0, [sp, #36] + ldrb r0, [r4, #22] @ zero_extendqisi2 + blx r3 + ldr r2, [sp, #36] + adds r2, r2, #1 + bne .L1878 +.L1881: + ldrb r3, [r4, #14] @ zero_extendqisi2 + ldr r2, [r4, #3260] + ldr r8, [r4, #3684] + str r3, [sp, #24] + ldrh r3, [r4, #10] + mul r10, fp, r3 + cmp r2, #0 + bne .L1879 + mov r9, #6 +.L1880: + ldr r2, [sp, #20] + movs r7, #0 + mul r5, r3, r2 +.L1883: + cmp r7, r5 + beq .L1887 + cmp r7, #0 + bne .L1884 + cmp r9, #9 + bne .L1884 + ldr r3, [r4, #3260] + movs r0, #70 + blx r3 + ldr r3, [r4, #3264] + movs r0, #2 + blx r3 + mov r2, r8 + mov r1, r10 + add r3, sp, #40 + mov r0, r7 + ldr r6, [r4, #3256] + blx r6 + ldr r3, [r4, #3264] + ldr r0, [sp, #24] + blx r3 + ldr r3, [r4, #3260] + ldrb r0, [r4, #22] @ zero_extendqisi2 + blx r3 + ldr r3, [r8] + ldr r2, .L1932+8 + cmp r3, r2 + beq .L1885 +.L1887: + ldr r0, [r4, #3684] + movs r5, #0 + ldr r1, [sp, #8] +.L1886: + mov r8, r1 + ldr r2, [r0, r5, lsl #2] + ldr r3, [r8] + lsls r7, r5, #2 + adds r1, r1, #4 + cmp r2, r3 + beq .L1889 + mov r1, #512 + bl __memzero + ldr r3, .L1932 + mov r1, fp + ldr r0, .L1932+16 + ldr r2, [r3, #3684] + str r5, [sp] + ldr r3, [r8] + ldr r2, [r2, r7] + bl sftl_printk + ldr r3, .L1932 + movs r0, #0 + ldrh r1, [r3, #10] + ldr r3, [r3, #3248] + mul r1, fp, r1 + blx r3 +.L1890: + ldr r3, [sp, #20] + add fp, fp, r3 + cmp fp, #15 + bls .L1892 + ldr r3, [sp, #16] + cbnz r3, .L1893 +.L1865: + mov r3, #-1 + str r3, [sp, #12] +.L1893: + ldr r5, .L1932 + movs r3, #0 + ldr r4, [sp, #12] + ldr r0, [r5, #3680] + str r3, [r5, #3676] + bl kfree + ldr r0, [r5, #3684] + bl kfree +.L1860: + mov r0, r4 + add sp, sp, #108 + @ sp needed + pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} +.L1900: + movs r3, #6 + b .L1929 +.L1902: + movs r5, #0 + b .L1872 +.L1877: + add r3, sp, #40 + mov r2, r7 + mov r1, r10 + movs r0, #0 + ldr r6, [r4, #3252] + blx r6 + adds r0, r0, #1 + beq .L1881 + add r7, r7, #2048 +.L1878: + add r8, r8, #1 + add r10, r10, #1 + b .L1874 +.L1879: + ldr r2, [r4, #3264] + cmp r2, #0 + ite eq + moveq r9, #6 + movne r9, #9 + b .L1880 +.L1884: + add r3, sp, #40 + mov r2, r8 + add r1, r10, r7 + movs r0, #0 + ldr r6, [r4, #3256] + blx r6 + adds r0, r0, #1 + beq .L1887 + ldr r2, [sp, #44] + movw r3, #61424 + cmp r2, r3 + bne .L1887 + add r8, r8, #2048 +.L1885: + adds r7, r7, #1 + b .L1883 +.L1889: + ldr r3, [sp, #28] + adds r5, r5, #1 + cmp r5, r3 + bne .L1886 + ldr r3, [sp, #16] + adds r3, r3, #1 + cmp r3, #5 + str r3, [sp, #16] + bls .L1890 + b .L1893 +.L1933: + .align 2 +.L1932: + .word .LANCHOR0 + .word -52655045 + .word 1179535694 + .word 1204201446 + .word .LC115 +.L1862: + cmp r0, #64 + bne .L1894 + mov r0, #262144 + bl ftl_malloc + str r0, [r5, #3680] + mov r0, #262144 + bl ftl_malloc + ldr r3, [r5, #3680] + str r0, [r5, #3684] + cbz r3, .L1895 + cbz r0, .L1895 + movs r2, #1 + mov r1, #262144 + mov r0, r3 + str r2, [r5, #3676] + bl __memzero +.L1894: + ldr r3, [r5, #3676] + cmp r3, #0 + beq .L1931 + cmp r4, #63 + ldr r1, [r5, #3680] + iteee hi + ldrhi r5, .L1934 + rsbls r4, r4, #64 + subls r6, r6, r4 + addls r9, r9, r4, lsl #9 + it ls + movls r5, r1 + ldr r0, .L1934+4 + it hi + addhi r5, r5, r4 + mov r2, #262144 + it hi + addhi r5, r1, r5, lsl #9 + cmp r8, #576 + itt cs + subcs r6, r6, r7 + subcs r6, r6, #446 + mov r3, r5 + str r6, [sp] + bl sftl_printk + lsls r2, r6, #9 + mov r1, r9 + mov r0, r5 + bl ftl_memcpy + b .L1931 +.L1895: + ldr r1, .L1934+8 + ldr r0, .L1934+12 + bl sftl_printk + b .L1894 +.L1935: + .align 2 +.L1934: + .word 8388544 + .word .LC117 + .word .LANCHOR1+615 + .word .LC116 + .fnend + .size FtlWriteToIDB, .-FtlWriteToIDB + .align 1 + .global sftl_write + .syntax unified + .thumb + .thumb_func + .fpu softvfp + .type sftl_write, %function +sftl_write: + .fnstart + @ args = 0, pretend = 0, frame = 0 + @ frame_needed = 0, uses_anonymous_args = 0 + push {r4, r5, r6, lr} + .save {r4, r5, r6, lr} + mov r5, r1 + mov r6, r2 + mov r4, r0 + bl FtlWriteToIDB + mov r3, r6 + mov r2, r5 + mov r1, r4 + movs r0, #0 + pop {r4, r5, r6, lr} + b FtlWrite + .fnend + .size sftl_write, .-sftl_write + .align 1 .global rk_sftl_vendor_dev_ops_register .syntax unified .thumb @@ -13280,19 +13366,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, .L1910 - ldr r3, [r2, #3680] - cbnz r3, .L1909 - str r0, [r2, #3680] + ldr r2, .L1940 + ldr r3, [r2, #3688] + cbnz r3, .L1939 + str r0, [r2, #3688] mov r0, r3 - str r1, [r2, #3684] + str r1, [r2, #3692] bx lr -.L1909: +.L1939: mov r0, #-1 bx lr -.L1911: +.L1941: .align 2 -.L1910: +.L1940: .word .LANCHOR0 .fnend .size rk_sftl_vendor_dev_ops_register, .-rk_sftl_vendor_dev_ops_register @@ -13310,59 +13396,59 @@ 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, .L1920 + ldr r4, .L1950 bl ftl_malloc - str r0, [r4, #3688] + str r0, [r4, #3696] cmp r0, #0 - beq .L1918 - ldr r8, .L1920+4 + beq .L1948 + ldr r8, .L1950+4 mov r9, #0 mov r7, r9 mov r6, r9 -.L1916: - ldr r3, [r4, #3680] +.L1946: + ldr r3, [r4, #3688] movs r1, #128 - ldr r2, [r4, #3688] + ldr r2, [r4, #3696] lsls r0, r6, #7 blx r3 mov r5, r0 - cbnz r0, .L1914 - ldr r2, [r4, #3688] + cbnz r0, .L1944 + ldr r2, [r4, #3696] ldr r3, [r2] cmp r3, r8 - bne .L1915 + bne .L1945 movw r3, #65532 ldr r1, [r2, r3] ldr r3, [r2, #4] cmp r1, r3 - bne .L1915 + bne .L1945 cmp r1, r7 itt hi movhi r9, r6 movhi r7, r1 -.L1915: +.L1945: adds r6, r6, #1 cmp r6, #2 - bne .L1916 - cbz r7, .L1917 - ldr r3, [r4, #3680] + bne .L1946 + cbz r7, .L1947 + ldr r3, [r4, #3688] movs r1, #128 lsl r0, r9, #7 blx r3 mov r5, r0 - cbz r0, .L1912 -.L1914: - ldr r0, [r4, #3688] + cbz r0, .L1942 +.L1944: + ldr r0, [r4, #3696] mov r5, #-1 bl kfree movs r3, #0 - str r3, [r4, #3688] - b .L1912 -.L1917: + str r3, [r4, #3696] + b .L1942 +.L1947: mov r1, #65536 mov r0, r2 bl __memzero - ldr r3, [r4, #3688] + ldr r3, [r4, #3696] movs r2, #1 movw r1, #65532 str r2, [r3, #4] @@ -13371,15 +13457,15 @@ rk_sftl_vendor_storage_init: movw r2, #64504 strh r7, [r3, #12] @ movhi strh r2, [r3, #14] @ movhi -.L1912: +.L1942: mov r0, r5 pop {r3, r4, r5, r6, r7, r8, r9, pc} -.L1918: +.L1948: mvn r5, #11 - b .L1912 -.L1921: + b .L1942 +.L1951: .align 2 -.L1920: +.L1950: .word .LANCHOR0 .word 1380668996 .fnend @@ -13398,23 +13484,23 @@ rk_sftl_vendor_read: push {r3, r4, r5, r6, r7, lr} .save {r3, r4, r5, r6, r7, lr} mov r7, r0 - ldr r3, .L1928 + ldr r3, .L1958 mov r0, r1 - ldr r5, [r3, #3688] - cbz r5, .L1927 + ldr r5, [r3, #3696] + cbz r5, .L1957 ldrh r6, [r5, #10] movs r3, #0 -.L1924: +.L1954: cmp r3, r6 - bcc .L1926 -.L1927: + bcc .L1956 +.L1957: mov r0, #-1 pop {r3, r4, r5, r6, r7, pc} -.L1926: +.L1956: add r1, r5, r3, lsl #3 ldrh r4, [r1, #16] cmp r4, r7 - bne .L1925 + bne .L1955 ldrh r4, [r1, #20] ldrh r1, [r1, #18] cmp r4, r2 @@ -13426,12 +13512,12 @@ rk_sftl_vendor_read: bl memcpy mov r0, r4 pop {r3, r4, r5, r6, r7, pc} -.L1925: +.L1955: adds r3, r3, #1 - b .L1924 -.L1929: + b .L1954 +.L1959: .align 2 -.L1928: +.L1958: .word .LANCHOR0 .fnend .size rk_sftl_vendor_read, .-rk_sftl_vendor_read @@ -13449,26 +13535,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, .L1949 + ldr r2, .L1979 .pad #28 sub sp, sp, #28 mov r3, r1 - ldr r4, [r2, #3688] + ldr r4, [r2, #3696] mov r9, r2 cmp r4, #0 - beq .L1945 + beq .L1975 ldrh r2, [r4, #10] add r6, r8, #63 ldrh r1, [r4, #8] bic r6, r6, #63 movs r7, #0 str r1, [sp, #4] -.L1932: +.L1962: cmp r7, r2 - bcc .L1940 + bcc .L1970 ldrh r1, [r4, #14] cmp r6, r1 - bhi .L1945 + bhi .L1975 add r2, r4, r2, lsl #3 uxth r6, r6 strh r0, [r2, #16] @ movhi @@ -13500,32 +13586,32 @@ rk_sftl_vendor_write: it hi movhi r3, #0 strh r3, [r4, #8] @ movhi - ldr r3, [r9, #3684] - b .L1948 -.L1940: + ldr r3, [r9, #3692] + b .L1978 +.L1970: add r5, r4, r7, lsl #3 ldrh r1, [r5, #16] cmp r1, r0 str r1, [sp, #8] - bne .L1933 + bne .L1963 ldrh r1, [r5, #20] add fp, r4, #1024 adds r1, r1, #63 bic r1, r1, #63 cmp r8, r1 str r1, [sp, #12] - bls .L1934 + bls .L1964 ldrh r1, [r4, #14] cmp r6, r1 - bhi .L1945 + bhi .L1975 ldrh r10, [r5, #18] subs r2, r2, #1 str r2, [sp, #16] -.L1935: +.L1965: ldr r2, [sp, #16] adds r5, r5, #8 cmp r7, r2 - bcc .L1936 + bcc .L1966 ldrh r2, [sp, #8] add r7, r4, r7, lsl #3 uxth r5, r10 @@ -13544,7 +13630,7 @@ rk_sftl_vendor_write: strh r5, [r4, #12] @ movhi add r6, r6, r3 strh r6, [r4, #14] @ movhi -.L1937: +.L1967: ldr r3, [r4, #4] movw r2, #65532 adds r3, r3, #1 @@ -13557,20 +13643,20 @@ rk_sftl_vendor_write: it hi movhi r3, #0 strh r3, [r4, #8] @ movhi - ldr r3, .L1949 - ldr r3, [r3, #3684] -.L1948: + ldr r3, .L1979 + ldr r3, [r3, #3692] +.L1978: ldr r0, [sp, #4] mov r2, r4 movs r1, #128 lsls r0, r0, #7 blx r3 movs r0, #0 -.L1930: +.L1960: add sp, sp, #28 @ sp needed pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} -.L1936: +.L1966: ldrh r9, [r5, #20] add r0, fp, r10 ldrh r2, [r5, #16] @@ -13587,24 +13673,24 @@ rk_sftl_vendor_write: add r10, r10, r9 bl memcpy ldr r3, [sp, #20] - b .L1935 -.L1934: + b .L1965 +.L1964: ldrh r0, [r5, #18] mov r2, r8 mov r1, r3 add r0, r0, fp bl memcpy strh r8, [r5, #20] @ movhi - b .L1937 -.L1933: + b .L1967 +.L1963: adds r7, r7, #1 - b .L1932 -.L1945: + b .L1962 +.L1975: mov r0, #-1 - b .L1930 -.L1950: + b .L1960 +.L1980: .align 2 -.L1949: +.L1979: .word .LANCHOR0 .fnend .size rk_sftl_vendor_write, .-rk_sftl_vendor_write @@ -13627,18 +13713,18 @@ rk_sftl_vendor_storage_ioctl: bl ftl_malloc mov r4, r0 cmp r0, #0 - beq .L1965 - ldr r3, .L1977 + beq .L1995 + ldr r3, .L2007 cmp r6, r3 - beq .L1954 + beq .L1984 adds r3, r3, #1 cmp r6, r3 - beq .L1955 -.L1976: + beq .L1985 +.L2006: mvn r5, #13 - b .L1953 -.L1954: - ldr r6, .L1977+4 + b .L1983 +.L1984: + ldr r6, .L2007+4 mov r3, sp ands r3, r3, r6 ldr r3, [r3, #72] @@ -13649,31 +13735,31 @@ rk_sftl_vendor_storage_ioctl: .thumb .syntax unified cmp r3, #0 - bne .L1961 + bne .L1991 movs r2, #8 mov r1, r5 bl arm_copy_from_user cmp r0, #0 - bne .L1976 + bne .L2006 ldr r2, [r4] - ldr r3, .L1977+8 + ldr r3, .L2007+8 cmp r2, r3 - beq .L1959 -.L1960: + beq .L1989 +.L1990: mov r5, #-1 -.L1953: +.L1983: mov r0, r4 bl kfree -.L1951: +.L1981: mov r0, r5 pop {r4, r5, r6, pc} -.L1959: +.L1989: ldrh r2, [r4, #6] add r1, r4, #8 ldrh r0, [r4, #4] bl rk_sftl_vendor_read adds r3, r0, #1 - beq .L1960 + beq .L1990 mov r3, sp uxth r2, r0 ands r6, r6, r3 @@ -13687,17 +13773,17 @@ rk_sftl_vendor_storage_ioctl: .thumb .syntax unified cmp r3, #0 - bne .L1976 + bne .L2006 mov r1, r4 mov r0, r5 bl arm_copy_to_user cmp r0, #0 - bne .L1976 -.L1967: + bne .L2006 +.L1997: mov r5, r0 - b .L1953 -.L1955: - ldr r6, .L1977+4 + b .L1983 +.L1985: + ldr r6, .L2007+4 mov r3, sp ands r3, r3, r6 ldr r3, [r3, #72] @@ -13707,20 +13793,20 @@ rk_sftl_vendor_storage_ioctl: @ 0 "" 2 .thumb .syntax unified - cbnz r3, .L1961 + cbnz r3, .L1991 movs r2, #8 mov r1, r5 bl arm_copy_from_user cmp r0, #0 - bne .L1976 + bne .L2006 ldr r2, [r4] - ldr r3, .L1977+8 + ldr r3, .L2007+8 cmp r2, r3 - bne .L1960 + bne .L1990 ldrh r2, [r4, #6] movw r3, #4087 cmp r2, r3 - bhi .L1960 + bhi .L1990 mov r3, sp adds r2, r2, #8 ands r6, r6, r3 @@ -13731,32 +13817,32 @@ rk_sftl_vendor_storage_ioctl: @ 0 "" 2 .thumb .syntax unified - cbnz r3, .L1963 + cbnz r3, .L1993 mov r1, r5 mov r0, r4 bl arm_copy_from_user cmp r0, #0 - bne .L1976 + bne .L2006 ldrh r2, [r4, #6] add r1, r4, #8 ldrh r0, [r4, #4] bl rk_sftl_vendor_write - b .L1967 -.L1961: + b .L1997 +.L1991: movs r1, #8 -.L1975: +.L2005: bl __memzero - b .L1976 -.L1963: + b .L2006 +.L1993: mov r1, r2 mov r0, r4 - b .L1975 -.L1965: + b .L2005 +.L1995: mov r5, #-1 - b .L1951 -.L1978: + b .L1981 +.L2008: .align 2 -.L1977: +.L2007: .word 1074034177 .word -8192 .word 1448232273 @@ -13774,11 +13860,11 @@ rk_sftl_vendor_register: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r0, .L1980 + ldr r0, .L2010 b misc_register -.L1981: +.L2011: .align 2 -.L1980: +.L2010: .word .LANCHOR2+12 .fnend .size rk_sftl_vendor_register, .-rk_sftl_vendor_register @@ -13934,149 +14020,149 @@ rk_sftl_vendor_register: .section .rodata .align 2 .set .LANCHOR1,. + 0 - .type __func__.6750, %object - .size __func__.6750, 17 -__func__.6750: + .type __func__.6693, %object + .size __func__.6693, 17 +__func__.6693: .ascii "INSERT_DATA_LIST\000" - .type __func__.6745, %object - .size __func__.6745, 17 -__func__.6745: + .type __func__.6688, %object + .size __func__.6688, 17 +__func__.6688: .ascii "INSERT_FREE_LIST\000" - .type __func__.6781, %object - .size __func__.6781, 17 -__func__.6781: + .type __func__.6724, %object + .size __func__.6724, 17 +__func__.6724: .ascii "List_remove_node\000" - .type __func__.6813, %object - .size __func__.6813, 22 -__func__.6813: + .type __func__.6756, %object + .size __func__.6756, 22 +__func__.6756: .ascii "List_update_data_list\000" - .type __func__.6920, %object - .size __func__.6920, 22 -__func__.6920: + .type __func__.6863, %object + .size __func__.6863, 22 +__func__.6863: .ascii "select_l2p_ram_region\000" - .type __func__.7243, %object - .size __func__.7243, 16 -__func__.7243: - .ascii "make_superblock\000" - .type __func__.7418, %object - .size __func__.7418, 19 -__func__.7418: - .ascii "get_new_active_ppa\000" - .type __func__.17825, %object - .size __func__.17825, 17 -__func__.17825: - .ascii "FlashEraseBlocks\000" - .type __func__.6855, %object - .size __func__.6855, 26 -__func__.6855: - .ascii "ftl_map_blk_alloc_new_blk\000" - .type __func__.6282, %object - .size __func__.6282, 11 -__func__.6282: - .ascii "FtlMemInit\000" - .type __func__.6587, %object - .size __func__.6587, 14 -__func__.6587: - .ascii "FtlBbt2Bitmap\000" - .type __func__.7264, %object - .size __func__.7264, 18 -__func__.7264: - .ascii "SupperBlkListInit\000" - .type __func__.17782, %object - .size __func__.17782, 15 -__func__.17782: - .ascii "FlashReadPages\000" - .type __func__.7032, %object - .size __func__.7032, 14 -__func__.7032: - .ascii "FtlScanSysBlk\000" - .type __func__.6630, %object - .size __func__.6630, 11 -__func__.6630: - .ascii "FtlLoadBbt\000" - .type __func__.7089, %object - .size __func__.7089, 15 -__func__.7089: - .ascii "FtlLoadSysInfo\000" - .type __func__.17801, %object - .size __func__.17801, 15 -__func__.17801: - .ascii "FlashProgPages\000" - .type __func__.6881, %object - .size __func__.6881, 31 -__func__.6881: - .ascii "Ftl_write_map_blk_to_last_page\000" - .type __func__.6895, %object - .size __func__.6895, 16 -__func__.6895: - .ascii "FtlMapWritePage\000" - .type __func__.6822, %object - .size __func__.6822, 16 -__func__.6822: - .ascii "load_l2p_region\000" - .type __func__.6866, %object - .size __func__.6866, 15 -__func__.6866: - .ascii "ftl_map_blk_gc\000" - .type __func__.6937, %object - .size __func__.6937, 9 -__func__.6937: - .ascii "log2phys\000" - .type __func__.7152, %object - .size __func__.7152, 16 -__func__.7152: - .ascii "FtlReUsePrevPpa\000" - .type __func__.7305, %object - .size __func__.7305, 14 -__func__.7305: - .ascii "ftl_check_vpc\000" - .type __func__.7390, %object - .size __func__.7390, 25 -__func__.7390: - .ascii "allocate_data_superblock\000" - .type __func__.7431, %object - .size __func__.7431, 16 -__func__.7431: - .ascii "update_vpc_list\000" - .type __func__.7438, %object - .size __func__.7438, 20 -__func__.7438: - .ascii "decrement_vpc_count\000" .type __func__.7186, %object - .size __func__.7186, 22 + .size __func__.7186, 16 __func__.7186: + .ascii "make_superblock\000" + .type __func__.7361, %object + .size __func__.7361, 19 +__func__.7361: + .ascii "get_new_active_ppa\000" + .type __func__.17768, %object + .size __func__.17768, 17 +__func__.17768: + .ascii "FlashEraseBlocks\000" + .type __func__.6798, %object + .size __func__.6798, 26 +__func__.6798: + .ascii "ftl_map_blk_alloc_new_blk\000" + .type __func__.6303, %object + .size __func__.6303, 11 +__func__.6303: + .ascii "FtlMemInit\000" + .type __func__.6530, %object + .size __func__.6530, 14 +__func__.6530: + .ascii "FtlBbt2Bitmap\000" + .type __func__.7207, %object + .size __func__.7207, 18 +__func__.7207: + .ascii "SupperBlkListInit\000" + .type __func__.17725, %object + .size __func__.17725, 15 +__func__.17725: + .ascii "FlashReadPages\000" + .type __func__.6975, %object + .size __func__.6975, 14 +__func__.6975: + .ascii "FtlScanSysBlk\000" + .type __func__.6573, %object + .size __func__.6573, 11 +__func__.6573: + .ascii "FtlLoadBbt\000" + .type __func__.7032, %object + .size __func__.7032, 15 +__func__.7032: + .ascii "FtlLoadSysInfo\000" + .type __func__.17744, %object + .size __func__.17744, 15 +__func__.17744: + .ascii "FlashProgPages\000" + .type __func__.6824, %object + .size __func__.6824, 31 +__func__.6824: + .ascii "Ftl_write_map_blk_to_last_page\000" + .type __func__.6838, %object + .size __func__.6838, 16 +__func__.6838: + .ascii "FtlMapWritePage\000" + .type __func__.6765, %object + .size __func__.6765, 16 +__func__.6765: + .ascii "load_l2p_region\000" + .type __func__.6809, %object + .size __func__.6809, 15 +__func__.6809: + .ascii "ftl_map_blk_gc\000" + .type __func__.6880, %object + .size __func__.6880, 9 +__func__.6880: + .ascii "log2phys\000" + .type __func__.7095, %object + .size __func__.7095, 16 +__func__.7095: + .ascii "FtlReUsePrevPpa\000" + .type __func__.7248, %object + .size __func__.7248, 14 +__func__.7248: + .ascii "ftl_check_vpc\000" + .type __func__.7333, %object + .size __func__.7333, 25 +__func__.7333: + .ascii "allocate_data_superblock\000" + .type __func__.7374, %object + .size __func__.7374, 16 +__func__.7374: + .ascii "update_vpc_list\000" + .type __func__.7381, %object + .size __func__.7381, 20 +__func__.7381: + .ascii "decrement_vpc_count\000" + .type __func__.7129, %object + .size __func__.7129, 22 +__func__.7129: .ascii "FtlRecoverySuperblock\000" - .type __func__.7010, %object - .size __func__.7010, 15 -__func__.7010: + .type __func__.6953, %object + .size __func__.6953, 15 +__func__.6953: .ascii "FtlVpcTblFlush\000" - .type __func__.7289, %object - .size __func__.7289, 21 -__func__.7289: + .type __func__.7232, %object + .size __func__.7232, 21 +__func__.7232: .ascii "FtlVpcCheckAndModify\000" - .type __func__.7411, %object - .size __func__.7411, 29 -__func__.7411: + .type __func__.7354, %object + .size __func__.7354, 29 +__func__.7354: .ascii "allocate_new_data_superblock\000" - .type __func__.6406, %object - .size __func__.6406, 13 -__func__.6406: + .type __func__.6427, %object + .size __func__.6427, 13 +__func__.6427: .ascii "FtlProgPages\000" - .type __func__.7508, %object - .size __func__.7508, 19 -__func__.7508: + .type __func__.7451, %object + .size __func__.7451, 19 +__func__.7451: .ascii "FtlGcFreeTempBlock\000" - .type __func__.7619, %object - .size __func__.7619, 23 -__func__.7619: + .type __func__.7562, %object + .size __func__.7562, 23 +__func__.7562: .ascii "rk_ftl_garbage_collect\000" - .type __func__.6434, %object - .size __func__.6434, 9 -__func__.6434: + .type __func__.6455, %object + .size __func__.6455, 9 +__func__.6455: .ascii "FtlWrite\000" - .type __func__.6546, %object - .size __func__.6546, 14 -__func__.6546: + .type __func__.17892, %object + .size __func__.17892, 14 +__func__.17892: .ascii "FtlWriteToIDB\000" .space 3 .type rk_sftl_vendor_storage_fops, %object @@ -14106,7 +14192,7 @@ power_up_flag: .size rkflash_vender_storage_dev, 40 rkflash_vender_storage_dev: .word 255 - .word .LC119 + .word .LC118 .word rk_sftl_vendor_storage_fops .space 28 .bss @@ -14505,9 +14591,9 @@ g_gc_bad_block_temp_tbl: g_gc_bad_block_gc_index: .space 2 .type g_nand_ops, %object - .size g_nand_ops, 16 + .size g_nand_ops, 24 g_nand_ops: - .space 16 + .space 24 .type req_erase, %object .size req_erase, 4 req_erase: @@ -14884,7 +14970,7 @@ gp_last_act_superblock: .LC69: .ascii "free %d. [0x%x] 0x%x 0x%x\012\000" .LC70: - .ascii "SFTL version: 5.0.48 20180930\000" + .ascii "SFTL version: 5.0.49 20181030\000" .LC71: .ascii "%s\012\000" .LC72: @@ -14977,12 +15063,10 @@ gp_last_act_superblock: .LC114: .ascii "FtlWrite: lpa error:%x %x\012\000" .LC115: - .ascii "write_idblock fix data %x %x %x\012\000" -.LC116: .ascii "write_idblock fail! %x %x %x %x\012\000" -.LC117: +.LC116: .ascii "%s idb buffer alloc fail\012\000" -.LC118: +.LC117: .ascii "%p %x %p %x\012\000" -.LC119: +.LC118: .ascii "vendor_storage\000" diff --git a/drivers/rkflash/rk_sftl_arm_v8.S b/drivers/rkflash/rk_sftl_arm_v8.S index d24b8d27e421..65224449064e 100644 --- a/drivers/rkflash/rk_sftl_arm_v8.S +++ b/drivers/rkflash/rk_sftl_arm_v8.S @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0 */ /* Copyright (c) 2018 Rockchip Electronics Co. Ltd. - * date: 2018-11-02 + * date: 2018-11-29 */ .arch armv8-a .file "rk_sftl.c" @@ -112,21 +112,23 @@ FtlSysBlkNumInit: .global FtlConstantsInit .type FtlConstantsInit, %function FtlConstantsInit: - stp x29, x30, [sp, -16]! mov x7, x0 + stp x29, x30, [sp, -16]! adrp x4, .LANCHOR0 add x1, x4, :lo12:.LANCHOR0 add x29, sp, 0 ldrh w3, [x0] ldrh w6, [x0, 2] + ldrh w5, [x7, 14] ldrh w0, [x0, 4] - ldrh w2, [x7, 14] + ldrh w2, [x7, 6] + cmp w5, 4 strh w3, [x1, 56] strh w6, [x1, 58] - cmp w2, 4 strh w0, [x1, 60] + strh w2, [x1, 46] + strh w5, [x1, 62] bne .L10 - ldrh w2, [x7, 6] lsr w2, w2, 1 strh w2, [x1, 46] mov w2, 8 @@ -2923,12 +2925,12 @@ FtlFreeSysBlkQueueIn: mov w0, w21 bl P2V_block_in_plane and w22, w0, 65535 - ldr x0, [x20, 3400] + ldr x0, [x20, 3416] lsl w1, w21, 10 mov w2, 1 str w1, [x0, 4] mov w1, w2 - ldr x0, [x20, 3400] + ldr x0, [x20, 3416] bl FlashEraseBlocks ldr x2, [x20, 2384] ubfiz x0, x22, 1, 16 @@ -2978,12 +2980,12 @@ FtlFreeSysBlkQueueOut: add w0, w0, 1 and w0, w0, 1023 strh w0, [x21, 258] - ldr x0, [x21, 3400] + ldr x0, [x21, 3416] ldrh w20, [x3, 8] lsl w1, w20, 10 str w1, [x0, 4] mov w1, w2 - ldr x0, [x21, 3400] + ldr x0, [x21, 3416] bl FlashEraseBlocks ldr w0, [x21, 2640] add w0, w0, 1 @@ -3112,9 +3114,9 @@ FtlMemInit: str wzr, [x19, 2648] str wzr, [x19, 3236] str wzr, [x19, 3244] - stp wzr, w0, [x3, 80] + stp wzr, w0, [x3, 96] mov w0, -1 - stp wzr, wzr, [x3, 88] + stp wzr, wzr, [x3, 104] strh w0, [x19, 3320] strh w0, [x19, 3322] mov w0, 32 @@ -3136,16 +3138,16 @@ FtlMemInit: lsl w21, w21, 7 mov w0, w21 bl ftl_malloc - str x0, [x19, 3424] - mov w0, w22 - bl ftl_malloc - str x0, [x19, 3432] - mov w0, w21 - bl ftl_malloc str x0, [x19, 3440] mov w0, w22 bl ftl_malloc - str x0, [x19, 3400] + str x0, [x19, 3448] + mov w0, w21 + bl ftl_malloc + str x0, [x19, 3456] + mov w0, w22 + bl ftl_malloc + str x0, [x19, 3416] mov w0, w22 bl ftl_malloc str x0, [x19, 3280] @@ -3156,23 +3158,23 @@ FtlMemInit: str w0, [x19, 3288] mov w0, w21 bl ftl_malloc - str x0, [x19, 3448] - mov w0, w21 - bl ftl_malloc - str x0, [x19, 3456] - mov w0, w21 - bl ftl_malloc str x0, [x19, 3464] - ldr w0, [x19, 3288] - mul w0, w21, w0 - bl ftl_malloc - str x0, [x19, 3264] mov w0, w21 bl ftl_malloc str x0, [x19, 3472] mov w0, w21 bl ftl_malloc str x0, [x19, 3480] + ldr w0, [x19, 3288] + mul w0, w21, w0 + bl ftl_malloc + str x0, [x19, 3264] + mov w0, w21 + bl ftl_malloc + str x0, [x19, 3488] + mov w0, w21 + bl ftl_malloc + str x0, [x19, 3496] ldr w1, [x19, 3288] mov w0, 24 mul w0, w1, w0 @@ -3180,23 +3182,23 @@ FtlMemInit: str x0, [x19, 3256] mov w0, w21 bl ftl_malloc - str x0, [x19, 3488] + str x0, [x19, 3504] mov w0, w21 bl ftl_malloc - str x0, [x19, 3496] + str x0, [x19, 3512] ldrh w0, [x19, 62] lsl w0, w0, 2 bl ftl_malloc ldrh w21, [x19, 116] - str x0, [x19, 3504] + str x0, [x19, 3520] ldrh w0, [x19, 36] mul w21, w21, w0 mov w0, w21 bl ftl_malloc - str x0, [x19, 3512] + str x0, [x19, 3528] lsl w0, w21, 2 bl ftl_malloc - str x0, [x19, 3520] + str x0, [x19, 3536] ldrh w1, [x19, 116] ldr w0, [x19, 3288] mul w0, w1, w0 @@ -3204,24 +3206,24 @@ FtlMemInit: str x0, [x19, 3272] ldrh w0, [x19, 46] ubfiz w0, w0, 1, 15 - strh w0, [x19, 3528] + strh w0, [x19, 3544] and w0, w0, 65534 bl ftl_malloc - str x0, [x19, 3536] - ldrh w0, [x19, 3528] + str x0, [x19, 3552] + ldrh w0, [x19, 3544] add x0, x0, 547 lsr x0, x0, 9 - strh w0, [x19, 3528] + strh w0, [x19, 3544] lsl w0, w0, 9 bl ftl_malloc ldrh w21, [x19, 46] - str x0, [x19, 3544] + str x0, [x19, 3560] add x0, x0, 32 str x0, [x19, 2384] lsl w21, w21, 1 mov w0, w21 bl ftl_malloc - str x0, [x19, 3552] + str x0, [x19, 3568] mov w0, w21 bl ftl_malloc ldr w21, [x19, 132] @@ -3229,10 +3231,10 @@ FtlMemInit: lsl w21, w21, 1 mov w0, w21 bl ftl_malloc - str x0, [x19, 3560] + str x0, [x19, 3576] mov w0, w21 bl ftl_malloc - str x0, [x19, 3568] + str x0, [x19, 3584] ldrh w0, [x19, 46] lsr w0, w0, 3 add w0, w0, 4 @@ -3245,27 +3247,27 @@ FtlMemInit: ldrh w0, [x19, 124] lsl w0, w0, 1 bl ftl_malloc - str x0, [x19, 3576] + str x0, [x19, 3592] ldrh w0, [x19, 124] lsl w0, w0, 2 bl ftl_malloc - str x0, [x19, 3584] + str x0, [x19, 3600] ldrh w0, [x19, 126] lsl w0, w0, 2 bl ftl_malloc ldrh w2, [x19, 126] mov w1, 0 - str x0, [x19, 3592] + str x0, [x19, 3608] lsl w2, w2, 2 bl ftl_memset ldrh w0, [x19, 140] lsl w0, w0, 2 bl ftl_malloc - str x0, [x19, 3600] + str x0, [x19, 3616] ldr w0, [x19, 132] lsl w0, w0, 2 bl ftl_malloc - str x0, [x19, 3608] + str x0, [x19, 3624] ldrh w0, [x19, 142] lsl w0, w0, 4 bl ftl_malloc @@ -3274,7 +3276,7 @@ FtlMemInit: ldrh w0, [x19, 114] mul w0, w1, w0 bl ftl_malloc - str x0, [x19, 3616] + str x0, [x19, 3632] ldrh w1, [x19, 46] mov w0, 6 mul w0, w1, w0 @@ -3284,11 +3286,11 @@ FtlMemInit: ldrh w1, [x19, 58] add w0, w0, 31 asr w0, w0, 5 - strh w0, [x19, 3624] + strh w0, [x19, 3640] mul w0, w1, w0 lsl w0, w0, 2 bl ftl_malloc - ldrh w4, [x19, 3624] + ldrh w4, [x19, 3640] add x5, x19, 200 ldrh w6, [x19, 58] mov x1, 1 @@ -3309,7 +3311,7 @@ FtlMemInit: cmp x3, x2 bne .L376 add x1, x0, :lo12:.LANCHOR0 - ldr x2, [x1, 3560] + ldr x2, [x1, 3576] cbnz x2, .L377 .L379: adrp x1, .LANCHOR1 @@ -3337,15 +3339,15 @@ FtlMemInit: str xzr, [x5, 24] b .L375 .L377: - ldr x2, [x1, 3568] + ldr x2, [x1, 3584] cbz x2, .L379 - ldr x2, [x1, 3600] + ldr x2, [x1, 3616] cbz x2, .L379 - ldr x2, [x1, 3608] + ldr x2, [x1, 3624] cbz x2, .L379 ldr x2, [x1, 2568] cbz x2, .L379 - ldr x2, [x1, 3616] + ldr x2, [x1, 3632] cbz x2, .L379 ldr x2, [x1, 2360] cbz x2, .L379 @@ -3358,50 +3360,50 @@ FtlMemInit: cbz x2, .L379 ldr x2, [x1, 3312] cbz x2, .L379 - ldr x2, [x1, 3424] - cbz x2, .L379 ldr x2, [x1, 3440] cbz x2, .L379 - ldr x2, [x1, 3400] - cbz x2, .L379 - ldr x2, [x1, 3280] - cbz x2, .L379 - ldr x2, [x1, 3432] - cbz x2, .L379 - ldr x2, [x1, 3448] - cbz x2, .L379 ldr x2, [x1, 3456] cbz x2, .L379 - ldr x1, [x1, 3464] + ldr x2, [x1, 3416] + cbz x2, .L379 + ldr x2, [x1, 3280] + cbz x2, .L379 + ldr x2, [x1, 3448] + cbz x2, .L379 + ldr x2, [x1, 3464] + cbz x2, .L379 + ldr x2, [x1, 3472] + cbz x2, .L379 + ldr x1, [x1, 3480] cbz x1, .L379 add x0, x0, :lo12:.LANCHOR0 ldr x1, [x0, 3264] cbz x1, .L379 - ldr x1, [x0, 3472] + ldr x1, [x0, 3488] cbz x1, .L379 - ldr x1, [x0, 3480] + ldr x1, [x0, 3496] cbz x1, .L379 ldr x1, [x0, 3256] cbz x1, .L379 - ldr x1, [x0, 3512] + ldr x1, [x0, 3528] cbz x1, .L379 - ldr x1, [x0, 3520] + ldr x1, [x0, 3536] cbz x1, .L379 ldr x1, [x0, 3272] cbz x1, .L379 ldr x1, [x0, 2384] cbz x1, .L379 - ldr x1, [x0, 3536] + ldr x1, [x0, 3552] cbz x1, .L379 ldr x0, [x0, 152] cbz x0, .L379 adrp x0, .LANCHOR0 add x0, x0, :lo12:.LANCHOR0 - ldr x1, [x0, 3576] + ldr x1, [x0, 3592] cbz x1, .L379 - ldr x1, [x0, 3584] + ldr x1, [x0, 3600] cbz x1, .L379 - ldr x0, [x0, 3592] + ldr x0, [x0, 3608] cbz x0, .L379 mov w0, 0 b .L372 @@ -3422,7 +3424,7 @@ FtlBbt2Bitmap: add x20, x20, :lo12:.LANCHOR1 adrp x24, .LC1 add x20, x20, 232 - ldrh w2, [x0, 3624] + ldrh w2, [x0, 3640] add x24, x24, :lo12:.LC1 mov x19, 0 mov x22, x1 @@ -3610,7 +3612,7 @@ FtlL2PDataInit: add x29, sp, 0 str x19, [sp, 16] add x19, x0, :lo12:.LANCHOR0 - ldr x0, [x19, 3568] + ldr x0, [x19, 3584] ldr w2, [x19, 132] lsl w2, w2, 1 bl ftl_memset @@ -3618,7 +3620,7 @@ FtlL2PDataInit: mov w1, 255 ldrh w2, [x19, 114] mul w2, w2, w0 - ldr x0, [x19, 3616] + ldr x0, [x19, 3632] bl ftl_memset mov x0, x19 mov w1, 0 @@ -3628,24 +3630,24 @@ FtlL2PDataInit: cmp w2, w1 bhi .L508 mov w2, -1 - strh w2, [x0, 3634] - strh w2, [x0, 3632] - add x1, x0, 3632 + strh w2, [x0, 3650] + strh w2, [x0, 3648] + add x1, x0, 3648 ldr w2, [x0, 132] - strh w2, [x0, 3642] + strh w2, [x0, 3658] mov w2, -3902 - strh w2, [x0, 3636] - ldrh w2, [x0, 3696] - strh w2, [x0, 3640] + strh w2, [x0, 3652] + ldrh w2, [x0, 3712] + strh w2, [x0, 3656] ldrh w2, [x0, 140] - strh w2, [x0, 3638] - ldr x2, [x0, 3560] - str x2, [x0, 3648] - ldr x2, [x0, 3608] - str x2, [x0, 3656] - ldr x2, [x0, 3568] + strh w2, [x0, 3654] + ldr x2, [x0, 3576] str x2, [x0, 3664] - ldr x0, [x0, 3600] + ldr x2, [x0, 3624] + str x2, [x0, 3672] + ldr x2, [x0, 3584] + str x2, [x0, 3680] + ldr x0, [x0, 3616] str x0, [x1, 40] ldr x19, [sp, 16] ldp x29, x30, [sp], 32 @@ -3658,7 +3660,7 @@ FtlL2PDataInit: ldr x3, [x0, 2568] strh w5, [x3, x2] ldr x3, [x0, 2568] - ldr x4, [x0, 3616] + ldr x4, [x0, 3632] add x3, x3, x2 ldrh w2, [x0, 114] mul w2, w2, w1 @@ -3681,22 +3683,22 @@ FtlVariablesInit: str x19, [sp, 16] adrp x19, .LANCHOR0 add x19, x19, :lo12:.LANCHOR0 - strh w0, [x19, 3698] + strh w0, [x19, 3714] mov w0, -1 - str w0, [x19, 3708] + str w0, [x19, 3724] ldr x0, [x19, 152] ldrh w2, [x19, 124] strh wzr, [x19, 148] - str wzr, [x19, 3700] + str wzr, [x19, 3716] lsl w2, w2, 1 - str wzr, [x19, 3704] + str wzr, [x19, 3720] bl ftl_memset ldr x0, [x19, 2384] mov w1, 0 ldrh w2, [x19, 46] lsl w2, w2, 1 bl ftl_memset - ldr x0, [x19, 3536] + ldr x0, [x19, 3552] mov w1, 0 ldrh w2, [x19, 46] lsl w2, w2, 1 @@ -3973,7 +3975,7 @@ FlashReadPages: tst x20, 63 beq .L541 add x1, x21, :lo12:.LANCHOR0 - ldr x20, [x1, 3488] + ldr x20, [x1, 3504] .L541: add x27, x21, :lo12:.LANCHOR0 ldr w1, [x29, 108] @@ -4017,7 +4019,7 @@ FlashReadPages: str w0, [x19] .L543: add x1, x21, :lo12:.LANCHOR0 - ldr x0, [x1, 3488] + ldr x0, [x1, 3504] cmp x20, x0 bne .L540 ldr x0, [x19, 8] @@ -4044,11 +4046,11 @@ FtlLoadFactoryBbt: stp x19, x20, [sp, 16] mov x19, x0 stp x23, x24, [sp, 48] - add x23, x0, 3712 + add x23, x0, 3728 mov x25, x23 mov w26, 61664 - ldr x1, [x0, 3448] - ldr x24, [x0, 3512] + ldr x1, [x0, 3464] + ldr x24, [x0, 3528] stp x1, x24, [x23, 8] .L565: ldrh w0, [x19, 58] @@ -4113,7 +4115,7 @@ FtlGetLastWrittenPage: lsl w21, w0, 10 orr w0, w19, w21 mov w2, w23 - ldr x1, [x1, 3496] + ldr x1, [x1, 3512] str x1, [x29, 72] add x1, x29, 96 str w0, [x29, 68] @@ -4182,19 +4184,19 @@ FtlScanSysBlk: adrp x25, .LANCHOR1 stp x27, x28, [sp, 80] add x25, x25, :lo12:.LANCHOR1 - ldr x0, [x19, 3608] + ldr x0, [x19, 3624] add x25, x25, 288 ldr w2, [x19, 132] - strh wzr, [x19, 3696] + strh wzr, [x19, 3712] strh wzr, [x19, 148] lsl w2, w2, 2 bl ftl_memset - ldr x0, [x19, 3560] + ldr x0, [x19, 3576] mov w1, 0 ldr w2, [x19, 132] lsl w2, w2, 1 bl ftl_memset - ldr x0, [x19, 3584] + ldr x0, [x19, 3600] mov w1, 0 ldrh w2, [x19, 124] lsl w2, w2, 2 @@ -4227,12 +4229,12 @@ FtlScanSysBlk: and w4, w0, 65535 bl FtlBbmIsBadBlock cbnz w0, .L589 - ldr x0, [x19, 3424] + ldr x0, [x19, 3440] ubfiz x2, x20, 5, 16 lsl w4, w4, 10 add x0, x0, x2 str w4, [x0, 4] - ldr x1, [x19, 3424] + ldr x1, [x19, 3440] ldr x0, [x19, 3264] add x1, x1, x2 ldr x2, [x19, 3272] @@ -4254,7 +4256,7 @@ FtlScanSysBlk: and w24, w24, 65535 b .L588 .L591: - ldr x0, [x19, 3424] + ldr x0, [x19, 3440] mov w1, w20 mov w2, 1 ubfiz x20, x20, 5, 16 @@ -4262,7 +4264,7 @@ FtlScanSysBlk: add x27, x19, 2656 bl FlashReadPages .L626: - ldr x0, [x19, 3424] + ldr x0, [x19, 3440] add x1, x0, x23 ldr w0, [x0, x23] ldr w22, [x1, 4] @@ -4273,7 +4275,7 @@ FtlScanSysBlk: mov w28, 16 mov w3, 65535 .L596: - ldr x0, [x19, 3424] + ldr x0, [x19, 3440] mov w2, 1 str w3, [x29, 108] add x0, x0, x23 @@ -4281,17 +4283,17 @@ FtlScanSysBlk: add w1, w1, 1 str w1, [x0, 4] mov w1, w2 - ldr x0, [x19, 3424] + ldr x0, [x19, 3440] add x0, x0, x23 bl FlashReadPages ldrh w0, [x26] ldr w3, [x29, 108] cmp w0, w3 - ldr x0, [x19, 3424] + ldr x0, [x19, 3440] bne .L593 mov w1, -1 str w1, [x0, x23] - ldr x0, [x19, 3424] + ldr x0, [x19, 3440] ldr w0, [x0, x23] cmp w0, w1 bne .L594 @@ -4345,7 +4347,7 @@ FtlScanSysBlk: bl FtlFreeSysBlkQueueIn b .L599 .L603: - ldrh w1, [x19, 3696] + ldrh w1, [x19, 3712] ldr w0, [x19, 132] cmp w1, w0 bls .L605 @@ -4356,9 +4358,9 @@ FtlScanSysBlk: bl sftl_printk .L605: ldr w3, [x19, 132] - ldrh w1, [x19, 3696] + ldrh w1, [x19, 3712] and w2, w3, 65535 - ldr x4, [x19, 3608] + ldr x4, [x19, 3624] sub w0, w2, #1 sub w2, w2, w1 sub w2, w2, #1 @@ -4381,19 +4383,19 @@ FtlScanSysBlk: cmp w3, w1 beq .L608 add w1, w1, 1 - strh w1, [x19, 3696] + strh w1, [x19, 3712] .L608: mov w1, 0 .L609: cmp w1, w0 bne .L610 - ldr x1, [x19, 3608] + ldr x1, [x19, 3624] ldr w2, [x26, 4] str w2, [x1, x6] - ldr x1, [x19, 3560] + ldr x1, [x19, 3576] strh w22, [x1, x5, lsl 1] tbnz w0, #31, .L599 - ldrh w1, [x19, 3696] + ldrh w1, [x19, 3712] ldr w2, [x19, 132] sub w2, w2, w1 sub w2, w2, #1 @@ -4401,16 +4403,16 @@ FtlScanSysBlk: bgt .L599 .L646: add w1, w1, 1 - strh w1, [x19, 3696] - ldr x1, [x19, 3608] + strh w1, [x19, 3712] + ldr x1, [x19, 3624] ldr w2, [x26, 4] str w2, [x1, x0, lsl 2] - ldr x1, [x19, 3560] + ldr x1, [x19, 3576] .L664: strh w22, [x1, x0, lsl 1] b .L599 .L610: - ldr x4, [x19, 3608] + ldr x4, [x19, 3624] sxtw x2, w1 lsl x3, x2, 2 lsl x2, x2, 1 @@ -4419,7 +4421,7 @@ FtlScanSysBlk: sxth w1, w1 ldr w7, [x7, 4] str w7, [x4, x3] - ldr x3, [x19, 3560] + ldr x3, [x19, 3576] add x4, x3, x2 ldrh w4, [x4, 2] strh w4, [x3, x2] @@ -4442,7 +4444,7 @@ FtlScanSysBlk: ldrh w3, [x19, 124] ldrh w1, [x19, 148] sub w2, w3, #1 - ldr x4, [x19, 3584] + ldr x4, [x19, 3600] sxth x0, w2 sub w2, w2, w1 .L616: @@ -4465,7 +4467,7 @@ FtlScanSysBlk: .L619: cmp w1, w0 bne .L620 - ldr x1, [x19, 3584] + ldr x1, [x19, 3600] ldr w2, [x26, 4] str w2, [x1, x6] ldr x1, [x19, 152] @@ -4478,7 +4480,7 @@ FtlScanSysBlk: sub w1, w1, w2 cmp w0, w1, sxth bgt .L599 - ldr x1, [x19, 3584] + ldr x1, [x19, 3600] add w2, w2, 1 strh w2, [x19, 148] ldr w2, [x26, 4] @@ -4486,7 +4488,7 @@ FtlScanSysBlk: ldr x1, [x19, 152] b .L664 .L620: - ldr x4, [x19, 3584] + ldr x4, [x19, 3600] sxtw x2, w1 lsl x3, x2, 2 lsl x2, x2, 1 @@ -4533,7 +4535,7 @@ FtlScanSysBlk: strh w22, [x27, 4] b .L599 .L628: - ldr x1, [x19, 3560] + ldr x1, [x19, 3576] ldrh w0, [x1] cbz w0, .L630 .L633: @@ -4543,7 +4545,7 @@ FtlScanSysBlk: cbz w2, .L631 .L632: add x21, x21, :lo12:.LANCHOR0 - ldrh w1, [x21, 3696] + ldrh w1, [x21, 3712] ldr w0, [x21, 132] cmp w1, w0 bls .L662 @@ -4564,7 +4566,7 @@ FtlScanSysBlk: ldp x29, x30, [sp], 112 ret .L630: - ldrh w0, [x19, 3696] + ldrh w0, [x19, 3712] cbz w0, .L633 ldr w2, [x19, 132] mov w0, 0 @@ -4579,7 +4581,7 @@ FtlScanSysBlk: ldr w3, [x2, 132] cmp w1, w3 bcs .L633 - ldr x5, [x2, 3560] + ldr x5, [x2, 3576] sxtw x6, w1 lsl x4, x6, 1 sub w3, w1, w0 @@ -4588,10 +4590,10 @@ FtlScanSysBlk: sxth w1, w1 ldrh w7, [x5, x4] strh w7, [x5, x3, lsl 1] - ldr x5, [x2, 3608] + ldr x5, [x2, 3624] ldr w6, [x5, x6, lsl 2] str w6, [x5, x3, lsl 2] - ldr x3, [x2, 3560] + ldr x3, [x2, 3576] strh wzr, [x3, x4] b .L636 .L635: @@ -4623,7 +4625,7 @@ FtlScanSysBlk: sxth w0, w0 ldrh w7, [x4, x3] strh w7, [x4, x2, lsl 1] - ldr x4, [x1, 3584] + ldr x4, [x1, 3600] ldr w5, [x4, x5, lsl 2] str w5, [x4, x2, lsl 2] ldr x2, [x1, 152] @@ -4645,10 +4647,10 @@ FtlLoadBbt: stp x23, x24, [sp, 48] add x23, x19, :lo12:.LANCHOR0 stp x21, x22, [sp, 32] - add x21, x23, 3712 + add x21, x23, 3728 mov w24, 61649 - ldr x0, [x23, 3448] - ldr x22, [x23, 3512] + ldr x0, [x23, 3464] + ldr x22, [x23, 3528] stp x0, x22, [x21, 8] bl FtlBbtMemInit ldrh w20, [x23, 102] @@ -4696,13 +4698,13 @@ FtlLoadBbt: ldrh w1, [x21, 164] cmp w1, w0 beq .L675 - add x0, x21, 3712 + add x0, x21, 3728 lsl w1, w1, 10 mov w2, 1 str w1, [x0, 4] mov w1, w2 bl FlashReadPages - ldr w0, [x21, 3712] + ldr w0, [x21, 3728] cmn w0, #1 beq .L675 ldrh w1, [x22] @@ -4721,7 +4723,7 @@ FtlLoadBbt: .L675: add x20, x19, :lo12:.LANCHOR0 mov w1, 1 - add x23, x20, 3712 + add x23, x20, 3728 mov w24, 61649 ldrh w0, [x20, 160] bl FtlGetLastWrittenPage @@ -4780,7 +4782,7 @@ FtlLoadBbt: mov w1, w2 orr w0, w21, w0, lsl 10 str w0, [x23, 4] - ldr x0, [x20, 3448] + ldr x0, [x20, 3464] str x0, [x23, 8] mov x0, x23 bl FlashReadPages @@ -4795,8 +4797,8 @@ FtlLoadBbt: sxth w21, w21 b .L677 .L684: - ldrh w2, [x19, 3624] - ldr x0, [x19, 3720] + ldrh w2, [x19, 3640] + ldr x0, [x19, 3736] mul w1, w2, w20 lsl w2, w2, 2 add w20, w20, 1 @@ -4819,11 +4821,11 @@ FtlLoadSysInfo: adrp x20, .LANCHOR0 add x19, x20, :lo12:.LANCHOR0 stp x21, x22, [sp, 32] - add x21, x19, 3712 + add x21, x19, 3728 stp x23, x24, [sp, 48] - ldr x0, [x19, 3448] + ldr x0, [x19, 3464] str x0, [x21, 8] - ldr x0, [x19, 3512] + ldr x0, [x19, 3528] str x0, [x21, 16] ldr x0, [x19, 2376] ldrh w2, [x19, 44] @@ -4879,16 +4881,16 @@ FtlLoadSysInfo: mov w2, 48 add x21, x19, 2312 mov x0, x21 - ldr x1, [x19, 3720] + ldr x1, [x19, 3736] bl ftl_memcpy ldr x0, [x19, 2376] ldrh w2, [x19, 44] - ldr x1, [x19, 3720] + ldr x1, [x19, 3736] lsl w2, w2, 1 add x1, x1, 48 bl ftl_memcpy ldrh w1, [x19, 44] - ldr x0, [x19, 3720] + ldr x0, [x19, 3736] lsr w2, w1, 3 ubfiz x1, x1, 1, 16 add x1, x1, 48 @@ -4911,7 +4913,7 @@ FtlLoadSysInfo: ldrh w0, [x19, 106] ldrh w2, [x19, 62] ldrh w3, [x19, 36] - str w1, [x19, 3744] + str w1, [x19, 3760] mul w0, w0, w1 str w0, [x19, 2584] mul w0, w2, w0 @@ -5026,18 +5028,18 @@ FtlLoadSysInfo: mov w1, w2 orr w0, w22, w0, lsl 10 str w0, [x21, 4] - ldr x0, [x19, 3448] + ldr x0, [x19, 3464] str x0, [x21, 8] mov x0, x21 bl FlashReadPages ldr w0, [x21] cmn w0, #1 beq .L701 - ldr x0, [x19, 3448] + ldr x0, [x19, 3464] ldr w0, [x0] cmp w0, w23 bne .L701 - ldr x0, [x19, 3512] + ldr x0, [x19, 3528] ldrh w0, [x0] cmp w0, w24 beq .L702 @@ -5152,7 +5154,7 @@ FlashProgPages: tst x1, 63 beq .L741 add x0, x21, :lo12:.LANCHOR0 - ldr x26, [x0, 3488] + ldr x26, [x0, 3504] cmp x1, x26 beq .L729 ldrh w2, [x0, 62] @@ -5196,14 +5198,14 @@ FlashProgPages: .L739: add x0, x21, :lo12:.LANCHOR0 ldr w2, [x29, 108] - ldr x1, [x0, 3488] - str wzr, [x1] ldr x1, [x0, 3504] str wzr, [x1] + ldr x1, [x0, 3520] + str wzr, [x1] ldr w1, [x19, 4] str w1, [x29, 132] - ldr x1, [x0, 3488] - ldr x0, [x0, 3504] + ldr x1, [x0, 3504] + ldr x0, [x0, 3520] stp x1, x0, [x29, 136] mov w1, 1 add x0, x29, 128 @@ -5220,7 +5222,7 @@ FlashProgPages: cbz x0, .L737 ldr w2, [x0] add x0, x21, :lo12:.LANCHOR0 - ldr x0, [x0, 3504] + ldr x0, [x0, 3520] ldr w3, [x0] cmp w2, w3 beq .L737 @@ -5234,7 +5236,7 @@ FlashProgPages: cbz x0, .L738 ldr w2, [x0] add x0, x21, :lo12:.LANCHOR0 - ldr x0, [x0, 3488] + ldr x0, [x0, 3504] ldr w3, [x0] cmp w2, w3 beq .L738 @@ -5271,13 +5273,13 @@ FtlLowFormatEraseBlock: and w23, w0, 65535 mov w20, 0 mov w19, 0 - str w23, [x5, 3420] + str w23, [x5, 3436] .L759: ldrh w0, [x5, 36] cmp w0, w10 bhi .L763 cbz w20, .L758 - ldr x0, [x5, 3400] + ldr x0, [x5, 3416] mov w2, w20 mov w1, 0 ubfiz x20, x20, 5, 16 @@ -5285,7 +5287,7 @@ FtlLowFormatEraseBlock: add x25, x21, :lo12:.LANCHOR0 bl FlashEraseBlocks .L767: - ldr x0, [x25, 3400] + ldr x0, [x25, 3416] add x1, x0, x24 ldr w0, [x0, x24] cmn w0, #1 @@ -5316,7 +5318,7 @@ FtlLowFormatEraseBlock: cmp w0, w5 bhi .L772 cbz w20, .L758 - ldr x0, [x28, 3400] + ldr x0, [x28, 3416] mov w1, w20 mov w3, 1 mov w2, w25 @@ -5324,7 +5326,7 @@ FtlLowFormatEraseBlock: bl FlashProgPages ubfiz x1, x20, 5, 16 .L775: - ldr x0, [x28, 3400] + ldr x0, [x28, 3416] add x3, x0, x27 ldr w0, [x0, x27] cbz w0, .L774 @@ -5346,7 +5348,7 @@ FtlLowFormatEraseBlock: mov x24, 0 .L778: cbz w22, .L777 - ldr x0, [x26, 3400] + ldr x0, [x26, 3416] add x1, x0, x24 ldr w0, [x0, x24] cbnz w0, .L777 @@ -5364,7 +5366,7 @@ FtlLowFormatEraseBlock: add x21, x21, :lo12:.LANCHOR0 mov w2, w20 mov w1, w25 - ldr x0, [x21, 3400] + ldr x0, [x21, 3416] bl FlashEraseBlocks .L758: mov w0, w19 @@ -5376,7 +5378,7 @@ FtlLowFormatEraseBlock: ldp x29, x30, [sp], 112 ret .L763: - ldr x1, [x5, 3400] + ldr x1, [x5, 3416] ubfiz x0, x10, 5, 16 str wzr, [x1, x0] mov w1, w23 @@ -5391,15 +5393,15 @@ FtlLowFormatEraseBlock: mov w0, w7 bl FtlBbmIsBadBlock cbnz w0, .L762 - ldr x0, [x5, 3400] + ldr x0, [x5, 3416] ubfiz x2, x20, 5, 16 lsl w6, w6, 10 add x0, x0, x2 str w6, [x0, 4] - ldr x1, [x5, 3400] - ldr x0, [x5, 3480] + ldr x1, [x5, 3416] + ldr x0, [x5, 3496] add x1, x1, x2 - ldr x2, [x5, 3520] + ldr x2, [x5, 3536] str x0, [x1, 8] ldrh w0, [x5, 116] mul w0, w0, w20 @@ -5421,7 +5423,7 @@ FtlLowFormatEraseBlock: mov w26, 2 b .L768 .L772: - ldr x1, [x28, 3400] + ldr x1, [x28, 3416] ubfiz x0, x5, 5, 16 str wzr, [x1, x0] mov w1, w23 @@ -5437,13 +5439,13 @@ FtlLowFormatEraseBlock: mov w0, w7 bl FtlBbmIsBadBlock cbnz w0, .L771 - ldr x0, [x28, 3400] + ldr x0, [x28, 3416] ubfiz x2, x20, 5, 16 add w6, w24, w6, lsl 10 add x0, x0, x2 str w6, [x0, 4] - ldr x1, [x28, 3400] - ldr x0, [x28, 3472] + ldr x1, [x28, 3416] + ldr x0, [x28, 3488] add x1, x1, x2 mov w2, 4 str x0, [x1, 8] @@ -5452,7 +5454,7 @@ FtlLowFormatEraseBlock: add w20, w20, 1 and w20, w20, 65535 sdiv w0, w0, w2 - ldr x2, [x28, 3480] + ldr x2, [x28, 3496] add x0, x2, x0, sxtw 2 str x0, [x1, 16] .L771: @@ -5511,11 +5513,11 @@ Ftl_write_map_blk_to_last_page: add x20, x21, :lo12:.LANCHOR0 ldrh w0, [x19, 2] orr w0, w0, w22, lsl 10 - str w0, [x20, 3716] - ldr x0, [x20, 3448] - str x0, [x20, 3720] - ldr x0, [x20, 3512] - str x0, [x20, 3728] + str w0, [x20, 3732] + ldr x0, [x20, 3464] + str x0, [x20, 3736] + ldr x0, [x20, 3528] + str x0, [x20, 3744] str w1, [x0, 4] mov w1, -1291 strh w1, [x0, 8] @@ -5524,7 +5526,7 @@ Ftl_write_map_blk_to_last_page: strh w22, [x0, 2] mov w1, 255 ldrh w2, [x20, 108] - ldr x0, [x20, 3448] + ldr x0, [x20, 3464] lsl w2, w2, 3 bl ftl_memset mov w0, 0 @@ -5537,7 +5539,7 @@ Ftl_write_map_blk_to_last_page: mov w2, 1 mov w3, 0 mov w1, w2 - add x0, x0, 3712 + add x0, x0, 3728 bl FlashProgPages ldrh w0, [x19, 2] add w0, w0, 1 @@ -5551,12 +5553,12 @@ Ftl_write_map_blk_to_last_page: cmp w22, w3, lsr 10 bne .L806 add w0, w0, 1 - ldr x4, [x20, 3448] + ldr x4, [x20, 3464] and w0, w0, 65535 ubfiz x3, x0, 3, 16 str w1, [x4, x3] ldr w4, [x23, x2] - ldr x2, [x20, 3448] + ldr x2, [x20, 3464] add x2, x2, x3 str w4, [x2, 4] .L806: @@ -5583,7 +5585,7 @@ FtlMapWritePage: mov x27, x2 mov x25, x23 add x22, x22, :lo12:.LANCHOR1 - add x20, x24, 3712 + add x20, x24, 3728 mov w21, 0 .L813: add x0, x23, :lo12:.LANCHOR0 @@ -5632,7 +5634,7 @@ FtlMapWritePage: str x27, [x20, 8] orr w0, w0, w28, lsl 10 str w0, [x20, 4] - ldr x0, [x24, 3512] + ldr x0, [x24, 3528] str x0, [x20, 16] bl ftl_memset ldr x0, [x20, 16] @@ -5673,7 +5675,7 @@ FtlMapWritePage: adrp x0, .LC90 mov w2, w21 add x0, x0, :lo12:.LC90 - ldr w1, [x25, 3716] + ldr w1, [x25, 3732] bl sftl_printk .L821: b .L821 @@ -5732,7 +5734,7 @@ load_l2p_region: .L838: add x20, x21, :lo12:.LANCHOR0 ubfiz x0, x22, 2, 16 - ldr x1, [x20, 3600] + ldr x1, [x20, 3616] ldr w24, [x1, x0] cbnz w24, .L839 ldr x0, [x20, 2568] @@ -5758,18 +5760,18 @@ load_l2p_region: .L839: ldr x0, [x20, 2568] lsl x19, x19, 4 - add x23, x20, 3712 + add x23, x20, 3728 mov w2, 1 add x0, x0, x19 mov w1, w2 - str w24, [x20, 3716] + str w24, [x20, 3732] ldr x0, [x0, 8] - str x0, [x20, 3720] - ldr x0, [x20, 3512] - str x0, [x20, 3728] + str x0, [x20, 3736] + ldr x0, [x20, 3528] + str x0, [x20, 3744] mov x0, x23 bl FlashReadPages - ldr x25, [x20, 3728] + ldr x25, [x20, 3744] ldrh w0, [x25, 8] cmp w0, w22 beq .L841 @@ -5778,7 +5780,7 @@ load_l2p_region: adrp x0, .LC91 add x0, x0, :lo12:.LC91 bl sftl_printk - ldr x1, [x20, 3728] + ldr x1, [x20, 3744] mov w3, 4 adrp x0, .LC92 mov w2, w3 @@ -5786,7 +5788,7 @@ load_l2p_region: bl rknand_print_hex ldrh w3, [x20, 140] adrp x0, .LC93 - ldr x1, [x20, 3600] + ldr x1, [x20, 3616] mov w2, 4 add x0, x0, :lo12:.LC93 bl rknand_print_hex @@ -5810,7 +5812,7 @@ load_l2p_region: strh w22, [x0, x19] b .L840 .L841: - ldr w0, [x20, 3712] + ldr w0, [x20, 3728] cmp w0, 256 bne .L842 mov w2, w24 @@ -5822,7 +5824,7 @@ load_l2p_region: mov w1, w22 add x0, x0, x19 ldr x2, [x0, 8] - add x0, x20, 3632 + add x0, x20, 3648 bl FtlMapWritePage b .L842 .size load_l2p_region, .-load_l2p_region @@ -5869,7 +5871,7 @@ ftl_map_blk_gc: add x27, x22, :lo12:.LANCHOR0 adrp x23, .LANCHOR1 add x23, x23, :lo12:.LANCHOR1 - add x21, x27, 3712 + add x21, x27, 3728 add x23, x23, 416 mov w20, 0 .L848: @@ -5903,9 +5905,9 @@ ftl_map_blk_gc: ldr w1, [x25, x0] cmp w26, w1, lsr 10 bne .L849 - ldr x1, [x27, 3456] + ldr x1, [x27, 3472] mov w2, 1 - ldr x24, [x27, 3512] + ldr x24, [x27, 3528] stp x1, x24, [x21, 8] mov w1, w2 ldr w0, [x25, x0] @@ -5971,10 +5973,10 @@ FtlMapTblRecovery: bl ftl_memset stp wzr, wzr, [x19, 48] add x3, x21, :lo12:.LANCHOR0 - add x20, x3, 3712 + add x20, x3, 3728 mov x25, x3 - ldr x0, [x3, 3448] - ldr x22, [x3, 3512] + ldr x0, [x3, 3464] + ldr x22, [x3, 3528] stp x0, x22, [x20, 8] mov w0, -1 strh w0, [x19] @@ -5996,7 +5998,7 @@ FtlMapTblRecovery: mov w1, 1 add x20, x23, x0 add x25, x21, :lo12:.LANCHOR0 - add x25, x25, 3712 + add x25, x25, 3728 ldrh w0, [x23, x0] mov w23, 0 bl FtlGetLastWrittenPage @@ -6060,7 +6062,7 @@ FtlMapTblRecovery: sxth w23, w23 b .L865 .L864: - ldr x0, [x25, 3448] + ldr x0, [x25, 3464] mov w2, 1 str x0, [x20, 8] lsl x0, x28, 1 @@ -6129,7 +6131,7 @@ FtlMapTblRecovery: sxth w27, w4 b .L863 .L875: - ldr x2, [x25, 3448] + ldr x2, [x25, 3464] sbfiz x5, x0, 3, 32 ldrh w1, [x2, x5] cmp w24, w1 @@ -6151,7 +6153,7 @@ FtlLoadVonderInfo: adrp x1, .LANCHOR0 add x1, x1, :lo12:.LANCHOR0 stp x29, x30, [sp, -16]! - add x0, x1, 3752 + add x0, x1, 3768 add x29, sp, 0 ldrh w2, [x1, 124] strh w2, [x0, 10] @@ -6163,10 +6165,10 @@ FtlLoadVonderInfo: strh w2, [x0, 6] ldr x2, [x1, 152] str x2, [x0, 16] - ldr x2, [x1, 3584] + ldr x2, [x1, 3600] str x2, [x0, 24] - ldr x2, [x1, 3576] - ldr x1, [x1, 3592] + ldr x2, [x1, 3592] + ldr x1, [x1, 3608] stp x2, x1, [x0, 32] bl FtlMapTblRecovery mov w0, 0 @@ -6182,7 +6184,7 @@ FtlLoadMapInfo: bl FtlL2PDataInit adrp x0, .LANCHOR0 add x0, x0, :lo12:.LANCHOR0 - add x0, x0, 3632 + add x0, x0, 3648 bl FtlMapTblRecovery mov w0, 0 ldp x29, x30, [sp], 16 @@ -6202,7 +6204,7 @@ flush_l2p_region: add x1, x0, x20 ldr x2, [x1, 8] ldrh w1, [x0, x20] - add x0, x19, 3632 + add x0, x19, 3648 bl FtlMapWritePage ldr x0, [x19, 2568] add x0, x0, x20 @@ -6570,7 +6572,7 @@ ftl_scan_all_data: stp x19, x20, [sp, 32] str x23, [sp, 64] mov w20, 0 - add x19, x21, 3712 + add x19, x21, 3728 bl sftl_printk .L947: add x0, x22, :lo12:.LANCHOR0 @@ -6599,11 +6601,11 @@ ftl_scan_all_data: ldr w0, [x29, 76] cmn w0, #1 beq .L950 - ldr x23, [x21, 3512] + ldr x23, [x21, 3528] mov w2, 0 stp wzr, w0, [x19] mov w1, 1 - ldr x0, [x21, 3448] + ldr x0, [x21, 3464] str x0, [x19, 8] mov x0, x19 str x23, [x19, 16] @@ -6686,7 +6688,7 @@ FtlGcScanTempBlk: .L961: cmp x0, x2 bne .L963 - ldr x0, [x20, 3424] + ldr x0, [x20, 3440] mov w1, w22 mov w2, 0 ubfiz x22, x22, 5, 16 @@ -6719,13 +6721,13 @@ FtlGcScanTempBlk: ldrh w1, [x2] cmp w1, w9 beq .L962 - ldr x4, [x20, 3424] + ldr x4, [x20, 3440] ubfiz x6, x22, 5, 16 orr w1, w21, w1, lsl 10 add x4, x4, x6 str w1, [x4, 4] mul w1, w22, w7 - ldr x3, [x20, 3424] + ldr x3, [x20, 3440] ldr x4, [x20, 3264] sdiv w1, w1, w5 add x3, x3, x6 @@ -6742,7 +6744,7 @@ FtlGcScanTempBlk: add x2, x2, 2 b .L961 .L974: - ldr x1, [x20, 3424] + ldr x1, [x20, 3440] add x0, x1, x27 ldr w1, [x1, x27] ldr w2, [x0, 4] @@ -6787,16 +6789,16 @@ FtlGcScanTempBlk: beq .L970 str w0, [x29, 132] mov w2, 0 - ldr x0, [x20, 3480] + ldr x0, [x20, 3496] mov w1, 1 str x0, [x29, 136] - ldr x0, [x20, 3520] + ldr x0, [x20, 3536] str x0, [x29, 144] add x0, x29, 128 bl FlashReadPages ldrh w1, [x20, 62] mov x0, 0 - ldr x2, [x20, 3424] + ldr x2, [x20, 3440] ldr x5, [x29, 136] ubfiz x1, x1, 9, 16 add x2, x2, x27 @@ -6872,7 +6874,7 @@ FtlReadRefresh: beq .L994 str w0, [x29, 88] mov w2, 0 - ldr x0, [x19, 3496] + ldr x0, [x19, 3512] str x0, [x29, 72] add x0, x29, 96 str x0, [x29, 80] @@ -6941,12 +6943,12 @@ FtlMapBlkWriteDump_data: stp x19, x20, [sp, 16] mov x19, x0 str x21, [sp, 32] - add x0, x2, 3712 + add x0, x2, 3728 mov x21, x1 ldrh w20, [x19, 6] - ldr x4, [x2, 3512] + ldr x4, [x2, 3528] sub w20, w20, #1 - ldr x3, [x2, 3456] + ldr x3, [x2, 3472] and w20, w20, 65535 ldr x5, [x19, 40] stp x3, x4, [x0, 8] @@ -6961,7 +6963,7 @@ FtlMapBlkWriteDump_data: .L1009: add x1, x21, :lo12:.LANCHOR0 mov x0, x19 - ldr x2, [x1, 3720] + ldr x2, [x1, 3736] mov w1, w20 bl FtlMapWritePage ldr x21, [sp, 32] @@ -6992,12 +6994,12 @@ FlashTestBlk: mov w2, 32 mov w1, 165 lsl w19, w19, 10 - ldr x0, [x20, 3496] + ldr x0, [x20, 3512] str x0, [x29, 40] add x0, x29, 64 str x0, [x29, 48] bl ftl_memset - ldr x0, [x20, 3496] + ldr x0, [x20, 3512] mov w2, 8 mov w1, 90 bl ftl_memset @@ -7042,15 +7044,15 @@ FtlBbmTblFlush: stp x21, x22, [sp, 32] stp x23, x24, [sp, 48] add x21, x20, 192 - ldr x2, [x20, 3512] - ldr x0, [x20, 3448] - str x2, [x20, 3728] + ldr x2, [x20, 3528] + ldr x0, [x20, 3464] + str x2, [x20, 3744] ldrh w2, [x20, 114] - str x0, [x20, 3720] + str x0, [x20, 3736] bl ftl_memset .L1022: ldrh w0, [x20, 58] - add x1, x20, 3712 + add x1, x20, 3728 cmp w19, w0 blt .L1023 ldr x26, [x1, 16] @@ -7078,17 +7080,17 @@ FtlBbmTblFlush: ldr w0, [x20, 32] strh w0, [x26, 12] .L1024: - ldr x0, [x25, 3448] - str x0, [x25, 3720] - ldr x0, [x25, 3512] - str x0, [x25, 3728] + ldr x0, [x25, 3464] + str x0, [x25, 3736] + ldr x0, [x25, 3528] + str x0, [x25, 3744] ldrh w1, [x19] ldrh w2, [x19, 2] ldrh w3, [x19, 4] ldrh w4, [x26, 10] orr w0, w2, w1, lsl 10 - str wzr, [x25, 3712] - str w0, [x25, 3716] + str wzr, [x25, 3728] + str w0, [x25, 3732] mov x0, x22 bl sftl_printk ldrh w0, [x25, 108] @@ -7105,17 +7107,17 @@ FtlBbmTblFlush: strh w1, [x26, 8] ldrh w0, [x19, 4] strh w1, [x19, 4] - ldr x1, [x25, 3400] + ldr x1, [x25, 3416] strh w0, [x19] lsl w0, w0, 10 - str w0, [x25, 3716] + str w0, [x25, 3732] strh wzr, [x19, 2] str w0, [x1, 4] mov w1, w2 - ldr x0, [x25, 3400] + ldr x0, [x25, 3416] bl FlashEraseBlocks .L1025: - add x20, x25, 3712 + add x20, x25, 3728 mov w3, 1 mov x0, x20 mov w2, w3 @@ -7124,17 +7126,17 @@ FtlBbmTblFlush: ldrh w0, [x19, 2] add w0, w0, 1 strh w0, [x19, 2] - ldr w0, [x25, 3712] + ldr w0, [x25, 3728] cmn w0, #1 bne .L1026 - ldr w1, [x25, 3716] + ldr w1, [x25, 3732] add w21, w21, 1 add x0, x24, :lo12:.LC103 and w21, w21, 65535 bl sftl_printk cmp w21, 3 bls .L1024 - ldr w1, [x25, 3716] + ldr w1, [x25, 3732] adrp x0, .LC104 mov w2, w21 add x0, x0, :lo12:.LC104 @@ -7142,7 +7144,7 @@ FtlBbmTblFlush: .L1028: b .L1028 .L1023: - ldrh w2, [x20, 3624] + ldrh w2, [x20, 3640] ldr x0, [x1, 8] ldr x1, [x21], 8 mul w3, w19, w2 @@ -7331,7 +7333,7 @@ allocate_data_superblock: madd w0, w0, w2, w1 ldrh w1, [x19, 44] udiv w0, w0, w1 - ldr x1, [x19, 3544] + ldr x1, [x19, 3560] str w0, [x19, 2636] ldr w0, [x1, 16] add w0, w0, 1 @@ -7342,7 +7344,7 @@ allocate_data_superblock: bne .L1051 ldrb w1, [x20, 8] mov w2, w24 - ldr x0, [x19, 3400] + ldr x0, [x19, 3416] mov x28, 0 bl FlashEraseBlocks mov w1, 0 @@ -7362,7 +7364,7 @@ allocate_data_superblock: strh w1, [x0, x26] b .L1032 .L1042: - ldr x1, [x19, 3400] + ldr x1, [x19, 3416] add x2, x1, x0, lsl 5 stp xzr, xzr, [x2, 8] ldrh w2, [x3] @@ -7392,7 +7394,7 @@ allocate_data_superblock: bl ftl_set_blk_mode.part.7 b .L1048 .L1051: - ldr x1, [x19, 3400] + ldr x1, [x19, 3416] add x1, x1, x0 add x0, x0, 32 ldr w2, [x1, 4] @@ -7400,7 +7402,7 @@ allocate_data_superblock: str w2, [x1, 4] b .L1050 .L1054: - ldr x2, [x19, 3400] + ldr x2, [x19, 3416] lsl x0, x28, 5 add x3, x2, x0 ldr w2, [x2, x0] @@ -7666,10 +7668,10 @@ decrement_vpc_count: .L1093: add x19, x19, :lo12:.LANCHOR0 mov w1, 65535 - ldrh w0, [x19, 3698] + ldrh w0, [x19, 3714] cmp w0, w1 bne .L1097 - strh w20, [x19, 3698] + strh w20, [x19, 3714] b .L1100 .L1097: cmp w20, w0 @@ -7679,7 +7681,7 @@ decrement_vpc_count: ldr x1, [x19, 2360] cset w21, ne ldr x0, [x19, 2368] - strh w20, [x19, 3698] + strh w20, [x19, 3714] sub x0, x0, x1 mov x1, -6148914691236517206 asr x0, x0, 1 @@ -7764,10 +7766,10 @@ FtlRecoverySuperblock: add x24, x19, :lo12:.LANCHOR0 mov w2, 0 mov w1, w22 - ldr x0, [x24, 3424] + ldr x0, [x24, 3440] bl FlashReadPages ldr w21, [x24, 2624] - ldr x4, [x24, 3424] + ldr x4, [x24, 3440] and w9, w23, 65535 sub w21, w21, #1 mov w7, 65535 @@ -7835,13 +7837,13 @@ FtlRecoverySuperblock: ldrh w2, [x5] cmp w2, w10 beq .L1111 - ldr x4, [x0, 3424] + ldr x4, [x0, 3440] ubfiz x7, x22, 5, 16 orr w2, w23, w2, lsl 10 add x4, x4, x7 str w2, [x4, 4] mul w2, w22, w8 - ldr x3, [x0, 3424] + ldr x3, [x0, 3440] ldr x4, [x0, 3264] sdiv w2, w2, w6 add x3, x3, x7 @@ -7895,10 +7897,10 @@ FtlRecoverySuperblock: .L1122: add x0, x19, :lo12:.LANCHOR0 and w3, w23, 65535 - ldr w1, [x0, 3708] + ldr w1, [x0, 3724] cmn w1, #1 bne .L1124 - str w21, [x0, 3708] + str w21, [x0, 3724] .L1124: add w0, w26, 7 cmp w0, w23, uxth @@ -7924,7 +7926,7 @@ FtlRecoverySuperblock: ldrh w2, [x1] cmp w2, w4 beq .L1127 - ldr x5, [x25, 3424] + ldr x5, [x25, 3440] ubfiz x6, x23, 5, 16 add w23, w23, 1 orr w2, w24, w2, lsl 10 @@ -7936,7 +7938,7 @@ FtlRecoverySuperblock: .L1134: cmp x0, x1 bne .L1128 - ldr x0, [x25, 3424] + ldr x0, [x25, 3440] mov w1, w23 str w4, [x29, 120] mov w2, 0 @@ -7944,7 +7946,7 @@ FtlRecoverySuperblock: ubfiz x23, x23, 5, 16 add x23, x23, 16 bl FlashReadPages - ldr x1, [x25, 3424] + ldr x1, [x25, 3440] ldr w4, [x29, 120] ldr w3, [x29, 128] add x0, x1, 16 @@ -7965,20 +7967,20 @@ FtlRecoverySuperblock: ldr w1, [x1, 4] cmn w1, #1 beq .L1131 - str w1, [x25, 3708] + str w1, [x25, 3724] .L1131: add x0, x0, 32 b .L1129 .L1133: add x0, x19, :lo12:.LANCHOR0 mov w1, -1 - str w1, [x0, 3708] + str w1, [x0, 3724] .L1123: add x19, x19, :lo12:.LANCHOR0 mov w0, 1 mov w24, w26 - strh w0, [x19, 3816] - add x0, x19, 3824 + strh w0, [x19, 3832] + add x0, x19, 3840 str x0, [x29, 104] .L1135: ldrh w0, [x19, 36] @@ -7990,7 +7992,7 @@ FtlRecoverySuperblock: .L1136: cmp x0, x1 bne .L1138 - ldr x0, [x19, 3424] + ldr x0, [x19, 3440] mov w1, w23 mov w2, 0 bl FlashReadPages @@ -8027,7 +8029,7 @@ FtlRecoverySuperblock: ldrh w2, [x1] cmp w2, w4 beq .L1137 - ldr x3, [x19, 3424] + ldr x3, [x19, 3440] ubfiz x5, x23, 5, 16 add w23, w23, 1 orr w2, w24, w2, lsl 10 @@ -8038,7 +8040,7 @@ FtlRecoverySuperblock: add x1, x1, 2 b .L1136 .L1165: - ldr x4, [x19, 3424] + ldr x4, [x19, 3440] add x4, x4, x23 ldr w5, [x4, 4] str w5, [x29, 156] @@ -8096,7 +8098,7 @@ FtlRecoverySuperblock: mov w2, 0 mov w0, w25 bl log2phys - ldr w1, [x19, 3708] + ldr w1, [x19, 3724] cmn w1, #1 beq .L1146 mov w0, w21 @@ -8105,17 +8107,17 @@ FtlRecoverySuperblock: ldr w1, [x29, 148] cmn w1, #1 beq .L1147 - ldr x0, [x19, 3424] + ldr x0, [x19, 3440] mov w2, 0 add x0, x0, x23 ldr x4, [x0, 16] str w1, [x0, 4] mov w1, 1 str x4, [x29, 128] - ldr x0, [x19, 3424] + ldr x0, [x19, 3440] add x0, x0, x23 bl FlashReadPages - ldr x0, [x19, 3424] + ldr x0, [x19, 3440] ldr x4, [x29, 128] add x3, x0, x23 ldr w0, [x0, x23] @@ -8169,7 +8171,7 @@ FtlRecoverySuperblock: str w0, [x29, 128] str x4, [x29, 96] uxtw x1, w0 - ldr w0, [x19, 3708] + ldr w0, [x19, 3724] bl ftl_cmp_data_ver cbz w0, .L1149 ldp w0, w1, [x29, 152] @@ -8191,19 +8193,19 @@ FtlRecoverySuperblock: str w0, [x3, 4] mov w1, 1 str x4, [x29, 96] - ldr x0, [x19, 3424] + ldr x0, [x19, 3440] add x0, x0, x23 bl FlashReadPages ldr x4, [x29, 96] .L1153: adrp x0, .LANCHOR0 add x0, x0, :lo12:.LANCHOR0 - ldr x1, [x0, 3424] + ldr x1, [x0, 3440] ldr w1, [x1, x23] cmn w1, #1 beq .L1154 ldr w3, [x4, 4] - ldr w0, [x0, 3708] + ldr w0, [x0, 3724] mov w1, w3 bl ftl_cmp_data_ver cbz w0, .L1154 @@ -8244,15 +8246,15 @@ FtlRecoverySuperblock: cmp w1, w0 bne .L1156 .L1160: - ldr x0, [x19, 3424] + ldr x0, [x19, 3440] mov w2, 0 mov w1, 1 str w4, [x0, 4] ldr x3, [x0, 16] - ldr x0, [x19, 3424] + ldr x0, [x19, 3440] str x3, [x29, 128] bl FlashReadPages - ldr x0, [x19, 3424] + ldr x0, [x19, 3440] ldr w0, [x0] cmn w0, #1 beq .L1156 @@ -8273,21 +8275,21 @@ FtlRecoverySuperblock: bl sftl_printk b .L1140 .L1142: - ldr w0, [x19, 3820] + ldr w0, [x19, 3836] cmp w0, 31 bhi .L1163 ldr x1, [x29, 104] str w5, [x1, w0, uxtw 2] add w0, w0, 1 - str w0, [x19, 3820] + str w0, [x19, 3836] .L1163: ldrh w0, [x20] bl decrement_vpc_count - ldr w0, [x19, 3708] + ldr w0, [x19, 3724] cmn w0, #1 bne .L1164 .L1223: - str w21, [x19, 3708] + str w21, [x19, 3724] b .L1140 .L1164: cmp w21, w0 @@ -8332,9 +8334,9 @@ FtlWriteDump_data: sub w22, w22, #1 mov w0, w22 bl log2phys - ldr x21, [x20, 3512] + ldr x21, [x20, 3528] ldr w0, [x29, 92] - ldr x1, [x20, 3448] + ldr x1, [x20, 3464] str w0, [x29, 100] cmn w0, #1 stp x1, x21, [x29, 104] @@ -8369,7 +8371,7 @@ FtlWriteDump_data: .L1229: ldrh w2, [x20, 114] mov w1, 255 - ldr x0, [x20, 3448] + ldr x0, [x20, 3464] bl ftl_memset b .L1230 .L1235: @@ -8450,8 +8452,8 @@ FtlSuperblockPowerLostFix: add x0, x21, :lo12:.LANCHOR0 str x23, [sp, 48] mov x20, x0 - ldr x23, [x0, 3512] - ldr x1, [x0, 3448] + ldr x23, [x0, 3528] + ldr x1, [x0, 3464] stp x1, x23, [x29, 72] mov w1, -3 str w1, [x23, 8] @@ -8460,11 +8462,11 @@ FtlSuperblockPowerLostFix: ldrh w1, [x19] strh w1, [x23, 2] strh wzr, [x23] - ldr x1, [x0, 3448] + ldr x1, [x0, 3464] str w2, [x1] mov w2, 22136 movk w2, 0x1234, lsl 16 - ldr x1, [x0, 3448] + ldr x1, [x0, 3464] str w2, [x1, 4] ldrh w22, [x19, 4] and w22, w22, 1 @@ -8535,7 +8537,7 @@ FtlVendorPartWrite: ldrh w23, [x19, 112] mov x25, x2 add x26, x29, 144 - add x27, x19, 3752 + add x27, x19, 3768 mov w24, 0 lsr w23, w28, w23 .L1265: @@ -8551,7 +8553,7 @@ FtlVendorPartWrite: ret .L1270: ldrh w1, [x19, 62] - ldr x0, [x19, 3592] + ldr x0, [x19, 3608] udiv w21, w28, w1 ldr w2, [x0, w23, uxtw 2] and w0, w22, 65535 @@ -8563,7 +8565,7 @@ FtlVendorPartWrite: cbz w2, .L1267 cmp w20, w1 beq .L1267 - ldr x0, [x19, 3464] + ldr x0, [x19, 3480] str w2, [x29, 116] mov w2, 1 stp x0, x26, [x29, 120] @@ -8572,7 +8574,7 @@ FtlVendorPartWrite: bl FlashReadPages .L1268: lsl w3, w20, 9 - ldr x0, [x19, 3464] + ldr x0, [x19, 3480] lsl w21, w21, 9 mov w2, w3 asr w21, w21, 2 @@ -8581,7 +8583,7 @@ FtlVendorPartWrite: add x0, x0, x21, sxtw 2 bl ftl_memcpy sub w22, w22, w20 - ldr x2, [x19, 3464] + ldr x2, [x19, 3480] mov w1, w23 mov x0, x27 add w28, w28, w20 @@ -8595,7 +8597,7 @@ FtlVendorPartWrite: .L1267: ldrh w2, [x19, 114] mov w1, 0 - ldr x0, [x19, 3464] + ldr x0, [x19, 3480] bl ftl_memset b .L1268 .L1271: @@ -8656,16 +8658,16 @@ Ftl_save_ext_data: FtlEctTblFlush: adrp x1, .LANCHOR0 add x3, x1, :lo12:.LANCHOR0 - ldrh w2, [x3, 3952] + ldrh w2, [x3, 3968] cmp w2, 31 bhi .L1286 add w2, w2, 1 - strh w2, [x3, 3952] + strh w2, [x3, 3968] mov w2, 1 .L1283: cbnz w0, .L1284 add x0, x1, :lo12:.LANCHOR0 - ldr x0, [x0, 3544] + ldr x0, [x0, 3560] ldr w3, [x0, 20] ldr w0, [x0, 16] add w2, w2, w3 @@ -8675,21 +8677,21 @@ FtlEctTblFlush: add x0, x1, :lo12:.LANCHOR0 stp x29, x30, [sp, -16]! add x29, sp, 0 - ldr x1, [x0, 3544] + ldr x1, [x0, 3560] ldr w2, [x1, 16] str w2, [x1, 20] mov w2, 17221 movk w2, 0x4254, lsl 16 str w2, [x1] - ldr x2, [x0, 3544] - ldrh w1, [x0, 3528] + ldr x2, [x0, 3560] + ldrh w1, [x0, 3544] lsl w3, w1, 9 str wzr, [x2, 4] str w3, [x2, 12] ldr w3, [x2, 8] add w3, w3, 1 str w3, [x2, 8] - ldr x2, [x0, 3544] + ldr x2, [x0, 3560] mov w0, 64 bl FtlVendorPartWrite bl Ftl_save_ext_data @@ -8753,7 +8755,7 @@ FtlVendorPartRead: ret .L1300: ldrh w19, [x28, 62] - ldr x0, [x28, 3592] + ldr x0, [x28, 3608] udiv w20, w23, w19 ldr w4, [x0, w21, uxtw 2] and w0, w22, 65535 @@ -8764,7 +8766,7 @@ FtlVendorPartRead: csel w19, w0, w19, cc lsl w27, w19, 9 cbz w4, .L1296 - ldr x0, [x28, 3464] + ldr x0, [x28, 3480] mov w2, 1 str x0, [x29, 120] add x0, x29, 144 @@ -8776,7 +8778,7 @@ FtlVendorPartRead: bl FlashReadPages ldp w4, w0, [x29, 108] cmn w0, #1 - ldr w0, [x28, 3712] + ldr w0, [x28, 3728] csinv w24, w24, wzr, ne cmp w0, 256 bne .L1298 @@ -8784,12 +8786,12 @@ FtlVendorPartRead: mov w1, w21 mov x0, x26 bl sftl_printk - ldr x2, [x28, 3464] + ldr x2, [x28, 3480] mov w1, w21 - add x0, x28, 3752 + add x0, x28, 3768 bl FtlMapWritePage .L1298: - ldr x1, [x28, 3464] + ldr x1, [x28, 3480] lsl w20, w20, 9 asr w20, w20, 2 mov w2, w27 @@ -8822,10 +8824,10 @@ FtlLoadEctTbl: str x19, [sp, 16] adrp x19, .LANCHOR0 add x19, x19, :lo12:.LANCHOR0 - ldrh w1, [x19, 3528] - ldr x2, [x19, 3544] + ldrh w1, [x19, 3544] + ldr x2, [x19, 3560] bl FtlVendorPartRead - ldr x0, [x19, 3544] + ldr x0, [x19, 3560] ldr w1, [x0] mov w0, 17221 movk w0, 0x4254, lsl 16 @@ -8836,9 +8838,9 @@ FtlLoadEctTbl: add x1, x1, :lo12:.LC109 add x0, x0, :lo12:.LC71 bl sftl_printk - ldr x0, [x19, 3544] + ldr x0, [x19, 3560] mov w1, 0 - ldrh w2, [x19, 3528] + ldrh w2, [x19, 3544] lsl w2, w2, 9 bl ftl_memset .L1304: @@ -8943,12 +8945,12 @@ FtlVpcTblFlush: add x20, x19, 2312 add x25, x19, 2656 mov w22, 0 - ldr x21, [x19, 3512] + ldr x21, [x19, 3528] mov w24, 65535 - ldr x0, [x19, 3448] - str x0, [x19, 3720] + ldr x0, [x19, 3464] + str x0, [x19, 3736] ldrh w0, [x19, 2656] - str x21, [x19, 3728] + str x21, [x19, 3744] strh w0, [x21, 2] mov w0, -3932 strh w0, [x21] @@ -8995,11 +8997,11 @@ FtlVpcTblFlush: ldr w0, [x19, 2624] ldrh w2, [x19, 114] str w0, [x19, 2348] - ldr x0, [x19, 3720] + ldr x0, [x19, 3736] strh w1, [x19, 2336] mov w1, 255 bl ftl_memset - ldr x0, [x19, 3720] + ldr x0, [x19, 3736] mov x1, x20 mov w2, 48 mov x20, x25 @@ -9009,12 +9011,12 @@ FtlVpcTblFlush: bl ftl_memcpy ldr x1, [x19, 2376] ldrh w2, [x19, 44] - ldr x0, [x19, 3720] + ldr x0, [x19, 3736] lsl w2, w2, 1 add x0, x0, 48 bl ftl_memcpy ldrh w0, [x19, 44] - ldr x3, [x19, 3720] + ldr x3, [x19, 3736] ldr x1, [x19, 24] lsr w2, w0, 3 ubfiz x0, x0, 1, 16 @@ -9028,12 +9030,12 @@ FtlVpcTblFlush: .L1313: ldrh w2, [x20, 2] ldrh w1, [x20] - ldr x0, [x19, 3448] - str x0, [x19, 3720] - ldr x0, [x19, 3512] - str x0, [x19, 3728] + ldr x0, [x19, 3464] + str x0, [x19, 3736] + ldr x0, [x19, 3528] + str x0, [x19, 3744] orr w0, w2, w1, lsl 10 - str w0, [x19, 3716] + str w0, [x19, 3732] ldrh w0, [x19, 108] sub w0, w0, #1 cmp w2, w0 @@ -9047,18 +9049,18 @@ FtlVpcTblFlush: add w2, w1, 1 str w2, [x19, 2620] ubfiz w2, w0, 10, 16 - str w2, [x19, 3716] + str w2, [x19, 3732] strh w0, [x20] strh w0, [x21, 2] str w1, [x21, 4] .L1314: mov w3, 1 - add x0, x19, 3712 + add x0, x19, 3728 mov w1, w3 mov w2, w3 bl FlashProgPages ldrh w0, [x20, 2] - ldr w1, [x19, 3712] + ldr w1, [x19, 3728] add w0, w0, 1 and w0, w0, 65535 strh w0, [x20, 2] @@ -9087,7 +9089,7 @@ FtlVpcTblFlush: adrp x0, .LC110 mov w2, w22 add x0, x0, :lo12:.LC110 - ldr w1, [x23, 3716] + ldr w1, [x23, 3732] bl sftl_printk .L1319: b .L1319 @@ -9186,10 +9188,10 @@ sftl_discard: ldrh w0, [x19, 62] cmp w20, w0 bcs .L1342 - ldr w0, [x19, 3956] + ldr w0, [x19, 3972] cmp w0, 32 bls .L1352 - str wzr, [x19, 3956] + str wzr, [x19, 3972] bl l2p_flush bl FtlVpcTblFlush b .L1352 @@ -9201,11 +9203,11 @@ sftl_discard: ldr w0, [x29, 56] cmn w0, #1 beq .L1341 - ldr w0, [x19, 3956] + ldr w0, [x19, 3972] mov w2, 1 add x1, x29, 60 add w0, w0, 1 - str w0, [x19, 3956] + str w0, [x19, 3972] ldr w0, [x19, 2592] add w0, w0, 1 str w0, [x19, 2592] @@ -9241,7 +9243,7 @@ FtlVpcCheckAndModify: add x0, x0, :lo12:.LC95 str x23, [sp, 48] bl sftl_printk - ldr x0, [x19, 3552] + ldr x0, [x19, 3568] mov w21, 0 ldrh w2, [x19, 46] mov w1, 0 @@ -9277,7 +9279,7 @@ FtlVpcCheckAndModify: beq .L1355 lsr w0, w0, 10 bl P2V_block_in_plane - ldr x2, [x19, 3552] + ldr x2, [x19, 3568] ubfiz x0, x0, 1, 16 ldrh w1, [x2, x0] add w1, w1, 1 @@ -9289,7 +9291,7 @@ FtlVpcCheckAndModify: ldr x0, [x20, 2376] ubfiz x21, x19, 1, 16 ldrh w2, [x0, x21] - ldr x0, [x20, 3552] + ldr x0, [x20, 3568] ldrh w3, [x0, x21] cmp w2, w3 beq .L1359 @@ -9310,7 +9312,7 @@ FtlVpcCheckAndModify: ldr x0, [x20, 2376] ldrh w1, [x0, x21] cbnz w1, .L1361 - ldr x1, [x20, 3552] + ldr x1, [x20, 3568] ldrh w1, [x1, x21] strh w1, [x0, x21] .L1359: @@ -9318,7 +9320,7 @@ FtlVpcCheckAndModify: and w19, w19, 65535 b .L1357 .L1361: - ldr x1, [x20, 3552] + ldr x1, [x20, 3568] ldrh w1, [x1, x21] strh w1, [x0, x21] mov w0, w19 @@ -9363,7 +9365,7 @@ allocate_new_data_superblock: mov w0, 1 strb w0, [x21, 8] mov w1, 65535 - ldrh w0, [x2, 3698] + ldrh w0, [x2, 3714] cmp w0, w1 beq .L1371 cmp w20, w0 @@ -9377,7 +9379,7 @@ allocate_new_data_superblock: .L1373: add x19, x19, :lo12:.LANCHOR0 mov w0, -1 - strh w0, [x19, 3698] + strh w0, [x19, 3714] .L1371: mov x0, x21 bl allocate_data_superblock @@ -9470,7 +9472,7 @@ FtlProgPages: cmp w1, w0 bcc .L1383 adrp x0, .LC1 - mov w2, 958 + mov w2, 960 add x1, x25, 648 add x0, x0, :lo12:.LC1 bl sftl_printk @@ -9512,7 +9514,7 @@ FtlProgPages: adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 adrp x0, .LC1 - mov w2, 973 + mov w2, 975 add x1, x1, 648 add x0, x0, :lo12:.LC1 bl sftl_printk @@ -9546,7 +9548,7 @@ FtlGcFreeTempBlock: mov w2, 65535 add x1, x0, 2520 ldrh w3, [x0, 2520] - str wzr, [x0, 3704] + str wzr, [x0, 3720] cmp w3, w2 bne .L1417 .L1420: @@ -9585,7 +9587,7 @@ FtlGcFreeTempBlock: bl FtlEctTblFlush .L1401: add x0, x19, :lo12:.LANCHOR0 - ldr w1, [x0, 3704] + ldr w1, [x0, 3720] cbnz w1, .L1402 ldr w1, [x0, 2816] add w1, w1, 1 @@ -9596,7 +9598,7 @@ FtlGcFreeTempBlock: bl FtlBbmTblFlush .L1402: add x19, x19, :lo12:.LANCHOR0 - str wzr, [x19, 3704] + str wzr, [x19, 3720] .L1413: mov w0, 1 b .L1393 @@ -9739,11 +9741,11 @@ FtlGcPageRecovery: ldrh w0, [x19, 106] cmp w1, w0 bcc .L1421 - add x0, x19, 3632 + add x0, x19, 3648 bl FtlMapBlkWriteDump_data mov w0, 0 bl FtlGcFreeTempBlock - str wzr, [x19, 3704] + str wzr, [x19, 3720] .L1421: ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 32 @@ -9761,7 +9763,7 @@ FtlPowerLostRecovery: add x20, x19, 2424 add x19, x19, 2472 mov x0, x20 - str wzr, [x19, 1348] + str wzr, [x19, 1364] bl FtlRecoverySuperblock mov x0, x20 bl FtlSlcSuperblockCheck @@ -9789,14 +9791,14 @@ Ftl_gc_temp_data_write_back: str x19, [sp, 16] add x19, x11, :lo12:.LANCHOR0 ldr w1, [x19, 3248] - ldr x0, [x19, 3432] + ldr x0, [x19, 3448] bl FlashProgPages mov w10, 0 .L1427: ldr w1, [x19, 3248] cmp w10, w1 bcc .L1430 - ldr x0, [x19, 3432] + ldr x0, [x19, 3448] bl FtlGcBufFree str wzr, [x19, 3248] ldrh w0, [x19, 2524] @@ -9805,7 +9807,7 @@ Ftl_gc_temp_data_write_back: bl FtlGcFreeTempBlock b .L1433 .L1430: - ldr x0, [x19, 3432] + ldr x0, [x19, 3448] ubfiz x1, x10, 5, 16 add x3, x0, x1 ldr w0, [x0, x1] @@ -9818,7 +9820,7 @@ Ftl_gc_temp_data_write_back: ldr w0, [x19, 2816] add w0, w0, 1 str w0, [x19, 2816] - ldr x0, [x19, 3432] + ldr x0, [x19, 3448] add x0, x0, x1 ldr w0, [x0, 4] lsr w0, w0, 10 @@ -9892,7 +9894,7 @@ FtlSysBlkInit: add x21, x20, :lo12:.LANCHOR0 str x23, [sp, 48] ldrh w0, [x21, 40] - strh wzr, [x21, 3816] + strh wzr, [x21, 3832] bl FtlFreeSysBlkQueueInit bl FtlScanSysBlk ldrh w1, [x21, 2656] @@ -9978,7 +9980,7 @@ FtlSysBlkInit: add w0, w0, 1 b .L1442 .L1452: - ldrh w0, [x2, 3816] + ldrh w0, [x2, 3832] cbnz w0, .L1444 .L1448: add x19, x20, :lo12:.LANCHOR0 @@ -10016,7 +10018,7 @@ rk_ftl_garbage_collect: stp x23, x24, [sp, 48] stp x25, x26, [sp, 64] stp x27, x28, [sp, 80] - ldr w2, [x1, 3408] + ldr w2, [x1, 3424] cbnz w2, .L1527 ldrh w2, [x1, 2400] cmp w2, 47 @@ -10057,7 +10059,7 @@ rk_ftl_garbage_collect: csel w1, w1, w2, cc cmp w0, w1 bls .L1533 - strh wzr, [x20, 3960] + strh wzr, [x20, 3976] str wzr, [x20, 3236] bl GetSwlReplaceBlock and w21, w0, 65535 @@ -10111,7 +10113,7 @@ rk_ftl_garbage_collect: ldrh w2, [x1, 3320] cmp w2, w0 bne .L1474 - ldrh w0, [x1, 3960] + ldrh w0, [x1, 3976] cbnz w0, .L1475 ldr w2, [x1, 2584] ldr w3, [x1, 2580] @@ -10248,9 +10250,9 @@ rk_ftl_garbage_collect: ldr x0, [x22, 2376] strh wzr, [x22, 2674] strb wzr, [x22, 2678] - strh wzr, [x22, 3962] + strh wzr, [x22, 3978] ldrh w0, [x0, x1, lsl 1] - strh w0, [x22, 3964] + strh w0, [x22, 3980] .L1488: add x0, x19, :lo12:.LANCHOR0 ldrh w1, [x0, 2672] @@ -10308,7 +10310,7 @@ rk_ftl_garbage_collect: str wzr, [x1, 3244] cmp w2, w0 bls .L1481 - ldrh w0, [x1, 3960] + ldrh w0, [x1, 3976] cbnz w0, .L1482 ldr w0, [x1, 2584] ldr w2, [x1, 2580] @@ -10331,14 +10333,14 @@ rk_ftl_garbage_collect: ldrh w0, [x2, x0] cmp w0, 4 bls .L1481 - ldrh w0, [x1, 3960] + ldrh w0, [x1, 3976] b .L1454 .L1483: mov w0, 18 b .L1563 .L1481: add x20, x19, :lo12:.LANCHOR0 - ldrh w0, [x20, 3960] + ldrh w0, [x20, 3976] cbnz w0, .L1539 ldrh w5, [x20, 2652] add w0, w5, w5, lsl 1 @@ -10361,7 +10363,7 @@ rk_ftl_garbage_collect: cmp w0, w5 blt .L1486 bl FtlReadRefresh - ldrh w0, [x20, 3960] + ldrh w0, [x20, 3976] b .L1454 .L1486: cbnz w1, .L1539 @@ -10429,7 +10431,7 @@ rk_ftl_garbage_collect: strh wzr, [x22, 3240] strh w0, [x22, 2672] .L1564: - ldrh w0, [x22, 3960] + ldrh w0, [x22, 3976] b .L1454 .L1503: cbnz w1, .L1504 @@ -10479,15 +10481,15 @@ rk_ftl_garbage_collect: bl make_superblock ldrh w1, [x22, 2672] ldr x0, [x22, 2376] - strh wzr, [x22, 3962] + strh wzr, [x22, 3978] ldrh w0, [x0, x1, lsl 1] - strh w0, [x22, 3964] + strh w0, [x22, 3980] strh wzr, [x22, 2674] strb wzr, [x22, 2678] .L1496: add x1, x19, :lo12:.LANCHOR0 mov w0, 1 - str w0, [x1, 3408] + str w0, [x1, 3424] ldrh w26, [x1, 106] cbz w23, .L1508 ldrh w0, [x1, 36] @@ -10586,10 +10588,10 @@ rk_ftl_garbage_collect: ldr w2, [x0, 4] cmp w2, w1 bne .L1514 - ldrh w1, [x22, 3962] - ldr x2, [x22, 3432] + ldrh w1, [x22, 3978] + ldr x2, [x22, 3448] add w1, w1, 1 - strh w1, [x22, 3962] + strh w1, [x22, 3978] ldr w1, [x22, 3248] ldr w0, [x0, 24] add x1, x2, x1, lsl 5 @@ -10599,7 +10601,7 @@ rk_ftl_garbage_collect: ldr x1, [x29, 96] str w0, [x1, 4] ldr w0, [x22, 3248] - ldr x1, [x22, 3432] + ldr x1, [x22, 3448] add x0, x1, x0, lsl 5 ldr x1, [x22, 3280] add x1, x1, x28 @@ -10630,8 +10632,8 @@ rk_ftl_garbage_collect: bl Ftl_gc_temp_data_write_back cbz w0, .L1514 add x19, x19, :lo12:.LANCHOR0 - ldrh w0, [x19, 3960] - str wzr, [x19, 3408] + ldrh w0, [x19, 3976] + str wzr, [x19, 3424] b .L1454 .L1514: add x28, x28, 32 @@ -10648,11 +10650,11 @@ rk_ftl_garbage_collect: cbz w0, .L1521 bl Ftl_gc_temp_data_write_back cbz w0, .L1521 - str wzr, [x22, 3408] + str wzr, [x22, 3424] b .L1564 .L1521: add x0, x19, :lo12:.LANCHOR0 - ldrh w1, [x0, 3962] + ldrh w1, [x0, 3978] cbnz w1, .L1522 ldrh w1, [x0, 2672] ldr x2, [x0, 2376] @@ -10671,13 +10673,13 @@ rk_ftl_garbage_collect: .L1520: add x0, x19, :lo12:.LANCHOR0 ldrh w1, [x0, 2416] - str wzr, [x0, 3408] + str wzr, [x0, 3424] cmp w1, 2 bhi .L1523 ldrh w20, [x0, 106] b .L1524 .L1523: - ldrh w0, [x0, 3960] + ldrh w0, [x0, 3976] cmp w0, 0 csinc w0, w0, w1, ne b .L1454 @@ -10841,7 +10843,7 @@ FtlRead: bne .L1577 .L1586: cbz w28, .L1577 - ldr x0, [x26, 3424] + ldr x0, [x26, 3440] mov w1, w28 mov w2, 0 bl FlashReadPages @@ -10858,13 +10860,13 @@ FtlRead: mov x28, 0 str x0, [x29, 104] .L1593: - ldr x0, [x26, 3424] + ldr x0, [x26, 3440] add x0, x0, x28 ldr w1, [x0, 24] cmp w27, w1 bne .L1588 ldr x1, [x0, 8] - ldr x0, [x26, 3472] + ldr x0, [x26, 3488] cmp x1, x0 bne .L1589 ldr x0, [x29, 120] @@ -10874,7 +10876,7 @@ FtlRead: .L1606: bl ftl_memcpy .L1589: - ldr x0, [x26, 3424] + ldr x0, [x26, 3440] add x0, x0, x28 ldr x1, [x0, 16] ldr w2, [x0, 24] @@ -10926,15 +10928,15 @@ FtlRead: add w5, w5, 1 b .L1579 .L1578: - ldr x0, [x26, 3424] + ldr x0, [x26, 3440] ubfiz x2, x28, 5, 32 cmp w20, w27 add x0, x0, x2 str w1, [x0, 4] ldrh w0, [x26, 62] bne .L1583 - ldr x1, [x26, 3424] - ldr x5, [x26, 3472] + ldr x1, [x26, 3440] + ldr x5, [x26, 3488] add x1, x1, x2 str x5, [x1, 8] udiv w5, w19, w0 @@ -10948,8 +10950,8 @@ FtlRead: bne .L1584 str x23, [x1, 8] .L1584: - ldr x0, [x26, 3424] - ldr x1, [x26, 3520] + ldr x0, [x26, 3440] + ldr x1, [x26, 3536] add x2, x0, x2 ldrh w0, [x26, 116] str w20, [x2, 24] @@ -10962,8 +10964,8 @@ FtlRead: .L1583: cmp w20, w24 bne .L1585 - ldr x5, [x26, 3424] - ldr x1, [x26, 3480] + ldr x5, [x26, 3440] + ldr x1, [x26, 3496] add x5, x5, x2 ldr w3, [x29, 128] str x1, [x5, 8] @@ -10978,7 +10980,7 @@ FtlRead: str x1, [x5, 8] b .L1584 .L1585: - ldr x1, [x26, 3424] + ldr x1, [x26, 3440] mul w0, w0, w20 add x1, x1, x2 sub w0, w0, w19 @@ -10990,7 +10992,7 @@ FtlRead: cmp w24, w1 bne .L1589 ldr x1, [x0, 8] - ldr x0, [x26, 3480] + ldr x0, [x26, 3496] cmp x1, x0 bne .L1589 ldrh w0, [x26, 62] @@ -11065,7 +11067,7 @@ FtlWrite: beq .L1609 mov w0, 2048 ldr w2, [x29, 148] - str w0, [x1, 3968] + str w0, [x1, 3984] add x20, x1, 2424 ldrh w0, [x1, 62] sub w2, w2, #1 @@ -11114,7 +11116,7 @@ FtlWrite: bcc .L1614 ldr x1, [x29, 160] adrp x0, .LC1 - mov w2, 1014 + mov w2, 1016 add x0, x0, :lo12:.LC1 bl sftl_printk .L1614: @@ -11163,7 +11165,7 @@ FtlWrite: bcc .L1619 ldr x1, [x29, 160] adrp x0, .LC1 - mov w2, 1047 + mov w2, 1049 add x0, x0, :lo12:.LC1 bl sftl_printk .L1619: @@ -11179,13 +11181,13 @@ FtlWrite: mov x3, x20 mov w2, 0 mov w1, w22 - ldr x0, [x0, 3440] + ldr x0, [x0, 3456] bl FtlProgPages cmp w24, w22 bcs .L1640 ldr x1, [x29, 160] adrp x0, .LC1 - mov w2, 1124 + mov w2, 1126 add x0, x0, :lo12:.LC1 bl sftl_printk .L1640: @@ -11215,16 +11217,16 @@ FtlWrite: bl get_new_active_ppa add x4, x19, :lo12:.LANCHOR0 str x4, [x29, 152] - ldr x1, [x4, 3440] + ldr x1, [x4, 3456] ldrh w2, [x4, 116] add x1, x1, x27 str w0, [x1, 4] mul w22, w22, w2 - ldr x0, [x4, 3440] + ldr x0, [x4, 3456] and x1, x22, 4294967292 str x1, [x29, 120] add x0, x0, x27 - ldr x1, [x4, 3520] + ldr x1, [x4, 3536] ldr x3, [x29, 120] str x1, [x29, 112] add x22, x1, x3 @@ -11255,7 +11257,7 @@ FtlWrite: ldrh w1, [x0, 62] cmp w2, w1 bne .L1625 - ldr x0, [x0, 3440] + ldr x0, [x0, 3456] cmp w21, w25 add x3, x0, x27 bne .L1626 @@ -11268,7 +11270,7 @@ FtlWrite: bcc .L1636 ldr x1, [x29, 160] adrp x0, .LC1 - mov w2, 1115 + mov w2, 1117 add x0, x0, :lo12:.LC1 bl sftl_printk .L1636: @@ -11307,11 +11309,11 @@ FtlWrite: str x0, [x3, 8] b .L1627 .L1625: - ldr x1, [x0, 3440] + ldr x1, [x0, 3456] cmp w21, w25 add x1, x1, x27 bne .L1628 - ldr x0, [x0, 3472] + ldr x0, [x0, 3488] .L1657: str x0, [x1, 8] ldr w0, [x29, 188] @@ -11322,7 +11324,7 @@ FtlWrite: str w21, [x29, 216] mov w2, 0 str x4, [x29, 104] - ldr x0, [x4, 3440] + ldr x0, [x4, 3456] add x0, x0, x27 ldp x1, x0, [x0, 8] stp x1, x0, [x29, 200] @@ -11342,7 +11344,7 @@ FtlWrite: lsl w2, w0, 9 add x0, x19, :lo12:.LANCHOR0 bne .L1635 - ldr x0, [x0, 3440] + ldr x0, [x0, 3456] mov x1, x26 add x3, x0, x27 ldr w0, [x29, 168] @@ -11353,7 +11355,7 @@ FtlWrite: bl ftl_memcpy b .L1627 .L1628: - ldr x0, [x0, 3480] + ldr x0, [x0, 3496] b .L1657 .L1631: ldr w0, [x22, 8] @@ -11372,14 +11374,14 @@ FtlWrite: cmp w21, w0 beq .L1634 ldr x1, [x29, 160] - mov w2, 1100 + mov w2, 1102 adrp x0, .LC1 add x0, x0, :lo12:.LC1 bl sftl_printk b .L1634 .L1630: add x1, x19, :lo12:.LANCHOR0 - ldr x0, [x1, 3440] + ldr x0, [x1, 3456] ldrh w2, [x1, 114] mov w1, 0 add x0, x0, x27 @@ -11388,7 +11390,7 @@ FtlWrite: b .L1634 .L1635: ldrh w1, [x0, 62] - ldr x0, [x0, 3440] + ldr x0, [x0, 3456] add x3, x0, x27 mul w1, w1, w21 sub w1, w1, w23 @@ -11397,7 +11399,7 @@ FtlWrite: add x1, x26, x1 b .L1659 .L1622: - ldr x0, [x4, 3440] + ldr x0, [x4, 3456] add x3, x0, x27 ldrh w0, [x4, 62] b .L1658 @@ -11435,345 +11437,6 @@ FtlWrite: b .L1609 .size FtlWrite, .-FtlWrite .align 2 - .global sftl_write - .type sftl_write, %function -sftl_write: - stp x29, x30, [sp, -224]! - add x29, sp, 0 - stp x21, x22, [sp, 32] - add w21, w0, w1 - stp x27, x28, [sp, 80] - sub w22, w21, #1 - stp x19, x20, [sp, 16] - mov w27, w1 - stp x23, x24, [sp, 48] - mov x28, x2 - stp x25, x26, [sp, 64] - mov w24, w0 - cmp w22, 63 - adrp x20, .LANCHOR0 - bls .L1661 - cmp w0, 575 - bls .L1662 -.L1661: - add x0, x20, :lo12:.LANCHOR0 - ldr w1, [x0, 3972] - cbz w1, .L1664 - ldr x26, [x0, 3976] - mov w1, 35899 - movk w1, 0xfcdc, lsl 16 - ldr w2, [x26] - cmp w2, w1 - beq .L1665 -.L1682: - add x20, x20, :lo12:.LANCHOR0 - ldr x0, [x20, 3976] - str wzr, [x20, 3972] - bl kfree - ldr x0, [x20, 3984] - bl kfree -.L1664: - mov x3, x28 - mov w2, w27 - mov w1, w24 - mov w0, 0 - bl FtlWrite - ldp x19, x20, [sp, 16] - ldp x21, x22, [sp, 32] - ldp x23, x24, [sp, 48] - ldp x25, x26, [sp, 64] - ldp x27, x28, [sp, 80] - ldp x29, x30, [sp], 224 - ret -.L1665: - ldrh w19, [x0, 14] - mov w2, 65535 - ldrh w22, [x0, 10] - mov x0, 262140 - mov w4, 4097 - add x3, x26, x0 - mov w0, 0 -.L1669: - ldr w1, [x3] - cbnz w1, .L1666 - ldr w1, [x26, w0, uxtw 2] - add w0, w0, 1 - str w1, [x3], -4 - cmp w0, w4 - sub w2, w2, #1 - csel w0, w0, wzr, cc - cmp w2, 4096 - bne .L1669 - mov w25, 512 - b .L1668 -.L1666: - add w25, w2, 127 - adrp x0, .LC115 - lsr w25, w25, 7 - add x0, x0, :lo12:.LC115 - mov w3, w25 - bl sftl_printk -.L1668: - and w19, w19, 255 - add x21, x20, :lo12:.LANCHOR0 - mul w22, w22, w19 - mov w19, 0 - and w22, w22, 65535 - sub w23, w22, #1 - add w23, w23, w25 - udiv w23, w23, w22 - mul w0, w22, w23 - str w23, [x29, 140] - stp wzr, w0, [x29, 152] - lsl w0, w25, 7 - str w0, [x29, 136] - b .L1681 -.L1690: - str w0, [x29, 140] -.L1681: - ldr x0, [x21, 3984] - mov x2, 512 - mov w1, 0 - bl memset - ldrh w3, [x21, 14] - add x4, x21, 3368 - ldrh w2, [x21, 10] - and w0, w3, 255 - ldr x5, [x21, 3376] - str x4, [x29, 112] - udiv w1, w19, w3 - str w3, [x29, 120] - mul w2, w0, w2 - str w0, [x29, 128] - str w0, [x29, 144] - mov w0, 0 - and w2, w2, 65535 - str w2, [x29, 108] - blr x5 - ldr w2, [x29, 108] - ldr w0, [x29, 156] - ldr w3, [x29, 120] - cmp w0, w2 - ldr x4, [x29, 112] - bls .L1670 - add w1, w2, w19 - ldr x4, [x4, 8] - str w2, [x29, 120] - mov w0, 0 - udiv w1, w1, w3 - blr x4 - ldr w2, [x29, 120] -.L1670: - udiv w5, w19, w2 - mov w4, 0 - mov w7, 61424 - msub w5, w5, w2, w19 - sub w6, w19, w5 -.L1671: - ldr w0, [x29, 156] - cmp w0, w4 - bhi .L1672 - ldrh w5, [x21, 14] - mov w9, 0 - ldrh w0, [x21, 10] - and w4, w5, 255 - ldr x6, [x21, 3984] - mov w5, w4 - mul w0, w4, w0 - and w0, w0, 65535 - udiv w7, w19, w0 - msub w7, w7, w0, w19 - and w1, w7, 65535 - sub w8, w19, w7 - sdiv w0, w1, w4 - msub w0, w0, w4, w1 - and w0, w0, 65535 -.L1673: - cmp w9, w25 - bcs .L1677 - add w1, w7, w9 - sub w10, w5, w0 - add w0, w0, w8 - ldr x11, [x21, 3392] - and w10, w10, 65535 - ubfiz x2, x9, 9, 16 - udiv w1, w1, w4 - add x2, x6, x2 - stp w5, w10, [x29, 100] - add x3, x29, 160 - stp w9, w7, [x29, 108] - str w8, [x29, 120] - and w1, w1, 65535 - str x6, [x29, 128] - str w4, [x29, 144] - madd w1, w1, w4, w0 - mov w0, 0 - udiv w1, w1, w4 - blr x11 - cmn w0, #1 - ldp w5, w10, [x29, 100] - ldp w9, w7, [x29, 108] - ldr w8, [x29, 120] - ldr w4, [x29, 144] - ldr x6, [x29, 128] - bne .L1674 -.L1677: - ldr x0, [x21, 3984] - mov x2, x26 - mov w4, 0 - mov x1, x0 -.L1675: - mov x5, x1 - mov x3, x2 - add x1, x1, 4 - add x2, x2, 4 - ldr w6, [x3] - ldr w7, [x5] - cmp w7, w6 - beq .L1678 - mov x2, 512 - mov w1, 0 - stp x3, x5, [x29, 120] - str w4, [x29, 144] - bl memset - ldp x3, x5, [x29, 120] - mov w1, w19 - ldr w4, [x29, 144] - adrp x0, .LC116 - add x0, x0, :lo12:.LC116 - ldr w2, [x5] - ldr w3, [x3] - bl sftl_printk - ldr x3, [x21, 3376] - add x2, x21, 3368 - mov w1, w19 - mov w0, 0 - str x2, [x29, 144] - blr x3 - cmp w23, 1 - bls .L1689 - ldr x2, [x29, 144] - add w1, w22, w19 - mov w0, 0 - ldr x2, [x2, 8] - blr x2 -.L1689: - ldr w1, [x29, 156] - ldr w0, [x29, 140] - add w19, w19, w1 - ldr w1, [x29, 140] - add w0, w23, w0 - cmp w1, 15 - bls .L1690 - b .L1682 -.L1672: - ldr w1, [x29, 144] - add w0, w5, w4 - ldr x8, [x21, 3384] - ubfiz x2, x4, 9, 16 - stp w5, w7, [x29, 104] - add x3, x29, 160 - str w4, [x29, 112] - add x2, x26, x2 - udiv w0, w0, w1 - str w6, [x29, 120] - and w0, w0, 65535 - mul w1, w0, w1 - stp w1, w7, [x29, 160] - ldr w1, [x29, 144] - udiv w1, w6, w1 - add w1, w1, w0 - mov w0, 0 - blr x8 - ldr w4, [x29, 112] - ldr w0, [x29, 128] - ldp w5, w7, [x29, 104] - add w4, w0, w4 - ldr w6, [x29, 120] - and w4, w4, 65535 - b .L1671 -.L1674: - add w9, w10, w9 - mov w0, 0 - and w9, w9, 65535 - b .L1673 -.L1678: - ldr w3, [x29, 136] - add w4, w4, 1 - cmp w4, w3 - bne .L1675 - ldr w0, [x29, 152] - add w0, w0, 1 - str w0, [x29, 152] - cmp w0, 5 - bls .L1689 - b .L1682 -.L1662: - cmp w0, 64 - bne .L1683 - add x19, x20, :lo12:.LANCHOR0 - mov w0, 262144 - bl ftl_malloc - str x0, [x19, 3976] - mov w0, 262144 - bl ftl_malloc - mov x1, x0 - ldr x0, [x19, 3976] - str x1, [x19, 3984] - cbz x0, .L1684 - cbz x1, .L1684 - mov w1, 1 - mov w2, 262144 - str w1, [x19, 3972] - mov w1, 0 - bl ftl_memset -.L1683: - add x20, x20, :lo12:.LANCHOR0 - ldr w0, [x20, 3972] - cbz w0, .L1664 - cmp w24, 63 - ldr x1, [x20, 3976] - bhi .L1686 - mov w20, 64 - sub w20, w20, w24 - sub w23, w27, w20 - ubfiz x20, x20, 9, 25 - add x20, x28, x20 - mov x19, x1 -.L1687: - cmp w22, 575 - bls .L1688 - sub w23, w23, w21 - sub w23, w23, #446 -.L1688: - mov w4, w23 - mov x3, x19 - mov w2, 262144 - adrp x0, .LC118 - add x0, x0, :lo12:.LC118 - bl sftl_printk - lsl w2, w23, 9 - mov x1, x20 - mov x0, x19 - bl ftl_memcpy - b .L1664 -.L1684: - adrp x1, .LANCHOR1 - add x1, x1, :lo12:.LANCHOR1 - add x1, x1, 728 - adrp x0, .LC117 - add x0, x0, :lo12:.LC117 - bl sftl_printk - b .L1683 -.L1686: - lsl w19, w24, 7 - mov x20, x28 - sub w19, w19, #8192 - mov w23, w27 - add x19, x1, x19, lsl 2 - b .L1687 - .size sftl_write, .-sftl_write - .align 2 .global FtlMakeBbt .type FtlMakeBbt, %function FtlMakeBbt: @@ -11794,48 +11457,48 @@ FtlMakeBbt: add x26, x0, 192 add x25, x0, 172 mov x19, x0 - add x20, x0, 3712 -.L1707: + add x20, x0, 3728 +.L1661: ldrh w0, [x19, 58] cmp w24, w0 - bcc .L1713 + bcc .L1667 add x20, x21, :lo12:.LANCHOR0 mov w19, 0 -.L1714: +.L1668: ldrh w0, [x20, 118] cmp w0, w19 - bhi .L1715 + bhi .L1669 add x20, x20, 160 ldrh w19, [x20, 12] mov w22, 65535 sub w19, w19, #1 and w19, w19, 65535 -.L1716: +.L1670: ldrh w0, [x20, 12] sub w0, w0, #48 cmp w19, w0 - ble .L1720 + ble .L1674 mov w0, w19 bl FtlBbmIsBadBlock cmp w0, 1 - beq .L1717 + beq .L1671 mov w0, w19 bl FlashTestBlk - cbz w0, .L1718 + cbz w0, .L1672 mov w0, w19 bl FtlBbmMapBadBlock -.L1717: +.L1671: sub w19, w19, #1 and w19, w19, 65535 - b .L1716 -.L1713: - ldr x0, [x19, 3448] + b .L1670 +.L1667: + ldr x0, [x19, 3464] mov w2, 65535 - ldr x27, [x19, 3512] + ldr x27, [x19, 3528] ldrh w1, [x25] stp x0, x27, [x20, 8] cmp w1, w2 - beq .L1708 + beq .L1662 ldrh w23, [x19, 102] mov w2, 1 madd w23, w23, w24, w1 @@ -11850,35 +11513,35 @@ FtlMakeBbt: add w2, w2, 7 lsr w2, w2, 3 bl ftl_memcpy -.L1709: +.L1663: mov w0, w23 add w24, w24, 1 bl FtlBbmMapBadBlock add x26, x26, 8 add x25, x25, 2 - b .L1707 -.L1708: + b .L1661 +.L1662: mov w1, w24 bl FlashGetBadBlockList ldr x0, [x20, 8] ldr x1, [x26] bl FtlBbt2Bitmap ldrh w22, [x19, 102] -.L1711: +.L1665: sub w22, w22, #1 and w22, w22, 65535 -.L1710: +.L1664: ldrh w0, [x19, 102] madd w0, w24, w0, w22 bl FtlBbmIsBadBlock cmp w0, 1 - beq .L1711 - ldr x0, [x19, 3512] + beq .L1665 + ldr x0, [x19, 3528] mov w2, 16 strh w22, [x25] mov w1, 0 bl ftl_memset - ldr x0, [x19, 3448] + ldr x0, [x19, 3464] mov w2, 4096 mov w1, 0 bl ftl_memset @@ -11887,7 +11550,7 @@ FtlMakeBbt: ldrh w23, [x19, 102] ldrh w0, [x25] strh w0, [x27, 2] - ldrh w2, [x19, 3624] + ldrh w2, [x19, 3640] ldrh w0, [x25] ldr x1, [x26] lsl w2, w2, 2 @@ -11907,34 +11570,34 @@ FtlMakeBbt: bl FlashProgPages ldr w0, [x20] cmn w0, #1 - bne .L1709 + bne .L1663 mov w0, w23 bl FtlBbmMapBadBlock - b .L1710 -.L1715: + b .L1664 +.L1669: mov w0, w19 add w19, w19, 1 bl FtlBbmMapBadBlock and w19, w19, 65535 - b .L1714 -.L1718: + b .L1668 +.L1672: ldrh w0, [x20] cmp w0, w22 - bne .L1719 + bne .L1673 strh w19, [x20] - b .L1717 -.L1719: + b .L1671 +.L1673: strh w19, [x20, 4] -.L1720: +.L1674: add x21, x21, :lo12:.LANCHOR0 mov w2, 2 - ldr x1, [x21, 3400] + ldr x1, [x21, 3416] ldrh w0, [x21, 160] str wzr, [x21, 168] strh wzr, [x21, 162] lsl w0, w0, 10 str w0, [x1, 4] - ldr x0, [x21, 3400] + ldr x0, [x21, 3416] ldrh w1, [x21, 164] lsl w1, w1, 10 str w1, [x0, 36] @@ -11978,40 +11641,40 @@ ftl_low_format: ldrh w0, [x0, 40] bl FtlFreeSysBlkQueueInit bl FtlLoadBbt - cbz w0, .L1727 + cbz w0, .L1681 bl FtlMakeBbt -.L1727: +.L1681: mov w4, 23752 add x1, x20, :lo12:.LANCHOR0 mov w0, 0 movk w4, 0xa0f, lsl 16 -.L1728: +.L1682: ldrh w2, [x1, 62] cmp w0, w2, lsl 7 - blt .L1729 + blt .L1683 ldrh w21, [x1, 44] add x22, x20, :lo12:.LANCHOR0 mov w19, 0 -.L1730: +.L1684: ldrh w0, [x22, 46] cmp w0, w21 - bhi .L1731 + bhi .L1685 ldrh w0, [x22, 36] sub w1, w19, #3 cmp w1, w0, lsl 1 - bge .L1732 -.L1736: + bge .L1686 +.L1690: add x19, x20, :lo12:.LANCHOR0 mov w21, 0 mov w22, 0 -.L1733: +.L1687: ldrh w0, [x19, 44] cmp w0, w22 - bhi .L1737 + bhi .L1691 ldrh w2, [x19, 36] ldr w1, [x19, 48] ldrh w0, [x19, 46] - str w0, [x19, 3420] + str w0, [x19, 3436] udiv w4, w1, w2 ubfx x3, x4, 5, 16 str w4, [x19, 2584] @@ -12020,28 +11683,28 @@ ftl_low_format: mov w0, 24 mul w0, w2, w0 cmp w21, w0 - ble .L1738 + ble .L1692 sub w1, w1, w21 udiv w1, w1, w2 str w1, [x19, 2584] lsr w1, w1, 5 add w1, w1, 24 strh w1, [x19, 2652] -.L1738: +.L1692: add x0, x20, :lo12:.LANCHOR0 ldrh w1, [x0, 98] - cbz w1, .L1740 + cbz w1, .L1694 ldrh w5, [x0, 2652] add w5, w5, w1, lsr 1 strh w5, [x0, 2652] mul w5, w1, w2 cmp w21, w5 - bge .L1740 + bge .L1694 add w1, w1, 32 str w4, [x0, 2584] add w1, w3, w1 strh w1, [x0, 2652] -.L1740: +.L1694: add x19, x20, :lo12:.LANCHOR0 mov w22, -1 add x21, x19, 2424 @@ -12050,7 +11713,7 @@ ftl_low_format: sub w0, w0, w1 ldrh w1, [x19, 106] mul w0, w0, w2 - str w0, [x19, 3744] + str w0, [x19, 3760] mul w0, w1, w0 ldrh w1, [x19, 62] str w0, [x19, 2584] @@ -12077,31 +11740,31 @@ ftl_low_format: strh wzr, [x19, 2424] str wzr, [x19, 2580] bl ftl_memset -.L1742: +.L1696: mov x0, x21 bl make_superblock ldrb w1, [x21, 7] ldrh w0, [x21] - cbnz w1, .L1743 + cbnz w1, .L1697 ldr x1, [x19, 2376] ubfiz x0, x0, 1, 16 strh w22, [x1, x0] ldrh w0, [x21] add w0, w0, 1 strh w0, [x21] - b .L1742 -.L1729: - ldr x5, [x1, 3472] + b .L1696 +.L1683: + ldr x5, [x1, 3488] ubfiz x3, x0, 2, 16 mvn w2, w0 orr w2, w0, w2, lsl 16 add w0, w0, 1 and w0, w0, 65535 str w2, [x5, x3] - ldr x2, [x1, 3480] + ldr x2, [x1, 3496] str w4, [x2, x3] - b .L1728 -.L1731: + b .L1682 +.L1685: mov w0, w21 mov w1, 1 add w21, w21, 1 @@ -12109,8 +11772,8 @@ ftl_low_format: add w19, w19, w0 and w21, w21, 65535 and w19, w19, 65535 - b .L1730 -.L1732: + b .L1684 +.L1686: udiv w0, w19, w0 ldr w19, [x22, 136] add x21, x20, :lo12:.LANCHOR0 @@ -12119,17 +11782,17 @@ ftl_low_format: ldrh w0, [x22, 40] bl FtlFreeSysBlkQueueInit ldrh w19, [x22, 44] -.L1734: +.L1688: ldrh w0, [x21, 46] cmp w0, w19 - bls .L1736 + bls .L1690 mov w0, w19 add w19, w19, 1 mov w1, 1 and w19, w19, 65535 bl FtlLowFormatEraseBlock - b .L1734 -.L1737: + b .L1688 +.L1691: mov w0, w22 mov w1, 0 add w22, w22, 1 @@ -12137,8 +11800,8 @@ ftl_low_format: add w21, w21, w0 and w22, w22, 65535 and w21, w21, 65535 - b .L1733 -.L1743: + b .L1687 +.L1697: ldr w1, [x19, 2620] ubfiz x0, x0, 1, 16 str w1, [x21, 12] @@ -12158,20 +11821,20 @@ ftl_low_format: strb w1, [x19, 2480] add x19, x20, :lo12:.LANCHOR0 mov x20, x0 -.L1744: +.L1698: mov x0, x20 bl make_superblock ldrb w1, [x20, 7] ldrh w0, [x20] - cbnz w1, .L1745 + cbnz w1, .L1699 ldr x1, [x19, 2376] ubfiz x0, x0, 1, 16 strh w21, [x1, x0] ldrh w0, [x20] add w0, w0, 1 strh w0, [x20] - b .L1744 -.L1745: + b .L1698 +.L1699: ldr w1, [x19, 2620] ubfiz x0, x0, 1, 16 str w1, [x20, 12] @@ -12184,7 +11847,7 @@ ftl_low_format: strh w20, [x19, 2520] bl FtlFreeSysBlkQueueOut strh w0, [x19, 2656] - ldr w0, [x19, 3744] + ldr w0, [x19, 3760] strh w0, [x19, 2662] ldr w0, [x19, 2620] str w0, [x19, 2664] @@ -12194,11 +11857,11 @@ ftl_low_format: str w0, [x19, 2620] bl FtlVpcTblFlush bl FtlSysBlkInit - cbnz w0, .L1746 + cbnz w0, .L1700 adrp x0, .LANCHOR2 mov w1, 1 str w1, [x0, #:lo12:.LANCHOR2] -.L1746: +.L1700: mov w0, 0 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -12217,18 +11880,441 @@ ftl_memcmp: ret .size ftl_memcmp, .-ftl_memcmp .align 2 + .global FtlWriteToIDB + .type FtlWriteToIDB, %function +FtlWriteToIDB: + stp x29, x30, [sp, -208]! + add x29, sp, 0 + stp x23, x24, [sp, 48] + add w23, w1, w0 + stp x19, x20, [sp, 16] + sub w24, w23, #1 + stp x21, x22, [sp, 32] + cmp w24, 63 + stp x25, x26, [sp, 64] + adrp x20, .LANCHOR0 + stp x27, x28, [sp, 80] + bls .L1708 + mov w19, w0 + cmp w0, 575 + bls .L1709 +.L1708: + add x0, x20, :lo12:.LANCHOR0 + ldr w1, [x0, 3988] + cbnz w1, .L1710 +.L1778: + mov w19, 0 + b .L1707 +.L1710: + ldr x25, [x0, 3992] + mov w1, 35899 + movk w1, 0xfcdc, lsl 16 + ldr w2, [x25] + cmp w2, w1 + bne .L1712 + ldrh w1, [x0, 10] + mov x0, 262140 + mov w19, 65535 + add x2, x25, x0 + mov w3, 4097 + mov w0, 0 +.L1716: + ldr w4, [x2] + cbnz w4, .L1713 + ldr w4, [x25, w0, uxtw 2] + add w0, w0, 1 + str w4, [x2], -4 + cmp w0, w3 + sub w19, w19, #1 + csel w0, w0, wzr, cc + cmp w19, 4096 + bne .L1716 + mov w19, 512 + b .L1715 +.L1713: + add w19, w19, 127 + lsr w19, w19, 7 +.L1715: + ubfiz w0, w1, 2, 14 + add w21, w19, 4 + add x27, x20, :lo12:.LANCHOR0 + mov w22, 0 + str wzr, [x29, 140] + udiv w21, w21, w0 + lsl w0, w19, 7 + str w0, [x29, 128] + add w21, w21, 1 +.L1739: + ldr x0, [x27, 4000] + mov w1, 0 + mov x2, 512 + bl memset + ldrh w28, [x27, 10] + ldr x1, [x27, 3400] + mul w23, w28, w22 + cbz x1, .L1747 + ldr x0, [x27, 3408] + mov w24, 6 + cmp x0, 0 + mov w0, 9 + csel w24, w24, w0, eq +.L1717: + ldr x3, [x27, 3376] + mov w1, w23 + mov w0, 0 + blr x3 + cmp w21, 1 + beq .L1718 + ldr x2, [x27, 3376] + add w1, w28, w23 + mov w0, 0 + blr x2 +.L1718: + cmp w24, 9 + bne .L1749 + ldr x26, [x27, 4000] + mov w2, 1024 + mov w1, 0 + mov x0, x26 + bl ftl_memset + mov w0, 18766 + add x6, x26, 12 + movk w0, 0x464e, lsl 16 + str w0, [x26] + mov w0, 12 + str w0, [x26, 4] + mov w0, 4 + strb w0, [x26, 17] + ldrh w0, [x27, 10] + mov x2, 0 + strh w0, [x26, 18] + mov w0, 16 + strb w0, [x26, 21] + mov w0, 42982 + strb wzr, [x26, 16] + strb wzr, [x26, 20] + movk w0, 0x47c6, lsl 16 + strh wzr, [x26, 22] + str wzr, [x26, 12] +.L1720: + lsr w1, w0, 2 + ldrb w3, [x6, x2] + add w1, w1, w0, lsl 5 + add x2, x2, 1 + add w1, w1, w3 + cmp x2, 12 + eor w0, w0, w1 + bne .L1720 + str w0, [x26, 8] +.L1719: + mul w0, w21, w28 + mov x7, x25 + str w0, [x29, 136] + mov x28, 0 + add w0, w23, 1 + str w0, [x29, 132] +.L1721: + ldr w0, [x29, 136] + mov w1, w28 + cmp w28, w0 + bcs .L1728 + cmp w24, 9 + bne .L1722 + ldr w0, [x29, 132] + add w0, w0, w1 +.L1776: + str w0, [x29, 144] + mov w0, 61424 + str w0, [x29, 148] + cmp w1, 0 + ccmp w24, 9, 0, eq + bne .L1724 + ldr x1, [x27, 3400] + add x8, x27, 3368 + str x7, [x29, 104] + mov w0, 70 + str x8, [x29, 120] + blr x1 + ldr x8, [x29, 120] + add x3, x29, 144 + mov x2, x26 + mov w1, w23 + str x8, [x29, 112] + mov w0, 0 + ldr x9, [x8, 16] + blr x9 + mov w1, w0 + ldr x8, [x29, 112] + ldrb w0, [x27, 22] + str w1, [x29, 120] + ldr x2, [x8, 32] + blr x2 + ldr w1, [x29, 120] + ldr x7, [x29, 104] + cmn w1, #1 + bne .L1725 +.L1728: + ldrb w0, [x27, 14] + str w0, [x29, 120] + ldrh w0, [x27, 10] + ldr x24, [x27, 4000] + mul w1, w0, w22 + str w1, [x29, 136] + add x1, x27, 3368 + ldr x2, [x1, 32] + cbnz x2, .L1726 + mov w1, 6 +.L1777: + mul w0, w21, w0 + mov x28, 0 + mov w26, 61424 + str w0, [x29, 112] + str w1, [x29, 132] +.L1730: + ldr w0, [x29, 112] + mov w1, w28 + cmp w0, w28 + bls .L1734 + ldr w0, [x29, 132] + cmp w28, 0 + ccmp w0, 9, 0, eq + bne .L1731 + ldr x1, [x27, 3400] + mov w0, 70 + blr x1 + ldr x1, [x27, 3408] + mov w0, 2 + blr x1 + ldr x8, [x27, 3392] + add x3, x29, 144 + ldr w1, [x29, 136] + mov x2, x24 + mov w0, 0 + blr x8 + ldrb w0, [x29, 120] + ldr x1, [x27, 3408] + blr x1 + ldrb w0, [x27, 22] + ldr x1, [x27, 3400] + blr x1 + ldr w0, [x24] + mov w1, 18766 + movk w1, 0x464e, lsl 16 + cmp w0, w1 + beq .L1732 +.L1734: + ldr x0, [x27, 4000] + mov x1, x25 + mov w23, 0 + mov x2, x0 +.L1733: + mov x24, x2 + mov x28, x1 + add x2, x2, 4 + add x1, x1, 4 + ldr w4, [x24] + ldr w3, [x28] + cmp w4, w3 + beq .L1736 + mov x2, 512 + mov w1, 0 + bl memset + ldr w2, [x24] + mov w1, w22 + ldr w3, [x28] + mov w4, w23 + adrp x0, .LC115 + add x0, x0, :lo12:.LC115 + bl sftl_printk + ldrh w1, [x27, 10] + mov w0, 0 + ldr x2, [x27, 3376] + mul w1, w1, w22 + blr x2 +.L1737: + add w22, w22, w21 + cmp w22, 15 + bls .L1739 + ldr w0, [x29, 140] + cbnz w0, .L1740 +.L1712: + mov w19, -1 +.L1740: + add x20, x20, :lo12:.LANCHOR0 + ldr x0, [x20, 3992] + str wzr, [x20, 3988] + bl kfree + ldr x0, [x20, 4000] + bl kfree +.L1707: + mov w0, w19 + ldp x19, x20, [sp, 16] + ldp x21, x22, [sp, 32] + ldp x23, x24, [sp, 48] + ldp x25, x26, [sp, 64] + ldp x27, x28, [sp, 80] + ldp x29, x30, [sp], 208 + ret +.L1747: + mov w24, 6 + b .L1717 +.L1749: + mov x26, 0 + b .L1719 +.L1722: + add w0, w1, w23 + lsl w0, w0, 2 + b .L1776 +.L1724: + ldr x8, [x27, 3384] + add x3, x29, 144 + mov x2, x7 + add w1, w1, w23 + mov w0, 0 + str x7, [x29, 120] + blr x8 + cmn w0, #1 + beq .L1728 + ldr x7, [x29, 120] + add x7, x7, 2048 +.L1725: + add x28, x28, 1 + b .L1721 +.L1726: + ldr x1, [x1, 40] + mov w23, 6 + cmp x1, 0 + mov w1, 9 + csel w1, w23, w1, eq + b .L1777 +.L1731: + ldr x7, [x27, 3392] + add x3, x29, 144 + ldr w0, [x29, 136] + mov x2, x24 + add w1, w0, w1 + mov w0, 0 + blr x7 + cmn w0, #1 + beq .L1734 + ldr w0, [x29, 148] + cmp w0, w26 + bne .L1734 + add x24, x24, 2048 +.L1732: + add x28, x28, 1 + b .L1730 +.L1736: + ldr w3, [x29, 128] + add w23, w23, 1 + cmp w23, w3 + bne .L1733 + ldr w0, [x29, 140] + add w0, w0, 1 + str w0, [x29, 140] + cmp w0, 5 + bls .L1737 + b .L1740 +.L1709: + mov w21, w1 + mov x22, x2 + cmp w0, 64 + bne .L1741 + add x25, x20, :lo12:.LANCHOR0 + mov w0, 262144 + bl ftl_malloc + str x0, [x25, 3992] + mov w0, 262144 + bl ftl_malloc + mov x1, x0 + ldr x0, [x25, 3992] + str x1, [x25, 4000] + cbz x0, .L1742 + cbz x1, .L1742 + mov w1, 1 + mov w2, 262144 + str w1, [x25, 3988] + mov w1, 0 + bl ftl_memset +.L1741: + add x20, x20, :lo12:.LANCHOR0 + ldr w0, [x20, 3988] + cbz w0, .L1778 + cmp w19, 63 + ldr x1, [x20, 3992] + bhi .L1744 + mov w0, 64 + sub w19, w0, w19 + sub w21, w21, w19 + ubfiz x19, x19, 9, 25 + add x22, x22, x19 + mov x20, x1 +.L1745: + cmp w24, 575 + bls .L1746 + sub w21, w21, w23 + sub w21, w21, #446 +.L1746: + mov w4, w21 + mov x3, x20 + mov w2, 262144 + adrp x0, .LC117 + add x0, x0, :lo12:.LC117 + bl sftl_printk + lsl w2, w21, 9 + mov x1, x22 + mov x0, x20 + bl ftl_memcpy + b .L1778 +.L1742: + adrp x1, .LANCHOR1 + add x1, x1, :lo12:.LANCHOR1 + add x1, x1, 728 + adrp x0, .LC116 + add x0, x0, :lo12:.LC116 + bl sftl_printk + b .L1741 +.L1744: + lsl w20, w19, 7 + sub w20, w20, #8192 + add x20, x1, x20, lsl 2 + b .L1745 + .size FtlWriteToIDB, .-FtlWriteToIDB + .align 2 + .global sftl_write + .type sftl_write, %function +sftl_write: + stp x29, x30, [sp, -48]! + add x29, sp, 0 + stp x19, x20, [sp, 16] + mov w20, w1 + mov w19, w0 + str x21, [sp, 32] + mov x21, x2 + bl FtlWriteToIDB + mov x3, x21 + mov w2, w20 + mov w1, w19 + mov w0, 0 + bl FtlWrite + ldr x21, [sp, 32] + ldp x19, x20, [sp, 16] + ldp x29, x30, [sp], 48 + ret + .size sftl_write, .-sftl_write + .align 2 .global rk_sftl_vendor_dev_ops_register .type rk_sftl_vendor_dev_ops_register, %function rk_sftl_vendor_dev_ops_register: adrp x2, .LANCHOR0 add x2, x2, :lo12:.LANCHOR0 - ldr x3, [x2, 3992] - cbnz x3, .L1755 - str x0, [x2, 3992] + ldr x3, [x2, 4008] + cbnz x3, .L1783 + str x0, [x2, 4008] mov w0, 0 - str x1, [x2, 4000] + str x1, [x2, 4016] ret -.L1755: +.L1783: mov w0, -1 ret .size rk_sftl_vendor_dev_ops_register, .-rk_sftl_vendor_dev_ops_register @@ -12246,55 +12332,55 @@ rk_sftl_vendor_storage_init: stp x23, x24, [sp, 48] stp x25, x26, [sp, 64] bl ftl_malloc - str x0, [x22, 4008] - cbz x0, .L1762 + str x0, [x22, 4024] + cbz x0, .L1790 mov w26, 22084 mov w25, 0 mov w24, 0 mov w23, 0 movk w26, 0x524b, lsl 16 -.L1760: - ldr x3, [x22, 3992] +.L1788: + ldr x3, [x22, 4008] mov w1, 128 - ldr x2, [x22, 4008] + ldr x2, [x22, 4024] lsl w0, w23, 7 blr x3 mov w21, w0 - cbnz w0, .L1758 - ldr x19, [x22, 4008] + cbnz w0, .L1786 + ldr x19, [x22, 4024] ldr w0, [x19] cmp w0, w26 - bne .L1759 + bne .L1787 add x0, x19, 61440 ldr w1, [x19, 4] ldr w0, [x0, 4092] cmp w0, w1 - bne .L1759 + bne .L1787 cmp w0, w24 - bls .L1759 + bls .L1787 mov w25, w23 mov w24, w0 -.L1759: +.L1787: add w23, w23, 1 cmp w23, 2 - bne .L1760 - cbz w24, .L1761 + bne .L1788 + cbz w24, .L1789 add x0, x20, :lo12:.LANCHOR0 mov x2, x19 mov w1, 128 - ldr x3, [x0, 3992] + ldr x3, [x0, 4008] lsl w0, w25, 7 blr x3 mov w21, w0 - cbz w0, .L1756 -.L1758: + cbz w0, .L1784 +.L1786: add x20, x20, :lo12:.LANCHOR0 mov w21, -1 - ldr x0, [x20, 4008] + ldr x0, [x20, 4024] bl kfree - str xzr, [x20, 4008] - b .L1756 -.L1761: + str xzr, [x20, 4024] + b .L1784 +.L1789: mov w1, 0 mov x2, 65536 mov x0, x19 @@ -12307,7 +12393,7 @@ rk_sftl_vendor_storage_init: str w0, [x1, 4092] mov w0, -1032 strh w0, [x19, 14] -.L1756: +.L1784: mov w0, w21 ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] @@ -12315,30 +12401,30 @@ rk_sftl_vendor_storage_init: ldp x25, x26, [sp, 64] ldp x29, x30, [sp], 80 ret -.L1762: +.L1790: mov w21, -12 - b .L1756 + b .L1784 .size rk_sftl_vendor_storage_init, .-rk_sftl_vendor_storage_init .align 2 .global rk_sftl_vendor_read .type rk_sftl_vendor_read, %function rk_sftl_vendor_read: - adrp x3, .LANCHOR0+4008 - ldr x4, [x3, #:lo12:.LANCHOR0+4008] - cbz x4, .L1770 + adrp x3, .LANCHOR0+4024 + ldr x4, [x3, #:lo12:.LANCHOR0+4024] + cbz x4, .L1798 ldrh w6, [x4, 10] add x5, x4, 16 mov w3, 0 -.L1767: +.L1795: cmp w3, w6 - bcc .L1769 -.L1770: + bcc .L1797 +.L1798: mov w0, -1 ret -.L1769: +.L1797: ldrh w7, [x5], 8 cmp w7, w0 - bne .L1768 + bne .L1796 stp x29, x30, [sp, -32]! add x3, x4, x3, uxtw 3 mov x0, x1 @@ -12356,9 +12442,9 @@ rk_sftl_vendor_read: ldr x19, [sp, 16] ldp x29, x30, [sp], 32 ret -.L1768: +.L1796: add w3, w3, 1 - b .L1767 + b .L1795 .size rk_sftl_vendor_read, .-rk_sftl_vendor_read .align 2 .global rk_sftl_vendor_write @@ -12373,8 +12459,8 @@ rk_sftl_vendor_write: stp x21, x22, [sp, 32] stp x25, x26, [sp, 64] stp x27, x28, [sp, 80] - ldr x19, [x3, 4008] - cbz x19, .L1790 + ldr x19, [x3, 4024] + cbz x19, .L1818 add w21, w2, 63 ldrh w3, [x19, 10] ldrh w24, [x19, 8] @@ -12383,12 +12469,12 @@ rk_sftl_vendor_write: and w21, w21, -64 add x1, x19, 16 mov w20, 0 -.L1777: +.L1805: cmp w20, w3 - bcc .L1785 + bcc .L1813 ldrh w1, [x19, 14] cmp w21, w1 - bhi .L1790 + bhi .L1818 add x3, x19, x3, uxth 3 and w21, w21, 65535 uxtw x2, w28 @@ -12408,11 +12494,11 @@ rk_sftl_vendor_write: ldrh w0, [x19, 10] add w0, w0, 1 strh w0, [x19, 10] - b .L1792 -.L1785: + b .L1820 +.L1813: ldrh w6, [x1], 8 cmp w6, w0 - bne .L1778 + bne .L1806 uxtw x27, w20 add x5, x19, 1024 add x22, x19, x27, lsl 3 @@ -12420,17 +12506,17 @@ rk_sftl_vendor_write: add w25, w25, 63 and w25, w25, -64 cmp w28, w25 - bls .L1779 + bls .L1807 ldrh w0, [x19, 14] cmp w21, w0 - bhi .L1790 + bhi .L1818 add x27, x27, 2 ldrh w22, [x22, 18] add x27, x19, x27, lsl 3 sub w26, w3, #1 -.L1780: +.L1808: cmp w20, w26 - bcc .L1781 + bcc .L1809 add x20, x19, x20, uxtw 3 and w22, w22, 65535 add x0, x5, x22, uxth @@ -12447,7 +12533,7 @@ rk_sftl_vendor_write: sub w21, w0, w21 add w25, w21, w25 strh w25, [x19, 14] -.L1792: +.L1820: ldr w0, [x19, 4] add x1, x19, 61440 add x23, x23, :lo12:.LANCHOR0 @@ -12456,7 +12542,7 @@ rk_sftl_vendor_write: str w0, [x19, 4] str w0, [x1, 4092] mov w1, 128 - ldr x3, [x23, 4000] + ldr x3, [x23, 4016] ldrh w0, [x19, 8] add w0, w0, 1 and w0, w0, 65535 @@ -12466,7 +12552,7 @@ rk_sftl_vendor_write: lsl w0, w24, 7 blr x3 mov w0, 0 -.L1775: +.L1803: ldp x19, x20, [sp, 16] ldp x21, x22, [sp, 32] ldp x23, x24, [sp, 48] @@ -12474,7 +12560,7 @@ rk_sftl_vendor_write: ldp x27, x28, [sp, 80] ldp x29, x30, [sp], 128 ret -.L1781: +.L1809: add w20, w20, 1 str x4, [x29, 104] add x0, x19, x20, uxtw 3 @@ -12498,21 +12584,21 @@ rk_sftl_vendor_write: ldr x4, [x29, 104] add w22, w22, w3 ldr x5, [x29, 120] - b .L1780 -.L1779: + b .L1808 +.L1807: ldrh w0, [x22, 18] uxtw x2, w28 mov x1, x4 add x0, x5, x0 bl memcpy strh w28, [x22, 20] - b .L1792 -.L1778: + b .L1820 +.L1806: add w20, w20, 1 - b .L1777 -.L1790: + b .L1805 +.L1818: mov w0, -1 - b .L1775 + b .L1803 .size rk_sftl_vendor_write, .-rk_sftl_vendor_write .align 2 .global rk_sftl_vendor_storage_ioctl @@ -12526,19 +12612,19 @@ rk_sftl_vendor_storage_ioctl: str x21, [sp, 32] mov w21, w1 bl ftl_malloc - cbz x0, .L1807 + cbz x0, .L1835 mov w1, 30209 mov x19, x0 movk w1, 0x4004, lsl 16 cmp w21, w1 - beq .L1796 + beq .L1824 add w1, w1, 1 cmp w21, w1 - beq .L1797 -.L1817: + beq .L1825 +.L1845: mov x20, -14 - b .L1795 -.L1796: + b .L1823 +.L1824: #APP // 21 "./arch/arm64/include/asm/current.h" 1 mrs x21, sp_el0 @@ -12551,34 +12637,34 @@ rk_sftl_vendor_storage_ioctl: adds x1, x1, 8; ccmp x1, x2, #2, cc; cset x3, ls // 0 "" 2 #NO_APP - cbz x3, .L1803 + cbz x3, .L1831 mov x2, 8 mov x1, x20 bl __arch_copy_from_user - cbnz x0, .L1817 + cbnz x0, .L1845 ldr w1, [x19] mov w0, 17745 movk w0, 0x5652, lsl 16 cmp w1, w0 - beq .L1801 -.L1802: + beq .L1829 +.L1830: mov x20, -1 -.L1795: +.L1823: mov x0, x19 bl kfree -.L1793: +.L1821: mov x0, x20 ldr x21, [sp, 32] ldp x19, x20, [sp, 16] ldp x29, x30, [sp], 48 ret -.L1801: +.L1829: ldrh w2, [x19, 6] add x1, x19, 8 ldrh w0, [x19, 4] bl rk_sftl_vendor_read cmn w0, #1 - beq .L1802 + beq .L1830 strh w0, [x19, 6] and x2, x0, 65535 add x2, x2, 8 @@ -12589,14 +12675,14 @@ rk_sftl_vendor_storage_ioctl: adds x0, x0, x2; ccmp x0, x1, #2, cc; cset x3, ls // 0 "" 2 #NO_APP - cbz x3, .L1817 + cbz x3, .L1845 mov x0, x20 mov x1, x19 mov x20, 0 bl __arch_copy_to_user - cbz x0, .L1795 - b .L1817 -.L1797: + cbz x0, .L1823 + b .L1845 +.L1825: #APP // 21 "./arch/arm64/include/asm/current.h" 1 mrs x21, sp_el0 @@ -12609,19 +12695,19 @@ rk_sftl_vendor_storage_ioctl: adds x1, x1, 8; ccmp x1, x2, #2, cc; cset x3, ls // 0 "" 2 #NO_APP - cbz x3, .L1803 + cbz x3, .L1831 mov x2, 8 mov x1, x20 bl __arch_copy_from_user - cbnz x0, .L1817 + cbnz x0, .L1845 ldr w1, [x19] mov w0, 17745 movk w0, 0x5652, lsl 16 cmp w1, w0 - bne .L1802 + bne .L1830 ldrh w2, [x19, 6] cmp w2, 4087 - bhi .L1802 + bhi .L1830 add w2, w2, 8 mov x0, x20 sxtw x2, w2 @@ -12631,28 +12717,28 @@ rk_sftl_vendor_storage_ioctl: adds x0, x0, x2; ccmp x0, x1, #2, cc; cset x3, ls // 0 "" 2 #NO_APP - cbz x3, .L1805 + cbz x3, .L1833 mov x1, x20 mov x0, x19 bl __arch_copy_from_user - cbnz x0, .L1817 + cbnz x0, .L1845 ldrh w2, [x19, 6] add x1, x19, 8 ldrh w0, [x19, 4] bl rk_sftl_vendor_write sxtw x20, w0 - b .L1795 -.L1803: + b .L1823 +.L1831: str xzr, [x19] - b .L1817 -.L1805: + b .L1845 +.L1833: mov w1, 0 mov x0, x19 bl memset - b .L1817 -.L1807: + b .L1845 +.L1835: mov x20, -1 - b .L1793 + b .L1821 .size rk_sftl_vendor_storage_ioctl, .-rk_sftl_vendor_storage_ioctl .align 2 .global rk_sftl_vendor_register @@ -12819,179 +12905,179 @@ rk_sftl_vendor_register: .section .rodata .align 3 .set .LANCHOR1,. + 0 - .type __func__.3845, %object - .size __func__.3845, 17 -__func__.3845: + .type __func__.3794, %object + .size __func__.3794, 17 +__func__.3794: .string "INSERT_DATA_LIST" .zero 7 - .type __func__.3840, %object - .size __func__.3840, 17 -__func__.3840: + .type __func__.3789, %object + .size __func__.3789, 17 +__func__.3789: .string "INSERT_FREE_LIST" .zero 7 - .type __func__.3876, %object - .size __func__.3876, 17 -__func__.3876: + .type __func__.3825, %object + .size __func__.3825, 17 +__func__.3825: .string "List_remove_node" .zero 7 - .type __func__.3908, %object - .size __func__.3908, 22 -__func__.3908: + .type __func__.3857, %object + .size __func__.3857, 22 +__func__.3857: .string "List_update_data_list" .zero 2 - .type __func__.4015, %object - .size __func__.4015, 22 -__func__.4015: + .type __func__.3964, %object + .size __func__.3964, 22 +__func__.3964: .string "select_l2p_ram_region" .zero 2 - .type __func__.4338, %object - .size __func__.4338, 16 -__func__.4338: + .type __func__.4287, %object + .size __func__.4287, 16 +__func__.4287: .string "make_superblock" - .type __func__.4513, %object - .size __func__.4513, 19 -__func__.4513: + .type __func__.4462, %object + .size __func__.4462, 19 +__func__.4462: .string "get_new_active_ppa" .zero 5 - .type __func__.16165, %object - .size __func__.16165, 17 -__func__.16165: + .type __func__.16114, %object + .size __func__.16114, 17 +__func__.16114: .string "FlashEraseBlocks" .zero 7 - .type __func__.3950, %object - .size __func__.3950, 26 -__func__.3950: + .type __func__.3899, %object + .size __func__.3899, 26 +__func__.3899: .string "ftl_map_blk_alloc_new_blk" .zero 6 - .type __func__.3383, %object - .size __func__.3383, 11 -__func__.3383: + .type __func__.3404, %object + .size __func__.3404, 11 +__func__.3404: .string "FtlMemInit" .zero 5 - .type __func__.3682, %object - .size __func__.3682, 14 -__func__.3682: + .type __func__.3631, %object + .size __func__.3631, 14 +__func__.3631: .string "FtlBbt2Bitmap" .zero 2 - .type __func__.4359, %object - .size __func__.4359, 18 -__func__.4359: + .type __func__.4308, %object + .size __func__.4308, 18 +__func__.4308: .string "SupperBlkListInit" .zero 6 - .type __func__.16122, %object - .size __func__.16122, 15 -__func__.16122: + .type __func__.16071, %object + .size __func__.16071, 15 +__func__.16071: .string "FlashReadPages" .zero 1 - .type __func__.4127, %object - .size __func__.4127, 14 -__func__.4127: + .type __func__.4076, %object + .size __func__.4076, 14 +__func__.4076: .string "FtlScanSysBlk" .zero 2 - .type __func__.3725, %object - .size __func__.3725, 11 -__func__.3725: + .type __func__.3674, %object + .size __func__.3674, 11 +__func__.3674: .string "FtlLoadBbt" .zero 5 - .type __func__.4184, %object - .size __func__.4184, 15 -__func__.4184: + .type __func__.4133, %object + .size __func__.4133, 15 +__func__.4133: .string "FtlLoadSysInfo" .zero 1 - .type __func__.16141, %object - .size __func__.16141, 15 -__func__.16141: + .type __func__.16090, %object + .size __func__.16090, 15 +__func__.16090: .string "FlashProgPages" .zero 1 - .type __func__.3976, %object - .size __func__.3976, 31 -__func__.3976: + .type __func__.3925, %object + .size __func__.3925, 31 +__func__.3925: .string "Ftl_write_map_blk_to_last_page" .zero 1 - .type __func__.3990, %object - .size __func__.3990, 16 -__func__.3990: + .type __func__.3939, %object + .size __func__.3939, 16 +__func__.3939: .string "FtlMapWritePage" - .type __func__.3917, %object - .size __func__.3917, 16 -__func__.3917: + .type __func__.3866, %object + .size __func__.3866, 16 +__func__.3866: .string "load_l2p_region" - .type __func__.3961, %object - .size __func__.3961, 15 -__func__.3961: + .type __func__.3910, %object + .size __func__.3910, 15 +__func__.3910: .string "ftl_map_blk_gc" .zero 1 - .type __func__.4032, %object - .size __func__.4032, 9 -__func__.4032: + .type __func__.3981, %object + .size __func__.3981, 9 +__func__.3981: .string "log2phys" .zero 7 - .type __func__.4247, %object - .size __func__.4247, 16 -__func__.4247: + .type __func__.4196, %object + .size __func__.4196, 16 +__func__.4196: .string "FtlReUsePrevPpa" - .type __func__.4400, %object - .size __func__.4400, 14 -__func__.4400: + .type __func__.4349, %object + .size __func__.4349, 14 +__func__.4349: .string "ftl_check_vpc" .zero 2 - .type __func__.4485, %object - .size __func__.4485, 25 -__func__.4485: + .type __func__.4434, %object + .size __func__.4434, 25 +__func__.4434: .string "allocate_data_superblock" .zero 7 - .type __func__.4526, %object - .size __func__.4526, 16 -__func__.4526: + .type __func__.4475, %object + .size __func__.4475, 16 +__func__.4475: .string "update_vpc_list" - .type __func__.4533, %object - .size __func__.4533, 20 -__func__.4533: + .type __func__.4482, %object + .size __func__.4482, 20 +__func__.4482: .string "decrement_vpc_count" .zero 4 - .type __func__.4281, %object - .size __func__.4281, 22 -__func__.4281: + .type __func__.4230, %object + .size __func__.4230, 22 +__func__.4230: .string "FtlRecoverySuperblock" .zero 2 - .type __func__.4105, %object - .size __func__.4105, 15 -__func__.4105: + .type __func__.4054, %object + .size __func__.4054, 15 +__func__.4054: .string "FtlVpcTblFlush" .zero 1 - .type __func__.4384, %object - .size __func__.4384, 21 -__func__.4384: + .type __func__.4333, %object + .size __func__.4333, 21 +__func__.4333: .string "FtlVpcCheckAndModify" .zero 3 - .type __func__.4506, %object - .size __func__.4506, 29 -__func__.4506: + .type __func__.4455, %object + .size __func__.4455, 29 +__func__.4455: .string "allocate_new_data_superblock" .zero 3 - .type __func__.3507, %object - .size __func__.3507, 13 -__func__.3507: + .type __func__.3528, %object + .size __func__.3528, 13 +__func__.3528: .string "FtlProgPages" .zero 3 - .type __func__.4603, %object - .size __func__.4603, 19 -__func__.4603: + .type __func__.4552, %object + .size __func__.4552, 19 +__func__.4552: .string "FtlGcFreeTempBlock" .zero 5 - .type __func__.4714, %object - .size __func__.4714, 23 -__func__.4714: + .type __func__.4663, %object + .size __func__.4663, 23 +__func__.4663: .string "rk_ftl_garbage_collect" .zero 1 - .type __func__.3535, %object - .size __func__.3535, 9 -__func__.3535: + .type __func__.3556, %object + .size __func__.3556, 9 +__func__.3556: .string "FtlWrite" .zero 7 - .type __func__.3641, %object - .size __func__.3641, 14 -__func__.3641: + .type __func__.16229, %object + .size __func__.16229, 14 +__func__.16229: .string "FtlWriteToIDB" .zero 2 .type rk_sftl_vendor_storage_fops, %object @@ -13023,7 +13109,7 @@ power_up_flag: rkflash_vender_storage_dev: .word 255 .zero 4 - .xword .LC119 + .xword .LC118 .xword rk_sftl_vendor_storage_fops .zero 56 .bss @@ -13427,9 +13513,9 @@ g_gc_bad_block_gc_index: .zero 2 .zero 4 .type g_nand_ops, %object - .size g_nand_ops, 32 + .size g_nand_ops, 48 g_nand_ops: - .zero 32 + .zero 48 .type req_erase, %object .size req_erase, 8 req_erase: @@ -13806,7 +13892,7 @@ gp_last_act_superblock: .LC69: .string "free %d. [0x%x] 0x%x 0x%x\n" .LC70: - .string "SFTL version: 5.0.48 20180930" + .string "SFTL version: 5.0.49 20181030" .LC71: .string "%s\n" .LC72: @@ -13896,12 +13982,10 @@ gp_last_act_superblock: .LC114: .string "FtlWrite: lpa error:%x %x\n" .LC115: - .string "write_idblock fix data %x %x %x\n" -.LC116: .string "write_idblock fail! %x %x %x %x\n" -.LC117: +.LC116: .string "%s idb buffer alloc fail\n" -.LC118: +.LC117: .string "%p %x %p %x\n" -.LC119: +.LC118: .string "vendor_storage"