From 911b15f3de4851e622b4efe236a18970bd91085f Mon Sep 17 00:00:00 2001 From: Yifeng Zhao Date: Wed, 30 May 2018 11:54:34 +0800 Subject: [PATCH] drivers: rk_nand: fix update loader fail issue patch for arm aarch32 and aarch64. bug: The NAND driver will write data to the wrong address with 2K page size SLC NAND FLASH. [ 14.047987] IDBlockWriteData 100 100 [ 14.074717] IDBlockWriteData 100 100 ret= 0 [ 14.075091] IdBlockReadData 100 100 [ 14.084396] IdBlockReadData 100 100 ret= 0 [ 14.084777] write and check error:1 idb=1,offset=86,r=238,w=40238 Change-Id: I2d635d0939edb2b2674c37898d5afd668da2ae5a Signed-off-by: Yifeng Zhao --- drivers/rk_nand/rk_ftl_arm_v7.S | 14581 +++++++++++++------------- drivers/rk_nand/rk_ftlv5_arm64.S | 7093 +++++++------ drivers/rk_nand/rk_zftl_arm64.S | 15793 +++++++++++++++-------------- 3 files changed, 19067 insertions(+), 18400 deletions(-) diff --git a/drivers/rk_nand/rk_ftl_arm_v7.S b/drivers/rk_nand/rk_ftl_arm_v7.S index 2bc222088867..48e6735fedd7 100644 --- a/drivers/rk_nand/rk_ftl_arm_v7.S +++ b/drivers/rk_nand/rk_ftl_arm_v7.S @@ -5,7 +5,7 @@ * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. - * date: 2018-05-28 + * date: 2018-05-30 */ .arch armv7-a .fpu softvfp @@ -1823,33 +1823,42 @@ ftl_flash_de_init: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - stmfd sp!, {r4, lr} - .save {r4, lr} + stmfd sp!, {r3, r4, r5, lr} + .save {r3, r4, r5, lr} mov r0, #0 - ldr r4, .L245 + ldr r4, .L246 bl NandcWaitFlashReady bl FlashSetReadRetryDefault - ldrb r3, [r4, #3773] @ zero_extendqisi2 + ldr r3, .L246+4 + ldr r2, [r4, #3776] + cmp r2, r3 + bne .L244 + mov r0, #0 + bl flash_enter_slc_mode +.L244: + ldrb r3, [r4, #3780] @ zero_extendqisi2 + ldr r5, .L246 cmp r3, #0 - beq .L244 - ldrb r3, [r4, #3772] @ zero_extendqisi2 + beq .L245 + ldrb r3, [r5, #3772] @ zero_extendqisi2 tst r3, #1 - beq .L244 + beq .L245 mov r0, #1 bl FlashSetInterfaceMode mov r0, #1 bl NandcSetMode mov r3, #0 - strb r3, [r4, #3773] -.L244: + strb r3, [r5, #3780] +.L245: ldr r3, [r4, #864] mov r0, #0 str r0, [r3, #336] - ldmfd sp!, {r4, pc} -.L246: + ldmfd sp!, {r3, r4, r5, pc} +.L247: .align 2 -.L245: +.L246: .word .LANCHOR0 + .word 1446522928 .fnend .size ftl_flash_de_init, .-ftl_flash_de_init .align 2 @@ -1859,7 +1868,7 @@ FlashReadDpCmd: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L251 + ldr r3, .L252 stmfd sp!, {r4, r5, r6, r7, r8, lr} .save {r4, r5, r6, r7, r8, lr} mov r7, r2 @@ -1874,7 +1883,7 @@ FlashReadDpCmd: ldrb r2, [r3, #904] @ zero_extendqisi2 add r6, r1, r6, asl #8 str r2, [r6, #8] - bne .L248 + bne .L249 mov r8, #0 uxtb r2, r5 str r8, [r6, #4] @@ -1890,8 +1899,8 @@ FlashReadDpCmd: str r8, [r6, #8] str r8, [r6, #4] str r8, [r6, #4] - b .L250 -.L248: + b .L251 +.L249: uxtb r2, r5 str r2, [r6, #4] mov r2, r5, lsr #8 @@ -1900,7 +1909,7 @@ FlashReadDpCmd: str r2, [r6, #4] ldrb r3, [r3, #905] @ zero_extendqisi2 str r3, [r6, #8] -.L250: +.L251: uxtb r3, r7 mov r0, r4 str r3, [r6, #4] @@ -1913,9 +1922,9 @@ FlashReadDpCmd: str r3, [r6, #8] ldmfd sp!, {r4, r5, r6, r7, r8, lr} b FlashSetRandomizer -.L252: +.L253: .align 2 -.L251: +.L252: .word .LANCHOR0 .fnend .size FlashReadDpCmd, .-FlashReadDpCmd @@ -1927,14 +1936,14 @@ NandcRandmzSel: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L254 + ldr r3, .L255 add r3, r3, r0, asl #3 ldr r3, [r3, #864] str r1, [r3, #336] bx lr -.L255: +.L256: .align 2 -.L254: +.L255: .word .LANCHOR0 .fnend .size NandcRandmzSel, .-NandcRandmzSel @@ -1951,36 +1960,36 @@ NandcTimeCfg: mov r4, r0 mov r0, #0 bl rknand_get_clk_rate - ldr r1, .L266 + ldr r1, .L267 bl __aeabi_idiv - ldr r3, .L266+4 + ldr r3, .L267+4 ldr r3, [r3, #3012] cmp r0, #250 movwgt r2, #8354 - bgt .L264 - cmp r0, #220 bgt .L265 -.L259: + cmp r0, #220 + bgt .L266 +.L260: cmp r0, #185 movwgt r2, #4226 - bgt .L264 + bgt .L265 cmp r0, #160 movwgt r2, #4194 - bgt .L264 + bgt .L265 cmp r4, #35 movwls r2, #4193 - bls .L264 + bls .L265 cmp r4, #99 movwls r2, #4225 - bls .L264 -.L265: + bls .L265 +.L266: movw r2, #8322 -.L264: +.L265: str r2, [r3, #4] ldmfd sp!, {r4, pc} -.L267: +.L268: .align 2 -.L266: +.L267: .word 1000000 .word .LANCHOR0 .fnend @@ -1995,7 +2004,7 @@ NandcInit: stmfd sp!, {r3, r4, r5, lr} .save {r3, r4, r5, lr} mov r2, #0 - ldr r4, .L270 + ldr r4, .L271 mov r3, #1 mov r5, #0 str r0, [r4, #3012] @@ -2015,15 +2024,15 @@ NandcInit: bfi r3, r2, #13, #1 ldr r2, [r0, #352] orr r3, r3, #256 - str r1, [r4, #3776] + str r1, [r4, #3784] movw r1, #2049 ubfx r2, r2, #16, #4 - str r2, [r4, #3780] + str r2, [r4, #3788] ldr r2, [r0, #352] cmp r2, r1 - str r2, [r4, #3784] + str r2, [r4, #3776] moveq r2, #8 - streq r2, [r4, #3780] + streq r2, [r4, #3788] str r3, [r0, #0] mov r0, #40 ldr r3, [r4, #3012] @@ -2033,19 +2042,19 @@ NandcInit: movw r2, #8322 mov r0, #36864 str r2, [r3, #344] - ldr r2, .L270+4 + ldr r2, .L271+4 str r2, [r3, #304] bl ftl_malloc - str r5, [r4, #3816] - str r5, [r4, #3824] - str r0, [r4, #3788] + str r5, [r4, #3820] + str r5, [r4, #3828] str r0, [r4, #3792] - add r0, r0, #32768 str r0, [r4, #3796] + add r0, r0, #32768 + str r0, [r4, #3800] ldmfd sp!, {r3, r4, r5, pc} -.L271: +.L272: .align 2 -.L270: +.L271: .word .LANCHOR0 .word 1710593 .fnend @@ -2063,23 +2072,23 @@ FlashTimingCfg: sub r3, r3, #33 cmp r0, r2 cmpne r3, #1 - bls .L273 + bls .L274 movw r3, #4226 movw r2, #8322 cmp r0, r3 cmpne r0, r2 - bne .L274 -.L273: - ldr r3, .L275 + bne .L275 +.L274: + ldr r3, .L276 ldr r3, [r3, #3012] str r0, [r3, #4] -.L274: - ldr r3, .L275+4 +.L275: + ldr r3, .L276+4 ldrb r0, [r3, #2913] @ zero_extendqisi2 b NandcTimeCfg -.L276: +.L277: .align 2 -.L275: +.L276: .word .LANCHOR0 .word .LANCHOR1 .fnend @@ -2091,7 +2100,7 @@ NandcGetTimeCfg: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr ip, .L278 + ldr ip, .L279 stmfd sp!, {r4, lr} .save {r4, lr} ldr r4, [ip, #3012] @@ -2110,9 +2119,9 @@ NandcGetTimeCfg: orr r2, r2, r1, asl #16 str r2, [r3, #0] ldmfd sp!, {r4, pc} -.L279: +.L280: .align 2 -.L278: +.L279: .word .LANCHOR0 .fnend .size NandcGetTimeCfg, .-NandcGetTimeCfg @@ -2124,34 +2133,34 @@ NandcBchSel: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L285 + ldr r3, .L286 mov r1, #1 ldr r2, [r3, #3012] - str r0, [r3, #3828] + str r0, [r3, #3832] mov r3, #0 str r1, [r2, #8] mov r1, #16 cmp r0, r1 bfi r3, r1, #8, #8 bfc r3, #18, #1 - beq .L284 -.L281: + beq .L285 +.L282: cmp r0, #24 orreq r3, r3, #16 - beq .L282 + beq .L283 cmp r0, #40 orr r3, r3, #262144 orr r3, r3, #16 - bne .L282 -.L284: + bne .L283 +.L285: bfc r3, #4, #1 -.L282: +.L283: orr r3, r3, #1 str r3, [r2, #12] bx lr -.L286: +.L287: .align 2 -.L285: +.L286: .word .LANCHOR0 .fnend .size NandcBchSel, .-NandcBchSel @@ -2163,12 +2172,12 @@ FlashBchSel: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L288 - strb r0, [r3, #3832] + ldr r3, .L289 + strb r0, [r3, #3836] b NandcBchSel -.L289: +.L290: .align 2 -.L288: +.L289: .word .LANCHOR0 .fnend .size FlashBchSel, .-FlashBchSel @@ -2179,14 +2188,14 @@ ftl_flash_resume: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L295 + ldr r3, .L296 stmfd sp!, {r4, r5, r6, lr} .save {r4, r5, r6, lr} mov r4, #0 ldr r2, [r3, #3012] ldr r1, [r3, #3016] ldr r5, [r3, #3032] - ldr r6, .L295+4 + ldr r6, .L296+4 str r1, [r2, #0] ldr r1, [r3, #3020] ldr r2, [r3, #3012] @@ -2202,22 +2211,22 @@ ftl_flash_resume: ldr r3, [r3, #3044] str r1, [r2, #336] str r3, [r2, #344] -.L292: +.L293: ldrb r3, [r6, r4, asl #3] @ zero_extendqisi2 sub r3, r3, #1 uxtb r3, r3 cmp r3, #253 - bhi .L291 + bhi .L292 uxtb r0, r4 bl FlashReset -.L291: +.L292: add r4, r4, #1 cmp r4, #4 - bne .L292 - ldr r4, .L295 - ldrb r3, [r4, #3773] @ zero_extendqisi2 + bne .L293 + ldr r4, .L296 + ldrb r3, [r4, #3780] @ zero_extendqisi2 cmp r3, #0 - beq .L293 + beq .L294 mov r0, #1 bl NandcSetMode ldrb r0, [r4, #3772] @ zero_extendqisi2 @@ -2226,15 +2235,15 @@ ftl_flash_resume: bl NandcSetMode ubfx r0, r5, #8, #8 bl NandcSetDdrPara -.L293: - ldr r3, .L295 +.L294: + ldr r3, .L296 ldr r3, [r3, #3624] ldrb r0, [r3, #20] @ zero_extendqisi2 ldmfd sp!, {r4, r5, r6, lr} b FlashBchSel -.L296: +.L297: .align 2 -.L295: +.L296: .word .LANCHOR0 .word .LANCHOR0+2980 .fnend @@ -2290,11 +2299,11 @@ NandcIqrWaitFlashReady: and r3, r3, #2 uxtb r3, r3 cmp r3, #0 - bne .L300 + bne .L301 mov r0, r4 ldmfd sp!, {r4, lr} b wait_for_nand_flash_ready -.L300: +.L301: ldr r3, [r4, #368] orr r3, r3, #2 str r3, [r4, #368] @@ -2315,18 +2324,18 @@ FlashEraseBlocks: .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} .pad #28 sub sp, sp, #28 - ldr r5, .L321 + ldr r5, .L322 mov r6, r0 str r1, [sp, #12] mov r7, r2 ldrb r4, [r5, #852] @ zero_extendqisi2 cmp r4, #0 moveq r9, r5 - beq .L302 + beq .L303 mov r1, r2 bl FlashEraseSLc2KBlocks - b .L303 -.L311: + b .L304 +.L312: mov r8, #36 rsb r3, r4, r7 mul r8, r8, r4 @@ -2344,17 +2353,17 @@ FlashEraseBlocks: cmp r0, r3 mvncs r3, #0 strcs r3, [r6, r8] - bcs .L305 - ldrb r3, [r5, #3833] @ zero_extendqisi2 + bcs .L306 + ldrb r3, [r5, #3837] @ zero_extendqisi2 cmp r3, #0 add r3, r9, r0, asl #4 ldr r3, [r3, #3636] moveq sl, #0 cmp r3, #0 - beq .L307 + beq .L308 uxtb r0, r0 bl FlashWaitCmdDone -.L307: +.L308: ldr r2, [sp, #20] mov r1, #0 cmp sl, #0 @@ -2376,15 +2385,15 @@ FlashEraseBlocks: ldr r3, [sp, #12] mov r0, r8 cmp r3, #1 - bne .L309 + bne .L310 ldrb r3, [r5, #928] @ zero_extendqisi2 cmp r3, #0 - beq .L309 + beq .L310 bl flash_enter_slc_mode - b .L310 -.L309: - bl flash_exit_slc_mode + b .L311 .L310: + bl flash_exit_slc_mode +.L311: ldr r3, [sp, #20] mov r0, r8 ldr r1, [sp, #16] @@ -2400,59 +2409,59 @@ FlashEraseBlocks: bl FlashEraseCmd mov r0, r8 bl NandcFlashDeCs -.L305: +.L306: add r4, r4, #1 -.L302: +.L303: cmp r4, r7 - bcc .L311 - ldr r5, .L321 + bcc .L312 + ldr r5, .L322 mov r4, #0 - ldr r8, .L321+4 + ldr r8, .L322+4 ldr r0, [r5, #3012] bl NandcIqrWaitFlashReady - b .L312 -.L314: + b .L313 +.L315: uxtb r0, r4 bl FlashWaitCmdDone ldr r3, [sp, #12] cmp r3, #1 - bne .L313 + bne .L314 ldrb r3, [r5, #928] @ zero_extendqisi2 cmp r3, #0 - beq .L313 + beq .L314 ldrb r0, [r8, r4, asl #4] @ zero_extendqisi2 bl flash_exit_slc_mode -.L313: +.L314: add r4, r4, #1 -.L312: +.L313: ldrb r2, [r5, #3762] @ zero_extendqisi2 - ldr r3, .L321 + ldr r3, .L322 cmp r4, r2 - bcc .L314 - ldr r0, [r3, #3836] + bcc .L315 + ldr r0, [r3, #3840] cmp r0, #0 - beq .L303 + beq .L304 ldrb r3, [r3, #2980] @ zero_extendqisi2 cmp r3, #69 moveq r3, #0 moveq r2, r3 - bne .L320 - b .L315 -.L316: + bne .L321 + b .L316 +.L317: add r3, r3, #1 str r2, [r6, #-36] -.L315: +.L316: cmp r3, r7 add r6, r6, #36 - bne .L316 -.L320: + bne .L317 +.L321: mov r0, #0 -.L303: +.L304: add sp, sp, #28 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L322: +.L323: .align 2 -.L321: +.L322: .word .LANCHOR0 .word .LANCHOR0+3628 .fnend @@ -2485,7 +2494,7 @@ NandcSendDumpDataStart: ldr r2, [r0, #16] .pad #8 sub sp, sp, #8 - ldr r3, .L325 + ldr r3, .L326 str r2, [sp, #4] ldr r2, [sp, #4] bfc r2, #2, #1 @@ -2497,9 +2506,9 @@ NandcSendDumpDataStart: str r3, [r0, #8] add sp, sp, #8 bx lr -.L326: +.L327: .align 2 -.L325: +.L326: .word 538969130 .fnend .size NandcSendDumpDataStart, .-NandcSendDumpDataStart @@ -2513,12 +2522,12 @@ NandcSendDumpDataDone: @ link register save eliminated. .pad #8 sub sp, sp, #8 -.L328: +.L329: ldr r3, [r0, #8] str r3, [sp, #4] ldr r3, [sp, #4] tst r3, #1048576 - beq .L328 + beq .L329 add sp, sp, #8 bx lr .fnend @@ -2533,7 +2542,7 @@ NandcXferStart: stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} mov r6, r1 - ldr r1, .L343 + ldr r1, .L344 mov r8, r2 mov r4, #0 .pad #20 @@ -2556,9 +2565,9 @@ NandcXferStart: mov r3, r3, lsr r2 orr r4, r4, #1024 bfi r4, r3, #4, #1 - ldr r3, [r1, #3780] + ldr r3, [r1, #3788] cmp r3, #3 - bls .L331 + bls .L332 ldr r3, [r5, #16] cmp r9, #0 cmpeq ip, #0 @@ -2566,10 +2575,10 @@ NandcXferStart: ldr r3, [sp, #12] bfc r3, #2, #1 str r3, [sp, #12] - beq .L332 - cmp r6, #0 beq .L333 - ldr r3, [r1, #3828] + cmp r6, #0 + beq .L334 + ldr r3, [r1, #3832] mov r0, ip cmp r3, #24 movhi r3, #128 @@ -2579,26 +2588,26 @@ NandcXferStart: str r3, [sp, #4] mov r3, #0 mov r2, r3 - b .L335 -.L338: + b .L336 +.L339: cmp ip, #0 mov lr, r3, lsr #2 add r2, r2, #1 ldrneh fp, [r0, #2] mvneq fp, #0 ldrneh sl, [r0], #4 - ldreq sl, [r1, #3796] + ldreq sl, [r1, #3800] orrne sl, sl, fp, asl #16 - ldrne fp, [r1, #3796] + ldrne fp, [r1, #3800] streq fp, [sl, lr, asl #2] strne sl, [fp, lr, asl #2] ldr lr, [sp, #0] add r3, r3, lr -.L335: +.L336: ldr sl, [sp, #4] cmp r2, sl - bcc .L338 -.L333: + bcc .L339 +.L334: mov r0, r5 add r8, r8, #1 bl rk_nandc_xfer_irq_flag_init @@ -2606,34 +2615,34 @@ NandcXferStart: mov r8, r8, asr #1 cmp r9, #0 bfi r4, r8, #22, #6 - ldr r8, .L343 + ldr r8, .L344 orr r3, r3, #1 str r3, [r5, #368] ldr r3, [r5, #364] ubfx sl, r4, #22, #5 - ldreq r0, [r8, #3792] + ldreq r0, [r8, #3796] movne r0, r9 orr r3, r3, #1 str r3, [r5, #364] - ldr r3, [r8, #3796] + ldr r3, [r8, #3800] mov r2, r6 mov r1, sl, asl #10 - str r3, [r8, #3804] - str r0, [r8, #3800] + str r3, [r8, #3808] + str r0, [r8, #3804] bl rknand_dma_map_single mov r2, r6 mov r1, sl, asl #7 - str r0, [r8, #3808] - ldr r0, [r8, #3804] + str r0, [r8, #3812] + ldr r0, [r8, #3808] bl rknand_dma_map_single mov r3, #1 - str r3, [r8, #3816] + str r3, [r8, #3820] mov r2, #16 - ldr r3, [r8, #3808] - tst r9, #3 - str r0, [r8, #3812] - str r3, [r5, #20] ldr r3, [r8, #3812] + tst r9, #3 + str r0, [r8, #3816] + str r3, [r5, #20] + ldr r3, [r8, #3816] str r3, [r5, #24] mov r3, #0 str r3, [sp, #12] @@ -2658,19 +2667,19 @@ NandcXferStart: ldr r3, [sp, #12] orr r3, r3, #1 str r3, [sp, #12] -.L332: +.L333: ldr r3, [sp, #12] str r3, [r5, #16] -.L331: +.L332: str r7, [r5, #12] str r4, [r5, #8] orr r4, r4, #4 str r4, [r5, #8] add sp, sp, #20 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L344: +.L345: .align 2 -.L343: +.L344: .word .LANCHOR0 .fnend .size NandcXferStart, .-NandcXferStart @@ -2689,14 +2698,14 @@ NandcCopy1KB: mov r4, r0 ldr r6, [sp, #16] add r2, r2, r5, asl #9 - bne .L346 + bne .L347 cmp r3, #0 - beq .L347 + beq .L348 mov r0, r2 mov r1, r3 mov r2, #1024 bl memcpy -.L347: +.L348: cmp r6, #0 ldmeqfd sp!, {r4, r5, r6, pc} ldrb r3, [r6, #2] @ zero_extendqisi2 @@ -2714,14 +2723,14 @@ NandcCopy1KB: add r5, r5, #128 str r3, [r4, r5, asl #2] ldmfd sp!, {r4, r5, r6, pc} -.L346: +.L347: cmp r3, #0 - beq .L349 + beq .L350 mov r1, r2 mov r0, r3 mov r2, #1024 bl memcpy -.L349: +.L350: cmp r6, #0 ldmeqfd sp!, {r4, r5, r6, pc} mov r5, r5, lsr #1 @@ -2750,14 +2759,14 @@ Ftl_log2: @ link register save eliminated. mov r2, #1 mov r3, #0 - b .L351 -.L352: + b .L352 +.L353: add r3, r3, #1 mov r2, r2, asl #1 uxth r3, r3 -.L351: +.L352: cmp r2, r0 - bls .L352 + bls .L353 sub r3, r3, #1 uxth r0, r3 bx lr @@ -2782,27 +2791,27 @@ FtlSysBlkNumInit: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L357 - movw r2, #3844 + ldr r3, .L358 + movw r2, #3848 cmp r0, #23 - movw r1, #3854 + movw r1, #3858 ldrh r2, [r3, r2] movls r0, #24 ldrh r1, [r3, r1] - str r0, [r3, #3840] + str r0, [r3, #3844] mul r2, r2, r0 rsb r0, r0, r1 - movw r1, #3852 + mov r1, #3856 strh r0, [r3, r1] @ movhi mov r0, #0 - ldr r1, [r3, #3860] - str r2, [r3, #3848] + ldr r1, [r3, #3864] + str r2, [r3, #3852] rsb r2, r2, r1 - str r2, [r3, #3856] + str r2, [r3, #3860] bx lr -.L358: +.L359: .align 2 -.L357: +.L358: .word .LANCHOR0 .fnend .size FtlSysBlkNumInit, .-FtlSysBlkNumInit @@ -2815,8 +2824,8 @@ FtlConstantsInit: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} - movw r2, #3864 - ldr r3, .L376 + movw r2, #3868 + ldr r3, .L377 mov r4, r0 ldrh lr, [r0, #8] .pad #20 @@ -2827,22 +2836,22 @@ FtlConstantsInit: add r2, r2, #2 ldrh r6, [r4, #14] strh r1, [r3, r2] @ movhi - add r2, r2, #2 + mov r2, #3872 strh r0, [r3, r2] @ movhi - movw r2, #3854 + movw r2, #3858 strh r6, [r3, r2] @ movhi mov r3, #0 - ldr r2, .L376+4 -.L360: + ldr r2, .L377+4 +.L361: strb r3, [r3, r2] add r3, r3, #1 cmp r3, #32 - bne .L360 + bne .L361 ldrh r2, [r4, #14] ldrh r3, [r4, #20] cmp r3, r2, lsr #8 - bcs .L361 - ldr r2, .L376+4 + bcs .L362 + ldr r2, .L377+4 sub ip, r1, #1 uxtb r7, r0 mov r3, #0 @@ -2852,22 +2861,22 @@ FtlConstantsInit: mov r8, r7, asl #1 uxtb r8, r8 str ip, [sp, #12] - b .L362 -.L363: + b .L363 +.L364: strb ip, [r9, r2] add fp, ip, r7 add ip, ip, r8 add r5, r5, #1 strb fp, [sl, r2] uxtb ip, ip -.L365: +.L366: cmp r5, r1 add r2, r2, r0 - bcc .L363 + bcc .L364 add r3, r3, #1 -.L362: +.L363: cmp r3, r0 - bcs .L364 + bcs .L365 ldr fp, [sp, #8] mov r2, #0 uxtb ip, r3 @@ -2875,37 +2884,37 @@ FtlConstantsInit: add r9, fp, r3 ldr fp, [sp, #12] add sl, fp, r3 - b .L365 -.L364: - ldr r3, .L376 - movw r2, #3866 + b .L366 +.L365: + ldr r3, .L377 + movw r2, #3870 mov r1, r1, asl #1 mov r6, r6, lsr #1 strh r1, [r3, r2] @ movhi - movw r2, #3854 + movw r2, #3858 strh r6, [r3, r2] @ movhi -.L361: - ldr r3, .L376 - movw r2, #3902 +.L362: + ldr r3, .L377 + movw r2, #3906 cmp lr, #1 mov r1, #5 mov ip, #0 - ldr sl, .L376 + ldr sl, .L377 ldrb r8, [r3, #852] @ zero_extendqisi2 strh r1, [r3, r2] @ movhi - mov r1, #3904 + movw r1, #3908 streqh lr, [r3, r2] @ movhi cmp r8, #0 - movw r2, #3906 + movw r2, #3910 strh ip, [r3, r1] @ movhi mov r1, #4352 strh r1, [r3, r2] @ movhi - ldrne r3, .L376 + ldrne r3, .L377 movne r1, #384 strneh r1, [r3, r2] @ movhi - movw r3, #3866 + movw r3, #3870 ldrh r5, [sl, r3] - movw r3, #3844 + movw r3, #3848 mul r5, r5, r0 uxth r5, r5 strh r5, [sl, r3] @ movhi @@ -2916,9 +2925,9 @@ FtlConstantsInit: uxth r0, r0 strh r0, [sl, r3] @ movhi bl Ftl_log2 - movw r3, #3910 + movw r3, #3914 ldrh fp, [r4, #18] - movw r2, #3912 + movw r2, #3916 ldrh r9, [r4, #20] strh r0, [sl, r3] @ movhi mov r0, r9 @@ -2927,14 +2936,14 @@ FtlConstantsInit: strh r3, [sl, r2] @ movhi add r2, r2, #2 strh fp, [sl, r2] @ movhi - add r2, r2, #2 + mov r2, #3920 strh r1, [sl, r2] @ movhi add r2, r2, #2 strh r9, [sl, r2] @ movhi str r3, [sp, #4] bl Ftl_log2 - mov r2, #3920 - movw r1, #3922 + movw r2, #3924 + movw r1, #3926 cmp r6, #1024 strh r0, [sl, r2] @ movhi mov r2, r9, asl #9 @@ -2944,17 +2953,16 @@ FtlConstantsInit: add r1, r1, #2 mov r2, r2, lsr #8 strh r2, [sl, r1] @ movhi - movw r2, #3926 + movw r2, #3930 ldrh r1, [r4, #26] mov r4, sl strh r1, [sl, r2] @ movhi uxtbhi r1, r6 mul r2, r6, r5 - str r2, [sl, #3860] - movhi r2, #3904 + str r2, [sl, #3864] + movw r2, #3908 ldr r3, [sp, #4] strhih r1, [sl, r2] @ movhi - mov r2, #3904 ldrh r2, [sl, r2] mul r1, fp, r9 rsb r2, r2, r6 @@ -2963,17 +2971,17 @@ FtlConstantsInit: mul r2, r9, r2 mul r3, r3, r2 mov r3, r3, asr #11 - str r3, [sl, #3928] - movw sl, #3906 + str r3, [sl, #3932] + movw sl, #3910 ldrh r0, [r4, sl] mov r0, r0, asl #3 bl __aeabi_idiv - movw r3, #3932 + mov r3, #3936 uxth r0, r0 strh r0, [r4, r3] @ movhi cmp r0, #4 - ldr r4, .L376 - ldrls r2, .L376 + ldr r4, .L377 + ldrls r2, .L377 movls r1, #4 strlsh r1, [r2, r3] @ movhi cmp r8, #0 @@ -2981,78 +2989,78 @@ FtlConstantsInit: movne r3, #640 strneh r3, [r4, sl] @ movhi ldrh r2, [r4, sl] - movw r3, #3934 + movw r3, #3938 mov r2, r2, asr r7 add r7, r7, #9 mov r6, r6, asr r7 add r2, r2, #2 strh r2, [r4, r3] @ movhi - mov r3, #3936 + add r3, r3, #2 uxth r6, r6 strh r6, [r4, r3] @ movhi mul r3, r5, r6 add r6, r6, #8 - str r3, [r4, #3940] - movw r3, #3932 + str r3, [r4, #3944] + mov r3, #3936 ldrh r0, [r4, r3] bl __aeabi_uidiv cmp r5, #1 - ldreq r3, .L376 + ldreq r3, .L377 uxtah r6, r6, r0 - str r6, [r4, #3840] - ldr r4, .L376 + str r6, [r4, #3844] + ldr r4, .L377 addeq r6, r6, #4 - streq r6, [r3, #3840] - ldr r0, [r4, #3840] + streq r6, [r3, #3844] + ldr r0, [r4, #3844] uxth r0, r0 bl FtlSysBlkNumInit - ldr r3, [r4, #3840] - ldr r6, [r4, #3856] + ldr r3, [r4, #3844] + ldr r6, [r4, #3860] mov r0, #2048 - str r3, [r4, #3944] - movw r3, #3912 + str r3, [r4, #3948] + movw r3, #3916 ldrh r3, [r4, r3] mov r6, r6, asl #2 mul r6, r3, r6 - mov r3, #3920 + movw r3, #3924 ldrh r3, [r4, r3] add r3, r3, #9 mov r6, r6, lsr r3 - movw r3, #3948 + mov r3, #3952 add r6, r6, #2 uxth r6, r6 strh r6, [r4, r3] @ movhi - movw r3, #3918 + movw r3, #3922 ldrh r5, [r4, r3] mov r1, r5 bl __aeabi_idiv - movw r3, #3950 + movw r3, #3954 ldrb ip, [r4, #928] @ zero_extendqisi2 - ldr r1, [r4, #3940] + ldr r1, [r4, #3944] cmp ip, #0 strh r0, [r4, r3] @ movhi mov r3, #0 - str r3, [r4, #3952] - movw r3, #3932 + str r3, [r4, #3956] + mov r3, #3936 ldrh r0, [r4, r3] add r2, r0, #3 strh r2, [r4, r3] @ movhi add r2, r1, #3 - str r2, [r4, #3940] + str r2, [r4, #3944] addne r0, r0, #4 addne r1, r1, #5 strneh r0, [r4, r3] @ movhi - strne r1, [r4, #3940] - bne .L373 -.L372: + strne r1, [r4, #3944] + bne .L374 +.L373: cmp r2, #7 movls r3, #8 - strls r3, [r4, #3940] -.L373: - movw r3, #3956 + strls r3, [r4, #3944] +.L374: + movw r3, #3960 mov r2, #0 strh r2, [r4, r3] @ movhi - movw r2, #3852 + mov r2, #3856 ldrh r2, [r4, r2] mov r0, #0 mov r1, r2, lsr #3 @@ -3060,16 +3068,16 @@ FtlConstantsInit: add r2, r2, #52 add r6, r2, r6, asl #2 cmp r6, r5, asl #9 - ldrcc r2, .L376 + ldrcc r2, .L377 movcc r1, #1 strcch r1, [r2, r3] @ movhi add sp, sp, #20 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L377: +.L378: .align 2 -.L376: +.L377: .word .LANCHOR0 - .word .LANCHOR0+3870 + .word .LANCHOR0+3874 .fnend .size FtlConstantsInit, .-FtlConstantsInit .align 2 @@ -3080,36 +3088,36 @@ IsBlkInVendorPart: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L385 - movw r2, #3958 + ldr r3, .L386 + movw r2, #3962 ldrh r2, [r3, r2] cmp r2, #0 - beq .L383 - movw r2, #3932 + beq .L384 + mov r2, #3936 ldrh r1, [r3, r2] - ldr r2, [r3, #3960] + ldr r2, [r3, #3964] mov r3, #0 - b .L380 -.L382: + b .L381 +.L383: ldrh ip, [r2], #2 cmp ip, r0 - beq .L384 + beq .L385 add r3, r3, #1 uxth r3, r3 -.L380: +.L381: cmp r3, r1 - bne .L382 + bne .L383 mov r0, #0 bx lr -.L384: +.L385: mov r0, #1 bx lr -.L383: +.L384: mov r0, r2 bx lr -.L386: +.L387: .align 2 -.L385: +.L386: .word .LANCHOR0 .fnend .size IsBlkInVendorPart, .-IsBlkInVendorPart @@ -3120,36 +3128,36 @@ FtlCacheMetchLpa: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r2, .L395 + ldr r2, .L396 stmfd sp!, {r4, lr} .save {r4, lr} - ldr r3, [r2, #3964] + ldr r3, [r2, #3968] cmp r3, #0 - beq .L392 - ldr ip, [r2, #3968] + beq .L393 + ldr ip, [r2, #3972] mov r2, #0 -.L391: +.L392: ldr r4, [ip, #16] cmp r4, r0 - bcc .L389 + bcc .L390 cmp r4, r1 - bls .L393 -.L389: + bls .L394 +.L390: add r2, r2, #1 add ip, ip, #36 cmp r2, r3 - bne .L391 + bne .L392 mov r0, #0 ldmfd sp!, {r4, pc} -.L393: +.L394: mov r0, #1 ldmfd sp!, {r4, pc} -.L392: +.L393: mov r0, r3 ldmfd sp!, {r4, pc} -.L396: +.L397: .align 2 -.L395: +.L396: .word .LANCHOR0 .fnend .size FtlCacheMetchLpa, .-FtlCacheMetchLpa @@ -3161,12 +3169,12 @@ FtlGetCap: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L398 - ldr r0, [r3, #3952] + ldr r3, .L399 + ldr r0, [r3, #3956] bx lr -.L399: +.L400: .align 2 -.L398: +.L399: .word .LANCHOR0 .fnend .size FtlGetCap, .-FtlGetCap @@ -3178,12 +3186,12 @@ ftl_get_density: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L401 - ldr r0, [r3, #3952] + ldr r3, .L402 + ldr r0, [r3, #3956] bx lr -.L402: +.L403: .align 2 -.L401: +.L402: .word .LANCHOR0 .fnend .size ftl_get_density, .-ftl_get_density @@ -3195,12 +3203,12 @@ FtlGetLpn: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L404 - ldr r0, [r3, #3972] + ldr r3, .L405 + ldr r0, [r3, #3976] bx lr -.L405: +.L406: .align 2 -.L404: +.L405: .word .LANCHOR0 .fnend .size FtlGetLpn, .-FtlGetLpn @@ -3213,8 +3221,8 @@ FtlBbmMapBadBlock: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r0, r1, r4, r5, r6, lr} .save {r0, r1, r4, r5, r6, lr} - movw r3, #3908 - ldr r4, .L407 + movw r3, #3912 + ldr r4, .L408 mov r5, r0 ldrh r6, [r4, r3] mov r1, r6 @@ -3223,7 +3231,7 @@ FtlBbmMapBadBlock: mls r3, r6, r2, r5 add r1, r4, r2, asl #2 mov r6, #1 - ldr r0, [r1, #4004] + ldr r0, [r1, #4008] uxth r3, r3 and r1, r3, #31 mov ip, r3, lsr #5 @@ -3232,17 +3240,17 @@ FtlBbmMapBadBlock: str r1, [r0, ip, asl #2] str r1, [sp, #0] mov r1, r5 - ldr r0, .L407+4 + ldr r0, .L408+4 bl printk - movw r3, #3982 + movw r3, #3986 ldrh r2, [r4, r3] mov r0, #0 add r2, r2, r6 strh r2, [r4, r3] @ movhi ldmfd sp!, {r2, r3, r4, r5, r6, pc} -.L408: +.L409: .align 2 -.L407: +.L408: .word .LANCHOR0 .word .LC3 .fnend @@ -3257,8 +3265,8 @@ FtlBbmIsBadBlock: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r3, r4, r5, r6, r7, lr} .save {r3, r4, r5, r6, r7, lr} - movw r3, #3908 - ldr r5, .L410 + movw r3, #3912 + ldr r5, .L411 mov r7, r0 ldrh r6, [r5, r3] mov r1, r6 @@ -3271,14 +3279,14 @@ FtlBbmIsBadBlock: and r4, r4, #31 uxth r0, r0 add r5, r5, r0, asl #2 - ldr r3, [r5, #4004] + ldr r3, [r5, #4008] ldr r0, [r3, r2, asl #2] mov r0, r0, lsr r4 and r0, r0, #1 ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L411: +.L412: .align 2 -.L410: +.L411: .word .LANCHOR0 .fnend .size FtlBbmIsBadBlock, .-FtlBbmIsBadBlock @@ -3304,11 +3312,11 @@ FtlBbtCalcTotleCnt: .save {r4, r5, r6, r7, r8, lr} mov r4, #0 mov r5, r4 - ldr r6, .L417 - movw r8, #3908 - movw r7, #3866 - b .L414 -.L416: + ldr r6, .L418 + movw r8, #3912 + movw r7, #3870 + b .L415 +.L417: mov r0, r5 add r5, r5, #1 bl FtlBbmIsBadBlock @@ -3316,17 +3324,17 @@ FtlBbtCalcTotleCnt: cmp r0, #0 addne r4, r4, #1 uxthne r4, r4 -.L414: +.L415: ldrh r3, [r6, r8] ldrh r2, [r6, r7] mul r3, r2, r3 cmp r5, r3 - blt .L416 + blt .L417 mov r0, r4 ldmfd sp!, {r4, r5, r6, r7, r8, pc} -.L418: +.L419: .align 2 -.L417: +.L418: .word .LANCHOR0 .fnend .size FtlBbtCalcTotleCnt, .-FtlBbtCalcTotleCnt @@ -3339,14 +3347,14 @@ V2P_block: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r3, r4, r5, r6, r7, lr} .save {r3, r4, r5, r6, r7, lr} - movw r3, #3868 - ldr r5, .L420 + mov r3, #3872 + ldr r5, .L421 mov r7, r1 mov r6, r0 ldrh r4, [r5, r3] mov r1, r4 bl __aeabi_uidiv - movw r3, #3908 + movw r3, #3912 ldrh r5, [r5, r3] mov r1, r4 mul r7, r4, r7 @@ -3356,9 +3364,9 @@ V2P_block: add r1, r5, r1 uxth r0, r1 ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L421: +.L422: .align 2 -.L420: +.L421: .word .LANCHOR0 .fnend .size V2P_block, .-V2P_block @@ -3369,8 +3377,8 @@ P2V_plane: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L423 - movw r2, #3868 + ldr r3, .L424 + mov r2, #3872 stmfd sp!, {r4, r5, r6, lr} .save {r4, r5, r6, lr} mov r6, r0 @@ -3385,9 +3393,9 @@ P2V_plane: add r1, r5, r1 uxth r0, r1 ldmfd sp!, {r4, r5, r6, pc} -.L424: +.L425: .align 2 -.L423: +.L424: .word .LANCHOR0 .fnend .size P2V_plane, .-P2V_plane @@ -3400,19 +3408,19 @@ P2V_block_in_plane: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r4, lr} .save {r4, lr} - movw r3, #3908 - ldr r4, .L426 + movw r3, #3912 + ldr r4, .L427 ldrh r1, [r4, r3] bl __aeabi_uidivmod - movw r3, #3868 + mov r3, #3872 uxth r0, r1 ldrh r1, [r4, r3] bl __aeabi_uidiv uxth r0, r0 ldmfd sp!, {r4, pc} -.L427: +.L428: .align 2 -.L426: +.L427: .word .LANCHOR0 .fnend .size P2V_block_in_plane, .-P2V_block_in_plane @@ -3425,13 +3433,13 @@ ftl_cmp_data_ver: @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. cmp r0, r1 - bls .L429 + bls .L430 rsb r0, r1, r0 cmp r0, #-2147483648 movhi r0, #0 movls r0, #1 bx lr -.L429: +.L430: rsb r0, r0, r1 cmp r0, #-2147483648 movls r0, #0 @@ -3447,15 +3455,15 @@ FtlFreeSysBlkQueueEmpty: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r2, .L432 - movw r3, #4042 + ldr r2, .L433 + movw r3, #4046 ldrh r0, [r2, r3] rsbs r0, r0, #1 movcc r0, #0 bx lr -.L433: +.L434: .align 2 -.L432: +.L433: .word .LANCHOR0 .fnend .size FtlFreeSysBlkQueueEmpty, .-FtlFreeSysBlkQueueEmpty @@ -3467,16 +3475,16 @@ FtlFreeSysBlkQueueFull: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r2, .L435 - movw r3, #4042 + ldr r2, .L436 + movw r3, #4046 ldrh r0, [r2, r3] sub r2, r0, #1024 rsbs r0, r2, #0 adc r0, r0, r2 bx lr -.L436: +.L437: .align 2 -.L435: +.L436: .word .LANCHOR0 .fnend .size FtlFreeSysBlkQueueFull, .-FtlFreeSysBlkQueueFull @@ -3487,8 +3495,8 @@ FtlFreeSysBlkQueueIn: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r2, .L440 - movw r3, #4042 + ldr r2, .L441 + movw r3, #4046 stmfd sp!, {r4, r5, r6, lr} .save {r4, r5, r6, lr} mov r5, r0 @@ -3496,35 +3504,35 @@ FtlFreeSysBlkQueueIn: cmp r3, #1024 ldmeqfd sp!, {r4, r5, r6, pc} cmp r1, #0 - beq .L439 - ldr r4, .L440+4 - ldr r3, [r4, #-2092] + beq .L440 + ldr r4, .L441+4 + ldr r3, [r4, #-2088] cmp r3, #0 - bne .L439 + bne .L440 bl P2V_block_in_plane mov r1, #1 mov r3, r5, asl #10 mov r2, r1 mov r6, r0 - ldr r0, [r4, #-2088] + ldr r0, [r4, #-2084] mov r6, r6, asl #1 str r3, [r0, #4] bl FlashEraseBlocks - ldr r3, [r4, #-2084] + ldr r3, [r4, #-2080] ldrh r2, [r3, r6] add r2, r2, #1 strh r2, [r3, r6] @ movhi - ldr r3, [r4, #-2080] + ldr r3, [r4, #-2076] add r3, r3, #1 - str r3, [r4, #-2080] -.L439: - ldr r3, .L440 - movw r2, #4042 - movw r0, #4036 + str r3, [r4, #-2076] +.L440: + ldr r3, .L441 + movw r2, #4046 + movw r0, #4040 ldrh r1, [r3, r2] add r1, r1, #1 strh r1, [r3, r2] @ movhi - movw r2, #4040 + movw r2, #4044 ldrh r1, [r3, r2] add ip, r1, #4 add r1, r1, #1 @@ -3533,9 +3541,9 @@ FtlFreeSysBlkQueueIn: strh r5, [ip, r0] @ movhi strh r1, [r3, r2] @ movhi ldmfd sp!, {r4, r5, r6, pc} -.L441: +.L442: .align 2 -.L440: +.L441: .word .LANCHOR0 .word .LANCHOR2 .fnend @@ -3547,47 +3555,47 @@ FtlFreeSysBLkSort: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L445 + ldr r3, .L446 mov r0, #0 - ldr r2, .L445+4 - ldr r1, .L445+8 + ldr r2, .L446+4 + ldr r1, .L446+8 stmfd sp!, {r4, r5, lr} .save {r4, r5, lr} ldrh r4, [r2, r3] - movw r3, #4038 + movw r3, #4042 ldrh r2, [r1, r3] add r3, r3, #2 and r4, r4, #31 ldrh r3, [r1, r3] - b .L443 -.L444: + b .L444 +.L445: add ip, r1, r2, asl #1 add r2, r2, #1 - add ip, ip, #4032 + add ip, ip, #4048 add r0, r0, #1 mov r2, r2, asl #22 - ldrh r5, [ip, #12] + ldrh r5, [ip, #0] add ip, r1, r3, asl #1 add r3, r3, #1 - add ip, ip, #4032 + add ip, ip, #4048 mov r2, r2, lsr #22 uxth r0, r0 mov r3, r3, asl #22 - strh r5, [ip, #12] @ movhi + strh r5, [ip, #0] @ movhi mov r3, r3, lsr #22 -.L443: +.L444: cmp r0, r4 - ldr ip, .L445+8 - blt .L444 - movw r1, #4038 + ldr ip, .L446+8 + blt .L445 + movw r1, #4042 strh r2, [ip, r1] @ movhi - movw r2, #4040 + movw r2, #4044 strh r3, [ip, r2] @ movhi ldmfd sp!, {r4, r5, pc} -.L446: +.L447: .align 2 -.L445: - .word -2048 +.L446: + .word -2044 .word .LANCHOR2 .word .LANCHOR0 .fnend @@ -3599,32 +3607,31 @@ remove_from_free_sys_Queue: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L453 - movw r2, #4042 + ldr r3, .L454 + movw r2, #4046 stmfd sp!, {r4, r5, r6, lr} .save {r4, r5, r6, lr} mov r1, r0 ldrh r0, [r3, r2] cmp r0, #0 ldmeqfd sp!, {r4, r5, r6, pc} - movw r2, #4038 + movw r2, #4042 mov r5, #0 - ldrh ip, [r3, r2] - b .L449 -.L451: - add r2, r5, ip - ldr r4, .L453 - movw r6, #4036 - mov r2, r2, asl #22 - add r2, r3, r2, lsr #21 - add r2, r2, #4032 - add r2, r2, #12 - ldrh r2, [r2, #0] - cmp r2, r1 - bne .L450 - ldr r0, .L453+4 + ldrh r2, [r3, r2] + b .L450 +.L452: + add ip, r5, r2 + ldr r4, .L454 + movw r6, #4040 + mov ip, ip, asl #22 + add ip, r3, ip, lsr #21 + add ip, ip, #4048 + ldrh ip, [ip, #0] + cmp ip, r1 + bne .L451 + ldr r0, .L454+4 bl printk - movw r2, #4038 + movw r2, #4042 ldrh r3, [r4, r2] mov r0, #1 add r1, r3, #4 @@ -3638,21 +3645,21 @@ remove_from_free_sys_Queue: add r5, r5, #8 strh r1, [r5, r6] @ movhi strh r3, [r4, r2] @ movhi - movw r3, #4042 + movw r3, #4046 ldrh r2, [r4, r3] sub r2, r2, #1 strh r2, [r4, r3] @ movhi ldmfd sp!, {r4, r5, r6, pc} -.L450: +.L451: add r5, r5, #1 -.L449: +.L450: cmp r5, r0 - bcc .L451 + bcc .L452 mov r0, #0 ldmfd sp!, {r4, r5, r6, pc} -.L454: +.L455: .align 2 -.L453: +.L454: .word .LANCHOR0 .word .LC4 .fnend @@ -3666,72 +3673,72 @@ FtlFreeSysBlkQueueOut: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, lr} .save {r4, r5, r6, r7, r8, r9, sl, lr} - movw r7, #4042 - ldr r4, .L462 - movw r8, #4038 -.L456: + movw r7, #4046 + ldr r4, .L463 + movw r8, #4042 +.L457: ldrh r1, [r4, r7] cmp r1, #0 - beq .L457 - ldr r9, .L462+4 + beq .L458 + ldr r9, .L463+4 sub r1, r1, #1 - ldrh r2, [r4, r8] - ldr r6, [r9, #-2092] - add r3, r4, r2, asl #1 - add r2, r2, #1 - add r3, r3, #4032 + ldrh r3, [r4, r8] + ldr r6, [r9, #-2088] + add r2, r4, r3, asl #1 + add r3, r3, #1 + add r2, r2, #4048 cmp r6, #0 - bic r2, r2, #64512 - ldrh r5, [r3, #12] + bic r3, r3, #64512 + ldrh r5, [r2, #0] strh r1, [r4, r7] @ movhi - strh r2, [r4, r8] @ movhi - bne .L458 + strh r3, [r4, r8] @ movhi + bne .L459 mov r0, r5 bl P2V_block_in_plane mov r3, r5, asl #10 mov sl, r0 - ldr r0, [r9, #-2088] + ldr r0, [r9, #-2084] str r3, [r0, #4] ldrb r3, [r4, #928] @ zero_extendqisi2 cmp r3, #0 - beq .L459 + beq .L460 mov r1, r6 mov r2, #1 bl FlashEraseBlocks -.L459: - ldr r6, .L462+4 +.L460: + ldr r6, .L463+4 mov r1, #1 mov r2, r1 mov sl, sl, asl #1 - ldr r0, [r6, #-2088] + ldr r0, [r6, #-2084] bl FlashEraseBlocks - ldr r3, [r6, #-2084] + ldr r3, [r6, #-2080] ldrh r2, [r3, sl] add r2, r2, #1 strh r2, [r3, sl] @ movhi - ldr r3, [r6, #-2080] + ldr r3, [r6, #-2076] add r3, r3, #1 - str r3, [r6, #-2080] - b .L458 -.L457: - ldr r0, .L462+8 - bl printk -.L460: - b .L460 + str r3, [r6, #-2076] + b .L459 .L458: + ldr r0, .L463+8 + bl printk +.L461: + b .L461 +.L459: cmp r5, #0 - bne .L461 + bne .L462 mov r1, r5 ldrh r2, [r4, r7] - ldr r0, .L462+12 + ldr r0, .L463+12 bl printk - b .L456 -.L461: + b .L457 +.L462: mov r0, r5 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, pc} -.L463: +.L464: .align 2 -.L462: +.L463: .word .LANCHOR0 .word .LANCHOR2 .word .LC5 @@ -3745,38 +3752,38 @@ insert_data_list: .fnstart @ args = 0, pretend = 0, frame = 16 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r2, .L479 - movw r3, #3852 + ldr r2, .L480 + mov r3, #3856 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} .pad #20 sub sp, sp, #20 ldrh r3, [r2, r3] cmp r3, r0 - bls .L465 - ldr r1, .L479+4 + bls .L466 + ldr r1, .L480+4 mov ip, #6 mul ip, ip, r0 mvn r6, #0 - ldr r4, [r1, #-2028] + ldr r4, [r1, #-2024] mov r5, r1 add r2, r4, ip strh r6, [r2, #2] @ movhi strh r6, [r4, ip] @ movhi - ldr r3, [r1, #-2024] + ldr r3, [r1, #-2020] cmp r3, #0 - beq .L478 -.L466: - ldr r7, [r1, #-2020] + beq .L479 +.L467: + ldr r7, [r1, #-2016] mov r8, r0, asl #1 ldrh r1, [r2, #4] - ldr r9, .L479 + ldr r9, .L480 ldrh sl, [r7, r8] cmp r1, #0 - ldr fp, [r5, #-2084] + ldr fp, [r5, #-2080] mulne r6, r1, sl - ldr r1, [r5, #-2028] - ldr sl, .L479+8 + ldr r1, [r5, #-2024] + ldr sl, .L480+8 mov r5, #0 add r8, fp, r8 str r8, [sp, #12] @@ -3784,18 +3791,18 @@ insert_data_list: rsb r1, r1, r3 mov r1, r1, asr #1 mul r1, sl, r1 - movw sl, #3852 + mov sl, #3856 ldrh sl, [r9, sl] str sl, [sp, #8] uxth r1, r1 -.L473: +.L474: add r5, r5, #1 ldr r8, [sp, #8] uxth r5, r5 cmp r5, r8 - bhi .L465 + bhi .L466 cmp r0, r1 - beq .L465 + beq .L466 mov r9, r1, asl #1 ldrh r8, [r3, #4] ldrh sl, [r7, r9] @@ -3803,56 +3810,56 @@ insert_data_list: mvneq r8, #0 mulne r8, r8, sl cmp r8, r6 - bne .L469 + bne .L470 ldrh sl, [fp, r9] ldr r9, [sp, #12] ldrh r8, [r9, #0] cmp sl, r8 - bcc .L471 - b .L470 -.L469: - bhi .L470 -.L471: + bcc .L472 + b .L471 +.L470: + bhi .L471 +.L472: ldrh r8, [r3, #0] movw sl, #65535 cmp r8, sl streqh r1, [r2, #2] @ movhi streqh r0, [r3, #0] @ movhi - ldreq r3, .L479+4 - streq r2, [r3, #-2016] - beq .L465 -.L472: + ldreq r3, .L480+4 + streq r2, [r3, #-2012] + beq .L466 +.L473: ldr r9, [sp, #4] mov r1, #6 mla r3, r1, r8, r9 mov r1, r8 - b .L473 -.L470: + b .L474 +.L471: strh r1, [r4, ip] @ movhi ldrh r1, [r3, #2] strh r1, [r2, #2] @ movhi - ldr r1, .L479+4 - ldr ip, [r1, #-2024] + ldr r1, .L480+4 + ldr ip, [r1, #-2020] cmp r3, ip - bne .L474 + bne .L475 strh r0, [r3, #2] @ movhi -.L478: - str r2, [r1, #-2024] - b .L465 -.L474: +.L479: + str r2, [r1, #-2020] + b .L466 +.L475: ldrh r2, [r3, #2] mov ip, #6 - ldr r1, [r1, #-2028] + ldr r1, [r1, #-2024] mul r2, ip, r2 strh r0, [r1, r2] @ movhi strh r0, [r3, #2] @ movhi -.L465: +.L466: mov r0, #0 add sp, sp, #20 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L480: +.L481: .align 2 -.L479: +.L480: .word .LANCHOR0 .word .LANCHOR2 .word -1431655765 @@ -3868,17 +3875,17 @@ INSERT_DATA_LIST: stmfd sp!, {r3, lr} .save {r3, lr} bl insert_data_list - ldr r2, .L482 - ldr r3, .L482+4 + ldr r2, .L483 + ldr r3, .L483+4 ldrh r1, [r2, r3] add r1, r1, #1 strh r1, [r2, r3] @ movhi ldmfd sp!, {r3, pc} -.L483: +.L484: .align 2 -.L482: +.L483: .word .LANCHOR2 - .word -2012 + .word -2008 .fnend .size INSERT_DATA_LIST, .-INSERT_DATA_LIST .align 2 @@ -3892,68 +3899,68 @@ insert_free_list: .save {r4, r5, r6, r7, r8, r9, sl, lr} movw r6, #65535 cmp r0, r6 - beq .L485 - ldr r1, .L492 + beq .L486 + ldr r1, .L493 mov r5, #6 mul ip, r5, r0 mvn r3, #0 - ldr r4, [r1, #-2028] + ldr r4, [r1, #-2024] add r2, r4, ip strh r3, [r2, #2] @ movhi strh r3, [r4, ip] @ movhi - ldr r3, [r1, #-2008] + ldr r3, [r1, #-2004] cmp r3, #0 - beq .L491 -.L486: - ldr sl, [r1, #-2028] + beq .L492 +.L487: + ldr sl, [r1, #-2024] mov r8, r0, asl #1 - ldr r7, [r1, #-2084] + ldr r7, [r1, #-2080] rsb r1, sl, r3 - ldr r9, .L492+4 + ldr r9, .L493+4 mov r1, r1, asr #1 ldrh r8, [r7, r8] mul r1, r9, r1 mov r9, r5 uxth r1, r1 -.L489: +.L490: mov r5, r1, asl #1 ldrh r5, [r7, r5] cmp r5, r8 - bcs .L487 + bcs .L488 ldrh r5, [r3, #0] cmp r5, r6 streqh r1, [r2, #2] @ movhi streqh r0, [r3, #0] @ movhi - beq .L485 -.L488: + beq .L486 +.L489: mla r3, r9, r5, sl mov r1, r5 - b .L489 -.L487: + b .L490 +.L488: ldrh r5, [r3, #2] strh r5, [r2, #2] @ movhi strh r1, [r4, ip] @ movhi - ldr r1, .L492 - ldr ip, [r1, #-2008] + ldr r1, .L493 + ldr ip, [r1, #-2004] cmp r3, ip - bne .L490 + bne .L491 strh r0, [r3, #2] @ movhi +.L492: + str r2, [r1, #-2004] + b .L486 .L491: - str r2, [r1, #-2008] - b .L485 -.L490: ldrh r2, [r3, #2] mov ip, #6 - ldr r1, [r1, #-2028] + ldr r1, [r1, #-2024] mul r2, ip, r2 strh r0, [r1, r2] @ movhi strh r0, [r3, #2] @ movhi -.L485: +.L486: mov r0, #0 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, pc} -.L493: +.L494: .align 2 -.L492: +.L493: .word .LANCHOR2 .word -1431655765 .fnend @@ -3968,17 +3975,17 @@ INSERT_FREE_LIST: stmfd sp!, {r3, lr} .save {r3, lr} bl insert_free_list - ldr r2, .L495 - ldr r3, .L495+4 + ldr r2, .L496 + ldr r3, .L496+4 ldrh r1, [r2, r3] add r1, r1, #1 strh r1, [r2, r3] @ movhi ldmfd sp!, {r3, pc} -.L496: +.L497: .align 2 -.L495: +.L496: .word .LANCHOR2 - .word -2004 + .word -2000 .fnend .size INSERT_FREE_LIST, .-INSERT_FREE_LIST .align 2 @@ -3988,10 +3995,10 @@ List_remove_node: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr ip, .L502 + ldr ip, .L503 mov r2, #6 mul r1, r2, r1 - ldr r3, [ip, #-2028] + ldr r3, [ip, #-2024] stmfd sp!, {r4, r5, r6, lr} .save {r4, r5, r6, lr} add r5, r3, r1 @@ -3999,7 +4006,7 @@ List_remove_node: movw r6, #65535 cmp r5, r4 ldrh r4, [r3, r1] - bne .L498 + bne .L499 cmp r4, r6 mlane r2, r2, r4, r3 moveq r2, #0 @@ -4007,33 +4014,33 @@ List_remove_node: strne r2, [r0, #0] mvnne r0, #0 strneh r0, [r2, #2] @ movhi - b .L500 -.L498: + b .L501 +.L499: cmp r4, r6 ldrh r0, [r5, #2] - bne .L501 + bne .L502 cmp r0, r4 mulne r2, r2, r0 mvnne r0, #0 strneh r0, [r3, r2] @ movhi - b .L500 -.L501: + b .L501 +.L502: mla r4, r2, r4, r3 strh r0, [r4, #2] @ movhi ldrh r6, [r5, #2] ldrh r4, [r3, r1] - ldr r0, [ip, #-2028] + ldr r0, [ip, #-2024] mul r2, r2, r6 strh r4, [r0, r2] @ movhi -.L500: +.L501: mvn r2, #0 mov r0, #0 strh r2, [r3, r1] @ movhi strh r2, [r5, #2] @ movhi ldmfd sp!, {r4, r5, r6, pc} -.L503: +.L504: .align 2 -.L502: +.L503: .word .LANCHOR2 .fnend .size List_remove_node, .-List_remove_node @@ -4048,25 +4055,25 @@ List_pop_index_node: .save {r4, lr} ldr r3, [r0, #0] cmp r3, #0 - beq .L509 - ldr r2, .L510 + beq .L510 + ldr r2, .L511 movw lr, #65535 mov ip, #6 - ldr r4, [r2, #-2028] - b .L506 -.L508: + ldr r4, [r2, #-2024] + b .L507 +.L509: mla r3, ip, r2, r4 sub r1, r1, #1 uxth r1, r1 -.L506: +.L507: cmp r1, #0 - beq .L507 + beq .L508 ldrh r2, [r3, #0] cmp r2, lr - bne .L508 -.L507: + bne .L509 +.L508: rsb r4, r4, r3 - ldr r3, .L510+4 + ldr r3, .L511+4 mov r4, r4, asr #1 mul r4, r3, r4 uxth r4, r4 @@ -4074,12 +4081,12 @@ List_pop_index_node: bl List_remove_node mov r0, r4 ldmfd sp!, {r4, pc} -.L509: +.L510: movw r0, #65535 ldmfd sp!, {r4, pc} -.L511: +.L512: .align 2 -.L510: +.L511: .word .LANCHOR2 .word -1431655765 .fnend @@ -4092,39 +4099,39 @@ List_get_gc_head_node: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r2, .L518 - ldr r3, [r2, #-2024] + ldr r2, .L519 + ldr r3, [r2, #-2020] cmp r3, #0 - beq .L517 - ldr r2, [r2, #-2028] + beq .L518 + ldr r2, [r2, #-2024] movw r1, #65535 mov ip, #6 - b .L514 -.L516: + b .L515 +.L517: mla r3, ip, r3, r2 sub r0, r0, #1 uxth r0, r0 -.L514: +.L515: cmp r0, #0 - beq .L515 + beq .L516 ldrh r3, [r3, #0] cmp r3, r1 - bne .L516 + bne .L517 mov r0, r1 bx lr -.L515: +.L516: rsb r3, r2, r3 - ldr r0, .L518+4 + ldr r0, .L519+4 mov r3, r3, asr #1 mul r0, r0, r3 uxth r0, r0 bx lr -.L517: +.L518: movw r0, #65535 bx lr -.L519: +.L520: .align 2 -.L518: +.L519: .word .LANCHOR2 .word -1431655765 .fnend @@ -4139,27 +4146,27 @@ List_update_data_list: stmfd sp!, {r3, r4, r5, lr} .save {r3, r4, r5, lr} mov r4, r0 - ldr r3, .L527 - ldr r2, .L527+4 + ldr r3, .L528 + ldr r2, .L528+4 ldrh r2, [r3, r2] cmp r2, r0 - beq .L521 - ldr r2, .L527+8 + beq .L522 + ldr r2, .L528+8 ldrh r2, [r3, r2] cmp r2, r0 - beq .L521 - ldr r2, .L527+12 + beq .L522 + ldr r2, .L528+12 ldrh r2, [r3, r2] cmp r2, r0 - beq .L521 + beq .L522 mov r5, #6 - ldr r2, [r3, #-2028] + ldr r2, [r3, #-2024] mul r5, r5, r0 - ldr r0, [r3, #-2024] + ldr r0, [r3, #-2020] add r1, r2, r5 cmp r1, r0 - beq .L521 - ldr ip, [r3, #-2020] + beq .L522 + ldr ip, [r3, #-2016] mov r3, r4, asl #1 ldrh r0, [ip, r3] ldrh r3, [r1, #4] @@ -4169,14 +4176,14 @@ List_update_data_list: mvneq r0, #0 movw r1, #65535 cmp r3, r1 - bne .L523 + bne .L524 ldrh r1, [r2, r5] cmp r1, r3 - beq .L521 -.L523: + beq .L522 +.L524: mov r1, #6 mla r3, r1, r3, r2 - ldr r1, .L527+16 + ldr r1, .L528+16 rsb r2, r2, r3 mov r2, r2, asr #1 ldrh r3, [r3, #4] @@ -4188,30 +4195,30 @@ List_update_data_list: ldrh r2, [ip, r2] mulne r3, r3, r2 cmp r0, r3 - bcs .L521 - ldr r0, .L527+20 + bcs .L522 + ldr r0, .L528+20 mov r1, r4 bl List_remove_node - ldr r5, .L527 - ldr r3, .L527+24 + ldr r5, .L528 + ldr r3, .L528+24 mov r0, r4 ldrh r2, [r5, r3] sub r2, r2, #1 strh r2, [r5, r3] @ movhi bl INSERT_DATA_LIST -.L521: +.L522: mov r0, #0 ldmfd sp!, {r3, r4, r5, pc} -.L528: +.L529: .align 2 -.L527: +.L528: .word .LANCHOR2 - .word -2000 - .word -1952 - .word -1904 + .word -1996 + .word -1948 + .word -1900 .word -1431655765 - .word .LANCHOR2-2024 - .word -2012 + .word .LANCHOR2-2020 + .word -2008 .fnend .size List_update_data_list, .-List_update_data_list .align 2 @@ -4227,13 +4234,13 @@ ftl_map_blk_alloc_new_blk: ldrh r2, [r0, #10] mov r5, #0 ldr r3, [r0, #12] - b .L530 -.L535: + b .L531 +.L536: mov r7, r3 add r3, r3, #2 ldrh r6, [r7, #0] cmp r6, #0 - bne .L531 + bne .L532 bl FtlFreeSysBlkQueueOut movw r3, #65533 sub r2, r0, #1 @@ -4241,15 +4248,15 @@ ftl_map_blk_alloc_new_blk: strh r0, [r7, #0] @ movhi uxth r2, r2 cmp r2, r3 - bls .L532 - ldr r2, .L536 - movw r3, #4042 - ldr r0, .L536+4 + bls .L533 + ldr r2, .L537 + movw r3, #4046 + ldr r0, .L537+4 ldrh r2, [r2, r3] bl printk +.L534: + b .L534 .L533: - b .L533 -.L532: ldr r3, [r4, #28] strh r6, [r4, #2] @ movhi add r3, r3, #1 @@ -4258,19 +4265,19 @@ ftl_map_blk_alloc_new_blk: strh r5, [r4, #0] @ movhi add r3, r3, #1 strh r3, [r4, #8] @ movhi - b .L534 -.L531: + b .L535 +.L532: add r5, r5, #1 uxth r5, r5 -.L530: +.L531: cmp r5, r2 - bne .L535 -.L534: + bne .L536 +.L535: mov r0, #0 ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L537: +.L538: .align 2 -.L536: +.L537: .word .LANCHOR0 .word .LC7 .fnend @@ -4282,18 +4289,18 @@ select_l2p_ram_region: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r2, .L550 - movw r3, #3950 + ldr r2, .L551 + movw r3, #3954 stmfd sp!, {r4, r5, r6, r7, lr} .save {r4, r5, r6, r7, lr} movw r1, #65535 ldrh r3, [r2, r3] - ldr r2, .L550+4 - ldr ip, [r2, #-1856] + ldr r2, .L551+4 + ldr ip, [r2, #-1852] mov r2, #0 mov r0, r2 - b .L539 -.L541: + b .L540 +.L542: add r2, r2, #12 add r4, ip, r2 ldrh r4, [r4, #-12] @@ -4301,62 +4308,62 @@ select_l2p_ram_region: ldmeqfd sp!, {r4, r5, r6, r7, pc} add r0, r0, #1 uxth r0, r0 -.L539: +.L540: cmp r0, r3 - bne .L541 + bne .L542 mov r1, #0 mov r0, r3 mov r5, #-2147483648 mov r2, r1 - b .L542 -.L544: + b .L543 +.L545: add r4, ip, r1 ldr r4, [r4, #4] cmp r4, #0 - blt .L543 + blt .L544 cmp r4, r5 movcc r5, r4 movcc r0, r2 -.L543: +.L544: add r2, r2, #1 add r1, r1, #12 uxth r2, r2 -.L542: +.L543: cmp r2, r3 - bne .L544 + bne .L545 cmp r0, r3 ldmccfd sp!, {r4, r5, r6, r7, pc} - ldr r2, .L550+8 + ldr r2, .L551+8 mov r0, r3 - ldr r1, .L550+4 + ldr r1, .L551+4 mvn r4, #0 ldrh r6, [r1, r2] mov r2, #0 mov r1, r2 - b .L545 -.L547: + b .L546 +.L548: add r5, ip, r2 ldr r5, [r5, #4] cmp r5, r4 - bcs .L546 + bcs .L547 ldrh r7, [ip, r2] cmp r7, r6 movne r4, r5 movne r0, r1 -.L546: +.L547: add r1, r1, #1 add r2, r2, #12 uxth r1, r1 -.L545: +.L546: cmp r1, r3 - bne .L547 + bne .L548 ldmfd sp!, {r4, r5, r6, r7, pc} -.L551: +.L552: .align 2 -.L550: +.L551: .word .LANCHOR0 .word .LANCHOR2 - .word -1852 + .word -1848 .fnend .size select_l2p_ram_region, .-select_l2p_ram_region .align 2 @@ -4366,8 +4373,8 @@ FtlUpdateVaildLpn: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L558 - ldr r2, .L558+4 + ldr r3, .L559 + ldr r2, .L559+4 stmfd sp!, {r4, r5, lr} .save {r4, r5, lr} ldrh r1, [r2, r3] @@ -4375,36 +4382,36 @@ FtlUpdateVaildLpn: add ip, r1, #1 mov r1, r3 strh ip, [r2, r3] @ movhi - bhi .L553 + bhi .L554 cmp r0, #0 ldmeqfd sp!, {r4, r5, pc} -.L553: - ldr r0, .L558+8 +.L554: + ldr r0, .L559+8 mov r3, #0 strh r3, [r2, r1] @ movhi - movw r1, #3852 - str r3, [r2, #-1848] + mov r1, #3856 + str r3, [r2, #-1844] movw ip, #65535 ldrh r4, [r0, r1] - ldr r1, [r2, #-2020] - ldr r2, .L558+4 - b .L555 -.L557: + ldr r1, [r2, #-2016] + ldr r2, .L559+4 + b .L556 +.L558: ldrh r0, [r1], #2 add r3, r3, #1 cmp r0, ip uxth r3, r3 - ldrne r5, [r2, #-1848] + ldrne r5, [r2, #-1844] addne r0, r0, r5 - strne r0, [r2, #-1848] -.L555: + strne r0, [r2, #-1844] +.L556: cmp r3, r4 - bne .L557 + bne .L558 ldmfd sp!, {r4, r5, pc} -.L559: +.L560: .align 2 -.L558: - .word -1850 +.L559: + .word -1846 .word .LANCHOR2 .word .LANCHOR0 .fnend @@ -4417,21 +4424,21 @@ ftl_set_blk_mode: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L564 + ldr r3, .L565 mov r2, r0, lsr #5 cmp r1, #0 and r0, r0, #31 uxth r2, r2 mov ip, #1 - ldr r3, [r3, #-1844] + ldr r3, [r3, #-1840] ldr r1, [r3, r2, asl #2] orrne r0, r1, ip, asl r0 biceq r0, r1, ip, asl r0 str r0, [r3, r2, asl #2] bx lr -.L565: +.L566: .align 2 -.L564: +.L565: .word .LANCHOR2 .fnend .size ftl_set_blk_mode, .-ftl_set_blk_mode @@ -4443,17 +4450,17 @@ ftl_get_blk_mode: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L567 + ldr r3, .L568 mov r2, r0, lsr #5 and r0, r0, #31 - ldr r3, [r3, #-1844] + ldr r3, [r3, #-1840] ldr r3, [r3, r2, asl #2] mov r0, r3, lsr r0 and r0, r0, #1 bx lr -.L568: +.L569: .align 2 -.L567: +.L568: .word .LANCHOR2 .fnend .size ftl_get_blk_mode, .-ftl_get_blk_mode @@ -4464,16 +4471,16 @@ ftl_sb_update_avl_pages: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr ip, .L576 + ldr ip, .L577 mov r3, #0 strh r3, [r0, #4] @ movhi - movw r3, #3844 + movw r3, #3848 stmfd sp!, {r4, r5, r6, lr} .save {r4, r5, r6, lr} ldrh r3, [ip, r3] movw ip, #65535 - b .L570 -.L572: + b .L571 +.L573: add r4, r0, r2, asl #1 add r2, r2, #1 ldrh r4, [r4, #16] @@ -4482,18 +4489,18 @@ ftl_sb_update_avl_pages: ldrneh r4, [r0, #4] addne r4, r4, #1 strneh r4, [r0, #4] @ movhi -.L570: +.L571: cmp r2, r3 - bcc .L572 - ldr ip, .L576 - movw r2, #3912 + bcc .L573 + ldr ip, .L577 + movw r2, #3916 movw r4, #65535 mvn r1, r1 ldrh r5, [ip, r2] mov ip, r0 mov r2, #0 - b .L573 -.L575: + b .L574 +.L576: ldrh r6, [ip, #16] add r2, r2, #1 add ip, ip, #2 @@ -4503,13 +4510,13 @@ ftl_sb_update_avl_pages: addne r6, r5, r6 addne r6, r6, r1 strneh r6, [r0, #4] @ movhi -.L573: +.L574: cmp r2, r3 - bne .L575 + bne .L576 ldmfd sp!, {r4, r5, r6, pc} -.L577: +.L578: .align 2 -.L576: +.L577: .word .LANCHOR0 .fnend .size ftl_sb_update_avl_pages, .-ftl_sb_update_avl_pages @@ -4524,18 +4531,18 @@ make_superblock: .save {r4, r5, r6, r7, r8, r9, sl, lr} mov r4, r0 mov r5, #0 - ldr r6, .L584 + ldr r6, .L585 strh r5, [r0, #4] @ movhi - movw r8, #3844 + movw r8, #3848 strb r5, [r4, #7] mvn r7, #0 - b .L579 -.L581: + b .L580 +.L582: add r3, r6, r5 ldrh r1, [r4, #0] add sl, r5, #8 add r5, r5, #1 - ldrb r0, [r3, #3870] @ zero_extendqisi2 + ldrb r0, [r3, #3874] @ zero_extendqisi2 bl V2P_block mov sl, sl, asl #1 uxth r5, r5 @@ -4547,40 +4554,40 @@ make_superblock: ldreqb r3, [r4, #7] @ zero_extendqisi2 addeq r3, r3, #1 streqb r3, [r4, #7] -.L579: +.L580: ldrh r2, [r6, r8] - ldr r3, .L584 + ldr r3, .L585 cmp r2, r5 - bhi .L581 - movw r1, #3912 + bhi .L582 + movw r1, #3916 ldrb r2, [r4, #7] @ zero_extendqisi2 ldrh r1, [r3, r1] - ldr r3, [r3, #3836] + ldr r3, [r3, #3840] mul r2, r1, r2 strh r2, [r4, #4] @ movhi mov r2, #0 cmp r3, r2 strb r2, [r4, #9] - beq .L582 - ldr r2, .L584+4 + beq .L583 + ldr r2, .L585+4 ldrh r3, [r4, #0] - ldr r2, [r2, #-2084] + ldr r2, [r2, #-2080] mov r3, r3, asl #1 ldrh r3, [r2, r3] cmp r3, #59 movls r3, #1 strlsb r3, [r4, #9] -.L582: - ldr r3, .L584 +.L583: + ldr r3, .L585 mov r0, #0 ldrb r3, [r3, #852] @ zero_extendqisi2 cmp r3, #0 movne r3, #1 strneb r3, [r4, #9] ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, pc} -.L585: +.L586: .align 2 -.L584: +.L585: .word .LANCHOR0 .word .LANCHOR2 .fnend @@ -4597,15 +4604,15 @@ update_multiplier_value: mov r4, #0 mov r7, r0 mov r5, r4 - ldr r6, .L591 - movw sl, #3844 - movw r8, #3912 - b .L587 -.L589: + ldr r6, .L592 + movw sl, #3848 + movw r8, #3916 + b .L588 +.L590: add r3, r6, r5 mov r1, r7 add r5, r5, #1 - ldrb r0, [r3, #3870] @ zero_extendqisi2 + ldrb r0, [r3, #3874] @ zero_extendqisi2 bl V2P_block uxth r5, r5 bl FtlBbmIsBadBlock @@ -4613,27 +4620,27 @@ update_multiplier_value: ldreqh r3, [r6, r8] addeq r4, r4, r3 uxtheq r4, r4 -.L587: +.L588: ldrh r3, [r6, sl] cmp r3, r5 - bhi .L589 + bhi .L590 cmp r4, #0 - beq .L590 + beq .L591 mov r1, r4 mov r0, #32768 bl __aeabi_idiv uxth r4, r0 -.L590: - ldr r3, .L591+4 +.L591: + ldr r3, .L592+4 mov r2, #6 mov r0, #0 - ldr r3, [r3, #-2028] + ldr r3, [r3, #-2024] mla r7, r2, r7, r3 strh r4, [r7, #4] @ movhi ldmfd sp!, {r3, r4, r5, r6, r7, r8, sl, pc} -.L592: +.L593: .align 2 -.L591: +.L592: .word .LANCHOR0 .word .LANCHOR2 .fnend @@ -4646,23 +4653,23 @@ GetFreeBlockMinEraseCount: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L596 - ldr r0, [r3, #-2008] + ldr r3, .L597 + ldr r0, [r3, #-2004] cmp r0, #0 bxeq lr - ldr r2, [r3, #-2028] + ldr r2, [r3, #-2024] rsb r0, r2, r0 - ldr r2, .L596+4 + ldr r2, .L597+4 mov r0, r0, asr #1 mul r0, r2, r0 - ldr r2, [r3, #-2084] + ldr r2, [r3, #-2080] uxth r0, r0 mov r3, r0, asl #1 ldrh r0, [r2, r3] bx lr -.L597: +.L598: .align 2 -.L596: +.L597: .word .LANCHOR2 .word -1431655765 .fnend @@ -4674,13 +4681,13 @@ GetFreeBlockMaxEraseCount: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r2, .L605 + ldr r2, .L606 stmfd sp!, {r4, r5, lr} .save {r4, r5, lr} - ldr r3, [r2, #-2008] + ldr r3, [r2, #-2004] cmp r3, #0 - beq .L604 - ldr r1, .L605+4 + beq .L605 + ldr r1, .L606+4 mov ip, #7 mov r5, #6 movw r4, #65535 @@ -4689,39 +4696,39 @@ GetFreeBlockMaxEraseCount: mov r1, r1, asr #3 cmp r0, r1 uxthgt r0, r1 - ldr r1, [r2, #-2028] - ldr r2, .L605+8 + ldr r1, [r2, #-2024] + ldr r2, .L606+8 rsb r3, r1, r3 mov r3, r3, asr #1 mul r3, r2, r3 mov r2, #0 uxth r3, r3 - b .L601 -.L603: + b .L602 +.L604: mul ip, r5, r3 ldrh ip, [r1, ip] cmp ip, r4 - beq .L602 + beq .L603 add r2, r2, #1 mov r3, ip uxth r2, r2 -.L601: - cmp r2, r0 - bne .L603 .L602: - ldr r2, .L605 + cmp r2, r0 + bne .L604 +.L603: + ldr r2, .L606 mov r3, r3, asl #1 - ldr r2, [r2, #-2084] + ldr r2, [r2, #-2080] ldrh r0, [r2, r3] ldmfd sp!, {r4, r5, pc} -.L604: +.L605: mov r0, r3 ldmfd sp!, {r4, r5, pc} -.L606: +.L607: .align 2 -.L605: +.L606: .word .LANCHOR2 - .word -2004 + .word -2000 .word -1431655765 .fnend .size GetFreeBlockMaxEraseCount, .-GetFreeBlockMaxEraseCount @@ -4735,27 +4742,27 @@ FtlPrintInfo2buf: stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, lr} .save {r4, r5, r6, r7, r8, r9, sl, lr} mov sl, r0 - ldr r5, .L617 + ldr r5, .L618 add r4, sl, #12 .pad #32 sub sp, sp, #32 - ldr r1, .L617+4 + ldr r1, .L618+4 bl strcpy mov r0, r4 - ldr r1, .L617+8 + ldr r1, .L618+8 ldr r2, [r5, #3048] bl sprintf - ldr r1, .L617+12 - ldr r2, [r5, #3928] + ldr r1, .L618+12 + ldr r2, [r5, #3932] add r4, r4, r0 mov r0, r4 bl sprintf - ldr r3, .L617+16 + ldr r3, .L618+16 ldr r3, [r3, #2996] cmp r3, #1 add r4, r4, r0 rsbne r0, sl, r4 - bne .L609 + bne .L610 add r0, sp, #16 add r1, sp, #20 add r2, sp, #24 @@ -4764,368 +4771,368 @@ FtlPrintInfo2buf: ldr r3, [sp, #24] ldr r2, [sp, #16] mov r0, r4 - ldr r1, .L617+20 + ldr r1, .L618+20 str r3, [sp, #0] ldr r3, [sp, #28] - ldr r8, .L617+24 + ldr r8, .L618+24 str r3, [sp, #4] ldr r3, [sp, #20] bl sprintf - ldr r1, .L617+28 + ldr r1, .L618+28 add r6, r4, r0 - ldr r4, .L617+32 + ldr r4, .L618+32 mov r0, r6 add r6, r6, #10 bl strcpy - ldr r2, [r5, #3972] + ldr r2, [r5, #3976] mov r0, r6 - ldr r1, .L617+36 + ldr r1, .L618+36 bl sprintf - ldr r1, .L617+40 - ldr r2, [r4, #-1848] + ldr r1, .L618+40 + ldr r2, [r4, #-1844] add r6, r6, r0 mov r0, r6 bl sprintf - ldr r1, .L617+44 - ldr r2, [r4, #-1840] - add r6, r6, r0 - mov r0, r6 - bl sprintf - ldr r1, .L617+48 + ldr r1, .L618+44 ldr r2, [r4, #-1836] add r6, r6, r0 mov r0, r6 bl sprintf - ldr r1, .L617+52 + ldr r1, .L618+48 ldr r2, [r4, #-1832] add r6, r6, r0 mov r0, r6 bl sprintf - ldr r1, .L617+56 + ldr r1, .L618+52 ldr r2, [r4, #-1828] add r6, r6, r0 mov r0, r6 bl sprintf - ldr r1, .L617+60 + ldr r1, .L618+56 ldr r2, [r4, #-1824] add r6, r6, r0 mov r0, r6 bl sprintf - ldr r1, .L617+64 + ldr r1, .L618+60 ldr r2, [r4, #-1820] add r6, r6, r0 mov r0, r6 bl sprintf + ldr r1, .L618+64 ldr r2, [r4, #-1816] - ldr r1, .L617+68 - mov r2, r2, lsr #11 add r6, r6, r0 mov r0, r6 bl sprintf ldr r2, [r4, #-1812] - ldr r1, .L617+72 + ldr r1, .L618+68 mov r2, r2, lsr #11 add r6, r6, r0 mov r0, r6 bl sprintf - ldr r1, .L617+76 ldr r2, [r4, #-1808] + ldr r1, .L618+72 + mov r2, r2, lsr #11 add r6, r6, r0 mov r0, r6 bl sprintf - ldr r1, .L617+80 + ldr r1, .L618+76 ldr r2, [r4, #-1804] add r6, r6, r0 mov r0, r6 bl sprintf + ldr r1, .L618+80 + ldr r2, [r4, #-1800] + add r6, r6, r0 + mov r0, r6 + bl sprintf add r6, r6, r0 bl FtlBbtCalcTotleCnt - movw r2, #3982 - ldr r1, .L617+84 + movw r2, #3986 + ldr r1, .L618+84 ldrh r2, [r5, r2] mov r3, r0 mov r0, r6 bl sprintf - ldr r1, .L617+88 + ldr r1, .L618+88 add r7, r6, r0 - ldr r6, .L617+92 + ldr r6, .L618+92 mov r0, r7 ldrh r2, [r4, r6] bl sprintf - ldr r1, .L617+96 - ldr r2, [r4, #-1800] - add r7, r7, r0 - mov r0, r7 - bl sprintf - ldr r1, .L617+100 + ldr r1, .L618+96 ldr r2, [r4, #-1796] add r7, r7, r0 mov r0, r7 bl sprintf - ldr r1, .L617+104 + ldr r1, .L618+100 ldr r2, [r4, #-1792] add r7, r7, r0 mov r0, r7 bl sprintf - ldr r1, .L617+108 - ldr r2, [r4, #-2080] - add r7, r7, r0 - mov r0, r7 - bl sprintf - ldr r1, .L617+112 + ldr r1, .L618+104 ldr r2, [r4, #-1788] add r7, r7, r0 mov r0, r7 bl sprintf - ldr r1, .L617+116 + ldr r1, .L618+108 + ldr r2, [r4, #-2076] + add r7, r7, r0 + mov r0, r7 + bl sprintf + ldr r1, .L618+112 ldr r2, [r4, #-1784] add r7, r7, r0 mov r0, r7 bl sprintf - ldr r3, .L617+120 - ldr r1, .L617+124 + ldr r1, .L618+116 + ldr r2, [r4, #-1780] + add r7, r7, r0 + mov r0, r7 + bl sprintf + ldr r3, .L618+120 + ldr r1, .L618+124 ldrh r2, [r4, r3] add r7, r7, r0 mov r0, r7 bl sprintf - ldr r3, .L617+128 - ldr r1, .L617+132 + ldr r3, .L618+128 + ldr r1, .L618+132 ldrh r2, [r4, r3] add r7, r7, r0 mov r0, r7 bl sprintf - ldr r2, [r5, #3952] - ldr r1, .L617+136 + ldr r2, [r5, #3956] + ldr r1, .L618+136 add r7, r7, r0 mov r0, r7 bl sprintf - ldr r2, [r5, #3944] - ldr r1, .L617+140 + ldr r2, [r5, #3948] + ldr r1, .L618+140 add r7, r7, r0 mov r0, r7 bl sprintf - ldr r2, [r5, #3840] - ldr r1, .L617+144 + ldr r2, [r5, #3844] + ldr r1, .L618+144 add r7, r7, r0 mov r0, r7 bl sprintf - movw r3, #4042 + movw r3, #4046 ldrh r2, [r5, r3] - ldr r1, .L617+148 + ldr r1, .L618+148 add r7, r7, r0 mov r0, r7 bl sprintf - movw r3, #3852 + mov r3, #3856 ldrh r2, [r5, r3] - ldr r1, .L617+152 + ldr r1, .L618+152 add r7, r7, r0 mov r0, r7 bl sprintf - ldr r3, .L617+156 - ldr r1, .L617+160 + ldr r3, .L618+156 + ldr r1, .L618+160 ldrh r2, [r4, r3] add r7, r7, r0 mov r0, r7 bl sprintf - ldr r2, [r5, #3856] - ldr r1, .L617+164 + ldr r2, [r5, #3860] + ldr r1, .L618+164 add r7, r7, r0 mov r0, r7 bl sprintf - ldr r3, .L617+168 - ldr r1, .L617+172 + ldr r3, .L618+168 + ldr r1, .L618+172 ldrh r2, [r4, r3] add r7, r7, r0 mov r0, r7 bl sprintf - movw r3, #3976 + movw r3, #3980 ldrh r2, [r5, r3] - ldr r1, .L617+176 + ldr r1, .L618+176 add r7, r7, r0 mov r0, r7 bl sprintf - ldr r3, .L617+180 - ldr r1, .L617+184 + ldr r3, .L618+180 + ldr r1, .L618+184 ldrh r2, [r4, r3] add r7, r7, r0 mov r0, r7 bl sprintf - ldr r1, .L617+188 - ldrb r2, [r4, #-1994] @ zero_extendqisi2 + ldr r1, .L618+188 + ldrb r2, [r4, #-1990] @ zero_extendqisi2 add r7, r7, r0 mov r0, r7 bl sprintf ldrh r2, [r4, r8] - ldr r1, .L617+192 + ldr r1, .L618+192 add r7, r7, r0 mov r0, r7 bl sprintf - ldr r1, .L617+196 - ldrb r2, [r4, #-1992] @ zero_extendqisi2 + ldr r1, .L618+196 + ldrb r2, [r4, #-1988] @ zero_extendqisi2 add r7, r7, r0 mov r0, r7 bl sprintf - ldr r3, .L617+200 - ldr r1, .L617+204 + ldr r3, .L618+200 + ldr r1, .L618+204 ldrh r2, [r4, r3] add r7, r7, r0 mov r0, r7 bl sprintf ldrh r3, [r4, r8] - ldr r2, [r4, #-2020] + ldr r2, [r4, #-2016] add r8, r8, #48 - ldr r1, .L617+208 + ldr r1, .L618+208 mov r3, r3, asl #1 ldrh r2, [r2, r3] add r7, r7, r0 mov r0, r7 bl sprintf - ldr r3, .L617+212 - ldr r1, .L617+216 + ldr r3, .L618+212 + ldr r1, .L618+216 ldrh r2, [r4, r3] add r7, r7, r0 mov r0, r7 bl sprintf - ldr r1, .L617+220 - ldrb r2, [r4, #-1946] @ zero_extendqisi2 + ldr r1, .L618+220 + ldrb r2, [r4, #-1942] @ zero_extendqisi2 add r7, r7, r0 mov r0, r7 bl sprintf ldrh r2, [r4, r8] - ldr r1, .L617+224 + ldr r1, .L618+224 add r7, r7, r0 mov r0, r7 bl sprintf - ldr r1, .L617+228 - ldrb r2, [r4, #-1944] @ zero_extendqisi2 + ldr r1, .L618+228 + ldrb r2, [r4, #-1940] @ zero_extendqisi2 add r7, r7, r0 mov r0, r7 bl sprintf - ldr r3, .L617+232 - ldr r1, .L617+236 + ldr r3, .L618+232 + ldr r1, .L618+236 ldrh r2, [r4, r3] add r7, r7, r0 mov r0, r7 bl sprintf ldrh r3, [r4, r8] - ldr r2, [r4, #-2020] + ldr r2, [r4, #-2016] add r8, r8, #188 - ldr r1, .L617+240 + ldr r1, .L618+240 mov r3, r3, asl #1 ldrh r2, [r2, r3] add r7, r7, r0 mov r0, r7 bl sprintf - ldr r3, .L617+244 - ldr r1, .L617+248 + ldr r3, .L618+244 + ldr r1, .L618+248 ldrh r2, [r4, r3] add r7, r7, r0 mov r0, r7 bl sprintf - ldr r1, .L617+252 - ldrb r2, [r4, #-1898] @ zero_extendqisi2 + ldr r1, .L618+252 + ldrb r2, [r4, #-1894] @ zero_extendqisi2 add r7, r7, r0 mov r0, r7 bl sprintf - ldr r3, .L617+256 - ldr r1, .L617+260 + ldr r3, .L618+256 + ldr r1, .L618+260 ldrh r2, [r4, r3] add r7, r7, r0 mov r0, r7 bl sprintf - ldr r1, .L617+264 - ldrb r2, [r4, #-1896] @ zero_extendqisi2 + ldr r1, .L618+264 + ldrb r2, [r4, #-1892] @ zero_extendqisi2 add r7, r7, r0 mov r0, r7 bl sprintf - ldr r3, .L617+268 - ldr r1, .L617+272 + ldr r3, .L618+268 + ldr r1, .L618+272 ldrh r2, [r4, r3] add r7, r7, r0 mov r0, r7 bl sprintf - ldr r3, .L617+276 - ldr r1, .L617+280 + ldr r3, .L618+276 + ldr r1, .L618+280 ldrh r2, [r4, r3] add r7, r7, r0 mov r0, r7 bl sprintf - ldr r1, .L617+284 - ldrb r2, [r4, #-1758] @ zero_extendqisi2 + ldr r1, .L618+284 + ldrb r2, [r4, #-1754] @ zero_extendqisi2 add r7, r7, r0 mov r0, r7 bl sprintf - ldr r1, .L617+288 + ldr r1, .L618+288 ldrh r2, [r4, r8] add r7, r7, r0 mov r0, r7 bl sprintf - ldr r1, .L617+292 - ldrb r2, [r4, #-1756] @ zero_extendqisi2 + ldr r1, .L618+292 + ldrb r2, [r4, #-1752] @ zero_extendqisi2 add r7, r7, r0 mov r0, r7 bl sprintf - ldr r3, .L617+296 - ldr r1, .L617+300 + ldr r3, .L618+296 + ldr r1, .L618+300 ldrh r2, [r4, r3] add r7, r7, r0 mov r0, r7 bl sprintf - ldr r1, [r4, #-1628] - ldr r3, [r5, #3836] - ldr r2, [r4, #-1716] + ldr r1, [r4, #-1624] + ldr r3, [r5, #3840] + ldr r2, [r4, #-1712] str r1, [sp, #0] - ldr r1, [r4, #-1636] + ldr r1, [r4, #-1632] orr r2, r3, r2, asl #8 str r1, [sp, #4] - ldr r1, .L617+304 - ldr r3, [r4, #-1632] + ldr r1, .L618+304 + ldr r3, [r4, #-1628] add r7, r7, r0 mov r0, r7 bl sprintf - ldr r1, .L617+308 - ldr r2, [r4, #-1640] + ldr r1, .L618+308 + ldr r2, [r4, #-1636] add r5, r7, r0 mov r0, r5 bl sprintf - ldr r1, .L617+312 - ldr r2, [r4, #-1616] + ldr r1, .L618+312 + ldr r2, [r4, #-1612] add r5, r5, r0 mov r0, r5 bl sprintf - ldr r3, .L617+316 - ldr r1, .L617+320 + ldr r3, .L618+316 + ldr r1, .L618+320 ldrh r2, [r4, r3] add r5, r5, r0 mov r0, r5 bl sprintf - ldr r3, .L617+324 - ldr r1, .L617+328 + ldr r3, .L618+324 + ldr r1, .L618+328 ldrh r2, [r4, r3] add r5, r5, r0 mov r0, r5 bl sprintf - ldr r1, .L617+332 - ldr r2, [r4, #-1196] + ldr r1, .L618+332 + ldr r2, [r4, #-1192] add r5, r5, r0 mov r0, r5 bl sprintf - ldr r3, .L617+336 - ldr r1, .L617+340 + ldr r3, .L618+336 + ldr r1, .L618+340 ldrh r2, [r4, r3] add r5, r5, r0 mov r0, r5 bl sprintf add r5, r5, r0 bl GetFreeBlockMinEraseCount - ldr r1, .L617+344 + ldr r1, .L618+344 mov r2, r0 mov r0, r5 bl sprintf add r5, r5, r0 ldrh r0, [r4, r6] bl GetFreeBlockMaxEraseCount - ldr r1, .L617+348 + ldr r1, .L618+348 mov r2, r0 mov r0, r5 bl sprintf @@ -5133,96 +5140,96 @@ FtlPrintInfo2buf: movw r2, #65535 cmp r3, r2 add r5, r5, r0 - beq .L610 - ldr r2, [r4, #-2020] + beq .L611 + ldr r2, [r4, #-2016] mov r3, r3, asl #1 mov r0, r5 - ldr r1, .L617+352 + ldr r1, .L618+352 ldrh r2, [r2, r3] bl sprintf add r5, r5, r0 -.L610: +.L611: mov r0, #0 - ldr r4, .L617+32 + ldr r4, .L618+32 bl List_get_gc_head_node mov r6, #0 movw r8, #65535 mov r9, #6 uxth r3, r0 -.L612: +.L613: cmp r3, r8 - beq .L611 - ldr r1, [r4, #-2020] + beq .L612 + ldr r1, [r4, #-2016] mov r2, r3, asl #1 mul r7, r9, r3 mov r0, r5 ldrh r1, [r1, r2] str r1, [sp, #0] - ldr r1, [r4, #-2028] + ldr r1, [r4, #-2024] add r1, r1, r7 ldrh r1, [r1, #4] str r1, [sp, #4] - ldr r1, [r4, #-2084] + ldr r1, [r4, #-2080] ldrh r2, [r1, r2] - ldr r1, .L617+356 + ldr r1, .L618+356 str r2, [sp, #8] mov r2, r6 bl sprintf add r6, r6, #1 - ldr r3, [r4, #-2028] + ldr r3, [r4, #-2024] cmp r6, #16 ldrh r3, [r3, r7] add r5, r5, r0 - bne .L612 -.L611: - ldr r6, .L617+32 + bne .L613 +.L612: + ldr r6, .L618+32 mov r4, #0 movw r8, #65535 mov r9, #6 - ldr r2, [r6, #-2008] - ldr r3, [r6, #-2028] + ldr r2, [r6, #-2004] + ldr r3, [r6, #-2024] rsb r3, r3, r2 - ldr r2, .L617+360 + ldr r2, .L618+360 mov r3, r3, asr #1 mul r3, r2, r3 uxth r3, r3 -.L614: +.L615: cmp r3, r8 - beq .L613 + beq .L614 mul r7, r9, r3 - ldr r2, [r6, #-2028] + ldr r2, [r6, #-2024] mov r0, r5 add r2, r2, r7 ldrh r2, [r2, #4] str r2, [sp, #0] mov r2, r3, asl #1 - ldr r1, [r6, #-2084] + ldr r1, [r6, #-2080] ldrh r2, [r1, r2] - ldr r1, .L617+364 + ldr r1, .L618+364 str r2, [sp, #4] mov r2, r4 bl sprintf add r4, r4, #1 - ldr r3, [r6, #-2028] + ldr r3, [r6, #-2024] cmp r4, #4 ldrh r3, [r3, r7] add r5, r5, r0 - bne .L614 -.L613: + bne .L615 +.L614: rsb r0, sl, r5 -.L609: +.L610: add sp, sp, #32 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, pc} -.L618: +.L619: .align 2 -.L617: +.L618: .word .LANCHOR0 .word .LC8 .word .LC9 .word .LC10 .word .LANCHOR1 .word .LC11 - .word -2000 + .word -1996 .word .LC12 .word .LANCHOR2 .word .LC13 @@ -5239,68 +5246,68 @@ FtlPrintInfo2buf: .word .LC24 .word .LC25 .word .LC26 - .word -2004 + .word -2000 .word .LC27 .word .LC28 .word .LC29 .word .LC30 .word .LC31 .word .LC32 - .word -2046 + .word -2042 .word .LC33 - .word -2048 + .word -2044 .word .LC34 .word .LC35 .word .LC36 .word .LC37 .word .LC38 .word .LC39 - .word -1780 + .word -1776 .word .LC40 .word .LC41 - .word -1776 + .word -1772 .word .LC42 .word .LC43 - .word -1998 + .word -1994 .word .LC44 .word .LC45 .word .LC46 .word .LC47 - .word -1996 + .word -1992 .word .LC48 .word .LC49 - .word -1950 + .word -1946 .word .LC50 .word .LC51 .word .LC52 .word .LC53 - .word -1948 + .word -1944 .word .LC54 .word .LC55 - .word -1902 + .word -1898 .word .LC56 .word .LC57 - .word -1904 + .word -1900 .word .LC58 .word .LC59 - .word -1900 + .word -1896 .word .LC60 - .word -1762 + .word -1758 .word .LC61 .word .LC62 .word .LC63 .word .LC64 - .word -1760 + .word -1756 .word .LC65 .word .LC66 .word .LC67 .word .LC68 - .word -1200 + .word -1196 .word .LC69 - .word -1198 + .word -1194 .word .LC70 .word .LC71 - .word -1192 + .word -1188 .word .LC72 .word .LC73 .word .LC74 @@ -5320,8 +5327,8 @@ ftl_proc_ftl_read: stmfd sp!, {r3, r4, r5, lr} .save {r3, r4, r5, lr} mov r4, r0 - ldr r1, .L620 - ldr r2, .L620+4 + ldr r1, .L621 + ldr r2, .L621+4 bl sprintf add r5, r4, r0 mov r0, r5 @@ -5329,9 +5336,9 @@ ftl_proc_ftl_read: add r0, r5, r0 rsb r0, r4, r0 ldmfd sp!, {r3, r4, r5, pc} -.L621: +.L622: .align 2 -.L620: +.L621: .word .LC78 .word .LC79 .fnend @@ -5343,85 +5350,85 @@ GetSwlReplaceBlock: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L647 + ldr r3, .L648 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} .pad #20 sub sp, sp, #20 - ldr r1, [r3, #-1792] - ldr r2, [r3, #-1784] + ldr r1, [r3, #-1788] + ldr r2, [r3, #-1780] cmp r1, r2 - bcs .L623 - ldr r0, .L647+4 - movw r1, #3852 + bcs .L624 + ldr r0, .L648+4 + mov r1, #3856 mov r2, #0 - str r2, [r3, #-1800] + str r2, [r3, #-1796] ldrh r1, [r0, r1] - ldr r0, [r3, #-2084] - b .L624 -.L625: + ldr r0, [r3, #-2080] + b .L625 +.L626: ldrh lr, [r0], #2 add r2, r2, #1 - ldr ip, [r3, #-1800] + ldr ip, [r3, #-1796] add ip, lr, ip - str ip, [r3, #-1800] -.L624: + str ip, [r3, #-1796] +.L625: cmp r2, r1 - ldr r4, .L647 - bcc .L625 - ldr r5, [r4, #-1800] + ldr r4, .L648 + bcc .L626 + ldr r5, [r4, #-1796] mov r0, r5 bl __aeabi_uidiv - ldr r2, .L647+4 - movw r3, #3902 + ldr r2, .L648+4 + movw r3, #3906 ldrh r1, [r2, r3] - str r0, [r4, #-1792] - ldr r0, [r4, #-1796] + str r0, [r4, #-1788] + ldr r0, [r4, #-1792] rsb r0, r0, r5 bl __aeabi_uidiv - str r0, [r4, #-1800] - b .L626 -.L623: - ldr r2, [r3, #-1788] - cmp r1, r2 - bls .L626 - add r2, r2, #1 - ldr r4, .L647+4 - str r2, [r3, #-1788] - movw ip, #3852 - mov r2, #0 + str r0, [r4, #-1796] b .L627 -.L628: - ldr r0, [r3, #-2084] +.L624: + ldr r2, [r3, #-1784] + cmp r1, r2 + bls .L627 + add r2, r2, #1 + ldr r4, .L648+4 + str r2, [r3, #-1784] + mov ip, #3856 + mov r2, #0 + b .L628 +.L629: + ldr r0, [r3, #-2080] mov r1, r2, asl #1 add r2, r2, #1 ldrh r5, [r0, r1] add r5, r5, #1 strh r5, [r0, r1] @ movhi -.L627: +.L628: ldrh r1, [r4, ip] cmp r2, r1 - bcc .L628 -.L626: - ldr r3, .L647 - ldr r6, [r3, #-1784] - ldr r5, [r3, #-1792] + bcc .L629 +.L627: + ldr r3, .L648 + ldr r6, [r3, #-1780] + ldr r5, [r3, #-1788] add r2, r6, #256 cmp r2, r5 mov r2, r3 - bls .L629 - ldr r3, [r3, #-1788] + bls .L630 + ldr r3, [r3, #-1784] add r1, r6, #768 cmp r1, r3 - bls .L629 - ldr r3, .L647+4 - ldr r3, [r3, #3836] + bls .L630 + ldr r3, .L648+4 + ldr r3, [r3, #3840] cmp r3, #0 - beq .L646 + beq .L647 cmp r6, #30 - bhi .L646 -.L629: - ldr r3, .L647+8 + bhi .L647 +.L630: + ldr r3, .L648+8 ldrh r0, [r2, r3] add r0, r0, r0, asl #1 ubfx r0, r0, #2, #16 @@ -5429,107 +5436,107 @@ GetSwlReplaceBlock: add r3, r6, #64 cmp r0, r3 mov r8, r0 - bcs .L631 + bcs .L632 cmp r6, #30 - bhi .L646 -.L631: - ldr r2, .L647 - ldr r3, [r2, #-2024] + bhi .L647 +.L632: + ldr r2, .L648 + ldr r3, [r2, #-2020] cmp r3, #0 - beq .L646 - ldr r0, .L647+4 - movw r1, #3852 + beq .L647 + ldr r0, .L648+4 + mov r1, #3856 movw r7, #65535 mov r4, r7 mov fp, r7 ldrh sl, [r0, r1] - ldr r0, [r2, #-2028] - ldr r1, [r2, #-2084] + ldr r0, [r2, #-2024] + ldr r1, [r2, #-2080] mov r2, #0 - b .L632 -.L635: + b .L633 +.L636: add r2, r2, #1 uxth r2, r2 cmp r2, sl - bhi .L646 + bhi .L647 ldrh ip, [r3, #4] cmp ip, #0 - beq .L633 + beq .L634 rsb r3, r0, r3 - ldr ip, .L647+12 + ldr ip, .L648+12 mov r3, r3, asr #1 mul r3, ip, r3 uxth r3, r3 mov ip, r3, asl #1 ldrh ip, [r1, ip] cmp ip, r6 - bls .L643 + bls .L644 cmp ip, r7 movcc r7, ip movcc r4, r3 -.L633: +.L634: mov ip, #6 mla r3, ip, r9, r0 -.L632: +.L633: ldrh r9, [r3, #0] cmp r9, fp - bne .L635 - b .L634 -.L643: + bne .L636 + b .L635 +.L644: mov r4, r3 -.L634: +.L635: movw r3, #65535 cmp r4, r3 - beq .L630 + beq .L631 mov r9, r4, asl #1 ldrh sl, [r1, r9] cmp sl, r6 - bls .L636 + bls .L637 bl GetFreeBlockMinEraseCount cmp r0, r6 - ldrhi r3, .L647 - strhi r7, [r3, #-1784] -.L636: + ldrhi r3, .L648 + strhi r7, [r3, #-1780] +.L637: cmp sl, r5 - bcs .L646 + bcs .L647 add r3, sl, #128 cmp r8, r3 - ble .L646 + ble .L647 add r3, sl, #256 - ldr r6, .L647 + ldr r6, .L648 cmp r3, r5 - bcc .L637 - ldr r3, [r6, #-1788] + bcc .L638 + ldr r3, [r6, #-1784] add sl, sl, #768 cmp sl, r3 - bcs .L646 -.L637: - ldr r3, [r6, #-2020] + bcs .L647 +.L638: + ldr r3, [r6, #-2016] mov r1, r4 - ldr r0, .L647+16 + ldr r0, .L648+16 mov r2, r5 ldrh r3, [r3, r9] str r3, [sp, #0] - ldr r3, [r6, #-2084] + ldr r3, [r6, #-2080] ldrh r3, [r3, r9] stmib sp, {r3, r8} - ldr r3, [r6, #-1788] + ldr r3, [r6, #-1784] bl printk mov r3, #1 - str r3, [r6, #-1188] - b .L630 -.L646: + str r3, [r6, #-1184] + b .L631 +.L647: movw r4, #65535 -.L630: +.L631: mov r0, r4 add sp, sp, #20 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L648: +.L649: .align 2 -.L647: +.L648: .word .LANCHOR2 .word .LANCHOR0 - .word -2004 + .word -2000 .word -1431655765 .word .LC80 .fnend @@ -5545,19 +5552,19 @@ free_data_superblock: cmp r0, r2 stmfd sp!, {r3, lr} .save {r3, lr} - beq .L650 - ldr r2, .L651 + beq .L651 + ldr r2, .L652 mov r3, r0, asl #1 mov r1, #0 - ldr r2, [r2, #-2020] + ldr r2, [r2, #-2016] strh r1, [r2, r3] @ movhi bl INSERT_FREE_LIST -.L650: +.L651: mov r0, #0 ldmfd sp!, {r3, pc} -.L652: +.L653: .align 2 -.L651: +.L652: .word .LANCHOR2 .fnend .size free_data_superblock, .-free_data_superblock @@ -5568,21 +5575,21 @@ FtlGcBufInit: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r2, .L661 + ldr r2, .L662 mov r3, #0 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} - movw sl, #3844 - str r3, [r2, #-1184] + movw sl, #3848 + str r3, [r2, #-1180] mov r8, #12 - ldr r0, .L661+4 + ldr r0, .L662+4 mov r7, #1 - movw r6, #3922 - movw fp, #3924 - b .L654 -.L655: + movw r6, #3926 + movw fp, #3928 + b .L655 +.L656: mul r1, r8, r3 - ldr r4, [r2, #-1180] + ldr r4, [r2, #-1176] add ip, r4, r1 str r7, [ip, #8] ldrh ip, [r0, r6] @@ -5590,22 +5597,22 @@ FtlGcBufInit: add r5, ip, #3 cmp ip, #0 movlt ip, r5 - ldr r5, [r2, #-1176] + ldr r5, [r2, #-1172] bic ip, ip, #3 add ip, r5, ip str ip, [r4, r1] ldrh ip, [r0, fp] - ldr r9, [r2, #-1180] + ldr r9, [r2, #-1176] mul ip, ip, r3 add r4, r9, r1 add r5, ip, #3 cmp ip, #0 movlt ip, r5 - ldr r5, [r2, #-1172] + ldr r5, [r2, #-1168] bic ip, ip, #3 add ip, r5, ip str ip, [r4, #4] - ldr ip, [r2, #-1168] + ldr ip, [r2, #-1164] mov r5, #36 ldr r1, [r9, r1] mla ip, r5, r3, ip @@ -5614,14 +5621,14 @@ FtlGcBufInit: str r1, [ip, #8] ldr r1, [r4, #4] str r1, [ip, #12] -.L654: +.L655: ldrh r1, [r0, sl] cmp r3, r1 - bcc .L655 - b .L660 -.L657: + bcc .L656 + b .L661 +.L658: mul r2, r8, r1 - ldr r4, [r3, #-1180] + ldr r4, [r3, #-1176] add r0, r4, r2 str r7, [r0, #8] ldrh r0, [ip, r6] @@ -5629,11 +5636,11 @@ FtlGcBufInit: add sl, r0, #3 cmp r0, #0 movlt r0, sl - ldr sl, [r3, #-1176] + ldr sl, [r3, #-1172] bic r0, r0, #3 add r0, sl, r0 str r0, [r4, r2] - ldr r0, [r3, #-1180] + ldr r0, [r3, #-1176] add r0, r0, r2 ldrh r2, [ip, r5] mul r2, r2, r1 @@ -5642,26 +5649,26 @@ FtlGcBufInit: add r4, r2, #3 cmp r2, #0 movlt r2, r4 - ldr r4, [r3, #-1172] + ldr r4, [r3, #-1168] bic r2, r2, #3 add r2, r4, r2 str r2, [r0, #4] - b .L659 -.L660: - ldr r3, .L661 - mov r8, #12 - ldr ip, .L661+4 - mov r7, #0 - movw r6, #3922 - movw r5, #3924 -.L659: - ldr r2, [r3, #-1164] - cmp r1, r2 - bcc .L657 - ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L662: - .align 2 + b .L660 .L661: + ldr r3, .L662 + mov r8, #12 + ldr ip, .L662+4 + mov r7, #0 + movw r6, #3926 + movw r5, #3928 +.L660: + ldr r2, [r3, #-1160] + cmp r1, r2 + bcc .L658 + ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} +.L663: + .align 2 +.L662: .word .LANCHOR2 .word .LANCHOR0 .fnend @@ -5673,42 +5680,42 @@ FtlGcBufFree: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L670 + ldr r3, .L671 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} mov r5, #36 - ldr r6, [r3, #-1164] + ldr r6, [r3, #-1160] mov fp, #12 - ldr ip, [r3, #-1180] + ldr ip, [r3, #-1176] mov r3, #0 mov r4, r3 - b .L664 -.L667: + b .L665 +.L668: mul sl, fp, r2 add r8, ip, sl ldr r9, [ip, sl] ldr sl, [r7, #8] cmp r9, sl streq r4, [r8, #8] - beq .L666 -.L665: + beq .L667 +.L666: add r2, r2, #1 uxth r2, r2 -.L669: +.L670: cmp r2, r6 - bcc .L667 -.L666: + bcc .L668 +.L667: add r3, r3, #1 uxth r3, r3 -.L664: +.L665: cmp r3, r1 ldmcsfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} mla r7, r5, r3, r0 mov r2, #0 - b .L669 -.L671: + b .L670 +.L672: .align 2 -.L670: +.L671: .word .LANCHOR2 .fnend .size FtlGcBufFree, .-FtlGcBufFree @@ -5719,47 +5726,47 @@ FtlGcBufAlloc: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L679 + ldr r3, .L680 stmfd sp!, {r4, r5, r6, r7, r8, sl, lr} .save {r4, r5, r6, r7, r8, sl, lr} mov r6, #12 - ldr r8, [r3, #-1164] + ldr r8, [r3, #-1160] mov r5, #1 - ldr r7, [r3, #-1180] + ldr r7, [r3, #-1176] mov r4, #36 mov r3, #0 - b .L673 -.L676: + b .L674 +.L677: mla ip, r6, r2, r7 ldr sl, [ip, #8] cmp sl, #0 - bne .L674 + bne .L675 mla r2, r4, r3, r0 ldr sl, [ip, #0] str r5, [ip, #8] str sl, [r2, #8] ldr ip, [ip, #4] str ip, [r2, #12] - b .L675 -.L674: + b .L676 +.L675: add r2, r2, #1 uxth r2, r2 - b .L677 -.L678: + b .L678 +.L679: mov r2, #0 -.L677: +.L678: cmp r2, r8 - bcc .L676 -.L675: + bcc .L677 +.L676: add r3, r3, #1 uxth r3, r3 -.L673: +.L674: cmp r3, r1 - bcc .L678 + bcc .L679 ldmfd sp!, {r4, r5, r6, r7, r8, sl, pc} -.L680: +.L681: .align 2 -.L679: +.L680: .word .LANCHOR2 .fnend .size FtlGcBufAlloc, .-FtlGcBufAlloc @@ -5771,31 +5778,31 @@ IsBlkInGcList: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L686 - ldr r2, .L686+4 + ldr r3, .L687 + ldr r2, .L687+4 ldrh r1, [r3, r2] - ldr r2, [r3, #-1156] + ldr r2, [r3, #-1152] mov r3, #0 - b .L682 -.L684: + b .L683 +.L685: ldrh ip, [r2], #2 cmp ip, r0 - beq .L685 + beq .L686 add r3, r3, #1 uxth r3, r3 -.L682: +.L683: cmp r3, r1 - bne .L684 + bne .L685 mov r0, #0 bx lr -.L685: +.L686: mov r0, #1 bx lr -.L687: +.L688: .align 2 -.L686: +.L687: .word .LANCHOR2 - .word -1160 + .word -1156 .fnend .size IsBlkInGcList, .-IsBlkInGcList .align 2 @@ -5812,36 +5819,36 @@ FtlGcUpdatePage: mov r5, r1 mov r6, r2 bl P2V_block_in_plane - ldr r3, .L692 - ldr r2, .L692+4 + ldr r3, .L693 + ldr r2, .L693+4 ldrh ip, [r3, r2] - ldr r2, [r3, #-1156] + ldr r2, [r3, #-1152] mov r3, #0 mov r1, r2 - b .L689 -.L691: + b .L690 +.L692: ldrh r7, [r1], #2 cmp r7, r0 - beq .L690 + beq .L691 add r3, r3, #1 uxth r3, r3 -.L689: +.L690: cmp r3, ip - bne .L691 + bne .L692 mov r3, r3, asl #1 strh r0, [r2, r3] @ movhi - ldr r2, .L692 - ldr r3, .L692+4 + ldr r2, .L693 + ldr r3, .L693+4 ldrh r1, [r2, r3] add r1, r1, #1 strh r1, [r2, r3] @ movhi -.L690: - ldr r3, .L692 +.L691: + ldr r3, .L693 mov r0, #12 - ldr r2, .L692+8 + ldr r2, .L693+8 ldrh r1, [r3, r2] mul r1, r0, r1 - ldr r0, [r3, #-1152] + ldr r0, [r3, #-1148] add ip, r0, r1 stmib ip, {r5, r6} str r4, [r0, r1] @@ -5849,12 +5856,12 @@ FtlGcUpdatePage: add r1, r1, #1 strh r1, [r3, r2] @ movhi ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L693: +.L694: .align 2 -.L692: +.L693: .word .LANCHOR2 - .word -1160 - .word -1148 + .word -1156 + .word -1144 .fnend .size FtlGcUpdatePage, .-FtlGcUpdatePage .align 2 @@ -5868,33 +5875,33 @@ FtlGcRefreshOpenBlock: .save {r3, r4, r5, lr} mov r4, r0 mov r1, r4 - ldr r0, .L697 + ldr r0, .L698 bl printk - ldr r3, .L697+4 - ldr ip, .L697+8 + ldr r3, .L698+4 + ldr ip, .L698+8 ldrh r5, [r3, ip] cmp r5, r4 - beq .L695 - ldr r2, .L697+12 + beq .L696 + ldr r2, .L698+12 ldrh r0, [r3, r2] cmp r0, r4 - beq .L695 + beq .L696 movw r1, #65535 cmp r5, r1 streqh r4, [r3, ip] @ movhi - beq .L695 + beq .L696 cmp r0, r1 streqh r4, [r3, r2] @ movhi -.L695: +.L696: mov r0, #0 ldmfd sp!, {r3, r4, r5, pc} -.L698: +.L699: .align 2 -.L697: +.L698: .word .LC81 .word .LANCHOR2 - .word -1146 - .word -1144 + .word -1142 + .word -1140 .fnend .size FtlGcRefreshOpenBlock, .-FtlGcRefreshOpenBlock .align 2 @@ -5908,33 +5915,33 @@ FtlGcRefreshBlock: .save {r3, r4, r5, lr} mov r4, r0 mov r1, r4 - ldr r0, .L702 + ldr r0, .L703 bl printk - ldr r3, .L702+4 - ldr ip, .L702+8 + ldr r3, .L703+4 + ldr ip, .L703+8 ldrh r5, [r3, ip] cmp r5, r4 - beq .L700 - ldr r2, .L702+12 + beq .L701 + ldr r2, .L703+12 ldrh r0, [r3, r2] cmp r0, r4 - beq .L700 + beq .L701 movw r1, #65535 cmp r5, r1 streqh r4, [r3, ip] @ movhi - beq .L700 + beq .L701 cmp r0, r1 streqh r4, [r3, r2] @ movhi -.L700: +.L701: mov r0, #0 ldmfd sp!, {r3, r4, r5, pc} -.L703: +.L704: .align 2 -.L702: +.L703: .word .LC81 .word .LANCHOR2 - .word -1146 - .word -1144 + .word -1142 + .word -1140 .fnend .size FtlGcRefreshBlock, .-FtlGcRefreshBlock .align 2 @@ -5948,60 +5955,59 @@ FtlGcMarkBadPhyBlk: .save {r3, r4, r5, r6, r7, lr} mov r4, r0 bl P2V_block_in_plane - ldr r7, .L709 + ldr r7, .L710 mov r2, r4 - ldr r6, .L709+4 + ldr r6, .L710+4 ldrh r1, [r7, r6] mov r5, r0 - ldr r0, .L709+8 + ldr r0, .L710+8 bl printk mov r0, r5 bl FtlGcRefreshBlock - ldr r3, .L709+12 - ldr r3, [r3, #3836] + ldr r3, .L710+12 + ldr r3, [r3, #3840] cmp r3, #0 - beq .L705 - ldr r3, [r7, #-2084] + beq .L706 + ldr r3, [r7, #-2080] mov r5, r5, asl #1 ldrh r2, [r3, r5] cmp r2, #29 subhi r2, r2, #30 strhih r2, [r3, r5] @ movhi -.L705: +.L706: ldrh r1, [r7, r6] mov r3, #0 - ldr r2, .L709+16 - b .L706 -.L708: + ldr r2, .L710+16 + b .L707 +.L709: ldrh r0, [r2, #2]! cmp r0, r4 - beq .L707 + beq .L708 add r3, r3, #1 uxth r3, r3 -.L706: - cmp r3, r1 - bne .L708 - cmp r3, #15 - bhi .L707 - ldr r2, .L709 - ldr r1, .L709+20 - add r0, r2, r3, asl #1 - add r3, r3, #1 - strh r4, [r0, r1] @ movhi - sub r1, r1, #2 - strh r3, [r2, r1] @ movhi .L707: + cmp r3, r1 + bne .L709 + cmp r3, #15 + bhi .L708 + ldr r2, .L710 + add r1, r2, r3, asl #1 + add r3, r3, #1 + sub r1, r1, #1136 + strh r4, [r1, #0] @ movhi + ldr r1, .L710+4 + strh r3, [r2, r1] @ movhi +.L708: mov r0, #0 ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L710: +.L711: .align 2 -.L709: +.L710: .word .LANCHOR2 - .word -1142 + .word -1138 .word .LC82 .word .LANCHOR0 - .word .LANCHOR2-1142 - .word -1140 + .word .LANCHOR2-1138 .fnend .size FtlGcMarkBadPhyBlk, .-FtlGcMarkBadPhyBlk .align 2 @@ -6013,42 +6019,41 @@ FtlGcReFreshBadBlk: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r3, r4, r5, lr} .save {r3, r4, r5, lr} - ldr r2, .L714 - ldr r3, .L714+4 + ldr r2, .L715 + ldr r3, .L715+4 ldrh r2, [r3, r2] cmp r2, #0 - beq .L712 - ldr r1, .L714+8 + beq .L713 + ldr r1, .L715+8 ldrh r0, [r3, r1] movw r1, #65535 cmp r0, r1 - bne .L712 - ldr r4, .L714+12 - ldr r5, .L714+4 + bne .L713 + ldr r4, .L715+12 + ldr r5, .L715+4 ldrh r1, [r3, r4] cmp r1, r2 movcs r2, #0 strcsh r2, [r3, r4] @ movhi - ldrh r2, [r5, r4] - ldr r3, .L714+16 - add r2, r5, r2, asl #1 - ldrh r0, [r2, r3] + ldrh r3, [r5, r4] + add r3, r5, r3, asl #1 + sub r3, r3, #1136 + ldrh r0, [r3, #0] bl P2V_block_in_plane bl FtlGcRefreshBlock ldrh r3, [r5, r4] add r3, r3, #1 strh r3, [r5, r4] @ movhi -.L712: +.L713: mov r0, #0 ldmfd sp!, {r3, r4, r5, pc} -.L715: +.L716: .align 2 -.L714: - .word -1142 +.L715: + .word -1138 .word .LANCHOR2 - .word -1146 - .word -1106 - .word -1140 + .word -1142 + .word -1102 .fnend .size FtlGcReFreshBadBlk, .-FtlGcReFreshBadBlk .align 2 @@ -6062,9 +6067,9 @@ ftl_memset: stmfd sp!, {r4, lr} .save {r4, lr} mov r4, r0 - beq .L717 + beq .L718 bl memset -.L717: +.L718: mov r0, r4 ldmfd sp!, {r4, pc} .fnend @@ -6079,12 +6084,12 @@ FtlGcPageVarInit: stmfd sp!, {r4, r5, r6, lr} .save {r4, r5, r6, lr} mov r3, #0 - ldr r4, .L719 - movw r5, #3916 - ldr r2, .L719+4 + ldr r4, .L720 + mov r5, #3920 + ldr r2, .L720+4 mov r1, #255 - ldr r6, .L719+8 - ldr r0, [r4, #-1156] + ldr r6, .L720+8 + ldr r0, [r4, #-1152] strh r3, [r4, r2] @ movhi add r2, r2, #12 strh r3, [r4, r2] @ movhi @@ -6093,17 +6098,17 @@ FtlGcPageVarInit: bl ftl_memset ldrh r3, [r6, r5] mov r2, #12 - ldr r0, [r4, #-1152] + ldr r0, [r4, #-1148] mov r1, #255 mul r2, r2, r3 bl ftl_memset ldmfd sp!, {r4, r5, r6, lr} b FtlGcBufInit -.L720: +.L721: .align 2 -.L719: +.L720: .word .LANCHOR2 - .word -1160 + .word -1156 .word .LANCHOR0 .fnend .size FtlGcPageVarInit, .-FtlGcPageVarInit @@ -6116,126 +6121,126 @@ SupperBlkListInit: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r0, r1, r2, r4, r5, r6, r7, r8, r9, sl, fp, lr} - movw r3, #3854 - ldr r7, .L731 + movw r3, #3858 + ldr r7, .L732 mov r2, #6 - ldr r4, .L731+4 + ldr r4, .L732+4 mov r1, #0 mov r6, #0 ldrh r3, [r7, r3] mov sl, r6 - ldr r0, [r4, #-2028] + ldr r0, [r4, #-2024] mul r2, r2, r3 bl ftl_memset - ldr r3, .L731+8 - str r6, [r4, #-2008] - str r6, [r4, #-2024] + ldr r3, .L732+8 + str r6, [r4, #-2004] + str r6, [r4, #-2020] strh r6, [r4, r3] @ movhi add r3, r3, #8 - str r6, [r4, #-2016] + str r6, [r4, #-2012] strh r6, [r4, r3] @ movhi add r3, r3, #900 strh r6, [r4, r3] @ movhi mov r4, r6 - b .L722 -.L724: - add r1, r7, r1 + b .L723 +.L725: + add r2, r7, r2 + mov r1, fp add r9, r9, #1 - ldrb r0, [r1, #3870] @ zero_extendqisi2 - mov r1, r3 - stmia sp, {r2, r3} + ldrb r0, [r2, #3874] @ zero_extendqisi2 + str r3, [sp, #4] bl V2P_block bl FtlBbmIsBadBlock - ldmia sp, {r2, r3} + ldr r3, [sp, #4] uxth r9, r9 cmp r0, #0 - ldreqh r1, [r7, r2] - addeq r5, r5, r1 + ldreqh r2, [r7, r3] + addeq r5, r5, r2 uxtheq r5, r5 - b .L729 -.L730: + b .L730 +.L731: mov r5, #0 - uxth r3, r4 + uxth fp, r4 mov r9, r5 - movw fp, #3844 - movw r2, #3912 -.L729: - ldrh r0, [r7, fp] - sxth r1, r9 - cmp r1, r0 - blt .L724 + movw r3, #3916 +.L730: + movw r0, #3848 + sxth r2, r9 + ldrh r1, [r7, r0] + cmp r2, r1 + blt .L725 cmp r5, #0 - ldr r9, .L731+4 - beq .L725 + ldr r9, .L732+4 + beq .L726 sxth r1, r5 mov r0, #32768 bl __aeabi_idiv uxth r5, r0 - b .L726 -.L725: + b .L727 +.L726: sxth r3, r4 - ldr r2, [r9, #-2020] + ldr r2, [r9, #-2016] mvn r1, #0 mov r3, r3, asl #1 strh r1, [r2, r3] @ movhi -.L726: +.L727: sxth r1, r4 - ldr r0, [r9, #-2028] - ldr r3, .L731+4 + ldr r0, [r9, #-2024] + ldr r3, .L732+4 mov r2, r1, asl #1 add r1, r2, r1 add r1, r0, r1, asl #1 strh r5, [r1, #4] @ movhi - ldr r1, .L731+12 + ldr r1, .L732+12 ldrh r1, [r9, r1] cmp r8, r1 - beq .L727 - ldr r1, .L731+16 + beq .L728 + ldr r1, .L732+16 ldrh r1, [r3, r1] cmp r8, r1 - beq .L727 - ldr r1, .L731+20 + beq .L728 + ldr r1, .L732+20 ldrh r1, [r3, r1] cmp r8, r1 - beq .L727 - ldr r3, [r3, #-2020] + beq .L728 + ldr r3, [r3, #-2016] uxth r0, r4 ldrh r3, [r3, r2] cmp r3, #0 - bne .L728 + bne .L729 add r6, r6, #1 uxth r6, r6 bl INSERT_FREE_LIST - b .L727 -.L728: + b .L728 +.L729: add sl, sl, #1 uxth sl, sl bl INSERT_DATA_LIST -.L727: +.L728: add r4, r4, #1 uxth r4, r4 -.L722: - movw r2, #3852 +.L723: + mov r3, #3856 sxth r8, r4 - ldrh r3, [r7, r2] + ldrh r3, [r7, r3] cmp r8, r3 - blt .L730 - ldr r3, .L731+4 + blt .L731 + ldr r3, .L732+4 mov r0, #0 - ldr r2, .L731+8 + ldr r2, .L732+8 strh sl, [r3, r2] @ movhi add r2, r2, #8 strh r6, [r3, r2] @ movhi ldmfd sp!, {r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L732: +.L733: .align 2 -.L731: +.L732: .word .LANCHOR0 .word .LANCHOR2 - .word -2012 - .word -2000 - .word -1952 - .word -1904 + .word -2008 + .word -1996 + .word -1948 + .word -1900 .fnend .size SupperBlkListInit, .-SupperBlkListInit .align 2 @@ -6248,33 +6253,33 @@ FtlL2PDataInit: stmfd sp!, {r3, r4, r5, r6, r7, r8, sl, lr} .save {r3, r4, r5, r6, r7, r8, sl, lr} mov r1, #0 - ldr r4, .L736 - movw r6, #3922 - ldr r5, .L736+4 - movw r7, #3950 + ldr r4, .L737 + movw r6, #3926 + ldr r5, .L737+4 + movw r7, #3954 mov r8, #12 - ldr r2, [r4, #3940] - ldr r0, [r5, #-1100] + ldr r2, [r4, #3944] + ldr r0, [r5, #-1096] mov r2, r2, asl #1 bl ftl_memset ldrh r3, [r4, r6] ldrh r2, [r4, r7] mov r1, #255 - ldr r0, [r5, #-1096] + ldr r0, [r5, #-1092] mul r2, r2, r3 bl ftl_memset mov r2, #0 mov ip, r2 mvn r0, #0 - b .L734 -.L735: + b .L735 +.L736: mul r3, r8, r2 - ldr r1, [r5, #-1856] + ldr r1, [r5, #-1852] add sl, r1, r3 str ip, [sl, #4] strh r0, [r1, r3] @ movhi - ldr r1, [r5, #-1856] - ldr sl, [r5, #-1096] + ldr r1, [r5, #-1852] + ldr sl, [r5, #-1092] add r3, r1, r3 ldrh r1, [r4, r6] mul r1, r2, r1 @@ -6283,52 +6288,52 @@ FtlL2PDataInit: bic r1, r1, #3 add r1, sl, r1 str r1, [r3, #8] -.L734: +.L735: ldrh r3, [r4, r7] - ldr r1, .L736 + ldr r1, .L737 cmp r3, r2 - ldr r3, .L736+4 - bhi .L735 - ldr r0, .L736+8 + ldr r3, .L737+4 + bhi .L736 + ldr r0, .L737+8 mvn r2, #0 - ldr ip, [r1, #3940] + ldr ip, [r1, #3944] strh r2, [r3, r0] @ movhi - sub r0, r0, #2 + ldr r0, .L737+12 strh r2, [r3, r0] @ movhi add r0, r0, #10 strh ip, [r3, r0] @ movhi - ldr ip, .L736+12 - ldr r0, .L736+16 + sub r0, r0, #6 + ldr ip, .L737+16 strh ip, [r3, r0] @ movhi add r0, r0, #40 ldrh ip, [r3, r0] sub r0, r0, #36 strh ip, [r3, r0] @ movhi - movw r0, #3948 + mov r0, #3952 ldrh r0, [r1, r0] - ldr r1, .L736+20 + ldr r1, .L737+20 strh r0, [r3, r1] @ movhi - ldr r1, [r3, #-1044] - str r1, [r3, #-1080] ldr r1, [r3, #-1040] str r1, [r3, #-1076] - ldr r1, [r3, #-1100] - str r1, [r3, #-1072] ldr r1, [r3, #-1036] + str r1, [r3, #-1072] + ldr r1, [r3, #-1096] str r1, [r3, #-1068] - ldr r1, .L736+24 + ldr r1, [r3, #-1032] + str r1, [r3, #-1064] + ldr r1, .L737+24 strh r2, [r3, r1] @ movhi ldmfd sp!, {r3, r4, r5, r6, r7, r8, sl, pc} -.L737: +.L738: .align 2 -.L736: +.L737: .word .LANCHOR0 .word .LANCHOR2 - .word -1090 - .word -3902 - .word -1088 .word -1086 - .word -1052 + .word -1088 + .word -3902 + .word -1082 + .word -1048 .fnend .size FtlL2PDataInit, .-FtlL2PDataInit .align 2 @@ -6350,13 +6355,13 @@ ftl_free_no_use_map_blk: mov r0, r5 bl ftl_memset mov r3, #0 - b .L739 -.L743: + b .L740 +.L744: ldr r0, [r7, r3, asl #2] mov r2, #0 ubfx r0, r0, #10, #16 - b .L740 -.L742: + b .L741 +.L743: mov r1, r2, asl #1 add r2, r2, #1 ldrh ip, [r6, r1] @@ -6365,42 +6370,42 @@ ftl_free_no_use_map_blk: ldreqh ip, [r5, r1] addeq ip, ip, #1 streqh ip, [r5, r1] @ movhi -.L740: +.L741: ldrh r1, [r4, #10] cmp r1, r2 - bhi .L742 + bhi .L743 add r3, r3, #1 uxth r3, r3 -.L739: +.L740: ldrh r2, [r4, #6] cmp r2, r3 - bhi .L743 + bhi .L744 mov sl, #0 ldrh fp, [r5, #0] mov r7, sl - ldr r3, .L749 - movw r2, #3914 - b .L744 -.L748: + ldr r3, .L750 + movw r2, #3918 + b .L745 +.L749: ldrh r1, [r4, #0] cmp r1, r7 - bne .L745 + bne .L746 ldrh r0, [r4, #2] ldrh r1, [r3, r2] cmp r0, r1 movcc r0, r7, asl #1 strcch r1, [r5, r0] @ movhi -.L745: +.L746: mov r9, r7, asl #1 ldrh r8, [r5, r9] cmp fp, r8 movhi sl, r7 movhi fp, r8 cmp r8, #0 - bne .L747 + bne .L748 ldrh r0, [r6, r9] cmp r0, #0 - beq .L747 + beq .L748 mov r1, #1 stmia sp, {r2, r3} bl FtlFreeSysBlkQueueIn @@ -6409,18 +6414,18 @@ ftl_free_no_use_map_blk: ldrh r1, [r4, #8] sub r1, r1, #1 strh r1, [r4, #8] @ movhi -.L747: +.L748: add r7, r7, #1 uxth r7, r7 -.L744: +.L745: ldrh r1, [r4, #10] cmp r1, r7 - bhi .L748 + bhi .L749 mov r0, sl ldmfd sp!, {r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L750: +.L751: .align 2 -.L749: +.L750: .word .LANCHOR0 .fnend .size ftl_free_no_use_map_blk, .-ftl_free_no_use_map_blk @@ -6431,8 +6436,8 @@ FtlFreeSysBlkQueueInit: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L752 - movw r2, #4038 + ldr r3, .L753 + movw r2, #4042 stmfd sp!, {r4, lr} .save {r4, lr} mov r4, #0 @@ -6442,18 +6447,17 @@ FtlFreeSysBlkQueueInit: strh r4, [r3, r2] @ movhi add r2, r2, #2 strh r4, [r3, r2] @ movhi - movw r2, #4036 + movw r2, #4040 strh r0, [r3, r2] @ movhi + add r0, r3, #4048 mov r2, #2048 - ldr r0, .L752+4 bl ftl_memset mov r0, r4 ldmfd sp!, {r4, pc} -.L753: +.L754: .align 2 -.L752: +.L753: .word .LANCHOR0 - .word .LANCHOR0+4044 .fnend .size FtlFreeSysBlkQueueInit, .-FtlFreeSysBlkQueueInit .align 2 @@ -6464,10 +6468,10 @@ FtlBbtMemInit: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L755 - movw r2, #3976 + ldr r3, .L756 + movw r2, #3980 mvn r1, #0 - ldr r0, .L755+4 + ldr r0, .L756+4 strh r1, [r3, r2] @ movhi add r2, r2, #6 mov r1, #0 @@ -6475,11 +6479,11 @@ FtlBbtMemInit: mov r1, #255 mov r2, #16 b ftl_memset -.L756: +.L757: .align 2 -.L755: +.L756: .word .LANCHOR0 - .word .LANCHOR0+3988 + .word .LANCHOR0+3992 .fnend .size FtlBbtMemInit, .-FtlBbtMemInit .align 2 @@ -6489,8 +6493,8 @@ FtlBbt2Bitmap: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L761 - ldr r2, .L761+4 + ldr r3, .L762 + ldr r2, .L762+4 stmfd sp!, {r4, r5, r6, lr} .save {r4, r5, r6, lr} mov r5, r0 @@ -6503,7 +6507,7 @@ FtlBbt2Bitmap: mov r3, #0 movw ip, #65535 mov r0, #1 -.L759: +.L760: ldrh r2, [r5, r3] cmp r2, ip ldmeqfd sp!, {r4, r5, r6, pc} @@ -6514,12 +6518,12 @@ FtlBbt2Bitmap: ldr r6, [r4, r1, asl #2] orr r2, r6, r0, asl r2 str r2, [r4, r1, asl #2] - bne .L759 + bne .L760 ldmfd sp!, {r4, r5, r6, pc} -.L762: +.L763: .align 2 -.L761: - .word -1032 +.L762: + .word -1028 .word .LANCHOR2 .fnend .size FtlBbt2Bitmap, .-FtlBbt2Bitmap @@ -6533,54 +6537,55 @@ FtlVariablesInit: stmfd sp!, {r3, r4, r5, r6, r7, lr} .save {r3, r4, r5, r6, r7, lr} mvn r3, #0 - ldr r5, .L764 + ldr r5, .L765 mov r4, #0 - ldr r2, .L764+4 + ldr r2, .L765+4 mov r1, r4 - ldr r6, .L764+8 - movw r7, #3854 - str r3, [r5, #-1012] + ldr r6, .L765+8 + movw r7, #3858 + str r3, [r5, #-1008] strh r3, [r5, r2] @ movhi - movw r3, #3958 + movw r3, #3962 strh r4, [r6, r3] @ movhi - movw r3, #3932 + mov r3, #3936 ldrh r2, [r6, r3] - ldr r0, [r6, #3960] - str r4, [r5, #-1028] + ldr r0, [r6, #3964] + str r4, [r5, #-1024] mov r2, r2, asl #1 - str r4, [r5, #-1020] str r4, [r5, #-1016] - str r4, [r6, #3836] + str r4, [r5, #-1012] + str r4, [r6, #3840] bl ftl_memset ldrh r2, [r6, r7] mov r1, r4 - ldr r0, [r5, #-2084] + ldr r0, [r5, #-2080] mov r2, r2, asl #1 bl ftl_memset ldrh r2, [r6, r7] mov r1, r4 - ldr r0, [r5, #-1008] + ldr r0, [r5, #-1004] mov r2, r2, asl #1 bl ftl_memset mov r1, r4 mov r2, #48 - ldr r0, .L764+12 + ldr r0, .L765+12 bl ftl_memset mov r1, r4 mov r2, #512 - sub r0, r5, #1712 + ldr r0, .L765+16 bl ftl_memset bl FtlGcBufInit bl FtlL2PDataInit mov r0, r4 ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L765: +.L766: .align 2 -.L764: +.L765: .word .LANCHOR2 - .word -1024 + .word -1020 .word .LANCHOR0 - .word .LANCHOR2-2076 + .word .LANCHOR2-2072 + .word .LANCHOR2-1708 .fnend .size FtlVariablesInit, .-FtlVariablesInit .align 2 @@ -6593,158 +6598,158 @@ FtlMemInit: stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, lr} .save {r4, r5, r6, r7, r8, r9, sl, lr} mov r6, #0 - ldr r4, .L797 + ldr r4, .L798 mov r0, #1024 - ldr r3, .L797+4 + ldr r3, .L798+4 mov r7, #12 - ldr r2, .L797+8 - movw sl, #3844 - ldr r5, .L797+12 + ldr r2, .L798+8 + movw sl, #3848 + ldr r5, .L798+12 mov r8, #36 strh r6, [r4, r3] @ movhi movw r3, #65535 - str r3, [r4, #-996] + str r3, [r4, #-992] mvn r3, #0 strh r3, [r4, r2] @ movhi add r2, r2, #2 - str r6, [r4, #-1004] + str r6, [r4, #-1000] strh r3, [r4, r2] @ movhi mov r2, #32 - ldr r3, .L797+16 - str r6, [r4, #-1716] - str r6, [r4, #-1808] + ldr r3, .L798+16 + str r6, [r4, #-1712] + str r6, [r4, #-1804] strh r2, [r4, r3] @ movhi add r3, r3, #2 mov r2, #128 - str r6, [r4, #-1804] + str r6, [r4, #-1800] strh r2, [r4, r3] @ movhi add r3, r3, #6 - str r6, [r4, #-1820] + str r6, [r4, #-1816] strh r6, [r4, r3] @ movhi add r3, r3, #50 - str r6, [r4, #-1832] - strh r6, [r4, r3] @ movhi - add r3, r3, #158 - str r6, [r4, #-1836] - strh r6, [r4, r3] @ movhi - sub r3, r3, #122 str r6, [r4, #-1828] strh r6, [r4, r3] @ movhi - movw r3, #3918 - ldrh r1, [r5, r3] + add r3, r3, #158 + str r6, [r4, #-1832] + strh r6, [r4, r3] @ movhi + sub r3, r3, #122 str r6, [r4, #-1824] - str r6, [r4, #-1840] - str r6, [r4, #-1800] + strh r6, [r4, r3] @ movhi + movw r3, #3922 + ldrh r1, [r5, r3] + str r6, [r4, #-1820] + str r6, [r4, #-1836] str r6, [r4, #-1796] - str r6, [r4, #-2080] - str r6, [r4, #-1788] + str r6, [r4, #-1792] + str r6, [r4, #-2076] str r6, [r4, #-1784] - str r6, [r4, #-1000] - str r6, [r4, #-1188] - str r6, [r4, #-992] - str r6, [r4, #-1196] + str r6, [r4, #-1780] + str r6, [r4, #-996] + str r6, [r4, #-1184] str r6, [r4, #-988] + str r6, [r4, #-1192] + str r6, [r4, #-984] bl __aeabi_idiv - movw r3, #3844 + movw r3, #3848 ldrh r3, [r5, r3] - str r6, [r5, #3964] - movw r6, #3916 + str r6, [r5, #3968] + mov r6, #3920 mov r3, r3, asl #2 cmp r0, r3 - str r0, [r4, #-980] + str r0, [r4, #-976] ldrh r0, [r5, r6] - strhi r3, [r4, #-980] - ldr r4, .L797 + strhi r3, [r4, #-976] + ldr r4, .L798 mov r0, r0, asl #1 bl ftl_malloc - str r0, [r4, #-1156] + str r0, [r4, #-1152] ldrh r0, [r5, r6] mul r0, r7, r0 bl ftl_malloc ldrh r6, [r5, sl] mul r6, r8, r6 mov r9, r6, asl #3 - str r0, [r4, #-1152] + str r0, [r4, #-1148] mov r0, r9 bl ftl_malloc - str r0, [r4, #-976] - mov r0, r6 - bl ftl_malloc str r0, [r4, #-972] - mov r0, r9 + mov r0, r6 bl ftl_malloc str r0, [r4, #-968] + mov r0, r9 + bl ftl_malloc + str r0, [r4, #-964] mov r0, r6 bl ftl_malloc - str r0, [r4, #-2088] + str r0, [r4, #-2084] mov r0, r6 bl ftl_malloc - str r0, [r4, #-1168] - ldr r0, [r4, #-980] + str r0, [r4, #-1164] + ldr r0, [r4, #-976] mul r0, r8, r0 bl ftl_malloc - movw r8, #3922 + movw r8, #3926 ldrh r3, [r5, sl] ldrh r6, [r5, r8] mov r3, r3, asl #1 add r3, r3, #1 - str r3, [r4, #-1164] - str r0, [r5, #3968] - mov r0, r6 - bl ftl_malloc - str r0, [r4, #-964] + str r3, [r4, #-1160] + str r0, [r5, #3972] mov r0, r6 bl ftl_malloc str r0, [r4, #-960] mov r0, r6 bl ftl_malloc str r0, [r4, #-956] - ldr r0, [r4, #-1164] - mul r0, r0, r6 - bl ftl_malloc - str r0, [r4, #-1176] - ldr r0, [r4, #-980] - mul r0, r0, r6 + mov r0, r6 bl ftl_malloc str r0, [r4, #-952] - mov r0, r6 + ldr r0, [r4, #-1160] + mul r0, r0, r6 + bl ftl_malloc + str r0, [r4, #-1172] + ldr r0, [r4, #-976] + mul r0, r0, r6 bl ftl_malloc str r0, [r4, #-948] mov r0, r6 bl ftl_malloc - movw r6, #3924 str r0, [r4, #-944] - ldr r0, [r4, #-1164] + mov r0, r6 + bl ftl_malloc + movw r6, #3928 + str r0, [r4, #-940] + ldr r0, [r4, #-1160] mul r0, r7, r0 bl ftl_malloc ldrh r3, [r5, r6] ldrh sl, [r5, sl] mul sl, sl, r3 - str r0, [r4, #-1180] + str r0, [r4, #-1176] mov r0, sl bl ftl_malloc - str r0, [r4, #-940] + str r0, [r4, #-936] mov r0, sl, asl #3 bl ftl_malloc ldrh r3, [r5, r6] - ldr sl, .L797+20 - str r0, [r4, #-936] - ldr r0, [r4, #-1164] + ldr sl, .L798+20 + str r0, [r4, #-932] + ldr r0, [r4, #-1160] mul r0, r0, r3 bl ftl_malloc ldrh r3, [r5, r6] - movw r6, #3854 - str r0, [r4, #-1172] - ldr r0, [r4, #-980] + movw r6, #3858 + str r0, [r4, #-1168] + ldr r0, [r4, #-976] mul r0, r0, r3 bl ftl_malloc - str r0, [r4, #-932] + str r0, [r4, #-928] ldrh r0, [r5, r6] mov r0, r0, asl #1 uxth r0, r0 strh r0, [r4, sl] @ movhi bl ftl_malloc - str r0, [r4, #-1008] + str r0, [r4, #-1004] ldrh r0, [r4, sl] add r0, r0, #544 add r0, r0, #3 @@ -6754,260 +6759,260 @@ FtlMemInit: bl ftl_malloc ldrh sl, [r5, r6] mov sl, sl, asl #1 - str r0, [r4, #-924] - add r0, r0, #32 - str r0, [r4, #-2084] - mov r0, sl - bl ftl_malloc str r0, [r4, #-920] + add r0, r0, #32 + str r0, [r4, #-2080] mov r0, sl bl ftl_malloc - ldr sl, [r5, #3940] + str r0, [r4, #-916] + mov r0, sl + bl ftl_malloc + ldr sl, [r5, #3944] mov sl, sl, asl #1 - str r0, [r4, #-2020] + str r0, [r4, #-2016] mov r0, sl bl ftl_malloc - str r0, [r4, #-1044] + str r0, [r4, #-1040] mov r0, sl bl ftl_malloc - movw sl, #3932 - str r0, [r4, #-1100] + mov sl, #3936 + str r0, [r4, #-1096] ldrh r0, [r5, r6] mov r0, r0, lsr #3 add r0, r0, #4 bl ftl_malloc - str r0, [r4, #-1844] + str r0, [r4, #-1840] ldrh r0, [r5, sl] mov r0, r0, asl #1 bl ftl_malloc - str r0, [r5, #3960] + str r0, [r5, #3964] ldrh r0, [r5, sl] mov r0, r0, asl #1 bl ftl_malloc - str r0, [r4, #-916] + str r0, [r4, #-912] ldrh r0, [r5, sl] add sl, sl, #2 mov r0, r0, asl #2 bl ftl_malloc - str r0, [r4, #-912] + str r0, [r4, #-908] ldrh r0, [r5, sl] mov r0, r0, asl #2 bl ftl_malloc ldrh r2, [r5, sl] mov r1, #0 mov r2, r2, asl #2 - str r0, [r4, #-908] + str r0, [r4, #-904] bl ftl_memset - movw r3, #3948 + mov r3, #3952 ldrh sl, [r5, r3] mov sl, sl, asl #2 mov r0, sl bl ftl_malloc - str r0, [r4, #-1036] + str r0, [r4, #-1032] mov r0, sl bl ftl_malloc - movw sl, #3950 - str r0, [r4, #-904] - ldr r0, [r5, #3940] + movw sl, #3954 + str r0, [r4, #-900] + ldr r0, [r5, #3944] mov r0, r0, asl #2 bl ftl_malloc - str r0, [r4, #-1040] + str r0, [r4, #-1036] ldrh r0, [r5, sl] mul r0, r7, r0 bl ftl_malloc ldrh r3, [r5, sl] - movw r7, #3866 - str r0, [r4, #-1856] + movw r7, #3870 + str r0, [r4, #-1852] ldrh r0, [r5, r8] mul r0, r0, r3 bl ftl_malloc ldrh r3, [r5, r6] - ldr r6, .L797+24 - str r0, [r4, #-1096] + ldr r6, .L798+24 + str r0, [r4, #-1092] mov r0, #6 mul r0, r0, r3 bl ftl_malloc - movw r3, #3908 + movw r3, #3912 ldrh r3, [r5, r3] ldrh r2, [r5, r7] add r3, r3, #31 mov r3, r3, lsr #5 strh r3, [r4, r6] @ movhi mul r3, r2, r3 - str r0, [r4, #-2028] + str r0, [r4, #-2024] mov r0, r3, asl #2 bl ftl_malloc ldrh r1, [r4, r6] mov r3, #1 - ldr ip, .L797+12 + ldr ip, .L798+12 mov r1, r1, asl #2 mov r2, r1 - str r0, [r5, #4004] + str r0, [r5, #4008] ldrh r5, [r5, r7] - ldr r0, .L797+28 - b .L768 -.L769: - ldr r4, [ip, #4004] + ldr r0, .L798+28 + b .L769 +.L770: + ldr r4, [ip, #4008] add r3, r3, #1 add r4, r4, r2 add r2, r2, r1 str r4, [r0, #4]! -.L768: +.L769: cmp r3, r5 - bcc .L769 - ldr r0, .L797+32 + bcc .L770 + ldr r0, .L798+32 mov r2, #0 mov r1, r2 add r0, r0, r3, asl #2 - b .L770 -.L771: + b .L771 +.L772: add ip, r0, r2 add r3, r3, #1 add r2, r2, #4 str r1, [ip, #28] -.L770: +.L771: cmp r3, #7 - bls .L771 - ldr r3, .L797 - ldr r2, [r3, #-1044] - cmp r2, #0 - beq .L796 -.L772: - ldr r2, [r3, #-1100] - cmp r2, #0 - beq .L796 -.L774: - ldr r2, [r3, #-1036] - cmp r2, #0 - beq .L796 -.L775: + bls .L772 + ldr r3, .L798 ldr r2, [r3, #-1040] cmp r2, #0 - beq .L796 -.L776: - ldr r2, [r3, #-1856] - cmp r2, #0 - beq .L796 -.L777: + beq .L797 +.L773: ldr r2, [r3, #-1096] cmp r2, #0 - beq .L796 + beq .L797 +.L775: + ldr r2, [r3, #-1032] + cmp r2, #0 + beq .L797 +.L776: + ldr r2, [r3, #-1036] + cmp r2, #0 + beq .L797 +.L777: + ldr r2, [r3, #-1852] + cmp r2, #0 + beq .L797 .L778: - ldr r2, [r3, #-2028] + ldr r2, [r3, #-1092] cmp r2, #0 - beq .L796 + beq .L797 .L779: - ldr r2, .L797+12 - ldr r2, [r2, #4004] + ldr r2, [r3, #-2024] cmp r2, #0 - beq .L796 + beq .L797 .L780: - ldr r3, [r3, #-2020] - cmp r3, #0 - beq .L796 -.L781: - ldr r3, .L797 - ldr r2, [r3, #-1156] + ldr r2, .L798+12 + ldr r2, [r2, #4008] cmp r2, #0 - beq .L796 + beq .L797 +.L781: + ldr r3, [r3, #-2016] + cmp r3, #0 + beq .L797 +.L782: + ldr r3, .L798 ldr r2, [r3, #-1152] cmp r2, #0 - beq .L796 -.L783: - ldr r2, [r3, #-976] + beq .L797 + ldr r2, [r3, #-1148] cmp r2, #0 - beq .L796 - ldr r2, [r3, #-968] - cmp r2, #0 - beq .L796 - ldr r2, [r3, #-2088] - cmp r2, #0 - beq .L796 - ldr r2, [r3, #-1168] - cmp r2, #0 - beq .L796 + beq .L797 +.L784: ldr r2, [r3, #-972] cmp r2, #0 - beq .L796 -.L785: + beq .L797 ldr r2, [r3, #-964] cmp r2, #0 - beq .L796 - ldr r2, [r3, #-960] - cmp r2, #0 - beq .L796 - ldr r3, [r3, #-956] - cmp r3, #0 - beq .L796 - ldr r3, .L797 - ldr r2, [r3, #-1176] - cmp r2, #0 - beq .L796 - ldr r2, [r3, #-948] - cmp r2, #0 - beq .L796 - ldr r2, [r3, #-944] - cmp r2, #0 - beq .L796 - ldr r2, [r3, #-1180] - cmp r2, #0 - beq .L796 -.L787: - ldr r2, [r3, #-940] - cmp r2, #0 - beq .L796 - ldr r2, [r3, #-936] - cmp r2, #0 - beq .L796 - ldr r2, [r3, #-1172] - cmp r2, #0 - beq .L796 -.L789: + beq .L797 ldr r2, [r3, #-2084] cmp r2, #0 - beq .L796 - ldr r3, [r3, #-1008] - cmp r3, #0 - beq .L796 -.L791: - ldr r3, .L797+12 - ldr r3, [r3, #3960] - cmp r3, #0 - beq .L796 -.L792: - ldr r3, .L797 - ldr r2, [r3, #-916] + beq .L797 + ldr r2, [r3, #-1164] cmp r2, #0 - beq .L796 + beq .L797 + ldr r2, [r3, #-968] + cmp r2, #0 + beq .L797 +.L786: + ldr r2, [r3, #-960] + cmp r2, #0 + beq .L797 + ldr r2, [r3, #-956] + cmp r2, #0 + beq .L797 + ldr r3, [r3, #-952] + cmp r3, #0 + beq .L797 + ldr r3, .L798 + ldr r2, [r3, #-1172] + cmp r2, #0 + beq .L797 + ldr r2, [r3, #-944] + cmp r2, #0 + beq .L797 + ldr r2, [r3, #-940] + cmp r2, #0 + beq .L797 + ldr r2, [r3, #-1176] + cmp r2, #0 + beq .L797 +.L788: + ldr r2, [r3, #-936] + cmp r2, #0 + beq .L797 + ldr r2, [r3, #-932] + cmp r2, #0 + beq .L797 + ldr r2, [r3, #-1168] + cmp r2, #0 + beq .L797 +.L790: + ldr r2, [r3, #-2080] + cmp r2, #0 + beq .L797 + ldr r3, [r3, #-1004] + cmp r3, #0 + beq .L797 +.L792: + ldr r3, .L798+12 + ldr r3, [r3, #3964] + cmp r3, #0 + beq .L797 .L793: + ldr r3, .L798 ldr r2, [r3, #-912] cmp r2, #0 - beq .L796 + beq .L797 .L794: - ldr r3, [r3, #-908] + ldr r2, [r3, #-908] + cmp r2, #0 + beq .L797 +.L795: + ldr r3, [r3, #-904] cmp r3, #0 - bne .L795 -.L796: - ldr r0, .L797+36 - ldr r1, .L797+40 + bne .L796 +.L797: + ldr r0, .L798+36 + ldr r1, .L798+40 bl printk mvn r0, #0 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, pc} -.L795: +.L796: mov r0, #0 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, pc} -.L798: +.L799: .align 2 -.L797: +.L798: .word .LANCHOR2 - .word -1104 - .word -1146 + .word -1100 + .word -1142 .word .LANCHOR0 - .word -1200 - .word -928 - .word -1032 - .word .LANCHOR0+4004 - .word .LANCHOR0+3976 + .word -1196 + .word -924 + .word -1028 + .word .LANCHOR0+4008 + .word .LANCHOR0+3980 .word .LC83 .word .LANCHOR3 .fnend @@ -7025,7 +7030,7 @@ ftl_read_flash_info: mov r2, #11 mov r4, r0 bl ftl_memset - ldr r3, .L802 + ldr r3, .L803 ldr r2, [r3, #3624] ldr r1, [r3, #856] ldrb r2, [r2, #9] @ zero_extendqisi2 @@ -7035,9 +7040,9 @@ ftl_read_flash_info: strb r2, [r4, #4] mov r2, r2, lsr #8 strb r2, [r4, #5] - ldrb r2, [r3, #3832] @ zero_extendqisi2 + ldrb r2, [r3, #3836] @ zero_extendqisi2 strb r2, [r4, #7] - ldr r2, [r3, #3952] + ldr r2, [r3, #3956] ubfx r0, r2, #8, #8 strb r0, [r4, #1] strb r2, [r4, #0] @@ -7056,22 +7061,22 @@ ftl_read_flash_info: strb r1, [r4, #10] strb r2, [r4, #9] mov r2, #1 - ldr r1, .L802+4 - b .L800 -.L801: + ldr r1, .L803+4 + b .L801 +.L802: ldrb r5, [r3, r1] @ zero_extendqisi2 add r3, r3, #1 ldrb ip, [r4, #10] @ zero_extendqisi2 orr ip, ip, r2, asl r5 strb ip, [r4, #10] -.L800: +.L801: uxtb ip, r3 cmp ip, r0 - bcc .L801 + bcc .L802 ldmfd sp!, {r3, r4, r5, pc} -.L803: +.L804: .align 2 -.L802: +.L803: .word .LANCHOR0 .word .LANCHOR0+3764 .fnend @@ -7083,50 +7088,50 @@ FlashDieInfoInit: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r1, .L816 + ldr r1, .L817 mov r2, #0 stmfd sp!, {r3, r4, r5, r6, r7, r8, sl, lr} .save {r3, r4, r5, r6, r7, r8, sl, lr} - ldr r3, .L816+4 - strb r2, [r1, #-900] - ldr r1, .L816+8 + ldr r3, .L817+4 + strb r2, [r1, #-896] + ldr r1, .L817+8 strb r2, [r3, #3762] movw r2, #2902 ldrh r2, [r1, r2] cmp r2, #256 str r2, [r3, #856] movhi r2, #512 - bhi .L815 + bhi .L816 cmp r2, #128 - bls .L806 + bls .L807 mov r2, #256 -.L815: +.L816: str r2, [r3, #856] -.L806: +.L807: mov r1, #0 mov r2, #8 - ldr r0, .L816+12 + ldr r0, .L817+12 mov r6, #0 bl ftl_memset mov r1, #0 mov r2, #32 - ldr r0, .L816+16 + ldr r0, .L817+16 bl ftl_memset - ldr r0, .L816+20 + ldr r0, .L817+20 mov r1, #0 mov r2, #128 bl ftl_memset - ldr r7, .L816+24 - ldr r5, .L816+4 + ldr r7, .L817+24 + ldr r5, .L817+4 mov r8, r7 -.L808: +.L809: ldr r4, [r5, #3624] mov r1, r8 add r0, r4, #1 ldrb r2, [r4, #0] @ zero_extendqisi2 bl FlashMemCmp8 cmp r0, #0 - bne .L807 + bne .L808 ldrb r3, [r5, #3762] @ zero_extendqisi2 add r2, r5, r3, asl #2 str r0, [r2, #3588] @@ -7134,28 +7139,28 @@ FlashDieInfoInit: add r3, r3, #1 strb r3, [r5, #3762] strb r6, [r2, #3764] -.L807: +.L808: add r6, r6, #1 add r8, r8, #8 cmp r6, #4 - bne .L808 - ldr r5, .L816+4 - ldr r3, .L816 + bne .L809 + ldr r5, .L817+4 + ldr r3, .L817 ldrb r2, [r5, #3762] @ zero_extendqisi2 - strb r2, [r3, #-900] + strb r2, [r3, #-896] ldrb r3, [r4, #8] @ zero_extendqisi2 cmp r3, #2 - bne .L809 + bne .L810 add sl, r4, #1 mov r6, #0 mov r8, r5 -.L812: +.L813: mov r0, sl mov r1, r7 ldrb r2, [r4, #0] @ zero_extendqisi2 bl FlashMemCmp8 cmp r0, #0 - bne .L810 + bne .L811 ldrb r1, [r4, #13] @ zero_extendqisi2 ldr r0, [r5, #856] ldrb r3, [r5, #3762] @ zero_extendqisi2 @@ -7173,25 +7178,25 @@ FlashDieInfoInit: add r3, r3, #1 strb r3, [r8, #3762] strb r6, [r2, #3764] -.L810: +.L811: add r6, r6, #1 add r7, r7, #8 cmp r6, #4 - bne .L812 -.L809: - ldr r3, .L816+4 + bne .L813 +.L810: + ldr r3, .L817+4 ldrb r1, [r4, #13] @ zero_extendqisi2 - ldr r2, .L816 + ldr r2, .L817 ldrb r3, [r3, #3762] @ zero_extendqisi2 mul r1, r1, r3 ldrh r3, [r4, #14] mul r1, r3, r1 - ldr r3, .L816+28 + ldr r3, .L817+28 strh r1, [r2, r3] @ movhi ldmfd sp!, {r3, r4, r5, r6, r7, r8, sl, pc} -.L817: +.L818: .align 2 -.L816: +.L817: .word .LANCHOR2 .word .LANCHOR0 .word .LANCHOR1 @@ -7199,7 +7204,7 @@ FlashDieInfoInit: .word .LANCHOR0+3588 .word .LANCHOR0+3628 .word .LANCHOR0+2980 - .word -898 + .word -894 .fnend .size FlashDieInfoInit, .-FlashDieInfoInit .align 2 @@ -7213,85 +7218,85 @@ BuildFlashLsbPageTable: stmfd sp!, {r4, lr} .save {r4, lr} mov r4, r1 - bne .L819 - ldr r3, .L858 -.L820: + bne .L820 + ldr r3, .L859 +.L821: strh r0, [r3, #2]! @ movhi add r0, r0, #1 uxth r0, r0 cmp r0, #256 - bne .L820 - b .L821 -.L819: + bne .L821 + b .L822 +.L820: cmp r0, #1 - bne .L822 - ldr r0, .L858+4 + bne .L823 + ldr r0, .L859+4 mov r2, #0 mov r3, r2 -.L825: +.L826: uxth r1, r3 cmp r1, #3 - bls .L823 + bls .L824 tst r3, #1 moveq r1, #2 movne r1, #3 rsb r1, r1, r2 uxth r1, r1 -.L823: +.L824: add r3, r3, #1 strh r1, [r2, r0] @ movhi cmp r3, #256 add r2, r2, #2 - bne .L825 - b .L821 -.L822: - cmp r0, #2 bne .L826 + b .L822 +.L823: + cmp r0, #2 + bne .L827 mov r3, #0 - ldr r0, .L858 + ldr r0, .L859 movw r2, #65535 mov r1, r3 - b .L857 -.L829: + b .L858 +.L830: cmp r3, #1 movls r1, r3 movhi r1, r2 -.L857: +.L858: add r3, r3, #1 add r2, r2, #2 strh r1, [r0, #2]! @ movhi uxth r3, r3 uxth r2, r2 cmp r3, #256 - bne .L829 - b .L821 -.L826: - cmp r0, #3 bne .L830 - ldr r0, .L858+4 + b .L822 +.L827: + cmp r0, #3 + bne .L831 + ldr r0, .L859+4 mov r2, #0 mov r3, r2 -.L833: +.L834: uxth r1, r3 cmp r1, #5 - bls .L831 + bls .L832 tst r3, #1 moveq r1, #4 movne r1, #5 rsb r1, r1, r2 uxth r1, r1 -.L831: +.L832: add r3, r3, #1 strh r1, [r2, r0] @ movhi cmp r3, #256 add r2, r2, #2 - bne .L833 - b .L821 -.L830: + bne .L834 + b .L822 +.L831: cmp r0, #4 mov r2, #0 - bne .L834 - ldr r3, .L858+8 + bne .L835 + ldr r3, .L859+8 movw r1, #3076 strh r2, [r3, r1] @ movhi movw r2, #3078 @@ -7307,7 +7312,7 @@ BuildFlashLsbPageTable: mov r1, #5 strh r0, [r3, r2] @ movhi add r2, r2, #2 - ldr r0, .L858+12 + ldr r0, .L859+12 strh r1, [r3, r2] @ movhi mov r2, #3088 mov r1, #7 @@ -7317,7 +7322,7 @@ BuildFlashLsbPageTable: strh r1, [r3, r2] @ movhi mov r2, #16 mov r3, r1 -.L836: +.L837: tst r3, #1 add r3, r3, #1 moveq r1, #6 @@ -7327,78 +7332,78 @@ BuildFlashLsbPageTable: add r2, r2, #2 strh r1, [r0, #2]! @ movhi uxth r2, r2 - bne .L836 - b .L821 -.L834: - cmp r0, #5 bne .L837 - ldr r1, .L858 + b .L822 +.L835: + cmp r0, #5 + bne .L838 + ldr r1, .L859 mov r3, r2 -.L838: +.L839: strh r3, [r1, #2]! @ movhi add r3, r3, #1 uxth r3, r3 cmp r3, #16 - bne .L838 - ldr r2, .L858+16 -.L839: + bne .L839 + ldr r2, .L859+16 +.L840: strh r3, [r2, #2]! @ movhi add r3, r3, #2 uxth r3, r3 cmp r3, #496 - bne .L839 - b .L821 -.L837: + bne .L840 + b .L822 +.L838: cmp r0, #6 - bne .L821 - ldr r0, .L858 + bne .L822 + ldr r0, .L859 mov r3, r2 -.L842: +.L843: uxth r1, r3 cmp r1, #5 - bls .L840 + bls .L841 tst r3, #1 moveq r1, #10 movne r1, #12 rsb r1, r1, r2 uxth r1, r1 -.L840: +.L841: add r3, r3, #1 add r2, r2, #3 cmp r3, #256 strh r1, [r0, #2]! @ movhi uxth r2, r2 - bne .L842 -.L821: + bne .L843 +.L822: mov r2, #1024 - ldr r0, .L858+20 + ldr r0, .L859+20 mov r1, #255 uxth r4, r4 bl ftl_memset - ldr r2, .L858 + ldr r2, .L859 mov r3, #0 - ldr r0, .L858+24 - b .L843 -.L844: + ldr r0, .L859+24 + b .L844 +.L845: ldrh r1, [r2, #2]! add r3, r3, #1 uxth r3, r3 add ip, r0, r1, asl #1 - sub ip, ip, #896 + sub ip, ip, #892 strh r1, [ip, #0] @ movhi -.L843: +.L844: cmp r3, r4 - bcc .L844 + bcc .L845 ldmfd sp!, {r4, pc} -.L859: +.L860: .align 2 -.L858: +.L859: .word .LANCHOR0+3074 .word .LANCHOR0+3076 .word .LANCHOR0 .word .LANCHOR0+3090 .word .LANCHOR0+3106 - .word .LANCHOR2-896 + .word .LANCHOR2-892 .word .LANCHOR2 .fnend .size BuildFlashLsbPageTable, .-BuildFlashLsbPageTable @@ -7424,15 +7429,15 @@ ftl_memcpy32: stmfd sp!, {r4, lr} .save {r4, lr} mov ip, r3 - b .L862 -.L863: + b .L863 +.L864: ldr r4, [r1, r3] add ip, ip, #1 str r4, [r0, r3] add r3, r3, #4 -.L862: +.L863: cmp ip, r2 - bne .L863 + bne .L864 ldmfd sp!, {r4, pc} .fnend .size ftl_memcpy32, .-ftl_memcpy32 @@ -7458,22 +7463,22 @@ js_hash: mov r2, #0 stmfd sp!, {r4, lr} .save {r4, lr} - ldr r0, .L868 - b .L866 -.L867: + ldr r0, .L869 + b .L867 +.L868: mov ip, r0, asl #5 ldrb r4, [r3, r2] @ zero_extendqisi2 add ip, ip, r0, lsr #2 add r2, r2, #1 add ip, ip, r4 eor r0, r0, ip -.L866: +.L867: cmp r2, r1 - bne .L867 + bne .L868 ldmfd sp!, {r4, pc} -.L869: +.L870: .align 2 -.L868: +.L869: .word 1204201446 .fnend .size js_hash, .-js_hash @@ -7485,12 +7490,12 @@ timer_get_time: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L871 + ldr r3, .L872 ldr r0, [r3, #0] b jiffies_to_msecs -.L872: +.L873: .align 2 -.L871: +.L872: .word jiffies .fnend .size timer_get_time, .-timer_get_time @@ -7504,19 +7509,19 @@ FlashSramLoadStore: stmfd sp!, {r4, lr} .save {r4, lr} cmp r2, #0 - ldr r4, .L876 + ldr r4, .L877 mov ip, r0 mov r2, r3 - ldr r4, [r4, #128] + ldr r4, [r4, #132] add r4, r4, #4096 add r1, r4, r1 movne r0, r1 movne r1, ip ldmfd sp!, {r4, lr} b memcpy -.L877: +.L878: .align 2 -.L876: +.L877: .word .LANCHOR2 .fnend .size FlashSramLoadStore, .-FlashSramLoadStore @@ -7561,12 +7566,12 @@ rk_ftl_get_capacity: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L882 - ldr r0, [r3, #3952] + ldr r3, .L883 + ldr r0, [r3, #3956] bx lr -.L883: +.L884: .align 2 -.L882: +.L883: .word .LANCHOR0 .fnend .size rk_ftl_get_capacity, .-rk_ftl_get_capacity @@ -7619,47 +7624,47 @@ rknand_print_hex: mov r7, r2 mov sl, r3 mov r4, r5 - b .L888 -.L894: + b .L889 +.L895: cmp r5, #0 - bne .L889 - ldr r0, .L896 + bne .L890 + ldr r0, .L897 mov r1, r8 mov r2, r6 mov r3, r4 bl printk -.L889: +.L890: cmp r7, #4 - ldreq r0, .L896+4 + ldreq r0, .L897+4 ldreq r1, [r6, r4, asl #2] - beq .L895 + beq .L896 cmp r7, #2 moveq r3, r4, asl #1 - ldreq r0, .L896+4 + ldreq r0, .L897+4 ldreqsh r1, [r6, r3] - ldrne r0, .L896+4 + ldrne r0, .L897+4 ldrneb r1, [r6, r4] @ zero_extendqisi2 -.L895: +.L896: add r5, r5, #1 bl printk cmp r5, #15 - bls .L893 - ldr r0, .L896+8 + bls .L894 + ldr r0, .L897+8 mov r5, #0 - ldr r1, .L896+12 + ldr r1, .L897+12 bl printk -.L893: +.L894: add r4, r4, #1 -.L888: +.L889: cmp r4, sl - bne .L894 - ldr r0, .L896+8 - ldr r1, .L896+12 + bne .L895 + ldr r0, .L897+8 + ldr r1, .L897+12 ldmfd sp!, {r3, r4, r5, r6, r7, r8, sl, lr} b printk -.L897: +.L898: .align 2 -.L896: +.L897: .word .LC84 .word .LC85 .word .LC78 @@ -7675,15 +7680,15 @@ NandcXferComp: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r0, r1, r4, r5, r6, lr} .save {r0, r1, r4, r5, r6, lr} - ldr r6, .L921 + ldr r6, .L922 add r0, r6, r0, asl #3 - ldr r3, [r6, #3780] + ldr r3, [r6, #3788] ldr r4, [r0, #864] cmp r3, #3 - bls .L915 + bls .L916 ldr r3, [r4, #16] tst r3, #4 - beq .L915 + beq .L916 mov r0, r4 bl wait_for_nandc_xfer_completed ldr r5, [r4, #16] @@ -7691,130 +7696,130 @@ NandcXferComp: ands r5, r5, #2 str r3, [sp, #0] movne r5, #0 - bne .L919 - b .L920 -.L905: - ldr r3, [r6, #3780] + bne .L920 + b .L921 +.L906: + ldr r3, [r6, #3788] cmp r3, #5 - bls .L902 + bls .L903 ldr r3, [r4, #0] str r3, [sp, #4] ldr r3, [sp, #4] tst r3, #8192 - beq .L902 + beq .L903 ldr r3, [sp, #4] tst r3, #131072 - bne .L903 -.L902: - add r5, r5, #1 - bic r3, r5, #-16777216 - cmp r3, #0 - bne .L919 - ldr r2, [r4, #28] - mov r1, r5 - ldr r3, [sp, #0] - ubfx r2, r2, #16, #5 - ldr r0, .L921+4 - ubfx r3, r3, #22, #6 - bl printk - ldr r0, .L921+8 - mov r1, r4 - mov r2, #4 - mov r3, #512 - bl rknand_print_hex -.L919: - ldr r2, [r4, #28] - ldr r3, [sp, #0] - ubfx r2, r2, #16, #5 - ubfx r3, r3, #22, #6 - cmp r2, r3 - blt .L905 + bne .L904 .L903: - ldr r4, .L921 - ldr r3, [r4, #3816] - cmp r3, #0 - beq .L906 - ldr r1, [sp, #0] - mov r2, #0 - ldr r0, [r4, #3808] - ubfx r1, r1, #22, #5 - mov r1, r1, asl #10 - bl rknand_dma_unmap_single - ldr r1, [sp, #0] - ldr r0, [r4, #3812] - mov r2, #0 - ubfx r1, r1, #22, #5 - mov r1, r1, asl #7 - bl rknand_dma_unmap_single - b .L906 -.L909: - ldr r3, [r4, #8] add r5, r5, #1 - str r3, [sp, #0] bic r3, r5, #-16777216 cmp r3, #0 bne .L920 - ldr r2, [sp, #0] + ldr r2, [r4, #28] mov r1, r5 - ldr r3, [r4, #28] - ldr r0, .L921+12 - ubfx r3, r3, #16, #5 + ldr r3, [sp, #0] + ubfx r2, r2, #16, #5 + ldr r0, .L922+4 + ubfx r3, r3, #22, #6 bl printk - ldr r0, .L921+8 + ldr r0, .L922+8 mov r1, r4 mov r2, #4 mov r3, #512 bl rknand_print_hex .L920: + ldr r2, [r4, #28] ldr r3, [sp, #0] - tst r3, #1048576 - beq .L909 - ldr r6, .L921 - ldr r3, [r6, #3824] + ubfx r2, r2, #16, #5 + ubfx r3, r3, #22, #6 + cmp r2, r3 + blt .L906 +.L904: + ldr r4, .L922 + ldr r3, [r4, #3820] cmp r3, #0 - beq .L910 - mov r0, r4 - bl NandcSendDumpDataStart -.L910: - ldr r3, [r6, #3816] - ldr r5, .L921 - cmp r3, #0 - beq .L911 + beq .L907 ldr r1, [sp, #0] - mov r2, #1 - ldr r0, [r5, #3808] + mov r2, #0 + ldr r0, [r4, #3812] ubfx r1, r1, #22, #5 mov r1, r1, asl #10 bl rknand_dma_unmap_single ldr r1, [sp, #0] + ldr r0, [r4, #3816] + mov r2, #0 + ubfx r1, r1, #22, #5 + mov r1, r1, asl #7 + bl rknand_dma_unmap_single + b .L907 +.L910: + ldr r3, [r4, #8] + add r5, r5, #1 + str r3, [sp, #0] + bic r3, r5, #-16777216 + cmp r3, #0 + bne .L921 + ldr r2, [sp, #0] + mov r1, r5 + ldr r3, [r4, #28] + ldr r0, .L922+12 + ubfx r3, r3, #16, #5 + bl printk + ldr r0, .L922+8 + mov r1, r4 + mov r2, #4 + mov r3, #512 + bl rknand_print_hex +.L921: + ldr r3, [sp, #0] + tst r3, #1048576 + beq .L910 + ldr r6, .L922 + ldr r3, [r6, #3828] + cmp r3, #0 + beq .L911 + mov r0, r4 + bl NandcSendDumpDataStart +.L911: + ldr r3, [r6, #3820] + ldr r5, .L922 + cmp r3, #0 + beq .L912 + ldr r1, [sp, #0] + mov r2, #1 ldr r0, [r5, #3812] + ubfx r1, r1, #22, #5 + mov r1, r1, asl #10 + bl rknand_dma_unmap_single + ldr r1, [sp, #0] + ldr r0, [r5, #3816] mov r2, #1 ubfx r1, r1, #22, #5 mov r1, r1, asl #7 bl rknand_dma_unmap_single -.L911: - ldr r3, .L921 - ldr r3, [r3, #3824] +.L912: + ldr r3, .L922 + ldr r3, [r3, #3828] cmp r3, #0 - beq .L906 + beq .L907 mov r0, r4 bl NandcSendDumpDataDone -.L906: - ldr r3, .L921 +.L907: + ldr r3, .L922 mov r2, #0 - str r2, [r3, #3816] - b .L898 -.L915: + str r2, [r3, #3820] + b .L899 +.L916: ldr r3, [r4, #8] str r3, [sp, #0] ldr r3, [sp, #0] tst r3, #1048576 - beq .L915 -.L898: + beq .L916 +.L899: ldmfd sp!, {r2, r3, r4, r5, r6, pc} -.L922: +.L923: .align 2 -.L921: +.L922: .word .LANCHOR0 .word .LC87 .word .LC88 @@ -7832,7 +7837,7 @@ NandcXferData: .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} mov r4, r3 mov r9, r3 - ldr r3, .L961 + ldr r3, .L962 .pad #92 sub sp, sp, #92 tst r4, #63 @@ -7842,15 +7847,15 @@ NandcXferData: mov sl, r2 ldr r5, [sp, #128] ldr r6, [r3, #864] - bne .L924 - cmp r5, #0 bne .L925 + cmp r5, #0 + bne .L926 add r0, sp, #24 mov r1, #255 mov r2, #64 add r5, sp, #24 bl ftl_memset -.L925: +.L926: mov r0, r7 mov r1, fp mov r2, sl @@ -7861,19 +7866,19 @@ NandcXferData: bl NandcXferComp cmp fp, #0 movne r4, #0 - bne .L926 - ldr r1, .L961 + bne .L927 + ldr r1, .L962 mov r0, sl, lsr #1 mov r3, fp mov r2, fp - ldr ip, [r1, #3828] + ldr ip, [r1, #3832] mov r4, r1 cmp ip, #24 movhi ip, #128 movls ip, #64 - b .L928 -.L929: - ldr r1, [r4, #3796] + b .L929 +.L930: + ldr r1, [r4, #3800] mov r3, r3, lsr #2 add r2, r2, #1 ldr r3, [r1, r3, asl #2] @@ -7886,29 +7891,29 @@ NandcXferData: strb r3, [r5, #3] add r5, r5, #4 mov r3, r7 -.L928: +.L929: cmp r2, r0 add r7, r3, ip - ldr r1, .L961 - bcc .L929 + ldr r1, .L962 + bcc .L930 mov r3, #0 - ldr r0, [r1, #3828] + ldr r0, [r1, #3832] mov sl, sl, lsr #2 - ldr r1, [r1, #3780] + ldr r1, [r1, #3788] mov r4, r3 - b .L930 -.L936: + b .L931 +.L937: add r2, r3, #8 ldr r2, [r6, r2, asl #2] str r2, [sp, #20] ldr r2, [sp, #20] tst r2, #4 - bne .L951 + bne .L952 ldr r2, [sp, #20] ands r2, r2, #32768 - bne .L951 + bne .L952 cmp r1, #5 - bls .L932 + bls .L933 ldr r7, [sp, #20] ldr ip, [sp, #20] ldr r5, [sp, #20] @@ -7927,10 +7932,10 @@ NandcXferData: ubfxls ip, ip, #16, #5 ubfxhi r2, r2, #27, #1 ubfxls r2, r2, #29, #1 - b .L959 -.L932: + b .L960 +.L933: cmp r1, #3 - bls .L934 + bls .L935 ldr r7, [sp, #20] ldr ip, [sp, #20] ldr r5, [sp, #20] @@ -7949,31 +7954,31 @@ NandcXferData: ubfxls ip, ip, #16, #5 ubfxhi r2, r2, #28, #1 ubfxls r2, r2, #30, #1 -.L959: +.L960: orr r2, ip, r2, asl #5 -.L934: +.L935: cmp r4, r2 movcc r4, r2 - b .L931 -.L951: + b .L932 +.L952: mvn r4, #0 -.L931: +.L932: add r3, r3, #1 -.L930: +.L931: cmp r3, sl - bcs .L926 + bcs .L927 cmp r0, #0 - bne .L936 -.L926: + bne .L937 +.L927: mov r3, #0 str r3, [r6, #16] - b .L937 -.L924: + b .L938 +.L925: cmp r1, #1 mov r8, #0 - bne .L957 - b .L938 -.L941: + bne .L958 + b .L939 +.L942: cmp r5, #0 and r4, r8, #3 mov r0, r6 @@ -7997,12 +8002,12 @@ NandcXferData: mov r0, r7 bl NandcXferComp add r9, r9, #1024 -.L938: +.L939: cmp r8, sl - bcc .L941 + bcc .L942 mov r4, #0 - b .L937 -.L957: + b .L938 +.L958: mov r1, r8 mov r2, #2 mov r3, r8 @@ -8014,15 +8019,15 @@ NandcXferData: mov ip, r8 mov fp, r6 mov r6, r5 - b .L960 -.L946: + b .L961 +.L947: mov r0, r7 bl NandcXferComp ldr r3, [fp, #32] add ip, r5, #2 cmp ip, sl str r3, [sp, #20] - bcs .L943 + bcs .L944 mov r3, #0 mov r0, r7 str r3, [sp, #0] @@ -8033,11 +8038,11 @@ NandcXferData: str ip, [sp, #8] bl NandcXferStart ldr ip, [sp, #8] -.L943: +.L944: ldr r3, [sp, #20] tst r3, #4 mvnne r4, #0 - bne .L944 + bne .L945 ldr r2, [sp, #20] ldr r3, [sp, #20] ubfx r2, r2, #3, #5 @@ -8045,7 +8050,7 @@ NandcXferData: orr r3, r2, r3, asl #5 cmp r4, r3 movcc r4, r3 -.L944: +.L945: cmp r6, #0 and r2, r8, #3 mov r0, fp @@ -8060,34 +8065,34 @@ NandcXferData: str r5, [sp, #0] bl NandcCopy1KB ldr ip, [sp, #8] -.L960: +.L961: cmp ip, sl mov r5, ip - bcc .L946 + bcc .L947 mov r6, fp ldr fp, [sp, #12] -.L937: - ldr r3, .L961 +.L938: + ldr r3, .L962 rsbs fp, fp, #1 movcc fp, #0 - ldr r3, [r3, #3780] + ldr r3, [r3, #3788] cmp r3, #5 movls fp, #0 cmp fp, #0 - beq .L947 + beq .L948 ldr r3, [r6, #0] and r2, r3, #139264 cmp r2, #139264 orreq r3, r3, #131072 streq r3, [r6, #0] mvneq r4, #0 -.L947: +.L948: mov r0, r4 add sp, sp, #92 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L962: +.L963: .align 2 -.L961: +.L962: .word .LANCHOR0 .fnend .size NandcXferData, .-NandcXferData @@ -8101,23 +8106,23 @@ FlashProgPage: stmfd sp!, {r0, r1, r4, r5, r6, r7, r8, lr} .save {r0, r1, r4, r5, r6, r7, r8, lr} mov r8, r3 - ldr r3, .L966 + ldr r3, .L967 subs r4, r0, #0 mov r5, r1 mov r6, r2 ldrb r7, [r3, #2901] @ zero_extendqisi2 - bne .L964 - ldr r3, .L966+4 + bne .L965 + ldr r3, .L967+4 ldrb r2, [r3, #853] @ zero_extendqisi2 ldr r1, [r3, #856] mul r2, r1, r2 cmp r5, r2 - bcs .L964 + bcs .L965 ldrb r3, [r3, #852] @ zero_extendqisi2 cmp r3, #0 subeq r7, r7, #2 movne r7, #4 -.L964: +.L965: mov r0, r4 bl NandcWaitFlashReady mov r0, r4 @@ -8144,9 +8149,9 @@ FlashProgPage: bl NandcFlashDeCs and r0, r5, #1 ldmfd sp!, {r2, r3, r4, r5, r6, r7, r8, pc} -.L967: +.L968: .align 2 -.L966: +.L967: .word .LANCHOR1 .word .LANCHOR0 .fnend @@ -8161,59 +8166,59 @@ FlashPageProgMsbFFData: stmfd sp!, {r3, r4, r5, r6, r7, r8, sl, lr} .save {r3, r4, r5, r6, r7, r8, sl, lr} mov r4, r2 - ldr r2, .L975 + ldr r2, .L976 mov r7, r1 mov r8, r0 ldrb r1, [r2, #928] @ zero_extendqisi2 ldr r3, [r2, #3624] cmp r1, #0 ldrb r3, [r3, #19] @ zero_extendqisi2 - beq .L969 - ldr r1, [r2, #3784] - ldr r2, .L975+4 + beq .L970 + ldr r1, [r2, #3776] + ldr r2, .L976+4 cmp r1, r2 ldmeqfd sp!, {r3, r4, r5, r6, r7, r8, sl, pc} -.L969: +.L970: sub r2, r3, #5 uxtb r2, r2 cmp r3, #68 cmpne r2, #2 - bls .L972 + bls .L973 cmp r3, #35 cmpne r3, #19 - beq .L972 + beq .L973 ldmfd sp!, {r3, r4, r5, r6, r7, r8, sl, pc} -.L973: +.L974: add r3, r5, r4, asl #1 - sub r3, r3, #896 + sub r3, r3, #892 ldrh r3, [r3, #0] cmp r3, sl ldmnefd sp!, {r3, r4, r5, r6, r7, r8, sl, pc} mov r1, #255 mov r2, #32768 - ldr r0, [r5, #132] + ldr r0, [r5, #136] bl ftl_memset add r1, r4, r7 add r4, r4, #1 mov r0, r8 - ldr r2, [r5, #132] + ldr r2, [r5, #136] mov r3, #0 bl FlashProgPage uxth r4, r4 - b .L974 -.L972: - ldr r6, .L975 + b .L975 +.L973: + ldr r6, .L976 movw sl, #65535 - ldr r5, .L975+8 -.L974: + ldr r5, .L976+8 +.L975: ldr r3, [r6, #3624] ldrh r3, [r3, #10] cmp r3, r4 - bhi .L973 + bhi .L974 ldmfd sp!, {r3, r4, r5, r6, r7, r8, sl, pc} -.L976: +.L977: .align 2 -.L975: +.L976: .word .LANCHOR0 .word 1446522928 .word .LANCHOR2 @@ -8229,19 +8234,19 @@ FlashReadRawPage: stmfd sp!, {r0, r1, r4, r5, r6, r7, r8, lr} .save {r0, r1, r4, r5, r6, r7, r8, lr} mov r8, r3 - ldr r3, .L980 + ldr r3, .L981 subs r4, r0, #0 mov r6, r1 mov r5, r2 ldrb r7, [r3, #2901] @ zero_extendqisi2 - bne .L978 - ldr r3, .L980+4 + bne .L979 + ldr r3, .L981+4 ldrb r2, [r3, #853] @ zero_extendqisi2 ldr r3, [r3, #856] mul r3, r3, r2 cmp r1, r3 movcc r7, #4 -.L978: +.L979: mov r0, r4 bl NandcWaitFlashReady mov r0, r4 @@ -8262,9 +8267,9 @@ FlashReadRawPage: bl NandcFlashDeCs mov r0, r5 ldmfd sp!, {r2, r3, r4, r5, r6, r7, r8, pc} -.L981: +.L982: .align 2 -.L980: +.L981: .word .LANCHOR1 .word .LANCHOR0 .fnend @@ -8279,9 +8284,9 @@ HynixReadRetrial: stmfd sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r0, r1, r2, r4, r5, r6, r7, r8, r9, sl, fp, lr} mov r7, r3 - ldr r3, .L996 + ldr r3, .L997 mov sl, r2 - ldr fp, .L996 + ldr fp, .L997 mov r6, r0 add r2, r3, r0 str r1, [sp, #4] @@ -8295,12 +8300,12 @@ HynixReadRetrial: ldreqb r4, [r2, #20] @ zero_extendqisi2 bl NandcWaitFlashReady mov ip, fp - b .L984 -.L989: + b .L985 +.L990: add r4, r4, #1 ldrb r1, [fp, #1] @ zero_extendqisi2 mov r0, r6 - ldr r2, .L996+4 + ldr r2, .L997+4 uxtb r4, r4 str ip, [sp, #0] cmp r4, r9 @@ -8314,28 +8319,28 @@ HynixReadRetrial: bl FlashReadRawPage ldr ip, [sp, #0] cmn r0, #1 - beq .L986 - ldrb r3, [ip, #3832] @ zero_extendqisi2 + beq .L987 + ldrb r3, [ip, #3836] @ zero_extendqisi2 cmn r5, #1 moveq r5, r0 add r3, r3, r3, asl #1 cmp r0, r3, lsr #2 - bcc .L995 + bcc .L996 mov r7, #0 mov sl, r7 -.L986: +.L987: add r8, r8, #1 -.L984: +.L985: cmp r8, r9 - bcc .L989 - b .L988 -.L995: + bcc .L990 + b .L989 +.L996: mov r5, r0 -.L988: - ldr r3, .L996 +.L989: + ldr r3, .L997 add r6, r3, r6 ldr r2, [r3, #3624] - ldrb r3, [r3, #3832] @ zero_extendqisi2 + ldrb r3, [r3, #3836] @ zero_extendqisi2 ldrb r2, [r2, #19] @ zero_extendqisi2 add r3, r3, r3, asl #1 cmp r2, #7 @@ -8350,9 +8355,9 @@ HynixReadRetrial: moveq r0, r5 movne r0, #256 ldmfd sp!, {r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L997: +.L998: .align 2 -.L996: +.L997: .word .LANCHOR0 .word .LANCHOR0+4 .fnend @@ -8367,22 +8372,22 @@ MicronReadRetrial: stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} mov r9, r0 - ldr r4, .L1011 + ldr r4, .L1012 mov sl, r3 .pad #28 sub sp, sp, #28 - ldrb r0, [r4, #3832] @ zero_extendqisi2 + ldrb r0, [r4, #3836] @ zero_extendqisi2 ldrb r3, [r4, #928] @ zero_extendqisi2 str r1, [sp, #16] cmp r3, #0 str r2, [sp, #20] addeq r0, r0, r0, asl #1 ubfxeq r0, r0, #2, #8 - beq .L1010 + beq .L1011 mov r1, #3 bl __aeabi_idiv uxtb r0, r0 -.L1010: +.L1011: add r4, r4, r9, asl #3 str r0, [sp, #12] mov r0, r9 @@ -8394,8 +8399,8 @@ MicronReadRetrial: add r7, r7, #8 mvn r4, #0 add r5, r6, r7, asl #8 - b .L1001 -.L1005: + b .L1002 +.L1006: mov r3, #239 mov r0, #200 str r3, [r5, #8] @@ -8415,25 +8420,25 @@ MicronReadRetrial: bl FlashReadRawPage ldr ip, [sp, #8] cmn r0, #1 - beq .L1002 + beq .L1003 cmn r4, #1 ldr r2, [sp, #12] moveq r4, r0 cmp r0, r2 - bcc .L1009 + bcc .L1010 mov sl, #0 str sl, [sp, #20] -.L1002: +.L1003: mov r8, ip -.L1001: - ldr r2, .L1011+4 - ldrb r3, [r2, #136] @ zero_extendqisi2 +.L1002: + ldr r2, .L1012+4 + ldrb r3, [r2, #140] @ zero_extendqisi2 cmp r8, r3 - bcc .L1005 - b .L1004 -.L1009: + bcc .L1006 + b .L1005 +.L1010: mov r4, r0 -.L1004: +.L1005: mov r3, #239 mov r0, #200 str r3, [r5, #8] @@ -8455,20 +8460,20 @@ MicronReadRetrial: movne r4, #256 cmn r4, #1 cmpne r4, #256 - bne .L1007 - ldr r0, .L1011+8 + bne .L1008 + ldr r0, .L1012+8 mov r1, r8 ldr r2, [sp, #16] mov r3, r8 str r4, [sp, #0] bl printk -.L1007: +.L1008: mov r0, r4 add sp, sp, #28 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1012: +.L1013: .align 2 -.L1011: +.L1012: .word .LANCHOR0 .word .LANCHOR2 .word .LC90 @@ -8488,17 +8493,17 @@ SamsungReadRetrial: mov r6, r3 mov r9, r1 bl NandcWaitFlashReady - ldr ip, .L1022 + ldr ip, .L1023 mov r5, #1 mvn r4, #0 - ldr fp, .L1022+4 + ldr fp, .L1023+4 add r3, ip, r8, asl #3 ldrb sl, [r3, #868] @ zero_extendqisi2 ldr r2, [r3, #864] add sl, sl, #8 add sl, r2, sl, asl #8 - b .L1014 -.L1018: + b .L1015 +.L1019: mov r0, sl uxtb r1, r5 str ip, [sp, #4] @@ -8510,32 +8515,32 @@ SamsungReadRetrial: bl FlashReadRawPage ldr ip, [sp, #4] cmn r0, #1 - beq .L1015 - ldrb r3, [ip, #3832] @ zero_extendqisi2 + beq .L1016 + ldrb r3, [ip, #3836] @ zero_extendqisi2 cmn r4, #1 moveq r4, r0 add r3, r3, r3, asl #1 cmp r0, r3, lsr #2 - bcc .L1021 + bcc .L1022 mov r6, #0 mov r7, r6 -.L1015: +.L1016: add r5, r5, #1 -.L1014: - ldrb r3, [fp, #136] @ zero_extendqisi2 +.L1015: + ldrb r3, [fp, #140] @ zero_extendqisi2 add r3, r3, #1 cmp r5, r3 - bcc .L1018 - b .L1017 -.L1021: + bcc .L1019 + b .L1018 +.L1022: mov r4, r0 -.L1017: +.L1018: mov r0, sl mov r1, #0 bl SamsungSetRRPara - ldr r3, .L1022 + ldr r3, .L1023 adds r0, r4, #1 - ldrb r3, [r3, #3832] @ zero_extendqisi2 + ldrb r3, [r3, #3836] @ zero_extendqisi2 movne r0, #1 add r3, r3, r3, asl #1 cmp r4, r3, lsr #2 @@ -8545,9 +8550,9 @@ SamsungReadRetrial: moveq r0, r4 movne r0, #256 ldmfd sp!, {r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1023: +.L1024: .align 2 -.L1022: +.L1023: .word .LANCHOR0 .word .LANCHOR2 .fnend @@ -8566,7 +8571,7 @@ ToshibaReadRetrial: mov r9, r2 mov r7, r3 bl NandcWaitFlashReady - ldr r3, .L1045 + ldr r3, .L1046 add r2, r3, r8, asl #3 ldr r1, [r2, #864] ldrb r4, [r2, #868] @ zero_extendqisi2 @@ -8577,53 +8582,53 @@ ToshibaReadRetrial: uxtb r2, r2 cmp r2, #1 movls sl, #0 - bls .L1025 - ldrb sl, [r3, #3773] @ zero_extendqisi2 + bls .L1026 + ldrb sl, [r3, #3780] @ zero_extendqisi2 cmp sl, #0 - beq .L1026 + beq .L1027 mov r0, #0 mov sl, #1 bl NandcSetDdrMode -.L1026: +.L1027: mov r3, #92 str r3, [r4, #8] mov r3, #197 str r3, [r4, #8] -.L1025: +.L1026: mov r6, #1 mvn r5, #0 - ldr fp, .L1045 - b .L1027 -.L1036: + ldr fp, .L1046 + b .L1028 +.L1037: ldrb r3, [fp, #3761] @ zero_extendqisi2 mov r0, r4 uxtb r1, r6 sub r3, r3, #67 uxtb r3, r3 cmp r3, #1 - bhi .L1028 + bhi .L1029 bl SandiskSetRRPara - b .L1029 -.L1028: - bl ToshibaSetRRPara + b .L1030 .L1029: - ldr r2, .L1045 + bl ToshibaSetRRPara +.L1030: + ldr r2, .L1046 ldrb r3, [r2, #3761] @ zero_extendqisi2 cmp r3, #34 - bne .L1030 - ldr r2, .L1045+4 - ldrb r3, [r2, #136] @ zero_extendqisi2 + bne .L1031 + ldr r2, .L1046+4 + ldrb r3, [r2, #140] @ zero_extendqisi2 sub r3, r3, #3 cmp r6, r3 moveq r3, #179 streq r3, [r4, #8] -.L1030: +.L1031: cmp sl, #0 mov r3, #38 str r3, [r4, #8] mov r3, #93 str r3, [r4, #8] - beq .L1031 + beq .L1032 mov r0, #4 bl NandcSetDdrMode ldr r1, [sp, #4] @@ -8636,53 +8641,53 @@ ToshibaReadRetrial: str r3, [sp, #0] bl NandcSetDdrMode ldr r3, [sp, #0] - b .L1032 -.L1031: + b .L1033 +.L1032: mov r3, r7 mov r0, r8 ldr r1, [sp, #4] mov r2, r9 bl FlashReadRawPage mov r3, r0 -.L1032: +.L1033: cmn r3, #1 - beq .L1033 - ldrb r2, [fp, #3832] @ zero_extendqisi2 + beq .L1034 + ldrb r2, [fp, #3836] @ zero_extendqisi2 cmn r5, #1 moveq r5, r3 add r2, r2, r2, asl #1 cmp r3, r2, lsr #2 - bcc .L1044 + bcc .L1045 mov r7, #0 mov r9, r7 -.L1033: +.L1034: add r6, r6, #1 -.L1027: - ldr r2, .L1045+4 - ldrb r3, [r2, #136] @ zero_extendqisi2 +.L1028: + ldr r2, .L1046+4 + ldrb r3, [r2, #140] @ zero_extendqisi2 add r3, r3, #1 cmp r6, r3 - bcc .L1036 - b .L1035 -.L1044: + bcc .L1037 + b .L1036 +.L1045: mov r5, r3 -.L1035: - ldr r6, .L1045 +.L1036: + ldr r6, .L1046 mov r0, r4 mov r1, #0 ldrb r3, [r6, #3761] @ zero_extendqisi2 sub r3, r3, #67 uxtb r3, r3 cmp r3, #1 - bhi .L1037 + bhi .L1038 bl SandiskSetRRPara - b .L1038 -.L1037: - bl ToshibaSetRRPara + b .L1039 .L1038: + bl ToshibaSetRRPara +.L1039: mov r3, #255 str r3, [r4, #8] - ldrb r3, [r6, #3832] @ zero_extendqisi2 + ldrb r3, [r6, #3836] @ zero_extendqisi2 adds r2, r5, #1 mov r0, r8 movne r2, #1 @@ -8694,15 +8699,15 @@ ToshibaReadRetrial: movne r5, #256 bl NandcWaitFlashReady cmp sl, #0 - beq .L1040 + beq .L1041 mov r0, #4 bl NandcSetDdrMode -.L1040: +.L1041: mov r0, r5 ldmfd sp!, {r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1046: +.L1047: .align 2 -.L1045: +.L1046: .word .LANCHOR0 .word .LANCHOR2 .fnend @@ -8717,44 +8722,44 @@ FlashSavePhyInfo: stmfd sp!, {r3, r4, r5, r6, r7, r8, sl, lr} .save {r3, r4, r5, r6, r7, r8, sl, lr} mov r6, #0 - ldr r5, .L1054 - ldr r7, .L1054+4 - ldr r8, .L1054+8 - ldr r3, [r5, #144] - ldrb r0, [r5, #148] @ zero_extendqisi2 - str r3, [r5, #140] + ldr r5, .L1055 + ldr r7, .L1055+4 + ldr r8, .L1055+8 + ldr r3, [r5, #148] + ldrb r0, [r5, #152] @ zero_extendqisi2 + str r3, [r5, #144] bl FlashBchSel mov r1, #0 mov r2, #2048 - ldr r0, [r5, #144] + ldr r0, [r5, #148] bl ftl_memset - ldr r3, [r5, #140] - ldr r1, .L1054+12 + ldr r3, [r5, #144] + ldr r1, .L1055+12 mov r2, #32 str r8, [r3, #0] - ldr r4, [r5, #140] + ldr r4, [r5, #144] ldrb r3, [r7, #3762] @ zero_extendqisi2 add r0, r4, #16 strh r3, [r4, #12] @ movhi ldrb r3, [r7, #853] @ zero_extendqisi2 strh r3, [r4, #14] @ movhi - ldrb r3, [r7, #3773] @ zero_extendqisi2 + ldrb r3, [r7, #3780] @ zero_extendqisi2 str r3, [r4, #1076] bl memcpy add r0, r4, #80 - ldr r1, .L1054+16 + ldr r1, .L1055+16 mov r2, #8 bl memcpy add r0, r4, #96 - ldr r1, .L1054+20 + ldr r1, .L1055+20 mov r2, #32 bl memcpy - ldr r0, [r5, #140] - ldr r1, .L1054+24 + ldr r0, [r5, #144] + ldr r1, .L1055+24 mov r2, #32 add r0, r0, #160 bl memcpy - ldr r4, [r5, #140] + ldr r4, [r5, #144] add r1, r7, #896 mov r2, #32 add r0, r4, #192 @@ -8768,13 +8773,13 @@ FlashSavePhyInfo: bl JSHash movw r3, #1592 str r3, [r4, #4] - ldr r3, [r5, #132] - str r3, [r5, #140] + ldr r3, [r5, #136] + str r3, [r5, #144] str r0, [r4, #8] mov r0, #0 bl flash_enter_slc_mode mov r4, r6 -.L1050: +.L1051: ldr r1, [r7, #856] mov r0, #0 mov r2, r0 @@ -8782,57 +8787,57 @@ FlashSavePhyInfo: bl FlashEraseBlock ldr r1, [r7, #856] mov r0, #0 - ldr r2, [r5, #144] + ldr r2, [r5, #148] mov r3, r0 mul r1, r1, r4 bl FlashProgPage ldr r1, [r7, #856] mov r0, #0 - ldr r2, [r5, #144] + ldr r2, [r5, #148] mov r3, r0 mul r1, r1, r4 add r1, r1, #1 bl FlashProgPage ldr r1, [r7, #856] mov r0, #0 - ldr r2, [r5, #132] + ldr r2, [r5, #136] mov r3, r0 mul r1, r1, r4 bl FlashReadRawPage cmn r0, #1 - beq .L1048 - ldr sl, [r5, #140] + beq .L1049 + ldr sl, [r5, #144] ldr r3, [sl, #0] cmp r3, r8 - bne .L1048 + bne .L1049 add r0, sl, #12 movw r1, #2036 bl JSHash ldr r3, [sl, #8] cmp r3, r0 - bne .L1048 + bne .L1049 add r3, r4, #1 - str r3, [r5, #152] + str r3, [r5, #156] ldr r3, [r7, #856] add r6, r6, #1 cmp r6, #1 mul r3, r3, r4 - str r3, [r5, #156] - bhi .L1049 -.L1048: + str r3, [r5, #160] + bhi .L1050 +.L1049: add r4, r4, #1 cmp r4, #4 - bne .L1050 -.L1049: + bne .L1051 +.L1050: mov r0, #0 bl flash_exit_slc_mode cmp r6, #0 mvneq r0, #0 movne r0, #0 ldmfd sp!, {r3, r4, r5, r6, r7, r8, sl, pc} -.L1055: +.L1056: .align 2 -.L1054: +.L1055: .word .LANCHOR2 .word .LANCHOR0 .word 1312902724 @@ -8855,98 +8860,98 @@ FlashReadIdbDataRaw: sub sp, sp, #20 mov r2, #4 mov sl, r0 - ldr r1, .L1067 + ldr r1, .L1068 add r0, sp, #12 bl memcpy - ldr r3, .L1067+4 - ldrb r2, [r3, #3832] @ zero_extendqisi2 + ldr r3, .L1068+4 + ldrb r2, [r3, #3836] @ zero_extendqisi2 str r2, [sp, #4] - ldr r2, [r3, #3784] - ldr r3, .L1067+8 + ldr r2, [r3, #3776] + ldr r3, .L1068+8 cmp r2, r3 - bne .L1057 + bne .L1058 mov r0, #0 bl flash_enter_slc_mode -.L1057: - ldr r7, .L1067+4 +.L1058: + ldr r7, .L1068+4 mov r0, sl mov r1, #0 mov r2, #2048 bl ftl_memset mvn r8, #0 mov r4, #2 - ldr r9, .L1067+12 + ldr r9, .L1068+12 mov fp, r7 - b .L1058 -.L1065: + b .L1059 +.L1066: mov r6, #0 -.L1060: +.L1061: add r3, sp, #12 - ldr r5, .L1067+12 + ldr r5, .L1068+12 ldrb r0, [r3, r6] @ zero_extendqisi2 bl FlashBchSel ldr r1, [r7, #856] mov r0, #0 - ldr r2, [r9, #144] + ldr r2, [r9, #148] mov r3, r0 mul r1, r1, r4 bl FlashReadRawPage cmn r0, #1 - bne .L1059 + bne .L1060 add r6, r6, #1 cmp r6, #4 - bne .L1060 - b .L1061 -.L1059: - ldr r3, [r5, #144] - ldr r2, [r3, #0] - ldr r3, .L1067+16 - cmp r2, r3 bne .L1061 + b .L1062 +.L1060: + ldr r3, [r5, #148] + ldr r2, [r3, #0] + ldr r3, .L1068+16 + cmp r2, r3 + bne .L1062 add r3, sp, #16 - ldr r0, .L1067+20 + ldr r0, .L1068+20 add r6, r3, r6 ldrb r1, [r6, #-4] @ zero_extendqisi2 bl printk mov r0, sl - ldr r1, [r5, #144] + ldr r1, [r5, #148] mov r2, #2048 bl memcpy - ldr r3, [r5, #144] + ldr r3, [r5, #148] ldr r3, [r3, #512] strb r3, [fp, #853] - ldr r3, [r5, #152] + ldr r3, [r5, #156] cmp r3, r4 - bls .L1064 - str r4, [r5, #152] + bls .L1065 + str r4, [r5, #156] bl FlashSavePhyInfo mov r8, #0 -.L1061: +.L1062: add r4, r4, #1 -.L1058: +.L1059: ldrb r3, [r7, #853] @ zero_extendqisi2 cmp r4, r3 - bcc .L1065 - b .L1062 -.L1064: + bcc .L1066 + b .L1063 +.L1065: mov r8, #0 -.L1062: +.L1063: ldr r0, [sp, #4] bl FlashBchSel - ldr r3, .L1067+4 - ldr r2, [r3, #3784] - ldr r3, .L1067+8 + ldr r3, .L1068+4 + ldr r2, [r3, #3776] + ldr r3, .L1068+8 cmp r2, r3 - bne .L1063 + bne .L1064 mov r0, #0 bl flash_exit_slc_mode -.L1063: +.L1064: mov r0, r8 add sp, sp, #20 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1068: +.L1069: .align 2 -.L1067: +.L1068: .word .LANCHOR3+11 .word .LANCHOR0 .word 1446522928 @@ -8965,73 +8970,73 @@ FlashLoadPhyInfo: stmfd sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r0, r1, r2, r4, r5, r6, r7, r8, r9, sl, fp, lr} mov r2, #4 - ldr r1, .L1080 + ldr r1, .L1081 add r0, sp, #4 bl memcpy - ldr r5, .L1080+4 - ldr r2, .L1080+8 + ldr r5, .L1081+4 + ldr r2, .L1081+8 movw r3, #2902 mov r4, #0 mov r8, #4 mov r0, r4 - str r4, [r5, #156] + str r4, [r5, #160] ldrh r9, [r2, r3] mvn r6, #0 - ldr r3, [r5, #144] - ldr fp, .L1080+12 - str r3, [r5, #140] + ldr r3, [r5, #148] + ldr fp, .L1081+12 + str r3, [r5, #144] bl flash_enter_slc_mode - b .L1070 -.L1072: + b .L1071 +.L1073: add r3, sp, #4 ldrb r0, [r3, r7] @ zero_extendqisi2 bl FlashBchSel mov r0, #0 mov r1, r4 - ldr r2, [r5, #144] + ldr r2, [r5, #148] mov r3, r0 bl FlashReadRawPage cmn r0, #1 - bne .L1071 + bne .L1072 mov r0, #0 mov r1, sl - ldr r2, [r5, #144] + ldr r2, [r5, #148] mov r3, r0 bl FlashReadRawPage cmn r0, #1 - bne .L1071 + bne .L1072 add r7, r7, #1 cmp r7, #4 - beq .L1073 - b .L1072 -.L1071: - ldr r7, [r5, #140] + beq .L1074 + b .L1073 +.L1072: + ldr r7, [r5, #144] ldr r3, [r7, #0] cmp r3, fp - bne .L1073 - cmp r6, #0 bne .L1074 - ldr r2, .L1080+8 + cmp r6, #0 + bne .L1075 + ldr r2, .L1081+8 movw r3, #2902 mov r0, r4 ldrh r1, [r2, r3] bl __aeabi_uidiv - ldr r3, .L1080+4 + ldr r3, .L1081+4 add r0, r0, #1 - str r0, [r3, #152] + str r0, [r3, #156] mov r0, r6 - b .L1079 -.L1074: + b .L1080 +.L1075: add r0, r7, #12 movw r1, #2036 bl JSHash ldr r3, [r7, #8] cmp r3, r0 - bne .L1073 - ldr r6, .L1080+16 + bne .L1074 + ldr r6, .L1081+16 add r1, r7, #160 mov r2, #32 - ldr r0, .L1080+20 + ldr r0, .L1081+20 bl memcpy add r0, r6, #896 add r1, r7, #192 @@ -9042,38 +9047,38 @@ FlashLoadPhyInfo: mov r2, #852 bl memcpy ldr r3, [r7, #1076] - ldr r2, .L1080+8 + ldr r2, .L1081+8 mov r0, r4 - str r4, [r5, #156] - strb r3, [r6, #3773] + str r4, [r5, #160] + strb r3, [r6, #3780] movw r3, #2902 ldrh r1, [r2, r3] mov r6, #0 bl __aeabi_uidiv add r0, r0, #1 - str r0, [r5, #152] + str r0, [r5, #156] cmp r0, #1 moveq r3, #2 - streq r3, [r5, #152] + streq r3, [r5, #156] ldrh r3, [r7, #14] - strb r3, [r5, #160] -.L1073: + strb r3, [r5, #164] +.L1074: subs r8, r8, #1 add r4, r4, r9 - beq .L1077 -.L1070: + beq .L1078 +.L1071: add sl, r4, #1 mov r7, #0 - b .L1072 -.L1077: + b .L1073 +.L1078: mov r0, r8 -.L1079: +.L1080: bl flash_exit_slc_mode mov r0, r6 ldmfd sp!, {r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1081: +.L1082: .align 2 -.L1080: +.L1081: .word .LANCHOR3+11 .word .LANCHOR2 .word .LANCHOR1 @@ -9092,14 +9097,14 @@ FlashDdrTunningRead: stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} mov sl, r3 - ldr r4, .L1103 + ldr r4, .L1104 .pad #20 sub sp, sp, #20 mov fp, r0 mov r9, r2 str r1, [sp, #0] ldr r3, [r4, #3012] - ldr r7, [r4, #3780] + ldr r7, [r4, #3788] ldr r3, [r3, #304] cmp r7, #7 movhi r7, #12 @@ -9108,7 +9113,7 @@ FlashDdrTunningRead: ldr r3, [sp, #56] cmp r3, #0 moveq r8, #1024 - beq .L1084 + beq .L1085 mov r0, #1 bl FlashSetInterfaceMode mov r0, #1 @@ -9126,37 +9131,37 @@ FlashDdrTunningRead: ldrb r0, [r4, #3772] @ zero_extendqisi2 bl NandcSetMode cmn r8, #1 - beq .L1085 - ldr r0, .L1103+4 + beq .L1086 + ldr r0, .L1104+4 mov r2, r8 ldr r1, [sp, #0] bl printk cmp r8, #9 - bhi .L1086 + bhi .L1087 add r4, r4, fp, asl #3 ldr r3, [r4, #864] ldr r2, [r3, #3840] ldr r2, [r3, #0] orr r2, r2, #131072 str r2, [r3, #0] -.L1086: - ldr r3, .L1103+8 - ldr r2, [r3, #164] +.L1087: + ldr r3, .L1104+8 + ldr r2, [r3, #168] add r2, r2, #1 - str r2, [r3, #164] + str r2, [r3, #168] cmp r2, #2048 movcs sl, #0 - strcs sl, [r3, #164] + strcs sl, [r3, #168] movcs r9, sl - bcc .L1085 -.L1084: + bcc .L1086 +.L1085: mov r4, #0 str fp, [sp, #4] mov r5, r4 mvn r6, #0 mov fp, r4 str r4, [sp, #8] -.L1091: +.L1092: uxtb r0, r7 bl NandcSetDdrPara mov r3, sl @@ -9166,79 +9171,79 @@ FlashDdrTunningRead: bl FlashReadRawPage add r3, r8, #1 cmp r0, r3 - bhi .L1087 + bhi .L1088 cmp r0, #2 - bhi .L1097 + bhi .L1098 add r5, r5, #1 cmp r5, #9 - bls .L1097 + bls .L1098 mov ip, fp rsb r4, r5, r7 ldr fp, [sp, #4] mov r8, r0 mov r6, #0 - b .L1089 -.L1087: + b .L1090 +.L1088: cmp fp, r5 - bcs .L1098 + bcs .L1099 cmp r5, #7 rsb r3, r5, r4 str r3, [sp, #8] - bhi .L1102 + bhi .L1103 mov fp, r5 - b .L1098 -.L1097: + b .L1099 +.L1098: mov r6, #0 mov r4, r7 mov r8, r0 mov sl, r6 mov r9, r6 - b .L1088 -.L1098: + b .L1089 +.L1099: mov r5, #0 -.L1088: +.L1089: add r7, r7, #2 cmp r7, #69 - bls .L1091 + bls .L1092 mov ip, fp ldr fp, [sp, #4] -.L1089: - cmp ip, r5 - bcc .L1092 - b .L1090 -.L1102: - ldr fp, [sp, #4] .L1090: + cmp ip, r5 + bcc .L1093 + b .L1091 +.L1103: + ldr fp, [sp, #4] +.L1091: ldr r4, [sp, #8] -.L1092: +.L1093: cmp r4, #0 - beq .L1093 - ldr r0, .L1103+12 + beq .L1094 + ldr r0, .L1104+12 mov r1, r4 bl printk uxtb r0, r4 bl NandcSetDdrPara -.L1093: +.L1094: cmn r6, #1 - bne .L1085 - ldr r0, .L1103+16 + bne .L1086 + ldr r0, .L1104+16 mov r1, fp ldr r2, [sp, #0] bl printk ldr r3, [sp, #56] cmp r3, #0 moveq r8, r6 - beq .L1085 + beq .L1086 ldr r3, [sp, #12] ubfx r0, r3, #8, #8 bl NandcSetDdrPara -.L1085: +.L1086: mov r0, r8 add sp, sp, #20 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1104: +.L1105: .align 2 -.L1103: +.L1104: .word .LANCHOR0 .word .LC92 .word .LANCHOR2 @@ -9256,7 +9261,7 @@ FlashDdrParaScan: stmfd sp!, {r0, r1, r4, r5, r6, r7, r8, lr} .save {r0, r1, r4, r5, r6, r7, r8, lr} mov r7, r0 - ldr r5, .L1109 + ldr r5, .L1110 mov r4, #0 mov r6, r1 ldrb r0, [r5, #3772] @ zero_extendqisi2 @@ -9276,30 +9281,30 @@ FlashDdrParaScan: mov r0, r7 bl FlashReadRawPage cmn r0, #1 - beq .L1106 + beq .L1107 cmn r8, #1 - bne .L1107 -.L1106: + bne .L1108 +.L1107: ldrb r3, [r5, #3772] @ zero_extendqisi2 tst r3, #1 - beq .L1107 + beq .L1108 mov r0, #1 bl FlashSetInterfaceMode mov r0, #1 bl NandcSetMode - ldr r3, .L1109 + ldr r3, .L1110 mov r2, #0 - strb r2, [r3, #3773] - b .L1108 -.L1107: - mov r3, #1 - strb r3, [r5, #3773] + strb r2, [r3, #3780] + b .L1109 .L1108: + mov r3, #1 + strb r3, [r5, #3780] +.L1109: mov r0, #0 ldmfd sp!, {r2, r3, r4, r5, r6, r7, r8, pc} -.L1110: +.L1111: .align 2 -.L1109: +.L1110: .word .LANCHOR0 .fnend .size FlashDdrParaScan, .-FlashDdrParaScan @@ -9319,11 +9324,11 @@ FlashReadPage: bl FlashReadRawPage cmn r0, #1 mov r4, r0 - bne .L1112 - ldr r7, .L1117 + bne .L1113 + ldr r7, .L1118 ldrb r9, [r7, #860] @ zero_extendqisi2 cmp r9, #0 - beq .L1113 + beq .L1114 mov r3, #0 mov r0, r5 strb r3, [r7, #860] @@ -9334,12 +9339,12 @@ FlashReadPage: strb r9, [r7, #860] cmn r0, #1 movne r4, r0 - bne .L1112 -.L1113: - ldr r7, .L1117 - ldrb r3, [r7, #3773] @ zero_extendqisi2 + bne .L1113 +.L1114: + ldr r7, .L1118 + ldrb r3, [r7, #3780] @ zero_extendqisi2 cmp r3, #0 - beq .L1112 + beq .L1113 ldr r3, [r7, #3012] mov r0, r5 mov r1, r6 @@ -9351,22 +9356,22 @@ FlashReadPage: bl FlashDdrTunningRead cmn r0, #1 mov r4, r0 - beq .L1114 - ldrb r3, [r7, #3832] @ zero_extendqisi2 + beq .L1115 + ldrb r3, [r7, #3836] @ zero_extendqisi2 cmp r0, r3, lsr #1 - bls .L1112 -.L1114: + bls .L1113 +.L1115: ubfx r0, r9, #8, #8 bl NandcSetDdrPara -.L1112: - ldr r7, .L1117+4 - ldr ip, [r7, #168] +.L1113: + ldr r7, .L1118+4 + ldr ip, [r7, #172] adds r3, ip, #0 movne r3, #1 cmn r4, #1 movne r3, #0 cmp r3, #0 - beq .L1115 + beq .L1116 mov r1, r6 mov r2, r8 mov r3, sl @@ -9375,18 +9380,18 @@ FlashReadPage: mov r2, r5 mov r3, r6 mov r4, r0 - ldr r0, .L1117+8 + ldr r0, .L1118+8 mov r1, r4 bl printk cmn r4, #1 - bne .L1115 - ldr r3, .L1117 + bne .L1116 + ldr r3, .L1118 ldrb r3, [r3, #928] @ zero_extendqisi2 cmp r3, #0 - beq .L1115 + beq .L1116 mov r0, r5 bl flash_enter_slc_mode - ldr ip, [r7, #168] + ldr ip, [r7, #172] mov r0, r5 mov r1, r6 mov r2, r8 @@ -9395,12 +9400,12 @@ FlashReadPage: mov r4, r0 mov r0, r5 bl flash_exit_slc_mode -.L1115: +.L1116: mov r0, r4 ldmfd sp!, {r2, r3, r4, r5, r6, r7, r8, r9, sl, pc} -.L1118: +.L1119: .align 2 -.L1117: +.L1118: .word .LANCHOR0 .word .LANCHOR2 .word .LC95 @@ -9413,7 +9418,7 @@ FlashReadSlc2KPages: .fnstart @ args = 0, pretend = 0, frame = 16 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L1132 + ldr r3, .L1133 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} mov r8, r1 @@ -9423,9 +9428,9 @@ FlashReadSlc2KPages: ldrb sl, [r3, #2901] @ zero_extendqisi2 mov r4, r0 mov r7, #0 - ldr r6, .L1132+4 - b .L1120 -.L1129: + ldr r6, .L1133+4 + b .L1121 +.L1130: rsb r3, r7, r8 add r2, sp, #20 mov r0, r4 @@ -9439,7 +9444,7 @@ FlashReadSlc2KPages: cmp r3, r2 mvncs r3, #0 strcs r3, [r4, #0] - bcs .L1122 + bcs .L1123 add r3, r6, r3 ldrb r5, [r3, #3764] @ zero_extendqisi2 mov r0, r5 @@ -9482,7 +9487,7 @@ FlashReadSlc2KPages: ldr r3, [sp, #12] cmp r3, r9 movcs r9, r3 - ldrb r3, [r6, #3832] @ zero_extendqisi2 + ldrb r3, [r6, #3836] @ zero_extendqisi2 adds r2, r9, #1 add r3, r3, r3, asl #1 movne r2, #1 @@ -9498,48 +9503,48 @@ FlashReadSlc2KPages: strne r3, [r4, #0] ldr r3, [r4, #12] cmp r3, #0 - beq .L1127 + beq .L1128 ldr r2, [r3, #8] cmn r2, #1 - bne .L1127 + bne .L1128 ldr r3, [r3, #0] cmn r3, #1 strne r2, [r4, #0] -.L1127: +.L1128: ldr r3, [r4, #0] cmn r3, #1 - bne .L1122 + bne .L1123 ldr r1, [r4, #4] - ldr r0, .L1132+8 - ldrb r2, [r6, #3832] @ zero_extendqisi2 + ldr r0, .L1133+8 + ldrb r2, [r6, #3836] @ zero_extendqisi2 bl printk ldr r1, [r4, #8] cmp r1, #0 - beq .L1128 - ldr r0, .L1132+12 + beq .L1129 + ldr r0, .L1133+12 mov r2, #4 mov r3, #8 bl rknand_print_hex -.L1128: +.L1129: ldr r1, [r4, #12] cmp r1, #0 - beq .L1122 + beq .L1123 mov r2, #4 - ldr r0, .L1132+16 + ldr r0, .L1133+16 mov r3, r2 bl rknand_print_hex -.L1122: +.L1123: add r7, r7, #1 add r4, r4, #36 -.L1120: +.L1121: cmp r7, r8 - bne .L1129 + bne .L1130 mov r0, #0 add sp, sp, #28 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1133: +.L1134: .align 2 -.L1132: +.L1133: .word .LANCHOR1 .word .LANCHOR0 .word .LC96 @@ -9554,7 +9559,7 @@ FlashReadPages: .fnstart @ args = 0, pretend = 0, frame = 40 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L1176 + ldr r3, .L1177 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} .pad #52 @@ -9564,22 +9569,22 @@ FlashReadPages: str r1, [sp, #28] str r2, [sp, #32] str r3, [sp, #24] - ldr r3, .L1176+4 + ldr r3, .L1177+4 ldrb r8, [r3, #852] @ zero_extendqisi2 ldrb ip, [r3, #860] @ zero_extendqisi2 cmp r8, #0 str ip, [sp, #36] moveq sl, r8 - beq .L1135 + beq .L1136 bl FlashReadSlc2KPages - b .L1136 -.L1163: + b .L1137 +.L1164: mov r3, #36 ldr ip, [sp, #28] mul r3, r3, sl add r2, sp, #44 ldr r1, [sp, #32] - ldr fp, .L1176+4 + ldr fp, .L1177+4 add r6, r9, r3 str r3, [sp, #16] rsb r3, sl, ip @@ -9596,12 +9601,12 @@ FlashReadPages: mvncs r3, #0 mov r7, r0 strcs r3, [r9, ip] - bcs .L1138 + bcs .L1139 add r3, fp, r3 ldrb r4, [r3, #3764] @ zero_extendqisi2 - ldr r3, .L1176+8 + ldr r3, .L1177+8 mov r0, r4 - ldrb r3, [r3, #172] @ zero_extendqisi2 + ldrb r3, [r3, #176] @ zero_extendqisi2 cmp r3, #0 moveq r7, #0 bl NandcWaitFlashReady @@ -9610,21 +9615,21 @@ FlashReadPages: sub r3, r2, #1 uxtb r3, r3 cmp r3, #6 - bhi .L1140 + bhi .L1141 add r1, fp, r4 cmp r2, #7 add fp, fp, r4 - ldr r2, .L1176+4 + ldr r2, .L1177+4 ldrb r3, [r1, #12] @ zero_extendqisi2 ldreqb r3, [r1, #20] @ zero_extendqisi2 ldrb r1, [fp, #3756] @ zero_extendqisi2 cmp r1, r3 - beq .L1140 + beq .L1141 ldrb r1, [r2, #1] @ zero_extendqisi2 mov r0, r4 add r2, r2, #4 bl HynixSetRRPara -.L1140: +.L1141: mov r0, r4 mov r5, r5, lsr #31 bl NandcFlashCs @@ -9634,44 +9639,44 @@ FlashReadPages: orreq r5, r5, #1 str r5, [sp, #20] cmp r5, #0 - beq .L1142 - ldr r3, .L1176+4 + beq .L1143 + ldr r3, .L1177+4 ldrb r3, [r3, #928] @ zero_extendqisi2 cmp r3, #0 - beq .L1142 + beq .L1143 bl flash_enter_slc_mode - b .L1143 -.L1142: - bl flash_exit_slc_mode + b .L1144 .L1143: - ldr fp, .L1176+4 -.L1175: + bl flash_exit_slc_mode +.L1144: + ldr fp, .L1177+4 +.L1176: ldr r1, [sp, #44] cmn r1, #1 cmpeq r4, #255 moveq r3, #0 movne r3, #1 moveq r7, r3 - beq .L1145 - cmp r7, #0 beq .L1146 + cmp r7, #0 + beq .L1147 ldr r2, [fp, #856] mov r0, r4 add r2, r1, r2 bl FlashReadDpCmd - b .L1147 -.L1146: + b .L1148 +.L1147: mov r0, r4 bl FlashReadCmd -.L1147: +.L1148: mov r0, r4 bl NandcWaitFlashReady cmp r7, #0 - beq .L1145 + beq .L1146 mov r0, r4 ldr r1, [sp, #44] bl FlashReadDpDataOutCmd -.L1145: +.L1146: ldr r3, [r6, #12] mov r0, r4 ldr r2, [sp, #24] @@ -9688,12 +9693,12 @@ FlashReadPages: movne r2, #0 movne r7, #0 strneb r2, [fp, #860] - bne .L1175 -.L1148: + bne .L1176 +.L1149: cmp r7, #0 mov r5, r0 - beq .L1149 - ldr r3, .L1176+4 + beq .L1150 + ldr r3, .L1177+4 mov r0, r4 ldr r1, [r3, #856] ldr r3, [sp, #44] @@ -9714,17 +9719,17 @@ FlashReadPages: cmn r0, #1 mov r8, r0 moveq r7, #0 -.L1149: +.L1150: mov r0, r4 - ldr fp, .L1176+4 + ldr fp, .L1177+4 bl NandcFlashDeCs ldr ip, [sp, #36] cmn r5, #1 strb ip, [fp, #860] - bne .L1153 - ldrb r3, [fp, #3773] @ zero_extendqisi2 + bne .L1154 + ldrb r3, [fp, #3780] @ zero_extendqisi2 cmp r3, #0 - beq .L1151 + beq .L1152 ldr r3, [fp, #3012] mov r0, r4 ldr r1, [sp, #44] @@ -9736,96 +9741,96 @@ FlashReadPages: bl FlashDdrTunningRead cmn r0, #1 mov r5, r0 - beq .L1152 - ldrb r3, [fp, #3832] @ zero_extendqisi2 + beq .L1153 + ldrb r3, [fp, #3836] @ zero_extendqisi2 cmp r0, r3, lsr #1 - bls .L1169 -.L1152: + bls .L1170 +.L1153: ubfx r0, r7, #8, #8 bl NandcSetDdrPara cmn r5, #1 - bne .L1169 -.L1151: - ldr r3, .L1176+8 + bne .L1170 +.L1152: + ldr r3, .L1177+8 mov r0, r4 ldr r1, [sp, #44] ldr r2, [r6, #8] - ldr r7, [r3, #168] + ldr r7, [r3, #172] ldr r3, [r6, #12] cmp r7, #0 - beq .L1154 + beq .L1155 blx r7 cmn r0, #1 mov r5, r0 - bne .L1171 - ldr r2, .L1176+4 + bne .L1172 + ldr r2, .L1177+4 ldr r3, [r2, #3624] ldrb r3, [r3, #19] @ zero_extendqisi2 sub r3, r3, #1 uxtb r3, r3 cmp r3, #6 - bhi .L1156 + bhi .L1157 ldrb r1, [r2, #1] @ zero_extendqisi2 mov r0, r4 add r2, r2, #4 mov r3, #0 bl HynixSetRRPara -.L1156: +.L1157: ldr r1, [sp, #44] mov r0, r4 ldr r2, [r6, #8] ldr r3, [r6, #12] bl FlashReadRawPage - ldr r7, .L1176+4 + ldr r7, .L1177+4 ldr r1, [r6, #4] - ldrb r2, [r7, #3832] @ zero_extendqisi2 + ldrb r2, [r7, #3836] @ zero_extendqisi2 mov r5, r0 - ldr r0, .L1176+12 + ldr r0, .L1177+12 mov r3, r5 bl printk cmn r5, #1 - bne .L1171 + bne .L1172 ldrb r7, [r7, #928] @ zero_extendqisi2 cmp r7, #0 - beq .L1155 + beq .L1156 ldr ip, [sp, #20] mov r0, r4 cmp ip, #0 - beq .L1157 + beq .L1158 bl flash_enter_slc_mode - b .L1158 -.L1157: - bl flash_exit_slc_mode + b .L1159 .L1158: - ldr r3, .L1176+8 + bl flash_exit_slc_mode +.L1159: + ldr r3, .L1177+8 mov r0, r4 ldr r1, [sp, #44] ldr r2, [r6, #8] - ldr ip, [r3, #168] + ldr ip, [r3, #172] ldr r3, [r6, #12] blx ip mov r5, r0 - b .L1171 -.L1154: + b .L1172 +.L1155: bl FlashReadRawPage mov r5, r0 - b .L1155 -.L1169: + b .L1156 +.L1170: mov r7, #0 -.L1153: - ldr r3, .L1176+4 - ldrb r3, [r3, #3832] @ zero_extendqisi2 +.L1154: + ldr r3, .L1177+4 + ldrb r3, [r3, #3836] @ zero_extendqisi2 add r3, r3, r3, asl #1 cmp r5, r3, lsr #2 - bls .L1155 - ldr r3, .L1176+8 - ldr r3, [r3, #168] + bls .L1156 + ldr r3, .L1177+8 + ldr r3, [r3, #172] cmp r3, #0 moveq r5, #256 - b .L1155 -.L1171: + b .L1156 +.L1172: mov r7, #0 -.L1155: +.L1156: ldr ip, [sp, #16] cmp r5, #256 cmnne r5, #1 @@ -9835,32 +9840,32 @@ FlashReadPages: ldr ip, [sp, #16] ldr r3, [r9, ip] cmn r3, #1 - bne .L1160 - ldr r2, .L1176+4 + bne .L1161 + ldr r2, .L1177+4 ldr r1, [r6, #4] - ldr r0, .L1176+16 - ldrb r2, [r2, #3832] @ zero_extendqisi2 + ldr r0, .L1177+16 + ldrb r2, [r2, #3836] @ zero_extendqisi2 bl printk ldr r1, [r6, #12] cmp r1, #0 - beq .L1160 + beq .L1161 mov r2, #4 - ldr r0, .L1176+20 + ldr r0, .L1177+20 mov r3, r2 bl rknand_print_hex -.L1160: +.L1161: cmp r7, #0 - beq .L1161 - ldr r3, .L1176+4 - ldrb r3, [r3, #3832] @ zero_extendqisi2 + beq .L1162 + ldr r3, .L1177+4 + ldrb r3, [r3, #3836] @ zero_extendqisi2 add r3, r3, r3, asl #1 cmp r8, r3, lsr #2 - bls .L1162 - ldr r3, .L1176+8 - ldr r3, [r3, #168] + bls .L1163 + ldr r3, .L1177+8 + ldr r3, [r3, #172] cmp r3, #0 moveq r8, #256 -.L1162: +.L1163: add r3, sl, #1 mov r2, #36 cmp r8, #256 @@ -9869,30 +9874,30 @@ FlashReadPages: movne r2, #0 str r8, [r9, r3] strne r2, [r9, r3] -.L1161: +.L1162: ldr ip, [sp, #20] add sl, sl, r7 cmp ip, #0 - beq .L1138 - ldr r3, .L1176+4 + beq .L1139 + ldr r3, .L1177+4 ldrb r3, [r3, #928] @ zero_extendqisi2 cmp r3, #0 - beq .L1138 + beq .L1139 mov r0, r4 bl flash_exit_slc_mode -.L1138: +.L1139: add sl, sl, #1 -.L1135: +.L1136: ldr ip, [sp, #28] cmp sl, ip - bcc .L1163 + bcc .L1164 mov r0, #0 -.L1136: +.L1137: add sp, sp, #52 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1177: +.L1178: .align 2 -.L1176: +.L1177: .word .LANCHOR1 .word .LANCHOR0 .word .LANCHOR2 @@ -9908,7 +9913,7 @@ FtlGcScanTempBlk: .fnstart @ args = 0, pretend = 0, frame = 24 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r2, .L1203 + ldr r2, .L1204 movw r3, #3000 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} @@ -9919,51 +9924,51 @@ FtlGcScanTempBlk: mov r5, r0 str r1, [sp, #20] cmp r4, r3 - beq .L1199 + beq .L1200 cmp r4, #0 - bne .L1179 - b .L1180 -.L1199: + bne .L1180 + b .L1181 +.L1200: mov r4, #0 -.L1179: - ldr r2, .L1203+4 - movw r3, #3912 +.L1180: + ldr r2, .L1204+4 + movw r3, #3916 ldr fp, [sp, #20] ldrh r3, [r2, r3] cmp fp, r3 - bne .L1181 -.L1180: - bl FtlGcPageVarInit + bne .L1182 .L1181: + bl FtlGcPageVarInit +.L1182: mov r7, #0 movw r8, #65535 mov sl, r7 mvn r3, #0 str r3, [sp, #16] -.L1194: +.L1195: ldrh r3, [r5, #0] strb sl, [r5, #8] cmp r3, r8 - beq .L1200 -.L1183: -.L1201: - ldr r3, .L1203+4 - movw r2, #3844 + beq .L1201 +.L1184: +.L1202: + ldr r3, .L1204+4 + movw r2, #3848 ldrh r9, [r3, r2] - ldr r2, .L1203+8 - ldr lr, [r2, #-976] - ldr ip, [r2, #-1172] - movw r2, #3924 + ldr r2, .L1204+8 + ldr lr, [r2, #-972] + ldr ip, [r2, #-1168] + movw r2, #3928 ldrh r2, [r3, r2] mov r3, #0 mov r6, r3 str r2, [sp, #12] mov r2, r5 - b .L1184 -.L1186: + b .L1185 +.L1187: ldrh r0, [r2, #16] cmp r0, r8 - beq .L1185 + beq .L1186 mov fp, #36 orr r0, r4, r0, asl #10 mla r1, fp, r6, lr @@ -9978,25 +9983,25 @@ FtlGcScanTempBlk: bic r0, r0, #3 add r0, ip, r0 str r0, [r1, #12] -.L1185: +.L1186: add r3, r3, #1 add r2, r2, #2 uxth r3, r3 -.L1184: +.L1185: cmp r3, r9 - bne .L1186 - ldr r9, .L1203+8 + bne .L1187 + ldr r9, .L1204+8 mov r1, r6 mov r2, #0 - ldr r0, [r9, #-976] + ldr r0, [r9, #-972] bl FlashReadPages mov r3, #36 mul r3, r3, r6 mov r6, #0 str r3, [sp, #12] - b .L1187 -.L1195: - ldr r1, [r9, #-976] + b .L1188 +.L1196: + ldr r1, [r9, #-972] add r3, r1, r6 ldr fp, [r3, #4] stmib sp, {r1, r3} @@ -10007,58 +10012,58 @@ FtlGcScanTempBlk: ldr r1, [r1, r6] cmp r1, #0 mov r2, r0 - bne .L1188 + bne .L1189 ldr r3, [r3, #12] add r6, r6, #36 ldrh r1, [r3, #0] cmp r1, r8 - ldreq r3, .L1203+8 + ldreq r3, .L1204+8 moveq r1, #1 - streq r1, [r3, #-1016] - beq .L1182 -.L1189: + streq r1, [r3, #-1012] + beq .L1183 +.L1190: ldr r0, [r3, #12] mov r1, fp ldr r2, [r3, #8] bl FtlGcUpdatePage - b .L1187 -.L1188: + b .L1188 +.L1189: mov r2, fp - ldr r0, .L1203+12 + ldr r0, .L1204+12 ldrh r1, [r5, #0] bl printk - ldr r3, .L1203+4 - ldr r2, [r3, #3836] + ldr r3, .L1204+4 + ldr r2, [r3, #3840] cmp r2, #0 - bne .L1190 + bne .L1191 ldrb r3, [r3, #928] @ zero_extendqisi2 cmp r3, #0 - beq .L1191 -.L1190: - ldr r2, .L1203+8 + beq .L1192 +.L1191: + ldr r2, .L1204+8 ldrh r3, [r5, #0] - ldr r2, [r2, #-2084] + ldr r2, [r2, #-2080] mov r3, r3, asl #1 ldrh r3, [r2, r3] cmp r3, #119 - bls .L1192 -.L1191: - ldr r3, .L1203+8 - ldr r3, [r3, #-976] + bls .L1193 +.L1192: + ldr r3, .L1204+8 + ldr r3, [r3, #-972] ldr r3, [r3, r6] cmn r3, #1 - bne .L1193 -.L1192: - ldr r3, .L1203+8 - ldr r3, [r3, #-976] + bne .L1194 +.L1193: + ldr r3, .L1204+8 + ldr r3, [r3, #-972] add r6, r3, r6 ldr r6, [r6, #4] str r6, [sp, #16] -.L1193: - ldr r2, .L1203+8 +.L1194: + ldr r2, .L1204+8 mov r4, #0 ldrh r3, [r5, #0] - ldr r2, [r2, #-2020] + ldr r2, [r2, #-2016] mov r3, r3, asl #1 strh sl, [r2, r3] @ movhi ldrh r0, [r5, #0] @@ -10066,39 +10071,39 @@ FtlGcScanTempBlk: mvn r3, #0 strh r3, [r5, #0] @ movhi bl FtlGcPageVarInit - b .L1194 -.L1187: + b .L1195 +.L1188: ldr r3, [sp, #12] cmp r6, r3 - bne .L1195 + bne .L1196 ldr fp, [sp, #20] add r7, r7, #1 add r4, r4, #1 cmp r7, fp uxth r4, r4 - bcc .L1196 - ldr r2, .L1203 + bcc .L1197 + ldr r2, .L1204 movw r3, #3000 ldrh r1, [r2, r3] cmp r1, r8 - beq .L1196 + beq .L1197 add r1, r1, r7 strh r1, [r2, r3] @ movhi - ldr r2, .L1203+4 - add r3, r3, #912 + ldr r2, .L1204+4 + add r3, r3, #916 ldrh r3, [r2, r3] cmp r3, r4 - bhi .L1197 -.L1196: - ldr r2, .L1203+4 - movw r3, #3912 + bhi .L1198 +.L1197: + ldr r2, .L1204+4 + movw r3, #3916 ldrh r3, [r2, r3] cmp r3, r4 - bhi .L1201 -.L1200: + bhi .L1202 +.L1201: mov r2, #0 -.L1182: - ldr r1, .L1203 +.L1183: + ldr r1, .L1204 movw r3, #3000 mvn r0, #0 strh r4, [r5, #2] @ movhi @@ -10107,13 +10112,13 @@ FtlGcScanTempBlk: mov r0, r5 mov r1, r4 bl ftl_sb_update_avl_pages -.L1197: +.L1198: ldr r0, [sp, #16] add sp, sp, #28 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1204: +.L1205: .align 2 -.L1203: +.L1204: .word .LANCHOR1 .word .LANCHOR0 .word .LANCHOR2 @@ -10130,59 +10135,59 @@ FtlScanSysBlk: stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} mov r6, #0 - ldr r5, .L1263 + ldr r5, .L1264 .pad #28 sub sp, sp, #28 - ldr r4, .L1263+4 + ldr r4, .L1264+4 mov r1, r6 - ldr r3, .L1263+8 - movw r7, #3932 - ldr r2, [r5, #3940] - ldr r0, [r4, #-1040] + ldr r3, .L1264+8 + mov r7, #3936 + ldr r2, [r5, #3944] + ldr r0, [r4, #-1036] mov sl, r4 strh r6, [r4, r3] @ movhi - movw r3, #3958 + movw r3, #3962 strh r6, [r5, r3] @ movhi mov r2, r2, asl #2 bl ftl_memset - ldr r2, [r5, #3940] + ldr r2, [r5, #3944] mov r1, r6 - ldr r0, [r4, #-1044] + ldr r0, [r4, #-1040] mov r2, r2, asl #1 bl ftl_memset ldrh r2, [r5, r7] mov r1, r6 - ldr r0, [r4, #-912] + ldr r0, [r4, #-908] mov r2, r2, asl #2 bl ftl_memset ldrh r2, [r5, r7] mov r1, r6 - ldr r0, [r5, #3960] + ldr r0, [r5, #3964] mov r2, r2, asl #1 bl ftl_memset - sub r0, r4, #1776 + ldr r0, .L1264+12 mov r1, #255 mov r2, #12 bl ftl_memset - movw r3, #3852 + mov r3, #3856 ldrh r3, [r5, r3] str r3, [sp, #8] - b .L1206 -.L1208: + b .L1207 +.L1209: add r3, r6, r5 ldr r1, [sp, #8] - ldrb r0, [r3, #3870] @ zero_extendqisi2 + ldrb r0, [r3, #3874] @ zero_extendqisi2 bl V2P_block str r0, [sp, #0] bl FtlBbmIsBadBlock ldr r3, [sp, #0] cmp r0, #0 - bne .L1207 - ldr r2, [r4, #-976] + bne .L1208 + ldr r2, [r4, #-972] mov r3, r3, asl #10 mla r2, r9, r7, r2 str r3, [r2, #4] - ldr r3, [r4, #-1176] + ldr r3, [r4, #-1172] str r3, [r2, #8] ldrh r3, [r6, r8] mul r3, r3, r7 @@ -10191,45 +10196,45 @@ FtlScanSysBlk: add r1, r3, #3 cmp r3, #0 movlt r3, r1 - ldr r1, [r4, #-1172] + ldr r1, [r4, #-1168] bic r3, r3, #3 add r3, r1, r3 str r3, [r2, #12] -.L1207: +.L1208: add r5, r5, #1 uxth r5, r5 - b .L1241 -.L1254: + b .L1242 +.L1255: mov r7, #0 - movw fp, #3844 + movw fp, #3848 mov r5, r7 mov r9, #36 - movw r8, #3924 -.L1241: + movw r8, #3928 +.L1242: ldrh r3, [r6, fp] cmp r3, r5 - bhi .L1208 + bhi .L1209 cmp r7, #0 - beq .L1209 - ldr r0, [r4, #-976] + beq .L1210 + ldr r0, [r4, #-972] mov r1, r7 mov r2, #1 mov fp, r7 bl FlashReadPages mov r8, #0 str r8, [sp, #12] -.L1240: - ldr r3, [r4, #-976] +.L1241: + ldr r3, [r4, #-972] add r2, r3, r8 ldr r3, [r3, r8] ldr r6, [r2, #4] cmn r3, #1 ldr r5, [r2, #12] ubfx r6, r6, #10, #16 - bne .L1210 + bne .L1211 mov r7, #16 -.L1212: - ldr r0, [r4, #-976] +.L1213: + ldr r0, [r4, #-972] mov r1, #1 mov r2, r1 add r0, r0, r8 @@ -10240,58 +10245,58 @@ FtlScanSysBlk: ldrh r3, [r5, #0] movw r1, #65535 cmp r3, r1 - ldreq r3, [sl, #-976] + ldreq r3, [sl, #-972] mvneq r2, #0 streq r2, [r3, r8] - beq .L1210 -.L1211: - ldr r3, [r4, #-976] + beq .L1211 +.L1212: + ldr r3, [r4, #-972] ldr r3, [r3, r8] cmn r3, #1 - bne .L1210 + bne .L1211 sub r7, r7, #1 uxth r7, r7 cmp r7, #0 - bne .L1212 -.L1210: - ldr r3, [r4, #-976] + bne .L1213 +.L1211: + ldr r3, [r4, #-972] ldr r3, [r3, r8] cmn r3, #1 - beq .L1213 - ldr r2, [r4, #-1808] + beq .L1214 + ldr r2, [r4, #-1804] ldr r3, [r5, #4] cmn r2, #1 - beq .L1214 + beq .L1215 cmp r2, r3 - bhi .L1215 -.L1214: + bhi .L1216 +.L1215: cmn r3, #1 addne r3, r3, #1 - strne r3, [sl, #-1808] -.L1215: + strne r3, [sl, #-1804] +.L1216: ldrh r3, [r5, #0] movw r2, #61604 cmp r3, r2 - beq .L1218 - bhi .L1221 + beq .L1219 + bhi .L1222 movw r2, #61574 cmp r3, r2 - bne .L1216 - b .L1261 -.L1221: + bne .L1217 + b .L1262 +.L1222: movw r2, #61634 cmp r3, r2 - beq .L1219 + beq .L1220 movw r2, #65535 cmp r3, r2 - bne .L1216 - b .L1262 -.L1219: - ldr r3, .L1263 + bne .L1217 + b .L1263 +.L1220: + ldr r3, .L1264 mov r9, r6 - ldr r1, .L1263+8 - ldr ip, [r4, #-1040] - ldr r0, [r3, #3940] + ldr r1, .L1264+8 + ldr ip, [r4, #-1036] + ldr r0, [r3, #3944] ldrh r1, [r4, r1] uxth r2, r0 sub r3, r2, #1 @@ -10300,29 +10305,29 @@ FtlScanSysBlk: uxth r3, r3 sxth r2, r2 str r2, [sp, #4] - b .L1222 -.L1228: + b .L1223 +.L1229: mov r6, r2, asl #2 ldr r7, [r5, #4] str r6, [sp, #16] ldr r6, [ip, r2, asl #2] cmp r7, r6 - bls .L1223 + bls .L1224 ldr ip, [ip, #0] mov r6, r9 cmp ip, #0 - bne .L1224 + bne .L1225 cmp r1, r0 addne r1, r1, #1 - ldrne r0, .L1263+8 + ldrne r0, .L1264+8 strneh r1, [r4, r0] @ movhi -.L1224: +.L1225: mov r0, #0 sxth r9, r3 str r3, [sp, #4] - b .L1225 -.L1226: - ldr r7, [r4, #-1040] + b .L1226 +.L1227: + ldr r7, [r4, #-1036] add ip, r1, #1 add r0, r0, #1 ldr r3, [r7, ip, asl #2] @@ -10330,90 +10335,90 @@ FtlScanSysBlk: uxth r0, r0 str r3, [r7, r1, asl #2] mov r1, r1, asl #1 - ldr r7, [r4, #-1044] + ldr r7, [r4, #-1040] ldrh ip, [r7, ip] strh ip, [r7, r1] @ movhi -.L1225: +.L1226: sxth r1, r0 cmp r1, r9 - bne .L1226 - ldr r1, [sl, #-1040] + bne .L1227 + ldr r1, [sl, #-1036] mov r2, r2, asl #1 ldr r0, [r5, #4] ldr ip, [sp, #16] ldr r3, [sp, #4] str r0, [r1, ip] - ldr r1, [sl, #-1044] + ldr r1, [sl, #-1040] strh r6, [r1, r2] @ movhi - b .L1227 -.L1223: + b .L1228 +.L1224: sub r3, r3, #1 uxth r3, r3 -.L1222: +.L1223: ldr r6, [sp, #4] sxth r2, r3 cmp r2, r6 - bgt .L1228 + bgt .L1229 mov r6, r9 -.L1227: +.L1228: sxth r3, r3 cmp r3, #0 - blt .L1216 - ldr r2, .L1263+8 - ldr r0, .L1263 + blt .L1217 + ldr r2, .L1264+8 + ldr r0, .L1264 ldrh r1, [r4, r2] - ldr r0, [r0, #3940] + ldr r0, [r0, #3944] rsb r0, r1, r0 sub r0, r0, #1 sxth r0, r0 cmp r3, r0 - bgt .L1216 + bgt .L1217 add r1, r1, #1 strh r1, [r4, r2] @ movhi - ldr r2, [r4, #-1040] + ldr r2, [r4, #-1036] ldr r1, [r5, #4] str r1, [r2, r3, asl #2] mov r3, r3, asl #1 - ldr r2, [r4, #-1044] - b .L1258 -.L1261: - ldr r1, .L1263 - movw r3, #3932 - movw ip, #3958 + ldr r2, [r4, #-1040] + b .L1259 +.L1262: + ldr r1, .L1264 + mov r3, #3936 + movw ip, #3962 mov r9, r6 ldrh r0, [r1, r3] ldrh r1, [r1, ip] sub r2, r0, #1 - ldr ip, [r4, #-912] + ldr ip, [r4, #-908] uxth r3, r2 rsb r2, r1, r2 str r2, [sp, #4] - b .L1229 -.L1235: + b .L1230 +.L1236: mov r6, r2, asl #2 ldr r7, [r5, #4] str r6, [sp, #16] ldr r6, [ip, r2, asl #2] cmp r7, r6 - bls .L1230 + bls .L1231 ldr ip, [ip, #0] mov r6, r9 cmp ip, #0 - bne .L1231 + bne .L1232 cmp r1, r0 addne r1, r1, #1 - ldrne ip, .L1263 - movwne r0, #3958 + ldrne ip, .L1264 + movwne r0, #3962 strneh r1, [ip, r0] @ movhi -.L1231: +.L1232: sxth ip, r3 mov r0, #0 str ip, [sp, #20] - ldr r9, .L1263 + ldr r9, .L1264 str r3, [sp, #4] - b .L1232 -.L1233: - ldr r7, [r4, #-912] + b .L1233 +.L1234: + ldr r7, [r4, #-908] add ip, r1, #1 add r0, r0, #1 ldr r3, [r7, ip, asl #2] @@ -10421,142 +10426,142 @@ FtlScanSysBlk: uxth r0, r0 str r3, [r7, r1, asl #2] mov r1, r1, asl #1 - ldr r7, [r9, #3960] + ldr r7, [r9, #3964] ldrh ip, [r7, ip] strh ip, [r7, r1] @ movhi -.L1232: +.L1233: ldr ip, [sp, #20] sxth r1, r0 cmp r1, ip - bne .L1233 - ldr r1, [sl, #-912] + bne .L1234 + ldr r1, [sl, #-908] mov r2, r2, asl #1 ldr r0, [r5, #4] ldr ip, [sp, #16] ldr r3, [sp, #4] str r0, [r1, ip] - ldr r1, .L1263 - ldr r1, [r1, #3960] + ldr r1, .L1264 + ldr r1, [r1, #3964] strh r6, [r1, r2] @ movhi - b .L1234 -.L1230: + b .L1235 +.L1231: sub r3, r3, #1 uxth r3, r3 -.L1229: +.L1230: ldr r6, [sp, #4] sxth r2, r3 cmp r2, r6 - bgt .L1235 + bgt .L1236 mov r6, r9 -.L1234: +.L1235: sxth r3, r3 cmp r3, #0 - blt .L1216 - ldr r2, .L1263 - movw ip, #3932 - movw r1, #3958 + blt .L1217 + ldr r2, .L1264 + mov ip, #3936 + movw r1, #3962 ldrh ip, [r2, ip] ldrh r0, [r2, r1] sub ip, ip, #1 rsb ip, r0, ip sxth ip, ip cmp r3, ip - bgt .L1216 + bgt .L1217 add r0, r0, #1 strh r0, [r2, r1] @ movhi ldr r0, [r5, #4] - ldr r1, [r4, #-912] + ldr r1, [r4, #-908] str r0, [r1, r3, asl #2] mov r3, r3, asl #1 - ldr r2, [r2, #3960] -.L1258: + ldr r2, [r2, #3964] +.L1259: strh r6, [r2, r3] @ movhi - b .L1216 -.L1218: - ldr r3, .L1263+12 + b .L1217 +.L1219: + ldr r3, .L1264+16 movw ip, #65535 ldrh r2, [r4, r3] cmp r2, ip streqh r6, [r4, r3] @ movhi - beq .L1259 - ldr r3, .L1263+16 + beq .L1260 + ldr r3, .L1264+20 movw r1, #65535 ldrh r0, [r4, r3] cmp r0, r1 - beq .L1237 + beq .L1238 mov r1, #1 bl FtlFreeSysBlkQueueIn -.L1237: +.L1238: ldr r3, [r5, #4] - ldr r2, [sl, #-1768] + ldr r2, [sl, #-1764] cmp r2, r3 - ldr r3, .L1263+16 + ldr r3, .L1264+20 strcsh r6, [r4, r3] @ movhi - bcs .L1216 - ldr r2, .L1263+12 + bcs .L1217 + ldr r2, .L1264+16 ldrh r1, [r4, r2] strh r6, [r4, r2] @ movhi strh r1, [r4, r3] @ movhi -.L1259: +.L1260: ldr r3, [r5, #4] - str r3, [r4, #-1768] - b .L1216 -.L1262: + str r3, [r4, #-1764] + b .L1217 +.L1263: mov r0, r6 - b .L1260 -.L1213: - ldr r3, .L1263 + b .L1261 +.L1214: + ldr r3, .L1264 mov r0, r6 ldrb r1, [r3, #928] @ zero_extendqisi2 cmp r1, #0 - beq .L1239 -.L1260: + beq .L1240 +.L1261: mov r1, #0 -.L1239: +.L1240: bl FtlFreeSysBlkQueueIn -.L1216: +.L1217: ldr r6, [sp, #12] add r8, r8, #36 add r3, r6, #1 uxth r3, r3 str r3, [sp, #12] cmp r3, fp - bne .L1240 -.L1209: + bne .L1241 +.L1210: ldr ip, [sp, #8] add r3, ip, #1 uxth r3, r3 str r3, [sp, #8] -.L1206: - ldr r6, .L1263 - movw r3, #3854 +.L1207: + ldr r6, .L1264 + movw r3, #3858 ldr ip, [sp, #8] ldrh r3, [r6, r3] cmp r3, ip - bhi .L1254 - ldr r1, .L1263+4 - ldr r2, [r1, #-1044] + bhi .L1255 + ldr r1, .L1264+4 + ldr r2, [r1, #-1040] ldrh r3, [r2, #0] cmp r3, #0 - bne .L1242 - ldr r0, .L1263+8 + bne .L1243 + ldr r0, .L1264+8 ldrh r1, [r1, r0] cmp r1, #0 - ldrne r0, [r6, #3940] - bne .L1243 - b .L1242 -.L1247: + ldrne r0, [r6, #3944] + bne .L1244 + b .L1243 +.L1248: mov r1, r1, asl #1 ldrh r1, [r2, r1] cmp r1, #0 - beq .L1244 - ldr r7, .L1263 + beq .L1245 + ldr r7, .L1264 sxth r6, r3 - ldr r1, .L1263+4 + ldr r1, .L1264+4 mov r5, #0 - b .L1245 -.L1246: - ldr ip, [r1, #-1044] + b .L1246 +.L1247: + ldr ip, [r1, #-1040] mov r0, r2, asl #1 rsb r4, r6, r2 add r3, r3, #1 @@ -10564,49 +10569,49 @@ FtlScanSysBlk: mov r8, r4, asl #1 uxth r3, r3 strh sl, [ip, r8] @ movhi - ldr ip, [r1, #-1040] + ldr ip, [r1, #-1036] ldr r2, [ip, r2, asl #2] str r2, [ip, r4, asl #2] - ldr r2, [r1, #-1044] + ldr r2, [r1, #-1040] strh r5, [r2, r0] @ movhi -.L1245: - ldr r0, [r7, #3940] +.L1246: + ldr r0, [r7, #3944] sxth r2, r3 cmp r2, r0 - bcc .L1246 - b .L1242 -.L1244: + bcc .L1247 + b .L1243 +.L1245: add r3, r3, #1 uxth r3, r3 -.L1243: +.L1244: sxth r1, r3 cmp r1, r0 - bcc .L1247 -.L1242: - ldr r2, .L1263 - ldr r1, [r2, #3960] + bcc .L1248 +.L1243: + ldr r2, .L1264 + ldr r1, [r2, #3964] ldrh r3, [r1, #0] cmp r3, #0 - bne .L1248 - movw r0, #3958 + bne .L1249 + movw r0, #3962 ldrh r0, [r2, r0] cmp r0, #0 - movwne r0, #3932 + movne r0, #3936 ldrneh r2, [r2, r0] - bne .L1249 - b .L1248 -.L1253: + bne .L1250 + b .L1249 +.L1254: mov ip, r0, asl #1 ldrh ip, [r1, ip] cmp ip, #0 - beq .L1250 - ldr r1, .L1263 - movw r8, #3932 - ldr r7, .L1263+4 + beq .L1251 + ldr r1, .L1264 + mov r8, #3936 + ldr r7, .L1264+4 mov r6, #0 - b .L1251 -.L1252: - ldr r4, [r1, #3960] + b .L1252 +.L1253: + ldr r4, [r1, #3964] mov ip, r2, asl #1 rsb r5, r0, r2 add r3, r3, #1 @@ -10614,36 +10619,37 @@ FtlScanSysBlk: mov sl, r5, asl #1 uxth r3, r3 strh r9, [r4, sl] @ movhi - ldr r4, [r7, #-912] + ldr r4, [r7, #-908] ldr r2, [r4, r2, asl #2] str r2, [r4, r5, asl #2] - ldr r2, [r1, #3960] + ldr r2, [r1, #3964] strh r6, [r2, ip] @ movhi -.L1251: +.L1252: ldrh ip, [r1, r8] sxth r2, r3 cmp r2, ip - blt .L1252 - b .L1248 -.L1250: + blt .L1253 + b .L1249 +.L1251: add r3, r3, #1 uxth r3, r3 -.L1249: +.L1250: sxth r0, r3 cmp r0, r2 - blt .L1253 -.L1248: + blt .L1254 +.L1249: mov r0, #0 add sp, sp, #28 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1264: +.L1265: .align 2 -.L1263: +.L1264: .word .LANCHOR0 .word .LANCHOR2 - .word -1048 - .word -1776 + .word -1044 + .word .LANCHOR2-1772 .word -1772 + .word -1768 .fnend .size FtlScanSysBlk, .-FtlScanSysBlk .align 2 @@ -10654,11 +10660,11 @@ FtlGetLastWrittenPage: @ args = 0, pretend = 0, frame = 104 @ frame_needed = 0, uses_anonymous_args = 0 cmp r1, #1 - ldr r3, .L1276 + ldr r3, .L1277 stmfd sp!, {r4, r5, r6, r7, r8, sl, lr} .save {r4, r5, r6, r7, r8, sl, lr} - movweq r2, #3914 - movwne r2, #3912 + movweq r2, #3918 + movwne r2, #3916 .pad #108 sub sp, sp, #108 ldrh r4, [r3, r2] @@ -10680,9 +10686,9 @@ FtlGetLastWrittenPage: bl FlashReadPages ldr r3, [sp, #40] cmn r3, #1 - bne .L1269 - b .L1274 -.L1272: + bne .L1270 + b .L1275 +.L1273: add r6, r6, r3 mov r0, r7 mov r1, #1 @@ -10695,30 +10701,30 @@ FtlGetLastWrittenPage: bl FlashReadPages ldr r3, [sp, #40] cmn r3, #1 - bne .L1270 + bne .L1271 ldr r3, [sp, #44] cmn r3, #1 - bne .L1270 + bne .L1271 ldr r3, [sp, #4] cmn r3, #1 subne r4, r6, #1 uxthne r4, r4 - bne .L1274 -.L1270: + bne .L1275 +.L1271: add r6, r6, #1 uxth r8, r6 -.L1274: +.L1275: sxth r6, r8 sxth r3, r4 cmp r6, r3 - ble .L1272 -.L1269: + ble .L1273 +.L1270: sxth r0, r4 add sp, sp, #108 ldmfd sp!, {r4, r5, r6, r7, r8, sl, pc} -.L1277: +.L1278: .align 2 -.L1276: +.L1277: .word .LANCHOR0 .fnend .size FtlGetLastWrittenPage, .-FtlGetLastWrittenPage @@ -10732,138 +10738,137 @@ FtlLoadSysInfo: stmfd sp!, {r3, r4, r5, r6, r7, lr} .save {r3, r4, r5, r6, r7, lr} mov r5, #0 - ldr r4, .L1294 + ldr r4, .L1295 mov r1, r5 - ldr r2, .L1294+4 - ldr r3, [r4, #-940] - ldr r0, [r4, #-2020] - str r5, [r4, #184] - str r3, [r4, #188] - movw r3, #3852 + ldr r2, .L1295+4 + ldr r7, .L1295+8 + ldr r3, [r4, #-936] + str r5, [r4, #188] + ldr r0, [r4, #-2016] + str r3, [r4, #192] + mov r3, #3856 ldrh r2, [r2, r3] mov r2, r2, asl #1 bl ftl_memset - ldr r3, .L1294+8 - ldrh r0, [r4, r3] + ldrh r0, [r4, r7] movw r3, #65535 cmp r0, r3 - beq .L1292 + beq .L1293 mov r1, #1 - ldr r7, .L1294+12 bl FtlGetLastWrittenPage - ldr r3, .L1294+16 + ldr r3, .L1295+12 add r2, r0, #1 mov r6, r0 strh r2, [r4, r3] @ movhi - b .L1280 -.L1283: - ldr r2, .L1294+8 + b .L1281 +.L1284: + ldrh r2, [r4, r7] mov r1, #1 - ldr r0, .L1294+20 - ldrh r2, [r4, r2] + ldr r0, .L1295+16 orr r3, r3, r2, asl #10 - str r3, [r4, #180] - ldr r3, [r4, #-964] - mov r2, r1 str r3, [r4, #184] + ldr r3, [r4, #-960] + mov r2, r1 + str r3, [r4, #188] bl FlashReadPages - ldr r3, [r4, #176] + ldr r3, [r4, #180] cmn r3, #1 - beq .L1281 - ldr r3, [r4, #-964] - ldr r3, [r3, #0] - cmp r3, r7 - bne .L1281 - ldr r3, [r4, #-940] + beq .L1282 + ldr r3, [r4, #-960] + ldr r2, [r3, #0] + ldr r3, .L1295+20 + cmp r2, r3 + bne .L1282 + ldr r3, [r4, #-936] ldrh r2, [r3, #0] movw r3, #61604 cmp r2, r3 - beq .L1282 -.L1281: + beq .L1283 +.L1282: sub r5, r5, #1 uxth r5, r5 -.L1280: +.L1281: add r3, r5, r6 sxth r3, r3 cmp r3, #0 - bge .L1283 -.L1282: - ldr r4, .L1294 + bge .L1284 +.L1283: + ldr r4, .L1295 mov r2, #48 - ldr r5, .L1294+4 - movw r6, #3852 - ldr r0, .L1294+24 - ldr r7, [r4, #184] + ldr r5, .L1295+4 + mov r6, #3856 + ldr r0, .L1295+24 + ldr r7, [r4, #188] mov r1, r7 bl memcpy ldrh r2, [r5, r6] add r1, r7, #48 - ldr r0, [r4, #-2020] + ldr r0, [r4, #-2016] mov r2, r2, asl #1 bl memcpy ldrh r1, [r5, r6] - ldr r3, [r4, #184] - ldr r0, [r4, #-1844] + ldr r3, [r4, #188] + ldr r0, [r4, #-1840] mov r2, r1, lsr #3 add r1, r1, #24 add r2, r2, #4 mov r1, r1, lsr #1 add r1, r3, r1, asl #2 bl memcpy - movw r3, #3956 + movw r3, #3960 ldrh r3, [r5, r3] cmp r3, #0 - beq .L1284 + beq .L1285 ldrh r3, [r5, r6] - movw r2, #3948 + mov r2, #3952 ldrh r2, [r5, r2] - ldr r0, [r4, #-904] + ldr r0, [r4, #-900] mov r1, r3, lsr #3 add r1, r1, r3, asl #1 - ldr r3, [r4, #184] + ldr r3, [r4, #188] add r1, r1, #52 mov r2, r2, asl #2 ubfx r1, r1, #2, #14 add r1, r3, r1, asl #2 bl memcpy -.L1284: - ldr r4, .L1294 - ldr r3, .L1294+12 - ldr r2, [r4, #-2076] +.L1285: + ldr r4, .L1295 + ldr r3, .L1295+20 + ldr r2, [r4, #-2072] cmp r2, r3 - bne .L1292 - ldr r3, .L1294+28 - movw r1, #3866 - ldrb r0, [r4, #-2066] @ zero_extendqisi2 + bne .L1293 + ldr r3, .L1295+28 + movw r1, #3870 + ldrb r0, [r4, #-2062] @ zero_extendqisi2 ldrh r2, [r4, r3] - ldr r3, .L1294+32 + ldr r3, .L1295+32 strh r2, [r4, r3] @ movhi - ldr r3, .L1294+4 + ldr r3, .L1295+4 ldrh r1, [r3, r1] cmp r0, r1 - bne .L1292 - movw r1, #3912 - movw r0, #3918 + bne .L1293 + movw r1, #3916 + movw r0, #3922 ldrh r1, [r3, r1] movw r5, #65535 ldrh r0, [r3, r0] - str r2, [r4, #212] + str r2, [r4, #216] mul r1, r2, r1 - str r1, [r3, #3972] + str r1, [r3, #3976] mul r1, r0, r1 - ldr r0, [r3, #3856] - str r1, [r3, #3952] - movw r1, #3982 + ldr r0, [r3, #3860] + str r1, [r3, #3956] + movw r1, #3986 ldrh r1, [r3, r1] rsb r0, r1, r0 rsb r0, r2, r0 - movw r2, #3844 + movw r2, #3848 ldrh r1, [r3, r2] bl __aeabi_uidiv - ldr r3, .L1294+36 - ldr r1, .L1294+40 + ldr r3, .L1295+36 + ldr r1, .L1295+40 strh r0, [r4, r3] @ movhi - ldr r3, .L1294+44 + ldr r3, .L1295+44 ldrh r2, [r4, r3] add r3, r3, #62 strh r2, [r4, r3] @ movhi @@ -10871,123 +10876,125 @@ FtlLoadSysInfo: ldrh r3, [r4, r3] mov r0, r3, lsr #6 and r3, r3, #63 - strb r3, [r4, #-1994] - ldrb r3, [r4, #-2065] @ zero_extendqisi2 + strb r3, [r4, #-1990] + ldrb r3, [r4, #-2061] @ zero_extendqisi2 strh r0, [r4, r1] @ movhi mvn r1, #0 - ldr r0, .L1294+48 - strb r3, [r4, #-1992] - ldr r3, .L1294+52 + ldr r0, .L1295+48 + strb r3, [r4, #-1988] + ldr r3, .L1295+52 strh r1, [r4, r3] @ movhi mov r3, #0 - ldr r1, .L1294+56 + ldr r1, .L1295+56 strh r3, [r4, r0] @ movhi - strb r3, [r4, #-1758] + strb r3, [r4, #-1754] ldrh r0, [r4, r1] add r1, r1, #106 - strb r3, [r4, #-1756] - str r3, [r4, #-1820] + strb r3, [r4, #-1752] + str r3, [r4, #-1816] strh r0, [r4, r1] @ movhi sub r1, r1, #104 - ldr r0, .L1294+60 + ldr r0, .L1295+60 ldrh r1, [r4, r1] mov ip, r1, lsr #6 and r1, r1, #63 - strb r1, [r4, #-1946] - ldrb r1, [r4, #-2064] @ zero_extendqisi2 + strb r1, [r4, #-1942] + ldrb r1, [r4, #-2060] @ zero_extendqisi2 strh ip, [r4, r0] @ movhi - strb r1, [r4, #-1944] - ldr r1, .L1294+64 + strb r1, [r4, #-1940] + ldr r1, .L1295+64 ldrh r0, [r4, r1] add r1, r1, #150 strh r0, [r4, r1] @ movhi - sub r1, r1, #148 - ldr r0, .L1294+68 + ldr r1, .L1295+68 + ldr r0, .L1295+72 ldrh r1, [r4, r1] mov ip, r1, lsr #6 and r1, r1, #63 - strb r1, [r4, #-1898] - ldrb r1, [r4, #-2063] @ zero_extendqisi2 + strb r1, [r4, #-1894] + ldrb r1, [r4, #-2059] @ zero_extendqisi2 strh ip, [r4, r0] @ movhi - strb r1, [r4, #-1896] - str r3, [r4, #-1832] - ldr r1, [r4, #-2044] - str r3, [r4, #-1840] - str r3, [r4, #-1824] - str r3, [r4, #-1796] - str r3, [r4, #-1788] + strb r1, [r4, #-1892] str r3, [r4, #-1828] - ldr r3, [r4, #-2036] - str r1, [r4, #-1800] - ldr r1, [r4, #-1808] - cmp r3, r1 - strhi r3, [r4, #-1808] - ldr r4, .L1294 - ldr r3, [r4, #-2040] + ldr r1, [r4, #-2040] + str r3, [r4, #-1836] + str r3, [r4, #-1820] + str r3, [r4, #-1792] + str r3, [r4, #-1784] + str r3, [r4, #-1824] + ldr r3, [r4, #-2032] + str r1, [r4, #-1796] ldr r1, [r4, #-1804] cmp r3, r1 strhi r3, [r4, #-1804] + ldr r4, .L1295 + ldr r3, [r4, #-2036] + ldr r1, [r4, #-1800] + cmp r3, r1 + strhi r3, [r4, #-1800] cmp r2, r5 - beq .L1287 - ldr r0, .L1294+72 - bl make_superblock -.L1287: - ldr r3, .L1294+76 - ldrh r3, [r4, r3] - cmp r3, r5 beq .L1288 - ldr r0, .L1294+80 + ldr r0, .L1295+76 bl make_superblock .L1288: - ldr r4, .L1294 - movw r5, #65535 - ldr r3, .L1294+84 + ldr r3, .L1295+80 ldrh r3, [r4, r3] cmp r3, r5 beq .L1289 - sub r0, r4, #1904 + ldr r0, .L1295+84 bl make_superblock .L1289: - ldr r3, .L1294+52 - ldrh r3, [r4, r3] - cmp r3, r5 - beq .L1293 - ldr r0, .L1294+88 + ldr r5, .L1295 + movw r4, #65535 + ldr r3, .L1295+88 + ldrh r3, [r5, r3] + cmp r3, r4 + beq .L1290 + ldr r0, .L1295+92 + bl make_superblock +.L1290: + ldr r3, .L1295+52 + ldrh r3, [r5, r3] + cmp r3, r4 + beq .L1294 + ldr r0, .L1295+96 bl make_superblock mov r0, #0 ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L1292: +.L1293: mvn r0, #0 ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L1293: +.L1294: mov r0, #0 ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L1295: +.L1296: .align 2 -.L1294: +.L1295: .word .LANCHOR2 .word .LANCHOR0 - .word -1776 - .word 1179929683 - .word -1774 - .word .LANCHOR2+176 - .word .LANCHOR2-2076 - .word -2068 + .word -1772 .word -1770 - .word -1780 - .word -1998 - .word -2062 - .word -1762 - .word -1764 + .word .LANCHOR2+180 + .word 1179929683 + .word .LANCHOR2-2072 + .word -2064 + .word -1766 + .word -1776 + .word -1994 .word -2058 - .word -1950 + .word -1758 + .word -1760 .word -2054 - .word -1902 - .word .LANCHOR2-2000 - .word -1952 - .word .LANCHOR2-1952 - .word -1904 - .word .LANCHOR2-1764 + .word -1946 + .word -2050 + .word -2048 + .word -1898 + .word .LANCHOR2-1996 + .word -1948 + .word .LANCHOR2-1948 + .word -1900 + .word .LANCHOR2-1900 + .word .LANCHOR2-1760 .fnend .size FtlLoadSysInfo, .-FtlLoadSysInfo .align 2 @@ -10999,187 +11006,187 @@ FtlLoadBbt: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r4, r5, r6, r7, r8, lr} .save {r4, r5, r6, r7, r8, lr} - ldr r6, .L1312 - ldr r8, .L1312+4 - ldr r3, [r6, #-964] + ldr r6, .L1313 + ldr r8, .L1313+4 + ldr r3, [r6, #-960] mov r7, r6 - ldr r4, [r6, #-940] - str r3, [r6, #184] - str r4, [r6, #188] + ldr r4, [r6, #-936] + str r3, [r6, #188] + str r4, [r6, #192] bl FtlBbtMemInit - movw r3, #3908 + movw r3, #3912 ldrh r5, [r8, r3] sub r5, r5, #1 uxth r5, r5 - b .L1297 -.L1301: + b .L1298 +.L1302: mov r1, #1 mov r3, r5, asl #10 - ldr r0, .L1312+8 + ldr r0, .L1313+8 mov r2, r1 - str r3, [r6, #180] + str r3, [r6, #184] bl FlashReadPages - ldr r3, [r6, #176] - cmn r3, #1 - bne .L1298 ldr r3, [r6, #180] + cmn r3, #1 + bne .L1299 + ldr r3, [r6, #184] mov r1, #1 - ldr r0, .L1312+8 + ldr r0, .L1313+8 mov r2, r1 add r3, r3, #1 - str r3, [r6, #180] + str r3, [r6, #184] bl FlashReadPages -.L1298: - ldr r3, [r7, #176] +.L1299: + ldr r3, [r7, #180] cmn r3, #1 - beq .L1299 + beq .L1300 ldrh r2, [r4, #0] movw r3, #61649 cmp r2, r3 - bne .L1299 - ldr r3, .L1312+4 - movw r2, #3976 + bne .L1300 + ldr r3, .L1313+4 + movw r2, #3980 strh r5, [r3, r2] @ movhi ldr r2, [r4, #4] - str r2, [r3, #3984] - movw r2, #3980 + str r2, [r3, #3988] + mov r2, #3984 ldrh r1, [r4, #8] strh r1, [r3, r2] @ movhi - b .L1300 -.L1299: + b .L1301 +.L1300: sub r5, r5, #1 uxth r5, r5 -.L1297: - movw r3, #3908 +.L1298: + movw r3, #3912 ldrh r3, [r8, r3] sub r3, r3, #48 cmp r5, r3 - bgt .L1301 -.L1300: - ldr r5, .L1312+4 - movw r8, #3976 + bgt .L1302 +.L1301: + ldr r5, .L1313+4 + movw r8, #3980 movw r3, #65535 ldrh r2, [r5, r8] cmp r2, r3 - beq .L1311 - movw r6, #3980 + beq .L1312 + mov r6, #3984 ldrh r2, [r5, r6] cmp r2, r3 - beq .L1303 - ldr r7, .L1312 + beq .L1304 + ldr r7, .L1313 mov r1, #1 mov r2, r2, asl #10 - add r0, r7, #176 - str r2, [r7, #180] + add r0, r7, #180 + str r2, [r7, #184] mov r2, r1 bl FlashReadPages - ldr r3, [r7, #176] + ldr r3, [r7, #180] cmn r3, #1 - beq .L1303 + beq .L1304 ldrh r2, [r4, #0] movw r3, #61649 cmp r2, r3 - bne .L1303 + bne .L1304 ldr r3, [r4, #4] - ldr r2, [r5, #3984] + ldr r2, [r5, #3988] cmp r3, r2 - strhi r3, [r5, #3984] + strhi r3, [r5, #3988] ldrhih r2, [r5, r6] ldrhih r3, [r4, #8] strhih r2, [r5, r8] @ movhi strhih r3, [r5, r6] @ movhi -.L1303: - ldr r8, .L1312+4 - movw r3, #3976 +.L1304: + ldr r8, .L1313+4 + movw r3, #3980 mov r1, #1 mov r6, #0 - ldr r5, .L1312 + ldr r5, .L1313 ldrh r0, [r8, r3] bl FtlGetLastWrittenPage - movw r3, #3978 + movw r3, #3982 add r2, r0, #1 mov r7, r0 strh r2, [r8, r3] @ movhi - b .L1304 -.L1307: - movw r2, #3976 + b .L1305 +.L1308: + movw r2, #3980 mov r1, #1 ldrh r2, [r8, r2] - ldr r0, .L1312+8 + ldr r0, .L1313+8 orr r3, r3, r2, asl #10 - str r3, [r5, #180] - ldr r3, [r5, #-964] - mov r2, r1 str r3, [r5, #184] + ldr r3, [r5, #-960] + mov r2, r1 + str r3, [r5, #188] bl FlashReadPages - ldr r3, [r5, #176] + ldr r3, [r5, #180] cmn r3, #1 - beq .L1305 + beq .L1306 ldrh r2, [r4, #0] movw r3, #61649 cmp r2, r3 - beq .L1306 -.L1305: + beq .L1307 +.L1306: sub r6, r6, #1 uxth r6, r6 -.L1304: +.L1305: add r3, r6, r7 sxth r3, r3 cmp r3, #0 - bge .L1307 -.L1306: - ldr r3, .L1312+4 - movw r2, #3982 + bge .L1308 +.L1307: + ldr r3, .L1313+4 + movw r2, #3986 ldrh r1, [r4, #10] ldrh r0, [r4, #12] strh r1, [r3, r2] @ movhi movw r2, #65535 cmp r0, r2 - beq .L1308 - ldr r2, [r3, #3840] + beq .L1309 + ldr r2, [r3, #3844] cmp r0, r2 - beq .L1308 - movw r1, #3854 + beq .L1309 + movw r1, #3858 ldrh r3, [r3, r1] mov r3, r3, lsr #2 cmp r2, r3 - bcs .L1308 + bcs .L1309 cmp r0, r3 - bcs .L1308 + bcs .L1309 bl FtlSysBlkNumInit -.L1308: - ldr r5, .L1312+12 +.L1309: + ldr r6, .L1313+12 mov r4, #0 - movw r7, #3866 - ldr r6, .L1312 - sub r8, r5, #4000 - b .L1309 -.L1310: - ldr r3, .L1312+16 - ldr r1, [r6, #184] - ldr r0, [r5, #4]! - ldrh r2, [r6, r3] + ldr r8, .L1313+4 + movw r7, #3870 + ldr r5, .L1313 + b .L1310 +.L1311: + ldr r3, .L1313+16 + ldr r1, [r5, #188] + ldr r0, [r6, #4]! + ldrh r2, [r5, r3] mov r2, r2, asl #2 mla r1, r4, r2, r1 bl memcpy add r4, r4, #1 -.L1309: +.L1310: ldrh r3, [r8, r7] cmp r4, r3 - bcc .L1310 + bcc .L1311 mov r0, #0 ldmfd sp!, {r4, r5, r6, r7, r8, pc} -.L1311: +.L1312: mvn r0, #0 ldmfd sp!, {r4, r5, r6, r7, r8, pc} -.L1313: +.L1314: .align 2 -.L1312: +.L1313: .word .LANCHOR2 .word .LANCHOR0 - .word .LANCHOR2+176 - .word .LANCHOR0+4000 - .word -1032 + .word .LANCHOR2+180 + .word .LANCHOR0+4004 + .word -1028 .fnend .size FtlLoadBbt, .-FtlLoadBbt .align 2 @@ -11192,63 +11199,63 @@ FtlLoadFactoryBbt: stmfd sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} mov r5, #0 - ldr r3, .L1321 - movw fp, #3866 - ldr r7, .L1321+4 - ldr r6, .L1321+8 - ldr r2, [r3, #-964] - ldr r8, [r3, #-940] - str r2, [r3, #184] - str r8, [r3, #188] - b .L1315 -.L1320: - movw r9, #3908 + ldr r3, .L1322 + movw fp, #3870 + ldr r7, .L1322+4 + ldr r6, .L1322+8 + ldr r2, [r3, #-960] + ldr r8, [r3, #-936] + str r2, [r3, #188] + str r8, [r3, #192] + b .L1316 +.L1321: + movw r9, #3912 mvn r3, #0 ldrh r4, [r6, r9] strh r3, [r7], #2 @ movhi add r4, r4, r3 - ldr sl, .L1321 + ldr sl, .L1322 uxth r4, r4 - b .L1316 -.L1319: + b .L1317 +.L1320: mla r3, r3, r5, r4 mov r1, #1 - ldr r0, .L1321+12 + ldr r0, .L1322+12 mov r2, r1 mov r3, r3, asl #10 - str r3, [sl, #180] + str r3, [sl, #184] bl FlashReadPages - ldr r3, [sl, #176] + ldr r3, [sl, #180] cmn r3, #1 - beq .L1317 + beq .L1318 ldrh r2, [r8, #0] movw r3, #61664 cmp r2, r3 streqh r4, [r7, #-2] @ movhi - beq .L1318 -.L1317: + beq .L1319 +.L1318: sub r4, r4, #1 uxth r4, r4 -.L1316: +.L1317: ldrh r3, [r6, r9] sub r2, r3, #16 cmp r4, r2 - bgt .L1319 -.L1318: + bgt .L1320 +.L1319: add r5, r5, #1 -.L1315: +.L1316: ldrh r3, [r6, fp] cmp r5, r3 - bcc .L1320 + bcc .L1321 mov r0, #0 ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1322: +.L1323: .align 2 -.L1321: +.L1322: .word .LANCHOR2 - .word .LANCHOR0+3988 + .word .LANCHOR0+3992 .word .LANCHOR0 - .word .LANCHOR2+176 + .word .LANCHOR2+180 .fnend .size FtlLoadFactoryBbt, .-FtlLoadFactoryBbt .align 2 @@ -11266,13 +11273,13 @@ FlashProgSlc2KPages: mov r9, r2 str r3, [sp, #12] mov r4, r0 - ldr r3, .L1342 + ldr r3, .L1343 mov r6, r0 mov r8, #0 - ldr r7, .L1342+4 + ldr r7, .L1343+4 ldrb fp, [r3, #2901] @ zero_extendqisi2 - b .L1324 -.L1331: + b .L1325 +.L1332: rsb r3, r8, sl add r2, sp, #20 mov r0, r6 @@ -11286,7 +11293,7 @@ FlashProgSlc2KPages: cmp r3, r2 mvncs r3, #0 strcs r3, [r6, #0] - bcs .L1326 + bcs .L1327 add r3, r7, r3 ldrb r5, [r3, #3764] @ zero_extendqisi2 mov r0, r5 @@ -11345,27 +11352,27 @@ FlashProgSlc2KPages: mvnne r3, #0 strne r3, [r6, #0] bl NandcFlashDeCs -.L1326: +.L1327: add r8, r8, #1 add r6, r6, #36 -.L1324: +.L1325: cmp r8, sl - bne .L1331 + bne .L1332 ldr r3, [sp, #12] cmp r3, #0 movne r6, #0 - ldrne r5, .L1342+8 - bne .L1332 - b .L1333 -.L1338: + ldrne r5, .L1343+8 + bne .L1333 + b .L1334 +.L1339: ldr r3, [r4, #0] cmn r3, #1 - bne .L1334 + bne .L1335 ldr r1, [r4, #4] - ldr r0, .L1342+12 + ldr r0, .L1343+12 bl printk - b .L1335 -.L1334: + b .L1336 +.L1335: rsb r3, r6, sl mov r1, r9 add r2, sp, #20 @@ -11374,12 +11381,12 @@ FlashProgSlc2KPages: str r3, [sp, #0] add r3, sp, #24 bl LogAddr2PhyAddr - ldr r2, [r5, #216] + ldr r2, [r5, #220] mov r3, #0 mov lr, r4 add ip, sp, #28 str r3, [r2, #0] - ldr r2, [r5, #220] + ldr r2, [r5, #224] str r3, [r2, #0] ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} @@ -11390,59 +11397,59 @@ FlashProgSlc2KPages: mov r1, #1 mov r2, r9 str r3, [ip, #0] - ldr r3, [r5, #216] - str r3, [sp, #36] ldr r3, [r5, #220] + str r3, [sp, #36] + ldr r3, [r5, #224] str r3, [sp, #40] bl FlashReadPages ldr r7, [sp, #28] cmn r7, #1 - bne .L1336 - ldr r0, .L1342+16 + bne .L1337 + ldr r0, .L1343+16 ldr r1, [r4, #4] bl printk str r7, [r4, #0] -.L1336: +.L1337: ldr r3, [r4, #12] cmp r3, #0 - beq .L1337 + beq .L1338 + ldr r2, [r3, #0] + ldr r3, [r5, #224] + ldr r3, [r3, #0] + cmp r2, r3 + beq .L1338 + ldr r0, .L1343+20 + ldr r1, [r4, #4] + bl printk + mvn r3, #0 + str r3, [r4, #0] +.L1338: + ldr r3, [r4, #8] + cmp r3, #0 + beq .L1336 ldr r2, [r3, #0] ldr r3, [r5, #220] ldr r3, [r3, #0] cmp r2, r3 - beq .L1337 - ldr r0, .L1342+20 + beq .L1336 + ldr r0, .L1343+24 ldr r1, [r4, #4] bl printk mvn r3, #0 str r3, [r4, #0] -.L1337: - ldr r3, [r4, #8] - cmp r3, #0 - beq .L1335 - ldr r2, [r3, #0] - ldr r3, [r5, #216] - ldr r3, [r3, #0] - cmp r2, r3 - beq .L1335 - ldr r0, .L1342+24 - ldr r1, [r4, #4] - bl printk - mvn r3, #0 - str r3, [r4, #0] -.L1335: +.L1336: add r6, r6, #1 add r4, r4, #36 -.L1332: - cmp r6, sl - bne .L1338 .L1333: + cmp r6, sl + bne .L1339 +.L1334: mov r0, #0 add sp, sp, #68 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1343: +.L1344: .align 2 -.L1342: +.L1343: .word .LANCHOR1 .word .LANCHOR0 .word .LANCHOR2 @@ -11463,7 +11470,7 @@ FlashProgPages: .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} .pad #76 sub sp, sp, #76 - ldr r5, .L1372 + ldr r5, .L1373 mov r9, r0 str r1, [sp, #8] mov sl, r2 @@ -11474,13 +11481,13 @@ FlashProgPages: cmp r6, #0 moveq fp, r5 str ip, [sp, #20] - ldr ip, .L1372+4 + ldr ip, .L1373+4 ldrb ip, [ip, #2901] @ zero_extendqisi2 str ip, [sp, #12] - beq .L1345 + beq .L1346 bl FlashProgSlc2KPages - b .L1346 -.L1359: + b .L1347 +.L1360: mov r4, #36 ldr r2, [sp, #8] mul r4, r4, r6 @@ -11499,22 +11506,22 @@ FlashProgPages: mvncs r3, #0 strcs r3, [r9, r4] mov r8, r0 - bcs .L1348 - ldrb r1, [r5, #3833] @ zero_extendqisi2 + bcs .L1349 + ldrb r1, [r5, #3837] @ zero_extendqisi2 add r2, fp, r2, asl #4 cmp r1, #0 ldr r2, [r2, #3636] moveq r8, #0 cmp r2, #0 - beq .L1350 + beq .L1351 cmp r3, #1 - bne .L1351 + bne .L1352 ldr r0, [r5, #3012] bl NandcIqrWaitFlashReady -.L1351: +.L1352: ldrb r0, [sp, #32] @ zero_extendqisi2 bl FlashWaitCmdDone -.L1350: +.L1351: ldr r2, [sp, #32] mov r1, #0 cmp r8, #0 @@ -11534,10 +11541,10 @@ FlashProgPages: cmp r3, #1 strb r4, [r2, #3628] mov r0, r4 - bne .L1353 + bne .L1354 bl NandcWaitFlashReady - b .L1354 -.L1353: + b .L1355 +.L1354: bl NandcFlashCs ldr r3, [sp, #32] mov r0, r4 @@ -11549,34 +11556,34 @@ FlashProgPages: bl FlashWaitReadyEN mov r0, r4 bl NandcFlashDeCs -.L1354: +.L1355: ldr r2, [sp, #20] sub r3, r2, #1 cmp r3, #6 - bhi .L1355 + bhi .L1356 add r3, r5, r4 ldrb r3, [r3, #3756] @ zero_extendqisi2 cmp r3, #0 - beq .L1355 + beq .L1356 mov r0, r4 ldrb r1, [r5, #1] @ zero_extendqisi2 - ldr r2, .L1372+8 + ldr r2, .L1373+8 mov r3, #0 bl HynixSetRRPara -.L1355: +.L1356: mov r0, r4 bl NandcFlashCs cmp sl, #1 mov r0, r4 - bne .L1356 + bne .L1357 ldrb r3, [r5, #928] @ zero_extendqisi2 cmp r3, #0 - beq .L1356 + beq .L1357 bl flash_enter_slc_mode - b .L1357 -.L1356: - bl flash_exit_slc_mode + b .L1358 .L1357: + bl flash_exit_slc_mode +.L1358: mov r0, r4 ldr r1, [sp, #28] bl FlashProgFirstCmd @@ -11588,7 +11595,7 @@ FlashProgPages: ldr r3, [r7, #8] bl NandcXferData cmp r8, #0 - beq .L1358 + beq .L1359 mov r0, r4 ldr r1, [sp, #28] bl FlashProgDpFirstCmd @@ -11615,58 +11622,58 @@ FlashProgPages: ldr r2, [sp, #12] ldr r3, [r3, #8] bl NandcXferData -.L1358: +.L1359: mov r0, r4 ldr r1, [sp, #28] bl FlashProgSecondCmd mov r0, r4 bl NandcFlashDeCs add r6, r6, r8 -.L1348: +.L1349: add r6, r6, #1 -.L1345: +.L1346: ldr r3, [sp, #8] cmp r6, r3 - bcc .L1359 - ldr r5, .L1372 + bcc .L1360 + ldr r5, .L1373 mov r4, #0 - ldr r6, .L1372+12 + ldr r6, .L1373+12 ldr r0, [r5, #3012] bl NandcIqrWaitFlashReady - b .L1360 -.L1362: + b .L1361 +.L1363: uxtb r0, r4 bl FlashWaitCmdDone cmp sl, #1 - bne .L1361 + bne .L1362 ldrb r3, [r5, #928] @ zero_extendqisi2 cmp r3, #0 - beq .L1361 + beq .L1362 ldrb r0, [r6, r4, asl #4] @ zero_extendqisi2 bl flash_exit_slc_mode -.L1361: +.L1362: add r4, r4, #1 -.L1360: +.L1361: ldrb r3, [r5, #3762] @ zero_extendqisi2 cmp r4, r3 - bcc .L1362 + bcc .L1363 ldr r2, [sp, #16] cmp r2, #0 ldreq r0, [sp, #16] - beq .L1346 + beq .L1347 mov r5, #0 - ldr r4, .L1372+16 + ldr r4, .L1373+16 ldr r6, [sp, #8] - b .L1363 -.L1368: + b .L1364 +.L1369: ldr r3, [r9, #0] cmn r3, #1 - bne .L1364 + bne .L1365 ldr r1, [r9, #4] - ldr r0, .L1372+20 + ldr r0, .L1373+20 bl printk - b .L1365 -.L1364: + b .L1366 +.L1365: rsb r3, r5, r6 mov r1, sl add r2, sp, #28 @@ -11675,12 +11682,12 @@ FlashProgPages: str r3, [sp, #0] add r3, sp, #32 bl LogAddr2PhyAddr - ldr r2, [r4, #216] + ldr r2, [r4, #220] mov r3, #0 mov lr, r9 add ip, sp, #36 str r3, [r2, #0] - ldr r2, [r4, #220] + ldr r2, [r4, #224] str r3, [r2, #0] ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} @@ -11691,59 +11698,59 @@ FlashProgPages: mov r1, #1 mov r2, sl str r3, [ip, #0] - ldr r3, [r4, #216] - str r3, [sp, #44] ldr r3, [r4, #220] + str r3, [sp, #44] + ldr r3, [r4, #224] str r3, [sp, #48] bl FlashReadPages ldr r7, [sp, #36] cmn r7, #1 - bne .L1366 - ldr r0, .L1372+24 + bne .L1367 + ldr r0, .L1373+24 ldr r1, [r9, #4] bl printk str r7, [r9, #0] -.L1366: +.L1367: ldr r3, [r9, #12] cmp r3, #0 - beq .L1367 + beq .L1368 + ldr r2, [r3, #0] + ldr r3, [r4, #224] + ldr r3, [r3, #0] + cmp r2, r3 + beq .L1368 + ldr r0, .L1373+28 + ldr r1, [r9, #4] + bl printk + mvn r3, #0 + str r3, [r9, #0] +.L1368: + ldr r3, [r9, #8] + cmp r3, #0 + beq .L1366 ldr r2, [r3, #0] ldr r3, [r4, #220] ldr r3, [r3, #0] cmp r2, r3 - beq .L1367 - ldr r0, .L1372+28 + beq .L1366 + ldr r0, .L1373+32 ldr r1, [r9, #4] bl printk mvn r3, #0 str r3, [r9, #0] -.L1367: - ldr r3, [r9, #8] - cmp r3, #0 - beq .L1365 - ldr r2, [r3, #0] - ldr r3, [r4, #216] - ldr r3, [r3, #0] - cmp r2, r3 - beq .L1365 - ldr r0, .L1372+32 - ldr r1, [r9, #4] - bl printk - mvn r3, #0 - str r3, [r9, #0] -.L1365: +.L1366: add r5, r5, #1 add r9, r9, #36 -.L1363: +.L1364: cmp r5, r6 - bne .L1368 + bne .L1369 mov r0, #0 -.L1346: +.L1347: add sp, sp, #76 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1373: +.L1374: .align 2 -.L1372: +.L1373: .word .LANCHOR0 .word .LANCHOR1 .word .LANCHOR0+4 @@ -11764,196 +11771,197 @@ FtlVpcTblFlush.part.13: stmfd sp!, {r3, r4, r5, r6, r7, r8, sl, lr} .save {r3, r4, r5, r6, r7, r8, sl, lr} mov r1, #255 - ldr r4, .L1386 - movw r7, #3852 - ldr r6, .L1386+4 - ldr r3, [r4, #-964] - ldr r5, [r4, #-940] - str r3, [r4, #184] - ldr r3, .L1386+8 - str r5, [r4, #188] + ldr r4, .L1387 + mov r7, #3856 + ldr r6, .L1387+4 + ldr r3, [r4, #-960] + ldr r5, [r4, #-936] + str r3, [r4, #188] + ldr r3, .L1387+8 + str r5, [r4, #192] ldrh r3, [r4, r3] strh r3, [r5, #2] @ movhi - ldr r3, .L1386+12 + ldr r3, .L1387+12 strh r3, [r5, #0] @ movhi - ldr r3, [r4, #-1768] + ldr r3, [r4, #-1764] str r3, [r5, #4] mov r3, #0 str r3, [r5, #8] str r3, [r5, #12] - ldr r3, .L1386+16 - str r3, [r4, #-2076] - ldr r3, .L1386+20 + ldr r3, .L1387+16 str r3, [r4, #-2072] - ldr r3, .L1386+24 + ldr r3, .L1387+20 + str r3, [r4, #-2068] + ldr r3, .L1387+24 ldrh r2, [r4, r3] - ldr r3, .L1386+28 + ldr r3, .L1387+28 strh r2, [r4, r3] @ movhi - movw r3, #3866 + movw r3, #3870 ldrh r3, [r6, r3] - strb r3, [r4, #-2066] - ldr r3, .L1386+32 + strb r3, [r4, #-2062] + ldr r3, .L1387+32 ldrh r2, [r4, r3] sub r3, r3, #62 strh r2, [r4, r3] @ movhi add r3, r3, #64 ldrh r2, [r4, r3] - ldrb r3, [r4, #-1994] @ zero_extendqisi2 + ldrb r3, [r4, #-1990] @ zero_extendqisi2 orr r2, r3, r2, asl #6 - ldr r3, .L1386+36 + ldr r3, .L1387+36 strh r2, [r4, r3] @ movhi - ldrb r3, [r4, #-1992] @ zero_extendqisi2 - strb r3, [r4, #-2065] - ldr r3, .L1386+40 + ldrb r3, [r4, #-1988] @ zero_extendqisi2 + strb r3, [r4, #-2061] + ldr r3, .L1387+40 ldrh r2, [r4, r3] sub r3, r3, #106 strh r2, [r4, r3] @ movhi add r3, r3, #108 ldrh r2, [r4, r3] - ldrb r3, [r4, #-1946] @ zero_extendqisi2 + ldrb r3, [r4, #-1942] @ zero_extendqisi2 orr r2, r3, r2, asl #6 - ldr r3, .L1386+44 + ldr r3, .L1387+44 strh r2, [r4, r3] @ movhi - ldrb r3, [r4, #-1944] @ zero_extendqisi2 - strb r3, [r4, #-2064] - ldr r3, .L1386+48 + ldrb r3, [r4, #-1940] @ zero_extendqisi2 + strb r3, [r4, #-2060] + ldr r3, .L1387+48 ldrh r2, [r4, r3] sub r3, r3, #150 strh r2, [r4, r3] @ movhi add r3, r3, #152 - ldr r0, [r4, #184] + ldr r0, [r4, #188] ldrh r2, [r4, r3] - ldrb r3, [r4, #-1898] @ zero_extendqisi2 + ldrb r3, [r4, #-1894] @ zero_extendqisi2 orr r2, r3, r2, asl #6 - ldr r3, .L1386+52 + ldr r3, .L1387+52 strh r2, [r4, r3] @ movhi - ldrb r3, [r4, #-1896] @ zero_extendqisi2 - strb r3, [r4, #-2063] - ldr r3, [r4, #-1800] - str r3, [r4, #-2044] - ldr r3, [r4, #-1808] - str r3, [r4, #-2036] - ldr r3, [r4, #-1804] + ldrb r3, [r4, #-1892] @ zero_extendqisi2 + strb r3, [r4, #-2059] + ldr r3, [r4, #-1796] str r3, [r4, #-2040] - movw r3, #3922 + ldr r3, [r4, #-1804] + str r3, [r4, #-2032] + ldr r3, [r4, #-1800] + str r3, [r4, #-2036] + movw r3, #3926 ldrh r2, [r6, r3] bl ftl_memset - ldr r1, .L1386+56 + ldr r1, .L1387+56 mov r2, #48 - ldr r0, [r4, #184] + ldr r0, [r4, #188] bl memcpy ldrh r2, [r6, r7] - ldr r0, [r4, #184] - ldr r1, [r4, #-2020] + ldr r0, [r4, #188] + ldr r1, [r4, #-2016] mov r2, r2, asl #1 add r0, r0, #48 bl memcpy ldrh r2, [r6, r7] - ldr r3, [r4, #184] + ldr r3, [r4, #188] add r0, r2, #24 - ldr r1, [r4, #-1844] + ldr r1, [r4, #-1840] mov r2, r2, lsr #3 mov r0, r0, lsr #1 add r2, r2, #4 add r0, r3, r0, asl #2 bl memcpy - movw r3, #3956 + movw r3, #3960 ldrh r3, [r6, r3] cmp r3, #0 - beq .L1375 + beq .L1376 ldrh r3, [r6, r7] - ldr r1, [r4, #184] + ldr r1, [r4, #188] mov r0, r3, lsr #3 add r0, r0, r3, asl #1 - movw r3, #3948 + mov r3, #3952 add r0, r0, #52 ldrh r2, [r6, r3] ubfx r0, r0, #2, #14 mov r2, r2, asl #2 add r0, r1, r0, asl #2 - ldr r1, [r4, #-1036] + ldr r1, [r4, #-1032] bl memcpy -.L1375: +.L1376: mov r0, #0 - ldr r4, .L1386 + ldr r4, .L1387 bl FtlUpdateVaildLpn - ldr r6, .L1386+60 - mov r7, #0 + ldr r8, .L1387+8 + mov r6, #0 movw sl, #65535 -.L1385: - ldr r3, [r4, #-964] +.L1386: + ldr r3, [r4, #-960] mov r1, #1 - ldr r8, .L1386+8 - ldr r0, .L1386+64 - str r3, [r4, #184] - ldr r3, [r4, #-940] + ldr r7, .L1387+60 ldrh r2, [r4, r8] str r3, [r4, #188] - ldrh r3, [r4, r6] + ldr r3, [r4, #-936] + ldr r0, .L1387+64 + str r3, [r4, #192] + ldrh r3, [r4, r7] orr r3, r3, r2, asl #10 mov r2, r1 - str r3, [r4, #180] + str r3, [r4, #184] mov r3, r1 bl FlashProgPages - ldr r1, .L1386+4 - movw r3, #3914 - ldrh r2, [r4, r6] + ldr r1, .L1387+4 + movw r3, #3918 + ldrh r2, [r4, r7] ldrh r3, [r1, r3] sub r3, r3, #1 cmp r2, r3 - blt .L1377 - ldr r3, .L1386+68 + blt .L1378 + ldr r3, .L1387+68 ldrh r2, [r4, r8] ldrh sl, [r4, r3] strh r2, [r4, r3] @ movhi mov r3, #0 - strh r3, [r4, r6] @ movhi + strh r3, [r4, r7] @ movhi bl FtlFreeSysBlkQueueOut - ldr r3, [r4, #-1808] + ldr r3, [r4, #-1804] mov r1, #1 add r2, r3, #1 - str r2, [r4, #-1808] - str r3, [r4, #-1768] + str r2, [r4, #-1804] + str r3, [r4, #-1764] mov r2, r0, asl #10 strh r0, [r4, r8] @ movhi - str r2, [r4, #180] + str r2, [r4, #184] mov r2, r1 str r3, [r5, #4] mov r3, r1 strh r0, [r5, #2] @ movhi - ldr r0, .L1386+64 + ldr r0, .L1387+64 bl FlashProgPages -.L1377: - ldrh r3, [r4, r6] - ldr r2, [r4, #176] - add r3, r3, #1 - cmn r2, #1 - uxth r3, r3 - strh r3, [r4, r6] @ movhi - bne .L1378 - cmp r3, #1 - add r7, r7, #1 - ldreq r2, .L1386+4 - movweq r3, #3914 - uxth r7, r7 - ldreqh r3, [r2, r3] - subeq r3, r3, #1 - streqh r3, [r4, r6] @ movhi - cmp r7, #3 - bls .L1385 - ldr r4, .L1386 - mov r2, r7 - ldr r0, .L1386+72 +.L1378: + ldr r2, .L1387+60 ldr r1, [r4, #180] + ldrh r3, [r4, r2] + cmn r1, #1 + add r3, r3, #1 + uxth r3, r3 + strh r3, [r4, r2] @ movhi + bne .L1379 + cmp r3, #1 + add r6, r6, #1 + ldreq r1, .L1387+4 + movweq r3, #3918 + uxth r6, r6 + ldreqh r3, [r1, r3] + subeq r3, r3, #1 + streqh r3, [r4, r2] @ movhi + cmp r6, #3 + bls .L1386 + ldr r4, .L1387 + mov r2, r6 + ldr r0, .L1387+72 + ldr r1, [r4, #184] bl printk mov r3, #1 - str r3, [r4, #-2092] + str r3, [r4, #-2088] ldmfd sp!, {r3, r4, r5, r6, r7, r8, sl, pc} -.L1378: +.L1379: cmp r3, #1 - beq .L1385 - cmp r2, #256 - beq .L1385 + beq .L1386 + cmp r1, #256 + beq .L1386 movw r3, #65535 cmp sl, r3 ldmeqfd sp!, {r3, r4, r5, r6, r7, r8, sl, pc} @@ -11961,27 +11969,27 @@ FtlVpcTblFlush.part.13: mov r1, #1 bl FtlFreeSysBlkQueueIn ldmfd sp!, {r3, r4, r5, r6, r7, r8, sl, pc} -.L1387: +.L1388: .align 2 -.L1386: +.L1387: .word .LANCHOR2 .word .LANCHOR0 - .word -1776 + .word -1772 .word -3932 .word 1179929683 .word 1342177352 - .word -1770 - .word -2068 - .word -2000 - .word -2060 - .word -1952 + .word -1766 + .word -2064 + .word -1996 .word -2056 - .word -1904 + .word -1948 .word -2052 - .word .LANCHOR2-2076 - .word -1774 - .word .LANCHOR2+176 - .word -1772 + .word -1900 + .word -2048 + .word .LANCHOR2-2072 + .word -1770 + .word .LANCHOR2+180 + .word -1768 .word .LC105 .fnend .size FtlVpcTblFlush.part.13, .-FtlVpcTblFlush.part.13 @@ -11994,17 +12002,17 @@ FtlVpcTblFlush: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r3, lr} .save {r3, lr} - ldr r3, .L1390 - ldr r3, [r3, #-2092] + ldr r3, .L1391 + ldr r3, [r3, #-2088] cmp r3, #0 - bne .L1389 + bne .L1390 bl FtlVpcTblFlush.part.13 -.L1389: +.L1390: mov r0, #0 ldmfd sp!, {r3, pc} -.L1391: +.L1392: .align 2 -.L1390: +.L1391: .word .LANCHOR2 .fnend .size FtlVpcTblFlush, .-FtlVpcTblFlush @@ -12018,97 +12026,97 @@ FtlBbmTblFlush.part.16: stmfd sp!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r0, r1, r2, r4, r5, r6, r7, r8, r9, sl, fp, lr} mov r1, #0 - ldr r7, .L1405 + ldr r7, .L1406 mov r6, #0 - ldr sl, .L1405+4 - movw r9, #3866 - ldr r3, [r7, #-940] - add r8, sl, #4000 - ldr r0, [r7, #-964] - str r3, [r7, #188] - movw r3, #3922 - str r0, [r7, #184] + ldr sl, .L1406+4 + movw r9, #3870 + ldr r8, .L1406+8 + ldr r3, [r7, #-936] + ldr r0, [r7, #-960] + str r3, [r7, #192] + movw r3, #3926 + str r0, [r7, #188] ldrh r2, [sl, r3] bl ftl_memset - b .L1393 -.L1394: - ldr r3, .L1405+8 + b .L1394 +.L1395: + ldr r3, .L1406+12 ldr r1, [r8, #4]! ldrh r2, [r7, r3] - ldr r3, [r7, #184] + ldr r3, [r7, #188] mul r0, r2, r6 mov r2, r2, asl #2 add r6, r6, #1 add r0, r3, r0, asl #2 bl memcpy -.L1393: +.L1394: ldrh r3, [sl, r9] - ldr r4, .L1405+4 + ldr r4, .L1406+4 cmp r6, r3 - ldr r5, .L1405 - blt .L1394 - ldr r6, [r5, #188] + ldr r5, .L1406 + blt .L1395 + ldr r6, [r5, #192] mov r1, #255 mov r2, #16 mov r7, #0 mov fp, r7 mov r0, r6 bl ftl_memset - ldr r3, .L1405+12 + ldr r3, .L1406+16 strh r3, [r6, #0] @ movhi - ldr r3, [r4, #3984] + ldr r3, [r4, #3988] str r3, [r6, #4] - movw r3, #3976 - ldrh r3, [r4, r3] - strh r3, [r6, #2] @ movhi movw r3, #3980 ldrh r3, [r4, r3] + strh r3, [r6, #2] @ movhi + mov r3, #3984 + ldrh r3, [r4, r3] strh r3, [r6, #8] @ movhi - movw r3, #3982 + movw r3, #3986 ldrh r3, [r4, r3] strh r3, [r6, #10] @ movhi - ldr r3, [r4, #3840] + ldr r3, [r4, #3844] strh r3, [r6, #12] @ movhi - b .L1403 -.L1400: + b .L1404 +.L1401: mov fp, #1 -.L1403: - ldr r3, [r5, #-964] - movw r8, #3976 - ldr r4, .L1405+4 +.L1404: + ldr r3, [r5, #-960] + movw r8, #3980 + ldr r4, .L1406+4 mov r1, #0 - movw sl, #3978 - str r1, [r5, #176] - str r3, [r5, #184] - movw r9, #3980 - ldr r3, [r5, #-940] + movw sl, #3982 + str r1, [r5, #180] + str r3, [r5, #188] + mov r9, #3984 + ldr r3, [r5, #-936] ldrh r1, [r4, r8] ldrh r2, [r4, sl] - str r3, [r5, #188] + str r3, [r5, #192] ldrh r0, [r6, #10] orr r3, r2, r1, asl #10 - str r3, [r5, #180] + str r3, [r5, #184] ldrh r3, [r4, r9] str r0, [sp, #0] - ldr r0, .L1405+16 + ldr r0, .L1406+20 bl printk mov r1, #1 mov r2, r1 mov r3, r1 - ldr r0, .L1405+20 + ldr r0, .L1406+24 bl FlashProgPages - movw r3, #3914 + movw r3, #3918 ldrh r3, [r4, r3] ldrh r2, [r4, sl] sub r3, r3, #1 cmp r2, r3 - blt .L1396 - ldr r3, [r4, #3984] + blt .L1397 + ldr r3, [r4, #3988] mov r1, #0 @ movhi ldrh r2, [r4, r8] add r3, r3, #1 - ldr r0, [r5, #-2088] - str r3, [r4, #3984] + ldr r0, [r5, #-2084] + str r3, [r4, #3988] str r3, [r6, #4] ldrh r3, [r4, r9] strh r1, [r4, sl] @ movhi @@ -12118,52 +12126,53 @@ FtlBbmTblFlush.part.16: mov r2, r1 strh r3, [r4, r8] @ movhi mov r3, r3, asl #10 - str r3, [r5, #180] + str r3, [r5, #184] str r3, [r0, #4] bl FlashEraseBlocks mov r1, #1 - ldr r0, .L1405+20 + ldr r0, .L1406+24 mov r2, r1 mov r3, r1 bl FlashProgPages -.L1396: - ldr r2, .L1405+4 - movw r3, #3978 - ldr r4, .L1405 +.L1397: + ldr r2, .L1406+4 + movw r3, #3982 + ldr r4, .L1406 ldrh r1, [r2, r3] add r1, r1, #1 strh r1, [r2, r3] @ movhi - ldr r3, [r5, #176] + ldr r3, [r5, #180] cmn r3, #1 - bne .L1397 + bne .L1398 add r7, r7, #1 - ldr r0, .L1405+24 - ldr r1, [r5, #180] + ldr r0, .L1406+28 + ldr r1, [r5, #184] uxth r7, r7 bl printk cmp r7, #3 - bls .L1403 - ldr r0, .L1405+28 + bls .L1404 + ldr r0, .L1406+32 mov r2, r7 - ldr r1, [r4, #180] + ldr r1, [r4, #184] bl printk mov r3, #1 - str r3, [r4, #-2092] - b .L1404 -.L1397: + str r3, [r4, #-2088] + b .L1405 +.L1398: cmp fp, #0 - beq .L1400 -.L1404: - ldmfd sp!, {r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1406: - .align 2 + beq .L1401 .L1405: + ldmfd sp!, {r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} +.L1407: + .align 2 +.L1406: .word .LANCHOR2 .word .LANCHOR0 - .word -1032 + .word .LANCHOR0+4004 + .word -1028 .word -3887 .word .LC106 - .word .LANCHOR2+176 + .word .LANCHOR2+180 .word .LC107 .word .LC108 .fnend @@ -12178,17 +12187,17 @@ FtlBbmTblFlush: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r3, lr} .save {r3, lr} - ldr r3, .L1409 - ldr r3, [r3, #-2092] + ldr r3, .L1410 + ldr r3, [r3, #-2088] cmp r3, #0 - bne .L1408 + bne .L1409 bl FtlBbmTblFlush.part.16 -.L1408: +.L1409: mov r0, #0 ldmfd sp!, {r3, pc} -.L1410: +.L1411: .align 2 -.L1409: +.L1410: .word .LANCHOR2 .fnend .size FtlBbmTblFlush, .-FtlBbmTblFlush @@ -12202,78 +12211,76 @@ FtlGcFreeBadSuperBlk: stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, lr} .save {r4, r5, r6, r7, r8, r9, sl, lr} mov r9, r0 - ldr r4, .L1421 - ldr r3, .L1421+4 + ldr r4, .L1422 + ldr r3, .L1422+4 ldrh r3, [r4, r3] cmp r3, #0 movne r6, #0 movne sl, r4 - bne .L1412 - b .L1413 -.L1419: + bne .L1413 + b .L1414 +.L1420: add r3, r3, r6 mov r1, r9 mov r5, #0 - ldr r7, .L1421+4 - ldrb r0, [r3, #3870] @ zero_extendqisi2 + ldr r7, .L1422+4 + ldrb r0, [r3, #3874] @ zero_extendqisi2 bl V2P_block mov r8, r0 - b .L1414 -.L1418: + b .L1415 +.L1419: add r3, r4, r5, asl #1 sub r3, r3, #1136 - sub r3, r3, #4 ldrh r3, [r3, #0] cmp r3, r8 - bne .L1415 + bne .L1416 mov r1, r8 - ldr r0, .L1421+8 + ldr r0, .L1422+8 bl printk mov r0, r8 bl FtlBbmMapBadBlock bl FtlBbmTblFlush - ldrh r1, [r4, r7] + ldrh r2, [r4, r7] mov r3, r5 - b .L1416 -.L1417: - add r0, r3, #1 + b .L1417 +.L1418: + add r1, r3, #1 add r3, r4, r3, asl #1 sub r3, r3, #1136 - add r2, r4, r0, asl #1 - sub r2, r2, #1136 - sub r2, r2, #4 - ldrh r2, [r2, #0] - strh r2, [r3, #-4] @ movhi - uxth r3, r0 + add r0, r4, r1, asl #1 + sub r0, r0, #1136 + ldrh r0, [r0, #0] + strh r0, [r3, #0] @ movhi + uxth r3, r1 +.L1417: + cmp r3, r2 + bcc .L1418 + sub r2, r2, #1 + strh r2, [sl, r7] @ movhi .L1416: - cmp r3, r1 - bcc .L1417 - sub r1, r1, #1 - strh r1, [sl, r7] @ movhi -.L1415: add r5, r5, #1 uxth r5, r5 -.L1414: +.L1415: ldrh r3, [r4, r7] cmp r3, r5 - bhi .L1418 + bhi .L1419 add r6, r6, #1 uxth r6, r6 -.L1412: - ldr r3, .L1421+12 - movw r2, #3844 +.L1413: + ldr r3, .L1422+12 + movw r2, #3848 ldrh r2, [r3, r2] cmp r2, r6 - bhi .L1419 + bhi .L1420 bl FtlGcReFreshBadBlk -.L1413: +.L1414: mov r0, #0 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, pc} -.L1422: +.L1423: .align 2 -.L1421: +.L1422: .word .LANCHOR2 - .word -1142 + .word -1138 .word .LC109 .word .LANCHOR0 .fnend @@ -12288,36 +12295,36 @@ update_vpc_list: stmfd sp!, {r3, r4, r5, lr} .save {r3, r4, r5, lr} mov r2, r0, asl #1 - ldr r3, .L1431 + ldr r3, .L1432 mov r4, r0 - ldr r1, [r3, #-2020] + ldr r1, [r3, #-2016] ldrh r2, [r1, r2] cmp r2, #0 - bne .L1424 - ldr r1, .L1431+4 + bne .L1425 + ldr r1, .L1432+4 ldrh r0, [r3, r1] cmp r0, r4 mvneq r2, #0 streqh r2, [r3, r1] @ movhi - beq .L1426 - ldr r1, .L1431+8 + beq .L1427 + ldr r1, .L1432+8 ldrh r1, [r3, r1] cmp r1, r4 - beq .L1427 - ldr r1, .L1431+12 + beq .L1428 + ldr r1, .L1432+12 ldrh r1, [r3, r1] cmp r1, r4 - beq .L1427 - ldr r1, .L1431+16 + beq .L1428 + ldr r1, .L1432+16 ldrh r3, [r3, r1] cmp r3, r4 - beq .L1427 -.L1426: + beq .L1428 +.L1427: mov r1, r4 - ldr r0, .L1431+20 + ldr r0, .L1432+20 bl List_remove_node - ldr r5, .L1431 - ldr r3, .L1431+24 + ldr r5, .L1432 + ldr r3, .L1432+24 mov r0, r4 ldrh r2, [r5, r3] sub r2, r2, #1 @@ -12326,23 +12333,23 @@ update_vpc_list: mov r0, r4 bl FtlGcFreeBadSuperBlk mov r2, #1 - b .L1427 -.L1424: + b .L1428 +.L1425: bl List_update_data_list mov r2, #0 -.L1427: +.L1428: mov r0, r2 ldmfd sp!, {r3, r4, r5, pc} -.L1432: +.L1433: .align 2 -.L1431: +.L1432: .word .LANCHOR2 - .word -1764 - .word -2000 - .word -1952 - .word -1904 - .word .LANCHOR2-2024 - .word -2012 + .word -1760 + .word -1996 + .word -1948 + .word -1900 + .word .LANCHOR2-2020 + .word -2008 .fnend .size update_vpc_list, .-update_vpc_list .align 2 @@ -12357,46 +12364,46 @@ decrement_vpc_count: movw r3, #65535 cmp r0, r3 mov r5, r0 - beq .L1434 - ldr r2, .L1439 + beq .L1435 + ldr r2, .L1440 mov r3, r0, asl #1 - ldr r2, [r2, #-2020] + ldr r2, [r2, #-2016] ldrh r4, [r2, r3] cmp r4, #0 subne r4, r4, #1 strneh r4, [r2, r3] @ movhi - bne .L1434 - ldr r0, .L1439+4 + bne .L1435 + ldr r0, .L1440+4 mov r1, r5 mov r2, r4 bl printk mov r0, r4 ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L1434: - ldr r7, .L1439 +.L1435: + ldr r7, .L1440 movw r3, #65535 - ldr r6, .L1439+8 + ldr r6, .L1440+8 ldrh r0, [r7, r6] cmp r0, r3 streqh r5, [r7, r6] @ movhi moveq r0, #0 ldmeqfd sp!, {r3, r4, r5, r6, r7, pc} cmp r0, r5 - beq .L1438 + beq .L1439 bl update_vpc_list strh r5, [r7, r6] @ movhi adds r0, r0, #0 movne r0, #1 ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L1438: +.L1439: mov r0, #0 ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L1440: +.L1441: .align 2 -.L1439: +.L1440: .word .LANCHOR2 .word .LC110 - .word -1024 + .word -1020 .fnend .size decrement_vpc_count, .-decrement_vpc_count .align 2 @@ -12413,14 +12420,14 @@ get_new_active_ppa: mov r4, r0 ldrb r3, [r0, #6] @ zero_extendqisi2 movw r6, #65535 - ldr r5, .L1453 - ldr r7, .L1453+4 + ldr r5, .L1454 + ldr r7, .L1454+4 add r3, r0, r3, asl #1 ldrh r3, [r3, #16] - b .L1442 -.L1443: + b .L1443 +.L1444: ldrb r3, [r4, #6] @ zero_extendqisi2 - movw r2, #3844 + movw r2, #3848 ldrh r2, [r5, r2] add r3, r3, #1 uxtb r3, r3 @@ -12434,28 +12441,28 @@ get_new_active_ppa: ldrb r3, [r4, #6] @ zero_extendqisi2 add r3, r4, r3, asl #1 ldrh r3, [r3, #16] -.L1442: +.L1443: cmp r3, r6 - beq .L1443 + beq .L1444 ldrb r2, [r4, #8] @ zero_extendqisi2 cmp r2, #1 - bne .L1445 + bne .L1446 ldrb r2, [r5, #928] @ zero_extendqisi2 cmp r2, #0 - bne .L1445 + bne .L1446 ldrh r2, [r4, #2] add r2, r7, r2, asl #1 - sub r2, r2, #896 + sub r2, r2, #892 ldrh r2, [r2, #0] cmp r2, r6 - bne .L1445 + bne .L1446 ldrh r3, [r4, #4] ldrh r0, [r4, #0] sub r3, r3, #1 strh r3, [r4, #4] @ movhi bl decrement_vpc_count - b .L1443 -.L1445: + b .L1444 +.L1446: ldrh r6, [r4, #2] movw r5, #65535 mov r7, r5 @@ -12463,12 +12470,12 @@ get_new_active_ppa: ldrh r3, [r4, #4] sub r3, r3, #1 strh r3, [r4, #4] @ movhi -.L1450: - ldr r2, .L1453 - movw r3, #3844 +.L1451: + ldr r2, .L1454 + movw r3, #3848 ldrh r2, [r2, r3] ldrb r3, [r4, #6] @ zero_extendqisi2 -.L1447: +.L1448: add r3, r3, #1 uxtb r3, r3 cmp r3, r2 @@ -12479,39 +12486,39 @@ get_new_active_ppa: add r1, r4, r3, asl #1 ldrh r1, [r1, #16] cmp r1, r5 - beq .L1447 + beq .L1448 strb r3, [r4, #6] ldrb r3, [r4, #8] @ zero_extendqisi2 cmp r3, #1 - bne .L1448 - ldr r3, .L1453 + bne .L1449 + ldr r3, .L1454 ldrb r2, [r3, #928] @ zero_extendqisi2 cmp r2, #0 ldrh r2, [r4, #2] - bne .L1451 - ldr r3, .L1453+4 + bne .L1452 + ldr r3, .L1454+4 add r2, r3, r2, asl #1 - sub r2, r2, #896 + sub r2, r2, #892 ldrh r3, [r2, #0] cmp r3, r7 - bne .L1448 + bne .L1449 ldrh r3, [r4, #4] cmp r3, #0 - beq .L1448 + beq .L1449 sub r3, r3, #1 ldrh r0, [r4, #0] strh r3, [r4, #4] @ movhi bl decrement_vpc_count - b .L1450 -.L1451: - movw r1, #3914 + b .L1451 +.L1452: + movw r1, #3918 ldrh r1, [r3, r1] cmp r2, r1 - bcc .L1448 - ldr r1, .L1453+4 + bcc .L1449 + ldr r1, .L1454+4 ldrh r2, [r4, #0] ldrh r0, [r4, #4] - ldr r1, [r1, #-2020] + ldr r1, [r1, #-2016] mov r2, r2, asl #1 ldrh ip, [r1, r2] rsb r0, r0, ip @@ -12519,16 +12526,16 @@ get_new_active_ppa: mov r2, #0 strh r2, [r4, #4] @ movhi mov r1, r2 @ movhi - movw r2, #3912 + movw r2, #3916 ldrh r3, [r3, r2] strb r1, [r4, #6] strh r3, [r4, #2] @ movhi -.L1448: +.L1449: mov r0, r6 ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L1454: +.L1455: .align 2 -.L1453: +.L1454: .word .LANCHOR0 .word .LANCHOR2 .fnend @@ -12544,14 +12551,14 @@ FtlSlcSuperblockCheck.part.19: mov r4, r0 ldrb r3, [r0, #6] @ zero_extendqisi2 movw r6, #65535 - ldr r5, .L1461 - ldr r7, .L1461+4 + ldr r5, .L1462 + ldr r7, .L1462+4 add r3, r0, r3, asl #1 ldrh r3, [r3, #16] - b .L1456 -.L1457: + b .L1457 +.L1458: ldrb r3, [r4, #6] @ zero_extendqisi2 - movw r2, #3844 + movw r2, #3848 ldrh r2, [r5, r2] add r3, r3, #1 uxtb r3, r3 @@ -12565,21 +12572,21 @@ FtlSlcSuperblockCheck.part.19: ldrb r3, [r4, #6] @ zero_extendqisi2 add r3, r4, r3, asl #1 ldrh r3, [r3, #16] -.L1456: +.L1457: cmp r3, r6 - beq .L1457 + beq .L1458 ldrb r2, [r4, #8] @ zero_extendqisi2 cmp r2, #1 - bne .L1459 + bne .L1460 ldrb r3, [r5, #928] @ zero_extendqisi2 cmp r3, #0 - bne .L1459 + bne .L1460 ldrh r3, [r4, #2] add r3, r7, r3, asl #1 - sub r3, r3, #896 + sub r3, r3, #892 ldrh r3, [r3, #0] cmp r3, r6 - bne .L1459 + bne .L1460 ldrh r3, [r4, #4] ldrh r0, [r4, #0] sub r3, r3, #1 @@ -12587,28 +12594,28 @@ FtlSlcSuperblockCheck.part.19: bl decrement_vpc_count ldrh r3, [r4, #4] cmp r3, #0 - bne .L1457 + bne .L1458 ldrh r2, [r4, #2] strb r3, [r4, #6] add r2, r2, #1 strh r2, [r4, #2] @ movhi ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L1459: - ldr r3, .L1461 +.L1460: + ldr r3, .L1462 ldrb r1, [r3, #928] @ zero_extendqisi2 cmp r1, #0 ldmeqfd sp!, {r3, r4, r5, r6, r7, pc} cmp r2, #1 ldmnefd sp!, {r3, r4, r5, r6, r7, pc} - movw r2, #3914 + movw r2, #3918 ldrh r1, [r4, #2] ldrh r2, [r3, r2] cmp r1, r2 ldmccfd sp!, {r3, r4, r5, r6, r7, pc} - ldr r1, .L1461+4 + ldr r1, .L1462+4 ldrh r2, [r4, #0] ldrh r0, [r4, #4] - ldr r1, [r1, #-2020] + ldr r1, [r1, #-2016] mov r2, r2, asl #1 ldrh ip, [r1, r2] rsb r0, r0, ip @@ -12616,14 +12623,14 @@ FtlSlcSuperblockCheck.part.19: mov r2, #0 strh r2, [r4, #4] @ movhi mov r1, r2 @ movhi - movw r2, #3912 + movw r2, #3916 ldrh r3, [r3, r2] strb r1, [r4, #6] strh r3, [r4, #2] @ movhi ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L1462: +.L1463: .align 2 -.L1461: +.L1462: .word .LANCHOR0 .word .LANCHOR2 .fnend @@ -12656,84 +12663,87 @@ allocate_data_superblock.part.20: .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} .pad #20 sub sp, sp, #20 - ldr r4, .L1501 + ldr r4, .L1502 mov r5, r0 - ldr r8, .L1501+4 -.L1497: - ldr r3, .L1501+8 + mov r8, r4 +.L1498: + ldr r3, .L1502+4 cmp r5, r3 - bne .L1467 - ldrh r2, [r4, r8] - ldr r3, [r4, #-1188] + bne .L1468 + ldr r3, .L1502+8 + ldrh r2, [r4, r3] + ldr r3, [r4, #-1184] mov r1, r2, lsr #1 mul ip, r3, r2 add r0, r1, #1 add r0, r0, ip, lsr #2 - ldr ip, .L1501+12 + ldr ip, .L1502+12 uxth r0, r0 - ldr ip, [ip, #3836] + ldr ip, [ip, #3840] cmp ip, #0 - beq .L1491 - ldr ip, [r4, #-1784] + beq .L1492 + ldr ip, [r4, #-1780] cmp ip, #29 - bhi .L1491 + bhi .L1492 cmp ip, #2 - bls .L1496 + bls .L1497 tst r2, #1 - beq .L1468 + beq .L1469 cmp r3, #0 moveq r1, r3 - beq .L1469 - b .L1468 -.L1467: + beq .L1470 + b .L1469 +.L1468: ldrb r3, [r5, #8] @ zero_extendqisi2 cmp r3, #1 - bne .L1496 - ldr r3, .L1501+12 - movw r2, #3864 + bne .L1497 + ldr r3, .L1502+12 + movw r2, #3868 ldrh r2, [r3, r2] cmp r2, #1 - beq .L1496 + beq .L1497 ldrb r2, [r3, #928] @ zero_extendqisi2 cmp r2, #0 - bne .L1496 - ldr r3, [r3, #3836] - ldrh r2, [r4, r8] + bne .L1497 + sub r2, r2, #2000 + ldr r3, [r3, #3840] + ldrh r2, [r4, r2] cmp r3, #0 mov r1, r2, lsr #3 - beq .L1468 - ldr r3, [r4, #-1784] + beq .L1469 + ldr r3, [r4, #-1780] cmp r3, #1 movls r1, #7 mulls r1, r1, r2 movls r1, r1, lsr #3 - b .L1468 -.L1491: + b .L1469 +.L1492: mov r1, r0 -.L1468: +.L1469: cmp r1, #0 subne r1, r1, #1 uxthne r1, r1 - b .L1469 -.L1496: + b .L1470 +.L1497: mov r1, #0 -.L1469: +.L1470: ldrb r2, [r5, #8] @ zero_extendqisi2 - ldr r0, .L1501+16 + ldr r0, .L1502+16 bl List_pop_index_node - ldrh r3, [r4, r8] - sub r3, r3, #1 - strh r3, [r4, r8] @ movhi + ldr r3, .L1502+8 + ldrh r2, [r4, r3] + sub r2, r2, #1 + strh r2, [r4, r3] @ movhi uxth r7, r0 mov r0, r5 strh r7, [r5, #0] @ movhi bl make_superblock ldrb r3, [r5, #7] @ zero_extendqisi2 cmp r3, #0 - beq .L1470 - ldr r2, .L1501+12 - movw r3, #3844 - ldr ip, [r4, #-2088] + beq .L1471 + ldr r2, .L1502+12 + movw r3, #3848 + ldr ip, [r4, #-2084] mov r6, #0 mov sl, r5 mov r1, r5 @@ -12742,20 +12752,20 @@ allocate_data_superblock.part.20: mov r3, ip mov r2, r6 stmia sp, {r5, ip} - b .L1471 -.L1470: - ldr r3, [r4, #-2020] + b .L1472 +.L1471: + ldr r3, [r4, #-2016] mov r7, r7, asl #1 mvn r2, #0 strh r2, [r3, r7] @ movhi - b .L1497 -.L1474: + b .L1498 +.L1475: str r0, [r3, #8] movw r5, #65535 str r0, [r3, #12] ldrh lr, [r1, #16] cmp lr, r5 - beq .L1473 + beq .L1474 ldr r5, [sp, #4] mov ip, #36 mov lr, lr, asl #10 @@ -12763,107 +12773,106 @@ allocate_data_superblock.part.20: add r6, r6, #1 uxth r6, r6 str lr, [fp, #4] -.L1473: +.L1474: add r2, r2, #1 add r3, r3, #36 add r1, r1, #2 uxth r2, r2 -.L1471: +.L1472: cmp r2, r9 - bne .L1474 - ldr r3, .L1501+12 - ldr r5, [sp, #0] - ldr r3, [r3, #3836] - cmp r3, #0 - beq .L1475 - ldr r3, .L1501+20 - cmp r5, r3 bne .L1475 - ldr r2, [r4, #-2084] + ldr r3, .L1502+12 + ldr r5, [sp, #0] + ldr r3, [r3, #3840] + cmp r3, #0 + beq .L1476 + ldr r3, .L1502+20 + cmp r5, r3 + bne .L1476 + ldr r2, [r4, #-2080] mov r3, r7, asl #1 ldrh r3, [r2, r3] cmp r3, #30 movhi r3, #0 - strhib r3, [r4, #-1992] -.L1475: + strhib r3, [r4, #-1988] +.L1476: ldrb r3, [r5, #8] @ zero_extendqisi2 - ldr r2, [r4, #-2084] + ldr r2, [r4, #-2080] cmp r3, #0 mov r3, r7, asl #1 ldrh r1, [r2, r3] - bne .L1476 + bne .L1477 cmp r1, #0 - ldrne ip, .L1501+12 - movwne r0, #3902 + ldrne ip, .L1502+12 + movwne r0, #3906 moveq r1, #2 ldrneh r0, [ip, r0] addne r1, r1, r0 strh r1, [r2, r3] @ movhi - ldr r3, [r4, #-1800] + ldr r3, [r4, #-1796] mov r0, r7 mov r1, #0 add r3, r3, #1 - str r3, [r4, #-1800] - b .L1499 -.L1476: + str r3, [r4, #-1796] + b .L1500 +.L1477: add r1, r1, #1 strh r1, [r2, r3] @ movhi - ldr r3, [r4, #-1796] + ldr r3, [r4, #-1792] mov r0, r7 mov r1, #1 add r3, r3, #1 - str r3, [r4, #-1796] -.L1499: + str r3, [r4, #-1792] +.L1500: bl ftl_set_blk_mode - ldr r3, [r4, #-2084] + ldr r3, [r4, #-2080] mov r9, r7, asl #1 - ldr r2, [r4, #-1788] - ldr fp, .L1501 + ldr r2, [r4, #-1784] + ldr r0, [r8, #-1796] ldrh r3, [r3, r9] cmp r3, r2 - movw r2, #3902 - strhi r3, [r4, #-1788] - ldr r3, .L1501+12 - ldr r0, [fp, #-1800] + movw r2, #3906 + strhi r3, [r4, #-1784] + ldr r3, .L1502+12 ldrh r1, [r3, r2] - ldr r2, [fp, #-1796] + ldr r2, [r8, #-1792] mla r0, r0, r1, r2 - movw r2, #3852 + mov r2, #3856 ldrh r1, [r3, r2] bl __aeabi_uidiv - ldr r3, [fp, #-924] + ldr r3, [r8, #-920] ldr r2, [r3, #16] add r2, r2, #1 str r2, [r3, #16] - ldr r3, [fp, #-2088] + ldr r3, [r8, #-2084] mov r2, #0 - str r0, [fp, #-1792] - b .L1481 -.L1482: + str r0, [r8, #-1788] + b .L1482 +.L1483: add r2, r2, #1 ldr r1, [r3, #-32] uxth r2, r2 bic r1, r1, #1020 bic r1, r1, #3 str r1, [r3, #-32] -.L1481: +.L1482: cmp r2, r6 add r3, r3, #36 - bne .L1482 - ldr r3, .L1501+12 + bne .L1483 + ldr r3, .L1502+12 ldrb r3, [r3, #928] @ zero_extendqisi2 cmp r3, #0 - beq .L1483 + beq .L1484 ldrb r3, [r5, #8] @ zero_extendqisi2 mov r2, r6 - ldr r0, [r4, #-2088] + ldr r0, [r4, #-2084] cmp r3, #1 moveq r1, #0 movne r1, #1 bl FlashEraseBlocks -.L1483: +.L1484: mov r2, r6 - ldr r0, [r4, #-2088] + ldr r0, [r4, #-2084] ldrb r1, [r5, #8] @ zero_extendqisi2 mov fp, #0 bl FlashEraseBlocks @@ -12874,13 +12883,13 @@ allocate_data_superblock.part.20: mov r6, fp mov r7, r5 mov r9, r2 - b .L1485 -.L1487: - ldr r1, [r4, #-2088] + b .L1486 +.L1488: + ldr r1, [r4, #-2084] add r0, r1, fp ldr r5, [r1, fp] cmn r5, #1 - bne .L1486 + bne .L1487 ldr r0, [r0, #4] add r6, r6, #1 str r3, [sp, #12] @@ -12893,59 +12902,58 @@ allocate_data_superblock.part.20: strb r1, [r7, #7] ldr ip, [sp, #8] ldr r3, [sp, #12] -.L1486: +.L1487: add fp, fp, #36 add sl, sl, #2 -.L1485: +.L1486: cmp fp, r9 - bne .L1487 + bne .L1488 cmp r6, #0 mov r5, r7 mov r9, ip mov r7, r3 - beq .L1488 + beq .L1489 mov r0, r3 bl update_multiplier_value bl FtlBbmTblFlush -.L1488: +.L1489: ldrb r3, [r5, #7] @ zero_extendqisi2 cmp r3, #0 - ldreq r3, .L1501 + ldreq r3, [r8, #-2016] mvneq r2, #0 - ldreq r3, [r3, #-2020] streqh r2, [r3, r9] @ movhi - beq .L1497 -.L1489: - ldr r1, .L1501+12 - movw r2, #3912 + beq .L1498 +.L1490: + ldr r1, .L1502+12 + movw r2, #3916 ldrh r2, [r1, r2] strh r7, [r5, #0] @ movhi mul r2, r2, r3 mov r3, #0 strh r3, [r5, #2] @ movhi strb r3, [r5, #6] - ldr r3, .L1501 + ldr r3, .L1502 uxth r2, r2 strh r2, [r5, #4] @ movhi - ldr r1, [r3, #-1808] + ldr r1, [r3, #-1804] str r1, [r5, #12] add r1, r1, #1 - str r1, [r3, #-1808] + str r1, [r3, #-1804] ldrh r0, [r5, #0] - ldr r1, [r3, #-2020] + ldr r1, [r3, #-2016] mov r3, r0, asl #1 strh r2, [r1, r3] @ movhi add sp, sp, #20 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1502: +.L1503: .align 2 -.L1501: +.L1502: .word .LANCHOR2 - .word -2004 - .word .LANCHOR2-1904 + .word .LANCHOR2-1900 + .word -2000 .word .LANCHOR0 - .word .LANCHOR2-2008 - .word .LANCHOR2-2000 + .word .LANCHOR2-2004 + .word .LANCHOR2-1996 .fnend .size allocate_data_superblock.part.20, .-allocate_data_superblock.part.20 .align 2 @@ -12957,17 +12965,17 @@ allocate_data_superblock: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r3, lr} .save {r3, lr} - ldr r3, .L1505 - ldr r3, [r3, #-2092] + ldr r3, .L1506 + ldr r3, [r3, #-2088] cmp r3, #0 - bne .L1504 + bne .L1505 bl allocate_data_superblock.part.20 -.L1504: +.L1505: mov r0, #0 ldmfd sp!, {r3, pc} -.L1506: +.L1507: .align 2 -.L1505: +.L1506: .word .LANCHOR2 .fnend .size allocate_data_superblock, .-allocate_data_superblock @@ -12978,7 +12986,7 @@ FtlSuperblockPowerLostFix: .fnstart @ args = 0, pretend = 0, frame = 40 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L1516 + ldr r3, .L1517 stmfd sp!, {r4, r5, r6, r7, r8, lr} .save {r4, r5, r6, r7, r8, lr} mov r4, r0 @@ -12986,30 +12994,30 @@ FtlSuperblockPowerLostFix: .pad #40 sub sp, sp, #40 cmp r7, #0 - beq .L1515 + beq .L1516 ldrb r7, [r0, #8] @ zero_extendqisi2 cmp r7, #1 ldreqh r6, [r0, #4] - beq .L1508 + beq .L1509 mov r7, #0 -.L1515: +.L1516: mov r6, #12 -.L1508: +.L1509: mvn r8, #0 - ldr r5, .L1516+4 - b .L1509 -.L1512: + ldr r5, .L1517+4 + b .L1510 +.L1513: ldrh r3, [r4, #4] cmp r3, #0 - beq .L1510 + beq .L1511 mov r0, r4 bl get_new_active_ppa cmn r0, #1 str r0, [sp, #8] - beq .L1510 - ldr r2, [r5, #-940] + beq .L1511 + ldr r2, [r5, #-936] add r0, sp, #4 - ldr r3, [r5, #-964] + ldr r3, [r5, #-960] sub r6, r6, #1 str r8, [sp, #20] str r2, [sp, #16] @@ -13020,31 +13028,31 @@ FtlSuperblockPowerLostFix: strh r3, [r2, #2] @ movhi mov r3, #0 strh r3, [r2, #0] @ movhi - ldr r1, [r5, #-1804] + ldr r1, [r5, #-1800] cmn r1, #2 str r1, [r2, #4] addne r1, r1, #1 moveq r1, #0 mov r2, r7 - str r1, [r5, #-1804] + str r1, [r5, #-1800] mov r1, #1 bl FlashProgPages ldrh r0, [r4, #0] bl decrement_vpc_count -.L1509: - cmp r6, #0 - bne .L1512 .L1510: - ldr r2, .L1516+4 + cmp r6, #0 + bne .L1513 +.L1511: + ldr r2, .L1517+4 ldrh r3, [r4, #0] ldrh r1, [r4, #4] - ldr r2, [r2, #-2020] + ldr r2, [r2, #-2016] mov r3, r3, asl #1 ldrh r0, [r2, r3] rsb r1, r1, r0 strh r1, [r2, r3] @ movhi - ldr r2, .L1516 - movw r3, #3912 + ldr r2, .L1517 + movw r3, #3916 ldrh r3, [r2, r3] strh r3, [r4, #2] @ movhi mov r3, #0 @@ -13052,9 +13060,9 @@ FtlSuperblockPowerLostFix: strh r3, [r4, #4] @ movhi add sp, sp, #40 ldmfd sp!, {r4, r5, r6, r7, r8, pc} -.L1517: +.L1518: .align 2 -.L1516: +.L1517: .word .LANCHOR0 .word .LANCHOR2 .fnend @@ -13070,48 +13078,48 @@ FtlLowFormatEraseBlock: .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} .pad #28 sub sp, sp, #28 - ldr r7, .L1547 + ldr r7, .L1548 mov r8, r1 - ldr r9, .L1547+4 + ldr r9, .L1548+4 str r0, [sp, #12] - ldr r6, [r7, #-2092] - ldrb r0, [r9, #3833] @ zero_extendqisi2 + ldr r6, [r7, #-2088] + ldrb r0, [r9, #3837] @ zero_extendqisi2 cmp r6, #0 str r0, [sp, #16] movne r4, #0 - bne .L1519 + bne .L1520 ldrb r2, [r9, #928] @ zero_extendqisi2 mov r5, r6 ldr r3, [sp, #12] mov r4, r6 mov fp, #36 str r2, [sp, #8] - str r3, [r7, #-988] - b .L1520 -.L1524: + str r3, [r7, #-984] + b .L1521 +.L1525: mul r3, fp, r6 - ldr r2, [r7, #-2088] + ldr r2, [r7, #-2084] mov r0, #0 ldr r1, [sp, #12] str r0, [r2, r3] add r3, r9, r6 - ldrb r0, [r3, #3870] @ zero_extendqisi2 + ldrb r0, [r3, #3874] @ zero_extendqisi2 bl V2P_block cmp r8, #0 mov sl, r0 - beq .L1521 + beq .L1522 bl IsBlkInVendorPart cmp r0, #0 - bne .L1522 -.L1521: + bne .L1523 +.L1522: mov r0, sl bl FtlBbmIsBadBlock cmp r0, #0 addne r4, r4, #1 uxthne r4, r4 - bne .L1522 - movw r1, #3924 - ldr r3, [r7, #-2088] + bne .L1523 + movw r1, #3928 + ldr r3, [r7, #-2084] ldrh r2, [r9, r1] mov sl, sl, asl #10 mla r3, fp, r5, r3 @@ -13122,59 +13130,59 @@ FtlLowFormatEraseBlock: cmp r2, #0 str sl, [r3, #4] movlt r2, r1 - ldr r1, [r7, #-936] + ldr r1, [r7, #-932] bic r2, r2, #3 str r0, [r3, #8] add r2, r1, r2 str r2, [r3, #12] -.L1522: +.L1523: add r6, r6, #1 uxth r6, r6 -.L1520: - movw r2, #3844 - ldr sl, .L1547+4 +.L1521: + movw r2, #3848 + ldr sl, .L1548+4 ldrh r3, [r9, r2] cmp r3, r6 - bhi .L1524 + bhi .L1525 cmp r5, #0 - beq .L1519 + beq .L1520 ldr r3, [sp, #8] mov r7, #0 - ldr r9, .L1547 + ldr r9, .L1548 mov r2, r5 adds r6, r3, #0 - strb r7, [sl, #3833] + strb r7, [sl, #3837] movne r6, #1 - ldr r0, [r9, #-2088] + ldr r0, [r9, #-2084] mov r1, r6 bl FlashEraseBlocks ldr r0, [sp, #16] - strb r0, [sl, #3833] + strb r0, [sl, #3837] mov sl, r7 -.L1527: - ldr r3, [r9, #-2088] +.L1528: + ldr r3, [r9, #-2084] add r2, r3, r7 ldr r3, [r3, r7] cmn r3, #1 - bne .L1526 + bne .L1527 ldr r0, [r2, #4] add r4, r4, #1 ubfx r0, r0, #10, #16 uxth r4, r4 bl FtlBbmMapBadBlock -.L1526: +.L1527: add sl, sl, #1 add r7, r7, #36 uxth sl, sl cmp sl, r5 - bne .L1527 + bne .L1528 cmp r8, #0 moveq r2, #6 moveq sl, #1 streq r2, [sp, #8] - beq .L1528 - ldr r3, .L1547+4 - movw r2, #3914 + beq .L1529 + ldr r3, .L1548+4 + movw r2, #3918 ldrh sl, [r3, r2] ldrb r3, [r3, #928] @ zero_extendqisi2 cmp r3, #0 @@ -13183,44 +13191,44 @@ FtlLowFormatEraseBlock: moveq r6, #1 movne r6, #1 strne r6, [sp, #8] -.L1528: +.L1529: mov r7, #0 -.L1536: +.L1537: mov r9, #0 - ldr fp, .L1547 + ldr fp, .L1548 mov r5, r9 - b .L1529 -.L1532: + b .L1530 +.L1533: mov r0, #36 - ldr r2, [fp, #-2088] + ldr r2, [fp, #-2084] mul r3, r0, r9 mov r1, #0 str r1, [r2, r3] - ldr r2, .L1547+4 + ldr r2, .L1548+4 ldr r1, [sp, #12] add r3, r2, r9 - ldrb r0, [r3, #3870] @ zero_extendqisi2 + ldrb r0, [r3, #3874] @ zero_extendqisi2 bl V2P_block cmp r8, #0 str r0, [sp, #20] - beq .L1530 + beq .L1531 bl IsBlkInVendorPart cmp r0, #0 - bne .L1531 -.L1530: + bne .L1532 +.L1531: ldr r0, [sp, #20] bl FtlBbmIsBadBlock cmp r0, #0 - bne .L1531 - ldr r3, [fp, #-2088] + bne .L1532 + ldr r3, [fp, #-2084] mov r0, #36 ldr r1, [sp, #20] mla r3, r0, r5, r3 add r2, r7, r1, asl #10 - ldr r1, .L1547+4 - add r0, r0, #3888 + ldr r1, .L1548+4 + movw r0, #3928 str r2, [r3, #4] - ldr r2, [fp, #-948] + ldr r2, [fp, #-944] str r2, [r3, #8] ldrh r2, [r1, r0] mul r2, r2, r5 @@ -13229,45 +13237,45 @@ FtlLowFormatEraseBlock: add r1, r2, #3 cmp r2, #0 movlt r2, r1 - ldr r1, [fp, #-944] + ldr r1, [fp, #-940] bic r2, r2, #3 add r2, r1, r2 str r2, [r3, #12] -.L1531: +.L1532: add r9, r9, #1 uxth r9, r9 -.L1529: - ldr ip, .L1547+4 - movw r2, #3844 +.L1530: + ldr ip, .L1548+4 + movw r2, #3848 ldrh r3, [ip, r2] cmp r3, r9 - bhi .L1532 + bhi .L1533 cmp r5, #0 - beq .L1519 - ldr r9, .L1547 + beq .L1520 + ldr r9, .L1548 mov r3, #0 mov r1, r5 - strb r3, [ip, #3833] + strb r3, [ip, #3837] mov r2, r6 mov r3, #1 - ldr r0, [r9, #-2088] + ldr r0, [r9, #-2084] mov fp, #0 str ip, [sp, #4] bl FlashProgPages ldr ip, [sp, #4] mov r3, fp ldr r0, [sp, #16] - strb r0, [ip, #3833] + strb r0, [ip, #3837] mov ip, r8 mov r8, r6 mov r6, r5 mov r5, fp -.L1535: - ldr r2, [r9, #-2088] +.L1536: + ldr r2, [r9, #-2084] add r1, r2, fp ldr r2, [r2, fp] cmp r2, #0 - beq .L1534 + beq .L1535 ldr r0, [r1, #4] add r4, r4, #1 str ip, [sp, #4] @@ -13275,12 +13283,12 @@ FtlLowFormatEraseBlock: uxth r4, r4 bl FtlBbmMapBadBlock ldr ip, [sp, #4] -.L1534: +.L1535: add r5, r5, #1 add fp, fp, #36 uxth r5, r5 cmp r5, r6 - bne .L1535 + bne .L1536 ldr r1, [sp, #8] mov r5, r6 mov r6, r8 @@ -13288,28 +13296,28 @@ FtlLowFormatEraseBlock: add r7, r7, r1 uxth r7, r7 cmp r7, sl - bcc .L1536 - ldr r9, .L1547 + bcc .L1537 + ldr r9, .L1548 mov r7, #0 mov sl, r7 -.L1538: +.L1539: cmp r8, #0 - beq .L1537 - ldr r3, [r9, #-2088] + beq .L1538 + ldr r3, [r9, #-2084] add r2, r3, r7 ldr r3, [r3, r7] cmp r3, #0 - bne .L1537 + bne .L1538 ldr r0, [r2, #4] mov r1, #1 ubfx r0, r0, #10, #16 bl FtlFreeSysBlkQueueIn -.L1537: +.L1538: add sl, sl, #1 add r7, r7, #36 uxth sl, sl cmp sl, r5 - bne .L1538 + bne .L1539 ldr r2, [sp, #12] cmp r2, #63 movhi r3, #0 @@ -13318,19 +13326,19 @@ FtlLowFormatEraseBlock: moveq r8, r3 orrne r8, r3, #1 cmp r8, #0 - beq .L1519 - ldr r3, .L1547 + beq .L1520 + ldr r3, .L1548 mov r1, r6 mov r2, sl - ldr r0, [r3, #-2088] + ldr r0, [r3, #-2084] bl FlashEraseBlocks -.L1519: +.L1520: mov r0, r4 add sp, sp, #28 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1548: +.L1549: .align 2 -.L1547: +.L1548: .word .LANCHOR2 .word .LANCHOR0 .fnend @@ -13341,22 +13349,22 @@ FlashTestBlk.part.23: .fnstart @ args = 0, pretend = 0, frame = 104 @ frame_needed = 0, uses_anonymous_args = 0 -.L1550: +.L1551: stmfd sp!, {r4, r5, lr} .save {r4, r5, lr} .pad #108 sub sp, sp, #108 - ldr r4, .L1552 + ldr r4, .L1553 mov r5, r0 mov r1, #165 add r0, sp, #40 mov r2, #32 str r0, [sp, #16] - ldr r3, [r4, #132] + ldr r3, [r4, #136] mov r5, r5, asl #10 str r3, [sp, #12] bl ftl_memset - ldr r0, [r4, #132] + ldr r0, [r4, #136] mov r1, #90 mov r2, #8 bl ftl_memset @@ -13380,9 +13388,9 @@ FlashTestBlk.part.23: mov r0, r4 add sp, sp, #108 ldmfd sp!, {r4, r5, pc} -.L1553: +.L1554: .align 2 -.L1552: +.L1553: .word .LANCHOR2 .fnend .size FlashTestBlk.part.23, .-FlashTestBlk.part.23 @@ -13394,17 +13402,17 @@ FlashTestBlk: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L1556 - ldr r3, [r3, #152] + ldr r3, .L1557 + ldr r3, [r3, #156] cmp r0, r3 - bcc .L1555 + bcc .L1556 b FlashTestBlk.part.23 -.L1555: +.L1556: mov r0, #0 bx lr -.L1557: +.L1558: .align 2 -.L1556: +.L1557: .word .LANCHOR2 .fnend .size FlashTestBlk, .-FlashTestBlk @@ -13415,7 +13423,7 @@ FlashMakeFactorBbt: .fnstart @ args = 0, pretend = 0, frame = 72 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L1586 + ldr r3, .L1587 movw r1, #3062 movw r2, #3060 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} @@ -13426,13 +13434,13 @@ FlashMakeFactorBbt: mov r5, #0 ldrh fp, [r3, r1] mov r1, #1 - ldr r4, .L1586+4 + ldr r4, .L1587+4 mul fp, fp, r2 ldr r2, [r3, #3624] - ldr r0, [r4, #224] + ldr r0, [r4, #228] ldrb r2, [r2, #24] @ zero_extendqisi2 str r0, [sp, #28] - ldr r0, .L1586+8 + ldr r0, .L1587+8 uxth fp, fp str r2, [sp, #12] ldr r2, [r3, #856] @@ -13444,25 +13452,25 @@ FlashMakeFactorBbt: uxtheq r3, r3 streq r3, [sp, #8] bl printk - ldr r0, [r4, #224] + ldr r0, [r4, #228] mov r2, #4096 mov r1, #0 bl ftl_memset sub r3, fp, #1 mov r2, fp, lsr #4 - ldr r4, .L1586 + ldr r4, .L1587 uxth r3, r3 str r2, [sp, #20] str r3, [sp, #24] - b .L1560 -.L1582: - ldr r3, .L1586+4 + b .L1561 +.L1583: + ldr r3, .L1587+4 add r2, r3, r5, asl #1 - ldrh r6, [r2, #228] + ldrh r6, [r2, #232] cmp r6, #0 - bne .L1561 + bne .L1562 movw r2, #3068 - ldr r0, [r3, #144] + ldr r0, [r3, #148] ldrh r2, [r4, r2] mov r1, r6 mov r8, r6 @@ -13472,14 +13480,14 @@ FlashMakeFactorBbt: bl ftl_memset add r3, r4, r5 ldrb r9, [r3, #3764] @ zero_extendqisi2 - b .L1562 -.L1570: + b .L1563 +.L1571: mvn r3, #0 strb r3, [sp, #34] strb r3, [sp, #35] ldr r3, [sp, #12] tst r3, #1 - beq .L1563 + beq .L1564 ldr r3, [sl, #3588] add r2, sp, #34 mov r0, r9 @@ -13490,7 +13498,7 @@ FlashMakeFactorBbt: ldrb r2, [r4, #852] @ zero_extendqisi2 ldr r3, [sp, #4] cmp r2, #1 - bne .L1563 + bne .L1564 ldr r1, [r4, #856] add r2, sp, #35 mov r0, r9 @@ -13500,10 +13508,10 @@ FlashMakeFactorBbt: ldrb r2, [sp, #35] @ zero_extendqisi2 and r3, r2, r3 strb r3, [sp, #34] -.L1563: +.L1564: ldr r0, [sp, #12] tst r0, #2 - beq .L1564 + beq .L1565 ldr r3, [r4, #3624] mov r0, r9 add r2, sp, #35 @@ -13513,42 +13521,42 @@ FlashMakeFactorBbt: add r1, r1, r3 add r1, r1, r6 bl FlashReadSpare -.L1564: +.L1565: ldr r3, [r4, #3624] ldrb r3, [r3, #7] @ zero_extendqisi2 cmp r3, #1 cmpne r3, #8 ldrb r3, [sp, #34] @ zero_extendqisi2 - bne .L1565 + bne .L1566 cmp r3, #0 - beq .L1584 + beq .L1585 ldrb r0, [sp, #35] @ zero_extendqisi2 rsbs r0, r0, #1 movcc r0, #0 - b .L1566 -.L1565: + b .L1567 +.L1566: cmp r3, #255 - bne .L1584 + bne .L1585 ldrb r0, [sp, #35] @ zero_extendqisi2 subs r0, r0, #255 movne r0, #1 - b .L1566 -.L1584: + b .L1567 +.L1585: mov r0, #1 -.L1566: +.L1567: ldr r2, [sp, #12] tst r2, #4 - beq .L1567 + beq .L1568 ldr r1, [sl, #3588] mov r0, r9 add r1, r6, r1 bl SandiskProgTestBadBlock -.L1567: +.L1568: cmp r0, #0 - beq .L1568 + beq .L1569 mov r1, r5 mov r2, r8 - ldr r0, .L1586+12 + ldr r0, .L1587+12 add r7, r7, #1 bl printk ldr r3, [sp, #16] @@ -13556,8 +13564,8 @@ FlashMakeFactorBbt: mov ip, #1 uxth r7, r7 mov r2, r3, lsr #5 - ldr r3, .L1586+4 - ldr r3, [r3, #144] + ldr r3, .L1587+4 + ldr r3, [r3, #148] ldr r1, [r3, r2, asl #2] orr r1, r1, ip, asl r0 ldr r0, [sp, #20] @@ -13565,18 +13573,18 @@ FlashMakeFactorBbt: ldrb r3, [r4, #3762] @ zero_extendqisi2 mul r3, r3, r0 cmp r7, r3 - bgt .L1569 -.L1568: + bgt .L1570 +.L1569: ldr r2, [sp, #8] add r8, r8, #1 add r6, r6, r2 -.L1562: +.L1563: uxth r3, r8 str r3, [sp, #16] cmp r3, fp - bcc .L1570 -.L1569: - ldr r0, .L1586+16 + bcc .L1571 +.L1570: + ldr r0, .L1587+16 mov r1, r5 mov r2, r7 bl printk @@ -13584,31 +13592,31 @@ FlashMakeFactorBbt: ldr r0, [sp, #20] mul r3, r3, r0 cmp r7, r3 - blt .L1571 + blt .L1572 movw r3, #3068 mov r1, #0 ldrh r2, [r4, r3] - ldr r3, .L1586+4 + ldr r3, .L1587+4 mov r2, r2, asl #9 - ldr r0, [r3, #144] + ldr r0, [r3, #148] bl ftl_memset -.L1571: +.L1572: cmp r5, #0 - bne .L1572 - ldr sl, .L1586+4 + bne .L1573 + ldr sl, .L1587+4 mov r8, r5 mov r7, r5 - ldrh r9, [sl, #152] - b .L1573 -.L1575: + ldrh r9, [sl, #156] + b .L1574 +.L1576: mov r0, r6 bl FlashTestBlk cmp r0, #0 - beq .L1574 + beq .L1575 mov r1, r6 - ldr r0, .L1586+20 + ldr r0, .L1587+20 bl printk - ldr r3, [sl, #144] + ldr r3, [sl, #148] mov r2, r6, lsr #5 mov r0, #1 add r7, r7, r0 @@ -13617,86 +13625,86 @@ FlashMakeFactorBbt: uxth r7, r7 orr r6, r1, r0, asl r6 str r6, [r3, r2, asl #2] -.L1574: +.L1575: add r8, r8, #1 uxth r8, r8 -.L1573: +.L1574: add r6, r8, r9 ldrb r3, [r4, #853] @ zero_extendqisi2 uxth r6, r6 cmp r3, r6 - bhi .L1575 + bhi .L1576 ldr r6, [sp, #24] sub r9, fp, #50 - ldr sl, .L1586+4 + ldr sl, .L1587+4 mov r8, #1 - b .L1576 -.L1578: + b .L1577 +.L1579: mov r0, r6 bl FlashTestBlk cmp r0, #0 - beq .L1577 + beq .L1578 mov r1, r6 - ldr r0, .L1586+20 + ldr r0, .L1587+20 bl printk - ldr r3, [sl, #144] + ldr r3, [sl, #148] mov r2, r6, lsr #5 and r0, r6, #31 ldr r1, [r3, r2, asl #2] orr r1, r1, r8, asl r0 str r1, [r3, r2, asl #2] -.L1577: +.L1578: sub r6, r6, #1 uxth r6, r6 -.L1576: +.L1577: cmp r6, r9 - bgt .L1578 - ldr r3, .L1586+4 + bgt .L1579 + ldr r3, .L1587+4 ldrb r1, [r4, #853] @ zero_extendqisi2 - ldr r2, [r3, #152] + ldr r2, [r3, #156] rsb r2, r2, r1 cmp r7, r2 - bcc .L1572 + bcc .L1573 movw r2, #3068 - ldr r0, [r3, #144] + ldr r0, [r3, #148] ldrh r2, [r4, r2] mov r1, #0 mov r2, r2, asl #9 bl ftl_memset -.L1572: +.L1573: mul r8, fp, r5 - ldr r7, .L1586+4 + ldr r7, .L1587+4 ldr r6, [sp, #24] ldr r9, [sp, #28] add sl, r7, r5, asl #1 -.L1579: - ldr r0, .L1586+24 +.L1580: + ldr r0, .L1587+24 mov r1, r5 mov r2, r6 bl printk - ldr r3, [r7, #144] - b .L1580 -.L1581: + ldr r3, [r7, #148] + b .L1581 +.L1582: sub r6, r6, #1 uxth r6, r6 -.L1580: +.L1581: mov r1, r6, lsr #5 and r2, r6, #31 ldr r1, [r3, r1, asl #2] mov r2, r1, lsr r2 ands r2, r2, #1 - bne .L1581 - ldr r3, .L1586+28 + bne .L1582 + ldr r3, .L1587+28 mov r1, #1 - strh r6, [sl, #228] @ movhi + strh r6, [sl, #232] @ movhi add r0, sp, #36 strh r6, [r9, #2] @ movhi strh r3, [r9, #0] @ movhi - ldr r3, [r7, #144] + ldr r3, [r7, #148] strh r2, [r9, #8] @ movhi mov r2, r1 str r3, [sp, #44] - ldr r3, [r7, #224] + ldr r3, [r7, #228] str r3, [sp, #48] add r3, r6, r8 mov r3, r3, asl #10 @@ -13711,19 +13719,19 @@ FlashMakeFactorBbt: cmp r3, #0 subne r6, r6, #1 uxthne r6, r6 - bne .L1579 -.L1561: + bne .L1580 +.L1562: add r5, r5, #1 uxtb r5, r5 -.L1560: +.L1561: ldrb r3, [r4, #3762] @ zero_extendqisi2 cmp r3, r5 - bhi .L1582 + bhi .L1583 add sp, sp, #76 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1587: +.L1588: .align 2 -.L1586: +.L1587: .word .LANCHOR0 .word .LANCHOR2 .word .LC111 @@ -13751,140 +13759,140 @@ ftl_map_blk_gc: ldrh r2, [r4, #8] sub r3, ip, #4 cmp r2, r3 - bge .L1589 + bge .L1590 ldrh r2, [r4, #40] movw r3, #65535 cmp r2, r3 - beq .L1590 - ldr r1, .L1602 - movw r3, #3914 + beq .L1591 + ldr r1, .L1603 + movw r3, #3918 ldrh r2, [r4, #2] ldrh r3, [r1, r3] cmp r2, r3 - bcc .L1590 -.L1589: + bcc .L1591 +.L1590: ldrh r1, [r4, #40] movw r3, #65535 uxth r7, r0 cmp r1, r3 - beq .L1591 - ldr r0, .L1602 - movw r2, #3914 + beq .L1592 + ldr r0, .L1603 + movw r2, #3918 ldrh r3, [r4, #2] ldrh r2, [r0, r2] cmp r2, r3 movls r0, r6 movls r2, #0 - bhi .L1591 - b .L1592 -.L1594: + bhi .L1592 + b .L1593 +.L1595: ldrh lr, [r0], #2 cmp lr, r1 - beq .L1601 + beq .L1602 add r2, r2, #1 uxth r2, r2 -.L1592: - cmp r2, ip - bne .L1594 - b .L1593 -.L1601: - mov r7, r2 .L1593: + cmp r2, ip + bne .L1595 + b .L1594 +.L1602: + mov r7, r2 +.L1594: mov r2, r2, asl #1 - ldr r0, .L1602+4 + ldr r0, .L1603+4 ldrh r2, [r6, r2] bl printk mvn r3, #0 strh r3, [r4, #40] @ movhi -.L1591: +.L1592: mov r7, r7, asl #1 ldrh r8, [r6, r7] cmp r8, #0 - beq .L1590 + beq .L1591 ldr r3, [r4, #32] cmp r3, #0 - bne .L1590 + bne .L1591 mov r2, #1 - ldr r1, .L1602 + ldr r1, .L1603 str r2, [r4, #32] strh r3, [r6, r7] @ movhi ldrh r3, [r4, #8] ldrh r2, [r4, #2] sub r3, r3, #1 strh r3, [r4, #8] @ movhi - movw r3, #3914 + movw r3, #3918 ldrh r3, [r1, r3] cmp r2, r3 - bcc .L1595 + bcc .L1596 mov r0, r4 bl ftl_map_blk_alloc_new_blk -.L1595: +.L1596: mov r7, #0 - ldr r6, .L1602+8 + ldr r6, .L1603+8 mov fp, r7 - b .L1596 -.L1599: + b .L1597 +.L1600: ldr r3, [r5, r7, asl #2] mov r9, r7, asl #2 cmp r8, r3, lsr #10 - bne .L1597 - ldr r3, [r6, #-960] - mov r1, #1 - ldr sl, [r6, #-940] - mov r2, r1 - ldr r0, .L1602+12 - str r3, [r6, #184] - str sl, [r6, #188] - ldr r3, [r5, r7, asl #2] - str r3, [r6, #180] - bl FlashReadPages - ldr r3, [r6, #176] - cmn r3, #1 bne .L1598 + ldr r3, [r6, #-956] + mov r1, #1 + ldr sl, [r6, #-936] + mov r2, r1 + ldr r0, .L1603+12 + str r3, [r6, #188] + str sl, [r6, #192] + ldr r3, [r5, r7, asl #2] + str r3, [r6, #184] + bl FlashReadPages + ldr r3, [r6, #180] + cmn r3, #1 + bne .L1599 str fp, [r5, r9] - ldr r0, .L1602+16 - ldr r1, [r6, #180] + ldr r0, .L1603+16 + ldr r1, [r6, #184] ldrh r2, [sl, #8] bl printk mov r3, #1 - str r3, [r6, #-2092] - b .L1597 -.L1598: + str r3, [r6, #-2088] + b .L1598 +.L1599: mov r0, r4 mov r1, r7 - ldr r2, [r6, #184] + ldr r2, [r6, #188] bl FtlMapWritePage -.L1597: +.L1598: add r7, r7, #1 uxth r7, r7 -.L1596: +.L1597: ldrh r3, [r4, #6] cmp r3, r7 - bhi .L1599 + bhi .L1600 mov r0, r8 mov r1, #1 bl FtlFreeSysBlkQueueIn mov r3, #0 str r3, [r4, #32] -.L1590: - ldr r1, .L1602 - movw r3, #3914 +.L1591: + ldr r1, .L1603 + movw r3, #3918 ldrh r2, [r4, #2] ldrh r3, [r1, r3] cmp r2, r3 - bcc .L1600 + bcc .L1601 mov r0, r4 bl ftl_map_blk_alloc_new_blk -.L1600: +.L1601: mov r0, #0 ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1603: +.L1604: .align 2 -.L1602: +.L1603: .word .LANCHOR0 .word .LC116 .word .LANCHOR2 - .word .LANCHOR2+176 + .word .LANCHOR2+180 .word .LC117 .fnend .size ftl_map_blk_gc, .-ftl_map_blk_gc @@ -13898,16 +13906,16 @@ Ftl_write_map_blk_to_last_page: stmfd sp!, {r4, r5, r6, r7, r8, lr} .save {r4, r5, r6, r7, r8, lr} mov r4, r0 - ldr r5, .L1610 + ldr r5, .L1611 ldr r7, [r0, #12] ldr r8, [r0, #24] - ldr r6, [r5, #-2092] + ldr r6, [r5, #-2088] cmp r6, #0 - bne .L1605 + bne .L1606 ldrh r3, [r0, #0] movw r2, #65535 cmp r3, r2 - bne .L1606 + bne .L1607 ldrh r3, [r0, #8] add r3, r3, #1 strh r3, [r0, #8] @ movhi @@ -13918,55 +13926,55 @@ Ftl_write_map_blk_to_last_page: add r3, r3, #1 strh r6, [r4, #0] @ movhi str r3, [r4, #28] - b .L1605 -.L1606: + b .L1606 +.L1607: mov r3, r3, asl #1 ldr r2, [r0, #28] mov r1, #255 ldrh r7, [r7, r3] ldrh r3, [r0, #2] orr r3, r3, r7, asl #10 - str r3, [r5, #180] - ldr r3, [r5, #-964] str r3, [r5, #184] - ldr r3, [r5, #-940] + ldr r3, [r5, #-960] str r3, [r5, #188] + ldr r3, [r5, #-936] + str r3, [r5, #192] str r2, [r3, #4] - ldr r2, .L1610+4 + ldr r2, .L1611+4 strh r2, [r3, #8] @ movhi ldrh r2, [r0, #4] strh r7, [r3, #2] @ movhi strh r2, [r3, #0] @ movhi - movw r3, #3914 - ldr r2, .L1610+8 - ldr r0, [r5, #-964] + movw r3, #3918 + ldr r2, .L1611+8 + ldr r0, [r5, #-960] ldrh r2, [r2, r3] mov r2, r2, asl #3 bl ftl_memset mov r3, r6 - b .L1607 -.L1609: + b .L1608 +.L1610: ldr r2, [r8, r3, asl #2] cmp r7, r2, lsr #10 - bne .L1608 + bne .L1609 add r6, r6, #1 - ldr r2, [r5, #-964] + ldr r2, [r5, #-960] uxth r6, r6 str r3, [r2, r6, asl #3] - ldr r2, [r5, #-964] + ldr r2, [r5, #-960] ldr r1, [r8, r3, asl #2] add r2, r2, r6, asl #3 str r1, [r2, #4] -.L1608: +.L1609: add r3, r3, #1 uxth r3, r3 -.L1607: +.L1608: ldrh r2, [r4, #6] cmp r2, r3 - bhi .L1609 + bhi .L1610 mov r1, #1 mov r3, #0 - ldr r0, .L1610+12 + ldr r0, .L1611+12 mov r2, r1 bl FlashProgPages ldrh r3, [r4, #2] @@ -13974,16 +13982,16 @@ Ftl_write_map_blk_to_last_page: add r3, r3, #1 strh r3, [r4, #2] @ movhi bl ftl_map_blk_gc -.L1605: +.L1606: mov r0, #0 ldmfd sp!, {r4, r5, r6, r7, r8, pc} -.L1611: +.L1612: .align 2 -.L1610: +.L1611: .word .LANCHOR2 .word -1291 .word .LANCHOR0 - .word .LANCHOR2+176 + .word .LANCHOR2+180 .fnend .size Ftl_write_map_blk_to_last_page, .-Ftl_write_map_blk_to_last_page .align 2 @@ -13995,46 +14003,46 @@ FtlMapWritePage.part.14: stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, lr} .save {r4, r5, r6, r7, r8, r9, sl, lr} mov r4, r0 - ldr r5, .L1625 + ldr r5, .L1626 mov sl, r1 - ldr r8, .L1625+4 + ldr r8, .L1626+4 mov r9, r2 mov r6, #0 -.L1623: - ldr r3, [r5, #-1824] +.L1624: + ldr r3, [r5, #-1820] add r3, r3, #1 - str r3, [r5, #-1824] - movw r3, #3914 + str r3, [r5, #-1820] + movw r3, #3918 ldrh r2, [r4, #2] ldrh r3, [r8, r3] sub r3, r3, #1 cmp r2, r3 - bge .L1614 + bge .L1615 ldrh r2, [r4, #0] movw r3, #65535 cmp r2, r3 - bne .L1615 -.L1614: + bne .L1616 +.L1615: mov r0, r4 bl Ftl_write_map_blk_to_last_page -.L1615: +.L1616: ldrh r3, [r4, #0] mov r1, #0 ldr r2, [r4, #12] - ldr r0, [r5, #-940] + ldr r0, [r5, #-936] mov r3, r3, asl #1 ldrh r7, [r2, r3] mov r2, #16 ldrh r3, [r4, #2] - str r9, [r5, #184] + str r9, [r5, #188] orr r3, r3, r7, asl #10 - str r0, [r5, #188] - str r3, [r5, #180] + str r0, [r5, #192] + str r3, [r5, #184] bl ftl_memset - ldr r3, [r5, #188] + ldr r3, [r5, #192] mov r1, #1 ldr r2, [r4, #28] - ldr r0, .L1625+8 + ldr r0, .L1626+8 strh sl, [r3, #8] @ movhi str r2, [r3, #4] ldrh r2, [r4, #4] @@ -14047,48 +14055,48 @@ FtlMapWritePage.part.14: add r2, r2, #1 uxth r2, r2 strh r2, [r4, #2] @ movhi - ldr r3, [r5, #176] + ldr r3, [r5, #180] cmn r3, #1 - bne .L1616 - ldr r0, .L1625+12 + bne .L1617 + ldr r0, .L1626+12 add r6, r6, #1 - ldr r1, [r5, #180] + ldr r1, [r5, #184] bl printk ldrh r3, [r4, #2] uxth r6, r6 cmp r3, #2 - movwls r3, #3914 + movwls r3, #3918 ldrlsh r3, [r8, r3] subls r3, r3, #1 strlsh r3, [r4, #2] @ movhi cmp r6, #3 - bls .L1623 - ldr r4, .L1625 + bls .L1624 + ldr r4, .L1626 mov r2, r6 - ldr r0, .L1625+16 - ldr r1, [r4, #180] + ldr r0, .L1626+16 + ldr r1, [r4, #184] bl printk mov r3, #1 - str r3, [r4, #-2092] + str r3, [r4, #-2088] ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, pc} -.L1616: +.L1617: cmp r3, #0 strneh r7, [r4, #40] @ movhi cmp r2, #1 - beq .L1623 + beq .L1624 cmp r3, #256 - beq .L1623 - ldr r3, .L1625 - ldr r2, [r3, #180] + beq .L1624 + ldr r3, .L1626 + ldr r2, [r3, #184] ldr r3, [r4, #24] str r2, [r3, sl, asl #2] ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, pc} -.L1626: +.L1627: .align 2 -.L1625: +.L1626: .word .LANCHOR2 .word .LANCHOR0 - .word .LANCHOR2+176 + .word .LANCHOR2+180 .word .LC118 .word .LC119 .fnend @@ -14102,17 +14110,17 @@ FtlMapWritePage: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r3, lr} .save {r3, lr} - ldr r3, .L1629 - ldr r3, [r3, #-2092] + ldr r3, .L1630 + ldr r3, [r3, #-2088] cmp r3, #0 - bne .L1628 + bne .L1629 bl FtlMapWritePage.part.14 -.L1628: +.L1629: mov r0, #0 ldmfd sp!, {r3, pc} -.L1630: +.L1631: .align 2 -.L1629: +.L1630: .word .LANCHOR2 .fnend .size FtlMapWritePage, .-FtlMapWritePage @@ -14126,26 +14134,25 @@ flush_l2p_region: stmfd sp!, {r3, r4, r5, lr} .save {r3, r4, r5, lr} mov r4, #12 - ldr r5, .L1632 + ldr r5, .L1633 mul r4, r4, r0 - ldr r0, .L1632+4 - ldr r2, [r5, #-1856] + sub r0, r5, #1088 + ldr r2, [r5, #-1852] add r3, r2, r4 ldrh r1, [r2, r4] ldr r2, [r3, #8] bl FtlMapWritePage - ldr r3, [r5, #-1856] + ldr r3, [r5, #-1852] mov r0, #0 add r4, r3, r4 ldr r3, [r4, #4] bic r3, r3, #-2147483648 str r3, [r4, #4] ldmfd sp!, {r3, r4, r5, pc} -.L1633: +.L1634: .align 2 -.L1632: +.L1633: .word .LANCHOR2 - .word .LANCHOR2-1092 .fnend .size flush_l2p_region, .-flush_l2p_region .align 2 @@ -14165,41 +14172,41 @@ FtlMapBlkWriteDumpData: ldmeqfd sp!, {r3, r4, r5, pc} mov r3, #0 str r3, [r0, #36] - ldr r3, .L1638 - ldr r1, [r3, #-2092] + ldr r3, .L1639 + ldr r1, [r3, #-2088] cmp r1, #0 ldmnefd sp!, {r3, r4, r5, pc} sub r5, r5, #1 - ldr r0, [r3, #-960] - ldr r1, [r3, #-940] + ldr r0, [r3, #-956] + ldr r1, [r3, #-936] uxth r5, r5 - str r0, [r3, #184] - str r1, [r3, #188] + str r0, [r3, #188] + str r1, [r3, #192] ldr r2, [r2, r5, asl #2] cmp r2, #0 - str r2, [r3, #180] - beq .L1636 + str r2, [r3, #184] + beq .L1637 mov r1, #1 - add r0, r3, #176 + add r0, r3, #180 mov r2, r1 bl FlashReadPages - b .L1637 -.L1636: - ldr r2, .L1638+4 - movw r3, #3922 + b .L1638 +.L1637: + ldr r2, .L1639+4 + movw r3, #3926 mov r1, #255 ldrh r2, [r2, r3] bl ftl_memset -.L1637: - ldr r3, .L1638 +.L1638: + ldr r3, .L1639 mov r0, r4 mov r1, r5 - ldr r2, [r3, #184] + ldr r2, [r3, #188] ldmfd sp!, {r3, r4, r5, lr} b FtlMapWritePage -.L1639: +.L1640: .align 2 -.L1638: +.L1639: .word .LANCHOR2 .word .LANCHOR0 .fnend @@ -14211,14 +14218,14 @@ FtlVendorPartRead: .fnstart @ args = 0, pretend = 0, frame = 48 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L1651 + ldr r3, .L1652 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} mov r9, r2 - mov r2, #3920 + movw r2, #3924 mov r5, r1 ldrh r7, [r3, r2] - movw r2, #3906 + movw r2, #3910 ldrh r2, [r3, r2] add r1, r1, r0 .pad #52 @@ -14226,20 +14233,20 @@ FtlVendorPartRead: mov r8, r0 cmp r1, r2 mvnhi fp, #0 - bhi .L1641 + bhi .L1642 mov r7, r0, lsr r7 mov fp, #0 - ldr r6, .L1651+4 + ldr r6, .L1652+4 mov r2, r7, asl #2 str r2, [sp, #0] - b .L1642 -.L1648: - ldr r3, [r6, #-908] + b .L1643 +.L1649: + ldr r3, [r6, #-904] mov r0, r8 ldr r2, [sp, #0] ldr sl, [r3, r2] - movw r3, #3918 - ldr r2, .L1651 + movw r3, #3922 + ldr r2, .L1652 ldrh r4, [r2, r3] mov r1, r4 bl __aeabi_uidivmod @@ -14250,12 +14257,12 @@ FtlVendorPartRead: cmp r4, r5 uxthhi r4, r5 cmp sl, #0 - beq .L1644 - ldr r2, .L1651+4 + beq .L1645 + ldr r2, .L1652+4 mov r1, #1 add r0, sp, #12 str sl, [sp, #16] - ldr r3, [r2, #-956] + ldr r3, [r2, #-952] mov r2, r1 str r3, [sp, #20] mov r3, #0 @@ -14264,31 +14271,31 @@ FtlVendorPartRead: ldr r3, [sp, #12] cmn r3, #1 moveq fp, r3 - ldr r3, [r6, #176] + ldr r3, [r6, #180] cmp r3, #256 - bne .L1646 + bne .L1647 mov r1, r7 mov r2, sl - ldr r0, .L1651+8 + ldr r0, .L1652+8 bl printk - ldr r0, .L1651+12 + ldr r0, .L1652+12 mov r1, r7 - ldr r2, [r6, #-956] + ldr r2, [r6, #-952] bl FtlMapWritePage -.L1646: +.L1647: ldr r3, [sp, #4] mov r0, r9 - ldr r1, [r6, #-956] + ldr r1, [r6, #-952] mov r2, r4, asl #9 add r1, r1, r3, asl #9 bl memcpy - b .L1647 -.L1644: + b .L1648 +.L1645: mov r0, r9 mov r1, sl mov r2, r4, asl #9 bl ftl_memset -.L1647: +.L1648: ldr r3, [sp, #0] add r7, r7, #1 rsb r5, r4, r5 @@ -14296,20 +14303,20 @@ FtlVendorPartRead: add r9, r9, r4, asl #9 add r3, r3, #4 str r3, [sp, #0] -.L1642: +.L1643: cmp r5, #0 - bne .L1648 -.L1641: + bne .L1649 +.L1642: mov r0, fp add sp, sp, #52 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1652: +.L1653: .align 2 -.L1651: +.L1652: .word .LANCHOR0 .word .LANCHOR2 .word .LC120 - .word .LANCHOR2+244 + .word .LANCHOR2+248 .fnend .size FtlVendorPartRead, .-FtlVendorPartRead .align 2 @@ -14322,79 +14329,80 @@ Ftl_load_ext_data: stmfd sp!, {r3, r4, r5, lr} .save {r3, r4, r5, lr} mov r0, #0 - ldr r4, .L1657 + ldr r5, .L1658 mov r1, #1 - ldr r5, .L1657+4 - sub r2, r4, #1712 + ldr r2, .L1658+4 bl FtlVendorPartRead - ldr r3, [r4, #-1712] - cmp r3, r5 - beq .L1654 - sub r0, r4, #1712 + ldr r4, .L1658+8 + ldr r3, [r5, #-1708] + cmp r3, r4 + beq .L1655 + ldr r0, .L1658+4 mov r1, #0 mov r2, #512 bl ftl_memset - str r5, [r4, #-1712] -.L1654: - ldr r2, [r4, #-1712] - ldr r3, .L1657 - cmp r2, r5 - bne .L1655 - ldr r2, [r3, #-1624] - str r2, [r3, #-1816] + str r4, [r5, #-1708] +.L1655: + ldr r2, [r5, #-1708] + ldr r3, .L1658 + cmp r2, r4 + bne .L1656 ldr r2, [r3, #-1620] str r2, [r3, #-1812] - ldr r2, [r3, #-1704] - str r2, [r3, #-1820] + ldr r2, [r3, #-1616] + str r2, [r3, #-1808] ldr r2, [r3, #-1700] - str r2, [r3, #-1832] + str r2, [r3, #-1816] ldr r2, [r3, #-1696] - str r2, [r3, #-1840] - ldr r2, [r3, #-1692] - str r2, [r3, #-1824] - ldr r2, [r3, #-1684] - str r2, [r3, #-1796] - ldr r2, [r3, #-1680] - str r2, [r3, #-2080] - ldr r2, [r3, #-1676] - str r2, [r3, #-1836] - ldr r2, [r3, #-1672] str r2, [r3, #-1828] + ldr r2, [r3, #-1692] + str r2, [r3, #-1836] + ldr r2, [r3, #-1688] + str r2, [r3, #-1820] + ldr r2, [r3, #-1680] + str r2, [r3, #-1792] + ldr r2, [r3, #-1676] + str r2, [r3, #-2076] + ldr r2, [r3, #-1672] + str r2, [r3, #-1832] ldr r2, [r3, #-1668] - str r2, [r3, #-1788] + str r2, [r3, #-1824] ldr r2, [r3, #-1664] str r2, [r3, #-1784] - ldr r2, [r3, #-1652] - str r2, [r3, #-1716] -.L1655: - ldr r4, .L1657 - mov r3, #0 - ldr r5, .L1657+8 - str r3, [r4, #-1004] - ldr r2, [r4, #-1644] - ldr r3, .L1657+12 - cmp r2, r3 - bne .L1656 - mov r3, #1 - ldr r0, .L1657+16 - str r3, [r5, #3836] - ldr r1, .L1657+20 - bl printk + ldr r2, [r3, #-1660] + str r2, [r3, #-1780] + ldr r2, [r3, #-1648] + str r2, [r3, #-1712] .L1656: - movw r3, #3902 - ldr r0, [r4, #-1800] + ldr r4, .L1658 + mov r3, #0 + ldr r5, .L1658+12 + str r3, [r4, #-1000] + ldr r2, [r4, #-1640] + ldr r3, .L1658+16 + cmp r2, r3 + bne .L1657 + mov r3, #1 + ldr r0, .L1658+20 + str r3, [r5, #3840] + ldr r1, .L1658+24 + bl printk +.L1657: + movw r3, #3906 + ldr r0, [r4, #-1796] ldrh r2, [r5, r3] - ldr r3, [r4, #-1796] + ldr r3, [r4, #-1792] mla r0, r0, r2, r3 - movw r3, #3852 + mov r3, #3856 ldrh r1, [r5, r3] bl __aeabi_uidiv - str r0, [r4, #-1792] + str r0, [r4, #-1788] ldmfd sp!, {r3, r4, r5, pc} -.L1658: +.L1659: .align 2 -.L1657: +.L1658: .word .LANCHOR2 + .word .LANCHOR2-1708 .word 1179929683 .word .LANCHOR0 .word 305432421 @@ -14412,32 +14420,32 @@ FtlLoadEctTbl: stmfd sp!, {r3, r4, r5, lr} .save {r3, r4, r5, lr} mov r0, #64 - ldr r4, .L1661 - ldr r5, .L1661+4 - ldr r2, [r4, #-924] + ldr r4, .L1662 + ldr r5, .L1662+4 + ldr r2, [r4, #-920] ldrh r1, [r4, r5] bl FtlVendorPartRead - ldr r3, [r4, #-924] + ldr r3, [r4, #-920] ldr r2, [r3, #0] - ldr r3, .L1661+8 + ldr r3, .L1662+8 cmp r2, r3 - beq .L1660 - ldr r1, .L1661+12 - ldr r0, .L1661+16 + beq .L1661 + ldr r1, .L1662+12 + ldr r0, .L1662+16 bl printk ldrh r2, [r4, r5] - ldr r0, [r4, #-924] + ldr r0, [r4, #-920] mov r1, #0 mov r2, r2, asl #9 bl ftl_memset -.L1660: +.L1661: mov r0, #0 ldmfd sp!, {r3, r4, r5, pc} -.L1662: +.L1663: .align 2 -.L1661: +.L1662: .word .LANCHOR2 - .word -928 + .word -924 .word 1112818501 .word .LC122 .word .LC78 @@ -14450,14 +14458,14 @@ FtlVendorPartWrite: .fnstart @ args = 0, pretend = 0, frame = 56 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L1673 + ldr r3, .L1674 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} mov r9, r2 - mov r2, #3920 + movw r2, #3924 mov r4, r1 ldrh r8, [r3, r2] - movw r2, #3906 + movw r2, #3910 ldrh r2, [r3, r2] add r1, r1, r0 .pad #60 @@ -14465,26 +14473,26 @@ FtlVendorPartWrite: mov r6, r0 cmp r1, r2 mvnhi r7, #0 - bhi .L1664 + bhi .L1665 mov r8, r0, lsr r8 mov r7, #0 - ldr sl, .L1673+4 + ldr sl, .L1674+4 mov ip, r8, asl #2 str ip, [sp, #8] - b .L1665 -.L1670: - ldr r1, .L1673 - movw r2, #3918 + b .L1666 +.L1671: + ldr r1, .L1674 + movw r2, #3922 ldr ip, [sp, #8] mov r0, r6 - ldr r3, [sl, #-908] + ldr r3, [sl, #-904] ldrh fp, [r1, r2] ldr r3, [r3, ip] mov r1, fp str r3, [sp, #4] bl __aeabi_uidivmod ldr r3, [sp, #4] - ldr r2, .L1673+4 + ldr r2, .L1674+4 uxth r1, r1 str r1, [sp, #12] rsb r5, r1, fp @@ -14492,30 +14500,30 @@ FtlVendorPartWrite: cmp r5, r4 uxthhi r5, r4 cmp r3, #0 - beq .L1667 + beq .L1668 cmp r5, fp - beq .L1667 + beq .L1668 str r3, [sp, #24] mov r1, #1 - ldr r3, [r2, #-956] + ldr r3, [r2, #-952] add r0, sp, #20 mov r2, r1 str r3, [sp, #28] mov r3, #0 str r3, [sp, #32] bl FlashReadPages - b .L1668 -.L1667: - ldr ip, .L1673 - movw r3, #3922 - ldr r0, [r2, #-956] + b .L1669 +.L1668: + ldr ip, .L1674 + movw r3, #3926 + ldr r0, [r2, #-952] mov r1, #0 ldrh r2, [ip, r3] bl ftl_memset -.L1668: +.L1669: ldr r3, [sp, #12] mov fp, r5, asl #9 - ldr r0, [sl, #-956] + ldr r0, [sl, #-952] mov r1, r9 mov r2, fp rsb r4, r5, r4 @@ -14523,9 +14531,9 @@ FtlVendorPartWrite: add r6, r6, r5 bl memcpy mov r1, r8 - ldr r0, .L1673+8 + ldr r0, .L1674+8 add r8, r8, #1 - ldr r2, [sl, #-956] + ldr r2, [sl, #-952] add r9, r9, fp bl FtlMapWritePage ldr ip, [sp, #8] @@ -14533,19 +14541,19 @@ FtlVendorPartWrite: str ip, [sp, #8] cmn r0, #1 moveq r7, r0 -.L1665: +.L1666: cmp r4, #0 - bne .L1670 -.L1664: + bne .L1671 +.L1665: mov r0, r7 add sp, sp, #60 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1674: +.L1675: .align 2 -.L1673: +.L1674: .word .LANCHOR0 .word .LANCHOR2 - .word .LANCHOR2+244 + .word .LANCHOR2+248 .fnend .size FtlVendorPartWrite, .-FtlVendorPartWrite .align 2 @@ -14556,51 +14564,52 @@ Ftl_save_ext_data: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r2, .L1677 - ldr r3, .L1677+4 - ldr r1, [r2, #-1712] - cmp r1, r3 + ldr r3, .L1678 + ldr r2, .L1678+4 + ldr r1, [r3, #-1708] + cmp r1, r2 bxne lr - ldr r3, .L1677+8 + ldr r2, .L1678+8 mov r0, #0 mov r1, #1 - str r3, [r2, #-1708] - ldr r3, [r2, #-1816] - str r3, [r2, #-1624] - ldr r3, [r2, #-1812] - str r3, [r2, #-1620] - ldr r3, [r2, #-1820] - str r3, [r2, #-1704] - ldr r3, [r2, #-1832] - str r3, [r2, #-1700] - ldr r3, [r2, #-1840] - str r3, [r2, #-1696] - ldr r3, [r2, #-1824] - str r3, [r2, #-1692] - ldr r3, [r2, #-1796] - str r3, [r2, #-1684] - ldr r3, [r2, #-2080] - str r3, [r2, #-1680] - ldr r3, [r2, #-1836] - str r3, [r2, #-1676] - ldr r3, [r2, #-1828] - str r3, [r2, #-1672] - ldr r3, [r2, #-1788] - str r3, [r2, #-1668] - ldr r3, [r2, #-1784] - str r3, [r2, #-1664] - ldr r3, [r2, #-1716] - str r3, [r2, #-1652] - ldr r3, [r2, #-1004] - str r3, [r2, #-1648] - sub r2, r2, #1712 + str r2, [r3, #-1704] + ldr r2, [r3, #-1812] + str r2, [r3, #-1620] + ldr r2, [r3, #-1808] + str r2, [r3, #-1616] + ldr r2, [r3, #-1816] + str r2, [r3, #-1700] + ldr r2, [r3, #-1828] + str r2, [r3, #-1696] + ldr r2, [r3, #-1836] + str r2, [r3, #-1692] + ldr r2, [r3, #-1820] + str r2, [r3, #-1688] + ldr r2, [r3, #-1792] + str r2, [r3, #-1680] + ldr r2, [r3, #-2076] + str r2, [r3, #-1676] + ldr r2, [r3, #-1832] + str r2, [r3, #-1672] + ldr r2, [r3, #-1824] + str r2, [r3, #-1668] + ldr r2, [r3, #-1784] + str r2, [r3, #-1664] + ldr r2, [r3, #-1780] + str r2, [r3, #-1660] + ldr r2, [r3, #-1712] + str r2, [r3, #-1648] + ldr r2, [r3, #-1000] + str r2, [r3, #-1644] + ldr r2, .L1678+12 b FtlVendorPartWrite -.L1678: +.L1679: .align 2 -.L1677: +.L1678: .word .LANCHOR2 .word 1179929683 .word 1342177352 + .word .LANCHOR2-1708 .fnend .size Ftl_save_ext_data, .-Ftl_save_ext_data .align 2 @@ -14612,42 +14621,42 @@ FtlEctTblFlush: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r3, lr} .save {r3, lr} - ldr r3, .L1686 - ldr r1, .L1686+4 - ldr r3, [r3, #3836] + ldr r3, .L1687 + ldr r1, .L1687+4 + ldr r3, [r3, #3840] cmp r3, #0 moveq r2, #32 - beq .L1680 - ldr r2, [r1, #-1784] + beq .L1681 + ldr r2, [r1, #-1780] cmp r2, #29 movls r2, #4 movhi r2, #32 -.L1680: - mov r3, #288 +.L1681: + mov r3, #292 ldrh r1, [r1, r3] cmp r1, #31 addls r1, r1, #1 - ldrls r2, .L1686+4 + ldrls r2, .L1687+4 strlsh r1, [r2, r3] @ movhi movls r2, #1 cmp r0, #0 - ldr r3, .L1686+4 - bne .L1682 - ldr r1, [r3, #-924] + ldr r3, .L1687+4 + bne .L1683 + ldr r1, [r3, #-920] ldr r0, [r1, #20] ldr r1, [r1, #16] add r2, r2, r0 cmp r1, r2 - bcc .L1683 -.L1682: - ldr r2, [r3, #-924] + bcc .L1684 +.L1683: + ldr r2, [r3, #-920] mov r0, #64 ldr r1, [r2, #16] str r1, [r2, #20] - ldr r1, .L1686+8 + ldr r1, .L1687+8 str r1, [r2, #0] - ldr r1, .L1686+12 - ldr r2, [r3, #-924] + ldr r1, .L1687+12 + ldr r2, [r3, #-920] ldrh r1, [r3, r1] mov r3, r1, asl #9 str r3, [r2, #12] @@ -14658,16 +14667,16 @@ FtlEctTblFlush: str r3, [r2, #4] bl FtlVendorPartWrite bl Ftl_save_ext_data -.L1683: +.L1684: mov r0, #0 ldmfd sp!, {r3, pc} -.L1687: +.L1688: .align 2 -.L1686: +.L1687: .word .LANCHOR0 .word .LANCHOR2 .word 1112818501 - .word -928 + .word -924 .fnend .size FtlEctTblFlush, .-FtlEctTblFlush .align 2 @@ -14679,74 +14688,73 @@ ftl_load_l2p_region: stmfd sp!, {r3, r4, r5, r6, r7, lr} .save {r3, r4, r5, r6, r7, lr} mov r5, r0 - ldr r4, .L1692 + ldr r4, .L1693 mov r7, #12 - ldr r3, [r4, #-1036] + ldr r3, [r4, #-1032] ldr r6, [r3, r0, asl #2] cmp r6, #0 - bne .L1689 + bne .L1690 mul r7, r7, r1 - ldr r3, [r4, #-1856] - ldr r2, .L1692+4 + ldr r3, [r4, #-1852] + ldr r2, .L1693+4 mov r1, #255 add r3, r3, r7 ldr r0, [r3, #8] - movw r3, #3922 + movw r3, #3926 ldrh r2, [r2, r3] bl ftl_memset - ldr r3, [r4, #-1856] + ldr r3, [r4, #-1852] strh r5, [r3, r7] @ movhi - ldr r3, [r4, #-1856] + ldr r3, [r4, #-1852] add r7, r3, r7 str r6, [r7, #4] - b .L1690 -.L1689: + b .L1691 +.L1690: mul r7, r7, r1 - ldr r3, [r4, #-1856] + ldr r3, [r4, #-1852] mov r1, #1 - add r0, r4, #176 + add r0, r4, #180 mov r2, r1 - str r6, [r4, #180] + str r6, [r4, #184] add r3, r3, r7 ldr r3, [r3, #8] - str r3, [r4, #184] - ldr r3, [r4, #-940] str r3, [r4, #188] + ldr r3, [r4, #-936] + str r3, [r4, #192] bl FlashReadPages - ldr r3, [r4, #176] + ldr r3, [r4, #180] cmp r3, #256 - bne .L1691 + bne .L1692 mov r2, r6 mov r1, r5 - ldr r0, .L1692+8 + ldr r0, .L1693+8 mov r6, r6, lsr #10 bl printk - ldr r3, .L1692+12 - ldr r0, .L1692+16 + ldr r3, .L1693+12 + sub r0, r4, #1088 mov r1, r5 strh r6, [r4, r3] @ movhi - ldr r3, [r4, #-1856] + ldr r3, [r4, #-1852] add r3, r3, r7 ldr r2, [r3, #8] bl FtlMapWritePage -.L1691: - ldr r3, .L1692 +.L1692: + ldr r3, .L1693 mov r1, #0 - ldr r3, [r3, #-1856] + ldr r3, [r3, #-1852] add r2, r3, r7 str r1, [r2, #4] strh r5, [r3, r7] @ movhi -.L1690: +.L1691: mov r0, #0 ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L1693: +.L1694: .align 2 -.L1692: +.L1693: .word .LANCHOR2 .word .LANCHOR0 .word .LC123 - .word -1052 - .word .LANCHOR2-1092 + .word -1048 .fnend .size ftl_load_l2p_region, .-ftl_load_l2p_region .align 2 @@ -14759,71 +14767,71 @@ log2phys: stmfd sp!, {r3, r4, r5, r6, r7, r8, sl, lr} .save {r3, r4, r5, r6, r7, r8, sl, lr} mov r8, r2 - ldr r3, .L1703 - mov r2, #3920 + ldr r3, .L1704 + movw r2, #3924 mov r4, r1 ldrh r7, [r3, r2] mvn r2, #0 add r7, r7, #7 mov r6, r0, lsr r7 bic r7, r0, r2, asl r7 - movw r2, #3950 + movw r2, #3954 ldrh r2, [r3, r2] uxth r6, r6 - ldr r3, .L1703+4 + ldr r3, .L1704+4 uxth r7, r7 - ldr sl, [r3, #-1856] + ldr sl, [r3, #-1852] mov r3, #0 mov r5, r3 - b .L1695 -.L1701: + b .L1696 +.L1702: add r3, r3, #12 add r1, sl, r3 ldrh r1, [r1, #-12] cmp r1, r6 - bne .L1696 -.L1697: + bne .L1697 +.L1698: cmp r8, #0 - ldr r3, .L1703+4 + ldr r3, .L1704+4 mov r2, #12 - bne .L1698 - ldr r3, [r3, #-1856] + bne .L1699 + ldr r3, [r3, #-1852] mla r2, r2, r5, r3 ldr r3, [r2, #8] ldr r3, [r3, r7, asl #2] str r3, [r4, #0] - b .L1699 -.L1698: + b .L1700 +.L1699: mul r2, r2, r5 - ldr r1, [r3, #-1856] + ldr r1, [r3, #-1852] ldr r0, [r4, #0] add r1, r1, r2 ldr r1, [r1, #8] str r0, [r1, r7, asl #2] - ldr r1, [r3, #-1856] + ldr r1, [r3, #-1852] add r2, r1, r2 ldr r1, [r2, #4] orr r1, r1, #-2147483648 str r1, [r2, #4] - ldr r2, .L1703+8 + ldr r2, .L1704+8 strh r6, [r3, r2] @ movhi -.L1699: - ldr r3, .L1703+4 +.L1700: + ldr r3, .L1704+4 mov r2, #12 mov r0, #0 - ldr r3, [r3, #-1856] + ldr r3, [r3, #-1852] mla r5, r2, r5, r3 ldr r3, [r5, #4] cmn r3, #1 addne r3, r3, #1 strne r3, [r5, #4] ldmfd sp!, {r3, r4, r5, r6, r7, r8, sl, pc} -.L1696: +.L1697: add r5, r5, #1 uxth r5, r5 -.L1695: +.L1696: cmp r5, r2 - bne .L1701 + bne .L1702 bl select_l2p_ram_region mov r3, #12 mul r3, r3, r0 @@ -14832,22 +14840,22 @@ log2phys: ldrh r1, [sl, r3] movw r3, #65535 cmp r1, r3 - beq .L1702 + beq .L1703 ldr r3, [r2, #4] cmp r3, #0 - bge .L1702 + bge .L1703 bl flush_l2p_region -.L1702: +.L1703: mov r0, r6 mov r1, r5 bl ftl_load_l2p_region - b .L1697 -.L1704: + b .L1698 +.L1705: .align 2 -.L1703: +.L1704: .word .LANCHOR0 .word .LANCHOR2 - .word -1852 + .word -1848 .fnend .size log2phys, .-log2phys .align 2 @@ -14863,69 +14871,69 @@ FtlReUsePrevPpa: ubfx r0, r1, #10, #16 str r1, [sp, #4] bl P2V_block_in_plane - ldr r3, .L1711 - ldr r1, [r3, #-2020] + ldr r3, .L1712 + ldr r1, [r3, #-2016] mov r5, r0, asl #1 ldrh r2, [r1, r5] cmp r2, #0 addne r2, r2, #1 strneh r2, [r1, r5] @ movhi - bne .L1707 - ldr r4, [r3, #-2008] + bne .L1708 + ldr r4, [r3, #-2004] cmp r4, #0 - beq .L1707 - ldr r1, .L1711+4 + beq .L1708 + ldr r1, .L1712+4 mov ip, #6 ldrh lr, [r3, r1] - ldr r3, [r3, #-2028] - ldr r1, .L1711+8 + ldr r3, [r3, #-2024] + ldr r1, .L1712+8 rsb r4, r3, r4 mov r4, r4, asr #1 mul r4, r1, r4 movw r1, #65535 uxth r4, r4 - b .L1708 -.L1710: + b .L1709 +.L1711: cmp r4, r0 - bne .L1709 + bne .L1710 mov r1, r4 - ldr r0, .L1711+12 + ldr r0, .L1712+12 bl List_remove_node - ldr r6, .L1711 - ldr r3, .L1711+4 + ldr r6, .L1712 + ldr r3, .L1712+4 mov r0, r4 ldrh r2, [r6, r3] sub r2, r2, #1 strh r2, [r6, r3] @ movhi bl INSERT_DATA_LIST - ldr r3, [r6, #-2020] + ldr r3, [r6, #-2016] ldrh r2, [r3, r5] add r2, r2, #1 strh r2, [r3, r5] @ movhi - b .L1707 -.L1709: + b .L1708 +.L1710: mul r4, ip, r4 ldrh r4, [r3, r4] cmp r4, r1 - beq .L1707 + beq .L1708 add r2, r2, #1 uxth r2, r2 -.L1708: +.L1709: cmp r2, lr - bne .L1710 -.L1707: + bne .L1711 +.L1708: mov r0, r7 add r1, sp, #4 mov r2, #1 bl log2phys ldmfd sp!, {r1, r2, r3, r4, r5, r6, r7, pc} -.L1712: +.L1713: .align 2 -.L1711: +.L1712: .word .LANCHOR2 - .word -2004 + .word -2000 .word -1431655765 - .word .LANCHOR2-2008 + .word .LANCHOR2-2004 .fnend .size FtlReUsePrevPpa, .-FtlReUsePrevPpa .align 2 @@ -14938,27 +14946,27 @@ FtlReadRefresh.part.15: .save {r4, r5, r6, lr} .pad #40 sub sp, sp, #40 - ldr r4, .L1721 - ldr r6, .L1721+4 - ldr r2, [r4, #-1628] - ldr r3, [r6, #3972] + ldr r4, .L1722 + ldr r6, .L1722+4 + ldr r2, [r4, #-1624] + ldr r3, [r6, #3976] cmp r2, r3 - bcs .L1714 + bcs .L1715 mov r5, #2048 -.L1717: - ldr r0, [r4, #-1628] - ldr r3, [r6, #3972] +.L1718: + ldr r0, [r4, #-1624] + ldr r3, [r6, #3976] cmp r0, r3 - bcs .L1719 + bcs .L1720 mov r1, sp mov r2, #0 bl log2phys ldr r0, [sp, #0] - ldr r3, [r4, #-1628] + ldr r3, [r4, #-1624] cmn r0, #1 add r3, r3, #1 - str r3, [r4, #-1628] - beq .L1716 + str r3, [r4, #-1624] + beq .L1717 str r0, [sp, #8] add r0, sp, #40 mov r2, #0 @@ -14970,31 +14978,31 @@ FtlReadRefresh.part.15: bl FlashReadPages ldr r3, [sp, #4] cmp r3, #256 - bne .L1719 + bne .L1720 ldr r0, [sp, #0] ubfx r0, r0, #10, #16 bl P2V_block_in_plane bl FtlGcRefreshBlock - b .L1719 -.L1716: + b .L1720 +.L1717: subs r5, r5, #1 - bne .L1717 - b .L1715 -.L1714: - ldr r3, [r4, #-1840] - mov r0, #0 - str r0, [r4, #-1632] - str r0, [r4, #-1628] - str r3, [r4, #-1636] - b .L1715 -.L1719: - mvn r0, #0 + bne .L1718 + b .L1716 .L1715: + ldr r3, [r4, #-1836] + mov r0, #0 + str r0, [r4, #-1628] + str r0, [r4, #-1624] + str r3, [r4, #-1632] + b .L1716 +.L1720: + mvn r0, #0 +.L1716: add sp, sp, #40 ldmfd sp!, {r4, r5, r6, pc} -.L1722: +.L1723: .align 2 -.L1721: +.L1722: .word .LANCHOR2 .word .LANCHOR0 .fnend @@ -15007,46 +15015,46 @@ FtlReadRefresh: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L1730 - ldr r2, [r3, #-1632] + ldr r3, .L1731 + ldr r2, [r3, #-1628] cmp r2, #0 - beq .L1724 + beq .L1725 b FtlReadRefresh.part.15 -.L1724: - ldr r2, .L1730+4 - ldr r0, [r3, #-1788] - ldr r1, [r2, #3836] +.L1725: + ldr r2, .L1731+4 + ldr r0, [r3, #-1784] + ldr r1, [r2, #3840] ldrb r2, [r2, #928] @ zero_extendqisi2 cmp r2, #0 - ldr r2, [r3, #-1840] + ldr r2, [r3, #-1836] addeq r0, r1, r0, lsr #10 moveq r1, #33554432 movne r0, #4194304 moveq r0, r1, asr r0 - ldr r1, [r3, #-1636] + ldr r1, [r3, #-1632] add r3, r2, #1048576 cmp r1, r3 - bhi .L1726 + bhi .L1727 add r1, r0, r1 cmp r1, r2 - bcc .L1726 - ldr r3, .L1730 - ldrb r3, [r3, #-2048] @ zero_extendqisi2 + bcc .L1727 + ldr r3, .L1731 + ldrb r3, [r3, #-2044] @ zero_extendqisi2 cmp r3, #0 - bne .L1727 -.L1726: - ldr r3, .L1730 - mov r1, #1 - str r2, [r3, #-1636] - str r1, [r3, #-1632] - mov r1, #0 - str r1, [r3, #-1628] + bne .L1728 .L1727: + ldr r3, .L1731 + mov r1, #1 + str r2, [r3, #-1632] + str r1, [r3, #-1628] + mov r1, #0 + str r1, [r3, #-1624] +.L1728: mov r0, #0 bx lr -.L1731: +.L1732: .align 2 -.L1730: +.L1731: .word .LANCHOR2 .word .LANCHOR0 .fnend @@ -15075,14 +15083,14 @@ FtlMapTblRecovery: mov r0, fp str r3, [sp, #16] bl ftl_memset - ldr r3, .L1767 + ldr r3, .L1768 mov sl, r7 str r9, [r4, #32] str r9, [r4, #28] - ldr r2, [r3, #-964] - ldr r5, [r3, #-940] - str r2, [r3, #184] - str r5, [r3, #188] + ldr r2, [r3, #-960] + ldr r5, [r3, #-936] + str r2, [r3, #188] + str r5, [r3, #192] mvn r3, #0 strh r3, [r4, #0] @ movhi strh r3, [r4, #2] @ movhi @@ -15091,13 +15099,13 @@ FtlMapTblRecovery: ldr r3, [sp, #16] sub r3, r3, #1 str r3, [sp, #20] - ldr r3, .L1767+4 - b .L1733 -.L1747: + ldr r3, .L1768+4 + b .L1734 +.L1748: ldr r0, [sp, #20] cmp r2, r0 mov r2, r2, asl #1 - bne .L1734 + bne .L1735 ldrh r0, [sl, r2] mov r1, #1 add r3, sl, r2 @@ -15108,7 +15116,7 @@ FtlMapTblRecovery: mov r7, sl strh r9, [r4, #0] @ movhi mov sl, #0 - ldr r6, .L1767 + ldr r6, .L1768 uxth r0, r0 add r3, r0, #1 strh r3, [r4, #2] @ movhi @@ -15116,70 +15124,70 @@ FtlMapTblRecovery: sxth r9, r0 add r9, r9, #1 str r3, [r4, #28] - b .L1735 -.L1738: + b .L1736 +.L1739: ldr r0, [sp, #16] mov r1, #1 ldrh r2, [r0, #0] - ldr r0, .L1767+8 + ldr r0, .L1768+8 orr r3, r3, r2, asl #10 mov r2, r1 - str r3, [r6, #180] + str r3, [r6, #184] bl FlashReadPages - ldr r3, [r6, #176] + ldr r3, [r6, #180] cmn r3, #1 ldreq r1, [sp, #16] ldreqh r3, [r1, #0] streqh r3, [r4, #40] @ movhi - beq .L1737 + beq .L1738 ldrh r3, [r5, #8] cmp r3, r8 - bcs .L1737 + bcs .L1738 ldrh r2, [r4, #4] ldrh r1, [r5, #0] cmp r1, r2 - ldreq r2, [r6, #180] + ldreq r2, [r6, #184] streq r2, [fp, r3, asl #2] -.L1737: +.L1738: add sl, sl, #1 uxth sl, sl -.L1735: +.L1736: sxth r3, sl cmp r3, r9 - blt .L1738 - b .L1739 -.L1734: - ldr r6, .L1767 - movw r7, #3914 + blt .L1739 + b .L1740 +.L1735: + ldr r6, .L1768 + movw r7, #3918 add r0, sl, r2 str r0, [sp, #28] - add r0, r6, #176 - ldr r1, [r6, #-964] - str r1, [r6, #184] + add r0, r6, #180 + ldr r1, [r6, #-960] + str r1, [r6, #188] ldrh r1, [sl, r2] ldrh r2, [r3, r7] sub r2, r2, #1 orr r2, r2, r1, asl #10 mov r1, #1 - str r2, [r6, #180] + str r2, [r6, #184] mov r2, r1 str r3, [sp, #12] bl FlashReadPages - ldr r2, [r6, #176] + ldr r2, [r6, #180] ldr r3, [sp, #12] cmn r2, #1 - beq .L1760 + beq .L1761 ldrh r1, [r5, #0] ldrh r2, [r4, #4] cmp r1, r2 - bne .L1760 + bne .L1761 ldrh r1, [r5, #8] movw r2, #64245 cmp r1, r2 - bne .L1760 - b .L1761 -.L1743: - ldr r0, [r6, #-964] + bne .L1761 + b .L1762 +.L1744: + ldr r0, [r6, #-960] mov ip, r1, asl #3 add r2, r2, #1 ldr r1, [r0, r1, asl #3] @@ -15189,179 +15197,177 @@ FtlMapTblRecovery: addcc r0, r0, ip ldrcc r0, [r0, #4] strcc r0, [fp, r1, asl #2] - b .L1741 -.L1761: + b .L1742 +.L1762: mov r2, #0 -.L1741: +.L1742: ldrh r0, [r3, r7] sxth r1, r2 sub r0, r0, #1 cmp r1, r0 - blt .L1743 - b .L1744 -.L1746: + blt .L1744 + b .L1745 +.L1747: ldr r0, [sp, #28] ldrh r1, [r0, #0] - ldr r0, .L1767+8 + ldr r0, .L1768+8 orr r2, r2, r1, asl #10 mov r1, #1 - str r2, [r7, #180] + str r2, [r7, #184] mov r2, r1 str r3, [sp, #12] bl FlashReadPages - ldr r2, [r7, #176] + ldr r2, [r7, #180] ldr r3, [sp, #12] cmn r2, #1 - beq .L1745 + beq .L1746 ldrh r2, [r5, #8] cmp r2, r8 - bcs .L1745 + bcs .L1746 ldrh r1, [r4, #4] ldrh r0, [r5, #0] cmp r0, r1 - ldreq r1, [r7, #180] + ldreq r1, [r7, #184] streq r1, [fp, r2, asl #2] -.L1745: +.L1746: add r6, r6, #1 uxth r6, r6 - b .L1763 -.L1760: - ldr r7, .L1767 + b .L1764 +.L1761: + ldr r7, .L1768 mov r6, #0 -.L1763: - movw r1, #3914 +.L1764: + movw r1, #3918 sxth r2, r6 ldrh r1, [r3, r1] cmp r2, r1 - blt .L1746 -.L1744: + blt .L1747 +.L1745: add r9, r9, #1 uxth r9, r9 -.L1733: +.L1734: ldr r1, [sp, #16] sxth r2, r9 cmp r2, r1 - blt .L1747 + blt .L1748 mov r7, sl -.L1739: - ldr r3, .L1767+12 +.L1740: + ldr r3, .L1768+12 cmp r4, r3 - bne .L1748 - ldr r9, .L1767+4 - movw r3, #3956 + bne .L1749 + ldr r9, .L1768+4 + movw r3, #3960 ldrh r3, [r9, r3] cmp r3, #0 - bne .L1762 - b .L1748 -.L1756: - ldr r3, [r5, #-904] + addne r5, r4, #1088 + movne r8, #0 + movne sl, r4 + bne .L1750 + b .L1749 +.L1757: + ldr r3, [r5, #-900] mov r4, r8, asl #2 ldr r2, [r3, r8, asl #2] sub r1, r2, #1 cmn r1, #3 - bhi .L1750 - ldr r1, [r5, #-1036] + bhi .L1751 + ldr r1, [r5, #-1032] ldr r1, [r1, r8, asl #2] cmp r2, r1 - beq .L1750 - ldr r2, [r5, #-964] + beq .L1751 + ldr r2, [r5, #-960] mov r1, #1 - ldr r6, [r5, #-940] - ldr r0, .L1767+8 - str r2, [r5, #184] + ldr r6, [r5, #-936] + ldr r0, .L1768+8 + str r2, [r5, #188] mov r2, r1 - str r6, [r5, #188] + str r6, [r5, #192] ldr r3, [r3, r4] - str r3, [r5, #180] + str r3, [r5, #184] bl FlashReadPages - ldr r3, [r5, #176] + ldr r3, [r5, #180] cmn r3, #1 - beq .L1750 - ldr r3, .L1767+16 + beq .L1751 + ldr r0, .L1768+16 ldrh r2, [r6, #0] - ldrh r3, [r5, r3] + ldrh r3, [r5, r0] cmp r2, r3 - bne .L1750 - ldr r3, [r5, #-1036] + bne .L1751 + ldr r3, [r5, #-1032] ldr fp, [r6, #4] ldr r2, [r3, r4] - str r2, [r5, #180] + str r2, [r5, #184] ldr r3, [r3, r4] cmp r3, #0 streq r3, [r6, #4] - beq .L1752 + beq .L1753 mov r1, #1 - ldr r0, .L1767+8 + ldr r0, .L1768+8 mov r2, r1 bl FlashReadPages -.L1752: +.L1753: ldr r1, [r6, #4] cmp fp, r1 - bls .L1750 - ldr r2, [r5, #-904] - ldr r3, [r5, #-1036] - ldr r0, .L1767+20 + bls .L1751 + ldr r2, [r5, #-900] + ldr r3, [r5, #-1032] + ldr r0, .L1768+20 str r1, [sp, #0] ldr r1, [r2, r4] ldr r2, [r3, r4] mov r3, fp bl printk - ldr r3, [r5, #-904] + ldr r3, [r5, #-900] ldr r2, [r3, r4] - ldr r3, [r5, #-1036] + ldr r3, [r5, #-1032] str r2, [r3, r4] mov r2, #0 - ldr r3, [r5, #-904] + ldr r3, [r5, #-900] ldr r0, [r3, r4] - ldr r3, .L1767+24 + ldr r3, .L1768+24 ubfx r0, r0, #10, #16 ldrh r3, [r5, r3] - b .L1753 -.L1754: + b .L1754 +.L1755: mov r1, r1, asl #1 ldrh r1, [r7, r1] cmp r1, r0 - beq .L1750 + beq .L1751 add r2, r2, #1 uxth r2, r2 -.L1753: +.L1754: sxth r1, r2 cmp r1, r3 - blt .L1754 - b .L1765 -.L1766: + blt .L1755 + b .L1766 +.L1767: mov r3, r3, asl #1 strh r0, [r7, r3] @ movhi - ldr r3, .L1767+24 + ldr r3, .L1768+24 ldrh r2, [r5, r3] add r2, r2, #1 strh r2, [r5, r3] @ movhi bl remove_from_free_sys_Queue -.L1750: +.L1751: add r8, r8, #1 - b .L1749 -.L1762: - ldr r5, .L1767 - mov r8, #0 - mov sl, r4 -.L1749: - movw r2, #3948 - ldrh r3, [r9, r2] +.L1750: + mov r3, #3952 + ldrh r3, [r9, r3] cmp r8, r3 - bcc .L1756 + bcc .L1757 mov r4, sl -.L1748: +.L1749: mov r0, r4 bl ftl_free_no_use_map_blk - ldr r1, .L1767+4 - movw r3, #3914 + ldr r1, .L1768+4 + movw r3, #3918 ldrh r2, [r4, #2] ldrh r3, [r1, r3] cmp r2, r3 - bne .L1757 + bne .L1758 mov r0, r4 bl ftl_map_blk_alloc_new_blk -.L1757: +.L1758: mov r0, r4 bl ftl_map_blk_gc mov r0, r4 @@ -15369,21 +15375,21 @@ FtlMapTblRecovery: mov r0, #0 add sp, sp, #36 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1765: - ldr r2, [r9, #3940] +.L1766: + ldr r2, [r9, #3944] cmp r3, r2 - bcs .L1750 - b .L1766 -.L1768: + bcs .L1751 + b .L1767 +.L1769: .align 2 -.L1767: +.L1768: .word .LANCHOR2 .word .LANCHOR0 - .word .LANCHOR2+176 - .word .LANCHOR2-1092 - .word -1088 + .word .LANCHOR2+180 + .word .LANCHOR2-1088 + .word -1084 .word .LC124 - .word -1048 + .word -1044 .fnend .size FtlMapTblRecovery, .-FtlMapTblRecovery .align 2 @@ -15396,14 +15402,14 @@ FtlLoadMapInfo: stmfd sp!, {r3, lr} .save {r3, lr} bl FtlL2PDataInit - ldr r0, .L1770 + ldr r0, .L1771 bl FtlMapTblRecovery mov r0, #0 ldmfd sp!, {r3, pc} -.L1771: +.L1772: .align 2 -.L1770: - .word .LANCHOR2-1092 +.L1771: + .word .LANCHOR2-1088 .fnend .size FtlLoadMapInfo, .-FtlLoadMapInfo .align 2 @@ -15415,37 +15421,39 @@ FtlLoadVonderInfo: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r3, lr} .save {r3, lr} - movw r2, #3932 - ldr r3, .L1773 - ldr r0, .L1773+4 - ldrh r2, [r3, r2] - strh r2, [r0, #254] @ movhi - ldr r2, .L1773+8 - strh r2, [r0, #248] @ movhi - movw r2, #3958 - ldrh r2, [r3, r2] + mov r2, #3936 + ldr r3, .L1774 + ldr r0, .L1774+4 + ldrh r1, [r3, r2] + movw r2, #258 + strh r1, [r0, r2] @ movhi + ldr r2, .L1774+8 strh r2, [r0, #252] @ movhi - movw r2, #3934 + movw r2, #3962 + ldrh r1, [r3, r2] + mov r2, #256 + strh r1, [r0, r2] @ movhi + movw r2, #3938 ldrh r2, [r3, r2] - ldr r3, [r3, #3960] - strh r2, [r0, #250] @ movhi + ldr r3, [r3, #3964] + strh r2, [r0, #254] @ movhi mvn r2, #0 - str r3, [r0, #256] - ldr r3, [r0, #-912] str r3, [r0, #260] - ldr r3, [r0, #-916] - str r3, [r0, #264] ldr r3, [r0, #-908] + str r3, [r0, #264] + ldr r3, [r0, #-912] str r3, [r0, #268] - mov r3, #284 + ldr r3, [r0, #-904] + str r3, [r0, #272] + mov r3, #288 strh r2, [r0, r3] @ movhi - add r0, r0, #244 + add r0, r0, #248 bl FtlMapTblRecovery mov r0, #0 ldmfd sp!, {r3, pc} -.L1774: +.L1775: .align 2 -.L1773: +.L1774: .word .LANCHOR0 .word .LANCHOR2 .word -3962 @@ -15466,12 +15474,12 @@ FtlRecoverySuperblock: sub sp, sp, #60 mov r4, r0 cmp r3, r2 - beq .L1776 + beq .L1777 ldrh r3, [r0, #2] - ldr r1, .L1865 + ldr r1, .L1866 ldrb fp, [r0, #6] @ zero_extendqisi2 str r3, [sp, #12] - movw r3, #3912 + movw r3, #3916 ldrh r3, [r1, r3] ldr ip, [sp, #12] str fp, [sp, #24] @@ -15480,65 +15488,65 @@ FtlRecoverySuperblock: streqh r3, [r0, #4] @ movhi moveq r2, r3 @ movhi ldrneh r0, [r0, #16] - bne .L1778 - b .L1862 -.L1779: + bne .L1779 + b .L1863 +.L1780: add r3, r3, #1 uxth r3, r3 add r1, r4, r3, asl #1 ldrh r0, [r1, #16] -.L1778: +.L1779: cmp r0, r2 - beq .L1779 + beq .L1780 ldrb r1, [r4, #8] @ zero_extendqisi2 cmp r1, #1 - bne .L1780 + bne .L1781 bl FtlGetLastWrittenPage cmn r0, #1 mov r7, r0 - beq .L1781 - ldr r3, .L1865 + beq .L1782 + ldr r3, .L1866 ldrb r2, [r3, #928] @ zero_extendqisi2 cmp r2, #0 - bne .L1855 + bne .L1856 add r3, r3, r0, asl #1 movw r2, #3076 ldrh r8, [r3, r2] - b .L1847 -.L1780: + b .L1848 +.L1781: mov r1, #0 bl FtlGetLastWrittenPage cmn r0, #1 mov r7, r0 - beq .L1781 -.L1855: + beq .L1782 +.L1856: mov r8, r7 -.L1847: - ldr r3, .L1865 - movw r2, #3844 +.L1848: + ldr r3, .L1866 + movw r2, #3848 mov r5, #0 str r4, [sp, #32] movw ip, #65535 ldrh r9, [r3, r2] - ldr r2, .L1865+4 - ldr sl, [r2, #-976] - ldr r6, [r2, #-1172] - movw r2, #3924 + ldr r2, .L1866+4 + ldr sl, [r2, #-972] + ldr r6, [r2, #-1168] + movw r2, #3928 ldrh lr, [r3, r2] mov r2, r4 mov r3, r5 - b .L1783 -.L1781: + b .L1784 +.L1782: mov r3, #0 strh r3, [r4, #2] @ movhi mov r2, r3 @ movhi -.L1862: +.L1863: strb r2, [r4, #6] - b .L1776 -.L1785: + b .L1777 +.L1786: ldrh r0, [r2, #16] cmp r0, ip - beq .L1784 + beq .L1785 mov fp, #36 orr r0, r8, r0, asl #10 mla r1, fp, r5, sl @@ -15554,100 +15562,100 @@ FtlRecoverySuperblock: bic r0, r0, #3 add r0, r6, r0 str r0, [r1, #12] -.L1784: +.L1785: add r3, r3, #1 add r2, r2, #2 uxth r3, r3 -.L1783: +.L1784: cmp r3, r9 - bne .L1785 + bne .L1786 ldrb r3, [r4, #8] @ zero_extendqisi2 cmp r3, #1 movne r3, #0 - bne .L1856 - ldr r3, .L1865 + bne .L1857 + ldr r3, .L1866 ldrb r3, [r3, #928] @ zero_extendqisi2 adds r3, r3, #0 movne r3, #1 -.L1856: - ldr r6, .L1865+4 +.L1857: + ldr r6, .L1866+4 mov r1, r5 str r3, [sp, #20] mov sl, #0 ldr r2, [sp, #20] - ldr r0, [r6, #-976] + ldr r0, [r6, #-972] bl FlashReadPages - ldr fp, [r6, #-1804] + ldr fp, [r6, #-1800] movw ip, #65535 str ip, [sp, #4] str fp, [sp, #8] - b .L1787 -.L1792: + b .L1788 +.L1793: mov lr, #36 - ldr r1, [r6, #-976] + ldr r1, [r6, #-972] mul r2, lr, sl add r3, r1, r2 ldr r2, [r1, r2] cmp r2, #0 - bne .L1788 + bne .L1789 ldr r3, [r3, #12] ldr fp, [r3, #4] cmn fp, #1 - beq .L1789 - ldr r1, [r6, #-1804] + beq .L1790 + ldr r1, [r6, #-1800] mov r0, fp str r3, [sp, #0] bl ftl_cmp_data_ver ldr r3, [sp, #0] cmp r0, #0 addne fp, fp, #1 - strne fp, [r6, #-1804] -.L1789: + strne fp, [r6, #-1800] +.L1790: ldr r3, [r3, #0] cmn r3, #1 - bne .L1791 - b .L1790 -.L1788: + bne .L1792 + b .L1791 +.L1789: ldr r1, [r3, #4] - movw fp, #290 - ldr r0, .L1865+8 + movw fp, #294 + ldr r0, .L1866+8 bl printk ldrh r3, [r4, #0] uxth r2, r8 str r2, [sp, #4] strh r3, [r6, fp] @ movhi -.L1791: +.L1792: add sl, sl, #1 -.L1787: +.L1788: uxth r9, sl cmp r9, r5 - bcc .L1792 -.L1790: - ldr r3, .L1865+4 + bcc .L1793 +.L1791: + ldr r3, .L1866+4 cmp r9, r5 addeq r7, r7, #1 uxthne r7, r7 movne r2, #36 - ldrne r3, [r3, #-976] + ldrne r3, [r3, #-972] uxtheq r7, r7 - ldreq r3, [r3, #-976] + ldreq r3, [r3, #-972] mlane r9, r2, r9, r3 ldreq r0, [r3, #4] ldrne r0, [r9, #4] ubfx r0, r0, #10, #16 bl P2V_plane ldrb r2, [r4, #8] @ zero_extendqisi2 - ldr r3, .L1865 + ldr r3, .L1866 cmp r2, #1 str r0, [sp, #16] - bne .L1795 + bne .L1796 ldrb r1, [r3, #928] @ zero_extendqisi2 cmp r1, #0 addeq r7, r3, r7, asl #1 movweq r1, #3076 ldreqh r7, [r7, r1] -.L1795: - movw r1, #3912 +.L1796: + movw r1, #3916 ldr ip, [sp, #12] ldrh r3, [r3, r1] ldr fp, [sp, #24] @@ -15659,28 +15667,28 @@ FtlRecoverySuperblock: ldr r3, [sp, #16] cmp r7, ip cmpeq r3, fp - beq .L1863 -.L1797: + beq .L1864 +.L1798: ldr fp, [sp, #4] movw r3, #65535 ldr ip, [sp, #8] cmp fp, r3 sub r6, ip, #1 - bne .L1798 - cmp r2, #0 bne .L1799 -.L1798: - ldr r2, .L1865+4 + cmp r2, #0 + bne .L1800 +.L1799: + ldr r2, .L1866+4 uxth r3, r8 ldr ip, [sp, #12] mvn fp, #0 mov sl, r3 mov r9, fp - ldr r1, [r2, #-1012] - ldr r8, .L1865+4 + ldr r1, [r2, #-1008] + ldr r8, .L1866+4 cmn r1, #1 - streq r6, [r2, #-1012] - ldr r2, [r2, #-1012] + streq r6, [r2, #-1008] + ldr r2, [r2, #-1008] str r2, [sp, #4] add r2, ip, #7 cmp r3, r2 @@ -15689,12 +15697,12 @@ FtlRecoverySuperblock: ldrle r5, [sp, #12] mov r7, r6 uxthgt r5, r5 - b .L1802 -.L1804: + b .L1803 +.L1805: ldrh r0, [r1, #16] movw lr, #65535 cmp r0, lr - beq .L1803 + beq .L1804 ldr ip, [sp, #8] mov r3, #36 orr r0, r5, r0, asl #10 @@ -15702,114 +15710,114 @@ FtlRecoverySuperblock: add r6, r6, #1 uxth r6, r6 str r0, [lr, #4] -.L1803: +.L1804: add r2, r2, #1 add r1, r1, #2 uxth r2, r2 -.L1815: +.L1816: ldr lr, [sp, #36] cmp r2, lr - bne .L1804 + bne .L1805 ldr r3, [sp, #28] mov r1, r6 - ldr r0, [r8, #-976] + ldr r0, [r8, #-972] ldr r2, [sp, #20] str r3, [sp, #0] bl FlashReadPages - ldr r2, .L1865 + ldr r2, .L1866 add r0, r8, r5, asl #1 mov r1, #0 str r0, [sp, #8] ldr r3, [sp, #0] ldrb ip, [r2, #928] @ zero_extendqisi2 - ldr r2, [r8, #-976] + ldr r2, [r8, #-972] str ip, [sp, #28] - b .L1805 -.L1813: + b .L1806 +.L1814: ldr r0, [r2, #0] cmp r0, #0 - bne .L1806 + bne .L1807 ldr r0, [r2, #12] movw ip, #65535 ldrh lr, [r0, #0] cmp lr, ip - beq .L1807 + beq .L1808 ldr r0, [r0, #4] cmn r0, #1 - beq .L1807 + beq .L1808 cmn fp, #1 - ldr r9, [r8, #-1012] - str r0, [r8, #-1012] - bne .L1807 + ldr r9, [r8, #-1008] + str r0, [r8, #-1008] + bne .L1808 ldr lr, [sp, #8] - sub r0, lr, #896 + sub r0, lr, #892 ldrh r0, [r0, #0] cmp r0, ip - bne .L1808 + bne .L1809 ldr r0, [sp, #28] cmp r0, #0 - beq .L1807 -.L1808: + beq .L1808 +.L1809: cmp r9, r7 mvneq fp, #0 movne fp, r9 - b .L1807 -.L1806: + b .L1808 +.L1807: mov r6, r7 ldrh r1, [r4, #0] mov r7, r3 - ldr r3, .L1865+4 - movw r2, #290 + ldr r3, .L1866+4 + movw r2, #294 strh r1, [r3, r2] @ movhi ldrb r2, [r4, #8] @ zero_extendqisi2 cmp r2, #0 - bne .L1799 + bne .L1800 add r5, r3, r5, asl #1 movw r2, #65535 - sub r5, r5, #896 + sub r5, r5, #892 ldrh r1, [r5, #0] cmp r1, r2 - bne .L1809 + bne .L1810 cmn fp, #1 - bne .L1858 -.L1810: + bne .L1859 +.L1811: ldr fp, [sp, #4] cmp fp, r6 - beq .L1811 -.L1858: - str fp, [r3, #-1012] - b .L1799 -.L1811: - ldr r2, [r3, #-1012] - b .L1864 -.L1809: - cmp r9, r6 beq .L1812 - cmn r9, #1 - strne r9, [r3, #-1012] - b .L1799 +.L1859: + str fp, [r3, #-1008] + b .L1800 .L1812: - ldr r2, [r3, #-1012] + ldr r2, [r3, #-1008] + b .L1865 +.L1810: + cmp r9, r6 + beq .L1813 + cmn r9, #1 + strne r9, [r3, #-1008] + b .L1800 +.L1813: + ldr r2, [r3, #-1008] cmp r2, r6 - beq .L1799 -.L1864: + beq .L1800 +.L1865: sub r2, r2, #1 - b .L1859 -.L1807: + b .L1860 +.L1808: add r1, r1, #1 add r2, r2, #36 uxth r1, r1 -.L1805: +.L1806: cmp r1, r6 - bne .L1813 + bne .L1814 add r5, r5, #1 uxth r5, r5 -.L1802: +.L1803: cmp r5, sl - bhi .L1814 - ldr r1, .L1865 - movw r2, #3844 - ldr lr, [r8, #-976] + bhi .L1815 + ldr r1, .L1866 + movw r2, #3848 + ldr lr, [r8, #-972] mov r6, #0 str r3, [sp, #28] ldrh ip, [r1, r2] @@ -15817,69 +15825,69 @@ FtlRecoverySuperblock: str lr, [sp, #8] mov r2, r6 str ip, [sp, #36] - b .L1815 -.L1814: + b .L1816 +.L1815: mov r6, r7 mov r7, r3 - ldr r3, .L1865+4 + ldr r3, .L1866+4 mvn r2, #0 -.L1859: - str r2, [r3, #-1012] -.L1799: - ldr r5, .L1865+4 - mov r3, #292 +.L1860: + str r2, [r3, #-1008] +.L1800: + ldr r5, .L1866+4 + mov r3, #296 mov r2, #1 - ldr r0, .L1865+12 + sub r0, r5, #1088 strh r2, [r5, r3] @ movhi bl FtlMapBlkWriteDumpData ldr r8, [sp, #12] str r7, [sp, #8] -.L1816: - ldr r3, .L1865 - movw r2, #3844 +.L1817: + ldr r3, .L1866 + movw r2, #3848 mov r7, #0 - ldr lr, [r5, #-976] + ldr lr, [r5, #-972] mov fp, #36 ldrh sl, [r3, r2] mov r2, r4 ldrb ip, [r3, #928] @ zero_extendqisi2 mov r3, r7 - b .L1817 -.L1820: + b .L1818 +.L1821: ldrh r0, [r2, #16] movw r1, #65535 cmp r0, r1 - beq .L1818 + beq .L1819 mla r1, fp, r7, lr orr r0, r8, r0, asl #10 str r0, [r1, #4] ldrb r9, [r4, #8] @ zero_extendqisi2 cmp r9, #1 - bne .L1819 + bne .L1820 cmp ip, #0 orrne r0, r0, #-2147483648 strne r0, [r1, #4] -.L1819: +.L1820: add r7, r7, #1 uxth r7, r7 -.L1818: +.L1819: add r3, r3, #1 add r2, r2, #2 uxth r3, r3 -.L1817: +.L1818: cmp r3, sl - bne .L1820 + bne .L1821 mov r1, r7 - ldr r0, [r5, #-976] + ldr r0, [r5, #-972] ldr r2, [sp, #20] bl FlashReadPages mov r3, #36 mul r3, r3, r7 mov r7, #0 str r3, [sp, #36] - b .L1821 -.L1842: - ldr r9, [r5, #-976] + b .L1822 +.L1843: + ldr r9, [r5, #-972] add r9, r9, r7 ldr sl, [r9, #4] ubfx r0, sl, #10, #16 @@ -15887,7 +15895,7 @@ FtlRecoverySuperblock: bl P2V_plane ldr r3, [sp, #12] cmp r8, r3 - bcc .L1822 + bcc .L1823 ldr fp, [sp, #24] mov ip, r3 cmp r0, fp @@ -15896,31 +15904,31 @@ FtlRecoverySuperblock: cmp r8, ip movne r3, #0 cmp r3, #0 - bne .L1822 + bne .L1823 ldr r3, [sp, #16] ldr ip, [sp, #8] cmp r0, r3 cmpeq r8, ip - beq .L1854 + beq .L1855 ldr r3, [r9, #0] cmn r3, #1 - beq .L1824 + beq .L1825 ldr sl, [r9, #12] movw r3, #61589 ldrh r2, [sl, #0] cmp r2, r3 - bne .L1831 -.L1825: + bne .L1832 +.L1826: ldr r6, [sl, #4] cmn r6, #1 - beq .L1826 - ldr r1, [r5, #-1804] + beq .L1827 + ldr r1, [r5, #-1800] mov r0, r6 bl ftl_cmp_data_ver cmp r0, #0 addne r3, r6, #1 - strne r3, [r5, #-1804] -.L1826: + strne r3, [r5, #-1800] +.L1827: ldr r9, [sl, #8] add r1, sp, #48 ldr r3, [sl, #12] @@ -15928,17 +15936,17 @@ FtlRecoverySuperblock: mov r0, r9 str r3, [sp, #44] bl log2phys - ldr r1, [r5, #-1012] + ldr r1, [r5, #-1008] cmn r1, #1 - beq .L1827 + beq .L1828 mov r0, r6 bl ftl_cmp_data_ver cmp r0, #0 - beq .L1827 + beq .L1828 ldr r3, [sp, #44] cmn r3, #1 - beq .L1828 - ldr r0, [r5, #-976] + beq .L1829 + ldr r0, [r5, #-972] mov r1, #1 mov r2, #0 add r0, r0, r7 @@ -15946,47 +15954,47 @@ FtlRecoverySuperblock: str r3, [r0, #4] str fp, [sp, #4] bl FlashReadPages - ldr r3, [r5, #-976] + ldr r3, [r5, #-972] ldr ip, [fp, #4] add fp, r3, r7 ldr r3, [r3, r7] str ip, [sp, #28] cmn r3, #1 - bne .L1829 - b .L1830 -.L1828: + bne .L1830 + b .L1831 +.L1829: ldr r3, [sp, #52] ldr r2, [sp, #48] cmp r2, r3 - bne .L1831 + bne .L1832 mov r0, r9 add r1, sp, #44 mov r2, #1 bl log2phys -.L1831: +.L1832: ldrh r0, [r4, #0] - b .L1861 -.L1829: + b .L1862 +.L1830: ldr r3, [sp, #4] ldr sl, [r3, #8] cmp sl, r9 - bne .L1830 - ldr r0, [r5, #-1012] + bne .L1831 + ldr r0, [r5, #-1008] ldr r1, [sp, #28] bl ftl_cmp_data_ver cmp r0, #0 - beq .L1830 + beq .L1831 ldr r3, [sp, #48] ldr r2, [sp, #52] cmp r3, r2 - beq .L1835 -.L1832: + beq .L1836 +.L1833: ldr r2, [sp, #44] cmp r3, r2 - beq .L1830 + beq .L1831 cmn r3, #1 streq r3, [fp, #0] - beq .L1834 + beq .L1835 ldr ip, [fp, #12] mov r0, fp str r3, [fp, #4] @@ -15994,202 +16002,201 @@ FtlRecoverySuperblock: mov r2, #0 str ip, [sp, #4] bl FlashReadPages -.L1834: - ldr r3, [r5, #-976] +.L1835: + ldr r3, [r5, #-972] ldr r3, [r3, r7] cmn r3, #1 - beq .L1835 + beq .L1836 ldr r3, [sp, #4] - ldr r0, [r5, #-1012] + ldr r0, [r5, #-1008] ldr r9, [r3, #4] mov r1, r9 bl ftl_cmp_data_ver cmp r0, #0 - beq .L1835 + beq .L1836 ldr r0, [sp, #28] mov r1, r9 bl ftl_cmp_data_ver cmp r0, #0 - beq .L1830 -.L1835: + beq .L1831 +.L1836: mov r0, sl ldr r1, [sp, #44] bl FtlReUsePrevPpa -.L1830: +.L1831: ldrh r0, [r4, #0] mvn r3, #0 str r3, [sp, #44] bl decrement_vpc_count - b .L1837 -.L1827: + b .L1838 +.L1828: ldr r3, [sp, #52] ldr r2, [sp, #48] cmp r2, r3 - beq .L1837 + beq .L1838 mov r0, r9 add r1, sp, #52 mov r2, #1 bl log2phys ldr fp, [sp, #48] cmn fp, #1 - beq .L1837 + beq .L1838 ldr r3, [sp, #44] cmp fp, r3 - beq .L1837 + beq .L1838 ubfx r0, fp, #10, #16 bl P2V_block_in_plane - ldr r3, .L1865+16 + ldr r3, .L1866+12 ldrh r3, [r5, r3] cmp r3, r0 - beq .L1838 - ldr r3, .L1865+20 + beq .L1839 + ldr r3, .L1866+16 ldrh r3, [r5, r3] cmp r3, r0 - beq .L1838 - ldr r3, .L1865+24 + beq .L1839 + ldr r3, .L1866+20 ldrh r3, [r5, r3] cmp r3, r0 - bne .L1837 -.L1838: - ldr ip, .L1865+4 + bne .L1838 +.L1839: + ldr ip, .L1866+4 mov r1, #1 mov r2, #0 - ldr r0, [ip, #-976] + ldr r0, [ip, #-972] str fp, [r0, #4] ldr sl, [r0, #12] bl FlashReadPages - ldr r0, .L1865+4 + ldr r0, .L1866+4 ldr r1, [sl, #4] - ldr r3, [r0, #-976] + ldr r3, [r0, #-972] ldr r3, [r3, #0] cmn r3, #1 - beq .L1837 + beq .L1838 mov r0, r6 bl ftl_cmp_data_ver cmp r0, #0 - bne .L1837 + bne .L1838 mov r0, r9 add r1, sp, #48 mov r2, #1 bl log2phys -.L1837: +.L1838: ldr r0, [sp, #44] cmn r0, #1 - beq .L1822 + beq .L1823 ubfx r0, r0, #10, #16 bl P2V_block_in_plane - ldr r2, [r5, #-2020] + ldr r2, [r5, #-2016] mov r3, r0, asl #1 mov r1, r0 ldrh r3, [r2, r3] cmp r3, #0 - beq .L1839 -.L1861: + beq .L1840 +.L1862: bl decrement_vpc_count - b .L1822 -.L1839: - ldr r0, .L1865+28 + b .L1823 +.L1840: + ldr r0, .L1866+24 bl printk - b .L1822 -.L1824: + b .L1823 +.L1825: ldrh r3, [r4, #0] - movw r1, #290 + movw r1, #294 mov r2, r6 - ldr r0, .L1865+32 + ldr r0, .L1866+28 strh r3, [r5, r1] @ movhi mov r1, sl bl printk - ldr r3, [r5, #296] + ldr r3, [r5, #300] cmp r3, #31 addls r2, r5, r3, asl #2 addls r3, r3, #1 ldrls r1, [sp, #52] - strls r3, [r5, #296] - strls r1, [r2, #300] + strls r3, [r5, #300] + strls r1, [r2, #304] ldrh r0, [r4, #0] bl decrement_vpc_count - ldr r3, [r5, #-1012] + ldr r3, [r5, #-1008] cmn r3, #1 - beq .L1860 -.L1841: + beq .L1861 +.L1842: cmp r3, r6 - bls .L1822 -.L1860: - str r6, [r5, #-1012] -.L1822: + bls .L1823 +.L1861: + str r6, [r5, #-1008] +.L1823: add r7, r7, #36 -.L1821: +.L1822: ldr r3, [sp, #36] cmp r7, r3 - bne .L1842 + bne .L1843 ldrb r3, [r4, #8] @ zero_extendqisi2 add r8, r8, #1 cmp r3, #1 uxth r8, r8 - bne .L1843 - ldr r3, .L1865 + bne .L1844 + ldr r3, .L1866 ldrb r2, [r3, #928] @ zero_extendqisi2 cmp r2, #0 - beq .L1843 - movw r2, #3914 + beq .L1844 + movw r2, #3918 ldr ip, [sp, #8] ldrh r3, [r3, r2] cmp ip, r8 cmpeq r3, r8 - beq .L1854 -.L1843: - ldr r3, .L1865 - movw r2, #3912 + beq .L1855 +.L1844: + ldr r3, .L1866 + movw r2, #3916 ldrh r2, [r3, r2] cmp r8, r2 - bne .L1816 + bne .L1817 mov r2, #0 - movw r1, #3844 + movw r1, #3848 strh r2, [r4, #4] @ movhi ldrh r1, [r3, r1] mov r3, r2 strh r8, [r4, #2] @ movhi movw r2, #65535 ldr r0, [sp, #32] - b .L1844 -.L1846: + b .L1845 +.L1847: add r0, r0, #2 ldrh ip, [r0, #14] cmp ip, r2 strneb r3, [r4, #6] - bne .L1776 -.L1845: + bne .L1777 +.L1846: add r3, r3, #1 uxth r3, r3 -.L1844: +.L1845: cmp r3, r1 - bne .L1846 - b .L1776 -.L1854: -.L1823: + bne .L1847 + b .L1777 +.L1855: +.L1824: ldr r7, [sp, #8] ldr r3, [sp, #16] strh r7, [r4, #2] @ movhi strb r3, [r4, #6] -.L1863: +.L1864: mov r0, r4 mov r1, r7 mov r2, r3 bl ftl_sb_update_avl_pages -.L1776: +.L1777: mov r0, #0 add sp, sp, #60 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1866: +.L1867: .align 2 -.L1865: +.L1866: .word .LANCHOR0 .word .LANCHOR2 .word .LC125 - .word .LANCHOR2-1092 - .word -2000 - .word -1952 - .word -1904 + .word -1996 + .word -1948 + .word -1900 .word .LC126 .word .LC127 .fnend @@ -16201,81 +16208,81 @@ FtlWriteDumpData: .fnstart @ args = 0, pretend = 0, frame = 40 @ frame_needed = 0, uses_anonymous_args = 0 - stmfd sp!, {r4, r5, r6, r7, r8, lr} - .save {r4, r5, r6, r7, r8, lr} - .pad #40 - sub sp, sp, #40 - ldr r4, .L1876 - ldr r3, [r4, #-2092] + stmfd sp!, {r4, r5, r6, r7, r8, sl, lr} + .save {r4, r5, r6, r7, r8, sl, lr} + .pad #44 + sub sp, sp, #44 + ldr r4, .L1877 + ldr r3, [r4, #-2088] mov r2, r4 cmp r3, #0 - bne .L1867 - ldr r3, .L1876+4 + bne .L1868 + ldr r3, .L1877+4 ldrh r3, [r4, r3] cmp r3, #0 - beq .L1869 - ldrb r1, [r4, #-1992] @ zero_extendqisi2 + beq .L1870 + ldrb r1, [r4, #-1988] @ zero_extendqisi2 cmp r1, #0 - bne .L1869 - ldr r5, .L1876+8 - movw r0, #3912 - ldrb r1, [r4, #-1993] @ zero_extendqisi2 + bne .L1870 + ldr r5, .L1877+8 + movw r0, #3916 + ldrb r1, [r4, #-1989] @ zero_extendqisi2 ldrh r0, [r5, r0] mul r1, r0, r1 cmp r3, r1 - beq .L1869 - ldrb r8, [r4, #-1990] @ zero_extendqisi2 - movw r3, #3844 - ldr r7, [r5, #3972] + beq .L1870 + ldrb r8, [r4, #-1986] @ zero_extendqisi2 + movw r3, #3848 + ldr r7, [r5, #3976] cmp r8, #0 ldrh r6, [r5, r3] - bne .L1867 + bne .L1868 sub r7, r7, #1 mov r1, sp mov r2, r8 mov r0, r7 bl log2phys ldr r3, [sp, #0] - ldr r0, [r4, #-964] - ldr r4, [r4, #-940] + ldr r0, [r4, #-960] + ldr r4, [r4, #-936] cmn r3, #1 str r3, [sp, #8] str r7, [sp, #20] str r0, [sp, #12] str r4, [sp, #16] str r8, [r4, #4] - beq .L1870 + beq .L1871 add r0, sp, #4 mov r1, #1 mov r2, r8 bl FlashReadPages - b .L1871 -.L1870: - movw r3, #3922 + b .L1872 +.L1871: + movw r3, #3926 mov r1, #255 ldrh r2, [r5, r3] bl ftl_memset -.L1871: - ldr r3, .L1876+12 +.L1872: + ldr r3, .L1877+12 mov r6, r6, asl #2 - ldr r5, .L1876 - ldr r8, .L1876+4 + ldr r5, .L1877 + ldr sl, .L1877+4 strh r3, [r4, #0] @ movhi - b .L1872 -.L1875: - ldrh r3, [r5, r8] + ldr r8, .L1877+16 + b .L1873 +.L1876: + ldrh r3, [r5, sl] cmp r3, #0 - beq .L1873 + beq .L1874 ldr r3, [sp, #8] - sub r0, r0, #2000 - str r7, [r4, #8] sub r6, r6, #1 + str r7, [r4, #8] + ldr r0, .L1877+20 str r3, [r4, #12] - ldr r3, .L1876+16 - ldrh r3, [r5, r3] + ldrh r3, [r5, r8] strh r3, [r4, #2] @ movhi bl get_new_active_ppa - ldr r3, [r5, #-1804] + ldr r3, [r5, #-1800] mov r2, #0 mov r1, #1 str r0, [sp, #8] @@ -16283,36 +16290,36 @@ FtlWriteDumpData: str r3, [r4, #4] add r3, r3, #1 cmn r3, #1 - str r3, [r5, #-1804] + str r3, [r5, #-1800] moveq r3, #0 - streq r3, [r5, #-1804] + streq r3, [r5, #-1800] mov r3, r2 bl FlashProgPages - ldr r3, .L1876+16 - ldrh r0, [r5, r3] + ldrh r0, [r5, r8] bl decrement_vpc_count -.L1872: - cmp r6, #0 - ldr r0, .L1876 - bne .L1875 .L1873: - mov r3, #1 - strb r3, [r0, #-1990] - b .L1867 -.L1869: + cmp r6, #0 + bne .L1876 +.L1874: + ldr r3, .L1877 + mov r2, #1 + strb r2, [r3, #-1986] + b .L1868 +.L1870: mov r3, #0 - strb r3, [r2, #-1990] -.L1867: - add sp, sp, #40 - ldmfd sp!, {r4, r5, r6, r7, r8, pc} -.L1877: + strb r3, [r2, #-1986] +.L1868: + add sp, sp, #44 + ldmfd sp!, {r4, r5, r6, r7, r8, sl, pc} +.L1878: .align 2 -.L1876: +.L1877: .word .LANCHOR2 - .word -1996 + .word -1992 .word .LANCHOR0 .word -3947 - .word -2000 + .word -1996 + .word .LANCHOR2-1996 .fnend .size FtlWriteDumpData, .-FtlWriteDumpData .align 2 @@ -16326,31 +16333,31 @@ l2p_flush: .save {r3, r4, r5, r6, r7, lr} bl FtlWriteDumpData mov r4, #0 - ldr r7, .L1882 - movw r6, #3950 - ldr r5, .L1882+4 - b .L1879 -.L1881: - ldr r3, [r5, #-1856] + ldr r7, .L1883 + movw r6, #3954 + ldr r5, .L1883+4 + b .L1880 +.L1882: + ldr r3, [r5, #-1852] mov r2, #12 mla r3, r2, r4, r3 ldr r3, [r3, #4] cmp r3, #0 - bge .L1880 + bge .L1881 mov r0, r4 bl flush_l2p_region -.L1880: +.L1881: add r4, r4, #1 uxth r4, r4 -.L1879: +.L1880: ldrh r3, [r7, r6] cmp r3, r4 - bhi .L1881 + bhi .L1882 mov r0, #0 ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L1883: +.L1884: .align 2 -.L1882: +.L1883: .word .LANCHOR0 .word .LANCHOR2 .fnend @@ -16365,97 +16372,97 @@ FtlVpcCheckAndModify: stmfd sp!, {r0, r1, r4, r5, r6, r7, r8, lr} .save {r0, r1, r4, r5, r6, r7, r8, lr} mov r4, #0 - ldr r6, .L1891 - ldr r1, .L1891+4 - ldr r0, .L1891+8 + ldr r6, .L1892 + ldr r1, .L1892+4 + ldr r0, .L1892+8 bl printk - movw r3, #3854 + movw r3, #3858 ldrh r2, [r6, r3] mov r1, #0 - ldr r5, .L1891+12 + ldr r5, .L1892+12 mov r2, r2, asl #1 - ldr r0, [r5, #-920] + ldr r0, [r5, #-916] bl ftl_memset - b .L1885 -.L1887: + b .L1886 +.L1888: mov r0, r4 add r1, sp, #4 mov r2, #0 bl log2phys ldr r0, [sp, #4] cmn r0, #1 - beq .L1886 + beq .L1887 ubfx r0, r0, #10, #16 bl P2V_block_in_plane - ldr r3, [r5, #-920] + ldr r3, [r5, #-916] mov r0, r0, asl #1 ldrh r2, [r3, r0] add r2, r2, #1 strh r2, [r3, r0] @ movhi -.L1886: +.L1887: add r4, r4, #1 -.L1885: - ldr r3, [r6, #3972] +.L1886: + ldr r3, [r6, #3976] cmp r4, r3 - bcc .L1887 + bcc .L1888 mov r4, #0 - ldr r7, .L1891 - movw r8, #3852 - ldr r5, .L1891+12 - b .L1888 -.L1890: - ldr r3, [r5, #-2020] + ldr r7, .L1892 + ldr r5, .L1892+12 + movw r8, #65535 + b .L1889 +.L1891: + ldr r3, [r5, #-2016] mov r6, r4, asl #1 ldrh r2, [r3, r6] - ldr r3, [r5, #-920] + ldr r3, [r5, #-916] ldrh r3, [r3, r6] cmp r2, r3 - beq .L1889 - movw r1, #65535 - cmp r2, r1 - beq .L1889 - ldr r0, .L1891+16 + beq .L1890 + cmp r2, r8 + beq .L1890 + ldr r0, .L1892+16 mov r1, r4 bl printk - ldr r3, .L1891+20 + ldr r3, .L1892+20 ldrh r3, [r5, r3] cmp r3, r4 - beq .L1889 - ldr r3, .L1891+24 + beq .L1890 + ldr r3, .L1892+24 ldrh r3, [r5, r3] cmp r3, r4 - beq .L1889 - ldr r3, .L1891+28 + beq .L1890 + ldr r3, .L1892+28 ldrh r3, [r5, r3] cmp r3, r4 - beq .L1889 - ldr r3, [r5, #-920] + beq .L1890 + ldr r3, [r5, #-916] mov r0, r4 ldrh r2, [r3, r6] - ldr r3, [r5, #-2020] + ldr r3, [r5, #-2016] strh r2, [r3, r6] @ movhi bl update_vpc_list bl l2p_flush bl FtlVpcTblFlush -.L1889: +.L1890: add r4, r4, #1 uxth r4, r4 -.L1888: - ldrh r3, [r7, r8] +.L1889: + mov r3, #3856 + ldrh r3, [r7, r3] cmp r3, r4 - bhi .L1890 + bhi .L1891 ldmfd sp!, {r2, r3, r4, r5, r6, r7, r8, pc} -.L1892: +.L1893: .align 2 -.L1891: +.L1892: .word .LANCHOR0 .word .LANCHOR3+15 .word .LC128 .word .LANCHOR2 .word .LC129 - .word -2000 - .word -1904 - .word -1952 + .word -1996 + .word -1900 + .word -1948 .fnend .size FtlVpcCheckAndModify, .-FtlVpcCheckAndModify .align 2 @@ -16465,104 +16472,106 @@ allocate_new_data_superblock: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L1905 + ldr r3, .L1906 stmfd sp!, {r4, r5, r6, lr} .save {r4, r5, r6, lr} mov r4, r0 - ldr r2, [r3, #-2092] + ldr r2, [r3, #-2088] ldrh r5, [r0, #0] cmp r2, #0 - bne .L1894 + bne .L1895 movw r2, #65535 cmp r5, r2 - beq .L1895 - ldr r2, [r3, #-2020] + beq .L1896 + ldr r2, [r3, #-2016] mov r3, r5, asl #1 mov r0, r5 ldrh r3, [r2, r3] cmp r3, #0 - beq .L1896 + beq .L1897 bl INSERT_DATA_LIST - b .L1895 -.L1896: + b .L1896 +.L1897: bl INSERT_FREE_LIST -.L1895: +.L1896: mov r3, #0 strb r3, [r4, #8] - ldr r3, .L1905 - sub r2, r3, #1952 - cmp r4, r2 - beq .L1897 - ldr r1, .L1905+4 - movw r2, #3864 - ldrh r2, [r1, r2] - cmp r2, #1 - beq .L1897 - ldrb r1, [r1, #928] @ zero_extendqisi2 - cmp r1, #0 + ldr r3, .L1906+4 + cmp r4, r3 beq .L1898 -.L1897: - mov r3, #1 - strb r3, [r4, #8] - b .L1899 -.L1898: - sub r1, r3, #2000 - cmp r4, r1 - bne .L1899 - cmp r2, #3 - beq .L1900 - ldr r2, [r3, #-1716] - cmp r2, #1 - bne .L1901 -.L1900: - mov r2, #1 - strb r2, [r3, #-1992] -.L1901: - ldr r2, .L1905+4 - ldr r2, [r2, #3836] + ldr r2, .L1906+8 + movw r3, #3868 + ldrh r3, [r2, r3] + cmp r3, #1 + beq .L1898 + ldrb r2, [r2, #928] @ zero_extendqisi2 cmp r2, #0 beq .L1899 - ldr r3, [r3, #-1784] - cmp r3, #29 - ldrls r3, .L1905 - movls r2, #1 - strlsb r2, [r3, #-1992] +.L1898: + mov r3, #1 + strb r3, [r4, #8] + b .L1900 .L1899: - ldr r3, .L1905+8 - ldr r6, .L1905 + ldr r2, .L1906+12 + cmp r4, r2 + bne .L1900 + cmp r3, #3 + ldr r3, .L1906 + beq .L1901 + ldr r2, [r3, #-1712] + cmp r2, #1 + bne .L1902 +.L1901: + mov r2, #1 + strb r2, [r3, #-1988] +.L1902: + ldr r2, .L1906+8 + ldr r2, [r2, #3840] + cmp r2, #0 + beq .L1900 + ldr r3, [r3, #-1780] + cmp r3, #29 + ldrls r3, .L1906 + movls r2, #1 + strlsb r2, [r3, #-1988] +.L1900: + ldr r3, .L1906+16 + ldr r6, .L1906 ldrh r0, [r6, r3] movw r3, #65535 cmp r0, r3 - beq .L1902 + beq .L1903 cmp r5, r0 - bne .L1903 - ldr r2, [r6, #-2020] + bne .L1904 + ldr r2, [r6, #-2016] mov r3, r0, asl #1 ldrh r3, [r2, r3] cmp r3, #0 - beq .L1904 -.L1903: - bl update_vpc_list + beq .L1905 .L1904: - ldr r3, .L1905+8 + bl update_vpc_list +.L1905: + ldr r3, .L1906+16 mvn r2, #0 strh r2, [r6, r3] @ movhi -.L1902: +.L1903: mov r0, r4 bl allocate_data_superblock bl l2p_flush mov r0, #0 bl FtlEctTblFlush bl FtlVpcTblFlush -.L1894: +.L1895: mov r0, #0 ldmfd sp!, {r4, r5, r6, pc} -.L1906: +.L1907: .align 2 -.L1905: +.L1906: .word .LANCHOR2 + .word .LANCHOR2-1948 .word .LANCHOR0 - .word -1024 + .word .LANCHOR2-1996 + .word -1020 .fnend .size allocate_new_data_superblock, .-allocate_new_data_superblock .align 2 @@ -16571,9 +16580,9 @@ ftl_do_gc.part.21: .fnstart @ args = 0, pretend = 0, frame = 24 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L2004 + ldr r3, .L2005 movw ip, #65535 - ldr r2, .L2004+4 + ldr r2, .L2005+4 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} .pad #36 @@ -16582,94 +16591,94 @@ ftl_do_gc.part.21: str r0, [sp, #16] ldrh r0, [r3, r2] cmp r0, ip - beq .L1908 - ldr r1, .L2004+8 + beq .L1909 + ldr r1, .L2005+8 ldrh r4, [r3, r1] cmp r4, ip streqh r0, [r3, r1] @ movhi mvneq r1, #0 streqh r1, [r3, r2] @ movhi -.L1908: +.L1909: ldr r1, [sp, #16] - ldr r2, [r3, #-1196] + ldr r2, [r3, #-1192] cmp r1, #1 add r2, r2, #1 add r2, r2, r1, asl #7 - str r2, [r3, #-1196] - bne .L1909 - ldr r3, .L2004+12 - ldr r1, [r3, #3836] - cmp r1, #0 + str r2, [r3, #-1192] bne .L1910 + ldr r3, .L2005+12 + ldr r1, [r3, #3840] + cmp r1, #0 + bne .L1911 ldrb r3, [r3, #928] @ zero_extendqisi2 cmp r3, #0 - beq .L1909 -.L1910: - ldr r4, .L2004 - ldr r3, [r4, #-1784] + beq .L1910 +.L1911: + ldr r4, .L2005 + ldr r3, [r4, #-1780] cmp r3, #29 - bhi .L1909 - mov r3, #428 + bhi .L1910 + mov r3, #432 ldrh r3, [r4, r3] add r2, r2, r3 - str r2, [r4, #-1196] + str r2, [r4, #-1192] bl FtlGcReFreshBadBlk - ldr r3, .L2004+16 + ldr r3, .L2005+16 movw r2, #65535 ldrh r3, [r4, r3] cmp r3, r2 - bne .L1909 - ldr r2, .L2004+8 + bne .L1910 + ldr r2, .L2005+8 ldrh r2, [r4, r2] cmp r2, r3 - bne .L1909 - ldr r3, [r4, #-1196] + bne .L1910 + ldr r3, [r4, #-1192] cmp r3, #1024 - bhi .L1911 - ldr r3, .L2004+20 + bhi .L1912 + ldr r3, .L2005+20 ldrh r3, [r4, r3] cmp r3, #63 - bhi .L1909 -.L1911: - ldr r3, .L2004 - mov r2, #428 - ldr r0, .L2004+20 + bhi .L1910 +.L1912: + ldr r3, .L2005 + mov r2, #432 + ldr r0, .L2005+20 mov r1, #0 strh r1, [r3, r2] @ movhi ldrh ip, [r3, r0] - ldr r0, .L2004+24 + ldr r0, .L2005+24 ldrh r0, [r3, r0] add r0, r0, #64 cmp ip, r0 - bgt .L1909 - str r1, [r3, #-1196] - ldr r1, [r3, #-1784] + bgt .L1910 + str r1, [r3, #-1192] + ldr r1, [r3, #-1780] cmp r1, #0 moveq r1, #6 - beq .L2000 + beq .L2001 cmp r1, #5 - bhi .L1913 + bhi .L1914 mov r1, #18 -.L2000: +.L2001: strh r1, [r3, r2] @ movhi -.L1913: +.L1914: mov r0, #32 movw r7, #65535 bl List_get_gc_head_node uxth r2, r0 cmp r2, r7 - beq .L1914 - ldr r5, .L2004 - ldr r6, .L2004+28 + beq .L1915 + ldr r5, .L2005 + ldr r6, .L2005+28 ldrh r0, [r5, r6] cmp r0, #0 moveq r3, #1 streqh r3, [r5, r6] @ movhi - beq .L1914 - ldr r3, .L2004+12 - movw ip, #3914 - movw lr, #3844 - ldr r9, [r5, #-2020] + beq .L1915 + ldr r3, .L2005+12 + movw ip, #3918 + movw lr, #3848 + ldr r9, [r5, #-2016] mov r2, r2, asl #1 ldrh ip, [r3, ip] ldrh r3, [r3, lr] @@ -16677,10 +16686,10 @@ ftl_do_gc.part.21: mul r3, r3, ip add r3, r3, #1 cmp r1, r3 - bgt .L1914 + bgt .L1915 add fp, r0, #1 mov r8, #0 - str r8, [r5, #-1188] + str r8, [r5, #-1184] uxth fp, fp strh fp, [r5, r6] @ movhi str r2, [sp, #8] @@ -16688,10 +16697,10 @@ ftl_do_gc.part.21: ldr r2, [sp, #8] uxth r4, r0 cmp r4, r7 - beq .L1914 + beq .L1915 ldrh r2, [r9, r2] mov r7, r4, asl #1 - ldr r0, .L2004+32 + ldr r0, .L2005+32 mov r1, fp ldrh r3, [r9, r7] str r2, [sp, #0] @@ -16699,100 +16708,100 @@ ftl_do_gc.part.21: bl printk ldrh r3, [r5, r6] cmp r3, #40 - bls .L1916 - ldr r3, [r5, #-2020] + bls .L1917 + ldr r3, [r5, #-2016] ldrh r3, [r3, r7] cmp r3, #32 strhih r8, [r5, r6] @ movhi -.L1916: - ldr r2, .L2004 - mov r3, #428 +.L1917: + ldr r2, .L2005 + mov r3, #432 mov r1, #6 strh r1, [r2, r3] @ movhi - b .L1918 -.L1914: + b .L1919 +.L1915: bl GetSwlReplaceBlock movw r3, #65535 cmp r0, r3 mov r4, r0 - bne .L1918 - ldr r2, .L2004 - mov r3, #428 + bne .L1919 + ldr r2, .L2005 + mov r3, #432 mov r1, #0 strh r1, [r2, r3] @ movhi -.L1909: - ldr r5, .L2004 +.L1910: + ldr r5, .L2005 movw r4, #65535 - ldr r3, .L2004+16 + ldr r3, .L2005+16 ldrh r2, [r5, r3] cmp r2, r4 - bne .L1918 - ldr r3, .L2004+36 + bne .L1919 + sub r3, r3, #140 ldrh r3, [r5, r3] cmp r3, r2 movne r4, r2 - bne .L1918 - ldr r2, .L2004+8 + bne .L1919 + ldr r2, .L2005+8 ldrh r7, [r5, r2] cmp r7, r3 movne r4, r3 - bne .L1918 - ldr r8, .L2004+20 - ldr r2, [r5, #-1196] + bne .L1919 + ldr r8, .L2005+20 + ldr r2, [r5, #-1192] ldrh r3, [r5, r8] cmp r3, #23 movhi r3, #1024 movls r3, #5120 cmp r2, r3 movls r4, r7 - bls .L1918 - mov r2, #428 + bls .L1919 + mov r2, #432 mov r3, #0 - str r3, [r5, #-1196] + str r3, [r5, #-1192] mov r6, r5 strh r3, [r5, r2] @ movhi bl GetSwlReplaceBlock cmp r0, r7 mov r4, r0 - bne .L1920 - ldr r3, .L2004+24 + bne .L1921 + ldr r3, .L2005+24 ldrh r1, [r5, r8] ldrh r2, [r5, r3] cmp r1, r2 movcs r2, #80 strcsh r2, [r5, r3] @ movhi - bcs .L1930 + bcs .L1931 mov r0, #64 bl List_get_gc_head_node uxth r3, r0 cmp r3, r4 - beq .L1930 - ldr r2, [r5, #-1004] + beq .L1931 + ldr r2, [r5, #-1000] cmp r2, #0 - bne .L1923 - ldr r2, .L2004+12 - movw r1, #3864 + bne .L1924 + ldr r2, .L2005+12 + movw r1, #3868 ldrh r1, [r2, r1] cmp r1, #3 - beq .L1923 - ldr r1, [r5, #-1716] + beq .L1924 + ldr r1, [r5, #-1712] cmp r1, #0 - bne .L1923 - ldr r1, [r2, #3836] + bne .L1924 + ldr r1, [r2, #3840] cmp r1, #0 - bne .L1923 + bne .L1924 ldrb r0, [r2, #928] @ zero_extendqisi2 cmp r0, #0 - beq .L1924 -.L1923: - ldr r1, .L2004 + beq .L1925 +.L1924: + ldr r1, .L2005 mov r3, r3, asl #1 - movw ip, #3844 - movw lr, #3864 - ldr r2, [r1, #-2020] + movw ip, #3848 + movw lr, #3868 + ldr r2, [r1, #-2016] ldrh r0, [r2, r3] - movw r2, #3914 - ldr r3, .L2004+12 + movw r2, #3918 + ldr r3, .L2005+12 ldrh r2, [r3, r2] ldrh ip, [r3, ip] ldrh r3, [r3, lr] @@ -16802,478 +16811,480 @@ ftl_do_gc.part.21: movne r3, #0 add r3, ip, r3 cmp r0, r3 - bgt .L1926 + bgt .L1927 mov r0, #0 bl List_get_gc_head_node - ldr r2, .L2004+12 - ldr r3, .L2004 - ldr r2, [r2, #3972] - ldr r1, [r3, #-1848] + ldr r2, .L2005+12 + ldr r3, .L2005 + ldr r2, [r2, #3976] + ldr r1, [r3, #-1844] add r2, r2, r2, asl #1 cmp r1, r2, lsr #2 - ldr r2, .L2004+24 + ldr r2, .L2005+24 movhi r1, #128 movls r1, #160 strh r1, [r3, r2] @ movhi uxth r4, r0 - b .L1928 -.L1926: - ldr r3, .L2004+24 + b .L1929 +.L1927: + ldr r3, .L2005+24 mov r2, #128 strh r2, [r1, r3] @ movhi - b .L1930 -.L1924: - ldr r2, [r5, #-2020] + b .L1931 +.L1925: + ldr r2, [r5, #-2016] mov r3, r3, asl #1 - ldr r6, .L2004 - ldr r5, .L2004+24 + ldr r6, .L2005 + ldr r5, .L2005+24 ldrh r3, [r2, r3] cmp r3, #7 movhi r3, #64 strhih r3, [r6, r5] @ movhi - bhi .L1930 + bhi .L1931 bl List_get_gc_head_node mov r3, #128 strh r3, [r6, r5] @ movhi uxth r4, r0 -.L1928: +.L1929: movw r3, #65535 cmp r4, r3 - beq .L1930 -.L1920: - ldr r1, .L2004 + beq .L1931 +.L1921: + ldr r1, .L2005 mov r0, r4, asl #1 - ldr r3, .L2004+20 - ldr ip, [r1, #-2084] + ldr r3, .L2005+20 + ldr ip, [r1, #-2080] ldrh r2, [r1, r3] - ldr r3, [r1, #-2020] + ldr r3, [r1, #-2016] ldrh r3, [r3, r0] ldrh r0, [ip, r0] str r0, [sp, #0] - ldr r0, .L2004+40 + ldr r0, .L2005+36 ldrh r1, [r1, r0] - ldr r0, .L2004+44 + ldr r0, .L2005+40 str r1, [sp, #4] mov r1, r4 bl printk -.L1930: +.L1931: bl FtlGcReFreshBadBlk -.L1918: +.L1919: movw r0, #65535 rsb ip, r0, r4 rsbs r1, ip, #0 ldr r3, [sp, #16] adc r1, r1, ip - ldr r5, .L2004 + ldr r5, .L2005 cmp r3, #0 movne r2, #0 andeq r2, r1, #1 cmp r2, #0 - beq .L1931 - ldr r3, .L2004+20 + beq .L1932 + ldr r3, .L2005+20 ldrh r2, [r5, r3] cmp r2, #24 movhi r6, #1 - bhi .L1932 - ldr r1, .L2004+12 - movw r3, #3912 + bhi .L1933 + ldr r1, .L2005+12 + movw r3, #3916 cmp r2, #16 ldrh r6, [r1, r3] movhi r6, r6, lsr #5 - bhi .L1932 + bhi .L1933 cmp r2, #12 movhi r6, r6, lsr #4 - bhi .L1932 + bhi .L1933 cmp r2, #8 movhi r6, r6, lsr #2 -.L1932: - ldr r1, .L2004+40 - ldr r3, .L2004 +.L1933: + ldr r1, .L2005+36 + ldr r3, .L2005 ldrh r0, [r5, r1] cmp r0, r2 - bcs .L1936 - ldr r2, .L2004+36 - movw r0, #65535 + mov r0, r1 + bcs .L1937 + ldr r2, .L2005+44 + movw ip, #65535 ldrh r2, [r3, r2] - cmp r2, r0 - bne .L1937 - ldr r0, .L2004+8 - ldrh r0, [r3, r0] - cmp r0, r2 - bne .L1937 - mov r2, #428 + cmp r2, ip + bne .L1938 + ldr ip, .L2005+8 + ldrh ip, [r3, ip] + cmp ip, r2 + bne .L1938 + mov r2, #432 ldrh r0, [r3, r2] cmp r0, #0 - bne .L1938 - ldr r2, .L2004+12 - ldr ip, [r3, #-1848] - ldr r2, [r2, #3972] + bne .L1939 + ldr r2, .L2005+12 + ldr ip, [r3, #-1844] + ldr r2, [r2, #3976] add r2, r2, r2, asl #1 cmp ip, r2, lsr #2 movcs r2, #18 - bcs .L2002 -.L1938: - ldr r3, .L2004 - ldr r2, .L2004+48 - ldr r1, .L2004+40 + bcs .L2003 +.L1939: + ldr r3, .L2005 + ldr r2, .L2005+48 + ldr r1, .L2005+36 ldrh r2, [r3, r2] add r2, r2, r2, asl #1 mov r2, r2, asr #2 -.L2002: +.L2003: strh r2, [r3, r1] @ movhi mov r2, #0 - ldr r3, .L2004 - str r2, [r3, #-1188] - b .L1941 -.L1937: - ldr r3, .L2004 - ldr r2, .L2004+48 - ldr r1, .L2004+40 + ldr r3, .L2005 + str r2, [r3, #-1184] + b .L1942 +.L1938: + ldr r3, .L2005 + ldr r2, .L2005+48 ldrh r2, [r3, r2] add r2, r2, r2, asl #1 mov r2, r2, asr #2 - strh r2, [r3, r1] @ movhi -.L1936: - ldr r3, .L2004+12 + strh r2, [r3, r0] @ movhi +.L1937: + ldr r3, .L2005+12 cmp sl, #2 movw r4, #65535 movhi sl, #0 movls sl, #1 - ldr r3, [r3, #3836] + ldr r3, [r3, #3840] cmp r3, #0 moveq sl, #0 cmp sl, #0 addne r6, r6, #1 uxthne r6, r6 - b .L1942 -.L1931: - ldr r3, .L2004+36 + b .L1943 +.L1932: + ldr r3, .L2005+44 ldrh r3, [r5, r3] cmp r3, r0 - bne .L1943 - ldr r0, .L2004+8 + bne .L1944 + ldr r0, .L2005+8 ldrh r0, [r5, r0] cmp r0, r3 movne r1, #0 andeq r1, r1, #1 cmp r1, #0 - beq .L1943 - ldr r1, .L2004+16 + beq .L1944 + ldr r1, .L2005+16 ldrh r4, [r5, r1] cmp r4, r3 movne r4, r3 - bne .L1943 - ldr r3, .L2004+20 - mov r6, #428 - str r2, [r5, #-1188] + bne .L1944 + ldr r3, .L2005+20 + mov r6, #432 + str r2, [r5, #-1184] ldrh r7, [r5, r3] add r3, r3, #804 ldrh r2, [r5, r3] cmp r2, r7 - bcs .L1944 + bcs .L1945 ldrh r2, [r5, r6] cmp r2, #0 - bne .L1945 - ldr r2, .L2004+12 - ldr r1, [r5, #-1848] - ldr r2, [r2, #3972] + bne .L1946 + ldr r2, .L2005+12 + ldr r1, [r5, #-1844] + ldr r2, [r2, #3976] add r2, r2, r2, asl #1 cmp r1, r2, lsr #2 movcs r2, #18 strcsh r2, [r5, r3] @ movhi - bcs .L1947 -.L1945: - ldr r3, .L2004 - ldr r2, .L2004+48 - ldr r1, .L2004+40 + bcs .L1948 +.L1946: + ldr r3, .L2005 + ldr r2, .L2005+48 + ldr r1, .L2005+36 ldrh r2, [r3, r2] add r2, r2, r2, asl #1 mov r2, r2, asr #2 strh r2, [r3, r1] @ movhi -.L1947: +.L1948: bl FtlReadRefresh - mov r3, #428 - ldr r2, .L2004 - b .L2003 -.L1944: + mov r3, #432 + ldr r2, .L2005 + b .L2004 +.L1945: ldrh r0, [r5, r6] cmp r0, #0 - bne .L1943 - ldr r2, .L2004+48 + bne .L1944 + ldr r2, .L2005+48 ldrh r4, [r5, r2] add r2, r4, r4, asl #1 mov r2, r2, asr #2 strh r2, [r5, r3] @ movhi bl List_get_gc_head_node - ldr r3, [r5, #-2020] - ldr r1, .L2004+12 - movw r2, #3914 + ldr r3, [r5, #-2016] + ldr r1, .L2005+12 + movw r2, #3918 ldrh r2, [r1, r2] uxth r0, r0 mov r0, r0, asl #1 ldrh r3, [r3, r0] - movw r0, #3844 + movw r0, #3848 ldrh r1, [r1, r0] mul r2, r1, r2 add r2, r2, r2, lsr #31 cmp r3, r2, asr #1 - ble .L1948 + ble .L1949 sub r4, r4, #1 cmp r7, r4 - blt .L1948 + blt .L1949 bl FtlReadRefresh ldrh r0, [r5, r6] - b .L1941 -.L1948: + b .L1942 +.L1949: cmp r3, #0 movwne r4, #65535 - bne .L1943 + bne .L1944 movw r0, #65535 bl decrement_vpc_count - ldr r3, .L2004+20 - ldr r2, .L2004 + ldr r3, .L2005+20 + ldr r2, .L2005 ldrh r0, [r2, r3] add r0, r0, #1 - b .L1941 -.L1943: - ldr r3, .L2004+12 - ldr r6, [r3, #3836] + b .L1942 +.L1944: + ldr r3, .L2005+12 + ldr r6, [r3, #3840] cmp r6, #0 movne r6, #2 moveq r6, #1 -.L1942: - ldr r3, .L2004 +.L1943: + ldr r3, .L2005 movw r0, #65535 - ldr r2, .L2004+16 + ldr r2, .L2005+16 ldrh r1, [r3, r2] cmp r1, r0 - bne .L1949 + bne .L1950 cmp r4, r1 strneh r4, [r3, r2] @ movhi - bne .L1951 - ldr r2, .L2004+8 + bne .L1952 + ldr r2, .L2005+8 ldrh r1, [r3, r2] cmp r1, r4 - beq .L1951 - ldr r0, [r3, #-2020] + beq .L1952 + ldr r0, [r3, #-2016] mov r1, r1, asl #1 ldrh r1, [r0, r1] cmp r1, #0 mvneq r1, #0 streqh r1, [r3, r2] @ movhi - ldr r3, .L2004 - ldr r1, .L2004+16 + ldr r3, .L2005 + ldr r1, .L2005+16 ldrh r0, [r3, r2] strh r0, [r3, r1] @ movhi mvn r1, #0 strh r1, [r3, r2] @ movhi -.L1951: - ldr r5, .L2004 +.L1952: + ldr r5, .L2005 mov r3, #0 - ldr r7, .L2004+16 - strb r3, [r5, #-1756] + ldr r7, .L2005+16 + strb r3, [r5, #-1752] movw r3, #65535 ldrh r0, [r5, r7] cmp r0, r3 - beq .L1949 + beq .L1950 bl IsBlkInGcList cmp r0, #0 mvnne r3, #0 strneh r3, [r5, r7] @ movhi - ldr r3, .L2004+12 - ldr r7, .L2004 + ldr r3, .L2005+12 + ldr r7, .L2005 ldrb r3, [r3, #928] @ zero_extendqisi2 cmp r3, #0 - beq .L1954 - ldr r3, .L2004+16 + beq .L1955 + ldr r3, .L2005+16 ldrh r0, [r7, r3] bl ftl_get_blk_mode - strb r0, [r7, #-1756] -.L1954: - ldr r8, .L2004+16 + strb r0, [r7, #-1752] +.L1955: + ldr r8, .L2005+16 movw r3, #65535 - ldr r5, .L2004 + ldr r5, .L2005 ldrh r2, [r7, r8] cmp r2, r3 - beq .L1949 - ldr r0, .L2004+52 + beq .L1950 + add r0, r5, r8 bl make_superblock - ldr r1, .L2004+56 - movw r2, #430 + ldr r1, .L2005+52 + movw r2, #434 mov r3, #0 strh r3, [r5, r2] @ movhi strh r3, [r5, r1] @ movhi - strb r3, [r5, #-1758] + strb r3, [r5, #-1754] ldrh r3, [r5, r8] - ldr r2, [r5, #-2020] + ldr r2, [r5, #-2016] mov r3, r3, asl #1 ldrh r2, [r2, r3] - mov r3, #432 + mov r3, #436 strh r2, [r5, r3] @ movhi -.L1949: - ldr r3, .L2004 - ldr r0, .L2004+16 - ldr r2, .L2004+60 - ldrh r1, [r3, r0] +.L1950: + ldr r3, .L2005 + ldr r2, .L2005+16 + ldrh r1, [r3, r2] + sub r2, r2, #236 ldrh r2, [r3, r2] cmp r2, r1 mov r2, r3 - beq .L1955 - ldr ip, .L2004+64 - ldrh r3, [r3, ip] + beq .L1956 + ldr r0, .L2005+56 + ldrh r3, [r3, r0] cmp r3, r1 movne fp, r4 - bne .L1999 + bne .L2000 +.L1957: .L1956: -.L1955: - mvn r3, #0 - strh r3, [r2, r0] @ movhi - mov r3, #428 -.L2003: + ldr r3, .L2005+16 + mvn r1, #0 + strh r1, [r2, r3] @ movhi + mov r3, #432 +.L2004: ldrh r0, [r2, r3] - b .L1941 -.L1999: - ldr r4, .L2004 + b .L1942 +.L2000: + ldr r4, .L2005 movw sl, #65535 - ldr r9, .L2004+16 - ldrh r3, [r4, r9] + ldr r3, .L2005+16 + ldrh r3, [r4, r3] cmp r3, sl - bne .L1958 - ldr r5, .L2004+28 + bne .L1959 + ldr r5, .L2005+28 mov r3, #0 - str r3, [r4, #-1188] -.L1998: + str r3, [r4, #-1184] +.L1999: ldrh r8, [r4, r5] mov r0, r8 bl List_get_gc_head_node + ldr r3, .L2005+16 movw r1, #65535 uxth r7, r0 - strh r7, [r4, r9] @ movhi + strh r7, [r4, r3] @ movhi cmp r7, r1 - bne .L1960 - ldr r3, .L2004+28 + bne .L1961 + ldr r2, .L2005 + add r3, r3, #572 mov r1, #0 - ldr r2, .L2004 mov r0, #8 strh r1, [r2, r3] @ movhi - b .L1941 -.L1960: + b .L1942 +.L1961: mov r0, r7 bl IsBlkInGcList cmp r0, #0 add r0, r8, #1 strneh r0, [r4, r5] @ movhi - bne .L1998 - ldr ip, .L2004+12 - movw r8, #3912 - ldr r2, [r4, #-2020] + bne .L1999 + ldr ip, .L2005+12 + movw r8, #3916 + movw sl, #3848 + ldr r2, [r4, #-2016] mov r3, r7, asl #1 uxth r0, r0 + ldrh r8, [ip, r8] + ldrh ip, [ip, sl] strh r0, [r4, r5] @ movhi - ldrh sl, [ip, r8] - movw r8, #3844 - ldrh ip, [ip, r8] ldrh r1, [r2, r3] - mul sl, ip, sl - add ip, sl, sl, lsr #31 + mul r8, ip, r8 + add ip, r8, r8, lsr #31 cmp r1, ip, asr #1 - bgt .L1963 + bgt .L1964 cmp r0, #48 - bls .L1964 + bls .L1965 cmp r1, #8 - bls .L1964 - ldr r1, .L2004+68 + bls .L1965 + ldr r1, .L2005+60 ldrh r1, [r4, r1] cmp r1, #35 - bhi .L1964 -.L1963: + bhi .L1965 +.L1964: mov r1, #0 strh r1, [r4, r5] @ movhi -.L1964: +.L1965: ldrh r3, [r2, r3] movw r2, #65535 - cmp r3, sl + ldr sl, .L2005 + cmp r3, r8 cmpge fp, r2 - ldr sl, .L2004 movne r8, #0 moveq r8, #1 - bne .L1965 - ldr r3, .L2004+16 + bne .L1966 + ldr r3, .L2005+16 mvn r2, #0 strh r2, [sl, r3] @ movhi add r3, r3, #572 mov r2, #0 strh r2, [sl, r3] @ movhi - mov r3, #428 + mov r3, #432 ldrh r0, [sl, r3] - b .L1941 -.L1965: + b .L1942 +.L1966: cmp r3, #0 - bne .L1966 + bne .L1967 movw r0, #65535 bl decrement_vpc_count ldrh r3, [r4, r5] add r3, r3, #1 strh r3, [r4, r5] @ movhi - b .L1998 -.L1966: - ldr r3, .L2004+12 - strb r8, [sl, #-1756] + b .L1999 +.L1967: + ldr r3, .L2005+12 + strb r8, [sl, #-1752] ldrb r3, [r3, #928] @ zero_extendqisi2 cmp r3, #0 - beq .L1967 + beq .L1968 mov r0, r7 bl ftl_get_blk_mode - strb r0, [sl, #-1756] -.L1967: - ldr r4, .L2004 - ldr r0, .L2004+52 + strb r0, [sl, #-1752] +.L1968: + ldr r4, .L2005 + sub r0, r4, #1760 bl make_superblock - movw r1, #430 + movw r1, #434 mov r3, #0 strh r3, [r4, r1] @ movhi - ldr r1, .L2004+16 - ldr r0, [r4, #-2020] + ldr r1, .L2005+16 + ldr r0, [r4, #-2016] ldrh r1, [r4, r1] mov r1, r1, asl #1 ldrh r0, [r0, r1] - mov r1, #432 - strb r3, [r4, #-1758] + mov r1, #436 + strb r3, [r4, #-1754] strh r0, [r4, r1] @ movhi - ldr r1, .L2004+56 + ldr r1, .L2005+52 strh r3, [r4, r1] @ movhi -.L1958: +.L1959: ldr sl, [sp, #16] cmp sl, #1 - bne .L1968 + bne .L1969 bl FtlReadRefresh -.L1968: - ldr r3, .L2004 +.L1969: + ldr r3, .L2005 mov r2, #1 - movw r1, #3912 - str r2, [r3, #-1000] - ldr r2, .L2004+12 + movw r1, #3916 + str r2, [r3, #-996] + ldr r2, .L2005+12 ldrh r9, [r2, r1] ldrb r1, [r2, #928] @ zero_extendqisi2 cmp r1, #0 - beq .L1969 - ldrb r1, [r3, #-1756] @ zero_extendqisi2 + beq .L1970 + ldrb r1, [r3, #-1752] @ zero_extendqisi2 cmp r1, #1 - movweq r1, #3914 + movweq r1, #3918 ldreqh r9, [r2, r1] -.L1969: - ldr r2, .L2004+56 +.L1970: + ldr r2, .L2005+52 mov r8, #0 str fp, [sp, #20] mov fp, r9 - ldr r4, .L2004 + ldr r4, .L2005 ldrh r3, [r3, r2] add r2, r3, r6 cmp r2, r9 rsbgt r6, r3, r9 uxthgt r6, r6 - b .L1971 -.L1973: + b .L1972 +.L1974: ldrh r1, [r2, #2]! movw sl, #65535 add r3, r3, #1 @@ -17284,46 +17295,46 @@ ftl_do_gc.part.21: addne r7, r7, #1 uxthne r7, r7 strne r1, [sl, #4] -.L1979: +.L1980: cmp r3, r5 - bne .L1973 - ldr r0, [r4, #-1168] + bne .L1974 + ldr r0, [r4, #-1164] mov r1, r7 - ldrb r2, [r4, #-1756] @ zero_extendqisi2 + ldrb r2, [r4, #-1752] @ zero_extendqisi2 mov r5, #0 bl FlashReadPages mov r9, r5 mov sl, r6 - b .L1974 -.L1977: - ldr r3, [r4, #-1168] + b .L1975 +.L1978: + ldr r3, [r4, #-1164] add r2, r3, r5 ldr r3, [r3, r5] ldr r6, [r2, #12] cmn r3, #1 - beq .L1975 + beq .L1976 ldrh r3, [r6, #0] movw r1, #61589 cmp r3, r1 - bne .L1975 + bne .L1976 add r1, sp, #28 mov r2, #0 ldr r0, [r6, #8] bl log2phys - ldr r1, [r4, #-1168] + ldr r1, [r4, #-1164] ldr r2, [sp, #28] add r1, r1, r5 bic r2, r2, #-2147483648 ldr r3, [r1, #4] cmp r2, r3 - bne .L1975 - movw r3, #430 - ldr r0, [r4, #-1184] + bne .L1976 + movw r3, #434 + ldr r0, [r4, #-1180] ldrh r2, [r4, r3] ldr r1, [r1, #16] add r2, r2, #1 strh r2, [r4, r3] @ movhi - ldr r2, [r4, #-972] + ldr r2, [r4, #-968] mov r3, #36 mla r2, r3, r0, r2 str r1, [r2, #16] @@ -17331,12 +17342,12 @@ ftl_do_gc.part.21: str r3, [sp, #12] bl Ftl_get_new_temp_ppa ldr r2, [sp, #8] - ldr r1, [r4, #-1184] + ldr r1, [r4, #-1180] str r0, [r2, #4] ldr r3, [sp, #12] - ldr r2, [r4, #-972] + ldr r2, [r4, #-968] mla r3, r3, r1, r2 - ldr r2, [r4, #-1168] + ldr r2, [r4, #-1164] add r2, r2, r5 ldr r1, [r2, #8] str r1, [r3, #8] @@ -17345,64 +17356,64 @@ ftl_do_gc.part.21: str r2, [r3, #12] ldr r3, [sp, #28] str r3, [r6, #12] - ldr r3, .L2004+36 + ldr r3, .L2005+44 ldrh r3, [r4, r3] strh r3, [r6, #2] @ movhi - ldr r3, [r4, #-1804] - ldr r0, [r4, #-1168] + ldr r3, [r4, #-1800] + ldr r0, [r4, #-1164] str r3, [r6, #4] add r0, r0, r5 - ldr r3, [r4, #-1184] + ldr r3, [r4, #-1180] add r3, r3, #1 - str r3, [r4, #-1184] + str r3, [r4, #-1180] bl FtlGcBufAlloc - ldr r3, .L2004+12 + ldr r3, .L2005+12 ldrb r3, [r3, #928] @ zero_extendqisi2 cmp r3, #0 - bne .L1976 - ldrb r3, [r4, #-1897] @ zero_extendqisi2 - ldr r2, [r4, #-1184] + bne .L1977 + ldrb r3, [r4, #-1893] @ zero_extendqisi2 + ldr r2, [r4, #-1180] cmp r2, r3 - beq .L1976 - ldr r3, .L2004+72 + beq .L1977 + ldr r3, .L2005+64 ldrh r3, [r4, r3] cmp r3, #0 - bne .L1975 -.L1976: + bne .L1976 +.L1977: bl Ftl_gc_temp_data_write_back cmp r0, #0 - ldrne r3, .L2004 + ldrne r3, .L2005 movne r2, #0 - strne r2, [r3, #-1000] - movne r2, #428 - bne .L2003 -.L1975: + strne r2, [r3, #-996] + movne r2, #432 + bne .L2004 +.L1976: add r9, r9, #1 add r5, r5, #36 uxth r9, r9 -.L1974: +.L1975: cmp r9, r7 - bne .L1977 + bne .L1978 add r8, r8, #1 mov r6, sl -.L1971: +.L1972: uxth r3, r8 - ldr r7, .L2004 + ldr r7, .L2005 cmp r3, r6 - ldr r3, .L2004+56 - bcs .L1978 - ldr r1, .L2004+12 - movw r2, #3844 + ldr r3, .L2005+52 + bcs .L1979 + ldr r1, .L2005+12 + movw r2, #3848 ldrh ip, [r4, r3] mov r7, #0 - ldr lr, [r4, #-1168] + ldr lr, [r4, #-1164] mov r3, r7 ldrh r5, [r1, r2] add ip, ip, r8 - ldr r2, .L2004+76 + ldr r2, .L2005+68 mov r0, #36 - b .L1979 -.L1978: + b .L1980 +.L1979: ldrh r2, [r7, r3] mov r9, fp ldr fp, [sp, #20] @@ -17410,83 +17421,81 @@ ftl_do_gc.part.21: uxth r6, r6 strh r6, [r7, r3] @ movhi cmp r6, r9 - bcc .L1980 - ldr r3, [r7, #-1184] + bcc .L1981 + ldr r3, [r7, #-1180] cmp r3, #0 - beq .L1981 + beq .L1982 bl Ftl_gc_temp_data_write_back cmp r0, #0 movne r3, #0 - strne r3, [r7, #-1000] - movne r3, #428 + strne r3, [r7, #-996] + movne r3, #432 ldrneh r0, [r7, r3] - bne .L1941 -.L1981: - ldr r3, .L2004 - movw r2, #430 + bne .L1942 +.L1982: + ldr r3, .L2005 + movw r2, #434 ldrh ip, [r3, r2] cmp ip, #0 - bne .L1982 - ldr r2, .L2004+16 - ldr r0, [r3, #-2020] + bne .L1983 + ldr r2, .L2005+16 + ldr r0, [r3, #-2016] ldrh r1, [r3, r2] mov r1, r1, asl #1 ldrh r4, [r0, r1] cmp r4, #0 - beq .L1982 + beq .L1983 strh ip, [r0, r1] @ movhi ldrh r0, [r3, r2] bl update_vpc_list bl FtlCacheWriteBack bl l2p_flush bl FtlVpcTblFlush -.L1982: - ldr r3, .L2004+16 +.L1983: + ldr r3, .L2005+16 mvn r1, #0 - ldr r2, .L2004 + ldr r2, .L2005 strh r1, [r2, r3] @ movhi -.L1980: - ldr r3, .L2004 - ldr r2, .L2004+20 +.L1981: + ldr r3, .L2005 + ldr r2, .L2005+20 ldrh r2, [r3, r2] cmp r2, #2 - ldrls r2, .L2004+12 - movwls r3, #3912 + ldrls r2, .L2005+12 + movwls r3, #3916 ldrlsh r6, [r2, r3] - bls .L1999 -.L1983: + bls .L2000 +.L1984: mov r1, #0 - str r1, [r3, #-1000] - mov r1, #428 + str r1, [r3, #-996] + mov r1, #432 ldrh r0, [r3, r1] cmp r0, #0 addeq r0, r2, #1 -.L1941: +.L1942: add sp, sp, #36 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L2005: +.L2006: .align 2 -.L2004: +.L2005: .word .LANCHOR2 - .word -1144 - .word -1146 + .word -1140 + .word -1142 .word .LANCHOR0 - .word -1764 - .word -2004 - .word -1198 - .word -1192 - .word .LC130 - .word -1904 - .word -1200 - .word .LC131 - .word -1780 - .word .LANCHOR2-1764 - .word -1762 + .word -1760 .word -2000 - .word -1952 - .word -1160 + .word -1194 + .word -1188 + .word .LC130 + .word -1196 + .word .LC131 .word -1900 - .word .LANCHOR2-1750 + .word -1776 + .word -1758 + .word -1948 + .word -1156 + .word -1896 + .word .LANCHOR2-1746 .fnend .size ftl_do_gc.part.21, .-ftl_do_gc.part.21 .align 2 @@ -17499,49 +17508,49 @@ ftl_do_gc: stmfd sp!, {r3, r4, r5, lr} .save {r3, r4, r5, lr} mov r4, r0 - ldr r3, .L2013 + ldr r3, .L2014 mov r5, r1 - ldr r0, [r3, #-2092] + ldr r0, [r3, #-2088] cmp r0, #0 movne r0, #0 ldmnefd sp!, {r3, r4, r5, pc} - ldr r2, [r3, #-1000] + ldr r2, [r3, #-996] cmp r2, #0 ldmnefd sp!, {r3, r4, r5, pc} - ldr r1, .L2013+4 + ldr r1, .L2014+4 ldrh r1, [r3, r1] cmp r1, #47 movls r0, r2 ldmlsfd sp!, {r3, r4, r5, pc} - ldr r1, .L2013+8 + ldr r1, .L2014+8 movw r2, #3000 ldrh r1, [r1, r2] movw r2, #65535 cmp r1, r2 - beq .L2008 - ldr r1, .L2013+12 + beq .L2009 + ldr r1, .L2014+12 ldrh r3, [r3, r1] cmp r3, r2 - beq .L2008 + beq .L2009 mov r0, #1 bl FtlGcFreeTempBlock cmp r0, #0 - bne .L2012 -.L2008: + bne .L2013 +.L2009: mov r0, r4 mov r1, r5 ldmfd sp!, {r3, r4, r5, lr} b ftl_do_gc.part.21 -.L2012: +.L2013: mov r0, #1 ldmfd sp!, {r3, r4, r5, pc} -.L2014: +.L2015: .align 2 -.L2013: +.L2014: .word .LANCHOR2 - .word -2012 + .word -2008 .word .LANCHOR1 - .word -1904 + .word -1900 .fnend .size ftl_do_gc, .-ftl_do_gc .align 2 @@ -17551,40 +17560,40 @@ FtlCacheWriteBack: .fnstart @ args = 0, pretend = 0, frame = 8 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L2037 + ldr r3, .L2038 stmfd sp!, {r0, r1, r4, r5, r6, r7, r8, r9, sl, lr} .save {r0, r1, r4, r5, r6, r7, r8, r9, sl, lr} - ldr r4, [r3, #436] - ldr r3, [r3, #-2092] + ldr r4, [r3, #440] + ldr r3, [r3, #-2088] cmp r3, #0 - bne .L2016 - ldr r3, .L2037+4 - ldr r1, [r3, #3964] + bne .L2017 + ldr r3, .L2038+4 + ldr r1, [r3, #3968] cmp r1, #0 - beq .L2016 + beq .L2017 ldrb r8, [r3, #928] @ zero_extendqisi2 cmp r8, #0 - beq .L2017 + beq .L2018 ldrb r8, [r4, #8] @ zero_extendqisi2 sub lr, r8, #1 rsbs r8, lr, #0 adc r8, r8, lr -.L2017: - ldr r0, [r3, #3968] +.L2018: + ldr r0, [r3, #3972] mov r2, r8 ldrb r3, [r4, #9] @ zero_extendqisi2 mov r5, #0 bl FlashProgPages mov r7, r5 - ldr r6, .L2037+4 - ldr r9, .L2037 - b .L2018 -.L2023: - ldr r2, [r6, #3968] + ldr r6, .L2038+4 + ldr r9, .L2038 + b .L2019 +.L2024: + ldr r2, [r6, #3972] add r3, r2, r5 ldr r2, [r2, r5] cmn r2, #1 - beq .L2036 + beq .L2037 ldr r2, [r3, #4] cmp r8, #0 ldr r0, [r3, #16] @@ -17594,48 +17603,48 @@ FtlCacheWriteBack: strne r2, [sp, #4] mov r2, #1 bl log2phys - ldr r3, [r6, #3968] + ldr r3, [r6, #3972] add r3, r3, r5 ldr r3, [r3, #12] ldr r0, [r3, #12] cmn r0, #1 - beq .L2021 + beq .L2022 ubfx r0, r0, #10, #16 bl P2V_block_in_plane - ldr r2, [r9, #-2020] + ldr r2, [r9, #-2016] mov r3, r0, asl #1 mov sl, r0 ldrh r2, [r2, r3] cmp r2, #0 - bne .L2022 - ldr r0, .L2037+8 + bne .L2023 + ldr r0, .L2038+8 mov r1, sl bl printk -.L2022: +.L2023: mov r0, sl bl decrement_vpc_count -.L2021: +.L2022: add r7, r7, #1 add r5, r5, #36 -.L2018: - ldr r3, [r6, #3964] - cmp r7, r3 - bcc .L2023 - b .L2024 -.L2032: +.L2019: ldr r3, [r6, #3968] - mvn r2, #0 - movw sl, #3912 - str r2, [r3, r5] + cmp r7, r3 + bcc .L2024 b .L2025 -.L2028: +.L2033: + ldr r3, [r6, #3972] + mvn r2, #0 + movw sl, #3916 + str r2, [r3, r5] + b .L2026 +.L2029: ldr r0, [r3, #4] ubfx r0, r0, #10, #16 bl P2V_block_in_plane ldrh r3, [r4, #0] cmp r3, r0 - bne .L2026 - ldr r2, [r7, #-2020] + bne .L2027 + ldr r2, [r7, #-2016] mov r3, r3, asl #1 ldrh r1, [r4, #4] ldrh r0, [r2, r3] @@ -17646,17 +17655,17 @@ FtlCacheWriteBack: mov r3, #0 strb r3, [r4, #6] strh r3, [r4, #4] @ movhi -.L2026: +.L2027: ldrh r3, [r4, #4] cmp r3, #0 - bne .L2027 + bne .L2028 mov r0, r4 bl allocate_new_data_superblock -.L2027: - ldr r3, [r7, #-1616] +.L2028: + ldr r3, [r7, #-1612] add r3, r3, #1 - str r3, [r7, #-1616] - ldr r3, [r6, #3968] + str r3, [r7, #-1612] + ldr r3, [r6, #3972] add r3, r3, r5 ldr r0, [r3, #4] ubfx r0, r0, #10, #16 @@ -17667,20 +17676,20 @@ FtlCacheWriteBack: mov r2, r8 mov r3, r0 str r0, [sp, #4] - ldr r0, [r6, #3968] + ldr r0, [r6, #3972] add r0, r0, r5 str r3, [r0, #4] ldrb r3, [r4, #9] @ zero_extendqisi2 bl FlashProgPages - ldr r3, [r7, #-2092] + ldr r3, [r7, #-2088] cmp r3, #0 - bne .L2016 -.L2025: - ldr r2, [r6, #3968] + bne .L2017 +.L2026: + ldr r2, [r6, #3972] add r3, r2, r5 ldr r2, [r2, r5] cmn r2, #1 - beq .L2028 + beq .L2029 ldr r2, [r3, #4] cmp r8, #0 ldr r0, [r3, #16] @@ -17690,67 +17699,67 @@ FtlCacheWriteBack: strne r2, [sp, #4] mov r2, #1 bl log2phys - ldr r3, [r6, #3968] + ldr r3, [r6, #3972] add r3, r3, r5 ldr r3, [r3, #12] ldr r0, [r3, #12] cmn r0, #1 - beq .L2030 + beq .L2031 ubfx r0, r0, #10, #16 bl P2V_block_in_plane - ldr r2, [r7, #-2020] + ldr r2, [r7, #-2016] mov r3, r0, asl #1 mov sl, r0 ldrh r2, [r2, r3] cmp r2, #0 - bne .L2031 - ldr r0, .L2037+8 + bne .L2032 + ldr r0, .L2038+8 mov r1, sl bl printk -.L2031: +.L2032: mov r0, sl bl decrement_vpc_count -.L2030: +.L2031: add r9, r9, #1 add r5, r5, #36 - b .L2019 -.L2036: - ldr r6, .L2037+4 + b .L2020 +.L2037: + ldr r6, .L2038+4 mov r5, #0 - ldr r7, .L2037 + ldr r7, .L2038 mov r9, r5 -.L2019: - ldr r3, [r6, #3964] +.L2020: + ldr r3, [r6, #3968] cmp r9, r3 - bcc .L2032 + bcc .L2033 movw r4, #16386 - ldr r6, .L2037 - ldr r5, .L2037+12 - b .L2033 -.L2034: + ldr r6, .L2038 + ldr r5, .L2038+12 + b .L2034 +.L2035: mov r0, #1 mov r1, r0 bl ftl_do_gc subs r4, r4, #1 - beq .L2024 -.L2033: + beq .L2025 +.L2034: ldrh r3, [r6, r5] cmp r3, #0 - bne .L2034 -.L2024: - ldr r3, .L2037+4 + bne .L2035 +.L2025: + ldr r3, .L2038+4 mov r2, #0 - str r2, [r3, #3964] -.L2016: + str r2, [r3, #3968] +.L2017: mov r0, #0 ldmfd sp!, {r2, r3, r4, r5, r6, r7, r8, r9, sl, pc} -.L2038: +.L2039: .align 2 -.L2037: +.L2038: .word .LANCHOR2 .word .LANCHOR0 .word .LC132 - .word -1142 + .word -1138 .fnend .size FtlCacheWriteBack, .-FtlCacheWriteBack .align 2 @@ -17762,100 +17771,100 @@ FtlGcFreeTempBlock: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r0, r1, r2, r4, r5, r6, r7, r8, sl, lr} .save {r0, r1, r2, r4, r5, r6, r7, r8, sl, lr} - movw r3, #3912 - ldr r2, .L2062 + movw r3, #3916 + ldr r2, .L2063 ldrh r1, [r2, r3] - ldr r3, .L2062+4 - ldr r2, [r3, #-2092] + ldr r3, .L2063+4 + ldr r2, [r3, #-2088] cmp r2, #0 - bne .L2060 - ldr ip, .L2062+8 - ldrh r5, [r3, ip] + bne .L2061 + ldr ip, .L2063+8 + ldrh r4, [r3, ip] movw ip, #65535 - cmp r5, ip - beq .L2041 - cmp r0, #0 - beq .L2042 - ldr lr, .L2062+12 - movw r0, #3000 - ldrh r4, [lr, r0] cmp r4, ip + beq .L2042 + cmp r0, #0 + beq .L2043 + ldr lr, .L2063+12 + movw r0, #3000 + ldrh r5, [lr, r0] + cmp r5, ip movne r1, #2 - bne .L2042 + bne .L2043 strh r2, [lr, r0] @ movhi - ldr r2, .L2062+16 + sub r2, r2, #2000 ldrh r3, [r3, r2] cmp r3, #17 movhi r1, #2 -.L2042: - ldr r4, .L2062+4 - sub r0, r4, #1904 +.L2043: + ldr r0, .L2063+16 bl FtlGcScanTempBlk cmn r0, #1 str r0, [sp, #4] - beq .L2043 - ldr r3, [r4, #-2084] - mov r5, r5, asl #1 - ldrh r2, [r3, r5] + beq .L2044 + ldr r3, .L2063+4 + mov r4, r4, asl #1 + ldr r3, [r3, #-2080] + ldrh r2, [r3, r4] cmp r2, #4 - bls .L2044 + bls .L2045 sub r2, r2, #5 mov r0, #1 - strh r2, [r3, r5] @ movhi + strh r2, [r3, r4] @ movhi bl FtlEctTblFlush -.L2044: - ldr r3, .L2062+4 - ldr r2, [r3, #-1016] +.L2045: + ldr r3, .L2063+4 + ldr r2, [r3, #-1012] cmp r2, #0 - bne .L2045 - ldr r2, [r3, #-1616] + bne .L2046 + ldr r2, [r3, #-1612] ldr r0, [sp, #4] add r2, r2, #1 - str r2, [r3, #-1616] + str r2, [r3, #-1612] ubfx r0, r0, #10, #16 bl FtlBbmMapBadBlock bl FtlBbmTblFlush -.L2045: - ldr r3, .L2062+4 +.L2046: + ldr r3, .L2063+4 mov r2, #0 - str r2, [r3, #-1016] - b .L2058 -.L2043: - ldr r2, .L2062+12 + str r2, [r3, #-1012] + b .L2059 +.L2044: + ldr r2, .L2063+12 movw r3, #3000 ldrh r2, [r2, r3] movw r3, #65535 cmp r2, r3 - bne .L2058 -.L2041: - ldr r6, .L2062+4 + bne .L2059 +.L2042: + ldr r6, .L2063+4 movw r3, #65535 - ldr r5, .L2062+8 + ldr r5, .L2063+8 mov r4, #0 - str r4, [r6, #-1016] + str r4, [r6, #-1012] ldrh r2, [r6, r5] cmp r2, r3 moveq r0, r4 - beq .L2040 + beq .L2041 bl FtlCacheWriteBack - ldr ip, .L2062 - movw r0, #3912 - ldrb r1, [r6, #-1897] @ zero_extendqisi2 + ldr ip, .L2063 + movw r0, #3916 + ldrb r1, [r6, #-1893] @ zero_extendqisi2 ldrh r3, [r6, r5] ldrh r0, [ip, r0] - ldr r2, [r6, #-2020] - ldr sl, .L2062+20 + ldr r2, [r6, #-2016] + ldr sl, .L2063+20 mov r3, r3, asl #1 mul r1, r0, r1 strh r1, [r2, r3] @ movhi - ldr r3, [r6, #-1820] + ldr r3, [r6, #-1816] ldrh r2, [r6, sl] add r3, r2, r3 - str r3, [r6, #-1820] - b .L2046 -.L2049: + str r3, [r6, #-1816] + b .L2047 +.L2050: mov r7, #12 - ldr r8, [r6, #-1152] + ldr r8, [r6, #-1148] mul r7, r7, r4 add r1, sp, #4 mov r2, #0 @@ -17865,7 +17874,7 @@ FtlGcFreeTempBlock: ldr r0, [sp, #4] ldr r3, [r8, r7] cmp r0, r3 - bne .L2047 + bne .L2048 ubfx r0, r0, #10, #16 bl P2V_block_in_plane add r1, r5, #4 @@ -17874,118 +17883,120 @@ FtlGcFreeTempBlock: ldr r0, [r5, #8] bl log2phys mov r0, r7 - b .L2061 -.L2047: + b .L2062 +.L2048: ldr r3, [r5, #4] cmp r0, r3 - beq .L2048 - ldr r3, .L2062+8 + beq .L2049 + ldr r3, .L2063+8 ldrh r0, [r6, r3] -.L2061: +.L2062: bl decrement_vpc_count -.L2048: +.L2049: add r4, r4, #1 uxth r4, r4 -.L2046: +.L2047: ldrh r3, [r6, sl] - ldr r5, .L2062+4 + ldr r5, .L2063+4 cmp r3, r4 - bhi .L2049 + bhi .L2050 movw r0, #65535 + ldr r4, .L2063+8 bl decrement_vpc_count - ldr r3, .L2062 + ldr r3, .L2063 ldrb r3, [r3, #928] @ zero_extendqisi2 cmp r3, #0 - beq .L2050 - ldr r3, .L2062+8 - ldr r0, .L2062+24 - ldrh r1, [r5, r3] - bl printk -.L2050: - ldr r3, .L2062+8 - ldr r1, [r5, #-2020] - ldrh r0, [r5, r3] - mov r5, r3 - mov r2, r0, asl #1 - ldrh r2, [r1, r2] - cmp r2, #0 beq .L2051 - bl INSERT_DATA_LIST - b .L2052 + ldr r0, .L2063+24 + ldrh r1, [r5, r4] + bl printk .L2051: - bl INSERT_FREE_LIST + ldrh r0, [r5, r4] + ldr r2, [r5, #-2016] + mov r3, r0, asl #1 + ldrh r3, [r2, r3] + cmp r3, #0 + beq .L2052 + bl INSERT_DATA_LIST + b .L2053 .L2052: - ldr r4, .L2062+4 - mvn r3, #0 - ldr r2, .L2062+20 - strh r3, [r4, r5] @ movhi + bl INSERT_FREE_LIST +.L2053: + ldr r4, .L2063+4 + mvn r2, #0 + ldr r3, .L2063+8 + strh r2, [r4, r3] @ movhi mov r3, #0 + ldr r2, .L2063+20 strh r3, [r4, r2] @ movhi sub r2, r2, #12 strh r3, [r4, r2] @ movhi bl l2p_flush bl FtlVpcTblFlush - ldr r3, .L2062 - mov r0, r4 - ldr r1, .L2062+16 - ldr r2, .L2062+28 - ldr r3, [r3, #3836] + ldr r3, .L2063 + mov r1, r4 + ldr r3, [r3, #3840] cmp r3, #0 - beq .L2053 - ldr r3, [r4, #-1784] + beq .L2054 + ldr r3, [r4, #-1780] cmp r3, #29 - bhi .L2053 - ldrh r3, [r4, r2] - ldrh r2, [r4, r1] + bhi .L2054 + ldr r3, .L2063+28 mvn r1, #0 + ldr r2, .L2063+32 + ldrh r3, [r4, r3] + ldrh r2, [r4, r2] cmp r2, r3 movcc r3, r3, asl #1 - ldrcc r2, .L2062+32 + ldrcc r2, .L2063+36 strcch r3, [r4, r2] @ movhi - ldr r3, .L2062+36 - ldr r2, .L2062+4 + ldr r3, .L2063+40 + ldr r2, .L2063+4 strh r1, [r2, r3] @ movhi - b .L2060 -.L2053: - ldrh r2, [r0, r2] - ldrh r1, [r0, r1] - ldr r3, .L2062+4 + b .L2061 +.L2054: + ldr r2, .L2063+28 + ldr r0, .L2063+32 + ldr r3, .L2063+4 + ldrh r2, [r1, r2] + ldrh r1, [r1, r0] add r0, r2, r2, asl #1 cmp r1, r0, lsr #2 - ble .L2060 - ldr r1, .L2062+36 + ble .L2061 + ldr r1, .L2063+40 mvn r0, #0 strh r0, [r3, r1] @ movhi - ldr r1, .L2062 + ldr r1, .L2063 ldrb r0, [r1, #928] @ zero_extendqisi2 - ldr r1, .L2062+32 + ldr r1, .L2063+36 cmp r0, #0 subne r2, r2, #2 moveq r2, #20 strneh r2, [r3, r1] @ movhi streqh r2, [r3, r1] @ movhi - beq .L2040 - b .L2060 -.L2058: + beq .L2041 + b .L2061 +.L2059: mov r0, #1 - b .L2040 -.L2060: + b .L2041 +.L2061: mov r0, #0 -.L2040: +.L2041: ldmfd sp!, {r1, r2, r3, r4, r5, r6, r7, r8, sl, pc} -.L2063: +.L2064: .align 2 -.L2062: +.L2063: .word .LANCHOR0 .word .LANCHOR2 - .word -1904 + .word -1900 .word .LANCHOR1 - .word -2004 - .word -1148 + .word .LANCHOR2-1900 + .word -1144 .word .LC133 - .word -1780 - .word -1200 - .word -1764 + .word -1776 + .word -2000 + .word -1196 + .word -1760 .fnend .size FtlGcFreeTempBlock, .-FtlGcFreeTempBlock .align 2 @@ -17997,54 +18008,54 @@ Ftl_gc_temp_data_write_back: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r3, r4, r5, r6, r7, lr} .save {r3, r4, r5, r6, r7, lr} - ldr r3, .L2073 + ldr r3, .L2074 ldrb r3, [r3, #928] @ zero_extendqisi2 cmp r3, #0 - ldr r3, .L2073+4 - beq .L2065 - ldr r2, [r3, #-1184] + ldr r3, .L2074+4 + beq .L2066 + ldr r2, [r3, #-1180] tst r2, #1 - beq .L2065 - ldr r2, .L2073+8 + beq .L2066 + ldr r2, .L2074+8 ldrh r2, [r3, r2] cmp r2, #0 - bne .L2070 -.L2065: + bne .L2071 +.L2066: mov r2, #0 - ldr r0, [r3, #-972] - ldr r1, [r3, #-1184] + ldr r0, [r3, #-968] + ldr r1, [r3, #-1180] mov r3, r2 bl FlashProgPages mov r4, #0 - ldr r5, .L2073+4 + ldr r5, .L2074+4 mov r6, #36 - b .L2067 -.L2069: + b .L2068 +.L2070: mul r3, r6, r4 - ldr r1, [r5, #-972] + ldr r1, [r5, #-968] add r2, r1, r3 ldr r1, [r1, r3] cmn r1, #1 - bne .L2068 - ldr r2, .L2073+12 + bne .L2069 + ldr r2, .L2074+12 mov lr, #0 - ldr ip, [r7, #-2020] + ldr ip, [r7, #-2016] ldrh r0, [r7, r2] mov r0, r0, asl #1 strh lr, [ip, r0] @ movhi strh r1, [r7, r2] @ movhi - ldr r2, [r7, #-1616] + ldr r2, [r7, #-1612] add r2, r2, #1 - str r2, [r7, #-1616] - ldr r2, [r7, #-972] + str r2, [r7, #-1612] + ldr r2, [r7, #-968] add r3, r2, r3 ldr r0, [r3, #4] ubfx r0, r0, #10, #16 bl FtlBbmMapBadBlock bl FtlBbmTblFlush bl FtlGcPageVarInit - b .L2072 -.L2068: + b .L2073 +.L2069: ldr r3, [r2, #12] add r4, r4, #1 ldr r1, [r2, #4] @@ -18052,34 +18063,34 @@ Ftl_gc_temp_data_write_back: ldr r0, [r3, #12] ldr r2, [r3, #8] bl FtlGcUpdatePage -.L2067: - ldr r1, [r5, #-1184] - ldr r7, .L2073+4 +.L2068: + ldr r1, [r5, #-1180] + ldr r7, .L2074+4 cmp r4, r1 - bcc .L2069 - ldr r0, [r7, #-972] + bcc .L2070 + ldr r0, [r7, #-968] bl FtlGcBufFree - ldr r3, .L2073+8 + ldr r3, .L2074+8 mov r0, #0 - str r0, [r7, #-1184] + str r0, [r7, #-1180] ldrh r3, [r7, r3] cmp r3, r0 ldmnefd sp!, {r3, r4, r5, r6, r7, pc} mov r0, #1 bl FtlGcFreeTempBlock -.L2072: +.L2073: mov r0, #1 ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L2070: +.L2071: mov r0, #0 ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L2074: +.L2075: .align 2 -.L2073: +.L2074: .word .LANCHOR0 .word .LANCHOR2 + .word -1896 .word -1900 - .word -1904 .fnend .size Ftl_gc_temp_data_write_back, .-Ftl_gc_temp_data_write_back .align 2 @@ -18091,31 +18102,31 @@ FtlGcPageRecovery: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r4, r5, r6, lr} .save {r4, r5, r6, lr} - movw r5, #3912 - ldr r6, .L2077 - ldr r4, .L2077+4 + movw r5, #3916 + ldr r6, .L2078 + ldr r0, .L2078+4 + ldr r4, .L2078+8 ldrh r1, [r6, r5] - sub r0, r4, #1904 bl FtlGcScanTempBlk - ldr r3, .L2077+8 + ldr r3, .L2078+12 ldrh r2, [r4, r3] ldrh r3, [r6, r5] cmp r2, r3 ldmccfd sp!, {r4, r5, r6, pc} - ldr r0, .L2077+12 + sub r0, r4, #1088 bl FtlMapBlkWriteDumpData mov r0, #0 bl FtlGcFreeTempBlock mov r3, #0 - str r3, [r4, #-1016] + str r3, [r4, #-1012] ldmfd sp!, {r4, r5, r6, pc} -.L2078: +.L2079: .align 2 -.L2077: +.L2078: .word .LANCHOR0 + .word .LANCHOR2-1900 .word .LANCHOR2 - .word -1902 - .word .LANCHOR2-1092 + .word -1898 .fnend .size FtlGcPageRecovery, .-FtlGcPageRecovery .align 2 @@ -18125,30 +18136,31 @@ FtlPowerLostRecovery: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - stmfd sp!, {r4, r5, r6, lr} - .save {r4, r5, r6, lr} - mov r5, #0 - ldr r4, .L2080 - sub r6, r4, #2000 - str r5, [r4, #296] - sub r4, r4, #1952 - mov r0, r6 + stmfd sp!, {r3, r4, r5, lr} + .save {r3, r4, r5, lr} + mov r4, #0 + ldr r3, .L2081 + ldr r5, .L2081+4 + str r4, [r3, #300] + mov r0, r5 bl FtlRecoverySuperblock - mov r0, r6 + mov r0, r5 + add r5, r5, #48 bl FtlSlcSuperblockCheck - mov r0, r4 + mov r0, r5 bl FtlRecoverySuperblock - mov r0, r4 + mov r0, r5 bl FtlSlcSuperblockCheck bl FtlGcPageRecovery movw r0, #65535 bl decrement_vpc_count - mov r0, r5 - ldmfd sp!, {r4, r5, r6, pc} -.L2081: + mov r0, r4 + ldmfd sp!, {r3, r4, r5, pc} +.L2082: .align 2 -.L2080: +.L2081: .word .LANCHOR2 + .word .LANCHOR2-1996 .fnend .size FtlPowerLostRecovery, .-FtlPowerLostRecovery .align 2 @@ -18160,26 +18172,26 @@ FtlSysBlkInit: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r3, r4, r5, r6, r7, lr} .save {r3, r4, r5, r6, r7, lr} - mov r3, #292 - ldr r6, .L2093 + mov r3, #296 + ldr r6, .L2094 mov r2, #0 - ldr r4, .L2093+4 + ldr r4, .L2094+4 mvn r5, #0 - ldr r0, [r6, #3848] + ldr r0, [r6, #3852] strh r2, [r4, r3] @ movhi - movw r3, #290 + movw r3, #294 strh r5, [r4, r3] @ movhi uxth r0, r0 bl FtlFreeSysBlkQueueInit bl FtlScanSysBlk - ldr r3, .L2093+8 + ldr r3, .L2094+8 ldrh r2, [r4, r3] movw r3, #65535 cmp r2, r3 - beq .L2083 + beq .L2084 bl FtlLoadSysInfo subs r7, r0, #0 - bne .L2083 + bne .L2084 bl FtlLoadMapInfo bl FtlLoadVonderInfo bl Ftl_load_ext_data @@ -18189,57 +18201,57 @@ FtlSysBlkInit: bl FtlPowerLostRecovery mov r0, #1 bl FtlUpdateVaildLpn - movw r3, #3950 + movw r3, #3954 ldrh r2, [r6, r3] mov r3, r7 - ldr r1, [r4, #-1856] - b .L2084 -.L2086: + ldr r1, [r4, #-1852] + b .L2085 +.L2087: add r0, r1, r7 add r7, r7, #12 ldr r0, [r0, #4] cmp r0, #0 - blt .L2085 - add r3, r3, #1 -.L2084: - cmp r3, r2 blt .L2086 + add r3, r3, #1 .L2085: - ldr r4, .L2093+4 cmp r3, r2 - ldr r1, .L2093+12 + blt .L2087 +.L2086: + ldr r4, .L2094+4 + cmp r3, r2 + ldr r1, .L2094+12 ldrh r0, [r4, r1] add r0, r0, #1 strh r0, [r4, r1] @ movhi - blt .L2087 - mov r3, #292 + blt .L2088 + mov r3, #296 ldrh r3, [r4, r3] cmp r3, #0 - beq .L2088 -.L2087: - ldr r0, .L2093+16 + beq .L2089 +.L2088: + ldr r0, .L2094+16 bl FtlSuperblockPowerLostFix - ldr r0, .L2093+20 + ldr r0, .L2094+20 bl FtlSuperblockPowerLostFix - ldr r3, .L2093+24 - ldr r1, [r4, #-2020] - ldr r2, .L2093+28 + ldr r3, .L2094+24 + ldr r1, [r4, #-2016] + ldr r2, .L2094+28 ldrh r3, [r4, r3] ldrh r0, [r4, r2] mov r3, r3, asl #1 ldrh ip, [r1, r3] rsb r0, r0, ip strh r0, [r1, r3] @ movhi - ldr r0, .L2093 - movw r1, #3912 - ldr r3, .L2093+32 - ldr lr, [r4, #-2020] + ldr r0, .L2094 + movw r1, #3916 + ldr r3, .L2094+32 + ldr lr, [r4, #-2016] ldrh ip, [r0, r1] strh ip, [r4, r3] @ movhi mov r3, #0 strh r3, [r4, r2] @ movhi add r2, r2, #44 - strb r3, [r4, #-1994] + strb r3, [r4, #-1990] ldrh ip, [r4, r2] add r2, r2, #4 ldrh r5, [r4, r2] @@ -18248,77 +18260,77 @@ FtlSysBlkInit: rsb r5, r5, r6 strh r5, [lr, ip] @ movhi ldrh r0, [r0, r1] - ldr r1, .L2093+36 + ldr r1, .L2094+36 strh r3, [r4, r2] @ movhi - strb r3, [r4, #-1946] + strb r3, [r4, #-1942] strh r0, [r4, r1] @ movhi - ldr r0, .L2093+40 + ldr r0, .L2094+40 bl FtlMapBlkWriteDumpData - ldr r0, .L2093+44 + ldr r0, .L2094+44 bl FtlMapBlkWriteDumpData - ldr r3, .L2093+48 + ldr r3, .L2094+48 ldrh r2, [r4, r3] add r2, r2, #1 strh r2, [r4, r3] @ movhi bl l2p_flush bl FtlVpcTblFlush bl FtlVpcTblFlush -.L2088: - ldr r4, .L2093+4 +.L2089: + ldr r4, .L2094+4 movw r3, #65535 - ldr r5, .L2093+24 + ldr r5, .L2094+24 ldrh r2, [r4, r5] cmp r2, r3 - beq .L2089 - ldr r3, .L2093+28 + beq .L2090 + ldr r3, .L2094+28 ldrh r3, [r4, r3] cmp r3, #0 - bne .L2089 - ldr r3, .L2093+52 + bne .L2090 + ldr r3, .L2094+52 ldrh r3, [r4, r3] cmp r3, #0 - bne .L2089 + bne .L2090 bl FtlVpcTblFlush ldrh r0, [r4, r5] bl FtlGcRefreshOpenBlock - ldr r3, .L2093+56 + ldr r3, .L2094+56 ldrh r0, [r4, r3] bl FtlGcRefreshOpenBlock - add r0, r4, r5 + ldr r0, .L2094+16 bl allocate_new_data_superblock - sub r0, r4, #1952 + ldr r0, .L2094+20 bl allocate_new_data_superblock - add r0, r4, #244 + add r0, r4, #248 bl FtlMapBlkWriteDumpData -.L2089: - ldr r3, .L2093+12 - ldr r2, .L2093+4 +.L2090: + ldr r3, .L2094+12 + ldr r2, .L2094+4 ldrh r5, [r2, r3] ands r5, r5, #31 movne r5, #0 - bne .L2083 + bne .L2084 bl FtlVpcCheckAndModify -.L2083: +.L2084: mov r0, r5 ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L2094: +.L2095: .align 2 -.L2093: +.L2094: .word .LANCHOR0 .word .LANCHOR2 - .word -1776 - .word -2048 - .word .LANCHOR2-2000 - .word .LANCHOR2-1952 - .word -2000 + .word -1772 + .word -2044 + .word .LANCHOR2-1996 + .word .LANCHOR2-1948 .word -1996 - .word -1998 - .word -1950 - .word .LANCHOR2-1092 - .word .LANCHOR2+244 - .word -2046 + .word -1992 + .word -1994 + .word -1946 + .word .LANCHOR2-1088 + .word .LANCHOR2+248 + .word -2042 + .word -1944 .word -1948 - .word -1952 .fnend .size FtlSysBlkInit, .-FtlSysBlkInit .align 2 @@ -18330,25 +18342,25 @@ Ftl_get_new_temp_ppa: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r3, r4, r5, lr} .save {r3, r4, r5, lr} - ldr r3, .L2098 - ldr r5, .L2098+4 + ldr r3, .L2099 + ldr r5, .L2099+4 ldrh r2, [r5, r3] movw r3, #65535 cmp r2, r3 - beq .L2096 - ldr r3, .L2098+8 + beq .L2097 + ldr r3, .L2099+8 ldrh r3, [r5, r3] cmp r3, #0 - bne .L2097 -.L2096: + bne .L2098 +.L2097: bl FtlCacheWriteBack mov r0, #0 bl FtlGcFreeTempBlock - ldr r0, .L2098+12 + ldr r0, .L2099+12 mov r4, #0 - strb r4, [r5, #-1896] + strb r4, [r5, #-1892] bl allocate_data_superblock - ldr r3, .L2098+16 + ldr r3, .L2099+16 strh r4, [r5, r3] @ movhi add r3, r3, #12 strh r4, [r5, r3] @ movhi @@ -18356,18 +18368,18 @@ Ftl_get_new_temp_ppa: mov r0, r4 bl FtlEctTblFlush bl FtlVpcTblFlush -.L2097: - ldr r0, .L2098+12 +.L2098: + ldr r0, .L2099+12 ldmfd sp!, {r3, r4, r5, lr} b get_new_active_ppa -.L2099: +.L2100: .align 2 -.L2098: - .word -1904 - .word .LANCHOR2 +.L2099: .word -1900 - .word .LANCHOR2-1904 - .word -1160 + .word .LANCHOR2 + .word -1896 + .word .LANCHOR2-1900 + .word -1156 .fnend .size Ftl_get_new_temp_ppa, .-Ftl_get_new_temp_ppa .align 2 @@ -18380,21 +18392,21 @@ ftl_discard: stmfd sp!, {r0, r1, r2, r4, r5, r6, r7, lr} .save {r0, r1, r2, r4, r5, r6, r7, lr} add r2, r1, r0 - ldr r5, .L2110 + ldr r5, .L2111 mov r7, r0 mov r4, r1 - ldr r3, [r5, #3952] + ldr r3, [r5, #3956] cmp r2, r3 mvnhi r0, #0 - bhi .L2101 + bhi .L2102 cmp r1, #31 - bls .L2108 - ldr r3, .L2110+4 - ldr r3, [r3, #-2092] + bls .L2109 + ldr r3, .L2111+4 + ldr r3, [r3, #-2088] cmp r3, #0 - bne .L2108 + bne .L2109 bl FtlCacheWriteBack - movw r3, #3918 + movw r3, #3922 ldrh r6, [r5, r3] mov r0, r7 mov r1, r6 @@ -18403,69 +18415,69 @@ ftl_discard: mov r5, r0 uxth r7, r7 cmp r7, #0 - beq .L2102 + beq .L2103 rsb r6, r7, r6 add r5, r0, #1 cmp r6, r4 movcs r6, r4 uxth r6, r6 rsb r4, r6, r4 -.L2102: +.L2103: mvn r3, #0 - ldr r7, .L2110 + ldr r7, .L2111 str r3, [sp, #4] - movw r6, #3918 - b .L2103 -.L2105: + movw r6, #3922 + b .L2104 +.L2106: mov r0, r5 mov r1, sp mov r2, #0 bl log2phys ldr r3, [sp, #0] cmn r3, #1 - beq .L2104 - ldr r3, .L2110+4 + beq .L2105 + ldr r3, .L2111+4 add r1, sp, #4 mov r0, r5 - ldr r2, [r3, #440] + ldr r2, [r3, #444] add r2, r2, #1 - str r2, [r3, #440] - ldr r2, [r3, #-1836] + str r2, [r3, #444] + ldr r2, [r3, #-1832] add r2, r2, #1 - str r2, [r3, #-1836] + str r2, [r3, #-1832] mov r2, #1 bl log2phys ldr r0, [sp, #0] ubfx r0, r0, #10, #16 bl P2V_block_in_plane bl decrement_vpc_count -.L2104: +.L2105: ldrh r3, [r7, r6] add r5, r5, #1 rsb r4, r3, r4 -.L2103: +.L2104: ldrh r3, [r7, r6] cmp r4, r3 - bcs .L2105 - ldr r3, .L2110+4 + bcs .L2106 + ldr r3, .L2111+4 mov r4, #0 - ldr r2, [r3, #440] + ldr r2, [r3, #444] cmp r2, #32 - bls .L2109 - str r4, [r3, #440] + bls .L2110 + str r4, [r3, #444] bl l2p_flush bl FtlVpcTblFlush - b .L2109 -.L2108: - mov r0, #0 - b .L2101 + b .L2110 .L2109: - mov r0, r4 -.L2101: - ldmfd sp!, {r1, r2, r3, r4, r5, r6, r7, pc} -.L2111: - .align 2 + mov r0, #0 + b .L2102 .L2110: + mov r0, r4 +.L2102: + ldmfd sp!, {r1, r2, r3, r4, r5, r6, r7, pc} +.L2112: + .align 2 +.L2111: .word .LANCHOR0 .word .LANCHOR2 .fnend @@ -18512,21 +18524,21 @@ FtlSysFlush: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r3, lr} .save {r3, lr} - ldr r3, .L2117 - ldr r3, [r3, #-2092] + ldr r3, .L2118 + ldr r3, [r3, #-2088] cmp r3, #0 - bne .L2116 + bne .L2117 bl FtlCacheWriteBack bl l2p_flush mov r0, #1 bl FtlEctTblFlush bl FtlVpcTblFlush -.L2116: +.L2117: mov r0, #0 ldmfd sp!, {r3, pc} -.L2118: +.L2119: .align 2 -.L2117: +.L2118: .word .LANCHOR2 .fnend .size FtlSysFlush, .-FtlSysFlush @@ -18539,17 +18551,17 @@ FtlDeInit: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r3, lr} .save {r3, lr} - ldr r3, .L2121 + ldr r3, .L2122 ldr r3, [r3, #2996] cmp r3, #1 - bne .L2120 + bne .L2121 bl FtlSysFlush -.L2120: +.L2121: mov r0, #0 ldmfd sp!, {r3, pc} -.L2122: +.L2123: .align 2 -.L2121: +.L2122: .word .LANCHOR1 .fnend .size FtlDeInit, .-FtlDeInit @@ -18578,13 +18590,13 @@ rk_ftl_de_init: stmfd sp!, {r3, lr} .save {r3, lr} mov r1, #0 - ldr r0, .L2125 + ldr r0, .L2126 bl printk ldmfd sp!, {r3, lr} b ftl_deinit -.L2126: +.L2127: .align 2 -.L2125: +.L2126: .word .LC134 .fnend .size rk_ftl_de_init, .-rk_ftl_de_init @@ -18606,117 +18618,119 @@ ftl_fix_nand_power_lost_error: .fnstart @ args = 0, pretend = 0, frame = 48 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L2137 + ldr r3, .L2138 stmfd sp!, {r4, r5, r6, r7, r8, sl, lr} .save {r4, r5, r6, r7, r8, sl, lr} .pad #52 sub sp, sp, #52 ldrb r3, [r3, #928] @ zero_extendqisi2 cmp r3, #0 - beq .L2128 - ldr r4, .L2137+4 - movw r3, #290 - ldr r0, .L2137+8 + beq .L2129 + ldr r4, .L2138+4 + movw r3, #294 + ldr r0, .L2138+8 movw r7, #4097 ldrh r6, [r4, r3] - ldr r3, [r4, #-2020] + ldr r3, [r4, #-2016] mov r5, r6, asl #1 mov r1, r6 ldrh r2, [r3, r5] bl printk - ldr r3, .L2137+12 + ldr r3, .L2138+12 ldrh r0, [r4, r3] bl FtlGcRefreshOpenBlock - ldr r3, .L2137+16 + ldr r3, .L2138+16 ldrh r0, [r4, r3] bl FtlGcRefreshOpenBlock - sub r0, r4, #2000 + ldr r0, .L2138+20 bl allocate_new_data_superblock - sub r0, r4, #1952 + ldr r0, .L2138+24 bl allocate_new_data_superblock - b .L2130 -.L2132: + b .L2131 +.L2133: mov r0, #1 mov r1, r0 bl ftl_do_gc - ldr r3, [r4, #-2020] + ldr r3, [r4, #-2016] ldrh r3, [r3, r5] cmp r3, #0 - beq .L2131 -.L2130: - subs r7, r7, #1 - bne .L2132 + beq .L2132 .L2131: - ldr r7, .L2137+4 + subs r7, r7, #1 + bne .L2133 +.L2132: + ldr r7, .L2138+4 mov r1, r6 - ldr r0, .L2137+8 - ldr r3, [r7, #-2020] + ldr r0, .L2138+8 + ldr r3, [r7, #-2016] ldrh r2, [r3, r5] bl printk - ldr r3, [r7, #-2020] + ldr r3, [r7, #-2016] ldrh r4, [r3, r5] cmp r4, #0 - bne .L2133 + bne .L2134 add r8, sp, #48 mov r0, sp strh r6, [r8, #-48]! @ movhi add r8, r8, #14 bl make_superblock - ldr r2, .L2137 - movw r3, #3844 - ldr r7, [r7, #-2088] + ldr r2, .L2138 + movw r3, #3848 + ldr r7, [r7, #-2084] movw lr, #65535 mov ip, #36 ldrh sl, [r2, r3] mov r1, r4 mov r3, r4 - b .L2134 -.L2136: + b .L2135 +.L2137: ldrh r0, [r8, #2]! cmp r0, lr - beq .L2135 + beq .L2136 mla r2, ip, r4, r7 add r4, r4, #1 mov r0, r0, asl #10 uxth r4, r4 stmib r2, {r0, r1} str r1, [r2, #12] -.L2135: +.L2136: add r3, r3, #1 uxth r3, r3 -.L2134: +.L2135: cmp r3, sl - bne .L2136 - ldr r7, .L2137+4 + bne .L2137 + ldr r7, .L2138+4 mov r1, r6 - ldr r0, .L2137+20 - ldr r3, [r7, #-2020] + ldr r0, .L2138+28 + ldr r3, [r7, #-2016] ldrh r2, [r3, r5] bl printk mov r1, #0 mov r2, r4 - ldr r0, [r7, #-2088] + ldr r0, [r7, #-2084] bl FlashEraseBlocks - ldr r0, [r7, #-2088] + ldr r0, [r7, #-2084] mov r1, #1 mov r2, r4 bl FlashEraseBlocks -.L2133: - ldr r2, .L2137+4 - movw r3, #290 +.L2134: + ldr r2, .L2138+4 + movw r3, #294 mvn r1, #0 strh r1, [r2, r3] @ movhi -.L2128: +.L2129: add sp, sp, #52 ldmfd sp!, {r4, r5, r6, r7, r8, sl, pc} -.L2138: +.L2139: .align 2 -.L2137: +.L2138: .word .LANCHOR0 .word .LANCHOR2 .word .LC135 - .word -2000 - .word -1952 + .word -1996 + .word -1948 + .word .LANCHOR2-1996 + .word .LANCHOR2-1948 .word .LC136 .fnend .size ftl_fix_nand_power_lost_error, .-ftl_fix_nand_power_lost_error @@ -18727,72 +18741,72 @@ FtlInit: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 -.L2140: +.L2141: stmfd sp!, {r4, r5, r6, lr} .save {r4, r5, r6, lr} mvn r3, #0 - ldr r4, .L2150 - ldr r6, .L2150+4 - ldr r5, .L2150+8 - ldr r1, .L2150+12 + ldr r4, .L2151 + ldr r6, .L2151+4 + ldr r5, .L2151+8 + ldr r1, .L2151+12 str r3, [r6, #2996] mov r3, #0 - ldr r0, .L2150+16 - str r3, [r4, #444] - str r3, [r4, #-2092] + ldr r0, .L2151+16 + str r3, [r4, #448] + str r3, [r4, #-2088] bl printk - ldr r0, .L2150+20 + ldr r0, .L2151+20 bl FtlConstantsInit bl FtlMemInit bl FtlVariablesInit - ldr r0, [r5, #3848] + ldr r0, [r5, #3852] uxth r0, r0 bl FtlFreeSysBlkQueueInit bl FtlLoadBbt cmp r0, #0 - ldrne r0, .L2150+24 - bne .L2149 + ldrne r0, .L2151+24 + bne .L2150 bl FtlSysBlkInit cmp r0, #0 - beq .L2143 - ldr r0, .L2150+28 -.L2149: - ldr r1, .L2150+32 + beq .L2144 + ldr r0, .L2151+28 +.L2150: + ldr r1, .L2151+32 bl printk - b .L2142 -.L2143: + b .L2143 +.L2144: mov r1, #1 str r1, [r6, #2996] bl ftl_do_gc - ldr r3, .L2150+36 + ldr r3, .L2151+36 ldrh r3, [r4, r3] cmp r3, #15 - bhi .L2144 + bhi .L2145 mov r4, #1024 -.L2145: - mov r0, #1 - mov r1, r0 - bl ftl_do_gc - subs r4, r4, #1 - bne .L2145 - b .L2142 -.L2144: - ldrb r3, [r5, #928] @ zero_extendqisi2 - cmp r3, #0 - beq .L2142 - mov r4, #128 .L2146: mov r0, #1 mov r1, r0 bl ftl_do_gc subs r4, r4, #1 bne .L2146 -.L2142: + b .L2143 +.L2145: + ldrb r3, [r5, #928] @ zero_extendqisi2 + cmp r3, #0 + beq .L2143 + mov r4, #128 +.L2147: + mov r0, #1 + mov r1, r0 + bl ftl_do_gc + subs r4, r4, #1 + bne .L2147 +.L2143: mov r0, #0 ldmfd sp!, {r4, r5, r6, pc} -.L2151: +.L2152: .align 2 -.L2150: +.L2151: .word .LANCHOR2 .word .LANCHOR1 .word .LANCHOR0 @@ -18802,7 +18816,7 @@ FtlInit: .word .LC137 .word .LC138 .word .LANCHOR3+36 - .word -2004 + .word -2000 .fnend .size FtlInit, .-FtlInit .align 2 @@ -18814,294 +18828,296 @@ ftl_write.part.22: stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} mov r3, #2048 - ldr r4, .L2197 + ldr r4, .L2198 .pad #100 sub sp, sp, #100 - ldr r7, .L2197+4 + ldr r8, .L2198+4 mov r5, r1 - mov r8, r0 - str r2, [sp, #8] - str r3, [r4, #448] - movw r3, #3918 - ldrh r6, [r7, r3] + mov r7, r0 + mov r9, r2 + str r3, [r4, #452] + movw r3, #3922 + ldrh r6, [r8, r3] mov r1, r6 bl __aeabi_uidiv mov r1, r6 - str r0, [sp, #12] - sub r0, r8, #1 + str r0, [sp, #16] + sub r0, r7, #1 add r0, r0, r5 bl __aeabi_uidiv - ldr r3, [sp, #12] - ldr sl, [r7, #3964] + ldr r3, [sp, #16] + ldr sl, [r8, #3968] cmp sl, #0 - rsb r9, r3, r0 + rsb fp, r3, r0 str r0, [sp, #36] - add r3, r9, #1 - str r3, [sp, #16] - ldr lr, [sp, #16] - ldr r3, [r4, #-1832] + add r3, fp, #1 + str r3, [sp, #20] + ldr lr, [sp, #20] + ldr r3, [r4, #-1828] add r3, lr, r3 - str r3, [r4, #-1832] - ldr r3, [r4, #-1816] + str r3, [r4, #-1828] + ldr r3, [r4, #-1812] add r3, r5, r3 - str r3, [r4, #-1816] - beq .L2185 - ldr r3, [r7, #3968] + str r3, [r4, #-1812] + beq .L2186 + ldr r3, [r8, #3972] sub sl, sl, #1 mov r2, #36 - ldr r0, [sp, #12] + ldr r0, [sp, #16] mla sl, r2, sl, r3 ldr r3, [sl, #16] cmp r0, r3 - strne r5, [sp, #28] - bne .L2154 - ldr r3, [r4, #-1828] - mov r0, r8 + strne r5, [sp, #32] + bne .L2155 + ldr r3, [r4, #-1824] + mov r0, r7 mov r1, r6 add r3, r3, #1 - str r3, [r4, #-1828] - ldr r3, [r4, #452] + str r3, [r4, #-1824] + ldr r3, [r4, #456] add r3, r3, #1 - str r3, [r4, #452] + str r3, [r4, #456] bl __aeabi_uidivmod ldr r0, [sl, #8] - rsb r7, r1, r6 + rsb r8, r1, r6 add r0, r0, r1, asl #9 - cmp r7, r5 - movcs r7, r5 - ldr r1, [sp, #8] - mov fp, r7, asl #9 - mov r2, fp + cmp r8, r5 + movcs r8, r5 + mov r1, r9 + mov r3, r8, asl #9 + str r3, [sp, #4] + mov r2, r3 bl memcpy - cmp r9, #0 - bne .L2155 - ldr r3, [r4, #452] - cmp r3, #2 - ble .L2156 -.L2155: - rsb r3, r7, r5 - str r3, [sp, #28] - ldr r3, [sp, #8] - add r8, r8, r7 - str r9, [sp, #16] - add r3, r3, fp - str r3, [sp, #8] - ldr r3, [sp, #12] + cmp fp, #0 + ldr r3, [sp, #4] + bne .L2156 + ldr r2, [r4, #456] + cmp r2, #2 + ble .L2157 +.L2156: + add r9, r9, r3 + add r7, r7, r8 + ldr r3, [sp, #16] + rsb r1, r8, r5 + str fp, [sp, #20] add r3, r3, #1 - str r3, [sp, #12] -.L2154: - ldr r3, .L2197 + str r1, [sp, #32] + str r3, [sp, #16] +.L2155: + ldr r3, .L2198 mov r2, #0 - str r2, [r3, #452] - b .L2153 -.L2185: - str r5, [sp, #28] -.L2153: - ldr r0, [sp, #12] + str r2, [r3, #456] + b .L2154 +.L2186: + str r5, [sp, #32] +.L2154: + ldr r0, [sp, #16] ldr r1, [sp, #36] bl FtlCacheMetchLpa cmp r0, #0 - beq .L2157 + beq .L2158 bl FtlCacheWriteBack -.L2157: - ldr r7, .L2197 +.L2158: cmp r5, r6, asl #1 - ldr r4, .L2197+4 + ldr r3, .L2198 + ldr r4, .L2198+4 mov fp, #0 - movcc r3, #0 - movcs r3, #1 - sub r6, r7, #2000 - str r3, [sp, #20] - str r6, [r7, #436] + movcc r6, #0 + movcs r6, #1 + str r6, [sp, #24] + ldr r6, .L2198+8 + ldr r5, [sp, #16] mov sl, r4 - ldr r5, [sp, #12] str fp, [sp, #40] - b .L2194 -.L2183: - ldrh r3, [r6, #4] - cmp r3, #0 - bne .L2159 - ldr lr, .L2197+8 - cmp r6, lr + str r6, [r3, #440] + b .L2195 +.L2184: + ldrh r1, [r6, #4] + cmp r1, #0 bne .L2160 - ldr r3, .L2197+12 - ldrh r3, [r7, r3] - cmp r3, #0 + ldr r2, .L2198+8 + ldr r3, .L2198+12 + cmp r6, r2 bne .L2161 - sub r0, r9, #1952 - str r3, [sp, #0] + ldr r2, .L2198+16 + ldrh r8, [r8, r2] + cmp r8, #0 + bne .L2162 + ldr r0, .L2198+20 + str r3, [sp, #4] bl allocate_new_data_superblock - ldr r3, [sp, #0] - ldr r0, .L2197+16 - str r3, [r0, #3004] -.L2161: - ldr r0, .L2197+8 + ldr r3, [sp, #4] + str r8, [r3, #3004] +.L2162: + ldr r0, .L2198+8 + str r3, [sp, #4] bl allocate_new_data_superblock - ldr r1, .L2197+16 - ldr r3, .L2197+20 - ldr r2, [r1, #3004] + ldr r3, [sp, #4] + ldr r2, [r3, #3004] + ldr r3, .L2198+20 cmp r2, #0 movne r6, r3 - b .L2162 -.L2160: - ldr r2, .L2197+16 - str r3, [r2, #3004] - ldr r3, .L2197+24 - ldrh r3, [r7, r3] - cmp r3, #0 - subne r6, r9, #2000 - bne .L2162 - mov r0, r6 - bl allocate_new_data_superblock -.L2162: - ldrh r3, [r6, #4] + b .L2163 +.L2161: + str r1, [r3, #3004] + ldr r3, .L2198+24 + ldrh r3, [r8, r3] cmp r3, #0 + movne r6, r2 bne .L2163 mov r0, r6 bl allocate_new_data_superblock .L2163: - str r6, [r7, #436] -.L2159: - ldr r1, [r7, #-980] - mov r9, r6 - ldr r2, [r4, #3964] ldrh r3, [r6, #4] + cmp r3, #0 + bne .L2164 + mov r0, r6 + bl allocate_new_data_superblock +.L2164: + ldr r3, .L2198 + str r6, [r3, #440] +.L2160: + ldr r2, .L2198 + mov r8, r6 + ldrh r3, [r6, #4] + ldr r1, [r2, #-976] + ldr r2, [r4, #3968] rsb r2, r2, r1 cmp r3, r2 movcc r2, r3 - ldr r3, [sp, #16] + ldr r3, [sp, #20] cmp r2, r3 movcc r3, r2 str r3, [sp, #52] mov r3, #0 - str r3, [sp, #24] - b .L2164 -.L2180: - ldrh r3, [r9, #4] + str r3, [sp, #28] + b .L2165 +.L2181: + ldrh r3, [r8, #4] cmp r3, #0 - beq .L2165 - ldr lr, [sp, #36] - ldr r0, [sp, #20] - rsb r2, lr, r5 + beq .L2166 + ldr r6, [sp, #36] + rsb r2, r6, r5 + ldr r6, [sp, #24] rsbs r3, r2, #0 adc r3, r3, r2 - tst r3, r0 - beq .L2166 - ldr r1, [sp, #24] - cmp r1, #0 - beq .L2166 - movw lr, #3918 - ldr r0, [sp, #28] + tst r3, r6 + beq .L2167 + ldr r6, [sp, #28] + cmp r6, #0 + beq .L2167 + movw lr, #3922 + ldr r6, [sp, #32] ldrh r2, [r4, lr] - add r1, r0, r8 + add r1, r6, r7 mls r1, r2, r5, r1 cmp r1, r2 - bne .L2165 -.L2166: + bne .L2166 +.L2167: add r1, sp, #56 mov r2, #0 mov r0, r5 - str r3, [sp, #0] + str r3, [sp, #4] bl log2phys - mov r0, r9 + mov r0, r8 bl get_new_active_ppa - ldr r2, [r4, #3964] - ldr r1, [r4, #3968] + ldr lr, [r4, #3968] + ldr r1, [r4, #3972] + movw r2, #3928 mov ip, #36 - ldr lr, [r4, #3964] - mla r1, ip, r2, r1 - movw r2, #3924 ldrh r2, [r4, r2] - str r5, [r1, #16] - str r0, [r1, #4] - mul r0, lr, r2 - bic r0, r0, #3 - str r0, [sp, #44] - ldr r0, [r7, #-932] - ldr lr, [sp, #44] - str r0, [sp, #48] - add r6, r0, lr - movw r0, #3922 - ldr lr, [r4, #3964] - ldrh r0, [r4, r0] - str r6, [r1, #12] - mul lr, lr, r0 - ldr r0, [r7, #-952] - str lr, [sp, #32] + ldr r6, .L2198 + mla r1, ip, lr, r1 + mul lr, lr, r2 + ldr r6, [r6, #-928] bic lr, lr, #3 - add lr, r0, lr + str r6, [sp, #48] + str lr, [sp, #44] + add r6, r6, lr + str r5, [r1, #16] + str r6, [r1, #12] + str r0, [r1, #4] + movw r0, #3926 + ldrh lr, [r4, r0] + ldr r0, [r4, #3968] + mul lr, r0, lr + ldr r0, .L2198 + bic lr, lr, #3 + str lr, [sp, #12] + ldr lr, [r0, #-948] + ldr r0, [sp, #12] + add lr, lr, r0 mov r0, r6 str lr, [r1, #8] mov r1, #0 - str ip, [sp, #4] + str ip, [sp, #8] bl ftl_memset - ldr r0, [sp, #12] - ldr ip, [sp, #4] - rsb r3, r0, r5 - rsbs r0, r3, #0 - adc r0, r0, r3 - ldr r3, [sp, #0] - str r0, [sp, #32] - orrs r0, r0, r3 - beq .L2167 - ldr r1, [sp, #32] - cmp r1, #0 + ldr r1, [sp, #16] + ldr ip, [sp, #8] + rsb r3, r1, r5 + rsbs r1, r3, #0 + adc r1, r1, r3 + ldr r3, [sp, #4] + str r1, [sp, #12] + orrs r1, r1, r3 beq .L2168 - movw r2, #3918 - mov r0, r8 - ldrh fp, [r4, r2] + ldr r2, [sp, #12] + cmp r2, #0 + beq .L2169 + movw r3, #3922 + mov r0, r7 + ldrh fp, [r4, r3] mov r1, fp bl __aeabi_uidivmod - ldr r3, [sp, #28] + ldr r3, [sp, #32] rsb fp, r1, fp str r1, [sp, #40] cmp fp, r3 movcs fp, r3 - b .L2169 -.L2168: + b .L2170 +.L2169: cmp r3, #0 - beq .L2169 - ldr r3, [sp, #28] - movw lr, #3918 - add fp, r3, r8 + beq .L2170 + ldr r3, [sp, #32] + movw lr, #3922 + add fp, r3, r7 ldrh r3, [r4, lr] mls fp, r3, r5, fp - ldr r3, [sp, #32] + ldr r3, [sp, #12] str r3, [sp, #40] uxth fp, fp -.L2169: - movw lr, #3918 +.L2170: + movw lr, #3922 ldrh r3, [r4, lr] cmp fp, r3 - bne .L2170 - ldr r3, [sp, #32] - ldr r0, [sl, #3964] + bne .L2171 + ldr r3, [sp, #12] + ldr r0, [sl, #3968] cmp r3, #0 - ldr r2, [sl, #3968] + ldr r2, [sl, #3972] + ldr r3, [sp, #24] muleq r1, r5, fp - ldreq r3, [sp, #8] - ldrne r1, [sp, #8] - rsbeq r1, r8, r1 - addeq r1, r3, r1, asl #9 - ldr r3, [sp, #20] + movne r1, r9 + rsbeq r1, r7, r1 + addeq r1, r9, r1, asl #9 cmp r3, #0 mov r3, #36 mla r3, r3, r0, r2 strne r1, [r3, #8] - bne .L2173 + bne .L2174 ldr r0, [r3, #8] - movw r3, #3922 + movw r3, #3926 ldrh r2, [sl, r3] - b .L2195 -.L2170: + b .L2196 +.L2171: ldr r2, [sp, #56] mov r3, #36 cmn r2, #1 - beq .L2174 - ldr r1, [r4, #3964] + beq .L2175 + ldr r1, [r4, #3968] add r0, sp, #60 str r2, [sp, #64] - ldr r2, [r4, #3968] + ldr r2, [r4, #3972] str r5, [sp, #76] mla r3, r3, r1, r2 mov r1, #1 @@ -19113,184 +19129,180 @@ ftl_write.part.22: bl FlashReadPages ldr r3, [sp, #60] cmn r3, #1 - ldreq r3, [r7, #-1640] - addeq r3, r3, #1 - streq r3, [r7, #-1640] - beq .L2176 - ldr r3, [r6, #8] - cmp r3, r5 - beq .L2176 - ldr r3, [r7, #-1640] + ldr r3, .L2198 + ldreq r2, [r3, #-1636] + addeq r2, r2, #1 + streq r2, [r3, #-1636] + beq .L2177 + ldr r2, [r6, #8] + cmp r2, r5 + beq .L2177 + ldr r2, [r3, #-1636] + ldr r0, .L2198+28 + add r2, r2, #1 + str r2, [r3, #-1636] mov r2, r5 - ldr r0, .L2197+28 - add r3, r3, #1 - str r3, [r7, #-1640] ldr r1, [r6, #8] bl printk - b .L2176 -.L2174: - ldr r1, [r4, #3964] - ldr r2, [r4, #3968] + b .L2177 +.L2175: + ldr r1, [r4, #3968] + ldr r2, [r4, #3972] mla r3, r3, r1, r2 mov r1, #0 ldr r0, [r3, #8] - movw r3, #3922 + movw r3, #3926 ldrh r2, [r4, r3] bl ftl_memset -.L2176: - ldr r3, [sp, #32] - ldr r1, [r4, #3964] - ldr r2, [r4, #3968] +.L2177: + ldr r3, [sp, #12] + ldr r1, [r4, #3968] cmp r3, #0 + ldr r2, [r4, #3972] mov r3, #36 + movweq lr, #3922 mla r3, r3, r1, r2 + ldreqh r1, [r4, lr] + movne r1, r9 + mov r2, fp, asl #9 + muleq r1, r1, r5 ldrne r0, [r3, #8] ldrne r3, [sp, #40] - ldrne r1, [sp, #8] + rsbeq r1, r7, r1 + ldreq r0, [r3, #8] addne r0, r0, r3, asl #9 - bne .L2196 -.L2177: - movw lr, #3918 - ldr r0, [r3, #8] - ldrh r1, [r4, lr] - ldr r3, [sp, #8] - mul r1, r1, r5 - rsb r1, r8, r1 - add r1, r3, r1, asl #9 -.L2196: - mov r2, fp, asl #9 - b .L2195 -.L2167: - ldr r3, [sp, #20] - ldr r2, [r4, #3964] + addeq r1, r9, r1, asl #9 + b .L2196 +.L2168: + ldr r3, [sp, #24] + ldr r2, [r4, #3968] cmp r3, #0 - ldr r3, [r4, #3968] + ldr r3, [r4, #3972] mla ip, ip, r2, r3 - beq .L2178 - movw lr, #3918 - ldr r0, [sp, #8] + beq .L2179 + movw lr, #3922 ldrh r3, [r4, lr] mul r3, r3, r5 - rsb r3, r8, r3 - add r3, r0, r3, asl #9 + rsb r3, r7, r3 + add r3, r9, r3, asl #9 str r3, [ip, #8] - b .L2173 -.L2178: - movw r2, #3918 - ldr r3, [sp, #8] - ldrh r1, [r4, r2] - movw lr, #3922 + b .L2174 +.L2179: + movw r0, #3922 + movw r3, #3926 + ldrh r1, [r4, r0] + ldrh r2, [r4, r3] ldr r0, [ip, #8] - ldrh r2, [r4, lr] mul r1, r1, r5 - rsb r1, r8, r1 - add r1, r3, r1, asl #9 -.L2195: + rsb r1, r7, r1 + add r1, r9, r1, asl #9 +.L2196: bl memcpy -.L2173: - ldr r3, .L2197+32 - ldr r1, [sp, #48] - ldr r0, [sp, #44] - strh r3, [r1, r0] @ movhi - ldr r3, [r7, #-1804] +.L2174: + ldr r3, .L2198+32 + ldr r0, [sp, #48] + ldr lr, [sp, #44] + strh r3, [r0, lr] @ movhi + ldr r3, .L2198 str r5, [r6, #8] add r5, r5, #1 - str r3, [r6, #4] - add r3, r3, #1 - cmn r3, #1 - str r3, [r7, #-1804] - moveq r3, #0 - streq r3, [r7, #-1804] + ldr r2, [r3, #-1800] + str r2, [r6, #4] + add r2, r2, #1 + cmn r2, #1 + str r2, [r3, #-1800] + moveq r2, #0 + streq r2, [r3, #-1800] ldr r3, [sp, #56] str r3, [r6, #12] - ldrh r3, [r9, #0] + ldrh r3, [r8, #0] strh r3, [r6, #2] @ movhi - ldr r3, [r4, #3964] + ldr r3, [r4, #3968] add r3, r3, #1 - str r3, [r4, #3964] - ldr r3, [sp, #24] + str r3, [r4, #3968] + ldr r3, [sp, #28] add r3, r3, #1 - str r3, [sp, #24] -.L2164: - ldr r3, [sp, #24] - ldr lr, [sp, #52] - cmp r3, lr - bne .L2180 + str r3, [sp, #28] .L2165: - ldr r3, [sp, #16] - mov r6, r9 - ldr lr, [sp, #24] - ldr r2, [r4, #3964] + ldr r6, [sp, #28] + ldr r3, [sp, #52] + cmp r6, r3 + bne .L2181 +.L2166: + ldr r3, [sp, #20] + mov r6, r8 + ldr lr, [sp, #28] + ldr r2, [r4, #3968] rsb r3, lr, r3 - ldr r0, [sp, #20] - str r3, [sp, #16] - ldr r3, [r7, #-980] + str r3, [sp, #20] + ldr r3, .L2198 + ldr r0, [sp, #24] + ldr r3, [r3, #-976] cmp r2, r3 orrcs r0, r0, #1 uxtb r3, r0 cmp r3, #0 - bne .L2181 - ldrh r2, [r9, #4] + bne .L2182 + ldrh r2, [r8, #4] cmp r2, #0 - bne .L2191 -.L2181: + bne .L2192 +.L2182: bl FtlCacheWriteBack - ldr lr, [sp, #16] + ldr lr, [sp, #20] mov r3, #0 - str r3, [sl, #3964] + str r3, [sl, #3968] cmp lr, #1 - ldr r3, [sp, #20] + ldr r3, [sp, #24] movls r3, #0 -.L2191: - str r3, [sp, #20] -.L2194: - ldr r3, [sp, #16] - ldr r9, .L2197 +.L2192: + str r3, [sp, #24] +.L2195: + ldr r3, [sp, #20] + ldr r8, .L2198 cmp r3, #0 - bne .L2183 + bne .L2184 mov r0, r3 - ldr lr, [sp, #12] - ldr r3, [sp, #36] - rsb r1, lr, r3 + ldr r6, [sp, #36] + ldr r3, [sp, #16] + rsb r1, r3, r6 bl ftl_do_gc - ldr r3, .L2197+36 - ldrh r3, [r9, r3] + ldr r3, .L2198+36 + ldrh r3, [r8, r3] cmp r3, #31 - bhi .L2156 - ldr r2, .L2197+40 + bhi .L2157 + ldr r2, .L2198+40 mov r3, #128 mov r4, #16 - strh r3, [r9, r2] @ movhi - ldr r2, .L2197+44 - strh r3, [r9, r2] @ movhi -.L2184: + strh r3, [r8, r2] @ movhi + sub r2, r2, #2 + strh r3, [r8, r2] @ movhi +.L2185: mov r0, #0 mov r1, #1 bl ftl_do_gc - ldr r3, [r9, #-2092] + ldr r3, [r8, #-2088] cmp r3, #0 - bne .L2156 + bne .L2157 subs r4, r4, #1 - bne .L2184 -.L2156: + bne .L2185 +.L2157: mov r0, #0 add sp, sp, #100 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L2198: +.L2199: .align 2 -.L2197: +.L2198: .word .LANCHOR2 .word .LANCHOR0 - .word .LANCHOR2-2000 - .word -1948 + .word .LANCHOR2-1996 .word .LANCHOR1 - .word .LANCHOR2-1952 - .word -1996 + .word -1944 + .word .LANCHOR2-1948 + .word -1992 .word .LC139 .word -3947 - .word -2004 - .word -1198 - .word -1200 + .word -2000 + .word -1194 .fnend .size ftl_write.part.22, .-ftl_write.part.22 .align 2 @@ -19305,28 +19317,28 @@ ftl_write: mov r0, r1 mov r1, r2 mov r2, r3 - ldr r3, .L2204 - ldr r3, [r3, #-2092] + ldr r3, .L2205 + ldr r3, [r3, #-2088] cmp r3, #0 movne r0, #0 bxne lr cmp ip, #16 - bne .L2201 + bne .L2202 add r0, r0, #256 b FtlVendorPartWrite -.L2201: - ldr r3, .L2204+4 +.L2202: + ldr r3, .L2205+4 add ip, r1, r0 - ldr r3, [r3, #3952] + ldr r3, [r3, #3956] cmp ip, r3 - bhi .L2203 + bhi .L2204 b ftl_write.part.22 -.L2203: +.L2204: mvn r0, #0 bx lr -.L2205: +.L2206: .align 2 -.L2204: +.L2205: .word .LANCHOR2 .word .LANCHOR0 .fnend @@ -19437,25 +19449,25 @@ ftl_read: mov r4, r1 mov r8, r3 str r2, [sp, #28] - bne .L2212 + bne .L2213 add r0, r1, #256 mov r1, r2 mov r2, r3 bl FtlVendorPartRead str r0, [sp, #16] - b .L2213 -.L2212: + b .L2214 +.L2213: ldr r3, [sp, #28] add r3, r3, r1 str r3, [sp, #20] - ldr r3, .L2242 + ldr r3, .L2243 ldr r1, [sp, #20] - ldr r2, [r3, #3952] + ldr r2, [r3, #3956] cmp r1, r2 mvnhi r3, #0 strhi r3, [sp, #16] - bhi .L2213 - movw r2, #3918 + bhi .L2214 + movw r2, #3922 mov r0, r4 ldrh r5, [r3, r2] mov r1, r5 @@ -19470,45 +19482,45 @@ ftl_read: ldr r1, [sp, #28] add r3, r3, r0 str r3, [sp, #8] - ldr r3, .L2242+4 + ldr r3, .L2243+4 mov fp, r0 ldr r0, [sp, #12] - ldr r2, [r3, #-1812] + ldr r2, [r3, #-1808] add r2, r1, r2 ldr r1, [sp, #8] - str r2, [r3, #-1812] - ldr r2, [r3, #-1840] + str r2, [r3, #-1808] + ldr r2, [r3, #-1836] add r2, r1, r2 mov r1, fp - str r2, [r3, #-1840] + str r2, [r3, #-1836] bl FtlCacheMetchLpa cmp r0, #0 - beq .L2214 + beq .L2215 bl FtlCacheWriteBack -.L2214: +.L2215: mov r9, #0 ldr r6, [sp, #12] str r9, [sp, #32] mov r5, r9 str r9, [sp, #16] - ldr r7, .L2242 - b .L2237 -.L2231: + ldr r7, .L2243 + b .L2238 +.L2232: mov r2, #0 mov r0, r6 add r1, sp, #60 bl log2phys ldr r2, [sp, #60] cmn r2, #1 - bne .L2238 - b .L2241 -.L2219: + bne .L2239 + b .L2242 +.L2220: mla r0, r0, r6, sl cmp r0, r4 - bcc .L2218 + bcc .L2219 ldr r2, [sp, #20] cmp r0, r2 - bcs .L2218 + bcs .L2219 rsb r0, r4, r0 mov r1, #0 mov r2, #512 @@ -19516,28 +19528,28 @@ ftl_read: add r0, r8, r0, asl #9 bl ftl_memset ldr r3, [sp, #4] -.L2218: +.L2219: add sl, sl, #1 - b .L2216 -.L2241: + b .L2217 +.L2242: mov sl, #0 - movw r3, #3918 -.L2216: + movw r3, #3922 +.L2217: ldrh r0, [r7, r3] cmp sl, r0 - bcc .L2219 - b .L2220 -.L2238: - ldr r3, .L2242+4 + bcc .L2220 + b .L2221 +.L2239: + ldr r3, .L2243+4 mov sl, #36 - ldr r1, [r3, #-976] + ldr r1, [r3, #-972] mla sl, sl, r5, r1 ldr r1, [sp, #12] cmp r6, r1 str r2, [sl, #4] - movw r2, #3918 - bne .L2221 - ldr r3, [r3, #-948] + movw r2, #3922 + bne .L2222 + ldr r3, [r3, #-944] mov r0, r4 str r3, [sl, #8] ldrh r3, [r7, r2] @@ -19553,52 +19565,52 @@ ftl_read: str r1, [sp, #32] cmp r1, r3 streq r8, [sl, #8] - b .L2222 -.L2221: + b .L2223 +.L2222: cmp r6, fp ldrneh r3, [r7, r2] mulne r3, r3, r6 - bne .L2239 - ldr r3, [r3, #-944] + bne .L2240 + ldr r3, [r3, #-940] ldrh r2, [r7, r2] ldr r1, [sp, #20] str r3, [sl, #8] mul r3, r2, r6 rsb r9, r3, r1 cmp r9, r2 - bne .L2222 -.L2239: + bne .L2223 +.L2240: rsb r3, r4, r3 add r3, r8, r3, asl #9 str r3, [sl, #8] -.L2222: - movw r3, #3924 - ldr r2, .L2242+4 +.L2223: + movw r3, #3928 + ldr r2, .L2243+4 ldrh r3, [r7, r3] str r6, [sl, #16] - ldr r2, [r2, #-936] + ldr r2, [r2, #-932] mul r3, r3, r5 add r5, r5, #1 bic r3, r3, #3 add r3, r2, r3 str r3, [sl, #12] -.L2220: +.L2221: ldr r3, [sp, #8] add r6, r6, #1 subs r3, r3, #1 str r3, [sp, #8] - beq .L2224 - movw r3, #3844 + beq .L2225 + movw r3, #3848 ldrh r3, [r7, r3] cmp r5, r3, asl #3 - bne .L2237 -.L2224: + bne .L2238 +.L2225: cmp r5, #0 - beq .L2237 - ldr sl, .L2242+4 + beq .L2238 + ldr sl, .L2243+4 mov r1, r5 mov r2, #0 - ldr r0, [sl, #-976] + ldr r0, [sl, #-972] bl FlashReadPages ldr r3, [sp, #36] str r6, [sp, #52] @@ -19612,86 +19624,86 @@ ftl_read: str r3, [sp, #48] mov r3, #0 str r3, [sp, #24] -.L2230: +.L2231: ldr r3, [sp, #24] mov r5, #36 ldr r1, [sp, #12] mul r5, r5, r3 - ldr r3, [sl, #-976] + ldr r3, [sl, #-972] add r3, r3, r5 ldr r2, [r3, #16] cmp r2, r1 - bne .L2226 - ldr r1, [r3, #8] - ldr r3, [sl, #-948] - cmp r1, r3 - bne .L2227 - ldr r3, [sp, #40] - mov r0, r8 - ldr r2, [sp, #44] - add r1, r1, r3 - b .L2240 -.L2226: - cmp r2, fp bne .L2227 ldr r1, [r3, #8] ldr r3, [sl, #-944] cmp r1, r3 - bne .L2227 - movw r2, #3918 + bne .L2228 + ldr r3, [sp, #40] + mov r0, r8 + ldr r2, [sp, #44] + add r1, r1, r3 + b .L2241 +.L2227: + cmp r2, fp + bne .L2228 + ldr r1, [r3, #8] + ldr r3, [sl, #-940] + cmp r1, r3 + bne .L2228 + movw r2, #3922 ldrh r0, [r7, r2] ldr r2, [sp, #48] mul r0, r0, fp rsb r0, r4, r0 add r0, r8, r0, asl #9 -.L2240: +.L2241: bl memcpy -.L2227: - ldr r3, [sl, #-976] +.L2228: + ldr r3, [sl, #-972] add r0, r3, r5 ldr r2, [r3, r5] cmn r2, #1 streq r2, [sp, #16] - ldreq r1, [sl, #-1640] + ldreq r1, [sl, #-1636] addeq r1, r1, #1 - streq r1, [sl, #-1640] + streq r1, [sl, #-1636] ldr r3, [r3, r5] cmp r3, #256 - bne .L2229 + bne .L2230 ldr r0, [r0, #4] ubfx r0, r0, #10, #16 bl P2V_block_in_plane bl FtlGcRefreshBlock -.L2229: +.L2230: ldr r3, [sp, #24] add r3, r3, #1 str r3, [sp, #24] cmp r3, r6 - bne .L2230 + bne .L2231 ldr r6, [sp, #52] mov r5, #0 -.L2237: +.L2238: ldr r3, [sp, #8] cmp r3, #0 - bne .L2231 - ldr r3, .L2242+8 - ldr r2, .L2242+4 + bne .L2232 + ldr r3, .L2243+8 + ldr r2, .L2243+4 ldrh r3, [r2, r3] cmp r3, #0 - beq .L2213 + beq .L2214 ldr r0, [sp, #8] mov r1, #1 bl ftl_do_gc -.L2213: +.L2214: ldr r0, [sp, #16] add sp, sp, #68 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L2243: +.L2244: .align 2 -.L2242: +.L2243: .word .LANCHOR0 .word .LANCHOR2 - .word -1142 + .word -1138 .fnend .size ftl_read, .-ftl_read .align 2 @@ -19801,9 +19813,9 @@ rk_ftl_vendor_ops.constprop.26: mov r2, r3 mov r0, r1 mov r1, #128 - beq .L2250 + beq .L2251 b FlashBootVendorWrite -.L2250: +.L2251: b FlashBootVendorRead .fnend .size rk_ftl_vendor_ops.constprop.26, .-rk_ftl_vendor_ops.constprop.26 @@ -19817,21 +19829,21 @@ FlashLoadFactorBbt: stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} movw r2, #3062 - ldr r9, .L2260 + ldr r9, .L2261 movw r3, #3060 - ldr r4, .L2260+4 + ldr r4, .L2261+4 .pad #52 sub sp, sp, #52 mov r1, #0 mvn r7, #0 ldrh r3, [r9, r3] - add r0, r4, #228 + add r0, r4, #232 ldrh r8, [r9, r2] mov r2, #16 mov r6, #0 mul r8, r8, r3 bl ftl_memset - ldr r3, [r4, #224] + ldr r3, [r4, #228] str r6, [sp, #20] mov r4, r6 str r3, [sp, #24] @@ -19839,14 +19851,14 @@ FlashLoadFactorBbt: add r3, r8, r7 uxth r3, r3 str r3, [sp, #4] - b .L2252 -.L2258: + b .L2253 +.L2259: ldr r5, [sp, #4] sub r3, r8, #12 mul fp, r8, r4 - ldr sl, .L2260+4 - b .L2253 -.L2256: + ldr sl, .L2261+4 + b .L2254 +.L2257: add r2, fp, r5 mov r1, #1 add r0, sp, #12 @@ -19858,44 +19870,44 @@ FlashLoadFactorBbt: ldr r2, [sp, #12] ldr r3, [sp, #0] cmn r2, #1 - beq .L2254 - ldr r2, [sl, #224] + beq .L2255 + ldr r2, [sl, #228] ldrh r1, [r2, #0] movw r2, #61664 cmp r1, r2 - bne .L2254 - ldr r0, .L2260+8 + bne .L2255 + ldr r0, .L2261+8 mov r1, r4 mov r2, r5 add r6, r6, #1 bl printk - ldr r3, .L2260+4 + ldr r3, .L2261+4 uxth r6, r6 add r3, r3, r4, asl #1 - strh r5, [r3, #228] @ movhi - b .L2255 -.L2254: + strh r5, [r3, #232] @ movhi + b .L2256 +.L2255: sub r5, r5, #1 uxth r5, r5 -.L2253: +.L2254: cmp r5, r3 - bgt .L2256 -.L2255: + bgt .L2257 +.L2256: ldrb r3, [r9, #3762] @ zero_extendqisi2 add r4, r4, #1 cmp r3, r6 uxtb r4, r4 moveq r7, #0 -.L2252: +.L2253: ldrb r3, [r9, #3762] @ zero_extendqisi2 cmp r3, r4 - bhi .L2258 + bhi .L2259 mov r0, r7 add sp, sp, #52 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L2261: +.L2262: .align 2 -.L2260: +.L2261: .word .LANCHOR0 .word .LANCHOR2 .word .LC140 @@ -19908,7 +19920,7 @@ FlashReadFacBbtData: .fnstart @ args = 0, pretend = 0, frame = 40 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L2272 + ldr r3, .L2273 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, lr} .save {r4, r5, r6, r7, r8, r9, sl, lr} mov r6, r1 @@ -19919,20 +19931,20 @@ FlashReadFacBbtData: ldrh r2, [r3, r2] .pad #40 sub sp, sp, #40 - ldr r7, .L2272+4 + ldr r7, .L2273+4 mov r4, r0 mul r8, r8, r2 - ldr r3, [r7, #144] + ldr r3, [r7, #148] str r3, [sp, #12] - ldr r3, [r7, #224] + ldr r3, [r7, #228] uxth r8, r8 sub r5, r8, #1 mul sl, r8, r6 str r3, [sp, #16] uxth r5, r5 sub r8, r8, #16 - b .L2263 -.L2269: + b .L2264 +.L2270: mov r1, #1 add r3, r5, sl add r0, sp, #4 @@ -19942,22 +19954,22 @@ FlashReadFacBbtData: bl FlashReadPages ldr r3, [sp, #4] cmn r3, #1 - beq .L2264 - ldr r3, [r7, #224] + beq .L2265 + ldr r3, [r7, #228] ldrh r2, [r3, #0] movw r3, #61664 cmp r2, r3 - bne .L2264 + bne .L2265 cmp r4, #0 moveq r0, r4 - beq .L2265 - cmp r6, #0 - ldreq r3, .L2272+4 - moveq r0, #1 beq .L2266 - b .L2267 -.L2268: - ldr r2, [r3, #144] + cmp r6, #0 + ldreq r3, .L2273+4 + moveq r0, #1 + beq .L2267 + b .L2268 +.L2269: + ldr r2, [r3, #148] ubfx r1, r6, #5, #16 and lr, r6, #31 add r6, r6, #1 @@ -19965,36 +19977,36 @@ FlashReadFacBbtData: uxth r6, r6 orr ip, ip, r0, asl lr str ip, [r2, r1, asl #2] -.L2266: - ldr r2, [r3, #152] - cmp r6, r2 - bcc .L2268 .L2267: - ldr r3, .L2272+4 + ldr r2, [r3, #156] + cmp r6, r2 + bcc .L2269 +.L2268: + ldr r3, .L2273+4 mov r2, r9 mov r0, r4 - ldr r1, [r3, #144] + ldr r1, [r3, #148] bl memcpy mov r2, #4 - ldr r0, .L2272+8 + ldr r0, .L2273+8 mov r1, r4 mov r3, r2 bl rknand_print_hex mov r0, #0 - b .L2265 -.L2264: + b .L2266 +.L2265: sub r5, r5, #1 uxth r5, r5 -.L2263: +.L2264: cmp r5, r8 - bgt .L2269 + bgt .L2270 mvn r0, #0 -.L2265: +.L2266: add sp, sp, #40 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, pc} -.L2273: +.L2274: .align 2 -.L2272: +.L2273: .word .LANCHOR0 .word .LANCHOR2 .word .LC141 @@ -20007,30 +20019,30 @@ FlashGetBadBlockList: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L2281 + ldr r3, .L2282 stmfd sp!, {r4, r5, r6, r7, r8, lr} .save {r4, r5, r6, r7, r8, lr} mov r5, r0 ldr r3, [r3, #3624] - ldr r6, .L2281+4 + ldr r6, .L2282+4 ldrb r2, [r3, #13] @ zero_extendqisi2 ldrh r4, [r3, #14] - ldr r0, [r6, #132] + ldr r0, [r6, #136] mul r4, r4, r2 uxth r4, r4 add r2, r4, #7 mov r2, r2, lsr #3 bl FlashReadFacBbtData cmn r0, #1 - beq .L2280 + beq .L2281 mov r2, #0 mov r0, r4, lsr #4 mov r3, r2 sub r4, r4, #1 mov r1, #1 - b .L2276 -.L2278: - ldr ip, [r6, #132] + b .L2277 +.L2279: + ldr ip, [r6, #136] mov r8, r2, lsr #5 and r7, r2, #31 ldr ip, [ip, r8, asl #2] @@ -20040,24 +20052,24 @@ FlashGetBadBlockList: uxthne r3, r3 strneh r2, [r5, ip] @ movhi cmp r3, r0 - bcs .L2280 + bcs .L2281 add r2, r2, #1 uxth r2, r2 -.L2276: +.L2277: cmp r2, r4 - blt .L2278 - b .L2275 -.L2280: + blt .L2279 + b .L2276 +.L2281: mov r3, #0 -.L2275: +.L2276: mov r3, r3, asl #1 mvn r2, #0 mov r0, #0 strh r2, [r5, r3] @ movhi ldmfd sp!, {r4, r5, r6, r7, r8, pc} -.L2282: +.L2283: .align 2 -.L2281: +.L2282: .word .LANCHOR0 .word .LANCHOR2 .fnend @@ -20071,65 +20083,65 @@ FtlMakeBbt: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} - ldr r4, .L2301 - ldr r5, [r4, #-2092] + ldr r4, .L2302 + ldr r5, [r4, #-2088] cmp r5, #0 - bne .L2284 - ldr r7, .L2301+4 + bne .L2285 + ldr r7, .L2302+4 bl FtlBbtMemInit - ldr r6, .L2301+8 + ldr r6, .L2302+8 bl FtlLoadFactoryBbt add sl, r7, #12 - b .L2285 -.L2291: + b .L2286 +.L2292: ldrh r3, [sl], #2 movw r2, #65535 - ldr r0, [r4, #-964] - movw fp, #3908 - ldr r9, [r4, #-940] + ldr r0, [r4, #-960] + movw fp, #3912 + ldr r9, [r4, #-936] cmp r3, r2 - str r0, [r4, #184] - str r9, [r4, #188] - beq .L2286 + str r0, [r4, #188] + str r9, [r4, #192] + beq .L2287 ldrh r8, [r6, fp] mov r1, #1 mov r2, r1 - ldr r0, .L2301+12 + ldr r0, .L2302+12 mla r8, r8, r5, r3 mov r3, r8, asl #10 - str r3, [r4, #180] + str r3, [r4, #184] bl FlashReadPages ldrh r2, [r6, fp] ldr r0, [r7, #28] add r2, r2, #7 - ldr r1, [r4, #184] + ldr r1, [r4, #188] mov r2, r2, lsr #3 bl memcpy - b .L2287 -.L2286: + b .L2288 +.L2287: mov r1, r5 bl FlashGetBadBlockList - ldr r0, [r4, #184] + ldr r0, [r4, #188] ldr r1, [r7, #28] bl FtlBbt2Bitmap ldrh fp, [r6, fp] -.L2289: +.L2290: sub fp, fp, #1 uxth fp, fp -.L2300: - movw r8, #3908 +.L2301: + movw r8, #3912 ldrh r0, [r6, r8] mla r0, r0, r5, fp uxth r0, r0 bl FtlBbmIsBadBlock cmp r0, #1 - beq .L2289 + beq .L2290 mov r1, #0 mov r2, #16 strh fp, [sl, #-2] @ movhi - ldr r0, [r4, #-940] + ldr r0, [r4, #-936] bl ftl_memset - ldr r3, .L2301+16 + ldr r3, .L2302+16 strh r3, [r9, #0] @ movhi mov r3, #0 str r3, [r9, #4] @@ -20138,99 +20150,99 @@ FtlMakeBbt: strh r3, [r9, #2] @ movhi ldrh r3, [sl, #-2] ldr r1, [r7, #28] - ldr r0, [r4, #184] + ldr r0, [r4, #188] mla r8, r8, r5, r3 mov r3, r8, asl #10 - str r3, [r4, #180] - ldr r3, .L2301+20 + str r3, [r4, #184] + ldr r3, .L2302+20 ldrh r2, [r4, r3] mov r2, r2, asl #2 bl memcpy mov r1, #1 mov r2, r1 - ldr r0, .L2301+12 + ldr r0, .L2302+12 bl FlashEraseBlocks mov r1, #1 mov r3, r1 - ldr r0, .L2301+12 + ldr r0, .L2302+12 mov r2, r1 bl FlashProgPages - ldr r3, [r4, #176] + ldr r3, [r4, #180] cmn r3, #1 - bne .L2287 + bne .L2288 uxth r0, r8 bl FtlBbmMapBadBlock - b .L2300 -.L2287: + b .L2301 +.L2288: uxth r0, r8 add r5, r5, #1 bl FtlBbmMapBadBlock add r7, r7, #4 -.L2285: - movw r3, #3866 +.L2286: + movw r3, #3870 ldrh r3, [r6, r3] cmp r5, r3 - bcc .L2291 + bcc .L2292 mov r4, #0 - ldr r7, .L2301+8 - movw r6, #3926 - b .L2292 -.L2293: + ldr r7, .L2302+8 + movw r6, #3930 + b .L2293 +.L2294: mov r0, r4 add r4, r4, #1 bl FtlBbmMapBadBlock uxth r4, r4 -.L2292: +.L2293: ldrh r3, [r7, r6] - ldr r5, .L2301+8 + ldr r5, .L2302+8 cmp r3, r4 - bhi .L2293 - movw r7, #3988 - movw r6, #3976 + bhi .L2294 + movw r7, #3992 + movw r6, #3980 ldrh r4, [r5, r7] sub r4, r4, #1 uxth r4, r4 - b .L2294 -.L2299: + b .L2295 +.L2300: mov r0, r4 bl FtlBbmIsBadBlock cmp r0, #1 - beq .L2295 + beq .L2296 mov r0, r4 bl FlashTestBlk cmp r0, #0 - beq .L2296 + beq .L2297 mov r0, r4 bl FtlBbmMapBadBlock - b .L2295 -.L2296: + b .L2296 +.L2297: ldrh r2, [r5, r6] movw r3, #65535 cmp r2, r3 streqh r4, [r5, r6] @ movhi -.L2297: - ldrne r2, .L2301+8 - movwne r3, #3980 +.L2298: + ldrne r2, .L2302+8 + movne r3, #3984 strneh r4, [r2, r3] @ movhi - bne .L2298 -.L2295: + bne .L2299 +.L2296: sub r4, r4, #1 uxth r4, r4 -.L2294: +.L2295: ldrh r3, [r5, r7] sub r3, r3, #48 cmp r4, r3 - bgt .L2299 -.L2298: - ldr r4, .L2301+8 - movw r6, #3976 - ldr r3, .L2301 - movw r5, #3980 + bgt .L2300 +.L2299: + ldr r4, .L2302+8 + movw r6, #3980 + ldr r3, .L2302 + mov r5, #3984 mov r7, #0 - movw r8, #3978 - str r7, [r4, #3984] + movw r8, #3982 + str r7, [r4, #3988] mov r2, #2 - ldr r0, [r3, #-2088] + ldr r0, [r3, #-2084] mov r1, #1 ldrh r3, [r4, r6] strh r7, [r4, r8] @ movhi @@ -20245,27 +20257,27 @@ FtlMakeBbt: ldrh r0, [r4, r5] bl FtlBbmMapBadBlock bl FtlBbmTblFlush - ldr r3, [r4, #3984] + ldr r3, [r4, #3988] ldrh r2, [r4, r5] add r3, r3, #1 - str r3, [r4, #3984] + str r3, [r4, #3988] ldrh r3, [r4, r6] strh r7, [r4, r8] @ movhi strh r2, [r4, r6] @ movhi strh r3, [r4, r5] @ movhi bl FtlBbmTblFlush -.L2284: +.L2285: mov r0, #0 ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L2302: +.L2303: .align 2 -.L2301: +.L2302: .word .LANCHOR2 - .word .LANCHOR0+3976 + .word .LANCHOR0+3980 .word .LANCHOR0 - .word .LANCHOR2+176 + .word .LANCHOR2+180 .word -3872 - .word -1032 + .word -1028 .fnend .size FtlMakeBbt, .-FtlMakeBbt .align 2 @@ -20276,56 +20288,56 @@ FtlLowFormat.part.24: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} - movw r6, #3948 - ldr r5, .L2324 + mov r6, #3952 + ldr r5, .L2325 mov r1, #0 - ldr r4, .L2324+4 + ldr r4, .L2325+4 ldrh r2, [r5, r6] - ldr r0, [r4, #-904] + ldr r0, [r4, #-900] mov r2, r2, asl #2 bl ftl_memset ldrh r2, [r5, r6] mov r1, #0 - ldr r0, [r4, #-1036] + ldr r0, [r4, #-1032] mov r2, r2, asl #2 bl ftl_memset - ldr r0, [r5, #3848] + ldr r0, [r5, #3852] mov r3, #0 - str r3, [r4, #-1808] str r3, [r4, #-1804] + str r3, [r4, #-1800] uxth r0, r0 bl FtlFreeSysBlkQueueInit bl FtlLoadBbt cmp r0, #0 - beq .L2304 + beq .L2305 bl FtlMakeBbt -.L2304: +.L2305: mov r3, #0 - ldr ip, .L2324 - movw r0, #3918 - ldr r2, .L2324+4 - ldr r1, .L2324+8 - b .L2305 -.L2306: - ldr lr, [r2, #-948] + ldr ip, .L2325 + movw r0, #3922 + ldr r2, .L2325+4 + ldr r1, .L2325+8 + b .L2306 +.L2307: + ldr lr, [r2, #-944] mvn r4, r3 orr r4, r3, r4, asl #16 str r4, [lr, r3, asl #2] - ldr lr, [r2, #-944] + ldr lr, [r2, #-940] str r1, [lr, r3, asl #2] add r3, r3, #1 uxth r3, r3 -.L2305: +.L2306: ldrh lr, [ip, r0] - ldr r8, .L2324 + ldr r8, .L2325 cmp r3, lr, asl #7 - blt .L2306 - movw r3, #3852 + blt .L2307 + mov r3, #3856 mov r5, #0 ldrh r6, [r8, r3] - movw r7, #3854 - b .L2307 -.L2308: + movw r7, #3858 + b .L2308 +.L2309: mov r0, r6 mov r1, #1 bl FtlLowFormatEraseBlock @@ -20333,46 +20345,46 @@ FtlLowFormat.part.24: uxth r6, r6 add r5, r5, r0 uxth r5, r5 -.L2307: +.L2308: ldrh r3, [r8, r7] - ldr r4, .L2324 + ldr r4, .L2325 cmp r3, r6 - bhi .L2308 - movw r3, #3844 + bhi .L2309 + movw r3, #3848 ldrh r1, [r4, r3] sub r3, r5, #3 cmp r3, r1, asl #1 - blt .L2309 + blt .L2310 mov r0, r5 - movw r6, #3854 + movw r6, #3858 bl __aeabi_uidiv - ldr r3, [r4, #3944] + ldr r3, [r4, #3948] add r0, r0, r3 uxth r0, r0 bl FtlSysBlkNumInit - ldr r0, [r4, #3848] + ldr r0, [r4, #3852] uxth r0, r0 bl FtlFreeSysBlkQueueInit - movw r3, #3852 + mov r3, #3856 ldrh r5, [r4, r3] - b .L2310 -.L2311: + b .L2311 +.L2312: mov r0, r5 mov r1, #1 bl FtlLowFormatEraseBlock add r5, r5, #1 uxth r5, r5 -.L2310: +.L2311: ldrh r3, [r4, r6] cmp r3, r5 - bhi .L2311 -.L2309: + bhi .L2312 +.L2310: mov r4, #0 - ldr r8, .L2324 + ldr r8, .L2325 mov r6, r4 - movw r7, #3852 - b .L2312 -.L2313: + mov r7, #3856 + b .L2313 +.L2314: mov r0, r6 mov r1, #0 bl FtlLowFormatEraseBlock @@ -20380,18 +20392,18 @@ FtlLowFormat.part.24: uxth r6, r6 add r4, r4, r0 uxth r4, r4 -.L2312: +.L2313: ldrh r3, [r8, r7] - ldr r5, .L2324 + ldr r5, .L2325 cmp r3, r6 - bhi .L2313 - movw r3, #3854 - ldr r8, .L2324+4 + bhi .L2314 + movw r3, #3858 + ldr r8, .L2325+4 ldrh r3, [r5, r3] - ldr fp, [r5, #3856] - ldr r9, .L2324+12 - str r3, [r8, #-988] - movw r3, #3844 + ldr fp, [r5, #3860] + ldr r9, .L2325+12 + str r3, [r8, #-984] + movw r3, #3848 ldrh r6, [r5, r3] mov r0, fp mov r1, r6 @@ -20401,216 +20413,217 @@ FtlLowFormat.part.24: add r3, sl, #36 strh r3, [r8, r9] @ movhi mov r3, #24 - str r0, [r5, #3972] + str r0, [r5, #3976] mul r3, r3, r6 cmp r4, r3 - ble .L2314 + ble .L2315 rsb r0, r4, fp mov r1, r6 bl __aeabi_uidiv - str r0, [r5, #3972] + str r0, [r5, #3976] mov r0, r0, lsr #5 add r0, r0, #24 strh r0, [r8, r9] @ movhi -.L2314: - ldr r3, .L2324 - ldr r3, [r3, #3836] - cmp r3, #1 - bne .L2315 - mov r0, r4 - mov r1, r6 - bl __aeabi_uidiv - ldr r8, .L2324+4 - ldr r5, .L2324+12 - ldrh r9, [r8, r5] - uxtah r0, r9, r0 - add r9, r9, r0, lsr #2 - strh r9, [r8, r5] @ movhi .L2315: - ldr r3, .L2324 - ldrb r3, [r3, #928] @ zero_extendqisi2 - cmp r3, #0 - beq .L2316 + ldr r3, .L2325 + ldr r3, [r3, #3840] + cmp r3, #1 + bne .L2316 mov r0, r4 mov r1, r6 bl __aeabi_uidiv - ldr r8, .L2324+4 - ldr r5, .L2324+12 + ldr r8, .L2325+4 + ldr r5, .L2325+12 ldrh r9, [r8, r5] uxtah r0, r9, r0 add r9, r9, r0, lsr #2 strh r9, [r8, r5] @ movhi .L2316: - ldr r0, .L2324 - mov r3, #3904 - ldrh r3, [r0, r3] + ldr r3, .L2325 + ldrb r3, [r3, #928] @ zero_extendqisi2 cmp r3, #0 beq .L2317 - ldr r1, .L2324+4 - ldr r2, .L2324+12 + mov r0, r4 + mov r1, r6 + bl __aeabi_uidiv + ldr r8, .L2325+4 + ldr r5, .L2325+12 + ldrh r9, [r8, r5] + uxtah r0, r9, r0 + add r9, r9, r0, lsr #2 + strh r9, [r8, r5] @ movhi +.L2317: + ldr r0, .L2325 + movw r3, #3908 + ldrh r3, [r0, r3] + cmp r3, #0 + beq .L2318 + ldr r1, .L2325+4 + ldr r2, .L2325+12 ldrh ip, [r1, r2] add ip, ip, r3, lsr #1 strh ip, [r1, r2] @ movhi mul ip, r6, r3 cmp ip, r4 - strgt r7, [r0, #3972] + strgt r7, [r0, #3976] addgt r3, r3, #32 addgt sl, sl, r3 strgth sl, [r1, r2] @ movhi -.L2317: - ldr r4, .L2324+4 - ldr r5, .L2324 - ldr r3, .L2324+12 - ldr r2, [r5, #3972] +.L2318: + ldr r4, .L2325+4 + ldr r5, .L2325 + ldr r3, .L2325+12 + ldr r7, .L2325+16 + ldr r2, [r5, #3976] ldrh r3, [r4, r3] rsb r3, r3, r2 mul r6, r6, r3 - movw r3, #3912 + movw r3, #3916 ldrh r3, [r5, r3] - str r6, [r4, #212] + str r6, [r4, #216] mul r6, r3, r6 - movw r3, #3918 + movw r3, #3922 ldrh r3, [r5, r3] - str r6, [r5, #3972] + str r6, [r5, #3976] mul r6, r3, r6 - str r6, [r5, #3952] + str r6, [r5, #3956] + mvn r6, #0 bl FtlBbmTblFlush - movw r3, #3854 + movw r3, #3858 ldrh r2, [r5, r3] mov r1, #0 - ldr r0, [r4, #-2020] - ldr r6, .L2324+16 + ldr r0, [r4, #-2016] mov r2, r2, asl #1 bl ftl_memset - ldr r2, .L2324+20 - mvn r1, #0 + ldr r1, .L2325+20 mov r3, #0 - str r3, [r4, #-1848] - strh r1, [r4, r2] @ movhi - ldr r1, .L2324+24 - strb r3, [r4, #-1758] - strb r3, [r4, #-1756] + ldr r2, .L2325+24 + str r3, [r4, #-1844] strh r3, [r4, r1] @ movhi sub r1, r1, #236 - strb r3, [r4, #-1994] + strb r3, [r4, #-1754] strh r3, [r4, r1] @ movhi mov r1, #255 - strh r3, [r4, r6] @ movhi + strb r3, [r4, #-1752] + strb r3, [r4, #-1990] + strh r3, [r4, r7] @ movhi mov r3, #1 - strb r3, [r4, #-1992] - movw r3, #3852 + strb r3, [r4, #-1988] + mov r3, #3856 + strh r6, [r4, r2] @ movhi ldrh r2, [r5, r3] - ldr r0, [r4, #-1844] + ldr r0, [r4, #-1840] mov r2, r2, lsr #3 bl ftl_memset -.L2318: - ldr r5, .L2324+4 - sub r0, r5, #2000 - bl make_superblock - ldrb r3, [r4, #-1993] @ zero_extendqisi2 - cmp r3, #0 - bne .L2319 - ldrh r3, [r4, r6] - mvn r1, #0 - ldr r2, [r4, #-2020] - mov r3, r3, asl #1 - strh r1, [r2, r3] @ movhi - ldrh r3, [r4, r6] - add r3, r3, #1 - strh r3, [r4, r6] @ movhi - b .L2318 .L2319: - ldr r3, [r5, #-1808] - ldr r1, [r5, #-2020] - ldr r6, .L2324+28 - str r3, [r5, #-1988] + ldr r0, .L2325+28 + bl make_superblock + ldrb r3, [r4, #-1989] @ zero_extendqisi2 + ldr r5, .L2325+4 + cmp r3, #0 + ldr r3, .L2325+16 + bne .L2320 + ldrh r3, [r4, r7] + ldr r2, [r4, #-2016] + mov r3, r3, asl #1 + strh r6, [r2, r3] @ movhi + ldrh r3, [r4, r7] add r3, r3, #1 - str r3, [r5, #-1808] - ldr r3, .L2324+32 - ldrh r0, [r5, r3] - ldr r3, .L2324+16 + strh r3, [r4, r7] @ movhi + b .L2319 +.L2320: + ldr r2, [r5, #-1804] + mvn r7, #0 + ldr r1, [r5, #-2016] + ldr r6, .L2325+32 + str r2, [r5, #-1984] + add r2, r2, #1 + str r2, [r5, #-1804] + ldr r2, .L2325+36 + ldrh r0, [r5, r2] ldrh r2, [r5, r3] mov r2, r2, asl #1 strh r0, [r1, r2] @ movhi mov r2, #0 - ldr r0, .L2324+36 + ldr r0, .L2325+40 ldrh r3, [r5, r3] - strb r2, [r5, #-1946] + strb r2, [r5, #-1942] add r3, r3, #1 strh r2, [r5, r0] @ movhi strh r3, [r5, r6] @ movhi mov r3, #1 - strb r3, [r5, #-1944] -.L2320: - ldr r4, .L2324+4 - sub r0, r4, #1952 + strb r3, [r5, #-1940] +.L2321: + ldr r0, .L2325+44 bl make_superblock - ldrb r3, [r5, #-1945] @ zero_extendqisi2 + ldrb r3, [r5, #-1941] @ zero_extendqisi2 + ldr r4, .L2325+4 cmp r3, #0 - bne .L2321 + bne .L2322 ldrh r3, [r5, r6] - mvn r1, #0 - ldr r2, [r5, #-2020] + ldr r2, [r5, #-2016] mov r3, r3, asl #1 - strh r1, [r2, r3] @ movhi + strh r7, [r2, r3] @ movhi ldrh r3, [r5, r6] add r3, r3, #1 strh r3, [r5, r6] @ movhi - b .L2320 -.L2321: - ldr r3, [r4, #-1808] + b .L2321 +.L2322: + ldr r3, [r4, #-1804] mvn r5, #0 - ldr r2, [r4, #-2020] - str r3, [r4, #-1940] + ldr r2, [r4, #-2016] + str r3, [r4, #-1936] add r3, r3, #1 - str r3, [r4, #-1808] - ldr r3, .L2324+40 + str r3, [r4, #-1804] + ldr r3, .L2325+48 ldrh r1, [r4, r3] - ldr r3, .L2324+28 + sub r3, r3, #4 ldrh r3, [r4, r3] mov r3, r3, asl #1 strh r1, [r2, r3] @ movhi - ldr r3, .L2324+44 + ldr r3, .L2325+52 strh r5, [r4, r3] @ movhi bl FtlFreeSysBlkQueueOut - ldr r3, .L2324+48 + ldr r3, .L2325+56 mov r2, #0 strh r0, [r4, r3] @ movhi add r3, r3, #2 strh r2, [r4, r3] @ movhi add r3, r3, #2 - ldr r2, [r4, #212] + ldr r2, [r4, #216] strh r5, [r4, r3] @ movhi add r3, r3, #2 strh r2, [r4, r3] @ movhi - ldr r3, [r4, #-1808] - str r3, [r4, #-1768] + ldr r3, [r4, #-1804] + str r3, [r4, #-1764] add r3, r3, #1 - str r3, [r4, #-1808] + str r3, [r4, #-1804] bl FtlVpcTblFlush bl FtlSysBlkInit cmp r0, #0 ldmnefd sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} - ldr r3, .L2324+52 + ldr r3, .L2325+60 mov r2, #1 str r2, [r3, #2996] ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L2325: +.L2326: .align 2 -.L2324: +.L2325: .word .LANCHOR0 .word .LANCHOR2 .word 168778952 - .word -1780 - .word -2000 - .word -1764 - .word -1762 - .word -1952 - .word -1996 - .word -1950 - .word -1948 - .word -1904 .word -1776 + .word -1996 + .word -1758 + .word -1760 + .word .LANCHOR2-1996 + .word -1948 + .word -1992 + .word -1946 + .word .LANCHOR2-1948 + .word -1944 + .word -1900 + .word -1772 .word .LANCHOR1 .fnend .size FtlLowFormat.part.24, .-FtlLowFormat.part.24 @@ -20623,17 +20636,17 @@ FtlLowFormat: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r3, lr} .save {r3, lr} - ldr r3, .L2328 - ldr r3, [r3, #-2092] + ldr r3, .L2329 + ldr r3, [r3, #-2088] cmp r3, #0 - bne .L2327 + bne .L2328 bl FtlLowFormat.part.24 -.L2327: +.L2328: mov r0, #0 ldmfd sp!, {r3, pc} -.L2329: +.L2330: .align 2 -.L2328: +.L2329: .word .LANCHOR2 .fnend .size FtlLowFormat, .-FtlLowFormat @@ -20644,7 +20657,7 @@ HynixGetReadRetryDefault: .fnstart @ args = 0, pretend = 0, frame = 64 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L2415 + ldr r3, .L2416 mvn r2, #83 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} @@ -20660,16 +20673,16 @@ HynixGetReadRetryDefault: strb r0, [r3, #5] strb r1, [r3, #6] strb r2, [r3, #7] - bne .L2331 + bne .L2332 mvn r2, #88 strb r2, [r3, #4] - ldr r3, .L2415+4 + ldr r3, .L2416+4 mvn r2, #8 strb r2, [r3, #3025] - b .L2387 -.L2331: + b .L2388 +.L2332: cmp r4, #3 - bne .L2333 + bne .L2334 mvn r2, #79 strb r2, [r3, #4] mvn r2, #78 @@ -20685,10 +20698,10 @@ HynixGetReadRetryDefault: mvn r2, #73 strb r2, [r3, #10] mvn r2, #72 - b .L2410 -.L2333: + b .L2411 +.L2334: cmp r4, #4 - bne .L2334 + bne .L2335 mvn ip, #51 strb r0, [r3, #9] strb ip, [r3, #4] @@ -20701,14 +20714,14 @@ HynixGetReadRetryDefault: strb ip, [r3, #7] mvn ip, #50 strb ip, [r3, #8] -.L2410: +.L2411: mov r6, #8 strb r2, [r3, #11] mov r5, r6 - b .L2332 -.L2334: + b .L2333 +.L2335: cmp r4, #5 - bne .L2335 + bne .L2336 mov r2, #56 mov r6, #8 strb r2, [r3, #4] @@ -20718,10 +20731,10 @@ HynixGetReadRetryDefault: strb r2, [r3, #6] mov r2, #59 strb r2, [r3, #7] - b .L2409 -.L2335: + b .L2410 +.L2336: cmp r4, #6 - bne .L2336 + bne .L2337 mov r2, #14 mov r6, #12 strb r2, [r3, #4] @@ -20731,10 +20744,10 @@ HynixGetReadRetryDefault: strb r2, [r3, #6] mov r2, #17 strb r2, [r3, #7] - b .L2409 -.L2336: + b .L2410 +.L2337: cmp r4, #7 - bne .L2387 + bne .L2388 mvn r2, #79 mov r6, #12 strb r2, [r3, #4] @@ -20757,17 +20770,17 @@ HynixGetReadRetryDefault: strb r2, [r3, #12] mvn r2, #42 strb r2, [r3, #13] - b .L2332 -.L2387: + b .L2333 +.L2388: mov r6, #7 -.L2409: +.L2410: mov r5, #4 -.L2332: +.L2333: sub r3, r4, #1 cmp r3, #1 - bhi .L2405 - b .L2413 -.L2343: + bhi .L2406 + b .L2414 +.L2344: add r2, fp, r8 add r4, fp, #20 mov r7, #0 @@ -20779,7 +20792,7 @@ HynixGetReadRetryDefault: ldr r1, [r2, #864] add sl, sl, #8 add sl, r1, sl, asl #8 -.L2339: +.L2340: add r2, fp, r7 str r5, [sl, #8] mov r0, #80 @@ -20793,26 +20806,26 @@ HynixGetReadRetryDefault: ldr r3, [sp, #12] uxtb r2, r7 cmp r2, r6 - bcc .L2339 + bcc .L2340 mov r2, #0 - b .L2340 -.L2341: + b .L2341 +.L2342: ldrb r7, [r0, r1, asl #2] @ zero_extendqisi2 ldrb r5, [r4, r2] @ zero_extendqisi2 add r5, r7, r5 strb r5, [ip, r1, asl #3] add r1, r1, #1 cmp r1, #7 - bne .L2341 + bne .L2342 add r2, r2, #1 cmp r2, #4 - beq .L2342 -.L2340: + beq .L2343 +.L2341: mov r1, #1 add ip, r4, r2 add r0, r2, r9 - b .L2341 -.L2342: + b .L2342 +.L2343: add r8, r8, #1 mov r2, #0 strb r2, [r4, #16] @@ -20823,24 +20836,24 @@ HynixGetReadRetryDefault: strb r2, [r4, #48] strb r2, [r4, #41] strb r2, [r4, #49] - b .L2337 -.L2413: - ldr r9, .L2415+8 + b .L2338 +.L2414: + ldr r9, .L2416+8 mov r3, r6 mov r8, #0 mov r6, r5 -.L2337: - ldr fp, .L2415 +.L2338: + ldr fp, .L2416 ldrb r2, [fp, #3762] @ zero_extendqisi2 cmp r2, r8 - bhi .L2343 + bhi .L2344 mov r5, r6 mov r6, r3 - b .L2344 -.L2405: + b .L2345 +.L2406: sub r3, r4, #3 cmp r3, #4 - bhi .L2344 + bhi .L2345 mul r3, r6, r5 mov sl, #0 mov r7, sl @@ -20849,8 +20862,8 @@ HynixGetReadRetryDefault: mov r3, r3, asl #4 str r2, [sp, #24] str r3, [sp, #52] - b .L2345 -.L2386: + b .L2346 +.L2387: add r3, r1, sl ldrb r6, [r3, #3764] @ zero_extendqisi2 add r3, r1, r6, asl #3 @@ -20875,30 +20888,30 @@ HynixGetReadRetryDefault: cmp r4, #4 mov r3, #54 str r3, [r8, #8] - bne .L2348 + bne .L2349 mov r3, #255 str r3, [r8, #4] mov r3, #64 str r3, [r9, fp, asl #8] mov r3, #204 - b .L2411 -.L2348: + b .L2412 +.L2349: sub r3, r4, #5 cmp r3, #1 - ldrls r3, .L2415 + ldrls r3, .L2416 ldrlsb r3, [r3, #4] @ zero_extendqisi2 strls r3, [r8, #4] movls r3, #82 - bls .L2412 -.L2350: + bls .L2413 +.L2351: mov r3, #174 str r3, [r8, #4] mov r3, #176 str r7, [r9, fp, asl #8] -.L2411: +.L2412: str r3, [r8, #4] mov r3, #77 -.L2412: +.L2413: cmp r4, #6 str r3, [r9, fp, asl #8] mov r0, r6 @@ -20926,88 +20939,88 @@ HynixGetReadRetryDefault: cmp r3, #1 str r3, [sp, #36] movls r1, #16 - bls .L2354 + bls .L2355 cmp r4, #7 moveq r1, #32 movne r1, #2 -.L2354: - ldr r3, .L2415+12 - ldr r2, [r3, #144] - mov r3, #0 .L2355: + ldr r3, .L2416+12 + ldr r2, [r3, #148] + mov r3, #0 +.L2356: ldr r0, [r8, #0] strb r0, [r2, r3] add r3, r3, #1 uxtb r0, r3 cmp r0, r1 - bcc .L2355 + bcc .L2356 cmp r4, #7 - bne .L2356 + bne .L2357 mov r3, #0 -.L2358: +.L2359: ldrb r1, [r2, #0] @ zero_extendqisi2 cmp r1, #12 - beq .L2357 + beq .L2358 ldrb r1, [r2, #1] @ zero_extendqisi2 cmp r1, #10 - beq .L2357 + beq .L2358 add r3, r3, #1 add r2, r2, #4 uxtb r3, r3 cmp r3, #8 - bne .L2358 - b .L2359 -.L2357: + bne .L2359 + b .L2360 +.L2358: cmp r3, #6 - bls .L2360 -.L2359: - ldr r0, .L2415+16 + bls .L2361 +.L2360: + ldr r0, .L2416+16 mov r1, #0 bl printk -.L2361: - b .L2361 -.L2356: - cmp r4, #6 - bne .L2360 - mov r1, #8 .L2362: + b .L2362 +.L2357: + cmp r4, #6 + bne .L2361 + mov r1, #8 +.L2363: ldrb r3, [r2], #1 @ zero_extendqisi2 cmp r3, #12 - beq .L2360 + beq .L2361 ldrb r3, [r2, #7] @ zero_extendqisi2 cmp r3, #4 - beq .L2360 + beq .L2361 sub r1, r1, #1 uxtb r1, r1 cmp r1, #0 - bne .L2362 - b .L2414 -.L2364: - b .L2364 -.L2360: - ldr r3, .L2415+12 - mov r2, #0 - ldr ip, [r3, #144] - str ip, [sp, #40] + bne .L2363 + b .L2415 .L2365: + b .L2365 +.L2361: + ldr r3, .L2416+12 + mov r2, #0 + ldr ip, [r3, #148] + str ip, [sp, #40] +.L2366: ldr r1, [r8, #0] ldr lr, [sp, #40] ldr ip, [sp, #52] strb r1, [lr, r2] add r2, r2, #1 cmp r2, ip - blt .L2365 + blt .L2366 ldr r2, [sp, #24] - ldr r1, [r3, #144] + ldr r1, [r3, #148] mov r3, #8 mov ip, r2, asl #2 mov lr, r2, asl #3 add r1, r1, ip str ip, [sp, #32] -.L2367: +.L2368: mov r2, #0 mov r0, r2 -.L2366: +.L2367: ldr ip, [r1, r2] add r0, r0, #1 mvn ip, ip @@ -21015,14 +21028,14 @@ HynixGetReadRetryDefault: ldr ip, [sp, #24] add r2, r2, #4 cmp r0, ip - blt .L2366 + blt .L2367 subs r3, r3, #1 add r1, r1, lr - bne .L2367 + bne .L2368 str r3, [sp, #16] str sl, [sp, #60] - b .L2368 -.L2372: + b .L2369 +.L2373: mov lr, #1 mov r0, #0 mov ip, lr, asl r2 @@ -21030,7 +21043,7 @@ HynixGetReadRetryDefault: mov sl, #16 str r3, [sp, #4] str sl, [sp, #20] -.L2370: +.L2371: ldr r3, [sp, #56] ldr r3, [r3, r0] and sl, ip, r3 @@ -21041,13 +21054,13 @@ HynixGetReadRetryDefault: subs r3, r3, #1 add r0, r0, sl str r3, [sp, #20] - bne .L2370 + bne .L2371 cmp lr, #8 add r2, r2, #1 orrhi r1, r1, ip cmp r2, #32 ldr r3, [sp, #4] - bne .L2372 + bne .L2373 ldr ip, [sp, #16] ldr r2, [sp, #24] add ip, ip, #1 @@ -21056,50 +21069,50 @@ HynixGetReadRetryDefault: str ip, [sp, #16] str r1, [sl, r3] add r3, r3, #4 - bge .L2373 -.L2368: - ldr sl, .L2415+12 + bge .L2374 +.L2369: + ldr sl, .L2416+12 mov r1, #0 mov r2, r1 - ldr sl, [sl, #144] + ldr sl, [sl, #148] add ip, sl, r3 str ip, [sp, #56] str sl, [sp, #44] - b .L2372 -.L2373: - ldr r3, .L2415+12 + b .L2373 +.L2374: + ldr r3, .L2416+12 ldr sl, [sp, #60] - ldr r1, [r3, #144] + ldr r1, [r3, #148] mov r3, #0 mov r2, r3 -.L2375: +.L2376: ldr r0, [r1, r3] add r3, r3, #4 cmp r0, #0 addeq r2, r2, #1 cmp r3, #32 - bne .L2375 + bne .L2376 cmp r2, #7 - ble .L2376 - ldr r0, .L2415+20 + ble .L2377 + ldr r0, .L2416+20 mov r2, #1 mov r3, #1024 bl rknand_print_hex - ldr r0, .L2415+16 + ldr r0, .L2416+16 mov r1, #0 bl printk +.L2378: + b .L2378 .L2377: - b .L2377 -.L2376: cmp r4, #6 moveq r0, #4 streq r0, [sp, #16] - beq .L2378 + beq .L2379 cmp r4, #7 moveq lr, #10 movne lr, #8 str lr, [sp, #16] -.L2378: +.L2379: cmp r5, #0 ldr r0, [sp, #40] subne r3, r5, #1 @@ -21110,14 +21123,14 @@ HynixGetReadRetryDefault: ldr r1, [sp, #28] addne r3, r3, #1 strne r3, [sp, #20] - b .L2381 -.L2382: + b .L2382 +.L2383: ldrb lr, [ip], #1 @ zero_extendqisi2 strb lr, [r1, r3] add r3, r3, #1 uxtb lr, r3 cmp lr, r5 - bcc .L2382 + bcc .L2383 ldr r3, [sp, #20] add r2, r2, #1 ldr ip, [sp, #16] @@ -21125,12 +21138,12 @@ HynixGetReadRetryDefault: ldr r3, [sp, #48] add r1, r1, ip cmp r2, r3 - bge .L2383 -.L2381: + bge .L2384 +.L2382: mov ip, r0 mov r3, #0 - b .L2382 -.L2383: + b .L2383 +.L2384: mov r3, #255 mov r0, r6 str r3, [r8, #8] @@ -21139,10 +21152,10 @@ HynixGetReadRetryDefault: cmp ip, #1 movhi r3, #56 strhi r3, [r8, #8] - bhi .L2385 + bhi .L2386 mov r3, #54 str r3, [r8, #8] - ldr r3, .L2415 + ldr r3, .L2416 mov r0, sl mvn r1, #0 ldrb r3, [r3, #4] @ zero_extendqisi2 @@ -21151,30 +21164,30 @@ HynixGetReadRetryDefault: str r7, [r9, fp, asl #8] str r3, [r8, #8] bl FlashReadCmd -.L2385: +.L2386: mov r0, r6 add sl, sl, #1 bl NandcWaitFlashReady uxtb sl, sl -.L2345: - ldr r1, .L2415 +.L2346: + ldr r1, .L2416 ldrb r3, [r1, #3762] @ zero_extendqisi2 cmp r3, sl - bhi .L2386 + bhi .L2387 ldr r6, [sp, #48] -.L2344: - ldr r3, .L2415 +.L2345: + ldr r3, .L2416 strb r5, [r3, #1] strb r6, [r3, #2] add sp, sp, #68 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L2414: - ldr r0, .L2415+16 - bl printk - b .L2364 -.L2416: - .align 2 .L2415: + ldr r0, .L2416+16 + bl printk + b .L2365 +.L2417: + .align 2 +.L2416: .word .LANCHOR0 .word .LANCHOR1 .word .LANCHOR1+3008 @@ -21196,15 +21209,15 @@ FlashGetReadRetryDefault: ldmeqfd sp!, {r3, pc} sub r2, r3, #1 cmp r2, #6 - bhi .L2419 + bhi .L2420 ldmfd sp!, {r3, lr} b HynixGetReadRetryDefault -.L2419: +.L2420: cmp r3, #49 - bne .L2420 - ldr r0, .L2421 + bne .L2421 + ldr r0, .L2422 mov r2, #64 - ldr r1, .L2421+4 + ldr r1, .L2422+4 strb r3, [r0, #0] mov r3, #4 strb r3, [r0, #1] @@ -21213,12 +21226,12 @@ FlashGetReadRetryDefault: add r0, r0, #4 bl memcpy ldmfd sp!, {r3, pc} -.L2420: +.L2421: ldmfd sp!, {r3, lr} b FlashGetReadRetryDefault.part.25 -.L2422: +.L2423: .align 2 -.L2421: +.L2422: .word .LANCHOR0 .word .LANCHOR1+2924 .fnend @@ -21234,191 +21247,191 @@ FlashInit: .save {r4, r5, r6, r7, r8, lr} mov r7, r0 mov r0, #32768 - ldr r5, .L2474 + ldr r5, .L2475 bl ftl_malloc - ldr r6, .L2474+4 + ldr r6, .L2475+4 mov r4, #0 - str r0, [r5, #144] + str r0, [r5, #148] mov r0, #32768 bl ftl_malloc - str r0, [r5, #132] + str r0, [r5, #136] mov r0, #4096 bl ftl_malloc - str r0, [r5, #224] + str r0, [r5, #228] mov r0, #32768 bl ftl_malloc - str r0, [r5, #216] + str r0, [r5, #220] mov r0, #4096 bl ftl_malloc mov r3, #50 - str r4, [r5, #152] - strb r3, [r5, #160] + str r4, [r5, #156] + strb r3, [r5, #164] strb r3, [r6, #853] mov r3, #128 - str r4, [r5, #164] + str r4, [r5, #168] str r3, [r6, #856] mov r3, #60 - strb r4, [r6, #3773] - strb r3, [r5, #148] + strb r4, [r6, #3780] + strb r3, [r5, #152] strb r4, [r6, #852] - str r0, [r5, #220] + str r0, [r5, #224] mov r0, r7 bl NandcInit - ldr r5, .L2474+8 + ldr r5, .L2475+8 mov r7, #44 -.L2427: +.L2428: uxtb r0, r4 mov r1, r5 bl FlashReadIDRaw cmp r4, #0 - bne .L2424 + bne .L2425 ldrb r3, [r6, #2980] @ zero_extendqisi2 sub r3, r3, #1 uxtb r3, r3 cmp r3, #253 - bhi .L2465 + bhi .L2466 ldrb r3, [r6, #2981] @ zero_extendqisi2 cmp r3, #255 - beq .L2466 -.L2424: + beq .L2467 +.L2425: ldrb r3, [r5, #0] @ zero_extendqisi2 add r4, r4, #1 cmp r3, #181 streqb r7, [r5, #0] cmp r4, #4 add r5, r5, #8 - bne .L2427 - ldr r4, .L2474+4 + bne .L2428 + ldr r4, .L2475+4 ldrb r3, [r4, #2980] @ zero_extendqisi2 cmp r3, #173 - beq .L2428 - ldr r0, [r4, #3776] + beq .L2429 + ldr r0, [r4, #3784] bl NandcSetDdrMode -.L2428: - ldr r5, .L2474+4 +.L2429: + ldr r5, .L2475+4 mov r1, #0 mov r2, #852 mov r0, r5 bl ftl_memset - ldr r3, .L2474+12 + ldr r3, .L2475+12 str r3, [r4, #3624] mov r3, #0 strb r3, [r4, #860] ldrb r3, [r4, #2981] @ zero_extendqisi2 cmp r3, #161 cmpne r3, #241 - beq .L2429 + beq .L2430 cmp r3, #218 - beq .L2429 + beq .L2430 cmp r3, #209 - beq .L2429 + beq .L2430 cmp r3, #220 - bne .L2430 + bne .L2431 ldrb r2, [r5, #2983] @ zero_extendqisi2 cmp r2, #149 - bne .L2430 -.L2429: - ldr r2, .L2474+4 + bne .L2431 +.L2430: + ldr r2, .L2475+4 mov r1, #1 mov r0, #16 - ldr ip, .L2474+16 + ldr ip, .L2475+16 strb r1, [r2, #852] - ldr r1, .L2474 + ldr r1, .L2475 strb r0, [r2, #853] strb r3, [ip, #3038] - strb r0, [r1, #148] + strb r0, [r1, #152] ldrb r0, [r2, #2980] @ zero_extendqisi2 cmp r0, #152 strb r0, [ip, #3037] - bne .L2431 + bne .L2432 ldrb r0, [r2, #2984] @ zero_extendqisi2 sxtb r0, r0 cmp r0, #0 movge r0, #24 - strgeb r0, [r1, #148] -.L2431: - ldr r1, [r2, #3784] - ldr r2, .L2474+20 + strgeb r0, [r1, #152] +.L2432: + ldr r1, [r2, #3776] + ldr r2, .L2475+20 cmp r1, r2 - ldreq r2, .L2474 + ldreq r2, .L2475 moveq r1, #16 - streqb r1, [r2, #148] + streqb r1, [r2, #152] cmp r3, #218 - bne .L2433 - ldr r3, .L2474+16 + bne .L2434 + ldr r3, .L2475+16 movw r2, #3050 mov r1, #2048 strh r1, [r3, r2] @ movhi mvn r2, #37 - b .L2471 -.L2433: + b .L2472 +.L2434: cmp r3, #220 - bne .L2434 - ldr r3, .L2474+16 + bne .L2435 + ldr r3, .L2475+16 movw r2, #3050 mov r1, #4096 strh r1, [r3, r2] @ movhi mvn r2, #35 -.L2471: +.L2472: strb r2, [r3, #3038] -.L2434: - ldr r1, .L2474+24 +.L2435: + ldr r1, .L2475+24 mov r2, #32 - ldr r0, .L2474+28 + ldr r0, .L2475+28 bl memcpy - ldr r0, .L2474+12 + ldr r0, .L2475+12 mov r2, #32 add r1, r0, #144 bl memcpy -.L2430: - ldr r4, .L2474+4 +.L2431: + ldr r4, .L2475+4 ldrb r3, [r4, #852] @ zero_extendqisi2 cmp r3, #0 - bne .L2435 + bne .L2436 bl FlashLoadPhyInfoInRam cmp r0, #0 - bne .L2436 + bne .L2437 ldr r3, [r4, #3624] ldrh r0, [r3, #16] ubfx r0, r0, #8, #3 strb r0, [r4, #3772] tst r0, #1 - bne .L2436 + bne .L2437 mov r3, #1 - strb r3, [r4, #3773] + strb r3, [r4, #3780] bl FlashSetInterfaceMode ldrb r0, [r4, #3772] @ zero_extendqisi2 bl NandcSetMode -.L2436: - ldr r4, .L2474+4 +.L2437: + ldr r4, .L2475+4 ldr r3, [r4, #3624] ldrb r3, [r3, #26] @ zero_extendqisi2 strb r3, [r4, #928] bl FlashLoadPhyInfo cmp r0, #0 - beq .L2435 - ldr r3, [r4, #3776] + beq .L2436 + ldr r3, [r4, #3784] cmp r3, #0 - beq .L2438 + beq .L2439 mov r0, #1 bl FlashSetInterfaceMode mov r0, #1 - b .L2472 -.L2438: + b .L2473 +.L2439: ldrb r0, [r4, #3772] @ zero_extendqisi2 bl FlashSetInterfaceMode ldrb r0, [r4, #3772] @ zero_extendqisi2 -.L2472: +.L2473: bl NandcSetMode bl FlashLoadPhyInfo cmp r0, #0 - beq .L2435 - ldr r4, .L2474+4 + beq .L2436 + ldr r4, .L2475+4 mov r0, #1 bl FlashSetInterfaceMode mov r0, #1 bl NandcSetMode - ldr r0, .L2474+32 + ldr r0, .L2475+32 ldr r3, [r4, #3624] ldrh r1, [r3, #14] bl printk @@ -21429,38 +21442,38 @@ FlashInit: ldr r3, [r4, #3624] ldrb r0, [r3, #19] @ zero_extendqisi2 bl FlashGetReadRetryDefault - ldr r1, .L2474+36 - ldr r0, .L2474 + ldr r1, .L2475+36 + ldr r0, .L2475 ldr r3, [r4, #3624] ldrh r1, [r0, r1] ldrb r2, [r3, #9] @ zero_extendqisi2 add r1, r1, #4080 add r1, r1, #15 cmp r2, r1, lsr #12 - blt .L2441 + blt .L2442 ldrh r1, [r3, #14] add r1, r1, #255 cmp r2, r1, lsr #8 - bge .L2442 -.L2441: + bge .L2443 +.L2442: ldrh r2, [r3, #14] bic r2, r2, #255 strh r2, [r3, #14] @ movhi -.L2442: - ldr r3, .L2474+4 +.L2443: + ldr r3, .L2475+4 ldrb r3, [r3, #3772] @ zero_extendqisi2 tst r3, #6 - beq .L2443 + beq .L2444 bl FlashSavePhyInfo - ldr r3, .L2474 + ldr r3, .L2475 mov r0, #0 - ldr r1, [r3, #156] + ldr r1, [r3, #160] bl FlashDdrParaScan -.L2443: +.L2444: bl FlashSavePhyInfo -.L2435: - ldr r4, .L2474+4 - ldr r5, .L2474 +.L2436: + ldr r4, .L2475+4 + ldr r5, .L2475 ldr r3, [r4, #3624] ldrb r2, [r3, #26] @ zero_extendqisi2 ldrh r0, [r3, #10] @@ -21470,14 +21483,14 @@ FlashInit: ubfx r1, r2, #7, #1 strb r1, [r4, #860] ubfx r1, r2, #3, #1 - strb r1, [r5, #172] + strb r1, [r5, #176] ubfx r1, r2, #4, #1 ubfx r2, r2, #8, #3 - strb r1, [r4, #3833] + strb r1, [r4, #3837] strb r2, [r4, #3772] mov r2, #0 ldrb r1, [r3, #12] @ zero_extendqisi2 - str r2, [r5, #168] + str r2, [r5, #172] bl __aeabi_idiv mov r1, r0 mov r0, r6 @@ -21486,157 +21499,157 @@ FlashInit: ldr r3, [r4, #3624] ldrh r2, [r3, #16] tst r2, #64 - beq .L2444 + beq .L2445 ldrb r0, [r3, #19] @ zero_extendqisi2 ldrb r3, [r4, #1] @ zero_extendqisi2 strb r0, [r4, #3761] strb r3, [r4, #3760] ldrb r3, [r4, #2] @ zero_extendqisi2 - strb r3, [r5, #136] + strb r3, [r5, #140] sub r3, r0, #1 uxtb r3, r3 cmp r3, #6 - bhi .L2445 - ldr r3, .L2474+40 - str r3, [r5, #168] + bhi .L2446 + ldr r3, .L2475+40 + str r3, [r5, #172] sub r3, r0, #5 uxtb r3, r3 cmp r3, #1 movls r3, #1 - strls r3, [r4, #3824] - bls .L2447 + strls r3, [r4, #3828] + bls .L2448 cmp r0, #7 addeq r4, r4, #28 - beq .L2448 -.L2447: - ldr r4, .L2474+44 + beq .L2449 .L2448: + ldr r4, .L2475+44 +.L2449: mov r3, #0 mov r2, r3 -.L2450: +.L2451: ldrsb r1, [r4, r2] add r2, r2, #1 cmp r1, #0 addeq r3, r3, #1 cmp r2, #32 - bne .L2450 + bne .L2451 cmp r3, #27 - bls .L2444 + bls .L2445 bl FlashGetReadRetryDefault bl FlashSavePhyInfo - b .L2444 -.L2445: + b .L2445 +.L2446: sub r3, r0, #17 uxtb r3, r3 cmp r3, #2 - bhi .L2451 - ldr r3, .L2474+48 + bhi .L2452 + ldr r3, .L2475+48 cmp r0, #19 - str r3, [r5, #168] + str r3, [r5, #172] mov r3, #7 - strb r3, [r5, #136] + strb r3, [r5, #140] moveq r3, #15 - streqb r3, [r5, #136] - b .L2444 -.L2451: + streqb r3, [r5, #140] + b .L2445 +.L2452: cmp r0, #33 cmpne r0, #65 - beq .L2452 + beq .L2453 cmp r0, #66 - bne .L2453 -.L2452: - ldr r3, .L2474 + bne .L2454 +.L2453: + ldr r3, .L2475 mov r1, #4 - ldr r2, .L2474+52 - str r2, [r3, #168] - ldr r2, .L2474+4 + ldr r2, .L2475+52 + str r2, [r3, #172] + ldr r2, .L2475+4 strb r1, [r2, #3760] mov r2, #7 - strb r2, [r3, #136] - b .L2444 -.L2453: + strb r2, [r3, #140] + b .L2445 +.L2454: cmp r0, #67 cmpne r0, #34 - beq .L2454 + beq .L2455 cmp r0, #35 - beq .L2454 + beq .L2455 cmp r0, #68 - bne .L2455 -.L2454: - ldr r3, .L2474 + bne .L2456 +.L2455: + ldr r3, .L2475 cmp r0, #35 cmpne r0, #68 - ldr r2, .L2474+52 + ldr r2, .L2475+52 sub r0, r0, #67 uxtb r0, r0 - str r2, [r3, #168] + str r2, [r3, #172] mov r2, #7 - strb r2, [r3, #136] + strb r2, [r3, #140] moveq r2, #17 - streqb r2, [r3, #136] + streqb r2, [r3, #140] cmp r0, #1 - ldr r3, .L2474+4 + ldr r3, .L2475+4 movls r2, #4 movhi r2, #5 strb r2, [r3, #3760] - b .L2444 -.L2455: + b .L2445 +.L2456: cmp r0, #49 - ldreq r3, .L2474+56 - streq r3, [r5, #168] -.L2444: - ldr r2, .L2474+4 - ldr r3, .L2474+20 - ldr r1, [r2, #3784] + ldreq r3, .L2475+56 + streq r3, [r5, #172] +.L2445: + ldr r2, .L2475+4 + ldr r3, .L2475+20 + ldr r1, [r2, #3776] cmp r1, r3 - bne .L2458 + bne .L2459 ldrb r3, [r2, #928] @ zero_extendqisi2 cmp r3, #0 ldrne r3, [r2, #3624] movne r1, #0 strneb r1, [r3, #18] -.L2458: +.L2459: ldrb r2, [r2, #2980] @ zero_extendqisi2 - ldr r3, .L2474+4 + ldr r3, .L2475+4 cmp r2, #44 - bne .L2459 - ldrb r2, [r3, #3773] @ zero_extendqisi2 - cmp r2, #0 - beq .L2459 - ldr r1, [r3, #3784] - ldr r2, .L2474+20 - cmp r1, r2 bne .L2460 + ldrb r2, [r3, #3780] @ zero_extendqisi2 + cmp r2, #0 + beq .L2460 + ldr r1, [r3, #3776] + ldr r2, .L2475+20 + cmp r1, r2 + bne .L2461 ldrb r3, [r3, #928] @ zero_extendqisi2 cmp r3, #0 - bne .L2459 -.L2460: - ldr r3, .L2474+4 + bne .L2460 +.L2461: + ldr r3, .L2475+4 mov r2, #0 mov r0, #1 - strb r2, [r3, #3773] + strb r2, [r3, #3780] bl FlashSetInterfaceMode mov r0, #1 bl NandcSetMode -.L2459: +.L2460: mov r0, #0 bl flash_enter_slc_mode - ldr r2, .L2474+4 + ldr r2, .L2475+4 ldrb r3, [r2, #3772] @ zero_extendqisi2 tst r3, #6 - beq .L2461 - ldrb r2, [r2, #3773] @ zero_extendqisi2 + beq .L2462 + ldrb r2, [r2, #3780] @ zero_extendqisi2 cmp r2, #0 - bne .L2462 + bne .L2463 tst r3, #1 - bne .L2461 -.L2462: - ldr r3, .L2474 + bne .L2462 +.L2463: + ldr r3, .L2475 mov r0, #0 - ldr r1, [r3, #156] + ldr r1, [r3, #160] bl FlashDdrParaScan -.L2461: - ldr r4, .L2474+4 +.L2462: + ldr r4, .L2475+4 mov r0, #0 bl flash_exit_slc_mode mov r8, #16 @@ -21646,7 +21659,7 @@ FlashInit: bl FlashBchSel add r0, r4, #932 bl FlashReadIdbDataRaw - ldr r0, .L2474+60 + ldr r0, .L2475+60 strb r8, [r4, #853] bl FlashTimingCfg ldr r5, [r4, #3624] @@ -21690,7 +21703,7 @@ FlashInit: ldrb lr, [r4, #852] @ zero_extendqisi2 strh r1, [r4, r2] @ movhi cmp lr, #1 - bne .L2464 + bne .L2465 mov r7, r7, lsr #1 mov ip, ip, asl #1 mov r1, r1, asl #1 @@ -21700,21 +21713,21 @@ FlashInit: strh r7, [r4, r6] @ movhi strh ip, [r4, r0] @ movhi strh r2, [r4, r3] @ movhi -.L2464: +.L2465: ldrb r0, [r5, #20] @ zero_extendqisi2 bl FlashBchSel bl ftl_flash_suspend mov r0, #0 ldmfd sp!, {r4, r5, r6, r7, r8, pc} -.L2465: - mvn r0, #1 - ldmfd sp!, {r4, r5, r6, r7, r8, pc} .L2466: mvn r0, #1 ldmfd sp!, {r4, r5, r6, r7, r8, pc} -.L2475: +.L2467: + mvn r0, #1 + ldmfd sp!, {r4, r5, r6, r7, r8, pc} +.L2476: .align 2 -.L2474: +.L2475: .word .LANCHOR2 .word .LANCHOR0 .word .LANCHOR0+2980 @@ -21724,7 +21737,7 @@ FlashInit: .word .LANCHOR1+2796 .word .LANCHOR0+896 .word .LC144 - .word -898 + .word -894 .word HynixReadRetrial .word .LANCHOR0+20 .word MicronReadRetrial @@ -21744,40 +21757,40 @@ rk_ftl_init: .save {r3, r4, r5, lr} mov r0, #2048 bl ftl_malloc - ldr r4, .L2480 + ldr r4, .L2481 mov r5, #0 - add r1, r4, #460 - str r5, [r4, #128] - str r5, [r4, #460] - str r0, [r4, #456] - add r0, r4, #128 + add r1, r4, #464 + str r5, [r4, #132] + str r5, [r4, #464] + str r0, [r4, #460] + add r0, r4, #132 bl rknand_get_reg_addr - ldr r3, [r4, #128] + ldr r3, [r4, #132] cmp r3, r5 mvneq r4, #0 - beq .L2477 + beq .L2478 bl rk_nandc_irq_init - ldr r0, [r4, #456] + ldr r0, [r4, #460] mov r1, r5 mov r2, r5 mov r3, #2048 bl FlashSramLoadStore bl rknand_flash_cs_init - ldr r0, [r4, #128] + ldr r0, [r4, #132] bl FlashInit subs r4, r0, #0 - bne .L2478 + bne .L2479 bl FtlInit -.L2478: - ldr r0, .L2480+4 +.L2479: + ldr r0, .L2481+4 mov r1, r4 bl printk -.L2477: +.L2478: mov r0, r4 ldmfd sp!, {r3, r4, r5, pc} -.L2481: +.L2482: .align 2 -.L2480: +.L2481: .word .LANCHOR2 .word .LC145 .fnend @@ -21789,7 +21802,7 @@ FtlReInitForSDUpdata: .fnstart @ args = 0, pretend = 0, frame = 16 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L2507 + ldr r3, .L2508 stmfd sp!, {r4, r5, lr} .save {r4, r5, lr} .pad #20 @@ -21797,22 +21810,22 @@ FtlReInitForSDUpdata: ldrb r4, [r3, #928] @ zero_extendqisi2 cmp r4, #0 movne r0, #0 - bne .L2483 - ldr r5, .L2507+4 - ldr r0, [r5, #128] + bne .L2484 + ldr r5, .L2508+4 + ldr r0, [r5, #132] bl FlashInit cmp r0, #0 movne r0, r4 - bne .L2483 + bne .L2484 bl FlashLoadFactorBbt cmp r0, #0 - beq .L2484 + beq .L2485 bl FlashMakeFactorBbt -.L2484: - ldr r0, [r5, #132] +.L2485: + ldr r0, [r5, #136] bl FlashReadIdbDataRaw cmp r0, #0 - beq .L2485 + beq .L2486 mov r1, #0 mov r2, #16 mov r0, sp @@ -21821,73 +21834,73 @@ FtlReInitForSDUpdata: mov r3, #0 mov r0, #1 mov r2, r3 -.L2487: - ands ip, r1, r0, asl r2 - add r2, r2, #1 - addne r3, r3, #1 - cmp r2, #16 - bne .L2487 - cmp r3, #6 - ldrls r3, .L2507 - bls .L2503 - mov r2, #0 - mov r0, #1 .L2488: ands ip, r1, r0, asl r2 add r2, r2, #1 addne r3, r3, #1 - cmp r2, #24 + cmp r2, #16 bne .L2488 + cmp r3, #6 + ldrls r3, .L2508 + bls .L2504 + mov r2, #0 + mov r0, #1 +.L2489: + ands ip, r1, r0, asl r2 + add r2, r2, #1 + addne r3, r3, #1 + cmp r2, #24 + bne .L2489 cmp r3, #17 - ldr r3, .L2507 + ldr r3, .L2508 movhi r2, #36 -.L2503: +.L2504: strb r2, [r3, #853] movw r2, #3074 - ldr r3, .L2507 + ldr r3, .L2508 ldrb r1, [r3, #853] @ zero_extendqisi2 strh r1, [r3, r2] @ movhi -.L2485: - ldr r1, .L2507+8 +.L2486: + ldr r1, .L2508+8 mov r4, #1 - ldr r0, .L2507+12 + ldr r0, .L2508+12 bl printk - ldr r0, .L2507+16 + ldr r0, .L2508+16 bl FtlConstantsInit bl FtlVariablesInit - ldr r3, .L2507 - ldr r0, [r3, #3848] + ldr r3, .L2508 + ldr r0, [r3, #3852] uxth r0, r0 bl FtlFreeSysBlkQueueInit - b .L2492 -.L2494: + b .L2493 +.L2495: add r4, r4, #1 -.L2492: +.L2493: bl FtlLoadBbt cmp r0, #0 - bne .L2505 -.L2493: + bne .L2506 +.L2494: bl FtlSysBlkInit cmp r0, #0 - beq .L2495 -.L2505: + beq .L2496 +.L2506: bl FtlLowFormat cmp r4, #3 - bls .L2494 - b .L2506 -.L2495: - ldr r3, .L2507+20 + bls .L2495 + b .L2507 +.L2496: + ldr r3, .L2508+20 mov r2, #1 str r2, [r3, #2996] - b .L2483 -.L2506: + b .L2484 +.L2507: mvn r0, #0 -.L2483: +.L2484: add sp, sp, #20 ldmfd sp!, {r4, r5, pc} -.L2508: +.L2509: .align 2 -.L2507: +.L2508: .word .LANCHOR0 .word .LANCHOR2 .word .LC79 @@ -21904,15 +21917,15 @@ flash_boot_enter_slc_mode: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L2511 - ldr r2, [r3, #3784] - ldr r3, .L2511+4 + ldr r3, .L2512 + ldr r2, [r3, #3776] + ldr r3, .L2512+4 cmp r2, r3 bxne lr b flash_enter_slc_mode -.L2512: +.L2513: .align 2 -.L2511: +.L2512: .word .LANCHOR0 .word 1446522928 .fnend @@ -21925,15 +21938,15 @@ flash_boot_exit_slc_mode: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L2515 - ldr r2, [r3, #3784] - ldr r3, .L2515+4 + ldr r3, .L2516 + ldr r2, [r3, #3776] + ldr r3, .L2516+4 cmp r2, r3 bxne lr b flash_exit_slc_mode -.L2516: +.L2517: .align 2 -.L2515: +.L2516: .word .LANCHOR0 .word 1446522928 .fnend @@ -21947,13 +21960,13 @@ IdBlockReadData: stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} mov r4, r0 - ldr r5, .L2521 + ldr r5, .L2522 mov fp, r1 .pad #28 sub sp, sp, #28 mov r1, r4 mov sl, r2 - ldr r0, .L2521+4 + ldr r0, .L2522+4 ldr r3, [r5, #3624] mov r2, fp mov r9, r5 @@ -21971,8 +21984,8 @@ IdBlockReadData: mul r2, r7, r8 str r1, [sp, #16] ubfx r2, r2, #2, #2 - b .L2518 -.L2520: + b .L2519 +.L2521: add r1, r6, r8 ldrb r0, [r5, #928] @ zero_extendqisi2 ubfx r1, r1, #2, #16 @@ -21983,21 +21996,21 @@ IdBlockReadData: add r3, r3, #3072 add r3, r3, #4 ldrh r3, [r3, #0] - beq .L2519 - ldr r0, [r5, #3784] - ldr lr, .L2521+8 + beq .L2520 + ldr r0, [r5, #3776] + ldr lr, .L2522+8 cmp r0, lr moveq r3, r1 -.L2519: +.L2520: ldr r1, [sp, #16] add r2, r2, r1 mla r2, r7, r3, r2 ldr r3, [r9, #3624] ldrb r1, [r3, #9] @ zero_extendqisi2 - ldrb r3, [r9, #3832] @ zero_extendqisi2 + ldrb r3, [r9, #3836] @ zero_extendqisi2 str r3, [sp, #20] - ldr r3, .L2521+12 - ldrb r0, [r3, #148] @ zero_extendqisi2 + ldr r3, .L2522+12 + ldrb r0, [r3, #152] @ zero_extendqisi2 str ip, [sp, #4] str r1, [sp, #8] str r2, [sp, #12] @@ -22022,20 +22035,20 @@ IdBlockReadData: add r6, ip, r6 add sl, sl, ip, asl #9 uxth r6, r6 -.L2518: +.L2519: cmp r6, fp - bcc .L2520 + bcc .L2521 mov r1, r4 mov r2, fp mov r3, #0 - ldr r0, .L2521+16 + ldr r0, .L2522+16 bl printk mov r0, #0 add sp, sp, #28 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L2522: +.L2523: .align 2 -.L2521: +.L2522: .word .LANCHOR0 .word .LC146 .word 1446522928 @@ -22048,60 +22061,69 @@ IdBlockReadData: .type IDBlockWriteData, %function IDBlockWriteData: .fnstart - @ args = 0, pretend = 0, frame = 80 + @ args = 0, pretend = 0, frame = 88 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L2530 + ldr r3, .L2532 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} mov r5, r0 ldr r3, [r3, #3624] - mov sl, r1 - .pad #84 - sub sp, sp, #84 + mov fp, r1 + .pad #92 + sub sp, sp, #92 mov r1, r5 - mov r9, r2 - ldr r0, .L2530+4 + mov sl, r2 + ldr r0, .L2532+4 ldrb r6, [r3, #9] @ zero_extendqisi2 - mov r2, sl - ldrh r4, [r3, #10] + mov r2, fp + ldrh r7, [r3, #10] bl printk mov r0, #0 bl flash_boot_enter_slc_mode mov r1, r6 mov r0, r5 bl __aeabi_uidiv - mul r4, r4, r6 - uxth r4, r4 + mul r7, r7, r6 + uxth r7, r7 mov r1, r0 mov r0, #0 mov r2, r0 bl FlashEraseBlock - cmp sl, r4 - bls .L2524 + cmp fp, r7 + movls r8, #1 + bls .L2525 mov r0, #0 - add r1, r4, r5 + add r1, r7, r5 mov r2, r0 + mov r8, #2 bl FlashEraseBlock -.L2524: +.L2525: + ldr r4, .L2532 mov r0, #0 - mov r8, #0 bl flash_boot_exit_slc_mode - mov r1, r4 + ldr r3, [r4, #3624] + mov r9, r4 + ldrh r0, [r3, #10] + ldrb r1, [r3, #12] @ zero_extendqisi2 + mov r0, r0, asl #2 + mul r0, r8, r0 + bl __aeabi_idiv + mov r1, r7 + mov r8, #0 + str r0, [sp, #16] mov r0, r5 - ldr r4, .L2530 bl __aeabi_uidivmod - mov fp, r4 + str r5, [sp, #20] mov ip, r1 rsb r1, r1, r5 mov r7, ip - str r1, [sp, #8] - mov ip, r5 - b .L2525 -.L2529: + str r1, [sp, #12] + b .L2526 +.L2530: add r3, r8, r7 ubfx r3, r3, #2, #16 cmp r3, #0 - beq .L2526 + beq .L2527 add r1, r3, #1 ldrb r0, [r4, #928] @ zero_extendqisi2 add r2, r4, r1, asl #1 @@ -22109,58 +22131,58 @@ IDBlockWriteData: add r2, r2, #3072 add r2, r2, #4 ldrh r2, [r2, #0] - beq .L2527 - ldr r0, [r4, #3784] - ldr lr, .L2530+8 - cmp r0, lr + beq .L2528 + ldr r0, [r4, #3776] + ldr ip, .L2532+8 + cmp r0, ip moveq r2, r1 -.L2527: +.L2528: sub r2, r2, #-1073741823 mov r2, r2, asl #2 - str r2, [sp, #16] -.L2526: + str r2, [sp, #24] +.L2527: movw r2, #61424 - str r2, [sp, #20] + str r2, [sp, #28] add r2, r4, r3, asl #1 add r2, r2, #3072 ldrh r5, [r2, #4] ldrb r2, [r4, #928] @ zero_extendqisi2 cmp r2, #0 - beq .L2528 - ldr r2, [r4, #3784] - ldr r1, .L2530+8 + beq .L2529 + ldr r2, [r4, #3776] + ldr r1, .L2532+8 cmp r2, r1 moveq r5, r3 -.L2528: - ldr r2, [sp, #8] +.L2529: + ldr ip, [sp, #12] add r8, r8, #4 - ldrb lr, [fp, #3832] @ zero_extendqisi2 + ldr r2, .L2532+12 uxth r8, r8 - mla r3, r6, r5, r2 - ldr r2, .L2530+12 - str lr, [sp, #12] - ldrb r0, [r2, #148] @ zero_extendqisi2 - str ip, [sp, #0] - str r3, [sp, #4] + mla r3, r6, r5, ip + ldrb ip, [r9, #3836] @ zero_extendqisi2 + ldrb r0, [r2, #152] @ zero_extendqisi2 + str ip, [sp, #4] + str r3, [sp, #8] bl FlashBchSel mov r0, #0 bl flash_boot_enter_slc_mode - ldr r2, [fp, #3624] - ldr r3, [sp, #4] + ldr r2, [r9, #3624] + ldr r3, [sp, #8] ldrb r1, [r2, #9] @ zero_extendqisi2 mov r0, r3 bl __aeabi_uidiv - mov r2, r9 - add r3, sp, #16 - add r9, r9, #2048 + mov r2, sl + add r3, sp, #24 + add sl, sl, #2048 mov r1, r0 mov r0, #0 bl FlashProgPage mov r0, #0 bl flash_boot_exit_slc_mode - ldr r0, [sp, #12] + ldr ip, [sp, #4] + mov r0, ip bl FlashBchSel - ldr r0, [sp, #8] + ldr r0, [sp, #12] mov r1, r6 bl __aeabi_uidiv add r2, r5, #1 @@ -22168,22 +22190,22 @@ IDBlockWriteData: mov r1, r0 mov r0, #0 bl FlashPageProgMsbFFData - ldr ip, [sp, #0] -.L2525: - cmp r8, sl - bcc .L2529 - mov r1, ip - mov r2, sl +.L2526: + ldr ip, [sp, #16] + cmp r8, ip + bcc .L2530 + ldr r5, [sp, #20] + mov r2, fp mov r3, #0 - ldr r0, .L2530+16 - mov r5, ip + ldr r0, .L2532+16 + mov r1, r5 bl printk mov r0, #0 - add sp, sp, #84 + add sp, sp, #92 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L2531: +.L2533: .align 2 -.L2530: +.L2532: .word .LANCHOR0 .word .LC148 .word 1446522928 @@ -22197,114 +22219,135 @@ IDBlockWriteData: .type write_idblock, %function write_idblock: .fnstart - @ args = 0, pretend = 0, frame = 16 + @ args = 0, pretend = 0, frame = 24 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L2552 + ldr r3, .L2558 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} - mov r8, r0 + mov r5, r0 ldr r3, [r3, #3624] - .pad #28 - sub sp, sp, #28 + .pad #36 + sub sp, sp, #36 mov r0, #256000 - mov r5, r1 - mov r6, r2 + mov r6, r1 + mov r7, r2 ldrb r4, [r3, #9] @ zero_extendqisi2 - ldrh r9, [r3, #10] + ldrh r8, [r3, #10] bl ftl_malloc subs sl, r0, #0 - mvneq r0, #0 - beq .L2533 - mul r9, r9, r4 - add r8, r8, #508 - add r8, r8, #3 - mov r8, r8, lsr #9 - cmp r8, #8 - movcc r8, #8 - uxth r9, r9 - mov r0, r8 - mov r1, r9 + beq .L2552 + add r5, r5, #508 + add r5, r5, #3 + mov r5, r5, lsr #9 + cmp r5, #8 + movls r5, #8 + bls .L2536 + cmp r5, #500 + bhi .L2552 +.L2536: + mul r4, r8, r4 + mov r0, r5 + uxth r4, r4 + str r4, [sp, #12] + mov r1, r4 bl __aeabi_uidiv mov r3, #0 movw r2, #63999 movw ip, #4097 str r0, [sp, #20] - add r0, r5, #254976 + add r0, r6, #254976 add r0, r0, #1020 -.L2538: +.L2541: ldr r1, [r0], #-4 cmp r1, #0 - bne .L2534 - ldr r1, [r5, r3, asl #2] + bne .L2537 + ldr r1, [r6, r3, asl #2] add r3, r3, #1 cmp r3, ip sub r2, r2, #1 movcs r3, #0 cmp r2, #4096 str r1, [r0, #4] - bne .L2538 - b .L2537 -.L2534: - ldr r0, .L2552+4 - bl printk + bne .L2541 + b .L2540 .L2537: - ldr r4, .L2552 + ldr r0, .L2558+4 + bl printk +.L2540: + ldr r4, .L2558 + mov r1, r7 mov r3, #5 - ldr r0, .L2552+8 - mov r1, r6 + ldr r0, .L2558+8 mov r2, #4 - mov r7, r5 + mov r8, r5 bl rknand_print_hex ldrb r2, [r4, #853] @ zero_extendqisi2 - ldr r1, [r5, #512] - ldr r0, .L2552+12 + ldr r1, [r6, #512] + ldr r0, .L2558+12 bl printk - ldr r2, .L2552+16 + ldr r2, .L2558+16 movw r3, #3074 - mov r1, r8 + mov r1, r5 ldrh r3, [r4, r3] - ldr r2, [r2, #152] - ldr r0, .L2552+20 + ldr r2, [r2, #156] + ldr r0, .L2558+20 str r2, [sp, #0] - mov r2, r8 + mov r2, r5 bl printk ldrb r3, [r4, #853] @ zero_extendqisi2 - ldr r2, [r5, #512] - mov r4, r6 - mov r1, r8, asl #7 - str r1, [sp, #16] + ldr r2, [r6, #512] + mov r4, r7 + mov r7, r6 + mov r1, r5, asl #7 cmp r2, r3 - strhi r3, [r5, #512] - mov r3, #0 - str r3, [sp, #8] - str r3, [sp, #12] -.L2545: - ldr r1, .L2552 + mov r2, #0 + mov r9, r2 + strhi r3, [r6, #512] + str r1, [sp, #24] + str r2, [sp, #16] +.L2549: + ldr r1, .L2558 ldr r3, [r4], #4 ldrb r2, [r1, #853] @ zero_extendqisi2 cmp r3, r2 - bcs .L2540 - ldr r1, .L2552+16 - ldr r2, [r1, #152] + bcs .L2543 + ldr r1, .L2558+16 + ldr r2, [r1, #156] cmp r3, r2 - bcc .L2540 + bcc .L2543 + ldr r2, [sp, #20] + ldr r1, [sp, #20] + cmp r2, #1 + movls r2, #0 + movhi r2, #1 + cmp r9, #0 + cmpne r1, #1 + str r2, [sp, #28] + bls .L2544 + ldr r2, [r4, #-8] + add r2, r2, #1 + cmp r3, r2 + beq .L2543 +.L2544: mov r0, sl mov r1, #512 bl __memzero + ldr r2, [sp, #12] ldr r0, [r4, #-4] mov r1, r8 - mov r2, r7 mov r6, #0 - mul r0, r0, r9 + mul r0, r0, r2 + mov r2, r7 bl IDBlockWriteData + ldr r3, [sp, #12] ldr r0, [r4, #-4] mov r2, sl mov r1, r8 - mul r0, r0, r9 + mul r0, r0, r3 bl IdBlockReadData mov r2, sl mov r3, r7 -.L2544: +.L2548: mov fp, r2 mov r5, r3 ldr r0, [fp, #0] @@ -22312,13 +22355,13 @@ write_idblock: ldr r1, [r5, #0] add r3, r3, #4 cmp r0, r1 - beq .L2541 + beq .L2545 mov r0, sl mov r1, #512 bl __memzero ldr r3, [fp, #0] - ldr r1, [sp, #12] - ldr r0, .L2552+24 + mov r1, r9 + ldr r0, .L2558+24 str r3, [sp, #0] ldr r3, [r5, #0] bic r5, r6, #255 @@ -22327,7 +22370,7 @@ write_idblock: mov r3, r6 ldr r2, [r4, #-4] bl printk - ldr r0, .L2552+28 + ldr r0, .L2558+28 add r1, r7, r5 mov r2, #4 mov r3, #256 @@ -22335,61 +22378,64 @@ write_idblock: mov r3, #256 add r1, sl, r5 mov r2, #4 - ldr r0, .L2552+32 + ldr r0, .L2558+32 bl rknand_print_hex mov r0, #0 bl flash_boot_enter_slc_mode + ldr r2, [sp, #12] ldr r1, [r4, #-4] mov r0, #0 + mul r1, r1, r2 mov r2, r0 - mul r1, r1, r9 bl FlashEraseBlock - ldr r3, [sp, #20] - cmp r3, #1 - bls .L2542 + ldr r3, [sp, #28] + cmp r3, #0 + beq .L2546 ldr r1, [r4, #-4] mov r0, #0 - mov r2, r0 + ldr r2, [sp, #12] add r1, r1, #1 - mul r1, r9, r1 + mul r1, r2, r1 + mov r2, r0 bl FlashEraseBlock -.L2542: +.L2546: mov r0, #0 bl flash_boot_exit_slc_mode + ldr r0, .L2558+36 ldr r1, [r4, #-4] - ldr r0, .L2552+36 bl printk - ldr r1, [sp, #16] - cmp r6, r1 - bcc .L2540 - b .L2543 -.L2541: - ldr r1, [sp, #16] + ldr r3, [sp, #24] + cmp r6, r3 + bcc .L2543 + b .L2547 +.L2545: + ldr r1, [sp, #24] add r6, r6, #1 cmp r6, r1 - bne .L2544 + bne .L2548 +.L2547: + ldr r2, [sp, #16] + add r2, r2, #1 + str r2, [sp, #16] .L2543: - ldr r3, [sp, #8] - add r3, r3, #1 - str r3, [sp, #8] -.L2540: - ldr r1, [sp, #12] - add r1, r1, #1 - str r1, [sp, #12] - cmp r1, #5 - bne .L2545 + add r9, r9, #1 + cmp r9, #5 + bne .L2549 mov r0, sl bl ftl_free - ldr r3, [sp, #8] + ldr r3, [sp, #16] cmp r3, #0 mvneq r0, #0 movne r0, #0 -.L2533: - add sp, sp, #28 - ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L2553: - .align 2 + b .L2535 .L2552: + mvn r0, #0 +.L2535: + add sp, sp, #36 + ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} +.L2559: + .align 2 +.L2558: .word .LANCHOR0 .word .LC150 .word .LC151 @@ -22414,22 +22460,22 @@ CRC_32: stmfd sp!, {r4, lr} .save {r4, lr} mov r2, r0 - ldr ip, .L2557 - b .L2555 -.L2556: + ldr ip, .L2563 + b .L2561 +.L2562: ldrb r4, [r3, r2] @ zero_extendqisi2 add r2, r2, #1 eor r4, r4, r0, lsr #24 add r4, ip, r4, asl #2 ldr r4, [r4, #3068] eor r0, r4, r0, asl #8 -.L2555: +.L2561: cmp r2, r1 - bne .L2556 + bne .L2562 ldmfd sp!, {r4, pc} -.L2558: +.L2564: .align 2 -.L2557: +.L2563: .word .LANCHOR1 .fnend .size CRC_32, .-CRC_32 @@ -22440,7 +22486,7 @@ rknand_sys_storage_ioctl: .fnstart @ args = 0, pretend = 0, frame = 528 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L2675 + ldr r3, .L2681 stmfd sp!, {r4, r5, r6, lr} .save {r4, r5, r6, lr} cmp r1, r3 @@ -22448,102 +22494,102 @@ rknand_sys_storage_ioctl: sub sp, sp, #528 mov r5, r1 mov r4, r2 - beq .L2568 - bhi .L2577 - ldr r3, .L2675+4 - cmp r1, r3 - beq .L2565 - bhi .L2578 - sub r3, r3, #125 - cmp r1, r3 - beq .L2562 - bhi .L2579 - sub r3, r3, #237 - cmp r1, r3 - bne .L2621 - b .L2671 -.L2579: - ldr r3, .L2675+8 - cmp r1, r3 - beq .L2563 - add r3, r3, #1 - cmp r1, r3 - bne .L2621 - b .L2672 -.L2578: - ldr r3, .L2675+12 - cmp r1, r3 - beq .L2567 - bhi .L2580 - ldr r3, .L2675+16 - cmp r1, r3 - bne .L2621 - b .L2673 -.L2580: - ldr r3, .L2675+20 - cmp r1, r3 - beq .L2567 - add r3, r3, #10 - cmp r1, r3 - bne .L2621 - b .L2567 -.L2577: - ldr r3, .L2675+24 - cmp r1, r3 - beq .L2573 - bhi .L2581 - sub r3, r3, #78 - cmp r1, r3 - beq .L2570 - bcc .L2569 - add r3, r3, #21 + beq .L2574 + bhi .L2583 + ldr r3, .L2681+4 cmp r1, r3 beq .L2571 - add r3, r3, #56 + bhi .L2584 + sub r3, r3, #125 cmp r1, r3 - bne .L2621 - b .L2674 -.L2581: - ldr r3, .L2675+28 + beq .L2568 + bhi .L2585 + sub r3, r3, #237 + cmp r1, r3 + bne .L2627 + b .L2677 +.L2585: + ldr r3, .L2681+8 + cmp r1, r3 + beq .L2569 + add r3, r3, #1 + cmp r1, r3 + bne .L2627 + b .L2678 +.L2584: + ldr r3, .L2681+12 + cmp r1, r3 + beq .L2573 + bhi .L2586 + ldr r3, .L2681+16 + cmp r1, r3 + bne .L2627 + b .L2679 +.L2586: + ldr r3, .L2681+20 + cmp r1, r3 + beq .L2573 + add r3, r3, #10 + cmp r1, r3 + bne .L2627 + b .L2573 +.L2583: + ldr r3, .L2681+24 + cmp r1, r3 + beq .L2579 + bhi .L2587 + sub r3, r3, #78 cmp r1, r3 beq .L2576 - bhi .L2582 + bcc .L2575 + add r3, r3, #21 + cmp r1, r3 + beq .L2577 + add r3, r3, #56 + cmp r1, r3 + bne .L2627 + b .L2680 +.L2587: + ldr r3, .L2681+28 + cmp r1, r3 + beq .L2582 + bhi .L2588 sub r3, r3, #956 sub r3, r3, #1 cmp r1, r3 - beq .L2574 + beq .L2580 add r3, r3, #956 cmp r1, r3 - bne .L2621 - b .L2575 -.L2582: - ldr r3, .L2675+32 + bne .L2627 + b .L2581 +.L2588: + ldr r3, .L2681+32 cmp r1, r3 - beq .L2575 + beq .L2581 add r3, r3, #1 cmp r1, r3 - bne .L2621 - b .L2576 -.L2569: - ldr r0, .L2675+36 + bne .L2627 + b .L2582 +.L2575: + ldr r0, .L2681+36 bl printk mov r0, #4096 bl ftl_malloc subs r5, r0, #0 - beq .L2628 + beq .L2634 mov r1, r4 mov r2, #512 bl rk_copy_from_user cmp r0, #0 - bne .L2670 -.L2583: - ldr r0, .L2675+40 + bne .L2676 +.L2589: + ldr r0, .L2681+40 ldmia r5, {r1, r2} bl printk ldr r3, [r5, #4] cmp r3, #8 str r3, [sp, #4] - bhi .L2592 + bhi .L2598 bl rknand_device_lock ldr r1, [sp, #4] mov r2, r5 @@ -22556,137 +22602,137 @@ rknand_sys_storage_ioctl: mov r2, r2, asl #9 bl rk_copy_to_user cmp r0, #0 - beq .L2656 - ldr r0, .L2675+44 -.L2669: + beq .L2662 + ldr r0, .L2681+44 +.L2675: bl printk - b .L2592 -.L2570: - ldr r0, .L2675+48 + b .L2598 +.L2576: + ldr r0, .L2681+48 bl printk mov r0, #4096 bl ftl_malloc subs r5, r0, #0 - beq .L2628 + beq .L2634 mov r1, r4 mov r2, #4096 bl rk_copy_from_user cmp r0, #0 - bne .L2670 -.L2587: - ldr r4, .L2675+52 - ldr r0, .L2675+56 + bne .L2676 +.L2593: + ldr r4, .L2681+52 + ldr r0, .L2681+56 ldmia r5, {r1, r2} bl printk - ldr r3, [r4, #464] + ldr r3, [r4, #468] cmp r3, #0 - bne .L2588 + bne .L2594 mov r0, #260096 bl ftl_malloc cmp r0, #0 - str r0, [r4, #464] - beq .L2592 -.L2589: + str r0, [r4, #468] + beq .L2598 +.L2595: mov r1, #260096 bl __memzero -.L2588: +.L2594: ldr r2, [r5, #4] movw r3, #4088 cmp r2, r3 - bhi .L2592 + bhi .L2598 ldr r3, [r5, #0] cmp r3, #251904 - bhi .L2592 - ldr r1, .L2675+52 - ldr r0, [r1, #464] + bhi .L2598 + ldr r1, .L2681+52 + ldr r0, [r1, #468] add r1, r5, #8 add r0, r0, r3 bl memcpy -.L2656: +.L2662: mov r0, r5 bl ftl_free -.L2657: +.L2663: mov r4, #0 - b .L2586 -.L2674: - ldr r0, .L2675+60 + b .L2592 +.L2680: + ldr r0, .L2681+60 bl printk mov r0, #4096 bl ftl_malloc subs r5, r0, #0 - beq .L2628 + beq .L2634 mov r1, r4 mov r2, #28 bl rk_copy_from_user cmp r0, #0 - beq .L2591 -.L2670: - ldr r0, .L2675+64 - b .L2669 -.L2591: + beq .L2597 +.L2676: + ldr r0, .L2681+64 + b .L2675 +.L2597: ldmia r5, {r1, r2} - ldr r0, .L2675+68 + ldr r0, .L2681+68 bl printk ldr r1, [r5, #0] cmp r1, #256000 - bhi .L2592 - ldr r4, .L2675+52 - ldr r0, [r4, #464] + bhi .L2598 + ldr r4, .L2681+52 + ldr r0, [r4, #468] cmp r0, #0 - beq .L2592 -.L2593: + beq .L2598 +.L2599: bl CRC_32 ldr r3, [r5, #4] cmp r3, r0 - beq .L2594 + beq .L2600 mov r0, r5 bl ftl_free - b .L2634 -.L2594: + b .L2640 +.L2600: bl rknand_device_lock - ldr r1, [r4, #464] + ldr r1, [r4, #468] add r2, r5, #8 ldr r0, [r5, #0] bl write_idblock mov r6, #0 bl rknand_device_unlock - ldr r0, [r4, #464] + ldr r0, [r4, #468] bl ftl_free - str r6, [r4, #464] + str r6, [r4, #468] mov r0, r5 mov r4, r6 bl ftl_free - b .L2586 -.L2592: + b .L2592 +.L2598: mov r0, r5 - b .L2660 -.L2571: - ldr r0, .L2675+72 + b .L2666 +.L2577: + ldr r0, .L2681+72 bl printk mov r0, #4096 bl ftl_malloc subs r5, r0, #0 - beq .L2628 + beq .L2634 bl ftl_read_flash_info mov r0, r4 mov r1, r5 mov r2, #11 - b .L2665 -.L2568: - ldr r0, .L2675+76 + b .L2671 +.L2574: + ldr r0, .L2681+76 bl printk bl nand_blk_add_whole_disk mov r0, #4096 bl ftl_malloc subs r5, r0, #0 - beq .L2628 + beq .L2634 bl rknand_device_lock mov r1, #0 mov r2, #64 mov r0, r5 bl FlashReadFacBbtData bl rknand_device_unlock - ldr r0, .L2675+80 + ldr r0, .L2681+80 mov r1, r5 mov r2, #4 mov r3, #8 @@ -22694,25 +22740,25 @@ rknand_sys_storage_ioctl: mov r0, r4 mov r1, r5 mov r2, #64 - b .L2665 -.L2573: - ldr r0, .L2675+84 + b .L2671 +.L2579: + ldr r0, .L2681+84 bl printk - ldr r3, .L2675+52 + ldr r3, .L2681+52 add r1, sp, #528 mov r0, r4 mov r2, #4 - ldr r3, [r3, #468] + ldr r3, [r3, #472] ldr r3, [r3, #20] str r3, [r1, #-524]! - b .L2661 -.L2574: - ldr r0, .L2675+88 + b .L2667 +.L2580: + ldr r0, .L2681+88 bl printk mov r0, #4096 bl ftl_malloc subs r5, r0, #0 - beq .L2628 + beq .L2634 bl rknand_device_lock mov r1, #264 mov r2, #2 @@ -22723,259 +22769,259 @@ rknand_sys_storage_ioctl: mov r0, r4 mov r1, r5 mov r2, #1024 -.L2665: +.L2671: bl rk_copy_to_user subs r4, r0, #0 mov r0, r5 - beq .L2597 -.L2660: + beq .L2603 +.L2666: bl ftl_free - b .L2651 -.L2597: + b .L2657 +.L2603: bl ftl_free - b .L2586 -.L2562: - ldr r0, .L2675+92 + b .L2592 +.L2568: + ldr r0, .L2681+92 bl printk add r0, sp, #8 mov r1, r4 mov r2, #520 bl rk_copy_from_user subs r5, r0, #0 - bne .L2662 -.L2598: + bne .L2668 +.L2604: ldr r2, [sp, #8] - ldr r3, .L2675+96 + ldr r3, .L2681+96 cmp r2, r3 - bne .L2653 + bne .L2659 ldr r3, [sp, #12] cmp r3, #512 - bhi .L2653 - ldr r6, .L2675+52 + bhi .L2659 + ldr r6, .L2681+52 mov r2, #512 add r0, sp, #8 - ldr r1, [r6, #468] + ldr r1, [r6, #472] bl memcpy - ldr r2, [r6, #472] - ldr r3, .L2675+100 + ldr r2, [r6, #476] + ldr r3, .L2681+100 cmp r2, r3 - beq .L2599 + beq .L2605 add r0, sp, #72 mov r1, #128 str r5, [sp, #16] str r5, [sp, #20] bl __memzero -.L2599: +.L2605: add r0, sp, #264 mov r1, #256 mov r3, #0 str r3, [sp, #24] bl __memzero - b .L2668 -.L2563: - ldr r0, .L2675+104 + b .L2674 +.L2569: + ldr r0, .L2681+104 bl printk add r0, sp, #8 mov r1, r4 mov r2, #520 bl rk_copy_from_user cmp r0, #0 - bne .L2662 -.L2600: + bne .L2668 +.L2606: ldr r2, [sp, #8] - ldr r3, .L2675+96 + ldr r3, .L2681+96 cmp r2, r3 - bne .L2653 + bne .L2659 ldr r3, [sp, #12] cmp r3, #512 - bhi .L2653 - ldr r4, .L2675+52 - ldr r3, .L2675+100 - ldr r2, [r4, #472] + bhi .L2659 + ldr r4, .L2681+52 + ldr r3, .L2681+100 + ldr r2, [r4, #476] cmp r2, r3 - bne .L2634 + bne .L2640 ldr r3, [sp, #20] sub r2, r3, #1 cmp r2, #127 mvnhi r4, #2 - bhi .L2560 - ldr r0, [r4, #468] + bhi .L2566 + ldr r0, [r4, #472] add r1, sp, #72 str r3, [r0, #12] add r0, r0, #64 ldr r2, [sp, #20] bl memcpy mov r0, #1 - ldr r1, [r4, #468] - b .L2658 -.L2673: - ldr r0, .L2675+108 + ldr r1, [r4, #472] + b .L2664 +.L2679: + ldr r0, .L2681+108 bl printk add r0, sp, #8 mov r1, r4 mov r2, #520 bl rk_copy_from_user cmp r0, #0 - bne .L2662 -.L2601: + bne .L2668 +.L2607: ldr r2, [sp, #8] - ldr r3, .L2675+112 + ldr r3, .L2681+112 cmp r2, r3 - bne .L2653 + bne .L2659 ldr r3, [sp, #12] cmp r3, #512 - bhi .L2653 - ldr r5, .L2675+52 - ldr r4, [r5, #476] + bhi .L2659 + ldr r5, .L2681+52 + ldr r4, [r5, #480] cmp r4, #0 - beq .L2560 - ldr r3, [r5, #480] - ldr r2, .L2675+116 + beq .L2566 + ldr r3, [r5, #484] + ldr r2, .L2681+116 ldr r1, [r3, #0] cmp r1, r2 - beq .L2602 + beq .L2608 str r2, [r3, #0] mov r2, #504 - ldr r3, [r5, #480] + ldr r3, [r5, #484] str r2, [r3, #4] mov r2, #0 str r2, [r3, #8] str r2, [r3, #12] -.L2602: - ldr r1, [r5, #480] +.L2608: + ldr r1, [r5, #484] mov r4, #0 mov r0, r4 str r4, [r1, #16] bl StorageSysDataStore - ldr r3, [r5, #468] - ldr r2, .L2675+96 - ldr r5, .L2675+52 + ldr r3, [r5, #472] + ldr r2, .L2681+96 + ldr r5, .L2681+52 ldr r1, [r3, #0] cmp r1, r2 strne r2, [r3, #0] - ldr r0, [r5, #468] + ldr r0, [r5, #472] mov r1, #128 - ldrne r3, .L2675+52 + ldrne r3, .L2681+52 movne r2, #504 - ldrne r3, [r3, #468] + ldrne r3, [r3, #472] stmneib r3, {r2, r4} mov r4, #0 str r4, [r0, #12] add r0, r0, #64 bl __memzero mov r0, #1 - ldr r1, [r5, #468] + ldr r1, [r5, #472] bl StorageSysDataStore + str r4, [r5, #480] str r4, [r5, #476] - str r4, [r5, #472] - b .L2586 -.L2565: - ldr r0, .L2675+120 + b .L2592 +.L2571: + ldr r0, .L2681+120 bl printk mov r1, r4 add r0, sp, #8 mov r2, #520 bl rk_copy_from_user subs r4, r0, #0 - bne .L2662 -.L2604: + bne .L2668 +.L2610: ldr r2, [sp, #8] - ldr r3, .L2675+124 + ldr r3, .L2681+124 cmp r2, r3 - bne .L2653 + bne .L2659 ldr r3, [sp, #12] cmp r3, #512 - bhi .L2653 - ldr r5, .L2675+52 - ldr r3, [r5, #476] - cmp r3, #1 - beq .L2560 + bhi .L2659 + ldr r5, .L2681+52 ldr r3, [r5, #480] + cmp r3, #1 + beq .L2566 + ldr r3, [r5, #484] mov r0, #0 - ldr r2, .L2675+116 + ldr r2, .L2681+116 ldr r1, [r3, #0] cmp r1, r2 strne r2, [r3, #0] - ldr r1, [r5, #480] - ldrne r3, [r5, #480] + ldr r1, [r5, #484] + ldrne r3, [r5, #484] movne r2, #504 strne r4, [r3, #12] stmneib r3, {r2, r4} mov r3, #1 str r3, [r1, #16] bl StorageSysDataStore - ldr r3, [r5, #468] - ldr r2, .L2675+96 + ldr r3, [r5, #472] + ldr r2, .L2681+96 ldr r1, [r3, #0] cmp r1, r2 - beq .L2606 + beq .L2612 str r2, [r3, #0] mov r1, #504 - ldr r3, .L2675+52 + ldr r3, .L2681+52 mov r2, #0 - ldr r3, [r3, #468] + ldr r3, [r3, #472] stmib r3, {r1, r2} -.L2606: - ldr r5, .L2675+52 +.L2612: + ldr r5, .L2681+52 mov r1, #128 mov r4, #0 - ldr r0, [r5, #468] + ldr r0, [r5, #472] str r4, [r0, #12] add r0, r0, #64 bl __memzero mov r0, #1 - ldr r1, [r5, #468] + ldr r1, [r5, #472] bl StorageSysDataStore mov r3, #1 - str r3, [r5, #476] - b .L2586 -.L2672: - ldr r0, .L2675+128 + str r3, [r5, #480] + b .L2592 +.L2678: + ldr r0, .L2681+128 bl printk add r0, sp, #8 mov r1, r4 mov r2, #520 bl rk_copy_from_user cmp r0, #0 - bne .L2662 -.L2607: + bne .L2668 +.L2613: ldr r2, [sp, #8] - ldr r3, .L2675+132 + ldr r3, .L2681+132 cmp r2, r3 - bne .L2653 + bne .L2659 ldr r2, [sp, #12] cmp r2, #512 addls r0, sp, #16 - ldrls r1, .L2675+136 - bls .L2667 - b .L2653 -.L2567: - ldr r3, .L2675+20 + ldrls r1, .L2681+136 + bls .L2673 + b .L2659 +.L2573: + ldr r3, .L2681+20 cmp r5, r3 - ldreq r0, .L2675+140 - beq .L2654 - ldr r3, .L2675+144 + ldreq r0, .L2681+140 + beq .L2660 + ldr r3, .L2681+144 cmp r5, r3 - ldreq r0, .L2675+148 - ldrne r0, .L2675+152 -.L2654: + ldreq r0, .L2681+148 + ldrne r0, .L2681+152 +.L2660: bl printk add r0, sp, #8 mov r1, r4 mov r2, #520 bl rk_copy_from_user cmp r0, #0 - bne .L2662 -.L2611: + bne .L2668 +.L2617: ldr r2, [sp, #8] - ldr r3, .L2675+156 + ldr r3, .L2681+156 cmp r2, r3 - bne .L2651 - ldr r3, .L2675+144 - ldr r6, .L2675+52 + bne .L2657 + ldr r3, .L2681+144 + ldr r6, .L2681+52 cmp r5, r3 - bne .L2612 - ldr r3, [r6, #468] + bne .L2618 + ldr r3, [r6, #472] mov r0, r4 add r1, sp, #8 mov r2, #16 @@ -22986,29 +23032,29 @@ rknand_sys_storage_ioctl: cmp r0, #0 moveq r4, r0 mvnne r4, #13 - b .L2560 -.L2612: - ldr r3, [r6, #996] + b .L2566 +.L2618: + ldr r3, [r6, #1000] cmp r3, #10 - bhi .L2651 - ldr r3, [r6, #468] + bhi .L2657 + ldr r3, [r6, #472] ldr r1, [sp, #12] ldr r2, [r3, #24] cmp r2, r1 - beq .L2613 + beq .L2619 cmp r2, #0 - beq .L2613 - ldr r0, .L2675+160 + beq .L2619 + ldr r0, .L2681+160 bl printk - ldr r3, [r6, #996] + ldr r3, [r6, #1000] add r3, r3, #1 - str r3, [r6, #996] - b .L2651 -.L2613: - ldr r0, .L2675+52 + str r3, [r6, #1000] + b .L2657 +.L2619: + ldr r0, .L2681+52 mov r2, #0 - str r2, [r0, #996] - ldr r0, .L2675+20 + str r2, [r0, #1000] + ldr r0, .L2681+20 cmp r5, r0 mov r0, #1 strne r1, [r3, #24] @@ -23021,112 +23067,112 @@ rknand_sys_storage_ioctl: cmn r0, #1 mvneq r4, #1 movne r4, #0 - b .L2586 -.L2575: - ldr r0, .L2675+164 + b .L2592 +.L2581: + ldr r0, .L2681+164 bl printk add r0, sp, #8 mov r1, r4 mov r2, #520 bl rk_copy_from_user cmp r0, #0 - bne .L2662 -.L2616: + bne .L2668 +.L2622: ldr r2, [sp, #8] - ldr r3, .L2675+168 + ldr r3, .L2681+168 cmp r2, r3 - bne .L2653 + bne .L2659 ldr r2, [sp, #12] cmp r2, #504 - bhi .L2653 - ldr r3, .L2675+172 + bhi .L2659 + ldr r3, .L2681+172 add r0, sp, #16 cmp r5, r3 - ldr r3, .L2675+52 - ldreq r1, [r3, #1000] - ldrne r1, [r3, #1004] + ldr r3, .L2681+52 + ldreq r1, [r3, #1004] + ldrne r1, [r3, #1008] add r1, r1, #8 -.L2667: +.L2673: bl memcpy -.L2668: +.L2674: add r1, sp, #8 mov r0, r4 mov r2, #520 -.L2661: +.L2667: bl rk_copy_to_user subs r4, r0, #0 - bne .L2651 - b .L2586 -.L2576: - ldr r0, .L2675+176 + bne .L2657 + b .L2592 +.L2582: + ldr r0, .L2681+176 bl printk add r0, sp, #8 mov r1, r4 mov r2, #520 bl rk_copy_from_user cmp r0, #0 - beq .L2619 -.L2662: - ldr r0, .L2675+64 + beq .L2625 +.L2668: + ldr r0, .L2681+64 bl printk - b .L2651 -.L2619: + b .L2657 +.L2625: ldr r2, [sp, #8] - ldr r3, .L2675+168 + ldr r3, .L2681+168 cmp r2, r3 - bne .L2653 + bne .L2659 ldr r2, [sp, #12] cmp r2, #504 - bhi .L2653 - ldr r3, .L2675+28 + bhi .L2659 + ldr r3, .L2681+28 add r2, r2, #8 - ldr r4, .L2675+52 + ldr r4, .L2681+52 cmp r5, r3 - bne .L2620 - add r1, sp, #8 - ldr r0, [r4, #1000] - bl memcpy - ldr r1, [r4, #1000] - mov r0, #2 -.L2658: - bl StorageSysDataStore - mov r4, r0 - b .L2586 -.L2620: + bne .L2626 add r1, sp, #8 ldr r0, [r4, #1004] bl memcpy - mov r0, #3 ldr r1, [r4, #1004] - b .L2658 -.L2671: + mov r0, #2 +.L2664: + bl StorageSysDataStore + mov r4, r0 + b .L2592 +.L2626: + add r1, sp, #8 + ldr r0, [r4, #1008] + bl memcpy + mov r0, #3 + ldr r1, [r4, #1008] + b .L2664 +.L2677: bl rknand_dev_flush - b .L2657 -.L2653: + b .L2663 +.L2659: mvn r4, #0 -.L2586: +.L2592: mov r1, r4 - ldr r0, .L2675+180 + ldr r0, .L2681+180 bl printk - b .L2560 -.L2621: + b .L2566 +.L2627: mvn r4, #21 - b .L2560 -.L2628: - mvn r4, #11 - b .L2560 + b .L2566 .L2634: + mvn r4, #11 + b .L2566 +.L2640: mvn r4, #1 - b .L2560 -.L2651: + b .L2566 +.L2657: mvn r4, #13 -.L2560: +.L2566: mov r0, r4 add sp, sp, #528 ldmfd sp!, {r4, r5, r6, pc} -.L2676: +.L2682: .align 2 -.L2675: +.L2681: .word 1074033155 .word 1074029694 .word 1074029570 @@ -23161,7 +23207,7 @@ rknand_sys_storage_ioctl: .word 1112755781 .word .LC175 .word 1094995539 - .word .LANCHOR2+484 + .word .LANCHOR2+488 .word .LC176 .word 1074031676 .word .LC177 @@ -23185,53 +23231,53 @@ rk_ftl_storage_sys_init: stmfd sp!, {r3, r4, r5, r6, r7, lr} .save {r3, r4, r5, r6, r7, lr} mov r2, #512 - ldr r4, .L2680 + ldr r4, .L2686 mov r6, #0 - add r0, r4, #484 - ldr r5, [r4, #456] - str r6, [r4, #464] + add r0, r4, #488 + ldr r5, [r4, #460] + str r6, [r4, #468] add r1, r5, #1536 add r3, r5, #512 - str r5, [r4, #480] - str r3, [r4, #468] + str r5, [r4, #484] + str r3, [r4, #472] add r3, r5, #1024 - str r1, [r4, #1004] - str r3, [r4, #1000] + str r1, [r4, #1008] + str r3, [r4, #1004] bl memcpy ldr r7, [r5, #508] ldr r3, [r5, #16] cmp r7, r6 - str r6, [r4, #472] - str r6, [r4, #996] - str r3, [r4, #476] - beq .L2678 + str r6, [r4, #476] + str r6, [r4, #1000] + str r3, [r4, #480] + beq .L2684 mov r0, r5 mov r1, #508 bl JSHash cmp r7, r0 - beq .L2678 + beq .L2684 str r6, [r5, #16] - ldr r0, .L2680+4 - str r6, [r4, #476] + ldr r0, .L2686+4 + str r6, [r4, #480] bl printk -.L2678: - ldr r3, [r4, #476] +.L2684: + ldr r3, [r4, #480] mov r0, #2 - ldr r4, .L2680 + ldr r4, .L2686 cmp r3, #0 - ldrne r2, .L2680+8 - ldrne r3, .L2680 - ldr r1, [r4, #1000] - strne r2, [r3, #472] - bl StorageSysDataLoad + ldrne r2, .L2686+8 + ldrne r3, .L2686 ldr r1, [r4, #1004] + strne r2, [r3, #476] + bl StorageSysDataLoad + ldr r1, [r4, #1008] mov r0, #3 bl StorageSysDataLoad ldmfd sp!, {r3, r4, r5, r6, r7, lr} b rknand_sys_storage_init -.L2681: +.L2687: .align 2 -.L2680: +.L2686: .word .LANCHOR2 .word .LC183 .word -1067903959 @@ -23260,80 +23306,80 @@ rk_ftl_vendor_storage_init: .save {r3, r4, r5, r6, r7, r8, sl, lr} mov r0, #65536 bl ftl_malloc - ldr r7, .L2691 + ldr r7, .L2697 cmp r0, #0 - str r0, [r7, #1008] - beq .L2689 - ldr sl, .L2691+4 + str r0, [r7, #1012] + beq .L2695 + ldr sl, .L2697+4 mov r6, #0 mov r4, r6 mov r5, r6 movw r8, #65532 -.L2687: - ldr r0, [r7, #1008] +.L2693: + ldr r0, [r7, #1012] mov r1, r5, asl #7 mov r2, #0 bl rk_ftl_vendor_ops.constprop.26 cmp r0, #0 - bne .L2685 - ldr r3, [r7, #1008] - ldr r0, .L2691+8 + bne .L2691 + ldr r3, [r7, #1012] + ldr r0, .L2697+8 ldr r1, [r3, #0] ldr r2, [r3, r8] ldr r3, [r3, #4] bl printk - ldr r0, [r7, #1008] + ldr r0, [r7, #1012] ldr r3, [r0, #0] cmp r3, sl - bne .L2686 + bne .L2692 ldr r3, [r0, r8] ldr r2, [r0, #4] cmp r3, r2 - bne .L2686 + bne .L2692 cmp r4, r3 movcc r6, r5 movcc r4, r3 -.L2686: +.L2692: add r5, r5, #1 cmp r5, #2 - bne .L2687 + bne .L2693 cmp r4, #0 - beq .L2688 + beq .L2694 mov r1, r6, asl #7 mov r2, #0 bl rk_ftl_vendor_ops.constprop.26 cmp r0, #0 ldmeqfd sp!, {r3, r4, r5, r6, r7, r8, sl, pc} - b .L2685 -.L2688: + b .L2691 +.L2694: mov r1, #65536 bl __memzero - ldr r3, .L2691 - ldr r1, .L2691+4 + ldr r3, .L2697 + ldr r1, .L2697+4 mov r2, #1 mov r0, r4 - ldr r3, [r3, #1008] + ldr r3, [r3, #1012] stmia r3, {r1, r2} movw r1, #65532 str r2, [r3, r1] - ldr r2, .L2691+12 + ldr r2, .L2697+12 strh r4, [r3, #12] @ movhi strh r2, [r3, #14] @ movhi ldmfd sp!, {r3, r4, r5, r6, r7, r8, sl, pc} -.L2685: - ldr r4, .L2691 - ldr r0, [r4, #1008] +.L2691: + ldr r4, .L2697 + ldr r0, [r4, #1012] bl kfree mov r3, #0 mvn r0, #0 - str r3, [r4, #1008] + str r3, [r4, #1012] ldmfd sp!, {r3, r4, r5, r6, r7, r8, sl, pc} -.L2689: +.L2695: mvn r0, #11 ldmfd sp!, {r3, r4, r5, r6, r7, r8, sl, pc} -.L2692: +.L2698: .align 2 -.L2691: +.L2697: .word .LANCHOR2 .word 1380668996 .word .LC184 @@ -23349,21 +23395,21 @@ rk_ftl_vendor_read: @ frame_needed = 0, uses_anonymous_args = 0 mov r3, r0 mov r0, r1 - ldr r1, .L2700 + ldr r1, .L2706 stmfd sp!, {r4, r5, r6, lr} .save {r4, r5, r6, lr} - ldr ip, [r1, #1008] + ldr ip, [r1, #1012] cmp ip, #0 ldrneh r4, [ip, #10] movne r5, ip movne r1, #0 - bne .L2695 - b .L2699 -.L2697: + bne .L2701 + b .L2705 +.L2703: ldrh r6, [r5, #16] add r5, r5, #8 cmp r6, r3 - bne .L2696 + bne .L2702 add r1, r1, #2 add r1, ip, r1, asl #3 ldrh r4, [r1, #4] @@ -23376,19 +23422,19 @@ rk_ftl_vendor_read: bl memcpy mov r0, r4 ldmfd sp!, {r4, r5, r6, pc} -.L2696: +.L2702: add r1, r1, #1 -.L2695: - cmp r1, r4 - bcc .L2697 - mvn r0, #0 - ldmfd sp!, {r4, r5, r6, pc} -.L2699: - mvn r0, #0 - ldmfd sp!, {r4, r5, r6, pc} .L2701: + cmp r1, r4 + bcc .L2703 + mvn r0, #0 + ldmfd sp!, {r4, r5, r6, pc} +.L2705: + mvn r0, #0 + ldmfd sp!, {r4, r5, r6, pc} +.L2707: .align 2 -.L2700: +.L2706: .word .LANCHOR2 .fnend .size rk_ftl_vendor_read, .-rk_ftl_vendor_read @@ -23399,46 +23445,46 @@ rk_ftl_vendor_write: .fnstart @ args = 0, pretend = 0, frame = 16 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L2719 + ldr r3, .L2725 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} mov sl, r0 - ldr r4, [r3, #1008] + ldr r4, [r3, #1012] .pad #20 sub sp, sp, #20 mov r9, r1 mov r5, r2 cmp r4, #0 - beq .L2715 + beq .L2721 add r8, r2, #63 ldrh r2, [r4, #8] ldrh r3, [r4, #10] bic r8, r8, #63 mov r7, #0 str r2, [sp, #8] - b .L2704 -.L2711: + b .L2710 +.L2717: add r2, r7, #2 mov r2, r2, asl #3 add r6, r4, r2 ldrh r2, [r4, r2] cmp r2, sl - bne .L2705 + bne .L2711 ldrh r2, [r6, #4] add r2, r2, #63 bic r2, r2, #63 str r2, [sp, #12] cmp r5, r2 - bls .L2706 + bls .L2712 ldrh r2, [r4, #14] cmp r2, r8 - bcc .L2715 + bcc .L2721 sub r3, r3, #1 mov fp, r8 ldrh r6, [r6, #2] mov r8, r3 - b .L2707 -.L2708: + b .L2713 +.L2714: add r7, r7, #1 mov r2, r2, asl #3 add r0, r7, #2 @@ -23463,10 +23509,10 @@ rk_ftl_vendor_write: bl memcpy ldr r3, [sp, #4] add r6, r6, r3 -.L2707: +.L2713: cmp r7, r8 add r2, r7, #2 - bcc .L2708 + bcc .L2714 mov r2, r2, asl #3 uxth r6, r6 add r3, r4, r2 @@ -23486,8 +23532,8 @@ rk_ftl_vendor_write: add r3, r2, r3 rsb r8, r8, r3 strh r8, [r4, #14] @ movhi - b .L2718 -.L2706: + b .L2724 +.L2712: ldrh r0, [r6, #2] mov r1, r9 mov r2, r5 @@ -23495,15 +23541,15 @@ rk_ftl_vendor_write: add r0, r4, r0 bl memcpy strh r5, [r6, #4] @ movhi - b .L2718 -.L2705: + b .L2724 +.L2711: add r7, r7, #1 -.L2704: +.L2710: cmp r7, r3 - bcc .L2711 + bcc .L2717 ldrh r2, [r4, #14] cmp r2, r8 - bcc .L2715 + bcc .L2721 add r3, r3, #2 uxth r8, r8 mov r1, r9 @@ -23527,7 +23573,7 @@ rk_ftl_vendor_write: ldrh r3, [r4, #10] add r3, r3, #1 strh r3, [r4, #10] @ movhi -.L2718: +.L2724: ldr r3, [r4, #4] movw r2, #65532 mov r0, r4 @@ -23546,15 +23592,15 @@ rk_ftl_vendor_write: mov r1, r3, asl #7 bl rk_ftl_vendor_ops.constprop.26 mov r0, #0 - b .L2703 -.L2715: + b .L2709 +.L2721: mvn r0, #0 -.L2703: +.L2709: add sp, sp, #20 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L2720: +.L2726: .align 2 -.L2719: +.L2725: .word .LANCHOR2 .fnend .size rk_ftl_vendor_write, .-rk_ftl_vendor_write @@ -23573,30 +23619,30 @@ rk_ftl_vendor_storage_ioctl: bl ftl_malloc subs r4, r0, #0 mvneq r5, #0 - beq .L2722 - ldr r3, .L2738 + beq .L2728 + ldr r3, .L2744 cmp r6, r3 - beq .L2724 + beq .L2730 add r3, r3, #1 cmp r6, r3 - bne .L2735 - b .L2737 -.L2724: + bne .L2741 + b .L2743 +.L2730: mov r1, r5 mov r2, #8 bl rk_copy_from_user cmp r0, #0 - bne .L2735 + bne .L2741 ldr r2, [r4, #0] - ldr r3, .L2738+4 + ldr r3, .L2744+4 cmp r2, r3 - bne .L2734 + bne .L2740 ldrh r0, [r4, #4] add r1, r4, #8 ldrh r2, [r4, #6] bl rk_ftl_vendor_read cmn r0, #1 - beq .L2730 + beq .L2736 uxth r2, r0 mov r1, r4 strh r2, [r4, #6] @ movhi @@ -23606,48 +23652,48 @@ rk_ftl_vendor_storage_ioctl: cmp r0, #0 moveq r5, r0 mvnne r5, #13 - b .L2723 -.L2737: + b .L2729 +.L2743: mov r1, r5 mov r2, #8 bl rk_copy_from_user cmp r0, #0 - bne .L2735 + bne .L2741 ldr r2, [r4, #0] - ldr r3, .L2738+4 + ldr r3, .L2744+4 cmp r2, r3 - bne .L2734 + bne .L2740 ldrh r2, [r4, #6] movw r3, #4087 cmp r2, r3 - bhi .L2734 + bhi .L2740 mov r0, r4 mov r1, r5 add r2, r2, #8 bl rk_copy_from_user cmp r0, #0 - bne .L2735 + bne .L2741 ldrh r0, [r4, #4] add r1, r4, #8 ldrh r2, [r4, #6] bl rk_ftl_vendor_write -.L2730: +.L2736: mov r5, r0 - b .L2723 -.L2734: + b .L2729 +.L2740: mvn r5, #0 - b .L2723 -.L2735: + b .L2729 +.L2741: mvn r5, #13 -.L2723: +.L2729: mov r0, r4 bl kfree -.L2722: +.L2728: mov r0, r5 ldmfd sp!, {r4, r5, r6, pc} -.L2739: +.L2745: .align 2 -.L2738: +.L2744: .word 1074034177 .word 1448232273 .fnend @@ -27138,11 +27184,16 @@ DieCsIndex: .size gFlashInterfaceMode, 1 gFlashInterfaceMode: .space 1 + .space 3 + .type g_nandc_version_data, %object + .size g_nandc_version_data, 4 +g_nandc_version_data: + .space 4 .type gFlashToggleModeEn, %object .size gFlashToggleModeEn, 1 gFlashToggleModeEn: .space 1 - .space 2 + .space 3 .type gBootDdrMode, %object .size gBootDdrMode, 4 gBootDdrMode: @@ -27150,10 +27201,6 @@ gBootDdrMode: .type gNandcVer, %object .size gNandcVer, 4 gNandcVer: - .space 4 - .type g_nandc_version_data, %object - .size g_nandc_version_data, 4 -g_nandc_version_data: .space 4 .type gMasterTempBuf, %object .size gMasterTempBuf, 4 diff --git a/drivers/rk_nand/rk_ftlv5_arm64.S b/drivers/rk_nand/rk_ftlv5_arm64.S index 2d3c0a2af3e9..3b00f1785f9a 100644 --- a/drivers/rk_nand/rk_ftlv5_arm64.S +++ b/drivers/rk_nand/rk_ftlv5_arm64.S @@ -5,7 +5,7 @@ * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. - * date: 2018-04-08 + * date: 2018-06-15 * function: rk ftl v5 for rockchip soc base on arm v8 to support MLC NAND. */ .cpu generic+fp+simd @@ -2630,19 +2630,28 @@ ftl_flash_de_init: add x29, sp, 0 str x19, [sp,16] adrp x19, .LANCHOR2 - add x19, x19, :lo12:.LANCHOR2 bl NandcWaitFlashReady bl FlashSetReadRetryDefault - ldrb w0, [x19,565] - cbz w0, .L387 + add x0, x19, :lo12:.LANCHOR2 + ldr w1, [x0,568] + mov w0, 12336 + movk w0, 0x5638, lsl 16 + cmp w1, w0 + bne .L387 + mov w0, 0 + bl flash_enter_slc_mode +.L387: + add x19, x19, :lo12:.LANCHOR2 + ldrb w0, [x19,572] + cbz w0, .L388 ldrb w0, [x19,564] - tbz x0, 0, .L387 + tbz x0, 0, .L388 mov w0, 1 bl FlashSetInterfaceMode mov w0, 1 bl NandcSetMode - strb wzr, [x19,565] -.L387: + strb wzr, [x19,572] +.L388: adrp x0, .LANCHOR0+40 ldr x0, [x0,#:lo12:.LANCHOR0+40] str wzr, [x0,336] @@ -2679,37 +2688,37 @@ NandcTimeCfg: add x1, x1, :lo12:.LANCHOR0 sdiv w0, w0, w2 cmp w0, 250 - ble .L396 + ble .L397 ldr x0, [x1,3976] mov w1, 8354 - b .L403 -.L396: - cmp w0, 220 - ble .L398 - ldr x0, [x1,3976] b .L404 -.L398: - cmp w0, 185 +.L397: + cmp w0, 220 ble .L399 ldr x0, [x1,3976] - mov w1, 4226 - b .L403 + b .L405 .L399: + cmp w0, 185 + ble .L400 + ldr x0, [x1,3976] + mov w1, 4226 + b .L404 +.L400: cmp w0, 160 ldr x0, [x1,3976] - ble .L400 + ble .L401 mov w1, 4194 - b .L403 -.L400: + b .L404 +.L401: cmp w19, 35 mov w1, 4193 - bls .L403 + bls .L404 cmp w19, 99 mov w1, 4225 - bls .L403 -.L404: + bls .L404 +.L405: mov w1, 8322 -.L403: +.L404: str w1, [x0,4] ldr x19, [sp,16] ldp x29, x30, [sp], 32 @@ -2725,15 +2734,15 @@ FlashTimingCfg: and w1, w1, -33 cmp w1, 1 add x29, sp, 0 - bls .L406 + bls .L407 mov w1, 8322 cmp w0, w1 - bne .L407 -.L406: + bne .L408 +.L407: adrp x1, .LANCHOR0+3976 ldr x1, [x1,#:lo12:.LANCHOR0+3976] str w0, [x1,4] -.L407: +.L408: adrp x0, .LANCHOR1+277 ldrb w0, [x0,#:lo12:.LANCHOR1+277] bl NandcTimeCfg @@ -2766,19 +2775,19 @@ NandcInit: str x0, [x2,3976] ldr w2, [x0] ubfx x4, x2, 13, 1 - str w4, [x3,568] + str w4, [x3,576] ldr w4, [x0,352] and w2, w2, 245760 orr w2, w2, 256 ubfx x4, x4, 16, 4 - str w4, [x3,572] + str w4, [x3,580] ldr w4, [x0,352] - str w4, [x3,576] + str w4, [x3,568] cmp w4, 2049 - bne .L409 + bne .L410 mov w1, 8 - str w1, [x3,572] -.L409: + str w1, [x3,580] +.L410: add x20, x20, :lo12:.LANCHOR0 str w2, [x0] ldr x0, [x20,3976] @@ -2840,21 +2849,21 @@ NandcBchSel: adrp x1, .LANCHOR2+644 str w0, [x1,#:lo12:.LANCHOR2+644] mov w1, 4096 - bne .L412 -.L415: + bne .L413 +.L416: and w1, w1, -17 - b .L413 -.L412: + b .L414 +.L413: cmp w0, 24 - bne .L414 + bne .L415 orr w1, w1, 16 - b .L413 -.L414: + b .L414 +.L415: cmp w0, 40 orr w1, w1, 262144 orr w1, w1, 16 - beq .L415 -.L413: + beq .L416 +.L414: orr w1, w1, 1 str w1, [x2,12] ret @@ -2905,23 +2914,23 @@ ftl_flash_resume: str w3, [x2,336] ldr w1, [x1,4012] str w1, [x2,344] -.L422: +.L423: lsl x0, x19, 3 ldrb w1, [x0,x20] sub w1, w1, #1 uxtb w1, w1 cmp w1, 253 - bhi .L421 + bhi .L422 mov w0, w19 bl FlashReset -.L421: +.L422: add x19, x19, 1 cmp x19, 4 - bne .L422 + bne .L423 adrp x19, .LANCHOR2 add x19, x19, :lo12:.LANCHOR2 - ldrb w0, [x19,565] - cbz w0, .L423 + ldrb w0, [x19,572] + cbz w0, .L424 mov w0, 1 bl NandcSetMode ldrb w0, [x19,564] @@ -2930,7 +2939,7 @@ ftl_flash_resume: bl NandcSetMode lsr w0, w21, 8 bl NandcSetDdrPara -.L423: +.L424: add x0, x22, :lo12:.LANCHOR0 ldr x0, [x0,1912] ldrb w0, [x0,20] @@ -2963,18 +2972,18 @@ NandcIqrWaitFlashReady: orr w0, w0, 2 str w0, [x19,364] ldr w0, [x19] - tbnz x0, 9, .L430 + tbnz x0, 9, .L431 mov x0, x19 bl wait_for_nand_flash_ready - b .L429 -.L430: + b .L430 +.L431: ldr w0, [x19,368] orr w0, w0, 2 str w0, [x19,368] ldr w0, [x19,364] and w0, w0, -3 str w0, [x19,364] -.L429: +.L430: ldr x19, [sp,16] ldp x29, x30, [sp], 32 ret @@ -2998,17 +3007,17 @@ FlashEraseBlocks: mov x24, x0 ldrb w2, [x20,24] mov w19, 0 - cbz w2, .L433 + cbz w2, .L434 mov w1, w23 bl FlashEraseSLc2KBlocks - b .L434 -.L433: + b .L435 +.L434: mov w27, 56 adrp x28, .LANCHOR2 add x25, x20, 1720 -.L464: +.L465: cmp w19, w23 - bcs .L465 + bcs .L466 umull x5, w19, w27 mov w1, 0 sub w4, w23, w19 @@ -3023,11 +3032,11 @@ FlashEraseBlocks: ldr w0, [x29,124] ldr x5, [x29,96] cmp w0, w1 - bcc .L435 + bcc .L436 mov w0, -1 str w0, [x24,x5] - b .L436 -.L435: + b .L437 +.L436: add x1, x28, :lo12:.LANCHOR2 mov x2, 24 ldrb w1, [x1,648] @@ -3036,9 +3045,9 @@ FlashEraseBlocks: csel w22, w22, wzr, ne madd x1, x1, x2, x25 ldr x1, [x1,8] - cbz x1, .L438 + cbz x1, .L439 bl FlashWaitCmdDone -.L438: +.L439: ldr w1, [x29,124] mov x0, 24 ldr w2, [x29,120] @@ -3046,12 +3055,12 @@ FlashEraseBlocks: str x21, [x0,8] str xzr, [x0,16] str w2, [x0,4] - cbz w22, .L439 + cbz w22, .L440 add w2, w19, 1 umull x2, w2, w27 add x2, x24, x2 str x2, [x0,16] -.L439: +.L440: add x0, x20, x1 ldrb w21, [x0,1680] mov x0, 24 @@ -3060,16 +3069,16 @@ FlashEraseBlocks: strb w21, [x25,x1] bl NandcFlashCs cmp w26, 1 - bne .L440 + bne .L441 ldrb w0, [x20,136] - cbz w0, .L440 + cbz w0, .L441 mov w0, w21 bl flash_enter_slc_mode - b .L441 -.L440: + b .L442 +.L441: mov w0, w21 bl flash_exit_slc_mode -.L441: +.L442: ldr w1, [x29,124] add x0, x20, 1688 add w19, w19, w22 @@ -3085,54 +3094,54 @@ FlashEraseBlocks: bl FlashEraseCmd mov w0, w21 bl NandcFlashDeCs -.L436: +.L437: add w19, w19, 1 - b .L464 -.L465: + b .L465 +.L466: ldr x0, [x29,104] mov x20, 0 mov x21, 24 add x19, x0, :lo12:.LANCHOR0 ldr x0, [x19,3976] bl NandcIqrWaitFlashReady -.L443: +.L444: ldrb w0, [x19,1676] cmp w0, w20 - bls .L466 + bls .L467 mov w0, w20 bl FlashWaitCmdDone cmp w26, 1 - bne .L444 + bne .L445 ldrb w0, [x19,136] - cbz w0, .L444 + cbz w0, .L445 madd x0, x20, x21, x19 ldrb w0, [x0,1720] bl flash_exit_slc_mode -.L444: +.L445: add x20, x20, 1 - b .L443 -.L466: + b .L444 +.L467: adrp x0, .LANCHOR2+652 ldr w0, [x0,#:lo12:.LANCHOR2+652] - cbnz w0, .L446 -.L448: + cbnz w0, .L447 +.L449: mov w0, 0 - b .L434 -.L446: + b .L435 +.L447: adrp x0, IDByte ldrb w0, [x0,#:lo12:IDByte] cmp w0, 69 - bne .L448 + bne .L449 mov x0, 0 mov x1, 56 -.L447: +.L448: cmp w23, w0 - bls .L448 + bls .L449 mul x2, x0, x1 add x0, x0, 1 str wzr, [x24,x2] - b .L447 -.L434: + b .L448 +.L435: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -3170,11 +3179,11 @@ NandcSendDumpDataStart: .type NandcSendDumpDataDone, %function NandcSendDumpDataDone: sub sp, sp, #16 -.L469: +.L470: ldr w1, [x0,8] str w1, [sp,8] ldr w1, [sp,8] - tbz x1, 20, .L469 + tbz x1, 20, .L470 add sp, sp, 16 ret .size NandcSendDumpDataDone, .-NandcSendDumpDataDone @@ -3212,10 +3221,10 @@ NandcXferStart: add x0, x19, :lo12:.LANCHOR2 orr w20, w20, 536870912 orr w20, w20, 1024 - ldr w0, [x0,572] + ldr w0, [x0,580] bfi w20, w3, 4, 1 cmp w0, 3 - bls .L473 + bls .L474 ldr w0, [x21,16] cmp x5, xzr str w0, [x29,88] @@ -3223,11 +3232,11 @@ NandcXferStart: ldr w0, [x29,88] and w0, w0, -5 str w0, [x29,88] - cbnz w7, .L487 - cbz x22, .L474 -.L487: - cbnz w25, .L476 -.L484: + cbnz w7, .L488 + cbz x22, .L475 +.L488: + cbnz w25, .L477 +.L485: mov x0, x21 add w23, w23, 1 asr w23, w23, 1 @@ -3240,11 +3249,11 @@ NandcXferStart: orr w0, w0, 1 str w0, [x21,364] mov x0, x22 - cbnz x22, .L478 + cbnz x22, .L479 add x0, x19, :lo12:.LANCHOR2 ldr x0, [x0,592] - b .L478 -.L476: + b .L479 +.L477: add x1, x19, :lo12:.LANCHOR2 mov w4, 128 mov w2, 0 @@ -3255,26 +3264,26 @@ NandcXferStart: cmp w0, 25 mov w0, 64 csel w4, w0, w4, cc -.L480: +.L481: cmp w3, w8 - bcs .L484 + bcs .L485 lsr w0, w2, 2 ubfiz x0, x0, 2, 30 - cbz w7, .L481 + cbz w7, .L482 ldrh w6, [x5,2] ldr x10, [x1,600] ldrh w11, [x5],4 orr w6, w11, w6, lsl 16 str w6, [x10,x0] - b .L482 -.L481: + b .L483 +.L482: ldr x6, [x1,600] str w9, [x6,x0] -.L482: +.L483: add w3, w3, 1 add w2, w2, w4 - b .L480 -.L478: + b .L481 +.L479: add x19, x19, :lo12:.LANCHOR2 ubfx x23, x20, 22, 5 mov w2, w25 @@ -3304,12 +3313,12 @@ NandcXferStart: ldr w0, [x29,88] orr w0, w0, 448 str w0, [x29,88] - cbnz x22, .L485 + cbnz x22, .L486 ldr w0, [x29,88] mov w1, 2 bfi w0, w1, 3, 3 str w0, [x29,88] -.L485: +.L486: ldr w0, [x29,88] cmp w25, wzr cset w1, eq @@ -3321,10 +3330,10 @@ NandcXferStart: ldr w0, [x29,88] orr w0, w0, 1 str w0, [x29,88] -.L474: +.L475: ldr w0, [x29,88] str w0, [x21,16] -.L473: +.L474: str w24, [x21,12] str w20, [x21,8] orr w20, w20, 4 @@ -3352,38 +3361,38 @@ NandcXferComp: adrp x20, .LANCHOR2 ldr x19, [x1,x0] add x0, x20, :lo12:.LANCHOR2 - ldr w0, [x0,572] + ldr w0, [x0,580] cmp w0, 3 - bls .L522 + bls .L523 ldr w0, [x19,16] - tbz x0, 2, .L522 + tbz x0, 2, .L523 mov x0, x19 bl wait_for_nandc_xfer_completed ldr w21, [x19,16] ldr w0, [x19,8] ubfx x21, x21, 1, 1 str w0, [x29,64] - cbz w21, .L493 + cbz w21, .L494 adrp x22, .LC4 adrp x23, .LC5 mov w21, 0 add x22, x22, :lo12:.LC4 add x23, x23, :lo12:.LC5 -.L494: +.L495: ldr w2, [x19,28] ldr w1, [x29,64] ubfx x2, x2, 16, 5 ubfx x1, x1, 22, 6 cmp w2, w1 - bge .L502 + bge .L503 add x0, x20, :lo12:.LANCHOR2 - ldr w0, [x0,572] + ldr w0, [x0,580] cmp w0, 5 - bhi .L495 -.L498: + bhi .L496 +.L499: add w21, w21, 1 and w0, w21, 16777215 - cbnz w0, .L494 + cbnz w0, .L495 ldr w2, [x19,28] mov w1, w21 ldr w3, [x29,64] @@ -3396,19 +3405,19 @@ NandcXferComp: mov w2, 4 mov w3, 512 bl rknand_print_hex - b .L494 -.L495: + b .L495 +.L496: ldr w0, [x19] str w0, [x29,72] ldr w0, [x29,72] - tbz x0, 13, .L498 + tbz x0, 13, .L499 ldr w0, [x29,72] - tbz x0, 17, .L498 -.L502: + tbz x0, 17, .L499 +.L503: add x19, x20, :lo12:.LANCHOR2 add x19, x19, 592 ldr w0, [x19,40] - cbz w0, .L503 + cbz w0, .L504 ldr w1, [x29,64] mov w2, 0 ldr w0, [x19,32] @@ -3421,20 +3430,20 @@ NandcXferComp: ubfx x1, x1, 22, 5 lsl w1, w1, 7 bl rknand_dma_unmap_single - b .L503 -.L493: + b .L504 +.L494: adrp x22, .LC6 adrp x23, .LC5 add x22, x22, :lo12:.LC6 add x23, x23, :lo12:.LC5 -.L504: +.L505: ldr w0, [x29,64] - tbnz x0, 20, .L530 + tbnz x0, 20, .L531 ldr w0, [x19,8] add w21, w21, 1 str w0, [x29,64] and w0, w21, 16777215 - cbnz w0, .L504 + cbnz w0, .L505 ldr w2, [x29,64] mov w1, w21 ldr w3, [x19,28] @@ -3446,18 +3455,18 @@ NandcXferComp: mov w2, 4 mov w3, 512 bl rknand_print_hex - b .L504 -.L530: + b .L505 +.L531: add x0, x20, :lo12:.LANCHOR2 ldr w0, [x0,640] - cbz w0, .L507 + cbz w0, .L508 mov x0, x19 bl NandcSendDumpDataStart -.L507: +.L508: add x21, x20, :lo12:.LANCHOR2 add x21, x21, 592 ldr w0, [x21,40] - cbz w0, .L508 + cbz w0, .L509 ldr w1, [x29,64] mov w2, 1 ldr w0, [x21,32] @@ -3470,22 +3479,22 @@ NandcXferComp: ubfx x1, x1, 22, 5 lsl w1, w1, 7 bl rknand_dma_unmap_single -.L508: +.L509: add x0, x20, :lo12:.LANCHOR2 ldr w0, [x0,640] - cbz w0, .L503 + cbz w0, .L504 mov x0, x19 bl NandcSendDumpDataDone -.L503: +.L504: add x20, x20, :lo12:.LANCHOR2 str wzr, [x20,632] - b .L491 -.L522: + b .L492 +.L523: ldr w0, [x19,8] str w0, [x29,64] ldr w0, [x29,64] - tbz x0, 20, .L522 -.L491: + tbz x0, 20, .L523 +.L492: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldr x23, [sp,48] @@ -3508,14 +3517,14 @@ NandcCopy1KB: add x4, x0, 4096 add x21, x0, 512 add x2, x4, x2 - bne .L532 - cbz x3, .L533 + bne .L533 + cbz x3, .L534 mov x0, x2 mov x1, x3 mov w2, 1024 bl ftl_memcpy -.L533: - cbz x20, .L531 +.L534: + cbz x20, .L532 mov w0, 48 lsr w19, w19, 1 ldrb w1, [x20,1] @@ -3529,15 +3538,15 @@ NandcCopy1KB: ldrb w1, [x20,3] orr w0, w0, w1, lsl 24 str w0, [x21,w19,sxtw 2] - b .L531 -.L532: - cbz x3, .L536 + b .L532 +.L533: + cbz x3, .L537 mov x1, x2 mov x0, x3 mov w2, 1024 bl ftl_memcpy -.L536: - cbz x20, .L531 +.L537: + cbz x20, .L532 mov w0, 48 lsr w19, w19, 1 mul w19, w19, w0 @@ -3550,7 +3559,7 @@ NandcCopy1KB: lsr w0, w0, 24 strb w1, [x20,2] strb w0, [x20,3] -.L531: +.L532: ldp x19, x20, [sp,16] ldr x21, [sp,32] ldp x29, x30, [sp], 48 @@ -3577,14 +3586,14 @@ NandcXferData: uxtb w23, w2 mov x25, x3 mov x21, x4 - cbnz x0, .L548 - cbnz x4, .L549 + cbnz x0, .L549 + cbnz x4, .L550 add x0, x29, 112 mov w1, 255 mov w2, 64 add x21, x29, 112 bl ftl_memset -.L549: +.L550: mov w0, w24 mov w1, w20 mov w2, w23 @@ -3595,7 +3604,7 @@ NandcXferData: bl NandcXferStart mov w0, w24 bl NandcXferComp - cbnz w20, .L550 + cbnz w20, .L551 adrp x0, .LANCHOR2 ubfx x3, x23, 1, 7 add x2, x0, :lo12:.LANCHOR2 @@ -3606,10 +3615,10 @@ NandcXferData: mov w1, 64 csel w4, w1, w4, cc mov w1, w20 -.L552: +.L553: cmp x21, x3 add w5, w1, w4 - beq .L594 + beq .L595 ldr x6, [x2,600] and x1, x1, 4294967292 add x21, x21, 4 @@ -3622,29 +3631,29 @@ NandcXferData: lsr w1, w1, 24 strb w1, [x21,-1] mov w1, w5 - b .L552 -.L594: + b .L553 +.L595: add x0, x0, :lo12:.LANCHOR2 lsr w23, w23, 2 ldr w4, [x0,644] - ldr w5, [x0,572] + ldr w5, [x0,580] mov w0, 0 mov w22, w0 -.L554: +.L555: cmp w0, w23 - bcs .L550 - cbz w4, .L550 + bcs .L551 + cbz w4, .L551 uxtw x1, w0 add x1, x1, 8 ldr w1, [x19,x1,lsl 2] str w1, [x29,104] ldr w1, [x29,104] - tbnz x1, 2, .L578 + tbnz x1, 2, .L579 ldr w3, [x29,104] ubfx x3, x3, 15, 1 - cbnz w3, .L578 + cbnz w3, .L579 cmp w5, 5 - bls .L556 + bls .L557 ldr w2, [x29,104] ubfx x6, x2, 3, 5 ldr w2, [x29,104] @@ -3657,20 +3666,20 @@ NandcXferData: orr w1, w3, w1, lsl 5 ldr w3, [x29,104] cmp w2, w1 - bls .L557 + bls .L558 ldr w1, [x29,104] ubfx x3, x3, 3, 5 ubfx x1, x1, 27, 1 orr w3, w3, w1, lsl 5 - b .L558 -.L557: + b .L559 +.L558: ubfx x1, x3, 16, 5 ldr w3, [x29,104] ubfx x3, x3, 29, 1 - b .L593 -.L556: + b .L594 +.L557: cmp w5, 3 - bls .L558 + bls .L559 ldr w2, [x29,104] ubfx x6, x2, 3, 5 ldr w2, [x29,104] @@ -3683,43 +3692,43 @@ NandcXferData: orr w1, w3, w1, lsl 5 ldr w3, [x29,104] cmp w2, w1 - bls .L559 + bls .L560 ubfx x1, x3, 3, 5 ldr w3, [x29,104] ubfx x3, x3, 28, 1 - b .L593 -.L559: + b .L594 +.L560: ubfx x1, x3, 16, 5 ldr w3, [x29,104] ubfx x3, x3, 30, 1 -.L593: +.L594: orr w3, w1, w3, lsl 5 -.L558: +.L559: cmp w22, w3 csel w22, w22, w3, cs - b .L555 -.L578: + b .L556 +.L579: mov w22, -1 -.L555: +.L556: add w0, w0, 1 - b .L554 -.L550: + b .L555 +.L551: str wzr, [x19,16] - b .L561 -.L548: + b .L562 +.L549: cmp w20, 1 - bne .L592 + bne .L593 mov w22, 0 mov w27, 2 -.L562: +.L563: cmp w22, w23 - bcs .L595 + bcs .L596 and w26, w22, 3 mov x3, x25 - cbz x25, .L564 + cbz x25, .L565 ubfiz x0, x22, 9, 23 add x3, x25, x0 -.L564: +.L565: cmp x21, xzr mov x0, x19 csel w4, w27, wzr, ne @@ -3738,11 +3747,11 @@ NandcXferData: bl NandcXferStart mov w0, w24 bl NandcXferComp - b .L562 -.L595: + b .L563 +.L596: mov w22, 0 - b .L561 -.L592: + b .L562 +.L593: mov w1, 0 mov x4, 0 mov w26, 0 @@ -3753,16 +3762,16 @@ NandcXferData: mov w22, w26 mov w27, 2 bl NandcXferStart -.L567: +.L568: cmp w26, w23 - bcs .L561 + bcs .L562 mov w0, w24 add w28, w26, 2 bl NandcXferComp ldr w0, [x19,32] cmp w28, w23 str w0, [x29,104] - bcs .L568 + bcs .L569 mov x4, 0 mov w0, w24 mov w1, 0 @@ -3770,9 +3779,9 @@ NandcXferData: and w3, w28, 3 mov x5, x4 bl NandcXferStart -.L568: +.L569: ldr w0, [x29,104] - tbnz x0, 2, .L583 + tbnz x0, 2, .L584 ldr w0, [x29,104] ubfx x1, x0, 3, 5 ldr w0, [x29,104] @@ -3780,16 +3789,16 @@ NandcXferData: orr w0, w1, w0, lsl 5 cmp w22, w0 csel w22, w22, w0, cs - b .L569 -.L583: + b .L570 +.L584: mov w22, -1 -.L569: +.L570: and w2, w26, 3 mov x3, x25 - cbz x25, .L570 + cbz x25, .L571 ubfiz x3, x26, 9, 23 add x3, x25, x3 -.L570: +.L571: cmp x21, xzr mov x0, x19 csel w4, w27, wzr, ne @@ -3798,23 +3807,23 @@ NandcXferData: mov w26, w28 add x4, x21, x4 bl NandcCopy1KB - b .L567 -.L561: - cbnz w20, .L573 - adrp x0, .LANCHOR2+572 - ldr w0, [x0,#:lo12:.LANCHOR2+572] + b .L568 +.L562: + cbnz w20, .L574 + adrp x0, .LANCHOR2+580 + ldr w0, [x0,#:lo12:.LANCHOR2+580] cmp w0, 5 - bls .L573 + bls .L574 ldr w0, [x19] mov w1, 8192 movk w1, 0x2, lsl 16 and w1, w0, w1 cmp w1, 139264 - bne .L573 + bne .L574 orr w0, w0, 131072 mov w22, -1 str w0, [x19] -.L573: +.L574: mov w0, w22 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -3837,7 +3846,7 @@ FlashReadRawPage: str x21, [sp,32] mov x21, x2 ldrb w20, [x0,#:lo12:.LANCHOR1+265] - cbnz w19, .L597 + cbnz w19, .L598 adrp x0, .LANCHOR0 add x0, x0, :lo12:.LANCHOR0 ldrb w5, [x0,25] @@ -3846,7 +3855,7 @@ FlashReadRawPage: cmp w1, w0 mov w0, 4 csel w20, w20, w0, cs -.L597: +.L598: mov w0, w19 str x4, [x29,48] str x1, [x29,56] @@ -3898,11 +3907,11 @@ FlashDdrTunningRead: ldr w0, [x0,304] mov w21, 1024 str w0, [x29,124] - ldr w0, [x27,572] + ldr w0, [x27,580] cmp w0, 8 mov w0, 12 csel w22, w22, w0, cc - cbz w4, .L600 + cbz w4, .L601 mov w0, 1 bl FlashSetInterfaceMode mov w0, 1 @@ -3920,41 +3929,41 @@ FlashDdrTunningRead: ldrb w0, [x27,564] bl NandcSetMode cmn w21, #1 - bne .L601 -.L610: + bne .L602 +.L611: mov w21, -1 - b .L602 -.L601: + b .L603 +.L602: adrp x0, .LC7 mov w1, w25 add x0, x0, :lo12:.LC7 mov w2, w21 bl printk cmp w21, 9 - bhi .L603 + bhi .L604 add x20, x20, x24, sxtw 4 ldr x0, [x20,40] ldr w1, [x0,3840] ldr w1, [x0] orr w1, w1, 131072 str w1, [x0] -.L603: +.L604: add x19, x19, :lo12:.LANCHOR2 ldr w0, [x19,656] add w0, w0, 1 str w0, [x19,656] cmp w0, 2047 - bls .L602 + bls .L603 mov x23, 0 str wzr, [x19,656] mov x28, x23 -.L600: +.L601: mov w19, 0 mov w27, -1 mov w5, w19 mov w6, w19 mov w20, w19 -.L608: +.L609: mov w0, w22 str x5, [x29,104] str x6, [x29,112] @@ -3968,63 +3977,63 @@ FlashDdrTunningRead: ldr x6, [x29,112] cmp w0, w1 ldr x5, [x29,104] - bhi .L604 + bhi .L605 cmp w0, 2 - bhi .L614 + bhi .L615 add w20, w20, 1 cmp w20, 9 - bls .L614 + bls .L615 sub w19, w22, w20 mov w21, w0 mov w27, 0 - b .L606 -.L604: + b .L607 +.L605: cmp w6, w20 - bcs .L615 + bcs .L616 cmp w20, 7 sub w5, w19, w20 - bhi .L616 + bhi .L617 mov w6, w20 - b .L615 -.L614: + b .L616 +.L615: mov x23, 0 mov w19, w22 mov w21, w0 mov w27, 0 mov x28, x23 - b .L605 -.L615: + b .L606 +.L616: mov w20, 0 -.L605: +.L606: add w22, w22, 2 cmp w22, 69 - bls .L608 -.L606: + bls .L609 +.L607: cmp w6, w20 csel w19, w19, w5, cc - b .L607 -.L616: + b .L608 +.L617: mov w19, w5 -.L607: - cbz w19, .L609 +.L608: + cbz w19, .L610 adrp x0, .LC8 mov w1, w19 add x0, x0, :lo12:.LC8 bl printk mov w0, w19 bl NandcSetDdrPara -.L609: - cbz w27, .L602 +.L610: + cbz w27, .L603 adrp x0, .LC9 mov w1, w24 add x0, x0, :lo12:.LC9 mov w2, w25 bl printk - cbz w26, .L610 + cbz w26, .L611 ldr w0, [x29,124] lsr w0, w0, 8 bl NandcSetDdrPara -.L602: +.L603: mov w0, w21 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -4054,17 +4063,17 @@ FlashReadPage: cmn w0, #1 mov w19, w0 adrp x23, .LANCHOR2 - bne .L626 + bne .L627 adrp x21, .LANCHOR0 add x26, x21, :lo12:.LANCHOR0 ldrb w27, [x26,32] - cbnz w27, .L627 -.L629: + cbnz w27, .L628 +.L630: add x0, x23, :lo12:.LANCHOR2 - ldrb w0, [x0,565] - cbz w0, .L626 - b .L647 -.L627: + ldrb w0, [x0,572] + cbz w0, .L627 + b .L648 +.L628: mov w0, w20 mov w1, w22 mov x2, x25 @@ -4073,10 +4082,10 @@ FlashReadPage: bl FlashReadRawPage strb w27, [x26,32] cmn w0, #1 - beq .L629 + beq .L630 mov w19, w0 - b .L626 -.L647: + b .L627 +.L648: add x21, x21, :lo12:.LANCHOR0 mov w1, w22 mov x2, x25 @@ -4088,19 +4097,19 @@ FlashReadPage: bl FlashDdrTunningRead cmn w0, #1 mov w19, w0 - beq .L630 + beq .L631 ldrb w0, [x21,4044] cmp w19, w0, lsr 1 - bls .L626 -.L630: + bls .L627 +.L631: lsr w0, w26, 8 bl NandcSetDdrPara -.L626: +.L627: add x21, x23, :lo12:.LANCHOR2 cmn w19, #1 ldr x4, [x21,664] - bne .L631 - cbz x4, .L631 + bne .L632 + cbz x4, .L632 mov w1, w22 mov x2, x25 mov x3, x24 @@ -4114,10 +4123,10 @@ FlashReadPage: mov w3, w22 bl printk cmn w19, #1 - bne .L631 + bne .L632 adrp x0, .LANCHOR0+136 ldrb w0, [x0,#:lo12:.LANCHOR0+136] - cbz w0, .L631 + cbz w0, .L632 mov w0, w20 bl flash_enter_slc_mode ldr x4, [x21,664] @@ -4129,7 +4138,7 @@ FlashReadPage: mov w19, w0 mov w0, w20 bl flash_exit_slc_mode -.L631: +.L632: mov w0, w19 ldr x27, [sp,80] ldp x19, x20, [sp,16] @@ -4168,24 +4177,24 @@ FlashDdrParaScan: mov x3, x2 bl FlashReadRawPage cmn w0, #1 - beq .L652 + beq .L653 cmn w22, #1 - bne .L649 -.L652: + bne .L650 +.L653: add x20, x19, :lo12:.LANCHOR2 ldrb w0, [x20,564] - tbz x0, 0, .L649 + tbz x0, 0, .L650 mov w0, 1 bl FlashSetInterfaceMode mov w0, 1 bl NandcSetMode - strb wzr, [x20,565] - b .L651 -.L649: + strb wzr, [x20,572] + b .L652 +.L650: add x19, x19, :lo12:.LANCHOR2 mov w0, 1 - strb w0, [x19,565] -.L651: + strb w0, [x19,572] +.L652: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -4226,10 +4235,10 @@ FlashLoadPhyInfo: mov w24, -1 ldrh w28, [x21,10] bl flash_enter_slc_mode -.L660: +.L661: add w26, w20, 1 mov x22, 0 -.L662: +.L663: add x0, x29, 104 ldrb w0, [x22,x0] bl FlashBchSel @@ -4239,32 +4248,32 @@ FlashLoadPhyInfo: mov x3, 0 bl FlashReadRawPage cmn w0, #1 - bne .L661 + bne .L662 ldr x2, [x19,#:lo12:.LANCHOR0] mov w0, 0 mov w1, w26 mov x3, 0 bl FlashReadRawPage cmn w0, #1 - bne .L661 + bne .L662 add x22, x22, 1 cmp x22, 4 - beq .L663 - b .L662 -.L664: + beq .L664 + b .L663 +.L665: mov w1, 2036 add x0, x26, 12 mov w24, -1 bl JSHash ldr w1, [x26,8] cmp w1, w0 - beq .L674 -.L663: + beq .L675 +.L664: subs w27, w27, #1 add w20, w20, w28 - bne .L660 + bne .L661 mov w0, w27 -.L673: +.L674: bl flash_exit_slc_mode mov w0, w24 ldp x19, x20, [sp,16] @@ -4274,15 +4283,15 @@ FlashLoadPhyInfo: ldp x27, x28, [sp,80] ldp x29, x30, [sp], 112 ret -.L661: +.L662: add x22, x25, :lo12:.LANCHOR2 mov w0, 20036 movk w0, 0x4e41, lsl 16 ldr x26, [x22,672] ldr w1, [x26] cmp w1, w0 - bne .L663 - cbnz w24, .L664 + bne .L664 + cbnz w24, .L665 add x23, x23, :lo12:.LANCHOR1 add x19, x19, :lo12:.LANCHOR0 ldrh w0, [x23,266] @@ -4290,8 +4299,8 @@ FlashLoadPhyInfo: mov w0, w24 add w20, w20, 1 str w20, [x19,8] - b .L673 -.L674: + b .L674 +.L675: add x1, x26, 160 mov w2, 32 mov x0, x21 @@ -4310,22 +4319,22 @@ FlashLoadPhyInfo: str w20, [x22,680] ldr x1, [x22,672] ldr w0, [x1,1076] - strb w0, [x22,565] + strb w0, [x22,572] ldrh w0, [x21,10] udiv w0, w20, w0 add w2, w0, 1 - cbz w0, .L666 + cbz w0, .L667 str w2, [x24,8] - b .L667 -.L666: + b .L668 +.L667: mov w0, 2 str w0, [x24,8] -.L667: +.L668: add x0, x25, :lo12:.LANCHOR2 ldrh w1, [x1,14] mov w24, 0 strb w1, [x0,684] - b .L663 + b .L664 .size FlashLoadPhyInfo, .-FlashLoadPhyInfo .align 2 .global ToshibaReadRetrial @@ -4362,21 +4371,21 @@ ToshibaReadRetrial: sub w0, w0, #67 uxtb w0, w0 cmp w0, 1 - bls .L676 - adrp x0, .LANCHOR2+565 - ldrb w0, [x0,#:lo12:.LANCHOR2+565] - cbz w0, .L677 + bls .L677 + adrp x0, .LANCHOR2+572 + ldrb w0, [x0,#:lo12:.LANCHOR2+572] + cbz w0, .L678 mov w0, w22 mov w22, 1 bl NandcSetDdrMode -.L677: +.L678: ubfiz x0, x28, 8, 8 mov w2, 92 add x0, x24, x0 str w2, [x0,2056] mov w2, 197 str w2, [x0,2056] -.L676: +.L677: adrp x0, g_maxRetryCount mov w21, 1 add x0, x0, :lo12:g_maxRetryCount @@ -4388,44 +4397,44 @@ ToshibaReadRetrial: str x0, [x29,104] ubfiz x0, x28, 8, 8 str x0, [x29,96] -.L678: +.L679: adrp x0, g_maxRetryCount ldrb w0, [x0,#:lo12:g_maxRetryCount] add w0, w0, 1 cmp w21, w0 - bcs .L703 + bcs .L704 ldrb w0, [x20,#:lo12:g_retryMode] mov w1, w21 sub w0, w0, #67 uxtb w0, w0 cmp w0, 1 mov x0, x19 - bhi .L679 + bhi .L680 bl SandiskSetRRPara - b .L680 -.L679: - bl ToshibaSetRRPara + b .L681 .L680: + bl ToshibaSetRRPara +.L681: ldrb w0, [x20,#:lo12:g_retryMode] cmp w0, 34 - bne .L681 + bne .L682 ldr x0, [x29,112] ldrb w0, [x0] sub w0, w0, #3 cmp w21, w0 - bne .L681 + bne .L682 ldr x0, [x29,104] mov w1, 179 add x0, x24, x0 str w1, [x0,8] -.L681: +.L682: ldr x0, [x29,96] mov w1, 38 add x0, x24, x0 str w1, [x0,2056] mov w1, 93 str w1, [x0,2056] - cbz w22, .L682 + cbz w22, .L683 mov w0, 4 bl NandcSetDdrMode ldr w1, [x29,132] @@ -4436,17 +4445,17 @@ ToshibaReadRetrial: mov w28, w0 mov w0, 0 bl NandcSetDdrMode - b .L683 -.L682: + b .L684 +.L683: ldr w1, [x29,132] mov w0, w23 mov x2, x27 mov x3, x26 bl FlashReadRawPage mov w28, w0 -.L683: +.L684: cmn w28, #1 - beq .L684 + beq .L685 ldr x0, [x29,120] cmn w25, #1 csel w25, w25, w28, ne @@ -4454,27 +4463,27 @@ ToshibaReadRetrial: ldrb w0, [x0,4044] add w0, w0, w0, lsl 1 cmp w28, w0, lsr 2 - bcc .L686 + bcc .L687 mov x26, 0 mov x27, x26 -.L684: +.L685: add w21, w21, 1 - b .L678 -.L703: + b .L679 +.L704: mov w28, w25 -.L686: +.L687: ldrb w0, [x20,#:lo12:g_retryMode] mov w1, 0 sub w0, w0, #67 uxtb w0, w0 cmp w0, 1 mov x0, x19 - bhi .L688 + bhi .L689 bl SandiskSetRRPara - b .L689 -.L688: - bl ToshibaSetRRPara + b .L690 .L689: + bl ToshibaSetRRPara +.L690: ldr x0, [x29,136] add x0, x0, 8 add x24, x24, x0, lsl 8 @@ -4485,17 +4494,17 @@ ToshibaReadRetrial: ldrb w0, [x0,4044] add w0, w0, w0, lsl 1 cmp w28, w0, lsr 2 - bcc .L690 + bcc .L691 cmn w28, #1 mov w0, 256 csel w28, w28, w0, eq -.L690: +.L691: mov w0, w23 bl NandcWaitFlashReady - cbz w22, .L691 + cbz w22, .L692 mov w0, 4 bl NandcSetDdrMode -.L691: +.L692: mov w0, w28 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -4535,11 +4544,11 @@ SamsungReadRetrial: ldrb w21, [x2,8] add x21, x21, 8 add x21, x0, x21, lsl 8 -.L705: +.L706: ldrb w0, [x27] add w0, w0, 1 cmp w26, w0 - bcs .L708 + bcs .L709 mov x0, x21 mov w1, w26 bl SamsungSetRRPara @@ -4549,22 +4558,22 @@ SamsungReadRetrial: mov x3, x23 bl FlashReadRawPage cmn w0, #1 - beq .L706 + beq .L707 add x1, x20, :lo12:.LANCHOR0 cmn w19, #1 csel w19, w19, w0, ne ldrb w1, [x1,4044] add w1, w1, w1, lsl 1 cmp w0, w1, lsr 2 - bcc .L711 + bcc .L712 mov x23, 0 mov x24, x23 -.L706: +.L707: add w26, w26, 1 - b .L705 -.L711: + b .L706 +.L712: mov w19, w0 -.L708: +.L709: mov x0, x21 mov w1, 0 add x20, x20, :lo12:.LANCHOR0 @@ -4572,11 +4581,11 @@ SamsungReadRetrial: ldrb w0, [x20,4044] add w0, w0, w0, lsl 1 cmp w19, w0, lsr 2 - bcc .L710 + bcc .L711 cmn w19, #1 mov w0, 256 csel w19, w19, w0, eq -.L710: +.L711: mov w0, w19 ldr x27, [sp,80] ldp x19, x20, [sp,16] @@ -4606,14 +4615,14 @@ MicronReadRetrial: mov x23, x3 ldrb w0, [x0,136] mov x19, x4 - cbnz w0, .L718 + cbnz w0, .L719 add w20, w20, w20, lsl 1 ubfx x20, x20, 2, 8 - b .L719 -.L718: + b .L720 +.L719: mov w0, 3 sdiv w20, w20, w0 -.L719: +.L720: mov w0, w22 adrp x28, g_maxRetryCount mov w27, 0 @@ -4629,10 +4638,10 @@ MicronReadRetrial: ldr x4, [x4,x0] ldrb w21, [x1,8] lsl x6, x21, 8 -.L720: +.L721: ldrb w0, [x28] cmp w27, w0 - bcs .L723 + bcs .L724 add x26, x4, x6 mov w0, 200 str x6, [x29,104] @@ -4659,19 +4668,19 @@ MicronReadRetrial: ldr x7, [x29,120] ldr x4, [x29,112] ldr x6, [x29,104] - beq .L721 + beq .L722 cmn w19, #1 csel w19, w19, w0, ne cmp w0, w20 - bcc .L728 + bcc .L729 mov x23, 0 mov x25, x23 -.L721: +.L722: mov w27, w5 - b .L720 -.L728: + b .L721 +.L729: mov w19, w0 -.L723: +.L724: add x21, x4, x21, lsl 8 mov w0, 239 str w0, [x21,2056] @@ -4684,16 +4693,16 @@ MicronReadRetrial: cmp w19, w20 str wzr, [x21,2048] str wzr, [x21,2048] - bcc .L725 + bcc .L726 cmn w19, #1 mov w0, 256 csel w19, w19, w0, eq -.L725: +.L726: cmn w19, #1 - beq .L729 + beq .L730 cmp w19, 256 - bne .L726 -.L729: + bne .L727 +.L730: adrp x0, .LC11 mov w1, w27 add x0, x0, :lo12:.LC11 @@ -4701,7 +4710,7 @@ MicronReadRetrial: mov w3, w27 mov w4, w19 bl printk -.L726: +.L727: mov w0, w19 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -4736,18 +4745,18 @@ HynixReadRetrial: ldrb w19, [x0,12] ldrb w1, [x1,19] cmp w1, 7 - bne .L739 + bne .L740 ldrb w19, [x0,20] -.L739: +.L740: mov w0, w23 mov w28, 0 mov w20, -1 bl NandcWaitFlashReady add x4, x21, :lo12:.LANCHOR0 add x5, x4, 4060 -.L740: +.L741: cmp w28, w25 - bcs .L744 + bcs .L745 add w19, w19, 1 ldrb w1, [x4,4057] mov x2, x5 @@ -4767,42 +4776,42 @@ HynixReadRetrial: cmn w0, #1 ldr x5, [x29,104] ldr x4, [x29,96] - beq .L742 + beq .L743 ldrb w1, [x4,4044] cmn w20, #1 csel w20, w20, w0, ne add w1, w1, w1, lsl 1 cmp w0, w1, lsr 2 - bcc .L749 + bcc .L750 mov x24, 0 mov x26, x24 -.L742: +.L743: add w28, w28, 1 - b .L740 -.L749: + b .L741 +.L750: mov w20, w0 -.L744: +.L745: add x0, x21, :lo12:.LANCHOR0 ldr x1, [x0,1912] add x0, x0, 4056 add x0, x0, x22 ldrb w1, [x1,19] cmp w1, 7 - bne .L746 + bne .L747 strb w19, [x0,20] - b .L747 -.L746: - strb w19, [x0,12] + b .L748 .L747: + strb w19, [x0,12] +.L748: add x21, x21, :lo12:.LANCHOR0 ldrb w0, [x21,4044] add w0, w0, w0, lsl 1 cmp w20, w0, lsr 2 - bcc .L748 + bcc .L749 cmn w20, #1 mov w0, 256 csel w20, w20, w0, eq -.L748: +.L749: mov w0, w20 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -4826,21 +4835,21 @@ FlashProgPage: mov w20, w1 mov x22, x2 ldrb w21, [x0,#:lo12:.LANCHOR1+265] - cbnz w19, .L756 + cbnz w19, .L757 adrp x0, .LANCHOR0 add x0, x0, :lo12:.LANCHOR0 ldrb w1, [x0,25] ldr w2, [x0,28] mul w1, w1, w2 cmp w20, w1 - bcs .L756 + bcs .L757 ldrb w0, [x0,24] - cbnz w0, .L757 + cbnz w0, .L758 sub w21, w21, #2 - b .L756 -.L757: + b .L757 +.L758: mov w21, 4 -.L756: +.L757: mov w0, w19 str x4, [x29,56] bl NandcWaitFlashReady @@ -4906,7 +4915,7 @@ FlashSavePhyInfo: strh w1, [x0,-4] ldrb w1, [x20,25] strh w1, [x0,-2] - ldrb w1, [x19,565] + ldrb w1, [x19,572] str w1, [x0,1060] adrp x1, IDByte add x1, x1, :lo12:IDByte @@ -4950,7 +4959,7 @@ FlashSavePhyInfo: mov w0, 0 mov w19, w21 bl flash_enter_slc_mode -.L761: +.L762: add x20, x22, :lo12:.LANCHOR0 mov w2, 0 mov w0, 0 @@ -4979,34 +4988,34 @@ FlashSavePhyInfo: mul w1, w19, w1 bl FlashReadRawPage cmn w0, #1 - beq .L759 + beq .L760 ldr x25, [x24,672] mov w0, 20036 movk w0, 0x4e41, lsl 16 ldr w1, [x25] cmp w1, w0 - bne .L759 + bne .L760 mov w1, 2036 add x0, x25, 12 bl JSHash ldr w1, [x25,8] cmp w1, w0 - bne .L759 + bne .L760 ldr w0, [x20,28] cmp w21, 1 str w26, [x20,8] mul w19, w19, w0 str w19, [x24,680] - beq .L762 + beq .L763 mov w21, 1 -.L759: +.L760: cmp w26, 4 mov w19, w26 - bne .L761 - b .L760 -.L762: + bne .L762 + b .L761 +.L763: mov w21, 2 -.L760: +.L761: mov w0, 0 bl flash_exit_slc_mode cmp w21, wzr @@ -5043,14 +5052,14 @@ FlashReadIdbDataRaw: stp x25, x26, [sp,64] ldrb w28, [x0,4044] add x0, x22, :lo12:.LANCHOR2 - ldr w1, [x0,576] + ldr w1, [x0,568] mov w0, 12336 movk w0, 0x5638, lsl 16 cmp w1, w0 - bne .L768 + bne .L769 mov w0, 0 bl flash_enter_slc_mode -.L768: +.L769: adrp x25, .LC12 mov x0, x27 mov w1, 0 @@ -5059,13 +5068,13 @@ FlashReadIdbDataRaw: mov w20, 2 add x25, x25, :lo12:.LC12 bl ftl_memset -.L769: +.L770: add x0, x21, :lo12:.LANCHOR0 ldrb w0, [x0,25] cmp w20, w0 - bcs .L773 + bcs .L774 mov x23, 0 -.L771: +.L772: add x0, x29, 104 add x19, x21, :lo12:.LANCHOR0 ldrb w26, [x23,x0] @@ -5078,18 +5087,18 @@ FlashReadIdbDataRaw: mul w1, w20, w1 bl FlashReadRawPage cmn w0, #1 - bne .L770 + bne .L771 add x23, x23, 1 cmp x23, 4 - bne .L771 - b .L772 -.L770: + bne .L772 + b .L773 +.L771: ldr x0, [x19] ldr w1, [x0] mov w0, 35899 movk w0, 0xfcdc, lsl 16 cmp w1, w0 - bne .L772 + bne .L773 mov w1, w26 mov x0, x25 bl printk @@ -5102,27 +5111,27 @@ FlashReadIdbDataRaw: strb w0, [x19,25] ldr w0, [x19,8] cmp w0, w20 - bls .L776 + bls .L777 mov w24, 0 str w20, [x19,8] bl FlashSavePhyInfo -.L772: - add w20, w20, 1 - b .L769 -.L776: - mov w24, 0 .L773: + add w20, w20, 1 + b .L770 +.L777: + mov w24, 0 +.L774: mov w0, w28 add x22, x22, :lo12:.LANCHOR2 bl FlashBchSel - ldr w1, [x22,576] + ldr w1, [x22,568] mov w0, 12336 movk w0, 0x5638, lsl 16 cmp w1, w0 - bne .L778 + bne .L779 mov w0, 0 bl flash_exit_slc_mode -.L778: +.L779: mov w0, w24 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -5177,7 +5186,7 @@ FlashInit: strb w1, [x24,-15] strb w1, [x21,684] str wzr, [x24,-32] - strb wzr, [x21,565] + strb wzr, [x21,572] str wzr, [x21,656] add x21, x23, :lo12:IDByte strb wzr, [x24,-16] @@ -5185,7 +5194,7 @@ FlashInit: add x0, x25, :lo12:.LC13 mov x26, x21 str x0, [x29,104] -.L785: +.L786: uxtb w25, w27 mov w0, w25 bl FlashReset @@ -5220,7 +5229,7 @@ FlashInit: sub w0, w2, #1 uxtb w0, w0 cmp w0, 253 - bhi .L781 + bhi .L782 ldr x0, [x29,104] add w1, w27, 1 ldrb w3, [x21,1] @@ -5229,35 +5238,35 @@ FlashInit: ldrb w6, [x21,4] ldrb w7, [x21,5] bl printk -.L781: - cbnz w27, .L782 +.L782: + cbnz w27, .L783 ldrb w0, [x26] sub w0, w0, #1 uxtb w0, w0 cmp w0, 253 - bhi .L829 + bhi .L830 ldrb w0, [x26,1] cmp w0, 255 - beq .L829 + beq .L830 bl FlashCs123Init -.L782: +.L783: ldrb w0, [x21] cmp w0, 181 - bne .L784 + bne .L785 strb w28, [x21] -.L784: +.L785: add w27, w27, 1 add x24, x24, 16 cmp w27, 4 add x21, x21, 8 - bne .L785 + bne .L786 ldrb w0, [x23,#:lo12:IDByte] cmp w0, 173 - beq .L786 + beq .L787 add x0, x20, :lo12:.LANCHOR2 - ldr w0, [x0,568] + ldr w0, [x0,576] bl NandcSetDdrMode -.L786: +.L787: add x21, x19, :lo12:.LANCHOR0 mov w1, 0 mov w2, 852 @@ -5275,16 +5284,16 @@ FlashInit: cmp w0, 161 cset w2, eq orr w2, w3, w2 - cbnz w2, .L787 + cbnz w2, .L788 and w2, w0, -33 cmp w2, 209 - beq .L787 + beq .L788 cmp w0, 220 - bne .L788 + bne .L789 ldrb w2, [x4,3] cmp w2, 149 - bne .L788 -.L787: + bne .L789 +.L788: add x2, x19, :lo12:.LANCHOR0 mov w4, 1 mov w5, 16 @@ -5298,37 +5307,37 @@ FlashInit: strb w5, [x2,3033] strb w0, [x2,3034] cmp w5, 152 - bne .L789 + bne .L790 ldrsb w2, [x6,4] - tbnz w2, #31, .L789 + tbnz w2, #31, .L790 mov w2, 24 strb w2, [x4,685] -.L789: +.L790: add x2, x20, :lo12:.LANCHOR2 mov w4, 12336 movk w4, 0x5638, lsl 16 - ldr w5, [x2,576] + ldr w5, [x2,568] cmp w5, w4 - bne .L790 + bne .L791 mov w4, 16 strb w4, [x2,685] -.L790: - cbz w3, .L791 +.L791: + cbz w3, .L792 add x0, x1, :lo12:.LANCHOR1 mov w2, 2048 strh w2, [x0,3046] mov w2, -38 - b .L860 -.L791: + b .L861 +.L792: cmp w0, 220 - bne .L792 + bne .L793 add x0, x1, :lo12:.LANCHOR1 mov w2, 4096 strh w2, [x0,3046] mov w2, -36 -.L860: +.L861: strb w2, [x0,3034] -.L792: +.L793: add x21, x1, :lo12:.LANCHOR1 add x0, x19, :lo12:.LANCHOR0 add x1, x21, 2688 @@ -5339,45 +5348,45 @@ FlashInit: add x1, x21, 3032 mov w2, 32 bl ftl_memcpy -.L788: +.L789: add x21, x19, :lo12:.LANCHOR0 ldrb w0, [x21,24] - cbnz w0, .L793 + cbnz w0, .L794 bl FlashLoadPhyInfoInRam - cbnz w0, .L795 + cbnz w0, .L796 ldr x0, [x21,1912] add x21, x20, :lo12:.LANCHOR2 ldrb w1, [x0,17] and w0, w1, 7 strb w0, [x21,564] - tbnz x1, 0, .L795 + tbnz x1, 0, .L796 mov w1, 1 - strb w1, [x21,565] + strb w1, [x21,572] bl FlashSetInterfaceMode ldrb w0, [x21,564] bl NandcSetMode -.L795: +.L796: add x0, x19, :lo12:.LANCHOR0 ldr x1, [x0,1912] ldrb w1, [x1,26] strb w1, [x0,136] bl FlashLoadPhyInfo - cbz w0, .L793 + cbz w0, .L794 add x21, x20, :lo12:.LANCHOR2 - ldr w0, [x21,568] - cbz w0, .L798 + ldr w0, [x21,576] + cbz w0, .L799 mov w0, 1 bl FlashSetInterfaceMode mov w0, 1 - b .L861 -.L798: + b .L862 +.L799: ldrb w0, [x21,564] bl FlashSetInterfaceMode ldrb w0, [x21,564] -.L861: +.L862: bl NandcSetMode bl FlashLoadPhyInfo - cbz w0, .L793 + cbz w0, .L794 mov w0, 1 add x21, x19, :lo12:.LANCHOR0 bl FlashSetInterfaceMode @@ -5390,7 +5399,7 @@ FlashInit: bl printk bl FlashLoadPhyInfoInRam cmn w0, #1 - beq .L783 + beq .L784 bl FlashDieInfoInit ldr x0, [x21,1912] ldrb w0, [x0,19] @@ -5400,27 +5409,27 @@ FlashInit: ldrb w2, [x0,9] add w1, w1, 4095 cmp w2, w1, lsr 12 - blt .L800 + blt .L801 ldrh w1, [x0,14] add w1, w1, 255 cmp w2, w1, lsr 8 - bge .L801 -.L800: + bge .L802 +.L801: ldrh w1, [x0,14] and w1, w1, -256 strh w1, [x0,14] -.L801: +.L802: add x21, x20, :lo12:.LANCHOR2 ldrb w0, [x21,564] tst w0, 6 - beq .L802 + beq .L803 bl FlashSavePhyInfo ldr w1, [x21,680] mov w0, 0 bl FlashDdrParaScan -.L802: +.L803: bl FlashSavePhyInfo -.L793: +.L794: add x21, x19, :lo12:.LANCHOR0 add x22, x20, :lo12:.LANCHOR2 ldr x2, [x21,1912] @@ -5444,7 +5453,7 @@ FlashInit: bl FlashDieInfoInit ldr x0, [x21,1912] ldrh w1, [x0,16] - tbz x1, 6, .L804 + tbz x1, 6, .L805 adrp x1, g_retryMode adrp x3, g_maxRegNum ldrb w0, [x0,19] @@ -5459,64 +5468,64 @@ FlashInit: uxtb w2, w2 cmp w2, 6 mov x2, x1 - bhi .L805 + bhi .L806 adrp x1, HynixReadRetrial add x1, x1, :lo12:HynixReadRetrial str x1, [x22,664] sub w1, w0, #5 uxtb w1, w1 cmp w1, 1 - bhi .L806 + bhi .L807 mov w1, 1 str w1, [x22,640] - b .L807 -.L806: + b .L808 +.L807: cmp w0, 7 add x21, x21, 4084 - beq .L808 -.L807: + beq .L809 +.L808: add x21, x19, :lo12:.LANCHOR0 add x21, x21, 4076 -.L808: +.L809: mov x1, 0 mov w2, w1 -.L810: +.L811: ldrsb w3, [x21,x1] add x1, x1, 1 cmp w3, wzr csinc w2, w2, w2, ne cmp x1, 32 - bne .L810 + bne .L811 cmp w2, 27 - bls .L804 + bls .L805 bl FlashGetReadRetryDefault bl FlashSavePhyInfo - b .L804 -.L805: + b .L805 +.L806: sub w3, w0, #17 uxtb w3, w3 cmp w3, 2 - bhi .L812 + bhi .L813 adrp x2, MicronReadRetrial cmp w0, 19 add x2, x2, :lo12:MicronReadRetrial str x2, [x22,664] - beq .L813 + beq .L814 mov w0, 7 - b .L863 -.L813: + b .L864 +.L814: mov w0, 15 -.L863: +.L864: strb w0, [x1,#:lo12:g_maxRetryCount] - b .L804 -.L812: + b .L805 +.L813: sub w1, w0, #65 uxtb w1, w1 cmp w1, 1 - bls .L831 + bls .L832 cmp w0, 33 - bne .L814 -.L831: + bne .L815 +.L832: add x0, x20, :lo12:.LANCHOR2 adrp x1, ToshibaReadRetrial add x1, x1, :lo12:ToshibaReadRetrial @@ -5525,8 +5534,8 @@ FlashInit: strb w0, [x5,#:lo12:g_maxRegNum] mov w0, 7 strb w0, [x2,#:lo12:g_maxRetryCount] - b .L804 -.L814: + b .L805 +.L815: sub w1, w0, #67 uxtb w1, w1 cmp w1, 1 @@ -5534,84 +5543,84 @@ FlashInit: cset w4, ls uxtb w1, w1 cmp w1, 1 - bls .L832 - cbz w4, .L816 -.L832: + bls .L833 + cbz w4, .L817 +.L833: add x1, x20, :lo12:.LANCHOR2 adrp x3, ToshibaReadRetrial add x3, x3, :lo12:ToshibaReadRetrial cmp w0, 35 str x3, [x1,664] - beq .L818 + beq .L819 cmp w0, 68 - beq .L818 + beq .L819 mov w0, 7 - b .L862 -.L818: + b .L863 +.L819: mov w0, 17 -.L862: +.L863: strb w0, [x2,#:lo12:g_maxRetryCount] mov w0, 4 - cbnz w4, .L864 + cbnz w4, .L865 mov w0, 5 -.L864: +.L865: strb w0, [x5,#:lo12:g_maxRegNum] - b .L804 -.L816: + b .L805 +.L817: cmp w0, 49 - bne .L804 + bne .L805 adrp x0, SamsungReadRetrial add x0, x0, :lo12:SamsungReadRetrial str x0, [x22,664] -.L804: +.L805: add x0, x20, :lo12:.LANCHOR2 - ldr w1, [x0,576] + ldr w1, [x0,568] mov w0, 12336 movk w0, 0x5638, lsl 16 cmp w1, w0 - bne .L821 + bne .L822 add x0, x19, :lo12:.LANCHOR0 ldrb w2, [x0,136] - cbz w2, .L821 + cbz w2, .L822 ldr x0, [x0,1912] strb wzr, [x0,18] -.L821: +.L822: ldrb w0, [x23,#:lo12:IDByte] cmp w0, 44 - bne .L822 + bne .L823 add x0, x20, :lo12:.LANCHOR2 - ldrb w0, [x0,565] - cbz w0, .L822 + ldrb w0, [x0,572] + cbz w0, .L823 mov w0, 12336 movk w0, 0x5638, lsl 16 cmp w1, w0 - bne .L823 + bne .L824 add x0, x19, :lo12:.LANCHOR0 ldrb w0, [x0,136] - cbnz w0, .L822 -.L823: + cbnz w0, .L823 +.L824: add x0, x20, :lo12:.LANCHOR2 - strb wzr, [x0,565] + strb wzr, [x0,572] mov w0, 1 bl FlashSetInterfaceMode mov w0, 1 bl NandcSetMode -.L822: +.L823: mov w0, 0 bl flash_enter_slc_mode add x1, x20, :lo12:.LANCHOR2 ldrb w0, [x1,564] tst w0, 6 - beq .L824 - ldrb w1, [x1,565] - cbnz w1, .L825 - tbnz x0, 0, .L824 -.L825: + beq .L825 + ldrb w1, [x1,572] + cbnz w1, .L826 + tbnz x0, 0, .L825 +.L826: add x20, x20, :lo12:.LANCHOR2 mov w0, 0 ldr w1, [x20,680] bl FlashDdrParaScan -.L824: +.L825: add x19, x19, :lo12:.LANCHOR0 mov w0, 0 mov w20, 16 @@ -5658,7 +5667,7 @@ FlashInit: ldrb w5, [x19,24] strh w2, [x19,4038] cmp w5, 1 - bne .L827 + bne .L828 lsl w2, w2, 1 lsr w4, w4, 1 lsl w3, w3, 1 @@ -5668,15 +5677,15 @@ FlashInit: strh w4, [x19,4030] strh w3, [x19,4036] strh w2, [x19,4042] -.L827: +.L828: ldrb w0, [x1,20] bl FlashBchSel bl ftl_flash_suspend mov w0, 0 - b .L783 -.L829: + b .L784 +.L830: mov w0, -2 -.L783: +.L784: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -5702,38 +5711,38 @@ FlashPageProgMsbFFData: ldr x2, [x0,1912] ldrb w0, [x0,136] ldrb w3, [x2,19] - cbz w0, .L866 - adrp x0, .LANCHOR2+576 - ldr w2, [x0,#:lo12:.LANCHOR2+576] + cbz w0, .L867 + adrp x0, .LANCHOR2+568 + ldr w2, [x0,#:lo12:.LANCHOR2+568] mov w0, 12336 movk w0, 0x5638, lsl 16 cmp w2, w0 - beq .L865 -.L866: + beq .L866 +.L867: sub w0, w3, #5 uxtb w0, w0 cmp w0, 2 - bls .L867 + bls .L868 cmp w3, 68 - beq .L867 + beq .L868 sub w3, w3, #19 and w3, w3, -17 uxtb w3, w3 - cbnz w3, .L865 -.L867: + cbnz w3, .L866 +.L868: add x20, x20, :lo12:.LANCHOR0 mov w21, w1 add x24, x20, 652 mov w25, 65535 adrp x26, .LANCHOR2 -.L869: +.L870: ldr x0, [x20,1912] ldrh w0, [x0,10] cmp w0, w19 - bls .L865 + bls .L866 ldrh w0, [x24,w19,sxtw 1] cmp w0, w25 - bne .L865 + bne .L866 add x23, x26, :lo12:.LANCHOR2 mov w1, 255 mov w2, 32768 @@ -5746,8 +5755,8 @@ FlashPageProgMsbFFData: add w19, w19, 1 bl FlashProgPage uxth w19, w19 - b .L869 -.L865: + b .L870 +.L866: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -5778,9 +5787,9 @@ FlashReadSlc2KPages: add x21, x21, :lo12:.LANCHOR0 add x23, x23, :lo12:.LC15 add x24, x24, :lo12:.LC17 -.L875: +.L876: cmp w22, w25 - beq .L909 + beq .L910 mov w1, w27 sub w4, w25, w22 mov x0, x19 @@ -5791,11 +5800,11 @@ FlashReadSlc2KPages: adrp x5, .LANCHOR0 ldrb w1, [x21,1676] cmp w0, w1 - bcc .L876 + bcc .L877 mov w0, -1 str w0, [x19] - b .L877 -.L876: + b .L878 +.L877: add x0, x21, x0, uxtw ldrb w28, [x0,1680] str x5, [x29,96] @@ -5844,58 +5853,58 @@ FlashReadSlc2KPages: ldrb w0, [x0,4044] add w0, w0, w0, lsl 1 cmp w3, w0, lsr 2 - bls .L880 + bls .L881 cmn w3, #1 mov w0, 256 csel w3, w3, w0, eq -.L880: - cmp w3, 256 - beq .L891 - cmn w3, #1 - bne .L881 -.L891: - str w3, [x19] - b .L883 .L881: + cmp w3, 256 + beq .L892 + cmn w3, #1 + bne .L882 +.L892: + str w3, [x19] + b .L884 +.L882: str wzr, [x19] -.L883: +.L884: ldr x0, [x19,16] - cbz x0, .L884 + cbz x0, .L885 ldr w1, [x0,8] cmn w1, #1 - bne .L884 + bne .L885 ldr w0, [x0] cmn w0, #1 - beq .L884 + beq .L885 str w1, [x19] -.L884: +.L885: ldr w3, [x19] cmn w3, #1 - bne .L877 + bne .L878 add x5, x5, :lo12:.LANCHOR0 ldr w1, [x19,4] mov x0, x23 ldrb w2, [x5,4044] bl printk ldr x1, [x19,8] - cbz x1, .L886 + cbz x1, .L887 adrp x0, .LC16 mov w2, 4 add x0, x0, :lo12:.LC16 mov w3, 8 bl rknand_print_hex -.L886: +.L887: ldr x1, [x19,16] - cbz x1, .L877 + cbz x1, .L878 mov w2, 4 mov x0, x24 mov w3, w2 bl rknand_print_hex -.L877: +.L878: add w22, w22, 1 add x19, x19, 56 - b .L875 -.L909: + b .L876 +.L910: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -5927,10 +5936,10 @@ FlashReadPages: ldrb w23, [x3,24] str w2, [x29,140] str w4, [x29,136] - cbz w23, .L950 + cbz w23, .L951 bl FlashReadSlc2KPages - b .L999 -.L950: + b .L1000 +.L951: adrp x0, .LC15 mov w25, w23 add x0, x0, :lo12:.LC15 @@ -5941,10 +5950,10 @@ FlashReadPages: adrp x0, .LC18 add x0, x0, :lo12:.LC18 str x0, [x29,112] -.L911: +.L912: ldr w0, [x29,144] cmp w25, w0 - bcs .L1001 + bcs .L1002 mov w27, 56 ldr w0, [x29,144] ldr w1, [x29,140] @@ -5961,11 +5970,11 @@ FlashReadPages: ldr w0, [x29,168] ldrb w2, [x1,1676] cmp w0, w2 - bcc .L913 + bcc .L914 mov w0, -1 str w0, [x26,x27] - b .L914 -.L913: + b .L915 +.L914: add x0, x1, x0, uxtw adrp x24, .LANCHOR2 ldrb w19, [x0,1680] @@ -5982,26 +5991,26 @@ FlashReadPages: sub w0, w2, #1 uxtb w0, w0 cmp w0, 6 - bhi .L916 + bhi .L917 add x1, x1, 4056 sxtw x0, w19 add x1, x1, x0 cmp w2, 7 ldrb w3, [x1,12] - bne .L917 + bne .L918 ldrb w3, [x1,20] -.L917: +.L918: add x1, x24, :lo12:.LANCHOR2 add x0, x1, x0 ldrb w0, [x0,560] cmp w0, w3 - beq .L916 + beq .L917 add x2, x22, :lo12:.LANCHOR0 mov w0, w19 add x2, x2, 4060 ldrb w1, [x2,-3] bl HynixSetRRPara -.L916: +.L917: mov w0, w19 bl NandcFlashCs ldr w0, [x29,140] @@ -6009,38 +6018,38 @@ FlashReadPages: cset w0, eq orr w0, w0, w28, lsr 31 str w0, [x29,152] - cbz w0, .L918 + cbz w0, .L919 add x0, x22, :lo12:.LANCHOR0 ldrb w0, [x0,136] - cbz w0, .L918 + cbz w0, .L919 mov w0, w19 bl flash_enter_slc_mode - b .L919 -.L918: + b .L920 +.L919: mov w0, w19 bl flash_exit_slc_mode -.L919: +.L920: cmp w19, 255 ldr w1, [x29,172] - bne .L957 + bne .L958 cmn w1, #1 cset w0, ne - cbz w0, .L951 -.L957: - cbz w20, .L923 + cbz w0, .L952 +.L958: + cbz w20, .L924 add x0, x22, :lo12:.LANCHOR0 ldr w2, [x0,28] mov w0, w19 add w2, w1, w2 bl FlashReadDpCmd - b .L924 -.L923: + b .L925 +.L924: mov w0, w19 bl FlashReadCmd - b .L924 -.L951: + b .L925 +.L952: mov w20, w0 -.L921: +.L922: ldrb w2, [x29,148] mov w0, w19 ldr x3, [x21,8] @@ -6049,15 +6058,15 @@ FlashReadPages: bl NandcXferData cmn w0, #1 mov w28, w0 - bne .L925 + bne .L926 add x0, x22, :lo12:.LANCHOR0 ldrb w1, [x0,32] - cbz w1, .L925 + cbz w1, .L926 strb wzr, [x0,32] mov w20, 0 - b .L919 -.L925: - cbz w20, .L926 + b .L920 +.L926: + cbz w20, .L927 add x0, x22, :lo12:.LANCHOR0 ldr w1, [x29,172] ldr w2, [x0,28] @@ -6077,23 +6086,23 @@ FlashReadPages: cmn w0, #1 mov w23, w0 csel w20, w20, wzr, ne -.L926: +.L927: mov w0, w19 bl NandcFlashDeCs add x6, x22, :lo12:.LANCHOR0 ldrb w0, [x29,136] cmn w28, #1 strb w0, [x6,32] - bne .L933 + bne .L934 add x0, x24, :lo12:.LANCHOR2 - ldrb w0, [x0,565] - cbnz w0, .L928 -.L932: + ldrb w0, [x0,572] + cbnz w0, .L929 +.L933: add x0, x24, :lo12:.LANCHOR2 ldr x20, [x0,664] - cbnz x20, .L929 - b .L1002 -.L928: + cbnz x20, .L930 + b .L1003 +.L929: ldr x0, [x6,3976] mov w4, 1 ldr w1, [x29,172] @@ -6105,18 +6114,18 @@ FlashReadPages: bl FlashDdrTunningRead cmn w0, #1 mov w28, w0 - beq .L931 + beq .L932 ldr x6, [x29,104] ldrb w0, [x6,4044] cmp w28, w0, lsr 1 - bls .L953 -.L931: + bls .L954 +.L932: lsr w0, w20, 8 bl NandcSetDdrPara cmn w28, #1 - beq .L932 - b .L953 -.L929: + beq .L933 + b .L954 +.L930: ldr w1, [x29,172] mov w0, w19 ldr x2, [x21,8] @@ -6125,20 +6134,20 @@ FlashReadPages: cmn w0, #1 mov w28, w0 mov w20, 0 - bne .L934 + bne .L935 add x2, x22, :lo12:.LANCHOR0 ldr x0, [x2,1912] ldrb w0, [x0,19] sub w0, w0, #1 uxtb w0, w0 cmp w0, 6 - bhi .L935 + bhi .L936 ldrb w1, [x2,4057] mov w0, w19 add x2, x2, 4060 mov w3, w20 bl HynixSetRRPara -.L935: +.L936: ldr w1, [x29,172] mov w0, w19 ldr x2, [x21,8] @@ -6155,18 +6164,18 @@ FlashReadPages: bl printk cmn w28, #1 ldr x4, [x29,104] - bne .L934 + bne .L935 ldrb w0, [x4,136] - cbz w0, .L934 + cbz w0, .L935 ldr w0, [x29,152] - cbz w0, .L936 + cbz w0, .L937 mov w0, w19 bl flash_enter_slc_mode - b .L937 -.L936: + b .L938 +.L937: mov w0, w19 bl flash_exit_slc_mode -.L937: +.L938: add x0, x24, :lo12:.LANCHOR2 ldr w1, [x29,172] ldr x2, [x21,8] @@ -6176,102 +6185,102 @@ FlashReadPages: mov w0, w19 blr x4 mov w28, w0 - b .L934 -.L1002: + b .L935 +.L1003: ldr w1, [x29,172] mov w0, w19 ldr x2, [x21,8] ldr x3, [x21,16] bl FlashReadRawPage mov w28, w0 - b .L934 -.L953: + b .L935 +.L954: mov w20, 0 -.L933: +.L934: add x0, x22, :lo12:.LANCHOR0 ldrb w0, [x0,4044] add w0, w0, w0, lsl 1 cmp w28, w0, lsr 2 - bls .L934 + bls .L935 add x0, x24, :lo12:.LANCHOR2 ldr x0, [x0,664] cmp x0, xzr mov w0, 256 csel w28, w28, w0, ne -.L934: +.L935: cmp w28, 256 - beq .L958 + beq .L959 cmn w28, #1 - bne .L938 -.L958: + bne .L939 +.L959: str w28, [x26,x27] - b .L940 -.L938: + b .L941 +.L939: str wzr, [x26,x27] -.L940: +.L941: ldr w3, [x26,x27] cmn w3, #1 - bne .L942 + bne .L943 add x2, x22, :lo12:.LANCHOR0 ldr w1, [x21,4] ldr x0, [x29,128] ldrb w2, [x2,4044] bl printk ldr x1, [x21,16] - cbz x1, .L942 + cbz x1, .L943 mov w2, 4 ldr x0, [x29,120] mov w3, w2 bl rknand_print_hex -.L942: - cbz w20, .L944 +.L943: + cbz w20, .L945 add x0, x22, :lo12:.LANCHOR0 ldrb w0, [x0,4044] add w0, w0, w0, lsl 1 cmp w23, w0, lsr 2 - bls .L945 + bls .L946 add x24, x24, :lo12:.LANCHOR2 ldr x0, [x24,664] cmp x0, xzr mov w0, 256 csel w23, w23, w0, ne -.L945: +.L946: add w0, w25, 1 mov w1, 56 cmp w23, 256 umull x0, w0, w1 - beq .L959 + beq .L960 cmn w23, #1 - bne .L946 -.L959: + bne .L947 +.L960: str w23, [x26,x0] - b .L944 -.L946: + b .L945 +.L947: str wzr, [x26,x0] -.L944: +.L945: ldr w0, [x29,152] add w25, w25, w20 - cbz w0, .L914 + cbz w0, .L915 add x0, x22, :lo12:.LANCHOR0 ldrb w0, [x0,136] - cbz w0, .L914 + cbz w0, .L915 mov w0, w19 bl flash_exit_slc_mode -.L914: +.L915: add w25, w25, 1 - b .L911 -.L1001: + b .L912 +.L1002: mov w0, 0 - b .L999 -.L924: + b .L1000 +.L925: mov w0, w19 bl NandcWaitFlashReady - cbz w20, .L921 + cbz w20, .L922 ldr w1, [x29,172] mov w0, w19 bl FlashReadDpDataOutCmd - b .L921 -.L999: + b .L922 +.L1000: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -6315,18 +6324,18 @@ FlashLoadFactorBbt: str xzr, [x29,144] uxth w25, w25 str w0, [x29,124] -.L1004: +.L1005: add x1, x22, :lo12:.LANCHOR0 ldrb w1, [x1,1676] cmp w1, w19 - bls .L1014 + bls .L1015 mul w3, w19, w21 mov w20, w25 mov w4, 61664 -.L1005: +.L1006: ldr w0, [x29,124] cmp w20, w0 - ble .L1007 + ble .L1008 add w1, w3, w20 add x0, x29, 136 lsl w1, w1, 10 @@ -6340,12 +6349,12 @@ FlashLoadFactorBbt: ldr x3, [x29,112] cmn w0, #1 ldr x4, [x29,104] - beq .L1006 + beq .L1007 add x24, x23, :lo12:.LANCHOR2 ldr x0, [x24,696] ldrh w0, [x0] cmp w0, w4 - bne .L1006 + bne .L1007 add x24, x24, 728 mov x0, x26 mov w1, w19 @@ -6354,20 +6363,20 @@ FlashLoadFactorBbt: bl printk strh w20, [x24,w19,sxtw 1] uxth w28, w28 - b .L1007 -.L1006: + b .L1008 +.L1007: sub w20, w20, #1 uxth w20, w20 - b .L1005 -.L1007: + b .L1006 +.L1008: add x1, x22, :lo12:.LANCHOR0 add w19, w19, 1 uxtb w19, w19 ldrb w1, [x1,1676] cmp w1, w28 csel w27, w27, wzr, ne - b .L1004 -.L1014: + b .L1005 +.L1015: mov w0, w27 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -6408,9 +6417,9 @@ FlashReadFacBbtData: sub w19, w3, #16 mul w24, w23, w3 uxth w20, w20 -.L1016: +.L1017: cmp w20, w19 - ble .L1024 + ble .L1025 add w0, w20, w24 mov w1, 1 lsl w0, w0, 10 @@ -6420,26 +6429,26 @@ FlashReadFacBbtData: bl FlashReadPages ldr w0, [x29,88] cmn w0, #1 - beq .L1017 + beq .L1018 add x0, x21, :lo12:.LANCHOR2 ldr x0, [x0,696] ldrh w0, [x0] cmp w0, w26 - bne .L1017 + bne .L1018 mov w0, w22 - cbz x22, .L1018 + cbz x22, .L1019 mov x0, x22 mov w1, w23 mov w2, w25 bl FlashReadFacBbtData.part.6 - b .L1018 -.L1017: + b .L1019 +.L1018: sub w20, w20, #1 uxth w20, w20 - b .L1016 -.L1024: + b .L1017 +.L1025: mov w0, -1 -.L1018: +.L1019: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -6469,37 +6478,37 @@ FlashGetBadBlockList: lsr w2, w2, 3 bl FlashReadFacBbtData cmn w0, #1 - bne .L1026 -.L1030: + bne .L1027 +.L1031: mov w1, 0 - b .L1027 -.L1026: + b .L1028 +.L1027: mov w2, 0 lsr w0, w19, 4 mov w1, w2 sub w19, w19, #1 mov w5, 1 -.L1028: +.L1029: cmp w2, w19 - bge .L1027 + bge .L1028 add x3, x20, :lo12:.LANCHOR2 ubfx x4, x2, 5, 11 ldr x6, [x3,688] lsl w3, w5, w2 ldr w4, [x6,x4,lsl 2] tst w3, w4 - beq .L1029 + beq .L1030 add w3, w1, 1 ubfiz x1, x1, 1, 16 strh w2, [x21,x1] uxth w1, w3 -.L1029: +.L1030: cmp w1, w0 - bcs .L1030 + bcs .L1031 add w2, w2, 1 uxth w2, w2 - b .L1028 -.L1027: + b .L1029 +.L1028: ubfiz x1, x1, 1, 16 mov w0, -1 ldp x19, x20, [sp,16] @@ -6531,9 +6540,9 @@ FlashProgSlc2KPages: mov w25, 0 add x22, x22, :lo12:.LANCHOR0 mov w28, -1 -.L1036: +.L1037: cmp w25, w23 - beq .L1065 + beq .L1066 mov w1, w24 sub w4, w23, w25 mov x0, x21 @@ -6543,10 +6552,10 @@ FlashProgSlc2KPages: ldr w0, [x29,100] ldrb w1, [x22,1676] cmp w0, w1 - bcc .L1037 + bcc .L1038 str w28, [x21] - b .L1038 -.L1037: + b .L1039 +.L1038: add x0, x22, x0, uxtw ldrb w20, [x0,1680] mov w0, w20 @@ -6601,36 +6610,36 @@ FlashProgSlc2KPages: ldr w1, [x29,96] mov w0, w20 bl FlashReadStatus - tbz x0, 0, .L1041 + tbz x0, 0, .L1042 str w28, [x21] -.L1041: +.L1042: mov w0, w20 bl NandcFlashDeCs -.L1038: +.L1039: add w25, w25, 1 add x21, x21, 56 - b .L1036 -.L1065: + b .L1037 +.L1066: mov w21, 0 - cbz w27, .L1063 + cbz w27, .L1064 adrp x25, .LC23 adrp x26, .LC22 adrp x27, .LC21 add x25, x25, :lo12:.LC23 add x26, x26, :lo12:.LC22 add x27, x27, :lo12:.LC21 -.L1064: +.L1065: cmp w21, w23 - beq .L1063 + beq .L1064 ldr w0, [x19] cmn w0, #1 - bne .L1044 + bne .L1045 adrp x0, .LC20 ldr w1, [x19,4] add x0, x0, :lo12:.LC20 bl printk - b .L1045 -.L1044: + b .L1046 +.L1045: adrp x20, .LANCHOR2 sub w4, w23, w21 add x22, x20, :lo12:.LANCHOR2 @@ -6657,44 +6666,44 @@ FlashProgSlc2KPages: bl FlashReadPages ldr w22, [x29,104] cmn w22, #1 - bne .L1046 + bne .L1047 ldr w1, [x19,4] mov x0, x27 bl printk str w22, [x19] -.L1046: +.L1047: ldr x0, [x19,16] - cbz x0, .L1047 + cbz x0, .L1048 ldr w2, [x0] add x0, x20, :lo12:.LANCHOR2 ldr x0, [x0,712] ldr w3, [x0] cmp w2, w3 - beq .L1047 + beq .L1048 ldr w1, [x19,4] mov x0, x26 bl printk mov w0, -1 str w0, [x19] -.L1047: +.L1048: ldr x0, [x19,8] - cbz x0, .L1045 + cbz x0, .L1046 add x20, x20, :lo12:.LANCHOR2 ldr w2, [x0] ldr x0, [x20,704] ldr w3, [x0] cmp w2, w3 - beq .L1045 + beq .L1046 ldr w1, [x19,4] mov x0, x25 bl printk mov w0, -1 str w0, [x19] -.L1045: +.L1046: add w21, w21, 1 add x19, x19, 56 - b .L1064 -.L1063: + b .L1065 +.L1064: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -6727,18 +6736,18 @@ FlashProgPages: ldrb w4, [x4,24] ldrb w27, [x6,#:lo12:.LANCHOR1+265] ldrb w5, [x5,19] - cbz w4, .L1067 + cbz w4, .L1068 bl FlashProgSlc2KPages - b .L1068 -.L1067: + b .L1069 +.L1068: sub w0, w5, #1 adrp x28, .LANCHOR2 str w0, [x29,120] add x0, x28, :lo12:.LANCHOR2 str x0, [x29,112] -.L1119: +.L1120: cmp w22, w25 - bcs .L1120 + bcs .L1121 mov w20, 56 mov w1, w23 add x2, x29, 128 @@ -6753,11 +6762,11 @@ FlashProgPages: ldr w0, [x29,132] ldrb w2, [x1,1676] cmp w0, w2 - bcc .L1069 + bcc .L1070 mov w0, -1 str w0, [x19,x20] - b .L1070 -.L1069: + b .L1071 +.L1070: add x3, x28, :lo12:.LANCHOR2 uxtw x0, w0 ldrb w3, [x3,648] @@ -6766,15 +6775,15 @@ FlashProgPages: csel w24, w24, wzr, ne madd x0, x0, x3, x1 ldr x0, [x0,1728] - cbz x0, .L1072 + cbz x0, .L1073 cmp w2, 1 - bne .L1073 + bne .L1074 ldr x0, [x1,3976] bl NandcIqrWaitFlashReady -.L1073: +.L1074: ldrb w0, [x29,132] bl FlashWaitCmdDone -.L1072: +.L1073: add x0, x21, :lo12:.LANCHOR0 ldr w2, [x29,132] mov x1, 24 @@ -6784,13 +6793,13 @@ FlashProgPages: str x26, [x0,8] str xzr, [x0,16] str w1, [x0,4] - cbz w24, .L1074 + cbz w24, .L1075 add w1, w22, 1 mov w3, 56 umull x1, w1, w3 add x1, x19, x1 str x1, [x0,16] -.L1074: +.L1075: add x1, x21, :lo12:.LANCHOR0 add x0, x1, x2 ldrb w20, [x0,1680] @@ -6799,11 +6808,11 @@ FlashProgPages: ldrb w0, [x1,1676] strb w20, [x2,1720] cmp w0, 1 - bne .L1075 + bne .L1076 mov w0, w20 bl NandcWaitFlashReady - b .L1076 -.L1075: + b .L1077 +.L1076: mov w0, w20 str x1, [x29,104] bl NandcFlashCs @@ -6818,35 +6827,35 @@ FlashProgPages: bl FlashWaitReadyEN mov w0, w20 bl NandcFlashDeCs -.L1076: +.L1077: ldr w0, [x29,120] cmp w0, 6 - bhi .L1077 + bhi .L1078 ldr x0, [x29,112] add x0, x0, x20, sxtw ldrb w0, [x0,560] - cbz w0, .L1077 + cbz w0, .L1078 add x2, x21, :lo12:.LANCHOR0 mov w0, w20 add x2, x2, 4060 mov w3, 0 ldrb w1, [x2,-3] bl HynixSetRRPara -.L1077: +.L1078: mov w0, w20 bl NandcFlashCs cmp w23, 1 - bne .L1078 + bne .L1079 add x0, x21, :lo12:.LANCHOR0 ldrb w0, [x0,136] - cbz w0, .L1078 + cbz w0, .L1079 mov w0, w20 bl flash_enter_slc_mode - b .L1079 -.L1078: + b .L1080 +.L1079: mov w0, w20 bl flash_exit_slc_mode -.L1079: +.L1080: ldr w1, [x29,128] mov w0, w20 bl FlashProgFirstCmd @@ -6856,7 +6865,7 @@ FlashProgPages: mov w1, 1 mov w2, w27 bl NandcXferData - cbz w24, .L1080 + cbz w24, .L1081 ldr w1, [x29,128] mov w0, w20 add x26, x21, :lo12:.LANCHOR0 @@ -6884,45 +6893,45 @@ FlashProgPages: ldr x3, [x4,8] ldr x4, [x4,16] bl NandcXferData -.L1080: +.L1081: ldr w1, [x29,128] mov w0, w20 add w22, w22, w24 bl FlashProgSecondCmd mov w0, w20 bl NandcFlashDeCs -.L1070: +.L1071: add w22, w22, 1 - b .L1119 -.L1120: + b .L1120 +.L1121: add x21, x21, :lo12:.LANCHOR0 mov x20, 0 mov x22, 24 ldr x0, [x21,3976] bl NandcIqrWaitFlashReady -.L1082: +.L1083: ldrb w0, [x21,1676] cmp w0, w20 - bls .L1121 + bls .L1122 mov w0, w20 bl FlashWaitCmdDone cmp w23, 1 - bne .L1083 + bne .L1084 ldrb w0, [x21,136] - cbz w0, .L1083 + cbz w0, .L1084 madd x0, x20, x22, x21 ldrb w0, [x0,1720] bl flash_exit_slc_mode -.L1083: +.L1084: add x20, x20, 1 - b .L1082 -.L1121: + b .L1083 +.L1122: ldr w0, [x29,124] - cbnz w0, .L1085 -.L1093: + cbnz w0, .L1086 +.L1094: mov w0, 0 - b .L1068 -.L1085: + b .L1069 +.L1086: adrp x24, .LC23 adrp x26, .LC22 adrp x27, .LC21 @@ -6930,18 +6939,18 @@ FlashProgPages: add x24, x24, :lo12:.LC23 add x26, x26, :lo12:.LC22 add x27, x27, :lo12:.LC21 -.L1086: +.L1087: cmp w21, w25 - beq .L1093 + beq .L1094 ldr w0, [x19] cmn w0, #1 - bne .L1087 + bne .L1088 adrp x0, .LC20 ldr w1, [x19,4] add x0, x0, :lo12:.LC20 bl printk - b .L1088 -.L1087: + b .L1089 +.L1088: adrp x20, .LANCHOR2 sub w4, w25, w21 add x22, x20, :lo12:.LANCHOR2 @@ -6968,44 +6977,44 @@ FlashProgPages: bl FlashReadPages ldr w22, [x29,136] cmn w22, #1 - bne .L1089 + bne .L1090 ldr w1, [x19,4] mov x0, x27 bl printk str w22, [x19] -.L1089: +.L1090: ldr x0, [x19,16] - cbz x0, .L1090 + cbz x0, .L1091 ldr w2, [x0] add x0, x20, :lo12:.LANCHOR2 ldr x0, [x0,712] ldr w3, [x0] cmp w2, w3 - beq .L1090 + beq .L1091 ldr w1, [x19,4] mov x0, x26 bl printk mov w0, -1 str w0, [x19] -.L1090: +.L1091: ldr x0, [x19,8] - cbz x0, .L1088 + cbz x0, .L1089 add x20, x20, :lo12:.LANCHOR2 ldr w2, [x0] ldr x0, [x20,704] ldr w3, [x0] cmp w2, w3 - beq .L1088 + beq .L1089 ldr w1, [x19,4] mov x0, x24 bl printk mov w0, -1 str w0, [x19] -.L1088: +.L1089: add w21, w21, 1 add x19, x19, 56 - b .L1086 -.L1068: + b .L1087 +.L1069: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -7068,10 +7077,10 @@ FlashTestBlk: ldr w2, [x0,#:lo12:.LANCHOR0+8] mov w0, 0 cmp w1, w2 - bcc .L1124 + bcc .L1125 mov w0, w1 bl FlashTestBlk.part.7 -.L1124: +.L1125: ldp x29, x30, [sp], 16 ret .size FlashTestBlk, .-FlashTestBlk @@ -7128,17 +7137,17 @@ FlashMakeFactorBbt: sub w0, w22, #1 uxth w0, w0 str w0, [x29,132] -.L1128: +.L1129: add x23, x19, :lo12:.LANCHOR0 ldrb w0, [x23,1676] cmp w0, w20 - bls .L1179 + bls .L1180 ldr x0, [x29,136] sxtw x24, w20 add x0, x0, :lo12:.LANCHOR2 add x0, x0, 728 ldrh w21, [x0,w20,sxtw 1] - cbnz w21, .L1158 + cbnz w21, .L1159 ldrh w2, [x23,4036] mov w1, w21 ldr x0, [x19,#:lo12:.LANCHOR0] @@ -7152,15 +7161,15 @@ FlashMakeFactorBbt: and w0, w0, 4 uxtb w0, w0 str w0, [x29,128] -.L1130: +.L1131: uxth w28, w26 cmp w28, w22 - bcs .L1140 + bcs .L1141 mov w0, -1 strb w0, [x29,166] strb w0, [x29,167] ldr w0, [x29,124] - cbz w0, .L1132 + cbz w0, .L1133 add x4, x19, :lo12:.LANCHOR0 add x2, x29, 166 add x0, x4, 1688 @@ -7175,7 +7184,7 @@ FlashMakeFactorBbt: ldr x3, [x29,112] ldrb w0, [x4,24] cmp w0, 1 - bne .L1132 + bne .L1133 ldr w1, [x4,28] mov w0, w27 add x2, x29, 167 @@ -7185,9 +7194,9 @@ FlashMakeFactorBbt: ldrb w1, [x29,167] and w0, w1, w0 strb w0, [x29,166] -.L1132: +.L1133: ldr w0, [x29,120] - cbz w0, .L1134 + cbz w0, .L1135 add x0, x19, :lo12:.LANCHOR0 add x2, x29, 167 add x0, x0, 1688 @@ -7199,40 +7208,40 @@ FlashMakeFactorBbt: mov w0, w27 add w1, w1, w21 bl FlashReadSpare -.L1134: +.L1135: add x0, x19, :lo12:.LANCHOR0 ldrb w1, [x29,166] ldr x0, [x0,1912] ldrb w0, [x0,7] cmp w0, 8 - beq .L1159 + beq .L1160 cmp w0, 1 - bne .L1135 -.L1159: + bne .L1136 +.L1160: mov w0, 1 - cbz w1, .L1137 + cbz w1, .L1138 ldrb w0, [x29,167] cmp w0, wzr cset w0, eq - b .L1137 -.L1135: + b .L1138 +.L1136: cmp w1, 255 mov w0, 1 - bne .L1137 + bne .L1138 ldrb w0, [x29,167] cmp w0, 255 cset w0, ne -.L1137: +.L1138: ldr w1, [x29,128] - cbz w1, .L1138 + cbz w1, .L1139 add x0, x19, :lo12:.LANCHOR0 add x0, x0, 1688 ldr w1, [x0,x24,lsl 2] mov w0, w27 add w1, w21, w1 bl SandiskProgTestBadBlock -.L1138: - cbz w0, .L1139 +.L1139: + cbz w0, .L1140 adrp x0, .LC25 mov w1, w20 mov w2, w26 @@ -7253,12 +7262,12 @@ FlashMakeFactorBbt: ldrb w0, [x2,1676] mul w0, w1, w0 cmp w23, w0 - bgt .L1140 -.L1139: + bgt .L1141 +.L1140: add w26, w26, 1 add w21, w21, w25 - b .L1130 -.L1140: + b .L1131 +.L1141: adrp x0, .LC26 mov w1, w20 mov w2, w23 @@ -7269,28 +7278,28 @@ FlashMakeFactorBbt: ldrb w0, [x1,1676] mul w0, w2, w0 cmp w23, w0 - blt .L1142 + blt .L1143 ldrh w2, [x1,4036] mov w1, 0 ldr x0, [x19,#:lo12:.LANCHOR0] lsl w2, w2, 9 bl ftl_memset -.L1142: - cbnz w20, .L1144 +.L1143: + cbnz w20, .L1145 add x0, x19, :lo12:.LANCHOR0 adrp x26, .LC27 mov w21, w20 add x26, x26, :lo12:.LC27 mov w23, 1 ldrh w27, [x0,8] -.L1145: +.L1146: add x0, x19, :lo12:.LANCHOR0 ldrb w0, [x0,25] cmp w0, w27 - bls .L1180 + bls .L1181 mov w0, w27 bl FlashTestBlk - cbz w0, .L1146 + cbz w0, .L1147 mov w1, w27 mov x0, x26 add w21, w21, 1 @@ -7303,22 +7312,22 @@ FlashMakeFactorBbt: ldr w3, [x2,x1] orr w0, w3, w0 str w0, [x2,x1] -.L1146: +.L1147: add w27, w27, 1 uxth w27, w27 - b .L1145 -.L1180: + b .L1146 +.L1181: adrp x26, .LC27 ldr w28, [x29,132] sub w27, w22, #50 add x26, x26, :lo12:.LC27 mov w23, 1 -.L1148: +.L1149: cmp w28, w27 - ble .L1181 + ble .L1182 mov w0, w28 bl FlashTestBlk - cbz w0, .L1149 + cbz w0, .L1150 mov w1, w28 mov x0, x26 bl printk @@ -7329,23 +7338,23 @@ FlashMakeFactorBbt: ldr w3, [x2,x1] orr w0, w3, w0 str w0, [x2,x1] -.L1149: +.L1150: sub w28, w28, #1 uxth w28, w28 - b .L1148 -.L1181: + b .L1149 +.L1182: add x0, x19, :lo12:.LANCHOR0 ldrb w1, [x0,25] ldr w2, [x0,8] sub w1, w1, w2 cmp w21, w1 - bcc .L1144 + bcc .L1145 ldrh w2, [x0,4036] mov w1, 0 ldr x0, [x19,#:lo12:.LANCHOR0] lsl w2, w2, 9 bl ftl_memset -.L1144: +.L1145: ldr x0, [x29,136] adrp x23, .LC28 ldr w27, [x29,132] @@ -7353,22 +7362,22 @@ FlashMakeFactorBbt: mul w26, w20, w22 add x28, x0, :lo12:.LANCHOR2 mov w21, -3872 -.L1152: +.L1153: mov w2, w27 mov x0, x23 mov w1, w20 bl printk ldr x2, [x19,#:lo12:.LANCHOR0] -.L1153: +.L1154: ubfx x0, x27, 5, 11 ldr w0, [x2,x0,lsl 2] lsr w0, w0, w27 and w1, w0, 1 - tbz x0, 0, .L1182 + tbz x0, 0, .L1183 sub w27, w27, #1 uxth w27, w27 - b .L1153 -.L1182: + b .L1154 +.L1183: add x0, x28, 728 strh w27, [x0,x24,lsl 1] ldr x0, [x29,152] @@ -7392,15 +7401,15 @@ FlashMakeFactorBbt: mov w3, w1 bl FlashProgPages ldr w0, [x29,168] - cbz w0, .L1158 + cbz w0, .L1159 sub w27, w27, #1 uxth w27, w27 - b .L1152 -.L1158: + b .L1153 +.L1159: add w20, w20, 1 uxtb w20, w20 - b .L1128 -.L1179: + b .L1129 +.L1180: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -7415,14 +7424,14 @@ FlashMakeFactorBbt: Ftl_log2: mov w2, 1 mov w1, 0 -.L1184: +.L1185: cmp w2, w0 - bhi .L1186 + bhi .L1187 add w1, w1, 1 lsl w2, w2, 1 uxth w1, w1 - b .L1184 -.L1186: + b .L1185 +.L1187: sub w0, w1, #1 ret .size Ftl_log2, .-Ftl_log2 @@ -7478,30 +7487,30 @@ FtlConstantsInit: strh w2, [x0,770] strh w1, [x0,772] strh w4, [x0,758] -.L1191: +.L1192: add x5, x0, 776 strb w3, [x3,x5] add x3, x3, 1 cmp x3, 32 - bne .L1191 + bne .L1192 ldrh w3, [x24,20] ldrb w0, [x24,15] cmp w3, w0 - bcs .L1192 + bcs .L1193 uxtb w8, w1 mov w3, 0 mul w11, w1, w2 ubfiz w10, w8, 1, 7 add x12, x19, :lo12:.LANCHOR2 -.L1193: +.L1194: cmp w3, w1 - bcs .L1195 + bcs .L1196 uxtb w0, w3 mov w5, w3 mov w7, 0 -.L1196: +.L1197: cmp w7, w2 - bcs .L1218 + bcs .L1219 add x9, x12, 776 add w13, w5, w11 add w14, w0, w8 @@ -7511,35 +7520,35 @@ FtlConstantsInit: strb w14, [x9,x13] add w5, w5, w1 uxtb w0, w0 - b .L1196 -.L1218: + b .L1197 +.L1219: add w3, w3, 1 - b .L1193 -.L1195: + b .L1194 +.L1196: add x0, x19, :lo12:.LANCHOR2 lsl w2, w2, 1 lsr w4, w4, 1 strh w2, [x0,770] strh w4, [x0,758] -.L1192: +.L1193: add x0, x19, :lo12:.LANCHOR2 mov w2, 5 cmp w6, 1 strh w2, [x0,808] strh wzr, [x0,810] - bne .L1197 + bne .L1198 strh w6, [x0,808] -.L1197: +.L1198: add x0, x19, :lo12:.LANCHOR2 mov w2, 4352 adrp x22, .LANCHOR0 strh w2, [x0,812] add x2, x22, :lo12:.LANCHOR0 ldrb w27, [x2,24] - cbz w27, .L1198 + cbz w27, .L1199 mov w2, 384 strh w2, [x0,812] -.L1198: +.L1199: add x21, x19, :lo12:.LANCHOR2 ldrh w20, [x21,758] ldrh w23, [x21,770] @@ -7573,10 +7582,10 @@ FtlConstantsInit: mul w0, w23, w20 strh w2, [x21,830] str w0, [x21,764] - bls .L1199 + bls .L1200 and w0, w20, 255 strh w0, [x21,810] -.L1199: +.L1200: add x2, x19, :lo12:.LANCHOR2 mul w0, w25, w28 ldrh w1, [x2,810] @@ -7591,15 +7600,15 @@ FtlConstantsInit: sdiv w0, w1, w0 uxth w0, w0 cmp w0, 4 - bhi .L1215 + bhi .L1216 mov w0, 4 -.L1215: +.L1216: strh w0, [x2,840] - cbz w27, .L1202 + cbz w27, .L1203 add x0, x19, :lo12:.LANCHOR2 mov w1, 640 strh w1, [x0,812] -.L1202: +.L1203: add x1, x19, :lo12:.LANCHOR2 lsl w20, w20, 6 cmp w23, 1 @@ -7617,9 +7626,9 @@ FtlConstantsInit: ldrh w0, [x1,840] udiv w0, w0, w23 add w20, w20, w0 - bne .L1216 + bne .L1217 add w20, w20, 4 -.L1216: +.L1217: str w20, [x1,744] add x20, x19, :lo12:.LANCHOR2 add x22, x22, :lo12:.LANCHOR0 @@ -7649,18 +7658,18 @@ FtlConstantsInit: ldr w1, [x20,848] add w4, w1, 3 str w4, [x20,848] - cbz w5, .L1205 + cbz w5, .L1206 add w2, w2, 4 add w1, w1, 5 strh w2, [x20,840] - b .L1217 -.L1205: - cmp w4, 7 - bhi .L1206 - mov w1, 8 -.L1217: - str w1, [x20,848] + b .L1218 .L1206: + cmp w4, 7 + bhi .L1207 + mov w1, 8 +.L1218: + str w1, [x20,848] +.L1207: add x19, x19, :lo12:.LANCHOR2 ldrh w1, [x19,756] strh wzr, [x19,860] @@ -7669,10 +7678,10 @@ FtlConstantsInit: add w1, w1, 52 add w0, w1, w0, lsl 2 cmp w0, w3, lsl 9 - bcs .L1207 + bcs .L1208 mov w0, 1 strh w0, [x19,860] -.L1207: +.L1208: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -7734,9 +7743,9 @@ FtlMemInit: strh wzr, [x0,962] str w2, [x0,964] cmp w2, w1 - bls .L1220 + bls .L1221 str w1, [x0,964] -.L1220: +.L1221: add x19, x20, :lo12:.LANCHOR2 mov w22, 56 ldrh w0, [x19,822] @@ -7920,106 +7929,106 @@ FtlMemInit: ldrh w5, [x19,770] mov w0, 1 mov w2, w4 -.L1221: +.L1222: cmp w0, w5 add x1, x1, 8 - bcs .L1321 + bcs .L1322 ldr x3, [x19,1328] add w0, w0, 1 add x3, x3, x2, uxtw 2 add w2, w2, w4 str x3, [x1,32] - b .L1221 -.L1321: + b .L1222 +.L1322: add x1, x20, :lo12:.LANCHOR2 -.L1223: +.L1224: cmp w0, 8 - beq .L1322 + beq .L1323 add x2, x1, x0, uxtw 3 add w0, w0, 1 str xzr, [x2,1328] - b .L1223 -.L1322: + b .L1224 +.L1323: add x0, x20, :lo12:.LANCHOR2 ldr x1, [x0,1192] - cbnz x1, .L1225 -.L1227: + cbnz x1, .L1226 +.L1228: adrp x0, .LC29 adrp x1, .LANCHOR3 add x0, x0, :lo12:.LC29 add x1, x1, :lo12:.LANCHOR3 bl printk mov w0, -1 - b .L1226 -.L1225: + b .L1227 +.L1226: ldr x1, [x0,1200] - cbz x1, .L1227 + cbz x1, .L1228 ldr x1, [x0,1240] - cbz x1, .L1227 + cbz x1, .L1228 ldr x1, [x0,1256] - cbz x1, .L1227 + cbz x1, .L1228 ldr x1, [x0,1264] - cbz x1, .L1227 + cbz x1, .L1228 ldr x1, [x0,1272] - cbz x1, .L1227 + cbz x1, .L1228 ldr x1, [x0,1280] - cbz x1, .L1227 + cbz x1, .L1228 ldr x1, [x0,1328] - cbz x1, .L1227 + cbz x1, .L1228 ldr x0, [x0,1184] - cbz x0, .L1227 + cbz x0, .L1228 add x0, x20, :lo12:.LANCHOR2 ldr x1, [x0,976] - cbz x1, .L1227 + cbz x1, .L1228 ldr x1, [x0,984] - cbz x1, .L1227 + cbz x1, .L1228 ldr x1, [x0,992] - cbz x1, .L1227 + cbz x1, .L1228 ldr x1, [x0,1008] - cbz x1, .L1227 + cbz x1, .L1228 ldr x1, [x0,1016] - cbz x1, .L1227 + cbz x1, .L1228 ldr x1, [x0,1024] - cbz x1, .L1227 + cbz x1, .L1228 ldr x1, [x0,1000] - cbz x1, .L1227 + cbz x1, .L1228 ldr x1, [x0,1048] - cbz x1, .L1227 + cbz x1, .L1228 ldr x1, [x0,1056] - cbz x1, .L1227 + cbz x1, .L1228 ldr x0, [x0,1064] - cbz x0, .L1227 + cbz x0, .L1228 add x0, x20, :lo12:.LANCHOR2 ldr x1, [x0,1072] - cbz x1, .L1227 + cbz x1, .L1228 ldr x1, [x0,1088] - cbz x1, .L1227 + cbz x1, .L1228 ldr x1, [x0,1096] - cbz x1, .L1227 + cbz x1, .L1228 ldr x1, [x0,1104] - cbz x1, .L1227 + cbz x1, .L1228 ldr x1, [x0,1112] - cbz x1, .L1227 + cbz x1, .L1228 ldr x1, [x0,1120] - cbz x1, .L1227 + cbz x1, .L1228 ldr x1, [x0,1128] - cbz x1, .L1227 + cbz x1, .L1228 ldr x1, [x0,1168] - cbz x1, .L1227 + cbz x1, .L1228 ldr x1, [x0,1152] - cbz x1, .L1227 + cbz x1, .L1228 ldr x0, [x0,1208] - cbz x0, .L1227 + cbz x0, .L1228 adrp x0, .LANCHOR2 add x0, x0, :lo12:.LANCHOR2 ldr x1, [x0,1216] - cbz x1, .L1227 + cbz x1, .L1228 ldr x1, [x0,1224] - cbz x1, .L1227 + cbz x1, .L1228 ldr x0, [x0,1232] - cbz x0, .L1227 + cbz x0, .L1228 mov w0, 0 -.L1226: +.L1227: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldr x23, [sp,48] @@ -8035,23 +8044,23 @@ IsBlkInVendorPart: add x1, x1, :lo12:.LANCHOR2 mov w0, 0 ldrh w2, [x1,1392] - cbz w2, .L1324 + cbz w2, .L1325 ldrh w2, [x1,840] ldr x3, [x1,1208] mov x1, 0 -.L1325: +.L1326: cmp w2, w1, uxth - bls .L1330 + bls .L1331 add x1, x1, 1 add x0, x3, x1, lsl 1 ldrh w0, [x0,-2] cmp w0, w4 - bne .L1325 + bne .L1326 mov w0, 1 - b .L1324 -.L1330: + b .L1325 +.L1331: mov w0, 0 -.L1324: +.L1325: ret .size IsBlkInVendorPart, .-IsBlkInVendorPart .align 2 @@ -8063,25 +8072,25 @@ FtlCacheMetchLpa: add x2, x2, :lo12:.LANCHOR2 mov w0, 0 ldr w3, [x2,968] - cbz w3, .L1332 + cbz w3, .L1333 ldr x5, [x2,1032] mov x0, 56 mov x2, 0 -.L1333: +.L1334: cmp w3, w2 - bls .L1342 + bls .L1343 madd x4, x2, x0, x5 add x2, x2, 1 ldr w4, [x4,24] cmp w4, w6 - bcc .L1333 + bcc .L1334 cmp w4, w1 - bhi .L1333 + bhi .L1334 mov w0, 1 - b .L1332 -.L1342: + b .L1333 +.L1343: mov w0, 0 -.L1332: +.L1333: ret .size FtlCacheMetchLpa, .-FtlCacheMetchLpa .align 2 @@ -8186,10 +8195,10 @@ FtlBbt2Bitmap: mov x3, 0 mov w0, 65535 mov w5, 1 -.L1351: +.L1352: ldrh w2, [x20,x3] cmp w2, w0 - beq .L1349 + beq .L1350 ubfx x4, x2, 5, 11 add x3, x3, 2 lsl x4, x4, 2 @@ -8198,8 +8207,8 @@ FtlBbt2Bitmap: ldr w1, [x19,x4] orr w2, w1, w2 str w2, [x19,x4] - bne .L1351 -.L1349: + bne .L1352 +.L1350: ldp x19, x20, [sp,16] ldp x29, x30, [sp], 32 ret @@ -8217,7 +8226,7 @@ FtlBbmTblFlush: stp x23, x24, [sp,48] ldr w1, [x19,1400] stp x25, x26, [sp,64] - cbnz w1, .L1356 + cbnz w1, .L1357 ldr x0, [x19,1048] mov x22, 0 ldr x3, [x19,1112] @@ -8226,13 +8235,13 @@ FtlBbmTblFlush: str x0, [x19,1416] str x3, [x19,1424] bl ftl_memset -.L1357: +.L1358: ldrh w1, [x19,770] mov w0, w22 add x20, x19, 1408 add x22, x22, 1 cmp w0, w1 - bge .L1365 + bge .L1366 add x1, x21, x22, lsl 3 ldrh w2, [x19,1288] ldr x3, [x20,8] @@ -8241,8 +8250,8 @@ FtlBbmTblFlush: add x0, x3, x0, sxtw 2 lsl w2, w2, 2 bl ftl_memcpy - b .L1357 -.L1365: + b .L1358 +.L1366: ldr x25, [x20,16] mov w1, 255 mov w2, 16 @@ -8266,7 +8275,7 @@ FtlBbmTblFlush: strh w0, [x25,10] ldr w0, [x19,744] strh w0, [x25,12] -.L1359: +.L1360: ldr x0, [x19,1048] str x0, [x20,8] ldrh w1, [x19,1296] @@ -8289,7 +8298,7 @@ FtlBbmTblFlush: ldrh w0, [x19,1298] sub w1, w1, #1 cmp w0, w1 - blt .L1360 + blt .L1361 ldr w1, [x19,1304] ldrh w0, [x19,1296] add w1, w1, 1 @@ -8313,20 +8322,20 @@ FtlBbmTblFlush: mov w2, w1 mov w3, w1 bl FlashProgPages -.L1360: +.L1361: ldrh w1, [x19,1298] ldr w0, [x20] add w1, w1, 1 strh w1, [x19,1298] cmn w0, #1 - bne .L1361 + bne .L1362 ldr w1, [x20,4] mov x0, x24 add w26, w26, 1 bl printk uxth w26, w26 cmp w26, 3 - bls .L1359 + bls .L1360 adrp x0, .LC33 ldr w1, [x20,4] add x0, x0, :lo12:.LC33 @@ -8334,12 +8343,12 @@ FtlBbmTblFlush: bl printk mov w0, 1 str w0, [x19,1400] - b .L1356 -.L1361: - cbnz w23, .L1356 + b .L1357 +.L1362: + cbnz w23, .L1357 mov w23, 1 - b .L1359 -.L1356: + b .L1360 +.L1357: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -8370,19 +8379,19 @@ FtlLoadFactoryBbt: mov w25, -1 str x24, [x21,16] mov w26, 61664 -.L1367: +.L1368: ldrh w0, [x19,770] cmp w22, w0 - bcs .L1376 + bcs .L1377 ldrh w20, [x19,814] strh w25, [x23,12] -.L1369: +.L1370: sub w20, w20, #1 ldrh w0, [x19,814] uxth w20, w20 sub w1, w0, #16 cmp w20, w1 - ble .L1370 + ble .L1371 madd w0, w22, w0, w20 mov w1, 1 lsl w0, w0, 10 @@ -8392,16 +8401,16 @@ FtlLoadFactoryBbt: bl FlashReadPages ldr w0, [x21] cmn w0, #1 - beq .L1369 + beq .L1370 ldrh w0, [x24] cmp w0, w26 - bne .L1369 + bne .L1370 strh w20, [x23,12] -.L1370: +.L1371: add w22, w22, 1 add x23, x23, 2 - b .L1367 -.L1376: + b .L1368 +.L1377: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -8443,19 +8452,19 @@ FtlBbtCalcTotleCnt: ldrh w1, [x0,814] ldrh w21, [x0,770] mul w21, w1, w21 -.L1379: +.L1380: cmp w20, w21 - bge .L1385 + bge .L1386 mov w0, w20 bl FtlBbmIsBadBlock - cbz w0, .L1380 + cbz w0, .L1381 add w19, w19, 1 uxth w19, w19 -.L1380: +.L1381: add w20, w20, 1 uxth w20, w20 - b .L1379 -.L1385: + b .L1380 +.L1386: mov w0, w19 ldr x21, [sp,32] ldp x19, x20, [sp,16] @@ -8477,7 +8486,7 @@ FtlMakeBbt: stp x27, x28, [sp,80] mov x21, x19 ldr w22, [x20,1400] - cbnz w22, .L1387 + cbnz w22, .L1388 add x24, x20, 1296 mov x19, x20 mov x25, x24 @@ -8485,10 +8494,10 @@ FtlMakeBbt: mov w28, -3872 bl FtlBbtMemInit bl FtlLoadFactoryBbt -.L1388: +.L1389: ldrh w0, [x19,770] cmp w22, w0 - bcs .L1406 + bcs .L1407 ldrh w4, [x25,12] mov w1, 65535 ldr x0, [x19,1048] @@ -8496,7 +8505,7 @@ FtlMakeBbt: cmp w4, w1 str x0, [x20,8] str x26, [x20,16] - beq .L1389 + beq .L1390 ldrh w0, [x19,814] mov w1, 1 mov w2, w1 @@ -8511,23 +8520,23 @@ FtlMakeBbt: ldr x1, [x20,8] lsr w2, w2, 3 bl ftl_memcpy - b .L1390 -.L1389: + b .L1391 +.L1390: mov w1, w22 bl FlashGetBadBlockList ldr x0, [x20,8] ldr x1, [x24,32] bl FtlBbt2Bitmap ldrh w23, [x19,814] -.L1392: +.L1393: sub w23, w23, #1 uxth w23, w23 -.L1391: +.L1392: ldrh w0, [x19,814] madd w0, w22, w0, w23 bl FtlBbmIsBadBlock cmp w0, 1 - beq .L1392 + beq .L1393 ldr x0, [x19,1112] mov w1, 0 mov w2, 16 @@ -8558,64 +8567,64 @@ FtlMakeBbt: bl FlashProgPages ldr w0, [x20] cmn w0, #1 - bne .L1390 + bne .L1391 mov w0, w27 bl FtlBbmMapBadBlock - b .L1391 -.L1390: + b .L1392 +.L1391: mov w0, w27 add w22, w22, 1 add x24, x24, 8 add x25, x25, 2 bl FtlBbmMapBadBlock - b .L1388 -.L1406: + b .L1389 +.L1407: mov w19, 0 -.L1395: +.L1396: add x20, x21, :lo12:.LANCHOR2 ldrh w0, [x20,832] cmp w0, w19 - bls .L1407 + bls .L1408 mov w0, w19 add w19, w19, 1 bl FtlBbmMapBadBlock uxth w19, w19 - b .L1395 -.L1407: + b .L1396 +.L1408: ldrh w19, [x20,1308] mov w23, 65535 sub w19, w19, #1 uxth w19, w19 -.L1397: +.L1398: add x22, x20, 1296 ldrh w0, [x22,12] sub w0, w0, #48 cmp w19, w0 - ble .L1401 + ble .L1402 mov w0, w19 bl FtlBbmIsBadBlock cmp w0, 1 - beq .L1398 + beq .L1399 mov w0, w19 bl FlashTestBlk - cbz w0, .L1399 + cbz w0, .L1400 mov w0, w19 bl FtlBbmMapBadBlock - b .L1398 -.L1399: + b .L1399 +.L1400: ldrh w0, [x20,1296] cmp w0, w23 - bne .L1400 + bne .L1401 strh w19, [x20,1296] - b .L1398 -.L1400: + b .L1399 +.L1401: strh w19, [x22,4] - b .L1401 -.L1398: + b .L1402 +.L1399: sub w19, w19, #1 uxth w19, w19 - b .L1397 -.L1401: + b .L1398 +.L1402: add x19, x21, :lo12:.LANCHOR2 mov w2, 2 ldr x1, [x19,1016] @@ -8644,7 +8653,7 @@ FtlMakeBbt: strh w0, [x19,1300] strh w1, [x19,1296] bl FtlBbmTblFlush -.L1387: +.L1388: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -8706,16 +8715,16 @@ P2V_block_in_plane: ftl_cmp_data_ver: cmp w0, w1 mov w2, -2147483648 - bls .L1412 + bls .L1413 sub w1, w0, w1 cmp w1, w2 cset w0, ls - b .L1413 -.L1412: + b .L1414 +.L1413: sub w1, w1, w0 cmp w1, w2 cset w0, hi -.L1413: +.L1414: ret .size ftl_cmp_data_ver, .-ftl_cmp_data_ver .align 2 @@ -8732,12 +8741,12 @@ FtlGetLastWrittenPage: str x25, [sp,64] mov w23, w1 add x3, x3, :lo12:.LANCHOR2 - bne .L1415 + bne .L1416 ldrh w19, [x3,820] - b .L1416 -.L1415: - ldrh w19, [x3,818] + b .L1417 .L1416: + ldrh w19, [x3,818] +.L1417: sub w19, w19, #1 lsl w21, w0, 10 mov w1, 1 @@ -8752,12 +8761,12 @@ FtlGetLastWrittenPage: bl FlashReadPages ldr w0, [x29,144] cmn w0, #1 - bne .L1417 + bne .L1418 mov w22, 0 mov w25, 2 -.L1418: +.L1419: cmp w22, w19 - bgt .L1417 + bgt .L1418 add w3, w22, w19 mov w1, 1 mov w2, w23 @@ -8769,21 +8778,21 @@ FtlGetLastWrittenPage: bl FlashReadPages ldr w0, [x24] cmn w0, #1 - bne .L1419 + bne .L1420 ldr w0, [x24,4] cmn w0, #1 - bne .L1419 + bne .L1420 ldr w0, [x29,88] cmn w0, #1 - beq .L1419 + beq .L1420 sub w19, w20, #1 sxth w19, w19 - b .L1418 -.L1419: + b .L1419 +.L1420: add w20, w20, 1 sxth w22, w20 - b .L1418 -.L1417: + b .L1419 +.L1418: mov w0, w19 ldr x25, [sp,64] ldp x19, x20, [sp,16] @@ -8813,11 +8822,11 @@ FtlLoadBbt: ldrh w20, [x23,814] sub w20, w20, #1 uxth w20, w20 -.L1426: +.L1427: ldrh w0, [x23,814] sub w0, w0, #48 cmp w20, w0 - ble .L1429 + ble .L1430 lsl w0, w20, 10 mov w1, 1 str w0, [x21,4] @@ -8826,7 +8835,7 @@ FtlLoadBbt: bl FlashReadPages ldr w0, [x21] cmn w0, #1 - bne .L1427 + bne .L1428 ldr w0, [x21,4] mov w1, 1 mov w2, w1 @@ -8834,33 +8843,33 @@ FtlLoadBbt: str w0, [x21,4] mov x0, x21 bl FlashReadPages -.L1427: +.L1428: ldr w0, [x21] cmn w0, #1 - beq .L1428 + beq .L1429 ldrh w0, [x22] cmp w0, w24 - bne .L1428 + bne .L1429 ldr w1, [x22,4] str w1, [x23,1304] strh w20, [x23,1296] ldrh w1, [x22,8] strh w1, [x23,1300] - b .L1429 -.L1428: + b .L1430 +.L1429: sub w20, w20, #1 uxth w20, w20 - b .L1426 -.L1429: + b .L1427 +.L1430: add x21, x19, :lo12:.LANCHOR2 mov w2, 65535 mov w0, -1 ldrh w1, [x21,1296] cmp w1, w2 - beq .L1431 + beq .L1432 ldrh w1, [x21,1300] cmp w1, w2 - beq .L1433 + beq .L1434 add x0, x21, 1408 lsl w1, w1, 10 str w1, [x0,4] @@ -8869,21 +8878,21 @@ FtlLoadBbt: bl FlashReadPages ldr w0, [x21,1408] cmn w0, #1 - beq .L1433 + beq .L1434 ldrh w1, [x22] mov w0, 61649 cmp w1, w0 - bne .L1433 + bne .L1434 ldr w0, [x22,4] ldr w1, [x21,1304] cmp w0, w1 - bls .L1433 + bls .L1434 str w0, [x21,1304] ldrh w1, [x21,1300] ldrh w0, [x22,8] strh w1, [x21,1296] strh w0, [x21,1300] -.L1433: +.L1434: add x20, x19, :lo12:.LANCHOR2 mov w1, 1 add x23, x20, 1408 @@ -8893,8 +8902,8 @@ FtlLoadBbt: sxth w21, w0 add w0, w0, 1 strh w0, [x20,1298] -.L1435: - tbnz w21, #31, .L1440 +.L1436: + tbnz w21, #31, .L1441 ldrh w0, [x20,1296] mov w1, 1 mov w2, w1 @@ -8906,44 +8915,44 @@ FtlLoadBbt: bl FlashReadPages ldr w0, [x23] cmn w0, #1 - beq .L1436 + beq .L1437 ldrh w0, [x22] cmp w0, w24 - bne .L1436 -.L1440: + bne .L1437 +.L1441: add x1, x19, :lo12:.LANCHOR2 ldrh w0, [x22,10] mov w2, 65535 strh w0, [x1,1302] ldrh w0, [x22,12] cmp w0, w2 - bne .L1437 - b .L1438 -.L1436: + bne .L1438 + b .L1439 +.L1437: sub w21, w21, #1 sxth w21, w21 - b .L1435 -.L1437: + b .L1436 +.L1438: ldr w2, [x1,744] cmp w0, w2 - beq .L1438 + beq .L1439 ldrh w1, [x1,758] lsr w1, w1, 2 cmp w0, w1 - bcs .L1438 + bcs .L1439 cmp w2, w1 - bcs .L1438 + bcs .L1439 bl FtlSysBlkNumInit -.L1438: +.L1439: add x19, x19, :lo12:.LANCHOR2 mov x20, 0 add x21, x19, 1296 -.L1441: +.L1442: ldrh w0, [x19,770] mov w1, w20 add x20, x20, 1 cmp w1, w0 - bcs .L1459 + bcs .L1460 ldrh w2, [x19,1288] add x0, x21, x20, lsl 3 ldr x3, [x19,1416] @@ -8952,10 +8961,10 @@ FtlLoadBbt: lsl w2, w2, 2 add x1, x3, x1, lsl 2 bl ftl_memcpy - b .L1441 -.L1459: + b .L1442 +.L1460: mov w0, 0 -.L1431: +.L1432: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -9017,10 +9026,10 @@ FtlFreeSysBlkQueueIn: uxth w22, w0 ldrh w0, [x20,1470] cmp w0, 1024 - beq .L1463 - cbz w1, .L1465 + beq .L1464 + cbz w1, .L1466 ldr w0, [x20,1400] - cbnz w0, .L1465 + cbnz w0, .L1466 mov w0, w22 bl P2V_block_in_plane uxth w21, w0 @@ -9039,7 +9048,7 @@ FtlFreeSysBlkQueueIn: ldr w0, [x20,912] add w0, w0, 1 str w0, [x20,912] -.L1465: +.L1466: add x1, x19, :lo12:.LANCHOR2 add x1, x1, 1464 ldrh w0, [x1,6] @@ -9051,7 +9060,7 @@ FtlFreeSysBlkQueueIn: and w2, w2, 1023 strh w22, [x0,8] strh w2, [x1,4] -.L1463: +.L1464: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x29, x30, [sp], 48 @@ -9076,7 +9085,7 @@ FtlLowFormatEraseBlock: ldr w2, [x3,1400] str w0, [x29,120] mov w0, 0 - cbnz w2, .L1473 + cbnz w2, .L1474 adrp x28, .LANCHOR0 str w25, [x3,944] add x0, x28, :lo12:.LANCHOR0 @@ -9087,10 +9096,10 @@ FtlLowFormatEraseBlock: mov w23, 56 ldrb w0, [x0,136] str w0, [x29,124] -.L1474: +.L1475: ldrh w0, [x26,748] cmp w0, w27 - bls .L1518 + bls .L1519 umull x0, w27, w23 ldr x1, [x26,1016] str wzr, [x1,x0] @@ -9100,15 +9109,15 @@ FtlLowFormatEraseBlock: bl V2P_block uxth w22, w0 mov w1, w22 - cbz w24, .L1475 + cbz w24, .L1476 str x1, [x29,112] bl IsBlkInVendorPart ldr x1, [x29,112] - cbnz w0, .L1476 -.L1475: + cbnz w0, .L1477 +.L1476: mov w0, w1 bl FtlBbmIsBadBlock - cbnz w0, .L1477 + cbnz w0, .L1478 umull x0, w20, w23 ldr x1, [x26,1016] lsl w22, w22, 10 @@ -9126,16 +9135,16 @@ FtlLowFormatEraseBlock: uxth w20, w20 add x0, x4, x0, sxtw 2 str x0, [x1,16] - b .L1476 -.L1477: + b .L1477 +.L1478: add w19, w19, 1 uxth w19, w19 -.L1476: +.L1477: add w2, w27, 1 uxth w27, w2 - b .L1474 -.L1518: - cbz w20, .L1497 + b .L1475 +.L1519: + cbz w20, .L1498 ldr w0, [x29,124] mov w2, w20 strb wzr, [x26,648] @@ -9148,55 +9157,55 @@ FtlLowFormatEraseBlock: ldrb w0, [x29,120] strb w0, [x26,648] mov x26, 56 -.L1480: +.L1481: cmp w20, w23, uxth - bls .L1519 + bls .L1520 add x1, x21, :lo12:.LANCHOR2 mul x0, x23, x26 ldr x1, [x1,1016] add x2, x1, x0 ldr w0, [x1,x0] cmn w0, #1 - bne .L1481 + bne .L1482 ldr w0, [x2,4] add w19, w19, 1 lsr w0, w0, 10 uxth w19, w19 bl FtlBbmMapBadBlock -.L1481: +.L1482: add x23, x23, 1 - b .L1480 -.L1519: - cbnz w24, .L1483 + b .L1481 +.L1520: + cbnz w24, .L1484 mov w0, 1 uxth w22, w22 mov w27, 6 str w0, [x29,124] - b .L1484 -.L1483: + b .L1485 +.L1484: add x0, x21, :lo12:.LANCHOR2 add x28, x28, :lo12:.LANCHOR0 ldrh w0, [x0,820] str w0, [x29,124] ldrb w0, [x28,136] - cbnz w0, .L1500 + cbnz w0, .L1501 ldr w0, [x29,124] mov w22, 1 lsr w27, w0, 2 - b .L1484 -.L1500: + b .L1485 +.L1501: mov w22, 1 mov w27, w22 -.L1484: +.L1485: mov w23, 0 add x28, x21, :lo12:.LANCHOR2 -.L1493: +.L1494: mov w26, 0 mov w20, w26 -.L1485: +.L1486: ldrh w0, [x28,748] cmp w0, w26 - bls .L1520 + bls .L1521 mov w0, 56 ldr x1, [x28,1016] umull x0, w26, w0 @@ -9208,15 +9217,15 @@ FtlLowFormatEraseBlock: uxth w2, w0 str w2, [x29,112] mov w1, w2 - cbz w24, .L1486 + cbz w24, .L1487 str x1, [x29,104] bl IsBlkInVendorPart ldr x1, [x29,104] - cbnz w0, .L1487 -.L1486: + cbnz w0, .L1488 +.L1487: mov w0, w1 bl FtlBbmIsBadBlock - cbnz w0, .L1487 + cbnz w0, .L1488 mov w0, 56 ldr x1, [x28,1016] ldr w2, [x29,112] @@ -9237,12 +9246,12 @@ FtlLowFormatEraseBlock: ldr x2, [x28,1096] add x0, x2, x0, sxtw 2 str x0, [x1,16] -.L1487: +.L1488: add w3, w26, 1 uxth w26, w3 - b .L1485 -.L1520: - cbz w20, .L1497 + b .L1486 +.L1521: + cbz w20, .L1498 ldr x0, [x28,1016] mov w1, w20 mov w2, w22 @@ -9252,15 +9261,15 @@ FtlLowFormatEraseBlock: ldrb w0, [x29,120] mov x1, 0 strb w0, [x28,648] -.L1490: +.L1491: cmp w20, w1, uxth - bls .L1521 + bls .L1522 mov x0, 56 ldr x2, [x28,1016] mul x0, x1, x0 add x3, x2, x0 ldr w0, [x2,x0] - cbz w0, .L1491 + cbz w0, .L1492 ldr w0, [x3,4] add w19, w19, 1 str x1, [x29,112] @@ -9268,47 +9277,47 @@ FtlLowFormatEraseBlock: uxth w19, w19 bl FtlBbmMapBadBlock ldr x1, [x29,112] -.L1491: +.L1492: add x1, x1, 1 - b .L1490 -.L1521: + b .L1491 +.L1522: add w23, w23, w27 ldr w0, [x29,124] uxth w23, w23 cmp w23, w0 - bcc .L1493 + bcc .L1494 mov x23, 0 mov x26, 56 -.L1494: +.L1495: cmp w20, w23, uxth - bls .L1522 - cbz w24, .L1495 + bls .L1523 + cbz w24, .L1496 add x1, x21, :lo12:.LANCHOR2 mul x0, x23, x26 ldr x1, [x1,1016] add x2, x1, x0 ldr w0, [x1,x0] - cbnz w0, .L1495 + cbnz w0, .L1496 ldr w0, [x2,4] mov w1, 1 lsr w0, w0, 10 bl FtlFreeSysBlkQueueIn -.L1495: +.L1496: add x23, x23, 1 - b .L1494 -.L1522: + b .L1495 +.L1523: cmp w25, 63 - bls .L1501 - cbz w24, .L1497 -.L1501: + bls .L1502 + cbz w24, .L1498 +.L1502: add x21, x21, :lo12:.LANCHOR2 mov w1, w22 mov w2, w20 ldr x0, [x21,1016] bl FlashEraseBlocks -.L1497: +.L1498: mov w0, w19 -.L1473: +.L1474: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -9330,9 +9339,9 @@ FtlFreeSysBLkSort: and w6, w6, 31 ldrh w3, [x1,2] ldrh w2, [x1,4] -.L1524: +.L1525: cmp w4, w6 - bge .L1531 + bge .L1532 add x5, x1, x3, sxtw 1 ldrh w7, [x5,8] add x5, x1, x2, sxtw 1 @@ -9344,13 +9353,13 @@ FtlFreeSysBLkSort: uxth w4, w4 and w3, w3, 1023 and w2, w2, 1023 - b .L1524 -.L1531: - cbz w5, .L1523 + b .L1525 +.L1532: + cbz w5, .L1524 add x0, x0, :lo12:.LANCHOR2 strh w3, [x0,1466] strh w2, [x0,1468] -.L1523: +.L1524: ret .size FtlFreeSysBLkSort, .-FtlFreeSysBLkSort .align 2 @@ -9366,18 +9375,18 @@ remove_from_free_sys_Queue: add x20, x20, :lo12:.LANCHOR2 add x20, x20, 1464 ldrh w3, [x20,6] - cbz w3, .L1533 + cbz w3, .L1534 ldrh w4, [x20,2] mov w19, w0 -.L1534: +.L1535: cmp w19, w3 - bcs .L1539 + bcs .L1540 add w2, w19, w4 ubfiz x2, x2, 1, 10 add x2, x20, x2 ldrh w0, [x2,8] cmp w0, w1 - bne .L1535 + bne .L1536 adrp x0, .LC34 add x0, x0, :lo12:.LC34 bl printk @@ -9395,13 +9404,13 @@ remove_from_free_sys_Queue: strh w1, [x19,8] strh w0, [x20,6] mov w0, 1 - b .L1533 -.L1535: - add w19, w19, 1 b .L1534 -.L1539: +.L1536: + add w19, w19, 1 + b .L1535 +.L1540: mov w0, 0 -.L1533: +.L1534: ldp x19, x20, [sp,16] ldp x29, x30, [sp], 32 ret @@ -9422,10 +9431,10 @@ FtlFreeSysBlkQueueOut: add x21, x19, 1464 adrp x24, .LANCHOR0 add x23, x23, :lo12:.LC36 -.L1541: +.L1542: ldrh w1, [x21,6] adrp x22, .LANCHOR2 - cbz w1, .L1542 + cbz w1, .L1543 ldrh w2, [x21,2] sub w1, w1, #1 add x0, x21, x2, sxtw 1 @@ -9435,7 +9444,7 @@ FtlFreeSysBlkQueueOut: and w2, w2, 1023 strh w2, [x21,2] ldrh w20, [x0,8] - cbnz w1, .L1543 + cbnz w1, .L1544 mov w0, w20 str x1, [x29,88] bl P2V_block_in_plane @@ -9446,11 +9455,11 @@ FtlFreeSysBlkQueueOut: str w2, [x0,4] add x0, x24, :lo12:.LANCHOR0 ldrb w0, [x0,136] - cbz w0, .L1544 + cbz w0, .L1545 ldr x0, [x19,1016] mov w2, 1 bl FlashEraseBlocks -.L1544: +.L1545: add x25, x22, :lo12:.LANCHOR2 mov w1, 1 mov w2, w1 @@ -9464,22 +9473,22 @@ FtlFreeSysBlkQueueOut: ldr w0, [x25,912] add w0, w0, 1 str w0, [x25,912] - b .L1543 -.L1542: + b .L1544 +.L1543: adrp x0, .LC35 add x0, x0, :lo12:.LC35 bl printk -.L1545: - b .L1545 -.L1543: - cbnz w20, .L1546 +.L1546: + b .L1546 +.L1544: + cbnz w20, .L1547 add x22, x22, :lo12:.LANCHOR2 mov x0, x23 mov w1, w20 ldrh w2, [x22,1470] bl printk - b .L1541 -.L1546: + b .L1542 +.L1547: mov w0, w20 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -9498,7 +9507,7 @@ insert_data_list: mov x4, x2 ldrh w1, [x3,756] cmp w1, w0 - bls .L1552 + bls .L1553 mov w7, 6 ldr x11, [x3,1280] mov w1, -1 @@ -9507,10 +9516,10 @@ insert_data_list: strh w1, [x5,2] strh w1, [x11,x10] ldr x1, [x3,3568] - cbnz x1, .L1553 + cbnz x1, .L1554 str x5, [x3,3568] - b .L1552 -.L1553: + b .L1553 +.L1554: ubfiz x8, x0, 1, 16 ldr x13, [x3,1184] ldrh w2, [x5,4] @@ -9530,13 +9539,13 @@ insert_data_list: add x9, x14, x8 mov w8, w7 uxth w2, w2 -.L1561: +.L1562: add w3, w3, 1 cmp w0, w2 uxth w3, w3 - beq .L1552 + beq .L1553 cmp w3, w17 - bhi .L1552 + bhi .L1553 ubfiz x15, x2, 1, 16 ldrh w16, [x1,4] cmp w16, wzr @@ -9544,47 +9553,47 @@ insert_data_list: mul w7, w7, w16 csinv w7, w7, wzr, ne cmp w7, w6 - bne .L1557 + bne .L1558 ldrh w15, [x14,x15] ldrh w7, [x9] cmp w15, w7 - bcc .L1559 - b .L1558 -.L1557: - bhi .L1558 -.L1559: + bcc .L1560 + b .L1559 +.L1558: + bhi .L1559 +.L1560: ldrh w7, [x1] cmp w7, w18 - bne .L1560 + bne .L1561 strh w2, [x5,2] add x2, x4, :lo12:.LANCHOR2 strh w0, [x1] str x5, [x2,3576] - b .L1552 -.L1560: + b .L1553 +.L1561: umull x1, w7, w8 mov w2, w7 add x1, x12, x1 - b .L1561 -.L1558: + b .L1562 +.L1559: strh w2, [x11,x10] ldrh w2, [x1,2] strh w2, [x5,2] add x2, x4, :lo12:.LANCHOR2 ldr x3, [x2,3568] cmp x1, x3 - bne .L1562 + bne .L1563 strh w0, [x1,2] str x5, [x2,3568] - b .L1552 -.L1562: + b .L1553 +.L1563: ldrh w3, [x1,2] mov w4, 6 ldr x2, [x2,1280] umull x3, w3, w4 strh w0, [x2,x3] strh w0, [x1,2] -.L1552: +.L1553: mov w0, 0 ret .size insert_data_list, .-insert_data_list @@ -9610,7 +9619,7 @@ insert_free_list: uxth w0, w0 mov w7, 65535 cmp w0, w7 - beq .L1567 + beq .L1568 adrp x2, .LANCHOR2 mov w6, 6 add x5, x2, :lo12:.LANCHOR2 @@ -9622,10 +9631,10 @@ insert_free_list: strh w1, [x4,2] strh w1, [x9,x8] ldr x1, [x5,3592] - cbnz x1, .L1568 + cbnz x1, .L1569 str x4, [x5,3592] - b .L1567 -.L1568: + b .L1568 +.L1569: ldr x11, [x5,1168] ubfiz x2, x0, 1, 16 ldr x10, [x5,1280] @@ -9635,41 +9644,41 @@ insert_free_list: asr x2, x2, 1 madd x2, x5, x2, x2 uxth w2, w2 -.L1571: +.L1572: ubfiz x5, x2, 1, 16 ldrh w5, [x11,x5] cmp w5, w12 - bcs .L1569 + bcs .L1570 ldrh w5, [x1] cmp w5, w7 - bne .L1570 + bne .L1571 strh w2, [x4,2] strh w0, [x1] - b .L1567 -.L1570: + b .L1568 +.L1571: umull x1, w5, w6 mov w2, w5 add x1, x10, x1 - b .L1571 -.L1569: + b .L1572 +.L1570: ldrh w5, [x1,2] strh w5, [x4,2] strh w2, [x9,x8] add x2, x3, :lo12:.LANCHOR2 ldr x3, [x2,3592] cmp x1, x3 - bne .L1572 + bne .L1573 strh w0, [x1,2] str x4, [x2,3592] - b .L1567 -.L1572: + b .L1568 +.L1573: ldrh w3, [x1,2] mov w4, 6 ldr x2, [x2,1280] umull x3, w3, w4 strh w0, [x2,x3] strh w0, [x1,2] -.L1567: +.L1568: mov w0, 0 ret .size insert_free_list, .-insert_free_list @@ -9702,31 +9711,31 @@ List_remove_node: ldr x2, [x6,1280] add x4, x2, x1 cmp x4, x3 - bne .L1575 + bne .L1576 ldrh w3, [x2,x1] cmp w3, w7 - bne .L1576 + bne .L1577 str xzr, [x0] - b .L1577 -.L1576: + b .L1578 +.L1577: umull x3, w3, w5 add x3, x2, x3 str x3, [x0] mov w0, -1 strh w0, [x3,2] - b .L1577 -.L1575: + b .L1578 +.L1576: ldrh w0, [x2,x1] ldrh w3, [x4,2] cmp w0, w7 - bne .L1578 + bne .L1579 cmp w3, w0 - beq .L1577 + beq .L1578 umull x3, w3, w5 mov w0, -1 strh w0, [x2,x3] - b .L1577 -.L1578: + b .L1578 +.L1579: umull x0, w0, w5 add x0, x2, x0 strh w3, [x0,2] @@ -9735,7 +9744,7 @@ List_remove_node: ldrh w7, [x2,x1] umull x3, w3, w5 strh w7, [x0,x3] -.L1577: +.L1578: mov w0, -1 strh w0, [x2,x1] strh w0, [x4,2] @@ -9752,14 +9761,14 @@ List_pop_index_node: str x19, [sp,16] mov w19, 65535 ldr x2, [x0] - cbz x2, .L1580 + cbz x2, .L1581 adrp x3, .LANCHOR2+1280 mov w5, w19 mov w6, 6 ldr x4, [x3,#:lo12:.LANCHOR2+1280] -.L1581: - cbnz w1, .L1582 -.L1584: +.L1582: + cbnz w1, .L1583 +.L1585: sub x2, x2, x4 mov x1, -6148914691236517206 asr x2, x2, 1 @@ -9767,17 +9776,17 @@ List_pop_index_node: uxth w19, w2 mov w1, w19 bl List_remove_node - b .L1580 -.L1582: + b .L1581 +.L1583: ldrh w3, [x2] cmp w3, w5 - beq .L1584 + beq .L1585 umull x3, w3, w6 sub w1, w1, #1 add x2, x4, x3 uxth w1, w1 - b .L1581 -.L1580: + b .L1582 +.L1581: mov w0, w19 ldr x19, [sp,16] ldp x29, x30, [sp], 32 @@ -9792,26 +9801,26 @@ List_get_gc_head_node: add x2, x2, :lo12:.LANCHOR2 mov w0, 65535 ldr x1, [x2,3568] - cbz x1, .L1592 + cbz x1, .L1593 ldr x4, [x2,1280] mov w5, 6 -.L1588: - cbz w3, .L1589 +.L1589: + cbz w3, .L1590 ldrh w2, [x1] cmp w2, w0 - beq .L1592 + beq .L1593 umull x2, w2, w5 sub w3, w3, #1 add x1, x4, x2 uxth w3, w3 - b .L1588 -.L1589: + b .L1589 +.L1590: sub x1, x1, x4 mov x0, -6148914691236517206 asr x1, x1, 1 madd x1, x0, x1, x1 uxth w0, w1 -.L1592: +.L1593: ret .size List_get_gc_head_node, .-List_get_gc_head_node .align 2 @@ -9826,20 +9835,20 @@ List_update_data_list: add x0, x19, :lo12:.LANCHOR2 ldrh w1, [x0,3608] cmp w1, w20 - beq .L1594 + beq .L1595 ldrh w1, [x0,3656] cmp w1, w20 - beq .L1594 + beq .L1595 ldrh w1, [x0,3704] cmp w1, w20 - beq .L1594 + beq .L1595 mov w3, 6 ldr x4, [x0,1280] ldr x2, [x0,3568] umull x3, w20, w3 add x1, x4, x3 cmp x1, x2 - beq .L1594 + beq .L1595 ldr x5, [x0,1184] ubfiz x0, x20, 1, 16 ldrh w2, [x5,x0] @@ -9850,11 +9859,11 @@ List_update_data_list: mov w0, 65535 csinv w2, w2, wzr, ne cmp w1, w0 - bne .L1596 + bne .L1597 ldrh w0, [x4,x3] cmp w0, w1 - beq .L1594 -.L1596: + beq .L1595 +.L1597: mov w0, 6 mov x3, -6148914691236517206 umull x1, w1, w0 @@ -9867,7 +9876,7 @@ List_update_data_list: mul w0, w0, w1 csinv w0, w0, wzr, ne cmp w2, w0 - bcs .L1594 + bcs .L1595 add x19, x19, :lo12:.LANCHOR2 mov w1, w20 add x0, x19, 3568 @@ -9877,7 +9886,7 @@ List_update_data_list: strh w0, [x19,3584] mov w0, w20 bl INSERT_DATA_LIST -.L1594: +.L1595: mov w0, 0 ldp x19, x20, [sp,16] ldp x29, x30, [sp], 32 @@ -9904,74 +9913,74 @@ ftl_free_no_use_map_blk: mov x0, x21 bl ftl_memset mov w0, 0 -.L1601: +.L1602: ldrh w1, [x19,6] cmp w1, w0 - bls .L1614 + bls .L1615 ubfiz x1, x0, 2, 16 ldr w2, [x20,x1] mov w1, 0 ubfx x2, x2, 10, 16 -.L1602: +.L1603: ldrh w3, [x19,10] cmp w3, w1 - bls .L1615 + bls .L1616 ubfiz x3, x1, 1, 16 ldrh w4, [x25,x3] cmp w4, w2 - bne .L1603 + bne .L1604 ldrh w4, [x21,x3] add w4, w4, 1 strh w4, [x21,x3] -.L1603: +.L1604: add w1, w1, 1 uxth w1, w1 - b .L1602 -.L1615: + b .L1603 +.L1616: add w0, w0, 1 uxth w0, w0 - b .L1601 -.L1614: + b .L1602 +.L1615: mov w24, 0 ldrh w26, [x21] mov w20, w24 adrp x27, .LANCHOR2 -.L1606: +.L1607: ldrh w0, [x19,10] cmp w0, w20 - bls .L1616 + bls .L1617 ldrh w0, [x19] uxtw x22, w20 cmp w0, w20 - bne .L1607 + bne .L1608 add x0, x27, :lo12:.LANCHOR2 ldrh w1, [x19,2] ldrh w0, [x0,820] cmp w1, w0 - bcs .L1607 + bcs .L1608 strh w0, [x21,x22,lsl 1] -.L1607: +.L1608: lsl x22, x22, 1 ldrh w23, [x21,x22] cmp w26, w23 - bls .L1608 + bls .L1609 mov w24, w20 mov w26, w23 -.L1608: - cbnz w23, .L1609 +.L1609: + cbnz w23, .L1610 ldrh w0, [x25,x22] - cbz w0, .L1609 + cbz w0, .L1610 mov w1, 1 bl FtlFreeSysBlkQueueIn strh w23, [x25,x22] ldrh w0, [x19,8] sub w0, w0, #1 strh w0, [x19,8] -.L1609: +.L1610: add w20, w20, 1 uxth w20, w20 - b .L1606 -.L1616: + b .L1607 +.L1617: mov w0, w24 ldr x27, [sp,80] ldp x19, x20, [sp,16] @@ -9992,12 +10001,12 @@ ftl_map_blk_alloc_new_blk: mov w20, 0 ldrh w2, [x0,10] ldr x1, [x0,16] -.L1618: +.L1619: cmp w20, w2 - beq .L1622 + beq .L1623 mov x22, x1 ldrh w21, [x1],2 - cbnz w21, .L1619 + cbnz w21, .L1620 mov x19, x0 bl FtlFreeSysBlkQueueOut strh w0, [x22] @@ -10005,15 +10014,15 @@ ftl_map_blk_alloc_new_blk: sub w2, w1, #1 mov w0, 65533 cmp w0, w2, uxth - bcs .L1620 + bcs .L1621 adrp x2, .LANCHOR2+1470 adrp x0, .LC37 add x0, x0, :lo12:.LC37 ldrh w2, [x2,#:lo12:.LANCHOR2+1470] bl printk +.L1622: + b .L1622 .L1621: - b .L1621 -.L1620: ldr w0, [x19,48] strh w21, [x19,2] add w0, w0, 1 @@ -10022,12 +10031,12 @@ ftl_map_blk_alloc_new_blk: strh w20, [x19] add w0, w0, 1 strh w0, [x19,8] - b .L1622 -.L1619: + b .L1623 +.L1620: add w20, w20, 1 uxth w20, w20 - b .L1618 -.L1622: + b .L1619 +.L1623: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -10051,12 +10060,12 @@ FtlMapWritePage: mov w24, w1 stp x27, x28, [sp,80] mov x25, x2 - cbnz w21, .L1625 + cbnz w21, .L1626 adrp x23, .LC38 mov w26, 65535 add x28, x22, 1408 add x23, x23, :lo12:.LC38 -.L1626: +.L1627: ldr w1, [x22,896] add w1, w1, 1 str w1, [x22,896] @@ -10064,14 +10073,14 @@ FtlMapWritePage: ldrh w0, [x19,2] sub w1, w1, #1 cmp w0, w1 - bge .L1627 + bge .L1628 ldrh w0, [x19] cmp w0, w26 - bne .L1628 -.L1627: + bne .L1629 +.L1628: mov x0, x19 bl Ftl_write_map_blk_to_last_page -.L1628: +.L1629: ldrh w1, [x19] mov w2, 16 ldr x0, [x19,16] @@ -10102,7 +10111,7 @@ FtlMapWritePage: strh w3, [x19,2] ldr w1, [x28] cmn w1, #1 - bne .L1629 + bne .L1630 ldr w1, [x28,4] mov x0, x23 add w21, w21, 1 @@ -10110,13 +10119,13 @@ FtlMapWritePage: uxth w21, w21 ldrh w0, [x19,2] cmp w0, 2 - bhi .L1630 + bhi .L1631 ldrh w1, [x22,820] sub w1, w1, #1 strh w1, [x19,2] -.L1630: +.L1631: cmp w21, 3 - bls .L1626 + bls .L1627 add x20, x20, :lo12:.LANCHOR2 adrp x0, .LC39 add x0, x0, :lo12:.LC39 @@ -10125,20 +10134,20 @@ FtlMapWritePage: bl printk mov w0, 1 str w0, [x20,1400] - b .L1625 -.L1629: - cbz w1, .L1632 + b .L1626 +.L1630: + cbz w1, .L1633 strh w27, [x19,60] -.L1632: +.L1633: cmp w3, 1 - beq .L1626 + beq .L1627 cmp w1, 256 - beq .L1626 + beq .L1627 add x20, x20, :lo12:.LANCHOR2 ldr x0, [x19,40] ldr w1, [x20,1412] str w1, [x0,w24,uxtw 2] -.L1625: +.L1626: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -10168,39 +10177,39 @@ ftl_map_blk_gc: ldrh w2, [x19,8] sub w1, w4, #4 cmp w2, w1 - bge .L1637 + bge .L1638 ldrh w2, [x19,60] mov w1, 65535 cmp w2, w1 - beq .L1639 + beq .L1640 add x1, x20, :lo12:.LANCHOR2 ldrh w2, [x19,2] ldrh w1, [x1,820] cmp w2, w1 - bcc .L1639 -.L1637: + bcc .L1640 +.L1638: ldrh w1, [x19,60] uxth w21, w0 mov w0, 65535 cmp w1, w0 - beq .L1641 + beq .L1642 add x0, x20, :lo12:.LANCHOR2 ldrh w3, [x19,2] ldrh w0, [x0,820] cmp w0, w3 - bhi .L1641 + bhi .L1642 mov x2, 0 -.L1642: +.L1643: uxth w0, w2 cmp w0, w4 - bcs .L1643 + bcs .L1644 add x2, x2, 1 add x5, x22, x2, lsl 1 ldrh w5, [x5,-2] cmp w5, w1 - bne .L1642 + bne .L1643 mov w21, w0 -.L1643: +.L1644: ubfiz x2, x0, 1, 16 adrp x0, .LC40 add x0, x0, :lo12:.LC40 @@ -10208,12 +10217,12 @@ ftl_map_blk_gc: bl printk mov w0, -1 strh w0, [x19,60] -.L1641: +.L1642: ubfiz x21, x21, 1, 16 ldrh w25, [x22,x21] - cbz w25, .L1639 + cbz w25, .L1640 ldr w0, [x19,52] - cbnz w0, .L1639 + cbnz w0, .L1640 mov w1, 1 str w1, [x19,52] strh w0, [x22,x21] @@ -10224,24 +10233,24 @@ ftl_map_blk_gc: add x0, x20, :lo12:.LANCHOR2 ldrh w0, [x0,820] cmp w1, w0 - bcc .L1645 + bcc .L1646 mov x0, x19 bl ftl_map_blk_alloc_new_blk -.L1645: +.L1646: add x24, x20, :lo12:.LANCHOR2 adrp x26, .LC41 mov w21, 0 add x22, x24, 1408 mov w27, 1 add x26, x26, :lo12:.LC41 -.L1646: +.L1647: ldrh w0, [x19,6] cmp w0, w21 - bls .L1656 + bls .L1657 ubfiz x28, x21, 2, 16 ldr w0, [x23,x28] cmp w25, w0, lsr 10 - bne .L1647 + bne .L1648 ldr x3, [x24,1112] mov w1, 1 ldr x0, [x24,1056] @@ -10256,37 +10265,37 @@ ftl_map_blk_gc: ldr w0, [x22] ldr x3, [x29,104] cmn w0, #1 - bne .L1648 + bne .L1649 str wzr, [x23,x28] mov x0, x26 ldr w1, [x22,4] ldrh w2, [x3,8] bl printk str w27, [x24,1400] - b .L1647 -.L1648: + b .L1648 +.L1649: ldr x2, [x22,8] mov x0, x19 mov w1, w21 bl FtlMapWritePage -.L1647: +.L1648: add w21, w21, 1 uxth w21, w21 - b .L1646 -.L1656: + b .L1647 +.L1657: mov w0, w25 mov w1, 1 bl FtlFreeSysBlkQueueIn str wzr, [x19,52] -.L1639: +.L1640: add x20, x20, :lo12:.LANCHOR2 ldrh w1, [x19,2] ldrh w0, [x20,820] cmp w1, w0 - bcc .L1650 + bcc .L1651 mov x0, x19 bl ftl_map_blk_alloc_new_blk -.L1650: +.L1651: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -10310,12 +10319,12 @@ Ftl_write_map_blk_to_last_page: ldr w20, [x1,1400] ldr x22, [x0,16] ldr x23, [x0,40] - cbnz w20, .L1658 + cbnz w20, .L1659 mov x19, x0 ldrh w0, [x0] mov w2, 65535 cmp w0, w2 - bne .L1659 + bne .L1660 ldrh w0, [x19,8] add w0, w0, 1 strh w0, [x19,8] @@ -10326,8 +10335,8 @@ Ftl_write_map_blk_to_last_page: strh w20, [x19] add w0, w0, 1 str w0, [x19,48] - b .L1658 -.L1659: + b .L1659 +.L1660: ubfiz x0, x0, 1, 16 ldr w2, [x19,48] ldrh w22, [x22,x0] @@ -10350,14 +10359,14 @@ Ftl_write_map_blk_to_last_page: lsl w2, w2, 3 bl ftl_memset mov w0, w20 -.L1660: +.L1661: ldrh w1, [x19,6] cmp w1, w0 - bls .L1663 + bls .L1664 ubfiz x3, x0, 2, 32 ldr w1, [x23,x3] cmp w22, w1, lsr 10 - bne .L1661 + bne .L1662 add x2, x21, :lo12:.LANCHOR2 add w20, w20, 1 uxth w20, w20 @@ -10368,11 +10377,11 @@ Ftl_write_map_blk_to_last_page: ldr w3, [x23,x3] add x1, x2, x1 str w3, [x1,4] -.L1661: +.L1662: add w0, w0, 1 uxth w0, w0 - b .L1660 -.L1663: + b .L1661 +.L1664: mov w1, 1 add x0, x21, :lo12:.LANCHOR2 add x0, x0, 1408 @@ -10384,7 +10393,7 @@ Ftl_write_map_blk_to_last_page: strh w0, [x19,2] mov x0, x19 bl ftl_map_blk_gc -.L1658: +.L1659: mov w0, 0 ldr x23, [sp,48] ldp x19, x20, [sp,16] @@ -10429,63 +10438,63 @@ select_l2p_ram_region: mov w5, 65535 ldrh w2, [x1,858] ldr x1, [x1,1264] -.L1666: +.L1667: uxth w0, w4 cmp w0, w2 - bcs .L1682 + bcs .L1683 add x4, x4, 1 add x6, x1, x4, lsl 4 ldrh w6, [x6,-16] cmp w6, w5 - bne .L1666 - b .L1667 -.L1682: + bne .L1667 + b .L1668 +.L1683: mov w0, w2 mov x4, 0 mov w7, -2147483648 -.L1669: +.L1670: uxth w6, w4 cmp w6, w2 - bcs .L1683 + bcs .L1684 add x5, x1, x4, lsl 4 ldr w5, [x5,4] - tbnz w5, #31, .L1678 + tbnz w5, #31, .L1679 cmp w5, w7 - bcc .L1670 -.L1678: + bcc .L1671 +.L1679: mov w5, w7 mov w6, w0 -.L1670: +.L1671: add x4, x4, 1 mov w7, w5 mov w0, w6 - b .L1669 -.L1683: + b .L1670 +.L1684: cmp w0, w2 - bcc .L1667 + bcc .L1668 add x0, x3, :lo12:.LANCHOR2 add x1, x1, 4 mov w4, -1 mov w3, 0 ldrh w5, [x0,3816] mov w0, w2 -.L1673: +.L1674: cmp w3, w2 - beq .L1667 + beq .L1668 ldr w7, [x1] cmp w7, w4 - bcs .L1674 + bcs .L1675 ldrh w6, [x1,-4] cmp w6, w5 csel w4, w4, w7, eq cmp w6, w5 csel w0, w0, w3, eq -.L1674: +.L1675: add w3, w3, 1 add x1, x1, 16 uxth w3, w3 - b .L1673 -.L1667: + b .L1674 +.L1668: ret .size select_l2p_ram_region, .-select_l2p_ram_region .align 2 @@ -10515,25 +10524,25 @@ log2phys: uxth w25, w28 mov x0, 0 uxth x23, w23 -.L1685: +.L1686: uxth x19, w0 cmp w19, w1 - bcs .L1699 + bcs .L1700 add x0, x0, 1 add x2, x20, x0, lsl 4 ldrh w2, [x2,-16] cmp w2, w25 - bne .L1685 -.L1686: - cbnz w27, .L1687 + bne .L1686 +.L1687: + cbnz w27, .L1688 add x0, x21, :lo12:.LANCHOR2 ldr x1, [x0,1264] add x1, x1, x19, lsl 4 ldr x0, [x1,8] ldr w0, [x0,x23,lsl 2] str w0, [x26] - b .L1688 -.L1687: + b .L1689 +.L1688: add x1, x21, :lo12:.LANCHOR2 lsl x0, x19, 4 ldr w3, [x26] @@ -10547,17 +10556,17 @@ log2phys: ldr w2, [x0,4] orr w2, w2, -2147483648 str w2, [x0,4] -.L1688: +.L1689: add x21, x21, :lo12:.LANCHOR2 ldr x0, [x21,1264] add x19, x0, x19, lsl 4 ldr w0, [x19,4] cmn w0, #1 - beq .L1696 + beq .L1697 add w0, w0, 1 str w0, [x19,4] - b .L1696 -.L1699: + b .L1697 +.L1700: bl select_l2p_ram_region uxth x19, w0 ubfiz x22, x19, 4, 16 @@ -10565,16 +10574,16 @@ log2phys: add x1, x20, x22 ldrh w3, [x20,x22] cmp w3, w2 - beq .L1691 + beq .L1692 ldr w1, [x1,4] - tbz w1, #31, .L1691 + tbz w1, #31, .L1692 bl flush_l2p_region -.L1691: +.L1692: add x20, x21, :lo12:.LANCHOR2 ubfiz x0, x25, 2, 16 ldr x1, [x20,1240] ldr w24, [x1,x0] - cbnz w24, .L1692 + cbnz w24, .L1693 ldr x0, [x20,1264] mov w1, 255 ldrh w2, [x20,828] @@ -10586,8 +10595,8 @@ log2phys: ldr x0, [x20,1264] add x22, x0, x22 str w24, [x22,4] - b .L1686 -.L1692: + b .L1687 +.L1693: ldr x1, [x20,1264] add x0, x20, 1408 str w24, [x0,4] @@ -10601,7 +10610,7 @@ log2phys: bl FlashReadPages ldr w0, [x20,1408] cmp w0, 256 - bne .L1693 + bne .L1694 and w28, w28, 65535 adrp x0, .LC42 mov w2, w24 @@ -10616,15 +10625,15 @@ log2phys: add x2, x2, x22 ldr x2, [x2,8] bl FtlMapWritePage -.L1693: +.L1694: add x1, x21, :lo12:.LANCHOR2 ldr x0, [x1,1264] add x0, x0, x22 str wzr, [x0,4] ldr x0, [x1,1264] strh w25, [x0,x22] - b .L1686 -.L1696: + b .L1687 +.L1697: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -10655,12 +10664,12 @@ FtlVendorPartWrite: mov x24, x2 ldrh w23, [x19,826] mov w21, -1 - bhi .L1701 + bhi .L1702 lsr w23, w25, w23 mov w21, 0 add x27, x19, 3824 -.L1702: - cbz w22, .L1701 +.L1703: + cbz w22, .L1702 ldrh w1, [x19,824] ldr x0, [x19,1232] udiv w26, w25, w1 @@ -10672,8 +10681,8 @@ FtlVendorPartWrite: cmp w20, w22 csel w20, w0, w20, hi cmp w20, w1 - beq .L1704 - cbz w2, .L1704 + beq .L1705 + cbz w2, .L1705 ldr x0, [x19,1064] mov w1, 1 str w2, [x29,108] @@ -10682,13 +10691,13 @@ FtlVendorPartWrite: add x0, x29, 104 str xzr, [x29,120] bl FlashReadPages - b .L1705 -.L1704: + b .L1706 +.L1705: ldr x0, [x19,1064] mov w1, 0 ldrh w2, [x19,828] bl ftl_memset -.L1705: +.L1706: ldr x0, [x19,1064] lsl w28, w20, 9 ubfiz x26, x26, 9, 16 @@ -10706,8 +10715,8 @@ FtlVendorPartWrite: bl FtlMapWritePage cmn w0, #1 csinv w21, w21, wzr, ne - b .L1702 -.L1701: + b .L1703 +.L1702: mov w0, w21 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -10738,7 +10747,7 @@ FtlVendorPartRead: ldrh w20, [x3,826] cmp w2, w1 mov w0, -1 - bhi .L1716 + bhi .L1717 adrp x26, .LC43 add x0, x3, 3824 lsr w20, w23, w20 @@ -10746,8 +10755,8 @@ FtlVendorPartRead: mov x28, x3 add x26, x26, :lo12:.LC43 str x0, [x29,104] -.L1717: - cbz w22, .L1725 +.L1718: + cbz w22, .L1726 ldrh w19, [x28,824] ldr x0, [x28,1232] udiv w24, w23, w19 @@ -10759,7 +10768,7 @@ FtlVendorPartRead: cmp w19, w22 csel w19, w0, w19, hi lsl w27, w19, 9 - cbz w4, .L1719 + cbz w4, .L1720 ldr x0, [x28,1064] mov w1, 1 str x0, [x29,128] @@ -10775,7 +10784,7 @@ FtlVendorPartRead: ldr w0, [x28,1408] csinv w21, w21, wzr, ne cmp w0, 256 - bne .L1721 + bne .L1722 mov w1, w20 mov w2, w4 mov x0, x26 @@ -10784,28 +10793,28 @@ FtlVendorPartRead: mov w1, w20 ldr x2, [x28,1064] bl FtlMapWritePage -.L1721: +.L1722: ldr x1, [x28,1064] ubfiz x24, x24, 9, 16 mov x0, x25 mov w2, w27 add x1, x1, x24 bl ftl_memcpy - b .L1722 -.L1719: + b .L1723 +.L1720: mov x0, x25 mov w1, w4 mov w2, w27 bl ftl_memset -.L1722: +.L1723: add w20, w20, 1 sub w22, w22, w19 add w23, w23, w19 add x25, x25, x27, sxtw - b .L1717 -.L1725: + b .L1718 +.L1726: mov w0, w21 -.L1716: +.L1717: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -10843,13 +10852,13 @@ FtlUpdateVaildLpn: adrp x1, .LANCHOR2 add x3, x1, :lo12:.LANCHOR2 ldrh w2, [x3,3888] - cbnz w0, .L1729 + cbnz w0, .L1730 cmp w2, 4 - bhi .L1729 + bhi .L1730 add w2, w2, 1 strh w2, [x3,3888] - b .L1728 -.L1729: + b .L1729 +.L1730: add x0, x1, :lo12:.LANCHOR2 mov w7, 65535 strh wzr, [x0,3888] @@ -10857,20 +10866,20 @@ FtlUpdateVaildLpn: ldrh w5, [x0,756] ldr x6, [x0,1184] mov x0, 0 -.L1730: +.L1731: cmp w5, w0, uxth - bls .L1728 + bls .L1729 ldrh w4, [x6,x0,lsl 1] cmp w4, w7 - beq .L1731 + beq .L1732 add x3, x1, :lo12:.LANCHOR2 ldr w2, [x3,3892] add w2, w4, w2 str w2, [x3,3892] -.L1731: +.L1732: add x0, x0, 1 - b .L1730 -.L1728: + b .L1731 +.L1729: ret .size FtlUpdateVaildLpn, .-FtlUpdateVaildLpn .align 2 @@ -10884,13 +10893,13 @@ FtlMapBlkWriteDumpData: ldr w1, [x0,56] ldrh w19, [x0,6] ldr x4, [x0,40] - cbz w1, .L1734 + cbz w1, .L1735 adrp x1, .LANCHOR2 str wzr, [x0,56] add x2, x1, :lo12:.LANCHOR2 mov x21, x1 ldr w3, [x2,1400] - cbnz w3, .L1734 + cbnz w3, .L1735 mov x20, x0 sub w19, w19, #1 add x0, x2, 1408 @@ -10902,23 +10911,23 @@ FtlMapBlkWriteDumpData: str x1, [x0,8] ldr w3, [x4,x3] str w3, [x0,4] - cbz w3, .L1738 + cbz w3, .L1739 mov w1, 1 mov w2, w1 bl FlashReadPages - b .L1739 -.L1738: + b .L1740 +.L1739: ldrh w2, [x2,828] mov x0, x1 mov w1, 255 bl ftl_memset -.L1739: +.L1740: add x2, x21, :lo12:.LANCHOR2 mov x0, x20 mov w1, w19 ldr x2, [x2,1416] bl FtlMapWritePage -.L1734: +.L1735: ldp x19, x20, [sp,16] ldr x21, [sp,32] ldp x29, x30, [sp], 48 @@ -10937,7 +10946,7 @@ FtlVpcTblFlush: add x19, x22, :lo12:.LANCHOR2 stp x23, x24, [sp,48] ldr w0, [x19,1400] - cbnz w0, .L1742 + cbnz w0, .L1743 ldr x21, [x19,1112] add x20, x19, 3520 ldr x1, [x19,1048] @@ -11017,7 +11026,7 @@ FtlVpcTblFlush: ldr x1, [x1,#:lo12:.LANCHOR0+16] bl ftl_memcpy ldrh w0, [x19,860] - cbz w0, .L1743 + cbz w0, .L1744 ldrh w0, [x19,756] ldrh w2, [x19,856] lsr w1, w0, 3 @@ -11029,14 +11038,14 @@ FtlVpcTblFlush: add x0, x1, x0 ldr x1, [x19,1240] bl ftl_memcpy -.L1743: +.L1744: add x19, x22, :lo12:.LANCHOR2 mov w0, 0 mov w23, 0 mov w25, 65535 add x20, x19, 1408 bl FtlUpdateVaildLpn -.L1744: +.L1745: ldr x0, [x19,1048] str x0, [x20,8] ldr x0, [x19,1112] @@ -11054,7 +11063,7 @@ FtlVpcTblFlush: ldrh w1, [x19,3898] sub w0, w0, #1 cmp w1, w0 - blt .L1745 + blt .L1746 ldrh w0, [x19,3896] ldrh w25, [x19,3900] strh wzr, [x19,3898] @@ -11074,24 +11083,24 @@ FtlVpcTblFlush: mov w3, w1 mov x0, x20 bl FlashProgPages -.L1745: +.L1746: ldrh w1, [x19,3898] ldr w2, [x20] add w1, w1, 1 cmn w2, #1 uxth w1, w1 strh w1, [x19,3898] - bne .L1746 - cmp w1, 1 bne .L1747 + cmp w1, 1 + bne .L1748 ldrh w1, [x19,820] sub w1, w1, #1 strh w1, [x19,3898] -.L1747: +.L1748: add w23, w23, 1 uxth w23, w23 cmp w23, 3 - bls .L1744 + bls .L1745 add x22, x22, :lo12:.LANCHOR2 adrp x0, .LC44 add x0, x0, :lo12:.LC44 @@ -11100,19 +11109,19 @@ FtlVpcTblFlush: bl printk mov w0, 1 str w0, [x22,1400] - b .L1742 -.L1746: + b .L1743 +.L1747: cmp w1, 1 - beq .L1744 + beq .L1745 cmp w2, 256 - beq .L1744 + beq .L1745 mov w0, 65535 cmp w25, w0 - beq .L1742 + beq .L1743 mov w0, w25 mov w1, 1 bl FtlFreeSysBlkQueueIn -.L1742: +.L1743: mov w0, 0 ldr x25, [sp,64] ldp x19, x20, [sp,16] @@ -11163,19 +11172,19 @@ FtlScanSysBlk: mov w2, 12 bl ftl_memset ldrh w21, [x20,756] -.L1754: +.L1755: add x1, x19, :lo12:.LANCHOR2 ldrh w0, [x1,758] cmp w0, w21 - bls .L1795 + bls .L1796 mov x27, 0 ldrh w3, [x1,748] ldrh w2, [x1,830] mov w20, w27 mov x23, x1 -.L1796: +.L1797: cmp w3, w27, uxth - bls .L1829 + bls .L1830 add x0, x23, 776 mov w1, w21 str x2, [x29,112] @@ -11186,7 +11195,7 @@ FtlScanSysBlk: bl FtlBbmIsBadBlock ldr x3, [x29,120] ldr x2, [x29,112] - cbnz w0, .L1755 + cbnz w0, .L1756 mov w0, 56 ldr x1, [x23,992] lsl w28, w28, 10 @@ -11205,11 +11214,11 @@ FtlScanSysBlk: ldr x4, [x23,1128] add x1, x4, x1, sxtw 2 str x1, [x0,16] -.L1755: +.L1756: add x27, x27, 1 - b .L1796 -.L1829: - cbz w20, .L1758 + b .L1797 +.L1830: + cbz w20, .L1759 add x0, x19, :lo12:.LANCHOR2 mov w1, w20 mov w2, 1 @@ -11218,9 +11227,9 @@ FtlScanSysBlk: adrp x28, .LANCHOR0 ldr x0, [x0,992] bl FlashReadPages -.L1759: +.L1760: cmp w20, w23, uxth - bls .L1758 + bls .L1759 add x0, x19, :lo12:.LANCHOR2 mul x5, x23, x26 ldr x0, [x0,992] @@ -11230,9 +11239,9 @@ FtlScanSysBlk: cmn w0, #1 ldr x25, [x1,16] ubfx x24, x4, 10, 16 - bne .L1761 + bne .L1762 mov w6, 16 -.L1760: +.L1761: add x7, x19, :lo12:.LANCHOR2 str x6, [x29,104] str x7, [x29,112] @@ -11253,44 +11262,44 @@ FtlScanSysBlk: ldr x5, [x29,120] ldr x6, [x29,104] ldr x0, [x7,992] - bne .L1762 + bne .L1763 str w27, [x0,x5] - b .L1761 -.L1762: + b .L1762 +.L1763: ldr w0, [x0,x5] cmn w0, #1 - bne .L1761 + bne .L1762 sub w6, w6, #1 uxth w6, w6 - cbnz w6, .L1760 -.L1761: + cbnz w6, .L1761 +.L1762: add x0, x19, :lo12:.LANCHOR2 ldr x1, [x0,992] ldr w1, [x1,x5] cmn w1, #1 - beq .L1764 + beq .L1765 ldr w0, [x0,872] cmn w0, #1 - beq .L1765 + beq .L1766 ldr w1, [x25,4] cmp w0, w1 - bhi .L1766 -.L1765: + bhi .L1767 +.L1766: ldr w0, [x25,4] cmn w0, #1 - beq .L1766 + beq .L1767 add x1, x19, :lo12:.LANCHOR2 add w0, w0, 1 str w0, [x1,872] -.L1766: +.L1767: ldrh w0, [x25] mov w1, 61604 cmp w0, w1 - beq .L1768 - bhi .L1769 + beq .L1769 + bhi .L1770 mov w1, 61574 cmp w0, w1 - bne .L1767 + bne .L1768 add x5, x19, :lo12:.LANCHOR2 ldrh w6, [x5,840] ldrh w0, [x5,1392] @@ -11298,16 +11307,16 @@ FtlScanSysBlk: ldr x5, [x5,1224] sxth x1, w2 sub w2, w2, w0 - b .L1782 -.L1769: + b .L1783 +.L1770: mov w1, 61634 cmp w0, w1 - beq .L1771 + beq .L1772 cmp w0, w22 - bne .L1767 + bne .L1768 mov w0, w24 - b .L1828 -.L1771: + b .L1829 +.L1772: add x5, x19, :lo12:.LANCHOR2 ldr w6, [x5,848] ldrh w0, [x5,3908] @@ -11318,27 +11327,27 @@ FtlScanSysBlk: sub w2, w2, #1 sxth x1, w1 sxth w2, w2 -.L1773: +.L1774: cmp w1, w2 - ble .L1830 + ble .L1831 sbfiz x7, x1, 2, 32 ldr w10, [x25,4] sxth x8, w1 ldr w9, [x5,x7] cmp w10, w9 - bls .L1774 + bls .L1775 ldr w2, [x5] - cbnz w2, .L1775 + cbnz w2, .L1776 cmp w0, w6 - beq .L1775 + beq .L1776 add x2, x19, :lo12:.LANCHOR2 add w0, w0, 1 strh w0, [x2,3908] -.L1775: - mov w0, 0 .L1776: + mov w0, 0 +.L1777: cmp w0, w1 - beq .L1831 + beq .L1832 add x5, x19, :lo12:.LANCHOR2 sxtw x2, w0 lsl x6, x2, 2 @@ -11353,31 +11362,31 @@ FtlScanSysBlk: add x6, x5, x2 ldrh w6, [x6,2] strh w6, [x5,x2] - b .L1776 -.L1831: + b .L1777 +.L1832: add x2, x19, :lo12:.LANCHOR2 ldr w5, [x25,4] ldr x0, [x2,1256] str w5, [x0,x7] ldr x0, [x2,1192] strh w24, [x0,x8,lsl 1] - tbz w1, #31, .L1778 - b .L1767 -.L1774: + tbz w1, #31, .L1779 + b .L1768 +.L1775: sub w1, w1, #1 sxth x1, w1 - b .L1773 -.L1830: - tbz w1, #31, .L1811 - b .L1767 -.L1778: + b .L1774 +.L1831: + tbz w1, #31, .L1812 + b .L1768 +.L1779: ldrh w0, [x2,3908] ldr w2, [x2,848] sub w2, w2, w0 sub w2, w2, #1 cmp w1, w2, sxth - bgt .L1767 -.L1811: + bgt .L1768 +.L1812: add x2, x19, :lo12:.LANCHOR2 add w0, w0, 1 ldr w3, [x25,4] @@ -11385,33 +11394,33 @@ FtlScanSysBlk: ldr x0, [x2,1256] str w3, [x0,x1,lsl 2] ldr x0, [x2,1192] - b .L1827 -.L1788: + b .L1828 +.L1789: sbfiz x7, x1, 2, 32 ldr w10, [x25,4] sxth x8, w1 ldr w9, [x5,x7] cmp w10, w9 - bhi .L1832 + bhi .L1833 sub w1, w1, #1 sxth x1, w1 -.L1782: +.L1783: cmp w1, w2 - bgt .L1788 - b .L1787 -.L1832: + bgt .L1789 + b .L1788 +.L1833: ldr w2, [x5] - cbnz w2, .L1784 + cbnz w2, .L1785 cmp w0, w6 - beq .L1784 + beq .L1785 add x2, x19, :lo12:.LANCHOR2 add w0, w0, 1 strh w0, [x2,1392] -.L1784: - mov w0, 0 .L1785: + mov w0, 0 +.L1786: cmp w0, w1 - beq .L1833 + beq .L1834 add x5, x19, :lo12:.LANCHOR2 sxtw x2, w0 lsl x6, x2, 2 @@ -11426,105 +11435,105 @@ FtlScanSysBlk: add x6, x5, x2 ldrh w6, [x6,2] strh w6, [x5,x2] - b .L1785 -.L1833: + b .L1786 +.L1834: add x0, x19, :lo12:.LANCHOR2 ldr w5, [x25,4] ldr x2, [x0,1224] str w5, [x2,x7] ldr x0, [x0,1208] strh w24, [x0,x8,lsl 1] -.L1787: - tbnz w1, #31, .L1767 +.L1788: + tbnz w1, #31, .L1768 add x0, x19, :lo12:.LANCHOR2 ldrh w2, [x0,840] ldrh w5, [x0,1392] sub w2, w2, #1 sub w2, w2, w5 cmp w1, w2, sxth - bgt .L1767 + bgt .L1768 ldr x2, [x0,1224] add w5, w5, 1 ldr w3, [x25,4] strh w5, [x0,1392] str w3, [x2,x1,lsl 2] ldr x0, [x0,1208] -.L1827: +.L1828: strh w24, [x0,x1,lsl 1] - b .L1767 -.L1768: + b .L1768 +.L1769: add x0, x19, :lo12:.LANCHOR2 add x1, x0, 3896 ldrh w2, [x0,3896] cmp w2, w22 - bne .L1789 + bne .L1790 strh w24, [x0,3896] ldr w0, [x25,4] str w0, [x1,8] - b .L1767 -.L1789: + b .L1768 +.L1790: ldrh w0, [x1,4] cmp w0, w22 - beq .L1790 + beq .L1791 mov w1, 1 bl FtlFreeSysBlkQueueIn -.L1790: +.L1791: add x1, x19, :lo12:.LANCHOR2 ldr w2, [x25,4] add x0, x1, 3896 ldr w5, [x0,8] cmp w5, w2 - bcs .L1791 + bcs .L1792 ldrh w2, [x1,3896] strh w2, [x0,4] strh w24, [x1,3896] ldr w1, [x25,4] str w1, [x0,8] - b .L1767 -.L1791: + b .L1768 +.L1792: strh w24, [x0,4] - b .L1767 -.L1764: + b .L1768 +.L1765: add x0, x28, :lo12:.LANCHOR0 ldrb w1, [x0,136] mov w0, w24 - cbz w1, .L1792 -.L1828: + cbz w1, .L1793 +.L1829: mov w1, 0 -.L1792: +.L1793: bl FtlFreeSysBlkQueueIn -.L1767: +.L1768: add x23, x23, 1 - b .L1759 -.L1758: + b .L1760 +.L1759: add w21, w21, 1 uxth w21, w21 - b .L1754 -.L1795: + b .L1755 +.L1796: ldr x2, [x1,1192] ldrh w0, [x2] - cbz w0, .L1797 -.L1800: + cbz w0, .L1798 +.L1801: add x1, x19, :lo12:.LANCHOR2 ldr x2, [x1,1208] ldrh w0, [x2] - cbz w0, .L1798 - b .L1821 -.L1797: + cbz w0, .L1799 + b .L1822 +.L1798: ldrh w3, [x1,3908] - cbz w3, .L1800 + cbz w3, .L1801 ldr w1, [x1,848] -.L1801: +.L1802: cmp w0, w1 - bcs .L1800 + bcs .L1801 ldrh w3, [x2,w0,sxtw 1] - cbz w3, .L1802 + cbz w3, .L1803 mov w6, w0 -.L1803: +.L1804: add x1, x19, :lo12:.LANCHOR2 ldr w2, [x1,848] cmp w0, w2 - bcs .L1800 + bcs .L1801 sxtw x5, w0 sub w2, w0, w6 ldr x4, [x1,1192] @@ -11539,26 +11548,26 @@ FtlScanSysBlk: str w5, [x4,x2,lsl 2] ldr x1, [x1,1192] strh wzr, [x1,x3] - b .L1803 -.L1802: + b .L1804 +.L1803: add w0, w0, 1 sxth w0, w0 - b .L1801 -.L1798: + b .L1802 +.L1799: ldrh w3, [x1,1392] - cbz w3, .L1821 + cbz w3, .L1822 ldrh w1, [x1,840] -.L1806: +.L1807: cmp w0, w1 mov w6, w0 - bge .L1821 + bge .L1822 ldrh w3, [x2,w0,sxtw 1] - cbz w3, .L1807 -.L1808: + cbz w3, .L1808 +.L1809: add x1, x19, :lo12:.LANCHOR2 ldrh w2, [x1,840] cmp w0, w2 - bge .L1821 + bge .L1822 sxtw x5, w0 sub w2, w0, w6 ldr x4, [x1,1208] @@ -11573,12 +11582,12 @@ FtlScanSysBlk: str w5, [x4,x2,lsl 2] ldr x1, [x1,1208] strh wzr, [x1,x3] - b .L1808 -.L1807: + b .L1809 +.L1808: add w0, w0, 1 sxth w0, w0 - b .L1806 -.L1821: + b .L1807 +.L1822: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -11606,7 +11615,7 @@ FtlLoadEctTbl: mov w0, 17221 movk w0, 0x4254, lsl 16 cmp w1, w0 - beq .L1835 + beq .L1836 adrp x0, .LC45 adrp x1, .LC46 add x1, x1, :lo12:.LC46 @@ -11617,7 +11626,7 @@ FtlLoadEctTbl: ldr x0, [x19,1160] lsl w2, w2, 9 bl ftl_memset -.L1835: +.L1836: mov w0, 0 ldr x19, [sp,16] ldp x29, x30, [sp], 32 @@ -11630,10 +11639,10 @@ ftl_set_blk_mode: stp x29, x30, [sp, -16]! uxth w0, w0 add x29, sp, 0 - cbz w1, .L1837 + cbz w1, .L1838 bl ftl_set_blk_mode.part.17 - b .L1836 -.L1837: + b .L1837 +.L1838: adrp x1, .LANCHOR0+16 ubfx x2, x0, 5, 11 lsl x2, x2, 2 @@ -11643,7 +11652,7 @@ ftl_set_blk_mode: ldr w1, [x3,x2] bic w0, w1, w0 str w0, [x3,x2] -.L1836: +.L1837: ldp x29, x30, [sp], 16 ret .size ftl_set_blk_mode, .-ftl_set_blk_mode @@ -11703,14 +11712,14 @@ FtlMapTblRecovery: ldr w0, [x29,116] sub w0, w0, #1 str w0, [x29,112] -.L1841: +.L1842: ldr w0, [x29,116] cmp w26, w0 - bge .L1858 + bge .L1859 ldr w0, [x29,112] sxtw x28, w26 cmp w26, w0 - bne .L1842 + bne .L1843 lsl x0, x28, 1 mov w1, 1 add x24, x22, x0 @@ -11726,9 +11735,9 @@ FtlMapTblRecovery: ldr w0, [x25,x28,lsl 2] mov w25, 0 str w0, [x19,48] -.L1843: +.L1844: cmp w25, w27 - bge .L1858 + bge .L1859 ldrh w0, [x24] mov w1, 1 mov w2, w1 @@ -11738,33 +11747,33 @@ FtlMapTblRecovery: bl FlashReadPages ldr w0, [x26] cmn w0, #1 - beq .L1844 + beq .L1845 ldrh w0, [x20,8] cmp w0, w23 - bcs .L1845 + bcs .L1846 ldrh w2, [x20] ldrh w1, [x19,4] cmp w2, w1 - bne .L1845 + bne .L1846 ubfiz x0, x0, 2, 16 ldr x2, [x29,120] ldr w1, [x26,4] str w1, [x2,x0] - b .L1845 -.L1844: + b .L1846 +.L1845: ldrh w0, [x24] strh w0, [x19,60] -.L1845: +.L1846: add w25, w25, 1 sxth w25, w25 - b .L1843 -.L1858: + b .L1844 +.L1859: add x20, x21, :lo12:.LANCHOR2 add x0, x20, 3752 cmp x19, x0 - bne .L1848 - b .L1885 -.L1842: + bne .L1849 + b .L1886 +.L1843: ldr x0, [x27,1048] lsl x1, x28, 1 str x0, [x24,8] @@ -11780,41 +11789,41 @@ FtlMapTblRecovery: bl FlashReadPages ldr w0, [x24] cmn w0, #1 - beq .L1872 + beq .L1873 ldrh w1, [x20] mov w3, 0 ldrh w0, [x19,4] cmp w1, w0 - bne .L1882 + bne .L1883 ldrh w0, [x20,8] mov w1, 64245 cmp w0, w1 - bne .L1882 -.L1850: + bne .L1883 +.L1851: ldrh w0, [x27,820] sub w0, w0, #1 cmp w3, w0 - bge .L1853 + bge .L1854 ldr x0, [x27,1048] sbfiz x2, x3, 3, 32 ldrh w1, [x0,x2] cmp w1, w23 - bcs .L1851 + bcs .L1852 add x2, x0, x2 ubfiz x1, x1, 2, 16 ldr w0, [x2,4] ldr x2, [x29,120] str w0, [x2,x1] -.L1851: +.L1852: add w3, w3, 1 sxth w3, w3 - b .L1850 -.L1872: + b .L1851 +.L1873: mov w3, 0 -.L1882: +.L1883: ldrh w0, [x27,820] cmp w3, w0 - bge .L1853 + bge .L1854 ldrh w0, [x28] mov w1, 1 mov w2, w1 @@ -11826,63 +11835,63 @@ FtlMapTblRecovery: ldr w0, [x24] ldr x3, [x29,104] cmn w0, #1 - beq .L1854 + beq .L1855 ldrh w1, [x20,8] cmp w1, w23 - bcs .L1854 + bcs .L1855 ldrh w2, [x20] ldrh w0, [x19,4] cmp w2, w0 - bne .L1854 + bne .L1855 ubfiz x1, x1, 2, 16 ldr x2, [x29,120] ldr w0, [x24,4] str w0, [x2,x1] -.L1854: +.L1855: add w3, w3, 1 sxth w3, w3 - b .L1882 -.L1853: + b .L1883 +.L1854: add w4, w26, 1 sxth w26, w4 - b .L1841 -.L1870: + b .L1842 +.L1871: ubfiz x23, x24, 2, 32 ldr x0, [x20,1248] ldr w1, [x0,x23] sub w2, w1, #1 cmn w2, #3 - bls .L1886 -.L1863: + bls .L1887 +.L1864: add w24, w24, 1 -.L1861: +.L1862: ldrh w0, [x20,856] cmp w24, w0 - bcc .L1870 -.L1848: + bcc .L1871 +.L1849: mov x0, x19 add x21, x21, :lo12:.LANCHOR2 bl ftl_free_no_use_map_blk ldrh w1, [x19,2] ldrh w0, [x21,820] cmp w1, w0 - bne .L1860 + bne .L1861 mov x0, x19 bl ftl_map_blk_alloc_new_blk - b .L1860 -.L1885: + b .L1861 +.L1886: ldrh w0, [x20,860] - cbz w0, .L1848 + cbz w0, .L1849 adrp x25, .LC47 mov w24, 0 add x27, x20, 1408 add x25, x25, :lo12:.LC47 - b .L1861 -.L1886: + b .L1862 +.L1887: ldr x2, [x20,1240] ldr w2, [x2,x23] cmp w1, w2 - beq .L1863 + beq .L1864 ldr x1, [x20,1048] ldr x26, [x20,1112] str x1, [x27,8] @@ -11895,30 +11904,30 @@ FtlMapTblRecovery: bl FlashReadPages ldr w0, [x27] cmn w0, #1 - beq .L1863 + beq .L1864 ldrh w1, [x26] ldrh w0, [x20,3756] cmp w1, w0 - bne .L1863 + bne .L1864 ldr x0, [x20,1240] ldr w3, [x26,4] ldr w1, [x0,x23] str w1, [x27,4] ldr w0, [x0,x23] - cbnz w0, .L1865 + cbnz w0, .L1866 str w0, [x26,4] - b .L1866 -.L1865: + b .L1867 +.L1866: mov w1, 1 mov x0, x27 mov w2, w1 str x3, [x29,120] bl FlashReadPages ldr x3, [x29,120] -.L1866: +.L1867: ldr w4, [x26,4] cmp w3, w4 - bls .L1863 + bls .L1864 ldr x1, [x20,1248] mov x0, x25 ldr x2, [x20,1240] @@ -11934,19 +11943,19 @@ FtlMapTblRecovery: ldrh w3, [x20,3908] ldr w2, [x0,x23] ubfx x2, x2, 10, 16 -.L1867: +.L1868: cmp w1, w3 - bge .L1887 + bge .L1888 ldrh w0, [x22,w1,sxtw 1] cmp w0, w2 - beq .L1863 + beq .L1864 add w1, w1, 1 sxth w1, w1 - b .L1867 -.L1887: + b .L1868 +.L1888: ldr w0, [x20,848] cmp w3, w0 - bcs .L1863 + bcs .L1864 ubfiz x3, x3, 1, 16 strh w2, [x22,x3] ldrh w0, [x20,3908] @@ -11954,8 +11963,8 @@ FtlMapTblRecovery: strh w0, [x20,3908] mov w0, w2 bl remove_from_free_sys_Queue - b .L1863 -.L1860: + b .L1864 +.L1861: mov x0, x19 bl ftl_map_blk_gc mov x0, x19 @@ -12023,11 +12032,11 @@ FtlL2PDataInit: bl ftl_memset mov w2, 0 mov w4, -1 -.L1890: +.L1891: add x0, x20, :lo12:.LANCHOR2 ldrh w1, [x0,858] cmp w1, w2 - bls .L1892 + bls .L1893 ldr x3, [x0,1264] ubfiz x1, x2, 4, 16 add x3, x3, x1 @@ -12045,8 +12054,8 @@ FtlL2PDataInit: and x1, x1, -4 add x0, x0, x1 str x0, [x3,8] - b .L1890 -.L1892: + b .L1891 +.L1893: ldr w3, [x0,848] add x1, x0, 3752 strh w3, [x0,3762] @@ -12098,41 +12107,41 @@ ftl_sb_update_avl_pages: strh wzr, [x0,4] mov w6, 65535 ldrh w4, [x4,748] -.L1895: +.L1896: cmp w2, w4 - bcs .L1901 + bcs .L1902 add x5, x0, x2, sxtw 1 ldrh w5, [x5,16] cmp w5, w6 - beq .L1896 + beq .L1897 ldrh w5, [x0,4] add w5, w5, 1 strh w5, [x0,4] -.L1896: +.L1897: add w2, w2, 1 uxth w2, w2 - b .L1895 -.L1901: + b .L1896 +.L1902: add x3, x3, :lo12:.LANCHOR2 mov w6, 65535 add x4, x0, x4, uxth 1 ldrh w5, [x3,818] mov x3, x0 -.L1898: +.L1899: cmp x3, x4 - beq .L1902 + beq .L1903 ldrh w2, [x3,16] cmp w2, w6 - beq .L1899 + beq .L1900 ldrh w2, [x0,4] add w2, w5, w2 sub w2, w2, #1 sub w2, w2, w1 strh w2, [x0,4] -.L1899: +.L1900: add x3, x3, 2 - b .L1898 -.L1902: + b .L1899 +.L1903: ret .size ftl_sb_update_avl_pages, .-ftl_sb_update_avl_pages .align 2 @@ -12153,9 +12162,9 @@ FtlReUsePrevPpa: ubfiz x22, x0, 1, 16 ldr x3, [x2,1184] ldrh w1, [x3,x22] - cbnz w1, .L1904 + cbnz w1, .L1905 ldr x19, [x2,3592] - cbz x19, .L1905 + cbz x19, .L1906 ldrh w3, [x2,3600] mov x4, -6148914691236517206 ldr x2, [x2,1280] @@ -12165,11 +12174,11 @@ FtlReUsePrevPpa: madd x19, x4, x19, x19 mov w4, 6 uxth w19, w19 -.L1906: +.L1907: cmp w1, w3 - beq .L1905 + beq .L1906 cmp w19, w0 - bne .L1907 + bne .L1908 add x21, x21, :lo12:.LANCHOR2 mov w1, w19 add x0, x21, 3592 @@ -12183,19 +12192,19 @@ FtlReUsePrevPpa: ldrh w0, [x1,x22] add w0, w0, 1 strh w0, [x1,x22] - b .L1905 -.L1907: + b .L1906 +.L1908: umull x19, w19, w4 ldrh w19, [x2,x19] cmp w19, w5 - beq .L1905 + beq .L1906 add w1, w1, 1 uxth w1, w1 - b .L1906 -.L1904: + b .L1907 +.L1905: add w1, w1, 1 strh w1, [x3,x22] -.L1905: +.L1906: add x1, x29, 60 mov w0, w20 mov w2, 1 @@ -12226,9 +12235,9 @@ make_superblock: mov x23, x1 mov w25, -1 ldrh w24, [x1,748] -.L1913: +.L1914: cmp w24, w21, uxth - bls .L1924 + bls .L1925 add x0, x23, 776 ldrh w1, [x19] ldrb w0, [x0,x21] @@ -12236,16 +12245,16 @@ make_superblock: strh w25, [x22] mov w26, w0 bl FtlBbmIsBadBlock - cbnz w0, .L1914 + cbnz w0, .L1915 strh w26, [x22] ldrb w0, [x19,7] add w0, w0, 1 strb w0, [x19,7] -.L1914: +.L1915: add x21, x21, 1 add x22, x22, 2 - b .L1913 -.L1924: + b .L1914 +.L1925: add x0, x20, :lo12:.LANCHOR2 ldrb w1, [x19,7] strb wzr, [x19,9] @@ -12253,21 +12262,21 @@ make_superblock: mul w1, w1, w2 strh w1, [x19,4] ldr w1, [x0,652] - cbz w1, .L1916 + cbz w1, .L1917 ldrh w1, [x19] ldr x0, [x0,1168] ldrh w0, [x0,x1,lsl 1] cmp w0, 59 - bhi .L1916 - mov w0, 1 - strb w0, [x19,9] -.L1916: - adrp x0, .LANCHOR0+24 - ldrb w0, [x0,#:lo12:.LANCHOR0+24] - cbz w0, .L1917 + bhi .L1917 mov w0, 1 strb w0, [x19,9] .L1917: + adrp x0, .LANCHOR0+24 + ldrb w0, [x0,#:lo12:.LANCHOR0+24] + cbz w0, .L1918 + mov w0, 1 + strb w0, [x19,9] +.L1918: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -12300,19 +12309,19 @@ FtlLoadSysInfo: ldrh w0, [x20,3896] mov w1, 65535 cmp w0, w1 - bne .L1926 -.L1934: + bne .L1927 +.L1935: mov w19, -1 - b .L1927 -.L1926: + b .L1928 +.L1927: mov w1, 1 bl FtlGetLastWrittenPage sxth w22, w0 add w0, w0, 1 strh w0, [x23,2] mov w23, 61604 -.L1928: - tbnz w22, #31, .L1933 +.L1929: + tbnz w22, #31, .L1934 ldrh w0, [x20,3896] mov w1, 1 mov w2, w1 @@ -12324,18 +12333,18 @@ FtlLoadSysInfo: bl FlashReadPages ldr w0, [x21] cmn w0, #1 - beq .L1929 + beq .L1930 ldr x0, [x20,1048] ldr w1, [x0] mov w0, 19539 movk w0, 0x4654, lsl 16 cmp w1, w0 - bne .L1929 + bne .L1930 ldr x0, [x20,1112] ldrh w0, [x0] cmp w0, w23 - bne .L1929 -.L1933: + bne .L1930 +.L1934: add x20, x19, :lo12:.LANCHOR2 mov w2, 48 add x22, x20, 1408 @@ -12361,7 +12370,7 @@ FtlLoadSysInfo: add x1, x3, x1, lsl 2 bl ftl_memcpy ldrh w0, [x20,860] - cbz w0, .L1931 + cbz w0, .L1932 ldrh w0, [x20,756] ldr x3, [x22,8] lsr w1, w0, 3 @@ -12373,24 +12382,24 @@ FtlLoadSysInfo: and x1, x1, 65532 add x1, x3, x1 bl ftl_memcpy - b .L1931 -.L1929: + b .L1932 +.L1930: sub w22, w22, #1 sxth w22, w22 - b .L1928 -.L1931: + b .L1929 +.L1932: add x0, x19, :lo12:.LANCHOR2 mov w2, 19539 movk w2, 0x4654, lsl 16 ldr w3, [x0,3520] cmp w3, w2 - bne .L1934 + bne .L1935 ldrb w3, [x0,3530] ldrh w2, [x0,770] ldrh w4, [x0,3528] strh w4, [x0,3902] cmp w3, w2 - bne .L1934 + bne .L1935 ldrh w3, [x0,818] add x21, x21, :lo12:.LANCHOR0 ldrh w2, [x0,824] @@ -12450,48 +12459,48 @@ FtlLoadSysInfo: str wzr, [x0,908] str wzr, [x0,916] str wzr, [x0,892] - bls .L1935 + bls .L1936 str w1, [x0,872] -.L1935: +.L1936: add x0, x19, :lo12:.LANCHOR2 ldr w1, [x0,3556] ldr w2, [x0,876] cmp w1, w2 - bls .L1936 + bls .L1937 str w1, [x0,876] -.L1936: +.L1937: mov w0, 65535 cmp w4, w0 - beq .L1937 + beq .L1938 add x0, x19, :lo12:.LANCHOR2 add x0, x0, 3608 bl make_superblock -.L1937: +.L1938: add x1, x19, :lo12:.LANCHOR2 add x0, x1, 3656 ldrh w2, [x1,3656] mov w1, 65535 cmp w2, w1 - beq .L1938 + beq .L1939 bl make_superblock -.L1938: +.L1939: add x1, x19, :lo12:.LANCHOR2 add x0, x1, 3704 ldrh w2, [x1,3704] mov w1, 65535 cmp w2, w1 - beq .L1939 + beq .L1940 bl make_superblock -.L1939: +.L1940: add x19, x19, :lo12:.LANCHOR2 mov w1, 65535 add x0, x19, 3920 ldrh w2, [x19,3920] mov w19, 0 cmp w2, w1 - beq .L1927 + beq .L1928 bl make_superblock -.L1927: +.L1928: mov w0, w19 ldr x23, [sp,48] ldp x19, x20, [sp,16] @@ -12529,19 +12538,19 @@ SupperBlkListInit: strh wzr, [x19,3600] strh wzr, [x19,862] mov w19, w27 -.L1945: +.L1946: add x0, x21, :lo12:.LANCHOR2 ldrh w1, [x0,756] cmp w19, w1 - bge .L1952 + bge .L1953 mov w20, 0 ldrh w3, [x0,748] ldrh w2, [x0,818] mov w28, w20 mov x26, x0 -.L1953: +.L1954: cmp w28, w3 - bge .L1954 + bge .L1955 add x0, x26, 776 mov w1, w19 str x2, [x29,96] @@ -12551,54 +12560,54 @@ SupperBlkListInit: bl FtlBbmIsBadBlock ldr x3, [x29,104] ldr x2, [x29,96] - cbnz w0, .L1946 + cbnz w0, .L1947 add w20, w2, w20 sxth w20, w20 -.L1946: +.L1947: add w28, w28, 1 sxth w28, w28 - b .L1953 -.L1954: - cbz w20, .L1948 + b .L1954 +.L1955: + cbz w20, .L1949 sdiv w20, w25, w20 sxth w20, w20 - b .L1949 -.L1948: + b .L1950 +.L1949: add x0, x21, :lo12:.LANCHOR2 ldr x0, [x0,1184] strh w24, [x0,w19,sxtw 1] -.L1949: +.L1950: add x0, x21, :lo12:.LANCHOR2 ldr x1, [x0,1280] smaddl x1, w19, w23, x1 strh w20, [x1,4] ldrh w1, [x0,3608] cmp w19, w1 - beq .L1950 + beq .L1951 ldrh w1, [x0,3656] cmp w19, w1 - beq .L1950 + beq .L1951 ldrh w1, [x0,3704] cmp w19, w1 - beq .L1950 + beq .L1951 ldr x0, [x0,1184] ldrh w0, [x0,w19,sxtw 1] - cbnz w0, .L1951 + cbnz w0, .L1952 add w27, w27, 1 mov w0, w19 uxth w27, w27 bl INSERT_FREE_LIST - b .L1950 -.L1951: + b .L1951 +.L1952: add w22, w22, 1 mov w0, w19 uxth w22, w22 bl INSERT_DATA_LIST -.L1950: +.L1951: add w19, w19, 1 sxth w19, w19 - b .L1945 -.L1952: + b .L1946 +.L1953: strh w22, [x0,3584] strh w27, [x0,3600] mov w0, 0 @@ -12623,7 +12632,7 @@ Ftl_save_ext_data: add x29, sp, 0 ldr w3, [x0,3968] cmp w3, w1 - bne .L1955 + bne .L1956 mov w1, 72 movk w1, 0x5000, lsl 16 str w1, [x2,4] @@ -12660,7 +12669,7 @@ Ftl_save_ext_data: mov w0, 0 str w3, [x2,88] bl FtlVendorPartWrite -.L1955: +.L1956: ldp x29, x30, [sp], 16 ret .size Ftl_save_ext_data, .-Ftl_save_ext_data @@ -12674,30 +12683,30 @@ FtlEctTblFlush: stp x29, x30, [sp, -16]! add x29, sp, 0 ldr w4, [x3,652] - cbz w4, .L1958 + cbz w4, .L1959 ldr w3, [x3,920] cmp w3, 29 mov w3, 4 csel w1, w1, w3, hi -.L1958: +.L1959: adrp x3, .LANCHOR4 add x3, x3, :lo12:.LANCHOR4 ldrh w4, [x3,136] cmp w4, 31 - bhi .L1959 + bhi .L1960 add w4, w4, 1 mov w1, 1 strh w4, [x3,136] -.L1959: - cbnz w0, .L1960 +.L1960: + cbnz w0, .L1961 add x0, x2, :lo12:.LANCHOR2 ldr x3, [x0,1160] ldr w0, [x3,20] add w1, w1, w0 ldr w0, [x3,16] cmp w0, w1 - bcc .L1961 -.L1960: + bcc .L1962 +.L1961: add x2, x2, :lo12:.LANCHOR2 ldr x0, [x2,1160] ldr w1, [x0,16] @@ -12717,7 +12726,7 @@ FtlEctTblFlush: mov w0, 64 bl FtlVendorPartWrite bl Ftl_save_ext_data -.L1961: +.L1962: mov w0, 0 ldp x29, x30, [sp], 16 ret @@ -12741,7 +12750,7 @@ Ftl_load_ext_data: mov w0, 19539 movk w0, 0x4654, lsl 16 cmp w1, w0 - beq .L1966 + beq .L1967 mov x0, x21 mov w1, 0 mov w2, 512 @@ -12749,14 +12758,14 @@ Ftl_load_ext_data: mov w0, 19539 movk w0, 0x4654, lsl 16 str w0, [x20,3968] -.L1966: +.L1967: add x0, x19, :lo12:.LANCHOR2 mov w2, 19539 movk w2, 0x4654, lsl 16 adrp x20, .LANCHOR4 ldr w3, [x0,3968] cmp w3, w2 - bne .L1967 + bne .L1968 add x2, x20, :lo12:.LANCHOR4 ldr w3, [x0,4056] ldr w1, [x0,4028] @@ -12784,14 +12793,14 @@ Ftl_load_ext_data: str w2, [x0,916] ldr w2, [x0,4016] str w2, [x0,920] -.L1967: +.L1968: add x0, x19, :lo12:.LANCHOR2 mov w1, 34661 movk w1, 0x1234, lsl 16 ldr w2, [x0,4036] str wzr, [x0,864] cmp w2, w1 - bne .L1968 + bne .L1969 mov w1, 1 str w1, [x0,652] adrp x0, .LC45 @@ -12799,7 +12808,7 @@ Ftl_load_ext_data: add x0, x0, :lo12:.LC45 add x1, x1, :lo12:.LC48 bl printk -.L1968: +.L1969: add x0, x19, :lo12:.LANCHOR2 add x20, x20, :lo12:.LANCHOR4 ldrh w2, [x0,808] @@ -12833,25 +12842,25 @@ update_multiplier_value: mov w19, w22 ldrh w25, [x1,818] mov x23, x1 -.L1970: +.L1971: cmp w24, w22, uxth - bls .L1977 + bls .L1978 add x0, x23, 776 mov w1, w20 ldrb w0, [x0,x22] bl V2P_block bl FtlBbmIsBadBlock - cbnz w0, .L1971 + cbnz w0, .L1972 add w19, w19, w25 uxth w19, w19 -.L1971: +.L1972: add x22, x22, 1 - b .L1970 -.L1977: - cbz w19, .L1973 + b .L1971 +.L1978: + cbz w19, .L1974 mov w0, 32768 sdiv w19, w0, w19 -.L1973: +.L1974: add x0, x21, :lo12:.LANCHOR2 mov w1, 6 umull x20, w20, w1 @@ -12874,7 +12883,7 @@ GetFreeBlockMinEraseCount: add x2, x2, :lo12:.LANCHOR2 ldr x1, [x2,3592] mov w0, w1 - cbz x1, .L1979 + cbz x1, .L1980 ldr x0, [x2,1280] sub x1, x1, x0 mov x0, -6148914691236517206 @@ -12883,7 +12892,7 @@ GetFreeBlockMinEraseCount: ldr x0, [x2,1168] and x1, x1, 65535 ldrh w0, [x0,x1,lsl 1] -.L1979: +.L1980: ret .size GetFreeBlockMinEraseCount, .-GetFreeBlockMinEraseCount .align 2 @@ -12895,7 +12904,7 @@ GetFreeBlockMaxEraseCount: add x5, x2, :lo12:.LANCHOR2 ldr x1, [x5,3592] mov w0, w1 - cbz x1, .L1982 + cbz x1, .L1983 ldrh w3, [x5,3600] mov w0, 7 mov w6, 6 @@ -12911,25 +12920,25 @@ GetFreeBlockMaxEraseCount: madd x1, x3, x1, x1 mov w3, 0 uxth w1, w1 -.L1984: +.L1985: cmp w3, w4 - beq .L1987 + beq .L1988 umull x5, w1, w6 ldrh w5, [x0,x5] cmp w5, w7 - bne .L1985 -.L1987: + bne .L1986 +.L1988: add x2, x2, :lo12:.LANCHOR2 ubfiz x1, x1, 1, 16 ldr x0, [x2,1168] ldrh w0, [x0,x1] - b .L1982 -.L1985: + b .L1983 +.L1986: add w3, w3, 1 mov w1, w5 uxth w3, w3 - b .L1984 -.L1982: + b .L1985 +.L1983: ret .size GetFreeBlockMaxEraseCount, .-GetFreeBlockMaxEraseCount .align 2 @@ -12967,10 +12976,10 @@ FtlPrintInfo2buf: adrp x0, .LANCHOR1+3064 ldr w0, [x0,#:lo12:.LANCHOR1+3064] cmp w0, 1 - beq .L1990 + beq .L1991 sub w0, w20, w23 - b .L1991 -.L1990: + b .L1992 +.L1991: add x0, x29, 96 add x1, x29, 100 add x2, x29, 104 @@ -13383,7 +13392,7 @@ FtlPrintInfo2buf: ldrh w0, [x22,3920] mov w1, 65535 cmp w0, w1 - beq .L1992 + beq .L1993 ubfiz x2, x0, 1, 16 ldr x3, [x22,1184] adrp x1, .LC116 @@ -13392,7 +13401,7 @@ FtlPrintInfo2buf: ldrh w2, [x3,x2] bl sprintf add x19, x19, x0, sxtw -.L1992: +.L1993: mov w0, 0 adrp x22, .LC117 mov w20, 0 @@ -13401,9 +13410,9 @@ FtlPrintInfo2buf: mov w26, 6 uxth w3, w0 add x22, x22, :lo12:.LC117 -.L1994: +.L1995: cmp w3, w27 - beq .L1993 + beq .L1994 add x21, x24, :lo12:.LANCHOR2 ubfiz x6, x3, 1, 16 umull x25, w3, w26 @@ -13423,8 +13432,8 @@ FtlPrintInfo2buf: ldr x0, [x21,1280] cmp w20, 16 ldrh w3, [x0,x25] - bne .L1994 -.L1993: + bne .L1995 +.L1994: add x1, x24, :lo12:.LANCHOR2 adrp x22, .LC118 mov w20, 0 @@ -13438,9 +13447,9 @@ FtlPrintInfo2buf: asr x3, x3, 1 madd x3, x0, x3, x3 uxth w3, w3 -.L1996: +.L1997: cmp w3, w27 - beq .L1995 + beq .L1996 add x21, x24, :lo12:.LANCHOR2 ubfiz x5, x3, 1, 16 umull x25, w3, w26 @@ -13458,10 +13467,10 @@ FtlPrintInfo2buf: ldr x0, [x21,1280] cmp w20, 4 ldrh w3, [x0,x25] - bne .L1996 -.L1995: + bne .L1997 +.L1996: sub w0, w19, w23 -.L1991: +.L1992: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -13509,22 +13518,22 @@ GetSwlReplaceBlock: add x1, x19, :lo12:.LANCHOR2 ldr w2, [x1,920] cmp w3, w2 - bcs .L2001 + bcs .L2002 str wzr, [x1,904] ldrh w3, [x1,756] ldr x5, [x1,1168] mov x1, 0 -.L2002: +.L2003: cmp w3, w1 - bls .L2034 + bls .L2035 add x4, x19, :lo12:.LANCHOR2 ldrh w6, [x5,x1,lsl 1] add x1, x1, 1 ldr w2, [x4,904] add w2, w6, w2 str w2, [x4,904] - b .L2002 -.L2034: + b .L2003 +.L2035: add x2, x19, :lo12:.LANCHOR2 add x4, x0, :lo12:.LANCHOR4 ldr w1, [x2,904] @@ -13535,46 +13544,46 @@ GetSwlReplaceBlock: ldrh w3, [x2,808] udiv w1, w1, w3 str w1, [x2,904] - b .L2004 -.L2001: + b .L2005 +.L2002: ldr w2, [x1,916] cmp w3, w2 - bls .L2004 + bls .L2005 add w2, w2, 1 str w2, [x1,916] mov w1, 0 -.L2006: +.L2007: add x2, x19, :lo12:.LANCHOR2 ldrh w3, [x2,756] cmp w1, w3 - bcs .L2004 + bcs .L2005 ubfiz x3, x1, 1, 32 ldr x4, [x2,1168] add w1, w1, 1 ldrh w2, [x4,x3] add w2, w2, 1 strh w2, [x4,x3] - b .L2006 -.L2004: + b .L2007 +.L2005: add x1, x19, :lo12:.LANCHOR2 add x0, x0, :lo12:.LANCHOR4 ldr w21, [x1,920] ldr w23, [x0,140] add w0, w21, 256 cmp w0, w23 - bls .L2009 + bls .L2010 ldr w2, [x1,916] add w0, w21, 768 cmp w0, w2 - bls .L2009 + bls .L2010 ldr w0, [x1,652] - cbz w0, .L2012 + cbz w0, .L2013 cmp w21, 30 - bls .L2009 -.L2012: + bls .L2010 +.L2013: mov w0, 65535 - b .L2011 -.L2009: + b .L2012 +.L2010: add x0, x19, :lo12:.LANCHOR2 ldrh w0, [x0,3600] add w0, w0, w0, lsl 1 @@ -13583,13 +13592,13 @@ GetSwlReplaceBlock: uxth w6, w0 add w0, w21, 64 cmp w6, w0 - bcs .L2021 + bcs .L2022 cmp w21, 30 - bhi .L2012 -.L2021: + bhi .L2013 +.L2022: add x1, x19, :lo12:.LANCHOR2 ldr x3, [x1,3568] - cbz x3, .L2012 + cbz x3, .L2013 mov w26, 65535 mov x0, -6148914691236517206 ldrh w9, [x1,756] @@ -13600,16 +13609,16 @@ GetSwlReplaceBlock: add x0, x0, 1 mov w1, 0 mov w10, 6 -.L2014: +.L2015: ldrh w5, [x3] cmp w5, w8 - beq .L2016 + beq .L2017 add w1, w1, 1 uxth w1, w1 cmp w1, w9 - bhi .L2012 + bhi .L2013 ldrh w2, [x3,4] - cbz w2, .L2015 + cbz w2, .L2016 sub x4, x3, x7 asr x4, x4, 1 mul x4, x4, x0 @@ -13617,47 +13626,47 @@ GetSwlReplaceBlock: and x4, x4, 65535 ldrh w2, [x25,x4,lsl 1] cmp w2, w21 - bls .L2020 + bls .L2021 cmp w2, w26 - bcs .L2015 + bcs .L2016 mov w26, w2 mov w20, w3 -.L2015: +.L2016: umull x3, w5, w10 add x3, x7, x3 - b .L2014 -.L2020: + b .L2015 +.L2021: mov w20, w3 -.L2016: +.L2017: mov w0, 65535 cmp w20, w0 - beq .L2012 + beq .L2013 ubfiz x24, x20, 1, 16 ldrh w22, [x25,x24] cmp w22, w21 - bls .L2018 + bls .L2019 str x6, [x29,88] bl GetFreeBlockMinEraseCount ldr x6, [x29,88] cmp w21, w0, uxth - bcs .L2018 + bcs .L2019 add x0, x19, :lo12:.LANCHOR2 str w26, [x0,920] -.L2018: +.L2019: cmp w22, w23 - bcs .L2012 + bcs .L2013 add w0, w22, 128 cmp w6, w0 - ble .L2012 + ble .L2013 add w0, w22, 256 cmp w0, w23 - bcc .L2019 + bcc .L2020 add x0, x19, :lo12:.LANCHOR2 add w22, w22, 768 ldr w0, [x0,916] cmp w22, w0 - bcs .L2012 -.L2019: + bcs .L2013 +.L2020: add x19, x19, :lo12:.LANCHOR2 adrp x0, .LC120 ldrh w5, [x25,x24] @@ -13671,7 +13680,7 @@ GetSwlReplaceBlock: mov w0, 1 str w0, [x19,928] mov w0, w20 -.L2011: +.L2012: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -13688,13 +13697,13 @@ free_data_superblock: mov w1, 65535 cmp w0, w1 add x29, sp, 0 - beq .L2036 + beq .L2037 adrp x2, .LANCHOR2+1184 ubfiz x1, x0, 1, 16 ldr x2, [x2,#:lo12:.LANCHOR2+1184] strh wzr, [x2,x1] bl INSERT_FREE_LIST -.L2036: +.L2037: mov w0, 0 ldp x29, x30, [sp], 16 ret @@ -13713,15 +13722,15 @@ allocate_data_superblock: stp x25, x26, [sp,64] ldr w1, [x19,1400] stp x27, x28, [sp,80] - cbnz w1, .L2038 + cbnz w1, .L2039 mov x20, x0 add x23, x19, 3704 adrp x22, .LANCHOR0 mov w24, 7 add x25, x19, 3592 -.L2039: +.L2040: cmp x20, x23 - bne .L2040 + bne .L2041 ldrh w2, [x19,3600] ldr w4, [x19,928] lsr w3, w2, 1 @@ -13730,43 +13739,43 @@ allocate_data_superblock: add w1, w1, w0, lsr 2 ldr w0, [x19,652] uxth w1, w1 - cbz w0, .L2041 + cbz w0, .L2042 ldr w0, [x19,920] cmp w0, 29 - bhi .L2041 + bhi .L2042 cmp w0, 2 mov w1, 0 - bls .L2042 - tbz x2, 0, .L2069 - cbz w4, .L2042 -.L2069: + bls .L2043 + tbz x2, 0, .L2070 + cbz w4, .L2043 +.L2070: mov w1, w3 - b .L2041 -.L2040: + b .L2042 +.L2041: ldrb w0, [x20,8] mov w1, 0 cmp w0, 1 - bne .L2042 + bne .L2043 ldrh w0, [x19,768] cmp w0, 1 - beq .L2042 + beq .L2043 add x0, x22, :lo12:.LANCHOR0 ldrb w0, [x0,136] - cbnz w0, .L2042 + cbnz w0, .L2043 ldr w2, [x19,652] ldrh w0, [x19,3600] lsr w1, w0, 3 - cbz w2, .L2041 + cbz w2, .L2042 ldr w2, [x19,920] cmp w2, 1 - bhi .L2041 + bhi .L2042 mul w1, w0, w24 lsr w1, w1, 3 -.L2041: - cbz w1, .L2042 +.L2042: + cbz w1, .L2043 sub w1, w1, #1 uxth w1, w1 -.L2042: +.L2043: ldrb w2, [x20,8] mov x0, x25 bl List_pop_index_node @@ -13778,20 +13787,20 @@ allocate_data_superblock: mov x0, x20 bl make_superblock ldrb w0, [x20,7] - cbz w0, .L2044 + cbz w0, .L2045 mov x0, 0 ldrh w5, [x19,748] mov w26, w0 mov x3, 56 mov w6, 65535 - b .L2045 -.L2044: + b .L2046 +.L2045: ubfiz x27, x27, 1, 16 ldr x0, [x19,1184] mov w1, -1 strh w1, [x0,x27] - b .L2039 -.L2048: + b .L2040 +.L2049: ldr x4, [x19,1016] madd x1, x0, x3, x4 str xzr, [x1,16] @@ -13799,40 +13808,40 @@ allocate_data_superblock: add x1, x20, x0, lsl 1 ldrh w1, [x1,16] cmp w1, w6 - beq .L2047 + beq .L2048 umull x2, w26, w3 add w26, w26, 1 lsl w1, w1, 10 add x2, x4, x2 uxth w26, w26 str w1, [x2,4] -.L2047: +.L2048: add x0, x0, 1 -.L2045: +.L2046: cmp w5, w0, uxth - bhi .L2048 + bhi .L2049 add x0, x19, 3608 uxtw x28, w27 cmp x20, x0 - bne .L2049 + bne .L2050 ldr w1, [x19,652] - cbz w1, .L2049 + cbz w1, .L2050 ldr x1, [x19,1168] ldrh w1, [x1,x28,lsl 1] cmp w1, 30 - bls .L2049 + bls .L2050 strb wzr, [x19,3616] -.L2049: +.L2050: ldrb w0, [x20,8] - cbnz w0, .L2050 + cbnz w0, .L2051 lsl x0, x28, 1 ldr x1, [x19,1168] mov w2, 2 ldrh w3, [x1,x0] - cbz w3, .L2094 + cbz w3, .L2095 ldrh w2, [x19,808] add w2, w3, w2 -.L2094: +.L2095: strh w2, [x1,x0] mov w1, 0 ldr w0, [x19,904] @@ -13840,8 +13849,8 @@ allocate_data_superblock: str w0, [x19,904] mov w0, w27 bl ftl_set_blk_mode - b .L2053 -.L2050: + b .L2054 +.L2051: lsl x0, x28, 1 ldr x2, [x19,1168] ldrh w1, [x2,x0] @@ -13852,15 +13861,15 @@ allocate_data_superblock: str w0, [x19,908] mov w0, w27 bl ftl_set_blk_mode.part.17 -.L2053: +.L2054: lsl x28, x28, 1 ldr x0, [x19,1168] ldr w1, [x19,916] ldrh w0, [x0,x28] cmp w0, w1 - bls .L2054 + bls .L2055 str w0, [x19,916] -.L2054: +.L2055: ldrh w1, [x19,808] mov x3, 56 ldr w2, [x19,904] @@ -13875,32 +13884,32 @@ allocate_data_superblock: add w0, w0, 1 str w0, [x1,16] mov x0, 0 -.L2055: +.L2056: cmp w26, w0, uxth - bls .L2096 + bls .L2097 ldr x1, [x19,1016] madd x1, x0, x3, x1 add x0, x0, 1 ldr w2, [x1,4] and w2, w2, -1024 str w2, [x1,4] - b .L2055 -.L2096: + b .L2056 +.L2097: add x0, x22, :lo12:.LANCHOR0 ldrb w0, [x0,136] - cbz w0, .L2057 + cbz w0, .L2058 ldrb w0, [x20,8] cmp w0, 1 ldr x0, [x19,1016] - bne .L2058 + bne .L2059 mov w1, 0 - b .L2095 -.L2058: + b .L2096 +.L2059: mov w1, 1 -.L2095: +.L2096: mov w2, w26 bl FlashEraseBlocks -.L2057: +.L2058: ldrb w1, [x20,8] mov w2, w26 ldr x0, [x19,1016] @@ -13908,15 +13917,15 @@ allocate_data_superblock: mov x1, 0 mov x4, 56 mov w2, w1 -.L2059: +.L2060: cmp w26, w1, uxth - bls .L2097 + bls .L2098 mul x0, x1, x4 ldr x3, [x19,1016] add x5, x3, x0 ldr w3, [x3,x0] cmn w3, #1 - bne .L2060 + bne .L2061 ldr w0, [x5,4] add w2, w2, 1 str x4, [x29,104] @@ -13935,22 +13944,22 @@ allocate_data_superblock: ldrb w0, [x20,7] sub w0, w0, #1 strb w0, [x20,7] -.L2060: +.L2061: add x1, x1, 1 - b .L2059 -.L2097: - cbz w2, .L2062 + b .L2060 +.L2098: + cbz w2, .L2063 mov w0, w27 bl update_multiplier_value bl FtlBbmTblFlush -.L2062: +.L2063: ldrb w0, [x20,7] - cbnz w0, .L2063 + cbnz w0, .L2064 ldr x0, [x19,1184] mov w1, -1 strh w1, [x0,x28] - b .L2039 -.L2063: + b .L2040 +.L2064: add x21, x21, :lo12:.LANCHOR2 strh wzr, [x20,2] strb wzr, [x20,6] @@ -13966,7 +13975,7 @@ allocate_data_superblock: ldr x1, [x21,1184] ldrh w2, [x20] strh w0, [x1,x2,lsl 1] -.L2038: +.L2039: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -13988,12 +13997,12 @@ FtlGcBufInit: mov w4, 4 str wzr, [x0,#:lo12:.LANCHOR4+144] mov w10, 56 -.L2099: +.L2100: add x2, x7, :lo12:.LANCHOR2 adrp x6, .LANCHOR2 ldrh w0, [x2,748] cmp w1, w0 - bcs .L2103 + bcs .L2104 umull x3, w1, w8 ldr x5, [x2,1104] ldr x6, [x2,1072] @@ -14021,15 +14030,15 @@ FtlGcBufInit: str x2, [x0,8] ldr x2, [x5,8] str x2, [x0,16] - b .L2099 -.L2103: + b .L2100 +.L2104: mov w7, 24 mov w4, 4 -.L2101: +.L2102: add x1, x6, :lo12:.LANCHOR2 ldr w2, [x1,1040] cmp w0, w2 - bcs .L2104 + bcs .L2105 umull x3, w0, w7 ldr x5, [x1,1104] ldr x8, [x1,1072] @@ -14050,8 +14059,8 @@ FtlGcBufInit: uxth w0, w0 add x1, x1, x2, sxtw 2 str x1, [x3,8] - b .L2101 -.L2104: + b .L2102 +.L2105: ret .size FtlGcBufInit, .-FtlGcBufInit .align 2 @@ -14115,32 +14124,32 @@ FtlGcBufFree: mov w9, 24 ldr w8, [x2,1040] ldr x5, [x2,1104] -.L2107: +.L2108: cmp w3, w1 - bcs .L2106 + bcs .L2107 umull x4, w3, w7 mov w2, 0 add x4, x0, x4 -.L2112: +.L2113: cmp w2, w8 - bcs .L2109 + bcs .L2110 umull x6, w2, w9 add x10, x5, x6 ldr x11, [x5,x6] ldr x6, [x4,8] cmp x11, x6 - bne .L2108 + bne .L2109 str wzr, [x10,16] - b .L2109 -.L2108: + b .L2110 +.L2109: add w2, w2, 1 uxth w2, w2 - b .L2112 -.L2109: + b .L2113 +.L2110: add w3, w3, 1 uxth w3, w3 - b .L2107 -.L2106: + b .L2108 +.L2107: ret .size FtlGcBufFree, .-FtlGcBufFree .align 2 @@ -14155,17 +14164,17 @@ FtlGcBufAlloc: ldr w5, [x2,1040] ldr x6, [x2,1104] mov w2, 0 -.L2114: +.L2115: cmp w2, w1 - bcs .L2120 + bcs .L2121 mov w3, 0 -.L2118: +.L2119: cmp w3, w5 - bcs .L2116 + bcs .L2117 umull x4, w3, w7 add x4, x6, x4 ldr w10, [x4,16] - cbnz w10, .L2115 + cbnz w10, .L2116 umull x3, w2, w9 str w8, [x4,16] add x3, x0, x3 @@ -14173,16 +14182,16 @@ FtlGcBufAlloc: str x10, [x3,8] ldr x4, [x4,8] str x4, [x3,16] - b .L2116 -.L2115: + b .L2117 +.L2116: add w3, w3, 1 uxth w3, w3 - b .L2118 -.L2116: + b .L2119 +.L2117: add w2, w2, 1 uxth w2, w2 - b .L2114 -.L2120: + b .L2115 +.L2121: ret .size FtlGcBufAlloc, .-FtlGcBufAlloc .align 2 @@ -14195,19 +14204,19 @@ IsBlkInGcList: adrp x1, .LANCHOR2+976 ldr x3, [x1,#:lo12:.LANCHOR2+976] mov x1, 0 -.L2122: +.L2123: cmp w2, w1, uxth - bls .L2126 + bls .L2127 add x1, x1, 1 add x4, x3, x1, lsl 1 ldrh w4, [x4,-2] cmp w4, w0 - bne .L2122 + bne .L2123 mov w0, 1 - b .L2123 -.L2126: + b .L2124 +.L2127: mov w0, 0 -.L2123: +.L2124: ret .size IsBlkInGcList, .-IsBlkInGcList .align 2 @@ -14232,25 +14241,25 @@ FtlGcUpdatePage: adrp x4, .LANCHOR2 add x5, x4, :lo12:.LANCHOR2 ldr x7, [x5,976] -.L2128: +.L2129: uxth w5, w6 cmp w5, w8 - bcs .L2132 + bcs .L2133 add x6, x6, 1 add x10, x7, x6, lsl 1 ldrh w10, [x10,-2] cmp w10, w9 - bne .L2128 -.L2132: + bne .L2129 +.L2133: cmp w5, w8 - bne .L2130 + bne .L2131 ubfiz x5, x5, 1, 16 strh w0, [x7,x5] add x0, x3, :lo12:.LANCHOR4 ldrh w5, [x0,176] add w5, w5, 1 strh w5, [x0,176] -.L2130: +.L2131: add x3, x3, :lo12:.LANCHOR4 add x4, x4, :lo12:.LANCHOR2 mov w0, 12 @@ -14318,20 +14327,20 @@ FtlGcScanTempBlk: ldrh w26, [x0,3068] mov w0, 65535 cmp w26, w0 - beq .L2157 - cbnz w26, .L2136 - b .L2137 -.L2157: + beq .L2158 + cbnz w26, .L2137 + b .L2138 +.L2158: mov w26, 0 -.L2136: +.L2137: adrp x0, .LANCHOR2+818 ldr w1, [x29,152] ldrh w0, [x0,#:lo12:.LANCHOR2+818] cmp w1, w0 - bne .L2138 -.L2137: - bl FtlGcPageVarInit + bne .L2139 .L2138: + bl FtlGcPageVarInit +.L2139: mov w0, -1 adrp x25, .LANCHOR2 str w0, [x29,156] @@ -14342,25 +14351,25 @@ FtlGcScanTempBlk: mov x21, x25 mov x24, x25 str x0, [x29,128] -.L2151: +.L2152: ldrh w0, [x19] strb wzr, [x19,8] cmp w0, w23 - beq .L2158 -.L2140: -.L2154: + beq .L2159 +.L2141: +.L2155: add x0, x25, :lo12:.LANCHOR2 mov x2, x19 mov w20, 0 ldrh w5, [x0,748] ldrh w8, [x0,830] add x5, x19, x5, lsl 1 -.L2141: +.L2142: cmp x2, x5 - beq .L2166 + beq .L2167 ldrh w1, [x2,16] cmp w1, w23 - beq .L2142 + beq .L2143 add x6, x21, :lo12:.LANCHOR2 mov w0, 56 orr w1, w26, w1, lsl 10 @@ -14379,19 +14388,19 @@ FtlGcScanTempBlk: sdiv w1, w1, w3 add x1, x6, x1, sxtw 2 str x1, [x0,16] -.L2142: +.L2143: add x2, x2, 2 - b .L2141 -.L2166: + b .L2142 +.L2167: add x0, x21, :lo12:.LANCHOR2 mov w1, w20 mov w2, 0 mov x27, 0 ldr x0, [x0,992] bl FlashReadPages -.L2144: +.L2145: cmp w20, w27, uxth - bls .L2167 + bls .L2168 mov x0, 56 mul x28, x27, x0 add x0, x21, :lo12:.LANCHOR2 @@ -14408,53 +14417,53 @@ FtlGcScanTempBlk: ldr x8, [x29,104] ldr x2, [x29,120] ldr w0, [x8,x28] - cbnz w0, .L2145 + cbnz w0, .L2146 ldr x1, [x29,112] add x27, x27, 1 ldr x5, [x1,16] ldrh w0, [x5] cmp w0, w23 - bne .L2146 + bne .L2147 adrp x0, .LANCHOR4+168 mov w1, 1 str w1, [x0,#:lo12:.LANCHOR4+168] - b .L2139 -.L2146: + b .L2140 +.L2147: mov w1, w2 ldr w0, [x5,12] ldr w2, [x5,8] bl FtlGcUpdatePage - b .L2144 -.L2145: + b .L2145 +.L2146: ldr x0, [x29,128] ldrh w1, [x19] bl printk ldr x0, [x29,144] ldr w0, [x0,652] - cbnz w0, .L2147 + cbnz w0, .L2148 adrp x0, .LANCHOR0+136 ldrb w0, [x0,#:lo12:.LANCHOR0+136] - cbz w0, .L2148 -.L2147: + cbz w0, .L2149 +.L2148: add x0, x24, :lo12:.LANCHOR2 ldrh w1, [x19] ldr x0, [x0,1168] ldrh w0, [x0,x1,lsl 1] cmp w0, 119 - bls .L2149 -.L2148: + bls .L2150 +.L2149: add x0, x24, :lo12:.LANCHOR2 ldr x0, [x0,992] ldr w0, [x0,x28] cmn w0, #1 - bne .L2150 -.L2149: + bne .L2151 +.L2150: add x0, x24, :lo12:.LANCHOR2 ldr x0, [x0,992] add x5, x0, x28 ldr w0, [x5,4] str w0, [x29,156] -.L2150: +.L2151: add x0, x24, :lo12:.LANCHOR2 ldrh w1, [x19] mov w26, 0 @@ -14465,36 +14474,36 @@ FtlGcScanTempBlk: mov w0, -1 strh w0, [x19] bl FtlGcPageVarInit - b .L2151 -.L2167: + b .L2152 +.L2168: ldr w0, [x29,152] add w22, w22, 1 add w3, w26, 1 cmp w22, w0 uxth w26, w3 - bcs .L2153 -.L2155: + bcs .L2154 +.L2156: add x0, x21, :lo12:.LANCHOR2 ldrh w0, [x0,818] cmp w0, w26 - bhi .L2154 - b .L2158 -.L2153: + bhi .L2155 + b .L2159 +.L2154: ldr x0, [x29,136] add x1, x0, :lo12:.LANCHOR1 ldrh w0, [x1,3068] cmp w0, w23 - beq .L2155 + beq .L2156 add w0, w0, w22 strh w0, [x1,3068] add x0, x21, :lo12:.LANCHOR2 ldrh w0, [x0,818] cmp w0, w26 - bls .L2155 - b .L2156 -.L2158: + bls .L2156 + b .L2157 +.L2159: mov w6, 0 -.L2139: +.L2140: ldr x0, [x29,136] mov w1, w26 strh w26, [x19,2] @@ -14505,7 +14514,7 @@ FtlGcScanTempBlk: strh w0, [x20,3068] mov x0, x19 bl ftl_sb_update_avl_pages -.L2156: +.L2157: ldr w0, [x29,156] ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -14531,20 +14540,20 @@ FtlGcRefreshOpenBlock: add x2, x2, :lo12:.LANCHOR2 ldrh w3, [x2,948] cmp w3, w19 - beq .L2169 + beq .L2170 ldrh w1, [x2,950] cmp w1, w19 - beq .L2169 + beq .L2170 mov w0, 65535 cmp w3, w0 - bne .L2170 + bne .L2171 strh w19, [x2,948] - b .L2169 -.L2170: + b .L2170 +.L2171: cmp w1, w0 - bne .L2169 + bne .L2170 strh w19, [x2,950] -.L2169: +.L2170: mov w0, 0 ldr x19, [sp,16] ldp x29, x30, [sp], 32 @@ -14566,20 +14575,20 @@ FtlGcRefreshBlock: add x2, x2, :lo12:.LANCHOR2 ldrh w3, [x2,948] cmp w3, w19 - beq .L2172 + beq .L2173 ldrh w1, [x2,950] cmp w1, w19 - beq .L2172 + beq .L2173 mov w0, 65535 cmp w3, w0 - bne .L2173 + bne .L2174 strh w19, [x2,948] - b .L2172 -.L2173: + b .L2173 +.L2174: cmp w1, w0 - bne .L2172 + bne .L2173 strh w19, [x2,950] -.L2172: +.L2173: mov w0, 0 ldr x19, [sp,16] ldp x29, x30, [sp], 32 @@ -14608,33 +14617,33 @@ FtlGcMarkBadPhyBlk: mov w0, w21 bl FtlGcRefreshBlock ldr w0, [x22,652] - cbz w0, .L2175 + cbz w0, .L2176 ubfiz x0, x21, 1, 16 ldr x2, [x22,1168] ldrh w1, [x2,x0] cmp w1, 29 - bls .L2175 + bls .L2176 sub w1, w1, #30 strh w1, [x2,x0] -.L2175: +.L2176: add x0, x19, :lo12:.LANCHOR2 adrp x1, .LANCHOR4 add x1, x1, :lo12:.LANCHOR4 add x1, x1, 184 ldrh w3, [x0,958] mov x0, 0 -.L2176: +.L2177: cmp w3, w0, uxth - bls .L2182 + bls .L2183 add x0, x0, 1 add x2, x1, x0, lsl 1 ldrh w2, [x2,-2] cmp w2, w20 - bne .L2176 - b .L2177 -.L2182: + bne .L2177 + b .L2178 +.L2183: cmp w3, 15 - bhi .L2177 + bhi .L2178 adrp x1, .LANCHOR4 add x19, x19, :lo12:.LANCHOR2 add x1, x1, :lo12:.LANCHOR4 @@ -14642,7 +14651,7 @@ FtlGcMarkBadPhyBlk: add x1, x1, 184 strh w0, [x19,958] strh w20, [x1,w3,sxtw 1] -.L2177: +.L2178: mov w0, 0 ldr x23, [sp,48] ldp x19, x20, [sp,16] @@ -14660,16 +14669,16 @@ FtlGcReFreshBadBlk: adrp x19, .LANCHOR2 add x0, x19, :lo12:.LANCHOR2 ldrh w1, [x0,958] - cbz w1, .L2184 + cbz w1, .L2185 ldrh w3, [x0,948] mov w2, 65535 cmp w3, w2 - bne .L2184 + bne .L2185 ldrh w2, [x0,962] cmp w2, w1 - bcc .L2185 + bcc .L2186 strh wzr, [x0,962] -.L2185: +.L2186: add x19, x19, :lo12:.LANCHOR2 adrp x0, .LANCHOR4 add x0, x0, :lo12:.LANCHOR4 @@ -14681,7 +14690,7 @@ FtlGcReFreshBadBlk: ldrh w0, [x19,962] add w0, w0, 1 strh w0, [x19,962] -.L2184: +.L2185: mov w0, 0 ldr x19, [sp,16] ldp x29, x30, [sp], 32 @@ -14703,15 +14712,15 @@ FtlGcFreeBadSuperBlk: stp x21, x22, [sp,32] stp x25, x26, [sp,64] mov w21, 0 - cbz w0, .L2191 + cbz w0, .L2192 adrp x24, .LANCHOR4 adrp x22, .LC124 add x22, x22, :lo12:.LC124 add x25, x24, :lo12:.LANCHOR4 -.L2199: +.L2200: ldrh w0, [x19,748] cmp w0, w21 - bls .L2200 + bls .L2201 add x0, x19, 776 mov w1, w23 mov w20, 0 @@ -14719,14 +14728,14 @@ FtlGcFreeBadSuperBlk: ldrb w0, [x0,w21,sxtw] bl V2P_block uxth w26, w0 -.L2192: +.L2193: ldrh w0, [x19,958] cmp w0, w20 - bls .L2201 + bls .L2202 add x0, x27, 184 ldrh w0, [x0,w20,sxtw 1] cmp w0, w26 - bne .L2193 + bne .L2194 mov w1, w26 mov x0, x22 bl printk @@ -14735,29 +14744,29 @@ FtlGcFreeBadSuperBlk: bl FtlBbmTblFlush ldrh w2, [x19,958] mov w3, w20 -.L2194: +.L2195: cmp w3, w2 - bcs .L2202 + bcs .L2203 add x4, x25, 184 add w0, w3, 1 ldrh w1, [x4,w0,sxtw 1] strh w1, [x4,w3,sxtw 1] uxth w3, w0 - b .L2194 -.L2202: + b .L2195 +.L2203: sub w2, w2, #1 strh w2, [x19,958] -.L2193: +.L2194: add w20, w20, 1 uxth w20, w20 - b .L2192 -.L2201: + b .L2193 +.L2202: add w21, w21, 1 uxth w21, w21 - b .L2199 -.L2200: + b .L2200 +.L2201: bl FtlGcReFreshBadBlk -.L2191: +.L2192: mov w0, 0 ldr x27, [sp,80] ldp x19, x20, [sp,16] @@ -14780,25 +14789,25 @@ update_vpc_list: ubfiz x0, x19, 1, 16 ldr x2, [x1,1184] ldrh w2, [x2,x0] - cbnz w2, .L2204 + cbnz w2, .L2205 ldrh w0, [x1,3920] cmp w0, w19 - bne .L2205 + bne .L2206 mov w0, -1 strh w0, [x1,3920] - b .L2206 -.L2205: + b .L2207 +.L2206: ldrh w3, [x1,3608] mov w0, w2 cmp w3, w19 - beq .L2207 + beq .L2208 ldrh w3, [x1,3656] cmp w3, w19 - beq .L2207 + beq .L2208 ldrh w1, [x1,3704] cmp w1, w19 - beq .L2207 -.L2206: + beq .L2208 +.L2207: add x20, x20, :lo12:.LANCHOR2 mov w1, w19 add x0, x20, 3568 @@ -14811,12 +14820,12 @@ update_vpc_list: mov w0, w19 bl FtlGcFreeBadSuperBlk mov w0, 1 - b .L2207 -.L2204: + b .L2208 +.L2205: mov w0, w19 bl List_update_data_list mov w0, 0 -.L2207: +.L2208: ldp x19, x20, [sp,16] ldp x29, x30, [sp], 32 ret @@ -14831,43 +14840,43 @@ decrement_vpc_count: add x29, sp, 0 str x19, [sp,16] cmp w1, w0 - beq .L2212 + beq .L2213 adrp x2, .LANCHOR2+1184 ubfiz x0, x1, 1, 16 ldr x2, [x2,#:lo12:.LANCHOR2+1184] ldrh w19, [x2,x0] - cbnz w19, .L2213 + cbnz w19, .L2214 adrp x0, .LC125 mov w2, w19 add x0, x0, :lo12:.LC125 bl printk - b .L2217 -.L2213: + b .L2218 +.L2214: sub w19, w19, #1 strh w19, [x2,x0] -.L2212: +.L2213: adrp x19, .LANCHOR4 mov w0, 65535 add x19, x19, :lo12:.LANCHOR4 ldrh w2, [x19,160] cmp w2, w0 - bne .L2215 + bne .L2216 strh w1, [x19,160] -.L2217: +.L2218: mov w0, 0 - b .L2214 -.L2215: + b .L2215 +.L2216: cmp w2, w1 str x1, [x29,40] mov w0, 0 - beq .L2214 + beq .L2215 mov w0, w2 bl update_vpc_list cmp w0, wzr ldr x1, [x29,40] cset w0, ne strh w1, [x19,160] -.L2214: +.L2215: ldr x19, [sp,16] ldp x29, x30, [sp], 48 ret @@ -14887,7 +14896,7 @@ FtlRecoverySuperblock: mov x19, x0 ldrh w0, [x0] cmp w0, w2 - beq .L2376 + beq .L2377 ldrh w0, [x19,2] adrp x20, .LANCHOR2 str w0, [x29,188] @@ -14896,44 +14905,44 @@ FtlRecoverySuperblock: ldr w1, [x29,188] ldrh w0, [x0,818] cmp w0, w1 - bne .L2221 + bne .L2222 strh wzr, [x19,4] - b .L2382 -.L2221: + b .L2383 +.L2222: ldrh w0, [x19,16] mov w1, 0 -.L2222: +.L2223: cmp w0, w2 - bne .L2385 + bne .L2386 add w1, w1, 1 uxth w1, w1 add x0, x19, x1, sxtw 1 ldrh w0, [x0,16] - b .L2222 -.L2385: + b .L2223 +.L2386: ldrb w1, [x19,8] cmp w1, 1 - bne .L2224 + bne .L2225 bl FtlGetLastWrittenPage cmn w0, #1 mov w21, w0 - beq .L2225 + beq .L2226 adrp x0, .LANCHOR0 mov w23, w21 add x0, x0, :lo12:.LANCHOR0 ldrb w1, [x0,136] - cbnz w1, .L2299 + cbnz w1, .L2300 add x0, x0, 140 ldrh w23, [x0,w21,sxtw 1] - b .L2299 -.L2224: + b .L2300 +.L2225: mov w1, 0 bl FtlGetLastWrittenPage cmn w0, #1 mov w21, w0 - beq .L2225 + beq .L2226 mov w23, w0 -.L2299: +.L2300: add x0, x20, :lo12:.LANCHOR2 mov x2, x19 mov w25, 0 @@ -14943,16 +14952,16 @@ FtlRecoverySuperblock: ldrh w4, [x0,748] ldrh w7, [x0,830] add x4, x19, x4, lsl 1 - b .L2227 -.L2225: + b .L2228 +.L2226: strh wzr, [x19,2] -.L2382: +.L2383: strb wzr, [x19,6] - b .L2376 -.L2229: + b .L2377 +.L2230: ldrh w1, [x2,16] cmp w1, w8 - beq .L2228 + beq .L2229 add x5, x20, :lo12:.LANCHOR2 orr w1, w23, w1, lsl 10 umull x0, w25, w9 @@ -14969,21 +14978,21 @@ FtlRecoverySuperblock: sdiv w1, w1, w10 add x1, x5, x1, sxtw 2 str x1, [x0,16] -.L2228: +.L2229: add x2, x2, 2 -.L2227: +.L2228: cmp x2, x4 - bne .L2229 + bne .L2230 ldrb w0, [x19,8] str wzr, [x29,184] cmp w0, 1 - bne .L2230 + bne .L2231 adrp x0, .LANCHOR0+136 ldrb w0, [x0,#:lo12:.LANCHOR0+136] cmp w0, wzr cset w0, ne str w0, [x29,184] -.L2230: +.L2231: add x22, x20, :lo12:.LANCHOR2 ldr w2, [x29,184] mov w1, w25 @@ -14998,21 +15007,21 @@ FtlRecoverySuperblock: add x22, x22, :lo12:.LC126 uxth w0, w23 str w0, [x29,168] -.L2231: +.L2232: uxth w2, w26 cmp w2, w25 - bcs .L2238 + bcs .L2239 add x6, x20, :lo12:.LANCHOR2 mov x0, 56 mul x0, x26, x0 ldr x4, [x6,992] add x1, x4, x0 ldr w0, [x4,x0] - cbnz w0, .L2232 + cbnz w0, .L2233 ldr x7, [x1,16] ldr w4, [x7,4] cmn w4, #1 - beq .L2233 + beq .L2234 ldr w1, [x6,876] mov w0, w4 str x7, [x29,136] @@ -15024,23 +15033,23 @@ FtlRecoverySuperblock: ldr x4, [x29,152] ldr x2, [x29,144] ldr x7, [x29,136] - cbz w0, .L2233 + cbz w0, .L2234 add w4, w4, 1 str w4, [x6,876] -.L2233: +.L2234: ldr w0, [x7] cmn w0, #1 - bne .L2234 -.L2238: + bne .L2235 +.L2239: cmp w2, w25 - bne .L2377 + bne .L2378 add x0, x20, :lo12:.LANCHOR2 add w21, w21, 1 uxth w21, w21 ldr x0, [x0,992] ldr w0, [x0,4] - b .L2378 -.L2232: + b .L2379 +.L2233: ldr w1, [x1,4] mov x0, x22 bl printk @@ -15048,10 +15057,10 @@ FtlRecoverySuperblock: add x0, x27, :lo12:.LANCHOR4 ldrh w1, [x19] strh w1, [x0,218] -.L2234: +.L2235: add x26, x26, 1 - b .L2231 -.L2377: + b .L2232 +.L2378: add x0, x20, :lo12:.LANCHOR2 mov w1, 56 uxth w21, w21 @@ -15059,83 +15068,83 @@ FtlRecoverySuperblock: ldr x0, [x0,992] add x2, x0, x2 ldr w0, [x2,4] -.L2378: +.L2379: lsr x0, x0, 10 bl P2V_plane uxth w26, w0 ldrb w1, [x19,8] cmp w1, 1 - bne .L2240 + bne .L2241 adrp x0, .LANCHOR0 add x0, x0, :lo12:.LANCHOR0 ldrb w2, [x0,136] - cbnz w2, .L2240 + cbnz w2, .L2241 add x0, x0, 140 ldrh w21, [x0,w21,sxtw 1] -.L2240: +.L2241: add x0, x20, :lo12:.LANCHOR2 ldrh w0, [x0,818] cmp w0, w21 - bne .L2241 + bne .L2242 strh w21, [x19,2] strb wzr, [x19,6] strh wzr, [x19,4] -.L2241: +.L2242: uxth w0, w28 str w0, [x29,152] ldr w0, [x29,188] cmp w21, w0 - bne .L2242 + bne .L2243 ldr w0, [x29,152] cmp w26, w0 - beq .L2383 -.L2242: + beq .L2384 +.L2243: ldr w0, [x29,176] adrp x25, .LANCHOR4 sub w22, w0, #1 mov w0, 65535 cmp w24, w0 - bne .L2243 - cbnz w1, .L2244 -.L2243: + bne .L2244 + cbnz w1, .L2245 +.L2244: add x0, x25, :lo12:.LANCHOR4 uxth w6, w23 ldr w1, [x0,172] cmn w1, #1 - bne .L2245 + bne .L2246 str w22, [x0,172] -.L2245: +.L2246: add x0, x25, :lo12:.LANCHOR4 ldr w24, [x29,188] ldr w3, [x0,172] ldr w0, [x29,188] add w0, w0, 7 cmp w0, w23, uxth - bge .L2246 + bge .L2247 sub w24, w6, #7 uxth w24, w24 -.L2246: +.L2247: adrp x7, .LANCHOR0 mov w28, -1 add x5, x7, :lo12:.LANCHOR0 mov w27, w28 mov w4, 65535 add x5, x5, 652 -.L2247: +.L2248: cmp w24, w6 - bhi .L2260 + bhi .L2261 add x0, x20, :lo12:.LANCHOR2 mov w23, 0 mov w10, 56 ldrh w2, [x0,748] mov x0, x19 add x2, x19, x2, lsl 1 -.L2261: +.L2262: cmp x0, x2 - beq .L2386 + beq .L2387 ldrh w1, [x0,16] cmp w1, w4 - beq .L2248 + beq .L2249 add x9, x20, :lo12:.LANCHOR2 orr w1, w24, w1, lsl 10 umull x8, w23, w10 @@ -15144,10 +15153,10 @@ FtlRecoverySuperblock: uxth w23, w23 add x8, x9, x8 str w1, [x8,4] -.L2248: +.L2249: add x0, x0, 2 - b .L2261 -.L2386: + b .L2262 +.L2387: add x8, x20, :lo12:.LANCHOR2 ldr w2, [x29,184] mov w1, w23 @@ -15171,85 +15180,85 @@ FtlRecoverySuperblock: ldr x0, [x8,992] ldr x5, [x29,128] add x0, x0, 16 -.L2250: +.L2251: cmp w1, w23 - beq .L2387 + beq .L2388 ldr w2, [x0,-16] - cbnz w2, .L2251 + cbnz w2, .L2252 ldr x2, [x0] ldrh w8, [x2] cmp w8, w4 - beq .L2252 + beq .L2253 ldr w8, [x2,4] cmn w8, #1 - beq .L2252 + beq .L2253 add x2, x25, :lo12:.LANCHOR4 cmn w28, #1 ldr w27, [x2,172] str w8, [x2,172] - bne .L2252 + bne .L2253 ldrh w2, [x5,x10,lsl 1] cmp w2, w4 - bne .L2253 - cbz w9, .L2252 -.L2253: + bne .L2254 + cbz w9, .L2253 +.L2254: cmp w27, w22 csinv w28, w27, wzr, ne - b .L2252 -.L2251: + b .L2253 +.L2252: add x0, x25, :lo12:.LANCHOR4 ldrh w1, [x19] strh w1, [x0,218] ldrb w1, [x19,8] - cbnz w1, .L2244 + cbnz w1, .L2245 adrp x1, .LANCHOR0 add x1, x1, :lo12:.LANCHOR0 add x1, x1, 652 ldrh w2, [x1,w24,sxtw 1] mov w1, 65535 cmp w2, w1 - bne .L2255 + bne .L2256 cmn w28, #1 - beq .L2256 - str w28, [x0,172] - b .L2244 -.L2256: - cmp w3, w22 beq .L2257 - str w3, [x0,172] - b .L2244 + str w28, [x0,172] + b .L2245 .L2257: - ldr w1, [x0,172] - b .L2384 -.L2255: - cmp w27, w22 + cmp w3, w22 beq .L2258 - cmn w27, #1 - beq .L2244 - str w27, [x0,172] - b .L2244 + str w3, [x0,172] + b .L2245 .L2258: + ldr w1, [x0,172] + b .L2385 +.L2256: + cmp w27, w22 + beq .L2259 + cmn w27, #1 + beq .L2245 + str w27, [x0,172] + b .L2245 +.L2259: ldr w1, [x0,172] cmp w1, w22 - beq .L2244 -.L2384: + beq .L2245 +.L2385: sub w1, w1, #1 - b .L2379 -.L2252: + b .L2380 +.L2253: add w1, w1, 1 add x0, x0, 56 uxth w1, w1 - b .L2250 -.L2387: + b .L2251 +.L2388: add w24, w24, 1 uxth w24, w24 - b .L2247 -.L2260: + b .L2248 +.L2261: add x0, x25, :lo12:.LANCHOR4 mov w1, -1 -.L2379: +.L2380: str w1, [x0,172] -.L2244: +.L2245: add x0, x25, :lo12:.LANCHOR4 mov w1, 1 strh w1, [x0,220] @@ -15263,7 +15272,7 @@ FtlRecoverySuperblock: adrp x0, .LC127 add x0, x0, :lo12:.LC127 str x0, [x29,120] -.L2262: +.L2263: add x0, x20, :lo12:.LANCHOR2 adrp x1, .LANCHOR0 add x1, x1, :lo12:.LANCHOR0 @@ -15274,12 +15283,12 @@ FtlRecoverySuperblock: ldrb w6, [x1,136] mov x1, x19 add x3, x19, x3, lsl 1 -.L2263: +.L2264: cmp x1, x3 - beq .L2388 + beq .L2389 ldrh w2, [x1,16] cmp w2, w7 - beq .L2264 + beq .L2265 ldr w0, [x29,176] add x5, x20, :lo12:.LANCHOR2 orr w2, w23, w2, lsl 10 @@ -15289,33 +15298,33 @@ FtlRecoverySuperblock: str w2, [x4,4] ldrb w2, [x19,8] cmp w2, 1 - bne .L2265 - cbz w6, .L2265 + bne .L2266 + cbz w6, .L2266 ldr x2, [x5,992] add x0, x2, x0 ldr w2, [x0,4] orr w2, w2, -2147483648 str w2, [x0,4] -.L2265: +.L2266: ldr w0, [x29,176] add w0, w0, 1 uxth w0, w0 str w0, [x29,176] -.L2264: +.L2265: add x1, x1, 2 - b .L2263 -.L2388: + b .L2264 +.L2389: add x0, x20, :lo12:.LANCHOR2 ldr w1, [x29,176] ldr w2, [x29,184] ldr x0, [x0,992] bl FlashReadPages str xzr, [x29,160] -.L2267: +.L2268: ldrh w0, [x29,160] ldr w1, [x29,176] cmp w1, w0, uxth - bls .L2389 + bls .L2390 ldr x0, [x29,160] mov x24, 56 mul x24, x0, x24 @@ -15331,38 +15340,38 @@ FtlRecoverySuperblock: ldr w1, [x29,188] cmp w23, w1 ldr x1, [x29,168] - bcc .L2268 + bcc .L2269 ldr w2, [x29,152] cmp w0, w2 - bcs .L2303 + bcs .L2304 ldr w2, [x29,188] cmp w23, w2 - beq .L2268 -.L2303: - cmp w0, w26 - bne .L2304 - cmp w23, w21 - beq .L2270 + beq .L2269 .L2304: + cmp w0, w26 + bne .L2305 + cmp w23, w21 + beq .L2271 +.L2305: ldr w0, [x28,x24] cmn w0, #1 - beq .L2272 + beq .L2273 ldr x28, [x27,16] mov w0, 61589 ldrh w1, [x28] cmp w1, w0 - bne .L2279 + bne .L2280 ldr w22, [x28,4] cmn w22, #1 - beq .L2274 + beq .L2275 add x27, x20, :lo12:.LANCHOR2 mov w0, w22 ldr w1, [x27,876] bl ftl_cmp_data_ver - cbz w0, .L2274 + cbz w0, .L2275 add w0, w22, 1 str w0, [x27,876] -.L2274: +.L2275: ldr w27, [x28,8] add x1, x29, 200 ldr w0, [x28,12] @@ -15374,13 +15383,13 @@ FtlRecoverySuperblock: str x0, [x29,136] ldr w1, [x0,172] cmn w1, #1 - beq .L2275 + beq .L2276 mov w0, w22 bl ftl_cmp_data_ver - cbz w0, .L2275 + cbz w0, .L2276 ldr w1, [x29,196] cmn w1, #1 - beq .L2276 + beq .L2277 add x3, x20, :lo12:.LANCHOR2 str x3, [x29,112] ldr x0, [x3,992] @@ -15401,25 +15410,25 @@ FtlRecoverySuperblock: add x4, x2, x24 ldr w0, [x2,x24] cmn w0, #1 - bne .L2277 - b .L2278 -.L2276: + bne .L2278 + b .L2279 +.L2277: ldr w0, [x29,204] ldr w1, [x29,200] cmp w1, w0 - bne .L2279 + bne .L2280 mov w0, w27 add x1, x29, 196 mov w2, 1 bl log2phys -.L2279: +.L2280: ldrh w0, [x19] - b .L2381 -.L2277: + b .L2382 +.L2278: ldr x0, [x29,168] ldr w28, [x0,8] cmp w28, w27 - bne .L2278 + bne .L2279 ldr x0, [x29,136] ldr w1, [x29,144] str x2, [x29,96] @@ -15430,16 +15439,16 @@ FtlRecoverySuperblock: ldr x4, [x29,112] ldr x3, [x29,104] ldr x2, [x29,96] - cbz w0, .L2278 + cbz w0, .L2279 ldr w0, [x29,200] ldr w1, [x29,204] cmp w0, w1 - beq .L2284 + beq .L2285 ldr w1, [x29,196] cmp w0, w1 - beq .L2278 + beq .L2279 cmn w0, #1 - beq .L2282 + beq .L2283 str w0, [x4,4] mov w2, 0 ldr x1, [x4,16] @@ -15448,65 +15457,65 @@ FtlRecoverySuperblock: mov w1, 1 add x0, x0, x24 bl FlashReadPages - b .L2283 -.L2282: - str w0, [x2,x24] + b .L2284 .L2283: + str w0, [x2,x24] +.L2284: adrp x0, .LANCHOR2+992 ldr x0, [x0,#:lo12:.LANCHOR2+992] ldr w0, [x0,x24] cmn w0, #1 - beq .L2284 + beq .L2285 ldr x0, [x29,168] ldr w24, [x0,4] add x0, x25, :lo12:.LANCHOR4 mov w1, w24 ldr w0, [x0,172] bl ftl_cmp_data_ver - cbz w0, .L2284 + cbz w0, .L2285 ldr w0, [x29,144] mov w1, w24 bl ftl_cmp_data_ver - cbz w0, .L2278 -.L2284: + cbz w0, .L2279 +.L2285: ldr w1, [x29,196] mov w0, w28 bl FtlReUsePrevPpa -.L2278: +.L2279: mov w0, -1 str w0, [x29,196] ldrh w0, [x19] bl decrement_vpc_count - b .L2286 -.L2275: + b .L2287 +.L2276: ldr w0, [x29,204] ldr w1, [x29,200] cmp w1, w0 - beq .L2286 + beq .L2287 mov w0, w27 add x1, x29, 204 mov w2, 1 bl log2phys ldr w24, [x29,200] cmn w24, #1 - beq .L2286 + beq .L2287 ldr w0, [x29,196] cmp w24, w0 - beq .L2286 + beq .L2287 lsr x0, x24, 10 bl P2V_block_in_plane uxth w0, w0 add x1, x20, :lo12:.LANCHOR2 ldrh w2, [x1,3608] cmp w2, w0 - beq .L2289 + beq .L2290 ldrh w2, [x1,3656] cmp w2, w0 - beq .L2289 + beq .L2290 ldrh w1, [x1,3704] cmp w1, w0 - bne .L2286 -.L2289: + bne .L2287 +.L2290: add x28, x20, :lo12:.LANCHOR2 mov w1, 1 mov w2, 0 @@ -15521,18 +15530,18 @@ FtlRecoverySuperblock: ldr w0, [x0] ldr w1, [x3,4] cmn w0, #1 - beq .L2286 + beq .L2287 mov w0, w22 bl ftl_cmp_data_ver - cbnz w0, .L2286 + cbnz w0, .L2287 mov w0, w27 add x1, x29, 200 mov w2, 1 bl log2phys -.L2286: +.L2287: ldr w0, [x29,196] cmn w0, #1 - beq .L2268 + beq .L2269 lsr x0, x0, 10 bl P2V_block_in_plane uxth w1, w0 @@ -15540,15 +15549,15 @@ FtlRecoverySuperblock: ubfiz x3, x1, 1, 16 ldr x2, [x2,1184] ldrh w2, [x2,x3] - cbz w2, .L2290 -.L2381: + cbz w2, .L2291 +.L2382: bl decrement_vpc_count - b .L2268 -.L2290: + b .L2269 +.L2291: ldr x0, [x29,120] bl printk - b .L2268 -.L2272: + b .L2269 +.L2273: add x24, x25, :lo12:.LANCHOR4 ldrh w0, [x19] mov w2, w22 @@ -15557,74 +15566,74 @@ FtlRecoverySuperblock: bl printk ldr w0, [x24,224] cmp w0, 31 - bhi .L2291 + bhi .L2292 add x1, x24, 232 ldr w2, [x29,204] str w2, [x1,w0,uxtw 2] add w0, w0, 1 str w0, [x24,224] -.L2291: +.L2292: ldrh w0, [x19] bl decrement_vpc_count add x0, x25, :lo12:.LANCHOR4 ldr w1, [x0,172] cmn w1, #1 - beq .L2380 + beq .L2381 cmp w1, w22 - bls .L2268 -.L2380: + bls .L2269 +.L2381: str w22, [x0,172] -.L2268: +.L2269: ldr x0, [x29,160] add x0, x0, 1 str x0, [x29,160] - b .L2267 -.L2389: + b .L2268 +.L2390: ldrb w0, [x19,8] add w23, w23, 1 cmp w0, 1 uxth w23, w23 - bne .L2294 + bne .L2295 adrp x0, .LANCHOR0 add x0, x0, :lo12:.LANCHOR0 ldrb w0, [x0,136] - cbz w0, .L2294 + cbz w0, .L2295 cmp w21, w23 - bne .L2294 + bne .L2295 add x0, x20, :lo12:.LANCHOR2 ldrh w0, [x0,820] cmp w0, w23 - beq .L2270 -.L2294: + beq .L2271 +.L2295: add x0, x20, :lo12:.LANCHOR2 ldrh w1, [x0,818] cmp w23, w1 - bne .L2262 + bne .L2263 ldrh w2, [x0,748] mov w3, 65535 strh w23, [x19,2] mov x0, 0 strh wzr, [x19,4] -.L2296: +.L2297: uxth w1, w0 cmp w1, w2 - bcs .L2376 + bcs .L2377 add x0, x0, 1 add x4, x19, x0, lsl 1 ldrh w4, [x4,14] cmp w4, w3 - beq .L2296 + beq .L2297 strb w1, [x19,6] - b .L2376 -.L2270: + b .L2377 +.L2271: strb w26, [x19,6] strh w21, [x19,2] -.L2383: +.L2384: mov x0, x19 mov w1, w21 mov w2, w26 bl ftl_sb_update_avl_pages -.L2376: +.L2377: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -15644,11 +15653,11 @@ FtlSlcSuperblockCheck: stp x21, x22, [sp,32] str x23, [sp,48] ldrh w1, [x0,4] - cbz w1, .L2390 + cbz w1, .L2391 ldrh w1, [x0] mov w20, 65535 cmp w1, w20 - beq .L2390 + beq .L2391 mov x19, x0 ldrb w0, [x0,6] adrp x21, .LANCHOR0 @@ -15657,10 +15666,10 @@ FtlSlcSuperblockCheck: add x21, x21, :lo12:.LANCHOR0 add x22, x21, 652 ldrh w0, [x19,x0,lsl 1] -.L2394: +.L2395: cmp w0, w20 - bne .L2401 -.L2396: + bne .L2402 +.L2397: ldrb w0, [x19,6] add x1, x23, :lo12:.LANCHOR2 add w0, w0, 1 @@ -15668,51 +15677,51 @@ FtlSlcSuperblockCheck: uxtb w0, w0 strb w0, [x19,6] cmp w1, w0 - bne .L2395 + bne .L2396 ldrh w0, [x19,2] strb wzr, [x19,6] add w0, w0, 1 strh w0, [x19,2] -.L2395: +.L2396: ldrb w0, [x19,6] add x0, x0, 8 ldrh w0, [x19,x0,lsl 1] - b .L2394 -.L2401: + b .L2395 +.L2402: ldrb w1, [x19,8] cmp w1, 1 - bne .L2397 + bne .L2398 ldrb w0, [x21,136] - cbnz w0, .L2397 + cbnz w0, .L2398 ldrh w0, [x19,2] ldrh w0, [x22,w0,sxtw 1] cmp w0, w20 - bne .L2397 + bne .L2398 ldrh w0, [x19,4] sub w0, w0, #1 strh w0, [x19,4] ldrh w0, [x19] bl decrement_vpc_count ldrh w1, [x19,4] - cbnz w1, .L2396 + cbnz w1, .L2397 ldrh w0, [x19,2] strb w1, [x19,6] add w0, w0, 1 strh w0, [x19,2] - b .L2390 -.L2397: + b .L2391 +.L2398: adrp x0, .LANCHOR0 add x0, x0, :lo12:.LANCHOR0 ldrb w0, [x0,136] - cbz w0, .L2390 + cbz w0, .L2391 cmp w1, 1 - bne .L2390 + bne .L2391 adrp x0, .LANCHOR2 ldrh w2, [x19,2] add x0, x0, :lo12:.LANCHOR2 ldrh w1, [x0,820] cmp w2, w1 - bcc .L2390 + bcc .L2391 ldrh w1, [x19] ldr x3, [x0,1184] lsl x1, x1, 1 @@ -15724,7 +15733,7 @@ FtlSlcSuperblockCheck: ldrh w0, [x0,818] strh w0, [x19,2] strb wzr, [x19,6] -.L2390: +.L2391: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldr x23, [sp,48] @@ -15751,11 +15760,11 @@ get_new_active_ppa: add x0, x0, 8 add x24, x20, 652 ldrh w0, [x19,x0,lsl 1] -.L2403: +.L2404: cmp w0, w22 adrp x21, .LANCHOR2 - bne .L2418 -.L2404: + bne .L2419 +.L2405: ldrb w0, [x19,6] add x1, x23, :lo12:.LANCHOR2 add w0, w0, 1 @@ -15763,33 +15772,33 @@ get_new_active_ppa: uxtb w0, w0 strb w0, [x19,6] cmp w1, w0 - bne .L2405 + bne .L2406 ldrh w0, [x19,2] strb wzr, [x19,6] add w0, w0, 1 strh w0, [x19,2] -.L2405: +.L2406: ldrb w0, [x19,6] add x0, x0, 8 ldrh w0, [x19,x0,lsl 1] - b .L2403 -.L2418: + b .L2404 +.L2419: ldrb w1, [x19,8] cmp w1, 1 - bne .L2406 + bne .L2407 ldrb w1, [x20,136] - cbnz w1, .L2406 + cbnz w1, .L2407 ldrh w1, [x19,2] ldrh w1, [x24,w1,sxtw 1] cmp w1, w22 - bne .L2406 + bne .L2407 ldrh w0, [x19,4] sub w0, w0, #1 strh w0, [x19,4] ldrh w0, [x19] bl decrement_vpc_count - b .L2404 -.L2406: + b .L2405 +.L2407: ldrh w1, [x19,4] adrp x20, .LANCHOR0 ldrh w22, [x19,2] @@ -15800,51 +15809,51 @@ get_new_active_ppa: strh w1, [x19,4] mov w24, w23 add x25, x20, 652 -.L2407: +.L2408: add x0, x21, :lo12:.LANCHOR2 ldrb w1, [x19,6] ldrh w2, [x0,748] -.L2409: +.L2410: add w1, w1, 1 uxtb w1, w1 cmp w1, w2 - bne .L2408 + bne .L2409 ldrh w1, [x19,2] add w1, w1, 1 strh w1, [x19,2] mov w1, 0 -.L2408: +.L2409: add x0, x19, x1, sxtw 1 ldrh w0, [x0,16] cmp w0, w23 - beq .L2409 + beq .L2410 ldrb w0, [x19,8] strb w1, [x19,6] cmp w0, 1 - bne .L2414 + bne .L2415 ldrb w0, [x20,136] - cbnz w0, .L2411 + cbnz w0, .L2412 ldrh w0, [x19,2] ldrh w0, [x25,w0,sxtw 1] cmp w0, w24 - bne .L2411 + bne .L2412 ldrh w1, [x19,4] - cbz w1, .L2411 + cbz w1, .L2412 ldrh w0, [x19] sub w1, w1, #1 strh w1, [x19,4] bl decrement_vpc_count - b .L2407 -.L2411: + b .L2408 +.L2412: adrp x1, .LANCHOR0 add x1, x1, :lo12:.LANCHOR0 ldrb w0, [x1,136] - cbz w0, .L2414 + cbz w0, .L2415 add x2, x21, :lo12:.LANCHOR2 ldrh w1, [x19,2] ldrh w0, [x2,820] cmp w1, w0 - bcc .L2414 + bcc .L2415 ldrh w1, [x19] ldr x0, [x2,1184] lsl x1, x1, 1 @@ -15856,7 +15865,7 @@ get_new_active_ppa: ldrh w0, [x2,818] strh w0, [x19,2] strb wzr, [x19,6] -.L2414: +.L2415: mov w0, w22 ldr x25, [sp,64] ldp x19, x20, [sp,16] @@ -15878,20 +15887,20 @@ FtlWriteDumpData: stp x21, x22, [sp,32] stp x23, x24, [sp,48] ldr w0, [x20,1400] - cbnz w0, .L2419 + cbnz w0, .L2420 ldrh w2, [x20,3612] - cbz w2, .L2421 + cbz w2, .L2422 ldrb w1, [x20,3616] - cbnz w1, .L2421 + cbnz w1, .L2422 ldrb w1, [x20,3615] ldrh w3, [x20,818] mul w1, w1, w3 cmp w2, w1 - beq .L2421 + beq .L2422 ldrb w23, [x20,3618] ldr w22, [x20,1396] ldrh w24, [x20,748] - cbnz w23, .L2419 + cbnz w23, .L2420 sub w22, w22, #1 add x1, x29, 84 mov w0, w22 @@ -15906,29 +15915,29 @@ FtlWriteDumpData: str x1, [x29,96] str x21, [x29,104] str w23, [x21,4] - beq .L2423 + beq .L2424 add x0, x29, 88 mov w1, 1 mov w2, w23 bl FlashReadPages - b .L2424 -.L2423: + b .L2425 +.L2424: ldr x0, [x20,1048] mov w1, 255 ldrh w2, [x20,828] bl ftl_memset -.L2424: +.L2425: add x25, x19, :lo12:.LANCHOR2 mov w0, -3947 lsl w24, w24, 2 strh w0, [x21] mov w23, 0 add x20, x25, 3608 -.L2425: +.L2426: cmp w23, w24 - beq .L2426 + beq .L2427 ldrh w0, [x20,4] - cbz w0, .L2426 + cbz w0, .L2427 ldr w0, [x29,92] add w23, w23, 1 str w0, [x21,12] @@ -15951,16 +15960,16 @@ FtlWriteDumpData: bl FlashProgPages ldrh w0, [x20] bl decrement_vpc_count - b .L2425 -.L2426: + b .L2426 +.L2427: add x19, x19, :lo12:.LANCHOR2 mov w0, 1 strb w0, [x19,3618] - b .L2419 -.L2421: + b .L2420 +.L2422: add x19, x19, :lo12:.LANCHOR2 strb wzr, [x19,3618] -.L2419: +.L2420: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -15978,23 +15987,23 @@ l2p_flush: mov w19, 0 adrp x20, .LANCHOR2 bl FtlWriteDumpData -.L2437: +.L2438: add x1, x20, :lo12:.LANCHOR2 ldrh w0, [x1,858] cmp w0, w19 - bls .L2440 + bls .L2441 ldr x1, [x1,1264] ubfiz x0, x19, 4, 16 add x0, x1, x0 ldr w0, [x0,4] - tbz w0, #31, .L2438 + tbz w0, #31, .L2439 mov w0, w19 bl flush_l2p_region -.L2438: +.L2439: add w19, w19, 1 uxth w19, w19 - b .L2437 -.L2440: + b .L2438 +.L2441: mov w0, 0 ldp x19, x20, [sp,16] ldp x29, x30, [sp], 32 @@ -16012,26 +16021,26 @@ FtlSuperblockPowerLostFix: stp x21, x22, [sp,32] str x23, [sp,48] ldrb w20, [x0,#:lo12:.LANCHOR0+136] - cbz w20, .L2455 + cbz w20, .L2456 ldrb w20, [x19,8] cmp w20, 1 - bne .L2450 + bne .L2451 ldrh w21, [x19,4] - b .L2442 -.L2450: + b .L2443 +.L2451: mov w20, 0 -.L2455: +.L2456: mov w21, 12 -.L2442: +.L2443: adrp x23, .LANCHOR2 mov w22, -1 -.L2443: +.L2444: sub w21, w21, #1 cmn w21, #1 - beq .L2445 + beq .L2446 ldrh w0, [x19,4] - cbnz w0, .L2444 -.L2445: + cbnz w0, .L2445 +.L2446: adrp x0, .LANCHOR2 ldrh w1, [x19] add x0, x0, :lo12:.LANCHOR2 @@ -16050,12 +16059,12 @@ FtlSuperblockPowerLostFix: ldr x23, [sp,48] ldp x29, x30, [sp], 128 ret -.L2444: +.L2445: mov x0, x19 bl get_new_active_ppa str w0, [x29,76] cmn w0, #1 - beq .L2445 + beq .L2446 add x2, x23, :lo12:.LANCHOR2 str w22, [x29,96] mov w3, 0 @@ -16080,7 +16089,7 @@ FtlSuperblockPowerLostFix: bl FlashProgPages ldrh w0, [x19] bl decrement_vpc_count - b .L2443 + b .L2444 .size FtlSuperblockPowerLostFix, .-FtlSuperblockPowerLostFix .align 2 .global FtlVpcCheckAndModify @@ -16106,18 +16115,18 @@ FtlVpcCheckAndModify: ldr x0, [x0,1176] lsl w2, w2, 1 bl ftl_memset -.L2457: +.L2458: add x19, x21, :lo12:.LANCHOR2 ldr w0, [x19,1396] cmp w20, w0 - bcs .L2472 + bcs .L2473 mov w0, w20 add x1, x29, 76 mov w2, 0 bl log2phys ldr w0, [x29,76] cmn w0, #1 - beq .L2458 + beq .L2459 lsr x0, x0, 10 bl P2V_block_in_plane ubfiz x0, x0, 1, 16 @@ -16125,39 +16134,39 @@ FtlVpcCheckAndModify: ldrh w1, [x2,x0] add w1, w1, 1 strh w1, [x2,x0] -.L2458: +.L2459: add w20, w20, 1 - b .L2457 -.L2472: + b .L2458 +.L2473: adrp x22, .LC130 mov w20, 0 mov w23, 65535 add x22, x22, :lo12:.LC130 -.L2460: +.L2461: ldrh w0, [x19,756] cmp w0, w20 - bls .L2473 + bls .L2474 ubfiz x21, x20, 1, 16 ldr x0, [x19,1184] ldrh w2, [x0,x21] ldr x0, [x19,1176] ldrh w3, [x0,x21] cmp w2, w3 - beq .L2463 + beq .L2464 cmp w2, w23 - beq .L2463 + beq .L2464 mov x0, x22 mov w1, w20 bl printk ldrh w0, [x19,3608] cmp w0, w20 - beq .L2463 + beq .L2464 ldrh w0, [x19,3704] cmp w0, w20 - beq .L2463 + beq .L2464 ldrh w0, [x19,3656] cmp w0, w20 - beq .L2463 + beq .L2464 ldr x0, [x19,1176] ldrh w1, [x0,x21] ldr x0, [x19,1184] @@ -16166,11 +16175,11 @@ FtlVpcCheckAndModify: bl update_vpc_list bl l2p_flush bl FtlVpcTblFlush -.L2463: +.L2464: add w20, w20, 1 uxth w20, w20 - b .L2460 -.L2473: + b .L2461 +.L2474: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldr x23, [sp,48] @@ -16189,89 +16198,89 @@ allocate_new_data_superblock: stp x21, x22, [sp,32] ldr w1, [x2,1400] ldrh w22, [x0] - cbnz w1, .L2475 + cbnz w1, .L2476 mov x21, x0 mov w0, 65535 cmp w22, w0 - beq .L2476 + beq .L2477 ubfiz x1, x22, 1, 16 ldr x0, [x2,1184] ldrh w0, [x0,x1] - cbz w0, .L2477 + cbz w0, .L2478 mov w0, w22 bl INSERT_DATA_LIST - b .L2476 -.L2477: + b .L2477 +.L2478: mov w0, w22 bl INSERT_FREE_LIST -.L2476: +.L2477: add x1, x19, :lo12:.LANCHOR2 strb wzr, [x21,8] add x0, x1, 3656 cmp x21, x0 - beq .L2478 + beq .L2479 ldrh w2, [x1,768] cmp w2, 1 - beq .L2478 + beq .L2479 adrp x0, .LANCHOR0+136 ldrb w0, [x0,#:lo12:.LANCHOR0+136] - cbz w0, .L2479 -.L2478: + cbz w0, .L2480 +.L2479: mov w0, 1 strb w0, [x21,8] - b .L2480 -.L2479: + b .L2481 +.L2480: add x0, x1, 3608 cmp x21, x0 - bne .L2480 + bne .L2481 cmp w2, 3 - beq .L2482 + beq .L2483 ldr w0, [x1,868] cmp w0, 1 - bne .L2483 -.L2482: - add x1, x19, :lo12:.LANCHOR2 - mov w0, 1 - strb w0, [x1,3616] + bne .L2484 .L2483: add x1, x19, :lo12:.LANCHOR2 - ldr w0, [x1,652] - cbz w0, .L2480 - ldr w0, [x1,920] - cmp w0, 29 - bhi .L2480 mov w0, 1 strb w0, [x1,3616] -.L2480: +.L2484: + add x1, x19, :lo12:.LANCHOR2 + ldr w0, [x1,652] + cbz w0, .L2481 + ldr w0, [x1,920] + cmp w0, 29 + bhi .L2481 + mov w0, 1 + strb w0, [x1,3616] +.L2481: adrp x1, .LANCHOR4 add x0, x1, :lo12:.LANCHOR4 mov x20, x1 ldrh w2, [x0,160] mov w0, 65535 cmp w2, w0 - beq .L2485 + beq .L2486 cmp w22, w2 - bne .L2486 + bne .L2487 add x19, x19, :lo12:.LANCHOR2 ubfiz x1, x2, 1, 16 ldr x0, [x19,1184] ldrh w0, [x0,x1] - cbz w0, .L2487 -.L2486: + cbz w0, .L2488 +.L2487: mov w0, w2 bl update_vpc_list -.L2487: +.L2488: add x1, x20, :lo12:.LANCHOR4 mov w0, -1 strh w0, [x1,160] -.L2485: +.L2486: mov x0, x21 bl allocate_data_superblock bl l2p_flush mov w0, 0 bl FtlEctTblFlush bl FtlVpcTblFlush -.L2475: +.L2476: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -16290,18 +16299,18 @@ FtlReadRefresh: stp x19, x20, [sp,16] str x21, [sp,32] ldr w3, [x2,80] - cbz w3, .L2501 + cbz w3, .L2502 ldr w3, [x2,84] ldr w1, [x0,1396] cmp w3, w1 - bcs .L2502 + bcs .L2503 mov w20, 2048 mov x19, x0 -.L2507: +.L2508: ldr w0, [x19,4052] ldr w1, [x19,1396] cmp w0, w1 - bcs .L2504 + bcs .L2505 add x1, x29, 52 mov w2, 0 bl log2phys @@ -16310,7 +16319,7 @@ FtlReadRefresh: add w0, w0, 1 str w0, [x19,4052] cmn w1, #1 - beq .L2505 + beq .L2506 str w1, [x29,60] mov w2, 0 str w0, [x29,80] @@ -16322,56 +16331,56 @@ FtlReadRefresh: bl FlashReadPages ldr w0, [x29,56] cmp w0, 256 - bne .L2504 + bne .L2505 ldr w0, [x29,52] lsr x0, x0, 10 bl P2V_block_in_plane bl FtlGcRefreshBlock - b .L2504 -.L2505: + b .L2505 +.L2506: subs w20, w20, #1 - bne .L2507 -.L2504: + bne .L2508 +.L2505: mov w0, -1 - b .L2509 -.L2502: + b .L2510 +.L2503: ldr w0, [x0,900] str wzr, [x2,80] str wzr, [x2,84] str w0, [x2,76] - b .L2515 -.L2501: + b .L2516 +.L2502: adrp x2, .LANCHOR0+136 ldr w3, [x0,916] ldr w0, [x0,652] ldrb w4, [x2,#:lo12:.LANCHOR0+136] mov w2, 4194304 - cbnz w4, .L2510 + cbnz w4, .L2511 add w0, w0, w3, lsr 10 mov w3, 33554432 asr w2, w3, w0 -.L2510: +.L2511: add x4, x1, :lo12:.LANCHOR2 ldr w3, [x4,900] ldr w0, [x4,4044] add w5, w3, 1048576 cmp w0, w5 - bhi .L2511 + bhi .L2512 add w0, w2, w0 cmp w0, w3 - bcc .L2511 + bcc .L2512 ldrb w2, [x4,3548] mov w0, 0 - cbnz w2, .L2509 -.L2511: + cbnz w2, .L2510 +.L2512: add x0, x1, :lo12:.LANCHOR2 mov w1, 1 str wzr, [x0,4052] str w1, [x0,4048] str w3, [x0,4044] -.L2515: +.L2516: mov w0, 0 -.L2509: +.L2510: ldp x19, x20, [sp,16] ldr x21, [sp,32] ldp x29, x30, [sp], 112 @@ -16392,60 +16401,60 @@ ftl_do_gc: stp x25, x26, [sp,64] stp x27, x28, [sp,80] ldr w4, [x3,1400] - cbnz w4, .L2661 + cbnz w4, .L2662 ldr w4, [x3,924] - cbnz w4, .L2661 + cbnz w4, .L2662 ldrh w4, [x3,3584] cmp w4, 47 - bls .L2661 + bls .L2662 mov w23, w0 adrp x0, .LANCHOR1+3068 mov w24, w1 ldrh w1, [x0,#:lo12:.LANCHOR1+3068] mov w0, 65535 cmp w1, w0 - bne .L2518 -.L2521: + bne .L2519 +.L2522: add x0, x19, :lo12:.LANCHOR2 mov w2, 65535 ldrh w1, [x0,950] cmp w1, w2 - bne .L2519 - b .L2520 -.L2518: + bne .L2520 + b .L2521 +.L2519: ldrh w1, [x3,3704] cmp w1, w0 - beq .L2521 + beq .L2522 mov w0, 1 bl FtlGcFreeTempBlock mov w2, 1 - cbz w0, .L2521 - b .L2661 -.L2519: + cbz w0, .L2522 + b .L2662 +.L2520: ldrh w3, [x0,948] cmp w3, w2 - bne .L2520 + bne .L2521 strh w1, [x0,948] mov w1, -1 strh w1, [x0,950] -.L2520: +.L2521: add x1, x19, :lo12:.LANCHOR2 cmp w23, 1 ldr w0, [x1,940] add w0, w0, 1 add w0, w0, w23, lsl 7 str w0, [x1,940] - bne .L2532 + bne .L2533 ldr w1, [x1,652] - cbnz w1, .L2523 + cbnz w1, .L2524 adrp x1, .LANCHOR0+136 ldrb w1, [x1,#:lo12:.LANCHOR0+136] - cbz w1, .L2532 -.L2523: + cbz w1, .L2533 +.L2524: add x20, x19, :lo12:.LANCHOR2 ldr w1, [x20,920] cmp w1, 29 - bhi .L2532 + bhi .L2533 adrp x21, .LANCHOR4 add x1, x21, :lo12:.LANCHOR4 ldrh w1, [x1,360] @@ -16455,17 +16464,17 @@ ftl_do_gc: ldrh w0, [x20,3920] mov w1, 65535 cmp w0, w1 - bne .L2532 + bne .L2533 ldrh w1, [x20,948] cmp w1, w0 - bne .L2532 + bne .L2533 ldr w0, [x20,940] cmp w0, 1024 - bhi .L2524 + bhi .L2525 ldrh w0, [x20,3600] cmp w0, 63 - bhi .L2532 -.L2524: + bhi .L2533 +.L2525: add x0, x19, :lo12:.LANCHOR2 add x1, x21, :lo12:.LANCHOR4 ldrh w2, [x0,954] @@ -16473,28 +16482,28 @@ ftl_do_gc: add w2, w2, 64 strh wzr, [x1,360] cmp w3, w2 - bgt .L2532 + bgt .L2533 str wzr, [x0,940] ldr w0, [x0,920] - cbnz w0, .L2525 + cbnz w0, .L2526 mov w0, 6 - b .L2683 -.L2525: - cmp w0, 5 - bhi .L2526 - mov w0, 18 -.L2683: - strh w0, [x1,360] + b .L2684 .L2526: + cmp w0, 5 + bhi .L2527 + mov w0, 18 +.L2684: + strh w0, [x1,360] +.L2527: mov w0, 32 mov w27, 65535 bl List_get_gc_head_node uxth w25, w0 cmp w25, w27 - beq .L2531 + beq .L2532 add x22, x19, :lo12:.LANCHOR2 ldrh w0, [x22,956] - cbz w0, .L2528 + cbz w0, .L2529 ldrh w1, [x22,820] ubfiz x25, x25, 1, 16 ldrh w3, [x22,748] @@ -16503,7 +16512,7 @@ ftl_do_gc: ldrh w2, [x26,x25] add w1, w1, 1 cmp w2, w1 - bgt .L2531 + bgt .L2532 add w1, w0, 1 str wzr, [x22,928] uxth w1, w1 @@ -16513,7 +16522,7 @@ ftl_do_gc: uxth w20, w0 cmp w20, w27 ldr x1, [x29,120] - beq .L2531 + beq .L2532 ubfiz x27, x20, 1, 16 adrp x0, .LC131 ldrh w4, [x26,x25] @@ -16523,161 +16532,161 @@ ftl_do_gc: bl printk ldrh w0, [x22,956] cmp w0, 40 - bls .L2529 + bls .L2530 ldr x0, [x22,1184] ldrh w0, [x0,x27] cmp w0, 32 - bls .L2529 + bls .L2530 strh wzr, [x22,956] -.L2529: +.L2530: add x21, x21, :lo12:.LANCHOR4 mov w0, 6 strh w0, [x21,360] - b .L2533 -.L2528: + b .L2534 +.L2529: mov w0, 1 strh w0, [x22,956] -.L2531: +.L2532: bl GetSwlReplaceBlock uxth w20, w0 mov w0, 65535 cmp w20, w0 - bne .L2533 + bne .L2534 add x21, x21, :lo12:.LANCHOR4 strh wzr, [x21,360] -.L2532: +.L2533: add x22, x19, :lo12:.LANCHOR2 mov w0, 65535 ldrh w20, [x22,3920] cmp w20, w0 - bne .L2689 + bne .L2690 ldrh w0, [x22,3704] cmp w0, w20 - beq .L2690 -.L2533: + beq .L2691 +.L2534: mov w0, 65535 cmp w20, w0 cset w1, eq - cbz w1, .L2546 - cbnz w23, .L2546 + cbz w1, .L2547 + cbnz w23, .L2547 add x0, x19, :lo12:.LANCHOR2 mov w21, 1 ldrh w1, [x0,3600] cmp w1, 24 - bhi .L2547 + bhi .L2548 cmp w1, 16 ldrh w21, [x0,818] - bls .L2548 - lsr w21, w21, 5 - b .L2547 -.L2548: - cmp w1, 12 bls .L2549 - lsr w21, w21, 4 - b .L2547 + lsr w21, w21, 5 + b .L2548 .L2549: + cmp w1, 12 + bls .L2550 + lsr w21, w21, 4 + b .L2548 +.L2550: lsr w0, w21, 2 cmp w1, 9 csel w21, w0, w21, cs -.L2547: +.L2548: add x0, x19, :lo12:.LANCHOR2 ldrh w2, [x0,952] cmp w2, w1 - bcs .L2551 + bcs .L2552 ldrh w1, [x0,3704] mov w2, 65535 cmp w1, w2 - bne .L2552 + bne .L2553 ldrh w2, [x0,948] cmp w2, w1 - bne .L2552 + bne .L2553 adrp x1, .LANCHOR4+360 ldrh w2, [x1,#:lo12:.LANCHOR4+360] - cbnz w2, .L2553 + cbnz w2, .L2554 ldr w1, [x0,1396] ldr w3, [x0,3892] add w1, w1, w1, lsl 1 cmp w3, w1, lsr 2 - bcs .L2554 + bcs .L2555 +.L2554: + add x1, x19, :lo12:.LANCHOR2 + ldrh w0, [x1,3916] + add w0, w0, w0, lsl 1 + asr w0, w0, 2 + strh w0, [x1,952] + b .L2556 +.L2555: + mov w1, 18 + strh w1, [x0,952] +.L2556: + add x19, x19, :lo12:.LANCHOR2 + str wzr, [x19,928] + b .L2662 .L2553: add x1, x19, :lo12:.LANCHOR2 ldrh w0, [x1,3916] add w0, w0, w0, lsl 1 asr w0, w0, 2 strh w0, [x1,952] - b .L2555 -.L2554: - mov w1, 18 - strh w1, [x0,952] -.L2555: - add x19, x19, :lo12:.LANCHOR2 - str wzr, [x19,928] - b .L2661 .L2552: - add x1, x19, :lo12:.LANCHOR2 - ldrh w0, [x1,3916] - add w0, w0, w0, lsl 1 - asr w0, w0, 2 - strh w0, [x1,952] -.L2551: cmp w24, 2 - bhi .L2616 + bhi .L2617 add x0, x19, :lo12:.LANCHOR2 ldr w0, [x0,652] - cbz w0, .L2616 + cbz w0, .L2617 add w21, w21, 1 uxth w21, w21 - b .L2616 -.L2546: + b .L2617 +.L2547: add x21, x19, :lo12:.LANCHOR2 mov w2, 65535 ldrh w0, [x21,3704] cmp w0, w2 - bne .L2558 - cbz w1, .L2558 + bne .L2559 + cbz w1, .L2559 ldrh w1, [x21,948] cmp w1, w0 - bne .L2558 + bne .L2559 ldrh w1, [x21,3920] cmp w1, w0 - beq .L2559 -.L2564: + beq .L2560 +.L2565: mov w20, 65535 - b .L2558 -.L2559: + b .L2559 +.L2560: ldrh w24, [x21,3600] adrp x20, .LANCHOR4 ldrh w0, [x21,952] str wzr, [x21,928] cmp w0, w24 - bcs .L2560 + bcs .L2561 add x0, x20, :lo12:.LANCHOR4 ldrh w0, [x0,360] - cbnz w0, .L2561 + cbnz w0, .L2562 ldr w0, [x21,1396] ldr w1, [x21,3892] add w0, w0, w0, lsl 1 cmp w1, w0, lsr 2 - bcs .L2562 -.L2561: + bcs .L2563 +.L2562: add x19, x19, :lo12:.LANCHOR2 ldrh w0, [x19,3916] add w0, w0, w0, lsl 1 asr w0, w0, 2 strh w0, [x19,952] - b .L2563 -.L2562: + b .L2564 +.L2563: mov w0, 18 strh w0, [x21,952] -.L2563: +.L2564: add x20, x20, :lo12:.LANCHOR4 bl FtlReadRefresh ldrh w2, [x20,360] - b .L2661 -.L2560: + b .L2662 +.L2561: add x22, x20, :lo12:.LANCHOR4 ldrh w0, [x22,360] - cbnz w0, .L2564 + cbnz w0, .L2565 ldrh w20, [x21,3916] add w1, w20, w20, lsl 1 asr w1, w1, 2 @@ -16692,82 +16701,82 @@ ftl_do_gc: mov w2, 2 sdiv w0, w0, w2 cmp w1, w0 - ble .L2565 + ble .L2566 sub w20, w20, #1 cmp w24, w20 - blt .L2565 + blt .L2566 bl FtlReadRefresh - b .L2687 -.L2565: - cbnz w1, .L2564 + b .L2688 +.L2566: + cbnz w1, .L2565 mov w0, -1 add x19, x19, :lo12:.LANCHOR2 bl decrement_vpc_count ldrh w2, [x19,3600] add w2, w2, 1 - b .L2661 -.L2558: + b .L2662 +.L2559: add x0, x19, :lo12:.LANCHOR2 mov w21, 2 ldr w0, [x0,652] cmp w0, wzr csinc w21, w21, wzr, ne - b .L2557 -.L2616: + b .L2558 +.L2617: mov w20, 65535 -.L2557: +.L2558: add x0, x19, :lo12:.LANCHOR2 mov w2, 65535 ldrh w1, [x0,3920] cmp w1, w2 - bne .L2567 + bne .L2568 cmp w20, w1 - beq .L2568 + beq .L2569 strh w20, [x0,3920] - b .L2569 -.L2568: + b .L2570 +.L2569: ldrh w1, [x0,948] cmp w1, w20 - beq .L2569 + beq .L2570 ubfiz x1, x1, 1, 16 ldr x2, [x0,1184] ldrh w1, [x2,x1] - cbnz w1, .L2570 + cbnz w1, .L2571 mov w1, -1 strh w1, [x0,948] -.L2570: +.L2571: add x0, x19, :lo12:.LANCHOR2 ldrh w1, [x0,948] strh w1, [x0,3920] mov w1, -1 strh w1, [x0,948] -.L2569: +.L2570: add x22, x19, :lo12:.LANCHOR2 mov w1, 65535 ldrh w0, [x22,3920] strb wzr, [x22,3928] cmp w0, w1 - beq .L2567 + beq .L2568 bl IsBlkInGcList - cbz w0, .L2572 + cbz w0, .L2573 mov w0, -1 strh w0, [x22,3920] -.L2572: +.L2573: adrp x0, .LANCHOR0+136 ldrb w0, [x0,#:lo12:.LANCHOR0+136] - cbz w0, .L2573 + cbz w0, .L2574 add x0, x19, :lo12:.LANCHOR2 add x22, x0, 3920 ldrh w0, [x0,3920] bl ftl_get_blk_mode strb w0, [x22,8] -.L2573: +.L2574: add x22, x19, :lo12:.LANCHOR2 mov w0, 65535 add x24, x22, 3920 ldrh w1, [x22,3920] cmp w1, w0 - beq .L2567 + beq .L2568 mov x0, x24 bl make_superblock strh wzr, [x22,3922] @@ -16779,61 +16788,61 @@ ftl_do_gc: strh wzr, [x0,362] ldrh w1, [x1,x2,lsl 1] strh w1, [x0,364] -.L2567: +.L2568: add x3, x19, :lo12:.LANCHOR2 ldrh w0, [x3,3920] ldrh w1, [x3,3608] cmp w1, w0 - beq .L2574 + beq .L2575 ldrh w1, [x3,3656] cmp w1, w0 - beq .L2574 -.L2575: + beq .L2575 +.L2576: mov x28, x3 mov w24, 65535 - b .L2576 -.L2574: + b .L2577 +.L2575: add x19, x19, :lo12:.LANCHOR2 mov w0, -1 strh w0, [x19,3920] - b .L2688 -.L2597: + b .L2689 +.L2598: ldrh w0, [x28,3922] add w21, w21, w0 uxth w21, w21 strh w21, [x28,3922] cmp w21, w25 - bcs .L2691 -.L2599: + bcs .L2692 +.L2600: ldrh w0, [x28,3600] cmp w0, 2 - bhi .L2602 + bhi .L2603 ldrh w21, [x28,818] -.L2576: +.L2577: ldrh w0, [x28,3920] cmp w0, w24 - bne .L2577 + bne .L2578 str wzr, [x28,928] adrp x25, .LANCHOR4 -.L2578: +.L2579: ldrh w22, [x28,956] mov w0, w22 bl List_get_gc_head_node uxth w26, w0 cmp w26, w24 strh w26, [x28,3920] - bne .L2579 + bne .L2580 strh wzr, [x28,956] mov w2, 8 - b .L2661 -.L2579: + b .L2662 +.L2580: mov w0, w26 add w22, w22, 1 bl IsBlkInGcList - cbz w0, .L2580 + cbz w0, .L2581 strh w22, [x28,956] - b .L2578 -.L2580: + b .L2579 +.L2581: ldrh w5, [x28,748] ubfiz x1, x26, 1, 16 ldrh w0, [x28,818] @@ -16845,49 +16854,49 @@ ftl_do_gc: ldrh w4, [x2,x1] sdiv w5, w0, w3 cmp w4, w5 - bgt .L2582 + bgt .L2583 cmp w4, 8 - bls .L2583 + bls .L2584 cmp w22, 48 - bls .L2583 + bls .L2584 add x4, x25, :lo12:.LANCHOR4 ldrh w4, [x4,176] cmp w4, 35 - bhi .L2583 -.L2582: - strh wzr, [x28,956] + bhi .L2584 .L2583: + strh wzr, [x28,956] +.L2584: ldrh w1, [x2,x1] cmp w1, w0 - blt .L2584 + blt .L2585 cmp w20, w24 - bne .L2584 + bne .L2585 add x19, x19, :lo12:.LANCHOR2 mov w0, -1 strh wzr, [x19,956] strh w0, [x19,3920] -.L2688: +.L2689: adrp x0, .LANCHOR4+360 ldrh w2, [x0,#:lo12:.LANCHOR4+360] - b .L2661 -.L2584: - cbnz w1, .L2585 + b .L2662 +.L2585: + cbnz w1, .L2586 mov w0, -1 bl decrement_vpc_count ldrh w0, [x28,956] add w0, w0, 1 strh w0, [x28,956] - b .L2578 -.L2585: + b .L2579 +.L2586: adrp x0, .LANCHOR0 strb wzr, [x28,3928] add x0, x0, :lo12:.LANCHOR0 ldrb w0, [x0,136] - cbz w0, .L2586 + cbz w0, .L2587 mov w0, w26 bl ftl_get_blk_mode strb w0, [x28,3928] -.L2586: +.L2587: add x22, x28, 3920 mov x0, x22 bl make_superblock @@ -16900,47 +16909,47 @@ ftl_do_gc: strh w0, [x1,364] strh wzr, [x28,3922] strb wzr, [x28,3926] -.L2577: +.L2578: cmp w23, 1 - bne .L2587 + bne .L2588 bl FtlReadRefresh -.L2587: +.L2588: mov w0, 1 str w0, [x28,924] adrp x0, .LANCHOR0 ldrh w25, [x28,818] add x0, x0, :lo12:.LANCHOR0 ldrb w0, [x0,136] - cbz w0, .L2588 + cbz w0, .L2589 ldrb w0, [x28,3928] cmp w0, 1 - bne .L2588 + bne .L2589 ldrh w25, [x28,820] -.L2588: +.L2589: ldrh w0, [x28,3922] add w1, w0, w21 cmp w1, w25 - ble .L2589 + ble .L2590 sub w21, w25, w0 uxth w21, w21 -.L2589: - mov w26, 0 .L2590: + mov w26, 0 +.L2591: cmp w21, w26, uxth - bls .L2597 + bls .L2598 add x1, x28, 3920 ldrh w4, [x1,2] mov x0, 0 ldrh w6, [x28,748] add w4, w4, w26 mov w22, w0 -.L2598: +.L2599: cmp w6, w0, uxth - bls .L2692 + bls .L2693 add x2, x1, x0, lsl 1 ldrh w2, [x2,16] cmp w2, w24 - beq .L2591 + beq .L2592 mov w3, 56 ldr x7, [x28,1024] orr w2, w4, w2, lsl 10 @@ -16949,18 +16958,18 @@ ftl_do_gc: add x5, x7, x5 uxth w22, w22 str w2, [x5,4] -.L2591: +.L2592: add x0, x0, 1 - b .L2598 -.L2692: + b .L2599 +.L2693: ldr x0, [x28,1024] mov w1, w22 ldrb w2, [x28,3928] mov x27, 0 bl FlashReadPages -.L2593: +.L2594: cmp w22, w27, uxth - bls .L2693 + bls .L2694 mov x0, 56 mul x5, x27, x0 ldr x0, [x28,1024] @@ -16968,11 +16977,11 @@ ftl_do_gc: ldr w0, [x0,x5] cmn w0, #1 ldr x4, [x1,16] - beq .L2618 + beq .L2619 ldrh w0, [x4] mov w1, 61589 cmp w0, w1 - bne .L2618 + bne .L2619 ldr w0, [x4,8] add x1, x29, 140 mov w2, 0 @@ -16987,7 +16996,7 @@ ftl_do_gc: and w0, w0, 2147483647 ldr w1, [x6,4] cmp w0, w1 - bne .L2618 + bne .L2619 adrp x0, .LANCHOR4 ldr x1, [x28,1000] add x2, x0, :lo12:.LANCHOR4 @@ -17038,72 +17047,72 @@ ftl_do_gc: adrp x0, .LANCHOR0 add x0, x0, :lo12:.LANCHOR0 ldrb w0, [x0,136] - cbnz w0, .L2595 + cbnz w0, .L2596 ldr x6, [x29,112] ldr x2, [x29,120] ldrb w0, [x6,7] ldr w1, [x2,144] cmp w1, w0 - beq .L2595 + beq .L2596 ldrh w0, [x6,4] - cbnz w0, .L2618 -.L2595: + cbnz w0, .L2619 +.L2596: bl Ftl_gc_temp_data_write_back - cbz w0, .L2618 + cbz w0, .L2619 adrp x0, .LANCHOR4 add x19, x19, :lo12:.LANCHOR2 add x0, x0, :lo12:.LANCHOR4 str wzr, [x19,924] ldrh w2, [x0,360] - b .L2661 -.L2618: + b .L2662 +.L2619: add x27, x27, 1 - b .L2593 -.L2693: + b .L2594 +.L2694: add w26, w26, 1 - b .L2590 -.L2691: + b .L2591 +.L2692: adrp x0, .LANCHOR4 add x22, x0, :lo12:.LANCHOR4 mov x21, x0 ldr w1, [x22,144] - cbz w1, .L2600 + cbz w1, .L2601 bl Ftl_gc_temp_data_write_back - cbz w0, .L2600 + cbz w0, .L2601 str wzr, [x28,924] -.L2687: +.L2688: ldrh w2, [x22,360] - b .L2661 -.L2600: + b .L2662 +.L2601: add x0, x21, :lo12:.LANCHOR4 ldrh w2, [x0,362] - cbnz w2, .L2601 + cbnz w2, .L2602 ldrh w0, [x28,3920] ldr x1, [x28,1184] lsl x0, x0, 1 ldrh w4, [x1,x0] - cbz w4, .L2601 + cbz w4, .L2602 strh w2, [x1,x0] ldrh w0, [x28,3920] bl update_vpc_list bl FtlCacheWriteBack bl l2p_flush bl FtlVpcTblFlush -.L2601: +.L2602: mov w0, -1 strh w0, [x28,3920] - b .L2599 -.L2602: + b .L2600 +.L2603: adrp x1, .LANCHOR4+360 str wzr, [x28,924] ldrh w2, [x1,#:lo12:.LANCHOR4+360] cmp w2, wzr csinc w2, w2, w0, ne - b .L2661 -.L2690: + b .L2662 +.L2691: ldrh w25, [x22,948] cmp w25, w20 - bne .L2533 + bne .L2534 ldrh w0, [x22,3600] mov w2, 1024 ldr w1, [x22,940] @@ -17111,37 +17120,37 @@ ftl_do_gc: mov w0, 5120 csel w0, w0, w2, cc cmp w1, w0 - bls .L2533 + bls .L2534 adrp x0, .LANCHOR4+360 str wzr, [x22,940] strh wzr, [x0,#:lo12:.LANCHOR4+360] bl GetSwlReplaceBlock uxth w20, w0 cmp w20, w25 - bne .L2535 + bne .L2536 ldrh w1, [x22,3600] ldrh w0, [x22,954] cmp w1, w0 - bcs .L2536 + bcs .L2537 mov w0, 64 bl List_get_gc_head_node uxth w0, w0 cmp w0, w20 - beq .L2545 + beq .L2546 ldr w2, [x22,864] uxtw x1, w0 - cbnz w2, .L2538 + cbnz w2, .L2539 ldrh w0, [x22,768] cmp w0, 3 - beq .L2538 + beq .L2539 ldr w0, [x22,868] - cbnz w0, .L2538 + cbnz w0, .L2539 ldr w0, [x22,652] - cbnz w0, .L2538 + cbnz w0, .L2539 adrp x0, .LANCHOR0+136 ldrb w0, [x0,#:lo12:.LANCHOR0+136] - cbz w0, .L2539 -.L2538: + cbz w0, .L2540 +.L2539: add x2, x19, :lo12:.LANCHOR2 ldr x0, [x2,1184] ldrh w4, [x0,x1,lsl 1] @@ -17155,7 +17164,7 @@ ftl_do_gc: csel w0, w1, w0, eq add w0, w3, w0 cmp w4, w0 - bgt .L2541 + bgt .L2542 mov w0, 0 bl List_get_gc_head_node uxth w20, w0 @@ -17164,40 +17173,40 @@ ftl_do_gc: ldr w2, [x0,3892] add w1, w1, w1, lsl 1 cmp w2, w1, lsr 2 - bhi .L2685 + bhi .L2686 mov w1, 160 - b .L2684 -.L2541: + b .L2685 +.L2542: add x0, x19, :lo12:.LANCHOR2 mov w1, 128 - b .L2686 -.L2539: + b .L2687 +.L2540: ldr x2, [x22,1184] ldrh w1, [x2,x1,lsl 1] cmp w1, 7 - bhi .L2544 + bhi .L2545 bl List_get_gc_head_node uxth w20, w0 add x0, x19, :lo12:.LANCHOR2 -.L2685: +.L2686: mov w1, 128 -.L2684: +.L2685: strh w1, [x0,954] mov w0, 65535 cmp w20, w0 - beq .L2545 - b .L2535 -.L2544: + beq .L2546 + b .L2536 +.L2545: add x0, x19, :lo12:.LANCHOR2 mov w1, 64 -.L2686: +.L2687: strh w1, [x0,954] - b .L2545 -.L2536: + b .L2546 +.L2537: mov w0, 80 strh w0, [x22,954] - b .L2545 -.L2535: + b .L2546 +.L2536: add x5, x19, :lo12:.LANCHOR2 ubfiz x4, x20, 1, 32 adrp x0, .LC132 @@ -17210,13 +17219,13 @@ ftl_do_gc: ldrh w5, [x5,952] ldrh w4, [x6,x4] bl printk -.L2545: +.L2546: bl FtlGcReFreshBadBlk - b .L2533 -.L2689: + b .L2534 +.L2690: mov w20, w0 - b .L2533 -.L2661: + b .L2534 +.L2662: mov w0, w2 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -17237,135 +17246,136 @@ FtlCacheWriteBack: adrp x19, .LANCHOR2 ldr x20, [x0,#:lo12:.LANCHOR4+368] add x0, x19, :lo12:.LANCHOR2 - str x27, [sp,80] stp x21, x22, [sp,32] stp x23, x24, [sp,48] stp x25, x26, [sp,64] + stp x27, x28, [sp,80] ldr w22, [x0,1400] - cbnz w22, .L2696 + cbnz w22, .L2697 ldr w1, [x0,968] - cbz w1, .L2696 + cbz w1, .L2697 adrp x0, .LANCHOR0+136 ldrb w0, [x0,#:lo12:.LANCHOR0+136] - cbz w0, .L2698 + cbz w0, .L2699 ldrb w0, [x20,8] cmp w0, 1 cset w22, eq -.L2698: +.L2699: add x0, x19, :lo12:.LANCHOR2 ldrb w3, [x20,9] - adrp x24, .LC133 + adrp x25, .LC133 mov w2, w22 mov w23, 0 mov w26, 56 ldr x0, [x0,1032] - add x24, x24, :lo12:.LC133 + add x25, x25, :lo12:.LC133 bl FlashProgPages -.L2699: +.L2700: add x0, x19, :lo12:.LANCHOR2 ldr w1, [x0,968] cmp w23, w1 - bcs .L2716 + bcs .L2718 umull x21, w23, w26 ldr x1, [x0,1032] add x0, x1, x21 - ldr w25, [x1,x21] - cmn w25, #1 - beq .L2719 + ldr w24, [x1,x21] + cmn w24, #1 + beq .L2721 ldr w1, [x0,4] - cbz w22, .L2733 + cbz w22, .L2735 orr w1, w1, -2147483648 -.L2733: +.L2735: ldr w0, [x0,24] mov w2, 1 str w1, [x29,108] - add x25, x19, :lo12:.LANCHOR2 + add x24, x19, :lo12:.LANCHOR2 add x1, x29, 108 bl log2phys - ldr x0, [x25,1032] + ldr x0, [x24,1032] add x21, x0, x21 ldr x0, [x21,16] ldr w0, [x0,12] cmn w0, #1 - beq .L2703 + beq .L2704 lsr x0, x0, 10 bl P2V_block_in_plane uxth w1, w0 ubfiz x0, x1, 1, 16 - ldr x2, [x25,1184] + ldr x2, [x24,1184] mov w21, w1 ldrh w2, [x2,x0] - cbnz w2, .L2704 - mov x0, x24 + cbnz w2, .L2705 + mov x0, x25 bl printk -.L2704: +.L2705: mov w0, w21 bl decrement_vpc_count -.L2703: +.L2704: add w23, w23, 1 - b .L2699 -.L2735: + b .L2700 +.L2737: mov w20, 16386 -.L2715: +.L2717: add x0, x19, :lo12:.LANCHOR2 ldrh w0, [x0,958] - cbz w0, .L2716 + cbz w0, .L2718 mov w0, 1 mov w1, w0 bl ftl_do_gc subs w20, w20, #1 - bne .L2715 -.L2716: + bne .L2717 +.L2718: add x19, x19, :lo12:.LANCHOR2 str wzr, [x19,968] - b .L2696 -.L2719: - adrp x26, .LC133 - mov w24, 0 - mov w27, 56 - add x26, x26, :lo12:.LC133 -.L2700: + b .L2697 +.L2721: + adrp x25, .LC133 + mov w23, 0 + mov w26, 56 + mov w27, 1 + add x25, x25, :lo12:.LC133 +.L2701: add x0, x19, :lo12:.LANCHOR2 ldr w1, [x0,968] - cmp w24, w1 - bcs .L2735 - umull x21, w24, w27 + cmp w23, w1 + bcs .L2737 + umull x21, w23, w26 ldr x0, [x0,1032] - str w25, [x0,x21] -.L2706: - add x23, x19, :lo12:.LANCHOR2 - ldr x0, [x23,1032] + str w24, [x0,x21] +.L2707: + add x28, x19, :lo12:.LANCHOR2 + ldr x0, [x28,1032] add x1, x0, x21 ldr w0, [x0,x21] cmn w0, #1 ldr w0, [x1,4] - bne .L2736 + bne .L2738 lsr x0, x0, 10 bl P2V_block_in_plane ldrh w1, [x20] cmp w1, w0, uxth - bne .L2707 - ldr x2, [x23,1184] + bne .L2708 + ldr x2, [x28,1184] ubfiz x1, x1, 1, 16 ldrh w3, [x20,4] ldrh w0, [x2,x1] sub w0, w0, w3 strh w0, [x2,x1] strb wzr, [x20,6] - ldrh w0, [x23,818] + ldrh w0, [x28,818] strh w0, [x20,2] strh wzr, [x20,4] -.L2707: +.L2708: ldrh w0, [x20,4] - cbnz w0, .L2708 + cbnz w0, .L2709 mov x0, x20 bl allocate_new_data_superblock -.L2708: - add x23, x19, :lo12:.LANCHOR2 - ldr w0, [x23,4064] +.L2709: + add x28, x19, :lo12:.LANCHOR2 + ldr w0, [x28,4064] add w0, w0, 1 - str w0, [x23,4064] - ldr x0, [x23,1032] + str w0, [x28,4064] + ldr x0, [x28,1032] add x0, x0, x21 ldr w0, [x0,4] lsr x0, x0, 10 @@ -17373,57 +17383,64 @@ FtlCacheWriteBack: mov x0, x20 bl get_new_active_ppa str w0, [x29,108] - ldr x1, [x23,1032] + ldr x1, [x28,1032] mov w2, w22 add x1, x1, x21 str w0, [x1,4] mov w1, 1 - ldr x0, [x23,1032] + ldr x0, [x28,1032] ldrb w3, [x20,9] add x0, x0, x21 bl FlashProgPages - ldr w0, [x23,1400] - cbz w0, .L2706 - b .L2696 -.L2736: - cbz w22, .L2734 + ldr x0, [x28,1032] + ldr w0, [x0,x21] + cmn w0, #1 + bne .L2710 + str w27, [x28,1400] +.L2710: + add x0, x19, :lo12:.LANCHOR2 + ldr w0, [x0,1400] + cbz w0, .L2707 + b .L2697 +.L2738: + cbz w22, .L2736 orr w0, w0, -2147483648 -.L2734: +.L2736: str w0, [x29,108] mov w2, 1 ldr w0, [x1,24] - add x23, x19, :lo12:.LANCHOR2 + add x28, x19, :lo12:.LANCHOR2 add x1, x29, 108 bl log2phys - ldr x0, [x23,1032] + ldr x0, [x28,1032] add x21, x0, x21 ldr x0, [x21,16] ldr w0, [x0,12] cmn w0, #1 - beq .L2712 + beq .L2714 lsr x0, x0, 10 bl P2V_block_in_plane uxth w1, w0 ubfiz x0, x1, 1, 16 - ldr x2, [x23,1184] + ldr x2, [x28,1184] mov w21, w1 ldrh w2, [x2,x0] - cbnz w2, .L2713 - mov x0, x26 + cbnz w2, .L2715 + mov x0, x25 bl printk -.L2713: +.L2715: mov w0, w21 bl decrement_vpc_count -.L2712: - add w24, w24, 1 - b .L2700 -.L2696: +.L2714: + add w23, w23, 1 + b .L2701 +.L2697: mov w0, 0 - ldr x27, [sp,80] 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], 112 ret .size FtlCacheWriteBack, .-FtlCacheWriteBack @@ -17435,13 +17452,13 @@ FtlSysFlush: stp x29, x30, [sp, -16]! add x29, sp, 0 ldr w0, [x0,#:lo12:.LANCHOR2+1400] - cbnz w0, .L2738 + cbnz w0, .L2740 bl FtlCacheWriteBack bl l2p_flush mov w0, 1 bl FtlEctTblFlush bl FtlVpcTblFlush -.L2738: +.L2740: mov w0, 0 ldp x29, x30, [sp], 16 ret @@ -17455,9 +17472,9 @@ FtlDeInit: add x29, sp, 0 ldr w0, [x0,#:lo12:.LANCHOR1+3064] cmp w0, 1 - bne .L2740 + bne .L2742 bl FtlSysFlush -.L2740: +.L2742: mov w0, 0 ldp x29, x30, [sp], 16 ret @@ -17500,40 +17517,40 @@ ftl_discard: ldr w1, [x0,#:lo12:.LANCHOR0+4048] mov w0, -1 cmp w2, w1 - bhi .L2744 + bhi .L2746 cmp w19, 31 - bls .L2758 + bls .L2760 adrp x22, .LANCHOR2 add x21, x22, :lo12:.LANCHOR2 ldr w0, [x21,1400] - cbnz w0, .L2758 + cbnz w0, .L2760 bl FtlCacheWriteBack ldrh w1, [x21,824] udiv w21, w20, w1 msub w20, w1, w21, w20 uxth w20, w20 - cbz w20, .L2747 + cbz w20, .L2749 sub w1, w1, w20 add w21, w21, 1 cmp w1, w19 csel w1, w1, w19, ls sub w19, w19, w1, uxth -.L2747: +.L2749: mov w0, -1 adrp x23, .LANCHOR4 str w0, [x29,76] -.L2748: +.L2750: add x20, x22, :lo12:.LANCHOR2 ldrh w0, [x20,824] cmp w19, w0 - bcc .L2759 + bcc .L2761 mov w0, w21 add x1, x29, 72 mov w2, 0 bl log2phys ldr w0, [x29,72] cmn w0, #1 - beq .L2749 + beq .L2751 add x1, x23, :lo12:.LANCHOR4 mov w2, 1 ldr w0, [x1,376] @@ -17549,24 +17566,24 @@ ftl_discard: lsr x0, x0, 10 bl P2V_block_in_plane bl decrement_vpc_count -.L2749: +.L2751: add x0, x22, :lo12:.LANCHOR2 add w21, w21, 1 ldrh w0, [x0,824] sub w19, w19, w0 - b .L2748 -.L2759: + b .L2750 +.L2761: adrp x0, .LANCHOR4 add x0, x0, :lo12:.LANCHOR4 ldr w1, [x0,376] cmp w1, 32 - bls .L2758 + bls .L2760 str wzr, [x0,376] bl l2p_flush bl FtlVpcTblFlush -.L2758: +.L2760: mov w0, 0 -.L2744: +.L2746: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldr x23, [sp,48] @@ -17587,12 +17604,12 @@ FtlGcFreeTempBlock: stp x25, x26, [sp,64] ldr w3, [x2,1400] ldrh w1, [x2,818] - cbnz w3, .L2795 + cbnz w3, .L2797 ldrh w20, [x2,3704] mov w4, 65535 cmp w20, w4 - bne .L2763 -.L2772: + bne .L2765 +.L2774: add x20, x19, :lo12:.LANCHOR2 adrp x21, .LANCHOR4 add x22, x21, :lo12:.LANCHOR4 @@ -17601,7 +17618,7 @@ FtlGcFreeTempBlock: ldrh w1, [x20,3704] str wzr, [x22,168] cmp w1, w0 - beq .L2795 + beq .L2797 bl FtlCacheWriteBack mov w26, 12 ldrb w0, [x23,7] @@ -17615,44 +17632,44 @@ FtlGcFreeTempBlock: ldr w0, [x20,880] add w0, w1, w0 str w0, [x20,880] - b .L2773 -.L2763: - cbz w0, .L2766 + b .L2775 +.L2765: + cbz w0, .L2768 adrp x0, .LANCHOR1 add x0, x0, :lo12:.LANCHOR1 ldrh w5, [x0,3068] cmp w5, w4 - beq .L2767 -.L2768: + beq .L2769 +.L2770: mov w1, 2 - b .L2766 -.L2767: + b .L2768 +.L2769: strh w3, [x0,3068] ldrh w0, [x2,3600] cmp w0, 17 - bhi .L2768 -.L2766: + bhi .L2770 +.L2768: add x21, x19, :lo12:.LANCHOR2 add x0, x21, 3704 bl FtlGcScanTempBlk str w0, [x29,92] cmn w0, #1 - beq .L2769 + beq .L2771 ubfiz x20, x20, 1, 16 ldr x1, [x21,1168] ldrh w0, [x1,x20] cmp w0, 4 - bls .L2770 + bls .L2772 sub w0, w0, #5 strh w0, [x1,x20] mov w0, 1 bl FtlEctTblFlush -.L2770: +.L2772: adrp x0, .LANCHOR4 add x1, x0, :lo12:.LANCHOR4 mov x20, x0 ldr w1, [x1,168] - cbnz w1, .L2771 + cbnz w1, .L2773 add x19, x19, :lo12:.LANCHOR2 ldr w0, [x19,4064] add w0, w0, 1 @@ -17661,20 +17678,20 @@ FtlGcFreeTempBlock: lsr w0, w0, 10 bl FtlBbmMapBadBlock bl FtlBbmTblFlush -.L2771: +.L2773: add x0, x20, :lo12:.LANCHOR4 str wzr, [x0,168] mov w0, 1 - b .L2762 -.L2769: + b .L2764 +.L2771: adrp x0, .LANCHOR1+3068 mov w1, 65535 ldrh w2, [x0,#:lo12:.LANCHOR1+3068] mov w0, 1 cmp w2, w1 - bne .L2762 - b .L2772 -.L2776: + bne .L2764 + b .L2774 +.L2778: ldr x25, [x20,984] add x1, x29, 92 umull x24, w22, w26 @@ -17685,7 +17702,7 @@ FtlGcFreeTempBlock: ldr w0, [x29,92] ldr w1, [x25,x24] cmp w0, w1 - bne .L2774 + bne .L2776 lsr x0, x0, 10 bl P2V_block_in_plane mov w24, w0 @@ -17694,47 +17711,47 @@ FtlGcFreeTempBlock: mov w2, 1 bl log2phys mov w0, w24 -.L2794: +.L2796: bl decrement_vpc_count -.L2775: +.L2777: add w22, w22, 1 uxth w22, w22 -.L2773: +.L2775: add x0, x21, :lo12:.LANCHOR4 ldrh w0, [x0,178] cmp w0, w22 - bhi .L2776 - b .L2796 -.L2774: + bhi .L2778 + b .L2798 +.L2776: ldr w1, [x23,4] cmp w0, w1 - beq .L2775 + beq .L2777 ldrh w0, [x20,3704] - b .L2794 -.L2796: + b .L2796 +.L2798: mov w0, -1 adrp x20, .LANCHOR0 bl decrement_vpc_count add x0, x20, :lo12:.LANCHOR0 ldrb w0, [x0,136] - cbz w0, .L2777 + cbz w0, .L2779 add x1, x19, :lo12:.LANCHOR2 adrp x0, .LC134 add x0, x0, :lo12:.LC134 ldrh w1, [x1,3704] bl printk -.L2777: +.L2779: add x1, x19, :lo12:.LANCHOR2 ldrh w0, [x1,3704] ldr x1, [x1,1184] ubfiz x2, x0, 1, 16 ldrh w1, [x1,x2] - cbz w1, .L2778 + cbz w1, .L2780 bl INSERT_DATA_LIST - b .L2779 -.L2778: + b .L2781 +.L2780: bl INSERT_FREE_LIST -.L2779: +.L2781: add x22, x19, :lo12:.LANCHOR2 add x21, x21, :lo12:.LANCHOR4 mov w0, -1 @@ -17744,42 +17761,42 @@ FtlGcFreeTempBlock: bl l2p_flush bl FtlVpcTblFlush ldr w0, [x22,652] - cbz w0, .L2780 + cbz w0, .L2782 ldr w0, [x22,920] cmp w0, 29 - bhi .L2780 + bhi .L2782 ldrh w0, [x22,3916] ldrh w1, [x22,3600] cmp w1, w0 - bcs .L2781 + bcs .L2783 lsl w0, w0, 1 strh w0, [x22,952] -.L2781: +.L2783: add x19, x19, :lo12:.LANCHOR2 mov w0, -1 strh w0, [x19,3920] -.L2795: +.L2797: mov w0, 0 - b .L2762 -.L2780: + b .L2764 +.L2782: add x19, x19, :lo12:.LANCHOR2 ldrh w1, [x19,3916] ldrh w0, [x19,3600] add w2, w1, w1, lsl 1 cmp w0, w2, lsr 2 - ble .L2795 + ble .L2797 add x20, x20, :lo12:.LANCHOR0 mov w0, -1 strh w0, [x19,3920] ldrb w0, [x20,136] - cbz w0, .L2782 + cbz w0, .L2784 sub w1, w1, #2 strh w1, [x19,952] - b .L2795 -.L2782: + b .L2797 +.L2784: mov w1, 20 strh w1, [x19,952] -.L2762: +.L2764: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -17803,14 +17820,14 @@ FtlGcPageRecovery: ldrh w1, [x19,3706] ldrh w0, [x19,818] cmp w1, w0 - bcc .L2797 + bcc .L2799 add x0, x19, 3752 bl FtlMapBlkWriteDumpData mov w0, 0 bl FtlGcFreeTempBlock adrp x0, .LANCHOR4+168 str wzr, [x0,#:lo12:.LANCHOR4+168] -.L2797: +.L2799: ldp x19, x20, [sp,16] ldp x29, x30, [sp], 32 ret @@ -17845,6 +17862,522 @@ FtlPowerLostRecovery: ret .size FtlPowerLostRecovery, .-FtlPowerLostRecovery .align 2 + .global FtlSysBlkInit + .type FtlSysBlkInit, %function +FtlSysBlkInit: + stp x29, x30, [sp, -64]! + mov w1, -1 + add x29, sp, 0 + stp x19, x20, [sp,16] + adrp x19, .LANCHOR4 + adrp x20, .LANCHOR2 + stp x21, x22, [sp,32] + add x0, x19, :lo12:.LANCHOR4 + add x21, x20, :lo12:.LANCHOR2 + str x23, [sp,48] + strh w1, [x0,218] + strh wzr, [x0,220] + ldrh w0, [x21,752] + bl FtlFreeSysBlkQueueInit + bl FtlScanSysBlk + ldrh w1, [x21,3896] + mov w0, 65535 + cmp w1, w0 + bne .L2803 +.L2805: + mov w23, -1 + b .L2804 +.L2803: + bl FtlLoadSysInfo + mov w23, w0 + cbnz w0, .L2805 + bl FtlLoadMapInfo + bl FtlLoadVonderInfo + bl Ftl_load_ext_data + bl FtlLoadEctTbl + bl FtlFreeSysBLkSort + bl SupperBlkListInit + bl FtlPowerLostRecovery + mov w0, 1 + bl FtlUpdateVaildLpn + ldrh w2, [x21,858] + mov x1, 0 + ldr x0, [x21,1264] +.L2806: + cmp w1, w2 + mov w3, w1 + bge .L2810 + add x4, x0, x1, lsl 4 + add x1, x1, 1 + ldr w4, [x4,4] + tbz w4, #31, .L2806 +.L2810: + add x0, x20, :lo12:.LANCHOR2 + cmp w3, w2 + ldrh w1, [x0,3548] + add w1, w1, 1 + strh w1, [x0,3548] + blt .L2807 + add x19, x19, :lo12:.LANCHOR4 + ldrh w0, [x19,220] + cbz w0, .L2811 +.L2807: + add x19, x20, :lo12:.LANCHOR2 + add x22, x19, 3608 + add x21, x19, 3656 + mov x0, x22 + bl FtlSuperblockPowerLostFix + mov x0, x21 + bl FtlSuperblockPowerLostFix + ldrh w0, [x19,3608] + ldr x2, [x19,1184] + lsl x0, x0, 1 + ldrh w3, [x19,3612] + ldrh w1, [x2,x0] + sub w1, w1, w3 + strh w1, [x2,x0] + strb wzr, [x19,3614] + ldrh w0, [x19,818] + strh w0, [x19,3610] + ldrh w0, [x19,3656] + ldr x2, [x19,1184] + lsl x0, x0, 1 + strh wzr, [x19,3612] + ldrh w3, [x19,3660] + ldrh w1, [x2,x0] + sub w1, w1, w3 + strh w1, [x2,x0] + strb wzr, [x19,3662] + ldrh w0, [x19,818] + strh w0, [x19,3658] + add x0, x19, 3752 + strh wzr, [x19,3660] + bl FtlMapBlkWriteDumpData + add x0, x19, 3824 + bl FtlMapBlkWriteDumpData + ldrh w0, [x19,3550] + add w0, w0, 1 + strh w0, [x19,3550] + bl l2p_flush + bl FtlVpcTblFlush + bl FtlVpcTblFlush +.L2811: + add x19, x20, :lo12:.LANCHOR2 + mov w0, 65535 + add x22, x19, 3608 + ldrh w1, [x19,3608] + cmp w1, w0 + beq .L2812 + ldrh w0, [x19,3612] + cbnz w0, .L2812 + ldrh w0, [x19,3660] + add x21, x19, 3656 + cbnz w0, .L2812 + bl FtlVpcTblFlush + ldrh w0, [x19,3608] + bl FtlGcRefreshOpenBlock + ldrh w0, [x19,3656] + bl FtlGcRefreshOpenBlock + mov x0, x22 + bl allocate_new_data_superblock + mov x0, x21 + bl allocate_new_data_superblock + add x0, x19, 3824 + bl FtlMapBlkWriteDumpData +.L2812: + add x20, x20, :lo12:.LANCHOR2 + ldrh w0, [x20,3548] + and w0, w0, 31 + cbnz w0, .L2804 + bl FtlVpcCheckAndModify +.L2804: + mov w0, w23 + ldr x23, [sp,48] + ldp x19, x20, [sp,16] + ldp x21, x22, [sp,32] + ldp x29, x30, [sp], 64 + ret + .size FtlSysBlkInit, .-FtlSysBlkInit + .align 2 + .global FtlLowFormat + .type FtlLowFormat, %function +FtlLowFormat: + stp x29, x30, [sp, -48]! + add x29, sp, 0 + stp x19, x20, [sp,16] + adrp x19, .LANCHOR2 + add x20, x19, :lo12:.LANCHOR2 + stp x21, x22, [sp,32] + ldr w21, [x20,1400] + cbnz w21, .L2820 + ldrh w2, [x20,856] + mov w1, w21 + ldr x0, [x20,1248] + lsl w2, w2, 2 + bl ftl_memset + ldrh w2, [x20,856] + mov w1, w21 + ldr x0, [x20,1240] + lsl w2, w2, 2 + bl ftl_memset + str w21, [x20,872] + ldrh w0, [x20,752] + str w21, [x20,876] + bl FtlFreeSysBlkQueueInit + bl FtlLoadBbt + cbz w0, .L2821 + bl FtlMakeBbt +.L2821: + mov w0, 0 +.L2822: + add x1, x19, :lo12:.LANCHOR2 + ldrh w2, [x1,824] + cmp w0, w2, lsl 7 + bge .L2849 + ubfiz x3, x0, 2, 16 + ldr x4, [x1,1088] + mvn w2, w0 + orr w2, w0, w2, lsl 16 + str w2, [x4,x3] + add w0, w0, 1 + ldr x2, [x1,1096] + mov w1, 23752 + movk w1, 0xa0f, lsl 16 + uxth w0, w0 + str w1, [x2,x3] + b .L2822 +.L2849: + ldrh w21, [x1,756] + mov w20, 0 +.L2824: + add x22, x19, :lo12:.LANCHOR2 + ldrh w0, [x22,758] + cmp w0, w21 + bls .L2850 + mov w0, w21 + mov w1, 1 + add w21, w21, 1 + bl FtlLowFormatEraseBlock + add w0, w20, w0 + uxth w21, w21 + uxth w20, w0 + b .L2824 +.L2850: + ldrh w0, [x22,748] + sub w1, w20, #3 + cmp w1, w0, lsl 1 + bge .L2826 +.L2830: + mov w20, 0 + mov w21, w20 + b .L2827 +.L2826: + udiv w20, w20, w0 + ldr w0, [x22,852] + add w0, w20, w0 + bl FtlSysBlkNumInit + ldrh w0, [x22,752] + bl FtlFreeSysBlkQueueInit + ldrh w20, [x22,756] +.L2828: + add x0, x19, :lo12:.LANCHOR2 + ldrh w0, [x0,758] + cmp w0, w20 + bls .L2830 + mov w0, w20 + mov w1, 1 + add w20, w20, 1 + bl FtlLowFormatEraseBlock + uxth w20, w20 + b .L2828 +.L2827: + add x2, x19, :lo12:.LANCHOR2 + ldrh w0, [x2,756] + cmp w0, w21 + bls .L2851 + mov w0, w21 + mov w1, 0 + add w21, w21, 1 + bl FtlLowFormatEraseBlock + add w0, w20, w0 + uxth w21, w21 + uxth w20, w0 + b .L2827 +.L2851: + ldrh w3, [x2,748] + ldr w1, [x2,760] + ldrh w0, [x2,758] + str w0, [x2,944] + udiv w4, w1, w3 + str w4, [x2,1396] + ubfx x5, x4, 5, 16 + add w0, w5, 36 + strh w0, [x2,3916] + mov w0, 24 + mul w0, w3, w0 + cmp w20, w0 + ble .L2832 + sub w1, w1, w20 + udiv w1, w1, w3 + str w1, [x2,1396] + lsr w1, w1, 5 + add w1, w1, 24 + strh w1, [x2,3916] +.L2832: + add x2, x19, :lo12:.LANCHOR2 + ldr w0, [x2,652] + cmp w0, 1 + bne .L2833 + ldrh w1, [x2,3916] + udiv w0, w20, w3 + add w0, w1, w0 + add w0, w1, w0, asr 2 + strh w0, [x2,3916] +.L2833: + adrp x21, .LANCHOR0 + add x0, x21, :lo12:.LANCHOR0 + ldrb w0, [x0,136] + cbz w0, .L2834 + add x1, x19, :lo12:.LANCHOR2 + udiv w0, w20, w3 + ldrh w2, [x1,3916] + add w0, w2, w0 + add w0, w2, w0, asr 2 + strh w0, [x1,3916] +.L2834: + add x0, x19, :lo12:.LANCHOR2 + ldrh w1, [x0,810] + cbz w1, .L2836 + ldrh w2, [x0,3916] + add w2, w2, w1, lsr 1 + strh w2, [x0,3916] + mul w2, w1, w3 + cmp w2, w20 + ble .L2836 + add w1, w1, 32 + str w4, [x0,1396] + add w1, w5, w1 + strh w1, [x0,3916] +.L2836: + add x19, x19, :lo12:.LANCHOR2 + add x21, x21, :lo12:.LANCHOR0 + add x20, x19, 3608 + mov w22, -1 + ldr w1, [x19,1396] + ldrh w0, [x19,3916] + sub w0, w1, w0 + ldrh w1, [x19,818] + mul w0, w0, w3 + str w0, [x19,3912] + mul w0, w0, w1 + ldrh w1, [x19,824] + str w0, [x19,1396] + mul w0, w0, w1 + str w0, [x21,4048] + bl FtlBbmTblFlush + ldrh w2, [x19,758] + mov w1, 0 + ldr x0, [x19,1184] + lsl w2, w2, 1 + bl ftl_memset + str wzr, [x19,3892] + mov w0, 1 + ldrh w2, [x19,756] + strb w0, [x20,8] + mov w1, 255 + ldr x0, [x21,16] + lsr w2, w2, 3 + strh w22, [x19,3920] + strh wzr, [x19,3922] + strb wzr, [x19,3926] + strb wzr, [x19,3928] + strh wzr, [x20,2] + strb wzr, [x20,6] + strh wzr, [x19,3608] + bl ftl_memset +.L2838: + mov x0, x20 + bl make_superblock + ldrb w0, [x20,7] + cbnz w0, .L2839 + ldrh w1, [x20] + ldr x0, [x19,1184] + strh w22, [x0,x1,lsl 1] + ldrh w0, [x20] + add w0, w0, 1 + strh w0, [x20] + b .L2838 +.L2839: + ldr w0, [x19,872] + mov w21, -1 + str w0, [x20,12] + add w0, w0, 1 + ldrh w1, [x20] + str w0, [x19,872] + ldr x0, [x19,1184] + ldrh w2, [x20,4] + strh w2, [x0,x1,lsl 1] + add x0, x19, 3656 + strh wzr, [x19,3658] + ldrh w1, [x20] + mov x20, x0 + strb wzr, [x19,3662] + add w1, w1, 1 + strh w1, [x19,3656] + mov w1, 1 + strb w1, [x19,3664] +.L2840: + mov x0, x20 + bl make_superblock + ldrb w0, [x20,7] + cbnz w0, .L2841 + ldrh w1, [x20] + ldr x0, [x19,1184] + strh w21, [x0,x1,lsl 1] + ldrh w0, [x20] + add w0, w0, 1 + strh w0, [x20] + b .L2840 +.L2841: + ldr w0, [x19,872] + str w0, [x20,12] + add w0, w0, 1 + ldrh w1, [x20] + str w0, [x19,872] + ldr x0, [x19,1184] + ldrh w2, [x20,4] + mov w20, -1 + strh w2, [x0,x1,lsl 1] + strh w20, [x19,3704] + bl FtlFreeSysBlkQueueOut + strh w0, [x19,3896] + ldr w0, [x19,3912] + strh w0, [x19,3902] + ldr w0, [x19,872] + str w0, [x19,3904] + add w0, w0, 1 + strh wzr, [x19,3898] + strh w20, [x19,3900] + str w0, [x19,872] + bl FtlVpcTblFlush + bl FtlSysBlkInit + cbnz w0, .L2820 + adrp x0, .LANCHOR1+3064 + mov w1, 1 + str w1, [x0,#:lo12:.LANCHOR1+3064] +.L2820: + mov w0, 0 + ldp x19, x20, [sp,16] + ldp x21, x22, [sp,32] + ldp x29, x30, [sp], 48 + ret + .size FtlLowFormat, .-FtlLowFormat + .align 2 + .global FtlReInitForSDUpdata + .type FtlReInitForSDUpdata, %function +FtlReInitForSDUpdata: + stp x29, x30, [sp, -48]! + add x29, sp, 0 + stp x19, x20, [sp,16] + adrp x19, .LANCHOR0 + add x0, x19, :lo12:.LANCHOR0 + ldrb w0, [x0,136] + cbz w0, .L2853 +.L2855: + mov w0, 0 + b .L2854 +.L2853: + adrp x0, RK29_NANDC_REG_BASE + ldr x0, [x0,#:lo12:RK29_NANDC_REG_BASE] + bl FlashInit + cbnz w0, .L2855 + bl FlashLoadFactorBbt + cbz w0, .L2856 + bl FlashMakeFactorBbt +.L2856: + adrp x20, .LANCHOR2 + add x0, x20, :lo12:.LANCHOR2 + ldr x0, [x0,688] + bl FlashReadIdbDataRaw + cbz w0, .L2857 + mov w1, 0 + mov w2, 16 + add x0, x29, 32 + bl FlashReadFacBbtData + mov w0, 0 + ldr w2, [x29,32] + mov w1, w0 + mov w4, 1 +.L2859: + lsl w3, w4, w1 + add w1, w1, 1 + tst w3, w2 + cset w3, ne + cmp w1, 16 + add w0, w0, w3 + bne .L2859 + cmp w0, 6 + bhi .L2860 + add x0, x19, :lo12:.LANCHOR0 + b .L2882 +.L2860: + mov w1, 0 + mov w4, 1 +.L2863: + lsl w3, w4, w1 + add w1, w1, 1 + tst w3, w2 + cset w3, ne + cmp w1, 24 + add w0, w0, w3 + bne .L2863 + cmp w0, 17 + add x0, x19, :lo12:.LANCHOR0 + bls .L2882 + mov w1, 36 +.L2882: + strb w1, [x0,25] + add x0, x19, :lo12:.LANCHOR0 + ldrb w1, [x0,25] + strh w1, [x0,4042] +.L2857: + adrp x0, .LC45 + adrp x1, .LC119 + add x1, x1, :lo12:.LC119 + add x0, x0, :lo12:.LC45 + add x20, x20, :lo12:.LANCHOR2 + bl printk + add x0, x19, :lo12:.LANCHOR0 + mov w19, 1 + add x0, x0, 4016 + bl FtlConstantsInit + bl FtlVariablesInit + ldrh w0, [x20,752] + bl FtlFreeSysBlkQueueInit +.L2865: + bl FtlLoadBbt + cbz w0, .L2866 +.L2884: + bl FtlLowFormat + cmp w19, 3 + bhi .L2885 + add w19, w19, 1 + b .L2865 +.L2885: + mov w0, -1 + b .L2854 +.L2866: + bl FtlSysBlkInit + cbnz w0, .L2884 + adrp x1, .LANCHOR1+3064 + mov w2, 1 + str w2, [x1,#:lo12:.LANCHOR1+3064] +.L2854: + ldp x19, x20, [sp,16] + ldp x29, x30, [sp], 48 + ret + .size FtlReInitForSDUpdata, .-FtlReInitForSDUpdata + .align 2 .global Ftl_gc_temp_data_write_back .type Ftl_gc_temp_data_write_back, %function Ftl_gc_temp_data_write_back: @@ -17857,17 +18390,17 @@ Ftl_gc_temp_data_write_back: str x23, [sp,48] adrp x21, .LANCHOR4 adrp x19, .LANCHOR2 - cbz w0, .L2801 + cbz w0, .L2887 add x0, x21, :lo12:.LANCHOR4 ldr w0, [x0,144] - tbz x0, 0, .L2801 + tbz x0, 0, .L2887 add x0, x19, :lo12:.LANCHOR2 ldrh w0, [x0,3708] - cbz w0, .L2801 -.L2806: + cbz w0, .L2887 +.L2892: mov w0, 0 - b .L2802 -.L2801: + b .L2888 +.L2887: add x0, x19, :lo12:.LANCHOR2 add x1, x21, :lo12:.LANCHOR4 mov w2, 0 @@ -17877,18 +18410,18 @@ Ftl_gc_temp_data_write_back: ldr x0, [x0,1000] ldr w1, [x1,144] bl FlashProgPages -.L2803: +.L2889: add x22, x21, :lo12:.LANCHOR4 ldr w1, [x22,144] cmp w20, w1 - bcs .L2817 + bcs .L2903 add x0, x19, :lo12:.LANCHOR2 umull x1, w20, w23 ldr x2, [x0,1000] add x3, x2, x1 ldr w2, [x2,x1] cmn w2, #1 - bne .L2804 + bne .L2890 ldrh w4, [x0,3704] ldr x3, [x0,1184] strh wzr, [x3,x4,lsl 1] @@ -17903,8 +18436,8 @@ Ftl_gc_temp_data_write_back: bl FtlBbmMapBadBlock bl FtlBbmTblFlush bl FtlGcPageVarInit - b .L2816 -.L2804: + b .L2902 +.L2890: ldr x2, [x3,16] add w20, w20, 1 ldr w1, [x3,4] @@ -17912,19 +18445,19 @@ Ftl_gc_temp_data_write_back: ldr w0, [x2,12] ldr w2, [x2,8] bl FtlGcUpdatePage - b .L2803 -.L2817: + b .L2889 +.L2903: add x19, x19, :lo12:.LANCHOR2 ldr x0, [x19,1000] bl FtlGcBufFree str wzr, [x22,144] ldrh w0, [x19,3708] - cbnz w0, .L2806 + cbnz w0, .L2892 mov w0, 1 bl FtlGcFreeTempBlock -.L2816: +.L2902: mov w0, 1 -.L2802: +.L2888: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldr x23, [sp,48] @@ -17944,10 +18477,10 @@ Ftl_get_new_temp_ppa: ldrh w2, [x0,3704] mov w0, 65535 cmp w2, w0 - beq .L2819 + beq .L2905 ldrh w0, [x1,4] - cbnz w0, .L2820 -.L2819: + cbnz w0, .L2906 +.L2905: bl FtlCacheWriteBack mov w0, 0 bl FtlGcFreeTempBlock @@ -17963,7 +18496,7 @@ Ftl_get_new_temp_ppa: mov w0, 0 bl FtlEctTblFlush bl FtlVpcTblFlush -.L2820: +.L2906: add x0, x19, :lo12:.LANCHOR2 add x0, x0, 3704 bl get_new_active_ppa @@ -17986,13 +18519,13 @@ ftl_read: mov w20, w1 mov w28, w2 mov x25, x3 - bne .L2822 + bne .L2908 add w0, w1, 256 mov w1, w2 mov x2, x3 bl FtlVendorPartRead - b .L2823 -.L2822: + b .L2909 +.L2908: add w0, w1, w2 str w0, [x29,156] adrp x0, .LANCHOR0+4048 @@ -18000,7 +18533,7 @@ ftl_read: ldr w1, [x0,#:lo12:.LANCHOR0+4048] mov w0, -1 cmp w2, w1 - bhi .L2823 + bhi .L2909 adrp x19, .LANCHOR2 sub w24, w2, #1 add x1, x19, :lo12:.LANCHOR2 @@ -18020,35 +18553,35 @@ ftl_read: mov w0, w27 mov w1, w24 bl FtlCacheMetchLpa - cbz w0, .L2824 + cbz w0, .L2910 bl FtlCacheWriteBack -.L2824: +.L2910: mov w26, 0 mov w21, w27 str w26, [x29,152] mov w22, w26 str w26, [x29,140] -.L2825: - cbz w23, .L2866 +.L2911: + cbz w23, .L2952 mov w0, w21 add x1, x29, 172 mov w2, 0 bl log2phys ldr w3, [x29,172] cmn w3, #1 - bne .L2864 + bne .L2950 mov w3, 0 -.L2826: +.L2912: add x0, x19, :lo12:.LANCHOR2 ldrh w0, [x0,824] cmp w3, w0 - bcs .L2830 + bcs .L2916 madd w0, w21, w0, w3 cmp w0, w20 - bcc .L2828 + bcc .L2914 ldr w1, [x29,156] cmp w0, w1 - bcs .L2828 + bcs .L2914 sub w0, w0, w20 mov w1, 0 ubfiz x0, x0, 9, 23 @@ -18057,10 +18590,10 @@ ftl_read: str x3, [x29,144] bl ftl_memset ldr x3, [x29,144] -.L2828: +.L2914: add w3, w3, 1 - b .L2826 -.L2864: + b .L2912 +.L2950: add x2, x19, :lo12:.LANCHOR2 mov w0, 56 cmp w21, w27 @@ -18069,7 +18602,7 @@ ftl_read: add x0, x0, x1 str w3, [x0,4] ldrh w0, [x2,824] - bne .L2831 + bne .L2917 ldr x3, [x2,992] ldr x2, [x2,1088] add x3, x3, x1 @@ -18082,12 +18615,12 @@ ftl_read: csel w2, w2, w28, ls str w2, [x29,152] cmp w2, w0 - bne .L2832 + bne .L2918 str x25, [x3,8] - b .L2832 -.L2831: + b .L2918 +.L2917: cmp w21, w24 - bne .L2833 + bne .L2919 ldr x3, [x2,992] ldr x2, [x2,1096] add x3, x3, x1 @@ -18096,13 +18629,13 @@ ftl_read: mul w2, w21, w0 sub w26, w4, w2 cmp w26, w0 - bne .L2832 + bne .L2918 sub w2, w2, w20 ubfiz x2, x2, 9, 23 add x2, x25, x2 str x2, [x3,8] - b .L2832 -.L2833: + b .L2918 +.L2919: ldr x2, [x2,992] mul w0, w21, w0 add x2, x2, x1 @@ -18110,7 +18643,7 @@ ftl_read: ubfiz x0, x0, 9, 23 add x0, x25, x0 str x0, [x2,8] -.L2832: +.L2918: add x2, x19, :lo12:.LANCHOR2 ldr x0, [x2,992] add x1, x0, x1 @@ -18122,16 +18655,16 @@ ftl_read: and x0, x0, 4294967292 add x0, x2, x0 str x0, [x1,16] -.L2830: +.L2916: subs w23, w23, #1 add w21, w21, 1 - beq .L2834 + beq .L2920 add x0, x19, :lo12:.LANCHOR2 ldrh w0, [x0,748] cmp w22, w0, lsl 3 - bne .L2825 -.L2834: - cbz w22, .L2825 + bne .L2911 +.L2920: + cbz w22, .L2911 add x0, x19, :lo12:.LANCHOR2 mov w1, w22 mov w2, 0 @@ -18146,10 +18679,10 @@ ftl_read: str w0, [x29,136] lsl w0, w26, 9 str w0, [x29,108] -.L2836: +.L2922: ldr w0, [x29,144] cmp w22, w0 - bls .L2867 + bls .L2953 ldr x0, [x29,144] add x2, x19, :lo12:.LANCHOR2 mov x1, 56 @@ -18158,24 +18691,24 @@ ftl_read: add x0, x0, x3 ldr w1, [x0,24] cmp w1, w27 - bne .L2837 + bne .L2923 ldr x1, [x0,8] ldr x0, [x2,1088] cmp x1, x0 - bne .L2838 + bne .L2924 ldr x2, [x29,128] mov x0, x25 str x3, [x29,96] add x1, x1, x2 ldr w2, [x29,136] - b .L2865 -.L2837: + b .L2951 +.L2923: cmp w1, w24 - bne .L2838 + bne .L2924 ldr x1, [x0,8] ldr x0, [x2,1096] cmp x1, x0 - bne .L2838 + bne .L2924 ldrh w0, [x2,824] ldr w2, [x29,108] str x3, [x29,96] @@ -18183,46 +18716,46 @@ ftl_read: sub w0, w0, w20 ubfiz x0, x0, 9, 23 add x0, x25, x0 -.L2865: +.L2951: bl ftl_memcpy ldr x3, [x29,96] -.L2838: +.L2924: add x0, x19, :lo12:.LANCHOR2 ldr x1, [x0,992] add x5, x1, x3 ldr w4, [x1,x3] cmn w4, #1 - bne .L2839 + bne .L2925 ldr w2, [x0,4040] str w4, [x29,140] add w2, w2, 1 str w2, [x0,4040] -.L2839: +.L2925: ldr w0, [x1,x3] cmp w0, 256 - bne .L2840 + bne .L2926 ldr w0, [x5,4] lsr x0, x0, 10 bl P2V_block_in_plane bl FtlGcRefreshBlock -.L2840: +.L2926: ldr x0, [x29,144] add x0, x0, 1 str x0, [x29,144] - b .L2836 -.L2867: + b .L2922 +.L2953: mov w22, 0 - b .L2825 -.L2866: + b .L2911 +.L2952: add x19, x19, :lo12:.LANCHOR2 ldrh w0, [x19,958] - cbz w0, .L2843 + cbz w0, .L2929 mov w0, w23 mov w1, 1 bl ftl_do_gc -.L2843: +.L2929: ldr w0, [x29,140] -.L2823: +.L2909: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -18232,6 +18765,84 @@ ftl_read: ret .size ftl_read, .-ftl_read .align 2 + .global FtlInit + .type FtlInit, %function +FtlInit: + stp x29, x30, [sp, -48]! + mov w0, -1 + adrp x1, .LC119 + add x29, sp, 0 + str x21, [sp,32] + adrp x21, .LANCHOR1 + add x21, x21, :lo12:.LANCHOR1 + add x1, x1, :lo12:.LC119 + stp x19, x20, [sp,16] + adrp x19, .LANCHOR2 + adrp x20, .LANCHOR0 + str w0, [x21,3064] + adrp x0, .LANCHOR4+380 + add x19, x19, :lo12:.LANCHOR2 + add x20, x20, :lo12:.LANCHOR0 + str wzr, [x0,#:lo12:.LANCHOR4+380] + adrp x0, .LC45 + add x0, x0, :lo12:.LC45 + str wzr, [x19,1400] + bl printk + add x0, x20, 4016 + bl FtlConstantsInit + bl FtlMemInit + bl FtlVariablesInit + ldrh w0, [x19,752] + bl FtlFreeSysBlkQueueInit + bl FtlLoadBbt + cbz w0, .L2955 + adrp x0, .LC135 + add x0, x0, :lo12:.LC135 + b .L2967 +.L2955: + bl FtlSysBlkInit + cbz w0, .L2957 + adrp x0, .LC136 + add x0, x0, :lo12:.LC136 +.L2967: + adrp x1, .LANCHOR3 + add x1, x1, :lo12:.LANCHOR3 + add x1, x1, 40 + bl printk + b .L2956 +.L2957: + mov w1, 1 + str w1, [x21,3064] + bl ftl_do_gc + ldrh w0, [x19,3600] + cmp w0, 15 + bhi .L2958 + mov w19, 1024 +.L2959: + mov w0, 1 + mov w1, w0 + bl ftl_do_gc + subs w19, w19, #1 + bne .L2959 + b .L2956 +.L2958: + ldrb w0, [x20,136] + cbz w0, .L2956 + mov w19, 128 +.L2961: + mov w0, 1 + mov w1, w0 + bl ftl_do_gc + subs w19, w19, #1 + bne .L2961 +.L2956: + mov w0, 0 + ldr x21, [sp,32] + ldp x19, x20, [sp,16] + ldp x29, x30, [sp], 48 + ret + .size FtlInit, .-FtlInit + .align 2 .global ftl_write .type ftl_write, %function ftl_write: @@ -18251,32 +18862,31 @@ ftl_write: mov x22, x3 str x1, [x29,152] ldr w3, [x2,1400] - cbnz w3, .L2869 + cbnz w3, .L2969 cmp w4, 16 - bne .L2870 + bne .L2970 add w0, w20, 256 mov w1, w21 mov x2, x22 bl FtlVendorPartWrite - b .L2869 -.L2870: + b .L2969 +.L2970: adrp x0, .LANCHOR0+4048 add w24, w20, w21 ldr w1, [x0,#:lo12:.LANCHOR0+4048] mov w0, -1 cmp w24, w1 - bhi .L2869 - adrp x3, .LANCHOR4 + bhi .L2969 + adrp x4, .LANCHOR4 ldrh w1, [x2,824] - add x26, x3, :lo12:.LANCHOR4 + add x26, x4, :lo12:.LANCHOR4 sub w24, w24, #1 mov w0, 2048 - str x3, [x29,144] + ldr w3, [x2,968] udiv w23, w20, w1 cmp w21, w1, lsl 1 - str w0, [x26,380] - add x19, x2, 3608 - ldr w3, [x2,968] + str w0, [x26,384] + str x4, [x29,144] udiv w0, w24, w1 str w0, [x29,200] sub w28, w0, w23 @@ -18289,10 +18899,7 @@ ftl_write: str w0, [x26,128] cset w0, cs str w0, [x29,204] - cmp w21, 8 - add x0, x2, 3656 - csel x19, x19, x0, hi - cbz w3, .L2873 + cbz w3, .L2972 mov w0, 56 sub w3, w3, #1 umull x3, w3, w0 @@ -18300,13 +18907,13 @@ ftl_write: add x3, x0, x3 ldr w0, [x3,24] cmp w23, w0 - bne .L2874 + bne .L2973 ldr w0, [x2,892] add w0, w0, 1 str w0, [x2,892] - ldr w0, [x26,384] + ldr w0, [x26,388] add w0, w0, 1 - str w0, [x26,384] + str w0, [x26,388] msub w0, w23, w1, w20 sub w1, w1, w0 ubfiz x0, x0, 9, 23 @@ -18318,84 +18925,84 @@ ftl_write: mov w2, w25 mov x1, x22 bl ftl_memcpy - cbnz w28, .L2875 - ldr w0, [x26,384] + cbnz w28, .L2974 + ldr w0, [x26,388] cmp w0, 2 - bgt .L2875 -.L2908: + bgt .L2974 +.L3007: mov w0, 0 - b .L2869 -.L2875: + b .L2969 +.L2974: add x22, x22, x25 sub w21, w21, w19 add w20, w20, w19 add w23, w23, 1 mov w25, w28 -.L2874: +.L2973: ldr x0, [x29,144] add x0, x0, :lo12:.LANCHOR4 - ldr x19, [x0,368] - str wzr, [x0,384] -.L2873: + str wzr, [x0,388] +.L2972: ldr w1, [x29,200] mov w0, w23 bl FtlCacheMetchLpa - cbz w0, .L2876 + cbz w0, .L2975 bl FtlCacheWriteBack -.L2876: +.L2975: ldr x0, [x29,144] - str w23, [x29,192] + ldr x1, [x29,152] add x0, x0, :lo12:.LANCHOR4 + str w23, [x29,192] + add x3, x1, :lo12:.LANCHOR2 + add x19, x3, 3608 + mov x24, x3 str x19, [x0,368] - ldr x0, [x29,152] - add x24, x0, :lo12:.LANCHOR2 - add x0, x24, 3608 - str x0, [x29,176] - adrp x0, .LC135 - add x0, x0, :lo12:.LC135 + adrp x0, .LC137 + add x0, x0, :lo12:.LC137 + str x19, [x29,176] str x0, [x29,104] -.L2877: - cbz w25, .L2938 +.L2976: + cbz w25, .L3036 ldrh w0, [x19,4] - cbnz w0, .L2878 + cbnz w0, .L2977 ldr x1, [x29,176] adrp x26, .LANCHOR1 cmp x19, x1 - bne .L2879 + bne .L2978 add x0, x24, 3656 ldrh w19, [x0,4] - cbnz w19, .L2880 + cbnz w19, .L2979 bl allocate_new_data_superblock add x0, x26, :lo12:.LANCHOR1 str w19, [x0,3072] -.L2880: +.L2979: ldr x0, [x29,176] add x26, x26, :lo12:.LANCHOR1 add x19, x24, 3656 bl allocate_new_data_superblock ldr w0, [x26,3072] - cbnz w0, .L2881 -.L2882: + cbnz w0, .L2980 +.L2981: ldr x19, [x29,176] - b .L2881 -.L2879: + b .L2980 +.L2978: add x26, x26, :lo12:.LANCHOR1 str w0, [x26,3072] ldr x0, [x29,176] ldrh w0, [x0,4] - cbnz w0, .L2882 + cbnz w0, .L2981 mov x0, x19 bl allocate_new_data_superblock -.L2881: +.L2980: ldrh w0, [x19,4] - cbnz w0, .L2883 + cbnz w0, .L2982 mov x0, x19 bl allocate_new_data_superblock -.L2883: +.L2982: ldr x0, [x29,144] add x0, x0, :lo12:.LANCHOR4 str x19, [x0,368] -.L2878: +.L2977: ldr w0, [x24,964] mov x28, 0 ldr w2, [x24,968] @@ -18411,28 +19018,28 @@ ftl_write: str w0, [x29,116] add w0, w21, w20 str w0, [x29,136] -.L2884: +.L2983: ldr w1, [x29,192] mov w0, w28 add w27, w1, w28 ldr w1, [x29,140] cmp w28, w1 - bcs .L2939 + bcs .L3037 ldrh w1, [x19,4] - cbz w1, .L2915 + cbz w1, .L3013 ldr w1, [x29,200] cmp w27, w1 cset w7, eq - cbz w0, .L2886 + cbz w0, .L2985 ldr w1, [x29,116] tst w7, w1 - beq .L2886 + beq .L2985 ldrh w1, [x24,824] ldr w2, [x29,136] msub w2, w27, w1, w2 cmp w2, w1 - bne .L2915 -.L2886: + bne .L3013 +.L2985: add x1, x29, 212 mov w2, 0 mov w0, w27 @@ -18471,10 +19078,10 @@ ftl_write: cmp w27, w23 cset w0, eq str w0, [x29,196] - cbnz w0, .L2918 + cbnz w0, .L3016 ldr x7, [x29,160] ldr x5, [x29,184] - cbz w7, .L2887 + cbz w7, .L2986 ldr w0, [x29,136] ldrh w2, [x24,824] msub w2, w27, w2, w0 @@ -18482,8 +19089,8 @@ ftl_write: str w0, [x29,184] ldr w0, [x29,196] str w0, [x29,160] - b .L2890 -.L2918: + b .L2989 +.L3016: ldrh w2, [x24,824] udiv w0, w20, w2 msub w0, w0, w2, w20 @@ -18492,39 +19099,39 @@ ftl_write: cmp w2, w21 csel w0, w2, w21, ls str w0, [x29,184] -.L2890: +.L2989: ldrh w0, [x24,824] ldr w1, [x29,184] cmp w1, w0 - bne .L2891 + bne .L2990 ldr w0, [x29,196] mov x1, x22 - cbnz w0, .L2892 + cbnz w0, .L2991 ldr w0, [x29,184] mul w1, w0, w27 sub w1, w1, w20 ubfiz x1, x1, 9, 23 add x1, x22, x1 -.L2892: +.L2991: ldr w2, [x29,204] mov w0, 56 - cbz w2, .L2893 + cbz w2, .L2992 ldr w2, [x24,968] umull x0, w2, w0 ldr x2, [x24,1032] add x0, x2, x0 - b .L2935 -.L2893: + b .L3033 +.L2992: ldr w2, [x24,968] umull x0, w2, w0 ldr x2, [x24,1032] add x0, x2, x0 ldr x0, [x0,8] - b .L2936 -.L2891: + b .L3034 +.L2990: ldr w0, [x29,212] cmn w0, #1 - beq .L2895 + beq .L2994 str w0, [x29,220] mov w1, 56 ldr w0, [x24,968] @@ -18542,15 +19149,15 @@ ftl_write: bl FlashReadPages ldr w0, [x29,216] cmn w0, #1 - bne .L2896 + bne .L2995 ldr w0, [x24,4040] add w0, w0, 1 str w0, [x24,4040] - b .L2898 -.L2896: + b .L2997 +.L2995: ldr w0, [x26,8] cmp w0, w27 - beq .L2898 + beq .L2997 ldr w0, [x24,4040] mov w2, w27 add w0, w0, 1 @@ -18558,8 +19165,8 @@ ftl_write: ldr x0, [x29,104] ldr w1, [x26,8] bl printk - b .L2898 -.L2895: + b .L2997 +.L2994: ldr w0, [x24,968] mov w1, 56 ldrh w2, [x24,828] @@ -18569,12 +19176,12 @@ ftl_write: mov w1, 0 ldr x0, [x0,8] bl ftl_memset -.L2898: +.L2997: ldr w1, [x29,184] mov w0, 56 lsl w2, w1, 9 ldr w1, [x29,196] - cbz w1, .L2899 + cbz w1, .L2998 ldr w1, [x24,968] umull x0, w1, w0 ldr x1, [x24,1032] @@ -18584,8 +19191,8 @@ ftl_write: ldr x1, [x1,8] add x0, x1, x0 mov x1, x22 - b .L2937 -.L2899: + b .L3035 +.L2998: ldr w1, [x24,968] umull x0, w1, w0 ldr x1, [x24,1032] @@ -18596,12 +19203,12 @@ ftl_write: sub w1, w1, w20 ubfiz x1, x1, 9, 23 add x1, x22, x1 - b .L2937 -.L2887: + b .L3035 +.L2986: ldr w0, [x29,204] ldrh w1, [x24,824] ldr w2, [x24,968] - cbz w0, .L2900 + cbz w0, .L2999 mul w1, w27, w1 umull x0, w2, w5 sub w1, w1, w20 @@ -18609,10 +19216,10 @@ ftl_write: ubfiz x1, x1, 9, 23 add x0, x2, x0 add x1, x22, x1 -.L2935: +.L3033: str x1, [x0,8] - b .L2894 -.L2900: + b .L2993 +.L2999: umull x0, w2, w5 ldr x2, [x24,1032] mul w1, w27, w1 @@ -18621,11 +19228,11 @@ ftl_write: ubfiz x1, x1, 9, 23 ldr x0, [x0,8] add x1, x22, x1 -.L2936: +.L3034: ldrh w2, [x24,828] -.L2937: +.L3035: bl ftl_memcpy -.L2894: +.L2993: ldr x1, [x29,120] mov w0, -3947 ldr x2, [x29,128] @@ -18645,33 +19252,33 @@ ftl_write: ldr w0, [x24,968] add w0, w0, 1 str w0, [x24,968] - b .L2884 -.L2939: + b .L2983 +.L3037: str w27, [x29,192] mov x0, x1 - b .L2885 -.L2915: + b .L2984 +.L3013: str w27, [x29,192] -.L2885: +.L2984: sub w25, w25, w0 ldr w0, [x29,204] - cbnz w0, .L2904 + cbnz w0, .L3003 ldr w1, [x24,968] ldr w0, [x24,964] cmp w1, w0 - bcs .L2904 + bcs .L3003 ldrh w0, [x19,4] - cbz w0, .L2904 -.L2906: + cbz w0, .L3003 +.L3005: str wzr, [x29,204] - b .L2877 -.L2904: + b .L2976 +.L3003: bl FtlCacheWriteBack str wzr, [x24,968] - cmp w25, 3 - bls .L2906 - b .L2877 -.L2938: + cmp w25, 1 + bhi .L2976 + b .L3005 +.L3036: ldr w1, [x29,200] mov w0, w25 sub w1, w1, w23 @@ -18680,23 +19287,23 @@ ftl_write: add x0, x0, :lo12:.LANCHOR2 ldrh w1, [x0,3600] cmp w1, 31 - bhi .L2908 + bhi .L3007 mov w1, 128 mov w19, 16 strh w1, [x0,954] strh w1, [x0,952] -.L2909: +.L3008: mov w0, 0 mov w1, 1 bl ftl_do_gc ldr x0, [x29,152] add x0, x0, :lo12:.LANCHOR2 ldr w0, [x0,1400] - cbnz w0, .L2908 + cbnz w0, .L3007 subs w19, w19, #1 - bne .L2909 - b .L2908 -.L2869: + bne .L3008 + b .L3007 +.L2969: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -18748,16 +19355,16 @@ ftl_fix_nand_power_lost_error: stp x21, x22, [sp,32] stp x23, x24, [sp,48] stp x25, x26, [sp,64] - cbz w0, .L2942 + cbz w0, .L3040 adrp x21, .LANCHOR4 adrp x19, .LANCHOR2 add x0, x21, :lo12:.LANCHOR4 add x20, x19, :lo12:.LANCHOR2 - adrp x24, .LC136 + adrp x24, .LC138 add x26, x20, 3608 add x25, x20, 3656 ldrh w23, [x0,218] - add x0, x24, :lo12:.LC136 + add x0, x24, :lo12:.LC138 ldr x2, [x20,1184] ubfiz x22, x23, 1, 16 mov w1, w23 @@ -18772,26 +19379,26 @@ ftl_fix_nand_power_lost_error: bl allocate_new_data_superblock mov x0, x25 bl allocate_new_data_superblock -.L2944: +.L3042: subs w20, w20, #1 - beq .L2948 + beq .L3046 mov w0, 1 mov w1, w0 bl ftl_do_gc add x0, x19, :lo12:.LANCHOR2 ldr x0, [x0,1184] ldrh w0, [x0,x22] - cbnz w0, .L2944 -.L2948: + cbnz w0, .L3042 +.L3046: add x20, x19, :lo12:.LANCHOR2 - add x0, x24, :lo12:.LC136 + add x0, x24, :lo12:.LC138 mov w1, w23 ldr x2, [x20,1184] ldrh w2, [x2,x22] bl printk ldr x0, [x20,1184] ldrh w0, [x0,x22] - cbnz w0, .L2946 + cbnz w0, .L3044 add x0, x29, 80 strh w23, [x29,80] bl make_superblock @@ -18800,14 +19407,14 @@ ftl_fix_nand_power_lost_error: mov w6, 65535 mov w20, w0 mov w7, 56 -.L2949: +.L3047: cmp w5, w0, uxth - bls .L2956 + bls .L3054 add x1, x29, 80 add x1, x1, x0, lsl 1 ldrh w2, [x1,16] cmp w2, w6 - beq .L2950 + beq .L3048 add x4, x19, :lo12:.LANCHOR2 lsl w2, w2, 10 umull x1, w20, w7 @@ -18820,14 +19427,14 @@ ftl_fix_nand_power_lost_error: add x1, x2, x1 str xzr, [x1,8] str xzr, [x1,16] -.L2950: +.L3048: add x0, x0, 1 - b .L2949 -.L2956: + b .L3047 +.L3054: add x19, x19, :lo12:.LANCHOR2 - adrp x0, .LC137 + adrp x0, .LC139 mov w1, w23 - add x0, x0, :lo12:.LC137 + add x0, x0, :lo12:.LC139 ldr x2, [x19,1184] ldrh w2, [x2,x22] bl printk @@ -18839,11 +19446,11 @@ ftl_fix_nand_power_lost_error: mov w1, 1 mov w2, w20 bl FlashEraseBlocks -.L2946: +.L3044: add x21, x21, :lo12:.LANCHOR4 mov w0, -1 strh w0, [x21,218] -.L2942: +.L3040: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -18851,620 +19458,6 @@ ftl_fix_nand_power_lost_error: ldp x29, x30, [sp], 128 ret .size ftl_fix_nand_power_lost_error, .-ftl_fix_nand_power_lost_error - .align 2 - .global FtlSysBlkInit - .type FtlSysBlkInit, %function -FtlSysBlkInit: - stp x29, x30, [sp, -64]! - mov w1, -1 - add x29, sp, 0 - stp x19, x20, [sp,16] - adrp x19, .LANCHOR4 - adrp x20, .LANCHOR2 - stp x21, x22, [sp,32] - add x0, x19, :lo12:.LANCHOR4 - add x21, x20, :lo12:.LANCHOR2 - str x23, [sp,48] - strh w1, [x0,218] - strh wzr, [x0,220] - ldrh w0, [x21,752] - bl FtlFreeSysBlkQueueInit - bl FtlScanSysBlk - ldrh w1, [x21,3896] - mov w0, 65535 - cmp w1, w0 - bne .L2958 -.L2960: - mov w23, -1 - b .L2959 -.L2958: - bl FtlLoadSysInfo - mov w23, w0 - cbnz w0, .L2960 - bl FtlLoadMapInfo - bl FtlLoadVonderInfo - bl Ftl_load_ext_data - bl FtlLoadEctTbl - bl FtlFreeSysBLkSort - bl SupperBlkListInit - bl FtlPowerLostRecovery - mov w0, 1 - bl FtlUpdateVaildLpn - ldrh w2, [x21,858] - mov x1, 0 - ldr x0, [x21,1264] -.L2961: - cmp w1, w2 - mov w3, w1 - bge .L2965 - add x4, x0, x1, lsl 4 - add x1, x1, 1 - ldr w4, [x4,4] - tbz w4, #31, .L2961 -.L2965: - add x0, x20, :lo12:.LANCHOR2 - cmp w3, w2 - ldrh w1, [x0,3548] - add w1, w1, 1 - strh w1, [x0,3548] - blt .L2962 - add x19, x19, :lo12:.LANCHOR4 - ldrh w0, [x19,220] - cbz w0, .L2966 -.L2962: - add x19, x20, :lo12:.LANCHOR2 - add x22, x19, 3608 - add x21, x19, 3656 - mov x0, x22 - bl FtlSuperblockPowerLostFix - mov x0, x21 - bl FtlSuperblockPowerLostFix - ldrh w0, [x19,3608] - ldr x2, [x19,1184] - lsl x0, x0, 1 - ldrh w3, [x19,3612] - ldrh w1, [x2,x0] - sub w1, w1, w3 - strh w1, [x2,x0] - strb wzr, [x19,3614] - ldrh w0, [x19,818] - strh w0, [x19,3610] - ldrh w0, [x19,3656] - ldr x2, [x19,1184] - lsl x0, x0, 1 - strh wzr, [x19,3612] - ldrh w3, [x19,3660] - ldrh w1, [x2,x0] - sub w1, w1, w3 - strh w1, [x2,x0] - strb wzr, [x19,3662] - ldrh w0, [x19,818] - strh w0, [x19,3658] - add x0, x19, 3752 - strh wzr, [x19,3660] - bl FtlMapBlkWriteDumpData - add x0, x19, 3824 - bl FtlMapBlkWriteDumpData - ldrh w0, [x19,3550] - add w0, w0, 1 - strh w0, [x19,3550] - bl l2p_flush - bl FtlVpcTblFlush - b .L2980 -.L2966: - bl l2p_flush -.L2980: - add x19, x20, :lo12:.LANCHOR2 - bl FtlVpcTblFlush - mov w0, 65535 - add x22, x19, 3608 - ldrh w1, [x19,3608] - cmp w1, w0 - bne .L2968 -.L2970: - add x20, x20, :lo12:.LANCHOR2 - ldrh w0, [x20,3548] - and w0, w0, 31 - cbnz w0, .L2959 - bl FtlVpcCheckAndModify - b .L2959 -.L2968: - ldrh w0, [x22,4] - cbnz w0, .L2970 - ldrh w0, [x19,3660] - add x21, x19, 3656 - cbnz w0, .L2970 - bl FtlVpcTblFlush - ldrh w0, [x19,3608] - bl FtlGcRefreshOpenBlock - ldrh w0, [x19,3656] - bl FtlGcRefreshOpenBlock - mov x0, x22 - bl allocate_new_data_superblock - mov x0, x21 - bl allocate_new_data_superblock - add x0, x19, 3824 - bl FtlMapBlkWriteDumpData - adrp x0, .LANCHOR0 - add x0, x0, :lo12:.LANCHOR0 - ldrb w1, [x0,136] - cbnz w1, .L2972 - ldrb w0, [x0,24] - cbz w0, .L2970 -.L2972: - mov w19, 4096 -.L2975: - mov w0, 1 - mov w1, w0 - bl ftl_do_gc - subs w19, w19, #1 - bne .L2975 - b .L2970 -.L2959: - mov w0, w23 - ldr x23, [sp,48] - ldp x19, x20, [sp,16] - ldp x21, x22, [sp,32] - ldp x29, x30, [sp], 64 - ret - .size FtlSysBlkInit, .-FtlSysBlkInit - .align 2 - .global FtlLowFormat - .type FtlLowFormat, %function -FtlLowFormat: - stp x29, x30, [sp, -48]! - add x29, sp, 0 - stp x19, x20, [sp,16] - adrp x19, .LANCHOR2 - add x20, x19, :lo12:.LANCHOR2 - stp x21, x22, [sp,32] - ldr w21, [x20,1400] - cbnz w21, .L2983 - ldrh w2, [x20,856] - mov w1, w21 - ldr x0, [x20,1248] - lsl w2, w2, 2 - bl ftl_memset - ldrh w2, [x20,856] - mov w1, w21 - ldr x0, [x20,1240] - lsl w2, w2, 2 - bl ftl_memset - str w21, [x20,872] - ldrh w0, [x20,752] - str w21, [x20,876] - bl FtlFreeSysBlkQueueInit - bl FtlLoadBbt - cbz w0, .L2984 - bl FtlMakeBbt -.L2984: - mov w0, 0 -.L2985: - add x1, x19, :lo12:.LANCHOR2 - ldrh w2, [x1,824] - cmp w0, w2, lsl 7 - bge .L3012 - ubfiz x3, x0, 2, 16 - ldr x4, [x1,1088] - mvn w2, w0 - orr w2, w0, w2, lsl 16 - str w2, [x4,x3] - add w0, w0, 1 - ldr x2, [x1,1096] - mov w1, 23752 - movk w1, 0xa0f, lsl 16 - uxth w0, w0 - str w1, [x2,x3] - b .L2985 -.L3012: - ldrh w21, [x1,756] - mov w20, 0 -.L2987: - add x22, x19, :lo12:.LANCHOR2 - ldrh w0, [x22,758] - cmp w0, w21 - bls .L3013 - mov w0, w21 - mov w1, 1 - add w21, w21, 1 - bl FtlLowFormatEraseBlock - add w0, w20, w0 - uxth w21, w21 - uxth w20, w0 - b .L2987 -.L3013: - ldrh w0, [x22,748] - sub w1, w20, #3 - cmp w1, w0, lsl 1 - bge .L2989 -.L2993: - mov w20, 0 - mov w21, w20 - b .L2990 -.L2989: - udiv w20, w20, w0 - ldr w0, [x22,852] - add w0, w20, w0 - bl FtlSysBlkNumInit - ldrh w0, [x22,752] - bl FtlFreeSysBlkQueueInit - ldrh w20, [x22,756] -.L2991: - add x0, x19, :lo12:.LANCHOR2 - ldrh w0, [x0,758] - cmp w0, w20 - bls .L2993 - mov w0, w20 - mov w1, 1 - add w20, w20, 1 - bl FtlLowFormatEraseBlock - uxth w20, w20 - b .L2991 -.L2990: - add x2, x19, :lo12:.LANCHOR2 - ldrh w0, [x2,756] - cmp w0, w21 - bls .L3014 - mov w0, w21 - mov w1, 0 - add w21, w21, 1 - bl FtlLowFormatEraseBlock - add w0, w20, w0 - uxth w21, w21 - uxth w20, w0 - b .L2990 -.L3014: - ldrh w3, [x2,748] - ldr w1, [x2,760] - ldrh w0, [x2,758] - str w0, [x2,944] - udiv w4, w1, w3 - str w4, [x2,1396] - ubfx x5, x4, 5, 16 - add w0, w5, 36 - strh w0, [x2,3916] - mov w0, 24 - mul w0, w3, w0 - cmp w20, w0 - ble .L2995 - sub w1, w1, w20 - udiv w1, w1, w3 - str w1, [x2,1396] - lsr w1, w1, 5 - add w1, w1, 24 - strh w1, [x2,3916] -.L2995: - add x2, x19, :lo12:.LANCHOR2 - ldr w0, [x2,652] - cmp w0, 1 - bne .L2996 - ldrh w1, [x2,3916] - udiv w0, w20, w3 - add w0, w1, w0 - add w0, w1, w0, asr 2 - strh w0, [x2,3916] -.L2996: - adrp x21, .LANCHOR0 - add x0, x21, :lo12:.LANCHOR0 - ldrb w0, [x0,136] - cbz w0, .L2997 - add x1, x19, :lo12:.LANCHOR2 - udiv w0, w20, w3 - ldrh w2, [x1,3916] - add w0, w2, w0 - add w0, w2, w0, asr 2 - strh w0, [x1,3916] -.L2997: - add x0, x19, :lo12:.LANCHOR2 - ldrh w1, [x0,810] - cbz w1, .L2999 - ldrh w2, [x0,3916] - add w2, w2, w1, lsr 1 - strh w2, [x0,3916] - mul w2, w1, w3 - cmp w2, w20 - ble .L2999 - add w1, w1, 32 - str w4, [x0,1396] - add w1, w5, w1 - strh w1, [x0,3916] -.L2999: - add x19, x19, :lo12:.LANCHOR2 - add x21, x21, :lo12:.LANCHOR0 - add x20, x19, 3608 - mov w22, -1 - ldr w1, [x19,1396] - ldrh w0, [x19,3916] - sub w0, w1, w0 - ldrh w1, [x19,818] - mul w0, w0, w3 - str w0, [x19,3912] - mul w0, w0, w1 - ldrh w1, [x19,824] - str w0, [x19,1396] - mul w0, w0, w1 - str w0, [x21,4048] - bl FtlBbmTblFlush - ldrh w2, [x19,758] - mov w1, 0 - ldr x0, [x19,1184] - lsl w2, w2, 1 - bl ftl_memset - str wzr, [x19,3892] - mov w0, 1 - ldrh w2, [x19,756] - strb w0, [x20,8] - mov w1, 255 - ldr x0, [x21,16] - lsr w2, w2, 3 - strh w22, [x19,3920] - strh wzr, [x19,3922] - strb wzr, [x19,3926] - strb wzr, [x19,3928] - strh wzr, [x20,2] - strb wzr, [x20,6] - strh wzr, [x19,3608] - bl ftl_memset -.L3001: - mov x0, x20 - bl make_superblock - ldrb w0, [x20,7] - cbnz w0, .L3002 - ldrh w1, [x20] - ldr x0, [x19,1184] - strh w22, [x0,x1,lsl 1] - ldrh w0, [x20] - add w0, w0, 1 - strh w0, [x20] - b .L3001 -.L3002: - ldr w0, [x19,872] - mov w21, -1 - str w0, [x20,12] - add w0, w0, 1 - ldrh w1, [x20] - str w0, [x19,872] - ldr x0, [x19,1184] - ldrh w2, [x20,4] - strh w2, [x0,x1,lsl 1] - add x0, x19, 3656 - strh wzr, [x19,3658] - ldrh w1, [x20] - mov x20, x0 - strb wzr, [x19,3662] - add w1, w1, 1 - strh w1, [x19,3656] - mov w1, 1 - strb w1, [x19,3664] -.L3003: - mov x0, x20 - bl make_superblock - ldrb w0, [x20,7] - cbnz w0, .L3004 - ldrh w1, [x20] - ldr x0, [x19,1184] - strh w21, [x0,x1,lsl 1] - ldrh w0, [x20] - add w0, w0, 1 - strh w0, [x20] - b .L3003 -.L3004: - ldr w0, [x19,872] - str w0, [x20,12] - add w0, w0, 1 - ldrh w1, [x20] - str w0, [x19,872] - ldr x0, [x19,1184] - ldrh w2, [x20,4] - mov w20, -1 - strh w2, [x0,x1,lsl 1] - strh w20, [x19,3704] - bl FtlFreeSysBlkQueueOut - strh w0, [x19,3896] - ldr w0, [x19,3912] - strh w0, [x19,3902] - ldr w0, [x19,872] - str w0, [x19,3904] - add w0, w0, 1 - strh wzr, [x19,3898] - strh w20, [x19,3900] - str w0, [x19,872] - bl FtlVpcTblFlush - bl FtlSysBlkInit - cbnz w0, .L2983 - adrp x0, .LANCHOR1+3064 - mov w1, 1 - str w1, [x0,#:lo12:.LANCHOR1+3064] -.L2983: - mov w0, 0 - ldp x19, x20, [sp,16] - ldp x21, x22, [sp,32] - ldp x29, x30, [sp], 48 - ret - .size FtlLowFormat, .-FtlLowFormat - .align 2 - .global FtlReInitForSDUpdata - .type FtlReInitForSDUpdata, %function -FtlReInitForSDUpdata: - stp x29, x30, [sp, -48]! - add x29, sp, 0 - stp x19, x20, [sp,16] - adrp x19, .LANCHOR0 - add x0, x19, :lo12:.LANCHOR0 - ldrb w0, [x0,136] - cbz w0, .L3016 -.L3018: - mov w0, 0 - b .L3017 -.L3016: - adrp x0, RK29_NANDC_REG_BASE - ldr x0, [x0,#:lo12:RK29_NANDC_REG_BASE] - bl FlashInit - cbnz w0, .L3018 - bl FlashLoadFactorBbt - cbz w0, .L3019 - bl FlashMakeFactorBbt -.L3019: - adrp x20, .LANCHOR2 - add x0, x20, :lo12:.LANCHOR2 - ldr x0, [x0,688] - bl FlashReadIdbDataRaw - cbz w0, .L3020 - mov w1, 0 - mov w2, 16 - add x0, x29, 32 - bl FlashReadFacBbtData - mov w0, 0 - ldr w2, [x29,32] - mov w1, w0 - mov w4, 1 -.L3022: - lsl w3, w4, w1 - add w1, w1, 1 - tst w3, w2 - cset w3, ne - cmp w1, 16 - add w0, w0, w3 - bne .L3022 - cmp w0, 6 - bhi .L3023 - add x0, x19, :lo12:.LANCHOR0 - b .L3045 -.L3023: - mov w1, 0 - mov w4, 1 -.L3026: - lsl w3, w4, w1 - add w1, w1, 1 - tst w3, w2 - cset w3, ne - cmp w1, 24 - add w0, w0, w3 - bne .L3026 - cmp w0, 17 - add x0, x19, :lo12:.LANCHOR0 - bls .L3045 - mov w1, 36 -.L3045: - strb w1, [x0,25] - add x0, x19, :lo12:.LANCHOR0 - ldrb w1, [x0,25] - strh w1, [x0,4042] -.L3020: - adrp x0, .LC45 - adrp x1, .LC119 - add x1, x1, :lo12:.LC119 - add x0, x0, :lo12:.LC45 - add x20, x20, :lo12:.LANCHOR2 - bl printk - add x0, x19, :lo12:.LANCHOR0 - mov w19, 1 - add x0, x0, 4016 - bl FtlConstantsInit - bl FtlVariablesInit - ldrh w0, [x20,752] - bl FtlFreeSysBlkQueueInit -.L3028: - bl FtlLoadBbt - cbz w0, .L3029 -.L3047: - bl FtlLowFormat - cmp w19, 3 - bhi .L3048 - add w19, w19, 1 - b .L3028 -.L3048: - mov w0, -1 - b .L3017 -.L3029: - bl FtlSysBlkInit - cbnz w0, .L3047 - adrp x1, .LANCHOR1+3064 - mov w2, 1 - str w2, [x1,#:lo12:.LANCHOR1+3064] -.L3017: - ldp x19, x20, [sp,16] - ldp x29, x30, [sp], 48 - ret - .size FtlReInitForSDUpdata, .-FtlReInitForSDUpdata - .align 2 - .global FtlInit - .type FtlInit, %function -FtlInit: - stp x29, x30, [sp, -48]! - mov w0, -1 - adrp x1, .LC119 - add x29, sp, 0 - str x21, [sp,32] - adrp x21, .LANCHOR1 - add x21, x21, :lo12:.LANCHOR1 - add x1, x1, :lo12:.LC119 - stp x19, x20, [sp,16] - adrp x19, .LANCHOR2 - adrp x20, .LANCHOR0 - str w0, [x21,3064] - adrp x0, .LANCHOR4+388 - add x19, x19, :lo12:.LANCHOR2 - add x20, x20, :lo12:.LANCHOR0 - str wzr, [x0,#:lo12:.LANCHOR4+388] - adrp x0, .LC45 - add x0, x0, :lo12:.LC45 - str wzr, [x19,1400] - bl printk - add x0, x20, 4016 - bl FtlConstantsInit - bl FtlMemInit - bl FtlVariablesInit - ldrh w0, [x19,752] - bl FtlFreeSysBlkQueueInit - bl FtlLoadBbt - cbz w0, .L3050 - adrp x0, .LC138 - add x0, x0, :lo12:.LC138 - b .L3062 -.L3050: - bl FtlSysBlkInit - cbz w0, .L3052 - adrp x0, .LC139 - add x0, x0, :lo12:.LC139 -.L3062: - adrp x1, .LANCHOR3 - add x1, x1, :lo12:.LANCHOR3 - add x1, x1, 40 - bl printk - b .L3051 -.L3052: - mov w1, 1 - str w1, [x21,3064] - bl ftl_do_gc - ldrh w0, [x19,3600] - cmp w0, 15 - bhi .L3053 - mov w19, 1024 -.L3054: - mov w0, 1 - mov w1, w0 - bl ftl_do_gc - subs w19, w19, #1 - bne .L3054 - b .L3051 -.L3053: - ldrb w0, [x20,136] - cbz w0, .L3051 - mov w19, 128 -.L3056: - mov w0, 1 - mov w1, w0 - bl ftl_do_gc - subs w19, w19, #1 - bne .L3056 -.L3051: - mov w0, 0 - ldr x21, [sp,32] - ldp x19, x20, [sp,16] - ldp x29, x30, [sp], 48 - ret - .size FtlInit, .-FtlInit .global gc_ink_free_return_value .global FtlUpdateVaildLpnCount .global g_ect_tbl_power_up_flush @@ -19690,19 +19683,19 @@ FtlInit: .section .rodata .align 3 .LANCHOR3 = . + 0 - .type __func__.19429, %object - .size __func__.19429, 11 -__func__.19429: + .type __func__.19441, %object + .size __func__.19441, 11 +__func__.19441: .string "FtlMemInit" .zero 5 - .type __func__.20378, %object - .size __func__.20378, 21 -__func__.20378: + .type __func__.20390, %object + .size __func__.20390, 21 +__func__.20390: .string "FtlVpcCheckAndModify" .zero 3 - .type __func__.19502, %object - .size __func__.19502, 8 -__func__.19502: + .type __func__.19514, %object + .size __func__.19514, 8 +__func__.19514: .string "FtlInit" .section .rodata.str1.1,"aMS",%progbits,1 .LC0: @@ -19944,7 +19937,7 @@ __func__.19502: .LC118: .string "free %d. [0x%x] 0x%x 0x%x\n" .LC119: - .string "FTL version: 5.0.48 20180408" + .string "FTL version: 5.0.48 20180615" .LC120: .string "swblk %x ,avg = %x max= %x vpc= %x,ec=%x ,max ec=%x\n" .LC121: @@ -19976,15 +19969,15 @@ __func__.19502: .LC134: .string "GC des block %x done\n" .LC135: - .string "FtlWrite: lpa error:%x %x\n" -.LC136: - .string "fix power lost blk = %x vpc=%x\n" -.LC137: - .string "erase power lost blk = %x vpc=%x\n" -.LC138: .string "...%s: no bad block mapping table, format device\n" -.LC139: +.LC136: .string "...%s FtlSysBlkInit error ,format device!\n" +.LC137: + .string "FtlWrite: lpa error:%x %x\n" +.LC138: + .string "fix power lost blk = %x vpc=%x\n" +.LC139: + .string "erase power lost blk = %x vpc=%x\n" .data .align 3 .LANCHOR1 = . + 0 @@ -20653,9 +20646,9 @@ NandFlashParaTbl: .byte 32 .hword 512 .byte 2 - .byte 2 - .hword 1096 - .hword 1503 + .byte 1 + .hword 2184 + .hword 1479 .byte 5 .byte 19 .byte 60 @@ -20681,7 +20674,7 @@ NandFlashParaTbl: .byte 2 .byte 1 .hword 1048 - .hword 1503 + .hword 1479 .byte 5 .byte 19 .byte 60 @@ -22607,11 +22600,16 @@ read_retry_cur_offset: .size gFlashInterfaceMode, 1 gFlashInterfaceMode: .zero 1 + .zero 3 + .type g_nandc_version_data, %object + .size g_nandc_version_data, 4 +g_nandc_version_data: + .zero 4 .type gFlashToggleModeEn, %object .size gFlashToggleModeEn, 1 gFlashToggleModeEn: .zero 1 - .zero 2 + .zero 3 .type gBootDdrMode, %object .size gBootDdrMode, 4 gBootDdrMode: @@ -22619,11 +22617,6 @@ gBootDdrMode: .type gNandcVer, %object .size gNandcVer, 4 gNandcVer: - .zero 4 - .type g_nandc_version_data, %object - .size g_nandc_version_data, 4 -g_nandc_version_data: - .zero 4 .zero 4 .type gMasterTempBuf, %object .size gMasterTempBuf, 8 @@ -23335,6 +23328,10 @@ gp_last_act_superblock: .type gc_discard_updated, %object .size gc_discard_updated, 4 gc_discard_updated: + .zero 4 + .type g_LowFormat, %object + .size g_LowFormat, 4 +g_LowFormat: .zero 4 .type g_ftl_nand_free_count, %object .size g_ftl_nand_free_count, 4 @@ -23343,10 +23340,6 @@ g_ftl_nand_free_count: .type last_cache_match_count, %object .size last_cache_match_count, 4 last_cache_match_count: - .zero 4 - .type g_LowFormat, %object - .size g_LowFormat, 4 -g_LowFormat: .zero 4 .type g_gc_refresh_block_temp_tbl, %object .size g_gc_refresh_block_temp_tbl, 34 diff --git a/drivers/rk_nand/rk_zftl_arm64.S b/drivers/rk_nand/rk_zftl_arm64.S index 0e79fc26ee4d..658e71a57658 100644 --- a/drivers/rk_nand/rk_zftl_arm64.S +++ b/drivers/rk_nand/rk_zftl_arm64.S @@ -5,7 +5,7 @@ * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. - * date: 2018-05-11 + * date: 2018-06-15 * function: rk ftl v5 for rockchip soc base on arm v8 to support 3D/2D * TLC and MLC. */ @@ -50,18 +50,44 @@ flash_mem_cmp8: ret .size flash_mem_cmp8, .-flash_mem_cmp8 .align 2 + .type slc_phy_page_address_calc, %function +slc_phy_page_address_calc: + adrp x1, .LANCHOR0 + add x2, x1, :lo12:.LANCHOR0 + ldrb w3, [x1,#:lo12:.LANCHOR0] + cbz w3, .L9 + ldrb w2, [x2,1] + cbz w2, .L10 +.L9: + add x1, x1, :lo12:.LANCHOR0 + ldrh w3, [x1,2] + udiv w2, w0, w3 + mul w2, w2, w3 + ldrb w3, [x1,1] + sub w0, w0, w2 + cbz w3, .L11 + add w0, w2, w0, lsl 1 + b .L10 +.L11: + add x1, x1, 4 + ldrh w0, [x1,w0,uxtw 1] + add w0, w0, w2 +.L10: + ret + .size slc_phy_page_address_calc, .-slc_phy_page_address_calc + .align 2 .global zftl_nandc_get_irq_status .type zftl_nandc_get_irq_status, %function zftl_nandc_get_irq_status: - adrp x1, .LANCHOR0 - ldrb w1, [x1,#:lo12:.LANCHOR0] + adrp x1, .LANCHOR0+516 + ldrb w1, [x1,#:lo12:.LANCHOR0+516] cmp w1, 9 - bne .L9 + bne .L19 ldr w0, [x0,296] - b .L10 -.L9: + b .L20 +.L19: ldr w0, [x0,372] -.L10: +.L20: ret .size zftl_nandc_get_irq_status, .-zftl_nandc_get_irq_status .section .text.unlikely,"ax",%progbits @@ -72,11 +98,11 @@ isxdigit: mov w2, 1 sub w1, w1, #65 cmp w1, 25 - bls .L12 + bls .L22 sub w0, w0, #48 cmp w0, 9 cset w2, ls -.L12: +.L22: mov w0, w2 ret .size isxdigit, .-isxdigit @@ -85,15 +111,15 @@ isxdigit: .global zftl_get_density .type zftl_get_density, %function zftl_get_density: - cbnz w0, .L15 - adrp x0, .LANCHOR0+4 - ldr w0, [x0,#:lo12:.LANCHOR0+4] - b .L16 -.L15: + cbnz w0, .L25 + adrp x0, .LANCHOR0+520 + ldr w0, [x0,#:lo12:.LANCHOR0+520] + b .L26 +.L25: cmp w0, 4 mov w0, 8192 csel w0, w0, wzr, cc -.L16: +.L26: ret .size zftl_get_density, .-zftl_get_density .align 2 @@ -109,89 +135,90 @@ _list_remove_node: stp x21, x22, [sp,32] stp x23, x24, [sp,48] umull x21, w1, w4 - ldr x23, [x3,8] + ldr x23, [x3,528] mov w3, 65535 add x20, x23, x21 ldrh w1, [x23,x21] cmp w1, w3 - bne .L19 + bne .L29 ldrh w3, [x20,2] cmp w3, w1 - bne .L19 + bne .L29 ldr x1, [x0] cmp x20, x1 - bne .L18 -.L19: + bne .L28 +.L29: ldrh w1, [x20,2] mov x22, x0 mov w0, 65535 mov x24, x2 cmp w1, w0 - bne .L21 + bne .L31 ldr x0, [x22] cmp x20, x0 - beq .L21 + beq .L31 adrp x0, .LC0 adrp x1, .LANCHOR1 - add x0, x0, :lo12:.LC0 add x1, x1, :lo12:.LANCHOR1 mov w2, 188 + add x0, x0, :lo12:.LC0 bl printk -.L21: + bl dump_stack +.L31: ldr x0, [x22] mov w2, 65535 cmp x20, x0 - bne .L22 + bne .L32 ldrh w1, [x23,x21] cmp w1, w2 - bne .L23 + bne .L33 str xzr, [x22] - b .L24 -.L23: + b .L34 +.L33: add x19, x19, :lo12:.LANCHOR0 mov w0, 6 umull x1, w1, w0 - ldr x0, [x19,8] + ldr x0, [x19,528] add x1, x0, x1 str x1, [x22] mov w0, -1 strh w0, [x1,2] - b .L24 -.L22: + b .L34 +.L32: ldrh w0, [x23,x21] cmp w0, w2 - bne .L25 + bne .L35 ldrh w1, [x20,2] cmp w1, w0 - beq .L24 + beq .L34 add x19, x19, :lo12:.LANCHOR0 mov w0, 6 mov w2, -1 umull x1, w1, w0 - ldr x0, [x19,8] - b .L26 -.L25: + ldr x0, [x19,528] + b .L36 +.L35: add x19, x19, :lo12:.LANCHOR0 mov w1, 6 ldrh w2, [x20,2] umull x0, w0, w1 - ldr x3, [x19,8] + ldr x3, [x19,528] add x0, x3, x0 strh w2, [x0,2] ldrh w0, [x20,2] ldrh w2, [x23,x21] umull x0, w0, w1 - ldr x1, [x19,8] -.L26: + ldr x1, [x19,528] +.L36: strh w2, [x1,x0] -.L24: +.L34: mov w0, -1 strh w0, [x23,x21] strh w0, [x20,2] ldrh w0, [x24] sub w0, w0, #1 strh w0, [x24] -.L18: +.L28: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -207,14 +234,14 @@ _list_pop_index_node: stp x19, x20, [sp,16] mov w19, 65535 ldr x20, [x0] - cbz x20, .L28 - adrp x3, .LANCHOR0+8 + cbz x20, .L38 + adrp x3, .LANCHOR0+528 mov w4, 65535 mov w5, 6 - ldr x19, [x3,#:lo12:.LANCHOR0+8] -.L29: - cbnz w1, .L30 -.L32: + ldr x19, [x3,#:lo12:.LANCHOR0+528] +.L39: + cbnz w1, .L40 +.L42: sub x19, x20, x19 mov x1, -6148914691236517206 asr x19, x19, 1 @@ -225,17 +252,17 @@ _list_pop_index_node: mov w0, -1 strh w0, [x20] strh w0, [x20,2] - b .L28 -.L30: + b .L38 +.L40: ldrh w3, [x20] cmp w3, w4 - beq .L32 + beq .L42 umull x20, w3, w5 sub w1, w1, #1 add x20, x19, x20 uxth w1, w1 - b .L29 -.L28: + b .L39 +.L38: mov w0, w19 ldp x19, x20, [sp,16] ldp x29, x30, [sp], 32 @@ -284,52 +311,52 @@ zftl_debug_proc_show: .global zftl_flash_suspend .type zftl_flash_suspend, %function zftl_flash_suspend: - adrp x1, .LANCHOR0 - add x0, x1, :lo12:.LANCHOR0 - ldrb w1, [x1,#:lo12:.LANCHOR0] + adrp x0, .LANCHOR0 + add x0, x0, :lo12:.LANCHOR0 + ldrb w1, [x0,516] cmp w1, 9 - ldr x1, [x0,16] + ldr x1, [x0,536] ldr w2, [x1] - str w2, [x0,24] + str w2, [x0,544] ldr w2, [x1,4] - str w2, [x0,28] - bne .L37 + str w2, [x0,548] + bne .L47 ldr w2, [x1,16] - str w2, [x0,32] + str w2, [x0,552] ldr w2, [x1,32] - str w2, [x0,36] + str w2, [x0,556] ldr w2, [x1,80] - str w2, [x0,40] + str w2, [x0,560] ldr w2, [x1,84] - str w2, [x0,44] + str w2, [x0,564] ldr w2, [x1,520] - str w2, [x0,48] + str w2, [x0,568] ldr w1, [x1,8] - b .L39 -.L37: + b .L49 +.L47: ldr w2, [x1,8] - str w2, [x0,32] + str w2, [x0,552] ldr w2, [x1,12] - str w2, [x0,36] + str w2, [x0,556] ldr w2, [x1,304] - str w2, [x0,40] + str w2, [x0,560] ldr w2, [x1,308] - str w2, [x0,44] + str w2, [x0,564] ldr w2, [x1,336] ldr w1, [x1,344] - str w2, [x0,48] -.L39: - str w1, [x0,52] + str w2, [x0,568] +.L49: + str w1, [x0,572] ret .size zftl_flash_suspend, .-zftl_flash_suspend .align 2 .type nandc_irq_disable, %function nandc_irq_disable: - adrp x2, .LANCHOR0 - ldrb w2, [x2,#:lo12:.LANCHOR0] + adrp x2, .LANCHOR0+516 + ldrb w2, [x2,#:lo12:.LANCHOR0+516] cmp w2, 9 mov x2, 1 - bne .L41 + bne .L51 ldr w3, [x0,292] lsl x1, x2, x1 orr w2, w3, w1 @@ -337,8 +364,8 @@ nandc_irq_disable: ldr w2, [x0,288] bic w1, w2, w1 str w1, [x0,288] - b .L40 -.L41: + b .L50 +.L51: ldr w3, [x0,368] lsl x1, x2, x1 orr w2, w3, w1 @@ -346,7 +373,7 @@ nandc_irq_disable: ldr w2, [x0,364] bic w1, w2, w1 str w1, [x0,364] -.L40: +.L50: ret .size nandc_irq_disable, .-nandc_irq_disable .align 2 @@ -356,26 +383,26 @@ _insert_free_list: uxth w1, w1 add x6, x3, :lo12:.LANCHOR0 mov x10, x3 - ldrh w4, [x6,56] + ldrh w4, [x6,576] cmp w4, w1 - bls .L43 + bls .L53 ldrh w3, [x2] mov w7, 6 add w3, w3, 1 strh w3, [x2] umull x11, w1, w7 - ldr x12, [x6,8] + ldr x12, [x6,528] mov w2, -1 add x5, x12, x11 strh w2, [x5,2] strh w2, [x12,x11] ldr x2, [x0] - cbz x2, .L50 - ldr x9, [x6,64] + cbz x2, .L60 + ldr x9, [x6,584] ubfiz x8, x1, 2, 16 - ldrh w13, [x6,72] + ldrh w13, [x6,592] mov w16, 65535 - ldr x14, [x6,8] + ldr x14, [x6,528] mov x6, -6148914691236517206 ldr w4, [x9,x8] ubfx x3, x4, 11, 8 @@ -388,7 +415,7 @@ _insert_free_list: uxth w4, w4 madd x3, x6, x3, x3 uxth w3, w3 -.L48: +.L58: ubfiz x15, x3, 2, 16 ldr w6, [x9,x15] ubfx x7, x6, 11, 8 @@ -396,38 +423,38 @@ _insert_free_list: ubfx x6, x6, 0, 11 madd w6, w13, w7, w6 cmp w4, w6, uxth - bls .L46 + bls .L56 ldrh w6, [x2] cmp w6, w16 - bne .L47 + bne .L57 strh w3, [x5,2] strh w1, [x2] - b .L43 -.L47: + b .L53 +.L57: umull x2, w6, w8 mov w3, w6 add x2, x14, x2 - b .L48 -.L46: + b .L58 +.L56: ldrh w4, [x2,2] strh w4, [x5,2] strh w3, [x12,x11] ldr x3, [x0] cmp x2, x3 - bne .L49 + bne .L59 strh w1, [x2,2] -.L50: +.L60: str x5, [x0] - b .L43 -.L49: + b .L53 +.L59: ldrh w0, [x2,2] add x3, x10, :lo12:.LANCHOR0 mov w4, 6 - ldr x3, [x3,8] + ldr x3, [x3,528] umull x0, w0, w4 strh w1, [x3,x0] strh w1, [x2,2] -.L43: +.L53: ret .size _insert_free_list, .-_insert_free_list .align 2 @@ -439,57 +466,57 @@ _insert_data_list: uxth w1, w1 stp x19, x20, [sp] str x21, [sp,16] - ldrh w3, [x10,56] + ldrh w3, [x10,576] cmp w3, w1 - bls .L51 + bls .L61 ldrh w3, [x2] mov w8, 6 add w3, w3, 1 strh w3, [x2] umull x8, w1, w8 - ldr x14, [x10,8] + ldr x14, [x10,528] mov w2, -1 add x6, x14, x8 strh w2, [x6,2] strh w2, [x14,x8] ldr x2, [x0] - cbz x2, .L71 + cbz x2, .L81 uxtw x9, w1 - ldr x16, [x10,80] - ldr x12, [x10,64] + ldr x16, [x10,600] + ldr x12, [x10,584] ldrh w11, [x6,4] ldrh w4, [x16,x9,lsl 1] lsl x9, x9, 2 - ldrh w17, [x10,72] + ldrh w17, [x10,592] ldr w3, [x12,x9] mul w4, w4, w11 ubfx x7, x3, 11, 8 ldrh w3, [x12,x9] and w3, w3, 2047 - cbz w4, .L55 + cbz w4, .L65 madd w3, w17, w7, w3 add w4, w4, w3, uxth -.L55: +.L65: add x7, x5, :lo12:.LANCHOR0 mov x9, -6148914691236517206 cmp w11, wzr mov w20, 65535 csinv w4, w4, wzr, ne mov w21, 6 - ldr x18, [x7,8] - ldrh w19, [x7,56] + ldr x18, [x7,528] + ldrh w19, [x7,576] mov w7, 0 sub x3, x2, x18 asr x3, x3, 1 madd x3, x9, x3, x3 uxth w3, w3 -.L62: +.L72: add w7, w7, 1 cmp w1, w3 uxth w7, w7 - beq .L51 + beq .L61 cmp w7, w19 - bhi .L51 + bhi .L61 uxtw x11, w3 ldrh w15, [x2,4] ldrh w13, [x16,x11,lsl 1] @@ -499,50 +526,50 @@ _insert_data_list: ubfx x10, x9, 11, 8 ldrh w9, [x12,x11] and w9, w9, 2047 - cbz w13, .L58 + cbz w13, .L68 mov w11, -1 - cbz w15, .L59 + cbz w15, .L69 madd w9, w17, w10, w9 add w11, w13, w9, uxth - b .L59 -.L58: - cbnz w15, .L64 + b .L69 +.L68: + cbnz w15, .L74 mov w11, -1 -.L59: +.L69: cmp w11, w4 - bhi .L60 -.L64: + bhi .L70 +.L74: ldrh w9, [x2] cmp w9, w20 - bne .L61 + bne .L71 strh w3, [x6,2] strh w1, [x2] - b .L51 -.L61: + b .L61 +.L71: umull x2, w9, w21 mov w3, w9 add x2, x18, x2 - b .L62 -.L60: + b .L72 +.L70: ldrh w4, [x2,2] strh w4, [x6,2] strh w3, [x14,x8] ldr x3, [x0] cmp x2, x3 - bne .L63 + bne .L73 strh w1, [x2,2] -.L71: +.L81: str x6, [x0] - b .L51 -.L63: + b .L61 +.L73: ldrh w0, [x2,2] add x5, x5, :lo12:.LANCHOR0 mov w3, 6 umull x0, w0, w3 - ldr x3, [x5,8] + ldr x3, [x5,528] strh w1, [x3,x0] strh w1, [x2,2] -.L51: +.L61: ldp x19, x20, [sp] ldr x21, [sp,16] add sp, sp, 32 @@ -553,28 +580,28 @@ _insert_data_list: _list_get_gc_head_node.isra.5: uxth w1, w1 mov w2, 65535 - cbz x0, .L78 - adrp x2, .LANCHOR0+8 + cbz x0, .L88 + adrp x2, .LANCHOR0+528 mov w4, 65535 mov w5, 6 - ldr x3, [x2,#:lo12:.LANCHOR0+8] -.L74: - cbz w1, .L75 + ldr x3, [x2,#:lo12:.LANCHOR0+528] +.L84: + cbz w1, .L85 ldrh w2, [x0] cmp w2, w4 - beq .L78 + beq .L88 umull x2, w2, w5 sub w1, w1, #1 add x0, x3, x2 uxth w1, w1 - b .L74 -.L75: + b .L84 +.L85: sub x0, x0, x3 mov x1, -6148914691236517206 asr x0, x0, 1 madd x0, x1, x0, x0 uxth w2, w0 -.L78: +.L88: mov w0, w2 ret .size _list_get_gc_head_node.isra.5, .-_list_get_gc_head_node.isra.5 @@ -591,53 +618,54 @@ _list_update_data_list: stp x21, x22, [sp,32] stp x23, x24, [sp,48] mov x20, x1 - ldr x3, [x4,88] + ldr x3, [x4,608] ldrh w5, [x3,16] cmp w5, w19 - beq .L79 + beq .L89 ldrh w1, [x3,48] cmp w1, w19 - beq .L79 + beq .L89 ldrh w1, [x3,80] cmp w1, w19 - beq .L79 + beq .L89 mov w23, 6 - ldr x25, [x4,8] + ldr x25, [x4,528] ldr x1, [x0] umull x23, w19, w23 add x24, x25, x23 cmp x24, x1 - beq .L79 + beq .L89 mov x21, x0 ldrh w0, [x24,2] mov w1, 65535 mov x22, x2 cmp w0, w1 - bne .L83 + bne .L93 ldrh w1, [x25,x23] cmp w1, w0 - bne .L83 + bne .L93 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 - add x0, x0, :lo12:.LC0 - add x1, x1, 24 mov w2, 255 + add x1, x1, 24 + add x0, x0, :lo12:.LC0 bl printk -.L83: + bl dump_stack +.L93: ldrh w3, [x24,2] mov w0, 65535 cmp w3, w0 - bne .L84 + bne .L94 ldrh w0, [x25,x23] cmp w0, w3 - beq .L79 -.L84: + beq .L89 +.L94: add x1, x20, :lo12:.LANCHOR0 ubfiz x0, x19, 1, 16 mov x5, -6148914691236517206 - ldr x4, [x1,80] - ldr x1, [x1,8] + ldr x4, [x1,600] + ldr x1, [x1,528] ldrh w2, [x4,x0] ldrh w0, [x24,4] cmp w0, wzr @@ -654,7 +682,7 @@ _list_update_data_list: mul w0, w0, w1 csinv w0, w0, wzr, ne cmp w2, w0 - bcs .L79 + bcs .L89 mov x0, x21 mov w1, w19 mov x2, x22 @@ -663,7 +691,7 @@ _list_update_data_list: mov w1, w19 mov x2, x22 bl _insert_data_list -.L79: +.L89: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -672,21 +700,21 @@ _list_update_data_list: ret .size _list_update_data_list, .-_list_update_data_list .align 2 - .type zftl_get_gc_node.part.13, %function -zftl_get_gc_node.part.13: + .type zftl_get_gc_node.part.12, %function +zftl_get_gc_node.part.12: uxth w1, w0 - adrp x0, .LANCHOR0+96 + adrp x0, .LANCHOR0+616 stp x29, x30, [sp, -16]! add x29, sp, 0 - ldr x0, [x0,#:lo12:.LANCHOR0+96] + ldr x0, [x0,#:lo12:.LANCHOR0+616] bl _list_get_gc_head_node.isra.5 ldp x29, x30, [sp], 16 ret - .size zftl_get_gc_node.part.13, .-zftl_get_gc_node.part.13 + .size zftl_get_gc_node.part.12, .-zftl_get_gc_node.part.12 .section .text.unlikely .align 2 - .type rk_simple_strtoull.constprop.33, %function -rk_simple_strtoull.constprop.33: + .type rk_simple_strtoull.constprop.31, %function +rk_simple_strtoull.constprop.31: stp x29, x30, [sp, -64]! add x29, sp, 0 stp x19, x20, [sp,16] @@ -696,56 +724,56 @@ rk_simple_strtoull.constprop.33: mov x23, x1 ldrb w0, [x0] cmp w0, 48 - bne .L101 + bne .L111 ldrb w0, [x20,1] add x19, x20, 1 mov w21, 8 orr w0, w0, 32 uxtb w0, w0 cmp w0, 120 - bne .L91 + bne .L101 ldrb w0, [x20,2] bl isxdigit - cbz w0, .L91 + cbz w0, .L101 add x19, x20, 2 mov w21, 16 - b .L91 -.L101: + b .L101 +.L111: mov x19, x20 mov w21, 10 -.L91: +.L101: mov w22, 0 -.L92: +.L102: ldrb w20, [x19] mov w0, w20 bl isxdigit - cbnz w0, .L93 -.L99: - cbz x23, .L105 + cbnz w0, .L103 +.L109: + cbz x23, .L115 str x19, [x23] - b .L105 -.L93: + b .L115 +.L103: sub w2, w20, #48 cmp w2, 9 - bhi .L106 -.L100: + bhi .L116 +.L110: cmp w2, w21 - bcs .L99 + bcs .L109 madd w22, w22, w21, w2 add x19, x19, 1 - b .L92 -.L106: + b .L102 +.L116: orr w20, w20, 32 sub w2, w20, #87 - b .L100 -.L105: + b .L110 +.L115: mov w0, w22 ldr x23, [sp,48] ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x29, x30, [sp], 64 ret - .size rk_simple_strtoull.constprop.33, .-rk_simple_strtoull.constprop.33 + .size rk_simple_strtoull.constprop.31, .-rk_simple_strtoull.constprop.31 .text .align 2 .global nand_flash_print_info @@ -756,18 +784,18 @@ nand_flash_print_info: str x19, [sp,16] adrp x19, .LANCHOR2 ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L108 + tbz x0, 12, .L118 adrp x1, .LANCHOR1 adrp x0, .LC4 add x1, x1, :lo12:.LANCHOR1 add x0, x0, :lo12:.LC4 add x1, x1, 48 bl printk -.L108: +.L118: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L109 - adrp x0, .LANCHOR0+104 - ldr x6, [x0,#:lo12:.LANCHOR0+104] + tbz x0, 12, .L119 + adrp x0, .LANCHOR0+624 + ldr x6, [x0,#:lo12:.LANCHOR0+624] adrp x0, .LC5 add x0, x0, :lo12:.LC5 ldrb w1, [x6,1] @@ -777,278 +805,278 @@ nand_flash_print_info: ldrb w5, [x6,5] ldrb w6, [x6,6] bl printk -.L109: +.L119: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L110 - adrp x0, .LANCHOR0+104 - ldr x1, [x0,#:lo12:.LANCHOR0+104] + tbz x0, 12, .L120 + adrp x0, .LANCHOR0+624 + ldr x1, [x0,#:lo12:.LANCHOR0+624] adrp x0, .LC6 add x0, x0, :lo12:.LC6 ldrb w1, [x1,8] bl printk -.L110: +.L120: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L111 - adrp x0, .LANCHOR0+104 - ldr x1, [x0,#:lo12:.LANCHOR0+104] + tbz x0, 12, .L121 + adrp x0, .LANCHOR0+624 + ldr x1, [x0,#:lo12:.LANCHOR0+624] adrp x0, .LC7 add x0, x0, :lo12:.LC7 ldrb w1, [x1,9] bl printk -.L111: +.L121: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L112 - adrp x0, .LANCHOR0+104 - ldr x1, [x0,#:lo12:.LANCHOR0+104] + tbz x0, 12, .L122 + adrp x0, .LANCHOR0+624 + ldr x1, [x0,#:lo12:.LANCHOR0+624] adrp x0, .LC8 add x0, x0, :lo12:.LC8 ldrh w1, [x1,10] bl printk -.L112: +.L122: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L113 - adrp x0, .LANCHOR0+104 - ldr x1, [x0,#:lo12:.LANCHOR0+104] + tbz x0, 12, .L123 + adrp x0, .LANCHOR0+624 + ldr x1, [x0,#:lo12:.LANCHOR0+624] adrp x0, .LC9 add x0, x0, :lo12:.LC9 ldrb w1, [x1,12] bl printk -.L113: +.L123: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L114 - adrp x0, .LANCHOR0+104 - ldr x1, [x0,#:lo12:.LANCHOR0+104] + tbz x0, 12, .L124 + adrp x0, .LANCHOR0+624 + ldr x1, [x0,#:lo12:.LANCHOR0+624] adrp x0, .LC10 add x0, x0, :lo12:.LC10 ldrb w1, [x1,13] bl printk -.L114: +.L124: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L115 - adrp x0, .LANCHOR0+104 - ldr x1, [x0,#:lo12:.LANCHOR0+104] + tbz x0, 12, .L125 + adrp x0, .LANCHOR0+624 + ldr x1, [x0,#:lo12:.LANCHOR0+624] adrp x0, .LC11 add x0, x0, :lo12:.LC11 ldrh w1, [x1,14] bl printk -.L115: +.L125: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L116 - adrp x0, .LANCHOR0+104 - ldr x1, [x0,#:lo12:.LANCHOR0+104] + tbz x0, 12, .L126 + adrp x0, .LANCHOR0+624 + ldr x1, [x0,#:lo12:.LANCHOR0+624] adrp x0, .LC12 add x0, x0, :lo12:.LC12 ldrb w1, [x1,23] bl printk -.L116: +.L126: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L117 - adrp x0, .LANCHOR0+104 - ldr x1, [x0,#:lo12:.LANCHOR0+104] + tbz x0, 12, .L127 + adrp x0, .LANCHOR0+624 + ldr x1, [x0,#:lo12:.LANCHOR0+624] adrp x0, .LC13 add x0, x0, :lo12:.LC13 ldrb w1, [x1,18] bl printk -.L117: +.L127: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L118 - adrp x0, .LANCHOR0+104 - ldr x1, [x0,#:lo12:.LANCHOR0+104] + tbz x0, 12, .L128 + adrp x0, .LANCHOR0+624 + ldr x1, [x0,#:lo12:.LANCHOR0+624] adrp x0, .LC14 add x0, x0, :lo12:.LC14 ldrb w1, [x1,19] bl printk -.L118: +.L128: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L119 - adrp x0, .LANCHOR0+104 - ldr x1, [x0,#:lo12:.LANCHOR0+104] + tbz x0, 12, .L129 + adrp x0, .LANCHOR0+624 + ldr x1, [x0,#:lo12:.LANCHOR0+624] adrp x0, .LC15 add x0, x0, :lo12:.LC15 ldrb w1, [x1,20] bl printk -.L119: +.L129: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L120 - adrp x1, .LANCHOR0+112 + tbz x0, 12, .L130 + adrp x1, .LANCHOR0+632 adrp x0, .LC16 add x0, x0, :lo12:.LC16 - ldrb w1, [x1,#:lo12:.LANCHOR0+112] + ldrb w1, [x1,#:lo12:.LANCHOR0+632] bl printk -.L120: +.L130: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L121 - adrp x1, .LANCHOR0+113 + tbz x0, 12, .L131 + adrp x1, .LANCHOR0 adrp x0, .LC17 add x0, x0, :lo12:.LC17 - ldrb w1, [x1,#:lo12:.LANCHOR0+113] + ldrb w1, [x1,#:lo12:.LANCHOR0] bl printk -.L121: +.L131: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L122 - adrp x0, .LANCHOR0+104 - ldr x1, [x0,#:lo12:.LANCHOR0+104] + tbz x0, 12, .L132 + adrp x0, .LANCHOR0+624 + ldr x1, [x0,#:lo12:.LANCHOR0+624] adrp x0, .LC18 add x0, x0, :lo12:.LC18 ldrb w1, [x1,22] bl printk -.L122: +.L132: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L123 - adrp x1, .LANCHOR0+114 + tbz x0, 12, .L133 + adrp x1, .LANCHOR0+633 adrp x0, .LC19 add x0, x0, :lo12:.LC19 - ldrb w1, [x1,#:lo12:.LANCHOR0+114] + ldrb w1, [x1,#:lo12:.LANCHOR0+633] bl printk -.L123: +.L133: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L124 - adrp x0, .LANCHOR0+104 - ldr x0, [x0,#:lo12:.LANCHOR0+104] + tbz x0, 12, .L134 + adrp x0, .LANCHOR0+624 + ldr x0, [x0,#:lo12:.LANCHOR0+624] ldrh w1, [x0,16] adrp x0, .LC20 add x0, x0, :lo12:.LC20 and w1, w1, 1 bl printk -.L124: +.L134: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L125 - adrp x0, .LANCHOR0+104 - ldr x0, [x0,#:lo12:.LANCHOR0+104] + tbz x0, 12, .L135 + adrp x0, .LANCHOR0+624 + ldr x0, [x0,#:lo12:.LANCHOR0+624] ldrh w1, [x0,16] adrp x0, .LC21 add x0, x0, :lo12:.LC21 ubfx x1, x1, 1, 1 bl printk -.L125: +.L135: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L126 - adrp x0, .LANCHOR0+104 - ldr x0, [x0,#:lo12:.LANCHOR0+104] + tbz x0, 12, .L136 + adrp x0, .LANCHOR0+624 + ldr x0, [x0,#:lo12:.LANCHOR0+624] ldrh w1, [x0,16] adrp x0, .LC22 add x0, x0, :lo12:.LC22 ubfx x1, x1, 2, 1 bl printk -.L126: +.L136: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L127 - adrp x0, .LANCHOR0+104 - ldr x0, [x0,#:lo12:.LANCHOR0+104] + tbz x0, 12, .L137 + adrp x0, .LANCHOR0+624 + ldr x0, [x0,#:lo12:.LANCHOR0+624] ldrh w1, [x0,16] adrp x0, .LC23 add x0, x0, :lo12:.LC23 ubfx x1, x1, 3, 1 bl printk -.L127: +.L137: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L128 - adrp x0, .LANCHOR0+104 - ldr x0, [x0,#:lo12:.LANCHOR0+104] + tbz x0, 12, .L138 + adrp x0, .LANCHOR0+624 + ldr x0, [x0,#:lo12:.LANCHOR0+624] ldrh w1, [x0,16] adrp x0, .LC24 add x0, x0, :lo12:.LC24 ubfx x1, x1, 4, 1 bl printk -.L128: +.L138: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L129 - adrp x0, .LANCHOR0+104 - ldr x0, [x0,#:lo12:.LANCHOR0+104] + tbz x0, 12, .L139 + adrp x0, .LANCHOR0+624 + ldr x0, [x0,#:lo12:.LANCHOR0+624] ldrh w1, [x0,16] adrp x0, .LC25 add x0, x0, :lo12:.LC25 ubfx x1, x1, 5, 1 bl printk -.L129: +.L139: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L130 - adrp x0, .LANCHOR0+104 - ldr x0, [x0,#:lo12:.LANCHOR0+104] + tbz x0, 12, .L140 + adrp x0, .LANCHOR0+624 + ldr x0, [x0,#:lo12:.LANCHOR0+624] ldrh w1, [x0,16] adrp x0, .LC26 add x0, x0, :lo12:.LC26 ubfx x1, x1, 6, 1 bl printk -.L130: +.L140: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L131 - adrp x0, .LANCHOR0+104 - ldr x0, [x0,#:lo12:.LANCHOR0+104] + tbz x0, 12, .L141 + adrp x0, .LANCHOR0+624 + ldr x0, [x0,#:lo12:.LANCHOR0+624] ldrh w1, [x0,16] adrp x0, .LC27 add x0, x0, :lo12:.LC27 ubfx x1, x1, 7, 1 bl printk -.L131: +.L141: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L132 - adrp x0, .LANCHOR0+104 - ldr x0, [x0,#:lo12:.LANCHOR0+104] + tbz x0, 12, .L142 + adrp x0, .LANCHOR0+624 + ldr x0, [x0,#:lo12:.LANCHOR0+624] ldrb w1, [x0,17] adrp x0, .LC28 add x0, x0, :lo12:.LC28 and w1, w1, 1 bl printk -.L132: +.L142: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L133 - adrp x0, .LANCHOR0+104 - ldr x0, [x0,#:lo12:.LANCHOR0+104] + tbz x0, 12, .L143 + adrp x0, .LANCHOR0+624 + ldr x0, [x0,#:lo12:.LANCHOR0+624] ldrh w1, [x0,16] adrp x0, .LC29 add x0, x0, :lo12:.LC29 ubfx x1, x1, 9, 1 bl printk -.L133: +.L143: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L134 - adrp x0, .LANCHOR0+104 - ldr x0, [x0,#:lo12:.LANCHOR0+104] + tbz x0, 12, .L144 + adrp x0, .LANCHOR0+624 + ldr x0, [x0,#:lo12:.LANCHOR0+624] ldrh w1, [x0,16] adrp x0, .LC30 add x0, x0, :lo12:.LC30 ubfx x1, x1, 10, 1 bl printk -.L134: +.L144: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L135 - adrp x1, .LANCHOR0+113 + tbz x0, 12, .L145 + adrp x1, .LANCHOR0 adrp x0, .LC17 add x0, x0, :lo12:.LC17 - ldrb w1, [x1,#:lo12:.LANCHOR0+113] + ldrb w1, [x1,#:lo12:.LANCHOR0] bl printk -.L135: +.L145: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L136 + tbz x0, 12, .L146 adrp x2, .LANCHOR0 adrp x0, .LC31 add x2, x2, :lo12:.LANCHOR0 add x0, x0, :lo12:.LC31 - add x2, x2, 120 + add x2, x2, 640 ldrb w1, [x2,10] ldrb w2, [x2,11] bl printk -.L136: +.L146: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L137 + tbz x0, 12, .L147 adrp x2, .LANCHOR0 adrp x0, .LC32 add x2, x2, :lo12:.LANCHOR0 add x0, x0, :lo12:.LC32 - add x2, x2, 120 + add x2, x2, 640 ldrb w1, [x2,8] ldrb w2, [x2,9] bl printk -.L137: +.L147: ldr w0, [x19,#:lo12:.LANCHOR2] - tbz x0, 12, .L107 - adrp x1, .LANCHOR0+152 + tbz x0, 12, .L117 + adrp x1, .LANCHOR0+672 adrp x0, .LC33 add x0, x0, :lo12:.LC33 - ldrb w1, [x1,#:lo12:.LANCHOR0+152] + ldrb w1, [x1,#:lo12:.LANCHOR0+672] bl printk -.L107: +.L117: ldr x19, [sp,16] ldp x29, x30, [sp], 32 ret @@ -1065,7 +1093,7 @@ nandc_init: stp x19, x20, [sp,16] str wzr, [x29,56] ldr w0, [x21,#:lo12:.LANCHOR2] - tbz x0, 12, .L233 + tbz x0, 12, .L243 adrp x1, .LANCHOR1 adrp x0, .LC34 add x1, x1, :lo12:.LANCHOR1 @@ -1073,45 +1101,51 @@ nandc_init: add x1, x1, 72 mov x2, x22 bl printk -.L233: - adrp x19, .LANCHOR0 - mov w1, 6 - add x0, x19, :lo12:.LANCHOR0 - strb w1, [x19,#:lo12:.LANCHOR0] - str x22, [x0,16] - mov w0, 12336 - ldr w1, [x22,352] - movk w0, 0x5638, lsl 16 - cmp w1, w0 - bne .L234 - mov w0, 8 - strb w0, [x19,#:lo12:.LANCHOR0] -.L234: +.L243: + adrp x1, .LANCHOR0 + mov w2, 6 + add x0, x1, :lo12:.LANCHOR0 + ldr w3, [x22,352] + mov x20, x1 + strb w2, [x0,516] + mov w2, 12336 + movk w2, 0x5638, lsl 16 + str x22, [x0,536] + cmp w3, w2 + bne .L244 + mov w1, 8 + strb w1, [x0,516] +.L244: ldr w1, [x22,128] mov w0, 12336 movk w0, 0x5639, lsl 16 cmp w1, w0 - bne .L235 - mov w0, 9 - strb w0, [x19,#:lo12:.LANCHOR0] -.L235: - ldrb w0, [x19,#:lo12:.LANCHOR0] - add x20, x19, :lo12:.LANCHOR0 + bne .L245 + add x0, x20, :lo12:.LANCHOR0 + mov w1, 9 + strb w1, [x0,516] +.L245: + add x19, x20, :lo12:.LANCHOR0 + ldrb w0, [x19,516] cmp w0, 9 - bne .L236 + bne .L246 mov w0, 1 - strb w0, [x20,153] + strb w0, [x19,673] ldr w0, [x29,56] - mov w1, 4225 + mov w1, 2 orr w0, w0, 256 str w0, [x29,56] ldr w0, [x29,56] + bfi w0, w1, 18, 3 + str w0, [x29,56] + mov w1, 4161 + ldr w0, [x29,56] str w0, [x22] - ldr x0, [x20,16] + ldr x0, [x19,536] str wzr, [x0,520] str w1, [x0,4] mov w1, 8321 - ldr x0, [x20,16] + ldr x0, [x19,536] str w1, [x0,8] mov w1, 4099 movk w1, 0x10, lsl 16 @@ -1121,26 +1155,30 @@ nandc_init: mov w1, 39 str w1, [x0,84] ldr w1, [x21,#:lo12:.LANCHOR2] - tbz x1, 12, .L238 + tbz x1, 12, .L248 ldr w1, [x0] ldr w2, [x0,8] ldr w3, [x0,80] ldr w4, [x0,84] ldr w5, [x0,88] - b .L250 -.L236: + b .L260 +.L246: ldr w0, [x29,56] - mov w1, 4225 - strb wzr, [x20,153] + mov w1, 1 + strb wzr, [x19,673] orr w0, w0, 256 str w0, [x29,56] ldr w0, [x29,56] + bfi w0, w1, 24, 3 + str w0, [x29,56] + mov w1, 4193 + ldr w0, [x29,56] str w0, [x22] - ldr x0, [x20,16] + ldr x0, [x19,536] str wzr, [x0,336] str w1, [x0,4] mov w1, 8321 - ldr x0, [x20,16] + ldr x0, [x19,536] str w1, [x0,344] mov w1, 4099 movk w1, 0x10, lsl 16 @@ -1151,33 +1189,32 @@ nandc_init: str w1, [x0,308] mov w0, 2048 bl ftl_malloc - str x0, [x20,160] + str x0, [x19,680] ldr w0, [x21,#:lo12:.LANCHOR2] - tbz x0, 12, .L238 - ldr x0, [x20,16] + tbz x0, 12, .L248 + ldr x0, [x19,536] ldr w1, [x0] ldr w2, [x0,344] ldr w3, [x0,304] ldr w4, [x0,308] ldr w5, [x0,312] -.L250: +.L260: adrp x0, .LC35 add x0, x0, :lo12:.LC35 bl printk -.L238: - add x19, x19, :lo12:.LANCHOR0 +.L248: + add x1, x20, :lo12:.LANCHOR0 mov w0, 1 - strb w0, [x19,200] + strb w0, [x1,720] ldr w0, [x21,#:lo12:.LANCHOR2] - strh wzr, [x19,202] - strb wzr, [x19,204] - tbz x0, 12, .L232 - adrp x1, .LANCHOR0 + strh wzr, [x1,722] + strb wzr, [x1,724] + tbz x0, 12, .L242 adrp x0, .LC36 + ldrb w1, [x1,516] add x0, x0, :lo12:.LC36 - ldrb w1, [x1,#:lo12:.LANCHOR0] bl printk -.L232: +.L242: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x29, x30, [sp], 64 @@ -1190,11 +1227,11 @@ timer_delay_ns: sub sp, sp, #16 lsr w0, w0, 4 str w0, [sp,12] -.L252: +.L262: ldr w0, [sp,12] sub w1, w0, #1 str w1, [sp,12] - cbnz w0, .L252 + cbnz w0, .L262 add sp, sp, 16 ret .size timer_delay_ns, .-timer_delay_ns @@ -1243,34 +1280,34 @@ toshiba_set_rr_para: adrp x26, .LANCHOR0 mov w27, 85 mov x19, x2 -.L256: +.L266: add x25, x26, :lo12:.LANCHOR0 - ldrb w0, [x25,206] + ldrb w0, [x25,726] cmp w0, w20 - bls .L262 + bls .L272 add x0, x19, 88 str w27, [x22,8] ldrsb w0, [x20,x0] str w0, [x22,4] mov w0, 200 bl timer_delay_ns - ldrb w0, [x25,205] + ldrb w0, [x25,725] cmp w0, 34 - bne .L257 + bne .L267 ldrsb w0, [x24,x20] - b .L261 -.L257: + b .L271 +.L267: cmp w0, 35 - bne .L259 + bne .L269 ldrsb w0, [x21,x20] - b .L261 -.L259: + b .L271 +.L269: ldrsb w0, [x23,232] -.L261: +.L271: str w0, [x22] add x20, x20, 1 - b .L256 -.L262: + b .L266 +.L272: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -1293,8 +1330,8 @@ hynix_set_rr_para: str x23, [sp,48] mov x20, 160 mov x21, 0 - ldr x4, [x3,208] - ldr x19, [x3,16] + ldr x4, [x3,728] + ldr x19, [x3,536] add x23, x4, 128 ldrb w22, [x4,113] mul w2, w1, w22 @@ -1307,9 +1344,9 @@ hynix_set_rr_para: add x20, x4, x1 add x20, x20, 144 str w0, [x19,2056] -.L264: +.L274: cmp w22, w21, uxtb - bls .L266 + bls .L276 ldrb w0, [x23,x21] str w0, [x19,2052] mov w0, 120 @@ -1317,8 +1354,8 @@ hynix_set_rr_para: ldrsb w0, [x20,x21] add x21, x21, 1 str w0, [x19,2048] - b .L264 -.L266: + b .L274 +.L276: mov w0, 22 str w0, [x19,2056] ldp x19, x20, [sp,16] @@ -1337,22 +1374,22 @@ hynix_reconfig_rr_para: stp x19, x20, [sp,16] adrp x19, .LANCHOR0 add x19, x19, :lo12:.LANCHOR0 - ldrb w1, [x19,205] + ldrb w1, [x19,725] sub w1, w1, #1 uxtb w1, w1 cmp w1, 6 - bhi .L267 - ldr x1, [x19,208] + bhi .L277 + ldr x1, [x19,728] sxtw x20, w0 add x1, x1, x20 ldrb w1, [x1,120] - cbz w1, .L267 + cbz w1, .L277 mov w1, 0 bl hynix_set_rr_para - ldr x0, [x19,208] + ldr x0, [x19,728] add x20, x0, x20 strb wzr, [x20,120] -.L267: +.L277: ldp x19, x20, [sp,16] ldp x29, x30, [sp], 32 ret @@ -1363,37 +1400,37 @@ hynix_reconfig_rr_para: nandc_set_ddr_para: adrp x1, .LANCHOR0 uxtb w0, w0 - add x2, x1, :lo12:.LANCHOR0 - ldrb w1, [x1,#:lo12:.LANCHOR0] - ldr x2, [x2,16] - cmp w1, 9 - lsl w1, w0, 16 + add x1, x1, :lo12:.LANCHOR0 + ldrb w2, [x1,516] + ldr x1, [x1,536] + cmp w2, 9 + lsl w2, w0, 16 lsl w0, w0, 8 - orr w0, w1, w0 + orr w0, w2, w0 orr w0, w0, 3 - bne .L273 - str w0, [x2,80] - b .L272 -.L273: - str w0, [x2,304] -.L272: + bne .L283 + str w0, [x1,80] + b .L282 +.L283: + str w0, [x1,304] +.L282: ret .size nandc_set_ddr_para, .-nandc_set_ddr_para .align 2 .global nandc_get_ddr_para .type nandc_get_ddr_para, %function nandc_get_ddr_para: - adrp x1, .LANCHOR0 - add x0, x1, :lo12:.LANCHOR0 - ldrb w1, [x1,#:lo12:.LANCHOR0] - ldr x0, [x0,16] + adrp x0, .LANCHOR0 + add x0, x0, :lo12:.LANCHOR0 + ldrb w1, [x0,516] + ldr x0, [x0,536] cmp w1, 9 - bne .L276 + bne .L286 ldr w0, [x0,80] - b .L278 -.L276: + b .L288 +.L286: ldr w0, [x0,304] -.L278: +.L288: ubfx x0, x0, 8, 8 ret .size nandc_get_ddr_para, .-nandc_get_ddr_para @@ -1403,22 +1440,22 @@ nandc_get_ddr_para: nandc_set_if_mode: adrp x3, .LANCHOR0 uxtb w0, w0 - add x1, x3, :lo12:.LANCHOR0 + add x3, x3, :lo12:.LANCHOR0 tst w0, 6 - ldr x2, [x1,16] + ldr x2, [x3,536] ldr w1, [x2] - beq .L280 + beq .L290 orr w1, w1, 24576 and w0, w0, 4 and w1, w1, -32769 cmp w0, wzr orr w1, w1, 196608 - ldrb w0, [x3,#:lo12:.LANCHOR0] + ldrb w0, [x3,516] orr w4, w1, 32768 csel w1, w4, w1, ne cmp w0, 9 mov w0, 8321 - bne .L282 + bne .L292 str w0, [x2,8] mov w0, 4099 movk w0, 0x10, lsl 16 @@ -1427,8 +1464,8 @@ nandc_set_if_mode: str w0, [x2,84] mov w0, 39 str w0, [x2,84] - b .L283 -.L282: + b .L293 +.L292: str w0, [x2,344] mov w0, 4099 movk w0, 0x10, lsl 16 @@ -1437,10 +1474,10 @@ nandc_set_if_mode: str w0, [x2,308] mov w0, 39 str w0, [x2,308] - b .L283 -.L280: + b .L293 +.L290: and w1, w1, -8193 -.L283: +.L293: str w1, [x2] ret .size nandc_set_if_mode, .-nandc_set_if_mode @@ -1448,10 +1485,10 @@ nandc_set_if_mode: .global nandc_cs .type nandc_cs, %function nandc_cs: - adrp x1, .LANCHOR0+16 + adrp x1, .LANCHOR0+536 mov w2, 1 lsl w0, w2, w0 - ldr x3, [x1,#:lo12:.LANCHOR0+16] + ldr x3, [x1,#:lo12:.LANCHOR0+536] ldr w1, [x3] bfi w1, w0, 0, 8 str w1, [x3] @@ -1461,8 +1498,8 @@ nandc_cs: .global nandc_de_cs .type nandc_de_cs, %function nandc_de_cs: - adrp x0, .LANCHOR0+16 - ldr x1, [x0,#:lo12:.LANCHOR0+16] + adrp x0, .LANCHOR0+536 + ldr x1, [x0,#:lo12:.LANCHOR0+536] ldr w0, [x1] and w0, w0, -256 and w0, w0, -131073 @@ -1484,31 +1521,32 @@ flash_wait_device_ready_raw: stp x25, x26, [sp,64] mov w20, w1 mov w22, w2 - ldrb w0, [x0,114] + ldrb w0, [x0,633] mov x19, x3 cmp w0, w21 - bhi .L289 + bhi .L299 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 - add x0, x0, :lo12:.LC0 - add x1, x1, 240 mov w2, 599 + add x1, x1, 240 + add x0, x0, :lo12:.LC0 bl printk -.L289: + bl dump_stack +.L299: add x3, x19, :lo12:.LANCHOR0 add x21, x3, x21, sxtw - ldrb w23, [x21,216] + ldrb w23, [x21,736] lsr w24, w20, 8 lsr w25, w20, 16 mov w26, 120 mov w0, w23 - ldr x19, [x3,16] + ldr x19, [x3,536] and w21, w20, 255 bl nandc_cs ubfiz x3, x23, 8, 8 add x19, x19, x3 -.L291: +.L301: str w26, [x19,2056] mov w0, 120 str w21, [x19,2052] @@ -1519,9 +1557,9 @@ flash_wait_device_ready_raw: and w20, w20, 255 and w0, w22, w20 cmp w0, w22 - bne .L291 + bne .L301 cmp w20, 255 - beq .L291 + beq .L301 mov w0, w23 bl nandc_de_cs mov w0, w20 @@ -1542,26 +1580,26 @@ flash_wait_device_ready: add x29, sp, 0 and w1, w0, 2097151 ubfx x6, x0, 21, 3 - cbnz w3, .L293 - adrp x4, .LANCHOR0 - add x3, x4, :lo12:.LANCHOR0 - ldrb w0, [x3,113] - cbz w0, .L294 - ldrb w0, [x3,224] - cbz w0, .L293 -.L294: - add x4, x4, :lo12:.LANCHOR0 - ldrh w5, [x4,226] - ldrb w0, [x4,224] - udiv w3, w1, w5 - mul w5, w3, w5 - sub w3, w1, w5 - add w1, w5, w3, lsl 1 - cbnz w0, .L293 - add x4, x4, 228 - ldrh w3, [x4,w3,uxtw 1] + cbnz w3, .L303 + adrp x3, .LANCHOR0 + add x0, x3, :lo12:.LANCHOR0 + ldrb w4, [x3,#:lo12:.LANCHOR0] + cbz w4, .L304 + ldrb w0, [x0,1] + cbz w0, .L303 +.L304: + add x3, x3, :lo12:.LANCHOR0 + ldrh w5, [x3,2] + ldrb w0, [x3,1] + udiv w4, w1, w5 + mul w5, w4, w5 + sub w4, w1, w5 + add w1, w5, w4, lsl 1 + cbnz w0, .L303 + add x3, x3, 4 + ldrh w3, [x3,w4,uxtw 1] add w1, w3, w5 -.L293: +.L303: mov w0, w6 bl flash_wait_device_ready_raw ldp x29, x30, [sp], 16 @@ -1577,22 +1615,22 @@ nandc_wait_flash_ready: mov w19, 34464 adrp x20, .LANCHOR0 movk w19, 0x1, lsl 16 -.L304: +.L314: mov w0, 100 bl timer_delay_ns add x0, x20, :lo12:.LANCHOR0 - ldr x0, [x0,16] + ldr x0, [x0,536] ldr w0, [x0] str w0, [x29,40] ldr w0, [x29,40] - tbnz x0, 9, .L305 + tbnz x0, 9, .L315 subs w19, w19, #1 - bne .L304 + bne .L314 mov w0, -1 - b .L303 -.L305: + b .L313 +.L315: mov w0, 0 -.L303: +.L313: ldp x19, x20, [sp,16] ldp x29, x30, [sp], 48 ret @@ -1623,23 +1661,23 @@ sandisk_set_rr_para: add x0, x0, x1 add x1, x2, x1 mov x2, 0 -.L308: +.L318: add x3, x5, :lo12:.LANCHOR0 - ldrb w4, [x3,206] + ldrb w4, [x3,726] cmp w4, w2 - bls .L313 - ldrb w3, [x3,205] + bls .L323 + ldrb w3, [x3,725] cmp w3, 67 - bne .L309 + bne .L319 ldrsb w3, [x0,x2] - b .L312 -.L309: + b .L322 +.L319: ldrsb w3, [x1,x2] -.L312: +.L322: str w3, [x20] add x2, x2, 1 - b .L308 -.L313: + b .L318 +.L323: bl nandc_wait_flash_ready ldp x19, x20, [sp,16] ldp x29, x30, [sp], 32 @@ -1728,7 +1766,7 @@ toshiba_tlc_set_rr_para: mov w21, 239 adrp x0, .LANCHOR2 str w21, [x19,8] - cbz w2, .L317 + cbz w2, .L327 mov w2, 18 str w2, [x19,4] mov x2, 7 @@ -1755,8 +1793,8 @@ toshiba_tlc_set_rr_para: ldrb w0, [x20,6] str w0, [x19] str wzr, [x19] - b .L318 -.L317: + b .L328 +.L327: add x0, x0, :lo12:.LANCHOR2 mov w3, 20 add x0, x0, 344 @@ -1766,7 +1804,7 @@ toshiba_tlc_set_rr_para: str w2, [x19] str w2, [x19] str w2, [x19] -.L318: +.L328: bl nandc_wait_flash_ready ldr x21, [sp,32] ldp x19, x20, [sp,16] @@ -1777,44 +1815,44 @@ toshiba_tlc_set_rr_para: .global zftl_flash_enter_slc_mode .type zftl_flash_enter_slc_mode, %function zftl_flash_enter_slc_mode: - adrp x1, .LANCHOR0 + adrp x2, .LANCHOR0 uxtb x0, w0 - add x1, x1, :lo12:.LANCHOR0 stp x29, x30, [sp, -16]! + add x1, x2, :lo12:.LANCHOR0 add x29, sp, 0 - ldrb w2, [x1,113] - cbz w2, .L319 + ldrb w2, [x2,#:lo12:.LANCHOR0] + cbz w2, .L329 cmp w2, 1 - ldr x3, [x1,16] - bne .L322 + ldr x3, [x1,536] + bne .L332 adrp x1, .LANCHOR2+405 ldrb w2, [x1,#:lo12:.LANCHOR2+405] - cbz w2, .L319 + cbz w2, .L329 sxtw x1, w0 add x1, x1, 8 add x0, x3, x1, lsl 8 str w2, [x0,8] - b .L319 -.L322: + b .L329 +.L332: cmp w2, 2 - bne .L324 + bne .L334 add x1, x1, x0 ldrb w2, [x1,744] - cbz w2, .L319 + cbz w2, .L329 strb wzr, [x1,744] adrp x1, .LANCHOR2+405 ldrb w1, [x1,#:lo12:.LANCHOR2+405] - cbz w1, .L319 + cbz w1, .L329 add x0, x0, 8 add x0, x3, x0, lsl 8 str w1, [x0,8] - b .L319 -.L324: + b .L329 +.L334: cmp w2, 3 - bne .L319 + bne .L329 add x1, x1, x0, sxtw ldrb w2, [x1,744] - cbz w2, .L319 + cbz w2, .L329 strb wzr, [x1,744] ubfiz x1, x0, 8, 8 add x0, x3, x1 @@ -1828,7 +1866,7 @@ zftl_flash_enter_slc_mode: str wzr, [x0,2048] str wzr, [x0,2048] bl nandc_wait_flash_ready -.L319: +.L329: ldp x29, x30, [sp], 16 ret .size zftl_flash_enter_slc_mode, .-zftl_flash_enter_slc_mode @@ -1836,30 +1874,30 @@ zftl_flash_enter_slc_mode: .global zftl_flash_exit_slc_mode .type zftl_flash_exit_slc_mode, %function zftl_flash_exit_slc_mode: - adrp x1, .LANCHOR0 + adrp x2, .LANCHOR0 uxtb x0, w0 - add x1, x1, :lo12:.LANCHOR0 stp x29, x30, [sp, -16]! + add x1, x2, :lo12:.LANCHOR0 add x29, sp, 0 - ldrb w2, [x1,113] - cbz w2, .L337 + ldrb w2, [x2,#:lo12:.LANCHOR0] + cbz w2, .L347 cmp w2, 1 - ldr x4, [x1,16] - bne .L340 + ldr x4, [x1,536] + bne .L350 adrp x1, .LANCHOR2+406 ldrb w2, [x1,#:lo12:.LANCHOR2+406] - cbz w2, .L337 + cbz w2, .L347 sxtw x1, w0 add x1, x1, 8 add x0, x4, x1, lsl 8 str w2, [x0,8] - b .L337 -.L340: + b .L347 +.L350: cmp w2, 2 - bne .L342 + bne .L352 add x1, x1, x0 ldrb w2, [x1,744] - cbnz w2, .L337 + cbnz w2, .L347 adrp x2, .LANCHOR2 mov w5, 4 add x2, x2, :lo12:.LANCHOR2 @@ -1868,17 +1906,17 @@ zftl_flash_exit_slc_mode: csel w3, w3, w5, eq strb w3, [x1,744] ldrb w1, [x2,406] - cbz w1, .L337 + cbz w1, .L347 add x0, x0, 8 add x0, x4, x0, lsl 8 str w1, [x0,8] - b .L337 -.L342: + b .L347 +.L352: cmp w2, 3 - bne .L337 + bne .L347 add x1, x1, x0, sxtw ldrb w3, [x1,744] - cbnz w3, .L337 + cbnz w3, .L347 adrp x2, .LANCHOR2+388 mov w5, 4 ldrb w2, [x2,#:lo12:.LANCHOR2+388] @@ -1897,7 +1935,7 @@ zftl_flash_exit_slc_mode: str w3, [x0,2048] str w3, [x0,2048] bl nandc_wait_flash_ready -.L337: +.L347: ldp x29, x30, [sp], 16 ret .size zftl_flash_exit_slc_mode, .-zftl_flash_exit_slc_mode @@ -1905,96 +1943,209 @@ zftl_flash_exit_slc_mode: .global flash_start_page_read .type flash_start_page_read, %function flash_start_page_read: - stp x29, x30, [sp, -80]! - adrp x2, .LANCHOR0 + stp x29, x30, [sp, -64]! add x29, sp, 0 + stp x19, x20, [sp,16] + adrp x20, .LANCHOR0 + ubfx x19, x1, 21, 3 stp x23, x24, [sp,48] uxtb w23, w0 - add x0, x2, :lo12:.LANCHOR0 - stp x19, x20, [sp,16] + add x0, x20, :lo12:.LANCHOR0 stp x21, x22, [sp,32] - str x25, [sp,64] - ubfx x19, x1, 21, 3 - and w20, w1, 2097151 + and w21, w1, 2097151 ubfx x22, x1, 24, 2 - ldrb w0, [x0,114] - mov x21, x2 + ldrb w0, [x0,633] cmp w0, w19 - bhi .L356 + bhi .L366 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 - add x0, x0, :lo12:.LC0 + mov w2, 741 add x1, x1, 688 - mov w2, 736 + add x0, x0, :lo12:.LC0 bl printk -.L356: - add x25, x21, :lo12:.LANCHOR0 - add x19, x25, x19, sxtw - ldrb w19, [x19,216] + bl dump_stack +.L366: + add x20, x20, :lo12:.LANCHOR0 + add x19, x20, x19, sxtw + ldrb w19, [x19,736] mov w0, w19 - ldr x24, [x25,16] + ldr x24, [x20,536] bl nandc_cs - cbnz w22, .L357 - ldrb w0, [x25,113] - cbz w0, .L358 - ldrb w0, [x25,224] - cbz w0, .L359 -.L358: - add x2, x21, :lo12:.LANCHOR0 - ldrh w1, [x2,226] - udiv w0, w20, w1 - mul w0, w0, w1 - ldrb w1, [x2,224] - sub w20, w20, w0 - cbz w1, .L360 - add w20, w0, w20, lsl 1 - b .L359 -.L360: - add x2, x2, 228 - ldrh w20, [x2,w20,uxtw 1] - add w20, w20, w0 - b .L361 -.L359: + cbnz w22, .L367 + mov w0, w21 + bl slc_phy_page_address_calc + mov w21, w0 + adrp x0, .LANCHOR0 + ldrb w0, [x0,#:lo12:.LANCHOR0] + cbz w0, .L368 mov w0, w19 bl zftl_flash_enter_slc_mode - b .L361 -.L357: - ldr x0, [x25,104] + b .L368 +.L367: + ldr x0, [x20,624] ldrb w0, [x0,12] cmp w0, 3 - bne .L362 + bne .L369 sxtw x0, w19 add x0, x0, 8 add x0, x24, x0, lsl 8 str w22, [x0,8] - b .L361 -.L362: + b .L368 +.L369: mov w0, w19 bl zftl_flash_exit_slc_mode -.L361: +.L368: ubfiz x19, x19, 8, 8 - and w0, w20, 255 + and w0, w21, 255 add x1, x24, x19 str wzr, [x1,2056] str wzr, [x1,2052] str wzr, [x1,2052] str w0, [x1,2052] - lsr w0, w20, 8 + lsr w0, w21, 8 str w0, [x1,2052] - lsr w20, w20, 16 - str w20, [x1,2052] + lsr w21, w21, 16 + str w21, [x1,2052] mov w0, 0 str w23, [x1,2056] bl nandc_de_cs - ldr x25, [sp,64] ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] - ldp x29, x30, [sp], 80 + ldp x29, x30, [sp], 64 ret .size flash_start_page_read, .-flash_start_page_read .align 2 + .global flash_start_plane_read + .type flash_start_plane_read, %function +flash_start_plane_read: + stp x29, x30, [sp, -96]! + add x29, sp, 0 + stp x21, x22, [sp,32] + adrp x22, .LANCHOR0 + and w21, w1, 2097151 + stp x19, x20, [sp,16] + stp x23, x24, [sp,48] + ubfx x19, x0, 21, 3 + and w23, w0, 2097151 + ubfx x20, x0, 24, 2 + add x0, x22, :lo12:.LANCHOR0 + stp x25, x26, [sp,64] + stp x27, x28, [sp,80] + ldrb w0, [x0,633] + cmp w0, w19 + bhi .L374 + adrp x1, .LANCHOR1 + adrp x0, .LC0 + add x1, x1, :lo12:.LANCHOR1 + mov w2, 836 + add x1, x1, 712 + add x0, x0, :lo12:.LC0 + bl printk + bl dump_stack +.L374: + add x26, x22, :lo12:.LANCHOR0 + add x19, x26, x19, sxtw + ldrb w24, [x19,736] + mov w0, w24 + ldr x25, [x26,536] + bl nandc_cs + cbnz w20, .L375 + mov w0, w23 + bl slc_phy_page_address_calc + mov w23, w0 + mov w0, w21 + bl slc_phy_page_address_calc + mov w21, w0 + adrp x0, .LANCHOR0 + ldrb w0, [x0,#:lo12:.LANCHOR0] + cbz w0, .L376 + mov w0, w24 + bl zftl_flash_enter_slc_mode + b .L376 +.L375: + ldr x0, [x26,624] + ldrb w0, [x0,12] + cmp w0, 3 + bne .L377 + sxtw x0, w24 + add x0, x0, 8 + add x0, x25, x0, lsl 8 + str w20, [x0,8] + b .L376 +.L377: + mov w0, w24 + bl zftl_flash_exit_slc_mode +.L376: + add x26, x22, :lo12:.LANCHOR0 + and w2, w23, 255 + add x0, x26, 640 + and w28, w21, 255 + lsr w27, w21, 8 + uxtb x19, w24 + ldrb w1, [x0,16] + lsr w21, w21, 16 + cmp w1, 1 + lsr w1, w23, 8 + lsr w23, w23, 16 + bne .L378 + add x19, x25, x19, lsl 8 + ldrb w3, [x0,8] + ldrb w0, [x0,9] + str w3, [x19,2056] + str wzr, [x19,2052] + str wzr, [x19,2052] + str w2, [x19,2052] + str w1, [x19,2052] + str w23, [x19,2052] + str w0, [x19,2056] + bl nandc_wait_flash_ready + cbz w20, .L379 + ldr x0, [x26,624] + ldrb w0, [x0,12] + cmp w0, 3 + bne .L379 + str w20, [x19,2056] +.L379: + str wzr, [x19,2056] + str wzr, [x19,2052] + str wzr, [x19,2052] + b .L397 +.L378: + add x19, x25, x19, lsl 8 + ldrb w0, [x0,8] + str w0, [x19,2056] + str w2, [x19,2052] + str w1, [x19,2052] + str w23, [x19,2052] + cbz w20, .L381 + ldr x0, [x26,624] + ldrb w0, [x0,12] + cmp w0, 3 + bne .L381 + str w20, [x19,2056] +.L381: + add x22, x22, :lo12:.LANCHOR0 + ldrb w0, [x22,649] + str w0, [x19,2056] +.L397: + str w28, [x19,2052] + mov w0, 48 + str w27, [x19,2052] + str w21, [x19,2052] + str w0, [x19,2056] + mov w0, w24 + bl nandc_de_cs + 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], 96 + ret + .size flash_start_plane_read, .-flash_start_plane_read + .align 2 .global flash_set_interface_mode .type flash_set_interface_mode, %function flash_set_interface_mode: @@ -2012,9 +2163,9 @@ flash_set_interface_mode: mov x20, 0 add x25, x21, 748 adrp x23, .LANCHOR2 -.L376: +.L408: lsl x0, x20, 3 - ldr x19, [x21,16] + ldr x19, [x21,536] ldrb w1, [x0,x25] cmp w1, 44 cset w26, eq @@ -2024,61 +2175,61 @@ flash_set_interface_mode: cset w0, eq adrp x1, .LANCHOR0 orr w0, w2, w0 - cbnz w0, .L377 - cbz w26, .L367 -.L377: + cbnz w0, .L409 + cbz w26, .L399 +.L409: add x1, x1, :lo12:.LANCHOR0 cmp w24, 1 ldrb w1, [x1,780] - bne .L369 - tbz x1, 0, .L367 + bne .L401 + tbz x1, 0, .L399 ldr w0, [x23,#:lo12:.LANCHOR2] - tbz x0, 12, .L370 + tbz x0, 12, .L402 adrp x0, .LC37 add x0, x0, :lo12:.LC37 bl printk -.L370: +.L402: add x1, x19, x20, lsl 8 mov w0, 239 str w0, [x1,2056] mov w0, 1 - cbz w26, .L371 + cbz w26, .L403 str w0, [x1,2052] mov w0, 5 - b .L394 -.L371: + b .L426 +.L403: mov w2, 128 str w2, [x1,2052] -.L394: +.L426: str w0, [x1,2048] - b .L375 -.L369: - tbz x1, 2, .L367 + b .L407 +.L401: + tbz x1, 2, .L399 ldr w0, [x23,#:lo12:.LANCHOR2] - tbz x0, 12, .L373 + tbz x0, 12, .L405 mov x0, x22 bl printk -.L373: +.L405: add x1, x19, x20, lsl 8 mov w0, 239 str w0, [x1,2056] - cbz w26, .L374 + cbz w26, .L406 mov w0, 1 str w0, [x1,2052] mov w0, 35 - b .L394 -.L374: + b .L426 +.L406: mov w0, 128 str w0, [x1,2052] str w26, [x1,2048] -.L375: +.L407: str wzr, [x1,2048] str wzr, [x1,2048] str wzr, [x1,2048] -.L367: +.L399: add x20, x20, 1 cmp x20, 4 - bne .L376 + bne .L408 bl nandc_wait_flash_ready mov w0, 0 ldp x19, x20, [sp,16] @@ -2092,12 +2243,12 @@ flash_set_interface_mode: .global flash_reset .type flash_reset, %function flash_reset: - adrp x1, .LANCHOR0+16 + adrp x1, .LANCHOR0+536 uxtb x0, w0 stp x29, x30, [sp, -16]! add x0, x0, 8 add x29, sp, 0 - ldr x1, [x1,#:lo12:.LANCHOR0+16] + ldr x1, [x1,#:lo12:.LANCHOR0+536] add x0, x1, x0, lsl 8 mov w1, 255 str w1, [x0,8] @@ -2113,10 +2264,10 @@ flash_read_id: add x29, sp, 0 str x21, [sp,32] uxtb w21, w0 - adrp x0, .LANCHOR0+16 + adrp x0, .LANCHOR0+536 stp x19, x20, [sp,16] mov x19, x1 - ldr x20, [x0,#:lo12:.LANCHOR0+16] + ldr x20, [x0,#:lo12:.LANCHOR0+536] mov w0, w21 bl flash_reset mov w0, w21 @@ -2150,7 +2301,7 @@ flash_read_id: sub w0, w2, #1 uxtb w0, w0 cmp w0, 253 - bhi .L396 + bhi .L428 adrp x0, .LC39 ldrb w3, [x19,1] ldrb w4, [x19,2] @@ -2160,7 +2311,7 @@ flash_read_id: ldrb w6, [x19,4] ldrb w7, [x19,5] bl printk -.L396: +.L428: ldp x19, x20, [sp,16] ldr x21, [sp,32] ldp x29, x30, [sp], 48 @@ -2171,12 +2322,12 @@ flash_read_id: .type flash_read_spare, %function flash_read_spare: stp x29, x30, [sp, -48]! - adrp x4, .LANCHOR0+16 + adrp x4, .LANCHOR0+536 ubfiz x0, x0, 8, 8 add x29, sp, 0 str x19, [sp,16] adrp x3, .LANCHOR2+385 - ldr x19, [x4,#:lo12:.LANCHOR0+16] + ldr x19, [x4,#:lo12:.LANCHOR0+536] str x2, [x29,40] add x19, x19, x0 ldrb w3, [x3,#:lo12:.LANCHOR2+385] @@ -2206,21 +2357,21 @@ flash_read_spare: .type sandisk_prog_test_bad_block, %function sandisk_prog_test_bad_block: stp x29, x30, [sp, -64]! - adrp x2, .LANCHOR0+16 + adrp x2, .LANCHOR0+536 uxtb w0, w0 add x29, sp, 0 stp x19, x20, [sp,16] adrp x20, .LANCHOR2 - ldr x19, [x2,#:lo12:.LANCHOR0+16] + ldr x19, [x2,#:lo12:.LANCHOR0+536] add x2, x20, :lo12:.LANCHOR2 str x21, [sp,32] ldrb w3, [x2,405] sxtw x2, w0 add x2, x2, 8 add x2, x19, x2, lsl 8 - cbnz w3, .L413 + cbnz w3, .L445 mov w3, 162 -.L413: +.L445: ubfiz x0, x0, 8, 8 str w3, [x2,8] add x19, x19, x0 @@ -2246,18 +2397,18 @@ sandisk_prog_test_bad_block: mov w0, 5 ldr x1, [x29,56] ands w21, w2, w0 - beq .L402 + beq .L434 ldr w0, [x20,#:lo12:.LANCHOR2] - tbz x0, 12, .L402 + tbz x0, 12, .L434 adrp x0, .LC40 add x0, x0, :lo12:.LC40 bl printk -.L402: +.L434: add x20, x20, :lo12:.LANCHOR2 ldrb w0, [x20,406] - cbz w0, .L403 + cbz w0, .L435 str w0, [x19,2056] -.L403: +.L435: mov w0, w21 ldr x21, [sp,32] ldp x19, x20, [sp,16] @@ -2268,9 +2419,9 @@ sandisk_prog_test_bad_block: .global nandc_rdy_status .type nandc_rdy_status, %function nandc_rdy_status: - adrp x0, .LANCHOR0+16 + adrp x0, .LANCHOR0+536 sub sp, sp, #16 - ldr x0, [x0,#:lo12:.LANCHOR0+16] + ldr x0, [x0,#:lo12:.LANCHOR0+536] ldr w0, [x0] str w0, [sp,8] ldr w0, [sp,8] @@ -2282,51 +2433,51 @@ nandc_rdy_status: .global nandc_bch_sel .type nandc_bch_sel, %function nandc_bch_sel: - adrp x2, .LANCHOR0 + adrp x1, .LANCHOR0 mov w3, 1 - add x1, x2, :lo12:.LANCHOR0 - ldrb w2, [x2,#:lo12:.LANCHOR0] - strb w0, [x1,204] + add x1, x1, :lo12:.LANCHOR0 + ldrb w2, [x1,516] + strb w0, [x1,724] cmp w2, 9 - ldr x2, [x1,16] - bne .L416 + ldr x2, [x1,536] + bne .L448 str w3, [x2,16] cmp w0, 70 mov w1, 0 - beq .L417 + beq .L449 cmp w0, 60 mov w1, 3 - beq .L417 + beq .L449 cmp w0, 40 mov w1, 2 csel w1, w1, w3, eq -.L417: +.L449: lsl w1, w1, 25 orr w1, w1, 1 str w1, [x2,32] - b .L415 -.L416: + b .L447 +.L448: str w3, [x2,8] cmp w0, 16 mov w1, 4096 - bne .L419 -.L422: + bne .L451 +.L454: and w1, w1, -17 - b .L420 -.L419: + b .L452 +.L451: cmp w0, 24 - bne .L421 + bne .L453 orr w1, w1, 16 - b .L420 -.L421: + b .L452 +.L453: cmp w0, 40 orr w1, w1, 262144 orr w1, w1, 16 - beq .L422 -.L420: + beq .L454 +.L452: orr w1, w1, 1 str w1, [x2,12] -.L415: +.L447: ret .size nandc_bch_sel, .-nandc_bch_sel .align 2 @@ -2340,77 +2491,77 @@ zftl_flash_resume: add x0, x20, :lo12:.LANCHOR0 stp x21, x22, [sp,32] stp x23, x24, [sp,48] - ldrb w1, [x20,#:lo12:.LANCHOR0] - ldr w2, [x0,24] + ldrb w1, [x0,516] + ldr w2, [x0,544] cmp w1, 9 - ldr x1, [x0,16] + ldr x1, [x0,536] str w2, [x1] - ldr x1, [x0,16] - ldr w2, [x0,28] + ldr x1, [x0,536] + ldr w2, [x0,548] str w2, [x1,4] - ldr x1, [x0,16] - ldr w2, [x0,32] - bne .L430 + ldr x1, [x0,536] + ldr w2, [x0,552] + bne .L462 str w2, [x1,16] - ldr w2, [x0,36] + ldr w2, [x0,556] str w2, [x1,32] - ldr w2, [x0,40] + ldr w2, [x0,560] str w2, [x1,80] - ldr w2, [x0,44] + ldr w2, [x0,564] str w2, [x1,84] - ldr w2, [x0,48] + ldr w2, [x0,568] str w2, [x1,520] - ldr w0, [x0,52] + ldr w0, [x0,572] str w0, [x1,8] - b .L431 -.L430: + b .L463 +.L462: str w2, [x1,8] - ldr w2, [x0,36] + ldr w2, [x0,556] str w2, [x1,12] - ldr w2, [x0,40] + ldr w2, [x0,560] str w2, [x1,304] - ldr w2, [x0,44] + ldr w2, [x0,564] str w2, [x1,308] - ldr w2, [x0,48] + ldr w2, [x0,568] str w2, [x1,336] - ldr w0, [x0,52] + ldr w0, [x0,572] str w0, [x1,344] -.L431: - add x21, x20, :lo12:.LANCHOR0 +.L463: + add x22, x20, :lo12:.LANCHOR0 mov x19, 0 - add x23, x21, 748 + add x23, x22, 748 mov w24, 2 -.L433: +.L465: lsl x0, x19, 3 ldrb w0, [x0,x23] sub w0, w0, #1 uxtb w0, w0 cmp w0, 253 - bhi .L432 - uxtb w22, w19 - mov w0, w22 + bhi .L464 + uxtb w21, w19 + mov w0, w21 bl flash_reset - add x0, x21, 744 + add x0, x22, 744 strb w24, [x19,x0] - mov w0, w22 + mov w0, w21 bl zftl_flash_enter_slc_mode -.L432: +.L464: add x19, x19, 1 cmp x19, 4 - bne .L433 + bne .L465 add x20, x20, :lo12:.LANCHOR0 - ldrb w0, [x20,152] - cbz w0, .L434 + ldrb w0, [x20,672] + cbz w0, .L466 mov w0, 1 bl nandc_set_if_mode mov w0, w19 bl flash_set_interface_mode mov w0, w19 bl nandc_set_if_mode - ldr w0, [x20,40] + ldr w0, [x20,560] lsr w0, w0, 8 bl nandc_set_ddr_para -.L434: +.L466: adrp x0, .LANCHOR2+396 ldrb w0, [x0,#:lo12:.LANCHOR2+396] bl nandc_bch_sel @@ -2437,39 +2588,39 @@ rk_nandc_flash_ready: nandc_iqr_wait_flash_ready: stp x29, x30, [sp, -32]! add x29, sp, 0 - stp x19, x20, [sp,16] + str x19, [sp,16] adrp x19, .LANCHOR0 - add x20, x19, :lo12:.LANCHOR0 - ldr x0, [x20,16] + add x19, x19, :lo12:.LANCHOR0 + ldr x0, [x19,536] bl rk_nandc_rb_irq_flag_init - ldrb w1, [x19,#:lo12:.LANCHOR0] - ldr x0, [x20,16] + ldrb w1, [x19,516] + ldr x0, [x19,536] cmp w1, 9 - bne .L441 + bne .L473 ldr w1, [x0,292] orr w1, w1, 2 str w1, [x0,292] ldr w1, [x0,288] orr w1, w1, 2 str w1, [x0,288] - b .L442 -.L441: + b .L474 +.L473: ldr w1, [x0,368] orr w1, w1, 2 str w1, [x0,368] ldr w1, [x0,364] orr w1, w1, 2 str w1, [x0,364] -.L442: +.L474: ldr w1, [x0] - tbnz x1, 9, .L443 + tbnz x1, 9, .L475 bl wait_for_nand_flash_ready - b .L440 -.L443: + b .L472 +.L475: mov w1, 1 bl nandc_irq_disable -.L440: - ldp x19, x20, [sp,16] +.L472: + ldr x19, [sp,16] ldp x29, x30, [sp], 32 ret .size nandc_iqr_wait_flash_ready, .-nandc_iqr_wait_flash_ready @@ -2488,45 +2639,46 @@ flash_erase_duplane_block: stp x23, x24, [sp,48] uxtb w25, w1 mov w22, w2 - ldrb w0, [x0,114] + ldrb w0, [x0,633] mov w24, w3 cmp w0, w19 - bhi .L446 + bhi .L478 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 - add x0, x0, :lo12:.LC0 - add x1, x1, 712 mov w2, 510 + add x1, x1, 736 + add x0, x0, :lo12:.LC0 bl printk -.L446: + bl dump_stack +.L478: add x0, x20, :lo12:.LANCHOR0 add x19, x0, x19, sxtw - ldrb w23, [x19,216] - ldr x19, [x0,16] + ldrb w23, [x19,736] + ldr x19, [x0,536] adrp x0, .LANCHOR2 mov x21, x23 add x23, x23, 8 ldr w0, [x0,#:lo12:.LANCHOR2] add x23, x19, x23, lsl 8 - tbz x0, 4, .L447 + tbz x0, 4, .L479 adrp x0, .LC41 mov w1, w21 add x0, x0, :lo12:.LC41 mov w2, w22 mov w3, w24 bl printk -.L447: +.L479: bl nandc_wait_flash_ready mov w0, w21 bl nandc_cs mov w0, w21 - cbnz w25, .L448 + cbnz w25, .L480 bl zftl_flash_enter_slc_mode - b .L449 -.L448: + b .L481 +.L480: bl zftl_flash_exit_slc_mode -.L449: +.L481: ubfiz x4, x21, 8, 8 mov w0, 96 add x19, x19, x4 @@ -2540,7 +2692,7 @@ flash_erase_duplane_block: str w0, [x19,2052] ldrb w0, [x20,781] mov w20, 0 - cbnz w0, .L450 + cbnz w0, .L482 mov w0, 208 str w0, [x19,2056] mov w20, 5 @@ -2548,7 +2700,7 @@ flash_erase_duplane_block: mov x0, x23 bl flash_read_status and w20, w0, w20 -.L450: +.L482: mov w0, 96 str w0, [x19,2056] and w0, w24, 255 @@ -2571,12 +2723,12 @@ flash_erase_duplane_block: ldr x2, [x29,88] and w19, w2, w19 orr w19, w19, w20 - cbz w19, .L451 + cbz w19, .L483 adrp x0, .LC42 mov w1, w22 add x0, x0, :lo12:.LC42 bl printk -.L451: +.L483: mov w0, w19 ldr x25, [sp,64] ldp x19, x20, [sp,16] @@ -2600,44 +2752,45 @@ flash_erase_block_en: stp x21, x22, [sp,32] uxtb w24, w1 mov w22, w2 - ldrb w0, [x0,114] + ldrb w0, [x0,633] and w23, w2, 2097151 cmp w0, w20 - bhi .L460 + bhi .L492 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 - add x0, x0, :lo12:.LC0 - add x1, x1, 744 mov w2, 555 + add x1, x1, 768 + add x0, x0, :lo12:.LC0 bl printk -.L460: + bl dump_stack +.L492: add x0, x19, :lo12:.LANCHOR0 add x20, x0, x20, sxtw - ldrb w21, [x20,216] - ldr x25, [x0,16] + ldrb w21, [x20,736] + ldr x25, [x0,536] adrp x0, .LANCHOR2 mov x20, x21 add x21, x21, 8 ldr w0, [x0,#:lo12:.LANCHOR2] add x21, x25, x21, lsl 8 - tbz x0, 4, .L461 + tbz x0, 4, .L493 adrp x0, .LC43 mov w1, w20 add x0, x0, :lo12:.LC43 mov w2, w22 bl printk -.L461: +.L493: bl nandc_wait_flash_ready mov w0, w20 bl nandc_cs mov w0, w20 - cbnz w24, .L462 + cbnz w24, .L494 bl zftl_flash_enter_slc_mode - b .L463 -.L462: + b .L495 +.L494: bl zftl_flash_exit_slc_mode -.L463: +.L495: ubfiz x3, x20, 8, 8 mov w0, 96 add x3, x25, x3 @@ -2659,15 +2812,15 @@ flash_erase_block_en: bl nandc_de_cs mov w3, 5 ands w20, w21, w3 - beq .L464 + beq .L496 add x19, x19, :lo12:.LANCHOR0 adrp x0, .LC44 add x0, x0, :lo12:.LC44 mov w2, w20 - ldrh w1, [x19,226] + ldrh w1, [x19,2] udiv w1, w22, w1 bl printk -.L464: +.L496: mov w0, w20 ldr x25, [sp,64] ldp x19, x20, [sp,16] @@ -2707,28 +2860,28 @@ flash_erase_all: mov x21, x0 mul w20, w1, w20 uxth w20, w20 -.L473: - ldrb w0, [x23,114] +.L505: + ldrb w0, [x23,633] cmp w0, w19 - bls .L477 + bls .L509 add x0, x23, x19, sxtw - ldrb w24, [x0,216] + ldrb w24, [x0,736] mov w22, 0 -.L474: +.L506: cmp w20, w22, uxth - bls .L478 + bls .L510 add x0, x21, :lo12:.LANCHOR0 - ldrh w1, [x0,226] + ldrh w1, [x0,2] mov w0, w24 mul w1, w22, w1 add w22, w22, 1 bl flash_erase_block - b .L474 -.L478: + b .L506 +.L510: add w19, w19, 1 uxth w19, w19 - b .L473 -.L477: + b .L505 +.L509: adrp x0, .LC45 mov w1, 0 add x0, x0, :lo12:.LC45 @@ -2765,16 +2918,16 @@ nandc_xfer_start: stp x19, x20, [sp,16] uxtb w24, w0 uxtb w23, w1 - ldr x0, [x21,16] + ldr x0, [x21,536] add w20, w23, 1 str x3, [x29,88] bl rk_nandc_xfer_irq_flag_init - ldrb w0, [x22,#:lo12:.LANCHOR0] - ldr x4, [x21,16] + ldrb w0, [x21,516] + ldr x4, [x21,536] cmp w0, 9 ldr x3, [x29,88] ldr x2, [x29,80] - bne .L481 + bne .L513 ldr w0, [x4,292] ubfiz w19, w24, 1, 1 orr w19, w19, 8 @@ -2786,19 +2939,19 @@ nandc_xfer_start: str w0, [x4,288] mov w0, 1 bfi w19, w0, 5, 2 - ldrb w0, [x21,153] + ldrb w0, [x21,673] orr w19, w19, 536870912 orr w19, w19, 1024 and w19, w19, -17 bfi w19, w20, 22, 6 orr w19, w19, 128 - cbz w0, .L483 - ldrb w1, [x21,200] + cbz w0, .L515 + ldrb w1, [x21,720] orr w0, w19, 512 cmp w1, wzr csel w19, w0, w19, ne - b .L483 -.L481: + b .L515 +.L513: ldr w0, [x4,368] ubfiz w19, w24, 1, 1 orr w19, w19, 8 @@ -2819,8 +2972,8 @@ nandc_xfer_start: orr w19, w19, 1024 and w19, w19, -17 bfi w19, w20, 22, 6 - cbz w24, .L495 - ldrb w0, [x21,204] + cbz w24, .L527 + ldrb w0, [x21,724] ubfx x23, x23, 1, 7 mov w1, 64 mov w4, 128 @@ -2828,27 +2981,27 @@ nandc_xfer_start: add x23, x3, x23, lsl 2 csel w4, w1, w4, cc mov w1, 0 - b .L488 -.L483: + b .L520 +.L515: add x22, x22, :lo12:.LANCHOR0 ubfx x21, x19, 22, 6 mov x0, x2 lsl w1, w21, 10 - str x2, [x22,168] + str x2, [x22,688] mov w2, w24 - str x3, [x22,176] + str x3, [x22,696] bl rknand_dma_map_single - str w0, [x22,184] - ldr x0, [x22,176] + str w0, [x22,704] + ldr x0, [x22,696] lsl w1, w21, 2 mov w2, w24 bl rknand_dma_map_single - str w0, [x22,188] - ldr x3, [x22,16] + str w0, [x22,708] + ldr x3, [x22,536] mov w1, 1 - str w1, [x22,192] + str w1, [x22,712] cmp w24, wzr - ldr w1, [x22,184] + ldr w1, [x22,704] str w1, [x3,52] str w0, [x3,56] mov w0, 16 @@ -2860,53 +3013,53 @@ nandc_xfer_start: cset w0, eq orr w1, w1, 4 bfi w1, w0, 1, 1 - ldrh w0, [x22,202] + ldrh w0, [x22,722] orr w1, w1, 1 bfi w1, w0, 16, 11 str w1, [x3,48] str w19, [x3,16] orr w19, w19, 4 str w19, [x3,16] - b .L480 -.L488: + b .L512 +.L520: cmp x3, x23 add w0, w1, w4 - beq .L490 + beq .L522 ldrh w5, [x3,2] and x1, x1, 4294967292 - ldr x6, [x21,160] + ldr x6, [x21,680] ldrh w7, [x3],4 orr w5, w7, w5, lsl 16 str w5, [x6,x1] mov w1, w0 - b .L488 -.L495: - ldr x1, [x21,160] + b .L520 +.L527: + ldr x1, [x21,680] str w0, [x1] -.L490: +.L522: add x22, x22, :lo12:.LANCHOR0 and w20, w20, 63 lsl w1, w20, 10 - ldr x0, [x22,160] - str x2, [x22,168] - str x0, [x22,176] + ldr x0, [x22,680] + str x2, [x22,688] + str x0, [x22,696] mov x0, x2 mov w2, w24 bl rknand_dma_map_single - str w0, [x22,184] - ldr x0, [x22,176] + str w0, [x22,704] + ldr x0, [x22,696] lsl w1, w20, 7 mov w2, w24 bl rknand_dma_map_single - str w0, [x22,188] - ldr x3, [x22,16] + str w0, [x22,708] + ldr x3, [x22,536] mov w0, 1 - str w0, [x22,192] + str w0, [x22,712] cmp w24, wzr - ldr w0, [x22,184] + ldr w0, [x22,704] mov w1, 8660 str w0, [x3,20] - ldr w0, [x22,188] + ldr w0, [x22,708] str w0, [x3,24] cset w0, eq bfi w1, w0, 1, 1 @@ -2916,7 +3069,7 @@ nandc_xfer_start: str w19, [x3,8] orr w19, w19, 4 str w19, [x3,8] -.L480: +.L512: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -2931,23 +3084,23 @@ nandc_set_seed: adrp x1, .LANCHOR1 and w0, w0, 127 add x1, x1, :lo12:.LANCHOR1 - adrp x2, .LANCHOR0 - add x1, x1, 768 - ldrh w0, [x1,w0,uxtw 1] - add x1, x2, :lo12:.LANCHOR0 - ldrb w2, [x2,#:lo12:.LANCHOR0] - orr w3, w0, -1073741824 - ldrb w4, [x1,200] - ldr x1, [x1,16] - cmp w4, wzr - csel w0, w3, w0, ne + add x1, x1, 792 + ldrh w1, [x1,w0,uxtw 1] + adrp x0, .LANCHOR0 + add x0, x0, :lo12:.LANCHOR0 + orr w2, w1, -1073741824 + ldrb w3, [x0,720] + cmp w3, wzr + csel w1, w2, w1, ne + ldrb w2, [x0,516] + ldr x0, [x0,536] cmp w2, 9 - bne .L498 - str w0, [x1,520] - b .L496 -.L498: - str w0, [x1,336] -.L496: + bne .L530 + str w1, [x0,520] + b .L528 +.L530: + str w1, [x0,336] +.L528: ret .size nandc_set_seed, .-nandc_set_seed .align 2 @@ -2962,25 +3115,25 @@ zftl_flash_de_init: mov w0, 0 add x20, x19, :lo12:.LANCHOR0 bl hynix_reconfig_rr_para - ldrb w0, [x20,152] - cbz w0, .L503 + ldrb w0, [x20,672] + cbz w0, .L535 ldrb w0, [x20,780] - tbz x0, 0, .L503 + tbz x0, 0, .L535 mov w0, 1 bl flash_set_interface_mode mov w0, 1 bl nandc_set_if_mode - strb wzr, [x20,152] -.L503: + strb wzr, [x20,672] +.L535: add x19, x19, :lo12:.LANCHOR0 - ldrb w0, [x19,200] - cbz w0, .L504 + ldrb w0, [x19,720] + cbz w0, .L536 mov w0, 0 - strb wzr, [x19,200] + strb wzr, [x19,720] bl nandc_set_seed mov w0, 1 - strb w0, [x19,200] -.L504: + strb w0, [x19,720] +.L536: mov w0, 0 ldp x19, x20, [sp,16] ldp x29, x30, [sp], 32 @@ -2990,18 +3143,18 @@ zftl_flash_de_init: .global nandc_randomizer_enable .type nandc_randomizer_enable, %function nandc_randomizer_enable: - adrp x1, .LANCHOR0+200 - strb w0, [x1,#:lo12:.LANCHOR0+200] + adrp x1, .LANCHOR0+720 + strb w0, [x1,#:lo12:.LANCHOR0+720] ret .size nandc_randomizer_enable, .-nandc_randomizer_enable .align 2 .global nandc_get_chip_if .type nandc_get_chip_if, %function nandc_get_chip_if: - adrp x1, .LANCHOR0+16 + adrp x1, .LANCHOR0+536 uxtb x0, w0 add x0, x0, 8 - ldr x1, [x1,#:lo12:.LANCHOR0+16] + ldr x1, [x1,#:lo12:.LANCHOR0+536] add x0, x1, x0, lsl 8 ret .size nandc_get_chip_if, .-nandc_get_chip_if @@ -3018,7 +3171,7 @@ buf_init: add x19, x19, 784 mov w21, 0 mov x22, x0 -.L517: +.L549: add x20, x22, :lo12:.LANCHOR0 uxtb w0, w21 add w1, w0, 1 @@ -3037,7 +3190,7 @@ buf_init: bl ftl_malloc str x0, [x19,-40] cmp w21, 32 - bne .L517 + bne .L549 strb w21, [x20,2834] mov w0, -1 strb wzr, [x20,2833] @@ -3055,7 +3208,7 @@ buf_reinit: mov w2, 0 add x1, x0, :lo12:.LANCHOR0 add x1, x1, 784 -.L520: +.L552: uxtb w3, w2 add w2, w2, 1 add w4, w3, 1 @@ -3065,7 +3218,7 @@ buf_reinit: strb wzr, [x1,2] add x1, x1, 64 str xzr, [x1,-48] - bne .L520 + bne .L552 add x0, x0, :lo12:.LANCHOR0 mov w1, -1 strb wzr, [x0,2833] @@ -3086,54 +3239,80 @@ buf_add_tail: mov x19, x1 ldrb w1, [x20] cmp w1, 255 - bne .L528 + bne .L560 ldrb w0, [x19,1] cmp w0, 255 - bne .L524 + bne .L556 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 - add x0, x0, :lo12:.LC0 - add x1, x1, 1024 mov w2, 74 + add x1, x1, 1048 + add x0, x0, :lo12:.LC0 bl printk -.L524: + bl dump_stack +.L556: ldrb w0, [x19,1] strb w0, [x20] - b .L522 -.L528: + b .L554 +.L560: adrp x0, .LANCHOR0 add x0, x0, :lo12:.LANCHOR0 add x0, x0, 784 -.L529: +.L561: mov w20, w1 sbfiz x1, x1, 6, 32 ldrb w1, [x0,x1] cmp w1, 255 - bne .L529 + bne .L561 ldrb w0, [x19,1] cmp w0, 255 - bne .L526 + bne .L558 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 - add x0, x0, :lo12:.LC0 - add x1, x1, 1024 mov w2, 81 + add x1, x1, 1048 + add x0, x0, :lo12:.LC0 bl printk -.L526: + bl dump_stack +.L558: adrp x0, .LANCHOR0 sbfiz x20, x20, 6, 32 add x0, x0, :lo12:.LANCHOR0 ldrb w1, [x19,1] add x0, x0, 784 strb w1, [x0,x20] -.L522: +.L554: ldp x19, x20, [sp,16] ldp x29, x30, [sp], 32 ret .size buf_add_tail, .-buf_add_tail .align 2 + .type queue_read_cmd, %function +queue_read_cmd: + stp x29, x30, [sp, -32]! + add x29, sp, 0 + str x19, [sp,16] + mov x19, x0 + mov w0, 48 + ldr w1, [x19,40] + bl flash_start_page_read + strb wzr, [x19,59] + mov w0, 1 + strb w0, [x19,58] + mov w0, -1 + strb w0, [x19] + adrp x0, .LANCHOR0 + mov x1, x19 + add x0, x0, :lo12:.LANCHOR0 + add x0, x0, 2835 + bl buf_add_tail + ldr x19, [sp,16] + ldp x29, x30, [sp], 32 + ret + .size queue_read_cmd, .-queue_read_cmd + .align 2 .global buf_free .type buf_free, %function buf_free: @@ -3145,19 +3324,22 @@ buf_free: and w1, w1, 8 uxtb w1, w1 strb w1, [x0,2] - cbz w1, .L531 + cbz w1, .L564 + ldr w1, [x0,36] + cmn w1, #1 + beq .L564 mov x1, x0 add x0, x19, :lo12:.LANCHOR0 add x0, x0, 2833 bl buf_add_tail - b .L532 -.L531: + b .L565 +.L564: add x1, x19, :lo12:.LANCHOR0 ldrb w2, [x1,2833] strb w2, [x0] ldrb w0, [x0,1] strb w0, [x1,2833] -.L532: +.L565: add x19, x19, :lo12:.LANCHOR0 ldrb w0, [x19,2834] add w0, w0, 1 @@ -3179,32 +3361,33 @@ buf_alloc: uxtb w21, w0 mov x19, x1 ldrb w0, [x20,2834] - cbz w0, .L534 -.L537: + cbz w0, .L573 +.L576: add x1, x19, :lo12:.LANCHOR0 add x0, x1, 784 ldrb w2, [x1,2833] add x0, x0, x2, lsl 6 - cbz w21, .L535 - b .L536 -.L534: + cbz w21, .L574 + b .L575 +.L573: adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 - add x0, x0, :lo12:.LC0 - add x1, x1, 1040 mov w2, 121 + add x1, x1, 1064 + add x0, x0, :lo12:.LC0 bl printk + bl dump_stack ldrb w1, [x20,2834] - cbnz w1, .L537 -.L539: + cbnz w1, .L576 +.L578: mov x0, 0 - b .L538 -.L535: + b .L577 +.L574: ldrb w1, [x1,2834] cmp w1, 1 - beq .L539 -.L536: + beq .L578 +.L575: add x1, x19, :lo12:.LANCHOR0 lsl x2, x2, 6 add x4, x1, 784 @@ -3221,8 +3404,10 @@ buf_alloc: str xzr, [x3,16] strb w1, [x4,x2] mov w1, -1 + strb wzr, [x3,56] str w1, [x3,36] -.L538: + strb wzr, [x3,57] +.L577: ldp x19, x20, [sp,16] ldr x21, [sp,32] ldp x29, x30, [sp], 48 @@ -3235,33 +3420,33 @@ buf_remove_buf: ldrb w4, [x1,1] ldrb w2, [x0] cmp w4, w2 - bne .L546 + bne .L585 ldrb w1, [x1] strb w1, [x0] - b .L550 -.L546: + b .L589 +.L585: adrp x0, .LANCHOR0 add x0, x0, :lo12:.LANCHOR0 add x0, x0, 784 -.L548: +.L587: cmp w2, 255 - beq .L551 + beq .L590 mov w3, w2 sbfiz x2, x2, 6, 32 ldrb w2, [x0,x2] cmp w2, w4 - bne .L548 + bne .L587 sbfiz x3, x3, 6, 32 ldrb w2, [x1] strb w2, [x0,x3] mov w0, -1 strb w0, [x1] -.L550: +.L589: mov w0, 1 - b .L545 -.L551: + b .L584 +.L590: mov w0, 0 -.L545: +.L584: ret .size buf_remove_buf, .-buf_remove_buf .align 2 @@ -3275,30 +3460,31 @@ buf_remove_free: mov x20, x0 add x0, x19, :lo12:.LANCHOR0 ldrb w0, [x0,2834] - cbnz w0, .L553 + cbnz w0, .L592 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 + mov w2, 172 + add x1, x1, 1080 add x0, x0, :lo12:.LC0 - add x1, x1, 1056 - mov w2, 170 bl printk -.L553: + bl dump_stack +.L592: add x19, x19, :lo12:.LANCHOR0 ldrb w0, [x19,2834] - cbz w0, .L552 + cbz w0, .L591 add x0, x19, 2833 mov x1, x20 bl buf_remove_buf cmp w0, 1 - bne .L552 + bne .L591 ldrb w0, [x19,2834] sub w0, w0, #1 strb w0, [x19,2834] ldrb w0, [x20,2] orr w0, w0, 1 strb w0, [x20,2] -.L552: +.L591: ldp x19, x20, [sp,16] ldp x29, x30, [sp], 32 ret @@ -3320,9 +3506,9 @@ flash_check_bad_block: asr w2, w2, 5 lsl w2, w2, 2 mul w2, w0, w2 - adrp x0, .LANCHOR0+208 + adrp x0, .LANCHOR0+728 sxtw x2, w2 - ldr x0, [x0,#:lo12:.LANCHOR0+208] + ldr x0, [x0,#:lo12:.LANCHOR0+728] add x2, x2, 912 add x2, x0, x2 ldr w0, [x2,x3,lsl 2] @@ -3353,12 +3539,12 @@ flash_mask_bad_block: add w20, w20, 31 bl printk asr w20, w20, 5 - adrp x0, .LANCHOR0+208 + adrp x0, .LANCHOR0+728 lsl w20, w20, 2 ubfx x3, x21, 5, 27 lsl x3, x3, 2 mul w19, w19, w20 - ldr x0, [x0,#:lo12:.LANCHOR0+208] + ldr x0, [x0,#:lo12:.LANCHOR0+728] sxtw x19, w19 add x19, x19, 912 add x19, x0, x19 @@ -3378,49 +3564,49 @@ flash_mask_bad_block: str2hex: ldrb w1, [x0] cmp w1, 48 - bne .L560 + bne .L599 ldrb w1, [x0,1] add x2, x0, 2 and w1, w1, -33 uxtb w1, w1 cmp w1, 88 csel x0, x0, x2, ne -.L560: +.L599: ldrb w1, [x0] and w1, w1, -33 uxtb w1, w1 cmp w1, 88 mov w1, 0 csinc x0, x0, x0, ne -.L562: +.L601: ldrb w2, [x0] - cbz w2, .L569 + cbz w2, .L608 sub w3, w2, #48 uxtb w3, w3 cmp w3, 9 - bhi .L563 + bhi .L602 add w1, w2, w1, lsl 4 sub w1, w1, #48 - b .L564 -.L563: + b .L603 +.L602: sub w3, w2, #97 uxtb w3, w3 cmp w3, 5 - bhi .L565 + bhi .L604 add w1, w2, w1, lsl 4 sub w1, w1, #87 - b .L564 -.L565: + b .L603 +.L604: sub w3, w2, #65 uxtb w3, w3 cmp w3, 5 - bhi .L569 + bhi .L608 add w1, w2, w1, lsl 4 sub w1, w1, #55 -.L564: +.L603: add x0, x0, 1 - b .L562 -.L569: + b .L601 +.L608: mov w0, w1 ret .size str2hex, .-str2hex @@ -3435,7 +3621,7 @@ zftl_proc_debug_init: add x3, x3, :lo12:.LANCHOR1 add x29, sp, 0 mov w1, 292 - add x3, x3, 1072 + add x3, x3, 1096 mov x4, x2 add x0, x0, :lo12:.LC47 bl proc_create_data @@ -3453,19 +3639,19 @@ ftl_print_info_to_buf: add x1, x1, :lo12:.LC1 add x2, x2, :lo12:.LC2 stp x19, x20, [sp,16] - str x21, [sp,32] + stp x21, x22, [sp,32] mov x20, x0 bl sprintf - adrp x21, .LANCHOR0 adrp x7, .LANCHOR2 - adrp x1, .LC48 + adrp x22, .LANCHOR0 add x7, x7, :lo12:.LANCHOR2 - add x21, x21, :lo12:.LANCHOR0 + adrp x1, .LC48 add x7, x7, 376 + add x21, x22, :lo12:.LANCHOR0 add x19, x20, x0, sxtw add x1, x1, :lo12:.LC48 - mov x0, x19 ldrb w5, [x7,4] + mov x0, x19 ldrb w6, [x7,5] ldrb w3, [x7,2] ldrb w4, [x7,3] @@ -3473,7 +3659,7 @@ ftl_print_info_to_buf: ldrb w7, [x7,6] bl sprintf add x19, x19, x0, sxtw - ldr w2, [x21,4] + ldr w2, [x21,520] adrp x1, .LC49 mov x0, x19 add x1, x1, :lo12:.LC49 @@ -3498,20 +3684,20 @@ ftl_print_info_to_buf: add x1, x1, :lo12:.LC52 bl sprintf add x19, x19, x0, sxtw - ldr w2, [x21,4] + ldr w2, [x21,520] adrp x1, .LC53 mov x0, x19 add x1, x1, :lo12:.LC53 bl sprintf add x19, x19, x0, sxtw - ldr x2, [x21,88] + ldr x2, [x21,608] adrp x1, .LC54 mov x0, x19 add x1, x1, :lo12:.LC54 ldr w2, [x2,524] bl sprintf add x19, x19, x0, sxtw - ldr x2, [x21,88] + ldr x2, [x21,608] adrp x1, .LC55 mov x0, x19 add x1, x1, :lo12:.LC55 @@ -3602,7 +3788,7 @@ ftl_print_info_to_buf: ldr w2, [x2,68] bl sprintf add x19, x19, x0, sxtw - ldr x0, [x21,88] + ldr x0, [x21,608] mov w2, 10 adrp x1, .LC68 add x1, x1, :lo12:.LC68 @@ -3611,20 +3797,20 @@ ftl_print_info_to_buf: udiv w2, w3, w2 bl sprintf add x19, x19, x0, sxtw - ldrb w2, [x21,113] + ldrb w2, [x22,#:lo12:.LANCHOR0] adrp x1, .LC69 mov x0, x19 add x1, x1, :lo12:.LC69 bl sprintf add x19, x19, x0, sxtw - ldr x2, [x21,88] + ldr x2, [x21,608] adrp x1, .LC70 mov x0, x19 add x1, x1, :lo12:.LC70 ldr w2, [x2,556] bl sprintf add x19, x19, x0, sxtw - ldr x2, [x21,88] + ldr x2, [x21,608] adrp x1, .LC71 mov x0, x19 add x1, x1, :lo12:.LC71 @@ -3659,7 +3845,7 @@ ftl_print_info_to_buf: ldr w2, [x2,8] bl sprintf add x19, x19, x0, sxtw - ldr x4, [x21,88] + ldr x4, [x21,608] adrp x1, .LC76 mov x0, x19 add x1, x1, :lo12:.LC76 @@ -3668,7 +3854,7 @@ ftl_print_info_to_buf: ldrb w4, [x4,25] bl sprintf add x19, x19, x0, sxtw - ldr x4, [x21,88] + ldr x4, [x21,608] adrp x1, .LC77 mov x0, x19 add x1, x1, :lo12:.LC77 @@ -3677,7 +3863,7 @@ ftl_print_info_to_buf: ldrb w4, [x4,57] bl sprintf add x19, x19, x0, sxtw - ldr x4, [x21,88] + ldr x4, [x21,608] adrp x1, .LC78 mov x0, x19 add x1, x1, :lo12:.LC78 @@ -3724,7 +3910,7 @@ ftl_print_info_to_buf: ldrh w5, [x21,2880] bl sprintf add x19, x19, x0, sxtw - ldr x5, [x21,88] + ldr x5, [x21,608] adrp x1, .LC83 mov x0, x19 add x1, x1, :lo12:.LC83 @@ -3734,7 +3920,7 @@ ftl_print_info_to_buf: ldrh w5, [x5,590] bl sprintf add x0, x19, x0, sxtw - ldr x21, [sp,32] + ldp x21, x22, [sp,32] sub w0, w0, w20 ldp x19, x20, [sp,16] ldp x29, x30, [sp], 48 @@ -3774,94 +3960,6 @@ ftl_gc_write_buf: ret .size ftl_gc_write_buf, .-ftl_gc_write_buf .align 2 - .global ftl_read_buf - .type ftl_read_buf, %function -ftl_read_buf: - stp x29, x30, [sp, -48]! - add x29, sp, 0 - stp x19, x20, [sp,16] - adrp x19, .LANCHOR0 - mov w20, w0 - add x0, x19, :lo12:.LANCHOR0 - str x21, [sp,32] - mov x21, x1 - ldr w0, [x0,2840] - cmp w20, w0 - bcc .L575 - adrp x2, .LANCHOR1 - adrp x0, .LC0 - add x1, x2, :lo12:.LANCHOR1 - add x0, x0, :lo12:.LC0 - add x1, x1, 1288 - mov w2, 905 - bl printk -.L575: - add x3, x19, :lo12:.LANCHOR0 - mov w2, 0 - add x3, x3, 784 -.L579: - ldr w0, [x3,36] - cmp w0, w20 - bne .L576 - ldrb w0, [x3,2] - tbz x0, 3, .L576 - add x19, x19, :lo12:.LANCHOR0 - ubfiz x2, x2, 6, 32 - add x19, x19, 784 - orr w1, w0, 4 - add x19, x19, x2 - strb w1, [x19,2] - tbnz x0, 0, .L577 - mov x0, x19 - bl buf_remove_free -.L577: - mov x0, x19 - b .L578 -.L576: - add w2, w2, 1 - add x3, x3, 64 - cmp w2, 32 - bne .L579 - add x19, x19, :lo12:.LANCHOR0 - mov x0, 0 - ldr w1, [x19,2892] - cmn w1, #1 - bne .L578 - str w20, [x19,2892] - str x21, [x19,2896] -.L578: - ldp x19, x20, [sp,16] - ldr x21, [sp,32] - ldp x29, x30, [sp], 48 - ret - .size ftl_read_buf, .-ftl_read_buf - .align 2 - .global ftl_read_buf_free - .type ftl_read_buf_free, %function -ftl_read_buf_free: - stp x29, x30, [sp, -32]! - add x29, sp, 0 - str x19, [sp,16] - mov x19, x0 - adrp x0, .LANCHOR0 - mov x1, x19 - add x0, x0, :lo12:.LANCHOR0 - add x0, x0, 2904 - bl buf_remove_buf - ldrb w0, [x19,2] - tbz x0, 1, .L586 - and w0, w0, -5 - strb w0, [x19,2] - b .L585 -.L586: - mov x0, x19 - bl buf_free -.L585: - ldr x19, [sp,16] - ldp x29, x30, [sp], 32 - ret - .size ftl_read_buf_free, .-ftl_read_buf_free - .align 2 .global gc_hook .type gc_hook, %function gc_hook: @@ -3888,28 +3986,29 @@ gc_add_sblk: stp x25, x26, [sp,64] uxth w23, w1 uxth w20, w2 - ldrh w0, [x0,56] + ldrh w0, [x0,576] cmp w0, w21 - bhi .L591 + bhi .L616 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 - add x0, x0, :lo12:.LC0 - add x1, x1, 1304 mov w2, 258 + add x1, x1, 1312 + add x0, x0, :lo12:.LC0 bl printk -.L591: + bl dump_stack +.L616: add x6, x22, :lo12:.LANCHOR0 uxtw x19, w21 lsl x25, x19, 1 adrp x24, .LANCHOR2 - ldr x0, [x6,80] + ldr x0, [x6,600] ldrh w26, [x0,x25] ldr w0, [x24,#:lo12:.LANCHOR2] - tbz x0, 8, .L592 - ldr x0, [x6,64] + tbz x0, 8, .L617 + ldr x0, [x6,584] mov w1, w21 - ldrh w5, [x6,2968] + ldrh w5, [x6,2952] mov w2, w23 add x0, x0, x19, lsl 2 ldrh w6, [x6,2878] @@ -3919,67 +4018,68 @@ gc_add_sblk: add x0, x0, :lo12:.LC84 ubfx x3, x3, 5, 3 bl printk -.L592: +.L617: add x3, x22, :lo12:.LANCHOR0 - ldr x0, [x3,64] + ldr x0, [x3,584] add x0, x0, x19, lsl 2 ldrb w19, [x0,2] ands w19, w19, 224 - bne .L593 - cbz w26, .L594 + bne .L618 + cbz w26, .L619 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 mov w2, 263 - add x1, x1, 1304 + add x1, x1, 1312 add x0, x0, :lo12:.LC0 bl printk - b .L594 -.L593: - ldrh w1, [x3,2912] - add x6, x3, 2912 + bl dump_stack + b .L619 +.L618: + ldrh w1, [x3,2896] + add x6, x3, 2896 mov w19, 0 cmp w1, w21 - beq .L594 - ldr x3, [x3,88] + beq .L619 + ldr x3, [x3,608] ldrh w1, [x3,48] cmp w1, w21 - beq .L594 + beq .L619 ldrh w1, [x3,16] cmp w1, w21 - beq .L594 + beq .L619 ldrh w1, [x3,80] cmp w1, w21 - beq .L594 + beq .L619 ldrh w5, [x6,56] mov x4, 0 -.L595: +.L620: cmp w5, w4 - bls .L626 + bls .L651 add x4, x4, 1 add x1, x6, x4, lsl 1 ldrh w1, [x1,56] cmp w1, w21 - bne .L595 + bne .L620 mov w19, 0 - b .L594 -.L626: - cbnz w23, .L597 + b .L619 +.L651: + cbnz w23, .L622 add x4, x22, :lo12:.LANCHOR0 mov w19, w23 - ldrh w7, [x4,3240] + ldrh w7, [x4,3224] cmp w7, w21 - beq .L594 + beq .L619 mov x6, 0 -.L599: - add x1, x4, 3248 +.L624: + add x1, x4, 3232 ldrh w1, [x6,x1] cmp w21, w1 - bne .L598 + bne .L623 ldr w1, [x24,#:lo12:.LANCHOR2] mov w19, 0 - tbz x1, 8, .L594 - ldr x3, [x4,80] + tbz x1, 8, .L619 + ldr x3, [x4,600] mov w1, w21 ldrb w2, [x0,2] adrp x0, .LC85 @@ -3989,62 +4089,62 @@ gc_add_sblk: ubfx x2, x2, 5, 3 add x0, x0, :lo12:.LC85 bl printk - b .L594 -.L598: + b .L619 +.L623: add x6, x6, 2 cmp x6, 16 - bne .L599 + bne .L624 sxtw x4, w20 add x3, x3, x4, lsl 7 add x19, x3, 136 - b .L601 -.L597: + b .L626 +.L622: add x19, x3, 392 -.L601: +.L626: ldr w1, [x24,#:lo12:.LANCHOR2] - tbz x1, 8, .L602 + tbz x1, 8, .L627 add x6, x22, :lo12:.LANCHOR0 ldrb w3, [x0,2] adrp x0, .LC84 mov w1, w21 add x0, x0, :lo12:.LC84 mov w2, w23 - ldr x4, [x6,80] + ldr x4, [x6,600] ubfx x3, x3, 5, 3 ldrh w6, [x6,2878] ldrh w4, [x4,x25] bl printk -.L602: +.L627: mov x3, x19 add x0, x19, 128 mov w1, 65535 -.L605: +.L630: ldrh w2, [x3] cmp w2, w1 - bne .L603 + bne .L628 strh w21, [x3] add x22, x22, :lo12:.LANCHOR0 - cbz w23, .L604 - ldr x1, [x22,88] + cbz w23, .L629 + ldr x1, [x22,608] ldrh w0, [x1,124] add w0, w0, 1 strh w0, [x1,124] - b .L625 -.L604: - ldr x0, [x22,88] + b .L650 +.L629: + ldr x0, [x22,608] add x2, x0, x20, uxth 1 ldrh w0, [x2,120] add w0, w0, 1 strh w0, [x2,120] -.L625: +.L650: mov w19, 1 - b .L594 -.L603: + b .L619 +.L628: add x3, x3, 2 cmp x3, x0 - bne .L605 - b .L625 -.L594: + bne .L630 + b .L650 +.L619: mov w0, w19 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -4057,9 +4157,9 @@ gc_add_sblk: .global gc_get_src_ppa_from_index .type gc_get_src_ppa_from_index, %function gc_get_src_ppa_from_index: - adrp x1, .LANCHOR0+3264 + adrp x1, .LANCHOR0+3248 ubfiz x0, x0, 2, 16 - ldr x1, [x1,#:lo12:.LANCHOR0+3264] + ldr x1, [x1,#:lo12:.LANCHOR0+3248] ldr w0, [x1,x0] ret .size gc_get_src_ppa_from_index, .-gc_get_src_ppa_from_index @@ -4079,95 +4179,97 @@ gc_write_completed: stp x25, x26, [sp,64] str x27, [sp,80] add x23, x21, 784 - add x22, x22, 1320 -.L629: - ldrb w0, [x21,3272] + add x22, x22, 1328 +.L654: + ldrb w0, [x21,3256] adrp x19, .LANCHOR0 cmp w0, 255 - beq .L651 + beq .L676 sxtw x25, w0 lsl x0, x25, 6 add x2, x23, x0 ldrb w0, [x23,x0] ldr w1, [x2,52] - strb w0, [x21,3272] + strb w0, [x21,3256] ldrh w24, [x2,48] - cbz w1, .L630 + cbz w1, .L655 ldr w2, [x2,40] adrp x0, .LC86 mov w3, 1 add x0, x0, :lo12:.LC86 - str w2, [x21,3236] - strh w3, [x21,3232] + strh w3, [x21,3216] + str w2, [x21,3220] bl printk adrp x0, .LC0 mov x1, x22 - add x0, x0, :lo12:.LC0 mov w2, 539 + add x0, x0, :lo12:.LC0 bl printk -.L630: + bl dump_stack +.L655: add x0, x19, :lo12:.LANCHOR0 mov w20, 1 - ldrb w1, [x0,3273] + ldrb w1, [x0,3257] cmp w1, 3 - bne .L631 - ldr x0, [x0,88] + bne .L656 + ldr x0, [x0,608] ldrb w20, [x0,89] add w20, w20, w20, lsl 1 and w20, w20, 1023 -.L631: +.L656: adrp x0, .LANCHOR2 uxth x26, w24 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 8, .L632 + tbz x0, 8, .L657 add x0, x19, :lo12:.LANCHOR0 mov w1, w24 add x2, x0, x25, lsl 6 mov w3, w24 - ldr x4, [x0,3280] + ldr x4, [x0,3264] adrp x0, .LC87 ldrb w2, [x2,785] add x0, x0, :lo12:.LC87 ldrb w4, [x4,x26] bl printk -.L632: +.L657: add x0, x19, :lo12:.LANCHOR0 - ldr x1, [x0,3280] + ldr x1, [x0,3264] add x0, x0, x25, lsl 6 ldrb w1, [x1,x26] ldrb w0, [x0,785] cmp w1, w0 - beq .L633 + beq .L658 adrp x0, .LC0 mov x1, x22 - add x0, x0, :lo12:.LC0 mov w2, 546 + add x0, x0, :lo12:.LC0 bl printk -.L633: + bl dump_stack +.L658: add x2, x19, :lo12:.LANCHOR0 add x1, x2, 784 add x0, x1, x25, lsl 6 ldrb w0, [x0,61] cmp w0, 3 - beq .L634 - ldrb w0, [x2,3273] + beq .L659 + ldrb w0, [x2,3257] cmp w0, 3 - bne .L634 - ldrb w0, [x2,3288] - cbnz w0, .L634 - ldr x3, [x2,3280] - b .L635 -.L634: + bne .L659 + ldrb w0, [x2,3272] + cbnz w0, .L659 + ldr x3, [x2,3264] + b .L660 +.L659: add x19, x19, :lo12:.LANCHOR0 mov w25, 0 mov w26, -1 add x27, x19, 784 - strh w24, [x19,3228] -.L636: + strh w24, [x19,3212] +.L661: cmp w20, w25, uxth - bls .L629 + bls .L654 add w1, w25, w24 - ldr x2, [x19,3280] + ldr x2, [x19,3264] add w25, w25, 1 ldrb w0, [x2,x1] strb w26, [x2,x1] @@ -4175,20 +4277,20 @@ gc_write_completed: add x0, x27, x0 strb wzr, [x0,61] bl buf_free - ldrb w0, [x19,2919] + ldrb w0, [x19,2903] sub w0, w0, #1 - strb w0, [x19,2919] - b .L636 -.L635: + strb w0, [x19,2903] + b .L661 +.L660: cmp w20, w0, uxth - bls .L629 + bls .L654 add w2, w0, w24 add w0, w0, 1 ldrb w2, [x3,x2] add x2, x1, x2, lsl 6 strb wzr, [x2,61] - b .L635 -.L651: + b .L660 +.L676: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -4203,51 +4305,51 @@ gc_write_completed: gc_get_src_blk: adrp x3, .LANCHOR0 add x0, x3, :lo12:.LANCHOR0 - ldr x1, [x0,88] - ldrb w0, [x0,3289] + ldr x1, [x0,608] + ldrb w0, [x0,3273] ldrh w4, [x1,124] - cbz w4, .L653 + cbz w4, .L678 add x1, x1, 392 mov w2, 1 - b .L654 -.L653: + b .L679 +.L678: sxtw x2, w0 add x0, x1, x2, lsl 1 ldrh w5, [x0,120] mov w0, 65535 - cbz w5, .L655 + cbz w5, .L680 add x1, x1, x2, lsl 7 mov w2, w4 add x1, x1, 136 -.L654: +.L679: add x4, x1, 128 mov w5, 65535 -.L658: +.L683: ldrh w0, [x1] cmp w0, w5 - beq .L656 + beq .L681 mov w4, -1 strh w4, [x1] add x3, x3, :lo12:.LANCHOR0 - cbz w2, .L657 - ldr x2, [x3,88] + cbz w2, .L682 + ldr x2, [x3,608] ldrh w1, [x2,124] sub w1, w1, #1 strh w1, [x2,124] - b .L655 -.L657: - ldrb w1, [x3,3289] - ldr x2, [x3,88] + b .L680 +.L682: + ldrb w1, [x3,3273] + ldr x2, [x3,608] add x1, x2, x1, lsl 1 ldrh w2, [x1,120] sub w2, w2, #1 strh w2, [x1,120] - b .L655 -.L656: + b .L680 +.L681: add x1, x1, 2 cmp x1, x4 - bne .L658 -.L655: + bne .L683 +.L680: ret .size gc_get_src_blk, .-gc_get_src_blk .align 2 @@ -4261,59 +4363,59 @@ gc_free_temp_buf: adrp x19, .LANCHOR0 str x21, [sp,32] add x2, x19, :lo12:.LANCHOR0 - ldrb w3, [x2,2919] - cbz w3, .L663 + ldrb w3, [x2,2903] + cbz w3, .L688 ldrb w3, [x2,2834] cmp w3, 1 - bhi .L663 - ldrh w4, [x2,3290] + bhi .L688 + ldrh w4, [x2,3274] mov x20, x2 - ldrb w0, [x2,3292] + ldrb w0, [x2,3276] add x2, x2, 784 - ldrh w1, [x2,2444] + ldrh w1, [x2,2428] mul w0, w4, w0 add w3, w1, 24 - ldr x4, [x2,2496] + ldr x4, [x2,2480] cmp w0, w3 csel w3, w0, w3, ls -.L664: +.L689: cmp w1, w3 - bcs .L677 + bcs .L702 uxtw x21, w1 ldrb w0, [x4,x21] cmp w0, 255 - beq .L665 + beq .L690 sbfiz x0, x0, 6, 32 add x0, x2, x0 ldrb w5, [x0,61] - cbnz w5, .L665 + cbnz w5, .L690 str x1, [x29,56] bl buf_free adrp x0, .LANCHOR2 ldr x1, [x29,56] ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 8, .L666 - ldr x2, [x20,3280] + tbz x0, 8, .L691 + ldr x2, [x20,3264] adrp x0, .LC88 add x0, x0, :lo12:.LC88 ldrb w2, [x2,x21] bl printk -.L666: +.L691: add x19, x19, :lo12:.LANCHOR0 mov w1, -1 - ldr x0, [x19,3280] + ldr x0, [x19,3264] strb w1, [x0,x21] - ldrb w0, [x19,2919] + ldrb w0, [x19,2903] sub w0, w0, #1 - strb w0, [x19,2919] + strb w0, [x19,2903] mov w0, 1 - b .L663 -.L665: + b .L688 +.L690: add w1, w1, 1 - b .L664 -.L677: + b .L689 +.L702: mov w0, 0 -.L663: +.L688: ldp x19, x20, [sp,16] ldr x21, [sp,32] ldp x29, x30, [sp], 64 @@ -4329,11 +4431,11 @@ print_gc_debug_info: add x0, x0, :lo12:.LC89 stp x29, x30, [sp, -16]! add x29, sp, 0 - ldrh w1, [x6,2912] - ldrh w2, [x6,2914] - ldrh w3, [x6,3226] + ldrh w1, [x6,2896] + ldrh w2, [x6,2898] + ldrh w3, [x6,3210] ldrb w4, [x6,2834] - ldrb w5, [x6,2919] + ldrb w5, [x6,2903] ldrh w6, [x6,2872] bl printk ldp x29, x30, [sp], 16 @@ -4348,23 +4450,23 @@ zftl_get_gc_node: uxth w2, w0 cmp w1, 5 add x29, sp, 0 - bne .L680 - adrp x0, .LANCHOR0+3296 - ldr x0, [x0,#:lo12:.LANCHOR0+3296] - b .L683 -.L680: + bne .L705 + adrp x0, .LANCHOR0+3280 + ldr x0, [x0,#:lo12:.LANCHOR0+3280] + b .L708 +.L705: cmp w1, 2 - bne .L682 + bne .L707 mov w0, w2 - bl zftl_get_gc_node.part.13 - b .L684 -.L682: - adrp x0, .LANCHOR0+3304 - ldr x0, [x0,#:lo12:.LANCHOR0+3304] -.L683: + bl zftl_get_gc_node.part.12 + b .L709 +.L707: + adrp x0, .LANCHOR0+3288 + ldr x0, [x0,#:lo12:.LANCHOR0+3288] +.L708: mov w1, w2 bl _list_get_gc_head_node.isra.5 -.L684: +.L709: uxth w0, w0 ldp x29, x30, [sp], 16 ret @@ -4385,26 +4487,26 @@ gc_search_src_blk: stp x27, x28, [sp,80] uxtb w24, w1 uxtb w22, w2 - ldr x1, [x0,88] + ldr x1, [x0,608] add x1, x1, x21, sxtw 1 ldrh w19, [x1,120] - cbnz w19, .L732 - cbnz w21, .L688 + cbnz w19, .L757 + cbnz w21, .L713 adrp x26, .LC90 - strh w21, [x0,3312] + strh w21, [x0,3296] mov w19, w21 mov w25, w21 uxth w23, w22 mov w27, 65535 adrp x28, .LANCHOR2 add x26, x26, :lo12:.LC90 -.L689: +.L714: cmp w25, w23 - bcs .L694 + bcs .L719 add x3, x20, :lo12:.LANCHOR0 mov w1, 3 str x3, [x29,96] - ldrh w2, [x3,3312] + ldrh w2, [x3,3296] str x2, [x29,104] mov w0, w2 bl zftl_get_gc_node @@ -4415,12 +4517,12 @@ gc_search_src_blk: mov w4, w1 add w2, w2, 1 uxth w2, w2 - strh w2, [x3,3312] - beq .L690 + strh w2, [x3,3296] + beq .L715 ldr w0, [x28,#:lo12:.LANCHOR2] uxtw x5, w1 - tbz x0, 8, .L691 - ldr x3, [x3,80] + tbz x0, 8, .L716 + ldr x3, [x3,600] mov x0, x26 str x4, [x29,96] str x5, [x29,104] @@ -4428,232 +4530,232 @@ gc_search_src_blk: bl printk ldr x4, [x29,96] ldr x5, [x29,104] -.L691: +.L716: add x1, x20, :lo12:.LANCHOR0 - ldr x0, [x1,80] + ldr x0, [x1,600] ldrh w2, [x0,x5,lsl 1] ldrh w0, [x1,2878] cmp w2, w0 - bcs .L692 + bcs .L717 mov w1, 0 mov w0, w4 mov w2, w1 bl gc_add_sblk - cbz w0, .L693 + cbz w0, .L718 add w19, w19, 1 uxth w19, w19 cmp w19, w23 - bls .L693 - b .L694 -.L692: - strh wzr, [x1,3312] - b .L694 -.L690: - strh wzr, [x3,3312] - b .L694 -.L693: + bls .L718 + b .L719 +.L717: + strh wzr, [x1,3296] + b .L719 +.L715: + strh wzr, [x3,3296] + b .L719 +.L718: add w25, w25, 1 uxth w25, w25 - b .L689 -.L694: - tbz x24, 1, .L696 + b .L714 +.L719: + tbz x24, 1, .L721 mov w26, 0 mov w27, 65535 -.L697: +.L722: cmp w26, w23 - beq .L701 + beq .L726 add x25, x20, :lo12:.LANCHOR0 mov w1, 5 - ldrh w28, [x25,3314] + ldrh w28, [x25,3298] mov w0, w28 add w28, w28, 1 bl zftl_get_gc_node uxth w1, w0 - strh w28, [x25,3314] + strh w28, [x25,3298] cmp w1, w27 - beq .L698 + beq .L723 ubfiz x1, x1, 1, 16 - ldr x2, [x25,80] + ldr x2, [x25,600] ldrh w2, [x2,x1] ldrh w1, [x25,2880] cmp w2, w1 - bcs .L698 + bcs .L723 mov w1, 0 mov w2, w1 bl gc_add_sblk - cbz w0, .L700 + cbz w0, .L725 add w19, w19, 1 uxth w19, w19 cmp w19, w23 - bls .L700 - b .L703 -.L698: - strh wzr, [x25,3314] - b .L701 -.L700: + bls .L725 + b .L728 +.L723: + strh wzr, [x25,3298] + b .L726 +.L725: add w26, w26, 1 uxth w26, w26 - b .L697 -.L701: + b .L722 +.L726: cmp w19, w23 - bcs .L703 + bcs .L728 add x0, x20, :lo12:.LANCHOR0 - ldrh w1, [x0,3290] - ldrb w4, [x0,3292] - ldrh w2, [x0,3316] + ldrh w1, [x0,3274] + ldrb w4, [x0,3276] + ldrh w2, [x0,3300] ldrh w3, [x0,2880] mul w1, w1, w4 sub w1, w1, w2, lsr 2 cmp w3, w1 - bge .L696 + bge .L721 add w2, w3, w2, lsr 3 strh w2, [x0,2880] - b .L696 -.L703: + b .L721 +.L728: add x1, x20, :lo12:.LANCHOR0 ldrh w2, [x1,2880] - ldrh w0, [x1,3316] + ldrh w0, [x1,3300] cmp w2, w0 - bls .L696 + bls .L721 sub w0, w2, w0, lsr 3 strh w0, [x1,2880] -.L696: - tbz x24, 0, .L704 +.L721: + tbz x24, 0, .L729 cmp w19, w23 - bcs .L704 + bcs .L729 mov w25, 0 mov w27, 65535 -.L705: +.L730: cmp w25, w23 - beq .L708 + beq .L733 add x28, x20, :lo12:.LANCHOR0 - ldrh w26, [x28,3318] + ldrh w26, [x28,3302] mov w0, w26 add w26, w26, 1 - bl zftl_get_gc_node.part.13 - strh w26, [x28,3318] + bl zftl_get_gc_node.part.12 + strh w26, [x28,3302] cmp w27, w0, uxth - beq .L706 + beq .L731 mov w1, 0 mov w2, w1 bl gc_add_sblk - cbz w0, .L707 + cbz w0, .L732 add w19, w19, 1 uxth w19, w19 cmp w19, w23 - bcc .L707 - b .L710 -.L706: - strh wzr, [x28,3318] - b .L708 -.L707: + bcc .L732 + b .L735 +.L731: + strh wzr, [x28,3302] + b .L733 +.L732: add w25, w25, 1 uxth w25, w25 - b .L705 -.L708: + b .L730 +.L733: cmp w19, w23 - bcs .L710 + bcs .L735 add x20, x20, :lo12:.LANCHOR0 ldrh w1, [x20,2878] - ldrh w0, [x20,3316] + ldrh w0, [x20,3300] cmp w1, w0 - bcs .L704 + bcs .L729 add w0, w1, w0, lsr 3 - b .L785 -.L710: + b .L810 +.L735: add x20, x20, :lo12:.LANCHOR0 - ldrh w0, [x20,3316] + ldrh w0, [x20,3300] ldrh w1, [x20,2878] cmp w1, w0, lsr 1 - bls .L704 + bls .L729 sub w0, w1, w0, lsr 3 -.L785: +.L810: strh w0, [x20,2878] - b .L704 -.L688: + b .L729 +.L713: and w1, w24, 1 - strh w19, [x0,3230] - strh w19, [x0,3320] + strh w19, [x0,3214] + strh w19, [x0,3304] str w1, [x29,104] - tbz x24, 0, .L711 - ldrh w2, [x0,3322] + tbz x24, 0, .L736 + ldrh w2, [x0,3306] ldrh w1, [x0,2852] cmp w1, w2, lsr 2 - bcc .L712 + bcc .L737 ldrh w0, [x0,2850] cmp w0, w1 - bls .L713 -.L712: + bls .L738 +.L737: add x23, x20, :lo12:.LANCHOR0 mov w19, 0 ldrh w0, [x23,2850] lsr w0, w0, 2 - strh w0, [x23,3318] + strh w0, [x23,3302] mov w0, 0 - bl zftl_get_gc_node.part.13 + bl zftl_get_gc_node.part.12 uxth w1, w0 mov w2, 65535 cmp w1, w2 - beq .L714 + beq .L739 ubfiz x1, x1, 1, 16 - ldr x3, [x23,80] - ldrh w2, [x23,3316] + ldr x3, [x23,600] + ldrh w2, [x23,3300] ldrh w1, [x3,x1] cmp w1, w2, lsr 2 - bcs .L714 + bcs .L739 mov w1, w19 mov w2, w21 - strh w19, [x23,3318] + strh w19, [x23,3302] bl gc_add_sblk cmp w0, w19 cset w19, ne -.L714: +.L739: mov w23, 64 mov w26, 65535 uxth w27, w22 -.L716: +.L741: add x25, x20, :lo12:.LANCHOR0 - ldrh w28, [x25,3318] + ldrh w28, [x25,3302] mov w0, w28 add w28, w28, 1 - bl zftl_get_gc_node.part.13 - strh w28, [x25,3318] + bl zftl_get_gc_node.part.12 + strh w28, [x25,3302] cmp w26, w0, uxth - beq .L713 + beq .L738 mov w1, 0 mov w2, w21 bl gc_add_sblk - cbz w0, .L715 + cbz w0, .L740 add w19, w19, 1 uxth w19, w19 cmp w19, w27 - bcs .L713 -.L715: + bcs .L738 +.L740: sub w23, w23, #1 uxth w23, w23 - cbnz w23, .L716 -.L713: + cbnz w23, .L741 +.L738: add x0, x20, :lo12:.LANCHOR0 - ldrh w2, [x0,3322] + ldrh w2, [x0,3306] ldrh w1, [x0,2852] cmp w1, w2, lsr 3 - bhi .L733 + bhi .L758 ldrh w0, [x0,2850] add w0, w0, 8 cmp w1, w0 - bgt .L733 -.L711: - tbz x24, 1, .L719 + bgt .L758 +.L736: + tbz x24, 1, .L744 add x0, x20, :lo12:.LANCHOR0 mov w25, 64 mov w26, 0 mov w27, 65535 uxth w28, w22 - strh wzr, [x0,3314] -.L724: + strh wzr, [x0,3298] +.L749: add x23, x20, :lo12:.LANCHOR0 mov w1, 5 - ldrh w2, [x23,3314] + ldrh w2, [x23,3298] str x2, [x29,96] mov w0, w2 bl zftl_get_gc_node @@ -4661,144 +4763,144 @@ gc_search_src_blk: ldr x2, [x29,96] cmp w1, w27 add w2, w2, 1 - strh w2, [x23,3314] - beq .L720 + strh w2, [x23,3298] + beq .L745 cmp w22, 1 - bne .L721 - ldrh w3, [x23,3290] - ldrb w2, [x23,3292] + bne .L746 + ldrh w3, [x23,3274] + ldrb w2, [x23,3276] mul w2, w2, w3 - ldrh w3, [x23,3316] + ldrh w3, [x23,3300] sub w2, w2, w3, lsr 3 strh w2, [x23,2874] -.L721: +.L746: add x2, x20, :lo12:.LANCHOR0 ubfiz x1, x1, 1, 16 - ldr x3, [x2,80] + ldr x3, [x2,600] ldrh w3, [x3,x1] ldrh w1, [x2,2874] cmp w3, w1 - bcs .L722 + bcs .L747 mov w1, 0 mov w2, w21 bl gc_add_sblk - cbz w0, .L723 + cbz w0, .L748 add w19, w19, 1 add w26, w26, 1 uxth w19, w19 uxth w26, w26 cmp w19, w28 - bcc .L723 - b .L720 -.L722: - strh wzr, [x2,3314] - b .L720 -.L723: + bcc .L748 + b .L745 +.L747: + strh wzr, [x2,3298] + b .L745 +.L748: sub w0, w25, #1 uxth w25, w0 - cbnz w25, .L724 -.L720: + cbnz w25, .L749 +.L745: cmp w19, w22 - bcc .L725 - cbnz w26, .L726 + bcc .L750 + cbnz w26, .L751 add x0, x20, :lo12:.LANCHOR0 ldrh w1, [x0,2854] - ldrh w0, [x0,3324] + ldrh w0, [x0,3308] cmp w1, w0 - bls .L726 -.L725: + bls .L751 +.L750: add x0, x20, :lo12:.LANCHOR0 - ldrh w1, [x0,3290] - ldrb w4, [x0,3292] - ldrh w3, [x0,3316] + ldrh w1, [x0,3274] + ldrb w4, [x0,3276] + ldrh w3, [x0,3300] ldrh w2, [x0,2874] mul w1, w1, w4 lsr w3, w3, 3 sub w1, w1, w3 cmp w2, w1 - bge .L719 + bge .L744 add w2, w3, w2 strh w2, [x0,2874] - b .L719 -.L726: + b .L744 +.L751: add x0, x20, :lo12:.LANCHOR0 - ldrh w1, [x0,3316] - ldrb w2, [x0,3292] + ldrh w1, [x0,3300] + ldrb w2, [x0,3276] ldrh w3, [x0,2874] mul w2, w1, w2 cmp w3, w2 - ble .L719 + ble .L744 sub w1, w3, w1, lsr 3 strh w1, [x0,2874] -.L719: +.L744: ldr w0, [x29,104] - cbz w0, .L704 + cbz w0, .L729 add x0, x20, :lo12:.LANCHOR0 mov w25, 64 mov w26, 65535 uxth w27, w22 - strh wzr, [x0,3312] -.L730: + strh wzr, [x0,3296] +.L755: add x23, x20, :lo12:.LANCHOR0 mov w1, 3 - ldrh w28, [x23,3312] + ldrh w28, [x23,3296] mov w0, w28 add w28, w28, 1 bl zftl_get_gc_node uxth w1, w0 - strh w28, [x23,3312] + strh w28, [x23,3296] cmp w1, w26 - beq .L727 + beq .L752 ubfiz x1, x1, 1, 16 - ldr x2, [x23,80] + ldr x2, [x23,600] ldrh w1, [x2,x1] cmp w1, 2 - bls .L728 + bls .L753 ldrh w2, [x23,2876] cmp w2, w1 - bls .L728 - ldrh w2, [x23,3322] + bls .L753 + ldrh w2, [x23,3306] ldrh w1, [x23,2852] cmp w1, w2, lsr 1 - bls .L727 -.L728: + bls .L752 +.L753: mov w1, 0 mov w2, w21 bl gc_add_sblk - cbz w0, .L729 + cbz w0, .L754 add w19, w19, 1 uxth w19, w19 cmp w19, w27 - bcs .L727 -.L729: + bcs .L752 +.L754: sub w25, w25, #1 uxth w25, w25 - cbnz w25, .L730 -.L727: + cbnz w25, .L755 +.L752: cmp w19, w22 add x20, x20, :lo12:.LANCHOR0 - bcs .L731 - ldrh w0, [x20,3316] + bcs .L756 + ldrh w0, [x20,3300] ldrh w1, [x20,2876] cmp w1, w0, lsr 1 - bls .L704 + bls .L729 sub w0, w1, w0, lsr 3 strh w0, [x20,2876] - b .L704 -.L731: - ldrh w1, [x20,3316] - ldrb w0, [x20,3292] + b .L729 +.L756: + ldrh w1, [x20,3300] + ldrb w0, [x20,3276] ldrh w2, [x20,2876] mul w0, w1, w0 sub w0, w0, #32 cmp w2, w0 - bge .L704 + bge .L729 add w1, w2, w1, lsr 3 strh w1, [x20,2876] -.L704: +.L729: adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 8, .L732 + tbz x0, 8, .L757 adrp x0, .LC91 mov w1, w21 add x0, x0, :lo12:.LC91 @@ -4806,7 +4908,7 @@ gc_search_src_blk: mov w3, w19 mov w4, w22 bl printk -.L732: +.L757: mov w0, w19 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -4815,35 +4917,35 @@ gc_search_src_blk: ldp x27, x28, [sp,80] ldp x29, x30, [sp], 112 ret -.L733: +.L758: add x0, x20, :lo12:.LANCHOR0 mov w23, 64 mov w26, 65535 uxth w27, w22 - strh wzr, [x0,3312] -.L718: + strh wzr, [x0,3296] +.L743: add x25, x20, :lo12:.LANCHOR0 mov w1, 3 - ldrh w28, [x25,3312] + ldrh w28, [x25,3296] mov w0, w28 add w28, w28, 1 bl zftl_get_gc_node - strh w28, [x25,3312] + strh w28, [x25,3296] cmp w26, w0, uxth - beq .L711 + beq .L736 mov w1, 0 mov w2, w21 bl gc_add_sblk - cbz w0, .L717 + cbz w0, .L742 add w19, w19, 1 uxth w19, w19 cmp w19, w27 - bcs .L711 -.L717: + bcs .L736 +.L742: sub w23, w23, #1 uxth w23, w23 - cbnz w23, .L718 - b .L711 + cbnz w23, .L743 + b .L736 .size gc_search_src_blk, .-gc_search_src_blk .align 2 .global zftl_insert_free_list @@ -4854,24 +4956,24 @@ zftl_insert_free_list: add x2, x2, :lo12:.LANCHOR0 stp x29, x30, [sp, -16]! add x29, sp, 0 - ldr x0, [x2,64] + ldr x0, [x2,584] add x0, x0, x1, uxth 2 ldrb w0, [x0,2] ands w0, w0, 24 - bne .L787 - add x0, x2, 3328 + bne .L812 + add x0, x2, 3312 add x2, x2, 2844 - b .L790 -.L787: + b .L815 +.L812: cmp w0, 16 - bne .L789 - add x0, x2, 3336 + bne .L814 + add x0, x2, 3320 add x2, x2, 2846 - b .L790 -.L789: - add x0, x2, 3344 + b .L815 +.L814: + add x0, x2, 3328 add x2, x2, 2848 -.L790: +.L815: bl _insert_free_list ldp x29, x30, [sp], 16 ret @@ -4885,29 +4987,29 @@ zftl_insert_data_list: add x2, x2, :lo12:.LANCHOR0 stp x29, x30, [sp, -16]! add x29, sp, 0 - ldr x0, [x2,64] + ldr x0, [x2,584] add x0, x0, x1, uxth 2 ldrb w3, [x0,2] and w3, w3, 224 cmp w3, 64 - bne .L792 - add x0, x2, 96 + bne .L817 + add x0, x2, 616 add x2, x2, 2850 - b .L795 -.L792: + b .L820 +.L817: cmp w3, 96 - bne .L794 - add x0, x2, 3304 + bne .L819 + add x0, x2, 3288 add x2, x2, 2852 - b .L795 -.L794: + b .L820 +.L819: cmp w3, 160 - bne .L791 - add x0, x2, 3296 + bne .L816 + add x0, x2, 3280 add x2, x2, 2854 -.L795: +.L820: bl _insert_data_list -.L791: +.L816: ldp x29, x30, [sp], 16 ret .size zftl_insert_data_list, .-zftl_insert_data_list @@ -4924,71 +5026,71 @@ zftl_gc_get_free_sblk: stp x21, x22, [sp,32] uxth w21, w0 uxth w22, w1 - ldr x0, [x23,88] + ldr x0, [x23,608] ldrh w19, [x0,588] - cbnz w21, .L797 + cbnz w21, .L822 mov w0, 65535 cmp w19, w0 - beq .L797 + beq .L822 adrp x0, .LC92 mov w1, w19 add x0, x0, :lo12:.LC92 bl printk - ldr x0, [x23,88] + ldr x0, [x23,608] mov w1, -1 strh w1, [x0,588] - b .L798 -.L797: + b .L823 +.L822: add x0, x20, :lo12:.LANCHOR0 ldrh w3, [x0,2846] ldrh w1, [x0,2848] cmp w3, w1 - bls .L799 + bls .L824 mov w1, 0 mov x2, x0 lsr w3, w3, 3 cmp w21, w1 csel w1, w3, w1, ne - add x0, x0, 3336 + add x0, x0, 3320 add x2, x2, 2846 - b .L817 -.L799: + b .L842 +.L824: lsr w1, w1, 2 - cbz w21, .L803 + cbz w21, .L828 mov w1, 7 mul w3, w3, w1 mov w1, 8 sdiv w3, w3, w1 uxth w1, w3 -.L803: +.L828: add x2, x20, :lo12:.LANCHOR0 - add x0, x2, 3344 + add x0, x2, 3328 add x2, x2, 2848 -.L817: +.L842: bl _list_pop_index_node uxth w19, w0 mov w0, 65535 cmp w19, w0 - bne .L804 + bne .L829 add x5, x20, :lo12:.LANCHOR0 adrp x0, .LC93 add x0, x0, :lo12:.LC93 mov w1, w19 mov w2, w22 - ldr x3, [x5,3328] + ldr x3, [x5,3312] ldrh w4, [x5,2844] ldrh w5, [x5,2848] bl printk -.L804: - cbz w21, .L798 +.L829: + cbz w21, .L823 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 8, .L798 + tbz x0, 8, .L823 add x20, x20, :lo12:.LANCHOR0 uxtw x6, w19 lsl x0, x6, 2 - ldr x1, [x20,64] - ldr x7, [x20,80] + ldr x1, [x20,584] + ldr x7, [x20,600] add x2, x1, x0 ldr w4, [x1,x0] ldrh w5, [x1,x0] @@ -5002,7 +5104,7 @@ zftl_gc_get_free_sblk: ubfx x3, x3, 3, 2 and w5, w5, 2047 bl printk -.L798: +.L823: mov w0, w19 ldr x23, [sp,48] ldp x19, x20, [sp,16] @@ -5022,89 +5124,89 @@ zftl_get_free_sblk: stp x19, x20, [sp,16] cmp w21, 5 adrp x19, .LANCHOR0 - bne .L819 + bne .L844 add x0, x19, :lo12:.LANCHOR0 ldrh w2, [x0,2846] ldrh w1, [x0,2848] cmp w2, w1 - bcc .L820 + bcc .L845 ldrh w0, [x0,2844] cmp w0, w2 - bls .L821 - cbz w1, .L821 -.L820: + bls .L846 + cbz w1, .L846 +.L845: add x2, x19, :lo12:.LANCHOR0 lsr w1, w1, 1 - add x0, x2, 3344 - b .L849 -.L821: + add x0, x2, 3328 + b .L874 +.L846: add x2, x19, :lo12:.LANCHOR0 mov w1, 0 - add x0, x2, 3336 + add x0, x2, 3320 add x2, x2, 2846 - b .L848 -.L819: + b .L873 +.L844: add x22, x19, :lo12:.LANCHOR0 cmp w21, 1 - ldr x0, [x22,88] + ldr x0, [x22,608] ldrh w20, [x0,590] - beq .L823 + beq .L848 mov w0, 65535 cmp w20, w0 - beq .L823 + beq .L848 adrp x0, .LC95 mov w1, w20 add x0, x0, :lo12:.LC95 bl printk - ldr x0, [x22,88] + ldr x0, [x22,608] mov w1, -1 strh w1, [x0,590] - b .L824 -.L823: + b .L849 +.L848: add x2, x19, :lo12:.LANCHOR0 ldrh w0, [x2,2844] ldrh w1, [x2,2848] cmp w0, w1 - bcc .L825 + bcc .L850 ldrh w2, [x2,2846] cmp w2, w0 - bls .L826 - cbz w1, .L826 -.L825: + bls .L851 + cbz w1, .L851 +.L850: lsr w1, w1, 1 cmp w21, 1 csel w3, w1, w3, eq add x2, x19, :lo12:.LANCHOR0 - add x0, x2, 3344 + add x0, x2, 3328 mov w1, w3 -.L849: +.L874: add x2, x2, 2848 - b .L848 -.L826: + b .L873 +.L851: lsr w0, w0, 1 cmp w21, 1 csel w3, w0, w3, eq add x2, x19, :lo12:.LANCHOR0 - add x0, x2, 3328 + add x0, x2, 3312 mov w1, w3 add x2, x2, 2844 -.L848: +.L873: bl _list_pop_index_node uxth w0, w0 mov w20, w0 mov w0, 65535 cmp w20, w0 - bne .L824 + bne .L849 add x19, x19, :lo12:.LANCHOR0 adrp x0, .LC93 add x0, x0, :lo12:.LC93 mov w1, w20 mov w2, w21 - ldr x3, [x19,3328] + ldr x3, [x19,3312] ldrh w4, [x19,2844] ldrh w5, [x19,2848] bl printk -.L824: +.L849: mov w0, w20 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -5120,29 +5222,29 @@ zftl_remove_data_node: add x2, x2, :lo12:.LANCHOR0 stp x29, x30, [sp, -16]! add x29, sp, 0 - ldr x0, [x2,64] + ldr x0, [x2,584] add x0, x0, x1, uxth 2 ldrb w3, [x0,2] and w3, w3, 224 cmp w3, 64 - bne .L851 - add x0, x2, 96 + bne .L876 + add x0, x2, 616 add x2, x2, 2850 - b .L854 -.L851: + b .L879 +.L876: cmp w3, 96 - bne .L853 - add x0, x2, 3304 + bne .L878 + add x0, x2, 3288 add x2, x2, 2852 - b .L854 -.L853: + b .L879 +.L878: cmp w3, 160 - bne .L850 - add x0, x2, 3296 + bne .L875 + add x0, x2, 3280 add x2, x2, 2854 -.L854: +.L879: bl _list_remove_node -.L850: +.L875: ldp x29, x30, [sp], 16 ret .size zftl_remove_data_node, .-zftl_remove_data_node @@ -5155,24 +5257,24 @@ zftl_remove_free_node: add x2, x2, :lo12:.LANCHOR0 stp x29, x30, [sp, -16]! add x29, sp, 0 - ldr x0, [x2,64] + ldr x0, [x2,584] add x0, x0, x1, uxth 2 ldrb w0, [x0,2] ands w0, w0, 24 - bne .L856 - add x0, x2, 3328 + bne .L881 + add x0, x2, 3312 add x2, x2, 2844 - b .L859 -.L856: + b .L884 +.L881: cmp w0, 16 - bne .L858 - add x0, x2, 3336 + bne .L883 + add x0, x2, 3320 add x2, x2, 2846 - b .L859 -.L858: - add x0, x2, 3344 + b .L884 +.L883: + add x0, x2, 3328 add x2, x2, 2848 -.L859: +.L884: bl _list_remove_node ldp x29, x30, [sp], 16 ret @@ -5186,29 +5288,29 @@ zftl_list_update_data_list: add x2, x2, :lo12:.LANCHOR0 stp x29, x30, [sp, -16]! add x29, sp, 0 - ldr x0, [x2,64] + ldr x0, [x2,584] add x0, x0, x1, uxth 2 ldrb w3, [x0,2] and w3, w3, 224 cmp w3, 64 - bne .L861 - add x0, x2, 96 + bne .L886 + add x0, x2, 616 add x2, x2, 2850 - b .L864 -.L861: + b .L889 +.L886: cmp w3, 96 - bne .L863 - add x0, x2, 3304 + bne .L888 + add x0, x2, 3288 add x2, x2, 2852 - b .L864 -.L863: + b .L889 +.L888: cmp w3, 160 - bne .L860 - add x0, x2, 3296 + bne .L885 + add x0, x2, 3280 add x2, x2, 2854 -.L864: +.L889: bl _list_update_data_list -.L860: +.L885: ldp x29, x30, [sp], 16 ret .size zftl_list_update_data_list, .-zftl_list_update_data_list @@ -5230,7 +5332,7 @@ print_list_info: ldr x1, [x19] bl printk ldr x19, [x19] - cbz x19, .L865 + cbz x19, .L890 mov x22, -6148914691236517206 adrp x23, .LC97 mov w20, 0 @@ -5239,13 +5341,13 @@ print_list_info: add x23, x23, :lo12:.LC97 mov w26, 65535 mov w24, 6 -.L868: +.L893: add x21, x25, :lo12:.LANCHOR0 ldrh w3, [x19] ldrh w4, [x19,2] ldrh w5, [x19,4] - ldr x2, [x21,8] - ldr x1, [x21,64] + ldr x2, [x21,528] + ldr x1, [x21,584] sub x2, x19, x2 asr x2, x2, 1 mul x2, x2, x22 @@ -5263,23 +5365,23 @@ print_list_info: mov w1, w20 and w0, w0, 2047 str w0, [sp,8] - ldr x0, [x21,80] + ldr x0, [x21,600] ldrh w0, [x0,x8,lsl 1] str w0, [sp,16] mov x0, x23 bl printk ldrh w19, [x19] cmp w19, w26 - beq .L865 - ldr x0, [x21,8] + beq .L890 + ldr x0, [x21,528] add w20, w20, 1 umull x19, w19, w24 uxth w20, w20 add x19, x0, x19 - ldrh w0, [x21,3352] + ldrh w0, [x21,3336] cmp w0, w20 - bcs .L868 -.L865: + bcs .L893 +.L890: sub sp, x29, #32 ldp x19, x20, [sp,48] ldp x21, x22, [sp,64] @@ -5298,22 +5400,22 @@ dump_all_list_info: str x19, [sp,16] adrp x19, .LANCHOR0 add x19, x19, :lo12:.LANCHOR0 - add x0, x19, 3328 + add x0, x19, 3312 add x1, x19, 2844 bl print_list_info - add x0, x19, 3336 + add x0, x19, 3320 add x1, x19, 2846 bl print_list_info - add x0, x19, 3344 + add x0, x19, 3328 add x1, x19, 2848 bl print_list_info - add x0, x19, 96 + add x0, x19, 616 add x1, x19, 2850 bl print_list_info - add x0, x19, 3304 + add x0, x19, 3288 add x1, x19, 2852 bl print_list_info - add x0, x19, 3296 + add x0, x19, 3280 add x1, x19, 2854 bl print_list_info ldr x19, [sp,16] @@ -5328,44 +5430,44 @@ ftl_tmp_into_update: ldr x0, [x0,#:lo12:.LANCHOR0+2864] ldr w2, [x0,16] cmp w2, 2048 - bls .L871 + bls .L896 lsr w1, w2, 11 ldr w3, [x0,20] add w3, w3, w1 sub w1, w2, w1, lsl 11 str w3, [x0,20] str w1, [x0,16] -.L871: +.L896: ldr w2, [x0,24] cmp w2, 2048 - bls .L872 + bls .L897 lsr w1, w2, 11 ldr w3, [x0,28] add w3, w3, w1 sub w1, w2, w1, lsl 11 str w3, [x0,28] str w1, [x0,24] -.L872: +.L897: ldr w2, [x0,32] cmp w2, 1024 - bls .L873 + bls .L898 lsr w1, w2, 10 ldr w3, [x0,36] add w3, w3, w1 sub w1, w2, w1, lsl 10 str w3, [x0,36] str w1, [x0,32] -.L873: +.L898: ldr w2, [x0,40] cmp w2, 1024 - bls .L870 + bls .L895 lsr w1, w2, 10 ldr w3, [x0,44] add w3, w3, w1 sub w1, w2, w1, lsl 10 str w3, [x0,44] str w1, [x0,40] -.L870: +.L895: ret .size ftl_tmp_into_update, .-ftl_tmp_into_update .align 2 @@ -5376,51 +5478,51 @@ ftl_get_blk_list_in_sblk: uxth w0, w0 add x2, x7, :lo12:.LANCHOR0 mov w12, 21 - ldr x2, [x2,64] + ldr x2, [x2,584] add x2, x2, x0, uxth 2 ldrb w11, [x2,3] mov w2, 0 mov w6, w2 -.L876: +.L901: add x8, x7, :lo12:.LANCHOR0 - ldrb w3, [x8,3292] + ldrb w3, [x8,3276] cmp w6, w3 - bge .L882 + bge .L907 asr w3, w11, w6 - tbnz x3, 0, .L877 - ldrb w5, [x8,3354] + tbnz x3, 0, .L902 + ldrb w5, [x8,3338] sbfiz x10, x2, 1, 32 - ldrh w3, [x8,3356] + ldrh w3, [x8,3340] sdiv w9, w6, w5 sub w3, w12, w3 lsl w3, w9, w3 madd w3, w0, w5, w3 uxth w4, w3 strh w4, [x1,x10] - ldrb w3, [x8,3354] + ldrb w3, [x8,3338] cmp w3, 1 - bls .L878 + bls .L903 sub w3, w3, #1 and w3, w6, w3 add w3, w4, w3 strh w3, [x1,x10] -.L878: +.L903: add w2, w2, 1 -.L877: +.L902: add w6, w6, 1 - b .L876 -.L882: + b .L901 +.L907: mov w0, w2 mov w4, -1 -.L880: +.L905: add x3, x7, :lo12:.LANCHOR0 - ldrb w3, [x3,3292] + ldrb w3, [x3,3276] cmp w2, w3 - bge .L883 + bge .L908 strh w4, [x1,w2,sxtw 1] add w2, w2, 1 - b .L880 -.L883: + b .L905 +.L908: ret .size ftl_get_blk_list_in_sblk, .-ftl_get_blk_list_in_sblk .align 2 @@ -5437,77 +5539,77 @@ ftl_free_sblk: stp x19, x20, [sp,16] lsl x19, x22, 2 mov x21, x0 - ldr x7, [x3,64] + ldr x7, [x3,584] add x20, x7, x19 ldrb w2, [x20,2] - tbz x2, 3, .L886 + tbz x2, 3, .L911 ldr x6, [x3,2864] ldrh w4, [x7,x19] - ldrh w10, [x3,3358] + ldrh w10, [x3,3342] ldrh w0, [x6,74] and w5, w4, 2047 ldr w4, [x7,x19] add w0, w5, w0 ldrh w6, [x6,72] ubfx x9, x4, 11, 8 - ldrh w4, [x3,72] + ldrh w4, [x3,592] uxth w8, w0 add w6, w9, w6 uxth w0, w6 udiv w6, w8, w4 add w6, w0, w6 cmp w6, w10 - ble .L887 + ble .L912 ldrh w0, [x3,2846] ldrh w6, [x3,2854] add w6, w6, w0 - ldrh w0, [x3,3324] + ldrh w0, [x3,3308] add w0, w0, 8 cmp w6, w0 - blt .L903 + blt .L928 ldrh w0, [x3,2844] ldrh w6, [x3,2850] add w6, w6, w0 ldrh w0, [x3,2852] add w6, w6, w0 - ldrh w0, [x3,3360] + ldrh w0, [x3,3344] add w0, w0, 8 cmp w6, w0 - bge .L903 - b .L892 -.L887: + bge .L928 + b .L917 +.L912: madd w0, w0, w4, w8 - ldrh w6, [x3,3362] + ldrh w6, [x3,3346] cmp w0, w6 - ble .L889 + ble .L914 ldrh w0, [x3,2844] ldrh w6, [x3,2850] add w6, w6, w0 ldrh w0, [x3,2852] add w6, w6, w0 - ldrh w0, [x3,3360] + ldrh w0, [x3,3344] add w0, w0, 8 cmp w6, w0 - blt .L892 + blt .L917 ldrh w0, [x3,2846] ldrh w6, [x3,2854] add w6, w6, w0 - ldrh w0, [x3,3324] + ldrh w0, [x3,3308] add w0, w0, 8 cmp w6, w0 - bge .L892 -.L903: + bge .L917 +.L928: mov w0, 2 bfi w2, w0, 3, 2 - b .L901 -.L892: + b .L926 +.L917: and w2, w2, -25 -.L901: +.L926: strb w2, [x20,2] -.L889: +.L914: ldrb w0, [x20,2] ands w0, w0, 24 - bne .L893 + bne .L918 mul w4, w9, w4 ldrh w0, [x7,x19] add w4, w4, w4, lsl 1 @@ -5515,10 +5617,10 @@ ftl_free_sblk: ubfx x5, x4, 2, 9 bfi w0, w5, 0, 11 strh w0, [x7,x19] - b .L886 -.L893: + b .L911 +.L918: cmp w0, 16 - bne .L886 + bne .L911 sdiv w4, w5, w4 ldr w0, [x7,x19] add w4, w4, w4, lsl 1 @@ -5526,55 +5628,55 @@ ftl_free_sblk: ubfx x4, x4, 2, 6 bfi w0, w4, 11, 8 str w0, [x7,x19] -.L886: +.L911: mov w0, w1 str x1, [x29,56] bl zftl_remove_data_node add x0, x21, :lo12:.LANCHOR0 ldr x1, [x29,56] - ldr x2, [x0,64] + ldr x2, [x0,584] add x2, x2, x19 ldrb w3, [x2,2] and w3, w3, 31 strb w3, [x2,2] - ldr x2, [x0,80] + ldr x2, [x0,600] strh wzr, [x2,x22,lsl 1] ldrb w2, [x20,2] - tbz x2, 3, .L895 - ldr x2, [x0,88] + tbz x2, 3, .L920 + ldr x2, [x0,608] ldrh w0, [x2,584] cmp w0, w1 - bne .L896 + bne .L921 mov w0, -1 ldrh w3, [x2,588] strh w0, [x2,584] mov w0, 65535 cmp w3, w0 - bne .L896 + bne .L921 adrp x0, .LC98 strh w1, [x2,588] add x0, x0, :lo12:.LC98 - b .L902 -.L896: + b .L927 +.L921: ldrh w0, [x2,586] cmp w0, w1 - bne .L895 + bne .L920 mov w0, -1 ldrh w3, [x2,590] strh w0, [x2,586] mov w0, 65535 cmp w3, w0 - bne .L895 + bne .L920 adrp x0, .LC99 strh w1, [x2,590] add x0, x0, :lo12:.LC99 -.L902: +.L927: bl printk - b .L884 -.L895: + b .L909 +.L920: mov w0, w1 bl zftl_insert_free_list -.L884: +.L909: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x29, x30, [sp], 64 @@ -5595,130 +5697,131 @@ gc_free_src_blk: stp x19, x20, [sp,16] stp x25, x26, [sp,64] mov w20, 0 - add x24, x23, 2912 - add x21, x21, 1344 -.L905: + add x24, x23, 2896 + add x21, x21, 1352 +.L930: ldrh w0, [x24,56] adrp x25, .LANCHOR0 cmp w0, w20 - bls .L943 + bls .L968 add x0, x24, x20, sxtw 1 ldrh w22, [x0,58] - ldr x0, [x23,80] + ldr x0, [x23,600] lsl x26, x22, 1 mov x19, x22 ldrh w2, [x0,x26] - cbz w2, .L906 + cbz w2, .L931 adrp x0, .LC100 mov w1, w22 add x0, x0, :lo12:.LC100 bl printk -.L906: +.L931: add x0, x25, :lo12:.LANCHOR0 - ldr x1, [x0,80] + ldr x1, [x0,600] strh wzr, [x1,x26] - ldr x1, [x0,80] + ldr x1, [x0,600] ldrh w1, [x1,x26] - cbnz w1, .L907 - ldr x0, [x0,64] + cbnz w1, .L932 + ldr x0, [x0,584] add x22, x0, x22, lsl 2 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 8, .L908 + tbz x0, 8, .L933 ldrb w2, [x22,2] adrp x0, .LC101 add x0, x0, :lo12:.LC101 mov w1, w19 ubfx x2, x2, 5, 3 bl printk -.L908: +.L933: ldrb w0, [x22,2] tst w0, 192 - beq .L921 + beq .L946 and w0, w0, 224 cmp w0, 224 - bne .L909 -.L921: + bne .L934 +.L946: adrp x0, .LC0 mov x1, x21 - add x0, x0, :lo12:.LC0 mov w2, 793 + add x0, x0, :lo12:.LC0 bl printk -.L909: + bl dump_stack +.L934: mov w0, w19 add x25, x25, :lo12:.LANCHOR0 bl ftl_free_sblk - ldr x2, [x25,88] + ldr x2, [x25,608] ldrh w1, [x2,124] - cbz w1, .L911 + cbz w1, .L936 mov x0, 0 -.L913: +.L938: add x4, x2, x0, lsl 1 mov w3, w0 ldrh w4, [x4,392] cmp w4, w19 - bne .L912 + bne .L937 add x0, x2, x3, sxtw 1 mov w3, -1 strh w3, [x0,392] sub w1, w1, #1 strh w1, [x2,124] - b .L911 -.L912: + b .L936 +.L937: add x0, x0, 1 cmp x0, 64 - bne .L913 -.L911: + bne .L938 +.L936: ldrh w1, [x2,120] - cbz w1, .L914 + cbz w1, .L939 mov x0, 0 -.L916: +.L941: add x4, x2, x0, lsl 1 mov w3, w0 ldrh w4, [x4,136] cmp w4, w19 - bne .L915 + bne .L940 add x0, x2, x3, sxtw 1 mov w3, -1 strh w3, [x0,136] sub w1, w1, #1 strh w1, [x2,120] - b .L914 -.L915: + b .L939 +.L940: add x0, x0, 1 cmp x0, 64 - bne .L916 -.L914: + bne .L941 +.L939: ldrh w1, [x2,122] - cbz w1, .L917 + cbz w1, .L942 mov x0, 0 -.L919: +.L944: add x4, x2, x0, lsl 1 mov w3, w0 ldrh w4, [x4,264] cmp w4, w19 - bne .L918 + bne .L943 add x0, x2, x3, sxtw 1 mov w3, -1 strh w3, [x0,264] sub w1, w1, #1 strh w1, [x2,122] - b .L917 -.L918: + b .L942 +.L943: add x0, x0, 1 cmp x0, 64 - bne .L919 - b .L917 -.L907: + bne .L944 + b .L942 +.L932: mov w0, w19 mov w1, 1 mov w2, 0 bl gc_add_sblk -.L917: +.L942: add w20, w20, 1 uxth w20, w20 - b .L905 -.L943: + b .L930 +.L968: strh wzr, [x24,56] ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -5741,27 +5844,27 @@ ftl_erase_phy_blk: stp x19, x20, [sp,16] mov w4, 1 mov w21, w1 - ldrh w19, [x5,3356] + ldrh w19, [x5,3340] mov x20, x3 sub w19, w0, w19 - ldrb w0, [x5,3364] + ldrb w0, [x5,3348] asr w22, w2, w19 lsl w19, w4, w19 sub w19, w19, #1 and w19, w19, w2 sxth w19, w19 - cbz w0, .L945 - ldrh w2, [x5,3366] + cbz w0, .L970 + ldrh w2, [x5,3350] cmp w1, wzr mov w0, w22 cset w1, eq mul w2, w19, w2 bl flash_erase_block_en -.L945: +.L970: add x3, x20, :lo12:.LANCHOR0 mov w1, w21 mov w0, w22 - ldrh w2, [x3,3366] + ldrh w2, [x3,3350] mul w2, w19, w2 bl flash_erase_block_en ldp x19, x20, [sp,16] @@ -5784,92 +5887,92 @@ ftl_erase_sblk: stp x25, x26, [sp,64] ubfiz x20, x24, 2, 16 mov w22, w1 - ldr x0, [x0,64] + ldr x0, [x0,584] mov w19, 0 add x0, x0, x20 ldrb w25, [x0,3] -.L950: +.L975: add x2, x23, :lo12:.LANCHOR0 - ldrb w0, [x2,3368] + ldrb w0, [x2,3352] cmp w19, w0 - bge .L961 - ldrb w3, [x2,3354] + bge .L986 + ldrb w3, [x2,3338] mov w21, 0 - ldrh w2, [x2,3366] + ldrh w2, [x2,3350] mov w1, w21 sub w4, w3, #1 mul w6, w19, w3 mul w5, w24, w3 -.L962: +.L987: cmp w1, w3 - bge .L975 + bge .L1000 add w0, w1, w6 asr w0, w25, w0 - tbnz x0, 0, .L951 + tbnz x0, 0, .L976 and w0, w1, w4 add x7, x29, 80 add w0, w5, w0 mul w0, w0, w2 str w0, [x7,w21,sxtw 2] add w21, w21, 1 -.L951: +.L976: add w1, w1, 1 - b .L962 -.L975: + b .L987 +.L1000: cmp w3, 4 - bne .L974 + bne .L999 mov x26, 0 -.L953: +.L978: cmp w21, w26 - ble .L956 + ble .L981 add x2, x29, 80 mov w0, w19 mov w1, w22 ldr w2, [x2,x26,lsl 2] add x26, x26, 1 bl flash_erase_block_en - b .L953 -.L974: + b .L978 +.L999: cmp w21, 2 - bne .L957 + bne .L982 add x0, x23, :lo12:.LANCHOR0 - ldrb w0, [x0,3364] - cbz w0, .L958 + ldrb w0, [x0,3348] + cbz w0, .L983 cmp w22, wzr ldr w2, [x29,80] ldr w3, [x29,84] mov w0, w19 cset w1, eq bl flash_erase_duplane_block -.L958: +.L983: ldr w2, [x29,80] mov w0, w19 ldr w3, [x29,84] mov w1, w22 bl flash_erase_duplane_block - b .L956 -.L957: + b .L981 +.L982: cmp w21, 1 - bne .L956 + bne .L981 add x0, x23, :lo12:.LANCHOR0 - ldrb w0, [x0,3364] - cbz w0, .L960 + ldrb w0, [x0,3348] + cbz w0, .L985 cmp w22, wzr ldr w2, [x29,80] mov w0, w19 cset w1, eq bl flash_erase_block_en -.L960: +.L985: ldr w2, [x29,80] mov w0, w19 mov w1, w22 bl flash_erase_block_en -.L956: +.L981: add w19, w19, 1 - b .L950 -.L961: - cbnz w22, .L963 - ldr x1, [x2,64] + b .L975 +.L986: + cbnz w22, .L988 + ldr x1, [x2,584] ldrh w0, [x1,x20] add w3, w0, 1 bfi w0, w3, 0, 11 @@ -5879,16 +5982,16 @@ ftl_erase_sblk: ldrh w3, [x0,96] add w1, w1, 1 str w1, [x0,84] - ldr x1, [x2,64] + ldr x1, [x2,584] ldrh w1, [x1,x20] ubfx x1, x1, 0, 11 uxth w2, w1 cmp w3, w2 - bge .L965 + bge .L990 strh w1, [x0,96] - b .L965 -.L963: - ldr x3, [x2,64] + b .L990 +.L988: + ldr x3, [x2,584] ldr w0, [x3,x20] ubfx x1, x0, 11, 8 add w1, w1, 1 @@ -5898,14 +6001,14 @@ ftl_erase_sblk: ldr w1, [x0,80] add w1, w1, 1 str w1, [x0,80] - ldr x1, [x2,64] + ldr x1, [x2,584] ldrh w2, [x0,98] ldr w1, [x1,x20] ubfx x1, x1, 11, 8 cmp w2, w1, uxtb - bcs .L965 + bcs .L990 strh w1, [x0,98] -.L965: +.L990: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -5927,38 +6030,39 @@ ftl_alloc_sys_blk: ldr x1, [x1,2864] ldrh w2, [x1,136] cmp w2, 63 - bls .L977 + bls .L1002 strh wzr, [x1,136] -.L977: +.L1002: ldrh w0, [x1,112] - cbnz w0, .L978 + cbnz w0, .L1003 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 - add x0, x0, :lo12:.LC0 - add x1, x1, 1360 mov w2, 1118 + add x1, x1, 1368 + add x0, x0, :lo12:.LC0 bl printk -.L978: + bl dump_stack +.L1003: add x0, x19, :lo12:.LANCHOR0 mov w4, 65535 ldr x1, [x0,2864] -.L982: +.L1007: ldrh w2, [x1,136] -.L979: +.L1004: cmp w2, 63 - bgt .L985 + bgt .L1010 sxtw x3, w2 add x3, x3, 80 ldrh w0, [x1,x3,lsl 1] cmp w0, w4 - bne .L984 + bne .L1009 add w2, w2, 1 - b .L979 -.L985: + b .L1004 +.L1010: strh wzr, [x1,136] - b .L982 -.L984: + b .L1007 +.L1009: mov w4, -1 strh w4, [x1,x3,lsl 1] strh w2, [x1,136] @@ -5983,33 +6087,34 @@ ftl_free_sys_blk: ldr x2, [x0,2864] ldrh w0, [x2,138] cmp w0, 63 - bls .L987 + bls .L1012 strh wzr, [x2,138] -.L987: +.L1012: ldrh w0, [x2,112] cmp w0, 63 - bls .L988 + bls .L1013 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 - add x0, x0, :lo12:.LC0 - add x1, x1, 1384 mov w2, 1142 + add x1, x1, 1392 + add x0, x0, :lo12:.LC0 bl printk -.L988: + bl dump_stack +.L1013: add x1, x19, :lo12:.LANCHOR0 mov w0, 65535 ldr x1, [x1,2864] -.L992: +.L1017: ldrh w2, [x1,138] -.L989: +.L1014: cmp w2, 63 - bgt .L994 + bgt .L1019 sxtw x3, w2 add x3, x3, 80 ldrh w4, [x1,x3,lsl 1] cmp w4, w0 - bne .L990 + bne .L1015 strh w20, [x1,x3,lsl 1] strh w2, [x1,138] ldrh w0, [x1,112] @@ -6018,12 +6123,12 @@ ftl_free_sys_blk: ldp x19, x20, [sp,16] ldp x29, x30, [sp], 32 ret -.L990: +.L1015: add w2, w2, 1 - b .L989 -.L994: + b .L1014 +.L1019: strh wzr, [x1,138] - b .L992 + b .L1017 .size ftl_free_sys_blk, .-ftl_free_sys_blk .align 2 .global ftl_info_data_recovery @@ -6037,44 +6142,44 @@ ftl_info_data_recovery: str x23, [sp,48] ldrh w2, [x0] cmp w2, w1 - beq .L995 + beq .L1020 adrp x19, .LANCHOR0 ubfiz x20, x2, 2, 16 add x23, x19, :lo12:.LANCHOR0 - ldr x21, [x23,64] + ldr x21, [x23,584] add x22, x21, x20 ldrb w1, [x22,2] tst w1, 224 - bne .L995 + bne .L1020 ldrb w0, [x0,4] bfi w1, w0, 5, 3 mov w0, w2 strb w1, [x22,2] bl zftl_remove_free_node ldrb w0, [x22,2] - tbz x0, 3, .L999 + tbz x0, 3, .L1024 ldr x1, [x23,2864] ldrh w0, [x1,116] sub w0, w0, #1 strh w0, [x1,116] - b .L1000 -.L999: + b .L1025 +.L1024: tst w0, 24 ldr x1, [x23,2864] - bne .L1001 + bne .L1026 ldrh w0, [x1,114] sub w0, w0, #1 strh w0, [x1,114] - b .L1000 -.L1001: + b .L1025 +.L1026: ldrh w0, [x1,118] sub w0, w0, #1 strh w0, [x1,118] -.L1000: +.L1025: ldrb w0, [x22,2] and w0, w0, 224 cmp w0, 160 - bne .L1002 + bne .L1027 ldr w0, [x21,x20] add x19, x19, :lo12:.LANCHOR0 ubfx x1, x0, 11, 8 @@ -6085,29 +6190,29 @@ ftl_info_data_recovery: ldrh w0, [x1,120] sub w0, w0, #1 strh w0, [x1,120] - b .L995 -.L1002: + b .L1020 +.L1027: ldrh w1, [x21,x20] cmp w0, 64 add w2, w1, 1 bfi w1, w2, 0, 11 strh w1, [x21,x20] - bne .L1003 + bne .L1028 add x19, x19, :lo12:.LANCHOR0 ldr x1, [x19,2864] ldrh w0, [x1,122] sub w0, w0, #1 strh w0, [x1,122] - b .L995 -.L1003: + b .L1020 +.L1028: cmp w0, 96 - bne .L995 + bne .L1020 add x19, x19, :lo12:.LANCHOR0 ldr x1, [x19,2864] ldrh w0, [x1,124] sub w0, w0, #1 strh w0, [x1,124] -.L995: +.L1020: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldr x23, [sp,48] @@ -6126,19 +6231,19 @@ ftl_get_ppa_from_index: stp x19, x20, [sp,16] str x21, [sp,32] mov x19, x2 - ldrh w0, [x4,3316] - ldr x3, [x4,88] - ldrb w4, [x4,3292] + ldrh w0, [x4,3300] + ldr x3, [x4,608] + ldrb w4, [x4,3276] mul w0, w0, w4 cmp w1, w0 - bge .L1005 + bge .L1030 add x3, x3, 16 - b .L1006 -.L1005: + b .L1031 +.L1030: sub w1, w1, w0 add x3, x3, 48 uxth w1, w1 -.L1006: +.L1031: ldrb w2, [x3,9] mov w0, 65535 sdiv w20, w1, w2 @@ -6146,17 +6251,18 @@ ftl_get_ppa_from_index: add x1, x3, x1, uxth 1 ldrh w21, [x1,16] cmp w21, w0 - bne .L1007 + bne .L1032 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 - add x0, x0, :lo12:.LC0 - add x1, x1, 1408 mov w2, 1529 + add x1, x1, 1416 + add x0, x0, :lo12:.LC0 bl printk -.L1007: + bl dump_stack +.L1032: add x2, x19, :lo12:.LANCHOR0 - ldrh w0, [x2,3366] + ldrh w0, [x2,3350] madd w0, w21, w0, w20 ldp x19, x20, [sp,16] ldr x21, [sp,32] @@ -6173,25 +6279,25 @@ lpa_hash_get_ppa: add x2, x1, x0, uxtb 1 stp x29, x30, [sp, -16]! add x29, sp, 0 - ldrh w2, [x2,3376] - ldr x4, [x1,3888] - ldr x5, [x1,3896] -.L1009: + ldrh w2, [x2,3360] + ldr x4, [x1,3872] + ldr x5, [x1,3880] +.L1034: cmp w2, w3 - beq .L1013 + beq .L1038 uxtw x1, w2 ldr w6, [x4,x1,lsl 2] cmp w6, w0 - bne .L1010 + bne .L1035 mov w0, w2 bl ftl_get_ppa_from_index - b .L1011 -.L1010: + b .L1036 +.L1035: ldrh w2, [x5,x1,lsl 1] - b .L1009 -.L1013: + b .L1034 +.L1038: mov w0, -1 -.L1011: +.L1036: ldp x29, x30, [sp], 16 ret .size lpa_hash_get_ppa, .-lpa_hash_get_ppa @@ -6206,68 +6312,71 @@ ftl_get_new_free_page: ldrh w1, [x0] mov w0, 65535 cmp w1, w0 - bne .L1015 + bne .L1040 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 - add x0, x0, :lo12:.LC0 - add x1, x1, 1432 mov w2, 1644 + add x1, x1, 1440 + add x0, x0, :lo12:.LC0 bl printk -.L1015: + bl dump_stack +.L1040: adrp x20, .LANCHOR0 ldrh w1, [x19,2] add x0, x20, :lo12:.LANCHOR0 - ldrh w0, [x0,3316] + ldrh w0, [x0,3300] cmp w1, w0 - bne .L1016 + bne .L1041 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 - add x0, x0, :lo12:.LC0 - add x1, x1, 1432 mov w2, 1645 + add x1, x1, 1440 + add x0, x0, :lo12:.LC0 bl printk -.L1016: + bl dump_stack +.L1041: ldrh w0, [x19,6] - cbnz w0, .L1017 + cbnz w0, .L1042 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 - add x0, x0, :lo12:.LC0 - add x1, x1, 1432 mov w2, 1646 + add x1, x1, 1440 + add x0, x0, :lo12:.LC0 bl printk -.L1017: + bl dump_stack +.L1042: ldrb w0, [x19,5] add x1, x20, :lo12:.LANCHOR0 add x0, x0, 8 - ldrb w2, [x1,3292] + ldrb w2, [x1,3276] mov w1, 65535 ldrh w0, [x19,x0,lsl 1] -.L1018: +.L1043: cmp w0, w1 - bne .L1022 + bne .L1047 ldrb w0, [x19,5] add w0, w0, 1 uxtb w0, w0 strb w0, [x19,5] cmp w0, w2 - bne .L1019 + bne .L1044 ldrh w0, [x19,2] strb wzr, [x19,5] add w0, w0, 1 strh w0, [x19,2] -.L1019: +.L1044: ldrb w0, [x19,5] add x0, x0, 8 ldrh w0, [x19,x0,lsl 1] - b .L1018 -.L1022: + b .L1043 +.L1047: add x20, x20, :lo12:.LANCHOR0 ldrh w2, [x19,2] - ldrh w1, [x20,3366] - ldrb w3, [x20,3292] + ldrh w1, [x20,3350] + ldrb w3, [x20,3276] mul w0, w0, w1 ldrh w1, [x19,6] orr w0, w0, w2 @@ -6281,11 +6390,11 @@ ftl_get_new_free_page: uxtb w1, w1 strb w1, [x19,5] cmp w3, w1 - bne .L1021 + bne .L1046 add w2, w2, 1 strb wzr, [x19,5] strh w2, [x19,2] -.L1021: +.L1046: ldp x19, x20, [sp,16] ldp x29, x30, [sp], 32 ret @@ -6303,15 +6412,16 @@ ftl_ext_alloc_new_blk: mov w1, 65533 sub w0, w0, #1 cmp w1, w0, uxth - bcs .L1024 + bcs .L1049 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 - add x0, x0, :lo12:.LC0 - add x1, x1, 1456 mov w2, 1677 + add x1, x1, 1464 + add x0, x0, :lo12:.LC0 bl printk -.L1024: + bl dump_stack +.L1049: adrp x19, .LANCHOR0 mov w1, 0 add x19, x19, :lo12:.LANCHOR0 @@ -6334,52 +6444,52 @@ ftl_ext_alloc_new_blk: ftl_total_vpn_update: adrp x1, .LANCHOR0 add x3, x1, :lo12:.LANCHOR0 - ldrh w2, [x3,3904] - cbnz w0, .L1026 + ldrh w2, [x3,3888] + cbnz w0, .L1051 cmp w2, 4 - bhi .L1026 + bhi .L1051 add w2, w2, 1 - strh w2, [x3,3904] - b .L1025 -.L1026: + strh w2, [x3,3888] + b .L1050 +.L1051: add x0, x1, :lo12:.LANCHOR0 mov w9, 65535 - strh wzr, [x0,3904] - ldrh w6, [x0,56] - ldr x7, [x0,80] - ldr x8, [x0,64] + strh wzr, [x0,3888] + ldrh w6, [x0,576] + ldr x7, [x0,600] + ldr x8, [x0,584] mov x0, 0 mov w2, w0 mov w3, w0 -.L1028: +.L1053: cmp w6, w0, uxth - bls .L1036 + bls .L1061 ldrh w4, [x7,x0,lsl 1] cmp w4, w9 - beq .L1029 + beq .L1054 add x5, x8, x0, lsl 2 ldrb w5, [x5,2] and w5, w5, 224 cmp w5, 160 - bne .L1030 + bne .L1055 add w2, w2, w4 - b .L1029 -.L1030: + b .L1054 +.L1055: add w3, w3, w4 -.L1029: +.L1054: add x0, x0, 1 - b .L1028 -.L1036: + b .L1053 +.L1061: add x1, x1, :lo12:.LANCHOR0 - ldr x0, [x1,88] + ldr x0, [x1,608] ldr x1, [x1,2864] str w3, [x0,524] str w2, [x0,528] ldrh w1, [x1,120] - cbz w1, .L1025 + cbz w1, .L1050 udiv w2, w2, w1 str w2, [x0,532] -.L1025: +.L1050: ret .size ftl_total_vpn_update, .-ftl_total_vpn_update .align 2 @@ -6402,13 +6512,13 @@ ftl_vpn_update: bl zftl_list_update_data_list adrp x1, .LANCHOR0 add x1, x1, :lo12:.LANCHOR0 - ldr x0, [x1,80] + ldr x0, [x1,600] ldrh w2, [x0,x19] mov w0, 0 - cbnz w2, .L1039 + cbnz w2, .L1064 mov w0, 1 str w0, [x1,2884] -.L1039: +.L1064: ldr x19, [sp,16] ldp x29, x30, [sp], 32 ret @@ -6424,51 +6534,51 @@ ftl_vpn_decrement: str x19, [sp,16] cmp w1, w0 adrp x2, .LANCHOR0 - beq .L1042 + beq .L1067 add x0, x2, :lo12:.LANCHOR0 ubfiz x3, x1, 1, 16 - ldr x0, [x0,80] + ldr x0, [x0,600] ldrh w19, [x0,x3] - cbnz w19, .L1043 + cbnz w19, .L1068 adrp x0, .LC102 mov w2, w19 add x0, x0, :lo12:.LC102 bl printk - b .L1049 -.L1043: + b .L1074 +.L1068: sub w19, w19, #1 strh w19, [x0,x3] -.L1042: +.L1067: add x19, x2, :lo12:.LANCHOR0 mov w0, 0 - ldrh w2, [x19,3240] + ldrh w2, [x19,3224] cmp w2, w1 - beq .L1044 + beq .L1069 mov w0, 65535 cmp w2, w0 - bne .L1045 - strh w1, [x19,3240] -.L1049: + bne .L1070 + strh w1, [x19,3224] +.L1074: mov w0, 0 - b .L1044 -.L1045: + b .L1069 +.L1070: mov w0, w2 str x1, [x29,40] bl ftl_vpn_update cmp w0, wzr - ldrh w3, [x19,3906] + ldrh w3, [x19,3890] cset w0, ne - ldrh w2, [x19,3240] + ldrh w2, [x19,3224] add w3, w3, 1 ldr x1, [x29,40] - strh w1, [x19,3240] + strh w1, [x19,3224] uxth w3, w3 cmp w3, 7 csel w3, w3, wzr, ls - strh w3, [x19,3906] + strh w3, [x19,3890] add x3, x19, x3, uxth 1 - strh w2, [x3,3248] -.L1044: + strh w2, [x3,3232] +.L1069: ldr x19, [sp,16] ldp x29, x30, [sp], 48 ret @@ -6481,73 +6591,73 @@ lpa_hash_update_ppa: uxtb w5, w0 add x6, x3, :lo12:.LANCHOR0 uxth w2, w2 - add x4, x6, 3376 + add x4, x6, 3360 stp x29, x30, [sp, -16]! add x29, sp, 0 - ldr x8, [x6,3888] - ldr x12, [x6,3896] + ldr x8, [x6,3872] + ldr x12, [x6,3880] mov w6, 65535 ldrh w4, [x4,w5,sxtw 1] mov w11, w6 -.L1051: +.L1076: cmp w4, w11 - beq .L1055 + beq .L1080 uxtw x9, w4 uxth x7, w4 lsl x10, x9, 2 add x13, x8, x10 ldr w10, [x8,x10] cmp w10, w0 - bne .L1052 + bne .L1077 mov w4, -1 str w4, [x13] mov w4, 65535 cmp w6, w4 add x4, x3, :lo12:.LANCHOR0 - bne .L1053 - ldr x6, [x4,3896] - add x4, x4, 3376 + bne .L1078 + ldr x6, [x4,3880] + add x4, x4, 3360 ldrh w6, [x6,x7,lsl 1] strh w6, [x4,w5,sxtw 1] - b .L1054 -.L1053: - ldr x4, [x4,3896] + b .L1079 +.L1078: + ldr x4, [x4,3880] ldrh w8, [x4,x7,lsl 1] strh w8, [x4,w6,uxtw 1] -.L1054: +.L1079: add x4, x3, :lo12:.LANCHOR0 mov w6, -1 - ldr x4, [x4,3896] + ldr x4, [x4,3880] strh w6, [x4,x7,lsl 1] - b .L1055 -.L1052: + b .L1080 +.L1077: mov w6, w4 ldrh w4, [x12,x9,lsl 1] - b .L1051 -.L1055: + b .L1076 +.L1080: add x3, x3, :lo12:.LANCHOR0 uxtw x4, w2 cmn w1, #1 - ldr x6, [x3,3888] + ldr x6, [x3,3872] str w0, [x6,x4,lsl 2] - add x0, x3, 3376 + add x0, x3, 3360 ldrh w6, [x0,w5,sxtw 1] strh w2, [x0,w5,sxtw 1] - ldr x0, [x3,3896] + ldr x0, [x3,3880] strh w6, [x0,x4,lsl 1] - beq .L1057 - ldrh w0, [x3,3356] + beq .L1082 + ldrh w0, [x3,3340] mov w2, 21 mov w4, 1 sub w2, w2, w0 lsr w1, w1, w0 lsl w2, w4, w2 - ldrb w0, [x3,3354] + ldrb w0, [x3,3338] sub w2, w2, #1 and w1, w2, w1 udiv w0, w1, w0 bl ftl_vpn_decrement -.L1057: +.L1082: mov w0, -1 ldp x29, x30, [sp], 16 ret @@ -6566,36 +6676,36 @@ ftl_mask_bad_block: str x21, [sp,32] ubfx x21, x0, 21, 3 mov x19, x3 - ldrh w5, [x1,3356] + ldrh w5, [x1,3340] sub w2, w2, w5 lsr w0, w0, w5 lsl w2, w4, w2 sub w2, w2, #1 and w0, w2, w0 - ldrb w2, [x1,3354] + ldrb w2, [x1,3338] udiv w2, w0, w2 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] uxth w20, w2 - tbz x0, 14, .L1062 + tbz x0, 14, .L1087 adrp x0, .LC103 mov w1, w21 add x0, x0, :lo12:.LC103 mov w2, w20 bl printk -.L1062: +.L1087: add x0, x19, :lo12:.LANCHOR0 - ldrh w1, [x0,56] + ldrh w1, [x0,576] cmp w1, w20 - bls .L1061 - ldr x0, [x0,64] + bls .L1086 + ldr x0, [x0,584] add x20, x0, x20, uxth 2 mov w0, 1 lsl w1, w0, w21 ldrb w0, [x20,3] orr w1, w1, w0 strb w1, [x20,3] -.L1061: +.L1086: ldp x19, x20, [sp,16] ldr x21, [sp,32] ldp x29, x30, [sp], 48 @@ -6611,7 +6721,7 @@ print_ftl_debug_info: str x19, [sp,48] adrp x19, .LANCHOR0 add x19, x19, :lo12:.LANCHOR0 - ldr x7, [x19,88] + ldr x7, [x19,608] ldrh w6, [x19,2854] ldrh w1, [x19,2844] ldr w0, [x7,528] @@ -6683,45 +6793,47 @@ ftl_write_buf: stp x19, x20, [sp,16] str x21, [sp,32] mov x20, x0 - cbnz x0, .L1069 + cbnz x0, .L1094 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 - mov w2, 652 - add x1, x1, 1480 + mov w2, 661 + add x1, x1, 1488 add x0, x0, :lo12:.LC0 bl printk + bl dump_stack bl print_ftl_debug_info mov w0, -1 - b .L1078 -.L1069: + b .L1103 +.L1094: adrp x19, .LANCHOR0 ldrb w1, [x20,56] add x0, x19, :lo12:.LANCHOR0 ldrb w0, [x0,2832] cmp w1, w0 - bls .L1074 + bls .L1099 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 + mov w2, 666 + add x1, x1, 1488 add x0, x0, :lo12:.LC0 - add x1, x1, 1480 - mov w2, 657 bl printk -.L1074: + bl dump_stack +.L1099: ldrb w0, [x20,56] - cbz w0, .L1071 + cbz w0, .L1096 add x21, x19, :lo12:.LANCHOR0 ldrb w1, [x21,2832] cmp w1, w0 - bcs .L1072 -.L1071: + bcs .L1097 +.L1096: mov x0, x20 add x19, x19, :lo12:.LANCHOR0 bl buf_free ldrb w0, [x19,2856] - b .L1078 -.L1072: + b .L1103 +.L1097: add x0, x21, 2888 mov x1, x20 bl buf_add_tail @@ -6738,7 +6850,7 @@ ftl_write_buf: add w1, w1, 1 str w1, [x0,32] mov w0, w2 -.L1078: +.L1103: ldp x19, x20, [sp,16] ldr x21, [sp,32] ldp x29, x30, [sp], 48 @@ -6761,19 +6873,19 @@ ftl_write_completed: mov w23, 21 mov w24, 1 add x21, x21, :lo12:.LC109 -.L1080: - ldrb w0, [x19,3908] +.L1105: + ldrb w0, [x19,3892] cmp w0, 255 - beq .L1087 + beq .L1112 sbfiz x0, x0, 6, 32 add x20, x22, x0 add x4, x20, 32 ldrb w0, [x22,x0] - strb w0, [x19,3908] + strb w0, [x19,3892] ldr w0, [x20,52] cmn w0, #1 - bne .L1081 - ldrh w2, [x19,3356] + bne .L1106 + ldrh w2, [x19,3340] mov x0, x21 ldr w3, [x4,8] sub w1, w23, w2 @@ -6781,7 +6893,7 @@ ftl_write_completed: lsr w2, w3, w2 sub w1, w1, #1 and w2, w1, w2 - ldrb w1, [x19,3354] + ldrb w1, [x19,3338] udiv w1, w2, w1 ldr w2, [x4,4] uxth w25, w1 @@ -6791,39 +6903,39 @@ ftl_write_completed: mov w0, w25 mov w2, 0 bl gc_add_sblk - ldr x0, [x19,88] + ldr x0, [x19,608] ldr w1, [x0,556] add w1, w1, 1 str w1, [x0,556] ldrh w1, [x0,16] cmp w1, w25 - bne .L1082 + bne .L1107 strh wzr, [x0,22] - b .L1083 -.L1082: + b .L1108 +.L1107: ldrh w1, [x0,48] cmp w1, w25 - bne .L1083 + bne .L1108 strh wzr, [x0,54] -.L1083: +.L1108: mov x0, x20 bl ftl_write_buf - b .L1080 -.L1081: + b .L1105 +.L1106: ldr w0, [x4,4] ldr w1, [x4,12] ldrh w2, [x20,48] bl lpa_hash_update_ppa ldrb w0, [x20,2] - tbz x0, 2, .L1085 + tbz x0, 2, .L1110 and w0, w0, -3 strb w0, [x20,2] - b .L1080 -.L1085: + b .L1105 +.L1110: mov x0, x20 bl buf_free - b .L1080 -.L1087: + b .L1105 +.L1112: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -6832,6 +6944,53 @@ ftl_write_completed: ret .size ftl_write_completed, .-ftl_write_completed .align 2 + .global zftl_add_read_buf + .type zftl_add_read_buf, %function +zftl_add_read_buf: + stp x29, x30, [sp, -32]! + add x29, sp, 0 + stp x19, x20, [sp,16] + mov x20, x0 + cbnz x0, .L1114 + adrp x1, .LANCHOR1 + adrp x0, .LC0 + add x1, x1, :lo12:.LANCHOR1 + mov w2, 948 + add x1, x1, 1504 + add x0, x0, :lo12:.LC0 + bl printk + bl dump_stack + bl print_ftl_debug_info + b .L1113 +.L1114: + adrp x19, .LANCHOR0 + ldrb w1, [x20,56] + add x0, x19, :lo12:.LANCHOR0 + ldrb w0, [x0,2832] + cmp w1, w0 + bls .L1117 + adrp x1, .LANCHOR1 + adrp x0, .LC0 + add x1, x1, :lo12:.LANCHOR1 + mov w2, 953 + add x1, x1, 1504 + add x0, x0, :lo12:.LC0 + bl printk + bl dump_stack +.L1117: + add x19, x19, :lo12:.LANCHOR0 + mov x1, x20 + add x0, x19, 3893 + bl buf_add_tail + ldrb w0, [x19,3894] + add w0, w0, 1 + strb w0, [x19,3894] +.L1113: + ldp x19, x20, [sp,16] + ldp x29, x30, [sp], 32 + ret + .size zftl_add_read_buf, .-zftl_add_read_buf + .align 2 .global ftl_alloc_sblk .type ftl_alloc_sblk, %function ftl_alloc_sblk: @@ -6851,29 +7010,30 @@ ftl_alloc_sblk: uxth w19, w0 mov w0, 65535 cmp w19, w0 - beq .L1090 - adrp x0, .LANCHOR0+64 - ldr x21, [x0,#:lo12:.LANCHOR0+64] + beq .L1120 + adrp x0, .LANCHOR0+584 + ldr x21, [x0,#:lo12:.LANCHOR0+584] add x21, x21, x19, uxth 2 ldrb w0, [x21,2] tst w0, 224 - beq .L1091 + beq .L1121 adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 - add x0, x0, :lo12:.LC0 - add x1, x1, 1496 mov w2, 827 + add x1, x1, 1528 + add x0, x0, :lo12:.LC0 bl printk -.L1091: + bl dump_stack +.L1121: ldrb w1, [x21,2] bfi w1, w20, 5, 3 ubfx x2, x1, 3, 2 orr w0, w22, w2 bfi w1, w0, 3, 2 strb w1, [x21,2] - b .L1097 -.L1090: + b .L1127 +.L1120: adrp x21, .LC110 bl print_ftl_debug_info add x21, x21, :lo12:.LC110 @@ -6893,11 +7053,12 @@ ftl_alloc_sblk: adrp x1, .LANCHOR1 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR1 - add x0, x0, :lo12:.LC0 - add x1, x1, 1496 mov w2, 837 + add x1, x1, 1528 + add x0, x0, :lo12:.LC0 bl printk -.L1097: + bl dump_stack +.L1127: mov w0, w19 ldr x23, [sp,48] ldp x19, x20, [sp,16] @@ -6912,10 +7073,10 @@ sblk_init: adrp x0, .LANCHOR0 mov w1, -1 add x0, x0, :lo12:.LANCHOR0 - strb w1, [x0,3909] - strb w1, [x0,3908] - strb w1, [x0,2904] - strb w1, [x0,3272] + strb w1, [x0,2835] + strb w1, [x0,3892] + strb w1, [x0,3895] + strb w1, [x0,3256] mov w0, 0 ret .size sblk_init, .-sblk_init @@ -6931,17 +7092,17 @@ dump_sblk_queue: str x21, [sp,32] add x20, x20, :lo12:.LANCHOR0 add x0, x0, :lo12:.LC111 - ldrb w1, [x20,3909] + ldrb w1, [x20,2835] bl printk - ldrb w19, [x20,3909] + ldrb w19, [x20,2835] cmp w19, 255 - beq .L1099 + beq .L1129 add x20, x20, 784 sbfiz x19, x19, 6, 32 adrp x21, .LC112 add x19, x20, x19 add x21, x21, :lo12:.LC112 -.L1101: +.L1131: ldrb w1, [x19,1] mov x0, x21 ldrb w2, [x19,58] @@ -6949,11 +7110,11 @@ dump_sblk_queue: bl printk ldrb w19, [x19] cmp w19, 255 - beq .L1099 + beq .L1129 sbfiz x19, x19, 6, 32 add x19, x20, x19 - b .L1101 -.L1099: + b .L1131 +.L1129: ldp x19, x20, [sp,16] ldr x21, [sp,32] ldp x29, x30, [sp], 48 @@ -6967,12 +7128,12 @@ queue_lun_state: mov w5, w0 add x3, x3, :lo12:.LANCHOR0 mov w0, 0 - ldrb w2, [x3,3909] + ldrb w2, [x3,2835] cmp w2, 255 - beq .L1109 - ldrh w8, [x3,3356] + beq .L1139 + ldrh w8, [x3,3340] mov w4, 21 - ldrb w7, [x3,3354] + ldrb w7, [x3,3338] mov w0, 1 sub w4, w4, w8 ubfx x9, x5, 21, 3 @@ -6981,127 +7142,145 @@ queue_lun_state: sub w4, w4, #1 asr w5, w5, w8 uxth w7, w7 - adrp x10, .L1113 + adrp x10, .L1142 uxth w4, w4 and w5, w5, w7 and w5, w5, w4 add x3, x3, 784 - add x10, x10, :lo12:.L1113 -.L1116: + add x10, x10, :lo12:.L1142 +.L1145: add x0, x3, x2, lsl 6 ldr w6, [x0,40] ubfx x11, x6, 21, 3 cmp w11, w9 - bne .L1110 + bne .L1140 lsr w6, w6, w8 ldrb w0, [x0,58] and w6, w7, w6 and w6, w4, w6 cmp w6, w5 - bne .L1111 + bne .L1141 cmp w1, 1 - beq .L1114 - b .L1109 -.L1111: + beq .L1143 + b .L1139 +.L1141: cmp w1, 3 - bhi .L1110 + bhi .L1140 ldrb w6, [x10,w1,uxtw] - adr x11, .Lrtx1113 + adr x11, .Lrtx1142 add x6, x11, w6, sxtb #2 br x6 -.Lrtx1113: +.Lrtx1142: .section .rodata .align 0 .align 2 -.L1113: - .byte (.L1112 - .Lrtx1113) / 4 - .byte (.L1114 - .Lrtx1113) / 4 - .byte (.L1115 - .Lrtx1113) / 4 - .byte (.L1109 - .Lrtx1113) / 4 +.L1142: + .byte (.L1139 - .Lrtx1142) / 4 + .byte (.L1143 - .Lrtx1142) / 4 + .byte (.L1144 - .Lrtx1142) / 4 + .byte (.L1139 - .Lrtx1142) / 4 .text -.L1112: - cmp w0, 2 - b .L1125 -.L1114: +.L1143: sub w6, w0, #6 and w6, w6, -3 uxtb w6, w6 - cbz w6, .L1110 - b .L1109 -.L1115: + cbz w6, .L1140 + b .L1139 +.L1144: cmp w0, 10 -.L1125: - bne .L1109 -.L1110: + bne .L1139 +.L1140: lsl x2, x2, 6 ldrb w2, [x3,x2] cmp w2, 255 - bne .L1116 + bne .L1145 mov w0, 0 -.L1109: +.L1139: ret .size queue_lun_state, .-queue_lun_state .align 2 .global queue_remove_completed_req .type queue_remove_completed_req, %function queue_remove_completed_req: - adrp x0, .LANCHOR0 - add x1, x0, :lo12:.LANCHOR0 - ldrb w2, [x1,3909] + adrp x3, .LANCHOR0 + mov w5, 0 + add x0, x3, :lo12:.LANCHOR0 + mov w11, -1 + add x4, x0, 784 + add x12, x0, 3895 + add x13, x0, 3892 + ldrb w7, [x0,2835] + ldrb w9, [x0,3895] + ldrb w8, [x0,3256] + ldrb w10, [x0,3892] +.L1155: + cmp w7, 255 + beq .L1156 + sbfiz x6, x7, 6, 32 + sxtw x1, w7 + add x2, x4, x6 + ldrb w2, [x2,58] + sub w2, w2, #11 + uxtb w2, w2 + cmp w2, 1 + bls .L1157 + cbz w5, .L1154 + strb w7, [x0,2835] + b .L1154 +.L1157: + lsl x5, x1, 6 + ldrb w7, [x4,x6] + add x2, x4, x5 + strb w11, [x4,x5] + ldrb w5, [x2,59] + cmp w5, 1 + bne .L1160 + ldrh w2, [x2,50] + cbnz w2, .L1168 + mov w2, w10 + mov x5, x13 + b .L1161 +.L1160: + cbz w5, .L1178 +.L1162: + mov w5, 1 + b .L1155 +.L1178: + ldr w2, [x2,36] + cmn w2, #1 + beq .L1162 + mov w2, w9 + mov x5, x12 + b .L1161 +.L1168: + mov w2, w8 + add x5, x0, 3256 +.L1161: cmp w2, 255 - beq .L1127 - add x6, x1, 784 - lsl x5, x2, 6 - add x7, x6, x5 - ldrb w3, [x7,58] - sub w3, w3, #11 - uxtb w3, w3 - cmp w3, 1 - bhi .L1127 - ldrb w3, [x6,x5] - strb w3, [x1,3909] - mov w3, -1 - strb w3, [x6,x5] - ldrb w3, [x7,59] - cmp w3, 1 - bne .L1129 - ldrh w3, [x7,50] - cbnz w3, .L1130 - ldrb w3, [x1,3908] - add x1, x1, 3908 - b .L1131 -.L1130: - ldrb w3, [x1,3272] - add x1, x1, 3272 - b .L1131 -.L1129: - cbnz w3, .L1127 - ldr w3, [x7,36] - cmn w3, #1 - beq .L1127 - ldrb w3, [x1,2904] - add x1, x1, 2904 -.L1131: - cmp w3, 255 - add x0, x0, :lo12:.LANCHOR0 - bne .L1135 - add x0, x0, x2, lsl 6 - ldrb w0, [x0,785] - strb w0, [x1] - b .L1127 -.L1135: - add x0, x0, 784 -.L1142: - mov w1, w3 - sbfiz x3, x3, 6, 32 - ldrb w3, [x0,x3] - cmp w3, 255 - bne .L1142 - add x2, x0, x2, lsl 6 - sbfiz x1, x1, 6, 32 - ldrb w2, [x2,1] - strb w2, [x0,x1] -.L1127: + bne .L1166 + add x3, x3, :lo12:.LANCHOR0 + add x1, x3, x1, lsl 6 + strb w7, [x3,2835] + ldrb w0, [x1,785] + strb w0, [x5] + b .L1154 +.L1166: + mov w5, w2 + sbfiz x2, x2, 6, 32 + ldrb w2, [x4,x2] + cmp w2, 255 + bne .L1166 + add x1, x4, x1, lsl 6 + sbfiz x5, x5, 6, 32 + ldrb w1, [x1,1] + strb w1, [x4,x5] + b .L1162 +.L1156: + cbz w5, .L1154 + add x3, x3, :lo12:.LANCHOR0 + mov w0, -1 + strb w0, [x3,2835] +.L1154: ret .size queue_remove_completed_req, .-queue_remove_completed_req .align 2 @@ -7119,19 +7298,19 @@ pm_alloc_new_blk: ldrh w1, [x2,690] add w1, w1, 1 uxth w0, w1 - ldrb w1, [x3,3292] + ldrb w1, [x3,3276] strh w0, [x2,690] cmp w1, w0 - bls .L1144 + bls .L1180 add x0, x2, x0, sxtw 1 ldrh w1, [x0,672] mov w0, 65535 cmp w1, w0 - bne .L1145 -.L1144: + bne .L1181 +.L1180: adrp x22, .LC113 add x22, x22, :lo12:.LC113 -.L1157: +.L1193: mov w0, 1 add x20, x19, :lo12:.LANCHOR0 bl ftl_alloc_sblk @@ -7143,40 +7322,41 @@ pm_alloc_new_blk: add x1, x1, 672 bl ftl_get_blk_list_in_sblk uxth w0, w0 - cbnz w0, .L1146 + cbnz w0, .L1182 mov w1, w21 mov x0, x22 bl printk - ldr x2, [x20,64] + ldr x2, [x20,584] add x1, x2, x21, uxth 2 ldrb w2, [x1,2] orr w2, w2, -32 strb w2, [x1,2] - b .L1157 -.L1146: + b .L1193 +.L1182: ldr x1, [x20,2864] mov w0, 1 mov w2, 65535 - str w0, [x20,3912] + str w0, [x20,3896] mov x20, 0 strh wzr, [x1,690] -.L1148: +.L1184: add x3, x1, x20, lsl 1 uxth w0, w20 ldrh w3, [x3,416] cmp w3, w2 - beq .L1147 + beq .L1183 add x20, x20, 1 cmp x20, 128 - bne .L1148 + bne .L1184 adrp x0, .LC0 adrp x1, .LANCHOR3 - add x0, x0, :lo12:.LC0 add x1, x1, :lo12:.LANCHOR3 mov w2, 194 + add x0, x0, :lo12:.LC0 bl printk + bl dump_stack mov w0, w20 -.L1147: +.L1183: add x1, x19, :lo12:.LANCHOR0 ldr x1, [x1,2864] add x0, x1, x0, sxtw 1 @@ -7184,7 +7364,7 @@ pm_alloc_new_blk: ldrh w0, [x1,688] add w0, w0, 1 strh w0, [x1,688] -.L1145: +.L1181: add x0, x19, :lo12:.LANCHOR0 ldr x1, [x0,2864] ldrh w0, [x1,690] @@ -7193,18 +7373,19 @@ pm_alloc_new_blk: mov w0, 65533 sub w1, w20, #1 cmp w0, w1, uxth - bcs .L1150 + bcs .L1186 adrp x0, .LC0 adrp x1, .LANCHOR3 - add x0, x0, :lo12:.LC0 add x1, x1, :lo12:.LANCHOR3 mov w2, 199 + add x0, x0, :lo12:.LC0 bl printk -.L1150: + bl dump_stack +.L1186: add x19, x19, :lo12:.LANCHOR0 mov w0, 21 ldr x1, [x19,2864] - ldrh w2, [x19,3356] + ldrh w2, [x19,3340] sub w0, w0, w2 strh wzr, [x1,696] asr w4, w20, w0 @@ -7212,7 +7393,7 @@ pm_alloc_new_blk: strh w4, [x1,694] adrp x1, .LANCHOR2 ldr w1, [x1,#:lo12:.LANCHOR2] - tbz x1, 12, .L1154 + tbz x1, 12, .L1190 mov w2, 1 mov w1, w20 lsl w2, w2, w0 @@ -7222,7 +7403,7 @@ pm_alloc_new_blk: mov w3, w20 uxth w4, w4 bl printk -.L1154: +.L1190: mov w0, 0 ldr x23, [sp,48] ldp x19, x20, [sp,16] @@ -7241,68 +7422,69 @@ pm_select_ram_region: str x19, [sp,16] add x2, x2, :lo12:.LANCHOR0 mov x19, 0 -.L1161: - add x1, x2, 3920 +.L1197: + add x1, x2, 3904 lsl x4, x19, 4 uxth w0, w19 ldrh w4, [x4,x1] cmp w4, w3 - beq .L1160 + beq .L1196 add x19, x19, 1 cmp x19, 32 - bne .L1161 + bne .L1197 mov x0, 0 mov w3, 32768 -.L1163: +.L1199: add x2, x1, x0, lsl 4 uxth w4, w0 ldrh w2, [x2,2] - tbnz x2, 15, .L1162 + tbnz x2, 15, .L1198 cmp w2, w3 - bcs .L1162 + bcs .L1198 mov w3, w2 mov w19, w4 -.L1162: +.L1198: add x0, x0, 1 cmp x0, 32 - bne .L1163 + bne .L1199 cmp w19, 32 mov w0, w19 - bne .L1160 - adrp x0, .LANCHOR4+80 + bne .L1196 + adrp x0, .LANCHOR4+64 mov w2, -1 mov w1, 0 - ldrb w3, [x0,#:lo12:.LANCHOR4+80] + ldrb w3, [x0,#:lo12:.LANCHOR4+64] adrp x0, .LANCHOR0 add x0, x0, :lo12:.LANCHOR0 - add x0, x0, 3920 -.L1165: + add x0, x0, 3904 +.L1201: ldrh w5, [x0,2] cmp w5, w2 - bcs .L1164 + bcs .L1200 ldrh w4, [x0] cmp w4, w3 csel w2, w2, w5, eq cmp w4, w3 csel w19, w19, w1, eq -.L1164: +.L1200: add w1, w1, 1 add x0, x0, 16 uxth w1, w1 cmp w1, 32 - bne .L1165 + bne .L1201 cmp w19, 32 - bne .L1166 + bne .L1202 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 - add x0, x0, :lo12:.LC0 - add x1, x1, 24 mov w2, 297 + add x1, x1, 24 + add x0, x0, :lo12:.LC0 bl printk -.L1166: + bl dump_stack +.L1202: mov w0, w19 -.L1160: +.L1196: ldr x19, [sp,16] ldp x29, x30, [sp], 32 ret @@ -7326,58 +7508,58 @@ flash_lsb_page_tbl_build: add x29, sp, 0 stp x19, x20, [sp,16] adrp x19, .LANCHOR0 - cbnz w0, .L1174 + cbnz w0, .L1210 mov x0, 0 add x2, x19, :lo12:.LANCHOR0 -.L1175: - add x1, x2, 228 +.L1211: + add x1, x2, 4 strh w0, [x1,x0,lsl 1] add x0, x0, 1 cmp x0, 256 - bne .L1175 -.L1181: + bne .L1211 +.L1217: adrp x20, .LANCHOR4 mov w1, 255 add x20, x20, :lo12:.LANCHOR4 mov w2, 1024 - add x0, x20, 84 + add x0, x20, 68 add x19, x19, :lo12:.LANCHOR0 bl ftl_memset mov x0, 0 - b .L1176 -.L1174: + b .L1212 +.L1210: cmp w0, 1 - bne .L1177 + bne .L1213 mov x0, 0 mov w4, 3 mov w5, 2 add x3, x19, :lo12:.LANCHOR0 -.L1180: +.L1216: cmp x0, 3 uxth w2, w0 mov w1, w2 - bls .L1178 + bls .L1214 ubfiz w1, w2, 1, 15 and w2, w2, 1 cmp w2, wzr csel w2, w4, w5, ne sub w1, w1, w2 uxth w1, w1 -.L1178: - add x2, x3, 228 +.L1214: + add x2, x3, 4 strh w1, [x2,x0,lsl 1] add x0, x0, 1 cmp x0, 256 - bne .L1180 - b .L1181 -.L1177: + bne .L1216 + b .L1217 +.L1213: cmp w0, 2 - bne .L1182 + bne .L1218 mov w1, 65535 mov x0, 0 add x4, x19, :lo12:.LANCHOR0 -.L1184: - add x3, x4, 228 +.L1220: + add x3, x4, 4 cmp x0, 1 uxth w2, w0 csel w2, w1, w2, hi @@ -7386,43 +7568,43 @@ flash_lsb_page_tbl_build: add x0, x0, 1 cmp x0, 256 uxth w1, w1 - bne .L1184 - b .L1181 -.L1182: + bne .L1220 + b .L1217 +.L1218: cmp w0, 3 - bne .L1185 + bne .L1221 mov x0, 0 mov w4, 5 mov w5, 4 add x3, x19, :lo12:.LANCHOR0 -.L1188: +.L1224: cmp x0, 5 uxth w2, w0 mov w1, w2 - bls .L1186 + bls .L1222 ubfiz w1, w2, 1, 15 and w2, w2, 1 cmp w2, wzr csel w2, w4, w5, ne sub w1, w1, w2 uxth w1, w1 -.L1186: - add x2, x3, 228 +.L1222: + add x2, x3, 4 strh w1, [x2,x0,lsl 1] add x0, x0, 1 cmp x0, 256 - bne .L1188 - b .L1181 -.L1185: + bne .L1224 + b .L1217 +.L1221: cmp w0, 4 - bne .L1189 + bne .L1225 add x2, x19, :lo12:.LANCHOR0 mov w5, 7 - add x1, x2, 228 + add x1, x2, 4 mov w4, 6 strh w0, [x1,8] mov w0, 5 - strh wzr, [x2,228] + strh wzr, [x2,4] mov w2, 1 strh w0, [x1,10] mov w0, 7 @@ -7435,7 +7617,7 @@ flash_lsb_page_tbl_build: strh w0, [x1,14] mov w0, 8 strh w2, [x1,6] -.L1191: +.L1227: and w3, w0, 1 ubfiz w2, w0, 1, 15 add w0, w0, 1 @@ -7446,48 +7628,48 @@ flash_lsb_page_tbl_build: sub w2, w2, w3 cmp w0, 256 strh w2, [x1,14] - bne .L1191 - b .L1181 -.L1189: + bne .L1227 + b .L1217 +.L1225: cmp w0, 5 - bne .L1192 + bne .L1228 mov x0, 0 add x2, x19, :lo12:.LANCHOR0 -.L1193: - add x1, x2, 228 +.L1229: + add x1, x2, 4 strh w0, [x1,x0,lsl 1] add x0, x0, 1 cmp x0, 16 - bne .L1193 + bne .L1229 mov x0, 0 -.L1194: +.L1230: add x2, x1, x0 add w3, w0, 16 add x0, x0, 2 cmp x0, 480 strh w3, [x2,32] - bne .L1194 - b .L1181 -.L1192: + bne .L1230 + b .L1217 +.L1228: cmp w0, 8 - bne .L1181 + bne .L1217 mov x0, 0 add x2, x19, :lo12:.LANCHOR0 -.L1195: - add x1, x2, 228 +.L1231: + add x1, x2, 4 strh w0, [x0,x1] add x0, x0, 2 cmp x0, 512 - bne .L1195 - b .L1181 -.L1176: - add x1, x19, 228 - add x2, x20, 84 + bne .L1231 + b .L1217 +.L1212: + add x1, x19, 4 + add x2, x20, 68 ldrh w1, [x0,x1] add x0, x0, 2 cmp x0, 512 strh w1, [x2,w1,sxtw 1] - bne .L1176 + bne .L1212 ldp x19, x20, [sp,16] ldp x29, x30, [sp], 32 ret @@ -7505,14 +7687,14 @@ flash_die_info_init: ldr w0, [x19,#:lo12:.LANCHOR2] stp x25, x26, [sp,64] stp x27, x28, [sp,80] - tbz x0, 12, .L1212 + tbz x0, 12, .L1248 adrp x1, .LANCHOR3 adrp x0, .LC4 add x1, x1, :lo12:.LANCHOR3 add x0, x0, :lo12:.LC4 add x1, x1, 48 bl printk -.L1212: +.L1248: add x25, x19, :lo12:.LANCHOR2 adrp x21, .LANCHOR0 add x20, x21, :lo12:.LANCHOR0 @@ -7523,74 +7705,74 @@ flash_die_info_init: mov x24, 0 ldrb w1, [x25,388] add x27, x20, 748 - strh w0, [x20,226] + strh w0, [x20,2] add x25, x25, 377 ldrh w0, [x25,9] - strb wzr, [x20,114] + strb wzr, [x20,633] sdiv w0, w0, w1 mov w1, 0 - strh w0, [x26,1108] - add x0, x20, 216 + strh w0, [x26,1092] + add x0, x20, 736 bl ftl_memset - add x0, x26, 1112 + add x0, x26, 1096 mov w1, 0 mov w2, 32 bl ftl_memset ldrb w23, [x25,-1] -.L1214: +.L1250: mov x0, x25 add x1, x27, x24, lsl 3 mov w2, w23 bl flash_mem_cmp8 - cbnz w0, .L1213 - ldrb w1, [x20,114] - add x2, x26, 1112 + cbnz w0, .L1249 + ldrb w1, [x20,633] + add x2, x26, 1096 str w0, [x2,w1,sxtw 2] add w0, w1, 1 add x1, x20, x1, sxtw - strb w0, [x20,114] - strb w24, [x1,216] -.L1213: + strb w0, [x20,633] + strb w24, [x1,736] +.L1249: add x24, x24, 1 cmp x24, 4 - bne .L1214 + bne .L1250 add x0, x19, :lo12:.LANCHOR2 add x1, x0, 376 ldrb w2, [x1,8] cmp w2, 2 - beq .L1215 -.L1219: + beq .L1251 +.L1255: add x19, x19, :lo12:.LANCHOR2 add x21, x21, :lo12:.LANCHOR0 add x22, x22, :lo12:.LANCHOR4 ldp x23, x24, [sp,48] ldrb w1, [x19,389] - ldrb w0, [x21,114] + ldrb w0, [x21,633] ldp x25, x26, [sp,64] ldp x27, x28, [sp,80] mul w0, w0, w1 ldrh w1, [x19,390] ldp x19, x20, [sp,16] mul w0, w0, w1 - strh w0, [x22,1144] + strh w0, [x22,1128] ldp x21, x22, [sp,32] ldp x29, x30, [sp], 112 ret -.L1215: +.L1251: add x24, x21, :lo12:.LANCHOR0 ldrh w20, [x1,14] ldrb w27, [x1,23] mov x25, 0 and w20, w20, 65280 add x26, x0, 377 - ldrh w2, [x24,226] + ldrh w2, [x24,2] add x3, x24, 748 add x4, x22, :lo12:.LANCHOR4 mul w20, w20, w2 ldrb w2, [x1,13] mul w20, w20, w2 lsl w28, w20, 1 -.L1218: +.L1254: add x1, x3, x25, lsl 3 mov x0, x26 mov w2, w23 @@ -7599,21 +7781,21 @@ flash_die_info_init: bl flash_mem_cmp8 ldr x3, [x29,104] ldr x4, [x29,96] - cbnz w0, .L1216 - ldrb w1, [x24,114] - add x0, x4, 1112 + cbnz w0, .L1252 + ldrb w1, [x24,633] + add x0, x4, 1096 cmp w27, wzr csel w2, w20, w28, eq str w2, [x0,w1,sxtw 2] add w0, w1, 1 add x1, x24, x1, sxtw - strb w0, [x24,114] - strb w25, [x1,216] -.L1216: + strb w0, [x24,633] + strb w25, [x1,736] +.L1252: add x25, x25, 1 cmp x25, 4 - bne .L1218 - b .L1219 + bne .L1254 + b .L1255 .size flash_die_info_init, .-flash_die_info_init .align 2 .global lpa_hash_init @@ -7626,13 +7808,13 @@ lpa_hash_init: str x19, [sp,16] adrp x19, .LANCHOR0 add x19, x19, :lo12:.LANCHOR0 - add x0, x19, 3376 + add x0, x19, 3360 bl ftl_memset - ldrh w0, [x19,3316] + ldrh w0, [x19,3300] mov w1, 255 - ldrb w2, [x19,3292] + ldrb w2, [x19,3276] mul w2, w0, w2 - ldr x0, [x19,3896] + ldr x0, [x19,3880] lsl w2, w2, 2 bl ftl_memset ldr x19, [sp,16] @@ -7648,52 +7830,52 @@ lpa_rebuild_hash: add x29, sp, 0 ldr w0, [x0,#:lo12:.LANCHOR2] str x19, [sp,16] - tbz x0, 12, .L1230 + tbz x0, 12, .L1266 adrp x1, .LANCHOR3 adrp x0, .LC115 add x1, x1, :lo12:.LANCHOR3 add x0, x0, :lo12:.LC115 add x1, x1, 72 - mov w2, 220 + mov w2, 222 mov w3, 0 bl printk -.L1230: +.L1266: adrp x19, .LANCHOR0 mov w1, 255 add x19, x19, :lo12:.LANCHOR0 mov w2, 512 - add x0, x19, 3376 + add x0, x19, 3360 bl ftl_memset - ldrh w0, [x19,3316] + ldrh w0, [x19,3300] mov w1, 255 - ldrb w2, [x19,3292] + ldrb w2, [x19,3276] mul w2, w0, w2 - ldr x0, [x19,3896] + ldr x0, [x19,3880] lsl w2, w2, 2 bl ftl_memset mov w0, 0 -.L1231: - ldrh w1, [x19,3316] - ldrb w2, [x19,3292] +.L1267: + ldrh w1, [x19,3300] + ldrb w2, [x19,3276] mul w1, w1, w2 cmp w0, w1, lsl 1 - bge .L1240 + bge .L1276 uxtw x2, w0 - ldr x1, [x19,3888] + ldr x1, [x19,3872] ldr w1, [x1,x2,lsl 2] cmn w1, #1 - beq .L1232 + beq .L1268 uxtb w1, w1 - add x3, x19, 3376 + add x3, x19, 3360 ldrh w4, [x3,w1,sxtw 1] strh w0, [x3,w1,sxtw 1] - ldr x1, [x19,3896] + ldr x1, [x19,3880] strh w4, [x1,x2,lsl 1] -.L1232: +.L1268: add w0, w0, 1 uxth w0, w0 - b .L1231 -.L1240: + b .L1267 +.L1276: ldr x19, [sp,16] ldp x29, x30, [sp], 32 ret @@ -7716,9 +7898,9 @@ zftl_read_flash_info: add x1, x1, 376 mov w5, 1 ldrb w2, [x1,9] - ldrh w3, [x0,226] + ldrh w3, [x0,2] mul w2, w2, w3 - ldrb w3, [x0,204] + ldrb w3, [x0,724] strb w3, [x19,7] uxth w2, w2 strh w2, [x19,4] @@ -7733,23 +7915,23 @@ zftl_read_flash_info: ldrb w2, [x1,9] strb w2, [x19,6] mov w2, 32 - ldrb w4, [x0,114] + ldrb w4, [x0,633] ldrb w1, [x1,7] strb w1, [x19,9] mov x1, 0 strb w2, [x19,8] -.L1242: +.L1278: cmp w4, w1, uxtb - bls .L1244 - add x2, x0, 216 + bls .L1280 + add x2, x0, 736 ldrb w3, [x19,10] ldrb w2, [x1,x2] add x1, x1, 1 lsl w2, w5, w2 orr w2, w2, w3 strb w2, [x19,10] - b .L1242 -.L1244: + b .L1278 +.L1280: ldr x19, [sp,16] ldp x29, x30, [sp], 32 ret @@ -7768,23 +7950,23 @@ gc_init: add x19, x19, :lo12:.LANCHOR0 add x20, x20, :lo12:.LANCHOR4 str x21, [sp,32] - add x21, x19, 2912 + add x21, x19, 2896 mov x0, x21 - strb wzr, [x19,3289] - strb wzr, [x20,1146] - str wzr, [x20,1148] - strh wzr, [x19,3320] + strb wzr, [x19,3273] + strb wzr, [x20,1130] + str wzr, [x20,1132] + strh wzr, [x19,3304] bl ftl_memset - ldrh w1, [x19,3316] + ldrh w1, [x19,3300] mov w0, -1 - ldrb w3, [x19,3292] - strh w0, [x19,2912] + ldrb w3, [x19,3276] + strh w0, [x19,2896] lsr w0, w1, 2 lsr w2, w1, 1 - strh w0, [x19,2948] + strh w0, [x19,2932] strh w0, [x19,2878] - ldrh w0, [x19,3290] - strh w2, [x19,2950] + ldrh w0, [x19,3274] + strh w2, [x19,2934] mul w2, w1, w3 mul w0, w0, w3 strh w1, [x19,2880] @@ -7793,36 +7975,36 @@ gc_init: sub w4, w2, #32 strh w2, [x19,2874] strh w4, [x19,2876] - strh wzr, [x19,3318] - strh wzr, [x19,3312] - strh wzr, [x19,3314] - str xzr, [x19,2920] + strh wzr, [x19,3302] + strh wzr, [x19,3296] + strh wzr, [x19,3298] + str xzr, [x19,2904] bl ftl_malloc - ldrb w1, [x19,3292] - str x0, [x20,1152] - ldrh w0, [x19,3290] + ldrb w1, [x19,3276] + str x0, [x20,1136] + ldrh w0, [x19,3274] mul w0, w0, w1 lsl w0, w0, 2 bl ftl_malloc - str x0, [x20,1160] - ldrh w1, [x19,3290] - ldrb w0, [x19,3292] + str x0, [x20,1144] + ldrh w1, [x19,3274] + ldrb w0, [x19,3276] mul w0, w1, w0 bl ftl_malloc - str x0, [x19,3280] - ldrb w1, [x19,3292] - ldrh w0, [x19,3290] - mul w0, w0, w1 - lsl w0, w0, 2 - bl ftl_malloc str x0, [x19,3264] - ldrb w1, [x19,3292] - ldrh w0, [x19,3290] + ldrb w1, [x19,3276] + ldrh w0, [x19,3274] mul w0, w0, w1 lsl w0, w0, 2 bl ftl_malloc - str x0, [x20,1168] - ldrh w0, [x19,3322] + str x0, [x19,3248] + ldrb w1, [x19,3276] + ldrh w0, [x19,3274] + mul w0, w0, w1 + lsl w0, w0, 2 + bl ftl_malloc + str x0, [x20,1152] + ldrh w0, [x19,3306] ldr x21, [sp,32] lsr w0, w0, 2 strh w0, [x19,2872] @@ -7847,24 +8029,24 @@ gc_static_wearleveling: ldr w1, [x0,32] mov w0, 10240 cmp w1, w0 - bls .L1247 + bls .L1283 bl ftl_tmp_into_update -.L1247: +.L1283: add x3, x19, :lo12:.LANCHOR0 - ldr x0, [x3,88] + ldr x0, [x3,608] ldr w1, [x0,568] ldr w2, [x0,12] add w1, w1, 860160 add w1, w1, 3840 cmp w2, w1 - bhi .L1248 + bhi .L1284 ldr x3, [x3,2864] ldr w1, [x0,572] ldr w3, [x3,36] add w1, w1, 32 cmp w3, w1 - bls .L1298 -.L1248: + bls .L1334 +.L1284: add x1, x19, :lo12:.LANCHOR0 mov w22, 0 mov w20, 65535 @@ -7885,82 +8067,82 @@ gc_static_wearleveling: adrp x10, .LANCHOR2 add x8, x8, :lo12:.LC116 ldrh w23, [x1,134] -.L1250: +.L1286: add x4, x19, :lo12:.LANCHOR0 - ldrh w0, [x4,56] + ldrh w0, [x4,576] cmp w0, w23 - bls .L1359 + bls .L1395 uxtw x7, w23 - ldr x0, [x4,64] + ldr x0, [x4,584] lsl x1, x7, 2 add x6, x0, x1 ldrb w2, [x6,2] and w3, w2, 224 cmp w3, 224 - beq .L1251 - tbz x2, 3, .L1252 + beq .L1287 + tbz x2, 3, .L1288 ldrh w3, [x0,x1] ldr w2, [x0,x1] and w3, w3, 2047 ubfx x2, x2, 11, 8 - b .L1253 -.L1252: + b .L1289 +.L1288: tst w2, 24 - bne .L1254 + bne .L1290 ldrh w3, [x0,x1] mov w2, 65535 and w3, w3, 2047 - b .L1253 -.L1254: + b .L1289 +.L1290: ldr w2, [x0,x1] mov w3, 65535 ubfx x2, x2, 11, 8 - b .L1255 -.L1253: + b .L1291 +.L1289: ldr w4, [x29,136] add w26, w26, 1 cmp w20, w3 add w4, w4, w3 str w4, [x29,136] uxth w26, w26 - bls .L1297 + bls .L1333 add x4, x19, :lo12:.LANCHOR0 mov w20, w3 - ldr x4, [x4,88] + ldr x4, [x4,608] strh w23, [x4,586] -.L1297: +.L1333: cmp w25, w3 - bcs .L1256 + bcs .L1292 mov w22, w23 mov w25, w3 -.L1256: +.L1292: cmp w2, w9 - beq .L1257 -.L1255: + beq .L1293 +.L1291: ldr w4, [x29,140] add w27, w27, 1 cmp w21, w2 add w4, w4, w2 str w4, [x29,140] uxth w27, w27 - bls .L1258 + bls .L1294 add x4, x19, :lo12:.LANCHOR0 mov w21, w2 - ldr x4, [x4,88] + ldr x4, [x4,608] strh w23, [x4,584] -.L1258: +.L1294: cmp w24, w2 - bcs .L1257 + bcs .L1293 mov w28, w23 mov w24, w2 -.L1257: +.L1293: cmp w3, 9 - bls .L1300 + bls .L1336 cmp w2, 9 - bhi .L1251 -.L1300: + bhi .L1287 +.L1336: ldr w2, [x10,#:lo12:.LANCHOR2] - tbz x2, 8, .L1251 + tbz x2, 8, .L1287 ldrh w2, [x0,x1] ldr w3, [x0,x1] add x0, x19, :lo12:.LANCHOR0 @@ -7968,7 +8150,7 @@ gc_static_wearleveling: mov w1, w23 ldrb w6, [x6,3] and w2, w2, 2047 - ldr x11, [x0,80] + ldr x11, [x0,600] ubfx x4, x5, 3, 2 mov x0, x8 ubfx x3, x3, 11, 8 @@ -7981,12 +8163,12 @@ gc_static_wearleveling: ldr x10, [x29,112] ldr x9, [x29,120] ldr x8, [x29,128] -.L1251: +.L1287: add w23, w23, 1 uxth w23, w23 - b .L1250 -.L1359: - ldr x0, [x4,88] + b .L1286 +.L1395: + ldr x0, [x4,608] mov w1, 255 mov w2, 128 str x4, [x29,128] @@ -7996,14 +8178,14 @@ gc_static_wearleveling: bl ftl_memset ldr x4, [x29,128] ldr w2, [x23,#:lo12:.LANCHOR2] - ldr x0, [x4,88] - ldr x3, [x4,64] + ldr x0, [x4,608] + ldr x3, [x4,584] ldrh w7, [x0,586] lsl x0, x7, 2 mov x1, x7 add x8, x3, x0 - tbz x2, 10, .L1261 - ldr x9, [x4,80] + tbz x2, 10, .L1297 + ldr x9, [x4,600] ldrh w2, [x3,x0] ldrb w5, [x8,2] ldr w3, [x3,x0] @@ -8018,53 +8200,53 @@ gc_static_wearleveling: str x8, [x29,128] bl printk ldr x8, [x29,128] -.L1261: +.L1297: ldrb w0, [x8,2] - tbz x0, 3, .L1262 + tbz x0, 3, .L1298 ldrb w0, [x8,2] and w1, w0, 192 cmp w1, 64 - bne .L1263 + bne .L1299 add x3, x19, :lo12:.LANCHOR0 mov w1, 0 mov w2, 1 str x3, [x29,128] - ldr x0, [x3,88] + ldr x0, [x3,608] ldrh w0, [x0,586] bl gc_add_sblk ldr x3, [x29,128] mov w0, 1 - strh w0, [x3,3230] - b .L1262 -.L1263: + strh w0, [x3,3214] + b .L1298 +.L1299: tst w0, 224 - bne .L1262 + bne .L1298 add x1, x19, :lo12:.LANCHOR0 mov w2, 65535 - ldr x0, [x1,88] + ldr x0, [x1,608] ldrh w3, [x0,590] cmp w3, w2 - bne .L1262 + bne .L1298 ldrh w0, [x0,586] str x1, [x29,128] bl zftl_remove_free_node ldr x1, [x29,128] - ldr x0, [x1,88] + ldr x0, [x1,608] ldrh w1, [x0,586] strh w1, [x0,590] mov w1, -1 strh w1, [x0,586] -.L1262: +.L1298: add x0, x19, :lo12:.LANCHOR0 ldr w2, [x23,#:lo12:.LANCHOR2] - ldr x1, [x0,88] - ldr x4, [x0,64] + ldr x1, [x0,608] + ldr x4, [x0,584] ldrh w7, [x1,584] lsl x3, x7, 2 mov x1, x7 add x8, x4, x3 - tbz x2, 10, .L1264 - ldr x9, [x0,80] + tbz x2, 10, .L1300 + ldr x9, [x0,600] adrp x0, .LC118 ldrh w2, [x4,x3] add x0, x0, :lo12:.LC118 @@ -8079,49 +8261,49 @@ gc_static_wearleveling: str x8, [x29,128] bl printk ldr x8, [x29,128] -.L1264: +.L1300: ldrb w0, [x8,2] - tbz x0, 3, .L1265 + tbz x0, 3, .L1301 ldrb w0, [x8,2] and w1, w0, 192 cmp w1, 64 - bne .L1266 + bne .L1302 add x3, x19, :lo12:.LANCHOR0 mov w1, 0 mov w2, 1 str x3, [x29,128] - ldr x0, [x3,88] + ldr x0, [x3,608] ldrh w0, [x0,584] bl gc_add_sblk ldr x3, [x29,128] mov w0, 1 - strh w0, [x3,3230] - b .L1265 -.L1266: + strh w0, [x3,3214] + b .L1301 +.L1302: tst w0, 224 - bne .L1265 + bne .L1301 add x1, x19, :lo12:.LANCHOR0 mov w2, 65535 - ldr x0, [x1,88] + ldr x0, [x1,608] ldrh w3, [x0,588] cmp w3, w2 - bne .L1265 + bne .L1301 ldrh w0, [x0,584] str x1, [x29,128] bl zftl_remove_free_node ldr x1, [x29,128] - ldr x0, [x1,88] + ldr x0, [x1,608] ldrh w1, [x0,584] strh w1, [x0,588] mov w1, -1 strh w1, [x0,584] -.L1265: +.L1301: add x4, x19, :lo12:.LANCHOR0 ldr w0, [x23,#:lo12:.LANCHOR2] - ldr x1, [x4,64] - tbz x0, 10, .L1267 + ldr x1, [x4,584] + tbz x0, 10, .L1303 uxtw x7, w22 - ldr x8, [x4,80] + ldr x8, [x4,600] lsl x0, x7, 2 add x6, x1, x0 ldrh w7, [x8,x7,lsl 1] @@ -8137,13 +8319,13 @@ gc_static_wearleveling: ubfx x3, x3, 11, 8 ubfx x5, x5, 5, 3 bl printk -.L1267: +.L1303: add x4, x19, :lo12:.LANCHOR0 ldr w0, [x23,#:lo12:.LANCHOR2] - ldr x1, [x4,64] - tbz x0, 10, .L1268 + ldr x1, [x4,584] + tbz x0, 10, .L1304 uxtw x7, w28 - ldr x8, [x4,80] + ldr x8, [x4,600] lsl x0, x7, 2 add x6, x1, x0 ldrh w7, [x8,x7,lsl 1] @@ -8159,7 +8341,7 @@ gc_static_wearleveling: ubfx x3, x3, 11, 8 ubfx x5, x5, 5, 3 bl printk -.L1268: +.L1304: ldr w1, [x29,136] add x0, x19, :lo12:.LANCHOR0 udiv w3, w1, w26 @@ -8173,7 +8355,7 @@ gc_static_wearleveling: strh w3, [x0,88] strh w4, [x0,90] ldr w0, [x23,#:lo12:.LANCHOR2] - tbz x0, 10, .L1269 + tbz x0, 10, .L1305 adrp x0, .LC121 mov w1, w26 add x0, x0, :lo12:.LC121 @@ -8181,37 +8363,37 @@ gc_static_wearleveling: uxth w3, w3 uxth w4, w4 bl printk -.L1269: +.L1305: ldr w0, [x23,#:lo12:.LANCHOR2] adrp x28, .LANCHOR4 - tbz x0, 10, .L1270 + tbz x0, 10, .L1306 add x6, x28, :lo12:.LANCHOR4 adrp x0, .LC122 add x0, x0, :lo12:.LC122 mov w1, w20 mov w2, w21 mov w3, w25 - ldrh w5, [x6,1176] + ldrh w5, [x6,1160] mov w4, w24 - ldrh w6, [x6,1178] + ldrh w6, [x6,1162] bl printk -.L1270: +.L1306: add x1, x28, :lo12:.LANCHOR4 sub w0, w24, w21 str w0, [x29,140] - ldrh w0, [x1,1178] + ldrh w0, [x1,1162] ldr w2, [x29,140] cmp w2, w0 - bgt .L1271 - ldrh w1, [x1,1176] + bgt .L1307 + ldrh w1, [x1,1160] sub w0, w25, w20 cmp w0, w1 - ble .L1299 -.L1271: + ble .L1335 +.L1307: add x0, x19, :lo12:.LANCHOR0 mov w26, 0 mov w22, w26 - ldr x1, [x0,88] + ldr x1, [x0,608] ldr x0, [x0,2864] ldrh w24, [x1,580] ldrh w27, [x0,134] @@ -8223,13 +8405,13 @@ gc_static_wearleveling: str x0, [x29,128] add x0, x25, :lo12:.LC123 str x0, [x29,120] -.L1273: +.L1309: add x1, x19, :lo12:.LANCHOR0 - ldrh w0, [x1,56] + ldrh w0, [x1,576] cmp w27, w0 - bcs .L1282 + bcs .L1318 add w7, w24, 1 - ldr x4, [x1,64] + ldr x4, [x1,584] uxth w24, w7 cmp w24, w0 csel w24, w24, wzr, cc @@ -8239,32 +8421,32 @@ gc_static_wearleveling: ldrb w0, [x0,2] and w2, w0, 224 cmp w2, 224 - beq .L1275 + beq .L1311 tst w0, 192 - beq .L1275 + beq .L1311 ubfx x0, x0, 3, 2 cmp w2, 160 and w1, w0, 1 - tbnz x0, 0, .L1357 + tbnz x0, 0, .L1393 cmp w0, 2 -.L1357: +.L1393: add x0, x28, :lo12:.LANCHOR4 - bne .L1278 - ldrh w0, [x0,1178] + bne .L1314 + ldrh w0, [x0,1162] ldr w2, [x29,140] cmp w2, w0 - ble .L1279 + ble .L1315 ldr w0, [x4,x3] add w2, w21, 2 ubfx x0, x0, 11, 8 cmp w0, w2 - ble .L1280 - cbz w1, .L1279 + ble .L1316 + cbz w1, .L1315 ldrh w0, [x4,x3] and w0, w0, 2047 cmp w0, w20 - bgt .L1279 -.L1280: + bgt .L1315 +.L1316: mov w1, 0 mov w0, w24 mov w2, 1 @@ -8274,37 +8456,37 @@ gc_static_wearleveling: bl gc_add_sblk add x0, x19, :lo12:.LANCHOR0 mov w1, 1 - add x9, x0, 2912 + add x9, x0, 2896 ldr x3, [x29,112] ldr x4, [x29,104] - strh w1, [x0,3230] + strh w1, [x0,3214] ldr w1, [x23,#:lo12:.LANCHOR2] - tbz x1, 10, .L1279 - ldr x1, [x0,64] - ldr x10, [x0,80] + tbz x1, 10, .L1315 + ldr x1, [x0,584] + ldr x10, [x0,600] add x1, x1, x3 ldrh w5, [x4,x3] ldr w6, [x4,x3] ldr x0, [x29,120] ldrb w2, [x1,2] - b .L1358 -.L1278: - ldrh w0, [x0,1176] + b .L1394 +.L1314: + ldrh w0, [x0,1160] ldr w2, [x29,136] cmp w2, w0 - ble .L1279 + ble .L1315 ldrh w0, [x4,x3] add w2, w20, 2 and w0, w0, 2047 cmp w0, w2 - ble .L1281 - cbz w1, .L1279 + ble .L1317 + cbz w1, .L1315 ldr w0, [x4,x3] add w1, w21, 2 ubfx x0, x0, 11, 8 cmp w0, w1 - bgt .L1279 -.L1281: + bgt .L1315 +.L1317: mov w1, 0 mov w0, w24 mov w2, 1 @@ -8314,20 +8496,20 @@ gc_static_wearleveling: bl gc_add_sblk add x0, x19, :lo12:.LANCHOR0 mov w1, 1 - add x9, x0, 2912 + add x9, x0, 2896 ldr x3, [x29,112] ldr x4, [x29,104] - strh w1, [x0,3230] + strh w1, [x0,3214] ldr w1, [x23,#:lo12:.LANCHOR2] - tbz x1, 10, .L1279 - ldr x1, [x0,64] - ldr x10, [x0,80] + tbz x1, 10, .L1315 + ldr x1, [x0,584] + ldr x10, [x0,600] add x1, x1, x3 ldrh w5, [x4,x3] ldr w6, [x4,x3] ldr x0, [x29,128] ldrb w2, [x1,2] -.L1358: +.L1394: ldrh w3, [x10,x25,lsl 1] mov w1, w24 ldrh w4, [x9,56] @@ -8335,122 +8517,122 @@ gc_static_wearleveling: and w5, w5, 2047 ubfx x6, x6, 11, 8 bl printk -.L1279: +.L1315: cmp w26, 4 - bhi .L1282 + bhi .L1318 cmp w22, 4 - bhi .L1282 -.L1275: + bhi .L1318 +.L1311: add w27, w27, 1 uxth w27, w27 - b .L1273 -.L1282: + b .L1309 +.L1318: add x0, x19, :lo12:.LANCHOR0 - ldr x0, [x0,88] + ldr x0, [x0,608] str w24, [x0,580] - b .L1272 -.L1299: + b .L1308 +.L1335: mov w26, 0 mov w22, w26 -.L1272: - cbz w21, .L1285 +.L1308: + cbz w21, .L1321 add x0, x19, :lo12:.LANCHOR0 ldr x0, [x0,2864] ldrh w0, [x0,134] -.L1286: +.L1322: add x1, x19, :lo12:.LANCHOR0 - ldrh w2, [x1,56] + ldrh w2, [x1,576] cmp w2, w0 - bls .L1360 + bls .L1396 ubfiz x3, x0, 2, 16 - ldr x4, [x1,64] + ldr x4, [x1,584] add x5, x4, x3 ldr w1, [x4,x3] ubfx x2, x1, 11, 8 cmp w2, w21 - bcc .L1287 + bcc .L1323 ldrb w5, [x5,2] tst w5, 24 - beq .L1287 + beq .L1323 sub w2, w2, w21 bfi w1, w2, 11, 8 str w1, [x4,x3] -.L1287: +.L1323: add w0, w0, 1 uxth w0, w0 - b .L1286 -.L1360: + b .L1322 +.L1396: ldr x0, [x1,2864] ldrh w1, [x0,72] add w1, w21, w1 strh w1, [x0,72] ldrh w1, [x0,98] cmp w1, w21 - bls .L1285 + bls .L1321 sub w21, w1, w21 strh w21, [x0,98] -.L1285: - cbz w20, .L1291 +.L1321: + cbz w20, .L1327 add x0, x19, :lo12:.LANCHOR0 ldr x0, [x0,2864] ldrh w0, [x0,134] -.L1292: +.L1328: add x1, x19, :lo12:.LANCHOR0 - ldrh w2, [x1,56] + ldrh w2, [x1,576] cmp w2, w0 - bls .L1361 + bls .L1397 ubfiz x3, x0, 2, 16 - ldr x4, [x1,64] + ldr x4, [x1,584] add x5, x4, x3 ldrh w1, [x4,x3] and w2, w1, 2047 cmp w2, w20 - blt .L1293 + blt .L1329 ldrb w5, [x5,2] and w5, w5, 24 cmp w5, 16 - beq .L1293 + beq .L1329 sub w2, w2, w20 bfi w1, w2, 0, 11 strh w1, [x4,x3] -.L1293: +.L1329: add w0, w0, 1 uxth w0, w0 - b .L1292 -.L1361: + b .L1328 +.L1397: ldr x0, [x1,2864] ldrh w1, [x0,74] add w1, w20, w1 strh w1, [x0,74] ldrh w1, [x0,96] cmp w1, w20 - bls .L1291 + bls .L1327 sub w20, w1, w20 strh w20, [x0,96] -.L1291: +.L1327: mov w1, 5 mov w0, 0 bl zftl_get_gc_node uxth w1, w0 mov w2, 65535 cmp w1, w2 - beq .L1249 + beq .L1285 add x19, x19, :lo12:.LANCHOR0 ubfiz x1, x1, 1, 16 - ldr x2, [x19,80] + ldr x2, [x19,600] ldrh w2, [x2,x1] - ldrh w1, [x19,3316] + ldrh w1, [x19,3300] cmp w2, w1 - bhi .L1249 + bhi .L1285 mov w1, 0 mov w2, 1 add w22, w22, 1 bl gc_add_sblk - b .L1249 -.L1298: + b .L1285 +.L1334: mov w26, 0 mov w22, w26 -.L1249: +.L1285: add w0, w26, w22 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -8476,25 +8658,25 @@ zftl_sblk_list_init: stp x27, x28, [sp,80] mov w24, 6 mov w23, 32768 - ldrh w2, [x19,56] + ldrh w2, [x19,576] adrp x26, .LC125 - ldr x0, [x19,8] + ldr x0, [x19,528] mov w25, -1 add x26, x26, :lo12:.LC125 mul w2, w2, w24 bl ftl_memset - ldrh w22, [x19,3290] + ldrh w22, [x19,3274] mov w0, 16 - strh w0, [x19,3352] - ldrb w0, [x19,3292] - str xzr, [x19,3328] - str xzr, [x19,3336] + strh w0, [x19,3336] + ldrb w0, [x19,3276] + str xzr, [x19,3312] + str xzr, [x19,3320] mul w22, w0, w22 - str xzr, [x19,3344] - str xzr, [x19,3304] + str xzr, [x19,3328] + str xzr, [x19,3288] sdiv w22, w23, w22 - str xzr, [x19,96] - str xzr, [x19,3296] + str xzr, [x19,616] + str xzr, [x19,3280] strh wzr, [x19,2844] strh wzr, [x19,2846] strh wzr, [x19,2848] @@ -8506,159 +8688,159 @@ zftl_sblk_list_init: ldr x0, [x19,2864] ldrsh w19, [x0,134] strh wzr, [x0,146] -.L1363: +.L1399: add x0, x21, :lo12:.LANCHOR0 - ldrh w1, [x0,56] + ldrh w1, [x0,576] cmp w19, w1 - bge .L1393 + bge .L1429 sxtw x22, w19 - ldr x27, [x0,64] + ldr x27, [x0,584] ldr w1, [x29,108] add x27, x27, x22, lsl 2 ldrb w2, [x27,3] - cbz w2, .L1364 - ldrb w5, [x0,3292] - ldrh w6, [x0,3290] + cbz w2, .L1400 + ldrb w5, [x0,3276] + ldrh w6, [x0,3274] ldr x4, [x0,2864] mov w0, 0 mov w1, w0 -.L1365: +.L1401: cmp w0, w5 - bge .L1394 + bge .L1430 ldrb w2, [x27,3] asr w2, w2, w0 - tbnz x2, 0, .L1366 + tbnz x2, 0, .L1402 add w1, w6, w1 sxth w1, w1 - b .L1367 -.L1366: + b .L1403 +.L1402: ldrh w2, [x4,146] add w2, w2, 1 strh w2, [x4,146] -.L1367: +.L1403: add w0, w0, 1 - b .L1365 -.L1394: - cbz w1, .L1369 + b .L1401 +.L1430: + cbz w1, .L1405 sdiv w1, w23, w1 add w1, w1, 1 sxth w1, w1 - b .L1364 -.L1369: + b .L1400 +.L1405: ldrb w0, [x27,2] orr w0, w0, -32 strb w0, [x27,2] add x0, x21, :lo12:.LANCHOR0 - ldr x0, [x0,80] + ldr x0, [x0,600] strh w25, [x0,x22,lsl 1] -.L1364: +.L1400: add x20, x21, :lo12:.LANCHOR0 smull x0, w19, w24 - ldr x2, [x20,8] + ldr x2, [x20,528] add x2, x2, x0 strh w1, [x2,4] - ldr x1, [x20,8] + ldr x1, [x20,528] add x2, x1, x0 strh w25, [x2,2] strh w25, [x1,x0] ldrb w1, [x27,2] and w0, w1, 224 cmp w0, 224 - beq .L1372 + beq .L1408 cmp w0, 32 cset w28, eq - cbnz w28, .L1372 - ldr x2, [x20,88] + cbnz w28, .L1408 + ldr x2, [x20,608] ldrh w4, [x2,16] cmp w19, w4 - beq .L1372 + beq .L1408 ldrh w4, [x2,48] cmp w19, w4 - beq .L1372 + beq .L1408 ldrh w2, [x2,80] cmp w19, w2 - beq .L1372 + beq .L1408 cmp w0, 64 - bne .L1374 + bne .L1410 uxth w27, w19 - add x0, x20, 96 + add x0, x20, 616 mov w1, w27 add x2, x20, 2850 - b .L1391 -.L1374: + b .L1427 +.L1410: cmp w0, 96 - bne .L1375 + bne .L1411 uxth w27, w19 - add x0, x20, 3304 + add x0, x20, 3288 mov w1, w27 add x2, x20, 2852 - b .L1391 -.L1375: + b .L1427 +.L1411: cmp w0, 160 - bne .L1376 + bne .L1412 uxth w27, w19 - add x0, x20, 3296 + add x0, x20, 3280 mov w1, w27 add x2, x20, 2854 -.L1391: +.L1427: bl _insert_data_list - ldr x0, [x20,80] + ldr x0, [x20,600] ldrh w0, [x0,x22,lsl 1] cmp w0, 7 - bhi .L1372 + bhi .L1408 mov w0, w27 mov w1, 1 mov w2, w28 - b .L1389 -.L1376: - cbnz w0, .L1372 - ldr x0, [x20,80] + b .L1425 +.L1412: + cbnz w0, .L1408 + ldr x0, [x20,600] ldrh w2, [x0,x22,lsl 1] - cbz w2, .L1377 + cbz w2, .L1413 mov x0, x26 mov w1, w19 bl printk ldrb w0, [x27,2] - tbz x0, 4, .L1378 + tbz x0, 4, .L1414 mov w1, 5 - b .L1385 -.L1378: + b .L1421 +.L1414: mov w1, 2 -.L1385: +.L1421: bfi w0, w1, 5, 3 mov w2, 0 strb w0, [x27,2] mov w1, 1 mov w0, w19 -.L1389: +.L1425: bl gc_add_sblk - b .L1372 -.L1377: + b .L1408 +.L1413: ands w1, w1, 24 add x2, x21, :lo12:.LANCHOR0 - bne .L1380 - add x0, x2, 3328 + bne .L1416 + add x0, x2, 3312 mov w1, w19 add x2, x2, 2844 - b .L1387 -.L1380: + b .L1423 +.L1416: cmp w1, 16 - bne .L1381 - add x0, x2, 3336 + bne .L1417 + add x0, x2, 3320 mov w1, w19 add x2, x2, 2846 - b .L1387 -.L1381: - add x0, x2, 3344 + b .L1423 +.L1417: + add x0, x2, 3328 mov w1, w19 add x2, x2, 2848 -.L1387: +.L1423: bl _insert_free_list -.L1372: +.L1408: add w19, w19, 1 sxth w19, w19 - b .L1363 -.L1393: + b .L1399 +.L1429: ldr x1, [x0,2864] ldrh w2, [x0,2844] strh w2, [x1,114] @@ -8699,8 +8881,8 @@ ftl_open_sblk_init: mov x26, x23 add x20, x20, :lo12:.LC113 mov w24, -1 -.L1396: -.L1399: +.L1432: +.L1435: mov w0, w21 bl ftl_alloc_sblk uxth w22, w0 @@ -8716,41 +8898,41 @@ ftl_open_sblk_init: cmp w21, 2 strh wzr, [x19,2] mov w3, 0 - ldrh w1, [x0,3316] + ldrh w1, [x0,3300] strb wzr, [x19,5] strh wzr, [x19,10] mul w2, w1, w2 strh w2, [x19,6] strb w21, [x19,4] - beq .L1397 - ldrb w3, [x0,3292] + beq .L1433 + ldrb w3, [x0,3276] mul w3, w1, w3 uxth w3, w3 -.L1397: +.L1433: add x27, x26, :lo12:.LANCHOR0 strh w3, [x19,12] ubfiz x28, x22, 1, 16 - ldrb w2, [x27,3292] - ldr x0, [x27,3888] + ldrb w2, [x27,3276] + ldr x0, [x27,3872] add x0, x0, x3, uxth 2 mul w2, w1, w2 mov w1, 255 lsl w2, w2, 2 bl ftl_memset - ldr x0, [x27,80] + ldr x0, [x27,600] ldrh w1, [x19,6] strh w1, [x0,x28] ldrb w0, [x19,9] - cbnz w0, .L1395 + cbnz w0, .L1431 mov x0, x20 mov w1, w22 bl printk - ldr x0, [x27,80] + ldr x0, [x27,600] strh w24, [x0,x28] mov w0, 7 strb w0, [x19,4] - b .L1399 -.L1395: + b .L1435 +.L1431: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -8772,17 +8954,18 @@ pm_free_sblk: stp x21, x22, [sp,32] stp x25, x26, [sp,64] stp x27, x28, [sp,80] - ldrh w0, [x0,1180] + ldrh w0, [x0,1164] cmp w0, 128 - bls .L1402 + bls .L1438 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 - add x0, x0, :lo12:.LC0 - add x1, x1, 96 mov w2, 78 + add x1, x1, 96 + add x0, x0, :lo12:.LC0 bl printk -.L1402: + bl dump_stack +.L1438: add x28, x29, 112 mov w1, 0 mov w2, 256 @@ -8793,18 +8976,18 @@ pm_free_sblk: mov w0, 21 mov w1, 1 mov x3, 0 - ldrh w6, [x2,3356] + ldrh w6, [x2,3340] ldr x4, [x2,2864] sub w0, w0, w6 - ldrb w8, [x2,3354] + ldrb w8, [x2,3338] lsl w0, w1, w0 add x1, x23, :lo12:.LANCHOR4 ldrh w7, [x4,698] sub w0, w0, #1 - ldrh w9, [x1,1180] -.L1403: + ldrh w9, [x1,1164] +.L1439: cmp w7, w3, uxth - bls .L1428 + bls .L1464 add x1, x4, x3, lsl 2 mov x2, 0 ldr w1, [x1,704] @@ -8812,73 +8995,73 @@ pm_free_sblk: and w1, w1, w0 udiv w1, w1, w8 uxth w1, w1 -.L1404: +.L1440: cmp w9, w2, uxth - bls .L1429 + bls .L1465 add x5, x4, x2, lsl 1 ldrh w5, [x5,416] cmp w5, w1 - bne .L1405 + bne .L1441 ldrh w5, [x28,x2,lsl 1] add w5, w5, 1 strh w5, [x28,x2,lsl 1] -.L1405: +.L1441: add x2, x2, 1 - b .L1404 -.L1429: + b .L1440 +.L1465: add x3, x3, 1 - b .L1403 -.L1428: + b .L1439 +.L1464: add x1, x21, :lo12:.LANCHOR0 mov w25, 0 adrp x24, .LC126 mov w19, w25 adrp x26, .LANCHOR2 mov w27, -1 - ldrb w0, [x1,3292] + ldrb w0, [x1,3276] add x24, x24, :lo12:.LC126 - ldrh w20, [x1,3316] + ldrh w20, [x1,3300] mul w20, w0, w20 uxth w20, w20 -.L1408: +.L1444: add x0, x23, :lo12:.LANCHOR4 - ldrh w0, [x0,1180] + ldrh w0, [x0,1164] cmp w0, w19 - bls .L1430 + bls .L1466 add x0, x21, :lo12:.LANCHOR0 sxtw x22, w19 add x1, x22, 208 ldr x4, [x0,2864] - ldrb w2, [x0,3354] + ldrb w2, [x0,3338] ldrh w3, [x4,x1,lsl 1] ldrh w1, [x4,692] sdiv w1, w1, w2 cmp w1, w3 - bne .L1409 - ldrb w1, [x0,3292] - ldrh w0, [x0,3316] + bne .L1445 + ldrb w1, [x0,3276] + ldrh w0, [x0,3300] mul w0, w1, w0 strh w0, [x28,w19,sxtw 1] -.L1409: +.L1445: ldrh w0, [x28,x22,lsl 1] cmp w20, w0 - bls .L1410 + bls .L1446 cmp w0, wzr csel w25, w25, w19, eq csel w20, w20, w0, eq -.L1410: - cbnz w0, .L1412 +.L1446: + cbnz w0, .L1448 mov w0, 65535 cmp w3, w0 - beq .L1412 + beq .L1448 ldr w0, [x26,#:lo12:.LANCHOR2] - tbz x0, 12, .L1413 + tbz x0, 12, .L1449 ldrh w4, [x4,688] mov x0, x24 mov w1, w19 mov w2, 0 bl printk -.L1413: +.L1449: add x1, x21, :lo12:.LANCHOR0 add x22, x22, 208 str x1, [x29,104] @@ -8891,11 +9074,11 @@ pm_free_sblk: ldrh w1, [x0,688] sub w1, w1, #1 strh w1, [x0,688] -.L1412: +.L1448: add w19, w19, 1 uxth w19, w19 - b .L1408 -.L1430: + b .L1444 +.L1466: mov w0, w25 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -8926,7 +9109,7 @@ flash_into_data_init: ldr w0, [x1,#:lo12:.LANCHOR2] stp x19, x20, [sp,16] mov x20, x1 - tbz x0, 12, .L1433 + tbz x0, 12, .L1469 adrp x2, .LANCHOR3 adrp x0, .LC127 add x2, x2, :lo12:.LANCHOR3 @@ -8934,27 +9117,27 @@ flash_into_data_init: mov w1, 100 add x2, x2, 112 bl printk -.L1433: +.L1469: adrp x19, .LANCHOR0 mov w1, 0 add x19, x19, :lo12:.LANCHOR0 mov w2, 2048 - ldr x0, [x19,208] + ldr x0, [x19,728] bl ftl_memset - ldr x1, [x19,208] + ldr x1, [x19,728] mov w0, 21321 movk w0, 0x5359, lsl 16 mov w2, 32 str w0, [x1] mov w1, 2032 - ldr x0, [x19,208] + ldr x0, [x19,728] add x0, x0, 80 str w1, [x0,-72] mov w1, 1 strh w1, [x0,-64] - add x1, x19, 120 + add x1, x19, 640 bl ftl_memcpy - ldr x0, [x19,208] + ldr x0, [x19,728] add x1, x20, :lo12:.LANCHOR2 add x1, x1, 376 mov w2, 32 @@ -8969,14 +9152,14 @@ flash_into_data_init: .type ftl_memcpy32, %function ftl_memcpy32: mov x3, 0 -.L1438: +.L1474: cmp w2, w3 - bls .L1440 + bls .L1476 ldr w4, [x1,x3,lsl 2] str w4, [x0,x3,lsl 2] add x3, x3, 1 - b .L1438 -.L1440: + b .L1474 +.L1476: ret .size ftl_memcpy32, .-ftl_memcpy32 .align 2 @@ -8998,17 +9181,17 @@ js_hash: mov w0, 42982 mov x2, 0 movk w0, 0x47c6, lsl 16 -.L1443: +.L1479: cmp w1, w2 - bls .L1445 + bls .L1481 lsl w3, w0, 5 ldrb w4, [x5,x2] add w3, w3, w0, lsr 2 add x2, x2, 1 add w3, w3, w4 eor w0, w0, w3 - b .L1443 -.L1445: + b .L1479 +.L1481: ret .size js_hash, .-js_hash .align 2 @@ -9019,8 +9202,8 @@ timer_get_time: stp x29, x30, [sp, -16]! add x29, sp, 0 ldr x1, [x0,#:lo12:jiffies] - adrp x0, .LANCHOR4+1184 - ldr x0, [x0,#:lo12:.LANCHOR4+1184] + adrp x0, .LANCHOR4+1168 + ldr x0, [x0,#:lo12:.LANCHOR4+1168] sub x0, x1, x0 bl jiffies_to_msecs ldp x29, x30, [sp], 16 @@ -9040,10 +9223,10 @@ StorageSysDataLoad: mov w1, 0 bl ftl_memset bl rknand_device_lock - adrp x0, .LANCHOR4+1192 + adrp x0, .LANCHOR4+1176 mov x2, x19 mov w1, 1 - ldr x0, [x0,#:lo12:.LANCHOR4+1192] + ldr x0, [x0,#:lo12:.LANCHOR4+1176] ldr x3, [x0,24] mov w0, w20 blr x3 @@ -9063,10 +9246,10 @@ StorageSysDataStore: str x0, [x29,16] str x1, [x29,24] bl rknand_device_lock - adrp x1, .LANCHOR4+1192 + adrp x1, .LANCHOR4+1176 ldr x2, [x29,24] ldr x0, [x29,16] - ldr x1, [x1,#:lo12:.LANCHOR4+1192] + ldr x1, [x1,#:lo12:.LANCHOR4+1176] ldr x3, [x1,32] mov w1, 1 blr x3 @@ -9086,11 +9269,11 @@ FlashBootVendorRead: str x1, [x29,32] str x2, [x29,40] bl rknand_device_lock - adrp x3, .LANCHOR4+1192 + adrp x3, .LANCHOR4+1176 ldr x1, [x29,32] ldr x2, [x29,40] ldr x0, [x29,24] - ldr x3, [x3,#:lo12:.LANCHOR4+1192] + ldr x3, [x3,#:lo12:.LANCHOR4+1176] ldr x3, [x3,8] blr x3 str x0, [x29,40] @@ -9109,11 +9292,11 @@ FlashBootVendorWrite: str x1, [x29,32] str x2, [x29,40] bl rknand_device_lock - adrp x3, .LANCHOR4+1192 + adrp x3, .LANCHOR4+1176 ldr x1, [x29,32] ldr x2, [x29,40] ldr x0, [x29,24] - ldr x3, [x3,#:lo12:.LANCHOR4+1192] + ldr x3, [x3,#:lo12:.LANCHOR4+1176] ldr x3, [x3,16] blr x3 str x0, [x29,40] @@ -9126,20 +9309,20 @@ FlashBootVendorWrite: .global flash_sram_load_store .type flash_sram_load_store, %function flash_sram_load_store: - adrp x4, .LANCHOR4+1200 + adrp x4, .LANCHOR4+1184 mov x6, x0 stp x29, x30, [sp, -16]! uxtw x1, w1 add x29, sp, 0 - ldr x4, [x4,#:lo12:.LANCHOR4+1200] + ldr x4, [x4,#:lo12:.LANCHOR4+1184] add x4, x4, 4096 - cbnz w2, .L1452 + cbnz w2, .L1488 add x1, x4, x1 - b .L1454 -.L1452: + b .L1490 +.L1488: add x0, x4, x1 mov x1, x6 -.L1454: +.L1490: mov w2, w3 bl ftl_memcpy ldp x29, x30, [sp], 16 @@ -9161,8 +9344,8 @@ rk_ftl_de_init: add x29, sp, 0 add x0, x0, :lo12:.LC128 bl printk - adrp x0, .LANCHOR4+1192 - ldr x0, [x0,#:lo12:.LANCHOR4+1192] + adrp x0, .LANCHOR4+1176 + ldr x0, [x0,#:lo12:.LANCHOR4+1176] ldr x0, [x0,80] blr x0 ldp x29, x30, [sp], 16 @@ -9172,10 +9355,10 @@ rk_ftl_de_init: .global rk_ftl_cache_write_back .type rk_ftl_cache_write_back, %function rk_ftl_cache_write_back: - adrp x0, .LANCHOR4+1192 + adrp x0, .LANCHOR4+1176 stp x29, x30, [sp, -16]! add x29, sp, 0 - ldr x0, [x0,#:lo12:.LANCHOR4+1192] + ldr x0, [x0,#:lo12:.LANCHOR4+1176] ldr x1, [x0,64] mov w0, 0 blr x1 @@ -9186,10 +9369,10 @@ rk_ftl_cache_write_back: .global rk_nand_suspend .type rk_nand_suspend, %function rk_nand_suspend: - adrp x0, .LANCHOR4+1192 + adrp x0, .LANCHOR4+1176 stp x29, x30, [sp, -16]! add x29, sp, 0 - ldr x0, [x0,#:lo12:.LANCHOR4+1192] + ldr x0, [x0,#:lo12:.LANCHOR4+1176] ldr x0, [x0,88] blr x0 ldp x29, x30, [sp], 16 @@ -9199,10 +9382,10 @@ rk_nand_suspend: .global rk_nand_resume .type rk_nand_resume, %function rk_nand_resume: - adrp x0, .LANCHOR4+1192 + adrp x0, .LANCHOR4+1176 stp x29, x30, [sp, -16]! add x29, sp, 0 - ldr x0, [x0,#:lo12:.LANCHOR4+1192] + ldr x0, [x0,#:lo12:.LANCHOR4+1176] ldr x0, [x0,96] blr x0 ldp x29, x30, [sp], 16 @@ -9212,10 +9395,10 @@ rk_nand_resume: .global rk_ftl_get_capacity .type rk_ftl_get_capacity, %function rk_ftl_get_capacity: - adrp x0, .LANCHOR4+1192 + adrp x0, .LANCHOR4+1176 stp x29, x30, [sp, -16]! add x29, sp, 0 - ldr x0, [x0,#:lo12:.LANCHOR4+1192] + ldr x0, [x0,#:lo12:.LANCHOR4+1176] ldr x1, [x0,72] mov w0, 0 blr x1 @@ -9226,10 +9409,10 @@ rk_ftl_get_capacity: .global rk_nandc_get_irq_status .type rk_nandc_get_irq_status, %function rk_nandc_get_irq_status: - adrp x1, .LANCHOR4+1192 + adrp x1, .LANCHOR4+1176 stp x29, x30, [sp, -16]! add x29, sp, 0 - ldr x1, [x1,#:lo12:.LANCHOR4+1192] + ldr x1, [x1,#:lo12:.LANCHOR4+1176] ldr x1, [x1,120] blr x1 ldp x29, x30, [sp], 16 @@ -9239,10 +9422,10 @@ rk_nandc_get_irq_status: .global rknand_proc_ftlread .type rknand_proc_ftlread, %function rknand_proc_ftlread: - adrp x1, .LANCHOR4+1192 + adrp x1, .LANCHOR4+1176 stp x29, x30, [sp, -16]! add x29, sp, 0 - ldr x1, [x1,#:lo12:.LANCHOR4+1192] + ldr x1, [x1,#:lo12:.LANCHOR4+1176] ldr x1, [x1,128] blr x1 ldp x29, x30, [sp], 16 @@ -9252,11 +9435,11 @@ rknand_proc_ftlread: .global FtlWrite .type FtlWrite, %function FtlWrite: - adrp x4, .LANCHOR4+1192 + adrp x4, .LANCHOR4+1176 uxtb w0, w0 stp x29, x30, [sp, -16]! add x29, sp, 0 - ldr x4, [x4,#:lo12:.LANCHOR4+1192] + ldr x4, [x4,#:lo12:.LANCHOR4+1176] ldr x4, [x4,48] blr x4 ldp x29, x30, [sp], 16 @@ -9266,11 +9449,11 @@ FtlWrite: .global FtlRead .type FtlRead, %function FtlRead: - adrp x4, .LANCHOR4+1192 + adrp x4, .LANCHOR4+1176 uxtb w0, w0 stp x29, x30, [sp, -16]! add x29, sp, 0 - ldr x4, [x4,#:lo12:.LANCHOR4+1192] + ldr x4, [x4,#:lo12:.LANCHOR4+1176] ldr x4, [x4,40] blr x4 ldp x29, x30, [sp], 16 @@ -9280,10 +9463,10 @@ FtlRead: .global FtlDiscard .type FtlDiscard, %function FtlDiscard: - adrp x2, .LANCHOR4+1192 + adrp x2, .LANCHOR4+1176 stp x29, x30, [sp, -16]! add x29, sp, 0 - ldr x2, [x2,#:lo12:.LANCHOR4+1192] + ldr x2, [x2,#:lo12:.LANCHOR4+1176] ldr x2, [x2,56] blr x2 ldp x29, x30, [sp], 16 @@ -9293,10 +9476,10 @@ FtlDiscard: .global rk_ftl_garbage_collect .type rk_ftl_garbage_collect, %function rk_ftl_garbage_collect: - adrp x2, .LANCHOR4+1192 + adrp x2, .LANCHOR4+1176 stp x29, x30, [sp, -16]! add x29, sp, 0 - ldr x2, [x2,#:lo12:.LANCHOR4+1192] + ldr x2, [x2,#:lo12:.LANCHOR4+1176] ldr x2, [x2,104] blr x2 ldp x29, x30, [sp], 16 @@ -9306,10 +9489,10 @@ rk_ftl_garbage_collect: .global ReadFlashInfo .type ReadFlashInfo, %function ReadFlashInfo: - adrp x1, .LANCHOR4+1192 + adrp x1, .LANCHOR4+1176 stp x29, x30, [sp, -16]! add x29, sp, 0 - ldr x1, [x1,#:lo12:.LANCHOR4+1192] + ldr x1, [x1,#:lo12:.LANCHOR4+1176] ldr x1, [x1,112] blr x1 ldp x29, x30, [sp], 16 @@ -9338,42 +9521,42 @@ rknand_print_hex: add x23, x23, :lo12:.LC129 add x21, x21, :lo12:.LC130 add x24, x24, :lo12:.LC1 -.L1469: +.L1505: cmp x19, x26 - beq .L1477 - cbnz w20, .L1470 + beq .L1513 + cbnz w20, .L1506 mov x0, x23 mov x1, x27 mov x2, x22 mov w3, w19 bl printk -.L1470: +.L1506: cmp w25, 4 mov x0, x21 - bne .L1471 + bne .L1507 ldr w1, [x22,x19,lsl 2] - b .L1476 -.L1471: + b .L1512 +.L1507: cmp w25, 2 - bne .L1473 + bne .L1509 ldrsh w1, [x22,x19,lsl 1] - b .L1476 -.L1473: + b .L1512 +.L1509: ldrb w1, [x22,x19] -.L1476: +.L1512: bl printk add w20, w20, 1 cmp w20, 15 - bls .L1474 + bls .L1510 adrp x1, .LC131 mov x0, x24 add x1, x1, :lo12:.LC131 mov w20, 0 bl printk -.L1474: +.L1510: add x19, x19, 1 - b .L1469 -.L1477: + b .L1505 +.L1513: adrp x0, .LC1 adrp x1, .LC131 add x1, x1, :lo12:.LC131 @@ -9405,7 +9588,7 @@ hynix_get_read_retry_default: stp x27, x28, [sp,80] cmp w25, 2 str x19, [x29,128] - ldr x27, [x0,208] + ldr x27, [x0,728] add x0, x27, 112 str x0, [x29,136] mov w0, -84 @@ -9416,30 +9599,30 @@ hynix_get_read_retry_default: add x26, x27, 128 strb w1, [x27,130] strb w0, [x27,131] - bne .L1479 + bne .L1515 ldr x1, [x29,136] mov w0, -89 strb w0, [x1,16] adrp x0, .LANCHOR2+425 mov w1, -9 strb w1, [x0,#:lo12:.LANCHOR2+425] - b .L1534 -.L1479: + b .L1570 +.L1515: cmp w25, 3 - bne .L1481 + bne .L1517 mov x4, 0 -.L1482: +.L1518: sub w0, w4, #80 strb w0, [x26,x4] add x4, x4, 1 cmp x4, 8 - bne .L1482 + bne .L1518 mov w21, w4 mov w28, w4 - b .L1480 -.L1481: + b .L1516 +.L1517: cmp w25, 4 - bne .L1483 + bne .L1519 mov w4, -52 strb w4, [x27,128] mov w4, -65 @@ -9455,10 +9638,10 @@ hynix_get_read_retry_default: strb w1, [x27,134] strb w4, [x27,132] strb w0, [x27,135] - b .L1480 -.L1483: + b .L1516 +.L1519: cmp w25, 5 - bne .L1484 + bne .L1520 mov w0, 56 strb w0, [x27,128] mov w0, 57 @@ -9468,10 +9651,10 @@ hynix_get_read_retry_default: strb w0, [x27,130] mov w0, 59 strb w0, [x27,131] - b .L1568 -.L1484: + b .L1604 +.L1520: cmp w25, 6 - bne .L1485 + bne .L1521 mov w0, 14 strb w0, [x27,128] mov w0, 15 @@ -9481,32 +9664,32 @@ hynix_get_read_retry_default: strb w0, [x27,130] mov w0, 17 strb w0, [x27,131] - b .L1568 -.L1485: + b .L1604 +.L1521: cmp w25, 7 - bne .L1534 + bne .L1570 mov x0, 0 -.L1486: +.L1522: sub w1, w0, #80 strb w1, [x26,x0] add x0, x0, 1 cmp x0, 8 - bne .L1486 + bne .L1522 mov w0, -44 mov w21, 12 strb w0, [x27,136] mov w28, 10 mov w0, -43 strb w0, [x27,137] - b .L1480 -.L1534: + b .L1516 +.L1570: mov w21, 7 -.L1568: +.L1604: mov w28, 4 -.L1480: +.L1516: sub w0, w25, #1 cmp w0, 1 - bhi .L1565 + bhi .L1601 ldr x0, [x29,128] adrp x24, .LANCHOR2 add x24, x24, :lo12:.LANCHOR2 @@ -9514,21 +9697,21 @@ hynix_get_read_retry_default: add x19, x0, :lo12:.LANCHOR0 mov w27, 55 add x24, x24, 408 -.L1487: - ldrb w0, [x19,114] +.L1523: + ldrb w0, [x19,633] cmp w0, w23 - bls .L1494 + bls .L1530 add x0, x19, x23, sxtw ldr x2, [x29,136] - ldrb w0, [x0,216] + ldrb w0, [x0,736] mov x20, 160 - ldr x22, [x19,16] + ldr x22, [x19,536] mov x25, 0 ubfiz x1, x0, 8, 8 madd x20, x0, x20, x2 add x22, x22, x1 add x20, x20, 32 -.L1489: +.L1525: str w27, [x22,2056] ldrb w0, [x26,x25] str w0, [x22,2052] @@ -9538,12 +9721,12 @@ hynix_get_read_retry_default: strb w0, [x20,x25] add x25, x25, 1 cmp w28, w25, uxtb - bhi .L1489 + bhi .L1525 mov x0, 0 -.L1490: +.L1526: add w2, w0, 8 mov x1, 0 -.L1491: +.L1527: add x3, x1, x0 add x1, x1, 4 add x3, x24, x3 @@ -9553,10 +9736,10 @@ hynix_get_read_retry_default: add w3, w5, w3 strb w3, [x20,w2,sxtw] add w2, w2, 8 - bne .L1491 + bne .L1527 add x0, x0, 1 cmp x0, 4 - bne .L1490 + bne .L1526 add w23, w23, 1 strb wzr, [x20,16] strb wzr, [x20,24] @@ -9566,11 +9749,11 @@ hynix_get_read_retry_default: strb wzr, [x20,48] strb wzr, [x20,41] strb wzr, [x20,49] - b .L1487 -.L1565: + b .L1523 +.L1601: sub w0, w25, #3 cmp w0, 4 - bhi .L1494 + bhi .L1530 mul w0, w28, w21 sub w23, w28, #1 mov w20, 0 @@ -9584,13 +9767,13 @@ hynix_get_read_retry_default: adrp x26, .LANCHOR4 add x0, x23, 1 str x0, [x29,112] -.L1495: +.L1531: ldr x0, [x29,128] add x0, x0, :lo12:.LANCHOR0 - ldrb w1, [x0,114] + ldrb w1, [x0,633] cmp w1, w20 - bhi .L1533 -.L1494: + bhi .L1569 +.L1530: ldr x0, [x29,136] strb w28, [x0,1] strb w21, [x0,2] @@ -9601,10 +9784,10 @@ hynix_get_read_retry_default: ldp x27, x28, [sp,80] ldp x29, x30, [sp], 144 ret -.L1533: +.L1569: add x1, x0, x20, sxtw - ldrb w1, [x1,216] - ldr x0, [x0,16] + ldrb w1, [x1,736] + ldr x0, [x0,536] mov x24, 160 ubfiz x2, x1, 8, 8 ldr x3, [x29,136] @@ -9619,28 +9802,28 @@ hynix_get_read_retry_default: cmp w25, 4 str w0, [x23,2056] ldr x1, [x29,104] - bne .L1496 + bne .L1532 mov w0, 64 str w1, [x23,2052] str w0, [x23,2048] mov w0, 204 - b .L1569 -.L1496: + b .L1605 +.L1532: cmp w19, 1 - bhi .L1498 + bhi .L1534 ldrb w0, [x27,128] str w0, [x23,2052] mov w0, 82 - b .L1570 -.L1498: + b .L1606 +.L1534: mov w0, 174 str w0, [x23,2052] str wzr, [x23,2048] mov w0, 176 -.L1569: +.L1605: str w0, [x23,2052] mov w0, 77 -.L1570: +.L1606: str w0, [x23,2048] mov w0, 22 str w0, [x23,2056] @@ -9654,13 +9837,13 @@ hynix_get_read_retry_default: str wzr, [x23,2056] str wzr, [x23,2052] str wzr, [x23,2052] - bne .L1499 + bne .L1535 mov w0, 31 str w0, [x23,2052] - b .L1500 -.L1499: + b .L1536 +.L1535: str wzr, [x23,2052] -.L1500: +.L1536: mov w7, 2 str w7, [x23,2052] str wzr, [x23,2052] @@ -9670,89 +9853,89 @@ hynix_get_read_retry_default: bl nandc_wait_flash_ready cmp w19, 1 mov w1, 16 - bls .L1502 + bls .L1538 ldr x7, [x29,104] cmp w25, 7 mov w1, 32 csel w1, w1, w7, eq -.L1502: +.L1538: adrp x0, .LANCHOR4 mov x7, 0 add x0, x0, :lo12:.LANCHOR4 - ldr x0, [x0,1208] -.L1503: + ldr x0, [x0,1192] +.L1539: ldr w8, [x23,2048] strb w8, [x0,x7] add x7, x7, 1 cmp w1, w7, uxtb - bhi .L1503 + bhi .L1539 cmp w25, 7 - bne .L1504 + bne .L1540 mov w1, 0 -.L1506: +.L1542: ldrb w7, [x0] cmp w7, 12 - beq .L1505 + beq .L1541 ldrb w7, [x0,1] cmp w7, 10 - beq .L1505 + beq .L1541 add w1, w1, 1 add x0, x0, 4 uxtb w1, w1 cmp w1, 8 - bne .L1506 - b .L1507 -.L1505: + bne .L1542 + b .L1543 +.L1541: cmp w1, 7 - bne .L1508 -.L1507: + bne .L1544 +.L1543: adrp x0, .LC132 mov w1, 0 add x0, x0, :lo12:.LC132 bl printk -.L1509: - b .L1509 -.L1504: +.L1545: + b .L1545 +.L1540: cmp w25, 6 - bne .L1508 + bne .L1544 mov x1, 0 -.L1510: +.L1546: ldrb w7, [x0,x1] cmp w7, 12 - beq .L1508 + beq .L1544 add x7, x0, x1 ldrb w7, [x7,8] cmp w7, 4 - beq .L1508 + beq .L1544 add x1, x1, 1 cmp x1, 8 - bne .L1510 + bne .L1546 adrp x0, .LC132 mov w1, 0 add x0, x0, :lo12:.LC132 bl printk -.L1512: - b .L1512 -.L1508: +.L1548: + b .L1548 +.L1544: add x0, x26, :lo12:.LANCHOR4 - ldr x9, [x0,1208] + ldr x9, [x0,1192] mov x0, 0 -.L1513: +.L1549: ldr w1, [x29,120] cmp w1, w0 - ble .L1572 + ble .L1608 ldr w1, [x23,2048] strb w1, [x9,x0] add x0, x0, 1 - b .L1513 -.L1572: + b .L1549 +.L1608: add x0, x26, :lo12:.LANCHOR4 mov w8, w22 mov w7, 8 - ldr x11, [x0,1208] -.L1516: + ldr x11, [x0,1192] +.L1552: mov w0, 0 -.L1515: +.L1551: add w1, w0, w8 add w0, w0, 1 sbfiz x1, x1, 2, 32 @@ -9760,54 +9943,54 @@ hynix_get_read_retry_default: ldr w10, [x11,x1] mvn w10, w10 str w10, [x11,x1] - bne .L1515 + bne .L1551 ldr w0, [x29,124] subs w7, w7, #1 add w8, w8, w0 - bne .L1516 + bne .L1552 mov x7, 0 mov w15, 1 -.L1517: +.L1553: add x0, x26, :lo12:.LANCHOR4 mov w1, 0 mov w10, w1 - ldr x14, [x0,1208] -.L1521: + ldr x14, [x0,1192] +.L1557: lsl w8, w15, w10 mov w12, w7 mov w0, 16 mov w11, 0 -.L1519: +.L1555: ldr w13, [x14,w12,sxtw 2] add w12, w12, w22 and w13, w8, w13 cmp w13, w8 csinc w11, w11, w11, ne subs w0, w0, #1 - bne .L1519 + bne .L1555 cmp w11, 9 orr w8, w1, w8 add w10, w10, 1 csel w1, w8, w1, cs cmp w10, 32 - bne .L1521 + bne .L1557 str w1, [x14,x7,lsl 2] add x7, x7, 1 cmp w22, w7 - bgt .L1517 + bgt .L1553 add x1, x26, :lo12:.LANCHOR4 mov x7, 0 mov w8, w7 - ldr x1, [x1,1208] -.L1524: + ldr x1, [x1,1192] +.L1560: ldr w10, [x1,x7] add x7, x7, 4 cmp w10, wzr csinc w8, w8, w8, ne cmp x7, 32 - bne .L1524 + bne .L1560 cmp w8, 7 - ble .L1525 + ble .L1561 adrp x0, .LC133 mov w2, 1 add x0, x0, :lo12:.LC133 @@ -9817,39 +10000,39 @@ hynix_get_read_retry_default: mov w1, 0 add x0, x0, :lo12:.LC132 bl printk -.L1526: - b .L1526 -.L1525: +.L1562: + b .L1562 +.L1561: cmp w25, 6 mov w7, 4 - beq .L1527 + beq .L1563 cmp w25, 7 mov w7, 10 mov w1, 8 csel w7, w1, w7, ne -.L1527: +.L1563: mov w8, 0 -.L1528: +.L1564: mov x1, 0 -.L1529: +.L1565: add w10, w0, w1 ldrb w11, [x9,x1] add x1, x1, 1 cmp w28, w1, uxtb strb w11, [x24,w10,sxtw] - bhi .L1529 + bhi .L1565 add w8, w8, 1 ldr x1, [x29,112] cmp w8, w21 add w0, w0, w7 add x9, x9, x1 - blt .L1528 + blt .L1564 mov w24, 255 str w24, [x23,2056] bl nandc_wait_flash_ready cmp w19, 1 mov w0, 56 - bhi .L1571 + bhi .L1607 mov w0, 54 str w0, [x23,2056] ldrb w0, [x27,128] @@ -9864,12 +10047,12 @@ hynix_get_read_retry_default: str w24, [x23,2052] str w24, [x23,2052] str w24, [x23,2052] -.L1571: +.L1607: str w0, [x23,2056] add w20, w20, 1 bl nandc_wait_flash_ready uxtb w20, w20 - b .L1495 + b .L1531 .size hynix_get_read_retry_default, .-hynix_get_read_retry_default .align 2 .global flash_get_read_retry_tbl @@ -9882,9 +10065,9 @@ flash_get_read_retry_tbl: sub w1, w0, #1 uxtb w1, w1 cmp w1, 6 - bhi .L1573 + bhi .L1609 bl hynix_get_read_retry_default -.L1573: +.L1609: ldp x29, x30, [sp], 16 ret .size flash_get_read_retry_tbl, .-flash_get_read_retry_tbl @@ -9899,59 +10082,59 @@ nandc_xfer_done: add x20, x19, :lo12:.LANCHOR0 stp x23, x24, [sp,48] stp x21, x22, [sp,32] - ldr x0, [x20,16] + ldr x0, [x20,536] bl wait_for_nandc_xfer_completed adrp x0, .LANCHOR4 add x1, x0, :lo12:.LANCHOR4 mov x23, x0 - strb wzr, [x1,1216] - ldrb w1, [x19,#:lo12:.LANCHOR0] + strb wzr, [x1,1200] + ldrb w1, [x20,516] cmp w1, 9 - bne .L1576 - ldr x24, [x20,16] + bne .L1612 + ldr x24, [x20,536] ldr w0, [x24,16] str w0, [x29,64] ldr w20, [x24,48] ubfx x20, x20, 1, 1 - cbnz w20, .L1596 + cbnz w20, .L1632 adrp x21, .LC137 adrp x23, .LC136 add x21, x21, :lo12:.LC137 add x23, x23, :lo12:.LC136 - b .L1578 -.L1596: + b .L1614 +.L1632: adrp x21, .LC135 adrp x22, .LC136 mov w20, 0 add x21, x21, :lo12:.LC135 add x22, x22, :lo12:.LC136 -.L1577: +.L1613: ldr w2, [x24,64] ldr w1, [x29,64] ubfx x2, x2, 16, 6 ubfx x1, x1, 22, 6 cmp w2, w1 - bge .L1580 + bge .L1616 add x0, x19, :lo12:.LANCHOR0 - ldr x0, [x0,16] + ldr x0, [x0,536] ldr w0, [x0] str w0, [x29,72] ldr w0, [x29,72] - tbz x0, 13, .L1579 + tbz x0, 13, .L1615 ldr w0, [x29,72] - tbz x0, 17, .L1579 + tbz x0, 17, .L1615 ldr w1, [x29,72] adrp x0, .LC134 add x0, x0, :lo12:.LC134 ubfx x1, x1, 17, 1 bl printk - b .L1580 -.L1579: + b .L1616 +.L1615: ldr w0, [x29,64] add w20, w20, 1 ubfx x0, x0, 22, 6 cmp w20, w0, lsl 12 - bne .L1577 + bne .L1613 ldr w2, [x24,64] mov w1, w20 ldr w3, [x29,64] @@ -9963,18 +10146,18 @@ nandc_xfer_done: mov x0, x22 mov w2, 4 mov w3, 64 - ldr x1, [x1,16] + ldr x1, [x1,536] bl rknand_print_hex ldr w0, [x29,72] - tbz x0, 13, .L1577 + tbz x0, 13, .L1613 add x0, x23, :lo12:.LANCHOR4 mov w1, 1 - strb w1, [x0,1216] -.L1580: + strb w1, [x0,1200] +.L1616: add x20, x19, :lo12:.LANCHOR0 - add x20, x20, 160 + add x20, x20, 680 ldr w0, [x20,32] - cbz w0, .L1584 + cbz w0, .L1620 ldr w1, [x29,64] mov w2, 0 ldr w0, [x20,24] @@ -9985,33 +10168,33 @@ nandc_xfer_done: ldr w0, [x20,28] ubfx x1, x1, 22, 6 lsl w1, w1, 2 - b .L1624 -.L1586: + b .L1660 +.L1622: add x22, x19, :lo12:.LANCHOR0 add w20, w20, 1 - ldr x0, [x22,16] + ldr x0, [x22,536] ldr w0, [x0,16] str w0, [x29,64] and w0, w20, 16777215 - cbnz w0, .L1578 + cbnz w0, .L1614 ldr w2, [x29,64] mov w1, w20 ldr w3, [x24,64] mov x0, x21 ubfx x3, x3, 16, 6 bl printk - ldr x1, [x22,16] + ldr x1, [x22,536] mov x0, x23 mov w2, 4 mov w3, 64 bl rknand_print_hex -.L1578: +.L1614: ldr w0, [x29,64] - tbz x0, 20, .L1586 + tbz x0, 20, .L1622 add x20, x19, :lo12:.LANCHOR0 - add x20, x20, 160 + add x20, x20, 680 ldr w0, [x20,32] - cbz w0, .L1584 + cbz w0, .L1620 ldr w1, [x29,64] mov w2, 1 ldr w0, [x20,24] @@ -10022,49 +10205,49 @@ nandc_xfer_done: ldr w0, [x20,28] ubfx x1, x1, 22, 6 lsl w1, w1, 2 - b .L1623 -.L1576: - ldr x23, [x20,16] + b .L1659 +.L1612: + ldr x23, [x20,536] ldr w0, [x23,8] str w0, [x29,64] ldr w20, [x23,16] ubfx x20, x20, 1, 1 - cbnz w20, .L1597 + cbnz w20, .L1633 adrp x21, .LC137 adrp x24, .LC136 add x21, x21, :lo12:.LC137 add x24, x24, :lo12:.LC136 - b .L1589 -.L1597: + b .L1625 +.L1633: adrp x21, .LC135 adrp x22, .LC136 mov w20, 0 add x21, x21, :lo12:.LC135 add x22, x22, :lo12:.LC136 -.L1588: +.L1624: ldr w2, [x23,28] ldr w1, [x29,64] ubfx x2, x2, 16, 5 ubfx x1, x1, 22, 6 cmp w2, w1 - bge .L1591 + bge .L1627 add x0, x19, :lo12:.LANCHOR0 - ldr x0, [x0,16] + ldr x0, [x0,536] ldr w0, [x0] str w0, [x29,72] ldr w0, [x29,72] - tbz x0, 13, .L1590 + tbz x0, 13, .L1626 ldr w0, [x29,72] - tbz x0, 17, .L1590 + tbz x0, 17, .L1626 ldr w1, [x29,72] adrp x0, .LC138 add x0, x0, :lo12:.LC138 bl printk - b .L1591 -.L1590: + b .L1627 +.L1626: add w20, w20, 1 and w0, w20, 16777215 - cbnz w0, .L1588 + cbnz w0, .L1624 ldr w2, [x23,28] mov w1, w20 ldr w3, [x29,64] @@ -10076,14 +10259,14 @@ nandc_xfer_done: mov x0, x22 mov w2, 4 mov w3, 64 - ldr x1, [x1,16] + ldr x1, [x1,536] bl rknand_print_hex - b .L1588 -.L1591: + b .L1624 +.L1627: add x20, x19, :lo12:.LANCHOR0 - add x20, x20, 160 + add x20, x20, 680 ldr w0, [x20,32] - cbz w0, .L1584 + cbz w0, .L1620 ldr w1, [x29,64] mov w2, 0 ldr w0, [x20,24] @@ -10094,35 +10277,35 @@ nandc_xfer_done: ldr w0, [x20,28] ubfx x1, x1, 22, 6 lsl w1, w1, 7 -.L1624: +.L1660: mov w2, 0 - b .L1622 -.L1595: + b .L1658 +.L1631: add x22, x19, :lo12:.LANCHOR0 add w20, w20, 1 - ldr x0, [x22,16] + ldr x0, [x22,536] ldr w0, [x0,8] str w0, [x29,64] and w0, w20, 16777215 - cbnz w0, .L1589 + cbnz w0, .L1625 ldr w2, [x29,64] mov w1, w20 ldr w3, [x23,28] mov x0, x21 ubfx x3, x3, 16, 5 bl printk - ldr x1, [x22,16] + ldr x1, [x22,536] mov x0, x24 mov w2, 4 mov w3, 64 bl rknand_print_hex -.L1589: +.L1625: ldr w0, [x29,64] - tbz x0, 20, .L1595 + tbz x0, 20, .L1631 add x20, x19, :lo12:.LANCHOR0 - add x20, x20, 160 + add x20, x20, 680 ldr w0, [x20,32] - cbz w0, .L1584 + cbz w0, .L1620 ldr w1, [x29,64] mov w2, 1 ldr w0, [x20,24] @@ -10133,15 +10316,15 @@ nandc_xfer_done: ldr w0, [x20,28] ubfx x1, x1, 22, 6 lsl w1, w1, 7 -.L1623: +.L1659: mov w2, 1 -.L1622: +.L1658: bl rknand_dma_unmap_single -.L1584: +.L1620: add x19, x19, :lo12:.LANCHOR0 ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] - str wzr, [x19,192] + str wzr, [x19,712] ldp x19, x20, [sp,16] ldp x29, x30, [sp], 80 ret @@ -10166,19 +10349,19 @@ nandc_xfer: bl nandc_xfer_start bl nandc_xfer_done mov w0, 0 - cbnz w20, .L1655 + cbnz w20, .L1691 adrp x19, .LANCHOR0 - add x3, x19, :lo12:.LANCHOR0 - ldrb w1, [x19,#:lo12:.LANCHOR0] + add x2, x19, :lo12:.LANCHOR0 + ldrb w1, [x2,516] cmp w1, 9 - bne .L1627 - ldr x5, [x3,16] + bne .L1663 + ldr x5, [x2,536] lsr w22, w22, 2 mov w4, 1 mov w3, w0 -.L1628: +.L1664: cmp w3, w22 - bcs .L1664 + bcs .L1700 uxtw x1, w3 add x1, x1, 84 ldr w1, [x5,x1,lsl 2] @@ -10190,33 +10373,33 @@ nandc_xfer: and w1, w1, w2 and w4, w4, w1 ldr w1, [x29,72] - tbnz x1, 2, .L1647 + tbnz x1, 2, .L1683 ldr w1, [x29,72] - tbnz x1, 18, .L1647 + tbnz x1, 18, .L1683 ldr w2, [x29,72] ldr w1, [x29,72] ubfx x2, x2, 3, 7 ubfx x1, x1, 19, 7 cmp w2, w1 ldr w1, [x29,72] - ble .L1630 + ble .L1666 ubfx x1, x1, 3, 7 - b .L1631 -.L1630: + b .L1667 +.L1666: ubfx x1, x1, 19, 7 -.L1631: +.L1667: cmp w0, w1 csel w0, w0, w1, cs - b .L1629 -.L1647: + b .L1665 +.L1683: mov w0, -1 -.L1629: +.L1665: add w3, w3, 1 - b .L1628 -.L1664: + b .L1664 +.L1700: add x22, x19, :lo12:.LANCHOR0 cmp w4, wzr - ldr x1, [x22,16] + ldr x1, [x22,536] ldr w20, [x1] mov w1, 512 csel w0, w0, w1, eq @@ -10224,44 +10407,44 @@ nandc_xfer: movk w1, 0x2, lsl 16 and w1, w20, w1 cmp w1, 139264 - bne .L1634 + bne .L1670 adrp x0, .LC139 mov w1, w20 add x0, x0, :lo12:.LC139 orr w20, w20, 131072 bl printk - ldr x0, [x22,16] + ldr x0, [x22,536] str w20, [x0] mov w0, -1 -.L1634: - tbz x20, 13, .L1635 - adrp x1, .LANCHOR4+1216 - ldrb w1, [x1,#:lo12:.LANCHOR4+1216] - cbz w1, .L1635 +.L1670: + tbz x20, 13, .L1671 + adrp x1, .LANCHOR4+1200 + ldrb w1, [x1,#:lo12:.LANCHOR4+1200] + cbz w1, .L1671 adrp x0, .LC140 mov w1, w20 add x0, x0, :lo12:.LC140 add x19, x19, :lo12:.LANCHOR0 bl printk - ldr x0, [x19,16] + ldr x0, [x19,536] mov w1, 1 str w1, [x0,16] - b .L1636 -.L1627: - ldrb w0, [x3,204] + b .L1672 +.L1663: + ldrb w0, [x2,724] mov w5, 128 lsr w6, w22, 1 - mov w2, 1 + mov w3, 1 cmp w0, 25 mov w0, 64 csel w5, w0, w5, cc mov w1, w20 mov w4, w20 -.L1638: +.L1674: cmp w4, w6 add w7, w1, w5 - bcs .L1665 - ldr x0, [x3,160] + bcs .L1701 + ldr x0, [x2,680] and x1, x1, 4294967292 ldr w0, [x0,x1] ubfiz x1, x4, 2, 30 @@ -10269,32 +10452,32 @@ nandc_xfer: lsr w8, w0, 16 strb w0, [x23,x1] lsr w1, w0, 8 - strb w1, [x23,w2,uxtw] - add w1, w2, 1 + strb w1, [x23,w3,uxtw] + add w1, w3, 1 lsr w0, w0, 24 strb w8, [x23,x1] - add w1, w2, 2 - add w2, w2, 4 + add w1, w3, 2 + add w3, w3, 4 strb w0, [x23,x1] mov w1, w7 - b .L1638 -.L1665: + b .L1674 +.L1701: add x0, x19, :lo12:.LANCHOR0 mov w2, 0 lsr w22, w22, 2 - ldr x6, [x0,16] + ldr x6, [x0,536] mov w0, w2 -.L1640: +.L1676: cmp w2, w22 - bcs .L1666 + bcs .L1702 uxtw x1, w2 add x1, x1, 8 ldr w1, [x6,x1,lsl 2] str w1, [x29,72] ldr w1, [x29,72] - tbnz x1, 2, .L1650 + tbnz x1, 2, .L1686 ldr w1, [x29,72] - tbnz x1, 15, .L1650 + tbnz x1, 15, .L1686 ldr w3, [x29,72] ubfx x5, x3, 3, 5 ldr w3, [x29,72] @@ -10307,60 +10490,60 @@ nandc_xfer: orr w1, w4, w1, lsl 5 cmp w3, w1 ldr w1, [x29,72] - bls .L1642 + bls .L1678 ubfx x3, x1, 3, 5 ldr w1, [x29,72] ubfx x1, x1, 27, 1 - b .L1663 -.L1642: + b .L1699 +.L1678: ubfx x3, x1, 16, 5 ldr w1, [x29,72] ubfx x1, x1, 29, 1 -.L1663: +.L1699: orr w1, w3, w1, lsl 5 cmp w0, w1 csel w0, w0, w1, cs - b .L1641 -.L1650: + b .L1677 +.L1686: mov w0, -1 -.L1641: +.L1677: add w2, w2, 1 - b .L1640 -.L1666: + b .L1676 +.L1702: add x19, x19, :lo12:.LANCHOR0 - ldr x1, [x19,16] + ldr x1, [x19,536] str wzr, [x1,16] ldr w20, [x1] mov w1, 8192 movk w1, 0x2, lsl 16 and w1, w20, w1 cmp w1, 139264 - bne .L1635 + bne .L1671 adrp x0, .LC141 mov w1, w20 add x0, x0, :lo12:.LC141 orr w20, w20, 131072 bl printk - ldr x0, [x19,16] + ldr x0, [x19,536] str w20, [x0] - b .L1636 -.L1635: + b .L1672 +.L1671: cmn w0, #1 - beq .L1655 + beq .L1691 ldr w1, [x23] cmn w1, #1 - bne .L1655 + bne .L1691 ldr w1, [x23,4] cmn w1, #1 - bne .L1655 + bne .L1691 ldr w1, [x21] cmn w1, #1 mov w1, 512 csel w0, w0, w1, ne - b .L1655 -.L1636: + b .L1691 +.L1672: mov w0, -1 -.L1655: +.L1691: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldr x23, [sp,48] @@ -10383,43 +10566,43 @@ flash_read_page: stp x19, x20, [sp,16] mov w23, w1 mov x26, x2 - ldr x19, [x0,16] + ldr x19, [x0,536] adrp x0, .LANCHOR2 mov x25, x3 mov w27, w4 and w20, w1, 2097151 ubfx x24, x23, 24, 2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 4, .L1668 + tbz x0, 4, .L1704 adrp x0, .LC142 mov w1, w21 add x0, x0, :lo12:.LC142 mov w2, w24 mov w3, w23 bl printk -.L1668: +.L1704: bl nandc_wait_flash_ready mov w0, w21 bl nandc_cs - cbnz w24, .L1669 + cbnz w24, .L1705 mov w0, w21 bl zftl_flash_enter_slc_mode - b .L1670 -.L1669: + b .L1706 +.L1705: add x0, x22, :lo12:.LANCHOR0 - ldr x0, [x0,104] + ldr x0, [x0,624] ldrb w0, [x0,12] cmp w0, 3 - bne .L1671 + bne .L1707 sxtw x0, w21 add x0, x0, 8 add x0, x19, x0, lsl 8 str w24, [x0,8] - b .L1670 -.L1671: + b .L1706 +.L1707: mov w0, w21 bl zftl_flash_exit_slc_mode -.L1670: +.L1706: ubfiz x5, x21, 8, 8 and w23, w23, 255 add x19, x19, x5 @@ -10433,19 +10616,19 @@ flash_read_page: str w0, [x19,2052] mov w0, 48 str w0, [x19,2056] - cbz w24, .L1672 + cbz w24, .L1708 add x22, x22, :lo12:.LANCHOR0 - ldr x0, [x22,104] + ldr x0, [x22,624] ldrb w0, [x0,12] cmp w0, 3 - bne .L1672 + bne .L1708 add w20, w20, w20, lsl 1 sub w0, w20, #1 add w0, w0, w24 - b .L1683 -.L1672: + b .L1719 +.L1708: mov w0, w20 -.L1683: +.L1719: bl nandc_set_seed bl nandc_wait_flash_ready mov w0, 5 @@ -10489,7 +10672,7 @@ micron_read_retrial: stp x27, x28, [sp,80] uxtb w24, w0 mov w21, w1 - ldrb w0, [x19,204] + ldrb w0, [x19,724] mov x25, x2 mov x26, x3 mov w28, -1 @@ -10498,18 +10681,18 @@ micron_read_retrial: asr w0, w0, 2 str w0, [x29,124] bl nandc_wait_flash_ready - ldr x22, [x19,16] + ldr x22, [x19,536] uxtb x19, w24 lsl x0, x19, 8 str x0, [x29,112] adrp x0, .LC143 add x0, x0, :lo12:.LC143 str x0, [x29,104] -.L1685: +.L1721: add x0, x23, :lo12:.LANCHOR4 - ldrb w0, [x0,1232] + ldrb w0, [x0,1216] cmp w20, w0 - bcs .L1689 + bcs .L1725 ldr x0, [x29,112] add w27, w20, 1 add x1, x22, x0 @@ -10534,7 +10717,7 @@ micron_read_retrial: mov w6, w0 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 12, .L1686 + tbz x0, 12, .L1722 ldr x0, [x29,104] mov w1, w20 mov w2, w21 @@ -10543,24 +10726,24 @@ micron_read_retrial: str x6, [x29,96] bl printk ldr x6, [x29,96] -.L1686: +.L1722: cmn w6, #1 - beq .L1687 + beq .L1723 adrp x0, .LANCHOR4 cmn w28, #1 add x0, x0, :lo12:.LANCHOR4 csel w28, w28, w6, ne - ldr x25, [x0,1208] - ldr x26, [x0,1224] + ldr x25, [x0,1192] + ldr x26, [x0,1208] ldr w0, [x29,124] cmp w6, w0 - bcc .L1694 -.L1687: + bcc .L1730 +.L1723: mov w20, w27 - b .L1685 -.L1694: + b .L1721 +.L1730: mov w28, w6 -.L1689: +.L1725: add x19, x22, x19, lsl 8 mov w0, 239 str w0, [x19,2056] @@ -10574,16 +10757,16 @@ micron_read_retrial: str wzr, [x19,2048] str wzr, [x19,2048] cmp w28, w0 - bcc .L1691 + bcc .L1727 cmn w28, #1 mov w0, 256 csel w28, w28, w0, eq -.L1691: +.L1727: cmn w28, #1 - beq .L1695 + beq .L1731 cmp w28, 256 - bne .L1692 -.L1695: + bne .L1728 +.L1731: adrp x0, .LC144 mov w1, w20 add x0, x0, :lo12:.LC144 @@ -10591,7 +10774,7 @@ micron_read_retrial: mov w3, w20 mov w4, w28 bl printk -.L1692: +.L1728: mov w0, w28 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -10626,9 +10809,9 @@ toshiba_3d_read_retrial: mov w3, 56 add x0, x0, 8 mov w21, 10 - ldr x25, [x1,16] + ldr x25, [x1,536] lsl x0, x0, 8 - ldrb w1, [x1,205] + ldrb w1, [x1,725] add x23, x25, x0 cmp w1, 36 csel w2, w3, w2, ne @@ -10636,19 +10819,19 @@ toshiba_3d_read_retrial: cmp w1, 36 mov w1, 26 csel w21, w21, w1, ne - cbnz w19, .L1709 + cbnz w19, .L1745 str x0, [x29,112] adrp x0, .LC145 add x0, x0, :lo12:.LC145 mov w19, -1 mov w28, 1 str x0, [x29,104] -.L1716: +.L1752: add x0, x20, :lo12:.LANCHOR0 - ldrb w0, [x0,205] + ldrb w0, [x0,725] cmp w0, 36 mov x0, x23 - bne .L1710 + bne .L1746 mov w1, w28 mov w2, 0 bl toshiba_tlc_set_rr_para @@ -10656,11 +10839,11 @@ toshiba_3d_read_retrial: mov w1, 93 add x0, x25, x0 str w1, [x0,8] - b .L1711 -.L1710: + b .L1747 +.L1746: mov w1, w28 bl toshiba_3d_set_slc_rr_para -.L1711: +.L1747: ldr w4, [x29,124] mov w0, w22 mov w1, w24 @@ -10670,7 +10853,7 @@ toshiba_3d_read_retrial: mov w4, w0 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 4, .L1712 + tbz x0, 4, .L1748 ldr x0, [x29,104] mov w3, w4 mov w1, w28 @@ -10678,66 +10861,66 @@ toshiba_3d_read_retrial: str x4, [x29,96] bl printk ldr x4, [x29,96] -.L1712: +.L1748: cmn w4, #1 - beq .L1713 + beq .L1749 adrp x0, .LANCHOR4 cmn w19, #1 add x0, x0, :lo12:.LANCHOR4 csel w19, w19, w4, ne - ldr x26, [x0,1208] - ldr x27, [x0,1224] + ldr x26, [x0,1192] + ldr x27, [x0,1208] add x0, x20, :lo12:.LANCHOR0 - ldrb w0, [x0,204] + ldrb w0, [x0,724] add w0, w0, w0, lsl 1 cmp w4, w0, lsr 2 - bcc .L1732 -.L1713: + bcc .L1768 +.L1749: add w28, w28, 1 cmp w28, w21 - bne .L1716 - b .L1715 -.L1732: + bne .L1752 + b .L1751 +.L1768: mov w21, w28 mov w19, w4 -.L1715: +.L1751: add x0, x20, :lo12:.LANCHOR0 - ldrb w0, [x0,205] + ldrb w0, [x0,725] cmp w0, 36 mov x0, x23 - bne .L1717 + bne .L1753 mov w1, 0 mov w2, w1 - b .L1755 -.L1717: + b .L1791 +.L1753: mov w1, 0 bl toshiba_3d_set_slc_rr_para - b .L1718 -.L1709: + b .L1754 +.L1745: mov x28, x0 adrp x0, .LC146 add x0, x0, :lo12:.LC146 mov w19, -1 mov w21, 1 str x0, [x29,104] -.L1725: +.L1761: add x0, x20, :lo12:.LANCHOR0 - ldrb w0, [x0,205] + ldrb w0, [x0,725] cmp w0, 36 mov x0, x23 - bne .L1719 + bne .L1755 mov w1, w21 mov w2, 1 bl toshiba_tlc_set_rr_para add x0, x25, x28 mov w1, 93 - b .L1754 -.L1719: + b .L1790 +.L1755: mov w1, w21 bl toshiba_3d_set_tlc_rr_para add x0, x25, x28 mov w1, 38 -.L1754: +.L1790: str w1, [x0,8] mov x2, x26 mov w0, w22 @@ -10748,7 +10931,7 @@ toshiba_3d_read_retrial: mov w4, w0 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 4, .L1721 + tbz x0, 4, .L1757 ldr x0, [x29,104] mov w3, w4 mov w1, w21 @@ -10756,47 +10939,47 @@ toshiba_3d_read_retrial: str x4, [x29,96] bl printk ldr x4, [x29,96] -.L1721: +.L1757: cmn w4, #1 - beq .L1722 + beq .L1758 adrp x0, .LANCHOR4 cmn w19, #1 add x0, x0, :lo12:.LANCHOR4 csel w19, w19, w4, ne - ldr x26, [x0,1208] - ldr x27, [x0,1224] + ldr x26, [x0,1192] + ldr x27, [x0,1208] add x0, x20, :lo12:.LANCHOR0 - ldrb w0, [x0,204] + ldrb w0, [x0,724] add w0, w0, w0, lsl 1 cmp w4, w0, lsr 2 - bcc .L1733 -.L1722: + bcc .L1769 +.L1758: ldr w0, [x29,112] add w21, w21, 1 cmp w21, w0 - bne .L1725 - b .L1724 -.L1733: + bne .L1761 + b .L1760 +.L1769: mov w19, w4 -.L1724: +.L1760: add x0, x20, :lo12:.LANCHOR0 - ldrb w0, [x0,205] + ldrb w0, [x0,725] cmp w0, 36 mov x0, x23 - bne .L1726 + bne .L1762 mov w1, 0 mov w2, 1 -.L1755: +.L1791: bl toshiba_tlc_set_rr_para - b .L1718 -.L1726: + b .L1754 +.L1762: mov w1, 0 bl toshiba_3d_set_tlc_rr_para -.L1718: +.L1754: add x0, x20, :lo12:.LANCHOR0 - ldrb w0, [x0,205] + ldrb w0, [x0,725] cmp w0, 36 - bne .L1727 + bne .L1763 ubfiz x22, x22, 8, 8 mov w0, 85 add x25, x25, x22 @@ -10805,21 +10988,21 @@ toshiba_3d_read_retrial: str wzr, [x25,2052] str wzr, [x25,2048] str w0, [x25,2056] -.L1727: +.L1763: add x20, x20, :lo12:.LANCHOR0 - ldrb w0, [x20,204] + ldrb w0, [x20,724] add w0, w0, w0, lsl 1 cmp w19, w0, lsr 2 - bcc .L1728 + bcc .L1764 cmn w19, #1 mov w0, 256 csel w19, w19, w0, eq -.L1728: +.L1764: cmn w19, #1 - beq .L1734 + beq .L1770 cmp w19, 256 - bne .L1729 -.L1734: + bne .L1765 +.L1770: adrp x0, .LC147 mov w1, w21 add x0, x0, :lo12:.LC147 @@ -10827,7 +11010,7 @@ toshiba_3d_read_retrial: mov w3, w21 mov w4, w19 bl printk -.L1729: +.L1765: bl nandc_wait_flash_ready mov w0, w19 ldp x19, x20, [sp,16] @@ -10861,26 +11044,26 @@ toshiba_read_retrial: sxtw x0, w23 add x21, x0, 8 str x0, [x29,112] - ldrb w0, [x1,205] - ldr x22, [x1,16] + ldrb w0, [x1,725] + ldr x22, [x1,536] sub w0, w0, #67 add x21, x22, x21, lsl 8 uxtb w0, w0 cmp w0, 1 - bls .L1757 - ldrb w0, [x1,152] - cbz w0, .L1758 + bls .L1793 + ldrb w0, [x1,672] + cbz w0, .L1794 mov w0, 1 mov w25, 1 bl nandc_set_if_mode -.L1758: +.L1794: ubfiz x0, x23, 8, 8 mov w1, 92 add x0, x22, x0 str w1, [x0,2056] mov w1, 197 str w1, [x0,2056] -.L1757: +.L1793: ldr x0, [x29,112] mov w20, 1 mov w24, -1 @@ -10889,41 +11072,41 @@ toshiba_read_retrial: str x0, [x29,104] ubfiz x0, x23, 8, 8 str x0, [x29,96] -.L1759: +.L1795: adrp x0, .LANCHOR4 add x0, x0, :lo12:.LANCHOR4 - ldrb w0, [x0,1232] + ldrb w0, [x0,1216] add w0, w0, 1 cmp w20, w0 - bcs .L1790 + bcs .L1826 add x0, x19, :lo12:.LANCHOR0 mov w1, w20 - ldrb w0, [x0,205] + ldrb w0, [x0,725] sub w0, w0, #67 uxtb w0, w0 cmp w0, 1 mov x0, x21 - bhi .L1760 + bhi .L1796 bl sandisk_set_rr_para - b .L1761 -.L1760: + b .L1797 +.L1796: bl toshiba_set_rr_para -.L1761: +.L1797: add x0, x19, :lo12:.LANCHOR0 - ldrb w0, [x0,205] + ldrb w0, [x0,725] cmp w0, 34 - bne .L1762 + bne .L1798 adrp x0, .LANCHOR4 add x0, x0, :lo12:.LANCHOR4 - ldrb w0, [x0,1232] + ldrb w0, [x0,1216] sub w0, w0, #3 cmp w20, w0 - bne .L1762 + bne .L1798 ldr x0, [x29,104] mov w1, 179 add x0, x22, x0 str w1, [x0,8] -.L1762: +.L1798: ldr x0, [x29,96] mov w1, 38 ldr w4, [x29,120] @@ -10938,56 +11121,56 @@ toshiba_read_retrial: bl flash_read_page cmn w0, #1 mov w28, w0 - beq .L1765 + beq .L1801 cmn w24, #1 csel w24, w24, w0, ne adrp x0, .LANCHOR4 add x0, x0, :lo12:.LANCHOR4 - ldr x26, [x0,1208] - ldr x27, [x0,1224] + ldr x26, [x0,1192] + ldr x27, [x0,1208] add x0, x19, :lo12:.LANCHOR0 - ldrb w0, [x0,204] + ldrb w0, [x0,724] add w0, w0, w0, lsl 1 cmp w28, w0, lsr 2 - bcc .L1767 -.L1765: + bcc .L1803 +.L1801: add w20, w20, 1 - b .L1759 -.L1790: + b .L1795 +.L1826: mov w28, w24 -.L1767: +.L1803: add x0, x19, :lo12:.LANCHOR0 mov w1, 0 - ldrb w0, [x0,205] + ldrb w0, [x0,725] sub w0, w0, #67 uxtb w0, w0 cmp w0, 1 mov x0, x21 - bhi .L1769 + bhi .L1805 bl sandisk_set_rr_para - b .L1770 -.L1769: + b .L1806 +.L1805: bl toshiba_set_rr_para -.L1770: +.L1806: ldr x0, [x29,112] add x19, x19, :lo12:.LANCHOR0 add x0, x0, 8 add x22, x22, x0, lsl 8 mov w0, 255 str w0, [x22,8] - ldrb w0, [x19,204] + ldrb w0, [x19,724] add w0, w0, w0, lsl 1 cmp w28, w0, lsr 2 - bcc .L1771 + bcc .L1807 cmn w28, #1 mov w0, 256 csel w28, w28, w0, eq -.L1771: +.L1807: cmn w28, #1 - beq .L1777 + beq .L1813 cmp w28, 256 - bne .L1772 -.L1777: + bne .L1808 +.L1813: adrp x0, .LC147 ldr w2, [x29,124] add x0, x0, :lo12:.LC147 @@ -10995,12 +11178,12 @@ toshiba_read_retrial: mov w3, w20 mov w4, w28 bl printk -.L1772: +.L1808: bl nandc_wait_flash_ready - cbz w25, .L1774 + cbz w25, .L1810 mov w0, 4 bl nandc_set_if_mode -.L1774: +.L1810: mov w0, w28 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -11026,7 +11209,7 @@ hynix_read_retrial: stp x23, x24, [sp,48] mov x25, x2 mov w23, w1 - ldr x5, [x0,208] + ldr x5, [x0,728] mov x26, x3 str w4, [x29,124] mov x22, x21 @@ -11038,9 +11221,9 @@ hynix_read_retrial: bl nandc_wait_flash_ready mov w6, 0 adrp x7, .LANCHOR4 -.L1792: +.L1828: cmp w6, w24 - bcs .L1796 + bcs .L1832 add w20, w20, 1 mov w0, w22 str x7, [x29,104] @@ -11059,39 +11242,39 @@ hynix_read_retrial: cmn w0, #1 ldr x6, [x29,112] ldr x7, [x29,104] - beq .L1794 + beq .L1830 add x1, x7, :lo12:.LANCHOR4 cmn w19, #1 csel w19, w19, w0, ne - ldr x25, [x1,1208] - ldr x26, [x1,1224] + ldr x25, [x1,1192] + ldr x26, [x1,1208] add x1, x28, :lo12:.LANCHOR0 - ldrb w1, [x1,204] + ldrb w1, [x1,724] add w1, w1, w1, lsl 1 cmp w0, w1, lsr 2 - bcc .L1801 -.L1794: + bcc .L1837 +.L1830: add w6, w6, 1 - b .L1792 -.L1801: + b .L1828 +.L1837: mov w19, w0 -.L1796: +.L1832: add x28, x28, :lo12:.LANCHOR0 add x21, x27, x21 - ldrb w0, [x28,204] + ldrb w0, [x28,724] strb w20, [x21,8] add w0, w0, w0, lsl 1 cmp w19, w0, lsr 2 - bcc .L1798 + bcc .L1834 cmn w19, #1 mov w0, 256 csel w19, w19, w0, eq -.L1798: +.L1834: cmn w19, #1 - beq .L1802 + beq .L1838 cmp w19, 256 - bne .L1799 -.L1802: + bne .L1835 +.L1838: adrp x0, .LC148 mov w1, w6 add x0, x0, :lo12:.LC148 @@ -11099,7 +11282,7 @@ hynix_read_retrial: mov w3, w6 mov w4, w19 bl printk -.L1799: +.L1835: mov w0, w19 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -11138,7 +11321,7 @@ flash_ddr_tuning_read: mov w21, 6 mov w19, -1 str x0, [x29,104] -.L1817: +.L1853: mov w0, w21 bl nandc_set_ddr_para ldr w4, [x29,116] @@ -11150,7 +11333,7 @@ flash_ddr_tuning_read: mov w4, w0 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 4, .L1812 + tbz x0, 4, .L1848 ldr x0, [x29,104] mov w3, w4 mov w1, w21 @@ -11158,74 +11341,74 @@ flash_ddr_tuning_read: str x4, [x29,96] bl printk ldr x4, [x29,96] -.L1812: +.L1848: add w0, w25, 1 cmp w4, w0 - bhi .L1813 + bhi .L1849 adrp x0, .LANCHOR4 add x0, x0, :lo12:.LANCHOR4 - ldr x23, [x0,1208] - ldr x24, [x0,1224] + ldr x23, [x0,1192] + ldr x24, [x0,1208] adrp x0, .LANCHOR0 add x0, x0, :lo12:.LANCHOR0 - ldrb w0, [x0,204] + ldrb w0, [x0,724] cmp w4, w0, lsr 2 - bcs .L1822 + bcs .L1858 add w27, w27, 1 cmp w27, 7 - bls .L1822 + bls .L1858 sub w26, w21, w27 mov w25, w4 mov w19, 0 - b .L1815 -.L1813: + b .L1851 +.L1849: cmp w28, w27 - bcs .L1823 + bcs .L1859 cmp w27, 7 sub w22, w26, w27 - bhi .L1816 + bhi .L1852 mov w28, w27 - b .L1823 -.L1822: + b .L1859 +.L1858: mov w26, w21 mov w25, w4 mov w19, 0 - b .L1814 -.L1823: + b .L1850 +.L1859: mov w27, 0 -.L1814: +.L1850: add w21, w21, 2 cmp w21, 50 - bne .L1817 -.L1815: + bne .L1853 +.L1851: cmp w28, w27 csel w26, w26, w22, ls -.L1816: - cbz w26, .L1818 - adrp x0, .LANCHOR0+204 +.L1852: + cbz w26, .L1854 + adrp x0, .LANCHOR0+724 mov w1, 3 - ldrb w0, [x0,#:lo12:.LANCHOR0+204] + ldrb w0, [x0,#:lo12:.LANCHOR0+724] udiv w0, w0, w1 cmp w25, w0 - bcs .L1818 + bcs .L1854 adrp x0, .LC150 mov w1, w26 add x0, x0, :lo12:.LC150 bl printk mov w0, w26 - b .L1831 -.L1818: + b .L1867 +.L1854: ldrb w0, [x29,120] -.L1831: +.L1867: bl nandc_set_ddr_para - cbz w19, .L1820 + cbz w19, .L1856 adrp x0, .LC151 ldr w1, [x29,124] add x0, x0, :lo12:.LC151 mov w2, w20 mov w25, w19 bl printk -.L1820: +.L1856: mov w0, w25 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -11251,53 +11434,58 @@ flash_read_page_en: stp x25, x26, [sp,64] mov w19, w1 mov x25, x2 - ldrb w0, [x0,114] + ldrb w0, [x0,633] mov x24, x3 mov w23, w4 ubfx x26, x19, 24, 2 cmp w0, w21 - bhi .L1833 + bhi .L1869 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 - add x0, x0, :lo12:.LC0 + mov w2, 377 add x1, x1, 136 - mov w2, 378 + add x0, x0, :lo12:.LC0 bl printk -.L1833: + bl dump_stack +.L1869: add x0, x20, :lo12:.LANCHOR0 - add x21, x0, x21, sxtw + add x1, x0, x21, sxtw + ldrb w22, [x1,736] + ldrb w0, [x0,633] + cmp w0, w21 + bcs .L1870 adrp x0, .LANCHOR2 - ldrb w22, [x21,216] ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 4, .L1834 + tbz x0, 6, .L1870 adrp x0, .LC152 mov w1, w22 add x0, x0, :lo12:.LC152 - mov w2, w19 + mov w2, w21 + mov w3, w19 bl printk -.L1834: - cbnz w26, .L1835 +.L1870: + cbnz w26, .L1871 + ldrb w1, [x20,#:lo12:.LANCHOR0] add x0, x20, :lo12:.LANCHOR0 - ldrb w1, [x0,113] - cbz w1, .L1836 - ldrb w0, [x0,224] - cbz w0, .L1835 -.L1836: + cbz w1, .L1872 + ldrb w0, [x0,1] + cbz w0, .L1871 +.L1872: add x1, x20, :lo12:.LANCHOR0 - ldrh w2, [x1,226] + ldrh w2, [x1,2] udiv w0, w19, w2 mul w0, w0, w2 - ldrb w2, [x1,224] + ldrb w2, [x1,1] sub w19, w19, w0 - cbz w2, .L1837 + cbz w2, .L1873 add w19, w0, w19, lsl 1 - b .L1835 -.L1837: - add x1, x1, 228 + b .L1871 +.L1873: + add x1, x1, 4 ldrh w19, [x1,w19,uxtw 1] add w19, w19, w0 -.L1835: +.L1871: mov w0, w22 mov w1, w19 mov x2, x25 @@ -11306,28 +11494,28 @@ flash_read_page_en: bl flash_read_page cmn w0, #1 mov w21, w0 - bne .L1844 + bne .L1880 add x26, x20, :lo12:.LANCHOR0 - ldrb w27, [x26,200] - cbnz w27, .L1839 -.L1842: - adrp x0, .LANCHOR4+1240 - ldr x5, [x0,#:lo12:.LANCHOR4+1240] - cbnz x5, .L1840 - b .L1841 -.L1839: + ldrb w27, [x26,720] + cbnz w27, .L1875 +.L1878: + adrp x0, .LANCHOR4+1224 + ldr x5, [x0,#:lo12:.LANCHOR4+1224] + cbnz x5, .L1876 + b .L1877 +.L1875: mov w0, w22 mov w1, w19 mov x2, x25 mov x3, x24 mov w4, w23 - strb wzr, [x26,200] + strb wzr, [x26,720] bl flash_read_page - strb w27, [x26,200] + strb w27, [x26,720] cmn w0, #1 - beq .L1842 - b .L1860 -.L1840: + beq .L1878 + b .L1896 +.L1876: mov w0, w22 mov w1, w19 mov x2, x25 @@ -11335,27 +11523,27 @@ flash_read_page_en: mov w4, w23 blr x5 cmn w0, #1 - bne .L1860 -.L1841: + bne .L1896 +.L1877: add x20, x20, :lo12:.LANCHOR0 adrp x0, .LC153 add x0, x0, :lo12:.LC153 mov w1, 0 mov w2, w19 mov w3, -1 - ldrb w4, [x20,200] + ldrb w4, [x20,720] bl printk - ldrb w0, [x20,152] - cbz w0, .L1844 + ldrb w0, [x20,672] + cbz w0, .L1880 mov w0, w22 mov w1, w19 mov x2, x25 mov x3, x24 mov w4, w23 bl flash_ddr_tuning_read -.L1860: +.L1896: mov w21, w0 -.L1844: +.L1880: mov w0, w21 ldr x27, [sp,80] ldp x19, x20, [sp,16] @@ -11373,11 +11561,11 @@ flash_get_last_written_page: add x29, sp, 0 stp x23, x24, [sp,48] uxtb w23, w0 - adrp x0, .LANCHOR4+1108 + adrp x0, .LANCHOR4+1092 stp x19, x20, [sp,16] adrp x20, .LANCHOR2 mov x24, x2 - ldrh w19, [x0,#:lo12:.LANCHOR4+1108] + ldrh w19, [x0,#:lo12:.LANCHOR4+1092] add x0, x20, :lo12:.LANCHOR2 stp x21, x22, [sp,32] stp x25, x26, [sp,64] @@ -11394,12 +11582,12 @@ flash_get_last_written_page: add w1, w26, w19 bl flash_read_page_en cmp w0, 512 - bne .L1862 + bne .L1898 mov w28, 0 mov w5, 2 -.L1863: +.L1899: cmp w28, w19 - bgt .L1862 + bgt .L1898 add w0, w28, w19 mov x2, x24 mov x3, x21 @@ -11411,24 +11599,24 @@ flash_get_last_written_page: bl flash_read_page_en cmp w0, 512 ldr x5, [x29,104] - bne .L1864 + bne .L1900 sub w19, w20, #1 sxth w19, w19 - b .L1863 -.L1864: + b .L1899 +.L1900: add w20, w20, 1 sxth w28, w20 - b .L1863 -.L1862: + b .L1899 +.L1898: ldr w0, [x27,#:lo12:.LANCHOR2] - tbz x0, 12, .L1867 + tbz x0, 12, .L1903 adrp x0, .LC154 ldr w3, [x21] add x0, x0, :lo12:.LC154 mov w1, w22 mov w2, w19 bl printk -.L1867: +.L1903: mov w0, w19 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -11443,12 +11631,12 @@ flash_get_last_written_page: .type flash_get_last_written_page_ext, %function flash_get_last_written_page_ext: uxth w6, w0 - adrp x0, .LANCHOR0+3356 + adrp x0, .LANCHOR0+3340 stp x29, x30, [sp, -16]! mov w5, 21 mov x8, x1 add x29, sp, 0 - ldrh w0, [x0,#:lo12:.LANCHOR0+3356] + ldrh w0, [x0,#:lo12:.LANCHOR0+3340] mov x7, x2 mov w4, w3 mov x2, x8 @@ -11475,145 +11663,145 @@ flash_info_blk_init: stp x21, x22, [sp,32] stp x23, x24, [sp,48] adrp x20, .LANCHOR0 - tbz x0, 12, .L1873 + tbz x0, 12, .L1909 add x4, x20, :lo12:.LANCHOR0 adrp x2, .LANCHOR3 adrp x0, .LC155 add x2, x2, :lo12:.LANCHOR3 add x0, x0, :lo12:.LC155 mov w1, 49 - ldr x4, [x4,208] + ldr x4, [x4,728] add x2, x2, 160 mov w3, 2048 bl printk -.L1873: +.L1909: mov w22, 4 adrp x24, .LANCHOR4 -.L1876: +.L1912: add x19, x20, :lo12:.LANCHOR0 add x21, x24, :lo12:.LANCHOR4 mov w0, 0 mov w4, 4 adrp x23, .LANCHOR4 - ldrh w1, [x19,226] - ldr x2, [x19,208] - ldr x3, [x21,1248] + ldrh w1, [x19,2] + ldr x2, [x19,728] + ldr x3, [x21,1232] mul w1, w22, w1 bl flash_read_page_en cmn w0, #1 - beq .L1874 - ldr x2, [x19,208] + beq .L1910 + ldr x2, [x19,728] mov w0, 21321 movk w0, 0x5359, lsl 16 ldr w1, [x2] cmp w1, w0 - beq .L1875 -.L1874: + beq .L1911 +.L1910: add w22, w22, 1 cmp w22, 16 - bne .L1876 -.L1900: + bne .L1912 +.L1936: mov w0, -1 - b .L1899 -.L1875: + b .L1935 +.L1911: ldrb w1, [x2,36] mov w4, 4 - ldrh w3, [x19,226] - strb w1, [x21,1256] + ldrh w3, [x19,2] + strb w1, [x21,1240] ldrb w0, [x2,37] mul w1, w1, w3 - ldr x3, [x21,1248] - strb w0, [x21,1257] + ldr x3, [x21,1232] + strb w0, [x21,1241] mov w0, 0 mov w21, 0 bl flash_read_page_en cmn w0, #1 - beq .L1878 - ldr x0, [x19,208] + beq .L1914 + ldr x0, [x19,728] mov w1, 21321 movk w1, 0x5359, lsl 16 mov w21, 0 ldr w2, [x0] cmp w2, w1 - bne .L1878 + bne .L1914 ldr w21, [x0,4] -.L1878: +.L1914: add x19, x23, :lo12:.LANCHOR4 add x22, x20, :lo12:.LANCHOR0 mov w0, 0 mov w4, 4 - ldrb w2, [x19,1257] - ldrh w1, [x22,226] - ldr x3, [x19,1248] + ldrb w2, [x19,1241] + ldrh w1, [x22,2] + ldr x3, [x19,1232] mul w1, w2, w1 - ldr x2, [x22,208] + ldr x2, [x22,728] bl flash_read_page_en cmn w0, #1 - beq .L1879 - ldr x0, [x22,208] + beq .L1915 + ldr x0, [x22,728] mov w1, 21321 movk w1, 0x5359, lsl 16 ldr w2, [x0] cmp w2, w1 - bne .L1879 + bne .L1915 ldr w1, [x0,4] cmp w21, w1 - bcs .L1879 + bcs .L1915 ldrb w1, [x0,37] ldrb w0, [x0,36] - strb w1, [x19,1256] - strb w0, [x19,1257] -.L1879: + strb w1, [x19,1240] + strb w0, [x19,1241] +.L1915: add x21, x23, :lo12:.LANCHOR4 add x22, x20, :lo12:.LANCHOR0 mov w0, 0 mov w4, 4 - ldrb w1, [x21,1256] - ldr x3, [x21,1248] - ldr x2, [x22,208] + ldrb w1, [x21,1240] + ldr x3, [x21,1232] + ldr x2, [x22,728] bl flash_get_last_written_page sxth w19, w0 add w0, w0, 1 - strh w0, [x21,1258] - ldrb w0, [x21,1256] - ldrh w21, [x22,226] + strh w0, [x21,1242] + ldrb w0, [x21,1240] + ldrh w21, [x22,2] mul w21, w0, w21 -.L1880: - tbnz w19, #31, .L1901 +.L1916: + tbnz w19, #31, .L1937 add x22, x20, :lo12:.LANCHOR0 add x3, x23, :lo12:.LANCHOR4 mov w0, 0 add w1, w19, w21 mov w4, 4 - ldr x2, [x22,208] - ldr x3, [x3,1248] + ldr x2, [x22,728] + ldr x3, [x3,1232] bl flash_read_page_en cmn w0, #1 - beq .L1881 - ldr x0, [x22,208] + beq .L1917 + ldr x0, [x22,728] ldr w1, [x0] mov w0, 21321 movk w0, 0x5359, lsl 16 cmp w1, w0 - bne .L1881 -.L1883: + bne .L1917 +.L1919: mov w0, 0 - b .L1899 -.L1881: + b .L1935 +.L1917: sub w19, w19, #1 sxth w19, w19 - b .L1880 -.L1901: + b .L1916 +.L1937: cmn w19, #1 - bne .L1883 + bne .L1919 add x20, x20, :lo12:.LANCHOR0 adrp x0, .LC156 add x0, x0, :lo12:.LC156 - ldr x1, [x20,208] + ldr x1, [x20,728] ldr w1, [x1] bl printk - b .L1900 -.L1899: + b .L1936 +.L1935: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -11637,37 +11825,37 @@ flash_ddr_para_scan: mov w23, w1 ldrb w0, [x21,780] add x20, x20, :lo12:.LANCHOR4 - strb w22, [x21,152] + strb w22, [x21,672] bl flash_set_interface_mode ldrb w0, [x21,780] bl nandc_set_if_mode - ldr x2, [x20,1264] + ldr x2, [x20,1248] mov w1, w23 - ldr x3, [x20,1272] + ldr x3, [x20,1256] mov w4, 4 mov w0, w24 bl flash_ddr_tuning_read - ldr x2, [x20,1264] + ldr x2, [x20,1248] mov w0, w24 - ldr x3, [x20,1272] + ldr x3, [x20,1256] mov w1, w23 mov w4, 4 bl flash_read_page cmn w0, #1 - bne .L1903 + bne .L1939 ldrb w0, [x21,780] - tbz x0, 0, .L1903 + tbz x0, 0, .L1939 mov w0, 1 bl flash_set_interface_mode mov w0, w22 bl nandc_set_if_mode - strb wzr, [x21,152] - b .L1904 -.L1903: + strb wzr, [x21,672] + b .L1940 +.L1939: add x19, x19, :lo12:.LANCHOR0 mov w0, 1 - strb w0, [x19,152] -.L1904: + strb w0, [x19,672] +.L1940: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -11676,8 +11864,8 @@ flash_ddr_para_scan: ret .size flash_ddr_para_scan, .-flash_ddr_para_scan .align 2 - .type id_block_read_data.constprop.29, %function -id_block_read_data.constprop.29: + .type id_block_read_data.constprop.27, %function +id_block_read_data.constprop.27: stp x29, x30, [sp, -240]! add x29, sp, 0 stp x27, x28, [sp,80] @@ -11688,7 +11876,7 @@ id_block_read_data.constprop.29: str x1, [x29,120] stp x25, x26, [sp,64] mov w26, w0 - ldr x0, [x19,104] + ldr x0, [x19,624] stp x21, x22, [sp,32] stp x23, x24, [sp,48] mov x21, x2 @@ -11699,10 +11887,10 @@ id_block_read_data.constprop.29: mov w25, w22 str w2, [x29,164] mul w0, w2, w0 - ldrb w2, [x19,200] + ldrb w2, [x19,720] str w2, [x29,136] uxth w0, w0 - strb wzr, [x19,200] + strb wzr, [x19,720] udiv w2, w26, w0 msub w0, w2, w0, w26 str w0, [x29,172] @@ -11714,9 +11902,9 @@ id_block_read_data.constprop.29: adrp x0, .LC157 add x0, x0, :lo12:.LC157 str x0, [x29,112] -.L1909: +.L1945: cmp w22, w27 - bcs .L1946 + bcs .L1982 ldr w0, [x29,168] adrp x1, .LANCHOR4 add x1, x1, :lo12:.LANCHOR4 @@ -11724,36 +11912,36 @@ id_block_read_data.constprop.29: uxth w0, w0 str w0, [x29,144] ldr w0, [x29,172] - ldrb w1, [x1,1280] + ldrb w1, [x1,1264] add w20, w22, w0 - add x0, x19, 228 + add x0, x19, 4 udiv w20, w20, w23 and w20, w20, 65535 ldrh w0, [x0,w20,sxtw 1] - cbnz w1, .L1910 + cbnz w1, .L1946 mov w20, w0 - b .L1911 -.L1910: - ldrb w1, [x19,224] + b .L1947 +.L1946: + ldrb w1, [x19,1] lsl w0, w20, 1 cmp w1, wzr csel w20, w0, w20, ne -.L1911: +.L1947: ldr w1, [x29,160] ldr w0, [x29,164] - ldrb w28, [x19,112] + ldrb w28, [x19,632] madd w0, w20, w0, w1 ldr w1, [x29,168] str w0, [x29,140] add w24, w0, w1 - ldr x0, [x19,104] + ldr x0, [x19,624] ldrb w0, [x0,9] udiv w24, w24, w0 - ldrb w0, [x19,204] + ldrb w0, [x19,724] str w0, [x29,132] mov w0, w28 bl nandc_bch_sel -.L1912: +.L1948: mov w0, 0 mov w1, w24 mov x2, x21 @@ -11762,30 +11950,30 @@ id_block_read_data.constprop.29: bl flash_read_page cmn w0, #1 mov w20, w0 - bne .L1919 - ldrb w6, [x19,200] - cbnz w6, .L1914 -.L1917: + bne .L1955 + ldrb w6, [x19,720] + cbnz w6, .L1950 +.L1953: adrp x0, .LANCHOR4 add x0, x0, :lo12:.LANCHOR4 - ldr x6, [x0,1240] - cbnz x6, .L1915 - b .L1916 -.L1914: + ldr x6, [x0,1224] + cbnz x6, .L1951 + b .L1952 +.L1950: mov w0, 0 mov w1, w24 mov x2, x21 add x3, x29, 176 mov w4, w23 str x6, [x29,104] - strb wzr, [x19,200] + strb wzr, [x19,720] bl flash_read_page cmn w0, #1 ldr x6, [x29,104] - strb w6, [x19,200] - beq .L1917 - b .L1945 -.L1915: + strb w6, [x19,720] + beq .L1953 + b .L1981 +.L1951: mov w0, 0 mov w1, w24 mov x2, x21 @@ -11793,28 +11981,28 @@ id_block_read_data.constprop.29: mov w4, w23 blr x6 cmn w0, #1 - bne .L1945 -.L1916: - ldrb w0, [x19,152] - cbz w0, .L1919 + bne .L1981 +.L1952: + ldrb w0, [x19,672] + cbz w0, .L1955 mov w0, 0 mov w1, w24 mov x2, x21 add x3, x29, 176 mov w4, w23 bl flash_ddr_tuning_read -.L1945: +.L1981: mov w20, w0 -.L1919: +.L1955: cmn w20, #1 - bne .L1920 + bne .L1956 cmp w28, 16 - beq .L1920 + beq .L1956 mov w0, 16 mov w28, 16 bl nandc_bch_sel - b .L1912 -.L1920: + b .L1948 +.L1956: ldr w0, [x29,132] bl nandc_bch_sel cmn w20, #1 @@ -11825,18 +12013,18 @@ id_block_read_data.constprop.29: cmp w0, w26 cset w0, eq tst w1, w0 - beq .L1922 - cbnz w25, .L1922 + beq .L1958 + cbnz w25, .L1958 ldr w1, [x21] mov w0, 18766 movk w0, 0x464e, lsl 16 cmp w1, w0 - bne .L1922 + bne .L1958 ldr w0, [x29,144] ldrb w23, [x21,17] add w27, w27, w0 - b .L1923 -.L1922: + b .L1959 +.L1958: ldr x0, [x29,144] mov w2, w22 ldr w1, [x29,140] @@ -11847,16 +12035,16 @@ id_block_read_data.constprop.29: ldr x0, [x29,112] bl printk str wzr, [x29,168] -.L1923: +.L1959: ldr w0, [x29,144] add w22, w0, w22 uxth w22, w22 - b .L1909 -.L1946: + b .L1945 +.L1982: ldr x0, [x29,120] ldrb w1, [x29,136] add x0, x0, :lo12:.LANCHOR0 - strb w1, [x0,200] + strb w1, [x0,720] mov w0, w25 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -11865,7 +12053,119 @@ id_block_read_data.constprop.29: ldp x27, x28, [sp,80] ldp x29, x30, [sp], 240 ret - .size id_block_read_data.constprop.29, .-id_block_read_data.constprop.29 + .size id_block_read_data.constprop.27, .-id_block_read_data.constprop.27 + .align 2 + .global flash_complete_plane_page_read + .type flash_complete_plane_page_read, %function +flash_complete_plane_page_read: + stp x29, x30, [sp, -80]! + add x29, sp, 0 + stp x21, x22, [sp,32] + adrp x21, .LANCHOR0 + ubfx x22, x0, 21, 3 + stp x19, x20, [sp,16] + and w19, w0, 2097151 + ubfx x20, x0, 24, 2 + add x0, x21, :lo12:.LANCHOR0 + str x25, [sp,64] + stp x23, x24, [sp,48] + mov x24, x1 + mov x23, x2 + ldrb w0, [x0,633] + cmp w0, w22 + bhi .L1984 + adrp x1, .LANCHOR3 + adrp x0, .LC0 + add x1, x1, :lo12:.LANCHOR3 + mov w2, 782 + add x1, x1, 184 + add x0, x0, :lo12:.LC0 + bl printk + bl dump_stack +.L1984: + add x0, x21, :lo12:.LANCHOR0 + add x22, x0, x22, sxtw + ldrb w22, [x22,736] + ldr x25, [x0,536] + mov w0, w22 + bl nandc_cs + cbnz w20, .L1985 + mov w0, w19 + bl slc_phy_page_address_calc + mov w19, w0 +.L1985: + add x3, x21, :lo12:.LANCHOR0 + uxtb x5, w22 + and w2, w19, 255 + lsr w1, w19, 8 + ldrb w0, [x3,656] + cmp w0, 1 + lsr w0, w19, 16 + bne .L1986 + add x5, x25, x5, lsl 8 + mov w3, 6 + b .L1999 +.L1986: + ldr x3, [x3,624] + add x5, x25, x5, lsl 8 + ldrb w3, [x3,12] + cmp w3, 3 + bne .L1988 + mov w3, 5 +.L1999: + str w3, [x5,2056] + str wzr, [x5,2052] + str wzr, [x5,2052] + str w2, [x5,2052] + str w1, [x5,2052] + str w0, [x5,2052] + b .L1997 +.L1988: + str wzr, [x5,2056] + str wzr, [x5,2052] + str wzr, [x5,2052] + str w2, [x5,2052] + str w1, [x5,2052] + str w0, [x5,2052] + mov w0, 5 + str w0, [x5,2056] + str wzr, [x5,2052] + str wzr, [x5,2052] +.L1997: + mov w0, 224 + str w0, [x5,2056] + cbz w20, .L1989 + add x21, x21, :lo12:.LANCHOR0 + ldr x0, [x21,624] + ldrb w0, [x0,12] + cmp w0, 3 + bne .L1989 + sub w20, w20, #1 + add w0, w19, w19, lsl 1 + add w0, w20, w0 + b .L1998 +.L1989: + mov w0, w19 +.L1998: + bl nandc_set_seed + adrp x2, .LANCHOR2+385 + mov x3, x24 + mov x4, x23 + mov w1, 0 + mov w0, w22 + ldrb w2, [x2,#:lo12:.LANCHOR2+385] + bl nandc_xfer + mov w19, w0 + mov w0, w22 + bl nandc_de_cs + ldr x25, [sp,64] + mov w0, w19 + ldp x19, x20, [sp,16] + ldp x21, x22, [sp,32] + ldp x23, x24, [sp,48] + ldp x29, x30, [sp], 80 + ret + .size flash_complete_plane_page_read, .-flash_complete_plane_page_read .align 2 .global flash_complete_page_read .type flash_complete_page_read, %function @@ -11873,82 +12173,68 @@ flash_complete_page_read: stp x29, x30, [sp, -112]! add x29, sp, 0 stp x19, x20, [sp,16] - adrp x20, .LANCHOR0 - and w19, w0, 2097151 + adrp x19, .LANCHOR0 + and w20, w0, 2097151 stp x23, x24, [sp,48] mov w24, w0 - add x0, x20, :lo12:.LANCHOR0 - stp x25, x26, [sp,64] + add x0, x19, :lo12:.LANCHOR0 stp x21, x22, [sp,32] + stp x25, x26, [sp,64] stp x27, x28, [sp,80] - ubfx x23, x24, 21, 3 + ubfx x21, x24, 21, 3 mov x25, x1 - ldrb w0, [x0,114] + ldrb w0, [x0,633] mov x26, x2 ubfx x22, x24, 24, 2 - cmp w0, w23 - bhi .L1948 + cmp w0, w21 + bhi .L2001 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 + mov w2, 904 + add x1, x1, 216 add x0, x0, :lo12:.LC0 - add x1, x1, 184 - mov w2, 789 bl printk -.L1948: - add x21, x20, :lo12:.LANCHOR0 - add x23, x21, x23, sxtw - ldrb w23, [x23,216] + bl dump_stack +.L2001: + add x0, x19, :lo12:.LANCHOR0 + add x21, x0, x21, sxtw + ldrb w23, [x21,736] + ldr x21, [x0,536] mov w0, w23 - ldr x27, [x21,16] bl nandc_cs - cbnz w22, .L1949 - ldrb w0, [x21,113] - cbz w0, .L1950 - ldrb w0, [x21,224] - cbz w0, .L1949 -.L1950: - add x1, x20, :lo12:.LANCHOR0 - ldrh w2, [x1,226] - udiv w0, w19, w2 - mul w0, w0, w2 - ldrb w2, [x1,224] - sub w19, w19, w0 - cbz w2, .L1951 - add w19, w0, w19, lsl 1 - b .L1949 -.L1951: - add x1, x1, 228 - ldrh w19, [x1,w19,uxtw 1] - add w19, w19, w0 -.L1949: + cbnz w22, .L2002 + mov w0, w20 + bl slc_phy_page_address_calc + mov w20, w0 +.L2002: ubfiz x0, x23, 8, 8 - add x5, x27, x0 + add x5, x21, x0 mov w0, 5 str w0, [x5,2056] - and w0, w19, 255 + and w0, w20, 255 str wzr, [x5,2052] str wzr, [x5,2052] str w0, [x5,2052] - lsr w0, w19, 8 + lsr w0, w20, 8 str w0, [x5,2052] - lsr w0, w19, 16 + lsr w0, w20, 16 str w0, [x5,2052] mov w0, 224 str w0, [x5,2056] - cbz w22, .L1952 - add x0, x20, :lo12:.LANCHOR0 - ldr x0, [x0,104] + cbz w22, .L2003 + add x0, x19, :lo12:.LANCHOR0 + ldr x0, [x0,624] ldrb w0, [x0,12] cmp w0, 3 - bne .L1952 + bne .L2003 sub w0, w22, #1 - add w1, w19, w19, lsl 1 + add w1, w20, w20, lsl 1 add w0, w0, w1 - b .L1990 -.L1952: - mov w0, w19 -.L1990: + b .L2035 +.L2003: + mov w0, w20 +.L2035: adrp x21, .LANCHOR2 bl nandc_set_seed add x27, x21, :lo12:.LANCHOR2 @@ -11960,29 +12246,29 @@ flash_complete_page_read: ldrb w2, [x27,9] bl nandc_xfer cmn w0, #1 - bne .L1954 - add x28, x20, :lo12:.LANCHOR0 - ldrb w5, [x28,200] - cbz w5, .L1955 + bne .L2005 + add x28, x19, :lo12:.LANCHOR0 + ldrb w5, [x28,720] + cbz w5, .L2006 ldrb w4, [x27,9] mov w0, w23 - orr w1, w19, w22, lsl 24 + orr w1, w20, w22, lsl 24 mov x2, x25 mov x3, x26 str x5, [x29,104] - strb wzr, [x28,200] + strb wzr, [x28,720] bl flash_read_page ldr x5, [x29,104] - strb w5, [x28,200] - cbnz w22, .L1956 -.L1963: - add x1, x20, :lo12:.LANCHOR0 - ldrb w2, [x1,113] - cbz w2, .L1956 - ldrb w1, [x1,204] + strb w5, [x28,720] + cbnz w22, .L2007 +.L2014: + ldrb w2, [x19,#:lo12:.LANCHOR0] + add x1, x19, :lo12:.LANCHOR0 + cbz w2, .L2007 + ldrb w1, [x1,724] add w1, w1, w1, lsl 1 cmp w0, w1, lsr 2 - blt .L1956 + blt .L2007 add x21, x21, :lo12:.LANCHOR2 ldrb w1, [x21,395] sub w1, w1, #4 @@ -11990,54 +12276,54 @@ flash_complete_page_read: cmp w1, 3 mov w1, 256 csel w0, w0, w1, hi - b .L1973 -.L1956: + b .L2022 +.L2007: cmn w0, #1 - bne .L1973 -.L1964: - adrp x0, .LANCHOR4+1240 - ldr x5, [x0,#:lo12:.LANCHOR4+1240] - cbnz x5, .L1959 -.L1962: - add x20, x20, :lo12:.LANCHOR0 + bne .L2022 +.L2015: + adrp x0, .LANCHOR4+1224 + ldr x5, [x0,#:lo12:.LANCHOR4+1224] + cbnz x5, .L2010 +.L2013: + add x19, x19, :lo12:.LANCHOR0 adrp x0, .LC158 add x0, x0, :lo12:.LC158 mov w1, 0 mov w2, w24 mov w3, -1 - ldrb w4, [x20,200] + ldrb w4, [x19,720] bl printk - ldrb w0, [x20,152] - cbnz w0, .L1960 + ldrb w0, [x19,672] + cbnz w0, .L2011 mov w0, -1 - b .L1973 -.L1959: + b .L2022 +.L2010: add x4, x21, :lo12:.LANCHOR2 mov w0, w23 - orr w1, w19, w22, lsl 24 + orr w1, w20, w22, lsl 24 mov x2, x25 mov x3, x26 ldrb w4, [x4,385] blr x5 cmn w0, #1 - bne .L1973 - b .L1962 -.L1960: + bne .L2022 + b .L2013 +.L2011: add x21, x21, :lo12:.LANCHOR2 mov w0, w23 - orr w1, w19, w22, lsl 24 + orr w1, w20, w22, lsl 24 mov x2, x25 mov x3, x26 ldrb w4, [x21,385] bl flash_ddr_tuning_read - b .L1973 -.L1954: - cbz w22, .L1963 - b .L1973 -.L1955: - cbz w22, .L1963 - b .L1964 -.L1973: + b .L2022 +.L2005: + cbz w22, .L2014 + b .L2022 +.L2006: + cbz w22, .L2014 + b .L2015 +.L2022: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -12049,132 +12335,321 @@ flash_complete_page_read: .align 2 .type queue_wait_first_req_completed, %function queue_wait_first_req_completed: - stp x29, x30, [sp, -64]! + stp x29, x30, [sp, -96]! add x29, sp, 0 stp x19, x20, [sp,16] adrp x19, .LANCHOR0 add x0, x19, :lo12:.LANCHOR0 stp x21, x22, [sp,32] stp x23, x24, [sp,48] - ldrb w20, [x0,3909] - cmp w20, 255 - beq .L2027 + stp x25, x26, [sp,64] + stp x27, x28, [sp,80] + ldrb w21, [x0,2835] + cmp w21, 255 + beq .L2120 add x0, x0, 784 mov w1, 0 - add x0, x0, x20, lsl 6 + add x0, x0, x21, lsl 6 ldrb w2, [x0,58] - ldr w21, [x0,40] + ldr w20, [x0,40] sub w3, w2, #1 cmp w3, 9 - bhi .L1993 - adrp x0, .L1995 - add x0, x0, :lo12:.L1995 - ldrb w0, [x0,w3,uxtw] - adr x1, .Lrtx1995 - add x0, x1, w0, sxtb #2 + bhi .L2038 + adrp x0, .L2040 + add x0, x0, :lo12:.L2040 + ldrh w0, [x0,w3,uxtw #1] + adr x1, .Lrtx2040 + add x0, x1, w0, sxth #2 br x0 -.Lrtx1995: +.Lrtx2040: .section .rodata .align 0 .align 2 -.L1995: - .byte (.L1994 - .Lrtx1995) / 4 - .byte (.L1994 - .Lrtx1995) / 4 - .byte (.L1996 - .Lrtx1995) / 4 - .byte (.L1996 - .Lrtx1995) / 4 - .byte (.L1996 - .Lrtx1995) / 4 - .byte (.L1997 - .Lrtx1995) / 4 - .byte (.L1998 - .Lrtx1995) / 4 - .byte (.L1999 - .Lrtx1995) / 4 - .byte (.L1996 - .Lrtx1995) / 4 - .byte (.L1999 - .Lrtx1995) / 4 +.L2040: + .2byte (.L2039 - .Lrtx2040) / 4 + .2byte (.L2041 - .Lrtx2040) / 4 + .2byte (.L2042 - .Lrtx2040) / 4 + .2byte (.L2042 - .Lrtx2040) / 4 + .2byte (.L2042 - .Lrtx2040) / 4 + .2byte (.L2043 - .Lrtx2040) / 4 + .2byte (.L2044 - .Lrtx2040) / 4 + .2byte (.L2045 - .Lrtx2040) / 4 + .2byte (.L2042 - .Lrtx2040) / 4 + .2byte (.L2045 - .Lrtx2040) / 4 .text -.L1994: - mov w0, w21 +.L2039: + mov w0, w20 mov w1, 64 bl flash_wait_device_ready - tbz x0, 6, .L2027 + tbz x0, 6, .L2120 + add x3, x19, :lo12:.LANCHOR0 + add x0, x3, 784 + add x0, x0, x21, lsl 6 + ldr x2, [x0,16] + ldr x1, [x0,8] + cbz x2, .L2047 + ldrb w4, [x0,56] + ldrb w0, [x3,2832] + cmp w4, w0 + csel x1, x1, x2, ne +.L2047: add x19, x19, :lo12:.LANCHOR0 - mov w0, w21 + mov w0, w20 + add x19, x19, 784 + add x19, x19, x21, lsl 6 + ldr x2, [x19,24] + bl flash_complete_page_read + str w0, [x19,52] + mov w0, 12 + strb w0, [x19,58] + ldrb w0, [x19,2] + orr w0, w0, 8 + strb w0, [x19,2] + b .L2120 +.L2041: + mov w0, w20 + mov w1, 64 + bl flash_wait_device_ready + add x2, x19, :lo12:.LANCHOR0 + lsl x4, x21, 6 + add x3, x2, 784 + add x1, x3, x4 + ldrb w20, [x3,x4] + tbz x0, 6, .L2120 + add x3, x3, x20, lsl 6 + ldr x0, [x1,16] + ldr x27, [x1,8] + ldr x23, [x3,8] + cbz x0, .L2048 + ldrb w3, [x1,56] + ldrb w1, [x2,2832] + cmp w3, w1 + csel x27, x27, x0, ne +.L2048: + add x2, x19, :lo12:.LANCHOR0 + add x0, x2, 784 + add x0, x0, x20, lsl 6 + ldr x1, [x0,16] + cbz x1, .L2049 + ldrb w3, [x0,56] + ldrb w0, [x2,2832] + cmp w3, w0 + csel x23, x23, x1, ne +.L2049: + add x24, x19, :lo12:.LANCHOR0 + mov x1, x27 + add x24, x24, 784 + add x26, x24, x21, lsl 6 + add x24, x24, x20, lsl 6 + add x28, x26, 32 + add x26, x26, 16 + ldr x2, [x26,8] + ldr w0, [x26,24] + bl flash_complete_plane_page_read + mov w22, w0 + ldr x2, [x24,24] + mov x1, x23 + ldr w0, [x24,40] + bl flash_complete_plane_page_read + mov w25, w0 + cmn w22, #1 + beq .L2050 + ldr w0, [x28,4] + cmn w0, #1 + beq .L2051 + ldr x1, [x26,8] + ldr w1, [x1,4] + cmp w0, w1 + beq .L2051 +.L2050: + add x4, x19, :lo12:.LANCHOR0 + mov x2, x27 + add x24, x4, 784 + add x24, x24, x21, lsl 6 + ldrb w4, [x4,2832] + add x26, x24, 32 + add x24, x24, 16 + ldr w1, [x24,24] + ldr x3, [x24,8] + ubfx x0, x1, 21, 3 + and w1, w1, -14680065 + bl flash_read_page_en + mov w22, w0 + ldr w2, [x26,4] + cmn w2, #1 + beq .L2052 + ldr x3, [x24,8] + ldr w4, [x3,4] + cmp w2, w4 + beq .L2052 + adrp x0, .LANCHOR2 + ldr w0, [x0,#:lo12:.LANCHOR2] + tbz x0, 6, .L2052 + adrp x0, .LC159 + ldr w1, [x26,8] + ldr w3, [x3] + add x0, x0, :lo12:.LC159 + bl printk +.L2052: + add x0, x19, :lo12:.LANCHOR0 + add x0, x0, 784 + add x0, x0, x21, lsl 6 + ldr w1, [x0,36] + cmn w1, #1 + beq .L2051 + ldr x0, [x0,24] + ldr w0, [x0,4] + cmp w1, w0 + beq .L2051 + adrp x1, .LANCHOR3 + adrp x0, .LC0 + add x1, x1, :lo12:.LANCHOR3 + mov w2, 338 + add x1, x1, 248 + add x0, x0, :lo12:.LC0 + bl printk + bl dump_stack +.L2051: + add x3, x19, :lo12:.LANCHOR0 + mov w1, 12 + add x3, x3, 784 + cmn w25, #1 + add x21, x3, x21, lsl 6 + ldrb w0, [x21,2] + str w22, [x21,52] + orr w0, w0, 8 + strb w1, [x21,58] + strb w0, [x21,2] + beq .L2053 + add x3, x3, x20, lsl 6 + ldr w0, [x3,36] + cmn w0, #1 + beq .L2055 + ldr x1, [x3,24] + ldr w1, [x1,4] + cmp w0, w1 + beq .L2055 +.L2053: + add x4, x19, :lo12:.LANCHOR0 + mov x2, x23 + add x21, x4, 784 + add x21, x21, x20, lsl 6 + ldrb w4, [x4,2832] + add x24, x21, 32 + add x21, x21, 16 + ldr w1, [x21,24] + ldr x3, [x21,8] + ubfx x0, x1, 21, 3 + and w1, w1, -14680065 + bl flash_read_page_en + ldr w2, [x24,4] + cmn w2, #1 + beq .L2057 + ldr x3, [x21,8] + ldr w4, [x3,4] + cmp w2, w4 + beq .L2057 + adrp x0, .LANCHOR2 + ldr w0, [x0,#:lo12:.LANCHOR2] + tbz x0, 6, .L2057 + adrp x0, .LC159 + ldr w1, [x24,8] + ldr w3, [x3] + add x0, x0, :lo12:.LC159 + bl printk +.L2057: + add x0, x19, :lo12:.LANCHOR0 + add x0, x0, 784 + add x0, x0, x20, lsl 6 + ldr w1, [x0,36] + cmn w1, #1 + beq .L2055 + ldr x0, [x0,24] + ldr w0, [x0,4] + cmp w1, w0 + beq .L2055 + adrp x1, .LANCHOR3 + adrp x0, .LC0 + add x1, x1, :lo12:.LANCHOR3 + mov w2, 353 + add x1, x1, 248 + add x0, x0, :lo12:.LC0 + bl printk + bl dump_stack +.L2055: + add x19, x19, :lo12:.LANCHOR0 + mov w1, 12 add x19, x19, 784 add x20, x19, x20, lsl 6 - mov x2, x20 - ldr x3, [x20,8] - ldr x1, [x2,16]! - cmp x1, xzr - ldr x2, [x2,8] - csel x1, x3, x1, eq - bl flash_complete_page_read - str w0, [x20,52] - mov w0, 12 - strb w0, [x20,58] ldrb w0, [x20,2] + str w22, [x20,52] orr w0, w0, 8 + strb w1, [x20,58] strb w0, [x20,2] - b .L2027 -.L1996: + b .L2120 +.L2042: bl nandc_iqr_wait_flash_ready - mov w0, w21 + mov w0, w20 mov w1, 64 bl flash_wait_device_ready - mov w21, w0 - tbz x21, 6, .L2027 + mov w20, w0 + tbz x20, 6, .L2120 mov w1, 5 add x19, x19, :lo12:.LANCHOR0 - ands w1, w21, w1 - beq .L2002 + ands w1, w20, w1 + beq .L2058 add x19, x19, 784 mov w0, 11 - add x20, x19, x20, lsl 6 + add x19, x19, x21, lsl 6 mov w4, 11 - strb w0, [x20,58] - adrp x0, .LC159 - ldrb w1, [x20,1] - add x0, x0, :lo12:.LC159 - ldr w2, [x20,52] - ldr w3, [x20,40] + strb w0, [x19,58] + adrp x0, .LC160 + ldrb w1, [x19,1] + add x0, x0, :lo12:.LC160 + ldr w2, [x19,52] + ldr w3, [x19,40] bl printk mov w0, -1 - str w0, [x20,52] - b .L2028 -.L2002: - add x20, x19, x20, lsl 6 - b .L2009 -.L1999: + str w0, [x19,52] + b .L2121 +.L2058: + add x19, x19, x21, lsl 6 + b .L2065 +.L2045: add x22, x19, :lo12:.LANCHOR0 mov w0, 3 cmp w2, 10 mov w1, 9 add x22, x22, 784 csel w1, w0, w1, ne - ubfx x3, x21, 21, 3 - add x0, x22, x20, lsl 6 -.L2004: + ubfx x3, x20, 21, 3 + add x0, x22, x21, lsl 6 +.L2060: ldrb w23, [x0] cmp w23, 255 - beq .L2029 + beq .L2122 add x0, x22, x23, lsl 6 ldrb w2, [x0,58] cmp w2, w1 - bne .L2004 + bne .L2060 ldr w2, [x0,40] ubfx x2, x2, 21, 3 cmp w3, w2 - bne .L2004 + bne .L2060 bl nandc_iqr_wait_flash_ready - mov w0, w21 + mov w0, w20 mov w1, 64 bl flash_wait_device_ready - mov w21, w0 + mov w20, w0 and w0, w0, 64 - tbz x21, 6, .L2012 - ands w0, w21, 15 - add x22, x22, x20, lsl 6 - beq .L2007 - adrp x0, .LC159 + tbz x20, 6, .L2068 + ands w0, w20, 15 + add x22, x22, x21, lsl 6 + beq .L2063 + adrp x0, .LC160 ldrb w1, [x22,1] ldr w2, [x22,52] - add x0, x0, :lo12:.LC159 + add x0, x0, :lo12:.LC160 ldr w3, [x22,40] mov w4, 11 bl printk @@ -12182,66 +12657,68 @@ queue_wait_first_req_completed: strb w0, [x22,58] mov w0, -1 str w0, [x22,52] -.L2006: +.L2062: add x19, x19, :lo12:.LANCHOR0 add x19, x19, 784 - add x20, x19, x20, lsl 6 + add x21, x19, x21, lsl 6 add x23, x19, x23, lsl 6 - ldrb w0, [x20,58] + ldrb w0, [x21,58] strb w0, [x23,58] - ldr w0, [x20,52] + ldr w0, [x21,52] str w0, [x23,52] -.L2028: - mov w1, w21 - b .L1993 -.L2007: +.L2121: + mov w1, w20 + b .L2038 +.L2063: mov w1, 12 str w0, [x22,52] strb w1, [x22,58] -.L2012: - mov w21, w0 - b .L2006 -.L2029: +.L2068: + mov w20, w0 + b .L2062 +.L2122: mov w1, -1 - b .L1993 -.L1997: + b .L2038 +.L2043: mov w1, 32 - mov w0, w21 + mov w0, w20 bl flash_wait_device_ready - tbz x0, 5, .L2027 + tbz x0, 5, .L2120 ands w1, w0, 15 add x19, x19, :lo12:.LANCHOR0 - add x20, x19, x20, lsl 6 - beq .L2009 + add x19, x19, x21, lsl 6 + beq .L2065 mov w1, 11 - strb w1, [x20,842] + strb w1, [x19,842] mov w1, -1 - str w1, [x20,836] + str w1, [x19,836] mov w1, w0 - b .L1993 -.L2009: + b .L2038 +.L2065: mov w0, 12 - str w1, [x20,836] - strb w0, [x20,842] - b .L1993 -.L1998: + str w1, [x19,836] + strb w0, [x19,842] + b .L2038 +.L2044: mov w1, 64 - mov w0, w21 + mov w0, w20 bl flash_wait_device_ready - tbz x0, 6, .L2027 + tbz x0, 6, .L2120 add x19, x19, :lo12:.LANCHOR0 - add x20, x19, x20, lsl 6 - str w0, [x20,836] + add x19, x19, x21, lsl 6 + str w0, [x19,836] mov w0, 6 - strb w0, [x20,842] -.L2027: + strb w0, [x19,842] +.L2120: mov w1, 0 -.L1993: +.L2038: mov w0, w1 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] - ldp x29, x30, [sp], 64 + ldp x25, x26, [sp,64] + ldp x27, x28, [sp,80] + ldp x29, x30, [sp], 96 ret .size queue_wait_first_req_completed, .-queue_wait_first_req_completed .align 2 @@ -12252,15 +12729,15 @@ sblk_wait_write_queue_completed: add x29, sp, 0 str x19, [sp,16] adrp x19, .LANCHOR0 -.L2031: +.L2124: add x0, x19, :lo12:.LANCHOR0 - ldrb w0, [x0,3909] + ldrb w0, [x0,2835] cmp w0, 255 - beq .L2033 + beq .L2126 bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2031 -.L2033: + b .L2124 +.L2126: ldr x19, [sp,16] ldp x29, x30, [sp], 32 ret @@ -12317,78 +12794,127 @@ ftl_read_ppa_page: .global sblk_read_page .type sblk_read_page, %function sblk_read_page: - stp x29, x30, [sp, -112]! + stp x29, x30, [sp, -128]! add x29, sp, 0 - stp x23, x24, [sp,48] - adrp x23, .LANCHOR0 - mov w24, 1 stp x21, x22, [sp,32] - add x23, x23, :lo12:.LANCHOR0 + stp x23, x24, [sp,48] + adrp x22, .LANCHOR0 + adrp x23, .LANCHOR3 uxtb w21, w1 + add x22, x22, :lo12:.LANCHOR0 + add x23, x23, :lo12:.LANCHOR3 stp x19, x20, [sp,16] stp x25, x26, [sp,64] stp x27, x28, [sp,80] - mov x20, x0 + mov x25, x0 mov x19, x0 - mov w22, w21 - mov w25, -1 - add x26, x23, 3909 -.L2037: - cbz w22, .L2049 - ldrb w27, [x19] - ldr w28, [x19,40] -.L2038: - mov w0, w28 + mov w20, w21 + add x27, x22, 784 + add x23, x23, 280 +.L2130: + cbz w20, .L2153 + ldrb w28, [x19] + ldr w26, [x19,40] +.L2131: + mov w0, w26 mov w1, 0 bl queue_lun_state - mov w2, w0 - cbz w0, .L2050 + cbz w0, .L2154 bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2038 -.L2050: - ldr w1, [x19,40] - mov w0, 48 + b .L2131 +.L2154: + cmp w20, 1 + beq .L2137 + adrp x0, .LANCHOR4+1265 + ldrb w0, [x0,#:lo12:.LANCHOR4+1265] + cbz w0, .L2137 + ldrb w0, [x19] + ubfx x3, x26, 21, 3 + cmp w0, 255 + bne .L2136 + adrp x0, .LC0 + mov x1, x23 + mov w2, 624 + add x0, x0, :lo12:.LC0 + str x3, [x29,120] + bl printk + bl dump_stack + ldr x3, [x29,120] +.L2136: + ldrb w24, [x19] + lsl x24, x24, 6 + add x2, x27, x24 + ldr w1, [x2,40] + ubfx x0, x1, 21, 3 + cmp w3, w0 + bne .L2137 + ldrh w0, [x22,3350] + add w26, w0, w26 + cmp w1, w26 + bne .L2137 + ldr w0, [x19,40] + add x26, x22, 2835 str x2, [x29,104] - bl flash_start_page_read - strb w24, [x19,58] + sub w20, w20, #1 + ldrb w28, [x27,x24] + bl flash_start_plane_read + strb wzr, [x19,59] + mov w4, 2 + mov w3, -1 + strb w4, [x19,58] + mov x0, x26 + strb w3, [x19] + mov x1, x19 + str x4, [x29,112] + str x3, [x29,120] + bl buf_add_tail ldr x2, [x29,104] mov x0, x26 - strb w2, [x19,59] - mov x1, x19 - strb w25, [x19] + ldr x4, [x29,112] + ldr x3, [x29,120] + mov x1, x2 + strb w4, [x2,58] + strb wzr, [x2,59] + strb w3, [x27,x24] bl buf_add_tail - subs w22, w22, #1 - beq .L2049 - add x19, x23, 784 - sbfiz x27, x27, 6, 32 - add x19, x19, x27 - b .L2037 -.L2049: + b .L2135 +.L2137: + mov x0, x19 + bl queue_read_cmd +.L2135: + subs w20, w20, #1 + beq .L2153 + sbfiz x19, x28, 6, 32 + add x19, x27, x19 + b .L2130 +.L2153: adrp x19, .LANCHOR0 add x19, x19, :lo12:.LANCHOR0 add x19, x19, 784 -.L2042: - cbz w21, .L2051 - ldrb w0, [x20,58] +.L2141: + cbz w21, .L2155 + ldrb w0, [x25,58] cmp w0, 12 - bne .L2043 - ldrb w20, [x20] + bne .L2142 + ldrb w0, [x25] sub w21, w21, #1 - add x20, x19, x20, lsl 6 - b .L2042 -.L2043: + cmp w0, 255 + beq .L2142 + sbfiz x25, x0, 6, 32 + add x25, x19, x25 +.L2142: bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2042 -.L2051: + b .L2141 +.L2155: mov w0, w21 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], 112 + ldp x29, x30, [sp], 128 ret .size sblk_read_page, .-sblk_read_page .align 2 @@ -12405,129 +12931,130 @@ gc_check_data_one_wl: stp x21, x22, [sp,48] stp x23, x24, [sp,64] stp x25, x26, [sp,80] - ldr x0, [x20,2920] - ldr x23, [x20,88] - add x20, x20, 2912 - cbnz x0, .L2053 + ldr x0, [x20,2904] + ldr x23, [x20,608] + add x20, x20, 2896 + cbnz x0, .L2157 mov w0, 1 bl buf_alloc str x0, [x20,8] -.L2053: +.L2157: add x0, x19, :lo12:.LANCHOR0 - ldr x20, [x0,2920] - cbnz x20, .L2054 + ldr x20, [x0,2904] + cbnz x20, .L2158 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 - add x0, x0, :lo12:.LC0 - add x1, x1, 216 mov w2, 366 + add x1, x1, 296 + add x0, x0, :lo12:.LC0 bl printk -.L2054: + bl dump_stack +.L2158: mov w24, 0 add x25, x23, 80 add x21, x19, :lo12:.LANCHOR0 adrp x26, .LANCHOR4 -.L2055: +.L2159: ldrb w0, [x25,9] cmp w24, w0 - bge .L2076 + bge .L2180 mov w22, 1 sxtw x27, w24 -.L2064: - add x0, x21, 2912 +.L2168: + add x0, x21, 2896 ldrh w1, [x0,20] cmp w22, w1 - bgt .L2077 + bgt .L2181 add x1, x27, 8 - ldrh w2, [x21,3366] + ldrh w2, [x21,3350] ldrh w0, [x0,16] ldrh w1, [x25,x1,lsl 1] mul w1, w1, w2 - ldrb w2, [x21,3273] + ldrb w2, [x21,3257] cmp w2, 3 - bne .L2056 + bne .L2160 add w1, w1, w0 orr w1, w1, w22, lsl 24 - b .L2075 -.L2056: + b .L2179 +.L2160: cmp w2, 2 - bne .L2058 + bne .L2162 sub w0, w0, #1 add w1, w0, w1 add w1, w1, w22 orr w1, w1, 33554432 - b .L2075 -.L2058: + b .L2179 +.L2162: add w1, w1, w0 -.L2075: +.L2179: str w1, [x20,40] mov x0, x20 mov w1, 1 bl sblk_read_page ldr w2, [x20,52] cmn w2, #1 - beq .L2059 + beq .L2163 add x3, x26, :lo12:.LANCHOR4 - ldrh w0, [x21,2934] + ldrh w0, [x21,2918] ldr x1, [x20,24] lsl x0, x0, 2 - ldr x4, [x3,1152] + ldr x4, [x3,1136] ldr w5, [x4,x0] ldr w4, [x1,4] cmp w5, w4 - bne .L2059 - ldr x3, [x3,1160] + bne .L2163 + ldr x3, [x3,1144] ldr w3, [x3,x0] ldr w0, [x1,8] cmp w3, w0 - beq .L2060 -.L2059: + beq .L2164 +.L2163: add x0, x26, :lo12:.LANCHOR4 - ldrh w4, [x21,2934] + ldrh w4, [x21,2918] lsl x4, x4, 2 - ldr x1, [x0,1152] + ldr x1, [x0,1136] ldr w3, [x1,x4] cmn w3, #1 - beq .L2060 + beq .L2164 adrp x1, .LANCHOR2 ldr w1, [x1,#:lo12:.LANCHOR2] - tbz x1, 10, .L2061 + tbz x1, 10, .L2165 ldr x7, [x20,24] - ldr x5, [x0,1160] + ldr x5, [x0,1144] ldr w0, [x7,12] str w0, [sp] - adrp x0, .LC160 - add x0, x0, :lo12:.LC160 + adrp x0, .LC161 + add x0, x0, :lo12:.LC161 ldr w4, [x5,x4] ldr w6, [x7,4] ldr w5, [x7] ldr w1, [x20,40] ldr w7, [x7,8] bl printk -.L2061: +.L2165: add x19, x19, :lo12:.LANCHOR0 ldrh w1, [x23,80] - ldr x0, [x19,80] + ldr x0, [x19,600] strh wzr, [x0,x1,lsl 1] mov w0, -1 - b .L2062 -.L2060: - ldrh w0, [x21,2934] + b .L2166 +.L2164: + ldrh w0, [x21,2918] add w22, w22, 1 add w0, w0, 1 - strh w0, [x21,2934] - b .L2064 -.L2077: + strh w0, [x21,2918] + b .L2168 +.L2181: add w24, w24, 1 - b .L2055 -.L2076: + b .L2159 +.L2180: add x19, x19, :lo12:.LANCHOR0 - ldrh w0, [x19,2928] + ldrh w0, [x19,2912] add w0, w0, 1 - strh w0, [x19,2928] + strh w0, [x19,2912] mov w0, 0 -.L2062: +.L2166: sub sp, x29, #16 ldp x19, x20, [sp,32] ldp x21, x22, [sp,48] @@ -12547,11 +13074,11 @@ flash_prog_page: stp x21, x22, [sp,32] uxtb x22, w0 adrp x21, .LANCHOR2 - adrp x0, .LANCHOR0+16 + adrp x0, .LANCHOR0+536 str x27, [sp,80] stp x19, x20, [sp,16] stp x23, x24, [sp,48] - ldr x19, [x0,#:lo12:.LANCHOR0+16] + ldr x19, [x0,#:lo12:.LANCHOR0+536] mov x20, x22 ldr w0, [x21,#:lo12:.LANCHOR2] add x22, x22, 8 @@ -12563,24 +13090,24 @@ flash_prog_page: add x22, x19, x22, lsl 8 and w24, w1, 2097151 ubfx x27, x23, 24, 2 - tbz x0, 4, .L2079 - adrp x0, .LC161 + tbz x0, 4, .L2183 + adrp x0, .LC162 mov w2, w27 - add x0, x0, :lo12:.LC161 + add x0, x0, :lo12:.LC162 bl printk -.L2079: +.L2183: bl nandc_wait_flash_ready mov w0, w20 bl hynix_reconfig_rr_para mov w0, w20 bl nandc_cs mov w0, w20 - cbnz w27, .L2080 + cbnz w27, .L2184 bl zftl_flash_enter_slc_mode - b .L2081 -.L2080: + b .L2185 +.L2184: bl zftl_flash_exit_slc_mode -.L2081: +.L2185: ubfiz x4, x20, 8, 8 mov w0, 128 add x19, x19, x4 @@ -12612,16 +13139,16 @@ flash_prog_page: mov w0, w20 and w19, w21, 4 bl nandc_de_cs - tbz x21, 2, .L2082 + tbz x21, 2, .L2186 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 12, .L2082 - adrp x0, .LC162 + tbz x0, 12, .L2186 + adrp x0, .LC163 mov w1, w23 - add x0, x0, :lo12:.LC162 + add x0, x0, :lo12:.LC163 mov w2, w19 bl printk -.L2082: +.L2186: mov w0, w19 ldr x27, [sp,80] ldp x19, x20, [sp,16] @@ -12642,71 +13169,71 @@ flash_test_blk: uxtb w22, w0 uxth w20, w1 adrp x19, .LANCHOR4 - cbnz w22, .L2093 + cbnz w22, .L2197 add x0, x19, :lo12:.LANCHOR4 - ldrb w1, [x0,1281] + ldrb w1, [x0,1266] mov w0, w22 cmp w1, w20 - bhi .L2094 -.L2093: + bhi .L2198 +.L2197: add x19, x19, :lo12:.LANCHOR4 mov w1, 165 mov w2, 32 - ldr x0, [x19,1272] + ldr x0, [x19,1256] bl ftl_memset - ldr x0, [x19,1264] + ldr x0, [x19,1248] mov w1, 90 mov w2, 8 bl ftl_memset - adrp x0, .LANCHOR0+226 - ldrh w21, [x0,#:lo12:.LANCHOR0+226] + adrp x0, .LANCHOR0+2 + ldrh w21, [x0,#:lo12:.LANCHOR0+2] mov w0, w22 mul w21, w20, w21 mov w1, w21 bl flash_erase_block cmn w0, #1 - beq .L2099 + beq .L2203 adrp x20, .LANCHOR2 - ldr x2, [x19,1264] + ldr x2, [x19,1248] add x20, x20, :lo12:.LANCHOR2 - ldr x3, [x19,1272] + ldr x3, [x19,1256] mov w0, w22 mov w1, w21 add x20, x20, 376 ldrb w4, [x20,9] bl flash_prog_page cmn w0, #1 - beq .L2099 + beq .L2203 ldrb w4, [x20,9] mov w0, w22 - ldr x2, [x19,1264] + ldr x2, [x19,1248] mov w1, w21 - ldr x3, [x19,1272] + ldr x3, [x19,1256] bl flash_read_page cmn w0, #1 mov w20, w0 - beq .L2099 - ldr x0, [x19,1264] + beq .L2203 + ldr x0, [x19,1248] ldr w1, [x0] mov w0, 23130 bfi w0, w0, 16, 16 cmp w1, w0 - bne .L2099 - ldr x0, [x19,1272] + bne .L2203 + ldr x0, [x19,1256] ldr w1, [x0] mov w0, 42405 bfi w0, w0, 16, 16 cmp w1, w0 csinv w20, w20, wzr, eq - b .L2096 -.L2099: + b .L2200 +.L2203: mov w20, -1 -.L2096: +.L2200: mov w0, w22 mov w1, w21 bl flash_erase_block mov w0, w20 -.L2094: +.L2198: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x29, x30, [sp], 48 @@ -12714,8 +13241,8 @@ flash_test_blk: .size flash_test_blk, .-flash_test_blk .section .text.unlikely .align 2 - .type fw_flash_page_prog.constprop.30, %function -fw_flash_page_prog.constprop.30: + .type fw_flash_page_prog.constprop.28, %function +fw_flash_page_prog.constprop.28: stp x29, x30, [sp, -64]! adrp x4, .LANCHOR0 add x29, sp, 0 @@ -12724,11 +13251,11 @@ fw_flash_page_prog.constprop.30: mov x21, x1 stp x19, x20, [sp,16] str x2, [x29,56] - ldr x1, [x4,104] - ldrb w20, [x4,204] + ldr x1, [x4,624] + ldrb w20, [x4,724] ldrb w19, [x1,9] udiv w19, w0, w19 - ldrb w0, [x4,112] + ldrb w0, [x4,632] bl nandc_bch_sel ldr x3, [x29,56] mov w1, w19 @@ -12744,7 +13271,7 @@ fw_flash_page_prog.constprop.30: ldp x19, x20, [sp,16] ldp x29, x30, [sp], 64 ret - .size fw_flash_page_prog.constprop.30, .-fw_flash_page_prog.constprop.30 + .size fw_flash_page_prog.constprop.28, .-fw_flash_page_prog.constprop.28 .text .align 2 .global flash_start_tlc_page_prog @@ -12762,33 +13289,34 @@ flash_start_tlc_page_prog: stp x23, x24, [sp,48] uxtb w26, w3 uxtb w21, w1 - ldrb w0, [x0,114] + ldrb w0, [x0,633] uxtb w22, w2 mov x24, x5 mov x23, x6 cmp w0, w26 mov x19, x4 - bhi .L2109 + bhi .L2213 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 - add x0, x0, :lo12:.LC0 - add x1, x1, 240 mov w2, 648 + add x1, x1, 320 + add x0, x0, :lo12:.LC0 bl printk -.L2109: + bl dump_stack +.L2213: add x4, x19, :lo12:.LANCHOR0 add x26, x4, x26, sxtw - ldrb w26, [x26,216] + ldrb w26, [x26,736] mov w0, w26 - ldr x19, [x4,16] + ldr x19, [x4,536] bl nandc_cs - cbz w25, .L2110 + cbz w25, .L2214 sxtw x1, w26 add x1, x1, 8 add x1, x19, x1, lsl 8 str w25, [x1,8] -.L2110: +.L2214: ubfiz x7, x26, 8, 8 mov w0, 128 add x19, x19, x7 @@ -12876,7 +13404,7 @@ queue_tlc_prog_cmd: strb w0, [x1] adrp x0, .LANCHOR0 add x0, x0, :lo12:.LANCHOR0 - add x0, x0, 3909 + add x0, x0, 2835 bl buf_add_tail ldr x21, [sp,32] ldp x19, x20, [sp,16] @@ -12894,16 +13422,16 @@ sblk_tlc_prog_one_page: mov x20, x0 ldr x0, [x0] ldr w21, [x0,40] -.L2116: +.L2220: mov w0, w21 mov w1, 1 bl queue_lun_state mov w19, w0 - cbz w0, .L2118 + cbz w0, .L2222 bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2116 -.L2118: + b .L2220 +.L2222: mov x0, x20 bl queue_tlc_prog_cmd ldr x21, [sp,32] @@ -12926,17 +13454,17 @@ sblk_xlc_prog_pages: ldr x0, [x0] mov w24, w2 ldr w20, [x0,40] -.L2120: +.L2224: mov w0, w20 mov w1, 1 bl queue_lun_state - cbz w0, .L2124 + cbz w0, .L2228 bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2120 -.L2124: + b .L2224 +.L2228: cmp w24, 2 - bne .L2122 + bne .L2226 ldr x6, [x19] mov w1, 1 ldr x0, [x22] @@ -13018,13 +13546,13 @@ sblk_xlc_prog_pages: strb w0, [x1] adrp x0, .LANCHOR0 add x0, x0, :lo12:.LANCHOR0 - add x0, x0, 3909 + add x0, x0, 2835 bl buf_add_tail - b .L2123 -.L2122: + b .L2227 +.L2226: mov x0, x19 bl queue_tlc_prog_cmd -.L2123: +.L2227: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -13038,102 +13566,87 @@ sblk_xlc_prog_pages: flash_start_page_prog: stp x29, x30, [sp, -96]! add x29, sp, 0 - stp x19, x20, [sp,16] - adrp x20, .LANCHOR0 - and w19, w1, 2097151 stp x21, x22, [sp,32] - uxtb w22, w0 - add x0, x20, :lo12:.LANCHOR0 - stp x23, x24, [sp,48] + adrp x22, .LANCHOR0 stp x25, x26, [sp,64] + uxtb w25, w0 + add x0, x22, :lo12:.LANCHOR0 + stp x23, x24, [sp,48] + stp x19, x20, [sp,16] stp x27, x28, [sp,80] - ubfx x27, x1, 21, 3 - mov x24, x2 - ldrb w0, [x0,114] - mov x23, x3 - ubfx x26, x1, 24, 2 - cmp w0, w27 - bhi .L2126 + ubfx x24, x1, 21, 3 + mov x27, x2 + ldrb w0, [x0,633] + mov x26, x3 + and w20, w1, 2097151 + ubfx x23, x1, 24, 2 + cmp w0, w24 + bhi .L2230 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 + mov w2, 699 + add x1, x1, 352 add x0, x0, :lo12:.LC0 - add x1, x1, 272 - mov w2, 685 bl printk -.L2126: - add x28, x20, :lo12:.LANCHOR0 - add x0, x28, x27, sxtw - ldrb w21, [x0,216] - ldr x25, [x28,16] + bl dump_stack +.L2230: + add x28, x22, :lo12:.LANCHOR0 + add x0, x28, x24, sxtw + ldrb w21, [x0,736] + ldr x19, [x28,536] bl nandc_rdy_status - cbnz w0, .L2127 - ldrb w0, [x28,114] + cbnz w0, .L2231 + ldrb w0, [x28,633] cmp w0, 1 - bne .L2128 + bne .L2232 bl nandc_wait_flash_ready - b .L2127 -.L2128: - mov w0, w27 - mov w1, w19 + b .L2231 +.L2232: + mov w0, w24 + mov w1, w20 mov w2, 64 bl flash_wait_device_ready_raw -.L2127: +.L2231: mov w0, w21 bl hynix_reconfig_rr_para mov w0, w21 bl nandc_cs - cbnz w26, .L2129 - add x0, x20, :lo12:.LANCHOR0 - ldrb w1, [x0,113] - cbz w1, .L2130 - ldrb w0, [x0,224] - cbz w0, .L2131 -.L2130: - add x20, x20, :lo12:.LANCHOR0 - ldrh w1, [x20,226] - udiv w0, w19, w1 - mul w0, w0, w1 - ldrb w1, [x20,224] - sub w19, w19, w0 - cbz w1, .L2132 - add w19, w0, w19, lsl 1 - b .L2131 -.L2132: - add x20, x20, 228 - ldrh w19, [x20,w19,uxtw 1] - add w19, w19, w0 - b .L2133 -.L2131: + cbnz w23, .L2233 + mov w0, w20 + bl slc_phy_page_address_calc + mov w20, w0 + ldrb w0, [x22,#:lo12:.LANCHOR0] + cbz w0, .L2234 mov w0, w21 bl zftl_flash_enter_slc_mode - b .L2133 -.L2129: + b .L2234 +.L2233: mov w0, w21 bl zftl_flash_exit_slc_mode -.L2133: - ubfiz x1, x21, 8, 8 +.L2234: + ubfiz x4, x21, 8, 8 mov w0, 128 - add x20, x25, x1 - str w0, [x20,2056] - and w0, w19, 255 - str wzr, [x20,2052] - str wzr, [x20,2052] - str w0, [x20,2052] - lsr w0, w19, 8 - str w0, [x20,2052] - lsr w0, w19, 16 - str w0, [x20,2052] - mov w0, w19 + add x19, x19, x4 + str w0, [x19,2056] + and w0, w20, 255 + str wzr, [x19,2052] + str wzr, [x19,2052] + str w0, [x19,2052] + lsr w0, w20, 8 + str w0, [x19,2052] + lsr w0, w20, 16 + str w0, [x19,2052] + mov w0, w20 bl nandc_set_seed adrp x1, .LANCHOR2+385 - mov x2, x24 - mov x3, x23 + mov x2, x27 + mov x3, x26 mov w0, 1 ldrb w1, [x1,#:lo12:.LANCHOR2+385] bl nandc_xfer_start bl nandc_xfer_done - str w22, [x20,2056] + str w25, [x19,2056] mov w0, w21 bl nandc_de_cs ldp x19, x20, [sp,16] @@ -13159,37 +13672,37 @@ queue_prog_cmd: adrp x0, .LANCHOR0 ldr w4, [x19,40] add x1, x0, :lo12:.LANCHOR0 - ldrb w2, [x1,3909] + ldrb w2, [x1,2835] cmp w2, 255 - beq .L2138 + beq .L2239 ubfx x4, x4, 21, 3 add x1, x1, 784 -.L2140: +.L2241: add x3, x1, x2, lsl 6 ldr w5, [x3,40] ubfx x5, x5, 21, 3 cmp w4, w5 - bne .L2139 + bne .L2240 ldrb w5, [x3,58] add x3, x3, 48 cmp w5, 6 - bne .L2139 + bne .L2240 mov w1, 3 strb w1, [x3,10] - b .L2138 -.L2139: + b .L2239 +.L2240: lsl x2, x2, 6 ldrb w2, [x1,x2] cmp w2, 255 - bne .L2140 -.L2138: + bne .L2241 +.L2239: mov w1, 3 strb w1, [x19,58] mov w1, 1 add x0, x0, :lo12:.LANCHOR0 strb w1, [x19,59] mov w1, -1 - add x0, x0, 3909 + add x0, x0, 2835 strb w1, [x19] mov x1, x19 bl buf_add_tail @@ -13207,75 +13720,77 @@ sblk_prog_page: stp x21, x22, [sp,32] stp x23, x24, [sp,48] stp x25, x26, [sp,64] - str x27, [sp,80] + stp x27, x28, [sp,80] mov x19, x0 uxtb w20, w1 ldrh w0, [x0,50] - cbz w0, .L2146 + cbz w0, .L2247 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 8, .L2146 - adrp x0, .LC163 + tbz x0, 8, .L2247 + adrp x0, .LC164 ldr w1, [x19,40] - add x0, x0, :lo12:.LC163 + add x0, x0, :lo12:.LC164 mov w2, w20 bl printk -.L2146: - adrp x21, .LANCHOR0 - adrp x24, .LANCHOR3 - add x21, x21, :lo12:.LANCHOR0 - add x24, x24, :lo12:.LANCHOR3 - mov w22, 0 - add x26, x21, 784 - add x24, x24, 296 -.L2147: - cbz w20, .L2173 - ldrb w25, [x19] - ldr w23, [x19,40] -.L2148: - mov w0, w23 +.L2247: + adrp x24, .LANCHOR0 + adrp x25, .LC0 + add x23, x24, :lo12:.LANCHOR0 + mov w21, 0 + add x27, x23, 784 + add x25, x25, :lo12:.LC0 +.L2248: + cbz w20, .L2278 + ldrb w26, [x19] + ldr w22, [x19,40] +.L2249: + mov w0, w22 mov w1, 1 bl queue_lun_state - cbz w0, .L2174 + cbz w0, .L2279 bl queue_wait_first_req_completed bl queue_remove_completed_req - b .L2148 -.L2174: + b .L2249 +.L2279: cmp w20, 1 - beq .L2150 - ldrb w0, [x21,781] - cbnz w0, .L2151 -.L2150: + beq .L2251 + add x0, x24, :lo12:.LANCHOR0 + ldrb w0, [x0,781] + cbnz w0, .L2252 +.L2251: mov x0, x19 bl queue_prog_cmd - b .L2152 -.L2151: + b .L2253 +.L2252: ldrb w0, [x19] - ubfx x27, x23, 21, 3 + ubfx x28, x22, 21, 3 cmp w0, 255 - bne .L2153 - adrp x0, .LC0 - mov x1, x24 - add x0, x0, :lo12:.LC0 - mov w2, 489 + bne .L2254 + adrp x1, .LANCHOR3 + mov w2, 546 + add x1, x1, :lo12:.LANCHOR3 + mov x0, x25 + add x1, x1, 376 bl printk -.L2153: + bl dump_stack +.L2254: ldrb w0, [x19] - add x0, x26, x0, lsl 6 + add x0, x27, x0, lsl 6 ldr w4, [x0,40] ubfx x0, x4, 21, 3 - cmp w27, w0 - bne .L2154 - ldrh w3, [x21,3356] + cmp w28, w0 + bne .L2255 + ldrh w3, [x23,3340] mov w1, 21 - ldrb w6, [x21,3354] - mov w27, 1 + ldrb w6, [x23,3338] + mov w28, 1 sub w1, w1, w3 - lsr w0, w23, w3 + lsr w0, w22, w3 sub w6, w6, #1 - lsl w1, w27, w1 + lsl w1, w28, w1 sub w1, w1, #1 - lsl w2, w27, w3 + lsl w2, w28, w3 uxth w7, w6 sub w2, w2, #1 and w5, w7, w0 @@ -13286,44 +13801,47 @@ sblk_prog_page: and w0, w1, w5 cmp w0, w3 uxth w2, w2 - beq .L2154 - and w23, w2, w23 + beq .L2255 + and w22, w2, w22 and w2, w2, w4 - cmp w23, w2 - bne .L2154 - cmp w22, w6 - beq .L2154 + cmp w22, w2 + bne .L2255 + cmp w21, w6 + beq .L2255 ldr w1, [x19,40] mov w0, 17 ldr x2, [x19,8] - add w22, w22, w27 + add w21, w21, w28 ldr x3, [x19,24] bl flash_start_page_prog - strb w27, [x19,59] + strb w28, [x19,59] mov w0, 8 strb w0, [x19,58] mov w0, -1 mov x1, x19 strb w0, [x19] - add x0, x21, 3909 + add x0, x23, 2835 bl buf_add_tail - b .L2152 -.L2154: + b .L2253 +.L2255: mov x0, x19 - mov w22, 0 + mov w21, 0 bl queue_prog_cmd -.L2152: - sbfiz x19, x25, 6, 32 - sub w20, w20, #1 - add x19, x26, x19 - b .L2147 -.L2173: - mov w0, w20 - ldr x27, [sp,80] +.L2253: + subs w20, w20, #1 + beq .L2278 + add x19, x24, :lo12:.LANCHOR0 + sbfiz x26, x26, 6, 32 + add x19, x19, 784 + add x19, x19, x26 + b .L2248 +.L2278: + mov w0, 0 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], 96 ret .size sblk_prog_page, .-sblk_prog_page @@ -13339,18 +13857,18 @@ ftl_flush: mov x19, x2 adrp x20, .LANCHOR4 ldrb w1, [x0,2857] - cbz w1, .L2176 + cbz w1, .L2281 add x2, x20, :lo12:.LANCHOR4 add x0, x0, 784 - ldrb w2, [x2,1282] + ldrb w2, [x2,1267] add x0, x0, x2, lsl 6 bl sblk_prog_page -.L2176: +.L2281: add x2, x19, :lo12:.LANCHOR0 add x20, x20, :lo12:.LANCHOR4 mov w0, -1 strb wzr, [x2,2857] - strb w0, [x20,1282] + strb w0, [x20,1267] bl sblk_wait_write_queue_completed bl ftl_write_completed mov w0, -1 @@ -13367,15 +13885,15 @@ zftl_cache_flush: stp x29, x30, [sp, -16]! add x29, sp, 0 ldrb w0, [x0,#:lo12:.LANCHOR0+2857] - cbz w0, .L2180 + cbz w0, .L2285 bl timer_get_time - adrp x1, .LANCHOR4+1284 - ldr w1, [x1,#:lo12:.LANCHOR4+1284] + adrp x1, .LANCHOR4+1268 + ldr w1, [x1,#:lo12:.LANCHOR4+1268] add w1, w1, 100 cmp w0, w1 - bls .L2180 + bls .L2285 bl ftl_flush -.L2180: +.L2285: ldp x29, x30, [sp], 16 ret .size zftl_cache_flush, .-zftl_cache_flush @@ -13395,55 +13913,57 @@ flash_prog_page_en: stp x27, x28, [sp,80] mov w20, w1 mov x23, x2 - ldrb w0, [x0,114] + ldrb w0, [x0,633] mov x22, x3 mov w24, w4 uxtb w25, w5 cmp w0, w21 ubfx x28, x20, 24, 2 mov x19, x6 - bhi .L2185 + bhi .L2290 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 - add x0, x0, :lo12:.LC0 - add x1, x1, 312 mov w2, 473 + add x1, x1, 392 + add x0, x0, :lo12:.LC0 bl printk -.L2185: - add x2, x19, :lo12:.LANCHOR0 + bl dump_stack +.L2290: + add x0, x19, :lo12:.LANCHOR0 mov w26, w20 - add x0, x2, x21, sxtw - ldrb w27, [x0,216] - cbnz w28, .L2186 - ldrb w0, [x2,113] - cbz w0, .L2187 - ldrb w0, [x2,224] - cbz w0, .L2186 -.L2187: + add x1, x0, x21, sxtw + ldrb w27, [x1,736] + cbnz w28, .L2291 + adrp x1, .LANCHOR0 + ldrb w1, [x1,#:lo12:.LANCHOR0] + cbz w1, .L2292 + ldrb w0, [x0,1] + cbz w0, .L2291 +.L2292: add x6, x19, :lo12:.LANCHOR0 - ldrh w26, [x6,226] - ldrb w1, [x6,224] + ldrh w26, [x6,2] + ldrb w1, [x6,1] udiv w2, w20, w26 mul w26, w2, w26 sub w0, w20, w26 - cbz w1, .L2188 + cbz w1, .L2293 add w26, w26, w0, lsl 1 - b .L2186 -.L2188: - add x6, x6, 228 + b .L2291 +.L2293: + add x6, x6, 4 ldrh w0, [x6,w0,uxtw 1] add w26, w0, w26 -.L2186: +.L2291: adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 4, .L2189 - adrp x0, .LC164 + tbz x0, 4, .L2294 + adrp x0, .LC165 mov w1, w27 - add x0, x0, :lo12:.LC164 + add x0, x0, :lo12:.LC165 mov w2, w20 bl printk -.L2189: +.L2294: mov w1, w26 mov w0, w27 mov x2, x23 @@ -13451,62 +13971,63 @@ flash_prog_page_en: mov w4, w24 bl flash_prog_page mov w26, w0 - cbz w25, .L2190 + cbz w25, .L2295 adrp x19, .LANCHOR4 mov w0, w21 add x25, x19, :lo12:.LANCHOR4 mov w1, w20 mov w4, w24 - ldr x2, [x25,1264] - ldr x3, [x25,1272] + ldr x2, [x25,1248] + ldr x3, [x25,1256] bl flash_read_page_en cmp w0, 512 - beq .L2191 + beq .L2296 cmn w0, #1 - beq .L2191 - ldr x0, [x25,1264] + beq .L2296 + ldr x0, [x25,1248] ldr w1, [x23] ldr w0, [x0] cmp w1, w0 - bne .L2191 - ldr x0, [x25,1272] + bne .L2296 + ldr x0, [x25,1256] ldr w1, [x22] ldr w0, [x0] cmp w1, w0 - beq .L2190 -.L2191: + beq .L2295 +.L2296: add x19, x19, :lo12:.LANCHOR4 mov w2, 4 - adrp x0, .LC165 + adrp x0, .LC166 mov w3, w2 - add x0, x0, :lo12:.LC165 - ldr x1, [x19,1272] + add x0, x0, :lo12:.LC166 + ldr x1, [x19,1256] bl rknand_print_hex mov w2, 4 - adrp x0, .LC166 - ldr x1, [x19,1264] - add x0, x0, :lo12:.LC166 + adrp x0, .LC167 + ldr x1, [x19,1248] + add x0, x0, :lo12:.LC167 mov w3, w2 bl rknand_print_hex - b .L2192 -.L2190: + b .L2297 +.L2295: cmn w26, #1 mov w0, w26 - bne .L2193 -.L2192: - adrp x0, .LC167 + bne .L2298 +.L2297: + adrp x0, .LC168 mov w1, w20 - add x0, x0, :lo12:.LC167 + add x0, x0, :lo12:.LC168 bl printk adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 - add x0, x0, :lo12:.LC0 - add x1, x1, 312 mov w2, 499 + add x1, x1, 392 + add x0, x0, :lo12:.LC0 bl printk + bl dump_stack mov w0, -1 -.L2193: +.L2298: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -13537,19 +14058,20 @@ ftl_prog_page: bl flash_prog_page_en cmn w0, #1 mov w19, w0 - bne .L2207 + bne .L2312 adrp x2, .LANCHOR3 adrp x0, .LC0 add x1, x2, :lo12:.LANCHOR3 add x0, x0, :lo12:.LC0 - add x1, x1, 336 - mov w2, 2147 + add x1, x1, 416 + mov w2, 2151 bl printk - adrp x0, .LC167 + bl dump_stack + adrp x0, .LC168 mov w1, w20 - add x0, x0, :lo12:.LC167 + add x0, x0, :lo12:.LC168 bl printk -.L2207: +.L2312: mov w0, w19 ldp x19, x20, [sp,16] ldp x29, x30, [sp], 64 @@ -13574,87 +14096,88 @@ ftl_info_flush: adrp x23, .LANCHOR3 add x19, x22, :lo12:.LANCHOR4 ldrb w2, [x0,2832] - adrp x24, .LC168 + adrp x24, .LC169 add x23, x23, :lo12:.LANCHOR3 - add x0, x19, 1344 + add x0, x19, 1280 lsl w2, w2, 1 mov w25, 0 - add x24, x24, :lo12:.LC168 - add x23, x23, 352 + add x24, x24, :lo12:.LC169 + add x23, x23, 432 bl ftl_memset -.L2209: +.L2314: add x0, x21, :lo12:.LANCHOR0 - ldrb w27, [x19,1600] - ldrh w20, [x19,1602] + ldrb w27, [x19,1536] + ldrh w20, [x19,1538] ldr x2, [x0,2864] - ldrh w28, [x0,3366] + ldrh w28, [x0,3350] ldr w1, [x2,4] add w1, w1, 1 str w1, [x2,4] - str w26, [x19,1344] + str w26, [x19,1280] ldr x3, [x0,2864] ldr w0, [x3,4] - str w0, [x19,1348] + str w0, [x19,1284] adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 12, .L2210 + tbz x0, 12, .L2315 ldr w3, [x3,4] mov x0, x24 mov w1, w27 mov w2, w20 bl printk -.L2210: +.L2315: add x1, x21, :lo12:.LANCHOR0 - ldrh w0, [x19,1602] - ldrh w1, [x1,3316] + ldrh w0, [x19,1538] + ldrh w1, [x1,3300] cmp w1, w0 - bhi .L2211 + bhi .L2316 adrp x20, .LC0 add x20, x20, :lo12:.LC0 -.L2216: - ldrb w1, [x19,1601] +.L2321: + ldrb w1, [x19,1537] add w1, w1, 1 uxtb w1, w1 - strb w1, [x19,1601] + strb w1, [x19,1537] cmp w1, 7 - bls .L2212 + bls .L2317 mov x1, 0 -.L2215: +.L2320: add x0, x21, :lo12:.LANCHOR0 uxth w25, w1 - ldr x2, [x0,208] + ldr x2, [x0,728] add w0, w1, 8 add x0, x2, x0, sxtw ldrb w2, [x0,32] add w0, w2, 127 uxtb w0, w0 cmp w0, 125 - bhi .L2213 - mov x0, x20 + bhi .L2318 mov x1, x23 mov w2, 742 + mov x0, x20 bl printk - b .L2214 -.L2213: + bl dump_stack + b .L2319 +.L2318: cmp w2, 255 - bne .L2214 + bne .L2319 add x1, x1, 1 cmp x1, 8 - bne .L2215 + bne .L2320 mov w25, w1 -.L2214: - strb w25, [x19,1601] +.L2319: + strb w25, [x19,1537] mov w25, 1 -.L2212: +.L2317: add x27, x21, :lo12:.LANCHOR0 - ldrb w1, [x19,1601] - ldr x0, [x27,208] + ldrb w1, [x19,1537] + ldr x0, [x27,728] add x1, x0, x1 ldrb w2, [x1,40] - strb w2, [x19,1600] + strb w2, [x19,1536] cmp w2, 255 - beq .L2216 - ldrh w20, [x27,3366] + beq .L2321 + ldrh w20, [x27,3350] mov w0, 0 mul w20, w2, w20 mov w1, w20 @@ -13662,93 +14185,95 @@ ftl_info_flush: ldrb w4, [x27,2832] mov w1, w20 mov w0, 0 - add x2, x19, 1664 - add x3, x19, 1344 + add x2, x19, 1600 + add x3, x19, 1280 add w20, w20, 1 bl ftl_prog_page mov w0, 1 - strh w0, [x19,1602] - b .L2217 -.L2211: + strh w0, [x19,1538] + b .L2322 +.L2316: madd w20, w27, w28, w20 - cbnz w0, .L2217 + cbnz w0, .L2322 mov w1, w20 bl flash_erase_block -.L2217: +.L2322: add x4, x21, :lo12:.LANCHOR0 mov w1, w20 mov w0, 0 - add x2, x19, 1664 - add x3, x19, 1344 + add x2, x19, 1600 + add x3, x19, 1280 ldrb w4, [x4,2832] bl ftl_prog_page cmn w0, #1 - ldrh w1, [x19,1602] + ldrh w1, [x19,1538] adrp x0, .LANCHOR5 add w1, w1, 1 - strh w1, [x19,1602] - beq .L2218 + strh w1, [x19,1538] + beq .L2323 add x1, x0, :lo12:.LANCHOR5 - ldrb w1, [x1,640] - cbz w1, .L2219 -.L2218: + ldrb w1, [x1,576] + cbz w1, .L2324 +.L2323: add x0, x0, :lo12:.LANCHOR5 - strb wzr, [x0,640] - b .L2209 -.L2219: - cbnz w25, .L2220 -.L2228: + strb wzr, [x0,576] + b .L2314 +.L2324: + cbnz w25, .L2325 +.L2333: add x22, x22, :lo12:.LANCHOR4 - ldrb w0, [x22,1600] + ldrb w0, [x22,1536] cmp w0, 255 - bne .L2222 + bne .L2327 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 mov w2, 778 - add x1, x1, 352 + add x1, x1, 432 add x0, x0, :lo12:.LC0 bl printk - b .L2222 -.L2220: - ldrb w19, [x19,1601] + bl dump_stack + b .L2327 +.L2325: + ldrb w19, [x19,1537] adrp x20, .LANCHOR3 adrp x23, .LC0 add x20, x20, :lo12:.LANCHOR3 add w19, w19, 1 add x23, x23, :lo12:.LC0 - add x20, x20, 352 -.L2223: + add x20, x20, 432 +.L2328: cmp w19, 7 - bhi .L2228 + bhi .L2333 add x0, x21, :lo12:.LANCHOR0 - ldr x1, [x0,208] + ldr x1, [x0,728] add w0, w19, 8 add x0, x1, x0, sxtw ldrb w24, [x0,32] add w0, w24, 127 uxtb w0, w0 cmp w0, 125 - bhi .L2224 - mov x0, x23 + bhi .L2329 mov x1, x20 mov w2, 771 + mov x0, x23 bl printk - b .L2225 -.L2224: + bl dump_stack + b .L2330 +.L2329: cmp w24, 255 - beq .L2226 -.L2225: + beq .L2331 +.L2330: add x0, x21, :lo12:.LANCHOR0 - ldrh w1, [x0,3366] + ldrh w1, [x0,3350] mov w0, 0 mul w1, w24, w1 bl flash_erase_block -.L2226: +.L2331: add w19, w19, 1 uxth w19, w19 - b .L2223 -.L2222: + b .L2328 +.L2327: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -13776,42 +14301,42 @@ ftl_info_blk_init: stp x25, x26, [sp,64] stp x27, x28, [sp,80] adrp x21, .LANCHOR4 - strb w0, [x20,640] - ldrh w1, [x23,56] + strb w0, [x20,576] + ldrh w1, [x23,576] add x22, x21, :lo12:.LANCHOR4 - add x24, x22, 1664 - strb w0, [x20,642] + add x24, x22, 1600 + strb w0, [x20,578] mov x0, x24 - strb wzr, [x20,641] + strb wzr, [x20,577] add x1, x24, x1, lsl 2 str x1, [x23,2864] mov w1, 0 - str x24, [x23,64] - adrp x26, .LC169 + str x24, [x23,584] + adrp x26, .LC170 adrp x27, .LANCHOR2 bl ftl_memset - add x26, x26, :lo12:.LC169 - add x0, x20, 704 + add x26, x26, :lo12:.LC170 + add x0, x20, 640 mov w1, 0 mov w2, 16384 mov w20, 7 bl ftl_memset - strb wzr, [x22,1601] - ldr x0, [x23,208] - add x23, x22, 1344 - strh wzr, [x22,1602] + strb wzr, [x22,1537] + ldr x0, [x23,728] + add x23, x22, 1280 + strh wzr, [x22,1538] ldrb w0, [x0,40] - strb w0, [x22,1600] -.L2246: + strb w0, [x22,1536] +.L2351: add x5, x19, :lo12:.LANCHOR0 add w0, w20, 8 sxth w25, w20 - ldr x1, [x5,208] + ldr x1, [x5,728] add x0, x1, x0, sxtw ldrb w1, [x0,32] cmp w1, 255 - beq .L2242 - ldrh w22, [x5,3366] + beq .L2347 + ldrh w22, [x5,3350] mov w0, 0 ldrb w4, [x5,2832] mov x2, x24 @@ -13823,7 +14348,7 @@ ftl_info_blk_init: cmn w0, #1 mov w28, w0 ldr x5, [x29,104] - bne .L2243 + bne .L2348 ldrb w4, [x5,2832] mov w0, 0 add w1, w22, 1 @@ -13831,9 +14356,9 @@ ftl_info_blk_init: mov x3, x23 bl ftl_read_page mov w28, w0 -.L2243: +.L2348: ldr w0, [x27,#:lo12:.LANCHOR2] - tbz x0, 12, .L2244 + tbz x0, 12, .L2349 add x0, x19, :lo12:.LANCHOR0 mov w1, w20 mov w2, w28 @@ -13842,43 +14367,43 @@ ftl_info_blk_init: mov x0, x26 ldr w4, [x4] bl printk -.L2244: +.L2349: cmn w28, #1 - beq .L2242 + beq .L2347 add x0, x19, :lo12:.LANCHOR0 ldr x0, [x0,2864] ldr w1, [x0] mov w0, 21574 movk w0, 0x494c, lsl 16 cmp w1, w0 - beq .L2254 -.L2242: + beq .L2359 +.L2347: sub w20, w20, #1 cmn w20, #1 - bne .L2246 + bne .L2351 mov w25, 0 - b .L2245 -.L2254: + b .L2350 +.L2359: mov w20, w25 -.L2245: +.L2350: adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 12, .L2247 + tbz x0, 12, .L2352 add x0, x19, :lo12:.LANCHOR0 mov w1, w20 mov w2, 4800 ldr x3, [x0,2864] - adrp x0, .LC170 - add x0, x0, :lo12:.LC170 + adrp x0, .LC171 + add x0, x0, :lo12:.LC171 ldr w3, [x3] bl printk -.L2247: +.L2352: cmn w20, #1 - bne .L2248 + bne .L2353 add x0, x21, :lo12:.LANCHOR4 mov w1, 0 add x19, x19, :lo12:.LANCHOR0 - add x0, x0, 1664 + add x0, x0, 1600 mov w2, 16384 bl ftl_memset ldr x1, [x19,2864] @@ -13890,31 +14415,31 @@ ftl_info_blk_init: ldr x1, [x19,2864] str w0, [x1,12] mov w0, w20 - b .L2249 -.L2248: + b .L2354 +.L2353: add x26, x19, :lo12:.LANCHOR0 add x23, x21, :lo12:.LANCHOR4 add w0, w25, 8 - add x24, x23, 1664 + add x24, x23, 1600 mov x2, x24 mov w4, 4 - ldr x1, [x26,208] + ldr x1, [x26,728] add x0, x1, x0, sxtw - strb w25, [x23,1601] - add x25, x23, 1344 + strb w25, [x23,1537] + add x25, x23, 1280 ldrb w1, [x0,32] mov x3, x25 mov w0, 0 - strb w1, [x23,1600] + strb w1, [x23,1536] bl flash_get_last_written_page sxth w22, w0 add w0, w0, 1 uxth w20, w0 - ldrb w0, [x23,1600] - ldrh w23, [x26,3366] + ldrb w0, [x23,1536] + ldrh w23, [x26,3350] mul w23, w0, w23 -.L2250: - tbnz w22, #31, .L2253 +.L2355: + tbnz w22, #31, .L2358 add x26, x19, :lo12:.LANCHOR0 mov w0, 0 add w1, w22, w23 @@ -13923,17 +14448,17 @@ ftl_info_blk_init: ldrb w4, [x26,2832] bl ftl_read_page cmn w0, #1 - beq .L2251 + beq .L2356 ldr x0, [x26,2864] ldr w1, [x0] mov w0, 21574 movk w0, 0x494c, lsl 16 cmp w1, w0 - bne .L2251 -.L2253: + bne .L2356 +.L2358: add x21, x21, :lo12:.LANCHOR4 add x19, x19, :lo12:.LANCHOR0 - strh w20, [x21,1602] + strh w20, [x21,1538] bl ftl_tmp_into_update ldr x1, [x19,2864] ldr w0, [x1,64] @@ -13944,12 +14469,12 @@ ftl_info_blk_init: mov w0, 0 bl ftl_info_flush mov w0, 0 - b .L2249 -.L2251: + b .L2354 +.L2356: sub w22, w22, #1 sxth w22, w22 - b .L2250 -.L2249: + b .L2355 +.L2354: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -13973,61 +14498,62 @@ ftl_ext_info_flush: mov w1, 100 udiv w0, w0, w1 add x1, x22, :lo12:.LANCHOR0 - ldr x1, [x1,88] + ldr x1, [x1,608] ldr w3, [x1,520] cmp w0, w3 - bls .L2272 + bls .L2377 ldr w2, [x1,12] sub w2, w2, w3 add w2, w2, w0 str w2, [x1,12] - b .L2285 -.L2272: - bcs .L2273 -.L2285: + b .L2390 +.L2377: + bcs .L2378 +.L2390: str w0, [x1,520] -.L2273: +.L2378: adrp x23, .LANCHOR3 adrp x19, .LANCHOR4 add x23, x23, :lo12:.LANCHOR3 add x19, x19, :lo12:.LANCHOR4 mov w0, 0 - add x23, x23, 368 - add x19, x19, 1344 + add x23, x23, 448 + add x19, x19, 1280 bl ftl_total_vpn_update -.L2274: +.L2379: adrp x24, .LANCHOR5 add x24, x24, :lo12:.LANCHOR5 - add x25, x24, 704 -.L2277: + add x25, x24, 640 +.L2382: add x2, x22, :lo12:.LANCHOR0 ldr x0, [x2,2864] ldr w1, [x0,56] add w1, w1, 1 str w1, [x0,56] ldrh w1, [x0,140] - ldrh w0, [x2,3316] + ldrh w0, [x2,3300] cmp w1, w0 - bcc .L2275 + bcc .L2380 bl ftl_ext_alloc_new_blk -.L2275: +.L2380: add x0, x22, :lo12:.LANCHOR0 ldr x0, [x0,2864] ldrh w1, [x0,130] mov w0, 65535 cmp w1, w0 - bne .L2276 + bne .L2381 adrp x0, .LC0 mov x1, x23 - add x0, x0, :lo12:.LC0 mov w2, 1747 + add x0, x0, :lo12:.LC0 bl printk -.L2276: + bl dump_stack +.L2381: add x21, x22, :lo12:.LANCHOR0 mov w0, 21 mov w1, 1 ldr x2, [x21,2864] - ldrh w20, [x21,3356] + ldrh w20, [x21,3340] ldrh w3, [x2,130] sub w20, w0, w20 ldrh w0, [x2,140] @@ -14036,7 +14562,7 @@ ftl_ext_info_flush: sub w20, w20, #1 ldrb w2, [x21,2832] and w3, w20, w3 - ldrh w20, [x21,3366] + ldrh w20, [x21,3350] mov w1, 0 lsl w2, w2, 1 madd w20, w3, w20, w0 @@ -14059,17 +14585,17 @@ ftl_ext_info_flush: uxth w1, w1 strh w1, [x2,140] cmp w1, 1 - beq .L2277 + beq .L2382 cmn w0, #1 - beq .L2278 - ldrb w0, [x24,642] - cbz w0, .L2279 -.L2278: + beq .L2383 + ldrb w0, [x24,578] + cbz w0, .L2384 +.L2383: adrp x0, .LANCHOR5 add x0, x0, :lo12:.LANCHOR5 - strb wzr, [x0,642] - b .L2274 -.L2279: + strb wzr, [x0,578] + b .L2379 +.L2384: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -14087,98 +14613,101 @@ ftl_ext_info_init: stp x19, x20, [sp,16] adrp x19, .LANCHOR0 str x27, [sp,80] - add x1, x19, :lo12:.LANCHOR0 - mov w20, 1 - stp x21, x22, [sp,32] - stp x23, x24, [sp,48] stp x25, x26, [sp,64] - strh wzr, [x1,3904] - adrp x21, .LANCHOR5 - ldr x0, [x1,2864] - adrp x22, .LANCHOR4 - ldrh w23, [x1,3356] - mov w1, 21 - add x2, x21, :lo12:.LANCHOR5 - add x3, x22, :lo12:.LANCHOR4 - ldrh w0, [x0,130] - sub w23, w1, w23 - lsl w20, w20, w23 - add x2, x2, 704 - asr w23, w0, w23 - sub w20, w20, #1 - and w20, w20, w0 - add x3, x3, 1344 - uxtb w23, w23 - mov w1, w20 - mov w0, w23 + add x26, x19, :lo12:.LANCHOR0 + adrp x20, .LANCHOR5 + stp x23, x24, [sp,48] + stp x21, x22, [sp,32] + adrp x21, .LANCHOR4 + add x2, x20, :lo12:.LANCHOR5 + ldr x0, [x26,2864] + add x3, x21, :lo12:.LANCHOR4 + ldrh w22, [x26,3340] + add x2, x2, 640 + add x3, x3, 1280 + strh wzr, [x26,3888] + ldrh w1, [x0,130] + mov w0, 21 + sub w22, w0, w22 + mov w0, 1 + asr w27, w1, w22 + lsl w22, w0, w22 + sub w22, w22, #1 + and w22, w22, w1 + uxtb w25, w27 + mov w0, w25 + mov w1, w22 bl flash_get_last_written_page - sxth w25, w0 + sxth w24, w0 adrp x0, .LANCHOR2 - mov w24, w25 + mov w23, w24 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 12, .L2287 + tbz x0, 12, .L2392 + ldr x5, [x26,2864] adrp x1, .LANCHOR3 - adrp x0, .LC115 + adrp x0, .LC172 add x1, x1, :lo12:.LANCHOR3 - add x0, x0, :lo12:.LC115 - add x1, x1, 392 + add x0, x0, :lo12:.LC172 + add x1, x1, 472 + ldrh w5, [x5,130] mov w2, 1791 - mov w3, w25 + mov w3, w24 + uxth w4, w27 bl printk -.L2287: - add x21, x21, :lo12:.LANCHOR5 - add x22, x22, :lo12:.LANCHOR4 - mov w26, w25 - add x21, x21, 704 - add x22, x22, 1344 -.L2288: - tbnz w26, #31, .L2293 +.L2392: + add x20, x20, :lo12:.LANCHOR5 + add x21, x21, :lo12:.LANCHOR4 + mov w26, w24 + add x20, x20, 640 + add x21, x21, 1280 +.L2393: + tbnz w26, #31, .L2398 add x27, x19, :lo12:.LANCHOR0 - mov w0, w23 - mov x2, x21 - mov x3, x22 - ldrh w1, [x27,3366] + mov w0, w25 + mov x2, x20 + mov x3, x21 + ldrh w1, [x27,3350] ldrb w4, [x27,2832] - madd w1, w20, w1, w26 + madd w1, w22, w1, w26 bl flash_read_page_en cmp w0, 512 - beq .L2289 + beq .L2394 cmn w0, #1 - beq .L2289 - ldr x0, [x27,88] + beq .L2394 + ldr x0, [x27,608] ldr w1, [x0] mov w0, 20038 movk w0, 0x4549, lsl 16 cmp w1, w0 - bne .L2289 -.L2293: + bne .L2394 +.L2398: bl zftl_sblk_list_init add x0, x19, :lo12:.LANCHOR0 ldr x0, [x0,2864] ldrh w1, [x0,140] - cmp w1, w25 - bgt .L2291 - add w24, w24, 1 - strh w24, [x0,140] + cmp w1, w24 + bgt .L2396 + add w23, w23, 1 + strh w23, [x0,140] bl ftl_ext_info_flush - b .L2291 -.L2289: + b .L2396 +.L2394: sub w26, w26, #1 sxth w26, w26 - b .L2288 -.L2291: + b .L2393 +.L2396: add x19, x19, :lo12:.LANCHOR0 - ldr x20, [x19,88] + ldr x20, [x19,608] bl timer_get_time mov w1, 100 udiv w0, w0, w1 str w0, [x20,520] - ldr x20, [x19,88] + ldr x20, [x19,608] bl timer_get_time str w0, [x20,604] - ldr x1, [x19,88] + ldr x1, [x19,608] mov w0, -1 - strh w0, [x19,3240] + strh w0, [x19,3224] strh w0, [x1,584] strh w0, [x1,586] strh w0, [x1,588] @@ -14226,14 +14755,14 @@ ftl_write_last_log_page: add x19, x19, :lo12:.LANCHOR0 ldrh w24, [x0,12] cmp w1, 1 - ldr x22, [x19,3888] - bne .L2305 + ldr x22, [x19,3872] + bne .L2410 mov x20, x0 bl ftl_get_new_free_page cmn w0, #1 mov w23, w0 mov w21, 0 - beq .L2305 + beq .L2410 ldrh w0, [x20] add x22, x22, x24, uxth 2 bl ftl_vpn_decrement @@ -14241,11 +14770,11 @@ ftl_write_last_log_page: mov w0, 15555 add x1, x1, :lo12:.LANCHOR6 movk w0, 0xf55f, lsl 16 - add x2, x1, 4032 + add x2, x1, 3968 str x2, [x29,72] - str w0, [x1,4032] - ldrb w0, [x19,3292] - ldrh w1, [x19,3316] + str w0, [x1,3968] + ldrb w0, [x19,3276] + ldrh w1, [x19,3300] mul w1, w1, w0 mov x0, x22 lsl w1, w1, 2 @@ -14258,7 +14787,7 @@ ftl_write_last_log_page: str w21, [x2,8] str w21, [x2,12] bl ftl_prog_ppa_page -.L2305: +.L2410: mov w0, w21 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -14281,42 +14810,42 @@ ftl_open_sblk_recovery: stp x21, x22, [sp,32] stp x25, x26, [sp,64] mov x27, x1 - tbz x0, 12, .L2310 - adrp x0, .LC171 - ldrh w1, [x19,2] - add x0, x0, :lo12:.LC171 - bl printk -.L2310: - ldr w0, [x24,#:lo12:.LANCHOR2] - tbz x0, 12, .L2311 - adrp x0, .LC172 - ldrb w1, [x19,5] - add x0, x0, :lo12:.LC172 - bl printk -.L2311: - ldr w0, [x24,#:lo12:.LANCHOR2] - tbz x0, 12, .L2312 + tbz x0, 12, .L2415 adrp x0, .LC173 - ldrh w1, [x19] + ldrh w1, [x19,2] add x0, x0, :lo12:.LC173 bl printk -.L2312: +.L2415: ldr w0, [x24,#:lo12:.LANCHOR2] - tbz x0, 12, .L2313 + tbz x0, 12, .L2416 adrp x0, .LC174 - ldrh w1, [x19,16] - ldrh w2, [x19,18] + ldrb w1, [x19,5] add x0, x0, :lo12:.LC174 bl printk -.L2313: +.L2416: + ldr w0, [x24,#:lo12:.LANCHOR2] + tbz x0, 12, .L2417 + adrp x0, .LC175 + ldrh w1, [x19] + add x0, x0, :lo12:.LC175 + bl printk +.L2417: + ldr w0, [x24,#:lo12:.LANCHOR2] + tbz x0, 12, .L2418 + adrp x0, .LC176 + ldrh w1, [x19,16] + ldrh w2, [x19,18] + add x0, x0, :lo12:.LC176 + bl printk +.L2418: ldrh w0, [x19,10] adrp x21, .LANCHOR0 strh w0, [x19,14] add x0, x21, :lo12:.LANCHOR0 ldrh w1, [x19] - ldrh w0, [x0,56] + ldrh w0, [x0,576] cmp w1, w0 - bcs .L2309 + bcs .L2414 mov w0, 1 adrp x25, .LANCHOR4 adrp x26, .LANCHOR3 @@ -14326,106 +14855,108 @@ ftl_open_sblk_recovery: ldrb w22, [x19,5] mov x20, x0 ldrh w23, [x19,2] - add x0, x26, 416 + add x0, x26, 496 mov w28, 0 - add x25, x25, 1344 + add x25, x25, 1280 str x0, [x29,120] -.L2316: +.L2421: add x0, x21, :lo12:.LANCHOR0 - ldrh w0, [x0,3316] + ldrh w0, [x0,3300] cmp w0, w23 - bls .L2319 + bls .L2424 ldrb w22, [x19,5] -.L2317: +.L2422: ldrb w0, [x19,9] cmp w0, w22 - bls .L2393 + bls .L2498 add x0, x19, x22, sxtw 1 ldrh w0, [x0,16] mov w1, 65535 cmp w0, w1 - beq .L2318 + beq .L2423 add x3, x21, :lo12:.LANCHOR0 ldr x2, [x20,24] - ldrh w1, [x3,3366] + ldrh w1, [x3,3350] ldrb w3, [x3,2832] madd w0, w0, w1, w23 ldr x1, [x20,8] bl ftl_read_ppa_page cmp w0, 512 mov w26, w0 - beq .L2319 + beq .L2424 cmn w0, #1 - beq .L2320 + beq .L2425 ldr x0, [x20,24] ldr w1, [x0] cmn w1, #1 - bne .L2320 + bne .L2425 ldr w0, [x0,4] cmn w0, #1 - bne .L2320 + bne .L2425 ldr x0, [x20,8] ldr w0, [x0] cmn w0, #1 - beq .L2319 -.L2320: - adrp x0, .LANCHOR5+641 + beq .L2424 +.L2425: + adrp x0, .LANCHOR5+577 mov w1, 1 - strb w1, [x0,#:lo12:.LANCHOR5+641] + strb w1, [x0,#:lo12:.LANCHOR5+577] ldrb w0, [x19,9] ldrh w1, [x19,10] madd w0, w23, w0, w22 cmp w1, w0 - beq .L2321 + beq .L2426 adrp x0, .LC0 ldr x1, [x29,120] - add x0, x0, :lo12:.LC0 mov w2, 1396 + add x0, x0, :lo12:.LC0 bl printk -.L2321: + bl dump_stack +.L2426: ldrh w0, [x19,10] ldrh w1, [x19,6] ldrb w2, [x19,9] add w1, w1, w0 add x0, x21, :lo12:.LANCHOR0 - ldrh w0, [x0,3316] + ldrh w0, [x0,3300] mul w0, w0, w2 cmp w1, w0 - beq .L2322 + beq .L2427 adrp x0, .LC0 ldr x1, [x29,120] - add x0, x0, :lo12:.LC0 mov w2, 1397 + add x0, x0, :lo12:.LC0 bl printk -.L2322: + bl dump_stack +.L2427: cmn w26, #1 - beq .L2326 + beq .L2431 ldr x0, [x20,24] ldr w0, [x0,4] cmn w0, #1 - beq .L2326 + beq .L2431 bl lpa_hash_get_ppa - cbz x27, .L2324 + cbz x27, .L2429 ldr x2, [x20,24] ldr w3, [x2,8] cmp w0, w3 - beq .L2324 + beq .L2429 cmn w0, #1 - beq .L2324 + beq .L2429 add x4, x21, :lo12:.LANCHOR0 mov w5, 21 mov w28, 1 - ldrh w3, [x4,3356] + ldrh w3, [x4,3340] lsr w1, w0, w3 sub w3, w5, w3 lsl w3, w28, w3 sub w3, w3, #1 and w3, w1, w3 - ldrb w1, [x4,3354] + ldrb w1, [x4,3338] udiv w3, w3, w1 ldrh w1, [x27] cmp w1, w3, uxth - bne .L2324 + bne .L2429 ldr w6, [x2] mov x2, x25 ldrb w3, [x4,2832] @@ -14439,36 +14970,36 @@ ftl_open_sblk_recovery: ldr x4, [x29,112] cmp w0, w6 ldr x5, [x29,96] - bcc .L2324 + bcc .L2429 ldr x0, [x20,24] ldr w1, [x0,8] cmn w1, #1 - beq .L2326 - ldrh w0, [x4,3356] + beq .L2431 + ldrh w0, [x4,3340] sub w5, w5, w0 lsr w1, w1, w0 lsl w28, w28, w5 - ldrb w0, [x4,3354] + ldrb w0, [x4,3338] sub w28, w28, #1 and w1, w28, w1 udiv w0, w1, w0 bl ftl_vpn_decrement - b .L2326 -.L2324: + b .L2431 +.L2429: ldr x2, [x20,24] add x1, x21, :lo12:.LANCHOR0 ldr w3, [x2,4] ldr w0, [x1,2840] cmp w3, w0 - bcs .L2326 + bcs .L2431 ldrb w0, [x19,9] - ldrh w4, [x1,3316] + ldrh w4, [x1,3300] ldrh w3, [x19,10] mul w0, w0, w4 sub w0, w0, #1 cmp w3, w0 - blt .L2394 -.L2326: + blt .L2499 +.L2431: ldrh w0, [x19,6] mov w28, 1 sub w0, w0, #1 @@ -14476,99 +15007,100 @@ ftl_open_sblk_recovery: ldrh w0, [x19,10] add w0, w0, 1 strh w0, [x19,10] -.L2318: +.L2423: add w22, w22, 1 uxth w22, w22 - b .L2317 -.L2393: + b .L2422 +.L2498: add w23, w23, 1 strb wzr, [x19,5] uxth w23, w23 - b .L2316 -.L2319: + b .L2421 +.L2424: add x2, x21, :lo12:.LANCHOR0 ldrh w0, [x19,10] ldrh w1, [x19,6] strh w23, [x19,2] add w1, w1, w0 - ldrh w2, [x2,3316] + ldrh w2, [x2,3300] ldrb w0, [x19,9] strb w22, [x19,5] mul w0, w0, w2 cmp w1, w0 - beq .L2330 + beq .L2435 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 - add x0, x0, :lo12:.LC0 - add x1, x1, 416 mov w2, 1473 + add x1, x1, 496 + add x0, x0, :lo12:.LC0 bl printk -.L2330: + bl dump_stack +.L2435: add x0, x21, :lo12:.LANCHOR0 ldrh w3, [x19,10] - ldr x4, [x0,3888] + ldr x4, [x0,3872] mov w0, 0 mov w2, w0 -.L2331: +.L2436: cmp w2, w3 - bcs .L2395 + bcs .L2500 ldrh w1, [x19,12] add w1, w2, w1 ldr w1, [x4,x1,lsl 2] cmn w1, #1 - beq .L2332 + beq .L2437 add w1, w0, 1 uxth w0, w1 -.L2332: +.L2437: add w2, w2, 1 - b .L2331 -.L2395: + b .L2436 +.L2500: add x2, x21, :lo12:.LANCHOR0 ldrb w1, [x19,9] sub w0, w0, w3 - ldrh w22, [x2,3316] + ldrh w22, [x2,3300] madd w0, w1, w22, w0 uxth w22, w0 ldr w0, [x24,#:lo12:.LANCHOR2] - tbz x0, 12, .L2334 + tbz x0, 12, .L2439 ldrh w1, [x19] - adrp x0, .LC175 - ldr x4, [x2,80] - add x0, x0, :lo12:.LC175 + adrp x0, .LC177 + ldr x4, [x2,600] + add x0, x0, :lo12:.LC177 ubfiz x3, x1, 1, 16 mov w2, w22 ldrh w3, [x4,x3] bl printk -.L2334: +.L2439: add x0, x21, :lo12:.LANCHOR0 ldrh w1, [x19] - adrp x23, .LC176 + adrp x23, .LC178 mov w25, -1 - add x23, x23, :lo12:.LC176 - ldr x0, [x0,80] + add x23, x23, :lo12:.LC178 + ldr x0, [x0,600] strh w22, [x0,x1,lsl 1] mov x0, x20 mov w22, 0 bl buf_free -.L2335: +.L2440: add x2, x21, :lo12:.LANCHOR0 - ldrb w0, [x2,3292] + ldrb w0, [x2,3276] cmp w22, w0, lsl 1 - bcs .L2396 - cbz w28, .L2336 + bcs .L2501 + cbz w28, .L2441 ldrh w0, [x19,6] cmp w0, 1 - bls .L2336 + bls .L2441 mov x0, x19 bl ftl_get_new_free_page mov w26, w0 ldr w0, [x24,#:lo12:.LANCHOR2] - tbz x0, 12, .L2337 + tbz x0, 12, .L2442 mov x0, x23 mov w1, w26 bl printk -.L2337: +.L2442: add x3, x21, :lo12:.LANCHOR0 ldr x0, [x20,24] ldr x1, [x3,2864] @@ -14589,42 +15121,43 @@ ftl_open_sblk_recovery: bl ftl_prog_ppa_page ldrh w0, [x19] bl ftl_vpn_decrement -.L2336: +.L2441: add w22, w22, 1 - b .L2335 -.L2396: - ldrh w1, [x2,3316] + b .L2440 +.L2501: + ldrh w1, [x2,3300] ldrh w0, [x19,12] ldrb w3, [x19,9] madd w0, w1, w3, w0 mov x1, -4 add x0, x1, x0, sxtw 2 - ldr x1, [x2,3888] + ldr x1, [x2,3872] ldr w0, [x1,x0] cmn w0, #1 - beq .L2339 + beq .L2444 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 - add x0, x0, :lo12:.LC0 - add x1, x1, 416 mov w2, 1503 + add x1, x1, 496 + add x0, x0, :lo12:.LC0 bl printk -.L2339: + bl dump_stack +.L2444: ldrh w0, [x19,6] cmp w0, 1 - bne .L2309 + bne .L2414 mov x0, x19 bl ftl_write_last_log_page - b .L2309 -.L2394: + b .L2414 +.L2499: ldr x0, [x1,2864] ldr w2, [x2] ldr w1, [x0,8] cmp w2, w1 - bls .L2327 + bls .L2432 str w2, [x0,8] -.L2327: +.L2432: ldr x1, [x20,24] ldrh w0, [x19,10] ldrh w2, [x19,12] @@ -14632,8 +15165,8 @@ ftl_open_sblk_recovery: ldr w0, [x1,4] ldr w1, [x1,8] bl lpa_hash_update_ppa - b .L2326 -.L2309: + b .L2431 +.L2414: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -14660,8 +15193,8 @@ pm_write_page: mov x24, x1 adrp x25, .LANCHOR0 add x23, x23, :lo12:.LC0 - add x22, x22, 440 -.L2398: + add x22, x22, 520 +.L2503: add x2, x25, :lo12:.LANCHOR0 adrp x19, .LANCHOR0 ldr x0, [x2,2864] @@ -14669,52 +15202,53 @@ pm_write_page: ldrh w3, [x0,696] add w1, w1, 1 str w1, [x0,48] - ldrh w1, [x2,3316] + ldrh w1, [x2,3300] cmp w3, w1 - bcs .L2399 + bcs .L2504 ldrh w1, [x0,692] mov w0, 65535 cmp w1, w0 - bne .L2400 -.L2399: + bne .L2505 +.L2504: bl pm_alloc_new_blk mov w0, 0 bl ftl_info_flush -.L2400: +.L2505: add x0, x19, :lo12:.LANCHOR0 ldr x0, [x0,2864] ldrh w1, [x0,692] mov w0, 65535 cmp w1, w0 - bne .L2401 - mov x0, x23 + bne .L2506 mov x1, x22 mov w2, 230 + mov x0, x23 bl printk -.L2401: + bl dump_stack +.L2506: add x19, x19, :lo12:.LANCHOR0 adrp x20, .LANCHOR7 add x27, x20, :lo12:.LANCHOR7 mov w2, 64 ldr x1, [x19,2864] - ldrh w26, [x19,3366] + ldrh w26, [x19,3350] ldrh w0, [x1,692] ldrh w1, [x1,696] madd w26, w0, w26, w1 - ldr x0, [x27,-64] + ldr x0, [x27,-128] mov w1, 0 bl ftl_memset - ldr x0, [x27,-64] + ldr x0, [x27,-128] mov x2, x24 str w21, [x0] ldr x1, [x19,2864] - ldr x0, [x27,-64] + ldr x0, [x27,-128] ldrb w4, [x19,2832] ldr w1, [x1,48] str w1, [x0,4] mov w1, w26 ldr x0, [x19,2864] - ldr x3, [x27,-64] + ldr x3, [x27,-128] ldrb w0, [x0,694] bl ftl_prog_page ldr x1, [x19,2864] @@ -14723,28 +15257,28 @@ pm_write_page: uxth w2, w2 strh w2, [x1,696] cmp w2, 1 - beq .L2402 - ldrb w2, [x27,-56] - cbz w2, .L2403 -.L2402: + beq .L2507 + ldrb w2, [x27,-120] + cbz w2, .L2508 +.L2507: add x20, x20, :lo12:.LANCHOR7 - strb wzr, [x20,-56] - b .L2398 -.L2403: + strb wzr, [x20,-120] + b .L2503 +.L2508: cmn w0, #1 - bne .L2405 - adrp x0, .LC177 + bne .L2510 + adrp x0, .LC179 mov w1, w26 - add x0, x0, :lo12:.LC177 + add x0, x0, :lo12:.LC179 bl printk - b .L2398 -.L2405: + b .L2503 +.L2510: ldrh w0, [x1,698] cmp w21, w0 - bcs .L2406 + bcs .L2511 add x21, x1, x21, uxtw 2 str w26, [x21,704] -.L2406: +.L2511: mov w0, 0 ldr x27, [sp,80] ldp x19, x20, [sp,16] @@ -14767,113 +15301,113 @@ flash_info_flush: stp x23, x24, [sp,48] stp x25, x26, [sp,64] stp x27, x28, [sp,80] - tbz x0, 12, .L2411 + tbz x0, 12, .L2516 adrp x2, .LANCHOR3 adrp x0, .LC127 add x2, x2, :lo12:.LANCHOR3 add x0, x0, :lo12:.LC127 mov w1, 251 - add x2, x2, 456 + add x2, x2, 536 bl printk -.L2411: +.L2516: adrp x22, .LANCHOR4 adrp x23, .LANCHOR0 add x0, x22, :lo12:.LANCHOR4 mov w1, 0 mov w2, 64 add x19, x23, :lo12:.LANCHOR0 - adrp x24, .LC179 - adrp x25, .LC180 - ldr x0, [x0,1248] + adrp x24, .LC181 + adrp x25, .LC182 + ldr x0, [x0,1232] mov w26, 0 - add x24, x24, :lo12:.LC179 - add x25, x25, :lo12:.LC180 + add x24, x24, :lo12:.LC181 + add x25, x25, :lo12:.LC182 bl ftl_memset - ldr x1, [x19,208] - adrp x0, .LC178 - add x0, x0, :lo12:.LC178 + ldr x1, [x19,728] + adrp x0, .LC180 + add x0, x0, :lo12:.LC180 mov w2, 4 mov w3, 16 bl rknand_print_hex - ldr x19, [x19,208] + ldr x19, [x19,728] add x0, x19, 16 ldr w1, [x19,8] bl js_hash str w0, [x19,12] -.L2412: +.L2517: add x21, x22, :lo12:.LANCHOR4 add x27, x23, :lo12:.LANCHOR0 mov x0, x24 - ldrb w20, [x21,1256] - ldrh w19, [x21,1258] + ldrb w20, [x21,1240] + ldrh w19, [x21,1242] mov w1, w20 - ldrh w28, [x27,226] + ldrh w28, [x27,2] mov w2, w19 bl printk - ldrh w1, [x21,1108] - ldrh w0, [x21,1258] + ldrh w1, [x21,1092] + ldrh w0, [x21,1242] sub w1, w1, #1 cmp w0, w1 - blt .L2413 - ldr x1, [x27,208] - ldrb w19, [x21,1257] - strh wzr, [x21,1258] + blt .L2518 + ldr x1, [x27,728] + ldrb w19, [x21,1241] + strh wzr, [x21,1242] ldr w0, [x1,4] add w0, w0, 1 str w0, [x1,4] - ldrb w0, [x21,1256] - ldr x20, [x27,208] - strb w0, [x21,1257] + ldrb w0, [x21,1240] + ldr x20, [x27,728] + strb w0, [x21,1241] mov x0, x20 - strb w19, [x21,1256] + strb w19, [x21,1240] ldrh w1, [x20,16] add w1, w1, 1 strh w1, [x0,16]! ldr w1, [x20,8] bl js_hash str w0, [x20,12] - ldrh w0, [x27,226] + ldrh w0, [x27,2] mul w19, w19, w0 mov w0, 0 - b .L2421 -.L2413: + b .L2526 +.L2518: madd w19, w20, w28, w19 - cbnz w0, .L2414 -.L2421: + cbnz w0, .L2519 +.L2526: mov w1, w19 bl flash_erase_block -.L2414: +.L2519: add x2, x23, :lo12:.LANCHOR0 add x20, x22, :lo12:.LANCHOR4 mov w4, 4 mov w5, 1 - ldr x1, [x2,208] - ldr x0, [x20,1248] + ldr x1, [x2,728] + ldr x0, [x20,1232] ldr w1, [x1,4] str w1, [x0] mov w0, 21321 movk w0, 0x5359, lsl 16 - ldr x1, [x20,1248] + ldr x1, [x20,1232] str w0, [x1,4] mov w1, w19 mov w0, 0 - ldr x2, [x2,208] - ldr x3, [x20,1248] + ldr x2, [x2,728] + ldr x3, [x20,1232] bl flash_prog_page_en cmn w0, #1 - ldrh w1, [x20,1258] + ldrh w1, [x20,1242] add w1, w1, 1 - strh w1, [x20,1258] - bne .L2415 + strh w1, [x20,1242] + bne .L2520 mov x0, x25 mov w1, w19 bl printk - b .L2412 -.L2415: - cbnz w26, .L2422 + b .L2517 +.L2520: + cbnz w26, .L2527 mov w26, 1 - b .L2412 -.L2422: + b .L2517 +.L2527: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -14887,7 +15421,7 @@ flash_info_flush: .global nand_flash_init .type nand_flash_init, %function nand_flash_init: - stp x29, x30, [sp, -80]! + stp x29, x30, [sp, -96]! add x29, sp, 0 stp x19, x20, [sp,16] adrp x20, .LANCHOR2 @@ -14896,225 +15430,235 @@ nand_flash_init: stp x23, x24, [sp,48] ldr w0, [x20,#:lo12:.LANCHOR2] stp x25, x26, [sp,64] - tbz x0, 12, .L2424 + str x27, [sp,80] + tbz x0, 12, .L2529 adrp x2, .LANCHOR3 adrp x0, .LC127 add x2, x2, :lo12:.LANCHOR3 add x0, x0, :lo12:.LC127 - mov w1, 2101 - add x2, x2, 480 + mov w1, 2209 + add x2, x2, 560 bl printk -.L2424: +.L2529: mov x0, x19 adrp x19, .LANCHOR0 - mov x21, 0 - mov w25, 2 + add x22, x19, :lo12:.LANCHOR0 + adrp x21, .LANCHOR4 bl nandc_init - mov w26, 44 - add x0, x19, :lo12:.LANCHOR0 - add x1, x20, :lo12:.LANCHOR2 - add x22, x0, 748 - add x1, x1, 376 - mov x23, x0 - mov x24, x22 - str x1, [x0,104] -.L2430: - mov w0, w21 - mov x1, x22 + add x24, x22, 748 + add x0, x20, :lo12:.LANCHOR2 + mov w1, 0 + add x0, x0, 376 + str x0, [x22,624] + mov w0, 1 + mov w2, 8 + strb w0, [x22,633] + add x0, x22, 736 + mov x23, 0 + mov w26, 2 + bl ftl_memset + mov x25, x24 + add x0, x21, :lo12:.LANCHOR4 + mov w1, 0 + add x0, x0, 1096 + mov w2, 32 + mov w27, 44 + bl ftl_memset +.L2535: + mov w0, w23 + mov x1, x24 bl flash_read_id - add x0, x23, 744 - strb w25, [x21,x0] - cbnz x21, .L2425 - ldrb w0, [x24] + add x0, x22, 744 + strb w26, [x23,x0] + cbnz x23, .L2530 + ldrb w0, [x25] sub w0, w0, #1 uxtb w0, w0 cmp w0, 253 - bls .L2426 -.L2428: + bls .L2531 +.L2533: mov w22, -2 - b .L2472 -.L2426: - ldrb w0, [x24,1] + b .L2597 +.L2531: + ldrb w0, [x25,1] cmp w0, 255 - beq .L2428 -.L2425: - ldrb w0, [x22] + beq .L2533 +.L2530: + ldrb w0, [x24] cmp w0, 181 - bne .L2429 - strb w26, [x22] -.L2429: - add x21, x21, 1 - add x22, x22, 8 - cmp x21, 4 - bne .L2430 - add x22, x20, :lo12:.LANCHOR2 - add x23, x19, :lo12:.LANCHOR0 - add x22, x22, 440 - mov w21, 0 - add x23, x23, 748 -.L2433: - ldrb w2, [x22] - add x0, x22, 1 - mov x1, x23 + bne .L2534 + strb w27, [x24] +.L2534: + add x23, x23, 1 + add x24, x24, 8 + cmp x23, 4 + bne .L2535 + add x23, x20, :lo12:.LANCHOR2 + add x24, x19, :lo12:.LANCHOR0 + add x23, x23, 440 + mov w22, 0 + add x24, x24, 748 +.L2538: + ldrb w2, [x23] + add x0, x23, 1 + mov x1, x24 bl flash_mem_cmp8 - cbnz w0, .L2431 + cbnz w0, .L2536 add x1, x20, :lo12:.LANCHOR2 - ubfiz x21, x21, 5, 32 + ubfiz x22, x22, 5, 32 add x0, x1, 440 - adds x21, x0, x21 - beq .L2428 - ldrb w3, [x21,22] + adds x22, x0, x22 + beq .L2533 + ldrb w3, [x22,22] mov x0, 0 - b .L2435 -.L2431: - add w21, w21, 1 - add x22, x22, 32 - cmp w21, 30 - bne .L2433 - b .L2428 -.L2435: + b .L2540 +.L2536: + add w22, w22, 1 + add x23, x23, 32 + cmp w22, 30 + bne .L2538 + b .L2533 +.L2540: add x4, x1, x0, lsl 5 mov w2, w0 ldrb w4, [x4,1400] cmp w4, w3 - beq .L2434 + beq .L2539 add x0, x0, 1 cmp x0, 4 - bne .L2435 + bne .L2540 mov w2, w0 -.L2434: - add x22, x20, :lo12:.LANCHOR2 +.L2539: + add x23, x20, :lo12:.LANCHOR2 + add x24, x19, :lo12:.LANCHOR0 + add x1, x23, 1400 ubfiz x2, x2, 5, 32 - add x1, x22, 1400 - add x0, x19, :lo12:.LANCHOR0 add x1, x1, x2 - add x0, x0, 120 + add x0, x24, 640 mov w2, 32 - add x22, x22, 376 + add x23, x23, 376 bl ftl_memcpy - mov x0, x22 - mov x1, x21 + mov x0, x23 + mov x1, x22 mov w2, 32 bl ftl_memcpy - ldrb w0, [x19,#:lo12:.LANCHOR0] + ldrb w0, [x24,516] cmp w0, 8 - bhi .L2436 - ldrb w1, [x22,20] + bhi .L2541 + ldrb w1, [x23,20] cmp w1, 60 - bls .L2437 + bls .L2542 mov w1, 60 - strb w1, [x22,20] -.L2437: + strb w1, [x23,20] +.L2542: cmp w0, 8 - bne .L2436 + bne .L2541 add x0, x19, :lo12:.LANCHOR0 ldrb w0, [x0,748] cmp w0, 44 - beq .L2497 -.L2436: + beq .L2603 +.L2541: ldr w0, [x20,#:lo12:.LANCHOR2] - tbz x0, 12, .L2438 + tbz x0, 12, .L2543 adrp x2, .LANCHOR3 adrp x0, .LC127 add x2, x2, :lo12:.LANCHOR3 add x0, x0, :lo12:.LC127 - mov w1, 2122 - add x2, x2, 480 + mov w1, 2233 + add x2, x2, 560 bl printk -.L2438: - adrp x21, .LANCHOR4 - mov w0, 16384 +.L2543: add x23, x21, :lo12:.LANCHOR4 + mov w0, 16384 add x22, x19, :lo12:.LANCHOR0 - bl ftl_malloc add x24, x20, :lo12:.LANCHOR2 - str x0, [x23,1264] + bl ftl_malloc + str x0, [x23,1248] mov w0, 16384 bl ftl_malloc - str x0, [x23,1208] + str x0, [x23,1192] mov w0, 2048 bl ftl_malloc - str x0, [x22,208] + str x0, [x22,728] mov w0, 64 bl ftl_malloc - str x0, [x23,1272] + str x0, [x23,1256] mov w0, 64 bl ftl_malloc - str x0, [x23,1224] + str x0, [x23,1208] mov w0, 64 bl ftl_malloc - strb wzr, [x23,1281] - str x0, [x23,1248] + strb wzr, [x23,1266] + str x0, [x23,1232] bl flash_die_info_init ldrb w0, [x24,394] bl flash_lsb_page_tbl_build ldrb w0, [x24,396] bl nandc_bch_sel - str xzr, [x23,1240] - ldr x1, [x22,104] + str xzr, [x23,1224] + ldr x1, [x22,624] ldrh w0, [x1,16] ubfx x2, x0, 8, 3 strb w2, [x22,780] - adrp x2, .LANCHOR7-55 - ubfx x3, x0, 3, 1 - strb w3, [x2,#:lo12:.LANCHOR7-55] + ubfx x2, x0, 3, 1 + strb w2, [x23,1265] ubfx x2, x0, 4, 1 strb w2, [x22,781] ubfx x2, x0, 12, 1 - strb w2, [x22,3288] + strb w2, [x22,3272] ubfx x2, x0, 13, 1 ubfx x0, x0, 14, 1 - strb w0, [x22,224] + strb w0, [x22,1] ldrb w0, [x1,28] mov w1, 60 - strb w1, [x22,112] - ldrb w1, [x19,#:lo12:.LANCHOR0] - strb w2, [x22,3364] - strb w0, [x22,113] + strb w1, [x22,632] + ldrb w1, [x22,516] + strb w2, [x22,3348] + strb w0, [x19,#:lo12:.LANCHOR0] cmp w1, 9 - bne .L2439 + bne .L2544 mov w1, 70 - strb w1, [x22,112] -.L2439: + strb w1, [x22,632] +.L2544: add x2, x20, :lo12:.LANCHOR2 add x1, x21, :lo12:.LANCHOR4 add x2, x2, 376 add x3, x19, :lo12:.LANCHOR0 - strb w0, [x1,1280] + strb w0, [x1,1264] ldrb w0, [x2,19] ldrh w2, [x2,16] - strb w0, [x3,205] - tbz x2, 6, .L2441 + strb w0, [x3,725] + tbz x2, 6, .L2546 sub w2, w0, #17 uxtb w2, w2 cmp w2, 2 - bhi .L2442 + bhi .L2547 adrp x2, micron_read_retrial cmp w0, 19 add x2, x2, :lo12:micron_read_retrial - str x2, [x1,1240] - bne .L2493 + str x2, [x1,1224] + bne .L2599 mov w0, 15 - b .L2494 -.L2442: + b .L2600 +.L2547: sub w2, w0, #65 uxtb w2, w2 cmp w2, 1 - bls .L2462 + bls .L2568 cmp w0, 33 - bne .L2445 -.L2462: + bne .L2550 +.L2568: add x0, x21, :lo12:.LANCHOR4 adrp x1, toshiba_read_retrial add x1, x1, :lo12:toshiba_read_retrial mov w2, 4 - str x1, [x0,1240] + str x1, [x0,1224] add x1, x19, :lo12:.LANCHOR0 - strb w2, [x1,206] + strb w2, [x1,726] mov w1, 7 - strb w1, [x0,1232] - b .L2441 -.L2445: + strb w1, [x0,1216] + b .L2546 +.L2550: sub w2, w0, #67 uxtb w2, w2 cmp w2, 1 @@ -15122,141 +15666,147 @@ nand_flash_init: cset w3, ls uxtb w2, w2 cmp w2, 1 - bls .L2463 - cbz w3, .L2447 -.L2463: + bls .L2569 + cbz w3, .L2552 +.L2569: add x2, x21, :lo12:.LANCHOR4 adrp x1, toshiba_read_retrial add x1, x1, :lo12:toshiba_read_retrial cmp w0, 35 - str x1, [x2,1240] - beq .L2449 + str x1, [x2,1224] + beq .L2554 cmp w0, 68 - beq .L2449 + beq .L2554 mov w0, 7 - strb w0, [x2,1232] - b .L2450 -.L2449: + strb w0, [x2,1216] + b .L2555 +.L2554: add x0, x21, :lo12:.LANCHOR4 mov w1, 17 - strb w1, [x0,1232] -.L2450: + strb w1, [x0,1216] +.L2555: add x0, x19, :lo12:.LANCHOR0 mov w1, 4 - cbnz w3, .L2495 + cbnz w3, .L2601 mov w1, 5 -.L2495: - strb w1, [x0,206] - b .L2441 -.L2447: +.L2601: + strb w1, [x0,726] + b .L2546 +.L2552: sub w0, w0, #36 uxtb w0, w0 cmp w0, 1 - bhi .L2441 + bhi .L2546 adrp x0, toshiba_3d_read_retrial add x0, x0, :lo12:toshiba_3d_read_retrial - str x0, [x1,1240] -.L2493: + str x0, [x1,1224] +.L2599: mov w0, 7 -.L2494: - strb w0, [x1,1232] -.L2441: +.L2600: + strb w0, [x1,1216] +.L2546: ldr w0, [x20,#:lo12:.LANCHOR2] - tbz x0, 12, .L2452 + tbz x0, 12, .L2557 adrp x2, .LANCHOR3 adrp x0, .LC127 add x2, x2, :lo12:.LANCHOR3 add x0, x0, :lo12:.LC127 - mov w1, 2170 - add x2, x2, 480 + mov w1, 2281 + add x2, x2, 560 bl printk -.L2452: +.L2557: add x0, x19, :lo12:.LANCHOR0 - strb wzr, [x0,152] + strb wzr, [x0,672] ldrb w0, [x0,780] - tbz x0, 0, .L2453 + tbz x0, 0, .L2558 mov w0, 4 bl nandc_set_if_mode mov w0, 1 bl flash_set_interface_mode mov w0, 1 - b .L2496 -.L2453: + b .L2602 +.L2558: mov w0, 4 -.L2496: +.L2602: bl nandc_set_if_mode bl flash_info_blk_init cmn w0, #1 mov w22, w0 - bne .L2455 + bne .L2560 ldr w0, [x20,#:lo12:.LANCHOR2] - tbz x0, 12, .L2472 + tbz x0, 12, .L2561 adrp x2, .LANCHOR3 adrp x0, .LC127 add x2, x2, :lo12:.LANCHOR3 - mov w1, 2190 - add x2, x2, 480 add x0, x0, :lo12:.LC127 + mov w1, 2301 + add x2, x2, 560 bl printk - b .L2472 -.L2455: +.L2561: + add x19, x19, :lo12:.LANCHOR0 + mov w1, 17 + ldr x0, [x19,728] + strb w1, [x0,32] + b .L2597 +.L2560: add x0, x19, :lo12:.LANCHOR0 - ldrb w0, [x0,205] + ldrb w0, [x0,725] sub w0, w0, #1 uxtb w0, w0 cmp w0, 6 - bhi .L2456 + bhi .L2562 add x0, x21, :lo12:.LANCHOR4 adrp x1, hynix_read_retrial add x1, x1, :lo12:hynix_read_retrial - str x1, [x0,1240] -.L2456: + str x1, [x0,1224] +.L2562: add x19, x19, :lo12:.LANCHOR0 ldrb w0, [x19,780] - tbz x0, 2, .L2458 - ldr x0, [x19,208] + tbz x0, 2, .L2564 + ldr x0, [x19,728] ldrb w0, [x0,19] - cbz w0, .L2458 + cbz w0, .L2564 add x21, x21, :lo12:.LANCHOR4 - ldrh w1, [x19,226] + ldrh w1, [x19,2] mov w0, 0 - ldrb w2, [x21,1256] + ldrb w2, [x21,1240] mul w1, w2, w1 bl flash_ddr_para_scan - ldrb w0, [x19,152] - cbnz w0, .L2458 - ldr x1, [x19,208] + ldrb w0, [x19,672] + cbnz w0, .L2564 + ldr x1, [x19,728] strb w0, [x1,19] bl flash_info_flush -.L2458: +.L2564: ldr w0, [x20,#:lo12:.LANCHOR2] - tbz x0, 12, .L2460 + tbz x0, 12, .L2566 adrp x2, .LANCHOR3 adrp x0, .LC127 add x2, x2, :lo12:.LANCHOR3 add x0, x0, :lo12:.LC127 - mov w1, 2243 - add x2, x2, 480 + mov w1, 2356 + add x2, x2, 560 bl printk -.L2460: +.L2566: bl nand_flash_print_info mov w22, 0 - b .L2472 -.L2497: + b .L2597 +.L2603: add x0, x20, :lo12:.LANCHOR2 add x0, x0, 376 ldrb w1, [x0,28] cmp w1, 3 - bne .L2436 + bne .L2541 strb wzr, [x0,28] - b .L2436 -.L2472: + b .L2541 +.L2597: mov w0, w22 + ldr x27, [sp,80] ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] ldp x25, x26, [sp,64] - ldp x29, x30, [sp], 80 + ldp x29, x30, [sp], 96 ret .size nand_flash_init, .-nand_flash_init .align 2 @@ -15276,20 +15826,20 @@ ftl_sysblk_dump: bl buf_alloc ldr x24, [x0,8] mov w20, 0 - adrp x22, .LC181 - adrp x23, .LC182 + adrp x22, .LC183 + adrp x23, .LC184 mov x27, x0 mov w19, w20 adrp x28, .LANCHOR0 - add x22, x22, :lo12:.LC181 - add x23, x23, :lo12:.LC182 + add x22, x22, :lo12:.LC183 + add x23, x23, :lo12:.LC184 add x24, x24, 704 -.L2499: +.L2605: add x3, x28, :lo12:.LANCHOR0 - ldrh w1, [x3,3316] + ldrh w1, [x3,3300] cmp w1, w19 - bls .L2511 - ldrh w21, [x3,3366] + bls .L2617 + ldrh w21, [x3,3350] ldr x1, [x27,8] ldr x2, [x27,24] madd w21, w25, w21, w19 @@ -15324,27 +15874,28 @@ ftl_sysblk_dump: mov w3, 32 bl rknand_print_hex cmp w26, 512 - beq .L2504 + beq .L2610 cmn w26, #1 - bne .L2500 -.L2504: + bne .L2606 +.L2610: mov w20, 1 -.L2500: +.L2606: add w19, w19, 1 uxth w19, w19 - b .L2499 -.L2511: + b .L2605 +.L2617: mov x0, x27 bl buf_free - cbz w20, .L2503 + cbz w20, .L2609 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 - add x0, x0, :lo12:.LC0 - add x1, x1, 496 mov w2, 1339 + add x1, x1, 576 + add x0, x0, :lo12:.LC0 bl printk -.L2503: + bl dump_stack +.L2609: sub sp, x29, #48 mov w0, w20 ldp x19, x20, [sp,64] @@ -15361,31 +15912,31 @@ ftl_sysblk_dump: .type dump_ftl_info, %function dump_ftl_info: stp x29, x30, [sp, -32]! - adrp x0, .LC183 + adrp x0, .LC185 add x29, sp, 0 str x19, [sp,16] adrp x19, .LANCHOR0 add x19, x19, :lo12:.LANCHOR0 - add x0, x0, :lo12:.LC183 + add x0, x0, :lo12:.LC185 ldrb w1, [x19,2834] bl printk adrp x3, .LANCHOR4 - adrp x0, .LC184 + adrp x0, .LC186 add x3, x3, :lo12:.LANCHOR4 - add x0, x0, :lo12:.LC184 - ldrb w1, [x3,1600] - ldrb w2, [x3,1601] - ldrh w3, [x3,1602] + add x0, x0, :lo12:.LC186 + ldrb w1, [x3,1536] + ldrb w2, [x3,1537] + ldrh w3, [x3,1538] bl printk ldr x2, [x19,2864] - adrp x0, .LC185 - add x0, x0, :lo12:.LC185 + adrp x0, .LC187 + add x0, x0, :lo12:.LC187 ldrh w1, [x2,130] ldrh w2, [x2,140] bl printk - ldr x1, [x19,88] - adrp x0, .LC186 - add x0, x0, :lo12:.LC186 + ldr x1, [x19,608] + adrp x0, .LC188 + add x0, x0, :lo12:.LC188 add x5, x1, 16 ldrh w1, [x1,16] ldrh w2, [x5,2] @@ -15393,9 +15944,9 @@ dump_ftl_info: ldrh w4, [x5,6] ldrh w5, [x5,10] bl printk - ldr x1, [x19,88] - adrp x0, .LC187 - add x0, x0, :lo12:.LC187 + ldr x1, [x19,608] + adrp x0, .LC189 + add x0, x0, :lo12:.LC189 add x5, x1, 48 ldrh w1, [x1,48] ldrh w2, [x5,2] @@ -15403,9 +15954,9 @@ dump_ftl_info: ldrh w4, [x5,6] ldrh w5, [x5,10] bl printk - ldr x1, [x19,88] - adrp x0, .LC188 - add x0, x0, :lo12:.LC188 + ldr x1, [x19,608] + adrp x0, .LC190 + add x0, x0, :lo12:.LC190 add x5, x1, 80 ldrh w1, [x1,80] ldrh w4, [x5,6] @@ -15413,47 +15964,47 @@ dump_ftl_info: ldrb w3, [x5,5] ldrh w5, [x5,10] bl printk - ldrh w0, [x19,3316] + ldrh w0, [x19,3300] mov w2, 4 - ldrb w3, [x19,3292] - ldr x1, [x19,3888] + ldrb w3, [x19,3276] + ldr x1, [x19,3872] mul w3, w0, w3 - adrp x0, .LC189 - add x0, x0, :lo12:.LC189 + adrp x0, .LC191 + add x0, x0, :lo12:.LC191 lsl w3, w3, 1 bl rknand_print_hex - ldr x1, [x19,80] - adrp x0, .LC190 - ldrh w3, [x19,56] - add x0, x0, :lo12:.LC190 + ldr x1, [x19,600] + adrp x0, .LC192 + ldrh w3, [x19,576] + add x0, x0, :lo12:.LC192 mov w2, 2 bl rknand_print_hex ldr x3, [x19,2864] - adrp x0, .LC182 - add x0, x0, :lo12:.LC182 + adrp x0, .LC184 + add x0, x0, :lo12:.LC184 mov w2, 4 add x1, x3, 704 ldrh w3, [x3,698] bl rknand_print_hex - ldr x1, [x19,64] - adrp x0, .LC191 - ldrh w3, [x19,56] - add x0, x0, :lo12:.LC191 + ldr x1, [x19,584] + adrp x0, .LC193 + ldrh w3, [x19,576] + add x0, x0, :lo12:.LC193 mov w2, 4 bl rknand_print_hex - adrp x0, .LC192 - add x1, x19, 3376 - add x0, x0, :lo12:.LC192 + adrp x0, .LC194 + add x1, x19, 3360 + add x0, x0, :lo12:.LC194 mov w2, 2 mov w3, 256 bl rknand_print_hex - ldrh w0, [x19,3316] + ldrh w0, [x19,3300] mov w2, 2 - ldrb w3, [x19,3292] - ldr x1, [x19,3896] + ldrb w3, [x19,3276] + ldr x1, [x19,3880] mul w3, w0, w3 - adrp x0, .LC193 - add x0, x0, :lo12:.LC193 + adrp x0, .LC195 + add x0, x0, :lo12:.LC195 lsl w3, w3, 1 bl rknand_print_hex ldr x19, [sp,16] @@ -15470,33 +16021,33 @@ pm_ppa_update_check: mov w7, 1 stp x29, x30, [sp, -16]! add x29, sp, 0 - ldrh w4, [x5,3356] - ldrb w3, [x5,3354] + ldrh w4, [x5,3340] + ldrb w3, [x5,3338] sub w6, w6, w4 lsr w4, w2, w4 lsl w6, w7, w6 sub w6, w6, #1 and w4, w6, w4 udiv w4, w4, w3 - ldr x3, [x5,64] + ldr x3, [x5,584] add x4, x3, x4, uxth 2 ldrb w3, [x4,2] ubfx x3, x3, 5, 3 cmp w3, 7 cset w4, eq - cbnz w4, .L2517 + cbnz w4, .L2623 cmp w3, w7 - bne .L2514 -.L2517: + bne .L2620 +.L2623: mov w3, w2 mov w2, w1 mov x1, x0 - adrp x0, .LC194 - add x0, x0, :lo12:.LC194 + adrp x0, .LC196 + add x0, x0, :lo12:.LC196 bl printk bl dump_ftl_info mov w4, -1 -.L2514: +.L2620: mov w0, w4 ldp x29, x30, [sp], 16 ret @@ -15512,116 +16063,118 @@ load_l2p_region: stp x19, x20, [sp,16] cmp w22, 31 uxth w20, w0 - bls .L2520 + bls .L2626 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 - add x0, x0, :lo12:.LC0 - add x1, x1, 512 mov w2, 31 + add x1, x1, 592 + add x0, x0, :lo12:.LC0 bl printk -.L2520: + bl dump_stack +.L2626: adrp x21, .LANCHOR0 adrp x19, .LANCHOR7 add x21, x21, :lo12:.LANCHOR0 ldr x0, [x21,2864] ldrh w2, [x0,698] cmp w20, w2 - bls .L2521 - adrp x0, .LC195 + bls .L2627 + adrp x0, .LC197 mov w1, w20 - add x0, x0, :lo12:.LC195 + add x0, x0, :lo12:.LC197 add x19, x19, :lo12:.LANCHOR7 bl printk mov x0, 0 - ldrh w2, [x19,-54] + ldrh w2, [x19,-118] mov w1, 255 ldr x0, [x0,8] bl ftl_memset ldr x0, [x21,2864] ldrh w0, [x0,698] cmp w0, w20 - bcs .L2523 + bcs .L2629 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 add x0, x0, :lo12:.LC0 - add x1, x1, 512 + add x1, x1, 592 mov w2, 35 - b .L2527 -.L2521: + b .L2633 +.L2627: add x0, x0, x20, sxtw 2 sbfiz x22, x22, 4, 32 ldr w4, [x0,704] - add x0, x21, 3920 + add x0, x21, 3904 add x23, x0, x22 strh w20, [x0,x22] strh wzr, [x23,2] - cbnz w4, .L2524 - adrp x0, .LC196 + cbnz w4, .L2630 + adrp x0, .LC198 mov w1, w20 mov w2, w4 add x19, x19, :lo12:.LANCHOR7 - add x0, x0, :lo12:.LC196 + add x0, x0, :lo12:.LC198 bl printk ldr x0, [x23,8] mov w1, 255 - ldrh w2, [x19,-54] + ldrh w2, [x19,-118] bl ftl_memset - b .L2523 -.L2524: + b .L2629 +.L2630: add x22, x19, :lo12:.LANCHOR7 ldrb w3, [x21,2832] ldr x1, [x23,8] mov w0, w4 str x4, [x29,72] - ldr x2, [x22,-64] + ldr x2, [x22,-128] bl ftl_read_ppa_page mov w3, w0 - ldr x0, [x22,-64] + ldr x0, [x22,-128] ldr x4, [x29,72] ldr w2, [x0] cmp w2, w20 - beq .L2525 - adrp x0, .LC197 + beq .L2631 + adrp x0, .LC199 mov w1, w20 - add x0, x0, :lo12:.LC197 + add x0, x0, :lo12:.LC199 bl printk ldr x3, [x21,2864] - adrp x0, .LC198 - add x0, x0, :lo12:.LC198 + adrp x0, .LC200 + add x0, x0, :lo12:.LC200 mov w2, 4 add x1, x3, 704 ldrh w3, [x3,698] bl rknand_print_hex ldrb w3, [x21,2832] - adrp x0, .LC199 + adrp x0, .LC201 ldr x1, [x23,8] - add x0, x0, :lo12:.LC199 + add x0, x0, :lo12:.LC201 mov w2, 4 lsl w3, w3, 7 bl rknand_print_hex - adrp x0, .LC200 - ldr x1, [x22,-64] - add x0, x0, :lo12:.LC200 + adrp x0, .LC202 + ldr x1, [x22,-128] + add x0, x0, :lo12:.LC202 mov w2, 4 mov w3, 16 bl rknand_print_hex -.L2525: +.L2631: add x19, x19, :lo12:.LANCHOR7 - ldr x0, [x19,-64] + ldr x0, [x19,-128] ldr w0, [x0] cmp w0, w20 - beq .L2523 + beq .L2629 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 add x0, x0, :lo12:.LC0 - add x1, x1, 512 + add x1, x1, 592 mov w2, 59 -.L2527: +.L2633: bl printk -.L2523: + bl dump_stack +.L2629: mov w0, 0 ldr x23, [sp,48] ldp x19, x20, [sp,16] @@ -15645,66 +16198,67 @@ pm_gc: add x19, x19, :lo12:.LANCHOR4 ldr x0, [x20,2864] ldrh w1, [x0,688] - ldrh w0, [x19,1180] + ldrh w0, [x19,1164] sub w0, w0, #1 cmp w1, w0 - blt .L2530 + blt .L2636 bl pm_free_sblk ldr x2, [x20,2864] - ldrh w1, [x19,1180] + ldrh w1, [x19,1164] ldrh w3, [x2,688] sub w1, w1, #1 cmp w3, w1 - blt .L2530 + blt .L2636 add x0, x2, x0, uxth 1 ldrh w21, [x0,416] mov w0, 65535 cmp w21, w0 - bne .L2532 + bne .L2638 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 mov w2, 131 - add x1, x1, 528 + add x1, x1, 608 add x0, x0, :lo12:.LC0 bl printk + bl dump_stack bl pm_free_sblk ldr x1, [x20,2864] add x0, x1, x0, uxth 1 ldrh w21, [x0,416] -.L2532: +.L2638: bl pm_select_ram_region uxth x20, w0 add x0, x23, :lo12:.LANCHOR0 lsl x1, x20, 4 - add x0, x0, 3920 + add x0, x0, 3904 mov x22, x20 add x19, x0, x1 ldrh w0, [x0,x1] mov w1, 65535 cmp w0, w1 - beq .L2533 + beq .L2639 ldr x1, [x19,8] - cbz x1, .L2533 + cbz x1, .L2639 ldrsh w2, [x19,2] - tbz w2, #31, .L2533 + tbz w2, #31, .L2639 bl pm_write_page ldrh w0, [x19,2] and w0, w0, 32767 strh w0, [x19,2] -.L2533: +.L2639: add x23, x23, :lo12:.LANCHOR0 mov w19, 0 - add x0, x23, 3920 + add x0, x23, 3904 mov w24, 21 mov w25, 1 add x20, x0, x20, lsl 4 -.L2534: +.L2640: ldr x0, [x23,2864] ldrh w1, [x0,698] cmp w1, w19 - bls .L2540 - ldrh w1, [x23,3356] + bls .L2646 + ldrh w1, [x23,3340] add x0, x0, x19, sxtw 2 ldr w0, [x0,704] lsr w0, w0, w1 @@ -15712,10 +16266,10 @@ pm_gc: lsl w1, w25, w1 sub w1, w1, #1 and w1, w0, w1 - ldrb w0, [x23,3354] + ldrb w0, [x23,3338] udiv w1, w1, w0 cmp w21, w1, uxth - bne .L2535 + bne .L2641 mov w1, w22 mov w0, w19 bl load_l2p_region @@ -15724,13 +16278,13 @@ pm_gc: bl pm_write_page mov w0, -1 strh w0, [x20] -.L2535: +.L2641: add w19, w19, 1 uxth w19, w19 - b .L2534 -.L2540: + b .L2640 +.L2646: bl pm_free_sblk -.L2530: +.L2636: mov w0, 0 ldr x25, [sp,64] ldp x19, x20, [sp,16] @@ -15749,7 +16303,7 @@ pm_flush_id: stp x19, x20, [sp,16] adrp x19, .LANCHOR0 add x19, x19, :lo12:.LANCHOR0 - add x1, x19, 3920 + add x1, x19, 3904 add x20, x1, x0 ldrh w0, [x1,x0] ldr x1, [x20,8] @@ -15757,11 +16311,11 @@ pm_flush_id: ldrh w0, [x20,2] and w0, w0, 32767 strh w0, [x20,2] - ldr w0, [x19,3912] - cbz w0, .L2542 + ldr w0, [x19,3896] + cbz w0, .L2648 bl pm_gc - str wzr, [x19,3912] -.L2542: + str wzr, [x19,3896] +.L2648: mov w0, 0 ldp x19, x20, [sp,16] ldp x29, x30, [sp], 32 @@ -15777,17 +16331,17 @@ pm_flush: adrp x20, .LANCHOR0 mov x19, 0 add x20, x20, :lo12:.LANCHOR0 - add x20, x20, 3920 -.L2548: + add x20, x20, 3904 +.L2654: add x1, x20, x19, lsl 4 uxth w0, w19 ldrsh w1, [x1,2] - tbz w1, #31, .L2547 + tbz w1, #31, .L2653 bl pm_flush_id -.L2547: +.L2653: add x19, x19, 1 cmp x19, 32 - bne .L2548 + bne .L2654 mov w0, 0 ldp x19, x20, [sp,16] ldp x29, x30, [sp], 32 @@ -15836,33 +16390,33 @@ pm_init: stp x27, x28, [sp,80] mov w23, w0 mov w0, 1 - strb w0, [x22,-56] + strb w0, [x22,-120] mov w0, 64 - str wzr, [x20,3912] - add x20, x20, 3920 + str wzr, [x20,3896] + add x20, x20, 3904 bl ftl_malloc mov w24, -1 - str x0, [x22,-64] + str x0, [x22,-128] add x22, x20, 512 -.L2554: +.L2660: strh w24, [x20] strh wzr, [x20,2] - cbz w23, .L2553 + cbz w23, .L2659 add x0, x19, :lo12:.LANCHOR0 ldrb w0, [x0,2832] lsl w0, w0, 9 bl ftl_malloc str x0, [x20,8] -.L2553: +.L2659: add x20, x20, 16 cmp x20, x22 - bne .L2554 + bne .L2660 add x20, x19, :lo12:.LANCHOR0 add x21, x21, :lo12:.LANCHOR7 mov w4, 4 ldr x1, [x20,2864] - ldr x25, [x21,-64] - ldr x23, [x20,3928] + ldr x25, [x21,-128] + ldr x23, [x20,3912] ldrb w0, [x1,694] mov x3, x25 ldrh w1, [x1,692] @@ -15873,25 +16427,25 @@ pm_init: mov w24, w21 ldrh w2, [x1,696] cmp w2, w21 - bgt .L2555 - adrp x0, .LC201 + bgt .L2661 + adrp x0, .LC203 ldrh w1, [x1,692] mov w3, w21 - add x0, x0, :lo12:.LC201 - adrp x26, .LC202 + add x0, x0, :lo12:.LC203 + adrp x26, .LC204 add w21, w21, 1 bl printk - add x26, x26, :lo12:.LC202 + add x26, x26, :lo12:.LC204 ldr x0, [x20,2864] ldrsh w20, [x0,696] -.L2556: +.L2662: cmp w20, w21 - bge .L2569 + bge .L2675 add x27, x19, :lo12:.LANCHOR0 mov x2, x23 mov x3, x25 ldr x0, [x27,2864] - ldrh w22, [x27,3366] + ldrh w22, [x27,3350] ldrb w4, [x27,2832] ldrh w1, [x0,692] ldrb w0, [x0,694] @@ -15909,36 +16463,36 @@ pm_init: ldr w1, [x25] bl printk cmp w28, 512 - beq .L2557 + beq .L2663 cmn w28, #1 - beq .L2557 + beq .L2663 ldr x1, [x27,2864] ldr w0, [x25] ldrh w2, [x1,698] cmp w0, w2 - bcs .L2557 + bcs .L2663 add x0, x1, x0, uxtw 2 str w22, [x0,704] -.L2557: +.L2663: add w20, w20, 1 sxth w20, w20 - b .L2556 -.L2569: + b .L2662 +.L2675: add x19, x19, :lo12:.LANCHOR0 - adrp x0, .LANCHOR5+641 + adrp x0, .LANCHOR5+577 mov w1, 1 add w24, w24, 1 - strb w1, [x0,#:lo12:.LANCHOR5+641] + strb w1, [x0,#:lo12:.LANCHOR5+577] ldr x0, [x19,2864] strh w24, [x0,696] bl pm_free_sblk - ldr x1, [x19,3928] + ldr x1, [x19,3912] mov w0, -1 bl pm_write_page - ldr x1, [x19,3928] + ldr x1, [x19,3912] mov w0, -1 bl pm_write_page -.L2555: +.L2661: bl pm_free_sblk bl pm_gc mov w0, 0 @@ -15968,7 +16522,7 @@ pm_log2phys: mov x19, 0 ldrb w4, [x3,2832] ldr w2, [x3,2840] - add x3, x3, 3920 + add x3, x3, 3904 lsl w20, w4, 7 lsl w24, w4, 7 cmp w0, w2 @@ -15976,85 +16530,85 @@ pm_log2phys: uxth w25, w20 msub w24, w25, w24, w0 uxth x24, w24 - bcc .L2582 - adrp x0, .LC203 + bcc .L2688 + adrp x0, .LC205 mov w1, w5 - add x0, x0, :lo12:.LC203 + add x0, x0, :lo12:.LC205 bl printk mov w0, -1 - b .L2572 -.L2586: + b .L2678 +.L2692: ldrh w0, [x3] cmp w0, w25 - beq .L2574 -.L2573: + beq .L2680 +.L2679: add w19, w19, 1 add x3, x3, 16 uxth x19, w19 cmp w19, 32 - beq .L2585 -.L2582: + beq .L2691 +.L2688: ldr x0, [x3,8] - cbnz x0, .L2586 - b .L2573 -.L2585: + cbnz x0, .L2692 + b .L2679 +.L2691: bl pm_select_ram_region uxth x19, w0 add x2, x21, :lo12:.LANCHOR0 sbfiz x3, x19, 4, 32 - add x2, x2, 3920 + add x2, x2, 3904 mov w1, w0 add x4, x2, x3 ldrh w3, [x2,x3] mov w2, 65535 cmp w3, w2 - bne .L2587 -.L2578: - adrp x0, .LANCHOR7-52 - strb w19, [x0,#:lo12:.LANCHOR7-52] + bne .L2693 +.L2684: + adrp x0, .LANCHOR7-116 + strb w19, [x0,#:lo12:.LANCHOR7-116] mov w0, w25 bl load_l2p_region -.L2574: - cbnz w23, .L2575 +.L2680: + cbnz w23, .L2681 add x0, x21, :lo12:.LANCHOR0 add x0, x0, x19, lsl 4 - ldr x0, [x0,3928] + ldr x0, [x0,3912] ldr w0, [x0,x24,lsl 2] str w0, [x22] - b .L2576 -.L2575: + b .L2682 +.L2681: add x0, x21, :lo12:.LANCHOR0 ldr w2, [x22] - add x0, x0, 3920 + add x0, x0, 3904 add x0, x0, x19, lsl 4 ldr x1, [x0,8] str w2, [x1,x24,lsl 2] ldrh w1, [x0,2] orr w1, w1, -32768 strh w1, [x0,2] - adrp x0, .LANCHOR4+80 - strb w20, [x0,#:lo12:.LANCHOR4+80] -.L2576: + adrp x0, .LANCHOR4+64 + strb w20, [x0,#:lo12:.LANCHOR4+64] +.L2682: add x21, x21, :lo12:.LANCHOR0 mov w2, 32767 - add x21, x21, 3920 + add x21, x21, 3904 mov w0, 0 add x19, x21, x19, lsl 4 ldrh w1, [x19,2] and w3, w1, 32767 cmp w3, w2 - beq .L2572 + beq .L2678 add w1, w1, 1 strh w1, [x19,2] - b .L2572 -.L2587: + b .L2678 +.L2693: ldrsh w2, [x4,2] - tbz w2, #31, .L2578 + tbz w2, #31, .L2684 str x1, [x29,88] bl pm_flush_id ldr x1, [x29,88] - b .L2578 -.L2572: + b .L2684 +.L2678: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -16063,135 +16617,6 @@ pm_log2phys: ret .size pm_log2phys, .-pm_log2phys .align 2 - .global ftl_read_ahead - .type ftl_read_ahead, %function -ftl_read_ahead: - stp x29, x30, [sp, -80]! - add x29, sp, 0 - stp x19, x20, [sp,16] - adrp x20, .LANCHOR0 - stp x23, x24, [sp,48] - add x23, x20, :lo12:.LANCHOR0 - stp x21, x22, [sp,32] - mov w21, 0 - ldr w0, [x23,2892] - cmn w0, #1 - beq .L2589 - mov w0, w21 - bl buf_alloc - mov x19, x0 - mov w0, -1 - cbz x19, .L2598 - ldr w22, [x23,2892] - str w22, [x19,36] - str w0, [x23,2892] - mov w0, w22 - ldr x24, [x19,8] - ldr x23, [x19,24] - bl lpa_hash_get_ppa - str w0, [x29,76] - cmn w0, #1 - bne .L2591 - mov w0, w22 - add x1, x29, 76 - mov w2, w21 - bl pm_log2phys -.L2591: - ldr w1, [x29,76] - str w1, [x19,40] - str w1, [x19,44] - cmn w1, #1 - bne .L2592 - add x20, x20, :lo12:.LANCHOR0 - mov x0, x24 - mov w1, 0 - ldrb w2, [x20,2832] - lsl w2, w2, 9 - bl ftl_memset - ldrb w0, [x19,2] - orr w0, w0, 8 - strb w0, [x19,2] - b .L2603 -.L2592: - mov x0, x19 - mov w1, 1 - bl sblk_read_page - ldr w24, [x19,52] - cmn w24, #1 - bne .L2593 - add x20, x20, :lo12:.LANCHOR0 - ldr x1, [x20,88] - ldr w0, [x1,552] - add w0, w0, 1 - str w0, [x1,552] - b .L2594 -.L2593: - cmp w24, 256 - bne .L2594 - add x20, x20, :lo12:.LANCHOR0 - mov w5, 21 - mov w21, 1 - ldr w4, [x29,76] - ldr w2, [x19,36] - adrp x0, .LC204 - ldrh w3, [x20,3356] - add x0, x0, :lo12:.LC204 - ldrb w20, [x20,3354] - sub w5, w5, w3 - lsr w3, w4, w3 - lsl w5, w21, w5 - sub w5, w5, #1 - and w3, w5, w3 - udiv w20, w3, w20 - ldr w3, [x19,40] - uxth w1, w20 - bl printk - mov w0, w20 - mov w1, w21 - mov w2, 0 - bl gc_add_sblk -.L2594: - ldr w5, [x23,4] - cmp w5, w22 - beq .L2595 - adrp x0, .LC205 - ldrb w1, [x19,1] - ldr w3, [x29,76] - add x0, x0, :lo12:.LC205 - ldr w4, [x23] - mov w2, w22 - ldr w6, [x23,8] - ldr w7, [x23,12] - bl printk -.L2595: - ldr w0, [x23,4] - cmp w0, w22 - cset w21, ne - cbnz w21, .L2600 - cmn w24, #1 - bne .L2589 -.L2600: - adrp x1, .LANCHOR3 - adrp x0, .LC0 - add x1, x1, :lo12:.LANCHOR3 - add x0, x0, :lo12:.LC0 - add x1, x1, 536 - mov w2, 892 - bl printk -.L2603: - mov w21, 0 - b .L2589 -.L2598: - mov w21, w0 -.L2589: - mov w0, w21 - ldp x19, x20, [sp,16] - ldp x21, x22, [sp,32] - ldp x23, x24, [sp,48] - ldp x29, x30, [sp], 80 - ret - .size ftl_read_ahead, .-ftl_read_ahead - .align 2 .global gc_recovery .type gc_recovery, %function gc_recovery: @@ -16207,62 +16632,62 @@ gc_recovery: stp x25, x26, [sp,96] stp x27, x28, [sp,112] add x0, x23, :lo12:.LANCHOR4 - strb wzr, [x24,3289] - ldr x21, [x24,88] - strb wzr, [x0,1146] + strb wzr, [x24,3273] + ldr x21, [x24,608] + strb wzr, [x0,1130] bl gc_init ldrh w1, [x21,80] mov w0, 65535 str x23, [x29,136] add x22, x21, 80 cmp w1, w0 - ldr x0, [x24,88] - beq .L2605 + ldr x0, [x24,608] + beq .L2695 mov w1, -1 strh w1, [x0,130] mov w0, 1 bl buf_alloc mov x19, x0 ldrb w0, [x22,9] - ldrh w1, [x24,3366] + ldrh w1, [x24,3350] sub w0, w0, #1 add x0, x22, x0, sxtw 1 ldrh w0, [x0,16] mul w0, w0, w1 - ldrb w1, [x24,3273] + ldrb w1, [x24,3257] str w0, [x29,152] cmp w1, 3 - bne .L2606 - ldrh w1, [x24,3316] + bne .L2696 + ldrh w1, [x24,3300] sub w1, w1, #1 add w0, w1, w0 orr w0, w0, 50331648 - b .L2649 -.L2606: + b .L2739 +.L2696: cmp w1, 2 - bne .L2607 - ldrh w1, [x24,3316] + bne .L2697 + ldrh w1, [x24,3300] add w0, w0, w1, lsl 1 sub w0, w0, #1 orr w0, w0, 33554432 -.L2649: +.L2739: str w0, [x19,40] -.L2607: +.L2697: mov x0, x19 mov w1, 1 bl sblk_read_page ldr w0, [x19,52] cmp w0, 512 - beq .L2608 + beq .L2698 cmn w0, #1 - beq .L2608 + beq .L2698 ldr x0, [x19,24] ldr w1, [x0] mov w0, 15555 movk w0, 0xf55f, lsl 16 cmp w1, w0 - beq .L2609 -.L2608: + beq .L2699 +.L2698: mov x0, x19 bl buf_free ldr x7, [x19,24] @@ -16283,64 +16708,64 @@ gc_recovery: ldr w6, [x6,12] ldr w7, [x7] bl printk - b .L2652 -.L2609: + b .L2742 +.L2699: add x24, x20, :lo12:.LANCHOR0 ldr x0, [x29,136] ldr x1, [x19,8] add x25, x0, :lo12:.LANCHOR4 - ldrb w2, [x24,3292] - ldrh w0, [x24,3290] + ldrb w2, [x24,3276] + ldrh w0, [x24,3274] mul w2, w0, w2 - ldr x0, [x25,1152] + ldr x0, [x25,1136] lsl w2, w2, 2 bl ftl_memcpy - ldrh w0, [x24,3290] - ldrb w2, [x24,3292] + ldrh w0, [x24,3274] + ldrb w2, [x24,3276] ldr x1, [x19,8] mul w2, w0, w2 add x1, x1, x2, sxtw 2 - ldr x0, [x25,1160] + ldr x0, [x25,1144] lsl w2, w2, 2 bl ftl_memcpy - ldrb w26, [x24,3273] - ldrh w25, [x24,3316] + ldrb w26, [x24,3257] + ldrh w25, [x24,3300] cmp w26, 2 - bne .L2611 + bne .L2701 lsl w25, w25, 1 mov w26, 1 -.L2611: +.L2701: mov w23, 0 adrp x24, .LC207 add x0, x24, :lo12:.LC207 mov w27, w23 str x0, [x29,112] - b .L2612 -.L2654: - ldr x0, [x0,1160] + b .L2702 +.L2744: + ldr x0, [x0,1144] ldr w1, [x0,x12] ldr w0, [x7,8] cmp w1, w0 - bne .L2616 -.L2639: + bne .L2706 +.L2729: add w27, w27, 1 add w28, w28, 1 -.L2620: +.L2710: cmp w28, w26 - bhi .L2653 + bhi .L2743 ldr x0, [x29,128] add x1, x20, :lo12:.LANCHOR0 add x0, x0, 8 - ldrh w2, [x1,3366] - ldrb w1, [x1,3273] + ldrh w2, [x1,3350] + ldrb w1, [x1,3257] ldrh w0, [x22,x0,lsl 1] cmp w1, 3 mul w0, w0, w2 str w0, [x29,152] - bne .L2613 + bne .L2703 add w0, w0, w23 orr w0, w0, w28, lsl 24 -.L2650: +.L2740: str w0, [x19,40] mov w1, 1 mov x0, x19 @@ -16350,17 +16775,17 @@ gc_recovery: ldr x7, [x19,24] add x0, x0, :lo12:.LANCHOR4 ldr w6, [x7,4] - ldr x1, [x0,1152] + ldr x1, [x0,1136] ldr w3, [x1,x12] cmp w3, w6 - beq .L2654 -.L2616: + beq .L2744 +.L2706: ldr x0, [x29,136] str x12, [x29,104] add x13, x0, :lo12:.LANCHOR4 ldr w0, [x7,12] str x13, [x29,96] - ldr x4, [x13,1160] + ldr x4, [x13,1144] str w0, [sp] ldr x0, [x29,112] ldr w4, [x4,x12] @@ -16371,53 +16796,53 @@ gc_recovery: bl printk ldr x13, [x29,96] ldr x12, [x29,104] - ldr x0, [x13,1152] + ldr x0, [x13,1136] ldr w0, [x0,x12] cmn w0, #1 - beq .L2639 + beq .L2729 mov x0, x19 bl buf_free -.L2652: +.L2742: add x0, x20, :lo12:.LANCHOR0 ldrh w2, [x21,80] mov w28, 0 - ldr x1, [x0,80] + ldr x1, [x0,600] strh wzr, [x1,x2,lsl 1] - ldr x0, [x0,88] + ldr x0, [x0,608] ldrh w1, [x21,80] strh w1, [x0,130] - b .L2610 -.L2619: + b .L2700 +.L2709: add w23, w23, 1 -.L2612: +.L2702: cmp w23, w25 - beq .L2621 + beq .L2711 sub w0, w23, #1 mov w24, 0 str w0, [x29,124] -.L2622: +.L2712: ldrb w0, [x22,9] cmp w24, w0 - bge .L2619 + bge .L2709 sxtw x0, w24 mov w28, 1 str x0, [x29,128] - b .L2620 -.L2613: + b .L2710 +.L2703: cmp w1, 2 - bne .L2615 + bne .L2705 ldr w1, [x29,124] add w0, w0, w1 add w0, w0, w28 orr w0, w0, 33554432 - b .L2650 -.L2615: + b .L2740 +.L2705: add w0, w0, w23 - b .L2650 -.L2653: + b .L2740 +.L2743: add w24, w24, 1 - b .L2622 -.L2621: + b .L2712 +.L2711: mov x0, x19 mov w28, 0 mov w27, w28 @@ -16426,35 +16851,35 @@ gc_recovery: add x0, x20, :lo12:.LANCHOR0 ldrb w1, [x22,9] ldrh w3, [x21,80] - ldr x2, [x0,80] - ldrh w0, [x0,3290] + ldr x2, [x0,600] + ldrh w0, [x0,3274] mul w0, w1, w0 strh w0, [x2,x3,lsl 1] -.L2623: +.L2713: cmp w27, w25 - beq .L2634 + beq .L2724 sub w0, w27, #1 mov w24, 0 str w0, [x29,104] -.L2635: +.L2725: ldrb w0, [x22,9] cmp w24, w0 - bge .L2632 + bge .L2722 sxtw x0, w24 mov w23, 1 str x0, [x29,112] -.L2633: +.L2723: cmp w23, w26 - bhi .L2655 + bhi .L2745 ldr x1, [x29,136] ldr w0, [x29,128] add x1, x1, :lo12:.LANCHOR4 sbfiz x0, x0, 2, 32 - ldr x2, [x1,1152] + ldr x2, [x1,1136] ldr w6, [x2,x0] cmn w6, #1 - beq .L2624 - ldr x1, [x1,1160] + beq .L2714 + ldr x1, [x1,1144] str x6, [x29,96] ldr w0, [x1,x0] str w0, [x29,124] @@ -16463,40 +16888,40 @@ gc_recovery: str w0, [x29,156] cmn w0, #1 ldr x6, [x29,96] - bne .L2625 + bne .L2715 mov w0, w6 add x1, x29, 156 mov w2, 0 bl pm_log2phys ldr x6, [x29,96] -.L2625: +.L2715: ldr x0, [x29,112] add x0, x0, 8 ldrh w1, [x22,x0,lsl 1] add x0, x20, :lo12:.LANCHOR0 - ldrh w2, [x0,3366] - ldrb w0, [x0,3273] + ldrh w2, [x0,3350] + ldrb w0, [x0,3257] cmp w0, 3 mul w1, w1, w2 - bne .L2626 + bne .L2716 add w1, w1, w27 orr w1, w1, w23, lsl 24 - b .L2651 -.L2626: + b .L2741 +.L2716: cmp w0, 2 - bne .L2628 + bne .L2718 ldr w0, [x29,104] add w1, w1, w0 add w1, w1, w23 orr w1, w1, 33554432 - b .L2651 -.L2628: + b .L2741 +.L2718: add w1, w1, w27 -.L2651: +.L2741: add x0, x20, :lo12:.LANCHOR0 ldr w2, [x29,124] str w1, [x29,152] - ldrh w1, [x0,3356] + ldrh w1, [x0,3340] lsr w19, w2, w1 mov w2, 21 sub w1, w2, w1 @@ -16504,54 +16929,54 @@ gc_recovery: lsl w1, w2, w1 sub w1, w1, #1 and w1, w19, w1 - ldrb w19, [x0,3354] + ldrb w19, [x0,3338] ldr w0, [x29,156] udiv w19, w1, w19 ldr w1, [x29,124] cmp w0, w1 uxth x19, w19 - bne .L2629 + bne .L2719 mov w0, w6 add x1, x29, 152 add w28, w28, 1 bl pm_log2phys mov w0, w19 bl ftl_vpn_decrement - b .L2630 -.L2629: + b .L2720 +.L2719: ldr w1, [x29,152] cmp w0, w1 csinc w28, w28, w28, ne -.L2630: +.L2720: ldr w0, [x29,128] add x1, x20, :lo12:.LANCHOR0 add w0, w0, 1 str w0, [x29,128] - ldr x0, [x1,64] + ldr x0, [x1,584] add x0, x0, x19, lsl 2 ldrb w0, [x0,2] ands w0, w0, 224 - bne .L2624 + bne .L2714 lsl x19, x19, 1 - ldr x1, [x1,80] + ldr x1, [x1,600] ldrh w2, [x1,x19] - cbz w2, .L2624 + cbz w2, .L2714 strh w0, [x1,x19] -.L2624: +.L2714: add w23, w23, 1 - b .L2633 -.L2655: + b .L2723 +.L2745: add w24, w24, 1 - b .L2635 -.L2632: + b .L2725 +.L2722: add w27, w27, 1 - b .L2623 -.L2634: + b .L2713 +.L2724: add x0, x20, :lo12:.LANCHOR0 ldrh w1, [x21,80] - ldr x0, [x0,80] + ldr x0, [x0,600] strh w28, [x0,x1,lsl 1] -.L2610: +.L2700: ldrh w1, [x21,80] adrp x0, .LC208 mov w2, w28 @@ -16563,31 +16988,31 @@ gc_recovery: bl ftl_ext_info_flush add x0, x20, :lo12:.LANCHOR0 mov w1, 65535 - ldr x0, [x0,88] + ldr x0, [x0,608] ldrh w0, [x0,130] cmp w0, w1 - beq .L2636 + beq .L2726 bl ftl_free_sblk -.L2636: +.L2726: add x20, x20, :lo12:.LANCHOR0 mov w0, -1 ldr x1, [x20,2864] strh w0, [x1,126] - ldr x1, [x20,88] + ldr x1, [x20,608] strh w0, [x1,130] mov w0, 0 bl ftl_info_flush - b .L2604 -.L2605: + b .L2694 +.L2695: ldrh w0, [x0,130] cmp w0, w1 - beq .L2604 + beq .L2694 ldr x1, [x24,2864] ldrh w1, [x1,126] cmp w1, w0 - bne .L2638 + bne .L2728 bl pm_flush - ldr x0, [x24,88] + ldr x0, [x24,608] ldrh w0, [x0,130] bl ftl_free_sblk ldr x0, [x24,2864] @@ -16595,12 +17020,12 @@ gc_recovery: strh w1, [x0,126] mov w0, 0 bl ftl_info_flush -.L2638: +.L2728: add x20, x20, :lo12:.LANCHOR0 mov w1, -1 - ldr x0, [x20,88] + ldr x0, [x20,608] strh w1, [x0,130] -.L2604: +.L2694: sub sp, x29, #32 ldp x19, x20, [sp,48] ldp x21, x22, [sp,64] @@ -16624,70 +17049,72 @@ zftl_init: adrp x22, .LANCHOR4 add x20, x19, :lo12:.LANCHOR0 add x1, x22, :lo12:.LANCHOR4 - stp x23, x24, [sp,48] adrp x21, .LANCHOR7 + stp x23, x24, [sp,48] + add x23, x21, :lo12:.LANCHOR7 strb w0, [x20,2888] - strb w0, [x1,1282] + strb w0, [x20,3893] + strb w0, [x1,1267] mov w0, -1 adrp x1, .LC2 - str w0, [x20,2892] + str w0, [x23,-112] adrp x0, .LC1 add x1, x1, :lo12:.LC2 add x0, x0, :lo12:.LC1 strb wzr, [x20,2856] + strb wzr, [x20,3894] strb wzr, [x20,2857] bl printk adrp x11, .LANCHOR2 - ldrb w6, [x20,114] + ldrb w6, [x20,633] add x1, x11, :lo12:.LANCHOR2 - strb w6, [x20,3368] - ldrh w4, [x20,226] - strh w4, [x20,3366] + strb w6, [x20,3352] + ldrh w4, [x20,2] + strh w4, [x20,3350] ldrb w2, [x1,389] ldrb w8, [x1,388] ldrh w3, [x1,386] - strb w2, [x20,3354] mul w6, w2, w6 - add x2, x21, :lo12:.LANCHOR7 ldrb w0, [x1,385] ldrh w7, [x1,390] mov w1, 0 sdiv w9, w3, w8 - strb w8, [x20,3273] - strb w0, [x20,2832] + strb w2, [x20,3338] + strb w8, [x20,3257] uxtb w6, w6 - strh w3, [x20,3290] + strb w0, [x20,2832] ubfiz w10, w0, 9, 7 - strh w9, [x20,3316] - strb w6, [x20,3292] - strh w7, [x20,56] - mov x20, x11 - strh w10, [x2,-54] + strh w3, [x20,3274] mov w2, 1 -.L2657: + strh w9, [x20,3300] + strb w6, [x20,3276] + strh w7, [x20,576] + mov x20, x11 + strh w10, [x23,-118] +.L2747: cmp w2, w4 - bhi .L2723 + bhi .L2813 add w1, w1, 1 lsl w2, w2, 1 uxth w1, w1 - b .L2657 -.L2723: + b .L2747 +.L2813: mul w3, w0, w3 add x2, x19, :lo12:.LANCHOR0 sub w1, w1, #1 mul w5, w3, w7 - strh w1, [x2,3356] + strh w1, [x2,3340] mov w1, 1 lsr w4, w5, 21 mov w2, 0 -.L2659: +.L2749: cmp w1, w4 - bhi .L2724 + bhi .L2814 add w2, w2, 1 lsl w1, w1, 1 uxth w2, w2 - b .L2659 -.L2724: + b .L2749 +.L2814: mov w1, 57344 mov w4, 1 movk w1, 0x1c, lsl 16 @@ -16701,176 +17128,176 @@ zftl_init: mul w1, w1, w2 mul w9, w9, w6 add w5, w1, 24576 - str w5, [x11,-48] + str w5, [x11,-108] mul w3, w3, w6 udiv w2, w5, w0 sub w0, w10, #1 str w2, [x4,2840] sub w3, w3, #1 - str w1, [x4,4] + str w1, [x4,520] add w0, w0, w2, lsl 2 add x2, x22, :lo12:.LANCHOR4 udiv w5, w5, w3 add w5, w5, 8 - strh w5, [x4,3324] + strh w5, [x4,3308] udiv w0, w0, w10 - strh w0, [x11,-44] + strh w0, [x11,-104] ubfiz w0, w0, 4, 16 sdiv w0, w0, w9 - strh w0, [x2,1180] + strh w0, [x2,1164] add w0, w7, w7, lsl 1 asr w0, w0, 2 - strh w0, [x4,3360] + strh w0, [x4,3344] lsr w0, w7, 4 - strh w0, [x4,3322] + strh w0, [x4,3306] cmp w0, 79 - bhi .L2661 + bhi .L2751 mov w0, 80 - strh w0, [x4,3322] -.L2661: + strh w0, [x4,3306] +.L2751: add x0, x19, :lo12:.LANCHOR0 mov w2, 2000 mov w3, 256 cmp w8, 2 - strh w2, [x0,3362] + strh w2, [x0,3346] mov w2, 50 - strh w2, [x0,3358] + strh w2, [x0,3342] add x2, x22, :lo12:.LANCHOR4 - strh w3, [x2,1176] + strh w3, [x2,1160] mov w3, 48 - strh w3, [x2,1178] + strh w3, [x2,1162] mov w2, 32 - strh w2, [x0,72] - beq .L2662 - ldrb w0, [x0,3288] - cbz w0, .L2663 -.L2662: + strh w2, [x0,592] + beq .L2752 + ldrb w0, [x0,3272] + cbz w0, .L2753 +.L2752: add x0, x19, :lo12:.LANCHOR0 mov w2, 150 mov w3, 64 - strh w2, [x0,3358] + strh w2, [x0,3342] add x2, x22, :lo12:.LANCHOR4 - strh w3, [x2,1178] + strh w3, [x2,1162] mov w3, 12 - strh w3, [x0,72] - ldrb w3, [x0,113] - cbnz w3, .L2663 + strh w3, [x0,592] + ldrb w3, [x19,#:lo12:.LANCHOR0] + cbnz w3, .L2753 mov w3, 4 - strh w3, [x0,72] + strh w3, [x0,592] mov w3, 600 - strh w3, [x0,3362] + strh w3, [x0,3346] mov w0, 128 - strh w0, [x2,1176] -.L2663: + strh w0, [x2,1160] +.L2753: ldr w0, [x20,#:lo12:.LANCHOR2] - tbz x0, 12, .L2665 + tbz x0, 12, .L2755 adrp x0, .LC209 add x0, x0, :lo12:.LC209 bl printk -.L2665: +.L2755: ldr w0, [x20,#:lo12:.LANCHOR2] - tbz x0, 12, .L2666 + tbz x0, 12, .L2756 add x1, x19, :lo12:.LANCHOR0 adrp x0, .LC210 add x0, x0, :lo12:.LC210 ldr w1, [x1,2836] bl printk -.L2666: +.L2756: ldr w0, [x20,#:lo12:.LANCHOR2] - tbz x0, 12, .L2667 + tbz x0, 12, .L2757 add x1, x19, :lo12:.LANCHOR0 adrp x0, .LC211 add x0, x0, :lo12:.LC211 ldr w1, [x1,2840] bl printk -.L2667: +.L2757: ldr w0, [x20,#:lo12:.LANCHOR2] - tbz x0, 12, .L2668 + tbz x0, 12, .L2758 add x1, x21, :lo12:.LANCHOR7 adrp x0, .LC212 add x0, x0, :lo12:.LC212 - ldr w1, [x1,-48] + ldr w1, [x1,-108] bl printk -.L2668: +.L2758: ldr w0, [x20,#:lo12:.LANCHOR2] - tbz x0, 12, .L2669 + tbz x0, 12, .L2759 add x1, x21, :lo12:.LANCHOR7 adrp x0, .LC213 add x0, x0, :lo12:.LC213 - ldrh w1, [x1,-44] + ldrh w1, [x1,-104] bl printk -.L2669: +.L2759: ldr w0, [x20,#:lo12:.LANCHOR2] - tbz x0, 12, .L2670 + tbz x0, 12, .L2760 add x1, x21, :lo12:.LANCHOR7 adrp x0, .LC214 add x0, x0, :lo12:.LC214 - ldrh w1, [x1,-54] + ldrh w1, [x1,-118] bl printk -.L2670: +.L2760: ldr w0, [x20,#:lo12:.LANCHOR2] - tbz x0, 12, .L2671 + tbz x0, 12, .L2761 add x22, x22, :lo12:.LANCHOR4 adrp x0, .LC215 add x0, x0, :lo12:.LC215 - ldrh w1, [x22,1180] + ldrh w1, [x22,1164] bl printk -.L2671: +.L2761: ldr w0, [x20,#:lo12:.LANCHOR2] - tbz x0, 12, .L2672 + tbz x0, 12, .L2762 add x1, x19, :lo12:.LANCHOR0 adrp x0, .LC216 add x0, x0, :lo12:.LC216 - ldrh w1, [x1,3322] + ldrh w1, [x1,3306] bl printk -.L2672: +.L2762: ldr w0, [x20,#:lo12:.LANCHOR2] - tbz x0, 12, .L2673 + tbz x0, 12, .L2763 add x1, x19, :lo12:.LANCHOR0 adrp x0, .LC217 add x0, x0, :lo12:.LC217 - ldrh w1, [x1,3324] + ldrh w1, [x1,3308] bl printk -.L2673: +.L2763: add x22, x19, :lo12:.LANCHOR0 bl buf_init mov w0, 6 adrp x23, .LANCHOR5 - ldrh w1, [x22,56] + ldrh w1, [x22,576] mul w0, w1, w0 bl ftl_malloc - str x0, [x22,8] - ldrb w1, [x22,3292] - ldrh w0, [x22,3316] + str x0, [x22,528] + ldrb w1, [x22,3276] + ldrh w0, [x22,3300] mul w0, w0, w1 lsl w0, w0, 2 bl ftl_malloc - str x0, [x22,3896] - ldrb w1, [x22,3292] + str x0, [x22,3880] + ldrb w1, [x22,3276] add x2, x23, :lo12:.LANCHOR5 - ldrh w0, [x22,3316] - add x2, x2, 704 - str x2, [x22,3888] + ldrh w0, [x22,3300] + add x2, x2, 640 + str x2, [x22,3872] mul w1, w0, w1 - ldrh w0, [x22,56] + ldrh w0, [x22,576] lsl w1, w1, 1 add x3, x2, x1, sxtw 2 - str x3, [x22,80] + str x3, [x22,600] add w1, w1, w0, lsr 1 ldr w0, [x20,#:lo12:.LANCHOR2] add x1, x2, x1, sxtw 2 - str x1, [x22,88] - tbz x0, 12, .L2674 + str x1, [x22,608] + tbz x0, 12, .L2764 adrp x0, .LC218 add x0, x0, :lo12:.LC218 bl printk -.L2674: +.L2764: add x2, x19, :lo12:.LANCHOR0 add x3, x21, :lo12:.LANCHOR7 - ldrh w0, [x2,3316] - ldrb w22, [x2,3292] - ldrh w1, [x2,56] - ldrh w24, [x3,-44] + ldrh w0, [x2,3300] + ldrb w22, [x2,3276] + ldrh w1, [x2,576] + ldrh w24, [x3,-104] mul w22, w0, w22 ldr w0, [x20,#:lo12:.LANCHOR2] lsl w24, w24, 2 @@ -16879,39 +17306,39 @@ zftl_init: add w24, w24, 704 lsl w22, w22, 1 add w22, w22, 632 - tbz x0, 12, .L2675 + tbz x0, 12, .L2765 adrp x0, .LC219 - ldrh w3, [x3,-54] + ldrh w3, [x3,-118] add x0, x0, :lo12:.LC219 mov w1, w22 mov w2, w24 bl printk -.L2675: +.L2765: add x21, x21, :lo12:.LANCHOR7 - ldrh w0, [x21,-54] + ldrh w0, [x21,-118] cmp w22, w0 - bhi .L2677 + bhi .L2767 cmp w24, w0 - bls .L2676 -.L2677: -.L2678: - b .L2678 -.L2676: + bls .L2766 +.L2767: +.L2768: + b .L2768 +.L2766: bl sblk_init bl ftl_info_blk_init cmn w0, #1 - beq .L2679 + beq .L2769 bl ftl_ext_info_init add x19, x19, :lo12:.LANCHOR0 mov w0, 1 add x23, x23, :lo12:.LANCHOR5 bl pm_init bl lpa_rebuild_hash - ldr x0, [x19,88] + ldr x0, [x19,608] mov x1, 0 add x0, x0, 16 bl ftl_open_sblk_recovery - ldr x1, [x19,88] + ldr x1, [x19,608] add x0, x1, 48 add x1, x1, 16 bl ftl_open_sblk_recovery @@ -16919,32 +17346,32 @@ zftl_init: ldr w0, [x1,8] add w0, w0, 16 str w0, [x1,8] - ldr x0, [x19,88] + ldr x0, [x19,608] add x0, x0, 16 bl ftl_info_data_recovery - ldr x0, [x19,88] + ldr x0, [x19,608] add x0, x0, 48 bl ftl_info_data_recovery - ldr x0, [x19,88] + ldr x0, [x19,608] add x0, x0, 80 bl ftl_info_data_recovery bl gc_recovery bl pm_flush mov w0, 1 bl ftl_total_vpn_update - ldrb w0, [x23,641] - cbz w0, .L2680 + ldrb w0, [x23,577] + cbz w0, .L2770 ldr x1, [x19,2864] ldr w0, [x1,68] add w0, w0, 1 str w0, [x1,68] -.L2680: +.L2770: bl ftl_ext_info_flush mov w0, 0 bl ftl_info_flush bl print_ftl_debug_info mov w0, 0 -.L2679: +.L2769: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -16962,36 +17389,37 @@ rk_ftl_init: adrp x20, .LANCHOR4 ldr x0, [x0,#:lo12:jiffies] add x19, x20, :lo12:.LANCHOR4 - str x21, [sp,32] - str x0, [x19,1184] - mov w0, 136 - bl ftl_malloc - str x0, [x19,1192] - cbnz x0, .L2726 -.L2728: - mov w0, -1 - b .L2727 -.L2726: - mov w0, 2048 + stp x21, x22, [sp,32] adrp x21, .LANCHOR7 add x21, x21, :lo12:.LANCHOR7 + str x0, [x19,1168] + mov w0, 136 + strb wzr, [x21,-102] bl ftl_malloc - str xzr, [x19,1200] + str x0, [x19,1176] + cbnz x0, .L2816 +.L2818: + mov w0, -1 + b .L2817 +.L2816: + mov w0, 2048 + bl ftl_malloc + str x0, [x21,-96] mov x1, x21 - str x0, [x21,-40] - add x0, x19, 1200 - str xzr, [x1,-32]! + add x0, x19, 1184 + str xzr, [x19,1184] + str xzr, [x1,-88]! bl rknand_get_reg_addr - ldr x0, [x19,1200] - cbz x0, .L2728 + ldr x0, [x19,1184] + cbz x0, .L2818 bl rk_nandc_irq_init mov w1, 0 - ldr x0, [x21,-40] + ldr x0, [x21,-96] mov w2, w1 mov w3, 2048 bl flash_sram_load_store bl rknand_flash_cs_init - ldr x0, [x19,1192] + ldr x0, [x19,1176] adrp x1, zftl_deinit add x1, x1, :lo12:zftl_deinit str x1, [x0,80] @@ -17040,100 +17468,134 @@ rk_ftl_init: adrp x1, zftl_discard add x1, x1, :lo12:zftl_discard str x1, [x0,56] - ldr x0, [x19,1200] + ldr x0, [x19,1184] bl nand_flash_init - cbnz w0, .L2729 + mov w22, w0 + cbnz w0, .L2819 bl zftl_init mov w19, w0 bl zftl_proc_debug_init - b .L2730 -.L2729: - ldr x0, [x19,1192] - adrp x1, ftl_deinit - add x1, x1, :lo12:ftl_deinit - str x1, [x0,80] - adrp x1, ftl_cache_flush - add x1, x1, :lo12:ftl_cache_flush - str x1, [x0,64] - adrp x1, ftl_flash_suspend - add x1, x1, :lo12:ftl_flash_suspend - str x1, [x0,88] - adrp x1, ftl_flash_resume - add x1, x1, :lo12:ftl_flash_resume - str x1, [x0,96] - adrp x1, ftl_get_density - add x1, x1, :lo12:ftl_get_density - str x1, [x0,72] - adrp x1, ftl_read_flash_info - add x1, x1, :lo12:ftl_read_flash_info - str x1, [x0,112] - adrp x1, ftl_read - add x1, x1, :lo12:ftl_read - str x1, [x0,40] - adrp x1, ftl_write - add x1, x1, :lo12:ftl_write - str x1, [x0,48] - adrp x1, ftl_sys_read - add x1, x1, :lo12:ftl_sys_read - str x1, [x0,24] - adrp x1, ftl_sys_write - add x1, x1, :lo12:ftl_sys_write - str x1, [x0,32] - adrp x1, ftl_vendor_read - add x1, x1, :lo12:ftl_vendor_read - str x1, [x0,8] - adrp x1, ftl_vendor_write - add x1, x1, :lo12:ftl_vendor_write - str x1, [x0,16] - adrp x1, ftl_nandc_get_irq_status - add x1, x1, :lo12:ftl_nandc_get_irq_status - str x1, [x0,120] - adrp x1, ftl_proc_ftl_read - add x1, x1, :lo12:ftl_proc_ftl_read - str x1, [x0,128] - adrp x1, ftl_do_gc - add x1, x1, :lo12:ftl_do_gc - str x1, [x0,104] - adrp x1, ftl_discard - add x1, x1, :lo12:ftl_discard - str x1, [x0,56] - ldr x0, [x19,1200] + mov w0, 1 + strb w0, [x21,-102] + b .L2820 +.L2819: + ldr x1, [x19,1176] + adrp x2, ftl_read_flash_info + add x2, x2, :lo12:ftl_read_flash_info + adrp x0, ftl_deinit + add x0, x0, :lo12:ftl_deinit + adrp x21, .LANCHOR2 + str x2, [x1,112] + adrp x2, ftl_read + add x2, x2, :lo12:ftl_read + str x2, [x1,40] + adrp x2, ftl_write + str x0, [x1,80] + add x2, x2, :lo12:ftl_write + str x2, [x1,48] + adrp x2, ftl_sys_read + adrp x0, ftl_cache_flush + add x2, x2, :lo12:ftl_sys_read + str x2, [x1,24] + adrp x2, ftl_sys_write + add x0, x0, :lo12:ftl_cache_flush + add x2, x2, :lo12:ftl_sys_write + str x2, [x1,32] + adrp x2, ftl_vendor_read + str x0, [x1,64] + add x2, x2, :lo12:ftl_vendor_read + str x2, [x1,8] + adrp x2, ftl_vendor_write + adrp x0, ftl_flash_suspend + add x2, x2, :lo12:ftl_vendor_write + str x2, [x1,16] + adrp x2, ftl_nandc_get_irq_status + add x0, x0, :lo12:ftl_flash_suspend + add x2, x2, :lo12:ftl_nandc_get_irq_status + str x0, [x1,88] + str x2, [x1,120] + adrp x0, ftl_flash_resume + adrp x2, ftl_proc_ftl_read + add x0, x0, :lo12:ftl_flash_resume + add x2, x2, :lo12:ftl_proc_ftl_read + str x0, [x1,96] + str x2, [x1,128] + adrp x0, ftl_get_density + adrp x2, ftl_do_gc + add x0, x0, :lo12:ftl_get_density + add x2, x2, :lo12:ftl_do_gc + str x0, [x1,72] + str x2, [x1,104] + adrp x2, ftl_discard + ldr x0, [x19,1184] + add x2, x2, :lo12:ftl_discard + str x2, [x1,56] bl FlashInit mov w19, w0 - adrp x0, .LANCHOR2 + cmn w22, #2 + bne .L2821 + add x22, x21, :lo12:.LANCHOR2 adrp x1, gNandParaInfo - add x0, x0, :lo12:.LANCHOR2 + add x22, x22, 376 add x1, x1, :lo12:gNandParaInfo - add x0, x0, 376 + mov x0, x22 mov w2, 32 bl ftl_memcpy + ldrb w0, [x22,18] + bl flash_lsb_page_tbl_build +.L2821: adrp x0, g_nandc_version_data ldr w1, [x0,#:lo12:g_nandc_version_data] mov w0, 12336 movk w0, 0x5638, lsl 16 cmp w1, w0 - bne .L2731 + adrp x1, .LANCHOR0 + bne .L2822 adrp x0, gFlashSlcMode ldrb w0, [x0,#:lo12:gFlashSlcMode] - cbnz w0, .L2732 -.L2731: + cbnz w0, .L2823 +.L2822: + add x0, x20, :lo12:.LANCHOR4 + strb wzr, [x1,#:lo12:.LANCHOR0] + strb wzr, [x0,1264] +.L2823: + adrp x2, gNandFlashIDBEccBits + add x0, x1, :lo12:.LANCHOR0 + add x21, x21, :lo12:.LANCHOR2 add x20, x20, :lo12:.LANCHOR4 - adrp x0, .LANCHOR0+113 - strb wzr, [x20,1280] - strb wzr, [x0,#:lo12:.LANCHOR0+113] -.L2732: - cbnz w19, .L2730 + ldrb w2, [x2,#:lo12:gNandFlashIDBEccBits] + strb w2, [x0,632] + adrp x2, gNandFlashEccBits + ldrh w3, [x21,386] + str xzr, [x20,1224] + ldrb w2, [x2,#:lo12:gNandFlashEccBits] + strb w2, [x0,724] + mov w2, 1 + mov w0, 0 +.L2824: + cmp w2, w3 + bhi .L2829 + add w0, w0, 1 + lsl w2, w2, 1 + uxth w0, w0 + b .L2824 +.L2829: + add x1, x1, :lo12:.LANCHOR0 + sub w0, w0, #1 + strb wzr, [x1,672] + strh w0, [x1,3340] + cbnz w19, .L2820 bl FtlInit mov w19, w0 -.L2730: +.L2820: adrp x0, .LC220 mov w1, w19 add x0, x0, :lo12:.LC220 bl printk mov w0, w19 -.L2727: +.L2817: ldp x19, x20, [sp,16] - ldr x21, [sp,32] + ldp x21, x22, [sp,32] ldp x29, x30, [sp], 48 ret .size rk_ftl_init, .-rk_ftl_init @@ -17151,27 +17613,27 @@ gc_update_l2p_map_new: stp x25, x26, [sp,64] stp x27, x28, [sp,80] adrp x22, .LANCHOR2 - ldr x20, [x0,88] - ldrh w24, [x0,3290] + ldr x20, [x0,608] + ldrh w24, [x0,3274] add x0, x20, 80 str x0, [x29,128] ldrb w0, [x0,9] mul w24, w24, w0 bl timer_get_time ldr w0, [x22,#:lo12:.LANCHOR2] - tbz x0, 8, .L2737 + tbz x0, 8, .L2831 adrp x0, .LC221 ldrh w1, [x20,80] add x0, x0, :lo12:.LC221 bl printk -.L2737: +.L2831: add x0, x19, :lo12:.LANCHOR0 ldrh w1, [x20,80] sub w2, w24, #1 mov w21, 0 mov w23, w21 adrp x27, .LANCHOR4 - ldr x0, [x0,80] + ldr x0, [x0,600] strh w2, [x0,x1,lsl 1] adrp x0, .LC223 add x0, x0, :lo12:.LC223 @@ -17179,15 +17641,15 @@ gc_update_l2p_map_new: adrp x0, .LC222 add x0, x0, :lo12:.LC222 str x0, [x29,112] -.L2738: +.L2832: cmp w23, w24 - beq .L2770 + beq .L2864 adrp x0, .LANCHOR4 add x0, x0, :lo12:.LANCHOR4 - ldr x0, [x0,1152] + ldr x0, [x0,1136] ldr w2, [x0,w23,sxtw 2] cmn w2, #1 - beq .L2739 + beq .L2833 add x0, x19, :lo12:.LANCHOR0 ldrb w0, [x0,2832] lsl w0, w0, 7 @@ -17195,28 +17657,28 @@ gc_update_l2p_map_new: and w0, w0, 65535 str w0, [x29,140] ldr w0, [x22,#:lo12:.LANCHOR2] - tbz x0, 8, .L2740 + tbz x0, 8, .L2834 ldr x0, [x29,112] mov w3, w23 ldr w1, [x29,140] bl printk -.L2740: +.L2834: mov w25, w23 -.L2746: +.L2840: add x1, x27, :lo12:.LANCHOR4 sbfiz x26, x25, 2, 32 - ldr x0, [x1,1152] + ldr x0, [x1,1136] ldr w4, [x0,x26] cmn w4, #1 - beq .L2741 + beq .L2835 add x0, x19, :lo12:.LANCHOR0 ldr w2, [x29,140] ldrb w0, [x0,2832] lsl w0, w0, 7 udiv w0, w4, w0 cmp w2, w0, uxth - bne .L2741 - ldr x0, [x1,1160] + bne .L2835 + ldr x0, [x1,1144] str x4, [x29,104] ldr w28, [x0,x26] mov w0, w4 @@ -17224,92 +17686,93 @@ gc_update_l2p_map_new: str w0, [x29,156] cmn w0, #1 ldr x4, [x29,104] - bne .L2742 + bne .L2836 mov w0, w4 add x1, x29, 156 mov w2, 0 bl pm_log2phys ldr x4, [x29,104] -.L2742: +.L2836: ldr w3, [x29,156] cmp w3, w28 - bne .L2743 + bne .L2837 add x0, x27, :lo12:.LANCHOR4 add x1, x29, 152 mov w2, 1 add w21, w21, 1 - ldr x0, [x0,1168] + ldr x0, [x0,1152] ldr w0, [x0,x26] str w0, [x29,152] mov w0, w4 bl pm_log2phys add x2, x19, :lo12:.LANCHOR0 mov w0, 21 - ldrh w1, [x2,3356] + ldrh w1, [x2,3340] sub w3, w0, w1 mov w0, 1 lsl w0, w0, w3 lsr w28, w28, w1 sub w0, w0, #1 and w28, w0, w28 - ldrb w0, [x2,3354] + ldrb w0, [x2,3338] udiv w0, w28, w0 - b .L2769 -.L2743: + b .L2863 +.L2837: ldr w0, [x22,#:lo12:.LANCHOR2] - tbz x0, 8, .L2745 + tbz x0, 8, .L2839 ldr x0, [x29,120] mov w1, w4 mov w2, w28 bl printk -.L2745: +.L2839: ldr x0, [x29,128] ldrh w0, [x0] -.L2769: +.L2863: bl ftl_vpn_decrement add x0, x27, :lo12:.LANCHOR4 mov w1, -1 - ldr x0, [x0,1152] + ldr x0, [x0,1136] str w1, [x0,x26] bl timer_get_time -.L2741: +.L2835: add w25, w25, 1 cmp w25, w24 - bne .L2746 -.L2739: + bne .L2840 +.L2833: add w23, w23, 1 - b .L2738 -.L2770: + b .L2832 +.L2864: ldr w0, [x22,#:lo12:.LANCHOR2] - tbz x0, 8, .L2748 + tbz x0, 8, .L2842 add x0, x19, :lo12:.LANCHOR0 ldrh w3, [x20,80] - ldr x1, [x0,88] - ldr x2, [x0,80] + ldr x1, [x0,608] + ldr x2, [x0,600] adrp x0, .LC224 add x0, x0, :lo12:.LC224 ldrh w1, [x1,80] ldrh w2, [x2,x3,lsl 1] mov w3, w21 bl printk -.L2748: +.L2842: add x0, x19, :lo12:.LANCHOR0 ldrh w1, [x20,80] - ldr x0, [x0,80] + ldr x0, [x0,600] ldrh w0, [x0,x1,lsl 1] cmp w0, w21 - beq .L2749 + beq .L2843 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 - add x0, x0, :lo12:.LC0 - add x1, x1, 552 mov w2, 483 + add x1, x1, 616 + add x0, x0, :lo12:.LC0 bl printk -.L2749: + bl dump_stack +.L2843: add x19, x19, :lo12:.LANCHOR0 ldrh w1, [x20,80] - ldr x0, [x19,80] + ldr x0, [x19,600] strh w21, [x0,x1,lsl 1] ldrh w0, [x20,80] bl zftl_insert_data_list @@ -17334,83 +17797,83 @@ gc_scan_src_blk_one_page: str x23, [sp,48] add x3, x19, :lo12:.LANCHOR0 mov w5, w4 - add x2, x3, 2912 + add x2, x3, 2896 stp x21, x22, [sp,32] ldrb w0, [x2,4] add x1, x2, x0, sxtw 1 - ldrb w7, [x3,3292] + ldrb w7, [x3,3276] ldrh w1, [x1,40] ldrh w3, [x2,2] -.L2772: +.L2866: cmp w1, w6 - bne .L2814 + bne .L2908 add w0, w0, 1 uxtb w0, w0 cmp w0, w7 - bne .L2773 + bne .L2867 add w3, w3, 1 mov w4, 1 mov w0, 0 uxth w3, w3 -.L2773: +.L2867: add x1, x2, x0, sxtw 1 mov w5, 1 ldrh w1, [x1,40] - b .L2772 -.L2814: - cbz w5, .L2775 + b .L2866 +.L2908: + cbz w5, .L2869 add x2, x19, :lo12:.LANCHOR0 - strb w0, [x2,2916] -.L2775: - cbz w4, .L2776 + strb w0, [x2,2900] +.L2869: + cbz w4, .L2870 add x0, x19, :lo12:.LANCHOR0 - strh w3, [x0,2914] -.L2776: + strh w3, [x0,2898] +.L2870: add x0, x19, :lo12:.LANCHOR0 - ldrb w2, [x0,3273] - ldrh w20, [x0,3366] + ldrb w2, [x0,3257] + ldrh w20, [x0,3350] cmp w2, 2 mul w1, w1, w20 - bne .L2777 - ldrb w2, [x0,2918] - add x0, x0, 2912 - cbnz w2, .L2777 + bne .L2871 + ldrb w2, [x0,2902] + add x0, x0, 2896 + cbnz w2, .L2871 ldrh w20, [x0,2] add w20, w1, w20, lsl 1 - b .L2778 -.L2777: + b .L2872 +.L2871: add x0, x19, :lo12:.LANCHOR0 - ldrh w20, [x0,2914] + ldrh w20, [x0,2898] add w20, w1, w20 -.L2778: +.L2872: add x2, x19, :lo12:.LANCHOR0 - add x1, x2, 2912 - ldrb w0, [x2,2916] + add x1, x2, 2896 + ldrb w0, [x2,2900] add w0, w0, 1 uxtb w0, w0 - strb w0, [x2,2916] - ldrb w2, [x2,3292] + strb w0, [x2,2900] + ldrb w2, [x2,3276] cmp w2, w0 - bne .L2779 + bne .L2873 ldrh w0, [x1,2] strb wzr, [x1,4] add w0, w0, 1 strh w0, [x1,2] -.L2779: +.L2873: mov w0, 1 mov w21, 0 add x19, x19, :lo12:.LANCHOR0 bl buf_alloc mov x22, x0 -.L2790: - ldrb w0, [x19,2918] - cbnz w21, .L2792 +.L2884: + ldrb w0, [x19,2902] + cbnz w21, .L2886 cmp w0, 3 - beq .L2780 -.L2792: + beq .L2874 +.L2886: cmp w0, w21 - bgt .L2782 -.L2791: + bgt .L2876 +.L2885: mov x0, x22 bl buf_free ldr x23, [sp,48] @@ -17418,56 +17881,56 @@ gc_scan_src_blk_one_page: ldp x21, x22, [sp,32] ldp x29, x30, [sp], 80 ret -.L2782: - ldrb w1, [x19,3273] +.L2876: + ldrb w1, [x19,3257] cmp w1, 2 - bne .L2783 - cbnz w0, .L2783 + bne .L2877 + cbnz w0, .L2877 add w0, w21, w20 orr w0, w0, 33554432 - b .L2813 -.L2783: + b .L2907 +.L2877: orr w0, w20, w21, lsl 24 -.L2813: +.L2907: str w0, [x22,40] mov w1, 1 mov x0, x22 bl sblk_read_page ldr w0, [x22,52] cmp w0, 512 - beq .L2787 + beq .L2881 cmn w0, #1 - beq .L2787 + beq .L2881 ldr x0, [x22,24] ldr w23, [x0,4] mov w0, w23 bl lpa_hash_get_ppa str w0, [x29,76] cmn w0, #1 - bne .L2788 + bne .L2882 mov w0, w23 add x1, x29, 76 mov w2, 0 bl pm_log2phys -.L2788: +.L2882: ldr w0, [x29,76] cmp w20, w0 - bne .L2787 - ldrh w2, [x19,2936] - ldr x1, [x19,3264] + bne .L2881 + ldrh w2, [x19,2920] + ldr x1, [x19,3248] str w20, [x1,x2,lsl 2] - ldrh w1, [x19,2936] + ldrh w1, [x19,2920] add w1, w1, 1 - strh w1, [x19,2936] -.L2787: - ldrh w0, [x19,2938] + strh w1, [x19,2920] +.L2881: + ldrh w0, [x19,2922] add w0, w0, 1 - strh w0, [x19,2938] -.L2780: + strh w0, [x19,2922] +.L2874: add w21, w21, 1 cmp w21, 4 - bne .L2790 - b .L2791 + bne .L2884 + b .L2885 .size gc_scan_src_blk_one_page, .-gc_scan_src_blk_one_page .align 2 .global gc_scan_src_blk @@ -17481,244 +17944,248 @@ gc_scan_src_blk: stp x21, x22, [sp,32] stp x23, x24, [sp,48] stp x25, x26, [sp,64] - ldrh w1, [x0,2912] + ldrh w1, [x0,2896] mov w0, 65535 cmp w1, w0 - bne .L2816 + bne .L2910 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 - add x0, x0, :lo12:.LC0 - add x1, x1, 576 mov w2, 920 + add x1, x1, 640 + add x0, x0, :lo12:.LC0 bl printk -.L2816: + bl dump_stack +.L2910: add x2, x19, :lo12:.LANCHOR0 mov w3, 65535 mov w0, 0 - ldrh w1, [x2,2912] + ldrh w1, [x2,2896] cmp w1, w3 - beq .L2817 + beq .L2911 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 8, .L2818 + tbz x0, 8, .L2912 ubfiz x3, x1, 1, 16 - ldr x2, [x2,80] + ldr x2, [x2,600] adrp x0, .LC225 add x0, x0, :lo12:.LC225 ldrh w2, [x2,x3] bl printk -.L2818: +.L2912: add x20, x19, :lo12:.LANCHOR0 bl timer_get_time - add x21, x20, 2912 - add x1, x20, 2952 - ldrh w0, [x20,2912] + add x21, x20, 2896 + add x1, x20, 2936 + ldrh w0, [x20,2896] bl ftl_get_blk_list_in_sblk uxtb w1, w0 strb w1, [x21,5] - cbnz w1, .L2819 + cbnz w1, .L2913 mov w0, -1 - strh w0, [x20,2912] - b .L2845 -.L2819: - ldrh w3, [x20,2912] - ldr x2, [x20,64] + strh w0, [x20,2896] + b .L2939 +.L2913: + ldrh w3, [x20,2896] + ldr x2, [x20,584] add x2, x2, x3, lsl 2 ldrb w2, [x2,2] tst w2, 192 and w4, w2, 224 - beq .L2820 + beq .L2914 cmp w4, 224 - beq .L2820 - ldr x2, [x20,88] + beq .L2914 + ldr x2, [x20,608] ldrh w5, [x2,16] cmp w5, w3 - beq .L2820 + beq .L2914 ldrh w5, [x2,48] cmp w5, w3 - beq .L2820 + beq .L2914 ldrh w2, [x2,80] cmp w2, w3 - bne .L2821 -.L2820: - cbnz w4, .L2822 + bne .L2915 +.L2914: + cbnz w4, .L2916 add x0, x19, :lo12:.LANCHOR0 - ldr x0, [x0,80] + ldr x0, [x0,600] ldrh w0, [x0,x3,lsl 1] - cbz w0, .L2823 + cbz w0, .L2917 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 - add x0, x0, :lo12:.LC0 - add x1, x1, 576 mov w2, 940 + add x1, x1, 640 + add x0, x0, :lo12:.LC0 bl printk -.L2823: + bl dump_stack +.L2917: add x0, x19, :lo12:.LANCHOR0 - ldrh w1, [x0,2912] - ldr x0, [x0,80] + ldrh w1, [x0,2896] + ldr x0, [x0,600] strh wzr, [x0,x1,lsl 1] -.L2822: +.L2916: add x19, x19, :lo12:.LANCHOR0 mov w0, -1 - strh wzr, [x19,2936] - strh w0, [x19,2912] -.L2845: + strh wzr, [x19,2920] + strh w0, [x19,2896] +.L2939: mov w0, 0 - b .L2817 -.L2821: + b .L2911 +.L2915: and w0, w0, 255 sub w0, w0, #1 add x0, x21, x0, sxtw 1 ldrh w20, [x0,40] mov w0, 65535 cmp w20, w0 - bne .L2824 + bne .L2918 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 - add x0, x0, :lo12:.LC0 - add x1, x1, 576 mov w2, 948 + add x1, x1, 640 + add x0, x0, :lo12:.LC0 bl printk -.L2824: + bl dump_stack +.L2918: add x2, x19, :lo12:.LANCHOR0 mov w24, 1 - ldrh w3, [x2,2912] - ldr x4, [x2,64] - ldrh w0, [x2,3316] + ldrh w3, [x2,2896] + ldr x4, [x2,584] + ldrh w0, [x2,3300] add x3, x4, x3, lsl 2 - ldrh w1, [x2,3366] + ldrh w1, [x2,3350] sub w0, w0, #1 ldrb w3, [x3,2] uxth w0, w0 mul w1, w20, w1 and w3, w3, 224 cmp w3, 160 - bne .L2825 - ldrb w3, [x2,3273] + bne .L2919 + ldrb w3, [x2,3257] cmp w3, 2 uxth w24, w3 orr w1, w1, w3, lsl 24 - bne .L2825 - ldrh w0, [x2,3290] + bne .L2919 + ldrh w0, [x2,3274] sub w0, w0, #1 uxth w0, w0 -.L2825: +.L2919: add x20, x19, :lo12:.LANCHOR0 orr w23, w0, w1 mov w0, 1 - strb w24, [x20,2918] - strh wzr, [x20,2914] - strb wzr, [x20,2916] - strh wzr, [x20,2938] + strb w24, [x20,2902] + strh wzr, [x20,2898] + strb wzr, [x20,2900] + strh wzr, [x20,2922] bl buf_alloc mov w1, 1 str w23, [x0,40] mov x21, x0 bl sblk_read_page - ldrh w0, [x20,3290] + ldrh w0, [x20,3274] mov w1, 255 - ldrb w2, [x20,3292] + ldrb w2, [x20,3276] mul w2, w0, w2 - ldr x0, [x20,3264] + ldr x0, [x20,3248] lsl w2, w2, 2 bl ftl_memset - strh wzr, [x20,2936] + strh wzr, [x20,2920] ldr w0, [x21,52] cmp w0, 512 - beq .L2846 + beq .L2940 cmn w0, #1 - beq .L2846 + beq .L2940 ldr x0, [x21,24] ldr w1, [x0] mov w0, 15555 movk w0, 0xf55f, lsl 16 cmp w1, w0 - beq .L2828 + beq .L2922 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 - add x0, x0, :lo12:.LC0 - add x1, x1, 576 mov w2, 980 + add x1, x1, 640 + add x0, x0, :lo12:.LC0 bl printk -.L2846: + bl dump_stack +.L2940: mov x0, x21 bl buf_free mov w0, -1 - b .L2817 -.L2828: - ldrb w0, [x20,3292] + b .L2911 +.L2922: + ldrb w0, [x20,3276] mov x26, 0 - ldrh w22, [x20,3316] + ldrh w22, [x20,3300] mov w25, 1 ldr x23, [x21,8] mul w22, w0, w22 mul w22, w24, w22 mov w24, 21 uxth w22, w22 -.L2829: +.L2923: cmp w22, w26 - ble .L2847 + ble .L2941 ldr w0, [x23,x26,lsl 2] cmn w0, #1 - beq .L2831 + beq .L2925 bl lpa_hash_get_ppa str w0, [x29,92] cmn w0, #1 - bne .L2832 + bne .L2926 ldr w0, [x23,x26,lsl 2] add x1, x29, 92 mov w2, 0 bl pm_log2phys -.L2832: - ldrh w1, [x20,3356] +.L2926: + ldrh w1, [x20,3340] ldr w2, [x29,92] sub w0, w24, w1 - ldrh w3, [x20,2912] + ldrh w3, [x20,2896] lsl w0, w25, w0 lsr w1, w2, w1 sub w0, w0, #1 and w1, w0, w1 - ldrb w0, [x20,3354] + ldrb w0, [x20,3338] udiv w1, w1, w0 cmp w1, w3 - bne .L2831 - ldrh w3, [x20,2936] - ldr x1, [x20,3264] + bne .L2925 + ldrh w3, [x20,2920] + ldr x1, [x20,3248] str w2, [x1,x3,lsl 2] - ldrh w1, [x20,2936] + ldrh w1, [x20,2920] add w1, w1, 1 - strh w1, [x20,2936] -.L2831: + strh w1, [x20,2920] +.L2925: bl timer_get_time add x26, x26, 1 - b .L2829 -.L2847: + b .L2923 +.L2941: mov x0, x21 bl buf_free add x0, x19, :lo12:.LANCHOR0 - ldrh w1, [x0,2912] - ldr x3, [x0,80] + ldrh w1, [x0,2896] + ldr x3, [x0,600] ubfiz x2, x1, 1, 16 ldrh w2, [x3,x2] - ldrh w3, [x0,2936] + ldrh w3, [x0,2920] cmp w2, w3 - beq .L2835 + beq .L2929 adrp x0, .LC226 add x0, x0, :lo12:.LC226 bl printk -.L2835: +.L2929: add x19, x19, :lo12:.LANCHOR0 - ldrh w2, [x19,2912] - ldr x1, [x19,80] - ldrh w3, [x19,2936] + ldrh w2, [x19,2896] + ldr x1, [x19,600] + ldrh w3, [x19,2920] strh w3, [x1,x2,lsl 1] - strh wzr, [x19,2940] - ldrh w0, [x19,2936] -.L2817: + strh wzr, [x19,2924] + ldrh w0, [x19,2920] +.L2911: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -17737,26 +18204,26 @@ gc_scan_static_data: add x3, x19, :lo12:.LANCHOR0 stp x21, x22, [sp,32] stp x23, x24, [sp,48] - ldr x0, [x3,88] + ldr x0, [x3,608] ldr w1, [x0,544] cmn w1, #1 - beq .L2849 + beq .L2943 adrp x21, .LANCHOR3 adrp x22, .LC0 add x21, x21, :lo12:.LANCHOR3 mov w20, 11 add x22, x22, :lo12:.LC0 - add x21, x21, 592 -.L2850: + add x21, x21, 656 +.L2944: add x24, x19, :lo12:.LANCHOR0 add x1, x29, 76 mov w2, 0 - ldr x0, [x24,88] + ldr x0, [x24,608] ldr w0, [x0,544] bl pm_log2phys ldr w0, [x29,76] cmn w0, #1 - beq .L2851 + beq .L2945 mov w0, 1 bl buf_alloc mov x23, x0 @@ -17766,8 +18233,8 @@ gc_scan_static_data: bl sblk_read_page ldr w0, [x23,52] cmp w0, 256 - bne .L2852 - ldrh w0, [x24,3356] + bne .L2946 + ldrh w0, [x24,3340] mov w2, 21 mov w1, 1 ldr w3, [x29,76] @@ -17775,35 +18242,36 @@ gc_scan_static_data: lsl w2, w1, w2 lsr w3, w3, w0 sub w2, w2, #1 - ldrb w0, [x24,3354] + ldrb w0, [x24,3338] and w2, w2, w3 udiv w0, w2, w0 mov w2, 0 bl gc_add_sblk -.L2852: +.L2946: add x0, x19, :lo12:.LANCHOR0 ldr x1, [x23,24] - ldr x0, [x0,88] + ldr x0, [x0,608] ldr w1, [x1,4] ldr w0, [x0,544] cmp w1, w0 - beq .L2853 - mov x0, x22 + beq .L2947 mov x1, x21 mov w2, 1419 + mov x0, x22 bl printk -.L2853: + bl dump_stack +.L2947: mov x0, x23 bl buf_free -.L2851: +.L2945: add x2, x19, :lo12:.LANCHOR0 - ldr x1, [x2,88] + ldr x1, [x2,608] ldr w2, [x2,2840] ldr w0, [x1,544] add w0, w0, 1 str w0, [x1,544] cmp w0, w2 - bcc .L2854 + bcc .L2948 mov w0, -1 str w0, [x1,544] ldr w0, [x1,548] @@ -17814,37 +18282,37 @@ gc_scan_static_data: bl ftl_ext_info_flush mov w0, 0 bl ftl_info_flush - b .L2848 -.L2854: + b .L2942 +.L2948: ldr w0, [x29,76] cmn w0, #1 - bne .L2848 + bne .L2942 sub w20, w20, #1 uxth w20, w20 - cbnz w20, .L2850 - b .L2848 -.L2849: + cbnz w20, .L2944 + b .L2942 +.L2943: ldr w1, [x0,536] ldr w2, [x0,12] add w1, w1, 12959744 add w1, w1, 256 cmp w2, w1 - bhi .L2859 + bhi .L2953 ldr x3, [x3,2864] ldr w1, [x0,540] ldr w3, [x3,44] add w1, w1, 98304 add w1, w1, 1696 cmp w3, w1 - bls .L2848 -.L2859: + bls .L2942 +.L2953: add x19, x19, :lo12:.LANCHOR0 ldr x1, [x19,2864] ldr w1, [x1,44] str w1, [x0,540] str w2, [x0,536] str wzr, [x0,544] -.L2848: +.L2942: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -17864,50 +18332,51 @@ gc_block_vpn_scan: stp x23, x24, [sp,48] stp x25, x26, [sp,64] stp x27, x28, [sp,80] - ldr x1, [x20,88] - ldrh w0, [x20,56] + ldr x1, [x20,608] + ldrh w0, [x20,576] ldr w1, [x1,608] cmp w1, w0 - bcs .L2864 + bcs .L2958 bl timer_get_time - ldr x21, [x20,88] + ldr x21, [x20,608] ldr w1, [x21,604] add w1, w1, 28672 add w1, w1, 1328 cmp w0, w1 - bls .L2864 + bls .L2958 bl timer_get_time str w0, [x21,604] - ldr x0, [x20,88] - ldrh w2, [x20,56] + ldr x0, [x20,608] + ldrh w2, [x20,576] ldr w1, [x0,600] cmp w1, w2 - bcs .L2868 + bcs .L2962 ldr x2, [x20,2864] ldrh w2, [x2,134] cmp w1, w2 - bcs .L2869 -.L2868: + bcs .L2963 +.L2962: add x1, x19, :lo12:.LANCHOR0 ldr x1, [x1,2864] ldrh w1, [x1,134] str w1, [x0,600] -.L2869: +.L2963: ldr w25, [x0,600] mov w0, 65535 uxth w20, w25 cmp w20, w0 - bne .L2870 + bne .L2964 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 - add x0, x0, :lo12:.LC0 - add x1, x1, 616 mov w2, 1712 + add x1, x1, 680 + add x0, x0, :lo12:.LC0 bl printk -.L2870: + bl dump_stack +.L2964: add x21, x19, :lo12:.LANCHOR0 - ldr x0, [x21,88] + ldr x0, [x21,608] ldr w1, [x0,600] add w1, w1, 1 str w1, [x0,600] @@ -17918,46 +18387,47 @@ gc_block_vpn_scan: mov w0, w20 bl ftl_get_blk_list_in_sblk uxth w1, w0 - cbz w1, .L2864 + cbz w1, .L2958 uxtw x22, w20 - ldr x24, [x21,64] + ldr x24, [x21,584] add x24, x24, x22, lsl 2 ldrb w1, [x24,2] tst w1, 192 and w2, w1, 224 - beq .L2871 + beq .L2965 cmp w2, 224 - beq .L2871 - ldr x1, [x21,88] + beq .L2965 + ldr x1, [x21,608] ldrh w3, [x1,16] cmp w3, w20 - beq .L2871 + beq .L2965 ldrh w3, [x1,48] cmp w3, w20 - beq .L2871 + beq .L2965 ldrh w1, [x1,80] cmp w1, w20 - bne .L2872 -.L2871: - cbnz w2, .L2864 + bne .L2966 +.L2965: + cbnz w2, .L2958 add x0, x19, :lo12:.LANCHOR0 lsl x22, x22, 1 - ldr x0, [x0,80] + ldr x0, [x0,600] ldrh w0, [x0,x22] - cbz w0, .L2873 + cbz w0, .L2967 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 - add x0, x0, :lo12:.LC0 - add x1, x1, 616 mov w2, 1728 + add x1, x1, 680 + add x0, x0, :lo12:.LC0 bl printk -.L2873: + bl dump_stack +.L2967: add x19, x19, :lo12:.LANCHOR0 - ldr x0, [x19,80] + ldr x0, [x19,600] strh wzr, [x0,x22] - b .L2864 -.L2872: + b .L2958 +.L2966: and w0, w0, 65535 add x1, x29, 144 sub w0, w0, #1 @@ -17965,35 +18435,36 @@ gc_block_vpn_scan: ldrh w21, [x0,-16] mov w0, 65535 cmp w21, w0 - bne .L2875 + bne .L2969 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 - add x0, x0, :lo12:.LC0 - add x1, x1, 616 mov w2, 1734 + add x1, x1, 680 + add x0, x0, :lo12:.LC0 bl printk -.L2875: + bl dump_stack +.L2969: add x2, x19, :lo12:.LANCHOR0 ldrb w3, [x24,2] mov w26, 1 and w3, w3, 224 - ldrh w0, [x2,3316] + ldrh w0, [x2,3300] cmp w3, 160 - ldrh w1, [x2,3366] + ldrh w1, [x2,3350] sub w0, w0, #1 mul w1, w21, w1 uxth w0, w0 - bne .L2876 - ldrb w3, [x2,3273] + bne .L2970 + ldrb w3, [x2,3257] cmp w3, 2 uxth w26, w3 orr w1, w1, w3, lsl 24 - bne .L2876 - ldrh w0, [x2,3290] + bne .L2970 + ldrh w0, [x2,3274] sub w0, w0, #1 uxth w0, w0 -.L2876: +.L2970: orr w21, w0, w1 mov w0, 1 bl buf_alloc @@ -18002,42 +18473,42 @@ gc_block_vpn_scan: add x21, x19, :lo12:.LANCHOR0 mov x23, x0 bl sblk_read_page - ldrh w0, [x21,3290] + ldrh w0, [x21,3274] mov w1, 255 - ldrb w2, [x21,3292] + ldrb w2, [x21,3276] mul w2, w0, w2 - ldr x0, [x21,3264] + ldr x0, [x21,3248] lsl w2, w2, 2 bl ftl_memset ldr w0, [x23,52] cmp w0, 512 - beq .L2888 + beq .L2982 cmn w0, #1 cset w2, eq - cbz w2, .L2877 -.L2888: + cbz w2, .L2971 +.L2982: mov w0, w20 mov w1, 1 mov w2, 0 - b .L2901 -.L2877: + b .L2995 +.L2971: ldr x0, [x23,24] ldr w1, [x0] mov w0, 15555 movk w0, 0xf55f, lsl 16 cmp w1, w0 - beq .L2879 + beq .L2973 mov w0, w20 mov w1, 1 -.L2901: +.L2995: bl gc_add_sblk mov x0, x23 bl buf_free - b .L2864 -.L2879: - ldrb w0, [x21,3292] + b .L2958 +.L2973: + ldrb w0, [x21,3276] mov x27, 0 - ldrh w1, [x21,3316] + ldrh w1, [x21,3300] and w28, w25, 65535 mov w21, w27 mul w0, w0, w1 @@ -18045,68 +18516,68 @@ gc_block_vpn_scan: uxth w0, w26 ldr x26, [x23,8] str w0, [x29,108] -.L2880: +.L2974: ldr w0, [x29,108] cmp w0, w27 - ble .L2902 + ble .L2996 ldr w0, [x26,x27,lsl 2] cmn w0, #1 - beq .L2881 + beq .L2975 bl lpa_hash_get_ppa str w0, [x29,124] cmn w0, #1 - bne .L2882 + bne .L2976 ldr w0, [x26,x27,lsl 2] add x1, x29, 124 mov w2, 0 bl pm_log2phys -.L2882: +.L2976: add x4, x19, :lo12:.LANCHOR0 mov w1, 21 - ldrh w0, [x4,3356] + ldrh w0, [x4,3340] sub w2, w1, w0 mov w1, 1 lsl w2, w1, w2 ldr w1, [x29,124] sub w2, w2, #1 lsr w0, w1, w0 - ldrb w1, [x4,3354] + ldrb w1, [x4,3338] and w0, w2, w0 udiv w0, w0, w1 cmp w0, w28 - bne .L2881 + bne .L2975 add w21, w21, 1 uxth w21, w21 -.L2881: +.L2975: add x27, x27, 1 - b .L2880 -.L2902: + b .L2974 +.L2996: mov x0, x23 bl buf_free adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 8, .L2884 + tbz x0, 8, .L2978 add x0, x19, :lo12:.LANCHOR0 ldrb w4, [x24,2] uxth w1, w25 mov w3, w21 ubfx x4, x4, 5, 3 - ldr x2, [x0,80] + ldr x2, [x0,600] adrp x0, .LC227 add x0, x0, :lo12:.LC227 ldrh w2, [x2,x22,lsl 1] bl printk -.L2884: +.L2978: add x19, x19, :lo12:.LANCHOR0 cmp w21, 31 - ldr x0, [x19,80] + ldr x0, [x19,600] strh w21, [x0,x22,lsl 1] - bhi .L2864 + bhi .L2958 mov w0, w20 mov w1, 1 mov w2, 0 bl gc_add_sblk -.L2864: +.L2958: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -18134,7 +18605,7 @@ ftl_sblk_dump: stp x27, x28, [sp,128] lsl x25, x0, 2 str x1, [x29,144] - ldr x0, [x19,64] + ldr x0, [x19,584] add x1, x0, x25 ldrh w4, [x0,x25] ldr w5, [x0,x25] @@ -18150,19 +18621,19 @@ ftl_sblk_dump: mov w1, 65535 mov w0, 0 cmp w20, w1 - beq .L2904 - ldrh w1, [x19,56] + beq .L2998 + ldrh w1, [x19,576] cmp w1, w20 - bls .L2904 - ldr x0, [x19,64] + bls .L2998 + ldr x0, [x19,584] mov w26, 1 add x0, x0, x25 ldrb w0, [x0,2] and w0, w0, 224 cmp w0, 160 - bne .L2905 - ldrb w26, [x19,3273] -.L2905: + bne .L2999 + ldrb w26, [x19,3257] +.L2999: add x1, x29, 192 mov w0, w20 strh w20, [x29,176] @@ -18175,14 +18646,14 @@ ftl_sblk_dump: mov w3, w26 strh wzr, [x29,178] uxtb w4, w4 - ldrh w2, [x0,3316] + ldrh w2, [x0,3300] mov w27, w22 strb wzr, [x29,181] mov w19, w22 strh wzr, [x29,186] mul w1, w1, w2 strh w1, [x29,182] - ldr x1, [x0,64] + ldr x1, [x0,584] adrp x0, .LC229 add x0, x0, :lo12:.LC229 add x1, x1, x25 @@ -18193,56 +18664,56 @@ ftl_sblk_dump: mov w0, 1 bl buf_alloc mov x28, x0 - adrp x0, .LC181 + adrp x0, .LC183 str w22, [x29,152] - add x0, x0, :lo12:.LC181 + add x0, x0, :lo12:.LC183 str x0, [x29,120] adrp x0, .LANCHOR3 add x0, x0, :lo12:.LANCHOR3 - add x0, x0, 640 + add x0, x0, 704 str x0, [x29,112] -.L2906: +.L3000: add x21, x23, :lo12:.LANCHOR0 - ldrh w0, [x21,3316] + ldrh w0, [x21,3300] cmp w0, w19 - bls .L2922 + bls .L3016 lsl w0, w19, 1 str wzr, [x29,156] sub w0, w0, #1 str w0, [x29,132] -.L2923: +.L3017: ldrb w0, [x29,185] ldr w1, [x29,156] cmp w0, w1 - bls .L2920 + bls .L3014 mov w24, 1 -.L2921: +.L3015: cmp w24, w26 ldr w0, [x29,156] - bhi .L2940 + bhi .L3034 add x1, x29, 176 add x0, x1, x0, sxtw 1 ldrh w2, [x0,16] mov w0, 65535 cmp w2, w0 - beq .L2907 + beq .L3001 add x1, x23, :lo12:.LANCHOR0 cmp w26, 3 - ldrh w0, [x1,3366] + ldrh w0, [x1,3350] mul w0, w2, w0 add w21, w0, w19 - bne .L2908 + bne .L3002 orr w21, w21, w24, lsl 24 - b .L2909 -.L2908: + b .L3003 +.L3002: cmp w26, 2 - bne .L2909 + bne .L3003 ldr w3, [x29,132] - ldrb w21, [x1,3273] + ldrb w21, [x1,3257] add w0, w0, w3 add w0, w0, w24 orr w21, w0, w21, lsl 24 -.L2909: +.L3003: mov w1, 1 str w21, [x28,40] mov x0, x28 @@ -18274,23 +18745,23 @@ ftl_sblk_dump: bl printk ldr x9, [x29,104] cmp w9, 512 - beq .L2927 + beq .L3021 cmn w9, #1 - bne .L2911 -.L2927: + bne .L3005 +.L3021: mov w0, 1 str w0, [x29,152] -.L2911: +.L3005: add x0, x23, :lo12:.LANCHOR0 - ldr x0, [x0,64] + ldr x0, [x0,584] add x0, x0, x25 ldrb w0, [x0,2] and w0, w0, 224 cmp w0, 32 - beq .L2907 + beq .L3001 cmp w0, 224 cset w2, eq - cbnz w2, .L2907 + cbnz w2, .L3001 ldr x0, [x28,24] str x2, [x29,104] ldr w0, [x0,4] @@ -18298,15 +18769,15 @@ ftl_sblk_dump: str w0, [x29,172] cmn w0, #1 ldr x2, [x29,104] - bne .L2913 + bne .L3007 ldr x0, [x28,24] add x1, x29, 172 ldr w0, [x0,4] bl pm_log2phys -.L2913: +.L3007: ldr w0, [x29,172] cmp w0, w21 - bne .L2914 + bne .L3008 ldr x2, [x28,24] add w22, w22, 1 adrp x0, .LC230 @@ -18315,64 +18786,65 @@ ftl_sblk_dump: mov w3, w22 ldr w2, [x2,4] bl printk -.L2914: +.L3008: ldr x0, [x29,144] - cbz x0, .L2916 + cbz x0, .L3010 ubfiz x21, x27, 2, 32 ldr w2, [x0,x21] ldr x0, [x28,24] ldr w0, [x0,4] cmp w0, w2 - beq .L2917 + beq .L3011 adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 12, .L2917 + tbz x0, 12, .L3011 adrp x0, .LC231 mov w1, w27 add x0, x0, :lo12:.LC231 bl printk -.L2917: +.L3011: ldr x0, [x29,144] ldr x1, [x28,24] ldr w0, [x0,x21] ldr w1, [x1,4] cmp w1, w0 - beq .L2916 + beq .L3010 cmn w0, #1 - beq .L2916 + beq .L3010 adrp x0, .LC0 ldr x1, [x29,112] - add x0, x0, :lo12:.LC0 mov w2, 1300 + add x0, x0, :lo12:.LC0 bl printk -.L2916: + bl dump_stack +.L3010: add w27, w27, 1 -.L2907: +.L3001: add w24, w24, 1 uxth w24, w24 - b .L2921 -.L2940: + b .L3015 +.L3034: add w0, w0, 1 uxth w0, w0 str w0, [x29,156] - b .L2923 -.L2920: + b .L3017 +.L3014: add w19, w19, 1 uxth w19, w19 - b .L2906 -.L2922: + b .L3000 +.L3016: mov x0, x28 bl buf_free ldr x3, [x29,136] adrp x0, .LC232 - ldr x2, [x21,80] + ldr x2, [x21,600] add x0, x0, :lo12:.LC232 mov w1, w20 ldrh w2, [x2,x3,lsl 1] mov w3, w22 bl printk ldr w0, [x29,152] -.L2904: +.L2998: sub sp, x29, #48 ldp x19, x20, [sp,64] ldp x21, x22, [sp,80] @@ -18387,296 +18859,357 @@ ftl_sblk_dump: .global zftl_read .type zftl_read, %function zftl_read: - stp x29, x30, [sp, -176]! + stp x29, x30, [sp, -160]! add x29, sp, 0 stp x19, x20, [sp,16] mov w19, w0 adrp x0, .LANCHOR2 - stp x23, x24, [sp,48] - stp x25, x26, [sp,64] - ldr w0, [x0,#:lo12:.LANCHOR2] - mov w24, w1 stp x21, x22, [sp,32] + stp x23, x24, [sp,48] + ldr w0, [x0,#:lo12:.LANCHOR2] + mov w22, w1 + stp x25, x26, [sp,64] stp x27, x28, [sp,80] mov w25, w2 mov x23, x3 - tbz x0, 12, .L2942 + tbz x0, 12, .L3036 adrp x0, .LC233 mov w1, w19 add x0, x0, :lo12:.LC233 - mov w2, w24 + mov w2, w22 mov w3, w25 bl printk -.L2942: - cbnz w19, .L2943 - adrp x0, .LANCHOR0+4 +.L3036: + cbnz w19, .L3037 + adrp x0, .LANCHOR0+520 mov w19, 24576 - ldr w2, [x0,#:lo12:.LANCHOR0+4] - b .L2944 -.L2943: + ldr w2, [x0,#:lo12:.LANCHOR0+520] + b .L3038 +.L3037: cmp w19, 3 mov w0, -1 - bhi .L2945 + bhi .L3039 lsl w19, w19, 13 mov w2, 8192 -.L2944: - add w1, w24, w25 +.L3038: + add w1, w22, w25 mov w0, -1 cmp w1, w2 - bhi .L2945 - adrp x22, .LANCHOR0 - add w24, w19, w24 - add x1, x22, :lo12:.LANCHOR0 - add w28, w24, w25 - str wzr, [x29,152] + bhi .L3039 + add w22, w19, w22 + adrp x19, .LANCHOR0 + add x1, x19, :lo12:.LANCHOR0 + add w28, w22, w25 + str wzr, [x29,140] ldr x2, [x1,2864] ldr w0, [x2,24] add w0, w0, w25 str w0, [x2,24] ldrb w0, [x1,2832] sub w1, w28, #1 - udiv w27, w24, w0 - mov w21, w27 + udiv w27, w22, w0 + mov w20, w27 udiv w0, w1, w0 - str w0, [x29,148] - sub w26, w0, w27 - add w0, w26, 1 - str w0, [x29,156] + str w0, [x29,136] + sub w24, w0, w27 + add w24, w24, 1 adrp x0, .LC0 add x0, x0, :lo12:.LC0 - str x0, [x29,136] + str x0, [x29,128] adrp x0, .LANCHOR3 add x0, x0, :lo12:.LANCHOR3 - add x0, x0, 656 - str x0, [x29,128] -.L2946: - ldr w0, [x29,156] - cbz w0, .L2992 - add x0, x22, :lo12:.LANCHOR0 - ldr w1, [x29,148] - cmp w21, w27 + add x0, x0, 720 + str x0, [x29,120] +.L3040: + cbz w24, .L3100 + add x0, x19, :lo12:.LANCHOR0 + ldr w1, [x29,136] + cmp w20, w27 cset w2, eq - cmp w21, w1 + cmp w20, w1 ldrb w0, [x0,2832] - cset w20, eq - uxth w19, w0 - cbnz w20, .L2972 - cbz w2, .L2947 - b .L2991 -.L2972: - cbz w2, .L2949 -.L2991: - udiv w20, w24, w0 - msub w20, w20, w0, w24 + cset w26, eq + uxth w21, w0 + cbnz w26, .L3070 + cbz w2, .L3041 + b .L3099 +.L3070: + cbz w2, .L3043 +.L3099: + udiv w26, w22, w0 + msub w26, w26, w0, w22 uxth w0, w25 - uxth w20, w20 - sub w19, w19, w20 - uxth w19, w19 - cmp w19, w25 - csel w19, w0, w19, hi - b .L2947 -.L2949: - msub w19, w0, w21, w28 - mov w20, w2 - uxtb w19, w19 -.L2947: - add x1, x22, :lo12:.LANCHOR0 + uxth w26, w26 + sub w21, w21, w26 + uxth w21, w21 + cmp w21, w25 + csel w21, w0, w21, hi + b .L3041 +.L3043: + msub w21, w0, w20, w28 + mov w26, w2 + uxtb w21, w21 +.L3041: + add x1, x19, :lo12:.LANCHOR0 mov w0, 0 add x1, x1, 784 -.L2952: +.L3046: ldr w2, [x1,36] - cmp w2, w21 - bne .L2950 + cmp w2, w20 + bne .L3044 ldrb w2, [x1,2] - tbz x2, 3, .L2950 - add x2, x22, :lo12:.LANCHOR0 + tbz x2, 3, .L3044 + add x2, x19, :lo12:.LANCHOR0 ubfiz x1, x0, 6, 32 add x0, x2, x1 - ubfiz x20, x20, 9, 16 - lsl w2, w19, 9 - ubfiz x19, x19, 9, 16 + ubfiz x26, x26, 9, 16 + lsl w2, w21, 9 + ubfiz x21, x21, 9, 16 ldr x1, [x0,792] mov x0, x23 - add x23, x23, x19 - add x1, x1, x20 + add x23, x23, x21 + add x1, x1, x26 bl ftl_memcpy - b .L2951 -.L2950: + b .L3045 +.L3044: add w0, w0, 1 add x1, x1, 64 cmp w0, 32 - bne .L2952 - mov w0, w21 + bne .L3046 + mov w0, w20 bl lpa_hash_get_ppa - str w0, [x29,172] + str w0, [x29,156] cmn w0, #1 - bne .L2953 - mov w0, w21 - add x1, x29, 172 + bne .L3047 + mov w0, w20 + add x1, x29, 156 mov w2, 0 bl pm_log2phys -.L2953: - ldr w0, [x29,172] +.L3047: + ldr w0, [x29,156] cmn w0, #1 - bne .L2954 - mov w19, 0 -.L2955: - add x0, x22, :lo12:.LANCHOR0 + bne .L3048 + mov w21, 0 +.L3049: + add x0, x19, :lo12:.LANCHOR0 ldrb w0, [x0,2832] - cmp w19, w0 - bcs .L2951 - madd w0, w21, w0, w19 - cmp w0, w24 - bcc .L2956 + cmp w21, w0 + bcs .L3045 + madd w0, w20, w0, w21 + cmp w0, w22 + bcc .L3050 cmp w0, w28 - bcs .L2956 + bcs .L3050 mov x0, x23 mov w1, 0 mov w2, 512 add x23, x23, 512 bl ftl_memset -.L2956: - add w19, w19, 1 - b .L2955 -.L2954: +.L3050: + add w21, w21, 1 + b .L3049 +.L3048: mov w0, 0 bl buf_alloc - mov x26, x0 - cbnz x0, .L2958 - bl ftl_read_ahead - b .L2946 -.L2958: - add x1, x22, :lo12:.LANCHOR0 - ldr x2, [x1,2864] - ldr w0, [x2,40] - add w0, w0, 1 - str w0, [x2,40] - ldr w0, [x29,172] - str w0, [x26,40] - str w0, [x26,44] - ldrb w0, [x1,2832] - cmp w0, w19 - bne .L2960 - str x23, [x26,16] -.L2960: - mov x0, x26 - mov w1, 1 + cbz x0, .L3052 + add x2, x19, :lo12:.LANCHOR0 + ldr x3, [x2,2864] + ldr w2, [x3,40] + add w2, w2, 1 + str w2, [x3,40] + ldr w2, [x29,156] + strb w21, [x0,56] + ubfiz x21, x21, 9, 16 + str x23, [x0,16] + add x23, x23, x21 + str w2, [x0,40] + str w2, [x0,44] + str w20, [x0,36] + strb w26, [x0,57] + bl zftl_add_read_buf +.L3045: + add w20, w20, 1 + sub w24, w24, #1 +.L3052: + cbz w24, .L3071 + add x0, x19, :lo12:.LANCHOR0 + ldrb w0, [x0,2834] + cmp w0, 2 + bhi .L3040 +.L3071: + add x2, x19, :lo12:.LANCHOR0 + ldrb w1, [x2,3894] + cbz w1, .L3040 + add x0, x2, 784 + ldrb w2, [x2,3893] + add x0, x0, x2, lsl 6 bl sblk_read_page - ldr w9, [x26,52] - cmn w9, #1 - bne .L2961 - add x0, x22, :lo12:.LANCHOR0 - str w9, [x29,152] - ldr x1, [x0,88] +.L3055: + add x0, x19, :lo12:.LANCHOR0 + ldrb w1, [x0,3894] + cbz w1, .L3101 + ldrb w0, [x0,3893] + cmp w0, 255 + bne .L3056 + ldr x1, [x29,120] + mov w2, 1064 + ldr x0, [x29,128] + bl printk + bl dump_stack +.L3056: + add x2, x19, :lo12:.LANCHOR0 + add x1, x2, 784 + ldrb w21, [x2,3893] + lsl x0, x21, 6 + add x26, x1, x0 + ldrb w0, [x1,x0] + ldr w8, [x26,52] + strb w0, [x2,3893] + cmn w8, #1 + bne .L3057 + ldr x1, [x2,608] + str w8, [x29,140] ldr w0, [x1,552] add w0, w0, 1 str w0, [x1,552] - b .L2962 -.L2961: - cmp w9, 256 - bne .L2962 - add x1, x22, :lo12:.LANCHOR0 - mov w2, 21 + b .L3058 +.L3057: + cmp w8, 256 + bne .L3058 + ldrh w0, [x2,3340] + mov w1, 21 mov w5, 1 - ldr w0, [x29,172] ldr w3, [x26,40] - ldrh w4, [x1,3356] - str x9, [x29,104] - sub w2, w2, w4 - lsr w4, w0, w4 - lsl w2, w5, w2 - ldrb w0, [x1,3354] - sub w2, w2, #1 - str x5, [x29,112] - and w4, w2, w4 + sub w4, w1, w0 + str x8, [x29,96] + lsl w4, w5, w4 + lsr w0, w3, w0 + sub w4, w4, #1 + str x5, [x29,104] + and w0, w4, w0 + ldrb w4, [x2,3338] ldr w2, [x26,36] - udiv w4, w4, w0 + udiv w4, w0, w4 adrp x0, .LC234 add x0, x0, :lo12:.LC234 - str x4, [x29,120] + str x4, [x29,112] uxth w1, w4 bl printk - ldr x4, [x29,120] + ldr x4, [x29,112] mov w2, 0 - ldr x5, [x29,112] + ldr x5, [x29,104] mov w0, w4 mov w1, w5 bl gc_add_sblk - ldr x9, [x29,104] -.L2962: - ldr x7, [x26,24] - ldr w5, [x7,4] - cmp w5, w21 - beq .L2963 + ldr x8, [x29,96] +.L3058: + add x9, x19, :lo12:.LANCHOR0 + add x1, x9, 784 + add x1, x1, x21, lsl 6 + add x10, x1, 32 + ldr x0, [x1,24] + ldr w3, [x0,4] + ldr w0, [x1,36] + cmp w3, w0 + beq .L3059 + ldr x3, [x9,608] + str x8, [x29,96] + str x9, [x29,104] + ldr w0, [x3,552] + str x10, [x29,112] + add w0, w0, 1 + str w0, [x3,552] + adrp x0, .LC235 + ldr x7, [x1,24] + add x0, x0, :lo12:.LC235 + ldr w2, [x10,4] + ldr w3, [x10,8] ldr w4, [x7] - adrp x0, .LC205 + ldr w5, [x7,4] ldr w6, [x7,8] - mov w2, w21 - ldrb w1, [x26,1] - add x0, x0, :lo12:.LC205 - ldr w3, [x29,172] + ldrb w1, [x1,1] ldr w7, [x7,12] - str x9, [x29,120] bl printk - add x3, x22, :lo12:.LANCHOR0 - mov w2, 21 + ldr x9, [x29,104] + mov w1, 21 + ldr x10, [x29,112] + ldrh w0, [x9,3340] + sub w2, w1, w0 mov w1, 1 - ldrh w0, [x3,3356] - sub w2, w2, w0 lsl w2, w1, w2 - ldr w1, [x29,172] + ldr w1, [x10,8] sub w2, w2, #1 lsr w0, w1, w0 - ldrb w1, [x3,3354] + ldrb w1, [x9,3338] and w0, w2, w0 udiv w0, w0, w1 mov x1, 0 bl ftl_sblk_dump - ldr x9, [x29,120] -.L2963: - ldr x0, [x26,24] - ldr w0, [x0,4] - cmp w0, w21 - bne .L2973 - cmn w9, #1 - bne .L2964 -.L2973: - ldr x0, [x29,136] - mov w2, 1048 - ldr x1, [x29,128] + ldr x8, [x29,96] +.L3059: + add x0, x19, :lo12:.LANCHOR0 + add x0, x0, 784 + add x0, x0, x21, lsl 6 + ldr x1, [x0,24] + ldr w0, [x0,36] + ldr w1, [x1,4] + cmp w1, w0 + bne .L3072 + cmn w8, #1 + bne .L3060 +.L3072: + ldr x1, [x29,120] + mov w2, 1085 + ldr x0, [x29,128] bl printk -.L2964: - ldr x0, [x26,16] - cbnz x0, .L2966 - ldr x1, [x26,8] - ubfiz x20, x20, 9, 16 - mov x0, x23 - lsl w2, w19, 9 - add x1, x1, x20 + bl dump_stack +.L3060: + add x1, x19, :lo12:.LANCHOR0 + add x0, x1, 784 + add x21, x0, x21, lsl 6 + ldrb w1, [x1,2832] + ldrb w2, [x21,56] + cmp w1, w2 + bls .L3062 + ldrb w3, [x21,57] + lsl w2, w2, 9 + ldr x1, [x21,8] + ldr x0, [x21,16] + add x1, x1, x3, lsl 9 bl ftl_memcpy -.L2966: + b .L3063 +.L3062: + ldrb w0, [x21,2] + and w0, w0, -9 + strb w0, [x21,2] +.L3063: + add x21, x19, :lo12:.LANCHOR0 + mov x1, x26 + add x0, x21, 3895 + bl buf_remove_buf mov x0, x26 - ubfiz x19, x19, 9, 16 - add x23, x23, x19 bl buf_free -.L2951: - ldr w0, [x29,156] - add w21, w21, 1 + ldrb w0, [x21,3894] sub w0, w0, #1 - str w0, [x29,156] - b .L2946 -.L2992: + strb w0, [x21,3894] + b .L3055 +.L3101: + mov w2, -1 + strb w1, [x0,3894] + strb w2, [x0,3893] + b .L3040 +.L3100: bl timer_get_time - adrp x1, .LANCHOR7-24 - str w0, [x1,#:lo12:.LANCHOR7-24] - ldr w0, [x29,152] -.L2945: + adrp x1, .LANCHOR7-80 + str w0, [x1,#:lo12:.LANCHOR7-80] + ldr w0, [x29,140] +.L3039: 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], 176 + ldp x29, x30, [sp], 160 ret .size zftl_read, .-zftl_read .align 2 @@ -18725,34 +19258,34 @@ zftl_debug_proc_write: stp x23, x24, [sp,80] stp x25, x26, [sp,96] mov x21, x2 - bhi .L2996 + bhi .L3105 mov x0, x19 bl rk_copy_from_user mov x22, x0 mov x0, -14 - cbnz x22, .L2996 - adrp x0, .LC235 - mov x1, x19 - add x0, x0, :lo12:.LC235 - strb w22, [x19,x21] - bl printk + cbnz x22, .L3105 adrp x0, .LC236 mov x1, x19 add x0, x0, :lo12:.LC236 + strb w22, [x19,x21] + bl printk + adrp x0, .LC237 + mov x1, x19 + add x0, x0, :lo12:.LC237 mov w2, 1 mov w3, 16 bl rknand_print_hex bl rknand_device_lock - adrp x1, .LC237 + adrp x1, .LC238 mov x0, x19 - add x1, x1, :lo12:.LC237 + add x1, x1, :lo12:.LC238 mov x2, 7 bl memcmp - cbnz w0, .L2997 + cbnz w0, .L3106 adrp x23, .LANCHOR0 - adrp x0, .LC238 + adrp x0, .LC239 add x19, x23, :lo12:.LANCHOR0 - add x0, x0, :lo12:.LC238 + add x0, x0, :lo12:.LC239 mov w2, 4 adrp x20, .LANCHOR4 ldr x3, [x19,2864] @@ -18761,19 +19294,19 @@ zftl_debug_proc_write: bl rknand_print_hex add x3, x20, :lo12:.LANCHOR4 ldr x1, [x19,2864] - adrp x0, .LC239 + adrp x0, .LC240 mov w2, 2 - add x0, x0, :lo12:.LC239 + add x0, x0, :lo12:.LC240 add x1, x1, 416 - ldrh w3, [x3,1180] + ldrh w3, [x3,1164] mov w19, w22 mov w22, 65535 bl rknand_print_hex -.L2998: +.L3107: add x0, x20, :lo12:.LANCHOR4 - ldrh w0, [x0,1180] + ldrh w0, [x0,1164] cmp w19, w0 - bge .L3001 + bge .L3110 mov w0, 300 bl msleep add x0, x23, :lo12:.LANCHOR0 @@ -18781,63 +19314,63 @@ zftl_debug_proc_write: add x0, x0, x19, sxtw 1 ldrh w0, [x0,416] cmp w0, w22 - beq .L2999 + beq .L3108 mov x1, 0 bl ftl_sblk_dump -.L2999: +.L3108: add w19, w19, 1 - b .L2998 -.L2997: - adrp x1, .LC240 + b .L3107 +.L3106: + adrp x1, .LC241 mov x0, x19 - add x1, x1, :lo12:.LC240 + add x1, x1, :lo12:.LC241 mov x2, 7 bl memcmp - cbnz w0, .L3002 + cbnz w0, .L3111 adrp x23, .LANCHOR0 - adrp x0, .LC238 + adrp x0, .LC239 add x20, x23, :lo12:.LANCHOR0 - add x0, x0, :lo12:.LC238 + add x0, x0, :lo12:.LC239 mov w2, 4 add x22, x29, 192 - adrp x24, .LC243 + adrp x24, .LC244 ldr x3, [x20,2864] - add x24, x24, :lo12:.LC243 + add x24, x24, :lo12:.LC244 add x1, x3, 704 ldrh w3, [x3,698] bl rknand_print_hex - adrp x3, .LANCHOR4+1180 + adrp x3, .LANCHOR4+1164 ldr x1, [x20,2864] - adrp x0, .LC239 + adrp x0, .LC240 mov w2, 2 - add x0, x0, :lo12:.LC239 + add x0, x0, :lo12:.LC240 add x1, x1, 416 - ldrh w3, [x3,#:lo12:.LANCHOR4+1180] + ldrh w3, [x3,#:lo12:.LANCHOR4+1164] bl rknand_print_hex - adrp x0, .LC241 + adrp x0, .LC242 add x1, x19, 7 - add x0, x0, :lo12:.LC241 + add x0, x0, :lo12:.LC242 str x1, [x22,-88]! - add x19, x20, 3920 + add x19, x20, 3904 mov x20, x23 bl printk - adrp x23, .LC242 + adrp x23, .LC243 ldr x0, [x29,104] mov x1, x22 add x25, x19, 512 - add x23, x23, :lo12:.LC242 - bl rk_simple_strtoull.constprop.33 + add x23, x23, :lo12:.LC243 + bl rk_simple_strtoull.constprop.31 mov w22, w0 str w0, [x29,100] uxth w26, w0 -.L3004: +.L3113: ldrh w1, [x19] mov x0, x23 ldrh w2, [x19,2] bl printk ldrh w0, [x19] cmp w0, w26 - bne .L3003 + bne .L3112 add x0, x20, :lo12:.LANCHOR0 ldr x1, [x19,8] mov w2, 4 @@ -18845,10 +19378,10 @@ zftl_debug_proc_write: mov x0, x24 lsl w3, w3, 7 bl rknand_print_hex -.L3003: +.L3112: add x19, x19, 16 cmp x19, x25 - bne .L3004 + bne .L3113 mov w0, 300 add x20, x20, :lo12:.LANCHOR0 bl msleep @@ -18881,61 +19414,61 @@ zftl_debug_proc_write: ldr w6, [x6,12] bl printk ldrb w3, [x20,2832] - adrp x0, .LC244 - add x0, x0, :lo12:.LC244 + adrp x0, .LC245 + add x0, x0, :lo12:.LC245 ldr x1, [x19,8] mov w2, 4 lsl w3, w3, 7 - b .L3019 -.L3002: - adrp x1, .LC245 - mov x0, x19 - add x1, x1, :lo12:.LC245 - mov x2, 7 - bl memcmp - cbnz w0, .L3005 - bl dump_ftl_info - b .L3001 -.L3005: + b .L3128 +.L3111: adrp x1, .LC246 mov x0, x19 add x1, x1, :lo12:.LC246 - mov x2, 9 + mov x2, 7 bl memcmp - cbnz w0, .L3006 - add x1, x29, 192 - add x0, x19, 9 - str x0, [x1,-88]! - bl rk_simple_strtoull.constprop.33 - str w0, [x29,100] - adrp x1, .LANCHOR0+3352 - strh w0, [x1,#:lo12:.LANCHOR0+3352] - bl dump_all_list_info - b .L3001 -.L3006: + cbnz w0, .L3114 + bl dump_ftl_info + b .L3110 +.L3114: adrp x1, .LC247 mov x0, x19 add x1, x1, :lo12:.LC247 - mov x2, 8 + mov x2, 9 bl memcmp - cbz w0, .L3001 + cbnz w0, .L3115 + add x1, x29, 192 + add x0, x19, 9 + str x0, [x1,-88]! + bl rk_simple_strtoull.constprop.31 + str w0, [x29,100] + adrp x1, .LANCHOR0+3336 + strh w0, [x1,#:lo12:.LANCHOR0+3336] + bl dump_all_list_info + b .L3110 +.L3115: adrp x1, .LC248 mov x0, x19 add x1, x1, :lo12:.LC248 mov x2, 8 bl memcmp - cbnz w0, .L3008 + cbz w0, .L3110 + adrp x1, .LC249 + mov x0, x19 + add x1, x1, :lo12:.LC249 + mov x2, 8 + bl memcmp + cbnz w0, .L3117 add x20, x29, 192 - adrp x0, .LC241 + adrp x0, .LC242 add x1, x19, 8 - add x0, x0, :lo12:.LC241 + add x0, x0, :lo12:.LC242 str x1, [x20,-88]! bl printk ldr x0, [x29,104] mov x1, x20 adrp x20, .LANCHOR0 add x20, x20, :lo12:.LANCHOR0 - bl rk_simple_strtoull.constprop.33 + bl rk_simple_strtoull.constprop.31 str w0, [x29,100] mov w0, 1 bl buf_alloc @@ -18963,101 +19496,98 @@ zftl_debug_proc_write: ldr w7, [x7] bl printk ldrb w3, [x20,2832] - adrp x0, .LC199 + adrp x0, .LC201 ldr x1, [x19,8] - add x0, x0, :lo12:.LC199 + add x0, x0, :lo12:.LC201 mov w2, 4 lsl w3, w3, 7 bl rknand_print_hex ldrb w3, [x20,2832] - adrp x0, .LC200 + adrp x0, .LC202 ldr x1, [x19,24] - add x0, x0, :lo12:.LC200 + add x0, x0, :lo12:.LC202 mov w2, 4 lsl w3, w3, 1 -.L3019: +.L3128: bl rknand_print_hex mov x0, x19 bl buf_free - b .L3001 -.L3008: - adrp x1, .LC249 - mov x0, x19 - add x1, x1, :lo12:.LC249 - mov x2, 8 - bl memcmp - cbnz w0, .L3009 - add x20, x29, 192 - adrp x0, .LC241 - add x1, x19, 8 - add x0, x0, :lo12:.LC241 - str x1, [x20,-88]! - bl printk - ldr x0, [x29,104] - mov x1, x20 - bl rk_simple_strtoull.constprop.33 - str w0, [x29,100] - mov x1, x22 - bl ftl_sblk_dump - b .L3001 -.L3009: + b .L3110 +.L3117: adrp x1, .LC250 mov x0, x19 add x1, x1, :lo12:.LC250 - mov x2, 10 + mov x2, 8 bl memcmp - cbnz w0, .L3010 + cbnz w0, .L3118 add x20, x29, 192 - adrp x0, .LC241 - add x1, x19, 10 - add x0, x0, :lo12:.LC241 + adrp x0, .LC242 + add x1, x19, 8 + add x0, x0, :lo12:.LC242 str x1, [x20,-88]! bl printk ldr x0, [x29,104] mov x1, x20 - bl rk_simple_strtoull.constprop.33 + bl rk_simple_strtoull.constprop.31 + str w0, [x29,100] + mov x1, x22 + bl ftl_sblk_dump + b .L3110 +.L3118: + adrp x1, .LC251 + mov x0, x19 + add x1, x1, :lo12:.LC251 + mov x2, 10 + bl memcmp + cbnz w0, .L3119 + add x20, x29, 192 + adrp x0, .LC242 + add x1, x19, 10 + add x0, x0, :lo12:.LC242 + str x1, [x20,-88]! + bl printk + ldr x0, [x29,104] + mov x1, x20 + bl rk_simple_strtoull.constprop.31 str w0, [x29,100] adrp x1, .LANCHOR2 str w0, [x1,#:lo12:.LANCHOR2] - b .L3001 -.L3010: - adrp x1, .LC251 + b .L3110 +.L3119: + adrp x1, .LC252 mov x2, 8 mov x0, x19 - add x1, x1, :lo12:.LC251 + add x1, x1, :lo12:.LC252 bl memcmp mov w2, w0 str x2, [x29,88] - cbnz w0, .L3011 + cbnz w0, .L3120 add x1, x19, 8 - adrp x0, .LC241 + adrp x0, .LC242 add x19, x29, 192 - add x0, x0, :lo12:.LC241 + add x0, x0, :lo12:.LC242 str x1, [x19,-88]! bl printk ldr x0, [x29,104] mov x1, x19 - bl rk_simple_strtoull.constprop.33 + bl rk_simple_strtoull.constprop.31 mov w19, w0 bl lpa_hash_get_ppa str w0, [x29,100] cmn w0, #1 ldr x2, [x29,88] - bne .L3012 + bne .L3121 mov w0, w19 add x1, x29, 100 bl pm_log2phys -.L3012: - adrp x0, .LC252 +.L3121: + adrp x0, .LC253 ldr w2, [x29,100] mov w1, w19 - add x0, x0, :lo12:.LC252 - bl printk - b .L3001 -.L3011: - adrp x0, .LC253 add x0, x0, :lo12:.LC253 bl printk + b .L3110 +.L3120: adrp x0, .LC254 add x0, x0, :lo12:.LC254 bl printk @@ -19082,10 +19612,13 @@ zftl_debug_proc_write: adrp x0, .LC261 add x0, x0, :lo12:.LC261 bl printk -.L3001: + adrp x0, .LC262 + add x0, x0, :lo12:.LC262 + bl printk +.L3110: bl rknand_device_unlock mov x0, x21 -.L2996: +.L3105: sub sp, x29, #32 ldp x19, x20, [sp,48] ldp x21, x22, [sp,64] @@ -19110,40 +19643,41 @@ ftl_update_l2p_map: stp x25, x26, [sp,64] stp x27, x28, [sp,80] ldrb w1, [x23,9] - ldrh w24, [x0,3316] + ldrh w24, [x0,3300] ldrh w20, [x23,12] - ldr x0, [x0,3888] + ldr x0, [x0,3872] mul w24, w24, w1 add x20, x0, x20, lsl 2 add x0, x20, x24, sxtw 2 ldr w0, [x0,-4] cmn w0, #1 - beq .L3021 + beq .L3130 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 - add x0, x0, :lo12:.LC0 - add x1, x1, 672 mov w2, 1576 + add x1, x1, 736 + add x0, x0, :lo12:.LC0 bl printk -.L3021: - adrp x0, .LC263 - mov x28, 0 - add x0, x0, :lo12:.LC263 - adrp x27, .LC262 - str x0, [x29,120] + bl dump_stack +.L3130: adrp x0, .LC264 + mov x28, 0 add x0, x0, :lo12:.LC264 + adrp x27, .LC263 + str x0, [x29,120] + adrp x0, .LC265 + add x0, x0, :lo12:.LC265 mov w22, w28 str x0, [x29,112] - add x27, x27, :lo12:.LC262 -.L3022: + add x27, x27, :lo12:.LC263 +.L3131: cmp w28, w24 mov w25, w28 - bge .L3049 + bge .L3158 ldr w2, [x20,x28,lsl 2] cmn w2, #1 - beq .L3023 + beq .L3132 add x0, x19, :lo12:.LANCHOR0 ldrb w21, [x0,2832] adrp x0, .LANCHOR2 @@ -19151,24 +19685,24 @@ ftl_update_l2p_map: ldr w0, [x0,#:lo12:.LANCHOR2] udiv w21, w2, w21 and w21, w21, 65535 - tbz x0, 12, .L3027 + tbz x0, 12, .L3136 mov x0, x27 mov w1, w21 mov w3, w28 bl printk -.L3027: +.L3136: sbfiz x26, x25, 2, 32 ldr w0, [x20,x26] cmn w0, #1 - beq .L3025 + beq .L3134 add x3, x19, :lo12:.LANCHOR0 ldrb w1, [x3,2832] lsl w1, w1, 7 udiv w0, w0, w1 cmp w21, w0, uxth - bne .L3025 + bne .L3134 ldrb w0, [x23,9] - ldrh w2, [x3,3366] + ldrh w2, [x3,3350] str x3, [x29,104] sdiv w1, w25, w0 msub w0, w1, w0, w25 @@ -19180,13 +19714,13 @@ ftl_update_l2p_map: ldr w1, [x20,x26] bl pm_ppa_update_check ldr x3, [x29,104] - cbz w0, .L3026 - ldr x1, [x3,3888] + cbz w0, .L3135 + ldr x1, [x3,3872] mov w2, 4 ldr x0, [x29,112] mov w3, w24 bl rknand_print_hex -.L3026: +.L3135: ldr w0, [x20,x26] add x1, x29, 140 mov w2, 1 @@ -19195,30 +19729,30 @@ ftl_update_l2p_map: uxth w22, w22 mov w0, -1 str w0, [x20,x26] -.L3025: +.L3134: add w25, w25, 1 cmp w25, w24 - bne .L3027 -.L3023: + bne .L3136 +.L3132: add x28, x28, 1 - b .L3022 -.L3049: + b .L3131 +.L3158: adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 12, .L3029 + tbz x0, 12, .L3138 add x0, x19, :lo12:.LANCHOR0 ldrh w1, [x23] mov w2, w22 ubfiz x3, x1, 1, 16 - ldr x4, [x0,80] - adrp x0, .LC265 - add x0, x0, :lo12:.LC265 + ldr x4, [x0,600] + adrp x0, .LC266 + add x0, x0, :lo12:.LC266 ldrh w3, [x4,x3] bl printk -.L3029: +.L3138: add x19, x19, :lo12:.LANCHOR0 ldrh w1, [x23] - ldr x0, [x19,80] + ldr x0, [x19,600] strh w22, [x0,x1,lsl 1] ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -19241,13 +19775,13 @@ ftl_alloc_new_data_sblk: ldrh w0, [x19] mov w1, 65535 cmp w0, w1 - beq .L3051 + beq .L3160 bl zftl_insert_data_list -.L3051: - adrp x0, .LANCHOR0+88 +.L3160: + adrp x0, .LANCHOR0+608 mov w2, 2 mov w1, 3 - ldr x0, [x0,#:lo12:.LANCHOR0+88] + ldr x0, [x0,#:lo12:.LANCHOR0+608] add x0, x0, 16 cmp x19, x0 mov x0, x19 @@ -19277,15 +19811,15 @@ ftl_write_commit: add x0, x0, :lo12:.LANCHOR4 str x0, [x29,120] stp x19, x20, [sp,16] - add x0, x0, 1282 + add x0, x0, 1267 str x0, [x29,104] stp x21, x22, [sp,32] stp x25, x26, [sp,64] stp x27, x28, [sp,80] -.L3055: +.L3164: ldrb w0, [x24,2856] - adrp x22, .LANCHOR0 - cbz w0, .L3057 + adrp x21, .LANCHOR0 + cbz w0, .L3166 ldrb w1, [x24,2888] sub w0, w0, #1 ldr x2, [x29,112] @@ -19298,80 +19832,81 @@ ftl_write_commit: strb w1, [x24,2888] ldr w1, [x27,36] cmp w1, w0 - bcc .L3058 + bcc .L3167 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 + mov w2, 495 + add x1, x1, 760 add x0, x0, :lo12:.LC0 - add x1, x1, 696 - mov w2, 487 bl printk -.L3058: + bl dump_stack +.L3167: ldr x0, [x29,128] - add x1, x22, :lo12:.LANCHOR0 + add x1, x21, :lo12:.LANCHOR0 add x4, x1, 784 add x0, x4, x0, lsl 6 ldr w2, [x1,2840] ldr w23, [x0,36] cmp w23, w2 - bcc .L3059 + bcc .L3168 mov x0, x27 bl buf_free mov w0, -1 - b .L3113 -.L3059: + b .L3222 +.L3168: ldr x25, [x0,8] ldr x28, [x0,24] - ldrb w21, [x0,57] + ldrb w22, [x0,57] ldrb w20, [x0,56] ldrb w0, [x1,2857] - cbz w0, .L3061 + cbz w0, .L3170 ldr x0, [x29,120] - ldrb w3, [x0,1282] + ldrb w3, [x0,1267] add x3, x4, x3, lsl 6 -.L3062: +.L3171: ldrb w5, [x3] cmp w5, 255 - beq .L3115 + beq .L3224 sbfiz x3, x5, 6, 32 add x3, x4, x3 - b .L3062 -.L3115: + b .L3171 +.L3224: ldr w0, [x3,36] cmp w0, w23 - bne .L3061 + bne .L3170 ldr x0, [x3,8] - ubfiz x1, x21, 9, 8 + ubfiz x1, x22, 9, 8 lsl w2, w20, 9 add x0, x0, x1 add x1, x25, x1 bl ftl_memcpy mov x0, x27 bl buf_free - b .L3055 -.L3061: + b .L3164 +.L3170: mov w0, w23 bl lpa_hash_get_ppa str w0, [x29,156] cmn w0, #1 - bne .L3065 + bne .L3174 mov w0, w23 add x1, x29, 156 mov w2, 0 bl pm_log2phys -.L3065: - add x4, x22, :lo12:.LANCHOR0 +.L3174: + add x4, x21, :lo12:.LANCHOR0 mov w3, 0 - ldr x19, [x4,88] add x4, x4, 784 + ldr x19, [x4,-176] add x19, x19, 16 -.L3068: +.L3177: ldr w0, [x4,36] cmp w0, w23 - bne .L3066 + bne .L3175 ldrb w5, [x4,2] - tbz x5, 3, .L3066 - add x0, x22, :lo12:.LANCHOR0 + tbz x5, 3, .L3175 + add x0, x21, :lo12:.LANCHOR0 ubfiz x3, x3, 6, 32 add x0, x0, 784 and w5, w5, -9 @@ -19380,52 +19915,52 @@ ftl_write_commit: strb w5, [x3,2] ldr x26, [x3,8] str w0, [x29,156] - b .L3067 -.L3066: + b .L3176 +.L3175: add w3, w3, 1 add x4, x4, 64 cmp w3, 32 - bne .L3068 + bne .L3177 mov x26, 0 -.L3067: - add x3, x22, :lo12:.LANCHOR0 +.L3176: + add x3, x21, :lo12:.LANCHOR0 str wzr, [x29,136] ldrb w0, [x3,2832] cmp w20, w0 - bcs .L3069 - add w20, w21, w20 - cbz x26, .L3070 - cbz w21, .L3071 + bcs .L3178 + add w20, w22, w20 + cbz x26, .L3179 + cbz w22, .L3180 mov x0, x25 mov x1, x26 - lsl w2, w21, 9 + lsl w2, w22, 9 str x3, [x29,136] bl ftl_memcpy ldr x3, [x29,136] - ldr x19, [x3,88] + ldr x19, [x3,608] add x19, x19, 48 -.L3071: - add x0, x22, :lo12:.LANCHOR0 +.L3180: + add x0, x21, :lo12:.LANCHOR0 ldrb w2, [x0,2832] cmp w20, w2 - bcc .L3072 - ldr x19, [x0,88] + bcc .L3181 + ldr x19, [x0,608] add x19, x19, 16 - b .L3114 -.L3072: + b .L3223 +.L3181: ubfiz x1, x20, 9, 9 sub w2, w2, w20 add x0, x25, x1 lsl w2, w2, 9 add x1, x26, x1 bl ftl_memcpy -.L3114: +.L3223: str wzr, [x29,136] - b .L3069 -.L3070: + b .L3178 +.L3179: ldr w0, [x29,156] cmn w0, #1 - beq .L3073 + beq .L3182 mov w0, 1 bl buf_alloc mov x26, x0 @@ -19440,107 +19975,113 @@ ftl_write_commit: add w1, w1, 1 str w1, [x29,136] cmp w0, w23 - bne .L3074 + bne .L3183 ldr w0, [x26,52] cmn w0, #1 - bne .L3075 -.L3074: - ldrb w1, [x26,1] - adrp x0, .LC266 + bne .L3184 +.L3183: + add x0, x21, :lo12:.LANCHOR0 ldr w2, [x29,156] mov w3, w23 + ldr x1, [x0,608] + ldr w0, [x1,552] + add w0, w0, 1 + str w0, [x1,552] + adrp x0, .LC267 + ldrb w1, [x26,1] + add x0, x0, :lo12:.LC267 ldr w4, [x26,52] - add x0, x0, :lo12:.LC266 bl printk - adrp x0, .LC200 + adrp x0, .LC202 mov w2, 4 ldr x1, [x26,24] - add x0, x0, :lo12:.LC200 + add x0, x0, :lo12:.LC202 mov w3, w2 bl rknand_print_hex -.L3075: +.L3184: ldr x0, [x26,24] ldr w0, [x0,4] cmp w0, w23 - bne .L3076 + bne .L3185 ldr w0, [x26,52] cmn w0, #1 - bne .L3077 -.L3076: + bne .L3186 +.L3185: adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 + mov w2, 566 + add x1, x1, 760 add x0, x0, :lo12:.LC0 - add x1, x1, 696 - mov w2, 557 bl printk -.L3077: - cbz w21, .L3078 + bl dump_stack +.L3186: + cbz w22, .L3187 ldr w0, [x29,156] - lsl w2, w21, 9 + lsl w2, w22, 9 cmn w0, #1 - beq .L3079 + beq .L3188 ldr x1, [x26,8] mov x0, x25 bl ftl_memcpy - b .L3080 -.L3073: - cbz w21, .L3078 - lsl w2, w21, 9 -.L3079: + b .L3189 +.L3182: + cbz w22, .L3187 + lsl w2, w22, 9 +.L3188: mov x0, x25 mov w1, 0 bl ftl_memset -.L3080: - add x0, x22, :lo12:.LANCHOR0 - ldr x19, [x0,88] +.L3189: + add x0, x21, :lo12:.LANCHOR0 + ldr x19, [x0,608] add x19, x19, 48 -.L3078: - add x0, x22, :lo12:.LANCHOR0 +.L3187: + add x0, x21, :lo12:.LANCHOR0 ldrb w2, [x0,2832] cmp w20, w2 - bcc .L3081 - bls .L3082 - ldr x19, [x0,88] + bcc .L3190 + bls .L3191 + ldr x19, [x0,608] add x19, x19, 16 - b .L3082 -.L3081: + b .L3191 +.L3190: ldr w0, [x29,156] sub w2, w2, w20 lsl w2, w2, 9 cmn w0, #1 ubfiz x0, x20, 7, 9 - beq .L3083 + beq .L3192 ldr x1, [x26,8] lsl x20, x0, 2 add x0, x25, x20 add x1, x1, x20 bl ftl_memcpy - b .L3082 -.L3083: + b .L3191 +.L3192: add x0, x25, x0, lsl 2 mov w1, 0 bl ftl_memset -.L3082: - cbz x26, .L3069 +.L3191: + cbz x26, .L3178 ldrb w0, [x26,2] mov x1, x26 and w0, w0, -9 strb w0, [x26,2] - add x0, x22, :lo12:.LANCHOR0 - add x0, x0, 2904 + add x0, x21, :lo12:.LANCHOR0 + add x0, x0, 3895 bl buf_remove_buf mov x0, x26 bl buf_free -.L3069: +.L3178: ldrh w0, [x19,6] - cbnz w0, .L3084 + cbnz w0, .L3193 bl ftl_flush mov x0, x19 bl ftl_alloc_new_data_sblk -.L3084: +.L3193: mov x0, x19 - add x20, x22, :lo12:.LANCHOR0 + add x20, x21, :lo12:.LANCHOR0 bl ftl_get_new_free_page ldr x1, [x29,128] add x3, x20, 784 @@ -19575,17 +20116,17 @@ ftl_write_commit: bl timer_get_time ldr x1, [x29,120] ldrb w2, [x20,2857] - str w0, [x1,1284] + str w0, [x1,1268] cmp w2, 2 adrp x0, .LANCHOR4 - bhi .L3085 + bhi .L3194 ldrh w1, [x19,6] cmp w1, 1 - bne .L3057 -.L3085: + bne .L3166 +.L3194: ldrb w1, [x19,5] mov w4, 2 - add x6, x22, :lo12:.LANCHOR0 + add x6, x21, :lo12:.LANCHOR0 cmp w1, wzr ldrh w1, [x19,6] csinc w4, w4, wzr, ne @@ -19593,43 +20134,43 @@ ftl_write_commit: cmp w1, 1 add x1, x0, :lo12:.LANCHOR4 csel w4, w4, w2, ne - ldrb w5, [x1,1282] + ldrb w5, [x1,1267] mov w1, 0 mov w3, w5 -.L3089: +.L3198: cmp w1, w4 - beq .L3116 + beq .L3225 ubfiz x3, x3, 6, 8 add w1, w1, 1 ldrb w3, [x6,x3] - b .L3089 -.L3116: + b .L3198 +.L3225: add x0, x0, :lo12:.LANCHOR4 uxtb w1, w1 sub w2, w2, w1 ubfiz x5, x5, 6, 8 - strb w3, [x0,1282] - add x0, x22, :lo12:.LANCHOR0 + strb w3, [x0,1267] + add x0, x21, :lo12:.LANCHOR0 add x0, x0, 784 strb w2, [x0,2073] add x0, x0, x5 bl sblk_prog_page ldrh w0, [x19,6] cmp w0, 1 - bne .L3057 + bne .L3166 bl sblk_wait_write_queue_completed bl ftl_write_completed mov x0, x19 bl ftl_write_last_log_page mov x0, x19 bl ftl_alloc_new_data_sblk -.L3057: - add x22, x22, :lo12:.LANCHOR0 - ldrb w19, [x22,2856] - cbnz w19, .L3055 +.L3166: + add x21, x21, :lo12:.LANCHOR0 + ldrb w19, [x21,2856] + cbnz w19, .L3164 bl ftl_write_completed mov w0, w19 -.L3113: +.L3222: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -19652,13 +20193,13 @@ gc_do_copy_back: stp x23, x24, [sp,64] stp x25, x26, [sp,80] stp x27, x28, [sp,96] - ldrb w0, [x21,3289] - ldr x22, [x21,88] - cbnz w0, .L3118 + ldrb w0, [x21,3273] + ldr x22, [x21,608] + cbnz w0, .L3227 bl buf_alloc mov x20, x0 - cbz x0, .L3117 - ldrh w22, [x21,2938] + cbz x0, .L3226 + ldrh w22, [x21,2922] mov w0, w22 add w22, w22, 1 bl gc_get_src_ppa_from_index @@ -19666,63 +20207,64 @@ gc_do_copy_back: mov w23, w0 mov w1, 1 mov x0, x20 - strh w22, [x21,2938] + strh w22, [x21,2922] bl sblk_read_page ldr w0, [x20,52] cmp w0, 512 - beq .L3171 + beq .L3280 cmn w0, #1 - bne .L3120 -.L3171: + bne .L3229 +.L3280: adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 - add x0, x0, :lo12:.LC0 - add x1, x1, 720 mov w2, 595 + add x1, x1, 784 + add x0, x0, :lo12:.LC0 bl printk -.L3120: + bl dump_stack +.L3229: ldr x0, [x20,24] ldr w21, [x0,4] mov w0, w21 bl lpa_hash_get_ppa str w0, [x29,144] cmn w0, #1 - bne .L3122 + bne .L3231 mov w0, w21 add x1, x29, 144 mov w2, 0 bl pm_log2phys -.L3122: +.L3231: ldr w22, [x29,144] cmp w22, w23 - bne .L3123 + bne .L3232 add x1, x19, :lo12:.LANCHOR0 add x0, x1, 784 add x1, x1, 2832 -.L3126: +.L3235: ldr w2, [x0,36] cmp w2, w21 - bne .L3124 + bne .L3233 ldrb w2, [x0,2] - tbz x2, 1, .L3124 + tbz x2, 1, .L3233 mov x0, x20 bl buf_free adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 8, .L3117 + tbz x0, 8, .L3226 add x19, x19, :lo12:.LANCHOR0 - adrp x0, .LC267 + adrp x0, .LC268 mov w1, w21 mov w2, w22 - add x0, x0, :lo12:.LC267 - ldrh w3, [x19,2938] + add x0, x0, :lo12:.LC268 + ldrh w3, [x19,2922] bl printk - b .L3117 -.L3124: + b .L3226 +.L3233: add x0, x0, 64 cmp x0, x1 - bne .L3126 + bne .L3235 add x23, x19, :lo12:.LANCHOR0 ldrb w1, [x20,2] str w21, [x20,36] @@ -19737,20 +20279,20 @@ gc_do_copy_back: str w0, [x20,32] adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 8, .L3127 + tbz x0, 8, .L3236 ldr w2, [x29,144] mov w0, w21 str x2, [x29,136] bl lpa_hash_get_ppa mov w3, w0 ldr x2, [x29,136] - adrp x0, .LC268 - ldrh w5, [x23,2938] - add x0, x0, :lo12:.LC268 + adrp x0, .LC269 + ldrh w5, [x23,2922] + add x0, x0, :lo12:.LC269 mov w1, w21 mov w4, w22 bl printk -.L3127: +.L3236: add x19, x19, :lo12:.LANCHOR0 mov x0, x20 bl ftl_gc_write_buf @@ -19759,37 +20301,37 @@ gc_do_copy_back: ldr w0, [x1,60] add w0, w0, 1 str w0, [x1,60] - ldrh w0, [x19,2940] + ldrh w0, [x19,2924] add w0, w0, 1 - strh w0, [x19,2940] - b .L3117 -.L3123: + strh w0, [x19,2924] + b .L3226 +.L3232: adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 8, .L3129 + tbz x0, 8, .L3238 mov w0, w21 add x19, x19, :lo12:.LANCHOR0 bl lpa_hash_get_ppa mov w3, w0 - ldrh w5, [x19,2938] - adrp x0, .LC268 - add x0, x0, :lo12:.LC268 + ldrh w5, [x19,2922] + adrp x0, .LC269 + add x0, x0, :lo12:.LC269 mov w1, w21 mov w2, w22 mov w4, w23 bl printk -.L3129: +.L3238: mov x0, x20 bl buf_free - b .L3117 -.L3118: - ldrb w24, [x21,3273] - add x0, x21, 2912 + b .L3226 +.L3227: + ldrb w24, [x21,3257] + add x0, x21, 2896 add x22, x22, 80 cmp w24, 3 - bne .L3130 - ldrb w1, [x21,3288] - cbz w1, .L3131 + bne .L3239 + ldrb w1, [x21,3272] + cbz w1, .L3240 ldrb w20, [x22,9] ldrh w21, [x0,314] str w24, [x29,136] @@ -19798,8 +20340,8 @@ gc_do_copy_back: sdiv w23, w21, w23 madd w20, w23, w20, w21 uxth w20, w20 - b .L3133 -.L3131: + b .L3242 +.L3240: ldrh w20, [x0,314] adrp x0, .LANCHOR2 ldrb w21, [x22,9] @@ -19816,107 +20358,107 @@ gc_do_copy_back: cmp w25, 1 add w21, w21, w21, lsl 1 uxth w21, w21 - bne .L3134 - b .L3133 -.L3130: + bne .L3243 + b .L3242 +.L3239: ldrb w20, [x22,9] - ldrb w1, [x21,3364] + ldrb w1, [x21,3348] ldrh w21, [x0,314] mov w0, 1 sdiv w23, w21, w20 msub w20, w23, w20, w21 uxth w20, w20 - cbz w1, .L3212 + cbz w1, .L3321 mov w0, 2 -.L3212: +.L3321: str w0, [x29,136] -.L3133: +.L3242: mov w25, 0 add x24, x19, :lo12:.LANCHOR0 adrp x3, .LANCHOR4 -.L3136: +.L3245: ldrb w1, [x22,9] ldr w0, [x29,136] mul w0, w0, w1 cmp w25, w0 - bge .L3169 - ldrh w0, [x24,3290] + bge .L3278 + ldrh w0, [x24,3274] add w26, w21, w25 mul w0, w0, w1 sub w0, w0, #1 cmp w26, w0 - beq .L3169 + beq .L3278 add x0, x3, :lo12:.LANCHOR4 sbfiz x26, x26, 2, 32 - ldr x1, [x0,1160] + ldr x1, [x0,1144] ldr w0, [x1,x26] cmn w0, #1 - bne .L3137 - ldrh w27, [x24,2938] - ldrh w0, [x24,2936] + bne .L3246 + ldrh w27, [x24,2922] + ldrh w0, [x24,2920] str x3, [x29,120] str x1, [x29,128] cmp w0, w27 - bls .L3117 + bls .L3226 mov w0, w27 add w27, w27, 1 bl gc_get_src_ppa_from_index - strh w27, [x24,2938] + strh w27, [x24,2922] ldr x1, [x29,128] ldr x3, [x29,120] str w0, [x1,x26] -.L3137: +.L3246: add w25, w25, 1 uxth w25, w25 - b .L3136 -.L3169: + b .L3245 +.L3278: mov w25, 1 -.L3134: +.L3243: adrp x0, .LANCHOR2 str x0, [x29,120] ldr w1, [x0,#:lo12:.LANCHOR2] - tbz x1, 8, .L3139 - adrp x0, .LANCHOR4+1160 + tbz x1, 8, .L3248 + adrp x0, .LANCHOR4+1144 add x4, x19, :lo12:.LANCHOR0 ubfiz x5, x21, 2, 16 mov w1, w23 mov w2, w25 mov w3, w20 - ldr x6, [x0,#:lo12:.LANCHOR4+1160] - adrp x0, .LC269 - ldrh w4, [x4,3226] - add x0, x0, :lo12:.LC269 + ldr x6, [x0,#:lo12:.LANCHOR4+1144] + adrp x0, .LC270 + ldrh w4, [x4,3210] + add x0, x0, :lo12:.LC270 ldr w5, [x6,x5] mov w6, w21 bl printk -.L3139: +.L3248: adrp x0, .LC0 mov w27, 0 add x0, x0, :lo12:.LC0 str x0, [x29,112] adrp x0, .LANCHOR3 add x0, x0, :lo12:.LANCHOR3 - add x0, x0, 720 + add x0, x0, 784 str x0, [x29,104] -.L3140: +.L3249: ldrb w0, [x22,9] ldr w1, [x29,136] mul w0, w1, w0 cmp w27, w0 - bge .L3216 + bge .L3325 add w26, w21, w27 sxtw x0, w26 str x0, [x29,128] add x0, x19, :lo12:.LANCHOR0 ldr x1, [x29,128] - ldr x0, [x0,3280] + ldr x0, [x0,3264] ldrb w0, [x0,x1] cmp w0, 255 - bne .L3141 + bne .L3250 mov w0, 0 bl buf_alloc mov x24, x0 - cbnz x0, .L3142 + cbnz x0, .L3251 bl sblk_wait_write_queue_completed bl ftl_write_completed bl gc_write_completed @@ -19924,39 +20466,39 @@ gc_do_copy_back: mov w0, w24 bl buf_alloc mov x24, x0 - cbz x0, .L3117 -.L3142: + cbz x0, .L3226 +.L3251: add x28, x19, :lo12:.LANCHOR0 ldr x2, [x29,128] ldrb w1, [x24,1] - ldr x0, [x28,3280] + ldr x0, [x28,3264] strb w1, [x0,x2] strh w26, [x24,48] - ldrb w0, [x28,2919] + ldrb w0, [x28,2903] strb w25, [x24,61] add w0, w0, 1 - strb w0, [x28,2919] + strb w0, [x28,2903] ldrb w1, [x22,9] - ldrh w0, [x28,3290] + ldrh w0, [x28,3274] mul w0, w0, w1 sub w0, w0, #1 cmp w26, w0 adrp x26, .LANCHOR4 - bne .L3143 + bne .L3252 add x26, x26, :lo12:.LANCHOR4 mov w1, -1 - ldr x0, [x26,1152] + ldr x0, [x26,1136] str w1, [x0,x2,lsl 2] - ldrh w0, [x28,3290] - ldrb w2, [x28,3292] - ldr x1, [x26,1152] + ldrh w0, [x28,3274] + ldrb w2, [x28,3276] + ldr x1, [x26,1136] mul w2, w0, w2 ldr x0, [x24,8] lsl w2, w2, 2 bl ftl_memcpy - ldrh w0, [x28,3290] - ldrb w2, [x28,3292] - ldr x1, [x26,1160] + ldrh w0, [x28,3274] + ldrb w2, [x28,3276] + ldr x1, [x26,1144] mul w2, w0, w2 ldr x0, [x24,8] add x0, x0, x2, sxtw 2 @@ -19971,106 +20513,107 @@ gc_do_copy_back: mov w0, 15555 movk w0, 0xf55f, lsl 16 str w0, [x1] - ldrh w0, [x28,3290] - ldrb w1, [x28,3292] + ldrh w0, [x28,3274] + ldrb w1, [x28,3276] ldr x26, [x24,24] mul w1, w0, w1 ldr x0, [x24,8] lsl w1, w1, 2 bl js_hash str w0, [x26,4] - ldr x1, [x28,88] + ldr x1, [x28,608] ldr x0, [x24,24] ldr w1, [x1,132] - b .L3213 -.L3143: + b .L3322 +.L3252: ldr x0, [x29,128] mov w1, 1 lsl x28, x0, 2 add x0, x26, :lo12:.LANCHOR4 - ldr x0, [x0,1160] + ldr x0, [x0,1144] ldr w0, [x0,x28] str w0, [x24,40] mov x0, x24 bl sblk_read_page ldr w0, [x24,52] cmp w0, 512 - beq .L3144 + beq .L3253 cmn w0, #1 - bne .L3145 -.L3144: + bne .L3254 +.L3253: add x4, x19, :lo12:.LANCHOR0 mov w2, 21 mov w1, 1 - ldrh w0, [x4,3356] + ldrh w0, [x4,3340] sub w2, w2, w0 lsl w2, w1, w2 ldr w1, [x24,40] sub w2, w2, #1 lsr w0, w1, w0 - ldrb w1, [x4,3354] + ldrb w1, [x4,3338] and w0, w2, w0 udiv w0, w0, w1 mov x1, 0 bl ftl_sblk_dump ldr w0, [x24,52] cmp w0, 512 - beq .L3172 + beq .L3281 cmn w0, #1 - bne .L3145 -.L3172: + bne .L3254 +.L3281: ldr x0, [x24,24] mov w1, -1 str w1, [x0,4] -.L3145: +.L3254: ldr w0, [x24,52] cmp w0, 512 - beq .L3173 + beq .L3282 cmn w0, #1 - bne .L3148 -.L3173: - ldr x0, [x29,112] - mov w2, 710 + bne .L3257 +.L3282: ldr x1, [x29,104] + mov w2, 710 + ldr x0, [x29,112] bl printk -.L3148: + bl dump_stack +.L3257: ldr x1, [x24,24] add x0, x19, :lo12:.LANCHOR0 ldr w2, [x1,4] ldr w0, [x0,2840] cmp w2, w0 - bcc .L3150 + bcc .L3259 mov w0, -1 str w0, [x1,4] -.L3150: +.L3259: ldr x0, [x24,24] add x26, x26, :lo12:.LANCHOR4 ldr w1, [x0,4] - ldr x0, [x26,1152] + ldr x0, [x26,1136] str w1, [x0,x28] ldr x0, [x24,24] ldr w1, [x24,40] -.L3213: +.L3322: str w1, [x0,8] -.L3141: +.L3250: add x3, x19, :lo12:.LANCHOR0 ldr x2, [x29,128] add x1, x3, 784 sxtw x5, w27 - ldr x0, [x3,3280] + ldr x0, [x3,3264] ldrb w4, [x0,x2] add x0, x29, 144 mov w2, 2 add x1, x1, x4, lsl 6 str x1, [x0,w27,sxtw 3] - ldrb w0, [x3,3273] + ldrb w0, [x3,3257] strh w2, [x1,50] cmp w0, 3 strb w25, [x1,61] adrp x2, .LANCHOR4 - bne .L3151 + bne .L3260 udiv w0, w27, w0 - ldrh w3, [x3,3366] + ldrh w3, [x3,3350] add x2, x2, :lo12:.LANCHOR4 add w4, w0, w20 add x4, x22, x4, sxtw 1 @@ -20081,54 +20624,54 @@ gc_do_copy_back: orr w3, w3, w23 sub w0, w27, w0 str w3, [x1,40] - ldr x1, [x2,1168] + ldr x1, [x2,1152] uxth w0, w0 add w0, w0, 1 orr w0, w3, w0, lsl 24 str w0, [x1,x4,lsl 2] - b .L3152 -.L3151: + b .L3261 +.L3260: cmp w0, 2 - bne .L3153 - ldrb w6, [x3,3364] + bne .L3262 + ldrb w6, [x3,3348] add x1, x1, 32 - ldrh w0, [x3,3366] - cbnz w6, .L3154 + ldrh w0, [x3,3350] + cbnz w6, .L3263 add w3, w27, w20 add x3, x22, x3, sxtw 1 ldrh w3, [x3,16] madd w0, w3, w0, w23 - b .L3215 -.L3154: + b .L3324 +.L3263: add w3, w20, w27, lsr 1 add x3, x22, x3, sxtw 1 ldrh w3, [x3,16] madd w0, w3, w0, w23 and w3, w27, 1 add w0, w0, w3 -.L3215: +.L3324: orr w0, w0, 33554432 str w0, [x1,8] -.L3153: +.L3262: add x0, x19, :lo12:.LANCHOR0 add x2, x2, :lo12:.LANCHOR4 add x0, x0, 784 add x0, x0, x4, lsl 6 ldr w3, [x0,40] ldrh w1, [x0,48] - ldr x0, [x2,1168] + ldr x0, [x2,1152] str w3, [x0,x1,lsl 2] -.L3152: +.L3261: ldr x0, [x29,120] ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 8, .L3155 + tbz x0, 8, .L3264 add x0, x29, 144 ldr x1, [x29,128] mov w2, w25 ldr x5, [x0,x5,lsl 3] add x0, x19, :lo12:.LANCHOR0 - ldrb w3, [x0,2918] - ldr x0, [x0,3280] + ldrb w3, [x0,2902] + ldr x0, [x0,3264] ldrh w6, [x5,48] ldrb w7, [x5,1] ldrb w4, [x0,x1] @@ -20140,57 +20683,57 @@ gc_do_copy_back: ldr x0, [x5,24] ldr w0, [x0,4] str w0, [sp,8] - adrp x0, .LC270 - add x0, x0, :lo12:.LC270 + adrp x0, .LC271 + add x0, x0, :lo12:.LC271 ldr w5, [x5,40] bl printk -.L3155: +.L3264: add w8, w27, 1 uxth w27, w8 - b .L3140 -.L3216: + b .L3249 +.L3325: add x2, x19, :lo12:.LANCHOR0 mov w1, 0 - ldrb w0, [x2,3273] + ldrb w0, [x2,3257] cmp w0, 3 add x0, x29, 144 - bne .L3199 - ldrb w1, [x2,3288] - cbz w1, .L3158 -.L3161: + bne .L3308 + ldrb w1, [x2,3272] + cbz w1, .L3267 +.L3270: ldr x1, [x29,144] strb wzr, [x1,60] - b .L3159 -.L3158: + b .L3268 +.L3267: cmp w25, 1 mov w2, 9 - beq .L3214 + beq .L3323 cmp w25, 2 - bne .L3161 + bne .L3270 mov w2, 13 -.L3214: +.L3323: ldr x1, [x29,144] strb w2, [x1,60] -.L3159: +.L3268: ldrb w2, [x22,9] add x1, x0, 24 bl sblk_xlc_prog_pages - b .L3162 -.L3199: + b .L3271 +.L3308: ldrb w2, [x22,9] ldr w3, [x29,136] mul w2, w2, w3 sub w2, w2, #1 cmp w1, w2 - bge .L3217 + bge .L3326 ldr x2, [x0,w1,sxtw 3] add w1, w1, 1 ldr x3, [x0,w1,sxtw 3] uxth w1, w1 ldrb w3, [x3,1] strb w3, [x2] - b .L3199 -.L3217: + b .L3308 +.L3326: ldr x0, [x0,w2,sxtw 3] mov w1, -1 strb w1, [x0] @@ -20198,39 +20741,39 @@ gc_do_copy_back: ldr x0, [x29,144] mul w1, w3, w1 bl sblk_prog_page -.L3162: +.L3271: add x1, x19, :lo12:.LANCHOR0 ldrb w2, [x22,9] - ldrb w3, [x1,3288] - cbz w3, .L3164 + ldrb w3, [x1,3272] + cbz w3, .L3273 add w0, w2, w2, lsl 1 and w2, w0, 1023 - b .L3165 -.L3164: - ldrb w1, [x1,3364] + b .L3274 +.L3273: + ldrb w1, [x1,3348] ubfiz w0, w2, 1, 8 cmp w1, wzr csel w2, w0, w2, ne -.L3165: +.L3274: add x19, x19, :lo12:.LANCHOR0 ldr x1, [x19,2864] ldr w0, [x1,52] add w0, w0, w2 str w0, [x1,52] - ldrh w1, [x19,3226] + ldrh w1, [x19,3210] add w0, w2, w1 - ldrh w1, [x19,3290] + ldrh w1, [x19,3274] uxth w0, w0 - strh w0, [x19,3226] + strh w0, [x19,3210] ldrb w2, [x22,9] mul w1, w1, w2 cmp w0, w1 - blt .L3166 - ldr x0, [x19,88] + blt .L3275 + ldr x0, [x19,608] strh wzr, [x0,86] -.L3166: +.L3275: bl gc_write_completed -.L3117: +.L3226: sub sp, x29, #16 ldp x19, x20, [sp,32] ldp x21, x22, [sp,48] @@ -20259,67 +20802,67 @@ zftl_do_gc: ldrh w20, [x1,2844] cmp w26, 1 ldrh w0, [x1,2848] - ldr x24, [x1,88] + ldr x24, [x1,608] add w20, w0, w20 ldrh w22, [x1,2846] uxth w20, w20 - bne .L3219 + bne .L3328 adrp x21, .LANCHOR7 add x1, x21, :lo12:.LANCHOR7 - ldr w23, [x1,-24] - cbnz w23, .L3220 - ldr w1, [x1,-20] - cbz w1, .L3219 -.L3220: + ldr w23, [x1,-80] + cbnz w23, .L3329 + ldr w1, [x1,-76] + cbz w1, .L3328 +.L3329: add x1, x19, :lo12:.LANCHOR0 - ldrh w2, [x1,3322] + ldrh w2, [x1,3306] cmp w20, w2, lsr 2 - bls .L3219 + bls .L3328 ldrh w1, [x1,2872] cmp w1, w20 - bcs .L3219 + bcs .L3328 add w23, w23, 20 bl timer_get_time cmp w23, w0 - bcs .L3221 + bcs .L3330 add x0, x21, :lo12:.LANCHOR7 - str wzr, [x0,-24] -.L3221: + str wzr, [x0,-80] +.L3330: add x19, x21, :lo12:.LANCHOR7 - ldr w20, [x19,-20] + ldr w20, [x19,-76] bl timer_get_time add w20, w20, 20 cmp w20, w0 - bcs .L3402 - str wzr, [x19,-20] - b .L3402 -.L3219: + bcs .L3511 + str wzr, [x19,-76] + b .L3511 +.L3328: adrp x23, .LANCHOR4 add x1, x23, :lo12:.LANCHOR4 - ldrb w2, [x1,1146] + ldrb w2, [x1,1130] mov w1, 16 cmp w2, 6 - bhi .L3375 - adrp x1, .L3225 - add x1, x1, :lo12:.L3225 + bhi .L3484 + adrp x1, .L3334 + add x1, x1, :lo12:.L3334 ldrh w1, [x1,w2,uxtw #1] - adr x2, .Lrtx3225 + adr x2, .Lrtx3334 add x1, x2, w1, sxth #2 br x1 -.Lrtx3225: +.Lrtx3334: .section .rodata .align 0 .align 2 -.L3225: - .2byte (.L3224 - .Lrtx3225) / 4 - .2byte (.L3226 - .Lrtx3225) / 4 - .2byte (.L3227 - .Lrtx3225) / 4 - .2byte (.L3228 - .Lrtx3225) / 4 - .2byte (.L3229 - .Lrtx3225) / 4 - .2byte (.L3333 - .Lrtx3225) / 4 - .2byte (.L3231 - .Lrtx3225) / 4 +.L3334: + .2byte (.L3333 - .Lrtx3334) / 4 + .2byte (.L3335 - .Lrtx3334) / 4 + .2byte (.L3336 - .Lrtx3334) / 4 + .2byte (.L3337 - .Lrtx3334) / 4 + .2byte (.L3338 - .Lrtx3334) / 4 + .2byte (.L3442 - .Lrtx3334) / 4 + .2byte (.L3340 - .Lrtx3334) / 4 .text -.L3224: +.L3333: add x21, x19, :lo12:.LANCHOR0 add w22, w22, w0 ldrh w1, [x24,80] @@ -20330,405 +20873,405 @@ zftl_do_gc: mov w0, 65535 cmp w1, w0 uxth w25, w25 - beq .L3232 - cbnz w26, .L3233 + beq .L3341 + cbnz w26, .L3342 ldrh w0, [x21,2872] cmp w20, w0, lsl 1 - bge .L3402 -.L3233: + bge .L3511 +.L3342: add x21, x19, :lo12:.LANCHOR0 mov w1, 5 - ldrh w0, [x21,3320] + ldrh w0, [x21,3304] add w0, w0, 1 uxth w0, w0 - strh w0, [x21,3320] + strh w0, [x21,3304] bl zftl_get_gc_node uxth w2, w0 mov w1, 65535 cmp w2, w1 - beq .L3235 + beq .L3344 add x3, x23, :lo12:.LANCHOR4 ubfiz x2, x2, 1, 16 - ldr w1, [x3,1148] + ldr w1, [x3,1132] add w1, w1, 1 - str w1, [x3,1148] - ldr x3, [x21,80] + str w1, [x3,1132] + ldr x3, [x21,600] ldrh w2, [x3,x2] - ldrh w3, [x21,3316] + ldrh w3, [x21,3300] cmp w3, w2 - bcs .L3236 - ldrh w3, [x21,56] + bcs .L3345 + ldrh w3, [x21,576] cmp w1, w3, lsr 4 - bls .L3235 + bls .L3344 ldrh w1, [x21,2874] cmp w1, w2 - bls .L3235 -.L3236: + bls .L3344 +.L3345: add x2, x19, :lo12:.LANCHOR0 mov w1, 0 - ldrb w2, [x2,3289] + ldrb w2, [x2,3273] bl gc_add_sblk - cbz w0, .L3237 + cbz w0, .L3346 add x23, x23, :lo12:.LANCHOR4 mov w0, 1 - str wzr, [x23,1148] - strb w0, [x23,1146] - b .L3402 -.L3235: + str wzr, [x23,1132] + strb w0, [x23,1130] + b .L3511 +.L3344: add x0, x19, :lo12:.LANCHOR0 - strh wzr, [x0,3320] -.L3237: + strh wzr, [x0,3304] +.L3346: cmp w22, 15 mov w21, 2 - bls .L3238 - cbz w25, .L3335 + bls .L3347 + cbz w25, .L3444 add x0, x19, :lo12:.LANCHOR0 mov w21, 1 ldrh w1, [x0,2854] - ldrh w0, [x0,3324] + ldrh w0, [x0,3308] cmp w1, w0 - bls .L3238 -.L3335: + bls .L3347 +.L3444: mov w21, 2 -.L3238: +.L3347: adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 8, .L3239 + tbz x0, 8, .L3348 add x1, x19, :lo12:.LANCHOR0 mov w3, w20 mov w4, w22 - ldr x0, [x1,88] - ldrb w2, [x1,3289] + ldr x0, [x1,608] + ldrb w2, [x1,3273] mov w1, 1848 ldrh w5, [x0,124] ldrh w6, [x0,120] ldrh w7, [x0,122] ldrh w0, [x24,80] str w0, [sp] - adrp x0, .LC271 - add x0, x0, :lo12:.LC271 + adrp x0, .LC272 + add x0, x0, :lo12:.LC272 bl printk -.L3239: +.L3348: add x19, x19, :lo12:.LANCHOR0 mov w1, w21 mov w2, 1 - ldrb w0, [x19,3289] + ldrb w0, [x19,3273] bl gc_search_src_blk cmp w0, wzr - ble .L3240 -.L3241: + ble .L3349 +.L3350: add x23, x23, :lo12:.LANCHOR4 mov w0, 1 - b .L3405 -.L3240: - ldrb w0, [x19,3289] + b .L3514 +.L3349: + ldrb w0, [x19,3273] mov w1, 3 mov w2, 1 bl gc_search_src_blk cmp w0, wzr - bgt .L3241 - b .L3402 -.L3232: + bgt .L3350 + b .L3511 +.L3341: cmp w26, 1 - bne .L3242 + bne .L3351 bl gc_scan_static_data - ldr x0, [x21,88] + ldr x0, [x21,608] ldrh w0, [x0,122] - cbz w0, .L3243 -.L3244: + cbz w0, .L3352 +.L3353: add x19, x19, :lo12:.LANCHOR0 mov w0, 1 add x23, x23, :lo12:.LANCHOR4 - strb w0, [x19,3289] - b .L3405 -.L3243: + strb w0, [x19,3273] + b .L3514 +.L3352: bl gc_static_wearleveling - cbnz w0, .L3244 + cbnz w0, .L3353 bl gc_block_vpn_scan - cbz w22, .L3336 + cbz w22, .L3445 cmp w20, w25 - bcs .L3247 - ldrh w0, [x21,3322] + bcs .L3356 + ldrh w0, [x21,3306] cmp w20, w0, lsl 1 - blt .L3248 -.L3247: + blt .L3357 +.L3356: add x0, x19, :lo12:.LANCHOR0 add w1, w20, w25 - ldrh w2, [x0,3322] + ldrh w2, [x0,3306] cmp w1, w2, lsl 1 - blt .L3248 + blt .L3357 ldrh w1, [x0,2854] - ldrh w0, [x0,3324] + ldrh w0, [x0,3308] cmp w1, w0 - bcc .L3336 -.L3248: + bcc .L3445 +.L3357: add x21, x19, :lo12:.LANCHOR0 add x27, x23, :lo12:.LANCHOR4 mov w28, 1 - ldr w1, [x27,1148] - ldrh w0, [x21,56] + ldr w1, [x27,1132] + ldrh w0, [x21,576] add w1, w1, 1 - strb w28, [x21,3289] - str w1, [x27,1148] + strb w28, [x21,3273] + str w1, [x27,1132] cmp w1, w0, lsr 5 - bls .L3250 + bls .L3359 ldrh w0, [x21,2854] cmp w0, w22 - bls .L3250 + bls .L3359 mov w1, 5 mov w0, 0 bl zftl_get_gc_node uxth w1, w0 mov w0, 65535 cmp w1, w0 - beq .L3336 + beq .L3445 ubfiz x1, x1, 1, 16 - ldr x0, [x21,80] - ldrb w2, [x21,3292] + ldr x0, [x21,600] + ldrb w2, [x21,3276] mov w24, 16 ldrh w0, [x0,x1] - ldrh w1, [x21,3316] + ldrh w1, [x21,3300] mul w1, w1, w2 cmp w0, w1 - bgt .L3246 - str wzr, [x27,1148] + bgt .L3355 + str wzr, [x27,1132] mov w0, w28 mov w1, 2 - b .L3395 -.L3250: + b .L3504 +.L3359: add x0, x19, :lo12:.LANCHOR0 ldrh w2, [x0,2854] - ldrh w1, [x0,3324] + ldrh w1, [x0,3308] cmp w2, w1 - bcc .L3253 + bcc .L3362 mov w0, 1 mov w1, 2 mov w2, w0 - b .L3396 -.L3253: + b .L3505 +.L3362: ldrh w24, [x0,2850] - cbnz w24, .L3254 + cbnz w24, .L3363 ldrh w0, [x0,2852] cmp w0, 8 - bls .L3246 -.L3254: + bls .L3355 +.L3363: mov w0, 1 mov w1, w0 -.L3395: +.L3504: mov w2, 4 -.L3396: +.L3505: bl gc_search_src_blk uxth w0, w0 - cbnz w0, .L3241 - b .L3336 -.L3242: + cbnz w0, .L3350 + b .L3445 +.L3351: ldrh w0, [x21,2872] cmp w0, w20 - bcc .L3402 -.L3336: + bcc .L3511 +.L3445: mov w24, 16 -.L3246: +.L3355: add x21, x19, :lo12:.LANCHOR0 ldr w0, [x21,2884] - cbz w0, .L3255 + cbz w0, .L3364 mov w0, 1 mov w1, 5 - strb w0, [x21,3289] + strb w0, [x21,3273] mov w0, 0 str wzr, [x21,2884] bl zftl_get_gc_node uxth w1, w0 mov w2, 65535 cmp w1, w2 - beq .L3256 + beq .L3365 ubfiz x1, x1, 1, 16 - ldr x2, [x21,80] + ldr x2, [x21,600] ldrh w1, [x2,x1] cmp w1, 8 - bhi .L3256 + bhi .L3365 mov w2, 1 mov w1, 0 str w2, [x21,2884] bl gc_add_sblk - cbnz w0, .L3241 -.L3256: + cbnz w0, .L3350 +.L3365: mov w1, 4 mov w0, 0 bl zftl_get_gc_node uxth w1, w0 mov w2, 65535 cmp w1, w2 - beq .L3257 + beq .L3366 add x3, x19, :lo12:.LANCHOR0 ubfiz x1, x1, 1, 16 - ldr x2, [x3,80] + ldr x2, [x3,600] ldrh w1, [x2,x1] cmp w1, 4 - bhi .L3257 + bhi .L3366 mov w2, 1 mov w1, 0 str w2, [x3,2884] bl gc_add_sblk - cbnz w0, .L3241 -.L3257: + cbnz w0, .L3350 +.L3366: mov w0, 0 - bl zftl_get_gc_node.part.13 + bl zftl_get_gc_node.part.12 uxth w1, w0 mov w2, 65535 cmp w1, w2 - beq .L3255 + beq .L3364 add x2, x19, :lo12:.LANCHOR0 ubfiz x1, x1, 1, 16 - ldr x3, [x2,80] + ldr x3, [x2,600] ldrh w1, [x3,x1] cmp w1, 4 - bhi .L3255 + bhi .L3364 mov w1, 1 str w1, [x2,2884] mov w2, 0 bl gc_add_sblk - cbnz w0, .L3241 -.L3255: + cbnz w0, .L3350 +.L3364: add x21, x19, :lo12:.LANCHOR0 mov w0, 1 - ldr x7, [x21,88] - strb w0, [x21,3289] + ldr x7, [x21,608] + strb w0, [x21,3273] ldrh w5, [x7,124] - cbz w5, .L3258 + cbz w5, .L3367 add x23, x23, :lo12:.LANCHOR4 - strb wzr, [x21,3289] - strb w0, [x23,1146] + strb wzr, [x21,3273] + strb w0, [x23,1130] adrp x0, .LANCHOR2 ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 8, .L3259 + tbz x0, 8, .L3368 ldrh w6, [x7,120] - adrp x0, .LC272 + adrp x0, .LC273 ldrh w7, [x7,122] mov w1, 1946 mov w2, 0 mov w3, w20 mov w4, w22 - add x0, x0, :lo12:.LC272 + add x0, x0, :lo12:.LC273 bl printk - b .L3259 -.L3258: + b .L3368 +.L3367: ldrh w2, [x21,2872] cmp w20, w2 - bcs .L3260 - cbz w22, .L3261 + bcs .L3369 + cbz w22, .L3370 cmp w22, 16 - bls .L3262 + bls .L3371 ldrh w2, [x21,2854] - ldrh w1, [x21,3324] + ldrh w1, [x21,3308] cmp w2, w1 - bhi .L3262 + bhi .L3371 mov w1, w0 mov w2, 4 str x5, [x29,104] bl gc_search_src_blk uxth w0, w0 ldr x5, [x29,104] - cbnz w0, .L3263 - ldrb w0, [x21,3289] - b .L3404 -.L3263: + cbnz w0, .L3372 + ldrb w0, [x21,3273] + b .L3513 +.L3372: mov w1, 5 mov w0, w5 bl zftl_get_gc_node uxth w2, w0 mov w1, 65535 cmp w2, w1 - beq .L3330 + beq .L3439 add x3, x23, :lo12:.LANCHOR4 ubfiz x2, x2, 1, 16 - ldr w1, [x3,1148] + ldr w1, [x3,1132] add w1, w1, 1 - str w1, [x3,1148] - ldr x3, [x21,80] + str w1, [x3,1132] + ldr x3, [x21,600] ldrh w2, [x3,x2] - ldrh w3, [x21,3316] + ldrh w3, [x21,3300] cmp w3, w2 - bcs .L3266 - ldrh w3, [x21,56] + bcs .L3375 + ldrh w3, [x21,576] cmp w1, w3, lsr 4 - bls .L3330 + bls .L3439 ldrh w1, [x21,2874] cmp w1, w2 - bls .L3330 -.L3266: + bls .L3439 +.L3375: add x19, x19, :lo12:.LANCHOR0 mov w1, 0 - ldrb w2, [x19,3289] + ldrb w2, [x19,3273] bl gc_add_sblk mov w0, 1 str w0, [x19,2884] add x0, x23, :lo12:.LANCHOR4 - str wzr, [x0,1148] - b .L3330 -.L3262: + str wzr, [x0,1132] + b .L3439 +.L3371: mov w0, 1 mov w1, 2 mov w2, w0 bl gc_search_src_blk uxth w0, w0 - cbnz w0, .L3330 + cbnz w0, .L3439 add x19, x19, :lo12:.LANCHOR0 -.L3401: - ldrb w0, [x19,3289] +.L3510: + ldrb w0, [x19,3273] mov w1, 3 mov w2, 2 -.L3398: +.L3507: bl gc_search_src_blk uxth w0, w0 - b .L3264 -.L3261: + b .L3373 +.L3370: adrp x0, .LANCHOR2 - strb w22, [x21,3289] + strb w22, [x21,3273] ldr w0, [x0,#:lo12:.LANCHOR2] - tbz x0, 8, .L3268 - adrp x0, .LC272 + tbz x0, 8, .L3377 + adrp x0, .LC273 ldrh w6, [x7,120] ldrh w7, [x7,122] - add x0, x0, :lo12:.LC272 + add x0, x0, :lo12:.LC273 mov w1, 1976 mov w2, w22 mov w3, w20 mov w4, w22 mov w5, w22 bl printk -.L3268: +.L3377: add x19, x19, :lo12:.LANCHOR0 cmp w20, 16 - ldrb w0, [x19,3289] - bls .L3269 -.L3404: + ldrb w0, [x19,3273] + bls .L3378 +.L3513: mov w1, 3 mov w2, 4 - b .L3398 -.L3269: + b .L3507 +.L3378: mov w1, 1 mov w2, w1 bl gc_search_src_blk uxth w0, w0 - cbnz w0, .L3330 - b .L3401 -.L3260: + cbnz w0, .L3439 + b .L3510 +.L3369: cmp w26, 1 mov w1, w24 - bne .L3375 + bne .L3484 cmp w20, w2, lsl 1 - bge .L3270 + bge .L3379 cmp w25, w22, lsr 1 - bcs .L3271 + bcs .L3380 ldrh w2, [x21,2854] - ldrh w0, [x21,3324] + ldrh w0, [x21,3308] cmp w2, w0 - bcs .L3271 - ldrh w0, [x21,3322] + bcs .L3380 + ldrh w0, [x21,3306] lsr w0, w0, 2 strh w0, [x21,2872] - b .L3375 -.L3271: + b .L3484 +.L3380: mov w1, 5 mov w0, 0 bl zftl_get_gc_node @@ -20736,406 +21279,411 @@ zftl_do_gc: mov w1, 65535 mov w27, w21 cmp w21, w1 - bne .L3272 -.L3277: + bne .L3381 +.L3386: cmp w22, 1 - bhi .L3273 - b .L3274 -.L3272: + bhi .L3382 + b .L3383 +.L3381: add x26, x23, :lo12:.LANCHOR4 add x2, x19, :lo12:.LANCHOR0 uxtw x21, w21 - ldr w1, [x26,1148] - ldrh w3, [x2,56] + ldr w1, [x26,1132] + ldrh w3, [x2,576] add w1, w1, 1 - str w1, [x26,1148] + str w1, [x26,1132] cmp w1, w3, lsr 4 - bls .L3275 - ldr x1, [x2,80] - str wzr, [x26,1148] + bls .L3384 + ldr x1, [x2,600] + str wzr, [x26,1132] ldrh w3, [x1,x21,lsl 1] ldrh w1, [x2,2874] cmp w3, w1 - bcs .L3275 + bcs .L3384 mov w1, 0 mov w2, 1 bl gc_add_sblk - cbz w0, .L3275 + cbz w0, .L3384 mov w0, 1 - strb w0, [x26,1146] - b .L3259 -.L3275: + strb w0, [x26,1130] + b .L3368 +.L3384: add x1, x19, :lo12:.LANCHOR0 - ldr x0, [x1,80] + ldr x0, [x1,600] ldrh w2, [x0,x21,lsl 1] - ldrh w0, [x1,3316] + ldrh w0, [x1,3300] cmp w2, w0, lsr 1 - bhi .L3276 + bhi .L3385 mov w0, w27 mov w1, 1 mov w2, 0 bl gc_add_sblk - b .L3330 -.L3276: + b .L3439 +.L3385: ldrh w3, [x1,2850] ldrh w0, [x1,2852] add w0, w3, w0 - ldrh w3, [x1,3322] + ldrh w3, [x1,3306] cmp w0, w3, lsl 1 - ble .L3277 + ble .L3386 ldrh w0, [x1,2874] cmp w0, w2 - bcc .L3274 - b .L3277 -.L3273: + bcc .L3383 + b .L3386 +.L3382: add x21, x19, :lo12:.LANCHOR0 mov w0, 1 cmp w22, 16 - strb w0, [x21,3289] - bls .L3278 + strb w0, [x21,3273] + bls .L3387 ldrh w2, [x21,2854] - ldrh w1, [x21,3324] + ldrh w1, [x21,3308] cmp w2, w1 - bhi .L3278 + bhi .L3387 mov w1, w0 mov w2, 4 bl gc_search_src_blk uxth w0, w0 - cbnz w0, .L3279 - ldrb w0, [x21,3289] + cbnz w0, .L3388 + ldrb w0, [x21,3273] mov w1, 3 mov w2, 4 - b .L3397 -.L3278: + b .L3506 +.L3387: mov w0, 1 mov w1, 2 mov w2, w0 bl gc_search_src_blk uxth w0, w0 - cbnz w0, .L3279 + cbnz w0, .L3388 add x0, x19, :lo12:.LANCHOR0 mov w1, 3 mov w2, 2 - ldrb w0, [x0,3289] -.L3397: + ldrb w0, [x0,3273] +.L3506: bl gc_search_src_blk uxth w0, w0 -.L3279: +.L3388: add x19, x19, :lo12:.LANCHOR0 cmp w20, w25, lsr 1 - ldrh w1, [x19,3322] - bls .L3399 + ldrh w1, [x19,3306] + bls .L3508 lsr w1, w1, 2 - b .L3400 -.L3274: + b .L3509 +.L3383: cmp w20, w25 add x19, x19, :lo12:.LANCHOR0 - bcs .L3281 + bcs .L3390 mov w0, 4 - strb wzr, [x19,3289] - bl zftl_get_gc_node.part.13 + strb wzr, [x19,3273] + bl zftl_get_gc_node.part.12 uxth w0, w0 mov w1, 65535 cmp w0, w1 - beq .L3281 + beq .L3390 ubfiz x0, x0, 1, 16 - ldr x1, [x19,80] - ldrb w2, [x19,3292] + ldr x1, [x19,600] + ldrb w2, [x19,3276] ldrh w1, [x1,x0] - ldrh w0, [x19,3316] + ldrh w0, [x19,3300] mul w0, w0, w2 cmp w1, w0, lsr 1 - bgt .L3281 + bgt .L3390 mov w1, 3 mov w0, 0 mov w2, 4 bl gc_search_src_blk uxth w0, w0 - ldrh w1, [x19,3322] -.L3399: + ldrh w1, [x19,3306] +.L3508: lsr w1, w1, 1 -.L3400: +.L3509: strh w1, [x19,2872] - b .L3264 -.L3281: - ldrh w0, [x19,3322] + b .L3373 +.L3390: + ldrh w0, [x19,3306] lsr w0, w0, 2 strh w0, [x19,2872] - b .L3259 -.L3270: - ldrh w0, [x21,3322] + b .L3368 +.L3379: + ldrh w0, [x21,3306] mov w24, w5 lsr w0, w0, 2 strh w0, [x21,2872] - b .L3259 -.L3264: + b .L3368 +.L3373: mov w1, w24 - cbz w0, .L3375 -.L3330: + cbz w0, .L3484 +.L3439: add x23, x23, :lo12:.LANCHOR4 mov w0, 1 - strb w0, [x23,1146] - b .L3259 -.L3226: + strb w0, [x23,1130] + b .L3368 +.L3335: add x20, x19, :lo12:.LANCHOR0 mov w0, 65535 - ldrh w1, [x20,2912] + ldrh w1, [x20,2896] cmp w1, w0 - bne .L3284 + bne .L3393 bl gc_get_src_blk - strh w0, [x20,2912] -.L3284: + strh w0, [x20,2896] +.L3393: add x0, x19, :lo12:.LANCHOR0 mov w2, 65535 - add x1, x0, 2912 - ldrh w3, [x0,2912] + add x1, x0, 2896 + ldrh w3, [x0,2896] cmp w3, w2 - beq .L3403 + beq .L3512 ldrh w5, [x1,56] uxtw x4, w3 - ldr x2, [x0,64] + ldr x2, [x0,584] add x2, x2, x4, lsl 2 - cbz w5, .L3287 + cbz w5, .L3396 mov x0, 0 -.L3286: +.L3395: cmp w5, w0, uxth - bls .L3287 + bls .L3396 add x0, x0, 1 add x6, x1, x0, lsl 1 ldrh w6, [x6,56] cmp w6, w3 - bne .L3286 -.L3292: + bne .L3395 +.L3401: add x19, x19, :lo12:.LANCHOR0 mov w0, -1 - strh w0, [x19,2912] - b .L3402 -.L3287: + strh w0, [x19,2896] + b .L3511 +.L3396: ldrb w0, [x2,2] tst w0, 192 - beq .L3343 + beq .L3452 and w0, w0, 224 cmp w0, 224 - bne .L3289 -.L3343: + bne .L3398 +.L3452: add x0, x19, :lo12:.LANCHOR0 - ldr x0, [x0,80] + ldr x0, [x0,600] ldrh w0, [x0,x4,lsl 1] - cbz w0, .L3292 + cbz w0, .L3401 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 mov w2, 2209 - add x1, x1, 736 + add x1, x1, 800 add x0, x0, :lo12:.LC0 bl printk - b .L3292 -.L3289: + bl dump_stack + b .L3401 +.L3398: add x23, x23, :lo12:.LANCHOR4 mov w0, 2 - b .L3405 -.L3227: + b .L3514 +.L3336: bl gc_scan_src_blk cmn w0, #1 - bne .L3293 + bne .L3402 add x23, x23, :lo12:.LANCHOR4 mov w0, 3 -.L3405: - strb w0, [x23,1146] - b .L3402 -.L3293: +.L3514: + strb w0, [x23,1130] + b .L3511 +.L3402: add x1, x19, :lo12:.LANCHOR0 mov w3, 65535 - ldrh w0, [x1,2912] + ldrh w0, [x1,2896] cmp w0, w3 - beq .L3241 - ldrh w3, [x1,2936] + beq .L3350 + ldrh w3, [x1,2920] add x23, x23, :lo12:.LANCHOR4 - cbz w3, .L3294 + cbz w3, .L3403 mov w0, 4 - strh wzr, [x1,2938] - strb w0, [x23,1146] - b .L3402 -.L3294: + strh wzr, [x1,2922] + strb w0, [x23,1130] + b .L3511 +.L3403: ubfiz x0, x0, 1, 16 - ldr x1, [x1,80] + ldr x1, [x1,600] mov w2, 1 - strb w2, [x23,1146] + strb w2, [x23,1130] ldrh w0, [x1,x0] - cbz w0, .L3295 + cbz w0, .L3404 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 - add x0, x0, :lo12:.LC0 - add x1, x1, 736 mov w2, 2237 + add x1, x1, 800 + add x0, x0, :lo12:.LC0 bl printk -.L3295: + bl dump_stack +.L3404: add x20, x19, :lo12:.LANCHOR0 - add x21, x20, 2912 - ldrh w0, [x20,2912] + add x21, x20, 2896 + ldrh w0, [x20,2896] bl ftl_free_sblk - ldr x0, [x20,80] - ldrh w1, [x20,2912] + ldr x0, [x20,600] + ldrh w1, [x20,2896] strh wzr, [x0,x1,lsl 1] ldrh w0, [x21,30] add w0, w0, 1 uxth w0, w0 cmp w0, 8 - bhi .L3296 + bhi .L3405 strh w0, [x21,30] - b .L3292 -.L3296: + b .L3401 +.L3405: strh wzr, [x21,30] bl ftl_flush bl pm_flush bl ftl_ext_info_flush mov w0, 0 bl ftl_info_flush - b .L3292 -.L3228: + b .L3401 +.L3337: add x21, x19, :lo12:.LANCHOR0 -.L3376: +.L3485: bl gc_scan_src_blk_one_page - ldrh w2, [x21,2914] - add x0, x21, 2912 - ldrh w1, [x21,3316] + ldrh w2, [x21,2898] + add x0, x21, 2896 + ldrh w1, [x21,3300] cmp w2, w1 - bcs .L3298 + bcs .L3407 cmp w20, 7 - bls .L3376 - b .L3402 -.L3298: + bls .L3485 + b .L3511 +.L3407: ldrh w3, [x0,24] adrp x2, .LANCHOR2 - cbz w3, .L3299 + cbz w3, .L3408 add x23, x23, :lo12:.LANCHOR4 mov w1, 4 strh wzr, [x0,26] - strb w1, [x23,1146] + strb w1, [x23,1130] ldr w1, [x2,#:lo12:.LANCHOR2] - tbz x1, 8, .L3300 + tbz x1, 8, .L3409 ldrh w1, [x0] - adrp x0, .LC273 - ldr x4, [x21,80] - add x0, x0, :lo12:.LC273 + adrp x0, .LC274 + ldr x4, [x21,600] + add x0, x0, :lo12:.LC274 ubfiz x2, x1, 1, 16 ldrh w2, [x4,x2] bl printk -.L3300: +.L3409: add x0, x19, :lo12:.LANCHOR0 - ldrh w2, [x0,2912] - ldr x1, [x0,80] - ldrh w0, [x0,2936] + ldrh w2, [x0,2896] + ldr x1, [x0,600] + ldrh w0, [x0,2920] ldrh w1, [x1,x2,lsl 1] cmp w1, w0 - beq .L3301 + beq .L3410 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 - add x0, x0, :lo12:.LC0 - add x1, x1, 736 mov w2, 2271 + add x1, x1, 800 + add x0, x0, :lo12:.LC0 bl printk -.L3301: + bl dump_stack +.L3410: add x19, x19, :lo12:.LANCHOR0 - ldrh w1, [x19,2912] - ldr x0, [x19,80] - ldrh w2, [x19,2936] + ldrh w1, [x19,2896] + ldr x0, [x19,600] + ldrh w2, [x19,2920] strh w2, [x0,x1,lsl 1] - b .L3402 -.L3299: + b .L3511 +.L3408: add x23, x23, :lo12:.LANCHOR4 ldrh w1, [x0] mov w0, 1 - ldr x20, [x21,64] + ldr x20, [x21,584] add x20, x20, x1, uxth 2 - strb w0, [x23,1146] + strb w0, [x23,1130] ldr w0, [x2,#:lo12:.LANCHOR2] - tbz x0, 8, .L3302 + tbz x0, 8, .L3411 ldrb w2, [x20,2] - adrp x0, .LC274 - add x0, x0, :lo12:.LC274 + adrp x0, .LC275 + add x0, x0, :lo12:.LC275 ubfx x2, x2, 5, 3 bl printk -.L3302: +.L3411: ldrb w0, [x20,2] tst w0, 192 - beq .L3344 + beq .L3453 and w0, w0, 224 cmp w0, 224 - bne .L3303 -.L3344: + bne .L3412 +.L3453: adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 - add x0, x0, :lo12:.LC0 - add x1, x1, 736 mov w2, 2281 + add x1, x1, 800 + add x0, x0, :lo12:.LC0 bl printk -.L3303: + bl dump_stack +.L3412: add x19, x19, :lo12:.LANCHOR0 - add x20, x19, 2912 - ldrh w0, [x19,2912] + add x20, x19, 2896 + ldrh w0, [x19,2896] bl ftl_free_sblk mov w0, -1 - strh w0, [x19,2912] + strh w0, [x19,2896] ldrh w0, [x20,30] add w0, w0, 1 uxth w0, w0 cmp w0, 8 - bhi .L3305 + bhi .L3414 strh w0, [x20,30] - b .L3402 -.L3305: + b .L3511 +.L3414: strh wzr, [x20,30] - b .L3406 -.L3229: - cbnz w26, .L3306 + b .L3515 +.L3338: + cbnz w26, .L3415 add x0, x19, :lo12:.LANCHOR0 ldrh w0, [x0,2872] cmp w0, w20 - bcc .L3402 -.L3306: + bcc .L3511 +.L3415: ldrh w1, [x24,80] mov w0, 65535 cmp w1, w0 - bne .L3307 + bne .L3416 add x22, x19, :lo12:.LANCHOR0 - ldrb w21, [x22,3289] + ldrb w21, [x22,3273] cmp w21, 1 - bne .L3307 + bne .L3416 bl ftl_flush - ldrh w0, [x22,3230] - cbz w0, .L3308 + ldrh w0, [x22,3214] + cbz w0, .L3417 mov w0, w21 -.L3308: +.L3417: mov w1, 5 bl zftl_gc_get_free_sblk uxth w20, w0 mov w0, 65535 cmp w20, w0 - beq .L3310 + beq .L3419 add x0, x19, :lo12:.LANCHOR0 - ldr x21, [x0,64] + ldr x21, [x0,584] add x21, x21, x20, uxth 2 ldrb w0, [x21,2] tst w0, 224 - beq .L3311 + beq .L3420 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 - add x0, x0, :lo12:.LC0 - add x1, x1, 736 mov w2, 2310 + add x1, x1, 800 + add x0, x0, :lo12:.LC0 bl printk -.L3311: + bl dump_stack +.L3420: ldrb w0, [x21,2] mov w1, 5 bfi w0, w1, 5, 3 orr w0, w0, 16 strb w0, [x21,2] -.L3331: +.L3440: mov w0, w20 mov w1, 1 add x19, x19, :lo12:.LANCHOR0 @@ -21147,53 +21695,53 @@ zftl_do_gc: mov w0, w20 bl ftl_get_blk_list_in_sblk uxtb w0, w0 - ldrh w1, [x19,3316] + ldrh w1, [x19,3300] strb w0, [x24,89] - ldrb w2, [x19,3292] + ldrb w2, [x19,3276] mul w0, w0, w1 strh w0, [x24,86] mov w1, 255 - ldrh w0, [x19,3290] + ldrh w0, [x19,3274] strh w20, [x24,80] strh wzr, [x24,82] mul w2, w0, w2 - ldr x0, [x23,1152] + ldr x0, [x23,1136] strb wzr, [x24,85] lsl w2, w2, 2 strh wzr, [x24,90] bl ftl_memset - ldrh w0, [x19,3290] + ldrh w0, [x19,3274] mov w1, 255 - ldrb w2, [x19,3292] + ldrb w2, [x19,3276] mul w2, w0, w2 - ldr x0, [x23,1160] + ldr x0, [x23,1144] lsl w2, w2, 2 bl ftl_memset - ldrh w3, [x19,3290] + ldrh w3, [x19,3274] mov w1, 255 - ldrb w2, [x19,3292] - ldr x0, [x19,3280] + ldrb w2, [x19,3276] + ldr x0, [x19,3264] mul w2, w3, w2 bl ftl_memset - ldr x0, [x19,88] + ldr x0, [x19,608] mov w1, -1 str w20, [x0,132] strh w1, [x0,128] strh w1, [x0,130] bl pm_flush bl ftl_ext_info_flush - strh wzr, [x19,2968] + strh wzr, [x19,2952] ldr x0, [x19,2864] strh w20, [x0,126] mov w0, -1 - str w0, [x19,3236] + str w0, [x19,3220] mov w0, 0 - strh wzr, [x19,3226] - strh wzr, [x19,3228] - strh wzr, [x19,3232] + strh wzr, [x19,3210] + strh wzr, [x19,3212] + strh wzr, [x19,3216] bl ftl_info_flush - b .L3402 -.L3307: + b .L3511 +.L3416: cmp w26, 1 mov w21, 4 csinc w21, w21, wzr, eq @@ -21201,105 +21749,107 @@ zftl_do_gc: add w0, w21, 4 add x20, x19, :lo12:.LANCHOR0 csel w21, w0, w21, ls -.L3314: +.L3423: sub w21, w21, #1 uxtb w21, w21 cmp w21, 255 - beq .L3402 + beq .L3511 bl gc_do_copy_back - ldrb w0, [x20,3289] - cbnz w0, .L3315 + ldrb w0, [x20,3273] + cbnz w0, .L3424 ldrb w0, [x20,2834] cmp w0, 3 - bhi .L3316 + bhi .L3425 bl ftl_write_commit -.L3316: - ldrh w1, [x20,2938] - ldrh w0, [x20,2936] +.L3425: + ldrh w1, [x20,2922] + ldrh w0, [x20,2920] cmp w1, w0 - bcc .L3314 + bcc .L3423 add x23, x23, :lo12:.LANCHOR4 mov w0, 1 - strb w0, [x23,1146] + strb w0, [x23,1130] bl ftl_write_commit bl ftl_flush - ldrh w1, [x20,2912] - ldr x0, [x20,80] + ldrh w1, [x20,2896] + ldr x0, [x20,600] ldrh w0, [x0,x1,lsl 1] - cbz w0, .L3318 + cbz w0, .L3427 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 - add x0, x0, :lo12:.LC0 - add x1, x1, 736 mov w2, 2385 + add x1, x1, 800 + add x0, x0, :lo12:.LC0 bl printk -.L3318: + bl dump_stack +.L3427: add x1, x19, :lo12:.LANCHOR0 - ldrh w0, [x1,2912] - ldr x3, [x1,80] + ldrh w0, [x1,2896] + ldr x3, [x1,600] ubfiz x2, x0, 1, 16 ldrh w4, [x3,x2] - cbnz w4, .L3319 + cbnz w4, .L3428 strh w4, [x3,x2] - ldrh w0, [x1,2912] + ldrh w0, [x1,2896] bl ftl_free_sblk - b .L3292 -.L3319: + b .L3401 +.L3428: mov w1, 0 mov w2, 1 bl gc_add_sblk - b .L3292 -.L3315: - add x0, x20, 2912 + b .L3401 +.L3424: + add x0, x20, 2896 ldrh w1, [x0,320] - cbz w1, .L3320 + cbz w1, .L3429 strh wzr, [x0,320] ldr w0, [x0,324] cmn w0, #1 - beq .L3321 + beq .L3430 bl ftl_mask_bad_block -.L3321: +.L3430: add x20, x19, :lo12:.LANCHOR0 - ldr x0, [x20,88] - str wzr, [x20,3236] - strh wzr, [x20,2968] + ldr x0, [x20,608] + str wzr, [x20,3220] + strh wzr, [x20,2952] ldrh w0, [x0,80] bl ftl_free_sblk - ldr x1, [x20,88] + ldr x1, [x20,608] mov w0, -1 ldr x2, [x20,2864] strh w0, [x1,80] strh w0, [x2,126] strh w0, [x1,130] - ldr x0, [x20,2920] - cbz x0, .L3322 + ldr x0, [x20,2904] + cbz x0, .L3431 bl buf_free -.L3322: +.L3431: add x19, x19, :lo12:.LANCHOR0 add x23, x23, :lo12:.LANCHOR4 - str xzr, [x19,2920] + str xzr, [x19,2904] bl flt_sys_flush adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 mov w2, 2421 - add x1, x1, 736 + add x1, x1, 800 add x0, x0, :lo12:.LC0 - strb wzr, [x23,1146] + strb wzr, [x23,1130] bl printk - b .L3402 -.L3320: + bl dump_stack + b .L3511 +.L3429: ldrh w1, [x24,86] cmp w1, 1 - bls .L3323 + bls .L3432 ldrh w2, [x0,26] ldrh w1, [x0,24] cmp w2, w1 - bcc .L3314 + bcc .L3423 add x23, x23, :lo12:.LANCHOR4 mov w1, 1 - strb w1, [x23,1146] + strb w1, [x23,1130] ldrh w1, [x0,56] add w2, w1, 1 add x1, x0, x1, sxtw 1 @@ -21308,15 +21858,15 @@ zftl_do_gc: strh w2, [x1,58] mov w1, -1 strh w1, [x0] - b .L3402 -.L3323: + b .L3511 +.L3432: add x23, x23, :lo12:.LANCHOR4 mov w1, 5 ldrh w2, [x0,26] - strb w1, [x23,1146] + strb w1, [x23,1130] ldrh w1, [x0,24] cmp w2, w1 - bcc .L3324 + bcc .L3433 ldrh w1, [x0,56] add w2, w1, 1 add x1, x0, x1, sxtw 1 @@ -21325,79 +21875,79 @@ zftl_do_gc: strh w2, [x1,58] mov w1, -1 strh w1, [x0] -.L3324: +.L3433: add x20, x19, :lo12:.LANCHOR0 bl ftl_flush bl sblk_wait_write_queue_completed bl gc_write_completed - ldr x0, [x20,88] + ldr x0, [x20,608] ldrh w1, [x24,80] strh w1, [x0,128] bl pm_flush bl ftl_ext_info_flush - strh wzr, [x20,2928] - ldrb w2, [x20,3273] - ldrh w1, [x20,3316] - strh w1, [x20,2930] + strh wzr, [x20,2912] + ldrb w2, [x20,3257] + ldrh w1, [x20,3300] + strh w1, [x20,2914] cmp w2, 2 - strh w2, [x20,2932] - bne .L3325 + strh w2, [x20,2916] + bne .L3434 lsl w1, w1, 1 - strh w1, [x20,2930] + strh w1, [x20,2914] mov w1, 1 - strh w1, [x20,2932] -.L3325: + strh w1, [x20,2916] +.L3434: add x19, x19, :lo12:.LANCHOR0 - strh wzr, [x19,2934] - b .L3402 -.L3333: + strh wzr, [x19,2918] + b .L3511 +.L3442: mov w21, 0 add x24, x19, :lo12:.LANCHOR0 -.L3230: +.L3339: bl gc_check_data_one_wl - cbz w0, .L3327 + cbz w0, .L3436 add x19, x19, :lo12:.LANCHOR0 add x23, x23, :lo12:.LANCHOR4 - ldr x0, [x19,88] - strh wzr, [x19,2968] + ldr x0, [x19,608] + strh wzr, [x19,2952] ldrh w0, [x0,80] bl ftl_free_sblk - ldr x1, [x19,88] + ldr x1, [x19,608] mov w0, -1 ldr x2, [x19,2864] strh w0, [x1,80] strh w0, [x2,126] strh w0, [x1,130] - ldr x0, [x19,2920] + ldr x0, [x19,2904] bl buf_free - str xzr, [x19,2920] - strb wzr, [x23,1146] -.L3406: + str xzr, [x19,2904] + strb wzr, [x23,1130] +.L3515: bl flt_sys_flush - b .L3402 -.L3327: - ldrh w1, [x24,2928] - ldrh w0, [x24,2930] + b .L3511 +.L3436: + ldrh w1, [x24,2912] + ldrh w0, [x24,2914] cmp w1, w0 - bcc .L3328 + bcc .L3437 add x23, x23, :lo12:.LANCHOR4 mov w0, 6 - strb w0, [x23,1146] - ldr x0, [x24,2920] + strb w0, [x23,1130] + ldr x0, [x24,2904] bl buf_free - str xzr, [x24,2920] - b .L3402 -.L3328: + str xzr, [x24,2904] + b .L3511 +.L3437: cmp w20, 15 - bls .L3230 + bls .L3339 cmp w26, 1 - bne .L3402 + bne .L3511 add w21, w21, 1 uxtb w21, w21 cmp w21, 4 - bls .L3230 - b .L3402 -.L3231: + bls .L3339 + b .L3511 +.L3340: bl gc_update_l2p_map_new mov w20, -1 bl gc_free_src_blk @@ -21410,25 +21960,26 @@ zftl_do_gc: strh w20, [x0,126] mov w0, 0 bl ftl_info_flush -.L3403: +.L3512: add x23, x23, :lo12:.LANCHOR4 - strb wzr, [x23,1146] -.L3402: + strb wzr, [x23,1130] +.L3511: mov w1, 16 - b .L3375 -.L3259: + b .L3484 +.L3368: mov w1, w24 - b .L3375 -.L3310: + b .L3484 +.L3419: adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 mov w2, 2316 - add x1, x1, 736 + add x1, x1, 800 add x0, x0, :lo12:.LC0 bl printk - b .L3331 -.L3375: + bl dump_stack + b .L3440 +.L3484: sub sp, x29, #16 mov w0, w1 ldp x19, x20, [sp,32] @@ -21457,30 +22008,30 @@ zftl_write: stp x21, x22, [sp,32] mov w28, w1 mov x25, x3 - tbz x0, 12, .L3408 - adrp x0, .LC275 + tbz x0, 12, .L3517 + adrp x0, .LC276 mov w1, w19 - add x0, x0, :lo12:.LC275 + add x0, x0, :lo12:.LC276 mov w2, w28 mov w3, w23 bl printk -.L3408: - cbnz w19, .L3409 - adrp x0, .LANCHOR0+4 +.L3517: + cbnz w19, .L3518 + adrp x0, .LANCHOR0+520 mov w19, 24576 - ldr w2, [x0,#:lo12:.LANCHOR0+4] - b .L3410 -.L3409: + ldr w2, [x0,#:lo12:.LANCHOR0+520] + b .L3519 +.L3518: cmp w19, 3 mov w0, -1 - bhi .L3411 + bhi .L3520 lsl w19, w19, 13 mov w2, 8192 -.L3410: +.L3519: add w1, w28, w23 mov w0, -1 cmp w1, w2 - bhi .L3411 + bhi .L3520 add w28, w19, w28 adrp x19, .LANCHOR0 add x0, x19, :lo12:.LANCHOR0 @@ -21493,15 +22044,15 @@ zftl_write: udiv w22, w22, w0 sub w20, w22, w24 add w20, w20, 1 -.L3412: - cbz w20, .L3431 +.L3521: + cbz w20, .L3540 mov w0, 0 bl buf_alloc mov x27, x0 - cbnz x0, .L3413 + cbnz x0, .L3522 bl ftl_write_commit - b .L3412 -.L3413: + b .L3521 +.L3522: strb wzr, [x0,57] add x0, x19, :lo12:.LANCHOR0 cmp w21, w24 @@ -21509,12 +22060,12 @@ zftl_write: cset w0, eq strb w4, [x27,56] cmp w21, w22 - beq .L3415 - cbz w0, .L3416 - b .L3425 -.L3415: - cbz w0, .L3417 -.L3425: + beq .L3524 + cbz w0, .L3525 + b .L3534 +.L3524: + cbz w0, .L3526 +.L3534: udiv w0, w28, w4 msub w0, w0, w4, w28 uxtb w0, w0 @@ -21523,12 +22074,12 @@ zftl_write: uxtb w4, w4 cmp w4, w23 csel w4, w23, w4, hi - b .L3429 -.L3417: + b .L3538 +.L3526: msub w4, w4, w21, w26 -.L3429: +.L3538: strb w4, [x27,56] -.L3416: +.L3525: ldrb w1, [x27,57] sub w20, w20, #1 ldr x0, [x27,8] @@ -21549,11 +22100,11 @@ zftl_write: bl ftl_write_buf ldrb w0, [x27,56] add x25, x25, x0, lsl 9 - b .L3412 -.L3431: + b .L3521 +.L3540: bl ftl_write_commit mov w0, w20 -.L3430: +.L3539: mov w1, 1 bl zftl_do_gc add x1, x19, :lo12:.LANCHOR0 @@ -21561,15 +22112,15 @@ zftl_write: ldrh w0, [x1,2848] add w0, w2, w0 cmp w0, 7 - bgt .L3432 + bgt .L3541 mov w0, 0 - b .L3430 -.L3432: + b .L3539 +.L3541: bl timer_get_time - adrp x1, .LANCHOR7-20 - str w0, [x1,#:lo12:.LANCHOR7-20] + adrp x1, .LANCHOR7-76 + str w0, [x1,#:lo12:.LANCHOR7-76] mov w0, 0 -.L3411: +.L3520: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -21625,25 +22176,25 @@ zftl_discard: stp x23, x24, [sp,48] stp x25, x26, [sp,64] stp x27, x28, [sp,80] - ldr w1, [x1,4] + ldr w1, [x1,520] cmp w2, w1 - bhi .L3436 + bhi .L3545 adrp x23, .LANCHOR7 add w24, w0, 24576 add x0, x23, :lo12:.LANCHOR7 adrp x25, .LANCHOR2 - ldr w1, [x0,-16] + ldr w1, [x0,-72] add w1, w19, w1 - str w1, [x0,-16] + str w1, [x0,-72] ldr w0, [x25,#:lo12:.LANCHOR2] - tbz x0, 12, .L3437 - adrp x0, .LC276 + tbz x0, 12, .L3546 + adrp x0, .LC277 mov w2, w24 - add x0, x0, :lo12:.LC276 + add x0, x0, :lo12:.LC277 mov w3, w19 mov w4, 0 bl printk -.L3437: +.L3546: add x20, x21, :lo12:.LANCHOR0 ldr x0, [x20,2864] ldr w26, [x0,8] @@ -21654,7 +22205,7 @@ zftl_discard: ldrb w22, [x20,2832] udiv w20, w24, w22 msub w27, w20, w22, w24 - cbz w27, .L3438 + cbz w27, .L3547 sub w22, w22, w27 mov w0, w20 cmp w22, w19 @@ -21662,20 +22213,20 @@ zftl_discard: bl lpa_hash_get_ppa str w0, [x29,120] cmn w0, #1 - bne .L3439 + bne .L3548 mov w0, w20 add x1, x29, 120 mov w2, 0 bl pm_log2phys -.L3439: +.L3548: ldr w0, [x29,120] and w28, w22, 65535 cmn w0, #1 - beq .L3441 + beq .L3550 mov w0, 0 bl buf_alloc mov x3, x0 - cbz x0, .L3441 + cbz x0, .L3550 strb w27, [x0,57] ubfiz x27, x27, 9, 25 str w20, [x0,36] @@ -21696,31 +22247,31 @@ zftl_discard: ldr w0, [x1,76] add w0, w0, 1 str w0, [x1,76] -.L3441: +.L3550: add w20, w20, 1 sub w19, w19, w28 -.L3438: - cbz w19, .L3443 +.L3547: + cbz w19, .L3552 bl ftl_flush -.L3443: +.L3552: mov w0, -1 mov w27, 1 str w0, [x29,124] mov w28, 21 -.L3444: +.L3553: add x22, x21, :lo12:.LANCHOR0 ldrb w0, [x22,2832] cmp w19, w0 - bcc .L3483 + bcc .L3592 mov w0, w20 bl lpa_hash_get_ppa str w0, [x29,120] cmn w0, #1 - beq .L3445 + beq .L3554 mov w0, 0 bl buf_alloc mov x3, x0 - cbz x0, .L3447 + cbz x0, .L3556 ldrb w2, [x22,2832] mov w1, 0 str w20, [x0,36] @@ -21735,59 +22286,59 @@ zftl_discard: mov x0, x3 bl ftl_write_buf bl ftl_write_commit - b .L3482 -.L3445: + b .L3591 +.L3554: mov w0, w20 add x1, x29, 120 mov w2, 0 bl pm_log2phys ldr w0, [x29,120] cmn w0, #1 - beq .L3447 + beq .L3556 add x1, x29, 124 mov w2, 1 mov w0, w20 bl pm_log2phys - ldrh w0, [x22,3356] + ldrh w0, [x22,3340] ldr w1, [x29,120] sub w2, w28, w0 lsl w2, w27, w2 lsr w0, w1, w0 sub w2, w2, #1 - ldrb w1, [x22,3354] + ldrb w1, [x22,3338] and w0, w2, w0 udiv w0, w0, w1 bl ftl_vpn_decrement -.L3482: +.L3591: ldr x1, [x22,2864] ldr w0, [x1,76] add w0, w0, 1 str w0, [x1,76] -.L3447: +.L3556: add x0, x21, :lo12:.LANCHOR0 add w20, w20, 1 ldrb w0, [x0,2832] sub w19, w19, w0 - b .L3444 -.L3483: - cbz w19, .L3451 + b .L3553 +.L3592: + cbz w19, .L3560 mov w0, w20 bl lpa_hash_get_ppa str w0, [x29,120] cmn w0, #1 - bne .L3452 + bne .L3561 mov w0, w20 add x1, x29, 120 mov w2, 0 bl pm_log2phys -.L3452: +.L3561: ldr w0, [x29,120] cmn w0, #1 - beq .L3451 + beq .L3560 mov w0, 0 bl buf_alloc mov x22, x0 - cbz x0, .L3451 + cbz x0, .L3560 str w20, [x0,36] strb wzr, [x0,57] strb w19, [x0,56] @@ -21795,15 +22346,16 @@ zftl_discard: add x0, x21, :lo12:.LANCHOR0 ldrb w0, [x0,2832] cmp w19, w0 - bcc .L3454 + bcc .L3563 adrp x1, .LANCHOR3 adrp x0, .LC0 add x1, x1, :lo12:.LANCHOR3 + mov w2, 1235 + add x1, x1, 816 add x0, x0, :lo12:.LC0 - add x1, x1, 752 - mov w2, 1195 bl printk -.L3454: + bl dump_stack +.L3563: ldr x0, [x22,8] mov w1, 0 lsl w2, w19, 9 @@ -21816,28 +22368,28 @@ zftl_discard: ldr w0, [x1,76] add w0, w0, 1 str w0, [x1,76] -.L3451: +.L3560: add x0, x23, :lo12:.LANCHOR7 mov w4, 0 - ldr w1, [x0,-16] + ldr w1, [x0,-72] cmp w1, 8192 - bls .L3436 + bls .L3545 ldr w0, [x25,#:lo12:.LANCHOR2] - tbz x0, 12, .L3455 - adrp x0, .LC276 + tbz x0, 12, .L3564 + adrp x0, .LC277 mov w2, w24 - add x0, x0, :lo12:.LC276 + add x0, x0, :lo12:.LC277 mov w3, w19 bl printk -.L3455: +.L3564: add x23, x23, :lo12:.LANCHOR7 add x21, x21, :lo12:.LANCHOR0 - str wzr, [x23,-16] + str wzr, [x23,-72] bl flt_sys_flush mov w0, 1 mov w4, 0 str w0, [x21,2884] -.L3436: +.L3545: mov w0, w4 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -21863,34 +22415,34 @@ id_block_prog_msb_ff_data: stp x27, x28, [sp,80] adrp x20, .LANCHOR4 uxth w19, w2 - ldr x0, [x0,104] + ldr x0, [x0,624] ldrb w2, [x0,19] add x0, x20, :lo12:.LANCHOR4 - ldrb w0, [x0,1280] - cbnz w0, .L3484 + ldrb w0, [x0,1264] + cbnz w0, .L3593 sub w0, w2, #5 uxtb w0, w0 cmp w0, 2 - bls .L3486 + bls .L3595 cmp w2, 68 - beq .L3486 + beq .L3595 sub w2, w2, #19 and w2, w2, -17 uxtb w2, w2 - cbnz w2, .L3484 -.L3486: - adrp x24, .LC277 + cbnz w2, .L3593 +.L3595: + adrp x24, .LC278 mov w25, w1 - add x24, x24, :lo12:.LC277 + add x24, x24, :lo12:.LC278 add x20, x20, :lo12:.LANCHOR4 mov w27, 65535 -.L3488: +.L3597: add x28, x21, :lo12:.LANCHOR0 - ldr x0, [x28,104] + ldr x0, [x28,624] ldrh w0, [x0,10] cmp w0, w19 - bls .L3484 - add x22, x20, 84 + bls .L3593 + add x22, x20, 68 add w26, w19, w25 mov x0, x24 mov w1, w19 @@ -21899,22 +22451,22 @@ id_block_prog_msb_ff_data: bl printk ldrh w0, [x22,w19,sxtw 1] cmp w0, w27 - bne .L3484 - ldr x0, [x20,1208] + bne .L3593 + ldr x0, [x20,1192] mov w1, 255 mov w2, 16384 add w19, w19, 1 bl ftl_memset uxth w19, w19 - ldr x4, [x28,104] + ldr x4, [x28,624] mov w0, w23 - ldr x2, [x20,1208] + ldr x2, [x20,1192] mov w1, w26 ldrb w4, [x4,9] mov x3, x2 bl flash_prog_page - b .L3488 -.L3484: + b .L3597 +.L3593: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -21927,125 +22479,166 @@ id_block_prog_msb_ff_data: .global write_idblock .type write_idblock, %function write_idblock: - stp x29, x30, [sp, -208]! + stp x29, x30, [sp, -224]! add x29, sp, 0 stp x21, x22, [sp,32] - adrp x21, .LANCHOR0 + adrp x22, .LANCHOR0 stp x19, x20, [sp,16] mov w19, w0 - add x0, x21, :lo12:.LANCHOR0 - stp x25, x26, [sp,64] + add x0, x22, :lo12:.LANCHOR0 stp x23, x24, [sp,48] + stp x25, x26, [sp,64] stp x27, x28, [sp,80] mov x26, x1 - ldr x0, [x0,104] - ldrb w23, [x0,9] + str x2, [x29,128] + ldr x0, [x0,624] + ldrb w21, [x0,9] ldrh w20, [x0,10] mov w0, 59392 movk w0, 0x3, lsl 16 bl ftl_malloc - mov x22, x0 + mov x23, x0 mov w0, -1 - cbz x22, .L3524 + cbz x23, .L3644 add w19, w19, 511 - add x2, x26, 253952 lsr w19, w19, 9 - add x2, x2, 2044 + cmp w19, 8 + bls .L3630 + cmp w19, 500 + bhi .L3644 + b .L3601 +.L3630: + mov w19, 8 +.L3601: + mul w20, w20, w21 + add x3, x26, 253952 + mov w2, 63999 + add x3, x3, 2044 + mov w4, 4097 + uxth w0, w20 + str w0, [x29,152] + udiv w0, w19, w0 + str w0, [x29,120] mov w0, 0 - mov w24, 63999 - mov w3, 4097 -.L3495: - ldr w1, [x2] - cbnz w1, .L3492 +.L3605: + ldr w1, [x3] + cbnz w1, .L3602 ldr w1, [x26,w0,uxtw 2] add w0, w0, 1 - cmp w0, w3 - sub w24, w24, #1 + cmp w0, w4 + sub w2, w2, #1 csel w0, w0, wzr, cc - str w1, [x2],-4 - cmp w24, 4096 - bne .L3495 - b .L3494 -.L3492: - adrp x0, .LC278 - mov w2, w24 - add x0, x0, :lo12:.LC278 - bl printk -.L3494: - add x0, x21, :lo12:.LANCHOR0 - add w1, w19, 128 - mul w20, w20, w23 - mov w25, 0 - ldr x2, [x0,104] - ldrh w0, [x2,10] - ldrb w19, [x2,12] - mov w2, w24 - lsl w0, w0, 2 - sdiv w19, w0, w19 - mov w0, 500 - cmp w19, 500 - csel w19, w19, w0, ls + str w1, [x3],-4 + cmp w2, 4096 + bne .L3605 + b .L3604 +.L3602: adrp x0, .LC279 - cmp w19, w1 add x0, x0, :lo12:.LC279 - csel w19, w19, w1, ls - ldr w1, [x26,w24,uxtw 2] - mov w3, w19 bl printk - str w25, [x29,140] - uxth w0, w20 - str w0, [x29,116] -.L3514: - mov w1, 0 - mov x0, x22 - mov w2, 512 - add x24, x21, :lo12:.LANCHOR0 - bl ftl_memset - ldr x0, [x24,208] - ldr w1, [x29,140] - add x0, x0, x1, uxtw +.L3604: + ldr x1, [x29,128] + adrp x0, .LC280 + add x0, x0, :lo12:.LC280 + mov w2, 4 + mov w3, 5 + mov x21, 0 + mov w28, w21 + bl rknand_print_hex + adrp x0, .LC281 + mov w1, w19 + add x0, x0, :lo12:.LC281 + mov w2, w19 + bl printk +.L3627: + adrp x1, .LANCHOR7 + add x1, x1, :lo12:.LANCHOR7 + ldrb w1, [x1,-102] + cbnz w1, .L3606 + ldr x1, [x29,128] + ldr w2, [x29,152] + ldr w1, [x1,x21,lsl 2] + mul w20, w1, w2 + cbz w21, .L3607 + ldr w2, [x29,120] + cmp w2, 1 + bls .L3607 + sub w0, w21, #1 + ldr x2, [x29,128] + ldr w0, [x2,x0,lsl 2] + add w0, w0, 1 + cmp w1, w0 + bne .L3607 + b .L3608 +.L3606: + add x0, x22, :lo12:.LANCHOR0 + ldr x0, [x0,728] + add x0, x0, x21, uxtw ldrb w20, [x0,32] cmp w20, 255 - beq .L3496 - ldr w0, [x29,116] + beq .L3608 + ldr w0, [x29,152] mul w20, w20, w0 - ldr x0, [x24,104] - ldrb w27, [x0,9] - ldrh w23, [x0,10] - ldrb w0, [x24,200] - udiv w1, w20, w27 - str w0, [x29,112] - mul w23, w27, w23 +.L3607: + mov w2, 512 + mov w1, 0 + mov x0, x23 + bl ftl_memset + add x0, x22, :lo12:.LANCHOR0 + ldr x1, [x0,624] + ldrb w25, [x1,9] + ldrh w24, [x1,10] + ldrb w1, [x0,720] + str w1, [x29,116] + udiv w1, w20, w25 + strb wzr, [x0,720] + mul w24, w25, w24 mov w0, 0 - strb wzr, [x24,200] - uxth w23, w23 + uxth w24, w24 bl flash_erase_block - udiv w0, w20, w23 - msub w0, w0, w23, w20 - str w0, [x29,136] - sub w28, w20, w0 - cmp w20, w28 - bne .L3518 - ldrb w0, [x21,#:lo12:.LANCHOR0] + cmp w19, w24 + mov w2, 1 + bls .L3609 + mov w0, 0 + add w1, w20, w24 + bl flash_erase_block + mov w2, 2 +.L3609: + add x27, x22, :lo12:.LANCHOR0 + ldr x1, [x27,624] + ldrh w0, [x1,10] + ldrb w1, [x1,12] + lsl w0, w0, 2 + mul w0, w0, w2 + sdiv w0, w0, w1 + str w0, [x29,112] + udiv w0, w20, w24 + msub w0, w0, w24, w20 + str w0, [x29,124] + sub w0, w20, w0 + str w0, [x29,156] + cmp w20, w0 + bne .L3634 + ldrb w0, [x27,516] cmp w0, 9 - bne .L3518 + bne .L3634 adrp x0, .LANCHOR4 mov w1, 0 add x0, x0, :lo12:.LANCHOR4 mov w2, 1024 - ldr x3, [x0,1264] - str x3, [x29,128] + ldr x3, [x0,1248] + str x3, [x29,144] mov x0, x3 bl ftl_memset - ldr x3, [x29,128] + ldr x3, [x29,144] mov w0, 18766 movk w0, 0x464e, lsl 16 mov w1, 12 - cmp w27, 8 + cmp w25, 8 str w0, [x3] str w1, [x3,4] str wzr, [x3,12] - ldr x2, [x24,104] + ldr x2, [x27,624] ldrb w0, [x2,29] strb w0, [x3,16] mov w0, 4 @@ -22062,136 +22655,138 @@ write_idblock: strb w0, [x3,21] add x0, x3, 12 bl js_hash - ldr x3, [x29,128] + ldr x3, [x29,144] str w0, [x3,8] sub w0, w19, #4 - str w0, [x29,128] - b .L3497 -.L3518: - str w19, [x29,128] + str w0, [x29,144] + b .L3610 +.L3634: + str w19, [x29,144] mov x3, 0 -.L3497: - str x26, [x29,120] +.L3610: + str x26, [x29,136] mov w24, 0 - add x23, x21, :lo12:.LANCHOR0 -.L3499: - cmp w24, w19 - bcs .L3532 - ldr w0, [x29,136] + add x27, x22, :lo12:.LANCHOR0 +.L3612: + ldr w0, [x29,112] + cmp w24, w0 + bcs .L3653 + ldr w0, [x29,124] adrp x2, .LANCHOR4 add x2, x2, :lo12:.LANCHOR4 add w4, w24, w0 - add x0, x23, 228 + add x0, x27, 4 ubfx x4, x4, 2, 16 add w1, w4, 1 - ldrb w2, [x2,1280] + ldrb w2, [x2,1264] ldrh w0, [x0,w1,sxtw 1] - cbz w2, .L3501 - ldrb w6, [x23,224] + cbz w2, .L3614 + ldrb w6, [x27,1] lsl w0, w1, 1 cmp w6, wzr csel w0, w0, w1, ne -.L3501: - ldrb w1, [x23] +.L3614: + ldrb w1, [x27,516] cmp w1, 9 - beq .L3531 + beq .L3652 sub w0, w0, #1 lsl w0, w0, 2 -.L3531: - str w0, [x29,144] +.L3652: + str w0, [x29,160] mov w0, 61424 - str w0, [x29,148] - add x0, x23, 228 + str w0, [x29,164] + add x0, x27, 4 ldrh w0, [x0,w4,sxtw 1] - cbnz w2, .L3505 + cbnz w2, .L3618 mov w4, w0 - b .L3506 -.L3505: - ldrb w1, [x23,224] + b .L3619 +.L3618: + ldrb w1, [x27,1] lsl w0, w4, 1 cmp w1, wzr csel w4, w0, w4, ne -.L3506: - mul w0, w4, w27 - cbnz x3, .L3507 - ldr x1, [x29,120] - add w0, w0, w28 - add x2, x29, 144 +.L3619: + mul w0, w4, w25 + cbnz x3, .L3620 + ldr w1, [x29,156] + add x2, x29, 160 str x4, [x29,104] - bl fw_flash_page_prog.constprop.30 + add w0, w0, w1 + ldr x1, [x29,136] + bl fw_flash_page_prog.constprop.28 adrp x0, .LANCHOR4 ldr x4, [x29,104] add x0, x0, :lo12:.LANCHOR4 - ldrb w0, [x0,1280] - cbnz w0, .L3508 - udiv w1, w28, w27 + ldrb w0, [x0,1264] + cbnz w0, .L3621 + ldr w1, [x29,156] add w2, w4, 1 + udiv w1, w1, w25 bl id_block_prog_msb_ff_data -.L3508: - ldr x0, [x29,120] +.L3621: + ldr x0, [x29,136] add x0, x0, 2048 - str x0, [x29,120] - b .L3509 -.L3507: - add w0, w0, w28 + str x0, [x29,136] + b .L3622 +.L3620: + ldr w1, [x29,156] + add x2, x29, 160 + add w0, w0, w1 mov x1, x3 - add x2, x29, 144 - bl fw_flash_page_prog.constprop.30 -.L3509: + bl fw_flash_page_prog.constprop.28 +.L3622: add w24, w24, 4 mov x3, 0 uxth w24, w24 - b .L3499 -.L3532: - add x0, x21, :lo12:.LANCHOR0 - ldrb w1, [x29,112] - mov x2, x22 - strb w1, [x0,200] + b .L3612 +.L3653: + add x0, x22, :lo12:.LANCHOR0 + ldrb w1, [x29,116] + mov x2, x23 + strb w1, [x0,720] mov w0, w20 - ldr w1, [x29,128] - bl id_block_read_data.constprop.29 - ldr w0, [x29,128] - lsl w23, w0, 7 - mov x0, 0 -.L3511: - cmp w23, w0 - bls .L3533 - ldr w2, [x22,x0,lsl 2] - add x0, x0, 1 - add x1, x26, x0, lsl 2 - ldr w1, [x1,-4] - cmp w2, w1 - beq .L3511 - mov x0, x22 + ldr w1, [x29,144] + bl id_block_read_data.constprop.27 + ldr w0, [x29,144] + mov x1, 0 + lsl w0, w0, 7 +.L3624: + cmp w0, w1 + bls .L3654 + ldr w3, [x23,x1,lsl 2] + add x1, x1, 1 + add x2, x26, x1, lsl 2 + ldr w2, [x2,-4] + cmp w3, w2 + beq .L3624 + mov x0, x23 mov w1, 0 mov w2, 512 bl ftl_memset mov w1, w20 mov w0, 0 bl flash_erase_block - b .L3496 -.L3533: - add w25, w25, 1 - cmp w25, 5 - bhi .L3515 -.L3496: - ldr w0, [x29,140] - add w0, w0, 1 - str w0, [x29,140] - cmp w0, 4 - bne .L3514 -.L3515: - mov x0, x22 + b .L3608 +.L3654: + add w28, w28, 1 + cmp w28, 5 + bhi .L3628 +.L3608: + add x21, x21, 1 + cmp x21, 4 + bne .L3627 +.L3628: + mov x0, x23 bl ftl_free - cmp w25, wzr + cmp w28, wzr csetm w0, eq -.L3524: +.L3644: 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 + ldp x29, x30, [sp], 224 ret .size write_idblock, .-write_idblock .align 2 @@ -22203,17 +22798,17 @@ CRC_32: mov x5, x0 add x3, x3, :lo12:.LANCHOR2 mov w0, w2 -.L3535: +.L3656: cmp w1, w2 - bls .L3537 + bls .L3658 ldrb w4, [x5,x2] add x6, x3, 2296 add x2, x2, 1 eor w4, w4, w0, lsr 24 ldr w4, [x6,w4,uxtw 2] eor w0, w4, w0, lsl 8 - b .L3535 -.L3537: + b .L3656 +.L3658: ret .size CRC_32, .-CRC_32 .align 2 @@ -22227,319 +22822,322 @@ rknand_sys_storage_ioctl: stp x29, x30, [sp, -48]! add x29, sp, 0 stp x19, x20, [sp,16] - str x21, [sp,32] + stp x21, x22, [sp,32] mov w19, w1 mov x20, x2 - beq .L3540 + beq .L3661 mov w0, 29187 movk w0, 0x4004, lsl 16 cmp w1, w0 - bhi .L3541 + bhi .L3662 mov w0, 25726 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L3542 + beq .L3663 mov w0, 25726 movk w0, 0x4004, lsl 16 cmp w1, w0 - bhi .L3543 + bhi .L3664 mov w0, 25601 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L3544 + beq .L3665 mov w0, 25601 movk w0, 0x4004, lsl 16 cmp w1, w0 - bhi .L3545 + bhi .L3666 mov w0, 25364 movk w0, 0x4004, lsl 16 cmp w1, w0 - bne .L3601 + bne .L3723 bl rknand_dev_flush - b .L3635 -.L3545: + b .L3757 +.L3666: mov w0, 25602 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L3547 + beq .L3668 mov w0, 25603 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L3548 - b .L3601 -.L3543: + beq .L3669 + b .L3723 +.L3664: mov w0, 27688 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L3549 + beq .L3670 mov w0, 27688 movk w0, 0x4004, lsl 16 cmp w1, w0 - bhi .L3550 + bhi .L3671 mov w0, 25727 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L3551 - b .L3601 -.L3550: + beq .L3672 + b .L3723 +.L3671: mov w0, 27698 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L3549 + beq .L3670 mov w0, 27708 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L3549 - b .L3601 -.L3541: + beq .L3670 + b .L3723 +.L3662: mov w0, 29267 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L3552 + beq .L3673 mov w0, 29267 movk w0, 0x4004, lsl 16 cmp w1, w0 - bhi .L3553 + bhi .L3674 mov w0, 29189 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L3554 + beq .L3675 mov w0, 29189 movk w0, 0x4004, lsl 16 cmp w1, w0 - bcc .L3555 + bcc .L3676 mov w0, 29210 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L3556 + beq .L3677 mov w0, 29266 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L3557 - b .L3601 -.L3553: + beq .L3678 + b .L3723 +.L3674: mov w0, 30225 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L3558 + beq .L3679 mov w0, 30225 movk w0, 0x4004, lsl 16 cmp w1, w0 - bhi .L3559 + bhi .L3680 mov w0, 29268 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L3560 + beq .L3681 mov w0, 30224 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L3561 - b .L3601 -.L3559: + beq .L3682 + b .L3723 +.L3680: mov w0, 30226 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L3561 + beq .L3682 mov w0, 30227 movk w0, 0x4004, lsl 16 cmp w1, w0 - beq .L3558 - b .L3601 -.L3555: - adrp x0, .LC280 - add x0, x0, :lo12:.LC280 + beq .L3679 + b .L3723 +.L3676: + adrp x0, .LC282 + add x0, x0, :lo12:.LC282 bl printk mov w0, 4096 bl ftl_malloc mov x19, x0 - cbnz x0, .L3562 -.L3567: + cbnz x0, .L3683 +.L3688: mov x0, -12 - b .L3539 -.L3562: + b .L3660 +.L3683: mov x1, x20 mov x2, 512 bl rk_copy_from_user - cbnz x0, .L3642 - adrp x0, .LC282 + cbnz x0, .L3764 + adrp x0, .LC284 ldr w1, [x19] ldr w2, [x19,4] - add x0, x0, :lo12:.LC282 + add x0, x0, :lo12:.LC284 bl printk ldr w0, [x19,4] str w0, [x29,52] cmp w0, 8 - bhi .L3639 + bhi .L3761 bl rknand_device_lock ldr w1, [x29,52] mov x2, x19 ldr w0, [x19] - bl id_block_read_data.constprop.29 + bl id_block_read_data.constprop.27 bl rknand_device_unlock ldr w2, [x29,52] mov x0, x20 mov x1, x19 ubfiz x2, x2, 9, 23 bl rk_copy_to_user - cbz x0, .L3645 - adrp x0, .LC283 - add x0, x0, :lo12:.LC283 -.L3637: - bl printk -.L3639: - mov x0, x19 -.L3640: - bl ftl_free -.L3638: - mov x0, -14 - b .L3539 -.L3554: - adrp x0, .LC284 - add x0, x0, :lo12:.LC284 - bl printk - mov w0, 4096 - bl ftl_malloc - mov x19, x0 - cbz x0, .L3567 - mov x1, x20 - mov x2, 4096 - bl rk_copy_from_user - cbnz x0, .L3642 - ldr w1, [x19] + cbz x0, .L3767 adrp x0, .LC285 - ldr w2, [x19,4] add x0, x0, :lo12:.LC285 +.L3759: bl printk - adrp x0, .LANCHOR7 - add x21, x0, :lo12:.LANCHOR7 - mov x20, x0 - ldr x1, [x21,-8] - cbnz x1, .L3569 - mov w0, 260096 - bl ftl_malloc - str x0, [x21,-8] - cbz x0, .L3639 -.L3569: - ldr w2, [x19,4] - cmp w2, 4088 - bhi .L3639 - ldr w0, [x19] - mov w1, 55296 - movk w1, 0x3, lsl 16 - cmp w0, w1 - bhi .L3639 - add x20, x20, :lo12:.LANCHOR7 - uxtw x2, w2 - ldr x1, [x20,-8] - add x0, x1, x0, uxtw - add x1, x19, 8 - bl memcpy -.L3645: +.L3761: mov x0, x19 +.L3762: bl ftl_free - b .L3635 -.L3557: +.L3760: + mov x0, -14 + b .L3660 +.L3675: adrp x0, .LC286 add x0, x0, :lo12:.LC286 bl printk mov w0, 4096 bl ftl_malloc mov x19, x0 - cbz x0, .L3567 + cbz x0, .L3688 mov x1, x20 - mov x2, 28 + mov x2, 4096 bl rk_copy_from_user - cbz x0, .L3571 -.L3642: - adrp x0, .LC281 - add x0, x0, :lo12:.LC281 - b .L3637 -.L3571: - ldr w1, [x19] + cbnz x0, .L3764 adrp x0, .LC287 + ldr w1, [x19] ldr w2, [x19,4] add x0, x0, :lo12:.LC287 bl printk - ldr w1, [x19] - mov w0, 59392 - movk w0, 0x3, lsl 16 - cmp w1, w0 - bhi .L3639 - adrp x20, .LANCHOR7 + adrp x0, .LANCHOR7 + add x22, x0, :lo12:.LANCHOR7 + mov x20, x0 + ldr x21, [x22,-64] + cbnz x21, .L3690 + mov w0, 260096 + bl ftl_malloc + str x0, [x22,-64] + cbz x0, .L3761 + mov w1, w21 + mov x2, 260096 + bl memset +.L3690: + ldr w2, [x19,4] + cmp w2, 4088 + bhi .L3761 + ldr w0, [x19] + mov w1, 55296 + movk w1, 0x3, lsl 16 + cmp w0, w1 + bhi .L3761 add x20, x20, :lo12:.LANCHOR7 - ldr x0, [x20,-8] - cbz x0, .L3639 - bl CRC_32 - ldr w1, [x19,4] - cmp w1, w0 - beq .L3574 + uxtw x2, w2 + ldr x1, [x20,-64] + add x0, x1, x0, uxtw + add x1, x19, 8 + bl memcpy +.L3767: mov x0, x19 bl ftl_free - mov x0, -2 - b .L3539 -.L3574: - bl rknand_device_lock - ldr x1, [x20,-8] - add x2, x19, 8 - ldr w0, [x19] - bl write_idblock - bl rknand_device_unlock - ldr x0, [x20,-8] - bl ftl_free - str xzr, [x20,-8] - b .L3645 -.L3556: + b .L3757 +.L3678: adrp x0, .LC288 add x0, x0, :lo12:.LC288 bl printk mov w0, 4096 bl ftl_malloc + mov x19, x0 + cbz x0, .L3688 + mov x1, x20 + mov x2, 28 + bl rk_copy_from_user + cbz x0, .L3693 +.L3764: + adrp x0, .LC283 + add x0, x0, :lo12:.LC283 + b .L3759 +.L3693: + ldr w1, [x19] + adrp x0, .LC289 + ldr w2, [x19,4] + add x0, x0, :lo12:.LC289 + bl printk + ldr w1, [x19] + mov w0, 59392 + movk w0, 0x3, lsl 16 + cmp w1, w0 + bhi .L3761 + adrp x20, .LANCHOR7 + add x20, x20, :lo12:.LANCHOR7 + ldr x0, [x20,-64] + cbz x0, .L3761 + bl CRC_32 + ldr w1, [x19,4] + cmp w1, w0 + beq .L3696 + mov x0, x19 + bl ftl_free + mov x0, -2 + b .L3660 +.L3696: + bl rknand_device_lock + ldr x1, [x20,-64] + add x2, x19, 8 + ldr w0, [x19] + bl write_idblock + bl rknand_device_unlock + ldr x0, [x20,-64] + bl ftl_free + str xzr, [x20,-64] + b .L3767 +.L3677: + adrp x0, .LC290 + add x0, x0, :lo12:.LC290 + bl printk + mov w0, 4096 + bl ftl_malloc mov x21, x0 - cbz x0, .L3567 + cbz x0, .L3688 bl ReadFlashInfo mov x0, x20 mov x1, x21 mov x2, 11 - b .L3647 -.L3540: - adrp x0, .LC289 - add x0, x0, :lo12:.LC289 + b .L3769 +.L3661: + adrp x0, .LC291 + add x0, x0, :lo12:.LC291 bl printk bl nand_blk_add_whole_disk mov w0, 4096 bl ftl_malloc mov x21, x0 - cbz x0, .L3567 + cbz x0, .L3688 mov w1, 0 mov w2, 64 bl ftl_memset mov x0, x20 mov x1, x21 mov x2, 64 - b .L3647 -.L3552: - adrp x0, .LC290 - add x0, x0, :lo12:.LC290 + b .L3769 +.L3673: + adrp x0, .LC292 + add x0, x0, :lo12:.LC292 bl printk - adrp x0, .LANCHOR7 + adrp x0, .LANCHOR7-56 add x1, x29, 52 mov x2, 4 - ldr x0, [x0,#:lo12:.LANCHOR7] + ldr x0, [x0,#:lo12:.LANCHOR7-56] ldr w0, [x0,20] str w0, [x29,52] mov x0, x20 -.L3630: +.L3752: bl rk_copy_to_user - cbnz x0, .L3638 - b .L3635 -.L3560: - adrp x0, .LC291 - add x0, x0, :lo12:.LC291 + cbnz x0, .L3760 + b .L3757 +.L3681: + adrp x0, .LC293 + add x0, x0, :lo12:.LC293 bl printk mov w0, 4096 bl ftl_malloc mov x21, x0 - cbz x0, .L3567 + cbz x0, .L3688 bl rknand_device_lock mov w1, 264 mov w2, 2 @@ -22550,105 +23148,14 @@ rknand_sys_storage_ioctl: mov x0, x20 mov x1, x21 mov x2, 1024 -.L3647: +.L3769: bl rk_copy_to_user mov x19, x0 mov x0, x21 - cbnz x19, .L3640 + cbnz x19, .L3762 bl ftl_free - b .L3566 -.L3544: - adrp x0, .LC292 - add x0, x0, :lo12:.LC292 - bl printk - add x0, x29, 56 - mov x1, x20 - mov x2, 520 - bl rk_copy_from_user - mov x19, x0 - cbz x0, .L3579 -.L3584: - adrp x0, .LC281 - add x0, x0, :lo12:.LC281 - bl printk - b .L3638 -.L3579: - ldr w1, [x29,56] - mov w0, 21060 - movk w0, 0x4b4d, lsl 16 - cmp w1, w0 - beq .L3580 -.L3581: - mov x19, -1 - b .L3566 -.L3580: - ldr w0, [x29,60] - cmp w0, 512 - bhi .L3581 - adrp x1, .LANCHOR7 - add x0, x29, 56 - add x21, x1, :lo12:.LANCHOR7 - mov x2, 512 - ldr x1, [x1,#:lo12:.LANCHOR7] - bl memcpy - ldr w1, [x21,8] - mov w0, 5161 - movk w0, 0xc059, lsl 16 - cmp w1, w0 - beq .L3582 - add x0, x29, 120 - mov w1, w19 - mov x2, 128 - str w19, [x29,64] - str w19, [x29,68] - bl memset -.L3582: - add x0, x29, 312 - mov w1, 0 - mov x2, 256 - str wzr, [x29,72] - bl memset - b .L3644 -.L3547: - adrp x0, .LC293 - add x0, x0, :lo12:.LC293 - bl printk - add x0, x29, 56 - mov x1, x20 - mov x2, 520 - bl rk_copy_from_user - cbnz x0, .L3584 - ldr w1, [x29,56] - mov w0, 21060 - movk w0, 0x4b4d, lsl 16 - cmp w1, w0 - bne .L3581 - ldr w0, [x29,60] - cmp w0, 512 - bhi .L3581 - adrp x2, .LANCHOR7 - mov w1, 5161 - add x0, x2, :lo12:.LANCHOR7 - movk w1, 0xc059, lsl 16 - ldr w3, [x0,8] - mov x0, -2 - cmp w3, w1 - bne .L3539 - ldr w1, [x29,68] - mov x0, -3 - sub w3, w1, #1 - cmp w3, 127 - bhi .L3539 - ldr x19, [x2,#:lo12:.LANCHOR7] - add x0, x19, 64 - str w1, [x19,12] - add x1, x29, 120 - ldr w2, [x29,68] - bl memcpy - mov w0, 1 - mov x1, x19 - b .L3636 -.L3551: + b .L3687 +.L3665: adrp x0, .LC294 add x0, x0, :lo12:.LC294 bl printk @@ -22656,74 +23163,51 @@ rknand_sys_storage_ioctl: mov x1, x20 mov x2, 520 bl rk_copy_from_user - cbnz x0, .L3584 + mov x19, x0 + cbz x0, .L3701 +.L3706: + adrp x0, .LC283 + add x0, x0, :lo12:.LC283 + bl printk + b .L3760 +.L3701: ldr w1, [x29,56] - mov w0, 17476 - movk w0, 0x4253, lsl 16 + mov w0, 21060 + movk w0, 0x4b4d, lsl 16 cmp w1, w0 - bne .L3581 + beq .L3702 +.L3703: + mov x19, -1 + b .L3687 +.L3702: ldr w0, [x29,60] cmp w0, 512 - bhi .L3581 - adrp x19, .LANCHOR7 - add x0, x19, :lo12:.LANCHOR7 - ldr w1, [x0,12] - cbnz w1, .L3585 -.L3588: - mov x0, 0 - b .L3539 -.L3585: - ldr x1, [x0,16] - mov w2, 22867 - movk w2, 0x4453, lsl 16 - ldr w3, [x1] - cmp w3, w2 - beq .L3586 - mov w2, 22867 - movk w2, 0x4453, lsl 16 - str w2, [x1] - mov w2, 504 - ldr x1, [x0,16] - str w2, [x1,4] - ldr x0, [x0,16] - str wzr, [x0,8] - str wzr, [x0,12] -.L3586: - add x0, x19, :lo12:.LANCHOR7 - adrp x20, .LANCHOR7 - ldr x1, [x0,16] - mov w0, 0 - str wzr, [x1,16] - bl StorageSysDataStore - ldr x0, [x19,#:lo12:.LANCHOR7] - mov w1, 21060 - movk w1, 0x4b4d, lsl 16 - ldr w2, [x0] - cmp w2, w1 - beq .L3587 - mov w1, 21060 - movk w1, 0x4b4d, lsl 16 - str w1, [x0] - mov w1, 504 - ldr x0, [x20,#:lo12:.LANCHOR7] - str w1, [x0,4] - ldr x0, [x20,#:lo12:.LANCHOR7] - str wzr, [x0,8] -.L3587: - add x20, x19, :lo12:.LANCHOR7 - ldr x19, [x19,#:lo12:.LANCHOR7] - mov w1, 0 + bhi .L3703 + adrp x21, .LANCHOR7 + add x0, x29, 56 + add x21, x21, :lo12:.LANCHOR7 + mov x2, 512 + ldr x1, [x21,-56] + bl memcpy + ldr w1, [x21,-48] + mov w0, 5161 + movk w0, 0xc059, lsl 16 + cmp w1, w0 + beq .L3704 + add x0, x29, 120 + mov w1, w19 mov x2, 128 - add x0, x19, 64 - str wzr, [x19,12] + str w19, [x29,64] + str w19, [x29,68] bl memset - mov w0, 1 - mov x1, x19 - bl StorageSysDataStore - str wzr, [x20,12] - str wzr, [x20,8] - b .L3635 -.L3542: +.L3704: + add x0, x29, 312 + mov w1, 0 + mov x2, 256 + str wzr, [x29,72] + bl memset + b .L3766 +.L3668: adrp x0, .LC295 add x0, x0, :lo12:.LC295 bl printk @@ -22731,72 +23215,38 @@ rknand_sys_storage_ioctl: mov x1, x20 mov x2, 520 bl rk_copy_from_user - cbnz x0, .L3584 - ldr w2, [x29,56] - mov w1, 20037 - movk w1, 0x4253, lsl 16 - cmp w2, w1 - bne .L3581 - ldr w1, [x29,60] - cmp w1, 512 - bhi .L3581 - adrp x19, .LANCHOR7 - add x1, x19, :lo12:.LANCHOR7 - ldr w2, [x1,12] - cmp w2, 1 - beq .L3588 - ldr x2, [x1,16] - mov w3, 22867 - movk w3, 0x4453, lsl 16 - ldr w4, [x2] - cmp w4, w3 - beq .L3589 - mov w3, 22867 - movk w3, 0x4453, lsl 16 - str w3, [x2] - mov w3, 504 - ldr x2, [x1,16] - str w3, [x2,4] - ldr x1, [x1,16] - str w0, [x1,8] - str w0, [x1,12] -.L3589: - add x0, x19, :lo12:.LANCHOR7 - adrp x20, .LANCHOR7 - ldr x1, [x0,16] - mov w0, 1 - str w0, [x1,16] - mov w0, 0 - bl StorageSysDataStore - ldr x0, [x19,#:lo12:.LANCHOR7] - mov w1, 21060 - movk w1, 0x4b4d, lsl 16 - ldr w2, [x0] - cmp w2, w1 - beq .L3590 - mov w1, 21060 - movk w1, 0x4b4d, lsl 16 - str w1, [x0] - mov w1, 504 - ldr x0, [x20,#:lo12:.LANCHOR7] - str w1, [x0,4] - ldr x0, [x20,#:lo12:.LANCHOR7] - str wzr, [x0,8] -.L3590: - add x20, x19, :lo12:.LANCHOR7 - ldr x19, [x19,#:lo12:.LANCHOR7] - mov w1, 0 - mov x2, 128 + cbnz x0, .L3706 + ldr w1, [x29,56] + mov w0, 21060 + movk w0, 0x4b4d, lsl 16 + cmp w1, w0 + bne .L3703 + ldr w0, [x29,60] + cmp w0, 512 + bhi .L3703 + adrp x1, .LANCHOR7 + mov w2, 5161 + add x1, x1, :lo12:.LANCHOR7 + movk w2, 0xc059, lsl 16 + mov x0, -2 + ldr w3, [x1,-48] + cmp w3, w2 + bne .L3660 + ldr w2, [x29,68] + mov x0, -3 + sub w3, w2, #1 + cmp w3, 127 + bhi .L3660 + ldr x19, [x1,-56] + add x1, x29, 120 add x0, x19, 64 - str wzr, [x19,12] - bl memset + str w2, [x19,12] + ldr w2, [x29,68] + bl memcpy mov w0, 1 mov x1, x19 - bl StorageSysDataStore - mov w0, 1 - str w0, [x20,12] - b .L3635 -.L3548: + b .L3758 +.L3672: adrp x0, .LC296 add x0, x0, :lo12:.LC296 bl printk @@ -22804,124 +23254,271 @@ rknand_sys_storage_ioctl: mov x1, x20 mov x2, 520 bl rk_copy_from_user - cbnz x0, .L3584 + cbnz x0, .L3706 ldr w1, [x29,56] - mov w0, 20051 - movk w0, 0x4144, lsl 16 + mov w0, 17476 + movk w0, 0x4253, lsl 16 cmp w1, w0 - bne .L3581 - ldr w2, [x29,60] - cmp w2, 512 - bhi .L3581 - adrp x1, .LANCHOR7 - add x0, x29, 64 - add x1, x1, :lo12:.LANCHOR7 - uxtw x2, w2 - add x1, x1, 24 - b .L3643 -.L3549: - mov w0, 27698 - movk w0, 0x4004, lsl 16 - cmp w19, w0 - bne .L3591 + bne .L3703 + ldr w0, [x29,60] + cmp w0, 512 + bhi .L3703 + adrp x19, .LANCHOR7 + add x0, x19, :lo12:.LANCHOR7 + ldr w1, [x0,-44] + cbnz w1, .L3707 +.L3710: + mov x0, 0 + b .L3660 +.L3707: + ldr x1, [x0,-40] + mov w2, 22867 + movk w2, 0x4453, lsl 16 + ldr w3, [x1] + cmp w3, w2 + beq .L3708 + mov w2, 22867 + movk w2, 0x4453, lsl 16 + str w2, [x1] + mov w2, 504 + ldr x1, [x0,-40] + str w2, [x1,4] + ldr x0, [x0,-40] + str wzr, [x0,8] + str wzr, [x0,12] +.L3708: + add x20, x19, :lo12:.LANCHOR7 + mov w0, 0 + ldr x1, [x20,-40] + str wzr, [x1,16] + bl StorageSysDataStore + ldr x0, [x20,-56] + mov w1, 21060 + movk w1, 0x4b4d, lsl 16 + ldr w2, [x0] + cmp w2, w1 + beq .L3709 + mov w1, 21060 + movk w1, 0x4b4d, lsl 16 + str w1, [x0] + mov w1, 504 + ldr x0, [x20,-56] + str w1, [x0,4] + ldr x0, [x20,-56] + str wzr, [x0,8] +.L3709: + add x19, x19, :lo12:.LANCHOR7 + mov w1, 0 + mov x2, 128 + ldr x20, [x19,-56] + add x0, x20, 64 + str wzr, [x20,12] + bl memset + mov w0, 1 + mov x1, x20 + bl StorageSysDataStore + str wzr, [x19,-44] + str wzr, [x19,-48] + b .L3757 +.L3663: adrp x0, .LC297 add x0, x0, :lo12:.LC297 - b .L3633 -.L3591: - mov w0, 27708 - movk w0, 0x4004, lsl 16 - cmp w19, w0 - bne .L3593 - adrp x0, .LC298 - add x0, x0, :lo12:.LC298 - b .L3633 -.L3593: - adrp x0, .LC299 - add x0, x0, :lo12:.LC299 -.L3633: bl printk add x0, x29, 56 mov x1, x20 mov x2, 520 bl rk_copy_from_user - cbnz x0, .L3584 + cbnz x0, .L3706 + ldr w2, [x29,56] + mov w1, 20037 + movk w1, 0x4253, lsl 16 + cmp w2, w1 + bne .L3703 + ldr w1, [x29,60] + cmp w1, 512 + bhi .L3703 + adrp x19, .LANCHOR7 + add x1, x19, :lo12:.LANCHOR7 + ldr w2, [x1,-44] + cmp w2, 1 + beq .L3710 + ldr x2, [x1,-40] + mov w3, 22867 + movk w3, 0x4453, lsl 16 + ldr w4, [x2] + cmp w4, w3 + beq .L3711 + mov w3, 22867 + movk w3, 0x4453, lsl 16 + str w3, [x2] + mov w3, 504 + ldr x2, [x1,-40] + str w3, [x2,4] + ldr x1, [x1,-40] + str w0, [x1,8] + str w0, [x1,12] +.L3711: + add x20, x19, :lo12:.LANCHOR7 + mov w0, 1 + ldr x1, [x20,-40] + str w0, [x1,16] + mov w0, 0 + bl StorageSysDataStore + ldr x0, [x20,-56] + mov w1, 21060 + movk w1, 0x4b4d, lsl 16 + ldr w2, [x0] + cmp w2, w1 + beq .L3712 + mov w1, 21060 + movk w1, 0x4b4d, lsl 16 + str w1, [x0] + mov w1, 504 + ldr x0, [x20,-56] + str w1, [x0,4] + ldr x0, [x20,-56] + str wzr, [x0,8] +.L3712: + add x19, x19, :lo12:.LANCHOR7 + mov w1, 0 + mov x2, 128 + ldr x20, [x19,-56] + add x0, x20, 64 + str wzr, [x20,12] + bl memset + mov w0, 1 + mov x1, x20 + bl StorageSysDataStore + mov w0, 1 + str w0, [x19,-44] + b .L3757 +.L3669: + adrp x0, .LC298 + add x0, x0, :lo12:.LC298 + bl printk + add x0, x29, 56 + mov x1, x20 + mov x2, 520 + bl rk_copy_from_user + cbnz x0, .L3706 + ldr w1, [x29,56] + mov w0, 20051 + movk w0, 0x4144, lsl 16 + cmp w1, w0 + bne .L3703 + ldr w2, [x29,60] + cmp w2, 512 + bhi .L3703 + adrp x1, .LANCHOR7 + add x0, x29, 64 + add x1, x1, :lo12:.LANCHOR7 + uxtw x2, w2 + sub x1, x1, #32 + b .L3765 +.L3670: + mov w0, 27698 + movk w0, 0x4004, lsl 16 + cmp w19, w0 + bne .L3713 + adrp x0, .LC299 + add x0, x0, :lo12:.LC299 + b .L3755 +.L3713: + mov w0, 27708 + movk w0, 0x4004, lsl 16 + cmp w19, w0 + bne .L3715 + adrp x0, .LC300 + add x0, x0, :lo12:.LC300 + b .L3755 +.L3715: + adrp x0, .LC301 + add x0, x0, :lo12:.LC301 +.L3755: + bl printk + add x0, x29, 56 + mov x1, x20 + mov x2, 520 + bl rk_copy_from_user + cbnz x0, .L3706 ldr w1, [x29,56] mov w0, 17227 movk w0, 0x4c4f, lsl 16 cmp w1, w0 - bne .L3638 + bne .L3760 mov w0, 27708 movk w0, 0x4004, lsl 16 cmp w19, w0 adrp x0, .LANCHOR7 - bne .L3594 - ldr x0, [x0,#:lo12:.LANCHOR7] + bne .L3716 + add x0, x0, :lo12:.LANCHOR7 add x1, x29, 56 mov x2, 16 + ldr x0, [x0,-56] ldr w0, [x0,20] str w0, [x29,60] strb w0, [x29,64] mov x0, x20 bl rk_copy_to_user - cbz x0, .L3539 - b .L3638 -.L3594: + cbz x0, .L3660 + b .L3760 +.L3716: add x20, x0, :lo12:.LANCHOR7 - ldr w1, [x20,536] + ldr w1, [x20,480] cmp w1, 10 - bhi .L3638 - ldr x1, [x0,#:lo12:.LANCHOR7] + bhi .L3760 + ldr x1, [x20,-56] ldr w2, [x29,60] ldr w3, [x1,24] cmp w3, w2 - beq .L3595 - cbz w3, .L3595 - adrp x0, .LC300 + beq .L3717 + cbz w3, .L3717 + adrp x0, .LC302 mov w1, w2 - add x0, x0, :lo12:.LC300 + add x0, x0, :lo12:.LC302 bl printk - ldr w0, [x20,536] + ldr w0, [x20,480] add w0, w0, 1 - str w0, [x20,536] - b .L3638 -.L3595: + str w0, [x20,480] + b .L3760 +.L3717: add x0, x0, :lo12:.LANCHOR7 - str wzr, [x0,536] + str wzr, [x0,480] mov w0, 27698 movk w0, 0x4004, lsl 16 cmp w19, w0 - bne .L3596 + bne .L3718 str wzr, [x1,20] str wzr, [x1,24] - b .L3597 -.L3596: + b .L3719 +.L3718: mov w0, 1 str w2, [x1,24] str w0, [x1,20] -.L3597: +.L3719: mov w0, 1 mov x19, -2 bl StorageSysDataStore cmn w0, #1 - bne .L3635 - b .L3566 -.L3561: - adrp x0, .LC301 - add x0, x0, :lo12:.LC301 + bne .L3757 + b .L3687 +.L3682: + adrp x0, .LC303 + add x0, x0, :lo12:.LC303 bl printk add x0, x29, 56 mov x1, x20 mov x2, 520 bl rk_copy_from_user - cbnz x0, .L3584 + cbnz x0, .L3706 ldr w1, [x29,56] mov w0, 17750 movk w0, 0x444e, lsl 16 cmp w1, w0 - bne .L3581 + bne .L3703 ldr w2, [x29,60] cmp w2, 504 - bhi .L3581 + bhi .L3703 mov w0, 30224 adrp x1, .LANCHOR7 movk w0, 0x4004, lsl 16 @@ -22929,74 +23526,74 @@ rknand_sys_storage_ioctl: cmp w19, w0 add x1, x1, :lo12:.LANCHOR7 add x0, x29, 64 - bne .L3598 - ldr x1, [x1,544] - b .L3634 -.L3598: - ldr x1, [x1,552] -.L3634: + bne .L3720 + ldr x1, [x1,488] + b .L3756 +.L3720: + ldr x1, [x1,496] +.L3756: add x1, x1, 8 -.L3643: +.L3765: bl memcpy -.L3644: +.L3766: mov x0, x20 add x1, x29, 56 mov x2, 520 - b .L3630 -.L3558: - adrp x0, .LC302 - add x0, x0, :lo12:.LC302 + b .L3752 +.L3679: + adrp x0, .LC304 + add x0, x0, :lo12:.LC304 bl printk add x0, x29, 56 mov x1, x20 mov x2, 520 bl rk_copy_from_user - cbnz x0, .L3584 + cbnz x0, .L3706 ldr w1, [x29,56] mov w0, 17750 movk w0, 0x444e, lsl 16 cmp w1, w0 - bne .L3581 + bne .L3703 ldr w2, [x29,60] cmp w2, 504 - bhi .L3581 + bhi .L3703 mov w0, 30225 add w2, w2, 8 movk w0, 0x4004, lsl 16 cmp w19, w0 adrp x19, .LANCHOR7 add x19, x19, :lo12:.LANCHOR7 - bne .L3600 - ldr x0, [x19,544] + bne .L3722 + ldr x0, [x19,488] add x1, x29, 56 bl memcpy mov w0, 2 - ldr x1, [x19,544] - b .L3636 -.L3600: - ldr x0, [x19,552] + ldr x1, [x19,488] + b .L3758 +.L3722: + ldr x0, [x19,496] add x1, x29, 56 bl memcpy - ldr x1, [x19,552] + ldr x1, [x19,496] mov w0, 3 -.L3636: +.L3758: bl StorageSysDataStore uxtw x19, w0 - b .L3566 -.L3635: + b .L3687 +.L3757: mov x19, 0 -.L3566: - adrp x0, .LC303 +.L3687: + adrp x0, .LC305 mov x1, x19 - add x0, x0, :lo12:.LC303 + add x0, x0, :lo12:.LC305 bl printk mov x0, x19 - b .L3539 -.L3601: + b .L3660 +.L3723: mov x0, -22 -.L3539: +.L3660: ldp x19, x20, [sp,16] - ldr x21, [sp,32] + ldp x21, x22, [sp,32] ldp x29, x30, [sp], 48 add sp, sp, 528 ret @@ -23012,47 +23609,47 @@ rk_ftl_storage_sys_init: adrp x20, .LANCHOR7 add x19, x20, :lo12:.LANCHOR7 stp x21, x22, [sp,32] - ldr x1, [x19,-40] - str x1, [x19,16] + ldr x1, [x19,-96] + str x1, [x19,-40] add x0, x1, 512 - str x0, [x20,#:lo12:.LANCHOR7] + str x0, [x19,-56] add x0, x1, 1024 add x1, x1, 1536 - str x0, [x19,544] - add x0, x19, 24 - str xzr, [x19,-8] - str x1, [x19,552] + str x0, [x19,488] + sub x0, x19, #32 + str xzr, [x19,-64] + str x1, [x19,496] bl ftl_memcpy - ldr x21, [x19,16] - str wzr, [x19,8] - str wzr, [x19,536] + ldr x21, [x19,-40] + str wzr, [x19,-48] + str wzr, [x19,480] ldr w0, [x21,16] ldr w22, [x21,508] - str w0, [x19,12] - cbz w22, .L3650 + str w0, [x19,-44] + cbz w22, .L3772 mov x0, x21 mov w1, 508 bl js_hash cmp w22, w0 - beq .L3650 - adrp x0, .LC304 + beq .L3772 + adrp x0, .LC306 str wzr, [x21,16] - add x0, x0, :lo12:.LC304 - str wzr, [x19,12] + add x0, x0, :lo12:.LC306 + str wzr, [x19,-44] bl printk -.L3650: +.L3772: add x0, x20, :lo12:.LANCHOR7 - ldr w1, [x0,12] - cbz w1, .L3651 + ldr w1, [x0,-44] + cbz w1, .L3773 mov w1, 5161 movk w1, 0xc059, lsl 16 - str w1, [x0,8] -.L3651: + str w1, [x0,-48] +.L3773: add x20, x20, :lo12:.LANCHOR7 mov w0, 2 - ldr x1, [x20,544] + ldr x1, [x20,488] bl StorageSysDataLoad - ldr x1, [x20,552] + ldr x1, [x20,496] mov w0, 3 bl StorageSysDataLoad bl rknand_sys_storage_init @@ -23082,55 +23679,55 @@ rk_ftl_vendor_storage_init: bl ftl_malloc add x1, x21, :lo12:.LANCHOR7 mov w19, -12 - str x0, [x1,560] - cbz x0, .L3660 + str x0, [x1,504] + cbz x0, .L3782 mov w23, 0 - adrp x24, .LC305 + adrp x24, .LC307 mov w19, w23 mov w22, w23 - add x24, x24, :lo12:.LC305 -.L3664: + add x24, x24, :lo12:.LC307 +.L3786: add x20, x21, :lo12:.LANCHOR7 lsl w0, w22, 7 mov w1, 128 - ldr x2, [x20,560] + ldr x2, [x20,504] bl FlashBootVendorRead - cbnz w0, .L3661 - ldr x3, [x20,560] + cbnz w0, .L3783 + ldr x3, [x20,504] mov x0, x24 add x2, x3, 61440 ldr w1, [x3] ldr w3, [x3,4] ldr w2, [x2,4092] bl printk - ldr x20, [x20,560] + ldr x20, [x20,504] mov w0, 22084 movk w0, 0x524b, lsl 16 ldr w1, [x20] cmp w1, w0 - bne .L3662 + bne .L3784 ldr w0, [x20,4] cmp w19, w0 - bcs .L3662 + bcs .L3784 add x1, x20, 61440 ldr w1, [x1,4092] cmp w1, w0 csel w23, w23, w22, ne csel w19, w19, w0, ne -.L3662: - cbnz w22, .L3672 +.L3784: + cbnz w22, .L3794 mov w22, 1 - b .L3664 -.L3672: - cbz w19, .L3665 + b .L3786 +.L3794: + cbz w19, .L3787 lsl w0, w23, 7 mov w1, 128 mov x2, x20 bl FlashBootVendorRead mov w19, w0 - cbz w0, .L3660 - b .L3661 -.L3665: + cbz w0, .L3782 + b .L3783 +.L3787: mov x0, x20 mov w1, w19 mov x2, 65536 @@ -23144,14 +23741,14 @@ rk_ftl_vendor_storage_init: mov w0, -1032 strh w19, [x20,12] strh w0, [x20,14] - b .L3660 -.L3661: + b .L3782 +.L3783: add x21, x21, :lo12:.LANCHOR7 mov w19, -1 - ldr x0, [x21,560] + ldr x0, [x21,504] bl kfree - str xzr, [x21,560] -.L3660: + str xzr, [x21,504] +.L3782: mov w0, w19 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -23163,24 +23760,24 @@ rk_ftl_vendor_storage_init: .global rk_ftl_vendor_read .type rk_ftl_vendor_read, %function rk_ftl_vendor_read: - adrp x3, .LANCHOR7+560 + adrp x3, .LANCHOR7+504 stp x29, x30, [sp, -32]! add x29, sp, 0 - ldr x5, [x3,#:lo12:.LANCHOR7+560] + ldr x5, [x3,#:lo12:.LANCHOR7+504] mov w3, -1 str x19, [sp,16] - cbz x5, .L3674 + cbz x5, .L3796 ldrh w3, [x5,10] mov x4, 0 -.L3675: +.L3797: cmp w4, w3 mov w6, w4 - bcs .L3679 + bcs .L3801 add x7, x5, x4, lsl 3 add x4, x4, 1 ldrh w7, [x7,16] cmp w7, w0 - bne .L3675 + bne .L3797 add x6, x5, x6, uxtw 3 ldrh w4, [x6,20] mov x0, x1 @@ -23192,10 +23789,10 @@ rk_ftl_vendor_read: uxtw x2, w19 bl memcpy mov w3, w19 - b .L3674 -.L3679: + b .L3796 +.L3801: mov w3, -1 -.L3674: +.L3796: mov w0, w3 ldr x19, [sp,16] ldp x29, x30, [sp], 32 @@ -23207,10 +23804,10 @@ rk_ftl_vendor_read: rk_ftl_vendor_write: stp x29, x30, [sp, -112]! mov w6, w0 - adrp x0, .LANCHOR7+560 + adrp x0, .LANCHOR7+504 add x29, sp, 0 stp x19, x20, [sp,16] - ldr x19, [x0,#:lo12:.LANCHOR7+560] + ldr x19, [x0,#:lo12:.LANCHOR7+504] stp x25, x26, [sp,64] stp x27, x28, [sp,80] stp x21, x22, [sp,32] @@ -23218,38 +23815,38 @@ rk_ftl_vendor_write: mov w26, w2 mov x28, x1 mov w2, -1 - cbz x19, .L3681 + cbz x19, .L3803 add w20, w26, 63 ldrh w3, [x19,10] ldrh w23, [x19,8] and w20, w20, -64 mov x2, 0 -.L3682: +.L3804: cmp w2, w3 mov w4, w2 - bcs .L3697 + bcs .L3819 add x0, x19, x2, lsl 3 add x2, x2, 1 ldrh w0, [x0,16] cmp w0, w6 - bne .L3682 + bne .L3804 add x21, x19, x4, uxtw 3 ldrh w24, [x21,20] add x5, x19, 1024 add w24, w24, 63 and w24, w24, -64 cmp w26, w24 - bls .L3683 + bls .L3805 ldrh w0, [x19,14] mov w2, -1 cmp w0, w20 - bcc .L3681 + bcc .L3803 ldrh w21, [x21,18] add w22, w3, w2 -.L3684: +.L3806: cmp w4, w22 uxtw x3, w4 - bcs .L3698 + bcs .L3820 add x3, x19, x3, lsl 3 add w25, w4, 1 add x1, x19, x25, uxtw 3 @@ -23272,8 +23869,8 @@ rk_ftl_vendor_write: mov w4, w25 ldr x6, [x29,96] ldr x5, [x29,104] - b .L3684 -.L3698: + b .L3806 +.L3820: add x3, x19, x3, lsl 3 uxth w21, w21 mov x1, x28 @@ -23290,20 +23887,20 @@ rk_ftl_vendor_write: add w24, w24, w0 sub w24, w24, w20 strh w24, [x19,14] - b .L3696 -.L3683: + b .L3818 +.L3805: ldrh w0, [x21,18] mov x1, x28 uxtw x2, w26 add x0, x5, x0 bl memcpy strh w26, [x21,20] - b .L3696 -.L3697: + b .L3818 +.L3819: ldrh w4, [x19,14] mov w2, -1 cmp w4, w20 - bcc .L3681 + bcc .L3803 add x3, x19, x3, uxth 3 strh w6, [x3,16] uxth w20, w20 @@ -23323,7 +23920,7 @@ rk_ftl_vendor_write: ldrh w0, [x19,10] add w0, w0, 1 strh w0, [x19,10] -.L3696: +.L3818: ldr w0, [x19,4] add x1, x19, 61440 mov x2, x19 @@ -23340,7 +23937,7 @@ rk_ftl_vendor_write: lsl w0, w23, 7 bl FlashBootVendorWrite mov w2, 0 -.L3681: +.L3803: mov w0, w2 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -23364,37 +23961,37 @@ rk_ftl_vendor_storage_ioctl: mov x21, x2 bl ftl_malloc mov x19, x0 - cbz x0, .L3700 + cbz x0, .L3822 mov w2, 30209 ldr x1, [x29,56] movk w2, 0x4004, lsl 16 cmp w1, w2 - beq .L3702 + beq .L3824 mov w2, 30210 movk w2, 0x4004, lsl 16 cmp w1, w2 - beq .L3703 - b .L3714 -.L3702: + beq .L3825 + b .L3836 +.L3824: mov x1, x21 mov x2, 8 bl rk_copy_from_user - cbnz x0, .L3714 + cbnz x0, .L3836 ldr w1, [x19] mov w0, 17745 movk w0, 0x5652, lsl 16 cmp w1, w0 - beq .L3705 -.L3706: + beq .L3827 +.L3828: mov x20, -1 - b .L3701 -.L3705: + b .L3823 +.L3827: ldrh w0, [x19,4] add x1, x19, 8 ldrh w2, [x19,6] bl rk_ftl_vendor_read cmn w0, #1 - beq .L3706 + beq .L3828 uxth x2, w0 strh w0, [x19,6] mov x1, x19 @@ -23404,38 +24001,38 @@ rk_ftl_vendor_storage_ioctl: bl rk_copy_to_user cmp x0, xzr csel x20, xzr, x20, eq - b .L3701 -.L3703: + b .L3823 +.L3825: mov x1, x21 mov x2, 8 bl rk_copy_from_user - cbnz x0, .L3714 + cbnz x0, .L3836 ldr w1, [x19] mov w0, 17745 movk w0, 0x5652, lsl 16 cmp w1, w0 - bne .L3706 + bne .L3828 ldrh w3, [x19,6] cmp w3, 4087 - bhi .L3706 + bhi .L3828 add w2, w3, 8 mov x0, x19 mov x1, x21 sxtw x2, w2 bl rk_copy_from_user - cbnz x0, .L3714 + cbnz x0, .L3836 ldrh w0, [x19,4] add x1, x19, 8 ldrh w2, [x19,6] bl rk_ftl_vendor_write sxtw x20, w0 - b .L3701 -.L3714: + b .L3823 +.L3836: mov x20, -14 -.L3701: +.L3823: mov x0, x19 bl kfree -.L3700: +.L3822: mov x0, x20 ldr x21, [sp,32] ldp x19, x20, [sp,16] @@ -23456,6 +24053,7 @@ rk_ftl_vendor_storage_ioctl: .global RK29_NANDC1_REG_BASE .global RK29_NANDC_REG_BASE .global gp_ftl_api + .global rk_zftl_enable .global g_pm_spare .global pm_first_write .global pm_gc_enable @@ -23520,6 +24118,8 @@ rk_ftl_vendor_storage_ioctl: .global p_read_ahead_ext_buf .global discard_sector_count .global read_ahead_lpa + .global read_buf_count + .global read_buf_head .global write_commit_count .global write_commit_head .global write_buf_count @@ -23611,24 +24211,24 @@ rk_ftl_vendor_storage_ioctl: .section .rodata .align 3 .LANCHOR1 = . + 0 - .type __func__.33839, %object - .size __func__.33839, 18 -__func__.33839: + .type __func__.33878, %object + .size __func__.33878, 18 +__func__.33878: .string "_list_remove_node" .zero 6 - .type __func__.33864, %object - .size __func__.33864, 23 -__func__.33864: + .type __func__.33903, %object + .size __func__.33903, 23 +__func__.33903: .string "_list_update_data_list" .zero 1 - .type __func__.18895, %object - .size __func__.18895, 22 -__func__.18895: + .type __func__.18927, %object + .size __func__.18927, 22 +__func__.18927: .string "nand_flash_print_info" .zero 2 - .type __func__.18977, %object - .size __func__.18977, 11 -__func__.18977: + .type __func__.19012, %object + .size __func__.19012, 11 +__func__.19012: .string "nandc_init" .zero 5 .type toshiba_A19ref_value, %object @@ -23790,9 +24390,9 @@ toshiba_ref_value: .byte 8 .byte 12 .byte 112 - .type __func__.18507, %object - .size __func__.18507, 28 -__func__.18507: + .type __func__.18515, %object + .size __func__.18515, 28 +__func__.18515: .string "flash_wait_device_ready_raw" .zero 4 .type toshiba_3D_tlc_value, %object @@ -24213,19 +24813,24 @@ toshiba_3D_slc_value: .byte -56 .byte 56 .zero 5 - .type __func__.18557, %object - .size __func__.18557, 22 -__func__.18557: + .type __func__.18568, %object + .size __func__.18568, 22 +__func__.18568: .string "flash_start_page_read" .zero 2 - .type __func__.18482, %object - .size __func__.18482, 26 -__func__.18482: + .type __func__.18593, %object + .size __func__.18593, 23 +__func__.18593: + .string "flash_start_plane_read" + .zero 1 + .type __func__.18490, %object + .size __func__.18490, 26 +__func__.18490: .string "flash_erase_duplane_block" .zero 6 - .type __func__.18493, %object - .size __func__.18493, 21 -__func__.18493: + .type __func__.18501, %object + .size __func__.18501, 21 +__func__.18501: .string "flash_erase_block_en" .zero 3 .type random_seed, %object @@ -24359,19 +24964,19 @@ random_seed: .hword 28406 .hword 17598 .hword 28087 - .type __func__.19147, %object - .size __func__.19147, 13 -__func__.19147: + .type __func__.19182, %object + .size __func__.19182, 13 +__func__.19182: .string "buf_add_tail" .zero 3 - .type __func__.19160, %object - .size __func__.19160, 10 -__func__.19160: + .type __func__.19195, %object + .size __func__.19195, 10 +__func__.19195: .string "buf_alloc" .zero 6 - .type __func__.19174, %object - .size __func__.19174, 16 -__func__.19174: + .type __func__.19209, %object + .size __func__.19209, 16 +__func__.19209: .string "buf_remove_free" .type zftl_debug_proc_fops, %object .size zftl_debug_proc_fops, 216 @@ -24385,239 +24990,249 @@ zftl_debug_proc_fops: .zero 8 .xword single_release .zero 104 - .type __func__.33259, %object - .size __func__.33259, 13 -__func__.33259: - .string "ftl_read_buf" - .zero 3 - .type __func__.33433, %object - .size __func__.33433, 12 -__func__.33433: + .type __func__.33472, %object + .size __func__.33472, 12 +__func__.33472: .string "gc_add_sblk" .zero 4 - .type __func__.33501, %object - .size __func__.33501, 19 -__func__.33501: + .type __func__.33540, %object + .size __func__.33540, 19 +__func__.33540: .string "gc_write_completed" .zero 5 - .type __func__.33552, %object - .size __func__.33552, 16 -__func__.33552: + .type __func__.33591, %object + .size __func__.33591, 16 +__func__.33591: .string "gc_free_src_blk" - .type __func__.34045, %object - .size __func__.34045, 18 -__func__.34045: + .type __func__.34084, %object + .size __func__.34084, 18 +__func__.34084: .string "ftl_alloc_sys_blk" .zero 6 - .type __func__.34055, %object - .size __func__.34055, 17 -__func__.34055: + .type __func__.34094, %object + .size __func__.34094, 17 +__func__.34094: .string "ftl_free_sys_blk" .zero 7 - .type __func__.34159, %object - .size __func__.34159, 23 -__func__.34159: + .type __func__.34198, %object + .size __func__.34198, 23 +__func__.34198: .string "ftl_get_ppa_from_index" .zero 1 - .type __func__.34198, %object - .size __func__.34198, 22 -__func__.34198: + .type __func__.34237, %object + .size __func__.34237, 22 +__func__.34237: .string "ftl_get_new_free_page" .zero 2 - .type __func__.34209, %object - .size __func__.34209, 22 -__func__.34209: + .type __func__.34248, %object + .size __func__.34248, 22 +__func__.34248: .string "ftl_ext_alloc_new_blk" .zero 2 - .type __func__.33200, %object - .size __func__.33200, 14 -__func__.33200: + .type __func__.33254, %object + .size __func__.33254, 14 +__func__.33254: .string "ftl_write_buf" .zero 2 - .type __func__.34004, %object - .size __func__.34004, 15 -__func__.34004: + .type __func__.33298, %object + .size __func__.33298, 18 +__func__.33298: + .string "zftl_add_read_buf" + .zero 6 + .type __func__.34043, %object + .size __func__.34043, 15 +__func__.34043: .string "ftl_alloc_sblk" .align 3 .LANCHOR3 = . + 0 - .type __func__.34540, %object - .size __func__.34540, 17 -__func__.34540: + .type __func__.34595, %object + .size __func__.34595, 17 +__func__.34595: .string "pm_alloc_new_blk" .zero 7 - .type __func__.34568, %object - .size __func__.34568, 21 -__func__.34568: + .type __func__.34623, %object + .size __func__.34623, 21 +__func__.34623: .string "pm_select_ram_region" .zero 3 - .type __func__.18885, %object - .size __func__.18885, 20 -__func__.18885: + .type __func__.18917, %object + .size __func__.18917, 20 +__func__.18917: .string "flash_die_info_init" .zero 4 - .type __func__.33135, %object - .size __func__.33135, 17 -__func__.33135: + .type __func__.33189, %object + .size __func__.33189, 17 +__func__.33189: .string "lpa_rebuild_hash" .zero 7 - .type __func__.34504, %object - .size __func__.34504, 13 -__func__.34504: + .type __func__.34559, %object + .size __func__.34559, 13 +__func__.34559: .string "pm_free_sblk" .zero 3 - .type __func__.19197, %object - .size __func__.19197, 21 -__func__.19197: + .type __func__.19232, %object + .size __func__.19232, 21 +__func__.19232: .string "flash_into_data_init" .zero 3 - .type __func__.18438, %object - .size __func__.18438, 19 -__func__.18438: + .type __func__.18446, %object + .size __func__.18446, 19 +__func__.18446: .string "flash_read_page_en" .zero 5 - .type __func__.19186, %object - .size __func__.19186, 20 -__func__.19186: + .type __func__.19221, %object + .size __func__.19221, 20 +__func__.19221: .string "flash_info_blk_init" .zero 4 - .type __func__.18572, %object - .size __func__.18572, 25 -__func__.18572: + .type __func__.18581, %object + .size __func__.18581, 31 +__func__.18581: + .string "flash_complete_plane_page_read" + .zero 1 + .type __func__.18606, %object + .size __func__.18606, 25 +__func__.18606: .string "flash_complete_page_read" .zero 7 - .type __func__.33454, %object - .size __func__.33454, 21 -__func__.33454: + .type __func__.34426, %object + .size __func__.34426, 31 +__func__.34426: + .string "queue_wait_first_req_completed" + .zero 1 + .type __func__.34506, %object + .size __func__.34506, 15 +__func__.34506: + .string "sblk_read_page" + .zero 1 + .type __func__.33493, %object + .size __func__.33493, 21 +__func__.33493: .string "gc_check_data_one_wl" .zero 3 - .type __func__.18531, %object - .size __func__.18531, 26 -__func__.18531: + .type __func__.18539, %object + .size __func__.18539, 26 +__func__.18539: .string "flash_start_tlc_page_prog" .zero 6 - .type __func__.18544, %object - .size __func__.18544, 22 -__func__.18544: + .type __func__.18557, %object + .size __func__.18557, 22 +__func__.18557: .string "flash_start_page_prog" .zero 2 - .type __func__.34430, %object - .size __func__.34430, 15 -__func__.34430: + .type __func__.34479, %object + .size __func__.34479, 15 +__func__.34479: .string "sblk_prog_page" .zero 1 - .type __func__.18467, %object - .size __func__.18467, 19 -__func__.18467: + .type __func__.18475, %object + .size __func__.18475, 19 +__func__.18475: .string "flash_prog_page_en" .zero 5 - .type __func__.34270, %object - .size __func__.34270, 14 -__func__.34270: + .type __func__.34309, %object + .size __func__.34309, 14 +__func__.34309: .string "ftl_prog_page" .zero 2 - .type __func__.33972, %object - .size __func__.33972, 15 -__func__.33972: + .type __func__.34011, %object + .size __func__.34011, 15 +__func__.34011: .string "ftl_info_flush" .zero 1 - .type __func__.34234, %object - .size __func__.34234, 19 -__func__.34234: + .type __func__.34273, %object + .size __func__.34273, 19 +__func__.34273: .string "ftl_ext_info_flush" .zero 5 - .type __func__.34246, %object - .size __func__.34246, 18 -__func__.34246: + .type __func__.34285, %object + .size __func__.34285, 18 +__func__.34285: .string "ftl_ext_info_init" .zero 6 - .type __func__.34133, %object - .size __func__.34133, 23 -__func__.34133: + .type __func__.34172, %object + .size __func__.34172, 23 +__func__.34172: .string "ftl_open_sblk_recovery" .zero 1 - .type __func__.34550, %object - .size __func__.34550, 14 -__func__.34550: + .type __func__.34605, %object + .size __func__.34605, 14 +__func__.34605: .string "pm_write_page" .zero 2 - .type __func__.19219, %object - .size __func__.19219, 17 -__func__.19219: + .type __func__.19254, %object + .size __func__.19254, 17 +__func__.19254: .string "flash_info_flush" .zero 7 - .type __func__.18939, %object - .size __func__.18939, 16 -__func__.18939: + .type __func__.18971, %object + .size __func__.18971, 16 +__func__.18971: .string "nand_flash_init" - .type __func__.34114, %object - .size __func__.34114, 16 -__func__.34114: + .type __func__.34153, %object + .size __func__.34153, 16 +__func__.34153: .string "ftl_sysblk_dump" - .type __func__.34490, %object - .size __func__.34490, 16 -__func__.34490: + .type __func__.34545, %object + .size __func__.34545, 16 +__func__.34545: .string "load_l2p_region" - .type __func__.34524, %object - .size __func__.34524, 6 -__func__.34524: + .type __func__.34579, %object + .size __func__.34579, 6 +__func__.34579: .string "pm_gc" .zero 2 - .type __func__.33251, %object - .size __func__.33251, 15 -__func__.33251: - .string "ftl_read_ahead" - .zero 1 - .type __func__.33488, %object - .size __func__.33488, 22 -__func__.33488: + .type __func__.33527, %object + .size __func__.33527, 22 +__func__.33527: .string "gc_update_l2p_map_new" .zero 2 - .type __func__.33597, %object - .size __func__.33597, 16 -__func__.33597: + .type __func__.33636, %object + .size __func__.33636, 16 +__func__.33636: .string "gc_scan_src_blk" - .type __func__.33655, %object - .size __func__.33655, 20 -__func__.33655: + .type __func__.33694, %object + .size __func__.33694, 20 +__func__.33694: .string "gc_scan_static_data" .zero 4 - .type __func__.33718, %object - .size __func__.33718, 18 -__func__.33718: + .type __func__.33757, %object + .size __func__.33757, 18 +__func__.33757: .string "gc_block_vpn_scan" .zero 6 - .type __func__.34090, %object - .size __func__.34090, 14 -__func__.34090: + .type __func__.34129, %object + .size __func__.34129, 14 +__func__.34129: .string "ftl_sblk_dump" .zero 2 - .type __func__.33297, %object - .size __func__.33297, 10 -__func__.33297: + .type __func__.33331, %object + .size __func__.33331, 10 +__func__.33331: .string "zftl_read" .zero 6 - .type __func__.34180, %object - .size __func__.34180, 19 -__func__.34180: + .type __func__.34219, %object + .size __func__.34219, 19 +__func__.34219: .string "ftl_update_l2p_map" .zero 5 - .type __func__.33182, %object - .size __func__.33182, 17 -__func__.33182: + .type __func__.33236, %object + .size __func__.33236, 17 +__func__.33236: .string "ftl_write_commit" .zero 7 - .type __func__.33530, %object - .size __func__.33530, 16 -__func__.33530: + .type __func__.33569, %object + .size __func__.33569, 16 +__func__.33569: .string "gc_do_copy_back" - .type __func__.33746, %object - .size __func__.33746, 11 -__func__.33746: + .type __func__.33785, %object + .size __func__.33785, 11 +__func__.33785: .string "zftl_do_gc" .zero 5 - .type __func__.33323, %object - .size __func__.33323, 13 -__func__.33323: + .type __func__.33362, %object + .size __func__.33362, 13 +__func__.33362: .string "_ftl_discard" .section .rodata.str1.1,"aMS",%progbits,1 .LC0: @@ -24625,7 +25240,7 @@ __func__.33323: .LC1: .string "%s\n" .LC2: - .string "FTL version: 6.0.8 20180511" + .string "FTL version: 6.0.8 20180615" .LC3: .string "zftl_debug:0x%x\n" .LC4: @@ -24925,7 +25540,7 @@ __func__.33323: .LC151: .string "DDR mode Read error %x %x\n" .LC152: - .string "flash_read_page_en %x %x\n" + .string "flash_read_page_en %x %x %x\n" .LC153: .string "flash_read_page_en %x %x error_ecc %d %d\n" .LC154: @@ -24939,99 +25554,99 @@ __func__.33323: .LC158: .string "flash_complete_page_read %x %x error_ecc %d %d\n" .LC159: - .string "set buf %d,status = %x, ppa = %x lun state = %d\n" + .string "read: %x %x %x %x\n" .LC160: - .string "1ppa = %x, status = %x, %x %x spare: %x %x %x %x\n" + .string "set buf %d,status = %x, ppa = %x lun state = %d\n" .LC161: - .string "flash_prog_page %x %x %x\n" + .string "1ppa = %x, status = %x, %x %x spare: %x %x %x %x\n" .LC162: - .string "flash_prog_page page_addr = %x status = %x\n" + .string "flash_prog_page %x %x %x\n" .LC163: - .string "sblk_prog_page ppa = %x, count = %d\n" + .string "flash_prog_page page_addr = %x status = %x\n" .LC164: - .string "flash_prog_page_en:%x %x\n" + .string "sblk_prog_page ppa = %x, count = %d\n" .LC165: - .string "spare" + .string "flash_prog_page_en:%x %x\n" .LC166: - .string "data" + .string "spare" .LC167: - .string "write error: %x\n" + .string "data" .LC168: - .string "g_ftl_info_blk blk = %x, page = %x version = %d\n" + .string "write error: %x\n" .LC169: - .string "%d %x @%d %x\n" + .string "g_ftl_info_blk blk = %x, page = %x version = %d\n" .LC170: - .string "ftl_info_blk_init %d %d %x\n" + .string "%d %x @%d %x\n" .LC171: - .string "saved_active_page = %x\n" + .string "ftl_info_blk_init %d %d %x\n" .LC172: - .string "saved_active_plane = %x\n" + .string "%s %d %d %x %x\n" .LC173: - .string "sblk = %x\n" + .string "saved_active_page = %x\n" .LC174: - .string "phy_blk = %x %x\n" + .string "saved_active_plane = %x\n" .LC175: - .string "sblk = %x, vpn0 = %d, vpn1 = %d\n" + .string "sblk = %x\n" .LC176: - .string "dump write = %x\n" + .string "phy_blk = %x %x\n" .LC177: - .string "pm_write_page write error: %x\n" + .string "sblk = %x, vpn0 = %d, vpn1 = %d\n" .LC178: - .string "finfo:" + .string "dump write = %x\n" .LC179: - .string "flash_info_flush id = %x, page = %x\n" + .string "pm_write_page write error: %x\n" .LC180: - .string "sys_info_flush error:%x\n" + .string "finfo:" .LC181: - .string "blk= %x, page=%x, ppa = %x, status = %x, data:%x %x %x %x, spare: %x %x %x %x\n" + .string "flash_info_flush id = %x, page = %x\n" .LC182: - .string "l2p:" + .string "sys_info_flush error:%x\n" .LC183: - .string "free_buf_count: %d\n" + .string "blk= %x, page=%x, ppa = %x, status = %x, data:%x %x %x %x, spare: %x %x %x %x\n" .LC184: - .string "g_ftl_info_blk blk:0x%x, index:0x%x, page:0x%x\n" + .string "l2p:" .LC185: - .string "ftl_ext_info_blk blk:0x%x, page:0x%x\n" + .string "free_buf_count: %d\n" .LC186: - .string "ac_blk:0x%x, page:0x%x, index:0x%x, free:0x%x, page_index:0x%x\n" + .string "g_ftl_info_blk blk:0x%x, index:0x%x, page:0x%x\n" .LC187: - .string "tmp_blk:0x%x, page:0x%x, index:0x%x, free:0x%x, page_index:0x%x\n" + .string "ftl_ext_info_blk blk:0x%x, page:0x%x\n" .LC188: - .string "gc_blk:0x%x, page:0x%x, index:0x%x, free:0x%x, page_index:0x%x\n" + .string "ac_blk:0x%x, page:0x%x, index:0x%x, free:0x%x, page_index:0x%x\n" .LC189: - .string "lpa:" + .string "tmp_blk:0x%x, page:0x%x, index:0x%x, free:0x%x, page_index:0x%x\n" .LC190: - .string "vpn:" + .string "gc_blk:0x%x, page:0x%x, index:0x%x, free:0x%x, page_index:0x%x\n" .LC191: - .string "sblk:" + .string "lpa:" .LC192: - .string "lpa_hash:" + .string "vpn:" .LC193: - .string "lpa_hash_index:" + .string "sblk:" .LC194: - .string "%s w error lpn = %x, max ppa = %d\n" + .string "lpa_hash:" .LC195: - .string "region_id = %d, pm_max_region = %d\n" + .string "lpa_hash_index:" .LC196: - .string "load_l2p_region no ppa = %x , %x, all setting 0xff....\n" + .string "%s w error lpn = %x, max ppa = %d\n" .LC197: - .string "load_l2p_region = %x,%x,%x, %x\n" + .string "region_id = %d, pm_max_region = %d\n" .LC198: - .string "pm_ppa:" + .string "load_l2p_region no ppa = %x , %x, all setting 0xff....\n" .LC199: - .string "data:" + .string "load_l2p_region = %x,%x,%x, %x\n" .LC200: - .string "spare:" + .string "pm_ppa:" .LC201: - .string "pm_init posr %x %x %x\n" + .string "data:" .LC202: - .string "pm_init recovery %x %x %x\n" + .string "spare:" .LC203: - .string "pm_log2phys lpn = %d, max lpn = %d\n" + .string "pm_init posr %x %x %x\n" .LC204: - .string "ftl_read_ahead refresh =%x, lpa = %x, ppa= %x\n" + .string "pm_init recovery %x %x %x\n" .LC205: - .string "id=%d, lpa = %x, ppa = %x spare = %x %x %x %x\n" + .string "pm_log2phys lpn = %d, max lpn = %d\n" .LC206: .string "ppa = %x, status = %x, data:%x %x %x %x, spare: %x %x %x %x\n" .LC207: @@ -25091,146 +25706,150 @@ __func__.33323: .LC234: .string "ftl_read refresh =%x, lpa = %x, ppa= %x\n" .LC235: - .string "zftl debug cmd: %s\n" + .string "id=%d, lpa = %x, ppa = %x spare = %x %x %x %x\n" .LC236: - .string "cmd:" + .string "zftl debug cmd: %s\n" .LC237: - .string "dumpl2p" + .string "cmd:" .LC238: - .string "pm l2p:" + .string "dumpl2p" .LC239: - .string "pm blk:" + .string "pm l2p:" .LC240: - .string "dumppm:" + .string "pm blk:" .LC241: - .string "p_cmd: %s\n" + .string "dumppm:" .LC242: - .string "pm ram = %x, %x\n" + .string "p_cmd: %s\n" .LC243: - .string "ram:" + .string "pm ram = %x, %x\n" .LC244: - .string "pm:" + .string "ram:" .LC245: - .string "dumpsys" + .string "pm:" .LC246: - .string "dumplist:" + .string "dumpsys" .LC247: - .string "vpncheck" + .string "dumplist:" .LC248: - .string "dumpppa:" + .string "vpncheck" .LC249: - .string "dumpblk:" + .string "dumpppa:" .LC250: - .string "setzdebug:" + .string "dumpblk:" .LC251: - .string "lpa2ppa:" + .string "setzdebug:" .LC252: - .string "lpa: %x--> ppa: %x\n" + .string "lpa2ppa:" .LC253: - .string "help:\n" + .string "lpa: %x--> ppa: %x\n" .LC254: - .string "1. echo dumpl2p > /proc/zftl_debug\n" + .string "help:\n" .LC255: - .string "2. echo dumppm:x > /proc/zftl_debug\n" + .string "1. echo dumpl2p > /proc/zftl_debug\n" .LC256: - .string "3. echo dumpsys > /proc/zftl_debug\n" + .string "2. echo dumppm:x > /proc/zftl_debug\n" .LC257: - .string "4. echo dumpppa:x > /proc/zftl_debug\n" + .string "3. echo dumpsys > /proc/zftl_debug\n" .LC258: - .string "5. echo vpncheck > /proc/zftl_debug\n" + .string "4. echo dumpppa:x > /proc/zftl_debug\n" .LC259: - .string "6. echo setzdebug:x > /proc/zftl_debug\n" + .string "5. echo vpncheck > /proc/zftl_debug\n" .LC260: - .string "7. echo dumplist > /proc/zftl_debug\n" + .string "6. echo setzdebug:x > /proc/zftl_debug\n" .LC261: - .string "8. echo lpa2ppa:x> /proc/zftl_debug\n" + .string "7. echo dumplist > /proc/zftl_debug\n" .LC262: - .string "ftl_update_l2p_map: %x %x %x\n" + .string "8. echo lpa2ppa:x> /proc/zftl_debug\n" .LC263: - .string "ftl_update_l2p_map" + .string "ftl_update_l2p_map: %x %x %x\n" .LC264: - .string "lpa_tbl:" + .string "ftl_update_l2p_map" .LC265: - .string "sblk %x vpn: %d %d\n" + .string "lpa_tbl:" .LC266: - .string "%d read error: ppa:%x, lpa:%x, status:%x\n" + .string "sblk %x vpn: %d %d\n" .LC267: - .string "gc page in buf: lpa %x ppa = %x pageindex= %x\n" + .string "%d read error: ppa:%x, lpa:%x, status:%x\n" .LC268: - .string "gc_do_copy_back: lpa %x des_ppa = %x %x gc_ppa= %x page_index= %d\n" + .string "gc page in buf: lpa %x ppa = %x pageindex= %x\n" .LC269: - .string "gc_do_copy_back: %x %x %x %x gc_ppa:%x %x\n" + .string "gc_do_copy_back: lpa %x des_ppa = %x %x gc_ppa= %x page_index= %d\n" .LC270: - .string "%d prog_step: %x %x buf id= %x ppa = %x hash=%x id = %x plane = %x lpa=%x\n" + .string "gc_do_copy_back: %x %x %x %x gc_ppa:%x %x\n" .LC271: - .string "gc %d: %d %d %d %d %d %d %d\n" + .string "%d prog_step: %x %x buf id= %x ppa = %x hash=%x id = %x plane = %x lpa=%x\n" .LC272: - .string "gc %d: %d %d %d %d %d %d\n" + .string "gc %d: %d %d %d %d %d %d %d\n" .LC273: - .string "GC_STATE_SCAN_ALL_PAGE = %x, vpn0 = %d, vpn1 = %d\n" + .string "gc %d: %d %d %d %d %d %d\n" .LC274: - .string "gc free %x, %d\n" + .string "GC_STATE_SCAN_ALL_PAGE = %x, vpn0 = %d, vpn1 = %d\n" .LC275: - .string "ftlwrite %x %x %x\n" + .string "gc free %x, %d\n" .LC276: - .string "ftl_discard:(%x, %x, %x, %x)\n" + .string "ftlwrite %x %x %x\n" .LC277: - .string "id_block_prog_msb_ff_data slc page = %d pageadd=%x %x\n" + .string "ftl_discard:(%x, %x, %x, %x)\n" .LC278: - .string "write_idblock fix data %x %x\n" + .string "id_block_prog_msb_ff_data slc page = %d pageadd=%x %x\n" .LC279: - .string "1 write_idblock fix data %x %x %x\n" + .string "write_idblock fix data %x %x\n" .LC280: - .string "READ_SECTOR_IO\n" + .string "idblk:" .LC281: - .string "rk_copy_from_user error\n" + .string "write_idblock totle_sec %x %x\n" .LC282: - .string "READ_SECTOR_IO %x %x\n" + .string "READ_SECTOR_IO\n" .LC283: - .string "rk_copy_to_user error\n" + .string "rk_copy_from_user error\n" .LC284: - .string "WRITE_SECTOR_IO\n" + .string "READ_SECTOR_IO %x %x\n" .LC285: - .string "WRITE_SECTOR_IO %x %x\n" + .string "rk_copy_to_user error\n" .LC286: - .string "END_WRITE_SECTOR_IO\n" + .string "WRITE_SECTOR_IO\n" .LC287: - .string "END_WRITE_SECTOR_IO %x %x\n" + .string "WRITE_SECTOR_IO %x %x\n" .LC288: - .string "GET_FLASH_INFO_IO\n" + .string "END_WRITE_SECTOR_IO\n" .LC289: - .string "GET_BAD_BLOCK_IO\n" + .string "END_WRITE_SECTOR_IO %x %x\n" .LC290: - .string "GET_LOCK_FLAG_IO\n" + .string "GET_FLASH_INFO_IO\n" .LC291: - .string "GET_PUBLIC_KEY_IO\n" + .string "GET_BAD_BLOCK_IO\n" .LC292: - .string "RKNAND_GET_DRM_KEY\n" + .string "GET_LOCK_FLAG_IO\n" .LC293: - .string "RKNAND_STORE_DRM_KEY\n" + .string "GET_PUBLIC_KEY_IO\n" .LC294: - .string "RKNAND_DIASBLE_SECURE_BOOT\n" + .string "RKNAND_GET_DRM_KEY\n" .LC295: - .string "RKNAND_ENASBLE_SECURE_BOOT\n" + .string "RKNAND_STORE_DRM_KEY\n" .LC296: - .string "RKNAND_GET_SN_SECTOR\n" + .string "RKNAND_DIASBLE_SECURE_BOOT\n" .LC297: - .string "RKNAND_LOADER_UNLOCK\n" + .string "RKNAND_ENASBLE_SECURE_BOOT\n" .LC298: - .string "RKNAND_LOADER_STATUS\n" + .string "RKNAND_GET_SN_SECTOR\n" .LC299: - .string "RKNAND_LOADER_LOCK\n" + .string "RKNAND_LOADER_UNLOCK\n" .LC300: - .string "LockKey not match %d\n" + .string "RKNAND_LOADER_STATUS\n" .LC301: - .string "RKNAND_GET_VENDOR_SECTOR\n" + .string "RKNAND_LOADER_LOCK\n" .LC302: - .string "RKNAND_STORE_VENDOR_SECTOR\n" + .string "LockKey not match %d\n" .LC303: - .string "return ret = %lx\n" + .string "RKNAND_GET_VENDOR_SECTOR\n" .LC304: - .string "secureBootEn check error\n" + .string "RKNAND_STORE_VENDOR_SECTOR\n" .LC305: + .string "return ret = %lx\n" +.LC306: + .string "secureBootEn check error\n" +.LC307: .string "\0013vendor storage %x,%x,%x\n" .data .align 3 @@ -25687,7 +26306,7 @@ zftl_nand_flash_para_tbl: .byte 37 .byte 60 .byte 32 - .byte 2 + .byte 3 .byte 1 .byte 4 .byte 0 @@ -25715,7 +26334,7 @@ zftl_nand_flash_para_tbl: .byte 37 .byte 60 .byte 32 - .byte 2 + .byte 3 .byte 1 .byte 4 .byte 0 @@ -25743,7 +26362,7 @@ zftl_nand_flash_para_tbl: .byte 36 .byte 60 .byte 32 - .byte 2 + .byte 3 .byte 1 .byte 4 .byte 0 @@ -25799,7 +26418,7 @@ zftl_nand_flash_para_tbl: .byte 33 .byte 40 .byte 32 - .byte 2 + .byte 3 .byte 1 .byte 1 .byte 0 @@ -25850,7 +26469,7 @@ zftl_nand_flash_para_tbl: .byte 2 .byte 1 .hword 1056 - .hword 17881 + .hword 17857 .byte 2 .byte 35 .byte 40 @@ -25939,7 +26558,7 @@ zftl_nand_flash_para_tbl: .byte 33 .byte 40 .byte 32 - .byte 2 + .byte 3 .byte 1 .byte 1 .byte 0 @@ -26130,7 +26749,7 @@ zftl_nand_flash_para_tbl: .byte 2 .byte 1 .hword 1048 - .hword 9695 + .hword 9671 .byte 5 .byte 19 .byte 70 @@ -26242,7 +26861,7 @@ zftl_nand_flash_para_tbl: .byte 2 .byte 1 .hword 1024 - .hword 479 + .hword 455 .byte 4 .byte 18 .byte 60 @@ -26326,7 +26945,7 @@ zftl_nand_flash_para_tbl: .byte 2 .byte 1 .hword 2184 - .hword 9695 + .hword 9671 .byte 5 .byte 19 .byte 70 @@ -26354,7 +26973,7 @@ zftl_nand_flash_para_tbl: .byte 2 .byte 1 .hword 2184 - .hword 9695 + .hword 9671 .byte 5 .byte 19 .byte 60 @@ -27240,6 +27859,22 @@ gTable_Crc32: .LANCHOR5 = . + 21760 .LANCHOR6 = . + 34816 .LANCHOR7 = . + 39168 + .type g_flash_slc_mode, %object + .size g_flash_slc_mode, 1 +g_flash_slc_mode: + .zero 1 + .type g_slc_mode_addr2, %object + .size g_slc_mode_addr2, 1 +g_slc_mode_addr2: + .zero 1 + .type g_block_align_addr, %object + .size g_block_align_addr, 2 +g_block_align_addr: + .zero 2 + .type g_lsb_page_tbl, %object + .size g_lsb_page_tbl, 512 +g_lsb_page_tbl: + .zero 512 .type g_nandc_ver, %object .size g_nandc_ver, 1 g_nandc_ver: @@ -27248,6 +27883,7 @@ g_nandc_ver: .type _c_user_data_density, %object .size _c_user_data_density, 4 _c_user_data_density: + .zero 4 .zero 4 .type gp_sblk_list_tbl, %object .size gp_sblk_list_tbl, 8 @@ -27322,16 +27958,12 @@ gp_nand_para_info: .type g_idb_ecc_bits, %object .size g_idb_ecc_bits, 1 g_idb_ecc_bits: - .zero 1 - .type g_flash_slc_mode, %object - .size g_flash_slc_mode, 1 -g_flash_slc_mode: .zero 1 .type g_nand_max_die, %object .size g_nand_max_die, 1 g_nand_max_die: .zero 1 - .zero 5 + .zero 6 .type g_nand_opt_para, %object .size g_nand_opt_para, 32 g_nand_opt_para: @@ -27379,20 +28011,6 @@ gp_flash_info: .size g_die_cs_idx, 8 g_die_cs_idx: .zero 8 - .type g_slc_mode_addr2, %object - .size g_slc_mode_addr2, 1 -g_slc_mode_addr2: - .zero 1 - .zero 1 - .type g_block_align_addr, %object - .size g_block_align_addr, 2 -g_block_align_addr: - .zero 2 - .type g_lsb_page_tbl, %object - .size g_lsb_page_tbl, 512 -g_lsb_page_tbl: - .zero 512 - .zero 4 .type g_flash_cur_mode, %object .size g_flash_cur_mode, 4 g_flash_cur_mode: @@ -27426,6 +28044,9 @@ p_free_buf_head: .size free_buf_count, 1 free_buf_count: .zero 1 + .type sblk_queue_head, %object + .size sblk_queue_head, 1 +sblk_queue_head: .zero 1 .type _c_totle_phy_density, %object .size _c_totle_phy_density, 4 @@ -27500,19 +28121,6 @@ _gc_after_discard_en: .type write_buf_head, %object .size write_buf_head, 1 write_buf_head: - .zero 1 - .zero 3 - .type read_ahead_lpa, %object - .size read_ahead_lpa, 4 -read_ahead_lpa: - .zero 4 - .type p_read_ahead_ext_buf, %object - .size p_read_ahead_ext_buf, 8 -p_read_ahead_ext_buf: - .zero 8 - .type sblk_read_completed_queue_head, %object - .size sblk_read_completed_queue_head, 1 -sblk_read_completed_queue_head: .zero 1 .zero 7 .type g_gc_info, %object @@ -27674,11 +28282,18 @@ ftl_sblk_update_list_offset: .size sblk_write_completed_queue_head, 1 sblk_write_completed_queue_head: .zero 1 - .type sblk_queue_head, %object - .size sblk_queue_head, 1 -sblk_queue_head: + .type read_buf_head, %object + .size read_buf_head, 1 +read_buf_head: + .zero 1 + .type read_buf_count, %object + .size read_buf_count, 1 +read_buf_count: + .zero 1 + .type sblk_read_completed_queue_head, %object + .size sblk_read_completed_queue_head, 1 +sblk_read_completed_queue_head: .zero 1 - .zero 2 .type pm_gc_enable, %object .size pm_gc_enable, 4 pm_gc_enable: @@ -27798,6 +28413,10 @@ g_flash_spare_buffer: .type g_idb_slc_mode_enable, %object .size g_idb_slc_mode_enable, 1 g_idb_slc_mode_enable: + .zero 1 + .type g_flash_multi_page_read_en, %object + .size g_flash_multi_page_read_en, 1 +g_flash_multi_page_read_en: .zero 1 .type g_flash_reversd_blks, %object .size g_flash_reversd_blks, 1 @@ -27806,13 +28425,12 @@ g_flash_reversd_blks: .type write_commit_head, %object .size write_commit_head, 1 write_commit_head: - .zero 1 .zero 1 .type ftl_flush_jiffies, %object .size ftl_flush_jiffies, 4 ftl_flush_jiffies: .zero 4 - .zero 56 + .zero 8 .type ftl_info_spare, %object .size ftl_info_spare, 256 ftl_info_spare: @@ -27855,9 +28473,6 @@ g_pm_spare: .size pm_first_write, 1 pm_first_write: .zero 1 - .type g_flash_multi_page_read_en, %object - .size g_flash_multi_page_read_en, 1 -g_flash_multi_page_read_en: .zero 1 .type _c_ftl_byte_pre_page, %object .size _c_ftl_byte_pre_page, 2 @@ -27868,6 +28483,10 @@ _c_ftl_byte_pre_page: pm_last_load_ram_id: .zero 1 .zero 3 + .type read_ahead_lpa, %object + .size read_ahead_lpa, 4 +read_ahead_lpa: + .zero 4 .type _c_totle_data_density, %object .size _c_totle_data_density, 4 _c_totle_data_density: @@ -27876,7 +28495,11 @@ _c_totle_data_density: .size _c_ftl_pm_page_num, 2 _c_ftl_pm_page_num: .zero 2 - .zero 2 + .type rk_zftl_enable, %object + .size rk_zftl_enable, 1 +rk_zftl_enable: + .zero 1 + .zero 5 .type gLoaderBootInfo, %object .size gLoaderBootInfo, 8 gLoaderBootInfo: @@ -27943,11 +28566,15 @@ g_vendor: .size ftl_low_format_cur_blk, 2 ftl_low_format_cur_blk: .zero 2 - .zero 6 + .zero 62 .type ftl_tmp_buffer, %object .size ftl_tmp_buffer, 16384 ftl_tmp_buffer: .zero 16384 + .type p_read_ahead_ext_buf, %object + .size p_read_ahead_ext_buf, 8 +p_read_ahead_ext_buf: + .zero 8 .type _c_ftl_nand_blks_per_die, %object .size _c_ftl_nand_blks_per_die, 2 _c_ftl_nand_blks_per_die: