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,95 +20,65 @@ .file "rk_ftl_arm_v7.S" .text .align 2 - .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 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: - mov r0, #0 - ldmfd sp!, {r3, pc} - .fnend - .size rknand_sys_storage_release, .-rknand_sys_storage_release - .align 2 .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 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 .align 2 + .type rknand_sys_storage_release, %function +rknand_sys_storage_release: + .fnstart + @ args = 0, pretend = 0, frame = 0 + @ frame_needed = 0, uses_anonymous_args = 0 + @ link register save eliminated. + mov r0, #0 + bx lr + .fnend + .size rknand_sys_storage_release, .-rknand_sys_storage_release + .align 2 .global FlashMemCmp8 .type FlashMemCmp8, %function 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] -.L233: + str r1, [r3, r2, asl #8] +.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 - bl Ftl_log2 - mov r3, #3920 - movw r2, #3922 - cmp r6, #1024 - mul r1, fp, sl - strh r0, [r8, r3] @ movhi - mov r3, sl, asl #9 - mov r7, r0 - uxth r3, r3 - strh r3, [r8, r2] @ 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 - 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 + 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 r2, #3920 + movw r1, #3922 + cmp r6, #1024 + strh r0, [sl, r2] @ movhi + mov r2, r9, asl #9 + mov r7, r0 + 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 - movw r3, #3934 - strh r8, [r4, r3] @ movhi - mov r3, #3936 - strh r6, [r4, r3] @ movhi + cmp r8, #0 mov r1, r5 + movne r3, #640 + strneh r3, [r4, sl] @ movhi + ldrh r2, [r4, sl] + movw r3, #3934 + 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 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: - cmp r3, sl - bcs .L982 - cmp r0, #0 - bne .L992 .L982: + cmp r3, sl + bcs .L978 + cmp r0, #0 + 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 - ldr r1, [r4, #4] - bl printk - mvn r3, #0 - str r3, [r4, #0] -.L1455: - ldr r3, [r4, #8] - cmp r3, #0 beq .L1453 - ldr r2, [r3, #0] - ldr r3, [r5, #152] - ldr r3, [r3, #0] - cmp r2, r3 - beq .L1453 - ldr r0, .L1460+24 + ldr r0, .L1458+20 ldr r1, [r4, #4] bl printk mvn r3, #0 str r3, [r4, #0] .L1453: + ldr r3, [r4, #8] + cmp r3, #0 + beq .L1451 + ldr r2, [r3, #0] + ldr r3, [r5, #152] + ldr r3, [r3, #0] + cmp r2, r3 + beq .L1451 + ldr r0, .L1458+24 + ldr r1, [r4, #4] + bl printk + mvn r3, #0 + str r3, [r4, #0] +.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 - ldr r1, [r9, #4] - bl printk - mvn r3, #0 - str r3, [r9, #0] -.L1484: - ldr r3, [r9, #8] - cmp r3, #0 beq .L1482 - ldr r2, [r3, #0] - ldr r3, [r4, #152] - ldr r3, [r3, #0] - cmp r2, r3 - beq .L1482 - ldr r0, .L1489+32 + ldr r0, .L1487+28 ldr r1, [r9, #4] bl printk mvn r3, #0 str r3, [r9, #0] .L1482: + ldr r3, [r9, #8] + cmp r3, #0 + beq .L1480 + ldr r2, [r3, #0] + ldr r3, [r4, #152] + ldr r3, [r3, #0] + cmp r2, r3 + beq .L1480 + ldr r0, .L1487+32 + ldr r1, [r9, #4] + bl printk + mvn r3, #0 + str r3, [r9, #0] +.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 - mvn r1, #0 - ldr r2, .L2027 - strh r1, [r2, r3] @ movhi .L2000: - ldr r3, .L2027 - ldr r2, .L2027+32 + ldr r3, .L2025+12 + mvn r1, #0 + ldr r2, .L2025 + strh r1, [r2, r3] @ movhi +.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: - strh r1, [r3, r2] @ movhi - b .L2080 -.L2078: - mov r0, #1 - b .L2068 .L2080: + strh r1, [r3, r2] @ movhi + b .L2078 +.L2076: + mov r0, #1 + 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 + .pad #528 + sub sp, sp, #528 + mov r5, r1 + mov r4, r2 + beq .L2386 + bhi .L2395 + ldr r3, .L2493+4 + cmp r1, r3 + beq .L2383 + bhi .L2396 + sub r3, r3, #125 + cmp r1, r3 + beq .L2380 bhi .L2397 - ldr r3, .L2488+4 + sub r3, r3, #237 + cmp r1, r3 + bne .L2438 + b .L2489 +.L2397: + ldr r3, .L2493+8 + cmp r1, r3 + beq .L2381 + add r3, r3, #1 + cmp r1, r3 + bne .L2438 + b .L2490 +.L2396: + ldr r3, .L2493+12 cmp r1, r3 beq .L2385 bhi .L2398 - sub r3, r3, #125 + ldr r3, .L2493+16 cmp r1, r3 - beq .L2382 - bhi .L2399 - sub r3, r3, #237 - cmp r1, r3 - bne .L2431 - b .L2484 -.L2399: - ldr r3, .L2488+8 - cmp r1, r3 - beq .L2383 - add r3, r3, #1 - cmp r1, r3 - bne .L2431 - b .L2485 + bne .L2438 + b .L2491 .L2398: - ldr r3, .L2488+12 + ldr r3, .L2493+20 cmp r1, r3 - beq .L2387 - bhi .L2400 - ldr r3, .L2488+16 - cmp r1, r3 - bne .L2431 - b .L2486 -.L2400: - ldr r3, .L2488+20 - cmp r1, r3 - beq .L2387 + beq .L2385 add r3, r3, #10 cmp r1, r3 - bne .L2431 - b .L2387 -.L2397: - ldr r3, .L2488+24 - cmp r1, r3 - beq .L2393 - bhi .L2401 - sub r3, r3, #78 - cmp r1, r3 - beq .L2390 - bcc .L2389 - add r3, r3, #21 + bne .L2438 + b .L2385 +.L2395: + ldr r3, .L2493+24 cmp r1, r3 beq .L2391 + bhi .L2399 + sub r3, r3, #78 + cmp r1, r3 + beq .L2388 + bcc .L2387 + add r3, r3, #21 + cmp r1, r3 + 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 - bl rknand_device_unlock - add r2, r4, #8 - ldr r1, [r5, #436] - ldr r0, [r4, #0] - mov r4, #0 - bl write_idblock - bl rknand_device_unlock - ldr r0, [r5, #436] - bl kfree - str r4, [r5, #436] - b .L2404 -.L2391: - ldr r0, .L2488+68 - bl printk - mov r0, r4 - bl ReadFlashInfo + beq .L2411 mov r0, r5 - mov r1, r4 + bl kfree + b .L2452 +.L2411: + bl rknand_device_unlock + ldr r1, [r4, #436] + add r2, r5, #8 + ldr r0, [r5, #0] + bl write_idblock + mov r6, #0 + bl rknand_device_unlock + ldr r0, [r4, #436] + bl kfree + str r6, [r4, #436] + mov r0, r5 + mov r4, r6 + bl kfree + b .L2404 +.L2409: + mov r0, r5 + b .L2478 +.L2389: + ldr r0, .L2493+76 + 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 ReadFlashInfo + 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 r2, #1024 - b .L2480 -.L2382: - ldr r0, .L2488+88 - bl printk - mov r0, sp + mov r0, r4 mov r1, r5 + mov r2, #1024 +.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 + 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, .LC6 + mov x0, x21 + add x1, x1, :lo12:.LC6 + add x21, x21, 10 + bl strcpy + ldr w2, [x25,2104] adrp x1, .LC7 mov x0, x21 add x1, x1, :lo12:.LC7 - add x21, x21, 10 - bl strcpy - ldr w2, [x26,2104] + 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] - adrp x1, .LC18 - mov x0, x21 - add x1, x1, :lo12:.LC18 bl sprintf add x21, x21, x0, sxtw ldr w2, [x22,200] - adrp x1, .LC19 - add x1, x1, :lo12:.LC19 + adrp x1, .LC18 + add x1, x1, :lo12:.LC18 mov x0, x21 bl sprintf add x21, x21, x0, sxtw bl FtlBbtCalcTotleCnt uxth w3, w0 - ldrh w2, [x26,2118] + ldrh w2, [x25,2118] + adrp x1, .LC19 + mov x0, x21 + add x1, x1, :lo12:.LC19 + bl sprintf + add x21, x21, x0, sxtw + 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 - mov x0, x21 - add x1, x1, :lo12:.LC43 - bl sprintf - add x21, x21, x0, sxtw - ldrh w3, [x25,#:lo12:.LANCHOR2] - adrp x1, .LC44 ldr x2, [x22,-40] mov x0, x21 - add x1, x1, :lo12:.LC44 + add x1, x1, :lo12:.LC43 ldrh w2, [x2,x3,lsl 1] bl sprintf add x21, x21, x0, sxtw ldrh w2, [x22,50] + adrp x1, .LC44 + mov x0, x21 + add x1, x1, :lo12:.LC44 + bl sprintf + add x21, x21, x0, sxtw + 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] - adrp x1, .LC49 - mov x0, x21 - add x1, x1, :lo12:.LC49 - bl sprintf - add x21, x21, x0, sxtw ldrh w3, [x22,48] - adrp x1, .LC50 + adrp x1, .LC49 ldr x2, [x22,-40] mov x0, x21 - add x1, x1, :lo12:.LC50 + add x1, x1, :lo12:.LC49 ldrh w2, [x2,x3,lsl 1] bl sprintf add x21, x21, x0, sxtw ldrh w2, [x22,98] + adrp x1, .LC50 + mov x0, x21 + add x1, x1, :lo12:.LC50 + bl sprintf + add x21, x21, x0, sxtw + 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] - 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 + adrp x1, .LC66 + add x1, x1, :lo12:.LC66 mov x0, x19 bl sprintf add x19, x19, x0, sxtw bl GetFreeBlockMinEraseCount uxth w2, w0 + adrp x1, .LC67 + mov x0, x19 + add x1, x1, :lo12:.LC67 + bl sprintf + add x19, x19, x0, sxtw + ldrh w0, [x22,-8] + bl GetFreeBlockMaxEraseCount + uxth w2, w0 adrp x1, .LC68 mov x0, x19 add x1, x1, :lo12:.LC68 bl sprintf add x19, x19, x0, sxtw - ldrh w0, [x22,-8] - bl GetFreeBlockMaxEraseCount - uxth w2, w0 - adrp x1, .LC69 - mov x0, x19 - add x1, x1, :lo12:.LC69 - 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: - ubfx x1, x3, 16, 5 - ldr w3, [x29,112] - ubfx x3, x3, 30, 1 -.L1071: - orr w3, w1, w3, lsl 5 -.L1034: - cmp w24, w3 - csel w24, w24, w3, cs - b .L1031 -.L1055: - mov w24, -1 -.L1031: - add w0, w0, 1 - b .L1030 + b .L1060 .L1026: + ubfx x1, x3, 16, 5 + ldr w3, [x29,104] + ubfx x3, x3, 30, 1 +.L1060: + orr w3, w1, w3, lsl 5 +.L1025: + cmp w23, w3 + csel w23, w23, w3, cs + b .L1022 +.L1045: + mov w23, -1 +.L1022: + add w0, w0, 1 + 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: + 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 x29, sp, 0 - stp x21, x22, [sp,32] - adrp x21, __stack_chk_guard - str x23, [sp,48] - stp x19, x20, [sp,16] - adrp x20, .LANCHOR0 - ldr x0, [x21,#:lo12:__stack_chk_guard] - str x0, [x29,136] add x0, x1, :lo12:.LANCHOR2 + add x29, sp, 0 add x2, x0, 352 + stp x19, x20, [sp,16] + stp x21, x22, [sp,32] + adrp x20, .LANCHOR0 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,57 +16528,54 @@ 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] + 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 - ldr w0, [x1,24] - add x1, x29, 100 + str w1, [x29,108] + add x1, x29, 108 bl log2phys add x0, x19, :lo12:.LANCHOR0 ldr x0, [x0,2096] @@ -16836,69 +16583,69 @@ FtlCacheWriteBack: 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 x20, x2 + beq .L2943 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 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: + str xzr, [x20,448] + b .L3046 +.L2959: + adrp x0, .LC140 + add x0, x0, :lo12:.LC140 + 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 ReadFlashInfo + mov x0, x20 + mov x1, x21 + mov x2, 11 + b .L3048 +.L2943: adrp x0, .LC141 add x0, x0, :lo12:.LC141 bl printk - mov x0, x20 - bl ReadFlashInfo - mov x0, x21 - mov x1, x20 - mov x2, 11 - b .L3059 -.L2971: - adrp x0, .LC142 - add x0, x0, :lo12:.LC142 - 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 x2, 1024 - b .L3059 -.L2975: - adrp x0, .LC146 - add x0, x0, :lo12:.LC146 - bl printk - add x0, x29, 48 + mov x0, x20 mov x1, x21 + mov x2, 1024 +.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, 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