From 2033289abf250841856304f2b7ca4e1f581ca72b Mon Sep 17 00:00:00 2001 From: Zhaoyifeng Date: Mon, 19 Jun 2017 16:05:33 +0800 Subject: [PATCH] drivers: rk_nand: update ftl to support slc nand and micron L04A 1. support 128MB and 256MB slc nand flash 2. support micron L04A 3D mlc nand flash 3. fix 3036 read sn fail issue Change-Id: If08b3f8bd37c9d9c161b733f6127b137a8bfdd4f Signed-off-by: Zhaoyifeng --- drivers/rk_nand/rk_ftl_arm_v7.S | 10385 +++++++++++++++--------------- drivers/rk_nand/rk_ftl_arm_v8.S | 10155 ++++++++++++++--------------- 2 files changed, 10165 insertions(+), 10375 deletions(-) diff --git a/drivers/rk_nand/rk_ftl_arm_v7.S b/drivers/rk_nand/rk_ftl_arm_v7.S index 0ecd9281a9ee..0ac2237bf3c5 100644 --- a/drivers/rk_nand/rk_ftl_arm_v7.S +++ b/drivers/rk_nand/rk_ftl_arm_v7.S @@ -5,6 +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: 2017-05-26 */ .arch armv7-a .fpu softvfp @@ -19,57 +20,27 @@ .file "rk_ftl_arm_v7.S" .text .align 2 - .type rknand_sys_storage_release, %function -rknand_sys_storage_release: + .type rknand_sys_storage_open, %function +rknand_sys_storage_open: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r0, [r1, #124] - stmfd sp!, {r3, lr} - .save {r3, lr} - cmp r0, #0 - beq .L2 - mov r3, #0 - str r3, [r1, #124] - bl kfree -.L2: + @ link register save eliminated. mov r0, #0 - ldmfd sp!, {r3, pc} + bx lr .fnend - .size rknand_sys_storage_release, .-rknand_sys_storage_release + .size rknand_sys_storage_open, .-rknand_sys_storage_open .align 2 - .type rknand_sys_storage_open, %function -rknand_sys_storage_open: + .type rknand_sys_storage_release, %function +rknand_sys_storage_release: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L6 - mov r2, #4096 - stmfd sp!, {r4, lr} - .save {r4, lr} - mov r4, r1 - ldr r0, [r3, #48] - mov r1, #208 - bl kmem_cache_alloc_trace - mov r3, #0 - str r3, [r4, #124] - cmp r0, #0 - bne .L4 - ldr r0, .L6+4 - bl printk - mvn r0, #11 - ldmfd sp!, {r4, pc} -.L4: - str r0, [r4, #124] - mov r0, r3 - ldmfd sp!, {r4, pc} -.L7: - .align 2 -.L6: - .word kmalloc_caches - .word .LC1 + @ link register save eliminated. + mov r0, #0 + bx lr .fnend - .size rknand_sys_storage_open, .-rknand_sys_storage_open + .size rknand_sys_storage_release, .-rknand_sys_storage_release .align 2 .global FlashMemCmp8 .type FlashMemCmp8, %function @@ -77,37 +48,37 @@ FlashMemCmp8: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L18 + ldr r3, .L13 stmfd sp!, {r4, lr} .save {r4, lr} ldrb r3, [r3, #0] @ zero_extendqisi2 cmp r3, #0 - beq .L16 + beq .L11 ldrb r3, [r1, #1] @ zero_extendqisi2 ldrb ip, [r0, #1] @ zero_extendqisi2 cmp ip, r3 movne r3, #0 - bne .L16 - b .L17 -.L13: + bne .L11 + b .L12 +.L8: ldrb r4, [r0, r3] @ zero_extendqisi2 ldrb ip, [r1, r3] @ zero_extendqisi2 add r3, r3, #1 cmp r4, ip - beq .L16 + beq .L11 mov r0, r3 ldmfd sp!, {r4, pc} -.L16: +.L11: cmp r3, r2 - bne .L13 + bne .L8 mov r0, #0 ldmfd sp!, {r4, pc} -.L17: +.L12: mov r0, #0 ldmfd sp!, {r4, pc} -.L19: +.L14: .align 2 -.L18: +.L13: .word .LANCHOR0 .fnend .size FlashMemCmp8, .-FlashMemCmp8 @@ -119,7 +90,7 @@ FlashRsvdBlkChk: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L21 + ldr r3, .L16 ldrb r2, [r3, #1] @ zero_extendqisi2 ldr r3, [r3, #4] mul r3, r3, r2 @@ -130,9 +101,9 @@ FlashRsvdBlkChk: movne r2, #0 eor r0, r2, #1 bx lr -.L22: +.L17: .align 2 -.L21: +.L16: .word .LANCHOR0 .fnend .size FlashRsvdBlkChk, .-FlashRsvdBlkChk @@ -144,24 +115,24 @@ FlashGetRandomizer: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 and r3, r1, #127 - ldr r2, .L25 + ldr r2, .L20 stmfd sp!, {r4, lr} .save {r4, lr} mov r3, r3, asl #1 ldrh r4, [r2, r3] - ldr r3, .L25+4 + ldr r3, .L20+4 ldrb r3, [r3, #8] @ zero_extendqisi2 cmp r3, #0 - beq .L24 + beq .L19 bl FlashRsvdBlkChk cmp r0, #0 orrne r4, r4, #-1073741824 -.L24: +.L19: mov r0, r4 ldmfd sp!, {r4, pc} -.L26: +.L21: .align 2 -.L25: +.L20: .word .LANCHOR1 .word .LANCHOR0 .fnend @@ -176,52 +147,52 @@ FlashSetRandomizer: stmfd sp!, {r3, r4, r5, r6, r7, lr} .save {r3, r4, r5, r6, r7, lr} mov r6, r0 - ldr r3, .L33 + ldr r3, .L28 mov r5, r1 ldr r2, [r3, #12] mov r7, r3 cmp r2, #5 - bls .L28 + bls .L23 and r5, r1, #127 - ldr r3, .L33+4 + ldr r3, .L28+4 mov r5, r5, asl #1 ldrh r4, [r3, r5] ldrb r3, [r7, #8] @ zero_extendqisi2 cmp r3, #0 - beq .L29 + beq .L24 bl FlashRsvdBlkChk cmp r0, #0 orrne r4, r4, #-1073741824 -.L29: +.L24: add r6, r7, r6, asl #3 - b .L32 -.L28: + b .L27 +.L23: cmp r2, #4 ldmnefd sp!, {r3, r4, r5, r6, r7, pc} and r2, r1, #127 - ldr ip, .L33+4 + ldr ip, .L28+4 ldrb r3, [r3, #8] @ zero_extendqisi2 mov r2, r2, asl #1 cmp r3, #0 ldrh r4, [ip, r2] mov r4, r4, asl #8 - beq .L31 + beq .L26 bl FlashRsvdBlkChk cmp r0, #0 movne r5, r5, asl #1 uxtbne r5, r5 orrne r5, r5, #1 orrne r4, r4, r5 -.L31: - ldr r3, .L33 +.L26: + ldr r3, .L28 add r6, r3, r6, asl #3 -.L32: +.L27: ldr r3, [r6, #16] str r4, [r3, #336] ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L34: +.L29: .align 2 -.L33: +.L28: .word .LANCHOR0 .word .LANCHOR1 .fnend @@ -233,7 +204,7 @@ FlashReadCmd: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr ip, .L36 + ldr ip, .L31 mov r2, r1, lsr #16 stmfd sp!, {r4, lr} .save {r4, lr} @@ -255,9 +226,9 @@ FlashReadCmd: str r2, [r3, #8] ldmfd sp!, {r4, lr} b FlashSetRandomizer -.L37: +.L32: .align 2 -.L36: +.L31: .word .LANCHOR0 .fnend .size FlashReadCmd, .-FlashReadCmd @@ -268,7 +239,7 @@ FlashReadDpDataOutCmd: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r2, .L42 + ldr r2, .L37 stmfd sp!, {r4, lr} .save {r4, lr} add ip, r2, r0, asl #3 @@ -279,7 +250,7 @@ FlashReadDpDataOutCmd: add r3, r3, #8 mov r2, #0 add r3, r4, r3, asl #8 - bne .L39 + bne .L34 mov ip, #6 str ip, [r3, #8] str r2, [r3, #4] @@ -289,8 +260,8 @@ FlashReadDpDataOutCmd: mov r2, r1, lsr #8 str r2, [r3, #4] mov r2, r1, lsr #16 - b .L41 -.L39: + b .L36 +.L34: str r2, [r3, #8] uxtb ip, r1 str r2, [r3, #4] @@ -303,15 +274,15 @@ FlashReadDpDataOutCmd: mov ip, #5 str ip, [r3, #8] str r2, [r3, #4] -.L41: +.L36: str r2, [r3, #4] mov r2, #224 str r2, [r3, #8] ldmfd sp!, {r4, lr} b FlashSetRandomizer -.L43: +.L38: .align 2 -.L42: +.L37: .word .LANCHOR0 .fnend .size FlashReadDpDataOutCmd, .-FlashReadDpDataOutCmd @@ -323,7 +294,7 @@ flash_enter_slc_mode: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L46 + ldr r3, .L41 ldrb r2, [r3, #80] @ zero_extendqisi2 cmp r2, #0 bxeq lr @@ -335,9 +306,9 @@ flash_enter_slc_mode: mov r2, #218 str r2, [r3, #8] bx lr -.L47: +.L42: .align 2 -.L46: +.L41: .word .LANCHOR0 .fnend .size flash_enter_slc_mode, .-flash_enter_slc_mode @@ -349,7 +320,7 @@ flash_exit_slc_mode: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L50 + ldr r3, .L45 ldrb r2, [r3, #80] @ zero_extendqisi2 cmp r2, #0 bxeq lr @@ -361,9 +332,9 @@ flash_exit_slc_mode: mov r2, #223 str r2, [r3, #8] bx lr -.L51: +.L46: .align 2 -.L50: +.L45: .word .LANCHOR0 .fnend .size flash_exit_slc_mode, .-flash_exit_slc_mode @@ -374,7 +345,7 @@ FlashProgFirstCmd: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr ip, .L53 + ldr ip, .L48 mov r2, r1, lsr #16 stmfd sp!, {r4, lr} .save {r4, lr} @@ -395,9 +366,9 @@ FlashProgFirstCmd: str r2, [r3, #4] ldmfd sp!, {r4, lr} b FlashSetRandomizer -.L54: +.L49: .align 2 -.L53: +.L48: .word .LANCHOR0 .fnend .size FlashProgFirstCmd, .-FlashProgFirstCmd @@ -409,14 +380,14 @@ FlashEraseCmd: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L57 + ldr r3, .L52 cmp r2, #0 add r0, r3, r0, asl #3 ldr ip, [r0, #16] ldrb r0, [r0, #20] @ zero_extendqisi2 add r0, r0, #8 add r0, ip, r0, asl #8 - beq .L56 + beq .L51 ldr r3, [r3, #4] mov r2, #96 str r2, [r0, #8] @@ -427,7 +398,7 @@ FlashEraseCmd: mov r2, r1, lsr #16 add r1, r1, r3 str r2, [r0, #4] -.L56: +.L51: mov r3, #96 str r3, [r0, #8] uxtb r3, r1 @@ -439,9 +410,9 @@ FlashEraseCmd: str r1, [r0, #4] str r3, [r0, #8] bx lr -.L58: +.L53: .align 2 -.L57: +.L52: .word .LANCHOR0 .fnend .size FlashEraseCmd, .-FlashEraseCmd @@ -452,7 +423,7 @@ FlashProgDpSecondCmd: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr ip, .L60 + ldr ip, .L55 mov r2, r1, lsr #16 stmfd sp!, {r4, r5, lr} .save {r4, r5, lr} @@ -473,9 +444,9 @@ FlashProgDpSecondCmd: str r2, [r3, #4] ldmfd sp!, {r4, r5, lr} b FlashSetRandomizer -.L61: +.L56: .align 2 -.L60: +.L55: .word .LANCHOR0 .fnend .size FlashProgDpSecondCmd, .-FlashProgDpSecondCmd @@ -487,7 +458,7 @@ FlashProgSecondCmd: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L63 + ldr r3, .L58 add r3, r3, r0, asl #3 ldr r2, [r3, #16] ldrb r3, [r3, #20] @ zero_extendqisi2 @@ -496,9 +467,9 @@ FlashProgSecondCmd: mov r2, #16 str r2, [r3, #8] bx lr -.L64: +.L59: .align 2 -.L63: +.L58: .word .LANCHOR0 .fnend .size FlashProgSecondCmd, .-FlashProgSecondCmd @@ -510,7 +481,7 @@ FlashProgDpFirstCmd: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L66 + ldr r3, .L61 add r0, r3, r0, asl #3 ldrb r3, [r3, #58] @ zero_extendqisi2 ldrb r2, [r0, #20] @ zero_extendqisi2 @@ -519,9 +490,9 @@ FlashProgDpFirstCmd: add r2, r1, r2, asl #8 str r3, [r2, #8] bx lr -.L67: +.L62: .align 2 -.L66: +.L61: .word .LANCHOR0 .fnend .size FlashProgDpFirstCmd, .-FlashProgDpFirstCmd @@ -536,22 +507,22 @@ JSHash: mov r2, #0 stmfd sp!, {r4, lr} .save {r4, lr} - ldr r0, .L71 - b .L69 -.L70: + ldr r0, .L66 + b .L64 +.L65: 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 -.L69: +.L64: cmp r2, r1 - bne .L70 + bne .L65 ldmfd sp!, {r4, pc} -.L72: +.L67: .align 2 -.L71: +.L66: .word 1204201446 .fnend .size JSHash, .-JSHash @@ -588,13 +559,13 @@ FlashReadIdbData: stmfd sp!, {r3, lr} .save {r3, lr} mov r2, #2048 - ldr r1, .L76 + ldr r1, .L71 bl memcpy mov r0, #0 ldmfd sp!, {r3, pc} -.L77: +.L72: .align 2 -.L76: +.L71: .word .LANCHOR0+84 .fnend .size FlashReadIdbData, .-FlashReadIdbData @@ -608,51 +579,51 @@ FlashLoadPhyInfoInRam: stmfd sp!, {r4, r5, r6, lr} .save {r4, r5, r6, lr} mov r4, #0 - ldr r6, .L90 -.L82: + ldr r6, .L85 +.L77: add r5, r6, r4, asl #5 - ldr r1, .L90+4 + ldr r1, .L85+4 add r0, r5, #1 ldrb r2, [r6, r4, asl #5] @ zero_extendqisi2 bl FlashMemCmp8 subs r1, r0, #0 - bne .L79 + bne .L74 cmp r5, #0 ldrneb r2, [r5, #22] @ zero_extendqisi2 - ldrne r3, .L90+8 - bne .L84 - b .L89 -.L79: + ldrne r3, .L85+8 + bne .L79 + b .L84 +.L74: add r4, r4, #1 cmp r4, #72 - bne .L82 + bne .L77 mvn r0, #0 ldmfd sp!, {r4, r5, r6, pc} -.L84: +.L79: ldrb r0, [r3, r1, asl #5] @ zero_extendqisi2 cmp r0, r2 - beq .L83 + beq .L78 add r1, r1, #1 cmp r1, #4 - bne .L84 -.L83: - ldr r3, .L90+8 + bne .L79 +.L78: + ldr r3, .L85+8 mov r2, #32 - ldr r0, .L90+12 + ldr r0, .L85+12 add r1, r3, r1, asl #5 bl memcpy - ldr r0, .L90+16 + ldr r0, .L85+16 mov r1, r5 mov r2, #32 bl memcpy mov r0, #0 ldmfd sp!, {r4, r5, r6, pc} -.L89: +.L84: mvn r0, #0 ldmfd sp!, {r4, r5, r6, pc} -.L91: +.L86: .align 2 -.L90: +.L85: .word .LANCHOR1+256 .word .LANCHOR0+2132 .word .LANCHOR1+2560 @@ -668,7 +639,7 @@ FlashSuspend: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L93 + ldr r3, .L88 mov r0, #0 ldr r2, [r3, #2164] ldr r1, [r2, #0] @@ -688,9 +659,9 @@ FlashSuspend: str r1, [r3, #2192] str r2, [r3, #2196] bx lr -.L94: +.L89: .align 2 -.L93: +.L88: .word .LANCHOR0 .fnend .size FlashSuspend, .-FlashSuspend @@ -705,7 +676,7 @@ LogAddr2PhyAddr: stmfd sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} mov fp, r3 - ldr r3, .L100 + ldr r3, .L95 mov r5, r1 mov r6, r2 movw r1, #2214 @@ -729,17 +700,17 @@ LogAddr2PhyAddr: mov r1, sl bl __aeabi_uidiv cmp r5, #1 - ldr r3, .L100 + ldr r3, .L95 uxth r0, r0 mls sl, sl, r0, r9 uxth sl, sl - bne .L97 + bne .L92 ldrb r2, [r3, #80] @ zero_extendqisi2 cmp r2, #0 addeq r8, r3, r8, asl #1 movweq r2, #2228 ldreqh r8, [r8, r2] -.L97: +.L92: add r3, r3, r0, asl #2 ldr r3, [r3, #2740] mla r7, r7, sl, r3 @@ -748,7 +719,7 @@ LogAddr2PhyAddr: add r8, r7, r8 str r8, [r6, #0] str r0, [fp, #0] - bls .L99 + bls .L94 ldr r0, [r4, #4] ldr r3, [r4, #40] add r0, r0, #1024 @@ -756,12 +727,12 @@ LogAddr2PhyAddr: rsbs r0, r3, #0 adc r0, r0, r3 ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L99: +.L94: mov r0, #0 ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L101: +.L96: .align 2 -.L100: +.L95: .word .LANCHOR0 .fnend .size LogAddr2PhyAddr, .-LogAddr2PhyAddr @@ -773,14 +744,14 @@ FlashScheduleEnSet: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L103 + ldr r3, .L98 ldr r2, [r3, #2772] str r0, [r3, #2772] mov r0, r2 bx lr -.L104: +.L99: .align 2 -.L103: +.L98: .word .LANCHOR0 .fnend .size FlashScheduleEnSet, .-FlashScheduleEnSet @@ -792,13 +763,13 @@ FlashGetPageSize: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L106 + ldr r3, .L101 ldr r3, [r3, #2776] ldrb r0, [r3, #9] @ zero_extendqisi2 bx lr -.L107: +.L102: .align 2 -.L106: +.L101: .word .LANCHOR0 .fnend .size FlashGetPageSize, .-FlashGetPageSize @@ -821,16 +792,16 @@ NandcGetChipIf: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L110 + ldr r3, .L105 add r3, r3, r0, asl #3 ldrb r0, [r3, #20] @ zero_extendqisi2 ldr r2, [r3, #16] add r0, r0, #8 add r0, r2, r0, asl #8 bx lr -.L111: +.L106: .align 2 -.L110: +.L105: .word .LANCHOR0 .fnend .size NandcGetChipIf, .-NandcGetChipIf @@ -842,16 +813,16 @@ NandcSetDdrPara: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L113 + ldr r3, .L108 mov r2, r0, asl #8 orr r2, r2, r0, asl #16 orr r2, r2, #1 ldr r3, [r3, #2164] str r2, [r3, #304] bx lr -.L114: +.L109: .align 2 -.L113: +.L108: .word .LANCHOR0 .fnend .size NandcSetDdrPara, .-NandcSetDdrPara @@ -863,14 +834,14 @@ NandcSetDdrDiv: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L116 + ldr r3, .L111 orr r0, r0, #16640 ldr r3, [r3, #2164] str r0, [r3, #344] bx lr -.L117: +.L112: .align 2 -.L116: +.L111: .word .LANCHOR0 .fnend .size NandcSetDdrDiv, .-NandcSetDdrDiv @@ -882,7 +853,7 @@ NandcSetDdrMode: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L120 + ldr r3, .L115 cmp r0, #0 ldr r2, [r3, #2164] ldr r3, [r2, #0] @@ -890,9 +861,9 @@ NandcSetDdrMode: orrne r3, r3, #253952 str r3, [r2, #0] bx lr -.L121: +.L116: .align 2 -.L120: +.L115: .word .LANCHOR0 .fnend .size NandcSetDdrMode, .-NandcSetDdrMode @@ -903,14 +874,14 @@ NandcSetMode: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L126 + ldr r3, .L121 stmfd sp!, {r4, lr} .save {r4, lr} ldr r3, [r3, #2164] ldr r4, [r3, #0] ands r3, r0, #6 bfieq r4, r3, #13, #1 - beq .L125 + beq .L120 orr r4, r4, #24576 tst r0, #4 bfc r4, #15, #1 @@ -918,27 +889,27 @@ NandcSetMode: orr r4, r4, #196608 orrne r4, r4, #32768 bl rknand_get_clk_rate - ldr r3, .L126 - movw r2, #8322 + ldr r3, .L121 + movw r2, #16641 ldr r3, [r3, #2164] str r2, [r3, #344] - ldr r2, .L126+4 + ldr r2, .L121+4 str r2, [r3, #304] mov r2, #38 str r2, [r3, #308] mov r2, #39 str r2, [r3, #308] -.L125: - ldr r3, .L126 +.L120: + ldr r3, .L121 mov r0, #0 ldr r3, [r3, #2164] str r4, [r3, #0] ldmfd sp!, {r4, pc} -.L127: +.L122: .align 2 -.L126: +.L121: .word .LANCHOR0 - .word 1052675 + .word 1710595 .fnend .size NandcSetMode, .-NandcSetMode .align 2 @@ -949,15 +920,15 @@ NandcFlashCsDebug: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L129 + ldr r3, .L124 ldr r3, [r3, #16] ldr r2, [r3, #0] bfi r2, r0, #0, #8 str r2, [r3, #0] bx lr -.L130: +.L125: .align 2 -.L129: +.L124: .word .LANCHOR0 .fnend .size NandcFlashCsDebug, .-NandcFlashCsDebug @@ -969,7 +940,7 @@ NandcFlashCs: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L132 + ldr r3, .L127 add r3, r3, r0, asl #3 mov r0, #1 ldr r2, [r3, #16] @@ -979,9 +950,9 @@ NandcFlashCs: bfi r3, r1, #0, #8 str r3, [r2, #0] bx lr -.L133: +.L128: .align 2 -.L132: +.L127: .word .LANCHOR0 .fnend .size NandcFlashCs, .-NandcFlashCs @@ -993,7 +964,7 @@ NandcFlashDeCs: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L135 + ldr r3, .L130 add r3, r3, r0, asl #3 ldr r2, [r3, #16] ldr r3, [r2, #0] @@ -1001,9 +972,9 @@ NandcFlashDeCs: bfc r3, #17, #1 str r3, [r2, #0] bx lr -.L136: +.L131: .align 2 -.L135: +.L130: .word .LANCHOR0 .fnend .size NandcFlashDeCs, .-NandcFlashDeCs @@ -1019,12 +990,12 @@ NandcDelayns: sub sp, sp, #8 mov r0, r0, lsr #4 str r0, [sp, #4] -.L138: +.L133: ldr r0, [sp, #4] cmp r0, #0 sub r3, r0, #1 str r3, [sp, #4] - bne .L138 + bne .L133 add sp, sp, #8 bx lr .fnend @@ -1038,7 +1009,7 @@ FlashReadStatusEN: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r3, r4, r5, lr} .save {r3, r4, r5, lr} - ldr r3, .L149 + ldr r3, .L144 add r0, r3, r0, asl #3 ldr ip, [r3, #2776] ldrb r5, [r0, #20] @ zero_extendqisi2 @@ -1049,7 +1020,7 @@ FlashReadStatusEN: add r0, r4, r5, asl #8 movne r3, #112 strne r3, [r0, #8] - bne .L145 + bne .L140 cmp r2, #0 ldreqb r2, [r3, #61] @ zero_extendqisi2 ldrneb r2, [r3, #62] @ zero_extendqisi2 @@ -1057,28 +1028,28 @@ FlashReadStatusEN: ldrb r3, [r3, #63] @ zero_extendqisi2 cmp r3, #0 movne r3, #0 - ldrne r2, .L149 - bne .L144 - b .L145 -.L146: + ldrne r2, .L144 + bne .L139 + b .L140 +.L141: mov ip, r3, asl #3 add r3, r3, #1 mov ip, r1, lsr ip uxtb ip, ip str ip, [r0, #4] -.L144: +.L139: ldrb ip, [r2, #63] @ zero_extendqisi2 cmp r3, ip - bcc .L146 -.L145: + bcc .L141 +.L140: mov r0, #80 bl NandcDelayns ldr r0, [r4, r5, asl #8] uxtb r0, r0 ldmfd sp!, {r3, r4, r5, pc} -.L150: +.L145: .align 2 -.L149: +.L144: .word .LANCHOR0 .fnend .size FlashReadStatusEN, .-FlashReadStatusEN @@ -1094,15 +1065,15 @@ FlashWaitReadyEN: mov r6, r0 mov r5, r1 mov r4, r2 -.L155: +.L150: mov r0, r6 mov r1, r5 mov r2, r4 bl FlashReadStatusEN cmp r0, #255 - beq .L155 + beq .L150 tst r0, #64 - beq .L155 + beq .L150 ldmfd sp!, {r4, r5, r6, pc} .fnend .size FlashWaitReadyEN, .-FlashWaitReadyEN @@ -1113,7 +1084,7 @@ FlashWaitCmdDone: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L159 + ldr r3, .L154 stmfd sp!, {r4, r5, r6, lr} .save {r4, r5, r6, lr} add r4, r3, r0, asl #4 @@ -1121,10 +1092,10 @@ FlashWaitCmdDone: mov r6, r0 ldr r3, [r4, #8] cmp r3, #0 - beq .L157 + beq .L152 mov r0, r5 bl NandcFlashCs - ldr r3, .L159+4 + ldr r3, .L154+4 ldr r1, [r4, #4] mov r0, r5 add r6, r3, r6, asl #2 @@ -1145,12 +1116,12 @@ FlashWaitCmdDone: cmp r2, r3 strne r6, [r2, #0] strne r3, [r4, #12] -.L157: +.L152: mov r0, #0 ldmfd sp!, {r4, r5, r6, pc} -.L160: +.L155: .align 2 -.L159: +.L154: .word .LANCHOR0+2780 .word .LANCHOR0 .fnend @@ -1165,7 +1136,7 @@ HynixSetRRPara: stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, lr} .save {r4, r5, r6, r7, r8, r9, sl, lr} mov sl, r3 - ldr r3, .L166 + ldr r3, .L161 mov r6, r2 mov r4, r0 mov r5, r1 @@ -1187,8 +1158,8 @@ HynixSetRRPara: bl NandcFlashCs mov r3, #54 str r3, [r8, #8] - b .L164 -.L165: + b .L159 +.L160: ldrb r3, [r6, r7] @ zero_extendqisi2 mov r0, #200 str r3, [r8, #4] @@ -1196,21 +1167,21 @@ HynixSetRRPara: ldrb r3, [r9, r7] @ zero_extendqisi2 add r7, r7, #1 str r3, [r8, #0] -.L164: +.L159: uxtb r3, r7 cmp r3, r5 - bcc .L165 + bcc .L160 mov r3, #22 mov r0, r4 str r3, [r8, #8] bl NandcFlashDeCs - ldr r3, .L166 + ldr r3, .L161 add r4, r3, r4 strb sl, [r4, #3760] ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, pc} -.L167: +.L162: .align 2 -.L166: +.L161: .word .LANCHOR0 .fnend .size HynixSetRRPara, .-HynixSetRRPara @@ -1223,32 +1194,32 @@ FlashSetReadRetryDefault: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r4, r5, r6, lr} .save {r4, r5, r6, lr} - ldr r6, .L173 + ldr r6, .L168 ldr r3, [r6, #2776] ldrb r3, [r3, #19] @ zero_extendqisi2 sub r3, r3, #1 uxtb r3, r3 cmp r3, #5 ldmhifd sp!, {r4, r5, r6, pc} - ldr r5, .L173+4 + ldr r5, .L168+4 mov r4, #0 -.L171: +.L166: ldrb r3, [r5, r4, asl #3] @ zero_extendqisi2 uxtb r0, r4 cmp r3, #173 - bne .L170 + bne .L165 ldrb r1, [r6, #2909] @ zero_extendqisi2 mov r3, #0 - ldr r2, .L173+8 + ldr r2, .L168+8 bl HynixSetRRPara -.L170: +.L165: add r4, r4, #1 cmp r4, #4 - bne .L171 + bne .L166 ldmfd sp!, {r4, r5, r6, pc} -.L174: +.L169: .align 2 -.L173: +.L168: .word .LANCHOR0 .word .LANCHOR0+2132 .word .LANCHOR0+2912 @@ -1264,15 +1235,15 @@ SamsungSetRRPara: stmfd sp!, {r3, r4, r5, r6, r7, r8, sl, lr} .save {r3, r4, r5, r6, r7, r8, sl, lr} mov r4, r0 - ldr r3, .L178 + ldr r3, .L173 mov r5, #0 - ldr sl, .L178+4 + ldr sl, .L173+4 mov r8, #161 add r1, r3, r1, asl #2 add r6, r1, #3 mov r7, r3 - b .L176 -.L177: + b .L171 +.L172: str r8, [r4, #8] mov r3, #0 str r3, [r4, #0] @@ -1283,14 +1254,14 @@ SamsungSetRRPara: ldrsb r3, [r6, #1]! str r3, [r4, #0] bl NandcDelayns -.L176: +.L171: ldrb r3, [sl, #3764] @ zero_extendqisi2 cmp r5, r3 - bcc .L177 + bcc .L172 ldmfd sp!, {r3, r4, r5, r6, r7, r8, sl, pc} -.L179: +.L174: .align 2 -.L178: +.L173: .word .LANCHOR1+2720 .word .LANCHOR0 .fnend @@ -1305,21 +1276,21 @@ ToshibaSetRRPara: stmfd sp!, {r3, r4, r5, r6, r7, r8, sl, lr} .save {r3, r4, r5, r6, r7, r8, sl, lr} add r6, r1, #1 - ldr r3, .L187 + ldr r3, .L182 mov r4, r0 add r6, r6, r6, asl #2 mov r5, #0 add r2, r3, #45 sub sl, r3, #2784 add r7, r3, r6 - ldr r8, .L187+4 + ldr r8, .L182+4 add r6, r2, r6 add sl, sl, r1 - b .L181 -.L185: + b .L176 +.L180: mov r3, #85 str r3, [r4, #8] - ldr r3, .L187 + ldr r3, .L182 mov r0, #200 ldrsb r3, [r5, r3] str r3, [r4, #4] @@ -1327,25 +1298,25 @@ ToshibaSetRRPara: ldrb r3, [r8, #3765] @ zero_extendqisi2 cmp r3, #34 ldreqsb r3, [r7, #0] - beq .L186 + beq .L181 cmp r3, #35 addne r3, sl, #2912 addne r3, r3, #12 ldreqsb r3, [r6, #0] ldrnesb r3, [r3, #0] -.L186: +.L181: add r5, r5, #1 add r7, r7, #1 add r6, r6, #1 str r3, [r4, #0] -.L181: +.L176: ldrb r3, [r8, #3764] @ zero_extendqisi2 cmp r5, r3 - bcc .L185 + bcc .L180 ldmfd sp!, {r3, r4, r5, r6, r7, r8, sl, pc} -.L188: +.L183: .align 2 -.L187: +.L182: .word .LANCHOR1+2784 .word .LANCHOR0 .fnend @@ -1360,7 +1331,7 @@ FlashReadStatus: stmfd sp!, {r3, r4, r5, lr} .save {r3, r4, r5, lr} mov r2, #112 - ldr r3, .L190 + ldr r3, .L185 add r3, r3, r0, asl #3 mov r0, #80 ldrb r5, [r3, #20] @ zero_extendqisi2 @@ -1371,9 +1342,9 @@ FlashReadStatus: bl NandcDelayns ldr r0, [r4, r5, asl #8] ldmfd sp!, {r3, r4, r5, pc} -.L191: +.L186: .align 2 -.L190: +.L185: .word .LANCHOR0 .fnend .size FlashReadStatus, .-FlashReadStatus @@ -1384,31 +1355,31 @@ NandcWaitFlashReady: .fnstart @ args = 0, pretend = 0, frame = 8 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L197 + ldr r3, .L192 stmfd sp!, {r0, r1, r2, r4, r5, lr} .save {r0, r1, r2, r4, r5, lr} add r3, r3, r0, asl #3 - ldr r4, .L197+4 + ldr r4, .L192+4 ldr r5, [r3, #16] -.L194: +.L189: mov r0, #100 bl NandcDelayns ldr r3, [r5, #0] str r3, [sp, #4] ldr r3, [sp, #4] tst r3, #512 - bne .L195 + bne .L190 subs r4, r4, #1 - bne .L194 + bne .L189 mvn r0, #0 - b .L193 -.L195: + b .L188 +.L190: mov r0, #0 -.L193: +.L188: ldmfd sp!, {r1, r2, r3, r4, r5, pc} -.L198: +.L193: .align 2 -.L197: +.L192: .word .LANCHOR0 .word 100000 .fnend @@ -1428,9 +1399,9 @@ FlashEraseSLc2KBlocks: mov r8, r1 mov r4, r0 mov r7, r6 - ldr r5, .L207 - b .L200 -.L206: + ldr r5, .L202 + b .L195 +.L201: add r3, r6, r8 add r2, sp, #8 mov r0, r4 @@ -1444,7 +1415,7 @@ FlashEraseSLc2KBlocks: cmp r3, r2 mvncs r3, #0 strcs r3, [r4, #0] - bcs .L202 + bcs .L197 add r2, r5, r3 add r3, r5, r3, asl #4 ldrb sl, [r2, #3768] @ zero_extendqisi2 @@ -1481,29 +1452,29 @@ FlashEraseSLc2KBlocks: strne r3, [r4, #0] ldr r3, [r4, #0] cmn r3, #1 - bne .L205 - ldr r0, .L207+4 + bne .L200 + ldr r0, .L202+4 ldr r1, [sp, #8] bl printk -.L205: +.L200: mov r0, sl bl NandcFlashDeCs -.L202: +.L197: sub r6, r6, #1 add r7, r7, #1 add r4, r4, #36 uxtb r6, r6 -.L200: +.L195: cmp r7, r8 - bne .L206 + bne .L201 mov r0, #0 add sp, sp, #20 ldmfd sp!, {r4, r5, r6, r7, r8, sl, pc} -.L208: +.L203: .align 2 -.L207: +.L202: .word .LANCHOR0 - .word .LC2 + .word .LC1 .fnend .size FlashEraseSLc2KBlocks, .-FlashEraseSLc2KBlocks .align 2 @@ -1523,17 +1494,17 @@ SandiskSetRRPara: mov r0, #200 mov r5, r1 bl NandcDelayns - ldr r1, .L215 + ldr r1, .L210 add r3, r5, r5, asl #2 mvn r6, #4 add r0, r1, r3 add r1, r1, #45 add r1, r1, r3 mov r2, #0 - ldr ip, .L215+4 + ldr ip, .L210+4 mul r5, r6, r5 - b .L210 -.L213: + b .L205 +.L208: ldrb r6, [ip, #3765] @ zero_extendqisi2 add r2, r2, #1 cmp r6, #67 @@ -1544,16 +1515,16 @@ SandiskSetRRPara: add r1, r1, #1 ldrsb r6, [r6, #5] str r6, [r4, #0] -.L210: +.L205: ldrb r6, [ip, #3764] @ zero_extendqisi2 cmp r2, r6 - bcc .L213 + bcc .L208 mov r0, #0 ldmfd sp!, {r4, r5, r6, lr} b NandcWaitFlashReady -.L216: +.L211: .align 2 -.L215: +.L210: .word .LANCHOR1+2784 .word .LANCHOR0 .fnend @@ -1565,7 +1536,7 @@ SandiskProgTestBadBlock: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L218 + ldr r3, .L213 stmfd sp!, {r4, r5, r6, lr} .save {r4, r5, r6, lr} add r3, r3, r0, asl #3 @@ -1596,9 +1567,9 @@ SandiskProgTestBadBlock: ldr r0, [r5, r6, asl #8] and r0, r0, #1 ldmfd sp!, {r4, r5, r6, pc} -.L219: +.L214: .align 2 -.L218: +.L213: .word .LANCHOR0 .fnend .size SandiskProgTestBadBlock, .-SandiskProgTestBadBlock @@ -1609,13 +1580,13 @@ FlashReadSpare: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L221 + ldr r3, .L216 mov ip, #0 stmfd sp!, {r4, r5, r6, lr} .save {r4, r5, r6, lr} mov r6, r2 ldrb r2, [r3, #2697] @ zero_extendqisi2 - ldr r3, .L221+4 + ldr r3, .L216+4 add r3, r3, r0, asl #3 mov r2, r2, asl #9 ldrb r5, [r3, #20] @ zero_extendqisi2 @@ -1638,9 +1609,9 @@ FlashReadSpare: ldr r3, [r4, r5, asl #8] strb r3, [r6, #0] ldmfd sp!, {r4, r5, r6, pc} -.L222: +.L217: .align 2 -.L221: +.L216: .word .LANCHOR1 .word .LANCHOR0 .fnend @@ -1686,7 +1657,7 @@ FlashReset: stmfd sp!, {r3, r4, r5, lr} .save {r3, r4, r5, lr} mov r4, r0 - ldr r3, .L225 + ldr r3, .L220 add r3, r3, r0, asl #3 ldrb r5, [r3, #20] @ zero_extendqisi2 ldr r2, [r3, #16] @@ -1700,9 +1671,9 @@ FlashReset: mov r0, r4 ldmfd sp!, {r3, r4, r5, lr} b NandcFlashDeCs -.L226: +.L221: .align 2 -.L225: +.L220: .word .LANCHOR0 .fnend .size FlashReset, .-FlashReset @@ -1717,7 +1688,7 @@ FlashReadIDRaw: mov r5, r1 mov r4, r0 bl FlashReset - ldr r3, .L229 + ldr r3, .L224 mov r0, r4 add r3, r3, r4, asl #3 ldrb r7, [r3, #20] @ zero_extendqisi2 @@ -1753,10 +1724,10 @@ FlashReadIDRaw: sub r3, r2, #1 uxtb r3, r3 cmp r3, #253 - bhi .L227 + bhi .L222 ldrb r1, [r5, #2] @ zero_extendqisi2 ldrb r3, [r5, #1] @ zero_extendqisi2 - ldr r0, .L229+4 + ldr r0, .L224+4 str r1, [sp, #0] ldrb r1, [r5, #3] @ zero_extendqisi2 str r1, [sp, #4] @@ -1766,13 +1737,13 @@ FlashReadIDRaw: str r1, [sp, #12] add r1, r4, #1 bl printk -.L227: +.L222: ldmfd sp!, {r0, r1, r2, r3, r4, r5, r6, r7, r8, pc} -.L230: +.L225: .align 2 -.L229: +.L224: .word .LANCHOR0 - .word .LC3 + .word .LC2 .fnend .size FlashReadIDRaw, .-FlashReadIDRaw .align 2 @@ -1785,14 +1756,14 @@ FlashSetInterfaceMode: stmfd sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} mov r4, #0 - ldr r9, .L245 + ldr r9, .L240 mov r7, #239 - ldr sl, .L245+4 + ldr sl, .L240+4 mov r1, r4 sub r8, r9, #16 mov r6, #128 mov r5, #1 -.L241: +.L236: mov r2, r9 ldrb lr, [r4, sl] @ zero_extendqisi2 ldr r3, [r2, r4]! @@ -1801,60 +1772,60 @@ FlashSetInterfaceMode: ldrb r2, [r2, #4] @ zero_extendqisi2 add r2, r2, #8 add ip, r3, r2, asl #8 - beq .L232 + beq .L227 cmp lr, #173 cmpne lr, #44 - bne .L233 -.L232: + bne .L228 +.L227: cmp r0, #1 ldrb fp, [r8, #3776] @ zero_extendqisi2 - bne .L234 + bne .L229 tst fp, #1 - beq .L233 + beq .L228 cmp lr, #173 str r7, [ip, #8] streq r0, [ip, #4] - beq .L244 + beq .L239 cmp lr, #44 streq r0, [ip, #4] strne r6, [ip, #4] moveq ip, #5 strne r0, [r3, r2, asl #8] - bne .L239 - b .L243 -.L234: + bne .L234 + b .L238 +.L229: tst fp, #4 - beq .L233 + beq .L228 cmp lr, #173 str r7, [ip, #8] streq r5, [ip, #4] moveq ip, #32 - beq .L243 + beq .L238 cmp lr, #44 strne r6, [ip, #4] - bne .L244 + bne .L239 str r5, [ip, #4] mov ip, #35 -.L243: +.L238: str ip, [r3, r2, asl #8] - b .L239 -.L244: - str r1, [r3, r2, asl #8] + b .L234 .L239: str r1, [r3, r2, asl #8] +.L234: + str r1, [r3, r2, asl #8] str r1, [r3, r2, asl #8] str r1, [r3, r2, asl #8] -.L233: +.L228: add r4, r4, #8 cmp r4, #32 - bne .L241 + bne .L236 mov r0, #0 bl NandcWaitFlashReady mov r0, #0 ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L246: +.L241: .align 2 -.L245: +.L240: .word .LANCHOR0+16 .word .LANCHOR0+2132 .fnend @@ -1869,29 +1840,29 @@ FlashDeInit: stmfd sp!, {r4, lr} .save {r4, lr} mov r0, #0 - ldr r4, .L249 + ldr r4, .L244 bl NandcWaitFlashReady bl FlashSetReadRetryDefault ldrb r3, [r4, #3777] @ zero_extendqisi2 cmp r3, #0 - beq .L248 + beq .L243 ldrb r3, [r4, #3776] @ zero_extendqisi2 tst r3, #1 - beq .L248 + beq .L243 mov r0, #1 bl FlashSetInterfaceMode mov r0, #1 bl NandcSetMode mov r3, #0 strb r3, [r4, #3777] -.L248: +.L243: ldr r3, [r4, #16] mov r0, #0 str r0, [r3, #336] ldmfd sp!, {r4, pc} -.L250: +.L245: .align 2 -.L249: +.L244: .word .LANCHOR0 .fnend .size FlashDeInit, .-FlashDeInit @@ -1902,7 +1873,7 @@ FlashReadDpCmd: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L255 + ldr r3, .L250 stmfd sp!, {r4, r5, r6, r7, r8, lr} .save {r4, r5, r6, r7, r8, lr} mov r7, r2 @@ -1917,7 +1888,7 @@ FlashReadDpCmd: ldrb r2, [r3, #56] @ zero_extendqisi2 add r6, r1, r6, asl #8 str r2, [r6, #8] - bne .L252 + bne .L247 mov r8, #0 uxtb r2, r5 str r8, [r6, #4] @@ -1933,8 +1904,8 @@ FlashReadDpCmd: str r8, [r6, #8] str r8, [r6, #4] str r8, [r6, #4] - b .L254 -.L252: + b .L249 +.L247: uxtb r2, r5 str r2, [r6, #4] mov r2, r5, lsr #8 @@ -1943,7 +1914,7 @@ FlashReadDpCmd: str r2, [r6, #4] ldrb r3, [r3, #57] @ zero_extendqisi2 str r3, [r6, #8] -.L254: +.L249: uxtb r3, r7 mov r0, r4 str r3, [r6, #4] @@ -1956,9 +1927,9 @@ FlashReadDpCmd: str r3, [r6, #8] ldmfd sp!, {r4, r5, r6, r7, r8, lr} b FlashSetRandomizer -.L256: +.L251: .align 2 -.L255: +.L250: .word .LANCHOR0 .fnend .size FlashReadDpCmd, .-FlashReadDpCmd @@ -1969,7 +1940,7 @@ HynixGetReadRetryDefault: .fnstart @ args = 0, pretend = 0, frame = 64 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L316 + ldr r3, .L311 mvn r2, #83 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} @@ -1985,16 +1956,16 @@ HynixGetReadRetryDefault: strb r0, [r3, #2913] strb r1, [r3, #2914] strb r2, [r3, #2915] - bne .L258 + bne .L253 mvn r2, #88 strb r2, [r3, #2912] - ldr r3, .L316+4 + ldr r3, .L311+4 mvn r2, #8 strb r2, [r3, #2949] - b .L297 -.L258: + b .L292 +.L253: cmp r4, #3 - bne .L260 + bne .L255 mvn r2, #79 strb r2, [r3, #2912] mvn r2, #78 @@ -2010,10 +1981,10 @@ HynixGetReadRetryDefault: mvn r2, #73 strb r2, [r3, #2918] mvn r2, #72 - b .L312 -.L260: + b .L307 +.L255: cmp r4, #4 - bne .L261 + bne .L256 mvn ip, #51 strb r0, [r3, #2917] strb ip, [r3, #2912] @@ -2026,14 +1997,14 @@ HynixGetReadRetryDefault: strb ip, [r3, #2915] mvn ip, #50 strb ip, [r3, #2916] -.L312: +.L307: mov r6, #8 strb r2, [r3, #2919] mov r5, r6 - b .L259 -.L261: + b .L254 +.L256: cmp r4, #5 - bne .L262 + bne .L257 mov r2, #56 mov r6, #8 strb r2, [r3, #2912] @@ -2043,10 +2014,10 @@ HynixGetReadRetryDefault: strb r2, [r3, #2914] mov r2, #59 strb r2, [r3, #2915] - b .L311 -.L262: + b .L306 +.L257: cmp r4, #6 - bne .L297 + bne .L292 mov r2, #14 mov r6, #12 strb r2, [r3, #2912] @@ -2056,20 +2027,20 @@ HynixGetReadRetryDefault: strb r2, [r3, #2914] mov r2, #17 strb r2, [r3, #2915] - b .L311 -.L297: + b .L306 +.L292: mov r6, #7 -.L311: +.L306: mov r5, #4 -.L259: +.L254: sub r3, r4, #1 cmp r3, #1 - bhi .L310 - b .L315 -.L269: + bhi .L305 + b .L310 +.L264: add r1, r2, r8 add r4, r2, #2928 - ldr fp, .L316+8 + ldr fp, .L311+8 mov r7, #0 ldrb r1, [r1, #3768] @ zero_extendqisi2 mov r5, #55 @@ -2079,7 +2050,7 @@ HynixGetReadRetryDefault: ldr r1, [r2, #16] add sl, sl, #8 add sl, r1, sl, asl #8 -.L265: +.L260: add r2, fp, r7 str r5, [sl, #8] mov r0, #80 @@ -2093,26 +2064,26 @@ HynixGetReadRetryDefault: ldr r3, [sp, #8] uxtb r2, r7 cmp r2, r6 - bcc .L265 + bcc .L260 mov r2, #0 - b .L266 -.L267: + b .L261 +.L262: 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 .L267 + bne .L262 add r2, r2, #1 cmp r2, #4 - beq .L268 -.L266: + beq .L263 +.L261: mov r1, #1 add ip, r4, r2 add r0, r2, r9 - b .L267 -.L268: + b .L262 +.L263: add r8, r8, #1 mov r2, #0 strb r2, [r4, #16] @@ -2123,26 +2094,26 @@ HynixGetReadRetryDefault: strb r2, [r4, #48] strb r2, [r4, #41] strb r2, [r4, #49] - b .L263 -.L315: - ldr r9, .L316+12 + b .L258 +.L310: + ldr r9, .L311+12 mov r3, r6 mov r8, #0 mov r6, r5 -.L263: - ldr r2, .L316 +.L258: + ldr r2, .L311 ldrb r1, [r2, #3766] @ zero_extendqisi2 cmp r1, r8 - bhi .L269 + bhi .L264 mov r5, r6 mov r6, r3 - b .L270 -.L310: + b .L265 +.L305: sub r3, r4, #3 cmp r3, #3 - bhi .L270 + bhi .L265 mul r3, r6, r5 - ldr r8, .L316 + ldr r8, .L311 str r6, [sp, #44] mov r2, r3, asr #2 mov r3, r3, asl #4 @@ -2151,10 +2122,10 @@ HynixGetReadRetryDefault: str r2, [sp, #24] mov r7, r3 str r3, [sp, #12] - b .L271 -.L296: + b .L266 +.L291: ldr ip, [sp, #12] - ldr r1, .L316+16 + ldr r1, .L311+16 add r3, r8, ip ldrb r6, [r3, #3768] @ zero_extendqisi2 add r3, r8, r6, asl #3 @@ -2177,24 +2148,24 @@ HynixGetReadRetryDefault: moveq r3, #64 streq r3, [r9, fp, asl #8] moveq r3, #204 - beq .L313 -.L272: + beq .L308 +.L267: sub r3, r4, #5 cmp r3, #1 - ldrls r2, .L316+8 + ldrls r2, .L311+8 ldrlsb r3, [r2, #4] @ zero_extendqisi2 strls r3, [sl, #4] movls r3, #82 - bls .L314 -.L274: + bls .L309 +.L269: mov r3, #174 str r3, [sl, #4] mov r3, #176 str r7, [r9, fp, asl #8] -.L313: +.L308: str r3, [sl, #4] mov r3, #77 -.L314: +.L309: cmp r4, #6 str r3, [r9, fp, asl #8] mov r0, r6 @@ -2224,35 +2195,35 @@ HynixGetReadRetryDefault: mov r3, #0 movls r2, #16 movhi r2, #2 -.L278: +.L273: add r3, r3, #1 ldr r1, [sl, #0] uxtb r3, r3 cmp r3, r2 - bcc .L278 + bcc .L273 ldr ip, [r8, #3780] mov r3, #0 str ip, [sp, #32] -.L279: +.L274: ldr r2, [sl, #0] ldr lr, [sp, #32] strb r2, [lr, r3] add r3, r3, #1 ldr r2, [sp, #52] cmp r3, r2 - blt .L279 + blt .L274 ldr r3, [sp, #24] mov ip, r3, asl #2 mov lr, r3, asl #3 - ldr r3, .L316 + ldr r3, .L311 str ip, [sp, #40] ldr r1, [r3, #3780] mov r3, #8 add r1, r1, ip -.L281: +.L276: mov r2, #0 mov r0, r2 -.L280: +.L275: ldr ip, [r1, r2] add r0, r0, #1 mvn ip, ip @@ -2260,14 +2231,14 @@ HynixGetReadRetryDefault: ldr ip, [sp, #24] add r2, r2, #4 cmp r0, ip - blt .L280 + blt .L275 subs r3, r3, #1 add r1, r1, lr - bne .L281 + bne .L276 str r3, [sp, #20] str r5, [sp, #60] - b .L282 -.L286: + b .L277 +.L281: mov lr, #1 mov r0, #0 mov ip, lr, asl r2 @@ -2275,7 +2246,7 @@ HynixGetReadRetryDefault: mov r5, #16 str r3, [sp, #0] str r5, [sp, #16] -.L284: +.L279: ldr r3, [sp, #56] ldr r3, [r3, r0] and r5, ip, r3 @@ -2286,13 +2257,13 @@ HynixGetReadRetryDefault: subs r3, r3, #1 add r0, r0, r5 str r3, [sp, #16] - bne .L284 + bne .L279 cmp lr, #8 add r2, r2, #1 orrhi r1, r1, ip cmp r2, #32 ldr r3, [sp, #0] - bne .L286 + bne .L281 ldr ip, [sp, #20] ldr r2, [sp, #24] add ip, ip, #1 @@ -2301,16 +2272,16 @@ HynixGetReadRetryDefault: str ip, [sp, #20] str r1, [r5, r3] add r3, r3, #4 - bge .L287 -.L282: + bge .L282 +.L277: ldr r5, [r8, #3780] mov r1, #0 mov r2, r1 add ip, r5, r3 str ip, [sp, #56] str r5, [sp, #36] - b .L286 -.L287: + b .L281 +.L282: cmp r4, #6 ldr r5, [sp, #60] ldr r1, [sp, #48] @@ -2326,14 +2297,14 @@ HynixGetReadRetryDefault: ldr r0, [sp, #32] addne r3, r3, #1 strne r3, [sp, #16] - b .L291 -.L292: + b .L286 +.L287: ldrb lr, [ip], #1 @ zero_extendqisi2 strb lr, [r1, r3] add r3, r3, #1 uxtb lr, r3 cmp lr, r5 - bcc .L292 + bcc .L287 ldr r3, [sp, #16] add r2, r2, #1 ldr ip, [sp, #20] @@ -2341,12 +2312,12 @@ HynixGetReadRetryDefault: ldr r3, [sp, #44] add r1, r1, ip cmp r2, r3 - bge .L293 -.L291: + bge .L288 +.L286: mov ip, r0 mov r3, #0 - b .L292 -.L293: + b .L287 +.L288: mov r3, #255 mov r0, r6 str r3, [sl, #8] @@ -2355,8 +2326,8 @@ HynixGetReadRetryDefault: cmp ip, #1 movhi r3, #56 strhi r3, [sl, #8] - bhi .L295 - ldr lr, .L316+8 + bhi .L290 + ldr lr, .L311+8 mov r3, #54 str r3, [sl, #8] mvn r1, #0 @@ -2367,28 +2338,28 @@ HynixGetReadRetryDefault: str r7, [r9, fp, asl #8] str r3, [sl, #8] bl FlashReadCmd -.L295: +.L290: mov r0, r6 bl NandcWaitFlashReady ldr r2, [sp, #12] add r3, r2, #1 uxtb r3, r3 str r3, [sp, #12] -.L271: +.L266: ldrb r3, [r8, #3766] @ zero_extendqisi2 ldr ip, [sp, #12] cmp r3, ip - bhi .L296 + bhi .L291 ldr r6, [sp, #44] -.L270: - ldr r3, .L316 +.L265: + ldr r3, .L311 strb r5, [r3, #2909] strb r6, [r3, #2910] add sp, sp, #68 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L317: +.L312: .align 2 -.L316: +.L311: .word .LANCHOR0 .word .LANCHOR1 .word .LANCHOR0+2908 @@ -2409,67 +2380,67 @@ FlashGetReadRetryDefault: ldmeqfd sp!, {r3, pc} sub r2, r3, #1 cmp r2, #5 - bhi .L320 + bhi .L315 ldmfd sp!, {r3, lr} b HynixGetReadRetryDefault -.L320: +.L315: cmp r3, #49 - bne .L321 - ldr r0, .L327 + bne .L316 + ldr r0, .L322 mov r2, #64 - ldr r1, .L327+4 + ldr r1, .L322+4 strb r3, [r0, #2908] mov r3, #4 strb r3, [r0, #2909] mov r3, #15 strb r3, [r0, #2910] add r0, r0, #2912 - b .L325 -.L321: + b .L320 +.L316: cmp r3, #33 cmpne r3, #65 - beq .L322 + beq .L317 cmp r3, #66 - bne .L323 -.L322: - ldr r0, .L327 + bne .L318 +.L317: + ldr r0, .L322 strb r3, [r0, #2908] mov r3, #4 - b .L326 -.L323: + b .L321 +.L318: cmp r3, #34 cmpne r3, #67 - bne .L324 - ldr r0, .L327 + bne .L319 + ldr r0, .L322 strb r3, [r0, #2908] mov r3, #5 -.L326: +.L321: strb r3, [r0, #2909] mov r2, #45 mov r3, #7 - ldr r1, .L327+8 + ldr r1, .L322+8 strb r3, [r0, #2910] add r0, r0, #2912 - b .L325 -.L324: + b .L320 +.L319: cmp r3, #35 cmpne r3, #68 ldmnefd sp!, {r3, pc} - ldr r0, .L327 + ldr r0, .L322 mov r2, #95 - ldr r1, .L327+12 + ldr r1, .L322+12 strb r3, [r0, #2908] mov r3, #5 strb r3, [r0, #2909] mov r3, #17 strb r3, [r0, #2910] add r0, r0, #2912 -.L325: +.L320: bl memcpy ldmfd sp!, {r3, pc} -.L328: +.L323: .align 2 -.L327: +.L322: .word .LANCHOR0 .word .LANCHOR1+2720 .word .LANCHOR1+2784 @@ -2484,14 +2455,14 @@ NandcRandmzSel: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L330 + ldr r3, .L325 add r3, r3, r0, asl #3 ldr r3, [r3, #16] str r1, [r3, #336] bx lr -.L331: +.L326: .align 2 -.L330: +.L325: .word .LANCHOR0 .fnend .size NandcRandmzSel, .-NandcRandmzSel @@ -2508,36 +2479,36 @@ NandcTimeCfg: mov r4, r0 mov r0, #0 bl rknand_get_clk_rate - ldr r1, .L342 + ldr r1, .L337 bl __aeabi_idiv - ldr r3, .L342+4 + ldr r3, .L337+4 ldr r3, [r3, #2164] cmp r0, #250 movwgt r2, #8354 - bgt .L340 + bgt .L335 cmp r0, #220 - bgt .L341 -.L335: + bgt .L336 +.L330: cmp r0, #185 movwgt r2, #4226 - bgt .L340 + bgt .L335 cmp r0, #160 movwgt r2, #4194 - bgt .L340 + bgt .L335 cmp r4, #35 movwls r2, #4193 - bls .L340 + bls .L335 cmp r4, #99 movwls r2, #4225 - bls .L340 -.L341: + bls .L335 +.L336: movw r2, #8322 -.L340: +.L335: str r2, [r3, #4] ldmfd sp!, {r4, pc} -.L343: +.L338: .align 2 -.L342: +.L337: .word 1000000 .word .LANCHOR0 .fnend @@ -2552,7 +2523,7 @@ NandcInit: stmfd sp!, {r3, r4, r5, lr} .save {r3, r4, r5, lr} mov r5, #0 - ldr r4, .L345 + ldr r4, .L340 mov r3, #1 str r0, [r4, #2164] str r0, [r4, #16] @@ -2585,7 +2556,7 @@ NandcInit: movw r2, #8322 mov r0, #36864 str r2, [r3, #344] - ldr r2, .L345+4 + ldr r2, .L340+4 str r2, [r3, #304] bl ftl_malloc str r5, [r4, #3820] @@ -2595,11 +2566,11 @@ NandcInit: add r0, r0, #32768 str r0, [r4, #3800] ldmfd sp!, {r3, r4, r5, pc} -.L346: +.L341: .align 2 -.L345: +.L340: .word .LANCHOR0 - .word 1579009 + .word 1710593 .fnend .size NandcInit, .-NandcInit .align 2 @@ -2615,23 +2586,23 @@ FlashTimingCfg: sub r3, r3, #33 cmp r0, r2 cmpne r3, #1 - bls .L348 + bls .L343 movw r3, #4226 movw r2, #8322 cmp r0, r3 cmpne r0, r2 - bne .L349 -.L348: - ldr r3, .L350 + bne .L344 +.L343: + ldr r3, .L345 ldr r3, [r3, #2164] str r0, [r3, #4] -.L349: - ldr r3, .L350+4 +.L344: + ldr r3, .L345+4 ldrb r0, [r3, #2709] @ zero_extendqisi2 b NandcTimeCfg -.L351: +.L346: .align 2 -.L350: +.L345: .word .LANCHOR0 .word .LANCHOR1 .fnend @@ -2643,7 +2614,7 @@ NandcGetTimeCfg: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr ip, .L353 + ldr ip, .L348 stmfd sp!, {r4, lr} .save {r4, lr} ldr r4, [ip, #2164] @@ -2662,9 +2633,9 @@ NandcGetTimeCfg: orr r2, r2, r1, asl #16 str r2, [r3, #0] ldmfd sp!, {r4, pc} -.L354: +.L349: .align 2 -.L353: +.L348: .word .LANCHOR0 .fnend .size NandcGetTimeCfg, .-NandcGetTimeCfg @@ -2676,7 +2647,7 @@ NandcBchSel: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L360 + ldr r3, .L355 mov r1, #1 ldr r2, [r3, #2164] str r0, [r3, #3832] @@ -2686,24 +2657,24 @@ NandcBchSel: cmp r0, r1 bfi r3, r1, #8, #8 bfc r3, #18, #1 - beq .L359 -.L356: + beq .L354 +.L351: cmp r0, #24 orreq r3, r3, #16 - beq .L357 + beq .L352 cmp r0, #40 orr r3, r3, #262144 orr r3, r3, #16 - bne .L357 -.L359: + bne .L352 +.L354: bfc r3, #4, #1 -.L357: +.L352: orr r3, r3, #1 str r3, [r2, #12] bx lr -.L361: +.L356: .align 2 -.L360: +.L355: .word .LANCHOR0 .fnend .size NandcBchSel, .-NandcBchSel @@ -2715,12 +2686,12 @@ FlashBchSel: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L363 + ldr r3, .L358 strb r0, [r3, #3836] b NandcBchSel -.L364: +.L359: .align 2 -.L363: +.L358: .word .LANCHOR0 .fnend .size FlashBchSel, .-FlashBchSel @@ -2734,8 +2705,8 @@ FlashResume: stmfd sp!, {r3, r4, r5, lr} .save {r3, r4, r5, lr} mov r4, #0 - ldr r3, .L370 - ldr r5, .L370+4 + ldr r3, .L365 + ldr r5, .L365+4 ldr r2, [r3, #2164] ldr r1, [r3, #2168] str r1, [r2, #0] @@ -2754,22 +2725,22 @@ FlashResume: ldr r3, [r3, #2196] str r1, [r2, #336] str r3, [r2, #344] -.L367: +.L362: ldrb r3, [r5, r4, asl #3] @ zero_extendqisi2 sub r3, r3, #1 uxtb r3, r3 cmp r3, #253 - bhi .L366 + bhi .L361 uxtb r0, r4 bl FlashReset -.L366: +.L361: add r4, r4, #1 cmp r4, #4 - bne .L367 - ldr r4, .L370 + bne .L362 + ldr r4, .L365 ldrb r3, [r4, #3777] @ zero_extendqisi2 cmp r3, #0 - beq .L368 + beq .L363 mov r0, #1 bl NandcSetMode ldrb r0, [r4, #3776] @ zero_extendqisi2 @@ -2778,16 +2749,16 @@ FlashResume: bl NandcSetMode ldrb r0, [r4, #2185] @ zero_extendqisi2 bl NandcSetDdrPara -.L368: - ldr r3, .L370 +.L363: + ldr r3, .L365 ldr r3, [r3, #2776] ldrb r0, [r3, #20] @ zero_extendqisi2 bl FlashBchSel mov r0, #0 ldmfd sp!, {r3, r4, r5, pc} -.L371: +.L366: .align 2 -.L370: +.L365: .word .LANCHOR0 .word .LANCHOR0+2132 .fnend @@ -2874,10 +2845,10 @@ NandcIqrWaitFlashReady: and r3, r3, #2 uxtb r3, r3 cmp r3, #0 - bne .L377 + bne .L372 ldmfd sp!, {r4, lr} b wait_for_nand_flash_ready -.L377: +.L372: mov r1, #1 ldmfd sp!, {r4, lr} b NandCIrqDisable @@ -2894,18 +2865,18 @@ FlashEraseBlocks: .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} .pad #28 sub sp, sp, #28 - ldr r5, .L393 + ldr r5, .L388 mov r6, r0 str r1, [sp, #12] mov r7, r2 ldrb r4, [r5, #0] @ zero_extendqisi2 cmp r4, #0 moveq r9, r5 - beq .L379 + beq .L374 mov r1, r2 bl FlashEraseSLc2KBlocks - b .L380 -.L387: + b .L375 +.L382: mov r8, #36 rsb r3, r4, r7 mul r8, r8, r4 @@ -2923,17 +2894,17 @@ FlashEraseBlocks: cmp r0, r3 mvncs r3, #0 strcs r3, [r6, r8] - bcs .L382 + bcs .L377 ldrb r3, [r5, #3837] @ zero_extendqisi2 cmp r3, #0 add r3, r9, r0, asl #4 ldr r3, [r3, #2788] moveq sl, #0 cmp r3, #0 - beq .L384 + beq .L379 uxtb r0, r0 bl FlashWaitCmdDone -.L384: +.L379: ldr r2, [sp, #20] mov r1, #0 cmp sl, #0 @@ -2954,13 +2925,13 @@ FlashEraseBlocks: bl NandcFlashCs ldr r3, [sp, #12] cmp r3, #1 - bne .L386 + bne .L381 ldrb r3, [r5, #80] @ zero_extendqisi2 cmp r3, #0 - beq .L386 + beq .L381 mov r0, r8 bl flash_enter_slc_mode -.L386: +.L381: ldr r3, [sp, #20] mov r0, r8 ldr r1, [sp, #16] @@ -2976,41 +2947,41 @@ FlashEraseBlocks: bl FlashEraseCmd mov r0, r8 bl NandcFlashDeCs -.L382: +.L377: add r4, r4, #1 -.L379: +.L374: cmp r4, r7 - bcc .L387 - ldr r5, .L393 + bcc .L382 + ldr r5, .L388 mov r4, #0 - ldr r6, .L393+4 + ldr r6, .L388+4 ldr r0, [r5, #2164] bl NandcIqrWaitFlashReady - b .L388 -.L390: + b .L383 +.L385: uxtb r0, r4 bl FlashWaitCmdDone ldr r3, [sp, #12] cmp r3, #1 - bne .L389 + bne .L384 ldrb r3, [r5, #80] @ zero_extendqisi2 cmp r3, #0 - beq .L389 + beq .L384 ldrb r0, [r6, r4, asl #4] @ zero_extendqisi2 bl flash_exit_slc_mode -.L389: +.L384: add r4, r4, #1 -.L388: +.L383: ldrb r3, [r5, #3766] @ zero_extendqisi2 cmp r4, r3 - bcc .L390 + bcc .L385 mov r0, #0 -.L380: +.L375: add sp, sp, #28 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L394: +.L389: .align 2 -.L393: +.L388: .word .LANCHOR0 .word .LANCHOR0+2780 .fnend @@ -3038,7 +3009,7 @@ NandcSendDumpDataStart: ldr r2, [r0, #16] .pad #8 sub sp, sp, #8 - ldr r3, .L397 + ldr r3, .L392 str r2, [sp, #4] ldr r2, [sp, #4] bfc r2, #2, #1 @@ -3050,9 +3021,9 @@ NandcSendDumpDataStart: str r3, [r0, #8] add sp, sp, #8 bx lr -.L398: +.L393: .align 2 -.L397: +.L392: .word 538969130 .fnend .size NandcSendDumpDataStart, .-NandcSendDumpDataStart @@ -3066,12 +3037,12 @@ NandcSendDumpDataDone: @ link register save eliminated. .pad #8 sub sp, sp, #8 -.L400: +.L395: ldr r3, [r0, #8] str r3, [sp, #4] ldr r3, [sp, #4] tst r3, #1048576 - beq .L400 + beq .L395 add sp, sp, #8 bx lr .fnend @@ -3086,7 +3057,7 @@ NandcXferStart: stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} mov r8, r2 - ldr r2, .L415 + ldr r2, .L410 mov ip, #16 mov r6, r1 mov r4, #0 @@ -3111,7 +3082,7 @@ NandcXferStart: bfi r4, r3, #4, #1 ldr r3, [r2, #12] cmp r3, #3 - bls .L403 + bls .L398 ldr r3, [r5, #16] cmp r9, #0 cmpeq r1, #0 @@ -3119,9 +3090,9 @@ NandcXferStart: ldr r3, [sp, #12] bfc r3, #2, #1 str r3, [sp, #12] - beq .L404 + beq .L399 cmp r6, #0 - beq .L405 + beq .L400 ldr r3, [r2, #3832] mov ip, r1 cmp r3, #24 @@ -3132,8 +3103,8 @@ NandcXferStart: str r3, [sp, #4] mov r3, #0 mov r0, r3 - b .L407 -.L410: + b .L402 +.L405: cmp r1, #0 mov lr, r3, lsr #2 add r0, r0, #1 @@ -3147,11 +3118,11 @@ NandcXferStart: strne sl, [fp, lr, asl #2] ldr lr, [sp, #0] add r3, r3, lr -.L407: +.L402: ldr sl, [sp, #4] cmp r0, sl - bcc .L410 -.L405: + bcc .L405 +.L400: mov r0, r5 add r8, r8, #1 bl rk_nandc_xfer_irq_flag_init @@ -3160,7 +3131,7 @@ NandcXferStart: mov r8, r8, asr #1 bl NandCIrqEnable bfi r4, r8, #22, #6 - ldr r8, .L415 + ldr r8, .L410 cmp r9, #0 ubfx sl, r4, #22, #5 mov r2, r6 @@ -3208,19 +3179,19 @@ NandcXferStart: ldr r3, [sp, #12] orr r3, r3, #1 str r3, [sp, #12] -.L404: +.L399: ldr r3, [sp, #12] str r3, [r5, #16] -.L403: +.L398: 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} -.L416: +.L411: .align 2 -.L415: +.L410: .word .LANCHOR0 .fnend .size NandcXferStart, .-NandcXferStart @@ -3239,14 +3210,14 @@ NandcCopy1KB: mov r4, r0 ldr r6, [sp, #16] add r2, r2, r5, asl #9 - bne .L418 + bne .L413 cmp r3, #0 - beq .L419 + beq .L414 mov r0, r2 mov r1, r3 mov r2, #1024 bl memcpy -.L419: +.L414: cmp r6, #0 ldmeqfd sp!, {r4, r5, r6, pc} ldrb r3, [r6, #2] @ zero_extendqisi2 @@ -3264,14 +3235,14 @@ NandcCopy1KB: add r5, r5, #128 str r3, [r4, r5, asl #2] ldmfd sp!, {r4, r5, r6, pc} -.L418: +.L413: cmp r3, #0 - beq .L421 + beq .L416 mov r1, r2 mov r0, r3 mov r2, #1024 bl memcpy -.L421: +.L416: cmp r6, #0 ldmeqfd sp!, {r4, r5, r6, pc} mov r5, r5, lsr #1 @@ -3300,14 +3271,14 @@ Ftl_log2: @ link register save eliminated. mov r2, #1 mov r3, #0 - b .L423 -.L424: + b .L418 +.L419: add r3, r3, #1 mov r2, r2, asl #1 uxth r3, r3 -.L423: +.L418: cmp r2, r0 - bls .L424 + bls .L419 sub r3, r3, #1 uxth r0, r3 bx lr @@ -3332,7 +3303,7 @@ FtlSysBlkNumInit: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L429 + ldr r3, .L424 movw r2, #3844 cmp r0, #23 movw r1, #3854 @@ -3350,9 +3321,9 @@ FtlSysBlkNumInit: rsb r2, r2, r1 str r2, [r3, #3856] bx lr -.L430: +.L425: .align 2 -.L429: +.L424: .word .LANCHOR0 .fnend .size FtlSysBlkNumInit, .-FtlSysBlkNumInit @@ -3361,14 +3332,16 @@ FtlSysBlkNumInit: .type FtlConstantsInit, %function FtlConstantsInit: .fnstart - @ args = 0, pretend = 0, frame = 8 + @ args = 0, pretend = 0, frame = 16 @ 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} + 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, .L444 + ldr r3, .L440 mov r4, r0 ldrh lr, [r0, #8] + .pad #20 + sub sp, sp, #20 ldrh r1, [r0, #10] ldrh r0, [r0, #12] strh lr, [r3, r2] @ movhi @@ -3380,158 +3353,164 @@ FtlConstantsInit: movw r2, #3854 strh r6, [r3, r2] @ movhi mov r3, #0 - ldr r2, .L444+4 -.L432: + ldr r2, .L440+4 +.L427: strb r3, [r3, r2] add r3, r3, #1 cmp r3, #32 - bne .L432 + bne .L427 ldrh r2, [r4, #14] ldrh r3, [r4, #20] cmp r3, r2, lsr #8 - bcs .L433 - ldr r2, .L444+4 + bcs .L428 + ldr r2, .L440+4 sub ip, r1, #1 uxtb r7, r0 mov r3, #0 rsb sl, r0, r2 - str sl, [sp, #0] + str sl, [sp, #8] mla ip, r0, ip, r2 mov r8, r7, asl #1 uxtb r8, r8 - str ip, [sp, #4] - b .L434 -.L435: + str ip, [sp, #12] + b .L429 +.L430: strb ip, [r9, r2] add fp, ip, r7 add ip, ip, r8 add r5, r5, #1 strb fp, [sl, r2] uxtb ip, ip -.L437: +.L432: cmp r5, r1 add r2, r2, r0 - bcc .L435 + bcc .L430 add r3, r3, #1 -.L434: +.L429: cmp r3, r0 - bcs .L436 - ldr fp, [sp, #0] + bcs .L431 + ldr fp, [sp, #8] mov r2, #0 uxtb ip, r3 mov r5, r2 add r9, fp, r3 - ldr fp, [sp, #4] + ldr fp, [sp, #12] add sl, fp, r3 - b .L437 -.L436: - ldr r3, .L444 + b .L432 +.L431: + ldr r3, .L440 movw r2, #3866 mov r1, r1, asl #1 mov r6, r6, lsr #1 strh r1, [r3, r2] @ movhi movw r2, #3854 strh r6, [r3, r2] @ movhi -.L433: - ldr r3, .L444 +.L428: + ldr r3, .L440 movw r2, #3902 cmp lr, #1 mov r1, #5 mov ip, #0 - ldr r8, .L444 + ldr sl, .L440 + ldrb r8, [r3, #0] @ zero_extendqisi2 strh r1, [r3, r2] @ movhi mov r1, #3904 streqh lr, [r3, r2] @ movhi + cmp r8, #0 movw r2, #3906 strh ip, [r3, r1] @ movhi mov r1, #4352 strh r1, [r3, r2] @ movhi - ldrb r3, [r3, #0] @ zero_extendqisi2 - cmp r3, #0 - ldrne r3, .L444 + ldrne r3, .L440 movne r1, #384 strneh r1, [r3, r2] @ movhi movw r3, #3866 - ldrh r5, [r8, r3] + ldrh r5, [sl, r3] movw r3, #3844 mul r5, r5, r0 uxth r5, r5 - strh r5, [r8, r3] @ movhi + strh r5, [sl, r3] @ movhi add r3, r3, #10 - ldrh r6, [r8, r3] + ldrh r6, [sl, r3] add r3, r3, #54 mul r0, r0, r6 uxth r0, r0 - strh r0, [r8, r3] @ movhi + strh r0, [sl, r3] @ movhi bl Ftl_log2 - ldrh r9, [r4, #16] movw r3, #3910 ldrh fp, [r4, #18] - ldrh sl, [r4, #20] - mul r2, r9, r5 - strh r0, [r8, r3] @ movhi - add r3, r3, #2 - mov r0, sl - strh r9, [r8, r3] @ movhi - add r3, r3, #2 - strh fp, [r8, r3] @ movhi - add r3, r3, #2 - strh r2, [r8, r3] @ movhi - add r3, r3, #2 - strh sl, [r8, r3] @ movhi + movw r2, #3912 + ldrh r9, [r4, #20] + strh r0, [sl, r3] @ movhi + mov r0, r9 + ldrh r3, [r4, #16] + mul r1, r3, r5 + strh r3, [sl, r2] @ movhi + add r2, r2, #2 + strh fp, [sl, r2] @ movhi + add r2, r2, #2 + strh r1, [sl, r2] @ movhi + add r2, r2, #2 + strh r9, [sl, r2] @ movhi + str r3, [sp, #4] bl Ftl_log2 - mov r3, #3920 - movw r2, #3922 + mov r2, #3920 + movw r1, #3922 cmp r6, #1024 - mul r1, fp, sl - strh r0, [r8, r3] @ movhi - mov r3, sl, asl #9 + strh r0, [sl, r2] @ movhi + mov r2, r9, asl #9 mov r7, r0 - uxth r3, r3 - strh r3, [r8, r2] @ movhi - add r2, r2, #2 - mov r3, r3, lsr #8 - strh r3, [r8, r2] @ movhi - movw r3, #3926 - ldrh r2, [r4, #26] - mov r4, r8 - strh r2, [r8, r3] @ movhi - uxtbhi r2, r6 - mul r3, r6, r5 - str r3, [r8, #3860] - movhi r3, #3904 - strhih r2, [r8, r3] @ movhi - mov r3, #3904 - ldrh r3, [r8, r3] - rsb r3, r3, r6 + uxth r2, r2 + strh r2, [sl, r1] @ movhi + add r1, r1, #2 + mov r2, r2, lsr #8 + strh r2, [sl, r1] @ movhi + movw r2, #3926 + 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 + ldr r3, [sp, #4] + strhih r1, [sl, r2] @ movhi + mov r2, #3904 + ldrh r2, [sl, r2] + mul r1, fp, r9 + rsb r2, r2, r6 mov r6, r6, asl #6 - mul r3, r3, r5 - mul r3, sl, r3 - mul r9, r9, r3 - movw r3, #3906 - mov r9, r9, asr #11 - str r9, [r8, #3928] - ldrh r8, [r8, r3] - mov r0, r8, asl #3 - mov r8, r8, asr r7 + mul r2, r2, r5 + mul r2, r9, r2 + mul r3, r3, r2 + mov r3, r3, asr #11 + str r3, [sl, #3928] + movw sl, #3906 + ldrh r0, [r4, sl] + mov r0, r0, asl #3 bl __aeabi_idiv - add r7, r7, #9 movw r3, #3932 - mov r6, r6, asr r7 - add r8, r8, #2 - uxth r6, r6 uxth r0, r0 strh r0, [r4, r3] @ movhi cmp r0, #4 - ldr r4, .L444 - ldrls r2, .L444 + ldr r4, .L440 + ldrls r2, .L440 movls r1, #4 strlsh r1, [r2, r3] @ movhi + cmp r8, #0 + mov r1, r5 + movne r3, #640 + strneh r3, [r4, sl] @ movhi + ldrh r2, [r4, sl] movw r3, #3934 - strh r8, [r4, r3] @ movhi + 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 + uxth r6, r6 strh r6, [r4, r3] @ movhi - mov r1, r5 mul r3, r5, r6 add r6, r6, #8 str r3, [r4, #3940] @@ -3539,10 +3518,12 @@ FtlConstantsInit: ldrh r0, [r4, r3] bl __aeabi_uidiv cmp r5, #1 + ldreq r3, .L440 uxtah r6, r6, r0 str r6, [r4, #3840] + ldr r4, .L440 addeq r6, r6, #4 - streq r6, [r4, #3840] + streq r6, [r3, #3840] ldr r0, [r4, #3840] uxth r0, r0 bl FtlSysBlkNumInit @@ -3568,10 +3549,11 @@ FtlConstantsInit: strh r0, [r4, r3] @ movhi mov r0, #0 str r0, [r4, #3952] - ldmfd sp!, {r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L445: + add sp, sp, #20 + ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} +.L441: .align 2 -.L444: +.L440: .word .LANCHOR0 .word .LANCHOR0+3870 .fnend @@ -3584,36 +3566,36 @@ IsBlkInVendorPart: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L453 + ldr r3, .L449 movw r2, #3956 ldrh r2, [r3, r2] cmp r2, #0 - beq .L451 + beq .L447 movw r2, #3932 ldrh r1, [r3, r2] ldr r2, [r3, #3960] mov r3, #0 - b .L448 -.L450: + b .L444 +.L446: ldrh ip, [r2], #2 cmp ip, r0 - beq .L452 + beq .L448 add r3, r3, #1 uxth r3, r3 -.L448: +.L444: cmp r3, r1 - bne .L450 + bne .L446 mov r0, #0 bx lr -.L452: +.L448: mov r0, #1 bx lr -.L451: +.L447: mov r0, r2 bx lr -.L454: +.L450: .align 2 -.L453: +.L449: .word .LANCHOR0 .fnend .size IsBlkInVendorPart, .-IsBlkInVendorPart @@ -3624,36 +3606,36 @@ FtlCacheMetchLpa: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r2, .L463 + ldr r2, .L459 stmfd sp!, {r4, lr} .save {r4, lr} ldr r3, [r2, #3964] cmp r3, #0 - beq .L460 + beq .L456 ldr ip, [r2, #3968] mov r2, #0 -.L459: +.L455: ldr r4, [ip, #16] cmp r4, r0 - bcc .L457 + bcc .L453 cmp r4, r1 - bls .L461 -.L457: + bls .L457 +.L453: add r2, r2, #1 add ip, ip, #36 cmp r2, r3 - bne .L459 + bne .L455 mov r0, #0 ldmfd sp!, {r4, pc} -.L461: +.L457: mov r0, #1 ldmfd sp!, {r4, pc} -.L460: +.L456: mov r0, r3 ldmfd sp!, {r4, pc} -.L464: +.L460: .align 2 -.L463: +.L459: .word .LANCHOR0 .fnend .size FtlCacheMetchLpa, .-FtlCacheMetchLpa @@ -3665,12 +3647,12 @@ FtlGetCap: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L466 + ldr r3, .L462 ldr r0, [r3, #3952] bx lr -.L467: +.L463: .align 2 -.L466: +.L462: .word .LANCHOR0 .fnend .size FtlGetCap, .-FtlGetCap @@ -3682,12 +3664,12 @@ FtlGetCapacity: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L469 + ldr r3, .L465 ldr r0, [r3, #3952] bx lr -.L470: +.L466: .align 2 -.L469: +.L465: .word .LANCHOR0 .fnend .size FtlGetCapacity, .-FtlGetCapacity @@ -3699,12 +3681,12 @@ FtlGetLpn: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L472 + ldr r3, .L468 ldr r0, [r3, #3972] bx lr -.L473: +.L469: .align 2 -.L472: +.L468: .word .LANCHOR0 .fnend .size FtlGetLpn, .-FtlGetLpn @@ -3716,15 +3698,15 @@ FtlGetCurEraseBlock: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L475 + ldr r3, .L471 movw r2, #3844 ldrh r2, [r3, r2] ldr r0, [r3, #3976] mul r0, r0, r2 bx lr -.L476: +.L472: .align 2 -.L475: +.L471: .word .LANCHOR0 .fnend .size FtlGetCurEraseBlock, .-FtlGetCurEraseBlock @@ -3736,16 +3718,16 @@ FtlGetAllBlockNum: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L478 + ldr r3, .L474 movw r1, #3844 movw r2, #3854 ldrh r2, [r3, r2] ldrh r0, [r3, r1] mul r0, r0, r2 bx lr -.L479: +.L475: .align 2 -.L478: +.L474: .word .LANCHOR0 .fnend .size FtlGetAllBlockNum, .-FtlGetAllBlockNum @@ -3759,7 +3741,7 @@ FtlBbmMapBadBlock: stmfd sp!, {r0, r1, r4, r5, r6, lr} .save {r0, r1, r4, r5, r6, lr} movw r3, #3908 - ldr r4, .L481 + ldr r4, .L477 mov r5, r0 ldrh r6, [r4, r3] mov r1, r6 @@ -3777,7 +3759,7 @@ FtlBbmMapBadBlock: str r1, [r0, ip, asl #2] str r1, [sp, #0] mov r1, r5 - ldr r0, .L481+4 + ldr r0, .L477+4 bl printk movw r3, #3986 ldrh r2, [r4, r3] @@ -3785,11 +3767,11 @@ FtlBbmMapBadBlock: add r2, r2, r6 strh r2, [r4, r3] @ movhi ldmfd sp!, {r2, r3, r4, r5, r6, pc} -.L482: +.L478: .align 2 -.L481: +.L477: .word .LANCHOR0 - .word .LC4 + .word .LC3 .fnend .size FtlBbmMapBadBlock, .-FtlBbmMapBadBlock .global __aeabi_uidivmod @@ -3803,7 +3785,7 @@ FtlBbmIsBadBlock: stmfd sp!, {r3, r4, r5, r6, r7, lr} .save {r3, r4, r5, r6, r7, lr} movw r3, #3908 - ldr r5, .L484 + ldr r5, .L480 mov r7, r0 ldrh r6, [r5, r3] mov r1, r6 @@ -3821,9 +3803,9 @@ FtlBbmIsBadBlock: mov r0, r0, lsr r4 and r0, r0, #1 ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L485: +.L481: .align 2 -.L484: +.L480: .word .LANCHOR0 .fnend .size FtlBbmIsBadBlock, .-FtlBbmIsBadBlock @@ -3849,11 +3831,11 @@ FtlBbtCalcTotleCnt: .save {r4, r5, r6, r7, r8, lr} mov r4, #0 mov r5, r4 - ldr r6, .L491 + ldr r6, .L487 movw r8, #3908 movw r7, #3866 - b .L488 -.L490: + b .L484 +.L486: mov r0, r5 add r5, r5, #1 bl FtlBbmIsBadBlock @@ -3861,17 +3843,17 @@ FtlBbtCalcTotleCnt: cmp r0, #0 addne r4, r4, #1 uxthne r4, r4 -.L488: +.L484: ldrh r3, [r6, r8] ldrh r2, [r6, r7] mul r3, r2, r3 cmp r5, r3 - blt .L490 + blt .L486 mov r0, r4 ldmfd sp!, {r4, r5, r6, r7, r8, pc} -.L492: +.L488: .align 2 -.L491: +.L487: .word .LANCHOR0 .fnend .size FtlBbtCalcTotleCnt, .-FtlBbtCalcTotleCnt @@ -3885,7 +3867,7 @@ V2P_block: stmfd sp!, {r3, r4, r5, r6, r7, lr} .save {r3, r4, r5, r6, r7, lr} movw r3, #3868 - ldr r5, .L494 + ldr r5, .L490 mov r7, r1 mov r6, r0 ldrh r4, [r5, r3] @@ -3901,9 +3883,9 @@ V2P_block: add r1, r5, r1 uxth r0, r1 ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L495: +.L491: .align 2 -.L494: +.L490: .word .LANCHOR0 .fnend .size V2P_block, .-V2P_block @@ -3914,7 +3896,7 @@ P2V_plane: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L497 + ldr r3, .L493 movw r2, #3868 stmfd sp!, {r4, r5, r6, lr} .save {r4, r5, r6, lr} @@ -3930,9 +3912,9 @@ P2V_plane: add r1, r5, r1 uxth r0, r1 ldmfd sp!, {r4, r5, r6, pc} -.L498: +.L494: .align 2 -.L497: +.L493: .word .LANCHOR0 .fnend .size P2V_plane, .-P2V_plane @@ -3946,7 +3928,7 @@ P2V_block_in_plane: stmfd sp!, {r4, lr} .save {r4, lr} movw r3, #3908 - ldr r4, .L500 + ldr r4, .L496 ldrh r1, [r4, r3] bl __aeabi_uidivmod movw r3, #3868 @@ -3955,9 +3937,9 @@ P2V_block_in_plane: bl __aeabi_uidiv uxth r0, r0 ldmfd sp!, {r4, pc} -.L501: +.L497: .align 2 -.L500: +.L496: .word .LANCHOR0 .fnend .size P2V_block_in_plane, .-P2V_block_in_plane @@ -3970,13 +3952,13 @@ ftl_cmp_data_ver: @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. cmp r0, r1 - bls .L503 + bls .L499 rsb r0, r1, r0 cmp r0, #-2147483648 movhi r0, #0 movls r0, #1 bx lr -.L503: +.L499: rsb r0, r0, r1 cmp r0, #-2147483648 movls r0, #0 @@ -3992,15 +3974,15 @@ FtlFreeSysBlkQueueEmpty: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r2, .L506 + ldr r2, .L502 movw r3, #4046 ldrh r0, [r2, r3] rsbs r0, r0, #1 movcc r0, #0 bx lr -.L507: +.L503: .align 2 -.L506: +.L502: .word .LANCHOR0 .fnend .size FtlFreeSysBlkQueueEmpty, .-FtlFreeSysBlkQueueEmpty @@ -4012,16 +3994,16 @@ FtlFreeSysBlkQueueFull: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r2, .L509 + ldr r2, .L505 movw r3, #4046 ldrh r0, [r2, r3] sub r2, r0, #1024 rsbs r0, r2, #0 adc r0, r0, r2 bx lr -.L510: +.L506: .align 2 -.L509: +.L505: .word .LANCHOR0 .fnend .size FtlFreeSysBlkQueueFull, .-FtlFreeSysBlkQueueFull @@ -4032,7 +4014,7 @@ FtlFreeSysBlkQueueIn: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r2, .L514 + ldr r2, .L510 movw r3, #4046 stmfd sp!, {r4, r5, r6, lr} .save {r4, r5, r6, lr} @@ -4041,9 +4023,9 @@ FtlFreeSysBlkQueueIn: cmp r3, #1024 ldmeqfd sp!, {r4, r5, r6, pc} cmp r1, #0 - beq .L513 + beq .L509 bl P2V_block_in_plane - ldr r4, .L514+4 + ldr r4, .L510+4 mov r1, #1 mov r3, r5, asl #10 mov r2, r1 @@ -4059,8 +4041,8 @@ FtlFreeSysBlkQueueIn: ldr r3, [r4, #-2080] add r3, r3, #1 str r3, [r4, #-2080] -.L513: - ldr r3, .L514 +.L509: + ldr r3, .L510 movw r2, #4046 movw r0, #4040 ldrh r1, [r3, r2] @@ -4075,9 +4057,9 @@ FtlFreeSysBlkQueueIn: strh r5, [ip, r0] @ movhi strh r1, [r3, r2] @ movhi ldmfd sp!, {r4, r5, r6, pc} -.L515: +.L511: .align 2 -.L514: +.L510: .word .LANCHOR0 .word .LANCHOR2 .fnend @@ -4092,12 +4074,12 @@ FtlFreeSysBLkSort: stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, lr} .save {r4, r5, r6, r7, r8, r9, sl, lr} mov r4, #0 - ldr r5, .L526 + ldr r5, .L522 movw r8, #4046 movw r7, #4042 - ldr r6, .L526+4 - b .L517 -.L518: + ldr r6, .L522+4 + b .L513 +.L514: ldrh r3, [r5, r7] add r3, r4, r3 add r3, r5, r3, asl #1 @@ -4111,35 +4093,35 @@ FtlFreeSysBLkSort: str r2, [r3, r4, asl #2] add r4, r4, #1 uxth r4, r4 -.L517: +.L513: ldrh r3, [r5, r8] cmp r3, r4 - bhi .L518 + bhi .L514 mov r3, #0 - ldr ip, .L526 + ldr ip, .L522 movw r8, #4046 - ldr r4, .L526+4 + ldr r4, .L522+4 movw r7, #4042 - b .L519 -.L524: + b .L515 +.L520: add r6, r3, #1 ldr r1, [r4, #-2076] mov r2, r3 uxth r6, r6 mov r0, r6 - b .L520 -.L522: + b .L516 +.L518: ldr r9, [r1, r2, asl #2] ldr sl, [r1, r0, asl #2] cmp r9, sl movhi r2, r0 add r0, r0, #1 uxth r0, r0 -.L520: +.L516: cmp r0, r5 - bcc .L522 + bcc .L518 cmp r3, r2 - beq .L523 + beq .L519 ldr r5, [r1, r3, asl #2] ldr r0, [r1, r2, asl #2] str r5, [r1, r2, asl #2] @@ -4156,17 +4138,17 @@ FtlFreeSysBLkSort: ldrh r1, [r3, #0] strh r1, [r2, #0] @ movhi strh r0, [r3, #0] @ movhi -.L523: - mov r3, r6 .L519: + mov r3, r6 +.L515: ldrh r5, [ip, r8] sub r2, r5, #1 cmp r3, r2 - blt .L524 + blt .L520 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, pc} -.L527: +.L523: .align 2 -.L526: +.L522: .word .LANCHOR0 .word .LANCHOR2 .fnend @@ -4178,38 +4160,38 @@ IsInFreeQueue: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r2, .L534 + ldr r2, .L530 movw r3, #4046 stmfd sp!, {r4, lr} .save {r4, lr} ldrh r1, [r2, r3] cmp r1, #1024 - beq .L532 + beq .L528 movw r3, #4042 ldrh ip, [r2, r3] mov r3, #0 - b .L530 -.L531: + b .L526 +.L527: add r4, r3, ip mov r4, r4, asl #22 add r4, r2, r4, lsr #21 add r4, r4, #4048 ldrh r4, [r4, #0] cmp r4, r0 - beq .L533 + beq .L529 add r3, r3, #1 -.L530: +.L526: cmp r3, r1 - bcc .L531 -.L532: + bcc .L527 +.L528: mov r0, #0 ldmfd sp!, {r4, pc} -.L533: +.L529: mov r0, #1 ldmfd sp!, {r4, pc} -.L535: +.L531: .align 2 -.L534: +.L530: .word .LANCHOR0 .fnend .size IsInFreeQueue, .-IsInFreeQueue @@ -4220,13 +4202,13 @@ FtlFreeSysBlkQueueOut: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L539 + ldr r3, .L535 stmfd sp!, {r4, r5, lr} .save {r4, r5, lr} movw r4, #4046 ldrh r2, [r3, r4] cmp r2, #0 - beq .L538 + beq .L534 movw r1, #4042 movw r0, #4040 ldrh ip, [r3, r1] @@ -4239,12 +4221,12 @@ FtlFreeSysBlkQueueOut: strh r2, [r3, r4] @ movhi strh ip, [r3, r1] @ movhi ldmfd sp!, {r4, r5, pc} -.L538: +.L534: mov r0, r2 ldmfd sp!, {r4, r5, pc} -.L540: +.L536: .align 2 -.L539: +.L535: .word .LANCHOR0 .fnend .size FtlFreeSysBlkQueueOut, .-FtlFreeSysBlkQueueOut @@ -4259,8 +4241,8 @@ insert_data_list: cmp r0, r3 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} - beq .L542 - ldr r1, .L556 + beq .L538 + ldr r1, .L552 mov ip, #6 mul ip, ip, r0 mvn r6, #0 @@ -4271,12 +4253,12 @@ insert_data_list: strh r6, [r4, ip] @ movhi ldr r3, [r1, #-2068] cmp r3, #0 - beq .L555 -.L543: + beq .L551 +.L539: ldr r7, [r1, #-2064] mov sl, r0, asl #1 ldrh r1, [r2, #4] - ldr r9, .L556+4 + ldr r9, .L552+4 ldrh r5, [r7, sl] cmp r1, #0 ldr fp, [r8, #-2084] @@ -4288,7 +4270,7 @@ insert_data_list: mov r1, r1, asr #1 mul r1, r9, r1 uxth r1, r1 -.L550: +.L546: mov r9, r1, asl #1 ldrh r8, [r3, #4] ldrh sl, [r7, r9] @@ -4296,54 +4278,54 @@ insert_data_list: mvneq r8, #0 mulne r8, r8, sl cmp r8, r6 - bne .L546 + bne .L542 ldrh sl, [fp, r9] ldr r9, [sp, #4] ldrh r8, [r9, #0] cmp sl, r8 - bcc .L548 - b .L547 -.L546: - bhi .L547 -.L548: + bcc .L544 + b .L543 +.L542: + bhi .L543 +.L544: ldrh r8, [r3, #0] movw sl, #65535 cmp r8, sl streqh r1, [r2, #2] @ movhi streqh r0, [r3, #0] @ movhi - ldreq r3, .L556 + ldreq r3, .L552 streq r2, [r3, #-2060] - beq .L542 -.L549: + beq .L538 +.L545: mov r1, #6 mla r3, r1, r8, r5 mov r1, r8 - b .L550 -.L547: + b .L546 +.L543: strh r1, [r4, ip] @ movhi ldrh r1, [r3, #2] strh r1, [r2, #2] @ movhi - ldr r1, .L556 + ldr r1, .L552 ldr ip, [r1, #-2068] cmp r3, ip - bne .L551 + bne .L547 strh r0, [r3, #2] @ movhi -.L555: - str r2, [r1, #-2068] - b .L542 .L551: + str r2, [r1, #-2068] + b .L538 +.L547: ldrh r2, [r3, #2] mov ip, #6 ldr r1, [r1, #-2072] mul r2, ip, r2 strh r0, [r1, r2] @ movhi strh r0, [r3, #2] @ movhi -.L542: +.L538: mov r0, #0 ldmfd sp!, {r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L557: +.L553: .align 2 -.L556: +.L552: .word .LANCHOR2 .word -1431655765 .fnend @@ -4358,15 +4340,15 @@ INSERT_DATA_LIST: stmfd sp!, {r3, lr} .save {r3, lr} bl insert_data_list - ldr r2, .L559 - ldr r3, .L559+4 + ldr r2, .L555 + ldr r3, .L555+4 ldrh r1, [r2, r3] add r1, r1, #1 strh r1, [r2, r3] @ movhi ldmfd sp!, {r3, pc} -.L560: +.L556: .align 2 -.L559: +.L555: .word .LANCHOR2 .word -2056 .fnend @@ -4382,8 +4364,8 @@ insert_free_list: .save {r4, r5, r6, r7, r8, r9, sl, lr} movw r6, #65535 cmp r0, r6 - beq .L562 - ldr r1, .L569 + beq .L558 + ldr r1, .L565 mov r5, #6 mul ip, r5, r0 mvn r3, #0 @@ -4393,57 +4375,57 @@ insert_free_list: strh r3, [r4, ip] @ movhi ldr r3, [r1, #-2052] cmp r3, #0 - beq .L568 -.L563: + beq .L564 +.L559: ldr sl, [r1, #-2072] mov r8, r0, asl #1 ldr r7, [r1, #-2084] rsb r1, sl, r3 - ldr r9, .L569+4 + ldr r9, .L565+4 mov r1, r1, asr #1 ldrh r8, [r7, r8] mul r1, r9, r1 mov r9, r5 uxth r1, r1 -.L566: +.L562: mov r5, r1, asl #1 ldrh r5, [r7, r5] cmp r5, r8 - bcs .L564 + bcs .L560 ldrh r5, [r3, #0] cmp r5, r6 streqh r1, [r2, #2] @ movhi streqh r0, [r3, #0] @ movhi - beq .L562 -.L565: + beq .L558 +.L561: mla r3, r9, r5, sl mov r1, r5 - b .L566 -.L564: + b .L562 +.L560: ldrh r5, [r3, #2] strh r5, [r2, #2] @ movhi strh r1, [r4, ip] @ movhi - ldr r1, .L569 + ldr r1, .L565 ldr ip, [r1, #-2052] cmp r3, ip - bne .L567 + bne .L563 strh r0, [r3, #2] @ movhi -.L568: +.L564: str r2, [r1, #-2052] - b .L562 -.L567: + b .L558 +.L563: ldrh r2, [r3, #2] mov ip, #6 ldr r1, [r1, #-2072] mul r2, ip, r2 strh r0, [r1, r2] @ movhi strh r0, [r3, #2] @ movhi -.L562: +.L558: mov r0, #0 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, pc} -.L570: +.L566: .align 2 -.L569: +.L565: .word .LANCHOR2 .word -1431655765 .fnend @@ -4458,15 +4440,15 @@ INSERT_FREE_LIST: stmfd sp!, {r3, lr} .save {r3, lr} bl insert_free_list - ldr r2, .L572 - ldr r3, .L572+4 + ldr r2, .L568 + ldr r3, .L568+4 ldrh r1, [r2, r3] add r1, r1, #1 strh r1, [r2, r3] @ movhi ldmfd sp!, {r3, pc} -.L573: +.L569: .align 2 -.L572: +.L568: .word .LANCHOR2 .word -2048 .fnend @@ -4478,7 +4460,7 @@ List_remove_node: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr ip, .L579 + ldr ip, .L575 mov r2, #6 mul r1, r2, r1 ldr r3, [ip, #-2072] @@ -4489,7 +4471,7 @@ List_remove_node: movw r6, #65535 cmp r4, r5 ldrh r5, [r3, r1] - bne .L575 + bne .L571 cmp r5, r6 mlane r2, r2, r5, r3 moveq r2, #0 @@ -4497,8 +4479,8 @@ List_remove_node: strne r2, [r0, #0] mvnne r0, #0 strneh r0, [r2, #2] @ movhi - b .L577 -.L575: + b .L573 +.L571: cmp r5, r6 ldrh r0, [r4, #2] mlane r5, r2, r5, r3 @@ -4511,15 +4493,15 @@ List_remove_node: mulne r2, r2, r6 streqh r0, [r3, r2] @ movhi strneh r5, [r0, r2] @ movhi -.L577: +.L573: mvn r2, #0 mov r0, #0 strh r2, [r3, r1] @ movhi strh r2, [r4, #2] @ movhi ldmfd sp!, {r4, r5, r6, pc} -.L580: +.L576: .align 2 -.L579: +.L575: .word .LANCHOR2 .fnend .size List_remove_node, .-List_remove_node @@ -4534,25 +4516,25 @@ List_pop_index_node: .save {r4, lr} ldr r3, [r0, #0] cmp r3, #0 - beq .L586 - ldr r2, .L587 + beq .L582 + ldr r2, .L583 movw lr, #65535 mov ip, #6 ldr r4, [r2, #-2072] - b .L583 -.L585: + b .L579 +.L581: mla r3, ip, r2, r4 sub r1, r1, #1 uxth r1, r1 -.L583: +.L579: cmp r1, #0 - beq .L584 + beq .L580 ldrh r2, [r3, #0] cmp r2, lr - bne .L585 -.L584: + bne .L581 +.L580: rsb r4, r4, r3 - ldr r3, .L587+4 + ldr r3, .L583+4 mov r4, r4, asr #1 mul r4, r3, r4 uxth r4, r4 @@ -4560,12 +4542,12 @@ List_pop_index_node: bl List_remove_node mov r0, r4 ldmfd sp!, {r4, pc} -.L586: +.L582: movw r0, #65535 ldmfd sp!, {r4, pc} -.L588: +.L584: .align 2 -.L587: +.L583: .word .LANCHOR2 .word -1431655765 .fnend @@ -4590,39 +4572,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, .L596 + ldr r2, .L592 ldr r3, [r2, #-2068] cmp r3, #0 - beq .L595 + beq .L591 ldr r2, [r2, #-2072] movw r1, #65535 mov ip, #6 - b .L592 -.L594: + b .L588 +.L590: mla r3, ip, r3, r2 sub r0, r0, #1 uxth r0, r0 -.L592: +.L588: cmp r0, #0 - beq .L593 + beq .L589 ldrh r3, [r3, #0] cmp r3, r1 - bne .L594 + bne .L590 mov r0, r1 bx lr -.L593: +.L589: rsb r3, r2, r3 - ldr r0, .L596+4 + ldr r0, .L592+4 mov r3, r3, asr #1 mul r0, r0, r3 uxth r0, r0 bx lr -.L595: +.L591: movw r0, #65535 bx lr -.L597: +.L593: .align 2 -.L596: +.L592: .word .LANCHOR2 .word -1431655765 .fnend @@ -4637,31 +4619,31 @@ List_update_data_list: stmfd sp!, {r4, r5, r6, lr} .save {r4, r5, r6, lr} mov r5, r0 - ldr r4, .L604 - ldr r3, .L604+4 + ldr r4, .L600 + ldr r3, .L600+4 ldrh r3, [r4, r3] cmp r3, r0 - beq .L599 - ldr r3, .L604+8 + beq .L595 + ldr r3, .L600+8 ldrh r3, [r4, r3] cmp r3, r0 - beq .L599 - ldr r3, .L604+12 + beq .L595 + ldr r3, .L600+12 ldrh r3, [r4, r3] cmp r3, r0 - beq .L599 + beq .L595 ldr r3, [r4, #-2072] mov ip, #6 ldr r2, [r4, #-2068] mla r1, ip, r0, r3 cmp r1, r2 - beq .L599 + beq .L595 ldrh r6, [r1, #4] mov r2, r5, asl #1 ldrh r1, [r1, #2] ldr r0, [r4, #-2064] mla r1, ip, r1, r3 - ldr ip, .L604+16 + ldr ip, .L600+16 ldrh r2, [r0, r2] muls r2, r6, r2 mvneq r2, #0 @@ -4675,22 +4657,22 @@ List_update_data_list: muls r3, r1, r3 mvneq r3, #0 cmp r2, r3 - bcs .L599 - ldr r0, .L604+20 + bcs .L595 + ldr r0, .L600+20 mov r1, r5 bl List_remove_node - ldr r3, .L604+24 + ldr r3, .L600+24 mov r0, r5 ldrh r2, [r4, r3] sub r2, r2, #1 strh r2, [r4, r3] @ movhi bl INSERT_DATA_LIST -.L599: +.L595: mov r0, #0 ldmfd sp!, {r4, r5, r6, pc} -.L605: +.L601: .align 2 -.L604: +.L600: .word .LANCHOR2 .word -2044 .word -1996 @@ -4713,17 +4695,17 @@ ftl_map_blk_alloc_new_blk: ldrh r2, [r0, #10] mov r5, #0 ldr r3, [r0, #12] - b .L607 -.L610: + b .L603 +.L606: mov r7, r3 add r3, r3, #2 ldrh r6, [r7, #0] cmp r6, #0 - bne .L608 + bne .L604 bl FtlFreeSysBlkQueueOut cmp r0, #0 strh r0, [r7, #0] @ movhi - beq .L609 + beq .L605 ldr r3, [r4, #28] strh r6, [r4, #2] @ movhi add r3, r3, #1 @@ -4732,14 +4714,14 @@ ftl_map_blk_alloc_new_blk: strh r5, [r4, #0] @ movhi add r3, r3, #1 strh r3, [r4, #8] @ movhi - b .L609 -.L608: + b .L605 +.L604: add r5, r5, #1 uxth r5, r5 -.L607: +.L603: cmp r5, r2 - bne .L610 -.L609: + bne .L606 +.L605: mov r0, #0 ldmfd sp!, {r3, r4, r5, r6, r7, pc} .fnend @@ -4751,18 +4733,18 @@ select_l2p_ram_region: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r2, .L623 + ldr r2, .L619 movw r3, #3950 stmfd sp!, {r4, r5, r6, r7, lr} .save {r4, r5, r6, r7, lr} movw r1, #65535 ldrh r3, [r2, r3] - ldr r2, .L623+4 + ldr r2, .L619+4 ldr ip, [r2, #-1900] mov r2, #0 mov r0, r2 - b .L612 -.L614: + b .L608 +.L610: add r2, r2, #12 add r4, ip, r2 ldrh r4, [r4, #-12] @@ -4770,59 +4752,59 @@ select_l2p_ram_region: ldmeqfd sp!, {r4, r5, r6, r7, pc} add r0, r0, #1 uxth r0, r0 -.L612: +.L608: cmp r0, r3 - bne .L614 + bne .L610 mov r1, #0 mov r0, r3 mov r5, #-2147483648 mov r2, r1 - b .L615 -.L617: + b .L611 +.L613: add r4, ip, r1 ldr r4, [r4, #4] cmp r4, #0 - blt .L616 + blt .L612 cmp r4, r5 movcc r5, r4 movcc r0, r2 -.L616: +.L612: add r2, r2, #1 add r1, r1, #12 uxth r2, r2 -.L615: +.L611: cmp r2, r3 - bne .L617 + bne .L613 cmp r0, r3 ldmccfd sp!, {r4, r5, r6, r7, pc} - ldr r2, .L623+8 + ldr r2, .L619+8 mov r0, r3 - ldr r1, .L623+4 + ldr r1, .L619+4 mvn r4, #0 ldrh r6, [r1, r2] mov r2, #0 mov r1, r2 - b .L618 -.L620: + b .L614 +.L616: add r5, ip, r2 ldr r5, [r5, #4] cmp r5, r4 - bcs .L619 + bcs .L615 ldrh r7, [ip, r2] cmp r7, r6 movne r4, r5 movne r0, r1 -.L619: +.L615: add r1, r1, #1 add r2, r2, #12 uxth r1, r1 -.L618: +.L614: cmp r1, r3 - bne .L620 + bne .L616 ldmfd sp!, {r4, r5, r6, r7, pc} -.L624: +.L620: .align 2 -.L623: +.L619: .word .LANCHOR0 .word .LANCHOR2 .word -1896 @@ -4835,8 +4817,8 @@ FtlUpdateVaildLpn: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L631 - ldr r2, .L631+4 + ldr r3, .L627 + ldr r2, .L627+4 stmfd sp!, {r4, r5, lr} .save {r4, r5, lr} ldrh r1, [r2, r3] @@ -4844,11 +4826,11 @@ FtlUpdateVaildLpn: add ip, r1, #1 mov r1, r3 strh ip, [r2, r3] @ movhi - bhi .L626 + bhi .L622 cmp r0, #0 ldmeqfd sp!, {r4, r5, pc} -.L626: - ldr r0, .L631+8 +.L622: + ldr r0, .L627+8 mov r3, #0 strh r3, [r2, r1] @ movhi movw r1, #3852 @@ -4856,9 +4838,9 @@ FtlUpdateVaildLpn: movw ip, #65535 ldrh r4, [r0, r1] ldr r1, [r2, #-2064] - ldr r2, .L631+4 - b .L628 -.L630: + ldr r2, .L627+4 + b .L624 +.L626: ldrh r0, [r1], #2 add r3, r3, #1 cmp r0, ip @@ -4866,13 +4848,13 @@ FtlUpdateVaildLpn: ldrne r5, [r2, #-1892] addne r0, r0, r5 strne r0, [r2, #-1892] -.L628: +.L624: cmp r3, r4 - bne .L630 + bne .L626 ldmfd sp!, {r4, r5, pc} -.L632: +.L628: .align 2 -.L631: +.L627: .word -1894 .word .LANCHOR2 .word .LANCHOR0 @@ -4886,7 +4868,7 @@ ftl_set_blk_mode: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L637 + ldr r3, .L633 mov r2, r0, lsr #5 cmp r1, #0 and r0, r0, #31 @@ -4898,9 +4880,9 @@ ftl_set_blk_mode: biceq r0, r1, ip, asl r0 str r0, [r3, r2, asl #2] bx lr -.L638: +.L634: .align 2 -.L637: +.L633: .word .LANCHOR2 .fnend .size ftl_set_blk_mode, .-ftl_set_blk_mode @@ -4912,7 +4894,7 @@ ftl_get_blk_mode: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L640 + ldr r3, .L636 mov r2, r0, lsr #5 and r0, r0, #31 ldr r3, [r3, #-1888] @@ -4920,9 +4902,9 @@ ftl_get_blk_mode: mov r0, r3, lsr r0 and r0, r0, #1 bx lr -.L641: +.L637: .align 2 -.L640: +.L636: .word .LANCHOR2 .fnend .size ftl_get_blk_mode, .-ftl_get_blk_mode @@ -4933,7 +4915,7 @@ ftl_sb_update_avl_pages: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr ip, .L649 + ldr ip, .L645 mov r3, #0 strh r3, [r0, #4] @ movhi movw r3, #3844 @@ -4941,8 +4923,8 @@ ftl_sb_update_avl_pages: .save {r4, r5, r6, lr} ldrh r3, [ip, r3] movw ip, #65535 - b .L643 -.L645: + b .L639 +.L641: add r4, r0, r2, asl #1 add r2, r2, #1 ldrh r4, [r4, #16] @@ -4951,18 +4933,18 @@ ftl_sb_update_avl_pages: ldrneh r4, [r0, #4] addne r4, r4, #1 strneh r4, [r0, #4] @ movhi -.L643: +.L639: cmp r2, r3 - bcc .L645 - ldr ip, .L649 + bcc .L641 + ldr ip, .L645 movw r2, #3912 movw r4, #65535 mvn r1, r1 ldrh r5, [ip, r2] mov ip, r0 mov r2, #0 - b .L646 -.L648: + b .L642 +.L644: ldrh r6, [ip, #16] add r2, r2, #1 add ip, ip, #2 @@ -4972,13 +4954,13 @@ ftl_sb_update_avl_pages: addne r6, r5, r6 addne r6, r6, r1 strneh r6, [r0, #4] @ movhi -.L646: +.L642: cmp r2, r3 - bne .L648 + bne .L644 ldmfd sp!, {r4, r5, r6, pc} -.L650: +.L646: .align 2 -.L649: +.L645: .word .LANCHOR0 .fnend .size ftl_sb_update_avl_pages, .-ftl_sb_update_avl_pages @@ -4993,13 +4975,13 @@ make_superblock: .save {r4, r5, r6, r7, r8, r9, sl, lr} mov r4, r0 mov r5, #0 - ldr r6, .L656 + ldr r6, .L652 strh r5, [r0, #4] @ movhi movw r8, #3844 strb r5, [r4, #7] mvn r7, #0 - b .L652 -.L654: + b .L648 +.L650: add r3, r6, r5 ldrh r1, [r4, #0] add sl, r5, #8 @@ -5016,11 +4998,11 @@ make_superblock: ldreqb r3, [r4, #7] @ zero_extendqisi2 addeq r3, r3, #1 streqb r3, [r4, #7] -.L652: +.L648: ldrh r3, [r6, r8] cmp r3, r5 - bhi .L654 - ldr r1, .L656 + bhi .L650 + ldr r1, .L652 movw r2, #3912 ldrb r3, [r4, #7] @ zero_extendqisi2 ldrh r2, [r1, r2] @@ -5028,10 +5010,10 @@ make_superblock: strh r3, [r4, #4] @ movhi mov r3, #0 strb r3, [r4, #9] - ldr r3, .L656+4 + ldr r3, .L652+4 ldr r2, [r3, #-1884] cmp r2, #0 - beq .L655 + beq .L651 ldrh r1, [r4, #0] ldr r2, [r3, #-2084] mov r3, r1, asl #1 @@ -5039,12 +5021,12 @@ make_superblock: cmp r3, #59 movls r3, #1 strlsb r3, [r4, #9] -.L655: +.L651: mov r0, #0 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, pc} -.L657: +.L653: .align 2 -.L656: +.L652: .word .LANCHOR0 .word .LANCHOR2 .fnend @@ -5061,11 +5043,11 @@ update_multiplier_value: mov r4, #0 mov r7, r0 mov r5, r4 - ldr r6, .L663 + ldr r6, .L659 movw sl, #3844 movw r8, #3912 - b .L659 -.L661: + b .L655 +.L657: add r3, r6, r5 mov r1, r7 add r5, r5, #1 @@ -5077,27 +5059,27 @@ update_multiplier_value: ldreqh r3, [r6, r8] addeq r4, r4, r3 uxtheq r4, r4 -.L659: +.L655: ldrh r3, [r6, sl] cmp r3, r5 - bhi .L661 + bhi .L657 cmp r4, #0 - beq .L662 + beq .L658 mov r1, r4 mov r0, #32768 bl __aeabi_idiv uxth r4, r0 -.L662: - ldr r3, .L663+4 +.L658: + ldr r3, .L659+4 mov r2, #6 mov r0, #0 ldr r3, [r3, #-2072] mla r7, r2, r7, r3 strh r4, [r7, #4] @ movhi ldmfd sp!, {r3, r4, r5, r6, r7, r8, sl, pc} -.L664: +.L660: .align 2 -.L663: +.L659: .word .LANCHOR0 .word .LANCHOR2 .fnend @@ -5110,13 +5092,13 @@ GetFreeBlockMinEraseCount: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L668 + ldr r3, .L664 ldr r0, [r3, #-2052] cmp r0, #0 bxeq lr ldr r2, [r3, #-2072] rsb r0, r2, r0 - ldr r2, .L668+4 + ldr r2, .L664+4 mov r0, r0, asr #1 mul r0, r2, r0 ldr r2, [r3, #-2084] @@ -5124,9 +5106,9 @@ GetFreeBlockMinEraseCount: mov r3, r0, asl #1 ldrh r0, [r2, r3] bx lr -.L669: +.L665: .align 2 -.L668: +.L664: .word .LANCHOR2 .word -1431655765 .fnend @@ -5138,13 +5120,13 @@ GetFreeBlockMaxEraseCount: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r2, .L677 + ldr r2, .L673 stmfd sp!, {r4, r5, lr} .save {r4, r5, lr} ldr r3, [r2, #-2052] cmp r3, #0 - beq .L676 - ldr r1, .L677+4 + beq .L672 + ldr r1, .L673+4 mov ip, #7 mov r5, #6 movw r4, #65535 @@ -5154,36 +5136,36 @@ GetFreeBlockMaxEraseCount: cmp r0, r1 uxthgt r0, r1 ldr r1, [r2, #-2072] - ldr r2, .L677+8 + ldr r2, .L673+8 rsb r3, r1, r3 mov r3, r3, asr #1 mul r3, r2, r3 mov r2, #0 uxth r3, r3 - b .L673 -.L675: + b .L669 +.L671: mul ip, r5, r3 ldrh ip, [r1, ip] cmp ip, r4 - beq .L674 + beq .L670 add r2, r2, #1 mov r3, ip uxth r2, r2 -.L673: +.L669: cmp r2, r0 - bne .L675 -.L674: - ldr r2, .L677 + bne .L671 +.L670: + ldr r2, .L673 mov r3, r3, asl #1 ldr r2, [r2, #-2084] ldrh r0, [r2, r3] ldmfd sp!, {r4, r5, pc} -.L676: +.L672: mov r0, r3 ldmfd sp!, {r4, r5, pc} -.L678: +.L674: .align 2 -.L677: +.L673: .word .LANCHOR2 .word -2048 .word -1431655765 @@ -5199,27 +5181,27 @@ FtlPrintInfo2buf: stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, lr} .save {r4, r5, r6, r7, r8, r9, sl, lr} mov r8, r0 - ldr r6, .L689 + ldr r6, .L685 add r5, r8, #12 .pad #32 sub sp, sp, #32 - ldr r1, .L689+4 + ldr r1, .L685+4 bl strcpy mov r0, r5 - ldr r1, .L689+8 + ldr r1, .L685+8 ldr r2, [r6, #2200] bl sprintf - ldr r1, .L689+12 + ldr r1, .L685+12 ldr r2, [r6, #3928] add r5, r5, r0 mov r0, r5 bl sprintf - ldr r3, .L689+16 + ldr r3, .L685+16 ldr r3, [r3, #2960] cmp r3, #1 add r5, r5, r0 - bne .L685 -.L680: + bne .L681 +.L676: add r0, sp, #16 add r1, sp, #20 add r2, sp, #24 @@ -5228,76 +5210,76 @@ FtlPrintInfo2buf: ldr r3, [sp, #24] ldr r2, [sp, #16] mov r0, r5 - ldr r1, .L689+20 + ldr r1, .L685+20 str r3, [sp, #0] ldr r3, [sp, #28] - ldr r4, .L689+24 - ldr r7, .L689+28 + ldr r4, .L685+24 + ldr r7, .L685+28 str r3, [sp, #4] ldr r3, [sp, #20] bl sprintf - ldr r1, .L689+32 + ldr r1, .L685+32 add r5, r5, r0 mov r0, r5 add r5, r5, #10 bl strcpy ldr r2, [r6, #3972] mov r0, r5 - ldr r1, .L689+36 + ldr r1, .L685+36 bl sprintf - ldr r1, .L689+40 + ldr r1, .L685+40 ldr r2, [r4, #-1892] add r5, r5, r0 mov r0, r5 bl sprintf - ldr r1, .L689+44 + ldr r1, .L685+44 ldr r2, [r4, #-1880] add r5, r5, r0 mov r0, r5 bl sprintf - ldr r1, .L689+48 + ldr r1, .L685+48 ldr r2, [r4, #-1876] add r5, r5, r0 mov r0, r5 bl sprintf - ldr r1, .L689+52 + ldr r1, .L685+52 ldr r2, [r4, #-1872] add r5, r5, r0 mov r0, r5 bl sprintf - ldr r1, .L689+56 + ldr r1, .L685+56 ldr r2, [r4, #-1868] add r5, r5, r0 mov r0, r5 bl sprintf - ldr r1, .L689+60 + ldr r1, .L685+60 ldr r2, [r4, #-1864] add r5, r5, r0 mov r0, r5 bl sprintf - ldr r1, .L689+64 + ldr r1, .L685+64 ldr r2, [r4, #-1860] add r5, r5, r0 mov r0, r5 bl sprintf ldr r2, [r4, #-1856] - ldr r1, .L689+68 + ldr r1, .L685+68 mov r2, r2, lsr #11 add r5, r5, r0 mov r0, r5 bl sprintf ldr r2, [r4, #-1852] - ldr r1, .L689+72 + ldr r1, .L685+72 mov r2, r2, lsr #11 add r5, r5, r0 mov r0, r5 bl sprintf - ldr r1, .L689+76 + ldr r1, .L685+76 ldr r2, [r4, #-1848] add r5, r5, r0 mov r0, r5 bl sprintf - ldr r1, .L689+80 + ldr r1, .L685+80 ldr r2, [r4, #-1844] add r5, r5, r0 mov r0, r5 @@ -5305,132 +5287,132 @@ FtlPrintInfo2buf: add r5, r5, r0 bl FtlBbtCalcTotleCnt movw r2, #3986 - ldr r1, .L689+84 + ldr r1, .L685+84 ldrh r2, [r6, r2] mov r3, r0 mov r0, r5 bl sprintf - ldr r1, .L689+88 + ldr r1, .L685+88 ldrh r2, [r4, r7] add r5, r5, r0 mov r0, r5 bl sprintf - ldr r1, .L689+92 + ldr r1, .L685+92 ldr r2, [r4, #-1840] add r5, r5, r0 mov r0, r5 bl sprintf - ldr r1, .L689+96 + ldr r1, .L685+96 ldr r2, [r4, #-1836] add r5, r5, r0 mov r0, r5 bl sprintf - ldr r1, .L689+100 + ldr r1, .L685+100 ldr r2, [r4, #-1832] add r5, r5, r0 mov r0, r5 bl sprintf - ldr r1, .L689+104 + ldr r1, .L685+104 ldr r2, [r4, #-2080] add r5, r5, r0 mov r0, r5 bl sprintf - ldr r1, .L689+108 + ldr r1, .L685+108 ldr r2, [r4, #-1828] add r5, r5, r0 mov r0, r5 bl sprintf - ldr r1, .L689+112 + ldr r1, .L685+112 ldr r2, [r4, #-1824] add r5, r5, r0 mov r0, r5 bl sprintf - ldr r3, .L689+116 - ldr r1, .L689+120 + ldr r3, .L685+116 + ldr r1, .L685+120 ldrh r2, [r4, r3] add r5, r5, r0 mov r0, r5 bl sprintf - ldr r3, .L689+124 - ldr r1, .L689+128 + ldr r3, .L685+124 + ldr r1, .L685+128 ldrh r2, [r4, r3] add r5, r5, r0 mov r0, r5 bl sprintf ldr r2, [r6, #3952] - ldr r1, .L689+132 + ldr r1, .L685+132 add r5, r5, r0 mov r0, r5 bl sprintf ldr r2, [r6, #3944] - ldr r1, .L689+136 + ldr r1, .L685+136 add r5, r5, r0 mov r0, r5 bl sprintf ldr r2, [r6, #3840] - ldr r1, .L689+140 + ldr r1, .L685+140 add r5, r5, r0 mov r0, r5 bl sprintf movw r3, #4046 ldrh r2, [r6, r3] - ldr r1, .L689+144 + ldr r1, .L685+144 add r5, r5, r0 mov r0, r5 bl sprintf movw r3, #3852 ldrh r2, [r6, r3] - ldr r1, .L689+148 + ldr r1, .L685+148 add r5, r5, r0 mov r0, r5 bl sprintf - ldr r3, .L689+152 - ldr r1, .L689+156 + ldr r3, .L685+152 + ldr r1, .L685+156 ldrh r2, [r4, r3] add r5, r5, r0 mov r0, r5 bl sprintf ldr r2, [r6, #3856] - ldr r1, .L689+160 + ldr r1, .L685+160 add r5, r5, r0 mov r0, r5 bl sprintf - ldr r3, .L689+164 - ldr r1, .L689+168 + ldr r3, .L685+164 + ldr r1, .L685+168 ldrh r2, [r4, r3] add r5, r5, r0 mov r0, r5 bl sprintf movw r3, #3980 ldrh r2, [r6, r3] - ldr r1, .L689+172 - ldr r6, .L689+176 + ldr r1, .L685+172 + ldr r6, .L685+176 add r5, r5, r0 mov r0, r5 bl sprintf - ldr r3, .L689+180 - ldr r1, .L689+184 + ldr r3, .L685+180 + ldr r1, .L685+184 ldrh r2, [r4, r3] add r5, r5, r0 mov r0, r5 bl sprintf - ldr r1, .L689+188 + ldr r1, .L685+188 ldrb r2, [r4, #-2038] @ zero_extendqisi2 add r5, r5, r0 mov r0, r5 bl sprintf ldrh r2, [r4, r6] - ldr r1, .L689+192 + ldr r1, .L685+192 add r5, r5, r0 mov r0, r5 bl sprintf - ldr r1, .L689+196 + ldr r1, .L685+196 ldrb r2, [r4, #-2036] @ zero_extendqisi2 add r5, r5, r0 mov r0, r5 bl sprintf - ldr r3, .L689+200 - ldr r1, .L689+204 + ldr r3, .L685+200 + ldr r1, .L685+204 ldrh r2, [r4, r3] add r5, r5, r0 mov r0, r5 @@ -5438,35 +5420,35 @@ FtlPrintInfo2buf: ldrh r3, [r4, r6] ldr r2, [r4, #-2064] add r6, r6, #48 - ldr r1, .L689+208 + ldr r1, .L685+208 mov r3, r3, asl #1 ldrh r2, [r2, r3] add r5, r5, r0 mov r0, r5 bl sprintf - ldr r3, .L689+212 - ldr r1, .L689+216 + ldr r3, .L685+212 + ldr r1, .L685+216 ldrh r2, [r4, r3] add r5, r5, r0 mov r0, r5 bl sprintf - ldr r1, .L689+220 + ldr r1, .L685+220 ldrb r2, [r4, #-1990] @ zero_extendqisi2 add r5, r5, r0 mov r0, r5 bl sprintf ldrh r2, [r4, r6] - ldr r1, .L689+224 + ldr r1, .L685+224 add r5, r5, r0 mov r0, r5 bl sprintf - ldr r1, .L689+228 + ldr r1, .L685+228 ldrb r2, [r4, #-1988] @ zero_extendqisi2 add r5, r5, r0 mov r0, r5 bl sprintf - ldr r3, .L689+232 - ldr r1, .L689+236 + ldr r3, .L685+232 + ldr r1, .L685+236 ldrh r2, [r4, r3] add r5, r5, r0 mov r0, r5 @@ -5474,63 +5456,63 @@ FtlPrintInfo2buf: ldrh r3, [r4, r6] ldr r2, [r4, #-2064] add r6, r6, #240 - ldr r1, .L689+240 + ldr r1, .L685+240 mov r3, r3, asl #1 ldrh r2, [r2, r3] add r5, r5, r0 mov r0, r5 bl sprintf - ldr r3, .L689+244 - ldr r1, .L689+248 + ldr r3, .L685+244 + ldr r1, .L685+248 ldrh r2, [r4, r3] add r5, r5, r0 mov r0, r5 bl sprintf - ldr r1, .L689+252 + ldr r1, .L685+252 ldrb r2, [r4, #-1942] @ zero_extendqisi2 add r5, r5, r0 mov r0, r5 bl sprintf - ldr r3, .L689+256 - ldr r1, .L689+260 + ldr r3, .L685+256 + ldr r1, .L685+260 ldrh r2, [r4, r3] add r5, r5, r0 mov r0, r5 bl sprintf - ldr r1, .L689+264 + ldr r1, .L685+264 ldrb r2, [r4, #-1940] @ zero_extendqisi2 add r5, r5, r0 mov r0, r5 bl sprintf - ldr r3, .L689+268 - ldr r1, .L689+272 + ldr r3, .L685+268 + ldr r1, .L685+272 ldrh r2, [r4, r3] add r5, r5, r0 mov r0, r5 bl sprintf - ldr r3, .L689+276 - ldr r1, .L689+280 + ldr r3, .L685+276 + ldr r1, .L685+280 ldrh r2, [r4, r3] add r5, r5, r0 mov r0, r5 bl sprintf - ldr r1, .L689+284 + ldr r1, .L685+284 ldrb r2, [r4, #-1750] @ zero_extendqisi2 add r5, r5, r0 mov r0, r5 bl sprintf - ldr r1, .L689+288 + ldr r1, .L685+288 ldrh r2, [r4, r6] add r5, r5, r0 mov r0, r5 bl sprintf - ldr r1, .L689+292 + ldr r1, .L685+292 ldrb r2, [r4, #-1748] @ zero_extendqisi2 add r5, r5, r0 mov r0, r5 bl sprintf - ldr r3, .L689+296 - ldr r1, .L689+300 + ldr r3, .L685+296 + ldr r1, .L685+300 ldrh r2, [r4, r3] add r5, r5, r0 mov r0, r5 @@ -5542,54 +5524,54 @@ FtlPrintInfo2buf: ldr r1, [r4, #-1628] orr r2, r3, r2, asl #8 str r1, [sp, #4] - ldr r1, .L689+304 + ldr r1, .L685+304 ldr r3, [r4, #-1624] add r5, r5, r0 mov r0, r5 bl sprintf - ldr r1, .L689+308 + ldr r1, .L685+308 ldr r2, [r4, #-1632] add r5, r5, r0 mov r0, r5 bl sprintf - ldr r1, .L689+312 + ldr r1, .L685+312 ldr r2, [r4, #-1608] add r5, r5, r0 mov r0, r5 bl sprintf - ldr r3, .L689+316 - ldr r1, .L689+320 + ldr r3, .L685+316 + ldr r1, .L685+320 ldrh r2, [r4, r3] add r5, r5, r0 mov r0, r5 bl sprintf - ldr r3, .L689+324 - ldr r1, .L689+328 + ldr r3, .L685+324 + ldr r1, .L685+328 ldrh r2, [r4, r3] add r5, r5, r0 mov r0, r5 bl sprintf - ldr r1, .L689+332 + ldr r1, .L685+332 ldr r2, [r4, #-1188] add r5, r5, r0 mov r0, r5 bl sprintf - ldr r3, .L689+336 - ldr r1, .L689+340 + ldr r3, .L685+336 + ldr r1, .L685+340 ldrh r2, [r4, r3] add r5, r5, r0 mov r0, r5 bl sprintf add r5, r5, r0 bl GetFreeBlockMinEraseCount - ldr r1, .L689+344 + ldr r1, .L685+344 mov r2, r0 mov r0, r5 bl sprintf add r5, r5, r0 ldrh r0, [r4, r7] bl GetFreeBlockMaxEraseCount - ldr r1, .L689+348 + ldr r1, .L685+348 mov r2, r0 mov r0, r5 bl sprintf @@ -5597,25 +5579,25 @@ FtlPrintInfo2buf: movw r2, #65535 cmp r3, r2 add r5, r5, r0 - beq .L682 + beq .L678 ldr r2, [r4, #-2064] mov r3, r3, asl #1 mov r0, r5 - ldr r1, .L689+352 + ldr r1, .L685+352 ldrh r2, [r2, r3] bl sprintf add r5, r5, r0 -.L682: +.L678: mov r0, #0 - ldr r4, .L689+24 + ldr r4, .L685+24 bl List_get_gc_head_node mov r6, #0 movw sl, #65535 mov r9, #6 uxth r3, r0 -.L684: +.L680: cmp r3, sl - beq .L683 + beq .L679 ldr r1, [r4, #-2064] mov r2, r3, asl #1 mul r7, r9, r3 @@ -5628,7 +5610,7 @@ FtlPrintInfo2buf: str r1, [sp, #4] ldr r1, [r4, #-2084] ldrh r2, [r1, r2] - ldr r1, .L689+356 + ldr r1, .L685+356 str r2, [sp, #8] mov r2, r6 bl sprintf @@ -5637,22 +5619,22 @@ FtlPrintInfo2buf: cmp r6, #16 ldrh r3, [r3, r7] add r5, r5, r0 - bne .L684 -.L683: - ldr r6, .L689+24 + bne .L680 +.L679: + ldr r6, .L685+24 mov r4, #0 movw sl, #65535 mov r9, #6 ldr r2, [r6, #-2052] ldr r3, [r6, #-2072] rsb r3, r3, r2 - ldr r2, .L689+360 + ldr r2, .L685+360 mov r3, r3, asr #1 mul r3, r2, r3 uxth r3, r3 -.L686: +.L682: cmp r3, sl - beq .L685 + beq .L681 mul r7, r9, r3 ldr r2, [r6, #-2072] mov r0, r5 @@ -5662,7 +5644,7 @@ FtlPrintInfo2buf: mov r2, r3, asl #1 ldr r1, [r6, #-2084] ldrh r2, [r1, r2] - ldr r1, .L689+364 + ldr r1, .L685+364 str r2, [sp, #4] mov r2, r4 bl sprintf @@ -5671,22 +5653,23 @@ FtlPrintInfo2buf: cmp r4, #4 ldrh r3, [r3, r7] add r5, r5, r0 - bne .L686 -.L685: + bne .L682 +.L681: rsb r0, r8, r5 add sp, sp, #32 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, pc} -.L690: +.L686: .align 2 -.L689: +.L685: .word .LANCHOR0 + .word .LC4 .word .LC5 .word .LC6 - .word .LC7 .word .LANCHOR1 - .word .LC8 + .word .LC7 .word .LANCHOR2 .word -2048 + .word .LC8 .word .LC9 .word .LC10 .word .LC11 @@ -5707,70 +5690,69 @@ FtlPrintInfo2buf: .word .LC26 .word .LC27 .word .LC28 - .word .LC29 .word -1790 - .word .LC30 + .word .LC29 .word -1792 + .word .LC30 .word .LC31 .word .LC32 .word .LC33 .word .LC34 .word .LC35 - .word .LC36 .word -1772 + .word .LC36 .word .LC37 - .word .LC38 .word -1768 + .word .LC38 .word .LC39 - .word .LC40 .word -2044 .word -2042 + .word .LC40 .word .LC41 .word .LC42 .word .LC43 - .word .LC44 .word -2040 + .word .LC44 .word .LC45 - .word .LC46 .word -1994 + .word .LC46 .word .LC47 .word .LC48 .word .LC49 - .word .LC50 .word -1992 + .word .LC50 .word .LC51 - .word .LC52 .word -1946 + .word .LC52 .word .LC53 - .word .LC54 .word -1948 + .word .LC54 .word .LC55 - .word .LC56 .word -1944 - .word .LC57 + .word .LC56 .word -1754 + .word .LC57 .word .LC58 .word .LC59 .word .LC60 - .word .LC61 .word -1752 + .word .LC61 .word .LC62 .word .LC63 .word .LC64 - .word .LC65 .word -1192 - .word .LC66 + .word .LC65 .word -1190 + .word .LC66 .word .LC67 - .word .LC68 .word -1184 + .word .LC68 .word .LC69 .word .LC70 .word .LC71 .word .LC72 - .word .LC73 .word -1431655765 - .word .LC74 + .word .LC73 .fnend .size FtlPrintInfo2buf, .-FtlPrintInfo2buf .align 2 @@ -5783,8 +5765,8 @@ rknand_proc_ftlread: stmfd sp!, {r3, r4, r5, lr} .save {r3, r4, r5, lr} mov r4, r0 - ldr r1, .L692 - ldr r2, .L692+4 + ldr r1, .L688 + ldr r2, .L688+4 bl sprintf add r5, r4, r0 mov r0, r5 @@ -5792,11 +5774,11 @@ rknand_proc_ftlread: add r0, r5, r0 rsb r0, r4, r0 ldmfd sp!, {r3, r4, r5, pc} -.L693: +.L689: .align 2 -.L692: +.L688: + .word .LC74 .word .LC75 - .word .LC76 .fnend .size rknand_proc_ftlread, .-rknand_proc_ftlread .align 2 @@ -5806,7 +5788,7 @@ GetSwlReplaceBlock: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L721 + ldr r3, .L717 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} .pad #20 @@ -5814,28 +5796,28 @@ GetSwlReplaceBlock: ldr r1, [r3, #-1832] ldr r2, [r3, #-1824] cmp r1, r2 - bcs .L695 - ldr r0, .L721+4 + bcs .L691 + ldr r0, .L717+4 movw r1, #3852 mov r2, #0 str r2, [r3, #-1840] ldrh r1, [r0, r1] ldr r0, [r3, #-2084] - b .L696 -.L697: + b .L692 +.L693: ldrh lr, [r0], #2 add r2, r2, #1 ldr ip, [r3, #-1840] add ip, lr, ip str ip, [r3, #-1840] -.L696: +.L692: cmp r2, r1 - ldr r4, .L721 - bcc .L697 + ldr r4, .L717 + bcc .L693 ldr r5, [r4, #-1840] mov r0, r5 bl __aeabi_uidiv - ldr r2, .L721+4 + ldr r2, .L717+4 movw r3, #3902 ldrh r1, [r2, r3] str r0, [r4, #-1832] @@ -5843,47 +5825,47 @@ GetSwlReplaceBlock: rsb r0, r0, r5 bl __aeabi_uidiv str r0, [r4, #-1840] - b .L698 -.L695: + b .L694 +.L691: ldr r2, [r3, #-1828] cmp r1, r2 - bls .L698 + bls .L694 add r2, r2, #1 - ldr r4, .L721+4 + ldr r4, .L717+4 str r2, [r3, #-1828] movw ip, #3852 mov r2, #0 - b .L699 -.L700: + b .L695 +.L696: ldr r0, [r3, #-2084] mov r1, r2, asl #1 add r2, r2, #1 ldrh r5, [r0, r1] add r5, r5, #1 strh r5, [r0, r1] @ movhi -.L699: +.L695: ldrh r1, [r4, ip] cmp r2, r1 - bcc .L700 -.L698: - ldr r3, .L721 + bcc .L696 +.L694: + ldr r3, .L717 ldr r6, [r3, #-1824] ldr r5, [r3, #-1832] add r2, r6, #256 cmp r2, r5 mov r2, r3 - bls .L701 + bls .L697 ldr r1, [r3, #-1828] add r0, r6, #768 cmp r0, r1 - bls .L701 + bls .L697 ldr r3, [r3, #-1884] cmp r3, #0 - beq .L719 + beq .L715 cmp r6, #30 - bhi .L719 -.L701: - ldr r3, .L721+8 + bhi .L715 +.L697: + ldr r3, .L717+8 ldrh r0, [r2, r3] add r0, r0, r0, asl #1 ubfx r0, r0, #2, #16 @@ -5891,26 +5873,26 @@ GetSwlReplaceBlock: add r3, r6, #64 cmp r0, r3 mov r8, r0 - bcs .L703 + bcs .L699 cmp r6, #30 - bhi .L719 -.L703: - ldr r2, .L721 + bhi .L715 +.L699: + ldr r2, .L717 ldr r3, [r2, #-2068] cmp r3, #0 - beq .L719 + beq .L715 movw r7, #65535 ldr r1, [r2, #-2072] mov r4, r7 ldr r2, [r2, #-2084] mov sl, r7 - ldr ip, .L721+12 + ldr ip, .L717+12 mov fp, #6 - b .L704 -.L707: + b .L700 +.L703: ldrh r9, [r3, #4] cmp r9, #0 - beq .L705 + beq .L701 rsb r3, r1, r3 mov r3, r3, asr #1 mul r3, ip, r3 @@ -5918,32 +5900,32 @@ GetSwlReplaceBlock: mov r9, r3, asl #1 ldrh r9, [r2, r9] cmp r9, r6 - bls .L716 + bls .L712 cmp r9, r7 movcc r7, r9 movcc r4, r3 -.L705: +.L701: mla r3, fp, r0, r1 -.L704: +.L700: ldrh r0, [r3, #0] cmp r0, sl - bne .L707 - b .L706 -.L716: + bne .L703 + b .L702 +.L712: mov r4, r3 -.L706: +.L702: movw r3, #65535 cmp r4, r3 - beq .L702 + beq .L698 mov sl, r4, asl #1 - ldr fp, .L721 + ldr fp, .L717 ldrh r9, [r2, sl] cmp r9, r6 - bls .L708 + bls .L704 bl GetFreeBlockMinEraseCount cmp r0, r6 strhi r7, [fp, #-1824] -.L708: +.L704: cmp r9, #29 ldr r2, [fp, #-1884] movhi r3, #0 @@ -5951,45 +5933,45 @@ GetSwlReplaceBlock: cmp r2, #0 moveq r3, #0 cmp r3, #0 - beq .L709 + beq .L705 add r3, r9, #10 cmp r3, r5 - bls .L710 - ldr r2, .L721+4 + bls .L706 + ldr r2, .L717+4 movw r3, #3902 ldrh r3, [r2, r3] cmp r3, r9 - bls .L709 -.L710: - ldr r6, .L721 - ldr r3, .L721+16 + bls .L705 +.L706: + ldr r6, .L717 + ldr r3, .L717+16 ldrh r3, [r6, r3] cmp r3, #64 - bls .L709 + bls .L705 ldr r3, [r6, #-2084] mov r1, r4 - ldr r0, .L721+20 + ldr r0, .L717+20 ldrh r2, [r3, sl] bl printk - b .L720 -.L709: + b .L716 +.L705: cmp r9, r5 - bcs .L719 + bcs .L715 add r3, r9, #128 cmp r8, r3 - ble .L719 + ble .L715 add r3, r9, #256 - ldr r6, .L721 + ldr r6, .L717 cmp r3, r5 - bcc .L711 + bcc .L707 ldr r3, [r6, #-1828] add r9, r9, #768 cmp r9, r3 - bcs .L719 -.L711: + bcs .L715 +.L707: ldr r3, [r6, #-2064] mov r1, r4 - ldr r0, .L721+24 + ldr r0, .L717+24 mov r2, r5 ldrh r3, [r3, sl] str r3, [sp, #0] @@ -5998,26 +5980,26 @@ GetSwlReplaceBlock: stmib sp, {r3, r8} ldr r3, [r6, #-1828] bl printk -.L720: +.L716: mov r3, #1 str r3, [r6, #-1180] - b .L702 -.L719: + b .L698 +.L715: movw r4, #65535 -.L702: +.L698: mov r0, r4 add sp, sp, #20 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L722: +.L718: .align 2 -.L721: +.L717: .word .LANCHOR2 .word .LANCHOR0 .word -2048 .word -1431655765 .word -2056 + .word .LC76 .word .LC77 - .word .LC78 .fnend .size GetSwlReplaceBlock, .-GetSwlReplaceBlock .align 2 @@ -6031,19 +6013,19 @@ free_data_superblock: cmp r0, r2 stmfd sp!, {r3, lr} .save {r3, lr} - beq .L724 - ldr r2, .L725 + beq .L720 + ldr r2, .L721 mov r3, r0, asl #1 mov r1, #0 ldr r2, [r2, #-2064] strh r1, [r2, r3] @ movhi bl INSERT_FREE_LIST -.L724: +.L720: mov r0, #0 ldmfd sp!, {r3, pc} -.L726: +.L722: .align 2 -.L725: +.L721: .word .LANCHOR2 .fnend .size free_data_superblock, .-free_data_superblock @@ -6054,19 +6036,19 @@ FtlGcBufInit: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r2, .L735 + ldr r2, .L731 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, #-1176] mov r8, #12 - ldr r0, .L735+4 + ldr r0, .L731+4 mov r7, #1 movw r6, #3922 movw fp, #3924 - b .L728 -.L729: + b .L724 +.L725: mul r1, r8, r3 ldr r4, [r2, #-1172] add ip, r4, r1 @@ -6100,12 +6082,12 @@ FtlGcBufInit: str r1, [ip, #8] ldr r1, [r4, #4] str r1, [ip, #12] -.L728: +.L724: ldrh r1, [r0, sl] cmp r3, r1 - bcc .L729 - b .L734 -.L731: + bcc .L725 + b .L730 +.L727: mul r2, r8, r1 ldr r4, [r3, #-1172] add r0, r4, r2 @@ -6132,22 +6114,22 @@ FtlGcBufInit: bic r2, r2, #3 add r2, r4, r2 str r2, [r0, #4] - b .L733 -.L734: - ldr r3, .L735 + b .L729 +.L730: + ldr r3, .L731 mov r8, #12 - ldr ip, .L735+4 + ldr ip, .L731+4 mov r7, #0 movw r6, #3922 movw r5, #3924 -.L733: +.L729: ldr r2, [r3, #-1156] cmp r1, r2 - bcc .L731 + bcc .L727 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L736: +.L732: .align 2 -.L735: +.L731: .word .LANCHOR2 .word .LANCHOR0 .fnend @@ -6159,7 +6141,7 @@ FtlGcBufFree: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L744 + ldr r3, .L740 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} mov r5, #36 @@ -6168,33 +6150,33 @@ FtlGcBufFree: ldr ip, [r3, #-1172] mov r3, #0 mov r4, r3 - b .L738 -.L741: + b .L734 +.L737: mul sl, fp, r2 add r8, ip, sl ldr r9, [ip, sl] ldr sl, [r7, #8] cmp r9, sl streq r4, [r8, #8] - beq .L740 -.L739: + beq .L736 +.L735: add r2, r2, #1 uxth r2, r2 -.L743: +.L739: cmp r2, r6 - bcc .L741 -.L740: + bcc .L737 +.L736: add r3, r3, #1 uxth r3, r3 -.L738: +.L734: cmp r3, r1 ldmcsfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} mla r7, r5, r3, r0 mov r2, #0 - b .L743 -.L745: + b .L739 +.L741: .align 2 -.L744: +.L740: .word .LANCHOR2 .fnend .size FtlGcBufFree, .-FtlGcBufFree @@ -6205,7 +6187,7 @@ FtlGcBufAlloc: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L753 + ldr r3, .L749 stmfd sp!, {r4, r5, r6, r7, r8, sl, lr} .save {r4, r5, r6, r7, r8, sl, lr} mov r6, #12 @@ -6214,38 +6196,38 @@ FtlGcBufAlloc: ldr r7, [r3, #-1172] mov r4, #36 mov r3, #0 - b .L747 -.L750: + b .L743 +.L746: mla ip, r6, r2, r7 ldr sl, [ip, #8] cmp sl, #0 - bne .L748 + bne .L744 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 .L749 -.L748: + b .L745 +.L744: add r2, r2, #1 uxth r2, r2 - b .L751 -.L752: + b .L747 +.L748: mov r2, #0 -.L751: +.L747: cmp r2, r8 - bcc .L750 -.L749: + bcc .L746 +.L745: add r3, r3, #1 uxth r3, r3 -.L747: +.L743: cmp r3, r1 - bcc .L752 + bcc .L748 ldmfd sp!, {r4, r5, r6, r7, r8, sl, pc} -.L754: +.L750: .align 2 -.L753: +.L749: .word .LANCHOR2 .fnend .size FtlGcBufAlloc, .-FtlGcBufAlloc @@ -6257,29 +6239,29 @@ IsBlkInGcList: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L760 - ldr r2, .L760+4 + ldr r3, .L756 + ldr r2, .L756+4 ldrh r1, [r3, r2] ldr r2, [r3, #-1148] mov r3, #0 - b .L756 -.L758: + b .L752 +.L754: ldrh ip, [r2], #2 cmp ip, r0 - beq .L759 + beq .L755 add r3, r3, #1 uxth r3, r3 -.L756: +.L752: cmp r3, r1 - bne .L758 + bne .L754 mov r0, #0 bx lr -.L759: +.L755: mov r0, #1 bx lr -.L761: +.L757: .align 2 -.L760: +.L756: .word .LANCHOR2 .word -1152 .fnend @@ -6298,33 +6280,33 @@ FtlGcUpdatePage: mov r5, r1 mov r6, r2 bl P2V_block_in_plane - ldr r3, .L766 - ldr r2, .L766+4 + ldr r3, .L762 + ldr r2, .L762+4 ldrh ip, [r3, r2] ldr r2, [r3, #-1148] mov r3, #0 mov r1, r2 - b .L763 -.L765: + b .L759 +.L761: ldrh r7, [r1], #2 cmp r7, r0 - beq .L764 + beq .L760 add r3, r3, #1 uxth r3, r3 -.L763: +.L759: cmp r3, ip - bne .L765 + bne .L761 mov r3, r3, asl #1 strh r0, [r2, r3] @ movhi - ldr r2, .L766 - ldr r3, .L766+4 + ldr r2, .L762 + ldr r3, .L762+4 ldrh r1, [r2, r3] add r1, r1, #1 strh r1, [r2, r3] @ movhi -.L764: - ldr r3, .L766 +.L760: + ldr r3, .L762 mov r0, #12 - ldr r2, .L766+8 + ldr r2, .L762+8 ldrh r1, [r3, r2] mul r1, r0, r1 ldr r0, [r3, #-1144] @@ -6335,9 +6317,9 @@ FtlGcUpdatePage: add r1, r1, #1 strh r1, [r3, r2] @ movhi ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L767: +.L763: .align 2 -.L766: +.L762: .word .LANCHOR2 .word -1152 .word -1140 @@ -6354,28 +6336,28 @@ FtlGcRefreshBlock: .save {r4, lr} mov r4, r0 mov r1, r4 - ldr r0, .L772 + ldr r0, .L768 bl printk - ldr r3, .L772+4 - ldr r2, .L772+8 + ldr r3, .L768+4 + ldr r2, .L768+8 movw r1, #65535 ldrh r0, [r3, r2] cmp r0, r1 - beq .L771 -.L769: - ldr r2, .L772+12 + beq .L767 +.L765: + ldr r2, .L768+12 ldrh r0, [r3, r2] cmp r0, r1 - bne .L770 -.L771: + bne .L766 +.L767: strh r4, [r3, r2] @ movhi -.L770: +.L766: mov r0, #0 ldmfd sp!, {r4, pc} -.L773: +.L769: .align 2 -.L772: - .word .LC79 +.L768: + .word .LC78 .word .LANCHOR2 .word -1138 .word -1136 @@ -6392,56 +6374,56 @@ FtlGcMarkBadPhyBlk: .save {r3, r4, r5, r6, r7, lr} mov r4, r0 bl P2V_block_in_plane - ldr r5, .L779 + ldr r5, .L775 mov r2, r4 - ldr r7, .L779+4 + ldr r7, .L775+4 ldrh r1, [r5, r7] mov r6, r0 - ldr r0, .L779+8 + ldr r0, .L775+8 bl printk mov r0, r6 bl FtlGcRefreshBlock ldr r3, [r5, #-1884] cmp r3, #0 - beq .L775 + beq .L771 ldr r3, [r5, #-2084] mov r6, r6, asl #1 ldrh r2, [r3, r6] cmp r2, #29 subhi r2, r2, #30 strhih r2, [r3, r6] @ movhi -.L775: +.L771: ldrh r1, [r5, r7] mov r3, #0 - ldr r2, .L779+12 - b .L776 -.L778: + ldr r2, .L775+12 + b .L772 +.L774: ldrh r0, [r2, #2]! cmp r0, r4 - beq .L777 + beq .L773 add r3, r3, #1 uxth r3, r3 -.L776: +.L772: cmp r3, r1 - bne .L778 + bne .L774 cmp r3, #15 - bhi .L777 - ldr r2, .L779 - ldr r1, .L779+16 + bhi .L773 + ldr r2, .L775 + ldr r1, .L775+16 add r0, r2, r3, asl #1 add r3, r3, #1 strh r4, [r0, r1] @ movhi sub r1, r1, #2 strh r3, [r2, r1] @ movhi -.L777: +.L773: mov r0, #0 ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L780: +.L776: .align 2 -.L779: +.L775: .word .LANCHOR2 .word -1134 - .word .LC80 + .word .LC79 .word .LANCHOR2-1134 .word -1132 .fnend @@ -6455,24 +6437,24 @@ FtlGcReFreshBadBlk: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r3, r4, r5, lr} .save {r3, r4, r5, lr} - ldr r2, .L784 - ldr r3, .L784+4 + ldr r2, .L780 + ldr r3, .L780+4 ldrh r2, [r3, r2] cmp r2, #0 - beq .L782 - ldr r1, .L784+8 + beq .L778 + ldr r1, .L780+8 ldrh r0, [r3, r1] movw r1, #65535 cmp r0, r1 - bne .L782 - ldr r4, .L784+12 - ldr r5, .L784+4 + bne .L778 + ldr r4, .L780+12 + ldr r5, .L780+4 ldrh r1, [r3, r4] cmp r1, r2 movcs r2, #0 strcsh r2, [r3, r4] @ movhi ldrh r2, [r5, r4] - ldr r3, .L784+16 + ldr r3, .L780+16 add r2, r5, r2, asl #1 ldrh r0, [r2, r3] bl P2V_block_in_plane @@ -6480,12 +6462,12 @@ FtlGcReFreshBadBlk: ldrh r3, [r5, r4] add r3, r3, #1 strh r3, [r5, r4] @ movhi -.L782: +.L778: mov r0, #0 ldmfd sp!, {r3, r4, r5, pc} -.L785: +.L781: .align 2 -.L784: +.L780: .word -1134 .word .LANCHOR2 .word -1138 @@ -6504,9 +6486,9 @@ ftl_memset: stmfd sp!, {r4, lr} .save {r4, lr} mov r4, r0 - beq .L787 + beq .L783 bl memset -.L787: +.L783: mov r0, r4 ldmfd sp!, {r4, pc} .fnend @@ -6521,11 +6503,11 @@ FtlGcPageVarInit: stmfd sp!, {r4, r5, r6, lr} .save {r4, r5, r6, lr} mov r3, #0 - ldr r4, .L789 + ldr r4, .L785 movw r5, #3916 - ldr r2, .L789+4 + ldr r2, .L785+4 mov r1, #255 - ldr r6, .L789+8 + ldr r6, .L785+8 ldr r0, [r4, #-1148] strh r3, [r4, r2] @ movhi add r2, r2, #12 @@ -6541,9 +6523,9 @@ FtlGcPageVarInit: bl ftl_memset ldmfd sp!, {r4, r5, r6, lr} b FtlGcBufInit -.L790: +.L786: .align 2 -.L789: +.L785: .word .LANCHOR2 .word -1152 .word .LANCHOR0 @@ -6559,9 +6541,9 @@ SupperBlkListInit: stmfd sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} movw r3, #3854 - ldr r7, .L800 + ldr r7, .L796 mov r2, #6 - ldr r4, .L800+4 + ldr r4, .L796+4 mov r1, #0 mov r6, #0 ldrh r3, [r7, r3] @@ -6569,7 +6551,7 @@ SupperBlkListInit: ldr r0, [r4, #-2072] mul r2, r2, r3 bl ftl_memset - ldr r3, .L800+8 + ldr r3, .L796+8 str r6, [r4, #-2052] str r6, [r4, #-2068] strh r6, [r4, r3] @ movhi @@ -6577,8 +6559,8 @@ SupperBlkListInit: str r6, [r4, #-2060] strh r6, [r4, r3] @ movhi mov r4, r6 - b .L792 -.L794: + b .L788 +.L790: add r3, r7, r8 mov r1, r4 add r8, r8, #1 @@ -6590,73 +6572,73 @@ SupperBlkListInit: ldreqh r3, [r7, r9] addeq r5, r5, r3 uxtheq r5, r5 - b .L798 -.L799: + b .L794 +.L795: mov r5, #0 movw fp, #3844 mov r8, r5 movw r9, #3912 -.L798: +.L794: ldrh r3, [r7, fp] cmp r3, r8 - bhi .L794 + bhi .L790 cmp r5, #0 - beq .L795 + beq .L791 mov r1, r5 mov r0, #32768 bl __aeabi_idiv uxth r5, r0 -.L795: - ldr r3, .L800+4 +.L791: + ldr r3, .L796+4 mov r1, #6 ldr r2, [r3, #-2072] mla r2, r1, r4, r2 strh r5, [r2, #4] @ movhi - ldr r2, .L800+12 + ldr r2, .L796+12 ldrh r2, [r3, r2] cmp r2, r4 - beq .L796 - ldr r2, .L800+16 + beq .L792 + ldr r2, .L796+16 ldrh r2, [r3, r2] cmp r2, r4 - beq .L796 - ldr r2, .L800+20 + beq .L792 + ldr r2, .L796+20 ldrh r2, [r3, r2] cmp r2, r4 - beq .L796 + beq .L792 ldr r2, [r3, #-2064] mov r3, r4, asl #1 ldrh r3, [r2, r3] cmp r3, #0 - bne .L797 + bne .L793 add r6, r6, #1 mov r0, r4 uxth r6, r6 bl INSERT_FREE_LIST - b .L796 -.L797: + b .L792 +.L793: add sl, sl, #1 mov r0, r4 uxth sl, sl bl INSERT_DATA_LIST -.L796: +.L792: add r4, r4, #1 uxth r4, r4 -.L792: +.L788: movw r2, #3852 ldrh r3, [r7, r2] cmp r3, r4 - bhi .L799 - ldr r3, .L800+4 + bhi .L795 + ldr r3, .L796+4 mov r0, #0 - ldr r2, .L800+8 + ldr r2, .L796+8 strh sl, [r3, r2] @ movhi add r2, r2, #8 strh r6, [r3, r2] @ movhi ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L801: +.L797: .align 2 -.L800: +.L796: .word .LANCHOR0 .word .LANCHOR2 .word -2056 @@ -6675,9 +6657,9 @@ 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, .L805 + ldr r4, .L801 movw r6, #3922 - ldr r5, .L805+4 + ldr r5, .L801+4 movw r7, #3950 mov r8, #12 ldr r2, [r4, #3940] @@ -6693,8 +6675,8 @@ FtlL2PDataInit: mov r2, #0 mov ip, r2 mvn r0, #0 - b .L803 -.L804: + b .L799 +.L800: mul r3, r8, r2 ldr r1, [r5, #-1900] add sl, r1, r3 @@ -6710,22 +6692,22 @@ FtlL2PDataInit: bic r1, r1, #3 add r1, sl, r1 str r1, [r3, #8] -.L803: +.L799: ldrh r3, [r4, r7] - ldr r1, .L805 + ldr r1, .L801 cmp r3, r2 - ldr r3, .L805+4 - bhi .L804 - ldr r0, .L805+8 + ldr r3, .L801+4 + bhi .L800 + ldr r0, .L801+8 mvn r2, #0 strh r2, [r3, r0] @ movhi - ldr r0, .L805+12 + ldr r0, .L801+12 strh r2, [r3, r0] @ movhi ldr r0, [r1, #3940] - ldr r2, .L805+16 + ldr r2, .L801+16 strh r0, [r3, r2] @ movhi sub r2, r2, #6 - ldr r0, .L805+20 + ldr r0, .L801+20 strh r0, [r3, r2] @ movhi add r2, r2, #36 ldrh r0, [r3, r2] @@ -6733,7 +6715,7 @@ FtlL2PDataInit: strh r0, [r3, r2] @ movhi movw r2, #3948 ldrh r1, [r1, r2] - ldr r2, .L805+24 + ldr r2, .L801+24 strh r1, [r3, r2] @ movhi ldr r2, [r3, #-1044] str r2, [r3, #-1076] @@ -6744,9 +6726,9 @@ FtlL2PDataInit: ldr r2, [r3, #-1036] str r2, [r3, #-1064] ldmfd sp!, {r3, r4, r5, r6, r7, r8, sl, pc} -.L806: +.L802: .align 2 -.L805: +.L801: .word .LANCHOR0 .word .LANCHOR2 .word -1086 @@ -6775,13 +6757,13 @@ ftl_free_no_use_map_blk: mov r0, r5 bl ftl_memset mov r3, #0 - b .L808 -.L812: + b .L804 +.L808: ldr r0, [r7, r3, asl #2] mov r2, #0 ubfx r0, r0, #10, #16 - b .L809 -.L811: + b .L805 +.L807: mov r1, r2, asl #1 add r2, r2, #1 ldrh ip, [r6, r1] @@ -6790,42 +6772,42 @@ ftl_free_no_use_map_blk: ldreqh ip, [r5, r1] addeq ip, ip, #1 streqh ip, [r5, r1] @ movhi -.L809: +.L805: ldrh r1, [r4, #10] cmp r1, r2 - bhi .L811 + bhi .L807 add r3, r3, #1 uxth r3, r3 -.L808: +.L804: ldrh r2, [r4, #6] cmp r2, r3 - bhi .L812 + bhi .L808 mov sl, #0 ldrh fp, [r5, #0] mov r7, sl - ldr r3, .L818 + ldr r3, .L814 movw r2, #3914 - b .L813 -.L817: + b .L809 +.L813: ldrh r1, [r4, #0] cmp r1, r7 - bne .L814 + bne .L810 ldrh r0, [r4, #2] ldrh r1, [r3, r2] cmp r0, r1 movcc r0, r7, asl #1 strcch r1, [r5, r0] @ movhi -.L814: +.L810: mov r9, r7, asl #1 ldrh r8, [r5, r9] cmp fp, r8 movhi sl, r7 movhi fp, r8 cmp r8, #0 - bne .L816 + bne .L812 ldrh r0, [r6, r9] cmp r0, #0 - beq .L816 + beq .L812 mov r1, #1 stmia sp, {r2, r3} bl FtlFreeSysBlkQueueIn @@ -6834,18 +6816,18 @@ ftl_free_no_use_map_blk: ldrh r1, [r4, #8] sub r1, r1, #1 strh r1, [r4, #8] @ movhi -.L816: +.L812: add r7, r7, #1 uxth r7, r7 -.L813: +.L809: ldrh r1, [r4, #10] cmp r1, r7 - bhi .L817 + bhi .L813 mov r0, sl ldmfd sp!, {r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L819: +.L815: .align 2 -.L818: +.L814: .word .LANCHOR0 .fnend .size ftl_free_no_use_map_blk, .-ftl_free_no_use_map_blk @@ -6856,7 +6838,7 @@ FtlFreeSysBlkQueueInit: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L821 + ldr r3, .L817 movw r2, #4042 stmfd sp!, {r4, lr} .save {r4, lr} @@ -6874,9 +6856,9 @@ FtlFreeSysBlkQueueInit: bl ftl_memset mov r0, r4 ldmfd sp!, {r4, pc} -.L822: +.L818: .align 2 -.L821: +.L817: .word .LANCHOR0 .fnend .size FtlFreeSysBlkQueueInit, .-FtlFreeSysBlkQueueInit @@ -6888,10 +6870,10 @@ FtlBbtMemInit: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L824 + ldr r3, .L820 movw r2, #3980 mvn r1, #0 - ldr r0, .L824+4 + ldr r0, .L820+4 strh r1, [r3, r2] @ movhi add r2, r2, #6 mov r1, #0 @@ -6899,9 +6881,9 @@ FtlBbtMemInit: mov r1, #255 mov r2, #16 b ftl_memset -.L825: +.L821: .align 2 -.L824: +.L820: .word .LANCHOR0 .word .LANCHOR0+3992 .fnend @@ -6913,8 +6895,8 @@ FtlBbt2Bitmap: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L830 - ldr r2, .L830+4 + ldr r3, .L826 + ldr r2, .L826+4 stmfd sp!, {r4, r5, r6, lr} .save {r4, r5, r6, lr} mov r5, r0 @@ -6927,7 +6909,7 @@ FtlBbt2Bitmap: mov r3, #0 movw ip, #65535 mov r0, #1 -.L828: +.L824: ldrh r2, [r5, r3] cmp r2, ip ldmeqfd sp!, {r4, r5, r6, pc} @@ -6938,11 +6920,11 @@ FtlBbt2Bitmap: ldr r6, [r4, r1, asl #2] orr r2, r6, r0, asl r2 str r2, [r4, r1, asl #2] - bne .L828 + bne .L824 ldmfd sp!, {r4, r5, r6, pc} -.L831: +.L827: .align 2 -.L830: +.L826: .word -1032 .word .LANCHOR2 .fnend @@ -6957,11 +6939,11 @@ FtlVariablesInit: stmfd sp!, {r3, r4, r5, r6, r7, lr} .save {r3, r4, r5, r6, r7, lr} mvn r3, #0 - ldr r5, .L833 + ldr r5, .L829 mov r4, #0 - ldr r2, .L833+4 + ldr r2, .L829+4 mov r1, r4 - ldr r6, .L833+8 + ldr r6, .L829+8 movw r7, #3854 str r3, [r5, #-1012] strh r3, [r5, r2] @ movhi @@ -6988,19 +6970,19 @@ FtlVariablesInit: bl ftl_memset mov r1, r4 mov r2, #48 - ldr r0, .L833+12 + ldr r0, .L829+12 bl ftl_memset mov r1, r4 mov r2, #512 - ldr r0, .L833+16 + ldr r0, .L829+16 bl ftl_memset bl FtlGcBufInit bl FtlL2PDataInit mov r0, r4 ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L834: +.L830: .align 2 -.L833: +.L829: .word .LANCHOR2 .word -1024 .word .LANCHOR0 @@ -7018,11 +7000,11 @@ FtlMemInit: stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, lr} .save {r4, r5, r6, r7, r8, r9, sl, lr} movw r3, #65535 - ldr r4, .L866 + ldr r4, .L862 mov r6, #0 - ldr r2, .L866+4 + ldr r2, .L862+4 mov r0, #1024 - ldr r5, .L866+8 + ldr r5, .L862+8 mov r7, #12 str r3, [r4, #-996] mvn r3, #0 @@ -7032,7 +7014,7 @@ FtlMemInit: movw sl, #3844 strh r3, [r4, r2] @ movhi mov r2, #32 - ldr r3, .L866+12 + ldr r3, .L862+12 mov r8, #36 str r6, [r4, #-1708] str r6, [r4, #-1848] @@ -7075,7 +7057,7 @@ FtlMemInit: str r0, [r4, #-988] ldrh r0, [r5, r6] strhi r3, [r4, #-988] - ldr r4, .L866 + ldr r4, .L862 mov r0, r0, asl #1 bl ftl_malloc str r0, [r4, #-1148] @@ -7148,7 +7130,7 @@ FtlMemInit: mov r0, sl, asl #3 bl ftl_malloc ldrh r3, [r5, r6] - ldr sl, .L866+16 + ldr sl, .L862+16 str r0, [r4, #-948] ldr r0, [r4, #-1156] mul r0, r0, r3 @@ -7239,7 +7221,7 @@ FtlMemInit: mul r0, r0, r3 bl ftl_malloc ldrh r3, [r5, r6] - ldr r6, .L866+20 + ldr r6, .L862+20 str r0, [r4, #-1092] mov r0, #6 mul r0, r0, r3 @@ -7256,166 +7238,166 @@ FtlMemInit: bl ftl_malloc ldrh r1, [r4, r6] mov r3, #1 - ldr ip, .L866+8 + ldr ip, .L862+8 mov r1, r1, asl #2 mov r2, r1 str r0, [r5, #4008] ldrh r5, [r5, r7] - ldr r0, .L866+24 - b .L837 -.L838: + ldr r0, .L862+24 + b .L833 +.L834: ldr r4, [ip, #4008] add r3, r3, #1 add r4, r4, r2 add r2, r2, r1 str r4, [r0, #4]! -.L837: +.L833: cmp r3, r5 - bcc .L838 - ldr r0, .L866+28 + bcc .L834 + ldr r0, .L862+28 mov r2, #0 mov r1, r2 add r0, r0, r3, asl #2 - b .L839 -.L840: + b .L835 +.L836: add ip, r0, r2 add r3, r3, #1 add r2, r2, #4 str r1, [ip, #28] -.L839: +.L835: cmp r3, #7 - bls .L840 - ldr r3, .L866 + bls .L836 + ldr r3, .L862 ldr r2, [r3, #-1044] cmp r2, #0 - beq .L865 -.L841: + beq .L861 +.L837: ldr r2, [r3, #-1096] cmp r2, #0 - beq .L865 -.L843: + beq .L861 +.L839: ldr r2, [r3, #-1036] cmp r2, #0 - beq .L865 -.L844: + beq .L861 +.L840: ldr r2, [r3, #-1040] cmp r2, #0 - beq .L865 -.L845: + beq .L861 +.L841: ldr r2, [r3, #-1900] cmp r2, #0 - beq .L865 -.L846: + beq .L861 +.L842: ldr r2, [r3, #-1092] cmp r2, #0 - beq .L865 -.L847: + beq .L861 +.L843: ldr r2, [r3, #-2072] cmp r2, #0 - beq .L865 -.L848: - ldr r2, .L866+8 + beq .L861 +.L844: + ldr r2, .L862+8 ldr r2, [r2, #4008] cmp r2, #0 - beq .L865 -.L849: + beq .L861 +.L845: ldr r3, [r3, #-2064] cmp r3, #0 - beq .L865 -.L850: - ldr r3, .L866 + beq .L861 +.L846: + ldr r3, .L862 ldr r2, [r3, #-1148] cmp r2, #0 - beq .L865 + beq .L861 ldr r2, [r3, #-1144] cmp r2, #0 - beq .L865 -.L852: + beq .L861 +.L848: ldr r2, [r3, #-984] cmp r2, #0 - beq .L865 + beq .L861 ldr r2, [r3, #-976] cmp r2, #0 - beq .L865 + beq .L861 ldr r2, [r3, #-2088] cmp r2, #0 - beq .L865 + beq .L861 ldr r2, [r3, #-1160] cmp r2, #0 - beq .L865 + beq .L861 ldr r2, [r3, #-980] cmp r2, #0 - beq .L865 -.L854: + beq .L861 +.L850: ldr r2, [r3, #-2076] cmp r2, #0 - beq .L865 + beq .L861 ldr r2, [r3, #-972] cmp r2, #0 - beq .L865 + beq .L861 ldr r3, [r3, #-968] cmp r3, #0 - beq .L865 - ldr r3, .L866 + beq .L861 + ldr r3, .L862 ldr r2, [r3, #-1168] cmp r2, #0 - beq .L865 + beq .L861 ldr r2, [r3, #-960] cmp r2, #0 - beq .L865 + beq .L861 ldr r2, [r3, #-956] cmp r2, #0 - beq .L865 + beq .L861 ldr r2, [r3, #-1172] cmp r2, #0 - beq .L865 -.L856: + beq .L861 +.L852: ldr r2, [r3, #-952] cmp r2, #0 - beq .L865 + beq .L861 ldr r2, [r3, #-948] cmp r2, #0 - beq .L865 + beq .L861 ldr r2, [r3, #-1164] cmp r2, #0 - beq .L865 -.L858: + beq .L861 +.L854: ldr r2, [r3, #-2084] cmp r2, #0 - beq .L865 + beq .L861 ldr r3, [r3, #-1008] cmp r3, #0 - beq .L865 -.L860: - ldr r3, .L866+8 + beq .L861 +.L856: + ldr r3, .L862+8 ldr r3, [r3, #3960] cmp r3, #0 - beq .L865 -.L861: - ldr r3, .L866 + beq .L861 +.L857: + ldr r3, .L862 ldr r2, [r3, #-928] cmp r2, #0 - beq .L865 -.L862: + beq .L861 +.L858: ldr r2, [r3, #-924] cmp r2, #0 - beq .L865 -.L863: + beq .L861 +.L859: ldr r3, [r3, #-920] cmp r3, #0 - bne .L864 -.L865: - ldr r0, .L866+32 - ldr r1, .L866+36 + bne .L860 +.L861: + ldr r0, .L862+32 + ldr r1, .L862+36 bl printk mvn r0, #0 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, pc} -.L864: +.L860: mov r0, #0 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, pc} -.L867: +.L863: .align 2 -.L866: +.L862: .word .LANCHOR2 .word -1138 .word .LANCHOR0 @@ -7424,7 +7406,7 @@ FtlMemInit: .word -1032 .word .LANCHOR0+4008 .word .LANCHOR0+3980 - .word .LC81 + .word .LC80 .word .LANCHOR3 .fnend .size FtlMemInit, .-FtlMemInit @@ -7441,7 +7423,7 @@ ReadFlashInfo: mov r2, #11 mov r4, r0 bl ftl_memset - ldr r3, .L871 + ldr r3, .L867 ldr r1, [r3, #2776] ldr r0, [r3, #4] ldrb r2, [r1, #9] @ zero_extendqisi2 @@ -7474,25 +7456,25 @@ ReadFlashInfo: mov r1, #32 strb r1, [r4, #8] ldrb r2, [r2, #7] @ zero_extendqisi2 - ldr r1, .L871+4 + ldr r1, .L867+4 strb r0, [r4, #10] strb r2, [r4, #9] mov r2, #1 - b .L869 -.L870: + b .L865 +.L866: ldrb r5, [r3, r1] @ zero_extendqisi2 add r3, r3, #1 ldrb r0, [r4, #10] @ zero_extendqisi2 orr r0, r0, r2, asl r5 strb r0, [r4, #10] -.L869: +.L865: uxtb r0, r3 cmp r0, ip - bcc .L870 + bcc .L866 ldmfd sp!, {r3, r4, r5, pc} -.L872: +.L868: .align 2 -.L871: +.L867: .word .LANCHOR0 .word .LANCHOR0+3768 .fnend @@ -7504,50 +7486,50 @@ FlashDieInfoInit: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r1, .L885 + ldr r1, .L881 mov r2, #0 stmfd sp!, {r3, r4, r5, r6, r7, r8, sl, lr} .save {r3, r4, r5, r6, r7, r8, sl, lr} - ldr r3, .L885+4 + ldr r3, .L881+4 strb r2, [r1, #-916] - ldr r1, .L885+8 + ldr r1, .L881+8 strb r2, [r3, #3766] movw r2, #2698 ldrh r2, [r1, r2] cmp r2, #256 str r2, [r3, #4] movhi r2, #512 - bhi .L884 + bhi .L880 cmp r2, #128 - bls .L875 + bls .L871 mov r2, #256 -.L884: +.L880: str r2, [r3, #4] -.L875: +.L871: mov r1, #0 mov r2, #8 - ldr r0, .L885+12 + ldr r0, .L881+12 mov r6, #0 bl ftl_memset mov r1, #0 mov r2, #32 - ldr r0, .L885+16 + ldr r0, .L881+16 bl ftl_memset - ldr r0, .L885+20 + ldr r0, .L881+20 mov r1, #0 mov r2, #128 bl ftl_memset - ldr r7, .L885+24 - ldr r5, .L885+4 + ldr r7, .L881+24 + ldr r5, .L881+4 mov r8, r7 -.L877: +.L873: ldr r4, [r5, #2776] mov r1, r8 add r0, r4, #1 ldrb r2, [r4, #0] @ zero_extendqisi2 bl FlashMemCmp8 cmp r0, #0 - bne .L876 + bne .L872 ldrb r3, [r5, #3766] @ zero_extendqisi2 add r2, r5, r3, asl #2 str r0, [r2, #2740] @@ -7555,28 +7537,28 @@ FlashDieInfoInit: add r3, r3, #1 strb r3, [r5, #3766] strb r6, [r2, #3768] -.L876: +.L872: add r6, r6, #1 add r8, r8, #8 cmp r6, #4 - bne .L877 - ldr r5, .L885+4 - ldr r3, .L885 + bne .L873 + ldr r5, .L881+4 + ldr r3, .L881 ldrb r2, [r5, #3766] @ zero_extendqisi2 strb r2, [r3, #-916] ldrb r3, [r4, #8] @ zero_extendqisi2 cmp r3, #2 - bne .L878 + bne .L874 add sl, r4, #1 mov r6, #0 mov r8, r5 -.L881: +.L877: mov r0, sl mov r1, r7 ldrb r2, [r4, #0] @ zero_extendqisi2 bl FlashMemCmp8 cmp r0, #0 - bne .L879 + bne .L875 ldrb r1, [r4, #13] @ zero_extendqisi2 ldr r0, [r5, #4] ldrb r3, [r5, #3766] @ zero_extendqisi2 @@ -7594,25 +7576,25 @@ FlashDieInfoInit: add r3, r3, #1 strb r3, [r8, #3766] strb r6, [r2, #3768] -.L879: +.L875: add r6, r6, #1 add r7, r7, #8 cmp r6, #4 - bne .L881 -.L878: - ldr r3, .L885+4 + bne .L877 +.L874: + ldr r3, .L881+4 ldrb r1, [r4, #13] @ zero_extendqisi2 - ldr r2, .L885 + ldr r2, .L881 ldrb r3, [r3, #3766] @ zero_extendqisi2 mul r1, r1, r3 ldrh r3, [r4, #14] mul r1, r3, r1 - ldr r3, .L885+28 + ldr r3, .L881+28 strh r1, [r2, r3] @ movhi ldmfd sp!, {r3, r4, r5, r6, r7, r8, sl, pc} -.L886: +.L882: .align 2 -.L885: +.L881: .word .LANCHOR2 .word .LANCHOR0 .word .LANCHOR1 @@ -7634,85 +7616,85 @@ BuildFlashLsbPageTable: stmfd sp!, {r4, lr} .save {r4, lr} mov r4, r1 - bne .L888 - ldr r3, .L927 -.L889: + bne .L884 + ldr r3, .L923 +.L885: strh r0, [r3, #2]! @ movhi add r0, r0, #1 uxth r0, r0 cmp r0, #256 - bne .L889 - b .L890 -.L888: + bne .L885 + b .L886 +.L884: cmp r0, #1 - bne .L891 - ldr r0, .L927+4 + bne .L887 + ldr r0, .L923+4 mov r2, #0 mov r3, r2 -.L894: +.L890: uxth r1, r3 cmp r1, #3 - bls .L892 + bls .L888 tst r3, #1 moveq r1, #2 movne r1, #3 rsb r1, r1, r2 uxth r1, r1 -.L892: +.L888: add r3, r3, #1 strh r1, [r2, r0] @ movhi cmp r3, #256 add r2, r2, #2 - bne .L894 - b .L890 -.L891: + bne .L890 + b .L886 +.L887: cmp r0, #2 - bne .L895 + bne .L891 mov r3, #0 - ldr r0, .L927 + ldr r0, .L923 movw r2, #65535 mov r1, r3 - b .L926 -.L898: + b .L922 +.L894: cmp r3, #1 movls r1, r3 movhi r1, r2 -.L926: +.L922: add r3, r3, #1 add r2, r2, #2 strh r1, [r0, #2]! @ movhi uxth r3, r3 uxth r2, r2 cmp r3, #256 - bne .L898 - b .L890 -.L895: + bne .L894 + b .L886 +.L891: cmp r0, #3 - bne .L899 - ldr r0, .L927+4 + bne .L895 + ldr r0, .L923+4 mov r2, #0 mov r3, r2 -.L902: +.L898: uxth r1, r3 cmp r1, #5 - bls .L900 + bls .L896 tst r3, #1 moveq r1, #4 movne r1, #5 rsb r1, r1, r2 uxth r1, r1 -.L900: +.L896: add r3, r3, #1 strh r1, [r2, r0] @ movhi cmp r3, #256 add r2, r2, #2 - bne .L902 - b .L890 -.L899: + bne .L898 + b .L886 +.L895: cmp r0, #4 mov r2, #0 - bne .L903 - ldr r3, .L927+8 + bne .L899 + ldr r3, .L923+8 movw r1, #2228 strh r2, [r3, r1] @ movhi movw r2, #2230 @@ -7728,7 +7710,7 @@ BuildFlashLsbPageTable: mov r1, #5 strh r0, [r3, r2] @ movhi add r2, r2, #2 - ldr r0, .L927+12 + ldr r0, .L923+12 strh r1, [r3, r2] @ movhi mov r2, #2240 mov r1, #7 @@ -7738,7 +7720,7 @@ BuildFlashLsbPageTable: strh r1, [r3, r2] @ movhi mov r2, #16 mov r3, r1 -.L905: +.L901: tst r3, #1 add r3, r3, #1 moveq r1, #6 @@ -7748,72 +7730,72 @@ BuildFlashLsbPageTable: add r2, r2, #2 strh r1, [r0, #2]! @ movhi uxth r2, r2 - bne .L905 - b .L890 -.L903: + bne .L901 + b .L886 +.L899: cmp r0, #5 - bne .L906 - ldr r1, .L927 + bne .L902 + ldr r1, .L923 mov r3, r2 -.L907: +.L903: strh r3, [r1, #2]! @ movhi add r3, r3, #1 uxth r3, r3 cmp r3, #16 - bne .L907 - ldr r2, .L927+16 -.L908: + bne .L903 + ldr r2, .L923+16 +.L904: strh r3, [r2, #2]! @ movhi add r3, r3, #2 uxth r3, r3 cmp r3, #496 - bne .L908 - b .L890 -.L906: + bne .L904 + b .L886 +.L902: cmp r0, #6 - bne .L890 - ldr r0, .L927 + bne .L886 + ldr r0, .L923 mov r3, r2 -.L911: +.L907: uxth r1, r3 cmp r1, #5 - bls .L909 + bls .L905 tst r3, #1 moveq r1, #10 movne r1, #12 rsb r1, r1, r2 uxth r1, r1 -.L909: +.L905: add r3, r3, #1 add r2, r2, #3 cmp r3, #256 strh r1, [r0, #2]! @ movhi uxth r2, r2 - bne .L911 -.L890: + bne .L907 +.L886: mov r2, #1024 - ldr r0, .L927+20 + ldr r0, .L923+20 mov r1, #255 uxth r4, r4 bl ftl_memset - ldr r2, .L927 + ldr r2, .L923 mov r3, #0 - ldr r0, .L927+24 - b .L912 -.L913: + ldr r0, .L923+24 + b .L908 +.L909: ldrh r1, [r2, #2]! add r3, r3, #1 uxth r3, r3 add ip, r0, r1, asl #1 sub ip, ip, #912 strh r1, [ip, #0] @ movhi -.L912: +.L908: cmp r3, r4 - bcc .L913 + bcc .L909 ldmfd sp!, {r4, pc} -.L928: +.L924: .align 2 -.L927: +.L923: .word .LANCHOR0+2226 .word .LANCHOR0+2228 .word .LANCHOR0 @@ -7855,7 +7837,7 @@ FlashSramLoadStore: stmfd sp!, {r4, lr} .save {r4, lr} cmp r2, #0 - ldr r4, .L934 + ldr r4, .L930 mov ip, r0 mov r2, r3 ldr r4, [r4, #112] @@ -7865,9 +7847,9 @@ FlashSramLoadStore: movne r1, ip ldmfd sp!, {r4, lr} b memcpy -.L935: +.L931: .align 2 -.L934: +.L930: .word .LANCHOR2 .fnend .size FlashSramLoadStore, .-FlashSramLoadStore @@ -7923,12 +7905,12 @@ rk_ftl_get_capacity: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L941 + ldr r3, .L937 ldr r0, [r3, #3952] bx lr -.L942: +.L938: .align 2 -.L941: +.L937: .word .LANCHOR0 .fnend .size rk_ftl_get_capacity, .-rk_ftl_get_capacity @@ -7947,50 +7929,50 @@ rknand_print_hex: mov r5, r2 mov sl, r3 mov r7, r8 - b .L944 -.L950: + b .L940 +.L946: cmp r8, #0 - bne .L945 - ldr r0, .L952 + bne .L941 + ldr r0, .L948 mov r1, r6 mov r2, r7 bl printk -.L945: +.L941: cmp r5, #4 - ldreq r0, .L952+4 + ldreq r0, .L948+4 ldreq r1, [r4, r7, asl #2] - beq .L951 + beq .L947 cmp r5, #2 moveq r3, r7, asl #1 - ldreq r0, .L952+4 + ldreq r0, .L948+4 ldreqsh r1, [r4, r3] - ldrne r0, .L952+4 + ldrne r0, .L948+4 ldrneb r1, [r4, r7] @ zero_extendqisi2 -.L951: +.L947: add r8, r8, #1 bl printk cmp r8, #15 - bls .L949 - ldr r0, .L952+8 + bls .L945 + ldr r0, .L948+8 mov r8, #0 - ldr r1, .L952+12 + ldr r1, .L948+12 bl printk -.L949: +.L945: add r7, r7, #1 -.L944: +.L940: cmp r7, sl - bne .L950 - ldr r0, .L952+8 - ldr r1, .L952+12 + bne .L946 + ldr r0, .L948+8 + ldr r1, .L948+12 ldmfd sp!, {r3, r4, r5, r6, r7, r8, sl, lr} b printk -.L953: +.L949: .align 2 -.L952: +.L948: + .word .LC81 .word .LC82 + .word .LC74 .word .LC83 - .word .LC75 - .word .LC84 .fnend .size rknand_print_hex, .-rknand_print_hex .align 2 @@ -8002,15 +7984,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, .L977 + ldr r6, .L973 add r0, r6, r0, asl #3 ldr r3, [r6, #12] ldr r4, [r0, #16] cmp r3, #3 - bls .L971 + bls .L967 ldr r3, [r4, #16] tst r3, #4 - beq .L971 + beq .L967 mov r0, r4 bl wait_for_nandc_xfer_completed ldr r5, [r4, #16] @@ -8018,49 +8000,49 @@ NandcXferComp: ands r5, r5, #2 str r3, [sp, #0] movne r5, #0 - bne .L975 - b .L976 -.L961: + bne .L971 + b .L972 +.L957: ldr r3, [r6, #12] cmp r3, #5 - bls .L958 + bls .L954 ldr r3, [r4, #0] str r3, [sp, #4] ldr r3, [sp, #4] tst r3, #8192 - beq .L958 + beq .L954 ldr r3, [sp, #4] tst r3, #131072 - bne .L959 -.L958: + bne .L955 +.L954: add r5, r5, #1 bic r3, r5, #-16777216 cmp r3, #0 - bne .L975 + bne .L971 ldr r2, [r4, #28] mov r1, r5 ldr r3, [sp, #0] ubfx r2, r2, #16, #5 - ldr r0, .L977+4 + ldr r0, .L973+4 ubfx r3, r3, #22, #6 bl printk - ldr r0, .L977+8 + ldr r0, .L973+8 mov r1, r4 mov r2, #4 mov r3, #512 bl rknand_print_hex -.L975: +.L971: ldr r2, [r4, #28] ldr r3, [sp, #0] ubfx r2, r2, #16, #5 ubfx r3, r3, #22, #6 cmp r2, r3 - blt .L961 -.L959: - ldr r4, .L977 + blt .L957 +.L955: + ldr r4, .L973 ldr r3, [r4, #3820] cmp r3, #0 - beq .L962 + beq .L958 ldr r1, [sp, #0] mov r2, #0 ldr r0, [r4, #3812] @@ -8073,40 +8055,40 @@ NandcXferComp: ubfx r1, r1, #22, #5 mov r1, r1, asl #7 bl rknand_dma_unmap_single - b .L962 -.L965: + b .L958 +.L961: ldr r3, [r4, #8] add r5, r5, #1 str r3, [sp, #0] bic r3, r5, #-16777216 cmp r3, #0 - bne .L976 + bne .L972 ldr r2, [sp, #0] mov r1, r5 ldr r3, [r4, #28] - ldr r0, .L977+12 + ldr r0, .L973+12 ubfx r3, r3, #16, #5 bl printk - ldr r0, .L977+8 + ldr r0, .L973+8 mov r1, r4 mov r2, #4 mov r3, #512 bl rknand_print_hex -.L976: +.L972: ldr r3, [sp, #0] tst r3, #1048576 - beq .L965 - ldr r6, .L977 + beq .L961 + ldr r6, .L973 ldr r3, [r6, #3828] cmp r3, #0 - beq .L966 + beq .L962 mov r0, r4 bl NandcSendDumpDataStart -.L966: +.L962: ldr r3, [r6, #3820] - ldr r5, .L977 + ldr r5, .L973 cmp r3, #0 - beq .L967 + beq .L963 ldr r1, [sp, #0] mov r2, #1 ldr r0, [r5, #3812] @@ -8119,33 +8101,33 @@ NandcXferComp: ubfx r1, r1, #22, #5 mov r1, r1, asl #7 bl rknand_dma_unmap_single -.L967: - ldr r3, .L977 +.L963: + ldr r3, .L973 ldr r3, [r3, #3828] cmp r3, #0 - beq .L962 + beq .L958 mov r0, r4 bl NandcSendDumpDataDone -.L962: - ldr r3, .L977 +.L958: + ldr r3, .L973 mov r2, #0 str r2, [r3, #3820] - b .L954 -.L971: + b .L950 +.L967: ldr r3, [r4, #8] str r3, [sp, #0] ldr r3, [sp, #0] tst r3, #1048576 - beq .L971 -.L954: + beq .L967 +.L950: ldmfd sp!, {r2, r3, r4, r5, r6, pc} -.L978: +.L974: .align 2 -.L977: +.L973: .word .LANCHOR0 + .word .LC84 .word .LC85 .word .LC86 - .word .LC87 .fnend .size NandcXferComp, .-NandcXferComp .align 2 @@ -8159,7 +8141,7 @@ NandcXferData: .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} mov r4, r3 mov r9, r3 - ldr r3, .L1017 + ldr r3, .L1013 .pad #92 sub sp, sp, #92 tst r4, #63 @@ -8169,15 +8151,15 @@ NandcXferData: mov sl, r2 ldr r5, [sp, #128] ldr r6, [r3, #16] - bne .L980 + bne .L976 cmp r5, #0 - bne .L981 + bne .L977 add r0, sp, #24 mov r1, #255 mov r2, #64 add r5, sp, #24 bl ftl_memset -.L981: +.L977: mov r0, r7 mov r1, fp mov r2, sl @@ -8188,8 +8170,8 @@ NandcXferData: bl NandcXferComp cmp fp, #0 movne r4, #0 - bne .L982 - ldr r1, .L1017 + bne .L978 + ldr r1, .L1013 mov r0, sl, lsr #1 mov r3, fp mov r2, fp @@ -8198,8 +8180,8 @@ NandcXferData: cmp ip, #24 movhi ip, #128 movls ip, #64 - b .L984 -.L985: + b .L980 +.L981: ldr r1, [r4, #3800] mov r3, r3, lsr #2 add r2, r2, #1 @@ -8213,29 +8195,29 @@ NandcXferData: strb r3, [r5, #3] add r5, r5, #4 mov r3, r7 -.L984: +.L980: cmp r2, r0 add r7, r3, ip - ldr r1, .L1017 - bcc .L985 + ldr r1, .L1013 + bcc .L981 mov r3, #0 ldr r0, [r1, #3832] mov sl, sl, lsr #2 ldr r1, [r1, #12] mov r4, r3 - b .L986 -.L992: + b .L982 +.L988: add r2, r3, #8 ldr r2, [r6, r2, asl #2] str r2, [sp, #20] ldr r2, [sp, #20] tst r2, #4 - bne .L1007 + bne .L1003 ldr r2, [sp, #20] ands r2, r2, #32768 - bne .L1007 + bne .L1003 cmp r1, #5 - bls .L988 + bls .L984 ldr r7, [sp, #20] ldr ip, [sp, #20] ldr r5, [sp, #20] @@ -8254,10 +8236,10 @@ NandcXferData: ubfxls ip, ip, #16, #5 ubfxhi r2, r2, #27, #1 ubfxls r2, r2, #29, #1 - b .L1015 -.L988: + b .L1011 +.L984: cmp r1, #3 - bls .L990 + bls .L986 ldr r7, [sp, #20] ldr ip, [sp, #20] ldr r5, [sp, #20] @@ -8276,31 +8258,31 @@ NandcXferData: ubfxls ip, ip, #16, #5 ubfxhi r2, r2, #28, #1 ubfxls r2, r2, #30, #1 -.L1015: +.L1011: orr r2, ip, r2, asl #5 -.L990: +.L986: cmp r4, r2 movcc r4, r2 - b .L987 -.L1007: + b .L983 +.L1003: mvn r4, #0 -.L987: +.L983: add r3, r3, #1 -.L986: +.L982: cmp r3, sl - bcs .L982 + bcs .L978 cmp r0, #0 - bne .L992 -.L982: + bne .L988 +.L978: mov r3, #0 str r3, [r6, #16] - b .L993 -.L980: + b .L989 +.L976: cmp r1, #1 mov r8, #0 - bne .L1013 - b .L994 -.L997: + bne .L1009 + b .L990 +.L993: cmp r5, #0 and r4, r8, #3 mov r0, r6 @@ -8324,12 +8306,12 @@ NandcXferData: mov r0, r7 bl NandcXferComp add r9, r9, #1024 -.L994: +.L990: cmp r8, sl - bcc .L997 + bcc .L993 mov r4, #0 - b .L993 -.L1013: + b .L989 +.L1009: mov r1, r8 mov r2, #2 mov r3, r8 @@ -8341,15 +8323,15 @@ NandcXferData: mov ip, r8 mov fp, r6 mov r6, r5 - b .L1016 -.L1002: + b .L1012 +.L998: mov r0, r7 bl NandcXferComp ldr r3, [fp, #32] add ip, r5, #2 cmp ip, sl str r3, [sp, #20] - bcs .L999 + bcs .L995 mov r3, #0 mov r0, r7 str r3, [sp, #0] @@ -8360,11 +8342,11 @@ NandcXferData: str ip, [sp, #8] bl NandcXferStart ldr ip, [sp, #8] -.L999: +.L995: ldr r3, [sp, #20] tst r3, #4 mvnne r4, #0 - bne .L1000 + bne .L996 ldr r2, [sp, #20] ldr r3, [sp, #20] ubfx r2, r2, #3, #5 @@ -8372,7 +8354,7 @@ NandcXferData: orr r3, r2, r3, asl #5 cmp r4, r3 movcc r4, r3 -.L1000: +.L996: cmp r6, #0 and r2, r8, #3 mov r0, fp @@ -8387,34 +8369,34 @@ NandcXferData: str r5, [sp, #0] bl NandcCopy1KB ldr ip, [sp, #8] -.L1016: +.L1012: cmp ip, sl mov r5, ip - bcc .L1002 + bcc .L998 mov r6, fp ldr fp, [sp, #12] -.L993: - ldr r3, .L1017 +.L989: + ldr r3, .L1013 rsbs fp, fp, #1 movcc fp, #0 ldr r3, [r3, #12] cmp r3, #5 movls fp, #0 cmp fp, #0 - beq .L1003 + beq .L999 ldr r3, [r6, #0] and r2, r3, #139264 cmp r2, #139264 orreq r3, r3, #131072 streq r3, [r6, #0] mvneq r4, #0 -.L1003: +.L999: mov r0, r4 add sp, sp, #92 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1018: +.L1014: .align 2 -.L1017: +.L1013: .word .LANCHOR0 .fnend .size NandcXferData, .-NandcXferData @@ -8428,23 +8410,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, .L1022 + ldr r3, .L1018 subs r4, r0, #0 mov r5, r1 mov r6, r2 ldrb r7, [r3, #2697] @ zero_extendqisi2 - bne .L1020 - ldr r3, .L1022+4 + bne .L1016 + ldr r3, .L1018+4 ldrb r2, [r3, #1] @ zero_extendqisi2 ldr r1, [r3, #4] mul r2, r1, r2 cmp r5, r2 - bcs .L1020 + bcs .L1016 ldrb r3, [r3, #0] @ zero_extendqisi2 cmp r3, #0 subeq r7, r7, #2 movne r7, #4 -.L1020: +.L1016: mov r0, r4 bl NandcWaitFlashReady mov r0, r4 @@ -8471,9 +8453,9 @@ FlashProgPage: bl NandcFlashDeCs and r0, r5, #1 ldmfd sp!, {r2, r3, r4, r5, r6, r7, r8, pc} -.L1023: +.L1019: .align 2 -.L1022: +.L1018: .word .LANCHOR1 .word .LANCHOR0 .fnend @@ -8488,7 +8470,7 @@ FlashPageProgMsbFFData: stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} mov r8, r2 - ldr r2, .L1035 + ldr r2, .L1031 .pad #28 sub sp, sp, #28 mov r6, r0 @@ -8497,42 +8479,42 @@ FlashPageProgMsbFFData: ldr r3, [r2, #2776] cmp r1, #0 ldrb r3, [r3, #19] @ zero_extendqisi2 - beq .L1025 + beq .L1021 ldr r1, [r2, #3788] - ldr r2, .L1035+4 + ldr r2, .L1031+4 cmp r1, r2 - beq .L1024 -.L1025: + beq .L1020 +.L1021: sub r2, r3, #5 uxtb r2, r2 cmp r3, #68 cmpne r2, #1 - bls .L1028 + bls .L1024 cmp r3, #35 cmpne r3, #17 - beq .L1028 + beq .L1024 cmp r3, #18 cmpne r3, #19 - beq .L1028 - b .L1024 -.L1033: + beq .L1024 + b .L1020 +.L1029: add r3, sl, r8, asl #1 sub r3, r3, #912 ldrh r2, [r3, #0] movw r3, #65535 cmp r2, r3 - bne .L1024 + bne .L1020 mov r1, #255 ldr r0, [sl, #116] mov r2, #32768 bl ftl_memset ldr r1, [sp, #20] cmp r1, #1 - bhi .L1029 - ldr r3, .L1035+8 + bhi .L1025 + ldr r3, .L1031+8 ldr r2, [r3, #2964] cmp r2, #0 - beq .L1030 + beq .L1026 ldr r1, [sp, #16] mov r0, r6 mov fp, #0 @@ -8555,7 +8537,7 @@ FlashPageProgMsbFFData: bl NandcFlashDeCs ldr r2, [sp, #8] cmp r2, #1 - bne .L1031 + bne .L1027 mov r0, r6 bl NandcFlashCs mov r2, #238 @@ -8573,10 +8555,10 @@ FlashPageProgMsbFFData: tst r2, #255 moveq r2, #2 streq r2, [r3, #2964] -.L1032: +.L1028: strne fp, [r3, #2964] - bne .L1024 -.L1031: + bne .L1020 +.L1027: ldr r3, [sp, #12] mov r0, r6 ldr r2, [sl, #116] @@ -8597,37 +8579,37 @@ FlashPageProgMsbFFData: str r3, [r5, r4, asl #8] str r3, [r5, r4, asl #8] bl NandcFlashDeCs - b .L1030 -.L1029: + b .L1026 +.L1025: ldr r2, [sp, #12] mov r0, r6 mov r3, #0 add r1, r8, r2 ldr r2, [sl, #116] bl FlashProgPage -.L1030: +.L1026: add r8, r8, #1 uxth r8, r8 - b .L1034 -.L1028: - ldr sl, .L1035+12 + b .L1030 +.L1024: + ldr sl, .L1031+12 sub r3, r3, #17 - ldr r9, .L1035 + ldr r9, .L1031 uxtb r3, r3 str r3, [sp, #20] add r3, r9, r6, asl #3 str r3, [sp, #16] -.L1034: +.L1030: ldr r3, [r9, #2776] ldrh r3, [r3, #10] cmp r3, r8 - bhi .L1033 -.L1024: + bhi .L1029 +.L1020: add sp, sp, #28 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1036: +.L1032: .align 2 -.L1035: +.L1031: .word .LANCHOR0 .word 1446522928 .word .LANCHOR1 @@ -8644,19 +8626,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, .L1040 + ldr r3, .L1036 subs r4, r0, #0 mov r6, r1 mov r5, r2 ldrb r7, [r3, #2697] @ zero_extendqisi2 - bne .L1038 - ldr r3, .L1040+4 + bne .L1034 + ldr r3, .L1036+4 ldrb r2, [r3, #1] @ zero_extendqisi2 ldr r3, [r3, #4] mul r3, r3, r2 cmp r1, r3 movcc r7, #4 -.L1038: +.L1034: mov r0, r4 bl NandcWaitFlashReady mov r0, r4 @@ -8677,9 +8659,9 @@ FlashReadRawPage: bl NandcFlashDeCs mov r0, r5 ldmfd sp!, {r2, r3, r4, r5, r6, r7, r8, pc} -.L1041: +.L1037: .align 2 -.L1040: +.L1036: .word .LANCHOR1 .word .LANCHOR0 .fnend @@ -8694,7 +8676,7 @@ 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 fp, .L1053 + ldr fp, .L1049 mov r6, r0 str r1, [sp, #4] mov sl, r2 @@ -8705,12 +8687,12 @@ HynixReadRetrial: ldrb r5, [r3, #2920] @ zero_extendqisi2 bl NandcWaitFlashReady mov ip, fp - b .L1043 -.L1048: + b .L1039 +.L1044: add r5, r5, #1 ldrb r1, [fp, #2909] @ zero_extendqisi2 mov r0, r6 - ldr r2, .L1053+4 + ldr r2, .L1049+4 uxtb r5, r5 str ip, [sp, #0] cmp r5, r9 @@ -8724,25 +8706,25 @@ HynixReadRetrial: bl FlashReadRawPage ldr ip, [sp, #0] cmn r0, #1 - beq .L1045 + beq .L1041 ldrb r3, [ip, #3836] @ zero_extendqisi2 cmn r4, #1 moveq r4, r0 add r3, r3, r3, asl #1 cmp r0, r3, lsr #2 - bcc .L1052 + bcc .L1048 mov r7, #0 mov sl, r7 -.L1045: +.L1041: add r8, r8, #1 -.L1043: +.L1039: cmp r8, r9 - bcc .L1048 - b .L1047 -.L1052: + bcc .L1044 + b .L1043 +.L1048: mov r4, r0 -.L1047: - ldr r3, .L1053 +.L1043: + ldr r3, .L1049 adds r0, r4, #1 add r6, r3, r6 movne r0, #1 @@ -8756,9 +8738,9 @@ HynixReadRetrial: moveq r0, r4 movne r0, #256 ldmfd sp!, {r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1054: +.L1050: .align 2 -.L1053: +.L1049: .word .LANCHOR0 .word .LANCHOR0+2912 .fnend @@ -8782,16 +8764,16 @@ MicronReadRetrial: bl NandcWaitFlashReady ldr r1, [sp, #8] mvn r5, #0 - ldr r3, .L1067 - ldr ip, .L1067+4 + ldr r3, .L1063 + ldr ip, .L1063+4 add r2, r3, r1, asl #3 ldrb r7, [r2, #20] @ zero_extendqisi2 ldr r6, [r2, #16] add r7, r7, #8 mov r8, r6 add r4, r6, r7, asl #8 - b .L1066 -.L1060: + b .L1062 +.L1056: mov r2, #239 mov r3, #137 str r2, [r4, #8] @@ -8812,26 +8794,26 @@ MicronReadRetrial: bl FlashReadRawPage ldr ip, [sp, #4] cmn r0, #1 - beq .L1066 - ldr r1, .L1067 + beq .L1062 + ldr r1, .L1063 cmn r5, #1 moveq r5, r0 ldrb r3, [r1, #3836] @ zero_extendqisi2 add r3, r3, r3, asl #1 cmp r0, r3, lsr #2 - bcc .L1063 + bcc .L1059 mov r9, r6 mov fp, r6 -.L1066: +.L1062: ldrb r3, [ip, #120] @ zero_extendqisi2 cmp sl, r3 - bcc .L1060 + bcc .L1056 mov r6, r8 - b .L1059 -.L1063: + b .L1055 +.L1059: mov r6, r8 mov r5, r0 -.L1059: +.L1055: mov r3, #239 mov r0, #200 str r3, [r4, #8] @@ -8845,7 +8827,7 @@ MicronReadRetrial: str r3, [r6, r7, asl #8] movne r0, #1 str r3, [r6, r7, asl #8] - ldr r3, .L1067 + ldr r3, .L1063 ldrb r3, [r3, #3836] @ zero_extendqisi2 add r3, r3, r3, asl #1 cmp r5, r3, lsr #2 @@ -8856,9 +8838,9 @@ MicronReadRetrial: movne r0, #256 add sp, sp, #20 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1068: +.L1064: .align 2 -.L1067: +.L1063: .word .LANCHOR0 .word .LANCHOR2 .fnend @@ -8877,17 +8859,17 @@ SamsungReadRetrial: mov r6, r3 mov r9, r1 bl NandcWaitFlashReady - ldr ip, .L1078 + ldr ip, .L1074 mov r5, #1 mvn r4, #0 - ldr fp, .L1078+4 + ldr fp, .L1074+4 add r3, ip, r8, asl #3 ldrb sl, [r3, #20] @ zero_extendqisi2 ldr r2, [r3, #16] add sl, sl, #8 add sl, r2, sl, asl #8 - b .L1070 -.L1074: + b .L1066 +.L1070: mov r0, sl uxtb r1, r5 str ip, [sp, #4] @@ -8899,30 +8881,30 @@ SamsungReadRetrial: bl FlashReadRawPage ldr ip, [sp, #4] cmn r0, #1 - beq .L1071 + beq .L1067 ldrb r3, [ip, #3836] @ zero_extendqisi2 cmn r4, #1 moveq r4, r0 add r3, r3, r3, asl #1 cmp r0, r3, lsr #2 - bcc .L1077 + bcc .L1073 mov r6, #0 mov r7, r6 -.L1071: +.L1067: add r5, r5, #1 -.L1070: +.L1066: ldrb r3, [fp, #120] @ zero_extendqisi2 add r3, r3, #1 cmp r5, r3 - bcc .L1074 - b .L1073 -.L1077: - mov r4, r0 + bcc .L1070 + b .L1069 .L1073: + mov r4, r0 +.L1069: mov r0, sl mov r1, #0 bl SamsungSetRRPara - ldr r3, .L1078 + ldr r3, .L1074 adds r0, r4, #1 ldrb r3, [r3, #3836] @ zero_extendqisi2 movne r0, #1 @@ -8934,9 +8916,9 @@ SamsungReadRetrial: moveq r0, r4 movne r0, #256 ldmfd sp!, {r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1079: +.L1075: .align 2 -.L1078: +.L1074: .word .LANCHOR0 .word .LANCHOR2 .fnend @@ -8955,7 +8937,7 @@ ToshibaReadRetrial: mov r9, r2 mov r7, r3 bl NandcWaitFlashReady - ldr r3, .L1101 + ldr r3, .L1097 add r2, r3, r8, asl #3 ldr r1, [r2, #16] ldrb r4, [r2, #20] @ zero_extendqisi2 @@ -8966,53 +8948,53 @@ ToshibaReadRetrial: uxtb r2, r2 cmp r2, #1 movls sl, #0 - bls .L1081 + bls .L1077 ldrb sl, [r3, #3777] @ zero_extendqisi2 cmp sl, #0 - beq .L1082 + beq .L1078 mov r0, #0 mov sl, #1 bl NandcSetDdrMode -.L1082: +.L1078: mov r3, #92 str r3, [r4, #8] mov r3, #197 str r3, [r4, #8] -.L1081: +.L1077: mov r6, #1 mvn r5, #0 - ldr fp, .L1101 - b .L1083 -.L1092: + ldr fp, .L1097 + b .L1079 +.L1088: ldrb r3, [fp, #3765] @ zero_extendqisi2 mov r0, r4 uxtb r1, r6 sub r3, r3, #67 uxtb r3, r3 cmp r3, #1 - bhi .L1084 + bhi .L1080 bl SandiskSetRRPara - b .L1085 -.L1084: + b .L1081 +.L1080: bl ToshibaSetRRPara -.L1085: - ldr r2, .L1101 +.L1081: + ldr r2, .L1097 ldrb r3, [r2, #3765] @ zero_extendqisi2 cmp r3, #34 - bne .L1086 - ldr r2, .L1101+4 + bne .L1082 + ldr r2, .L1097+4 ldrb r3, [r2, #120] @ zero_extendqisi2 sub r3, r3, #3 cmp r6, r3 moveq r3, #179 streq r3, [r4, #8] -.L1086: +.L1082: cmp sl, #0 mov r3, #38 str r3, [r4, #8] mov r3, #93 str r3, [r4, #8] - beq .L1087 + beq .L1083 mov r0, #4 bl NandcSetDdrMode ldr r1, [sp, #4] @@ -9025,50 +9007,50 @@ ToshibaReadRetrial: str r3, [sp, #0] bl NandcSetDdrMode ldr r3, [sp, #0] - b .L1088 -.L1087: + b .L1084 +.L1083: mov r3, r7 mov r0, r8 ldr r1, [sp, #4] mov r2, r9 bl FlashReadRawPage mov r3, r0 -.L1088: +.L1084: cmn r3, #1 - beq .L1089 + beq .L1085 ldrb r2, [fp, #3836] @ zero_extendqisi2 cmn r5, #1 moveq r5, r3 add r2, r2, r2, asl #1 cmp r3, r2, lsr #2 - bcc .L1100 + bcc .L1096 mov r7, #0 mov r9, r7 -.L1089: +.L1085: add r6, r6, #1 -.L1083: - ldr r2, .L1101+4 +.L1079: + ldr r2, .L1097+4 ldrb r3, [r2, #120] @ zero_extendqisi2 add r3, r3, #1 cmp r6, r3 - bcc .L1092 - b .L1091 -.L1100: + bcc .L1088 + b .L1087 +.L1096: mov r5, r3 -.L1091: - ldr r6, .L1101 +.L1087: + ldr r6, .L1097 mov r0, r4 mov r1, #0 ldrb r3, [r6, #3765] @ zero_extendqisi2 sub r3, r3, #67 uxtb r3, r3 cmp r3, #1 - bhi .L1093 + bhi .L1089 bl SandiskSetRRPara - b .L1094 -.L1093: + b .L1090 +.L1089: bl ToshibaSetRRPara -.L1094: +.L1090: mov r3, #255 str r3, [r4, #8] ldrb r3, [r6, #3836] @ zero_extendqisi2 @@ -9083,15 +9065,15 @@ ToshibaReadRetrial: movne r5, #256 bl NandcWaitFlashReady cmp sl, #0 - beq .L1096 + beq .L1092 mov r0, #4 bl NandcSetDdrMode -.L1096: +.L1092: mov r0, r5 ldmfd sp!, {r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1102: +.L1098: .align 2 -.L1101: +.L1097: .word .LANCHOR0 .word .LANCHOR2 .fnend @@ -9106,9 +9088,9 @@ 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, .L1110 - ldr r7, .L1110+4 - ldr r8, .L1110+8 + ldr r5, .L1106 + ldr r7, .L1106+4 + ldr r8, .L1106+8 ldr r3, [r5, #3780] ldrb r0, [r7, #128] @ zero_extendqisi2 str r3, [r7, #124] @@ -9118,7 +9100,7 @@ FlashSavePhyInfo: ldr r0, [r5, #3780] bl ftl_memset ldr r3, [r7, #124] - ldr r1, .L1110+12 + ldr r1, .L1106+12 mov r2, #32 str r8, [r3, #0] ldr r4, [r7, #124] @@ -9131,15 +9113,15 @@ FlashSavePhyInfo: str r3, [r4, #1076] bl memcpy add r0, r4, #80 - ldr r1, .L1110+16 + ldr r1, .L1106+16 mov r2, #8 bl memcpy add r0, r4, #96 - ldr r1, .L1110+20 + ldr r1, .L1106+20 mov r2, #32 bl memcpy ldr r0, [r7, #124] - ldr r1, .L1110+24 + ldr r1, .L1106+24 mov r2, #32 add r0, r0, #160 bl memcpy @@ -9150,7 +9132,7 @@ FlashSavePhyInfo: bl memcpy mov r2, #852 add r0, r4, #224 - ldr r1, .L1110+28 + ldr r1, .L1106+28 bl memcpy add r0, r4, #12 movw r1, #2036 @@ -9163,7 +9145,7 @@ FlashSavePhyInfo: mov r0, #0 bl flash_enter_slc_mode mov r4, r6 -.L1106: +.L1102: ldr r1, [r5, #4] mov r0, #0 mov r2, r0 @@ -9189,17 +9171,17 @@ FlashSavePhyInfo: mul r1, r1, r4 bl FlashReadRawPage cmn r0, #1 - beq .L1104 + beq .L1100 ldr sl, [r7, #124] ldr r3, [sl, #0] cmp r3, r8 - bne .L1104 + bne .L1100 add r0, sl, #12 movw r1, #2036 bl JSHash ldr r3, [sl, #8] cmp r3, r0 - bne .L1104 + bne .L1100 add r3, r4, #1 str r3, [r7, #132] ldr r3, [r5, #4] @@ -9207,21 +9189,21 @@ FlashSavePhyInfo: cmp r6, #1 mul r3, r3, r4 str r3, [r7, #136] - bhi .L1105 -.L1104: + bhi .L1101 +.L1100: add r4, r4, #1 cmp r4, #4 - bne .L1106 -.L1105: + bne .L1102 +.L1101: 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} -.L1111: +.L1107: .align 2 -.L1110: +.L1106: .word .LANCHOR0 .word .LANCHOR2 .word 1312902724 @@ -9243,19 +9225,19 @@ FlashReadIdbDataRaw: .save {r0, r1, r2, r4, r5, r6, r7, r8, r9, sl, fp, lr} mov r2, #4 mov sl, r0 - ldr r1, .L1123 + ldr r1, .L1119 add r0, sp, #4 bl memcpy - ldr r3, .L1123+4 + ldr r3, .L1119+4 ldr r2, [r3, #3788] ldrb fp, [r3, #3836] @ zero_extendqisi2 - ldr r3, .L1123+8 + ldr r3, .L1119+8 cmp r2, r3 - bne .L1113 + bne .L1109 mov r0, #0 bl flash_enter_slc_mode -.L1113: - ldr r7, .L1123+4 +.L1109: + ldr r7, .L1119+4 mov r0, sl mov r1, #0 mov r2, #2048 @@ -9263,11 +9245,11 @@ FlashReadIdbDataRaw: mvn r8, #0 mov r4, #2 mov r6, r7 - ldr r9, .L1123+12 - b .L1114 -.L1121: + ldr r9, .L1119+12 + b .L1110 +.L1117: mov r5, #0 -.L1116: +.L1112: add r3, sp, #4 ldrb r0, [r3, r5] @ zero_extendqisi2 bl FlashBchSel @@ -9278,18 +9260,18 @@ FlashReadIdbDataRaw: mul r1, r1, r4 bl FlashReadRawPage cmn r0, #1 - bne .L1115 + bne .L1111 add r5, r5, #1 cmp r5, #4 - bne .L1116 - b .L1117 -.L1115: + bne .L1112 + b .L1113 +.L1111: ldr r3, [r6, #3780] ldr r3, [r3, #0] cmp r3, r9 - bne .L1117 + bne .L1113 add r3, sp, #8 - ldr r0, .L1123+16 + ldr r0, .L1119+16 add r5, r3, r5 ldrb r1, [r5, #-4] @ zero_extendqisi2 bl printk @@ -9300,43 +9282,43 @@ FlashReadIdbDataRaw: ldr r3, [r6, #3780] ldr r3, [r3, #512] strb r3, [r6, #1] - ldr r3, .L1123+20 + ldr r3, .L1119+20 ldr r2, [r3, #132] cmp r2, r4 - bls .L1120 + bls .L1116 str r4, [r3, #132] mov r8, #0 bl FlashSavePhyInfo -.L1117: +.L1113: add r4, r4, #1 -.L1114: +.L1110: ldrb r3, [r7, #1] @ zero_extendqisi2 cmp r4, r3 - bcc .L1121 - b .L1118 -.L1120: + bcc .L1117 + b .L1114 +.L1116: mov r8, #0 -.L1118: +.L1114: mov r0, fp bl FlashBchSel - ldr r3, .L1123+4 + ldr r3, .L1119+4 ldr r2, [r3, #3788] - ldr r3, .L1123+8 + ldr r3, .L1119+8 cmp r2, r3 - bne .L1119 + bne .L1115 mov r0, #0 bl flash_exit_slc_mode -.L1119: +.L1115: mov r0, r8 ldmfd sp!, {r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1124: +.L1120: .align 2 -.L1123: +.L1119: .word .LANCHOR3+11 .word .LANCHOR0 .word 1446522928 .word -52655045 - .word .LC88 + .word .LC87 .word .LANCHOR2 .fnend .size FlashReadIdbDataRaw, .-FlashReadIdbDataRaw @@ -9350,13 +9332,13 @@ 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, .L1135 + ldr r1, .L1131 add r0, sp, #4 bl memcpy - ldr r7, .L1135+4 - ldr r2, .L1135+8 + ldr r7, .L1131+4 + ldr r2, .L1131+8 movw r3, #2698 - ldr r5, .L1135+12 + ldr r5, .L1131+12 mov r4, #0 mov r0, r4 mov r8, #4 @@ -9366,8 +9348,8 @@ FlashLoadPhyInfo: str r4, [r5, #136] str r3, [r5, #124] bl flash_enter_slc_mode - b .L1126 -.L1128: + b .L1122 +.L1124: add r3, sp, #4 ldrb r0, [r3, r6] @ zero_extendqisi2 bl FlashBchSel @@ -9377,54 +9359,54 @@ FlashLoadPhyInfo: mov r3, r0 bl FlashReadRawPage cmn r0, #1 - bne .L1127 + bne .L1123 mov r0, #0 mov r1, r9 ldr r2, [r7, #3780] mov r3, r0 bl FlashReadRawPage cmn r0, #1 - bne .L1127 + bne .L1123 add r6, r6, #1 cmp r6, #4 - beq .L1129 - b .L1128 -.L1127: + beq .L1125 + b .L1124 +.L1123: ldr r6, [r5, #124] - ldr r3, .L1135+16 + ldr r3, .L1131+16 ldr r2, [r6, #0] cmp r2, r3 - bne .L1129 + bne .L1125 cmp sl, #0 - bne .L1130 - ldr r2, .L1135+8 + bne .L1126 + ldr r2, .L1131+8 movw r3, #2698 mov r0, r4 ldrh r1, [r2, r3] bl __aeabi_uidiv - ldr r3, .L1135+12 + ldr r3, .L1131+12 add r0, r0, #1 str r0, [r3, #132] - b .L1131 -.L1130: + b .L1127 +.L1126: add r0, r6, #12 movw r1, #2036 bl JSHash ldr r3, [r6, #8] cmp r3, r0 - bne .L1129 - ldr sl, .L1135+8 + bne .L1125 + ldr sl, .L1131+8 add r1, r6, #160 mov r2, #32 add r0, sl, #2688 bl memcpy add r1, r6, #192 mov r2, #32 - ldr r0, .L1135+20 + ldr r0, .L1131+20 bl memcpy add r1, r6, #224 mov r2, #852 - ldr r0, .L1135+24 + ldr r0, .L1131+24 bl memcpy ldr r3, [r6, #1076] mov r0, r4 @@ -9441,23 +9423,23 @@ FlashLoadPhyInfo: streq r3, [r5, #132] ldrh r3, [r6, #14] strb r3, [r5, #140] -.L1129: +.L1125: subs r8, r8, #1 add r4, r4, fp - beq .L1133 -.L1126: + beq .L1129 +.L1122: add r9, r4, #1 mov r6, #0 - b .L1128 -.L1133: + b .L1124 +.L1129: mov r0, r8 bl flash_exit_slc_mode -.L1131: +.L1127: mov r0, sl ldmfd sp!, {r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1136: +.L1132: .align 2 -.L1135: +.L1131: .word .LANCHOR3+11 .word .LANCHOR0 .word .LANCHOR1 @@ -9477,7 +9459,7 @@ 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, .L1158 + ldr r4, .L1154 .pad #20 sub sp, sp, #20 mov fp, r0 @@ -9493,7 +9475,7 @@ FlashDdrTunningRead: ldr r3, [sp, #56] cmp r3, #0 moveq r8, #1024 - beq .L1139 + beq .L1135 mov r0, #1 bl FlashSetInterfaceMode mov r0, #1 @@ -9511,21 +9493,21 @@ FlashDdrTunningRead: ldrb r0, [r4, #3776] @ zero_extendqisi2 bl NandcSetMode cmn r8, #1 - beq .L1140 - ldr r0, .L1158+4 + beq .L1136 + ldr r0, .L1154+4 mov r2, r8 ldr r1, [sp, #0] bl printk cmp r8, #9 - bhi .L1141 + bhi .L1137 add r4, r4, fp, asl #3 ldr r3, [r4, #16] ldr r2, [r3, #3840] ldr r2, [r3, #0] orr r2, r2, #131072 str r2, [r3, #0] -.L1141: - ldr r3, .L1158+8 +.L1137: + ldr r3, .L1154+8 ldr r2, [r3, #144] add r2, r2, #1 str r2, [r3, #144] @@ -9533,15 +9515,15 @@ FlashDdrTunningRead: movcs sl, #0 strcs sl, [r3, #144] movcs r9, sl - bcc .L1140 -.L1139: + bcc .L1136 +.L1135: mov r4, #0 str fp, [sp, #4] mov r5, r4 mvn r6, #0 mov fp, r4 str r4, [sp, #8] -.L1146: +.L1142: uxtb r0, r7 bl NandcSetDdrPara mov r3, sl @@ -9551,84 +9533,84 @@ FlashDdrTunningRead: bl FlashReadRawPage add r3, r8, #1 cmp r0, r3 - bhi .L1142 + bhi .L1138 cmp r0, #2 - bhi .L1152 + bhi .L1148 add r5, r5, #1 cmp r5, #9 - bls .L1152 + bls .L1148 mov ip, fp rsb r4, r5, r7 ldr fp, [sp, #4] mov r8, r0 mov r6, #0 - b .L1144 -.L1142: + b .L1140 +.L1138: cmp fp, r5 - bcs .L1153 + bcs .L1149 cmp r5, #7 rsb r3, r5, r4 str r3, [sp, #8] - bhi .L1157 + bhi .L1153 mov fp, r5 - b .L1153 -.L1152: + b .L1149 +.L1148: mov r6, #0 mov r4, r7 mov r8, r0 mov sl, r6 mov r9, r6 - b .L1143 -.L1153: + b .L1139 +.L1149: mov r5, #0 -.L1143: +.L1139: add r7, r7, #2 cmp r7, #69 - bls .L1146 + bls .L1142 mov ip, fp ldr fp, [sp, #4] -.L1144: +.L1140: cmp ip, r5 - bcc .L1147 - b .L1145 -.L1157: + bcc .L1143 + b .L1141 +.L1153: ldr fp, [sp, #4] -.L1145: +.L1141: ldr r4, [sp, #8] -.L1147: +.L1143: cmp r4, #0 - beq .L1148 - ldr r0, .L1158+12 + beq .L1144 + ldr r0, .L1154+12 mov r1, r4 bl printk uxtb r0, r4 bl NandcSetDdrPara -.L1148: +.L1144: cmn r6, #1 - bne .L1140 - ldr r0, .L1158+16 + bne .L1136 + ldr r0, .L1154+16 mov r1, fp ldr r2, [sp, #0] bl printk ldr r3, [sp, #56] cmp r3, #0 moveq r8, r6 - beq .L1140 + beq .L1136 ldr r3, [sp, #12] ubfx r0, r3, #8, #8 bl NandcSetDdrPara -.L1140: +.L1136: mov r0, r8 add sp, sp, #20 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1159: +.L1155: .align 2 -.L1158: +.L1154: .word .LANCHOR0 - .word .LC89 + .word .LC88 .word .LANCHOR2 + .word .LC89 .word .LC90 - .word .LC91 .fnend .size FlashDdrTunningRead, .-FlashDdrTunningRead .align 2 @@ -9641,7 +9623,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, .L1164 + ldr r5, .L1160 mov r4, #0 mov r6, r1 ldrb r0, [r5, #3776] @ zero_extendqisi2 @@ -9661,30 +9643,30 @@ FlashDdrParaScan: mov r0, r7 bl FlashReadRawPage cmn r0, #1 - beq .L1161 + beq .L1157 cmn r8, #1 - bne .L1162 -.L1161: + bne .L1158 +.L1157: ldrb r3, [r5, #3776] @ zero_extendqisi2 tst r3, #1 - beq .L1162 + beq .L1158 mov r0, #1 bl FlashSetInterfaceMode mov r0, #1 bl NandcSetMode - ldr r3, .L1164 + ldr r3, .L1160 mov r2, #0 strb r2, [r3, #3777] - b .L1163 -.L1162: + b .L1159 +.L1158: mov r3, #1 strb r3, [r5, #3777] -.L1163: +.L1159: mov r0, #0 ldmfd sp!, {r2, r3, r4, r5, r6, r7, r8, pc} -.L1165: +.L1161: .align 2 -.L1164: +.L1160: .word .LANCHOR0 .fnend .size FlashDdrParaScan, .-FlashDdrParaScan @@ -9699,9 +9681,9 @@ FlashInit: .save {r3, r4, r5, r6, r7, lr} mov r7, r0 mov r0, #32768 - ldr r6, .L1208 + ldr r6, .L1206 bl ftl_malloc - ldr r5, .L1208+4 + ldr r5, .L1206+4 mov r4, #0 str r0, [r6, #3780] mov r0, #32768 @@ -9729,38 +9711,38 @@ FlashInit: str r0, [r5, #156] mov r0, r7 bl NandcInit - ldr r5, .L1208+8 -.L1169: + ldr r5, .L1206+8 +.L1165: uxtb r0, r4 mov r1, r5 bl FlashReadIDRaw cmp r4, #0 - bne .L1167 + bne .L1163 ldrb r3, [r6, #2132] @ zero_extendqisi2 sub r3, r3, #1 uxtb r3, r3 cmp r3, #253 - bhi .L1201 + bhi .L1199 ldrb r3, [r6, #2133] @ zero_extendqisi2 cmp r3, #255 - beq .L1202 -.L1167: + beq .L1200 +.L1163: add r4, r4, #1 add r5, r5, #8 cmp r4, #4 - bne .L1169 - ldr r4, .L1208 + bne .L1165 + ldr r4, .L1206 ldrb r3, [r4, #2132] @ zero_extendqisi2 cmp r3, #173 - beq .L1170 + beq .L1166 ldr r0, [r4, #3784] bl NandcSetDdrMode -.L1170: +.L1166: mov r1, #0 - ldr r0, .L1208+12 + ldr r0, .L1206+12 mov r2, #852 bl ftl_memset - ldr r3, .L1208+16 + ldr r3, .L1206+16 str r3, [r4, #2776] mov r3, #0 strb r3, [r4, #8] @@ -9770,23 +9752,23 @@ FlashInit: adc ip, ip, r1 cmp r3, #218 cmpne r3, #241 - beq .L1171 + beq .L1167 cmp r3, #220 - bne .L1172 - ldr r2, .L1208 + bne .L1168 + ldr r2, .L1206 ldrb r2, [r2, #2135] @ zero_extendqisi2 cmp r2, #149 - bne .L1172 -.L1171: - ldr r2, .L1208 + bne .L1168 +.L1167: + ldr r2, .L1206 mov r1, #1 mov r0, #16 strb r1, [r2, #0] - ldr r1, .L1208+4 + ldr r1, .L1206+4 strb r0, [r2, #1] strb r0, [r1, #128] ldrb r0, [r2, #2132] @ zero_extendqisi2 - ldr r2, .L1208+20 + ldr r2, .L1206+20 cmp r0, #152 strb r0, [r2, #2969] moveq r0, #24 @@ -9796,74 +9778,74 @@ FlashInit: movne r1, #2048 strneh r1, [r2, r3] @ movhi mvnne r3, #37 - bne .L1205 -.L1174: + bne .L1203 +.L1170: cmp r3, #220 - bne .L1175 + bne .L1171 movw r3, #2982 mov r1, #4096 strh r1, [r2, r3] @ movhi mvn r3, #35 -.L1205: +.L1203: strb r3, [r2, #2970] -.L1175: - ldr r1, .L1208+24 +.L1171: + ldr r1, .L1206+24 mov r2, #32 - ldr r0, .L1208+28 + ldr r0, .L1206+28 bl memcpy - ldr r0, .L1208+16 + ldr r0, .L1206+16 mov r2, #32 add r1, r0, #280 bl memcpy -.L1172: - ldr r4, .L1208 +.L1168: + ldr r4, .L1206 ldrb r3, [r4, #0] @ zero_extendqisi2 cmp r3, #0 - bne .L1176 + bne .L1172 bl FlashLoadPhyInfoInRam cmp r0, #0 - bne .L1177 + bne .L1173 ldr r3, [r4, #2776] ldrh r0, [r3, #16] ubfx r0, r0, #8, #3 strb r0, [r4, #3776] tst r0, #1 - bne .L1177 + bne .L1173 mov r3, #1 strb r3, [r4, #3777] bl FlashSetInterfaceMode ldrb r0, [r4, #3776] @ zero_extendqisi2 bl NandcSetMode -.L1177: - ldr r4, .L1208 +.L1173: + ldr r4, .L1206 ldr r3, [r4, #2776] ldrb r3, [r3, #26] @ zero_extendqisi2 strb r3, [r4, #80] bl FlashLoadPhyInfo cmp r0, #0 - beq .L1176 + beq .L1172 ldr r3, [r4, #3784] cmp r3, #0 - beq .L1179 + beq .L1175 mov r0, #1 bl FlashSetInterfaceMode mov r0, #1 - b .L1206 -.L1179: + b .L1204 +.L1175: ldrb r0, [r4, #3776] @ zero_extendqisi2 bl FlashSetInterfaceMode ldrb r0, [r4, #3776] @ zero_extendqisi2 -.L1206: +.L1204: bl NandcSetMode bl FlashLoadPhyInfo cmp r0, #0 - beq .L1176 - ldr r4, .L1208 + beq .L1172 + ldr r4, .L1206 mov r0, #1 bl FlashSetInterfaceMode mov r0, #1 bl NandcSetMode - ldr r0, .L1208+32 + ldr r0, .L1206+32 ldr r3, [r4, #2776] ldrh r1, [r3, #14] bl printk @@ -9874,172 +9856,192 @@ FlashInit: ldr r3, [r4, #2776] ldrb r0, [r3, #19] @ zero_extendqisi2 bl FlashGetReadRetryDefault - ldr r1, .L1208+36 - ldr r0, .L1208+4 + ldr r1, .L1206+36 + ldr r0, .L1206+4 ldr r3, [r4, #2776] ldrh r1, [r0, r1] ldrb r2, [r3, #9] @ zero_extendqisi2 add r1, r1, #4080 add r1, r1, #15 cmp r2, r1, lsr #12 - blt .L1182 + blt .L1178 ldrh r1, [r3, #14] add r1, r1, #255 cmp r2, r1, lsr #8 - bge .L1183 -.L1182: + bge .L1179 +.L1178: ldrh r2, [r3, #14] bic r2, r2, #255 strh r2, [r3, #14] @ movhi -.L1183: - ldr r3, .L1208 +.L1179: + ldr r3, .L1206 ldrb r3, [r3, #3776] @ zero_extendqisi2 tst r3, #6 - beq .L1184 + beq .L1180 bl FlashSavePhyInfo - ldr r3, .L1208+4 + ldr r3, .L1206+4 mov r0, #0 ldr r1, [r3, #136] bl FlashDdrParaScan -.L1184: +.L1180: bl FlashSavePhyInfo -.L1176: - ldr r1, .L1208 - ldr r3, [r1, #2776] - ldrb r2, [r3, #26] @ zero_extendqisi2 - strb r2, [r1, #80] - ldrh r2, [r3, #16] - ubfx r0, r2, #7, #1 - strb r0, [r1, #8] - ldr r0, .L1208+4 - tst r2, #64 - ubfx ip, r2, #3, #1 - strb ip, [r0, #160] - ubfx ip, r2, #4, #1 - strb ip, [r1, #3837] - ubfx ip, r2, #8, #3 - strb ip, [r1, #3776] +.L1172: + ldr r2, .L1206 + ldr r0, [r2, #2776] + ldrb r3, [r0, #26] @ zero_extendqisi2 + strb r3, [r2, #80] + ldrh r3, [r0, #16] + ubfx r1, r3, #7, #1 + strb r1, [r2, #8] + ldr r1, .L1206+4 + tst r3, #64 + ubfx ip, r3, #3, #1 + strb ip, [r1, #160] + ubfx ip, r3, #4, #1 + strb ip, [r2, #3837] + ubfx ip, r3, #8, #3 + strb ip, [r2, #3776] mov ip, #0 - str ip, [r0, #164] - beq .L1185 - ldrb ip, [r1, #2909] @ zero_extendqisi2 - ldrb r2, [r3, #19] @ zero_extendqisi2 - strb ip, [r1, #3764] - ldrb ip, [r1, #2910] @ zero_extendqisi2 - strb r2, [r1, #3765] - strb ip, [r0, #120] - sub ip, r2, #1 + str ip, [r1, #164] + beq .L1181 + ldrb ip, [r2, #2909] @ zero_extendqisi2 + ldrb r3, [r0, #19] @ zero_extendqisi2 + strb ip, [r2, #3764] + ldrb ip, [r2, #2910] @ zero_extendqisi2 + strb r3, [r2, #3765] + strb ip, [r1, #120] + sub ip, r3, #1 uxtb ip, ip cmp ip, #5 - bhi .L1186 - sub r2, r2, #5 - ldr ip, .L1208+40 + bhi .L1182 + sub r3, r3, #5 + ldr ip, .L1206+40 + uxtb r3, r3 + cmp r3, #1 + str ip, [r1, #164] + movls r3, #1 + strls r3, [r2, #3828] + b .L1181 +.L1182: + sub r2, r3, #17 uxtb r2, r2 - cmp r2, #1 - str ip, [r0, #164] - movls r2, #1 - strls r2, [r1, #3828] - b .L1185 + cmp r2, #2 + bhi .L1183 + ldr r2, .L1206+44 + cmp r3, #19 + moveq r3, #15 + str r2, [r1, #164] + mov r2, #7 + strb r2, [r1, #120] + streqb r3, [r1, #120] + b .L1181 +.L1183: + cmp r3, #33 + cmpne r3, #65 + beq .L1184 + cmp r3, #66 + bne .L1185 +.L1184: + ldr r3, .L1206+4 + mov r1, #4 + ldr r2, .L1206+48 + str r2, [r3, #164] + ldr r2, .L1206 + strb r1, [r2, #3764] + mov r2, #7 + strb r2, [r3, #120] + b .L1181 +.L1185: + cmp r3, #67 + cmpne r3, #34 + beq .L1186 + cmp r3, #35 + beq .L1186 + cmp r3, #68 + bne .L1187 .L1186: - sub r1, r2, #17 - uxtb r1, r1 - cmp r1, #2 - bhi .L1187 - ldr r1, .L1208+44 - cmp r2, #19 - moveq r2, #15 - str r1, [r0, #164] - mov r1, #7 - strb r1, [r0, #120] - streqb r2, [r0, #120] - b .L1185 -.L1187: - cmp r2, #33 - cmpne r2, #65 - beq .L1188 - cmp r2, #66 - bne .L1189 -.L1188: - ldr r2, .L1208+4 - mov r0, #4 - ldr r1, .L1208+48 + ldr r2, .L1206+4 + cmp r3, #35 + cmpne r3, #68 + ldr r1, .L1206+48 + sub r3, r3, #67 + uxtb r3, r3 str r1, [r2, #164] - ldr r1, .L1208 - strb r0, [r1, #3764] mov r1, #7 strb r1, [r2, #120] - b .L1185 -.L1189: - cmp r2, #67 - cmpne r2, #34 - beq .L1190 - cmp r2, #35 - beq .L1190 - cmp r2, #68 - bne .L1191 + moveq r1, #17 + streqb r1, [r2, #120] + cmp r3, #1 + ldr r3, .L1206 + movls r2, #4 + movhi r2, #5 + strb r2, [r3, #3764] + b .L1181 +.L1187: + cmp r3, #49 + ldreq r3, .L1206+52 + streq r3, [r1, #164] +.L1181: + ldr r5, .L1206 + ldr r3, .L1206+56 + ldr r2, [r5, #3788] + cmp r2, r3 + bne .L1190 + ldrb r3, [r5, #80] @ zero_extendqisi2 + cmp r3, #0 + movne r3, #0 + strneb r3, [r0, #18] .L1190: - ldr r1, .L1208+4 - cmp r2, #35 - cmpne r2, #68 - ldr r0, .L1208+48 - sub r2, r2, #67 - uxtb r2, r2 - str r0, [r1, #164] - mov r0, #7 - strb r0, [r1, #120] - moveq r0, #17 - streqb r0, [r1, #120] - cmp r2, #1 - ldr r2, .L1208 - movls r1, #4 - movhi r1, #5 - strb r1, [r2, #3764] - b .L1185 -.L1191: - cmp r2, #49 - ldreq r2, .L1208+52 - streq r2, [r0, #164] -.L1185: + ldr r3, [r5, #2776] + ldr r4, .L1206 ldrb r1, [r3, #12] @ zero_extendqisi2 ldrh r0, [r3, #10] - ldrb r4, [r3, #18] @ zero_extendqisi2 + ldrb r6, [r3, #18] @ zero_extendqisi2 bl __aeabi_idiv mov r1, r0 - mov r0, r4 + mov r0, r6 bl BuildFlashLsbPageTable bl FlashDieInfoInit - ldr r3, .L1208 - ldrb r2, [r3, #2132] @ zero_extendqisi2 - cmp r2, #44 - bne .L1194 - ldrb r2, [r3, #3777] @ zero_extendqisi2 - cmp r2, #0 - beq .L1194 + ldrb r3, [r5, #2132] @ zero_extendqisi2 + cmp r3, #44 + bne .L1191 + ldrb r3, [r4, #3777] @ zero_extendqisi2 + cmp r3, #0 + beq .L1191 + ldr r2, [r4, #3788] + ldr r3, .L1206+56 + cmp r2, r3 + bne .L1192 + ldrb r3, [r4, #80] @ zero_extendqisi2 + cmp r3, #0 + bne .L1191 +.L1192: + ldr r3, .L1206 mov r2, #0 mov r0, #1 strb r2, [r3, #3777] bl FlashSetInterfaceMode mov r0, #1 bl NandcSetMode -.L1194: +.L1191: mov r0, #0 bl flash_enter_slc_mode - ldr r2, .L1208 + ldr r2, .L1206 ldrb r3, [r2, #3776] @ zero_extendqisi2 tst r3, #6 - beq .L1195 + beq .L1193 ldrb r2, [r2, #3777] @ zero_extendqisi2 cmp r2, #0 - bne .L1196 + bne .L1194 tst r3, #1 - bne .L1195 -.L1196: - ldr r3, .L1208+4 + bne .L1193 +.L1194: + ldr r3, .L1206+4 mov r0, #0 ldr r1, [r3, #136] bl FlashDdrParaScan -.L1195: - ldr r4, .L1208 +.L1193: + ldr r4, .L1206 mov r0, #0 bl flash_exit_slc_mode ldr r3, [r4, #2776] @@ -10051,21 +10053,21 @@ FlashInit: cmp r0, #0 movne r3, #16 strneb r3, [r4, #1] - bne .L1199 - ldr r2, .L1208+4 + bne .L1197 + ldr r2, .L1206+4 ldrb r1, [r3, #1] @ zero_extendqisi2 ldrb r2, [r2, #140] @ zero_extendqisi2 cmp r1, r2 strhib r2, [r3, #1] ldrb r3, [r3, #1] @ zero_extendqisi2 cmp r3, #15 - ldrls r3, .L1208 + ldrls r3, .L1206 movls r2, #16 strlsb r2, [r3, #1] -.L1199: - ldr r4, .L1208 +.L1197: + ldr r4, .L1206 movw r6, #2214 - ldr r0, .L1208+56 + ldr r0, .L1206+60 bl FlashTimingCfg mov r3, #2208 ldr r5, [r4, #2776] @@ -10108,7 +10110,7 @@ FlashInit: ldrb lr, [r4, #0] @ zero_extendqisi2 strh r1, [r4, r2] @ movhi cmp lr, #1 - bne .L1200 + bne .L1198 mov lr, #16 mov r7, r7, lsr #1 mov ip, ip, asl #1 @@ -10119,21 +10121,21 @@ FlashInit: strh r7, [r4, r6] @ movhi strh ip, [r4, r0] @ movhi strh r2, [r4, r3] @ movhi -.L1200: +.L1198: ldrb r0, [r5, #20] @ zero_extendqisi2 bl FlashBchSel bl FlashSuspend mov r0, #0 ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L1201: +.L1199: mvn r0, #1 ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L1202: +.L1200: mvn r0, #1 ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L1209: +.L1207: .align 2 -.L1208: +.L1206: .word .LANCHOR0 .word .LANCHOR2 .word .LANCHOR0+2132 @@ -10142,12 +10144,13 @@ FlashInit: .word .LANCHOR1 .word .LANCHOR1+2592 .word .LANCHOR0+48 - .word .LC92 + .word .LC91 .word -914 .word HynixReadRetrial .word MicronReadRetrial .word ToshibaReadRetrial .word SamsungReadRetrial + .word 1446522928 .word 150000 .fnend .size FlashInit, .-FlashInit @@ -10167,11 +10170,11 @@ FlashReadPage: bl FlashReadRawPage cmn r0, #1 mov r4, r0 - bne .L1211 - ldr r7, .L1216 + bne .L1209 + ldr r7, .L1214 ldrb r9, [r7, #8] @ zero_extendqisi2 cmp r9, #0 - beq .L1212 + beq .L1210 mov r3, #0 mov r0, r6 strb r3, [r7, #8] @@ -10182,12 +10185,12 @@ FlashReadPage: strb r9, [r7, #8] cmn r0, #1 movne r4, r0 - bne .L1211 -.L1212: - ldr r7, .L1216 + bne .L1209 +.L1210: + ldr r7, .L1214 ldrb r3, [r7, #3777] @ zero_extendqisi2 cmp r3, #0 - beq .L1211 + beq .L1209 ldr r3, [r7, #2164] mov r0, r6 mov r1, r5 @@ -10199,22 +10202,22 @@ FlashReadPage: bl FlashDdrTunningRead cmn r0, #1 mov r4, r0 - beq .L1213 + beq .L1211 ldrb r3, [r7, #3836] @ zero_extendqisi2 cmp r0, r3, lsr #1 - bls .L1211 -.L1213: + bls .L1209 +.L1211: ubfx r0, r9, #8, #8 bl NandcSetDdrPara -.L1211: - ldr r3, .L1216+4 +.L1209: + ldr r3, .L1214+4 ldr ip, [r3, #164] adds r3, ip, #0 movne r3, #1 cmn r4, #1 movne r3, #0 cmp r3, #0 - beq .L1214 + beq .L1212 mov r1, r5 mov r2, r8 mov r3, sl @@ -10223,18 +10226,18 @@ FlashReadPage: mov r2, r6 mov r3, r5 mov r4, r0 - ldr r0, .L1216+8 + ldr r0, .L1214+8 mov r1, r4 bl printk -.L1214: +.L1212: mov r0, r4 ldmfd sp!, {r2, r3, r4, r5, r6, r7, r8, r9, sl, pc} -.L1217: +.L1215: .align 2 -.L1216: +.L1214: .word .LANCHOR0 .word .LANCHOR2 - .word .LC93 + .word .LC92 .fnend .size FlashReadPage, .-FlashReadPage .align 2 @@ -10244,7 +10247,7 @@ FlashReadSlc2KPages: .fnstart @ args = 0, pretend = 0, frame = 16 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L1231 + ldr r3, .L1229 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} mov r8, r1 @@ -10254,9 +10257,9 @@ FlashReadSlc2KPages: ldrb sl, [r3, #2697] @ zero_extendqisi2 mov r4, r0 mov r7, #0 - ldr r6, .L1231+4 - b .L1219 -.L1228: + ldr r6, .L1229+4 + b .L1217 +.L1226: rsb r3, r7, r8 add r2, sp, #20 mov r0, r4 @@ -10270,7 +10273,7 @@ FlashReadSlc2KPages: cmp r3, r2 mvncs r3, #0 strcs r3, [r4, #0] - bcs .L1221 + bcs .L1219 add r3, r6, r3 ldrb r5, [r3, #3768] @ zero_extendqisi2 mov r0, r5 @@ -10329,53 +10332,53 @@ FlashReadSlc2KPages: strne r3, [r4, #0] ldr r3, [r4, #12] cmp r3, #0 - beq .L1226 + beq .L1224 ldr r2, [r3, #8] cmn r2, #1 - bne .L1226 + bne .L1224 ldr r3, [r3, #0] cmn r3, #1 strne r2, [r4, #0] -.L1226: +.L1224: ldr r3, [r4, #0] cmn r3, #1 - bne .L1221 + bne .L1219 ldr r1, [r4, #4] - ldr r0, .L1231+8 + ldr r0, .L1229+8 ldrb r2, [r6, #3836] @ zero_extendqisi2 bl printk ldr r1, [r4, #8] cmp r1, #0 - beq .L1227 - ldr r0, .L1231+12 + beq .L1225 + ldr r0, .L1229+12 mov r2, #4 mov r3, #8 bl rknand_print_hex -.L1227: +.L1225: ldr r1, [r4, #12] cmp r1, #0 - beq .L1221 + beq .L1219 mov r2, #4 - ldr r0, .L1231+16 + ldr r0, .L1229+16 mov r3, r2 bl rknand_print_hex -.L1221: +.L1219: add r7, r7, #1 add r4, r4, #36 -.L1219: +.L1217: cmp r7, r8 - bne .L1228 + bne .L1226 mov r0, #0 add sp, sp, #28 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1232: +.L1230: .align 2 -.L1231: +.L1229: .word .LANCHOR1 .word .LANCHOR0 + .word .LC93 .word .LC94 .word .LC95 - .word .LC96 .fnend .size FlashReadSlc2KPages, .-FlashReadSlc2KPages .align 2 @@ -10385,7 +10388,7 @@ FlashReadPages: .fnstart @ args = 0, pretend = 0, frame = 40 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L1269 + ldr r3, .L1267 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} .pad #52 @@ -10395,22 +10398,22 @@ FlashReadPages: str r1, [sp, #28] str r2, [sp, #32] str r3, [sp, #20] - ldr r3, .L1269+4 + ldr r3, .L1267+4 ldrb r8, [r3, #0] @ zero_extendqisi2 ldrb ip, [r3, #8] @ zero_extendqisi2 cmp r8, #0 str ip, [sp, #36] moveq sl, r8 - beq .L1234 + beq .L1232 bl FlashReadSlc2KPages - b .L1235 -.L1258: + b .L1233 +.L1256: mov r3, #36 ldr ip, [sp, #28] mul r3, r3, sl add r2, sp, #44 ldr r1, [sp, #32] - ldr r5, .L1269+4 + ldr r5, .L1267+4 add r6, r9, r3 str r3, [sp, #16] rsb r3, sl, ip @@ -10427,10 +10430,10 @@ FlashReadPages: mvncs r3, #0 mov r7, r0 strcs r3, [r9, ip] - bcs .L1237 + bcs .L1235 add r3, r5, r3 ldrb r4, [r3, #3768] @ zero_extendqisi2 - ldr r3, .L1269+8 + ldr r3, .L1267+8 mov r0, r4 ldrb r3, [r3, #160] @ zero_extendqisi2 cmp r3, #0 @@ -10441,17 +10444,17 @@ FlashReadPages: sub r3, r3, #1 uxtb r3, r3 cmp r3, #5 - bhi .L1239 + bhi .L1237 add r2, r5, r4 ldrb r3, [r2, #2920] @ zero_extendqisi2 ldrb r2, [r2, #3760] @ zero_extendqisi2 cmp r2, r3 - beq .L1239 + beq .L1237 mov r0, r4 ldrb r1, [r5, #2909] @ zero_extendqisi2 add r2, r5, #2912 bl HynixSetRRPara -.L1239: +.L1237: mov r0, r4 mov fp, fp, lsr #31 bl NandcFlashCs @@ -10460,42 +10463,42 @@ FlashReadPages: orreq fp, fp, #1 str fp, [sp, #24] cmp fp, #0 - beq .L1245 - ldr r3, .L1269+4 + beq .L1243 + ldr r3, .L1267+4 ldrb r3, [r3, #80] @ zero_extendqisi2 cmp r3, #0 - beq .L1245 + beq .L1243 mov r0, r4 bl flash_enter_slc_mode -.L1245: - ldr fp, .L1269+4 -.L1268: +.L1243: + ldr fp, .L1267+4 +.L1266: ldr r1, [sp, #44] cmn r1, #1 cmpeq r4, #255 moveq r3, #0 movne r3, #1 moveq r7, r3 - beq .L1241 + beq .L1239 cmp r7, #0 - beq .L1242 + beq .L1240 ldr r2, [fp, #4] mov r0, r4 add r2, r1, r2 bl FlashReadDpCmd - b .L1243 -.L1242: + b .L1241 +.L1240: mov r0, r4 bl FlashReadCmd -.L1243: +.L1241: mov r0, r4 bl NandcWaitFlashReady cmp r7, #0 - beq .L1241 + beq .L1239 mov r0, r4 ldr r1, [sp, #44] bl FlashReadDpDataOutCmd -.L1241: +.L1239: ldr r3, [r6, #12] mov r0, r4 ldr r2, [sp, #20] @@ -10512,12 +10515,12 @@ FlashReadPages: movne r2, #0 movne r7, #0 strneb r2, [fp, #8] - bne .L1268 -.L1244: + bne .L1266 +.L1242: cmp r7, #0 mov r5, r0 - beq .L1246 - ldr r3, .L1269+4 + beq .L1244 + ldr r3, .L1267+4 mov r0, r4 ldr r1, [r3, #4] ldr r3, [sp, #44] @@ -10538,17 +10541,17 @@ FlashReadPages: cmn r0, #1 mov r8, r0 moveq r7, #0 -.L1246: +.L1244: mov r0, r4 - ldr fp, .L1269+4 + ldr fp, .L1267+4 bl NandcFlashDeCs ldr ip, [sp, #36] cmn r5, #1 strb ip, [fp, #8] - bne .L1250 + bne .L1248 ldrb r3, [fp, #3777] @ zero_extendqisi2 cmp r3, #0 - beq .L1248 + beq .L1246 ldr r3, [fp, #2164] mov r0, r4 ldr r1, [sp, #44] @@ -10560,74 +10563,74 @@ FlashReadPages: bl FlashDdrTunningRead cmn r0, #1 mov r5, r0 - beq .L1249 + beq .L1247 ldrb r3, [fp, #3836] @ zero_extendqisi2 cmp r0, r3, lsr #1 - bls .L1264 -.L1249: + bls .L1262 +.L1247: ubfx r0, r7, #8, #8 bl NandcSetDdrPara cmn r5, #1 - bne .L1264 -.L1248: - ldr r3, .L1269+8 + bne .L1262 +.L1246: + ldr r3, .L1267+8 mov r0, r4 ldr r1, [sp, #44] ldr r2, [r6, #8] ldr r7, [r3, #164] ldr r3, [r6, #12] cmp r7, #0 - beq .L1251 + beq .L1249 blx r7 cmn r0, #1 mov r5, r0 - bne .L1265 - ldr r2, .L1269+4 + bne .L1263 + ldr r2, .L1267+4 ldr r3, [r2, #2776] ldrb r3, [r3, #19] @ zero_extendqisi2 sub r3, r3, #1 uxtb r3, r3 cmp r3, #5 - bhi .L1253 + bhi .L1251 ldrb r1, [r2, #2909] @ zero_extendqisi2 mov r0, r4 add r2, r2, #2912 mov r3, #0 bl HynixSetRRPara -.L1253: +.L1251: ldr r1, [sp, #44] mov r0, r4 ldr r2, [r6, #8] ldr r3, [r6, #12] bl FlashReadRawPage - ldr r3, .L1269+4 + ldr r3, .L1267+4 ldr r1, [r6, #4] ldrb r2, [r3, #3836] @ zero_extendqisi2 mov r5, r0 - ldr r0, .L1269+12 + ldr r0, .L1267+12 mov r3, r5 bl printk - b .L1265 -.L1251: + b .L1263 +.L1249: bl FlashReadRawPage mov r5, r0 - b .L1252 -.L1264: + b .L1250 +.L1262: mov r7, #0 -.L1250: - ldr r3, .L1269+4 +.L1248: + ldr r3, .L1267+4 ldrb r3, [r3, #3836] @ zero_extendqisi2 add r3, r3, r3, asl #1 cmp r5, r3, lsr #2 - bls .L1252 - ldr r3, .L1269+8 + bls .L1250 + ldr r3, .L1267+8 ldr r3, [r3, #164] cmp r3, #0 moveq r5, #256 - b .L1252 -.L1265: + b .L1250 +.L1263: mov r7, #0 -.L1252: +.L1250: ldr ip, [sp, #16] cmp r5, #256 cmnne r5, #1 @@ -10637,32 +10640,32 @@ FlashReadPages: ldr ip, [sp, #16] ldr r3, [r9, ip] cmn r3, #1 - bne .L1255 - ldr r2, .L1269+4 + bne .L1253 + ldr r2, .L1267+4 ldr r1, [r6, #4] - ldr r0, .L1269+16 + ldr r0, .L1267+16 ldrb r2, [r2, #3836] @ zero_extendqisi2 bl printk ldr r1, [r6, #12] cmp r1, #0 - beq .L1255 + beq .L1253 mov r2, #4 - ldr r0, .L1269+20 + ldr r0, .L1267+20 mov r3, r2 bl rknand_print_hex -.L1255: +.L1253: cmp r7, #0 - beq .L1256 - ldr r3, .L1269+4 + beq .L1254 + ldr r3, .L1267+4 ldrb r3, [r3, #3836] @ zero_extendqisi2 add r3, r3, r3, asl #1 cmp r8, r3, lsr #2 - bls .L1257 - ldr r3, .L1269+8 + bls .L1255 + ldr r3, .L1267+8 ldr r3, [r3, #164] cmp r3, #0 moveq r8, #256 -.L1257: +.L1255: add r3, sl, #1 mov r2, #36 cmp r8, #256 @@ -10671,36 +10674,36 @@ FlashReadPages: movne r2, #0 str r8, [r9, r3] strne r2, [r9, r3] -.L1256: +.L1254: ldr ip, [sp, #24] add sl, sl, r7 cmp ip, #0 - beq .L1237 - ldr r3, .L1269+4 + beq .L1235 + ldr r3, .L1267+4 ldrb r3, [r3, #80] @ zero_extendqisi2 cmp r3, #0 - beq .L1237 + beq .L1235 mov r0, r4 bl flash_exit_slc_mode -.L1237: +.L1235: add sl, sl, #1 -.L1234: +.L1232: ldr ip, [sp, #28] cmp sl, ip - bcc .L1258 + bcc .L1256 mov r0, #0 -.L1235: +.L1233: add sp, sp, #52 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1270: +.L1268: .align 2 -.L1269: +.L1267: .word .LANCHOR1 .word .LANCHOR0 .word .LANCHOR2 - .word .LC97 - .word .LC94 .word .LC96 + .word .LC93 + .word .LC95 .fnend .size FlashReadPages, .-FlashReadPages .align 2 @@ -10710,7 +10713,7 @@ FtlGcScanTempBlk: .fnstart @ args = 0, pretend = 0, frame = 16 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r2, .L1297 + ldr r2, .L1295 movw r3, #3000 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} @@ -10721,37 +10724,37 @@ FtlGcScanTempBlk: mov r5, r0 str r1, [sp, #12] cmp r4, r3 - beq .L1290 + beq .L1288 cmp r4, #0 - bne .L1272 - b .L1273 -.L1290: + bne .L1270 + b .L1271 +.L1288: mov r4, #0 -.L1272: - ldr r2, .L1297+4 +.L1270: + ldr r2, .L1295+4 movw r3, #3912 ldr fp, [sp, #12] ldrh r3, [r2, r3] cmp fp, r3 - bne .L1274 -.L1273: + bne .L1272 +.L1271: bl FtlGcPageVarInit -.L1274: +.L1272: mvn r8, #0 mov r7, #0 movw sl, #65535 -.L1285: +.L1283: ldrh r3, [r5, #0] mov r0, #0 strb r0, [r5, #8] cmp r3, sl - beq .L1291 -.L1276: -.L1294: - ldr r3, .L1297+4 + beq .L1289 +.L1274: +.L1292: + ldr r3, .L1295+4 movw r2, #3844 ldrh r9, [r3, r2] - ldr r2, .L1297+8 + ldr r2, .L1295+8 ldr lr, [r2, #-984] ldr ip, [r2, #-1164] movw r2, #3924 @@ -10760,11 +10763,11 @@ FtlGcScanTempBlk: mov r6, r3 str r2, [sp, #8] mov r2, r5 - b .L1277 -.L1279: + b .L1275 +.L1277: ldrh r0, [r2, #16] cmp r0, sl - beq .L1278 + beq .L1276 mov fp, #36 orr r0, r4, r0, asl #10 mla r1, fp, r6, lr @@ -10781,14 +10784,14 @@ FtlGcScanTempBlk: bic r0, r0, #3 add r0, ip, r0 str r0, [r1, #12] -.L1278: +.L1276: add r3, r3, #1 add r2, r2, #2 uxth r3, r3 -.L1277: +.L1275: cmp r3, r9 - bne .L1279 - ldr r9, .L1297+8 + bne .L1277 + ldr r9, .L1295+8 mov r1, r6 mov r2, #0 ldr r0, [r9, #-984] @@ -10797,9 +10800,9 @@ FtlGcScanTempBlk: mul r3, r3, r6 mov r6, #0 str r3, [sp, #8] - b .L1280 -.L1286: - ldr fp, .L1297+8 + b .L1278 +.L1284: + ldr fp, .L1295+8 ldr r1, [fp, #-984] add r3, r1, r6 ldr r9, [r3, #4] @@ -10811,36 +10814,36 @@ FtlGcScanTempBlk: ldr r1, [r1, r6] cmp r1, #0 mov r2, r0 - bne .L1281 + bne .L1279 ldr r3, [r3, #12] add r6, r6, #36 ldrh r1, [r3, #0] cmp r1, sl moveq r3, #1 streq r3, [fp, #-1016] - beq .L1275 -.L1282: + beq .L1273 +.L1280: ldr r0, [r3, #12] mov r1, r9 ldr r2, [r3, #8] bl FtlGcUpdatePage - b .L1280 -.L1281: + b .L1278 +.L1279: ldr r3, [fp, #-1884] cmp r3, #0 - beq .L1283 + beq .L1281 ldrh r3, [r5, #0] ldr r2, [fp, #-2084] mov r3, r3, asl #1 ldrh r3, [r2, r3] cmp r3, #119 movls r8, r9 - bls .L1284 -.L1283: + bls .L1282 +.L1281: cmn r1, #1 moveq r8, r9 -.L1284: - ldr r2, .L1297+8 +.L1282: + ldr r2, .L1295+8 mov r0, #0 @ movhi ldrh r3, [r5, #0] mov r4, #0 @@ -10852,39 +10855,39 @@ FtlGcScanTempBlk: mvn r3, #0 strh r3, [r5, #0] @ movhi bl FtlGcPageVarInit - b .L1285 -.L1280: + b .L1283 +.L1278: ldr r3, [sp, #8] cmp r6, r3 - bne .L1286 + bne .L1284 ldr fp, [sp, #12] add r7, r7, #1 add r4, r4, #1 cmp r7, fp uxth r4, r4 - bcc .L1287 - ldr r2, .L1297 + bcc .L1285 + ldr r2, .L1295 movw r3, #3000 ldrh r1, [r2, r3] cmp r1, sl - beq .L1287 + beq .L1285 add r1, r1, r7 strh r1, [r2, r3] @ movhi - ldr r2, .L1297+4 + ldr r2, .L1295+4 add r3, r3, #912 ldrh r3, [r2, r3] cmp r3, r4 - bhi .L1288 -.L1287: - ldr r2, .L1297+4 + bhi .L1286 +.L1285: + ldr r2, .L1295+4 movw r3, #3912 ldrh r3, [r2, r3] cmp r3, r4 - bhi .L1294 -.L1291: + bhi .L1292 +.L1289: mov r2, #0 -.L1275: - ldr r1, .L1297 +.L1273: + ldr r1, .L1295 movw r3, #3000 mvn r0, #0 strh r4, [r5, #2] @ movhi @@ -10893,13 +10896,13 @@ FtlGcScanTempBlk: mov r0, r5 mov r1, r4 bl ftl_sb_update_avl_pages -.L1288: +.L1286: mov r0, r8 add sp, sp, #20 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1298: +.L1296: .align 2 -.L1297: +.L1295: .word .LANCHOR1 .word .LANCHOR0 .word .LANCHOR2 @@ -10915,12 +10918,12 @@ 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, .L1357 + ldr r5, .L1355 .pad #28 sub sp, sp, #28 - ldr r4, .L1357+4 + ldr r4, .L1355+4 mov r1, r6 - ldr r3, .L1357+8 + ldr r3, .L1355+8 movw r7, #3932 ldr r2, [r5, #3940] ldr r0, [r4, #-1040] @@ -10945,15 +10948,15 @@ FtlScanSysBlk: ldr r0, [r5, #3960] mov r2, r2, asl #1 bl ftl_memset - ldr r0, .L1357+12 + ldr r0, .L1355+12 mov r1, #255 mov r2, #12 bl ftl_memset movw r3, #3852 ldrh r3, [r5, r3] str r3, [sp, #8] - b .L1300 -.L1302: + b .L1298 +.L1300: add r3, r6, r5 ldr r1, [sp, #8] ldrb r0, [r3, #3870] @ zero_extendqisi2 @@ -10962,7 +10965,7 @@ FtlScanSysBlk: bl FtlBbmIsBadBlock ldr r3, [sp, #0] cmp r0, #0 - bne .L1301 + bne .L1299 ldr r2, [r4, #-984] mov r3, r3, asl #10 mla r2, r9, r7, r2 @@ -10979,20 +10982,20 @@ FtlScanSysBlk: bic r3, r3, #3 add r3, r1, r3 str r3, [r2, #12] -.L1301: +.L1299: add r5, r5, #1 uxth r5, r5 - b .L1338 -.L1351: + b .L1336 +.L1349: mov r7, #0 movw fp, #3844 mov r5, r7 mov r9, #36 movw r8, #3924 -.L1338: +.L1336: ldrh r3, [r6, fp] cmp r3, r5 - bhi .L1302 + bhi .L1300 ldr r0, [r4, #-984] mov r1, r7 mov r2, #1 @@ -11000,8 +11003,8 @@ FtlScanSysBlk: bl FlashReadPages mov fp, r7 str r8, [sp, #12] - b .L1303 -.L1337: + b .L1301 +.L1335: ldr r2, [r4, #-984] add r0, r2, r8 ldr r7, [r2, r8] @@ -11009,7 +11012,7 @@ FtlScanSysBlk: cmn r7, #1 ldr r5, [r0, #12] ubfx r6, r3, #10, #16 - bne .L1304 + bne .L1302 mov r1, #1 add r3, r3, #1 mov r2, r1 @@ -11020,44 +11023,44 @@ FtlScanSysBlk: cmp r3, r0 ldreq r3, [r4, #-984] streq r7, [r3, r8] -.L1304: +.L1302: ldr r3, [r4, #-984] ldr r3, [r3, r8] cmn r3, #1 - beq .L1305 + beq .L1303 ldr r2, [r4, #-1848] ldr r3, [r5, #4] cmn r2, #1 - beq .L1306 + beq .L1304 cmp r2, r3 - bhi .L1307 -.L1306: + bhi .L1305 +.L1304: cmn r3, #1 addne r3, r3, #1 strne r3, [sl, #-1848] -.L1307: +.L1305: ldrh r3, [r5, #0] movw r2, #61604 cmp r3, r2 - beq .L1310 - bhi .L1313 + beq .L1308 + bhi .L1311 movw r2, #61574 cmp r3, r2 - bne .L1308 - b .L1355 -.L1313: + bne .L1306 + b .L1353 +.L1311: movw r2, #61634 cmp r3, r2 - beq .L1311 + beq .L1309 movw r1, #65535 cmp r3, r1 - bne .L1308 - b .L1356 -.L1311: - ldr r3, .L1357 + bne .L1306 + b .L1354 +.L1309: + ldr r3, .L1355 ldr r1, [r4, #-1040] ldr r2, [r3, #3940] - ldr r3, .L1357+8 + ldr r3, .L1355+8 uxth r0, r2 ldrh r3, [r4, r3] sub r7, r0, #1 @@ -11066,35 +11069,35 @@ FtlScanSysBlk: sub r0, r0, #1 sxth r0, r0 str r0, [sp, #4] - b .L1314 -.L1322: + b .L1312 +.L1320: mov ip, r9, asl #2 ldr r0, [r1, r9, asl #2] str ip, [sp, #16] ldr ip, [r5, #4] cmp ip, r0 - bls .L1315 + bls .L1313 ldr r1, [r1, #0] cmp r1, #0 - bne .L1316 + bne .L1314 cmp r3, r2 - bne .L1317 -.L1316: + bne .L1315 +.L1314: ldr r3, [r4, #-1044] mov r1, #1 ldrh r0, [r3, #0] bl FtlFreeSysBlkQueueIn - b .L1318 -.L1317: - ldr r2, .L1357+8 + b .L1316 +.L1315: + ldr r2, .L1355+8 add r3, r3, #1 strh r3, [r4, r2] @ movhi -.L1318: +.L1316: sxth ip, r7 mov r2, #0 str ip, [sp, #4] - b .L1319 -.L1320: + b .L1317 +.L1318: ldr r0, [r4, #-1040] add r1, r3, #1 add r2, r2, #1 @@ -11106,11 +11109,11 @@ FtlScanSysBlk: ldr r0, [r4, #-1044] ldrh r1, [r0, r1] strh r1, [r0, r3] @ movhi -.L1319: +.L1317: ldr r0, [sp, #4] sxth r3, r2 cmp r3, r0 - bne .L1320 + bne .L1318 ldr r3, [sl, #-1040] mov r9, r9, asl #1 ldr r2, [r5, #4] @@ -11118,29 +11121,29 @@ FtlScanSysBlk: str r2, [r3, ip] ldr r3, [sl, #-1044] strh r6, [r3, r9] @ movhi - b .L1321 -.L1315: + b .L1319 +.L1313: sub r7, r7, #1 uxth r7, r7 -.L1314: +.L1312: ldr r0, [sp, #4] sxth r9, r7 cmp r9, r0 - bgt .L1322 -.L1321: + bgt .L1320 +.L1319: sxth r7, r7 cmp r7, #0 - blt .L1305 -.L1323: - ldr r3, .L1357+8 - ldr r1, .L1357 + blt .L1303 +.L1321: + ldr r3, .L1355+8 + ldr r1, .L1355 ldrh r2, [r4, r3] ldr r1, [r1, #3940] rsb r1, r2, r1 sub r1, r1, #1 sxth r1, r1 cmp r7, r1 - bgt .L1308 + bgt .L1306 add r2, r2, #1 strh r2, [r4, r3] @ movhi ldr r3, [r4, #-1040] @@ -11148,9 +11151,9 @@ FtlScanSysBlk: str r2, [r3, r7, asl #2] mov r7, r7, asl #1 ldr r3, [r4, #-1044] - b .L1353 -.L1355: - ldr r3, .L1357 + b .L1351 +.L1353: + ldr r3, .L1355 movw r2, #3932 movw r0, #3956 ldrh r2, [r3, r2] @@ -11160,38 +11163,38 @@ FtlScanSysBlk: rsb r1, r3, r1 str r1, [sp, #4] ldr r1, [r4, #-924] - b .L1324 -.L1332: + b .L1322 +.L1330: mov ip, r9, asl #2 ldr r0, [r1, r9, asl #2] str ip, [sp, #16] ldr ip, [r5, #4] cmp ip, r0 - bls .L1325 + bls .L1323 ldr r1, [r1, #0] cmp r1, #0 - ldr r1, .L1357 - bne .L1326 + ldr r1, .L1355 + bne .L1324 cmp r3, r2 - bne .L1327 -.L1326: + bne .L1325 +.L1324: ldr r3, [r1, #3960] mov r1, #1 ldrh r0, [r3, #0] bl FtlFreeSysBlkQueueIn - b .L1328 -.L1327: + b .L1326 +.L1325: movw r2, #3956 add r3, r3, #1 strh r3, [r1, r2] @ movhi -.L1328: +.L1326: sxth r0, r7 mov r2, #0 str r0, [sp, #20] - ldr ip, .L1357 + ldr ip, .L1355 str r5, [sp, #4] - b .L1329 -.L1330: + b .L1327 +.L1328: ldr r0, [r4, #-924] add r1, r3, #1 add r2, r2, #1 @@ -11203,35 +11206,35 @@ FtlScanSysBlk: ldr r0, [ip, #3960] ldrh r1, [r0, r1] strh r1, [r0, r3] @ movhi -.L1329: +.L1327: ldr r0, [sp, #20] sxth r3, r2 cmp r3, r0 - bne .L1330 + bne .L1328 ldr r5, [sp, #4] mov r9, r9, asl #1 ldr r3, [sl, #-924] ldr ip, [sp, #16] ldr r2, [r5, #4] str r2, [r3, ip] - ldr r3, .L1357 + ldr r3, .L1355 ldr r3, [r3, #3960] strh r6, [r3, r9] @ movhi - b .L1331 -.L1325: + b .L1329 +.L1323: sub r7, r7, #1 uxth r7, r7 -.L1324: +.L1322: ldr r0, [sp, #4] sxth r9, r7 cmp r9, r0 - bgt .L1332 -.L1331: + bgt .L1330 +.L1329: sxth r7, r7 cmp r7, #0 - blt .L1305 -.L1333: - ldr r3, .L1357 + blt .L1303 +.L1331: + ldr r3, .L1355 movw r0, #3932 movw r2, #3956 ldrh r0, [r3, r0] @@ -11240,7 +11243,7 @@ FtlScanSysBlk: rsb r0, r1, r0 sxth r0, r0 cmp r7, r0 - bgt .L1308 + bgt .L1306 add r1, r1, #1 strh r1, [r3, r2] @ movhi ldr r1, [r5, #4] @@ -11248,90 +11251,90 @@ FtlScanSysBlk: str r1, [r2, r7, asl #2] mov r7, r7, asl #1 ldr r3, [r3, #3960] -.L1353: +.L1351: strh r6, [r3, r7] @ movhi - b .L1308 -.L1310: - ldr r3, .L1357+16 + b .L1306 +.L1308: + ldr r3, .L1355+16 movw r1, #65535 ldrh r2, [r4, r3] cmp r2, r1 streqh r6, [r4, r3] @ movhi - beq .L1354 - ldr r3, .L1357+20 + beq .L1352 + ldr r3, .L1355+20 movw r2, #65535 ldrh r0, [r4, r3] cmp r0, r2 - beq .L1335 + beq .L1333 mov r1, #1 bl FtlFreeSysBlkQueueIn -.L1335: +.L1333: ldr r3, [r5, #4] ldr r2, [sl, #-1760] cmp r2, r3 - ldr r3, .L1357+20 + ldr r3, .L1355+20 strcsh r6, [r4, r3] @ movhi - bcs .L1308 - ldr r2, .L1357+16 + bcs .L1306 + ldr r2, .L1355+16 ldrh r1, [r4, r2] strh r6, [r4, r2] @ movhi strh r1, [r4, r3] @ movhi -.L1354: +.L1352: ldr r3, [r5, #4] str r3, [r4, #-1760] - b .L1308 -.L1356: + b .L1306 +.L1354: mov r0, r6 mov r1, #0 - b .L1352 -.L1305: + b .L1350 +.L1303: mov r0, r6 mov r1, #1 -.L1352: +.L1350: bl FtlFreeSysBlkQueueIn -.L1308: +.L1306: ldr r5, [sp, #12] add r8, r8, #36 add r3, r5, #1 uxth r3, r3 str r3, [sp, #12] -.L1303: +.L1301: ldr ip, [sp, #12] cmp ip, fp - bne .L1337 + bne .L1335 ldr r5, [sp, #8] add r3, r5, #1 uxth r3, r3 str r3, [sp, #8] -.L1300: - ldr r6, .L1357 +.L1298: + ldr r6, .L1355 movw r3, #3854 ldr ip, [sp, #8] ldrh r3, [r6, r3] cmp r3, ip - bhi .L1351 - ldr r1, .L1357+4 + bhi .L1349 + ldr r1, .L1355+4 ldr r2, [r1, #-1044] ldrh r3, [r2, #0] cmp r3, #0 - bne .L1339 - ldr r0, .L1357+8 + bne .L1337 + ldr r0, .L1355+8 ldrh r1, [r1, r0] cmp r1, #0 ldrne r0, [r6, #3940] - bne .L1340 - b .L1339 -.L1344: + bne .L1338 + b .L1337 +.L1342: mov r1, r1, asl #1 ldrh r1, [r2, r1] cmp r1, #0 - beq .L1341 - ldr r7, .L1357 + beq .L1339 + ldr r7, .L1355 sxth r6, r3 - ldr r1, .L1357+4 + ldr r1, .L1355+4 mov r5, #0 - b .L1342 -.L1343: + b .L1340 +.L1341: ldr ip, [r1, #-1044] mov r0, r2, asl #1 rsb r4, r6, r2 @@ -11345,43 +11348,43 @@ FtlScanSysBlk: str r2, [ip, r4, asl #2] ldr r2, [r1, #-1044] strh r5, [r2, r0] @ movhi -.L1342: +.L1340: ldr r0, [r7, #3940] sxth r2, r3 cmp r2, r0 - bcc .L1343 - b .L1339 -.L1341: + bcc .L1341 + b .L1337 +.L1339: add r3, r3, #1 uxth r3, r3 -.L1340: +.L1338: sxth r1, r3 cmp r1, r0 - bcc .L1344 -.L1339: - ldr r2, .L1357 + bcc .L1342 +.L1337: + ldr r2, .L1355 ldr r1, [r2, #3960] ldrh r3, [r1, #0] cmp r3, #0 - bne .L1345 + bne .L1343 movw r0, #3956 ldrh r0, [r2, r0] cmp r0, #0 movwne r0, #3932 ldrneh r2, [r2, r0] - bne .L1346 - b .L1345 -.L1350: + bne .L1344 + b .L1343 +.L1348: mov ip, r0, asl #1 ldrh ip, [r1, ip] cmp ip, #0 - beq .L1347 - ldr r1, .L1357 + beq .L1345 + ldr r1, .L1355 movw r8, #3932 - ldr r7, .L1357+4 + ldr r7, .L1355+4 mov r6, #0 - b .L1348 -.L1349: + b .L1346 +.L1347: ldr r4, [r1, #3960] mov ip, r2, asl #1 rsb r5, r0, r2 @@ -11395,26 +11398,26 @@ FtlScanSysBlk: str r2, [r4, r5, asl #2] ldr r2, [r1, #3960] strh r6, [r2, ip] @ movhi -.L1348: +.L1346: ldrh ip, [r1, r8] sxth r2, r3 cmp r2, ip - blt .L1349 - b .L1345 -.L1347: + blt .L1347 + b .L1343 +.L1345: add r3, r3, #1 uxth r3, r3 -.L1346: +.L1344: sxth r0, r3 cmp r0, r2 - blt .L1350 -.L1345: + blt .L1348 +.L1343: mov r0, #0 add sp, sp, #28 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1358: +.L1356: .align 2 -.L1357: +.L1355: .word .LANCHOR0 .word .LANCHOR2 .word -1048 @@ -11430,7 +11433,7 @@ FtlVendorPartRead: .fnstart @ args = 0, pretend = 0, frame = 48 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L1369 + ldr r3, .L1367 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} mov r8, r2 @@ -11445,16 +11448,16 @@ FtlVendorPartRead: mov r6, r0 cmp r1, r2 mvnhi r7, #0 - bhi .L1360 + bhi .L1358 mov r9, r0, lsr r9 mov r7, #0 - ldr sl, .L1369+4 + ldr sl, .L1367+4 mov r9, r9, asl #2 - b .L1361 -.L1366: + b .L1359 +.L1364: ldr r3, [sl, #-920] mov r0, r6 - ldr r1, .L1369 + ldr r1, .L1367 ldr fp, [r3, r9] movw r3, #3918 ldrh r4, [r1, r3] @@ -11466,8 +11469,8 @@ FtlVendorPartRead: cmp r4, r5 uxthhi r4, r5 cmp fp, #0 - beq .L1363 - ldr r1, .L1369+4 + beq .L1361 + ldr r1, .L1367+4 add r0, sp, #12 str fp, [sp, #16] ldr r2, [r1, #-968] @@ -11487,27 +11490,27 @@ FtlVendorPartRead: add r1, r1, r3, asl #9 mov r2, r4, asl #9 bl memcpy - b .L1365 -.L1363: + b .L1363 +.L1361: mov r0, r8 mov r1, fp mov r2, r4, asl #9 bl ftl_memset -.L1365: +.L1363: rsb r5, r4, r5 add r6, r6, r4 add r8, r8, r4, asl #9 add r9, r9, #4 -.L1361: +.L1359: cmp r5, #0 - bne .L1366 -.L1360: + bne .L1364 +.L1358: mov r0, r7 add sp, sp, #52 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1370: +.L1368: .align 2 -.L1369: +.L1367: .word .LANCHOR0 .word .LANCHOR2 .fnend @@ -11522,24 +11525,24 @@ Ftl_load_ext_data: stmfd sp!, {r3, r4, r5, lr} .save {r3, r4, r5, lr} mov r0, #0 - ldr r5, .L1375 + ldr r5, .L1373 mov r1, #1 - ldr r2, .L1375+4 + ldr r2, .L1373+4 bl FtlVendorPartRead - ldr r4, .L1375+8 + ldr r4, .L1373+8 ldr r3, [r5, #-1704] cmp r3, r4 - beq .L1372 - ldr r0, .L1375+4 + beq .L1370 + ldr r0, .L1373+4 mov r1, #0 mov r2, #512 bl ftl_memset str r4, [r5, #-1704] -.L1372: +.L1370: ldr r2, [r5, #-1704] - ldr r3, .L1375 + ldr r3, .L1373 cmp r2, r4 - bne .L1373 + bne .L1371 ldr r2, [r3, #-1616] str r2, [r3, #-1856] ldr r2, [r3, #-1612] @@ -11566,21 +11569,21 @@ Ftl_load_ext_data: str r2, [r3, #-1824] ldr r2, [r3, #-1644] str r2, [r3, #-1708] -.L1373: - ldr r4, .L1375 +.L1371: + ldr r4, .L1373 mov r3, #0 ldr r2, [r4, #-1636] str r3, [r4, #-1004] - ldr r3, .L1375+12 + ldr r3, .L1373+12 cmp r2, r3 - bne .L1374 + bne .L1372 mov r3, #1 - ldr r0, .L1375+16 + ldr r0, .L1373+16 str r3, [r4, #-1884] - ldr r1, .L1375+20 + ldr r1, .L1373+20 bl printk -.L1374: - ldr r3, .L1375+24 +.L1372: + ldr r3, .L1373+24 movw r2, #3902 ldr r0, [r4, #-1840] ldrh r1, [r3, r2] @@ -11591,15 +11594,15 @@ Ftl_load_ext_data: bl __aeabi_uidiv str r0, [r4, #-1832] ldmfd sp!, {r3, r4, r5, pc} -.L1376: +.L1374: .align 2 -.L1375: +.L1373: .word .LANCHOR2 .word .LANCHOR2-1704 .word 1179929683 .word 305432421 - .word .LC75 - .word .LC98 + .word .LC74 + .word .LC97 .word .LANCHOR0 .fnend .size Ftl_load_ext_data, .-Ftl_load_ext_data @@ -11613,35 +11616,35 @@ FtlLoadEctTbl: stmfd sp!, {r3, r4, r5, lr} .save {r3, r4, r5, lr} mov r0, #64 - ldr r4, .L1379 - ldr r5, .L1379+4 + ldr r4, .L1377 + ldr r5, .L1377+4 ldr r2, [r4, #-936] ldrh r1, [r4, r5] bl FtlVendorPartRead ldr r3, [r4, #-936] ldr r2, [r3, #0] - ldr r3, .L1379+8 + ldr r3, .L1377+8 cmp r2, r3 - beq .L1378 - ldr r1, .L1379+12 - ldr r0, .L1379+16 + beq .L1376 + ldr r1, .L1377+12 + ldr r0, .L1377+16 bl printk ldrh r2, [r4, r5] ldr r0, [r4, #-936] mov r1, #0 mov r2, r2, asl #9 bl ftl_memset -.L1378: +.L1376: mov r0, #0 ldmfd sp!, {r3, r4, r5, pc} -.L1380: +.L1378: .align 2 -.L1379: +.L1377: .word .LANCHOR2 .word -940 .word 1112818501 - .word .LC99 - .word .LC75 + .word .LC98 + .word .LC74 .fnend .size FtlLoadEctTbl, .-FtlLoadEctTbl .align 2 @@ -11654,15 +11657,15 @@ load_l2p_region: stmfd sp!, {r3, r4, r5, r6, r7, lr} .save {r3, r4, r5, r6, r7, lr} mov r6, r0 - ldr r4, .L1384 + ldr r4, .L1382 mov r5, #12 ldr r3, [r4, #-1036] ldr r7, [r3, r0, asl #2] cmp r7, #0 - bne .L1382 + bne .L1380 mul r5, r5, r1 ldr r3, [r4, #-1900] - ldr r2, .L1384+4 + ldr r2, .L1382+4 mov r1, #255 add r3, r3, r5 ldr r0, [r3, #8] @@ -11674,8 +11677,8 @@ load_l2p_region: ldr r3, [r4, #-1900] add r5, r3, r5 str r7, [r5, #4] - b .L1383 -.L1382: + b .L1381 +.L1380: mul r5, r5, r1 ldr r3, [r4, #-1900] mov r1, #1 @@ -11693,12 +11696,12 @@ load_l2p_region: add r2, r3, r5 str r1, [r2, #4] strh r6, [r3, r5] @ movhi -.L1383: +.L1381: mov r0, #0 ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L1385: +.L1383: .align 2 -.L1384: +.L1382: .word .LANCHOR2 .word .LANCHOR0 .fnend @@ -11711,7 +11714,7 @@ FtlGetLastWrittenPage: @ args = 0, pretend = 0, frame = 104 @ frame_needed = 0, uses_anonymous_args = 0 cmp r1, #1 - ldr r3, .L1397 + ldr r3, .L1395 stmfd sp!, {r4, r5, r6, r7, r8, sl, lr} .save {r4, r5, r6, r7, r8, sl, lr} movweq r2, #3914 @@ -11737,9 +11740,9 @@ FtlGetLastWrittenPage: bl FlashReadPages ldr r3, [sp, #40] cmn r3, #1 - bne .L1390 - b .L1395 -.L1393: + bne .L1388 + b .L1393 +.L1391: add r6, r6, r3 mov r0, r7 mov r1, #1 @@ -11752,30 +11755,30 @@ FtlGetLastWrittenPage: bl FlashReadPages ldr r3, [sp, #40] cmn r3, #1 - bne .L1391 + bne .L1389 ldr r3, [sp, #44] cmn r3, #1 - bne .L1391 + bne .L1389 ldr r3, [sp, #4] cmn r3, #1 subne r4, r6, #1 uxthne r4, r4 - bne .L1395 -.L1391: + bne .L1393 +.L1389: add r6, r6, #1 uxth r8, r6 -.L1395: +.L1393: sxth r6, r8 sxth r3, r4 cmp r6, r3 - ble .L1393 -.L1390: + ble .L1391 +.L1388: sxth r0, r4 add sp, sp, #108 ldmfd sp!, {r4, r5, r6, r7, r8, sl, pc} -.L1398: +.L1396: .align 2 -.L1397: +.L1395: .word .LANCHOR0 .fnend .size FtlGetLastWrittenPage, .-FtlGetLastWrittenPage @@ -11789,10 +11792,10 @@ FtlLoadSysInfo: stmfd sp!, {r3, r4, r5, r6, r7, lr} .save {r3, r4, r5, r6, r7, lr} mov r5, #0 - ldr r4, .L1413 + ldr r4, .L1411 mov r1, r5 - ldr r2, .L1413+4 - ldr r7, .L1413+8 + ldr r2, .L1411+4 + ldr r7, .L1411+8 ldr r3, [r4, #-952] str r5, [r4, #176] ldr r0, [r4, #-2064] @@ -11804,18 +11807,18 @@ FtlLoadSysInfo: ldrh r0, [r4, r7] movw r3, #65535 cmp r0, r3 - beq .L1411 + beq .L1409 mov r1, #1 bl FtlGetLastWrittenPage - ldr r3, .L1413+12 + ldr r3, .L1411+12 add r2, r0, #1 mov r6, r0 strh r2, [r4, r3] @ movhi - b .L1401 -.L1403: + b .L1399 +.L1401: ldrh r2, [r4, r7] mov r1, #1 - ldr r0, .L1413+16 + ldr r0, .L1411+16 sub r5, r5, #1 orr r3, r3, r2, asl #10 str r3, [r4, #172] @@ -11826,18 +11829,18 @@ FtlLoadSysInfo: bl FlashReadPages ldr r3, [r4, #168] cmn r3, #1 - bne .L1402 -.L1401: + bne .L1400 +.L1399: add r3, r5, r6 sxth r3, r3 cmp r3, #0 - bge .L1403 -.L1402: - ldr r4, .L1413 + bge .L1401 +.L1400: + ldr r4, .L1411 mov r2, #48 - ldr r5, .L1413+4 + ldr r5, .L1411+4 movw r6, #3852 - ldr r0, .L1413+20 + ldr r0, .L1411+20 ldr r7, [r4, #176] mov r1, r7 bl memcpy @@ -11856,18 +11859,18 @@ FtlLoadSysInfo: add r1, r3, r1, asl #2 bl memcpy ldr r2, [r4, #-1820] - ldr r3, .L1413+24 + ldr r3, .L1411+24 cmp r2, r3 - bne .L1411 - ldr r3, .L1413+28 - ldr r2, .L1413+32 + bne .L1409 + ldr r3, .L1411+28 + ldr r2, .L1411+32 ldrb r1, [r4, #-1810] @ zero_extendqisi2 ldrh r3, [r4, r3] strh r3, [r4, r2] @ movhi movw r2, #3866 ldrh r2, [r5, r2] cmp r1, r2 - bne .L1411 + bne .L1409 movw r2, #3912 movw r1, #3918 ldrh r2, [r5, r2] @@ -11886,8 +11889,8 @@ FtlLoadSysInfo: ldrh r1, [r5, r3] movw r5, #65535 bl __aeabi_uidiv - ldr r3, .L1413+36 - ldr r1, .L1413+40 + ldr r3, .L1411+36 + ldr r1, .L1411+40 strh r0, [r4, r3] @ movhi sub r3, r3, #34 ldrh r2, [r4, r3] @@ -11901,12 +11904,12 @@ FtlLoadSysInfo: ldrb r3, [r4, #-1809] @ zero_extendqisi2 strh r0, [r4, r1] @ movhi mvn r1, #0 - ldr r0, .L1413+44 + ldr r0, .L1411+44 strb r3, [r4, #-2036] - ldr r3, .L1413+48 + ldr r3, .L1411+48 strh r1, [r4, r3] @ movhi mov r3, #0 - ldr r1, .L1413+52 + ldr r1, .L1411+52 strh r3, [r4, r0] @ movhi strb r3, [r4, #-1750] ldrh r0, [r4, r1] @@ -11915,7 +11918,7 @@ FtlLoadSysInfo: str r3, [r4, #-1860] strh r0, [r4, r1] @ movhi add r1, r1, #196 - ldr r0, .L1413+56 + ldr r0, .L1411+56 ldrh r1, [r4, r1] mov ip, r1, lsr #6 and r1, r1, #63 @@ -11923,12 +11926,12 @@ FtlLoadSysInfo: ldrb r1, [r4, #-1808] @ zero_extendqisi2 strh ip, [r4, r0] @ movhi strb r1, [r4, #-1988] - ldr r1, .L1413+60 + ldr r1, .L1411+60 ldrh r0, [r4, r1] sub r1, r1, #150 strh r0, [r4, r1] @ movhi add r1, r1, #152 - ldr r0, .L1413+64 + ldr r0, .L1411+64 ldrh r1, [r4, r1] mov ip, r1, lsr #6 and r1, r1, #63 @@ -11948,49 +11951,49 @@ FtlLoadSysInfo: ldr r1, [r4, #-1848] cmp r3, r1 strhi r3, [r4, #-1848] - ldr r4, .L1413 + ldr r4, .L1411 ldr r3, [r4, #-1784] ldr r1, [r4, #-1844] cmp r3, r1 strhi r3, [r4, #-1844] cmp r2, r5 - beq .L1406 - ldr r0, .L1413+68 + beq .L1404 + ldr r0, .L1411+68 bl make_superblock -.L1406: - ldr r3, .L1413+72 +.L1404: + ldr r3, .L1411+72 ldrh r3, [r4, r3] cmp r3, r5 - beq .L1407 - ldr r0, .L1413+76 + beq .L1405 + ldr r0, .L1411+76 bl make_superblock -.L1407: - ldr r5, .L1413 +.L1405: + ldr r5, .L1411 movw r4, #65535 - ldr r3, .L1413+80 + ldr r3, .L1411+80 ldrh r3, [r5, r3] cmp r3, r4 - beq .L1408 - ldr r0, .L1413+84 + beq .L1406 + ldr r0, .L1411+84 bl make_superblock -.L1408: - ldr r3, .L1413+48 +.L1406: + ldr r3, .L1411+48 ldrh r3, [r5, r3] cmp r3, r4 - beq .L1412 - ldr r0, .L1413+88 + beq .L1410 + ldr r0, .L1411+88 bl make_superblock mov r0, #0 ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L1411: +.L1409: mvn r0, #0 ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L1412: +.L1410: mov r0, #0 ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L1414: +.L1412: .align 2 -.L1413: +.L1411: .word .LANCHOR2 .word .LANCHOR0 .word -1768 @@ -12026,8 +12029,8 @@ FtlLoadBbt: stmfd sp!, {r4, r5, r6, r7, r8, lr} .save {r4, r5, r6, r7, r8, lr} mov r3, #0 - ldr r6, .L1430 - ldr r8, .L1430+4 + ldr r6, .L1428 + ldr r8, .L1428+4 ldr r4, [r6, #-952] mov r7, r6 str r3, [r6, #176] @@ -12037,33 +12040,33 @@ FtlLoadBbt: ldrh r5, [r8, r3] sub r5, r5, #1 uxth r5, r5 - b .L1416 -.L1420: + b .L1414 +.L1418: mov r1, #1 mov r3, r5, asl #10 - ldr r0, .L1430+8 + ldr r0, .L1428+8 mov r2, r1 str r3, [r6, #172] bl FlashReadPages ldr r3, [r6, #168] cmn r3, #1 - bne .L1417 + bne .L1415 ldr r3, [r6, #172] mov r1, #1 - ldr r0, .L1430+8 + ldr r0, .L1428+8 mov r2, r1 add r3, r3, #1 str r3, [r6, #172] bl FlashReadPages -.L1417: +.L1415: ldr r3, [r7, #168] cmn r3, #1 - beq .L1418 + beq .L1416 ldrh r2, [r4, #0] movw r3, #61649 cmp r2, r3 - bne .L1418 - ldr r3, .L1430+4 + bne .L1416 + ldr r3, .L1428+4 movw r2, #3980 strh r5, [r3, r2] @ movhi ldr r2, [r4, #4] @@ -12071,28 +12074,28 @@ FtlLoadBbt: mov r2, #3984 ldrh r1, [r4, #8] strh r1, [r3, r2] @ movhi - b .L1419 -.L1418: + b .L1417 +.L1416: sub r5, r5, #1 uxth r5, r5 -.L1416: +.L1414: movw r3, #3908 ldrh r3, [r8, r3] sub r3, r3, #48 cmp r5, r3 - bgt .L1420 -.L1419: - ldr r5, .L1430+4 + bgt .L1418 +.L1417: + ldr r5, .L1428+4 movw r8, #3980 movw r3, #65535 ldrh r2, [r5, r8] cmp r2, r3 - beq .L1429 + beq .L1427 mov r6, #3984 ldrh r2, [r5, r6] cmp r2, r3 - beq .L1422 - ldr r7, .L1430 + beq .L1420 + ldr r7, .L1428 mov r1, #1 mov r2, r2, asl #10 add r0, r7, #168 @@ -12101,11 +12104,11 @@ FtlLoadBbt: bl FlashReadPages ldr r3, [r7, #168] cmn r3, #1 - beq .L1422 + beq .L1420 ldrh r2, [r4, #0] movw r3, #61649 cmp r2, r3 - bne .L1422 + bne .L1420 ldr r3, [r4, #4] ldr r2, [r5, #3988] cmp r3, r2 @@ -12114,25 +12117,25 @@ FtlLoadBbt: ldrhih r3, [r4, #8] strhih r2, [r5, r8] @ movhi strhih r3, [r5, r6] @ movhi -.L1422: - ldr r8, .L1430+4 +.L1420: + ldr r8, .L1428+4 movw r3, #3980 mov r1, #1 mov r6, #0 - ldr r5, .L1430 + ldr r5, .L1428 ldrh r0, [r8, r3] bl FtlGetLastWrittenPage movw r3, #3982 add r2, r0, #1 mov r7, r0 strh r2, [r8, r3] @ movhi - b .L1423 -.L1425: + b .L1421 +.L1423: movw r2, #3980 mov r1, #1 ldrh r2, [r8, r2] sub r6, r6, #1 - ldr r0, .L1430+8 + ldr r0, .L1428+8 uxth r6, r6 orr r3, r3, r2, asl #10 str r3, [r5, #172] @@ -12142,41 +12145,41 @@ FtlLoadBbt: bl FlashReadPages ldr r3, [r5, #168] cmn r3, #1 - bne .L1424 -.L1423: + bne .L1422 +.L1421: add r3, r6, r7 sxth r3, r3 cmp r3, #0 - bge .L1425 -.L1424: - ldr r3, .L1430+4 + bge .L1423 +.L1422: + ldr r3, .L1428+4 movw r2, #3986 ldrh r1, [r4, #10] ldrh r0, [r4, #12] strh r1, [r3, r2] @ movhi movw r2, #65535 cmp r0, r2 - beq .L1426 + beq .L1424 ldr r2, [r3, #3840] cmp r0, r2 - beq .L1426 + beq .L1424 movw r1, #3854 ldrh r3, [r3, r1] mov r3, r3, lsr #2 cmp r2, r3 - bcs .L1426 + bcs .L1424 cmp r0, r3 - bcs .L1426 + bcs .L1424 bl FtlSysBlkNumInit -.L1426: - ldr r6, .L1430+12 +.L1424: + ldr r6, .L1428+12 mov r4, #0 - ldr r8, .L1430+4 + ldr r8, .L1428+4 movw r7, #3866 - ldr r5, .L1430 - b .L1427 -.L1428: - ldr r3, .L1430+16 + ldr r5, .L1428 + b .L1425 +.L1426: + ldr r3, .L1428+16 ldr r1, [r5, #176] ldr r0, [r6, #4]! ldrh r2, [r5, r3] @@ -12184,18 +12187,18 @@ FtlLoadBbt: mla r1, r4, r2, r1 bl memcpy add r4, r4, #1 -.L1427: +.L1425: ldrh r3, [r8, r7] cmp r4, r3 - bcc .L1428 + bcc .L1426 mov r0, #0 ldmfd sp!, {r4, r5, r6, r7, r8, pc} -.L1429: +.L1427: mvn r0, #0 ldmfd sp!, {r4, r5, r6, r7, r8, pc} -.L1431: +.L1429: .align 2 -.L1430: +.L1428: .word .LANCHOR2 .word .LANCHOR0 .word .LANCHOR2+168 @@ -12213,59 +12216,59 @@ 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, .L1439 + ldr r3, .L1437 movw fp, #3866 - ldr r7, .L1439+4 - ldr r6, .L1439+8 + ldr r7, .L1437+4 + ldr r6, .L1437+8 ldr r2, [r3, #-2076] ldr r8, [r3, #-952] str r2, [r3, #176] str r8, [r3, #180] - b .L1433 -.L1438: + b .L1431 +.L1436: movw r9, #3908 mvn r3, #0 ldrh r4, [r6, r9] strh r3, [r7], #2 @ movhi add r4, r4, r3 - ldr sl, .L1439 + ldr sl, .L1437 uxth r4, r4 - b .L1434 -.L1437: + b .L1432 +.L1435: mla r3, r3, r5, r4 mov r1, #1 - ldr r0, .L1439+12 + ldr r0, .L1437+12 mov r2, r1 mov r3, r3, asl #10 str r3, [sl, #172] bl FlashReadPages ldr r3, [sl, #168] cmn r3, #1 - beq .L1435 + beq .L1433 ldrh r2, [r8, #0] movw r3, #61664 cmp r2, r3 streqh r4, [r7, #-2] @ movhi - beq .L1436 -.L1435: + beq .L1434 +.L1433: sub r4, r4, #1 uxth r4, r4 -.L1434: +.L1432: ldrh r3, [r6, r9] sub r2, r3, #16 cmp r4, r2 - bgt .L1437 -.L1436: + bgt .L1435 +.L1434: add r5, r5, #1 -.L1433: +.L1431: ldrh r3, [r6, fp] cmp r5, r3 - bcc .L1438 + bcc .L1436 mov r0, #0 ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1440: +.L1438: .align 2 -.L1439: +.L1437: .word .LANCHOR2 .word .LANCHOR0+3992 .word .LANCHOR0 @@ -12287,13 +12290,13 @@ FlashProgSlc2KPages: mov r9, r2 str r3, [sp, #12] mov r4, r0 - ldr r3, .L1460 + ldr r3, .L1458 mov r6, r0 mov r8, #0 - ldr r7, .L1460+4 + ldr r7, .L1458+4 ldrb fp, [r3, #2697] @ zero_extendqisi2 - b .L1442 -.L1449: + b .L1440 +.L1447: rsb r3, r8, sl add r2, sp, #20 mov r0, r6 @@ -12307,7 +12310,7 @@ FlashProgSlc2KPages: cmp r3, r2 mvncs r3, #0 strcs r3, [r6, #0] - bcs .L1444 + bcs .L1442 add r3, r7, r3 ldrb r5, [r3, #3768] @ zero_extendqisi2 mov r0, r5 @@ -12366,27 +12369,27 @@ FlashProgSlc2KPages: mvnne r3, #0 strne r3, [r6, #0] bl NandcFlashDeCs -.L1444: +.L1442: add r8, r8, #1 add r6, r6, #36 -.L1442: +.L1440: cmp r8, sl - bne .L1449 + bne .L1447 ldr r3, [sp, #12] cmp r3, #0 movne r6, #0 - ldrne r5, .L1460+8 - bne .L1450 - b .L1451 -.L1456: + ldrne r5, .L1458+8 + bne .L1448 + b .L1449 +.L1454: ldr r3, [r4, #0] cmn r3, #1 - bne .L1452 + bne .L1450 ldr r1, [r4, #4] - ldr r0, .L1460+12 + ldr r0, .L1458+12 bl printk - b .L1453 -.L1452: + b .L1451 +.L1450: rsb r3, r6, sl mov r1, r9 add r2, sp, #20 @@ -12418,59 +12421,59 @@ FlashProgSlc2KPages: bl FlashReadPages ldr r7, [sp, #28] cmn r7, #1 - bne .L1454 - ldr r0, .L1460+16 + bne .L1452 + ldr r0, .L1458+16 ldr r1, [r4, #4] bl printk str r7, [r4, #0] -.L1454: +.L1452: ldr r3, [r4, #12] cmp r3, #0 - beq .L1455 + beq .L1453 ldr r2, [r3, #0] ldr r3, [r5, #156] ldr r3, [r3, #0] cmp r2, r3 - beq .L1455 - ldr r0, .L1460+20 + beq .L1453 + ldr r0, .L1458+20 ldr r1, [r4, #4] bl printk mvn r3, #0 str r3, [r4, #0] -.L1455: +.L1453: ldr r3, [r4, #8] cmp r3, #0 - beq .L1453 + beq .L1451 ldr r2, [r3, #0] ldr r3, [r5, #152] ldr r3, [r3, #0] cmp r2, r3 - beq .L1453 - ldr r0, .L1460+24 + beq .L1451 + ldr r0, .L1458+24 ldr r1, [r4, #4] bl printk mvn r3, #0 str r3, [r4, #0] -.L1453: +.L1451: add r6, r6, #1 add r4, r4, #36 -.L1450: +.L1448: cmp r6, sl - bne .L1456 -.L1451: + bne .L1454 +.L1449: mov r0, #0 add sp, sp, #68 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1461: +.L1459: .align 2 -.L1460: +.L1458: .word .LANCHOR1 .word .LANCHOR0 .word .LANCHOR2 + .word .LC99 .word .LC100 .word .LC101 .word .LC102 - .word .LC103 .fnend .size FlashProgSlc2KPages, .-FlashProgSlc2KPages .align 2 @@ -12484,7 +12487,7 @@ FlashProgPages: .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} .pad #76 sub sp, sp, #76 - ldr r5, .L1489 + ldr r5, .L1487 mov r9, r0 str r1, [sp, #8] mov sl, r2 @@ -12495,13 +12498,13 @@ FlashProgPages: cmp r6, #0 moveq fp, r5 str ip, [sp, #20] - ldr ip, .L1489+4 + ldr ip, .L1487+4 ldrb ip, [ip, #2697] @ zero_extendqisi2 str ip, [sp, #12] - beq .L1463 + beq .L1461 bl FlashProgSlc2KPages - b .L1464 -.L1476: + b .L1462 +.L1474: mov r4, #36 ldr r2, [sp, #8] mul r4, r4, r6 @@ -12520,22 +12523,22 @@ FlashProgPages: mvncs r3, #0 strcs r3, [r9, r4] mov r8, r0 - bcs .L1466 + bcs .L1464 ldrb r1, [r5, #3837] @ zero_extendqisi2 add r2, fp, r2, asl #4 cmp r1, #0 ldr r2, [r2, #2788] moveq r8, #0 cmp r2, #0 - beq .L1468 + beq .L1466 cmp r3, #1 - bne .L1469 + bne .L1467 ldr r0, [r5, #2164] bl NandcIqrWaitFlashReady -.L1469: +.L1467: ldrb r0, [sp, #32] @ zero_extendqisi2 bl FlashWaitCmdDone -.L1468: +.L1466: ldr r2, [sp, #32] mov r1, #0 cmp r8, #0 @@ -12555,10 +12558,10 @@ FlashProgPages: cmp r3, #1 strb r4, [r2, #2780] mov r0, r4 - bne .L1471 + bne .L1469 bl NandcWaitFlashReady - b .L1472 -.L1471: + b .L1470 +.L1469: bl NandcFlashCs ldr r3, [sp, #32] mov r0, r4 @@ -12570,31 +12573,31 @@ FlashProgPages: bl FlashWaitReadyEN mov r0, r4 bl NandcFlashDeCs -.L1472: +.L1470: ldr r2, [sp, #20] sub r3, r2, #1 cmp r3, #5 - bhi .L1473 + bhi .L1471 add r3, r5, r4 ldrb r3, [r3, #3760] @ zero_extendqisi2 cmp r3, #0 - beq .L1473 + beq .L1471 mov r0, r4 ldrb r1, [r5, #2909] @ zero_extendqisi2 - ldr r2, .L1489+8 + ldr r2, .L1487+8 mov r3, #0 bl HynixSetRRPara -.L1473: +.L1471: mov r0, r4 bl NandcFlashCs cmp sl, #1 - bne .L1474 + bne .L1472 ldrb r3, [r5, #80] @ zero_extendqisi2 cmp r3, #0 - beq .L1474 + beq .L1472 mov r0, r4 bl flash_enter_slc_mode -.L1474: +.L1472: mov r0, r4 ldr r1, [sp, #28] bl FlashProgFirstCmd @@ -12606,7 +12609,7 @@ FlashProgPages: ldr r3, [r7, #8] bl NandcXferData cmp r8, #0 - beq .L1475 + beq .L1473 mov r0, r4 ldr r1, [sp, #28] bl FlashProgDpFirstCmd @@ -12633,58 +12636,58 @@ FlashProgPages: ldr r2, [sp, #12] ldr r3, [r3, #8] bl NandcXferData -.L1475: +.L1473: mov r0, r4 ldr r1, [sp, #28] bl FlashProgSecondCmd mov r0, r4 bl NandcFlashDeCs add r6, r6, r8 -.L1466: +.L1464: add r6, r6, #1 -.L1463: +.L1461: ldr r3, [sp, #8] cmp r6, r3 - bcc .L1476 - ldr r5, .L1489 + bcc .L1474 + ldr r5, .L1487 mov r4, #0 - ldr r6, .L1489+12 + ldr r6, .L1487+12 ldr r0, [r5, #2164] bl NandcIqrWaitFlashReady - b .L1477 -.L1479: + b .L1475 +.L1477: uxtb r0, r4 bl FlashWaitCmdDone cmp sl, #1 - bne .L1478 + bne .L1476 ldrb r3, [r5, #80] @ zero_extendqisi2 cmp r3, #0 - beq .L1478 + beq .L1476 ldrb r0, [r6, r4, asl #4] @ zero_extendqisi2 bl flash_exit_slc_mode -.L1478: +.L1476: add r4, r4, #1 -.L1477: +.L1475: ldrb r3, [r5, #3766] @ zero_extendqisi2 cmp r4, r3 - bcc .L1479 + bcc .L1477 ldr r2, [sp, #16] cmp r2, #0 ldreq r0, [sp, #16] - beq .L1464 + beq .L1462 mov r5, #0 - ldr r4, .L1489+16 + ldr r4, .L1487+16 ldr r6, [sp, #8] - b .L1480 -.L1485: + b .L1478 +.L1483: ldr r3, [r9, #0] cmn r3, #1 - bne .L1481 + bne .L1479 ldr r1, [r9, #4] - ldr r0, .L1489+20 + ldr r0, .L1487+20 bl printk - b .L1482 -.L1481: + b .L1480 +.L1479: rsb r3, r5, r6 mov r1, sl add r2, sp, #28 @@ -12716,61 +12719,61 @@ FlashProgPages: bl FlashReadPages ldr r7, [sp, #36] cmn r7, #1 - bne .L1483 - ldr r0, .L1489+24 + bne .L1481 + ldr r0, .L1487+24 ldr r1, [r9, #4] bl printk str r7, [r9, #0] -.L1483: +.L1481: ldr r3, [r9, #12] cmp r3, #0 - beq .L1484 + beq .L1482 ldr r2, [r3, #0] ldr r3, [r4, #156] ldr r3, [r3, #0] cmp r2, r3 - beq .L1484 - ldr r0, .L1489+28 + beq .L1482 + ldr r0, .L1487+28 ldr r1, [r9, #4] bl printk mvn r3, #0 str r3, [r9, #0] -.L1484: +.L1482: ldr r3, [r9, #8] cmp r3, #0 - beq .L1482 + beq .L1480 ldr r2, [r3, #0] ldr r3, [r4, #152] ldr r3, [r3, #0] cmp r2, r3 - beq .L1482 - ldr r0, .L1489+32 + beq .L1480 + ldr r0, .L1487+32 ldr r1, [r9, #4] bl printk mvn r3, #0 str r3, [r9, #0] -.L1482: +.L1480: add r5, r5, #1 add r9, r9, #36 -.L1480: +.L1478: cmp r5, r6 - bne .L1485 + bne .L1483 mov r0, #0 -.L1464: +.L1462: add sp, sp, #76 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1490: +.L1488: .align 2 -.L1489: +.L1487: .word .LANCHOR0 .word .LANCHOR1 .word .LANCHOR0+2912 .word .LANCHOR0+2780 .word .LANCHOR2 + .word .LC99 .word .LC100 .word .LC101 .word .LC102 - .word .LC103 .fnend .size FlashProgPages, .-FlashProgPages .align 2 @@ -12783,11 +12786,11 @@ FtlVpcTblFlush: stmfd sp!, {r3, r4, r5, r6, r7, r8, sl, lr} .save {r3, r4, r5, r6, r7, r8, sl, lr} mov r8, #0 - ldr r4, .L1500 + ldr r4, .L1498 mov r1, #255 - ldr r6, .L1500+4 + ldr r6, .L1498+4 movw sl, #3852 - ldr r7, .L1500+8 + ldr r7, .L1498+8 ldr r3, [r4, #-2076] ldr r5, [r4, #-952] str r3, [r4, #176] @@ -12795,23 +12798,23 @@ FtlVpcTblFlush: str r5, [r4, #180] str r8, [r5, #12] strh r3, [r5, #2] @ movhi - ldr r3, .L1500+12 + ldr r3, .L1498+12 strh r3, [r5, #0] @ movhi ldr r3, [r4, #-1760] str r8, [r5, #8] str r3, [r5, #4] - ldr r3, .L1500+16 + ldr r3, .L1498+16 str r3, [r4, #-1820] - ldr r3, .L1500+20 + ldr r3, .L1498+20 str r3, [r4, #-1816] - ldr r3, .L1500+24 + ldr r3, .L1498+24 ldrh r2, [r4, r3] sub r3, r3, #50 strh r2, [r4, r3] @ movhi movw r3, #3866 ldrh r3, [r7, r3] strb r3, [r4, #-1810] - ldr r3, .L1500+28 + ldr r3, .L1498+28 ldrh r2, [r4, r3] add r3, r3, #238 strh r2, [r4, r3] @ movhi @@ -12819,11 +12822,11 @@ FtlVpcTblFlush: ldrh r2, [r4, r3] ldrb r3, [r4, #-2038] @ zero_extendqisi2 orr r2, r3, r2, asl #6 - ldr r3, .L1500+32 + ldr r3, .L1498+32 strh r2, [r4, r3] @ movhi ldrb r3, [r4, #-2036] @ zero_extendqisi2 strb r3, [r4, #-1809] - ldr r3, .L1500+36 + ldr r3, .L1498+36 ldrh r2, [r4, r3] add r3, r3, #194 strh r2, [r4, r3] @ movhi @@ -12831,11 +12834,11 @@ FtlVpcTblFlush: ldrh r2, [r4, r3] ldrb r3, [r4, #-1990] @ zero_extendqisi2 orr r2, r3, r2, asl #6 - ldr r3, .L1500+40 + ldr r3, .L1498+40 strh r2, [r4, r3] @ movhi ldrb r3, [r4, #-1988] @ zero_extendqisi2 strb r3, [r4, #-1808] - ldr r3, .L1500+44 + ldr r3, .L1498+44 ldrh r2, [r4, r3] add r3, r3, #150 strh r2, [r4, r3] @ movhi @@ -12844,7 +12847,7 @@ FtlVpcTblFlush: ldrh r2, [r4, r3] ldrb r3, [r4, #-1942] @ zero_extendqisi2 orr r2, r3, r2, asl #6 - ldr r3, .L1500+48 + ldr r3, .L1498+48 strh r2, [r4, r3] @ movhi ldrb r3, [r4, #-1940] @ zero_extendqisi2 strb r3, [r4, #-1807] @@ -12857,7 +12860,7 @@ FtlVpcTblFlush: movw r3, #3922 ldrh r2, [r7, r3] bl ftl_memset - ldr r1, .L1500+52 + ldr r1, .L1498+52 mov r2, #48 ldr r0, [r4, #176] bl memcpy @@ -12879,14 +12882,14 @@ FtlVpcTblFlush: mov r0, r8 bl FtlUpdateVaildLpn movw r8, #65535 -.L1499: +.L1497: ldr r3, [r4, #-2076] mov r1, #1 - ldr r7, .L1500+56 + ldr r7, .L1498+56 ldrh r2, [r4, r6] str r3, [r4, #176] ldr r3, [r4, #-952] - ldr r0, .L1500+60 + ldr r0, .L1498+60 str r3, [r4, #180] ldrh r3, [r4, r7] orr r3, r3, r2, asl #10 @@ -12894,14 +12897,14 @@ FtlVpcTblFlush: str r3, [r4, #172] mov r3, r1 bl FlashProgPages - ldr r1, .L1500+8 + ldr r1, .L1498+8 movw r3, #3914 ldrh r2, [r4, r7] ldrh r3, [r1, r3] sub r3, r3, #1 cmp r2, r3 - blt .L1493 - ldr r3, .L1500+64 + blt .L1491 + ldr r3, .L1498+64 ldrh r2, [r4, r6] ldrh r8, [r4, r3] strh r2, [r4, r3] @ movhi @@ -12920,39 +12923,39 @@ FtlVpcTblFlush: str r3, [r5, #4] mov r3, r1 strh r0, [r5, #2] @ movhi - ldr r0, .L1500+60 + ldr r0, .L1498+60 bl FlashProgPages -.L1493: - ldr r2, .L1500+56 +.L1491: + ldr r2, .L1498+56 ldr r1, [r4, #168] ldrh r3, [r4, r2] cmn r1, #1 add r3, r3, #1 uxth r3, r3 strh r3, [r4, r2] @ movhi - bne .L1494 + bne .L1492 cmp r3, #1 - ldreq r1, .L1500+8 + ldreq r1, .L1498+8 movweq r3, #3914 ldreqh r3, [r1, r3] subeq r3, r3, #1 streqh r3, [r4, r2] @ movhi - b .L1499 -.L1494: + b .L1497 +.L1492: cmp r3, #1 - beq .L1499 + beq .L1497 movw r3, #65535 cmp r8, r3 - beq .L1496 + beq .L1494 mov r0, r8 mov r1, #1 bl FtlFreeSysBlkQueueIn -.L1496: +.L1494: mov r0, #0 ldmfd sp!, {r3, r4, r5, r6, r7, r8, sl, pc} -.L1501: +.L1499: .align 2 -.L1500: +.L1498: .word .LANCHOR2 .word -1768 .word .LANCHOR0 @@ -12982,11 +12985,11 @@ FtlBbmTblFlush: 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, .L1511 + ldr r7, .L1509 mov r6, #0 - ldr sl, .L1511+4 + ldr sl, .L1509+4 movw r9, #3866 - ldr r8, .L1511+8 + ldr r8, .L1509+8 ldr r3, [r7, #-952] ldr r0, [r7, #-2076] str r3, [r7, #180] @@ -12994,9 +12997,9 @@ FtlBbmTblFlush: str r0, [r7, #176] ldrh r2, [sl, r3] bl ftl_memset - b .L1503 -.L1504: - ldr r3, .L1511+12 + b .L1501 +.L1502: + ldr r3, .L1509+12 ldr r1, [r8, #4]! ldrh r2, [r7, r3] ldr r3, [r7, #176] @@ -13005,12 +13008,12 @@ FtlBbmTblFlush: add r6, r6, #1 add r0, r3, r0, asl #2 bl memcpy -.L1503: +.L1501: ldrh r3, [sl, r9] - ldr r4, .L1511+4 + ldr r4, .L1509+4 cmp r6, r3 - ldr r5, .L1511 - blt .L1504 + ldr r5, .L1509 + blt .L1502 ldr r6, [r5, #180] mov r1, #255 mov r2, #16 @@ -13018,7 +13021,7 @@ FtlBbmTblFlush: mov fp, r7 mov r0, r6 bl ftl_memset - ldr r3, .L1511+16 + ldr r3, .L1509+16 strh r3, [r6, #0] @ movhi ldr r3, [r4, #3988] str r3, [r6, #4] @@ -13033,13 +13036,13 @@ FtlBbmTblFlush: strh r3, [r6, #10] @ movhi ldr r3, [r4, #3840] strh r3, [r6, #12] @ movhi - b .L1510 -.L1509: + b .L1508 +.L1507: mov r7, #1 -.L1510: +.L1508: ldr r3, [r5, #-2076] movw r8, #3980 - ldr r4, .L1511+4 + ldr r4, .L1509+4 movw sl, #3982 mov r9, #3984 str r3, [r5, #176] @@ -13054,19 +13057,19 @@ FtlBbmTblFlush: str r3, [r5, #172] str r0, [sp, #0] ldrh r3, [r4, r9] - ldr r0, .L1511+20 + ldr r0, .L1509+20 bl printk mov r1, #1 mov r2, r1 mov r3, r1 - ldr r0, .L1511+24 + ldr r0, .L1509+24 bl FlashProgPages movw r3, #3914 ldrh r3, [r4, r3] ldrh r2, [r4, sl] sub r3, r3, #1 cmp r2, r3 - blt .L1506 + blt .L1504 ldr r3, [r4, #3988] mov r1, #1 ldrh r2, [r4, r8] @@ -13085,39 +13088,39 @@ FtlBbmTblFlush: strh fp, [r4, sl] @ movhi bl FlashEraseBlocks mov r1, #1 - ldr r0, .L1511+24 + ldr r0, .L1509+24 mov r2, r1 mov r3, r1 bl FlashProgPages -.L1506: - ldr r2, .L1511+4 +.L1504: + ldr r2, .L1509+4 movw r3, #3982 ldrh r1, [r2, r3] add r1, r1, #1 strh r1, [r2, r3] @ movhi ldr r3, [r5, #168] cmn r3, #1 - bne .L1507 + bne .L1505 ldr r1, [r5, #172] - ldr r0, .L1511+28 + ldr r0, .L1509+28 bl printk - b .L1510 -.L1507: + b .L1508 +.L1505: cmp r7, #0 - beq .L1509 + beq .L1507 mov r0, #0 ldmfd sp!, {r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1512: +.L1510: .align 2 -.L1511: +.L1509: .word .LANCHOR2 .word .LANCHOR0 .word .LANCHOR0+4004 .word -1032 .word -3887 - .word .LC104 + .word .LC103 .word .LANCHOR2+168 - .word .LC105 + .word .LC104 .fnend .size FtlBbmTblFlush, .-FtlBbmTblFlush .align 2 @@ -13130,40 +13133,40 @@ 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, .L1523 - ldr r3, .L1523+4 + ldr r4, .L1521 + ldr r3, .L1521+4 ldrh r3, [r4, r3] cmp r3, #0 movne r6, #0 movne sl, r4 - bne .L1514 - b .L1515 -.L1521: + bne .L1512 + b .L1513 +.L1519: add r3, r3, r6 mov r1, r9 mov r5, #0 - ldr r7, .L1523+4 + ldr r7, .L1521+4 ldrb r0, [r3, #3870] @ zero_extendqisi2 bl V2P_block mov r8, r0 - b .L1516 -.L1520: + b .L1514 +.L1518: add r3, r4, r5, asl #1 sub r3, r3, #1120 sub r3, r3, #12 ldrh r3, [r3, #0] cmp r3, r8 - bne .L1517 + bne .L1515 mov r1, r8 - ldr r0, .L1523+8 + ldr r0, .L1521+8 bl printk mov r0, r8 bl FtlBbmMapBadBlock bl FtlBbmTblFlush ldrh r1, [r4, r7] mov r3, r5 - b .L1518 -.L1519: + b .L1516 +.L1517: add r0, r3, #1 add r3, r4, r3, asl #1 sub r3, r3, #1120 @@ -13173,36 +13176,36 @@ FtlGcFreeBadSuperBlk: ldrh r2, [r2, #0] strh r2, [r3, #-12] @ movhi uxth r3, r0 -.L1518: +.L1516: cmp r3, r1 - bcc .L1519 + bcc .L1517 sub r1, r1, #1 strh r1, [sl, r7] @ movhi -.L1517: +.L1515: add r5, r5, #1 uxth r5, r5 -.L1516: +.L1514: ldrh r3, [r4, r7] cmp r3, r5 - bhi .L1520 + bhi .L1518 add r6, r6, #1 uxth r6, r6 -.L1514: - ldr r3, .L1523+12 +.L1512: + ldr r3, .L1521+12 movw r2, #3844 ldrh r2, [r3, r2] cmp r2, r6 - bhi .L1521 + bhi .L1519 bl FtlGcReFreshBadBlk -.L1515: +.L1513: mov r0, #0 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, pc} -.L1524: +.L1522: .align 2 -.L1523: +.L1521: .word .LANCHOR2 .word -1134 - .word .LC106 + .word .LC105 .word .LANCHOR0 .fnend .size FtlGcFreeBadSuperBlk, .-FtlGcFreeBadSuperBlk @@ -13216,36 +13219,36 @@ update_vpc_list: stmfd sp!, {r3, r4, r5, lr} .save {r3, r4, r5, lr} mov r2, r0, asl #1 - ldr r3, .L1533 + ldr r3, .L1531 mov r4, r0 ldr r1, [r3, #-2064] ldrh r2, [r1, r2] cmp r2, #0 - bne .L1526 - ldr r1, .L1533+4 + bne .L1524 + ldr r1, .L1531+4 ldrh r0, [r3, r1] cmp r0, r4 mvneq r2, #0 streqh r2, [r3, r1] @ movhi - beq .L1528 - ldr r1, .L1533+8 + beq .L1526 + ldr r1, .L1531+8 ldrh r1, [r3, r1] cmp r1, r4 - beq .L1529 - ldr r1, .L1533+12 + beq .L1527 + ldr r1, .L1531+12 ldrh r1, [r3, r1] cmp r1, r4 - beq .L1529 - ldr r1, .L1533+16 + beq .L1527 + ldr r1, .L1531+16 ldrh r3, [r3, r1] cmp r3, r4 - beq .L1529 -.L1528: + beq .L1527 +.L1526: mov r1, r4 - ldr r0, .L1533+20 + ldr r0, .L1531+20 bl List_remove_node - ldr r5, .L1533 - ldr r3, .L1533+24 + ldr r5, .L1531 + ldr r3, .L1531+24 mov r0, r4 ldrh r2, [r5, r3] sub r2, r2, #1 @@ -13254,16 +13257,16 @@ update_vpc_list: mov r0, r4 bl FtlGcFreeBadSuperBlk mov r2, #1 - b .L1529 -.L1526: + b .L1527 +.L1524: bl List_update_data_list mov r2, #0 -.L1529: +.L1527: mov r0, r2 ldmfd sp!, {r3, r4, r5, pc} -.L1534: +.L1532: .align 2 -.L1533: +.L1531: .word .LANCHOR2 .word -1756 .word -2044 @@ -13285,45 +13288,45 @@ decrement_vpc_count: movw r3, #65535 cmp r0, r3 mov r5, r0 - beq .L1536 - ldr r2, .L1541 + beq .L1534 + ldr r2, .L1539 mov r3, r0, asl #1 ldr r2, [r2, #-2064] ldrh r4, [r2, r3] cmp r4, #0 subne r4, r4, #1 strneh r4, [r2, r3] @ movhi - bne .L1536 - ldr r0, .L1541+4 + bne .L1534 + ldr r0, .L1539+4 mov r1, r5 mov r2, r4 bl printk mov r0, r4 ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L1536: - ldr r7, .L1541 +.L1534: + ldr r7, .L1539 movw r3, #65535 - ldr r6, .L1541+8 + ldr r6, .L1539+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 .L1540 + beq .L1538 bl update_vpc_list strh r5, [r7, r6] @ movhi adds r0, r0, #0 movne r0, #1 ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L1540: +.L1538: mov r0, #0 ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L1542: +.L1540: .align 2 -.L1541: +.L1539: .word .LANCHOR2 - .word .LC107 + .word .LC106 .word -1024 .fnend .size decrement_vpc_count, .-decrement_vpc_count @@ -13341,12 +13344,12 @@ get_new_active_ppa: mov r4, r0 ldrb r3, [r0, #6] @ zero_extendqisi2 movw r6, #65535 - ldr r5, .L1555 - ldr r7, .L1555+4 + ldr r5, .L1553 + ldr r7, .L1553+4 add r3, r0, r3, asl #1 ldrh r3, [r3, #16] - b .L1544 -.L1545: + b .L1542 +.L1543: ldrb r3, [r4, #6] @ zero_extendqisi2 movw r2, #3844 ldrh r2, [r5, r2] @@ -13362,28 +13365,28 @@ get_new_active_ppa: ldrb r3, [r4, #6] @ zero_extendqisi2 add r3, r4, r3, asl #1 ldrh r3, [r3, #16] -.L1544: +.L1542: cmp r3, r6 - beq .L1545 + beq .L1543 ldrb r2, [r4, #8] @ zero_extendqisi2 cmp r2, #1 - bne .L1547 + bne .L1545 ldrb r2, [r5, #80] @ zero_extendqisi2 cmp r2, #0 - bne .L1547 + bne .L1545 ldrh r2, [r4, #2] add r2, r7, r2, asl #1 sub r2, r2, #912 ldrh r2, [r2, #0] cmp r2, r6 - bne .L1547 + bne .L1545 ldrh r3, [r4, #4] ldrh r0, [r4, #0] sub r3, r3, #1 strh r3, [r4, #4] @ movhi bl decrement_vpc_count - b .L1545 -.L1547: + b .L1543 +.L1545: ldrh r6, [r4, #2] movw r5, #65535 mov r7, r5 @@ -13391,12 +13394,12 @@ get_new_active_ppa: ldrh r3, [r4, #4] sub r3, r3, #1 strh r3, [r4, #4] @ movhi -.L1552: - ldr r2, .L1555 +.L1550: + ldr r2, .L1553 movw r3, #3844 ldrh r2, [r2, r3] ldrb r3, [r4, #6] @ zero_extendqisi2 -.L1549: +.L1547: add r3, r3, #1 uxtb r3, r3 cmp r3, r2 @@ -13407,36 +13410,36 @@ get_new_active_ppa: add r1, r4, r3, asl #1 ldrh r1, [r1, #16] cmp r1, r5 - beq .L1549 + beq .L1547 strb r3, [r4, #6] ldrb r3, [r4, #8] @ zero_extendqisi2 cmp r3, #1 - bne .L1550 - ldr r3, .L1555 + bne .L1548 + ldr r3, .L1553 ldrb r2, [r3, #80] @ zero_extendqisi2 cmp r2, #0 ldrh r2, [r4, #2] - bne .L1553 - ldr r3, .L1555+4 + bne .L1551 + ldr r3, .L1553+4 add r2, r3, r2, asl #1 sub r2, r2, #912 ldrh r3, [r2, #0] cmp r3, r7 - bne .L1550 + bne .L1548 ldrh r3, [r4, #4] cmp r3, #0 - beq .L1550 + beq .L1548 sub r3, r3, #1 ldrh r0, [r4, #0] strh r3, [r4, #4] @ movhi bl decrement_vpc_count - b .L1552 -.L1553: + b .L1550 +.L1551: movw r1, #3914 ldrh r1, [r3, r1] cmp r2, r1 - bcc .L1550 - ldr r1, .L1555+4 + bcc .L1548 + ldr r1, .L1553+4 ldrh r2, [r4, #0] ldrh r0, [r4, #4] ldr r1, [r1, #-2064] @@ -13451,19 +13454,19 @@ get_new_active_ppa: ldrh r3, [r3, r2] strb r1, [r4, #6] strh r3, [r4, #2] @ movhi -.L1550: +.L1548: mov r0, r6 ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L1556: +.L1554: .align 2 -.L1555: +.L1553: .word .LANCHOR0 .word .LANCHOR2 .fnend .size get_new_active_ppa, .-get_new_active_ppa .align 2 - .type FtlSlcSuperblockCheck.part.18, %function -FtlSlcSuperblockCheck.part.18: + .type FtlSlcSuperblockCheck.part.17, %function +FtlSlcSuperblockCheck.part.17: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @@ -13472,12 +13475,12 @@ FtlSlcSuperblockCheck.part.18: mov r4, r0 ldrb r3, [r0, #6] @ zero_extendqisi2 movw r6, #65535 - ldr r5, .L1563 - ldr r7, .L1563+4 + ldr r5, .L1561 + ldr r7, .L1561+4 add r3, r0, r3, asl #1 ldrh r3, [r3, #16] - b .L1558 -.L1559: + b .L1556 +.L1557: ldrb r3, [r4, #6] @ zero_extendqisi2 movw r2, #3844 ldrh r2, [r5, r2] @@ -13493,21 +13496,21 @@ FtlSlcSuperblockCheck.part.18: ldrb r3, [r4, #6] @ zero_extendqisi2 add r3, r4, r3, asl #1 ldrh r3, [r3, #16] -.L1558: +.L1556: cmp r3, r6 - beq .L1559 + beq .L1557 ldrb r2, [r4, #8] @ zero_extendqisi2 cmp r2, #1 - bne .L1561 + bne .L1559 ldrb r3, [r5, #80] @ zero_extendqisi2 cmp r3, #0 - bne .L1561 + bne .L1559 ldrh r3, [r4, #2] add r3, r7, r3, asl #1 sub r3, r3, #912 ldrh r3, [r3, #0] cmp r3, r6 - bne .L1561 + bne .L1559 ldrh r3, [r4, #4] ldrh r0, [r4, #0] sub r3, r3, #1 @@ -13515,14 +13518,14 @@ FtlSlcSuperblockCheck.part.18: bl decrement_vpc_count ldrh r3, [r4, #4] cmp r3, #0 - bne .L1559 + bne .L1557 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} -.L1561: - ldr r3, .L1563 +.L1559: + ldr r3, .L1561 ldrb r1, [r3, #80] @ zero_extendqisi2 cmp r1, #0 ldmeqfd sp!, {r3, r4, r5, r6, r7, pc} @@ -13533,7 +13536,7 @@ FtlSlcSuperblockCheck.part.18: ldrh r2, [r3, r2] cmp r1, r2 ldmccfd sp!, {r3, r4, r5, r6, r7, pc} - ldr r1, .L1563+4 + ldr r1, .L1561+4 ldrh r2, [r4, #0] ldrh r0, [r4, #4] ldr r1, [r1, #-2064] @@ -13549,13 +13552,13 @@ FtlSlcSuperblockCheck.part.18: strb r1, [r4, #6] strh r3, [r4, #2] @ movhi ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L1564: +.L1562: .align 2 -.L1563: +.L1561: .word .LANCHOR0 .word .LANCHOR2 .fnend - .size FtlSlcSuperblockCheck.part.18, .-FtlSlcSuperblockCheck.part.18 + .size FtlSlcSuperblockCheck.part.17, .-FtlSlcSuperblockCheck.part.17 .align 2 .global FtlSlcSuperblockCheck .type FtlSlcSuperblockCheck, %function @@ -13567,7 +13570,7 @@ FtlSlcSuperblockCheck: ldrh r3, [r0, #4] cmp r3, #0 bxeq lr - b FtlSlcSuperblockCheck.part.18 + b FtlSlcSuperblockCheck.part.17 .fnend .size FtlSlcSuperblockCheck, .-FtlSlcSuperblockCheck .align 2 @@ -13581,14 +13584,14 @@ allocate_data_superblock: .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} .pad #20 sub sp, sp, #20 - ldr r4, .L1601 + ldr r4, .L1599 mov r5, r0 mov r7, r4 -.L1597: - ldr r3, .L1601+4 +.L1595: + ldr r3, .L1599+4 cmp r5, r3 - bne .L1569 - ldr r3, .L1601+8 + bne .L1567 + ldr r3, .L1599+8 ldrh r2, [r4, r3] ldr r3, [r4, #-1180] mov r1, r2, lsr #1 @@ -13598,55 +13601,55 @@ allocate_data_superblock: ldr ip, [r4, #-1884] cmp ip, #0 uxth r0, r0 - beq .L1591 + beq .L1589 ldr ip, [r4, #-1824] cmp ip, #29 - bhi .L1591 + bhi .L1589 cmp ip, #2 - bls .L1596 + bls .L1594 tst r2, #1 - beq .L1570 + beq .L1568 cmp r3, #0 moveq r1, r3 - beq .L1571 - b .L1570 -.L1569: + beq .L1569 + b .L1568 +.L1567: ldrb r3, [r5, #8] @ zero_extendqisi2 cmp r3, #1 - bne .L1596 - ldr r3, .L1601+12 + bne .L1594 + ldr r3, .L1599+12 movw r2, #3864 ldrh r2, [r3, r2] cmp r2, #1 - beq .L1596 + beq .L1594 ldrb r3, [r3, #80] @ zero_extendqisi2 cmp r3, #0 - bne .L1596 + bne .L1594 sub r3, r3, #2048 ldr r2, [r4, #-1884] ldrh r3, [r4, r3] cmp r2, #0 mov r1, r3, lsr #3 - beq .L1570 + beq .L1568 ldr r2, [r4, #-1824] cmp r2, #1 movls r1, #7 mulls r1, r1, r3 movls r1, r1, lsr #3 - b .L1570 -.L1591: + b .L1568 +.L1589: mov r1, r0 -.L1570: +.L1568: cmp r1, #0 subne r1, r1, #1 uxthne r1, r1 - b .L1571 -.L1596: + b .L1569 +.L1594: mov r1, #0 -.L1571: - ldr r0, .L1601+16 +.L1569: + ldr r0, .L1599+16 bl List_pop_index_node - ldr r3, .L1601+8 + ldr r3, .L1599+8 ldrh r2, [r4, r3] sub r2, r2, #1 strh r2, [r4, r3] @ movhi @@ -13656,8 +13659,8 @@ allocate_data_superblock: bl make_superblock ldrb r3, [r5, #7] @ zero_extendqisi2 cmp r3, #0 - beq .L1572 - ldr r2, .L1601+12 + beq .L1570 + ldr r2, .L1599+12 movw r3, #3844 ldr ip, [r4, #-2088] mov fp, #0 @@ -13668,20 +13671,20 @@ allocate_data_superblock: mov r3, ip mov r2, fp stmia sp, {r5, ip} - b .L1573 -.L1572: + b .L1571 +.L1570: ldr r2, [r4, #-2064] mov r3, r6, asl #1 mvn r1, #0 strh r1, [r2, r3] @ movhi - b .L1598 -.L1576: + b .L1596 +.L1574: str r0, [r3, #8] movw r5, #65535 str r0, [r3, #12] ldrh lr, [r1, #16] cmp lr, r5 - beq .L1575 + beq .L1573 ldr r5, [sp, #4] mov ip, #36 mov lr, lr, asl #10 @@ -13689,36 +13692,36 @@ allocate_data_superblock: add fp, fp, #1 uxth fp, fp str lr, [r9, #4] -.L1575: +.L1573: add r2, r2, #1 add r3, r3, #36 add r1, r1, #2 uxth r2, r2 -.L1573: +.L1571: cmp r2, r8 - bne .L1576 + bne .L1574 ldr r3, [r4, #-1884] ldr r5, [sp, #0] cmp r3, #0 - beq .L1577 - ldr r3, .L1601+20 + beq .L1575 + ldr r3, .L1599+20 cmp r5, r3 - bne .L1577 + bne .L1575 ldr r2, [r4, #-2084] mov r3, r6, asl #1 ldrh r3, [r2, r3] cmp r3, #30 movhi r3, #0 strhib r3, [r4, #-2036] -.L1577: +.L1575: ldrb r3, [r5, #8] @ zero_extendqisi2 ldr r2, [r4, #-2084] cmp r3, #0 mov r3, r6, asl #1 ldrh r1, [r2, r3] - bne .L1578 + bne .L1576 cmp r1, #0 - ldrne ip, .L1601+12 + ldrne ip, .L1599+12 movwne r0, #3902 moveq r1, #2 ldrneh r0, [ip, r0] @@ -13729,8 +13732,8 @@ allocate_data_superblock: mov r1, #0 add r3, r3, #1 str r3, [r4, #-1840] - b .L1600 -.L1578: + b .L1598 +.L1576: add r1, r1, #1 strh r1, [r2, r3] @ movhi ldr r3, [r4, #-1836] @@ -13738,7 +13741,7 @@ allocate_data_superblock: mov r1, #1 add r3, r3, #1 str r3, [r4, #-1836] -.L1600: +.L1598: bl ftl_set_blk_mode ldr r3, [r4, #-2084] mov r9, r6, asl #1 @@ -13749,7 +13752,7 @@ allocate_data_superblock: cmp r3, r2 movw r2, #3902 strhi r3, [r4, #-1828] - ldr r3, .L1601+12 + ldr r3, .L1599+12 ldrh r1, [r3, r2] ldr r2, [r7, #-1836] mla r0, r0, r1, r2 @@ -13762,18 +13765,18 @@ allocate_data_superblock: str r2, [r3, #16] ldr r3, [r7, #-2088] str r0, [r7, #-1832] - b .L1583 -.L1584: + b .L1581 +.L1582: add r8, r8, #1 ldr r2, [r3, #-32] uxth r8, r8 bic r2, r2, #1020 bic r2, r2, #3 str r2, [r3, #-32] -.L1583: +.L1581: cmp r8, fp add r3, r3, #36 - bne .L1584 + bne .L1582 mov r2, r8 ldr r0, [r4, #-2088] ldrb r1, [r5, #8] @ zero_extendqisi2 @@ -13786,13 +13789,13 @@ allocate_data_superblock: mov r8, fp mov r6, r5 mov r9, r2 - b .L1585 -.L1587: + b .L1583 +.L1585: ldr r1, [r4, #-2088] add r0, r1, fp ldr r5, [r1, fp] cmn r5, #1 - bne .L1586 + bne .L1584 ldr r0, [r0, #4] add r8, r8, #1 str r3, [sp, #12] @@ -13805,33 +13808,33 @@ allocate_data_superblock: strb r1, [r6, #7] ldr ip, [sp, #8] ldr r3, [sp, #12] -.L1586: +.L1584: add fp, fp, #36 add sl, sl, #2 -.L1585: +.L1583: cmp fp, r9 - bne .L1587 + bne .L1585 cmp r8, #0 mov r5, r6 mov r9, ip mov r6, r3 - beq .L1588 + beq .L1586 mov r0, r3 bl update_multiplier_value bl FtlBbmTblFlush -.L1588: +.L1586: ldrb r3, [r5, #7] @ zero_extendqisi2 cmp r3, #0 - bne .L1589 + bne .L1587 ldr r3, [r7, #-2064] mvn r2, #0 strh r2, [r3, r9] @ movhi -.L1598: +.L1596: mov r0, r6 bl INSERT_DATA_LIST - b .L1597 -.L1589: - ldr r1, .L1601+12 + b .L1595 +.L1587: + ldr r1, .L1599+12 movw r2, #3912 mov r0, #0 strh r0, [r5, #2] @ movhi @@ -13839,7 +13842,7 @@ allocate_data_superblock: ldrh r2, [r1, r2] strh r6, [r5, #0] @ movhi mul r2, r2, r3 - ldr r3, .L1601 + ldr r3, .L1599 ldr r1, [r3, #-1848] uxth r2, r2 strh r2, [r5, #4] @ movhi @@ -13852,9 +13855,9 @@ allocate_data_superblock: strh r2, [r1, r3] @ movhi add sp, sp, #20 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1602: +.L1600: .align 2 -.L1601: +.L1599: .word .LANCHOR2 .word .LANCHOR2-1948 .word -2048 @@ -13870,62 +13873,59 @@ FtlSuperblockPowerLostFix: .fnstart @ args = 0, pretend = 0, frame = 40 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L1610 - stmfd sp!, {r4, r5, r6, r7, r8, sl, lr} - .save {r4, r5, r6, r7, r8, sl, lr} + ldr r3, .L1608 + stmfd sp!, {r4, r5, r6, r7, r8, lr} + .save {r4, r5, r6, r7, r8, lr} mov r4, r0 - ldr r5, [r3, #-1164] - .pad #44 - sub sp, sp, #44 - ldr r3, .L1610+4 - ldrb r8, [r3, #80] @ zero_extendqisi2 - cmp r8, #0 - beq .L1604 - ldrb r8, [r0, #8] @ zero_extendqisi2 - sub r0, r8, #1 - rsbs r8, r0, #0 - adc r8, r8, r0 -.L1604: - mov sl, #7 - mvn r7, #0 - ldr r6, .L1610 - b .L1605 -.L1608: + ldrb r7, [r3, #80] @ zero_extendqisi2 + .pad #40 + sub sp, sp, #40 + cmp r7, #0 + beq .L1602 + ldrb r7, [r0, #8] @ zero_extendqisi2 + sub r0, r7, #1 + rsbs r7, r0, #0 + adc r7, r7, r0 +.L1602: + mov r8, #7 + mvn r6, #0 + ldr r5, .L1608+4 + b .L1603 +.L1606: ldrh r3, [r4, #4] cmp r3, #0 - beq .L1606 + beq .L1604 mov r0, r4 bl get_new_active_ppa - ldr r3, [r6, #-2076] - str r7, [sp, #20] - mov r1, #1 + ldr r2, [r5, #-952] + ldr r3, [r5, #-2076] + str r6, [sp, #20] + str r2, [sp, #16] str r3, [sp, #12] - ldr r3, [r6, #-952] - str r3, [sp, #16] - str r7, [r5, #8] - str r7, [r5, #12] + str r6, [r2, #12] + str r6, [r2, #8] ldrh r3, [r4, #0] str r0, [sp, #8] add r0, sp, #4 - strh r3, [r5, #2] @ movhi + strh r3, [r2, #2] @ movhi mov r3, #0 - strh r3, [r5, #0] @ movhi - ldr r2, [r6, #-1844] - ldr r5, [r6, #-952] - cmn r2, #2 - str r2, [r5, #4] - addne r2, r2, #1 - moveq r2, #0 - str r2, [r6, #-1844] - mov r2, r8 + strh r3, [r2, #0] @ movhi + ldr r1, [r5, #-1844] + cmn r1, #2 + str r1, [r2, #4] + addne r1, r1, #1 + moveq r1, #0 + mov r2, r7 + str r1, [r5, #-1844] + mov r1, #1 bl FlashProgPages ldrh r0, [r4, #0] bl decrement_vpc_count -.L1605: - subs sl, sl, #1 - bne .L1608 -.L1606: - ldr r2, .L1610 +.L1603: + subs r8, r8, #1 + bne .L1606 +.L1604: + ldr r2, .L1608+4 ldrh r3, [r4, #0] ldrh r1, [r4, #4] ldr r2, [r2, #-2064] @@ -13933,20 +13933,20 @@ FtlSuperblockPowerLostFix: ldrh r0, [r2, r3] rsb r1, r1, r0 strh r1, [r2, r3] @ movhi - ldr r2, .L1610+4 + ldr r2, .L1608 movw r3, #3912 ldrh r3, [r2, r3] strh r3, [r4, #2] @ movhi mov r3, #0 strb r3, [r4, #6] strh r3, [r4, #4] @ movhi - add sp, sp, #44 - ldmfd sp!, {r4, r5, r6, r7, r8, sl, pc} -.L1611: + add sp, sp, #40 + ldmfd sp!, {r4, r5, r6, r7, r8, pc} +.L1609: .align 2 -.L1610: - .word .LANCHOR2 +.L1608: .word .LANCHOR0 + .word .LANCHOR2 .fnend .size FtlSuperblockPowerLostFix, .-FtlSuperblockPowerLostFix .align 2 @@ -13960,7 +13960,7 @@ FtlLowFormatEraseBlock: .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} .pad #20 sub sp, sp, #20 - ldr r9, .L1638 + ldr r9, .L1636 mov r6, #0 mov r8, r0 mov r7, r1 @@ -13969,10 +13969,10 @@ FtlLowFormatEraseBlock: ldrb r2, [r9, #80] @ zero_extendqisi2 mov fp, #36 str r0, [r9, #3976] - ldr sl, .L1638+4 + ldr sl, .L1636+4 str r2, [sp, #8] - b .L1613 -.L1617: + b .L1611 +.L1615: mul r3, fp, r6 ldr r2, [sl, #-2088] mov r0, #0 @@ -13983,17 +13983,17 @@ FtlLowFormatEraseBlock: bl V2P_block cmp r7, #0 str r0, [sp, #4] - beq .L1614 + beq .L1612 bl IsBlkInVendorPart cmp r0, #0 - bne .L1615 -.L1614: + bne .L1613 +.L1612: ldr r0, [sp, #4] bl FtlBbmIsBadBlock cmp r0, #0 addne r5, r5, #1 uxthne r5, r5 - bne .L1615 + bne .L1613 ldr r3, [sl, #-2088] ldr r1, [sp, #4] mla r3, fp, r4, r3 @@ -14012,19 +14012,19 @@ FtlLowFormatEraseBlock: bic r2, r2, #3 add r2, r1, r2 str r2, [r3, #12] -.L1615: +.L1613: add r6, r6, #1 uxth r6, r6 -.L1613: +.L1611: movw r1, #3844 ldrh r3, [r9, r1] cmp r3, r6 - bhi .L1617 + bhi .L1615 cmp r4, #0 - beq .L1619 + beq .L1617 ldr r2, [sp, #8] mov r9, #0 - ldr r6, .L1638+4 + ldr r6, .L1636+4 mov fp, r9 adds sl, r2, #0 mov r2, r4 @@ -14032,27 +14032,27 @@ FtlLowFormatEraseBlock: ldr r0, [r6, #-2088] mov r1, sl bl FlashEraseBlocks -.L1621: +.L1619: ldr r3, [r6, #-2088] add r2, r3, r9 ldr r3, [r3, r9] cmn r3, #1 - bne .L1620 + bne .L1618 ldr r0, [r2, #4] add r5, r5, #1 ubfx r0, r0, #10, #16 uxth r5, r5 bl FtlBbmMapBadBlock -.L1620: +.L1618: add fp, fp, #1 add r9, r9, #36 uxth fp, fp cmp fp, r4 - bne .L1621 -.L1622: + bne .L1619 +.L1620: cmp r7, #0 mov r6, #0 - ldrne r2, .L1638 + ldrne r2, .L1636 movwne r3, #3914 movne sl, #1 moveq r0, #1 @@ -14062,39 +14062,39 @@ FtlLowFormatEraseBlock: strne r3, [sp, #4] movne r3, r3, lsr #2 strne r3, [sp, #8] -.L1632: +.L1630: mov r9, #0 - ldr fp, .L1638+4 + ldr fp, .L1636+4 mov r4, r9 - b .L1623 -.L1626: + b .L1621 +.L1624: mov r0, #36 ldr r2, [fp, #-2088] mul r3, r0, r9 mov r1, #0 str r1, [r2, r3] mov r1, r8 - ldr r2, .L1638 + ldr r2, .L1636 add r3, r2, r9 ldrb r0, [r3, #3870] @ zero_extendqisi2 bl V2P_block cmp r7, #0 str r0, [sp, #12] - beq .L1624 + beq .L1622 bl IsBlkInVendorPart cmp r0, #0 - bne .L1625 -.L1624: + bne .L1623 +.L1622: ldr r0, [sp, #12] bl FtlBbmIsBadBlock cmp r0, #0 - bne .L1625 + bne .L1623 ldr r3, [fp, #-2088] mov r0, #36 ldr r1, [sp, #12] mla r3, r0, r4, r3 add r2, r6, r1, asl #10 - ldr r1, .L1638 + ldr r1, .L1636 add r0, r0, #3888 str r2, [r3, #4] ldr r2, [fp, #-960] @@ -14110,18 +14110,18 @@ FtlLowFormatEraseBlock: bic r2, r2, #3 add r2, r1, r2 str r2, [r3, #12] -.L1625: +.L1623: add r9, r9, #1 uxth r9, r9 -.L1623: - ldr r0, .L1638 +.L1621: + ldr r0, .L1636 movw r2, #3844 ldrh r3, [r0, r2] cmp r3, r9 - bhi .L1626 + bhi .L1624 cmp r4, #0 - beq .L1619 - ldr r9, .L1638+4 + beq .L1617 + ldr r9, .L1636+4 mov r3, #1 mov r1, r4 mov r2, sl @@ -14131,68 +14131,68 @@ FtlLowFormatEraseBlock: mov r3, #36 mul r3, r3, r4 str r3, [sp, #12] - b .L1628 -.L1631: + b .L1626 +.L1629: ldr r2, [r9, #-2088] add r3, r2, fp ldr r2, [r2, fp] cmn r2, #1 - bne .L1629 + bne .L1627 ldr r0, [r3, #4] add r5, r5, #1 ubfx r0, r0, #10, #16 uxth r5, r5 bl FtlBbmMapBadBlock - b .L1630 -.L1629: + b .L1628 +.L1627: cmp r7, #0 - beq .L1630 + beq .L1628 ldr r0, [r3, #4] mov r1, #1 ubfx r0, r0, #10, #16 bl FtlFreeSysBlkQueueIn -.L1630: - add fp, fp, #36 .L1628: + add fp, fp, #36 +.L1626: ldr r2, [sp, #12] cmp fp, r2 - bne .L1631 + bne .L1629 ldr r3, [sp, #8] ldr r0, [sp, #4] add r6, r6, r3 uxth r6, r6 cmp r6, r0 - bcc .L1632 + bcc .L1630 cmp r8, #63 - bhi .L1619 - ldr r3, .L1638+4 + bhi .L1617 + ldr r3, .L1636+4 mov r1, sl mov r2, r4 ldr r0, [r3, #-2088] bl FlashEraseBlocks -.L1619: +.L1617: mov r0, r5 add sp, sp, #20 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1639: +.L1637: .align 2 -.L1638: +.L1636: .word .LANCHOR0 .word .LANCHOR2 .fnend .size FtlLowFormatEraseBlock, .-FtlLowFormatEraseBlock .align 2 - .type FlashTestBlk.part.20, %function -FlashTestBlk.part.20: + .type FlashTestBlk.part.19, %function +FlashTestBlk.part.19: .fnstart @ args = 0, pretend = 0, frame = 104 @ frame_needed = 0, uses_anonymous_args = 0 -.L1641: +.L1639: stmfd sp!, {r4, r5, lr} .save {r4, r5, lr} .pad #108 sub sp, sp, #108 - ldr r4, .L1643 + ldr r4, .L1641 mov r5, r0 mov r1, #165 add r0, sp, #40 @@ -14226,12 +14226,12 @@ FlashTestBlk.part.20: mov r0, r4 add sp, sp, #108 ldmfd sp!, {r4, r5, pc} -.L1644: +.L1642: .align 2 -.L1643: +.L1641: .word .LANCHOR2 .fnend - .size FlashTestBlk.part.20, .-FlashTestBlk.part.20 + .size FlashTestBlk.part.19, .-FlashTestBlk.part.19 .align 2 .global FlashTestBlk .type FlashTestBlk, %function @@ -14240,17 +14240,17 @@ FlashTestBlk: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L1647 + ldr r3, .L1645 ldr r3, [r3, #132] cmp r0, r3 - bcc .L1646 - b FlashTestBlk.part.20 -.L1646: + bcc .L1644 + b FlashTestBlk.part.19 +.L1644: mov r0, #0 bx lr -.L1648: +.L1646: .align 2 -.L1647: +.L1645: .word .LANCHOR2 .fnend .size FlashTestBlk, .-FlashTestBlk @@ -14265,11 +14265,11 @@ FlashMakeFactorBbt: .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} .pad #76 sub sp, sp, #76 - ldr r4, .L1677 + ldr r4, .L1675 movw r1, #2214 - ldr r3, .L1677+4 + ldr r3, .L1675+4 mov r5, #0 - ldr r0, .L1677+8 + ldr r0, .L1675+8 ldr r2, [r4, #148] ldrh r9, [r3, r1] mov r1, #1 @@ -14296,16 +14296,16 @@ FlashMakeFactorBbt: mov r3, r9, lsr #4 str r3, [sp, #20] sub r3, r9, #1 - ldr r4, .L1677+4 + ldr r4, .L1675+4 uxth r3, r3 str r3, [sp, #24] - b .L1651 -.L1673: - ldr r3, .L1677 + b .L1649 +.L1671: + ldr r3, .L1675 add r3, r3, r5, asl #1 ldrh r6, [r3, #208] cmp r6, #0 - bne .L1652 + bne .L1650 movw r3, #2220 ldr r0, [r4, #3780] ldrh r2, [r4, r3] @@ -14317,14 +14317,14 @@ FlashMakeFactorBbt: bl ftl_memset add r3, r4, r5 ldrb fp, [r3, #3768] @ zero_extendqisi2 - b .L1653 -.L1661: + b .L1651 +.L1659: ldr r2, [sp, #12] mvn r3, #0 strb r3, [sp, #34] tst r2, #1 strb r3, [sp, #35] - beq .L1654 + beq .L1652 ldr r3, [r8, #2740] add r2, sp, #34 mov r0, fp @@ -14335,7 +14335,7 @@ FlashMakeFactorBbt: ldrb r2, [r4, #0] @ zero_extendqisi2 ldr r3, [sp, #4] cmp r2, #1 - bne .L1654 + bne .L1652 ldr r1, [r4, #4] add r2, sp, #35 mov r0, fp @@ -14345,10 +14345,10 @@ FlashMakeFactorBbt: ldrb r2, [sp, #35] @ zero_extendqisi2 and r3, r2, r3 strb r3, [sp, #34] -.L1654: +.L1652: ldr r3, [sp, #12] tst r3, #2 - beq .L1655 + beq .L1653 ldr r3, [r4, #2776] mov r0, fp add r2, sp, #35 @@ -14358,42 +14358,42 @@ FlashMakeFactorBbt: add r1, r1, r3 add r1, r1, r6 bl FlashReadSpare -.L1655: +.L1653: ldr r3, [r4, #2776] ldrb r3, [r3, #7] @ zero_extendqisi2 cmp r3, #1 cmpne r3, #8 ldrb r3, [sp, #34] @ zero_extendqisi2 - bne .L1656 + bne .L1654 cmp r3, #0 - beq .L1675 + beq .L1673 ldrb r0, [sp, #35] @ zero_extendqisi2 rsbs r0, r0, #1 movcc r0, #0 - b .L1657 -.L1656: + b .L1655 +.L1654: cmp r3, #255 - bne .L1675 + bne .L1673 ldrb r0, [sp, #35] @ zero_extendqisi2 subs r0, r0, #255 movne r0, #1 - b .L1657 -.L1675: + b .L1655 +.L1673: mov r0, #1 -.L1657: +.L1655: ldr r2, [sp, #12] tst r2, #4 - beq .L1658 + beq .L1656 ldr r1, [r8, #2740] mov r0, fp add r1, r6, r1 bl SandiskProgTestBadBlock -.L1658: +.L1656: cmp r0, #0 - beq .L1659 + beq .L1657 mov r1, r5 mov r2, r7 - ldr r0, .L1677+12 + ldr r0, .L1675+12 add sl, sl, #1 bl printk ldr r3, [sp, #16] @@ -14409,48 +14409,48 @@ FlashMakeFactorBbt: ldrb r3, [r4, #3766] @ zero_extendqisi2 mul r3, r3, r2 cmp sl, r3 - bgt .L1660 -.L1659: + bgt .L1658 +.L1657: ldr r3, [sp, #8] add r7, r7, #1 add r6, r6, r3 -.L1653: +.L1651: uxth r3, r7 str r3, [sp, #16] cmp r3, r9 - bcc .L1661 -.L1660: + bcc .L1659 +.L1658: mov r2, sl - ldr r0, .L1677+16 + ldr r0, .L1675+16 mov r1, r5 bl printk ldrb r3, [r4, #3766] @ zero_extendqisi2 ldr r2, [sp, #20] mul r3, r3, r2 cmp sl, r3 - blt .L1662 + blt .L1660 movw r3, #2220 ldr r0, [r4, #3780] ldrh r2, [r4, r3] mov r1, #0 mov r2, r2, asl #9 bl ftl_memset -.L1662: +.L1660: cmp r5, #0 - bne .L1663 - ldr r3, .L1677 + bne .L1661 + ldr r3, .L1675 mov r8, r5 mov r7, r5 mov sl, #1 ldrh fp, [r3, #132] - b .L1664 -.L1666: + b .L1662 +.L1664: mov r0, r6 bl FlashTestBlk cmp r0, #0 - beq .L1665 + beq .L1663 mov r1, r6 - ldr r0, .L1677+20 + ldr r0, .L1675+20 bl printk ldr r3, [r4, #3780] mov r2, r6, lsr #5 @@ -14460,26 +14460,26 @@ FlashMakeFactorBbt: uxth r7, r7 orr r6, r1, sl, asl r6 str r6, [r3, r2, asl #2] -.L1665: +.L1663: add r8, r8, #1 uxth r8, r8 -.L1664: +.L1662: add r6, r8, fp ldrb r3, [r4, #1] @ zero_extendqisi2 uxth r6, r6 cmp r3, r6 - bhi .L1666 + bhi .L1664 ldr r6, [sp, #24] sub sl, r9, #50 mov r8, #1 - b .L1667 -.L1669: + b .L1665 +.L1667: mov r0, r6 bl FlashTestBlk cmp r0, #0 - beq .L1668 + beq .L1666 mov r1, r6 - ldr r0, .L1677+20 + ldr r0, .L1675+20 bl printk ldr r3, [r4, #3780] mov r2, r6, lsr #5 @@ -14487,48 +14487,48 @@ FlashMakeFactorBbt: ldr r1, [r3, r2, asl #2] orr r1, r1, r8, asl r0 str r1, [r3, r2, asl #2] -.L1668: +.L1666: sub r6, r6, #1 uxth r6, r6 -.L1667: +.L1665: cmp r6, sl - bgt .L1669 - ldr r3, .L1677 + bgt .L1667 + ldr r3, .L1675 ldrb r2, [r4, #1] @ zero_extendqisi2 ldr r3, [r3, #132] rsb r3, r3, r2 cmp r7, r3 - bcc .L1663 + bcc .L1661 movw r3, #2220 ldr r0, [r4, #3780] ldrh r2, [r4, r3] mov r1, #0 mov r2, r2, asl #9 bl ftl_memset -.L1663: +.L1661: mul r8, r9, r5 - ldr r7, .L1677 + ldr r7, .L1675 ldr r6, [sp, #24] ldr fp, [sp, #28] add sl, r7, r5, asl #1 -.L1670: - ldr r0, .L1677+24 +.L1668: + ldr r0, .L1675+24 mov r1, r5 mov r2, r6 bl printk ldr r3, [r4, #3780] - b .L1671 -.L1672: + b .L1669 +.L1670: sub r6, r6, #1 uxth r6, r6 -.L1671: +.L1669: 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 .L1672 - ldr r3, .L1677+28 + bne .L1670 + ldr r3, .L1675+28 mov r1, #1 strh r6, [sl, #208] @ movhi add r0, sp, #36 @@ -14553,26 +14553,26 @@ FlashMakeFactorBbt: cmp r3, #0 subne r6, r6, #1 uxthne r6, r6 - bne .L1670 -.L1652: + bne .L1668 +.L1650: add r5, r5, #1 uxtb r5, r5 -.L1651: +.L1649: ldrb r3, [r4, #3766] @ zero_extendqisi2 cmp r3, r5 - bhi .L1673 + bhi .L1671 add sp, sp, #76 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1678: +.L1676: .align 2 -.L1677: +.L1675: .word .LANCHOR2 .word .LANCHOR0 + .word .LC107 .word .LC108 .word .LC109 .word .LC110 .word .LC111 - .word .LC112 .word -3872 .fnend .size FlashMakeFactorBbt, .-FlashMakeFactorBbt @@ -14593,17 +14593,17 @@ ftl_map_blk_gc: ldrh r2, [r4, #8] sub r3, r3, #1 cmp r2, r3 - blt .L1680 + blt .L1678 uxth r0, r0 mov r0, r0, asl #1 ldrh r7, [r5, r0] cmp r7, #0 - beq .L1680 + beq .L1678 ldr r3, [r4, #32] cmp r3, #0 - bne .L1680 + bne .L1678 mov r2, #1 - ldr r1, .L1687 + ldr r1, .L1685 str r2, [r4, #32] strh r3, [r5, r0] @ movhi ldrh r3, [r4, #8] @@ -14613,22 +14613,22 @@ ftl_map_blk_gc: movw r3, #3914 ldrh r3, [r1, r3] cmp r2, r3 - bcc .L1681 + bcc .L1679 mov r0, r4 bl ftl_map_blk_alloc_new_blk -.L1681: +.L1679: mov r5, #0 - ldr r6, .L1687+4 + ldr r6, .L1685+4 mov r9, r5 - b .L1682 -.L1685: + b .L1680 +.L1683: ldr r3, [r8, r5, asl #2] mov sl, r5, asl #2 cmp r7, r3, lsr #10 - bne .L1683 + bne .L1681 ldr r3, [r6, #-972] mov r1, #1 - ldr r0, .L1687+8 + ldr r0, .L1685+8 mov r2, r1 str r3, [r6, #176] ldr r3, [r6, #-952] @@ -14639,38 +14639,38 @@ ftl_map_blk_gc: ldr r3, [r6, #168] cmn r3, #1 streq r9, [r8, sl] - beq .L1683 + beq .L1681 mov r0, r4 mov r1, r5 ldr r2, [r6, #176] bl FtlMapWritePage -.L1683: +.L1681: add r5, r5, #1 uxth r5, r5 -.L1682: +.L1680: ldrh r3, [r4, #6] cmp r3, r5 - bhi .L1685 + bhi .L1683 mov r0, r7 mov r1, #1 bl FtlFreeSysBlkQueueIn mov r3, #0 str r3, [r4, #32] -.L1680: - ldr r1, .L1687 +.L1678: + ldr r1, .L1685 movw r3, #3914 ldrh r2, [r4, #2] ldrh r3, [r1, r3] cmp r2, r3 - bcc .L1686 + bcc .L1684 mov r0, r4 bl ftl_map_blk_alloc_new_blk -.L1686: +.L1684: mov r0, #0 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, pc} -.L1688: +.L1686: .align 2 -.L1687: +.L1685: .word .LANCHOR0 .word .LANCHOR2 .word .LANCHOR2+168 @@ -14691,7 +14691,7 @@ Ftl_write_map_blk_to_last_page: ldr r5, [r0, #12] cmp r3, r2 ldr r7, [r0, #24] - bne .L1690 + bne .L1688 ldrh r3, [r0, #8] add r3, r3, #1 strh r3, [r0, #8] @ movhi @@ -14703,13 +14703,13 @@ Ftl_write_map_blk_to_last_page: ldr r3, [r4, #28] add r3, r3, #1 str r3, [r4, #28] - b .L1691 -.L1690: + b .L1689 +.L1688: mov r3, r3, asl #1 ldr r2, [r0, #28] mov r1, #255 ldrh r6, [r5, r3] - ldr r5, .L1695 + ldr r5, .L1693 ldrh r3, [r0, #2] orr r3, r3, r6, asl #10 str r3, [r5, #172] @@ -14718,24 +14718,24 @@ Ftl_write_map_blk_to_last_page: ldr r3, [r5, #-952] str r3, [r5, #180] str r2, [r3, #4] - ldr r2, .L1695+4 + ldr r2, .L1693+4 strh r2, [r3, #8] @ movhi ldrh r2, [r0, #4] strh r6, [r3, #2] @ movhi strh r2, [r3, #0] @ movhi movw r3, #3914 - ldr r2, .L1695+8 + ldr r2, .L1693+8 ldr r0, [r5, #-2076] ldrh r2, [r2, r3] mov r2, r2, asl #3 bl ftl_memset mov r2, #0 mov r3, r2 - b .L1692 -.L1694: + b .L1690 +.L1692: ldr r1, [r7, r3, asl #2] cmp r6, r1, lsr #10 - bne .L1693 + bne .L1691 add r2, r2, #1 ldr r1, [r5, #-2076] uxth r2, r2 @@ -14744,16 +14744,16 @@ Ftl_write_map_blk_to_last_page: ldr r0, [r7, r3, asl #2] add r1, r1, r2, asl #3 str r0, [r1, #4] -.L1693: +.L1691: add r3, r3, #1 uxth r3, r3 -.L1692: +.L1690: ldrh r1, [r4, #6] cmp r1, r3 - bhi .L1694 + bhi .L1692 mov r1, #1 mov r3, #0 - ldr r0, .L1695+12 + ldr r0, .L1693+12 mov r2, r1 bl FlashProgPages ldrh r3, [r4, #2] @@ -14761,12 +14761,12 @@ Ftl_write_map_blk_to_last_page: add r3, r3, #1 strh r3, [r4, #2] @ movhi bl ftl_map_blk_gc -.L1691: +.L1689: mov r0, #0 ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L1696: +.L1694: .align 2 -.L1695: +.L1693: .word .LANCHOR2 .word -1291 .word .LANCHOR0 @@ -14783,12 +14783,12 @@ FtlMapWritePage: stmfd sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} mov r4, r0 - ldr r5, .L1704 + ldr r5, .L1702 mov r6, r1 - ldr r9, .L1704+4 + ldr r9, .L1702+4 mov r8, r2 movw fp, #3914 -.L1703: +.L1701: ldr r3, [r5, #-1864] add r3, r3, #1 str r3, [r5, #-1864] @@ -14796,21 +14796,21 @@ FtlMapWritePage: ldrh r2, [r4, #2] sub r3, r3, #1 cmp r2, r3 - bge .L1698 + bge .L1696 ldrh r2, [r4, #0] movw r3, #65535 cmp r2, r3 - bne .L1699 -.L1698: + bne .L1697 +.L1696: mov r0, r4 bl Ftl_write_map_blk_to_last_page -.L1699: +.L1697: ldrh r3, [r4, #0] mov r1, #0 ldr r2, [r4, #12] ldr r0, [r5, #-952] mov r3, r3, asl #1 - ldr r7, .L1704 + ldr r7, .L1702 ldrh sl, [r2, r3] mov r2, #16 ldrh r3, [r4, #2] @@ -14836,18 +14836,18 @@ FtlMapWritePage: uxth r3, r3 strh r3, [r4, #2] @ movhi cmp r3, #1 - beq .L1703 + beq .L1701 ldr r3, [r5, #168] cmn r3, #1 - beq .L1703 + beq .L1701 ldr r2, [r7, #172] mov r0, #0 ldr r3, [r4, #24] str r2, [r3, r6, asl #2] ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1705: +.L1703: .align 2 -.L1704: +.L1702: .word .LANCHOR2 .word .LANCHOR0 .fnend @@ -14862,7 +14862,7 @@ flush_l2p_region: stmfd sp!, {r3, r4, r5, lr} .save {r3, r4, r5, lr} mov r4, #12 - ldr r5, .L1707 + ldr r5, .L1705 mul r4, r4, r0 sub r0, r5, #1088 ldr r2, [r5, #-1900] @@ -14877,9 +14877,9 @@ flush_l2p_region: bic r3, r3, #-2147483648 str r3, [r4, #4] ldmfd sp!, {r3, r4, r5, pc} -.L1708: +.L1706: .align 2 -.L1707: +.L1705: .word .LANCHOR2 .fnend .size flush_l2p_region, .-flush_l2p_region @@ -14893,7 +14893,7 @@ 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, .L1718 + ldr r3, .L1716 mov r2, #3920 mov r4, r1 ldrh r7, [r3, r2] @@ -14904,30 +14904,30 @@ log2phys: movw r2, #3950 ldrh r2, [r3, r2] uxth r6, r6 - ldr r3, .L1718+4 + ldr r3, .L1716+4 uxth r7, r7 ldr sl, [r3, #-1900] mov r3, #0 mov r5, r3 - b .L1710 -.L1716: + b .L1708 +.L1714: add r3, r3, #12 add r1, sl, r3 ldrh r1, [r1, #-12] cmp r1, r6 - bne .L1711 -.L1712: + bne .L1709 +.L1710: cmp r8, #0 - ldr r3, .L1718+4 + ldr r3, .L1716+4 mov r2, #12 - bne .L1713 + bne .L1711 ldr r3, [r3, #-1900] mla r2, r2, r5, r3 ldr r3, [r2, #8] ldr r3, [r3, r7, asl #2] str r3, [r4, #0] - b .L1714 -.L1713: + b .L1712 +.L1711: mul r2, r2, r5 ldr r1, [r3, #-1900] ldr r0, [r4, #0] @@ -14939,10 +14939,10 @@ log2phys: ldr r1, [r2, #4] orr r1, r1, #-2147483648 str r1, [r2, #4] - ldr r2, .L1718+8 + ldr r2, .L1716+8 strh r6, [r3, r2] @ movhi -.L1714: - ldr r3, .L1718+4 +.L1712: + ldr r3, .L1716+4 mov r2, #12 mov r0, #0 ldr r3, [r3, #-1900] @@ -14952,12 +14952,12 @@ log2phys: addne r3, r3, #1 strne r3, [r5, #4] ldmfd sp!, {r3, r4, r5, r6, r7, r8, sl, pc} -.L1711: +.L1709: add r5, r5, #1 uxth r5, r5 -.L1710: +.L1708: cmp r5, r2 - bne .L1716 + bne .L1714 bl select_l2p_ram_region mov r3, #12 mul r3, r3, r0 @@ -14966,19 +14966,19 @@ log2phys: ldrh r1, [sl, r3] movw r3, #65535 cmp r1, r3 - beq .L1717 + beq .L1715 ldr r3, [r2, #4] cmp r3, #0 - bge .L1717 + bge .L1715 bl flush_l2p_region -.L1717: +.L1715: mov r0, r6 mov r1, r5 bl load_l2p_region - b .L1712 -.L1719: + b .L1710 +.L1717: .align 2 -.L1718: +.L1716: .word .LANCHOR0 .word .LANCHOR2 .word -1896 @@ -14997,36 +14997,36 @@ FtlReUsePrevPpa: ubfx r0, r1, #10, #16 str r1, [sp, #4] bl P2V_block_in_plane - ldr r3, .L1726 + ldr r3, .L1724 ldr r1, [r3, #-2064] mov r5, r0, asl #1 ldrh r2, [r1, r5] cmp r2, #0 addne r2, r2, #1 strneh r2, [r1, r5] @ movhi - bne .L1722 + bne .L1720 ldr r4, [r3, #-2052] cmp r4, #0 - beq .L1722 - ldr r1, .L1726+4 + beq .L1720 + ldr r1, .L1724+4 mov ip, #6 ldrh lr, [r3, r1] ldr r3, [r3, #-2072] - ldr r1, .L1726+8 + ldr r1, .L1724+8 rsb r4, r3, r4 mov r4, r4, asr #1 mul r4, r1, r4 movw r1, #65535 uxth r4, r4 - b .L1723 -.L1725: + b .L1721 +.L1723: cmp r4, r0 - bne .L1724 + bne .L1722 mov r1, r4 - ldr r0, .L1726+12 + ldr r0, .L1724+12 bl List_remove_node - ldr r6, .L1726 - ldr r3, .L1726+4 + ldr r6, .L1724 + ldr r3, .L1724+4 mov r0, r4 ldrh r2, [r6, r3] sub r2, r2, #1 @@ -15036,26 +15036,26 @@ FtlReUsePrevPpa: ldrh r2, [r3, r5] add r2, r2, #1 strh r2, [r3, r5] @ movhi - b .L1722 -.L1724: + b .L1720 +.L1722: mul r4, ip, r4 ldrh r4, [r3, r4] cmp r4, r1 - beq .L1722 + beq .L1720 add r2, r2, #1 uxth r2, r2 -.L1723: +.L1721: cmp r2, lr - bne .L1725 -.L1722: + bne .L1723 +.L1720: mov r0, r7 add r1, sp, #4 mov r2, #1 bl log2phys ldmfd sp!, {r1, r2, r3, r4, r5, r6, r7, pc} -.L1727: +.L1725: .align 2 -.L1726: +.L1724: .word .LANCHOR2 .word -2048 .word -1431655765 @@ -15077,7 +15077,7 @@ FtlMapBlkWriteDumpData: cmp r2, #0 ldr r3, [r0, #24] ldmeqfd sp!, {r4, r5, r6, pc} - ldr r5, .L1732 + ldr r5, .L1730 sub r6, r6, #1 mov r2, #0 str r2, [r0, #36] @@ -15089,27 +15089,27 @@ FtlMapBlkWriteDumpData: ldr r3, [r3, r6, asl #2] cmp r3, #0 str r3, [r5, #172] - beq .L1730 + beq .L1728 mov r1, #1 add r0, r5, #168 mov r2, r1 bl FlashReadPages - b .L1731 -.L1730: - ldr r2, .L1732+4 + b .L1729 +.L1728: + ldr r2, .L1730+4 movw r3, #3922 mov r1, #255 ldrh r2, [r2, r3] bl ftl_memset -.L1731: +.L1729: mov r0, r4 mov r1, r6 ldr r2, [r5, #176] ldmfd sp!, {r4, r5, r6, lr} b FtlMapWritePage -.L1733: +.L1731: .align 2 -.L1732: +.L1730: .word .LANCHOR2 .word .LANCHOR0 .fnend @@ -15121,7 +15121,7 @@ FtlVendorPartWrite: .fnstart @ args = 0, pretend = 0, frame = 56 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L1744 + ldr r3, .L1742 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} mov r9, r2 @@ -15136,15 +15136,15 @@ FtlVendorPartWrite: mov r6, r0 cmp r1, r2 mvnhi r7, #0 - bhi .L1735 + bhi .L1733 mov r8, r0, lsr r8 mov r7, #0 - ldr sl, .L1744+4 + ldr sl, .L1742+4 mov ip, r8, asl #2 str ip, [sp, #8] - b .L1736 -.L1741: - ldr r1, .L1744 + b .L1734 +.L1739: + ldr r1, .L1742 movw r2, #3918 ldr ip, [sp, #8] mov r0, r6 @@ -15155,7 +15155,7 @@ FtlVendorPartWrite: str r3, [sp, #4] bl __aeabi_uidivmod ldr r3, [sp, #4] - ldr r2, .L1744+4 + ldr r2, .L1742+4 uxth r1, r1 str r1, [sp, #12] rsb r5, r1, fp @@ -15163,9 +15163,9 @@ FtlVendorPartWrite: cmp r5, r4 uxthhi r5, r4 cmp r3, #0 - beq .L1738 + beq .L1736 cmp r5, fp - beq .L1738 + beq .L1736 str r3, [sp, #24] mov r1, #1 ldr r3, [r2, #-968] @@ -15175,15 +15175,15 @@ FtlVendorPartWrite: mov r3, #0 str r3, [sp, #32] bl FlashReadPages - b .L1739 -.L1738: - ldr ip, .L1744 + b .L1737 +.L1736: + ldr ip, .L1742 movw r3, #3922 ldr r0, [r2, #-968] mov r1, #0 ldrh r2, [ip, r3] bl ftl_memset -.L1739: +.L1737: ldr r3, [sp, #12] mov fp, r5, asl #9 ldr r0, [sl, #-968] @@ -15194,7 +15194,7 @@ FtlVendorPartWrite: add r6, r6, r5 bl memcpy mov r1, r8 - ldr r0, .L1744+8 + ldr r0, .L1742+8 add r8, r8, #1 ldr r2, [sl, #-968] add r9, r9, fp @@ -15204,16 +15204,16 @@ FtlVendorPartWrite: str ip, [sp, #8] cmn r0, #1 moveq r7, r0 -.L1736: +.L1734: cmp r4, #0 - bne .L1741 -.L1735: + bne .L1739 +.L1733: mov r0, r7 add sp, sp, #60 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1745: +.L1743: .align 2 -.L1744: +.L1742: .word .LANCHOR0 .word .LANCHOR2 .word .LANCHOR2+224 @@ -15227,12 +15227,12 @@ Ftl_save_ext_data: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L1748 - ldr r2, .L1748+4 + ldr r3, .L1746 + ldr r2, .L1746+4 ldr r1, [r3, #-1704] cmp r1, r2 bxne lr - ldr r2, .L1748+8 + ldr r2, .L1746+8 mov r0, #0 mov r1, #1 str r2, [r3, #-1700] @@ -15264,11 +15264,11 @@ Ftl_save_ext_data: str r2, [r3, #-1644] ldr r2, [r3, #-1004] str r2, [r3, #-1640] - ldr r2, .L1748+12 + ldr r2, .L1746+12 b FtlVendorPartWrite -.L1749: +.L1747: .align 2 -.L1748: +.L1746: .word .LANCHOR2 .word 1179929683 .word 1342177334 @@ -15282,42 +15282,42 @@ FtlEctTblFlush: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r1, .L1757 + ldr r1, .L1755 stmfd sp!, {r3, lr} .save {r3, lr} ldr r3, [r1, #-1884] cmp r3, #0 moveq r2, #32 - beq .L1751 + beq .L1749 ldr r2, [r1, #-1824] cmp r2, #29 movls r2, #4 movhi r2, #32 -.L1751: +.L1749: mov r3, #264 ldrh r1, [r1, r3] cmp r1, #31 addls r1, r1, #1 - ldrls r2, .L1757 + ldrls r2, .L1755 strlsh r1, [r2, r3] @ movhi movls r2, #1 cmp r0, #0 - ldr r3, .L1757 - bne .L1753 + ldr r3, .L1755 + bne .L1751 ldr r1, [r3, #-936] ldr r0, [r1, #20] ldr r1, [r1, #16] add r2, r2, r0 cmp r1, r2 - bcc .L1754 -.L1753: + bcc .L1752 +.L1751: ldr r2, [r3, #-936] mov r0, #64 ldr r1, [r2, #16] str r1, [r2, #20] - ldr r1, .L1757+4 + ldr r1, .L1755+4 str r1, [r2, #0] - ldr r1, .L1757+8 + ldr r1, .L1755+8 ldr r2, [r3, #-936] ldrh r1, [r3, r1] mov r3, r1, asl #9 @@ -15329,20 +15329,20 @@ FtlEctTblFlush: str r3, [r2, #4] bl FtlVendorPartWrite bl Ftl_save_ext_data -.L1754: +.L1752: mov r0, #0 ldmfd sp!, {r3, pc} -.L1758: +.L1756: .align 2 -.L1757: +.L1755: .word .LANCHOR2 .word 1112818501 .word -940 .fnend .size FtlEctTblFlush, .-FtlEctTblFlush .align 2 - .type FtlReadRefresh.part.15, %function -FtlReadRefresh.part.15: + .type FtlReadRefresh.part.14, %function +FtlReadRefresh.part.14: .fnstart @ args = 0, pretend = 0, frame = 40 @ frame_needed = 0, uses_anonymous_args = 0 @@ -15350,14 +15350,14 @@ FtlReadRefresh.part.15: .save {r4, r5, r6, lr} .pad #40 sub sp, sp, #40 - ldr r4, .L1764 + ldr r4, .L1762 mov r5, #2048 - ldr r6, .L1764+4 -.L1762: + ldr r6, .L1762+4 +.L1760: ldr r0, [r4, #-1620] ldr r3, [r6, #3972] cmp r0, r3 - bcs .L1760 + bcs .L1758 mov r2, #0 mov r1, sp bl log2phys @@ -15366,7 +15366,7 @@ FtlReadRefresh.part.15: cmn r2, #1 add r3, r3, #1 str r3, [r4, #-1620] - beq .L1761 + beq .L1759 add r0, sp, #40 str r2, [sp, #8] mov r1, #1 @@ -15378,26 +15378,26 @@ FtlReadRefresh.part.15: bl FlashReadPages ldr r3, [sp, #4] cmp r3, #256 - bne .L1760 + bne .L1758 ldr r0, [sp, #0] ubfx r0, r0, #10, #16 bl P2V_block_in_plane bl FtlGcRefreshBlock - b .L1760 -.L1761: + b .L1758 +.L1759: subs r5, r5, #1 - bne .L1762 -.L1760: + bne .L1760 +.L1758: mvn r0, #0 add sp, sp, #40 ldmfd sp!, {r4, r5, r6, pc} -.L1765: +.L1763: .align 2 -.L1764: +.L1762: .word .LANCHOR2 .word .LANCHOR0 .fnend - .size FtlReadRefresh.part.15, .-FtlReadRefresh.part.15 + .size FtlReadRefresh.part.14, .-FtlReadRefresh.part.14 .align 2 .global FtlReadRefresh .type FtlReadRefresh, %function @@ -15406,24 +15406,24 @@ FtlReadRefresh: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. - ldr r3, .L1775 - ldr r0, .L1775+4 + ldr r3, .L1773 + ldr r0, .L1773+4 ldr r2, [r3, #-1624] cmp r2, #0 mov r2, r3 - beq .L1767 + beq .L1765 ldr r1, [r3, #-1620] ldr r2, [r0, #3972] cmp r1, r2 - bcs .L1768 - b FtlReadRefresh.part.15 -.L1768: + bcs .L1766 + b FtlReadRefresh.part.14 +.L1766: mov r2, #0 str r2, [r3, #-1624] str r2, [r3, #-1620] ldr r2, [r3, #-1880] - b .L1774 -.L1767: + b .L1772 +.L1765: ldrb r0, [r0, #80] @ zero_extendqisi2 ldr r1, [r3, #-1828] cmp r0, #0 @@ -15436,24 +15436,24 @@ FtlReadRefresh: movne r1, #1048576 add r0, r2, #1048576 cmp r3, r0 - bhi .L1771 + bhi .L1769 add r3, r1, r3 cmp r3, r2 - bcs .L1769 -.L1771: - ldr r3, .L1775 + bcs .L1767 +.L1769: + ldr r3, .L1773 mov r1, #1 str r1, [r3, #-1624] mov r1, #0 str r1, [r3, #-1620] -.L1774: +.L1772: str r2, [r3, #-1628] -.L1769: +.L1767: mov r0, #0 bx lr -.L1776: +.L1774: .align 2 -.L1775: +.L1773: .word .LANCHOR2 .word .LANCHOR0 .fnend @@ -15475,7 +15475,7 @@ FtlMapTblRecovery: mov r1, #0 ldr r8, [r0, #24] mov r9, #0 - ldr r5, .L1797 + ldr r5, .L1795 str r3, [sp, #16] mov r2, sl, asl #2 ldrh r3, [r0, #8] @@ -15497,12 +15497,12 @@ FtlMapTblRecovery: str r9, [r4, #28] sub r3, r3, #1 str r3, [sp, #12] - b .L1778 -.L1792: + b .L1776 +.L1790: ldr r0, [sp, #12] cmp r3, r0 mov r3, r3, asl #1 - bne .L1779 + bne .L1777 ldrh r0, [r7, r3] mov r1, #1 add fp, r7, r3 @@ -15511,7 +15511,7 @@ FtlMapTblRecovery: mov r7, #0 ldr r2, [sp, #16] strh r9, [r4, #0] @ movhi - ldr r5, .L1797 + ldr r5, .L1795 uxth r0, r0 add r3, r0, #1 strh r3, [r4, #2] @ movhi @@ -15520,44 +15520,44 @@ FtlMapTblRecovery: str r7, [r5, #176] add r9, r9, #1 str r3, [r4, #28] - b .L1780 -.L1782: + b .L1778 +.L1780: ldrh r2, [fp, #0] mov r1, #1 - ldr r0, .L1797+4 + ldr r0, .L1795+4 orr r3, r3, r2, asl #10 mov r2, r1 str r3, [r5, #172] bl FlashReadPages ldr r3, [r5, #168] cmn r3, #1 - beq .L1781 + beq .L1779 ldrh r3, [r6, #8] cmp r3, sl - bcs .L1781 + bcs .L1779 ldrh r2, [r4, #4] ldrh r1, [r6, #0] cmp r1, r2 ldreq r2, [r5, #172] streq r2, [r8, r3, asl #2] -.L1781: +.L1779: add r7, r7, #1 uxth r7, r7 -.L1780: +.L1778: sxth r3, r7 cmp r3, r9 - blt .L1782 - b .L1783 -.L1779: + blt .L1780 + b .L1781 +.L1777: ldr r2, [r5, #-2076] add r0, r7, r3 - ldr fp, .L1797+8 + ldr fp, .L1795+8 str r0, [sp, #20] str r2, [r5, #176] ldrh r1, [r7, r3] movw r3, #3914 ldrh r2, [fp, r3] - ldr r0, .L1797+4 + ldr r0, .L1795+4 sub r2, r2, #1 str r3, [sp, #0] orr r2, r2, r1, asl #10 @@ -15568,17 +15568,17 @@ FtlMapTblRecovery: ldr r2, [r5, #168] ldr r3, [sp, #0] cmn r2, #1 - beq .L1784 + beq .L1782 ldrh r1, [r6, #0] ldrh r2, [r4, #4] cmp r1, r2 - bne .L1784 + bne .L1782 ldrh r1, [r6, #8] movw r2, #64245 cmp r1, r2 - bne .L1784 - b .L1796 -.L1787: + bne .L1782 + b .L1794 +.L1785: ldr r0, [r5, #-2076] mov ip, r1, asl #3 add r2, r2, #1 @@ -15589,24 +15589,24 @@ FtlMapTblRecovery: addcc r0, r0, ip ldrcc r0, [r0, #4] strcc r0, [r8, r1, asl #2] - b .L1785 -.L1796: + b .L1783 +.L1794: mov r2, #0 -.L1785: +.L1783: ldrh r0, [fp, r3] sxth r1, r2 sub r0, r0, #1 cmp r1, r0 - blt .L1787 - b .L1788 -.L1784: - ldr r1, .L1797 + blt .L1785 + b .L1786 +.L1782: + ldr r1, .L1795 mov fp, #0 - ldr r3, .L1797+8 + ldr r3, .L1795+8 add ip, r1, #168 str fp, [r1, #176] - b .L1789 -.L1791: + b .L1787 +.L1789: ldr r0, [sp, #20] ldrh r1, [r0, #0] mov r0, ip @@ -15619,57 +15619,57 @@ FtlMapTblRecovery: ldr r2, [r5, #168] ldmia sp, {r3, ip} cmn r2, #1 - beq .L1790 + beq .L1788 ldrh r2, [r6, #8] cmp r2, sl - bcs .L1790 + bcs .L1788 ldrh r1, [r4, #4] ldrh r0, [r6, #0] cmp r0, r1 ldreq r1, [r5, #172] streq r1, [r8, r2, asl #2] -.L1790: +.L1788: add fp, fp, #1 uxth fp, fp -.L1789: +.L1787: movw r1, #3914 sxth r2, fp ldrh r1, [r3, r1] cmp r2, r1 - blt .L1791 -.L1788: + blt .L1789 +.L1786: add r9, r9, #1 uxth r9, r9 -.L1778: +.L1776: ldr r1, [sp, #8] sxth r3, r9 cmp r3, r1 - blt .L1792 -.L1783: + blt .L1790 +.L1781: mov r0, r4 bl ftl_free_no_use_map_blk - ldr r1, .L1797+8 + ldr r1, .L1795+8 movw r3, #3914 ldrh r2, [r4, #2] ldrh r3, [r1, r3] cmp r2, r3 - bne .L1793 + bne .L1791 mov r0, r4 bl ftl_map_blk_alloc_new_blk -.L1793: +.L1791: ldrh r2, [r4, #8] ldrh r3, [r4, #10] cmp r2, r3 - bcc .L1794 + bcc .L1792 mov r0, r4 bl ftl_map_blk_gc -.L1794: +.L1792: mov r0, #0 add sp, sp, #28 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1798: +.L1796: .align 2 -.L1797: +.L1795: .word .LANCHOR2 .word .LANCHOR2+168 .word .LANCHOR0 @@ -15685,13 +15685,13 @@ FtlLoadMapInfo: stmfd sp!, {r3, lr} .save {r3, lr} bl FtlL2PDataInit - ldr r0, .L1800 + ldr r0, .L1798 bl FtlMapTblRecovery mov r0, #0 ldmfd sp!, {r3, pc} -.L1801: +.L1799: .align 2 -.L1800: +.L1798: .word .LANCHOR2-1088 .fnend .size FtlLoadMapInfo, .-FtlLoadMapInfo @@ -15705,11 +15705,11 @@ FtlLoadVonderInfo: stmfd sp!, {r3, lr} .save {r3, lr} movw r2, #3932 - ldr r3, .L1803 - ldr r0, .L1803+4 + ldr r3, .L1801 + ldr r0, .L1801+4 ldrh r2, [r3, r2] strh r2, [r0, #234] @ movhi - ldr r2, .L1803+8 + ldr r2, .L1801+8 strh r2, [r0, #228] @ movhi movw r2, #3956 ldrh r2, [r3, r2] @@ -15729,9 +15729,9 @@ FtlLoadVonderInfo: bl FtlMapTblRecovery mov r0, #0 ldmfd sp!, {r3, pc} -.L1804: +.L1802: .align 2 -.L1803: +.L1801: .word .LANCHOR0 .word .LANCHOR2 .word -3962 @@ -15750,7 +15750,7 @@ FtlRecoverySuperblock: sub sp, sp, #68 ldrh r3, [r0, #2] mov r4, r0 - ldr r2, .L1890 + ldr r2, .L1888 ldrb fp, [r0, #6] @ zero_extendqisi2 str r3, [sp, #20] movw r3, #3912 @@ -15763,65 +15763,65 @@ FtlRecoverySuperblock: moveq r2, r3 @ movhi ldrneh r0, [r0, #16] movwne r2, #65535 - bne .L1808 - b .L1887 -.L1809: + bne .L1806 + b .L1885 +.L1807: add r3, r3, #1 uxth r3, r3 add r1, r4, r3, asl #1 ldrh r0, [r1, #16] -.L1808: +.L1806: cmp r0, r2 - beq .L1809 + beq .L1807 ldrb r1, [r4, #8] @ zero_extendqisi2 cmp r1, #1 - bne .L1810 + bne .L1808 bl FtlGetLastWrittenPage cmn r0, #1 mov r7, r0 - beq .L1811 - ldr r3, .L1890 + beq .L1809 + ldr r3, .L1888 ldrb r2, [r3, #80] @ zero_extendqisi2 cmp r2, #0 - bne .L1880 + bne .L1878 add r3, r3, r0, asl #1 movw r2, #2228 ldrh r5, [r3, r2] - b .L1874 -.L1810: + b .L1872 +.L1808: mov r1, #0 bl FtlGetLastWrittenPage cmn r0, #1 mov r7, r0 - beq .L1811 -.L1880: + beq .L1809 +.L1878: mov r5, r7 -.L1874: - ldr r3, .L1890 +.L1872: + ldr r3, .L1888 movw r2, #3844 mov r6, #0 str r4, [sp, #40] movw ip, #65535 ldrh r9, [r3, r2] - ldr r2, .L1890+4 + ldr r2, .L1888+4 ldr sl, [r2, #-984] ldr r8, [r2, #-1164] movw r2, #3924 ldrh lr, [r3, r2] mov r2, r4 mov r3, r6 - b .L1813 -.L1811: + b .L1811 +.L1809: mov r3, #0 strh r3, [r4, #2] @ movhi mov r2, r3 @ movhi -.L1887: +.L1885: strb r2, [r4, #6] - b .L1807 -.L1815: + b .L1805 +.L1813: ldrh r0, [r2, #16] cmp r0, ip - beq .L1814 + beq .L1812 mov fp, #36 orr r0, r5, r0, asl #10 mla r1, fp, r6, sl @@ -15837,23 +15837,23 @@ FtlRecoverySuperblock: bic r0, r0, #3 add r0, r8, r0 str r0, [r1, #12] -.L1814: +.L1812: add r3, r3, #1 add r2, r2, #2 uxth r3, r3 -.L1813: +.L1811: cmp r3, r9 - bne .L1815 + bne .L1813 ldrb r3, [r4, #8] @ zero_extendqisi2 cmp r3, #1 movne r3, #0 - bne .L1881 - ldr r3, .L1890 + bne .L1879 + ldr r3, .L1888 ldrb r3, [r3, #80] @ zero_extendqisi2 adds r3, r3, #0 movne r3, #1 -.L1881: - ldr r8, .L1890+4 +.L1879: + ldr r8, .L1888+4 mov r1, r6 str r3, [sp, #28] mov sl, #0 @@ -15869,16 +15869,16 @@ FtlRecoverySuperblock: mov r8, r2 str ip, [sp, #12] mov fp, r7 - b .L1817 -.L1822: + b .L1815 +.L1820: ldr r2, [r9, #0] cmp r2, #0 strne r8, [sp, #12] - bne .L1820 + bne .L1818 ldr r2, [r9, #12] ldr r7, [r2, #4] cmn r7, #1 - beq .L1819 + beq .L1817 ldr r1, [r3, #-1844] mov r0, r7 str r2, [sp, #8] @@ -15889,43 +15889,43 @@ FtlRecoverySuperblock: cmp r0, #0 addne r7, r7, #1 strne r7, [r3, #-1844] -.L1819: +.L1817: ldr r2, [r2, #0] cmn r2, #1 - bne .L1820 - ldr r3, .L1890+4 + bne .L1818 + ldr r3, .L1888+4 mov r2, #36 uxth r7, fp ldr r3, [r3, #-984] mla sl, r2, sl, r3 ldr r0, [sl, #4] - b .L1882 -.L1820: + b .L1880 +.L1818: add sl, sl, #1 add r9, r9, #36 uxth sl, sl -.L1817: +.L1815: cmp sl, r6 - bne .L1822 - ldr r3, .L1890+4 + bne .L1820 + ldr r3, .L1888+4 add r7, fp, #1 uxth r7, r7 ldr r3, [r3, #-984] ldr r0, [r3, #4] -.L1882: +.L1880: ubfx r0, r0, #10, #16 bl P2V_plane ldrb r2, [r4, #8] @ zero_extendqisi2 - ldr r3, .L1890 + ldr r3, .L1888 cmp r2, #1 str r0, [sp, #24] - bne .L1823 + bne .L1821 ldrb r1, [r3, #80] @ zero_extendqisi2 cmp r1, #0 addeq r7, r3, r7, asl #1 movweq r1, #2228 ldreqh r7, [r7, r1] -.L1823: +.L1821: movw r1, #3912 ldr fp, [sp, #24] ldrh r3, [r3, r1] @@ -15938,25 +15938,25 @@ FtlRecoverySuperblock: ldr r3, [sp, #20] cmp r7, r3 cmpeq fp, ip - beq .L1888 -.L1825: + beq .L1886 +.L1823: ldr r3, [sp, #16] ldr fp, [sp, #12] sub r6, r3, #1 movw r3, #65535 cmp fp, r3 - bne .L1826 + bne .L1824 cmp r2, #0 - bne .L1827 -.L1826: - ldr r2, .L1890+4 + bne .L1825 +.L1824: + ldr r2, .L1888+4 uxth r3, r5 ldr ip, [sp, #20] mvn fp, #0 mov sl, r3 mov r9, fp ldr r1, [r2, #-1012] - ldr r8, .L1890+4 + ldr r8, .L1888+4 cmn r1, #1 streq r6, [r2, #-1012] ldr r2, [r2, #-1012] @@ -15968,12 +15968,12 @@ FtlRecoverySuperblock: ldrle r5, [sp, #20] mov r7, r6 uxthgt r5, r5 - b .L1830 -.L1832: + b .L1828 +.L1830: ldrh r0, [r1, #16] movw lr, #65535 cmp r0, lr - beq .L1831 + beq .L1829 ldr ip, [sp, #16] mov r3, #36 orr r0, r5, r0, asl #10 @@ -15981,21 +15981,21 @@ FtlRecoverySuperblock: add r6, r6, #1 uxth r6, r6 str r0, [lr, #4] -.L1831: +.L1829: add r2, r2, #1 add r1, r1, #2 uxth r2, r2 -.L1843: +.L1841: ldr lr, [sp, #44] cmp r2, lr - bne .L1832 + bne .L1830 ldr r3, [sp, #36] mov r1, r6 ldr r0, [r8, #-984] ldr r2, [sp, #28] str r3, [sp, #4] bl FlashReadPages - ldr r2, .L1890 + ldr r2, .L1888 add r0, r8, r5, asl #1 mov r1, #0 str r0, [sp, #16] @@ -16003,87 +16003,87 @@ FtlRecoverySuperblock: ldrb ip, [r2, #80] @ zero_extendqisi2 ldr r2, [r8, #-984] str ip, [sp, #36] - b .L1833 -.L1841: + b .L1831 +.L1839: ldr r0, [r2, #0] cmp r0, #0 - bne .L1834 + bne .L1832 ldr r0, [r2, #12] movw ip, #65535 ldrh lr, [r0, #0] cmp lr, ip - beq .L1835 + beq .L1833 ldr r0, [r0, #4] cmn r0, #1 - beq .L1835 + beq .L1833 cmn fp, #1 ldr r9, [r8, #-1012] str r0, [r8, #-1012] - bne .L1835 + bne .L1833 ldr lr, [sp, #16] sub r0, lr, #912 ldrh r0, [r0, #0] cmp r0, ip - bne .L1836 + bne .L1834 ldr r0, [sp, #36] cmp r0, #0 - beq .L1835 -.L1836: + beq .L1833 +.L1834: cmp r9, r7 mvneq fp, #0 movne fp, r9 - b .L1835 -.L1834: + b .L1833 +.L1832: mov r6, r7 mov r7, r3 ldrb r3, [r4, #8] @ zero_extendqisi2 cmp r3, #0 - bne .L1827 - ldr r3, .L1890+4 + bne .L1825 + ldr r3, .L1888+4 movw r2, #65535 add r5, r3, r5, asl #1 sub r5, r5, #912 ldrh r1, [r5, #0] cmp r1, r2 - bne .L1837 + bne .L1835 cmn fp, #1 - bne .L1883 -.L1838: + bne .L1881 +.L1836: ldr fp, [sp, #12] cmp fp, r6 - beq .L1839 -.L1883: + beq .L1837 +.L1881: str fp, [r3, #-1012] - b .L1827 -.L1839: - ldr r2, [r3, #-1012] - b .L1889 + b .L1825 .L1837: + ldr r2, [r3, #-1012] + b .L1887 +.L1835: cmp r9, r6 - beq .L1840 + beq .L1838 cmn r9, #1 strne r9, [r3, #-1012] - b .L1827 -.L1840: + b .L1825 +.L1838: ldr r2, [r3, #-1012] cmp r2, r6 - beq .L1827 -.L1889: + beq .L1825 +.L1887: sub r2, r2, #1 - b .L1884 -.L1835: + b .L1882 +.L1833: add r1, r1, #1 add r2, r2, #36 uxth r1, r1 -.L1833: +.L1831: cmp r1, r6 - bne .L1841 + bne .L1839 add r5, r5, #1 uxth r5, r5 -.L1830: +.L1828: cmp r5, sl - bhi .L1842 - ldr r1, .L1890 + bhi .L1840 + ldr r1, .L1888 movw r2, #3844 ldr lr, [r8, #-984] mov r6, #0 @@ -16093,16 +16093,16 @@ FtlRecoverySuperblock: str lr, [sp, #16] mov r2, r6 str ip, [sp, #44] - b .L1843 -.L1842: + b .L1841 +.L1840: mov r6, r7 mov r7, r3 - ldr r3, .L1890+4 + ldr r3, .L1888+4 mvn r2, #0 -.L1884: +.L1882: str r2, [r3, #-1012] -.L1827: - ldr r5, .L1890+4 +.L1825: + ldr r5, .L1888+4 movw r3, #266 mov r2, #1 sub r0, r5, #1088 @@ -16110,8 +16110,8 @@ FtlRecoverySuperblock: bl FtlMapBlkWriteDumpData ldr r9, [sp, #20] str r7, [sp, #36] -.L1844: - ldr r3, .L1890 +.L1842: + ldr r3, .L1888 movw r2, #3844 mov r7, #0 ldr lr, [r5, #-984] @@ -16120,31 +16120,31 @@ FtlRecoverySuperblock: mov r2, r4 ldrb ip, [r3, #80] @ zero_extendqisi2 mov r3, r7 - b .L1845 -.L1848: + b .L1843 +.L1846: ldrh r0, [r2, #16] movw r1, #65535 cmp r0, r1 - beq .L1846 + beq .L1844 mla r1, fp, r7, lr orr r0, r9, r0, asl #10 str r0, [r1, #4] ldrb sl, [r4, #8] @ zero_extendqisi2 cmp sl, #1 - bne .L1847 + bne .L1845 cmp ip, #0 orrne r0, r0, #-2147483648 strne r0, [r1, #4] -.L1847: +.L1845: add r7, r7, #1 uxth r7, r7 -.L1846: +.L1844: add r3, r3, #1 add r2, r2, #2 uxth r3, r3 -.L1845: +.L1843: cmp r3, r8 - bne .L1848 + bne .L1846 mov r1, r7 ldr r0, [r5, #-984] ldr r2, [sp, #28] @@ -16153,8 +16153,8 @@ FtlRecoverySuperblock: mul r3, r3, r7 mov r7, #0 str r3, [sp, #44] - b .L1849 -.L1870: + b .L1847 +.L1868: ldr sl, [r5, #-984] add sl, sl, r7 ldr r8, [sl, #4] @@ -16163,7 +16163,7 @@ FtlRecoverySuperblock: bl P2V_plane ldr r3, [sp, #20] cmp r9, r3 - bcc .L1850 + bcc .L1848 ldr fp, [sp, #32] mov ip, r3 cmp r0, fp @@ -16172,31 +16172,31 @@ FtlRecoverySuperblock: cmp r9, ip movne r3, #0 cmp r3, #0 - bne .L1850 + bne .L1848 ldr r3, [sp, #24] ldr ip, [sp, #36] cmp r0, r3 cmpeq r9, ip - beq .L1851 + beq .L1849 ldr r3, [sl, #0] cmn r3, #1 - beq .L1852 + beq .L1850 ldr r8, [sl, #12] movw lr, #61589 ldrh r3, [r8, #0] cmp r3, lr - bne .L1859 -.L1853: + bne .L1857 +.L1851: ldr r6, [r8, #4] cmn r6, #1 - beq .L1854 + beq .L1852 ldr r1, [r5, #-1844] mov r0, r6 bl ftl_cmp_data_ver cmp r0, #0 addne r3, r6, #1 strne r3, [r5, #-1844] -.L1854: +.L1852: ldr sl, [r8, #8] add r1, sp, #56 ldr r3, [r8, #12] @@ -16206,14 +16206,14 @@ FtlRecoverySuperblock: bl log2phys ldr r1, [r5, #-1012] cmn r1, #1 - beq .L1855 + beq .L1853 mov r0, r6 bl ftl_cmp_data_ver cmp r0, #0 - beq .L1855 + beq .L1853 ldr r3, [sp, #52] cmn r3, #1 - beq .L1856 + beq .L1854 ldr r0, [r5, #-984] mov r1, #1 mov r2, #0 @@ -16228,41 +16228,41 @@ FtlRecoverySuperblock: ldr r3, [r3, r7] str ip, [sp, #16] cmn r3, #1 - bne .L1857 - b .L1858 -.L1856: + bne .L1855 + b .L1856 +.L1854: ldr r3, [sp, #60] ldr r2, [sp, #56] cmp r2, r3 - bne .L1859 + bne .L1857 mov r0, sl add r1, sp, #52 mov r2, #1 bl log2phys -.L1859: - ldrh r0, [r4, #0] - b .L1886 .L1857: + ldrh r0, [r4, #0] + b .L1884 +.L1855: ldr r3, [sp, #12] ldr r8, [r3, #8] cmp r8, sl - bne .L1858 + bne .L1856 ldr r0, [r5, #-1012] ldr r1, [sp, #16] bl ftl_cmp_data_ver cmp r0, #0 - beq .L1858 + beq .L1856 ldr r3, [sp, #56] ldr r2, [sp, #60] cmp r3, r2 - beq .L1863 -.L1860: + beq .L1861 +.L1858: ldr r2, [sp, #52] cmp r3, r2 - beq .L1858 + beq .L1856 cmn r3, #1 streq r3, [fp, #0] - beq .L1862 + beq .L1860 ldr ip, [fp, #12] mov r0, fp str r3, [fp, #4] @@ -16270,88 +16270,88 @@ FtlRecoverySuperblock: mov r2, #0 str ip, [sp, #12] bl FlashReadPages -.L1862: +.L1860: ldr r3, [r5, #-984] ldr r3, [r3, r7] cmn r3, #1 - beq .L1863 + beq .L1861 ldr r3, [sp, #12] ldr r0, [r5, #-1012] ldr sl, [r3, #4] mov r1, sl bl ftl_cmp_data_ver cmp r0, #0 - beq .L1863 + beq .L1861 ldr r0, [sp, #16] mov r1, sl bl ftl_cmp_data_ver cmp r0, #0 - beq .L1858 -.L1863: + beq .L1856 +.L1861: mov r0, r8 ldr r1, [sp, #52] bl FtlReUsePrevPpa -.L1858: +.L1856: ldrh r0, [r4, #0] mvn r3, #0 str r3, [sp, #52] bl decrement_vpc_count - b .L1865 -.L1855: + b .L1863 +.L1853: ldr r3, [sp, #60] ldr r2, [sp, #56] cmp r2, r3 - beq .L1865 + beq .L1863 mov r0, sl add r1, sp, #60 mov r2, #1 bl log2phys ldr fp, [sp, #56] cmn fp, #1 - beq .L1865 + beq .L1863 ldr r3, [sp, #52] cmp fp, r3 - beq .L1865 + beq .L1863 ubfx r0, fp, #10, #16 bl P2V_block_in_plane - ldr r3, .L1890+8 + ldr r3, .L1888+8 ldrh r3, [r5, r3] cmp r3, r0 - beq .L1866 - ldr r3, .L1890+12 + beq .L1864 + ldr r3, .L1888+12 ldrh r3, [r5, r3] cmp r3, r0 - beq .L1866 - ldr r3, .L1890+16 + beq .L1864 + ldr r3, .L1888+16 ldrh r3, [r5, r3] cmp r3, r0 - bne .L1865 -.L1866: - ldr ip, .L1890+4 + bne .L1863 +.L1864: + ldr ip, .L1888+4 mov r1, #1 mov r2, #0 ldr r0, [ip, #-984] str fp, [r0, #4] ldr r8, [r0, #12] bl FlashReadPages - ldr r0, .L1890+4 + ldr r0, .L1888+4 ldr r1, [r8, #4] ldr r3, [r0, #-984] ldr r3, [r3, #0] cmn r3, #1 - beq .L1865 + beq .L1863 mov r0, r6 bl ftl_cmp_data_ver cmp r0, #0 - bne .L1865 + bne .L1863 mov r0, sl add r1, sp, #56 mov r2, #1 bl log2phys -.L1865: +.L1863: ldr r0, [sp, #52] cmn r0, #1 - beq .L1850 + beq .L1848 ubfx r0, r0, #10, #16 bl P2V_block_in_plane ldr r2, [r5, #-2064] @@ -16359,15 +16359,15 @@ FtlRecoverySuperblock: mov r1, r0 ldrh r3, [r2, r3] cmp r3, #0 - beq .L1867 -.L1886: + beq .L1865 +.L1884: bl decrement_vpc_count - b .L1850 -.L1867: - ldr r0, .L1890+20 + b .L1848 +.L1865: + ldr r0, .L1888+20 bl printk - b .L1850 -.L1852: + b .L1848 +.L1850: ldr r3, [r5, #268] cmp r3, #31 addls r2, r5, r3, asl #2 @@ -16378,25 +16378,25 @@ FtlRecoverySuperblock: bl decrement_vpc_count ldr r3, [r5, #-1012] cmn r3, #1 - beq .L1885 -.L1869: + beq .L1883 +.L1867: cmp r3, r6 - bls .L1850 -.L1885: + bls .L1848 +.L1883: str r6, [r5, #-1012] -.L1850: +.L1848: add r7, r7, #36 -.L1849: +.L1847: ldr r3, [sp, #44] cmp r7, r3 - bne .L1870 - ldr r3, .L1890 + bne .L1868 + ldr r3, .L1888 add r9, r9, #1 movw r2, #3912 uxth r9, r9 ldrh r2, [r3, r2] cmp r9, r2 - bne .L1844 + bne .L1842 mov r2, #0 movw r1, #3844 strh r2, [r4, #4] @ movhi @@ -16405,43 +16405,43 @@ FtlRecoverySuperblock: strh r9, [r4, #2] @ movhi movw r2, #65535 ldr r0, [sp, #40] - b .L1871 -.L1873: + b .L1869 +.L1871: add r0, r0, #2 ldrh ip, [r0, #14] cmp ip, r2 strneb r3, [r4, #6] - bne .L1807 -.L1872: + bne .L1805 +.L1870: add r3, r3, #1 uxth r3, r3 -.L1871: +.L1869: cmp r3, r1 - bne .L1873 - b .L1807 -.L1851: + bne .L1871 + b .L1805 +.L1849: ldr r7, [sp, #36] ldr fp, [sp, #24] strh r7, [r4, #2] @ movhi strb fp, [r4, #6] -.L1888: +.L1886: mov r0, r4 mov r1, r7 mov r2, fp bl ftl_sb_update_avl_pages -.L1807: +.L1805: mov r0, #0 add sp, sp, #68 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L1891: +.L1889: .align 2 -.L1890: +.L1888: .word .LANCHOR0 .word .LANCHOR2 .word -2044 .word -1996 .word -1948 - .word .LC113 + .word .LC112 .fnend .size FtlRecoverySuperblock, .-FtlRecoverySuperblock .align 2 @@ -16455,28 +16455,28 @@ FtlWriteDumpData: .save {r4, r5, r6, r7, r8, sl, lr} .pad #44 sub sp, sp, #44 - ldr r4, .L1901 - ldr r3, .L1901+4 + ldr r4, .L1899 + ldr r3, .L1899+4 mov r2, r4 ldrh r3, [r4, r3] cmp r3, #0 - beq .L1893 + beq .L1891 ldrb r1, [r4, #-2036] @ zero_extendqisi2 cmp r1, #0 - bne .L1893 - ldr r5, .L1901+8 + bne .L1891 + ldr r5, .L1899+8 movw r0, #3912 ldrb r1, [r4, #-2037] @ zero_extendqisi2 ldrh r0, [r5, r0] mul r1, r0, r1 cmp r3, r1 - beq .L1893 + beq .L1891 ldrb r8, [r4, #-2034] @ zero_extendqisi2 movw r3, #3844 ldr r7, [r5, #3972] cmp r8, #0 ldrh r6, [r5, r3] - bne .L1892 + bne .L1890 sub r7, r7, #1 mov r1, sp mov r2, r8 @@ -16491,33 +16491,33 @@ FtlWriteDumpData: str r0, [sp, #12] str r4, [sp, #16] str r8, [r4, #4] - beq .L1895 + beq .L1893 add r0, sp, #4 mov r1, #1 mov r2, r8 bl FlashReadPages - b .L1896 -.L1895: + b .L1894 +.L1893: movw r3, #3922 mov r1, #255 ldrh r2, [r5, r3] bl ftl_memset -.L1896: - ldr r3, .L1901+12 +.L1894: + ldr r3, .L1899+12 mov r6, r6, asl #2 - ldr r5, .L1901 - ldr sl, .L1901+4 + ldr r5, .L1899 + ldr sl, .L1899+4 strh r3, [r4, #0] @ movhi - ldr r8, .L1901+16 - b .L1897 -.L1900: + ldr r8, .L1899+16 + b .L1895 +.L1898: ldrh r3, [r5, sl] cmp r3, #0 - beq .L1898 + beq .L1896 ldr r3, [sp, #8] sub r6, r6, #1 str r7, [r4, #8] - ldr r0, .L1901+20 + ldr r0, .L1899+20 str r3, [r4, #12] ldrh r3, [r5, r8] strh r3, [r4, #2] @ movhi @@ -16537,23 +16537,23 @@ FtlWriteDumpData: bl FlashProgPages ldrh r0, [r5, r8] bl decrement_vpc_count -.L1897: +.L1895: cmp r6, #0 - bne .L1900 -.L1898: - ldr r3, .L1901 + bne .L1898 +.L1896: + ldr r3, .L1899 mov r2, #1 strb r2, [r3, #-2034] - b .L1892 -.L1893: + b .L1890 +.L1891: mov r3, #0 strb r3, [r2, #-2034] -.L1892: +.L1890: add sp, sp, #44 ldmfd sp!, {r4, r5, r6, r7, r8, sl, pc} -.L1902: +.L1900: .align 2 -.L1901: +.L1899: .word .LANCHOR2 .word -2040 .word .LANCHOR0 @@ -16573,31 +16573,31 @@ l2p_flush: .save {r3, r4, r5, r6, r7, lr} bl FtlWriteDumpData mov r4, #0 - ldr r7, .L1907 + ldr r7, .L1905 movw r6, #3950 - ldr r5, .L1907+4 - b .L1904 -.L1906: + ldr r5, .L1905+4 + b .L1902 +.L1904: ldr r3, [r5, #-1900] mov r2, #12 mla r3, r2, r4, r3 ldr r3, [r3, #4] cmp r3, #0 - bge .L1905 + bge .L1903 mov r0, r4 bl flush_l2p_region -.L1905: +.L1903: add r4, r4, #1 uxth r4, r4 -.L1904: +.L1902: ldrh r3, [r7, r6] cmp r3, r4 - bhi .L1906 + bhi .L1904 mov r0, #0 ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L1908: +.L1906: .align 2 -.L1907: +.L1905: .word .LANCHOR0 .word .LANCHOR2 .fnend @@ -16612,26 +16612,26 @@ 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, .L1916 - ldr r1, .L1916+4 - ldr r0, .L1916+8 + ldr r6, .L1914 + ldr r1, .L1914+4 + ldr r0, .L1914+8 bl printk movw r3, #3854 ldrh r2, [r6, r3] mov r1, #0 - ldr r5, .L1916+12 + ldr r5, .L1914+12 mov r2, r2, asl #1 ldr r0, [r5, #-932] bl ftl_memset - b .L1910 -.L1912: + b .L1908 +.L1910: mov r0, r4 add r1, sp, #4 mov r2, #0 bl log2phys ldr r0, [sp, #4] cmn r0, #1 - beq .L1911 + beq .L1909 ubfx r0, r0, #10, #16 bl P2V_block_in_plane ldr r3, [r5, #-932] @@ -16639,43 +16639,43 @@ FtlVpcCheckAndModify: ldrh r2, [r3, r0] add r2, r2, #1 strh r2, [r3, r0] @ movhi -.L1911: +.L1909: add r4, r4, #1 -.L1910: +.L1908: ldr r3, [r6, #3972] cmp r4, r3 - bcc .L1912 + bcc .L1910 mov r4, #0 - ldr r7, .L1916 + ldr r7, .L1914 movw r8, #3852 - ldr r5, .L1916+12 - b .L1913 -.L1915: + ldr r5, .L1914+12 + b .L1911 +.L1913: ldr r3, [r5, #-2064] mov r6, r4, asl #1 ldrh r2, [r3, r6] ldr r3, [r5, #-932] ldrh r3, [r3, r6] cmp r2, r3 - beq .L1914 + beq .L1912 movw r1, #65535 cmp r2, r1 - beq .L1914 - ldr r0, .L1916+16 + beq .L1912 + ldr r0, .L1914+16 mov r1, r4 bl printk - ldr r3, .L1916+20 + ldr r3, .L1914+20 ldrh r3, [r5, r3] cmp r3, r4 - beq .L1914 - ldr r3, .L1916+24 + beq .L1912 + ldr r3, .L1914+24 ldrh r3, [r5, r3] cmp r3, r4 - beq .L1914 - ldr r3, .L1916+28 + beq .L1912 + ldr r3, .L1914+28 ldrh r3, [r5, r3] cmp r3, r4 - beq .L1914 + beq .L1912 ldr r3, [r5, #-932] mov r0, r4 ldrh r2, [r3, r6] @@ -16684,22 +16684,22 @@ FtlVpcCheckAndModify: bl update_vpc_list bl l2p_flush bl FtlVpcTblFlush -.L1914: +.L1912: add r4, r4, #1 uxth r4, r4 -.L1913: +.L1911: ldrh r3, [r7, r8] cmp r3, r4 - bhi .L1915 + bhi .L1913 ldmfd sp!, {r2, r3, r4, r5, r6, r7, r8, pc} -.L1917: +.L1915: .align 2 -.L1916: +.L1914: .word .LANCHOR0 .word .LANCHOR3+15 - .word .LC114 + .word .LC113 .word .LANCHOR2 - .word .LC115 + .word .LC114 .word -2044 .word -1948 .word -1996 @@ -16718,79 +16718,79 @@ allocate_new_data_superblock: ldrh r5, [r0, #0] mov r4, r0 cmp r5, r3 - beq .L1919 - ldr r3, .L1929 + beq .L1917 + ldr r3, .L1927 mov r0, r5 ldr r2, [r3, #-2064] mov r3, r5, asl #1 ldrh r3, [r2, r3] cmp r3, #0 - beq .L1920 + beq .L1918 bl INSERT_DATA_LIST - b .L1919 -.L1920: + b .L1917 +.L1918: bl INSERT_FREE_LIST -.L1919: +.L1917: mov r3, #0 strb r3, [r4, #8] - ldr r3, .L1929+4 + ldr r3, .L1927+4 cmp r4, r3 - beq .L1921 - ldr r2, .L1929+8 + beq .L1919 + ldr r2, .L1927+8 movw r3, #3864 ldrh r3, [r2, r3] cmp r3, #1 - beq .L1921 + beq .L1919 ldrb r2, [r2, #80] @ zero_extendqisi2 cmp r2, #0 - beq .L1922 -.L1921: + beq .L1920 +.L1919: mov r3, #1 strb r3, [r4, #8] - b .L1923 -.L1922: - ldr r2, .L1929+12 + b .L1921 +.L1920: + ldr r2, .L1927+12 cmp r4, r2 - bne .L1923 + bne .L1921 cmp r3, #3 - ldr r3, .L1929 - beq .L1924 + ldr r3, .L1927 + beq .L1922 ldr r2, [r3, #-1708] cmp r2, #1 - bne .L1925 -.L1924: + bne .L1923 +.L1922: mov r2, #1 strb r2, [r3, #-2036] -.L1925: +.L1923: ldr r3, [r3, #-1884] - ldr r2, .L1929 + ldr r2, .L1927 cmp r3, #0 - beq .L1923 + beq .L1921 ldr r3, [r2, #-1824] cmp r3, #29 movls r3, #1 strlsb r3, [r2, #-2036] -.L1923: - ldr r3, .L1929+16 - ldr r6, .L1929 +.L1921: + ldr r3, .L1927+16 + ldr r6, .L1927 ldrh r0, [r6, r3] movw r3, #65535 cmp r0, r3 - beq .L1926 + beq .L1924 cmp r5, r0 - bne .L1927 + bne .L1925 ldr r2, [r6, #-2064] mov r3, r0, asl #1 ldrh r3, [r2, r3] cmp r3, #0 - beq .L1928 -.L1927: + beq .L1926 +.L1925: bl update_vpc_list -.L1928: - ldr r3, .L1929+16 +.L1926: + ldr r3, .L1927+16 mvn r2, #0 strh r2, [r6, r3] @ movhi -.L1926: +.L1924: mov r0, r4 bl allocate_data_superblock bl l2p_flush @@ -16799,9 +16799,9 @@ allocate_new_data_superblock: bl FtlEctTblFlush mov r0, #0 ldmfd sp!, {r4, r5, r6, pc} -.L1930: +.L1928: .align 2 -.L1929: +.L1927: .word .LANCHOR2 .word .LANCHOR2-1996 .word .LANCHOR0 @@ -16810,14 +16810,14 @@ allocate_new_data_superblock: .fnend .size allocate_new_data_superblock, .-allocate_new_data_superblock .align 2 - .type rk_ftl_garbage_collect.part.19, %function -rk_ftl_garbage_collect.part.19: + .type rk_ftl_garbage_collect.part.18, %function +rk_ftl_garbage_collect.part.18: .fnstart @ args = 0, pretend = 0, frame = 24 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L2027 + ldr r3, .L2025 movw ip, #65535 - ldr r2, .L2027+4 + ldr r2, .L2025+4 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} mov r7, r0 @@ -16826,72 +16826,72 @@ rk_ftl_garbage_collect.part.19: sub sp, sp, #36 cmp r0, ip str r1, [sp, #20] - beq .L1932 - ldr r1, .L2027+8 + beq .L1930 + ldr r1, .L2025+8 ldrh r4, [r3, r1] cmp r4, ip streqh r0, [r3, r1] @ movhi mvneq r1, #0 streqh r1, [r3, r2] @ movhi -.L1932: +.L1930: ldr r2, [r3, #-1188] cmp r7, #1 - ldr r5, .L2027 + ldr r5, .L2025 add r2, r2, #1 add r2, r2, r7, asl #7 str r2, [r3, #-1188] - bne .L2007 + bne .L2005 ldr r3, [r5, #-1884] cmp r3, #0 - beq .L2007 + beq .L2005 ldr r3, [r5, #-1824] cmp r3, #29 - bhi .L2007 + bhi .L2005 mov r6, #400 movw r4, #65535 ldrh r3, [r5, r6] add r2, r2, r3 str r2, [r5, #-1188] bl FtlGcReFreshBadBlk - ldr r3, .L2027+12 + ldr r3, .L2025+12 ldrh r3, [r5, r3] cmp r3, r4 - bne .L1933 - ldr r2, .L2027+8 + bne .L1931 + ldr r2, .L2025+8 ldrh r4, [r5, r2] cmp r4, r3 movne r4, r3 - bne .L1933 + bne .L1931 ldr r3, [r5, #-1188] cmp r3, #1024 - bls .L1933 + bls .L1931 mov r3, #0 str r3, [r5, #-1188] strh r3, [r5, r6] @ movhi ldr r3, [r5, #-1824] cmp r3, #0 moveq r3, #6 - beq .L2022 + beq .L2020 cmp r3, #5 - bhi .L1935 + bhi .L1933 mov r3, #18 -.L2022: +.L2020: strh r3, [r5, r6] @ movhi -.L1935: +.L1933: mov r0, #32 movw r8, #65535 bl List_get_gc_head_node uxth r2, r0 cmp r2, r8 - beq .L1936 - ldr r5, .L2027 - ldr r6, .L2027+16 + beq .L1934 + ldr r5, .L2025 + ldr r6, .L2025+16 ldrh r0, [r5, r6] cmp r0, #0 moveq r3, #1 streqh r3, [r5, r6] @ movhi - beq .L1936 - ldr r3, .L2027+20 + beq .L1934 + ldr r3, .L2025+20 movw ip, #3914 movw lr, #3844 ldr r9, [r5, #-2064] @@ -16902,7 +16902,7 @@ rk_ftl_garbage_collect.part.19: mul r3, r3, ip add r3, r3, #1 cmp r1, r3 - bgt .L1936 + bgt .L1934 add fp, r0, #1 mov sl, #0 str sl, [r5, #-1180] @@ -16913,10 +16913,10 @@ rk_ftl_garbage_collect.part.19: ldr r2, [sp, #12] uxth r4, r0 cmp r4, r8 - beq .L1936 + beq .L1934 ldrh r2, [r9, r2] mov r8, r4, asl #1 - ldr r0, .L2027+24 + ldr r0, .L2025+24 mov r1, fp ldrh r3, [r9, r8] str r2, [sp, #0] @@ -16924,51 +16924,51 @@ rk_ftl_garbage_collect.part.19: bl printk ldrh r3, [r5, r6] cmp r3, #40 - bls .L1938 + bls .L1936 ldr r3, [r5, #-2064] ldrh r3, [r3, r8] cmp r3, #32 strhih sl, [r5, r6] @ movhi -.L1938: - mov r1, #6 - b .L2023 .L1936: + mov r1, #6 + b .L2021 +.L1934: bl GetSwlReplaceBlock movw r3, #65535 cmp r0, r3 mov r4, r0 - bne .L1933 + bne .L1931 mov r1, #0 -.L2023: - ldr r2, .L2027 +.L2021: + ldr r2, .L2025 mov r3, #400 strh r1, [r2, r3] @ movhi - b .L1933 -.L2007: + b .L1931 +.L2005: movw r4, #65535 -.L1933: - ldr r3, .L2027+12 - ldr r6, .L2027 +.L1931: + ldr r3, .L2025+12 + ldr r6, .L2025 ldrh r2, [r6, r3] movw r3, #65535 cmp r2, r3 - bne .L1939 - ldr r3, .L2027+28 + bne .L1937 + ldr r3, .L2025+28 ldrh r3, [r6, r3] cmp r3, r2 - bne .L1939 - ldr r2, .L2027+8 + bne .L1937 + ldr r2, .L2025+8 ldrh sl, [r6, r2] cmp sl, r3 - bne .L1939 - ldr r8, .L2027+32 + bne .L1937 + ldr r8, .L2025+32 ldr r2, [r6, #-1188] ldrh r3, [r6, r8] cmp r3, #23 movhi r3, #1024 movls r3, #5120 cmp r2, r3 - bls .L1939 + bls .L1937 mov r2, #400 mov r3, #0 str r3, [r6, #-1188] @@ -16976,45 +16976,45 @@ rk_ftl_garbage_collect.part.19: bl GetSwlReplaceBlock cmp r0, sl mov r4, r0 - bne .L1941 - ldr r3, .L2027+36 + bne .L1939 + ldr r3, .L2025+36 ldrh r1, [r6, r8] ldrh r2, [r6, r3] cmp r1, r2 movcs r2, #80 strcsh r2, [r6, r3] @ movhi - bcs .L1951 + bcs .L1949 mov r0, #64 bl List_get_gc_head_node uxth r3, r0 cmp r3, r4 - beq .L1951 + beq .L1949 ldr r2, [r6, #-1004] cmp r2, #0 - bne .L1944 - ldr r2, .L2027+20 + bne .L1942 + ldr r2, .L2025+20 movw r1, #3864 ldrh r1, [r2, r1] cmp r1, #3 - beq .L1944 + beq .L1942 ldr r1, [r6, #-1708] cmp r1, #0 - bne .L1944 + bne .L1942 ldr r1, [r6, #-1884] cmp r1, #0 - bne .L1944 + bne .L1942 ldrb r0, [r2, #80] @ zero_extendqisi2 cmp r0, #0 - beq .L1945 -.L1944: - ldr r1, .L2027 + beq .L1943 +.L1942: + ldr r1, .L2025 mov r3, r3, asl #1 movw ip, #3844 movw lr, #3864 ldr r2, [r1, #-2064] ldrh r0, [r2, r3] movw r2, #3914 - ldr r3, .L2027+20 + ldr r3, .L2025+20 ldrh r2, [r3, r2] ldrh ip, [r3, ip] ldrh r3, [r3, lr] @@ -17024,138 +17024,138 @@ rk_ftl_garbage_collect.part.19: movne r3, #0 add r3, ip, r3 cmp r0, r3 - bgt .L1947 + bgt .L1945 mov r0, #0 bl List_get_gc_head_node - ldr r2, .L2027+20 - ldr r3, .L2027 + ldr r2, .L2025+20 + ldr r3, .L2025 ldr r2, [r2, #3972] ldr r1, [r3, #-1892] add r2, r2, r2, asl #1 cmp r1, r2, lsr #2 - ldr r2, .L2027+36 + ldr r2, .L2025+36 movhi r1, #128 movls r1, #160 strh r1, [r3, r2] @ movhi uxth r4, r0 - b .L1949 -.L1947: - ldr r3, .L2027+36 + b .L1947 +.L1945: + ldr r3, .L2025+36 mov r2, #128 strh r2, [r1, r3] @ movhi - b .L1951 -.L1945: + b .L1949 +.L1943: ldr r2, [r6, #-2064] mov r3, r3, asl #1 - ldr r6, .L2027 - ldr r5, .L2027+36 + ldr r6, .L2025 + ldr r5, .L2025+36 ldrh r3, [r2, r3] cmp r3, #7 movhi r3, #64 strhih r3, [r6, r5] @ movhi - bhi .L1951 + bhi .L1949 bl List_get_gc_head_node mov r3, #128 strh r3, [r6, r5] @ movhi uxth r4, r0 -.L1949: +.L1947: movw r3, #65535 cmp r4, r3 - beq .L1951 -.L1941: - ldr r1, .L2027 + beq .L1949 +.L1939: + ldr r1, .L2025 mov r0, r4, asl #1 - ldr r3, .L2027+32 + ldr r3, .L2025+32 ldr ip, [r1, #-2084] ldrh r2, [r1, r3] ldr r3, [r1, #-2064] ldrh r3, [r3, r0] ldrh r0, [ip, r0] str r0, [sp, #0] - ldr r0, .L2027+40 + ldr r0, .L2025+40 ldrh r1, [r1, r0] - ldr r0, .L2027+44 + ldr r0, .L2025+44 str r1, [sp, #4] mov r1, r4 bl printk -.L1951: +.L1949: bl FtlGcReFreshBadBlk -.L1939: +.L1937: movw r1, #65535 rsb ip, r1, r4 rsbs r2, ip, #0 - ldr r5, .L2027 + ldr r5, .L2025 adc r2, r2, ip cmp r7, #0 movne r7, #0 andeq r7, r2, #1 cmp r7, #0 - beq .L1952 - ldr r3, .L2027+32 + beq .L1950 + ldr r3, .L2025+32 ldrh r2, [r5, r3] cmp r2, #24 movhi r6, #1 - bhi .L1953 - ldr r1, .L2027+20 + bhi .L1951 + ldr r1, .L2025+20 movw r3, #3912 cmp r2, #16 ldrh r6, [r1, r3] movhi r6, r6, lsr #5 - bhi .L1953 + bhi .L1951 cmp r2, #12 movhi r6, r6, lsr #4 - bhi .L1953 + bhi .L1951 cmp r2, #8 movhi r6, r6, lsr #2 -.L1953: - ldr r1, .L2027+40 - ldr r3, .L2027 +.L1951: + ldr r1, .L2025+40 + ldr r3, .L2025 ldrh r0, [r5, r1] cmp r0, r2 mov r0, r1 - bcs .L1957 - ldr r2, .L2027+28 + bcs .L1955 + ldr r2, .L2025+28 movw ip, #65535 ldrh r2, [r3, r2] cmp r2, ip - bne .L1958 - ldr ip, .L2027+8 + bne .L1956 + ldr ip, .L2025+8 ldrh ip, [r3, ip] cmp ip, r2 - bne .L1958 + bne .L1956 mov r2, #400 ldrh r0, [r3, r2] cmp r0, #0 - bne .L1959 - ldr r2, .L2027+20 + bne .L1957 + ldr r2, .L2025+20 ldr ip, [r3, #-1892] ldr r2, [r2, #3972] add r2, r2, r2, asl #1 cmp ip, r2, lsr #2 movcs r2, #18 - bcs .L2025 -.L1959: - ldr r3, .L2027 - ldr r2, .L2027+48 - ldr r1, .L2027+40 + bcs .L2023 +.L1957: + ldr r3, .L2025 + ldr r2, .L2025+48 + ldr r1, .L2025+40 ldrh r2, [r3, r2] add r2, r2, r2, asl #1 mov r2, r2, asr #2 -.L2025: +.L2023: strh r2, [r3, r1] @ movhi mov r2, #0 - ldr r3, .L2027 + ldr r3, .L2025 str r2, [r3, #-1180] - b .L1962 -.L1958: - ldr r3, .L2027 - ldr r2, .L2027+48 + b .L1960 +.L1956: + ldr r3, .L2025 + ldr r2, .L2025+48 ldrh r2, [r3, r2] add r2, r2, r2, asl #1 mov r2, r2, asr #2 strh r2, [r3, r0] @ movhi -.L1957: - ldr r3, .L2027 +.L1955: + ldr r3, .L2025 movw r4, #65535 ldr r8, [sp, #20] ldr r2, [r3, #-1884] @@ -17167,68 +17167,68 @@ rk_ftl_garbage_collect.part.19: cmp r3, #0 addne r6, r6, #1 uxthne r6, r6 - b .L1963 -.L1952: - ldr r3, .L2027+28 + b .L1961 +.L1950: + ldr r3, .L2025+28 ldrh r3, [r5, r3] cmp r3, r1 - bne .L1964 - ldr r1, .L2027+8 + bne .L1962 + ldr r1, .L2025+8 ldrh r1, [r5, r1] cmp r1, r3 movne r2, #0 andeq r2, r2, #1 cmp r2, #0 - beq .L1964 - ldr r2, .L2027+12 + beq .L1962 + ldr r2, .L2025+12 ldrh r4, [r5, r2] cmp r4, r3 movne r4, r3 - bne .L1964 - ldr r3, .L2027+32 + bne .L1962 + ldr r3, .L2025+32 mov r6, #400 str r7, [r5, #-1180] ldrh r7, [r5, r3] add r3, r3, #856 ldrh r2, [r5, r3] cmp r2, r7 - bcs .L1965 + bcs .L1963 ldrh r2, [r5, r6] cmp r2, #0 - bne .L1966 - ldr r2, .L2027+20 + bne .L1964 + ldr r2, .L2025+20 ldr r1, [r5, #-1892] ldr r2, [r2, #3972] add r2, r2, r2, asl #1 cmp r1, r2, lsr #2 movcs r2, #18 strcsh r2, [r5, r3] @ movhi - bcs .L1968 -.L1966: - ldr r3, .L2027 - ldr r2, .L2027+48 - ldr r1, .L2027+40 + bcs .L1966 +.L1964: + ldr r3, .L2025 + ldr r2, .L2025+48 + ldr r1, .L2025+40 ldrh r2, [r3, r2] add r2, r2, r2, asl #1 mov r2, r2, asr #2 strh r2, [r3, r1] @ movhi -.L1968: +.L1966: bl FtlReadRefresh mov r3, #400 - ldr r2, .L2027 - b .L2026 -.L1965: + ldr r2, .L2025 + b .L2024 +.L1963: ldrh r0, [r5, r6] cmp r0, #0 - bne .L1964 - ldr r2, .L2027+48 + bne .L1962 + ldr r2, .L2025+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, #-2064] - ldr r1, .L2027+20 + ldr r1, .L2025+20 movw r2, #3914 ldrh r2, [r1, r2] uxth r0, r0 @@ -17239,76 +17239,76 @@ rk_ftl_garbage_collect.part.19: mul r2, r1, r2 add r2, r2, r2, lsr #31 cmp r3, r2, asr #1 - ble .L1969 + ble .L1967 sub r4, r4, #1 cmp r7, r4 - blt .L1969 + blt .L1967 bl FtlReadRefresh ldrh r0, [r5, r6] - b .L1962 -.L1969: + b .L1960 +.L1967: cmp r3, #0 movwne r4, #65535 - bne .L1964 + bne .L1962 movw r0, #65535 bl decrement_vpc_count - ldr r3, .L2027+32 - ldr r2, .L2027 + ldr r3, .L2025+32 + ldr r2, .L2025 ldrh r0, [r2, r3] add r0, r0, #1 - b .L1962 -.L1964: - ldr r3, .L2027 + b .L1960 +.L1962: + ldr r3, .L2025 ldr r6, [r3, #-1884] cmp r6, #0 movne r6, #2 moveq r6, #1 -.L1963: - ldr r3, .L2027 +.L1961: + ldr r3, .L2025 movw r0, #65535 - ldr r2, .L2027+12 + ldr r2, .L2025+12 ldrh r1, [r3, r2] cmp r1, r0 - bne .L1970 + bne .L1968 cmp r4, r1 strneh r4, [r3, r2] @ movhi - bne .L1972 - ldr r1, .L2027+8 + bne .L1970 + ldr r1, .L2025+8 ldrh r0, [r3, r1] cmp r0, r4 strneh r0, [r3, r2] @ movhi mvnne r2, #0 strneh r2, [r3, r1] @ movhi -.L1972: +.L1970: mov r2, #0 strb r2, [r3, #-1748] - ldr r3, .L2027+20 - ldr r5, .L2027 - ldr r7, .L2027+12 + ldr r3, .L2025+20 + ldr r5, .L2025 + ldr r7, .L2025+12 ldrb r3, [r3, #80] @ zero_extendqisi2 cmp r3, r2 - beq .L1973 + beq .L1971 ldrh r0, [r5, r7] bl ftl_get_blk_mode strb r0, [r5, #-1748] -.L1973: - ldr r5, .L2027 +.L1971: + ldr r5, .L2025 ldrh r0, [r5, r7] bl IsBlkInGcList - ldr r7, .L2027+12 + ldr r7, .L2025+12 mov r3, r5 cmp r0, #0 - ldrne r2, .L2027+12 + ldrne r2, .L2025+12 mvnne r1, #0 strneh r1, [r5, r2] @ movhi ldrh r2, [r3, r7] movw r3, #65535 - ldr r5, .L2027 + ldr r5, .L2025 cmp r2, r3 - beq .L1970 - ldr r0, .L2027+52 + beq .L1968 + ldr r0, .L2025+52 bl make_superblock - ldr r1, .L2027+56 + ldr r1, .L2025+56 movw r2, #402 mov r3, #0 strh r3, [r5, r2] @ movhi @@ -17320,39 +17320,39 @@ rk_ftl_garbage_collect.part.19: ldrh r2, [r2, r3] mov r3, #404 strh r2, [r5, r3] @ movhi -.L1970: - ldr r3, .L2027 - ldr r0, .L2027+12 - ldr r2, .L2027+60 +.L1968: + ldr r3, .L2025 + ldr r0, .L2025+12 + ldr r2, .L2025+60 ldrh r1, [r3, r0] ldrh r2, [r3, r2] cmp r2, r1 mov r2, r3 - beq .L1975 - ldr ip, .L2027+64 + beq .L1973 + ldr ip, .L2025+64 ldrh r3, [r3, ip] cmp r3, r1 strne r4, [sp, #20] - bne .L2021 -.L1976: -.L1975: + bne .L2019 +.L1974: +.L1973: mvn r3, #0 strh r3, [r2, r0] @ movhi mov r3, #400 -.L2026: +.L2024: ldrh r0, [r2, r3] - b .L1962 -.L2021: - ldr r4, .L2027 + b .L1960 +.L2019: + ldr r4, .L2025 movw r0, #65535 - ldr r9, .L2027+12 + ldr r9, .L2025+12 ldrh r3, [r4, r9] cmp r3, r0 - bne .L1978 + bne .L1976 mov r3, #0 str r3, [r4, #-1180] -.L2020: - ldr r8, .L2027+16 +.L2018: + ldr r8, .L2025+16 ldrh r7, [r4, r8] mov r0, r7 bl List_get_gc_head_node @@ -17360,19 +17360,19 @@ rk_ftl_garbage_collect.part.19: uxth r5, r0 strh r5, [r4, r9] @ movhi cmp r5, r1 - ldreq r3, .L2027 + ldreq r3, .L2025 moveq r2, #0 moveq r0, #8 streqh r2, [r3, r8] @ movhi - beq .L1962 -.L1980: + beq .L1960 +.L1978: mov r0, r5 add r7, r7, #1 bl IsBlkInGcList cmp r0, #0 strneh r7, [r4, r8] @ movhi - bne .L2020 - ldr ip, .L2027+20 + bne .L2018 + ldr ip, .L2025+20 uxth r7, r7 movw r3, #3912 strh r7, [r4, r8] @ movhi @@ -17385,30 +17385,30 @@ rk_ftl_garbage_collect.part.19: mul r3, ip, r3 add ip, r3, r3, lsr #31 cmp r0, ip, asr #1 - bgt .L1983 + bgt .L1981 cmp r7, #48 - bls .L1984 + bls .L1982 cmp r0, #8 - bls .L1984 - ldr r0, .L2027+68 + bls .L1982 + ldr r0, .L2025+68 ldrh r0, [r4, r0] cmp r0, #35 - bhi .L1984 -.L1983: - ldr r0, .L2027+16 + bhi .L1982 +.L1981: + ldr r0, .L2025+16 mov ip, #0 strh ip, [r4, r0] @ movhi -.L1984: +.L1982: ldrh r2, [r1, r2] movw r0, #65535 ldr r8, [sp, #20] - ldr sl, .L2027 + ldr sl, .L2025 cmp r2, r3 cmpge r8, r0 movne r3, #0 moveq r3, #1 - bne .L1985 - ldr r3, .L2027+12 + bne .L1983 + ldr r3, .L2025+12 mvn r2, #0 strh r2, [sl, r3] @ movhi add r3, r3, #572 @@ -17416,34 +17416,34 @@ rk_ftl_garbage_collect.part.19: strh r2, [sl, r3] @ movhi mov r3, #400 ldrh r0, [sl, r3] - b .L1962 -.L1985: + b .L1960 +.L1983: cmp r2, #0 - bne .L1986 + bne .L1984 movw r0, #65535 bl decrement_vpc_count - ldr r3, .L2027+16 + ldr r3, .L2025+16 ldrh r2, [r4, r3] add r2, r2, #1 strh r2, [r4, r3] @ movhi - b .L2020 -.L1986: + b .L2018 +.L1984: strb r3, [sl, #-1748] - ldr r3, .L2027+20 + ldr r3, .L2025+20 ldrb r3, [r3, #80] @ zero_extendqisi2 cmp r3, #0 - beq .L1987 + beq .L1985 mov r0, r5 bl ftl_get_blk_mode strb r0, [sl, #-1748] -.L1987: - ldr r4, .L2027 - ldr r0, .L2027+52 +.L1985: + ldr r4, .L2025 + ldr r0, .L2025+52 bl make_superblock movw r1, #402 mov r3, #0 strh r3, [r4, r1] @ movhi - ldr r1, .L2027+12 + ldr r1, .L2025+12 ldr r0, [r4, #-2064] ldrh r1, [r4, r1] mov r1, r1, asl #1 @@ -17451,35 +17451,35 @@ rk_ftl_garbage_collect.part.19: mov r1, #404 strb r3, [r4, #-1750] strh r0, [r4, r1] @ movhi - ldr r1, .L2027+56 + ldr r1, .L2025+56 strh r3, [r4, r1] @ movhi -.L1978: +.L1976: bl FtlReadRefresh - ldr r3, .L2027 + ldr r3, .L2025 mov r2, #1 movw r1, #3912 str r2, [r3, #-1000] - ldr r2, .L2027+20 + ldr r2, .L2025+20 ldrh r9, [r2, r1] ldrb r1, [r2, #80] @ zero_extendqisi2 cmp r1, #0 - beq .L1988 + beq .L1986 ldrb r1, [r3, #-1748] @ zero_extendqisi2 cmp r1, #1 movweq r1, #3914 ldreqh r9, [r2, r1] -.L1988: - ldr r2, .L2027+56 +.L1986: + ldr r2, .L2025+56 mov sl, #0 - ldr r4, .L2027 + ldr r4, .L2025 mov fp, r9 ldrh r3, [r3, r2] add r2, r3, r6 cmp r2, r9 rsbgt r6, r3, r9 uxthgt r6, r6 - b .L1990 -.L1992: + b .L1988 +.L1990: ldrh r1, [r2, #2]! movw r8, #65535 add r3, r3, #1 @@ -17490,9 +17490,9 @@ rk_ftl_garbage_collect.part.19: addne r7, r7, #1 uxthne r7, r7 strne r1, [r8, #4] -.L1998: +.L1996: cmp r3, r5 - bne .L1992 + bne .L1990 ldr r0, [r4, #-1160] mov r1, r7 ldrb r2, [r4, #-1748] @ zero_extendqisi2 @@ -17500,18 +17500,18 @@ rk_ftl_garbage_collect.part.19: bl FlashReadPages mov r9, r5 mov r8, r6 - b .L1993 -.L1996: + b .L1991 +.L1994: ldr r3, [r4, #-1160] add r2, r3, r5 ldr r3, [r3, r5] ldr r6, [r2, #12] cmn r3, #1 - beq .L1994 + beq .L1992 ldrh r3, [r6, #0] movw r0, #61589 cmp r3, r0 - bne .L1994 + bne .L1992 add r1, sp, #28 mov r2, #0 ldr r0, [r6, #8] @@ -17522,7 +17522,7 @@ rk_ftl_garbage_collect.part.19: bic r2, r2, #-2147483648 ldr r3, [r1, #4] cmp r2, r3 - bne .L1994 + bne .L1992 movw r3, #402 ldr r0, [r4, #-1176] ldrh r2, [r4, r3] @@ -17551,7 +17551,7 @@ rk_ftl_garbage_collect.part.19: str r2, [r3, #12] ldr r3, [sp, #28] str r3, [r6, #12] - ldr r3, .L2027+28 + ldr r3, .L2025+28 ldrh r3, [r4, r3] strh r3, [r6, #2] @ movhi ldr r3, [r4, #-1844] @@ -17562,42 +17562,42 @@ rk_ftl_garbage_collect.part.19: add r3, r3, #1 str r3, [r4, #-1176] bl FtlGcBufAlloc - ldr r3, .L2027+20 + ldr r3, .L2025+20 ldrb r3, [r3, #80] @ zero_extendqisi2 cmp r3, #0 - bne .L1995 + bne .L1993 ldrb r3, [r4, #-1941] @ zero_extendqisi2 ldr r2, [r4, #-1176] cmp r2, r3 - beq .L1995 - ldr r3, .L2027+72 + beq .L1993 + ldr r3, .L2025+72 ldrh r3, [r4, r3] cmp r3, #0 - bne .L1994 -.L1995: + bne .L1992 +.L1993: bl Ftl_gc_temp_data_write_back cmp r0, #0 - ldrne r3, .L2027 + ldrne r3, .L2025 movne r2, #0 strne r2, [r3, #-1000] movne r2, #400 - bne .L2026 -.L1994: + bne .L2024 +.L1992: add r9, r9, #1 add r5, r5, #36 uxth r9, r9 -.L1993: +.L1991: cmp r9, r7 - bne .L1996 + bne .L1994 add sl, sl, #1 mov r6, r8 -.L1990: +.L1988: uxth r3, sl - ldr r2, .L2027+56 + ldr r2, .L2025+56 cmp r3, r6 - ldr r3, .L2027 - bcs .L1997 - ldr r1, .L2027+20 + ldr r3, .L2025 + bcs .L1995 + ldr r1, .L2025+20 movw r3, #3844 ldrh ip, [r4, r2] mov r7, #0 @@ -17605,93 +17605,93 @@ rk_ftl_garbage_collect.part.19: mov r0, #36 ldrh r5, [r1, r3] add ip, ip, sl - ldr r2, .L2027+76 + ldr r2, .L2025+76 mov r3, r7 - b .L1998 -.L1997: + b .L1996 +.L1995: ldrh r1, [r3, r2] mov r9, fp add r6, r6, r1 uxth r6, r6 strh r6, [r3, r2] @ movhi cmp r6, fp - bcs .L1999 + bcs .L1997 movw r2, #402 mov r1, #404 ldrh r2, [r3, r2] ldrh r3, [r3, r1] cmp r2, r3 - bne .L2000 -.L1999: - ldr r5, .L2027 + bne .L1998 +.L1997: + ldr r5, .L2025 ldr r3, [r5, #-1176] cmp r3, #0 - beq .L2001 + beq .L1999 bl Ftl_gc_temp_data_write_back cmp r0, #0 movne r3, #0 strne r3, [r5, #-1000] movne r3, #400 ldrneh r0, [r5, r3] - bne .L1962 -.L2001: + bne .L1960 +.L1999: movw r2, #402 - ldr r3, .L2027 + ldr r3, .L2025 ldrh ip, [r5, r2] cmp ip, #0 - bne .L2002 - ldr r2, .L2027+12 + bne .L2000 + ldr r2, .L2025+12 ldr r0, [r3, #-2064] ldrh r1, [r3, r2] mov r1, r1, asl #1 ldrh r4, [r0, r1] cmp r4, #0 - beq .L2002 + beq .L2000 strh ip, [r0, r1] @ movhi ldrh r0, [r3, r2] bl update_vpc_list bl FtlCacheWriteBack bl l2p_flush bl FtlVpcTblFlush -.L2002: - ldr r3, .L2027+12 +.L2000: + ldr r3, .L2025+12 mvn r1, #0 - ldr r2, .L2027 + ldr r2, .L2025 strh r1, [r2, r3] @ movhi -.L2000: - ldr r3, .L2027 - ldr r2, .L2027+32 +.L1998: + ldr r3, .L2025 + ldr r2, .L2025+32 ldrh r2, [r3, r2] cmp r2, #2 - ldrls r2, .L2027+20 + ldrls r2, .L2025+20 movwls r3, #3912 ldrlsh r6, [r2, r3] - bls .L2021 -.L2003: + bls .L2019 +.L2001: mov r1, #0 str r1, [r3, #-1000] mov r1, #400 ldrh r0, [r3, r1] cmp r0, #0 addeq r0, r2, #1 -.L1962: +.L1960: add sp, sp, #36 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L2028: +.L2026: .align 2 -.L2027: +.L2025: .word .LANCHOR2 .word -1136 .word -1138 .word -1756 .word -1184 .word .LANCHOR0 - .word .LC116 + .word .LC115 .word -1948 .word -2048 .word -1190 .word -1192 - .word .LC117 + .word .LC116 .word -1772 .word .LANCHOR2-1756 .word -1754 @@ -17701,7 +17701,7 @@ rk_ftl_garbage_collect.part.19: .word -1944 .word .LANCHOR2-1742 .fnend - .size rk_ftl_garbage_collect.part.19, .-rk_ftl_garbage_collect.part.19 + .size rk_ftl_garbage_collect.part.18, .-rk_ftl_garbage_collect.part.18 .align 2 .global rk_ftl_garbage_collect .type rk_ftl_garbage_collect, %function @@ -17712,41 +17712,41 @@ rk_ftl_garbage_collect: stmfd sp!, {r3, r4, r5, lr} .save {r3, r4, r5, lr} mov r4, r0 - ldr r3, .L2035 + ldr r3, .L2033 mov r5, r1 ldr r0, [r3, #-1000] cmp r0, #0 movne r0, #0 ldmnefd sp!, {r3, r4, r5, pc} - ldr r2, .L2035+4 + ldr r2, .L2033+4 ldrh r2, [r3, r2] cmp r2, #47 ldmlsfd sp!, {r3, r4, r5, pc} - ldr r1, .L2035+8 + ldr r1, .L2033+8 movw r2, #3000 ldrh r1, [r1, r2] movw r2, #65535 cmp r1, r2 - beq .L2031 - ldr r1, .L2035+12 + beq .L2029 + ldr r1, .L2033+12 ldrh r3, [r3, r1] cmp r3, r2 - beq .L2031 + beq .L2029 mov r0, #1 bl FtlGcFreeTempBlock cmp r0, #0 - bne .L2034 -.L2031: + bne .L2032 +.L2029: mov r0, r4 mov r1, r5 ldmfd sp!, {r3, r4, r5, lr} - b rk_ftl_garbage_collect.part.19 -.L2034: + b rk_ftl_garbage_collect.part.18 +.L2032: mov r0, #1 ldmfd sp!, {r3, r4, r5, pc} -.L2036: +.L2034: .align 2 -.L2035: +.L2033: .word .LANCHOR2 .word -2056 .word .LANCHOR1 @@ -17760,37 +17760,37 @@ FtlCacheWriteBack: .fnstart @ args = 0, pretend = 0, frame = 8 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L2059 + ldr r3, .L2057 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, #408] - ldr r3, .L2059+4 + ldr r3, .L2057+4 ldr r1, [r3, #3964] cmp r1, #0 - beq .L2038 + beq .L2036 ldrb r8, [r3, #80] @ zero_extendqisi2 cmp r8, #0 - beq .L2039 + beq .L2037 ldrb r8, [r4, #8] @ zero_extendqisi2 sub lr, r8, #1 rsbs r8, lr, #0 adc r8, r8, lr -.L2039: +.L2037: ldr r0, [r3, #3968] mov r2, r8 ldrb r3, [r4, #9] @ zero_extendqisi2 mov r5, #0 bl FlashProgPages mov r7, r5 - ldr r6, .L2059+4 - ldr r9, .L2059 - b .L2040 -.L2045: + ldr r6, .L2057+4 + ldr r9, .L2057 + b .L2038 +.L2043: ldr r2, [r6, #3968] add r3, r2, r5 ldr r2, [r2, r5] cmn r2, #1 - beq .L2058 + beq .L2056 ldr r2, [r3, #4] cmp r8, #0 ldr r0, [r3, #16] @@ -17805,7 +17805,7 @@ FtlCacheWriteBack: ldr r3, [r3, #12] ldr r0, [r3, #12] cmn r0, #1 - beq .L2043 + beq .L2041 ubfx r0, r0, #10, #16 bl P2V_block_in_plane ldr r2, [r9, #-2064] @@ -17813,34 +17813,34 @@ FtlCacheWriteBack: mov sl, r0 ldrh r2, [r2, r3] cmp r2, #0 - bne .L2044 - ldr r0, .L2059+8 + bne .L2042 + ldr r0, .L2057+8 mov r1, sl bl printk -.L2044: +.L2042: mov r0, sl bl decrement_vpc_count -.L2043: +.L2041: add r7, r7, #1 add r5, r5, #36 -.L2040: +.L2038: ldr r3, [r6, #3964] cmp r7, r3 - bcc .L2045 - b .L2046 -.L2054: + bcc .L2043 + b .L2044 +.L2052: ldr r3, [r6, #3968] mvn r2, #0 movw sl, #3912 str r2, [r3, r5] - b .L2047 -.L2050: + b .L2045 +.L2048: ldr r0, [r3, #4] ubfx r0, r0, #10, #16 bl P2V_block_in_plane ldrh r3, [r4, #0] cmp r3, r0 - bne .L2048 + bne .L2046 ldr r2, [r7, #-2064] mov r3, r3, asl #1 ldrh r1, [r4, #4] @@ -17852,13 +17852,13 @@ FtlCacheWriteBack: mov r3, #0 strb r3, [r4, #6] strh r3, [r4, #4] @ movhi -.L2048: +.L2046: ldrh r3, [r4, #4] cmp r3, #0 - bne .L2049 + bne .L2047 mov r0, r4 bl allocate_new_data_superblock -.L2049: +.L2047: ldr r3, [r7, #-1608] add r3, r3, #1 str r3, [r7, #-1608] @@ -17878,12 +17878,12 @@ FtlCacheWriteBack: str r3, [r0, #4] ldrb r3, [r4, #9] @ zero_extendqisi2 bl FlashProgPages -.L2047: +.L2045: ldr r2, [r6, #3968] add r3, r2, r5 ldr r2, [r2, r5] cmn r2, #1 - beq .L2050 + beq .L2048 ldr r2, [r3, #4] cmp r8, #0 ldr r0, [r3, #16] @@ -17898,7 +17898,7 @@ FtlCacheWriteBack: ldr r3, [r3, #12] ldr r0, [r3, #12] cmn r0, #1 - beq .L2052 + beq .L2050 ubfx r0, r0, #10, #16 bl P2V_block_in_plane ldr r2, [r7, #-2064] @@ -17906,53 +17906,53 @@ FtlCacheWriteBack: mov sl, r0 ldrh r2, [r2, r3] cmp r2, #0 - bne .L2053 - ldr r0, .L2059+8 + bne .L2051 + ldr r0, .L2057+8 mov r1, sl bl printk -.L2053: +.L2051: mov r0, sl bl decrement_vpc_count -.L2052: +.L2050: add r9, r9, #1 add r5, r5, #36 - b .L2041 -.L2058: - ldr r6, .L2059+4 + b .L2039 +.L2056: + ldr r6, .L2057+4 mov r5, #0 - ldr r7, .L2059 + ldr r7, .L2057 mov r9, r5 -.L2041: +.L2039: ldr r3, [r6, #3964] cmp r9, r3 - bcc .L2054 + bcc .L2052 movw r4, #16386 - ldr r6, .L2059 - ldr r5, .L2059+12 - b .L2055 -.L2056: + ldr r6, .L2057 + ldr r5, .L2057+12 + b .L2053 +.L2054: mov r0, #1 mov r1, r0 bl rk_ftl_garbage_collect subs r4, r4, #1 - beq .L2046 -.L2055: + beq .L2044 +.L2053: ldrh r3, [r6, r5] cmp r3, #0 - bne .L2056 -.L2046: - ldr r3, .L2059+4 + bne .L2054 +.L2044: + ldr r3, .L2057+4 mov r2, #0 str r2, [r3, #3964] -.L2038: +.L2036: mov r0, #0 ldmfd sp!, {r2, r3, r4, r5, r6, r7, r8, r9, sl, pc} -.L2060: +.L2058: .align 2 -.L2059: +.L2057: .word .LANCHOR2 .word .LANCHOR0 - .word .LC118 + .word .LC117 .word -1134 .fnend .size FtlCacheWriteBack, .-FtlCacheWriteBack @@ -17977,49 +17977,49 @@ FtlGcFreeTempBlock: 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, .L2083 + ldr r2, .L2081 ldrh r1, [r2, r3] - ldr r2, .L2083+4 - ldr r3, .L2083+8 + ldr r2, .L2081+4 + ldr r3, .L2081+8 ldrh r4, [r3, r2] movw r2, #65535 cmp r4, r2 - beq .L2063 + beq .L2061 cmp r0, #0 - beq .L2064 - ldr ip, .L2083+12 + beq .L2062 + ldr ip, .L2081+12 movw r0, #3000 ldrh lr, [ip, r0] cmp lr, r2 movne r1, #2 - bne .L2064 + bne .L2062 mov r2, #0 strh r2, [ip, r0] @ movhi sub r2, r2, #2048 ldrh r3, [r3, r2] cmp r3, #17 movhi r1, #2 -.L2064: - ldr r0, .L2083+16 +.L2062: + ldr r0, .L2081+16 bl FtlGcScanTempBlk cmn r0, #1 str r0, [sp, #4] - beq .L2065 - ldr r3, .L2083+8 + beq .L2063 + ldr r3, .L2081+8 mov r4, r4, asl #1 ldr r3, [r3, #-2084] ldrh r2, [r3, r4] cmp r2, #4 - bls .L2066 + bls .L2064 sub r2, r2, #5 mov r0, #1 strh r2, [r3, r4] @ movhi bl FtlEctTblFlush -.L2066: - ldr r3, .L2083+8 +.L2064: + ldr r3, .L2081+8 ldr r2, [r3, #-1016] cmp r2, #0 - bne .L2067 + bne .L2065 ldr r2, [r3, #-1608] ldr r0, [sp, #4] add r2, r2, #1 @@ -18027,36 +18027,36 @@ FtlGcFreeTempBlock: ubfx r0, r0, #10, #16 bl FtlBbmMapBadBlock bl FtlBbmTblFlush -.L2067: - ldr r3, .L2083+8 +.L2065: + ldr r3, .L2081+8 mov r2, #0 str r2, [r3, #-1016] - b .L2078 -.L2065: - ldr r2, .L2083+12 + b .L2076 +.L2063: + ldr r2, .L2081+12 movw r3, #3000 ldrh r2, [r2, r3] movw r3, #65535 cmp r2, r3 - bne .L2078 -.L2063: - ldr r6, .L2083+8 + bne .L2076 +.L2061: + ldr r6, .L2081+8 movw r3, #65535 - ldr r5, .L2083+4 + ldr r5, .L2081+4 mov r4, #0 str r4, [r6, #-1016] ldrh r2, [r6, r5] cmp r2, r3 moveq r0, r4 - beq .L2068 + beq .L2066 bl FtlCacheWriteBack - ldr ip, .L2083 + ldr ip, .L2081 movw r0, #3912 ldrb r1, [r6, #-1941] @ zero_extendqisi2 ldrh r3, [r6, r5] ldrh r0, [ip, r0] ldr r2, [r6, #-2064] - ldr sl, .L2083+20 + ldr sl, .L2081+20 mov r3, r3, asl #1 mul r1, r0, r1 strh r1, [r2, r3] @ movhi @@ -18064,8 +18064,8 @@ FtlGcFreeTempBlock: ldrh r2, [r6, sl] add r3, r2, r3 str r3, [r6, #-1860] - b .L2069 -.L2072: + b .L2067 +.L2070: mov r7, #12 ldr r8, [r6, #-1144] mul r7, r7, r4 @@ -18077,7 +18077,7 @@ FtlGcFreeTempBlock: ldr r0, [sp, #4] ldr r3, [r8, r7] cmp r0, r3 - bne .L2070 + bne .L2068 ubfx r0, r0, #10, #16 bl P2V_block_in_plane add r1, r5, #4 @@ -18086,93 +18086,93 @@ FtlGcFreeTempBlock: ldr r0, [r5, #8] bl log2phys mov r0, r7 - b .L2081 -.L2070: + b .L2079 +.L2068: ldr r3, [r5, #4] cmp r0, r3 - beq .L2071 - ldr r3, .L2083+4 + beq .L2069 + ldr r3, .L2081+4 ldrh r0, [r6, r3] -.L2081: +.L2079: bl decrement_vpc_count -.L2071: +.L2069: add r4, r4, #1 uxth r4, r4 -.L2069: +.L2067: ldrh r3, [r6, sl] - ldr r5, .L2083+8 + ldr r5, .L2081+8 cmp r3, r4 - bhi .L2072 + bhi .L2070 movw r0, #65535 bl decrement_vpc_count - ldr r3, .L2083+4 + ldr r3, .L2081+4 ldr r1, [r5, #-2064] ldrh r0, [r5, r3] mov r5, r3 mov r2, r0, asl #1 ldrh r2, [r1, r2] cmp r2, #0 - beq .L2073 + beq .L2071 bl INSERT_DATA_LIST - b .L2074 -.L2073: + b .L2072 +.L2071: bl INSERT_FREE_LIST -.L2074: - ldr r4, .L2083+8 +.L2072: + ldr r4, .L2081+8 mvn r3, #0 - ldr r2, .L2083+20 + ldr r2, .L2081+20 strh r3, [r4, r5] @ movhi mov r3, #0 strh r3, [r4, r2] @ movhi - ldr r2, .L2083+24 + ldr r2, .L2081+24 strh r3, [r4, r2] @ movhi bl l2p_flush bl FtlVpcTblFlush ldr r3, [r4, #-1884] mov r1, r4 - ldr r2, .L2083+28 + ldr r2, .L2081+28 cmp r3, #0 - beq .L2075 + beq .L2073 ldr r3, [r4, #-1824] cmp r3, #29 - bhi .L2075 + bhi .L2073 ldrh r3, [r4, r2] sub r2, r2, #276 mvn r1, #0 ldrh r2, [r4, r2] cmp r2, r3 movcc r3, r3, asl #1 - ldrcc r2, .L2083+32 + ldrcc r2, .L2081+32 strcch r3, [r4, r2] @ movhi - ldr r3, .L2083+36 - ldr r2, .L2083+8 - b .L2082 -.L2075: - ldr r0, .L2083+40 + ldr r3, .L2081+36 + ldr r2, .L2081+8 + b .L2080 +.L2073: + ldr r0, .L2081+40 ldrh r2, [r1, r2] - ldr r3, .L2083+8 + ldr r3, .L2081+8 ldrh r0, [r1, r0] add r2, r2, r2, asl #1 cmp r0, r2, lsr #2 - ble .L2080 - ldr r2, .L2083+36 + ble .L2078 + ldr r2, .L2081+36 mvn r1, #0 strh r1, [r3, r2] @ movhi add r2, r2, #564 mov r1, #20 -.L2082: +.L2080: strh r1, [r3, r2] @ movhi - b .L2080 -.L2078: + b .L2078 +.L2076: mov r0, #1 - b .L2068 -.L2080: + b .L2066 +.L2078: mov r0, #0 -.L2068: +.L2066: ldmfd sp!, {r1, r2, r3, r4, r5, r6, r7, r8, sl, pc} -.L2084: +.L2082: .align 2 -.L2083: +.L2081: .word .LANCHOR0 .word -1948 .word .LANCHOR2 @@ -18195,36 +18195,36 @@ 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, .L2094 + ldr r3, .L2092 ldrb r3, [r3, #80] @ zero_extendqisi2 cmp r3, #0 - ldr r3, .L2094+4 - beq .L2086 + ldr r3, .L2092+4 + beq .L2084 ldr r2, [r3, #-1176] tst r2, #1 - beq .L2086 - ldr r2, .L2094+8 + beq .L2084 + ldr r2, .L2092+8 ldrh r2, [r3, r2] cmp r2, #0 - bne .L2091 -.L2086: + bne .L2089 +.L2084: mov r2, #0 ldr r0, [r3, #-980] ldr r1, [r3, #-1176] mov r3, r2 bl FlashProgPages mov r4, #0 - ldr r5, .L2094+4 + ldr r5, .L2092+4 mov r6, #36 - b .L2088 -.L2090: + b .L2086 +.L2088: mul r3, r6, r4 ldr r1, [r5, #-980] add r2, r1, r3 ldr r1, [r1, r3] cmn r1, #1 - bne .L2089 - ldr r2, .L2094+12 + bne .L2087 + ldr r2, .L2092+12 mov lr, #0 ldr ip, [r7, #-2064] ldrh r0, [r7, r2] @@ -18241,8 +18241,8 @@ Ftl_gc_temp_data_write_back: bl FtlBbmMapBadBlock bl FtlBbmTblFlush bl FtlGcPageVarInit - b .L2093 -.L2089: + b .L2091 +.L2087: ldr r3, [r2, #12] add r4, r4, #1 ldr r1, [r2, #4] @@ -18250,14 +18250,14 @@ Ftl_gc_temp_data_write_back: ldr r0, [r3, #12] ldr r2, [r3, #8] bl FtlGcUpdatePage -.L2088: +.L2086: ldr r1, [r5, #-1176] - ldr r7, .L2094+4 + ldr r7, .L2092+4 cmp r4, r1 - bcc .L2090 + bcc .L2088 ldr r0, [r7, #-980] bl FtlGcBufFree - ldr r3, .L2094+8 + ldr r3, .L2092+8 mov r0, #0 str r0, [r7, #-1176] ldrh r3, [r7, r3] @@ -18265,15 +18265,15 @@ Ftl_gc_temp_data_write_back: ldmnefd sp!, {r3, r4, r5, r6, r7, pc} mov r0, #1 bl FtlGcFreeTempBlock -.L2093: +.L2091: mov r0, #1 ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L2091: +.L2089: mov r0, #0 ldmfd sp!, {r3, r4, r5, r6, r7, pc} -.L2095: +.L2093: .align 2 -.L2094: +.L2092: .word .LANCHOR0 .word .LANCHOR2 .word -1944 @@ -18290,12 +18290,12 @@ FtlGcPageRecovery: stmfd sp!, {r4, r5, r6, lr} .save {r4, r5, r6, lr} movw r5, #3912 - ldr r6, .L2098 - ldr r0, .L2098+4 - ldr r4, .L2098+8 + ldr r6, .L2096 + ldr r0, .L2096+4 + ldr r4, .L2096+8 ldrh r1, [r6, r5] bl FtlGcScanTempBlk - ldr r3, .L2098+12 + ldr r3, .L2096+12 ldrh r2, [r4, r3] ldrh r3, [r6, r5] cmp r2, r3 @@ -18307,9 +18307,9 @@ FtlGcPageRecovery: mov r3, #0 str r3, [r4, #-1016] ldmfd sp!, {r4, r5, r6, pc} -.L2099: +.L2097: .align 2 -.L2098: +.L2096: .word .LANCHOR0 .word .LANCHOR2-1948 .word .LANCHOR2 @@ -18326,9 +18326,9 @@ FtlPowerLostRecovery: stmfd sp!, {r3, r4, r5, lr} .save {r3, r4, r5, lr} movw r2, #266 - ldr r3, .L2101 + ldr r3, .L2099 mov r4, #0 - ldr r5, .L2101+4 + ldr r5, .L2099+4 strh r4, [r3, r2] @ movhi str r4, [r3, #268] mov r0, r5 @@ -18345,9 +18345,9 @@ FtlPowerLostRecovery: bl decrement_vpc_count mov r0, r4 ldmfd sp!, {r3, r4, r5, pc} -.L2102: +.L2100: .align 2 -.L2101: +.L2099: .word .LANCHOR2 .word .LANCHOR2-2044 .fnend @@ -18361,20 +18361,20 @@ FtlSysBlkInit: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r4, r5, r6, lr} .save {r4, r5, r6, lr} - ldr r5, .L2114 - ldr r4, .L2114+4 + ldr r5, .L2112 + ldr r4, .L2112+4 ldr r0, [r5, #3848] uxth r0, r0 bl FtlFreeSysBlkQueueInit bl FtlScanSysBlk - ldr r3, .L2114+8 + ldr r3, .L2112+8 ldrh r2, [r4, r3] movw r3, #65535 cmp r2, r3 - beq .L2112 + beq .L2110 bl FtlLoadSysInfo subs r6, r0, #0 - bne .L2112 + bne .L2110 bl FtlLoadMapInfo bl FtlLoadVonderInfo bl Ftl_load_ext_data @@ -18386,101 +18386,134 @@ FtlSysBlkInit: ldrh r2, [r5, r3] mov r3, r6 ldr r1, [r4, #-1900] - b .L2105 -.L2107: + b .L2103 +.L2105: add r0, r1, r6 add r6, r6, #12 ldr r0, [r0, #4] cmp r0, #0 - blt .L2106 + blt .L2104 add r3, r3, #1 -.L2105: +.L2103: cmp r3, r2 - blt .L2107 -.L2106: - ldr r4, .L2114+4 + blt .L2105 +.L2104: + ldr r4, .L2112+4 cmp r3, r2 - ldr r1, .L2114+12 + ldr r1, .L2112+12 ldrh r0, [r4, r1] add r0, r0, #1 strh r0, [r4, r1] @ movhi - blt .L2108 + blt .L2106 movw r3, #266 ldrh r3, [r4, r3] cmp r3, #0 - beq .L2109 -.L2108: - ldr r0, .L2114+16 + beq .L2107 +.L2106: + ldr r0, .L2112+16 bl FtlSuperblockPowerLostFix - ldr r0, .L2114+20 + ldr r0, .L2112+20 bl FtlSuperblockPowerLostFix - ldr r0, .L2114+24 + ldr r3, .L2112+24 + ldr r1, [r4, #-2064] + ldr r2, .L2112+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, .L2112 + movw r1, #3912 + ldr r3, .L2112+32 + ldr lr, [r4, #-2064] + ldrh ip, [r0, r1] + strh ip, [r4, r3] @ movhi + mov r3, #0 + strh r3, [r4, r2] @ movhi + add r2, r2, #44 + strb r3, [r4, #-2038] + ldrh ip, [r4, r2] + add r2, r2, #4 + ldrh r5, [r4, r2] + mov ip, ip, asl #1 + ldrh r6, [lr, ip] + rsb r5, r5, r6 + strh r5, [lr, ip] @ movhi + ldrh r0, [r0, r1] + ldr r1, .L2112+36 + strh r3, [r4, r2] @ movhi + strb r3, [r4, #-1990] + strh r0, [r4, r1] @ movhi + ldr r0, .L2112+40 bl FtlMapBlkWriteDumpData - ldr r0, .L2114+28 + ldr r0, .L2112+44 bl FtlMapBlkWriteDumpData - ldr r3, .L2114+32 + ldr r3, .L2112+48 ldrh r2, [r4, r3] add r2, r2, #1 strh r2, [r4, r3] @ movhi bl l2p_flush bl FtlVpcTblFlush bl FtlVpcTblFlush -.L2109: +.L2107: mov r0, #1 - ldr r4, .L2114+4 + ldr r4, .L2112+4 bl FtlUpdateVaildLpn - ldr r3, .L2114+36 + ldr r3, .L2112+24 ldrh r0, [r4, r3] movw r3, #65535 cmp r0, r3 - beq .L2110 - ldr r3, .L2114+40 + beq .L2108 + ldr r3, .L2112+28 ldrh r3, [r4, r3] cmp r3, #0 - bne .L2110 - ldr r3, .L2114+44 + bne .L2108 + ldr r3, .L2112+52 ldrh r3, [r4, r3] cmp r3, #0 - bne .L2110 + bne .L2108 bl FtlGcRefreshBlock - ldr r3, .L2114+48 + ldr r3, .L2112+56 ldrh r0, [r4, r3] bl FtlGcRefreshBlock - ldr r0, .L2114+16 + ldr r0, .L2112+16 bl allocate_new_data_superblock - ldr r0, .L2114+20 + ldr r0, .L2112+20 bl allocate_new_data_superblock add r0, r4, #224 bl FtlMapBlkWriteDumpData -.L2110: - ldr r3, .L2114+12 - ldr r2, .L2114+4 +.L2108: + ldr r3, .L2112+12 + ldr r2, .L2112+4 ldrh r0, [r2, r3] ands r4, r0, #31 - bne .L2113 + bne .L2111 bl FtlVpcCheckAndModify mov r0, r4 ldmfd sp!, {r4, r5, r6, pc} -.L2112: +.L2110: mvn r0, #0 ldmfd sp!, {r4, r5, r6, pc} -.L2113: +.L2111: mov r0, #0 ldmfd sp!, {r4, r5, r6, pc} -.L2115: +.L2113: .align 2 -.L2114: +.L2112: .word .LANCHOR0 .word .LANCHOR2 .word -1768 .word -1792 .word .LANCHOR2-2044 .word .LANCHOR2-1996 + .word -2044 + .word -2040 + .word -2042 + .word -1994 .word .LANCHOR2-1088 .word .LANCHOR2+224 .word -1790 - .word -2044 - .word -2040 .word -1992 .word -1996 .fnend @@ -18492,43 +18525,43 @@ FtlInit: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 -.L2117: +.L2115: stmfd sp!, {r3, r4, r5, lr} .save {r3, r4, r5, lr} mvn r3, #0 - ldr r4, .L2119 + ldr r4, .L2117 mov r2, #0 - ldr r1, .L2119+4 + ldr r1, .L2117+4 mov r5, r0 - ldr r0, .L2119+8 + ldr r0, .L2117+8 str r3, [r4, #2960] - ldr r3, .L2119+12 + ldr r3, .L2117+12 str r2, [r3, #412] bl printk mov r0, r5 bl FtlConstantsInit bl FtlMemInit bl FtlVariablesInit - ldr r3, .L2119+16 + ldr r3, .L2117+16 ldr r0, [r3, #3848] uxth r0, r0 bl FtlFreeSysBlkQueueInit bl FtlLoadBbt cmp r0, #0 - bne .L2118 + bne .L2116 bl FtlSysBlkInit cmp r0, #0 moveq r3, #1 streq r3, [r4, #2960] -.L2118: +.L2116: mov r0, #0 ldmfd sp!, {r3, r4, r5, pc} -.L2120: +.L2118: .align 2 -.L2119: +.L2117: .word .LANCHOR1 - .word .LC76 .word .LC75 + .word .LC74 .word .LANCHOR2 .word .LANCHOR0 .fnend @@ -18544,7 +18577,7 @@ rk_ftl_init: .save {r3, r4, r5, lr} mov r0, #2048 bl ftl_malloc - ldr r4, .L2125 + ldr r4, .L2123 mov r5, #0 add r1, r4, #420 str r5, [r4, #112] @@ -18555,7 +18588,7 @@ rk_ftl_init: ldr r3, [r4, #112] cmp r3, r5 mvneq r4, #0 - beq .L2122 + beq .L2120 bl rk_nandc_irq_init ldr r0, [r4, #416] mov r1, r5 @@ -18566,22 +18599,22 @@ rk_ftl_init: ldr r0, [r4, #112] bl FlashInit subs r4, r0, #0 - bne .L2123 - ldr r0, .L2125+4 + bne .L2121 + ldr r0, .L2123+4 bl FtlInit -.L2123: - ldr r0, .L2125+8 +.L2121: + ldr r0, .L2123+8 mov r1, r4 bl printk -.L2122: +.L2120: mov r0, r4 ldmfd sp!, {r3, r4, r5, pc} -.L2126: +.L2124: .align 2 -.L2125: +.L2123: .word .LANCHOR2 .word .LANCHOR0+2200 - .word .LC119 + .word .LC118 .fnend .size rk_ftl_init, .-rk_ftl_init .align 2 @@ -18593,25 +18626,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, .L2130 - ldr r5, .L2130+4 + ldr r3, .L2128 + ldr r5, .L2128+4 ldrh r2, [r5, r3] movw r3, #65535 cmp r2, r3 - beq .L2128 - ldr r3, .L2130+8 + beq .L2126 + ldr r3, .L2128+8 ldrh r3, [r5, r3] cmp r3, #0 - bne .L2129 -.L2128: + bne .L2127 +.L2126: bl FtlCacheWriteBack mov r0, #0 bl FtlGcFreeTempBlock - ldr r0, .L2130+12 + ldr r0, .L2128+12 mov r4, #0 strb r4, [r5, #-1940] bl allocate_data_superblock - ldr r3, .L2130+16 + ldr r3, .L2128+16 strh r4, [r5, r3] @ movhi add r3, r3, #12 strh r4, [r5, r3] @ movhi @@ -18619,13 +18652,13 @@ Ftl_get_new_temp_ppa: bl FtlVpcTblFlush mov r0, r4 bl FtlEctTblFlush -.L2129: - ldr r0, .L2130+12 +.L2127: + ldr r0, .L2128+12 ldmfd sp!, {r3, r4, r5, lr} b get_new_active_ppa -.L2131: +.L2129: .align 2 -.L2130: +.L2128: .word -1948 .word .LANCHOR2 .word -1944 @@ -18643,16 +18676,16 @@ FtlDiscard: 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, .L2141 + ldr r5, .L2139 mov r7, r0 mov r4, r1 ldr r3, [r5, #3952] cmp r2, r3 mvnhi r0, #0 - bhi .L2133 + bhi .L2131 cmp r1, #31 movls r0, #0 - bls .L2133 + bls .L2131 bl FtlCacheWriteBack movw r3, #3918 ldrh r6, [r5, r3] @@ -18663,28 +18696,28 @@ FtlDiscard: mov r5, r0 uxth r7, r7 cmp r7, #0 - beq .L2134 + beq .L2132 rsb r6, r7, r6 add r5, r0, #1 cmp r6, r4 movcs r6, r4 uxth r6, r6 rsb r4, r6, r4 -.L2134: +.L2132: mvn r3, #0 - ldr r7, .L2141 + ldr r7, .L2139 str r3, [sp, #4] movw r6, #3918 - b .L2135 -.L2137: + b .L2133 +.L2135: mov r0, r5 mov r1, sp mov r2, #0 bl log2phys ldr r3, [sp, #0] cmn r3, #1 - beq .L2136 - ldr r3, .L2141+4 + beq .L2134 + ldr r3, .L2139+4 add r1, sp, #4 mov r0, r5 ldr r2, [r3, #424] @@ -18699,29 +18732,29 @@ FtlDiscard: ubfx r0, r0, #10, #16 bl P2V_block_in_plane bl decrement_vpc_count -.L2136: +.L2134: ldrh r3, [r7, r6] add r5, r5, #1 rsb r4, r3, r4 -.L2135: +.L2133: ldrh r3, [r7, r6] cmp r4, r3 - bcs .L2137 - ldr r3, .L2141+4 + bcs .L2135 + ldr r3, .L2139+4 mov r4, #0 ldr r2, [r3, #424] cmp r2, #32 - bls .L2140 + bls .L2138 str r4, [r3, #424] bl l2p_flush bl FtlVpcTblFlush -.L2140: +.L2138: mov r0, r4 -.L2133: +.L2131: ldmfd sp!, {r1, r2, r3, r4, r5, r6, r7, pc} -.L2142: +.L2140: .align 2 -.L2141: +.L2139: .word .LANCHOR0 .word .LANCHOR2 .fnend @@ -18753,17 +18786,17 @@ FtlDeInit: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r3, lr} .save {r3, lr} - ldr r3, .L2146 + ldr r3, .L2144 ldr r3, [r3, #2960] cmp r3, #1 - bne .L2145 + bne .L2143 bl FtlSysFlush -.L2145: +.L2143: mov r0, #0 ldmfd sp!, {r3, pc} -.L2147: +.L2145: .align 2 -.L2146: +.L2144: .word .LANCHOR1 .fnend .size FtlDeInit, .-FtlDeInit @@ -18797,20 +18830,20 @@ FtlWrite: sub sp, sp, #100 mov r5, r2 mov r8, r3 - bne .L2150 + bne .L2148 add r0, r1, #256 mov r1, r2 mov r2, r3 bl FtlVendorPartWrite - b .L2151 -.L2150: - ldr r9, .L2199 + b .L2149 +.L2148: + ldr r9, .L2197 add r7, r2, r1 ldr r3, [r9, #3952] cmp r7, r3 mvnhi r0, #0 - bhi .L2151 - ldr r6, .L2199+4 + bhi .L2149 + ldr r6, .L2197+4 mov r3, #2048 mov r0, r1 str r3, [r6, #428] @@ -18834,12 +18867,12 @@ FtlWrite: str r0, [sp, #44] add r3, r5, r3 str r3, [r6, #-1856] - ldr r3, .L2199+8 + ldr r3, .L2197+8 add r7, r3, #48 movhi r7, r3 ldr r3, [r9, #3964] cmp r3, #0 - beq .L2185 + beq .L2183 ldr r2, [r9, #3968] sub r3, r3, #1 mov r7, #36 @@ -18848,7 +18881,7 @@ FtlWrite: ldr r3, [r7, #16] cmp lr, r3 strne r5, [sp, #32] - bne .L2154 + bne .L2152 ldr r3, [r6, #-1868] mov r0, r4 mov r1, sl @@ -18870,12 +18903,12 @@ FtlWrite: bl memcpy cmp fp, #0 ldr r3, [sp, #4] - bne .L2155 + bne .L2153 ldr r2, [r6, #432] cmp r2, #2 movle r0, fp - ble .L2151 -.L2155: + ble .L2149 +.L2153: add r8, r8, r3 add r4, r4, r9 ldr r3, [sp, #20] @@ -18884,81 +18917,81 @@ FtlWrite: add r3, r3, #1 str r7, [sp, #32] str r3, [sp, #20] -.L2154: - ldr r3, .L2199+4 +.L2152: + ldr r3, .L2197+4 mov r2, #0 ldr r7, [r3, #408] str r2, [r3, #432] - b .L2153 -.L2185: + b .L2151 +.L2183: str r5, [sp, #32] -.L2153: +.L2151: ldr r0, [sp, #20] ldr r1, [sp, #44] bl FtlCacheMetchLpa cmp r0, #0 - beq .L2156 + beq .L2154 bl FtlCacheWriteBack -.L2156: +.L2154: cmp r5, sl, asl #1 - ldr r5, .L2199 + ldr r5, .L2197 mov fp, #0 ldr r6, [sp, #20] movcc r3, #0 movcs r3, #1 str r3, [sp, #24] - ldr r3, .L2199+4 + ldr r3, .L2197+4 mov sl, r5 str fp, [sp, #40] mov r9, r8 str r7, [r3, #408] - b .L2196 -.L2182: + b .L2194 +.L2180: ldrh r1, [r7, #4] cmp r1, #0 - bne .L2158 - ldr r3, .L2199+8 - ldr r2, .L2199+4 + bne .L2156 + ldr r3, .L2197+8 + ldr r2, .L2197+4 cmp r7, r3 - ldr r8, .L2199+12 - bne .L2159 - ldr r3, .L2199+16 + ldr r8, .L2197+12 + bne .L2157 + ldr r3, .L2197+16 ldrh r3, [r2, r3] cmp r3, #0 - bne .L2160 - ldr r0, .L2199+20 + bne .L2158 + ldr r0, .L2197+20 str r3, [sp, #4] bl allocate_new_data_superblock ldr r3, [sp, #4] str r3, [r8, #3004] -.L2160: - ldr r0, .L2199+8 +.L2158: + ldr r0, .L2197+8 bl allocate_new_data_superblock ldr r2, [r8, #3004] - ldr r3, .L2199+20 + ldr r3, .L2197+20 cmp r2, #0 movne r7, r3 - b .L2161 -.L2159: + b .L2159 +.L2157: str r1, [r8, #3004] - ldr r1, .L2199+24 + ldr r1, .L2197+24 ldrh r2, [r2, r1] cmp r2, #0 movne r7, r3 - bne .L2161 + bne .L2159 mov r0, r7 bl allocate_new_data_superblock -.L2161: +.L2159: ldrh r3, [r7, #4] cmp r3, #0 - bne .L2162 + bne .L2160 mov r0, r7 bl allocate_new_data_superblock -.L2162: - ldr r3, .L2199+4 +.L2160: + ldr r3, .L2197+4 str r7, [r3, #408] -.L2158: - ldr r2, .L2199+4 +.L2156: + ldr r2, .L2197+4 mov r8, r7 ldrh r3, [r7, #4] ldr r1, [r2, #-988] @@ -18972,29 +19005,29 @@ FtlWrite: str r3, [sp, #36] mov r3, #0 str r3, [sp, #28] - b .L2163 -.L2179: + b .L2161 +.L2177: ldrh r3, [r8, #4] cmp r3, #0 - beq .L2191 + beq .L2189 ldr r7, [sp, #44] rsb r2, r7, r6 ldr r7, [sp, #24] rsbs r3, r2, #0 adc r3, r3, r2 tst r3, r7 - beq .L2165 + beq .L2163 ldr r7, [sp, #28] cmp r7, #0 - beq .L2165 + beq .L2163 movw lr, #3918 ldr r7, [sp, #32] ldrh r2, [r5, lr] add r1, r7, r4 mls r1, r2, r6, r1 cmp r1, r2 - bne .L2191 -.L2165: + bne .L2189 +.L2163: add r1, sp, #56 mov r2, #0 mov r0, r6 @@ -19007,7 +19040,7 @@ FtlWrite: movw r2, #3924 mov ip, #36 ldrh r2, [r5, r2] - ldr r7, .L2199+4 + ldr r7, .L2197+4 mla r1, ip, lr, r1 mul lr, lr, r2 ldr r7, [r7, #-944] @@ -19022,7 +19055,7 @@ FtlWrite: ldrh lr, [r5, r0] ldr r0, [r5, #3964] mul lr, r0, lr - ldr r0, .L2199+4 + ldr r0, .L2197+4 bic lr, lr, #3 str lr, [sp, #12] ldr lr, [r0, #-964] @@ -19041,10 +19074,10 @@ FtlWrite: ldr r3, [sp, #4] str r1, [sp, #12] orrs r1, r1, r3 - beq .L2166 + beq .L2164 ldr r2, [sp, #12] cmp r2, #0 - beq .L2167 + beq .L2165 movw r3, #3918 mov r0, r4 ldrh fp, [r5, r3] @@ -19055,10 +19088,10 @@ FtlWrite: str r1, [sp, #40] cmp fp, r3 movcs fp, r3 - b .L2168 -.L2167: + b .L2166 +.L2165: cmp r3, #0 - beq .L2168 + beq .L2166 ldr r3, [sp, #32] movw lr, #3918 add fp, r3, r4 @@ -19067,11 +19100,11 @@ FtlWrite: ldr r3, [sp, #12] str r3, [sp, #40] uxth fp, fp -.L2168: +.L2166: movw lr, #3918 ldrh r3, [r5, lr] cmp fp, r3 - bne .L2169 + bne .L2167 ldr r3, [sp, #12] ldr r0, [sl, #3964] cmp r3, #0 @@ -19085,16 +19118,16 @@ FtlWrite: mov r3, #36 mla r3, r3, r0, r2 strne r1, [r3, #8] - bne .L2172 + bne .L2170 ldr r0, [r3, #8] movw r3, #3922 ldrh r2, [sl, r3] - b .L2197 -.L2169: + b .L2195 +.L2167: ldr r2, [sp, #56] mov r3, #36 cmn r2, #1 - beq .L2173 + beq .L2171 ldr r1, [r5, #3964] add r0, sp, #60 str r2, [sp, #64] @@ -19110,23 +19143,23 @@ FtlWrite: bl FlashReadPages ldr r3, [sp, #60] cmn r3, #1 - ldr r3, .L2199+4 + ldr r3, .L2197+4 ldreq r2, [r3, #-1632] addeq r2, r2, #1 streq r2, [r3, #-1632] - beq .L2175 + beq .L2173 ldr r2, [r7, #8] cmp r2, r6 - beq .L2175 + beq .L2173 ldr r2, [r3, #-1632] - ldr r0, .L2199+28 + ldr r0, .L2197+28 add r2, r2, #1 str r2, [r3, #-1632] mov r2, r6 ldr r1, [r7, #8] bl printk - b .L2175 -.L2173: + b .L2173 +.L2171: ldr r1, [r5, #3964] ldr r2, [r5, #3968] mla r3, r3, r1, r2 @@ -19135,7 +19168,7 @@ FtlWrite: movw r3, #3922 ldrh r2, [r5, r3] bl ftl_memset -.L2175: +.L2173: ldr r3, [sp, #12] ldr r1, [r5, #3964] cmp r3, #0 @@ -19153,22 +19186,22 @@ FtlWrite: ldreq r0, [r3, #8] addne r0, r0, r3, asl #9 addeq r1, r9, r1, asl #9 - b .L2197 -.L2166: + b .L2195 +.L2164: ldr r3, [sp, #24] ldr r2, [r5, #3964] cmp r3, #0 ldr r3, [r5, #3968] mla ip, ip, r2, r3 - beq .L2177 + beq .L2175 movw lr, #3918 ldrh r3, [r5, lr] mul r3, r3, r6 rsb r3, r4, r3 add r3, r9, r3, asl #9 str r3, [ip, #8] - b .L2172 -.L2177: + b .L2170 +.L2175: movw r0, #3918 movw r3, #3922 ldrh r1, [r5, r0] @@ -19177,14 +19210,14 @@ FtlWrite: mul r1, r1, r6 rsb r1, r4, r1 add r1, r9, r1, asl #9 -.L2197: +.L2195: bl memcpy -.L2172: - ldr r3, .L2199+32 +.L2170: + ldr r3, .L2197+32 ldr r0, [sp, #52] ldr lr, [sp, #48] strh r3, [r0, lr] @ movhi - ldr r3, .L2199+4 + ldr r3, .L2197+4 str r6, [r7, #8] add r6, r6, #1 ldr r2, [r3, #-1844] @@ -19204,35 +19237,35 @@ FtlWrite: ldr r3, [sp, #28] add r3, r3, #1 str r3, [sp, #28] -.L2163: +.L2161: ldr r7, [sp, #28] ldr r3, [sp, #36] cmp r7, r3 - bne .L2179 + bne .L2177 mov r7, r8 - b .L2164 -.L2191: + b .L2162 +.L2189: ldr r3, [sp, #28] mov r7, r8 str r3, [sp, #36] -.L2164: +.L2162: ldr r3, [sp, #16] ldr lr, [sp, #36] ldr r2, [r5, #3964] rsb r3, lr, r3 str r3, [sp, #16] - ldr r3, .L2199+4 + ldr r3, .L2197+4 ldr r0, [sp, #24] ldr r3, [r3, #-988] cmp r2, r3 orrcs r0, r0, #1 uxtb r3, r0 cmp r3, #0 - bne .L2180 + bne .L2178 ldrh r2, [r7, #4] cmp r2, #0 - bne .L2194 -.L2180: + bne .L2192 +.L2178: bl FtlCacheWriteBack ldr lr, [sp, #16] mov r3, #0 @@ -19240,24 +19273,24 @@ FtlWrite: cmp lr, #3 ldr r3, [sp, #24] movls r3, #0 -.L2194: +.L2192: str r3, [sp, #24] -.L2196: +.L2194: ldr r3, [sp, #16] cmp r3, #0 - bne .L2182 + bne .L2180 mov r0, r3 ldr r7, [sp, #44] ldr r3, [sp, #20] rsb r1, r3, r7 bl rk_ftl_garbage_collect ldr r0, [sp, #16] -.L2151: +.L2149: add sp, sp, #100 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L2200: +.L2198: .align 2 -.L2199: +.L2197: .word .LANCHOR0 .word .LANCHOR2 .word .LANCHOR2-2044 @@ -19265,7 +19298,7 @@ FtlWrite: .word -1992 .word .LANCHOR2-1996 .word -2040 - .word .LC120 + .word .LC119 .word -3947 .fnend .size FtlWrite, .-FtlWrite @@ -19307,24 +19340,24 @@ FtlRead: mov r4, r1 mov r8, r3 str r2, [sp, #28] - bne .L2203 + bne .L2201 add r0, r1, #256 mov r1, r2 mov r2, r3 bl FtlVendorPartRead str r0, [sp, #16] - b .L2204 -.L2203: + b .L2202 +.L2201: ldr r3, [sp, #28] add r3, r3, r1 str r3, [sp, #20] - ldr r3, .L2233 + ldr r3, .L2231 ldr r1, [sp, #20] ldr r2, [r3, #3952] cmp r1, r2 mvnhi r3, #0 strhi r3, [sp, #16] - bhi .L2204 + bhi .L2202 movw r2, #3918 mov r0, r4 ldrh r5, [r3, r2] @@ -19340,7 +19373,7 @@ FtlRead: ldr r1, [sp, #28] add r3, r3, r0 str r3, [sp, #8] - ldr r3, .L2233+4 + ldr r3, .L2231+4 mov fp, r0 ldr r0, [sp, #12] ldr r2, [r3, #-1852] @@ -19353,32 +19386,32 @@ FtlRead: str r2, [r3, #-1880] bl FtlCacheMetchLpa cmp r0, #0 - beq .L2205 + beq .L2203 bl FtlCacheWriteBack -.L2205: +.L2203: mov r9, #0 ldr r6, [sp, #12] str r9, [sp, #32] mov r5, r9 str r9, [sp, #16] - ldr r7, .L2233 - b .L2228 -.L2222: + ldr r7, .L2231 + b .L2226 +.L2220: mov r2, #0 mov r0, r6 add r1, sp, #60 bl log2phys ldr r2, [sp, #60] cmn r2, #1 - bne .L2229 - b .L2232 -.L2210: + bne .L2227 + b .L2230 +.L2208: mla r0, r0, r6, sl cmp r0, r4 - bcc .L2209 + bcc .L2207 ldr r2, [sp, #20] cmp r0, r2 - bcs .L2209 + bcs .L2207 rsb r0, r4, r0 mov r1, #0 mov r2, #512 @@ -19386,19 +19419,19 @@ FtlRead: add r0, r8, r0, asl #9 bl ftl_memset ldr r3, [sp, #4] -.L2209: +.L2207: add sl, sl, #1 - b .L2207 -.L2232: + b .L2205 +.L2230: mov sl, #0 movw r3, #3918 -.L2207: +.L2205: ldrh r0, [r7, r3] cmp sl, r0 - bcc .L2210 - b .L2211 -.L2229: - ldr r3, .L2233+4 + bcc .L2208 + b .L2209 +.L2227: + ldr r3, .L2231+4 mov sl, #36 ldr r1, [r3, #-984] mla sl, sl, r5, r1 @@ -19406,7 +19439,7 @@ FtlRead: cmp r6, r1 str r2, [sl, #4] movw r2, #3918 - bne .L2212 + bne .L2210 ldr r3, [r3, #-960] mov r0, r4 str r3, [sl, #8] @@ -19423,12 +19456,12 @@ FtlRead: str r1, [sp, #32] cmp r1, r3 streq r8, [sl, #8] - b .L2213 -.L2212: + b .L2211 +.L2210: cmp r6, fp ldrneh r3, [r7, r2] mulne r3, r3, r6 - bne .L2230 + bne .L2228 ldr r3, [r3, #-956] ldrh r2, [r7, r2] ldr r1, [sp, #20] @@ -19436,14 +19469,14 @@ FtlRead: mul r3, r2, r6 rsb r9, r3, r1 cmp r9, r2 - bne .L2213 -.L2230: + bne .L2211 +.L2228: rsb r3, r4, r3 add r3, r8, r3, asl #9 str r3, [sl, #8] -.L2213: +.L2211: movw r3, #3924 - ldr r2, .L2233+4 + ldr r2, .L2231+4 ldrh r3, [r7, r3] str r6, [sl, #16] ldr r2, [r2, #-948] @@ -19452,20 +19485,20 @@ FtlRead: bic r3, r3, #3 add r3, r2, r3 str r3, [sl, #12] -.L2211: +.L2209: ldr r3, [sp, #8] add r6, r6, #1 subs r3, r3, #1 str r3, [sp, #8] - beq .L2215 + beq .L2213 movw r3, #3844 ldrh r3, [r7, r3] cmp r5, r3, asl #3 - bne .L2228 -.L2215: + bne .L2226 +.L2213: cmp r5, #0 - beq .L2228 - ldr sl, .L2233+4 + beq .L2226 + ldr sl, .L2231+4 mov r1, r5 mov r2, #0 ldr r0, [sl, #-984] @@ -19482,7 +19515,7 @@ FtlRead: str r3, [sp, #48] mov r3, #0 str r3, [sp, #24] -.L2221: +.L2219: ldr r3, [sp, #24] mov r5, #36 ldr r1, [sp, #12] @@ -19491,32 +19524,32 @@ FtlRead: add r3, r3, r5 ldr r2, [r3, #16] cmp r2, r1 - bne .L2217 + bne .L2215 ldr r1, [r3, #8] ldr r3, [sl, #-960] cmp r1, r3 - bne .L2218 + bne .L2216 ldr r3, [sp, #40] mov r0, r8 ldr r2, [sp, #44] add r1, r1, r3 - b .L2231 -.L2217: + b .L2229 +.L2215: cmp r2, fp - bne .L2218 + bne .L2216 ldr r1, [r3, #8] ldr r3, [sl, #-956] cmp r1, r3 - bne .L2218 + bne .L2216 movw r2, #3918 ldrh r0, [r7, r2] ldr r2, [sp, #48] mul r0, r0, fp rsb r0, r4, r0 add r0, r8, r0, asl #9 -.L2231: +.L2229: bl memcpy -.L2218: +.L2216: ldr r3, [sl, #-984] add r0, r3, r5 ldr r2, [r3, r5] @@ -19527,38 +19560,38 @@ FtlRead: streq r1, [sl, #-1632] ldr r3, [r3, r5] cmp r3, #256 - bne .L2220 + bne .L2218 ldr r0, [r0, #4] ubfx r0, r0, #10, #16 bl P2V_block_in_plane bl FtlGcRefreshBlock -.L2220: +.L2218: ldr r3, [sp, #24] add r3, r3, #1 str r3, [sp, #24] cmp r3, r6 - bne .L2221 + bne .L2219 ldr r6, [sp, #52] mov r5, #0 -.L2228: +.L2226: ldr r3, [sp, #8] cmp r3, #0 - bne .L2222 - ldr r3, .L2233+8 - ldr r2, .L2233+4 + bne .L2220 + ldr r3, .L2231+8 + ldr r2, .L2231+4 ldrh r3, [r2, r3] cmp r3, #0 - beq .L2204 + beq .L2202 ldr r0, [sp, #8] mov r1, #1 bl rk_ftl_garbage_collect -.L2204: +.L2202: ldr r0, [sp, #16] add sp, sp, #68 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L2234: +.L2232: .align 2 -.L2233: +.L2231: .word .LANCHOR0 .word .LANCHOR2 .word -1134 @@ -19600,9 +19633,9 @@ FlashLoadFactorBbt: stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} movw r2, #2214 - ldr r9, .L2245 + ldr r9, .L2243 movw r3, #2212 - ldr r4, .L2245+4 + ldr r4, .L2243+4 .pad #52 sub sp, sp, #52 mov r1, #0 @@ -19622,14 +19655,14 @@ FlashLoadFactorBbt: add r3, r8, r7 uxth r3, r3 str r3, [sp, #4] - b .L2237 -.L2243: + b .L2235 +.L2241: ldr r5, [sp, #4] sub r3, r8, #8 mul fp, r8, r4 - ldr sl, .L2245+4 - b .L2238 -.L2241: + ldr sl, .L2243+4 + b .L2236 +.L2239: add r2, fp, r5 mov r1, #1 add r0, sp, #12 @@ -19641,47 +19674,47 @@ FlashLoadFactorBbt: ldr r2, [sp, #12] ldr r3, [sp, #0] cmn r2, #1 - beq .L2239 + beq .L2237 ldr r2, [sl, #148] ldrh r1, [r2, #0] movw r2, #61664 cmp r1, r2 - bne .L2239 - ldr r0, .L2245+8 + bne .L2237 + ldr r0, .L2243+8 mov r1, r4 mov r2, r5 add r6, r6, #1 bl printk - ldr r3, .L2245+4 + ldr r3, .L2243+4 uxth r6, r6 add r3, r3, r4, asl #1 strh r5, [r3, #208] @ movhi - b .L2240 -.L2239: + b .L2238 +.L2237: sub r5, r5, #1 uxth r5, r5 -.L2238: +.L2236: cmp r5, r3 - bgt .L2241 -.L2240: + bgt .L2239 +.L2238: ldrb r3, [r9, #3766] @ zero_extendqisi2 add r4, r4, #1 cmp r3, r6 uxtb r4, r4 moveq r7, #0 -.L2237: +.L2235: ldrb r3, [r9, #3766] @ zero_extendqisi2 cmp r3, r4 - bhi .L2243 + bhi .L2241 mov r0, r7 add sp, sp, #52 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L2246: +.L2244: .align 2 -.L2245: +.L2243: .word .LANCHOR0 .word .LANCHOR2 - .word .LC121 + .word .LC120 .fnend .size FlashLoadFactorBbt, .-FlashLoadFactorBbt .align 2 @@ -19691,7 +19724,7 @@ FlashReadFacBbtData: .fnstart @ args = 0, pretend = 0, frame = 40 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L2257 + ldr r3, .L2255 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, lr} .save {r4, r5, r6, r7, r8, r9, sl, lr} mov r6, r1 @@ -19704,7 +19737,7 @@ FlashReadFacBbtData: sub sp, sp, #40 ldr r3, [r3, #3780] mov r4, r0 - ldr r7, .L2257+4 + ldr r7, .L2255+4 mul r8, r8, r2 str r3, [sp, #12] ldr r3, [r7, #148] @@ -19714,8 +19747,8 @@ FlashReadFacBbtData: mul sl, r8, r6 uxth r5, r5 sub r8, r8, #16 - b .L2248 -.L2254: + b .L2246 +.L2252: mov r1, #1 add r3, r5, sl add r0, sp, #4 @@ -19725,19 +19758,19 @@ FlashReadFacBbtData: bl FlashReadPages ldr r3, [sp, #4] cmn r3, #1 - beq .L2249 + beq .L2247 ldr r3, [r7, #148] ldrh r2, [r3, #0] movw r3, #61664 cmp r2, r3 - bne .L2249 + bne .L2247 cmp r4, #0 moveq r0, r4 - beq .L2250 + beq .L2248 cmp r6, #0 - beq .L2256 - b .L2252 -.L2253: + beq .L2254 + b .L2250 +.L2251: ldr r3, [r0, #3780] ubfx r2, r6, #5, #16 and r5, r6, #31 @@ -19746,44 +19779,44 @@ FlashReadFacBbtData: uxth r6, r6 orr lr, lr, r1, asl r5 str lr, [r3, r2, asl #2] - b .L2251 -.L2256: - ldr ip, .L2257+4 + b .L2249 +.L2254: + ldr ip, .L2255+4 mov r1, #1 - ldr r0, .L2257 -.L2251: + ldr r0, .L2255 +.L2249: ldr r3, [ip, #132] cmp r6, r3 - bcc .L2253 -.L2252: - ldr r3, .L2257 + bcc .L2251 +.L2250: + ldr r3, .L2255 mov r2, r9 mov r0, r4 ldr r1, [r3, #3780] bl memcpy mov r2, #4 - ldr r0, .L2257+8 + ldr r0, .L2255+8 mov r1, r4 mov r3, r2 bl rknand_print_hex mov r0, #0 - b .L2250 -.L2249: + b .L2248 +.L2247: sub r5, r5, #1 uxth r5, r5 -.L2248: +.L2246: cmp r5, r8 - bgt .L2254 + bgt .L2252 mvn r0, #0 -.L2250: +.L2248: add sp, sp, #40 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, pc} -.L2258: +.L2256: .align 2 -.L2257: +.L2255: .word .LANCHOR0 .word .LANCHOR2 - .word .LC122 + .word .LC121 .fnend .size FlashReadFacBbtData, .-FlashReadFacBbtData .align 2 @@ -19793,12 +19826,12 @@ FlashGetBadBlockList: .fnstart @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L2266 + ldr r3, .L2264 stmfd sp!, {r4, r5, r6, r7, r8, lr} .save {r4, r5, r6, r7, r8, lr} mov r5, r0 ldr r3, [r3, #2776] - ldr r6, .L2266+4 + ldr r6, .L2264+4 ldrb r2, [r3, #13] @ zero_extendqisi2 ldrh r4, [r3, #14] ldr r0, [r6, #116] @@ -19808,14 +19841,14 @@ FlashGetBadBlockList: mov r2, r2, lsr #3 bl FlashReadFacBbtData cmn r0, #1 - beq .L2265 + beq .L2263 mov r2, #0 mov r0, r4, lsr #4 mov r3, r2 sub r4, r4, #1 mov r1, #1 - b .L2261 -.L2263: + b .L2259 +.L2261: ldr ip, [r6, #116] mov r8, r2, lsr #5 and r7, r2, #31 @@ -19826,24 +19859,24 @@ FlashGetBadBlockList: uxthne r3, r3 strneh r2, [r5, ip] @ movhi cmp r3, r0 - bcs .L2265 + bcs .L2263 add r2, r2, #1 uxth r2, r2 -.L2261: +.L2259: cmp r2, r4 - blt .L2263 - b .L2260 -.L2265: + blt .L2261 + b .L2258 +.L2263: mov r3, #0 -.L2260: +.L2258: mov r3, r3, asl #1 mvn r2, #0 mov r0, #0 strh r2, [r5, r3] @ movhi ldmfd sp!, {r4, r5, r6, r7, r8, pc} -.L2267: +.L2265: .align 2 -.L2266: +.L2264: .word .LANCHOR0 .word .LANCHOR2 .fnend @@ -19859,13 +19892,13 @@ FtlMakeBbt: .save {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} bl FtlBbtMemInit mov r5, #0 - ldr r7, .L2285 + ldr r7, .L2283 bl FtlLoadFactoryBbt - ldr r6, .L2285+4 + ldr r6, .L2283+4 add sl, r7, #12 - ldr r4, .L2285+8 - b .L2269 -.L2275: + ldr r4, .L2283+8 + b .L2267 +.L2273: ldrh r3, [sl], #2 movw r2, #65535 ldr r0, [r4, #-2076] @@ -19874,11 +19907,11 @@ FtlMakeBbt: cmp r3, r2 str r0, [r4, #176] str r9, [r4, #180] - beq .L2270 + beq .L2268 ldrh r8, [r6, fp] mov r1, #1 mov r2, r1 - ldr r0, .L2285+12 + ldr r0, .L2283+12 mla r8, r8, r5, r3 mov r3, r8, asl #10 str r3, [r4, #172] @@ -19889,31 +19922,31 @@ FtlMakeBbt: ldr r1, [r4, #176] mov r2, r2, lsr #3 bl memcpy - b .L2271 -.L2270: + b .L2269 +.L2268: mov r1, r5 bl FlashGetBadBlockList ldr r0, [r4, #176] ldr r1, [r7, #28] bl FtlBbt2Bitmap ldrh fp, [r6, fp] -.L2273: +.L2271: sub fp, fp, #1 uxth fp, fp -.L2284: +.L2282: movw r8, #3908 ldrh r0, [r6, r8] mla r0, r0, r5, fp uxth r0, r0 bl FtlBbmIsBadBlock cmp r0, #1 - beq .L2273 + beq .L2271 mov r1, #0 mov r2, #16 strh fp, [sl, #-2] @ movhi ldr r0, [r4, #-952] bl ftl_memset - ldr r3, .L2285+16 + ldr r3, .L2283+16 strh r3, [r9, #0] @ movhi mov r3, #0 str r3, [r9, #4] @@ -19926,89 +19959,89 @@ FtlMakeBbt: mla r8, r8, r5, r3 mov r3, r8, asl #10 str r3, [r4, #172] - ldr r3, .L2285+20 + ldr r3, .L2283+20 ldrh r2, [r4, r3] mov r2, r2, asl #2 bl memcpy mov r1, #1 mov r2, r1 - ldr r0, .L2285+12 + ldr r0, .L2283+12 bl FlashEraseBlocks mov r1, #1 mov r3, r1 - ldr r0, .L2285+12 + ldr r0, .L2283+12 mov r2, r1 bl FlashProgPages ldr r3, [r4, #168] cmn r3, #1 - bne .L2271 + bne .L2269 uxth r0, r8 bl FtlBbmMapBadBlock - b .L2284 -.L2271: + b .L2282 +.L2269: uxth r0, r8 add r5, r5, #1 bl FtlBbmMapBadBlock add r7, r7, #4 -.L2269: +.L2267: movw r3, #3866 ldrh r3, [r6, r3] cmp r5, r3 - bcc .L2275 + bcc .L2273 mov r4, #0 - ldr r7, .L2285+4 + ldr r7, .L2283+4 movw r6, #3926 - b .L2276 -.L2277: + b .L2274 +.L2275: mov r0, r4 add r4, r4, #1 bl FtlBbmMapBadBlock uxth r4, r4 -.L2276: +.L2274: ldrh r3, [r7, r6] - ldr r5, .L2285+4 + ldr r5, .L2283+4 cmp r3, r4 - bhi .L2277 + bhi .L2275 movw r7, #3992 movw r6, #3980 ldrh r4, [r5, r7] sub r4, r4, #1 uxth r4, r4 - b .L2278 -.L2283: + b .L2276 +.L2281: mov r0, r4 bl FtlBbmIsBadBlock cmp r0, #1 - beq .L2279 + beq .L2277 mov r0, r4 bl FlashTestBlk cmp r0, #0 - beq .L2280 + beq .L2278 mov r0, r4 bl FtlBbmMapBadBlock - b .L2279 -.L2280: + b .L2277 +.L2278: ldrh r2, [r5, r6] movw r3, #65535 cmp r2, r3 streqh r4, [r5, r6] @ movhi -.L2281: - ldrne r2, .L2285+4 +.L2279: + ldrne r2, .L2283+4 movne r3, #3984 strneh r4, [r2, r3] @ movhi - bne .L2282 -.L2279: + bne .L2280 +.L2277: sub r4, r4, #1 uxth r4, r4 -.L2278: +.L2276: ldrh r3, [r5, r7] sub r3, r3, #48 cmp r4, r3 - bgt .L2283 -.L2282: - ldr r4, .L2285+4 + bgt .L2281 +.L2280: + ldr r4, .L2283+4 movw r7, #3980 - ldr r3, .L2285+8 + ldr r3, .L2283+8 mov r6, #3984 mov r5, #0 movw r8, #3982 @@ -20040,9 +20073,9 @@ FtlMakeBbt: bl FtlBbmTblFlush mov r0, r5 ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L2286: +.L2284: .align 2 -.L2285: +.L2283: .word .LANCHOR0+3980 .word .LANCHOR0 .word .LANCHOR2 @@ -20061,25 +20094,25 @@ FtlLowFormat: stmfd sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} mov r2, #0 - ldr r3, .L2307 + ldr r3, .L2305 str r2, [r3, #-1848] str r2, [r3, #-1844] - ldr r3, .L2307+4 + ldr r3, .L2305+4 ldr r0, [r3, #3848] uxth r0, r0 bl FtlFreeSysBlkQueueInit bl FtlLoadBbt cmp r0, #0 - beq .L2288 + beq .L2286 bl FtlMakeBbt -.L2288: +.L2286: mov r3, #0 - ldr ip, .L2307+4 + ldr ip, .L2305+4 movw r0, #3918 - ldr r2, .L2307 - ldr r1, .L2307+8 - b .L2289 -.L2290: + ldr r2, .L2305 + ldr r1, .L2305+8 + b .L2287 +.L2288: ldr lr, [r2, #-960] mvn r4, r3 orr r4, r3, r4, asl #16 @@ -20088,17 +20121,17 @@ FtlLowFormat: str r1, [lr, r3, asl #2] add r3, r3, #1 uxth r3, r3 -.L2289: +.L2287: ldrh lr, [ip, r0] - ldr r8, .L2307+4 + ldr r8, .L2305+4 cmp r3, lr, asl #7 - blt .L2290 + blt .L2288 movw r3, #3852 mov r5, #0 ldrh r6, [r8, r3] movw r7, #3854 - b .L2291 -.L2292: + b .L2289 +.L2290: mov r0, r6 mov r1, #1 bl FtlLowFormatEraseBlock @@ -20106,23 +20139,23 @@ FtlLowFormat: uxth r6, r6 add r5, r5, r0 uxth r5, r5 -.L2291: +.L2289: ldrh r3, [r8, r7] - ldr r4, .L2307+4 + ldr r4, .L2305+4 cmp r3, r6 - bhi .L2292 + bhi .L2290 movw r3, #3844 ldrh r1, [r4, r3] sub r3, r5, #3 cmp r3, r1, asl #1 - bge .L2293 -.L2297: + bge .L2291 +.L2295: mov r4, #0 - ldr r8, .L2307+4 + ldr r8, .L2305+4 mov r6, r4 movw r7, #3852 - b .L2294 -.L2293: + b .L2292 +.L2291: mov r0, r5 movw r6, #3854 bl __aeabi_uidiv @@ -20135,19 +20168,19 @@ FtlLowFormat: bl FtlFreeSysBlkQueueInit movw r3, #3852 ldrh r5, [r4, r3] - b .L2295 -.L2296: + b .L2293 +.L2294: mov r0, r5 mov r1, #1 bl FtlLowFormatEraseBlock add r5, r5, #1 uxth r5, r5 -.L2295: +.L2293: ldrh r3, [r4, r6] cmp r3, r5 - bhi .L2296 - b .L2297 -.L2298: + bhi .L2294 + b .L2295 +.L2296: mov r0, r6 mov r1, #0 bl FtlLowFormatEraseBlock @@ -20155,17 +20188,17 @@ FtlLowFormat: uxth r6, r6 add r4, r4, r0 uxth r4, r4 -.L2294: +.L2292: ldrh r3, [r8, r7] - ldr r5, .L2307+4 + ldr r5, .L2305+4 cmp r3, r6 - bhi .L2298 + bhi .L2296 movw r3, #3854 ldr fp, [r5, #3856] ldrh r3, [r5, r3] - ldr r9, .L2307 + ldr r9, .L2305 mov r0, fp - ldr sl, .L2307+12 + ldr sl, .L2305+12 str r3, [r5, #3976] movw r3, #3844 ldrh r6, [r5, r3] @@ -20179,7 +20212,7 @@ FtlLowFormat: str r0, [r5, #3972] mul r3, r3, r6 cmp r4, r3 - ble .L2299 + ble .L2297 rsb r0, r4, fp mov r1, r6 bl __aeabi_uidiv @@ -20187,27 +20220,27 @@ FtlLowFormat: mov r0, r0, lsr #5 add r0, r0, #24 strh r0, [r9, sl] @ movhi -.L2299: - ldr r5, .L2307 +.L2297: + ldr r5, .L2305 ldr r3, [r5, #-1884] cmp r3, #1 - bne .L2300 + bne .L2298 mov r0, r4 mov r1, r6 bl __aeabi_uidiv - ldr sl, .L2307+12 + ldr sl, .L2305+12 ldrh r9, [r5, sl] uxtah r0, r9, r0 add r9, r9, r0, lsr #2 strh r9, [r5, sl] @ movhi -.L2300: - ldr r0, .L2307+4 +.L2298: + ldr r0, .L2305+4 mov r3, #3904 ldrh r3, [r0, r3] cmp r3, #0 - beq .L2301 - ldr r1, .L2307 - ldr r2, .L2307+12 + beq .L2299 + ldr r1, .L2305 + ldr r2, .L2305+12 ldrh ip, [r1, r2] add ip, ip, r3, lsr #1 strh ip, [r1, r2] @ movhi @@ -20217,11 +20250,11 @@ FtlLowFormat: addgt r3, r3, #32 addgt r8, r8, r3 strgth r8, [r1, r2] @ movhi -.L2301: - ldr r4, .L2307 - ldr r5, .L2307+4 - ldr r3, .L2307+12 - ldr r7, .L2307+16 +.L2299: + ldr r4, .L2305 + ldr r5, .L2305+4 + ldr r3, .L2305+12 + ldr r7, .L2305+16 ldr r2, [r5, #3972] ldrh r3, [r4, r3] rsb r3, r3, r2 @@ -20243,9 +20276,9 @@ FtlLowFormat: ldr r0, [r4, #-2064] mov r2, r2, asl #1 bl ftl_memset - ldr r1, .L2307+20 + ldr r1, .L2305+20 mov r3, #0 - ldr r2, .L2307+24 + ldr r2, .L2305+24 str r3, [r4, #-1892] strh r3, [r4, r1] @ movhi sub r1, r1, #288 @@ -20263,14 +20296,14 @@ FtlLowFormat: ldr r0, [r4, #-1888] mov r2, r2, lsr #3 bl ftl_memset -.L2302: - ldr r0, .L2307+28 +.L2300: + ldr r0, .L2305+28 bl make_superblock ldrb r3, [r4, #-2037] @ zero_extendqisi2 - ldr r5, .L2307 + ldr r5, .L2305 cmp r3, #0 - ldr r3, .L2307+16 - bne .L2303 + ldr r3, .L2305+16 + bne .L2301 ldrh r3, [r4, r7] ldr r2, [r4, #-2064] mov r3, r3, asl #1 @@ -20278,22 +20311,22 @@ FtlLowFormat: ldrh r3, [r4, r7] add r3, r3, #1 strh r3, [r4, r7] @ movhi - b .L2302 -.L2303: + b .L2300 +.L2301: ldr r2, [r5, #-1848] mvn r7, #0 ldr r1, [r5, #-2064] - ldr r6, .L2307+32 + ldr r6, .L2305+32 str r2, [r5, #-2032] add r2, r2, #1 str r2, [r5, #-1848] - ldr r2, .L2307+36 + ldr r2, .L2305+36 ldrh r0, [r5, r2] ldrh r2, [r5, r3] mov r2, r2, asl #1 strh r0, [r1, r2] @ movhi mov r2, #0 - ldr r0, .L2307+40 + ldr r0, .L2305+40 ldrh r3, [r5, r3] strb r2, [r5, #-1990] add r3, r3, #1 @@ -20301,13 +20334,13 @@ FtlLowFormat: strh r3, [r5, r6] @ movhi mov r3, #1 strb r3, [r5, #-1988] -.L2304: - ldr r0, .L2307+44 +.L2302: + ldr r0, .L2305+44 bl make_superblock ldrb r3, [r5, #-1989] @ zero_extendqisi2 - ldr r4, .L2307 + ldr r4, .L2305 cmp r3, #0 - bne .L2305 + bne .L2303 ldrh r3, [r5, r6] ldr r2, [r5, #-2064] mov r3, r3, asl #1 @@ -20315,24 +20348,24 @@ FtlLowFormat: ldrh r3, [r5, r6] add r3, r3, #1 strh r3, [r5, r6] @ movhi - b .L2304 -.L2305: + b .L2302 +.L2303: ldr r3, [r4, #-1848] mvn r5, #0 ldr r2, [r4, #-2064] str r3, [r4, #-1984] add r3, r3, #1 str r3, [r4, #-1848] - ldr r3, .L2307+48 + ldr r3, .L2305+48 ldrh r1, [r4, r3] sub r3, r3, #4 ldrh r3, [r4, r3] mov r3, r3, asl #1 strh r1, [r2, r3] @ movhi - ldr r3, .L2307+52 + ldr r3, .L2305+52 strh r5, [r4, r3] @ movhi bl FtlFreeSysBlkQueueOut - ldr r3, .L2307+56 + ldr r3, .L2305+56 mov r2, #0 strh r0, [r4, r3] @ movhi add r3, r3, #2 @@ -20350,13 +20383,13 @@ FtlLowFormat: bl FtlSysBlkInit cmp r0, #0 mov r0, #0 - ldreq r3, .L2307+60 + ldreq r3, .L2305+60 moveq r2, #1 streq r2, [r3, #2960] ldmfd sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L2308: +.L2306: .align 2 -.L2307: +.L2305: .word .LANCHOR2 .word .LANCHOR0 .word 168778952 @@ -20384,21 +20417,21 @@ FtlReInitForSDUpdata: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r0, r1, r2, r3, r4, lr} .save {r0, r1, r2, r3, r4, lr} - ldr r4, .L2333 + ldr r4, .L2331 ldr r0, [r4, #112] bl FlashInit cmp r0, #0 movne r0, #0 - bne .L2310 + bne .L2308 bl FlashLoadFactorBbt cmp r0, #0 - beq .L2311 + beq .L2309 bl FlashMakeFactorBbt -.L2311: +.L2309: ldr r0, [r4, #116] bl FlashReadIdbDataRaw cmp r0, #0 - beq .L2312 + beq .L2310 mov r1, #0 mov r2, #16 mov r0, sp @@ -20407,77 +20440,77 @@ FtlReInitForSDUpdata: mov r3, #0 mov r0, #1 mov r2, r3 -.L2314: +.L2312: ands ip, r1, r0, asl r2 add r2, r2, #1 addne r3, r3, #1 cmp r2, #16 - bne .L2314 + bne .L2312 cmp r3, #6 - ldrls r3, .L2333+4 - bls .L2329 + ldrls r3, .L2331+4 + bls .L2327 mov r2, #0 mov r0, #1 -.L2315: +.L2313: ands ip, r1, r0, asl r2 add r2, r2, #1 addne r3, r3, #1 cmp r2, #24 - bne .L2315 + bne .L2313 cmp r3, #17 - ldr r3, .L2333+4 + ldr r3, .L2331+4 movhi r2, #36 -.L2329: +.L2327: strb r2, [r3, #1] movw r2, #2226 - ldr r3, .L2333+4 + ldr r3, .L2331+4 ldrb r1, [r3, #1] @ zero_extendqisi2 strh r1, [r3, r2] @ movhi -.L2312: - ldr r1, .L2333+8 +.L2310: + ldr r1, .L2331+8 mov r4, #1 - ldr r0, .L2333+12 + ldr r0, .L2331+12 bl printk - ldr r0, .L2333+16 + ldr r0, .L2331+16 bl FtlConstantsInit bl FtlVariablesInit - ldr r3, .L2333+4 + ldr r3, .L2331+4 ldr r0, [r3, #3848] uxth r0, r0 bl FtlFreeSysBlkQueueInit - b .L2319 -.L2321: - add r4, r4, #1 + b .L2317 .L2319: + add r4, r4, #1 +.L2317: bl FtlLoadBbt cmp r0, #0 - bne .L2331 -.L2320: + bne .L2329 +.L2318: bl FtlSysBlkInit cmp r0, #0 - beq .L2322 -.L2331: + beq .L2320 +.L2329: bl FtlLowFormat cmp r4, #3 - bls .L2321 - b .L2332 -.L2322: - ldr r3, .L2333+20 + bls .L2319 + b .L2330 +.L2320: + ldr r3, .L2331+20 mov r2, #1 str r2, [r3, #2960] - b .L2310 -.L2332: + b .L2308 +.L2330: mvn r0, #0 -.L2310: +.L2308: add sp, sp, #16 ldmfd sp!, {r4, pc} -.L2334: +.L2332: .align 2 -.L2333: +.L2331: .word .LANCHOR2 .word .LANCHOR0 - .word .LC76 .word .LC75 + .word .LC74 .word .LANCHOR0+2200 .word .LANCHOR1 .fnend @@ -20490,15 +20523,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, .L2337 + ldr r3, .L2335 ldr r2, [r3, #3788] - ldr r3, .L2337+4 + ldr r3, .L2335+4 cmp r2, r3 bxne lr b flash_enter_slc_mode -.L2338: +.L2336: .align 2 -.L2337: +.L2335: .word .LANCHOR0 .word 1446522928 .fnend @@ -20511,15 +20544,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, .L2341 + ldr r3, .L2339 ldr r2, [r3, #3788] - ldr r3, .L2341+4 + ldr r3, .L2339+4 cmp r2, r3 bxne lr b flash_exit_slc_mode -.L2342: +.L2340: .align 2 -.L2341: +.L2339: .word .LANCHOR0 .word 1446522928 .fnend @@ -20535,15 +20568,15 @@ IdBlockReadData: .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} .pad #28 sub sp, sp, #28 - ldr r4, .L2348 + ldr r4, .L2346 mov r6, r0 str r2, [sp, #20] mov sl, r1 - ldr r0, .L2348+4 + ldr r0, .L2346+4 mov r1, r6 ldr r2, [r4, #2776] ldr r3, [r4, #4] - ldr r8, .L2348+8 + ldr r8, .L2346+8 ldrb r5, [r2, #9] @ zero_extendqisi2 mov r2, sl mul r5, r5, r3 @@ -20560,8 +20593,8 @@ IdBlockReadData: mov r7, r1 str ip, [sp, #12] ubfx r2, r2, #2, #2 - b .L2344 -.L2346: + b .L2342 +.L2344: add r1, r5, r7 rsb r3, r2, #4 ubfx r1, r1, #2, #16 @@ -20573,12 +20606,12 @@ IdBlockReadData: add r3, r3, #2224 add r3, r3, #4 ldrh r3, [r3, #0] - beq .L2345 + beq .L2343 ldr r0, [r4, #3788] - ldr ip, .L2348+12 + ldr ip, .L2346+12 cmp r0, ip moveq r3, r1 -.L2345: +.L2343: ldr ip, [sp, #12] ldrb r0, [r8, #128] @ zero_extendqisi2 add r2, r2, ip @@ -20615,25 +20648,25 @@ IdBlockReadData: mov r2, #0 add r5, ip, r5 uxth r5, r5 -.L2344: +.L2342: cmp r5, sl - bcc .L2346 + bcc .L2344 mov r1, r6 mov r2, sl mov r3, #0 - ldr r0, .L2348+16 + ldr r0, .L2346+16 bl printk mov r0, #0 add sp, sp, #28 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L2349: +.L2347: .align 2 -.L2348: +.L2346: .word .LANCHOR0 - .word .LC123 + .word .LC122 .word .LANCHOR2 .word 1446522928 - .word .LC124 + .word .LC123 .fnend .size IdBlockReadData, .-IdBlockReadData .align 2 @@ -20647,16 +20680,16 @@ IDBlockWriteData: .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} .pad #92 sub sp, sp, #92 - ldr r4, .L2357 + ldr r4, .L2355 mov r5, r0 str r2, [sp, #20] mov r8, r1 - ldr r0, .L2357+4 + ldr r0, .L2355+4 mov r1, r5 ldr r2, [r4, #2776] mov r7, r5 ldr r3, [r4, #4] - ldr fp, .L2357+8 + ldr fp, .L2355+8 ldrb r6, [r2, #9] @ zero_extendqisi2 mov r2, r8 mul r6, r6, r3 @@ -20683,12 +20716,12 @@ IDBlockWriteData: mov r9, r1 rsb r1, r1, r5 str r1, [sp, #16] - b .L2351 -.L2355: + b .L2349 +.L2353: add r3, r6, r9 ubfx r3, r3, #2, #16 cmp r3, #0 - beq .L2352 + beq .L2350 add r1, r3, #1 ldrb r0, [r4, #80] @ zero_extendqisi2 add r2, r4, r1, asl #1 @@ -20696,33 +20729,33 @@ IDBlockWriteData: add r2, r2, #2224 add r2, r2, #4 ldrh r2, [r2, #0] - beq .L2353 + beq .L2351 ldr r0, [r4, #3788] cmp r0, fp uxtheq r2, r1 -.L2353: +.L2351: sub r2, r2, #1 mov r2, r2, asl #2 str r2, [sp, #24] mov r2, #0 str r2, [sp, #28] -.L2352: +.L2350: add r2, r4, r3, asl #1 add r2, r2, #2224 ldrh r5, [r2, #4] ldrb r2, [r4, #80] @ zero_extendqisi2 cmp r2, #0 - beq .L2354 + beq .L2352 ldr r2, [r4, #3788] cmp r2, fp moveq r5, r3 -.L2354: +.L2352: ldr r2, [sp, #16] ldr r1, [sp, #20] ldrb ip, [r4, #3836] @ zero_extendqisi2 mla r3, sl, r5, r2 add r2, r1, r6, asl #9 - ldr r1, .L2357+12 + ldr r1, .L2355+12 add r6, r6, #4 uxth r6, r6 ldrb r0, [r1, #128] @ zero_extendqisi2 @@ -20755,26 +20788,26 @@ IDBlockWriteData: mov r1, r0 mov r0, #0 bl FlashPageProgMsbFFData -.L2351: +.L2349: cmp r6, r8 - bcc .L2355 + bcc .L2353 mov r1, r7 mov r2, r8 mov r3, #0 - ldr r0, .L2357+16 + ldr r0, .L2355+16 bl printk mov r5, r7 mov r0, #0 add sp, sp, #92 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L2358: +.L2356: .align 2 -.L2357: +.L2355: .word .LANCHOR0 - .word .LC125 + .word .LC124 .word 1446522928 .word .LANCHOR2 - .word .LC126 + .word .LC125 .fnend .size IDBlockWriteData, .-IDBlockWriteData .align 2 @@ -20784,7 +20817,7 @@ write_idblock: .fnstart @ args = 0, pretend = 0, frame = 8 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L2372 + ldr r3, .L2370 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} .save {r4, r5, r6, r7, r8, r9, sl, fp, lr} mov r7, r2 @@ -20804,20 +20837,20 @@ write_idblock: bl kmalloc_order_trace subs r5, r0, #0 mvneq r0, #0 - beq .L2360 + beq .L2358 add sl, r6, #508 add sl, sl, #3 mov sl, sl, lsr #9 cmp sl, #255 - bhi .L2361 + bhi .L2359 add r0, r4, sl, asl #9 mov r1, r4 rsb r2, sl, #256 bl memcpy -.L2361: - ldr r8, .L2372 +.L2359: + ldr r8, .L2370 mov r3, #5 - ldr r0, .L2372+4 + ldr r0, .L2370+4 mov r1, r7 mov r2, #4 add sl, sl, #128 @@ -20826,13 +20859,13 @@ write_idblock: ldr r1, [r4, #512] cmp sl, #256 movcs sl, #256 - ldr r0, .L2372+8 + ldr r0, .L2370+8 mov fp, #0 bl printk ldrb r3, [r8, #1] @ zero_extendqisi2 ldr r2, [r4, #512] mov r1, sl - ldr r0, .L2372+12 + ldr r0, .L2370+12 mov r9, fp cmp r2, r3 mov r8, r4 @@ -20842,17 +20875,17 @@ write_idblock: bl printk mov r1, sl, asl #7 str r1, [sp, #12] -.L2367: - ldr r1, .L2372 +.L2365: + ldr r1, .L2370 movw r2, #2226 ldr r3, [r6], #4 ldrh r2, [r1, r2] cmp r3, r2 - bcs .L2363 - ldr r2, .L2372+16 + bcs .L2361 + ldr r2, .L2370+16 ldr r2, [r2, #132] cmp r3, r2 - bcc .L2363 + bcc .L2361 mov r0, r5 mov r1, #512 bl __memzero @@ -20870,29 +20903,29 @@ write_idblock: bl IdBlockReadData mov r3, #0 mov r7, r3 -.L2366: +.L2364: ldr r1, [r5, r3] add r3, r3, #4 add r2, r8, r3 ldr r2, [r2, #-4] cmp r1, r2 - beq .L2364 + beq .L2362 bic r4, r7, #255 stmia sp, {r1, r2} mov r3, r7 mov r1, r9 ldr r2, [r6, #-4] mov r4, r4, asl #2 - ldr r0, .L2372+20 + ldr r0, .L2370+20 bl printk - ldr r0, .L2372+24 + ldr r0, .L2370+24 add r1, r8, r4 mov r2, #4 mov r3, #256 bl rknand_print_hex mov r3, #256 mov r2, #4 - ldr r0, .L2372+28 + ldr r0, .L2370+28 add r1, r5, r4 bl rknand_print_hex mov r0, r5 @@ -20904,43 +20937,43 @@ write_idblock: mul r0, r0, r1 mov r1, #4 bl IDBlockWriteData - ldr r0, .L2372+32 + ldr r0, .L2370+32 bl printk ldr r2, [sp, #12] cmp r7, r2 - bcc .L2363 - b .L2365 -.L2364: + bcc .L2361 + b .L2363 +.L2362: ldr r1, [sp, #12] add r7, r7, #1 cmp r7, r1 - bne .L2366 -.L2365: - add fp, fp, #1 + bne .L2364 .L2363: + add fp, fp, #1 +.L2361: add r9, r9, #1 cmp r9, #5 - bne .L2367 + bne .L2365 mov r0, r5 bl kfree cmp fp, #0 mvneq r0, #0 movne r0, #0 -.L2360: +.L2358: add sp, sp, #20 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} -.L2373: +.L2371: .align 2 -.L2372: +.L2370: .word .LANCHOR0 + .word .LC126 .word .LC127 .word .LC128 - .word .LC129 .word .LANCHOR2 + .word .LC129 .word .LC130 .word .LC131 .word .LC132 - .word .LC133 .fnend .size write_idblock, .-write_idblock .align 2 @@ -20955,22 +20988,22 @@ CRC_32: stmfd sp!, {r4, lr} .save {r4, lr} mov r2, r0 - ldr ip, .L2377 - b .L2375 -.L2376: + ldr ip, .L2375 + b .L2373 +.L2374: 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, #3008] eor r0, r4, r0, asl #8 -.L2375: +.L2373: cmp r2, r1 - bne .L2376 + bne .L2374 ldmfd sp!, {r4, pc} -.L2378: +.L2376: .align 2 -.L2377: +.L2375: .word .LANCHOR1 .fnend .size CRC_32, .-CRC_32 @@ -20978,138 +21011,153 @@ CRC_32: .type rknand_sys_storage_ioctl, %function rknand_sys_storage_ioctl: .fnstart - @ args = 0, pretend = 0, frame = 520 + @ args = 0, pretend = 0, frame = 528 @ frame_needed = 0, uses_anonymous_args = 0 - ldr r3, .L2488 + ldr r3, .L2493 stmfd sp!, {r4, r5, r6, lr} .save {r4, r5, r6, lr} cmp r1, r3 - .pad #520 - sub sp, sp, #520 - mov r6, r1 - mov r5, r2 - ldr r4, [r0, #124] - beq .L2388 - bhi .L2397 - ldr r3, .L2488+4 + .pad #528 + sub sp, sp, #528 + mov r5, r1 + mov r4, r2 + beq .L2386 + bhi .L2395 + ldr r3, .L2493+4 cmp r1, r3 - beq .L2385 - bhi .L2398 + beq .L2383 + bhi .L2396 sub r3, r3, #125 cmp r1, r3 - beq .L2382 - bhi .L2399 + beq .L2380 + bhi .L2397 sub r3, r3, #237 cmp r1, r3 - bne .L2431 - b .L2484 -.L2399: - ldr r3, .L2488+8 + bne .L2438 + b .L2489 +.L2397: + ldr r3, .L2493+8 cmp r1, r3 - beq .L2383 + beq .L2381 add r3, r3, #1 cmp r1, r3 - bne .L2431 - b .L2485 -.L2398: - ldr r3, .L2488+12 + bne .L2438 + b .L2490 +.L2396: + ldr r3, .L2493+12 cmp r1, r3 - beq .L2387 - bhi .L2400 - ldr r3, .L2488+16 + beq .L2385 + bhi .L2398 + ldr r3, .L2493+16 cmp r1, r3 - bne .L2431 - b .L2486 -.L2400: - ldr r3, .L2488+20 + bne .L2438 + b .L2491 +.L2398: + ldr r3, .L2493+20 cmp r1, r3 - beq .L2387 + beq .L2385 add r3, r3, #10 cmp r1, r3 - bne .L2431 - b .L2387 -.L2397: - ldr r3, .L2488+24 + bne .L2438 + b .L2385 +.L2395: + ldr r3, .L2493+24 cmp r1, r3 - beq .L2393 - bhi .L2401 + beq .L2391 + bhi .L2399 sub r3, r3, #78 cmp r1, r3 - beq .L2390 - bcc .L2389 + beq .L2388 + bcc .L2387 add r3, r3, #21 cmp r1, r3 - beq .L2391 + beq .L2389 add r3, r3, #56 cmp r1, r3 - bne .L2431 - b .L2487 -.L2401: - ldr r3, .L2488+28 + bne .L2438 + b .L2492 +.L2399: + ldr r3, .L2493+28 cmp r1, r3 - beq .L2396 - bhi .L2402 + beq .L2394 + bhi .L2400 sub r3, r3, #956 sub r3, r3, #1 cmp r1, r3 - beq .L2394 + beq .L2392 add r3, r3, #956 cmp r1, r3 - bne .L2431 - b .L2395 -.L2402: - ldr r3, .L2488+32 + bne .L2438 + b .L2393 +.L2400: + ldr r3, .L2493+32 cmp r1, r3 - beq .L2395 + beq .L2393 add r3, r3, #1 cmp r1, r3 - bne .L2431 - b .L2396 -.L2389: - ldr r0, .L2488+36 + bne .L2438 + b .L2394 +.L2387: + ldr r0, .L2493+36 bl printk - mov r0, r4 - mov r1, r5 + ldr r3, .L2493+40 + mov r1, #208 + mov r2, #4096 + ldr r0, [r3, #48] + bl kmem_cache_alloc_trace + subs r5, r0, #0 + beq .L2446 + mov r1, r4 mov r2, #512 bl rk_copy_from_user cmp r0, #0 - bne .L2477 -.L2403: - ldr r0, .L2488+40 - ldmia r4, {r1, r2} + bne .L2488 +.L2401: + ldr r0, .L2493+44 + ldmia r5, {r1, r2} bl printk - ldr r6, [r4, #4] - cmp r6, #8 - bhi .L2470 + ldr r3, [r5, #4] + cmp r3, #8 + str r3, [sp, #4] + bhi .L2409 bl rknand_device_unlock - mov r2, r4 - mov r1, r6 - ldr r0, [r4, #0] + ldr r1, [sp, #4] + mov r2, r5 + ldr r0, [r5, #0] bl IdBlockReadData bl rknand_device_unlock - mov r1, r4 - mov r0, r5 - mov r2, r6, asl #9 - bl rk_copy_to_user - subs r4, r0, #0 - ldrne r0, .L2488+44 - beq .L2404 - b .L2479 -.L2390: - ldr r0, .L2488+48 - bl printk + ldr r2, [sp, #4] mov r0, r4 mov r1, r5 + mov r2, r2, asl #9 + bl rk_copy_to_user + cmp r0, #0 + beq .L2474 + ldr r0, .L2493+48 +.L2487: + bl printk + b .L2409 +.L2388: + ldr r0, .L2493+52 + bl printk + ldr r3, .L2493+40 + mov r1, #208 + mov r2, #4096 + ldr r0, [r3, #48] + bl kmem_cache_alloc_trace + subs r5, r0, #0 + beq .L2446 + mov r1, r4 mov r2, #4096 bl rk_copy_from_user cmp r0, #0 - bne .L2477 + bne .L2488 .L2405: - ldr r5, .L2488+52 - ldr r0, .L2488+56 - ldmia r4, {r1, r2} + ldr r4, .L2493+56 + ldr r0, .L2493+60 + ldmia r5, {r1, r2} bl printk - ldr r3, [r5, #436] + ldr r3, [r4, #436] cmp r3, #0 bne .L2406 mov r0, #260096 @@ -21117,221 +21165,271 @@ rknand_sys_storage_ioctl: mov r2, #6 bl kmalloc_order_trace cmp r0, #0 - str r0, [r5, #436] - beq .L2470 + str r0, [r4, #436] + beq .L2409 .L2406: - ldr r2, [r4, #4] + ldr r2, [r5, #4] movw r3, #4088 cmp r2, r3 - bhi .L2470 - ldr r3, [r4, #0] + bhi .L2409 + ldr r3, [r5, #0] cmp r3, #251904 - bhi .L2470 - ldr r1, .L2488+52 + bhi .L2409 + ldr r1, .L2493+56 ldr r0, [r1, #436] - add r1, r4, #8 + add r1, r5, #8 add r0, r0, r3 bl memcpy - b .L2475 -.L2487: - ldr r0, .L2488+60 +.L2474: + mov r0, r5 + bl kfree +.L2475: + mov r4, #0 + b .L2404 +.L2492: + ldr r0, .L2493+64 bl printk - mov r0, r4 - mov r1, r5 + ldr r3, .L2493+40 + mov r1, #208 + mov r2, #4096 + ldr r0, [r3, #48] + bl kmem_cache_alloc_trace + subs r5, r0, #0 + beq .L2446 + mov r1, r4 mov r2, #28 bl rk_copy_from_user cmp r0, #0 - bne .L2477 -.L2407: - ldmia r4, {r1, r2} - ldr r0, .L2488+64 + beq .L2408 +.L2488: + ldr r0, .L2493+68 + b .L2487 +.L2408: + ldmia r5, {r1, r2} + ldr r0, .L2493+72 bl printk - ldr r1, [r4, #0] + ldr r1, [r5, #0] cmp r1, #256000 - bhi .L2470 - ldr r5, .L2488+52 - ldr r0, [r5, #436] + bhi .L2409 + ldr r4, .L2493+56 + ldr r0, [r4, #436] cmp r0, #0 - beq .L2470 + beq .L2409 +.L2410: bl CRC_32 - ldr r3, [r4, #4] + ldr r3, [r5, #4] cmp r3, r0 - bne .L2450 + beq .L2411 + mov r0, r5 + bl kfree + b .L2452 +.L2411: bl rknand_device_unlock - add r2, r4, #8 - ldr r1, [r5, #436] - ldr r0, [r4, #0] - mov r4, #0 + ldr r1, [r4, #436] + add r2, r5, #8 + ldr r0, [r5, #0] bl write_idblock + mov r6, #0 bl rknand_device_unlock - ldr r0, [r5, #436] + ldr r0, [r4, #436] + bl kfree + str r6, [r4, #436] + mov r0, r5 + mov r4, r6 bl kfree - str r4, [r5, #436] b .L2404 -.L2391: - ldr r0, .L2488+68 +.L2409: + mov r0, r5 + b .L2478 +.L2389: + ldr r0, .L2493+76 bl printk - mov r0, r4 + ldr r3, .L2493+40 + mov r1, #208 + mov r2, #4096 + ldr r0, [r3, #48] + bl kmem_cache_alloc_trace + subs r5, r0, #0 + beq .L2446 bl ReadFlashInfo - mov r0, r5 - mov r1, r4 + mov r0, r4 + mov r1, r5 mov r2, #11 - b .L2480 -.L2388: - ldr r0, .L2488+72 + b .L2485 +.L2386: + ldr r0, .L2493+80 bl printk bl rknand_device_unlock bl FtlReInitForSDUpdata mov r6, r0 bl rknand_device_unlock cmp r6, #0 - bne .L2470 + bne .L2469 bl nand_blk_add_whole_disk + ldr r3, .L2493+40 + mov r1, #208 + mov r2, #4096 + ldr r0, [r3, #48] + bl kmem_cache_alloc_trace + subs r5, r0, #0 + beq .L2446 bl rknand_device_unlock mov r1, r6 mov r2, #64 - mov r0, r4 + mov r0, r5 bl FlashReadFacBbtData bl rknand_device_unlock - ldr r0, .L2488+76 - mov r1, r4 + ldr r0, .L2493+84 + mov r1, r5 mov r2, #4 mov r3, #8 bl rknand_print_hex - mov r0, r5 - mov r1, r4 + mov r0, r4 + mov r1, r5 mov r2, #64 - b .L2480 -.L2393: - ldr r0, .L2488+80 + b .L2485 +.L2391: + ldr r0, .L2493+88 bl printk - ldr r3, .L2488+52 - mov r0, r5 - mov r1, r4 + ldr r3, .L2493+56 + add r1, sp, #528 + mov r0, r4 mov r2, #4 ldr r3, [r3, #440] ldr r3, [r3, #20] - str r3, [r4, #0] - b .L2480 -.L2394: - ldr r0, .L2488+84 + str r3, [r1, #-524]! + b .L2482 +.L2392: + ldr r0, .L2493+92 bl printk + ldr r3, .L2493+40 + mov r1, #208 + mov r2, #4096 + ldr r0, [r3, #48] + bl kmem_cache_alloc_trace + subs r5, r0, #0 + beq .L2446 bl rknand_device_unlock mov r1, #264 mov r2, #2 - mov r3, r4 + mov r3, r5 mov r0, #16 bl FtlRead bl rknand_device_unlock - mov r0, r5 - mov r1, r4 + mov r0, r4 + mov r1, r5 mov r2, #1024 - b .L2480 -.L2382: - ldr r0, .L2488+88 +.L2485: + bl rk_copy_to_user + subs r4, r0, #0 + mov r0, r5 + beq .L2414 +.L2478: + bl kfree + b .L2469 +.L2414: + bl kfree + b .L2404 +.L2380: + ldr r0, .L2493+96 bl printk - mov r0, sp - mov r1, r5 + add r0, sp, #8 + mov r1, r4 mov r2, #520 bl rk_copy_from_user - subs r4, r0, #0 - bne .L2477 -.L2408: - ldr r2, [sp, #0] - ldr r3, .L2488+92 + subs r5, r0, #0 + bne .L2479 +.L2415: + ldr r2, [sp, #8] + ldr r3, .L2493+100 cmp r2, r3 - bne .L2472 - ldr r3, [sp, #4] + bne .L2471 + ldr r3, [sp, #12] cmp r3, #512 - bhi .L2472 - ldr r6, .L2488+52 + bhi .L2471 + ldr r6, .L2493+56 mov r2, #512 - mov r0, sp + add r0, sp, #8 ldr r1, [r6, #440] bl memcpy ldr r2, [r6, #444] - ldr r3, .L2488+96 + ldr r3, .L2493+104 cmp r2, r3 - beq .L2409 - add r0, sp, #64 + beq .L2416 + add r0, sp, #72 mov r1, #128 - str r4, [sp, #8] - str r4, [sp, #12] + str r5, [sp, #16] + str r5, [sp, #20] bl __memzero -.L2409: - add r0, sp, #256 +.L2416: + add r0, sp, #264 mov r1, #256 mov r3, #0 - str r3, [sp, #16] + str r3, [sp, #24] bl __memzero - mov r0, r5 - mov r1, sp - mov r2, #520 -.L2480: - bl rk_copy_to_user - b .L2478 -.L2383: - ldr r0, .L2488+100 + b .L2481 +.L2381: + ldr r0, .L2493+108 bl printk - mov r0, sp - mov r1, r5 + add r0, sp, #8 + mov r1, r4 mov r2, #520 bl rk_copy_from_user cmp r0, #0 - ldrne r0, .L2488+104 bne .L2479 - ldr r2, [sp, #0] - ldr r3, .L2488+92 +.L2417: + ldr r2, [sp, #8] + ldr r3, .L2493+100 cmp r2, r3 - bne .L2472 - ldr r3, [sp, #4] + bne .L2471 + ldr r3, [sp, #12] cmp r3, #512 - bhi .L2472 - ldr r4, .L2488+52 - ldr r3, .L2488+96 + bhi .L2471 + ldr r4, .L2493+56 + ldr r3, .L2493+104 ldr r2, [r4, #444] cmp r2, r3 - bne .L2450 - ldr r3, [sp, #12] + bne .L2452 + ldr r3, [sp, #20] sub r2, r3, #1 cmp r2, #127 mvnhi r4, #2 - bhi .L2380 + bhi .L2378 ldr r0, [r4, #440] - add r1, sp, #64 + add r1, sp, #72 str r3, [r0, #12] add r0, r0, #64 - ldr r2, [sp, #12] + ldr r2, [sp, #20] bl memcpy mov r0, #1 ldr r1, [r4, #440] b .L2476 -.L2486: - ldr r0, .L2488+108 +.L2491: + ldr r0, .L2493+112 bl printk - mov r0, sp - mov r1, r5 + add r0, sp, #8 + mov r1, r4 mov r2, #520 bl rk_copy_from_user cmp r0, #0 - bne .L2477 -.L2411: - ldr r2, [sp, #0] - ldr r3, .L2488+112 + bne .L2479 +.L2418: + ldr r2, [sp, #8] + ldr r3, .L2493+116 cmp r2, r3 - bne .L2472 - ldr r3, [sp, #4] + bne .L2471 + ldr r3, [sp, #12] cmp r3, #512 - bhi .L2472 - ldr r5, .L2488+52 + bhi .L2471 + ldr r5, .L2493+56 ldr r4, [r5, #448] cmp r4, #0 - beq .L2380 + beq .L2378 ldr r3, [r5, #452] - ldr r2, .L2488+116 + ldr r2, .L2493+120 ldr r1, [r3, #0] cmp r1, r2 - beq .L2412 + beq .L2419 str r2, [r3, #0] mov r2, #504 ldr r3, [r5, #452] @@ -21339,21 +21437,21 @@ rknand_sys_storage_ioctl: mov r2, #0 str r2, [r3, #8] str r2, [r3, #12] -.L2412: +.L2419: ldr r1, [r5, #452] mov r4, #0 mov r0, r4 str r4, [r1, #16] bl StorageSysDataStore ldr r3, [r5, #440] - ldr r2, .L2488+92 - ldr r5, .L2488+52 + ldr r2, .L2493+100 + ldr r5, .L2493+56 ldr r1, [r3, #0] cmp r1, r2 strne r2, [r3, #0] ldr r0, [r5, #440] mov r1, #128 - ldrne r3, .L2488+52 + ldrne r3, .L2493+56 movne r2, #504 ldrne r3, [r3, #440] stmneib r3, {r2, r4} @@ -21367,30 +21465,30 @@ rknand_sys_storage_ioctl: str r4, [r5, #448] str r4, [r5, #444] b .L2404 -.L2385: - ldr r0, .L2488+120 +.L2383: + ldr r0, .L2493+124 bl printk - mov r0, sp - mov r1, r5 + mov r1, r4 + add r0, sp, #8 mov r2, #520 bl rk_copy_from_user subs r4, r0, #0 - bne .L2477 -.L2414: - ldr r2, [sp, #0] - ldr r3, .L2488+124 + bne .L2479 +.L2421: + ldr r2, [sp, #8] + ldr r3, .L2493+128 cmp r2, r3 - bne .L2472 - ldr r3, [sp, #4] + bne .L2471 + ldr r3, [sp, #12] cmp r3, #512 - bhi .L2472 - ldr r5, .L2488+52 + bhi .L2471 + ldr r5, .L2493+56 ldr r3, [r5, #448] cmp r3, #1 - beq .L2380 + beq .L2378 ldr r3, [r5, #452] mov r0, #0 - ldr r2, .L2488+116 + ldr r2, .L2493+120 ldr r1, [r3, #0] cmp r1, r2 strne r2, [r3, #0] @@ -21403,18 +21501,18 @@ rknand_sys_storage_ioctl: str r3, [r1, #16] bl StorageSysDataStore ldr r3, [r5, #440] - ldr r2, .L2488+92 + ldr r2, .L2493+100 ldr r1, [r3, #0] cmp r1, r2 - beq .L2416 + beq .L2423 str r2, [r3, #0] mov r1, #504 - ldr r3, .L2488+52 + ldr r3, .L2493+56 mov r2, #0 ldr r3, [r3, #440] stmib r3, {r1, r2} -.L2416: - ldr r5, .L2488+52 +.L2423: + ldr r5, .L2493+56 mov r1, #128 mov r4, #0 ldr r0, [r5, #440] @@ -21427,96 +21525,87 @@ rknand_sys_storage_ioctl: mov r3, #1 str r3, [r5, #448] b .L2404 -.L2485: - ldr r0, .L2488+128 +.L2490: + ldr r0, .L2493+132 bl printk - mov r0, sp - mov r1, r5 + add r0, sp, #8 + mov r1, r4 mov r2, #520 bl rk_copy_from_user cmp r0, #0 - bne .L2477 -.L2417: - ldr r2, [sp, #0] - ldr r3, .L2488+132 + bne .L2479 +.L2424: + ldr r2, [sp, #8] + ldr r3, .L2493+136 cmp r2, r3 - bne .L2472 - ldr r2, [sp, #4] + bne .L2471 + ldr r2, [sp, #12] cmp r2, #512 - addls r0, sp, #8 - ldrls r1, .L2488+136 - bls .L2483 - b .L2472 -.L2387: - ldr r3, .L2488+20 - cmp r6, r3 - ldreq r0, .L2488+140 - beq .L2473 - ldr r3, .L2488+144 - cmp r6, r3 - ldreq r0, .L2488+148 - ldrne r0, .L2488+152 -.L2473: + addls r0, sp, #16 + ldrls r1, .L2493+140 + bls .L2480 + b .L2471 +.L2385: + ldr r3, .L2493+20 + cmp r5, r3 + ldreq r0, .L2493+144 + beq .L2472 + ldr r3, .L2493+148 + cmp r5, r3 + ldreq r0, .L2493+152 + ldrne r0, .L2493+156 +.L2472: bl printk - mov r0, sp - mov r1, r5 + add r0, sp, #8 + mov r1, r4 mov r2, #520 bl rk_copy_from_user cmp r0, #0 - bne .L2477 -.L2421: - ldr r2, [sp, #0] - ldr r3, .L2488+156 + bne .L2479 +.L2428: + ldr r2, [sp, #8] + ldr r3, .L2493+160 cmp r2, r3 - bne .L2470 - ldr r3, .L2488+144 - ldr r4, .L2488+52 - cmp r6, r3 - bne .L2422 - ldr r3, [r4, #440] - mov r2, sp - ldr r3, [r3, #20] - strb r3, [sp, #8] - str r3, [sp, #4] - bic r3, r2, #8128 - bic r3, r3, #63 - ldr r3, [r3, #8] -@ 444 "/home/zyf/rk30/rk3288_android4.4/kernel/arch/arm/include/asm/uaccess.h" 1 - adds r2, r5, #16; sbcccs r2, r2, r3; movcc r3, #0 -@ 0 "" 2 - cmp r3, #0 - bne .L2470 - mov r0, r5 - mov r1, sp + bne .L2469 + ldr r3, .L2493+148 + ldr r6, .L2493+56 + cmp r5, r3 + bne .L2429 + ldr r3, [r6, #440] + mov r0, r4 + add r1, sp, #8 mov r2, #16 - bl __copy_to_user + ldr r3, [r3, #20] + str r3, [sp, #12] + strb r3, [sp, #16] + bl rk_copy_to_user cmp r0, #0 moveq r4, r0 mvnne r4, #13 - b .L2380 -.L2422: - ldr r3, [r4, #968] + b .L2378 +.L2429: + ldr r3, [r6, #968] cmp r3, #10 - bhi .L2470 - ldr r3, [r4, #440] - ldr r1, [sp, #4] + bhi .L2469 + ldr r3, [r6, #440] + ldr r1, [sp, #12] ldr r2, [r3, #24] cmp r2, r1 - beq .L2423 + beq .L2430 cmp r2, #0 - beq .L2423 - ldr r0, .L2488+160 + beq .L2430 + ldr r0, .L2493+164 bl printk - ldr r3, [r4, #968] + ldr r3, [r6, #968] add r3, r3, #1 - str r3, [r4, #968] - b .L2470 -.L2423: - ldr r0, .L2488+52 + str r3, [r6, #968] + b .L2469 +.L2430: + ldr r0, .L2493+56 mov r2, #0 str r2, [r0, #968] - ldr r0, .L2488+20 - cmp r6, r0 + ldr r0, .L2493+20 + cmp r5, r0 mov r0, #1 strne r1, [r3, #24] mov r1, r3 @@ -21529,119 +21618,111 @@ rknand_sys_storage_ioctl: mvneq r4, #1 movne r4, #0 b .L2404 -.L2395: - ldr r0, .L2488+164 +.L2393: + ldr r0, .L2493+168 bl printk - mov r0, sp - mov r1, r5 + add r0, sp, #8 + mov r1, r4 mov r2, #520 bl rk_copy_from_user cmp r0, #0 - bne .L2477 -.L2426: - ldr r2, [sp, #0] - ldr r3, .L2488+168 + bne .L2479 +.L2433: + ldr r2, [sp, #8] + ldr r3, .L2493+172 cmp r2, r3 - bne .L2472 - ldr r2, [sp, #4] + bne .L2471 + ldr r2, [sp, #12] cmp r2, #504 - bhi .L2472 - ldr r3, .L2488+172 - add r0, sp, #8 - cmp r6, r3 - ldr r3, .L2488+52 + bhi .L2471 + ldr r3, .L2493+176 + add r0, sp, #16 + cmp r5, r3 + ldr r3, .L2493+56 ldreq r1, [r3, #972] ldrne r1, [r3, #976] add r1, r1, #8 -.L2483: +.L2480: bl memcpy - mov r2, sp - bic r3, r2, #8128 - bic r3, r3, #63 - ldr r3, [r3, #8] -@ 444 "/home/zyf/rk30/rk3288_android4.4/kernel/arch/arm/include/asm/uaccess.h" 1 - adds r2, r5, #520; sbcccs r2, r2, r3; movcc r3, #0 -@ 0 "" 2 - cmp r3, #0 - bne .L2470 - mov r0, r5 - mov r1, sp +.L2481: + add r1, sp, #8 + mov r0, r4 mov r2, #520 - bl __copy_to_user -.L2478: +.L2482: + bl rk_copy_to_user subs r4, r0, #0 - bne .L2470 + bne .L2469 b .L2404 -.L2396: - ldr r0, .L2488+176 +.L2394: + ldr r0, .L2493+180 bl printk - mov r0, sp - mov r1, r5 + add r0, sp, #8 + mov r1, r4 mov r2, #520 bl rk_copy_from_user cmp r0, #0 - beq .L2429 -.L2477: - ldr r0, .L2488+180 + beq .L2436 .L2479: + ldr r0, .L2493+68 bl printk - b .L2470 -.L2429: - ldr r2, [sp, #0] - ldr r3, .L2488+168 + b .L2469 +.L2436: + ldr r2, [sp, #8] + ldr r3, .L2493+172 cmp r2, r3 - bne .L2472 - ldr r2, [sp, #4] + bne .L2471 + ldr r2, [sp, #12] cmp r2, #504 - bhi .L2472 - ldr r3, .L2488+28 + bhi .L2471 + ldr r3, .L2493+28 add r2, r2, #8 - ldr r4, .L2488+52 - cmp r6, r3 - bne .L2430 - mov r1, sp + ldr r4, .L2493+56 + cmp r5, r3 + bne .L2437 + add r1, sp, #8 ldr r0, [r4, #972] bl memcpy - mov r0, #2 ldr r1, [r4, #972] - b .L2476 -.L2430: - mov r1, sp - ldr r0, [r4, #976] - bl memcpy - ldr r1, [r4, #976] - mov r0, #3 + mov r0, #2 .L2476: bl StorageSysDataStore mov r4, r0 b .L2404 -.L2484: +.L2437: + add r1, sp, #8 + ldr r0, [r4, #976] + bl memcpy + mov r0, #3 + ldr r1, [r4, #976] + b .L2476 +.L2489: bl rknand_dev_flush -.L2475: - mov r4, #0 - b .L2404 -.L2472: + b .L2475 +.L2471: mvn r4, #0 .L2404: mov r1, r4 - ldr r0, .L2488+184 + ldr r0, .L2493+184 bl printk - b .L2380 -.L2431: + b .L2378 +.L2438: mvn r4, #21 - b .L2380 -.L2450: + b .L2378 +.L2446: + mvn r4, #11 + b .L2378 +.L2452: mvn r4, #1 - b .L2380 -.L2470: + b .L2378 +.L2469: mvn r4, #13 -.L2380: +.L2378: mov r0, r4 - add sp, sp, #520 + add sp, sp, #528 ldmfd sp!, {r4, r5, r6, pc} -.L2489: +.L2494: .align 2 -.L2488: +.L2493: .word 1074033155 .word 1074029694 .word 1074029570 @@ -21651,12 +21732,15 @@ rknand_sys_storage_ioctl: .word 1074033235 .word 1074034193 .word 1074034194 - .word .LC134 + .word .LC133 + .word kmalloc_caches + .word .LC135 .word .LC136 .word .LC137 - .word .LC138 .word .LANCHOR2 + .word .LC138 .word .LC139 + .word .LC134 .word .LC140 .word .LC141 .word .LC142 @@ -21664,31 +21748,28 @@ rknand_sys_storage_ioctl: .word .LC144 .word .LC145 .word .LC146 - .word .LC147 .word 1263358532 .word -1067903959 + .word .LC147 .word .LC148 - .word .LC149 - .word .LC150 .word 1112753220 .word 1146313043 - .word .LC151 + .word .LC149 .word 1112755781 - .word .LC152 + .word .LC150 .word 1094995539 .word .LANCHOR2+456 - .word .LC153 + .word .LC151 .word 1074031676 + .word .LC152 + .word .LC153 + .word 1280262987 .word .LC154 .word .LC155 - .word 1280262987 - .word .LC156 - .word .LC157 .word 1145980246 .word 1074034192 - .word .LC158 - .word .LC135 - .word .LC159 + .word .LC156 + .word .LC157 .fnend .size rknand_sys_storage_ioctl, .-rknand_sys_storage_ioctl .align 2 @@ -21701,7 +21782,7 @@ 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, .L2493 + ldr r4, .L2498 mov r6, #0 add r0, r4, #456 ldr r5, [r4, #416] @@ -21720,37 +21801,37 @@ rk_ftl_storage_sys_init: str r6, [r4, #444] str r6, [r4, #968] str r3, [r4, #448] - beq .L2491 + beq .L2496 mov r0, r5 mov r1, #508 bl JSHash cmp r7, r0 - beq .L2491 + beq .L2496 str r6, [r5, #16] - ldr r0, .L2493+4 + ldr r0, .L2498+4 str r6, [r4, #448] bl printk -.L2491: +.L2496: ldr r3, [r4, #448] mov r0, #2 - ldr r4, .L2493 + ldr r4, .L2498 cmp r3, #0 - ldrne r2, .L2493+8 - ldrne r3, .L2493 + ldrne r2, .L2498+8 + ldrne r3, .L2498 ldr r1, [r4, #972] strne r2, [r3, #444] bl StorageSysDataLoad ldr r1, [r4, #976] mov r0, #3 bl StorageSysDataLoad - ldr r0, .L2493+12 + ldr r0, .L2498+12 ldmfd sp!, {r3, r4, r5, r6, r7, lr} b misc_register -.L2494: +.L2499: .align 2 -.L2493: +.L2498: .word .LANCHOR2 - .word .LC160 + .word .LC158 .word -1067903959 .word .LANCHOR1+4032 .fnend @@ -21764,13 +21845,13 @@ StorageSysDataDeInit: @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r3, lr} .save {r3, lr} - ldr r0, .L2496 + ldr r0, .L2501 bl misc_deregister mov r0, #0 ldmfd sp!, {r3, pc} -.L2497: +.L2502: .align 2 -.L2496: +.L2501: .word .LANCHOR1+4032 .fnend .size StorageSysDataDeInit, .-StorageSysDataDeInit @@ -22010,345 +22091,341 @@ StorageSysDataDeInit: .global read_retry_cur_offset .section .rodata .set .LANCHOR3,. + 0 - .type __func__.14422, %object - .size __func__.14422, 11 -__func__.14422: + .type __func__.14255, %object + .size __func__.14255, 11 +__func__.14255: .ascii "FtlMemInit\000" .LC0: .byte 60 .byte 40 .byte 24 .byte 16 - .type __func__.15298, %object - .size __func__.15298, 21 -__func__.15298: + .type __func__.15131, %object + .size __func__.15131, 21 +__func__.15131: .ascii "FtlVpcCheckAndModify\000" .section .rodata.str1.1,"aMS",%progbits,1 .LC1: - .ascii "Context allocation failed\012\000" + .ascii "FlashEraseBlocks pageAddr error %x\012\000" .LC2: - .ascii "FlashEraseBlocks pageAddr error %x \012\000" -.LC3: .ascii "No.%d FLASH ID:%x %x %x %x %x %x\012\000" -.LC4: +.LC3: .ascii "phyBlk = 0x%x die = %d block_in_die = 0x%x 0x%8x\012" .ascii "\000" -.LC5: +.LC4: .ascii "FLASH INFO:\012\000" -.LC6: +.LC5: .ascii "FLASH ID: %x\012\000" -.LC7: +.LC6: .ascii "Device Capacity: %d MB\012\000" -.LC8: +.LC7: .ascii "FMWAIT: %x %x %x %x\012\000" -.LC9: +.LC8: .ascii "FTL INFO:\012\000" -.LC10: +.LC9: .ascii "g_MaxLpn = 0x%x\012\000" -.LC11: +.LC10: .ascii "g_VaildLpn = 0x%x\012\000" -.LC12: +.LC11: .ascii "read_page_count = 0x%x\012\000" -.LC13: +.LC12: .ascii "discard_page_count = 0x%x\012\000" -.LC14: +.LC13: .ascii "write_page_count = 0x%x\012\000" -.LC15: +.LC14: .ascii "cache_write_count = 0x%x\012\000" -.LC16: +.LC15: .ascii "l2p_write_count = 0x%x\012\000" -.LC17: +.LC16: .ascii "gc_page_count = 0x%x\012\000" -.LC18: +.LC17: .ascii "totle_write = %d MB\012\000" -.LC19: +.LC18: .ascii "totle_read = %d MB\012\000" -.LC20: +.LC19: .ascii "GSV = 0x%x\012\000" -.LC21: +.LC20: .ascii "GDV = 0x%x\012\000" -.LC22: +.LC21: .ascii "bad blk num = %d %d\012\000" -.LC23: +.LC22: .ascii "free_superblocks = 0x%x\012\000" -.LC24: +.LC23: .ascii "mlc_EC = 0x%x\012\000" -.LC25: +.LC24: .ascii "slc_EC = 0x%x\012\000" -.LC26: +.LC25: .ascii "avg_EC = 0x%x\012\000" -.LC27: +.LC26: .ascii "sys_EC = 0x%x\012\000" -.LC28: +.LC27: .ascii "max_EC = 0x%x\012\000" -.LC29: +.LC28: .ascii "min_EC = 0x%x\012\000" -.LC30: +.LC29: .ascii "PLT = 0x%x\012\000" -.LC31: +.LC30: .ascii "POT = 0x%x\012\000" -.LC32: +.LC31: .ascii "MaxSector = 0x%x\012\000" -.LC33: +.LC32: .ascii "init_sys_blks_pp = 0x%x\012\000" -.LC34: +.LC33: .ascii "sys_blks_pp = 0x%x\012\000" -.LC35: +.LC34: .ascii "free sysblock = 0x%x\012\000" -.LC36: +.LC35: .ascii "data_blks_pp = 0x%x\012\000" -.LC37: +.LC36: .ascii "data_op_blks_pp = 0x%x\012\000" -.LC38: +.LC37: .ascii "max_data_blks = 0x%x\012\000" -.LC39: +.LC38: .ascii "Sys.id = 0x%x\012\000" -.LC40: +.LC39: .ascii "Bbt.id = 0x%x\012\000" -.LC41: +.LC40: .ascii "ACT.page = 0x%x\012\000" -.LC42: +.LC41: .ascii "ACT.plane = 0x%x\012\000" -.LC43: +.LC42: .ascii "ACT.id = 0x%x\012\000" -.LC44: +.LC43: .ascii "ACT.mode = 0x%x\012\000" -.LC45: +.LC44: .ascii "ACT.a_pages = 0x%x\012\000" -.LC46: +.LC45: .ascii "ACT VPC = 0x%x\012\000" -.LC47: +.LC46: .ascii "BUF.page = 0x%x\012\000" -.LC48: +.LC47: .ascii "BUF.plane = 0x%x\012\000" -.LC49: +.LC48: .ascii "BUF.id = 0x%x\012\000" -.LC50: +.LC49: .ascii "BUF.mode = 0x%x\012\000" -.LC51: +.LC50: .ascii "BUF.a_pages = 0x%x\012\000" -.LC52: +.LC51: .ascii "BUF VPC = 0x%x\012\000" -.LC53: +.LC52: .ascii "TMP.page = 0x%x\012\000" -.LC54: +.LC53: .ascii "TMP.plane = 0x%x\012\000" -.LC55: +.LC54: .ascii "TMP.id = 0x%x\012\000" -.LC56: +.LC55: .ascii "TMP.mode = 0x%x\012\000" -.LC57: +.LC56: .ascii "TMP.a_pages = 0x%x\012\000" -.LC58: +.LC57: .ascii "GC.page = 0x%x\012\000" -.LC59: +.LC58: .ascii "GC.plane = 0x%x\012\000" -.LC60: +.LC59: .ascii "GC.id = 0x%x\012\000" -.LC61: +.LC60: .ascii "GC.mode = 0x%x\012\000" -.LC62: +.LC61: .ascii "GC.a_pages = 0x%x\012\000" -.LC63: +.LC62: .ascii "WR_CHK = 0x%x %x %x %x\012\000" -.LC64: +.LC63: .ascii "Read Err Cnt = 0x%x\012\000" -.LC65: +.LC64: .ascii "Prog Err Cnt = 0x%x\012\000" -.LC66: +.LC65: .ascii "gc_free_blk_th= 0x%x\012\000" -.LC67: +.LC66: .ascii "gc_merge_free_blk_th= 0x%x\012\000" -.LC68: +.LC67: .ascii "gc_skip_write_count= 0x%x\012\000" -.LC69: +.LC68: .ascii "gc_blk_index= 0x%x\012\000" -.LC70: +.LC69: .ascii "free min EC= 0x%x\012\000" -.LC71: +.LC70: .ascii "free max EC= 0x%x\012\000" -.LC72: +.LC71: .ascii "GC__SB VPC = 0x%x\012\000" -.LC73: +.LC72: .ascii "%d. [0x%x]=0x%x 0x%x 0x%x\012\000" -.LC74: +.LC73: .ascii "free %d. [0x%x] 0x%x 0x%x\012\000" -.LC75: +.LC74: .ascii "%s\012\000" +.LC75: + .ascii "FTL version: 5.0.36 20170512\000" .LC76: - .ascii "FTL version: 5.0.36 20170316\000" -.LC77: .ascii "GetSwlReplaceBlock min_ec_id =%x %x\012\000" -.LC78: +.LC77: .ascii "swblk %x ,avg = %x max= %x vpc= %x,ec=%x ,max ec=%x" .ascii "\012\000" -.LC79: +.LC78: .ascii "FtlGcRefreshBlock 0x%x \012\000" -.LC80: +.LC79: .ascii "FtlGcMarkBadPhyBlk %d 0x%x\012\000" -.LC81: +.LC80: .ascii "%s error allocating memory. return -1\012\000" -.LC82: +.LC81: .ascii "%s 0x%x:\000" -.LC83: +.LC82: .ascii "%x \000" -.LC84: +.LC83: .ascii "\000" -.LC85: +.LC84: .ascii "%d statReg->V6.mtrans_cnt=%d flReg.V6.page_num=%d\012" .ascii "\000" -.LC86: +.LC85: .ascii "nandc:\000" -.LC87: +.LC86: .ascii "%d flReg.d32=%x %x\012\000" -.LC88: +.LC87: .ascii "ECC:%d\012\000" -.LC89: +.LC88: .ascii "sdr read ok %x ecc=%d\012\000" -.LC90: +.LC89: .ascii "sync para %d\012\000" -.LC91: +.LC90: .ascii "TOG mode Read error %x %x\012\000" -.LC92: +.LC91: .ascii "FlashLoadPhyInfo fail %x!!\012\000" -.LC93: +.LC92: .ascii "read retry status %x %x %x\012\000" -.LC94: +.LC93: .ascii "Read pageadd=%x ecc=%x err=%x\012\000" -.LC95: +.LC94: .ascii "data:\000" -.LC96: +.LC95: .ascii "spare:\000" -.LC97: +.LC96: .ascii "ReadRetry pageadd=%x ecc=%x err=%x\012\000" -.LC98: +.LC97: .ascii "slc mode\000" -.LC99: +.LC98: .ascii "no ect\000" -.LC100: +.LC99: .ascii "prog error: = %x\012\000" -.LC101: +.LC100: .ascii "prog read error: = %x\012\000" -.LC102: +.LC101: .ascii "prog read s error: = %x %x %x\012\000" -.LC103: +.LC102: .ascii "prog read d error: = %x %x %x\012\000" -.LC104: +.LC103: .ascii "FtlBbmTblFlush id=%x,page=%x,previd=%x cnt=%d\012\000" -.LC105: +.LC104: .ascii "FtlBbmTblFlush error:%x\012\000" -.LC106: +.LC105: .ascii "FtlGcFreeBadSuperBlk 0x%x\012\000" -.LC107: +.LC106: .ascii "decrement_vpc_count %x = %d\012\000" -.LC108: +.LC107: .ascii "FlashMakeFactorBbt %d\012\000" -.LC109: +.LC108: .ascii "bad block:%d %d\012\000" -.LC110: +.LC109: .ascii "FMFB:%d %d\012\000" -.LC111: +.LC110: .ascii "E:bad block:%d\012\000" -.LC112: +.LC111: .ascii "FMFB:Save %d %d\012\000" -.LC113: +.LC112: .ascii "spuer block %x vpn is 0\012 \000" -.LC114: +.LC113: .ascii "...%s enter...\012\000" -.LC115: +.LC114: .ascii "FtlCheckVpc %x = %x %x\012\000" -.LC116: +.LC115: .ascii "%d GC datablk = %x vpc %x %x\012\000" -.LC117: +.LC116: .ascii "SWL %x, FSB = %x vpc= %x,ec=%x th=%x\012\000" -.LC118: +.LC117: .ascii "Ftlwrite decrement_vpc_count %x = %d\012\000" -.LC119: +.LC118: .ascii "FtlInit %x\012\000" -.LC120: +.LC119: .ascii "FtlWrite: lpa error:%x %x\012\000" -.LC121: +.LC120: .ascii "FLFB:%d %d\012\000" -.LC122: +.LC121: .ascii "BBT:\000" -.LC123: +.LC122: .ascii "IdBlockReadData %x %x\012\000" -.LC124: +.LC123: .ascii "IdBlockReadData %x %x ret= %x\012\000" -.LC125: +.LC124: .ascii "IDBlockWriteData %x %x\012\000" -.LC126: +.LC125: .ascii "IDBlockWriteData %x %x ret= %x\012\000" -.LC127: +.LC126: .ascii "idblk:\000" -.LC128: +.LC127: .ascii "idb reverse %x %x\012\000" -.LC129: +.LC128: .ascii "write_idblock totle_sec %x %x\012\000" -.LC130: +.LC129: .ascii "write and check error:%d idb=%x,offset=%x,r=%x,w=%x" - .ascii " \012\000" -.LC131: + .ascii "\012\000" +.LC130: .ascii "write\000" -.LC132: +.LC131: .ascii "read\000" -.LC133: +.LC132: .ascii "write_idblock error\012\000" -.LC134: +.LC133: .ascii "READ_SECTOR_IO\012\000" +.LC134: + .ascii "rk_copy_from_user error\012\000" .LC135: - .ascii "rk_copy_from_user error \012\000" -.LC136: .ascii "READ_SECTOR_IO %x %x\012\000" -.LC137: +.LC136: .ascii "rk_copy_to_user error\012\000" -.LC138: +.LC137: .ascii "WRITE_SECTOR_IO\012\000" -.LC139: +.LC138: .ascii "WRITE_SECTOR_IO %x %x\012\000" -.LC140: +.LC139: .ascii "END_WRITE_SECTOR_IO\012\000" -.LC141: +.LC140: .ascii "END_WRITE_SECTOR_IO %x %x\012\000" -.LC142: +.LC141: .ascii "GET_FLASH_INFO_IO\012\000" -.LC143: +.LC142: .ascii "GET_BAD_BLOCK_IO\012\000" -.LC144: +.LC143: .ascii "bbt:\000" -.LC145: +.LC144: .ascii "GET_LOCK_FLAG_IO\012\000" -.LC146: +.LC145: .ascii "GET_PUBLIC_KEY_IO\012\000" -.LC147: +.LC146: .ascii "RKNAND_GET_DRM_KEY\012\000" -.LC148: +.LC147: .ascii "RKNAND_STORE_DRM_KEY\012\000" -.LC149: - .ascii "copy_from_user error \012\000" -.LC150: +.LC148: .ascii "RKNAND_DIASBLE_SECURE_BOOT\012\000" -.LC151: +.LC149: .ascii "RKNAND_ENASBLE_SECURE_BOOT\012\000" -.LC152: +.LC150: .ascii "RKNAND_GET_SN_SECTOR\012\000" -.LC153: +.LC151: .ascii "RKNAND_LOADER_UNLOCK\012\000" -.LC154: +.LC152: .ascii "RKNAND_LOADER_STATUS\012\000" -.LC155: +.LC153: .ascii "RKNAND_LOADER_LOCK\012\000" -.LC156: +.LC154: .ascii "LockKey not match %d\012\000" -.LC157: +.LC155: .ascii "RKNAND_GET_VENDOR_SECTOR\012\000" -.LC158: +.LC156: .ascii "RKNAND_STORE_VENDOR_SECTOR\012\000" -.LC159: +.LC157: .ascii "return ret = %lx\012\000" -.LC160: +.LC158: .ascii "secureBootEn check error\012\000" -.LC161: +.LC159: .ascii "rknand_sys_storage\000" .data .align 2 @@ -25027,7 +25104,7 @@ gTable_Crc32: .size rknand_sys_storage_dev, 36 rknand_sys_storage_dev: .word 255 - .word .LC161 + .word .LC159 .word rknand_sys_storage_fops .space 24 .type rknand_sys_storage_fops, %object diff --git a/drivers/rk_nand/rk_ftl_arm_v8.S b/drivers/rk_nand/rk_ftl_arm_v8.S index cd070dce90a9..35f5a1b16d1b 100644 --- a/drivers/rk_nand/rk_ftl_arm_v8.S +++ b/drivers/rk_nand/rk_ftl_arm_v8.S @@ -5,6 +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: 2017-05-26 */ .cpu generic+fp+simd .file "rk_ftl_arm_v8.S" @@ -26,48 +27,18 @@ #NO_APP .text .align 2 - .type rknand_sys_storage_release, %function -rknand_sys_storage_release: - stp x29, x30, [sp, -16]! - add x29, sp, 0 - ldr x0, [x1,208] - cbz x0, .L2 - str xzr, [x1,208] - bl kfree -.L2: - mov w0, 0 - ldp x29, x30, [sp], 16 - ret - .size rknand_sys_storage_release, .-rknand_sys_storage_release - .align 2 .type rknand_sys_storage_open, %function rknand_sys_storage_open: - stp x29, x30, [sp, -32]! - adrp x0, kmalloc_caches+96 - mov x2, 4096 - add x29, sp, 0 - str x19, [sp,16] - mov x19, x1 - ldr x0, [x0,#:lo12:kmalloc_caches+96] - mov w1, 192 - movk w1, 0x240, lsl 16 - bl kmem_cache_alloc_trace - str xzr, [x19,208] - cbnz x0, .L8 - adrp x0, .LC0 - add x0, x0, :lo12:.LC0 - bl printk - mov w0, -12 - b .L9 -.L8: - str x0, [x19,208] mov w0, 0 -.L9: - ldr x19, [sp,16] - ldp x29, x30, [sp], 32 ret .size rknand_sys_storage_open, .-rknand_sys_storage_open .align 2 + .type rknand_sys_storage_release, %function +rknand_sys_storage_release: + mov w0, 0 + ret + .size rknand_sys_storage_release, .-rknand_sys_storage_release + .align 2 .type ftl_set_blk_mode.part.8, %function ftl_set_blk_mode.part.8: adrp x1, .LANCHOR0 @@ -89,29 +60,29 @@ FlashMemCmp8: mov x5, x0 adrp x0, .LANCHOR0+8 ldrb w0, [x0,#:lo12:.LANCHOR0+8] - cbz w0, .L16 + cbz w0, .L9 ldrb w4, [x5,1] mov w0, 0 ldrb w3, [x1,1] cmp w4, w3 - beq .L13 -.L16: + beq .L6 +.L9: mov x3, 0 -.L14: +.L7: cmp w3, w2 mov w4, w3 - bcs .L19 + bcs .L13 ldrb w0, [x5,x3] add x3, x3, 1 add x6, x1, x3 ldrb w6, [x6,-1] cmp w6, w0 - beq .L14 + beq .L7 add w0, w4, 1 - b .L13 -.L19: - mov w0, 0 + b .L6 .L13: + mov w0, 0 +.L6: ret .size FlashMemCmp8, .-FlashMemCmp8 .align 2 @@ -146,12 +117,12 @@ FlashGetRandomizer: ldrh w19, [x2,w3,uxtw 1] adrp x2, .LANCHOR0+16 ldrb w2, [x2,#:lo12:.LANCHOR0+16] - cbz w2, .L22 + cbz w2, .L16 bl FlashRsvdBlkChk cmp w0, wzr orr w1, w19, -1073741824 csel w19, w1, w19, ne -.L22: +.L16: mov w0, w19 ldr x19, [sp,16] ldp x29, x30, [sp], 32 @@ -171,46 +142,46 @@ FlashSetRandomizer: add x0, x19, :lo12:.LANCHOR0 ldr w2, [x0,20] cmp w2, 5 - bls .L29 + bls .L23 adrp x2, .LANCHOR1 and w20, w1, 127 add x2, x2, :lo12:.LANCHOR1 ldrb w0, [x0,16] ldrh w20, [x2,w20,uxtw 1] - cbz w0, .L30 + cbz w0, .L24 mov w0, w21 bl FlashRsvdBlkChk cmp w0, wzr orr w1, w20, -1073741824 csel w20, w1, w20, ne -.L30: +.L24: add x19, x19, :lo12:.LANCHOR0 add x21, x19, x21, sxtw 4 ldr x0, [x21,24] str w20, [x0,336] - b .L28 -.L29: + b .L22 +.L23: cmp w2, 4 - bne .L28 + bne .L22 adrp x2, .LANCHOR1 and w3, w1, 127 add x2, x2, :lo12:.LANCHOR1 ldrb w0, [x0,16] ldrh w22, [x2,w3,uxtw 1] lsl w22, w22, 8 - cbz w0, .L32 + cbz w0, .L26 mov w0, w21 bl FlashRsvdBlkChk - cbz w0, .L32 + cbz w0, .L26 ubfiz w20, w20, 1, 7 orr w20, w20, 1 orr w22, w22, w20 -.L32: +.L26: add x19, x19, :lo12:.LANCHOR0 add x21, x19, x21, sxtw 4 ldr x0, [x21,24] str w22, [x0,336] -.L28: +.L22: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x29, x30, [sp], 48 @@ -266,7 +237,7 @@ FlashReadDpDataOutCmd: ldrb w2, [x5,8] and w5, w1, 255 add x2, x6, x2, lsl 8 - bne .L46 + bne .L40 mov w6, 6 str w6, [x2,2056] str wzr, [x2,2052] @@ -274,8 +245,8 @@ FlashReadDpDataOutCmd: str w5, [x2,2052] str w4, [x2,2052] str w3, [x2,2052] - b .L48 -.L46: + b .L42 +.L40: str wzr, [x2,2056] str wzr, [x2,2052] str wzr, [x2,2052] @@ -286,7 +257,7 @@ FlashReadDpDataOutCmd: str w3, [x2,2056] str wzr, [x2,2052] str wzr, [x2,2052] -.L48: +.L42: mov w3, 224 str w3, [x2,2056] bl FlashSetRandomizer @@ -301,7 +272,7 @@ flash_enter_slc_mode: uxtb w0, w0 add x1, x1, :lo12:.LANCHOR0 ldrb w2, [x1,120] - cbz w2, .L49 + cbz w2, .L43 sbfiz x0, x0, 4, 32 add x1, x1, 24 add x2, x1, x0 @@ -311,7 +282,7 @@ flash_enter_slc_mode: add x0, x1, x0, lsl 8 mov w1, 218 str w1, [x0,8] -.L49: +.L43: ret .size flash_enter_slc_mode, .-flash_enter_slc_mode .align 2 @@ -322,7 +293,7 @@ flash_exit_slc_mode: uxtb w0, w0 add x1, x1, :lo12:.LANCHOR0 ldrb w2, [x1,120] - cbz w2, .L54 + cbz w2, .L48 sbfiz x0, x0, 4, 32 add x1, x1, 24 add x2, x1, x0 @@ -332,7 +303,7 @@ flash_exit_slc_mode: add x0, x1, x0, lsl 8 mov w1, 223 str w1, [x0,8] -.L54: +.L48: ret .size flash_exit_slc_mode, .-flash_exit_slc_mode .align 2 @@ -375,7 +346,7 @@ FlashEraseCmd: add x5, x4, x0 ldr x4, [x4,x0] ldrb w0, [x5,8] - cbz w2, .L61 + cbz w2, .L55 add x2, x4, x0, lsl 8 mov w5, 96 str w5, [x2,2056] @@ -387,7 +358,7 @@ FlashEraseCmd: str w5, [x2,2052] ldr w2, [x3,12] add w1, w1, w2 -.L61: +.L55: add x0, x4, x0, lsl 8 mov w2, 96 str w2, [x0,2056] @@ -472,17 +443,17 @@ JSHash: mov w0, 42982 mov x2, 0 movk w0, 0x47c6, lsl 16 -.L69: +.L63: cmp w1, w2 - bls .L71 + bls .L65 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 .L69 -.L71: + b .L63 +.L65: ret .size JSHash, .-JSHash .align 2 @@ -547,13 +518,13 @@ LogAddr2PhyAddr: udiv w10, w6, w5 msub w5, w10, w5, w6 uxth w6, w5 - bne .L77 + bne .L71 add x1, x7, :lo12:.LANCHOR0 ldrb w5, [x1,120] - cbnz w5, .L77 + cbnz w5, .L71 add x1, x1, 196 ldrh w8, [x1,w8,sxtw 1] -.L77: +.L71: add x7, x7, :lo12:.LANCHOR0 cmp w4, 1 add x7, x7, 708 @@ -563,13 +534,13 @@ LogAddr2PhyAddr: add w5, w5, w8 str w5, [x2] str w10, [x3] - bls .L78 + bls .L72 ldr w1, [x0,4] ldr w0, [x0,60] add w1, w1, 1024 cmp w1, w0 cset w1, eq -.L78: +.L72: mov w0, w1 ret .size LogAddr2PhyAddr, .-LogAddr2PhyAddr @@ -668,7 +639,7 @@ NandcSetMode: mov x20, x1 ldr x2, [x21,128] ldr w19, [x2] - beq .L90 + beq .L84 orr w19, w19, 24576 and w0, w0, 4 and w19, w19, -32769 @@ -688,10 +659,10 @@ NandcSetMode: str w1, [x0,308] mov w1, 39 str w1, [x0,308] - b .L92 -.L90: + b .L86 +.L84: and w19, w19, -8193 -.L92: +.L86: add x1, x20, :lo12:.LANCHOR0 ldr x0, [x1,128] str w19, [x0] @@ -753,11 +724,11 @@ NandcDelayns: sub sp, sp, #16 lsr w0, w0, 4 str w0, [sp,12] -.L99: +.L93: ldr w0, [sp,12] sub w1, w0, #1 str w1, [sp,12] - cbnz w0, .L99 + cbnz w0, .L93 add sp, sp, 16 ret .size NandcDelayns, .-NandcDelayns @@ -812,11 +783,11 @@ ToshibaSetRRPara: adrp x26, .LANCHOR0 mov w27, 85 mov x19, x2 -.L103: +.L97: add x25, x26, :lo12:.LANCHOR0 ldrb w0, [x25,753] cmp w0, w20 - bls .L109 + bls .L103 add x0, x19, 256 str w27, [x22,8] ldrsb w0, [x20,x0] @@ -825,21 +796,21 @@ ToshibaSetRRPara: bl NandcDelayns ldrb w0, [x25,752] cmp w0, 34 - bne .L104 + bne .L98 ldrsb w0, [x24,x20] - b .L108 -.L104: + b .L102 +.L98: cmp w0, 35 - bne .L106 + bne .L100 ldrsb w0, [x21,x20] - b .L108 -.L106: + b .L102 +.L100: ldrsb w0, [x23,400] -.L108: +.L102: str w0, [x22] add x20, x20, 1 - b .L103 -.L109: + b .L97 +.L103: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -866,11 +837,11 @@ SamsungSetRRPara: adrp x23, .LANCHOR0 mov w24, 161 mov x19, x2 -.L111: +.L105: add x0, x23, :lo12:.LANCHOR0 ldrb w0, [x0,753] cmp w0, w20 - bls .L113 + bls .L107 str w24, [x21,8] add x0, x19, 408 str wzr, [x21] @@ -881,8 +852,8 @@ SamsungSetRRPara: str w0, [x21] mov w0, 300 bl NandcDelayns - b .L111 -.L113: + b .L105 +.L107: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -911,18 +882,18 @@ HynixSetRRPara: add x19, x19, 760 ldrb w0, [x0,19] cmp w0, 6 - bne .L115 + bne .L109 add x19, x19, x23, lsl 6 lsl w0, w24, 2 add x19, x19, 20 add x19, x19, x0, sxtw - b .L116 -.L115: + b .L110 +.L109: lsl x2, x23, 3 add x2, x2, x24, sxtw add x19, x19, x2, lsl 3 add x19, x19, 20 -.L116: +.L110: add x2, x22, :lo12:.LANCHOR0 lsl x0, x23, 4 add x2, x2, 24 @@ -937,9 +908,9 @@ HynixSetRRPara: add x20, x20, x21 mov x21, 0 str w0, [x20,2056] -.L117: +.L111: cmp x21, x27 - beq .L119 + beq .L113 ldrb w0, [x25,x21] str w0, [x20,2052] mov w0, 200 @@ -947,8 +918,8 @@ HynixSetRRPara: ldrb w0, [x19,x21] add x21, x21, 1 str w0, [x20,2048] - b .L117 -.L119: + b .L111 +.L113: add x22, x22, :lo12:.LANCHOR0 mov w0, 22 add x23, x22, x23 @@ -980,24 +951,24 @@ FlashSetReadRetryDefault: sub w0, w0, #1 uxtb w0, w0 cmp w0, 5 - bhi .L120 + bhi .L114 add x21, x19, 1620 add x22, x19, 764 -.L125: +.L119: lsl x1, x20, 3 uxtb w0, w20 ldrb w1, [x1,x21] cmp w1, 173 - bne .L122 + bne .L116 ldrb w1, [x19,761] mov x2, x22 mov w3, 0 bl HynixSetRRPara -.L122: +.L116: add x20, x20, 1 cmp x20, 4 - bne .L125 -.L120: + bne .L119 +.L114: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x29, x30, [sp], 48 @@ -1021,39 +992,39 @@ FlashReadStatusEN: ldrb w19, [x6,8] ldrb w0, [x0,8] cmp w0, 2 - bne .L128 + bne .L122 add x4, x4, 88 - cbnz w2, .L129 + cbnz w2, .L123 ldrb w2, [x4,13] - b .L137 -.L129: + b .L131 +.L123: ldrb w2, [x4,14] -.L137: +.L131: add x0, x19, 8 add x3, x3, :lo12:.LANCHOR0 add x0, x20, x0, lsl 8 str w2, [x0,8] mov w2, 0 ldrb w4, [x3,103] - cbz w4, .L132 + cbz w4, .L126 add x3, x19, 8 lsl x3, x3, 8 -.L136: +.L130: cmp w2, w4 - bcs .L132 + bcs .L126 add x5, x20, x3 lsl w0, w2, 3 lsr w0, w1, w0 add w2, w2, 1 and w0, w0, 255 str w0, [x5,4] - b .L136 -.L128: + b .L130 +.L122: add x0, x19, 8 mov w1, 112 add x0, x20, x0, lsl 8 str w1, [x0,8] -.L132: +.L126: add x19, x19, 8 mov w0, 80 lsl x19, x19, 8 @@ -1075,15 +1046,15 @@ FlashWaitReadyEN: uxtb w19, w0 mov w20, w1 uxtb w21, w2 -.L142: +.L136: mov w0, w19 mov w1, w20 mov w2, w21 bl FlashReadStatusEN cmp w0, 255 mov w3, w0 - beq .L142 - tbz x3, 6, .L142 + beq .L136 + tbz x3, 6, .L136 ldp x19, x20, [sp,16] ldr x21, [sp,32] ldp x29, x30, [sp], 48 @@ -1107,7 +1078,7 @@ FlashWaitCmdDone: add x19, x0, x1 ldrb w21, [x0,x1] ldr x0, [x19,8] - cbz x0, .L147 + cbz x0, .L141 mov w0, w21 add x20, x20, 708 bl NandcFlashCs @@ -1125,10 +1096,10 @@ FlashWaitCmdDone: str w0, [x1] str xzr, [x19,8] ldr x1, [x19,16] - cbz x1, .L147 + cbz x1, .L141 str w0, [x1] str xzr, [x19,16] -.L147: +.L141: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -1149,20 +1120,20 @@ NandcWaitFlashReady: mov w19, 34464 ldr x20, [x1,x0] movk w19, 0x1, lsl 16 -.L154: +.L148: mov w0, 100 bl NandcDelayns ldr w0, [x20] str w0, [x29,40] ldr w0, [x29,40] - tbnz x0, 9, .L155 + tbnz x0, 9, .L149 subs w19, w19, #1 - bne .L154 + bne .L148 mov w0, -1 - b .L153 -.L155: + b .L147 +.L149: mov w0, 0 -.L153: +.L147: ldp x19, x20, [sp,16] ldp x29, x30, [sp], 48 ret @@ -1250,68 +1221,68 @@ FlashSetInterfaceMode: mov w13, 32 mov w14, 5 uxtb w5, w2 -.L170: +.L164: ldrb w3, [x6,x4] ldr x1, [x7] cmp w3, 152 ldrb w2, [x7,8] - beq .L160 + beq .L154 cmp w3, 69 - beq .L160 + beq .L154 cmp w3, 173 - beq .L160 + beq .L154 cmp w3, 44 - bne .L161 -.L160: + bne .L155 +.L154: cmp w0, 1 - bne .L163 - cbz w11, .L161 + bne .L157 + cbz w11, .L155 ubfiz x2, x2, 8, 8 cmp w3, 173 add x1, x1, x2 str w8, [x1,2056] - bne .L164 + bne .L158 str w0, [x1,2052] - b .L181 -.L164: + b .L175 +.L158: cmp w3, 44 - bne .L166 + bne .L160 str w0, [x1,2052] str w14, [x1,2048] - b .L168 -.L166: + b .L162 +.L160: str w9, [x1,2052] str w0, [x1,2048] - b .L168 -.L163: - cbz w5, .L161 + b .L162 +.L157: + cbz w5, .L155 ubfiz x2, x2, 8, 8 cmp w3, 173 add x1, x1, x2 str w8, [x1,2056] - bne .L167 + bne .L161 str w10, [x1,2052] str w13, [x1,2048] - b .L168 -.L167: + b .L162 +.L161: cmp w3, 44 - bne .L169 + bne .L163 str w10, [x1,2052] str w12, [x1,2048] - b .L168 -.L169: + b .L162 +.L163: str w9, [x1,2052] -.L181: +.L175: str wzr, [x1,2048] -.L168: +.L162: str wzr, [x1,2048] str wzr, [x1,2048] str wzr, [x1,2048] -.L161: +.L155: add x6, x6, 8 add x7, x7, 16 cmp x6, 32 - bne .L170 + bne .L164 mov w0, 0 bl NandcWaitFlashReady mov w0, 0 @@ -1425,23 +1396,23 @@ SandiskSetRRPara: add x0, x0, x1 add x1, x2, x1 mov x2, 0 -.L185: +.L179: add x3, x5, :lo12:.LANCHOR0 ldrb w4, [x3,753] cmp w4, w2 - bls .L190 + bls .L184 ldrb w3, [x3,752] cmp w3, 67 - bne .L186 + bne .L180 ldrsb w3, [x0,x2] - b .L189 -.L186: + b .L183 +.L180: ldrsb w3, [x1,x2] -.L189: +.L183: str w3, [x20] add x2, x2, 1 - b .L185 -.L190: + b .L179 +.L184: mov w0, 0 bl NandcWaitFlashReady ldp x19, x20, [sp,16] @@ -1455,98 +1426,89 @@ FlashEraseSLc2KBlocks: stp x29, x30, [sp, -96]! add x29, sp, 0 stp x21, x22, [sp,32] - adrp x22, __stack_chk_guard adrp x21, .LANCHOR0 + str x25, [sp,64] stp x23, x24, [sp,48] - stp x25, x26, [sp,64] add x21, x21, :lo12:.LANCHOR0 - mov w25, w1 - adrp x24, .LC1 - ldr x1, [x22,#:lo12:__stack_chk_guard] + adrp x23, .LC0 stp x19, x20, [sp,16] - str x1, [x29,88] + mov w24, w1 mov x20, x0 - mov w23, 0 - add x26, x21, 1652 - add x24, x24, :lo12:.LC1 -.L192: - cmp w23, w25 - beq .L202 - add x2, x29, 80 - sub w4, w25, w23 + mov w22, 0 + add x25, x21, 1652 + add x23, x23, :lo12:.LC0 +.L186: + cmp w22, w24 + beq .L195 + add x2, x29, 88 + sub w4, w24, w22 mov x0, x20 mov w1, 0 - add x3, x29, 84 + add x3, x29, 92 bl LogAddr2PhyAddr - ldr w2, [x29,84] + ldr w2, [x29,92] ldrb w0, [x21,1845] cmp w2, w0 - bcc .L193 + bcc .L187 mov w0, -1 str w0, [x20] - b .L194 -.L193: + b .L188 +.L187: uxtw x2, w2 add x0, x21, x2 ldrb w19, [x0,1848] mov x0, 24 mul x2, x2, x0 mov w0, w19 - strb w19, [x26,x2] + strb w19, [x25,x2] bl NandcWaitFlashReady mov w0, w19 bl NandcFlashCs - ldr w1, [x29,80] + ldr w1, [x29,88] mov w2, 0 mov w0, w19 bl FlashEraseCmd mov w0, w19 bl NandcWaitFlashReady - ldr w1, [x29,80] + ldr w1, [x29,88] mov w0, w19 bl FlashReadStatus sbfx x0, x0, 0, 1 str w0, [x20] mov w0, w19 - ldr w1, [x29,80] + ldr w1, [x29,88] ldr w2, [x21,12] add w1, w2, w1 mov w2, 0 bl FlashEraseCmd mov w0, w19 bl NandcWaitFlashReady - ldr w1, [x29,80] + ldr w1, [x29,88] mov w0, w19 bl FlashReadStatus - tbz x0, 0, .L195 + tbz x0, 0, .L189 mov w0, -1 str w0, [x20] -.L195: +.L189: ldr w0, [x20] cmn w0, #1 - bne .L196 - ldr w1, [x29,80] - mov x0, x24 + bne .L190 + ldr w1, [x29,88] + mov x0, x23 bl printk -.L196: +.L190: mov w0, w19 bl NandcFlashDeCs -.L194: - add w23, w23, 1 +.L188: + add w22, w22, 1 add x20, x20, 56 - b .L192 -.L202: - ldr x2, [x29,88] + b .L186 +.L195: mov w0, 0 - ldr x1, [x22,#:lo12:__stack_chk_guard] - cmp x2, x1 - beq .L198 - bl __stack_chk_fail -.L198: + ldr x25, [sp,64] ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] - ldp x25, x26, [sp,64] ldp x29, x30, [sp], 96 ret .size FlashEraseSLc2KBlocks, .-FlashEraseSLc2KBlocks @@ -1575,16 +1537,16 @@ HynixGetReadRetryDefault: mov w0, -81 strb w3, [x1,6] strb w0, [x1,7] - bne .L204 + bne .L197 mov w0, -89 strb w0, [x1,4] adrp x0, .LANCHOR1+521 mov w1, -9 strb w1, [x0,#:lo12:.LANCHOR1+521] - b .L241 -.L204: + b .L234 +.L197: cmp w26, 3 - bne .L206 + bne .L199 mov w0, -80 strb w0, [x1,4] mov w0, -79 @@ -1600,10 +1562,10 @@ HynixGetReadRetryDefault: mov w0, -74 strb w0, [x1,10] mov w0, -73 - b .L257 -.L206: + b .L250 +.L199: cmp w26, 4 - bne .L207 + bne .L200 mov w5, -52 strb w5, [x1,4] mov w5, -65 @@ -1616,14 +1578,14 @@ HynixGetReadRetryDefault: mov w5, -51 strb w3, [x1,10] strb w5, [x1,8] -.L257: +.L250: mov w21, 8 strb w0, [x1,11] mov w20, w21 - b .L205 -.L207: + b .L198 +.L200: cmp w26, 5 - bne .L208 + bne .L201 mov w0, 56 strb w0, [x1,4] mov w0, 57 @@ -1633,10 +1595,10 @@ HynixGetReadRetryDefault: strb w0, [x1,6] mov w0, 59 strb w0, [x1,7] - b .L256 -.L208: + b .L249 +.L201: cmp w26, 6 - bne .L241 + bne .L234 mov w0, 14 strb w0, [x1,4] mov w0, 15 @@ -1646,15 +1608,15 @@ HynixGetReadRetryDefault: strb w0, [x1,6] mov w0, 17 strb w0, [x1,7] - b .L256 -.L241: + b .L249 +.L234: mov w21, 7 -.L256: +.L249: mov w20, 4 -.L205: +.L198: sub w0, w26, #1 cmp w0, 1 - bhi .L253 + bhi .L246 adrp x24, .LANCHOR1 add x27, x19, :lo12:.LANCHOR0 add x24, x24, :lo12:.LANCHOR1 @@ -1662,10 +1624,10 @@ HynixGetReadRetryDefault: add x28, x27, 760 add x4, x27, 24 add x24, x24, 504 -.L209: +.L202: ldrb w0, [x27,1845] cmp w0, w23 - bls .L216 + bls .L209 add x0, x27, x23, sxtw ldrb w0, [x0,1848] mov x25, 0 @@ -1677,7 +1639,7 @@ HynixGetReadRetryDefault: ldrb w0, [x1,8] mov w1, 55 add x26, x26, x0, lsl 8 -.L211: +.L204: add x0, x28, x25 str w1, [x26,2056] str x4, [x29,128] @@ -1692,12 +1654,12 @@ HynixGetReadRetryDefault: ldr x1, [x29,136] cmp w20, w25, uxtb ldr x4, [x29,128] - bhi .L211 + bhi .L204 mov x0, 0 -.L212: +.L205: add w2, w0, 8 mov x1, 0 -.L213: +.L206: add x3, x1, x0 add x1, x1, 4 add x3, x24, x3 @@ -1707,10 +1669,10 @@ HynixGetReadRetryDefault: add w3, w5, w3 strb w3, [x22,w2,sxtw] add w2, w2, 8 - bne .L213 + bne .L206 add x0, x0, 1 cmp x0, 4 - bne .L212 + bne .L205 add w23, w23, 1 strb wzr, [x22,16] strb wzr, [x22,24] @@ -1720,11 +1682,11 @@ HynixGetReadRetryDefault: strb wzr, [x22,48] strb wzr, [x22,41] strb wzr, [x22,49] - b .L209 -.L253: + b .L202 +.L246: sub w0, w26, #3 cmp w0, 3 - bhi .L216 + bhi .L209 mul w0, w20, w21 cmp w26, 6 mov w1, 4 @@ -1745,11 +1707,11 @@ HynixGetReadRetryDefault: uxtb x0, w0 add x0, x0, 1 str x0, [x29,104] -.L217: +.L210: ldrb w0, [x23,1845] cmp w0, w22 - bhi .L240 -.L216: + bhi .L233 +.L209: add x19, x19, :lo12:.LANCHOR0 ldp x23, x24, [sp,48] ldp x25, x26, [sp,64] @@ -1760,7 +1722,7 @@ HynixGetReadRetryDefault: ldp x27, x28, [sp,80] ldp x29, x30, [sp], 144 ret -.L240: +.L233: add x0, x23, x22, sxtw ldrb w0, [x0,1848] ldr x1, [x29,136] @@ -1783,29 +1745,29 @@ HynixGetReadRetryDefault: cmp w26, 4 str w0, [x28,2056] ldr x3, [x29,96] - bne .L218 + bne .L211 mov w0, 64 str w3, [x28,2052] str w0, [x28,2048] mov w0, 204 - b .L258 -.L218: + b .L251 +.L211: cmp w27, 1 - bhi .L220 + bhi .L213 ldr x0, [x29,136] ldrb w0, [x0,4] str w0, [x28,2052] mov w0, 82 - b .L259 -.L220: + b .L252 +.L213: mov w0, 174 str w0, [x28,2052] str wzr, [x28,2048] mov w0, 176 -.L258: +.L251: str w0, [x28,2052] mov w0, 77 -.L259: +.L252: str w0, [x28,2048] mov w0, 22 str w0, [x28,2056] @@ -1819,13 +1781,13 @@ HynixGetReadRetryDefault: str wzr, [x28,2056] str wzr, [x28,2052] str wzr, [x28,2052] - bne .L221 + bne .L214 mov w0, 31 str w0, [x28,2052] - b .L222 -.L221: + b .L215 +.L214: str wzr, [x28,2052] -.L222: +.L215: mov w3, 2 str w3, [x28,2052] str wzr, [x28,2052] @@ -1839,29 +1801,29 @@ HynixGetReadRetryDefault: cmp w27, 1 csel w3, w3, w0, hi mov w0, 0 -.L224: +.L217: add w0, w0, 1 ldr w4, [x28,2048] uxtb w0, w0 cmp w0, w3 - bne .L224 + bne .L217 ldr x6, [x23,1856] mov x0, 0 -.L225: +.L218: ldr w1, [x29,124] cmp w1, w0 - ble .L260 + ble .L253 ldr w3, [x28,2048] strb w3, [x6,x0] add x0, x0, 1 - b .L225 -.L260: + b .L218 +.L253: ldr x8, [x23,1856] mov w5, w24 mov w4, 8 -.L228: +.L221: mov w0, 0 -.L227: +.L220: add w3, w0, w5 add w0, w0, 1 sbfiz x3, x3, 2, 32 @@ -1869,64 +1831,64 @@ HynixGetReadRetryDefault: ldr w7, [x8,x3] mvn w7, w7 str w7, [x8,x3] - bne .L227 + bne .L220 ldr w0, [x29,116] subs w4, w4, #1 add w5, w5, w0 - bne .L228 + bne .L221 mov x4, 0 mov w12, 1 -.L229: +.L222: mov w3, 0 ldr x11, [x23,1856] mov w7, w3 -.L233: +.L226: lsl w5, w12, w7 mov w9, w4 mov w0, 16 mov w8, 0 -.L231: +.L224: ldr w10, [x11,w9,sxtw 2] add w9, w9, w24 and w10, w5, w10 cmp w10, w5 csinc w8, w8, w8, ne subs w0, w0, #1 - bne .L231 + bne .L224 cmp w8, 9 orr w5, w3, w5 add w7, w7, 1 csel w3, w5, w3, cs cmp w7, 32 - bne .L233 + bne .L226 str w3, [x11,x4,lsl 2] add x4, x4, 1 cmp w24, w4 - bgt .L229 + bgt .L222 mov w4, w0 -.L236: +.L229: mov x3, 0 -.L235: +.L228: add w5, w0, w3 ldr x1, [x29,128] ldrb w7, [x6,x3] add x3, x3, 1 cmp w20, w3, uxtb strb w7, [x1,w5,sxtw] - bhi .L235 + bhi .L228 ldr x1, [x29,104] add w4, w4, 1 cmp w4, w21 add x6, x6, x1 ldr w1, [x29,120] add w0, w0, w1 - blt .L236 + blt .L229 mov w0, 255 str w0, [x28,2056] mov w0, w25 bl NandcWaitFlashReady cmp w27, 1 - bhi .L238 + bhi .L231 mov w0, 54 str w0, [x28,2056] ldr x0, [x29,136] @@ -1938,16 +1900,16 @@ HynixGetReadRetryDefault: str w0, [x28,2056] mov w0, w22 bl FlashReadCmd - b .L239 -.L238: + b .L232 +.L231: mov w0, 56 str w0, [x28,2056] -.L239: +.L232: mov w0, w25 add w22, w22, 1 bl NandcWaitFlashReady uxtb w22, w22 - b .L217 + b .L210 .size HynixGetReadRetryDefault, .-HynixGetReadRetryDefault .align 2 .global FlashReadDpCmd @@ -1975,7 +1937,7 @@ FlashReadDpCmd: cmp w0, 1 and w5, w1, 255 lsr w0, w1, 16 - bne .L262 + bne .L255 add x19, x6, x19, lsl 8 ldrb w2, [x3,8] str x1, [x29,72] @@ -1998,8 +1960,8 @@ FlashReadDpCmd: str w20, [x19,2052] str w0, [x19,2056] ldr x1, [x29,72] - b .L263 -.L262: + b .L256 +.L255: add x19, x6, x19, lsl 8 ldrb w2, [x3,8] str w2, [x19,2056] @@ -2013,7 +1975,7 @@ FlashReadDpCmd: str w22, [x19,2052] str w20, [x19,2052] str w0, [x19,2056] -.L263: +.L256: mov w0, w21 bl FlashSetRandomizer ldr x23, [sp,48] @@ -2036,15 +1998,15 @@ FlashDeInit: add x20, x0, :lo12:.LANCHOR0 mov x19, x0 ldrb w1, [x20,1864] - cbz w1, .L265 + cbz w1, .L258 ldrb w0, [x20,1844] - tbz x0, 0, .L265 + tbz x0, 0, .L258 mov w0, 1 bl FlashSetInterfaceMode mov w0, 1 bl NandcSetMode strb wzr, [x20,1864] -.L265: +.L258: add x0, x19, :lo12:.LANCHOR0 ldr x0, [x0,24] str wzr, [x0,336] @@ -2081,37 +2043,37 @@ NandcTimeCfg: add x1, x1, :lo12:.LANCHOR0 sdiv w0, w0, w2 cmp w0, 250 - ble .L274 + ble .L267 ldr x0, [x1,128] mov w1, 8354 - b .L281 -.L274: + b .L274 +.L267: cmp w0, 220 - ble .L276 + ble .L269 ldr x0, [x1,128] - b .L282 -.L276: + b .L275 +.L269: cmp w0, 185 - ble .L277 + ble .L270 ldr x0, [x1,128] mov w1, 4226 - b .L281 -.L277: + b .L274 +.L270: cmp w0, 160 ldr x0, [x1,128] - ble .L278 + ble .L271 mov w1, 4194 - b .L281 -.L278: + b .L274 +.L271: cmp w19, 35 mov w1, 4193 - bls .L281 + bls .L274 cmp w19, 99 mov w1, 4225 - bls .L281 -.L282: + bls .L274 +.L275: mov w1, 8322 -.L281: +.L274: str w1, [x0,4] ldr x19, [sp,16] ldp x29, x30, [sp], 32 @@ -2127,15 +2089,15 @@ FlashTimingCfg: and w1, w1, -33 cmp w1, 1 add x29, sp, 0 - bls .L284 + bls .L277 mov w1, 8322 cmp w0, w1 - bne .L285 -.L284: + bne .L278 +.L277: adrp x1, .LANCHOR0+128 ldr x1, [x1,#:lo12:.LANCHOR0+128] str w0, [x1,4] -.L285: +.L278: adrp x0, .LANCHOR1+493 ldrb w0, [x0,#:lo12:.LANCHOR1+493] bl NandcTimeCfg @@ -2232,21 +2194,21 @@ NandcBchSel: str w0, [x1,1940] mov w1, 4096 str w3, [x2,8] - bne .L289 -.L292: + bne .L282 +.L285: and w1, w1, -17 - b .L290 -.L289: + b .L283 +.L282: cmp w0, 24 - bne .L291 + bne .L284 orr w1, w1, 16 - b .L290 -.L291: + b .L283 +.L284: cmp w0, 40 orr w1, w1, 262144 orr w1, w1, 16 - beq .L292 -.L290: + beq .L285 +.L283: orr w1, w1, 1 str w1, [x2,12] ret @@ -2295,22 +2257,22 @@ FlashResume: str w2, [x1,336] ldr w2, [x0,164] str w2, [x1,344] -.L299: +.L292: lsl x0, x21, 3 ldrb w0, [x0,x19] sub w0, w0, #1 uxtb w0, w0 cmp w0, 253 - bhi .L298 + bhi .L291 mov w0, w21 bl FlashReset -.L298: +.L291: add x21, x21, 1 cmp x21, 4 - bne .L299 + bne .L292 add x19, x20, :lo12:.LANCHOR0 ldrb w0, [x19,1864] - cbz w0, .L300 + cbz w0, .L293 mov w0, 1 bl NandcSetMode ldrb w0, [x19,1844] @@ -2320,7 +2282,7 @@ FlashResume: ldr w0, [x19,152] lsr w0, w0, 8 bl NandcSetDdrPara -.L300: +.L293: add x20, x20, :lo12:.LANCHOR0 ldr x0, [x20,744] ldrb w0, [x0,20] @@ -2390,15 +2352,15 @@ NandcIqrWaitFlashReady: mov w1, 1 bl NandCIrqEnable ldr w0, [x19] - tbnz x0, 9, .L310 + tbnz x0, 9, .L303 mov x0, x19 bl wait_for_nand_flash_ready - b .L309 -.L310: + b .L302 +.L303: mov x0, x19 mov w1, 1 bl NandCIrqDisable -.L309: +.L302: ldr x19, [sp,16] ldp x29, x30, [sp], 32 ret @@ -2407,76 +2369,72 @@ NandcIqrWaitFlashReady: .global FlashEraseBlocks .type FlashEraseBlocks, %function FlashEraseBlocks: - stp x29, x30, [sp, -144]! + stp x29, x30, [sp, -128]! add x29, sp, 0 - stp x23, x24, [sp,48] - mov w23, w2 - adrp x2, __stack_chk_guard stp x27, x28, [sp,80] mov w27, w1 - str x2, [x29,120] - ldr x1, [x2,#:lo12:__stack_chk_guard] - mov x24, x0 - str x1, [x29,136] adrp x1, .LANCHOR0 stp x19, x20, [sp,16] add x19, x1, :lo12:.LANCHOR0 - str x1, [x29,112] + str x1, [x29,104] + stp x23, x24, [sp,48] + mov w23, w2 + mov x24, x0 + ldrb w2, [x19,8] + mov w20, 0 stp x21, x22, [sp,32] stp x25, x26, [sp,64] - ldrb w3, [x19,8] - mov w20, 0 - cbz w3, .L313 + cbz w2, .L306 mov w1, w23 bl FlashEraseSLc2KBlocks - b .L314 -.L313: + b .L307 +.L306: mov w28, 56 add x25, x19, 1652 mov x26, 24 -.L339: +.L331: cmp w20, w23 - bcs .L340 + bcs .L332 umull x5, w20, w28 mov w1, 0 sub w4, w23, w20 add x21, x24, x5 - add x2, x29, 128 + add x2, x29, 120 mov x0, x21 - add x3, x29, 132 - str x5, [x29,104] + add x3, x29, 124 + str x5, [x29,96] bl LogAddr2PhyAddr mov w22, w0 ldrb w1, [x19,1845] - ldr w0, [x29,132] - ldr x5, [x29,104] + ldr w0, [x29,124] + ldr x5, [x29,96] cmp w0, w1 - bcc .L315 + bcc .L308 mov w0, -1 str w0, [x24,x5] - b .L316 -.L315: + b .L309 +.L308: ldrb w1, [x19,1945] cmp w1, wzr uxtw x1, w0 csel w22, w22, wzr, ne madd x1, x1, x26, x25 ldr x1, [x1,8] - cbz x1, .L318 + cbz x1, .L311 bl FlashWaitCmdDone -.L318: - ldr w0, [x29,132] - ldr w1, [x29,128] +.L311: + ldr w0, [x29,124] + ldr w1, [x29,120] madd x2, x0, x26, x25 str x21, [x2,8] str xzr, [x2,16] str w1, [x2,4] - cbz w22, .L319 + cbz w22, .L312 add w1, w20, 1 umull x1, w1, w28 add x1, x24, x1 str x1, [x2,16] -.L319: +.L312: add x1, x19, x0 mul x0, x0, x26 ldrb w21, [x1,1848] @@ -2484,70 +2442,63 @@ FlashEraseBlocks: mov w0, w21 bl NandcFlashCs cmp w27, 1 - bne .L320 + bne .L313 ldrb w0, [x19,120] - cbz w0, .L320 + cbz w0, .L313 mov w0, w21 bl flash_enter_slc_mode -.L320: - ldr w1, [x29,132] +.L313: + ldr w1, [x29,124] add x0, x19, 708 add w20, w20, w22 ldr w0, [x0,x1,lsl 2] - ldr w1, [x29,128] + ldr w1, [x29,120] cmp w0, wzr mov w0, w21 cset w2, ne bl FlashWaitReadyEN - ldr w1, [x29,128] + ldr w1, [x29,120] mov w0, w21 mov w2, w22 bl FlashEraseCmd mov w0, w21 bl NandcFlashDeCs -.L316: +.L309: add w20, w20, 1 - b .L339 -.L340: - ldr x0, [x29,112] + b .L331 +.L332: + ldr x0, [x29,104] mov x20, 0 mov x22, 24 add x19, x0, :lo12:.LANCHOR0 add x21, x19, 1652 ldr x0, [x19,128] bl NandcIqrWaitFlashReady -.L322: +.L315: ldrb w0, [x19,1845] cmp w0, w20 - bls .L341 + bls .L333 mov w0, w20 bl FlashWaitCmdDone cmp w27, 1 - bne .L323 + bne .L316 ldrb w0, [x19,120] - cbz w0, .L323 + cbz w0, .L316 mul x0, x20, x22 ldrb w0, [x0,x21] bl flash_exit_slc_mode -.L323: +.L316: add x20, x20, 1 - b .L322 -.L341: + b .L315 +.L333: mov w0, 0 -.L314: - ldr x1, [x29,120] - ldr x2, [x29,136] - ldr x1, [x1,#:lo12:__stack_chk_guard] - cmp x2, x1 - beq .L325 - bl __stack_chk_fail -.L325: +.L307: 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], 144 + ldp x29, x30, [sp], 128 ret .size FlashEraseBlocks, .-FlashEraseBlocks .align 2 @@ -2590,11 +2541,11 @@ NandcSendDumpDataStart: .type NandcSendDumpDataDone, %function NandcSendDumpDataDone: sub sp, sp, #16 -.L345: +.L337: ldr w1, [x0,8] str w1, [sp,8] ldr w1, [sp,8] - tbz x1, 20, .L345 + tbz x1, 20, .L337 add sp, sp, 16 ret .size NandcSendDumpDataDone, .-NandcSendDumpDataDone @@ -2633,7 +2584,7 @@ NandcXferStart: cmp w0, 3 orr w20, w20, 1024 bfi w20, w3, 4, 1 - bls .L349 + bls .L341 ldr w0, [x21,16] cmp x5, xzr str w0, [x29,88] @@ -2641,11 +2592,11 @@ NandcXferStart: ldr w0, [x29,88] and w0, w0, -5 str w0, [x29,88] - cbnz w8, .L363 - cbz x22, .L350 -.L363: - cbnz w24, .L352 -.L360: + cbnz w8, .L355 + cbz x22, .L342 +.L355: + cbnz w24, .L344 +.L352: mov x0, x21 bl rk_nandc_xfer_irq_flag_init mov x0, x21 @@ -2655,11 +2606,11 @@ NandcXferStart: mov x0, x22 asr w2, w2, 1 bfi w20, w2, 22, 6 - cbnz x22, .L354 + cbnz x22, .L346 add x0, x19, :lo12:.LANCHOR0 ldr x0, [x0,1888] - b .L354 -.L352: + b .L346 +.L344: add x1, x19, :lo12:.LANCHOR0 mov w6, 128 mov w3, 0 @@ -2670,26 +2621,26 @@ NandcXferStart: cmp w0, 25 mov w0, 64 csel w6, w0, w6, cc -.L356: +.L348: cmp w4, w2 - bcs .L360 + bcs .L352 lsr w0, w3, 2 ubfiz x0, x0, 2, 30 - cbz w8, .L357 + cbz w8, .L349 ldrh w7, [x5,2] ldr x10, [x1,1896] ldrh w11, [x5],4 orr w7, w11, w7, lsl 16 str w7, [x10,x0] - b .L358 -.L357: + b .L350 +.L349: ldr x7, [x1,1896] str w9, [x7,x0] -.L358: +.L350: add w4, w4, 1 add w3, w3, w6 - b .L356 -.L354: + b .L348 +.L346: add x19, x19, :lo12:.LANCHOR0 ubfx x25, x20, 22, 5 mov w2, w24 @@ -2719,12 +2670,12 @@ NandcXferStart: ldr w0, [x29,88] orr w0, w0, 448 str w0, [x29,88] - cbnz x22, .L361 + cbnz x22, .L353 ldr w0, [x29,88] mov w1, 2 bfi w0, w1, 3, 3 str w0, [x29,88] -.L361: +.L353: ldr w0, [x29,88] cmp w24, wzr cset w1, eq @@ -2736,10 +2687,10 @@ NandcXferStart: ldr w0, [x29,88] orr w0, w0, 1 str w0, [x29,88] -.L350: +.L342: ldr w0, [x29,88] str w0, [x21,16] -.L349: +.L341: str w23, [x21,12] str w20, [x21,8] orr w20, w20, 4 @@ -2757,14 +2708,14 @@ NandcXferStart: Ftl_log2: mov w2, 1 mov w1, 0 -.L368: +.L360: cmp w2, w0 - bhi .L370 + bhi .L362 add w1, w1, 1 lsl w2, w2, 1 uxth w1, w1 - b .L368 -.L370: + b .L360 +.L362: sub w0, w1, #1 ret .size Ftl_log2, .-Ftl_log2 @@ -2819,30 +2770,30 @@ FtlConstantsInit: strh w2, [x0,1974] strh w1, [x0,1976] strh w4, [x0,1962] -.L375: +.L367: add x5, x0, 1984 strb w3, [x3,x5] add x3, x3, 1 cmp x3, 32 - bne .L375 + bne .L367 ldrh w3, [x23,20] ldrb w0, [x23,15] cmp w3, w0 - bcs .L376 + bcs .L368 uxtb w8, w1 mov w3, 0 mul w11, w1, w2 ubfiz w10, w8, 1, 7 add x12, x19, :lo12:.LANCHOR0 -.L377: +.L369: cmp w3, w1 - bcs .L379 + bcs .L371 uxtb w0, w3 mov w5, w3 mov w7, 0 -.L380: +.L372: cmp w7, w2 - bcs .L393 + bcs .L385 add x9, x12, 1984 add w13, w5, w11 add w14, w0, w8 @@ -2852,33 +2803,33 @@ FtlConstantsInit: strb w14, [x9,x13] add w5, w5, w1 uxtb w0, w0 - b .L380 -.L393: + b .L372 +.L385: add w3, w3, 1 - b .L377 -.L379: + b .L369 +.L371: add x0, x19, :lo12:.LANCHOR0 lsl w2, w2, 1 lsr w4, w4, 1 strh w2, [x0,1974] strh w4, [x0,1962] -.L376: +.L368: add x0, x19, :lo12:.LANCHOR0 mov w2, 5 cmp w6, 1 strh w2, [x0,2016] strh wzr, [x0,2018] - bne .L381 + bne .L373 strh w6, [x0,2016] -.L381: +.L373: add x0, x19, :lo12:.LANCHOR0 mov w2, 4352 strh w2, [x0,2020] ldrb w2, [x0,8] - cbz w2, .L382 + cbz w2, .L374 mov w2, 384 strh w2, [x0,2020] -.L382: +.L374: add x21, x19, :lo12:.LANCHOR0 ldrh w20, [x21,1962] ldrh w22, [x21,1974] @@ -2912,10 +2863,10 @@ FtlConstantsInit: strh w0, [x21,2040] mul w0, w22, w20 str w0, [x21,1968] - bls .L383 + bls .L375 and w0, w20, 255 strh w0, [x21,2018] -.L383: +.L375: add x2, x19, :lo12:.LANCHOR0 ldrh w1, [x2,2018] ldrh w0, [x2,2020] @@ -2930,13 +2881,13 @@ FtlConstantsInit: sdiv w24, w1, w24 uxth w24, w24 cmp w24, 4 - bls .L384 + bls .L376 strh w24, [x2,2048] - b .L385 -.L384: + b .L377 +.L376: mov w1, 4 strh w1, [x2,2048] -.L385: +.L377: add x1, x19, :lo12:.LANCHOR0 asr w0, w0, w3 lsl w20, w20, 6 @@ -2953,9 +2904,9 @@ FtlConstantsInit: ldrh w0, [x1,2048] udiv w0, w0, w22 add w20, w20, w0 - bne .L392 + bne .L384 add w20, w20, 4 -.L392: +.L384: add x19, x19, :lo12:.LANCHOR0 str w20, [x1,1948] ldrh w0, [x19,1948] @@ -2993,23 +2944,23 @@ IsBlkInVendorPart: add x1, x1, :lo12:.LANCHOR0 mov w0, 0 ldrh w2, [x1,2072] - cbz w2, .L395 + cbz w2, .L387 ldrh w2, [x1,2048] ldr x3, [x1,2080] mov x1, 0 -.L396: +.L388: cmp w2, w1, uxth - bls .L401 + bls .L393 add x1, x1, 1 add x0, x3, x1, lsl 1 ldrh w0, [x0,-2] cmp w0, w4 - bne .L396 + bne .L388 mov w0, 1 - b .L395 -.L401: + b .L387 +.L393: mov w0, 0 -.L395: +.L387: ret .size IsBlkInVendorPart, .-IsBlkInVendorPart .align 2 @@ -3021,25 +2972,25 @@ FtlCacheMetchLpa: add x2, x2, :lo12:.LANCHOR0 mov w0, 0 ldr w3, [x2,2088] - cbz w3, .L403 + cbz w3, .L395 ldr x5, [x2,2096] mov x0, 56 mov x2, 0 -.L404: +.L396: cmp w3, w2 - bls .L413 + bls .L405 madd x4, x2, x0, x5 add x2, x2, 1 ldr w4, [x4,24] cmp w4, w6 - bcc .L404 + bcc .L396 cmp w4, w1 - bhi .L404 + bhi .L396 mov w0, 1 - b .L403 -.L413: + b .L395 +.L405: mov w0, 0 -.L403: +.L395: ret .size FtlCacheMetchLpa, .-FtlCacheMetchLpa .align 2 @@ -3112,8 +3063,8 @@ FtlBbmMapBadBlock: ldr w5, [x0,x6] orr w4, w4, w5 str w4, [x0,x6] - adrp x0, .LC2 - add x0, x0, :lo12:.LC2 + adrp x0, .LC1 + add x0, x0, :lo12:.LC1 bl printk ldrh w0, [x19,6] add w0, w0, 1 @@ -3163,19 +3114,19 @@ FtlBbtCalcTotleCnt: ldrh w1, [x0,2022] ldrh w21, [x0,1974] mul w21, w1, w21 -.L423: +.L415: cmp w20, w21 - bge .L429 + bge .L421 mov w0, w20 bl FtlBbmIsBadBlock - cbz w0, .L424 + cbz w0, .L416 add w19, w19, 1 uxth w19, w19 -.L424: +.L416: add w20, w20, 1 uxth w20, w20 - b .L423 -.L429: + b .L415 +.L421: mov w0, w19 ldr x21, [sp,32] ldp x19, x20, [sp,16] @@ -3234,16 +3185,16 @@ P2V_block_in_plane: ftl_cmp_data_ver: cmp w0, w1 mov w2, -2147483648 - bls .L434 + bls .L426 sub w1, w0, w1 cmp w1, w2 cset w0, ls - b .L435 -.L434: + b .L427 +.L426: sub w1, w1, w0 cmp w1, w2 cset w0, hi -.L435: +.L427: ret .size ftl_cmp_data_ver, .-ftl_cmp_data_ver .align 2 @@ -3281,8 +3232,8 @@ FtlFreeSysBlkQueueIn: mov x19, x2 ldrh w0, [x0,2214] cmp w0, 1024 - beq .L438 - cbz w1, .L440 + beq .L430 + cbz w1, .L432 adrp x20, .LANCHOR2 mov w0, w22 add x20, x20, :lo12:.LANCHOR2 @@ -3303,7 +3254,7 @@ FtlFreeSysBlkQueueIn: ldr w0, [x20,-72] add w0, w0, 1 str w0, [x20,-72] -.L440: +.L432: add x1, x19, :lo12:.LANCHOR0 add x1, x1, 2208 ldrh w0, [x1,6] @@ -3315,7 +3266,7 @@ FtlFreeSysBlkQueueIn: and w2, w2, 1023 strh w22, [x0,8] strh w2, [x1,4] -.L438: +.L430: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x29, x30, [sp], 48 @@ -3334,10 +3285,10 @@ FtlFreeSysBLkSort: mov w19, 0 add x20, x20, 2208 adrp x21, .LANCHOR2 -.L448: +.L440: ldrh w0, [x20,6] cmp w0, w19 - bls .L456 + bls .L448 ldrh w0, [x20,2] add w0, w0, w19 add x0, x20, x0, sxtw 1 @@ -3352,27 +3303,27 @@ FtlFreeSysBLkSort: ldr x1, [x1,-80] ldrh w0, [x1,x0] str w0, [x3,x2] - b .L448 -.L456: + b .L440 +.L448: adrp x4, .LANCHOR0 adrp x7, .LANCHOR2 mov w0, 0 add x4, x4, :lo12:.LANCHOR0 mov x8, x7 -.L450: +.L442: ldrh w6, [x4,2214] sub w1, w6, #1 cmp w0, w1 - bge .L457 + bge .L449 add x1, x7, :lo12:.LANCHOR2 add w5, w0, 1 uxth w5, w5 ldr x3, [x1,-64] mov w2, w5 mov w1, w0 -.L451: +.L443: cmp w2, w6 - bcs .L458 + bcs .L450 ubfiz x9, x2, 2, 16 ldr w10, [x3,w1,uxtw 2] ldr w9, [x3,x9] @@ -3380,10 +3331,10 @@ FtlFreeSysBLkSort: csel w1, w1, w2, ls add w2, w2, 1 uxth w2, w2 - b .L451 -.L458: + b .L443 +.L450: cmp w0, w1 - beq .L454 + beq .L446 ubfiz x2, x0, 2, 16 ubfiz x6, x1, 2, 32 ldr w10, [x3,x2] @@ -3402,10 +3353,10 @@ FtlFreeSysBLkSort: ldrh w6, [x1,8] strh w2, [x1,8] strh w6, [x0,8] -.L454: +.L446: mov w0, w5 - b .L450 -.L457: + b .L442 +.L449: ldp x19, x20, [sp,16] ldr x21, [sp,32] ldp x29, x30, [sp], 48 @@ -3422,26 +3373,26 @@ IsInFreeQueue: add x1, x1, 2208 ldrh w4, [x1,6] cmp w4, 1024 - beq .L460 + beq .L452 ldrh w5, [x1,2] mov w3, w0 -.L461: +.L453: cmp w3, w4 - bcs .L465 + bcs .L457 add w2, w3, w5 ubfiz x2, x2, 1, 10 add x2, x1, x2 ldrh w0, [x2,8] cmp w0, w6 - beq .L464 + beq .L456 add w3, w3, 1 - b .L461 -.L465: + b .L453 +.L457: mov w0, 0 - b .L460 -.L464: + b .L452 +.L456: mov w0, 1 -.L460: +.L452: ret .size IsInFreeQueue, .-IsInFreeQueue .align 2 @@ -3453,7 +3404,7 @@ FtlFreeSysBlkQueueOut: add x1, x1, :lo12:.LANCHOR0 add x1, x1, 2208 ldrh w3, [x1,6] - cbz w3, .L467 + cbz w3, .L459 ldrh w2, [x1,2] add x0, x1, x2, sxtw 1 ldrh w0, [x0,8] @@ -3462,7 +3413,7 @@ FtlFreeSysBlkQueueOut: strh w3, [x1,6] and w2, w2, 1023 strh w2, [x1,2] -.L467: +.L459: ret .size FtlFreeSysBlkQueueOut, .-FtlFreeSysBlkQueueOut .align 2 @@ -3472,7 +3423,7 @@ insert_data_list: uxth w0, w0 mov w9, 65535 cmp w0, w9 - beq .L471 + beq .L463 adrp x2, .LANCHOR2 mov w7, 6 add x5, x2, :lo12:.LANCHOR2 @@ -3484,10 +3435,10 @@ insert_data_list: strh w1, [x4,2] strh w1, [x11,x10] ldr x1, [x5,-48] - cbnz x1, .L472 + cbnz x1, .L464 str x4, [x5,-48] - b .L471 -.L472: + b .L463 +.L464: ubfiz x8, x0, 1, 16 ldr x13, [x5,-40] ldrh w2, [x4,4] @@ -3503,7 +3454,7 @@ insert_data_list: ldr x14, [x5,-80] uxth w2, w2 add x8, x14, x8 -.L479: +.L471: ubfiz x15, x2, 1, 16 ldrh w16, [x1,4] cmp w16, wzr @@ -3511,47 +3462,47 @@ insert_data_list: mul w5, w5, w16 csinv w5, w5, wzr, ne cmp w5, w6 - bne .L475 + bne .L467 ldrh w15, [x14,x15] ldrh w5, [x8] cmp w15, w5 - bcc .L477 - b .L476 -.L475: - bhi .L476 -.L477: + bcc .L469 + b .L468 +.L467: + bhi .L468 +.L469: ldrh w5, [x1] cmp w5, w9 - bne .L478 + bne .L470 strh w2, [x4,2] add x2, x3, :lo12:.LANCHOR2 strh w0, [x1] str x4, [x2,-32] - b .L471 -.L478: + b .L463 +.L470: umull x1, w5, w7 mov w2, w5 add x1, x12, x1 - b .L479 -.L476: + b .L471 +.L468: strh w2, [x11,x10] ldrh w2, [x1,2] strh w2, [x4,2] add x2, x3, :lo12:.LANCHOR2 ldr x3, [x2,-48] cmp x1, x3 - bne .L480 + bne .L472 strh w0, [x1,2] str x4, [x2,-48] - b .L471 -.L480: + b .L463 +.L472: ldrh w3, [x1,2] mov w4, 6 ldr x2, [x2,-56] umull x3, w3, w4 strh w0, [x2,x3] strh w0, [x1,2] -.L471: +.L463: mov w0, 0 ret .size insert_data_list, .-insert_data_list @@ -3577,7 +3528,7 @@ insert_free_list: uxth w0, w0 mov w7, 65535 cmp w0, w7 - beq .L485 + beq .L477 adrp x2, .LANCHOR2 mov w6, 6 add x5, x2, :lo12:.LANCHOR2 @@ -3589,10 +3540,10 @@ insert_free_list: strh w1, [x4,2] strh w1, [x9,x8] ldr x1, [x5,-16] - cbnz x1, .L486 + cbnz x1, .L478 str x4, [x5,-16] - b .L485 -.L486: + b .L477 +.L478: ldr x11, [x5,-80] ubfiz x2, x0, 1, 16 ldr x10, [x5,-56] @@ -3602,41 +3553,41 @@ insert_free_list: asr x2, x2, 1 madd x2, x5, x2, x2 uxth w2, w2 -.L489: +.L481: ubfiz x5, x2, 1, 16 ldrh w5, [x11,x5] cmp w5, w12 - bcs .L487 + bcs .L479 ldrh w5, [x1] cmp w5, w7 - bne .L488 + bne .L480 strh w2, [x4,2] strh w0, [x1] - b .L485 -.L488: + b .L477 +.L480: umull x1, w5, w6 mov w2, w5 add x1, x10, x1 - b .L489 -.L487: + b .L481 +.L479: ldrh w5, [x1,2] strh w5, [x4,2] strh w2, [x9,x8] add x2, x3, :lo12:.LANCHOR2 ldr x3, [x2,-16] cmp x1, x3 - bne .L490 + bne .L482 strh w0, [x1,2] str x4, [x2,-16] - b .L485 -.L490: + b .L477 +.L482: ldrh w3, [x1,2] mov w4, 6 ldr x2, [x2,-56] umull x3, w3, w4 strh w0, [x2,x3] strh w0, [x1,2] -.L485: +.L477: mov w0, 0 ret .size insert_free_list, .-insert_free_list @@ -3669,29 +3620,29 @@ List_remove_node: ldr x2, [x6,-56] add x4, x2, x1 cmp x4, x3 - bne .L493 + bne .L485 ldrh w3, [x2,x1] cmp w3, w7 - bne .L494 + bne .L486 str xzr, [x0] - b .L495 -.L494: + b .L487 +.L486: umull x3, w3, w5 add x3, x2, x3 str x3, [x0] mov w0, -1 strh w0, [x3,2] - b .L495 -.L493: + b .L487 +.L485: ldrh w0, [x2,x1] ldrh w3, [x4,2] cmp w0, w7 - bne .L496 + bne .L488 umull x3, w3, w5 mov w0, -1 strh w0, [x2,x3] - b .L495 -.L496: + b .L487 +.L488: umull x0, w0, w5 add x0, x2, x0 strh w3, [x0,2] @@ -3700,7 +3651,7 @@ List_remove_node: ldrh w7, [x2,x1] umull x3, w3, w5 strh w7, [x0,x3] -.L495: +.L487: mov w0, -1 strh w0, [x2,x1] strh w0, [x4,2] @@ -3717,14 +3668,14 @@ List_pop_index_node: str x19, [sp,16] mov w19, 65535 ldr x2, [x0] - cbz x2, .L498 + cbz x2, .L490 adrp x3, .LANCHOR2-56 mov w5, w19 mov w6, 6 ldr x4, [x3,#:lo12:.LANCHOR2-56] -.L499: - cbnz w1, .L500 -.L502: +.L491: + cbnz w1, .L492 +.L494: sub x2, x2, x4 mov x1, -6148914691236517206 asr x2, x2, 1 @@ -3732,17 +3683,17 @@ List_pop_index_node: uxth w19, w2 mov w1, w19 bl List_remove_node - b .L498 -.L500: + b .L490 +.L492: ldrh w3, [x2] cmp w3, w5 - beq .L502 + beq .L494 umull x3, w3, w6 sub w1, w1, #1 add x2, x4, x3 uxth w1, w1 - b .L499 -.L498: + b .L491 +.L490: mov w0, w19 ldr x19, [sp,16] ldp x29, x30, [sp], 32 @@ -3768,26 +3719,26 @@ List_get_gc_head_node: add x2, x2, :lo12:.LANCHOR2 mov w0, 65535 ldr x1, [x2,-48] - cbz x1, .L511 + cbz x1, .L503 ldr x4, [x2,-56] mov w5, 6 -.L507: - cbz w3, .L508 +.L499: + cbz w3, .L500 ldrh w2, [x1] cmp w2, w0 - beq .L511 + beq .L503 umull x2, w2, w5 sub w3, w3, #1 add x1, x4, x2 uxth w3, w3 - b .L507 -.L508: + b .L499 +.L500: sub x1, x1, x4 mov x0, -6148914691236517206 asr x1, x1, 1 madd x1, x0, x1, x1 uxth w0, w1 -.L511: +.L503: ret .size List_get_gc_head_node, .-List_get_gc_head_node .align 2 @@ -3802,20 +3753,20 @@ List_update_data_list: add x19, x0, :lo12:.LANCHOR2 ldrh w0, [x0,#:lo12:.LANCHOR2] cmp w0, w20 - beq .L513 + beq .L505 ldrh w0, [x19,48] cmp w0, w20 - beq .L513 + beq .L505 ldrh w0, [x19,96] cmp w0, w20 - beq .L513 + beq .L505 mov w2, 6 ldr x4, [x19,-56] ldr x0, [x19,-48] umull x3, w20, w2 add x3, x4, x3 cmp x3, x0 - beq .L513 + beq .L505 ldr x5, [x19,-40] ubfiz x0, x20, 1, 16 ldrh w1, [x3,4] @@ -3835,7 +3786,7 @@ List_update_data_list: cmp w0, wzr csinv w0, w0, wzr, ne cmp w1, w0 - bcs .L513 + bcs .L505 sub x0, x19, #48 mov w1, w20 bl List_remove_node @@ -3844,7 +3795,7 @@ List_update_data_list: strh w0, [x19,-24] mov w0, w20 bl INSERT_DATA_LIST -.L513: +.L505: mov w0, 0 ldp x19, x20, [sp,16] ldp x29, x30, [sp], 32 @@ -3861,17 +3812,17 @@ ftl_map_blk_alloc_new_blk: mov w20, 0 ldrh w2, [x0,10] ldr x1, [x0,16] -.L517: +.L509: cmp w20, w2 - beq .L520 + beq .L512 mov x22, x1 ldrh w21, [x1],2 - cbnz w21, .L518 + cbnz w21, .L510 mov x19, x0 bl FtlFreeSysBlkQueueOut uxth w1, w0 strh w0, [x22] - cbz w1, .L520 + cbz w1, .L512 ldr w0, [x19,48] strh w21, [x19,2] add w0, w0, 1 @@ -3880,12 +3831,12 @@ ftl_map_blk_alloc_new_blk: strh w20, [x19] add w0, w0, 1 strh w0, [x19,8] - b .L520 -.L518: + b .L512 +.L510: add w20, w20, 1 uxth w20, w20 - b .L517 -.L520: + b .L509 +.L512: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -3904,63 +3855,63 @@ select_l2p_ram_region: add x1, x0, :lo12:.LANCHOR2 mov x3, x0 ldr x1, [x1,144] -.L524: +.L516: uxth w0, w4 cmp w0, w2 - bcs .L540 + bcs .L532 add x4, x4, 1 add x6, x1, x4, lsl 4 ldrh w6, [x6,-16] cmp w6, w5 - bne .L524 - b .L525 -.L540: + bne .L516 + b .L517 +.L532: mov w0, w2 mov x4, 0 mov w7, -2147483648 -.L527: +.L519: uxth w6, w4 cmp w6, w2 - bcs .L541 + bcs .L533 add x5, x1, x4, lsl 4 ldr w5, [x5,4] - tbnz w5, #31, .L536 + tbnz w5, #31, .L528 cmp w5, w7 - bcc .L528 -.L536: + bcc .L520 +.L528: mov w5, w7 mov w6, w0 -.L528: +.L520: add x4, x4, 1 mov w7, w5 mov w0, w6 - b .L527 -.L541: + b .L519 +.L533: cmp w0, w2 - bcc .L525 + bcc .L517 add x0, x3, :lo12:.LANCHOR2 add x1, x1, 4 mov w4, -1 mov w3, 0 ldrh w5, [x0,152] mov w0, w2 -.L531: +.L523: cmp w3, w2 - beq .L525 + beq .L517 ldr w7, [x1] cmp w7, w4 - bcs .L532 + bcs .L524 ldrh w6, [x1,-4] cmp w6, w5 csel w4, w4, w7, eq cmp w6, w5 csel w0, w0, w3, eq -.L532: +.L524: add w3, w3, 1 add x1, x1, 16 uxth w3, w3 - b .L531 -.L525: + b .L523 +.L517: ret .size select_l2p_ram_region, .-select_l2p_ram_region .align 2 @@ -3970,13 +3921,13 @@ FtlUpdateVaildLpn: adrp x1, .LANCHOR2 add x3, x1, :lo12:.LANCHOR2 ldrh w2, [x3,154] - cbnz w0, .L543 + cbnz w0, .L535 cmp w2, 4 - bhi .L543 + bhi .L535 add w2, w2, 1 strh w2, [x3,154] - b .L542 -.L543: + b .L534 +.L535: adrp x2, .LANCHOR0+1960 add x0, x1, :lo12:.LANCHOR2 mov w7, 65535 @@ -3985,20 +3936,20 @@ FtlUpdateVaildLpn: str wzr, [x0,156] ldr x6, [x0,-40] mov x0, 0 -.L544: +.L536: cmp w5, w0, uxth - bls .L542 + bls .L534 ldrh w4, [x6,x0,lsl 1] cmp w4, w7 - beq .L545 + beq .L537 add x3, x1, :lo12:.LANCHOR2 ldr w2, [x3,156] add w2, w4, w2 str w2, [x3,156] -.L545: +.L537: add x0, x0, 1 - b .L544 -.L542: + b .L536 +.L534: ret .size FtlUpdateVaildLpn, .-FtlUpdateVaildLpn .align 2 @@ -4008,10 +3959,10 @@ ftl_set_blk_mode: stp x29, x30, [sp, -16]! uxth w0, w0 add x29, sp, 0 - cbz w1, .L549 + cbz w1, .L541 bl ftl_set_blk_mode.part.8 - b .L548 -.L549: + b .L540 +.L541: adrp x1, .LANCHOR0 ubfx x2, x0, 5, 11 lsl x2, x2, 2 @@ -4021,7 +3972,7 @@ ftl_set_blk_mode: ldr w1, [x3,x2] bic w0, w1, w0 str w0, [x3,x2] -.L548: +.L540: ldp x29, x30, [sp], 16 ret .size ftl_set_blk_mode, .-ftl_set_blk_mode @@ -4049,41 +4000,41 @@ ftl_sb_update_avl_pages: strh wzr, [x0,4] mov w6, 65535 ldrh w4, [x4,1952] -.L553: +.L545: cmp w2, w4 - bcs .L559 + bcs .L551 add x5, x0, x2, sxtw 1 ldrh w5, [x5,16] cmp w5, w6 - beq .L554 + beq .L546 ldrh w5, [x0,4] add w5, w5, 1 strh w5, [x0,4] -.L554: +.L546: add w2, w2, 1 uxth w2, w2 - b .L553 -.L559: + b .L545 +.L551: add x3, x3, :lo12:.LANCHOR0 mov w6, 65535 add x4, x0, x4, uxth 1 ldrh w5, [x3,2026] mov x3, x0 -.L556: +.L548: cmp x3, x4 - beq .L560 + beq .L552 ldrh w2, [x3,16] cmp w2, w6 - beq .L557 + beq .L549 ldrh w2, [x0,4] add w2, w5, w2 sub w2, w2, #1 sub w2, w2, w1 strh w2, [x0,4] -.L557: +.L549: add x3, x3, 2 - b .L556 -.L560: + b .L548 +.L552: ret .size ftl_sb_update_avl_pages, .-ftl_sb_update_avl_pages .align 2 @@ -4107,9 +4058,9 @@ make_superblock: mov x23, x1 mov w25, -1 ldrh w24, [x1,1952] -.L562: +.L554: cmp w24, w21, uxth - bls .L569 + bls .L561 add x0, x23, 1984 ldrh w1, [x19] ldrb w0, [x0,x21] @@ -4117,16 +4068,16 @@ make_superblock: strh w25, [x22] mov w26, w0 bl FtlBbmIsBadBlock - cbnz w0, .L563 + cbnz w0, .L555 strh w26, [x22] ldrb w0, [x19,7] add w0, w0, 1 strb w0, [x19,7] -.L563: +.L555: add x21, x21, 1 add x22, x22, 2 - b .L562 -.L569: + b .L554 +.L561: add x0, x20, :lo12:.LANCHOR0 ldrb w1, [x19,7] strb wzr, [x19,9] @@ -4136,15 +4087,15 @@ make_superblock: adrp x0, .LANCHOR2 add x0, x0, :lo12:.LANCHOR2 ldr w1, [x0,160] - cbz w1, .L565 + cbz w1, .L557 ldrh w1, [x19] ldr x0, [x0,-80] ldrh w0, [x0,x1,lsl 1] cmp w0, 59 - bhi .L565 + bhi .L557 mov w0, 1 strb w0, [x19,9] -.L565: +.L557: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -4170,25 +4121,25 @@ update_multiplier_value: mov w19, w22 ldrh w24, [x1,2026] mov x20, x1 -.L571: +.L563: cmp w23, w22, uxth - bls .L578 + bls .L570 add x0, x20, 1984 mov w1, w21 ldrb w0, [x0,x22] bl V2P_block bl FtlBbmIsBadBlock - cbnz w0, .L572 + cbnz w0, .L564 add w19, w19, w24 uxth w19, w19 -.L572: +.L564: add x22, x22, 1 - b .L571 -.L578: - cbz w19, .L574 + b .L563 +.L570: + cbz w19, .L566 mov w0, 32768 sdiv w19, w0, w19 -.L574: +.L566: mov w0, 6 umull x21, w21, w0 adrp x0, .LANCHOR2-56 @@ -4210,7 +4161,7 @@ GetFreeBlockMinEraseCount: add x2, x2, :lo12:.LANCHOR2 ldr x1, [x2,-16] mov w0, w1 - cbz x1, .L580 + cbz x1, .L572 ldr x0, [x2,-56] sub x1, x1, x0 mov x0, -6148914691236517206 @@ -4219,7 +4170,7 @@ GetFreeBlockMinEraseCount: ldr x0, [x2,-80] and x1, x1, 65535 ldrh w0, [x0,x1,lsl 1] -.L580: +.L572: ret .size GetFreeBlockMinEraseCount, .-GetFreeBlockMinEraseCount .align 2 @@ -4231,7 +4182,7 @@ GetFreeBlockMaxEraseCount: add x5, x2, :lo12:.LANCHOR2 ldr x1, [x5,-16] mov w0, w1 - cbz x1, .L583 + cbz x1, .L575 ldrh w3, [x5,-8] mov w0, 7 mov w6, 6 @@ -4247,418 +4198,415 @@ GetFreeBlockMaxEraseCount: madd x1, x3, x1, x1 mov w3, 0 uxth w1, w1 -.L585: +.L577: cmp w3, w4 - beq .L588 + beq .L580 umull x5, w1, w6 ldrh w5, [x0,x5] cmp w5, w7 - bne .L586 -.L588: + bne .L578 +.L580: add x2, x2, :lo12:.LANCHOR2 ubfiz x1, x1, 1, 16 ldr x0, [x2,-80] ldrh w0, [x0,x1] - b .L583 -.L586: + b .L575 +.L578: add w3, w3, 1 mov w1, w5 uxth w3, w3 - b .L585 -.L583: + b .L577 +.L575: ret .size GetFreeBlockMaxEraseCount, .-GetFreeBlockMaxEraseCount .align 2 .global FtlPrintInfo2buf .type FtlPrintInfo2buf, %function FtlPrintInfo2buf: - stp x29, x30, [sp, -128]! + stp x29, x30, [sp, -112]! + adrp x1, .LC2 add x29, sp, 0 - stp x23, x24, [sp,48] - adrp x24, __stack_chk_guard - mov x23, x0 stp x25, x26, [sp,64] - adrp x26, .LANCHOR0 - ldr x1, [x24,#:lo12:__stack_chk_guard] - add x26, x26, :lo12:.LANCHOR0 - str x1, [x29,120] - adrp x1, .LC3 - add x1, x1, :lo12:.LC3 + adrp x25, .LANCHOR0 + add x1, x1, :lo12:.LC2 + add x25, x25, :lo12:.LANCHOR0 + str x27, [sp,80] stp x19, x20, [sp,16] + stp x23, x24, [sp,48] stp x21, x22, [sp,32] - stp x27, x28, [sp,80] + mov x23, x0 bl strcpy add x20, x23, 12 - ldr w2, [x26,168] - adrp x1, .LC4 + ldr w2, [x25,168] + adrp x1, .LC3 mov x0, x20 - add x1, x1, :lo12:.LC4 + add x1, x1, :lo12:.LC3 bl sprintf add x20, x20, x0, sxtw - adrp x1, .LC5 - ldr w2, [x26,2044] + adrp x1, .LC4 + ldr w2, [x25,2044] mov x0, x20 - add x1, x1, :lo12:.LC5 + add x1, x1, :lo12:.LC4 bl sprintf add x20, x20, x0, sxtw adrp x0, .LANCHOR1+532 ldr w0, [x0,#:lo12:.LANCHOR1+532] cmp w0, 1 - beq .L591 + beq .L583 sub w0, w20, w23 - b .L592 -.L591: - add x0, x29, 104 - add x1, x29, 108 - add x2, x29, 112 - add x3, x29, 116 - adrp x25, .LANCHOR2 + b .L584 +.L583: + add x0, x29, 96 + add x1, x29, 100 + add x2, x29, 104 + add x3, x29, 108 + adrp x24, .LANCHOR2 bl NandcGetTimeCfg - add x22, x25, :lo12:.LANCHOR2 - ldr w4, [x29,112] - adrp x1, .LC6 - ldr w5, [x29,116] - add x1, x1, :lo12:.LC6 - ldr w3, [x29,108] + add x22, x24, :lo12:.LANCHOR2 + ldr w4, [x29,104] + adrp x1, .LC5 + ldr w5, [x29,108] + add x1, x1, :lo12:.LC5 + ldr w3, [x29,100] mov x0, x20 - ldr w2, [x29,104] + ldr w2, [x29,96] bl sprintf add x21, x20, x0, sxtw - adrp x1, .LC7 + adrp x1, .LC6 mov x0, x21 - add x1, x1, :lo12:.LC7 + add x1, x1, :lo12:.LC6 add x21, x21, 10 bl strcpy - ldr w2, [x26,2104] + ldr w2, [x25,2104] + adrp x1, .LC7 + mov x0, x21 + add x1, x1, :lo12:.LC7 + bl sprintf + add x21, x21, x0, sxtw + ldr w2, [x22,156] adrp x1, .LC8 mov x0, x21 add x1, x1, :lo12:.LC8 bl sprintf add x21, x21, x0, sxtw - ldr w2, [x22,156] + ldr w2, [x22,164] adrp x1, .LC9 mov x0, x21 add x1, x1, :lo12:.LC9 bl sprintf add x21, x21, x0, sxtw - ldr w2, [x22,164] + ldr w2, [x22,168] adrp x1, .LC10 mov x0, x21 add x1, x1, :lo12:.LC10 bl sprintf add x21, x21, x0, sxtw - ldr w2, [x22,168] + ldr w2, [x22,172] adrp x1, .LC11 mov x0, x21 add x1, x1, :lo12:.LC11 bl sprintf add x21, x21, x0, sxtw - ldr w2, [x22,172] + ldr w2, [x22,176] adrp x1, .LC12 mov x0, x21 add x1, x1, :lo12:.LC12 bl sprintf add x21, x21, x0, sxtw - ldr w2, [x22,176] + ldr w2, [x22,180] adrp x1, .LC13 mov x0, x21 add x1, x1, :lo12:.LC13 bl sprintf add x21, x21, x0, sxtw - ldr w2, [x22,180] + ldr w2, [x22,184] adrp x1, .LC14 mov x0, x21 add x1, x1, :lo12:.LC14 bl sprintf add x21, x21, x0, sxtw - ldr w2, [x22,184] + ldr w2, [x22,188] adrp x1, .LC15 mov x0, x21 add x1, x1, :lo12:.LC15 + lsr w2, w2, 11 bl sprintf add x21, x21, x0, sxtw - ldr w2, [x22,188] + ldr w2, [x22,192] adrp x1, .LC16 mov x0, x21 add x1, x1, :lo12:.LC16 lsr w2, w2, 11 bl sprintf add x21, x21, x0, sxtw - ldr w2, [x22,192] + ldr w2, [x22,196] adrp x1, .LC17 mov x0, x21 add x1, x1, :lo12:.LC17 - lsr w2, w2, 11 bl sprintf add x21, x21, x0, sxtw - ldr w2, [x22,196] + ldr w2, [x22,200] adrp x1, .LC18 - mov x0, x21 add x1, x1, :lo12:.LC18 + mov x0, x21 bl sprintf add x21, x21, x0, sxtw - ldr w2, [x22,200] + bl FtlBbtCalcTotleCnt + uxth w3, w0 + ldrh w2, [x25,2118] adrp x1, .LC19 - add x1, x1, :lo12:.LC19 mov x0, x21 + add x1, x1, :lo12:.LC19 bl sprintf add x21, x21, x0, sxtw - bl FtlBbtCalcTotleCnt - uxth w3, w0 - ldrh w2, [x26,2118] + ldrh w2, [x22,-8] adrp x1, .LC20 mov x0, x21 add x1, x1, :lo12:.LC20 bl sprintf add x21, x21, x0, sxtw - ldrh w2, [x22,-8] + ldr w2, [x22,204] adrp x1, .LC21 mov x0, x21 add x1, x1, :lo12:.LC21 bl sprintf add x21, x21, x0, sxtw - ldr w2, [x22,204] + ldr w2, [x22,208] adrp x1, .LC22 mov x0, x21 add x1, x1, :lo12:.LC22 bl sprintf add x21, x21, x0, sxtw - ldr w2, [x22,208] + ldr w2, [x22,212] adrp x1, .LC23 mov x0, x21 add x1, x1, :lo12:.LC23 bl sprintf add x21, x21, x0, sxtw - ldr w2, [x22,212] + ldr w2, [x22,-72] adrp x1, .LC24 mov x0, x21 add x1, x1, :lo12:.LC24 bl sprintf add x21, x21, x0, sxtw - ldr w2, [x22,-72] + ldr w2, [x22,216] adrp x1, .LC25 mov x0, x21 add x1, x1, :lo12:.LC25 bl sprintf add x21, x21, x0, sxtw - ldr w2, [x22,216] + ldr w2, [x22,220] adrp x1, .LC26 mov x0, x21 add x1, x1, :lo12:.LC26 bl sprintf add x21, x21, x0, sxtw - ldr w2, [x22,220] + ldrh w2, [x22,254] adrp x1, .LC27 mov x0, x21 add x1, x1, :lo12:.LC27 bl sprintf add x21, x21, x0, sxtw - ldrh w2, [x22,254] + ldrh w2, [x22,252] adrp x1, .LC28 mov x0, x21 add x1, x1, :lo12:.LC28 bl sprintf add x21, x21, x0, sxtw - ldrh w2, [x22,252] + ldr w2, [x25,2068] adrp x1, .LC29 mov x0, x21 add x1, x1, :lo12:.LC29 bl sprintf add x21, x21, x0, sxtw - ldr w2, [x26,2068] + ldr w2, [x25,2060] adrp x1, .LC30 mov x0, x21 add x1, x1, :lo12:.LC30 bl sprintf add x21, x21, x0, sxtw - ldr w2, [x26,2060] + ldr w2, [x25,1948] adrp x1, .LC31 mov x0, x21 add x1, x1, :lo12:.LC31 bl sprintf add x21, x21, x0, sxtw - ldr w2, [x26,1948] + ldrh w2, [x25,2214] adrp x1, .LC32 mov x0, x21 add x1, x1, :lo12:.LC32 bl sprintf add x21, x21, x0, sxtw - ldrh w2, [x26,2214] + ldrh w2, [x25,1960] adrp x1, .LC33 mov x0, x21 add x1, x1, :lo12:.LC33 bl sprintf add x21, x21, x0, sxtw - ldrh w2, [x26,1960] + ldrh w2, [x22,272] adrp x1, .LC34 mov x0, x21 add x1, x1, :lo12:.LC34 bl sprintf add x21, x21, x0, sxtw - ldrh w2, [x22,272] + ldr w2, [x25,1964] adrp x1, .LC35 mov x0, x21 add x1, x1, :lo12:.LC35 bl sprintf add x21, x21, x0, sxtw - ldr w2, [x26,1964] + ldrh w2, [x22,280] adrp x1, .LC36 mov x0, x21 add x1, x1, :lo12:.LC36 bl sprintf add x21, x21, x0, sxtw - ldrh w2, [x22,280] + ldrh w2, [x25,2112] adrp x1, .LC37 mov x0, x21 add x1, x1, :lo12:.LC37 bl sprintf add x21, x21, x0, sxtw - ldrh w2, [x26,2112] + ldrh w2, [x22,2] adrp x1, .LC38 mov x0, x21 add x1, x1, :lo12:.LC38 bl sprintf add x21, x21, x0, sxtw - ldrh w2, [x22,2] + ldrb w2, [x22,6] adrp x1, .LC39 mov x0, x21 add x1, x1, :lo12:.LC39 bl sprintf add x21, x21, x0, sxtw - ldrb w2, [x22,6] + ldrh w2, [x24,#:lo12:.LANCHOR2] adrp x1, .LC40 mov x0, x21 add x1, x1, :lo12:.LC40 bl sprintf add x21, x21, x0, sxtw - ldrh w2, [x25,#:lo12:.LANCHOR2] + ldrb w2, [x22,8] adrp x1, .LC41 mov x0, x21 add x1, x1, :lo12:.LC41 bl sprintf add x21, x21, x0, sxtw - ldrb w2, [x22,8] + ldrh w2, [x22,4] adrp x1, .LC42 mov x0, x21 add x1, x1, :lo12:.LC42 bl sprintf add x21, x21, x0, sxtw - ldrh w2, [x22,4] + ldrh w3, [x24,#:lo12:.LANCHOR2] adrp x1, .LC43 + ldr x2, [x22,-40] mov x0, x21 add x1, x1, :lo12:.LC43 + ldrh w2, [x2,x3,lsl 1] bl sprintf add x21, x21, x0, sxtw - ldrh w3, [x25,#:lo12:.LANCHOR2] + ldrh w2, [x22,50] adrp x1, .LC44 - ldr x2, [x22,-40] mov x0, x21 add x1, x1, :lo12:.LC44 - ldrh w2, [x2,x3,lsl 1] bl sprintf add x21, x21, x0, sxtw - ldrh w2, [x22,50] + ldrb w2, [x22,54] adrp x1, .LC45 mov x0, x21 add x1, x1, :lo12:.LC45 bl sprintf add x21, x21, x0, sxtw - ldrb w2, [x22,54] + ldrh w2, [x22,48] adrp x1, .LC46 mov x0, x21 add x1, x1, :lo12:.LC46 bl sprintf add x21, x21, x0, sxtw - ldrh w2, [x22,48] + ldrb w2, [x22,56] adrp x1, .LC47 mov x0, x21 add x1, x1, :lo12:.LC47 bl sprintf add x21, x21, x0, sxtw - ldrb w2, [x22,56] + ldrh w2, [x22,52] adrp x1, .LC48 mov x0, x21 add x1, x1, :lo12:.LC48 bl sprintf add x21, x21, x0, sxtw - ldrh w2, [x22,52] + ldrh w3, [x22,48] adrp x1, .LC49 + ldr x2, [x22,-40] mov x0, x21 add x1, x1, :lo12:.LC49 + ldrh w2, [x2,x3,lsl 1] bl sprintf add x21, x21, x0, sxtw - ldrh w3, [x22,48] + ldrh w2, [x22,98] adrp x1, .LC50 - ldr x2, [x22,-40] mov x0, x21 add x1, x1, :lo12:.LC50 - ldrh w2, [x2,x3,lsl 1] bl sprintf add x21, x21, x0, sxtw - ldrh w2, [x22,98] + ldrb w2, [x22,102] adrp x1, .LC51 mov x0, x21 add x1, x1, :lo12:.LC51 bl sprintf add x21, x21, x0, sxtw - ldrb w2, [x22,102] + ldrh w2, [x22,96] adrp x1, .LC52 mov x0, x21 add x1, x1, :lo12:.LC52 bl sprintf add x21, x21, x0, sxtw - ldrh w2, [x22,96] + ldrb w2, [x22,104] adrp x1, .LC53 mov x0, x21 add x1, x1, :lo12:.LC53 bl sprintf add x21, x21, x0, sxtw - ldrb w2, [x22,104] + ldrh w2, [x22,100] adrp x1, .LC54 mov x0, x21 add x1, x1, :lo12:.LC54 bl sprintf add x21, x21, x0, sxtw - ldrh w2, [x22,100] + ldrh w2, [x22,298] adrp x1, .LC55 mov x0, x21 add x1, x1, :lo12:.LC55 bl sprintf add x21, x21, x0, sxtw - ldrh w2, [x22,298] + ldrb w2, [x22,302] adrp x1, .LC56 mov x0, x21 add x1, x1, :lo12:.LC56 bl sprintf add x21, x21, x0, sxtw - ldrb w2, [x22,302] + ldrh w2, [x22,296] adrp x1, .LC57 mov x0, x21 add x1, x1, :lo12:.LC57 bl sprintf add x21, x21, x0, sxtw - ldrh w2, [x22,296] + ldrb w2, [x22,304] adrp x1, .LC58 mov x0, x21 add x1, x1, :lo12:.LC58 bl sprintf add x21, x21, x0, sxtw - ldrb w2, [x22,304] + ldrh w2, [x22,300] adrp x1, .LC59 mov x0, x21 add x1, x1, :lo12:.LC59 bl sprintf add x21, x21, x0, sxtw - ldrh w2, [x22,300] - adrp x1, .LC60 - mov x0, x21 - add x1, x1, :lo12:.LC60 - bl sprintf - add x21, x21, x0, sxtw ldr w3, [x22,344] - adrp x1, .LC61 + adrp x1, .LC60 ldr w2, [x22,160] - add x1, x1, :lo12:.LC61 + add x1, x1, :lo12:.LC60 ldr w4, [x22,436] mov x0, x21 ldr w5, [x22,428] @@ -4667,83 +4615,83 @@ FtlPrintInfo2buf: bl sprintf add x19, x21, x0, sxtw ldr w2, [x22,424] + adrp x1, .LC61 + mov x0, x19 + add x1, x1, :lo12:.LC61 + bl sprintf + add x19, x19, x0, sxtw + ldr w2, [x22,448] adrp x1, .LC62 mov x0, x19 add x1, x1, :lo12:.LC62 bl sprintf add x19, x19, x0, sxtw - ldr w2, [x22,448] + ldrh w2, [x22,864] adrp x1, .LC63 mov x0, x19 add x1, x1, :lo12:.LC63 bl sprintf add x19, x19, x0, sxtw - ldrh w2, [x22,864] + ldrh w2, [x22,866] adrp x1, .LC64 mov x0, x19 add x1, x1, :lo12:.LC64 bl sprintf add x19, x19, x0, sxtw - ldrh w2, [x22,866] + ldr w2, [x22,868] adrp x1, .LC65 mov x0, x19 add x1, x1, :lo12:.LC65 bl sprintf add x19, x19, x0, sxtw - ldr w2, [x22,868] + ldrh w2, [x22,872] adrp x1, .LC66 - mov x0, x19 add x1, x1, :lo12:.LC66 - bl sprintf - add x19, x19, x0, sxtw - ldrh w2, [x22,872] - adrp x1, .LC67 - add x1, x1, :lo12:.LC67 mov x0, x19 bl sprintf add x19, x19, x0, sxtw bl GetFreeBlockMinEraseCount uxth w2, w0 - adrp x1, .LC68 + adrp x1, .LC67 mov x0, x19 - add x1, x1, :lo12:.LC68 + add x1, x1, :lo12:.LC67 bl sprintf add x19, x19, x0, sxtw ldrh w0, [x22,-8] bl GetFreeBlockMaxEraseCount uxth w2, w0 - adrp x1, .LC69 + adrp x1, .LC68 mov x0, x19 - add x1, x1, :lo12:.LC69 + add x1, x1, :lo12:.LC68 bl sprintf add x19, x19, x0, sxtw ldrh w0, [x22,296] mov w1, 65535 cmp w0, w1 - beq .L593 + beq .L585 ubfiz x2, x0, 1, 16 ldr x3, [x22,-40] - adrp x1, .LC70 + adrp x1, .LC69 mov x0, x19 - add x1, x1, :lo12:.LC70 + add x1, x1, :lo12:.LC69 ldrh w2, [x3,x2] bl sprintf add x19, x19, x0, sxtw -.L593: +.L585: mov w0, 0 - adrp x22, .LC71 + adrp x22, .LC70 mov w20, 0 - mov w28, 65535 + mov w27, 65535 bl List_get_gc_head_node - mov w27, 6 + mov w26, 6 uxth w3, w0 - add x22, x22, :lo12:.LC71 -.L595: - cmp w3, w28 - beq .L594 - add x21, x25, :lo12:.LANCHOR2 + add x22, x22, :lo12:.LC70 +.L587: + cmp w3, w27 + beq .L586 + add x21, x24, :lo12:.LANCHOR2 ubfiz x6, x3, 1, 16 - umull x26, w3, w27 + umull x25, w3, w26 mov x0, x19 mov w2, w20 ldr x5, [x21,-56] @@ -4751,7 +4699,7 @@ FtlPrintInfo2buf: ldr x4, [x21,-40] add w20, w20, 1 ldr x7, [x21,-80] - add x5, x5, x26 + add x5, x5, x25 ldrh w4, [x4,x6] ldrh w5, [x5,4] ldrh w6, [x7,x6] @@ -4759,15 +4707,15 @@ FtlPrintInfo2buf: add x19, x19, x0, sxtw ldr x0, [x21,-56] cmp w20, 16 - ldrh w3, [x0,x26] - bne .L595 -.L594: - add x1, x25, :lo12:.LANCHOR2 - adrp x22, .LC72 + ldrh w3, [x0,x25] + bne .L587 +.L586: + add x1, x24, :lo12:.LANCHOR2 + adrp x22, .LC71 mov w20, 0 - mov w28, 65535 - mov w27, 6 - add x22, x22, :lo12:.LC72 + mov w27, 65535 + mov w26, 6 + add x22, x22, :lo12:.LC71 ldr x0, [x1,-16] ldr x3, [x1,-56] sub x3, x0, x3 @@ -4775,42 +4723,36 @@ FtlPrintInfo2buf: asr x3, x3, 1 madd x3, x0, x3, x3 uxth w3, w3 -.L597: - cmp w3, w28 - beq .L596 - add x21, x25, :lo12:.LANCHOR2 +.L589: + cmp w3, w27 + beq .L588 + add x21, x24, :lo12:.LANCHOR2 ubfiz x5, x3, 1, 16 - umull x26, w3, w27 + umull x25, w3, w26 mov x0, x19 mov w2, w20 ldr x4, [x21,-56] mov x1, x22 ldr x6, [x21,-80] add w20, w20, 1 - add x4, x4, x26 + add x4, x4, x25 ldrh w5, [x6,x5] ldrh w4, [x4,4] bl sprintf add x19, x19, x0, sxtw ldr x0, [x21,-56] cmp w20, 4 - ldrh w3, [x0,x26] - bne .L597 -.L596: + ldrh w3, [x0,x25] + bne .L589 +.L588: sub w0, w19, w23 -.L592: - ldr x2, [x29,120] - ldr x1, [x24,#:lo12:__stack_chk_guard] - cmp x2, x1 - beq .L598 - bl __stack_chk_fail -.L598: +.L584: 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], 128 + ldr x27, [sp,80] + ldp x29, x30, [sp], 112 ret .size FtlPrintInfo2buf, .-FtlPrintInfo2buf .align 2 @@ -4818,11 +4760,11 @@ FtlPrintInfo2buf: .type rknand_proc_ftlread, %function rknand_proc_ftlread: stp x29, x30, [sp, -32]! - adrp x1, .LC73 - adrp x2, .LC74 + adrp x1, .LC72 + adrp x2, .LC73 add x29, sp, 0 - add x1, x1, :lo12:.LC73 - add x2, x2, :lo12:.LC74 + add x1, x1, :lo12:.LC72 + add x2, x2, :lo12:.LC73 stp x19, x20, [sp,16] mov x20, x0 bl sprintf @@ -4850,24 +4792,24 @@ GetSwlReplaceBlock: ldr w2, [x0,212] ldr w1, [x0,220] cmp w2, w1 - bcs .L603 + bcs .L594 adrp x1, .LANCHOR0 str wzr, [x0,204] add x2, x1, :lo12:.LANCHOR0 ldr x5, [x0,-80] mov x0, 0 ldrh w3, [x2,1960] -.L604: +.L595: cmp w3, w0 - bls .L645 + bls .L636 add x4, x19, :lo12:.LANCHOR2 ldrh w6, [x5,x0,lsl 1] add x0, x0, 1 ldr w2, [x4,204] add w2, w6, w2 str w2, [x4,204] - b .L604 -.L645: + b .L595 +.L636: add x2, x19, :lo12:.LANCHOR2 add x1, x1, :lo12:.LANCHOR0 ldr w0, [x2,204] @@ -4878,20 +4820,20 @@ GetSwlReplaceBlock: sub w0, w0, w3 udiv w0, w0, w1 str w0, [x2,204] - b .L606 -.L603: + b .L597 +.L594: ldr w1, [x0,216] cmp w2, w1 - bls .L606 + bls .L597 add w1, w1, 1 adrp x4, .LANCHOR0 str w1, [x0,216] mov w0, 0 -.L608: +.L599: add x1, x4, :lo12:.LANCHOR0 ldrh w1, [x1,1960] cmp w0, w1 - bcs .L606 + bcs .L597 add x1, x19, :lo12:.LANCHOR2 ubfiz x2, x0, 1, 32 add w0, w0, 1 @@ -4899,26 +4841,26 @@ GetSwlReplaceBlock: ldrh w1, [x3,x2] add w1, w1, 1 strh w1, [x3,x2] - b .L608 -.L606: + b .L599 +.L597: add x0, x19, :lo12:.LANCHOR2 ldr w22, [x0,220] ldr w23, [x0,212] add w1, w22, 256 cmp w1, w23 - bls .L611 + bls .L602 ldr w2, [x0,216] add w1, w22, 768 cmp w1, w2 - bls .L611 + bls .L602 ldr w0, [x0,160] - cbz w0, .L614 + cbz w0, .L605 cmp w22, 30 - bls .L611 -.L614: + bls .L602 +.L605: mov w0, 65535 - b .L613 -.L611: + b .L604 +.L602: add x0, x19, :lo12:.LANCHOR2 ldrh w0, [x0,-8] add w0, w0, w0, lsl 1 @@ -4927,13 +4869,13 @@ GetSwlReplaceBlock: uxth w6, w0 add w0, w22, 64 cmp w6, w0 - bcs .L625 + bcs .L616 cmp w22, 30 - bhi .L614 -.L625: + bhi .L605 +.L616: add x0, x19, :lo12:.LANCHOR2 ldr x3, [x0,-48] - cbz x3, .L614 + cbz x3, .L605 mov w24, 65535 ldr x5, [x0,-56] ldr x26, [x0,-80] @@ -4942,12 +4884,12 @@ GetSwlReplaceBlock: mov w7, w24 add x0, x0, 1 mov w8, 6 -.L616: +.L607: ldrh w1, [x3] cmp w1, w7 - beq .L618 + beq .L609 ldrh w2, [x3,4] - cbz w2, .L617 + cbz w2, .L608 sub x4, x3, x5 asr x4, x4, 1 mul x4, x4, x0 @@ -4955,77 +4897,77 @@ GetSwlReplaceBlock: and x4, x4, 65535 ldrh w2, [x26,x4,lsl 1] cmp w2, w22 - bls .L624 + bls .L615 cmp w2, w24 - bcs .L617 + bcs .L608 mov w24, w2 mov w20, w3 -.L617: +.L608: umull x3, w1, w8 add x3, x5, x3 - b .L616 -.L624: + b .L607 +.L615: mov w20, w3 -.L618: +.L609: mov w0, 65535 cmp w20, w0 - beq .L614 + beq .L605 ubfiz x25, x20, 1, 16 ldrh w21, [x26,x25] cmp w21, w22 - bls .L620 + bls .L611 str x6, [x29,88] bl GetFreeBlockMinEraseCount ldr x6, [x29,88] cmp w22, w0, uxth - bcs .L620 + bcs .L611 add x0, x19, :lo12:.LANCHOR2 str w24, [x0,220] -.L620: +.L611: cmp w21, 29 - bhi .L621 + bhi .L612 add x0, x19, :lo12:.LANCHOR2 ldr w0, [x0,160] - cbz w0, .L621 + cbz w0, .L612 add w0, w21, 10 cmp w0, w23 - bls .L622 + bls .L613 adrp x0, .LANCHOR0+2016 ldrh w0, [x0,#:lo12:.LANCHOR0+2016] cmp w0, w21 - bls .L621 -.L622: + bls .L612 +.L613: add x22, x19, :lo12:.LANCHOR2 ldrh w0, [x22,-24] cmp w0, 64 - bls .L621 - adrp x0, .LC75 + bls .L612 + adrp x0, .LC74 ldrh w2, [x26,x25] - add x0, x0, :lo12:.LC75 + add x0, x0, :lo12:.LC74 mov w1, w20 bl printk mov w0, 1 str w0, [x22,876] - b .L644 -.L621: + b .L635 +.L612: cmp w21, w23 - bcs .L614 + bcs .L605 add w0, w21, 128 cmp w6, w0 - ble .L614 + ble .L605 add w0, w21, 256 cmp w0, w23 - bcc .L623 + bcc .L614 add x0, x19, :lo12:.LANCHOR2 add w21, w21, 768 ldr w0, [x0,216] cmp w21, w0 - bcs .L614 -.L623: + bcs .L605 +.L614: add x19, x19, :lo12:.LANCHOR2 - adrp x0, .LC76 + adrp x0, .LC75 ldrh w5, [x26,x25] - add x0, x0, :lo12:.LC76 + add x0, x0, :lo12:.LC75 mov w1, w20 mov w2, w23 ldr x4, [x19,-40] @@ -5034,9 +4976,9 @@ GetSwlReplaceBlock: bl printk mov w0, 1 str w0, [x19,876] -.L644: +.L635: mov w0, w20 -.L613: +.L604: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -5053,13 +4995,13 @@ free_data_superblock: mov w1, 65535 cmp w0, w1 add x29, sp, 0 - beq .L647 + beq .L638 adrp x2, .LANCHOR2-40 ubfiz x1, x0, 1, 16 ldr x2, [x2,#:lo12:.LANCHOR2-40] strh wzr, [x2,x1] bl INSERT_FREE_LIST -.L647: +.L638: mov w0, 0 ldp x29, x30, [sp], 16 ret @@ -5077,12 +5019,12 @@ FtlGcBufInit: mov w6, 4 mov w13, 56 str wzr, [x0,880] -.L649: +.L640: add x5, x10, :lo12:.LANCHOR0 adrp x9, .LANCHOR0 ldrh w0, [x5,1952] cmp w1, w0 - bcs .L653 + bcs .L644 add x2, x3, :lo12:.LANCHOR2 umull x4, w1, w11 ldr x7, [x2,888] @@ -5111,15 +5053,15 @@ FtlGcBufInit: str x2, [x0,8] ldr x2, [x7,8] str x2, [x0,16] - b .L649 -.L653: + b .L640 +.L644: mov w8, 24 mov w5, 4 -.L651: +.L642: add x2, x3, :lo12:.LANCHOR2 ldr w1, [x2,920] cmp w0, w1 - bcs .L654 + bcs .L645 umull x4, w0, w8 ldr x7, [x2,888] add x6, x9, :lo12:.LANCHOR0 @@ -5141,8 +5083,8 @@ FtlGcBufInit: uxth w0, w0 add x1, x2, x1, sxtw 2 str x1, [x4,8] - b .L651 -.L654: + b .L642 +.L645: ret .size FtlGcBufInit, .-FtlGcBufInit .align 2 @@ -5156,32 +5098,32 @@ FtlGcBufFree: mov w9, 24 ldr w8, [x2,920] ldr x5, [x2,888] -.L656: +.L647: cmp w3, w1 - bcs .L655 + bcs .L646 umull x4, w3, w7 mov w2, 0 add x4, x0, x4 -.L661: +.L652: cmp w2, w8 - bcs .L658 + bcs .L649 umull x6, w2, w9 add x10, x5, x6 ldr x11, [x5,x6] ldr x6, [x4,8] cmp x11, x6 - bne .L657 + bne .L648 str wzr, [x10,16] - b .L658 -.L657: + b .L649 +.L648: add w2, w2, 1 uxth w2, w2 - b .L661 -.L658: + b .L652 +.L649: add w3, w3, 1 uxth w3, w3 - b .L656 -.L655: + b .L647 +.L646: ret .size FtlGcBufFree, .-FtlGcBufFree .align 2 @@ -5196,17 +5138,17 @@ FtlGcBufAlloc: ldr w5, [x2,920] ldr x6, [x2,888] mov w2, 0 -.L663: +.L654: cmp w2, w1 - bcs .L669 + bcs .L660 mov w3, 0 -.L667: +.L658: cmp w3, w5 - bcs .L665 + bcs .L656 umull x4, w3, w7 add x4, x6, x4 ldr w10, [x4,16] - cbnz w10, .L664 + cbnz w10, .L655 umull x3, w2, w9 str w8, [x4,16] add x3, x0, x3 @@ -5214,16 +5156,16 @@ FtlGcBufAlloc: str x10, [x3,8] ldr x4, [x4,8] str x4, [x3,16] - b .L665 -.L664: + b .L656 +.L655: add w3, w3, 1 uxth w3, w3 - b .L667 -.L665: + b .L658 +.L656: add w2, w2, 1 uxth w2, w2 - b .L663 -.L669: + b .L654 +.L660: ret .size FtlGcBufAlloc, .-FtlGcBufAlloc .align 2 @@ -5236,19 +5178,19 @@ IsBlkInGcList: ldrh w2, [x1,924] ldr x3, [x1,928] mov x1, 0 -.L671: +.L662: cmp w2, w1, uxth - bls .L675 + bls .L666 add x1, x1, 1 add x4, x3, x1, lsl 1 ldrh w4, [x4,-2] cmp w4, w0 - bne .L671 + bne .L662 mov w0, 1 - b .L672 -.L675: + b .L663 +.L666: mov w0, 0 -.L672: +.L663: ret .size IsBlkInGcList, .-IsBlkInGcList .align 2 @@ -5271,25 +5213,25 @@ FtlGcUpdatePage: mov x5, 0 ldrh w7, [x4,924] ldr x6, [x4,928] -.L677: +.L668: uxth w4, w5 cmp w4, w7 - bcs .L681 + bcs .L672 add x5, x5, 1 add x9, x6, x5, lsl 1 ldrh w9, [x9,-2] cmp w9, w8 - bne .L677 -.L681: + bne .L668 +.L672: cmp w4, w7 - bne .L679 + bne .L670 ubfiz x4, x4, 1, 16 strh w0, [x6,x4] add x0, x3, :lo12:.LANCHOR2 ldrh w4, [x0,924] add w4, w4, 1 strh w4, [x0,924] -.L679: +.L670: add x3, x3, :lo12:.LANCHOR2 mov w0, 12 ldrh w4, [x3,936] @@ -5316,24 +5258,24 @@ FtlGcRefreshBlock: add x29, sp, 0 str x19, [sp,16] uxth w19, w0 - adrp x0, .LC77 + adrp x0, .LC76 mov w1, w19 - add x0, x0, :lo12:.LC77 + add x0, x0, :lo12:.LC76 bl printk adrp x2, .LANCHOR2 mov w0, 65535 add x2, x2, :lo12:.LANCHOR2 ldrh w1, [x2,952] cmp w1, w0 - bne .L684 + bne .L675 strh w19, [x2,952] - b .L685 -.L684: + b .L676 +.L675: ldrh w1, [x2,954] cmp w1, w0 - bne .L685 + bne .L676 strh w19, [x2,954] -.L685: +.L676: mov w0, 0 ldr x19, [sp,16] ldp x29, x30, [sp], 32 @@ -5355,44 +5297,44 @@ FtlGcMarkBadPhyBlk: bl P2V_block_in_plane uxth w21, w0 ldrh w1, [x22,956] - adrp x0, .LC78 + adrp x0, .LC77 mov w2, w20 - add x0, x0, :lo12:.LC78 + add x0, x0, :lo12:.LC77 bl printk mov w0, w21 bl FtlGcRefreshBlock ldr w0, [x22,160] - cbz w0, .L687 + cbz w0, .L678 ubfiz x0, x21, 1, 16 ldr x2, [x22,-80] ldrh w1, [x2,x0] cmp w1, 29 - bls .L687 + bls .L678 sub w1, w1, #30 strh w1, [x2,x0] -.L687: +.L678: add x2, x19, :lo12:.LANCHOR2 mov x0, 0 add x2, x2, 960 ldrh w1, [x2,-4] -.L688: +.L679: cmp w1, w0, uxth - bls .L694 + bls .L685 add x0, x0, 1 add x3, x2, x0, lsl 1 ldrh w3, [x3,-2] cmp w3, w20 - bne .L688 - b .L689 -.L694: + bne .L679 + b .L680 +.L685: cmp w1, 15 - bhi .L689 + bhi .L680 add x19, x19, :lo12:.LANCHOR2 add w0, w1, 1 add x19, x19, 960 strh w0, [x19,-4] strh w20, [x19,w1,sxtw 1] -.L689: +.L680: mov w0, 0 ldr x23, [sp,48] ldp x19, x20, [sp,16] @@ -5410,16 +5352,16 @@ FtlGcReFreshBadBlk: adrp x19, .LANCHOR2 add x0, x19, :lo12:.LANCHOR2 ldrh w1, [x0,956] - cbz w1, .L696 + cbz w1, .L687 ldrh w3, [x0,952] mov w2, 65535 cmp w3, w2 - bne .L696 + bne .L687 ldrh w2, [x0,994] cmp w2, w1 - bcc .L697 + bcc .L688 strh wzr, [x0,994] -.L697: +.L688: add x19, x19, :lo12:.LANCHOR2 add x0, x19, 960 ldrh w1, [x19,994] @@ -5429,7 +5371,7 @@ FtlGcReFreshBadBlk: ldrh w0, [x19,994] add w0, w0, 1 strh w0, [x19,994] -.L696: +.L687: mov w0, 0 ldr x19, [sp,16] ldp x29, x30, [sp], 32 @@ -5454,17 +5396,17 @@ BuildFlashLsbPageTable: add x29, sp, 0 stp x19, x20, [sp,16] mov w20, w1 - cbnz w0, .L703 + cbnz w0, .L694 adrp x1, .LANCHOR0 mov x0, 0 add x1, x1, :lo12:.LANCHOR0 -.L704: +.L695: add x2, x1, 196 strh w0, [x2,x0,lsl 1] add x0, x0, 1 cmp x0, 256 - bne .L704 -.L710: + bne .L695 +.L701: adrp x19, .LANCHOR2 mov w1, 255 add x19, x19, :lo12:.LANCHOR2 @@ -5476,41 +5418,41 @@ BuildFlashLsbPageTable: adrp x1, .LANCHOR0 mov x0, 0 add x1, x1, :lo12:.LANCHOR0 - b .L705 -.L703: + b .L696 +.L694: cmp w0, 1 - bne .L706 + bne .L697 adrp x3, .LANCHOR0 mov x0, 0 mov w4, 3 mov w5, 2 add x3, x3, :lo12:.LANCHOR0 -.L709: +.L700: cmp x0, 3 uxth w1, w0 mov w2, w1 - bls .L707 + bls .L698 ubfiz w2, w1, 1, 15 and w1, w1, 1 cmp w1, wzr csel w1, w4, w5, ne sub w2, w2, w1 uxth w2, w2 -.L707: +.L698: add x1, x3, 196 strh w2, [x1,x0,lsl 1] add x0, x0, 1 cmp x0, 256 - bne .L709 - b .L710 -.L706: + bne .L700 + b .L701 +.L697: cmp w0, 2 - bne .L711 + bne .L702 adrp x3, .LANCHOR0 mov w1, 65535 mov x0, 0 add x3, x3, :lo12:.LANCHOR0 -.L713: +.L704: add x4, x3, 196 cmp x0, 1 uxth w2, w0 @@ -5520,37 +5462,37 @@ BuildFlashLsbPageTable: add x0, x0, 1 cmp x0, 256 uxth w1, w1 - bne .L713 - b .L710 -.L711: + bne .L704 + b .L701 +.L702: cmp w0, 3 - bne .L714 + bne .L705 adrp x3, .LANCHOR0 mov x0, 0 mov w4, 5 mov w5, 4 add x3, x3, :lo12:.LANCHOR0 -.L717: +.L708: cmp x0, 5 uxth w1, w0 mov w2, w1 - bls .L715 + bls .L706 ubfiz w2, w1, 1, 15 and w1, w1, 1 cmp w1, wzr csel w1, w4, w5, ne sub w2, w2, w1 uxth w2, w2 -.L715: +.L706: add x1, x3, 196 strh w2, [x1,x0,lsl 1] add x0, x0, 1 cmp x0, 256 - bne .L717 - b .L710 -.L714: + bne .L708 + b .L701 +.L705: cmp w0, 4 - bne .L718 + bne .L709 adrp x1, .LANCHOR0 mov w5, 7 add x1, x1, :lo12:.LANCHOR0 @@ -5571,7 +5513,7 @@ BuildFlashLsbPageTable: strh w0, [x2,14] mov w0, 8 strh w1, [x2,6] -.L720: +.L711: and w3, w0, 1 ubfiz w1, w0, 1, 15 add w0, w0, 1 @@ -5582,42 +5524,42 @@ BuildFlashLsbPageTable: sub w1, w1, w3 cmp w0, 256 strh w1, [x2,14] - bne .L720 - b .L710 -.L718: + bne .L711 + b .L701 +.L709: cmp w0, 5 - bne .L721 + bne .L712 adrp x2, .LANCHOR0 mov x0, 0 add x2, x2, :lo12:.LANCHOR0 -.L722: +.L713: add x1, x2, 196 strh w0, [x1,x0,lsl 1] add x0, x0, 1 cmp x0, 16 - bne .L722 + bne .L713 mov x0, 0 -.L723: +.L714: add x2, x1, x0 add w3, w0, 16 add x0, x0, 2 cmp x0, 480 strh w3, [x2,32] - bne .L723 - b .L710 -.L721: + bne .L714 + b .L701 +.L712: cmp w0, 6 - bne .L710 + bne .L701 adrp x1, .LANCHOR0 mov x2, 0 mov w4, 12 mov w5, 10 add x1, x1, :lo12:.LANCHOR0 -.L726: +.L717: cmp x2, 5 uxth w3, w2 mov w0, w3 - bls .L724 + bls .L715 add w0, w3, w3, lsl 1 and w3, w3, 1 cmp w3, wzr @@ -5625,22 +5567,22 @@ BuildFlashLsbPageTable: csel w3, w4, w5, ne sub w0, w0, w3 uxth w0, w0 -.L724: +.L715: add x3, x1, 196 strh w0, [x3,x2,lsl 1] add x2, x2, 1 cmp x2, 256 - bne .L726 - b .L710 -.L705: + bne .L717 + b .L701 +.L696: cmp w20, w0, uxth - bls .L744 + bls .L735 add x2, x1, 196 ldrh w2, [x2,x0,lsl 1] add x0, x0, 1 strh w2, [x19,w2,sxtw 1] - b .L705 -.L744: + b .L696 +.L735: ldp x19, x20, [sp,16] ldp x29, x30, [sp], 32 ret @@ -5665,14 +5607,14 @@ FlashDieInfoInit: ldrh w1, [x1,#:lo12:.LANCHOR1+482] strb wzr, [x0,1845] cmp w1, 256 - bls .L746 + bls .L737 mov w1, 512 - b .L762 -.L746: + b .L753 +.L737: cmp w1, 128 - bls .L762 + bls .L753 mov w1, 256 -.L762: +.L753: add x19, x21, :lo12:.LANCHOR0 str w1, [x0,12] mov w2, 8 @@ -5692,30 +5634,30 @@ FlashDieInfoInit: bl ftl_memset ldr x20, [x19,744] add x23, x20, 1 -.L750: +.L741: ldrb w2, [x20] mov x0, x23 add x1, x26, x24, lsl 3 bl FlashMemCmp8 - cbnz w0, .L749 + cbnz w0, .L740 ldrb w1, [x19,1845] str w0, [x25,w1,sxtw 2] add w0, w1, 1 add x1, x19, x1, sxtw strb w0, [x19,1845] strb w24, [x1,1848] -.L749: +.L740: add x24, x24, 1 cmp x24, 4 - bne .L750 + bne .L741 add x19, x21, :lo12:.LANCHOR0 add x0, x22, :lo12:.LANCHOR2 ldrb w1, [x19,1845] strb w1, [x0,2020] ldrb w0, [x20,8] cmp w0, 2 - beq .L751 -.L755: + beq .L742 +.L746: add x21, x21, :lo12:.LANCHOR0 ldrb w1, [x20,13] add x22, x22, :lo12:.LANCHOR2 @@ -5731,17 +5673,17 @@ FlashDieInfoInit: ldp x21, x22, [sp,32] ldp x29, x30, [sp], 96 ret -.L751: +.L742: ldr w26, [x19,12] mov x24, 0 add x27, x19, 1620 add x25, x19, 708 -.L754: +.L745: ldrb w2, [x20] mov x0, x23 add x1, x27, x24, lsl 3 bl FlashMemCmp8 - cbnz w0, .L752 + cbnz w0, .L743 ldrb w1, [x20,13] ldrb w3, [x19,1845] mul w0, w1, w26 @@ -5751,19 +5693,19 @@ FlashDieInfoInit: mul w1, w0, w1 str w1, [x25,w3,sxtw 2] ldrb w0, [x20,23] - cbz w0, .L753 + cbz w0, .L744 lsl w1, w1, 1 str w1, [x25,w3,sxtw 2] -.L753: +.L744: add x0, x19, x3 add w2, w2, 1 strb w2, [x19,1845] strb w24, [x0,1848] -.L752: +.L743: add x24, x24, 1 cmp x24, 4 - bne .L754 - b .L755 + bne .L745 + b .L746 .size FlashDieInfoInit, .-FlashDieInfoInit .align 2 .global ReadFlashInfo @@ -5806,9 +5748,9 @@ ReadFlashInfo: strb w0, [x19,9] mov x0, 0 strb wzr, [x19,10] -.L764: +.L755: cmp w4, w0, uxtb - bls .L766 + bls .L757 add x2, x1, 1848 ldrb w3, [x19,10] ldrb w2, [x0,x2] @@ -5816,8 +5758,8 @@ ReadFlashInfo: lsl w2, w5, w2 orr w2, w2, w3 strb w2, [x19,10] - b .L764 -.L766: + b .L755 +.L757: ldr x19, [sp,16] ldp x29, x30, [sp], 32 ret @@ -5875,9 +5817,9 @@ FtlMemInit: strh wzr, [x0,994] str w2, [x0,2040] cmp w2, w1 - bls .L768 + bls .L759 str w1, [x0,2040] -.L768: +.L759: add x20, x22, :lo12:.LANCHOR0 add x19, x21, :lo12:.LANCHOR2 mov w24, 56 @@ -6057,108 +5999,108 @@ FtlMemInit: ldrh w5, [x20,1974] mov w0, 1 mov w2, w4 -.L769: +.L760: cmp w0, w5 add x1, x1, 8 - bcs .L869 + bcs .L860 ldr x3, [x20,2144] add w0, w0, 1 add x3, x3, x2, uxtw 2 add w2, w2, w4 str x3, [x1,32] - b .L769 -.L869: + b .L760 +.L860: add x1, x22, :lo12:.LANCHOR0 -.L771: +.L762: cmp w0, 8 - beq .L870 + beq .L861 add x2, x1, x0, uxtw 3 add w0, w0, 1 str xzr, [x2,2144] - b .L771 -.L870: + b .L762 +.L861: add x0, x21, :lo12:.LANCHOR2 ldr x1, [x0,2168] - cbnz x1, .L773 -.L775: - adrp x0, .LC79 + cbnz x1, .L764 +.L766: + adrp x0, .LC78 adrp x1, .LANCHOR3 - add x0, x0, :lo12:.LC79 + add x0, x0, :lo12:.LC78 add x1, x1, :lo12:.LANCHOR3 bl printk mov w0, -1 - b .L774 -.L773: + b .L765 +.L764: ldr x1, [x0,2176] - cbz x1, .L775 + cbz x1, .L766 ldr x1, [x0,2208] - cbz x1, .L775 + cbz x1, .L766 ldr x1, [x0,2216] - cbz x1, .L775 + cbz x1, .L766 ldr x1, [x0,144] - cbz x1, .L775 + cbz x1, .L766 ldr x1, [x0,2224] - cbz x1, .L775 + cbz x1, .L766 ldr x1, [x0,-56] - cbz x1, .L775 + cbz x1, .L766 add x22, x22, :lo12:.LANCHOR0 ldr x1, [x22,2144] - cbz x1, .L775 + cbz x1, .L766 ldr x0, [x0,-40] - cbz x0, .L775 + cbz x0, .L766 add x0, x21, :lo12:.LANCHOR2 ldr x1, [x0,928] - cbz x1, .L775 + cbz x1, .L766 ldr x1, [x0,944] - cbz x1, .L775 + cbz x1, .L766 ldr x1, [x0,2048] - cbz x1, .L775 + cbz x1, .L766 ldr x1, [x0,2064] - cbz x1, .L775 + cbz x1, .L766 ldr x1, [x0,-88] - cbz x1, .L775 + cbz x1, .L766 ldr x1, [x0,912] - cbz x1, .L775 + cbz x1, .L766 ldr x1, [x0,2056] - cbz x1, .L775 + cbz x1, .L766 ldr x1, [x0,-64] - cbz x1, .L775 + cbz x1, .L766 ldr x1, [x0,2072] - cbz x1, .L775 + cbz x1, .L766 ldr x0, [x0,2080] - cbz x0, .L775 + cbz x0, .L766 add x0, x21, :lo12:.LANCHOR2 ldr x1, [x0,896] - cbz x1, .L775 + cbz x1, .L766 ldr x1, [x0,2096] - cbz x1, .L775 + cbz x1, .L766 ldr x1, [x0,2104] - cbz x1, .L775 + cbz x1, .L766 ldr x1, [x0,888] - cbz x1, .L775 + cbz x1, .L766 ldr x1, [x0,2112] - cbz x1, .L775 + cbz x1, .L766 ldr x1, [x0,2120] - cbz x1, .L775 + cbz x1, .L766 ldr x1, [x0,904] - cbz x1, .L775 + cbz x1, .L766 ldr x1, [x0,-80] - cbz x1, .L775 + cbz x1, .L766 ldr x0, [x0,2144] - cbz x0, .L775 + cbz x0, .L766 adrp x0, .LANCHOR0+2080 ldr x0, [x0,#:lo12:.LANCHOR0+2080] - cbz x0, .L775 + cbz x0, .L766 adrp x0, .LANCHOR2 add x0, x0, :lo12:.LANCHOR2 ldr x1, [x0,2184] - cbz x1, .L775 + cbz x1, .L766 ldr x1, [x0,2192] - cbz x1, .L775 + cbz x1, .L766 ldr x0, [x0,2200] - cbz x0, .L775 + cbz x0, .L766 mov w0, 0 -.L774: +.L765: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -6184,10 +6126,10 @@ FtlBbt2Bitmap: mov x3, 0 mov w0, 65535 mov w5, 1 -.L873: +.L864: ldrh w2, [x20,x3] cmp w2, w0 - beq .L871 + beq .L862 ubfx x4, x2, 5, 11 add x3, x3, 2 lsl x4, x4, 2 @@ -6196,8 +6138,8 @@ FtlBbt2Bitmap: ldr w1, [x19,x4] orr w2, w1, w2 str w2, [x19,x4] - bne .L873 -.L871: + bne .L864 +.L862: ldp x19, x20, [sp,16] ldp x29, x30, [sp], 32 ret @@ -6261,74 +6203,74 @@ ftl_free_no_use_map_blk: mov x0, x21 bl ftl_memset mov w0, 0 -.L879: +.L870: ldrh w1, [x19,6] cmp w1, w0 - bls .L892 + bls .L883 ubfiz x1, x0, 2, 16 ldr w2, [x20,x1] mov w1, 0 ubfx x2, x2, 10, 16 -.L880: +.L871: ldrh w3, [x19,10] cmp w3, w1 - bls .L893 + bls .L884 ubfiz x3, x1, 1, 16 ldrh w4, [x25,x3] cmp w4, w2 - bne .L881 + bne .L872 ldrh w4, [x21,x3] add w4, w4, 1 strh w4, [x21,x3] -.L881: +.L872: add w1, w1, 1 uxth w1, w1 - b .L880 -.L893: + b .L871 +.L884: add w0, w0, 1 uxth w0, w0 - b .L879 -.L892: + b .L870 +.L883: mov w24, 0 ldrh w26, [x21] mov w20, w24 adrp x27, .LANCHOR0 -.L884: +.L875: ldrh w0, [x19,10] cmp w0, w20 - bls .L894 + bls .L885 ldrh w0, [x19] uxtw x22, w20 cmp w0, w20 - bne .L885 + bne .L876 add x0, x27, :lo12:.LANCHOR0 ldrh w1, [x19,2] ldrh w0, [x0,2028] cmp w1, w0 - bcs .L885 + bcs .L876 strh w0, [x21,x22,lsl 1] -.L885: +.L876: lsl x22, x22, 1 ldrh w23, [x21,x22] cmp w26, w23 - bls .L886 + bls .L877 mov w24, w20 mov w26, w23 -.L886: - cbnz w23, .L887 +.L877: + cbnz w23, .L878 ldrh w0, [x25,x22] - cbz w0, .L887 + cbz w0, .L878 mov w1, 1 bl FtlFreeSysBlkQueueIn strh w23, [x25,x22] ldrh w0, [x19,8] sub w0, w0, #1 strh w0, [x19,8] -.L887: +.L878: add w20, w20, 1 uxth w20, w20 - b .L884 -.L894: + b .L875 +.L885: mov w0, w24 ldr x27, [sp,80] ldp x19, x20, [sp,16] @@ -6363,11 +6305,11 @@ FtlL2PDataInit: bl ftl_memset mov w1, 0 mov w5, -1 -.L896: +.L887: add x3, x20, :lo12:.LANCHOR0 ldrh w0, [x3,2066] cmp w0, w1 - bls .L898 + bls .L889 add x4, x19, :lo12:.LANCHOR2 ubfiz x0, x1, 4, 16 ldr x2, [x4,144] @@ -6386,8 +6328,8 @@ FtlL2PDataInit: and x0, x0, -4 add x0, x3, x0 str x0, [x2,8] - b .L896 -.L898: + b .L887 +.L889: add x0, x19, :lo12:.LANCHOR2 mov w2, -1 add x1, x0, 2240 @@ -6494,19 +6436,19 @@ SupperBlkListInit: str xzr, [x20,-32] strh wzr, [x20,-24] strh wzr, [x20,-8] -.L901: +.L892: add x0, x24, :lo12:.LANCHOR0 ldrh w1, [x0,1960] cmp w1, w19 - bls .L907 + bls .L898 mov x28, 0 ldrh w3, [x0,1952] ldrh w2, [x0,2026] mov w20, w28 mov x27, x0 -.L908: +.L899: cmp w3, w28, uxth - bls .L912 + bls .L903 add x0, x27, 1984 mov w1, w19 str x2, [x29,96] @@ -6516,49 +6458,49 @@ SupperBlkListInit: bl FtlBbmIsBadBlock ldr x3, [x29,104] ldr x2, [x29,96] - cbnz w0, .L902 + cbnz w0, .L893 add w20, w20, w2 uxth w20, w20 -.L902: +.L893: add x28, x28, 1 - b .L908 -.L912: - cbz w20, .L904 + b .L899 +.L903: + cbz w20, .L895 mov w0, 32768 sdiv w20, w0, w20 -.L904: +.L895: ldr x1, [x21,-56] umull x0, w19, w26 add x0, x1, x0 strh w20, [x0,4] ldrh w0, [x21] cmp w0, w19 - beq .L905 + beq .L896 ldrh w0, [x21,48] cmp w0, w19 - beq .L905 + beq .L896 ldrh w0, [x21,96] cmp w0, w19 - beq .L905 + beq .L896 ubfiz x0, x19, 1, 16 ldr x1, [x21,-40] ldrh w0, [x1,x0] - cbnz w0, .L906 + cbnz w0, .L897 add w4, w25, 1 mov w0, w19 uxth w25, w4 bl INSERT_FREE_LIST - b .L905 -.L906: + b .L896 +.L897: add w23, w23, 1 mov w0, w19 uxth w23, w23 bl INSERT_DATA_LIST -.L905: +.L896: add w19, w19, 1 uxth w19, w19 - b .L901 -.L907: + b .L892 +.L898: add x22, x22, :lo12:.LANCHOR2 mov w0, 0 ldp x19, x20, [sp,16] @@ -6618,15 +6560,15 @@ FlashGetReadRetryDefault: stp x29, x30, [sp, -16]! mov w1, w0 add x29, sp, 0 - cbz w0, .L915 + cbz w0, .L906 sub w2, w0, #1 cmp w2, 5 - bhi .L917 + bhi .L908 bl HynixGetReadRetryDefault - b .L915 -.L917: + b .L906 +.L908: cmp w0, 49 - bne .L918 + bne .L909 adrp x0, .LANCHOR0 mov w2, 64 add x0, x0, :lo12:.LANCHOR0 @@ -6639,30 +6581,30 @@ FlashGetReadRetryDefault: adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 add x1, x1, 408 - b .L933 -.L918: + b .L924 +.L909: sub w0, w0, #65 cmp w0, 1 - bls .L924 + bls .L915 cmp w1, 33 - bne .L919 -.L924: + bne .L910 +.L915: adrp x0, .LANCHOR0 add x0, x0, :lo12:.LANCHOR0 strb w1, [x0,760] mov w1, 4 - b .L934 -.L919: + b .L925 +.L910: cmp w1, 67 - beq .L925 + beq .L916 cmp w1, 34 - bne .L921 -.L925: + bne .L912 +.L916: adrp x0, .LANCHOR0 add x0, x0, :lo12:.LANCHOR0 strb w1, [x0,760] mov w1, 5 -.L934: +.L925: strb w1, [x0,761] mov w1, 7 strb w1, [x0,762] @@ -6671,13 +6613,13 @@ FlashGetReadRetryDefault: add x0, x0, 764 add x1, x1, 256 mov w2, 45 - b .L933 -.L921: + b .L924 +.L912: cmp w1, 68 - beq .L926 + beq .L917 cmp w1, 35 - bne .L915 -.L926: + bne .L906 +.L917: adrp x0, .LANCHOR0 mov w2, 95 add x0, x0, :lo12:.LANCHOR0 @@ -6690,9 +6632,9 @@ FlashGetReadRetryDefault: adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 add x1, x1, 304 -.L933: +.L924: bl ftl_memcpy -.L915: +.L906: ldp x29, x30, [sp], 16 ret .size FlashGetReadRetryDefault, .-FlashGetReadRetryDefault @@ -6727,39 +6669,39 @@ FlashLoadPhyInfoInRam: add x21, x21, 536 mov w19, 0 add x22, x22, 1620 -.L940: +.L931: ldrb w2, [x21] add x0, x21, 1 mov x1, x22 bl FlashMemCmp8 mov w23, w0 - cbnz w0, .L937 + cbnz w0, .L928 add x0, x20, :lo12:.LANCHOR1 ubfiz x19, x19, 5, 32 add x1, x0, 536 adds x19, x1, x19 - beq .L943 + beq .L934 ldrb w3, [x19,22] mov x2, 0 mov x1, x0 - b .L942 -.L937: + b .L933 +.L928: add w19, w19, 1 add x21, x21, 32 cmp w19, 72 - bne .L940 - b .L943 -.L942: + bne .L931 + b .L934 +.L933: add x4, x1, x2, lsl 5 mov w0, w2 ldrb w4, [x4,2840] cmp w4, w3 - beq .L941 + beq .L932 add x2, x2, 1 cmp x2, 4 - bne .L942 + bne .L933 mov w0, w2 -.L941: +.L932: add x20, x20, :lo12:.LANCHOR1 ubfiz x1, x0, 5, 32 adrp x0, .LANCHOR0 @@ -6773,10 +6715,10 @@ FlashLoadPhyInfoInRam: mov x1, x19 mov w2, 32 bl ftl_memcpy - b .L938 -.L943: + b .L929 +.L934: mov w23, -1 -.L938: +.L929: mov w0, w23 ldr x23, [sp,48] ldp x19, x20, [sp,16] @@ -6800,14 +6742,14 @@ NandcCopy1KB: add x4, x0, 4096 add x21, x0, 512 add x2, x4, x2 - bne .L948 - cbz x3, .L949 + bne .L939 + cbz x3, .L940 mov x0, x2 mov x1, x3 mov w2, 1024 bl ftl_memcpy -.L949: - cbz x20, .L947 +.L940: + cbz x20, .L938 mov w0, 48 lsr w19, w19, 1 ldrb w1, [x20,1] @@ -6821,15 +6763,15 @@ NandcCopy1KB: ldrb w1, [x20,3] orr w0, w0, w1, lsl 24 str w0, [x21,w19,sxtw 2] - b .L947 -.L948: - cbz x3, .L952 + b .L938 +.L939: + cbz x3, .L943 mov x1, x2 mov x0, x3 mov w2, 1024 bl ftl_memcpy -.L952: - cbz x20, .L947 +.L943: + cbz x20, .L938 mov w0, 48 lsr w19, w19, 1 mul w19, w19, w0 @@ -6842,7 +6784,7 @@ NandcCopy1KB: lsr w0, w0, 24 strb w1, [x20,2] strb w0, [x20,3] -.L947: +.L938: ldp x19, x20, [sp,16] ldr x21, [sp,32] ldp x29, x30, [sp], 48 @@ -6870,13 +6812,13 @@ FlashSramLoadStore: add x29, sp, 0 ldr x4, [x4,#:lo12:.LANCHOR4+32] add x4, x4, 4096 - cbnz w2, .L965 + cbnz w2, .L956 add x1, x4, x1 - b .L967 -.L965: + b .L958 +.L956: add x0, x4, x1 mov x1, x6 -.L967: +.L958: mov w2, w3 bl ftl_memcpy ldp x29, x30, [sp], 16 @@ -6936,9 +6878,9 @@ rknand_print_hex: stp x21, x22, [sp,32] stp x23, x24, [sp,48] mov x19, 0 - adrp x23, .LC80 - adrp x21, .LC81 - adrp x24, .LC73 + adrp x23, .LC79 + adrp x21, .LC80 + adrp x24, .LC72 stp x25, x26, [sp,64] str x27, [sp,80] mov x22, x1 @@ -6946,48 +6888,48 @@ rknand_print_hex: mov w25, w2 uxtw x26, w3 mov w20, w19 - add x23, x23, :lo12:.LC80 - add x21, x21, :lo12:.LC81 - add x24, x24, :lo12:.LC73 -.L974: + add x23, x23, :lo12:.LC79 + add x21, x21, :lo12:.LC80 + add x24, x24, :lo12:.LC72 +.L965: cmp x19, x26 - beq .L982 - cbnz w20, .L975 + beq .L973 + cbnz w20, .L966 mov x0, x23 mov x1, x27 mov w2, w19 bl printk -.L975: +.L966: cmp w25, 4 mov x0, x21 - bne .L976 + bne .L967 ldr w1, [x22,x19,lsl 2] - b .L981 -.L976: + b .L972 +.L967: cmp w25, 2 - bne .L978 + bne .L969 ldrsh w1, [x22,x19,lsl 1] - b .L981 -.L978: + b .L972 +.L969: ldrb w1, [x22,x19] -.L981: +.L972: bl printk add w20, w20, 1 cmp w20, 15 - bls .L979 - adrp x1, .LC82 + bls .L970 + adrp x1, .LC81 mov x0, x24 - add x1, x1, :lo12:.LC82 + add x1, x1, :lo12:.LC81 mov w20, 0 bl printk -.L979: +.L970: add x19, x19, 1 - b .L974 -.L982: - adrp x0, .LC73 - adrp x1, .LC82 - add x1, x1, :lo12:.LC82 - add x0, x0, :lo12:.LC73 + b .L965 +.L973: + adrp x0, .LC72 + adrp x1, .LC81 + add x1, x1, :lo12:.LC81 + add x0, x0, :lo12:.LC72 bl printk ldr x27, [sp,80] ldp x19, x20, [sp,16] @@ -7013,36 +6955,36 @@ NandcXferComp: ldr x19, [x2,x0] ldr w0, [x1,20] cmp w0, 3 - bls .L1014 + bls .L1005 ldr w0, [x19,16] - tbz x0, 2, .L1014 + tbz x0, 2, .L1005 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, .L985 - adrp x22, .LC83 - adrp x23, .LC84 + cbz w21, .L976 + adrp x22, .LC82 + adrp x23, .LC83 mov w21, 0 - add x22, x22, :lo12:.LC83 - add x23, x23, :lo12:.LC84 -.L986: + add x22, x22, :lo12:.LC82 + add x23, x23, :lo12:.LC83 +.L977: ldr w2, [x19,28] ldr w1, [x29,64] ubfx x2, x2, 16, 5 ubfx x1, x1, 22, 6 cmp w2, w1 - bge .L994 + bge .L985 add x0, x20, :lo12:.LANCHOR0 ldr w0, [x0,20] cmp w0, 5 - bhi .L987 -.L990: + bhi .L978 +.L981: add w21, w21, 1 and w0, w21, 16777215 - cbnz w0, .L986 + cbnz w0, .L977 ldr w2, [x19,28] mov w1, w21 ldr w3, [x29,64] @@ -7055,19 +6997,19 @@ NandcXferComp: mov w2, 4 mov w3, 512 bl rknand_print_hex - b .L986 -.L987: + b .L977 +.L978: ldr w0, [x19] str w0, [x29,72] ldr w0, [x29,72] - tbz x0, 13, .L990 + tbz x0, 13, .L981 ldr w0, [x29,72] - tbz x0, 17, .L990 -.L994: + tbz x0, 17, .L981 +.L985: add x19, x20, :lo12:.LANCHOR0 add x19, x19, 1888 ldr w0, [x19,40] - cbz w0, .L995 + cbz w0, .L986 ldr w1, [x29,64] mov w2, 0 ldr w0, [x19,32] @@ -7080,20 +7022,20 @@ NandcXferComp: ubfx x1, x1, 22, 5 lsl w1, w1, 7 bl rknand_dma_unmap_single - b .L995 -.L985: - adrp x22, .LC85 - adrp x23, .LC84 - add x22, x22, :lo12:.LC85 - add x23, x23, :lo12:.LC84 -.L996: + b .L986 +.L976: + adrp x22, .LC84 + adrp x23, .LC83 + add x22, x22, :lo12:.LC84 + add x23, x23, :lo12:.LC83 +.L987: ldr w0, [x29,64] - tbnz x0, 20, .L1022 + tbnz x0, 20, .L1013 ldr w0, [x19,8] add w21, w21, 1 str w0, [x29,64] and w0, w21, 16777215 - cbnz w0, .L996 + cbnz w0, .L987 ldr w2, [x29,64] mov w1, w21 ldr w3, [x19,28] @@ -7105,18 +7047,18 @@ NandcXferComp: mov w2, 4 mov w3, 512 bl rknand_print_hex - b .L996 -.L1022: + b .L987 +.L1013: add x0, x20, :lo12:.LANCHOR0 ldr w0, [x0,1936] - cbz w0, .L999 + cbz w0, .L990 mov x0, x19 bl NandcSendDumpDataStart -.L999: +.L990: add x21, x20, :lo12:.LANCHOR0 add x21, x21, 1888 ldr w0, [x21,40] - cbz w0, .L1000 + cbz w0, .L991 ldr w1, [x29,64] mov w2, 1 ldr w0, [x21,32] @@ -7129,22 +7071,22 @@ NandcXferComp: ubfx x1, x1, 22, 5 lsl w1, w1, 7 bl rknand_dma_unmap_single -.L1000: +.L991: add x0, x20, :lo12:.LANCHOR0 ldr w0, [x0,1936] - cbz w0, .L995 + cbz w0, .L986 mov x0, x19 bl NandcSendDumpDataDone -.L995: +.L986: add x20, x20, :lo12:.LANCHOR0 str wzr, [x20,1928] - b .L983 -.L1014: + b .L974 +.L1005: ldr w0, [x19,8] str w0, [x29,64] ldr w0, [x29,64] - tbz x0, 20, .L1014 -.L983: + tbz x0, 20, .L1005 +.L974: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldr x23, [sp,48] @@ -7155,279 +7097,267 @@ NandcXferComp: .global NandcXferData .type NandcXferData, %function NandcXferData: - stp x29, x30, [sp, -192]! + stp x29, x30, [sp, -176]! add x29, sp, 0 stp x21, x22, [sp,32] - adrp x22, __stack_chk_guard - uxtb w21, w1 stp x25, x26, [sp,64] stp x19, x20, [sp,16] stp x23, x24, [sp,48] stp x27, x28, [sp,80] - uxtb w26, w0 adrp x19, .LANCHOR0 - ldr x0, [x22,#:lo12:__stack_chk_guard] - uxtb w25, w2 - str x0, [x29,184] + uxtb w25, w0 add x0, x19, :lo12:.LANCHOR0 - add x0, x0, x26, sxtw 4 - str x22, [x29,104] + add x0, x0, x25, sxtw 4 ldr x20, [x0,24] and x0, x3, 63 - mov x27, x3 - mov x23, x4 - cbnz x0, .L1024 - cbnz x4, .L1025 - add x0, x29, 120 + uxtb w21, w1 + uxtb w24, w2 + mov x26, x3 + mov x22, x4 + cbnz x0, .L1015 + cbnz x4, .L1016 + add x0, x29, 112 mov w1, 255 mov w2, 64 - add x23, x29, 120 + add x22, x29, 112 bl ftl_memset -.L1025: - mov w0, w26 +.L1016: + mov w0, w25 mov w1, w21 - mov w2, w25 + mov w2, w24 mov w3, 0 - mov x4, x27 - mov x5, x23 - mov w24, 0 + mov x4, x26 + mov x5, x22 + mov w23, 0 bl NandcXferStart - mov w0, w26 + mov w0, w25 bl NandcXferComp - cbnz w21, .L1026 + cbnz w21, .L1017 add x1, x19, :lo12:.LANCHOR0 - ubfx x2, x25, 1, 7 + ubfx x2, x24, 1, 7 mov w3, 128 - add x2, x23, x2, lsl 2 + add x2, x22, x2, lsl 2 ldr w0, [x1,1940] cmp w0, 25 mov w0, 64 csel w3, w0, w3, cc mov w0, w21 -.L1028: - cmp x23, x2 +.L1019: + cmp x22, x2 add w4, w0, w3 - beq .L1072 + beq .L1061 ldr x5, [x1,1896] and x0, x0, 4294967292 - add x23, x23, 4 + add x22, x22, 4 ldr w0, [x5,x0] - strb w0, [x23,-4] + strb w0, [x22,-4] lsr w5, w0, 8 - strb w5, [x23,-3] + strb w5, [x22,-3] lsr w5, w0, 16 - strb w5, [x23,-2] + strb w5, [x22,-2] lsr w0, w0, 24 - strb w0, [x23,-1] + strb w0, [x22,-1] mov w0, w4 - b .L1028 -.L1072: + b .L1019 +.L1061: add x0, x19, :lo12:.LANCHOR0 - lsr w25, w25, 2 + lsr w24, w24, 2 ldr w5, [x0,1940] ldr w4, [x0,20] mov w0, 0 - mov w24, w0 -.L1030: - cmp w0, w25 - bcs .L1026 - cbz w5, .L1026 + mov w23, w0 +.L1021: + cmp w0, w24 + bcs .L1017 + cbz w5, .L1017 uxtw x1, w0 add x1, x1, 8 ldr w1, [x20,x1,lsl 2] - str w1, [x29,112] - ldr w1, [x29,112] - tbnz x1, 2, .L1055 - ldr w3, [x29,112] + str w1, [x29,104] + ldr w1, [x29,104] + tbnz x1, 2, .L1045 + ldr w3, [x29,104] ubfx x3, x3, 15, 1 - cbnz w3, .L1055 + cbnz w3, .L1045 cmp w4, 5 - bls .L1032 - ldr w2, [x29,112] + bls .L1023 + ldr w2, [x29,104] ubfx x6, x2, 3, 5 - ldr w2, [x29,112] - ldr w1, [x29,112] + ldr w2, [x29,104] + ldr w1, [x29,104] ubfx x2, x2, 27, 1 ubfx x3, x1, 16, 5 - ldr w1, [x29,112] + ldr w1, [x29,104] orr w2, w6, w2, lsl 5 ubfx x1, x1, 29, 1 orr w1, w3, w1, lsl 5 - ldr w3, [x29,112] + ldr w3, [x29,104] cmp w2, w1 - bls .L1033 - ldr w1, [x29,112] + bls .L1024 + ldr w1, [x29,104] ubfx x3, x3, 3, 5 ubfx x1, x1, 27, 1 - b .L1070 -.L1033: - ldr w1, [x29,112] - ubfx x3, x3, 16, 5 - ubfx x1, x1, 29, 1 -.L1070: orr w3, w3, w1, lsl 5 - b .L1034 -.L1032: + b .L1025 +.L1024: + ubfx x1, x3, 16, 5 + ldr w3, [x29,104] + ubfx x3, x3, 29, 1 + b .L1060 +.L1023: cmp w4, 3 - bls .L1034 - ldr w2, [x29,112] + bls .L1025 + ldr w2, [x29,104] ubfx x6, x2, 3, 5 - ldr w2, [x29,112] - ldr w1, [x29,112] + ldr w2, [x29,104] + ldr w1, [x29,104] ubfx x2, x2, 28, 1 ubfx x3, x1, 16, 5 - ldr w1, [x29,112] + ldr w1, [x29,104] orr w2, w6, w2, lsl 5 ubfx x1, x1, 30, 1 orr w1, w3, w1, lsl 5 - ldr w3, [x29,112] + ldr w3, [x29,104] cmp w2, w1 - bls .L1035 + bls .L1026 ubfx x1, x3, 3, 5 - ldr w3, [x29,112] + ldr w3, [x29,104] ubfx x3, x3, 28, 1 - b .L1071 -.L1035: + b .L1060 +.L1026: ubfx x1, x3, 16, 5 - ldr w3, [x29,112] + ldr w3, [x29,104] ubfx x3, x3, 30, 1 -.L1071: +.L1060: orr w3, w1, w3, lsl 5 -.L1034: - cmp w24, w3 - csel w24, w24, w3, cs - b .L1031 -.L1055: - mov w24, -1 -.L1031: +.L1025: + cmp w23, w3 + csel w23, w23, w3, cs + b .L1022 +.L1045: + mov w23, -1 +.L1022: add w0, w0, 1 - b .L1030 -.L1026: + b .L1021 +.L1017: str wzr, [x20,16] - b .L1037 -.L1024: + b .L1028 +.L1015: cmp w21, 1 - bne .L1069 - mov w24, 0 - mov w22, 2 -.L1038: - cmp w24, w25 - bcs .L1073 - and w28, w24, 3 - mov x3, x27 - cbz x27, .L1040 - ubfiz x0, x24, 9, 23 - add x3, x27, x0 -.L1040: - cmp x23, xzr + bne .L1059 + mov w23, 0 + mov w28, 2 +.L1029: + cmp w23, w24 + bcs .L1062 + and w27, w23, 3 + mov x3, x26 + cbz x26, .L1031 + ubfiz x0, x23, 9, 23 + add x3, x26, x0 +.L1031: + cmp x22, xzr mov x0, x20 - csel w4, w22, wzr, ne + csel w4, w28, wzr, ne mov w1, 1 - mov w2, w28 - mul w4, w4, w24 - add w24, w24, 2 - add x4, x23, x4 + mov w2, w27 + mul w4, w4, w23 + add w23, w23, 2 + add x4, x22, x4 bl NandcCopy1KB mov x4, 0 - mov w0, w26 + mov w0, w25 mov w1, 1 mov w2, 2 - mov w3, w28 + mov w3, w27 mov x5, x4 bl NandcXferStart - mov w0, w26 + mov w0, w25 bl NandcXferComp - b .L1038 -.L1073: - mov w24, 0 - b .L1037 -.L1069: + b .L1029 +.L1062: + mov w23, 0 + b .L1028 +.L1059: mov w1, 0 mov x4, 0 - mov w22, 0 - mov w0, w26 + mov w27, 0 + mov w0, w25 mov w2, 2 mov w3, w1 mov x5, x4 - mov w24, w22 + mov w23, w27 bl NandcXferStart -.L1043: - cmp w22, w25 - bcs .L1037 - mov w0, w26 - add w28, w22, 2 +.L1034: + cmp w27, w24 + bcs .L1028 + mov w0, w25 + add w28, w27, 2 bl NandcXferComp ldr w0, [x20,32] - cmp w28, w25 - str w0, [x29,112] - bcs .L1044 + cmp w28, w24 + str w0, [x29,104] + bcs .L1035 mov x4, 0 - mov w0, w26 + mov w0, w25 mov w1, 0 mov w2, 2 and w3, w28, 3 mov x5, x4 bl NandcXferStart -.L1044: - ldr w0, [x29,112] - tbnz x0, 2, .L1060 - ldr w0, [x29,112] +.L1035: + ldr w0, [x29,104] + tbnz x0, 2, .L1050 + ldr w0, [x29,104] ubfx x1, x0, 3, 5 - ldr w0, [x29,112] + ldr w0, [x29,104] ubfx x0, x0, 27, 1 orr w0, w1, w0, lsl 5 - cmp w24, w0 - csel w24, w24, w0, cs - b .L1045 -.L1060: - mov w24, -1 -.L1045: - and w2, w22, 3 - mov x3, x27 - cbz x27, .L1046 - ubfiz x3, x22, 9, 23 - add x3, x27, x3 -.L1046: - cmp x23, xzr + cmp w23, w0 + csel w23, w23, w0, cs + b .L1036 +.L1050: + mov w23, -1 +.L1036: + and w2, w27, 3 + mov x3, x26 + cbz x26, .L1037 + ubfiz x3, x27, 9, 23 + add x3, x26, x3 +.L1037: + cmp x22, xzr mov w0, 2 csel w4, w0, wzr, ne mov w1, 0 mov x0, x20 - mul w4, w4, w22 - mov w22, w28 - add x4, x23, x4 + mul w4, w4, w27 + mov w27, w28 + add x4, x22, x4 bl NandcCopy1KB - b .L1043 -.L1037: - cbnz w21, .L1049 + b .L1034 +.L1028: + cbnz w21, .L1040 add x19, x19, :lo12:.LANCHOR0 ldr w0, [x19,20] cmp w0, 5 - bls .L1049 + bls .L1040 ldr w0, [x20] mov w1, 8192 movk w1, 0x2, lsl 16 and w1, w0, w1 cmp w1, 139264 - bne .L1049 + bne .L1040 orr w0, w0, 131072 - mov w24, -1 + mov w23, -1 str w0, [x20] -.L1049: - ldr x1, [x29,104] - mov w0, w24 - ldr x2, [x29,184] - ldr x1, [x1,#:lo12:__stack_chk_guard] - cmp x2, x1 - beq .L1051 - bl __stack_chk_fail -.L1051: +.L1040: + mov w0, w23 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], 192 + ldp x29, x30, [sp], 176 ret .size NandcXferData, .-NandcXferData .align 2 @@ -7443,7 +7373,7 @@ FlashReadRawPage: str x21, [sp,32] mov x21, x2 ldrb w20, [x0,#:lo12:.LANCHOR1+481] - cbnz w19, .L1075 + cbnz w19, .L1064 adrp x0, .LANCHOR0 add x0, x0, :lo12:.LANCHOR0 ldrb w5, [x0,9] @@ -7452,7 +7382,7 @@ FlashReadRawPage: cmp w1, w0 mov w0, 4 csel w20, w20, w0, cs -.L1075: +.L1064: mov w0, w19 str x4, [x29,48] str x1, [x29,56] @@ -7506,7 +7436,7 @@ FlashDdrTunningRead: cmp w0, 8 mov w0, 12 csel w22, w22, w0, cc - cbz w4, .L1078 + cbz w4, .L1067 mov w0, 1 bl FlashSetInterfaceMode mov w0, 1 @@ -7524,42 +7454,42 @@ FlashDdrTunningRead: ldrb w0, [x19,1844] bl NandcSetMode cmn w21, #1 - bne .L1079 -.L1088: + bne .L1068 +.L1077: mov w21, -1 - b .L1080 -.L1079: - adrp x0, .LC86 + b .L1069 +.L1068: + adrp x0, .LC85 mov w1, w24 - add x0, x0, :lo12:.LC86 + add x0, x0, :lo12:.LC85 mov w2, w21 bl printk cmp w21, 9 - bhi .L1081 + bhi .L1070 add x19, x19, x23, sxtw 4 ldr x0, [x19,24] ldr w1, [x0,3840] ldr w1, [x0] orr w1, w1, 131072 str w1, [x0] -.L1081: +.L1070: adrp x0, .LANCHOR4 add x0, x0, :lo12:.LANCHOR4 ldr w1, [x0,40] add w1, w1, 1 str w1, [x0,40] cmp w1, 2047 - bls .L1080 + bls .L1069 mov x27, 0 str wzr, [x0,40] mov x28, x27 -.L1078: +.L1067: mov w19, 0 mov w26, -1 mov w5, w19 mov w6, w19 mov w20, w19 -.L1086: +.L1075: mov w0, w22 str x5, [x29,104] str x6, [x29,112] @@ -7573,63 +7503,63 @@ FlashDdrTunningRead: ldr x6, [x29,112] cmp w0, w1 ldr x5, [x29,104] - bhi .L1082 + bhi .L1071 cmp w0, 2 - bhi .L1092 + bhi .L1081 add w20, w20, 1 cmp w20, 9 - bls .L1092 + bls .L1081 sub w19, w22, w20 mov w21, w0 mov w26, 0 - b .L1084 -.L1082: + b .L1073 +.L1071: cmp w6, w20 - bcs .L1093 + bcs .L1082 cmp w20, 7 sub w5, w19, w20 - bhi .L1094 + bhi .L1083 mov w6, w20 - b .L1093 -.L1092: + b .L1082 +.L1081: mov x27, 0 mov w19, w22 mov w21, w0 mov w26, 0 mov x28, x27 - b .L1083 -.L1093: + b .L1072 +.L1082: mov w20, 0 -.L1083: +.L1072: add w22, w22, 2 cmp w22, 69 - bls .L1086 -.L1084: + bls .L1075 +.L1073: cmp w6, w20 csel w19, w19, w5, cc - b .L1085 -.L1094: + b .L1074 +.L1083: mov w19, w5 -.L1085: - cbz w19, .L1087 - adrp x0, .LC87 +.L1074: + cbz w19, .L1076 + adrp x0, .LC86 mov w1, w19 - add x0, x0, :lo12:.LC87 + add x0, x0, :lo12:.LC86 bl printk mov w0, w19 bl NandcSetDdrPara -.L1087: - cbz w26, .L1080 - adrp x0, .LC88 +.L1076: + cbz w26, .L1069 + adrp x0, .LC87 mov w1, w23 - add x0, x0, :lo12:.LC88 + add x0, x0, :lo12:.LC87 mov w2, w24 bl printk - cbz w25, .L1088 + cbz w25, .L1077 ldr w0, [x29,124] lsr w0, w0, 8 bl NandcSetDdrPara -.L1080: +.L1069: mov w0, w21 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -7657,17 +7587,17 @@ FlashReadPage: bl FlashReadRawPage cmn w0, #1 mov w19, w0 - bne .L1104 + bne .L1093 adrp x20, .LANCHOR0 add x25, x20, :lo12:.LANCHOR0 ldrb w26, [x25,16] - cbnz w26, .L1105 -.L1107: + cbnz w26, .L1094 +.L1096: add x20, x20, :lo12:.LANCHOR0 ldrb w0, [x20,1864] - cbz w0, .L1104 - b .L1122 -.L1105: + cbz w0, .L1093 + b .L1111 +.L1094: mov w0, w21 mov w1, w22 mov x2, x24 @@ -7676,10 +7606,10 @@ FlashReadPage: bl FlashReadRawPage strb w26, [x25,16] cmn w0, #1 - beq .L1107 + beq .L1096 mov w19, w0 - b .L1104 -.L1122: + b .L1093 +.L1111: ldr x0, [x20,128] mov w1, w22 mov x2, x24 @@ -7690,32 +7620,32 @@ FlashReadPage: bl FlashDdrTunningRead cmn w0, #1 mov w19, w0 - beq .L1108 + beq .L1097 ldrb w0, [x20,1944] cmp w19, w0, lsr 1 - bls .L1104 -.L1108: + bls .L1093 +.L1097: lsr w0, w25, 8 bl NandcSetDdrPara -.L1104: +.L1093: adrp x0, .LANCHOR4+48 cmn w19, #1 ldr x4, [x0,#:lo12:.LANCHOR4+48] - bne .L1109 - cbz x4, .L1109 + bne .L1098 + cbz x4, .L1098 mov w1, w22 mov x2, x24 mov x3, x23 mov w0, w21 blr x4 mov w19, w0 - adrp x0, .LC89 + adrp x0, .LC88 mov w1, w19 - add x0, x0, :lo12:.LC89 + add x0, x0, :lo12:.LC88 mov w2, w21 mov w3, w22 bl printk -.L1109: +.L1098: mov w0, w19 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -7753,24 +7683,24 @@ FlashDdrParaScan: mov x3, x2 bl FlashReadRawPage cmn w0, #1 - beq .L1127 + beq .L1116 cmn w22, #1 - bne .L1124 -.L1127: + bne .L1113 +.L1116: add x20, x19, :lo12:.LANCHOR0 ldrb w0, [x20,1844] - tbz x0, 0, .L1124 + tbz x0, 0, .L1113 mov w0, 1 bl FlashSetInterfaceMode mov w0, 1 bl NandcSetMode strb wzr, [x20,1864] - b .L1126 -.L1124: + b .L1115 +.L1113: add x19, x19, :lo12:.LANCHOR0 mov w0, 1 strb w0, [x19,1864] -.L1126: +.L1115: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -7782,110 +7712,98 @@ FlashDdrParaScan: .type FlashLoadPhyInfo, %function FlashLoadPhyInfo: stp x29, x30, [sp, -128]! + mov w0, 60 add x29, sp, 0 - stp x27, x28, [sp,80] - adrp x27, __stack_chk_guard stp x23, x24, [sp,48] adrp x24, .LANCHOR0 adrp x23, .LANCHOR4 - ldr x0, [x27,#:lo12:__stack_chk_guard] - add x1, x24, :lo12:.LANCHOR0 - str x0, [x29,120] - mov w0, 60 - strb w0, [x29,112] + strb w0, [x29,120] mov w0, 40 - strb w0, [x29,113] + strb w0, [x29,121] mov w0, 24 - strb w0, [x29,114] + add x1, x24, :lo12:.LANCHOR0 + strb w0, [x29,122] mov w0, 16 + strb w0, [x29,123] stp x21, x22, [sp,32] stp x25, x26, [sp,64] stp x19, x20, [sp,16] - strb w0, [x29,115] - adrp x22, .LANCHOR1 + stp x27, x28, [sp,80] add x0, x23, :lo12:.LANCHOR4 + adrp x22, .LANCHOR1 add x21, x22, :lo12:.LANCHOR1 ldr x1, [x1,1856] add x21, x21, 472 mov w20, 0 - mov w26, 4 str x1, [x0,56] - mov w25, -1 + mov w26, 4 str wzr, [x0,64] + mov w25, -1 mov w0, 0 - ldrh w28, [x21,10] + ldrh w27, [x21,10] bl flash_enter_slc_mode -.L1135: - add w0, w20, 1 +.L1124: + add w28, w20, 1 mov x19, 0 - str w0, [x29,104] -.L1137: - add x0, x29, 112 +.L1126: + add x0, x29, 120 ldrb w0, [x19,x0] bl FlashBchSel - add x5, x24, :lo12:.LANCHOR0 + add x4, x24, :lo12:.LANCHOR0 mov w0, 0 mov w1, w20 mov x3, 0 - str x5, [x29,96] - ldr x2, [x5,1856] + str x4, [x29,104] + ldr x2, [x4,1856] bl FlashReadRawPage cmn w0, #1 - bne .L1136 - ldr x5, [x29,96] + bne .L1125 + ldr x4, [x29,104] mov w0, 0 - ldr w1, [x29,104] + mov w1, w28 mov x3, 0 - ldr x2, [x5,1856] + ldr x2, [x4,1856] bl FlashReadRawPage cmn w0, #1 - bne .L1136 + bne .L1125 add x19, x19, 1 cmp x19, 4 - beq .L1138 - b .L1137 -.L1139: - add x0, x2, 12 + beq .L1127 + b .L1126 +.L1128: mov w1, 2036 - str x2, [x29,104] + add x0, x28, 12 mov w25, -1 bl JSHash - ldr x2, [x29,104] - ldr w1, [x2,8] + ldr w1, [x28,8] cmp w1, w0 - beq .L1149 -.L1138: + beq .L1137 +.L1127: subs w26, w26, #1 - add w20, w20, w28 - bne .L1135 + add w20, w20, w27 + bne .L1124 mov w0, w26 bl flash_exit_slc_mode -.L1140: - ldr x2, [x29,120] - mov w0, w25 - ldr x1, [x27,#:lo12:__stack_chk_guard] - cmp x2, x1 - beq .L1145 - bl __stack_chk_fail -.L1136: + b .L1136 +.L1125: add x19, x23, :lo12:.LANCHOR4 mov w0, 20036 movk w0, 0x4e41, lsl 16 - ldr x2, [x19,56] - ldr w1, [x2] + ldr x28, [x19,56] + ldr w1, [x28] cmp w1, w0 - bne .L1138 - cbnz w25, .L1139 + bne .L1127 + cbnz w25, .L1128 add x22, x22, :lo12:.LANCHOR1 ldrh w0, [x22,482] udiv w20, w20, w0 add w20, w20, 1 str w20, [x19,68] - b .L1140 -.L1149: - add x1, x2, 160 - mov x0, x21 + b .L1136 +.L1137: + add x1, x28, 160 mov w2, 32 + mov x0, x21 add x25, x24, :lo12:.LANCHOR0 bl ftl_memcpy ldr x1, [x19,56] @@ -7905,19 +7823,20 @@ FlashLoadPhyInfo: ldrh w0, [x21,10] udiv w0, w20, w0 add w2, w0, 1 - cbz w0, .L1141 + cbz w0, .L1130 str w2, [x19,68] - b .L1142 -.L1141: + b .L1131 +.L1130: mov w0, 2 str w0, [x19,68] -.L1142: +.L1131: add x0, x23, :lo12:.LANCHOR4 ldrh w1, [x1,14] mov w25, 0 strb w1, [x0,72] - b .L1138 -.L1145: + b .L1127 +.L1136: + mov w0, w25 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -7959,20 +7878,20 @@ ToshibaReadRetrial: sub w0, w0, #67 uxtb w0, w0 cmp w0, 1 - bls .L1151 + bls .L1139 ldrb w0, [x2,1864] - cbz w0, .L1152 + cbz w0, .L1140 mov w0, w22 mov w22, 1 bl NandcSetDdrMode -.L1152: +.L1140: ubfiz x0, x28, 8, 8 mov w2, 92 add x0, x24, x0 str w2, [x0,2056] mov w2, 197 str w2, [x0,2056] -.L1151: +.L1139: ldr x0, [x29,120] mov w21, 1 mov w25, -1 @@ -7981,13 +7900,13 @@ ToshibaReadRetrial: str x0, [x29,104] ubfiz x0, x28, 8, 8 str x0, [x29,96] -.L1153: +.L1141: adrp x0, .LANCHOR4 add x0, x0, :lo12:.LANCHOR4 ldrb w0, [x0,73] add w0, w0, 1 cmp w21, w0 - bcs .L1178 + bcs .L1166 add x0, x19, :lo12:.LANCHOR0 mov w1, w21 ldrb w0, [x0,752] @@ -7995,34 +7914,34 @@ ToshibaReadRetrial: uxtb w0, w0 cmp w0, 1 mov x0, x20 - bhi .L1154 + bhi .L1142 bl SandiskSetRRPara - b .L1155 -.L1154: + b .L1143 +.L1142: bl ToshibaSetRRPara -.L1155: +.L1143: add x0, x19, :lo12:.LANCHOR0 ldrb w0, [x0,752] cmp w0, 34 - bne .L1156 + bne .L1144 adrp x0, .LANCHOR4 add x0, x0, :lo12:.LANCHOR4 ldrb w0, [x0,73] sub w0, w0, #3 cmp w21, w0 - bne .L1156 + bne .L1144 ldr x0, [x29,104] mov w1, 179 add x0, x24, x0 str w1, [x0,8] -.L1156: +.L1144: ldr x0, [x29,96] mov w1, 38 add x0, x24, x0 str w1, [x0,2056] mov w1, 93 str w1, [x0,2056] - cbz w22, .L1157 + cbz w22, .L1145 mov w0, 4 bl NandcSetDdrMode ldr w1, [x29,116] @@ -8033,32 +7952,32 @@ ToshibaReadRetrial: mov w28, w0 mov w0, 0 bl NandcSetDdrMode - b .L1158 -.L1157: + b .L1146 +.L1145: ldr w1, [x29,116] mov w0, w23 mov x2, x27 mov x3, x26 bl FlashReadRawPage mov w28, w0 -.L1158: +.L1146: cmn w28, #1 - beq .L1159 + beq .L1147 add x0, x19, :lo12:.LANCHOR0 cmn w25, #1 csel w25, w25, w28, ne ldrb w0, [x0,1944] add w0, w0, w0, lsl 1 cmp w28, w0, lsr 2 - bcc .L1161 + bcc .L1149 mov x26, 0 mov x27, x26 -.L1159: +.L1147: add w21, w21, 1 - b .L1153 -.L1178: + b .L1141 +.L1166: mov w28, w25 -.L1161: +.L1149: add x0, x19, :lo12:.LANCHOR0 mov w1, 0 ldrb w0, [x0,752] @@ -8066,12 +7985,12 @@ ToshibaReadRetrial: uxtb w0, w0 cmp w0, 1 mov x0, x20 - bhi .L1163 + bhi .L1151 bl SandiskSetRRPara - b .L1164 -.L1163: + b .L1152 +.L1151: bl ToshibaSetRRPara -.L1164: +.L1152: ldr x0, [x29,120] add x19, x19, :lo12:.LANCHOR0 add x0, x0, 8 @@ -8081,17 +8000,17 @@ ToshibaReadRetrial: ldrb w0, [x19,1944] add w0, w0, w0, lsl 1 cmp w28, w0, lsr 2 - bcc .L1165 + bcc .L1153 cmn w28, #1 mov w0, 256 csel w28, w28, w0, eq -.L1165: +.L1153: mov w0, w23 bl NandcWaitFlashReady - cbz w22, .L1166 + cbz w22, .L1154 mov w0, 4 bl NandcSetDdrMode -.L1166: +.L1154: mov w0, w28 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -8130,12 +8049,12 @@ SamsungReadRetrial: ldrb w21, [x2,8] add x21, x21, 8 add x21, x0, x21, lsl 8 -.L1180: +.L1168: add x0, x27, :lo12:.LANCHOR4 ldrb w0, [x0,73] add w0, w0, 1 cmp w26, w0 - bcs .L1183 + bcs .L1171 mov x0, x21 mov w1, w26 bl SamsungSetRRPara @@ -8145,22 +8064,22 @@ SamsungReadRetrial: mov x3, x23 bl FlashReadRawPage cmn w0, #1 - beq .L1181 + beq .L1169 add x1, x20, :lo12:.LANCHOR0 cmn w19, #1 csel w19, w19, w0, ne ldrb w1, [x1,1944] add w1, w1, w1, lsl 1 cmp w0, w1, lsr 2 - bcc .L1186 + bcc .L1174 mov x23, 0 mov x24, x23 -.L1181: +.L1169: add w26, w26, 1 - b .L1180 -.L1186: + b .L1168 +.L1174: mov w19, w0 -.L1183: +.L1171: mov x0, x21 mov w1, 0 add x20, x20, :lo12:.LANCHOR0 @@ -8168,11 +8087,11 @@ SamsungReadRetrial: ldrb w0, [x20,1944] add w0, w0, w0, lsl 1 cmp w19, w0, lsr 2 - bcc .L1185 + bcc .L1173 cmn w19, #1 mov w0, 256 csel w19, w19, w0, eq -.L1185: +.L1173: mov w0, w19 ldr x27, [sp,80] ldp x19, x20, [sp,16] @@ -8212,11 +8131,11 @@ MicronReadRetrial: ldr x28, [x0,x1] ldrb w20, [x2,8] lsl x5, x20, 8 -.L1193: +.L1181: add x0, x4, :lo12:.LANCHOR4 ldrb w0, [x0,73] cmp w23, w0 - bcs .L1196 + bcs .L1184 add x22, x28, x5 mov w0, 200 str x4, [x29,96] @@ -8241,20 +8160,20 @@ MicronReadRetrial: ldr x6, [x29,112] ldr x5, [x29,104] ldr x4, [x29,96] - beq .L1193 + beq .L1181 add x1, x21, :lo12:.LANCHOR0 cmn w19, #1 csel w19, w19, w0, ne ldrb w2, [x1,1944] add w2, w2, w2, lsl 1 cmp w0, w2, lsr 2 - bcc .L1199 + bcc .L1187 mov x26, 0 mov x27, x26 - b .L1193 -.L1199: + b .L1181 +.L1187: mov w19, w0 -.L1196: +.L1184: add x20, x28, x20, lsl 8 mov w0, 239 add x21, x21, :lo12:.LANCHOR0 @@ -8270,11 +8189,11 @@ MicronReadRetrial: add w0, w0, w0, lsl 1 str wzr, [x20,2048] cmp w19, w0, lsr 2 - bcc .L1198 + bcc .L1186 cmn w19, #1 mov w0, 256 csel w19, w19, w0, eq -.L1198: +.L1186: mov w0, w19 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -8311,9 +8230,9 @@ HynixReadRetrial: mov w4, 0 mov w19, -1 add x5, x28, 764 -.L1206: +.L1194: cmp w4, w25 - bcs .L1210 + bcs .L1198 add w20, w20, 1 ldrb w1, [x28,761] mov x2, x5 @@ -8333,32 +8252,32 @@ HynixReadRetrial: cmn w0, #1 ldr x5, [x29,104] ldr x4, [x29,96] - beq .L1208 + beq .L1196 ldrb w1, [x28,1944] cmn w19, #1 csel w19, w19, w0, ne add w1, w1, w1, lsl 1 cmp w0, w1, lsr 2 - bcc .L1213 + bcc .L1201 mov x24, 0 mov x26, x24 -.L1208: +.L1196: add w4, w4, 1 - b .L1206 -.L1213: + b .L1194 +.L1201: mov w19, w0 -.L1210: +.L1198: add x21, x21, :lo12:.LANCHOR0 add x22, x21, x22 ldrb w0, [x21,1944] strb w20, [x22,772] add w0, w0, w0, lsl 1 cmp w19, w0, lsr 2 - bcc .L1212 + bcc .L1200 cmn w19, #1 mov w0, 256 csel w19, w19, w0, eq -.L1212: +.L1200: mov w0, w19 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -8382,21 +8301,21 @@ FlashProgPage: mov w20, w1 mov x22, x2 ldrb w21, [x0,#:lo12:.LANCHOR1+481] - cbnz w19, .L1220 + cbnz w19, .L1208 adrp x0, .LANCHOR0 add x0, x0, :lo12:.LANCHOR0 ldrb w1, [x0,9] ldr w2, [x0,12] mul w1, w1, w2 cmp w20, w1 - bcs .L1220 + bcs .L1208 ldrb w0, [x0,8] - cbnz w0, .L1221 + cbnz w0, .L1209 sub w21, w21, #2 - b .L1220 -.L1221: + b .L1208 +.L1209: mov w21, 4 -.L1220: +.L1208: mov w0, w19 str x4, [x29,56] bl NandcWaitFlashReady @@ -8505,7 +8424,7 @@ FlashSavePhyInfo: mov w0, 0 mov w19, w21 bl flash_enter_slc_mode -.L1225: +.L1213: add x20, x23, :lo12:.LANCHOR0 mov w2, 0 mov w0, 0 @@ -8534,34 +8453,34 @@ FlashSavePhyInfo: mul w1, w19, w1 bl FlashReadRawPage cmn w0, #1 - beq .L1223 + beq .L1211 ldr x25, [x24,56] mov w0, 20036 movk w0, 0x4e41, lsl 16 ldr w1, [x25] cmp w1, w0 - bne .L1223 + bne .L1211 mov w1, 2036 add x0, x25, 12 bl JSHash ldr w1, [x25,8] cmp w1, w0 - bne .L1223 + bne .L1211 ldr w0, [x20,12] cmp w21, 1 str w26, [x24,68] mul w19, w19, w0 str w19, [x24,64] - beq .L1226 + beq .L1214 mov w21, 1 -.L1223: +.L1211: cmp w26, 4 mov w19, w26 - bne .L1225 - b .L1224 -.L1226: + bne .L1213 + b .L1212 +.L1214: mov w21, 2 -.L1224: +.L1212: mov w0, 0 bl flash_exit_slc_mode cmp w21, wzr @@ -8577,25 +8496,22 @@ FlashSavePhyInfo: .global FlashReadIdbDataRaw .type FlashReadIdbDataRaw, %function FlashReadIdbDataRaw: - stp x29, x30, [sp, -128]! + stp x29, x30, [sp, -112]! add x29, sp, 0 - stp x21, x22, [sp,32] - adrp x22, __stack_chk_guard stp x25, x26, [sp,64] mov x26, x0 - ldr x0, [x22,#:lo12:__stack_chk_guard] - str x0, [x29,120] mov w0, 60 - strb w0, [x29,112] + strb w0, [x29,104] mov w0, 40 - strb w0, [x29,113] + strb w0, [x29,105] mov w0, 24 stp x19, x20, [sp,16] - strb w0, [x29,114] + strb w0, [x29,106] adrp x19, .LANCHOR0 mov w0, 16 - strb w0, [x29,115] + strb w0, [x29,107] add x0, x19, :lo12:.LANCHOR0 + stp x21, x22, [sp,32] stp x23, x24, [sp,48] stp x27, x28, [sp,80] ldr w1, [x0,1872] @@ -8603,31 +8519,30 @@ FlashReadIdbDataRaw: mov w0, 12336 movk w0, 0x5638, lsl 16 cmp w1, w0 - bne .L1232 + bne .L1220 mov w0, 0 bl flash_enter_slc_mode -.L1232: - adrp x24, .LC90 +.L1220: + adrp x24, .LC89 mov x0, x26 mov w1, 0 mov w2, 2048 - mov w25, -1 + mov w23, -1 mov w20, 2 - add x24, x24, :lo12:.LC90 + add x24, x24, :lo12:.LC89 adrp x28, .LANCHOR4 bl ftl_memset -.L1233: +.L1221: add x0, x19, :lo12:.LANCHOR0 ldrb w0, [x0,9] cmp w20, w0 - bcs .L1237 - mov x23, 0 -.L1235: - add x0, x29, 112 + bcs .L1225 + mov x22, 0 +.L1223: + add x0, x29, 104 add x21, x19, :lo12:.LANCHOR0 - ldrb w4, [x23,x0] - str x4, [x29,104] - mov w0, w4 + ldrb w25, [x22,x0] + mov w0, w25 bl FlashBchSel ldr w1, [x21,12] mov w0, 0 @@ -8636,20 +8551,19 @@ FlashReadIdbDataRaw: mul w1, w20, w1 bl FlashReadRawPage cmn w0, #1 - ldr x4, [x29,104] - bne .L1234 - add x23, x23, 1 - cmp x23, 4 - bne .L1235 - b .L1236 -.L1234: + bne .L1222 + add x22, x22, 1 + cmp x22, 4 + bne .L1223 + b .L1224 +.L1222: ldr x0, [x21,1856] ldr w1, [x0] mov w0, 35899 movk w0, 0xfcdc, lsl 16 cmp w1, w0 - bne .L1236 - mov w1, w4 + bne .L1224 + mov w1, w25 mov x0, x24 bl printk ldr x1, [x21,1856] @@ -8662,16 +8576,16 @@ FlashReadIdbDataRaw: add x0, x28, :lo12:.LANCHOR4 ldr w1, [x0,68] cmp w1, w20 - bls .L1241 - mov w25, 0 + bls .L1228 + mov w23, 0 str w20, [x0,68] bl FlashSavePhyInfo -.L1236: +.L1224: add w20, w20, 1 - b .L1233 -.L1241: - mov w25, 0 -.L1237: + b .L1221 +.L1228: + mov w23, 0 +.L1225: mov w0, w27 add x19, x19, :lo12:.LANCHOR0 bl FlashBchSel @@ -8679,23 +8593,17 @@ FlashReadIdbDataRaw: mov w0, 12336 movk w0, 0x5638, lsl 16 cmp w1, w0 - bne .L1238 + bne .L1230 mov w0, 0 bl flash_exit_slc_mode -.L1238: - ldr x2, [x29,120] - mov w0, w25 - ldr x1, [x22,#:lo12:__stack_chk_guard] - cmp x2, x1 - beq .L1240 - bl __stack_chk_fail -.L1240: +.L1230: + mov w0, w23 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], 128 + ldp x29, x30, [sp], 112 ret .size FlashReadIdbDataRaw, .-FlashReadIdbDataRaw .align 2 @@ -8719,7 +8627,7 @@ FlashInit: str x0, [x20,1856] mov w0, 32768 add x24, x20, 24 - adrp x25, .LC91 + adrp x25, .LC90 mov w28, 0 bl ftl_malloc str x0, [x21,80] @@ -8748,9 +8656,9 @@ FlashInit: str wzr, [x21,68] str wzr, [x21,40] bl NandcInit - add x0, x25, :lo12:.LC91 + add x0, x25, :lo12:.LC90 str x0, [x29,104] -.L1249: +.L1236: uxtb w25, w28 mov w0, w25 bl FlashReset @@ -8786,7 +8694,7 @@ FlashInit: sub w0, w2, #1 uxtb w0, w0 cmp w0, 253 - bhi .L1246 + bhi .L1233 ldr x0, [x29,104] add w1, w28, 1 ldrb w3, [x20,1] @@ -8795,29 +8703,29 @@ FlashInit: ldrb w6, [x20,4] ldrb w7, [x20,5] bl printk -.L1246: - cbnz w28, .L1247 +.L1233: + cbnz w28, .L1234 ldrb w0, [x26] sub w0, w0, #1 uxtb w0, w0 cmp w0, 253 - bhi .L1287 + bhi .L1276 ldrb w0, [x26,1] cmp w0, 255 - beq .L1287 -.L1247: + beq .L1276 +.L1234: add w28, w28, 1 add x24, x24, 16 cmp w28, 4 add x20, x20, 8 - bne .L1249 + bne .L1236 add x0, x19, :lo12:.LANCHOR0 ldrb w1, [x0,1620] cmp w1, 173 - beq .L1250 + beq .L1237 ldr w0, [x0,1868] bl NandcSetDdrMode -.L1250: +.L1237: add x20, x19, :lo12:.LANCHOR0 mov w1, 0 add x0, x20, 760 @@ -8832,15 +8740,15 @@ FlashInit: cset w3, eq str x0, [x20,744] add x20, x20, 1620 - cbnz w3, .L1251 + cbnz w3, .L1238 cmp w2, 241 - beq .L1251 + beq .L1238 cmp w2, 220 - bne .L1252 + bne .L1239 ldrb w0, [x20,3] cmp w0, 149 - bne .L1252 -.L1251: + bne .L1239 +.L1238: add x0, x19, :lo12:.LANCHOR0 mov w4, 1 mov w5, 16 @@ -8852,26 +8760,26 @@ FlashInit: add x5, x1, :lo12:.LANCHOR1 cmp w0, 152 strb w0, [x5,2969] - bne .L1253 + bne .L1240 mov w0, 24 strb w0, [x4,74] -.L1253: - cbz w3, .L1254 +.L1240: + cbz w3, .L1241 add x0, x1, :lo12:.LANCHOR1 mov w2, 2048 strh w2, [x0,2982] mov w2, -38 - b .L1312 -.L1254: + b .L1307 +.L1241: cmp w2, 220 - bne .L1255 + bne .L1242 add x0, x1, :lo12:.LANCHOR1 mov w2, 4096 strh w2, [x0,2982] mov w2, -36 -.L1312: +.L1307: strb w2, [x0,2970] -.L1255: +.L1242: add x20, x1, :lo12:.LANCHOR1 add x0, x19, :lo12:.LANCHOR0 add x1, x20, 2872 @@ -8882,56 +8790,56 @@ FlashInit: add x1, x20, 2968 mov w2, 32 bl ftl_memcpy -.L1252: +.L1239: add x20, x19, :lo12:.LANCHOR0 ldrb w0, [x20,8] - cbnz w0, .L1256 + cbnz w0, .L1243 bl FlashLoadPhyInfoInRam - cbnz w0, .L1258 + cbnz w0, .L1245 ldr x0, [x20,744] ldrb w1, [x0,17] and w0, w1, 7 strb w0, [x20,1844] - tbnz x1, 0, .L1258 + tbnz x1, 0, .L1245 mov w1, 1 strb w1, [x20,1864] bl FlashSetInterfaceMode ldrb w0, [x20,1844] bl NandcSetMode -.L1258: +.L1245: add x20, x19, :lo12:.LANCHOR0 ldr x0, [x20,744] ldrb w0, [x0,26] strb w0, [x20,120] bl FlashLoadPhyInfo - cbz w0, .L1256 + cbz w0, .L1243 ldr w0, [x20,1868] - cbz w0, .L1261 + cbz w0, .L1248 mov w0, 1 bl FlashSetInterfaceMode mov w0, 1 - b .L1313 -.L1261: + b .L1308 +.L1248: ldrb w0, [x20,1844] bl FlashSetInterfaceMode ldrb w0, [x20,1844] -.L1313: +.L1308: bl NandcSetMode bl FlashLoadPhyInfo - cbz w0, .L1256 + cbz w0, .L1243 mov w0, 1 add x20, x19, :lo12:.LANCHOR0 bl FlashSetInterfaceMode mov w0, 1 bl NandcSetMode ldr x1, [x20,744] - adrp x0, .LC92 - add x0, x0, :lo12:.LC92 + adrp x0, .LC91 + add x0, x0, :lo12:.LC91 ldrh w1, [x1,14] bl printk bl FlashLoadPhyInfoInRam cmn w0, #1 - beq .L1248 + beq .L1235 bl FlashDieInfoInit ldr x0, [x20,744] ldrb w0, [x0,19] @@ -8942,89 +8850,89 @@ FlashInit: ldrb w2, [x0,9] add w1, w1, 4095 cmp w2, w1, lsr 12 - blt .L1263 + blt .L1250 ldrh w1, [x0,14] add w1, w1, 255 cmp w2, w1, lsr 8 - bge .L1264 -.L1263: + bge .L1251 +.L1250: ldrh w1, [x0,14] and w1, w1, -256 strh w1, [x0,14] -.L1264: +.L1251: add x0, x19, :lo12:.LANCHOR0 ldrb w0, [x0,1844] tst w0, 6 - beq .L1265 + beq .L1252 bl FlashSavePhyInfo add x1, x23, :lo12:.LANCHOR4 mov w0, 0 ldr w1, [x1,64] bl FlashDdrParaScan -.L1265: +.L1252: bl FlashSavePhyInfo -.L1256: +.L1243: add x1, x19, :lo12:.LANCHOR0 ldr x3, [x1,744] - ldrb w0, [x3,26] - strb w0, [x1,120] ldrh w0, [x3,16] + ldrb w4, [x3,26] ubfx x2, x0, 7, 1 strb w2, [x1,16] add x2, x23, :lo12:.LANCHOR4 - ubfx x4, x0, 3, 1 - strb w4, [x2,112] - ubfx x4, x0, 4, 1 + ubfx x5, x0, 3, 1 + strb w4, [x1,120] + strb w5, [x2,112] + ubfx x5, x0, 4, 1 str xzr, [x2,48] - strb w4, [x1,1945] - ubfx x4, x0, 8, 3 - strb w4, [x1,1844] - tbz x0, 6, .L1267 + strb w5, [x1,1945] + ubfx x5, x0, 8, 3 + strb w5, [x1,1844] + tbz x0, 6, .L1254 ldrb w0, [x3,19] - ldrb w4, [x1,762] - strb w4, [x2,73] - sub w4, w0, #1 - ldrb w5, [x1,761] - uxtb w4, w4 + ldrb w5, [x1,762] + strb w5, [x2,73] + sub w5, w0, #1 + ldrb w6, [x1,761] + uxtb w5, w5 strb w0, [x1,752] - strb w5, [x1,753] - cmp w4, 5 - bhi .L1268 + strb w6, [x1,753] + cmp w5, 5 + bhi .L1255 sub w0, w0, #5 - adrp x4, HynixReadRetrial - add x4, x4, :lo12:HynixReadRetrial - str x4, [x2,48] + adrp x5, HynixReadRetrial + add x5, x5, :lo12:HynixReadRetrial + str x5, [x2,48] uxtb w0, w0 cmp w0, 1 - bhi .L1267 + bhi .L1254 mov w0, 1 str w0, [x1,1936] - b .L1267 -.L1268: + b .L1254 +.L1255: sub w1, w0, #17 uxtb w1, w1 cmp w1, 2 - bhi .L1270 + bhi .L1257 adrp x1, MicronReadRetrial cmp w0, 19 add x1, x1, :lo12:MicronReadRetrial str x1, [x2,48] - beq .L1271 + beq .L1258 mov w0, 7 - b .L1314 -.L1271: + b .L1309 +.L1258: mov w0, 15 -.L1314: +.L1309: strb w0, [x2,73] - b .L1267 -.L1270: + b .L1254 +.L1257: sub w1, w0, #65 uxtb w1, w1 cmp w1, 1 - bls .L1288 + bls .L1277 cmp w0, 33 - bne .L1272 -.L1288: + bne .L1259 +.L1277: add x0, x23, :lo12:.LANCHOR4 adrp x1, ToshibaReadRetrial add x1, x1, :lo12:ToshibaReadRetrial @@ -9034,48 +8942,57 @@ FlashInit: strb w2, [x1,753] mov w1, 7 strb w1, [x0,73] - b .L1267 -.L1272: + b .L1254 +.L1259: sub w1, w0, #67 uxtb w1, w1 cmp w1, 1 sub w1, w0, #34 - cset w4, ls + cset w5, ls uxtb w1, w1 cmp w1, 1 - bls .L1289 - cbz w4, .L1274 -.L1289: + bls .L1278 + cbz w5, .L1261 +.L1278: add x2, x23, :lo12:.LANCHOR4 adrp x1, ToshibaReadRetrial add x1, x1, :lo12:ToshibaReadRetrial cmp w0, 35 str x1, [x2,48] - beq .L1276 + beq .L1263 cmp w0, 68 - beq .L1276 + beq .L1263 mov w0, 7 strb w0, [x2,73] - b .L1277 -.L1276: + b .L1264 +.L1263: add x0, x23, :lo12:.LANCHOR4 mov w1, 17 strb w1, [x0,73] -.L1277: +.L1264: add x0, x19, :lo12:.LANCHOR0 mov w1, 4 - cbnz w4, .L1315 + cbnz w5, .L1310 mov w1, 5 -.L1315: +.L1310: strb w1, [x0,753] - b .L1267 -.L1274: + b .L1254 +.L1261: cmp w0, 49 - bne .L1267 + bne .L1254 adrp x0, SamsungReadRetrial add x0, x0, :lo12:SamsungReadRetrial str x0, [x2,48] -.L1267: +.L1254: + add x0, x19, :lo12:.LANCHOR0 + ldr w1, [x0,1872] + mov w0, 12336 + movk w0, 0x5638, lsl 16 + cmp w1, w0 + bne .L1266 + cbz w4, .L1266 + strb wzr, [x3,18] +.L1266: ldrh w2, [x3,10] ldrb w1, [x3,12] ldrb w0, [x3,18] @@ -9085,30 +9002,39 @@ FlashInit: add x0, x19, :lo12:.LANCHOR0 ldrb w1, [x0,1620] cmp w1, 44 - bne .L1279 + bne .L1267 ldrb w1, [x0,1864] - cbz w1, .L1279 + cbz w1, .L1267 + ldr w2, [x0,1872] + mov w1, 12336 + movk w1, 0x5638, lsl 16 + cmp w2, w1 + bne .L1268 + ldrb w0, [x0,120] + cbnz w0, .L1267 +.L1268: + add x0, x19, :lo12:.LANCHOR0 strb wzr, [x0,1864] mov w0, 1 bl FlashSetInterfaceMode mov w0, 1 bl NandcSetMode -.L1279: +.L1267: mov w0, 0 bl flash_enter_slc_mode add x1, x19, :lo12:.LANCHOR0 ldrb w0, [x1,1844] tst w0, 6 - beq .L1280 + beq .L1269 ldrb w1, [x1,1864] - cbnz w1, .L1281 - tbnz x0, 0, .L1280 -.L1281: + cbnz w1, .L1270 + tbnz x0, 0, .L1269 +.L1270: add x1, x23, :lo12:.LANCHOR4 mov w0, 0 ldr w1, [x1,64] bl FlashDdrParaScan -.L1280: +.L1269: mov w0, 0 add x20, x19, :lo12:.LANCHOR0 bl flash_exit_slc_mode @@ -9119,23 +9045,23 @@ FlashInit: add x0, x0, :lo12:.LANCHOR2 add x0, x0, 2336 bl FlashReadIdbDataRaw - cbnz w0, .L1282 + cbnz w0, .L1271 add x23, x23, :lo12:.LANCHOR4 ldrb w1, [x20,9] ldrb w0, [x23,72] cmp w1, w0 - bls .L1283 + bls .L1272 strb w0, [x20,9] -.L1283: +.L1272: add x0, x19, :lo12:.LANCHOR0 ldrb w0, [x0,9] cmp w0, 15 - bhi .L1284 -.L1282: + bhi .L1273 +.L1271: add x0, x19, :lo12:.LANCHOR0 mov w1, 16 strb w1, [x0,9] -.L1284: +.L1273: mov w0, 18928 add x19, x19, :lo12:.LANCHOR0 movk w0, 0x2, lsl 16 @@ -9172,7 +9098,7 @@ FlashInit: ldrb w5, [x19,8] strh w2, [x19,190] cmp w5, 1 - bne .L1285 + bne .L1274 lsl w2, w2, 1 mov w5, 16 lsr w4, w4, 1 @@ -9183,15 +9109,15 @@ FlashInit: strh w4, [x19,182] strh w3, [x19,188] strh w2, [x19,194] -.L1285: +.L1274: ldrb w0, [x1,20] bl FlashBchSel bl FlashSuspend mov w0, 0 - b .L1248 -.L1287: + b .L1235 +.L1276: mov w0, -2 -.L1248: +.L1235: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -9218,43 +9144,43 @@ FlashPageProgMsbFFData: ldr x2, [x0,744] ldrb w24, [x2,19] ldrb w2, [x0,120] - cbz w2, .L1317 + cbz w2, .L1312 ldr w2, [x0,1872] mov w0, 12336 movk w0, 0x5638, lsl 16 cmp w2, w0 - beq .L1316 -.L1317: + beq .L1311 +.L1312: sub w0, w24, #5 uxtb w0, w0 cmp w0, 1 - bls .L1319 + bls .L1314 cmp w24, 68 - beq .L1319 + beq .L1314 cmp w24, 35 - beq .L1319 + beq .L1314 sub w0, w24, #17 uxtb w0, w0 cmp w0, 2 - bhi .L1316 -.L1319: + bhi .L1311 +.L1314: mov w27, w1 sub w24, w24, #17 add x23, x23, :lo12:.LANCHOR0 add x26, x23, 24 add x26, x26, x21, sxtw 4 -.L1322: +.L1317: ldr x0, [x23,744] ldrh w0, [x0,10] cmp w0, w22 - bls .L1316 + bls .L1311 adrp x0, .LANCHOR2 add x0, x0, :lo12:.LANCHOR2 add x0, x0, 996 ldrh w1, [x0,w22,sxtw 1] mov w0, 65535 cmp w1, w0 - bne .L1316 + bne .L1311 adrp x25, .LANCHOR4 mov w1, 255 add x19, x25, :lo12:.LANCHOR4 @@ -9263,11 +9189,11 @@ FlashPageProgMsbFFData: bl ftl_memset uxtb w0, w24 cmp w0, 1 - bhi .L1323 + bhi .L1318 adrp x28, .LANCHOR1 add x28, x28, :lo12:.LANCHOR1 ldr w1, [x28,3000] - cbz w1, .L1324 + cbz w1, .L1319 ldrb w20, [x26,8] mov w0, w21 ldr x19, [x26] @@ -9287,7 +9213,7 @@ FlashPageProgMsbFFData: bl NandcFlashDeCs ldr x1, [x29,104] cmp w1, 1 - bne .L1325 + bne .L1320 mov w0, w21 bl NandcFlashCs mov w0, 238 @@ -9299,14 +9225,14 @@ FlashPageProgMsbFFData: mov w0, w21 uxtb w20, w20 bl NandcFlashDeCs - cbnz w20, .L1326 + cbnz w20, .L1321 mov w0, 2 str w0, [x28,3000] - b .L1325 -.L1326: + b .L1320 +.L1321: str wzr, [x28,3000] - b .L1316 -.L1325: + b .L1311 +.L1320: add x25, x25, :lo12:.LANCHOR4 add w1, w22, w27 mov x3, 0 @@ -9326,18 +9252,18 @@ FlashPageProgMsbFFData: str wzr, [x19,2048] str wzr, [x19,2048] bl NandcFlashDeCs - b .L1324 -.L1323: + b .L1319 +.L1318: ldr x2, [x19,80] mov w0, w21 add w1, w22, w27 mov x3, 0 bl FlashProgPage -.L1324: +.L1319: add w22, w22, 1 uxth w22, w22 - b .L1322 -.L1316: + b .L1317 +.L1311: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -9350,54 +9276,51 @@ FlashPageProgMsbFFData: .global FlashReadSlc2KPages .type FlashReadSlc2KPages, %function FlashReadSlc2KPages: - stp x29, x30, [sp, -144]! + stp x29, x30, [sp, -128]! add x29, sp, 0 - stp x21, x22, [sp,32] - adrp x21, __stack_chk_guard - mov w22, 0 stp x25, x26, [sp,64] mov w25, w1 - ldr x1, [x21,#:lo12:__stack_chk_guard] - str x1, [x29,136] adrp x1, .LANCHOR1+481 - stp x19, x20, [sp,16] + stp x21, x22, [sp,32] stp x23, x24, [sp,48] - adrp x20, .LANCHOR0 - adrp x23, .LC93 - adrp x24, .LC95 + adrp x21, .LANCHOR0 + adrp x23, .LC92 + adrp x24, .LC94 ldrb w26, [x1,#:lo12:.LANCHOR1+481] + stp x19, x20, [sp,16] stp x27, x28, [sp,80] mov x19, x0 mov w27, w2 - add x20, x20, :lo12:.LANCHOR0 - add x23, x23, :lo12:.LC93 - add x24, x24, :lo12:.LC95 -.L1338: + mov w22, 0 + add x21, x21, :lo12:.LANCHOR0 + add x23, x23, :lo12:.LC92 + add x24, x24, :lo12:.LC94 +.L1333: cmp w22, w25 - beq .L1373 + beq .L1367 mov w1, w27 sub w4, w25, w22 mov x0, x19 - add x2, x29, 132 - add x3, x29, 128 + add x2, x29, 124 + add x3, x29, 120 bl LogAddr2PhyAddr - ldr w0, [x29,128] + ldr w0, [x29,120] adrp x5, .LANCHOR0 - ldrb w1, [x20,1845] + ldrb w1, [x21,1845] cmp w0, w1 - bcc .L1339 + bcc .L1334 mov w0, -1 str w0, [x19] - b .L1340 -.L1339: - add x0, x20, x0, uxtw + b .L1335 +.L1334: + add x0, x21, x0, uxtw ldrb w28, [x0,1848] - str x5, [x29,104] + str x5, [x29,96] mov w0, w28 bl NandcWaitFlashReady mov w0, w28 bl NandcFlashCs - ldr w1, [x29,132] + ldr w1, [x29,124] mov w0, w28 bl FlashReadCmd mov w0, w28 @@ -9409,10 +9332,10 @@ FlashReadSlc2KPages: mov w0, w28 bl NandcXferData mov w6, w0 - ldr w2, [x20,12] + ldr w2, [x21,12] mov w0, w28 - ldr w1, [x29,132] - str x6, [x29,112] + ldr w1, [x29,124] + str x6, [x29,104] add w1, w2, w1 bl FlashReadCmd ldr x0, [x19,8] @@ -9427,84 +9350,76 @@ FlashReadSlc2KPages: csel x4, x4, xzr, ne mov w0, w28 bl NandcXferData - mov w1, w0 + mov w20, w0 mov w0, w28 - str x1, [x29,120] bl NandcFlashDeCs - ldr x5, [x29,104] - ldr x1, [x29,120] + ldr x5, [x29,96] + ldr x6, [x29,104] add x0, x5, :lo12:.LANCHOR0 - ldr x6, [x29,112] - cmp w1, w6 + cmp w20, w6 + csel w3, w20, w6, cs ldrb w0, [x0,1944] - csel w3, w1, w6, cs add w0, w0, w0, lsl 1 cmp w3, w0, lsr 2 - bls .L1343 + bls .L1338 cmn w3, #1 mov w0, 256 csel w3, w3, w0, eq -.L1343: +.L1338: cmp w3, 256 - beq .L1355 + beq .L1349 cmn w3, #1 - bne .L1344 -.L1355: + bne .L1339 +.L1349: str w3, [x19] - b .L1346 -.L1344: + b .L1341 +.L1339: str wzr, [x19] -.L1346: +.L1341: ldr x0, [x19,16] - cbz x0, .L1347 + cbz x0, .L1342 ldr w1, [x0,8] cmn w1, #1 - bne .L1347 + bne .L1342 ldr w0, [x0] cmn w0, #1 - beq .L1347 + beq .L1342 str w1, [x19] -.L1347: +.L1342: ldr w3, [x19] cmn w3, #1 - bne .L1340 + bne .L1335 add x5, x5, :lo12:.LANCHOR0 ldr w1, [x19,4] mov x0, x23 ldrb w2, [x5,1944] bl printk ldr x1, [x19,8] - cbz x1, .L1349 - adrp x0, .LC94 + cbz x1, .L1344 + adrp x0, .LC93 mov w2, 4 - add x0, x0, :lo12:.LC94 + add x0, x0, :lo12:.LC93 mov w3, 8 bl rknand_print_hex -.L1349: +.L1344: ldr x1, [x19,16] - cbz x1, .L1340 + cbz x1, .L1335 mov w2, 4 mov x0, x24 mov w3, w2 bl rknand_print_hex -.L1340: +.L1335: add w22, w22, 1 add x19, x19, 56 - b .L1338 -.L1373: - ldr x2, [x29,136] + b .L1333 +.L1367: mov w0, 0 - ldr x1, [x21,#:lo12:__stack_chk_guard] - cmp x2, x1 - beq .L1352 - bl __stack_chk_fail -.L1352: 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], 144 + ldp x29, x30, [sp], 128 ret .size FlashReadSlc2KPages, .-FlashReadSlc2KPages .align 2 @@ -9512,66 +9427,62 @@ FlashReadSlc2KPages: .type FlashReadPages, %function FlashReadPages: stp x29, x30, [sp, -176]! - adrp x3, __stack_chk_guard + adrp x3, .LANCHOR1+481 add x29, sp, 0 stp x21, x22, [sp,32] - ldr x4, [x3,#:lo12:__stack_chk_guard] + ldrb w3, [x3,#:lo12:.LANCHOR1+481] adrp x22, .LANCHOR0 - str x4, [x29,168] - adrp x4, .LANCHOR1+481 + str w3, [x29,156] + add x3, x22, :lo12:.LANCHOR0 stp x25, x26, [sp,64] stp x19, x20, [sp,16] - ldrb w4, [x4,#:lo12:.LANCHOR1+481] - mov x25, x0 - str w4, [x29,156] - add x4, x22, :lo12:.LANCHOR0 stp x23, x24, [sp,48] stp x27, x28, [sp,80] str w1, [x29,152] - ldrb w5, [x4,16] - ldrb w23, [x4,8] + mov x25, x0 + ldrb w4, [x3,16] + ldrb w23, [x3,8] str w2, [x29,140] - str w5, [x29,136] - str x3, [x29,128] - cbz w23, .L1411 + str w4, [x29,136] + cbz w23, .L1404 bl FlashReadSlc2KPages - b .L1376 -.L1411: - adrp x0, .LC93 + b .L1450 +.L1404: + adrp x0, .LC92 mov w24, w23 - add x0, x0, :lo12:.LC93 + add x0, x0, :lo12:.LC92 + str x0, [x29,128] + adrp x0, .LC94 + add x0, x0, :lo12:.LC94 str x0, [x29,120] adrp x0, .LC95 add x0, x0, :lo12:.LC95 str x0, [x29,112] - adrp x0, .LC96 - add x0, x0, :lo12:.LC96 - str x0, [x29,104] -.L1375: +.L1369: ldr w0, [x29,152] cmp w24, w0 - bcs .L1459 + bcs .L1452 mov w27, 56 ldr w0, [x29,152] ldr w1, [x29,140] - add x2, x29, 164 + add x2, x29, 172 umull x27, w24, w27 sub w4, w0, w24 - add x3, x29, 160 + add x3, x29, 168 add x21, x25, x27 mov x0, x21 ldr w28, [x21,4] bl LogAddr2PhyAddr add x2, x22, :lo12:.LANCHOR0 mov w19, w0 - ldr w0, [x29,160] + ldr w0, [x29,168] ldrb w1, [x2,1845] cmp w0, w1 - bcc .L1377 + bcc .L1371 mov w0, -1 str w0, [x25,x27] - b .L1378 -.L1377: + b .L1372 +.L1371: add x0, x2, x0, uxtw adrp x26, .LANCHOR4 ldrb w20, [x0,1848] @@ -9588,7 +9499,7 @@ FlashReadPages: sub w0, w0, #1 uxtb w0, w0 cmp w0, 5 - bhi .L1380 + bhi .L1374 sxtw x0, w20 add x1, x2, 760 add x3, x1, x0 @@ -9596,12 +9507,12 @@ FlashReadPages: ldrb w3, [x3,12] ldrb w0, [x0,1616] cmp w0, w3 - beq .L1380 + beq .L1374 ldrb w1, [x2,761] mov w0, w20 add x2, x2, 764 bl HynixSetRRPara -.L1380: +.L1374: mov w0, w20 bl NandcFlashCs ldr w0, [x29,140] @@ -9609,34 +9520,34 @@ FlashReadPages: cset w0, eq orr w0, w0, w28, lsr 31 str w0, [x29,144] - cbz w0, .L1387 + cbz w0, .L1381 add x0, x22, :lo12:.LANCHOR0 ldrb w0, [x0,120] - cbz w0, .L1387 + cbz w0, .L1381 mov w0, w20 bl flash_enter_slc_mode -.L1387: +.L1381: cmp w20, 255 - ldr w1, [x29,164] - bne .L1416 + ldr w1, [x29,172] + bne .L1409 cmn w1, #1 cset w0, ne - cbz w0, .L1412 -.L1416: - cbz w19, .L1384 + cbz w0, .L1405 +.L1409: + cbz w19, .L1378 add x0, x22, :lo12:.LANCHOR0 ldr w2, [x0,12] mov w0, w20 add w2, w1, w2 bl FlashReadDpCmd - b .L1385 -.L1384: + b .L1379 +.L1378: mov w0, w20 bl FlashReadCmd - b .L1385 -.L1412: + b .L1379 +.L1405: mov w19, w0 -.L1382: +.L1376: ldrb w2, [x29,156] mov w0, w20 ldr x3, [x21,8] @@ -9645,17 +9556,17 @@ FlashReadPages: bl NandcXferData cmn w0, #1 mov w28, w0 - bne .L1386 + bne .L1380 add x0, x22, :lo12:.LANCHOR0 ldrb w1, [x0,16] - cbz w1, .L1386 + cbz w1, .L1380 strb wzr, [x0,16] mov w19, 0 - b .L1387 -.L1386: - cbz w19, .L1388 + b .L1381 +.L1380: + cbz w19, .L1382 add x0, x22, :lo12:.LANCHOR0 - ldr w1, [x29,164] + ldr w1, [x29,172] ldr w2, [x0,12] mov w0, w20 add w1, w2, w1 @@ -9673,46 +9584,46 @@ FlashReadPages: cmn w0, #1 mov w23, w0 csel w19, w19, wzr, ne -.L1388: +.L1382: mov w0, w20 bl NandcFlashDeCs add x6, x22, :lo12:.LANCHOR0 ldrb w0, [x29,136] cmn w28, #1 strb w0, [x6,16] - bne .L1395 + bne .L1389 ldrb w0, [x6,1864] - cbnz w0, .L1390 -.L1394: + cbnz w0, .L1384 +.L1388: add x0, x26, :lo12:.LANCHOR4 ldr x19, [x0,48] - cbnz x19, .L1391 - b .L1460 -.L1390: + cbnz x19, .L1385 + b .L1453 +.L1384: ldr x0, [x6,128] mov w4, 1 - ldr w1, [x29,164] + ldr w1, [x29,172] ldr x2, [x21,8] ldr x3, [x21,16] ldr w19, [x0,304] mov w0, w20 - str x6, [x29,96] + str x6, [x29,104] bl FlashDdrTunningRead cmn w0, #1 mov w28, w0 - beq .L1393 - ldr x6, [x29,96] + beq .L1387 + ldr x6, [x29,104] ldrb w0, [x6,1944] cmp w28, w0, lsr 1 - bls .L1414 -.L1393: + bls .L1407 +.L1387: lsr w0, w19, 8 bl NandcSetDdrPara cmn w28, #1 - beq .L1394 - b .L1414 -.L1391: - ldr w1, [x29,164] + beq .L1388 + b .L1407 +.L1385: + ldr w1, [x29,172] mov w0, w20 ldr x2, [x21,8] ldr x3, [x21,16] @@ -9720,21 +9631,21 @@ FlashReadPages: cmn w0, #1 mov w28, w0 mov w19, 0 - bne .L1396 + bne .L1390 add x2, x22, :lo12:.LANCHOR0 ldr x0, [x2,744] ldrb w0, [x0,19] sub w0, w0, #1 uxtb w0, w0 cmp w0, 5 - bhi .L1397 + bhi .L1391 ldrb w1, [x2,761] mov w0, w20 add x2, x2, 764 mov w3, w19 bl HynixSetRRPara -.L1397: - ldr w1, [x29,164] +.L1391: + ldr w1, [x29,172] mov w0, w20 ldr x2, [x21,8] mov w19, 0 @@ -9742,113 +9653,107 @@ FlashReadPages: bl FlashReadRawPage mov w28, w0 add x2, x22, :lo12:.LANCHOR0 - ldr x0, [x29,104] + ldr x0, [x29,112] ldr w1, [x21,4] mov w3, w28 ldrb w2, [x2,1944] bl printk - b .L1396 -.L1460: - ldr w1, [x29,164] + b .L1390 +.L1453: + ldr w1, [x29,172] mov w0, w20 ldr x2, [x21,8] ldr x3, [x21,16] bl FlashReadRawPage mov w28, w0 - b .L1396 -.L1414: + b .L1390 +.L1407: mov w19, 0 -.L1395: +.L1389: add x0, x22, :lo12:.LANCHOR0 ldrb w0, [x0,1944] add w0, w0, w0, lsl 1 cmp w28, w0, lsr 2 - bls .L1396 + bls .L1390 add x0, x26, :lo12:.LANCHOR4 ldr x0, [x0,48] cmp x0, xzr mov w0, 256 csel w28, w28, w0, ne -.L1396: +.L1390: cmp w28, 256 - beq .L1417 + beq .L1410 cmn w28, #1 - bne .L1398 -.L1417: + bne .L1392 +.L1410: str w28, [x25,x27] - b .L1400 -.L1398: + b .L1394 +.L1392: str wzr, [x25,x27] -.L1400: +.L1394: ldr w3, [x25,x27] cmn w3, #1 - bne .L1402 + bne .L1396 add x2, x22, :lo12:.LANCHOR0 ldr w1, [x21,4] - ldr x0, [x29,120] + ldr x0, [x29,128] ldrb w2, [x2,1944] bl printk ldr x1, [x21,16] - cbz x1, .L1402 + cbz x1, .L1396 mov w2, 4 - ldr x0, [x29,112] + ldr x0, [x29,120] mov w3, w2 bl rknand_print_hex -.L1402: - cbz w19, .L1404 +.L1396: + cbz w19, .L1398 add x0, x22, :lo12:.LANCHOR0 ldrb w0, [x0,1944] add w0, w0, w0, lsl 1 cmp w23, w0, lsr 2 - bls .L1405 + bls .L1399 add x26, x26, :lo12:.LANCHOR4 ldr x0, [x26,48] cmp x0, xzr mov w0, 256 csel w23, w23, w0, ne -.L1405: +.L1399: add w0, w24, 1 mov w1, 56 cmp w23, 256 umull x0, w0, w1 - beq .L1418 + beq .L1411 cmn w23, #1 - bne .L1406 -.L1418: + bne .L1400 +.L1411: str w23, [x25,x0] - b .L1404 -.L1406: + b .L1398 +.L1400: str wzr, [x25,x0] -.L1404: +.L1398: ldr w0, [x29,144] add w24, w24, w19 - cbz w0, .L1378 + cbz w0, .L1372 add x0, x22, :lo12:.LANCHOR0 ldrb w0, [x0,120] - cbz w0, .L1378 + cbz w0, .L1372 mov w0, w20 bl flash_exit_slc_mode -.L1378: +.L1372: add w24, w24, 1 - b .L1375 -.L1459: + b .L1369 +.L1452: mov w0, 0 -.L1376: - ldr x1, [x29,128] - ldr x2, [x29,168] - ldr x1, [x1,#:lo12:__stack_chk_guard] - cmp x2, x1 - beq .L1410 - bl __stack_chk_fail -.L1385: + b .L1450 +.L1379: mov w0, w20 bl NandcWaitFlashReady - cbz w19, .L1382 - ldr w1, [x29,164] + cbz w19, .L1376 + ldr w1, [x29,172] mov w0, w20 bl FlashReadDpDataOutCmd - b .L1382 -.L1410: + b .L1376 +.L1450: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -9864,101 +9769,88 @@ FlashLoadFactorBbt: stp x29, x30, [sp, -192]! mov w2, 16 add x29, sp, 0 - stp x23, x24, [sp,48] - adrp x23, __stack_chk_guard - adrp x24, .LANCHOR4 stp x21, x22, [sp,32] adrp x22, .LANCHOR0 - ldr x0, [x23,#:lo12:__stack_chk_guard] - str x0, [x29,184] add x0, x22, :lo12:.LANCHOR0 stp x25, x26, [sp,64] - stp x19, x20, [sp,16] stp x27, x28, [sp,80] - add x19, x24, :lo12:.LANCHOR4 + stp x19, x20, [sp,16] + stp x23, x24, [sp,48] + adrp x23, .LANCHOR4 mov w27, -1 ldrh w1, [x0,180] - adrp x26, .LC97 + add x19, x23, :lo12:.LANCHOR4 ldrh w21, [x0,182] add x0, x19, 120 - add x26, x26, :lo12:.LC97 + mov w28, 0 + adrp x26, .LC96 + add x26, x26, :lo12:.LC96 mul w21, w1, w21 mov w1, 0 uxth w21, w21 bl ftl_memset add w25, w21, w27 ldr x0, [x19,88] - mov w3, 0 - str x0, [x29,144] - str xzr, [x29,136] + str x0, [x29,152] + mov w19, w28 sub w0, w21, #8 - mov w19, w3 + str xzr, [x29,144] uxth w25, w25 str w0, [x29,124] -.L1462: +.L1455: add x1, x22, :lo12:.LANCHOR0 ldrb w1, [x1,1845] cmp w1, w19 - bls .L1473 - mul w5, w19, w21 + bls .L1465 + mul w3, w19, w21 mov w20, w25 - mov w6, 61664 -.L1463: + mov w4, 61664 +.L1456: ldr w0, [x29,124] cmp w20, w0 - ble .L1465 - add w1, w5, w20 - add x0, x29, 128 + ble .L1458 + add w1, w3, w20 + add x0, x29, 136 lsl w1, w1, 10 - str w1, [x29,132] + str w1, [x29,140] mov w1, 1 - str x6, [x29,96] + str x4, [x29,104] mov w2, w1 - str x3, [x29,104] - str x5, [x29,112] + str x3, [x29,112] bl FlashReadPages - ldr w0, [x29,128] - ldr x5, [x29,112] + ldr w0, [x29,136] + ldr x3, [x29,112] cmn w0, #1 - ldr x3, [x29,104] - ldr x6, [x29,96] - beq .L1464 - add x28, x24, :lo12:.LANCHOR4 - ldr x0, [x28,88] + ldr x4, [x29,104] + beq .L1457 + add x24, x23, :lo12:.LANCHOR4 + ldr x0, [x24,88] ldrh w0, [x0] - cmp w0, w6 - bne .L1464 + cmp w0, w4 + bne .L1457 + add x24, x24, 120 mov x0, x26 mov w1, w19 mov w2, w20 - str x3, [x29,112] - add x28, x28, 120 + add w28, w28, 1 bl printk - ldr x3, [x29,112] - strh w20, [x28,w19,sxtw 1] - add w3, w3, 1 - uxth w3, w3 - b .L1465 -.L1464: + strh w20, [x24,w19,sxtw 1] + uxth w28, w28 + b .L1458 +.L1457: sub w20, w20, #1 uxth w20, w20 - b .L1463 -.L1465: - add x0, x22, :lo12:.LANCHOR0 + b .L1456 +.L1458: + add x1, x22, :lo12:.LANCHOR0 add w19, w19, 1 uxtb w19, w19 - ldrb w0, [x0,1845] - cmp w0, w3 + ldrb w1, [x1,1845] + cmp w1, w28 csel w27, w27, wzr, ne - b .L1462 -.L1473: - ldr x2, [x29,184] + b .L1455 +.L1465: mov w0, w27 - ldr x1, [x23,#:lo12:__stack_chk_guard] - cmp x2, x1 - beq .L1469 - bl __stack_chk_fail -.L1469: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -9971,79 +9863,76 @@ FlashLoadFactorBbt: .global FlashProgSlc2KPages .type FlashProgSlc2KPages, %function FlashProgSlc2KPages: - stp x29, x30, [sp, -192]! + stp x29, x30, [sp, -160]! add x29, sp, 0 - stp x21, x22, [sp,32] - adrp x22, __stack_chk_guard - adrp x21, .LANCHOR0 stp x23, x24, [sp,48] mov w23, w1 - str w3, [x29,108] - ldr x1, [x22,#:lo12:__stack_chk_guard] - mov w24, 0 - str x1, [x29,184] adrp x1, .LANCHOR1+481 + stp x21, x22, [sp,32] stp x25, x26, [sp,64] - stp x27, x28, [sp,80] + adrp x22, .LANCHOR0 ldrb w26, [x1,#:lo12:.LANCHOR1+481] - mov w25, w2 + stp x27, x28, [sp,80] stp x19, x20, [sp,16] - mov x28, x0 + mov w24, w2 + mov w27, w3 mov x19, x0 - add x21, x21, :lo12:.LANCHOR0 - mov w27, -1 -.L1475: - cmp w24, w23 - beq .L1505 - mov w1, w25 - sub w4, w23, w24 - mov x0, x28 - add x2, x29, 120 - add x3, x29, 124 + mov x21, x0 + mov w25, 0 + add x22, x22, :lo12:.LANCHOR0 + mov w28, -1 +.L1467: + cmp w25, w23 + beq .L1496 + mov w1, w24 + sub w4, w23, w25 + mov x0, x21 + add x2, x29, 96 + add x3, x29, 100 bl LogAddr2PhyAddr - ldr w0, [x29,124] - ldrb w1, [x21,1845] + ldr w0, [x29,100] + ldrb w1, [x22,1845] cmp w0, w1 - bcc .L1476 - str w27, [x28] - b .L1477 -.L1476: - add x0, x21, x0, uxtw + bcc .L1468 + str w28, [x21] + b .L1469 +.L1468: + add x0, x22, x0, uxtw ldrb w20, [x0,1848] mov w0, w20 bl NandcWaitFlashReady mov w0, w20 bl NandcFlashCs - ldr w1, [x29,120] + ldr w1, [x29,96] mov w0, w20 bl FlashProgFirstCmd - ldr x3, [x28,8] + ldr x3, [x21,8] mov w2, w26 - ldr x4, [x28,16] + ldr x4, [x21,16] mov w1, 1 mov w0, w20 bl NandcXferData - ldr w1, [x29,120] + ldr w1, [x29,96] mov w0, w20 bl FlashProgSecondCmd mov w0, w20 bl NandcWaitFlashReady - ldr w1, [x29,120] + ldr w1, [x29,96] mov w0, w20 bl FlashReadStatus sbfx x0, x0, 0, 1 - str w0, [x28] + str w0, [x21] mov w0, w20 - ldr w1, [x29,120] - ldr w2, [x21,12] + ldr w1, [x29,96] + ldr w2, [x22,12] add w1, w2, w1 bl FlashProgFirstCmd - ldr x0, [x28,8] + ldr x0, [x21,8] mov w1, 1 mov w2, w26 cmp x0, xzr add x3, x0, 2048 - ldr x0, [x28,16] + ldr x0, [x21,16] csel x3, x3, xzr, ne add x4, x0, 8 cmp x0, xzr @@ -10051,7 +9940,7 @@ FlashProgSlc2KPages: mov w0, w20 bl NandcXferData adrp x0, .LANCHOR0 - ldr w1, [x29,120] + ldr w1, [x29,96] add x0, x0, :lo12:.LANCHOR0 ldr w2, [x0,12] mov w0, w20 @@ -10059,118 +9948,110 @@ FlashProgSlc2KPages: bl FlashProgSecondCmd mov w0, w20 bl NandcWaitFlashReady - ldr w1, [x29,120] + ldr w1, [x29,96] mov w0, w20 bl FlashReadStatus - tbz x0, 0, .L1480 - str w27, [x28] -.L1480: + tbz x0, 0, .L1472 + str w28, [x21] +.L1472: mov w0, w20 bl NandcFlashDeCs -.L1477: - add w24, w24, 1 - add x28, x28, 56 - b .L1475 -.L1505: - ldr w0, [x29,108] +.L1469: + add w25, w25, 1 + add x21, x21, 56 + b .L1467 +.L1496: mov w21, 0 - cbnz w0, .L1482 -.L1489: - ldr x2, [x29,184] - mov w0, 0 - ldr x1, [x22,#:lo12:__stack_chk_guard] - cmp x2, x1 - beq .L1490 - bl __stack_chk_fail -.L1482: - adrp x24, .LC101 - adrp x26, .LC100 - adrp x27, .LC99 - add x24, x24, :lo12:.LC101 - add x26, x26, :lo12:.LC100 - add x27, x27, :lo12:.LC99 -.L1504: + cbz w27, .L1494 + adrp x25, .LC100 + adrp x26, .LC99 + adrp x27, .LC98 + add x25, x25, :lo12:.LC100 + add x26, x26, :lo12:.LC99 + add x27, x27, :lo12:.LC98 +.L1495: cmp w21, w23 - beq .L1489 + beq .L1494 ldr w0, [x19] cmn w0, #1 - bne .L1483 - adrp x0, .LC98 + bne .L1475 + adrp x0, .LC97 ldr w1, [x19,4] - add x0, x0, :lo12:.LC98 + add x0, x0, :lo12:.LC97 bl printk - b .L1484 -.L1483: + b .L1476 +.L1475: adrp x20, .LANCHOR4 sub w4, w23, w21 - add x28, x20, :lo12:.LANCHOR4 - add x3, x29, 124 - mov w1, w25 - add x2, x29, 120 + add x22, x20, :lo12:.LANCHOR4 + add x3, x29, 100 + mov w1, w24 + add x2, x29, 96 mov x0, x19 bl LogAddr2PhyAddr - ldr x0, [x28,96] + ldr x0, [x22,96] mov x1, x19 mov x2, 56 str wzr, [x0] - ldr x0, [x28,104] + ldr x0, [x22,104] str wzr, [x0] - add x0, x29, 128 + add x0, x29, 104 bl memcpy - ldr x0, [x28,96] + ldr x0, [x22,96] mov w1, 1 - str x0, [x29,136] - mov w2, w25 - ldr x0, [x28,104] - str x0, [x29,144] - add x0, x29, 128 + str x0, [x29,112] + mov w2, w24 + ldr x0, [x22,104] + str x0, [x29,120] + add x0, x29, 104 bl FlashReadPages - ldr w28, [x29,128] - cmn w28, #1 - bne .L1485 + ldr w22, [x29,104] + cmn w22, #1 + bne .L1477 ldr w1, [x19,4] mov x0, x27 bl printk - str w28, [x19] -.L1485: + str w22, [x19] +.L1477: ldr x0, [x19,16] - cbz x0, .L1486 + cbz x0, .L1478 ldr w2, [x0] add x0, x20, :lo12:.LANCHOR4 ldr x0, [x0,104] ldr w3, [x0] cmp w2, w3 - beq .L1486 + beq .L1478 ldr w1, [x19,4] mov x0, x26 bl printk mov w0, -1 str w0, [x19] -.L1486: +.L1478: ldr x0, [x19,8] - cbz x0, .L1484 + cbz x0, .L1476 add x20, x20, :lo12:.LANCHOR4 ldr w2, [x0] ldr x0, [x20,96] ldr w3, [x0] cmp w2, w3 - beq .L1484 + beq .L1476 ldr w1, [x19,4] - mov x0, x24 + mov x0, x25 bl printk mov w0, -1 str w0, [x19] -.L1484: +.L1476: add w21, w21, 1 add x19, x19, 56 - b .L1504 -.L1490: + b .L1495 +.L1494: + 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], 192 + ldp x29, x30, [sp], 160 ret .size FlashProgSlc2KPages, .-FlashProgSlc2KPages .align 2 @@ -10198,21 +10079,21 @@ FtlLoadFactoryBbt: str x24, [x19,16] mov w25, -1 mov w26, 61664 -.L1507: +.L1498: add x0, x22, :lo12:.LANCHOR0 ldrh w1, [x0,1974] cmp w23, w1 - bcs .L1516 + bcs .L1507 ldrh w20, [x0,2022] strh w25, [x21,12] -.L1509: +.L1500: add x0, x22, :lo12:.LANCHOR0 sub w20, w20, #1 uxth w20, w20 ldrh w0, [x0,2022] sub w1, w0, #16 cmp w20, w1 - ble .L1510 + ble .L1501 madd w0, w23, w0, w20 mov w1, 1 lsl w0, w0, 10 @@ -10222,16 +10103,16 @@ FtlLoadFactoryBbt: bl FlashReadPages ldr w0, [x19] cmn w0, #1 - beq .L1509 + beq .L1500 ldrh w0, [x24] cmp w0, w26 - bne .L1509 + bne .L1500 strh w20, [x21,12] -.L1510: +.L1501: add w23, w23, 1 add x21, x21, 2 - b .L1507 -.L1516: + b .L1498 +.L1507: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -10245,81 +10126,72 @@ FtlLoadFactoryBbt: .type FtlGetLastWrittenPage, %function FtlGetLastWrittenPage: stp x29, x30, [sp, -208]! + cmp w1, 1 adrp x3, .LANCHOR0 add x29, sp, 0 - stp x21, x22, [sp,32] - adrp x21, __stack_chk_guard - add x3, x3, :lo12:.LANCHOR0 stp x23, x24, [sp,48] - mov w24, w1 - ldr x1, [x21,#:lo12:__stack_chk_guard] - cmp w24, 1 stp x19, x20, [sp,16] - stp x25, x26, [sp,64] - str x1, [x29,200] - bne .L1518 + stp x21, x22, [sp,32] + str x25, [sp,64] + mov w23, w1 + add x3, x3, :lo12:.LANCHOR0 + bne .L1509 ldrh w19, [x3,2028] - b .L1519 -.L1518: + b .L1510 +.L1509: ldrh w19, [x3,2026] -.L1519: +.L1510: sub w19, w19, #1 - lsl w22, w0, 10 + lsl w21, w0, 10 mov w1, 1 - mov w2, w24 + mov w2, w23 sxth w19, w19 - str xzr, [x29,88] - orr w0, w19, w22 - str w0, [x29,84] - add x0, x29, 80 - add x25, x29, 136 - str x25, [x29,96] + str xzr, [x29,96] + orr w0, w19, w21 + str w0, [x29,92] + add x0, x29, 88 + add x24, x29, 144 + str x24, [x29,104] bl FlashReadPages - ldr w0, [x29,136] + ldr w0, [x29,144] cmn w0, #1 - bne .L1520 - mov w23, 0 - mov w26, 2 -.L1521: - cmp w23, w19 - bgt .L1520 - add w3, w23, w19 + bne .L1511 + mov w22, 0 + mov w25, 2 +.L1512: + cmp w22, w19 + bgt .L1511 + add w3, w22, w19 mov w1, 1 - mov w2, w24 - sdiv w20, w3, w26 + mov w2, w23 + sdiv w20, w3, w25 sxth w0, w20 - orr w0, w0, w22 - str w0, [x29,84] - add x0, x29, 80 + orr w0, w0, w21 + str w0, [x29,92] + add x0, x29, 88 bl FlashReadPages - ldr w0, [x25] + ldr w0, [x24] cmn w0, #1 - bne .L1522 - ldr w0, [x25,4] + bne .L1513 + ldr w0, [x24,4] cmn w0, #1 - bne .L1522 - ldr w0, [x29,80] + bne .L1513 + ldr w0, [x29,88] cmn w0, #1 - beq .L1522 + beq .L1513 sub w19, w20, #1 sxth w19, w19 - b .L1521 -.L1522: + b .L1512 +.L1513: add w20, w20, 1 - sxth w23, w20 - b .L1521 -.L1520: - ldr x2, [x29,200] + sxth w22, w20 + b .L1512 +.L1511: mov w0, w19 - ldr x1, [x21,#:lo12:__stack_chk_guard] - cmp x2, x1 - beq .L1525 - bl __stack_chk_fail -.L1525: + ldr x25, [sp,64] ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] - ldp x25, x26, [sp,64] ldp x29, x30, [sp], 208 ret .size FtlGetLastWrittenPage, .-FtlGetLastWrittenPage @@ -10348,12 +10220,12 @@ FtlLoadBbt: ldrh w21, [x0,2022] sub w21, w21, #1 uxth w21, w21 -.L1530: +.L1520: add x0, x20, :lo12:.LANCHOR0 ldrh w0, [x0,2022] sub w0, w0, #48 cmp w21, w0 - ble .L1533 + ble .L1523 lsl w0, w21, 10 mov w1, 1 str w0, [x19,4] @@ -10362,7 +10234,7 @@ FtlLoadBbt: bl FlashReadPages ldr w0, [x19] cmn w0, #1 - bne .L1531 + bne .L1521 ldr w0, [x19,4] mov w1, 1 mov w2, w1 @@ -10370,13 +10242,13 @@ FtlLoadBbt: str w0, [x19,4] mov x0, x19 bl FlashReadPages -.L1531: +.L1521: ldr w0, [x19] cmn w0, #1 - beq .L1532 + beq .L1522 ldrh w0, [x22] cmp w0, w25 - bne .L1532 + bne .L1522 add x1, x20, :lo12:.LANCHOR0 add x0, x1, 2112 strh w21, [x1,2112] @@ -10384,21 +10256,21 @@ FtlLoadBbt: str w1, [x0,8] ldrh w1, [x22,8] strh w1, [x0,4] - b .L1533 -.L1532: + b .L1523 +.L1522: sub w21, w21, #1 uxth w21, w21 - b .L1530 -.L1533: + b .L1520 +.L1523: add x21, x20, :lo12:.LANCHOR0 mov w2, 65535 mov w0, -1 ldrh w1, [x21,2112] cmp w1, w2 - beq .L1535 + beq .L1525 ldrh w1, [x21,2116] cmp w1, w2 - beq .L1537 + beq .L1527 add x25, x23, :lo12:.LANCHOR4 lsl w1, w1, 10 add x0, x25, 136 @@ -10408,21 +10280,21 @@ FtlLoadBbt: bl FlashReadPages ldr w0, [x25,136] cmn w0, #1 - beq .L1537 + beq .L1527 ldrh w1, [x22] mov w0, 61649 cmp w1, w0 - bne .L1537 + bne .L1527 ldr w0, [x22,4] ldr w1, [x21,2120] cmp w0, w1 - bls .L1537 + bls .L1527 str w0, [x21,2120] ldrh w1, [x21,2116] ldrh w0, [x22,8] strh w1, [x21,2112] strh w0, [x21,2116] -.L1537: +.L1527: add x25, x20, :lo12:.LANCHOR0 mov w1, 1 add x21, x23, :lo12:.LANCHOR4 @@ -10432,8 +10304,8 @@ FtlLoadBbt: sxth w19, w0 add w0, w0, 1 strh w0, [x25,2114] -.L1539: - tbnz w19, #31, .L1544 +.L1529: + tbnz w19, #31, .L1534 ldrh w0, [x25,2112] mov w1, 1 mov w2, w1 @@ -10446,42 +10318,42 @@ FtlLoadBbt: bl FlashReadPages ldr w0, [x21] cmn w0, #1 - beq .L1540 -.L1544: + beq .L1530 +.L1534: add x1, x20, :lo12:.LANCHOR0 ldrh w0, [x22,10] mov w2, 65535 strh w0, [x1,2118] ldrh w0, [x22,12] cmp w0, w2 - bne .L1541 - b .L1542 -.L1540: + bne .L1531 + b .L1532 +.L1530: sub w19, w19, #1 sxth w19, w19 - b .L1539 -.L1541: + b .L1529 +.L1531: ldr w2, [x1,1948] cmp w0, w2 - beq .L1542 + beq .L1532 ldrh w1, [x1,1962] lsr w1, w1, 2 cmp w0, w1 - bcs .L1542 + bcs .L1532 cmp w2, w1 - bcs .L1542 + bcs .L1532 bl FtlSysBlkNumInit -.L1542: +.L1532: add x20, x20, :lo12:.LANCHOR0 mov x19, 0 add x21, x20, 2112 add x23, x23, :lo12:.LANCHOR4 -.L1545: +.L1535: ldrh w0, [x20,1974] mov w1, w19 add x19, x19, 1 cmp w1, w0 - bcs .L1560 + bcs .L1550 add x0, x24, :lo12:.LANCHOR2 ldr x3, [x23,144] ldrh w2, [x0,2232] @@ -10491,10 +10363,10 @@ FtlLoadBbt: lsl w2, w2, 2 add x1, x3, x1, lsl 2 bl ftl_memcpy - b .L1545 -.L1560: + b .L1535 +.L1550: mov w0, 0 -.L1535: +.L1525: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -10517,7 +10389,7 @@ load_l2p_region: ubfiz x0, x21, 2, 16 ldr x2, [x20,2208] ldr w22, [x2,x0] - cbnz w22, .L1562 + cbnz w22, .L1552 ldr x0, [x20,144] lsl x19, x1, 4 adrp x2, .LANCHOR0+2036 @@ -10531,8 +10403,8 @@ load_l2p_region: ldr x1, [x20,144] add x19, x1, x19 str w22, [x19,4] - b .L1563 -.L1562: + b .L1553 +.L1552: lsl x19, x1, 4 ldr x1, [x20,144] adrp x0, .LANCHOR4 @@ -10552,7 +10424,7 @@ load_l2p_region: str wzr, [x0,4] ldr x0, [x20,144] strh w21, [x0,x19] -.L1563: +.L1553: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -10565,84 +10437,73 @@ load_l2p_region: FtlVendorPartRead: stp x29, x30, [sp, -176]! add x29, sp, 0 - stp x23, x24, [sp,48] - adrp x23, __stack_chk_guard - mov x24, x2 - stp x21, x22, [sp,32] stp x25, x26, [sp,64] - mov w22, w0 adrp x25, .LANCHOR0 - ldr x0, [x23,#:lo12:__stack_chk_guard] - mov w21, w1 - str x0, [x29,168] + stp x21, x22, [sp,32] + mov w22, w0 add x0, x25, :lo12:.LANCHOR0 stp x19, x20, [sp,16] + stp x23, x24, [sp,48] stp x27, x28, [sp,80] + mov w21, w1 add w1, w22, w1 - str x23, [x29,104] - ldrh w3, [x0,2034] - mov w20, -1 + ldrh w28, [x0,2034] + mov x24, x2 ldrh w0, [x0,2020] + mov w20, -1 cmp w1, w0 - bhi .L1565 - lsr w23, w22, w3 + bhi .L1555 + lsr w28, w22, w28 mov w20, 0 adrp x26, .LANCHOR2 -.L1566: - cbz w21, .L1565 - add x4, x26, :lo12:.LANCHOR2 - ldr x0, [x4,2200] - ldr w1, [x0,w23,uxtw 2] +.L1556: + cbz w21, .L1555 + add x3, x26, :lo12:.LANCHOR2 + ldr x0, [x3,2200] + ldr w1, [x0,w28,uxtw 2] add x0, x25, :lo12:.LANCHOR0 ldrh w19, [x0,2032] uxth w0, w21 - udiv w27, w22, w19 - msub w27, w27, w19, w22 - sub w19, w19, w27 + udiv w23, w22, w19 + msub w23, w23, w19, w22 + sub w19, w19, w23 uxth w19, w19 cmp w19, w21 csel w19, w0, w19, hi - lsl w28, w19, 9 - cbz w1, .L1568 - ldr x0, [x4,2080] - ubfiz x27, x27, 9, 16 - str w1, [x29,116] + lsl w27, w19, 9 + cbz w1, .L1558 + ldr x0, [x3,2080] + ubfiz x23, x23, 9, 16 + str w1, [x29,124] mov w1, 1 - str x0, [x29,120] + str x0, [x29,128] mov w2, w1 - add x0, x29, 112 - str x4, [x29,96] - str xzr, [x29,128] + add x0, x29, 120 + str x3, [x29,104] + str xzr, [x29,136] bl FlashReadPages - ldr x4, [x29,96] - mov w2, w28 - ldr w0, [x29,112] - ldr x1, [x4,2080] + ldr x3, [x29,104] + mov w2, w27 + ldr w0, [x29,120] + ldr x1, [x3,2080] cmn w0, #1 mov x0, x24 csinv w20, w20, wzr, ne - add x1, x1, x27 + add x1, x1, x23 bl ftl_memcpy - b .L1570 -.L1568: + b .L1560 +.L1558: mov x0, x24 - mov w2, w28 + mov w2, w27 bl ftl_memset -.L1570: - add w23, w23, 1 +.L1560: + add w28, w28, 1 sub w21, w21, w19 add w22, w22, w19 - add x24, x24, x28, sxtw - b .L1566 -.L1565: - ldr x1, [x29,104] + add x24, x24, x27, sxtw + b .L1556 +.L1555: mov w0, w20 - ldr x2, [x29,168] - ldr x1, [x1,#:lo12:__stack_chk_guard] - cmp x2, x1 - beq .L1572 - bl __stack_chk_fail -.L1572: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -10669,18 +10530,18 @@ FtlLoadEctTbl: mov w0, 17221 movk w0, 0x4254, lsl 16 cmp w1, w0 - beq .L1575 - adrp x0, .LC73 - adrp x1, .LC102 - add x1, x1, :lo12:.LC102 - add x0, x0, :lo12:.LC73 + beq .L1564 + adrp x0, .LC72 + adrp x1, .LC101 + add x1, x1, :lo12:.LC101 + add x0, x0, :lo12:.LC72 bl printk ldrh w2, [x19,2136] mov w1, 0 ldr x0, [x19,2152] lsl w2, w2, 9 bl ftl_memset -.L1575: +.L1564: mov w0, 0 ldr x19, [sp,16] ldp x29, x30, [sp], 32 @@ -10705,7 +10566,7 @@ Ftl_load_ext_data: mov w0, 19539 movk w0, 0x4654, lsl 16 cmp w1, w0 - beq .L1577 + beq .L1566 mov x0, x21 mov w1, 0 mov w2, 512 @@ -10713,13 +10574,13 @@ Ftl_load_ext_data: mov w0, 19539 movk w0, 0x4654, lsl 16 str w0, [x20,352] -.L1577: +.L1566: add x0, x19, :lo12:.LANCHOR2 mov w2, 19539 movk w2, 0x4654, lsl 16 ldr w3, [x0,352] cmp w3, w2 - bne .L1578 + bne .L1567 ldr w2, [x0,440] str w2, [x0,188] ldr w2, [x0,444] @@ -10746,22 +10607,22 @@ Ftl_load_ext_data: ldr w2, [x0,400] str w2, [x0,220] str w1, [x0,344] -.L1578: +.L1567: add x0, x19, :lo12:.LANCHOR2 mov w1, 34661 movk w1, 0x1234, lsl 16 ldr w2, [x0,420] str wzr, [x0,2024] cmp w2, w1 - bne .L1579 + bne .L1568 mov w1, 1 str w1, [x0,160] - adrp x0, .LC73 - adrp x1, .LC103 - add x0, x0, :lo12:.LC73 - add x1, x1, :lo12:.LC103 + adrp x0, .LC72 + adrp x1, .LC102 + add x0, x0, :lo12:.LC72 + add x1, x1, :lo12:.LC102 bl printk -.L1579: +.L1568: adrp x2, .LANCHOR0 add x19, x19, :lo12:.LANCHOR2 add x2, x2, :lo12:.LANCHOR0 @@ -10846,19 +10707,19 @@ FtlScanSysBlk: mov w2, 12 bl ftl_memset ldrh w21, [x20,1960] -.L1582: +.L1571: add x1, x19, :lo12:.LANCHOR0 ldrh w0, [x1,1962] cmp w0, w21 - bls .L1625 + bls .L1614 mov x27, 0 ldrh w5, [x1,1952] ldrh w4, [x1,2038] mov w20, w27 mov x23, x1 -.L1626: +.L1615: cmp w5, w27, uxth - bls .L1657 + bls .L1646 add x0, x23, 1984 mov w1, w21 str x4, [x29,112] @@ -10869,7 +10730,7 @@ FtlScanSysBlk: bl FtlBbmIsBadBlock ldr x5, [x29,120] ldr x4, [x29,112] - cbnz w0, .L1583 + cbnz w0, .L1572 add x2, x24, :lo12:.LANCHOR2 mov w0, 56 lsl w28, w28, 10 @@ -10888,10 +10749,10 @@ FtlScanSysBlk: uxth w20, w20 add x1, x2, x1, sxtw 2 str x1, [x0,16] -.L1583: +.L1572: add x27, x27, 1 - b .L1626 -.L1657: + b .L1615 +.L1646: add x0, x24, :lo12:.LANCHOR2 mov w1, w20 mov w2, 1 @@ -10900,9 +10761,9 @@ FtlScanSysBlk: mov w28, 61574 ldr x0, [x0,2048] bl FlashReadPages -.L1585: +.L1574: cmp w20, w23, uxth - bls .L1658 + bls .L1647 add x7, x24, :lo12:.LANCHOR2 mov x0, 56 mul x6, x23, x0 @@ -10913,7 +10774,7 @@ FtlScanSysBlk: cmn w8, #1 ldr x26, [x1,16] ubfx x25, x0, 10, 16 - bne .L1587 + bne .L1576 add w0, w0, 1 str w0, [x1,4] mov w1, 1 @@ -10929,36 +10790,36 @@ FtlScanSysBlk: cmp w0, w22 ldr x7, [x29,112] ldr x8, [x29,104] - bne .L1587 + bne .L1576 ldr x0, [x7,2048] str w8, [x0,x6] -.L1587: +.L1576: add x0, x24, :lo12:.LANCHOR2 ldr x1, [x0,2048] ldr w1, [x1,x6] cmn w1, #1 - beq .L1589 + beq .L1578 ldr w0, [x0,196] cmn w0, #1 - beq .L1590 + beq .L1579 ldr w1, [x26,4] cmp w0, w1 - bhi .L1591 -.L1590: + bhi .L1580 +.L1579: ldr w0, [x26,4] cmn w0, #1 - beq .L1591 + beq .L1580 add x1, x24, :lo12:.LANCHOR2 add w0, w0, 1 str w0, [x1,196] -.L1591: +.L1580: ldrh w0, [x26] mov w1, 61604 cmp w0, w1 - beq .L1593 - bhi .L1594 + beq .L1582 + bhi .L1583 cmp w0, w28 - bne .L1592 + bne .L1581 add x0, x19, :lo12:.LANCHOR0 add x7, x24, :lo12:.LANCHOR2 ldrh w6, [x0,2048] @@ -10967,16 +10828,16 @@ FtlScanSysBlk: ldr x7, [x7,2192] sxth w2, w1 sub w1, w1, w0 - b .L1610 -.L1594: + b .L1599 +.L1583: cmp w0, w27 - beq .L1596 + beq .L1585 cmp w0, w22 - bne .L1592 + bne .L1581 mov w0, w25 mov w1, 0 - b .L1655 -.L1596: + b .L1644 +.L1585: add x0, x19, :lo12:.LANCHOR0 add x7, x24, :lo12:.LANCHOR2 ldr w6, [x0,2056] @@ -10988,20 +10849,20 @@ FtlScanSysBlk: sub w1, w1, #1 sxth w2, w2 sxth w1, w1 -.L1598: +.L1587: cmp w2, w1 - ble .L1659 + ble .L1648 sbfiz x8, x2, 2, 32 ldr w11, [x26,4] sxth x9, w2 ldr w10, [x7,x8] cmp w11, w10 - bls .L1599 + bls .L1588 ldr w1, [x7] - cbnz w1, .L1600 + cbnz w1, .L1589 cmp w0, w6 - bne .L1601 -.L1600: + bne .L1590 +.L1589: add x0, x24, :lo12:.LANCHOR2 mov w1, 1 str x9, [x29,104] @@ -11013,16 +10874,16 @@ FtlScanSysBlk: ldr x8, [x29,120] ldr x2, [x29,112] ldr x9, [x29,104] - b .L1602 -.L1601: + b .L1591 +.L1590: add x1, x24, :lo12:.LANCHOR2 add w0, w0, 1 strh w0, [x1,2304] -.L1602: +.L1591: mov w0, 0 -.L1603: +.L1592: cmp w0, w2 - beq .L1660 + beq .L1649 add x6, x24, :lo12:.LANCHOR2 sxtw x1, w0 lsl x7, x1, 2 @@ -11037,32 +10898,32 @@ FtlScanSysBlk: add x7, x6, x1 ldrh w7, [x7,2] strh w7, [x6,x1] - b .L1603 -.L1660: + b .L1592 +.L1649: add x0, x24, :lo12:.LANCHOR2 ldr w6, [x26,4] ldr x1, [x0,2216] str w6, [x1,x8] ldr x1, [x0,2168] strh w25, [x1,x9,lsl 1] - tbz w2, #31, .L1654 - b .L1589 -.L1599: + tbz w2, #31, .L1643 + b .L1578 +.L1588: sub w2, w2, #1 sxth w2, w2 - b .L1598 -.L1659: - tbz w2, #31, .L1609 - b .L1589 -.L1654: + b .L1587 +.L1648: + tbz w2, #31, .L1598 + b .L1578 +.L1643: add x1, x19, :lo12:.LANCHOR0 ldrh w0, [x0,2304] ldr w1, [x1,2056] sub w1, w1, w0 sub w1, w1, #1 cmp w2, w1, sxth - bgt .L1592 -.L1609: + bgt .L1581 +.L1598: add x1, x24, :lo12:.LANCHOR2 add w0, w0, 1 sxtw x2, w2 @@ -11071,26 +10932,26 @@ FtlScanSysBlk: ldr x0, [x1,2216] str w4, [x0,x2,lsl 2] ldr x0, [x1,2168] - b .L1656 -.L1618: + b .L1645 +.L1607: sbfiz x8, x2, 2, 32 ldr w11, [x26,4] sxth x9, w2 ldr w10, [x7,x8] cmp w11, w10 - bhi .L1661 + bhi .L1650 sub w2, w2, #1 sxth w2, w2 -.L1610: +.L1599: cmp w2, w1 - bgt .L1618 - b .L1617 -.L1661: + bgt .L1607 + b .L1606 +.L1650: ldr w1, [x7] - cbnz w1, .L1612 + cbnz w1, .L1601 cmp w0, w6 - bne .L1613 -.L1612: + bne .L1602 +.L1601: add x0, x19, :lo12:.LANCHOR0 mov w1, 1 str x9, [x29,104] @@ -11102,16 +10963,16 @@ FtlScanSysBlk: ldr x2, [x29,120] ldr x8, [x29,112] ldr x9, [x29,104] - b .L1614 -.L1613: + b .L1603 +.L1602: add x1, x19, :lo12:.LANCHOR0 add w0, w0, 1 strh w0, [x1,2072] -.L1614: +.L1603: mov w0, 0 -.L1615: +.L1604: cmp w0, w2 - beq .L1662 + beq .L1651 add x1, x24, :lo12:.LANCHOR2 ldr x7, [x1,2192] sxtw x1, w0 @@ -11127,8 +10988,8 @@ FtlScanSysBlk: add x7, x6, x1 ldrh w7, [x7,2] strh w7, [x6,x1] - b .L1615 -.L1662: + b .L1604 +.L1651: add x0, x24, :lo12:.LANCHOR2 ldr w1, [x26,4] ldr x0, [x0,2192] @@ -11136,15 +10997,15 @@ FtlScanSysBlk: add x0, x19, :lo12:.LANCHOR0 ldr x0, [x0,2080] strh w25, [x0,x9,lsl 1] -.L1617: - tbnz w2, #31, .L1589 +.L1606: + tbnz w2, #31, .L1578 add x1, x19, :lo12:.LANCHOR0 ldrh w0, [x1,2048] ldrh w6, [x1,2072] sub w0, w0, #1 sub w0, w0, w6 cmp w2, w0, sxth - bgt .L1592 + bgt .L1581 add x0, x24, :lo12:.LANCHOR2 sxtw x2, w2 add w6, w6, 1 @@ -11153,79 +11014,79 @@ FtlScanSysBlk: ldr x0, [x0,2192] str w4, [x0,x2,lsl 2] ldr x0, [x1,2080] -.L1656: +.L1645: strh w25, [x0,x2,lsl 1] - b .L1592 -.L1593: + b .L1581 +.L1582: add x0, x24, :lo12:.LANCHOR2 add x1, x0, 280 ldrh w2, [x0,280] cmp w2, w22 - bne .L1621 + bne .L1610 strh w25, [x0,280] ldr w0, [x26,4] str w0, [x1,8] - b .L1592 -.L1621: + b .L1581 +.L1610: ldrh w0, [x1,4] cmp w0, w22 - beq .L1622 + beq .L1611 mov w1, 1 bl FtlFreeSysBlkQueueIn -.L1622: +.L1611: add x1, x24, :lo12:.LANCHOR2 ldr w2, [x26,4] add x0, x1, 280 ldr w6, [x0,8] cmp w6, w2 - bcs .L1623 + bcs .L1612 ldrh w2, [x1,280] strh w2, [x0,4] strh w25, [x1,280] ldr w1, [x26,4] str w1, [x0,8] - b .L1592 -.L1623: + b .L1581 +.L1612: strh w25, [x0,4] - b .L1592 -.L1589: + b .L1581 +.L1578: mov w0, w25 mov w1, 1 -.L1655: +.L1644: bl FtlFreeSysBlkQueueIn -.L1592: +.L1581: add x23, x23, 1 - b .L1585 -.L1658: + b .L1574 +.L1647: add w21, w21, 1 uxth w21, w21 - b .L1582 -.L1625: + b .L1571 +.L1614: add x4, x24, :lo12:.LANCHOR2 ldr x2, [x4,2168] ldrh w0, [x2] - cbz w0, .L1627 -.L1630: + cbz w0, .L1616 +.L1619: add x1, x19, :lo12:.LANCHOR0 ldr x2, [x1,2080] ldrh w0, [x2] - cbz w0, .L1628 - b .L1649 -.L1627: + cbz w0, .L1617 + b .L1638 +.L1616: ldrh w4, [x4,2304] - cbz w4, .L1630 + cbz w4, .L1619 ldr w1, [x1,2056] -.L1631: +.L1620: cmp w0, w1 - bcs .L1630 + bcs .L1619 ldrh w4, [x2,w0,sxtw 1] - cbz w4, .L1632 + cbz w4, .L1621 mov w7, w0 -.L1633: +.L1622: add x1, x19, :lo12:.LANCHOR0 ldr w1, [x1,2056] cmp w0, w1 - bcs .L1630 + bcs .L1619 add x2, x24, :lo12:.LANCHOR2 sxtw x6, w0 sub w1, w0, w7 @@ -11241,26 +11102,26 @@ FtlScanSysBlk: str w6, [x5,x1,lsl 2] ldr x1, [x2,2168] strh wzr, [x1,x4] - b .L1633 -.L1632: + b .L1622 +.L1621: add w0, w0, 1 sxth w0, w0 - b .L1631 -.L1628: + b .L1620 +.L1617: ldrh w4, [x1,2072] - cbz w4, .L1649 + cbz w4, .L1638 ldrh w1, [x1,2048] -.L1636: +.L1625: cmp w0, w1 mov w7, w0 - bge .L1649 + bge .L1638 ldrh w4, [x2,w0,sxtw 1] - cbz w4, .L1637 -.L1638: + cbz w4, .L1626 +.L1627: add x2, x19, :lo12:.LANCHOR0 ldrh w1, [x2,2048] cmp w0, w1 - bge .L1649 + bge .L1638 sxtw x6, w0 sub w1, w0, w7 ldr x5, [x2,2080] @@ -11276,12 +11137,12 @@ FtlScanSysBlk: str w6, [x5,x1,lsl 2] ldr x1, [x2,2080] strh wzr, [x1,x4] - b .L1638 -.L1637: + b .L1627 +.L1626: add w0, w0, 1 sxth w0, w0 - b .L1636 -.L1649: + b .L1625 +.L1638: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -11320,18 +11181,18 @@ FtlLoadSysInfo: ldrh w0, [x20,280] mov w1, 65535 cmp w0, w1 - bne .L1664 -.L1668: + bne .L1653 +.L1657: mov w19, -1 - b .L1665 -.L1664: + b .L1654 +.L1653: mov w1, 1 bl FtlGetLastWrittenPage sxth w24, w0 add w0, w0, 1 strh w0, [x25,2] -.L1666: - tbnz w24, #31, .L1671 +.L1655: + tbnz w24, #31, .L1660 ldrh w0, [x20,280] mov w1, 1 mov w2, w1 @@ -11343,8 +11204,8 @@ FtlLoadSysInfo: bl FlashReadPages ldr w0, [x19] cmn w0, #1 - beq .L1667 -.L1671: + beq .L1656 +.L1660: add x24, x22, :lo12:.LANCHOR4 add x19, x21, :lo12:.LANCHOR2 add x20, x19, 224 @@ -11373,19 +11234,19 @@ FtlLoadSysInfo: mov w0, 19539 movk w0, 0x4654, lsl 16 cmp w1, w0 - beq .L1678 - b .L1668 -.L1667: - sub w24, w24, #1 + beq .L1667 + b .L1657 +.L1656: + sub w24, w24, #1 sxth w24, w24 - b .L1666 -.L1678: + b .L1655 +.L1667: ldrb w1, [x20,10] ldrh w0, [x22,1974] ldrh w2, [x20,8] strh w2, [x19,286] cmp w1, w0 - bne .L1668 + bne .L1657 ldrh w1, [x22,2026] ldrh w0, [x22,2032] str w2, [x24,192] @@ -11445,47 +11306,47 @@ FtlLoadSysInfo: str wzr, [x19,208] str wzr, [x19,216] str wzr, [x19,176] - bls .L1672 + bls .L1661 str w0, [x19,196] -.L1672: +.L1661: add x0, x21, :lo12:.LANCHOR2 ldr w1, [x0,260] ldr w3, [x0,200] cmp w1, w3 - bls .L1673 + bls .L1662 str w1, [x0,200] -.L1673: +.L1662: mov w0, 65535 cmp w2, w0 - beq .L1674 + beq .L1663 add x0, x21, :lo12:.LANCHOR2 bl make_superblock -.L1674: +.L1663: add x1, x21, :lo12:.LANCHOR2 add x0, x1, 48 ldrh w2, [x1,48] mov w1, 65535 cmp w2, w1 - beq .L1675 + beq .L1664 bl make_superblock -.L1675: +.L1664: add x1, x21, :lo12:.LANCHOR2 add x0, x1, 96 ldrh w2, [x1,96] mov w1, 65535 cmp w2, w1 - beq .L1676 + beq .L1665 bl make_superblock -.L1676: +.L1665: add x21, x21, :lo12:.LANCHOR2 mov w1, 65535 add x0, x21, 296 mov w19, 0 ldrh w2, [x21,296] cmp w2, w1 - beq .L1665 + beq .L1654 bl make_superblock -.L1665: +.L1654: mov w0, w19 ldr x25, [sp,64] ldp x19, x20, [sp,16] @@ -11513,31 +11374,31 @@ FtlGcScanTempBlk: ldrh w28, [x0,3004] mov w0, 65535 cmp w28, w0 - beq .L1699 - cbnz w28, .L1680 - b .L1681 -.L1699: + beq .L1688 + cbnz w28, .L1669 + b .L1670 +.L1688: mov w28, 0 -.L1680: +.L1669: adrp x0, .LANCHOR0+2026 ldrh w0, [x0,#:lo12:.LANCHOR0+2026] cmp w25, w0 - bne .L1682 -.L1681: + bne .L1671 +.L1670: bl FtlGcPageVarInit -.L1682: +.L1671: mov w23, -1 mov w20, 0 mov w21, 65535 adrp x26, .LANCHOR0 adrp x27, .LANCHOR2 -.L1693: +.L1682: ldrh w0, [x24] strb wzr, [x24,8] cmp w0, w21 - beq .L1700 -.L1684: -.L1696: + beq .L1689 +.L1673: +.L1685: add x0, x26, :lo12:.LANCHOR0 mov x2, x24 mov w19, 0 @@ -11545,12 +11406,12 @@ FtlGcScanTempBlk: ldrh w6, [x0,1952] ldrh w9, [x0,2038] add x6, x24, x6, lsl 1 -.L1685: +.L1674: cmp x2, x6 - beq .L1710 + beq .L1699 ldrh w1, [x2,16] cmp w1, w21 - beq .L1686 + beq .L1675 add x7, x27, :lo12:.LANCHOR2 mov w0, 56 orr w1, w28, w1, lsl 10 @@ -11568,19 +11429,19 @@ FtlGcScanTempBlk: sdiv w1, w1, w10 add x1, x7, x1, sxtw 2 str x1, [x0,16] -.L1686: +.L1675: add x2, x2, 2 - b .L1685 -.L1710: + b .L1674 +.L1699: add x0, x27, :lo12:.LANCHOR2 mov w1, w19 mov w2, 0 mov x22, 0 ldr x0, [x0,2048] bl FlashReadPages -.L1688: +.L1677: cmp w19, w22, uxth - bls .L1711 + bls .L1700 adrp x0, .LANCHOR2 add x7, x0, :lo12:.LANCHOR2 mov x0, 56 @@ -11601,33 +11462,33 @@ FtlGcScanTempBlk: ldr x1, [x29,128] ldr x7, [x29,96] ldr w0, [x10,x8] - cbnz w0, .L1689 + cbnz w0, .L1678 ldr x9, [x29,120] add x22, x22, 1 ldr x8, [x9,16] ldrh w0, [x8] cmp w0, w21 - bne .L1690 + bne .L1679 mov w0, 1 str w0, [x7,2328] - b .L1683 -.L1690: + b .L1672 +.L1679: ldr w0, [x8,12] ldr w2, [x8,8] bl FtlGcUpdatePage - b .L1688 -.L1689: + b .L1677 +.L1678: ldr w2, [x7,160] - cbz w2, .L1691 + cbz w2, .L1680 ldrh w3, [x24] ldr x2, [x7,-80] ldrh w2, [x2,x3,lsl 1] cmp w2, 119 - bls .L1692 -.L1691: + bls .L1681 +.L1680: cmn w0, #1 csel w1, w1, w23, eq -.L1692: +.L1681: adrp x0, .LANCHOR2 ldrh w2, [x24] add x22, x0, :lo12:.LANCHOR2 @@ -11642,37 +11503,37 @@ FtlGcScanTempBlk: bl FtlGcPageVarInit ldr x1, [x29,128] mov w23, w1 - b .L1693 -.L1711: + b .L1682 +.L1700: add w20, w20, 1 add w3, w28, 1 cmp w20, w25 uxth w28, w3 - bcs .L1695 -.L1697: + bcs .L1684 +.L1686: adrp x0, .LANCHOR0 add x0, x0, :lo12:.LANCHOR0 ldrh w0, [x0,2026] cmp w0, w28 - bhi .L1696 - b .L1700 -.L1695: + bhi .L1685 + b .L1689 +.L1684: ldr x0, [x29,136] add x1, x0, :lo12:.LANCHOR1 ldrh w0, [x1,3004] cmp w0, w21 - beq .L1697 + beq .L1686 add w0, w0, w20 strh w0, [x1,3004] adrp x0, .LANCHOR0 add x0, x0, :lo12:.LANCHOR0 ldrh w0, [x0,2026] cmp w0, w28 - bls .L1697 - b .L1698 -.L1700: + bls .L1686 + b .L1687 +.L1689: mov w2, 0 -.L1683: +.L1672: ldr x0, [x29,136] mov w1, w28 strh w28, [x24,2] @@ -11682,7 +11543,7 @@ FtlGcScanTempBlk: strh w0, [x19,3004] mov x0, x24 bl ftl_sb_update_avl_pages -.L1698: +.L1687: mov w0, w23 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -11696,59 +11557,55 @@ FtlGcScanTempBlk: .global FlashProgPages .type FlashProgPages, %function FlashProgPages: - stp x29, x30, [sp, -208]! - adrp x4, __stack_chk_guard - adrp x7, .LANCHOR1+481 + stp x29, x30, [sp, -192]! + adrp x6, .LANCHOR1+481 add x29, sp, 0 stp x19, x20, [sp,16] - ldr x5, [x4,#:lo12:__stack_chk_guard] adrp x20, .LANCHOR0 - str x5, [x29,200] - add x5, x20, :lo12:.LANCHOR0 + ldrb w6, [x6,#:lo12:.LANCHOR1+481] + add x4, x20, :lo12:.LANCHOR0 + str w3, [x29,120] stp x21, x22, [sp,32] stp x23, x24, [sp,48] stp x25, x26, [sp,64] stp x27, x28, [sp,80] - ldrb w7, [x7,#:lo12:.LANCHOR1+481] + str w6, [x29,124] mov x19, x0 - ldr x6, [x5,744] + ldr x5, [x4,744] mov w25, w1 - ldrb w5, [x5,8] + ldrb w4, [x4,8] mov w23, w2 - str w3, [x29,120] mov w22, 0 - str w7, [x29,124] - str x4, [x29,112] - ldrb w6, [x6,19] - cbz w5, .L1713 + ldrb w5, [x5,19] + cbz w4, .L1702 bl FlashProgSlc2KPages - b .L1714 -.L1713: - sub w0, w6, #1 + b .L1703 +.L1702: + sub w0, w5, #1 mov w27, 56 mov x28, 24 - str w0, [x29,108] -.L1765: + str w0, [x29,116] +.L1753: cmp w22, w25 - bcs .L1766 + bcs .L1754 umull x21, w22, w27 sub w4, w25, w22 - add x2, x29, 136 + add x2, x29, 128 add x26, x19, x21 mov w1, w23 mov x0, x26 - add x3, x29, 140 + add x3, x29, 132 bl LogAddr2PhyAddr mov w24, w0 add x2, x20, :lo12:.LANCHOR0 - ldr w0, [x29,140] + ldr w0, [x29,132] ldrb w4, [x2,1845] cmp w0, w4 - bcc .L1715 + bcc .L1704 mov w0, -1 str w0, [x19,x21] - b .L1716 -.L1715: + b .L1705 +.L1704: ldrb w1, [x2,1945] add x3, x2, 1652 cmp w1, wzr @@ -11756,29 +11613,29 @@ FlashProgPages: csel w24, w24, wzr, ne madd x0, x1, x28, x3 ldr x0, [x0,8] - cbz x0, .L1718 + cbz x0, .L1707 cmp w4, 1 - bne .L1719 + bne .L1708 ldr x0, [x2,128] bl NandcIqrWaitFlashReady -.L1719: - ldrb w0, [x29,140] +.L1708: + ldrb w0, [x29,132] bl FlashWaitCmdDone -.L1718: +.L1707: add x0, x20, :lo12:.LANCHOR0 - ldr w2, [x29,140] + ldr w2, [x29,132] add x0, x0, 1652 - ldr w1, [x29,136] + ldr w1, [x29,128] madd x0, x2, x28, x0 str x26, [x0,8] str xzr, [x0,16] str w1, [x0,4] - cbz w24, .L1720 + cbz w24, .L1709 add w1, w22, 1 umull x1, w1, w27 add x1, x19, x1 str x1, [x0,16] -.L1720: +.L1709: add x1, x20, :lo12:.LANCHOR0 add x0, x1, x2 madd x2, x2, x28, x1 @@ -11786,50 +11643,50 @@ FlashProgPages: ldrb w0, [x1,1845] strb w21, [x2,1652] cmp w0, 1 - bne .L1721 + bne .L1710 mov w0, w21 bl NandcWaitFlashReady - b .L1722 -.L1721: + b .L1711 +.L1710: mov w0, w21 - str x1, [x29,96] + str x1, [x29,104] bl NandcFlashCs - ldr x1, [x29,96] - ldr w0, [x29,140] + ldr x1, [x29,104] + ldr w0, [x29,132] add x1, x1, 708 ldr w0, [x1,x0,lsl 2] - ldr w1, [x29,136] + ldr w1, [x29,128] cmp w0, wzr mov w0, w21 cset w2, ne bl FlashWaitReadyEN mov w0, w21 bl NandcFlashDeCs -.L1722: - ldr w0, [x29,108] +.L1711: + ldr w0, [x29,116] cmp w0, 5 - bhi .L1723 + bhi .L1712 add x2, x20, :lo12:.LANCHOR0 add x0, x2, x21, sxtw ldrb w0, [x0,1616] - cbz w0, .L1723 + cbz w0, .L1712 ldrb w1, [x2,761] mov w0, w21 add x2, x2, 764 mov w3, 0 bl HynixSetRRPara -.L1723: +.L1712: mov w0, w21 bl NandcFlashCs cmp w23, 1 - bne .L1724 + bne .L1713 add x0, x20, :lo12:.LANCHOR0 ldrb w0, [x0,120] - cbz w0, .L1724 + cbz w0, .L1713 mov w0, w21 bl flash_enter_slc_mode -.L1724: - ldr w1, [x29,136] +.L1713: + ldr w1, [x29,128] mov w0, w21 bl FlashProgFirstCmd ldrb w2, [x29,124] @@ -11838,22 +11695,22 @@ FlashProgPages: mov w1, 1 ldr x4, [x26,16] bl NandcXferData - cbz w24, .L1725 - ldr w1, [x29,136] + cbz w24, .L1714 + ldr w1, [x29,128] mov w0, w21 add x26, x20, :lo12:.LANCHOR0 bl FlashProgDpFirstCmd - ldr w1, [x29,140] + ldr w1, [x29,132] add x0, x26, 708 ldr w0, [x0,x1,lsl 2] - ldr w1, [x29,136] + ldr w1, [x29,128] cmp w0, wzr mov w0, w21 cset w2, ne bl FlashWaitReadyEN ldr w2, [x26,12] mov w0, w21 - ldr w1, [x29,136] + ldr w1, [x29,128] add w1, w2, w1 bl FlashProgDpSecondCmd add w4, w22, 1 @@ -11865,196 +11722,178 @@ FlashProgPages: ldr x3, [x4,8] ldr x4, [x4,16] bl NandcXferData -.L1725: - ldr w1, [x29,136] +.L1714: + ldr w1, [x29,128] mov w0, w21 add w22, w22, w24 bl FlashProgSecondCmd mov w0, w21 bl NandcFlashDeCs -.L1716: +.L1705: add w22, w22, 1 - b .L1765 -.L1766: + b .L1753 +.L1754: add x20, x20, :lo12:.LANCHOR0 mov x21, 0 add x22, x20, 1652 mov x24, 24 ldr x0, [x20,128] bl NandcIqrWaitFlashReady -.L1727: +.L1716: ldrb w0, [x20,1845] cmp w0, w21 - bls .L1767 + bls .L1755 mov w0, w21 bl FlashWaitCmdDone cmp w23, 1 - bne .L1728 + bne .L1717 ldrb w0, [x20,120] - cbz w0, .L1728 + cbz w0, .L1717 mul x0, x21, x24 ldrb w0, [x0,x22] bl flash_exit_slc_mode -.L1728: +.L1717: add x21, x21, 1 - b .L1727 -.L1767: + b .L1716 +.L1755: ldr w0, [x29,120] - cbnz w0, .L1730 -.L1738: + cbnz w0, .L1719 +.L1727: mov w0, 0 - b .L1714 -.L1730: - adrp x22, .LC101 + b .L1703 +.L1719: adrp x24, .LC100 adrp x26, .LC99 + adrp x27, .LC98 mov w21, 0 - add x22, x22, :lo12:.LC101 add x24, x24, :lo12:.LC100 add x26, x26, :lo12:.LC99 -.L1731: + add x27, x27, :lo12:.LC98 +.L1720: cmp w21, w25 - beq .L1738 + beq .L1727 ldr w0, [x19] cmn w0, #1 - bne .L1732 - adrp x0, .LC98 + bne .L1721 + adrp x0, .LC97 ldr w1, [x19,4] - add x0, x0, :lo12:.LC98 + add x0, x0, :lo12:.LC97 bl printk - b .L1733 -.L1732: + b .L1722 +.L1721: adrp x20, .LANCHOR4 sub w4, w25, w21 - add x27, x20, :lo12:.LANCHOR4 - add x3, x29, 140 + add x22, x20, :lo12:.LANCHOR4 + add x3, x29, 132 mov w1, w23 - add x2, x29, 136 + add x2, x29, 128 mov x0, x19 bl LogAddr2PhyAddr - ldr x0, [x27,96] + ldr x0, [x22,96] mov x1, x19 mov x2, 56 str wzr, [x0] - ldr x0, [x27,104] + ldr x0, [x22,104] str wzr, [x0] - add x0, x29, 144 + add x0, x29, 136 bl memcpy - ldr x0, [x27,96] + ldr x0, [x22,96] mov w1, 1 - str x0, [x29,152] + str x0, [x29,144] mov w2, w23 - ldr x0, [x27,104] - str x0, [x29,160] - add x0, x29, 144 + ldr x0, [x22,104] + str x0, [x29,152] + add x0, x29, 136 bl FlashReadPages - ldr w27, [x29,144] - cmn w27, #1 - bne .L1734 + ldr w22, [x29,136] + cmn w22, #1 + bne .L1723 ldr w1, [x19,4] - mov x0, x26 + mov x0, x27 bl printk - str w27, [x19] -.L1734: + str w22, [x19] +.L1723: ldr x0, [x19,16] - cbz x0, .L1735 + cbz x0, .L1724 ldr w2, [x0] add x0, x20, :lo12:.LANCHOR4 ldr x0, [x0,104] ldr w3, [x0] cmp w2, w3 - beq .L1735 + beq .L1724 ldr w1, [x19,4] - mov x0, x24 + mov x0, x26 bl printk mov w0, -1 str w0, [x19] -.L1735: +.L1724: ldr x0, [x19,8] - cbz x0, .L1733 + cbz x0, .L1722 add x20, x20, :lo12:.LANCHOR4 ldr w2, [x0] ldr x0, [x20,96] ldr w3, [x0] cmp w2, w3 - beq .L1733 + beq .L1722 ldr w1, [x19,4] - mov x0, x22 + mov x0, x24 bl printk mov w0, -1 str w0, [x19] -.L1733: +.L1722: add w21, w21, 1 add x19, x19, 56 - b .L1731 -.L1714: - ldr x1, [x29,112] - ldr x2, [x29,200] - ldr x1, [x1,#:lo12:__stack_chk_guard] - cmp x2, x1 - beq .L1739 - bl __stack_chk_fail -.L1739: + b .L1720 +.L1703: 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], 192 ret .size FlashProgPages, .-FlashProgPages .align 2 .type FlashTestBlk.part.17, %function FlashTestBlk.part.17: - stp x29, x30, [sp, -176]! + stp x29, x30, [sp, -160]! mov w1, 165 mov w2, 32 add x29, sp, 0 stp x19, x20, [sp,16] - str x21, [sp,32] adrp x19, .LANCHOR4 - adrp x21, __stack_chk_guard - add x19, x19, :lo12:.LANCHOR4 uxth w20, w0 + add x19, x19, :lo12:.LANCHOR4 lsl w20, w20, 10 - ldr x0, [x21,#:lo12:__stack_chk_guard] - str x0, [x29,168] ldr x0, [x19,80] + str x0, [x29,48] + add x0, x29, 96 str x0, [x29,56] - add x0, x29, 104 - str x0, [x29,64] bl ftl_memset ldr x0, [x19,80] mov w1, 90 mov w2, 8 bl ftl_memset - str w20, [x29,52] + str w20, [x29,44] mov w1, 1 - add x0, x29, 48 + add x0, x29, 40 mov w2, w1 bl FlashEraseBlocks mov w1, 1 - add x0, x29, 48 - mov w2, w1 + add x0, x29, 40 mov w3, w1 + mov w2, w1 bl FlashProgPages - ldr w0, [x29,48] + ldr w0, [x29,40] mov w1, 0 mov w2, 1 cmn w0, #1 - add x0, x29, 48 + add x0, x29, 40 csetm w19, eq bl FlashEraseBlocks - ldr x2, [x29,168] mov w0, w19 - ldr x1, [x21,#:lo12:__stack_chk_guard] - cmp x2, x1 - beq .L1769 - bl __stack_chk_fail -.L1769: ldp x19, x20, [sp,16] - ldr x21, [sp,32] - ldp x29, x30, [sp], 176 + ldp x29, x30, [sp], 160 ret .size FlashTestBlk.part.17, .-FlashTestBlk.part.17 .align 2 @@ -12068,10 +11907,10 @@ FlashTestBlk: ldr w2, [x0,#:lo12:.LANCHOR4+68] mov w0, 0 cmp w1, w2 - bcc .L1771 + bcc .L1758 mov w0, w1 bl FlashTestBlk.part.17 -.L1771: +.L1758: ldp x29, x30, [sp], 16 ret .size FlashTestBlk, .-FlashTestBlk @@ -12079,26 +11918,22 @@ FlashTestBlk: .global FlashMakeFactorBbt .type FlashMakeFactorBbt, %function FlashMakeFactorBbt: - stp x29, x30, [sp, -256]! - adrp x2, __stack_chk_guard + stp x29, x30, [sp, -240]! adrp x4, .LANCHOR0 add x29, sp, 0 stp x21, x22, [sp,32] - ldr x0, [x2,#:lo12:__stack_chk_guard] adrp x22, .LANCHOR4 - str x0, [x29,248] add x0, x22, :lo12:.LANCHOR4 stp x19, x20, [sp,16] stp x25, x26, [sp,64] stp x27, x28, [sp,80] stp x23, x24, [sp,48] mov x20, x4 - str x2, [x29,112] + mov w19, 0 ldr x0, [x0,88] add x25, x20, :lo12:.LANCHOR0 str x0, [x29,160] add x0, x4, :lo12:.LANCHOR0 - mov w19, 0 add x28, x25, 708 ldrh w1, [x0,180] ldrh w21, [x0,182] @@ -12115,9 +11950,9 @@ FlashMakeFactorBbt: ldr w0, [x29,172] csel w0, w1, w0, eq str w0, [x29,172] - adrp x0, .LC104 + adrp x0, .LC103 mov w1, 1 - add x0, x0, :lo12:.LC104 + add x0, x0, :lo12:.LC103 bl printk add x0, x22, :lo12:.LANCHOR4 mov w1, 0 @@ -12128,19 +11963,19 @@ FlashMakeFactorBbt: str w0, [x29,168] ldr w0, [x29,128] and w0, w0, 1 - str w0, [x29,108] + str w0, [x29,116] sub w0, w21, #1 uxth w0, w0 str w0, [x29,124] -.L1775: +.L1762: ldrb w0, [x25,1845] cmp w0, w19 - bls .L1827 + bls .L1813 add x0, x22, :lo12:.LANCHOR4 sxtw x24, w19 add x0, x0, 120 ldrh w20, [x0,w19,sxtw 1] - cbnz w20, .L1806 + cbnz w20, .L1792 ldrh w2, [x25,188] mov w1, w20 ldr x0, [x25,1856] @@ -12154,41 +11989,41 @@ FlashMakeFactorBbt: and w0, w0, 2 uxtb w0, w0 str w0, [x29,120] -.L1777: +.L1764: uxth w0, w26 str w0, [x29,144] cmp w0, w21 - bcs .L1787 + bcs .L1774 mov w0, -1 - strb w0, [x29,190] - strb w0, [x29,191] - ldr w0, [x29,108] - cbz w0, .L1779 + strb w0, [x29,182] + strb w0, [x29,183] + ldr w0, [x29,116] + cbz w0, .L1766 ldr w3, [x28,x24,lsl 2] mov w0, w27 - add x2, x29, 190 + add x2, x29, 182 add w3, w20, w3 - str x3, [x29,96] + str x3, [x29,104] mov w1, w3 bl FlashReadSpare ldrb w0, [x25,8] - ldr x3, [x29,96] + ldr x3, [x29,104] cmp w0, 1 - bne .L1779 + bne .L1766 ldr w1, [x25,12] mov w0, w27 - add x2, x29, 191 + add x2, x29, 183 add w1, w3, w1 bl FlashReadSpare - ldrb w0, [x29,190] - ldrb w1, [x29,191] + ldrb w0, [x29,182] + ldrb w1, [x29,183] and w0, w1, w0 - strb w0, [x29,190] -.L1779: + strb w0, [x29,182] +.L1766: ldr w0, [x29,120] - cbz w0, .L1781 + cbz w0, .L1768 ldr x0, [x25,744] - add x2, x29, 191 + add x2, x29, 183 ldrh w1, [x0,10] ldr w0, [x28,x24,lsl 2] sub w1, w1, #1 @@ -12196,41 +12031,41 @@ FlashMakeFactorBbt: mov w0, w27 add w1, w1, w20 bl FlashReadSpare -.L1781: +.L1768: ldr x0, [x25,744] - ldrb w1, [x29,190] + ldrb w1, [x29,182] ldrb w0, [x0,7] cmp w0, 8 - beq .L1807 + beq .L1793 cmp w0, 1 - bne .L1782 -.L1807: + bne .L1769 +.L1793: mov w0, 1 - cbz w1, .L1784 - ldrb w0, [x29,191] + cbz w1, .L1771 + ldrb w0, [x29,183] cmp w0, wzr cset w0, eq - b .L1784 -.L1782: + b .L1771 +.L1769: cmp w1, 255 mov w0, 1 - bne .L1784 - ldrb w0, [x29,191] + bne .L1771 + ldrb w0, [x29,183] cmp w0, 255 cset w0, ne -.L1784: +.L1771: ldr x1, [x29,128] - tbz x1, 2, .L1785 + tbz x1, 2, .L1772 ldr w1, [x28,x24,lsl 2] mov w0, w27 add w1, w20, w1 bl SandiskProgTestBadBlock -.L1785: - cbz w0, .L1786 - adrp x0, .LC105 +.L1772: + cbz w0, .L1773 + adrp x0, .LC104 mov w1, w19 mov w2, w26 - add x0, x0, :lo12:.LC105 + add x0, x0, :lo12:.LC104 add w23, w23, 1 bl printk ldr x0, [x29,144] @@ -12248,43 +12083,43 @@ FlashMakeFactorBbt: ldrb w0, [x25,1845] mul w0, w1, w0 cmp w23, w0 - bgt .L1787 -.L1786: + bgt .L1774 +.L1773: ldr w0, [x29,172] add w26, w26, 1 add w20, w20, w0 - b .L1777 -.L1787: - adrp x0, .LC106 + b .L1764 +.L1774: + adrp x0, .LC105 mov w1, w19 - add x0, x0, :lo12:.LC106 + add x0, x0, :lo12:.LC105 mov w2, w23 bl printk ldrb w0, [x25,1845] ldr w1, [x29,168] mul w0, w1, w0 cmp w23, w0 - blt .L1789 + blt .L1776 ldrh w2, [x25,188] mov w1, 0 ldr x0, [x25,1856] lsl w2, w2, 9 bl ftl_memset -.L1789: - cbnz w19, .L1791 +.L1776: + cbnz w19, .L1778 add x0, x22, :lo12:.LANCHOR4 - adrp x26, .LC107 + adrp x26, .LC106 mov w20, w19 - add x26, x26, :lo12:.LC107 + add x26, x26, :lo12:.LC106 mov w23, 1 ldrh w27, [x0,68] -.L1792: +.L1779: ldrb w0, [x25,9] cmp w0, w27 - bls .L1828 + bls .L1814 mov w0, w27 bl FlashTestBlk - cbz w0, .L1793 + cbz w0, .L1780 mov w1, w27 mov x0, x26 add w20, w20, 1 @@ -12297,21 +12132,21 @@ FlashMakeFactorBbt: ldr w3, [x2,x1] orr w0, w3, w0 str w0, [x2,x1] -.L1793: +.L1780: add w27, w27, 1 uxth w27, w27 - b .L1792 -.L1828: - adrp x26, .LC107 + b .L1779 +.L1814: + adrp x26, .LC106 ldr w23, [x29,124] sub w27, w21, #50 - add x26, x26, :lo12:.LC107 -.L1795: + add x26, x26, :lo12:.LC106 +.L1782: cmp w23, w27 - ble .L1829 + ble .L1815 mov w0, w23 bl FlashTestBlk - cbz w0, .L1796 + cbz w0, .L1783 mov w1, w23 mov x0, x26 bl printk @@ -12323,44 +12158,44 @@ FlashMakeFactorBbt: ldr w5, [x3,x1] orr w0, w5, w0 str w0, [x3,x1] -.L1796: +.L1783: sub w2, w23, #1 uxth w23, w2 - b .L1795 -.L1829: + b .L1782 +.L1815: add x1, x22, :lo12:.LANCHOR4 ldrb w0, [x25,9] ldr w1, [x1,68] sub w0, w0, w1 cmp w20, w0 - bcc .L1791 + bcc .L1778 ldrh w2, [x25,188] mov w1, 0 ldr x0, [x25,1856] lsl w2, w2, 9 bl ftl_memset -.L1791: - adrp x23, .LC108 +.L1778: + adrp x23, .LC107 ldr w27, [x29,124] mul w26, w19, w21 - add x23, x23, :lo12:.LC108 + add x23, x23, :lo12:.LC107 add x20, x22, :lo12:.LANCHOR4 -.L1799: +.L1786: mov w2, w27 mov x0, x23 mov w1, w19 bl printk ldr x2, [x25,1856] -.L1800: +.L1787: ubfx x0, x27, 5, 11 ldr w0, [x2,x0,lsl 2] lsr w0, w0, w27 and w1, w0, 1 - tbz x0, 0, .L1830 + tbz x0, 0, .L1816 sub w27, w27, #1 uxth w27, w27 - b .L1800 -.L1830: + b .L1787 +.L1816: add x0, x20, 120 mov w2, -3872 strh w27, [x0,x24,lsl 1] @@ -12371,42 +12206,35 @@ FlashMakeFactorBbt: mov w1, 1 ldr x0, [x25,1856] mov w2, w1 - str x0, [x29,200] + str x0, [x29,192] ldr x0, [x20,88] - str x0, [x29,208] + str x0, [x29,200] add w0, w27, w26 lsl w0, w0, 10 - str w0, [x29,196] - add x0, x29, 192 + str w0, [x29,188] + add x0, x29, 184 bl FlashEraseBlocks mov w1, 1 - add x0, x29, 192 + add x0, x29, 184 mov w2, w1 mov w3, w1 bl FlashProgPages - ldr w0, [x29,192] - cbz w0, .L1806 + ldr w0, [x29,184] + cbz w0, .L1792 sub w27, w27, #1 uxth w27, w27 - b .L1799 -.L1806: + b .L1786 +.L1792: add w19, w19, 1 uxtb w19, w19 - b .L1775 -.L1827: - ldr x0, [x29,112] - ldr x1, [x29,248] - ldr x0, [x0,#:lo12:__stack_chk_guard] - cmp x1, x0 - beq .L1803 - bl __stack_chk_fail -.L1803: + b .L1762 +.L1813: 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], 256 + ldp x29, x30, [sp], 240 ret .size FlashMakeFactorBbt, .-FlashMakeFactorBbt .align 2 @@ -12432,10 +12260,10 @@ FtlLowFormatEraseBlock: mov w19, w28 adrp x24, .LANCHOR2 mov w27, 56 -.L1832: +.L1818: ldrh w0, [x20,1952] cmp w0, w28 - bls .L1865 + bls .L1851 add x1, x24, :lo12:.LANCHOR2 umull x0, w28, w27 ldr x1, [x1,-88] @@ -12446,15 +12274,15 @@ FtlLowFormatEraseBlock: bl V2P_block uxth w23, w0 mov w1, w23 - cbz w26, .L1833 + cbz w26, .L1819 str x1, [x29,112] bl IsBlkInVendorPart ldr x1, [x29,112] - cbnz w0, .L1834 -.L1833: + cbnz w0, .L1820 +.L1819: mov w0, w1 bl FtlBbmIsBadBlock - cbnz w0, .L1835 + cbnz w0, .L1821 adrp x1, .LANCHOR2 lsl w23, w23, 10 add x3, x1, :lo12:.LANCHOR2 @@ -12474,16 +12302,16 @@ FtlLowFormatEraseBlock: uxth w21, w21 add x0, x3, x0, sxtw 2 str x0, [x1,16] - b .L1834 -.L1835: + b .L1820 +.L1821: add w19, w19, 1 uxth w19, w19 -.L1834: +.L1820: add w2, w28, 1 uxth w28, w2 - b .L1832 -.L1865: - cbz w21, .L1838 + b .L1818 +.L1851: + cbz w21, .L1824 ldr w0, [x29,124] adrp x20, .LANCHOR2 mov w2, w21 @@ -12495,47 +12323,47 @@ FtlLowFormatEraseBlock: mov w1, w23 ldr x0, [x0,-88] bl FlashEraseBlocks -.L1839: +.L1825: cmp w21, w24, uxth - bls .L1866 + bls .L1852 add x1, x20, :lo12:.LANCHOR2 mul x0, x24, x27 ldr x1, [x1,-88] add x2, x1, x0 ldr w0, [x1,x0] cmn w0, #1 - bne .L1840 + bne .L1826 ldr w0, [x2,4] add w19, w19, 1 lsr w0, w0, 10 uxth w19, w19 bl FtlBbmMapBadBlock -.L1840: +.L1826: add x24, x24, 1 - b .L1839 -.L1866: - cbnz w26, .L1842 + b .L1825 +.L1852: + cbnz w26, .L1828 mov w0, 6 uxth w23, w23 str w0, [x29,124] mov w27, 1 - b .L1843 -.L1842: + b .L1829 +.L1828: add x0, x22, :lo12:.LANCHOR0 mov w23, 1 ldrh w27, [x0,2028] lsr w0, w27, 2 str w0, [x29,124] -.L1843: +.L1829: mov w24, 0 add x22, x22, :lo12:.LANCHOR0 -.L1853: +.L1839: mov w28, 0 mov w21, w28 -.L1844: +.L1830: ldrh w0, [x22,1952] cmp w0, w28 - bls .L1867 + bls .L1853 add x1, x20, :lo12:.LANCHOR2 mov w0, 56 umull x0, w28, w0 @@ -12548,15 +12376,15 @@ FtlLowFormatEraseBlock: uxth w2, w0 str w2, [x29,112] mov w1, w2 - cbz w26, .L1845 + cbz w26, .L1831 str x1, [x29,104] bl IsBlkInVendorPart ldr x1, [x29,104] - cbnz w0, .L1846 -.L1845: + cbnz w0, .L1832 +.L1831: mov w0, w1 bl FtlBbmIsBadBlock - cbnz w0, .L1846 + cbnz w0, .L1832 add x3, x20, :lo12:.LANCHOR2 mov w0, 56 ldr w2, [x29,112] @@ -12578,12 +12406,12 @@ FtlLowFormatEraseBlock: uxth w21, w21 add x0, x3, x0, sxtw 2 str x0, [x1,16] -.L1846: +.L1832: add w2, w28, 1 uxth w28, w2 - b .L1844 -.L1867: - cbz w21, .L1838 + b .L1830 +.L1853: + cbz w21, .L1824 add x0, x20, :lo12:.LANCHOR2 mov w1, w21 mov w2, w23 @@ -12591,9 +12419,9 @@ FtlLowFormatEraseBlock: mov x28, 0 ldr x0, [x0,-88] bl FlashProgPages -.L1849: +.L1835: cmp w21, w28, uxth - bls .L1868 + bls .L1854 add x1, x20, :lo12:.LANCHOR2 mov x0, 56 mul x0, x28, x0 @@ -12601,36 +12429,36 @@ FtlLowFormatEraseBlock: add x1, x3, x0 ldr w0, [x3,x0] cmn w0, #1 - bne .L1850 + bne .L1836 ldr w0, [x1,4] add w19, w19, 1 lsr w0, w0, 10 uxth w19, w19 bl FtlBbmMapBadBlock - b .L1851 -.L1850: - cbz w26, .L1851 + b .L1837 +.L1836: + cbz w26, .L1837 ldr w0, [x1,4] mov w1, 1 lsr w0, w0, 10 bl FtlFreeSysBlkQueueIn -.L1851: +.L1837: add x28, x28, 1 - b .L1849 -.L1868: + b .L1835 +.L1854: ldr w0, [x29,124] add w24, w24, w0 uxth w24, w24 cmp w24, w27 - bcc .L1853 + bcc .L1839 cmp w25, 63 - bhi .L1838 + bhi .L1824 add x20, x20, :lo12:.LANCHOR2 mov w1, w23 mov w2, w21 ldr x0, [x20,-88] bl FlashEraseBlocks -.L1838: +.L1824: mov w0, w19 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -12666,12 +12494,12 @@ FtlBbmTblFlush: ldrh w2, [x20,2036] str x0, [x24,144] bl ftl_memset -.L1870: +.L1856: ldrh w1, [x20,1974] mov w0, w21 add x21, x21, 1 cmp w0, w1 - bge .L1877 + bge .L1863 add x1, x22, :lo12:.LANCHOR2 ldr x3, [x24,144] ldrh w2, [x1,2232] @@ -12681,18 +12509,18 @@ FtlBbmTblFlush: add x0, x3, x0, sxtw 2 lsl w2, w2, 2 bl ftl_memcpy - b .L1870 -.L1877: + b .L1856 +.L1863: add x19, x19, :lo12:.LANCHOR4 mov w1, 255 add x19, x19, 136 mov w2, 16 - adrp x25, .LC109 - adrp x26, .LC110 + adrp x25, .LC108 + adrp x26, .LC109 ldr x21, [x19,16] mov w24, 0 - add x25, x25, :lo12:.LC109 - add x26, x26, :lo12:.LC110 + add x25, x25, :lo12:.LC108 + add x26, x26, :lo12:.LC109 mov x0, x21 bl ftl_memset mov w0, -3887 @@ -12707,7 +12535,7 @@ FtlBbmTblFlush: strh w0, [x21,10] ldr w0, [x20,1948] strh w0, [x21,12] -.L1872: +.L1858: add x27, x22, :lo12:.LANCHOR2 ldrh w1, [x20,2112] ldrh w2, [x20,2114] @@ -12731,7 +12559,7 @@ FtlBbmTblFlush: ldrh w1, [x20,2114] sub w0, w0, #1 cmp w1, w0 - blt .L1873 + blt .L1859 ldr w0, [x20,2120] strh wzr, [x20,2114] add w0, w0, 1 @@ -12755,22 +12583,22 @@ FtlBbmTblFlush: mov w2, w1 mov w3, w1 bl FlashProgPages -.L1873: +.L1859: ldrh w0, [x20,2114] add w0, w0, 1 strh w0, [x20,2114] ldr w0, [x19] cmn w0, #1 - bne .L1874 + bne .L1860 ldr w1, [x19,4] mov x0, x26 bl printk - b .L1872 -.L1874: - cbnz w24, .L1878 + b .L1858 +.L1860: + cbnz w24, .L1864 mov w24, 1 - b .L1872 -.L1878: + b .L1858 +.L1864: mov w0, 0 ldr x27, [sp,80] ldp x19, x20, [sp,16] @@ -12797,9 +12625,9 @@ allocate_data_superblock: add x23, x21, 96 mov x19, x21 sub x24, x21, #16 -.L1880: +.L1866: cmp x20, x23 - bne .L1881 + bne .L1867 ldrh w0, [x21,-8] ldr w3, [x21,876] lsr w2, w0, 1 @@ -12808,45 +12636,45 @@ allocate_data_superblock: add w1, w4, w1, lsr 2 ldr w4, [x21,160] uxth w1, w1 - cbz w4, .L1882 + cbz w4, .L1868 ldr w4, [x21,220] cmp w4, 29 - bhi .L1882 + bhi .L1868 cmp w4, 2 mov w1, 0 - bls .L1883 - tbz x0, 0, .L1908 - cbz w3, .L1883 -.L1908: + bls .L1869 + tbz x0, 0, .L1894 + cbz w3, .L1869 +.L1894: mov w1, w2 - b .L1882 -.L1881: + b .L1868 +.L1867: ldrb w0, [x20,8] mov w1, 0 cmp w0, 1 - bne .L1883 + bne .L1869 adrp x0, .LANCHOR0 add x0, x0, :lo12:.LANCHOR0 ldrh w2, [x0,1972] cmp w2, 1 - beq .L1883 + beq .L1869 ldrb w0, [x0,120] - cbnz w0, .L1883 + cbnz w0, .L1869 ldr w2, [x21,160] ldrh w0, [x21,-8] lsr w1, w0, 3 - cbz w2, .L1882 + cbz w2, .L1868 ldr w2, [x21,220] cmp w2, 1 - bhi .L1882 + bhi .L1868 mov w1, 7 mul w1, w0, w1 lsr w1, w1, 3 -.L1882: - cbz w1, .L1883 +.L1868: + cbz w1, .L1869 sub w1, w1, #1 uxth w1, w1 -.L1883: +.L1869: mov x0, x24 bl List_pop_index_node uxth w22, w0 @@ -12857,7 +12685,7 @@ allocate_data_superblock: mov x0, x20 bl make_superblock ldrb w0, [x20,7] - cbz w0, .L1885 + cbz w0, .L1871 adrp x25, .LANCHOR0 mov x3, 56 add x0, x25, :lo12:.LANCHOR0 @@ -12865,14 +12693,14 @@ allocate_data_superblock: ldrh w5, [x0,1952] mov x0, 0 mov w26, w0 - b .L1886 -.L1885: + b .L1872 +.L1871: ubfiz x0, x22, 1, 16 ldr x1, [x19,-40] mov w2, -1 strh w2, [x1,x0] - b .L1930 -.L1889: + b .L1916 +.L1875: ldr x4, [x19,-88] madd x1, x0, x3, x4 str xzr, [x1,16] @@ -12880,40 +12708,40 @@ allocate_data_superblock: add x1, x20, x0, lsl 1 ldrh w1, [x1,16] cmp w1, w6 - beq .L1888 + beq .L1874 umull x2, w26, w3 add w26, w26, 1 lsl w1, w1, 10 add x2, x4, x2 uxth w26, w26 str w1, [x2,4] -.L1888: +.L1874: add x0, x0, 1 -.L1886: +.L1872: cmp w5, w0, uxth - bhi .L1889 + bhi .L1875 cmp x20, x19 uxtw x27, w22 - bne .L1890 + bne .L1876 ldr w0, [x19,160] - cbz w0, .L1890 + cbz w0, .L1876 ldr x0, [x19,-80] ldrh w0, [x0,x27,lsl 1] cmp w0, 30 - bls .L1890 + bls .L1876 strb wzr, [x19,8] -.L1890: +.L1876: ldrb w0, [x20,8] - cbnz w0, .L1891 + cbnz w0, .L1877 lsl x0, x27, 1 ldr x1, [x19,-80] mov w2, 2 ldrh w3, [x1,x0] - cbz w3, .L1931 + cbz w3, .L1917 add x2, x25, :lo12:.LANCHOR0 ldrh w2, [x2,2016] add w2, w3, w2 -.L1931: +.L1917: strh w2, [x1,x0] mov w1, 0 ldr w0, [x19,204] @@ -12921,8 +12749,8 @@ allocate_data_superblock: str w0, [x19,204] mov w0, w22 bl ftl_set_blk_mode - b .L1894 -.L1891: + b .L1880 +.L1877: lsl x0, x27, 1 ldr x2, [x19,-80] ldrh w1, [x2,x0] @@ -12933,15 +12761,15 @@ allocate_data_superblock: str w0, [x19,208] mov w0, w22 bl ftl_set_blk_mode.part.8 -.L1894: +.L1880: lsl x27, x27, 1 ldr x0, [x19,-80] ldr w1, [x19,216] ldrh w0, [x0,x27] cmp w0, w1 - bls .L1895 + bls .L1881 str w0, [x19,216] -.L1895: +.L1881: add x2, x25, :lo12:.LANCHOR0 ldr w3, [x19,204] ldr w0, [x19,208] @@ -12956,17 +12784,17 @@ allocate_data_superblock: add w0, w0, 1 str w0, [x1,16] mov x0, 0 -.L1896: +.L1882: cmp w26, w0, uxth - bls .L1932 + bls .L1918 ldr x1, [x19,-88] madd x1, x0, x3, x1 add x0, x0, 1 ldr w2, [x1,4] and w2, w2, -1024 str w2, [x1,4] - b .L1896 -.L1932: + b .L1882 +.L1918: ldrb w1, [x20,8] mov w2, w26 ldr x0, [x19,-88] @@ -12974,15 +12802,15 @@ allocate_data_superblock: bl FlashEraseBlocks mov w1, w28 mov x3, 56 -.L1898: +.L1884: cmp w26, w28, uxth - bls .L1933 + bls .L1919 mul x0, x28, x3 ldr x2, [x19,-88] add x4, x2, x0 ldr w2, [x2,x0] cmn w2, #1 - bne .L1899 + bne .L1885 ldr w0, [x4,4] add w1, w1, 1 str x3, [x29,96] @@ -12999,25 +12827,25 @@ allocate_data_superblock: ldrb w0, [x20,7] sub w0, w0, #1 strb w0, [x20,7] -.L1899: +.L1885: add x28, x28, 1 - b .L1898 -.L1933: - cbz w1, .L1901 + b .L1884 +.L1919: + cbz w1, .L1887 mov w0, w22 bl update_multiplier_value bl FtlBbmTblFlush -.L1901: +.L1887: ldrb w0, [x20,7] - cbnz w0, .L1902 + cbnz w0, .L1888 ldr x0, [x19,-40] mov w1, -1 strh w1, [x0,x27] -.L1930: +.L1916: mov w0, w22 bl INSERT_DATA_LIST - b .L1880 -.L1902: + b .L1866 +.L1888: add x25, x25, :lo12:.LANCHOR0 strh wzr, [x20,2] strb wzr, [x20,6] @@ -13059,29 +12887,29 @@ FtlGcFreeBadSuperBlk: ldrh w0, [x19,956] stp x21, x22, [sp,32] mov w21, 0 - cbz w0, .L1936 + cbz w0, .L1922 adrp x22, .LANCHOR0 - adrp x24, .LC111 + adrp x24, .LC110 add x22, x22, :lo12:.LANCHOR0 - add x24, x24, :lo12:.LC111 -.L1944: + add x24, x24, :lo12:.LC110 +.L1930: ldrh w0, [x22,1952] cmp w0, w21 - bls .L1945 + bls .L1931 add x0, x22, 1984 mov w1, w23 mov w20, 0 ldrb w0, [x0,w21,sxtw] bl V2P_block uxth w25, w0 -.L1937: +.L1923: ldrh w0, [x19,956] cmp w0, w20 - bls .L1946 + bls .L1932 add x0, x19, 960 ldrh w0, [x0,w20,sxtw 1] cmp w0, w25 - bne .L1938 + bne .L1924 mov w1, w25 mov x0, x24 bl printk @@ -13090,29 +12918,29 @@ FtlGcFreeBadSuperBlk: bl FtlBbmTblFlush ldrh w2, [x19,956] mov w3, w20 -.L1939: +.L1925: cmp w3, w2 - bcs .L1947 + bcs .L1933 add x4, x19, 960 add w0, w3, 1 ldrh w1, [x4,w0,sxtw 1] strh w1, [x4,w3,sxtw 1] uxth w3, w0 - b .L1939 -.L1947: + b .L1925 +.L1933: sub w2, w2, #1 strh w2, [x19,956] -.L1938: +.L1924: add w20, w20, 1 uxth w20, w20 - b .L1937 -.L1946: + b .L1923 +.L1932: add w21, w21, 1 uxth w21, w21 - b .L1944 -.L1945: + b .L1930 +.L1931: bl FtlGcReFreshBadBlk -.L1936: +.L1922: mov w0, 0 ldr x25, [sp,64] ldp x19, x20, [sp,16] @@ -13135,25 +12963,25 @@ update_vpc_list: mov x20, x0 ldr x3, [x1,-40] ldrh w2, [x3,x2] - cbnz w2, .L1949 + cbnz w2, .L1935 ldrh w3, [x1,296] cmp w3, w19 - bne .L1950 + bne .L1936 mov w0, -1 strh w0, [x1,296] - b .L1951 -.L1950: + b .L1937 +.L1936: ldrh w3, [x0,#:lo12:.LANCHOR2] mov w0, w2 cmp w3, w19 - beq .L1952 + beq .L1938 ldrh w3, [x1,48] cmp w3, w19 - beq .L1952 + beq .L1938 ldrh w1, [x1,96] cmp w1, w19 - beq .L1952 -.L1951: + beq .L1938 +.L1937: add x20, x20, :lo12:.LANCHOR2 mov w1, w19 sub x0, x20, #48 @@ -13166,12 +12994,12 @@ update_vpc_list: mov w0, w19 bl FtlGcFreeBadSuperBlk mov w0, 1 - b .L1952 -.L1949: + b .L1938 +.L1935: mov w0, w19 bl List_update_data_list mov w0, 0 -.L1952: +.L1938: ldp x19, x20, [sp,16] ldp x29, x30, [sp], 32 ret @@ -13187,42 +13015,42 @@ decrement_vpc_count: str x19, [sp,16] cmp w1, w0 adrp x2, .LANCHOR2 - beq .L1957 + beq .L1943 add x0, x2, :lo12:.LANCHOR2 ubfiz x3, x1, 1, 16 ldr x0, [x0,-40] ldrh w19, [x0,x3] - cbnz w19, .L1958 - adrp x0, .LC112 + cbnz w19, .L1944 + adrp x0, .LC111 mov w2, w19 - add x0, x0, :lo12:.LC112 + add x0, x0, :lo12:.LC111 bl printk - b .L1962 -.L1958: + b .L1948 +.L1944: sub w19, w19, #1 strh w19, [x0,x3] -.L1957: +.L1943: add x19, x2, :lo12:.LANCHOR2 mov w0, 65535 ldrh w2, [x19,2320] cmp w2, w0 - bne .L1960 + bne .L1946 strh w1, [x19,2320] -.L1962: +.L1948: mov w0, 0 - b .L1959 -.L1960: + b .L1945 +.L1946: cmp w2, w1 str x1, [x29,40] mov w0, 0 - beq .L1959 + beq .L1945 mov w0, w2 bl update_vpc_list cmp w0, wzr ldr x1, [x29,40] cset w0, ne strh w1, [x19,2320] -.L1959: +.L1945: ldr x19, [sp,16] ldp x29, x30, [sp], 48 ret @@ -13236,7 +13064,7 @@ FtlSlcSuperblockCheck: stp x19, x20, [sp,16] stp x21, x22, [sp,32] ldrh w1, [x0,4] - cbz w1, .L1963 + cbz w1, .L1949 mov x19, x0 ldrb w0, [x0,6] adrp x20, .LANCHOR2 @@ -13246,10 +13074,10 @@ FtlSlcSuperblockCheck: adrp x22, .LANCHOR0 add x20, x20, 996 ldrh w0, [x19,x0,lsl 1] -.L1966: +.L1952: cmp w0, w21 - bne .L1974 -.L1968: + bne .L1960 +.L1954: ldrb w0, [x19,6] add x1, x22, :lo12:.LANCHOR0 add w0, w0, 1 @@ -13257,50 +13085,50 @@ FtlSlcSuperblockCheck: uxtb w0, w0 strb w0, [x19,6] cmp w1, w0 - bne .L1967 + bne .L1953 ldrh w0, [x19,2] strb wzr, [x19,6] add w0, w0, 1 strh w0, [x19,2] -.L1967: +.L1953: ldrb w0, [x19,6] add x0, x0, 8 ldrh w0, [x19,x0,lsl 1] - b .L1966 -.L1974: + b .L1952 +.L1960: ldrb w1, [x19,8] cmp w1, 1 - bne .L1969 + bne .L1955 add x0, x22, :lo12:.LANCHOR0 ldrb w0, [x0,120] - cbnz w0, .L1969 + cbnz w0, .L1955 ldrh w0, [x19,2] ldrh w0, [x20,w0,sxtw 1] cmp w0, w21 - bne .L1969 + bne .L1955 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, .L1968 + cbnz w1, .L1954 ldrh w0, [x19,2] strb w1, [x19,6] add w0, w0, 1 strh w0, [x19,2] - b .L1963 -.L1969: + b .L1949 +.L1955: adrp x0, .LANCHOR0 add x0, x0, :lo12:.LANCHOR0 ldrb w2, [x0,120] - cbz w2, .L1963 + cbz w2, .L1949 cmp w1, 1 - bne .L1963 + bne .L1949 ldrh w2, [x19,2] ldrh w1, [x0,2028] cmp w2, w1 - bcc .L1963 + bcc .L1949 adrp x2, .LANCHOR2-40 ldrh w1, [x19] ldrh w4, [x19,4] @@ -13313,7 +13141,7 @@ FtlSlcSuperblockCheck: ldrh w0, [x0,2026] strh w0, [x19,2] strb wzr, [x19,6] -.L1963: +.L1949: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x29, x30, [sp], 48 @@ -13338,11 +13166,11 @@ get_new_active_ppa: adrp x23, .LANCHOR0 add x21, x21, 996 ldrh w0, [x19,x0,lsl 1] -.L1976: +.L1962: cmp w0, w22 adrp x20, .LANCHOR0 - bne .L1991 -.L1977: + bne .L1977 +.L1963: ldrb w0, [x19,6] add x1, x23, :lo12:.LANCHOR0 add w0, w0, 1 @@ -13350,34 +13178,34 @@ get_new_active_ppa: uxtb w0, w0 strb w0, [x19,6] cmp w1, w0 - bne .L1978 + bne .L1964 ldrh w0, [x19,2] strb wzr, [x19,6] add w0, w0, 1 strh w0, [x19,2] -.L1978: +.L1964: ldrb w0, [x19,6] add x0, x0, 8 ldrh w0, [x19,x0,lsl 1] - b .L1976 -.L1991: + b .L1962 +.L1977: ldrb w1, [x19,8] cmp w1, 1 - bne .L1979 + bne .L1965 add x1, x23, :lo12:.LANCHOR0 ldrb w1, [x1,120] - cbnz w1, .L1979 + cbnz w1, .L1965 ldrh w1, [x19,2] ldrh w1, [x21,w1,sxtw 1] cmp w1, w22 - bne .L1979 + bne .L1965 ldrh w0, [x19,4] sub w0, w0, #1 strh w0, [x19,4] ldrh w0, [x19] bl decrement_vpc_count - b .L1977 -.L1979: + b .L1963 +.L1965: ldrh w1, [x19,4] adrp x21, .LANCHOR2 ldrh w22, [x19,2] @@ -13388,50 +13216,50 @@ get_new_active_ppa: strh w1, [x19,4] mov w24, w23 add x21, x21, 996 -.L1980: +.L1966: add x0, x20, :lo12:.LANCHOR0 ldrb w1, [x19,6] ldrh w2, [x0,1952] -.L1982: +.L1968: add w1, w1, 1 uxtb w1, w1 cmp w1, w2 - bne .L1981 + bne .L1967 ldrh w1, [x19,2] add w1, w1, 1 strh w1, [x19,2] mov w1, 0 -.L1981: +.L1967: add x0, x19, x1, sxtw 1 ldrh w0, [x0,16] cmp w0, w23 - beq .L1982 + beq .L1968 ldrb w0, [x19,8] strb w1, [x19,6] cmp w0, 1 - bne .L1987 + bne .L1973 add x0, x20, :lo12:.LANCHOR0 ldrb w0, [x0,120] - cbnz w0, .L1984 + cbnz w0, .L1970 ldrh w0, [x19,2] ldrh w0, [x21,w0,sxtw 1] cmp w0, w24 - bne .L1984 + bne .L1970 ldrh w1, [x19,4] - cbz w1, .L1984 + cbz w1, .L1970 ldrh w0, [x19] sub w1, w1, #1 strh w1, [x19,4] bl decrement_vpc_count - b .L1980 -.L1984: + b .L1966 +.L1970: add x20, x20, :lo12:.LANCHOR0 ldrb w0, [x20,120] - cbz w0, .L1987 + cbz w0, .L1973 ldrh w1, [x19,2] ldrh w0, [x20,2028] cmp w1, w0 - bcc .L1987 + bcc .L1973 adrp x0, .LANCHOR2-40 ldrh w1, [x19] ldrh w3, [x19,4] @@ -13444,7 +13272,7 @@ get_new_active_ppa: ldrh w0, [x20,2026] strh w0, [x19,2] strb wzr, [x19,6] -.L1987: +.L1973: mov w0, w22 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -13550,7 +13378,7 @@ FtlVpcTblFlush: bl ftl_memcpy mov w0, 0 bl FtlUpdateVaildLpn -.L1993: +.L1979: ldr x0, [x19,-64] str x0, [x20,8] ldrh w1, [x19,280] @@ -13569,7 +13397,7 @@ FtlVpcTblFlush: ldrh w1, [x1,2028] sub w1, w1, #1 cmp w0, w1 - blt .L1994 + blt .L1980 ldrh w0, [x19,280] ldrh w25, [x19,284] strh wzr, [x19,282] @@ -13589,31 +13417,31 @@ FtlVpcTblFlush: mov w3, w1 mov x0, x20 bl FlashProgPages -.L1994: +.L1980: ldrh w1, [x19,282] ldr w0, [x20] add w1, w1, 1 cmn w0, #1 uxth w1, w1 strh w1, [x19,282] - bne .L1995 + bne .L1981 cmp w1, 1 - bne .L1993 + bne .L1979 add x0, x21, :lo12:.LANCHOR0 ldrh w1, [x0,2028] sub w1, w1, #1 strh w1, [x19,282] - b .L1993 -.L1995: + b .L1979 +.L1981: cmp w1, 1 - beq .L1993 + beq .L1979 mov w0, 65535 cmp w25, w0 - beq .L1997 + beq .L1983 mov w0, w25 mov w1, 1 bl FtlFreeSysBlkQueueIn -.L1997: +.L1983: mov w0, 0 ldr x25, [sp,64] ldp x19, x20, [sp,16] @@ -13627,47 +13455,43 @@ FtlVpcTblFlush: .type FtlSuperblockPowerLostFix, %function FtlSuperblockPowerLostFix: stp x29, x30, [sp, -144]! - adrp x1, __stack_chk_guard add x29, sp, 0 stp x19, x20, [sp,16] - mov x19, x0 adrp x20, .LANCHOR2 - ldr x0, [x1,#:lo12:__stack_chk_guard] - str x0, [x29,136] + mov x19, x0 add x0, x20, :lo12:.LANCHOR2 + str x25, [sp,64] stp x21, x22, [sp,32] stp x23, x24, [sp,48] - stp x25, x26, [sp,64] mov w23, 0 - mov x26, x1 - ldr x22, [x0,904] + ldr x22, [x0,2112] adrp x0, .LANCHOR0 - add x2, x0, :lo12:.LANCHOR0 + add x1, x0, :lo12:.LANCHOR0 mov x21, x0 - ldrb w2, [x2,120] - cbz w2, .L2002 + ldrb w1, [x1,120] + cbz w1, .L1988 ldrb w0, [x19,8] cmp w0, 1 cset w23, eq -.L2002: +.L1988: mov w24, 7 mov w25, -1 -.L2003: +.L1989: subs w24, w24, #1 - beq .L2004 + beq .L1990 ldrh w0, [x19,4] - cbz w0, .L2004 + cbz w0, .L1990 mov x0, x19 bl get_new_active_ppa - str w0, [x29,84] + str w0, [x29,92] add x1, x20, :lo12:.LANCHOR2 - str w25, [x29,104] + str w25, [x29,112] mov w2, w23 mov w3, 0 ldr x0, [x1,-64] - str x0, [x29,88] - ldr x0, [x1,2112] str x0, [x29,96] + ldr x0, [x1,2112] + str x0, [x29,104] str w25, [x22,8] str w25, [x22,12] ldrh w0, [x19] @@ -13680,13 +13504,13 @@ FtlSuperblockPowerLostFix: cmn w0, #1 csel w0, w0, wzr, ne str w0, [x1,200] - add x0, x29, 80 + add x0, x29, 88 mov w1, 1 bl FlashProgPages ldrh w0, [x19] bl decrement_vpc_count - b .L2003 -.L2004: + b .L1989 +.L1990: add x20, x20, :lo12:.LANCHOR2 ldrh w0, [x19] ldrh w3, [x19,4] @@ -13698,18 +13522,12 @@ FtlSuperblockPowerLostFix: add x0, x21, :lo12:.LANCHOR0 strb wzr, [x19,6] strh wzr, [x19,4] - ldr x1, [x29,136] + ldp x21, x22, [sp,32] ldrh w0, [x0,2026] strh w0, [x19,2] - ldr x0, [x26,#:lo12:__stack_chk_guard] - cmp x1, x0 - beq .L2008 - bl __stack_chk_fail -.L2008: - ldp x19, x20, [sp,16] - ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] - ldp x25, x26, [sp,64] + ldp x19, x20, [sp,16] + ldr x25, [sp,64] ldp x29, x30, [sp], 144 ret .size FtlSuperblockPowerLostFix, .-FtlSuperblockPowerLostFix @@ -13732,12 +13550,12 @@ ftl_map_blk_gc: ldrh w2, [x19,8] sub w1, w1, #1 cmp w2, w1 - blt .L2015 + blt .L2000 ubfiz x1, x0, 1, 16 ldrh w24, [x20,x1] - cbz w24, .L2015 + cbz w24, .L2000 ldr w0, [x19,52] - cbnz w0, .L2015 + cbnz w0, .L2000 mov w2, 1 str w2, [x19,52] strh w0, [x20,x1] @@ -13748,23 +13566,23 @@ ftl_map_blk_gc: add x0, x22, :lo12:.LANCHOR0 ldrh w0, [x0,2028] cmp w1, w0 - bcc .L2016 + bcc .L2001 mov x0, x19 bl ftl_map_blk_alloc_new_blk -.L2016: +.L2001: adrp x20, .LANCHOR4 mov w21, 0 add x20, x20, :lo12:.LANCHOR4 adrp x26, .LANCHOR2 add x20, x20, 136 -.L2017: +.L2002: ldrh w0, [x19,6] cmp w0, w21 - bls .L2025 + bls .L2010 ubfiz x25, x21, 2, 16 ldr w0, [x23,x25] cmp w24, w0, lsr 10 - bne .L2018 + bne .L2003 add x0, x26, :lo12:.LANCHOR2 ldr x1, [x0,2072] ldr x0, [x0,2112] @@ -13778,32 +13596,32 @@ ftl_map_blk_gc: bl FlashReadPages ldr w0, [x20] cmn w0, #1 - bne .L2019 + bne .L2004 str wzr, [x23,x25] - b .L2018 -.L2019: + b .L2003 +.L2004: ldr x2, [x20,8] mov x0, x19 mov w1, w21 bl FtlMapWritePage -.L2018: +.L2003: add w21, w21, 1 uxth w21, w21 - b .L2017 -.L2025: + b .L2002 +.L2010: mov w0, w24 mov w1, 1 bl FtlFreeSysBlkQueueIn str wzr, [x19,52] -.L2015: +.L2000: add x22, x22, :lo12:.LANCHOR0 ldrh w1, [x19,2] ldrh w0, [x22,2028] cmp w1, w0 - bcc .L2021 + bcc .L2006 mov x0, x19 bl ftl_map_blk_alloc_new_blk -.L2021: +.L2006: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -13827,7 +13645,7 @@ Ftl_write_map_blk_to_last_page: ldr x23, [x0,40] ldrh w0, [x0] cmp w0, w1 - bne .L2027 + bne .L2012 ldrh w0, [x19,8] add w0, w0, 1 strh w0, [x19,8] @@ -13838,8 +13656,8 @@ Ftl_write_map_blk_to_last_page: strh wzr, [x19] add w0, w0, 1 str w0, [x19,48] - b .L2028 -.L2027: + b .L2013 +.L2012: ubfiz x0, x0, 1, 16 adrp x21, .LANCHOR2 add x3, x21, :lo12:.LANCHOR2 @@ -13868,14 +13686,14 @@ Ftl_write_map_blk_to_last_page: bl ftl_memset mov w0, 0 mov w1, w0 -.L2029: +.L2014: ldrh w2, [x19,6] cmp w2, w1 - bls .L2032 + bls .L2017 ubfiz x4, x1, 2, 16 ldr w2, [x23,x4] cmp w22, w2, lsr 10 - bne .L2030 + bne .L2015 add x3, x21, :lo12:.LANCHOR2 add w0, w0, 1 uxth w0, w0 @@ -13886,11 +13704,11 @@ Ftl_write_map_blk_to_last_page: ldr w4, [x23,x4] add x2, x3, x2 str w4, [x2,4] -.L2030: +.L2015: add w1, w1, 1 uxth w1, w1 - b .L2029 -.L2032: + b .L2014 +.L2017: mov w1, 1 add x0, x20, :lo12:.LANCHOR4 add x0, x0, 136 @@ -13902,7 +13720,7 @@ Ftl_write_map_blk_to_last_page: strh w0, [x19,2] mov x0, x19 bl ftl_map_blk_gc -.L2028: +.L2013: mov w0, 0 ldr x23, [sp,48] ldp x19, x20, [sp,16] @@ -13931,7 +13749,7 @@ FtlMapWritePage: mov x25, x22 mov w26, 65535 add x20, x20, 136 -.L2039: +.L2024: add x1, x22, :lo12:.LANCHOR2 ldr w0, [x1,180] add w0, w0, 1 @@ -13941,14 +13759,14 @@ FtlMapWritePage: ldrh w0, [x0,2028] sub w0, w0, #1 cmp w1, w0 - bge .L2034 + bge .L2019 ldrh w0, [x19] cmp w0, w26 - bne .L2035 -.L2034: + bne .L2020 +.L2019: mov x0, x19 bl Ftl_write_map_blk_to_last_page -.L2035: +.L2020: ldrh w1, [x19] mov w2, 16 ldr x0, [x19,16] @@ -13979,10 +13797,10 @@ FtlMapWritePage: uxth w0, w0 strh w0, [x19,2] cmp w0, 1 - beq .L2039 + beq .L2024 ldr w0, [x20] cmn w0, #1 - beq .L2039 + beq .L2024 ldr x0, [x19,40] ldr w1, [x20,4] str w1, [x0,w21,uxtw 2] @@ -14049,25 +13867,25 @@ log2phys: uxth w20, w20 uxth x24, w0 ldrh w0, [x5,2066] -.L2044: +.L2029: uxth x19, w4 cmp w19, w0 - bcs .L2056 + bcs .L2041 add x4, x4, 1 add x1, x25, x4, lsl 4 ldrh w1, [x1,-16] cmp w1, w20 - bne .L2044 -.L2045: - cbnz w22, .L2046 + bne .L2029 +.L2030: + cbnz w22, .L2031 add x0, x23, :lo12:.LANCHOR2 ldr x1, [x0,144] add x1, x1, x19, lsl 4 ldr x0, [x1,8] ldr w0, [x0,x24,lsl 2] str w0, [x21] - b .L2047 -.L2046: + b .L2032 +.L2031: add x1, x23, :lo12:.LANCHOR2 lsl x0, x19, 4 ldr w3, [x21] @@ -14081,17 +13899,17 @@ log2phys: ldr w2, [x0,4] orr w2, w2, -2147483648 str w2, [x0,4] -.L2047: +.L2032: add x23, x23, :lo12:.LANCHOR2 ldr x0, [x23,144] add x19, x0, x19, lsl 4 ldr w0, [x19,4] cmn w0, #1 - beq .L2053 + beq .L2038 add w0, w0, 1 str w0, [x19,4] - b .L2053 -.L2056: + b .L2038 +.L2041: bl select_l2p_ram_region uxth x19, w0 ubfiz x2, x19, 4, 16 @@ -14100,17 +13918,17 @@ log2phys: ldrh w4, [x25,x2] mov w2, 65535 cmp w4, w2 - beq .L2050 + beq .L2035 ldr w2, [x3,4] - tbz w2, #31, .L2050 + tbz w2, #31, .L2035 str x1, [x29,88] bl flush_l2p_region ldr x1, [x29,88] -.L2050: +.L2035: mov w0, w20 bl load_l2p_region - b .L2045 -.L2053: + b .L2030 +.L2038: mov w0, 0 ldr x25, [sp,64] ldp x19, x20, [sp,16] @@ -14137,9 +13955,9 @@ FtlReUsePrevPpa: ubfiz x22, x0, 1, 16 ldr x3, [x2,-40] ldrh w1, [x3,x22] - cbnz w1, .L2058 + cbnz w1, .L2043 ldr x19, [x2,-16] - cbz x19, .L2059 + cbz x19, .L2044 ldrh w3, [x2,-8] mov x4, -6148914691236517206 ldr x2, [x2,-56] @@ -14149,11 +13967,11 @@ FtlReUsePrevPpa: madd x19, x4, x19, x19 mov w4, 6 uxth w19, w19 -.L2060: +.L2045: cmp w1, w3 - beq .L2059 + beq .L2044 cmp w19, w0 - bne .L2061 + bne .L2046 add x21, x21, :lo12:.LANCHOR2 mov w1, w19 sub x0, x21, #16 @@ -14167,19 +13985,19 @@ FtlReUsePrevPpa: ldrh w0, [x1,x22] add w0, w0, 1 strh w0, [x1,x22] - b .L2059 -.L2061: + b .L2044 +.L2046: umull x19, w19, w4 ldrh w19, [x2,x19] cmp w19, w5 - beq .L2059 + beq .L2044 add w1, w1, 1 uxth w1, w1 - b .L2060 -.L2058: + b .L2045 +.L2043: add w1, w1, 1 strh w1, [x3,x22] -.L2059: +.L2044: add x1, x29, 60 mov w0, w20 mov w2, 1 @@ -14234,13 +14052,13 @@ FtlMapTblRecovery: str wzr, [x27,48] str w1, [x27,56] str w0, [x29,116] -.L2067: +.L2052: cmp w25, w23 - bge .L2084 + bge .L2069 ldr w0, [x29,116] sxtw x28, w25 cmp w25, w0 - bne .L2068 + bne .L2053 lsl x0, x28, 1 mov w1, 1 add x23, x21, x0 @@ -14259,9 +14077,9 @@ FtlMapTblRecovery: add x19, x0, :lo12:.LANCHOR4 add x19, x19, 136 str xzr, [x19,8] -.L2069: +.L2054: cmp w21, w24 - bge .L2084 + bge .L2069 ldrh w0, [x23] mov w1, 1 mov w2, w1 @@ -14271,33 +14089,33 @@ FtlMapTblRecovery: bl FlashReadPages ldr w0, [x19] cmn w0, #1 - beq .L2070 + beq .L2055 ldrh w0, [x26,8] cmp w0, w22 - bcs .L2070 + bcs .L2055 ldrh w2, [x26] ldrh w1, [x27,4] cmp w2, w1 - bne .L2070 + bne .L2055 ubfiz x0, x0, 2, 16 ldr w1, [x19,4] str w1, [x20,x0] -.L2070: +.L2055: add w21, w21, 1 sxth w21, w21 - b .L2069 -.L2084: + b .L2054 +.L2069: mov x0, x27 bl ftl_free_no_use_map_blk adrp x0, .LANCHOR0+2028 ldrh w1, [x27,2] ldrh w0, [x0,#:lo12:.LANCHOR0+2028] cmp w1, w0 - bne .L2073 + bne .L2058 mov x0, x27 bl ftl_map_blk_alloc_new_blk - b .L2073 -.L2068: + b .L2058 +.L2053: ldr x0, [x29,136] add x0, x0, :lo12:.LANCHOR2 ldr x0, [x0,-64] @@ -14316,47 +14134,47 @@ FtlMapTblRecovery: bl FlashReadPages ldr w0, [x19] cmn w0, #1 - beq .L2074 + beq .L2059 ldrh w1, [x26] ldrh w0, [x27,4] cmp w1, w0 - bne .L2074 + bne .L2059 ldrh w1, [x26,8] mov w0, 64245 cmp w1, w0 - bne .L2074 + bne .L2059 mov w0, 0 -.L2075: +.L2060: adrp x1, .LANCHOR0 add x1, x1, :lo12:.LANCHOR0 ldrh w1, [x1,2028] sub w1, w1, #1 cmp w0, w1 - bge .L2078 + bge .L2063 ldr x1, [x29,136] sbfiz x2, x0, 3, 32 add x1, x1, :lo12:.LANCHOR2 ldr x5, [x1,-64] ldrh w1, [x5,x2] cmp w1, w22 - bcs .L2076 + bcs .L2061 add x2, x5, x2 ubfiz x1, x1, 2, 16 ldr w2, [x2,4] str w2, [x20,x1] -.L2076: +.L2061: add w0, w0, 1 sxth w0, w0 - b .L2075 -.L2074: + b .L2060 +.L2059: str xzr, [x19,8] mov w5, 0 -.L2079: +.L2064: adrp x0, .LANCHOR0 add x0, x0, :lo12:.LANCHOR0 ldrh w0, [x0,2028] cmp w5, w0 - bge .L2078 + bge .L2063 ldrh w0, [x28] mov w1, 1 mov w2, w1 @@ -14368,33 +14186,33 @@ FtlMapTblRecovery: ldr w0, [x19] ldr x5, [x29,104] cmn w0, #1 - beq .L2080 + beq .L2065 ldrh w0, [x26,8] cmp w0, w22 - bcs .L2080 + bcs .L2065 ldrh w2, [x26] ldrh w1, [x27,4] cmp w2, w1 - bne .L2080 + bne .L2065 ubfiz x0, x0, 2, 16 ldr w1, [x19,4] str w1, [x20,x0] -.L2080: +.L2065: add w5, w5, 1 sxth w5, w5 - b .L2079 -.L2078: + b .L2064 +.L2063: add w6, w25, 1 sxth w25, w6 - b .L2067 -.L2073: + b .L2052 +.L2058: ldrh w1, [x27,8] ldrh w0, [x27,10] cmp w1, w0 - bcc .L2085 + bcc .L2070 mov x0, x27 bl ftl_map_blk_gc -.L2085: +.L2070: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -14457,219 +14275,196 @@ FtlLoadMapInfo: .global FtlReadRefresh .type FtlReadRefresh, %function FtlReadRefresh: - stp x29, x30, [sp, -144]! + stp x29, x30, [sp, -112]! adrp x1, .LANCHOR2 + add x0, x1, :lo12:.LANCHOR2 add x29, sp, 0 - stp x21, x22, [sp,32] - adrp x21, __stack_chk_guard - str x23, [sp,48] + add x2, x0, 352 stp x19, x20, [sp,16] + stp x21, x22, [sp,32] adrp x20, .LANCHOR0 - ldr x0, [x21,#:lo12:__stack_chk_guard] - str x0, [x29,136] - add x0, x1, :lo12:.LANCHOR2 - add x2, x0, 352 ldr w3, [x2,80] - cbz w3, .L2099 + cbz w3, .L2084 add x1, x20, :lo12:.LANCHOR0 ldr w3, [x2,84] ldr w1, [x1,2104] cmp w3, w1 - bcs .L2100 - mov w22, 2048 + bcs .L2085 + mov w21, 2048 mov x19, x0 -.L2105: +.L2090: add x1, x20, :lo12:.LANCHOR0 ldr w0, [x19,436] ldr w1, [x1,2104] cmp w0, w1 - bcs .L2102 - add x1, x29, 76 + bcs .L2087 + add x1, x29, 52 mov w2, 0 bl log2phys ldr w0, [x19,436] - ldr w1, [x29,76] + ldr w1, [x29,52] add w0, w0, 1 str w0, [x19,436] cmn w1, #1 - beq .L2103 - str w1, [x29,84] + beq .L2088 + str w1, [x29,60] mov w2, 0 - str w0, [x29,104] + str w0, [x29,80] mov w1, 1 - add x0, x29, 80 - str xzr, [x29,88] - str xzr, [x29,96] - str wzr, [x29,80] + add x0, x29, 56 + str xzr, [x29,64] + str xzr, [x29,72] + str wzr, [x29,56] bl FlashReadPages - ldr w0, [x29,80] + ldr w0, [x29,56] cmp w0, 256 - bne .L2102 - ldr w0, [x29,76] + bne .L2087 + ldr w0, [x29,52] lsr x0, x0, 10 bl P2V_block_in_plane bl FtlGcRefreshBlock - b .L2102 -.L2103: - subs w22, w22, #1 - bne .L2105 -.L2102: + b .L2087 +.L2088: + subs w21, w21, #1 + bne .L2090 +.L2087: mov w0, -1 - b .L2107 -.L2100: + b .L2092 +.L2085: ldr w0, [x0,164] str wzr, [x2,80] str wzr, [x2,84] str w0, [x2,76] - b .L2114 -.L2099: + b .L2098 +.L2084: add x20, x20, :lo12:.LANCHOR0 ldr w3, [x0,216] mov w2, 1048576 ldr w0, [x0,160] ldrb w4, [x20,120] - cbnz w4, .L2108 + cbnz w4, .L2093 add w2, w0, w3, lsr 10 mov w0, 33554432 asr w2, w0, w2 -.L2108: +.L2093: add x3, x1, :lo12:.LANCHOR2 ldr w0, [x3,428] ldr w3, [x3,164] add w4, w3, 1048576 cmp w0, w4 - bhi .L2109 + bhi .L2094 add w2, w2, w0 mov w0, 0 cmp w2, w3 - bcs .L2107 -.L2109: + bcs .L2092 +.L2094: add x0, x1, :lo12:.LANCHOR2 mov w1, 1 str wzr, [x0,436] str w1, [x0,432] str w3, [x0,428] -.L2114: +.L2098: mov w0, 0 -.L2107: - ldr x2, [x29,136] - ldr x1, [x21,#:lo12:__stack_chk_guard] - cmp x2, x1 - beq .L2110 - bl __stack_chk_fail -.L2110: +.L2092: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] - ldr x23, [sp,48] - ldp x29, x30, [sp], 144 + ldp x29, x30, [sp], 112 ret .size FtlReadRefresh, .-FtlReadRefresh .align 2 .global FtlVendorPartWrite .type FtlVendorPartWrite, %function FtlVendorPartWrite: - stp x29, x30, [sp, -192]! + stp x29, x30, [sp, -176]! add x29, sp, 0 - stp x25, x26, [sp,64] - adrp x25, __stack_chk_guard - mov x26, x2 - stp x27, x28, [sp,80] stp x23, x24, [sp,48] - mov w28, w0 adrp x23, .LANCHOR0 - ldr x0, [x25,#:lo12:__stack_chk_guard] - mov w27, w1 - str x0, [x29,184] + stp x25, x26, [sp,64] + mov w26, w0 add x0, x23, :lo12:.LANCHOR0 stp x19, x20, [sp,16] + stp x27, x28, [sp,80] stp x21, x22, [sp,32] - add w1, w28, w1 - str x25, [x29,120] + mov w28, w1 + add w1, w26, w1 ldrh w21, [x0,2034] - mov w20, -1 + mov x25, x2 ldrh w0, [x0,2020] + mov w20, -1 cmp w1, w0 - bhi .L2116 + bhi .L2100 adrp x24, .LANCHOR4 - lsr w21, w28, w21 + lsr w21, w26, w21 add x24, x24, :lo12:.LANCHOR4 mov w20, 0 - adrp x25, .LANCHOR2 + adrp x27, .LANCHOR2 add x24, x24, 200 -.L2117: - cbz w27, .L2116 - add x2, x25, :lo12:.LANCHOR2 +.L2101: + cbz w28, .L2100 + adrp x0, .LANCHOR2 + add x2, x0, :lo12:.LANCHOR2 ldr x0, [x2,2200] - ldr w5, [x0,w21,uxtw 2] + ldr w4, [x0,w21,uxtw 2] add x0, x23, :lo12:.LANCHOR0 ldrh w1, [x0,2032] - uxth w0, w27 - udiv w22, w28, w1 - msub w22, w22, w1, w28 + uxth w0, w28 + udiv w22, w26, w1 + msub w22, w22, w1, w26 sub w19, w1, w22 uxth w19, w19 - cmp w19, w27 + cmp w19, w28 csel w19, w0, w19, hi cmp w19, w1 - beq .L2119 - cbz w5, .L2119 + beq .L2103 + cbz w4, .L2103 ldr x0, [x2,2080] mov w1, 1 - str x0, [x29,136] + str x0, [x29,128] mov w2, w1 - add x0, x29, 128 - str w5, [x29,132] - str xzr, [x29,144] + add x0, x29, 120 + str w4, [x29,124] + str xzr, [x29,136] bl FlashReadPages - b .L2120 -.L2119: - adrp x0, .LANCHOR2 + b .L2104 +.L2103: + add x0, x27, :lo12:.LANCHOR2 add x2, x23, :lo12:.LANCHOR0 - add x0, x0, :lo12:.LANCHOR2 mov w1, 0 - ldrh w2, [x2,2036] ldr x0, [x0,2080] + ldrh w2, [x2,2036] bl ftl_memset -.L2120: - adrp x0, .LANCHOR2 - lsl w5, w19, 9 - add x6, x0, :lo12:.LANCHOR2 +.L2104: + add x5, x27, :lo12:.LANCHOR2 + lsl w4, w19, 9 ubfiz x22, x22, 9, 16 - mov w2, w5 - mov x1, x26 - str x5, [x29,112] - sub w27, w27, w19 - ldr x0, [x6,2080] - add w28, w28, w19 - str x6, [x29,104] + mov w2, w4 + mov x1, x25 + str x4, [x29,104] + ldr x0, [x5,2080] + sub w28, w28, w19 + str x5, [x29,96] + add w26, w26, w19 add x0, x0, x22 bl ftl_memcpy - ldr x6, [x29,104] + ldr x5, [x29,96] mov w1, w21 mov x0, x24 add w21, w21, 1 - ldr x2, [x6,2080] + ldr x2, [x5,2080] bl FtlMapWritePage cmn w0, #1 - ldr x5, [x29,112] + ldr x4, [x29,104] csinv w20, w20, wzr, ne - add x26, x26, x5, sxtw - b .L2117 -.L2116: - ldr x1, [x29,120] + add x25, x25, x4, sxtw + b .L2101 +.L2100: mov w0, w20 - ldr x2, [x29,184] - ldr x1, [x1,#:lo12:__stack_chk_guard] - cmp x2, x1 - beq .L2123 - bl __stack_chk_fail -.L2123: 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], 192 + ldp x29, x30, [sp], 176 ret .size FtlVendorPartWrite, .-FtlVendorPartWrite .align 2 @@ -14685,7 +14480,7 @@ Ftl_save_ext_data: add x29, sp, 0 ldr w3, [x0,352] cmp w3, w1 - bne .L2131 + bne .L2114 mov w1, 54 movk w1, 0x5000, lsl 16 str w1, [x2,4] @@ -14720,7 +14515,7 @@ Ftl_save_ext_data: str w0, [x2,64] mov w0, 0 bl FtlVendorPartWrite -.L2131: +.L2114: ldp x29, x30, [sp], 16 ret .size Ftl_save_ext_data, .-Ftl_save_ext_data @@ -14734,30 +14529,30 @@ FtlEctTblFlush: stp x29, x30, [sp, -16]! add x29, sp, 0 ldr w4, [x3,160] - cbz w4, .L2134 + cbz w4, .L2117 ldr w3, [x3,220] cmp w3, 29 mov w3, 4 csel w1, w1, w3, hi -.L2134: +.L2117: adrp x3, .LANCHOR4 add x3, x3, :lo12:.LANCHOR4 ldrh w4, [x3,264] cmp w4, 31 - bhi .L2135 + bhi .L2118 add w4, w4, 1 mov w1, 1 strh w4, [x3,264] -.L2135: - cbnz w0, .L2136 +.L2118: + cbnz w0, .L2119 add x0, x2, :lo12:.LANCHOR2 ldr x3, [x0,2152] ldr w0, [x3,20] add w1, w1, w0 ldr w0, [x3,16] cmp w0, w1 - bcc .L2137 -.L2136: + bcc .L2120 +.L2119: add x2, x2, :lo12:.LANCHOR2 ldr x0, [x2,2152] ldr w1, [x0,16] @@ -14777,7 +14572,7 @@ FtlEctTblFlush: mov w0, 64 bl FtlVendorPartWrite bl Ftl_save_ext_data -.L2137: +.L2120: mov w0, 0 ldp x29, x30, [sp], 16 ret @@ -14813,7 +14608,7 @@ FtlMapBlkWriteDumpData: ldr w1, [x0,56] ldrh w20, [x0,6] ldr x4, [x0,40] - cbz w1, .L2142 + cbz w1, .L2125 adrp x3, .LANCHOR2 adrp x2, .LANCHOR4 add x3, x3, :lo12:.LANCHOR2 @@ -14831,24 +14626,24 @@ FtlMapBlkWriteDumpData: str x0, [x1,8] ldr w3, [x4,x3] str w3, [x1,4] - cbz w3, .L2144 + cbz w3, .L2127 mov x0, x1 mov w1, 1 mov w2, w1 bl FlashReadPages - b .L2145 -.L2144: + b .L2128 +.L2127: adrp x2, .LANCHOR0+2036 mov w1, 255 ldrh w2, [x2,#:lo12:.LANCHOR0+2036] bl ftl_memset -.L2145: +.L2128: add x2, x19, :lo12:.LANCHOR4 mov x0, x21 mov w1, w20 ldr x2, [x2,144] bl FtlMapWritePage -.L2142: +.L2125: ldp x19, x20, [sp,16] ldr x21, [sp,32] ldp x29, x30, [sp], 48 @@ -14858,64 +14653,60 @@ FtlMapBlkWriteDumpData: .global FtlRecoverySuperblock .type FtlRecoverySuperblock, %function FtlRecoverySuperblock: - stp x29, x30, [sp, -224]! + stp x29, x30, [sp, -208]! add x29, sp, 0 stp x19, x20, [sp,16] - mov x19, x0 - adrp x0, __stack_chk_guard stp x23, x24, [sp,48] - adrp x23, .LANCHOR0 - str x0, [x29,136] - ldr x1, [x0,#:lo12:__stack_chk_guard] - str x1, [x29,216] - ldrh w1, [x19,2] - str w1, [x29,188] - add x1, x23, :lo12:.LANCHOR0 stp x27, x28, [sp,80] stp x21, x22, [sp,32] stp x25, x26, [sp,64] - ldr w2, [x29,188] - ldrh w1, [x1,2026] + mov x19, x0 + adrp x23, .LANCHOR0 + ldrh w0, [x0,2] + str w0, [x29,188] + add x0, x23, :lo12:.LANCHOR0 ldrb w27, [x19,6] - cmp w1, w2 - bne .L2150 + ldr w1, [x29,188] + ldrh w0, [x0,2026] + cmp w0, w1 + bne .L2133 strh wzr, [x19,4] - b .L2302 -.L2150: + b .L2284 +.L2133: ldrh w0, [x19,16] mov w1, 0 mov w2, 65535 -.L2152: +.L2135: cmp w0, w2 - bne .L2305 + bne .L2287 add w1, w1, 1 uxth w1, w1 add x0, x19, x1, sxtw 1 ldrh w0, [x0,16] - b .L2152 -.L2305: + b .L2135 +.L2287: ldrb w1, [x19,8] cmp w1, 1 - bne .L2154 + bne .L2137 bl FtlGetLastWrittenPage cmn w0, #1 mov w21, w0 - beq .L2155 + beq .L2138 add x0, x23, :lo12:.LANCHOR0 mov w24, w21 ldrb w1, [x0,120] - cbnz w1, .L2224 + cbnz w1, .L2207 add x0, x0, 196 ldrh w24, [x0,w21,sxtw 1] - b .L2224 -.L2154: + b .L2207 +.L2137: mov w1, 0 bl FtlGetLastWrittenPage cmn w0, #1 mov w21, w0 - beq .L2155 + beq .L2138 mov w24, w0 -.L2224: +.L2207: add x0, x23, :lo12:.LANCHOR0 mov x2, x19 mov w28, 0 @@ -14926,16 +14717,16 @@ FtlRecoverySuperblock: mov w10, 4 ldrh w6, [x0,2038] add x3, x19, x3, lsl 1 - b .L2157 -.L2155: + b .L2140 +.L2138: strh wzr, [x19,2] -.L2302: +.L2284: strb wzr, [x19,6] - b .L2151 -.L2159: + b .L2278 +.L2142: ldrh w1, [x2,16] cmp w1, w7 - beq .L2158 + beq .L2141 add x4, x9, :lo12:.LANCHOR2 orr w1, w24, w1, lsl 10 umull x0, w28, w8 @@ -14952,21 +14743,21 @@ FtlRecoverySuperblock: uxth w28, w28 add x1, x4, x1, sxtw 2 str x1, [x0,16] -.L2158: +.L2141: add x2, x2, 2 -.L2157: +.L2140: cmp x2, x3 - bne .L2159 + bne .L2142 ldrb w0, [x19,8] str wzr, [x29,184] cmp w0, 1 - bne .L2160 + bne .L2143 add x0, x23, :lo12:.LANCHOR0 ldrb w0, [x0,120] cmp w0, wzr cset w0, ne str w0, [x29,184] -.L2160: +.L2143: adrp x20, .LANCHOR2 ldr w2, [x29,184] add x25, x20, :lo12:.LANCHOR2 @@ -14978,15 +14769,15 @@ FtlRecoverySuperblock: ldr x3, [x25,2048] uxth w6, w24 mov w25, 65535 -.L2161: +.L2144: cmp w26, w28 - beq .L2306 + beq .L2288 ldr w0, [x3] - cbnz w0, .L2162 + cbnz w0, .L2145 ldr x4, [x3,16] ldr w2, [x4,4] cmn w2, #1 - beq .L2163 + beq .L2146 add x5, x20, :lo12:.LANCHOR2 mov w0, w2 str x6, [x29,144] @@ -15001,13 +14792,13 @@ FtlRecoverySuperblock: ldr x3, [x29,160] ldr x4, [x29,152] ldr x6, [x29,144] - cbz w0, .L2163 + cbz w0, .L2146 add w2, w2, 1 str w2, [x5,200] -.L2163: +.L2146: ldr w0, [x4] cmn w0, #1 - bne .L2164 + bne .L2147 add x0, x20, :lo12:.LANCHOR2 mov w1, 56 uxth w21, w21 @@ -15015,160 +14806,93 @@ FtlRecoverySuperblock: ldr x0, [x0,2048] add x26, x0, x26 ldr w0, [x26,4] - b .L2298 -.L2162: + b .L2280 +.L2145: mov w25, w6 -.L2164: +.L2147: add w26, w26, 1 add x3, x3, 56 uxth w26, w26 - b .L2161 -.L2306: + b .L2144 +.L2288: add x0, x20, :lo12:.LANCHOR2 add w21, w21, 1 uxth w21, w21 ldr x0, [x0,2048] ldr w0, [x0,4] -.L2298: +.L2280: lsr x0, x0, 10 bl P2V_plane uxth w26, w0 ldrb w1, [x19,8] cmp w1, 1 - bne .L2168 + bne .L2151 add x0, x23, :lo12:.LANCHOR0 ldrb w2, [x0,120] - cbnz w2, .L2168 + cbnz w2, .L2151 add x0, x0, 196 ldrh w21, [x0,w21,sxtw 1] -.L2168: +.L2151: add x0, x23, :lo12:.LANCHOR0 ldrh w0, [x0,2026] cmp w0, w21 - bne .L2169 + bne .L2152 strh w21, [x19,2] strb wzr, [x19,6] strh wzr, [x19,4] -.L2169: +.L2152: uxth w0, w27 str w0, [x29,152] ldr w0, [x29,188] cmp w21, w0 - beq .L2307 -.L2170: + bne .L2153 + ldr w0, [x29,152] + cmp w26, w0 + beq .L2285 +.L2153: mov w0, 65535 sub w22, w22, #1 cmp w25, w0 - bne .L2171 - cbz w1, .L2171 -.L2172: - adrp x25, .LANCHOR4 - mov w1, 1 - add x0, x25, :lo12:.LANCHOR4 - strh w1, [x0,266] - add x0, x20, :lo12:.LANCHOR2 - add x0, x0, 2240 - bl FtlMapBlkWriteDumpData - ldr w24, [x29,188] - adrp x0, .LC113 - str x25, [x29,128] - add x0, x0, :lo12:.LC113 - str x0, [x29,120] -.L2190: - add x0, x23, :lo12:.LANCHOR0 - mov x1, x19 - str wzr, [x29,176] - mov w7, 65535 - mov w8, 56 - ldrh w3, [x0,1952] - ldrb w6, [x0,120] - add x3, x19, x3, lsl 1 -.L2191: - cmp x1, x3 - bne .L2194 - add x0, x20, :lo12:.LANCHOR2 - ldr w1, [x29,176] - ldr w2, [x29,184] - ldr x0, [x0,2048] - bl FlashReadPages - str xzr, [x29,160] -.L2195: - ldrh w0, [x29,160] - ldr w1, [x29,176] - cmp w1, w0, uxth - bhi .L2221 - add x0, x23, :lo12:.LANCHOR0 - add w24, w24, 1 - uxth w24, w24 - ldrh w1, [x0,2026] - cmp w24, w1 - bne .L2190 - ldrh w2, [x0,1952] - mov w3, 65535 - strh w24, [x19,2] - mov x0, 0 - strh wzr, [x19,4] -.L2222: - uxth w1, w0 - cmp w1, w2 - bcs .L2151 - add x0, x0, 1 - add x4, x19, x0, lsl 1 - ldrh w4, [x4,14] - cmp w4, w3 - beq .L2222 - strb w1, [x19,6] -.L2151: - ldr x1, [x29,136] - mov w0, 0 - ldr x2, [x29,216] - ldr x1, [x1,#:lo12:__stack_chk_guard] - cmp x2, x1 - beq .L2225 - bl __stack_chk_fail -.L2307: - ldr w0, [x29,152] - cmp w26, w0 - bne .L2170 - b .L2303 -.L2171: + bne .L2154 + cbnz w1, .L2155 +.L2154: add x0, x20, :lo12:.LANCHOR2 uxth w5, w24 ldr w1, [x0,2332] cmn w1, #1 - bne .L2173 + bne .L2156 str w22, [x0,2332] -.L2173: +.L2156: add x0, x20, :lo12:.LANCHOR2 ldr w25, [x29,188] ldr w6, [x0,2332] ldr w0, [x29,188] add w0, w0, 7 cmp w0, w24, uxth - bge .L2174 + bge .L2157 sub w25, w5, #7 uxth w25, w25 -.L2174: +.L2157: mov w3, -1 add x28, x20, :lo12:.LANCHOR2 mov w27, w3 mov w4, 65535 mov w7, 56 add x8, x28, 996 -.L2175: +.L2158: cmp w25, w5 - bhi .L2188 + bhi .L2171 add x0, x23, :lo12:.LANCHOR0 mov w24, 0 ldrh w2, [x0,1952] mov x0, x19 add x2, x19, x2, lsl 1 -.L2189: +.L2172: cmp x0, x2 - beq .L2308 + beq .L2289 ldrh w1, [x0,16] cmp w1, w4 - beq .L2176 + beq .L2159 umull x9, w24, w7 ldr x10, [x28,2048] add w24, w24, 1 @@ -15176,15 +14900,15 @@ FtlRecoverySuperblock: add x9, x10, x9 uxth w24, w24 str w1, [x9,4] -.L2176: +.L2159: add x0, x0, 2 - b .L2189 -.L2308: + b .L2172 +.L2289: ldr x0, [x28,2048] mov w1, w24 ldr w2, [x29,184] - str x8, [x29,120] - str x7, [x29,128] + str x8, [x29,128] + str x7, [x29,136] str x4, [x29,144] str x6, [x29,160] str x5, [x29,168] @@ -15199,87 +14923,110 @@ FtlRecoverySuperblock: ldrb w9, [x0,120] ldr x0, [x28,2048] ldr x4, [x29,144] - ldr x7, [x29,128] + ldr x7, [x29,136] add x0, x0, 16 - ldr x8, [x29,120] -.L2178: + ldr x8, [x29,128] +.L2161: cmp w1, w24 - beq .L2309 + beq .L2290 ldr w2, [x0,-16] - cbnz w2, .L2179 + cbnz w2, .L2162 ldr x2, [x0] ldrh w11, [x2] cmp w11, w4 - beq .L2180 + beq .L2163 ldr w2, [x2,4] cmn w2, #1 - beq .L2180 + beq .L2163 ldr w27, [x28,2332] cmn w3, #1 str w2, [x28,2332] - bne .L2180 + bne .L2163 ldrh w2, [x8,x10,lsl 1] cmp w2, w4 - bne .L2181 - cbz w9, .L2180 -.L2181: + bne .L2164 + cbz w9, .L2163 +.L2164: cmp w27, w22 csinv w3, w27, wzr, ne - b .L2180 -.L2179: + b .L2163 +.L2162: ldrb w0, [x19,8] - cbnz w0, .L2172 + cbnz w0, .L2155 add x0, x20, :lo12:.LANCHOR2 add x1, x0, 996 ldrh w2, [x1,w25,sxtw 1] mov w1, 65535 cmp w2, w1 - bne .L2183 + bne .L2166 cmn w3, #1 - beq .L2184 + beq .L2167 str w3, [x0,2332] - b .L2172 -.L2184: + b .L2155 +.L2167: cmp w6, w22 - beq .L2185 + beq .L2168 str w6, [x0,2332] - b .L2172 -.L2185: + b .L2155 +.L2168: ldr w1, [x0,2332] - b .L2304 -.L2183: + b .L2286 +.L2166: cmp w27, w22 - beq .L2186 + beq .L2169 cmn w27, #1 - beq .L2172 + beq .L2155 str w27, [x0,2332] - b .L2172 -.L2186: + b .L2155 +.L2169: ldr w1, [x0,2332] cmp w1, w22 - beq .L2172 -.L2304: + beq .L2155 +.L2286: sub w1, w1, #1 - b .L2299 -.L2180: + b .L2281 +.L2163: add w1, w1, 1 add x0, x0, 56 uxth w1, w1 - b .L2178 -.L2309: + b .L2161 +.L2290: add w25, w25, 1 uxth w25, w25 - b .L2175 -.L2188: + b .L2158 +.L2171: add x0, x20, :lo12:.LANCHOR2 mov w1, -1 -.L2299: +.L2281: str w1, [x0,2332] - b .L2172 -.L2194: +.L2155: + adrp x25, .LANCHOR4 + mov w1, 1 + add x0, x25, :lo12:.LANCHOR4 + strh w1, [x0,266] + add x0, x20, :lo12:.LANCHOR2 + add x0, x0, 2240 + bl FtlMapBlkWriteDumpData + ldr w24, [x29,188] + adrp x0, .LC112 + str x25, [x29,136] + add x0, x0, :lo12:.LC112 + str x0, [x29,128] +.L2173: + add x0, x23, :lo12:.LANCHOR0 + mov x1, x19 + str wzr, [x29,176] + mov w7, 65535 + mov w8, 56 + ldrh w3, [x0,1952] + ldrb w6, [x0,120] + add x3, x19, x3, lsl 1 +.L2174: + cmp x1, x3 + beq .L2291 ldrh w2, [x1,16] cmp w2, w7 - beq .L2192 + beq .L2175 ldr w0, [x29,176] add x5, x20, :lo12:.LANCHOR2 orr w2, w24, w2, lsl 10 @@ -15289,22 +15036,33 @@ FtlRecoverySuperblock: str w2, [x4,4] ldrb w2, [x19,8] cmp w2, 1 - bne .L2193 - cbz w6, .L2193 + bne .L2176 + cbz w6, .L2176 ldr x2, [x5,2048] add x0, x2, x0 ldr w2, [x0,4] orr w2, w2, -2147483648 str w2, [x0,4] -.L2193: +.L2176: ldr w0, [x29,176] add w0, w0, 1 uxth w0, w0 str w0, [x29,176] -.L2192: +.L2175: add x1, x1, 2 - b .L2191 -.L2221: + b .L2174 +.L2291: + add x0, x20, :lo12:.LANCHOR2 + ldr w1, [x29,176] + ldr w2, [x29,184] + ldr x0, [x0,2048] + bl FlashReadPages + str xzr, [x29,160] +.L2178: + ldrh w0, [x29,160] + ldr w1, [x29,176] + cmp w1, w0, uxth + bls .L2292 ldr x0, [x29,160] mov x1, 56 mul x25, x0, x1 @@ -15313,66 +15071,66 @@ FtlRecoverySuperblock: str x1, [x29,168] add x28, x1, x25 ldr w27, [x28,4] - str w27, [x29,212] + str w27, [x29,204] lsr x0, x27, 10 bl P2V_plane uxth w0, w0 ldr w1, [x29,188] cmp w24, w1 ldr x1, [x29,168] - bcc .L2196 + bcc .L2179 ldr w2, [x29,152] cmp w0, w2 - bcs .L2229 + bcs .L2211 ldr w2, [x29,188] cmp w24, w2 - beq .L2196 -.L2229: + beq .L2179 +.L2211: cmp w0, w26 - bne .L2230 + bne .L2212 cmp w24, w21 - beq .L2198 -.L2230: + beq .L2181 +.L2212: ldr w0, [x1,x25] cmn w0, #1 - beq .L2200 + beq .L2183 ldr x28, [x28,16] mov w0, 61589 ldrh w1, [x28] cmp w1, w0 - bne .L2207 + bne .L2190 ldr w22, [x28,4] cmn w22, #1 - beq .L2202 + beq .L2185 add x27, x20, :lo12:.LANCHOR2 mov w0, w22 ldr w1, [x27,200] bl ftl_cmp_data_ver - cbz w0, .L2202 + cbz w0, .L2185 add w0, w22, 1 str w0, [x27,200] -.L2202: +.L2185: ldr w27, [x28,8] - add x1, x29, 208 + add x1, x29, 200 ldr w0, [x28,12] mov w2, 0 - str w0, [x29,204] + str w0, [x29,196] mov w0, w27 bl log2phys add x3, x20, :lo12:.LANCHOR2 str x3, [x29,168] ldr w1, [x3,2332] cmn w1, #1 - beq .L2203 + beq .L2186 mov w0, w22 bl ftl_cmp_data_ver ldr x3, [x29,168] - cbz w0, .L2203 - ldr w1, [x29,204] + cbz w0, .L2186 + ldr w1, [x29,196] cmn w1, #1 - beq .L2204 + beq .L2187 ldr x0, [x3,2048] - str x3, [x29,112] + str x3, [x29,120] add x0, x0, x25 str w1, [x0,4] mov w1, 1 @@ -15382,7 +15140,7 @@ FtlRecoverySuperblock: mov w2, 0 add x0, x0, x25 bl FlashReadPages - ldr x3, [x29,112] + ldr x3, [x29,120] ldr x0, [x29,168] ldr x2, [x3,2048] ldr w0, [x0,4] @@ -15390,44 +15148,44 @@ FtlRecoverySuperblock: add x4, x2, x25 ldr w0, [x2,x25] cmn w0, #1 - bne .L2205 - b .L2206 -.L2204: - ldr w0, [x29,212] - ldr w1, [x29,208] + bne .L2188 + b .L2189 +.L2187: + ldr w0, [x29,204] + ldr w1, [x29,200] cmp w1, w0 - bne .L2207 + bne .L2190 mov w0, w27 - add x1, x29, 204 + add x1, x29, 196 mov w2, 1 bl log2phys -.L2207: +.L2190: ldrh w0, [x19] - b .L2301 -.L2205: + b .L2283 +.L2188: ldr x0, [x29,168] ldr w28, [x0,8] cmp w28, w27 - bne .L2206 + bne .L2189 ldr w0, [x3,2332] ldr w1, [x29,144] - str x2, [x29,96] - str x4, [x29,104] - str x3, [x29,112] + str x2, [x29,104] + str x4, [x29,112] + str x3, [x29,120] bl ftl_cmp_data_ver - ldr x3, [x29,112] - ldr x4, [x29,104] - ldr x2, [x29,96] - cbz w0, .L2206 - ldr w0, [x29,208] - ldr w1, [x29,212] - cmp w0, w1 - beq .L2212 + ldr x3, [x29,120] + ldr x4, [x29,112] + ldr x2, [x29,104] + cbz w0, .L2189 + ldr w0, [x29,200] ldr w1, [x29,204] cmp w0, w1 - beq .L2206 + beq .L2195 + ldr w1, [x29,196] + cmp w0, w1 + beq .L2189 cmn w0, #1 - beq .L2210 + beq .L2193 str w0, [x4,4] mov w2, 0 ldr x1, [x4,16] @@ -15436,64 +15194,64 @@ FtlRecoverySuperblock: mov w1, 1 add x0, x0, x25 bl FlashReadPages - b .L2211 -.L2210: + b .L2194 +.L2193: str w0, [x2,x25] -.L2211: +.L2194: add x0, x20, :lo12:.LANCHOR2 ldr x1, [x0,2048] ldr w1, [x1,x25] cmn w1, #1 - beq .L2212 + beq .L2195 ldr x1, [x29,168] ldr w0, [x0,2332] ldr w25, [x1,4] mov w1, w25 bl ftl_cmp_data_ver - cbz w0, .L2212 + cbz w0, .L2195 ldr w0, [x29,144] mov w1, w25 bl ftl_cmp_data_ver - cbz w0, .L2206 -.L2212: - ldr w1, [x29,204] + cbz w0, .L2189 +.L2195: + ldr w1, [x29,196] mov w0, w28 bl FtlReUsePrevPpa -.L2206: +.L2189: mov w0, -1 - str w0, [x29,204] + str w0, [x29,196] ldrh w0, [x19] bl decrement_vpc_count - b .L2214 -.L2203: - ldr w0, [x29,212] - ldr w1, [x29,208] + b .L2197 +.L2186: + ldr w0, [x29,204] + ldr w1, [x29,200] cmp w1, w0 - beq .L2214 + beq .L2197 mov w0, w27 - add x1, x29, 212 + add x1, x29, 204 mov w2, 1 bl log2phys - ldr w25, [x29,208] + ldr w25, [x29,200] cmn w25, #1 - beq .L2214 - ldr w0, [x29,204] + beq .L2197 + ldr w0, [x29,196] cmp w25, w0 - beq .L2214 + beq .L2197 lsr x0, x25, 10 bl P2V_block_in_plane uxth w0, w0 ldrh w2, [x20,#:lo12:.LANCHOR2] add x1, x20, :lo12:.LANCHOR2 cmp w2, w0 - beq .L2217 + beq .L2200 ldrh w2, [x1,48] cmp w2, w0 - beq .L2217 + beq .L2200 ldrh w1, [x1,96] cmp w1, w0 - bne .L2214 -.L2217: + bne .L2197 +.L2200: add x28, x20, :lo12:.LANCHOR2 mov w1, 1 mov w2, 0 @@ -15508,18 +15266,18 @@ FtlRecoverySuperblock: ldr w0, [x0] ldr w1, [x3,4] cmn w0, #1 - beq .L2214 + beq .L2197 mov w0, w22 bl ftl_cmp_data_ver - cbnz w0, .L2214 + cbnz w0, .L2197 mov w0, w27 - add x1, x29, 208 + add x1, x29, 200 mov w2, 1 bl log2phys -.L2214: - ldr w0, [x29,204] +.L2197: + ldr w0, [x29,196] cmn w0, #1 - beq .L2196 + beq .L2179 lsr x0, x0, 10 bl P2V_block_in_plane uxth w1, w0 @@ -15527,139 +15285,159 @@ FtlRecoverySuperblock: ubfiz x3, x1, 1, 16 ldr x2, [x2,-40] ldrh w2, [x2,x3] - cbz w2, .L2218 -.L2301: + cbz w2, .L2201 +.L2283: bl decrement_vpc_count - b .L2196 -.L2218: - ldr x0, [x29,120] - bl printk - b .L2196 -.L2200: + b .L2179 +.L2201: ldr x0, [x29,128] + bl printk + b .L2179 +.L2183: + ldr x0, [x29,136] add x1, x0, :lo12:.LANCHOR4 ldr w0, [x1,268] cmp w0, 31 - bhi .L2219 + bhi .L2202 add x2, x1, 272 str w27, [x2,w0,uxtw 2] add w0, w0, 1 str w0, [x1,268] -.L2219: +.L2202: ldrh w0, [x19] bl decrement_vpc_count add x0, x20, :lo12:.LANCHOR2 ldr w1, [x0,2332] cmn w1, #1 - beq .L2300 + beq .L2282 cmp w1, w22 - bls .L2196 -.L2300: + bls .L2179 +.L2282: str w22, [x0,2332] -.L2196: +.L2179: ldr x0, [x29,160] add x0, x0, 1 str x0, [x29,160] - b .L2195 -.L2198: + b .L2178 +.L2292: + add x0, x23, :lo12:.LANCHOR0 + add w24, w24, 1 + uxth w24, w24 + ldrh w1, [x0,2026] + cmp w24, w1 + bne .L2173 + ldrh w2, [x0,1952] + mov w3, 65535 + strh w24, [x19,2] + mov x0, 0 + strh wzr, [x19,4] +.L2205: + uxth w1, w0 + cmp w1, w2 + bcs .L2278 + add x0, x0, 1 + add x4, x19, x0, lsl 1 + ldrh w4, [x4,14] + cmp w4, w3 + beq .L2205 + strb w1, [x19,6] + b .L2278 +.L2181: strb w26, [x19,6] strh w21, [x19,2] -.L2303: +.L2285: mov x0, x19 mov w1, w21 mov w2, w26 bl ftl_sb_update_avl_pages - b .L2151 -.L2225: +.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], 224 + ldp x29, x30, [sp], 208 ret .size FtlRecoverySuperblock, .-FtlRecoverySuperblock .align 2 .global FtlWriteDumpData .type FtlWriteDumpData, %function FtlWriteDumpData: - stp x29, x30, [sp, -160]! + stp x29, x30, [sp, -144]! add x29, sp, 0 stp x19, x20, [sp,16] adrp x19, .LANCHOR2 + str x25, [sp,64] stp x21, x22, [sp,32] - stp x23, x24, [sp,48] add x21, x19, :lo12:.LANCHOR2 - adrp x23, __stack_chk_guard - stp x25, x26, [sp,64] - ldr x0, [x23,#:lo12:__stack_chk_guard] + stp x23, x24, [sp,48] ldrh w1, [x21,4] - str x0, [x29,152] - cbz w1, .L2311 + cbz w1, .L2294 ldrb w0, [x21,8] - cbnz w0, .L2311 + cbnz w0, .L2294 adrp x22, .LANCHOR0 ldrb w0, [x21,7] add x22, x22, :lo12:.LANCHOR0 ldrh w2, [x22,2026] mul w0, w0, w2 cmp w1, w0 - beq .L2311 - ldrb w25, [x21,10] - ldr w24, [x22,2104] - ldrh w26, [x22,1952] - cbnz w25, .L2310 - sub w24, w24, #1 - add x1, x29, 92 - mov w0, w24 - mov w2, w25 + beq .L2294 + ldrb w24, [x21,10] + ldr w23, [x22,2104] + ldrh w25, [x22,1952] + cbnz w24, .L2293 + sub w23, w23, #1 + add x1, x29, 84 + mov w0, w23 + mov w2, w24 bl log2phys ldr x20, [x21,2112] - ldr w0, [x29,92] + ldr w0, [x29,84] ldr x1, [x21,-64] - str w0, [x29,100] + str w0, [x29,92] cmn w0, #1 - str w24, [x29,120] - str x1, [x29,104] - str x20, [x29,112] - str w25, [x20,4] - beq .L2313 - add x0, x29, 96 + str w23, [x29,112] + str x1, [x29,96] + str x20, [x29,104] + str w24, [x20,4] + beq .L2296 + add x0, x29, 88 mov w1, 1 - mov w2, w25 + mov w2, w24 bl FlashReadPages - b .L2314 -.L2313: + b .L2297 +.L2296: ldr x0, [x21,-64] mov w1, 255 ldrh w2, [x22,2036] bl ftl_memset -.L2314: +.L2297: mov w0, -3947 - lsl w26, w26, 2 + lsl w25, w25, 2 strh w0, [x20] mov w22, 0 add x21, x19, :lo12:.LANCHOR2 -.L2315: - cmp w22, w26 - beq .L2316 +.L2298: + cmp w22, w25 + beq .L2299 ldrh w0, [x21,4] - cbz w0, .L2316 - ldr w0, [x29,100] + cbz w0, .L2299 + ldr w0, [x29,92] add w22, w22, 1 str w0, [x20,12] ldrh w0, [x21] strh w0, [x20,2] mov x0, x21 - str w24, [x20,8] + str w23, [x20,8] bl get_new_active_ppa - str w0, [x29,100] + str w0, [x29,92] ldr w1, [x21,200] mov w2, 0 str w1, [x20,4] mov w3, w2 add w1, w1, 1 - add x0, x29, 96 + add x0, x29, 88 cmn w1, #1 csel w1, w1, wzr, ne str w1, [x21,200] @@ -15667,27 +15445,21 @@ FtlWriteDumpData: bl FlashProgPages ldrh w0, [x21] bl decrement_vpc_count - b .L2315 -.L2316: + b .L2298 +.L2299: add x19, x19, :lo12:.LANCHOR2 mov w0, 1 strb w0, [x19,10] - b .L2310 -.L2311: + b .L2293 +.L2294: add x19, x19, :lo12:.LANCHOR2 strb wzr, [x19,10] -.L2310: - ldr x1, [x29,152] - ldr x0, [x23,#:lo12:__stack_chk_guard] - cmp x1, x0 - beq .L2321 - bl __stack_chk_fail -.L2321: +.L2293: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] - ldp x25, x26, [sp,64] - ldp x29, x30, [sp], 160 + ldr x25, [sp,64] + ldp x29, x30, [sp], 144 ret .size FtlWriteDumpData, .-FtlWriteDumpData .align 2 @@ -15702,24 +15474,24 @@ l2p_flush: adrp x20, .LANCHOR0 adrp x21, .LANCHOR2 bl FtlWriteDumpData -.L2329: +.L2311: add x0, x20, :lo12:.LANCHOR0 ldrh w0, [x0,2066] cmp w0, w19 - bls .L2332 + bls .L2314 add x1, x21, :lo12:.LANCHOR2 ubfiz x0, x19, 4, 16 ldr x1, [x1,144] add x0, x1, x0 ldr w0, [x0,4] - tbz w0, #31, .L2330 + tbz w0, #31, .L2312 mov w0, w19 bl flush_l2p_region -.L2330: +.L2312: add w19, w19, 1 uxth w19, w19 - b .L2329 -.L2332: + b .L2311 +.L2314: mov w0, 0 ldr x21, [sp,32] ldp x19, x20, [sp,16] @@ -15730,43 +15502,39 @@ l2p_flush: .global FtlVpcCheckAndModify .type FtlVpcCheckAndModify, %function FtlVpcCheckAndModify: - stp x29, x30, [sp, -96]! + stp x29, x30, [sp, -80]! adrp x1, .LANCHOR3 - add x29, sp, 0 - stp x21, x22, [sp,32] - adrp x22, __stack_chk_guard + adrp x0, .LC113 add x1, x1, :lo12:.LANCHOR3 + add x29, sp, 0 add x1, x1, 16 - str x25, [sp,64] + add x0, x0, :lo12:.LC113 stp x19, x20, [sp,16] - ldr x0, [x22,#:lo12:__stack_chk_guard] - adrp x21, .LANCHOR0 - str x0, [x29,88] - adrp x0, .LC114 - add x0, x0, :lo12:.LC114 - adrp x20, .LANCHOR2 + stp x21, x22, [sp,32] stp x23, x24, [sp,48] + adrp x21, .LANCHOR0 bl printk - mov w19, 0 add x1, x21, :lo12:.LANCHOR0 + adrp x20, .LANCHOR2 add x0, x20, :lo12:.LANCHOR2 + mov w19, 0 ldrh w2, [x1,1962] mov w1, 0 ldr x0, [x0,2160] lsl w2, w2, 1 bl ftl_memset -.L2334: +.L2316: add x0, x21, :lo12:.LANCHOR0 ldr w0, [x0,2104] cmp w19, w0 - bcs .L2350 + bcs .L2331 mov w0, w19 - add x1, x29, 84 + add x1, x29, 76 mov w2, 0 bl log2phys - ldr w0, [x29,84] + ldr w0, [x29,76] cmn w0, #1 - beq .L2335 + beq .L2317 lsr x0, x0, 10 bl P2V_block_in_plane ubfiz x0, x0, 1, 16 @@ -15775,65 +15543,58 @@ FtlVpcCheckAndModify: ldrh w1, [x2,x0] add w1, w1, 1 strh w1, [x2,x0] -.L2335: +.L2317: add w19, w19, 1 - b .L2334 -.L2350: - adrp x24, .LC115 + b .L2316 +.L2331: + adrp x23, .LC114 mov w19, 0 add x20, x20, :lo12:.LANCHOR2 - mov w25, 65535 - add x24, x24, :lo12:.LC115 -.L2337: + mov w24, 65535 + add x23, x23, :lo12:.LC114 +.L2319: add x0, x21, :lo12:.LANCHOR0 ldrh w0, [x0,1960] cmp w0, w19 - bls .L2351 - ubfiz x23, x19, 1, 16 + bls .L2332 + ubfiz x22, x19, 1, 16 ldr x0, [x20,-40] - ldrh w2, [x0,x23] + ldrh w2, [x0,x22] ldr x0, [x20,2160] - ldrh w3, [x0,x23] + ldrh w3, [x0,x22] cmp w2, w3 - beq .L2340 - cmp w2, w25 - beq .L2340 - mov x0, x24 + beq .L2322 + cmp w2, w24 + beq .L2322 + mov x0, x23 mov w1, w19 bl printk ldrh w0, [x20] cmp w0, w19 - beq .L2340 + beq .L2322 ldrh w0, [x20,96] cmp w0, w19 - beq .L2340 + beq .L2322 ldrh w0, [x20,48] cmp w0, w19 - beq .L2340 + beq .L2322 ldr x0, [x20,2160] - ldrh w1, [x0,x23] + ldrh w1, [x0,x22] ldr x0, [x20,-40] - strh w1, [x0,x23] + strh w1, [x0,x22] mov w0, w19 bl update_vpc_list bl l2p_flush bl FtlVpcTblFlush -.L2340: +.L2322: add w19, w19, 1 uxth w19, w19 - b .L2337 -.L2351: - ldr x1, [x29,88] - ldr x0, [x22,#:lo12:__stack_chk_guard] - cmp x1, x0 - beq .L2343 - bl __stack_chk_fail -.L2343: + b .L2319 +.L2332: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] - ldr x25, [sp,64] - ldp x29, x30, [sp], 96 + ldp x29, x30, [sp], 80 ret .size FtlVpcCheckAndModify, .-FtlVpcCheckAndModify .align 2 @@ -15849,75 +15610,75 @@ allocate_new_data_superblock: ldrh w21, [x0] mov w0, 65535 cmp w21, w0 - beq .L2353 + beq .L2334 add x1, x19, :lo12:.LANCHOR2 ubfiz x0, x21, 1, 16 ldr x1, [x1,-40] ldrh w0, [x1,x0] - cbz w0, .L2354 + cbz w0, .L2335 mov w0, w21 bl INSERT_DATA_LIST - b .L2353 -.L2354: + b .L2334 +.L2335: mov w0, w21 bl INSERT_FREE_LIST -.L2353: +.L2334: add x2, x19, :lo12:.LANCHOR2 strb wzr, [x20,8] add x0, x2, 48 cmp x20, x0 - beq .L2355 + beq .L2336 adrp x0, .LANCHOR0 add x0, x0, :lo12:.LANCHOR0 ldrh w1, [x0,1972] cmp w1, 1 - beq .L2355 + beq .L2336 ldrb w0, [x0,120] - cbz w0, .L2356 -.L2355: + cbz w0, .L2337 +.L2336: mov w0, 1 strb w0, [x20,8] - b .L2357 -.L2356: + b .L2338 +.L2337: cmp x20, x2 - bne .L2357 + bne .L2338 cmp w1, 3 - beq .L2359 + beq .L2340 ldr w0, [x20,344] cmp w0, 1 - bne .L2360 -.L2359: + bne .L2341 +.L2340: add x0, x19, :lo12:.LANCHOR2 mov w1, 1 strb w1, [x0,8] -.L2360: +.L2341: add x0, x19, :lo12:.LANCHOR2 ldr w1, [x0,160] - cbz w1, .L2357 + cbz w1, .L2338 ldr w1, [x0,220] cmp w1, 29 - bhi .L2357 + bhi .L2338 mov w1, 1 strb w1, [x0,8] -.L2357: +.L2338: add x2, x19, :lo12:.LANCHOR2 mov w1, 65535 ldrh w0, [x2,2320] cmp w0, w1 - beq .L2362 + beq .L2343 cmp w21, w0 - bne .L2363 + bne .L2344 ubfiz x1, x0, 1, 16 ldr x2, [x2,-40] ldrh w1, [x2,x1] - cbz w1, .L2364 -.L2363: + cbz w1, .L2345 +.L2344: bl update_vpc_list -.L2364: +.L2345: add x19, x19, :lo12:.LANCHOR2 mov w0, -1 strh w0, [x19,2320] -.L2362: +.L2343: mov x0, x20 bl allocate_data_superblock bl l2p_flush @@ -15937,69 +15698,65 @@ rk_ftl_garbage_collect: stp x29, x30, [sp, -144]! mov w2, 0 add x29, sp, 0 - stp x21, x22, [sp,32] - mov w22, w1 - adrp x1, __stack_chk_guard stp x19, x20, [sp,16] - stp x23, x24, [sp,48] adrp x19, .LANCHOR2 - mov w24, w0 - ldr x0, [x1,#:lo12:__stack_chk_guard] - str x0, [x29,136] - add x0, x19, :lo12:.LANCHOR2 + add x3, x19, :lo12:.LANCHOR2 + stp x21, x22, [sp,32] + stp x23, x24, [sp,48] stp x25, x26, [sp,64] stp x27, x28, [sp,80] - str x1, [x29,120] - ldr w3, [x0,2028] - cbnz w3, .L2378 - ldrh w1, [x0,-24] - cmp w1, 47 - bls .L2378 - adrp x1, .LANCHOR1+3004 - ldrh w2, [x1,#:lo12:.LANCHOR1+3004] - mov w1, 65535 - cmp w2, w1 - bne .L2379 -.L2382: + ldr w4, [x3,2028] + cbnz w4, .L2495 + ldrh w4, [x3,-24] + cmp w4, 47 + bls .L2495 + mov w24, w0 + adrp x0, .LANCHOR1+3004 + mov w22, w1 + ldrh w1, [x0,#:lo12:.LANCHOR1+3004] + mov w0, 65535 + cmp w1, w0 + bne .L2360 +.L2363: add x0, x19, :lo12:.LANCHOR2 mov w2, 65535 ldrh w1, [x0,954] cmp w1, w2 - bne .L2380 - b .L2381 -.L2379: - ldrh w0, [x0,96] - cmp w0, w1 - beq .L2382 + bne .L2361 + b .L2362 +.L2360: + ldrh w1, [x3,96] + cmp w1, w0 + beq .L2363 mov w0, 1 bl FtlGcFreeTempBlock mov w2, 1 - cbz w0, .L2382 - b .L2378 -.L2380: + cbz w0, .L2363 + b .L2495 +.L2361: ldrh w3, [x0,952] cmp w3, w2 - bne .L2381 + bne .L2362 strh w1, [x0,952] mov w1, -1 strh w1, [x0,954] -.L2381: +.L2362: add x20, x19, :lo12:.LANCHOR2 cmp w24, 1 ldr w0, [x20,868] add w0, w0, 1 add w0, w0, w24, lsl 7 str w0, [x20,868] - beq .L2383 -.L2385: + beq .L2364 +.L2366: mov w21, 65535 - b .L2384 -.L2383: + b .L2365 +.L2364: ldr w1, [x20,160] - cbz w1, .L2385 + cbz w1, .L2366 ldr w1, [x20,220] cmp w1, 29 - bhi .L2385 + bhi .L2366 adrp x23, .LANCHOR4 add x21, x23, :lo12:.LANCHOR4 ldrh w1, [x21,400] @@ -16009,35 +15766,35 @@ rk_ftl_garbage_collect: ldrh w0, [x20,296] mov w1, 65535 cmp w0, w1 - bne .L2385 + bne .L2366 ldrh w1, [x20,952] cmp w1, w0 - bne .L2385 + bne .L2366 ldr w0, [x20,868] cmp w0, 1024 - bls .L2385 + bls .L2366 ldr w0, [x20,220] str wzr, [x20,868] strh wzr, [x21,400] - cbnz w0, .L2386 + cbnz w0, .L2367 mov w0, 6 - b .L2537 -.L2386: + b .L2517 +.L2367: cmp w0, 5 - bhi .L2387 + bhi .L2368 mov w0, 18 -.L2537: +.L2517: strh w0, [x21,400] -.L2387: +.L2368: mov w0, 32 mov w27, 65535 bl List_get_gc_head_node uxth w25, w0 cmp w25, w27 - beq .L2391 + beq .L2372 add x20, x19, :lo12:.LANCHOR2 ldrh w0, [x20,872] - cbz w0, .L2389 + cbz w0, .L2370 adrp x2, .LANCHOR0 ldr x26, [x20,-40] add x2, x2, :lo12:.LANCHOR0 @@ -16048,60 +15805,60 @@ rk_ftl_garbage_collect: mul w1, w1, w2 add w1, w1, 1 cmp w3, w1 - bgt .L2391 + bgt .L2372 add w1, w0, 1 str wzr, [x20,876] uxth w1, w1 strh w1, [x20,872] - str x1, [x29,112] + str x1, [x29,120] bl List_get_gc_head_node uxth w21, w0 cmp w21, w27 - ldr x1, [x29,112] - beq .L2391 + ldr x1, [x29,120] + beq .L2372 ubfiz x27, x21, 1, 16 - adrp x0, .LC116 + adrp x0, .LC115 ldrh w4, [x26,x25] - add x0, x0, :lo12:.LC116 + add x0, x0, :lo12:.LC115 mov w2, w21 ldrh w3, [x26,x27] bl printk ldrh w0, [x20,872] cmp w0, 40 - bls .L2390 + bls .L2371 ldr x0, [x20,-40] ldrh w0, [x0,x27] cmp w0, 32 - bls .L2390 + bls .L2371 strh wzr, [x20,872] -.L2390: +.L2371: add x23, x23, :lo12:.LANCHOR4 mov w0, 6 strh w0, [x23,400] - b .L2384 -.L2389: + b .L2365 +.L2370: mov w0, 1 strh w0, [x20,872] -.L2391: +.L2372: bl GetSwlReplaceBlock uxth w21, w0 mov w0, 65535 cmp w21, w0 - bne .L2384 + bne .L2365 add x23, x23, :lo12:.LANCHOR4 strh wzr, [x23,400] -.L2384: +.L2365: add x20, x19, :lo12:.LANCHOR2 mov w0, 65535 ldrh w1, [x20,296] cmp w1, w0 - bne .L2392 + bne .L2373 ldrh w0, [x20,96] cmp w0, w1 - bne .L2392 + bne .L2373 ldrh w25, [x20,952] cmp w25, w0 - bne .L2392 + bne .L2373 ldrh w0, [x20,-8] mov w2, 1024 ldr w1, [x20,868] @@ -16109,7 +15866,7 @@ rk_ftl_garbage_collect: mov w0, 5120 csel w0, w0, w2, cc cmp w1, w0 - bls .L2392 + bls .L2373 adrp x0, .LANCHOR4+400 str wzr, [x20,868] mov x23, x20 @@ -16117,31 +15874,31 @@ rk_ftl_garbage_collect: bl GetSwlReplaceBlock uxth w21, w0 cmp w21, w25 - bne .L2394 + bne .L2375 ldrh w1, [x20,-8] ldrh w0, [x20,866] cmp w1, w0 - bcs .L2395 + bcs .L2376 mov w0, 64 bl List_get_gc_head_node uxth w0, w0 cmp w0, w21 - beq .L2404 + beq .L2385 ldr w2, [x20,2024] uxtw x1, w0 adrp x20, .LANCHOR0 - cbnz w2, .L2397 + cbnz w2, .L2378 add x0, x20, :lo12:.LANCHOR0 ldrh w2, [x0,1972] cmp w2, 3 - beq .L2397 + beq .L2378 ldr w2, [x23,344] - cbnz w2, .L2397 + cbnz w2, .L2378 ldr w2, [x23,160] - cbnz w2, .L2397 + cbnz w2, .L2378 ldrb w0, [x0,120] - cbz w0, .L2398 -.L2397: + cbz w0, .L2379 +.L2378: add x0, x19, :lo12:.LANCHOR2 add x3, x20, :lo12:.LANCHOR0 ldr x0, [x0,-40] @@ -16156,7 +15913,7 @@ rk_ftl_garbage_collect: csel w0, w1, w0, eq add w0, w2, w0 cmp w4, w0 - bgt .L2400 + bgt .L2381 mov w0, 0 add x20, x20, :lo12:.LANCHOR0 bl List_get_gc_head_node @@ -16166,49 +15923,49 @@ rk_ftl_garbage_collect: ldr w2, [x1,156] add w0, w0, w0, lsl 1 cmp w2, w0, lsr 2 - bls .L2401 + bls .L2382 mov w0, 128 - b .L2538 -.L2401: + b .L2518 +.L2382: mov w0, 160 -.L2538: +.L2518: strh w0, [x1,866] - b .L2402 -.L2400: + b .L2383 +.L2381: add x0, x19, :lo12:.LANCHOR2 mov w1, 128 - b .L2539 -.L2398: + b .L2519 +.L2379: ldr x2, [x23,-40] ldrh w1, [x2,x1,lsl 1] cmp w1, 7 - bhi .L2403 + bhi .L2384 bl List_get_gc_head_node uxth w21, w0 add x0, x19, :lo12:.LANCHOR2 mov w1, 128 strh w1, [x0,866] - b .L2402 -.L2403: + b .L2383 +.L2384: add x0, x19, :lo12:.LANCHOR2 mov w1, 64 -.L2539: +.L2519: strh w1, [x0,866] - b .L2404 -.L2395: + b .L2385 +.L2376: mov w0, 80 strh w0, [x20,866] - b .L2404 -.L2402: + b .L2385 +.L2383: mov w0, 65535 cmp w21, w0 - beq .L2404 -.L2394: + beq .L2385 +.L2375: add x5, x19, :lo12:.LANCHOR2 ubfiz x4, x21, 1, 16 - adrp x0, .LC117 + adrp x0, .LC116 mov w1, w21 - add x0, x0, :lo12:.LC117 + add x0, x0, :lo12:.LC116 ldr x3, [x5,-40] ldr x6, [x5,-80] ldrh w2, [x5,-8] @@ -16216,136 +15973,136 @@ rk_ftl_garbage_collect: ldrh w5, [x5,864] ldrh w4, [x6,x4] bl printk -.L2404: +.L2385: bl FtlGcReFreshBadBlk -.L2392: +.L2373: mov w0, 65535 cmp w21, w0 cset w1, eq - cbz w1, .L2405 - cbnz w24, .L2405 + cbz w1, .L2386 + cbnz w24, .L2386 add x0, x19, :lo12:.LANCHOR2 mov w20, 1 ldrh w1, [x0,-8] cmp w1, 24 - bhi .L2406 + bhi .L2387 adrp x0, .LANCHOR0 cmp w1, 16 add x0, x0, :lo12:.LANCHOR0 ldrh w20, [x0,2026] - bls .L2407 + bls .L2388 lsr w20, w20, 5 - b .L2406 -.L2407: + b .L2387 +.L2388: cmp w1, 12 - bls .L2408 + bls .L2389 lsr w20, w20, 4 - b .L2406 -.L2408: + b .L2387 +.L2389: cmp w1, 8 - bls .L2406 + bls .L2387 lsr w20, w20, 2 -.L2406: +.L2387: add x0, x19, :lo12:.LANCHOR2 ldrh w2, [x0,864] cmp w2, w1 - bcs .L2410 + bcs .L2391 ldrh w1, [x0,96] mov w2, 65535 cmp w1, w2 - bne .L2411 + bne .L2392 ldrh w2, [x0,952] cmp w2, w1 - bne .L2411 + bne .L2392 adrp x1, .LANCHOR4+400 ldrh w2, [x1,#:lo12:.LANCHOR4+400] - cbnz w2, .L2412 + cbnz w2, .L2393 adrp x1, .LANCHOR0+2104 ldr w3, [x0,156] ldr w1, [x1,#:lo12:.LANCHOR0+2104] add w1, w1, w1, lsl 1 cmp w3, w1, lsr 2 - bcs .L2413 -.L2412: + bcs .L2394 +.L2393: add x1, x19, :lo12:.LANCHOR2 ldrh w0, [x1,272] add w0, w0, w0, lsl 1 asr w0, w0, 2 strh w0, [x1,864] - b .L2414 -.L2413: + b .L2395 +.L2394: mov w1, 18 strh w1, [x0,864] -.L2414: +.L2395: add x19, x19, :lo12:.LANCHOR2 str wzr, [x19,876] - b .L2378 -.L2411: + b .L2495 +.L2392: add x1, x19, :lo12:.LANCHOR2 ldrh w0, [x1,272] add w0, w0, w0, lsl 1 asr w0, w0, 2 strh w0, [x1,864] -.L2410: +.L2391: cmp w22, 2 - bhi .L2470 + bhi .L2450 add x0, x19, :lo12:.LANCHOR2 ldr w0, [x0,160] - cbz w0, .L2470 + cbz w0, .L2450 add w20, w20, 1 uxth w20, w20 - b .L2470 -.L2405: + b .L2450 +.L2386: add x20, x19, :lo12:.LANCHOR2 mov w2, 65535 ldrh w0, [x20,96] cmp w0, w2 - bne .L2417 - cbz w1, .L2417 + bne .L2398 + cbz w1, .L2398 ldrh w1, [x20,952] cmp w1, w0 - bne .L2417 + bne .L2398 ldrh w1, [x20,296] cmp w1, w0 - beq .L2418 -.L2423: + beq .L2399 +.L2404: mov w21, 65535 - b .L2417 -.L2418: + b .L2398 +.L2399: ldrh w23, [x20,-8] adrp x21, .LANCHOR4 ldrh w0, [x20,864] str wzr, [x20,876] cmp w0, w23 - bcs .L2419 + bcs .L2400 add x0, x21, :lo12:.LANCHOR4 ldrh w0, [x0,400] - cbnz w0, .L2420 + cbnz w0, .L2401 adrp x0, .LANCHOR0+2104 ldr w1, [x20,156] ldr w0, [x0,#:lo12:.LANCHOR0+2104] add w0, w0, w0, lsl 1 cmp w1, w0, lsr 2 - bcs .L2421 -.L2420: + bcs .L2402 +.L2401: add x19, x19, :lo12:.LANCHOR2 ldrh w0, [x19,272] add w0, w0, w0, lsl 1 asr w0, w0, 2 strh w0, [x19,864] - b .L2422 -.L2421: + b .L2403 +.L2402: mov w0, 18 strh w0, [x20,864] -.L2422: +.L2403: add x21, x21, :lo12:.LANCHOR4 bl FtlReadRefresh ldrh w2, [x21,400] - b .L2378 -.L2419: + b .L2495 +.L2400: add x22, x21, :lo12:.LANCHOR4 ldrh w0, [x22,400] - cbnz w0, .L2423 + cbnz w0, .L2404 ldrh w21, [x20,272] add w1, w21, w21, lsl 1 asr w1, w1, 2 @@ -16362,71 +16119,71 @@ rk_ftl_garbage_collect: mov w1, 2 sdiv w0, w0, w1 cmp w2, w0 - ble .L2424 + ble .L2405 sub w21, w21, #1 cmp w23, w21 - blt .L2424 + blt .L2405 bl FtlReadRefresh ldrh w2, [x22,400] - b .L2378 -.L2424: - cbnz w2, .L2423 + b .L2495 +.L2405: + cbnz w2, .L2404 mov w0, -1 add x19, x19, :lo12:.LANCHOR2 bl decrement_vpc_count ldrh w2, [x19,-8] add w2, w2, 1 - b .L2378 -.L2417: + b .L2495 +.L2398: add x0, x19, :lo12:.LANCHOR2 mov w20, 2 ldr w0, [x0,160] cmp w0, wzr csinc w20, w20, wzr, ne - b .L2416 -.L2470: + b .L2397 +.L2450: mov w21, 65535 -.L2416: +.L2397: add x0, x19, :lo12:.LANCHOR2 mov w2, 65535 ldrh w1, [x0,296] cmp w1, w2 - bne .L2426 + bne .L2407 cmp w21, w1 - beq .L2427 + beq .L2408 strh w21, [x0,296] - b .L2428 -.L2427: + b .L2409 +.L2408: ldrh w1, [x0,952] cmp w1, w21 - beq .L2428 + beq .L2409 strh w1, [x0,296] mov w1, -1 strh w1, [x0,952] -.L2428: +.L2409: adrp x1, .LANCHOR0+120 add x0, x19, :lo12:.LANCHOR2 add x22, x0, 296 ldrb w1, [x1,#:lo12:.LANCHOR0+120] strb wzr, [x0,304] - cbz w1, .L2429 + cbz w1, .L2410 ldrh w0, [x0,296] bl ftl_get_blk_mode strb w0, [x22,8] -.L2429: +.L2410: add x22, x19, :lo12:.LANCHOR2 ldrh w0, [x22,296] bl IsBlkInGcList - cbz w0, .L2430 + cbz w0, .L2411 mov w0, -1 strh w0, [x22,296] -.L2430: +.L2411: add x22, x19, :lo12:.LANCHOR2 mov w0, 65535 add x23, x22, 296 ldrh w1, [x22,296] cmp w1, w0 - beq .L2426 + beq .L2407 mov x0, x23 bl make_superblock strh wzr, [x22,298] @@ -16438,67 +16195,67 @@ rk_ftl_garbage_collect: strh wzr, [x0,402] ldrh w1, [x1,x2,lsl 1] strh w1, [x0,404] -.L2426: +.L2407: add x3, x19, :lo12:.LANCHOR2 ldrh w1, [x19,#:lo12:.LANCHOR2] ldrh w0, [x3,296] cmp w1, w0 - beq .L2432 + beq .L2413 ldrh w1, [x3,48] cmp w1, w0 - beq .L2432 -.L2433: + beq .L2413 +.L2414: mov x28, x3 mov w24, 65535 - b .L2434 -.L2432: + b .L2415 +.L2413: add x19, x19, :lo12:.LANCHOR2 mov w0, -1 strh w0, [x19,296] - b .L2540 -.L2454: + b .L2520 +.L2435: ldrh w0, [x28,298] add w20, w20, w0 uxth w20, w20 strh w20, [x28,298] cmp w20, w25 adrp x20, .LANCHOR4 - bcs .L2456 + bcs .L2437 add x0, x20, :lo12:.LANCHOR4 ldrh w1, [x0,402] ldrh w0, [x0,404] cmp w1, w0 - beq .L2456 -.L2457: + beq .L2437 +.L2438: ldrh w0, [x28,-8] cmp w0, 2 - bhi .L2460 + bhi .L2441 add x23, x23, :lo12:.LANCHOR0 ldrh w20, [x23,2026] -.L2434: +.L2415: ldrh w0, [x28,296] cmp w0, w24 - bne .L2435 + bne .L2416 str wzr, [x28,876] -.L2436: +.L2417: ldrh w22, [x28,872] mov w0, w22 bl List_get_gc_head_node uxth w23, w0 cmp w23, w24 strh w23, [x28,296] - bne .L2437 + bne .L2418 strh wzr, [x28,872] mov w2, 8 - b .L2378 -.L2437: + b .L2495 +.L2418: mov w0, w23 add w22, w22, 1 bl IsBlkInGcList - cbz w0, .L2438 + cbz w0, .L2419 strh w22, [x28,872] - b .L2436 -.L2438: + b .L2417 +.L2419: adrp x0, .LANCHOR0 ubfiz x1, x23, 1, 16 add x5, x0, :lo12:.LANCHOR0 @@ -16512,48 +16269,48 @@ rk_ftl_garbage_collect: mul w0, w0, w5 sdiv w5, w0, w3 cmp w4, w5 - bgt .L2440 + bgt .L2421 cmp w4, 8 - bls .L2441 + bls .L2422 cmp w22, 48 - bls .L2441 + bls .L2422 ldrh w4, [x28,924] cmp w4, 35 - bhi .L2441 -.L2440: + bhi .L2422 +.L2421: strh wzr, [x28,872] -.L2441: +.L2422: ldrh w1, [x2,x1] cmp w1, w0 - blt .L2442 + blt .L2423 cmp w21, w24 - bne .L2442 + bne .L2423 add x19, x19, :lo12:.LANCHOR2 mov w0, -1 strh wzr, [x19,872] strh w0, [x19,296] -.L2540: +.L2520: adrp x0, .LANCHOR4+400 ldrh w2, [x0,#:lo12:.LANCHOR4+400] - b .L2378 -.L2442: - cbnz w1, .L2443 + b .L2495 +.L2423: + cbnz w1, .L2424 mov w0, -1 bl decrement_vpc_count ldrh w0, [x28,872] add w0, w0, 1 strh w0, [x28,872] - b .L2436 -.L2443: + b .L2417 +.L2424: adrp x0, .LANCHOR0 strb wzr, [x28,304] add x0, x0, :lo12:.LANCHOR0 ldrb w0, [x0,120] - cbz w0, .L2444 + cbz w0, .L2425 mov w0, w23 bl ftl_get_blk_mode strb w0, [x28,304] -.L2444: +.L2425: add x22, x28, 296 mov x0, x22 bl make_superblock @@ -16566,7 +16323,7 @@ rk_ftl_garbage_collect: strh w0, [x1,404] strh wzr, [x28,298] strb wzr, [x28,302] -.L2435: +.L2416: bl FtlReadRefresh adrp x23, .LANCHOR0 mov w0, 1 @@ -16575,23 +16332,23 @@ rk_ftl_garbage_collect: add x0, x0, :lo12:.LANCHOR0 ldrb w1, [x0,120] ldrh w25, [x0,2026] - cbz w1, .L2445 + cbz w1, .L2426 ldrb w1, [x28,304] cmp w1, 1 - bne .L2445 + bne .L2426 ldrh w25, [x0,2028] -.L2445: +.L2426: ldrh w0, [x28,298] add w1, w0, w20 cmp w1, w25 - ble .L2446 + ble .L2427 sub w20, w25, w0 uxth w20, w20 -.L2446: +.L2427: mov w26, 0 -.L2447: +.L2428: cmp w20, w26, uxth - bls .L2454 + bls .L2435 add x1, x28, 296 add x0, x23, :lo12:.LANCHOR0 ldrh w4, [x1,2] @@ -16599,13 +16356,13 @@ rk_ftl_garbage_collect: mov x0, 0 add w4, w4, w26 mov w22, w0 -.L2455: +.L2436: cmp w6, w0, uxth - bls .L2541 + bls .L2521 add x2, x1, x0, lsl 1 ldrh w2, [x2,16] cmp w2, w24 - beq .L2448 + beq .L2429 mov w3, 56 ldr x7, [x28,912] orr w2, w4, w2, lsl 10 @@ -16614,50 +16371,50 @@ rk_ftl_garbage_collect: add x5, x7, x5 uxth w22, w22 str w2, [x5,4] -.L2448: +.L2429: add x0, x0, 1 - b .L2455 -.L2541: + b .L2436 +.L2521: ldr x0, [x28,912] mov w1, w22 ldrb w2, [x28,304] mov x27, 0 bl FlashReadPages -.L2450: +.L2431: cmp w22, w27, uxth - bls .L2542 + bls .L2522 mov x0, 56 - mul x4, x27, x0 + mul x5, x27, x0 ldr x0, [x28,912] - add x1, x0, x4 - ldr w0, [x0,x4] + add x1, x0, x5 + ldr w0, [x0,x5] cmn w0, #1 - ldr x5, [x1,16] - beq .L2472 - ldrh w0, [x5] + ldr x4, [x1,16] + beq .L2452 + ldrh w0, [x4] mov w1, 61589 cmp w0, w1 - bne .L2472 - ldr w0, [x5,8] - add x1, x29, 132 + bne .L2452 + ldr w0, [x4,8] + add x1, x29, 140 mov w2, 0 - str x4, [x29,104] str x5, [x29,112] + str x4, [x29,120] bl log2phys ldr x2, [x28,912] - ldr x4, [x29,104] - ldr w0, [x29,132] - add x2, x2, x4 ldr x5, [x29,112] + ldr w0, [x29,140] + add x2, x2, x5 + ldr x4, [x29,120] and w0, w0, 2147483647 ldr w1, [x2,4] cmp w0, w1 - bne .L2472 + bne .L2452 adrp x0, .LANCHOR4 mov x3, 56 add x1, x0, :lo12:.LANCHOR4 - str x4, [x29,96] str x5, [x29,104] + str x4, [x29,112] ldrh w0, [x1,402] add w0, w0, 1 strh w0, [x1,402] @@ -16665,106 +16422,99 @@ rk_ftl_garbage_collect: ldr x1, [x28,2056] madd x1, x0, x3, x1 ldr w0, [x2,24] - str x1, [x29,112] + str x1, [x29,120] str w0, [x1,24] bl Ftl_get_new_temp_ppa - ldr x1, [x29,112] + ldr x1, [x29,120] mov x2, 56 - ldr x4, [x29,96] ldr x5, [x29,104] + ldr x4, [x29,112] str w0, [x1,4] ldr w0, [x28,880] ldr x1, [x28,2056] madd x0, x0, x2, x1 ldr x1, [x28,912] - add x1, x1, x4 + add x1, x1, x5 ldr x2, [x1,8] str x2, [x0,8] add x2, x28, 96 - str x2, [x29,112] + str x2, [x29,120] ldr x1, [x1,16] str x1, [x0,16] mov w1, 1 - ldr w0, [x29,132] - str w0, [x5,12] + ldr w0, [x29,140] + str w0, [x4,12] ldrh w0, [x28,96] - strh w0, [x5,2] + strh w0, [x4,2] ldr w0, [x28,200] - str w0, [x5,4] + str w0, [x4,4] ldr w0, [x28,880] add w0, w0, 1 str w0, [x28,880] ldr x0, [x28,912] - add x0, x0, x4 + add x0, x0, x5 bl FtlGcBufAlloc add x0, x23, :lo12:.LANCHOR0 ldrb w0, [x0,120] - cbnz w0, .L2452 - ldr x2, [x29,112] + cbnz w0, .L2433 + ldr x2, [x29,120] ldr w1, [x28,880] ldrb w0, [x2,7] cmp w1, w0 - beq .L2452 + beq .L2433 ldrh w0, [x2,4] - cbnz w0, .L2472 -.L2452: + cbnz w0, .L2452 +.L2433: bl Ftl_gc_temp_data_write_back - cbz w0, .L2472 + cbz w0, .L2452 adrp x0, .LANCHOR4 add x19, x19, :lo12:.LANCHOR2 add x0, x0, :lo12:.LANCHOR4 str wzr, [x19,2028] ldrh w2, [x0,400] - b .L2378 -.L2472: + b .L2495 +.L2452: add x27, x27, 1 - b .L2450 -.L2542: + b .L2431 +.L2522: add w26, w26, 1 - b .L2447 -.L2456: + b .L2428 +.L2437: ldr w0, [x28,880] - cbz w0, .L2458 + cbz w0, .L2439 bl Ftl_gc_temp_data_write_back - cbz w0, .L2458 + cbz w0, .L2439 add x20, x20, :lo12:.LANCHOR4 str wzr, [x28,2028] ldrh w2, [x20,400] - b .L2378 -.L2458: + b .L2495 +.L2439: add x0, x20, :lo12:.LANCHOR4 ldrh w2, [x0,402] - cbnz w2, .L2459 + cbnz w2, .L2440 ldrh w0, [x28,296] ldr x1, [x28,-40] lsl x0, x0, 1 ldrh w4, [x1,x0] - cbz w4, .L2459 + cbz w4, .L2440 strh w2, [x1,x0] ldrh w0, [x28,296] bl update_vpc_list bl FtlCacheWriteBack bl l2p_flush bl FtlVpcTblFlush -.L2459: +.L2440: mov w0, -1 strh w0, [x28,296] - b .L2457 -.L2460: + b .L2438 +.L2441: add x20, x20, :lo12:.LANCHOR4 str wzr, [x28,2028] ldrh w2, [x20,400] cmp w2, wzr csinc w2, w2, w0, ne -.L2378: - ldr x1, [x29,120] +.L2495: mov w0, w2 - ldr x2, [x29,136] - ldr x1, [x1,#:lo12:__stack_chk_guard] - cmp x2, x1 - beq .L2463 - bl __stack_chk_fail -.L2463: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -16778,127 +16528,124 @@ rk_ftl_garbage_collect: .type FtlCacheWriteBack, %function FtlCacheWriteBack: stp x29, x30, [sp, -112]! + adrp x0, .LANCHOR4+408 add x29, sp, 0 - stp x23, x24, [sp,48] - adrp x24, __stack_chk_guard stp x19, x20, [sp,16] adrp x19, .LANCHOR0 - ldr x0, [x24,#:lo12:__stack_chk_guard] - str x0, [x29,104] - adrp x0, .LANCHOR4+408 - stp x21, x22, [sp,32] - stp x25, x26, [sp,64] ldr x20, [x0,#:lo12:.LANCHOR4+408] add x0, x19, :lo12:.LANCHOR0 - stp x27, x28, [sp,80] + str x27, [sp,80] + stp x21, x22, [sp,32] + stp x23, x24, [sp,48] + stp x25, x26, [sp,64] ldr w1, [x0,2088] - cbz w1, .L2544 + cbz w1, .L2524 ldrb w0, [x0,120] mov w22, 0 - cbz w0, .L2545 + cbz w0, .L2525 ldrb w0, [x20,8] cmp w0, 1 cset w22, eq -.L2545: +.L2525: add x0, x19, :lo12:.LANCHOR0 ldrb w3, [x20,9] - adrp x25, .LC118 + adrp x24, .LC117 mov w2, w22 mov w23, 0 - mov w26, 56 + mov w25, 56 ldr x0, [x0,2096] - adrp x27, .LANCHOR2 - add x25, x25, :lo12:.LC118 + adrp x26, .LANCHOR2 + add x24, x24, :lo12:.LC117 bl FlashProgPages -.L2546: +.L2526: add x0, x19, :lo12:.LANCHOR0 ldr w1, [x0,2088] cmp w23, w1 - bcs .L2563 - umull x21, w23, w26 - ldr x0, [x0,2096] - add x1, x0, x21 - ldr w0, [x0,x21] - cmn w0, #1 - beq .L2567 - ldr w0, [x1,4] - cbz w22, .L2581 - orr w0, w0, -2147483648 -.L2581: - str w0, [x29,100] - mov w2, 1 - ldr w0, [x1,24] - add x1, x29, 100 - bl log2phys - add x0, x19, :lo12:.LANCHOR0 + bcs .L2543 + umull x21, w23, w25 + ldr x1, [x0,2096] + add x0, x1, x21 + ldr w1, [x1,x21] + cmn w1, #1 + beq .L2546 + ldr w1, [x0,4] + cbz w22, .L2560 + orr w1, w1, -2147483648 +.L2560: + ldr w0, [x0,24] + mov w2, 1 + str w1, [x29,108] + add x1, x29, 108 + bl log2phys + add x0, x19, :lo12:.LANCHOR0 ldr x0, [x0,2096] add x21, x0, x21 ldr x0, [x21,16] ldr w0, [x0,12] cmn w0, #1 - beq .L2550 + beq .L2530 lsr x0, x0, 10 bl P2V_block_in_plane uxth w1, w0 - add x2, x27, :lo12:.LANCHOR2 + add x2, x26, :lo12:.LANCHOR2 ubfiz x0, x1, 1, 16 mov w21, w1 ldr x2, [x2,-40] ldrh w2, [x2,x0] - cbnz w2, .L2551 - mov x0, x25 + cbnz w2, .L2531 + mov x0, x24 bl printk -.L2551: +.L2531: mov w0, w21 bl decrement_vpc_count -.L2550: +.L2530: add w23, w23, 1 - b .L2546 -.L2583: + b .L2526 +.L2562: mov w20, 16386 adrp x21, .LANCHOR2 -.L2562: +.L2542: add x0, x21, :lo12:.LANCHOR2 ldrh w0, [x0,956] - cbz w0, .L2563 + cbz w0, .L2543 mov w0, 1 mov w1, w0 bl rk_ftl_garbage_collect subs w20, w20, #1 - bne .L2562 -.L2563: + bne .L2542 +.L2543: add x19, x19, :lo12:.LANCHOR0 str wzr, [x19,2088] - b .L2544 -.L2567: + b .L2524 +.L2546: adrp x23, .LANCHOR2 - adrp x26, .LC118 - mov w25, 0 - mov w27, 56 + adrp x25, .LC117 + mov w24, 0 + mov w26, 56 add x23, x23, :lo12:.LANCHOR2 - add x26, x26, :lo12:.LC118 -.L2547: + add x25, x25, :lo12:.LC117 +.L2527: add x0, x19, :lo12:.LANCHOR0 ldr w1, [x0,2088] - cmp w25, w1 - bcs .L2583 - umull x21, w25, w27 + cmp w24, w1 + bcs .L2562 + umull x21, w24, w26 ldr x0, [x0,2096] mov w1, -1 str w1, [x0,x21] -.L2553: - add x28, x19, :lo12:.LANCHOR0 - ldr x0, [x28,2096] +.L2533: + add x27, x19, :lo12:.LANCHOR0 + ldr x0, [x27,2096] add x1, x0, x21 ldr w0, [x0,x21] cmn w0, #1 ldr w0, [x1,4] - bne .L2584 + bne .L2563 lsr x0, x0, 10 bl P2V_block_in_plane ldrh w1, [x20] cmp w1, w0, uxth - bne .L2554 + bne .L2534 ldr x2, [x23,-40] ubfiz x1, x1, 1, 16 ldrh w3, [x20,4] @@ -16906,45 +16653,45 @@ FtlCacheWriteBack: sub w0, w0, w3 strh w0, [x2,x1] strb wzr, [x20,6] - ldrh w0, [x28,2026] + ldrh w0, [x27,2026] strh w0, [x20,2] strh wzr, [x20,4] -.L2554: +.L2534: ldrh w0, [x20,4] - cbnz w0, .L2555 + cbnz w0, .L2535 mov x0, x20 bl allocate_new_data_superblock -.L2555: +.L2535: ldr w0, [x23,448] - add x28, x19, :lo12:.LANCHOR0 + add x27, x19, :lo12:.LANCHOR0 add w0, w0, 1 str w0, [x23,448] - ldr x0, [x28,2096] + ldr x0, [x27,2096] add x0, x0, x21 ldr w0, [x0,4] lsr x0, x0, 10 bl FtlGcMarkBadPhyBlk mov x0, x20 bl get_new_active_ppa - str w0, [x29,100] - ldr x1, [x28,2096] + str w0, [x29,108] + ldr x1, [x27,2096] mov w2, w22 add x1, x1, x21 str w0, [x1,4] mov w1, 1 - ldr x0, [x28,2096] + ldr x0, [x27,2096] ldrb w3, [x20,9] add x0, x0, x21 bl FlashProgPages - b .L2553 -.L2584: - cbz w22, .L2582 + b .L2533 +.L2563: + cbz w22, .L2561 orr w0, w0, -2147483648 -.L2582: - str w0, [x29,100] +.L2561: + str w0, [x29,108] mov w2, 1 ldr w0, [x1,24] - add x1, x29, 100 + add x1, x29, 108 bl log2phys add x0, x19, :lo12:.LANCHOR0 ldr x0, [x0,2096] @@ -16952,7 +16699,7 @@ FtlCacheWriteBack: ldr x0, [x21,16] ldr w0, [x0,12] cmn w0, #1 - beq .L2559 + beq .L2539 lsr x0, x0, 10 bl P2V_block_in_plane uxth w1, w0 @@ -16960,28 +16707,22 @@ FtlCacheWriteBack: ldr x2, [x23,-40] mov w21, w1 ldrh w2, [x2,x0] - cbnz w2, .L2560 - mov x0, x26 + cbnz w2, .L2540 + mov x0, x25 bl printk -.L2560: +.L2540: mov w0, w21 bl decrement_vpc_count -.L2559: - add w25, w25, 1 - b .L2547 -.L2544: - ldr x2, [x29,104] +.L2539: + add w24, w24, 1 + b .L2527 +.L2524: mov w0, 0 - ldr x1, [x24,#:lo12:__stack_chk_guard] - cmp x2, x1 - beq .L2565 - bl __stack_chk_fail -.L2565: + 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 @@ -17009,9 +16750,9 @@ FtlDeInit: add x29, sp, 0 ldr w0, [x0,#:lo12:.LANCHOR1+532] cmp w0, 1 - bne .L2587 + bne .L2566 bl FtlSysFlush -.L2587: +.L2566: mov w0, 0 ldp x29, x30, [sp], 16 ret @@ -17033,95 +16774,86 @@ rk_ftl_de_init: .type FtlDiscard, %function FtlDiscard: stp x29, x30, [sp, -80]! + add w2, w0, w1 add x29, sp, 0 stp x21, x22, [sp,32] adrp x22, .LANCHOR0 + str x23, [sp,48] add x21, x22, :lo12:.LANCHOR0 stp x19, x20, [sp,16] - stp x23, x24, [sp,48] - adrp x23, __stack_chk_guard - mov w20, w0 - add w2, w20, w1 mov w19, w1 + mov w20, w0 ldr w1, [x21,2068] - ldr x0, [x23,#:lo12:__stack_chk_guard] - str x0, [x29,72] - cmp w2, w1 mov w0, -1 - bhi .L2590 + cmp w2, w1 + bhi .L2569 cmp w19, 31 - bls .L2605 + bls .L2583 bl FtlCacheWriteBack ldrh w1, [x21,2032] udiv w21, w20, w1 msub w20, w1, w21, w20 uxth w20, w20 - cbz w20, .L2592 + cbz w20, .L2571 sub w1, w1, w20 add w21, w21, 1 cmp w1, w19 csel w1, w1, w19, ls sub w19, w19, w1, uxth -.L2592: +.L2571: mov w0, -1 adrp x20, .LANCHOR4 - str w0, [x29,68] - adrp x24, .LANCHOR2 -.L2593: + str w0, [x29,76] + adrp x23, .LANCHOR2 +.L2572: add x0, x22, :lo12:.LANCHOR0 ldrh w0, [x0,2032] cmp w19, w0 - bcc .L2606 + bcc .L2584 mov w0, w21 - add x1, x29, 64 + add x1, x29, 72 mov w2, 0 bl log2phys - ldr w0, [x29,64] + ldr w0, [x29,72] cmn w0, #1 - beq .L2594 + beq .L2573 add x1, x20, :lo12:.LANCHOR4 mov w2, 1 ldr w0, [x1,416] add w0, w0, 1 str w0, [x1,416] - add x1, x24, :lo12:.LANCHOR2 + add x1, x23, :lo12:.LANCHOR2 ldr w0, [x1,168] add w0, w0, 1 str w0, [x1,168] - add x1, x29, 68 + add x1, x29, 76 mov w0, w21 bl log2phys - ldr w0, [x29,64] + ldr w0, [x29,72] lsr x0, x0, 10 bl P2V_block_in_plane bl decrement_vpc_count -.L2594: +.L2573: add x0, x22, :lo12:.LANCHOR0 add w21, w21, 1 ldrh w0, [x0,2032] sub w19, w19, w0 - b .L2593 -.L2606: + b .L2572 +.L2584: adrp x0, .LANCHOR4 add x0, x0, :lo12:.LANCHOR4 ldr w1, [x0,416] cmp w1, 32 - bls .L2605 + bls .L2583 str wzr, [x0,416] bl l2p_flush bl FtlVpcTblFlush -.L2605: +.L2583: mov w0, 0 -.L2590: - ldr x2, [x29,72] - ldr x1, [x23,#:lo12:__stack_chk_guard] - cmp x2, x1 - beq .L2597 - bl __stack_chk_fail -.L2597: +.L2569: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] - ldp x23, x24, [sp,48] + ldr x23, [sp,48] ldp x29, x30, [sp], 80 ret .size FtlDiscard, .-FtlDiscard @@ -17134,31 +16866,28 @@ FtlGcFreeTempBlock: add x29, sp, 0 stp x19, x20, [sp,16] adrp x19, .LANCHOR2 - stp x21, x22, [sp,32] + str x25, [sp,64] add x2, x19, :lo12:.LANCHOR2 - adrp x22, __stack_chk_guard + stp x21, x22, [sp,32] stp x23, x24, [sp,48] - stp x25, x26, [sp,64] - ldr x1, [x22,#:lo12:__stack_chk_guard] adrp x21, .LANCHOR0 ldrh w20, [x2,96] - str x1, [x29,88] add x1, x21, :lo12:.LANCHOR0 cmp w20, w3 ldrh w1, [x1,2026] - bne .L2608 -.L2618: + bne .L2586 +.L2596: add x20, x19, :lo12:.LANCHOR2 mov w0, 65535 - add x23, x20, 96 + add x22, x20, 96 ldrh w1, [x20,96] str wzr, [x20,2328] cmp w1, w0 - beq .L2637 + beq .L2614 add x21, x21, :lo12:.LANCHOR0 bl FtlCacheWriteBack - ldrb w0, [x23,7] - mov w26, 12 + ldrb w0, [x22,7] + mov w25, 12 ldr x1, [x20,-40] ldrh w3, [x21,2026] mov w21, 0 @@ -17169,111 +16898,111 @@ FtlGcFreeTempBlock: ldrh w1, [x20,936] add w0, w1, w0 str w0, [x20,184] - b .L2619 -.L2608: - cbz w0, .L2611 + b .L2597 +.L2586: + cbz w0, .L2589 adrp x0, .LANCHOR1 add x0, x0, :lo12:.LANCHOR1 ldrh w4, [x0,3004] cmp w4, w3 - beq .L2612 -.L2613: + beq .L2590 +.L2591: mov w1, 2 - b .L2611 -.L2612: + b .L2589 +.L2590: strh wzr, [x0,3004] ldrh w0, [x2,-8] cmp w0, 17 - bhi .L2613 -.L2611: - add x23, x19, :lo12:.LANCHOR2 - add x0, x23, 96 + bhi .L2591 +.L2589: + add x22, x19, :lo12:.LANCHOR2 + add x0, x22, 96 bl FtlGcScanTempBlk - str w0, [x29,84] + str w0, [x29,92] cmn w0, #1 - beq .L2614 + beq .L2592 ubfiz x20, x20, 1, 16 - ldr x1, [x23,-80] + ldr x1, [x22,-80] ldrh w0, [x1,x20] cmp w0, 4 - bls .L2615 + bls .L2593 sub w0, w0, #5 strh w0, [x1,x20] mov w0, 1 bl FtlEctTblFlush -.L2615: +.L2593: add x0, x19, :lo12:.LANCHOR2 ldr w1, [x0,2328] - cbnz w1, .L2616 + cbnz w1, .L2594 ldr w1, [x0,448] add w1, w1, 1 str w1, [x0,448] - ldr w0, [x29,84] + ldr w0, [x29,92] lsr w0, w0, 10 bl FtlBbmMapBadBlock bl FtlBbmTblFlush -.L2616: +.L2594: add x19, x19, :lo12:.LANCHOR2 mov w0, 1 str wzr, [x19,2328] - b .L2617 -.L2614: + b .L2595 +.L2592: adrp x0, .LANCHOR1+3004 mov w1, 65535 ldrh w2, [x0,#:lo12:.LANCHOR1+3004] mov w0, 1 cmp w2, w1 - bne .L2617 - b .L2618 -.L2622: - ldr x25, [x20,944] - add x1, x29, 84 - umull x24, w21, w26 + bne .L2595 + b .L2596 +.L2600: + ldr x24, [x20,944] + add x1, x29, 92 + umull x23, w21, w25 mov w2, 0 - add x23, x25, x24 - ldr w0, [x23,8] + add x22, x24, x23 + ldr w0, [x22,8] bl log2phys - ldr w0, [x29,84] - ldr w1, [x25,x24] + ldr w0, [x29,92] + ldr w1, [x24,x23] cmp w0, w1 - bne .L2620 + bne .L2598 lsr x0, x0, 10 bl P2V_block_in_plane - mov w24, w0 - ldr w0, [x23,8] - add x1, x23, 4 + mov w23, w0 + ldr w0, [x22,8] + add x1, x22, 4 mov w2, 1 bl log2phys - mov w0, w24 -.L2636: + mov w0, w23 +.L2613: bl decrement_vpc_count -.L2621: +.L2599: add w21, w21, 1 uxth w21, w21 -.L2619: +.L2597: ldrh w0, [x20,936] cmp w0, w21 - bhi .L2622 - b .L2638 -.L2620: - ldr w1, [x23,4] + bhi .L2600 + b .L2615 +.L2598: + ldr w1, [x22,4] cmp w0, w1 - beq .L2621 + beq .L2599 ldrh w0, [x20,96] - b .L2636 -.L2638: + b .L2613 +.L2615: mov w0, -1 bl decrement_vpc_count ldrh w0, [x20,96] ldr x2, [x20,-40] ubfiz x1, x0, 1, 16 ldrh w1, [x2,x1] - cbz w1, .L2623 + cbz w1, .L2601 bl INSERT_DATA_LIST - b .L2624 -.L2623: + b .L2602 +.L2601: bl INSERT_FREE_LIST -.L2624: +.L2602: add x20, x19, :lo12:.LANCHOR2 mov w0, -1 strh wzr, [x20,936] @@ -17282,45 +17011,39 @@ FtlGcFreeTempBlock: bl l2p_flush bl FtlVpcTblFlush ldr w0, [x20,160] - cbz w0, .L2625 + cbz w0, .L2603 ldr w0, [x20,220] cmp w0, 29 - bhi .L2625 + bhi .L2603 ldrh w0, [x20,272] ldrh w1, [x20,-8] cmp w1, w0 - bcs .L2626 + bcs .L2604 lsl w0, w0, 1 strh w0, [x20,864] -.L2626: +.L2604: add x19, x19, :lo12:.LANCHOR2 mov w0, -1 strh w0, [x19,296] - b .L2637 -.L2625: + b .L2614 +.L2603: add x19, x19, :lo12:.LANCHOR2 ldrh w0, [x19,272] ldrh w1, [x19,-8] add w0, w0, w0, lsl 1 cmp w1, w0, lsr 2 - ble .L2637 + ble .L2614 mov w0, -1 strh w0, [x19,296] mov w0, 20 strh w0, [x19,864] -.L2637: +.L2614: mov w0, 0 -.L2617: - ldr x2, [x29,88] - ldr x1, [x22,#:lo12:__stack_chk_guard] - cmp x2, x1 - beq .L2627 - bl __stack_chk_fail -.L2627: +.L2595: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] - ldp x25, x26, [sp,64] + ldr x25, [sp,64] ldp x29, x30, [sp], 96 ret .size FtlGcFreeTempBlock, .-FtlGcFreeTempBlock @@ -17335,16 +17058,16 @@ Ftl_gc_temp_data_write_back: stp x21, x22, [sp,32] stp x19, x20, [sp,16] adrp x21, .LANCHOR2 - cbz w0, .L2640 + cbz w0, .L2617 add x0, x21, :lo12:.LANCHOR2 ldr w1, [x0,880] - tbz x1, 0, .L2640 + tbz x1, 0, .L2617 ldrh w0, [x0,100] - cbz w0, .L2640 -.L2645: + cbz w0, .L2617 +.L2622: mov w0, 0 - b .L2641 -.L2640: + b .L2618 +.L2617: add x1, x21, :lo12:.LANCHOR2 mov w2, 0 mov w3, w2 @@ -17353,17 +17076,17 @@ Ftl_gc_temp_data_write_back: ldr x0, [x1,2056] ldr w1, [x1,880] bl FlashProgPages -.L2642: +.L2619: add x19, x21, :lo12:.LANCHOR2 ldr w1, [x19,880] cmp w20, w1 - bcs .L2656 + bcs .L2633 umull x0, w20, w22 ldr x2, [x19,2056] add x1, x2, x0 ldr w2, [x2,x0] cmn w2, #1 - bne .L2643 + bne .L2620 ldrh w3, [x19,96] ldr x1, [x19,-40] strh wzr, [x1,x3,lsl 1] @@ -17378,8 +17101,8 @@ Ftl_gc_temp_data_write_back: bl FtlBbmMapBadBlock bl FtlBbmTblFlush bl FtlGcPageVarInit - b .L2655 -.L2643: + b .L2632 +.L2620: ldr x2, [x1,16] add w20, w20, 1 ldr w1, [x1,4] @@ -17387,18 +17110,18 @@ Ftl_gc_temp_data_write_back: ldr w0, [x2,12] ldr w2, [x2,8] bl FtlGcUpdatePage - b .L2642 -.L2656: + b .L2619 +.L2633: ldr x0, [x19,2056] bl FtlGcBufFree str wzr, [x19,880] ldrh w0, [x19,100] - cbnz w0, .L2645 + cbnz w0, .L2622 mov w0, 1 bl FtlGcFreeTempBlock -.L2655: +.L2632: mov w0, 1 -.L2641: +.L2618: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x29, x30, [sp], 48 @@ -17423,13 +17146,13 @@ FtlGcPageRecovery: ldrh w1, [x19,98] ldrh w0, [x20,2026] cmp w1, w0 - bcc .L2657 + bcc .L2634 add x0, x19, 2240 bl FtlMapBlkWriteDumpData mov w0, 0 bl FtlGcFreeTempBlock str wzr, [x19,2328] -.L2657: +.L2634: ldp x19, x20, [sp,16] ldr x21, [sp,32] ldp x29, x30, [sp], 48 @@ -17471,27 +17194,27 @@ FtlPowerLostRecovery: FtlSysBlkInit: stp x29, x30, [sp, -64]! add x29, sp, 0 - stp x19, x20, [sp,16] - adrp x20, .LANCHOR0 - str x23, [sp,48] - add x20, x20, :lo12:.LANCHOR0 - adrp x19, .LANCHOR2 + stp x23, x24, [sp,48] + adrp x23, .LANCHOR0 stp x21, x22, [sp,32] - add x21, x19, :lo12:.LANCHOR2 - ldrh w0, [x20,1956] + add x21, x23, :lo12:.LANCHOR0 + stp x19, x20, [sp,16] + adrp x20, .LANCHOR2 + ldrh w0, [x21,1956] + add x19, x20, :lo12:.LANCHOR2 bl FtlFreeSysBlkQueueInit bl FtlScanSysBlk - ldrh w1, [x21,280] + ldrh w1, [x19,280] mov w0, 65535 cmp w1, w0 - bne .L2661 -.L2663: + bne .L2638 +.L2640: mov w22, -1 - b .L2662 -.L2661: + b .L2639 +.L2638: bl FtlLoadSysInfo mov w22, w0 - cbnz w0, .L2663 + cbnz w0, .L2640 bl FtlLoadMapInfo bl FtlLoadVonderInfo bl Ftl_load_ext_data @@ -17499,79 +17222,103 @@ FtlSysBlkInit: bl FtlFreeSysBLkSort bl SupperBlkListInit bl FtlPowerLostRecovery - ldrh w2, [x20,2066] + ldrh w2, [x21,2066] mov x1, 0 - ldr x0, [x21,144] -.L2664: + ldr x0, [x19,144] +.L2641: cmp w1, w2 mov w3, w1 - bge .L2668 + bge .L2645 add x4, x0, x1, lsl 4 add x1, x1, 1 ldr w4, [x4,4] - tbz w4, #31, .L2664 -.L2668: - add x1, x19, :lo12:.LANCHOR2 + tbz w4, #31, .L2641 +.L2645: + add x0, x20, :lo12:.LANCHOR2 cmp w3, w2 - adrp x21, .LANCHOR4 - ldrh w0, [x1,252] - add w0, w0, 1 - strh w0, [x1,252] - blt .L2665 - add x0, x21, :lo12:.LANCHOR4 + adrp x24, .LANCHOR4 + ldrh w1, [x0,252] + add w1, w1, 1 + strh w1, [x0,252] + blt .L2642 + add x0, x24, :lo12:.LANCHOR4 ldrh w0, [x0,266] - cbz w0, .L2669 -.L2665: - add x20, x19, :lo12:.LANCHOR2 - mov x0, x20 + cbz w0, .L2646 +.L2642: + add x19, x20, :lo12:.LANCHOR2 + mov x0, x19 + add x21, x19, 48 bl FtlSuperblockPowerLostFix - add x0, x20, 48 + mov x0, x21 bl FtlSuperblockPowerLostFix - add x0, x20, 2240 + ldrh w0, [x20,#:lo12:.LANCHOR2] + ldr x2, [x19,-40] + lsl x0, x0, 1 + ldrh w3, [x19,4] + ldrh w1, [x2,x0] + sub w1, w1, w3 + strh w1, [x2,x0] + add x2, x23, :lo12:.LANCHOR0 + strb wzr, [x19,6] + ldr x3, [x19,-40] + strh wzr, [x19,4] + ldrh w0, [x2,2026] + strh w0, [x19,2] + ldrh w0, [x19,48] + ldrh w4, [x19,52] + lsl x0, x0, 1 + ldrh w1, [x3,x0] + sub w1, w1, w4 + strh w1, [x3,x0] + strb wzr, [x19,54] + ldrh w0, [x2,2026] + strh w0, [x19,50] + add x0, x19, 2240 + strh wzr, [x19,52] bl FtlMapBlkWriteDumpData - add x0, x21, :lo12:.LANCHOR4 + add x0, x24, :lo12:.LANCHOR4 add x0, x0, 200 bl FtlMapBlkWriteDumpData - ldrh w0, [x20,254] + ldrh w0, [x19,254] add w0, w0, 1 - strh w0, [x20,254] + strh w0, [x19,254] bl l2p_flush bl FtlVpcTblFlush bl FtlVpcTblFlush -.L2669: +.L2646: mov w0, 1 - add x20, x19, :lo12:.LANCHOR2 + add x19, x20, :lo12:.LANCHOR2 bl FtlUpdateVaildLpn - ldrh w0, [x19,#:lo12:.LANCHOR2] + ldrh w0, [x20,#:lo12:.LANCHOR2] mov w1, 65535 cmp w0, w1 - beq .L2670 - ldrh w1, [x20,4] - cbnz w1, .L2670 - ldrh w1, [x20,52] - add x23, x20, 48 - cbnz w1, .L2670 + beq .L2647 + ldrh w1, [x19,4] + cbnz w1, .L2647 + ldrh w1, [x19,52] + add x21, x19, 48 + cbnz w1, .L2647 bl FtlGcRefreshBlock - ldrh w0, [x20,48] + ldrh w0, [x19,48] bl FtlGcRefreshBlock - mov x0, x20 + mov x0, x19 bl allocate_new_data_superblock - mov x0, x23 + mov x0, x21 bl allocate_new_data_superblock - add x0, x21, :lo12:.LANCHOR4 + add x0, x24, :lo12:.LANCHOR4 add x0, x0, 200 bl FtlMapBlkWriteDumpData -.L2670: - add x19, x19, :lo12:.LANCHOR2 - ldrh w0, [x19,252] +.L2647: + add x20, x20, :lo12:.LANCHOR2 + ldrh w0, [x20,252] and w0, w0, 31 - cbnz w0, .L2662 + cbnz w0, .L2639 bl FtlVpcCheckAndModify -.L2662: +.L2639: mov w0, w22 - ldr x23, [sp,48] ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] + ldp x23, x24, [sp,48] ldp x29, x30, [sp], 64 ret .size FtlSysBlkInit, .-FtlSysBlkInit @@ -17580,19 +17327,19 @@ FtlSysBlkInit: .type FtlInit, %function FtlInit: stp x29, x30, [sp, -32]! - adrp x1, .LC74 + adrp x1, .LC73 add x29, sp, 0 stp x19, x20, [sp,16] adrp x19, .LANCHOR1 mov x20, x0 add x19, x19, :lo12:.LANCHOR1 mov w0, -1 - add x1, x1, :lo12:.LC74 + add x1, x1, :lo12:.LC73 str w0, [x19,532] adrp x0, .LANCHOR4+420 str wzr, [x0,#:lo12:.LANCHOR4+420] - adrp x0, .LC73 - add x0, x0, :lo12:.LC73 + adrp x0, .LC72 + add x0, x0, :lo12:.LC72 bl printk mov x0, x20 bl FtlConstantsInit @@ -17602,12 +17349,12 @@ FtlInit: ldrh w0, [x0,#:lo12:.LANCHOR0+1956] bl FtlFreeSysBlkQueueInit bl FtlLoadBbt - cbnz w0, .L2678 + cbnz w0, .L2655 bl FtlSysBlkInit - cbnz w0, .L2678 + cbnz w0, .L2655 mov w0, 1 str w0, [x19,532] -.L2678: +.L2655: mov w0, 0 ldp x19, x20, [sp,16] ldp x29, x30, [sp], 32 @@ -17632,7 +17379,7 @@ rk_ftl_init: bl rknand_get_reg_addr ldr x1, [x19,32] mov w0, -1 - cbz x1, .L2681 + cbz x1, .L2658 bl rk_nandc_irq_init mov w1, 0 ldr x0, [x19,424] @@ -17643,18 +17390,18 @@ rk_ftl_init: ldr x0, [x19,32] bl FlashInit mov w19, w0 - cbnz w0, .L2682 + cbnz w0, .L2659 adrp x0, .LANCHOR0 add x0, x0, :lo12:.LANCHOR0 add x0, x0, 168 bl FtlInit -.L2682: - adrp x0, .LC119 +.L2659: + adrp x0, .LC118 mov w1, w19 - add x0, x0, :lo12:.LC119 + add x0, x0, :lo12:.LC118 bl printk mov w0, w19 -.L2681: +.L2658: ldr x19, [sp,16] ldp x29, x30, [sp], 32 ret @@ -17672,10 +17419,10 @@ Ftl_get_new_temp_ppa: ldrh w2, [x0,96] mov w0, 65535 cmp w2, w0 - beq .L2686 + beq .L2663 ldrh w0, [x1,4] - cbnz w0, .L2687 -.L2686: + cbnz w0, .L2664 +.L2663: bl FtlCacheWriteBack add x20, x19, :lo12:.LANCHOR2 mov w0, 0 @@ -17689,7 +17436,7 @@ Ftl_get_new_temp_ppa: bl FtlVpcTblFlush mov w0, 0 bl FtlEctTblFlush -.L2687: +.L2664: add x0, x19, :lo12:.LANCHOR2 add x0, x0, 96 bl get_new_active_ppa @@ -17711,45 +17458,41 @@ rk_ftl_cache_write_back: .global FtlRead .type FtlRead, %function FtlRead: - stp x29, x30, [sp, -192]! + stp x29, x30, [sp, -176]! uxtb w0, w0 add x29, sp, 0 stp x19, x20, [sp,16] - mov w20, w1 - adrp x1, __stack_chk_guard - stp x27, x28, [sp,80] - mov w28, w2 - cmp w0, 16 - ldr x2, [x1,#:lo12:__stack_chk_guard] stp x25, x26, [sp,64] + stp x27, x28, [sp,80] stp x21, x22, [sp,32] stp x23, x24, [sp,48] - str x2, [x29,184] + cmp w0, 16 + mov w20, w1 + mov w28, w2 mov x26, x3 - str x1, [x29,112] - bne .L2690 - add w0, w20, 256 - mov w1, w28 + bne .L2667 + add w0, w1, 256 + mov w1, w2 mov x2, x3 bl FtlVendorPartRead - b .L2691 -.L2690: + b .L2668 +.L2667: adrp x21, .LANCHOR0 - add w0, w20, w28 + add w0, w1, w2 add x1, x21, :lo12:.LANCHOR0 - str w0, [x29,168] + str w0, [x29,152] mov w0, -1 - ldr w3, [x29,168] + ldr w3, [x29,152] ldr w2, [x1,2068] cmp w3, w2 - bhi .L2691 + bhi .L2668 ldrh w0, [x1,2032] sub w25, w3, #1 adrp x19, .LANCHOR2 udiv w1, w20, w0 - str w1, [x29,172] + str w1, [x29,156] udiv w25, w25, w0 - ldr w0, [x29,172] + ldr w0, [x29,156] sub w24, w25, w0 add x0, x19, :lo12:.LANCHOR2 add w24, w24, 1 @@ -17759,99 +17502,99 @@ FtlRead: ldr w1, [x0,164] add w1, w24, w1 str w1, [x0,164] - ldr w0, [x29,172] + ldr w0, [x29,156] mov w1, w25 bl FtlCacheMetchLpa - cbz w0, .L2692 + cbz w0, .L2669 bl FtlCacheWriteBack -.L2692: +.L2669: mov w27, 0 - ldr w22, [x29,172] - str w27, [x29,156] + ldr w22, [x29,156] + str w27, [x29,140] mov w23, w27 - str w27, [x29,152] -.L2693: - cbz w24, .L2736 + str w27, [x29,136] +.L2670: + cbz w24, .L2712 mov w0, w22 - add x1, x29, 180 + add x1, x29, 172 mov w2, 0 bl log2phys - ldr w3, [x29,180] + ldr w3, [x29,172] cmn w3, #1 - bne .L2733 + bne .L2709 mov w3, 0 -.L2694: +.L2671: add x0, x21, :lo12:.LANCHOR0 ldrh w0, [x0,2032] cmp w3, w0 - bcs .L2698 + bcs .L2675 madd w0, w22, w0, w3 cmp w0, w20 - bcc .L2696 - ldr w1, [x29,168] + bcc .L2673 + ldr w1, [x29,152] cmp w0, w1 - bcs .L2696 + bcs .L2673 sub w0, w0, w20 mov w1, 0 ubfiz x0, x0, 9, 23 mov w2, 512 add x0, x26, x0 - str x3, [x29,160] + str x3, [x29,144] bl ftl_memset - ldr x3, [x29,160] -.L2696: + ldr x3, [x29,144] +.L2673: add w3, w3, 1 - b .L2694 -.L2733: + b .L2671 +.L2709: mov w0, 56 umull x1, w23, w0 add x0, x19, :lo12:.LANCHOR2 ldr x2, [x0,2048] add x2, x2, x1 str w3, [x2,4] - ldr w2, [x29,172] + ldr w2, [x29,156] cmp w22, w2 ldr x2, [x0,2048] add x2, x2, x1 - bne .L2699 + bne .L2676 ldr x0, [x0,2096] str x0, [x2,8] add x0, x21, :lo12:.LANCHOR0 ldrh w0, [x0,2032] udiv w3, w20, w0 msub w3, w3, w0, w20 - str w3, [x29,128] + str w3, [x29,112] sub w3, w0, w3 cmp w3, w28 csel w3, w3, w28, ls - str w3, [x29,156] + str w3, [x29,140] cmp w3, w0 - bne .L2700 + bne .L2677 str x26, [x2,8] - b .L2700 -.L2699: + b .L2677 +.L2676: cmp w22, w25 - bne .L2701 + bne .L2678 ldr x0, [x0,2104] str x0, [x2,8] add x0, x21, :lo12:.LANCHOR0 - ldr w4, [x29,168] + ldr w4, [x29,152] ldrh w3, [x0,2032] mul w0, w22, w3 sub w27, w4, w0 cmp w27, w3 - bne .L2700 - b .L2734 -.L2701: + bne .L2677 + b .L2710 +.L2678: add x0, x21, :lo12:.LANCHOR0 ldrh w0, [x0,2032] mul w0, w22, w0 -.L2734: +.L2710: sub w0, w0, w20 ubfiz x0, x0, 9, 23 add x0, x26, x0 str x0, [x2,8] -.L2700: +.L2677: add x2, x19, :lo12:.LANCHOR2 ldr x0, [x2,2048] ldr x2, [x2,2120] @@ -17864,158 +17607,147 @@ FtlRead: and x0, x0, 4294967292 add x0, x2, x0 str x0, [x1,16] -.L2698: +.L2675: subs w24, w24, #1 add w22, w22, 1 - beq .L2702 + beq .L2679 add x0, x21, :lo12:.LANCHOR0 ldrh w0, [x0,1952] cmp w23, w0, lsl 3 - bne .L2693 -.L2702: - cbz w23, .L2693 + bne .L2670 +.L2679: + cbz w23, .L2670 add x0, x19, :lo12:.LANCHOR2 mov w1, w23 mov w2, 0 ldr x0, [x0,2048] bl FlashReadPages - str xzr, [x29,160] - ldr x0, [x29,128] + str xzr, [x29,144] + ldr x0, [x29,112] ubfiz x0, x0, 9, 23 - str x0, [x29,144] - ldr w0, [x29,156] + str x0, [x29,128] + ldr w0, [x29,140] lsl w0, w0, 9 - str w0, [x29,124] + str w0, [x29,108] lsl w0, w27, 9 - str w0, [x29,120] -.L2704: - ldr w0, [x29,160] + str w0, [x29,104] +.L2681: + ldr w0, [x29,144] cmp w23, w0 - bls .L2737 - ldr x0, [x29,160] + bls .L2713 + ldr x0, [x29,144] add x2, x19, :lo12:.LANCHOR2 mov x1, 56 - ldr w4, [x29,172] + ldr w4, [x29,156] mul x3, x0, x1 ldr x0, [x2,2048] add x0, x0, x3 ldr w1, [x0,24] cmp w1, w4 - bne .L2705 + bne .L2682 ldr x1, [x0,8] ldr x0, [x2,2096] cmp x1, x0 - bne .L2706 - ldr x2, [x29,144] + bne .L2683 + ldr x2, [x29,128] mov x0, x26 - str x3, [x29,104] + str x3, [x29,96] add x1, x1, x2 - ldr w2, [x29,124] - b .L2735 -.L2705: + ldr w2, [x29,108] + b .L2711 +.L2682: cmp w1, w25 - bne .L2706 + bne .L2683 ldr x1, [x0,8] ldr x0, [x2,2104] cmp x1, x0 - bne .L2706 + bne .L2683 add x0, x21, :lo12:.LANCHOR0 - ldr w2, [x29,120] - str x3, [x29,104] + ldr w2, [x29,104] + str x3, [x29,96] ldrh w0, [x0,2032] mul w0, w25, w0 sub w0, w0, w20 ubfiz x0, x0, 9, 23 add x0, x26, x0 -.L2735: +.L2711: bl ftl_memcpy - ldr x3, [x29,104] -.L2706: + ldr x3, [x29,96] +.L2683: add x0, x19, :lo12:.LANCHOR2 ldr x1, [x0,2048] add x5, x1, x3 ldr w4, [x1,x3] cmn w4, #1 - bne .L2707 + bne .L2684 ldr w2, [x0,424] - str w4, [x29,152] + str w4, [x29,136] add w2, w2, 1 str w2, [x0,424] -.L2707: +.L2684: ldr w0, [x1,x3] cmp w0, 256 - bne .L2708 + bne .L2685 ldr w0, [x5,4] lsr x0, x0, 10 bl P2V_block_in_plane bl FtlGcRefreshBlock -.L2708: - ldr x0, [x29,160] +.L2685: + ldr x0, [x29,144] add x0, x0, 1 - str x0, [x29,160] - b .L2704 -.L2737: + str x0, [x29,144] + b .L2681 +.L2713: mov w23, 0 - b .L2693 -.L2736: + b .L2670 +.L2712: add x19, x19, :lo12:.LANCHOR2 ldrh w0, [x19,956] - cbz w0, .L2711 + cbz w0, .L2688 mov w0, w24 mov w1, 1 bl rk_ftl_garbage_collect -.L2711: - ldr w0, [x29,152] -.L2691: - ldr x1, [x29,112] - ldr x2, [x29,184] - ldr x1, [x1,#:lo12:__stack_chk_guard] - cmp x2, x1 - beq .L2712 - bl __stack_chk_fail -.L2712: +.L2688: + ldr w0, [x29,136] +.L2668: 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], 192 + ldp x29, x30, [sp], 176 ret .size FtlRead, .-FtlRead .align 2 .global FtlWrite .type FtlWrite, %function FtlWrite: - stp x29, x30, [sp, -288]! + stp x29, x30, [sp, -272]! uxtb w0, w0 add x29, sp, 0 stp x23, x24, [sp,48] - mov w23, w1 - adrp x1, __stack_chk_guard - mov w24, w2 - cmp w0, 16 stp x25, x26, [sp,64] - ldr x2, [x1,#:lo12:__stack_chk_guard] - mov x25, x3 stp x19, x20, [sp,16] stp x21, x22, [sp,32] stp x27, x28, [sp,80] - str x2, [x29,280] - str x1, [x29,120] - bne .L2739 - add w0, w23, 256 - mov w1, w24 + cmp w0, 16 + mov w23, w1 + mov w24, w2 + mov x25, x3 + bne .L2715 + add w0, w1, 256 + mov w1, w2 mov x2, x3 bl FtlVendorPartWrite - b .L2740 -.L2739: + b .L2716 +.L2715: adrp x22, .LANCHOR0 - add w27, w23, w24 + add w27, w1, w2 add x2, x22, :lo12:.LANCHOR0 mov w0, -1 ldr w1, [x2,2068] cmp w27, w1 - bhi .L2740 + bhi .L2716 adrp x5, .LANCHOR4 ldrh w1, [x2,2032] add x4, x5, :lo12:.LANCHOR4 @@ -18043,7 +17775,7 @@ FtlWrite: ldr w3, [x2,2088] cmp w24, 8 csel x19, x0, x19, hi - cbz w3, .L2742 + cbz w3, .L2718 sub w3, w3, #1 mov w5, 56 ldr x2, [x2,2096] @@ -18051,7 +17783,7 @@ FtlWrite: add x3, x2, x3 ldr w2, [x3,24] cmp w26, w2 - bne .L2743 + bne .L2719 ldr w2, [x0,176] str x4, [x29,192] add w2, w2, 1 @@ -18071,79 +17803,79 @@ FtlWrite: mov x1, x25 bl ftl_memcpy ldr x4, [x29,192] - cbnz w28, .L2744 + cbnz w28, .L2720 ldr w1, [x4,444] mov w0, w28 cmp w1, 2 - ble .L2740 -.L2744: + ble .L2716 +.L2720: add x25, x25, x21 sub w24, w24, w19 add w23, w23, w19 add w26, w26, 1 mov w21, w28 -.L2743: +.L2719: ldr x0, [x29,152] add x0, x0, :lo12:.LANCHOR4 ldr x19, [x0,408] str wzr, [x0,444] -.L2742: +.L2718: ldr w1, [x29,180] mov w0, w26 bl FtlCacheMetchLpa - cbz w0, .L2745 + cbz w0, .L2721 bl FtlCacheWriteBack -.L2745: +.L2721: ldr x0, [x29,152] add x20, x20, :lo12:.LANCHOR2 str w26, [x29,200] add x0, x0, :lo12:.LANCHOR4 str x19, [x0,408] - adrp x0, .LC120 - add x0, x0, :lo12:.LC120 - str x0, [x29,104] -.L2746: - cbz w21, .L2805 + adrp x0, .LC119 + add x0, x0, :lo12:.LC119 + str x0, [x29,112] +.L2722: + cbz w21, .L2780 ldrh w0, [x19,4] - cbnz w0, .L2747 + cbnz w0, .L2723 cmp x19, x20 - bne .L2748 + bne .L2724 add x0, x20, 48 ldrh w19, [x0,4] - cbnz w19, .L2749 + cbnz w19, .L2725 bl allocate_new_data_superblock adrp x0, .LANCHOR1 add x0, x0, :lo12:.LANCHOR1 str w19, [x0,3008] -.L2749: +.L2725: mov x0, x20 add x19, x20, 48 bl allocate_new_data_superblock adrp x0, .LANCHOR1 add x0, x0, :lo12:.LANCHOR1 ldr w0, [x0,3008] - cbnz w0, .L2750 -.L2751: + cbnz w0, .L2726 +.L2727: mov x19, x20 - b .L2750 -.L2748: + b .L2726 +.L2724: adrp x1, .LANCHOR1 add x1, x1, :lo12:.LANCHOR1 str w0, [x1,3008] ldrh w0, [x20,4] - cbnz w0, .L2751 + cbnz w0, .L2727 mov x0, x19 bl allocate_new_data_superblock -.L2750: +.L2726: ldrh w0, [x19,4] - cbnz w0, .L2752 + cbnz w0, .L2728 mov x0, x19 bl allocate_new_data_superblock -.L2752: +.L2728: ldr x0, [x29,152] add x0, x0, :lo12:.LANCHOR4 str x19, [x0,408] -.L2747: +.L2723: add x2, x22, :lo12:.LANCHOR0 ldr w0, [x20,2040] ldrh w1, [x19,4] @@ -18157,36 +17889,36 @@ FtlWrite: str w0, [x29,148] ldr w0, [x29,204] and w0, w0, 1 - str w0, [x29,116] + str w0, [x29,124] add w0, w24, w23 str w0, [x29,144] -.L2753: +.L2729: ldr w0, [x29,192] ldr w2, [x29,148] ldr w1, [x29,200] cmp w0, w2 add w27, w1, w0 - bcs .L2806 + bcs .L2781 ldrh w1, [x19,4] - cbz w1, .L2783 + cbz w1, .L2758 ldr w1, [x29,180] cmp w27, w1 cset w7, eq - cbz w0, .L2755 - ldr w1, [x29,116] + cbz w0, .L2731 + ldr w1, [x29,124] tst w7, w1 - beq .L2755 + beq .L2731 add x1, x22, :lo12:.LANCHOR0 ldr w2, [x29,144] ldrh w1, [x1,2032] msub w2, w27, w1, w2 cmp w2, w1 - bne .L2783 -.L2755: - add x1, x29, 220 + bne .L2758 +.L2731: + add x1, x29, 212 mov w2, 0 mov w0, w27 - str x7, [x29,96] + str x7, [x29,104] bl log2phys mov x0, x19 bl get_new_active_ppa @@ -18224,10 +17956,10 @@ FtlWrite: ldr x4, [x29,184] cset w0, eq str w0, [x29,176] - cbnz w0, .L2786 - ldr x7, [x29,96] + cbnz w0, .L2761 + ldr x7, [x29,104] ldr x5, [x29,160] - cbz w7, .L2756 + cbz w7, .L2732 ldr w0, [x29,144] ldrh w2, [x4,2032] msub w2, w27, w2, w0 @@ -18235,8 +17967,8 @@ FtlWrite: str w0, [x29,184] ldr w0, [x29,176] str w0, [x29,160] - b .L2759 -.L2786: + b .L2735 +.L2761: ldrh w2, [x4,2032] udiv w0, w23, w2 msub w0, w0, w2, w23 @@ -18245,76 +17977,76 @@ FtlWrite: cmp w2, w24 csel w0, w2, w24, ls str w0, [x29,184] -.L2759: +.L2735: add x2, x22, :lo12:.LANCHOR0 ldr w1, [x29,184] ldrh w0, [x2,2032] cmp w1, w0 - bne .L2760 + bne .L2736 ldr w0, [x29,176] mov x1, x25 - cbnz w0, .L2761 + cbnz w0, .L2737 ldr w0, [x29,184] mul w1, w0, w27 sub w1, w1, w23 ubfiz x1, x1, 9, 23 add x1, x25, x1 -.L2761: +.L2737: ldr w2, [x29,204] mov w0, 56 add x4, x22, :lo12:.LANCHOR0 - cbz w2, .L2762 + cbz w2, .L2738 ldr w2, [x4,2088] umull x0, w2, w0 ldr x2, [x4,2096] add x0, x2, x0 - b .L2804 -.L2762: + b .L2779 +.L2738: ldr w2, [x4,2088] umull x0, w2, w0 ldr x2, [x4,2096] add x0, x2, x0 ldr x0, [x0,8] - b .L2802 -.L2760: - ldr w0, [x29,220] + b .L2777 +.L2736: + ldr w0, [x29,212] cmn w0, #1 - beq .L2764 - str w0, [x29,228] + beq .L2740 + str w0, [x29,220] mov w1, 56 ldr w0, [x2,2088] - str w27, [x29,248] + str w27, [x29,240] umull x0, w0, w1 ldr x1, [x2,2096] mov w2, 0 add x0, x1, x0 ldr x1, [x0,8] ldr x0, [x0,16] - str x1, [x29,232] + str x1, [x29,224] mov w1, 1 - str x0, [x29,240] - add x0, x29, 224 + str x0, [x29,232] + add x0, x29, 216 bl FlashReadPages - ldr w0, [x29,224] + ldr w0, [x29,216] cmn w0, #1 - bne .L2765 + bne .L2741 ldr w0, [x20,424] add w0, w0, 1 str w0, [x20,424] - b .L2767 -.L2765: + b .L2743 +.L2741: ldr w0, [x28,8] cmp w0, w27 - beq .L2767 + beq .L2743 ldr w0, [x20,424] mov w2, w27 add w0, w0, 1 str w0, [x20,424] - ldr x0, [x29,104] + ldr x0, [x29,112] ldr w1, [x28,8] bl printk - b .L2767 -.L2764: + b .L2743 +.L2740: ldr w0, [x2,2088] mov w1, 56 umull x0, w0, w1 @@ -18324,12 +18056,12 @@ FtlWrite: mov w1, 0 ldr x0, [x0,8] bl ftl_memset -.L2767: +.L2743: ldr w1, [x29,184] mov w0, 56 lsl w2, w1, 9 ldr w1, [x29,176] - cbz w1, .L2768 + cbz w1, .L2744 add x1, x22, :lo12:.LANCHOR0 ldr w4, [x1,2088] umull x0, w4, w0 @@ -18340,8 +18072,8 @@ FtlWrite: ldr x1, [x4,8] add x0, x1, x0 mov x1, x25 - b .L2803 -.L2768: + b .L2778 +.L2744: add x5, x22, :lo12:.LANCHOR0 ldr w4, [x5,2088] ldr x1, [x5,2096] @@ -18353,12 +18085,12 @@ FtlWrite: sub w1, w1, w23 ubfiz x1, x1, 9, 23 add x1, x25, x1 - b .L2803 -.L2756: + b .L2778 +.L2732: ldr w0, [x29,204] ldrh w1, [x4,2032] ldr w2, [x4,2088] - cbz w0, .L2769 + cbz w0, .L2745 mul w1, w27, w1 umull x0, w2, w5 sub w1, w1, w23 @@ -18366,10 +18098,10 @@ FtlWrite: ubfiz x1, x1, 9, 23 add x0, x2, x0 add x1, x25, x1 -.L2804: +.L2779: str x1, [x0,8] - b .L2763 -.L2769: + b .L2739 +.L2745: umull x0, w2, w5 ldr x2, [x4,2096] mul w1, w27, w1 @@ -18378,11 +18110,11 @@ FtlWrite: ubfiz x1, x1, 9, 23 ldr x0, [x0,8] add x1, x25, x1 -.L2802: +.L2777: ldrh w2, [x4,2036] -.L2803: +.L2778: bl ftl_memcpy -.L2763: +.L2739: ldr x1, [x29,128] mov w0, -3947 ldr x2, [x29,136] @@ -18395,7 +18127,7 @@ FtlWrite: cmn w0, #1 csel w0, w0, wzr, ne str w0, [x20,200] - ldr w0, [x29,220] + ldr w0, [x29,212] str w0, [x28,12] ldrh w0, [x19] strh w0, [x28,2] @@ -18405,54 +18137,47 @@ FtlWrite: ldr x0, [x29,192] add x0, x0, 1 str x0, [x29,192] - b .L2753 -.L2806: + b .L2729 +.L2781: str w27, [x29,200] mov x0, x2 - b .L2754 -.L2783: + b .L2730 +.L2758: str w27, [x29,200] -.L2754: +.L2730: sub w21, w21, w0 ldr w0, [x29,204] - cbnz w0, .L2773 + cbnz w0, .L2749 add x0, x22, :lo12:.LANCHOR0 ldr w1, [x0,2088] ldr w0, [x20,2040] cmp w1, w0 - bcs .L2773 + bcs .L2749 ldrh w0, [x19,4] - cbz w0, .L2773 -.L2775: + cbz w0, .L2749 +.L2751: str wzr, [x29,204] - b .L2746 -.L2773: + b .L2722 +.L2749: bl FtlCacheWriteBack add x0, x22, :lo12:.LANCHOR0 cmp w21, 3 str wzr, [x0,2088] - bls .L2775 - b .L2746 -.L2805: + bls .L2751 + b .L2722 +.L2780: ldr w1, [x29,180] mov w0, w21 sub w1, w1, w26 bl rk_ftl_garbage_collect mov w0, w21 -.L2740: - ldr x1, [x29,120] - ldr x2, [x29,280] - ldr x1, [x1,#:lo12:__stack_chk_guard] - cmp x2, x1 - beq .L2777 - bl __stack_chk_fail -.L2777: +.L2716: 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], 288 + ldp x29, x30, [sp], 272 ret .size FtlWrite, .-FtlWrite .align 2 @@ -18464,14 +18189,14 @@ FlashReadFacBbtData.part.14: add x29, sp, 0 str x19, [sp,16] mov x19, x0 - cbnz w1, .L2810 + cbnz w1, .L2785 adrp x1, .LANCHOR4 mov w7, 1 -.L2813: +.L2788: add x0, x1, :lo12:.LANCHOR4 ldr w0, [x0,68] cmp w3, w0 - bcs .L2810 + bcs .L2785 add x6, x4, :lo12:.LANCHOR0 ubfx x5, x3, 5, 11 lsl x5, x5, 2 @@ -18482,16 +18207,16 @@ FlashReadFacBbtData.part.14: uxth w3, w3 orr w6, w8, w6 str w6, [x0,x5] - b .L2813 -.L2810: + b .L2788 +.L2785: add x4, x4, :lo12:.LANCHOR0 mov x0, x19 ldr x1, [x4,1856] bl ftl_memcpy mov w2, 4 - adrp x0, .LC121 + adrp x0, .LC120 mov x1, x19 - add x0, x0, :lo12:.LC121 + add x0, x0, :lo12:.LC120 mov w3, w2 bl rknand_print_hex ldr x19, [sp,16] @@ -18503,81 +18228,70 @@ FlashReadFacBbtData.part.14: .global FlashReadFacBbtData .type FlashReadFacBbtData, %function FlashReadFacBbtData: - stp x29, x30, [sp, -160]! + stp x29, x30, [sp, -144]! adrp x4, .LANCHOR0 - add x29, sp, 0 - stp x21, x22, [sp,32] - adrp x21, __stack_chk_guard add x4, x4, :lo12:.LANCHOR0 + add x29, sp, 0 stp x19, x20, [sp,16] + stp x21, x22, [sp,32] stp x23, x24, [sp,48] stp x25, x26, [sp,64] - str x27, [sp,80] - mov x23, x0 - ldr x0, [x21,#:lo12:__stack_chk_guard] - mov w24, w1 - ldrh w3, [x4,180] - mov w26, w2 - str x0, [x29,152] - mov w27, 61664 + mov x22, x0 + mov w23, w1 ldrh w0, [x4,182] + mov w25, w2 + ldrh w3, [x4,180] + mov w26, 61664 mul w3, w3, w0 ldr x0, [x4,1856] adrp x4, .LANCHOR4 - str x0, [x29,104] + str x0, [x29,96] add x0, x4, :lo12:.LANCHOR4 uxth w3, w3 - mov x22, x4 + mov x21, x4 sub w20, w3, #1 sub w19, w3, #16 ldr x0, [x0,88] - mul w25, w1, w3 - str x0, [x29,112] + mul w24, w1, w3 + str x0, [x29,104] uxth w20, w20 -.L2815: +.L2790: cmp w20, w19 - ble .L2824 - add w0, w20, w25 + ble .L2798 + add w0, w20, w24 mov w1, 1 lsl w0, w0, 10 mov w2, w1 - str w0, [x29,100] - add x0, x29, 96 + str w0, [x29,92] + add x0, x29, 88 bl FlashReadPages - ldr w0, [x29,96] + ldr w0, [x29,88] cmn w0, #1 - beq .L2816 - add x0, x22, :lo12:.LANCHOR4 + beq .L2791 + add x0, x21, :lo12:.LANCHOR4 ldr x0, [x0,88] ldrh w0, [x0] - cmp w0, w27 - bne .L2816 - mov w0, w23 - cbz x23, .L2817 - mov x0, x23 - mov w1, w24 - mov w2, w26 + cmp w0, w26 + bne .L2791 + mov w0, w22 + cbz x22, .L2792 + mov x0, x22 + mov w1, w23 + mov w2, w25 bl FlashReadFacBbtData.part.14 - b .L2817 -.L2816: + b .L2792 +.L2791: sub w20, w20, #1 uxth w20, w20 - b .L2815 -.L2824: + b .L2790 +.L2798: mov w0, -1 -.L2817: - ldr x2, [x29,152] - ldr x1, [x21,#:lo12:__stack_chk_guard] - cmp x2, x1 - beq .L2819 - bl __stack_chk_fail -.L2819: +.L2792: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] ldp x25, x26, [sp,64] - ldr x27, [sp,80] - ldp x29, x30, [sp], 160 + ldp x29, x30, [sp], 144 ret .size FlashReadFacBbtData, .-FlashReadFacBbtData .align 2 @@ -18602,37 +18316,37 @@ FlashGetBadBlockList: lsr w2, w2, 3 bl FlashReadFacBbtData cmn w0, #1 - bne .L2826 -.L2830: + bne .L2800 +.L2804: mov w1, 0 - b .L2827 -.L2826: + b .L2801 +.L2800: mov w2, 0 lsr w0, w19, 4 mov w1, w2 sub w19, w19, #1 mov w5, 1 -.L2828: +.L2802: cmp w2, w19 - bge .L2827 + bge .L2801 add x3, x20, :lo12:.LANCHOR4 ubfx x4, x2, 5, 11 ldr x6, [x3,80] lsl w3, w5, w2 ldr w4, [x6,x4,lsl 2] tst w3, w4 - beq .L2829 + beq .L2803 add w3, w1, 1 ubfiz x1, x1, 1, 16 strh w2, [x21,x1] uxth w1, w3 -.L2829: +.L2803: cmp w1, w0 - bcs .L2830 + bcs .L2804 add w2, w2, 1 uxth w2, w2 - b .L2828 -.L2827: + b .L2802 +.L2801: ubfiz x1, x1, 1, 16 mov w0, -1 ldp x19, x20, [sp,16] @@ -18664,11 +18378,11 @@ FtlMakeBbt: stp x27, x28, [sp,80] bl FtlBbtMemInit bl FtlLoadFactoryBbt -.L2836: +.L2810: add x21, x19, :lo12:.LANCHOR0 ldrh w0, [x21,1974] cmp w23, w0 - bcs .L2854 + bcs .L2828 adrp x1, .LANCHOR2 ldrh w27, [x24,12] add x2, x1, :lo12:.LANCHOR2 @@ -18679,7 +18393,7 @@ FtlMakeBbt: str x0, [x20,8] cmp w27, w2 str x26, [x20,16] - beq .L2837 + beq .L2811 ldrh w0, [x21,2022] mov w1, 1 mov w2, w1 @@ -18694,8 +18408,8 @@ FtlMakeBbt: ldr x1, [x20,8] lsr w2, w2, 3 bl ftl_memcpy - b .L2838 -.L2837: + b .L2812 +.L2811: mov w1, w23 mov w28, -3872 bl FlashGetBadBlockList @@ -18705,17 +18419,17 @@ FtlMakeBbt: ldrh w21, [x21,2022] sub w21, w21, #1 uxth w21, w21 -.L2839: +.L2813: add x27, x19, :lo12:.LANCHOR0 ldrh w0, [x27,2022] madd w0, w23, w0, w21 bl FtlBbmIsBadBlock cmp w0, 1 - bne .L2855 + bne .L2829 sub w21, w21, #1 uxth w21, w21 - b .L2839 -.L2855: + b .L2813 +.L2829: ldr x0, [x29,104] mov w1, 0 mov w2, 16 @@ -18750,64 +18464,64 @@ FtlMakeBbt: bl FlashProgPages ldr w0, [x25] cmn w0, #1 - bne .L2838 + bne .L2812 mov w0, w27 bl FtlBbmMapBadBlock - b .L2839 -.L2838: + b .L2813 +.L2812: mov w0, w27 add w23, w23, 1 add x22, x22, 8 add x24, x24, 2 bl FtlBbmMapBadBlock - b .L2836 -.L2854: + b .L2810 +.L2828: mov w20, 0 -.L2843: +.L2817: add x21, x19, :lo12:.LANCHOR0 ldrh w0, [x21,2040] cmp w0, w20 - bls .L2856 + bls .L2830 mov w0, w20 add w20, w20, 1 bl FtlBbmMapBadBlock uxth w20, w20 - b .L2843 -.L2856: + b .L2817 +.L2830: ldrh w20, [x21,2124] mov w23, 65535 sub w20, w20, #1 uxth w20, w20 -.L2845: +.L2819: add x22, x21, 2112 ldrh w0, [x22,12] sub w0, w0, #48 cmp w20, w0 - ble .L2849 + ble .L2823 mov w0, w20 bl FtlBbmIsBadBlock cmp w0, 1 - beq .L2846 + beq .L2820 mov w0, w20 bl FlashTestBlk - cbz w0, .L2847 + cbz w0, .L2821 mov w0, w20 bl FtlBbmMapBadBlock - b .L2846 -.L2847: + b .L2820 +.L2821: ldrh w0, [x21,2112] cmp w0, w23 - bne .L2848 + bne .L2822 strh w20, [x21,2112] - b .L2846 -.L2848: + b .L2820 +.L2822: strh w20, [x22,4] - b .L2849 -.L2846: + b .L2823 +.L2820: sub w20, w20, #1 uxth w20, w20 - b .L2845 -.L2849: + b .L2819 +.L2823: adrp x0, .LANCHOR2 add x19, x19, :lo12:.LANCHOR0 add x0, x0, :lo12:.LANCHOR2 @@ -18865,15 +18579,15 @@ FtlLowFormat: ldrh w0, [x0,1956] bl FtlFreeSysBlkQueueInit bl FtlLoadBbt - cbz w0, .L2858 + cbz w0, .L2832 bl FtlMakeBbt -.L2858: +.L2832: mov w0, 0 -.L2859: +.L2833: add x1, x20, :lo12:.LANCHOR0 ldrh w2, [x1,2032] cmp w0, w2, lsl 7 - bge .L2882 + bge .L2856 add x3, x21, :lo12:.LANCHOR2 ubfiz x2, x0, 2, 16 mvn w1, w0 @@ -18886,15 +18600,15 @@ FtlLowFormat: uxth w0, w0 ldr x3, [x3,2104] str w1, [x3,x2] - b .L2859 -.L2882: + b .L2833 +.L2856: ldrh w22, [x1,1960] mov w19, 0 -.L2861: +.L2835: add x23, x20, :lo12:.LANCHOR0 ldrh w0, [x23,1962] cmp w0, w22 - bls .L2883 + bls .L2857 mov w0, w22 mov w1, 1 add w22, w22, 1 @@ -18902,17 +18616,17 @@ FtlLowFormat: add w0, w19, w0 uxth w22, w22 uxth w19, w0 - b .L2861 -.L2883: + b .L2835 +.L2857: ldrh w0, [x23,1952] sub w1, w19, #3 cmp w1, w0, lsl 1 - bge .L2863 -.L2867: + bge .L2837 +.L2841: mov w19, 0 mov w22, w19 - b .L2864 -.L2863: + b .L2838 +.L2837: udiv w19, w19, w0 ldr w0, [x23,2060] add w0, w19, w0 @@ -18920,22 +18634,22 @@ FtlLowFormat: ldrh w0, [x23,1956] bl FtlFreeSysBlkQueueInit ldrh w19, [x23,1960] -.L2865: +.L2839: add x0, x20, :lo12:.LANCHOR0 ldrh w0, [x0,1962] cmp w0, w19 - bls .L2867 + bls .L2841 mov w0, w19 mov w1, 1 add w19, w19, 1 bl FtlLowFormatEraseBlock uxth w19, w19 - b .L2865 -.L2864: + b .L2839 +.L2838: add x2, x20, :lo12:.LANCHOR0 ldrh w0, [x2,1960] cmp w0, w22 - bls .L2884 + bls .L2858 mov w0, w22 mov w1, 0 add w22, w22, 1 @@ -18943,8 +18657,8 @@ FtlLowFormat: add w0, w19, w0 uxth w22, w22 uxth w19, w0 - b .L2864 -.L2884: + b .L2838 +.L2858: ldrh w3, [x2,1952] add x6, x21, :lo12:.LANCHOR2 ldr w1, [x2,1964] @@ -18958,39 +18672,39 @@ FtlLowFormat: mov w0, 24 mul w0, w3, w0 cmp w19, w0 - ble .L2869 + ble .L2843 sub w1, w1, w19 udiv w1, w1, w3 str w1, [x2,2104] lsr w1, w1, 5 add w1, w1, 24 strh w1, [x6,272] -.L2869: +.L2843: add x2, x21, :lo12:.LANCHOR2 ldr w0, [x2,160] cmp w0, 1 - bne .L2870 + bne .L2844 ldrh w1, [x2,272] udiv w0, w19, w3 add w0, w1, w0 add w0, w1, w0, asr 2 strh w0, [x2,272] -.L2870: +.L2844: add x6, x20, :lo12:.LANCHOR0 ldrh w1, [x6,2018] - cbz w1, .L2872 + cbz w1, .L2846 add x0, x21, :lo12:.LANCHOR2 ldrh w2, [x0,272] add w2, w2, w1, lsr 1 strh w2, [x0,272] mul w2, w1, w3 cmp w2, w19 - ble .L2872 + ble .L2846 add w1, w1, 32 str w4, [x6,2104] add w1, w5, w1 strh w1, [x0,272] -.L2872: +.L2846: add x19, x21, :lo12:.LANCHOR2 add x22, x20, :lo12:.LANCHOR0 adrp x24, .LANCHOR4 @@ -19029,19 +18743,19 @@ FtlLowFormat: strh wzr, [x19,2] strb wzr, [x19,6] bl ftl_memset -.L2874: +.L2848: mov x0, x19 bl make_superblock ldrb w0, [x19,7] - cbnz w0, .L2875 + cbnz w0, .L2849 ldrh w1, [x19] ldr x0, [x19,-40] strh w23, [x0,x1,lsl 1] ldrh w0, [x19] add w0, w0, 1 strh w0, [x19] - b .L2874 -.L2875: + b .L2848 +.L2849: ldr w0, [x19,196] add x20, x19, 48 str w0, [x19,12] @@ -19059,19 +18773,19 @@ FtlLowFormat: strh w0, [x19,48] mov w0, 1 strb w0, [x20,8] -.L2876: +.L2850: mov x0, x20 bl make_superblock ldrb w0, [x20,7] - cbnz w0, .L2877 + cbnz w0, .L2851 ldrh w1, [x20] ldr x0, [x19,-40] strh w22, [x0,x1,lsl 1] ldrh w0, [x20] add w0, w0, 1 strh w0, [x20] - b .L2876 -.L2877: + b .L2850 +.L2851: ldr w0, [x19,196] add x21, x21, :lo12:.LANCHOR4 str w0, [x20,12] @@ -19095,11 +18809,11 @@ FtlLowFormat: str w0, [x19,196] bl FtlVpcTblFlush bl FtlSysBlkInit - cbnz w0, .L2878 + cbnz w0, .L2852 adrp x0, .LANCHOR1+532 mov w1, 1 str w1, [x0,#:lo12:.LANCHOR1+532] -.L2878: +.L2852: mov w0, 0 ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] @@ -19111,75 +18825,72 @@ FtlLowFormat: .global FtlReInitForSDUpdata .type FtlReInitForSDUpdata, %function FtlReInitForSDUpdata: - stp x29, x30, [sp, -64]! + stp x29, x30, [sp, -48]! add x29, sp, 0 - stp x19, x20, [sp,16] - adrp x20, __stack_chk_guard + str x19, [sp,16] adrp x19, .LANCHOR4 - ldr x0, [x20,#:lo12:__stack_chk_guard] - str x0, [x29,56] add x0, x19, :lo12:.LANCHOR4 ldr x0, [x0,32] bl FlashInit mov w1, 0 - cbnz w0, .L2886 + cbnz w0, .L2860 bl FlashLoadFactorBbt - cbz w0, .L2887 + cbz w0, .L2861 bl FlashMakeFactorBbt -.L2887: +.L2861: add x19, x19, :lo12:.LANCHOR4 ldr x0, [x19,80] bl FlashReadIdbDataRaw - cbz w0, .L2888 + cbz w0, .L2862 mov w1, 0 mov w2, 16 - add x0, x29, 40 + add x0, x29, 32 bl FlashReadFacBbtData mov w0, 0 - ldr w2, [x29,40] + ldr w2, [x29,32] mov w1, w0 mov w4, 1 -.L2890: +.L2864: lsl w3, w4, w1 add w1, w1, 1 tst w3, w2 cset w3, ne cmp w1, 16 add w0, w0, w3 - bne .L2890 + bne .L2864 cmp w0, 6 - bhi .L2891 + bhi .L2865 adrp x0, .LANCHOR0+9 strb w1, [x0,#:lo12:.LANCHOR0+9] - b .L2892 -.L2891: + b .L2866 +.L2865: mov w1, 0 mov w4, 1 -.L2894: +.L2868: lsl w3, w4, w1 add w1, w1, 1 tst w3, w2 cset w3, ne cmp w1, 24 add w0, w0, w3 - bne .L2894 + bne .L2868 cmp w0, 17 adrp x0, .LANCHOR0 add x0, x0, :lo12:.LANCHOR0 - bls .L2916 + bls .L2889 mov w1, 36 -.L2916: +.L2889: strb w1, [x0,9] -.L2892: +.L2866: adrp x0, .LANCHOR0 add x0, x0, :lo12:.LANCHOR0 ldrb w1, [x0,9] strh w1, [x0,194] -.L2888: - adrp x0, .LC73 - adrp x1, .LC74 - add x1, x1, :lo12:.LC74 - add x0, x0, :lo12:.LC73 +.L2862: + adrp x0, .LC72 + adrp x1, .LC73 + add x1, x1, :lo12:.LC73 + add x0, x0, :lo12:.LC72 adrp x19, .LANCHOR0 bl printk add x19, x19, :lo12:.LANCHOR0 @@ -19189,35 +18900,29 @@ FtlReInitForSDUpdata: ldrh w0, [x19,1956] mov w19, 1 bl FtlFreeSysBlkQueueInit -.L2896: +.L2870: bl FtlLoadBbt - cbz w0, .L2897 -.L2918: + cbz w0, .L2871 +.L2891: bl FtlLowFormat cmp w19, 3 - bhi .L2919 + bhi .L2892 add w19, w19, 1 - b .L2896 -.L2919: + b .L2870 +.L2892: mov w1, -1 - b .L2886 -.L2897: + b .L2860 +.L2871: bl FtlSysBlkInit - cbnz w0, .L2918 + cbnz w0, .L2891 adrp x1, .LANCHOR1+532 mov w2, 1 str w2, [x1,#:lo12:.LANCHOR1+532] mov w1, w0 -.L2886: - ldr x2, [x29,56] +.L2860: mov w0, w1 - ldr x1, [x20,#:lo12:__stack_chk_guard] - cmp x2, x1 - beq .L2902 - bl __stack_chk_fail -.L2902: - ldp x19, x20, [sp,16] - ldp x29, x30, [sp], 64 + ldr x19, [sp,16] + ldp x29, x30, [sp], 48 ret .size FtlReInitForSDUpdata, .-FtlReInitForSDUpdata .align 2 @@ -19232,9 +18937,9 @@ flash_boot_enter_slc_mode: mov w1, 12336 movk w1, 0x5638, lsl 16 cmp w2, w1 - bne .L2920 + bne .L2893 bl flash_enter_slc_mode -.L2920: +.L2893: ldp x29, x30, [sp], 16 ret .size flash_boot_enter_slc_mode, .-flash_boot_enter_slc_mode @@ -19250,9 +18955,9 @@ flash_boot_exit_slc_mode: mov w1, 12336 movk w1, 0x5638, lsl 16 cmp w2, w1 - bne .L2922 + bne .L2895 bl flash_exit_slc_mode -.L2922: +.L2895: ldp x29, x30, [sp], 16 ret .size flash_boot_exit_slc_mode, .-flash_boot_exit_slc_mode @@ -19275,8 +18980,8 @@ IdBlockReadData: ldr w3, [x19,12] mov w26, w1 ldrb w21, [x0,9] - adrp x0, .LC122 - add x0, x0, :lo12:.LC122 + adrp x0, .LC121 + add x0, x0, :lo12:.LC121 mov w1, w22 mov w2, w26 mov w23, 0 @@ -19292,9 +18997,9 @@ IdBlockReadData: sub w5, w22, w21 mul w3, w21, w28 ubfx x3, x3, 2, 2 -.L2925: +.L2898: cmp w23, w26 - bcs .L2931 + bcs .L2904 ldrb w1, [x19,120] sub w24, w6, w3 add w4, w23, w21 @@ -19302,14 +19007,14 @@ IdBlockReadData: uxth w24, w24 add x0, x19, x4, uxth 1 ldrh w0, [x0,196] - cbz w1, .L2926 + cbz w1, .L2899 ldr w2, [x19,1872] mov w1, 12336 movk w1, 0x5638, lsl 16 uxth w4, w4 cmp w2, w1 csel w0, w4, w0, eq -.L2926: +.L2899: add w3, w3, w5 add x27, x7, :lo12:.LANCHOR4 ldrb w4, [x19,1944] @@ -19349,13 +19054,13 @@ IdBlockReadData: ldr x6, [x29,96] ldr x5, [x29,104] ldr x7, [x29,112] - b .L2925 -.L2931: - adrp x0, .LC123 + b .L2898 +.L2904: + adrp x0, .LC122 mov w1, w22 mov w2, w26 mov w3, 0 - add x0, x0, :lo12:.LC123 + add x0, x0, :lo12:.LC122 bl printk mov w0, 0 ldp x19, x20, [sp,16] @@ -19370,137 +19075,126 @@ IdBlockReadData: .global IDBlockWriteData .type IDBlockWriteData, %function IDBlockWriteData: - stp x29, x30, [sp, -208]! + stp x29, x30, [sp, -192]! add x29, sp, 0 stp x19, x20, [sp,16] adrp x19, .LANCHOR0 - adrp x20, __stack_chk_guard add x19, x19, :lo12:.LANCHOR0 stp x27, x28, [sp,80] - mov w28, w1 + mov w27, w1 + adrp x28, .LANCHOR4 ldr x1, [x19,744] stp x23, x24, [sp,48] stp x21, x22, [sp,32] stp x25, x26, [sp,64] - mov w25, w0 - ldr x0, [x20,#:lo12:__stack_chk_guard] - ldrb w22, [x1,9] - mov x23, x2 - str x0, [x29,200] - mov w1, w25 + mov w24, w0 ldr w0, [x19,12] - mov w2, w28 - mov w24, 0 - mul w22, w0, w22 - adrp x0, .LC124 - add x0, x0, :lo12:.LC124 - uxth w22, w22 + ldrb w21, [x1,9] + mov x22, x2 + mov w1, w24 + mov w2, w27 + mov w23, 0 + mul w21, w0, w21 + adrp x0, .LC123 + add x0, x0, :lo12:.LC123 + uxth w21, w21 bl printk mov w0, 0 bl flash_boot_enter_slc_mode ldrh w1, [x19,188] mov w2, 0 mov w0, 0 - udiv w1, w25, w1 + udiv w1, w24, w1 bl FlashEraseBlock mov w0, 0 bl flash_boot_exit_slc_mode - udiv w27, w25, w22 + udiv w26, w24, w21 ldr x0, [x19,744] - adrp x5, .LANCHOR4 - ldrb w21, [x0,9] - msub w27, w27, w22, w25 - sub w22, w25, w27 -.L2933: - cmp w24, w28 - bcs .L2948 - add w4, w24, w27 + ldrb w20, [x0,9] + msub w26, w26, w21, w24 + sub w21, w24, w26 +.L2906: + cmp w23, w27 + bcs .L2920 + add w4, w23, w26 lsr w4, w4, 2 uxth w0, w4 and w4, w4, 65535 - cbz w0, .L2934 + cbz w0, .L2907 add x1, x19, 196 add w2, w4, 1 ldrh w3, [x1,w2,sxtw 1] ldrb w1, [x19,120] - cbz w1, .L2935 + cbz w1, .L2908 ldr w2, [x19,1872] mov w1, 12336 movk w1, 0x5638, lsl 16 cmp w2, w1 - bne .L2935 + bne .L2908 add w3, w0, 1 uxth w3, w3 -.L2935: +.L2908: sub w3, w3, #1 - str wzr, [x29,140] + str wzr, [x29,132] lsl w3, w3, 2 - str w3, [x29,136] -.L2934: + str w3, [x29,128] +.L2907: add x1, x19, 196 - ldrh w26, [x1,w4,sxtw 1] + ldrh w25, [x1,w4,sxtw 1] ldrb w1, [x19,120] - cbz w1, .L2936 + cbz w1, .L2909 ldr w2, [x19,1872] mov w1, 12336 movk w1, 0x5638, lsl 16 cmp w2, w1 - csel w26, w26, w0, ne -.L2936: - add x0, x5, :lo12:.LANCHOR4 + csel w25, w25, w0, ne +.L2909: + add x0, x28, :lo12:.LANCHOR4 ldrb w4, [x19,1944] - madd w3, w26, w21, w22 - ubfiz x2, x24, 9, 16 - str x5, [x29,120] + madd w3, w25, w20, w21 + ubfiz x2, x23, 9, 16 + str x4, [x29,120] ldrb w0, [x0,74] - add x2, x23, x2 - str x4, [x29,112] - add w24, w24, 4 - str x3, [x29,96] - str x2, [x29,104] + add x2, x22, x2 + str x3, [x29,104] + add w23, w23, 4 + str x2, [x29,112] bl FlashBchSel + uxth w23, w23 mov w0, 0 - uxth w24, w24 bl flash_boot_enter_slc_mode ldr x0, [x19,744] - ldr x3, [x29,96] - ldr x2, [x29,104] + ldr x3, [x29,104] + ldr x2, [x29,112] ldrb w1, [x0,9] mov w0, 0 udiv w1, w3, w1 - add x3, x29, 136 + add x3, x29, 128 bl FlashProgPage mov w0, 0 bl flash_boot_exit_slc_mode - ldr x4, [x29,112] + ldr x4, [x29,120] mov w0, w4 bl FlashBchSel - udiv w1, w22, w21 - add w2, w26, 1 + udiv w1, w21, w20 + add w2, w25, 1 mov w0, 0 bl FlashPageProgMsbFFData - ldr x5, [x29,120] - b .L2933 -.L2948: - adrp x0, .LC125 - mov w1, w25 - mov w2, w28 - add x0, x0, :lo12:.LC125 + b .L2906 +.L2920: + adrp x0, .LC124 + mov w1, w24 + mov w2, w27 mov w3, 0 + add x0, x0, :lo12:.LC124 bl printk - ldr x2, [x29,200] mov w0, 0 - ldr x1, [x20,#:lo12:__stack_chk_guard] - cmp x2, x1 - beq .L2938 - bl __stack_chk_fail -.L2938: 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], 192 ret .size IDBlockWriteData, .-IDBlockWriteData .align 2 @@ -19531,70 +19225,70 @@ write_idblock: str x24, [x29,120] mov x20, x0 mov w0, -1 - cbz x20, .L2959 + cbz x20, .L2931 add w19, w25, 511 lsr w19, w19, 9 cmp w19, 255 - bhi .L2951 + bhi .L2923 ubfiz x0, x19, 9, 23 mov w2, 256 add x0, x21, x0 mov x1, x21 sub w2, w2, w19 bl memcpy -.L2951: +.L2923: add w19, w19, 128 mov w0, 256 cmp w19, 256 mov x1, x23 csel w19, w19, w0, ls - adrp x0, .LC126 - add x0, x0, :lo12:.LC126 + adrp x0, .LC125 + add x0, x0, :lo12:.LC125 mov w2, 4 mov w3, 5 bl rknand_print_hex ldr x0, [x29,120] ldr w1, [x21,512] add x27, x0, :lo12:.LANCHOR0 - adrp x0, .LC127 - add x0, x0, :lo12:.LC127 + adrp x0, .LC126 + add x0, x0, :lo12:.LC126 ldrb w2, [x27,9] bl printk ldrb w0, [x27,9] ldr w1, [x21,512] cmp w1, w0 - bls .L2952 + bls .L2924 str w0, [x21,512] -.L2952: - adrp x0, .LC128 +.L2924: + adrp x0, .LC127 mov w2, w25 mul w22, w22, w26 - add x0, x0, :lo12:.LC128 + add x0, x0, :lo12:.LC127 mov w1, w19 mov x24, 0 - adrp x26, .LC129 + adrp x26, .LC128 bl printk - adrp x27, .LC130 - adrp x28, .LC131 + adrp x27, .LC129 + adrp x28, .LC130 lsl w0, w19, 7 uxth w22, w22 str w0, [x29,116] mov w25, w24 - add x26, x26, :lo12:.LC129 - add x27, x27, :lo12:.LC130 - add x28, x28, :lo12:.LC131 -.L2957: + add x26, x26, :lo12:.LC128 + add x27, x27, :lo12:.LC129 + add x28, x28, :lo12:.LC130 +.L2929: ldr x1, [x29,120] mov w8, w24 ldr w0, [x23,x24,lsl 2] add x1, x1, :lo12:.LANCHOR0 ldrh w1, [x1,194] cmp w0, w1 - bcs .L2953 + bcs .L2925 adrp x1, .LANCHOR4+68 ldr w1, [x1,#:lo12:.LANCHOR4+68] cmp w0, w1 - bcc .L2953 + bcc .L2925 mov w1, 0 mov x2, 512 mov x0, x20 @@ -19612,18 +19306,18 @@ write_idblock: bl IdBlockReadData ldr x8, [x29,104] mov x0, 0 -.L2954: +.L2926: ldr w1, [x29,116] mov w3, w0 cmp w0, w1 - bcs .L2964 + bcs .L2936 ldr w4, [x20,x0,lsl 2] mov x7, x0 add x0, x0, 1 add x1, x21, x0, lsl 2 ldr w5, [x1,-4] cmp w4, w5 - beq .L2954 + beq .L2926 ldr w2, [x23,x24,lsl 2] mov w1, w8 mov x0, x26 @@ -19653,21 +19347,21 @@ write_idblock: mov x2, x20 mul w0, w22, w0 bl IDBlockWriteData - adrp x0, .LC132 - add x0, x0, :lo12:.LC132 + adrp x0, .LC131 + add x0, x0, :lo12:.LC131 bl printk - b .L2953 -.L2964: + b .L2925 +.L2936: add w25, w25, 1 -.L2953: +.L2925: add x24, x24, 1 cmp x24, 5 - bne .L2957 + bne .L2929 mov x0, x20 bl kfree cmp w25, wzr csetm w0, eq -.L2959: +.L2931: ldp x19, x20, [sp,16] ldp x21, x22, [sp,32] ldp x23, x24, [sp,48] @@ -19685,462 +19379,525 @@ CRC_32: mov x5, x0 add x3, x3, :lo12:.LANCHOR1 mov w0, w2 -.L2966: +.L2938: cmp w1, w2 - bls .L2968 + bls .L2940 ldrb w4, [x5,x2] add x6, x3, 3016 add x2, x2, 1 eor w4, w4, w0, lsr 24 ldr w4, [x6,w4,uxtw 2] eor w0, w4, w0, lsl 8 - b .L2966 -.L2968: + b .L2938 +.L2940: ret .size CRC_32, .-CRC_32 .align 2 .type rknand_sys_storage_ioctl, %function rknand_sys_storage_ioctl: sub sp, sp, #528 + mov w0, 29187 + movk w0, 0x4004, lsl 16 + cmp w1, w0 stp x29, x30, [sp, -48]! add x29, sp, 0 - stp x21, x22, [sp,32] stp x19, x20, [sp,16] - adrp x22, __stack_chk_guard + str x21, [sp,32] mov w19, w1 - ldr x20, [x0,208] - mov w0, 29187 - movk w0, 0x4004, lsl 16 - mov x21, x2 - ldr x1, [x22,#:lo12:__stack_chk_guard] - cmp w19, w0 - str x1, [x29,568] - beq .L2971 + mov x20, x2 + beq .L2943 mov w0, 29187 movk w0, 0x4004, lsl 16 - cmp w19, w0 - bhi .L2972 + cmp w1, w0 + bhi .L2944 mov w0, 25726 movk w0, 0x4004, lsl 16 - cmp w19, w0 - beq .L2973 + cmp w1, w0 + beq .L2945 mov w0, 25726 movk w0, 0x4004, lsl 16 - cmp w19, w0 - bhi .L2974 + cmp w1, w0 + bhi .L2946 mov w0, 25601 movk w0, 0x4004, lsl 16 - cmp w19, w0 - beq .L2975 + cmp w1, w0 + beq .L2947 mov w0, 25601 movk w0, 0x4004, lsl 16 - cmp w19, w0 - bhi .L2976 + cmp w1, w0 + bhi .L2948 mov w0, 25364 movk w0, 0x4004, lsl 16 - cmp w19, w0 - bne .L3026 + cmp w1, w0 + bne .L3005 bl rknand_dev_flush - b .L3060 -.L2976: + b .L3037 +.L2948: mov w0, 25602 movk w0, 0x4004, lsl 16 - cmp w19, w0 - beq .L2978 + cmp w1, w0 + beq .L2950 mov w0, 25603 movk w0, 0x4004, lsl 16 - cmp w19, w0 - beq .L2979 - b .L3026 -.L2974: + cmp w1, w0 + beq .L2951 + b .L3005 +.L2946: mov w0, 27688 movk w0, 0x4004, lsl 16 - cmp w19, w0 - beq .L2980 + cmp w1, w0 + beq .L2952 mov w0, 27688 movk w0, 0x4004, lsl 16 - cmp w19, w0 - bhi .L2981 + cmp w1, w0 + bhi .L2953 mov w0, 25727 movk w0, 0x4004, lsl 16 - cmp w19, w0 - beq .L2982 - b .L3026 -.L2981: + cmp w1, w0 + beq .L2954 + b .L3005 +.L2953: mov w0, 27698 movk w0, 0x4004, lsl 16 - cmp w19, w0 - beq .L2980 + cmp w1, w0 + beq .L2952 mov w0, 27708 movk w0, 0x4004, lsl 16 - cmp w19, w0 - beq .L2980 - b .L3026 -.L2972: + cmp w1, w0 + beq .L2952 + b .L3005 +.L2944: mov w0, 29267 movk w0, 0x4004, lsl 16 - cmp w19, w0 - beq .L2983 + cmp w1, w0 + beq .L2955 mov w0, 29267 movk w0, 0x4004, lsl 16 - cmp w19, w0 - bhi .L2984 + cmp w1, w0 + bhi .L2956 mov w0, 29189 movk w0, 0x4004, lsl 16 - cmp w19, w0 - beq .L2985 + cmp w1, w0 + beq .L2957 mov w0, 29189 movk w0, 0x4004, lsl 16 - cmp w19, w0 - bcc .L2986 + cmp w1, w0 + bcc .L2958 mov w0, 29210 movk w0, 0x4004, lsl 16 - cmp w19, w0 - beq .L2987 + cmp w1, w0 + beq .L2959 mov w0, 29266 movk w0, 0x4004, lsl 16 - cmp w19, w0 - beq .L2988 - b .L3026 -.L2984: + cmp w1, w0 + beq .L2960 + b .L3005 +.L2956: mov w0, 30225 movk w0, 0x4004, lsl 16 - cmp w19, w0 - beq .L2989 + cmp w1, w0 + beq .L2961 mov w0, 30225 movk w0, 0x4004, lsl 16 - cmp w19, w0 - bhi .L2990 + cmp w1, w0 + bhi .L2962 mov w0, 29268 movk w0, 0x4004, lsl 16 - cmp w19, w0 - beq .L2991 + cmp w1, w0 + beq .L2963 mov w0, 30224 movk w0, 0x4004, lsl 16 - cmp w19, w0 - beq .L2992 - b .L3026 -.L2990: + cmp w1, w0 + beq .L2964 + b .L3005 +.L2962: mov w0, 30226 movk w0, 0x4004, lsl 16 - cmp w19, w0 - beq .L2992 + cmp w1, w0 + beq .L2964 mov w0, 30227 movk w0, 0x4004, lsl 16 - cmp w19, w0 - beq .L2989 - b .L3026 -.L2986: - adrp x0, .LC133 - add x0, x0, :lo12:.LC133 + cmp w1, w0 + beq .L2961 + b .L3005 +.L2958: + adrp x0, .LC132 + add x0, x0, :lo12:.LC132 bl printk - mov x0, x20 - mov x1, x21 + adrp x0, kmalloc_caches+96 + mov w1, 192 + movk w1, 0x240, lsl 16 + mov x2, 4096 + ldr x0, [x0,#:lo12:kmalloc_caches+96] + bl kmem_cache_alloc_trace + mov x19, x0 + cbnz x0, .L2965 +.L2970: + mov x0, -12 + b .L2942 +.L2965: + mov x1, x20 mov x2, 512 bl rk_copy_from_user - cbz x0, .L2993 -.L2997: + cbnz x0, .L3044 adrp x0, .LC134 + ldr w1, [x19] + ldr w2, [x19,4] add x0, x0, :lo12:.LC134 - b .L3063 -.L2993: - adrp x0, .LC135 - ldr w1, [x20] - ldr w2, [x20,4] - add x0, x0, :lo12:.LC135 bl printk - ldr w19, [x20,4] - cmp w19, 8 - bhi .L3062 + ldr w0, [x19,4] + str w0, [x29,52] + cmp w0, 8 + bhi .L3040 bl rknand_device_unlock - ldr w0, [x20] - mov w1, w19 - mov x2, x20 + ldr w1, [x29,52] + mov x2, x19 + ldr w0, [x19] bl IdBlockReadData bl rknand_device_unlock - mov x0, x21 - mov x1, x20 - ubfiz x2, x19, 9, 23 + ldr w2, [x29,52] + mov x0, x20 + mov x1, x19 + ubfiz x2, x2, 9, 23 bl rk_copy_to_user - cbz x0, .L3060 + cbz x0, .L3046 + adrp x0, .LC135 + add x0, x0, :lo12:.LC135 +.L3039: + bl printk +.L3040: + mov x0, x19 +.L3041: + bl kfree +.L3042: + mov x0, -14 + b .L2942 +.L2957: adrp x0, .LC136 add x0, x0, :lo12:.LC136 - b .L3063 -.L2985: - adrp x0, .LC137 - add x0, x0, :lo12:.LC137 bl printk - mov x0, x20 - mov x1, x21 + adrp x0, kmalloc_caches+96 + mov w1, 192 + movk w1, 0x240, lsl 16 + mov x2, 4096 + ldr x0, [x0,#:lo12:kmalloc_caches+96] + bl kmem_cache_alloc_trace + mov x19, x0 + cbz x0, .L2970 + mov x1, x20 mov x2, 4096 bl rk_copy_from_user - cbnz x0, .L2997 - ldr w1, [x20] - adrp x0, .LC138 - ldr w2, [x20,4] - add x0, x0, :lo12:.LC138 + cbnz x0, .L3044 + ldr w1, [x19] + adrp x0, .LC137 + ldr w2, [x19,4] + add x0, x0, :lo12:.LC137 bl printk adrp x0, .LANCHOR4 add x21, x0, :lo12:.LANCHOR4 - mov x19, x0 + mov x20, x0 ldr x1, [x21,448] - cbz x1, .L2998 -.L3001: - ldr w2, [x20,4] - cmp w2, 4088 - bls .L2999 - b .L3062 -.L2998: + cbnz x1, .L2972 mov w1, 192 mov x0, 260096 movk w1, 0x240, lsl 16 mov w2, 6 bl kmalloc_order_trace str x0, [x21,448] - cbnz x0, .L3001 - b .L3062 -.L2999: - ldr w0, [x20] + cbz x0, .L3040 +.L2972: + ldr w2, [x19,4] + cmp w2, 4088 + bhi .L3040 + ldr w0, [x19] mov w1, 55296 movk w1, 0x3, lsl 16 cmp w0, w1 - bhi .L3062 - add x19, x19, :lo12:.LANCHOR4 + bhi .L3040 + add x20, x20, :lo12:.LANCHOR4 uxtw x2, w2 - ldr x1, [x19,448] + ldr x1, [x20,448] add x0, x1, x0, uxtw - add x1, x20, 8 + add x1, x19, 8 bl memcpy - b .L3060 -.L2988: - adrp x0, .LC139 - add x0, x0, :lo12:.LC139 +.L3046: + mov x0, x19 + bl kfree + b .L3037 +.L2960: + adrp x0, .LC138 + add x0, x0, :lo12:.LC138 bl printk - mov x0, x20 - mov x1, x21 + adrp x0, kmalloc_caches+96 + mov w1, 192 + movk w1, 0x240, lsl 16 + mov x2, 4096 + ldr x0, [x0,#:lo12:kmalloc_caches+96] + bl kmem_cache_alloc_trace + mov x19, x0 + cbz x0, .L2970 + mov x1, x20 mov x2, 28 bl rk_copy_from_user - cbnz x0, .L2997 - ldr w1, [x20] - adrp x0, .LC140 - ldr w2, [x20,4] - add x0, x0, :lo12:.LC140 + cbz x0, .L2974 +.L3044: + adrp x0, .LC133 + add x0, x0, :lo12:.LC133 + b .L3039 +.L2974: + ldr w1, [x19] + adrp x0, .LC139 + ldr w2, [x19,4] + add x0, x0, :lo12:.LC139 bl printk - ldr w1, [x20] + ldr w1, [x19] mov w0, 59392 movk w0, 0x3, lsl 16 cmp w1, w0 - bhi .L3062 - adrp x19, .LANCHOR4 - add x19, x19, :lo12:.LANCHOR4 - ldr x0, [x19,448] - cbz x0, .L3062 + bhi .L3040 + adrp x20, .LANCHOR4 + add x20, x20, :lo12:.LANCHOR4 + ldr x0, [x20,448] + cbz x0, .L3040 bl CRC_32 - ldr w1, [x20,4] + ldr w1, [x19,4] cmp w1, w0 - beq .L3002 -.L3008: + beq .L2977 + mov x0, x19 + bl kfree mov x0, -2 - b .L2970 -.L3002: + b .L2942 +.L2977: bl rknand_device_unlock - ldr x1, [x19,448] - add x2, x20, 8 - ldr w0, [x20] + ldr x1, [x20,448] + add x2, x19, 8 + ldr w0, [x19] bl write_idblock bl rknand_device_unlock - ldr x0, [x19,448] + ldr x0, [x20,448] bl kfree - str xzr, [x19,448] - b .L3060 -.L2987: - adrp x0, .LC141 - add x0, x0, :lo12:.LC141 + str xzr, [x20,448] + b .L3046 +.L2959: + adrp x0, .LC140 + add x0, x0, :lo12:.LC140 bl printk - mov x0, x20 + adrp x0, kmalloc_caches+96 + mov w1, 192 + movk w1, 0x240, lsl 16 + mov x2, 4096 + ldr x0, [x0,#:lo12:kmalloc_caches+96] + bl kmem_cache_alloc_trace + mov x21, x0 + cbz x0, .L2970 bl ReadFlashInfo - mov x0, x21 - mov x1, x20 + mov x0, x20 + mov x1, x21 mov x2, 11 - b .L3059 -.L2971: - adrp x0, .LC142 - add x0, x0, :lo12:.LC142 + b .L3048 +.L2943: + adrp x0, .LC141 + add x0, x0, :lo12:.LC141 bl printk bl rknand_device_unlock bl FtlReInitForSDUpdata mov w19, w0 bl rknand_device_unlock - cbnz w19, .L3062 + cbnz w19, .L3042 bl nand_blk_add_whole_disk + adrp x0, kmalloc_caches+96 + mov w1, 192 + movk w1, 0x240, lsl 16 + mov x2, 4096 + ldr x0, [x0,#:lo12:kmalloc_caches+96] + bl kmem_cache_alloc_trace + mov x21, x0 + cbz x0, .L2970 bl rknand_device_unlock mov w1, w19 mov w2, 64 - mov x0, x20 + mov x0, x21 bl FlashReadFacBbtData bl rknand_device_unlock - adrp x0, .LC143 - mov x1, x20 - add x0, x0, :lo12:.LC143 + adrp x0, .LC142 + mov x1, x21 + add x0, x0, :lo12:.LC142 mov w2, 4 mov w3, 8 bl rknand_print_hex - mov x0, x21 - mov x1, x20 + mov x0, x20 + mov x1, x21 mov x2, 64 -.L3059: - bl rk_copy_to_user - b .L3053 -.L2983: - adrp x0, .LC144 - add x0, x0, :lo12:.LC144 + b .L3048 +.L2955: + adrp x0, .LC143 + add x0, x0, :lo12:.LC143 bl printk adrp x0, .LANCHOR4+456 - mov x1, x20 + add x1, x29, 52 mov x2, 4 ldr x0, [x0,#:lo12:.LANCHOR4+456] ldr w0, [x0,20] - str w0, [x20] - mov x0, x21 - b .L3059 -.L2991: - adrp x0, .LC145 - add x0, x0, :lo12:.LC145 + str w0, [x29,52] + mov x0, x20 + b .L3033 +.L2963: + adrp x0, .LC144 + add x0, x0, :lo12:.LC144 bl printk + adrp x0, kmalloc_caches+96 + mov w1, 192 + movk w1, 0x240, lsl 16 + mov x2, 4096 + ldr x0, [x0,#:lo12:kmalloc_caches+96] + bl kmem_cache_alloc_trace + mov x21, x0 + cbz x0, .L2970 bl rknand_device_unlock mov w1, 2 - mov x2, x20 + mov x2, x21 mov w0, 520 bl FtlVendorPartRead bl rknand_device_unlock - mov x0, x21 - mov x1, x20 + mov x0, x20 + mov x1, x21 mov x2, 1024 - b .L3059 -.L2975: - adrp x0, .LC146 - add x0, x0, :lo12:.LC146 +.L3048: + bl rk_copy_to_user + mov x19, x0 + mov x0, x21 + cbnz x19, .L3041 + bl kfree + b .L2969 +.L2947: + adrp x0, .LC145 + add x0, x0, :lo12:.LC145 bl printk - add x0, x29, 48 - mov x1, x21 + add x0, x29, 56 + mov x1, x20 mov x2, 520 bl rk_copy_from_user mov x19, x0 - cbnz x0, .L2997 - ldr w1, [x29,48] + cbz x0, .L2983 +.L2988: + adrp x0, .LC133 + add x0, x0, :lo12:.LC133 + bl printk + b .L3042 +.L2983: + ldr w1, [x29,56] mov w0, 21060 movk w0, 0x4b4d, lsl 16 cmp w1, w0 - beq .L3004 -.L3005: + beq .L2984 +.L2985: mov x19, -1 - b .L2996 -.L3004: - ldr w0, [x29,52] + b .L2969 +.L2984: + ldr w0, [x29,60] cmp w0, 512 - bhi .L3005 - adrp x20, .LANCHOR4 - add x0, x29, 48 - add x20, x20, :lo12:.LANCHOR4 + bhi .L2985 + adrp x21, .LANCHOR4 + add x0, x29, 56 + add x21, x21, :lo12:.LANCHOR4 mov x2, 512 - ldr x1, [x20,456] + ldr x1, [x21,456] bl memcpy - ldr w1, [x20,464] + ldr w1, [x21,464] mov w0, 5161 movk w0, 0xc059, lsl 16 cmp w1, w0 - beq .L3006 - add x0, x29, 112 + beq .L2986 + add x0, x29, 120 mov w1, w19 mov x2, 128 - str w19, [x29,56] - str w19, [x29,60] + str w19, [x29,64] + str w19, [x29,68] bl memset -.L3006: +.L2986: + add x0, x29, 312 mov w1, 0 mov x2, 256 - add x0, x29, 304 - str wzr, [x29,64] + str wzr, [x29,72] bl memset - mov x0, x21 - add x1, x29, 48 +.L3034: + mov x0, x20 + add x1, x29, 56 mov x2, 520 - b .L3059 -.L2978: - adrp x0, .LC147 - add x0, x0, :lo12:.LC147 +.L3033: + bl rk_copy_to_user + cbnz x0, .L3042 + b .L3037 +.L2950: + adrp x0, .LC146 + add x0, x0, :lo12:.LC146 bl printk - add x0, x29, 48 - mov x1, x21 + add x0, x29, 56 + mov x1, x20 mov x2, 520 bl rk_copy_from_user - cbz x0, .L3007 - adrp x0, .LC148 - add x0, x0, :lo12:.LC148 -.L3063: - bl printk - b .L3062 -.L3007: - ldr w1, [x29,48] + cbnz x0, .L2988 + ldr w1, [x29,56] mov w0, 21060 movk w0, 0x4b4d, lsl 16 cmp w1, w0 - bne .L3005 - ldr w0, [x29,52] + bne .L2985 + ldr w0, [x29,60] cmp w0, 512 - bhi .L3005 + bhi .L2985 adrp x1, .LANCHOR4 - mov w0, 5161 + mov w2, 5161 add x1, x1, :lo12:.LANCHOR4 - movk w0, 0xc059, lsl 16 - ldr w2, [x1,464] - cmp w2, w0 - bne .L3008 - ldr w2, [x29,60] + movk w2, 0xc059, lsl 16 + mov x0, -2 + ldr w3, [x1,464] + cmp w3, w2 + bne .L2942 + ldr w2, [x29,68] mov x0, -3 sub w3, w2, #1 cmp w3, 127 - bhi .L2970 + bhi .L2942 ldr x19, [x1,456] - add x1, x29, 112 + add x1, x29, 120 add x0, x19, 64 str w2, [x19,12] - ldr w2, [x29,60] + ldr w2, [x29,68] bl memcpy mov w0, 1 mov x1, x19 - b .L3061 -.L2982: - adrp x0, .LC149 - add x0, x0, :lo12:.LC149 + b .L3038 +.L2954: + adrp x0, .LC147 + add x0, x0, :lo12:.LC147 bl printk - add x0, x29, 48 - mov x1, x21 + add x0, x29, 56 + mov x1, x20 mov x2, 520 bl rk_copy_from_user - cbnz x0, .L2997 - ldr w1, [x29,48] + cbnz x0, .L2988 + ldr w1, [x29,56] mov w0, 17476 movk w0, 0x4253, lsl 16 cmp w1, w0 - bne .L3005 - ldr w0, [x29,52] + bne .L2985 + ldr w0, [x29,60] cmp w0, 512 - bhi .L3005 + bhi .L2985 adrp x19, .LANCHOR4 add x0, x19, :lo12:.LANCHOR4 ldr w1, [x0,468] - cbnz w1, .L3009 -.L3012: + cbnz w1, .L2989 +.L2992: mov x0, 0 - b .L2970 -.L3009: + b .L2942 +.L2989: ldr x1, [x0,472] mov w2, 22867 movk w2, 0x4453, lsl 16 ldr w3, [x1] cmp w3, w2 - beq .L3010 + beq .L2990 mov w2, 22867 movk w2, 0x4453, lsl 16 str w2, [x1] @@ -20150,7 +19907,7 @@ rknand_sys_storage_ioctl: ldr x0, [x0,472] str wzr, [x0,8] str wzr, [x0,12] -.L3010: +.L2990: add x20, x19, :lo12:.LANCHOR4 mov w0, 0 ldr x1, [x20,472] @@ -20161,7 +19918,7 @@ rknand_sys_storage_ioctl: movk w1, 0x4b4d, lsl 16 ldr w2, [x0] cmp w2, w1 - beq .L3011 + beq .L2991 mov w1, 21060 movk w1, 0x4b4d, lsl 16 str w1, [x0] @@ -20170,7 +19927,7 @@ rknand_sys_storage_ioctl: str w1, [x0,4] ldr x0, [x20,456] str wzr, [x0,8] -.L3011: +.L2991: add x19, x19, :lo12:.LANCHOR4 mov w1, 0 mov x2, 128 @@ -20183,35 +19940,35 @@ rknand_sys_storage_ioctl: bl StorageSysDataStore str wzr, [x19,468] str wzr, [x19,464] - b .L3060 -.L2973: - adrp x0, .LC150 - add x0, x0, :lo12:.LC150 + b .L3037 +.L2945: + adrp x0, .LC148 + add x0, x0, :lo12:.LC148 bl printk - add x0, x29, 48 - mov x1, x21 + add x0, x29, 56 + mov x1, x20 mov x2, 520 bl rk_copy_from_user - cbnz x0, .L2997 - ldr w2, [x29,48] + cbnz x0, .L2988 + ldr w2, [x29,56] mov w1, 20037 movk w1, 0x4253, lsl 16 cmp w2, w1 - bne .L3005 - ldr w1, [x29,52] + bne .L2985 + ldr w1, [x29,60] cmp w1, 512 - bhi .L3005 + bhi .L2985 adrp x19, .LANCHOR4 add x1, x19, :lo12:.LANCHOR4 ldr w2, [x1,468] cmp w2, 1 - beq .L3012 + beq .L2992 ldr x2, [x1,472] mov w3, 22867 movk w3, 0x4453, lsl 16 ldr w4, [x2] cmp w4, w3 - beq .L3013 + beq .L2993 mov w3, 22867 movk w3, 0x4453, lsl 16 str w3, [x2] @@ -20221,7 +19978,7 @@ rknand_sys_storage_ioctl: ldr x1, [x1,472] str w0, [x1,8] str w0, [x1,12] -.L3013: +.L2993: add x20, x19, :lo12:.LANCHOR4 mov w0, 1 ldr x1, [x20,472] @@ -20233,7 +19990,7 @@ rknand_sys_storage_ioctl: movk w1, 0x4b4d, lsl 16 ldr w2, [x0] cmp w2, w1 - beq .L3014 + beq .L2994 mov w1, 21060 movk w1, 0x4b4d, lsl 16 str w1, [x0] @@ -20242,7 +19999,7 @@ rknand_sys_storage_ioctl: str w1, [x0,4] ldr x0, [x20,456] str wzr, [x0,8] -.L3014: +.L2994: add x19, x19, :lo12:.LANCHOR4 mov w1, 0 mov x2, 128 @@ -20255,245 +20012,205 @@ rknand_sys_storage_ioctl: bl StorageSysDataStore mov w0, 1 str w0, [x19,468] - b .L3060 -.L2979: - adrp x0, .LC151 - add x0, x0, :lo12:.LC151 + b .L3037 +.L2951: + adrp x0, .LC149 + add x0, x0, :lo12:.LC149 bl printk - add x0, x29, 48 - mov x1, x21 + add x0, x29, 56 + mov x1, x20 mov x2, 520 bl rk_copy_from_user - cbnz x0, .L2997 - ldr w1, [x29,48] + cbnz x0, .L2988 + ldr w1, [x29,56] mov w0, 20051 movk w0, 0x4144, lsl 16 cmp w1, w0 - bne .L3005 - ldr w2, [x29,52] + bne .L2985 + ldr w2, [x29,60] cmp w2, 512 - bhi .L3005 + bhi .L2985 adrp x1, .LANCHOR4 - add x0, x29, 56 + add x0, x29, 64 add x1, x1, :lo12:.LANCHOR4 uxtw x2, w2 add x1, x1, 480 - b .L3058 -.L2980: + b .L3035 +.L2952: mov w0, 27698 movk w0, 0x4004, lsl 16 cmp w19, w0 - bne .L3015 - adrp x0, .LC152 - add x0, x0, :lo12:.LC152 - b .L3055 -.L3015: + bne .L2995 + adrp x0, .LC150 + add x0, x0, :lo12:.LC150 + b .L3036 +.L2995: mov w0, 27708 movk w0, 0x4004, lsl 16 cmp w19, w0 - bne .L3017 - adrp x0, .LC153 - add x0, x0, :lo12:.LC153 - b .L3055 -.L3017: - adrp x0, .LC154 - add x0, x0, :lo12:.LC154 -.L3055: + bne .L2997 + adrp x0, .LC151 + add x0, x0, :lo12:.LC151 + b .L3036 +.L2997: + adrp x0, .LC152 + add x0, x0, :lo12:.LC152 +.L3036: bl printk - add x0, x29, 48 - mov x1, x21 + add x0, x29, 56 + mov x1, x20 mov x2, 520 bl rk_copy_from_user - cbnz x0, .L2997 - ldr w1, [x29,48] + cbnz x0, .L2988 + ldr w1, [x29,56] mov w0, 17227 movk w0, 0x4c4f, lsl 16 cmp w1, w0 - bne .L3062 + bne .L3042 mov w0, 27708 movk w0, 0x4004, lsl 16 cmp w19, w0 adrp x0, .LANCHOR4 - bne .L3018 + bne .L2998 add x0, x0, :lo12:.LANCHOR4 + add x1, x29, 56 + mov x2, 16 ldr x0, [x0,456] ldr w0, [x0,20] - strb w0, [x29,56] - str w0, [x29,52] -#APP -// 86 "./arch/arm64/include/asm/thread_info.h" 1 - mrs x0, sp_el0 -// 0 "" 2 -#NO_APP - ldr x1, [x0,8] - mov x0, x21 -#APP -// 394 "./arch/arm64/include/asm/uaccess.h" 1 - adds x0, x0, 16; ccmp x0, x1, #2, cc; cset x2, ls -// 0 "" 2 -#NO_APP - cbz x2, .L3062 - mov x0, x21 - add x1, x29, 48 - mov x2, 16 - bl __arch_copy_to_user - cbz x0, .L2970 - b .L3062 -.L3018: + str w0, [x29,60] + strb w0, [x29,64] + mov x0, x20 + bl rk_copy_to_user + cbz x0, .L2942 + b .L3042 +.L2998: add x20, x0, :lo12:.LANCHOR4 ldr w1, [x20,992] cmp w1, 10 - bhi .L3062 + bhi .L3042 ldr x1, [x20,456] - ldr w2, [x29,52] + ldr w2, [x29,60] ldr w3, [x1,24] cmp w3, w2 - beq .L3019 - cbz w3, .L3019 - adrp x0, .LC155 + beq .L2999 + cbz w3, .L2999 + adrp x0, .LC153 mov w1, w2 - add x0, x0, :lo12:.LC155 + add x0, x0, :lo12:.LC153 bl printk ldr w0, [x20,992] add w0, w0, 1 str w0, [x20,992] -.L3062: - mov x0, -14 - b .L2970 -.L3019: + b .L3042 +.L2999: add x0, x0, :lo12:.LANCHOR4 str wzr, [x0,992] mov w0, 27698 movk w0, 0x4004, lsl 16 cmp w19, w0 - bne .L3020 + bne .L3000 str wzr, [x1,20] str wzr, [x1,24] - b .L3021 -.L3020: + b .L3001 +.L3000: mov w0, 1 str w2, [x1,24] str w0, [x1,20] -.L3021: +.L3001: mov w0, 1 mov x19, -2 bl StorageSysDataStore cmn w0, #1 - bne .L3060 - b .L2996 -.L2992: - adrp x0, .LC156 - add x0, x0, :lo12:.LC156 + bne .L3037 + b .L2969 +.L2964: + adrp x0, .LC154 + add x0, x0, :lo12:.LC154 bl printk - add x0, x29, 48 - mov x1, x21 + add x0, x29, 56 + mov x1, x20 mov x2, 520 bl rk_copy_from_user - cbnz x0, .L2997 - ldr w1, [x29,48] + cbnz x0, .L2988 + ldr w1, [x29,56] mov w0, 17750 movk w0, 0x444e, lsl 16 cmp w1, w0 - bne .L3005 - ldr w2, [x29,52] + bne .L2985 + ldr w2, [x29,60] cmp w2, 504 - bhi .L3005 + bhi .L2985 mov w0, 30224 adrp x1, .LANCHOR4 movk w0, 0x4004, lsl 16 uxtw x2, w2 cmp w19, w0 add x1, x1, :lo12:.LANCHOR4 - add x0, x29, 56 - bne .L3022 + add x0, x29, 64 + bne .L3002 ldr x1, [x1,1000] - b .L3056 -.L3022: + b .L3045 +.L3002: ldr x1, [x1,1008] -.L3056: +.L3045: add x1, x1, 8 -.L3058: +.L3035: bl memcpy -#APP -// 86 "./arch/arm64/include/asm/thread_info.h" 1 - mrs x0, sp_el0 -// 0 "" 2 -#NO_APP - ldr x1, [x0,8] - mov x0, x21 -#APP -// 394 "./arch/arm64/include/asm/uaccess.h" 1 - adds x0, x0, 520; ccmp x0, x1, #2, cc; cset x2, ls -// 0 "" 2 -#NO_APP - cbz x2, .L3062 - mov x0, x21 - add x1, x29, 48 - mov x2, 520 - bl __arch_copy_to_user -.L3053: - cbnz x0, .L3062 - b .L3060 -.L2989: - adrp x0, .LC157 - add x0, x0, :lo12:.LC157 + b .L3034 +.L2961: + adrp x0, .LC155 + add x0, x0, :lo12:.LC155 bl printk - add x0, x29, 48 - mov x1, x21 + add x0, x29, 56 + mov x1, x20 mov x2, 520 bl rk_copy_from_user - cbnz x0, .L2997 - ldr w1, [x29,48] + cbnz x0, .L2988 + ldr w1, [x29,56] mov w0, 17750 movk w0, 0x444e, lsl 16 cmp w1, w0 - bne .L3005 - ldr w2, [x29,52] + bne .L2985 + ldr w2, [x29,60] cmp w2, 504 - bhi .L3005 + bhi .L2985 mov w0, 30225 add w2, w2, 8 movk w0, 0x4004, lsl 16 cmp w19, w0 adrp x19, .LANCHOR4 add x19, x19, :lo12:.LANCHOR4 - bne .L3024 + bne .L3004 ldr x0, [x19,1000] - add x1, x29, 48 + add x1, x29, 56 bl memcpy mov w0, 2 ldr x1, [x19,1000] - b .L3061 -.L3024: + b .L3038 +.L3004: ldr x0, [x19,1008] - add x1, x29, 48 + add x1, x29, 56 bl memcpy ldr x1, [x19,1008] mov w0, 3 -.L3061: +.L3038: bl StorageSysDataStore uxtw x19, w0 - b .L2996 -.L3060: + b .L2969 +.L3037: mov x19, 0 -.L2996: - adrp x0, .LC158 +.L2969: + adrp x0, .LC156 mov x1, x19 - add x0, x0, :lo12:.LC158 + add x0, x0, :lo12:.LC156 bl printk mov x0, x19 - b .L2970 -.L3026: + b .L2942 +.L3005: mov x0, -22 -.L2970: - ldr x2, [x29,568] - ldr x1, [x22,#:lo12:__stack_chk_guard] - cmp x2, x1 - beq .L3025 - bl __stack_chk_fail -.L3025: +.L2942: ldp x19, x20, [sp,16] - ldp x21, x22, [sp,32] + ldr x21, [sp,32] ldp x29, x30, [sp], 48 add sp, sp, 528 ret @@ -20526,25 +20243,25 @@ rk_ftl_storage_sys_init: ldr w0, [x21,16] ldr w22, [x21,508] str w0, [x19,468] - cbz w22, .L3065 + cbz w22, .L3051 mov x0, x21 mov w1, 508 bl JSHash cmp w22, w0 - beq .L3065 - adrp x0, .LC159 + beq .L3051 + adrp x0, .LC157 str wzr, [x21,16] - add x0, x0, :lo12:.LC159 + add x0, x0, :lo12:.LC157 str wzr, [x19,468] bl printk -.L3065: +.L3051: add x0, x20, :lo12:.LANCHOR4 ldr w1, [x0,468] - cbz w1, .L3066 + cbz w1, .L3052 mov w1, 5161 movk w1, 0xc059, lsl 16 str w1, [x0,464] -.L3066: +.L3052: add x20, x20, :lo12:.LANCHOR4 mov w0, 2 ldr x1, [x20,1000] @@ -20812,337 +20529,333 @@ StorageSysDataDeInit: .section .rodata .align 3 .LANCHOR3 = . + 0 - .type __func__.19127, %object - .size __func__.19127, 11 -__func__.19127: + .type __func__.19115, %object + .size __func__.19115, 11 +__func__.19115: .string "FtlMemInit" .zero 5 - .type __func__.20003, %object - .size __func__.20003, 21 -__func__.20003: + .type __func__.19991, %object + .size __func__.19991, 21 +__func__.19991: .string "FtlVpcCheckAndModify" .section .rodata.str1.1,"aMS",%progbits,1 .LC0: - .string "Context allocation failed\n" -.LC1: .string "FlashEraseBlocks pageAddr error %x\n" -.LC2: +.LC1: .string "phyBlk = 0x%x die = %d block_in_die = 0x%x 0x%8x\n" -.LC3: +.LC2: .string "FLASH INFO:\n" -.LC4: +.LC3: .string "FLASH ID: %x\n" -.LC5: +.LC4: .string "Device Capacity: %d MB\n" -.LC6: +.LC5: .string "FMWAIT: %x %x %x %x\n" -.LC7: +.LC6: .string "FTL INFO:\n" -.LC8: +.LC7: .string "g_MaxLpn = 0x%x\n" -.LC9: +.LC8: .string "g_VaildLpn = 0x%x\n" -.LC10: +.LC9: .string "read_page_count = 0x%x\n" -.LC11: +.LC10: .string "discard_page_count = 0x%x\n" -.LC12: +.LC11: .string "write_page_count = 0x%x\n" -.LC13: +.LC12: .string "cache_write_count = 0x%x\n" -.LC14: +.LC13: .string "l2p_write_count = 0x%x\n" -.LC15: +.LC14: .string "gc_page_count = 0x%x\n" -.LC16: +.LC15: .string "totle_write = %d MB\n" -.LC17: +.LC16: .string "totle_read = %d MB\n" -.LC18: +.LC17: .string "GSV = 0x%x\n" -.LC19: +.LC18: .string "GDV = 0x%x\n" -.LC20: +.LC19: .string "bad blk num = %d %d\n" -.LC21: +.LC20: .string "free_superblocks = 0x%x\n" -.LC22: +.LC21: .string "mlc_EC = 0x%x\n" -.LC23: +.LC22: .string "slc_EC = 0x%x\n" -.LC24: +.LC23: .string "avg_EC = 0x%x\n" -.LC25: +.LC24: .string "sys_EC = 0x%x\n" -.LC26: +.LC25: .string "max_EC = 0x%x\n" -.LC27: +.LC26: .string "min_EC = 0x%x\n" -.LC28: +.LC27: .string "PLT = 0x%x\n" -.LC29: +.LC28: .string "POT = 0x%x\n" -.LC30: +.LC29: .string "MaxSector = 0x%x\n" -.LC31: +.LC30: .string "init_sys_blks_pp = 0x%x\n" -.LC32: +.LC31: .string "sys_blks_pp = 0x%x\n" -.LC33: +.LC32: .string "free sysblock = 0x%x\n" -.LC34: +.LC33: .string "data_blks_pp = 0x%x\n" -.LC35: +.LC34: .string "data_op_blks_pp = 0x%x\n" -.LC36: +.LC35: .string "max_data_blks = 0x%x\n" -.LC37: +.LC36: .string "Sys.id = 0x%x\n" -.LC38: +.LC37: .string "Bbt.id = 0x%x\n" -.LC39: +.LC38: .string "ACT.page = 0x%x\n" -.LC40: +.LC39: .string "ACT.plane = 0x%x\n" -.LC41: +.LC40: .string "ACT.id = 0x%x\n" -.LC42: +.LC41: .string "ACT.mode = 0x%x\n" -.LC43: +.LC42: .string "ACT.a_pages = 0x%x\n" -.LC44: +.LC43: .string "ACT VPC = 0x%x\n" -.LC45: +.LC44: .string "BUF.page = 0x%x\n" -.LC46: +.LC45: .string "BUF.plane = 0x%x\n" -.LC47: +.LC46: .string "BUF.id = 0x%x\n" -.LC48: +.LC47: .string "BUF.mode = 0x%x\n" -.LC49: +.LC48: .string "BUF.a_pages = 0x%x\n" -.LC50: +.LC49: .string "BUF VPC = 0x%x\n" -.LC51: +.LC50: .string "TMP.page = 0x%x\n" -.LC52: +.LC51: .string "TMP.plane = 0x%x\n" -.LC53: +.LC52: .string "TMP.id = 0x%x\n" -.LC54: +.LC53: .string "TMP.mode = 0x%x\n" -.LC55: +.LC54: .string "TMP.a_pages = 0x%x\n" -.LC56: +.LC55: .string "GC.page = 0x%x\n" -.LC57: +.LC56: .string "GC.plane = 0x%x\n" -.LC58: +.LC57: .string "GC.id = 0x%x\n" -.LC59: +.LC58: .string "GC.mode = 0x%x\n" -.LC60: +.LC59: .string "GC.a_pages = 0x%x\n" -.LC61: +.LC60: .string "WR_CHK = 0x%x %x %x %x\n" -.LC62: +.LC61: .string "Read Err Cnt = 0x%x\n" -.LC63: +.LC62: .string "Prog Err Cnt = 0x%x\n" -.LC64: +.LC63: .string "gc_free_blk_th= 0x%x\n" -.LC65: +.LC64: .string "gc_merge_free_blk_th= 0x%x\n" -.LC66: +.LC65: .string "gc_skip_write_count= 0x%x\n" -.LC67: +.LC66: .string "gc_blk_index= 0x%x\n" -.LC68: +.LC67: .string "free min EC= 0x%x\n" -.LC69: +.LC68: .string "free max EC= 0x%x\n" -.LC70: +.LC69: .string "GC__SB VPC = 0x%x\n" -.LC71: +.LC70: .string "%d. [0x%x]=0x%x 0x%x 0x%x\n" -.LC72: +.LC71: .string "free %d. [0x%x] 0x%x 0x%x\n" -.LC73: +.LC72: .string "%s\n" +.LC73: + .string "FTL version: 5.0.36 20170512" .LC74: - .string "FTL version: 5.0.36 20170316" -.LC75: .string "GetSwlReplaceBlock min_ec_id =%x %x\n" -.LC76: +.LC75: .string "swblk %x ,avg = %x max= %x vpc= %x,ec=%x ,max ec=%x\n" +.LC76: + .string "FtlGcRefreshBlock 0x%x \n" .LC77: - .string "FtlGcRefreshBlock 0x%x\n" -.LC78: .string "FtlGcMarkBadPhyBlk %d 0x%x\n" -.LC79: +.LC78: .string "%s error allocating memory. return -1\n" -.LC80: +.LC79: .string "%s 0x%x:" -.LC81: +.LC80: .string "%x " -.LC82: +.LC81: .string "" -.LC83: +.LC82: .string "%d statReg->V6.mtrans_cnt=%d flReg.V6.page_num=%d\n" -.LC84: +.LC83: .string "nandc:" -.LC85: +.LC84: .string "%d flReg.d32=%x %x\n" -.LC86: +.LC85: .string "sdr read ok %x ecc=%d\n" -.LC87: +.LC86: .string "sync para %d\n" -.LC88: +.LC87: .string "TOG mode Read error %x %x\n" -.LC89: +.LC88: .string "read retry status %x %x %x\n" -.LC90: +.LC89: .string "ECC:%d\n" -.LC91: +.LC90: .string "No.%d FLASH ID:%x %x %x %x %x %x\n" -.LC92: +.LC91: .string "FlashLoadPhyInfo fail %x!!\n" -.LC93: +.LC92: .string "Read pageadd=%x ecc=%x err=%x\n" -.LC94: +.LC93: .string "data:" -.LC95: +.LC94: .string "spare:" -.LC96: +.LC95: .string "ReadRetry pageadd=%x ecc=%x err=%x\n" -.LC97: +.LC96: .string "FLFB:%d %d\n" -.LC98: +.LC97: .string "prog error: = %x\n" -.LC99: +.LC98: .string "prog read error: = %x\n" -.LC100: +.LC99: .string "prog read s error: = %x %x %x\n" -.LC101: +.LC100: .string "prog read d error: = %x %x %x\n" -.LC102: +.LC101: .string "no ect" -.LC103: +.LC102: .string "slc mode" -.LC104: +.LC103: .string "FlashMakeFactorBbt %d\n" -.LC105: +.LC104: .string "bad block:%d %d\n" -.LC106: +.LC105: .string "FMFB:%d %d\n" -.LC107: +.LC106: .string "E:bad block:%d\n" -.LC108: +.LC107: .string "FMFB:Save %d %d\n" -.LC109: +.LC108: .string "FtlBbmTblFlush id=%x,page=%x,previd=%x cnt=%d\n" -.LC110: +.LC109: .string "FtlBbmTblFlush error:%x\n" -.LC111: +.LC110: .string "FtlGcFreeBadSuperBlk 0x%x\n" -.LC112: +.LC111: .string "decrement_vpc_count %x = %d\n" -.LC113: +.LC112: .string "spuer block %x vpn is 0\n " -.LC114: +.LC113: .string "...%s enter...\n" -.LC115: +.LC114: .string "FtlCheckVpc %x = %x %x\n" -.LC116: +.LC115: .string "%d GC datablk = %x vpc %x %x\n" -.LC117: +.LC116: .string "SWL %x, FSB = %x vpc= %x,ec=%x th=%x\n" -.LC118: +.LC117: .string "Ftlwrite decrement_vpc_count %x = %d\n" -.LC119: +.LC118: .string "FtlInit %x\n" -.LC120: +.LC119: .string "FtlWrite: lpa error:%x %x\n" -.LC121: +.LC120: .string "BBT:" -.LC122: +.LC121: .string "IdBlockReadData %x %x\n" -.LC123: +.LC122: .string "IdBlockReadData %x %x ret= %x\n" -.LC124: +.LC123: .string "IDBlockWriteData %x %x\n" -.LC125: +.LC124: .string "IDBlockWriteData %x %x ret= %x\n" -.LC126: +.LC125: .string "idblk:" -.LC127: +.LC126: .string "idb reverse %x %x\n" -.LC128: +.LC127: .string "write_idblock totle_sec %x %x\n" -.LC129: +.LC128: .string "write and check error:%d idb=%x,offset=%x,r=%x,w=%x\n" -.LC130: +.LC129: .string "write" -.LC131: +.LC130: .string "read" -.LC132: +.LC131: .string "write_idblock error\n" -.LC133: +.LC132: .string "READ_SECTOR_IO\n" -.LC134: +.LC133: .string "rk_copy_from_user error\n" -.LC135: +.LC134: .string "READ_SECTOR_IO %x %x\n" -.LC136: +.LC135: .string "rk_copy_to_user error\n" -.LC137: +.LC136: .string "WRITE_SECTOR_IO\n" -.LC138: +.LC137: .string "WRITE_SECTOR_IO %x %x\n" -.LC139: +.LC138: .string "END_WRITE_SECTOR_IO\n" -.LC140: +.LC139: .string "END_WRITE_SECTOR_IO %x %x\n" -.LC141: +.LC140: .string "GET_FLASH_INFO_IO\n" -.LC142: +.LC141: .string "GET_BAD_BLOCK_IO\n" -.LC143: +.LC142: .string "bbt:" -.LC144: +.LC143: .string "GET_LOCK_FLAG_IO\n" -.LC145: +.LC144: .string "GET_PUBLIC_KEY_IO\n" -.LC146: +.LC145: .string "RKNAND_GET_DRM_KEY\n" -.LC147: +.LC146: .string "RKNAND_STORE_DRM_KEY\n" -.LC148: - .string "copy_from_user error\n" -.LC149: +.LC147: .string "RKNAND_DIASBLE_SECURE_BOOT\n" -.LC150: +.LC148: .string "RKNAND_ENASBLE_SECURE_BOOT\n" -.LC151: +.LC149: .string "RKNAND_GET_SN_SECTOR\n" -.LC152: +.LC150: .string "RKNAND_LOADER_UNLOCK\n" -.LC153: +.LC151: .string "RKNAND_LOADER_STATUS\n" -.LC154: +.LC152: .string "RKNAND_LOADER_LOCK\n" -.LC155: +.LC153: .string "LockKey not match %d\n" -.LC156: +.LC154: .string "RKNAND_GET_VENDOR_SECTOR\n" -.LC157: +.LC155: .string "RKNAND_STORE_VENDOR_SECTOR\n" -.LC158: +.LC156: .string "return ret = %lx\n" -.LC159: +.LC157: .string "secureBootEn check error\n" -.LC160: +.LC158: .string "rknand_sys_storage" .data .align 3 @@ -23825,7 +23538,7 @@ gTable_Crc32: rknand_sys_storage_dev: .word 255 .zero 4 - .xword .LC160 + .xword .LC158 .xword rknand_sys_storage_fops .zero 56 .type rknand_sys_storage_fops, %object -- 2.34.1